MAVlink协议 部分通用消息集解析
文章目录
MAVLink是一种非常轻量级的消息传输协议, 用于地面控制终端(地面站)与无人机之间 (以及机载无人机组件之间) 进行通信, 为一种设计用于资源受限系统及带宽受限链路的二进制遥测协议。
-
HEARTBEAT
检测信号消息显示系统或组件存在并正在响应。type 和 autopilot 字段(以及消息组件 id)允许接收系统适当地处理来自该系统的进一步消息(例如,通过基于 autopilot 的用户界面布局)

-
SYS_STATUS
常规系统状态。如果系统遵循 MAVLink 标准,则系统状态主要由三种正交状态/模式定义:系统模式,即 LOCKED(电机关闭和锁定)、MANUAL(RC 控制下的系统)、GUIDED(具有自主位置控制、位置设定点手动控制的系统)或 AUTO(由路径/航路点规划器引导的系统)。NAV_MODE定义了当前的飞行状态:LIFTOFF(通常是开环机动)、LANDING、WAYPOINTS 或 VECTOR。这表示内部导航状态机。系统状态显示系统当前是否处于活动状态,以及是否发生了紧急情况。在 CRITICAL 和 EMERGENCY 状态下,MAV 仍被视为活动状态,但应自动启动紧急程序。发生故障后,它应首先从活动状态变为紧急状态,以允许人工干预,然后在一定超时后状态变为紧急状态。

-
SYSTEM_TIME
系统时间是主时钟的时间,通常是主机载计算机的计算机时钟。

-
PING
请求或响应 ping 的 ping 消息。这允许测量系统延迟,包括串行端口、无线电调制解调器和 UDP 连接

-
CHANGE_OPERATOR_CONTROL
请求控制此 MAV

-
CHANGE_OPERATOR_CONTROL_ACK
接受/拒绝对此 MAV 的控制

-
AUTH_KEY
发出标识此系统的加密签名/密钥。请注意:此协议一直保持简单,因此传输密钥需要一个加密通道才能真正安全

-
LINK_NODE_STATUS
在通信链中的每个节点中生成状态,并注入到 MAVLink 流中

-
SET_MODE
设置系统模式,如 enum MAV_MODE 所定义。没有目标组件 ID,因为根据定义,模式是针对整个飞机的,而不仅仅是针对一个组件

-
PARAM_REQUEST_READ
请求读取具有 param_id 字符串 id 的 onboard 参数。板载参数存储为 key[const char*] -> value[float]。这允许将参数发送到任何其他组件(例如 GCS),而无需事先了解可能的参数名称。因此,相同的 GCS 可以为不同的自动驾驶仪存储不同的参数。

-
PARAM_REQUEST_LIST
请求此组件的所有参数。在此请求之后,将发出所有参数。

-
PARAM_VALUE
发出板载参数的值。消息中包含 param_count 和 param_index 使收件人能够跟踪收到的参数,并允许他在丢失或超时后重新请求缺少的参数。

-
PARAM_SET
设置参数值。接收组件应通过广播 PARAM_VALUE 消息来确认新参数值(广播可确保多个 GCS 都具有所有参数的最新列表)。如果发送 GCS 在其超时时间内未收到 PARAM_VALUE,则应重新发送 PARAM_SET 消息。PARAM_SET也可以在事务的上下文中调用(以 MAV_CMD_PARAM_TRANSACTION 开头)。在事务中,接收组件应以 PARAM_ACK_TRANSACTION 响应 setter 组件(而不是广播PARAM_VALUE),如果未收到 ACK,则应重新发送 PARAM_SET

-
GPS_RAW_INT
全球定位系统 (GPS) 返回的全局位置。

-
GPS_STATUS
GPS 报告的定位状态。此消息旨在显示接收器可见的每颗卫星的状态信息

-
SCALED_IMU
通常 9DOF 传感器设置的 RAW IMU 读数。此消息应包含按所述单位缩放的值。

-
RAW_IMU
9DOF 传感器的 RAW IMU 读数,由 id(默认 IMU1)标识。此消息应始终包含真实的原始值,不进行任何缩放,以允许数据捕获和系统调试。

