(6)(6.6) 恢复任务回放

文章目录

前言

6.6.1 配置

6.6.2 工作原理

6.6.3 局限性


前言

本页介绍了什么是"任务继续时后退"功能以及如何使用该功能。

Note

4.1 版起,PlaneCopterRover 均可使用此功能。


在某些应用或运行区域,为了消除冲突,通常会中断任务,方法是切换到另一种模式,并使飞行器偏离计划的任务路径。当准备继续执行任务时,飞行器的正常行为是直接飞行/驾驶到任务中加载的最后一个"活动"航点。这种行为如下图所示:

可以看出,这使得计划飞行任务的很大一部分要么被错误的航迹和航向覆盖,要么根本没有覆盖。这对于数据收集任务(如勘测)来说是个问题,导致需要重复执行任务。

恢复时倒带(rewind-on-resume)功能可以纠正这种行为。后退距离由操作员定义。当飞行任务恢复时,飞行器将在飞行任务中断点后方所需的距离内返回飞行任务轨道。这样,飞行器在到达最初中断的位置之前,就有足够的时间达到所需的轨道和航向。这种行为如下所示:

6.6.1 配置

通过设置 DO_SET_RESUME_REPEAT_DIST 任务项,可以启用恢复时倒带功能。有两种方法可供选择:

1) 地面控制站识别DO_SET_RESUME_REPEAT_DIST任务项目

  • 在任务中希望启用该功能的位置添加 DO_SET_RESUME_REPEAT_DIST 任务项;
  • 将第一列数据设置为任务恢复时的倒带距离(以米为单位)。

2) 地面控制站无法识别DO_SET_RESUME_REPEAT_DIST任务项目

  • 从希望启用该功能的任务点添加一个 UNKNOWN 任务项目,并将 MAVLink ID 设置为 215
  • 将第一列数据设置为任务恢复时的倒带距离(以米为单位)。

Note

必须将 MIS_RESTART 参数设置为零,以防止飞行任务重新启动,这项功能才能起作用。

要检查飞行任务中是否正确设置了倒带距离,请监控地面控制站的信息输出。当飞行器注册该命令时,将显示以下信息: "恢复重复距离设置为 <DISTANCE> m"。

在整个任务过程中,可以设置多个 DO_SET_RESUME_REPEAT_DIST 命令。这使操作员能够在整个任务过程中改变倒带距离或开关该功能,因为在某些任务路段操纵飞行器时需要非常小心和准确。

可以通过设置距离为零的 DO_SET_RESUME_REPEAT_DIST 任务项来关闭这一功能。

Tip

在确定所需的恢复距离时,对大多数飞行器来说,一个合理的值是最小转弯半径的两倍。唯一的例外是可以原地转向的飞行器(多旋翼飞行器和某些无人车),在这种情况下,合理的距离应为 WP_RADIUS 的两倍。

6.6.2 工作原理

一旦启用,ArduPilot 将开始记录成功加载为"活动"的航点。最多可存储七个航点的历史记录。任务恢复后,将搜索任务历史记录,直到以下任一情况:

  • 在任务轨道中找到一个满足倒带距离要求的位置;
  • 找到已存储任务历史记录的终点,在这种情况下,恢复位置将是历史记录中存储的最后一个航点。

然后,飞行器将恢复到任务轨道上的该位置,并按计划继续执行任务。

Note

恢复位置会考虑高度因素。如果飞行器沿任务航迹恢复飞行,而飞行器的高度正在发生变化,则恢复位置的高度将在两个相邻航点之间进行线性插值。

Note

为防止飞行器存储模糊的历史记录并重新回到意外位置,如果使用地面控制站或脚本中的设定航点功能更改任务,则历史记录将被重置。这可以防止飞行器将任务倒带回到历史记录被重置的位置。

Note

该功能与 DO_JUMP 命令配合使用,在飞行器继续执行任务时,跳跃次数不会递增。

6.6.3 局限性

1) 任务航段短:如果任务中的航点间距很近,而请求的后退距离大于最后通过的六个航点的距离,那么飞行器将在存储的"最旧"航点上继续前进。

2) 曲线航点:该功能可与曲线航点一起使用。不过,由于距离计算是基于导航命令位置之间的直线,因此恢复距离的精确度会降低。

3) 非航点导航命令:该功能适用于非航点导航命令,例如 LOITER_TURNS。但是,距离计算并不考虑这些命令中的飞行器航迹距离。以前面的例子为例,距离计算不考虑徘徊中的飞行距离。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/103614.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【应用层】网络基础 -- HTTP协议

再谈协议HTTP协议认识URLurlencode和urldecodeHTTP协议格式HTTP的方法HTTP的状态码HTTP常见HeaderHTTP周边会话保持 再谈协议 协议是一种 “约定”. socket api的接口&#xff0c;在读写数据时&#xff0c;都是按 “字符串” 的方式来发送接收的(tcp是以字节流的方式发送的&am…

通过仿真理解RLC串联电路和RLC并联电路的阻抗、导纳、品质因数等概念

一.RLC串联电路 1.阻抗 CSDN编辑公式太难受了。。。直接上PPT~ 2.RLC串联电路阻抗的仿真分析 仿真与理论计算&#xff0c;还是有些误差存在的。 二.RLC并联电路 1.导纳 2.RLC并联电路阻抗的仿真分析 3.RLC并联电路的“虚断”特性 三、LC电路的作用 四、品质因子Q 1.RLC串…

YOLOv5基础知识入门(7)— NMS(非极大值抑制)原理解析

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。NMS是指非极大值抑制&#xff08;non maximum suppression&#xff09;&#xff0c;它是一种常用于物体检测任务的算法。在物体检测中&#xff0c;通常会有多个预测框&#xff08;bounding box&#xff09;被提议出来&…

Gitlab服务部署及应用

目录 Gitlab简介 Gitlab工作原理 Gitlab服务构成 Gitlab环境部署 安装依赖包 启动postfix&#xff0c;并设置开机自启 设置防火墙 下载安装gitlab rpm包 修改配置文件/etc/gitlab/gitlab.rb&#xff0c;生产环境下可以根据需求修改 重新加载配置文件 浏览器登录Gitlab输…

【C语言】扫雷游戏(可展开)——超细教学

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;C语言 &#x1f525;该篇将运用数组来实现 扫雷游戏。 目录&#xff1a; &#x1f31f;思路框架测试游戏 &#x1f31f;测试部分函数实现&am…

23种设计模式攻关

&#x1f44d;一、创建者模式 &#x1f516;1.1、单例模式 单例模式&#xff08;Singleton Pattern&#xff09;&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供全局访问点。 在某些情况下&#xff0c;我们需要确保一个类只能有一个实例&#xff0c;比如数据库连接…

Qt+Pyhton实现麒麟V10系统下word文档读写功能

目录 前言1.C调用python1.1 安装Python开发环境1.2 修改Qt工程配置1.3 初始化Python环境1.4 C 调用Python 函数1.5 常用的Python接口 2.python虚拟环境2.1Python虚拟环境简介2.2 virtualenv 安装及使用2.3 在C程序中配置virtualenv 虚拟环境 3.python-docx库的应用4.总结 前言 …

WPF中手写地图控件(3)——动态加载地图图片

瓦片增加一个Loading动画 可以查看我的另一个博客WPF中自定义Loading图 从中心扩散 进行从里到外的扩散&#xff0c;方向是上左下右。如下图所示 于是我们可以定义一个拥有坐标X跟Y的集合&#xff0c;他允许这个集合&#xff0c;内部使用枚举器的MoveNext自动排序&#xf…

文件容灾备份方案,软件容灾备份方案

信息是企业的核心资产。然而&#xff0c;信息数据丢失的风险接踵而至。事故系统异常、病毒攻击、硬件损坏和自然灾害都可能导致重要数据的丢失。这就是为什么文档灾难恢复备份计划如此重要。本文将详细介绍文档灾难恢复备份计划的必要性&#xff0c;以及如何实施有效的备份方案…

