3d Printing, Making, Robotics

3d printed robotic hand – Part #1, designing the finger mechanism

I wrote a short post previously mentioning that I was going to try to build a robotic hand with my 3d printer. I don’t have any grand plan for how to achieve this – I’m going to think a little bit ahead, experiment, and see how things go!

What’s a 3d printed finger going to look like?

The first thing I did was examine the structure of a hand.

Hand
Source: https://en.wikipedia.org/wiki/Hand

I decided that for the printed version, I would make the distal phalanges and intermediate phalanges into a single piece. I also thought that I could use an internal linkage from the knuckle to the intermediate phalange which would allow the finger to curl when the proximal phalange rotates around the knuckle – which only requires rotation around one point.

I won’t judge you if you didn’t read that last paragraph too closely.

I decided to draw out my first attempt a single finger in some CAD software – as usual, I chose to draw this in Autodesk 123D design, and I’ve included some screenshots of this design below.

It’s difficult to explain how this mechanism works using words – a video is probably a better medium for this. I’ll try to explain this below, and colour-code the biology phrases to help clarify which parts they relate to in the diagrams above.

  • The knuckle will be bolted to the proximal phalange, and this in turn will be bolted to the intermediate phalange.
  • There is an internal linkage from the knuckle to the intermediate phalange. This prevents the parts from rotating freely, but it should ensure that when the proximal phalange is rotated that the intermediate phalange will rotate also.

So the next step was to lay these parts out flat and then 3d print them.

  • I had to split the intermediate phalange into two parts which were mirror opposites of each other to simplify the print.
  • Similarly for the proximal phalange, I split the parts (although they aren’t perfect mirror images, I decided to make it asymmetric so that it would be more difficult to match them incorrectly).
  • These opposing parts needed to be stuck together – glue would be fine, but acetone welding is easier.

The photo below shows the printed mechanism – first of all in an un-tensed configuration (meaning lying flat):

flat

The photo below show the mechanism when it’s tensed (meaning rotated around the knuckle). You can see how the top part (intermediate and distal phalanges) starts to bend around as well because of the internal linkage.

upright

The next step is to think about how I can mechanically power this – I’ve ordered some solenoids, as I can use another linkage to translate the solenoid’s linear motion into a rotational movement around the knuckle.

3d Printing, Making, Taz

Building a 3d printer – Taz-5, Part 6: Connecting the X, Y and Z axes together

This will be a short post, but the printer is starting to actually look recognisably like a Taz-5 RepRap printer.

There’s not much left to do to connect the Y-axis and X/Z axes together. I needed to print out four identical pieces of the Y-mount chassis, and you can get the STLs for this part from here.

y-mount-chassis

When these were printed, I needed to insert a 5mm knurled insert nut into the hole in the main body of the part. You can see this in the photo below in the rightmost black part, whereas the other three parts hold M5 x 25mm bolts already.

y-mount-chassis

These parts are bolted into the aluminium extrusion rails at the bottom of the X/Z axes (which was constructed in the previous step) using 4 x M5 x 10mm bolts.

There were a couple of complications for me – these parts are designed by Lulzbot for use with 20mm x 20mm extrusion with a central groove suitable for M4 T-nuts, but my extrusion is slightly different – it has a groove used for M5 T-nuts. These are a bit bigger than the M4 version, and the tabs protruding from the base of the parts printed above clashed with the nuts – so I had to file these tabs off. This isn’t going to have any real impact on the printer, it was just a mild annoyance.

These parts slot into their corresponding parts on the Y-axis, as shown below, and can be bolted together:

WP_20160222_21_37_05_Pro

There’s not a lot of point in really tightening the bolts at this point – there’s going to be quite a bit of alignment required later.

Eventually the combined frames look like this.

x-y-z axes

Next time I’ll attach the threaded rods for the Z axis, and the guide rods for the Z-axis and the Y-axis.

3d Printing, Making

