美文网首页
Pixhawk--Mavlink协议

Pixhawk--Mavlink协议

作者: WilsonGuo | 来源:发表于2022-07-14 15:56 被阅读0次

    Mavlink官方协议

    Mavlink 2.0 协议格式

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

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

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

    代码生成器根据这些 XML 消息定义为特定编程语言创建软件库,然后无人机、地面控制站和其他 MAVLink 系统可以使用这些软件库进行通信。生成的库通常是 MIT 许可的,因此可以在任何闭源应用程序中不受限制地使用,而无需发布闭源应用程序的源代码。


    主要特征

    非常有效率

    MAVLink 1 每个数据包只有 8 个字节的开销,包括开始符号和丢包检测。MAVLink 2 只有 14 字节的开销(但它是一个更加安全和可扩展的协议)。因为 MAVLink 不需要任何额外的成帧,它非常适合通信带宽非常有限的应用程序。

    非常可靠

    自 2009 年以来,MAVLink 一直被用于通过各种具有挑战性的通信通道(高延迟/噪声)在许多不同的车辆、地面站(和其他节点)之间进行通信。它提供了检测数据包丢失、损坏和数据包身份验证的方法。

    可以使用许多不同的编程语言

    在众多微控制器/操作系统(包括 ARM7、ATMega、dsPic、STM32 和 Windows、Linux、MacOS、Android 和 iOS)上运行。

    网络上最多允许 255 个并发系统(车辆、地面站等)

    启用板载和板载通信(例如,在 GCS 和无人机之间,以及在无人机自动驾驶仪和启用 MAVLink 的无人机相机之间)。

    MAVLink“微服务”定义了 MAVLink 系统可以采用的更高级别的协议,以便更好地进行互操作。例如,QGroundControl、ArduPilot 和 PX4 自动驾驶仪都共享一个通用命令协议,用于发送需要确认的点对点消息。

    微服务用于交换多种类型的数据,包括:参数、任务、轨迹、图像、其他文件。如果数据远大于单个消息的容量,服务将定义如何拆分和重新组合数据,以及如何确保重新传输任何丢失的数据。其他服务提供命令确认和/或错误报告。

    大多数服务使用客户端-服务器模式,例如 GCS(客户端)发起请求,车辆(服务器)以数据响应。

    主要的微服务显示在侧边栏中(大部分在下面列出):

    心跳/连接协议

    任务协议

    参数协议

    扩展参数协议

    命令协议

    手动控制(操纵杆)协议

    相机协议

    相机定义

    云台协议 v2

    云台协议 v1(已取代)

    Arm授权协议

    图像传输协议

    文件传输协议 (FTP)

    着陆目标协议

    Ping 协议

    路径规划协议(轨迹接口)

    电池协议

    地形协议

    隧道协议

    开放无人机 ID 协议 (WIP)

    高延迟协议

    组件元数据协议 (WIP)

    有效载荷协议

    流量管理 (UTM/ADS-B)

    事件接口 (WIP)


    Mavros的应用

    相关文章

      网友评论

          本文标题:Pixhawk--Mavlink协议

          本文链接:https://www.haomeiwen.com/subject/yfqfirtx.html