Ivan needs your help!
If you would like to contribute or follow the conversation, please request to join this project.
An e-NABLE robotics project to give hands to those without use of their hands. Designed with your help.
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
Ivan needs your help!
If you would like to contribute or follow the conversation, please request to join this project.
Ivan Arm Five 1.zipHere is the current Ivan Arm design as of Mon May 22 2017Zip Archive - 4.95 MB - 05/22/2017 at 21:36 |
|
|
AIvan_10.zipZip Archive - 27.75 kB - 08/29/2016 at 10:02 |
|
|
AIvan_11.zipZip Archive - 86.80 kB - 08/29/2016 at 10:02 |
|
|
AIvan_9.zipZip Archive - 26.84 kB - 08/28/2016 at 14:02 |
|
|
AIvan_8.zipZip Archive - 21.82 kB - 08/28/2016 at 14:02 |
|
632 people are now following this project! I had no idea there was such a following as I have been kind of living in a bubble the past few years. Well it's time to make up for lost time. I'm breathing new life in this project by repurposing Ivan to become an e-NABLE robotic actuator.
You see, there's a little girl in Boston who has hands but cannot use them. As I wrote elsewhere, my heart goes out to her and I'm planning to make Ivan become Phase 2 of her soon-to-be robotic ensemble.
Her skin is delicate, which I'm told is one of the realities of the type of injury she has from birth, so body mounted sensors are out for now. That's why I'm using my LEAP Motion Sensor to control a toy MeArm robot as Phase 1. It's a way I can get her something to work with inside of a two-week promised schedule.
Then it will take a good bit of work to 3D print, assemble, test, and revise Ivan for her use. It brings the joy of happy-tears to me; the fact that the Lord has prepared me to be able to make a difference in someone's life this way. Also others can benefit from our efforts with the magic of volunteering Makers at e-NABLE. Join me in making a big difference in a little person's life. You'll be forever rewarded.
Les out, praise the Lord
Have a look at these fun animations showing Ivan's parts in action. This is the first (nearly) complete design, ready for construction - it just needs some screw holes and some attention to detail on the toolhead. The base is completely ready for construction, can't wait to build it!
below is Ivan in operation, the complete robot printed in carbon fiber PETG filament.
I have two detailed animations of the gears working. The first is the planetary gear box in the base:
The second is a close-up of the hinge gears that work the arm:
Below is an animation of the Grab-Tor hacked claw:
It is made of e-NABLE's Raptor Reloaded finger parts, designed by STEM school kids - very imaginative! I arranged the three fingers into a "three jaw chuck", representing the index finger, middle finger, and thumb working together in a human hand.
Les
I continue to make progress alone, without team input. If you feel so inclined I'd like your opinion on the following Ivolution, or Ivan evolution. When I put the motors in-line recently, I realized that a simplification was possible, due to the fact that I will be using skateboard bearings (608's). The result is the following belt-driven robot arm.
I find this arm to be way better in terms of performance and simplicity, pritability too. Those segments can be printed as one piece with support on one side which is nice. The rest fit prints without support, though the toolhead needs some touch-up work. Also some belts must be printed or a chain must be printed. I will be working on those details next.
Still, you can see that Ivan can now reach angles from -60 to + 120 degrees and stays very accurately on the ball!
Les
Improved the tracking, now it's pretty good.
I could not yet figure out inverse kinematics from the formal math and descriptions I found on the web, plus it looks like some pretty daunting stuff. So I wondered if I could come up with some trig expressions that would approximate inverse kinematics for Ivan's motion. Here we see the result.
It's just a bunch of miscellaneous trig, and not that much of it really. Given the ball in a randomly selected location in a spherical coordinate shell (radius from 500mm to 700mm), can we position the tool head close to the ball each time? Well, theta is a given - we just rotate the base to the theta position. Then phi and what i called beta are calculated and applied to the three vertical sections.
The result as you can see works most of the time. If you haven't got the horsepower for inverse kinematics or the brainpower to grok it, these equations may be helpful:
th_ = rands(-180, 180, 1)[0];
ph_ = rands(0, 90, 1)[0];
r_ = rands(500, 700, 1)[0];
z0 = length - outerDiameter/2 + height + gearHeight/2;
color("Red")
translate([0, 0, z0])
rotate(th_)
rotate([ph_, 0, 0])
translate([0, 0, r_])
sphere(25);
dx_ = r_ * cos(ph_);
dy_ = r_ * sin(ph_);
gamma = atan2(dy_, dx_);
beta = acos(armLength / (r_/2));
theta = [
th_,
gamma,
beta,
-beta
];
Les
Here we see the latest Ivan prototype design in a graceful path driven by sinusoidal motion. New changes include PVC struts for strength and ease of printing. These allow the size of the gearboxes to be larger, making the motors smaller by comparison. The result is that we can once again have motors on every joint - no tricks! I will have to look up the inverse kinematics for such a robot and implement them on an arduino controlled by Processing on the MacBook (cross-platform to PC and Linux because it's Processing).
See that flat plate atop the turntable? It has four PVC pipe interfaces. It along with the pipe will attach to the end of the robot, making it longer and allowing for the attachment of tool heads.
Les
Here it is
Latest design here, shows belts, and freely dangling actuator that turn a super-simple KISS two-degrees of freedom design into a somewhat useful robot arm. Plus it's all plastic except for motors, control electronics, and fasteners (of which there are few and few types). Not bad eh?
Les
p.s. note: dangling actuator not correctly illustrated in angle or end object.
So once I moved all the motors to the botton and considered the complexity of delivering all those rotations to the joints, i really had to think twice about it. It just wasn't going to work. Too complex, too prone to failure.
So I simplified the whole thing immensely. Now it's just two degrees of freedom provided by two direct drive motors. A belt riding on the outside of the two planetary bearings / gear boxes will convey motion from the motor to the next joint. Two end stops located on the base will set the calibrations.
The robot will not be nearly as capable but it will be much more realistically build able by an amateur like me. Oh, and the actuator will probably be an electromagnet! Bzzzrp!
Les
Here is the latest design. At radomir's suggestion I moved the motors to the bottom of the robot. The two ways I've thought up so far to move the motor torque up to the joints are belts / chains and odometer cables (or similar). There must be other ways. Can you suggest one?
Les
Create an account to leave a comment. Already have an account? Log In.
Ivan now spins! I'll update later, Ivan is taking a break for a little while.
Why don't you consider what you could do with counter-balancing masses, like how I had to reconfigure my wife's sewing machine because i was so tired of the whole house rattling?
I thought about your idea, Dan. Ivan will be screwed into the wooden base at the bottom, so he won't fall over. I'm not sure Dan, will have to give that some more thought...
I have begun to think of Ivan as a rotating sensor array lately, for room security purposes and for speech based AI. This is very different from what was planned only a few days ago. I guess I'm being rather indecisive about the whole thing for some reason...
Maybe Ivan can have a battery that powers each segment and counterbalances it? Trying to think how this would work beyond two segments...
That's smart. Remember, properly counterbalanced segments will require less energy to move and should give you more operating time for a given amount of energy at the expense of a little speed, as far as i can tell
I just noticed that whenever you upgrade Ivan, he becomes an iteration of himself. So why don't you call every (major) upgrade like "Ivan the third", "Ivan the fourth" etc. - sounds royal to me and adds personality :)
Hi Dave, I didn't realize I was doing that. How about we do both starting with this Ivan? Like this would be "Ivan the First - Iterations".
Ivan's new OpenSCAD file is now available here: https://www.youmagine.com/designs/ivan-the-teambot-segmented on YouMagine.
Ivan is now animated as a GIF. Next up I need to figure out the screw holes and the wire harness, bringing 12 wires back to the Arduino board with motor drivers and sensors, then after a design review of peers, it's time to build Ivan! Hopefully I can get to printing parts before the end of the week...
I moved Ivan's files to YouMagine, see link in project. Also: should we make Ivan into one of these thingies: https://hackaday.io/project/247-grapple-was-adb?
Ivan's files are now available at 3Dupndown.com here:
http://www.3dupndown.com/mypage/?page=&pcode=cont_view&mtype=au&idx=3830&chargeType=
The download is free but they do show you advertisements. I may receive some revenue from the advertisements which we can spend on parts for Ivan I suppose.
I spoke to someone with some experience in robotics and he really shot down my design. even the printing of it was not optimal for reasons that he explained. Oh well, I like to receive constructive criticism and I'm no expert in mechanicals. Cover shot now is the planetary gear set that I designed and printed out, just for touchy-feelies and thinking out loud. Any comments?
OK I have posted a blue and red drawing of one segment of the robot. The motor with shaft is in red, while the 3D printed part is in blue and oriented for printing. It is designed for printability and for each segment to have a 90 degree angle. So it's kind of a snake-like thing. Wiring has yet to be determined.
Your mechanical likeness in some ways, I suppose Ivan! :)
I just had an idea for this project and for robotics in general. I was looking at all these robot arms and what they do is they have a rotating base and then orthogonal joints. Or they may have alternating rotating and orthogonal joints. What I'd like to do is have each section be the same as all the others. So it occurred to me, why not have each stage be on a 45 degree angle? Or for that matter any angle? I dunno if the control trig would be a nightmare for that or not, but the design becomes pure simplicity. Every stage is identical in the arm itself, including the base stage.
I'll make an OpenSCAD drawing of it today. Right now I've been printing elequa lids (for the water treatment company I'm working with in another life lol). I'll post when the drawing is ready, davedarko.
Then for Ivan's programming I'll suggest we drive the motors with a purchased or custom shield on the Arduino and use the um what's it called... Firmata program to turn the Arduino into a puppet of Processing on the Mac. Then the arm can live near the Mac and do things near it. This way of doing things is a natural for me and it's easy to do also.
If there are no objections, let's go this route. We can always change it later.
Alright, unless otherwise stated, Ivan is a robot arm. One of the 1.7A steppers is being difficult as I do not know how to remove the gear, so let's say we have four 1.7A and two 350mA. We could build a four-segment robot arm with the 1.7A motors and use the 350mA motors for spinning and actuating the jaws of Ivan's hand. I kind of like the idea of Ivan not having too strong of a grip if you know what I mean.
he could be a third hand for work, like the robots in Iron Man? Helping out with soldering and putting out fires?
I'm all for that. It means that Ivan will be a robot arm fixed to the desk. That's a lot easier than something mobile, especially for me since I'm somewhat inactive spending much of my time in a wheelchair due to weight and heart issues. Good plan davedarko! Let's go with it!
Become a member to follow this project and never miss any updates
I'm back from a long hiatus and ready to work on Ivan again! Who is still around and are you interested in contributing?