Feasible from a programming perspective?

I am relative to new to robotics and am thinking of using the UNO v3 with a motor sheild for the following (relatively) basic design. I have build control circuits before and know how to use motors and servos but I am new to the Arduino programming language. Before I dive headfirst into building the hardware I wanted to know if you guys thought this programming would be possible given the limitations of the language and where you think I might run into problems.

Hardware Design:
upright chassis, two 4-5inch wheels attached to dc motors
swivel wheel at the back for stability
two arms, connected to standard servos attached mid-body with 2 micro-servos on the ends of the 'hands'
IR emitter on front, mid-body
IR emitted, top of body, forward facing

Electronics:
Arduino UNO V3
Motor Shield V3
6-v battery pack for control circuits
9-v batter for motor/servo control

Ideally I would like to build 2 of these have them "fight" with the following programming parameters:

  1. look for IR signal using IR receiver
    if no signal found, rotate body (maybe 1/4 turn) on wheels and check for IR signal again. Continue until IR is located
  2. once IR signal is located, move forward as long as IR signal is detected.
    while moving forward, "flail" arms by commanding servos to go from one 90 degree point to the other as long as the IR signal is present
    If signal is lost, go back to spinning/looking for signal until found
  3. possibly put a 'kill' switch on the front of each robot that could be turned off by the 'winner' by the arm flailing, indicating victory

This would result in the two robots rotating in place until the other robot is 'sighted' by location of the IR signal, then moving together, arms flailing as long as the can 'see' each other, until one robot 'knocks' the other out.

I am confident I could build the robot and make the appropriate electrical connections, and I am fairly confident the programming parameters are basic enough for the language to handle. I realize there are probably a dozen better ways to do this but I want to tackle something I can understand before moving on to better methods.

Please give me your thoughts.

Sounds plausible.

Would be quite surprised if someone had not already published something similar in the "robots" area.

Thanks for your reply.

to be honest, I didn't do an exhaustive search. As long as I know it is possible I would like to figure it out through trial and error as a learning excessive. My son and I are going to do it together so we can spend more time together.

The one thing that occurs to me is having two IR emitters on a single board. If it is your intention to use signals like are used in TV remotes, the standard library that knows how to encode/decode IR signals (IRRemote) can only use a single fixed pin for controlling the emitter (assuming you want to send out different signals on each emitter). I believe the reason is to get the timing right for transmit, they need to tie it to a particular interrupt. On the UNO this is pin 3, while on the Mega it is pin 9. If you are using your own signalling method, than it should work to have two of them.

Though in looking at your parts list, you don't have an IR receiver. Perhaps one of those is an IR receiver.

Note, you can't use the 6v battery for the Uno, you either need regulated 5v through the USB port (or pin) or 7-12v through the 2.1mm port port. Presumably the servos need 6v.

BTW, I always like parent/child working on things like this.

This seems entirely reasonable.

Totally plausible. You could put a push button (like a bubble button) on the chest of each robot to be your "kill switch".

mirith:
This seems entirely reasonable.

Yeah, one of those is an IR transmitter. The idea is that each robot has a transmitter and receiver and the use the signals to find each other.

You will need to consider that you may have IR reflected off other surfaces/walls/ceiling, if using indoors and Sunlight interferenceif outdoors.

Don't want to have these guys atacking the walls!

Limiting the current going thru the IR emitter may be the first step.

If you will be transimitting IR signals continuously, it may be advised to obtain an IR receiver that can handle continuous IR signals.
(Some IR receivers are designed to ignore continuous signals)

Good luck with the project!