旋翼飞行器任务指令列表

本页提供了所有任务指令的详细信息(即 MAVLink 命令)支持的 Copter,它可以作为任务的一部分运行(见 自动飞行模式).

下面的每条指令都是 "导航 "指令或 "执行 "指令。导航 "命令(如 "起飞 "和 "航点")会影响飞行器的位置,而 "执行 "命令(如 "执行-设置-伺服 "和 "执行-凸轮-三角定位")则用于辅助功能,不会影响飞行器的位置。

在一次任务中,最多只能同时运行一条 "导航 "命令和一条 "执行 "命令。当前面的导航命令执行完毕后,"执行 "命令将按顺序执行。有关设置任务的更多信息,请参阅 利用航点和事件规划任务 page.

起飞

../_images/TakeOff.jpg

飞行器将从当前位置直线爬升到指定高度(以米为单位)。这应该是几乎所有任务的第一条指令。如果任务开始时旋翼飞行器已经在飞行,飞行器将直接爬升到指定高度,如果飞行器已经超过指定高度,起飞指令将被忽略,任务将立即进入下一条指令。

航点

./_images/WayPoint.jpg

飞行器将以直线方式飞往指定的位置(以米为单位)。

延迟 - 执行下一条命令前在航点等待的时间(秒); - 执行下一条命令前在航点等待的时间(秒); - 执行下一条命令前在航点等待的时间(秒)。

Hit Rad - 不支持 - 用于保存目标点到航点的距离(以米为单位),使航点符合完整条件。不支持该命令。取而代之的是 WPNAV_RADIUS 参数(见上图中的 "WP 半径 "字段,或通过标准参数列表进行调整)。即使是 WPNAV_RADIUS 仅在航点有延迟时使用。在未指定延迟的情况下,当载具追逐的虚拟点到达航点时,航点将被视为完成。这可能比载具提前 10 米(或更远),这意味着载具将在实际到达当前航点前很长时间转向下一个航点。

Yaw Ang - 不支持 - 意在以度为单位保存所产生的偏航角(0=北,90=东)。取而代之的是使用 条件_YAW 指挥。

纬度、经度 - 的经纬度目标。如果留为零,当前位置将替换为航点位置,使航点看似被直接跳过。

Alt - 原点上方的目标高度,以米为单位。如果保持为零,将保持当前高度。

花键航点

../_images/MissionList_SplineWaypoint.jpg

花键 航点与普通航点的参数(纬度、经度、高度、延迟)相同,但执行时飞行器将以平滑路径(垂直和水平)飞行,而不是直线飞行。如上图所示,样条线航点可与普通直线航点混合使用。

Mission Planner地面站显示了飞行器将要经过的路径。上图显示了花键的一些特征

  • 航点 #1 结束时的 1 秒延迟导致载具停止,因此花键指令 #2 开始急转 90 度转弯

  • 载具通过花键航点 3 时的行驶方向与航点 2 和航点 4 之间的假想线平行

  • 5 号航点是一条直线,因此在到达 4 号航点之前,载具就已经对准了 5 号航点。

停留时间

../_images/MissionList_LoiterTime.png

飞行器将飞到指定位置,然后在指定的秒数内等待。这与航点指令相同。

时代 - 在该位置停留的秒数。

纬度、经度 - 的经纬度目标。如果保持为零,则将保持在当前位置。

Alt - 原点上方的目标高度,以米为单位。如果保持为零,则将保持当前高度。

Loiter_Turns

../_images/MissionList_LoiterTurns.png

特派团相当于 环形飞行模式.在指定位置停泊(绕圈)至少指定的整圈数,然后在航线与圆周相交时执行下一条命令。如果纬度/经度/高度参数指定为 0,则将使用该参数的当前位置值。支持 0 到 1 之间的小数转数,大于 1 的转数必须是整数。

圆的半径由指令参数控制。半径为 0 时,飞行器将在指定位置位置悬停并旋转指定圈数。半径为负值时,会逆时针旋转,而不是顺时针旋转。超过 255 米的半径值将四舍五入到最接近的 10 米。

转弯 - 绕点旋转一周的次数。

支持 0 至 1 之间的小数转数,而大于 1 的转数必须是整数。

半径 - 航点周围的停机半径。单位为米。

纬度、经度 - 经纬度目标。如果保持为零,它将围绕当前位置旋转。

Alt - 目标高度,以米为单位。如果保持为零,则会在当前高度绕圈。

无限装载

../_images/MissionList_LoiterUnlimited.png

飞行器将飞往指定地点,然后在该地点无限期等待。超过此指令后,任务将不再继续。

纬度、经度 - 的经纬度目标。如果保持为零,则会在当前位置等待。

Alt - 原点上方的目标高度,以米为单位。如果保持为零,则会在当前高度等待。

重返发射场

../_images/MissionList_RTL.png

特派团相当于 RTL 飞行模式.如 RTL 飞行模式维基页面所述,飞行器将首先爬升至 RTL_ALT 参数指定的高度(默认为 15 米),然后返回原点。原点是载具最后一次上膛的位置。

该命令不带参数,通常应是任务中的最后一条命令。

土地

../_images/MissionList_Land.png

飞行器将在当前位置或所提供的纬度/纵度坐标处着陆。这相当于 陆地飞行模式.

纬度、经度 - 经纬度目标。如果保持为零,则会在当前位置着陆。

延迟

../_images/MissionList_NavDelay.png

载具将保持在当前位置,直到指定的秒数过去或达到绝对时间。第一列("秒")为延迟秒数。如果要忽略此栏,则设置为-1。UTC时"、"UTC分 "和 "UTC秒 "字段可用于指定绝对时间(UTC时间)。世界协调时).上例将使飞行器在世界协调时下午 1:30 起飞。请注意,小时和/或分钟字段也可以通过设置为-1来忽略。

这是开发此功能时制作的一段视频。请注意,视频中使用的是 CONDITION_DELAY 命令,但在最终版本中,应使用此 DELAY 命令。

有效载荷位置

../_images/MissionList_packageplace.png

飞行器飞到指定位置并下降,直到(通过电机输出)感应到包裹已到达地面。然后释放抓取器,卸下货包并上升回到航点高度。第一列("Max Desc")为飞行器应下降的最大高度(以米为单位)。如果下降到这个高度后,货包仍未到达地面,则不会释放货包,飞行器将返回到航点高度,并进入下一个任务指令。控制该操作的参数(除了 机械手参数)是

  • PLDP_SPEED_DN:到达航点后的下降速度为 LAND_SPEED 或该值(如果非零)。

  • PLDP_THRESH:表示有效载荷着陆的推力下降百分比。参考推力是在下降的头两秒钟测量的。

  • PLDP_RNG_MAX:如果不为零,则为从向下的巡航探照灯获得的地面最大释放高度。只有在地面高度低于此值时,才会自动释放抓斗,同时减少推力。如果该值不为零,且没有测距仪,则将终止飞行,飞行器将上升并前往下一个航点。

  • PLDP_DELAY:释放后的延迟(以秒为单位) 释放后飞行器将保持在原位,然后再上升。如果将抓取器设置为在延迟后重新啮合,则可以更换有效载荷(请参见 GRIP_AUTOCLOSE)

态度时间

../_images/MissionList_AttitudeTime.png

飞行器在指定时间内保持指定的滚转、前平移/俯仰、偏航角和爬升率。执行该命令时不需要 GPS

  • 卷轴:正表示右倾,负表示左倾

  • 间距:正表示后倾,负表示前倾

  • 亚乌:0 代表北,90 代表东,180 代表南,270 代表西

  • 爬升率:单位为 m/s,但大多数地面站对该参数的标度不正确,因此最好保持为 0m/s

脚本时间

../_images/MissionList_ScriptTime.png

Lua 脚本在指定的时间内运行,之后将转到下一条命令。"命令"、"arg1 "和 "arg2 "参数由脚本解释。下面的演示使用 SCRIPT_TIME 命令在自动模式下执行 "快速下降 "脚本。

设定投资回报率

../_images/MissionList_DoSetRoi.jpg

指向车头或 相机万向节 在 "感兴趣区域"。在上面的例子中,鼻子或摄像头将对准红色标记。

或者在任务后期添加第二条 DO_SET_ROI 命令(纬度、经度和高度均为零),"清除 "do-set-roi,使飞行器恢复默认行为(即指向下一个航点)。

纬度、经度 - 经纬度目标。

Alt - 的目标高度,以米为单位。

条件-延迟

../_images/MissionList_ConditionDelay.png

将下一条 "执行 "命令的开始时间延迟指定的秒数。在上面的示例中,第 4 号命令(Do-Set-Roi)被延迟,以便在载具通过第 2 个航点 5 秒后才开始执行。注意: 该命令不会让载具停止。还需注意的是,延迟计时器仅在到达下一个航点之前才会激活,因此如果 "Do "命令尚未触发,则永远不会触发。

时间(秒) - 下一条 "执行 "命令的延迟时间,以秒为单位。

条件-距离

../_images/MissionList_ConditionDistance.png

延迟下一条 "执行 "命令的启动时间,直到载具距离下一个航点达到指定的米数。在上例中,第 4 号命令(Do-Set-Roi)被延迟,只有当飞行器距离第 5 个航点 50 米以内时才会启动。注意: 该命令不会导致飞行器在任务期间停止或暂停,它只会影响 "执行 "命令。

距离(米) - 在开始下一个 "执行 "指令之前,载具距离下一个航点的距离(以米为单位)。

条件-偏航/航向

../_images/MissionList_ConditionYaw.png

将车头指向指定的方向,并增加一定的幅度。

度数 - 当 "rel/abs "字段为 "0"(绝对值)时,以度数表示的所需航向(0 = 北,90 = 东等)。

或当 "rel/abs "字段为 "1"(表示相对)时,航向的变化(以度为单位)。

