传动系统#

介绍#

VEX IQ(第二代)传动系统采用内置陀螺仪传感器,支持精确的前进、后退和转弯运动。这些模块使机器人能够连续移动或按设定距离移动、按角度旋转或按指定方向旋转,并响应旋转方向的变化。

动力传动系统类别还包含配置模块,可用于设置驱动和转弯速度、定义停止行为、应用超时以避免执行停顿,以及手动更新机器人的航向或旋转值。这些功能在设计自主行为或实时调整时提供了灵活性。

VEX IQ 机器人的俯视图,位于一个蓝色圆形图中,图中显示了基本方向。机器人面朝上(0°)。该图指示机器人向右旋转 90°,向下旋转 180°,向左旋转 270°。该机器人由橙色和灰色组件组成,前面板上可见“VEX3”字样。机器人两侧均可见轮子。

以下是可用块的列表:

行动

  • drive – 驱动机器人连续前进或后退。

  • drive for – 驱动机器人行驶一段设定的距离。

  • turn – 使机器人连续向左或向右转动。

  • turn for – 将机器人转动特定的度数。

  • 转向航向 – 让机器人转向特定的绝对航向。

  • 转向旋转 – 转动机器人以达到特定的累积旋转。

  • 停止驾驶 – 停止所有机器人运动。

设置

价值观

  • 驱动完成? – 返回一个布尔值,指示传动系统是否不再移动。

  • 驱动器正在移动? – 返回一个布尔值,指示传动系统当前是否正在移动。

  • drive heading – 返回动力传动系统的航向角(0 到 359.99 度)。

  • 驱动旋转 – 返回自项目启动以来传动系统的转动量。

  • 驱动速度 – 以 % 或 rpm 为单位返回传动系统的当前速度。

  • 驱动电流 – 返回动力传动系统电机所消耗的电流(以安培为单位)。

行动#

驾驶#

驱动 模块使用当前的 驱动速度 使传动系统向前或向后移动。该模块持续运行,直到另一个传动系统模块中断它或项目停止。

aria-description 放在这里#
驱动 [向前 v]

参数

描述

方向

机器人行驶的方向,可以是以下之一:

  • 前进
  • 后退

例子

aria-description 放在这里#
当开始 :: hat events
[Drive forward, then stop.]
驱动 [向前 v]
等待 (2) 秒
驱动停止

开车去#

drive for 块使用当前 驱动速度 将传动系统向前或向后移动指定的距离。

aria-description 放在这里#
驱动 [向前 v] (200) [毫米 v] ▶

参数

描述

方向

机器人行驶的方向,可以是以下之一:

  • 前进
  • 后退

距离

机器人行驶的距离,以整数或小数表示。

单元

测量单位,可以是以下之一:

  • 毫米(毫米)
  • 英寸

扩大箭头

默认情况下,这是一个等待块,因此传动系统会在运行下一个块之前完成移动。要使传动系统开始移动并立即运行下一个块,请展开该块并显示无需等待

例子

aria-description 放在这里#
当开始 :: hat events
[Drive backward 500 mm.]
驱动 [反 v] (500) [毫米 v] ▶

转动#

转弯 模块使用当前的 转弯速度 持续向左或向右转动传动系统。传动系统将持续转动,直到另一个传动系统模块运行或项目停止。

aria-description 放在这里#
[右 v] 转

参数

描述

方向

机器人转弯的方向,可以为:

例子

aria-description 放在这里#
当开始 :: hat events
[Turn right, then stop.]
[右 v] 转
等待 (2) 秒
驱动停止

转向#

turn for 块使用当前 转弯速度 将传动系统向左或向右转动特定的度数。

aria-description 放在这里#
[右 v] 转 (90) 度 ▶

参数

描述

方向

机器人转弯的方向,可以为:

角度

机器人转动的度数,以整数或小数表示。

扩大箭头

默认情况下,这是一个等待块,因此传动系统会在运行下一个块之前完成转动。要使传动系统开始转动并立即运行下一个块,请将块展开为并且不等待

例子

aria-description 放在这里#
当开始 :: hat events
[Turn left, then turn around to the right.]
[左 v] 转 (90) 度 ▶
[右 v] 转 (180) 度 ▶

转向航向#

转向航向 块使用当前 转弯速度 将传动系统转向特定航向。

