Following table indicates what has/is being/is to be done. Expected to change as discoveries are made.
Obtain Arduino, set up development environment.
Carry out basic functionality test.
Get Arduino to communicate with PC over USB. Set up host computer development environment on PC.
Design/code a command/response protocol to run over the wire.
Get IR sensor, mount on servo turret . Develop basic 'radar' app
Figure out/fix sensor noise problems (don't run servos/sensors off the same power supply).
Develop bi-directional motor control hardware.
Obtain suitable chassis.
Develop a test rig so static testing of chassis can be carried out.
Sort out problem with motors running a maximum speed during Arduino reset. (required 10K pull down on input)
Develop motor control app.
Figure out the mechanics of mounting the motor encoders.
Figure out the hard/software required for the motor encoders.
Extend motor app to also display encoder outputs.
Re-work prototype electronics on perf board.
Do mechanical engineering necessary to mount Arduino and support ccts on chassis.
Re-work protocol to handle negative settings.
Extend motor control app so feedback is used to run motors at the requested speed.
Rework power system to be switch-able between batteries and bench power supply.
Develop basic robot app using trailing wire for USB comms.
Split Arduino sketch into several sub files using includes (probably not possible … just tidy code).
Rework 'Socpe app' to handle multiple traces.
Rework 'Scope app' to have a trigger.
Mount sensor turret on chassis … re-work sensor turret for better mechanical/noise resistance properties. Connect to main board via plugable connector.
Develop 'windscreen' to protect sensors from collision. Some sort of IR transparent material.
Protocol is currently inefficient. Re-work to have more efficient, non human readable, mode.
Develop auto calibration app for sensors.
Modify movement controller to handle gentle stop (without overrun) and speed control in the event of getting stuck.
Obtain Xbee components and upgrade comms link to use wireless rather than USB cable. Or possibly do it cheaper using WiFi and an on board USB dongle to make bot look like a web server.
Move development/control environment from Win7 to Linux on laptop. Fix up serial comms library.
Add short range sensors for fall/low bridge collision detection.
Add power management for sensors. Switch off when not in use.
Add power management for optical encoders. Switch off when not in use.
Add camera/lights/picture recovery to sensor turret.
Rework host computer as mobile phone app.
Add arm (or laser cannon) so it can interact with the world.