最流行的开源飞控项目ArduPilot Mega(APM)介绍及发展历史

2023-05-16

ArduPilotMega (APM) 是市面上最强大的基于惯性导航的开源自驾仪
特性包括:
  • 免费开源固件,支持飞机("ArduPlane"),多旋翼 (四旋翼, 六旋翼, 八旋翼等), 直升机("ArduCopter")和地面车辆("ArduRover")!
  • 通过点击式的工具简单设置和上传固件。无须编程!(但是你想搞搞代码的话,可以使用简单的嵌入式编程工具: Arduino)
  • 通过点击式的桌面程序完全的规划任务脚本
  • 可以支持上百个三维航点
  • 使用强大的 MAVLink 协议,支持双向遥测和飞行中控制命令T
  • 多种免费地面站,包括 HK GCS, 支持任务规划,空中参数调整,视频显示,语音合成和完整的带回放的数据记录
  • 跨平台。支持Windows, Mac 和 Linux。在 Windows 下使用图形任务规划设置工具 (Mac 下可用模拟器) 或在任何操作系统下使用命令行界面。三种操作系统上都有可用的地面站程序。基于 Arduino 编程环境,也是完全跨系统的。
  • 自动起飞,降落和特殊的动作命令,例如视频和照相控制
  • 完整支持 Xplane 和 Flight Gear 半硬件仿真
  • 包括继电器,可以触发任何设备,可以根据任务脚本控制
  • 硬件包括:
    • 三轴陀螺仪
    • 三轴加速度计
    • 测量高度的空气压力传感器
    • 10Hz GPS 模块
    • 监视电池状态的电压传感器
    • 4Mb板上数据记录存储器。任务数据自动记录,并可以导出为 KML 格式
    • 内建硬件失效处理器,在失控时可以返回出发点
    • (可选) 三轴磁力计
    • (可选) 空速传感器
    • (可选) 电流传感器


Ardupilot历史


2007年5月 – 克里斯·安德森用乐高 mindstorm搭建无人机时,建立了 DIYDrones.com .


2008年9月– Jordi 制作了一个可以自动飞行的传统直升机无人机并赢得了第一届Sparkfun AVC大赛.


2009年 – 
克里斯·安德森和Jordi Munoz 成立了3D Robotics(3DR)


2009年5月 – Jordi/3DRobotics 发布了第一款Ardupilot板子 (使用红外温度传感器)


2009年11月 – Jordi创建了ardupilot代码仓库


2009年11月 – Jordi, Doug Weibel, Jose Julio编写了第一版使用William Premerlani的DCM算法的ArduIMU


2009年11月 至 2010年2月 – Jason从头开始重写了 (v2.5),包括了使用中断驱动的遥控信号输入, 遥控油门保护, 返航, 悬停, 绕圈, 垂直航路修正, 更佳的稳定性, 全数字电传操纵, 系统事件, 四通道RC输出, 2线通信的数传. (Post)


2009年12月 – Doug 推出了改善了的 Ardupilot v2.4,第一次支持基于IMU的飞行器任务飞行


2010年 – 3d Robotics 推出了APM1


2010年初 – Doug and Jason 发布了Ardupilot 2.6 ,改善了油门控制, 支持ArduIMU


2010年夏天 – APM Code development:

  • Jason – 任务脚本, 飞行模式, 导航
  • Jose – 代码库, DCM, and 硬件传感器支持
  • Doug – 高级飞行控制, 飞行日志记录, DCM
  • MikeS – 参数, CLI, 高速串口, 高级硬件优化



2010年5月 – Ardupilot合并了AeroQuad (包括Jani Hirvinen) ,开始在ArduCopterNG(海盗)进行工作。


2010年6月 – APM 1 在SW上实现了自主任务脚本飞行


2010年6月 – APM1首次让固 * 翼飞机实现了自主飞行


2010年6月 – Jason 开发了可以在Xplane上运行的基于Perl的半实物仿真,来测试新的APM任务脚本命令 (后来整合进了Mavlink)

2010年8月 – Jani/jDrones 收到了一款作为原始标准的四轴飞行器机架DIY套件


2010年十月 – ArduCopterNG (AeroQuad/ArduCopter 合并后的代码) 工程被Ardupilot团队放弃了,移交给了 ArduPirates 团队以得到更长远的发展. Jason在ArduPlane的基础上使用另一种控制逻辑重写了ArduCopter,使其更加自主化。增加了悬停模式, 绕圈模式, 返航, 任务脚本, 失控保护, 起飞, 降落, 等等.


2010年8月 – Michael Oborne发布了Mission Planner


2010年8月 – Randy增加了对TradHeli 的支持


2010年12月– 从初始的ArduCopterNG的代码上进行了扩展的MegaPirates成为了ardupilot第一个成功的分支


2011年4月 – Jason在Sparkfun AVC上实现了 Arducopter的第一次完全自主任务飞行


2011年 – 3D Robotics发布了APM2


2011年11月 – Tridge创建了AutoTester


2012年 – 3D Robotics发布了APM2.5/2.6


2012年2月 – Jason让Randy来接管并成为了Arducopter的首席开发者, Doug离开了团队去获取他的博士学位而Tridge接管了ArduPlane


2012年2月 – Marco Robustini加入并领导ArduCopter的测试者


2012年7月 – 苏黎世联邦理工学院(Lorenz Meier,MikeS) / 3D Robotics发布了PX4


2012年8月 – Pat Hickey 简化了硬件抽象层 (AP_HAL) 并增加了对其它板子的支持


2012年10月 – Rob Lefebvre实现了TradHeli的第一次自主任务飞行


2012年10月– Tridge and CanberraUAV 使用APM2 & Pandaboard赢得了Outback无人机挑战


2012年11月 – 第一款APM2.5的山寨版出现了


2012年12月 – Randy and Leonard 在ArduCopter(AC2.9)中加入了基于惯导的高度自动控制,得益于Jonathan Challinger成功设计出了3阶互补滤波器的原型


2013年1月 – ardupilot的代码从googel code搬到了github


2013年1月/2月 – 安卓版的地面站出现了 (Arthur的DroidPlanner Kevin Hester的AndroPilot)


2013年4月 – Paul Riseborough, Brandon Jones, Tridge编写了ArduPlane的基于L1控制器的航点飞行


2013年5月 – Leonard and Randy 为ArduCopter的航线飞行加入了惯性导航的支持(AC3.0)


2013年7月 – Paul Riseborough, Tridge给ArduPlane整合进了速度和高度控制


2013年9月 – Mike McCauley, Tridge增加了对Flymaple板子的支持


2013年11月 – ETH (Lorenz Meier,MikeS) / 3D Robotics发布了Pixhawk


2014年1月 – Paul Riseborough, Tridge增加了扩展卡尔曼滤波器(EKF),使飞控能得到更加可靠的姿态和位置信息


2014年5月 – Emile Castelnuovo and Tridge增加了对VRBrain板的支持


2014年8月 – 首次实现了ArduPlane基于Linux控制板的飞行 (PixhawkFire)


2014年9月 – Tridge & Canberra无人机使用了基于arduplane的固* 翼无人机赢得了Outback挑战 (Tridge’s debrief).


2014年10月 – 开源无人机项目DroneCode启动


2014年10月 – 第一个有关ArduPlane的报道:在佛罗里达州被成功使用于搜救,包括搜寻一架失踪的轻型飞机


Note: 上述列表包括了许多项目的重要里程碑事件。更完整的项目贡献者的列表请到ArduCopter.pde 或GitHub contributors graph查看




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最流行的开源飞控项目ArduPilot Mega(APM)介绍及发展历史 的相关文章

  • ArduPilot-sitl仿真-Mission Planner联合显示

    ArduPilot sitl仿真 Mission Planner联合显示 To start the simulator first change directory to the vehicle directory For example
  • 无人机ADS-B模块 (兼容Px4、ardupilot、极致飞控)拒绝黑飞,耗子尾汁!

    近年来 xff0c 无人机等低空飞行器成为很多玩家的新 玩具 xff0c 但是绝大多数飞行器都属于 黑飞 xff0c 就是没有民航管理部门的适航许可 也没有相关部门颁发的驾驶执照的 2018年2月7日 xff0c 河北省唐山市古冶区公安分局
  • APM配置

    开源飞控apm配置研究 项目介绍引言配置之前的文件准备我的配置过程配置文件链接小结 项目介绍 项目 xff1a 自动驾驶无人船 是老师的一个课题 xff0c 我们负责控制算法相关 当然 xff0c 也免不了要搬砖 做之前老师说 xff0c
  • APM、PIXHAWK、PX4的关系

  • APM飞控SITL仿真环境 修改初始地理位置

    APM飞控SITL仿真环境 初始化设置 最近在sitl仿真时遇到了一个问题 xff0c 默认情况下仿真飞机的初始位置位于南半球 xff0c 而使用的国内卫星地图大多不提供中国以外地区的卫星地图 xff0c 所以希望设置仿真飞机的初始位置位于
  • APM-SITL Gazebo MAVROS 仿真

    1 配置APM SITL环境 1 下载安装Ardupilot 参考链接 xff1a 官方教程 注意 xff1a 文件install prereqs ubuntu sh路径在 ardupilot Tools environment insta
  • Ardupilot与T265配置

    摘自 xff1a https www jianshu com p ce91fdec7235 我现在发现这篇文章的原文在这 https www cnblogs com hellocxz p 12104290 html Ardupilot与T2
  • 无人机飞控平台ArduPilot源码入门教程 - 首页

    原文链接 简介 ArduPilot代码库有点大 核心的ardupilot git树大概有70万行代码 对新人来说这有点吓人 这个文档打算给出一点建议 关于如何快速上手相关代码 我们假设你熟悉C 43 43 的关键概念 另外好多例子都是假设你
  • 浅谈APM系列-----update_flight_mode(ModeAltHold)

    update flight mode xff08 ModeAltHold xff09 这里只看ModeAltHold 位置 xff1a X ardupilot ArduCopter mode cpp update flight mode c
  • APM与Pixhawk间的关系

    1 APM 本文APM指代 xff1a https github com ArduPilot ardupilot 2 Pixhawk 本文Pixhawk指代 xff1a https github com PX4 Firmware 3 关系
  • win7下 pixhawk (ardupilot) 的编译

    前几天都在搞pixhawk源码编译问题 xff0c 什么在window下用Console或者eclipse xff0c 还是在Ubuntu下 xff0c 都做了 xff0c 而且把 mk文件都看了 xff0c 结果还是有bug 总结一下三种
  • Ardupilot添加自定义日志(AP_LOG)

    1 在libraries AP Logger LogStructure h中添加自定义的结构体 span class token keyword struct span span class token class name PACKED
  • APM飞控学习之路:4 源码裁剪与下载

    月盈则亏 xff0c 水满则溢 当博主编译完成 xff0c 以为离成功更近一步准备下载的时候 xff0c 殊不知陷阱也早已准备好 xff0c 等待我的踏入 连上USB线 xff0c 下载 xff0c timeout xff0c timeou
  • Ardupilot飞控编译环境搭建

    构建环境 Ardupilot具有完整的开发库 xff0c 其编译代码可以直接下载 xff0c 在Windows上 xff0c 可以利用Cygwin编译器来进行下载并编译 xff0c 对此怒飞垂云的教程中有详细的下载方法 xff1a 飞控固件
  • Ardupilot-SITL仿真模拟调试

    1 配置SITL仿真调试 span class token punctuation span span class token operator span waf configure span class token operator sp
  • 在ubuntu20.4下安装ardupilot 4.3.6

    这次重新安装真的是遇到了好多坑啊 xff01 从github上靠过来按照之前的那篇文章流程做完之后 xff0c 还会有一些别的问题 首先是module里面的包都没有拷过来 xff0c 所以需要用git add将文件都添加过来 之后进行编译时
  • APM中电机输出分析

    一 APM类分析 老规矩 xff0c 先上类图 xff08 1 xff09 如图 xff08 1 xff09 所示 xff0c AP Motors是大部分电机类的父类 xff0c 是AC AttitudeControl姿态控制类的保护型成员
  • zipkin接入mysql【windows】

    java jar zipkin jar 这种方式启动数据是保存在内存中的 下面我们配置一下将数据保存到mysql中 创建数据库 CREATE DATABASE zipkin 创建表结构 表结构内容参考以下连接 https github co
  • 百度商业大规模微服务分布式监控系统-凤睛

    导读 作为凤睛早期的接入方 后期的核心成员 笔者经历了整个项目前后四年的变迁 看过项目的艰难开端 中期的默默积累以及后期的蓬勃发展 每一次架构的变迁都带着技术浪潮的烙印 也看到项目成员利用有限资源来解决实际问题而持续不断的创新 凤睛是百度商
  • ardupilot开发 --- 避障篇

    避障的类型 空中防碰撞ADSB 主要是防止与其他飞行器的碰撞 避障 防止与天花板地板障碍物的碰撞 实现避障必要的传感器 ADSB receivers Rangefinders or Proximity Sensors or Realsens

