Skip to content
MuJoCo integration for Blue
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets
koko_gym
.gitignore
LICENSE
README.md
simulate.py
train.py

README.md

koko-mujoco

Requirement

  • Mujoco1.55
  • OpenAI Gym
  • OpenAI Mujoco-py

Repo structure

├── README.md
├── simulate.py
├── train.py
├── assets
│   ├── koko_full.xml
│   └── STL files
└── koko_gym
    └── envs
        ├── assets
        │   ├── koko_reacher.xml
        │   └── STL files
        ├── __init__.py
        └──  koko_reacher.py

Explaination for each file

  • koko_full.xml

MJCF file for the Blue robot. Actuated gripper installed. Having following actuators (joints).

    <actuator>
        <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="2.0" joint="base_roll_joint" />
        <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="2.0" joint="shoulder_lift_joint" />
        <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="2.0" joint="shoulder_roll_joint" />
        <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="2.0" joint="elbow_lift_joint" />
        <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="2.0" joint="elbow_roll_joint" />
        <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="2.0" joint="wrist_lift_joint" />
        <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="2.0" joint="wrist_roll_joint" />
        <position ctrllimited="true" ctrlrange="0 1.05" gear="1.0" joint="robotfinger_actuator_joint" />
        <position ctrllimited="true" kp="1.0" ctrlrange="0 1.4" joint="right_fingerlimb_joint" />
        <position ctrllimited="true" kp="1.0" ctrlrange="-1.4 0" joint="right_fingertip_joint" />
        <position ctrllimited="true" kp="1.0" ctrlrange="0 1.4" joint="left_fingerlimb_joint" />
        <position ctrllimited="true" kp="1.0" ctrlrange="-1.4 0" joint="left_fingertip_joint" />
    </actuator>

Since no URDF <mimic> tag equivalent exists in MJCF, the grippers (last four actuators) are actuated by a position controller that takes the current robotfinger_actuator_joint angle as an input (fingerlimb_joint moves positive and fingertip_joint goes negative to make the tips parallel to each other).

  • koko_reacher.py

OpenAI Gym environment for Blue. reacher.step takes 1x8 size action array. The actuator of the gripper joints cannot be controlled respectively but will be controlled at once using robotfinger_actuator_joint's angle as the position input. You can also set your favorite reward signal in a step function.

  • koko_reacher.xml

koko_full.xml with target object.

  • train.py

Training loop using random controller. Add your favorite algorithm to train the policy.

  • simulate.py

Runs the Mujoco-py viewer simulator for 5000 time steps. Use this for test run your trained policy.

Reference

You can’t perform that action at this time.