I have always wanted a robot arm. Youtube Kuka and you'll understand. So in college after building my Photovore (see "things I've built" section of my profile), I bought some servos, wires and the Lynxmotion SSC-32 Servo controller (and arm control software), scavenged some bits of metal and plastic, and set out to make my first arm. The only evidence of that adventure is here:
It worked. I was thrilled as it was my first. But was also held together with bits of wire and duct tape, and I wanted more. More precision, more repeatably, more cutting metal, taping threaded holes and more electronics. I decided that those hitech servos were too easy. Too plug-and-play. And too Wimpy! Time to step up to DC motors with some sort of encoder. Lets go with aluminium parts. Maybe throw some bearings, belts, pulleys and sensors in. Whats an Arduino? Can I make use of it for this project? And over the few paragraphs, and the past 3 years, I have been building prototype after prototype never quite reaching satisfaction or the level of completion that that first robot achieved.
This is ARM 1.3. 1.0 had a different shoulder (the lower joint) motor mounting method (you can see the mounting holes on the plate facing the motor), a wire (steel cable) power transmission for both joints, and a different elbow motor mount. A base joint, and wrist were built but are not shown. More details and video about this build can be found here.
Many-a-problem was caused by the transmission system- first the steel wires and then the belts. Generally I could not get them tight enough to get rid of the backlash. So I tried a direct drive approach.
In ARM 2.0 (scrapped almost immediately) each joint was designed around a direct coupling of the motor to the joint. This proved to be quite a challenging and fun thing to design and machine, but not so great in terms of arm functionality. The motor at the elbow joint increased the torque needed at the shoulder immensely as did the beefy amounts of aluminium and large bearings at each joint. I think I broke the gears in 3 or 4 of these Pololu geared motors before deciding to re-design.
A feature that made a debut in this iteration and are being used currently are the encoders. I found these magnetic rotatory encoders and think they are perfect for a project like this. I decided to move away from the encoders built into the pololu motors as they measured the rotation on the motor, not the joint, so any wiggle from gears (lots) or belt transmissions (lots) does not get accounted for.
I do want to give a call-out to the Artisans Asylum where I spent a lot of time using the milling machines to cut the parts for this.
By this point many of you are probably thinking that I give up on designs too quick and you can see why I've spent 3 years and still no great functioning arm. Its probably true that I like to say "oh its not exactly right, better redesign and start from scratch" but I like to think of myself as a hobby machinist, and each of these is a ton of fun to work on and build. I am also learning about how and why to design with certain constants in mind (Like allowing for x amount of slop in the joints that were cut on community mills & lathes). For those still not convinced, stick with me as I will continue to make forward progress with the current design (better than the rest, I promise) and cover many topics important in robotics along the way. One last teaser picture:
The gripper I designed, build and promptly abandoned. (The wrist/servo mount I bought)