The sub-$500 robot is designed to be a platform anyone with a moderate skill set and limited budget can build. The idea is that this can be built by a highschool student or class with basic understanding of electronics and computers and a little supervision from a teacher.
The price is *VERY* important as schools have *NO* money these days.
Overall complexity must be minimal. There should be a very easy to understand build and operation process. At any point in time, the state of the system should be "knowable." The whole system's operation should be able to be debugged and "viewed" using a single debugging session.
The above requirement is why I do not want any programmable micro-controllers on the system. While we may disagree as to whether or not this is a reasonable requirement, please understand that this is an important requirement.
Each component in the system should be easily testable independent of the system. I.e. the wheels will use a mouse for encoders, so any program what display mouse movement can test the motors.
I am using a POSIX style OS (Linux) because it is free and IMHO is better suited for the task. While it is not a RTOS, it does have much better response time characteristics and the various delays on a system that is running a set of well define programs is manageable.
I am not using FreeBSD (or any other BSD) for a couple reasons. Device drivers in linux are both easier to construct and load (IMHO) and more plentiful. Linux also has better support for video and other I/O.
I am not using Windows for a few reasons. Product activation, each time you materially change a Windows XP system you need to ask for microsoft's permission to use it again. In a robot I will likely be reinstalling the OS multiple times and is just not worth it. Response time, Windows is not as responsive as a UNIX type system. Bloat, Windows is very large, a UNIX system can be trimmed down as needed. Stability, Windows is not stable enough to run for long periods of time.
I am using a mini-ATX or mini-ITX motherboard because it will be familiar to almost anyone attepting this.
I am still considering the final I/O system. Right now I am using a Velleman K8000 I2C board, and am not too happy with it. I am looking for a cheap8255/8253 I/O board, but while I suspect there are vendors that can supply it for less than $60, I haven't been able to find one. I may end up building the I/O system off the parallel port.
I am using 3 separate power supplies. One 70W ATX power supply which costs $35 at mini-box.com, one 12V 1.25A DC/DC converter, and one 5V 3A DC/DC converter. I'm sure I can get a dual output supply for less.
Any cost cutting ideas and comments would be very welcome.
Robot Parts List $587.00 Motherboard $100.00 Mini-ITX with built in video, network and sound RAM $35.00 256M DIMM12V ATX Power supply $35.00 12V 70W ATX 5V DC to DC Converter $35.00 For electronics 12V DC to DC Converter $35.00 For electronics 12V Battery $35.00 12V Charger $10.00 Ride around toy $40.00 Steel shaft w/2 motor wheels (find at discount, surplus warehouses, ebay, yardsale) I/O Card $65.00 Electronic parts $50.00 ICs, wire, protoboards, Wireless Router/WAP 802.11g $30.00 Belken or Linksys on sale with rebate PS/2 Ball Mouse $3.00 Refurb 40G Hard Disk $29.00 Hardware $50.00 USB Camera $35.00