当前位置: 首页 > news >正文

(6)(6.2) 任务命令

文章目录

        前言

6.2.1 概述

6.2.2 导航命令

6.2.3 条件命令

6.2.4 DO命令


前言

本文介绍了 CopterPlaneRover 切换到自动模式时支持的任务指令

Warning

这是一项正在进行中的工作,尚未经过全面审核。有关 Copter 的更佳列表,请点击此处(Copter can be found here)。


6.2.1 概述

MAVLink 协议定义了大量 MAV_CMD 航点命令类型(在MAVLink_mission_item_message中发送)。ArduPilot 对这些命令的子集和命令参数进行了处理,这些子集和参数对每辆飞行器来说都是最相关和最有意义的。发送到特定自动驾驶仪的不支持命令将被直接丢弃。

本文列出并描述了每种车辆类型所支持的命令和命令参数。任何"灰色"的参数都是自动驾驶仪不支持的,将被忽略。本文仍对这些参数进行了记录,以明确说明飞行器不执行 MAV_CMD(MAV_CMD protocol)协议支持的哪些属性。

有些命令和命令参数没有执行,是因为它们与特定的飞行器类型无关(例如,"MAV_CMD_NAV_TAKEOFF"命令适用于固定翼和旋翼飞机,但不适用于无人车,而俯仰参数只适用于固定翼)。还有一些可能有用的命令参数没有被处理,因为信息大小有限制,而且已经决定优先处理某些参数,而不是其他参数。

Note

有关 Copter 支持命令的其他信息(从 Mission Planner 的角度),请参阅 Copter 任务命令列表(Copter Mission Command List)。

命令类型

任务中可以使用几种不同类型的命令:

  • 导航指令用于控制飞行器的移动,包括起飞、前往和绕行航点、改变高度和着陆;
  • DO命令用于辅助功能,不影响飞行器位置(例如,设置摄像机触发距离或设置伺服值);
  • 条件指令用于延迟 DO 指令,直到满足某些条件,例如无人机达到一定高度或距离航点一定距离。

在一次任务中,最多只能同时运行一条"Navigation(导航)"命令和一条"Do(执行)"或"Condition(条件)"命令。一个典型的任务可能会设置一个航点(NAV 命令),添加一个在距离目的地一定距离后才完成的 CONDITION 命令(MAV_CMD_CONDITION_DISTANCE),然后添加一些 DO 命令,这些命令会在条件完成后按顺序执行(例如 MAV_CMD_DO_SET_CAM_TRIGG_DIST,用于定时拍照)。

Note

CONDITION DO 命令与前面的 NAV 命令相关联:如果无人飞行器在执行这些命令之前到达下一个航点,则将加载下一条 NAV 命令,并跳过这些命令。

参考框架

许多命令(尤其是 NAV_ commands)都包含位置/定位信息。这些信息是相对于特定"参照系"提供的,该参照系在信息的"参照系"(Frames of reference)字段中指定。旋翼飞机和无人车飞行任务使用 MAV_CMD_DO_SET_HOME 命令在全球坐标框架(MAV_FRAME_GLOBAL)、WGS84 坐标系(WGS84 coordinate system)中设置"原点位置",其中海拔高度相对于平均海平面。所有其他命令都使用 MAV_FRAME_GLOBAL_RELATIVE_ALT 框架,该框架使用相同的经纬度,但将高度设置为相对于原点位置(原点高度 = 0)。

固定翼命令还可以使用 MAV_FRAME_GLOBAL_TERRAIN_ALT 参照基准。这同样具有 WGS84 的纬度/经度参考框架,但指定了相对于地面高度的高度(如地形数据库中的定义)。

Note

任务命令不支持 MAVLink 协议中定义的其他帧类型(请参阅 MAV_FRAME)。

信息的准确性如何?

如果一条命令或参数被标记为支持,那么它很可能(但不保证)会按照指示执行。如果命令或参数未列出(或标记为不支持),则极有可能 ArduPilot 不支持该命令或参数。

原因是,这些信息主要是通过检查命令处理程序的信息推断出来的:

  • 对 AP_Mission::mavlink_to_mission_cmd 中的开关语句进行检查,以确定所有飞行器平台都会处理哪些命令,并存储信息中的哪些参数;
  • 每种飞行器类型(Plane, Copter, Rover)的命令处理程序开关会告诉我们每种飞行器可能支持哪些命令,以及哪些参数会传递给处理程序。

