ROS wrapper around tbai, for now the most mature tbai wrapper implementation.
📦tbai
┣ 📂tbai_ros_static # Static (high gain PD) controller
┣ 📂tbai_ros_mpc # NMPC controller (both perceptive and blind versions) [1]
┣ 📂tbai_ros_bob # RL walking controller, based on the wild-Anymal paper (both perceptive and blind versions) [2]
┣ 📂tbai_ros_dtc # DTC controller (perceptive) [3]
┣ 📂tbai_ros_joe # Perceptive NMPC controller with NN-based tracking controller [1], [3]
┣ ... (many more, this list is non-exhaustive)
[1] Perceptive Locomotion through Nonlinear Model Predictive Control
https://arxiv.org/abs/2208.08373
[2] Learning robust perceptive locomotion for quadrupedal robots in the wild
https://arxiv.org/abs/2201.08117
[3] DTC: Deep Tracking Control
https://arxiv.org/abs/2309.15462
This is
tbai_rosversion 4.0. To view the older version oftbai_ros, built on top of the Gazebo simulator, see therelease_v3.1.0branch.
To install tbai_ros, we recommend using micromamba, though tbai_ros is a full-fledged ROS package and it can be integrated into your projects in using conventional tools and methods. We use micromamba for reproducibility. Don't worry that ROS is past its end of life, micromamba (or pixi) will install everything for you (even on the newest Ubuntu release) 😮
# Install micromamba
"${SHELL}" <(curl -L micro.mamba.pm/install.sh) # You might have to source your config again
# Clone tbai_ros
mkdir -p ros/src && cd ros/src
git clone https://github.com/tbai-lab/tbai_ros.git --recursive && cd tbai_ros
# Create conda environment
micromamba env create -f .conda/all-gpu-free.yaml
micromamba activate all-gpu-free
# Install tbai_ros
just fresh-install-all-gpu-freeOnce the installation is complete, you can run one of our many examples, for instance:
# Activate pixi environment
micromamba activate all-gpu-free
# Run `just help` to see many available demos (subset of all)
$ just help
[2. demos]
anymal_b_mpc_blind_mujoco # ANYmal B blind MPC in MuJoCo
anymal_d_bob_perceptive_mujoco # ANYmal D perceptive Bob in MuJoCo
anymal_d_dtc_blind_mujoco # ANYmal D blind DTC in MuJoCo
anymal_d_mpc_perceptive_mujoco # ANYmal D perceptive MPC in MuJoCo
franka_mujoco # Franka Panda in MuJoCo (with MPC + RViz)
g1_mujoco # G1 humanoid in MuJoCo
go2_mpc_blind_mujoco # Go2 MPC in Mujoco
...
go2_deploymen.1.mp4
Check out the tbai_ros_go2_rl folder for deployment-related documentation, pictures and videos 🤗
g1_dance.mp4
gow2_handstand.mp4
gow2_drive.mp4
mpc_perceptive_f.mp4
mpc_go2_blind.webm
rl_perceptive_fe.mp4
dtc_f.mp4
This project stands on the shoulders of giants. None of this would have been possible were it not for the many amazing open-source projects here on Github. Please, navigate to CREDITS to see a non-exhaustive list of repositories and links most inspiration was drawn from that have been instrumental during tbai's development.
Thank you all 🤗





