haosulab / SAPIEN

SAPIEN Embodied AI Platform
https://sapien.ucsd.edu/
MIT License
376 stars 38 forks source link

Create mimic joints and handle loading of the <mimic> tag in the URDF loader #68

Open akgoins opened 2 years ago

akgoins commented 2 years ago

Is your feature request related to a problem? Please describe. I am trying to create a parallel jaw type gripper in Sapien but it does not appear that Sapien supports mimic joints in the URDF Loader.

Describe the solution you'd like The easiest method would be to automatically create the joint in the URDF Loader using the <mimic> tag from the URDF joint spec.

Describe alternatives you've considered I am new to Sapien, so I cannot figure out if there is an easy way to create a kinematic articulation or other joint which is able to mimic a parent joint. Any help is appreciated.

fbxiang commented 2 years ago

This will not be fully supported, as our back end does not support equality constraints defined on joint angles. We are looking into alternatives, but most simulators do not come close to the feature set provided by PhysX, and it will take long to implement a new physics simulator that suits our needs. For now, certain behavior of mimic joints can be achieved on the user end. For example, if the joint angles of 2 joints are different, you can apply a force or modify joint stiffness to push them towards equality. However, these things will typically make the robot more unstable.

enyen commented 1 month ago

Have to remove unhandled <mimic> tag in urdf when using URDFLoader(Sapien3.0.0b1) to avoid:

Error in SVD: NaN encountered