Closed blooop closed 10 months ago
By default, we only use a primitive collision checker. You can change this to a mesh+primitive checker with https://github.com/NVlabs/curobo/blob/c09d94908d8ad52f557ed59195c1ceb2d0434d65/examples/isaac_sim/ik_reachability.py#L194
I think it makes sense to make mesh as default as it doesn't add any additional dependencies and might not cause a huge slowdown in compute time when no meshes are found.
Thanks for the lighting response! That works now as expected.
Just to confirm, if I want to use cuboid primitives as well as a mesh I would need to set the collision type = mesh and convert the world_cfg to only mesh with WorldConfig.create_merged_mesh_world(world_cfg)?
After some more testing it seems setting the mesh collision checker still works with cuboids without any conversion to meshes
Mesh inherits cuboids. Here is a note on collision checkers https://curobo.org/source/getting_started/2c_world_collision.html
If it’s not a bug, please use discussions: https://github.com/NVlabs/curobo/discussions
Please provide the below information in addition to your issue:
Issue Details
I am trying to run collision aware IK on some meshes, but the robot goes through the mesh. Also I get run time errors if my world config only contains a mesh and no cuboids. I think this must be because the collision config is only looking at primitives and ignoring the mesh, but after trying some of the WorldConfig conversion functions I was not able to make any headway with this.
This the script I used to check if the mesh collision is behaving as expected