This repository provides an unofficial SDK for conducting experiments on control and navigation with the Unitree GO2 quadruped robot.
To clone the repository with submodules, run the following:
git clone --recurse-submodules https://github.com/illusoryTwin/go2_ros2_control_sim
git submodule update --init --recursiveIn the project root directory (go2_ros2_control_sim)
make runOr, you can choose a desired type of controller by passing it as an argument CTRL like:
make run CTRL=unitree_guideor
make run CTRL=rlAfter launching, new terminal windows should open for logging, keyboard input control, Mujoco simulation. A Mujoco simulation window should open for visualizing the robot.
libtorch
This repository contains ROS 2 packages and scripts for controlling and simulating the Unitree Go2 robot.
Contains two types of controllers:
- RL Controller: Based on reinforcement learning.
- Classic Controller: Based on Unitree's guide controller.
Provides an interface for sending commands to the robot via:
- Keyboard
- Joystick
- Predefined movement tasks
Includes configuration files and descriptions of robot control modes.
Launch utilities for starting the robot control system.
provide a tool for processing the robot state data
Contain bash scripts for sourcing the necessary environment variables and dependencies and launch of the main ROS nodes and associated launch files to control the robot.
When simulation is launched the data from topics is saved as a rosbag. To further analyze this dadta, one can launch
cd utils
python3 plot_data.py- This is a custom, non-official Unitree SDK.
