Mavlink地面站编写之一--协议分析

2023-05-16

阿木社区:转载注意出处 http://www.amovauto.com

        Pixhawk/APM都是采用MAVLINK协议实现的飞控的数据链路传输。先简单介绍下mavlink协议。Mavlink协议最早由 苏黎世联邦理工学院 计算机视觉与几何实验组 的 Lorenz Meier于2009年发布,并遵循LGPL开源协议。Mavlink协议是在串口通讯基础上的一种更高层的开源通讯协议,主要应用在微型飞行器(micro aerial vehicle)的通讯上。Mavlink是为小型飞行器和地面站(或者其他飞行器)通讯时常常用到的那些数据制定一种发送和接收的规则并加入了校验(checksum)功能。据说亿航四轴的初期版本就是参考的MAVLINK协议或者说参考的APM飞控系统。
下面是mavlink的消息简介和官方指导连接:


https://pixhawk.ethz.ch/mavlink/
http://qgroundcontrol.org/mavlink/start
1.1 mavlink消息结构分析:
MAVLINK的传输基本单位是消息帧,一帧的数据长度8bytes到263bytes不等

mavlink-packet                                                                   图1.1

如图所示的消息帧结构,除了灰色外,其他格子都代表一个字节的数据,灰色格子里面的数据长度是不固定的。下面是每个消息帧的详细解释:

6222829

图1.2

上文中已经提到了在mavlink消息帧里最重要的两个东西,一个是msgid;一个是payload,前者是payload中内容的编号,后者则存放了消息。消息有许多种类型,在官网的网页中中以蓝色的“#”加数字的方式来表示消息的编号如 “#0”(这样的表示方法应该是为了方便在网页中查找相应编号消息的定义)。在官网介绍网页里往下拉,大概拉到二分之一的位置处,开始出现“MAVLink Messages”的介绍,往下看是各种消息的数据组成说明。下面将以几个消息为例,讲解mavlink消息

QQ截图20160303150927

图1.2

如图所示这是一个APM2.8的控制板输出的一帧心跳包数据,其固件是无人车的固件,可以详细的看到包开始标志,有效载荷长度,消息ID等等。从结构来讲还是比较简单的。这是一个心跳包的一帧数据,因为他的消息ID是00就代表这是一帧心跳包。

心跳包结构如下:xinti6224100

图1.3

Type表示设备类型在MAV_TYPE有定义可以在https://pixhawk.ethz.ch/mavlink/ 的网页中搜索到,从图1.2可以看到,10是第一位的数据值,那么10在MAV_TYPE代表Ground rover(地面车辆),这个数据就是从地面车辆的固件里面发出的。同理分析这9个字节所代表的含义可以知道心跳包所代表的含义。在上面网站的文档中可以分析到蓝色(#0,#1,#2)

这样的数据就是代表数据包。在文档的1/2处往后都可以看到,一共有254条消息类型。

第二个参数是自驾仪(即通常所说的飞控)类型,比如apm,ppz,Pixhawk等飞控,具体定义查找和之前查找飞行器类型时的方法一样。同样的,对于发送心跳包的飞行器来说代表了自己的飞控类性,对地面站发出的心跳包来说意义不大。

第三个参数是基本模式(base mode),是指飞控现在处在哪个基本模式,对于发心跳包的地面站来说没有意义,对于发送心跳包的飞控来说是有意义的。这个参数要看各个飞控自己的定义方式,mavlink介绍网页并不会给出具体的模式。在Pixhawk中基本模式可以分为使用用户模式(custom mode)还是基本模式(这里有点绕,其实是就是是否使用用户模式)。使用用户模式将在讲下个参数时说明,使用基本模式又会分为自动模式(auto),位置控制模式(posctl)和手动模式(manual)。一般情况下都会使用用户模式,普通用户不用关心这个参数。

第四个参数是用户模式(custom mode),大概说一下Pixhawk的用户模式。以多轴为例。它分为主模式(main mode)和子模式(sub mode),两种模式组合在一起成为最终的模式,主模式分为3种,手动(manual),辅助(assist),自动(auto)。手动模式类似apm的姿态模式。在辅助模式中,又分为高度控制模式(altctl)和位置控制模式(posctl)两个子模式,高度控制模式就类似apm的定高模式,油门对应到飞行器高度控制上。位置模式控制飞行器相对地面的速度,油门和高度控制模式一样,yaw轴控制和手动模式一样。自动模式里又分为3个子模式,任务模式(mission),留待模式(loiter),返航模式(return),任务模式就是执行设定好的航点任务,留待模式就是gps悬停模式,返航模式就是直线返回home点并自动降落。在apm里这个参数貌似是没有用的,注意这个数据占了4个字节,在Pixhawk中,前两个字节(低位)是保留的,没有用,第三个字节是主模式,第四个字节是子模式。

