传动系统#

介绍#

VEXcode VR 中的驱动系统能够实现精确的前进、后退和转向运动。这些模块使机器人能够连续移动或移动设定的距离,按度数或航向旋转,并响应其旋转方向的变化。

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

以下是可用模块列表:

动作——控制机器人行驶或转弯一段设定的距离、角度,或持续进行。

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

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

  • turn – 使机器人持续向左或向右转弯。

  • turn for – 将机器人旋转指定的度数。

  • 转向航向 – 将机器人转向面向指定的绝对航向。

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

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

设置 – 配置传动系统速度、停止、超时时间和旋转值。

数值 – 返回传动系统运动状态、航向、旋转、速度和当前电流消耗。

行动#

驾驶#

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

驱动 [向前 v]

参数

描述

方向

机器人行驶方向:

  • 前进
  • 后退

例子

当开始 :: hat events
[Drive forward, then stop.]
驱动 [向前 v]
等待 (2) 秒
驱动停止

驱动#

drive for 模块使用当前的 drive velocity 使传动系统向前或向后移动指定的距离。

驱动 [向前 v] (200) [毫米 v] ▶

参数

描述

方向

机器人行驶方向:

  • 前进
  • 后退

距离

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

单元

计量单位:

  • 毫米
  • 英寸

展开箭头

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

例子

当开始 :: hat events
[Drive forward.]
驱动 [向前 v] (500) [毫米 v] ▶

转动#

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

[右 v] 转

参数

描述

方向

机器人转向方向:

  • 左转
  • 右转

例子

当开始 :: hat events
[Turn right, then stop.]
[右 v] 转
等待 (2) 秒
驱动停止

转向#

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

[右 v] 转 (90) 度 ▶

参数

描述

方向

机器人转向方向:

  • 左转
  • 右转

角度

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

展开箭头

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

例子

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

转向标题#

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

归位至 (90) 度 ▶

参数

描述

标题

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

展开箭头

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

例子

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

转向旋转#

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

转向至 (90) 度 ▶

参数

描述

旋转

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

展开箭头

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

例子

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

停止驾驶#

停止行驶模块会立即停止传动系统的所有运动。

驱动停止

参数

描述

此代码块没有参数。

例子

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

设置#

设定驱动速度#

“设置驱动速度”模块用于设置项目中所有后续移动模块的默认移动速度(以百分比表示)。默认情况下,驱动速度设置为 50%。

设定驱动速度为 (50) [% v]

参数

描述

速度

设置默认移动速度,范围从 0% 到 100%。

例子

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

设定转弯速度#

“设置转弯速度”模块用于设置项目中所有后续转弯模块的默认速度(以百分比表示)。默认情况下,转弯速度设置为 50%。

设定转向速度为 (50) [% v]

参数

描述

速度

设置默认转弯速度,范围从 0% 到 100%。

例子

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

设置驱动航向#

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

设定底盘归位至 (0) 度

参数

描述

标题

要指定的航向值,以度为单位。

例子

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

设置驱动旋转#

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

设定底盘转向至 (0) 度

参数

描述

旋转

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

例子

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

设置驱动超时#

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

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

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

参数

描述

时间

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

例子

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

价值观#

驱动完成了吗?#

驱动完成? 模块返回一个布尔值,指示驱动系统是否停止运转。

  • 没错——传动系统没有运转。

  • 错误 - 传动系统正在运转。

注意:此模块仅检测可展开以显示无需等待选项的模块的移动。

<驱动已结束?>

参数

描述

此代码块没有参数。

例子

当开始 :: hat events
[Start spinning when the drive is complete.]
驱动 [向前 v] (200) [毫米 v] ◀ 并且不等待
等到 <驱动已结束?>
[右 v] 转 (360) 度 ▶

驱动器正在移动吗?#

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

  • 没错——传动系统正在运转。

  • 错误 - 传动系统没有运转。

注意:此模块仅检测可展开以显示无需等待选项的模块的移动。

<驱动进行中?>

参数

描述

此代码块没有参数。

例子

当开始 :: hat events
[Print that the robot is moving while it is still driving.]
驱动 [向前 v] (200) [毫米 v] ◀ 并且不等待
当 <驱动进行中?>
打印 [Still Moving...] ▶
等待 (0.1) 秒
清屏
结束
打印 [Done!] ▶

行驶方向#

驱动方向 模块返回驱动系统的航向角,以十进制数表示,范围为 0 到 359.99 度。

(底盘归位角度值)

参数

描述

此代码块没有参数。

例子

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

驱动旋转#

驱动旋转 模块返回自项目开始以来驱动系统旋转了多少度:正数表示顺时针旋转,负数表示逆时针旋转。

(底盘转向角度值)

参数

描述

此代码块没有参数。

例子

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