All projects
Work Project · Autonomy & Avionics

Autonomous eVTOL Flight Testbed

Autonomous eVTOL flight testbed

In my day job I do hands-on hardware and flight-software development on a sub-scale quad-rotor testbed for an eVTOL research effort — architected so the components, sensors and autonomy software transfer up to a full-scale aircraft. I select the avionics, wire the hardware, author the firmware configuration, and write the autonomy software that runs on top of it.

The flight stack pairs a Pixhawk-class autopilot with an NVIDIA Jetson Orin companion computer over MAVLink, with an external compass, downward lidar, downward optical flow and a forward camera. The Jetson doubles as a full on-aircraft development environment — the toolchain and AI-assisted development run directly on the companion computer.

Defence-in-depth obstacle avoidance

The flagship feature is a layered avoidance architecture — a velocity-governed "safety pillow" so the vehicle can't be flown into an obstacle at any speed. Each layer stands on its own, and the higher-level logic lives on the companion computer so the autopilot remains an unmodified, certified-style safety core.

Layer 1

Flight-controller safety floor

Obstacle sensors wired directly into the autopilot, driving its native proximity / avoidance subsystem. Deterministic, and functional even if the companion computer drops offline.

ArduPilot AVOIDProximityDeterministic
Layer 2

Companion-computer perception

A depth-camera computer-vision pipeline builds a local 3D obstacle map on the Jetson and streams it to the autopilot as standard MAVLink obstacle messages at real-time rates.

Depth CV3D mapMAVLink
Layer 3

Velocity governor

A braking envelope grounded in stopping-distance physics shapes velocity setpoints so the aircraft always has room to stop — logging every intervention for post-flight review.

Braking envelopeSetpoint shapingTelemetry

I performed the sensor-suite gap analysis against the braking-envelope math and specified the hardware to close it — 360° scanning lidar, a forward depth camera and an upward rangefinder — after running trade studies on flight controllers and firmware stacks (ArduPilot vs PX4) with transferability to the full-scale build as the deciding criterion.

The governor in action

The autopilot below finds its own way to the landing pad — no pre-planned path, just goal-seeking guidance steering around the obstacles in its way — while the velocity governor clamps speed with v_max = √(2·a·(d−margin)) against the nearest hazard and the remaining distance to the pad. Every flight the field is re-randomized, and it plots a new route. Same physics as Layer 3 on the real aircraft.

MODE CRUISE D OBS V CMD 12.0 V MAX V ACTUAL 0.0

Autonomy features

Precision landing

  • AprilTag tracking
  • Onto a moving platform

Fault recovery

  • Motor-failure simulation
  • Autonomous recovery

Geofence cushion

  • Proximity "force field"
  • Refuses to cross the boundary

Trajectory optimization

  • AI-assisted, on-board
  • Runs on the Jetson

Disturbance rejection

  • Wind-gust rejection
  • Acoustic / vibration logging

Airframe design

  • Custom frame & mounts
  • Scripted CAD → STL → print

Flight stack & tooling

Pixhawk-class FCNVIDIA Jetson OrinArduPilotMAVLinkDepth CVScanning LidarOptical FlowRTK GPSPython

Working on something that flies?

I'm always happy to talk autonomy, avionics and the ML that powers them.

This page describes generic architecture and commodity hardware only — program specifics stay private.