Locomotion Policy for G1 Robot with Inspire Hands
Here we open source our policy which has been trained using Holosoma.
The policy has been trained to be invariant to arm position. For more details please read our blog post.
We additionally open source our Mujoco robot description, and two code snippets to run the policy during inference.
Policy Usage
To use the policy:
Clone the Holosoma repo and follow the setup instructions.
Move
example_fixed_arm_policy.pyintoholosoma/src/holosoma_inference/holosoma_inference.Move
example_run_arm_policy.pyintoholosoma/src/holosoma_inference/holosoma_inference.Move
g1_loco_inspire_hands.onnxinto the root dir.Setup the simulator as described in the Holosoma docs
In another terminal, run the policy inference:
python3 src/holosoma_inference/holosoma_inference/example_run_arm_policy.py inference:g1-29dof-loco \ --task.model-path /path/to/model/g1_loco_inspire_hands.onnx \ --task.no-use-joystick \ --task.interface lo
DISCLAIMERS
The policy requires manual commands to be sent to the arms, otherwise the policy will be unstable, as it still outputs its own commands to the arms.
During testing on the real robot we noticed that the waist joint would sometimes slip, especially if not enough slack was given into the harness.
This model can lead to unpredictable robot behaviour so use it at your own risk.
References
We used Holosoma to train and evaluate this model.
We adapted the Mujoco robot description from the Unitree URDF file