Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tutorials:advanced:cram-meshes [2022/04/01 10:17] – [Prepare the 3D mesh] vanessatutorials:advanced:cram-meshes [2022/05/09 09:59] (current) – [Add the mesh to CRAM] vanessa
Line 3: Line 3:
 In order to take into account scaling, rotation and file type, it is recommended to first open the object in Blender or another suitable software. In order to take into account scaling, rotation and file type, it is recommended to first open the object in Blender or another suitable software.
 Now look at the rotation and consider the Right-Handed 3D Coordinate Frame we are working in. The X-axis is mostly the long side and Z-axis goes up. Just rotate the object to your liking. Now look at the rotation and consider the Right-Handed 3D Coordinate Frame we are working in. The X-axis is mostly the long side and Z-axis goes up. Just rotate the object to your liking.
-{{:tutorials:advanced:blender_before_rot.png?400|blender before rotation}} +{{ :tutorials:advanced:blender_before_rot.png?400 |}} {{ :tutorials:advanced:blender_after_rot.png?400 |}}
- +
-{{:tutorials:advanced:blender_after_rot.png?400|blender after rotation}}+
  
 After the rotation is done check the scaling factor of the object. You will need to hit the scaling factor on 1.0 otherwise the object is weirdly big or small in the bullet world.  After the rotation is done check the scaling factor of the object. You will need to hit the scaling factor on 1.0 otherwise the object is weirdly big or small in the bullet world. 
-{{:tutorials:advanced:blender_properties.png?400|}}+{{ :tutorials:advanced:blender_properties.png?400 |}}
 To apply your changes on the object hit ctrl+A and click on apply rotation and scaling transform. To apply your changes on the object hit ctrl+A and click on apply rotation and scaling transform.
 Now save the object as an stl. Now save the object as an stl.
Line 14: Line 12:
 ====== Add the mesh to CRAM====== ====== Add the mesh to CRAM======
  
-Export as stl and save it either in your demo resource folder or: ~/YOUWS/src/cram/cram_3d_world/cram_bullet_reasoning/resource/+Export as stl and save it either in your demo resource folder or: ~/YOUR_CRAM_WS/src/cram/cram_3d_world/cram_bullet_reasoning/resource/
  
  
-Add your object here for coloring: +To add some coloring on the object one must declare it here: ~/cram_3d_world/cram_bullet_reasoning_utilities/src/objects-database.lisp:
-./cram_3d_world/cram_bullet_reasoning_utilities/src/objects-database.lisp:+
  
   ;; Colors for different object types the same for all scenarios.   ;; Colors for different object types the same for all scenarios.
-  (<- (%scenario-object-color :plate    (0.8 0.58 0.35))) 
-  (<- (%scenario-object-color :fork     (0.2 0.1 0.3))) 
-  (<- (%scenario-object-color :knife    (0.5 0 0))) 
   (<- (%scenario-object-color :big-knife    (0 1 1 1)))   (<- (%scenario-object-color :big-knife    (0 1 1 1)))
      
-Add your object here, so the system can use the correct stl file for the keyword:+Add your object here, so the system can use the correct stl file for the keyword of your will. In this example it is big-knife. The keyword is important since it is used as a reference within the system:
 ./cram_3d_world/cram_bullet_reasoning/src/items.lisp: ./cram_3d_world/cram_bullet_reasoning/src/items.lisp:
  
Line 41: Line 35:
      
 Add your object here for the abstract item-shape: Add your object here for the abstract item-shape:
-world/cram_btr_spatial_relations_costmap/src/knowledge.lisp\052:  +world/cram_btr_spatial_relations_costmap/src/knowledge.lisp:052:  
  
   (<- (%item-type-shape :big-knife :rectangle))   (<- (%item-type-shape :big-knife :rectangle))
Line 47: Line 41:
  
 Add your object here for the padding size: Add your object here for the padding size:
-./cram_3d_world/cram_btr_spatial_relations_costmap/src/knowledge.lisp\087:  +./cram_3d_world/cram_btr_spatial_relations_costmap/src/knowledge.lisp:087:  
  
   (<- (object-type-padding-size :big-knife 0.005d0))   (<- (object-type-padding-size :big-knife 0.005d0))
      
-====== Use the mesh======  +======How to use the mesh======  
 Now you are able to spawn your object by: Now you are able to spawn your object by:
   (btr-utils:spawn-object 'big-knife-1 :big-knife   (btr-utils:spawn-object 'big-knife-1 :big-knife