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
Usedimos go2tool to provision wifi and find the robot’s IP. Skip if the robot is already on your network and you know its IP.
- Power on the Go2 — it advertises over BLE immediately.
- Provision wifi (one-time per network):
- Find the robot’s IP:
SOURCE NAME IP MAC SERIAL for every robot it sees over BLE and LAN. Export the IP:
Pre-flight checks
- Robot is reachable and low latency
<10ms, 0% packet loss
- 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
What’s Running
| Module | What It Does |
|---|---|
| GO2Connection | WebRTC connection to the robot — streams LiDAR, video, odometry |
| VoxelGridMapper | Builds a 3D voxel map using column-carving (CUDA accelerated) |
| CostMapper | Converts 3D map → 2D costmap via terrain slope analysis |
| ReplanningAStarPlanner | Continuous A* path planning with dynamic replanning |
| WavefrontFrontierExplorer | Autonomous exploration of unmapped areas |
| RerunBridge | 3D visualization in browser |
| WebsocketVis | Command center at localhost:7779 |
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
