首页 > 范文大全 > 正文

基于APM飞控制作的MAVLink通信协议分析

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于APM飞控制作的MAVLink通信协议分析范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘要】mavlink是一种轻量,只包含头文件信息调度库的通信协议,遵从GNU的LGPL许可协议。主要用于地面站(GCS)和微型无人运载工具间的通信。可以传输微型无人运载工具的方向、GPS信息和速度。本设计结合apm飞控对MAVLink进行介绍与分析。目前,各开源社区对MAVLink的移植工作不断进行,MAVLink将得到广泛应用。

【关键词】MAVLink;无人机;开源飞控;通信协议

1.引言

微型无人机发展迅猛,门槛也大大降低。微型无人机不仅在军事上得到重视,民用上也潜力巨大。微型无人机飞行速度慢、翼载荷小,有效载荷小,无法像大型飞机一样使用大型天线,且无人在飞机上操纵,必须将微型无人载具的状态数据实时传回地面。传统的航模空地通信主要依靠2.4GHz遥控器,需要操作人员具有丰富的经验和极高的技巧。微型无人机需要全双工实时通信系统,以实现对微型载具和机上设备的实时控制。加入地面站的飞行控制系统则可以实现航线规划、自主起降等先进功能。MAVLink协议可以工作在2.4G、900M、433M波段,兼容传统无线发射设备,能够全双工工作。该协议比较简单,可完全满足一般微型无人机的通信需求,是一种极具应用价值的开源通信协议。

2.MAVLink通讯协议的发展

开源飞控与开源软件一样遵循GNU协议,开放源代码与硬件,目前已经非常成熟。在国内基本形成了Autopilots与Paparazzi飞控平分秋色的局面。Paparazzi从2005年开始创立到现在已经发展为一个功能完善的开源飞控项目。Paparazzi官方目前还没有将MAVLink纳入其中,但是已有开发者将MAVLink的子集移植到Paparazzi硬件上。而Autopilots项目从2009年创立开始就在其飞控实现了MAVLink子集,目前是对MAVLink支持最完善的飞控。遗憾的是在Autopilots项目最新的硬件平台PX4上还没有完整实现MAVLink协议。飞控对通信协议的一般要求是实时性和可靠性。微型无人机的螺旋桨(旋翼)桨尖速度一般在1/3马赫,具有相当强的破坏性,因此必须对微型无人机进行实时监视和干预。MAVLink最大支持250kbps的传输速率,且可以自动调整传输速率,实时性很强。MAVLink对物理层进行了详细地规定,包括支持的设备类型等信息,保证对设备的良好支持,并使用硬解析保证了编解码的快速可靠。Paparazzi飞控的地面站可以运行在包括PC机、Android手机、Raspberry Pi、Gumstix平台上,paparazzi对数传电台、2.4GHz遥控器的通信参数进行了规定,虽然完整地实现了实时通信功能,但没有形成完整的通信协议,且缺乏灵活性,只能使用无线调制解调器通信,速率慢。

表1 MAVLink技术参数

波特率 载波频率 刷新率 数据负载 浮点值

115200 2.4 GHz 50 Hz 224 bytes 56

115200 2.4 GHz 100 Hz 109 bytes 27

57600 2.4 GHz 100 Hz 51 bytes 12

9600 900MHz 50 Hz 13 bytes 3

9600 900MHz 20 Hz 42 bytes 10

MAVLink完全面向两个特性而设计:速度与安全。它允许检查丢失的数据包,但是每个消息只需要6字节的开销。MAVLink的体系结构,如图1所示,MAVLink分为地面站和载具两部分。两者可以通过串行通信、无线调制解调器、UDP(用户数据报协议)、WIFI802.11bgn链接。地面站部分分为三层:MAVLink层、MAV抽象层、用户接口层。MAVLink层是硬件层,产生与载具通信的数据帧,保证报文格式的稳定,负责直接与载具通信。在MAV抽象层中包括各种MAV目标函数,这一层允许MAVLink适用于不同的自驾仪系统。最上层是用户界面层,包括2D地图界面、平显。载具部分有两层,底层为与地面直接通信的数据格式层,上层是包括自驾仪数据结构和任务库(包括参数、航点等)。任务库是载具快速执行参数和航线协议的保证。

表2 MAVLink的数据包结构

图1 MAVLink的体系结构

如表2所示,数据包最小是在确定没有数据负载时为8字节,最大为带255字节数据负载263字节。该协议的数据包结构遵从CAN和SAE AS-4标准,因此其校验与 ITU X.25和SAE AS-4 标准(CRC-16-CCITT)是一样的。

3.MAVLink通信协议简介

MAVLink协议对载具类型、飞行模式、载具状态、系统组件、消息帧坐标格式、地面站指令格式、微型载具的数据流等进行了规定。下面就协议的几个重点内容进行介绍

(1)载具类型:包括通用、固定翼、四旋翼、共轴双桨结构、普通有尾旋翼直升机、自由飞气球、火箭、地面车辆、潜艇等

(2)载具状态:该协议要求可以将载具状态实时传回地面站,包括:未初始化/未知状态、正在启动、正在校准、待命、开车、系统失常但可导航、完全失常、执行关机指令。

(3)系统组件:协议要求至少对下列组件进行支持:GPS、任务管理器、航线管理器、地图、照相机/摄像机、3个姿态传感器、网络和数传中继、系统控制器、14个舵机。GPS和地图在MAVLink协议中占据重要地位。GPS可以为飞行控制器提供重要的经纬度信息,并辅助提供高度信息。微型载具能够按照规划的轨迹运动完全依靠GPS的定位导航功能。因此地面站需要实时显示GPS的卫星数、定位精度、载具所在位置等信息。MAVLink完全提供了这些功能。

(4)航线规划指令:对于普通无人机来说能够精确地按航线飞行是飞行器的核心任务。MAVLink可以分为立即执行和任务脚本两种指令。指令参数规定为7个,分别代表不同的数据类型。这些规定参照民航飞机的ARINC424导航数据库标准,包括航点、持续盘旋、在航点盘旋N圈、在航点盘旋N秒、返回起飞点、设定点着陆等指令。这些丰富的指令保证了飞行器可以完成复杂的任务。例如,使用任务脚本指令可以使飞机按照航线飞行,在航测中,要求飞行器能够严格地按照航线飞行,以覆盖所有待测绘的地区,以在后期对所拍摄的图片进行拼接。而立即执行的指令可以使地面操作人员灵活地操作无人机进行航拍作业,微型无人机航拍不仅价格低,还具有比有人飞机飞得低、比手持设备飞得快的特点,可以完成不同拍摄视角的视频,受到普遍关注。但是MAVLink受数据吞吐率的限制无法实现视频传输。将数据传输与图像传输相融合已成为完善MAVLink方向。