使用Nodejs搭建简单的HTTP服务器 - 内网穿透公网远程访问

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址&#x1f340;小结&#x1f340; &#x1f389;博客主页&#xff1a;小智_x0___0x_ &#x1f389;欢迎关注&#xff1a;&…

LLM架构自注意力机制Transformers architecture Attention is all you need

使用Transformers架构构建大型语言模型显著提高了自然语言任务的性能&#xff0c;超过了之前的RNNs&#xff0c;并导致了再生能力的爆炸。 Transformers架构的力量在于其学习句子中所有单词的相关性和上下文的能力。不仅仅是您在这里看到的&#xff0c;与它的邻居每个词相邻&…

韦东山-电子量产工具项目:UI系统

代码结构 所有代码都已通过测试跑通&#xff0c;其中代码结构如下&#xff1a; 一、include文件夹 1.1 common.h #ifndef _COMMON_H #define _COMMON_Htypedef struct Region {int iLeftUpX; //区域左上方的坐标int iLeftUpY; //区域左下方的坐标int iWidth; //区域宽度…

如何在 Opera 中启用DNS over HTTPS

DNS over HTTPS&#xff08;基于HTTPS的DNS&#xff09;是一种更安全的浏览方式&#xff0c;但大多数 Web 浏览器默认情况下不启用它。了解如何在 Opera 浏览器中启用该功能。 您可能不知道这一点&#xff0c;但您的网络浏览器并不像您希望的那样私密或安全。您会看到&#xff…

搭建AI智能问答的这些前期工作可不要忘了

在搭建AI智能问答之前&#xff0c;我们需要做好相应的前期准备工作&#xff0c;不能盲目地去搭建模型。这样很容易导致我们模型后续的不完整性。所以looklook今天就基于搭建AI智能问答最基础的思路&#xff0c;带领大家一起去理顺一下我们需要做什么前期工作才能保证AI智能问答…

Web 开发 Django 管理工具

上次为大家介绍了 Django 的模型&#xff0c;通过模型就可以操作数据库&#xff0c;从而就可以改变页面的展示内容&#xff0c;那问题来了&#xff0c;我们只能通过手动编辑模型文件来配置模型吗&#xff1f;当然不是&#xff0c;Django 为我们提供了强大的工具&#xff0c;可以…

0101prox-shardingsphere-中间件

1 启动ShardingSphere-Proxy 1.1 获取 目前 ShardingSphere-Proxy 提供了 3 种获取方式&#xff1a; 二进制发布包DockerHelm 这里我们使用Docker安装。 1.2 使用Docker安装 step1&#xff1a;启动Docker容器 docker run -d \ -v /Users/gaogzhen/data/docker/shardings…

安装Node(脚手架)

目录 一&#xff0c;安装node&#xff08;脚手架&#xff09;1.1&#xff0c; 配置vue.config.js1.2&#xff0c; vue-cli3x的目录介绍1.3&#xff0c; package.json 最后 一&#xff0c;安装node&#xff08;脚手架&#xff09; 从官网直接下载安装即可&#xff0c;自带npm包管…

OpenCV基础知识(5)— 几何变换

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。OpenCV中的几何变换是指改变图像的几何结构&#xff0c;例如大小、角度和形状等&#xff0c;让图像呈现出缩放、翻转、旋转和透视效果。这些几何变换操作都涉及复杂、精密的计算。OpenCV将这些计算过程都封装成了非常灵活的…

自动化编排工具Terraform介绍(一)

Terraform是什么&#xff1f;: Terraform 是 HashiCorp 公司旗下的 Provision Infrastructure 产品, 是 AWS APN Technology Partner 与 AWS DevOps Competency Partner。Terraform 是一个 IT 基础架构自动化编排工具&#xff0c;它的口号是“Write, Plan, and Create …

优化时间流:区间调度问题的探索与解决

在浩如烟海的信息时代&#xff0c;时间的有效管理成为了一门不可或缺的艺术。无论是生活中的琐事&#xff0c;还是工作中的任务&#xff0c;时间都在无声地流逝&#xff0c;挑战着我们的智慧。正如时间在日常生活中具有的宝贵价值一样&#xff0c;在计算机科学领域&#xff0c;…