Skip to content

Open-Source Drone Frameworks Beyond PX4 (URC Delivery Drone)

Source

  • Type: local-file
  • Path: /home/tyler/.openclaw/workspace/open_source_drone_frameworks_urc_research.md
  • Bytes: 11707
  • Updated: 2026-08-09T04:17:19.085Z

Content

# Open-Source Drone Frameworks Beyond PX4 — for URC Delivery-Mission Drone
*Generated: 2026-08-08 | Sources: live GitHub API pulls + web search | Confidence: High on star/repo data, Medium on "what past URC teams actually used" (no public system papers found)*

## Context
Saddleback College Robotics is evaluating an aerial vehicle to assist the rover's **Delivery Mission** at the University Rover Challenge (Mars Society, MDRS, Utah) — a drone is optional but scores extra if it helps deliver objects to astronauts across rugged terrain. This is a GPS-available, outdoor, short-range, precision-delivery use case — different from the agriculture/heavy-payload drone researched earlier (`chinese_heavy_lift_drone_research.md`), where PX4 was ruled out as too exploration/survey-oriented.

## Executive Summary
**ArduPilot** is the strongest PX4 alternative: more GitHub stars, longer track record, GPL-governed independent community, and — critically — its **precision-landing pipeline (companion computer + ArUco marker + MAVLink `LANDING_TARGET`)** is a near-exact match for a "drop payload at a marked delivery point" task. For higher-level autonomy/mission logic, layering **MAVROS + ROS 2** (or the more opinionated **Aerostack2**) on top of either ArduPilot or PX4 is the standard way teams add custom behavior without touching flight-controller firmware. Betaflight/INAV are real projects but are the wrong tool for this job — they're built for manual/racing control, not autonomous missions. No public system paper from a specific past URC team's drone was found, so that part of the brief is unverified — flagged below.

## 1. ArduPilot — the direct PX4 alternative

| Metric (live, 2026-08-09) | Value |
|---|---|
| GitHub stars | **15,648** |
| Forks | 21,183 |
| Open issues | 3,099 |
| Language | C++ |
| License | **GPL-3.0** |
| Last push | 2026-08-09 (active same-day) |

