Skip to content

tbai-lab/tbai_ros

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

414 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 to be updated)

 [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

To install tbai_ros, we recommend using pixi, 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 pixi for reproducibility. Don't worry that ROS is past its end of life, pixi (or micromamba) 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_gazebo            # ANYmal B blind MPC in Gazebo
    anymal_c_mpc_gazebo            # ANYmal C blind MPC in Gazebo
    g1_mujoco                      # G1 humanoid in MuJoCo (with countless controllers available)
    go2w_drive_mujoco              # Go2W (wheeled) drive in MuJoCo
    ....

# Try out other examples located under tbai_ros_mpc, tbai_ros_bob, tbai_ros_dtc, tbai_ros_joe and tbai_ros_np3o


Alternative 2: pixi

# Install pixi
curl -fsSL https://pixi.sh/install.sh | sh # You might have to source your config again

# Install tbai_ros
mkdir -p ros/src && cd ros/src
git clone https://github.com/tbai-lab/tbai_ros.git --recursive && cd tbai_ros
pixi install && pixi shell --environment all-gpu-free
just fresh-install-all-gpu-free

Once the installation is complete, you can run one of our many examples, for instance:

# Activate pixi environment
pixi shell --environment all-gpu-free

# Run `just help` to see many available demos (subset of all)
$ just help
[2. demos]
    anymal_b_mpc_gazebo            # ANYmal B blind MPC in Gazebo
    anymal_c_mpc_gazebo            # ANYmal C blind MPC in Gazebo
    g1_mujoco                      # G1 humanoid in MuJoCo
    go2w_drive_mujoco              # Go2W (wheeled) drive in MuJoCo
    ....

# Try out other examples located under tbai_ros_mpc, tbai_ros_bob, tbai_ros_dtc, tbai_ros_joe and tbai_ros_np3o

Go2 deployment

go2_deploymen.1.mp4

Check out the tbai_ros_deploy_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 many amazing open-source projects. Here are a couple that most inspiration was drawn from and that were instrumental during the development:

Thank you all 🤗