Skip to content

tbai-lab/tbai_ros

Repository files navigation

Towards Better Athletic Intelligence - ROS Noetic

ROS wrapper around tbai, for now the most mature tbai wrapper implementation.

demo

Implemented controllers

📦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

Installing tbai

This is tbai_ros version 4.0. To view the older version of tbai_ros, built on top of the Gazebo simulator, see the release_v3.1.0 branch.

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) 😮

Alternative 1: micromamba

# 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-free

Once 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 deployment

go2_deploymen.1.mp4

Check out the tbai_ros_go2_rl folder for deployment-related documentation, pictures and videos 🤗

G1 Dancing

g1_dance.mp4

Go2W handstand

gow2_handstand.mp4

Go2W drive

gow2_drive.mp4

Perceptive MPC

mpc_perceptive_f.mp4

Blind MPC

mpc_go2_blind.webm

Perceptive Bob

rl_perceptive_fe.mp4

DTC: Deep Tracking Control

dtc_f.mp4

System architecture

overview_01

Controller architectures

Mpc

mpc_03

Bob

bob_03

DTC: Deep Tracking Control

dtc_03

Joe

joe_03

Credits

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 🤗

About

Towards better athletic intelligence

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors