Paparazzi:软硬件全开源的无人机飞控系统
Paparazzi(PPZ) 是一个软硬件全开源的项目,它始于2003年,旨在通过来自社区的意见和 鼓励建立一个非常强大和灵活的自动驾驶系统。
它是一整套完整成熟的解决方案,内容不仅覆盖 了飞行器上的软硬件,包括传感器,电压调节器,GPS 接收机、自动驾驶软件及算法;同时也 包括地面站相关软硬件,包括各种调制解调器,天线等设备;同时,它还有一个不断进化的用户 友好的地面控制站软件。
PPZ 装备的无人机的体系结构如上图所示,可以理解为在普通飞行器(普通航模)和航模标配 的遥控单元上,加装自动飞控板、相关传感器、无线 Modem,同时配置地面控制站(PC、调 制解调器、天线),让飞行器最后实现自动驾驶飞行或者接受地面站的指令自主调整姿态飞行。
PPZ 系统的关键特性是使用红外线感应器和飞行姿态惯性测量传感器,通过计算来提供强大而 准确的姿态估计,让飞行器不需要地面手动控制校准,即能自动调整飞行状态。控制者只需要在 地面站上给飞行器设定任务,剩下的则交给飞行器则自己去完成。所有的飞控、导航、姿态调整、 任务执行等工作等,都是由飞控板全自动完成。当然,地面人员也可以随时在自动控制和手动控 制两种状态间自由切换。
灵活的 PPZ
通过不同的设置,PPZ 既可以用于驱动固定翼飞机,也可以用于旋翼机。下图以一台固定翼飞 机为例,说明装配 PPZ 飞控仪的飞机的机舱布局图,当然不同的情况可以有调整,配置也丰简 由人。
Autopilot Control Board 自动控制板
Battery 电池
Datalink Radio-Modem & Antenna 数据传输调制解调器和天线
GPS Receiver GPS 接收机
IR Sensor Board (if no IMU) 红外传感板(如果没有 IMU)
Motor & Controller 马达和控制器
RC Receiver & Antenna 遥控接收器和天线
Servos 伺服系统
Payload (Example: Camera & Video Transmitter) 负载(诸如摄像机、视频传输)
PPZ 的灵活性体现在它可以根据用途特点和侧重点(飞行速度、飞行距离、滞空时间、负载能 力、价格),选择不同的飞行器,配置不同的飞控板、传感器、通讯模块和外设。
它的飞控板并不仅有一个单一的型号,通过多年的发展和进化,PPZ 的飞控板共衍生出了十几 款型号。这些飞控板在不同的年代被设计出来,不断完善进化,并出于不同的目的增减板载接口 和模块从而派生出不同的型号。比如2013年夏季为发布的 Lisa/S 型飞控板,只有2.8克的重量, 成为全球最轻的通用飞控板。与之相关的,PPZ 有一个很大的硬件兼容列表,涵盖不同厂家的 各种模块,诸如传感器(红外,陀螺仪,GPS,惯性测量,空速)、调制解调器、遥控器、模拟 /数字视频系统、天线等。
类似装配台式电脑,用户可以完全根据自己的需求选择相关配置,建成一套地空无人机系统,而 配置则可以异常灵活。以通讯模块为例:如果你只是在视距范围内玩玩,可以省略 GPS,配置 短距离的2.4G 调制解调器,纯手动控制;如果想实现远距离的完全自主驾驶,则可以配置 GPS加上远距离无线调制解调器实现飞行数据回传和控制;又如果在电信运营商信号覆盖的区域内 玩,则可以用3G 通讯模块传输数据给地面站。
除了使用硬件列表上的设备外,PPZ 的大部分型号飞控板还有 GPIO 接口,因此可以通过编程 来控制外接设备。最常见的例子,就是控制外挂相机进行航拍。
所有的配置数据,都在设计和装配调试无人机的时候,通过一个管理中心的系统(Paparazzi Center)进行配置,并以 xml 文件的形式保存。
强大的 PPZ
图为 PPZ 地面控制站(GCS)软件界面,可以看到卫星地图,飞机的飞行计划以及实际飞行轨 迹,飞机的实时姿态数据,以及各种控制按钮。
PPZ 是一个开源的项目,它的强大来自于全球各地的无人机爱好者和一些大学研究机构的贡献。 在我刚开始搜索 PPZ 资料时候,偶尔看到被提及“卡尔曼滤波”以及“四元数算法”等。呃, 那些名字真的看不懂是啥玩意儿,但是我知道它们肯定都很厉害而且已经在 PPZ 上被实现。不 过我还是做了相关搜索,这些都是用于自动驾驶以及飞行姿态调整的牛逼算法。PPZ 为了适用于飞行器的各种姿态调整,做了很高标准的实现。而其中有些功能,在某些商业公司卖的飞控上 都没有实现(可能觉得飞机不会在倒着飞的时候突然切换控制权)。
PPZ 不同于普通的纯粹以代码为中心的开源软件项目,它不仅利用 github 托管代码和硬件原理 图 CAD 设计稿等设计资料。成功将 PPZ 跑起来需要主板与各种外围传感器、舵机马达的适配、 矫正、调试,以及为航空载机做恰当的参数设定,这需要一定的经验。PPZ 把它的主网站构建 成为一个 WIKI,使得任何人都可以注册帐号后上去编辑和完善条目,补充和分享自己的经验。 这样一来,PPZ 就汇集了全球各地精英爱好者的智慧,以及各种一手实验数据和经验。此外开 源的优点,让 ppz 可以利用开源社区的各种高质量软件(例如 gpsd),避免重复的劳动从而专 注于自动导航相关的研究与实现。开放性,促使 PPZ 发展的非常强大。
PPZ 的业内地位和影响
PPZ 在业界有较高的知名度并曾多次摘取多项荣誉。目前 PPZ 官网最新的新闻消息显示:在不 久前于9月结束的国际微型飞行器会议和飞行比赛(IMAV 2013)中,PPZ 驱动的飞机,获得户 外组第一名,室内组操作第一名,室内自主控制第三名的成绩。其中,用到了最新的只有2.8克 重量的 Lisa/S 飞控板。可见 PPZ 在业内应用的广泛程度及其实力。
毫无疑问,现在在做无人机项目的公司,几乎都会学习和了解过 PPZ 项目。之前雷锋网报道过 的《全球最小的无人机是把双刃剑》 http://www.leiphone.com/d-promise-n-peril-of-drone.html 中的最小无人机使用的也就 是 Lisa/S 飞控板。
PPZ 将它的设计理念和算法,不仅以代码形式保存在 github 的代码库中,而且也以可阅读的知 识文章的形式分享在 wiki 中。所以,如果一个企业要做一个无人机相关的研究开发,PPZ 应该 会给予巨大的帮助和启发。估计一般的公司几乎不可能完全独立于 PPZ 之外做出一套能够与 PPZ 比肩的系统。初创公司如果按照 PPZ 的全开源软硬件设计和兼容硬件列表,找一个载机(或 者自己设计一款)并作恰当的适配,则可以快速推出自己的产品——往往是初创企业推出产品 的捷径。但是需要注意的是——由于 PPZ 是开源的,竞争对手也能推出类似的同质化的产品, 所以如何在 PPZ 光环之外,作出自己的特色,往往是这些企业最需要考虑的。类似以前 MTK 方案从业者在手机行业的情况,大家拿到手的方案是相同的,最后看谁做出来的产品有特色能卖 的更好,就需要自己的神通了。
个人如何开始使用 PPZ
PPZ 非常适合模型爱好者和 geek 来玩。对于个人 DIY 爱好者,PPZ 官方网站的 wiki 知识库, 已经涵盖了基本所有需要的知识,所以官网应该是一个不错的开始点。国内的一些模型论坛,已 经有不少玩家在交流和分享经验,可以上去找找。某裤上搜索 PPZ,也能出来不少视频,这些 都是前辈玩家贡献的知识。
对于初级个人玩家来说,Ubuntu Linux 做为官方推荐的地面站操作系统以及编译环境,可能需 要一段过程适应。另外,各种传感器、电路板是一个比较麻烦的问题。开源硬件不像开源软件那 样成本仅为一台电脑和一些带宽,毕竟硬件需要掏钱真材实料去购买焊接制作电路板,门槛稍高。 如果玩家只想体验组装、调试、和飞行的乐趣,官网上有列出销售控制板和配套硬件的厂商(国 外厂商多);另外,某宝上也有看到 Lisa/M 的飞控板,也许可以一试。
PPZ 项目是无人机方面一个开放的大知识库,无论个人、公司、研究机构都能从中获益良多。 相信 PPZ 未来在无人机领域还会发挥更大的影响力,引领无人机领域更进一步。