Like Tim Ring suggested, combining an Arduino with a more powerful device would be your best bet. Using a cheap Netbook as the brains would give you that additional power, you could even use the built in webcam as the camera, and do all of your image processing on the Netbook.
The Arduino would plug into a USB port on the netbook and could easily send and receive commands over a serial port - this way you could program all of your IO code into the Arduino and write your higher level "brain" code to run on the Netbook. For example, the Netbook could then issue commands like "Drive Forward For 2 Seconds" to the Arduino and the Arduino could control the motors to perform the task. You could ask it for the reading from the compass or GPS and the Arduino could send the value back.
You could also have your "brain" code monitoring the serial port for any data the Arduino wanted to send, for example, if it was driving forwards and a bumper sensor detected a collision, it could send a "Collision" command to the brain and the brain could decide what to do about it.
The huge benefit of using a Netbook would be the ability to display diagnostic and debug information on it's LCD. Coming from a PC prgramming background, I find debugging an Arduino with no visual feedback to be very tricky indeed.
The Arduino would get it's power from the Netbook too, meaning you only needed to supply a separate power source for the motors/servos.