(7)(7.6) 恢复任务回放

news/2024/4/24 5:02:13/

文章目录

        前言

7.6.1 配置

7.6.2 工作原理

7.6.3 局限性


前言

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

Note

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


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

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

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

7.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 的两倍。

7.6.2 工作原理

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

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

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

Note

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

Note

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

Note

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

7.6.3 局限性

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

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

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


http://www.ppmy.cn/news/1048402.html

相关文章

one-api one-api 配置讯飞星火大模型的几点注意事项

one-api 配置讯飞星火大模型的几点注意事项 讯飞星火大模型没有 non-stream 模型&#xff0c;使用 AMA 连接时&#xff0c;先使用其他渠道设置&#xff0c;然后禁用其他渠道&#xff0c;启用讯飞星火大模型渠道。频繁发生 timeout 错误&#xff0c;one-api/controller/relay-xu…

6个主流的工业3D管道设计软件

3D 管道设计软件是大多数行业工程工作的主要部分&#xff0c;例如&#xff1a; 电力、石油和天然气、石化、炼油厂、纸浆和造纸、化学品和加工业。 全球各工程公司使用了近 50 种工厂或管道设计软件。 每个软件都有优点和缺点&#xff0c;包括价格点。 EPC 和业主部门当前的趋势…

FL Studio21.1最新中文版本新功能有哪些?详细下载教程

FL Studio 21.1通过钢琴卷中的音阶吸附和基于 Python 的脚本&#xff0c;提供了更快捷、更有创意的音符编辑功能。更新版还带来了针对更好的管理采样的彩色波形&#xff0c;Hyper Chorus 极致合唱插件、Edison 中的 AI Declipper&#xff08;人工智能去削波器&#xff09;等。 …

nginx 限速之limit_req

nginx_http_limit_req_module用于限制定义key(单个ip)的请求的处理速度限制的方法如同漏斗,每秒固定处理请求数,推迟过多请求,如但客户端ip的每秒请求数.还可以用于安全防护,限制密码撞库暴力破解等操作频率,也可以通过把请求频率限制在一个正常范围来抵御ddos攻击,不过更常见的…

qt中窗口的布局

qt中窗口的布局 常用的窗口布局方式使用拖拽控件的方式调用窗口布局使用Widget控件完成窗口布局布局中嵌套布局demo&#xff08;制作登录页面&#xff09; 如果不使用窗口布局&#xff0c;会带来的后果&#xff1a; 控件可能显示不出来不能按照期望的大小显示不能跟随窗口进行…

CloudQuery实战 | 谁说没有一款一体化数据库操作管控云平台了?

文章目录 CloudQuery询盾的地址CloudQuery主页统一入口数据库归纳SQL编辑器权限管控审计中心数据保护数据变更 CloudQuery文档中心了解CloudQuery快速入门安装步骤社区版v2.1.0操作手册1数据查询更新日志 CloudQuery社区和活动 CloudQuery线上实战线上实战主页面展示及数据操作…

AI夏令营笔记——任务1

任务1 文章目录 任务1任务说明实现思路优化方向conclusion 任务说明 任务要求主要如下&#xff1a; 从论文标题、摘要作者等信息&#xff0c;判断该论文是否属于医学领域的文献。 可以将任务看作是一个文本二分类任务。机器需要根据对论文摘要等信息的理解&#xff0c;将论文…

【SA8295P 源码分析】71 - QAM8295P 原理图参考设计 之 MIPI DSI 接口硬件原理分析

【SA8295P 源码分析】71 - QAM8295P 原理图参考设计 之 MIPI DSI 接口硬件原理分析 一、MIPI-DSI 接口介绍二、高通参考硬件原理图分析:ANX7625 桥接芯片方案2.1 高通参考设计:两路 4-Lane DSI 接口2.2 高通参考设计:DSI0 硬件原理图,将 4 Lane DSI数据通过 ANX7625 桥接芯…

数字化转型时代—人人必学的7项商业分析思维

月説小飞象交流会 人生总有不期而遇的温暖和生生不息的希望。 内部交流│29期 数字化转型时代 人人必学的7项商业分析思维 data analysis ●●●● 分享人&#xff1a;Sophia 数字化时代&#xff0c;数据连接一切&#xff0c;数据驱动一切、数据重塑一切&#xff0c;数据是企业…

