Wednesday, August 25, 2010

Designing with a Reprap machine in the loop

In which your narrator celebrates a return to craftsmanship made possible with the addition of a Reprap printer into the design process.

In the five years I've been on Reprap team I think that possibly the most terrifying and depressing transition of the many I've made during that time was actually having a 3D printer on my worktable and having to face up to turning some of my pipe dreams into physical realities.

Let me tell you, it's a lot easier to dream up something than to actually cobble it together and get it working.

To begin with I had discovered that thin-walled prints tend to be quite strong, properly designed, and don't have nearly the trouble with warping that we've had with large, filled objects.

For a project I wanted to create an animatronic hand for a telepresence robot project I've wanted to undertake for several years now. If you go out to and buy one you're looking at anywhere from $5-50K for one hand. I haven't got that kind of money so I dug around on the internet till I found a guy in Indonesia who'd made one for $300 in parts.

Andreas Maryanto's  approach is both brilliant and cheap.  I used his project as a starting point and was able to use his blueprints for getting proportions and sizes right.

 I was also impressed with the Meka Robotics hand design.

Meka's hand was expensive, but had several interesting points.  It was self contained and used elastic bands to return the hand to an opened position.  I liked that.

I started small, with a fingertip.  Actually, half of a fingertip.  I did the design with Art of Illusion 2.8.  AoI has always been about the easiest to learn, free 3D CAD app around.  With the introduction of version 2.8 the problems with the boolean operators have been largely solved.

While AoI 2.8 will, occasionally, create a flawed STL file, these can be easily repaired in the free Netfabb Basic app.  The combination of Art of Illusion and the free Netfabb app, now available on the cloud as well, makes for an extremely powerful combination.

I wanted the joint between phalanges in the finger to be integral with the print, that is, not requiring any additional hardware. I printed and worked with the finger tip for quite some time.

Eventually, after a few dozen prints and redesigns, I got it to do what I wanted.

After that, the rest of the finger came together rather easily.

So, I had the joints right, but how to integrate the actuating tendons was a puzzle.  Within a week or so I had a tentative solution.  I could incorporate slots in the phalanges of the finger to guide and protect the tendons.  This meant that I had to import the STL files for the parts back into AoI and carve out the slots to seat the tendons.  Here you can see the STL for the second phalange slotted.

After slotting the second, third and fourth phalange in AoI and reprinting them I had a tentative solution for flexing the finger.

At that time I used a single tendon running through guides along the top of the finger.  That was later to change.

I quickly explored using servos very much like the ones Andreas had used.

...and just as quickly rejected them as overspecialised and too bulky for use in my hand.  From there I went on to creating my own servos from scratch using gearmotors and potentiomenters driven by a micro controller.

Once I'd settled on a gearmotor that I had a supply of... became a matter of designing a section of the actual hand and accommodating the gearmotor inside.

Notice that the design of this part is only aiming at holding the outline of the gearmotor and providing a recess for the finger.  The goal is to work out the seating of critical parts and getting the general shape of the part right before trying to accomplish more.

At that point, I needed two finger assemblies to get a feel for the clearances and volumetrics between finger ensembles.

Attention to the reel that would wind up the tendon that contracted the finger was the next step.  I'd decided by this time to use a Meka-style elastic band on the top of the finger to return it to the open position.

The reel was a tiny, finicky part, given the clearances in the hand section.  I printed two of them at a time to avoid having to do a lot of pausing for the reels to cool between printed layers.

That done, I needed to do a bit more work with the hand section.  First, I needed to seat the gear motor.  The hand segment was a big, rather complicated part, so rather than trying to redesign that I simply designed a plate that could be glued onto it that would achieve the effect.

By this time I had slotted the reel to make attaching it to the nylon tendon easier.

While I glued that gear motor support plate to the hand section, I could just as easily do a boolean union in Art of Illusion between the two parts and print them as a single part, or not, as convenience dictates.

