Unitree Go2 support for Nvidia Orbit (Isaac Gym / Isaac Sim)
I am thrilled to announce that the Unitree Go2 robot has now been integrated with the Nvidia Isaac Sim (Orbit), marking a major step forward in robotics research and development. The combination of these two cutting-edge technologies opens up a world of possibilities for creating and testing algorithms in a variety of simulated environments.
Get ready to take your research to the next level with this powerful new resource at your fingertips!
Real time Go2 Balancing:
Go2 Ros2 Camera stream:
URDF real-time joints sync:
Foot force data stream:
Real-time RTX lidar stream:
If you're as enthusiastic about this project as we are, please consider giving it a :star: star on our GitHub repository.
Your encouragement fuels our passion and helps us develop our RoadMap further. We welcome any help or suggestions you can offer!
Together, let's push the boundaries of what's possible with the Unitree Go2 and ROS2!
You need to install Ubuntu 20.04, Nvidia Isaac Sim, Nvidia Orbit and Docker
full instruction:
https://isaac-orbit.github.io/orbit/source/setup/installation.html
Also, you need to install ROS2 on your system and configure it:
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html#isaac-sim-app-install-ros
First, you need to copy files from Isaac Sim folder to your local Isaac Sim installation in order to use Unitree L1 lidar inside Orbit.
1. You need to replace original file that located in ~/.local/share/ov/pkg/isaac_sim-2023.1.1/exts/omni.isaac.sensor/config/extrensiom.toml
with Isaac_sim/extension.toml
2. You need to add Unitree folder that is inside Isaac_sim folder to ~/.local/share/ov/pkg/isaac_sim-2023.1.1/exts/omni.isaac.sensor/data/lidar_configs/
The current project was tested on Ubuntu 20.04 (foxy ros2 bridge), IsaacSim 2023.1.1 with Orbit 0.2.0 and Nvidia Driver Version: 535.171.04 with CUDA Version: 12.2. Go inside the repo folder, first, you need to build ros2 env for your Nvidia orbit:
1. go inside IsaacSim-ros_workspaces folder
2. execute ./build_foxy.sh or ./build_humble.sh (not tested)
3. source build_ws/foxy/foxy_ws/install/setup.bash or humble (not tested)
4. source build_ws/foxy/isaac_sim_ros_ws/install/local_setup.bash or humble (not tested))
5. go back to the root folder
6. conda activate orbit
7. python main.py
You can control the dog using "WASD" keyboard commands
You can use https://github.com/abizovnuralem/go2_ros2_sdk or https://github.com/unitreerobotics/unitree_ros2 as a basement for your ROS2 setup.
For you convenience I wrote two launche files: run_orbit.sh and build_and_run_orbit.sh
To contribute or modify the project, refer to these resources for implementing additional features or improving the existing codebase. PRs are welcome!
Special thanks to Leul Tesfaye for his expertise in Orbit lidars
This project is licensed under the BSD 2-clause License - see the LICENSE file for details.