Autonomous Flight
The flight controller, ArduPilot configuration, and mission state machine that fly every ASCENT-1 behavior — and always have a safe exit.
Overview
The Autonomous Flight subsystem is the aircraft's flight brain: a Cube Orange+ running ArduPilot, driven by a small, explicit mission state machine on the companion computer. The aircraft moves through INIT → SEARCH → CONFIRM → COMMIT → LOITER → RTL.
Two rules shape every transition — verify preconditions before entering a state, and make every failure path end in return-to-launch.
Engineering Objectives
- Fly the competition mission autonomously from takeoff to landing.
- Cover the search area efficiently without bleeding speed at lane turns.
- Guarantee that any timeout or fault ends safely in return-to-launch.
- Prove every flight behavior in simulation before flying it on the airframe.
Major Components
Cube Orange+ (ArduCopter)
The flight controller that executes waypoints, modes, and failsafes.
Mission state machine
The companion-side controller that sequences the mission and gates every transition on verified preconditions.
Lawnmower planner
Generates a boustrophedon AUTO mission over the search boundary with a final RTL item.
Fixed-heading sweep
WP_YAW_BEHAVIOR = 0 keeps a constant nose heading so lane turns are pure translation.
Failsafe stack
GCS failsafe, RTL on timeout, and an AUTO mission that ends safely on its own.
SITL rehearsal
The same code and parameters flown in simulation before the propellers are real.
Integration with ASCENT-1
Autonomous Flight consumes verified commands from AI & Communication and target coordinates from Computer Vision, and flies the coverage plan produced by Mission Planning. It draws propulsion power from Power Systems and actuates the Payload Systems release at the target.
The AUTO mission is uploaded and verified before takeoff, and the sequence enters AUTO on the ground so ArduCopter's takeoff item performs the climb to the search altitude.
Subsystem Architecture
Engineering Gallery
Technical Highlights
Verify before transition
No state is entered without confirmed preconditions — mission stored, mode confirmed, target promoted.
Every path ends home
Timeouts, a dead companion process, or an exhausted mission all resolve to RTL.
No wasted yaw
A fixed heading keeps the 8 m/s sweep speed and a constant camera orientation.
SITL-first
Every behavior is rehearsed in simulation with the same code and parameters before real flight.
- Add wind-aware lane spacing to the coverage planner.
- Expand automated SITL regression coverage for edge-case transitions.
- Introduce in-air replanning when a search comes up empty.