OpenAI - ShadowHand - Behavior of Position Actuators on Slide Joints

Discussion in 'Modeling' started by VortexNerd, Sep 7, 2018.

  1. We are trying to give the shadow hand from OpenAI () full 3D motion by adding x, y, z slide joints at the wrist. We set controlrange equal to the joint range and give a considerable force range. Our understanding of controls for positional actuators is that the control represents the target qpos value for the corresponding joint. However if we set the z-actuator control to 1, we don't generate any force. Are we misunderstanding the inverse control model? I have attached links to the original model below. The changes we have made are:

    In robot.xml:
    <mujoco>
    <body name="robot0:hand mount" pos="0.0 0.0 0.8" euler="1.5708 0 0">

    <inertial mass="0.1" pos="0 0 0" diaginertia="0.001 0.001 0.001"></inertial>
    <joint axis="1 0 0" name="x_0" armature="0.0" pos="0 0 0" range="-1 1" damping="0.0" type="slide"></joint>
    <joint axis="0 0 1" name="y_0" armature="0.0" pos="0 0 0" range="-1 1" damping="0.0" type="slide"></joint>
    <joint axis="0 1 0" name="z_0" armature="0.0" pos="0 0 0" range="-1 1" damping="0.0" type="slide"></joint>

    <body childclass="robot0:asset_class" name="robot0:forearm" pos="0 0.01 0" euler="0 0 0">
    ...

    In shared.xml:
    <actuator>
    <position class="robot0:asset_class" name="A_x_0" joint="x_0" ctrlrange="-1 1" kp="1" forcerange="-50 50"/>
    <position class="robot0:asset_class" name="A_y_0" joint="y_0" ctrlrange="-1 1" kp="1" forcerange="-50 50"/>
    <position class="robot0:asset_class" name="A_z_0" joint="z_0" ctrlrange="-1 1" kp="1" forcerange="-50 50"/>
    ...

    OpenAI model: https://github.com/openai/gym/tree/master/gym/envs/robotics/assets/hand/robot.xml
    Actuator Defs: https://github.com/openai/gym/tree/master/gym/envs/robotics/assets/hand/shared.xml