运动#

介绍#

电机控制机器人各部件的运动。电机可以用来抬起机械臂、转动机械爪、旋转车轮或移动机器人的其他部件。两个电机可以协同工作,组成一个驱动系统,从而驱动整个机器人移动和旋转。

每个电机都在“设备”窗口中进行配置。根据构建版本不同,电机的名称和方向可能会有所变化。例如,Competition Advanced 2.0 版本中有一个名为 ArmMotor 的电机,其方向为 向上向下。自定义机器人可能会使用不同的电机名称或方向。

默认情况下,“正转”会使电机逆时针旋转,“反转”会使电机顺时针旋转。如果在“设备”窗口中将电机设置为反转,则旋转方向将会互换。

VEX GO 电机,前进方向用加号表示,箭头表示向左(或逆时针)旋转。 VEX GO 电机显示反向,用减号和箭头表示它向右(顺时针)旋转。

电机编程的方法有很多种。以下是所有运动控制模块的列表:

操作——停止和旋转电机。

设置 — 调整电机设置。

数值 — 检查电机状态。

行动#

旋转马达#

旋转电机模块可以使电机持续正转或反转。电机将一直旋转,直到收到其他指令,例如改变旋转方向或停止。

[ArmMotor v] [向上 v] 转

参数

描述

发动机

要旋转的电机。请从“设备”窗口中配置的电机中选择。

方向

电机旋转方向。默认情况下,选项为正转反转。旋转方向的选择可能因电机配置而异。

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor, then stop.]
[ArmMotor v] [向上 v] 转
等待 [1] 秒
[ArmMotor v] 停止

用于旋转马达#

“旋转电机”堆叠模块会使电机旋转一段特定距离。旋转距离是相对于电机当前位置的。程序会等待电机旋转完毕后,才会运行堆叠中的下一个模块。

[ArmMotor v] [向上 v] 转 [90] [度 v] ▶

参数

描述

发动机

要旋转的电机。请从“设备”窗口中配置的电机中选择。

方向

电机旋转方向。默认情况下,选项为正转反转。旋转方向的选择可能因电机配置而异。

距离

电机旋转的距离。角度使用整数。圈数可以使用整数或小数。

单元

距离单位:

不要等待

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

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Raise and lower the ArmMotor.]
[ArmMotor v] [向上 v] 转 [180] [度 v] ▶
等待 [1] 秒
[ArmMotor v] [向下 v] 转 [180] [度 v] ▶

旋转电机定位#

旋转电机定位 堆栈模块使电机旋转到特定位置。

电机的位置是指它旋转的距离,以圈数来衡量。一等于360度。在项目开始时,电机位置设置为0度。也可以使用set motor position代码块来设置电机位置。

位置值是绝对值。这意味着旋转方向取决于电机的当前位置。

[ArmMotor v] 转至 (90) [度 v] ▶

参数

描述

发动机

要旋转的电机。请从“设备”窗口中配置的电机中选择。

位置

电机旋转到的位置值。角度使用整数。圈数可以使用整数或小数。

单元

位置单位:

不要等待

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

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
[ArmMotor v] [向上 v] 转 [180] [度 v] ▶
等待 [1] 秒
[ArmMotor v] 转至 [0] [度 v] ▶

停止电机#

停止电机 模块可使电机停止旋转。

[ArmMotor v] 停止

参数

描述

发动机

要停止的电机。请从“设备”窗口中配置的电机中选择。

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor.]
[ArmMotor v] [向上 v] 转
等待 [1] 秒
[ArmMotor v] 停止

设置#

设置电机位置#

电机的位置是指它旋转的距离,以圈数来衡量。一等于360度。设置电机位置堆栈块会将电机的当前位置更改为新值。

例如,如果电机旋转了 180 度,将其位置设置为 0 度会将该位置从 180 度重置为 0 度。然后,电机可以根据这个新值旋转到其他位置。

设定 [ArmMotor v] 转位至 (0) [度 v]

参数

描述

发动机

要设置位置的电机。请从“设备”窗口中配置的电机中选择。

位置

要设置的电机位置值。角度使用整数。圈数可以使用整数或小数。