-
RAW_PRESSURE
一个绝对压力传感器和一个差压传感器的典型设置的 RAW 压力读数。传感器值应为原始的 UNSCALED ADC 值。

-
SCALED_PRESSURE
一个绝压和差压传感器的典型设置的压力读数。单位与每个字段中的指定相同。

-
ATTITUDE
航空坐标系中的姿态(右手、Z 轴下、Y 轴右、X 轴前、ZYX、内在)

-
ATTITUDE_QUATERNION
航空坐标系中的姿态(右手、Z 轴下、X 轴前、Y 轴右),以四元数表示。四元数顺序为 w、x、y、z,零旋转将表示为 (1 0 0 0)。

-
LOCAL_POSITION_NED
过滤后的局部位置(例如,融合的计算机视觉和加速度计)。坐标系为右手,Z 轴向下(航空坐标系,NED / 东北向下约定)

-
GLOBAL_POSITION_INT
过滤后的全局位置(例如,融合的 GPS 和加速度计)。位置在 GPS 框架中(右手,Z 轴向上)

-
RC_CHANNELS_SCALED
接收到的 RC 通道的缩放值:(-100%) -10000、(0%) 0、(100%) 10000。处于非活动状态的频道应设置为 INT16_MAX

-
RC_CHANNELS_RAW
接收到的 RC 通道的 RAW 值。标准 PPM 调制如下:1000 微秒:0%,2000 微秒:100%。值 UINT16_MAX 表示通道未使用。

-
SERVO_OUTPUT_RAW
被 ACTUATOR_OUTPUT_STATUS 取代。伺服输出的 RAW 值(对于来自遥控器的 RC 输入,请使用 RC_CHANNELS 消息)。标准 PPM 调制如下:1000 微秒:0%,2000 微秒:100%。

