登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
二手市场
外包服务
模飞软件
硬件设备
飞行体验
学院
云课堂
问答
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
资源
素材
下载
企业
无人机论坛
»
论坛
›
无人机DIY专区
›
DIY经验区
›
无人机的开源语言,你懂吗?
返回列表
发新帖
查看:
926
|
回复:
0
无人机的开源语言,你懂吗?
[复制链接]
xqylzx
xqylzx
当前离线
积分
1657
窥视卡
雷达卡
40
主题
838
帖子
1657
积分
金牌飞友
金牌飞友, 积分 1657, 距离下一级还需 1343 积分
金牌飞友, 积分 1657, 距离下一级还需 1343 积分
积分
1657
飞币
817
注册时间
2017-8-23
发消息
发表于 2023-5-13 09:52:23
|
显示全部楼层
|
阅读模式
来源:无人机系统标准化
小型无人机通信协议MAVLink解析
0、目录
1、概述
2、数据帧介绍
3、消息(PAYLOAD)介绍
4、举个栗子
5、传输性能介绍
6、缩略语
1、概述
MavLink(Micro Air Vehicle Link)是一种用于小型无人机的通信协议,2009年由劳伦兹-迈耶(Lorenz Meier)首次发布,该协议遵守LGPL开源协议。该协议广泛应用于地面站(GroundControl Station,GCS)与无人机(Unmanned vehicles)之间的通信,同时也应用在无人机内部子系统之间的内部通信中,协议以消息库的形式定义了参数传输的规则。MavLink协议支持无人固定翼飞行器、无人旋翼飞行器、无人车辆等多种类型的无人机。MAVLink协议是在CAN总线和SAE AS-4 标准的基础上设计形成的。
2、数据帧
让我们从协议的最底层开始说起——数据帧
如图所示,MAVLink数据帧的长度是变化的,变化范围在8字节~263字节之间,数据帧长度主要取决于PAYLOAD的长度,其他字节都是固定的,具体包括:
第一字节:STX
数据帧的开始标志,内容为“0xFE”(v1.0版),“0x55”(v0.9版)
第二字节:LEN
表示PAYLOAD部分的长度,范围0~255
第三字节:SEQ
表示数据帧的序号(seqence),每次发完一个消息,这个字节的内容会加1,加到255后会从0重新开始。这个序号用于MAVLink数据帧接收端判断消息是否丢失。
第四字节:SYS
表示发送本条数据帧的设备系统编号,编号范围1~255,系统使用此编号来区别在同一个网络中相互通信的不同设备。
第五字节:COMP
表示发送本条数据帧的设备系统的组件(component)编号,系统使用此编号来区别某个设备中的不同组件。
第六字节:MSG
表示PAYLOAD的消息编号,系统根据此编号来判断PAYLOAD中是什么消息,并对PAYLOAD消息进行解析。
第七部分:PAYLOAD
表示本次数据帧传输的具体内容,也是数据帧的核心内容,PAYLOAD的格式定义需要遵从MAVLink协议消息格式的定义,否则不能被系统正确的识别与解析。
第八部分:CKA和CKB
最后两个字节是校验位,CKB是高八位,CKA是低八位,校验算法为CRC16,主要作用是判断数据帧在传输过程中是否有丢失数据的情况,以及校验是否为相同版本MAVLink协议在相互通信。
3、消息
通过上面对数据帧的介绍,大家可以了解到,数据帧最核心的部分就是PAYLOAD部分,对于完全遵照MAVLink协议开发的系统来说,PAYLOAD部分的内容应该对应所有定义好的消息(MAVLink Messages)。
那么问题就来了,MAVLink通信协议都规定了哪些消息呢?
前面提到过,数据帧的第六字节(MSG)表示消息编号,0~255有256种组合,也就是说,共有256种消息类型。但是目前MAVLink协议只定义并使用了#0~#149,以及#230~#254消息编号。#150~#229是保留的消息编号,用来给开发者自己定义,以满足特定的需求。具体消息内容较多,感兴趣的同学请点击下面的链接查看。
https://pixhawk.ethz.ch/mavlink/#HEARTBEAT
4、举个栗子
以第一个消息为例,这个消息的名字是HEARTBEAT(心跳信号),编号为#0。这个信号对于飞行安全来说是十分重要的,飞机和地面站的通信,每隔一秒钟(官方推荐为一秒,可以通过软件自行设定发送频率)双方都会发送和接收到这个心跳信号,由此来判断对方是否还“活着”,否则就是失联啦!
心跳消息具体都发送哪些内容呢?
按照官方文档的介绍,可以知道该消息包括以下6部分内容:
1)无人机的类型:type,1字节
2)飞控的类型:autopilot,1字节
3)系统基础模式:base_mode,1字节
4)用户模式:custom_mode,4字节
5)系统状态:system_status,1字节
6)协议版本:mavlink_version,1字节
合计9字节,这也就是PAYLOAD的长度,如果无人机与地面站之间正在发送本条数据帧,数据帧的总长度应该是17字节。
5、传输性能
Link speed
Hardware
Update rate
Payload
Float values
115200 baud
XBee Pro 2.4 GHz
50 Hz
224 bytes
56
115200 baud
XBee Pro 2.4 GHz
100 Hz
109 bytes
27
57600 baud
XBee Pro 2.4 GHz
100 Hz
51 bytes
12
9600 baud
XBee Pro XSC 900
50 Hz
13 bytes
3
9600 baud
XBee Pro XSC 900
20 Hz
42 bytes
10
6、缩略语
GCS——Ground Control Station(地面控制站)
CAN——Controller Area Network(控制器局域网络,CAN总线)
SAE——Society of Automotive Engineers(美国汽车工程师学会)
MAV——Micro Air Vehicle(小型飞行器)
【申明】文章来源:部分素材来自于网络文章,不代表本微信观点。如有侵权,请联系我们删除,联系邮箱:jiajia.cai@utmglobal.cn
无人机
,
你懂吗英文
,
你懂吗英语
相关帖子
•
无人机电池使用注意事项:延长电池寿命与安全操作指南
•
科技赋能:2025中国无人机电池高质量发展论坛在北京召开
•
无人机开票开什么类别
•
无人机可以开火吗
•
#大疆 #航拍学校 生病在家飞无人机到学校看看
•
中国恐怖的无人机作战潜力,是世界和平的定海神针!
•
无人机表演五星八卦阵、万剑归宗、麒麟踏步、后裔射日等各种震撼景象,现场老外给彻底惊呆了!
•
无人机图传系统初探:如何让无人机“看得见”
•
无人机画质排行榜前十?
•
延长无人机电池续航的实用技巧
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表