Running a Glider With The PX4 Flight Controller

There are a few open source autopilots available these days for quadcopters and fixed wing aircraft. Two of the most popular are ArduPilot and PX4, however neither is officially capable of working with unpowered aircraft. Despite this, [rctestflight] decided to run some experiments to see just how PX4 would fare when controlling a drone-launched shuttle glider.

The glider is a simple design built from foam board, controlled with two elevons, and fitted with a third servo to handle its release from the tow drone. It’s fitted with a Pixracer autopilot module and a Dragonlink telemetry link to the ground control laptop.

Initial testing was unsuccessful, with the drone ignoring return-to-home commands, and only responding to waypoints. After some further experimentation, performance improved. Testing and tweaking is the name of the game, and while the attempt to fly the glider into the back of the trailer failed, overall the project shows promise.

It’s impressive to see the glider tracing out perfect circles on the map under autopilot control. While it’s not officially supported, [rctestflight]’s work shows that it’s possible to run PX4 on a glider and have some success doing it. Future plans involve weather balloons and high altitude work, and we can’t wait to see the results.

PX4 has been used in a wide variety of projects, and can be used with even quite unusual aircraft. Video after the break.

12 thoughts on “Running a Glider With The PX4 Flight Controller

  1. Might be worth looking at ArduPilot as well. I used it for a glider for my senior design project, and build tons of multirotors with it. And you can use the same flight hardware.

  2. Ardupilot not only fully supports gliding, it even has a soaring library to do automatic thermalling! Ardupilot has two orders of magnitude more features than px4, supports waaaay more hardware and supports more vehicle types. Not sure why people think they even close to being equal.

    1. 1. ETH has done multi-day non-stop soaring with PX4 although I’m not sure whether they have released that particular code.
      2. At least few years ago PX4 had much more superior architecture where separate components ran as true separate NuttX (the OS used) processes. They even had written they own very fast IPC system.
      Whereas Ardupilot/copter had been running in single NuttX thread like some monolithic Arduino-like super-loop abomination. Whether that has changed, I don’t know.
      3. PX4 along with QGroundControl are licensed under non-copyleft licenses.

      Note: In (relatively) early days there were common GPL/LGPL licensed parts with Ardupilot. Relicensing and rewriting efforts arose but AFAIK/AFAIR (take it with a grain of salt) some parts of the most trivial code were copied 1:1 with a note that the source code text or represented algorithms were so basic and arose so naturally from context that any European court would not consider it a copy/theft. Which irked some (presumably US based) Ardupilot developers :D

      4. AFAIR there has been some advertisement about PX4’s VTOL code… that they don’t do mixing or switching between multicopter and airplane control algorithms but rather take VTOL as an airplane with thrust-vectoring and/or thrust-deflecting. (Could somebody verify this? It’s been been several years since I worked with PX4.)

      1. Your #3 explains why #1 is not in master. Non-copyleft encourages constant forking. GPL encourages pushing to back to upstream.
        Yes, #2 has changed. In fact, ArduPilot recognized early on that NuttX, while trying to be POSIX compatible, was totally unnecessary on an embedded system. They have moved on to ChibiOS which gives them more memory and much lower task switching overhead.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.