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

文章目录

前言

[7.6.1 配置](#7.6.1 配置)

[7.6.2 工作原理](#7.6.2 工作原理)

[7.6.3 局限性](#7.6.3 局限性)


前言

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

Note

从 4.1 版起,Plane、Copter 和 Rover 均可使用此功能。


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

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

恢复时倒带(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。但是,距离计算并不考虑这些命令中的飞行器航迹距离。以前面的例子为例,距离计算不考虑徘徊中的飞行距离。

相关推荐
冬奇Lab12 小时前
每日一个开源项目(第169篇):AIRI - 开源自托管 AI 虚拟伴侣,能打 Minecraft 的 Neuro-sama 复现
人工智能·开源·资讯
带娃的IT创业者14 小时前
中国开源大模型策略:正在赢得全球AI竞赛
人工智能·开源·qwen·开源大模型·deepseek·ai竞赛·开源策略
Freak嵌入式14 小时前
MCU 低功耗模式解析:时钟门控、电源门控、深度休眠
人工智能·python·单片机·嵌入式硬件·开源·依赖倒置原则·micropython
栈底拾遗15 小时前
AtomGit:国内唯一开源 + AI 一体化自主基础设施
人工智能·开源
ApacheSeaTunnel15 小时前
Apache SeaTunnel 2.3.12 进阶实战:MySQL to PostgreSQL 5 套生产场景同步 Demo
大数据·开源·数据集成·seatunnel·技术分享·数据同步
自律懒人18 小时前
AI应用从原型到上线的最后一公里——灵光闪应用一键部署深度实测,30+免费API + Serverless零配置发布
人工智能·云原生·开源·serverless
Tom·Ge20 小时前
【AI前沿】20260728-Kimi K3全量开源破闭源壁垒,MCP无状态化定稿,AI Agent安全事故揭示提交权才是安全分界线
人工智能·安全·开源
大毛无人机1 天前
无人机接单怎么选渠道:费用拆解与核验流程
无人机
小O的算法实验室1 天前
2025 IEEE TII,大型风电场无人机巡检的混合深度强化学习:部署与路径优化
无人机
在线梦游1 天前
百度网盘如何突破速度限制?几种官方与第三方提速方法实测
开源