Simple and Cheap Robotic Projects? 43
siavash_of_stockholm asks: "I have a lot of spare time this so summer, so I've decided to be productive and make my own simple robot. It will come with some basic functions and it should move around without colliding or somehow avoid getting stuck in small areas and so on. I'd prefer to do this without using the popular Lego Mindstorm-kits and instead try to use a laptop and a controller card for the motors and a cheap webcam for vision. Has anyone in the Slashdot community made a similar project (on a tight student budget) and have some documentation of it they can share?"
I just saw a good project (Score:0, Informative)
PC Motor Control Circuits (Score:3, Informative)
Stiquito (Score:4, Informative)
I've written a bunch of book reviews [moskalyuk.com], including those on Slashdot, and some publishers are sending me now catalogs with upcoming titles as part of their reviewing program.
So, anyway, Wiley has this book with the robot kit [wiley.com], that they plan the next edition of some time this September, although the publisher told me before that the deadline might move into the future. I have not read the previous edition, nor have I played with it.
It seems to have received brilliant reviews on Amazon [amazon.com] for that 1999 edition, so I'd suggest just perusing it and maybe buying the book+kit used if it's in buildable condition (i.e. not the robot that is already all built, polished, given guns and ammo, and right now just needs the ON switch to be turned).
Memory wire (Score:5, Informative)
Have fun, make me one too.
One word: Scott Edwards is a great starting point (Score:4, Informative)
I wanted to give him due propers for his project back in 1996, but I never really had an opportunity (I was too busy studying women and beer at FSU at the time).
Use a microcontroller (Score:4, Informative)
Look into microcontrollers (the most common are the Microchip PIC [microchip.com] and Atmel AVR [atmel.com]
A microcontroller will give you heaps more I/O pins, and PWM for driving motors, serial ports, analog/digital converters etc Both PICs and AVRs are available with all sorts of combinations of features.
There are plenty of resources available for both, look in newsgroups and search with google. GCC for the AVR is available for linux and windows so you can easily write C/C++ code for them. Also look into AVRfreaks [avrfreaks.net]
Look at the newsgroup comp.robotics.misc for other people doing similar things.
Good luck!
-Daniel
Re:Laptop? (Score:2, Informative)
Re:PC Motor Control Circuits (Score:3, Informative)
Those sites listed in the parent are neat and some good starting points. But I have some more...
---BRAINS---
I might recommend something like an old HP 100LX, 200LX or similar, or maybe an old Pocket PC or Palm. A robot large enough to hold a real laptop will likely damage furniture and walls when it hits (and it IS a "when" and not "if). You are much better off using something about the same size/wieght as a PDA. This also means smaller (cheaper) batteries, smaller (cheaper) motors, and a smaller and lighter frame. The only downside is that you get less processing horsepower, and debugging is not quite as nice as using an IDE on a PC. If you really want to use a PC, I would suggest using a microcontroller talking to your PC over a wireless serial link.
If you have the money to blow and want nothing but the best, use a PC104 card and a wireless ethernet interface. This will rapidly burn through your cash, though.
One great idea is to have a small microcontroller (cerebellum) board handle the motors and sensors, and use an RS-232 link to transfer this information to your more powerful PDA (cerebrum), which will do the actual behaviors. If you do decide to use the parallel port, you stand a small chance of blowing the outputs in your parallel port if there are any wiring mistakes. Also, your IO is very limited on a parallel port.
---SENSORS---
First, scrap the webcam unless you are looking to do something on the order of a Master's thesis. The human brain is good at taking a 2-d image and exctracting 3-d information from it. With a webcam, all you will get is three matrices of numbers, and it will take some VERY clever programming to get anything useful from that. Perhaps the best that you could do would be to have a "follow the red ball" type mode. A camera is close to useless as far as obstacle avoidance unless you are in a VERY structured environment (not your home). Shadows can be very problematic to most algorithms.
As for sensors, check out this site [mrrobot.com]. I should disclose that this site is run by a former professor as a robotics lab that I used to hang out at. Check their sensors page for the hack of the IR receiver can. This is one of the best hacks that I have seen in that it takes a remote control receiver and turns it in an analog sensor. Very cool.
---MOTORS---
The other great hack is listed under the servos section of the above web site, and will tell you how to turn a $15 hobby servo into a geared DC motor. You do not have to buy anything from there, but the documentation is worth a look.
Avoid stepper motors. They are not very powerful, and they are power hogs. The ONLY advantage is that they do not need gears.
---CONSTRUCTION---
And if you do make a small robot, the near-perfect material is model aircraft plywood. It is light, inexpensive, easy to cut with hand tools, and easy to glue together using Zap-a-Gap glue. The wood and glue are available at your local hobby store, and use a hack saw or coping saw from your favorite hardware store.
---PROGRAMMING---
I hate to toot my own horn here, but here [ufl.edu] is a document that I wrote almost ten years ago, but is still useful as a general guideline on programming robot behaviors. Also, check out all of the handouts from this [ufl.edu] web site, which is the main site for a robotics class at the University of Florida.
It should be possible to do a robot for well under $300.
Re:PC Motor Control Circuits (Score:3, Informative)
If you insist on using a parallel port for control, use optical isolation on your board (the chips are cheap and easy to obtain), and, don't try to draw drive power from the port.
Words of advice from a proffesional...
microcontrollers... (Score:3, Informative)
Control via laptop? (Score:3, Informative)
I used their digital I/O and stepper motor controllers for my 3D scanner [codevis.com] project - they're pretty good for low-res, low-budget projects.