MRG Logo
Back to RobotX 2026

Autonomy

Composable behavior tree architecture, dynamic incident handling, and cross-domain task execution for RobotX 2026.

BehaviorTree.CPP Architecture

The autonomous decision-making system transitions from traditional finite-state machines (FSMs) and Python-based pytrees to BehaviorTree.CPP. Control flow is encoded directly in a modular tree structure of primitive behaviors ticked by parent nodes. This decouples subtrees from one another, reducing modification complexity to an O(1) insertion or deletion and keeping cyclomatic complexity at CC = 1 (compared to CC = 14 for an equivalent 6-state fault-tolerant FSM). Mission trees are authored in clean XML and visualized live during field operations using Groot2.

Dynamic Re-Tasking and Incident Preemption

Competition incident signals are monitored by a high-priority reactive control node that ticks on every cycle above the mission executor. When RoboCommand triggers an incident, active mission execution immediately halts. Once cleared, the mission resumes. To ensure seamless resumption without repeating completed maneuvers, every task subtree enforces a strict design invariant: it must verify its own completion progress against current sensor and state data before executing actions.

Multi-Vehicle Cross-Domain Authority

Mission-management authority resides primarily on the USV, which orchestrates overall run strategy and dispatches aerial reconnaissance sorties to the UAV. Both vehicles share a common UTM reference frame, exchanging pre-fused target detections and state telemetry over a bandwidth-optimized ROS 2 and Zenoh wireless bridge.

Support or Sponsor Us!

© 2023-2026 MRG

Report an Issue