el-table根据容器大小自适应滚动条-修改滚动条样式

需求&#xff1a;父容器里有多个容器为上下级&#xff0c;之后浏览器在缩放的时候&#xff0c;上面容器高度改变了&#xff0c;所以el-table被挤压&#xff0c;如果el-table设置的是固定的高度&#xff0c;那么挤压后内容超出父容器&#xff0c;本文章就是解决这个问题 不自适…

UNet深度学习模型在医学图像分割中的应用及其Python实现细节

第一部分&#xff1a;引言和UNet架构简介 引言&#xff1a; 医学图像分割是医疗图像处理的重要领域&#xff0c;它涉及将图像划分为多个区域&#xff0c;以标识和隔离感兴趣的区域&#xff08;如器官、肿瘤等&#xff09;。近年来&#xff0c;随着深度学习技术的发展&#xf…

C++入门知识点——解决C语言不足

&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️ &#x1f4a5;个人主页&#xff1a;&#x1f525;&#x1f525;&#x1f525;大魔王&#x1f525;&#x1f525;&#x1f525; &#x1f4a5;代码仓库&#xff1a;&#x1f525;&#x1f525;魔…

bios开启虚拟化后,笔记本启动虚拟机依旧蓝屏

bios开启虚拟化后&#xff0c;笔记本启动虚拟机依旧蓝屏 win键r 输入control control点击程序 点击启动或关闭windows功能 下拉找到&#xff0c;虚拟机平台&#xff0c;勾选&#xff0c;确定&#xff0c;重启虚拟机 一般就能解决&#xff0c; 有人这样也不行的&#xff0…

深入解析Spring基本概念和核心思想

文章目录 基本概念IoCIoc容器IoC理解IoC的步骤Spring中使用ioc的步骤 AopAop的理解Aop的步骤 控制反转谁控制谁? 控制什么?为何叫反转(对应于正向)?哪些方面反转了?为何需要反转? 依赖什么是依赖(按名称理解、按动词理解)? 谁依赖于谁? 为什么需要依赖? 依赖什么东西?…

前端常用的三种加密方式(MD5、base64、sha.js)

作为一名优秀的前端开发工程狮&#xff0c;保障用户的信息安全、密码义不容辞&#xff0c;废话不多说&#xff0c;由我来介绍三种日常开发中经常用到的加密方式。 一、MD5加密 介绍&#xff1a; MD5中文含义为信息-摘要算法5&#xff0c;就是一种信息摘要加密算法&#xff0c…

leetcode第359场周赛

随机更新.... 7004. 判别首字母缩略词 给你一个字符串数组 words 和一个字符串 s &#xff0c;请你判断 s 是不是 words 的 首字母缩略词 。 如果可以按顺序串联 words 中每个字符串的第一个字符形成字符串 s &#xff0c;则认为 s 是 words 的首字母缩略词。例如&#xff0c…

深入了解 Java 中 Files 类的常用方法及抽象类的 final 修饰

文章目录 Files 类常用方法抽象类的 final 修饰 &#x1f389;欢迎来到Java学习路线专栏~深入了解 Java 中 Files 类的常用方法及抽象类的 final 修饰 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客&#x1f388;该系列文章专栏&#xff1a…

回归预测 | MATLAB实现TSO-LSSVM金枪鱼群算法优化最小二乘支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现TSO-LSSVM金枪鱼群算法优化最小二乘支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现TSO-LSSVM金枪鱼群算法优化最小二乘支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&a…

Redis进阶篇 - 04发布订阅、布隆过滤器、过期策略、回收机制、管道...核心知识原理

Redis底层原理篇&#xff0c;​让学习绚丽多彩起来&#xff01;&#xff01;&#xff01;&#xff08;需要原图私信&#xff09;

【开发笔记】ubuntu部署指定版本的前后端运行环境(npm nodejs mysql)

目录 1 背景2 环境要求3 部署流程3.1 npm的安装3.2 nodejs的安装3.3 MySQL的安装 4 可能的问题 1 背景 在远程服务器上的Ubuntu系统中&#xff0c;部署指定版本的前后端项目的运行环境 2 环境要求 npm 9.5.1Nodejs v18.16.1MySQL 8.0.33 3 部署流程 3.1 npm的安装 通过安…