运动#

介绍#

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

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

以下是可用块的列表:

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

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

  • land — 无人机着陆。

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

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

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

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

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

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

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

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

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

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

  • turn for — 将无人机旋转指定的角度。

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

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

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

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

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

值——检查运动状态。

  • 飞行状态 — 返回无人机的当前状态。

  • 安全模式 — 返回无人机的螺旋桨锁定状态。

  • climb active — 返回无人机当前是否正在爬升。

  • move active — 返回无人机当前是否正在移动。

  • turn active — 返回无人机当前是否正在转弯。

  • hovering — 返回无人机当前是否处于悬停状态。

  • 起飞 — 返回无人机当前是否正在起飞。

  • landing — 返回无人机当前是否正在着陆。

  • landed — 返回无人机是否已着陆。

行动#

起飞#

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

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

参数

描述

爬到

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

单位

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

不要等待

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

例子

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

土地#

地面吊装模块将无人机缓缓降落到地面。螺旋桨将持续运转,直至项目停止。

向前移动堆栈块#
土地 ▶

参数

描述

不要等待

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

例子

当开始
[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] 秒
土地 ▶

移动#

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

向前移动堆栈块#
移动 [向前 v]

参数

描述

方向

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

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

例子

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

以角度移动#

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

以 90 度移动堆叠块#
以 (90) 度移动

参数

描述

角度

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

示例

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

移动#

move for 堆栈块使用当前的 移动速度 使无人机沿四个特定方向移动特定距离。

向前移动 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] ▶
土地 ▶

移至#

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

移动到 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] 秒
土地 ▶

转动#

turn 堆栈块使用当前的 转弯速度 将无人机转向特定方向。

右转堆叠块#
[右 v] 转

参数

描述

方向

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

例子

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

转向#

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

右转 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]

参数

描述

风格

设置无人机的操控模式:

  • 精准 — 慢速、摄像头稳定模式,用于精确控制和学习。这是默认的飞行模式。2
  • 平衡** — 速度更快、摄像头稳定模式,用于平稳、灵敏的飞行。4
  • 性能** — 高速、非稳定模式,用于高级操控

例子

当开始
[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]?>

参数

描述

状态

飞行状态检查:

  • 电机关闭 — 无人机电机已关闭。2
  • 校准** — 无人机正在校准传感器。4
  • 电机启动** — 无人机正在启动电机。6
  • 飞行准备** — 无人机已准备好开始飞行。8
    • 飞行中** — 无人机正在飞行

例子

当开始
[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]

攀岩活动#

climb active 布尔块报告无人机是否正在爬升。

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

  • 错误 — 无人机没有爬升。

向前移动堆栈块#
<主动攀爬?>

参数

描述

该块没有参数。

例子

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

移动活跃#

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

  • 正确 — 无人机目前正在使用移动模块。

  • 错误 — 无人机当前未使用移动方块。

正在移动活动报告块#
<活动起来?>

参数

描述

该块没有参数。

例子

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

激活#

turn active 布尔块报告无人机是否正在转弯。

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

  • 错误 — 无人机没有转弯。

启动活跃的报告块#
<變得活動?>

参数

描述

该块没有参数。

例子

当开始
[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] ▶

登陆#

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

  • 正确——无人机已着陆。

  • 错误——无人机尚未着陆。

落地布尔块#
<登陆?>

参数

描述

该块没有参数。

例子

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