robotGazebo

Quadruped Simulation and Control

System Requirements

Component
Minimum
Good/Recommended
Ideal

CPU

Intel i7 (10th gen) or AMD Ryzen 7-8 cores minimum

Intel i9 (12th gen+) or AMD Ryzen 9-12 cores

AMD Ryzen 9 7950X or Intel i9-13900K 16+ cores (24+ threads)

RAM

16 GB

32 GB

64 GB

GPU

NVIDIA GTX 1660 Ti 6 GB VRAM

NVIDIA RTX 3070 or RTX 4060 Ti 8-12 GB VRAM

NVIDIA RTX 4080/4090 16+ GB VRAM with CUDA 11.8+

OS

Ubuntu 22.04

Ubuntu 22.04

Ubuntu 22.04

It's ideal to have at least 128 GB SSD storage for the setup to run smoothly.

Checkout the video walkthrough herearrow-up-right. More video tutorials coming soon.

Simulation Instructions

To get started with Gazebo and Unitree SDK, please install cyclonedds and ROS2 Humble first.

Install cyclonedds from this linkarrow-up-right or follow the instructions below.

sudo apt-get install git cmake gcc
git clone https://github.com/eclipse-cyclonedds/cyclonedds -b releases/0.10.x
cd cyclonedds && mkdir build install && cd build
cmake -DBUILD_EXAMPLES=ON -DCMAKE_INSTALL_PREFIX=$HOME/Documents/GitHub/cyclonedds/install ..
cmake --build . --target install

To install ROS2 Humble, go to this linkarrow-up-right. Follow the steps under Setup Sources. Now, run

sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop-full

This will install ROS, RViz, Gazebo and all the relevant packages.

To install compilers and other tools to build ROS packages, run

Install the following additional dependencies

Set up your environment by sourcing the following file.

If you don't have uv installed, use the following command to install it on your system.

Use this CycloneDDS configuration. It uses lo as the network interface. We recommend that you export this in your .bashrc or equivalent configuration file cyclonedds.xml. To add it to cyclonedds.xml:

Add the following, then save and exit.

Open your bashrc file

Add the following, replacing /path/to/cyclonedds with the actual path to your CycloneDDS installation:

Apply the changes

To add the config to your bashrc, run:

And add the following, replacing /path/to/cyclonedds with the actual path to your CycloneDDS installation:

Now run

This will apply the latest changes in the current shell session.

Check if you have rosdep installed by running rosdep or rosdep --version. If it is not installed, run the following:

Once you've successfully completed above steps, follow the following steps to start the gazebo simulation, generate SLAM map of the surrounding and start navigation.

Step 1: Clone the OM1-ros2-sdkarrow-up-right repository:

Step 2: Install all the necessary dependencies:

Step 3: Build all the packages:

Now you should be able to launch the Gazebo Simulator.

Step 4: Open a terminal and run the following commands. You'll now be able to see the Gazebo and RViZ windows launch on your system.

Step 5: Open a new terminal and run:

This will bring up the om/path topic, enabling OM1 to understand the surrounding environment.

Step 6: Open a new terminal and run:

This will bring up the orchestrator, to consume data collected by om1_sensor for SLAM and Navigation.

Step 7: Run Zenoh Ros2 Bridge

To run the Zenoh bridge for the Unitree Go2, you need to have the Zenoh ROS 2 bridge installed. You can find the installation instructions in the Zenoh ROS 2 Bridge documentationarrow-up-right

After installing the Zenoh ROS 2 bridge, you can run it with the following command:

Step 8: Start OM1

Refer to the Installation Guidearrow-up-right for detailed instructions.

Then add the optional Python CycloneDDS module to OM1, run

Setup your API key in .bashrc file and run your simulation agent:

Get your API key from the portalarrow-up-right, and add it to bashrc

Now, run the simulation agent

Step 9: Teleoperate the robot in simulation

You can also use teleoperation to control the robot through your keyboard.

Switch back to OM1-ros2-sdk in a new terminal and run the following commands

Use the keyboard controls displayed in the terminal to move the robot:

Note: We don't have auto charging feature supported with Gazebo but it will be launched soon. Stay tuned!

Last updated

Was this helpful?