Introduction: Ada Robotic Hand - Open Bionics

About: Open Bionics is an open source robotics company 3D printing low-cost robotic hands for amputees. Join our developer forum! http://www.openbionics.com/developer/ Talk to us on Twitter or FB. @openbionics


For the most up to date assembly tutorial, please go here.



This is a step by step guide on how to make an Open Bionics Ada robotic hand. This is derived from the Dextrus robotic hand, by the Open Hand Project. It assumes you have either ordered the Ada robotic hand kit or have access to a 3D printer and are planning to print 3D parts from YouMagine or thingiverse. The list of required 3D printed parts, components and tools are stated below. If you have purchased the Ada kit, you can skip the first step and start straight from step 2.

This hand would provide an excellent research platform for robotics or a test platform for prosthetics research. It has been designed to be easy to build and repair and should be a great project for someone with interests in robotics or prosthetics and wants their very own robotic hand!

This instructable will take you through the assembly of the 3D printed parts, the mounting of the circuit board, and the uploading of test firmware. If you have all of the parts to hand, assembly should take around 1 hour. The assembly of this hand is exactly the same for both a left and right hand, the only difference being in Step 4, mounting the electronics.

Assembly Steps:

  1. Printing and removing support material
  2. Inserting the motors
  3. PCB tray assembly
  4. Mounting the electronics
  5. Attaching the back cover
  6. Uploading the test firmware
  7. Attaching the finger tendons
  8. Hand is complete

Tools required:

  1. M3 Allen key
  2. Tweezers/Needle nose pliers
  3. Scissors
  4. Soldering iron (used for the push inserts)
  5. Micro USB cable
  6. 12V DC power supply

Components required:

  1. Super glue
  2. 9 x M3 bolts (6mm length)
  3. 13 x M3 threaded push inserts
  4. 1m x 0.7mm tendon string
  5. 5 x Firgelli 12V linear actuators (PQ12-30-12-P)
  6. 1 x Open Bionics Almond electronics
  7. 5 x Micro gel fingertip grips

3D printed parts:

  1. Palm
  2. PCB tray upper
  3. PCB tray lower
  4. Back cover

Contact

If you enjoyed this tutorial and wish to continue working with us to improve robotic hands, become part of the developer community. If you have any queries or just fancy keeping up with this project, feel free to join us over on our forum http://openbionics.lefora.com.

License

Ada robotic hand by Open Bionics is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Please be aware that the Open Bionics Ada robotic hand is not a medical device.

Step 1: Printing and Removing Support Material

For the most up to date assembly tutorial, please go here.

First off, we'll need to print the 4 main components for the Ada robotic hand, the files can be found on YouMagine or thingiverse.

You will need:

  • 200g Ninjaflex
  • 100g PLA/ABS

3D printed parts:

  • Palm
  • PCB tray upper
  • PCB tray lower
  • Back cover

The palm is to be printed in Ninjaflex, and all of the other components are printed in either PLA or ABS (whichever you feel most comfortable printing with). Note that most of these parts require support to be printed effectively.

For a more detailed guide on printing the Ada hand, visit this tutorial.

The Palm

  1. To print the palm make sure that the part is orientated correctly, so that the wrist and the fingertips are both the bottom most points of the model (pictured)
  2. Our recommended Ninjaflex print settings are as follows
    1. Layer height 0.3 mm
    2. Fill density 45%
    3. Support material
      1. Type: Touching Build Plate
      2. Angle: 30°
      3. Density: 25%
    4. Print speeds
      1. Infill 20mm/s
      2. Outer shell 16mm/s
      3. Inner shell 20mm/s
  3. The print usually takes around 20 hours, but print time may vary depending on your print settings
  4. Once printed, remove the palm from the bed and use pliers to remove the support material from the back and inside of the hand
  5. Be sure to also remove all of the support material in the large motor horn holes and in the back of the motor slots (pictured)
  6. You should also remove any support material inside the tip of thumb, but make sure you don't damage the tendon attachment point on the tip of the thumb

