![]() |
unitree-go2-ros2 repositorygazebo ros2 go2 champ unitree unitree-go2 champ champ_base champ_bringup champ_config champ_description champ_gazebo champ_msgs champ_navigation champ_teleop go2_config go2_description |
Repository Summary
Description | Developing robot description model for Unitree Go2 robot configured with Champ Legged Robots Research Repository |
Checkout URI | https://github.com/anujjain-dev/unitree-go2-ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-12-06 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | gazebo ros2 go2 champ unitree unitree-go2 |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
champ | 0.1.0 |
champ_base | 0.1.0 |
champ_bringup | 0.1.0 |
champ_config | 0.1.0 |
champ_description | 0.1.0 |
champ_gazebo | 0.1.0 |
champ_msgs | 0.1.0 |
champ_navigation | 0.0.0 |
champ_teleop | 0.6.2 |
go2_config | 0.1.0 |
go2_description | 0.1.0 |
README
unitree go2 ros2 - champ config
This package contains the configuration files for the Unitree Go2 robot configured with the CHAMP controller in ROS 2 (humble). It includes development of config package along with upgrade in robot description model for ROS 2 Humble distribution.
Unitree Go2:


Unitree Robotics is focusing on the R&D, production, and sales of consumer and industry-class high-performance general-purpose legged and humanoid robots, six-axis manipulators, and so on. We attaches great importance to independent research and development and technological innovation, fully self-researching key core robot components such as motors, reducers, controllers, LIDAR and high-performance perception and motion control algorithms, integrating the entire robotics industry chain.
CHAMP Controller:
CHAMP is an open source development framework for building new quadrupedal robots and developing new control algorithms. The control framework is based on “Hierarchical controller for highly dynamic locomotion utilizing pattern modulation and impedance control : implementation on the MIT Cheetah robot”.
Resources:
Tested on:
- Ubuntu 22.04 (ROS2 Humble)
Current state of package:
- ✓ Configure go2 robot with champ config
- ✓ Robots Configurations.
- ✓ Porting of robot description packages to ROS 2.
- ✓ Porting of robot URDF to ROS2 (add new ros2_control tag).
- ✓ Porting of robot configurationf to ROS2.
- ✓ Porting of robot launch Files to ROS2.
- ✓ Upgrade go2 description model for ros2 humble
- ✓ Spawning go2 in gazebo environment.
- ✓ Working rviz only demo.
- ✓ Working Gazebo with teleoperated robot.
- ✓ Adding IMU and 2D LiDAR.
- ✓ Adding 3D LiDAR (Velodyne).
- ✗ Working Gazebo demo with SLAM.
- ✗ Working Gazebo demo with nav2 integration.
1. Installation
1.0 Install ROS-based dependencies:
sudo apt install ros-humble-gazebo-ros2-control
sudo apt install ros-humble-xacro
sudo apt install ros-humble-robot-localization
sudo apt install ros-humble-ros2-controllers
sudo apt install ros-humble-ros2-control
sudo apt install ros-humble-velodyne
sudo apt install ros-humble-velodyne-gazebo-plugins
sudo apt-get install ros-humble-velodyne-description
1.1 Clone and install all dependencies:
sudo apt install -y python3-rosdep
rosdep update
cd <your_ws>/src
git clone https://github.com/anujjain-dev/unitree-go2-ros2.git
cd <your_ws>
rosdep install --from-paths src --ignore-src -r -y
1.2 Build your workspace:
cd <your_ws>
colcon build
. <your_ws>/install/setup.bash
2. Quick Start
You don’t need a physical robot to run the following demos. Make sure you have ros2_control, gazebo ros, controller manager packages installed in your ros2 setup.
2.1 Gazebo demo: Run the Gazebo environment
ros2 launch go2_config gazebo.launch.py
2.2 Walking demo in RVIZ: Run the gazebo along with rviz
ros2 launch go2_config gazebo.launch.py rviz:=true
2.3 Run the teleop node:
ros2 run teleop_twist_keyboard teleop_twist_keyboard
https://github.com/user-attachments/assets/bcfeec70-12c5-49b8-b7a7-da4fa9b6dea5
2.4 Go2 Velodyne Config Gazebo demo: Run the Gazebo environment
ros2 launch go2_config gazebo_velodyne.launch.py
File truncated at 100 lines see the full file