速度(度/秒 - 载具转向所需航向时的旋转速度(单位:度/秒

指导 1=CW - 用于表示为达到目标角度而转动的方向(1=CW,-1=CCW,0= 载具将始终沿着最快速到达新目标方向的方向转动,但仅限于 "rel/abs"="0 "时)。

rel/abs(0=Abs,1=Rel) - 允许将标题(即 "Deg "字段)指定为绝对标题(如果为 "0")或相对于当前标题(如果为 "1")。

跳一跳

./_images/MissionList_DoJump.png

在继续执行任务之前,跳转到指定任务指令的次数。在上面的例子中,飞行器将在 1 号和 2 号航点之间来回飞行 3 次,然后飞往 4 号航点。

WP # - 要跳转到的任务指令。

重复 - 跳转的最大次数。-1表示总是跳

尽管名为 "Do-Jump",但它实际上是一条 "Nav"(导航)命令,而不是 "Do"(执行)命令,因此 CONDITION_DELAY 等条件命令不会影响 "Do-Jump",它始终会在执行该命令时立即执行跳跃。

警告

一次任务中使用的 Do-Jump 命令不得超过一百 (100)条。对于内存小于 500KB 的板卡,该值将进一步减少到 15 条 "Do-Jump "命令。随后的跳转指令将被忽略。

辅助功能

./_images/mission-list-do-aux-function.png

允许任何 辅助功能 无需设置辅助开关即可在任务中执行。AuxFunction "字段应设置为链接页面中的 "RCx_OPTION 值"。开关 "字段与辅助功能开关位置相对应,"0 "表示 "低","1 "表示 "中","2 "表示 "高"。

改变速度

../_images/MissionList_DoChangeSpeed.png

更改所需的载具最大速度(米/秒)。通常情况下,"类型 "字段保持为 0,表示已设置水平速度。

类型 - 0:地面速度,1:空速(如有) 2:爬升率,3:下降率

速度 米/秒 - 所需的最大速度(米/秒)。

做-集-家

../_images/MissionList_DoSetHome.png

尽可能避免使用该命令,而应使用 集结点 还可以控制用于返回发射的位置。

电流(1)/规格(0) - 如果 "1",则使用当前位置作为新家;如果 "0",则使用指定的纬度和经度坐标(尚未标注!)。

纬度、经度 - 经纬度目标。

多点设置--凸轮--三角架--直径

../_images/MissionList_DoSetCamTriggDist.png

触发 相机快门 每隔一定距离触发一次快门。例如,上述命令将导致载具每行驶 5 米触发一次相机快门。

距离(米) - 米的距离间隔。

要停止触发摄像机,可在任务稍后阶段添加一个 DO_SET_CAM_TRIGG_DIST,其中 Dist = 0

设置-延时

../_images/MissionList_DoSetRelay.png

设置一个 继电器 引脚电压的高低。Mission Planner地面站中的列标记错误(此处有问题)。

第一栏为中继器编号 :0 = 第一个继电器,1 = 第二个继电器

第二栏为开/关 :0 = 关闭(即 0V),1 = 接通(即大多数(飞行)控制器上的 3.3V)

重复播放

../_images/MissionList_DoRepeatRelay.png

切换 继电器 在指定次数内,将继电器引脚的电压设置为高电平。在上面的例子中,假设继电器一开始是断开的,那么它就会被设置为高电平,3 秒后又会被切换为低电平。

第一栏为中继器编号 :0 = 第一个继电器,1 = 第二个继电器

重复 # :继电器应切换多少次

延迟 - 每次切换之间的间隔秒数。

伺服设定

../_images/MissionList_DoSetServo.png

移动 a 伺服器 到特定的 PWM 值。在上面的例子中,连接到输出通道 8 的伺服将被调到 PWM 1700(伺服一般接受 1000 到 2000 之间的 PWM 值)。

Ser No :伺服器连接的输出通道

PWM :向伺服输出的 PWM 值

重复-伺服

../_images/MissionList_DoRepeatServo.png

重复移动 伺服器 在中间位置和指定的 PWM 值之间来回移动。在上面的示例中,连接到输出通道 8 的伺服将移动到 PWM 值 1700,然后在 4 秒钟后回到中间位置(默认值为 1500,保持在 RC8_TRIM 参数),再过 4 秒钟,它又会被移到 1700,最后再过 4 秒钟,它又会被移回中间位置。

Ser No :伺服器连接的输出通道

PWM :向伺服输出的 PWM 值

重复 # :伺服移动到指定 PWM 值的次数

延迟(秒) :每个伺服动作之间的延迟时间,以秒为单位

数码相机控制

../_images/MissionList_DoDigicamControl.png

触发 相机快门 一次。快门指令 "字段应设置为 "1"。

启用栅栏

../_images/MissionList_DoFenceEnable.png

启用(1)或禁用(0)旋翼飞行器 圆柱形栅栏 和/或旋翼飞行器 包容和排斥栅栏.该命令不需要其他参数。

云台管理器-俯仰偏航

../_images/mission-list-do-gimbal-manager-pitchyaw.png

移动 相机万向节 到所需的俯仰角和偏航角(单位:度)。正俯仰角为向上,负俯仰角为向下。正偏航角为顺时针,负偏航角为逆时针。如果 "Flags(标记)"字段为 "0",则偏航角为 "车身框架 "角度(例如 0 表示向前)。如果 "Flags "字段为 "16",则偏航角为 "地球帧"(例如 0 为正北)。

另外,还可以使用 "俯仰率 "和 "偏航率 "字段,以指定的速率(度/秒)移动万向节。在条件延迟几秒钟后,再执行一次 "Do-Gimbal-Manager-PitchYaw "操作,可最终阻止万向节旋转。

安装控制

../_images/MissionList_DoMountControl.png

控制飞行器的滚转、俯仰和偏航角度。 相机万向节.这可用于在任务的不同时间将摄像机指向特定的方向。

多抓手

../_images/MissionList_DoGripper.png

该命令允许打开和关闭 伺服机械手EPM 机械手.将 "下拉/抓取 "列设置为 0 表示关闭抓取器,1 表示打开抓取器。第一列 "抓手编号 "将被忽略,因为我们目前只支持每辆车使用一个抓手。

杜-温奇

./_images/MissionList_DoWinch.png

该命令可以控制 卷扬机 提升或降低包裹。

  • "未使用 "卷扬机编号

  • "动作 "应为 0 表示放松卷扬机,1 表示长度控制,2 表示速率控制

  • "长度 "应填写要释放的线路米数。正数放线,负数收线。注意 "动作 "应为 "1"。

  • "速率 "应填入放线的速度(米/秒)。正数放线,负数收线。注意 "动作 "应为 "2"。