通过上述检查,可以非常准确地了解哪些命令和参数不受支持。它们还能比较准确地说明哪些命令/参数可能会被支持。不过,这种显示并不保证准确,因为命令处理程序可能会丢弃所有信息(我们也没有完全检查所有这些信息)。

除上述检查外,我们还合并了旋翼飞机任务指令列表中的信息(Copter Mission Command List)。

如何解释命令参数

表中列出了每条命令的参数。"灰色显示"的参数不受支持。命令字段列(参数名)使用 "粗体"文本表示协议中定义的参数(""参数使用普通文本)。

这样,用户/开发人员就能看到 ArduPilot 支持哪些协议字段,以及不支持哪些协议字段。

GCS上使用此信息

Mission Planner (MP) 公开了 ArduPilot 支持的全部命令和参数子集,经过过滤后仅显示与当前连接的飞行器相关的命令和参数。将 MP 命令映射到本文档非常简单,因为它只需使用完整命令名称的缩减版来命名命令(例如DO_SET_SERVO,而不是完整命令名称:MAV_CMD_DO_SET_SERVO)。此外,本文档还方便地列出了 Mission Planner 在每个参数旁边使用的列标。

其他 GCSAPM Planner 2Tower 等)可能支持其他一些命令/参数子集,并使用其他名称/标签。在大多数情况下,映射应该是显而易见的。

6.2.2 导航命令

篇幅过多,另起一篇介绍:

6.2.3 条件命令

篇幅过多,另起一篇介绍:

6.2.4 DO命令

篇幅过多,另起一篇介绍:

相关文章:

(6)(6.2) 任务命令

文章目录 前言 6.2.1 概述 6.2.2 导航命令 6.2.3 条件命令 6.2.4 DO命令 前言 本文介绍了 Copter、Plane 和 Rover 切换到自动模式时支持的任务指令。 !Warning 这是一项正在进行中的工作,尚未经过全面审核。有关 Copter 的更佳列表,请…...

【consul】

consul 一、什么是服务注册与发现1.11.2 二、 什么是consul2.1定义2.2特性2.2.1服务注册与发现:2.2.2健康检查:2.2.3Key/Value存储: 三、consul部署-datacenter :指定数据中心名称,默认是dc1。consul :指定…...

Electron环境搭建

Electron是一个优秀的开源框架,用于构建跨平台的桌面应用程序。它基于Chromium和Node.js,使得开发者可以使用Web技术(HTML、CSS和JavaScript)来构建可在Windows、macOS和Linux等多个操作系统上运行的应用程序。本文将介绍如何搭建…...

MinIO线上扩容实战

硬件投入肯定是随着业务的增长而增长,这就要求中间件平台必须提供水平伸缩机制,MinIO对象存储服务也不例外,本文就详细介绍MinIO的扩容。 Minio支持通过增加新的Server Pool来扩容老的集群。每个Server Pool都是一个相对独立的故障域&#x…...

【微服务】微服务的概论

微服务:构建面向为了解决这个问题,微服务架构应运而生。本文将向您介绍微服务的概念、优势、实现原理以及应用场景,带您领略微服务在构建面向未来的高效应用中的魅力。 一、微服务的概念和优势 微服务是一种将应用拆分为一系列小型、独立服…...

基于Jenkins自动打包并部署docker环境

目录 1、安装docker-ce 2、阿里云镜像加速器 3、构建tomcat 基础镜像 4、构建一个Maven项目 实验环境 操作系统 IP地址 主机名 角色 CentOS7.5 192.168.200.111 git git服务器 CentOS7.5 192.168.200.112 Jenkins git客户端 jenkins服务器 CentOS7.5 192.168…...

jvm 运行时数据区

Java虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线程一一对应的,这些与线程对应的数据区域会随着线程开始和结束而创建和销毁 1.1程序计数器 程序计数器也叫pc寄存器 可以看作是当前线程…...

Jobs Portal求职招聘系统源码v3.5版本

Jobs Portal求职招聘系统 是为求职者和公司发布职位而开发的交互式求职招聘源码。它使求职者能够发布简历、搜索工作、查看个人工作列表。 它将提供各种公司在网站上放置他们的职位空缺资料,并且还可以选择搜索候选人简历。 除此之外,还有一个管理模块供…...

