Controlling multiple stepper motors

As part of a Uni project, I'm participating in a competition that involves building a self-guided/programmed robot. It needs four motors that can be controlled independantly - three of them are stepper motors that need to be able to rotate in both directions, one is a DC motor that only needs to travel in one direction. All of my group including me have absolutely no experience with Arduino; I've read about using additional boards to control motors in order to provide enough current and not fry the Arduino, however these boards are (apparently) only capable of driving one stepper motor (or two DC motors).

TLDR;
How would I go about controlling four motors independantly using an Arduino UNO?

Also, I am unsure about which sort of stepper motors and DC motor to use - I've read about four-phase/unipolar/bi-polar stepper motors - what does this all mean? What are the advantages of one over the other? How easy is it to control each type?

To give you some more context: two of the stepper motors are used for driving two wheels; one for each wheel to allow the robot to turn. One stepper motor is used to operate a rack-and-pinion forklift mechanism. The DC motor is used to drive two small wheels.

Thanks for the help in advance!

See
Motors 3 and the motors 4 page for the difference between bipolar and unipolar stepping motors.

Each stepping motor needs a driver. Drivers will have two inputs, step and direction. Each pulse on the step moves the motor a fixed amount.

Control simply involves sending pulses to each driver.

Motors 1 and 2 pages talk about DC motors. You do not want a four phase motor.

Then there is this very useful thread
http://forum.arduino.cc/index.php?topic=284828.0

a motor is isolated from the Arduino by a 'driver' the Arduino is the 'controller' cannot tell you how many people get those terms confused.

a stepper DRIVER takes your input power, 70 volts, 48 volts, 35.24.. whatever, 7 amps, 1 amp... whatever....
and the Arduino controller only sends command pulses of 5 volts to it. each pulse means 1 step. 200 pulses, = 200 steps. if there are 200 steps per revolution, then 200 pulses = 1 revolution.

if you check for a4988 stepper drivers, they operate on only 2 output pins, one for step, one for direction. plus power.
these are tiny and should work with most steppers you will find.

as for sizing the motor, that is dependant on the size of your robot. how much weight it has to move and how fast you want it to be.

how many stepper drivers can you use from one Arduino controller ? well 4 is very easy. you could to 8 without much trouble.

as a note, steppers are not energy saving and you will need good batteries.