Skip to main content

Unitree Go2 — Setup

Full autonomous navigation, mapping, and agentic control on a real Go2 — no ROS required.

Requirements

  • Unitree Go2 Pro or Air (stock firmware 1.1.7+, no jailbreak needed)
  • Ubuntu 22.04/24.04 with CUDA GPU (recommended), or macOS (experimental)
  • Python 3.12

Install

First, install system dependencies for your platform: Then install DimOS:

Run on Your Go2

First-time setup, connecting to wifi, finding robot IP

Use dimos go2tool to provision wifi and find the robot’s IP. Skip if the robot is already on your network and you know its IP.
  1. Power on the Go2 — it advertises over BLE immediately.
  2. Provision wifi (one-time per network):
optionally use discover to make sure robot is detected
configure wifi
Scans BLE and connects to the only robot it finds, or prompts you to pick if there are several.
  1. Find the robot’s IP:
Prints SOURCE NAME IP MAC SERIAL for every robot it sees over BLE and LAN. Export the IP:

Pre-flight checks

  1. Robot is reachable and low latency <10ms, 0% packet loss
  1. Built-in obstacle avoidance is on. (DimOS handles path planning, but the onboard obstacle avoidance provides an extra safety layer around tight spots)

Ready to run DimOS

That’s it. DimOS connects via WebRTC (no jailbreak required), starts the full navigation stack, and opens the command center in your browser.

What’s Running

Send Goals

From the command center (localhost:7779):
  • Click on the map to set navigation goals
  • Toggle autonomous exploration
  • Monitor robot pose, costmap, and planned path

Agentic Control

Natural language control with an LLM agent that understands physical space:
Then use the human CLI to talk to the agent:
The agent subscribes to camera, LiDAR, and spatial memory streams — it sees what the robot sees.