1st Prototype
To conclude the 22.201 Mechanical Design Project, we have included a real picture of the final assembly and a video of the project in motion, powered by its accompanying Arduino component:
The completed mechanism assembly |
As one can see by the video, the motion is not 1:1 as was the design intent, but the general idea was achieved.
The main areas of assessment are in the mechanism (specifically the design, assembly, and implementation of the knuckle part) and the Arduino component.
The Mechanism
At the time, the design of the knuckle seemed viable. However, it was difficult to achieve a sense of scale for the actual size of the part, which was incredibly small. The part was made to fit a 5/8 inch dowel, and some of its features were extremely small, such as the triangular nubs that prevented rotation past a certain point and the pass-through holes through which fishing line would be run. Several of the 3D-printed parts broke simply because there was enough material for the part to be strong at certain areas (one such example is the loops through which the pivot axis lies).
In terms of the assembly, using several parts such as machine screws, washers, and lock nuts to fasten all of the parts together proved to be tedious and cumbersome. The washers became necessary to prevent translation of knuckle pieces in the case of shear forces, which were due mainly to the elastic band if not aligned exactly along the length of the finger assembly. Because of the washers, the lock nuts could not actually achieve a locked position (which is where the threads of the machine screw reach the nylon in the lock nut and "lock"). All throughout assembly and testing, the nuts would fall off due to the rotation of the knuckle joints.
Close-up of the hardware required for each knuckle |
Another major issue encountered was the limited range that the servos could pull the fingers. Pulling the finger from a completely straight position to a completely closed (curled up) position was not fully achievable, even considering that the design was intended to allow for small changes in angular position of the servo to equate to larger changes in the displacement of the string and thus the position of the finger.
The Arduino/Electronics
In terms of the Arduino and the electronics, the servos perform very well on their own in terms of torque, but power consumption between the servos and the radio transmitter and receiver pair became a constant issue. Though we may have been able to bypass the issue using a 4-AA battery pack (hovering around 6V in output voltage), it would seem that further investigation into properly powering the entire system is necessary.
Wiring of the project was also very cumbersome, due to the large amount of wiring needed. Each servo motor and flex sensor requires 3 connections: power, ground, and the signal/data connection. Having 5 of each (although we only reached about 4 of each) would have been very messy. Shown below is just a picture of transmitter and receiver systems, respectively:
The RF transmitter is barely visible through the mess of wires |
Jumper wires became cumbersome, in addition to the hookup wire used with the servos |
When first hooking up the gloved flex sensors to the RF transmitter breadboard and connecting the RF receiver breadboard to the servo motor, it became apparent that calibration of the flex sensor was needed. The SparkFun guide recommends a flex sensor range of 600-900, but it became apparent in previous tests that 600-900 was not an optimal range, that is, for the flex sensor that was tested. While calibrating multiple flex sensors, we discovered that each flex sensor needed to be calibrated slightly differently i.e. some flex sensors had larger ranges, some had similar ranges but at different minimum and maximum values.
As stated earlier, the motion of the robotic hand in relation to the human-worn control glove was not 1:1. A contributor to this is the radio frequency signal delay, which ranged anywhere from 1-2 seconds when the RF link pair were within 6 inches of each other, and could stretch to 3-4 seconds if the pair were between 6 and 12 inches. Any further than 1 or 2 feet, and the signal was not even received in some cases.
The budget for the entire first prototype, which we estimated to cost about $100, was not exceeded, and if it did, did not exceed by much. The largest cost was the purchase of the servo motors, which were about $60.00 for 5 servos at around $12 each. The remaining cost comprised of miscellaneous hardware and electronics, which included machine screws, wood screws, washers, lock nuts, hook-up wire, 60/40 solder, and lumber.
2nd Prototype
Considerations for the second prototype must correct the issues experienced in the mechanism during physical assembly of the first prototype, specifically for the design of the knuckle, as well as streamlining portions of the Arduino and electronics components. Shown below is one possible second prototype design for the knuckle:2nd Prototype Knuckle Design Part File |
2nd Prototype Knuckle Drawing |
We've also included a fly-around video for viewers to more clearly see the new features included in this 2nd prototype design:
In order to avoid printing extremely small details (that is, thin nubs and sections smaller than 0.10 in.), the overall diameter was increased to 3/4-in. to increase to overall size of the individual features. Care was taken to minimize these extremely small features, such as substituting the smaller triangular nubs that prevented rotation past a certain point for a much larger press face. The rings through which the pivot axis and pin will insert have also been increased in thickness. Additionally, we should consider printing the entire hand out of plastic, which explains the extended length of the part (around 1 inch in total length)
Material was cut along the length of the finger on the press face (the fileted, polygonal cuts) in order to minimize volume, but further analysis would be required to see if the strength of the finger is not compromised by such large cuts in volume. In any case, the reduction in volume may not even be necessary.
For ease of manufacturing and assembly, we have maintained the ability to take two identical part copies, turn one 180 degrees, and then fit each part into each other in order to share a pin as a central rotational axis. However, instead of machine screws, lock nuts, and washers used in the first prototype, a better idea may be to explore the use of quick-snap plastic binding posts, which can be found in various sizes at McMaster-Carr:
Plastic Binding Posts (Removable)
Reducing the number of pieces of hardware required for assembly wills save both time and money, considering that plastic was chosen, as well as the choice of removable caps in case of mistakes. However, this cost may be offset by the added cost of printing much larger plastic parts using the 3D printer.
The second prototype knuckle design should (hopefully) fix several of the aforementioned issues in the first prototype, but is certain to carry its own unique and unpredictable issues.
Another consideration would be a laser-cut plate that would act as mounting points for the servos, assuming we utilize machine screws to fasten the servos to the plate. Shown below is a quick rendering of the motors used in our project (Parallax Standard Servo for purchasing), the to-be-laser-cut mounting plate, and the assembly, which requires both of the aforementioned parts:
Parallax Standard Servo |
Laser-cut Servo Mount Idea |
Servo Mount Drawing |
Possible Idea for Servo Mount Assembly |
It may also pay to consider mounting the servos sideways (which would then require a mounting plate modified from the one shown above) and attaching some sort of adapter that increases the lever arm of the servo. This could solve the issue of the servos that control the fingers not pulling the strings far enough. Exact measurements of the 4-point servo arm on the Parallax standard servos would be necessary for good attachment points. Shown below is a rough draft (dimensions not to scale) of a possible servo adapter, which would be mounted to the servo arm with small machine screws or perhaps binding posts:
Possible idea for a servo adapter which would lengthen the lever arm of the servo |
In order to mitigate the amount of wiring necessary on the receiver end, it may prove useful to invest in a blank printed circuit board, which we could solder many of the more permanent electrical configurations. This would certainly save time when testing and calibrating the system, at the small cost of a few dollars and some labor. An option that could be paired with a blank PCB could be an Arduino servo shield, such as the one from Adafruit industries that accepts up to 12 servo motors, and plugs right into the pins of the Arduino. In any case, reducing the amount of temporary wiring would be greatly beneficial to the second prototype.
Adafruit 16-Channel 12-bit PWM/Servo Shield
For the RF transmitter end, which is essentially the control glove, several ideas could be implemented. Flex sensors are very fragile; too much flex at the base (where the connection prongs jut out) could damage the flex sensor. This was an issue after soldering the hookup wire, which was very stiff compared to jumper cables, when the flex sensors would bend and twist in awkward positions if the control glove was not oriented in some optimal direction. One alternative would be to substitute flex sensors for either rotary or linear potentiometers:
10K Ohm Rotary Potentiometer for $0.95
Slide Potentiometer for $2.50
Of course, this would require a re-design of the control glove. Originally, the idea to have the user able to wear the entire transmission end (control glove, Arduino, breadboard/PCB, transmitter, and power source) was discarded. However, in combination with aforementioned options to clean up the wiring situation, it could prove better. Several mounts would have to be designed and 3D-printed, but essentially, the user could wear a control glove and some sort of plate (strapped to the wrist like a watch) that would somehow hold the arduino, breadboard/PCB, and power supply. Depending on whether we decide to stay with flex sensors or explore the option of rotary/linear potentiometers, it may change how we determine how much a finger is bent. One such idea could be similar to a portion of an exoskeleton hand, which would involve not sensing how much a finger bends via flex sensors, but having the user pull or bend some larger mechanism that then changes the position of fingers, which may work using springs, several 3D printed parts, or more cables.
Implementing these new ideas would certainly cost more, but the end goal of a robotic hand that copies the exact motions of a human hand would be more closely achieved.