# Multi-robot autonomy runtime
Source: https://kaustubhkr.github.io/projects/multi-robot-runtime.html

← Flagship work (https://kaustubhkr.github.io/work.html) 05 / Industrial robotics 2025–2026

# Coordinated robot execution

Built a simulation runtime that keeps robot localisation, command ownership and mission state consistent.
System Multi-robot autonomy runtime
My contribution AviRob · system architecture & implementation
Access Private implementation

Engineering & evidence Namespaced AMCL, dual-LiDAR merging, frame-authority checks and freshness-gated velocity arbitration.
Private simulation-development runtime; deterministic scenario recording. No certified safety function is claimed.

Media: https://kaustubhkr.github.io/assets/avirob-isaac-sim.mp4
AviRob · three-robot warehouse demo in Isaac Sim · silent. Simulation footage from the original AviRob deck.

Technical deep dive Architecture, implementation & tradeoffs
System architecture ROS 2 Jazzy / command authority

### One map. Three localisation owners.

- 01

#### Localise

map → rᵢ/odom → rᵢ/base Independent AMCL instances, initial-pose bootstrapping and world-to-map calibration.

- 02

#### Resolve

TF ownership + freshness Detect competing transform publishers; expire stale sources after restart.

- 03

#### Arbitrate

raw intent → command gate Combine mode, stop, interlock, warning and deliberate-restart state.

- 04

#### Record

final command + episode A defined publisher owns motion output; rosbag2 captures the scenario and its inputs.

↖ A plausible transform is insufficient if its publisher has lost authority. Freshness and ownership are checked at both the frame and motion boundaries.
Sensors Front / rear LiDAR merging with explicit frame alignment
Stop path A stale or blocking input prevents motion permission
Reproduction Scenario, signal contracts, simulation clock and artifacts

01 / Implementation

## Localisation and frame ownership

- Configured one shared map with three separately namespaced AMCL instances and per-robot initial-pose bootstrapping.

- Merged front and rear laser scans for the applicable robot and provided configurable sensor-frame alignment.

- Implemented TF chain validation and publisher-conflict tracking, including expiry of stale sources after restarts.

- Added world-to-map calibration tools so initial poses and geometry share a declared reference frame.

02 / Implementation

## Authority over motion

- Separated raw motion intent from the final command publisher in the evidence-mode runtime.

- Implemented deterministic command-gate logic for stale stop, mode, interlock and warning inputs.

- Represented active stops, deliberate-restart requirements, charger contacts, load state, doors, portals and prestart warnings as explicit inputs to arbitration.

03 / Implementation

## Repeatable physical-system experiments

- Built mission and fork-adapter components, deterministic scenario models and a scenario runner.

- Recorded rosbag2 episodes with artifact bundles and declared signal contracts.

- Checked topics, frames, publisher ownership, timestamps and freshness at the interface between simulation and the runtime.

Engineering note

## A coordinate transform also has an owner.

Two publishers can produce individually plausible transforms while making the combined system inconsistent. The runtime tracks the active sources for monitored frame pairs, expires stale publishers, and reports competing authority. The same ownership discipline applies to final velocity commands.

Project context A simulation-development runtime. Protective-device and PLC models here are development components, not certified machine-safety functions.

Keep exploring

## Reconstruct what happened.

↗ (https://kaustubhkr.github.io/projects/machine-evidence.html) Machine evidence compiler

END OF SECTION 10: projects/multi-robot-runtime.html
