ardupilot
开源通用自动驾驶平台,支持无人机、无人车、无人船、潜水器等30+种载具,全球应用最广
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源通用自动驾驶平台,支持无人机、无人车、无人船、潜水器等30+种载具,全球应用最广
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:深夜的农田上方,一架无人机正按照预定航线自动喷洒农药;百米深的海底,一个水下机器人正顶着暗流稳稳悬停在目标区域;偏远的灾区,一架垂直起降固定翼正在投送物资——这些看似科幻的画面,背后都离不开同一个「大脑」:ArduPilot。
ArduPilot 的故事始于 2010 年,创始人 Andrew Tridgell(也是 Samba 项目的作者)希望为开源社区提供一个可靠、灵活的无人机飞行控制方案。十四年过去,这个项目已经从一个 C++ 爱好者项目,成长为支持 30+ 种车辆类型、工业级可靠性的开源飞控平台。
与 DJI 封闭生态不同,ArduPilot 完全开源,任何人都可以查看、修改、甚至商业使用其源码。全球超过 1000 家无人机公司和研究机构基于 ArduPilot 开发自己的产品,从农业植保、地理测绘,到救援搜救、海底探测,到处都有 ArduPilot 的身影。
ArduPilot 并不是一个单一的程序,而是一个「模块化固件平台」,包含四大核心固件:
ArduCopter(多旋翼无人机):支持四轴、六轴、八轴等多旋翼机型,提供自动悬停、定点飞行、航线规划、避障等功能。是农业植保和航拍领域最流行的开源飞控之一。
ArduPlane(固定翼无人机):支持常规固定翼、VTOL(垂直起降固定翼)、飞翼等多种布局。VTOL 模式可以像多旋翼一样垂直起飞,然后在空中切换为固定翼滑翔,大幅延长续航。
ArduRover(无人车/无人船):不仅控制无人机,ArduPilot 还能驱动无人车、无人船、水下滑翔机。Rover 固件在精准农业自动导航和海洋科考中应用广泛。
ArduSub(水下潜航器):支持 ROV(遥控水下航行器)和 AUV(自主水下航行器),可在水下 150 米甚至更深区域作业,配合灯光和机械臂,完成海底管道检测、沉船考古等任务。
这四套固件共享同一套底层框架(AP_HAL 硬件抽象层),保证核心算法一致,代码复用率极高。
ArduPilot 的代码库规模超过 300 万行 C++ 代码,采用分层架构:
硬件抽象层(AP_HAL):核心设计亮点——同一套上层逻辑,通过 HAL 接口适配 Pixhawk(STM32)、ESP32、Linux SBC(Raspberry Pi)等不同硬件平台。这意味着写一次飞控算法,可以在不同飞控板上运行。
EKF 滤波(扩展卡尔曼滤波):飞控最核心的算法之一,ArduPilot 实现了 AP_NavEKF2 和 AP_NavEKF3 两套滤波器,融合 GPS、气压计、磁力计、光流等多传感器数据,精确估计无人机位置和姿态。这是无人机能够「稳定悬停」的技术基础。
MAVLink 通信协议:ArduPilot 使用 MAVLink 与地面站通信,这是无人机行业的事实标准协议,几乎所有主流地面站软件(QGroundControl、Mission Planner)都支持 MAVLink。
ROS/ROS2 集成:项目内置 DroneKit-Python 和 ROS/ROS2 接口,方便与机器人操作系统集成,做更复杂的多机协同和感知决策。
代码质量方面,ArduPilot 通过 Coverity 静态分析、GitHub Actions CI 自动化测试、每日 autotest 回归测试(覆盖 Copter/Plane/Rover/Sub 四种固件)等多重质量保障,达到工业级标准。
ArduPilot 不是那种「下载即玩」的玩具。要让它真正飞起来,你需要:硬件飞控板(Pixhawk 系列约 100-500 元)、传感器(GPS、陀螺仪等)、地面站软件(QGroundControl)。安装过程涉及固件烧录、参数调参等步骤,有一定门槛。
不过,ArduPilot 拥有全球最完整的无人机开发者社区和文档体系。官方网站 ardupilot.org 提供 1000+ 篇技术文档,从「第一次让电机转起来」到「编写自定义飞控模式」,都有详细指引。对于嵌入式开发者来说,这是深入理解飞控原理的最佳实践平台。
如果你只是想体验飞控逻辑,可以使用 SITL(Software In The Loop)软件在环仿真,在电脑上模拟飞行,无需任何硬件。Dockerfile 提供了容器化的 SITL 环境,降低了入门门槛。
ArduPilot 的最大局限在于实时性能约束:作为运行在 MCU(STM32)上的固件,计算资源极为有限,无法运行复杂的 AI 感知算法。相比之下,NVIDIA Jetson + ROS2 的方案更适合端侧 AI 应用。
此外,由于社区分散在全球各地,版本维护依赖志愿者,响应速度和商业软件存在差距。对于有严格适航认证需求的场景(如载人 eVTOL),ArduPilot 目前还难以满足。
ArduPilot 的存在,本质上降低了无人机行业的创新门槛。没有 ArduPilot,就没有 2016-2019 年那波农业植保无人机的快速普及——当时大量植保无人机公司直接基于 Pixhawk + ArduPilot 快速推出产品,绕过了从零研发飞控的巨额成本。
截至 2026 年,ArduPilot 仍是 GitHub 上 Star 最高的飞行控制项目,支撑着全球价值数十亿美元的无人机产业生态。从这个角度看,它不仅是代码,更是开源硬件运动的一座里程碑。