PCB Tray

  1. Print both of the PCB tray components (upper and lower) in PLA (or ABS) so that the flat faces are on the bed
  2. These components do not require any support to be printed, and usually take around 2 hours
  3. These components will be glued together in step 3

Back Cover

  1. Print the back cover with support in PLA (or ABS), and orientated so that the wrist is on the bed and the part is vertical
  2. This part takes around 6 hours to print
  3. Once printed, remove the support from inside the cover and within the cable holes in the wrist

You should now have printed and cleaned up the palm, PCB Tray and back cover, the next step involves inserting the motors into the palm.

Step 2: Inserting the Motors

For the most up to date assembly tutorial, please go here.

In this step you will insert the motors into the palm.

You will need:

  • 3D printed palm
  • 5 x Firgelli motors

Insert the motors

  1. Place the 3D printed palm palm-down on the table
  2. Insert the attachment loop of one of the "Firgelli motors" into the cavity at the wrist end of the index fingers motor slot
  3. Press the "horn" end of the motor into the slot so that the motor is seated comfortably
  4. Repeat this for the remaining 4 motors
  5. The motor horns will be extended in a later step to allow us to attach the finger tendons

You should now have all 5 motors inserted into the palm, the next step is to mount the PCB tray ready for the electronics.

Step 3: PCB Tray Assembly

Having inserted all of the motors, the next step is to assemble and mount the PCB tray.

You will need

  • Palm with motors
  • 3D printed PCB tray upper
  • 3D printed PCB tray lower

Assembling the PCB tray

The PCB tray is formed of 2 separate components which need to be joined together using super glue.

  1. Place the lower PCB tray on the table with the large flat side facing up
  2. Inspect the packaging of the particular glue you are using to determine the drying time. Most superglues will set within a few seconds. Also ensure the glue is suitable for use with plastics and you are following the safety guidelines
  3. Apply a thin layer of glue to the upper face of the lower PCB tray
  4. Align one edge of the upper PCB tray with that of the lower. Then press the two components together so that the flat faces become fixed, make sure the cable slots line up. NOTE you will have very little time to readjust the relative position of the components before the glue sets
  5. Allow a few minutes for the glue to cure fully

Mounting the tray

The PCB tray is designed to keep the motor cables in place and to allow the PCB to be mounted within the hand.

  1. Place the palm with motors palm down on the table
  2. Pass the motor cable for each motor through the corresponding slot in the middle of the PCB tray. The numbers on the PCB tray should be facing up. Note that motor 0 (the thumb) doesn't have a slot, only a notch
  3. Thread each cable back down through the inner of the pair of slots on the finger edge of the PCB tray. The cables should now be poking out the bottom of the tray
  4. Thread the cables back up through the remaining slots
  5. Press the PCB tray onto the top of the motors. It should fit snugly around them
  6. Ensure the thumb motor cable is in line with the notch marked 0
  7. Thread the motor cable for the thumb around the gap in the side of the tray
  8. Make sure there is no slack in the motor cables passing over the PCB tray

You should now have something similar to the pictures above, the next step is to attach Almond board electronics.

Step 4: Mounting the Electronics

With the PCB tray mounted, we need to connect the Almond board to the hand.

You will need:

  • Palm assembly with motors and PCB tray
  • Almond board

Note, the steps differ slightly between a left and right hand.

Both hands

  1. Place the Almond board upside down on the back of the fingers
  2. Unclip all of the motor connectors by using tweezers to gently slide the black clip away from the motor connector
  3. Plug in all of the finger motors by sliding them into the connectors, orientated so that the copper pads are facing into the board
  4. Slide the black connector clips back in to lock the motor cables into the connectors

Right hand only

5. Plug the thumb motor cable into the top RIGHT motor connector and lock the connector

Left hand only

5. Plug the thumb motor cable into the top LEFT motor connector and lock the connector

Both hands

6. With all of the motor cables connected to the Almond board, place it so that it just slots onto the top of the PCB tray, depending on the material you have used, this may be either a tight or a loose fit.

The motors and electronics are now mounted and the hand is ready for the back cover.

