This repo uses unitree_ros2 from unitree for controlling GO2 and B2, and z1_sdk/z1_controller for the Z1 arm.
We add on top of these some new messages and a complete robot_hal script to talk with the robots in ROS2, fully compatible with different dls repository, like:
- basic-locomotion-isaaclab for RL locomotion
- get-up-isaaclab for RL get-up task
- sim2real-robot-identification for IsaacLab and Mujoco identification
- Quadruped-PyMPC for MPC
- muse for State Estimation
The main dependencies other than ros-humble are
ros-humble-rmw-cyclonedds-cpp
ros-humble-rosidl-generator-dds-idlNote that if you are using one of our other repos with conda, you will likely have them installed. In that case, just activate that conda env!
Otherwise, an example of conda environment containing these dependencies can be found in the folder installation, which can be installed by doing
conda env create -f installation/mamba_environment_humble.yaml
conda activate unitree_ros2_humble_envBe sure to have these before proceeding.
Follow README_unitree_ros2 to install the things needed for GO2, B2 and A2.
Follow README_unitree_z1 to install the things needed for Z1 arm.
PRs are very welcome (search for TODO in the issue, or add what you like)!
This repository is maintained by Giulio Turrisi.