单元

位置单位:

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
设定 [ArmMotor v] 转位至 [0] [度 v]
[ArmMotor v] [向上 v] 转 [180] [度 v] ▶
等待 [1] 秒
[ArmMotor v] 转至 [0] [度 v] ▶

设定电机速度#

“设置电机转速”模块用于控制电机的转速。百分比越高,电机转速越快;百分比越低,电机转速越慢。

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

**注意:**更高的速度会使电机转速更快,但精度可能会降低。更低的速度会使电机转速更慢,但精度可能会更高。

set [ArmMotor v] velocity to [50] %

参数

描述

发动机

要设置速度的电机。请从“设备”窗口中配置的电机中选择。

速度

旋转速度,范围从 0% 到 100%。

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different velocities.]
[ArmMotor v] [向上 v] 转 [180] [度 v] ▶
等待 [1] 秒
[Move slow.]
set [ArmMotor v] velocity to [20] %
[ArmMotor v] [向下 v] 转 [180] [度 v] ▶
等待 [1] 秒
[Move fast.]
set [ArmMotor v] velocity to [100] %
[ArmMotor v] [向上 v] 转 [180] [度 v] ▶

设置电机停止#

设置电机停止 堆栈块设置电机停止运动的方式:通过制动、滑行或保持。

设定 [ArmMotor v] 停止模式为 [刹车 v]

参数

描述

发动机

要设置停止行为的电机。请从“设备”窗口中配置的电机中选择。

停止行为

电机停止方式:

  • 制动 — 立即停止。2
  • 滑行** — 减速直至停止。4
  • 保持** — 立即停止并保持电机位置

例如,如果使用 Competition Advanced 2.0 版本并将 ArmMotor 设置为保持模式,则电机将保持机械臂当前位置,直到发生下一次机械臂运动。这意味着,如果电机在机械臂抬起时停止,电机将克服重力使机械臂保持在空中。

如果未使用此模块,电机在停止时将使用制动器

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor, then coast to a stop.]
set [ArmMotor v] velocity to [20] %
设定 [ArmMotor v] 停止模式为 [滑行 v]
[ArmMotor v] [向上 v] 转
等待 [1] 秒
[ArmMotor v] 停止

设置电机最大扭矩#

扭矩是一种旋转力。它表示电机旋转时能够产生的推力或拉力的大小。

设置电机最大扭矩 模块设置电机允许使用的最大扭矩。

较高的百分比可以让电机输出更大的功率,例如在举起重物时。较低的百分比则会限制电机的输出功率。这有助于在电机卡住或达到运动极限时保护机器人。

每个项目开始时,每个电机的扭矩默认设置为 50%。

set [ArmMotor v] max torque to (50)%

参数

描述

发动机

要设置最大扭矩的电机。请从“设备”窗口中配置的电机中选择。

扭矩

电机可使用的最大扭矩,范围从 0% 到 100%。

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different torques.]
[ArmMotor v] [向上 v] 转 [180] [度 v] ▶
等待 [1] 秒
[Move with less torque.]
设定 [ArmMotor v] 最大扭矩为 [20]%
[ArmMotor v] [向下 v] 转 [180] [度 v] ▶
等待 [1] 秒
[Move with maximum torque.]
设定 [ArmMotor v] 最大扭矩为 [100]%
[ArmMotor v] [向上 v] 转 [180] [度 v] ▶

设置电机超时#

设置电机超时 代码块用于设置电机尝试完成一次运动的秒数。如果电机无法在规定时间内完成,它将停止尝试并执行代码块堆栈中的下一个代码块。这样可以防止电机卡在某个运动中。

设定 [ArmMotor v] 超时为 (1) 秒

参数

描述

发动机

要设置超时时间的电机。请从“设备”窗口中配置的电机中选择。

时间

电机尝试完成一次动作的秒数。该值可以是整数或小数。

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Move ArmMotor as far as possible for 1 second before resetting.]
设定 [ArmMotor v] 转位至 [0] [度 v]
设定 [ArmMotor v] 超时为 [1] 秒
[ArmMotor v] [向上 v] 转 [180] [度 v] ▶
[ArmMotor v] 转至 [0] [度 v] ▶

