The brief
Give Seasats’ uncrewed surface vessels an eye in the sky. A drone rides on the boat, launches on its own, flies out to identify objects in the water, and recovers itself back on the deck, with no one in the loop on either vehicle. The target grew over the summer: it started as a single aircraft launching from and landing on a Lightfish, and became a swarm deployed from a QuickFish.
A deck that never holds still
The landing pad is a small boat that pitches, rolls, and heaves with the sea state. That makes launch and recovery a coordinated behavior between two vehicles rather than an aircraft-only maneuver: the boat has to present a deck the aircraft can commit to, and the aircraft has to track it while it moves.
Keeping the aircraft cheap
The drones carry no onboard compute. Putting the computer on the boat keeps each airframe light, extends its range, and makes it inexpensive enough to lose. The trade is latency in both directions—video coming back from the FPV camera, and commands going out to the flight controller over a radio link instead of a wire. Most of the software work is about designing around that delay rather than pretending it isn’t there.
Structure that solves a thermal problem
I designed and prototyped several custom quadcopter airframes for the payload. The high-power digital video transmitters were failing thermally in flight, so the structural aluminum chassis was reworked to double as their heatsink. Conducting heat out through the primary structure removed the failure without adding fans, mass, or a separate bracket.
Landing on a moving target
Recovery uses a downward-facing camera, an AprilTag marker on the deck, and visual servoing on the tag pose. Because the frame reaching the boat-side computer is already old, poses are time-synchronized and aligned before they reach the controller, so the aircraft corrects toward where the deck is rather than where it was. The system reached a 92% landing success rate on moving vessels.
Simulation, then saltwater
Everything was validated in Gazebo SITL first, against the same PX4 flight code that runs on the aircraft, with a simulated boat and wave motion under the marker. Commands reach the vehicle through MAVSDK in offboard mode, where PX4 hands setpoint control to the boat. The rest was field work: managing BOMs across NDAA-compliant hardware tiers and running a tight loop of flight testing, repair, and re-flight.
