无人机如今越来越多,如果你想深入了解无人机,那么了解和应用无人机mavlink指令是应该的。
接下来就介绍一波,下面的内容都是费了很长时间整理的,如有不妥,还请见谅。
先介绍一波学习网站:
Mavlink各个指令:https://pixhawk.ethz.ch/mavlink/
Mavlink crc_extra的计算:http://qgroundcontrol.org/mavlink/crc_extra_calculation
【1】下面开始说介绍mavlink所发送的数据结构。
Mavlink传输时的基本单位是消息帧。
如图所示,每个消息帧都是上述的结构,除了灰色外,其他的格子都代表了一个字节的数据。
红色的是起始标志位(stx),在v1.0版本中以“FE”作为起始标志。这个标志位在mavlink消息帧接收端进行消息解码时有用处。
第二个格子代表的是灰色部分(payload,称作有效载荷,要用的数据在有效载荷里面)的字节长度(len),范围从0到255之间。在mavlink消息帧接收端可以用它和实际收到的有效载荷的长度比较,以验证有效载荷的长度是否正确。
第三个格子代表的是本次消息帧的序号(seq),每次发完一个消息,这个字节的内容会加1,加到255后会从0重新开始。这个序号用于mavlink消息帧接收端计算消息丢失比例用的,相当于是信号强度。
第四个格子代表了发送本条消息帧的设备的系统编号(sys),使用PIXHAWK刷PX4固件时默认的系统编号为1,用于mavlink消息帧接收端识别是哪个设备发来的消息。
第五个格子代表了发送本条消息帧的设备的单元编号(comp),使用