Android kotlin系列讲解(入门篇)使用Intent在Activity之间穿梭

<<返回总目录 上一篇:Android kotlin系列讲解(入门篇)Activity的理解与基本用法 文章目录 1、使用显式Intent2、使用隐式Intent3、更多隐式Intent的用法4、向下一个Activity传递数据5、返回数据给上一个Activity1、使用显式Intent 你应该已经对创建Activity的流程比较…...

音频编码类型及对应的封装文件

音频编码类型及对应的封装文件 如下表格 编码类型解释文件封装audio/mp4a-latmMPEG-4 Audio Advanced Audio Coding (AAC) Low-Overhead Audio Transport Multiplex (LATM) 压缩的音频格式mp4audio/3gpp3rd Generation Partnership Project (3GPP) 定义的音频编码格式3GPaudi…...

初探科研 | 第一次科研经历

1 . 自己的experiences 自己大二下学期中比较幸运加入到科研组里&#xff0c;做的方向是3D人体姿态估计&#xff0c;不过由于是一个全新领域&#xff0c;基本也是自己这个小白探索&#xff0c;所以成果甚微。在八月初由于各种原因退出了组&#xff0c;但是在这期间收获还是蛮多…...

Wireshark数据抓包分析之HTTP协议

一、实验目的&#xff1a; 主要时熟悉wireshark的使用 二、预备知识&#xff1a; HTTP协议的相关知识 what fk&#xff0c;原来只要在右页点击切换&#xff0c;就可以开启2台不同的机器欸&#xff01;nice 三、实验过程&#xff1a; 1.在机器1中通过管理员身份运行hfs之后&a…...

研发管理工具大揭秘!6款利器助你高效研发

"研发管理工具有哪些&#xff1f;6款研发管理利器分析Zoho Projects、Trello、Asana、Monday.com、Smartsheet、Jira。" 在如今的科技发展日新月异的时代&#xff0c;研发管理工具的重要性日益凸显。研发管理工具有助于提高研发效率&#xff0c;降低成本&#xff0c;…...

云知识入门-什么是虚拟机、磁盘、镜像和快照

一、虚拟机 1、什么是虚拟机 虚拟机&#xff08;VM&#xff09;是一种创建于物理硬件系统&#xff08;位于外部或内部&#xff09;、充当虚拟计算机系统的虚拟环境&#xff0c;它模拟出了自己的整套硬件&#xff0c;包括 CPU、内存、网络接口和存储器。通过名为虚拟机监控程序…...

C/C++编译整理

1. 编译器 查看编译情况 gcc main.c -o main -v # -v查看编译详情 g main.c -o main -v # -v查看编译详情添加预处理头文件 在PATH中找到可执行文件程序的路径 export PATH $PATH:$HOME/bin gcc找到头文件的路径 C_INCLUDE_PATH/usr/include/libxml2:/MyLib export C_I…...

数据结构——栈和队列

栈和队列的建立 前言一、栈1.栈的概念2.栈的实现3.代码示例&#xff08;1&#xff09;Stack.h&#xff08;2&#xff09;Stack.c&#xff08;3&#xff09;Test.c&#xff08;4&#xff09;运行结果&#xff08;5&#xff09;完整代码演示 二、队列1.队列的概念2.队列的实现3.代…...

苍穹外卖阿里云oss存储笔记

阿里云oss 阿里云对象存储oss&#xff08;Object Storage Service&#xff09;&#xff0c;是一款海量&#xff0c;安全&#xff0c;低成本&#xff0c;高可靠得云存储服务&#xff0c;使用oss&#xff0c;您可以通过网络随时存储和调用包括文本&#xff0c;图片&#xff0c;视…...

Kafka 集群搭建过程

前言 跟着尚硅谷海哥文档搭建的Kafka集群环境&#xff0c;在此记录一下&#xff0c;侵删 注意&#xff1a;博主在服务器上搭建环境的时候使用的是一个服务器&#xff0c;所以这篇博客可能会出现一些xsync分发到其他服务器时候的错误&#xff0c;如果你在搭建的过程中出现了错…...

【算法随记】在计算过程中模的情况

