Real-world dual-robot implementation of TopoFocus. An RTX 4090 Hub builds the shared semantic map and coordinates VLM-selected goals; both robots plan, control and stop locally.
| Role | Compute | Platform and sensing | Primary runtime |
|---|---|---|---|
| GPU Hub | Intel Core i9-14900K, 64 GB RAM, NVIDIA GeForce RTX 4090 | ASUS workstation, Ubuntu 22.04 | Semantics, fusion and VLM coordination |
| Robot 0 | NVIDIA Jetson Orin NX, JetPack 6.2.1 | Unitree Go2 + Intel RealSense D435i | TinyNav + guarded Unitree control |
| Robot 1 | ASUS NUC 12 Pro NUC12WSK-B, Core i7-1260P, 16 GB RAM | Wheeled chassis + Manifold Tech Odin1 | Odin, TinyNav + guarded WATER control |
The Hub fuses online maps and applies the source-compatible A–D VLM decision cascade. Each robot routes an expiring goal with known-free A*, then follows a TinyNav local trajectory behind independent fail-closed safety checks.
Use the same Git revision on every host.
git clone https://github.com/AlanZhu2006/topofocus_realworld.git
cd topofocus_realworld
python3 hub/tools/verify_public_baseline.py --workspace .Checks the public file and deployment contracts only; it installs nothing and does not connect to a robot.
bash hub/scripts/bootstrap_gpu_hub_cleanroom.sh
bash hub/scripts/bootstrap_gpu_hub_cleanroom.sh \
--apply --fetch-models --accept-model-licensesThe first command previews the plan. The second installs the locked runtime, pinned model artifacts and validation stack.
bash hub/robot_overlay/bootstrap_robot0_cleanroom.sh
bash hub/robot_overlay/bootstrap_robot0_cleanroom.sh --apply
bash hub/robot_overlay/configure_go2_network.sh
bash hub/robot_overlay/configure_go2_network.sh --applyCommands without --apply preview their plans. The applied commands install
the locked Jetson runtime and dedicated Go2 network configuration without
starting motion.
Full reproduction guide · Robot 0 clean-room deployment · Supervised workflow · Documentation index
Both stationary robots observe the same 7×10 circle-grid board to register their local odometry in one shared frame. A moved-board holdout independently validates the fitted transform before use.
Note: Glass, mirrors, low-texture surfaces and extreme lighting can degrade depth sensing and localization; adjust the viewing direction or use another scene, then revalidate tracking before a run.
| Scene | Target | Navigation setting |
|---|---|---|
| Scene 01 | Chair | Short-range navigation |
| Scene 02 | Plant | Medium-range navigation |
| Scene 03 | Plant | Long-range cooperative exploration |
| Scene 04 | Plant | Cooperative exploration |
The short-range setting starts both robots from the same lab area and targets a nearby white chair. All five formal experiments succeeded.
| Trials | Success | SR | Mean source-compatible SPL | Mean Standard SPL |
|---|---|---|---|---|
5 |
5 |
1.0 |
0.726088 |
0.780993 |
Standard SPL uses the independently measured shortest feasible path
L≈3.25 m; source-compatible SPL uses the arriving robot's start-to-arrival
displacement D as a source-compatible reference.
|
Formal 01 · SUCCESS Third view ![]() Dashboard ![]() Robot 0 explores a frontier first, then switches to the chair semantic region and auto-ARRIVED; Robot 1 advances along an independent frontier and HOLDs in sync. Third view · Dashboard |
Formal 02 · SUCCESS Third view ![]() Dashboard ![]() Robot 0 finishes frontier exploration and enters the chair semantic region, auto-ARRIVED; Robot 1 is held near-stationary by the coordinator. Third view · Dashboard |
|
Formal 03 · SUCCESS Third view ![]() Dashboard ![]() Robot 0 completes an initial round of frontier exploration; Robot 1 relays exploration and enters the chair's 0.5 m success region, confirmed on arrival by the operator. Third view · Dashboard |
Formal 04 · SUCCESS Third view ![]() Dashboard ![]() Both robots explore in alternating parallel rounds; Robot 1 switches to the chair semantic region and auto-ARRIVED, while Robot 0 finishes its independent frontier and HOLDs in sync. Third view · Dashboard |
|
Formal 05 · SUCCESS Third view ![]() Dashboard ![]() Robot 0 finishes frontier exploration and continuously navigates to the chair, auto-ARRIVED; Robot 1 HOLDs under route coordination. Third view · Dashboard |
|
| Run | Exploration rounds | Arriving robot | Actual path P |
Source-compatible SPL | Standard SPL |
|---|---|---|---|---|---|
| Formal 01 | 2 |
Robot 0 | 3.850792 m |
0.628399 |
0.843982 |
| Formal 02 | 2 |
Robot 0 | 2.760377 m |
0.892911 |
1.000000 |
| Formal 03 | 3 |
Robot 1 | 4.048842 m |
0.864048 |
0.802699 |
| Formal 04 | 4 |
Robot 1 | 3.210222 m |
0.956361 |
1.000000 |
| Formal 05 | 2 |
Robot 0 | 12.582981 m |
0.288722 |
0.258285 |
Full five-experiment archive · Machine-readable results · Media manifest · Run instructions
The medium-range setting requires both robots to explore cooperatively toward a more distant plant target.
| Trials | Success | SR | Mean source-compatible SPL | Mean Standard SPL |
|---|---|---|---|---|
5 |
3 |
0.600000 |
0.557367 |
0.531689 |
Both means count the two failures at zero contribution. Standard SPL uses
the operator-provided independently measured shortest feasible path
L≈7 m (Scene 01's 3.25 m is not reused).
|
Formal 01 · FAILURE Third view ![]() Dashboard ![]() Formal 01 failed during coordinated execution: one assigned frontier was rejected as locally unreachable, and the remaining semantic-navigation leg terminated before arrival. Third view · Dashboard |
Formal 02 · FAILURE Third view ![]() Dashboard ![]() Robot 1 explores 13 rounds without ever finding the plant semantic region — one frontier branch was observed heading away from the target — while Robot 0 HOLDs under route coordination throughout. The run is stopped by a two-interval no-progress guard after displacement stalled below 0.05 m. Third view · Dashboard |
|
Formal 03 · SUCCESS Third view ![]() Dashboard ![]() Robot 1 explores frontiers, switches to the plant semantic region and auto-ARRIVED, confirmed by the operator; Robot 0 remains in HOLD throughout. Third view · Dashboard |
Formal 04 · SUCCESS Third view ![]() Dashboard ![]() Route coordination keeps Robot 0 in HOLD while Robot 1 follows the plant semantic route and auto-ARRIVED, confirmed by the operator. Third view · Dashboard |
|
Formal 05 · SUCCESS Third view ![]() Dashboard ![]() Both robots advance concurrently where their route corridors are clear; Robot 1 completes the plant semantic route and auto-ARRIVED, confirmed by the operator. Third view · Dashboard |
|
| Run | Result | Exploration rounds | Robot 0 path | Robot 1 path | Source-compatible SPL | Standard SPL |
|---|---|---|---|---|---|---|
| Formal 01 | FAILURE | 4 |
6.104564 m |
1.905387 m |
0.0 |
0.0 |
| Formal 02 | FAILURE | 13 |
1.034858 m |
7.425951 m |
0.0 |
0.0 |
| Formal 03 | SUCCESS | 11 |
0.728655 m |
8.356524 m |
0.865192 |
0.837669 |
| Formal 04 | SUCCESS | 4 |
0.454227 m |
7.579081 m |
0.961379 |
0.923595 |
| Formal 05 | SUCCESS | 5 |
2.032182 m |
7.802197 m |
0.960264 |
0.897183 |
Formal 01 failure record · Formal 02 failure record · Formal 03 success record · Formal 04 record · Formal 05 record · Machine-readable results
The long-range setting retains the plant target while increasing travel distance and requiring both robots to explore and coordinate across the route.
| Trials | Success | SR | Mean source-compatible SPL | Mean Standard SPL |
|---|---|---|---|---|
5 |
3 |
0.600000 |
0.365962 |
0.546194 |
Both means count the two time-limit failures at zero contribution. Standard
SPL uses the independently measured approximate shortest feasible path
L≈14 m.
|
Formal 01 · FAILURE Third view ![]() Dashboard ![]() Exploration reached the test-time limit before finding and reaching a verified plant target; both robot trajectories were retained. Third view · Dashboard |
Formal 02 · FAILURE Third view ![]() Dashboard ![]() Exploration reached the test-time limit before finding and reaching a verified plant target; both robots finish in synchronized HOLD. Third view · Dashboard |
|
Formal 03 · SUCCESS Third view ![]() Dashboard ![]() Both robots explore long-range frontiers; Robot 1 switches to the plant semantic region and reaches the target, confirmed by the operator. Third view · Dashboard |
Formal 04 · SUCCESS Third view ![]() Dashboard ![]() Robot 0 advances along an independent frontier while Robot 1 completes the plant semantic route and auto-ARRIVED, confirmed by the operator. Third view · Dashboard |
|
Formal 05 · SUCCESS Third view ![]() Dashboard ![]() Coordinated role assignment preserves Robot 0 observations while Robot 1 completes long-range exploration, switches to the plant semantic region and auto-ARRIVED, confirmed by the operator. Third view · Dashboard |
|
| Run | Result | Exploration rounds | Robot 0 trajectory | Robot 1 trajectory | Source-compatible SPL | Standard SPL |
|---|---|---|---|---|---|---|
| Formal 01 | FAILURE | 16 |
18.577107 m |
14.162235 m |
0.0 |
0.0 |
| Formal 02 | FAILURE | 18 |
5.754388 m |
17.902160 m |
0.0 |
0.0 |
| Formal 03 | SUCCESS | 5 |
9.037490 m |
11.606679 m |
0.689524 |
1.000000 |
| Formal 04 | SUCCESS | 6 |
9.391253 m |
13.010775 m |
0.693557 |
1.000000 |
| Formal 05 | SUCCESS | 11 |
0.006053 m |
19.152683 m |
0.446727 |
0.730968 |
Full five-experiment archive · Formal 01 failure record · Formal 02 failure record · Formal 03 success record · Formal 04 success record · Formal 05 success record · Machine-readable results · Media manifest
Five formal experiments are archived. Robot 1 reached the plant in Formal 04 and Formal 05, with Robot 0 contributing its independently allocated exploration routes.
| Recorded trials | Success | SR | Mean source-compatible SPL | Mean Standard SPL |
|---|---|---|---|---|
5 |
2 |
0.4 |
0.330311 |
0.361412 |
The source-compatible mean counts all three failures at zero contribution.
Standard SPL uses the operator-provided independently measured approximate
shortest feasible path L≈11 m; its mean also counts the three failures at
zero contribution.
|
Formal 01 · FAILURE Third view ![]() Dashboard ![]() Exploration ended after no remaining frontier had a safe executable allocation; no verified plant target was reached. Third view · Dashboard |
Formal 02 · FAILURE Third view ![]() Dashboard ![]() Robot 1 detects the plant, but the projected semantic approach region is satisfied before physical arrival; both robots HOLD safely. Third view · Dashboard |
|
Formal 03 · FAILURE Third view ![]() Dashboard ![]() The exploration budget is exhausted after the plant becomes visible but before either robot reaches the target region. Third view · Dashboard |
Formal 04 · SUCCESS Third view ![]() Dashboard ![]() Robot 0 explores its allocated route; Robot 1 switches to the detected plant semantic region, arrives, and both robots HOLD in sync. Third view · Dashboard |
|
Formal 05 · SUCCESS Third view ![]() Dashboard ![]() Robot 0 explores its allocated routes while Robot 1 advances through the corridor, switches to the detected plant semantic region and arrives. Third view · Dashboard |
|
| Run | Result | Exploration rounds | Robot 0 trajectory | Robot 1 trajectory | Source-compatible SPL | Standard SPL |
|---|---|---|---|---|---|---|
| Formal 01 | FAILURE | 15 |
10.461142 m |
14.271182 m |
0.0 |
0.0 |
| Formal 02 | FAILURE | 13 |
12.313735 m |
6.858408 m |
0.0 |
0.0 |
| Formal 03 | FAILURE | 16 |
5.303672 m |
8.733911 m |
0.0 |
0.0 |
| Formal 04 | SUCCESS | 4 |
5.709166 m |
12.149176 m |
0.822180 |
0.905411 |
| Formal 05 | SUCCESS | 7 |
3.738739 m |
12.199885 m |
0.829375 |
0.901648 |
Formal 01 failure record · Formal 02 failure record · Formal 03 failure record · Formal 04 success record · Formal 05 success record · Machine-readable results













































