Uno + Servos + IR Distance sensor = out of my depth?

Hey guys,

I'm completely new to Arduino, though I've been trying to read up on as much as I can. Also, I realise the best way to learn is to probably just jump straight in and start doing things, but time and money is limited so I'm looking for a few pointers.

Let me set the scene so you can hopefully tell me whether my reasoning is correct.

My is aim to create a robot which can traverse a straight 4.3m (~14ft) path, turn around and come back, whilst remaining within +/-1cm (~0.39in) of the centre-line on the way down and +/-3cm (~1.2in) on the way back. The track has a 12mm rail around the sides of it and is approximately 1.2m (~4ft) wide.

When it gets to the end of one end of the track it needs to move 3 arms (at the same speed) from lying-flat to vertical, and apply about 200grams (~7oz) of pressure at a distance of 60cm (~2ft).

My plan of attack is to use an Arduino Uno with Atmega328 to control the following:
3x 17kg-cm (240 oz-in) Servos -Power HD Analog Standard Size Extra High-Torque Servo 1501MG
2x Continuous Rotation Servo - http://www.robotgear.com.au/Product.aspx/Details/482
2x Sharp IR Sensor GP2Y0A21YK0F (10-80cm) Sharp Analog IR Distance Sensor GP2Y0A21YK0F (GP2D12) (10-80cm)
2x 3 Pin JST connector for IR sensors http://www.robotgear.com.au/Product.aspx/Details/274

The top 3 servos will be to control the 3 arms which are required to apply a force. The next 2 servos are to drive the robot down the track and then turn around (they can't just go in reverse, the robot is required to pivot on the spot). I planned to use the two Sharp IR sensors to monitor the robots distance from the side rails and adjust the speed of the 2 drive motors accordingly to keep it running straight. To support the front of the robot I have two ball casters.

This is all going to be battery powered through a pack on the robot.

So if you've been kind enough to read the above, my questions are:

  • Do I require anything else to do what I want to do?
  • Am I approaching this right way, anything I should know?

I have some limited programming experience and most programming questions I've had I've already found answers for from browsing this forum. Where I trip up is the electronic logistical side of things, so I'm just making sure this is correct before I drop $200 on all these purchases.

I've tried to make this post as clear (and imperial friendly) as possible, hopefully it's not too long :slight_smile: Thanks!

how does it know when it is at the end of the track?

is there any reason you dont use some type of line-following setup? I believe that would be easyer than getting the IR sensors to track a 12mm rail.

other than that, you seem to be on the right track...

fkeel:
how does it know when it is at the end of the track?

That's most probably going to be done with a physical sensor (switch etc.) which will get set when the robot hits the rail to move the program to a second state. I'll tackle that problem once the initial problems are sorted.

fkeel:
is there any reason you dont use some type of line-following setup? I believe that would be easyer than getting the IR sensors to track a 12mm rail.

We are restricted to a starting area so I can't place anything to follow on the track, it would be easiest though.

Thanks for replying so fast.