Step 5: Attaching the Back Cover

Before the back cover is mounted, we need to attach the threaded inserts.

You will need:

  • Palm assembly with motors and PCB
  • 3D printed back cover
  • 13 x M3 threaded push inserts
  • 9 x M3 bolts
  • Tweezers
  • Soldering iron (used for the push inserts)
  • M3 Allen key

Threaded push inserts

  1. Heat your soldering iron to around 220°C - 260°C
  2. Using the tweezers, place one of the threaded inserts over one of the holes on the back cover
  3. Heat the threaded inserts with the soldering iron
  4. Gently press on the inserts with the tip of the soldering iron to press them into the plastic, until the top of the insert is flush with the surface of the part
  5. Continue this process for all 9 inserts on the back cover and the 4 inserts on the wrist

Mounting the back cover

With all of the threaded push inserts mounted in the back cover, we now need to attach it to the palm assembly.

  1. Place the back cover on the back of the palm so that the bolt holes on the back cover line up with the holes on the palm (note, you may need to bend the fingers/thumb to seat the back cover correctly)
  2. With the back cover in place, look through the holes in the wrist connector to confirm the 3 connections on the Almond board line up with the holes in the wrist and are still accessible
  3. Place the M3 bolts through the 9 bolt holes on the palm and bolt them into the threaded inserts in the back cover
  4. If the inserts squeak as you screw into them, this means that there is some melted plastic in the threads of the threaded insert. To clear this you may need to tighten a few turns, then loosen them slightly, and repeat this until the bolt is tight enough

You should now have something starting to resemble a robotic hand, the next step is to upload some test firmware to the PCB to extend the motors in order to attach the finger tendons.

Step 6: Uploading the Test Firmware (FingerLib - MotorTest)

At this stage we are wanting to test that the Almond board works so that we can extend the motors in order to allow us to attach the finger tendons.

You will need:

  • Hand assembly
  • 12V DC power supply
  • Micro USB cable
  • Computer

Downloading and installing Arduino

To upload the test software to the hand we first need to download the Arduino IDE.

  1. Navigate to www.arduino.cc/en/Main/Software
  2. Download the latest release of Arduino
  3. Once downloaded, run the installation file and follow the instructions to install Arduino
  4. If you have any issues, there are a number of tutorials on YouTube

Downloading FingerLib

Once Arduino has been installed, we need to download FingerLib.h, a custom library written by Open Bionics to handle the motor control and other board specific tasks. FingerLib.h includes various example sketches for simple finger control functions and is also used by the Artichoke firmware for the complete hand control system.

  1. Navigate to www.github.com/Open-Bionics
  2. Download FingerLib as a ZIP
  3. Extract FingerLib-master.zip
  4. Rename the file 'FingerLib-master' to 'FingerLib'
  5. Move the FingerLib folder to your Arduino libraries folder
    1. My Documents\Arduino\libraries
  6. Restart Arduino by closing it and opening it again

Upload the example code

Once the FingerLib library has been installed, open Arduino and open the 'MotorTest' example.

  1. Open Arduino
  2. Open 'File -> Sketchbook -> libraries -> FingerLib -> MotorTest '
  3. This should open up the MotorTest example from FingerLib

We now need to power up and connect to the board.

  1. Plug the 12V DC power supply into the DC jack in the wrist (the left hole in the wrist connector)
  2. Plug the micro USB cable to the hand through the wrist (the right hole in the wrist connector)
  3. Within Arduino, select the board we are using
    1. 'Tools -> Board -> Arduino Genuino/Mega or Mega 2560' (the board name may differ depending on the version of Arduino you are using, make sure that the board selected relates to the Mega 2560)
  4. Select the COM port for the board
    1. 'Tools -> Port -> COM??' (where the '??' is the COM port number of the Almond board)
  5. With the board selected and connected, click the arrow/upload button to compile and upload the MotorTest example to the Almond board

Run MotorTest

