From 47b64925bbdda8d9bc8ddf10421ed57736dd0263 Mon Sep 17 00:00:00 2001 From: spomichter Date: Sat, 21 Feb 2026 18:07:52 +0000 Subject: [PATCH 1/3] docs(go2): add production getting started guide --- docs/platforms/quadruped/go2/index.md | 111 +++++++++++++++++++++++++- 1 file changed, 110 insertions(+), 1 deletion(-) diff --git a/docs/platforms/quadruped/go2/index.md b/docs/platforms/quadruped/go2/index.md index 3ce7c425de..e3f1a8dfeb 100644 --- a/docs/platforms/quadruped/go2/index.md +++ b/docs/platforms/quadruped/go2/index.md @@ -1 +1,110 @@ -# GO2 Getting started +# Unitree Go2 — Getting Started + +The Unitree Go2 is DimOS's primary reference platform. Full autonomous navigation, mapping, and agentic control — 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 + +```bash +# System dependencies (pick your platform) +# Ubuntu: docs/installation/ubuntu.md +# macOS: docs/installation/osx.md +# Nix: docs/installation/nix.md + +# Python +uv venv --python "3.12" +source .venv/bin/activate +uv pip install dimos[base,unitree] +``` + +## Try It — No Hardware Needed + +```bash +# Replay a recorded Go2 navigation session +# First run downloads ~2.4 GB of LiDAR/video data from LFS +dimos --replay run unitree-go2 +``` + +Opens the command center at [localhost:7779](http://localhost:7779) with Rerun 3D visualization — watch the Go2 map and navigate an office in real time. + +## Run on Your Go2 + +```bash +export ROBOT_IP= +dimos run unitree-go2 +``` + +That's it. DimOS connects via WebRTC (no jailbreak required), starts the full navigation stack, and opens the command center. + +### 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](http://localhost:7779)): +- Click on the map to set navigation goals +- Toggle autonomous exploration +- Monitor robot pose, costmap, and planned path + +## MuJoCo Simulation + +```bash +uv pip install dimos[base,unitree,sim] +dimos --simulation run unitree-go2 +``` + +Full navigation stack in MuJoCo — same code, simulated robot. + +## Agentic Control + +Natural language control with an LLM agent that understands physical space: + +```bash +export OPENAI_API_KEY= +export ROBOT_IP= +dimos run unitree-go2-agentic +``` + +Then use the human CLI to talk to the agent: + +```bash +humancli +> explore the space +``` + +The agent subscribes to camera, LiDAR, and spatial memory streams — it sees what the robot sees. + +## Available Blueprints + +| Blueprint | Description | +|-----------|-------------| +| `unitree-go2-basic` | Connection + visualization (no navigation) | +| `unitree-go2` | Full navigation stack | +| `unitree-go2-agentic` | Navigation + LLM agent | +| `unitree-go2-agentic-ollama` | Agent with local Ollama models | +| `unitree-go2-agentic-mcp` | Agent with MCP tool access | +| `unitree-go2-spatial` | Navigation + spatial memory | +| `unitree-go2-detection` | Navigation + object detection | +| `unitree-go2-ros` | ROS 2 bridge mode | + +## Deep Dive + +- [Navigation Stack](../../../capabilities/navigation/native/index.md) — column-carving voxel mapping, costmap generation, A* planning +- [Visualization](../../../usage/visualization.md) — Rerun, Foxglove, performance tuning +- [Data Streams](../../../usage/data_streams/) — RxPY streams, backpressure, quality filtering +- [Transports](../../../usage/transports/index.md) — LCM, SHM, DDS +- [Blueprints](../../../usage/blueprints.md) — composing modules From 077c534c9ac60cc624c1d982460482eb014bae97 Mon Sep 17 00:00:00 2001 From: spomichter Date: Sat, 21 Feb 2026 18:16:59 +0000 Subject: [PATCH 2/3] fix(docs): move install links outside bash block as proper links --- docs/platforms/quadruped/go2/index.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/platforms/quadruped/go2/index.md b/docs/platforms/quadruped/go2/index.md index e3f1a8dfeb..6e3b97bb1a 100644 --- a/docs/platforms/quadruped/go2/index.md +++ b/docs/platforms/quadruped/go2/index.md @@ -10,13 +10,14 @@ The Unitree Go2 is DimOS's primary reference platform. Full autonomous navigatio ## Install -```bash -# System dependencies (pick your platform) -# Ubuntu: docs/installation/ubuntu.md -# macOS: docs/installation/osx.md -# Nix: docs/installation/nix.md +First, install system dependencies for your platform: +- [Ubuntu](../../../installation/ubuntu.md) +- [macOS](../../../installation/osx.md) +- [Nix](../../../installation/nix.md) + +Then install DimOS: -# Python +```bash uv venv --python "3.12" source .venv/bin/activate uv pip install dimos[base,unitree] From a8562402396c2661208a00774492defce8c47864 Mon Sep 17 00:00:00 2001 From: spomichter Date: Sat, 21 Feb 2026 18:19:29 +0000 Subject: [PATCH 3/3] docs(go2): recommend keeping Unitree obstacle avoidance enabled --- docs/platforms/quadruped/go2/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/platforms/quadruped/go2/index.md b/docs/platforms/quadruped/go2/index.md index 6e3b97bb1a..40f32bcdd2 100644 --- a/docs/platforms/quadruped/go2/index.md +++ b/docs/platforms/quadruped/go2/index.md @@ -42,6 +42,8 @@ dimos run unitree-go2 That's it. DimOS connects via WebRTC (no jailbreak required), starts the full navigation stack, and opens the command center. +> **Tip:** Keep the Unitree built-in obstacle avoidance enabled on the robot for now. DimOS handles path planning, but the onboard obstacle avoidance provides an extra safety layer. + ### What's Running | Module | What It Does |