Installation (Deployment)#

Prerequisites#

Required for all setups:

  • Ubuntu 20.04/22.04/24.04 or other Debian-based Linux distributions

  • CUDA Toolkit (for GPU acceleration)

  • TensorRT (for inference optimization) — Install this first!

  • Jetpack 6 (for onboard deployment)

  • Python 3.8+

  • Git with LFS support

Download TensorRT from NVIDIA Developer:

Platform

TensorRT Version

x86_64 (Desktop)

10.13

Jetson / G1 onboard Orin

10.7 (requires JetPack 6 — flashing guide)

Tip

Download the TAR package (not the DEB one) so you can extract TensorRT to any location. The archive is ~10 GB; consider using pv to monitor progress:

Warning

The versions listed above are the tested versions. Different versions of TensorRT may cause inference issues. If you intend to use another version, test in simulation first.

sudo apt-get install -y pv
pv TensorRT-*.tar.gz | tar -xz -f -

Move the unzipped TensorRT to ~/TensorRT (or similar) and add to your ~/.bashrc:

export TensorRT_ROOT=$HOME/TensorRT

Clone the Repository#

git clone https://github.com/NVlabs/GR00T-WholeBodyControl.git
cd GR00T-WholeBodyControl
git lfs pull          # make sure all large files are fetched

Setup#

Docker (ROS2 Development Environment)#

We provide a unified Docker environment with ROS2 Humble, supporting x86_64 and Jetson platforms.

Prerequisites:

  • Docker installed and user added to docker group

  • TensorRT_ROOT environment variable set on host

  • For Jetson: JetPack 6.1+ (CUDA 12.6)

Quick Setup:

# 1. Add user to docker group (one-time setup)
sudo usermod -aG docker $USER
newgrp docker

# 2. Set TensorRT path (add to ~/.bashrc for persistence)
export TensorRT_ROOT=/path/to/TensorRT

# 3. Launch container
cd gear_sonic_deploy
./docker/run-ros2-dev.sh

Options:

./docker/run-ros2-dev.sh               # Standard build (fast)
./docker/run-ros2-dev.sh --rebuild     # Force rebuild
./docker/run-ros2-dev.sh --with-opengl # Include OpenGL for visualization (RViz, Gazebo)

Architecture Support:

  • x86_64: CUDA 12.4.1 (requires NVIDIA driver 550+)

  • Jetson: CUDA 12.4.1 container on CUDA 12.6 host (forward compatible)

Inside the container:

source scripts/setup_env.sh # set up dependency
just build                  # Build
just --list                 # Show all commands

Troubleshooting:

  • If you get “permission denied”, ensure you’re in the docker group

  • TensorRT must be set on the host before starting container

  • For Jetson: Run source scripts/setup_env.sh on host first (sets jetson_clocks)