(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 偶尔你会看到一些非常大的数字

相关推荐
人间打气筒(Ada)8 小时前
「码动四季·开源同行」HarmonyOS应用开发:常见组件
华为·开源·harmonyos·组件·布局·鸿蒙开发
金戈鐡馬9 小时前
BetaFlight中的定时器引脚绑定详解
stm32·单片机·嵌入式硬件·无人机
si莉亚10 小时前
ROS2安装EVO工具包
linux·开发语言·c++·开源
M ? A11 小时前
Vue 迁移 React 实战:VuReact 一键自动化转换方案
前端·vue.js·经验分享·react.js·开源·自动化·vureact
Mars酱12 小时前
1分钟编写贪吃蛇 | JSnake贪吃蛇单机版
java·后端·开源
2301_8227032012 小时前
开源鸿蒙跨平台Flutter开发:幼儿疫苗全生命周期追踪系统:基于 Flutter 的免疫接种档案与状态机设计
算法·flutter·华为·开源·harmonyos·鸿蒙
wasp52012 小时前
从 Vibe Coding 到真·生产力:OpenHarness 的“Harness 方程式”及其实战分析
人工智能·架构·开源·agent
M ? A14 小时前
Vue转React实战:defineProps精准迁移实战
前端·javascript·vue.js·经验分享·react.js·开源·vureact
weixin_Todd_Wong201014 小时前
毫米波雷达传感器远距探测距离最远 260m 40 个多目标跟踪
无人机
Hommy8815 小时前
【开源剪映小助手-客户端】桌面客户端
python·开源·node.js·github·剪映小助手