以上是心跳包的分析,还有很多其他的数据包的分析类似,请自行翻阅官方指导文件。

1.2消息包封装过程

以上各区域信息存在关联,当使用MavLink协议提供的方法封装消息包时,会根据所使用的MSG获取到该类别MSG消息的LEN信息,同时软件(地面站或飞行控制软件)会根据自身状态信息填写SYS、COMP。信息填写完毕生成数据包时,封装方法会自动添加STX,并在上一次发送消息包所使用的SEQ上加1作为本次发送的SEQ写入,当SEQ超过255时,会回到0并重新开始计数。CKA、CKB会在PAYLOAD信息写入后、封装完成之前,根据CRC[Fe1] (CyclicRedundancy Check)循环冗余校验码算法计算得出并自动写入包内。

也就是说,设定SYS和COMP并且正确调用MavLink所提供方法后,整个消息包的生成过程中仅有MSG和PAYLOAD两项内容需要用户关心,消息包封装过程如活动图所示。

20150828154136387

1.3消息包示例

本文开始提到MavLink使用消息库的形式定义传输规则,用户可以在在源码中查阅消息库的内容,此处使用Java语言下的消息库作为实例,以便更清晰地展示包结构(MavLink源码自带了多语言的生成器,可从源码中的xml文件转换为对应C,C++,Java等语言的MavLink协议包)。以下表格中,SEQ为计算得出,数值不固定,故用X代替,SYS,COMP两项为笔者使用的Mission Planner地面站设定的系统ID和组件ID,MSG项0代表HEARTBEAT消息的ID,PAYLOAD内存储详细信息,最后的CKA CKB为封包后计算得出,以Y代替。

msg_heartbeat:最基本的心跳信号包,周期性发送,用于确认地面站与无人机之间的连接是否有效。

STXLENSEQSYSCOMPMSGPAYLOADCKA B
2549X2551900……Y


msg_request_data_stream:数据流请求包,地面站使用该消息包向飞行控制软件提交数据流申请,飞行控制软件收到该消息后将按照设定的参数周期性返回消息包。

STXLENSEQSYSCOMPMSGPAYLOADCKA B
2546X25519066……Y

大概知道了mavlink协议之后呢,我们就可以用MAVLINK结合APM2.6来实现一个APM的地面站。参考Mission Planner的地面站,Mission Planner是采用C#言语,基于C#的易用性,我们也采用C#语言。不过在编写一个简版的地面站以前。我们可以参考Mission Planner的构架,我们可以安装好VS2013,编译一下Mission Planner源码,如果有能力,可以修改Mission Planner源码。MP地面站的编译方法已经在另一篇文章中详细讲述过,编译完了之后有个SimpleExample的简单代码例程在MP的源码中,我们可以分析下这简单的代码,这个简单的代码是引用了MAVLINK的库,具体位置在MissionPlanner-master\ExtLibs\Mavlink中,如果我们要用只要在新建的工程里面引用即可,知道MAVLINK是怎么解析的。

MAVLINK解析示例

主代码如下:

namespace SimpleExample

