运动#

介绍#

VEX AIM 编程机器人采用全向传动系统,可以前进、后退、左转、右转或以一定角度移动,并且能够独立转向。运动模块控制机器人的移动和转向方式、移动速度以及 x 轴和 y 轴位置的跟踪方式。

圆形罗盘刻度盘,0-315 度,环绕深灰色显示屏,搭配海军蓝色屏幕。机器人正面朝向罗盘刻度盘的 0 度。

以下是所有模块的列表:

动作——移动和转向机器人。

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

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

数值 — 检查移动状态。

行动#

移动#

move 代码块会使机器人以当前的移动速度 (#set-move-velocity) 无限地向前、向后、向左或向右移动。机器人会一直移动,直到收到另一个动作指令,例如改变移动方向、转弯或停止。

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

参数

描述

方向

机器人移动方向:

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

例子

开始时,向前#
当开始
[Move forward]
移动 [向前 v]

以角度移动#

“以特定角度移动”堆栈块会使机器人以当前移动速度(#set-move-velocity)持续以特定角度移动。该角度相对于机器人的当前位置。机器人将持续移动,直到收到其他动作指令,例如改变移动方向、转弯或停止。

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

参数

描述

角度

机器人移动的角度,以度为单位。该值可以是介于 -360 到 360 之间的整数或小数。

示例

启动时,向右移动 90 度,等待 1 秒,然后向前移动 0 度,等待 1 秒,然后停止所有移动。#
当开始
[Move right, then move forward and stop.]
以 (90) 度移动
等待 (1) 秒
以 (0) 度移动
等待 (1) 秒
停止移动

启动时,以45.33度角向右斜移,等待1秒,然后停止所有移动。#
当开始
[Move diagonally to the right and stop.]
以 (45.33) 度移动
等待 (1) 秒
停止移动

移动#

move for 代码块使用当前的移动速度 (#set-move-velocity) 控制机器人向前、向后、向左或向右移动指定的距离。移动方向相对于机器人的当前位置。程序会等待机器人完成移动后,才会运行代码块中的下一个代码块。

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

参数

描述

方向

机器人移动方向:

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

距离

机器人移动的距离。可以是整数或小数。

单元

距离单位:mm(毫米)或英寸

不要等待

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

例子

启动后,向前移动200毫米堆块#
当开始
[Move forward for 200 mm]
将 [向前 v] 移至 (200) [毫米 v] ▶

以一定角度移动#

“以特定角度移动”堆栈块使用当前的移动速度使机器人以特定角度移动特定距离。该角度相对于机器人的当前位置。程序会等待机器人完成移动后,才会运行堆栈中的下一个代码块。

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

参数

描述

角度

机器人移动的角度,以度为单位。该值可以是介于 -360 到 360 之间的整数或小数。

距离

机器人移动的距离。可以是整数或小数。

单元

距离单位:mm(毫米)或英寸

不要等待

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

示例

启动时,以 90 度向右移动 50 毫米,然后以 0 度向前移动 100 毫米。#
当开始
[Move right, then move forward.]
以 (90) 度移动 (50) [毫米 v] ▶
以 (0) 度移动 (100) [毫米 v] ▶

启动时,以 0 度向前行驶 100 毫米,同时所有 LED 闪烁红色。#
当开始
[Drive forward and blink all LEDs red.]
以 (0) 度移动 (100) [毫米 v] ◀ 并且不等待
设定 [lightall v] LED 颜色为 [红色 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [灭 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [红色 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [灭 v]
等待 (0.5) 秒

转动#

turn 指令栈块会使机器人以当前的转弯速度持续向左或向右转弯。机器人会一直转弯,直到收到其他动作指令,例如移动或停止。

右转堆叠块#
[右 v] 转

参数

描述

方向

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

例子

启动时,向左转,等待 1 秒,然后停止所有移动。#
当开始
[Turn left, then stop.]
[左 v] 转
等待 (1) 秒
停止移动

转向#

turn for 代码块会根据当前的转弯速度使机器人向左或向右转弯指定的角度。转弯方向相对于机器人当前朝向。程序会等待机器人完成转弯后,才会运行代码块中的下一个代码块。

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

参数

描述

方向

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

角度

机器人旋转的角度数。可以是整数,也可以是小数。

不要等待

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

示例

启动时,向左转90度,然后向右转180度。#
当开始
[Turn left, then turn around to the right.]
[左 v] 转 (90) 度 ▶
[右 v] 转 (180) 度 ▶

启动时,向右旋转 180 度,同时所有 LED 闪烁蓝色。#
当开始
[Turn right and blink all LEDs blue.]
[右 v] 转 (180) 度 ◀ 并且不等待
设定 [lightall v] LED 颜色为 [蓝色 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [灭 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [蓝色 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [灭 v]
等待 (0.5) 秒

转向航向#

航向角是指机器人面向的方向,以度为单位。转向航向 代码块使用当前的转向速度使机器人转向指定的航向角。机器人将沿最短路径转向以达到目标航向角。

机器人的初始航向角为0度。

该项目将等待机器人完成转向后,才会运行堆栈中的下一个模块。

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

参数

描述

标题

机器人应面向的方向,范围从 -360 度到 360 度。

不要等待

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

示例

当开始
[Turn to face each cardinal direction.]
归位至 (90) 度 ▶
等待 (2) 秒
归位至 (180) 度 ▶
等待 (2) 秒
归位至 (270) 度 ▶
等待 (2) 秒
归位至 (0) 度 ▶
等待 (2) 秒

启动时,快速旋转 180 度,同时所有 LED 闪烁绿色。#
当开始
[Turn around quickly and blink all LEDs green.]
归位至 (180) 度 ◀ 并且不等待
设定 [lightall v] LED 颜色为 [绿色 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [灭 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [绿色 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [灭 v]
等待 (0.5) 秒

使用控制器移动#

“使用控制器移动”堆栈模块允许您使用单摇杆控制器来驱动机器人。除非放置在循环(例如无限循环)中,否则该模块只会读取一次控制器输入。如果循环停止且没有其他模块指示机器人移动,则机器人将继续沿您最后一次推动摇杆的方向移动。

使用遥控器移动

参数

描述

该块没有参数。

例子

当开始
[Drive with the controller for five seconds.]
重置计时器
当 <(计时器秒数) [math_less_than v] [5]>
使用遥控器移动
结束
停止移动

停止一切运动#

停止所有运动堆栈块会停止机器人的所有运动。

停止所有移动堆栈块#
停止移动

参数

描述

该块没有参数。

例子

启动时,向右转,等待 1 秒,然后停止所有移动。#
当开始
[Turn right, then stop.]
[右 v] 转
等待 (1) 秒
停止移动

设置#

设置移动速度#

设置移动速度 代码块告诉机器人移动的速度。百分比越高,机器人移动速度越快;百分比越低,机器人移动速度越慢。

每个项目开始时,机器人默认以 50% 的速度移动。

100% 的移动速度相当于每秒 200 毫米(mmps)。

将移动速度设置为 50% 堆叠格挡#
将移动速度设置为 (50)%

参数

描述

速度

移动速度从 0% 到 100%。

例子

当开始
[Move forward at the default velocity.]
将移动速度设置为 (50)%
以 (0) 度移动 (100) [毫米 v] ▶
等待 (1) 秒
[Move slower.]
将移动速度设置为 (20)%
以 (0) 度移动 (100) [毫米 v] ▶
等待 (1) 秒
[Move faster.]
将移动速度设置为 (100)%
以 (0) 度移动 (100) [毫米 v] ▶
等待 (1) 秒

设置转弯速度#

设置转弯速度 代码块告诉机器人转弯的速度。百分比越高,机器人转弯越快;百分比越低,机器人转弯越慢。

每个项目开始时,机器人默认以 50% 的速度旋转。

100% 的转弯速度相当于每秒 150 度 \(dps\)。

将转弯速度设置为 50% 堆叠块#
设定转向速度为 (50)%

参数

描述

速度

转弯速度从 0% 到 100%。

例子

当开始
[Turn around at default velocity.]
设定转向速度为 (50)%
[右 v] 转 (180) 度 ▶
等待 (1) 秒
[Turn around slower.]
设定转向速度为 (20)%
[右 v] 转 (180) 度 ▶
等待 (1) 秒
[Turn around faster.]
设定转向速度为 (100)%
[右 v] 转 (180) 度 ▶
等待 (1) 秒

位置#

位置#

位置报告模块报告机器人的当前 x 或 y 坐标。

在项目开始时,机器人的 x 和 y 位置设置为 0。位置值随着机器人的移动而改变,可以使用 设置机器人位置 块进行设置。

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

参数

描述

协调

要报告的坐标轴:xy

单元

位置单位:mm(毫米)或英寸

例子

启动时,向前移动 200 毫米,重置位置,以 45 度对角移动 200 毫米,并在屏幕上打印更新的 X 和 Y 坐标。#
当开始
以 (0) 度移动 (200) [毫米 v] ▶
[Move forward and print the new coordinate and heading.]
set robot position x:[0] y:[0]
以 (45) 度移动 (200) [毫米 v] ▶
在屏幕上打印 ([X v] 转位 [毫米 v])▶
在屏幕上设定光标至下一行
在屏幕上打印 ([y v] 转位 [毫米 v])▶

设置机器人位置#

设置机器人位置 堆栈块将机器人的当前 x 和 y 位置更改为新值。

例如,如果机器人偏离了起始位置,将 x 和 y 都设置为 0,则机器人的当前位置将变为新的 (0, 0) 位置。然后,机器人可以根据这个新值跟踪未来的位置。

设置位置堆栈块#
set robot position x:[0] y:[0]

参数

描述

要设置的机器人 x 轴位置值,单位为毫米。

要设置的机器人 y 轴位置值,单位为毫米。

例子

当开始
[Reset the robot's position after moving.]
将 [向前 v] 移至 [60] [毫米 v] ▶
set robot position x:[0] y:[0]
在屏幕上打印 ([y v] 转位 [毫米 v])▶

价值观#

移动活跃#

move active 布尔模块用于报告机器人是否正在移动。这可以根据机器人的移动状态来控制其他行为的执行时机。

  • 正确 — 机器人正在移动。

  • 错误 — 机器人没有移动。

该模块可与具有 and don’t wait 参数的运动模块配合使用。

是移动活跃记者块#
<活动起来?>

参数

描述

该块没有参数。

例子

启动后,机器人向前移动 200 毫米,同时所有 LED 指示灯闪烁红色。机器人移动时,LED 指示灯每 0.5 秒亮起一次,停止移动后保持熄灭状态。#
当开始
[Blink all of the LEDs when the robot is moving.]
以 (0) 度移动 (200) [毫米 v] ◀ 并且不等待
当 <活动起来?>
设定 [lightall v] LED 颜色为 [红色 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [灭 v]
等待 (0.5) 秒
结束
设定 [lightall v] LED 颜色为 [灭 v]

激活#

turn active 布尔模块用于报告机器人是否正在转向。这可以根据机器人的运动状态来控制其他行为的执行时机。

  • 正确——机器人正在转向。

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

该模块可与具有 and don’t wait 参数的运动模块配合使用。

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

参数

描述

该块没有参数。

例子

启动后,右转180度,所有LED灯闪烁红色。转弯时,LED灯每0.5秒闪烁一次,转弯完成后熄灭。#
当开始
[Blink all of the LEDs while the robot is turning.]
[右 v] 转 (180) 度 ◀ 并且不等待
当 <變得活動?>
设定 [lightall v] LED 颜色为 [红色 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [灭 v]
等待 (0.5) 秒
结束
设定 [lightall v] LED 颜色为 [灭 v]

停止#

stopped 布尔模块用于报告机器人是否处于静止状态(既不移动也不转向)。这可用于根据机器人的运动状态来控制其他行为的执行时机。

  • 正确 — 机器人没有移动或转弯。

  • 错误 — 机器人正在移动或转弯。

被阻止记者阻拦#
<已停止?>

参数

描述

该块没有参数。

例子

启动后,机器人会向前移动 200 毫米并进行灯光秀,然后右转 180 度并继续灯光秀。机器人移动或旋转时,LED 灯每 0.5 秒在绿色和紫色之间交替闪烁。机器人停止后,灯光秀结束,LED 灯熄灭。#
定义 light show
[Flash LEDs while the robot is moving or turning.]
重复直到 <已停止?>
设定 [lightall v] LED 颜色为 [绿色 v]
等待 (0.5) 秒
设定 [lightall v] LED 颜色为 [purple v]
等待 (0.5) 秒
结束


当开始
[Blink all the LEDs while the robot is moving or turning.]
以 (0) 度移动 (200) [毫米 v] ◀ 并且不等待
light show
[右 v] 转 (180) 度 ◀ 并且不等待
light show