Drivetrain#

Drive#

The Drive block is used to move the Drivetrain in the specified direction forever, until a new drivetrain command is used, or the project is stopped.

This is a non-waiting block and allows any subsequent blocks to execute without delay.

  drive [forward v]

Select which direction for the drivetrain to move in.

Diagram illustrating drivetrain movement commands: drive, turn, stop, and set velocity in robotics programming.

In this example, the robot will drive forward for 2 seconds, then stop.

  when stated :: hat events
  drive [forward v]
  wait (2) seconds
  stop driving

Drive for#

The Drive for block is used to move the Drivetrain for a given distance.

This is can be a non-waiting or waiting block depending on if the and don’t wait option is used.

  drive [forward v] for (200) [mm v] ▶

Select which direction for the drivetrain to move in.

Diagram illustrating the Drivetrain commands for driving and turning robot movements in programming.

Set how far the Drivetrain will move by entering a value, and choosing the unit of measurement (inches or millimeters).

The Drive for block can accept decimals, integers, or numeric blocks.

Diagram illustrating the Drive for block used to move the Drivetrain a specified distance in robotics programming.

By default, the Drive for block will block any subsequent blocks from executing until it’s finished. By expanding the Drive for block to show and don’t wait, blocks will continue to execute while the Drivetrain is moving.

  drive [forward v] for (200) [mm v] ◀ and don't wait

In this example, the robot will drive in reverse for 500 mm.

  when started :: hat events
  drive [reverse v] for (500) [mm v] ▶

Turn#

The Turn block is used to rotate the Drivetrain forever, until a new Drivetrain block is used, or the program is stopped.

This is a non-waiting block and allows any subsequent blocks to execute without delay.

  turn [right v]

Select which direction the Drivetrain will turn.

Diagram illustrating drivetrain turn direction commands for robotic movement and control.

In this example, the robot will turn towards the left for 2 seconds, then stop.

  when started :: hat events
  turn [right v]
  wait (2) seconds
  stop driving

Turn for#

The Turn for block is used to rotate the Drivetrain for a given number of degrees.

This is can be a non-waiting or waiting block depending on if the and don’t wait option is used.

  turn [right v] for (90) degrees ▶

Select which direction the Drivetrain will turn.

Diagram illustrating drivetrain commands for driving and turning directions in robotics programming.

Set how far the Drivetrain will turn by entering the number of degrees.

The Drive for block can accept decimals, integers, or numeric blocks.

By default, the Turn for block will block any subsequent blocks from executing until it’s finished. By expanding the Turn for block to show and don’t wait, blocks will continue to execute while the Drivetrain is moving.

  turn [right v] for (90) degrees ◀ and don't wait

In this example, the robot turn left for 45 degrees.

  when started :: hat events
  turn [left v] for (45) degrees ▶

Turn to heading#

The Turn to heading block is used to turn a Drivetrain to a specific heading using the built-in Gyro sensor.

This is can be a non-waiting or waiting block depending on if the and don’t wait option is used.

  turn to heading (90) degrees ▶

The Turn to heading block turns to an absolute degree measure. This means:

  • When the robot turns clockwise past 360 degrees, the degree measure will start increasing again from 0 degrees.

  • When the robot turns counterclockwise past 0 degrees, the degree measure start decreasing again from 360 degrees.

Image of a compass indicating direction for the Drivetrain's turn to heading block in robotics programming.

The Turn to heading block can accept decimals, integers, or numeric blocks.

By default, the Turn to heading block will block any subsequent blocks from executing until it’s finished. By expanding the Turn to heading block to show and don’t wait, blocks will continue to execute while the Drivetrain is moving.

  turn to heading (90) degrees ◀ and don't wait

In this example, the robot will turn to face 270 degrees.

  when started :: hat events
  turn to heading (270) degrees ▶

Turn to rotation#

The Turn to rotation block is used to turn a Drivetrain to a specific angle of rotation using the built-in Gyro sensor.

This is can be a non-waiting or waiting block depending on if the and don’t wait option is used.

  turn to rotation (90) degrees ▶

The Turn to rotation block turns a cumulative degree measure. This means:

  • When the robot turns clockwise past the 360 degrees, the degree measure continues to increase.

  • When the robot turns counterclockwise past 0 degrees, the degree measure continues to decrease.

Image of a compass illustrating the concept of turning to a specific rotation for a robot's drivetrain.

The Turn to rotation block can accept decimals, integers, or numeric blocks.

By default, the Turn to rotation block will block any subsequent blocks from executing until it’s finished. By expanding the Turn to rotation block to show and don’t wait, blocks will continue to execute while the Drivetrain is moving.

  turn to rotation (90) degrees ◀ and don't wait

In this example, the robot will turn to 480 degrees.

  when started :: hat events
  turn to rotation (480) degrees ▶

Stop driving#

The Stop driving block is used to stop the drivetrain.

This is a non-waiting block and allows any subsequent blocks to execute without delay.

  stop driving

In this example, the robot will stop driving after 4 seconds.

  when started :: hat events
  drive [forward v]
  wait (4) seconds
  stop driving

Set drive velocity#

The Set drive velocity block is used to set the speed of the Drivetrain.

This is a non-waiting block and allows any subsequent blocks to execute without delay.

  set drive velocity to (50) %

The Set drive velocity block accepts a range from 1% to 100%. The default drive velocity is 50%.

In this example, the drive velocity is set to 100% before the robot drives forward for 600 MM.

  when started :: hat events
  set drive velocity to (100) %
  drive [forward v] for (600) [mm v] ▶

Set turn velocity#

The Set turn velocity block is used to set the speed of the Drivetrain’s turns.

This is a non-waiting block and allows any subsequent blocks to execute without delay.

  set turn velocity to (50) %

The Set turn velocity block accepts a range from 1% to 100%. The default turn velocity is 50%.

In this example, the turn velocity is set to 100% before the robot turns to the left for 180 degrees.

  when started :: hat events
  set turn velocity to (100) %
  turn [left v] for (180) degrees ▶

Set drive heading#

The Set drive heading block is used to set the Drivetrain’s Gyro heading value.

This is a non-waiting block and allows any subsequent blocks to execute without delay.

  set drive heading to (0) degrees

The Set drive heading block can be used to set the Drivetrain’s position to any given heading. This block can be used to reset the orientation of the Drivetrain’s gyro when the heading is set to a value of 0.

The Set drive heading block can accept integers or numeric blocks.

In this example, the Drivetrain’s Gyro heading will be set to 90 degrees.

  when started :: hat events
  set drive heading to (90) degrees

Set drive rotation#

The Set drive rotation block is used to set the Drivetrain’s angle of rotation.

This is a non-waiting block and allows any subsequent blocks to execute without delay.

  set drive rotation to (0) degrees

The Set drive rotation block can be used to set the Drivetrain’s angle of rotation to any given positive or negative value.

The Set drive rotation block can accept integers or numeric blocks.

  when started :: hat events
  set drive rotation to (115) degrees