{
public partial class simpleexample : Form
{
MAVLink.MavlinkParse mavlink = new MAVLink.MavlinkParse();//MAVLINK解析包函数,通过这个函数从串口得到一帧的数据
bool armed = false;
public simpleexample()
{
InitializeComponent();
}
private void but_connect_Click(object sender, EventArgs e)
{
// if the port is open close it
if (serialPort1.IsOpen)
{
serialPort1.Close();
return;
}
// set the comport options
serialPort1.PortName = CMB_comport.Text;//打开串口
serialPort1.BaudRate = int.Parse(cmb_baudrate.Text);
// open the comport
serialPort1.Open();
// set timeout to 2 seconds
serialPort1.ReadTimeout = 2000;
// request streams - asume target is at 1,1
mavlink.GenerateMAVLinkPacket(MAVLink.MAVLINK_MSG_ID.REQUEST_DATA_STREAM,
new MAVLink.mavlink_request_data_stream_t()
{
req_message_rate = 2,
req_stream_id = (byte)MAVLink.MAV_DATA_STREAM.ALL
start_stop = 1,
target_component = 1,
target_system = 1
});//设置mavlink数据缓冲区格式
while (serialPort1.IsOpen)
{
try
{
// try read a hb packet from the compo
var hb = readsomedata<MAVLink.mavlink_heartbeat_t>();//读取一帧心跳数据包
var att = readsomedata<MAVLink.mavlink_attitude_t>();//读取一帧姿态包
Console.WriteLine(att.pitch*57.2958 + " " + att.roll*57.2958);//写入命令行
}
catch{
}
System.Threading.Thread.Sleep(1);
Application.DoEvents();
}
}
T readsomedata<T>(int timeout = 2000)//读取数据函数
{
DateTime deadline = DateTime.Now.AddMilliseconds(timeout);
// read the current buffered bytes
while (DateTime.Now < deadline)
{
var packet = mavlink.ReadPacketObj(serialPort1.BaseStream);//读出一帧数据
if (packet == null)
continue;
Console.WriteLine(packet);//打印在控制台
if (packet.GetType() == typeof(T))
{
return (T)packet;//从一帧MAVLINK数据中返回T类型的数据,T类型是在调用处指定的可以是心跳包,或者姿态包等等。
}
}
throw new Exception("No packet match found");
}
MAVLink.MavlinkParse mavlink 最重要的是这个类,这个类是解析一帧数据包用的,我们来分析下
public partial class MAVLink
{
public static void ReadWithTimeout
public byte[] ReadPacket
public object ReadPacketObj//读取一包数据
public byte[] GenerateMAVLinkPacket//生成一个MAVLINK包,可以同个这个函数来生成读取数据包或者写命令数据包,在解析数据和读取MAVLINK数据之前都要先调用这个函数,生成一个空包,以便放入数据或者写入数据,相当于开辟一个MAVLINK数据缓冲区。
}
以上的程序运行如下:
APMcom_副本
图1.4 读取MAVLINK数据包

可以看到在
var hb = readsomedata<MAVLink.mavlink_heartbeat_t>();
var att = readsomedata<MAVLink.mavlink_attitude_t>();
在mavlink_heartbeat_t这个类中有心跳包的成员变量六个。
在MAVLink.mavlink_attitude_t这类中有姿态成员变量。我们可以在VS里面清楚的看到。所以如果我们想读取心跳包和姿态包,就可以使用上面的方法来获取心跳和姿态,很方便。通过上面的代码,我们就可以从APM的串口MAVLINK数据流中解析出想要的数据。我们想读取其他数据,在readsomedata中写入不同的形参即可,具体还有其他什么形参可以在VS里面查看。如果我们要更复杂的界面,做出专业的地面站,就去布局控件即可,不过还是比较复杂的,可以参考MP地面站。


更多有关咨询在:http://www.amovauto.com 阿木社区

QQ群:526221258


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mavlink地面站编写之一--协议分析 的相关文章

  • 阿木动态 | 助力机器人教育!一站式智能无人机专业课程建设方案!

    方案基本介绍 阿木实验室自2016年起 xff0c 就以PX4开源无人机为中心在多所高校举办过线下无人机实训课程 xff0c 可以说对开源无人机和智能机器人技术的分享和传播是阿木实验室的原点 经过数年的发展 xff0c 阿木实验室已经成为了
  • 技术分享 | ROS与Gazebo的通信机制

    做机器人算法的相信大家对ROS和Gazebo都不陌生 xff0c 可以说是我们的两大利器 xff0c ROS全称机器人操作系统 xff0c 它为我们提供了软件操作平台 xff0c 我们可以方便的在ROS的软件框架下编写我们自己的机器人算法
  • 技术分享 | 避坑指南-无人机自主降落代码解析

    前言 本主要讲解promtheus仿真环境中静态目标的自主降落 涉及整体逻辑 识别降落点 坐标系变换 不会涉及仿真环境搭建 本人之前的属于纯作计算机视觉工作的 如果你和我一样在此之前没有接触过机器人控制 无人机相关的内容 那这篇文章对于入门
  • Airsim动态 | 安装ROS包装器(AirSim ROS Wrapper)