Building a 3d printer – Taz-5, Part 5: Connecting the X/Z Axis frame squares

Last time I build the two squares which form the main body of the X and Z axes. This time I’ll print out the parts that connect these squares, and use them to attach them together. This will be the first step where we attach stepper motors also.

This step requires printing out 4 new parts, all of which are quite large.

You can download the STLs for these parts – the links are:

The top mounts look like the piece shown below:

z-top-drive-left-cura

The motor mounts look like the piece shown below:

z-motor-mount-right

I printed out each of the top mounts, and inserted two 608ZZ bearings (608RS bearings are fine also, I just happened to have 608zz bearings handy). ZZ bearings have metal seals on each side, where as RS bearings have rubber seals. You can see this in the photo below.

Top Mounts

I then printed out each of the motor mounts. These require a little bit of extra work before attaching the motors:

  • I needed to insert a knurled insert nut in one side (using a soldering iron). This is so I can use an M5 thumbscrew to adjust when the Z-axis limit switch is triggered;
  • I also needed to insert an M3 knurled insert nut on both sides – this allows me to insert an M3 bolt to secure the vertical slider rods;
  • I inserted 4 M5 x 10mm bolts on each of motor mounts through the two holes on the left and right sides, and I threaded an M5 T-nut on each of the bolts. I did this to make it easier to thread the 2 squares I made last time onto these parts. The alternative is putting the nuts into the central grooves on the aluminium extrusion and trying to find them with the M5 x 10mm bolts. This would be pretty difficult, as there’s very limited space inside these printed parts;
  • Finally, I inserted two 608RS bearings into the large holes on both sides;

You can see the printed parts in the photo below.

Motor Mounts

The next step is to attach 2 NEMA-17 stepper motors to these two motor mounts. Each motor requires 4 x M3 x 12mm bolts. These are pretty straightforward to attach – I’ve shown this below. One thing to remember is to make sure that each motor is oriented in a consistent way – they might look symmetrical, but the 4 wires emerge from a side. I decided to orient the motors so that the wires came out at the back.

Motors with Mounts

The next step is the tricky part – there’s nothing technically difficult, but the size of the squares makes connecting the parts awkward. I found the best method was to lay one square on its side, and attach the four corresponding pieces onto the square frame, as shown below.

It’s really important to remember that the frame has a top and a bottom – the top of the frame will have the central groove threaded to accept an M6 threaded bolt.

Frame on side

Finally, slide the second frame onto the 4 parts. I found it easiest to slide from the top down.

Attaching second frame

I tightened the bolts on each of the top mounts, and rotated the frame into its normal vertical orientation. I pushed the motor mounts down to be flush to the ground, and then hand tightened the M5 bolts in the two motor mounts.

Finished frame

Next time, I’ll print and install the mounting points to attach this frame to the Y-axis (which I made in the first 3 parts of this series).

3d Printing, Making

3d Printed Robotic Hand – Preview

Readers will notice that I’ve few different threads running through my blog:

  • I still try to write some programming articles – even though I’m presently in a role where I’m an architect and solution designer, I still try to share some tips and tricks to make developers lives easier.
  • I’ve also got a series where I’m building a new 3d printer based on the Lulzbot Taz-5 printer, because I want a bigger printer, and I’d like the experience of building a printer without having all the parts shipped in a kit. This one is coming along more slowly than I’d like, and I manage to publish about one update each week.

But I’m still working on projects in my own time, which I’d like to write about. One project that I’ve been interested in doing for a while is building a robotic hand. A few people have been building these with 3d printers, and I thought it’d be good to try designing and building one myself. I don’t believe this is a particularly easy thing to do (or at least do well) so I’m expecting to make lots of mistakes learn lots of new things. I don’t expect to get everything right on version one, so there’s probably going to be a few different versions.

I’ll upload the design files to my github page – these will be in AutoDesk 123d format (these files have a file extension of 123dx, and can be converted to an STL for printing with the free AutoDesk 123d software).

