Binabik Software¶
Central, source-of-truth documentation for the binabik robot stack. The code
lives in its own repositories (the brain, the per-robot integrations, the MCP
servers); this topic holds the cross-cutting docs — architecture, guides, and
design specs — so they don't drift across repos. Each code repo keeps only its own
README.md.
Start here¶
-
Architecture
Read this first. How the whole system fits together: the layer model, the abstraction seam, where everything runs, a repo-by-repo map, the honest current state, and how to add a robot or a skill. It is also the hub that says which page owns what.
-
Set up your own stack
From an empty machine to a brain you can type into, driving the R1 in the Gazebo sim. The simulator is per person; the brain already runs on the 4090 — you request an instance rather than building one. Includes how to verify each layer, and the traps that make a setup look broken.
-
Running the simulator
The R1 in Gazebo Harmonic on hardware you control: Linux (a box or a VM) and macOS / Apple silicon (RoboStack, no VM), through the same two
r1ctlcommands — with an honest matrix of what each one can and cannot do. -
Running a brain
The single reference for
brainctlon the brain host (the 4090): every command and flag, onboarding a colleague in one command, configuring an instance (planner, model, Hydra overrides),brain.env, the shared central memory, HTTPS and the installable PWA URL. -
Using the brain
Driving a brain that already runs: the mental model, chat + the Debug panel, the live sub-module telemetry, the Visual Command / observer view, and how it learns from your corrections.
-
Integrating a robot
For robot developers: the MCP contract your robot implements — the canonical tool set, return shapes, conventions, the optional capabilities, and the checklist.
-
R1 robot stack
The R1 robot-side reference:
r1ctl, what runs in which tmux window, every port and env var, the smoke tests that prove the MCP path, and the recovery runbooks. -
Design specs
Per-service design specs — one file per MCP server / component (the grasp skill, the world state, fleet memory, the kit, the agent).
-
Coding guidelines
The conventions every binabik codebase follows: ports & adapters, config-driven DI, Hydra + Pydantic config, async, security, logging, and testing. Read before you write code.
Where the code lives¶
| Repo | Role |
|---|---|
binabik-orchestrator |
Umbrella: product-general specs + the component repos below. |
robot-voice-chat |
The brain (planner, plan runtime, MCP client, web UI + admin). |
binabik-brain-host |
Brain deployment (brainctl, image, robots.yaml attach, HTTPS). |
robot-mcp-kit |
Shared MCP library — Async Task Contract (server) + ToolClient (client). |
grasp-service / skill-service-template |
Layer-3 skill services: reliable pick-up + the copy-me scaffold. |
robot-mcp-perceptionros2_vision_interfaces |
Archived (July 2026) — v2 vision module + message defs, superseded by galaxea on-demand perception + binabik-r1-vision. |
robot-mcp-memory |
Central fleet memory — registry + group-scoped learning; deployed by default via brainctl. |
mcp-perception-bufferros2-memory |
Retired (BIN-306, August 2026) — the ambient "what do you see" buffer and episodic recall. Nothing launches either; "what do you see" is the world state, on demand. |
segmentation-modal |
SAM 3 segmenter on Modal + an MCP wrapper — segment plus the segmenter_status/stop/deploy lifecycle, also over HTTP as sam3-control (optional, paid off-robot perception). |
binabik-scene-perception |
Robot-agnostic scene core: grounding → segmentation → the canonical capture_scene object list (no ROS). |
rap-integration |
Archived (July 2026) — the pre-abstraction R1Pro/Jazzy-sim integration, superseded by r1-abstraction + r1ctl. |
r1-abstraction |
binabik's R1 adapter — presents the canonical contract over galaxea_agent's MCP servers. |
binabik-r1-vision |
R1 on-demand scene service (:9230) — capture_scene / get_frame / pixel_to_3d; opt-in, adapter falls back to look. |
galaxea_agent |
The R1's own MCP servers (r1_manipulation, perception, nav2, ros) — sim-proven on Jazzy; real-robot (Humble) bring-up in progress. |
galaxea_isaac_moveit |
The R1's ROS substrate (sim + MoveIt/Nav2 + robot def); one unified branch, main, for both. |
Everything above the Binabik Robot Abstraction Layer (brain, skills, kit) is robot-agnostic; only the robot's MCP servers below it are robot-specific. See Architecture — §2a for the abstraction seam and §4 for the repo map.
There is no archive
Superseded documents are deleted, not shelved. Every page here describes the stack as
it is now; what it used to be is in git history (git log --diff-filter=D --stat) and in
Linear, not in a folder people can mistake for current truth.