MAVLink协议解析

MAVLink是一种非常轻量级的消息传递协议,用于与无人机(以及板载无人机组件之间)进行通信。

MAVLink遵循现代混合发布-订阅和点对点设计模式:数据流作为主题发送/发布,而配置子协议(如任务协议或参数协议)是点对点重传。

消息在XML文件中定义。每个XML文件定义特定MAVLink系统支持的消息集,也称为“方言”。由大多数地面控制站和自动驾驶仪实现的参考消息集在common.xml中定义(大多数方言构建在此定义的顶部)。

MAVLink工具链使用XML消息定义为每种受支持的编程语言生成MAVLink库。无人机,地面控制站和其他MAVLink系统使用生成的库进行通信。这些通常是MIT许可的,因此可以在任何闭源应用程序中无限制地使用,而无需发布闭源应用程序的源代码。

MAVLink于2009年初由Lorenz Meier首次发布,现在已经有相当数量的贡献者。

MAVLink消息格式

MAVLink消息格式如图1所示。

MAVLink消息格式

图1 MAVLink消息格式

MAVLink消息中各字段含义如图2所示。

MAVLink消息格式描述

图2 MAVLink消息格式描述

参考链接

  1. MAVLink Developer Guide,by mavlink homepage.
  2. 无人机通讯协议 –Mavlink 学习, by Theshy.
  3. Pixhawk原生固件PX4之MAVLink协议解析,by FantasyJXF.