Caution Tape Robotics Club
Back to Blog

How to Make Your VEX IQ Robot Turn Accurately

February 6, 2026 2 min read Master Shifu

Robot turning accurately with momentum compensation

Have you ever told your robot to turn 90 degrees, only to watch it spin to 95 or 100? This overshooting problem is one of the most frustrating challenges in VEX IQ programming.

In this guide, we’ll teach you a technique called momentum compensation that makes your robot stop exactly where you want it.

Why Does My Robot Overshoot?

When you tell a motor to stop, the robot doesn’t freeze instantly. It has momentum - the tendency of moving objects to keep moving. Here’s what happens:

  1. Robot is spinning toward 90 degrees
  2. Brain Inertial reads 90 degrees - time to stop!
  3. You send the stop command
  4. But the robot is still moving… it coasts to 95 degrees

The heavier your robot and the faster it’s turning, the worse the overshoot becomes.

The Solution: Stop Early

The trick is simple: stop before you reach the target and let momentum carry you the rest of the way.

If your robot typically overshoots by 10 degrees:

  • Target: 90 degrees
  • Stop at: 80 degrees
  • Momentum carries you to: ~90 degrees

This “stop early” amount is what we call the momentum value.

The Turn Function

Here’s a custom block that turns your robot to any angle with momentum compensation:

defineturnrotationrotationvelocityvelocitymomentummomentumifrotationBrainInertialrotationindegreesthenTurning left - stop early by adding momentumwhilerotationmomentumBrainInertialrotationindegreessetLeftMotorvelocitytovelocity%setRightMotorvelocitytovelocity%spinLeftMotorreversespinRightMotorforwardelseTurning right - stop early by subtracting momentumwhilerotationmomentumBrainInertialrotationindegreessetLeftMotorvelocitytovelocity%setRightMotorvelocitytovelocity%spinLeftMotorforwardspinRightMotorreversestopLeftMotorstopRightMotor

What Each Parameter Does

ParameterWhat It Controls
rotationTarget angle (in degrees from start)
velocityTurn speed (0-100%)
momentumHow many degrees early to stop

How the Turn Logic Works

The function first figures out which way to turn by comparing where you want to be (rotation) with where you are (BrainInertial rotation):

Turning Right (target > current):

  • Left motor spins forward
  • Right motor spins reverse
  • Robot rotates clockwise

Turning Left (target < current):

  • Left motor spins reverse
  • Right motor spins forward
  • Robot rotates counter-clockwise

The Momentum Math

Let’s say you want to turn right to 90 degrees with momentum = 10:

Without momentum compensation:

Stop when: BrainInertial = 90
Robot coasts to: ~100 degrees (overshot by 10!)

With momentum compensation:

Stop when: BrainInertial = 90 - 10 = 80
Robot coasts to: ~90 degrees (perfect!)

For left turns, we add momentum instead of subtracting (because Brain Inertial decreases when turning left).

Putting It All Together

Here’s a complete program that demonstrates turning:

whenstartedcalibrateBrainInertialturn90rotation30velocity10momentumturn0rotation30velocity10momentumturn-90rotation30velocity10momentumturn0rotation30velocity10momentum

This program:

  1. Calibrates the inertial sensor (keep robot still!)
  2. Turns right to 90 degrees
  3. Turns back to 0 degrees (center)
  4. Turns left to -90 degrees
  5. Returns to center

Tuning Your Momentum Value

The right momentum value depends on your robot’s weight, wheel grip, and turn speed. Every robot is different!

MomentumBehavior
Too lowRobot overshoots the target
Just rightRobot stops exactly on target
Too highRobot stops short of the target

How to tune:

  • Robot overshooting? → Increase momentum
  • Robot stopping short? → Decrease momentum

Speed Matters Too

Faster turns have more momentum, so they need higher compensation. If you change your turn velocity, you’ll likely need to re-tune your momentum value.

Common Problems and Fixes

Robot overshoots turns

  • Increase your momentum value
  • Try slowing down the velocity

Robot stops short of target

  • Decrease your momentum value
  • Your momentum setting is too aggressive

Robot turns the wrong direction

  • Check motor directions in device configuration
  • Make sure LeftMotor and RightMotor are on the correct sides

Inconsistent turn accuracy

  • Make sure Brain Inertial is calibrated (robot must be still at startup)
  • Check battery level - low battery affects motor performance
  • Clean your wheels - slippage causes inconsistent results

Combining with Drive Straight

Now you can combine turning with the drive straight function from our previous guide:

whenstartedcalibrateBrainInertialdriveStraight0rotation720distance30velocity1kpturn90rotation30velocity10momentumdriveStraight90rotation720distance30velocity1kpturn180rotation30velocity10momentumdriveStraight180rotation720distance30velocity1kp

This creates an L-shaped path:

  1. Drive forward (heading 0°)
  2. Turn right 90°
  3. Drive forward (heading 90°)
  4. Turn right another 90°
  5. Drive forward (heading 180°)

Quick Reference Table

ProblemMost Likely CauseQuick Fix
Overshoots turnsMomentum too lowIncrease momentum
Stops shortMomentum too highDecrease momentum
Turns wrong wayMotor direction wrongCheck device config
Inconsistent resultsCalibration issueKeep still at startup

What’s Next?

Once you’ve mastered momentum turns, you can:

  • Build complex autonomous routines combining drives and turns
  • Learn about proportional turning for even smoother rotation
  • Explore PID control for competition-level precision

The momentum compensation technique is used by teams at every level of VEX competition. Master these fundamentals, and you’ll have the building blocks for any autonomous challenge!


Pro tip: Keep a tuning log! Write down what momentum and velocity values work best for your robot. These values will change if you modify your robot’s weight or wheel configuration.

Share this article

Not sure where to start?

Use the Pathway Guide to find the right program for your child.

Explore Programs