From there, I designed a housing for the potentiometer that butted onto the base of the hand section.  You can see it on the left-hand side of this picture.

Notice how I haven't bothered gluing this part to the bottom of the hand segment but rather just clamped it.  I've not settled on all the dimensions and placement of this part yet, so gluing isn't justified.

Similarly, you can see here that I just took the hand section into the free Netfabb app and flipped it into a mirror image as a start towards completing the hand segment.

The point of all this is that you can take on some really challenging design exercises if you will just take them a little bit at a time.  Having a Reprap 3D printer {in my case a Rapman 3.0} makes it possible to print out a partially designed part and try to match it up with the bits that go in it and the bits with which it must integrate.

While you can do all that in a 3D CAD system you have to have a very good sense of volume and space to do so.  With the Reprap printer in the mix, you don't have to be that good.

Don't be afraid to use filament during the design process.  You're not wasting it.


Tombo said...

I always like your approach!
What about a short video?

Thanks, Luca

Nicolas said...

great stuff!

Peter said...

well done! can't wait until you post these on thingiverse (if that's your eventual plan!)

there are some tiny micro servos available out there, if you'd eventually like to migrate that way: e.g.

Erik de Bruijn said...

Can't wait benefit from this work on the hand that you're doing. It seems to be possible to get it working even better than the commercial prosthetics that many people have. I can use a RepRap to upgrade someone who previously had a >2000 euro prosthetic hand that wasn't as nice! That would be awesome!

I would probably want to put the servo's (DIY servo's or of the shelf) in the forearm, though. Enough room there, and you don't want to restrict the dexterity (!) and lightness of the hand-assembly. Also, perhaps I'd use some form of temperature sensing, so you can run the motors beyond the specs for short bursts.
The major gain is in building a good control system that works with the person in question. Mirroring the other hand while a button is pushed, that seems like a workable way to do it!

Erik de Bruijn said...

(Perhaps I don't need to mention this: I'd benefit, and contribute back, of course!)

B.t.w. your point on having physical prototypes come from a design you improve on the PC is completely clear. You only expend incremental time expenditure when you make a change in the design. As longs as you outsource actual manufacturing to the machine you only have this incremental time to develop each new iteration. You don't have to start woodworking all over again, iteration after iteration for every small detail that can't be changed.
Plus, the process is SO much more satisfying!

Viktor said...

Hi Forrest,

i posted this comment in the builder-blog:

have you tried moving the fingers with SMA-actuators?

A NiTi-wire can contract reversible around 5%-8% of its length and two counteracting wires can achieve until 1s per full move (the limit is the cooling of the then passive wire).

So an arrangement of 2x5 NiTi-actuators in the 'arm' with an appropriate switchable water-cooling could drive really small/lightweight fingers with much higer force and dynamic than geared motors ...


Forrest Higgs said...

No, Viktor, I haven't tried that. I've junked my first design and am going back to basics for a second generation design, so NiTi may be coming into the new design.

I discuss this at...

Viktor said...

Hi Forrest,

thanks, my main entry is the builders-blog, so i comment mostly there ... maybe i have to change this?

I'll follow your progress.

And if you need some more infos about special microactuators made with NiTi, PZT or smart materials, then you can ping me ...


Forrest Higgs said...

Tombo: For some reason your comment didn't post. I got an email notification of it, but it isn't on the blog. Weird. Anyway, you comment of...

I found this video just by chance
Robotic Hands
and you can find more information at
The Grab Lab

I hope you find them interesting.



Yeah, that was passed over to me some days ago by another friend. I sort of wish I had the cash to have that sort of printer. Sadly, I don't, so I'll just have to make do with my lowly Rapman. :-p

Meztek said...

Will you be adding the stl designs to Thingiverse?

Forrest Higgs said...

This stuff? No. I've progressed quite some distance beyond this now that I've had a bit more time. Those mechanical joints don't get me what I want.

Meztek said...

What about the finished hand design?