I hope that this will lead me into some new and exciting technologies – I’d like to use the MyoWare Muscle Sensor which I saw on Adafruit’s YouTube channel a few weeks ago. I’m also interested in trying out the Leap Motion Controller, and to challenge myself to integrate it and a physical robotic hand (hopefully using C#). I’ll probably use an Arduino as an interface device between the PC and the mechanical hand.

Anyway, more on all of this soon…

3d Printing, Making, Taz

Building a 3d printer – Taz-5, Part 4: Constructing the X/Z Axis frame squares

This time, I’ll build the two squares that form the body of the printer’s frame.

For each of the two squares, I needed 4 lengths of 20mm x 20mm x 500mm aluminium extrusion. In the photo below, I’ve laid these out roughly in the configuration that they need to be assembled.

WP_20160211_19_42_37_Pro

There’s a few special instructions:

  • The two pieces on the left and right need to be tapped at the top-end for an M6 bolt.
  • Before assembling these pieces, you need to insert the M5 T-nuts for future assembly steps – so for each of the 4 pieces:
    • For the top and bottom aluminium pieces, put 2 T-nuts in the top groove and 4 in the front side;
    • For the left and right aluminium pieces, put 4 T-nuts in the front groove;

The corner pieces which attach each of these aluminium parts are not printed parts in the factory Taz-5. However, a community member has created STL files for equivalent parts and uploaded to Thingiverse. You can get the STL for this part here.

I printed out 8 of these parts (4 for each square), and each of the printed parts looks like the part in the photo below.

WP_20160211_19_43_40_Pro

It’s pretty straightforward to understand how to assemble the square – each of these corner pieces is bolted using an M5 x 10mm bolt to the four corners where the lengths of aluminium meet. It’s a bit tricky to make threat the bolts into the T-nuts. I found a carpenters set-square was useful to keep the aluminium pieces at right angles to each other while I was connecting them.

I’ve shown the first finished square below.

WP_20160211_19_52_59_Pro

And since I need two of these, I just repeated the steps described above.

WP_20160211_19_55_15_Pro

That’s it for this part – next time I’ll print out the parts which join both of these squares together, and attach them.

3d Printing, Making

Building a 3d printer – Taz-5, Part 3: Continuing the Y-axis

In the previous blog posts, I created the front and rear assemblies for the Y-axis. This time, I’ll use aluminium extrusion to connect the two assemblies and secure them. At the end of the post, we’ll have something that’s starting to look recognisably like part of a 3d printer.

First, I obtained some aluminium extrusion. The factory Taz-5 uses 20mm x 20mm extrusion, which has a central hole for suitable for an M5 bolt, and slots suitable for M4 T-nuts. I found it impossible to obtain extrusion with all these dimensions – so I settled for extrusion which is 20mm x 20mm, with a central hole suitable for an M6 bolt, and slots suitable for M5 T-nuts. Basically it’s fine, there are a couple of special modifications I had to make but nothing really significant or anything that caused a problem. The lengths of extrusion I used were 500mm for each of the two pieces.

The first thing to do is tap the holes in the ends of each of the two pieces of extrusion. I tapped to a depth of 50mm – this was probably a bit much, but it didn’t do any harm.

WP_20160112_17_51_26_Pro

Remember I needed to tap using an M6 tap – the holes in the front and rear assemblies we printed are last time were only big enough for M5 bolts. This was easy to fix – I used a drill with an 6mm bit to expand the four holes in the front and rear assemblies.

I inserted the ends of the two pieces of extrusion into the left and right uprights of the motor mount assembly (the rear), and used two M6 bolts to secure them to the assembly. I didn’t tighten the bolts very much, as there’s quite a few other things to do.

WP_20160124_18_49_17_Pro

Next step is to slide in the T-nuts required to secure all the parts – slide the T-nuts into the open end of the extrusion. This can’t be done later because you need to have one end of the extrusion open to slide these in.

On each side, you need:

  • 4 T-nuts in the top slot;
  • 2 T-nuts in the left slot;
  • 2 T-nuts in the right slot;
  • No T-nuts in the bottom slot.

The photo below shows a view from the side, where you can see the T-nuts in place.

WP_20160124_18_58_28_Pro

After this, use a couple of M6 bolts to secure the remaining assembly to the other ends. At this point, you’ll be able to secure the extrusion to the plastic assembly not only using these M6 bolts (into the tapped end of the extrusion), but also on each of the left and right sides of each Y-axis upright. You should use an M5 x 10mm bolt into the T-nuts inserted to each of the sides. The image below shows how this should be attached.

WP_20160125_19_39_32_Pro

Now use some M5 x 10mm bolts to secure the sides of the first assemblies attached – the inside is quite tricky, you might need a hex key rather than a screwdriver with a hex head.

WP_20160125_19_39_54_Pro

Next, print four of the Y-axis mounts – these are available for download as STLs here. I’ve shown below what these look like when set out in Cura for printing.

4xYaxisMounts

Clear out the support material from the lower section of these mounts (if you’ve chosen to include this material), and these are ready to mount on the top of the extrusion. Secure each of these with two M5 x 10mm bolts – again, there’s no point in tightening these up just yet – their position will be determined by the frame for the X-axis and Z-axis, which I’ll blog about later.

WP_20160125_19_39_21_Pro

At this point, both the front and back assemblies are attached to each of the 500mm lengths of extrusion – and each mounting point is attached by 3 different bolts, which makes for a very strong join. Also the Y-axis mounts are also attached, which prepare the piece to be attached to the main printer frame. The image below shows what’s been built so far. Hopefully you’ll agree this is starting to take shape as the Y-axis of a 3d printer.

WP_20160125_19_40_41_Pro

Next time, I’ll look at starting to put together the main printer frame.

3d Printing

Building a 3d printer – Taz-5, Part 2: Y-axis, rear end assembly

Last time, I posted an explanation of how to print and build the front end assembly of the Y-axis which holds the bearing mount. This time, I’ll look at the same process for the rear-end assembly, which the motor is attached to. This is similar to last time, but a bit easier because the motor mount doesn’t have any moving parts (unlike the bearing).

1. First, repeat Steps 1 – 3 from Part 1 of this series. Print another pair of the Y-axis left and right assembly uprights. The links to the STL files are below:

The STL for the Y-axis left corner mount is here.

The STL for the Y-axis right corner mount is here.

You should have something that looks like this:

Y-axis left and right mounts - back view with nuts

2. Print the Y-axis motor mount. The STL is available from here. A photo of the one I printed is below. I’ve already put in the M3 nyloc nuts into the hexagonal sockets.

motor mount

3. Next I printed two copies of the rear assembly’s rear plate. As I noted before, this isn’t something that is a 3d printed part in the factory kit – but you can get the STL for this here. I printed out a couple of parts, and made sure that one was a mirror image of the other. Then I used acetone to weld the backs of the pieces to each other, and clamped them together (which is shown in the photo below). I also used some nuts and bolts to add some extra clamping force. I left this for a couple of hours before removing the clamps, to allow the acetone to work.

clamping different plates together

4. After a couple of hours, I sanded down the rough edges, and rubbed some acetone around the smoothed edges using a damp cloth. This smoothed the part a lot, and I’ve included a photo of it below.

rear plate after smoothing

5. Next I used some M3 bolts to attach the back plate to the motor mount.

motor mount attached to rear plate

6. Finally, use some M5 bolts to attach the left and right corner mounts printed in Step 1. The finished assembly should look like this:

y-axis rear assembly

The reverse view is shown below:

y-axis rear assembly, from back

Next time, I’ll write about how to use aluminium extrusion to join these two parts together.