aria-description 放在这里#
归位至 (90) 度 ▶

参数

描述

标题

传动系统转向的绝对方向,从 -360 度到 360 度。

扩大箭头

默认情况下,这是一个等待块,因此传动系统会在运行下一个块之前完成转动。要使传动系统开始转动并立即运行下一个块,请将块展开为并且不等待

例子

aria-description 放在这里#
当开始 :: hat events
[Turn to face the cardinal directions.]
归位至 (90) 度 ▶
等待 (2) 秒
归位至 (180) 度 ▶
等待 (2) 秒
归位至 (270) 度 ▶
等待 (2) 秒
归位至 (0) 度 ▶
等待 (2) 秒

转向旋转#

转向旋转 块使用当前 转弯速度 将传动系统转向面向特定的旋转值。

VEX IQ 机器人的俯视图,位于一个蓝色圆形图中,显示旋转角度。机器人面向右侧(90°)。该图顶部表示 0°,右侧表示 90°,底部表示 180°,左侧表示 270°,再次顶部表示 360°,右侧用蓝色箭头表示 450°。机器人由灰色和橙色组件组成,侧面板上可见“VEXIQ”字样。机器人两侧均可见轮子。红色箭头从机器人指向 90° 标记。

aria-description 放在这里#
转向至 (90) 度 ▶

参数

描述

旋转

机器人将旋转的累积旋转值,以整数或小数表示。

扩大箭头

默认情况下,这是一个等待块,因此传动系统会在运行下一个块之前完成转动。要使传动系统开始转动并立即运行下一个块,请将块展开为并且不等待

例子

aria-description 放在这里#
当开始 :: hat events
[Turn left, then spin in a circle clockwise and face right.]
转向至 (-90) 度 ▶
等待 (2) 秒
转向至 (450) 度 ▶

停止驾驶#

停止驾驶块立即停止传动系统的所有运动。

aria-description 放在这里#
驱动停止

参数

描述

该块没有参数。

例子

aria-description 放在这里#
当开始 :: hat events
[Drive forward, then stop.]
驱动 [向前 v]
等待 [4] 秒
驱动停止

设置#

设置驱动速度#

设置驱动速度块将项目中所有后续移动块的默认移动速度设置为百分比。

aria-description 放在这里#
set drive velocity to (50) %

参数

描述

速度

将默认移动速度设置为 0 至 100 的百分比。

例子

当开始 :: hat events
[Drive forward at the default velocity.]
驱动 [向前 v] (100) [毫米 v] ▶
等待 (1) 秒
[Move slower.]
set drive velocity to (20) %
驱动 [向前 v] (100) [毫米 v] ▶
等待 (1) 秒
[Move faster.]
set drive velocity to (100) %
驱动 [向前 v] (100) [毫米 v] ▶
等待 (1) 秒

设置转弯速度#

设置转弯速度块将项目中所有后续转弯块的默认速度设置为百分比。

aria-description 放在这里#
设定转向速度为 (50) %2

参数

描述

速度

将默认转弯速度设置为 0 至 100 的百分比。

例子

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

设置驱动器停止#

设置驱动停止块设置传动系统运动结束时传动系统的行为方式。

aria-description 放在这里#
设定驱动停止模式为 [刹车 v]

参数

描述

停止行为

设置传动系统停止的方式,可以是以下之一:

  • 制动 – 立即停止。4
  • – 逐渐减速直至停止。8
  • 保持 停止并使用电机反馈
运动。12

例子

启动时,将停止设置为滑行,向前行驶 2 秒,然后停止。#
当开始 :: hat events
[Drive forward and coast to a stop.]
set drive velocity to (100) %
设定驱动停止模式为 [滑行 v]
驱动 [向前 v]
等待 (2) 秒
驱动停止

设置驱动器超时#

设置驱动超时模块设置了传动系统模块到达目标位置的等待时间限制。如果机器人无法在设定的时间内完成移动,它将自动停止并继续执行下一个模块。

**注意:**传动系统的时间限制用于防止未到达目标位置的传动系统块停止堆栈中其他块的执行。

aria-description 放在这里#
设定驱动超时为 (1) 秒

参数

描述

时间

传动系统块在停止并移动到下一个块之前运行的最大秒数。

例子

启动时,将驱动时间限制为 1 秒,然后旋转 90 度。#
当开始 :: hat events
[Drive forward for 1 second, then turn.]
设定驱动超时为 (1) 秒
驱动 [向前 v] (25) [英寸 v] ▶
[右 v] 转 (90) 度 ▶

设置驾驶航向#

设置驱动航向块将陀螺仪的当前航向设置为指定值。

aria-description 放在这里#
设定底盘归位至 (0) 度

参数

描述

标题

分配给陀螺仪当前方向的航向值(以度为单位)。

例子

aria-description 放在这里#
当开始 :: hat events
[Turn to the left.]
设定底盘归位至 (90) 度
归位至 (0) 度 ▶

设置驱动器旋转#

设置驱动旋转块设置陀螺仪的当前累积旋转值。

aria-description 放在这里#
设定底盘转向至 (0) 度

参数

描述

旋转

要分配的累积旋转值(以度为单位)。

例子

aria-description 放在这里#
当开始 :: hat events
[Spin counterclockwise two times.]
设定底盘转向至 (720) 度
转向至 (0) 度 ▶

价值观#

开车完成了吗?#

**驱动完成?**块返回一个布尔值,指示传动系统是否没有移动。

  • 正确 - 传动系统没有移动。

  • 错误 - 传动系统正在移动。

<驱动已结束?>

参数

描述

该块没有参数。

例子

当开始 :: hat events
[Start spinning when the drive is complete.]
驱动 [向前 v] (200) [毫米 v] ◀ 并且不等待
永久循环
如果 <驱动已结束?> 那么
[右 v] 转 (360) 度 ▶
退出循环
否则
在 (1) 设定光标至 (1) 行 [Brain v] 列
在 [Still Moving...] ▶上打印 [Brain v]
等待 (0.1) 秒
清除 [Brain v] 所有行

驱动器正在移动吗?#

**驱动器正在移动?**块返回一个布尔值,指示传动系统是否正在移动。

  • 正确 - 传动系统正在移动。

  • 错误 - 传动系统未移动。

<驱动进行中?>

参数

描述

该块没有参数。

例子

当开始 :: hat events
[Print that the robot is moving while it is still driving.]
驱动 [向前 v] (200) [毫米 v] ◀ 并且不等待
当 <驱动进行中?>
在 (1) 设定光标至 (1) 行 [Brain v] 列
在 [Still Moving...] ▶上打印 [Brain v]
等待 (0.1) 秒
清除 [Brain v] 所有行
结束
在 (1) 设定光标至 (1) 行 [Brain v] 列
在 [Done!] ▶上打印 [Brain v]

行驶方向#

驱动航向块以十进制数返回传动系统的航向角,范围在 0 到 359.99 度之间。

(底盘归位角度值)

参数

描述

该块没有参数。

例子

当开始 :: hat events
[Display the heading after turning.]
[右 v] 转 (450) 度 ▶
在 (底盘归位角度值) 上打印 [Brain v] ◀ 并设定光标为下一行

驱动旋转#

驱动旋转块返回自项目启动以来传动系统的旋转角度(以度为单位):顺时针为正,逆时针为负。

(底盘转向角度值)

参数

描述

该块没有参数。

例子

当开始 :: hat events
[Display the rotation after turning.]
[右 v] 转 (450) 度 ▶
在 (底盘转向角度值) 上打印 [Brain v] ◀ 并设定光标为下一行

驱动速度#

驱动速度块返回传动系统的当前速度,范围从 -100% 到 100% 或 -127 rpm 到 127 rpm。

(驱动速度 [% v])

参数

描述

单元

测量单位,可以是以下之一:

  • %
  • rpm(每分钟转数)

例子

当开始 :: hat events
[Display the velocity as the robot is moving.]
驱动 [向前 v]
等待 (1) 秒
在 (驱动速度 [% v]) 上打印 [Brain v] ◀ 并设定光标为下一行
驱动停止

驱动电流#

驱动电流块返回电机或电机组所吸收的电流量,范围从 0.0 到 1.2 安培 (Amperes)。

(驱动电流 [amps v])

参数

描述

该块没有参数。

例子

当开始 :: hat events
[Display the current as the robot is moving.]
将打印精度设置为 [0.01 v] 到 [Brain v]
驱动 [向前 v]
等待 (1) 秒
在 (驱动电流 [amps v]) 上打印 [Brain v] ◀ 并设定光标为下一行
驱动停止