(7)(7.1) 使用航点和事件规划任务

文章目录

前言

[7.1.1 设置Home位置](#7.1.1 设置Home位置)

[7.1.2 视频:制作并保存多路点任务](#7.1.2 视频:制作并保存多路点任务)

[7.1.3 视频:加载已保存的多航点任务](#7.1.3 视频:加载已保存的多航点任务)

[7.1.4 使用说明](#7.1.4 使用说明)

[7.1.5 提示](#7.1.5 提示)

[7.1.6 自动网格](#7.1.6 自动网格)

[7.1.7 任务指令](#7.1.7 任务指令)

[7.1.8 任务结束](#7.1.8 任务结束)

[7.1.9 任务重置](#7.1.9 任务重置)

[7.1.10 MIS_OPTIONS](#7.1.10 MIS_OPTIONS)

[7.1.11 任务再出发](#7.1.11 任务再出发)

[7.1.12 任务大小](#7.1.12 任务大小)

[7.1.13 如何预取已存储的任务地图](#7.1.13 如何预取已存储的任务地图)

[7.1.14 偶尔你会看到一些非常大的数字](#7.1.14 偶尔你会看到一些非常大的数字)


前言

本页介绍所有类型飞行器的通用航点设置。


7.1.1 设置Home位置

对于 Copter、Plane 和 Rover,Home 点被设置为飞行器解锁的位置。这意味着如果你执行 RTL,它将返回解锁时的位置,因此请在你希望它返回的位置解锁车辆,或使用集结点设置其他返回点。

7.1.2 视频:制作并保存多路点任务

7.1.3 视频:加载已保存的多航点任务

7.1.4 使用说明

在下面的截图中,旋翼机任务开始时会自动起飞到 20m 的高度;然后飞往 WP2,途中会上升到 100m 的高度,然后等待 10s;接着飞行器会飞往 WP3(途中会下降到 50m 的高度),然后返回发射位置。到达发射位置后,飞行器将着陆。飞行任务假定发射位置设置在 Home 原点。

你可以输入航点和其他命令(更多信息请参阅下面的任务命令(Mission commands)部分)。在每一行的下拉菜单中,选择你想要的命令。列标题将发生变化,显示该命令需要哪些数据。点击地图即可输入纬度和经度。高度是相对于你的发射高度/Home 原点位置而言的,例如,如果你设置为 100m,它就会在你上方 100m 处飞行。

Default Alt 是输入新航点时的默认高度。有关高度定义,请参阅 ArduPilot 中的"理解高度"(Understanding Altitude in ArduPilot)。

验证高度是指 Mission Planner 将使用谷歌地球的地形数据来调整每个航点的理想高度,以反映下方地面的高度。因此,如果你的航点位于山丘上,如果选择了该选项,Mission Planner 将按照山丘的高度增加你的 ALT 设置。这是确保不会撞山的好方法!

完成任务后,选择"写入",任务就会发送到 APM 并保存在 EEPROM 中。你可以通过选择"读取"来确认是否如你所愿。

你可以通过选择"保存WP文件"将多个任务文件保存到本地硬盘,或通过右键菜单中的 "加载WP文件"读取文件:

7.1.5 提示

预取:你可以缓存地图数据,这样就不需要在野外访问互联网了。单击"预获取"按钮,按住 Alt 键画出一个方框,下载所选地点的图像。

网格:它允许你绘制一个多边形(右键单击),并在所选区域内自动创建航点。请注意,它不会进行"孤岛检测",也就是说,如果你有一个大的多边形,里面还有一个小的多边形,那么小的多边形不会被排除在大的多边形之外(更多信息请参阅 this)。此外,如果多边形部分向后翻了一倍(如字母 U),中间的空地也将作为飞越的一部分。

将 Home 位置设置为当前位置非常简单,只需点击输入 Home 位置上方的"Home位置",它就会将 Home 位置设置为当前坐标。

右键单击一端并选择"测量距离",即可测量航点之间的距离。然后右键单击另一端,再次选择"测量距离"。这时会打开一个对话框,显示两点之间的距离。

7.1.6 自动网格

你还可以让 Mission Planner 为你创建一个任务,这对于测绘任务等功能非常有用,因为在这些任务中,飞机只需以"割草机"的模式在某一区域上空来回飞行以收集照片。

为此,请在右键菜单中选择多边形,然后在要绘制的区域周围画一个方框。然后选择自动 WP、网格。按照对话框流程选择高度和间距。然后,Mission Planner 将生成类似下面这样的任务:

7.1.7 任务指令

Mission Planner 会提供适合当前飞行器类型的命令过滤列表,并为需要用户提供值的参数添加列标题。这些参数包括前往航点和在附近停泊的导航命令、执行特定操作(例如拍照)的 DO 命令,以及可控制 DO 命令运行时间的条件命令。


示例:LOITER_TURNS命令,带标题,指示转弯的圈数,方向和位置

所有 ArduPilot 平台支持的全套任务命令均列于 MAVLink 任务命令信息 (MAV_CMD) (MAVLink Mission Command Messages (MAV_CMD)) 中。其中包括每条命令的全名(在协议定义中定义)、支持哪些参数的信息以及相应的 Mission Planner 列标题。

Note

Mission Planner 使用的是命令全名的缩略版。例如,MAV_CMD_NAV_WAYPOINT、MAV_CMD_CONDITION_DISTANCE、MAV_CMD_DO_SET_SERVO 等命令在 MP 中分别列为 WAYPOINT、CONDITION_DISTANCE 和 DO_SET_SERVO。

7.1.8 任务结束

任务列表完成后,Copter 将无限期地在最后一个航点悬停,直到模式改变或加锁(如着陆时),Rover 将保持,但 Plane 将 RTL,除非最后一个任务项目是无限悬停或转弯,或者着陆。

7.1.9 任务重置

在旋翼机和无人车上,每次加锁时,任务都会重置到任务列表的起始位置。在固定翼上,除了在"自动"模式下不会在加锁时重置,并且会将"任务指针"停留在要执行的最后一个任务项目上之外,其他情况都是类似重置。对于所有飞行器,任何着陆任务项目在完成着陆后都不会进入下一个任务项目。可以设置 MIS_OPTIONS 参数第 2 位,以便在着陆后继续执行任务。

可以设置 RCx_OPTION 开关功能("24"),以便随时将任务项目指针重置到任务列表的起始位置。

此外,还可以使用 MIS_RESTART 参数将任务设置为在进入自动模式后重置。默认值(0)是在重新进入自动模式时恢复飞行任务。

7.1.10 MIS_OPTIONS

可以设置 MIS_OPTIONS 参数位来修改任务的运行方式:

|----------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|
| ref:MIS_OPTIONS<MIS_OPTIONS> bit | Option |
| 0 | 启动时清除已加载的任务。必须在每次启动后加载。 |
| 1 (Plane only) | 使用电池失控保护时的着陆距离计算。请参阅使用 DO_LAND_START(Using DO_LAND_START) |
| 2 | 着陆后继续。着陆完成后,将任务项目指针前进到下一个任务项目。如果没有项目,则 RTL。 |

7.1.11 任务再出发

当模式更改中断时,返回任务序列的行为将在"任务恢复时的倒带"(Mission Rewind on Resume)一节中描述。

7.1.12 任务大小

自动驾驶仪可存储的任务项目数量限制为大约 650 个航点。如果你需要更长的飞行任务,可以设置 BRD_SD_MISSION 参数,在 SD 卡上创建一个文件来存储更多的飞行任务。该文件最大可设置为 64 (kB),这将允许在一个任务中总共存储超过 4,000 个航点。

7.1.13 如何预取已存储的任务地图

7.1.14 偶尔你会看到一些非常大的数字

相关推荐
LittroInno16 小时前
无人机侦察打击方案(3)
人工智能·无人机
lsjweiyi16 小时前
极简AI工具箱网站开源啦!
opencv·开源·微信支付·支付宝支付·百度ai·极简ai工具箱·ai图像处理
云卓SKYDROID16 小时前
无人机的激光雷达避障系统阐述!
科技·安全·无人机·云卓科技·激光雷达避障系统
开源社17 小时前
一场开源视角的AI会议即将在南京举办
人工智能·开源
FreeIPCC17 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源
海害嗨17 小时前
阿里巴巴官方「SpringCloudAlibaba全彩学习手册」限时开源!
学习·开源
生命是有光的17 小时前
【开源风云】从若依系列脚手架汲取编程之道(八)
开源
HuggingFace19 小时前
Halo 正式开源: 使用可穿戴设备进行开源健康追踪
开源·健康追踪
时光追逐者1 天前
.NET 9 中 LINQ 新增功能实操
开发语言·开源·c#·.net·.netcore·linq·微软技术
檀越剑指大厂1 天前
Linux本地部署开源项目OpenHands基于AI的软件开发代理平台及公网访问
linux·人工智能·开源