- Launched 2010, now covers ArduCopter, ArduPlane, ArduRover, ArduSub under one codebase — same repo you'd already be looking at if the team later wants the rover itself running open-source autonomy.
- Governed by an independent board (not a single vendor/foundation like PX4's Dronecode/Linux Foundation setup) — GPL-3.0 means any derivative work stays open, which is a non-issue for a student competition team (no commercial IP concern) but worth knowing if code gets reused elsewhere.
- **Why it fits URC better than PX4 here:** ArduPilot's **companion-computer + precision-landing** pipeline is a first-class, heavily documented use case — a companion computer (Raspberry Pi or Jetson) runs vision (e.g. ArUco marker detection), streams `LANDING_TARGET` MAVLink messages at 10–50 Hz, and ArduPilot autonomously corrects final approach onto/over the marker. That's essentially the exact mechanic needed to reliably drop a delivery payload at a marked target next to the astronauts, rather than PX4's stronger-but-less-relevant strengths in survey/mapping missions ([ArduPilot Precision Landing docs](https://ardupilot.org/copter/docs/precision-landing-with-irlock.html), [Landmark Landing ArUco writeup](https://landmarklanding.com/blogs/landmark-lab-notes/ardupilot-precision-landing)).
- Turnkey companion-computer hardware exists specifically for this: **PixC4-Jetson** and **PixC4-Pi** are FMUv5 flight controllers tightly integrated with an Nvidia Jetson or Raspberry Pi 4 compute module, purpose-built for ArduPilot + companion-computer projects ([ArduPilot turnkey companion computer docs](https://ardupilot.org/dev/docs/turnkey-companion-computer-solutions.html)).
- Full MAVLink support (same protocol as PX4), so ground-station tooling (QGroundControl, Mission Planner) and ROS 2 bridging (MAVROS) work identically either way.

## 2. Betaflight / INAV — real, but wrong category

| | Betaflight | INAV |
|---|---|---|
| GitHub stars | 11,326 | 4,174 |
| Forks | 3,952 | 1,883 |
| License | GPL-3.0 | GPL-3.0 |
| Last push | 2026-08-06 | 2026-08-05 |

- Both are FPV-racing/freestyle-derived firmware. Betaflight is pure manual-flight performance firmware (rate loops, blackbox logging, DShot) with no native autonomous-mission layer. INAV adds GPS-assisted navigation and waypoint missions on top of the Cleanflight lineage, so it's the more mission-capable of the two — but it's still built around small, high-agility racing/freestyle airframes, not a payload-carrying delivery platform with companion-computer autonomy.
- **Verdict:** don't build the URC delivery drone on either of these. If the team also wants a cheap FPV trainer/scouting quad on the side, INAV is worth a look — but not as the mission drone's core.

## 3. ROS 2 layer on top of ArduPilot/PX4 (this is where custom mission logic actually goes)

Neither ArduPilot nor PX4 alone gives you "search for the delivery marker, plan a path, decide when to drop payload" — that logic lives one layer up, in a companion computer running ROS 2. Three real options, in order of how directly relevant they are:

**MAVROS** — [mavlink/mavros](https://github.com/mavlink/mavros), **1,206 stars**, C++, actively pushed 2026-08-08.
The standard, unopinionated MAVLink↔ROS 2 bridge. Turns any MAVLink autopilot (ArduPilot or PX4, doesn't matter which) into ROS 2 topics/services (telemetry in, arm/mode/mission commands out). This is the baseline you'd use regardless of which higher-level framework (or no framework) you build on top.

**Aerostack2** — [aerostack2/aerostack2](https://github.com/aerostack2/aerostack2), **368 stars**, C++/BSD-3-Clause, pushed 2026-08-07.
A full ROS 2 (Humble) framework specifically for building autonomous aerial mission logic — modular, platform-independent (works over PX4 or ArduPilot via their abstraction layer), designed for exactly the kind of "give the drone a mission plan and let it fly/behave autonomously" logic a delivery task needs. Academically published (Fernandez-Cortizas et al., 2023, arXiv:2303.18237), Docker images available for fast setup. Smaller community than MAVROS but purpose-built rather than generic — worth prototyping with since it saves writing mission-state-machine code from scratch.

**Crazyswarm2** — [IMRCLab/crazyswarm2](https://github.com/IMRCLab/crazyswarm2), **246 stars**, Python/MIT, pushed 2026-08-06.
Not relevant here — it's specifically for Bitcraze Crazyflie micro-quads and swarm coordination, tied to Crazyflie's own (non-ArduPilot/PX4) flight stack. Ruled out for a custom single delivery-drone build.

## 4. Other notable open-source stacks (breadth check)

| Project | Stars | Notes |
|---|---|---|
| [Paparazzi UAV](https://github.com/paparazzi/paparazzi) | 1,705 | GPL-2.0, C. Academic-origin (2003), mature, supports fixed-wing/rotorcraft/hybrid from 12g–25kg vehicles. Real but much smaller community and less companion-computer/ROS 2 tooling maturity than ArduPilot/PX4 — more of a research platform than a "pick this and go" option. |
| [MAVLink core protocol](https://github.com/mavlink/mavlink) | 2,386 | Not a flight stack itself — the wire protocol ArduPilot, PX4, and most GCS/companion-computer tooling all speak. Relevant as shared infrastructure, not a framework choice. |
| [dRonin (dRoninFlight fork)](https://github.com/dRoninFlight/dRonin) | 1,509 | OpenPilot/Tau Labs lineage, actively pushed as of March 2026. Smaller ecosystem, worth knowing exists but not a strong pick over ArduPilot for a competition team wanting documentation and community support. |
| OpenPilot | 616 | **Dead** — last push 2015. Do not build on this; listed only because it shows up in "awesome" lists. |

## 5. Past URC teams' drone choices — unverified

I could not find a public system paper, GitHub repo, or writeup from a specific past URC team documenting their delivery-mission drone's flight-stack choice. General search only surfaced ArduPilot/PX4 documentation and forum threads, not a named team's build. **Flagging this as an open gap** — if you want, I can try a more targeted pass searching individual team names (e.g. via the URC results/team list) or Chief Delphi-style forums specific to URC rather than general web search, since that's a narrower, harder-to-search corpus than FRC's.

## Recommendation

For a competition-grade, custom delivery-assist drone (not agriculture, not FPV racing):

1. **Flight stack: ArduPilot** (Copter) — more stars/community than PX4, GPL/independent governance is a non-issue for a student team, and its precision-landing-on-a-marker pipeline is a direct fit for "deliver payload to a marked point."
2. **Mission/autonomy layer: MAVROS + Aerostack2 on ROS 2** — MAVROS as the always-needed MAVLink bridge, Aerostack2 on top if the team wants a structured framework for mission state machines rather than writing one from scratch. Both are ROS 2 Humble-compatible and platform-agnostic, so switching to PX4 later wouldn't mean a rewrite.
3. **Companion computer:** Raspberry Pi 4/5 or Jetson Nano/Orin Nano running the vision (ArUco/marker detection) + Aerostack2/MAVROS stack, paired with a Pixhawk-class flight controller — ideally a turnkey combo board (PixC4-Pi or PixC4-Jetson) to skip the wiring/integration overhead.

## Sources
1. [ArduPilot GitHub](https://github.com/ArduPilot/ardupilot) — live star/license/activity data
2. [PX4 GitHub](https://github.com/PX4/PX4-Autopilot) — live star/license/activity data
3. [Betaflight GitHub](https://github.com/betaflight/betaflight) — live star/license/activity data
4. [INAV GitHub](https://github.com/iNavFlight/inav) — live star/license/activity data
5. [Aerostack2 GitHub](https://github.com/aerostack2/aerostack2) — live star/license/activity data, [docs](https://aerostack2.github.io/)
6. [MAVROS GitHub](https://github.com/mavlink/mavros) — live star/license/activity data
7. [Crazyswarm2 GitHub](https://github.com/IMRCLab/crazyswarm2) — live star/license/activity data
8. [Paparazzi UAV GitHub](https://github.com/paparazzi/paparazzi) — live star/license/activity data
9. [MAVLink protocol GitHub](https://github.com/mavlink/mavlink) — live star/activity data
10. [dRoninFlight/dRonin GitHub](https://github.com/dRoninFlight/dRonin) — live star/activity data
11. [OpenPilot GitHub](https://github.com/openpilot/OpenPilot) — confirmed inactive since 2015
12. [University Rover Challenge — Mars Society official rules Q&A](https://urc.marssociety.org/home/requirements-guidelines/qa) — confirms drone is optional aid for Delivery Mission
13. [ArduPilot Precision Landing docs](https://ardupilot.org/copter/docs/precision-landing-with-irlock.html)
14. [ArduPilot turnkey companion computer solutions](https://ardupilot.org/dev/docs/turnkey-companion-computer-solutions.html)
15. [Landmark Landing — ArduPilot Precision Landing with Raspberry Pi + ArUco](https://landmarklanding.com/blogs/landmark-lab-notes/ardupilot-precision-landing)
16. [ThinkRobotics — PX4 vs ArduPilot Complete Comparison Guide](https://thinkrobotics.com/blogs/learn/px4-vs-ardupilot-complete-comparison-guide-for-drone-developers)
17. [awesome-open-source-drone-firmware](https://github.com/awesomelistsio/awesome-open-source-drone-firmware) — curated list cross-reference

## Methodology
Pulled live GitHub API data (`api.github.com/repos/...`) for star counts, forks, license, and last-push date on 2026-08-09 for all named repos — search-snippet star counts from blog posts were cross-checked and superseded by this live data where they disagreed. Ran ~8 web searches across flight-stack comparisons, ROS 2 aerial autonomy frameworks, and URC-specific drone documentation. Could not verify what flight stack any specific named past URC team used (flagged as a gap, not fabricated).

Notes

Referenced By