Project is licensed under Apache 2.0
Mechanical design is licensed under a :
Creative Commons Attribution 4.0 International License.
Robotic hands are often very expensive and not so expressive. More dexterous often needs cables and deported actuators in forearm i.e..
Aim of this project is to be able to explore humanoid hand possibilities on a real robot (and Reachy2 is the perfect candidate for that !) with moderate cost. => Wrist interface is designed for Reachy2's wrist (Orbita 3D), but it can be easily adapted to other robot's wrist...
Amazing Hand is :
- 8 dofs humanoid hand with 4 fingers
- 2 phalanxes per finger articulated together
- flexible shells allmost everywhere
- All actuators inside the hand, without any cables
- 3D printable
- 400g weight
- low-cost (<200€)
- open-source
Each finger is driven by parallel mechanism.
That means 2x small Feetech SCS0009 servos are used to move each finger in flexion / extension & Abduction / Adduction
2 ways of control are available :
- Use a Serial bus driver (waveshare i.e.) + Python script
- Use an Arduino + feetech TTL Linker
Detailed explaination are available for both ways and Basic demo software is available also. Up to you !
List of all needed components is available here:
AmazingHand BOM
And remember to add control choice cost (2 options detailed previously)
Detailed for custom 3D printed parts are here : 3Dprinted parts
Here is guide to explain how to print all the needed custom parts :
=> 3D Printing Guide
STL and Steps files can be found here
Note that Fingers are the same if you want to build a left hand, but some parts are symetrical. Specific right hand parts are preceded by an "R", and other of the left hand parts by an "L".
Everyone can access the Onshape document too:
Link Onshape
Note that predefined position are available in "named position" tooling, with corresponding servos angles
Assembly guide for the Amazing Hand in combination with standards components in the BOM is here :
=> Assembly Guide
You will need simple program / script to calibrate each fingers, available here :
Note that this assembly guide is for a standalone Right hand.
If you need to build a standalone Left hand, you can keep the sames IDs for servos location, and select if it's a right or left hand in the software.
BUT, if you need to build both right and left hands to plug them on a robot, you will have to attribute differents IDs for right and left hands. You can't have same ID for different servos on the same serial bus...
Basic Demo which is available with both Python & Arduino.
You will need external power supply to be able to power the 8 actuators inside the hand.
If you don't have one already, simple external power supply could be a DC/DC 220V -> 5V / 2A adapter with jack connector. Check on the Bom List : AmazingHand BOM
AmazingHand_BasicDemo.mp4
I noticed some variations between theorical angles for Flexion / Extension, Abduction / Adduction and angles in real life prototypes. This is probably due to several sources of variation (3D printed parts are not perfect, balljoint rods are manually adjusted one by one, esrvo horn rework, flexibility of plastic parts...).
This design has not yet bene tested for long and complex prehensive tasks. Before to be able to grasp objetcs safely (that means without damaging servos or mehanical parts), kind of smart software need to be build. SCS0009 servos have smart capaibilities as:
- Torque enable / disable
- Torque feedback
- Current position sensor
- Heat temperature feedback
- ...
For more advanced usage using inverse/forward kinematics there are several examples in the Demo directory along with some useful tools to test/configure the motors.
- Design small custom pcb with serial hub and power supply functions, to fit everything in the hand
- Test with prehensive tasks => Add smarter behaviour for closing hand, based on avalable motors feedbacks
- Study possibility to have 4 different fingers length, or add a 5th finger
- Study possibility to use STS3032 feetedch motors instead of SCS0009 => Stronger for quite the same volume, but servo horn is different
- Study possibility to add compliancy by replacing rigid links to springs
- Add fingertip sensor to push one step higher smart control
WIP
Huge thanks to those who have contributed to this project so far:
- Steve N'Guyen for beta testing, Feetech motors integration in Rustypot, Mujoco/Mink and hand tracking demo
- Pierre Rouanet for Feetech motors integration in pypot
- Augustin Crampette & Matthieu Lapeyre for open discussions and mechanical advices