价值观#

电机做好了吗?#

“电机已完成”布尔模块用于报告电机是否已停止运转。这可用于根据电机的运转状态来控制其他行为的执行时间。

  • 正确 — 电机已停止运转。

  • 错误 — 电机仍在运转。

该模块与以下具有and don’t wait参数的运动模块配合使用:spin motor forspin motor to position

<[ArmMotor v] 已结束?>

参数

描述

发动机

电机用于报告其是否已停止运转。请从“设备”窗口中配置的电机中进行选择。

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
[ArmMotor v] [向上 v] 转 [180] [度 v] ◀ 并且不等待
等待 [0.1] 秒
永久循环
如果 <[ArmMotor v] 已结束?> 那么
设定辨色仪灯 [灭 v]
否则
设定辨色仪灯 [on v]

电机在旋转吗?#

“电机是否正在旋转?”布尔模块用于报告电机是否正在旋转。这可以根据电机的运动状态来控制其他行为的执行时间。

  • 正确——电机正在旋转。

  • 错误 — 电机没有转动。

该模块与以下具有and don’t wait参数的运动模块配合使用:spin motor forspin motor to position

<[ArmMotor v] 正在转?>

参数

描述

发动机

用于报告电机是否正在旋转的电机。请从“设备”窗口中配置的电机中进行选择。

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
[ArmMotor v] [向上 v] 转 [180] [度 v] ◀ 并且不等待
等待 [0.1] 秒
永久循环
如果 <[ArmMotor v] 正在转?> 那么
设定辨色仪灯 [on v]
否则
设定辨色仪灯 [灭 v]

电机位置#

电机的位置是指它旋转的距离,以度或圈数来衡量。电机位置报告模块用于报告电机的当前位置。

项目开始时,电机位置设置为 0 度。如果电机正向旋转一周,则位置为 360 度或 1 圈。如果电机反向旋转,则位置为负值。

([ArmMotor v] 转位 [度 v] :: custom-motion)

参数

描述

发动机

要报告位置的电机。请从“设备”窗口中配置的电机中选择。

单元

报告电机位置的单位:

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Display how far the ArmMotor moves after one second.]
设定 [ArmMotor v] 转位至 [0] [度 v]
打印 [Start: ] ▶
打印 ([ArmMotor v] 转位 [度 v] :: custom-motion) ▶
设定光标至下一行
[ArmMotor v] [向上 v] 转
等待 [1] 秒
[ArmMotor v] 停止
打印 [After: ] ▶
打印 ([ArmMotor v] 转位 [度 v] :: custom-motion) ▶

电机速度#

电机速度报告模块以百分比形式报告电机的旋转速度,范围从 -100% 到 100%。

正值表示电机正转,负值表示电机反转。

([ArmMotor v] 转速为%)

参数

描述

发动机

要报告速度的电机。请从“设备”窗口中配置的电机中选择。

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Display the ArmMotor's velocity when it moves.]
打印 [Resting: ] ▶
打印 ([ArmMotor v] 转速为%) ▶
设定光标至下一行
[ArmMotor v] [向上 v] 转
等待 [1] 秒
打印 [Moving: ] ▶
打印 ([ArmMotor v] 转速为%) ▶
[ArmMotor v] 停止

电机电流#

电机电流报告模块会报告电机从电池中消耗的功率百分比,范围从 0% 到 100%。

电流值越高,意味着电机消耗的功率越大。这种情况可能发生在电机提升重物、推动物体或试图在卡住时移动时。

([ArmMotor v] 电流%)

参数

描述

发动机

要报告电流的电机。请从“设备”窗口中配置的电机中选择。

例子

当开始 :: hat events
[Build Used: Competition Advanced 2.0]
[Display the motor's current when it moves.]
打印 [Resting: ] ▶
打印 ([ArmMotor v] 电流%) ▶
设定光标至下一行
[ArmMotor v] [向上 v] 转
等待 [1] 秒
打印 [Moving: ] ▶
打印 ([ArmMotor v] 电流%) ▶
[ArmMotor v] 停止