For no good reason I thought it would be pretty cool to build a
robotic arm on which to mount my quickcam. $30 at Eagle and about a week
later and I have something approximating the original idea.
After a few hours of cutting the parts I decided to borrow a friend's Dremel tool. I fell in love. I now have my own and I can't recommend one enough to someone interesting in this kind of thing. |
The arm is basically a beam made up of two aluminum U-bars with two servos
mounted between them. The beam is mounted to the base via a vertical
hinge, and has a horizontel hinge at the far end upon which the quickcam
is mounted.
The inner servo is responsible for horizontel motion; the outer for vertical. The original design was to have a very short arm with both servos behind it. The mounting issues were too complicated, so I decided to go with the slightly less elegant beam seen here. Each servo has a small cable 'tendon' that attaches to its lever arm. Because a cable can only pull, there is a spring pulling the arm to the left to allow the arm to move both directions. Gravity provides the equivelent service in the vertical direction. The entire arm is controlled by my Parallax Basic Stamp II. Unfortunately, since I only have one, it has to share with BotBert. I really do need to get another. Damned useful little things. The Stamp is linked with my main computer Hesse via a serial line, allowing easy control of the arm with commands for up, down, left, right, full up, full fown, full left, full right, vertical center, horizontel center, and repeat n times. I found this really great image manipulation program improv targeted at robotics using a quickcam -- perfect! I wanted to do basic movement tracking, and it even had a difference function. It was simple enough to hack it to calculate the averaged center of all white pixels, and then output the appropriate control codes for the arm. I'm still tweaking the code, but with the correct processing steps it can almost track someone walking in front of it. It tends to center on the always slightly moving hanging chair. At this point it was pretty easy to write CGI scripts to allow control of it from the web. However I found myself never turning it on for fear I'd forget it was on and do something embarassing in front of it. |