(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中,并将其输出。以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...