    本期内容我们将带来在Airsim环境下使用ROS Wrapper的相关教程 xff0c 以下是AirSim客户端库上的一些ROS Wrapper相关配置 一 启动 以下步骤适用于 Linux 系统 如果是在 Windows 上运行 AirS
  • 技术分享 | 如何在ROS中使用Serial包?

    首先 xff0c 这个Serial 是一个跨平台 简单易用的库 xff0c 用于在计算机上使用串行端口 该库提供了一个 C 43 43 面向对象的接口 xff0c 用于与 Linux 和 Windows 上的类似 RS 232 的设备进行交
  • 新品发布 | P230开源无人机一台深度相机实现无人机VINS定位及ego导航

    P230 视觉导航 室内编队无人机开发平台 Prometheus 230 xff08 P230 xff09 是阿木实验室专为科研工作者与航天器开发者打造的小型化无人机开发平台 xff0c 适用于无GPS环境下基于视觉的无人机定位 导航 避障
  • 学习方法 | 买科研无人机之前你需要考虑的七件事

    买科研无人机之前你需要考虑的七件事 xff0c 很多客户都有买过我们的科研无人机P系列 Z系列等等 从最开始的P100 到后期的P200 xff0c 再到现在的P450 P230 P600 2020年后 xff0c 网络上也出现了更多种类和
  • 零基础同学的福利,带你走进Airsim 的大门

    初识AirSim仿真开发 正式上线 大纲如下 xff1a 第一课时 在ubuntu中编译AirSim UE4 ROS 简单介绍AirSimUE4 ROS AirSim编译的流程介绍环境编译中会出现哪些问题 xff0c 以及如何寻找解决方法
  • 技术分享 | 三种无人机精准降落方案

    1 概述 无人机自诞生以来 xff0c 主要应用于军事方面 xff0c 作为智能化和信息化的武器 xff0c 无人机在侦察 监视 通信 远距离攻击等方面发挥了重要的作用 近年来 xff0c 无人机在民用方面的应用也越来越多 xff0c 各国
  • 技术分享 | 玩转Jetson NX内核(四)

    上期我们讲解了玩转Jetson NX内核 xff08 三 xff09 xff0c 本期我们开始将mipi相机移植到NX xff0c 我们已经搭建好各种编译环境 xff0c 如有问题可参考之前的系列文章 1 4 mipi相机在NX上应用 mi
  • 远程连接TX2的ubuntu系统(没有显示器):网线+路由器解决

    我的到手TX2是没有显示器的 xff0c 要么用HDMI线接上显示器 xff0c 要么在一个wifi网络下使用nomachine远程桌面 我没有显示器也没有HDMI线 xff0c 只能远程桌面连接 问题是想要远程连接就必须让TX2和我的电脑
  • 技术分享 | GPS无人机集群位置自主纠偏功能升级

    新的一年 xff0c 又是新的开始 xff0c 在这里 xff0c 祝大家在新的一年有更多的收获 xff0c 有更好的发展 过新年 xff0c 大家都会买新衣服穿 xff0c 我们的GPS无人机集群套件同样也要上新功能 近期 xff0c 我
  • 技术分享 | 遥控器控制(Joystick)

    一 遥控器控制 在真实飞行过程中 xff0c 我们使用真实的遥控器作为控制无人机的主要操作来源 xff0c 遥控器始终拥有最高的权限 xff0c 精湛的遥控器操作手法可以保证无人机安稳着陆 xff0c 但对于很多非专业人士来说 xff0c
  • 技术分享 | Airsim初探-用游戏引擎做仿真

    谈到无人机 无人车仿真 xff0c 首先想到的大概就是gazebo xff0c 但现在都快进入元宇宙时代了 xff08 手动狗头 xff09 xff0c 还再继续使用gazebo这种上个时代的产品就显得不够hack xff0c 是时候了解和
  • 技术分享 | Airsim和PX4远程配置连接教程

    前言 xff1a 远程配置是指一台计算机上安装windows版airsim xff0c 作为服务器 xff0c 另一台计算机上安装ubuntu的px4 xff0c 作为客户端 没有采用ubuntu的airsim是因为windows版的air
  • 调试达人 | 史上最全PX4固件无人机无法解锁问题合集

    很多同学在到手一台或者根据网上教程组装了一台PX4固件的无人机后 xff0c 最迫切的一件事是否是让无人机解锁飞上蓝天 xff1f 但就是在这一步却遇到各种各样的问题导致无法解锁而四处查找资料 xff1f 本文由阿木实验室有多年无人机调试经
  • 常见激光雷达分类

