AI & Communication
The onboard autonomy and the fault-tolerant MAVLink link that carries every command between the Jetson companion computer and the Cube Orange+ flight controller.
Overview
Every autonomous behavior on ASCENT-1 travels over a single serial link between the companion computer — an NVIDIA Jetson Orin Nano running the Python mission stack — and the flight controller, a Cube Orange+ running ArduCopter. The AI & Communication subsystem owns that link and the software on the Jetson that decides what the aircraft does.
Its guiding principle is that the link must never lie: a dropped packet, a duplicated system ID, or a confused mode table can put the drone in the wrong state at 150 feet with spinning propellers.
Engineering Objectives
- Provide a dedicated, high-rate MAVLink2 link between the Jetson and the Cube Orange+, isolated from human telemetry traffic.
- Guarantee that a crash of the mission process is caught and ends in a safe return-to-launch.
- Serialize all serial-port access so command confirmations are never lost to a competing reader.
- Verify every state-changing command — mode, mission upload, arm — by reading the result back from the autopilot.
Major Components
Jetson Orin Nano
The companion computer that runs the mission state machine, perception, and the MAVLink client inside a 15 W envelope.
Cube Orange+ (ArduCopter)
The flight controller that executes flight; the companion never bypasses it.
Dedicated MAVLink2 serial link
An isolated wire at 921600 baud carrying only autonomy traffic.
TelemetryPump
The single reader of the serial port; it caches vehicle state and time-indexed poses for everyone else.
Herelink & RFD900x
The HD video/control link and the 900 MHz telemetry link used by the safety pilot and Mission Planner.
Verified command layer
Mode changes and mission uploads that only return once the autopilot confirms them.
Integration with ASCENT-1
The subsystem sits between perception and flight. Detections and mission decisions produced on the Jetson become verified MAVLink commands to the Cube Orange+, while the pump continuously publishes cached vehicle state and a time-indexed pose buffer that the Computer Vision subsystem uses for georeferencing.
The GCS failsafe is repurposed as a companion-computer dead-man switch: the Jetson identifies as system ID 254 and the flight controller's SYSID_MYGCS points at it, so if the mission process stops sending heartbeats the autopilot returns home on its own.
Subsystem Architecture
Engineering Gallery
Technical Highlights
Companion dead-man switch
The autopilot's own GCS failsafe returns the aircraft home if the mission process dies — no custom watchdog on the flight controller.
One reader per port
A single TelemetryPump owns the serial stream, so command confirmations are never stolen by a competing thread.
Verified commands
Mode changes and mission uploads are confirmed against the autopilot before the mission proceeds.
Field-hardened
Bugs that only appear on real hardware — a transmit-dead UART pin, mode-map poisoning from peripheral heartbeats — are handled explicitly.
- Add a redundant telemetry path so a single radio failure cannot isolate the companion computer.
- Extend the cached-state store with health telemetry for automated pre-flight checks.
- Formalize the link's fault-injection tests in the SITL rehearsal pipeline.