-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to Load xarm6+Allegro Hand URDF in ManiSkill3 Due to Invalid Moment of Inertia Error #482
Comments
DexPoint likely uses a older version of SAPIEN that does not check for this. The URDF most likely has a invalid defined value for inertia. Unfortunately this error does not print which link has this issue. I am quite sure IsaacGym simply ignores this issue and attempts to simulate it anyway. Since past work had no issue with a faulty moment of inertia, it is probably fine if you delete this tag from the urdf. For a easy fix you can edit /home/sichengh/anaconda3/envs/dex/lib/python3.9/site-packages/sapien/wrapper/urdf_loader.py and add right before the assert
then once you figure out which link has the issue, either fix the inertia value or just disable it for now by deleting the tag. |
I attempted the method mentioned in the issue on dynamic handover:
There are several joints with negative inertia eigenvalues. I recall resolving this by copying the content of an Allegro hand URDF file to replace the old one. My file looks like this: By the way, I noticed your recent work also uses a similar hand+arm robot in SAPIEN. Is it possible to share the model? Thank you! |
I just tried loading the xarm6 you sent, looks like it works? |
output.mp4 |
Yes, this is the updated version. If I use the URDF file provided in DexPoint/dynamic_handover, the error occurs. |
I don't quite follow what the issue is? The old dynamic handover project uses a older version of sapien that is likely not checking for the inertia problem whereas the newer version is. You can just use the new xarm6, it looks and behaves correctly. |
Although the current URDF appears to work, I'm unsure if there might be potential issues. If possible, I would like to use the exact same definition as prior works. Since Isaac Sim and older versions of sapien support the "invalid" inertia, I was previously uncertain if this was a URDF definition problem or related to ManiSkill. Now you have confirmed that it is due to the former. Thank you for your help! |
Last month, I attempted to use a xarm6+allegro hand robot with the following code:
Initially, I borrowed the URDF file from dynamic handover, but encountered an error while parsing it. Details of this issue can be found here. Isaac Sim could load this file, and I assumed this was normal since dynamic handover used IsaacGym. However, I recently discovered that DexPoint uses essentially the same URDF definition, which is SAPIEN-based. I would like to understand why I cannot load this definition correctly.
The error message is as follows:
I am using the latest ManiSkill3 version:
$ pip show mani-skill Name: mani_skill Version: 3.0.0b5 Summary: ManiSkill3: A Unified Benchmark for Generalizable Manipulation Skills Home-page: https://github.com/haosulab/ManiSkill Author: ManiSkill contributors Author-email: License: Location: /home/sichengh/anaconda3/envs/dex/lib/python3.9/site-packages Requires: dacite, fast-kinematics, GitPython, gymnasium, h5py, huggingface-hub, imageio, imageio, IPython, mplib, numpy, pyyaml, rtree, sapien, scipy, tabulate, tqdm, transforms3d, trimesh Required-by:
The text was updated successfully, but these errors were encountered: