运动#

简介#

VEX AIR 无人机配备四个螺旋桨,使其能够向任意方向移动并独立旋转。运动控制功能包括移动、转向、速度调节和位置跟踪。

圆形罗盘刻度盘,0-360 度,环绕装有 4 个螺旋桨的无人机。无人机前端朝向罗盘刻度盘的 0 度。

以下是可用指令块的列表:

动作——移动并转动无人机。

  • 起飞 — 将无人机提升到指定高度。

  • 着陆 — 无人机着陆。

  • 悬停 — 保持无人机在其位置。

  • 上升 — 使无人机沿指定的垂直方向移动。

  • 上升至 — 将无人机沿指定的垂直方向移动特定的距离。

  • 爬升到 z 轴位置 — 将无人机移动到 z 轴上的指定位置。

  • 移动 — 使无人机向前、向后、向左或向右移动。

  • 以角度移动 — 使用角度将无人机向指定方向移动。

  • 移动到 — 将无人机沿特定方向移动一段设定的距离。

  • 以角度移动到 — 以特定角度移动无人机一段设定的距离。

  • 移动到 — 将无人机移动到指定位置。

  • 转向 — 向左或向右旋转无人机。

  • 转向至 — 将无人机旋转指定的角度。

  • 转向航向 — 旋转无人机以面向特定航向。

  • 使用遥控器移动 — 允许使用遥控器驱动无人机。

飞行控制——调整飞行设置。

设置 — 调整移动和转向速度。

位置——跟踪并修改无人机的位置。

值——检查运动状态。

动作#

起飞#

起飞 指令块启动螺旋桨,将无人机升空。必须先使用此指令块才能执行其他操作。

向前移动指令块#
起飞至 [500] [毫米 v] ▶

参数

描述

爬升到

无人机将爬升到的z轴位置(高度)。

单位

计量单位:mm(毫米)或英寸。

不要等待

选择箭头(▶)展开指令块,显示“不要等待”,这样堆栈中的下一个指令块就会立即运行。

示例

当开始
[Fly for 1 second.]
起飞至 [500] [毫米 v] ▶
等待 [1] 秒
土地 ▶

着陆#

The land stack block lowers the drone to the ground. The propellers will continue to run until the project is stopped.

向前移动指令块#
土地 ▶

参数

描述

不要等待

选择箭头(▶)展开指令块,显示“不要等待”,这样堆栈中的下一个指令块就会立即运行。

示例

当开始
[Land after 1 second.]
起飞至 (500) [毫米 v] ▶
等待 [1] 秒
土地 ▶

悬停#

悬停指令块可使无人机停止向任何方向移动,并保持其在空中的当前位置。

悬停指令块#
徘徊

参数

描述

该指令块没有参数。

示例

当开始
[Hold current position for 3 seconds after moving forward.]
起飞至 (500) [毫米 v] ▶
移动 [向前 v]
等待 [1] 秒
徘徊
等待 [3] 秒
土地 ▶

爬升#

爬升指令块使无人机沿指定的垂直方向移动。

向前移动指令块#
爬升 [向上 v]

参数

描述

方向

无人机的飞行方向:向上或向下。

示例

当开始
[Climb upwards for 2 seconds.]
起飞至 (500) [毫米 v] ▶
等待 [2] 秒
爬升 [向上 v]
等待 [2] 秒
土地 ▶

爬升至#

爬升指令块使无人机沿指定的垂直方向移动指定的距离。

向前移动指令块#
爬升 [向上 v] 获得 (500) [毫米 v] ▶

参数

描述

方向

无人机的飞行方向:向上或向下。

距离

无人机的飞行距离。

单位

计量单位:mm(毫米)或英寸。

不要等待

选择箭头(▶)展开指令块,显示“不要等待”,这样堆栈中的下一个指令块就会立即运行。

示例

当开始
[Lower drone before landing.]
起飞至 [700] [毫米 v] ▶
等待 [1] 秒
爬升 [向下 v] 获得 [300] [毫米 v] ▶
等待 [1] 秒
土地 ▶

爬升到 z 位置#

爬升到 z 轴位置 指令块将无人机移动到 z 轴上的指定位置。

向前移动指令块#
爬到 z 位置 [500] [毫米 v] ▶

参数

描述

z 位置

无人机将爬升至的 z 位置(整数或小数)。

单位

计量单位:mm(毫米)或英寸。

不要等待

选择箭头(▶)展开指令块,显示“不要等待”,这样堆栈中的下一个指令块就会立即运行。

示例

当开始
[Reach 500 mm after takeoff.]
起飞至 [300] [毫米 v] ▶
等待 [1] 秒
爬到 z 位置 [500] [毫米 v] ▶
等待 [1] 秒
土地 ▶

移动#

移动 指令块使用当前的移动速度 使无人机沿四个特定方向移动。

向前移动指令块#
移动 [向前 v]

参数

描述

方向

控制无人机朝以下方向之一移动:

  • 前进
  • 右转
  • 左转
  • 后退

示例

当开始
[Move forward for 2 seconds.]
起飞至 [500] [毫米 v] ▶
移动 [向前 v]
等待 [2] 秒
土地 ▶

以角度移动#

以一定角度移动指令块使用当前的移动速度 以指定的角度移动无人机。

以 90 度移动指令块#
以 (90) 度移动

参数

描述

角度

无人机移动的角度,以整数或小数表示,范围从 0 到 359 度。

示例

当开始
[Move left for 2 seconds.]
起飞至 [500] [毫米 v] ▶
以 [270] 度移动
等待 [2] 秒
土地 ▶

移动至#

移动至 指令块使用当前的 移动速度 使无人机沿四个特定方向移动特定距离。

向前移动 200 毫米指令块#
将 [向前 v] 移至 (200) [毫米 v] ▶

参数

描述

方向

控制无人机朝以下方向之一移动:

  • 前进
  • 右转
  • 左转
  • 后退

距离

无人机移动的距离,以整数或小数表示。

单位

计量单位:mm(毫米)或英寸。

不要等待

选择箭头(▶)展开指令块,显示“不要等待”,这样堆栈中的下一个指令块就会立即运行。

示例

当开始
[Move forward for 200 mm.]
起飞至 [500] [毫米 v] ▶
将 [向前 v] 移至 [200] [毫米 v] ▶
土地 ▶

以一定角度移动#

以特定角度移动 指令块使用当前的 移动速度 使无人机以特定角度移动指定的距离。

以一定角度移动指令块#
以 (45) 度移动 (200) [毫米 v] ▶

参数

描述

角度

无人机移动的角度,以整数或小数表示,范围从 0 到 359 度。

距离

无人机移动的距离,以整数或小数表示。

单位

计量单位:mm(毫米)或英寸。

不要等待

选择箭头(▶)展开指令块,显示“不要等待”,这样堆栈中的下一个指令块就会立即运行。

示例

当开始
[Move diagonally for 500 mm.]
起飞至 [300] [毫米 v] ▶
以 [45] 度移动 [500] [毫米 v] ▶
土地 ▶

移至#

移至 指令块将无人机移动到空中的指定位置,同时保持相同的航向。

移动到 x 1000 y 1000#
移动到 x: [1000] y: [1000] z: [1000] [毫米 v] ▶

VEX 无人机的俯视图,显示 X 轴和 Y 轴:X+ 向右,X− 向左,Y+ 向前,Y− 向后。

参数

描述

x

无人机将移动到的 x 坐标。

y

无人机将移动到的 y 坐标。

z

无人机将爬升至的 z 坐标。

单位

计量单位:mm(毫米)或英寸。

示例

当开始
[Move diagonally to (300, 300, 500).]
起飞至 [300] [毫米 v] ▶
等待 [2] 秒
移动到 x: [300] y: [300] z: [500] [毫米 v] ▶
等待 [2] 秒
土地 ▶

转向#

转向 指令块使用当前的 转弯速度 将无人机转向特定方向。

右转指令块#
[右 v] 转

参数

描述

方向

无人机的转向方向:向右或向左。

示例

当开始
[Turn to the right for 2 seconds.]
起飞至 [500] [毫米 v] ▶
[右 v] 转
等待 [2] 秒
土地 ▶

转至#

转至 指令块使用当前的 转弯速度 将无人机沿指定方向转弯一段距离,相对于其当前朝向。

右转 90 度指令块#
[右 v] 转 (90) 度 ▶

参数

描述

方向

