[Unitree GO2] Seeking advice: Using ZED Box Mini to control Unitree Go2 movement and use ZED 2i visual SLAM

Hi everyone,

I am currently working with a Unitree Go2 robot dog and a ZED Box Mini, and I would like to ask if anyone has experience using this setup for robot control and visual SLAM.

My current system setup is:

Unitree Go2 onboard computer:

  • Ubuntu 20.04.5 LTS, Focal
  • Linux kernel 5.10.104-tegra
  • ARM64 / aarch64 NVIDIA Jetson/Tegra platform
  • ROS 2 Foxy

ZED Box Mini:

  • Ubuntu 22.04.5 LTS
  • L4T 36.4.7
  • Linux kernel 5.15.148-tegra
  • NVIDIA Orin GPU
  • CUDA 12.6
  • ZED SDK 5.3.0
  • USB ZED 2i camera detected through USB 3.0, USB bandwidth OK

My goal is quite simple at the beginning:

  1. Use the ZED Box Mini as an external computer to send simple movement commands to the Unitree Go2, for example forward, backward, turn left, turn right, and stop.

  2. Use the ZED 2i camera with the ZED Box Mini for visual SLAM / positional tracking.

  3. Combine the ZED 2i localisation output with the Unitree Go2 movement control, so that the robot dog can be remotely controlled or later perform basic navigation using the ZED camera.

I understand that there may be a compatibility issue because the Unitree Go2 is running ROS 2 Foxy, while the ZED Box Mini is running Ubuntu 22.04 and likely ROS 2 Humble. I am not sure what is the best way to connect both systems.

I would like to ask:

  • Has anyone successfully used a ZED Box Mini to control the movement of a Unitree Go2?
  • What is the recommended method to send movement commands from the Mini Box to the robot dog?
  • Is it better to use ROS 2 communication, UDP, SDK2, or another method?
  • Has anyone used the ZED 2i positional tracking / visual SLAM output together with Unitree Go2 movement control?
  • If ROS 2 Foxy and Humble are used on different machines, what is the best way to handle the communication or message compatibility?

At this stage, I am only trying to achieve a simple and stable setup first, where the Mini Box can control basic robot dog movement and receive ZED 2i localisation data.

Any advice, example workflow, GitHub repository, or experience sharing would be very helpful.

Thank you very much.

Hongwei

Hi,

Yes, the setup should be possible. I suggest keeping the first step simple:

Run the ZED 2i on the ZED Box Mini and follow the official ZED ROS 2 wrapper repository: Stereolabs ZED ROS 2 Wrapper.

For Go2 movement control, I would first avoid direct Foxy–Humble ROS 2 communication. Use the Unitree SDK / UDP interface from the ZED Box Mini to send basic commands such as forward, backward, turn, and stop.

Recommended initial architecture:

ZED 2i → ZED Box Mini → ZED ROS 2 Wrapper / positional tracking → control node → Unitree SDK or UDP → Go2

Once basic movement and ZED localisation are stable, you can later add ROS 2 bridging or navigation logic.

As for ROS2 humble you can start off with distrobox on the robot. There are some unofficial guides by people as well to upgrade the nvidia board which works but can brick your system and voids warranty.

1 Like

Hi Sohail,

Thank you very much for your advice. This is very helpful.

I will try this method first and see whether I can make the ZED Box Mini communicate with the Unitree Go2 for basic movement control.

Thanks again for your support.

Best regards,
Hong Wei Soon