https://leetcode.cn/problems/power-of-heroes/ 计算过程中&#xff0c;可以放心模的情况&#xff1a; 加减乘 先模再加再模和直接加再模一样 a m o d m b m o d m ≡ a b ( m o d m ) a\mod mb\mod m ≡ ab \ (\mod m) amodmbmodm≡ab (modm) 先模再减再模和直接减再模…...

MSTP多生成树协议(第二课)

MSTP负载均衡 实验 需求 1&#xff09;PC1属于 vlan 10 &#xff0c;IP地址为 192.168.10.1/24&#xff0c; 网关为 192.168.10.2542&#xff09;PC2属于 vlan 20 &#xff0c;IP地址为 192.168.20.1/24&#xff0c; 网关为 192.168.20.254**3&#xff09;确保PC1与PC2互通4…...

从论文复现到算法创新:我是如何利用VRP标准算例搞定实验对比的

从论文复现到算法创新&#xff1a;VRP标准算例的实战应用指南 在算法研究领域&#xff0c;车辆路径问题(VRP)一直是组合优化中的经典难题。每当我翻开顶级期刊论文&#xff0c;总会被那些漂亮的实验结果所吸引——精确到小数点后三位的优化率、清晰的收敛曲线、严谨的统计检验。…...

别再为论文格式掉头发了!Paperxie 一键搞定 4000 + 高校排版规范

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能格式排版/文献综述/AI PPThttps://www.paperxie.cn/format/typesettinghttps://www.paperxie.cn/format/typesetting 你有没有过这种经历&#xff1a;论文内容改到导师点头&#xff0c;却栽在格式这最后一关&#xff1f;…...

智慧校园平台建设要多少钱?这份预算规划指南帮你理清思路

✅作者简介&#xff1a;合肥自友科技 &#x1f4cc;核心产品&#xff1a;智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…...

别再手动敲表格了!用Python+PaddleOCR,5分钟搞定图片转Excel(附完整代码)

智能表格提取革命&#xff1a;用PaddleOCR实现图片转Excel的工业级解决方案 在数据驱动的商业环境中&#xff0c;每天有数百万份纸质表格、扫描文档和截图等待被数字化处理。传统的手动录入不仅效率低下&#xff0c;错误率高达18%-22%&#xff08;国际数据公司2023年办公自动化…...

6自由度机械臂精准控制:开源ROS方案的技术突破与工业应用

6自由度机械臂精准控制&#xff1a;开源ROS方案的技术突破与工业应用 【免费下载链接】pick-place-robot Object picking and stowing with a 6-DOF KUKA Robot using ROS 项目地址: https://gitcode.com/gh_mirrors/pi/pick-place-robot 在工业自动化领域&#xff0c;…...

AI代码智能体突破电话验证瓶颈:从环境模拟到混合架构的实战方案

1. 项目概述&#xff1a;当代码智能体遇上“电话验证墙”最近在折腾Claude这类AI代码助手做自动化任务时&#xff0c;我发现一个挺有意思的瓶颈&#xff1a;它们经常在需要电话验证&#xff08;Phone Verification&#xff09;的环节上“卡壳”。这可不是个小问题&#xff0c;想…...

Fillinger智能填充插件:如何用3分钟完成1小时的设计工作?

Fillinger智能填充插件&#xff1a;如何用3分钟完成1小时的设计工作&#xff1f; 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 还在为Adobe Illustrator中繁琐的图案填充而头疼吗…...

Compass Design

Compass Design 圆规设计...

还在手动找媒体发稿?看我们团队如何用AI工具把宣发效率提升300%

大家好&#xff0c;我是某互联网公司的技术负责人老王。最近团队上线了一个新项目&#xff0c;市场部的同事跑来问我&#xff0c;能不能帮忙解决下媒介宣发的问题。他们说&#xff0c;每次发个新闻稿或者产品软文&#xff0c;都得一个个去联系媒体、求小编&#xff0c;价格不透…...

为什么92%的用户调不出正宗120胶片感?揭秘Midjourney底层色彩映射矩阵与胶片光谱响应偏差

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;胶片感的视觉本质与数字复现困境 胶片感并非单一参数可定义的视觉效果&#xff0c;而是由卤化银晶体随机分布、显影化学反应非线性响应、颗粒噪点的空间相关性以及动态范围压缩特性共同构成的模拟物理现…...