无人机的转向方向:向右或向左。

角度

无人机移动的角度,以整数或小数表示,范围从 0 到 359 度。

不要等待

选择箭头(▶)展开指令块,显示“不要等待”,这样堆栈中的下一个指令块就会立即运行。

示例

当开始
[Turn around, then land.]
起飞至 [500] [毫米 v] ▶
[右 v] 转 [180] 度 ▶
土地 ▶

转向航向#

转向航向指令块使用当前的转弯速度将无人机转向特定航向。

转向航向 90 度指令块#
归位至 (270) 度 ▶

参数

描述

航向

无人机转向的航向范围为 0 到 359 度。

不要等待

选择箭头(▶)展开指令块,显示“不要等待”,这样堆栈中的下一个指令块就会立即运行。

示例

当开始
[Turn to face each of the cardinal headings.]
起飞至 [500] [毫米 v] ▶
归位至 (90) 度 ▶
等待 [1] 秒
归位至 (180) 度 ▶
等待 [1] 秒
归位至 (270) 度 ▶
等待 [1] 秒
归位至 (0) 度 ▶
等待 [1] 秒
土地 ▶

使用遥控器移动#

“使用遥控器移动”指令块允许您使用 VEX AIR 无人机遥控器来控制无人机。此模块必须在循环中使用才能持续控制无人机。如果循环停止且没有其他模块指示无人机移动,无人机将继续沿其最后移动的方向飞行。

使用遥控器移动

参数

描述

该指令块没有参数。

示例

当开始
[Move with controller until button 7 is pressed.]
起飞至 [500] [毫米 v] ▶
重复直到 <遥控器按键 [7 v] 按下了?>
使用遥控器移动
结束
土地 ▶

飞行控制#

设置转向 POV#

设置转向 POV 指令块设置无人机转向时使用的视角。

向前移动指令块#
将转向 POV 设置为 [标准 v]

参数

描述

模式

设置用于控制无人机的视角。标准 表示无人机的移动基于其当前朝向。无头 表示无人机的移动基于项目开始时的朝向。

示例