相关文章:
MAVlink协议 部分通用消息集解析
文章目录 MAVLink是一种非常轻量级的消息传输协议, 用于地面控制终端(地面站)与无人机之间 (以及机载无人机组件之间) 进行通信, 为一种设计用于资源受限系统及带宽受限链路的二进制遥测协议。 HEARTBEAT 检测信号消息显示系统或组件存在并正…...
c++实现跳表
原理 跳表(Skip List) 是一种随机化数据结构,用于高效查找、插入和删除,尤其适用于有序数据集合。相比链表,跳表通过多层索引结构加速查找,期望时间复杂度接近 O(logn)。跳表的主要思想是: …...
新探索研究生英语读写教程pdf答案(基础级)
《新探索研究生英语读写教程》的设计和编写充分考虑国内研究生人才培养目标和研究生公共英语的教学需求, 教学内容符合研究生认知水平, 学术特征突出;教学设计紧密围绕学术阅读、学术写作和学术研究能力培养;教学资源立体多元&…...
管道与共享内存
一,命名管道 管道的限制就是他只能在有血缘关系(父子进程)的进程中,允许互相访问,这是有局限性的,所以我们想在毫无关系的进程中允许他们相互访问,这就是命名管道的定义。 总结:命名…...
ES 自定义排序方式
es默认score是根据query的相关度进行打分的,具体打分机制可以参见:官方文档。如果召回时既希望有相关性又能根据其他信息进行排序。 例如小红书搜索的时候,可能既希望有召回相关度又能根据热度信息(如果喜欢、收藏等等参数去进行召…...
在vue中,编写一个li标签同时使用v-for和v-if,谁的优先级更高
在 Vue 中,v-if 和 v-for 是两个常用的指令,但它们的优先级不同。当二者一起使用时,v-for 的优先级高于 v-if。这意味着,v-for 会先执行,即使列表中的某些元素不满足 v-if 条件,它们仍会被遍历和渲染。 由…...
Java 后端开发面试题及其答案
以下是一些常见的 Java 后端开发面试题及其答案,涵盖了 Java 基础、面向对象、并发、多线程、框架等多个方面: 1. Java 中的基本数据类型有哪些? 答案: Java 中的基本数据类型有 8 种: int:32 位整数lon…...
C++,STL 045(24.10.24)
内容 1.对set容器的大小进行操作。 2.set容器的交换操作。 运行代码 #include <iostream> #include <set>using namespace std;void printSet(set<int> &s) {for (set<int>::iterator it s.begin(); it ! s.end(); it){cout << *it <…...
二叉树习题其五【力扣】【算法学习day.12】
前言 书接上篇文章二叉树习题其四,这篇文章我们将基础拓展 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一…...
【数据库】Mysql的锁类型
Mysql中的锁机制主要是为了保证数据的一致性和完整性,在并发的情况下起着至关重要的作用。其中锁的类型主要是分为以下几种: 按照粒度分类 全局锁:对于整个数据库实例进行枷锁,加锁后整个实例就处于只读的状态。局锁通常用于需要…...
自媒体短视频制作素材下载网站推荐,让创作更简单
随着自媒体行业的火爆,视频质量要求也越来越高。想要找到无版权的高清视频素材并不容易,但别担心!今天为大家整理了5个国内外高质量的素材网站,让你轻松获取自媒体短视频素材,快收藏起来吧! 蛙学网 蛙学网是…...
Altium Designer 入门基础教程(五)
本文章继续接着《Altium Designer 入门基础教程(四)》的内容往下介绍: 七、AD画板的整个流程步骤 I.集成库的制作 AD元件库有2种:1、原理图元件库SCH.LIB 2、印刷电路板(PCB)元件库 PCB.LIB 印刷电路…...
Java题集练习3
Java题集练习3 1 什么时候用instanceof instanceOf关键字主要用于判断一个对象是否为某个类的子类或是接口的实例,通常用于类型转换和运行时类型判断的场景,比如继承和多态中。比如,创建一个Animal类及其子类Cat和Cat子类Hat,可…...
【部署篇】Haproxy-01安装部署(源码方式安装)
一、HAProxy概述 HAProxy是一款免费、快速且可靠的代理软件,提供高可用性、负载均衡,支持TCP和HTTP应用代理,HAProxy凭借其卓越的性能和灵活性,成为众多知名网站和系统的首选代理软件。 核心特点: 高性能…...
开拓鸿蒙测试新境界,龙测科技引领自动化测试未来
在当今科技舞台上,鸿蒙 OS 以非凡先进性强势登场,打破传统操作系统格局,为软件测试领域带来全新机遇与艰巨挑战。 一、鸿蒙 OS 的辉煌崛起 (一)壮丽发展历程与卓越市场地位 鸿蒙 OS 的发展如波澜壮阔的史诗。2023 年…...
Java项目-基于springboot框架的自习室预订系统项目实战(附源码+文档)
作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…...
调整数组奇偶数顺序
今天给大家分享一道题目,要求我们输入一个数组,将全部奇数放在偶数前面(无需比较大小),下面是我写的代码 这个方法比使用三个数组进行数据传输要节省不少程序运行时间,缺点是使用了较多的while循环…...
Electron调用nodejs的cpp .node扩展【非安全】
Electron调用nodejs的cpp .node扩展【非安全】 环境: electron: 30.1.1 nodejs: 20.14.0前言 Electron中可以非常容易的调用nodejs的js代码,但是对于cpp .node扩展需要一定的配置才能调用,下面介绍一种最简单的cpp扩展的调用方法ÿ…...
一文了解AOSP是什么?
一文了解AOSP是什么? AOSP基本信息 基本定义 AOSP是Android Open Source Project的缩写,这是一个由Google维护的完全免费和开放的操作系统开发项目。它是Android系统的核心基础,提供了构建移动操作系统所需的基本组件。 主要特点 完全开源…...
ffmpeg视频边缘模糊,打造梦幻般的视觉效果!
在视频编辑的世界里,细节决定成败。边缘模糊效果是一种强大的工具,可以让你的作品瞬间提升质感。通过简单的命令,你可以轻松实现视频边缘的柔和化处理,创造出梦幻般的视觉效果。 想象一下,当你将一段普通的视频应用边…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
