运动#

介绍#

VEX AIR 无人机配备四个螺旋桨,可向任意方向飞行并独立旋转。Motion 提供移动、转弯、速度调节和位置跟踪等功能。

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

以下是可用块的列表:

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

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

  • land — 无人机着陆。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

值——检查运动状态。

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

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

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

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

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

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

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

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

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

行动#

起飞#

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

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

参数

描述

爬到

无人机将爬升至的 z 位置(以毫米为单位)。

单位

测量单位:

  • 毫米 - 毫米
  • 英寸

扩大箭头

默认情况下,这是一个等待块,因此无人机将在运行下一个块之前完成移动。要使无人机开始移动并立即运行下一个块,请将块扩展为并且不要等待

例子

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

攀登#

climb for 块使无人机沿指定的垂直方向移动特定的距离。

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

参数

描述

方向

无人机飞行的方向:

  • 向上
  • 向下

距离

无人机的飞行距离。

单位

测量单位:

  • 毫米 - 毫米
  • 英寸

扩大箭头

默认情况下,这是一个等待块,因此无人机将在运行下一个块之前完成移动。要使无人机开始移动并立即运行下一个块,请将块扩展为并且不要等待

例子

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

爬到 z 位置#

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

向前移动堆栈块#
climb to z position [500] [mm v] ▶

参数

描述

z 位置

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

单位

测量单位:

  • 毫米 - 毫米
  • 英寸

扩大箭头

默认情况下,这是一个等待块,因此无人机将在运行下一个块之前完成移动。要使无人机开始移动并立即运行下一个块,请将块扩展为并且不要等待

例子

当开始
[Reach 500 mm after takeoff.]
起飞至 [300] [毫米 v] ▶
等待 [1] 秒
climb to z position [500] [mm v] ▶
等待 [1] 秒
土地 ▶

移动#

移动 块使用当前 移动速度 将无人机向四个特定方向移动。

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

参数

描述

方向

将无人机按以下方向之一移动:

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

例子

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

以角度移动#

以角度移动块使用当前[移动速度](https://test-api.vex.com/air/home/blocks/Motion.html#set-move-velocity)以指定角度移动无人机。

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

参数

描述

角度

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

示例

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

移动#

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

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

参数

描述

方向

将无人机按以下方向之一移动:

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

距离

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

单元

测量单位:

  • 毫米 - 毫米
  • 英寸

扩大箭头

默认情况下,这是一个等待块,因此无人机将在运行下一个块之前完成移动。要使无人机开始移动并立即运行下一个块,请将块扩展为并且不要等待

例子

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

以一定角度移动#

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

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

参数

描述

角度

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

距离

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

单元

测量单位:

  • 毫米 - 毫米
  • 英寸

扩大箭头

默认情况下,这是一个等待块,因此无人机将在运行下一个块之前完成移动。要使无人机开始移动并立即运行下一个块,请将块扩展为并且不要等待

示例

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

移至#

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

移动到 x 1000 y 1000#
move to x: [1000] y: [1000] z: [1000] [mm v] ▶

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

参数

描述

x

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

y

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

z

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

单位

测量单位:

  • 毫米 - 毫米
  • 英寸

示例

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

转动#

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

右转堆叠块#
[右 v] 转

参数

描述

方向

无人机转弯的方向:

例子

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

转向#

turn for 模块使用当前 turn speed 将无人机沿指定方向转动相对于其当前面向方向的设定距离。

右转 90 度堆叠块#
[右 v] 转 (90) 度 ▶

参数

描述

方向

无人机转弯的方向:

角度

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

扩大箭头

默认情况下,这是一个等待块,因此无人机将在运行下一个块之前完成移动。要使无人机开始移动并立即运行下一个块,请将块扩展为并且不要等待

示例

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

转向航向#

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

转向航向 90 度堆叠块#
归位至 (270) 度 ▶

参数

描述

标题

无人机将转向的方向,范围为 0 到 360 度。

扩大箭头

默认情况下,这是一个等待块,因此无人机将在运行下一个块之前完成移动。要使无人机开始移动并立即运行下一个块,请将块扩展为并且不要等待

示例

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

参数

描述

风格

设置用于操纵无人机视点:

  • 标准 — 移动基于无人机当前面向的方向。2
  • 头 — 移动基于项目开始时无人机的方向。4

例子

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

设定动作#

设置运动块设置无人机的运动方式。

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

向前移动堆栈块#
将移动设置为 [精确 v]

参数

描述

风格

设置无人机操控方式:

  • 精度 - 慢速、摄像头稳定模式
  • - 更快、摄像头
模式,用于平稳、灵敏的飞行。4性能 - 高速、非稳定模式
  • 用于高级操控。6
  • 例子

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

    单元

    测量单位:

    • 毫米 (毫米)
    • 英寸

    例子

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

    参数

    描述

    单元

    测量单位:

    • 毫米 — 毫米
    • 英寸

    例子

    当开始 :: 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 英寸。

    单位

    测量单位:

    • 毫米 (毫米)
    • 英寸

    例子

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

    设置位置#

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

    设置位置堆栈块#
    设定 [X v] 转位至 [0] [毫米 v]
    

    参数

    描述

    设置位置的坐标轴:

    • x
    • y
    • z

    协调

    要设置的新位置值。

    单元

    坐标的测量单位:

    • 毫米
    • 英寸

    例子

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

    参数

    描述

    状态

    要检查

  • 飞行状态:
    • 电机关闭 — 无人机
      • 正在飞行中。10

  • 例子

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

    徘徊?#

    hovering? 块返回一个布尔值,指示无人机是否保持其位置(悬停)。

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

    • 错误 — 无人机目前正在改变其位置。

    向前移动堆栈块#
    <徘徊?>
    

    参数

    描述

    该块没有参数。

    例子

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

    降落?#

    landing? 块返回一个布尔值,指示无人机是否正在着陆。

    • 真实情况——无人机目前正在着陆。

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

    向前移动堆栈块#
    <降落?>
    

    参数

    描述

    该块没有参数。

    例子

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

    登陆?#

    landed? 块返回一个布尔值,指示无人机是否已经着陆。

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

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

    落地布尔块#
    <登陆?>
    

    参数

    描述

    该块没有参数。

    例子

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