当开始
[Steer based on the drone's starting orienation until button 7 is pressed.]
起飞至 [500] [毫米 v] ▶
将转向 POV 设置为 [无头 v]
重复直到 <遥控器按键 [7 v] 按下了?>
使用遥控器移动
结束
土地 ▶

设定动作#

设置移动方式 指令块用于设置无人机的移动方式。

这种运动方式用于使用遥控器驾驶无人机时。

向前移动指令块#
将移动设置为 [精确 v]

参数

描述

模式

设置用于操控无人机的风格:

  • 精准 — 慢速、摄像头增稳模式,用于精确控制和练习。这是默认的移动风格。
  • 平衡 — 较快速、摄像头增稳模式,用于平稳、灵敏的飞行。
  • 性能 — 高速、非增稳模式,用于高级机动。

示例

当开始
[Control the drone with the balanced movement style.]
起飞至 [500] [毫米 v] ▶
将移动设置为 [均衡 v]
重复直到 <遥控器按键 [7 v] 按下了?>
使用遥控器移动
结束
土地 ▶

设置#

设定爬升速度#

设置爬升速度 指令块用于设置默认爬升速度(以百分比表示)。这将影响其后所有与爬升相关的指令块。默认爬升速度为 50%。

向前移动指令块#
set climb velocity to [100] %

参数

描述

速度

无人机爬升速度的百分比。

示例

当开始
[Raise the drone quickly before landing.]
起飞至 [300] [毫米 v] ▶
等待 [1] 秒
set climb velocity to [100] %
爬升 [向上 v] 获得 (500) [毫米 v] ▶
土地 ▶

设置移动速度#

设置移动速度 指令块用于设置默认移动速度,单位为百分比。这将影响后续所有与移动相关的指令块。默认移动速度为 50%。

将移动速度设置为 50% 指令块#
set move velocity to [100] %

参数

描述

速度

无人机移动的速度(以百分比表示)。

示例

当开始
[Move forward quickly, then reverse slowly.]
起飞至 [500] [毫米 v] ▶
set move velocity to [100] %
将 [向前 v] 移至 [500] [毫米 v] ▶
等待 (1) 秒
set move velocity to [20] %
将 [反 v] 移至 [500] [毫米 v] ▶
土地 ▶

设置转向速度#

设置转向速度 指令块用于设置默认转向速度,单位为百分比。这将影响后续所有与转向相关的指令块。默认转向速度为 50%。

将转向速度设置为 50% 指令块#
set turn velocity to [100] %

参数

描述

速度

无人机转向的速度(以百分比表示)。

示例

当开始
[Turn clockwise quickly, then counterclockwise slowly.]
起飞至 [500] [毫米 v] ▶
set turn velocity to [100] %
[右 v] 转 [360] 度 ▶
等待 (1) 秒
set turn velocity to [20] %
[左 v] 转 [360] 度 ▶
土地 ▶

位置#

位置#

位置报告指令块会以整数形式报告无人机的当前 x、y 或 z 坐标。在项目开始时,无人机的当前位置会自动设置为 (0, 0, 0)。

x 位置(单位:毫米)报告指令块#
[X v] 转位 [毫米 v]

参数

描述

轴

应该报告哪个坐标轴的坐标:

  • x
  • y
  • z

单位

计量单位:mm(毫米)或英寸。

示例

当开始
[Fly to position (0, 300, 500).]
起飞至 [500] [毫米 v] ▶
等待 [1] 秒
移动 [向前 v]
等到 <([y v] 转位 [毫米 v]) [math_greater_than v] [300]>
徘徊
等待 [1] 秒
土地 ▶

获取最大 z 高度#

获取最大 z 轴高度 报告指令块报告无人机可以达到的最大高度。

x 位置(单位:毫米)报告指令块#
(get max z height in [mm v])

参数

描述

单位

计量单位:mm(毫米)或英寸。

示例

当开始 :: hat events
[Display the new z height limit.]
在屏幕上打印 (get max z height in [mm v])▶
在屏幕上设定光标至下一行
起飞至 [500] [毫米 v] ▶
将最大 z 高度设置为 [1000] ( [毫米 v]
在屏幕上打印 (get max z height in [mm v])▶
等待 [1] 秒
土地 ▶

设置最大 z 高度#

设置最大 Z 轴高度 指令块设置无人机飞行高度的上限。

向前移动指令块#
将最大 z 高度设置为 [2500] ( [毫米 v]

参数

描述

最大 z 高度

无人机不会飞越的最大 z 轴值(整数或小数),范围为 1000 至 5000 毫米或 40 至 196 英寸。

单位

计量单位:mm(毫米)或英寸。

示例

当开始
[Fly with controller under 1000 mm.]
将最大 z 高度设置为 [1000] ( [毫米 v]
起飞至 (500) [毫米 v] ▶
重复直到 <遥控器按键 [7 v] 按下了?>
使用遥控器移动
结束
土地 ▶

设置位置#

设置位置指令块将无人机的当前 x、y 或 z 坐标设置为指定值。

设置位置指令块#
设定 [X v] 转位至 [0] [毫米 v]

参数

描述

轴

设置位置的坐标轴:

  • x
  • y
  • z

坐标

要设置的新位置值。

单位

计量单位:mm(毫米)或英寸。

示例

当开始
[Set a new z position, then fly to z position -300.]
起飞至 [800] [毫米 v] ▶
设定 [z v] 转位至 [0] [毫米 v]
等待 [1] 秒
爬升 [向下 v]
等到 <([z v] 转位 [毫米 v]) [math_less_than v] [-300]>
徘徊
等待 [1] 秒
土地 ▶

值#

飞行状态#

飞行状态布尔指令块报告无人机是否处于指定的飞行状态。

  • 真 — 无人机处于指定状态。

  • 假 — 无人机未处于指定状态。

向前移动指令块#
<飞行状态为 [motors off v]?>

参数

描述

状态

要检查的飞行状态:

  • 电机关闭 — 无人机的电机已关闭。
  • 校准 — 无人机正在校准其传感器。
  • 电机启动 — 无人机正在启动其电机。
  • 飞行准备 — 无人机已准备好开始飞行。
  • 飞行中 — 无人机正在飞行中。

示例

当开始
[Report the flight status as the drone takes off.]
在屏幕上打印 [Preparing for flight!]◀ 并设定光标为下一行
起飞至 [800] %2 ◀ 并且不等待
等到 <flight state is [motor start v]>
在屏幕上打印 [Motors starting...]◀ 并设定光标为下一行
等到 <flight state is [flight v]>
在屏幕上打印 [Take off!]▶

安全模式#

安全模式布尔指令块报告无人机上的螺旋桨锁定是否已启用。

  • 真 — 螺旋桨锁定已启用。

  • 假 — 螺旋桨锁定功能未启用。

向前移动指令块#
<安全模式?>

参数

描述

该指令块没有参数。

示例

当开始
[Change the sound by enabling the Propeller Lock.]
永久循环
如果 <安全模式?> 那么
播放声音 [过错 v]
否则
播放声音 [成功 v]

是否正在爬升#

是否正在爬升 布尔指令块报告无人机是否正在爬升。

  • 真 — 无人机目前正在爬升。

  • 假 — 无人机没有爬升。

向前移动指令块#
<主动攀爬?>

参数

描述

该指令块没有参数。

示例

当开始
[After the drone starts to climb, play a sound and land.]
起飞至 [500] [毫米 v] ▶
爬升 [向上 v]
等待 [1] 秒
如果 <主动攀爬?> 那么
播放声音 [循环 v] ▶
土地 ▶

是否正在移动#

是否正在移动 布尔指令块报告无人机当前是否正在使用移动块。

  • 真 — 无人机目前正在使用移动指令块。

  • 假 — 无人机当前未使用移动指令块。

是否正在移动报告指令块#
<活动起来?>

参数

描述

该指令块没有参数。

示例

当开始
[After the drone starts to move, play a sound and land.]
起飞至 [500] [毫米 v] ▶
移动 [向前 v]
等待 [1] 秒
如果 <活动起来?> 那么
播放声音 [循环 v] ▶
土地 ▶

是否正在转向#

是否正在转向 布尔指令块报告无人机是否正在转弯。

  • 真 — 无人机目前正在转弯。

  • 假 — 无人机没有转弯。

是否正在转向报告指令块#
<變得活動?>

参数

描述

该指令块没有参数。

示例

当开始
[After the drone starts to turn, play a sound and land.]
起飞至 (500) [毫米 v] ▶
[右 v] 转
等待 [1] 秒
如果 <變得活動?> 那么
播放声音 [检测到 v] ▶
土地 ▶

悬停#

悬停布尔指令块报告无人机是否保持其位置(悬停)。

  • 真 — 无人机目前保持其位置(悬停)。

  • 假 — 无人机目前正在改变位置。

向前移动指令块#
<徘徊?>

参数

描述

该指令块没有参数。

示例

当开始
[Play a sound after the drone has finished taking off.]
起飞至 [700] [毫米 v] ▶
等到 <徘徊?>
等待 [2] 秒
播放声音 [暂停 v] ▶
土地 ▶

起飞#

起飞布尔指令块报告无人机是否正在起飞过程中。

  • 真 — 无人机目前正在起飞过程中。

  • 假——无人机并未处于起飞过程中。

向前移动指令块#
<起飞?>

参数

描述

该指令块没有参数。

示例

当开始
[Play sounds while the drone is taking off.]
起飞至 [700] %2 ◀ 并且不等待
等待 [1] 秒
当 <起飞?>
播放声音 [传感 v] ▶

是否着陆中#

是否着陆中布尔指令块报告无人机是否正在着陆过程中。

  • 真 — 无人机目前正在着陆过程中。

  • 假——无人机并未正在着陆。

向前移动指令块#
<降落?>

参数

描述

该指令块没有参数。

示例

当开始
[Play sounds while the drone is landing.]
起飞至 (500) [毫米 v] ▶
等待 [1] 秒
土地 ◀ 并且不等待
等待 [1] 秒
当 <降落?>
播放声音 [循环 v] ▶

是否已着陆#

是否已着陆 布尔块报告无人机是否已着陆。

  • 真——无人机已着陆。

  • 假——无人机尚未着陆。

着陆布尔指令块#
<登陆?>

参数

描述

该指令块没有参数。

示例

当开始
[Celebrate a successful landing.]
起飞至 (500) [毫米 v] ▶
等待 (1) 秒
土地 ▶
如果 <landed> 那么
播放声音 [成功 v] ▶