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.
Technical deep dive Architecture, implementation & tradeoffs
One map. Three localisation owners.
- 01
Localise
map → rᵢ/odom → rᵢ/baseIndependent AMCL instances, initial-pose bootstrapping and world-to-map calibration.
- 02
Resolve
TF ownership + freshnessDetect competing transform publishers; expire stale sources after restart.
- 03
Arbitrate
raw intent → command gateCombine mode, stop, interlock, warning and deliberate-restart state.
- 04
Record
final command + episodeA 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
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.
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.
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.
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.
A simulation-development runtime. Protective-device and PLC models here are development components, not certified machine-safety functions.