    一 激光雷达的原理 激光雷达的原理类似于声呐 xff0c 只不过这里我们用光代替声音 xff0c 来衡量激光雷达与障碍物之间的距离 主要工作原理是向目标发射激光束 xff08 单线 多线 xff09 xff0c 然后将反射信号与发射信号比较
  • Mini Homer——几百块钱也能搞到一台远距离图数传链路?

    在一些远程操控的场景中 xff0c 图数传链路的选择一直是比较重要的问题 传统的WIFI方式 xff0c 传输距离近50到100米 xff0c 不能满足测试要求 xff0c 更不能在工业现场使用 即便是一些专用的图数传方案 xff0c 传输
  • F200——搭载基于模型设计的国产开源飞控系统无人机

    一 F200简介 F200是目前基于FMT开源自驾仪项目开发的第一款无人机产品 xff0c 旨在为广大无人机爱好者和科研工作者提供一个理想的无人机研发与测试平台 支持室外定高 定点 xff0c 一键起飞 xff0c 一键降落 xff0c 一
  • Prometheus-v2新增地面站,助力高效研发!

    Prometheus地面站是基于Prometheus系统的人机交互界面 xff0c 地面站采用TCP UDP通信进行发送和接收数据 xff0c 而在机载端中则采用ROS MSG消息进行通信 xff0c 该地面站可以更快地让用户复现Prome

随机推荐

  • 赛前指导:第二届未来飞行器挑战赛实践赛道之技术详解

    2022 xff08 第二届 xff09 四川省大学生未来飞行器挑战赛正在火热进行中 xff0c 本次挑战赛中的实践类赛道将面向全省高校大学生个人或团队征集未来先进侦察打一体化无人机的实地竞赛 xff0c 主要考察路劲规划 视觉目标搜索 舵
  • 四元数乘法计算

    关于两个四元数的乘法 xff0c 网上查了一大堆 xff0c 没一个说明白的 我就想知道给我两个四元数 xff0c 我该怎么算出来它们的乘积 这么简单的需求都没法找到答案 xff0c 实在对不起四元数的江湖地位 要想计算四元数的乘法 xff
  • Prometheus-v2控制子模块教学例程demo演示

    在Prometheus v2中 xff0c 我们将代码模块化 xff0c 将功能拆分为子模块 xff0c 具体包含控制子模块 目标检测子模块 路径规划子模块 集群子模块以及matlab子模块等 其中 xff0c 控制子模块作为最基础的子模块
  • 机器人开发新思路——强化学习

    众所周知 xff0c 机器人 xff08 Robot xff09 是一种能够半自主或全自主工作的智能机器 机器人能够通过编程和自动控制来执行诸如作业或移动等任务 xff0c 而在执行过程中 xff0c 最常用的就是判断命令或逻辑 换句话来说
  • Swarm-Formation无人机分布式集群算法浅析与仿真测试

    无人机集群一直是当今研究的热点与难点 然而 xff0c 目前相关的集群规划策略通常缺乏在杂乱环境中避开障碍的能力 为了解决无人机在密集复杂环境下的编队避障飞行这一难题 xff0c 浙江大学 Fast Lab 实验室提出了一种分布式无人机集群
  • 无人机集群编队解决方案,适应多种飞行场景

    针对集群研究人员的痛点 xff0c 阿木实验室设计了无人机集群编队的开发平台 xff0c 让开发者们无需再为了验证自己的集群算法或代码而发愁 xff0c 只需关心集群相关的研究 无人机集群编队开发平台基于开源无人机项目Prometheus
  • 做机器人开发,你一定绕不开的模块!

    Allspark 机载电脑 Allspark 是阿木实验室为广大AI智能硬件开发者打造的一款微型边缘计算机 在设计之初就定义了尺寸小巧 重量轻 算力强 可靠 扩展性高的特点 Allspark机身采用铝合金新材料外壳设计 xff0c 内置静音
  • 常用的路径规划算法浅析

    路径规划 所谓路径规划 xff0c 也就是在起点和终点之间找到一条连续的运动轨迹 xff0c 在尽可能优化路径的同时避开环境中的障碍物 常用的路径规划算法有传统的基于图搜索算法 基于采样的路径规划算法 xff0c 以及考虑动力学的路径规划算
  • TGK-Planner无人机运动规划算法解读

