google-deepmind / google-deepmind/mujoco_warp
Mesh-sdf large number of collision contacts and differences between base mujoco and warp
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 217
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 48
Description
I'm dealing with a pipe shaped sdf, and have been having many collision issues putting a robot inside of it. I can't show the robot itself so I use the mug example file instead.
Note, my robot has sdf to sdf collision issues with the pipe, but I can't seem to recreate it with a different model. (This issue exists in both warp and the base mujoco, and because of it, I switched to mesh to sdf)
Sdf to sdf collision works fine with the mug in both warp and base mujoco:
`mjwarp-viewer mug_in_pipe.xml`
[mug_in_pipe.xml](https://github.com/user-attachments/files/29276896/mug_in_pipe.xml)
https://github.com/user-attachments/assets/006880c9-43a3-4434-a375-6c106b810666
However, when I change the mug to mesh the mug seems to launch out of the pipe:
`mjwarp-viewer mug_in_pipe_mesh.xml`
[mug_in_pipe_mesh.xml](https://github.com/user-attachments/files/29276897/mug_in_pipe_mesh.xml)
https://github.com/user-attachments/assets/edb24fe7-5bda-4a9c-a09c-ef135b015854
The mug_in_pipe_mesh.xml also has issues in base mujoco, but they are different to the issue from warp:
`python -m mujoco.viewer --mjcf=mug_in_pipe_mesh.xml`
https://github.com/user-attachments/assets/b708b126-5b9b-46ed-aa53-b74ef3d2c1af
Funnily enough, with my robot I don't seem to get any issues with mesh to sdf collision in base mujoco
Any help is greatly appreciated, thanks!
Contributor guide
Research direction
Start by running the two provided reproductions, mug_in_pipe.xml and mug_in_pipe_mesh.xml, with `mjwarp-viewer` and the base MuJoCo viewer commands in the report. Compare mesh-to-SDF contact behavior between MuJoCo Warp and base MuJoCo, using the working SDF-to-SDF case as a baseline. Done means the differing collision behavior is explained and the reproduced mesh case no longer launches the mug unexpectedly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- robotics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100