We are thrilled to announce that the Unitree Go2/G1 robot has now been integrated with the Nvidia Isaac Sim 4.0 (Isaac Lab), 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!
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/G1 and ROS2!
You need to install:
Full instruction:
https://isaac-sim.github.io/IsaacLab/source/setup/installation/binaries_installation.html
Some suggestions:
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html#isaac-sim-app-install-ros
To start with the local development environment, clone this repo:
git clone https://github.com/abizovnuralem/go2_omniverse/ --recurse-submodules -j8 --depth=1
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-4.0.0/exts/omni.isaac.sensor/config/extrensiom.toml
with Isaac_sim/extension.toml in this repo.
2. You need to add Unitree_L1.json to IsaacLab repo folder, where IsaacLab/source/exts/omni.isaac.sensor/data/lidar_configs/Unitree/Unitree_L1.json will be the final path (If it doesnt exists, create it)
The current project was tested on Ubuntu 22.04, IsaacSim 4.0 with Isaac Lab and Nvidia Driver Version: 545. To start the project with Unitree GO2, execute:
./run_sim.sh
To start the project with Unitree G1, execute:
./run_sim_g1.sh
You can control the dog using "WASD" keyboard commands
You can use https://github.com/abizovnuralem/go2_ros2_sdk as a basement for your ROS2 setup.
To use predifined custom envs, you need to download files from https://drive.google.com/drive/folders/1vVGuO1KIX1K6mD6mBHDZGm9nk2vaRyj3?usp=sharing and place them to /envs folder. Then you can execute it via python main.py --custom_env=office or python main.py --custom_env=warehouse commands (The whole cmd you can read from run_sim script). If you are doing it first time, it will take 2-3 minutes to configure the env. Please, wait.
To contribute or modify the project, refer to these resources for implementing additional features or improving the existing codebase. PRs are welcome!
To enable VR support on linux will take some time, but it works! I have tested it on:
Special thanks to Leul Tesfaye for his expertise in Orbit lidars and Tamas @tfoldi for contributing to this project.
This project is licensed under the BSD 2-clause License - see the LICENSE file for details.