    高速移动无人机的在线路径规划一直是学界当前研究的难点 xff0c 引起了大量机器人行业的研究人员与工程师的关注 然而无人机的计算资源有限 xff0c 要在短时间内规划出一条安全可执行的路径 xff0c 这就要求无人机的运动规划算法必须轻型而
  • 超实用的日志分析工具——Flightplot,你不会还没用过吧

    在上一篇文章中已经为大家介绍过Flight Review分析日志工具的具体使用 xff0c 但是该工具在使用过程中难免存在一些问题 xff0c 例如 xff1a Flight Review工具需要在线浏览 xff0c 很多时候受制于电脑网络
  • 行业级开源无人机目标追踪,高空助力抓贼!

    活久见 xff01 成都一高楼惊险无人机抓小偷 视频中危险动作 xff0c 请勿模仿 xff01 本次实验中我们使用的是Prometheus 600 xff08 P600 xff09 行业级无人机研发平台 xff08 此平台适用于无人机行业
  • 万众瞩目!ICF5国产开源飞控推出,为国内无人系统发力

    ICF5是AMOVLAB和FMT团队匠心打造的一款专业级 高性能开源自驾仪硬件 搭载了最新的FMT稳定版固件 xff0c 可用于无人机 无人车 无人船和机器人等应用领域 作为FMT的首个自研飞控硬件 xff0c 其飞控系统和芯片均实现了纯国
  • ROS usb-cam无法打开USB摄像头

    usb cam是一个用来打开摄像头并输出图像话题的ros package xff0c 可以自己建立工作空间git clone项目自己编译 xff0c 也可以直接用sudo apt install ros melodic usb cam安装
  • Prometheus V2仿真开发套件全新上市,实现一键启动仿真

    产品介绍 xff1a Prometheus仿真开发套件是阿木实验室为Prometheus仿真以及matlab仿真专门打造的一款小型X86计算主机 xff0c 预装仿真所需环境及全部资源 xff0c 搭载Prometheus地 站和Prome
  • 阿木动态 | 阿木实验室亮相第58·59届中国高等教育展(重庆)

    4月10日 xff0c 第58 59届中国高等教育博览会在重庆国际博览中心圆满结束 本届展会中 xff0c 各大科技企业 研发机构和教育组织都集中展示了最新的教育科技成果和应用 阿木实验室作为一家注重提高客户研发效率的企业 xff0c 此次
  • MFP450 基础飞行平台问世,支持室内室外无GPS环境飞行

    无人机开发入门 xff0c 我们需要一个怎样的基础飞行平台 xff1f 开源无人机的发展日新月异 xff0c 但遗憾的是 xff0c 在PX4和FMT生态中 xff0c 还很少看到一个稳定可靠的基础飞行平台 目前国内市场的选择不多 xff0
  • 赛场直击 | 阿木实验室鼎力支持“智领群蜂”国际无人蜂群技术大赛

    无人蜂群技术是当前国际科研的前沿领域 xff0c 通过多架无人机形成编队自主协同执行任务 xff0c 具有广阔的应用前景 2023年5月7日至5月10日 xff0c 由中国航空协会北京航空航天大学 南京航空航天大学联合主办的 智领群蜂202
  • 三位一体,铸就无敌铁军!海陆空协同,开启集群新篇章!

    在机器人领域 xff0c 多机器人系统的研究一直是一大热点 xff0c 众多高校与研究所逐步投入到机器人集群系统的研究当中 xff0c 其中无人机编队表演 无人车群园区运输 无人船集群水域监测等集群应用更是进入了大众的视野 但对多机器人集群
  • APM2.8自驾仪入门手册(AMOV AUTO)

    APM V2 8 0 自驾仪入门手册 说明这篇文章应该原创与风迅电子 xff0c 我按照这篇文章做了APM的调试 xff0c 感觉比较有价值的文章 xff0c 特在这里做了整理 xff0c 谢谢如此详细的文章 xff01 阿木开源社区 xf
  • Mavlink地面站编写之一--协议分析

    阿木社区 转载注意出处 http www amovauto com Pixhawk APM都是采用MAVLINK协议实现的飞控的数据链路传输 先简单介绍下mavlink协议 Mavlink协议最早由 苏黎世联邦理工学院 计算机视觉与几何实验