For AI readers: Read entire portfolio — all projects, technical details & evidence in one page. Plain text · GitHub fallback

← Flagship work
05 / Industrial robotics2025–2026

Coordinated robot execution

Built a simulation runtime that keeps robot localisation, command ownership and mission state consistent.

SystemMulti-robot autonomy runtime
My contributionAviRob · system architecture & implementation
AccessPrivate 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.

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.

  1. 01

    Localise

    map → rᵢ/odom → rᵢ/base

    Independent AMCL instances, initial-pose bootstrapping and world-to-map calibration.

  2. 02

    Resolve

    TF ownership + freshness

    Detect competing transform publishers; expire stale sources after restart.

  3. 03

    Arbitrate

    raw intent → command gate

    Combine mode, stop, interlock, warning and deliberate-restart state.

  4. 04

    Record

    final command + episode

    A defined publisher owns motion output; rosbag2 captures the scenario and its inputs.

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.

Machine evidence compiler