One workspace. Any robot. Any Jetson.
The ROS 2 Humble backend for the Kinematics Mini and Max edge boxes — and any NVIDIA Jetson you bring. Drivers, SLAM, Nav2, perception, teleop, safety, recording, diagnostics, sim, and a CLI in one place.
| What it gives you | |
|---|---|
| 🧠 One brain | A single ROS 2 workspace that drives quadrupeds, humanoids, mobile bases, and manipulators behind one velocity contract. |
| 🎯 Dashboard-first | Versioned, documented public API. The web UI is a first-class client, not an afterthought. |
| 🛡️ Safe by default | Twist-mux priority arbitration, dead-man timeouts, watchdog, and per-profile velocity caps wired in from day one. |
| 🧰 Real CLI | openbrain doctor runs a full self-test. openbrain teleop, record, play, update, logs all just work. |
| 🧪 Tested | Unit tests in every non-trivial package. CI on every push: build + lint + multi-arch image build. |
| 🤖 20 demos | Three full implementations on day one (cockpit, health, missions) and 17 scaffolds you can graduate. |
| 📦 Containers | Multi-layer JetPack 6.2 image, dev container, sim profile, GHCR-published builds. |
| 🪙 MIT | Use it commercially. No CLA. |
┌─────────────────────────────┐
│ openbrain-dashboard (web) │
└───────────┬─────────────────┘
ws :9090 │ HTTP :8080
┌──────────────────────────┴──────────────────────┐
│ │
┌──────▼──────┐ ┌────────▼────────┐
│ rosbridge │ │ video_streamer │
│ │ │ WebRTC + MJPEG │
└──────┬──────┘ └────────┬────────┘
│ topics + services │
┌──────┴───────────────────────────────────────────────────────────┐
│ ROS 2 graph │
│ /cmd_vel /goal_pose /missions/* /teleop/* /system/health /... │
│ │
│ bringup → drivers → slam → nav → perception → safety → robot │
└───────────────────────────────┬──────────────────────────────────┘
│
┌────────┴────────┐
│ Robot SDK │
│ (Go2/G1/Tita/ │
│ generic) │
└─────────────────┘
git clone https://github.com/openkinematics/openbrain-ros
cd openbrain-ros
sudo ./install.sh # interactive: detects robot, installs Docker, sets up systemd
sudo systemctl start openbrain
openbrain doctor # verifies cameras, GPU, network, ROS topicsgit clone https://github.com/openkinematics/openbrain-ros
cd openbrain-ros
make dev # interactive shell in the dev container
make sim # Gazebo profile — full stack with a sim robotOpen the dashboard pointing at ws://localhost:9090 and you should see the
sim robot, its cameras, and a live map within 30 seconds.
git clone https://github.com/openkinematics/openbrain-ros
cd openbrain-ros
rosdep install --from-paths src --ignore-src -y
colcon build --symlink-install
source install/setup.bash
ros2 launch openbrain_bringup mini.launch.py| Package | Purpose |
|---|---|
openbrain_msgs |
Custom messages + services. The dashboard contract. |
openbrain_bringup |
Top-level mini.launch.py / max.launch.py with auto-detected robot adapter. |
openbrain_slam |
RTAB-Map RGB-D, persistent map at /maps/openbrain.db. |
openbrain_nav |
Nav2 stack + custom behavior tree, tuned for a 0.22 m-radius indoor robot. |
openbrain_perception |
YOLOv11 + NVBlox launch scaffolds. |
openbrain_teleop |
rosbridge :9090 and aiortc-based WebRTC + MJPEG streamer :8080. |
openbrain_safety |
Twist-mux, dead-man, e-stop, watchdog. |
openbrain_joystick |
Gamepad → /cmd_vel (PS5, Xbox, generic). |
openbrain_recording |
rosbag2 wrapper for mission recording / playback. |
openbrain_diagnostics |
Hardware self-test (cameras, GPU, network, disk, thermal). |
openbrain_simulation |
Gazebo bringup with a sim mobile robot. |
openbrain_modelhub |
SaaS policy deployment client (modelhub_pull, modelhub_list). |
openbrain_cli |
openbrain / ob console command. |
openbrain_drivers_realsense ships v0.1; livox, hesai, xsens,
flir_boson, ti_mmwave, quectel_5g are scaffolded for Phase 3.
| Robot | Status |
|---|---|
| Unitree Go2 / Go2-W | ✅ v0.1 |
| Unitree G1 | 🟡 Phase 2 |
| DirectDrive Tita | 🟡 Phase 2 |
| Generic ROS 2-native | ✅ v0.1 |
Adding a robot is typically a 100-line subclass of
RobotAdapter.
See docs/supported-robots.md.
| Slug | Status | What it does |
|---|---|---|
cockpit |
🟢 | Full teleop stack with dual-camera streaming |
health |
🟢 | CPU/GPU/RAM/thermal/power telemetry on /system/health |
missions |
🟢 | Multi-waypoint mission state machine over Nav2 |
profile |
🟢 | Per-operator preferences, YAML-backed |
fleet-control |
🟢 | Multi-robot health + mission aggregator |
yolo-perception |
🟢 | YOLOv11 detector + overlay |
vslam-gps-denied |
🟢 | RTAB-Map VIO config for warehouses / drones |
quadruped-patrol |
🟢 | Battery-aware patrol loop with return-to-charger |
| +12 more | 🟡 | Stubs ready to graduate — see the catalog |
The dashboard talks to the robot over a documented contract — topics, services, custom messages, network ports, all versioned. See docs/api.md. Treat it as a public interface.
openbrain status # robot type, IPs, running nodes, recent logs
openbrain doctor # full self-test: cameras, GPU, network, ROS, disk
openbrain teleop # interactive WASD teleop in your terminal
openbrain record demo # start rosbag2 recording into /recordings/demo
openbrain play demo # play it back
openbrain update # pull the latest image + restart the systemd unit
openbrain logs -f # tail journalctl + ROS logs together| Box | Compute | Status |
|---|---|---|
| Kinematics Mini (from $1,499) | Jetson Orin Nano 8 GB | ✅ v0.1 |
| Kinematics Max (configurable) | Jetson T4000 64 GB · T5000 128 GB · AGX Orin 64 GB | ✅ v0.1 |
| BYO Jetson | Orin Nano · Orin NX · AGX Orin · AGX Thor | ✅ v0.1 |
| x86 dev laptop | any | ✅ via Docker (sim only) |
- Installation — three install paths, end-to-end
- Architecture — data flow + how packages compose
- Public API contract — topics, services, messages, ports
- Supported robots — status matrix + how to add one
- Examples — copy-paste mission JSONs, teleop scripts, replay hooks
- Troubleshooting — common pitfalls
- Contributing — dev environment, conventions, PR flow
- Package README template — canonical shape for every package
- Security — reporting vulnerabilities + hardening tips
- Code of Conduct
- Changelog
The English docs are canonical. Translations live under docs/i18n/<lang>/ —
contributions welcome. Open a PR with a new locale and we will wire it into
the docs index. Currently planned: pt, es, fr, zh-CN, de.
- openbrain-dashboard — Next.js operator console
- kinematics-mini-hw — open hardware (CAD, BOM, schematics) for the Mini box
The demo catalog lives in this repo at src/openbrain_demos/ — one folder per demo, with a per-demo README that the marketing site and the dashboard both link into.
- Discord: https://www.openkinematics.com/community
- Issues: github.com/openkinematics/openbrain-ros/issues
- Discussions: github.com/openkinematics/openbrain-ros/discussions
MIT. See LICENSE and ATTRIBUTION.md for upstream credits.
Built openly by OpenKinematics. PRs welcome.