(7)(7.1) 使用航点和事件规划任务
文章目录
前言
7.1.1 设置Home位置
7.1.2 视频:制作并保存多路点任务
7.1.3 视频:加载已保存的多航点任务
7.1.4 使用说明
7.1.5 提示
7.1.6 自动网格
7.1.7 任务指令
7.1.8 任务结束
7.1.9 任务重置
7.1.10 MIS_OPTIONS
7.1.11 任务再出发
7.1.12 任务大小
7.1.13 如何预取已存储的任务地图
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 偶尔你会看到一些非常大的数字
相关文章:
(7)(7.1) 使用航点和事件规划任务
文章目录 前言 7.1.1 设置Home位置 7.1.2 视频:制作并保存多路点任务 7.1.3 视频:加载已保存的多航点任务 7.1.4 使用说明 7.1.5 提示 7.1.6 自动网格 7.1.7 任务指令 7.1.8 任务结束 7.1.9 任务重置 7.1.10 MIS_OPTIONS 7.1.11 任务再出发 …...
OCR相关模块——版面分析技术、表格文本识别
OCR相关模块——版面分析技术、表格文本识别 版面分析技术表格识别技术 版面分析技术 版面分析模型:飞桨用到了yolov2检测模型,对文档图片中的文本、表格、图片、标题与列表区域进行检测。当前主流是用分割做。 表格识别技术 参考博文...
mov转mp4格式怎么转?
mov转mp4格式怎么转?众所周知,MOV视频格式是由苹果公司推出的常用的视频格式,能够在苹果软件及设备上使用。但是,如果将其应用于其他软件和设备上的话,可能会遇到文件无法正常播放的情况。在这个时候,我们需…...
SSL握手协议相关概念
下图为握手协议的流程图,具体的解释参考博客: 【下】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS_tenfyguo的博客-CSDN博客 下面梳理一下SSL协议中的一些细节。首先是相关名词:证书、…...
idea 打开java项目后新建的模块中,java文件夹需要变成蓝色,以及resources文件夹变成三条杠的
idea 打开java项目后新建的模块中,java文件夹需要变成蓝色,以及resources文件夹变成三条杠的方法 再选择modules,找到需要变蓝的文件夹,点击sources即可 同理resources文件夹变成三条杠也只需要找到对应文件夹,点击re…...
【Docker】Docker network之bridge、host、none、container以及自定义网络的详细讲解
🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C、算法、Python、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:CSTL&…...
滑模控制器理论推导和matlab/simulink实例分享
滑模控制的运动轨迹主要分为两个方面:(1)系统的任意初始状态向滑模面运动阶段;(2)系统到达滑模面后并且慢慢趋于稳定的阶段。所以,对于滑模变结构控制器的设计,对应于系统运动的两个阶段,可以分为两个部分:…...
git 操作
git切换ssh和http协议 切换协议: 查看当前remote git remote -v 切换到http: git remote set-url https://github.com/username/repository.git 切换到ssh: git remote set-url gitgithub.com:username/repository.git 某些文件不想提交…...
自建hexo博客并将原有的文章发布其上
1、保存粘贴到memo9中的博客文章,并将txt转换成word文档 varPowerShellPath, CommandLine: string; // , ScriptPath begin//save to txtMemo9.Lines.SaveToFile(test.txt);memo10.Lines.SaveToFile(txt2word.ps1);//save as docxPowerShellPath : powershell.exe…...
【双指针_和为 s 的两个数_C++】
和为s的两个数字 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {int n nums.size();int left 0;int right n-1;while(left<right){if(nums[left]nums[right]>target) right--;else if(nums[left]nums[right]<tar…...
HTML5的介绍和基本框架
目录 HTML5 HTML5介绍 HTML5的DOCTYPE声明 HTML5基本骨架 html标签 head标签 body标签 title标签 meta标签 在vscode中写出第一个小框架 HTML5 HTML5介绍 HTML5是用来描述网页的一种语言,被称为超文本标记语言。用HTML5编写的文件,后缀以.ht…...
代码随想录算法训练营第58天|动态规划part15|392.判断子序列、115.不同的子序列
代码随想录算法训练营第58天|动态规划part15|392.判断子序列、115.不同的子序列 392.判断子序列 392.判断子序列 思路: (这道题也可以用双指针的思路来实现,时间复杂度也是O(n)) 这道题应该算是编辑距…...
日常BUG——普通页面跳转tabbar页面报错
😜作 者:是江迪呀✒️本文关键词:日常BUG、BUG、问题分析☀️每日 一言 :存在错误说明你在进步! 一、问题描述 微信小程序页面跳转的时候出现下面的问题: wx.redirectTo({url: /pages/index/i…...
SpringBoot复习:(48)RedisAutoConfiguration自动配置类
RedisAutoConfiguration类代码如下: 可以看到在这个类中配置了2个bean: redisTemplate和stringRedisTemplate. 而它通过EnableConfigurationProperties(RedisProperties.class)注解,把配置文件中配置的Redis相关的信息引入进来了,RedisPrope…...
软硬件免费,服务收费:网络安全商业模式正在被颠覆
大数据产业创新服务媒体 ——聚焦数据 改变商业 从元宇宙到造汽车,重回国内A股市场五年的360一路苦追热点。一直到大模型横空出世,360才算真正找到感觉,经历一次战略上的回归。 在8月9日的互联网安全大会上,一袭红衣的红衣教主周…...
变形金刚:从零开始【01/2】
一、说明 在我们的日常生活中,无论你是否是数据科学家,你都在单向地使用变压器模型。例如。如果您使用的是 ChatGPT 或 GPT-4 或任何 GPT,那么在为您回答问题的框中是变压器的一部分。如果您是数据科学家或数据分析师,则可能正在使…...
Opencv特征检测之ORB算法原理及应用详解
Opencv特征检测之ORB算法原理及应用详解 特征是图像信息的另一种数字表达形式。一组好的特征对于在指定 任务上的最终表现至关重要。视觉里程 (VO) 的主要问题是如何根据图像特征来估计相机运动。但是,整幅图像用来计算分析通常比较耗时,故而转换为分析图像中的特征点的运动…...
【es6】函数柯里化(Currying)
柯里化(Currying):把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数。 柯里化由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,它是 Mos…...
线上多域名实战
本文博主给大家分享线上多域名实战,当线上主域名不可用的情况下,启用备用域名完成网站高可用保障。 网站的高可用性一直是网站运维的重中之重。一旦网站宕机,不仅会造成巨大的经济损失,也会严重影响用户体验。备份域名就是一种实现…...
【C语言】上手实验
实验1 顺序、分支结构 程序填空 1. 题目描述:输入三个整数存放在变量a、b、c中,找出三个数中的最大值放于max中,并将其输出。以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
