Closed jc-bao closed 4 months ago
@jc-bao I cannot reproduce this locally. We carefully checked and excluded spurious collisions.
What MuJoCo version are you using? Can you load scene.xml
with spot_arm.xml
without any modification and tell me if you see still observe these large forces?
Here's what I see on my end on Ubuntu with 3.1.6:
Hi @kevinzakka, I am using 3.1.6
under Ubuntu 22.04. Let me double check the original model and see what's wrong. My modification is to fix the base and only test the diffik
in your repo. Thanks for the prompt response!
@jc-bao By "fix base", do you mean removing the freejoint
? If the answer is yes, then that explains the behavior you are seeing. The reason is that MuJoCo excludes collisions between parent and child bodies by default, but this exclusion is not applied if the parent is a static body (aka world or dof-less descendant of world).
See Yuval's answer here google-deepmind/mujoco#104 for more context.
TLDR: Add <exclude body1="body" body2="arm_link_sh0"/>
to the exclude clause of the XML if you remove the base freejoint.
Oh that make sense. I can confirm that the original model works fine. After exclude the contact, it works perfectly. Thanks!
For future reference, this is documented here
https://mujoco.readthedocs.io/en/3.2.0/overview.html#surprising-collisions
Which model is the issue affecting?
spot_arm.xml
What is the issue?
The model's link
arm_link_sh0
has a collision with other links.Is there any additional context you can provide (e.g., a spec sheet or a URDF to show a value mismatch)?
Here is the contact force:
As you can see, the arm base has a large contact force, making the arm immovable. By removing the following collision geometries:
The arm can move freely.