This is the homepage of bolo, a home-built battery-powered wireless robot built for under $1,000.
It's a work-in-progress exploration of robotics, movement, AI, image recognition, etc.
I've always been interested in robotics and computers and I've always had a habit of taking things apart.
Back in 1983 a couple of friends and I wired a remote control car transmitter to the rs232 port of my Commodore Vic20. Which was a lot of fun and the best we pretty much could do with what we had available at the time.
But, I've always wanted to go beyond that - from controlling something remotely (i.e. the remote control car) to having an independent autonomous moving object that has it's own cognetive abilities and tthe capability to react and modify it's actions according to stimuli.
Although, that can be cool too, check out this internet controlled car. I found this site when I was first planning on doing this project which just proved that it pretty much has all been done before. David Mc Anulty was also very helpful with all the questions I had.
Maybe it's a geek thing, but I'm fascinated by the whole idea of being able to look at live images - say, in Amsterdam while sitting in New Jersey and the next logical step is to translate a couple of keystrokes into motion a half a world away. Just think about the butterflies.
By the way, the name Bolo is in honor of Keith Laumer's books and has nothing to do with Be on the lookout. I read the story "Field Test" when I was a kid and it made a pretty big impression on me.
The brain of the robot is a Mini-ITX VIA Eden fanless 533 MHz CPU running Redhat Linux Fedora. Motion is provided by the base of a Tamiya radio controlled tank and a MiniSSC II servo controller. The camera on the robot is a Connectix (now Logitech) Quickcam VC and another camera attached to the server is a logitech Quickcam Notebook Pro.
After I picked up the remote control tank, I bought a cappuccino TX3 - which I had originally tried to use as the robot CPU. But, one of the biggest problems in building this (and still a major problem) is power. I tested this computer using a couple of 18V batteries from an electric drill, and then a variable voltage battery but the 5 amp hour batteries lasted about 15 minutes. Not enough time to even test things much less have a functioning moving robot.
Around about this time the mini-itx boards where coming out. Fanless, and low power, this board actually gets five hours out of a five amp hour battery. Although, I eventually bought a 12 amp hour battery (which turned out to be two 6 Volt batteries). Twelve hours of course is still not enough, but it's better than 5 hours.
So the cappuccino pc was reborn as my web server.
Update: I did tests with the wireless lan and the USB cam attached and a write to the hard drive every minute... the battery dies after 2 hours (dips below 11 volts), sigh. I'm not sure if it's that I'm not getting a good charge off of a 110 charger going through a transformer.
The next major problem was getting the servos to mechanically move the camera. This was a major lesson in keeping things as simple as possible. At first I came up with this complicated brass gearbox that never worked but then I hit upon using threaded rod and plastic clay that gets hard when baked - I'd used it before to do some claymation. It also works great for making plugs.
The cam stream on the left of this page is coming off of the web server. It's a Logitech Quickcam Notebook Pro mounted on a couple of servos to allow the camera to scan the room.
The servos allow for 180 ° movement on both an X-axis and Y-axis.
The servos get their power from a USB port, another USB port is used for the cam.
Movement is controlled through a MiniSSC II servo controller with a battery booster.
To see how it was made, click on this link Server Cam.
TO DO: As some point I want to see if I can have the camera automatically track the robot if it is moving.
Update: The 1GB drive died (it was salvaged from a 1996 laptop), so I had to come up with something else - a network-bootable thin client - running puppy linux booting off my linux server with pxe. Running entirely in RAM with no hard drive... it can't get no quieter than this. Now to do something about the keyboard clicking noise.
Update: I did the USB drive - I loaded damsmalllinux 0.7.2 onto a 256MB Leadtek USB 2.0 pen drive, using the instructions from rz-obrian.rz.uni-karlsruhe.de/knoppix-usb/ and by redoing the disk geometry as described on www.safepoint.nl/tech/USB_pendrive.html. Get the modified files here (50 MB).
This also runs very quiet and now I can carry my very own linux system/boot disk on a keychain. I'm going to see about doing a custom knoppix file system. The 3.4 release looks really, really good... I'm going to have to play around with this some. Maybe I can hack together a system that could run bolo... maybe that would mean significant power savings... hmmmm.