Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
doc:faq [2013/12/04 14:26] admindoc:faq [2022/02/17 13:38] (current) – First FAQ entry yay. gkazhoya
Line 1: Line 1:
 ====== FAQ ====== ====== FAQ ======
  
 +**Q: How can I add a mesh in bullet having the full mesh path and not using the mesh folder?**
 +
 +A: The mesh paths are stored here: https://github.com/cram2/cram/blob/boxy-melodic/cram_3d_world/cram_bullet_reasoning/src/items.lisp#L36
 +
 +To add new entries into the variable you use this function: https://github.com/cram2/cram/blob/boxy-melodic/cram_3d_world/cram_bullet_reasoning/src/items.lisp#L62
 +
 +Here is an example. These are two meshes that we use for the shopping scenario: https://github.com/cram2/cram/tree/boxy-melodic/cram_demos/cram_donbot_retail_demo/resource
 +
 +In order to register them, we call the add-objects-to-mesh-list function in the init-projection function, which is called upon ROS node startup: https://github.com/cram2/cram/blob/boxy-melodic/cram_demos/cram_donbot_retail_demo/src/setup.lisp#L45
 +
 +To register any function as a callback upon node startup we use this macro https://github.com/cram2/cram/blob/boxy-melodic/cram_demos/cram_donbot_retail_demo/src/setup.lisp#L47
 +
 +Once you have the paths stored in the btr::mesh-files variable, you can spawn an object of the same type as the filename, e.g., for the retail scenario one can spawn an object of type :balea-bottle or :dish-washer-tabs.
 +
 +You can, of course, just populate the mesh variable manually to hack something quickly, but I'd suggest using the add-objects-to-mesh list function.
 +
 +Important: the meshes should be located in a ROS package that the system is able to find with ''roscd $THE_PACKAGE''.
 +
 +------------------