People suffering a limb amputation are forced to face their daily life tasks with the disadvantage of not having all their limbs. In the case of upper limb amputations, not having one or both hands is a major barrier in carrying out the daily tasks for those who suffer the amputation. Actions as simple as getting dressed, tying shoelaces or pouring water into a glass, have an added difficulty which restricts the autonomy and independence of the amputee. Given this scenario, there is a clear need for a tool to partially restore the functionality of the missing upper limb. That is why researchers and companies around the world have developed prostheses that help these people on living their lives in a more independent and simpler way.
Among the different types of prosthetic hands that exist, robotic prostheses are those with greater functionality. DC motors, or other kind of actuators, drive the motion of each finger, or groups of fingers. To control this devices, EMG signals, the electric signals generated by human muscles, are the common choice as user input. However, due to their complexity and the technologies they employ, commercial robotic hand prostheses are very expensive. If their cost is already high for the average Western citizen, the problem is exacerbated in the case of developing countries where, besides having a much lower level of income, the number of amputations is greater due to several factors such as war, a poor health system and defective safety measures at work. Another group that is affected by the high cost of these devices are children, who need to change their prosthesis every so often to adapt them to their physical growth.
Dextra is another example of the growing field of open-source, replicable, robotic hand prostheses, in the spirit of the designs of the Open Hand Project or Openbionics. There is a need for low-cost and hackable prostheses, as commercial ones are very expensive and cannot be modified to suit the needs of each individual. Moreover, and from a different perspective, robotic hands for a more general purpose also suffer from the same problems than robotic hand prosthesis. Robotic hands used in humanoid robots, robotic manipulators and research have a very high cost, in many cases unaffordable for startups, small universities and research centers. The existence of robotic hands that can be built and programmed by oneself could widen the field of application of these devices. They can be used by hackers everywhere in their own projects, and they can be introduced in schools and universities to taught robotics with a real device that can be used from the assembly stage to the development of different applications.
Main features
- Replicable and modifiable.
- Completely open-source. Designed with open-source software.
- Compact design.
- Modular and easy to assemble.
- Underactuated fingers.
- Adaptive grips.
- Closed-loop position control.
- Human-robot interfaces: EMG control and PC interface.
- Built with cheap off-the-shelf components.
- Cost to build a unit < 260$.
Compact design
To be accepted by the user, the prosthesis has to be close to the human hand in size and appearance. Also, to be used by any upper limb amputee, the actuators and electronics have to be embedded in the hand itself.
The mechanical design of Dextra is based on the finger module. A finger module comprises a compact linear actuator based on the Pololu 1000:1 Micro Metal Gearmotor HP, position feedback provided by a magnetic encoder, and the mechanical printable finger. This module is used in the four fingers of the hand, and the thumb is a variation of the same design. This makes assembly and repair simpler. Modular design also may favor the possibility of modifying the original design.
Underactuated, adaptive grip
To reduce the size, as well as the mechanical complexity of Dextra, the fingers are underactuated, that is, they have more degrees of freedom (DOF) than actuators. Each finger module has three DOF and one motor, while the thumb has two DOF and one motor. Besides that, the abduction/adduction of the thumb is independently actuated by a small RC servomotor. That makes a total of 15 DOF and 6 actuators. The underactuated transmission system of the fingers is based on a tendon-driven mechanism: the motion of the actuators located into the palm is transmitted to the fingers through a string of fishing line acting as an artificial tendon.
The compact actuator of the finger module works as follows. To flex the
finger, the motor rotates a spool that winds the tendon. The tendon
comes out of the actuator parallel to the motor shaft, so the rotational
motion of the motor is converted into a linear motion parallel to its
shaft. The tendon is routed through the finger and attached to the
distal
phalanx. When the tendon is rolled by the actuator spool, the
finger flexes, and when is unrolled, elastic elements located on the
phalanx joints extend the finger. The tendon channel inside the finger is designed is such a way that the finger is "mechanically programmed" to follow a specific closing sequence. The proximal phalanx is the first one to close, followed by the medial phalanx and finally by the distal phalanx. In this way, the closing of the finger is able to adapt to any shape.
Tendon-driven underactuation has a significant advantage with respect to other underactuation methods, such as rigid four-bar linkages. While rigid mechanisms couple the motion of adjacent phalanxes, making the phalanxes move simultaneously, tendon-driven fingers are able to flex one phalanx at a time, sequentially. This means that a phalanx can move although the previous one is blocked, causing the finger to adapt to the shape of a wide variety of objects. Thanks to this mechanical design, Dextra can perform adaptive grips. The grasping capabilities of Dextra are graphically depicted in the image below, where the Cutkosky grasp taxonomy (one of the most widely used benchmarks for robotic hands) is reproduced.
Closed-loop finger control
In its current state, the motion of the fingers of Dextra is controlled by a position control loop. Since the finger is underactuated, the angular position of each phalanx cannot be controlled independently. Instead, the total angular position of the finger, that is, the sum of the three joint angles, is controlled. Each finger is controlled by a PID loop that takes a position setpoint as the input and uses the feedback position measured by a magnetic quadrature encoder to adjust the real position of the DC motor driving the finger. However, controlling the position of the fingers is not enough to have a functional robotic hand; the force exerted when grasping objects must also be controlled in order not break them and to avoid damaging the hand. For this reason, a force controller is being developed to operate alongside the position controller. This controller uses the current drawn by the motor to obtain an estimate of the total force exerted by the finger. In the video below, the first tests of the force controller prototype are shown. The force controller will be integrated with the position controller to form a high-level controller that will switch between position control and force control depending on whether the fingers are moving to reach a position or holding an object.
Human-robot interfaces
Myoelectric control
Dextra can be controlled either by sending commands from a computer, or by using myoelectric (EMG) signals, as would be done if the hand is used as a prosthesis. To implement the second type of control, an EMG interface called Mumai is being used. Currently, a myoelectric threshold controller is implemented: the raw EMG signal provided by the EMG interface is rectified and smoothed by software and when this processed signal exceeds a certain value, the hand closes.
Since Mumai provides the raw EMG signal and is capable of using multiple acquisition channels simultaneously, a more complex, pattern recognition-based myoelectric controller can be implemented to take advantage of the manipulation capabilities of Dextra. A proof of concept pattern recognition system has been implemented in Python to show how EMG signals can be used to classify different hand gestures.
PC graphical user interface
To provide another way of controlling Dextra besides the EMG interface that controls the hand when it is used as a prosthesis, a graphical user interface (GUI) has been developed. The GUI allows moving each finger individually from a PC, using a serial connection to communicate with the Dextra microcontroller. In further developments, this GUI will be used as a way to program Dextra easily and intuitively. By moving each finger individually, the hand will be controlled like a puppet. Once the desired pose is achieved, it will be possible to store it for later use. The stored poses may be combined together to perform different movements and behaviors, for example in a humanoid robot carrying out manipulation tasks. Since the GUI is programmed in Python, it will be very easy to integrate these stored poses into existing projects.
Cost
Component | Pcs | Unit price | Subtotal |
Pololu Micro Metal Gearmotor 1000:1 HP with extended motor shaft | 5 | $23,95 | $119,75 |
DRV8838 Single Brushed DC Motor Driver Carrier | 5 | $2,99 | $14,95 |
Pololu magnetic encoder for Micro Metal Germotors | 3x packs of two pcs | $8,95 | $26,85 |
Turnigy TGY-EX5252MG Twin BB Digital Micro Servo | 1 | $9,73 | $9,73 |
Teensy 3.1 | 1 | $19,80 | $19,80 |
PLA or ABS filament spool | 750 g | $21,60 | $21,60 |
Fishing line spool (0.6 mm diameter) | 1 | $8,90 | $8,90 |
1/8'' orthodontic elastic rubber bands | Bag of 100 | $5,49 | $5,49 |
M3x14 bolt | Bag of 50 | $6,25 | $6,25 |
M3x12 bolt | Bag of 50 | $7,53 | $7,53 |
M3x8 bolt | Bag of 50 | $6,92 | $6,92 |
M3x6 bolt | Bag of 50 | $5,42 | $5,42 |
M3x12 spacer | 2 | $0,471 | $0,942 |
M3 nut | Bag of 100 | $5,26 | $5,26 |
Total cost | $259,392 |
License
Code is licensed under the GPL v3 License. The rest of the work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.