当前位置: 首页 > 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…...

数组指针、函数指针、指针数组、函数 指针数组、指针函数详细总结

1.数组指针概念和应用 首先数组指针应该是一个数组&#xff0c;它的定义如下&#xff1a; 数组指针&#xff0c;指的是数组名的指针&#xff0c;即数组首元素地址的指针。即是指向数组的指针。例&#xff1a;int (*p)[10]; p即为指向数组的指针&#xff0c;又称数组指针。 数…...

Linux存储学习笔记

相关文章 Linux 存储系列&#xff5c;请描述一下文件的 io 栈&#xff1f; - tcpisopen的文章 - 知乎 https://zhuanlan.zhihu.com/p/478443978 深入学习 Linux 操作系统的存储 IO 堆栈 - KaiwuDB的文章 - 知乎 https://zhuanlan.zhihu.com/p/636720297 linux存储栈概览 - st…...

ubuntu执行jmeter端口不够用报错(Address not available)

ubuntu执行jmeter端口不够用报错(Address not available) 解决方案 // 增加本地端口范围 echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range// 启用快速回收TIME_WAIT套接字 sudo sysctl -w net.ipv4.tcp_tw_recycle 1// 启用套接字的重用 sudo sysctl -w net.ipv4…...

MongoDB:简单的增删改查操作

一.概述 本篇文章介绍在Navicat中对MongoDB数据库进行增删改查操作,在后面会介绍在Spring Boot中使用MongoTemplate对MongoDB数据库进行相关操作.如有必要可以先看看前面几篇文章. MongoDB:MySQL,Redis,ES,MongoDB的应用场景 MongoDB:数据库初步应用 二.在Navicat进行增删改…...

网络编程(域套接字)

一、域套接字的概念 1.只能做一台主机内的进程间通信&#xff0c;协议族&#xff08;地址族&#xff09;指定为&#xff1a;AF_UNIX AF_LOCAL 2.bsp-lcd&#xff1a; s类型文件&#xff0c;就是域套接字 3.如果客户端不手动绑定&#xff0c;则操作系统不会创建一个套接字文件…...

探索短视频小程序/小年糕

短视频小程序的兴起&#xff0c;为创作者提供了一个全新的平台&#xff0c;让他们能够以更专业的方式展现自己的作品。这种创作形式不仅要求作品内容足够精彩还需要有深度的思考和逻辑性的呈现。本文将探索短视频小程序的专业与深度的创作之道&#xff0c;帮助创作者更好地发挥…...

基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 7 Function callers标签页介绍

不知不觉这个code-mapping专题已经写了6篇文章了,今天是我们这个专题的最后一篇文章了介绍Function callers 这个其实很简单,以前的文章里也有提到CS接口实现两个SWC之间的CS调用,我们在从Code-mapping的角度在说下 首先还是看下模型 我们还记得在simulink里我们用function…...

ARM开发(cortex-A7核中断实验)

1.实验目的&#xff1a;实现KEY1/LEY2/KE3三个按键&#xff0c;中断触发打印一句话&#xff0c;并且灯的状态取反&#xff1b; key1 ----> LED3灯状态取反&#xff1b; key2 ----> LED2灯状态取反&#xff1b; key3 ----> LED1灯状态取反&#xff1b; 2.分析框图: …...

关于融合项目点云pointpillars检测不显示三维检测框问题的解决

这个问题主要还是launch文件中出现了一些偏差。 launch文件的第26行 这里原先是0.6&#xff0c;在检测kitti的时候是0.6&#xff0c;由于kitti是64线激光雷达&#xff0c;我个人用的是16线激光雷达&#xff0c;所以把0.6降到了0.2.出现了三维检测框&#xff0c;问题解决...

spring复习:(57)PropertyOverrideConfigurer用法及工作原理

一、属性配置文件 dataSource.urljdbc:mysql://xxx.xxx.xxx.xxx/test dataSource.usernameroot dataSource.passwordxxxxxx dataSource.driverClassNamecom.mysql.jdbc.Driver #dataSource.typecom.alibaba.druid.pool.DruidDataSource二、spring配置文件 <?xml version&…...

工商注册公司名称核准/成都爱站网seo站长查询工具

CyclicBarrier 意思是&#xff1a;环形栅栏&#xff0c;通过它可以实现让一组线程等待至某个状态之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后&#xff0c;CyclicBarrier可以被重用。我们暂且把这个状态就叫做barrier&#xff0c;当调用await()方法之后&…...

学做ps的网站有哪些/东莞网站制作十年乐云seo

在类中的静态函数里面不能使用$this因为静态不用实例化就生成了内存空间&#xff0c;而类需要实例化之后才生成内存空间&#xff0c;两个内存不在一起所以不能互相访问。所以下面的写法是错误的&#xff1b;class Book extends Goods {public $anthor;public $publisher;static…...

上海什么做网站的公司比较好/浏览器下载安装

题目链接&#xff1a;http://acm.swust.edu.cn/#/problem/698/-1 1000(ms) 65535(kb) 1006 / 2689 用2 台处理机A 和B 处理n 个作业。设第i 个作业交给机器A 处理时需要时间a[i] &#xff0c;若由机器B 来处理&#xff0c;则需要时间b[i]。由于各作业的特点和机器的性能关系…...

网页版梦幻西游谛听怎么获得/杭州网络排名优化

使用的环境&#xff1a;Xcode V8.3.3 学习OpenGL的过程中&#xff0c;会使用到gltools,glew,glfw3,glut等库文件&#xff0c;glut包Mac自带&#xff0c;故不需要考虑。主要考虑的是另三个包文件怎样安装&#xff0c;配置。本文主要讲两大部分&#xff1a; 1. glew&#xff0c;…...

金泉网做网站多少钱/制作网站的步骤是什么

一、xml布局&#xff0c;定义一个按钮(点击获取)和一个ImageView用来装图片xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_parent"android:layout_height"match_parent"android:paddingBottom"dimen/activity_…...

wordpress123页/潍坊住房公积金管理中心

做了那么久的动态网页&#xff0c;特别是类似于文章或者是新闻系统&#xff0c;都是按照很传统的方法来做的。但是看到越来越多的网站都使用生成静态网页的方法&#xff0c;于是我也打算使用这个方法实践一下。希望对一些有这方面的需要的朋友提供点帮助。 本人使用IIS6.0asp.n…...