christsa / dgrasp

Official code release for CVPR 2022 paper D-Grasp: Physically Plausible Dynamic Grasp Synthesis for Hand-Object Interactions
Other
80 stars 13 forks source link

Question about mano hand model #6

Closed rongakowang closed 1 year ago

rongakowang commented 1 year ago

Hi,

Thank you for your awesome work, I have a few questions related to the mano_mean_meshcoll.urdf you provided:

  1. Some of the hand parts have mesh collision with mass 0 and inertia 0. When I tried to export the urdf to other physics engines (e.g. Pybullet), these 0 are not allowed. I wonder why Raisim accepts this setup and does not cause issues in the simulation. Also, I wonder how to correctly calculate the mass and inertia given the MANO mesh to fill these 0?
  2. In the paper the joint torque is added, may I know where can I find the implementation related to the torque? Do you initialize a torque so that the joints remain stable at the beginning?
  3. When simulation, how do you remove the gravity to allow the hand "floats" in the air?
  4. To control the hand, do you disable the collision force exerted from the object to the hand and only allow the hand to actively move as a result of the action (i.e. torque)?

Thank you in advance for the answer!

christsa commented 1 year ago

Hi,

First of all, note that the model used in D-Grasp is mano_mean.urdf and not mano_mean_meshcol.urdf.

  1. For questions about RaiSim, please post the issues directly in their repository. I believe RaiSim uses the identiy matrix as a default for the inertia values. To compute the mass, you could either use some values from the biomechanics literature, or you can approximate it using the volume and some density valuie (e.g., bone).
  2. The policy in D-Grasp predicts a residual value, which is added to the current pose. This is then passed through standard PD control to compute the torques that are applied to the model. The PD control is initialized here and the PD targets are set here.
  3. The floating base of the hand is defined here. It consists of 3 translational and 3 rotational joints that are attached to a dummy link. Note that gravity is not disabled, but the hand is strong enough to counteract it.
  4. No, the collision between hand and object are active, otherwise grasping would not be possible.

If you are looking for a hand with added inertia and mass values that work in other simulators, you can email me sammy.christen@inf.ethz.ch and I can send you the models. I have recently created such urdfs.

Let me know if you have further questions.

Best, Sammy

rongakowang commented 1 year ago

Hi Sammy,

Thank you for your detailed answer, I have sent you an email and hopefully you can find it. Sincerely appreciate your time.

christsa commented 1 year ago

I sent a reply to your email and will close the issue here.

Best, Sammy