Behavior Tree Runtime
Mission logic is split into reusable BT subtrees for preflight, takeoff, pre-intercept, interception, post-intercept recovery, landing, and finalization.
Mission-level orchestration for the EAGLE.ONE autonomous counter-UAV interceptor using ROS 1 and Behavior Trees.
Status: Active development — simulation validated baseline, expanding autonomy and supervision logic
At a Glance Features Architecture External Localization Services Testing Gallery Status
This project implements the mission manager for the EAGLE.ONE interceptor UAV scenario. It acts as the high-level supervision layer between the operator, the payload subsystem, the interceptor state machine, and the underlying MRS UAV flight stack. Mission logic is modeled as modular Behavior Trees loaded at runtime and ticked inside a ROS 1 nodelet.
The system separates mission-level decision making from low-level flight control. Takeoff, navigation, reference tracking, landing, and safety mechanisms are delegated to the UAV stack, while the Mission Manager coordinates sequencing, operator permissions, payload handling, target-capture logic, external target guidance, and mission-state reporting.
A key design objective is hybrid execution. The same mission can run in autonomous mode, supervised mode, or manual mode. This allows repeatable autonomous validation while still supporting operator-driven testing, staged commissioning, and runtime recovery actions.
Mission logic is split into reusable BT subtrees for preflight, takeoff, pre-intercept, interception, post-intercept recovery, landing, and finalization.
Autonomous, supervised, and manual modes are enforced through blackboard flags, service gates, and per-action auto parameters.
Optional Dronetag / ground-station target localization can gate takeoff, guide pre-intercept motion, apply stand-off offsets, and support target reacquisition.
Preflight checks, stale-reference handling, target-loss routing, pause/resume points, and post-intercept recovery paths are encoded directly in the BT flow.
Mission-level net open, net detach, and payload state transitions are coordinated with flight phases and interceptor activation.
A structured MissionState publisher exposes phase, state, autonomy status, and payload context for operators, logs, and external monitoring tools.
The mission is decomposed into independent subtrees: PreflightPreparationTree, TakeoffTree, PreInterceptTree, InterceptorTree, PostInterceptTree, LandTree, and FinalizeTree. ManualTree provides an alternative operator-driven execution layer.
The Mission Manager runs as a ROS 1 nodelet. It owns the BT factory, global blackboard, tree loggers, tick timer, ROS subscribers, service servers, service clients, and mission-state publisher.
Low-level UAV actions are delegated to the MRS UAV System, including takeoff, Control Manager references, landing, diagnostics, tracker state monitoring, and dynamics constraint switching.
The preflight stage validates required data streams and configurable safety checks before takeoff. It can verify system topics, speed, range-sensor height, gyro motion, control output, arming, and external target availability.
The interceptor phase monitors the interceptor state machine and only exits the autonomous/supervised flow after a valid capture sequence reaches the confirmed disabled state.
After interception, the system navigates through drop transit, mid-drop, release, and landing-position goals. Constraint profiles are switched automatically for transit and safe release/landing phases.
The autonomous/supervised pipeline follows a deterministic sequence, while still allowing global pause/resume, manual-policy branching, and recovery routing when external guidance or target tracking becomes invalid.
The Mission Manager supports an optional external target-localization mode. When enabled, an external source such as a Dronetag / ground-station feed can provide the target reference before onboard LiDAR tracking takes over. The reference is converted into the UAV local metric frame and consumed by the BT through the global blackboard.
Mission progress is exposed through a structured MissionState message. The BTs update mission phase, detailed state, autonomy flag, and payload-related context, allowing external tools and operators to observe what the mission is doing without inspecting internal BT state directly.
States are grouped by mission phase, such as preflight, takeoff, pre-intercept, interceptor, post-intercept, landing, finalize, and manual execution.
MissionState is published continuously and is suitable for operator dashboards, log analysis, debugging, and integration with external monitoring layers.
The Mission Manager reports payload-relevant mission context, while payload-specific hardware status remains owned by the payload manager subsystem.
The Mission Manager exposes mission-level ROS services under the UAV namespace. These services allow an operator to trigger actions in manual mode, confirm actions in supervised mode, pause or resume the mission, inject navigation references, and release external guidance when required.
The project has been validated through repeatable simulation runs focused on mission sequencing, service gating, target acquisition/loss behavior, external guidance, and post-intercept recovery. The architecture is designed to make individual BT phases observable and independently debuggable.
Core mission flow: implemented with modular BT phases and validated in simulation.
Recent progress: external target localization support, supervised confirmation flow, manual execution layer, structured MissionState reporting, post-intercept constraint switching, and interceptor capture-confirmation cleanup.
Ongoing work: repository cleanup, removal of legacy parameters, robustness testing, real-flight integration support, and refinement of deployment-specific interfaces.
~85% — stable simulation baseline with active integration and robustness work.
BT diagrams and runtime logs from simulation and validation sessions.
Developed as part of the EAGLE.ONE ecosystem, leveraging ROS 1, the MRS UAV System, BehaviorTree.CPP, and modular robotics supervision patterns for reactive mission control, simulation validation, and verifiable autonomy.