mavlink是一种微型飞行器通讯协议,能够使各种类型的飞行器通过串口、CAN总线、UDP/TCP和移动蜂窝网络等方式进行通信。
由于该协议采用了XML定义,带有自我描述性,因此易于实现。同时,它是一个开源协议,因此受到了众多无人机制造商、软件设计师和飞行控制系统开发人员的欢迎。
mavlink协议具有以下优势:
(1)可用于各种各样的飞行器,例如固定翼、多旋翼、直升机和地面车辆等。
(2)采用轻量级协议,不占用过多的处理器时间和带宽。
(3)基于XML定义,带有自我描述性,易于实现和改进。
(4)作为一个开源协议,可被广泛使用和改进,因此将为整个无人机行业的发展作出贡献。
mavlink的数据格式是基于帧(frame)的,由消息ID、数据负载和校验码组成。每个消息都有自己的ID和数据,类似于汇编中的指令。消息的编码和解码是使用C语言代码执行的,因此很快。 mavlink还使用了可选的时间戳功能,以确保每个消息都是最新的。
数据负载具有通用格式,不同类型的消息可以共享相同的负载,从而实现通用性和减小无用数据的传输。
mavlink协议广泛应用于机载计算机和地面站之间的通讯。同样,可以在一个无人机系统内使用该协议,如在飞行控制器和传感器之间通迅,将GPS数据、风速数据、气压指标、姿态数据等所有数据传输至飞行控制器处理。
由于mavlink具有轻巧、可扩展、开源的特点,它已经成为了大部分无人机制造商的先进技术。同时,很多商业的地面站软件,如Mission Planner、QGroundControl和Ardupilot等,也采用了mavlink协议。