传动系统#
Introduction#
A drivetrain in VEXcode VR allows precise forward, reverse, and turning movements. These blocks allow the robot to move continuously or for set distances, rotate by degrees or to a heading, and respond to changes in its rotational orientation.
The Drivetrain category also includes configuration blocks that let you set drive and turn speeds, define stopping behavior, apply timeouts to avoid execution stalls, and manually update the robot’s heading or rotation values. These features provide flexibility when designing autonomous behaviors or real-time adjustments.
Below is a list of available blocks:
Actions – Drive or turn the robot for a set distance, angle, or continuously.
drive – Drives the robot continuously forward or in reverse.
drive for – Drives the robot for a set distance.
turn – Turns the robot continuously left or right.
turn for – Turns the robot a specific number of degrees.
turn to heading – Turns the robot to face a specific absolute heading.
turn to rotation – Turns the robot to reach a specific cumulative rotation.
stop driving – Stops all robot movement.
Settings – Configure drivetrain speeds, stopping, timeouts, and rotation values.
set drive velocity – Sets the speed for all drive blocks.
set turn velocity – Sets the speed for all turn blocks.
set drive heading – Manually sets the robot’s gyro heading value.
set drive rotation – Manually sets the robot’s cumulative rotation value.
set drive timeout – Limits how long drive blocks wait to reach their goal.
Values – Returns drivetrain motion status, heading, rotation, velocity, and current draw.
drive is done? – Returns a Boolean indicating whether the drivetrain is no longer moving.
drive is moving? – Returns a Boolean indicating whether the drivetrain is currently moving.
drive heading – Returns the drivetrain’s heading angle (0 to 359.99 degrees).
drive rotation – Returns how much the drivetrain has turned since the project started.
Actions#
drive#
The drive block moves the drivetrain forward or in reverse using the current drive velocity. This block runs continuously until another Drivetrain block interrupts it or the project stops.
驱动 [向前 v]
Parameters |
Description |
|---|---|
direction |
The direction the robot drives:
|
Example
当开始 :: hat events
[Drive forward, then stop.]
驱动 [向前 v]
等待 (2) 秒
驱动停止
drive for#
The drive for block moves the drivetrain forward or in reverse for a specified distance using the current drive velocity.
驱动 [向前 v] (200) [毫米 v] ▶
Parameters |
Description |
|---|---|
direction |
The direction the robot drives:
|
distance |
The distance the robot drives, as an integer or decimal. |
unit |
The unit of measurement:
|
expanding arrow |
By default, this is a waiting block, so the drivetrain will finish moving before running the next block. To make the drivetrain start moving and immediately run the next block right away, expand the block to say and don’t wait. |
Example
当开始 :: hat events
[Drive forward.]
驱动 [向前 v] (500) [毫米 v] ▶
turn#
The turn block turns the drivetrain continuously left or right using the current turn velocity. The drivetrain will keep turning until another drivetrain block runs or the project stops.
[右 v] 转
Parameters |
Description |
|---|---|
direction |
The direction the robot turns:
|
Example
当开始 :: hat events
[Turn right, then stop.]
[右 v] 转
等待 (2) 秒
驱动停止
turn for#
The turn for block turns the drivetrain left or right for a specific number of degrees using the current turn velocity.
[右 v] 转 (90) 度 ▶
Parameters |
Description |
|---|---|
direction |
The direction the robot turns:
|
angle |
The number of degrees the robot turns, as an integer or decimal. |
expanding arrow |
By default, this is a waiting block, so the drivetrain will finish turning before running the next block. To make the drivetrain start turning and immediately run the next block right away, expand the block to say and don’t wait. |
Example
当开始 :: hat events
[Turn left, then turn around to the right.]
[左 v] 转 (90) 度 ▶
[右 v] 转 (180) 度 ▶
turn to heading#
The turn to heading block turns the drivetrain to face a specific heading using the current turn velocity.
归位至 (90) 度 ▶
Parameters |
Description |
|---|---|
heading |
The absolute heading the drivetrain will turn to, from -360 to 360 degrees. |
expanding arrow |
By default, this is a waiting block, so the drivetrain will finish turning before running the next block. To make the drivetrain start turning and immediately run the next block right away, expand the block to say and don’t wait. |
Example
当开始 :: hat events
[Turn to face the cardinal directions.]
归位至 (90) 度 ▶
等待 (2) 秒
归位至 (180) 度 ▶
等待 (2) 秒
归位至 (270) 度 ▶
等待 (2) 秒
归位至 (0) 度 ▶
等待 (2) 秒
turn to rotation#
The turn to rotation block turns the drivetrain to face a specific rotational value using the current turn velocity.
转向至 (90) 度 ▶
Parameters |
Description |
|---|---|
rotation |
The cumulative rotation value the robot will turn to, as an integer or decimal. |
expanding arrow |
By default, this is a waiting block, so the drivetrain will finish turning before running the next block. To make the drivetrain start turning and immediately run the next block right away, expand the block to say and don’t wait. |
Example
当开始 :: hat events
[Turn left, then spin in a circle clockwise and face right.]
转向至 (-90) 度 ▶
等待 (2) 秒
转向至 (450) 度 ▶
stop driving#
The stop driving block immediately stops all movement of the drivetrain.
驱动停止
Parameters |
Description |
|---|---|
This block has no parameters. |
Example
当开始 :: hat events
[Drive forward, then stop.]
驱动 [向前 v]
等待 [4] 秒
驱动停止
Settings#
set drive velocity#
The set drive velocity block sets the default movement speed as a percentage for all subsequent movement blocks in the project. By default, the drive velocity is set to 50%.
设定驱动速度为 (50) [% v]
Parameters |
Description |
|---|---|
velocity |
Sets the default movement velocity from 0% to 100%. |
Example
当开始 :: 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) 秒
set turn velocity#
The set turn velocity block sets the default velocity as a percentage for all subsequent turn blocks in the project. By default, the turn velocity is set to 50%.
设定转向速度为 (50) [% v]
Parameters |
Description |
|---|---|
velocity |
Sets the default turn velocity from 0% to 100%. |
Example
当开始 :: hat events
[Turn at default velocity.]
[右 v] 转 (100) 度 ▶
等待 (1) 秒
[Turn slower.]
设定转向速度为 (20)%
[右 v] 转 (100) 度 ▶
等待 (1) 秒
[Turn faster.]
设定转向速度为 (100)%
[右 v] 转 (100) 度 ▶
等待 (1) 秒
set drive heading#
The set drive heading block sets the gyro’s current heading to a specified value.
设定底盘归位至 (0) 度
Parameters |
Description |
|---|---|
heading |
The heading value to assign, in degrees. |
Example
当开始 :: hat events
[Turn to the left.]
设定底盘归位至 (90) 度
归位至 (0) 度 ▶
set drive rotation#
The set drive rotation block sets the gyro’s current cumulative rotation value.
设定底盘转向至 (0) 度
Parameters |
Description |
|---|---|
rotation |
The cumulative rotation value to assign, in degrees. |
Example
当开始 :: hat events
[Spin counterclockwise two times.]
设定底盘转向至 (720) 度
转向至 (0) 度 ▶
set drive timeout#
The set drive timeout block sets a time limit for how long a Drivetrain block will wait to reach its target. If the robot cannot complete the movement within the set time, it will stop automatically and continue with the next block.
Note: The Drivetrain’s time limit is used to prevent Drivetrain blocks that do not reach their target position from stopping the execution of other blocks in the stack.
设定驱动超时为 (1) 秒
Parameters |
Description |
|---|---|
time |
The maximum number of seconds a Drivetrain block will run before stopping and moving to the next block. |
Example
当开始 :: hat events
[Drive forward for 1 second, then turn.]
设定驱动超时为 (1) 秒
驱动 [向前 v] (25) [英寸 v] ▶
[右 v] 转 (90) 度 ▶
Values#
drive is done?#
The drive is done? block returns a Boolean indicating whether the drivetrain is not moving.
True - The drivetrain is not moving.
False - The drivetrain is moving.
Note: This block only detects movement from blocks that can expand to show the and don’t wait option.
<驱动已结束?>
Parameters |
Description |
|---|---|
This block has no parameters. |
Example
当开始 :: hat events
[Start spinning when the drive is complete.]
驱动 [向前 v] (200) [毫米 v] ◀ 并且不等待
等到 <驱动已结束?>
[右 v] 转 (360) 度 ▶
drive is moving?#
The drive is moving? block returns a Boolean indicating whether the drivetrain is moving.
True - The drivetrain is moving.
False - The drivetrain is not moving.
Note: This block only detects movement from blocks that can expand to show the and don’t wait option.
<驱动进行中?>
Parameters |
Description |
|---|---|
This block has no parameters. |
Example
当开始 :: hat events
[Print that the robot is moving while it is still driving.]
驱动 [向前 v] (200) [毫米 v] ◀ 并且不等待
当 <驱动进行中?>
打印 [Still Moving...] ▶
等待 (0.1) 秒
清屏
结束
打印 [Done!] ▶
drive heading#
The drive heading block returns the drivetrain’s heading angle as a decimal number, in the range 0 to 359.99 degrees.
(底盘归位角度值)
Parameters |
Description |
|---|---|
This block has no parameters. |
Example
当开始 :: hat events
[Display the heading after turning.]
[右 v] 转 (450) 度 ▶
在屏幕上打印 (底盘归位角度值)◀ 并设定光标为下一行
drive rotation#
The drive rotation block returns how much the drivetrain has turned since the project started, in degrees: positive for clockwise, negative for counterclockwise.
(底盘转向角度值)
Parameters |
Description |
|---|---|
This block has no parameters. |
Example
当开始 :: hat events
[Display the rotation after turning.]
[右 v] 转 (450) 度 ▶
在屏幕上打印 (底盘转向角度值)◀ 并设定光标为下一行