Great job on the robot arm. Those arms have been around for years and I think this is one of the best hacks I've seen. How did you attach the servo that actuates the gripper?
Nice erco! what did you 'repurpose' for the arm? i have one of those old radio shack robot arms i was thinking of tearing into and adding some servos to one day. you have resparked my intrest!:idea:
Those arms are cool but a pain to automate. I've seen a few hacks where people connect the servos to the sticks and move those around. A much easier version is the mobile armatron where you can just tie into the remote control pad and automate it.
Although my old Armatron arm was disassembled for automation purposes (many, many years ago), I always thought it was a bit of a shame to modify these. I think the original mechanism was really ingenious, with all the gears and shafts running through it - all run from a single motor.
I collect toy robot arms: Armatron, Mobile Armatron, Discovery Spark Arm ( http://www.amazon.com/Discovery-Channel-Kids-Spark-Robotic/dp/B0028DRA8M ), OWI Edge w/USB kit, Quickshot arm ( http://www.theoldrobots.com/arms2a.html ). They are quite fun as-is (especially the ingenious one-motor Armatron, right Robert!) but trying to control them with a uP via open-loop control is quite maddening, and adding feedback or changing to servos would be more work than scratch-building an arm, so there's my motivation for building this. I have more elaborate arms planned, but I slammed this one out over the weekend just as a reference starting point. Literally, it's plywood and superglue!
As crude as it is, it has good repeatability and shows that you can do some things without 6 DOFs. A quick Youtube search on what others are doing with their robot arms are more Tower of Hannoi (coming soon) and sorting blocks by color, which is also a possibility for this arm. But it won't be bartending any time soon, that task is best left to my Hero 2000. I still have to find that videotape & post it.
Erco, when you dig out that video of your HERO 2000, I promise that I'll pull out a very special armatron that I have in my collection and get some pictures of it. Back when the armatron's came out there was a company that modified them to be computer controlled and also added encoders on each axis. I was fortunate enough to find one several years ago and will see if I can pull it out. The pictures may give you some more ideas.
My garage is full, all right! Looks like a Public Storage commercial. My first car, a '67 Corvair is in there, patiently awaiting restoration. And a dozen bikes, 7 strollers, piles of robot gearmotors, yada yada yada...
BTW, yes, the shoulder (base) is just a big dumb servo, simply superglued to the plywood base.
The gripper servo is mounted in the yellow handle and simply pulls the original steel wire to close the gripper. I tweaked the claw's torsion spring and added a red rubber band on the servo to bias it in the closed direction for some extra grip, even with the servo off.
Erco, that's really clever and I wish I thought of that! My kids have one of those and the spring broken. So the claw will close, but you need to manually re-open it. So it is perfect for this design.
I take it that your control software doesn't require an inverse kinematic transform because the positioning coordinates are so simple. That's going to be the hairy beast I'll need to contend with.
I've been too busy to work on my robot arm, so it has been sitting assembled without the wires to the control board. You've inspired me to try to make some time.
@kf4ixm, I'd keep the Armatron as it is. I tried automating one back in the 80's and some of the joints are nearly impossible to add encoders to.
@Martin_H: I tried removing the torsion spring inside the claw, but it is necessary to make the two claw halves stay centered. So I put it back in after bending the spring to make it weaker. I also removed the ratchet noisemaker inside the claw to make it easier to activate.
@Ratronic: Sure, but it's just brute force coding at this point. Neither efficient nor optimized. I simply specified 3 angles (one per post), 5 heights (4 possible disk heights and fully raised) and 5 gripper positions (4 different disk diameters and wide open). The program just sequences subroutines to send pulsouts to send the arm in the required pattern. No AI, no thinking... not yet anyway! I just wanted to finish the job today and get 'er done!
I have something much slicker planned, as there is an IR sensor on pin P8 that will eventually let me remote control the arm and store coordinates. In the current program, the IR sensor simply starts the sequence upon detecting any 38 kHz signal. Conveniently, my camera triggered it as I shot the video.
Thats a really cool setup. My arm has position feedback but my problem is my driving. That's probably why they won't even let me drive a car. I wish I had even a small portion of your mechanical know how!
Dave: Your arm is awesome. It appears to me that the problem may be that your mouse input is too sensitive. Maybe try scaling back so you need to move the mouse more to get the arm to move. You can also limit the servos' max speed. That will increase the control lag, which can be frustrating, but it will stop the violent motions.
I programmed my arm to move at a stately speed (ie, slowly) to minimize oscillations. You can see that my shoulder joint still needs damping, but I'm working on it. That's a lot of mass for a servo to move and stop without overshoot.
erco yes I hadn't set up my mouse properly when I posted the last video. Since then I have toned down the mouse x/y inputs by dividing them in half and slowing down the servo moving speed. I am still amazed at what you can acomplish with regular servos. The servos in my arm have 1024 positions in a 300 degree turn, but that doesn't make up for my hurried programming or my physical inabilty to drive them! Thanks for sharing your code, I always like to look at how other people are accomplishing thier tasks.
Comments
what a fun "neighborhood" this place is.
Great job on the robot arm. Those arms have been around for years and I think this is one of the best hacks I've seen. How did you attach the servo that actuates the gripper?
Robert
Those arms are cool but a pain to automate. I've seen a few hacks where people connect the servos to the sticks and move those around. A much easier version is the mobile armatron where you can just tie into the remote control pad and automate it.
Robert
As crude as it is, it has good repeatability and shows that you can do some things without 6 DOFs. A quick Youtube search on what others are doing with their robot arms are more Tower of Hannoi (coming soon) and sorting blocks by color, which is also a possibility for this arm. But it won't be bartending any time soon, that task is best left to my Hero 2000. I still have to find that videotape & post it.
Robert
The gripper servo is mounted in the yellow handle and simply pulls the original steel wire to close the gripper. I tweaked the claw's torsion spring and added a red rubber band on the servo to bias it in the closed direction for some extra grip, even with the servo off.
This is the toy I used, which is $5 at Big Lots: http://www.amazon.com/Toysmith-6130-12-Robot-Claw/dp/B000F4G5KK
I take it that your control software doesn't require an inverse kinematic transform because the positioning coordinates are so simple. That's going to be the hairy beast I'll need to contend with.
I've been too busy to work on my robot arm, so it has been sitting assembled without the wires to the control board. You've inspired me to try to make some time.
@kf4ixm, I'd keep the Armatron as it is. I tried automating one back in the 80's and some of the joints are nearly impossible to add encoders to.
I will be able to hard code and/or use an IR remote to teach an arm path once I get a chance to write some software!
http://www.youtube.com/watch?v=h8JPtWpctl4
I have something much slicker planned, as there is an IR sensor on pin P8 that will eventually let me remote control the arm and store coordinates. In the current program, the IR sensor simply starts the sequence upon detecting any 38 kHz signal. Conveniently, my camera triggered it as I shot the video.
Looks like Gramps' ShadowBot!
I programmed my arm to move at a stately speed (ie, slowly) to minimize oscillations. You can see that my shoulder joint still needs damping, but I'm working on it. That's a lot of mass for a servo to move and stop without overshoot.