Line following sensor

Hey guys, I am a first year student of Mech. Eng. and for our current project we have to build a robot that moves from point A to point B, while under going obstacles and climbing 'small' hills (2cm high I believe). The robot needs to bring drinks to a table, the objective is to bring them there fast and without spilling too much of the drink. So we wanted to use the Arduino for the balancing (with a servo/actuator). Obviously robotics isn't our field so I wanted a little guidance by you guys.

We have two options: build a line following sensor ourselves (LEDs, resistors etc.) or buy one that's already made. I've found one, the I2C line following sensor but that one doesn't seem to be a very good option, it seems to have gotten some complaints and I don't know if it's compatible with the Arduino (should be).

[u]Okay the question is, do you guys know of any line following sensors that can be readily bought and are compatible with the Arduino boards? Or do you think it's easier to build the sensor ourselves?[/u]

I hope I was clear enough and thanks in advance. :)

I actually googled a little bit more and found the QTR-8A Reflectance Sensor Array, apparently other's have used it in the past in combination with the Arduino.

Nice one Pluggy - I used those for my final year project, thirty years ago!

I'm using QTR-8C from Pololu. It works well and it is compatible with Arduino. There is also a library from Pololu for Arduino boards.

Two of these will work well. If both sensors see the black line, go forward. If only one sensor sees the black line, turn towards the sensor that still sees the black line until both sensors see the black line. Then go forward... repeat until you win.

As for not spilling the drink, maybe a couple mercury switches to make sure your drink holder is still more or less upright. I see the drink holders and the chassis with the wheels being jointed with pivoting servos for those little hills.