Soft joints with position actuator

Discussion in 'Modeling' started by hfgrzume, Mar 14, 2018.

  1. Hi all,

    Is it possible to simulate soft joints (e.g. when a finger bends or "complies" when grabbing an object taking the object shape without losing force) when using a simple joint-position actuator combination?

    The joints are inside a kinematic tree, sort of a simulated arm actuated in every joint (even PIP) . In this case the shoulder should be less compliant than the fingers. I have tried setting the joint spring parameters with different values but the arm complies only at the shoulder joint. I also set different parameters for the fingers and the arm but still the distortion only applies to the shoulder and very minimally to the fingers on collision.

    Something that sort of works is to limit the force of the joint actuators but they become slower which is not ideal.

    This is in principle similar to the question here:
    http://www.mujoco.org/forum/index.php?threads/joint-compliance-in-non-thumb-fingers.14/
    but I was wondering if it is possible with plain position actuators.


    Thanks!
     
  2. Emo Todorov

    Emo Todorov Administrator Staff Member

    You can adjust compliance per joint/actuator. If you use the same actuator gains everywhere, joints with small inertia as well as small moment arms (for the contact forces) will be dominated by the actuator forces and you will not see compliance. So you have to reduce the position servo gains at those joints. Think of it as a mass-spring-damper. The spring coefficient is the position servo gain. The mass is the diagonal value of the joint-space inertia matrix for that joint. If you print out the model as .txt and look at the field dof_invweight0, this is 1/inertia for each joint.
     
    Kyokushin likes this.