随机推荐

  • gitee(码云)和gitHub的区别

    1 gitee与gitHub概念 xff1f Gitee xff08 码云 xff09 是开源中国社区推出的代码托管协作开发平台 xff0c 支持Git和SVN xff0c 提供免费的私有仓库托管 Gitee专为开发者提供稳定 高效 安全的
  • 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

    郭孟琦 43 原创作品转载请注明出处 43 Linux内核分析 MOOC课程http mooc study 163 com course USTC 1000029000 首先我选择的系统调用是122号系统调用 uname 简单的介绍一下un
  • 局域网共享文件夹加密(100%成功版本)

    文章目录 一 创建新用户1 右键此电脑选择管理2 点击本地用户和组3 点击用户A 右键空白区域选择创建新用户B 设置用户名和密码C 取消勾选用户下次登录时须更改密码D 勾选用户不能更改密码和密码永不过期 二 创建共享文件夹1 创建一个新文件
  • STM32PWM--基于HAL库(第十三届蓝桥杯嵌入式模拟题)

    文章目录 前言一 CubeMX配置 第十三届模拟题完整版 二 代码相关定义 声明1 函数声明2 宏定义3 变量定义 三 主要函数1 按键扫描2 配置模式3 LCD显示4 频率检测 TIM2输入捕获中断函数 5 PWM输出 TIM3 6 Ma
  • STM32综合-基于HAL库(第十二届蓝桥杯嵌入式省赛)

    文章目录 前言一 CubeMX配置 第十二届省赛完整版 二 代码相关定义 声明1 函数声明2 宏定义3 变量定义 三 主要函数1 按键扫描2 串口接收中断 定时器中断 接收 3 数据解析4 判定数据正误5 数据更新6 结算7 Main函数
  • STM32RTC秒中断--基于HAL库(一文看懂如何配置并使用)

    文章目录 前言一 CubeMX配置 RTC相关 1 使能RTC xff1a 2 进制配置 xff1a 3 初始时间配置 xff1a 4 日期配置 5 闹钟配置 二 代码1 获取时间2 设置闹钟3 闹钟中断函数 三 实验结果总结 前言 相关说
  • STM32LCD--基于HAL库(选中高亮?一文看懂如何玩转高亮显示)

    文章目录 前言一 LCD上的坐标这个坐标是怎么确定的 xff1f X轴Y轴 二 高亮显示类型三 部分真题要求解析四 如何高亮显示选中数据五 代码分析总结 前言 相关说明 xff1a 开发板 xff1a CT117E M4 STM32G431
  • STM32MP157实现串口接收数据上云-MP157串口测试

    文章目录 前言一 需要软件二 minicom配置三 功能选择四 发送数据结语 前言 本篇分享 xff1a 这次将会用几篇博客分享STM32MP157实现串口接收数据上云的一个基础功能 xff0c 实现STM32MP157的串口在接收到数据时
  • STM32MP157实现串口接收数据上云-云数据库存储多设备数据&界面显示实现

    文章目录 前言一 软件安装二 代码改进1 串口接收2 JSON数据解析 三 云产品流转1 作用2 自定义产品功能 amp 添加设备3 创建数据传输规则 四 MYSQL操作五 NODE RED操作1 总体思路2 安装节点3 节点配置4 页面布
  • TX2

    目录 1 Jetson TX2简介2 使用前准备2 1显示2 2控制2 3电源2 4开机2 5系统2 6使用图形界面2 7系统更新 xff0c 安装模块3 对外接口 xff1a 4 软件包配置JetPack4 1使用JetPack 5 TX
  • Linux应用编程-音频应用编程-语音转文字项目

    文章目录 前言Linux语音识别alsa lib简介 xff1a 安装alsa lib库 xff1a libcurl库简介 xff1a 安装libcurl库 xff1a API调用录音相关概念样本长度 xff08 Sample xff09
  • STM32MP157-QT-串口调试助手设计

    文章目录 前言STM32MP157串口调试助手widget uipro文件widget h头文件槽函数成员声明 widget cpp头文件扫描串口并添加到下拉列表串口配置参数获取配置参数 打开 关闭串口读取数据信号读数据函数代码 发送数据清
  • Linux-VIM使用

    文章目录 前言VIM使用1 切换模式2 跳转 1 跳转到指定行 2 跳转到首行 3 跳转到末行 3 自动格式化程序4 大括号对应5 删除 xff08 1 xff09 删除一个单词 xff08 2 xff09 删除光标位置至行尾 xff08
  • JAVA学习记录

    文章目录 前言Pta做题样例做题样例 命名规范 amp 代码风格基本数据类型基本语法类变量类函数关系运算 浮点数 xff08 实型 xff09 数组Java定义数组Java程序遍历整个数组使用FOR EACH循环输出整个数组 循环使用对象字
  • STM32G431-基于HAL库(第十四届蓝桥杯嵌入式模拟题2)

    文章目录 前言一 CubeMX配置 第十四届模拟题2完整版 二 代码相关定义 声明1 函数声明2 宏定义3 变量定义 三 主要函数1 按键扫描2 各参数控制3 LCD显示4 输出信号改变5 串口接收6 Main函数 四 实验结果1 数据页1
  • 线性控制理论纵横

    线性控制理论是系统与控制理论中最为成熟和最为基础的一个组成分支 xff0c 是 现代控制理论的基石 系统与控制理论的其他分支 xff0c 都不同程度地受到线性控制 理论的概念 方法和结果的影响和推动 线性系统理论的研究对象为线性系统 xff
  • 非线性控制理论的发展

    人类认识客观世界和改造世界的历史进程 xff0c 总是由低级到高级 xff0c 由简单到复 杂 xff0c 由表及里的纵深发展过程 在控制领域方面也是一样 xff0c 最先研究的控制系统 都是线性的 例如 xff0c 瓦特蒸汽机调节器 液面
  • 如何正确使用电烙铁

    焊接技术是一项无线电爱好者必须掌握的基本技术 xff0c 需要多多练习才能熟练掌握 1 选用合适的焊锡 xff0c 应选用焊接电子元件用的低熔点焊锡丝 2 助焊剂 xff0c 用25 的松香溶解在75 的酒精 xff08 重量比 xff09
  • 2.13 STM32 串口传输最佳处理方式 FreeRTOS+队列+DMA+IDLE (一)

    当多个串口数据都有大量数据来时 我们如何最佳处理STM32串口通信数据 可以通过FreeRTOS 队列的发送方式 下面将串口DMA发送处理过程 中心思想 1 建立一个大的环形数组 2 发送的数据时 将数据存入到大的数组 3 需要发送数据的长
  • 最流行的开源飞控项目ArduPilot Mega(APM)介绍及发展历史

    ArduPilotMega APM 是市面上最强大的基于惯性导航的开源自驾仪 特性包括 免费开源固件 xff0c 支持飞机 xff08 34 ArduPlane 34 xff09 xff0c 多旋翼 四旋翼 六旋翼 八旋翼等 直升机 xff