With the MotorTest example uploaded, we now need to extend the motor horns in preparation for the finger tendons.

  1. With the MotorTest example uploaded to the Almond board, connect to the board using the Serial Monitor
    1. 'Tools->Serial Monitor'

  2. Use a baud rate of 38400 (bottom right drop down menu within the Serial Monitor)
  3. You should now see the board printing out the position of each motor channel (m0 - m4)
  4. If you enter a motor number and press enter(0 - 4), the finger attached to that motor should toggle between open and close
  5. If you enter number '5', all of the motors should toggle their positions between open and close
  6. Entering a number greater than 5 will stop the motors
  7. After playing around with the motors for a bit, set it so that all of the motor horns are fully extended (position around 60)
  8. Unplug both the power and the USB to proceed with the next step

You should now have the hand assembled with all 5 motor horns extended, the next step is to attach the finger tendons.

Step 7: Attaching the Finger Tendons

The tendons attach the fingertips to the motors and allow for the fingers to be actuated, this step has some very fiddly parts due to the tight spaces and awkward angles.

You will need:

  • Hand assembly
  • 1m x tendon string (shark fishing line)
  • Scissors
  • Tweezers

Attaching the tendons to the fingertips

  1. Cut a length of tendon string to 20cm
  2. Thread part of the string through the hole on the tip of the finger
  3. Use tweezers to partially pull the tendon string though the other finger tip hole, so that it loops around the termination point
  4. Thread the string back through the finger and around the termination point a second time
  5. Tie a knot in the tendon string to secure it to the tendon attachment point in the finger tip, we recommend using multiple knots and pull it tight to keep it secure
  6. With one end of the tendon string tied to the finger tip, thread the other end through the finger tip hole, passing it through the tendon channels on the inside of the finger, down to the palm
  7. With the tendon string exiting the finger near the palm, pull the tendon string tightly whilst holding the finger extended to pull the knot on the fingertip to the inside of the finger
  8. Repeat this step for all of the fingers and the thumb

Attaching the tendons to the motors

You should now have all 5 finger tendons attached to their finger tips and threaded through the tendon channels within the finger, exiting near the motor horn holes.

  1. You now need to use the tweezers to thread the tendon string from the finger tendon channel, passing it through the hole in the motor horn
  2. The next step is to tie a knot around the motor horn (we recommend that you slightly bend the finger during this process so that the natural position of the finger is slightly flexed)
  3. You may need to tie multiple knots to keep the finger tendons secure
  4. Repeat this process for all 5 fingers, but do not cut off the excess string yet

Test the tendons

  1. Power up the hand and run the MotorTest example again, to make sure that the positions of the fingers look natural
  2. If the tendons need tightening, undo the knot at the motor horns and tie the tendons with the fingers more flexed
  3. If you are happy with the tendon lengths you can cut off any excess tendon string at the finger tips and at the motor horns

You should now have all of the finger tendons attached to both the fingers and the motors.

Step 8: Hand Is Complete

The final step is to attach the micro gel fingertip grips to each of the fingers.

You will need:

  • Hand assembly
  • 5 x Micro gel fingertip grips

Fingertip grips

The micro gel fingertip grips give the Ada fingers a more human-like grip ability by increasing the friction and texture of the fingertip.

  1. Spread the micro gel fingertip over the end of a finger until the very tip of the finger reached the end of the gel fingertip
  2. Pull the bottom of the gel fingertip down and place it so that it sits in the back of the middle finger joint
  3. Make sure the bottom of the gel fingertip is not sitting in the front of the middle finger joint
  4. Repeat this for all of the fingers

Congratulations, you have now completed the assembly of the Ada robotic hand! :)

Hand software

We have written a version of Arduino software, named Artichoke, to specifically run on the Ada hand. It includes full Serial control of individual fingers and grip patterns and also includes muscle control. For instructions on where to download and how to use Artichoke, head over to the Artichoke User Guide here.

More Info

If you enjoyed this tutorial and wish to continue working with us to improve robotic hands, become part of the developer community. If you've completed this build, please do let us know on our forums, don't hesitate to post a forum message if you have any issues, questions or possible improvements.