Overview
Commander is a flight software suite for autonomous execution of a plan in a fleet of one or more vehicles. Commander uses a hierarchical execution model that divides control between a single centralized coordinator and distributed executors on every vehicle. All software is designed for execution onboard flight vehicles.

What is Commander?
The Commander software suite provides autonomy capabilities including both fleet-level coordination and autonomous control of a single vehicle. Commander is specialized for a given application by defining messages the software should send in response to received telemetry. These mission-specific elements can be customized for each vehicle in a fleet and provide flexibility to the end user.
Commander Applications
Mission Manager – coordinates fleet activities and responds to ground commands using an event-driven finite state machine. Execution Manager – coordinates activities on a single vehicle using an event-driven finite state machine. Timeline Manager – maintains a timeline of tasks; performs task queueing and deconfliction based on priority and resource needs.
Distributed Plan Execution
Commander uses Mission Manager to supervise all vehicles and interface with ground commands. Each vehicle locally queues commands using Execution Manager and Timeline Manager. This organization is robust to communications constraints, and offers a natural structure for remote command and control of the autonomous fleet.
Integration
Commander interacts with proven Emergent flight software to enable advanced autonomy capabilities on spacecraft fleets: cluster-coordinated orbital maneuvers and relative navigation, fault detection, isolation and recovery, distributed computing, and simulation and visualization.