Repo symbol

unitree-go2-ros2 repository

gazebo ros2 go2 champ unitree unitree-go2
Repo symbol

unitree-go2-ros2 repository

gazebo ros2 go2 champ unitree unitree-go2
Repo symbol

unitree-go2-ros2 repository

gazebo ros2 go2 champ unitree unitree-go2
Repo symbol

unitree-go2-ros2 repository

gazebo ros2 go2 champ unitree unitree-go2

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

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

Go2 Gazebo Launch

2.2 Walking demo in RVIZ: Run the gazebo along with rviz

ros2 launch go2_config gazebo.launch.py rviz:=true

Go2 Gazebo RViz Launch

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

Repo symbol

unitree-go2-ros2 repository

gazebo ros2 go2 champ unitree unitree-go2
Repo symbol

unitree-go2-ros2 repository

gazebo ros2 go2 champ unitree unitree-go2
Repo symbol

unitree-go2-ros2 repository

gazebo ros2 go2 champ unitree unitree-go2
Repo symbol

unitree-go2-ros2 repository

gazebo ros2 go2 champ unitree unitree-go2