Skip to content

Repository files navigation

TopoFocus Real-World

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.

Reference deployment

Real-world dual-robot platforms: Robot 0 (Unitree Go2) with RealSense D435i, Robot 1 wheeled chassis with an Odin1 spatial memory module

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

System architecture

TopoFocus system architecture: shared semantic perception and VLM coordination on the RTX 4090 Hub with robot-local planning, control and safety

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.

Reproduction

Use the same Git revision on every host.

Repository gate

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.

RTX 4090 Hub

bash hub/scripts/bootstrap_gpu_hub_cleanroom.sh
bash hub/scripts/bootstrap_gpu_hub_cleanroom.sh \
  --apply --fetch-models --accept-model-licenses

The first command previews the plan. The second installs the locked runtime, pinned model artifacts and validation stack.

Robot 0 · Unitree Go2

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 --apply

Commands 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

Cross-robot calibration

Shared cross-robot calibration using a circle-grid board

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.

Evaluation settings

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

Scene 01 · Short-range Chair

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.

Explored semantic map

Experiment 1 explored semantic map and robot trajectories

Real-robot rollouts

Formal 01 · SUCCESS
Third view
Formal 01 rollout
Dashboard
Formal 01 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
Formal 02 rollout
Dashboard
Formal 02 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
Formal 03 rollout
Dashboard
Formal 03 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
Formal 04 rollout
Dashboard
Formal 04 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
Formal 05 rollout
Dashboard
Formal 05 dashboard
Robot 0 finishes frontier exploration and continuously navigates to the chair, auto-ARRIVED; Robot 1 HOLDs under route coordination.
Third view · Dashboard

Per-run metrics

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

Scene 02 · Medium-range Plant

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).

Explored semantic map

Experiment 2 explored semantic map and robot trajectories

Formal 01 · FAILURE
Third view
Formal 01 failure rollout
Dashboard
Formal 01 failure 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
Formal 02 failure rollout
Dashboard
Formal 02 failure 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
Formal 03 rollout
Dashboard
Formal 03 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
Formal 04 rollout
Dashboard
Formal 04 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
Formal 05 rollout
Dashboard
Formal 05 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

Per-run metrics

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

Scene 03 · Long-range Cooperative Plant

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.

Explored semantic map

Experiment 3 explored semantic map with Robot 0 and Robot 1 trajectories

Real-robot rollouts

Formal 01 · FAILURE
Third view
Formal 01 failure rollout
Dashboard
Formal 01 failure 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
Formal 02 failure rollout
Dashboard
Formal 02 failure 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
Formal 03 rollout
Dashboard
Formal 03 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
Formal 04 rollout
Dashboard
Formal 04 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
Formal 05 rollout
Dashboard
Formal 05 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

Per-run metrics

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

Scene 04 · Cooperative Plant

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.

Explored semantic map

Experiment 4 explored semantic map and robot trajectories

Real-robot rollouts

Formal 01 · FAILURE
Third view
Scene 04 Formal 01 failure rollout
Dashboard
Scene 04 Formal 01 failure 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
Scene 04 Formal 02 failure rollout
Dashboard
Scene 04 Formal 02 failure 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
Scene 04 Formal 03 failure rollout
Dashboard
Scene 04 Formal 03 failure 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
Scene 04 Formal 04 rollout
Dashboard
Scene 04 Formal 04 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
Scene 04 Formal 05 rollout
Dashboard
Scene 04 Formal 05 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

Per-run metrics

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

About

Reproducible TopoFocus real-robot Hub and Go2 deployment

Topics

Resources

Contributing

Security policy

Stars

19 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages