Virtual Robot icon Virtual Robot — Display robot image with real-time servo position readouts and basic servo management including servo deletion Try it →
 

Movement

Drive the robot through whichever movement panel robot skill the project has. Movements keep going until another movement or a stop. Speeds run from 0 (stopped) to 255 (full speed).

Where to find it: the Movement category of the toolbox, in any script editor set to Blockly or on Top bar → Workspaces → Blockly


Blocks

The Movement category of the toolbox
The Movement category of the toolbox
Block What it does
Move Forward Drives the robot forward continuously.
Move Reverse Drives the robot backward continuously.
Stop Movement Immediately stops all robot movement.
Turn Right Turns the robot to the right at the specified speed.
Turn Left Turns the robot to the left at the specified speed.
Move … Start moving in a direction at the current speed, through whichever movement panel is in the project.
Move … at speed … Move in a direction at a speed from 0 to 255.
Set … speed to … Set the speed, 0 to 255, for the movement commands that follow.
Set speed left … right … Set the left and right speeds, 0 to 255 each, at once.
… speed The current movement speed, 0 to 255.
Move in direction named … Move in the direction named by the text: forward, reverse, left, right or stop, or the name of a custom direction the movement panel defines.
Move in direction named … left speed … right speed … Move in the direction named by the text, with a speed from 0 to 255 for each side.
Wait until the robot is moving … Pause the script until something - another script, a joystick, a robot skill - moves the robot in this direction.

Details

Move Forward

The Move Forward block
The Move Forward block

Drives the robot forward continuously. Set the left and right wheel speeds independently — matching speeds go straight, different speeds cause turning.

When to use it: Use this to start the robot moving forward. The robot keeps going until you send a Stop or another movement command.

Example: Move Forward, Left Speed: 100, Right Speed: 100 → drives straight ahead at full speed.

Tips:

  • Both speeds equal = straight line. Left faster = turns right. Right faster = turns left.
  • Speed values are typically 0–100 (check your robot's specification).
  • Remember to add a Stop block later, or the robot keeps going forever!

In JavaScript: this block runs

Movement.setSpeed(100, 100);
Movement.forward();

Move Reverse

The Move Reverse block
The Move Reverse block

Drives the robot backward continuously. Set the left and right wheel speeds independently. The robot keeps reversing until you send a Stop command.

When to use it: Use this when your robot needs to back up — like after detecting an obstacle.

Example: Move Reverse, Left: 60, Right: 60 → backs up at medium speed until stopped.

Tips:

  • Remember to add a Stop or another move command to end the reversing.
  • Unequal speeds will curve the robot as it reverses.
  • A common pattern is: detect obstacle → reverse briefly → turn → go forward.

In JavaScript: this block runs

Movement.setSpeed(100, 100);
Movement.reverse();

Stop Movement

The Stop Movement block
The Stop Movement block

Immediately stops all robot movement. Halts whatever direction the robot was moving.

When to use it: Use this after a move block, or any time you need the robot to stand still — like when a sensor detects something.

Example: If obstacle detected → Stop → Say "I see something!"

Tips:

  • Always stop the robot before switching directions for clean movement.
  • Stop doesn't turn off servos — just the movement motor drive.
  • Place a Stop at the end of any script that moves the robot, so it doesn't keep rolling!

In JavaScript: this block runs

Movement.stop();

Turn Right

The Turn Right block
The Turn Right block

Turns the robot to the right at the specified speed. The robot keeps turning until a Stop or different movement command is given.

When to use it: Use this to rotate the robot right — like turning down a hallway or avoiding an obstacle on the left.

Example: Turn Right, Speed: 50 → robot spins right at medium speed until stopped.

Tips:

  • Follow with a Sleep block then Stop to make a timed turn.
  • Adjust speed for tighter or wider turns.
  • A common pattern: Turn Right 500 ms → go forward.

In JavaScript: this block runs

Movement.setSpeed(100);
Movement.right();

Turn Left

The Turn Left block
The Turn Left block

Turns the robot to the left at the specified speed. The robot keeps turning until a Stop or different movement command is given.

When to use it: Use this to rotate the robot left — like turning around a corner or scanning the environment.

Example: Turn Left, Speed: 50 → robot spins left at medium speed until stopped.

Tips:

  • Higher speed = faster turn.
  • Add a Sleep block to control how far the robot turns before stopping.
  • For a precise 90° turn, experiment with the timing for your specific robot.

In JavaScript: this block runs

Movement.setSpeed(100);
Movement.left();

Move …

The Move … block
The Move … block

Start moving in a direction at the current speed, through whichever movement panel is in the project. The robot keeps moving until another movement command.

In JavaScript: this block runs

Movement.forward();

Move … at speed …

The Move … at speed … block
The Move … at speed … block

Move in a direction at a speed from 0 to 255. The robot keeps moving until another movement command.

In JavaScript: this block runs

Movement.forward(200);

Set … speed to …

The Set … speed to … block
The Set … speed to … block

Set the speed, 0 to 255, for the movement commands that follow. Left and right are for panels that drive each side separately.

In JavaScript: this block runs

Movement.setSpeed(200);

Set speed left … right …

The Set speed left … right … block
The Set speed left … right … block

Set the left and right speeds, 0 to 255 each, at once.

In JavaScript: this block runs

Movement.setSpeed(200, 200);

… speed

The … speed block
The … speed block

The current movement speed, 0 to 255.

In JavaScript: this block gives back the value of

Movement.getSpeed()

Move in direction named …

The Move in direction named … block
The Move in direction named … block

Move in the direction named by the text: forward, reverse, left, right or stop, or the name of a custom direction the movement panel defines.

In JavaScript: this block runs

Movement.fromString('forward');

Move in direction named … left speed … right speed …

The Move in direction named … left speed … right speed … block
The Move in direction named … left speed … right speed … block

Move in the direction named by the text, with a speed from 0 to 255 for each side.

In JavaScript: this block runs

Movement.fromString('forward', 200, 200);

Wait until the robot is moving …

The Wait until the robot is moving … block
The Wait until the robot is moving … block

Pause the script until something - another script, a joystick, a robot skill - moves the robot in this direction.

In JavaScript: this block runs

Movement.waitForForward();