Towards better athletic intelligence
📦tbai
┣ 📂tbai_static # Static (high gain PD) controller
┣ 📂tbai_mpc_perceptive # Perceptive NMPC controller [1]
┣ 📂tbai_mpc_blind # Blind NMPC controller [1]
┣ 📂tbai_rl_perceptive # Perceptive RL controller [2]
┣ 📂tbai_rl_blind # Blind RL controller [2]
┣ 📂tbai_dtc # DTC controller (perceptive) [3]
┣ 📂tbai_joe # Perceptive NMPC controller with NN-based tracking controller [1],[3]
[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
mpc_perceptive_f.mp4
mpc_blind_f.mp4
rl_perceptive_fe.mp4
rl_blind_fe.mp4
dtc_f.mp4
joe_f.mp4
There are two steps to installing libtorch
. First, you need to download a suitable libtorch
version.
Once the library is downloaded, it's necessary to create a symlink to it in the dependencies
folder.
Here's how to do it:
Get your download link from the official PyTorch website. Note that opting for the (cxx11 ABI)
version is paramount.
If you download the (Pre-cxx11 ABI)
version, things won't work as necessary.
Now that you have your url, you can download the library, unzip it and create a symlink in the dependencies
folder.
wget <your-url>
unzip <downloaded-zip> -d <your-folder> # can be `dependencies`
ln -s <your-folder>/libtorch dependencies # Only necessary if, in the previous step, you did not unzip in `dependencies`
Your dependencies
folder should not look as follows:
# Install dependencies
sudo apt install libmpfr-dev
# Download project
mkdir -p <your-file>/src && cd <your-file> && catkin init && cd src
git clone [email protected]:lnotspotl/tbai.git --recursive
# Install other dependencies using rosdep
cd .. && rosdep install --from-paths src --ignore-src -r -y && cd src/tbai
# !! Now install libtorch by following the installation guideline above
# Build tbai
catkin config -DCMAKE_BUILD_TYPE=Release
bash ./tbai.bash --build # This will only build the necessary packages
# Source tbai
cd ../.. && source devel/setup.bash
If any of the steps throws an error for you, please let use know and we will try to extend this guideline with a fix as soon as possible. Thanks 🤗
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:
- https://github.com/leggedrobotics/ocs2
- https://github.com/qiayuanl/legged_control
- https://github.com/leggedrobotics/legged_gym
- https://github.com/leggedrobotics/rsl_rl
- https://github.com/ANYbotics/elevation_mapping
- https://github.com/leggedrobotics/elevation_mapping_cupy
- https://github.com/bernhardpg/quadruped_locomotion
- https://github.com/stack-of-tasks/pinocchio
- https://x-io.co.uk/open-source-imu-and-ahrs-algorithms/
- https://github.com/mayataka/robotoc
- https://github.com/mayataka/legged_state_estimator
- hundreds of others ...
Thank you all 🤗