I'm building a robot and I think I have a few ideas that are cool. I'd like any feedback ranging from "wow! great idea" to "dude, that's the lamest thing I ever heard."
First of all, I'm using Linux. The reason is that it is a more transparent and flexable environment that is easier to configure to a specific task. (than Windows) Also, it comes with all the development tools you would ever need. Lastly, all that is free. I could use FreeBSD or even NetBSD, but development momentum is very much on the Linux end of things.
Using a mini-itx motherboard because it is low power, cheap, has most of the peripherals on-board, and has TV-OUT that I can use with a cheap LCD TV screen.
Using the wheels and motors from a childs ride around toy. This is probably temporary as there is a lot of play in the plastic gear train, but it was cheap and it should work for now.
Using a small 12V ATX power supply to run the computer motherboard.
Using a RF wireless Mouse/Keyboard for the robot, but may simply abandon them for a network-only interface.
Using a 5V and a 12V switching (9v-18v input) power supplies for other peripherals.
Using a linksys Wireless Access Point (WAP) for communications. The ITX motherboard has an ethernet port bit not a wireless. I am using the WAP for now, I may get a Lynksys wireless router because there are a few projects that allow you to modify the internal software to be usable as a Linux machine. It may be useful to add more processing power.
Using a Velleman K-8000 for I/O. It was a bit pricy (~$120). I had to modify the circuit to run on a single external power supply. It uses a serial I2C (I squared C) interface off the paralell port. This leaves the standard I/O lines on the port available for further expansion.
I built my own H-Bridge PWM circuit using a few op-amps, comparitors, and MOSFETs. Basically an oscilator produces a linear ramp signal. The K-8000 produces an analog voltage that represents power. The analog voltage is fed into a comparitor along with the ramp signal. The analog voltage is compared against the ramp, the higher the voltage, the wider the pulse width.
I'm currently working on a few motor feedback circuits. Not sure how I'm going to do it.
On linux there is a program called Gnome Meeting. It is a two way video conferencing program. I was thinking of using this, with the wireless network, and a USB video camera to convey video from the robot to a stationary computer (or laptop)
Since Gnome meeting is "open source" and free, I may insert my own program in the video stream and try to process the images to do some vision processing.
Here is my robot so far: http://64.46.156.80/robot/