Fun Projects for your LEGO MINDSTORMS NXT!

Home     Projects     Help     Contacts

Steering Rover
Building: Intermediate
Program: Advanced

Building Instructions














Use the medium length wire to attach the touch sensor to port 1 on the NXT. 
Then use the long wire to attach the rear wheel motor on the vehicle to port C on the NXT.

Finally, attach the long wire from the steering motor on the vehicle directly to the steering wheel motor on the remote control.

Steering Rover Programming

The Steer_Power program will control the rover when it is wired as shown above (with the vehicle's steering motor connected directly to the steering wheel motor) and allow you to adjust the speed of the rover.  The controls are:

  • Touch Sensor: Drive forward

  • Orange Enter button: Drive in reverse

  • Left Arrow button: Decrease speed

  • Right Arrow button: Increase speed

  • Steering wheel: Steer left and right

Also, the much simpler program Steer_Rover does the same thing but without the speed control, if you just want to understand how the drive buttons work. 

Note that the Steer_Power and Steer_Rover programs don't do anything with the steering, because the "generator steering" here is handled by the direct motor/generator hookup of the two steering motors.  The steering wheel motor generates electricity when you turn it by hand, and this electricity makes the steering motor on the vehicle turn in the same direction by about the same amount.

As an alternative, you can wire the steering control through the NXT and have the NXT control the steering by program control using the Steer_Motor program.  This makes the program much more complicated, but there are some advantages.  Can you feel the difference in the way it steers?  To use this program, you need to add a short (20 cm) wire and re-wire the steering motor as follows:

Alternate steering wiring for the Steer_Motor program:
Move the long wire from the steering motor on the vehicle to port B on the NXT, and
use a short wire to connect the steering wheel motor on the remote control to port A on the NXT.


  • The rover vehicle is just a simple frame to hold the motors and get the steering and rear wheels to work.  Can you add some parts to it to make it look more like a real car? 

  • Compare how the rover vehicle drives steers when you use the generator steering (Steer_Power program) vs. the program-controlled steering (Steer_Motor program).  Can you tell the difference?  Hint: Try turning the steering wheel both slowly and quickly.  What do you think causes this difference?  Hint: An electric generator is not 100% efficient, and some electricity is lost.

  • When you steer sharply to one side, you will notice that the vehicle doesn't turn very well, and the front wheels might start to slide sideways.  Why do you think this is?  Imagine drawing circular paths that all four wheels are trying to follow to make a sharp turn.  What is preventing them from following the ideal circular paths?  If you remove the blue peg in the front steering lever, which is designed to limit the steering angle, you can make the vehicle try to steer even sharper, which will make the problem even more visible.  There are actually two problems causing this, as explained in the next two challenges.

  • One problem with the design that makes sharp turns not work well is that the rear wheels are both forced to go the same speed due to the solid axle connecting them.  When making a turn, the outside wheel needs to rotate faster than the inside wheel to prevent slipping, but the solid axle prevents this, and the back wheels going the same rate makes the vehicle resist turning.  Real cars use a differential to solve this problem.  There is actually a LEGO Technic part designed for this, shown below with the gears and axles in place that make it work for this solution.  If you have this part, you can try modifying the vehicle to add it.  The rear wheel drive motor will want to drive one of the two gears integrated into the gray differential housing instead of either axle.

It is also possible but tricky to make your own differential out of other Technic parts.  If you search the internet you may find pictures of various designs that people have used.

  • The second problem affecting the steering is with the front wheels.  Although the front wheels are free to turn at different rates, the parallel arm steering mechanism on this vehicle makes both wheels turn at the same angle, but this is not what you want for a sharp turn.  If you steer at a sharp angle and look at the front wheels, you will see that they are not pointing at the correct angles to track around the proper circular paths needed.  The inside wheel needs to turn at a greater angle so that it can lead the inside wheel around a circle of a smaller radius than the outside wheel.  A solution to this is called Ackermann steering, which is also used in various forms in real cars.  Achieving this with LEGOs is very tricky, but if you search for "LEGO Ackermann steering" you will find some ideas.

  • Using the steering mechanism for this vehicle, can you design your own autonomous (not remote controlled) vehicle complete with the NXT brick that steers with program control?

Get nxtprograms.com on CD!
Click here for info

Home     Projects     Help     Contacts


Copyright 2007-2011 by Dave Parker.  All rights reserved. 
All project designs, images, and programs are protected by copyright.  Please see the usage policy.