无人机系统理论基础 课件 第二十八课时 无人机通信协议MavLink_第1页
无人机系统理论基础 课件 第二十八课时 无人机通信协议MavLink_第2页
无人机系统理论基础 课件 第二十八课时 无人机通信协议MavLink_第3页
无人机系统理论基础 课件 第二十八课时 无人机通信协议MavLink_第4页
无人机系统理论基础 课件 第二十八课时 无人机通信协议MavLink_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二十八课时无人机通信协议MavLinkBU

YUN

AVIATION目录/CONTENTS§2MavLink简介§4MAVLink的信息结构§3MAVLink的优势§1通信协议目录/CONTENTS§6全球定位信息§8PX4中MAVLink的应用§7命令信息§5心跳包§1通信协议通信协议通信双方为完成通信或服务必须遵循的规则和约定规定:数据单元使用的格式、包含必要的信息与含义、连接方式、信息发送与接收的时序定义:数据链系统在通信的过程中,有关数据信息的传输时序、传输条件、传输流程及传输控制方式等方面的规约通信协议作用:处理各种应用系统的格式化消息,解决通过信息网络可靠有效地建立链路问题,达到数据交换的目的内容:网络协议、频率协议、链路协议、接口标准和操作规程§2MavLink简介MavLink简介微型空中飞行器链路通信协议基础:串口通信主要面向对象:小型飞行器、地面站以消息库的形式定义了参数传输的规则§3MAVLink的优势MAVLink的优势兼容传统无线发射设备,进行全双工工作协议较简单,可完全满足一般微型无人机的通信需求使设备之间的通信更便捷、简练,保障了通信的可靠性、高效性和信息的安全性支持不同类型的传输层和介质MAVLink的优势可以通过WiFi、以太网以低于Ghz频率运作心跳包机制,可用于检测无人设备与地面站之间连通性的检测提高UDP通信方式的可行性§4MAVLink的信息结构MAVLink的信息结构MavLink数据结构长度:17bytes,包括字头、数据载荷、校验位数据结构:17bytes=6bytesheader+9bytespayload+2byteschecksum起始标志位(stx):服务于消息帧接收端进行消息解码有效载荷的字节长度:与实际有效载荷的长度比较,验证其正确性MavLink数据结构MAVLink的信息结构MavLink数据结构消息帧的序号(seq):用于消息帧接收端计算消息丢失比例发送消息帧设备的系统编号(sys):用于消息帧接收端识别设备发送消息帧的设备的单元编号(comp):用于消息帧接收端识别设备单元MavLink数据结构MAVLink的信息结构MavLink数据结构有效载荷中消息包的编号(msg):消息帧接收端根据编号确定有效载荷存放消息包,并选择处理方式CKB高八位、CKA低八位:crc16算法得到,避免不同版本间通讯时带来的问题MavLink数据结构MAVLink的信息结构MavLing帧数据内容MAVLink的信息结构MavLing帧数据内容§5心跳包心跳包定义:在客户端和服务器间定时通知对方自己状态的命令字,按照一定的时间间隔发送表示无人系统存在且处于活动状态心跳包心跳包结构type:微型飞行器的类型autopilot:自动驾驶的类型base_mode:指示不同的操作模式custom_mode:自定义模式system_status:标志系统状态mavlink_version:表示MAVLink版本§6全球定位信息全球定位信息①Id=33,代表全球定位传感器提供的已过滤GPS坐标②执行信息:1.GPS纬度(lat),经度(lon)、绝对高度(alt)2.有关无人机系统沿3轴((x,y,z)的线速度)的信息全球定位信息的数据结构§7命令信息命令信息COMMAND_LONGID=76,用11个字段定义command:要执行的命令的类型confirmation:指示消息是第一次发送的param1-7:取决于命令的类型全球定位信息的数据结构命令信息任务项命令ID=39,允许将航路点发送到无人系统任务项目命令消息的序列号:指定从0开始的任务编号,指定起始位置框架:指定航路点的参考坐标框架全球定位信息的数据结构§8PX4中MAVLink的应用PX4中MAVLink的应用Mavlink的参数linux下,查看posix_sitl_default.cmake中的modules/mavlink在ROMFS/px4fmu_common/init.d/rcS中:PX4中MAVLink的应用Mavlink的启动在nuttx下,见ROMFS/px4fmu_common/init.d/rcSPX4中MAVLink的应用Mavlink的启动rc.mavlink中的内容:PX4中MAVLink的应用Mavlink的启动在linux下,见init.d-posix/rcS

两个脚本:mavlinkstart:启动mavlink,执行mavlink::startmavlinkstream:添加mavlinkcommand,执行mavlink::stream_commandPX4中MAVLink的应用Mavlink的消息在px4的工程中,在Firmware/mavlink/include/mavlink/v2.0/message_definitions目录下的xml消息:├──ardupilotmega.xml├──ASLUAV.xml├──autoquad.xml├──common.xml├──icarous.xml├──matrixpilot.xml├──minimal.xml├──paparazzi.xml├──python_array_test.xml├──slugs.xml├──standard.xml├──test.xml├──ualberta.xml└──uAvionix.xmlPX4中MAVLink的应用Mavlink的消息默认的消息mavlink_main.cpp中_mode默认是MAVLINK_MODE_NORMAL在mavlin_main.cpp中,有:PX4中MAVLink的应用Mavlink的消息默认的消息在configure_streams_to_default中有:PX4中MAVLink的应用Mavlink的消息安装mavlinkgenerator定义一个数据结构根据数据结构写对应的xml用mavlinkgenerator生成mavlink消息PX4中MAVLink的应用mavlink配置硬件设备见mavlink在rcS中的启动脚本PX4中MAVLink的应用mavlink打包uorb消息在最底层添加mavlink的头文件和uorb消息到mavlink_messages.cpp或者一个mavlink中的common消息.h文件为是打包过的数据结构PX4中MAVLink的应用mavlink打包uorb消息②在mavlink_messages.cpp中创建新的类,继承自MavlinkStream

PX4中MAVLink的应用mavlink打包uorb消息③附加流类streams_list的到mavlink_messages.cpp底部原因:streams_list包括了所有预先定义的mavlink消息,在执行create_mavlink_stream时,需要到streams_list中检查是否有定义PX4中MAVLink的应用mavlink定时发送消息添加消息、设置发送周期在mavlink_main.cpp加入自定义的消息以及期望的更新频率,比如数据结构_streams:整个类维护的链表,用来记录目前活跃的stream消息PX4中MAVLink的应用mavlink定时发送消息发送消息在mavlink_main.cpp的while循环中,通过遍历stream并发送PX4中MAVLink的应用mavlink接收消息mavlink_main.cpp的task_main中调用recieve_start创建threadthread中,用MavlinkReceiver::start_helper创建MavlinkReceiver对象执行MavlinkReceiver::receive_thread(void*arg),接收数据PX4中MAVLink的应用mavlink解析接收消息在mavlink_receiver.h的classMavlinkReceiver中增加一个用来处理接收信息的函数将消息转成uorbPX4中MAVLink的应用mavlink解析接收消息添加声明的h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论