Final Deliverables

Hey all,

Here’s the last post for a while. We scrambled together the system just in time for Olin Expo, though admittedly ran into some technical difficulties in the final product (turns out continuous rotation servos don’t substitute easily for your typical position control servos). Regardless, the circuit and the mechanism both work, and both have plenty of room for improvement.

Final_EMG_Schematic

POSS_FinalPaper

GrabCAD Repository

Above are the links to the major deliverables. The final paper details the entire system, including the most recent update to the mechanical system. The GrabCAD repository has the Solidworks models (if you want to edit or build on the design), the .STL’s (if you want to print your own), and the .x3g’s (if you happen to have some Makerbots). if you expand the “read more” tab at the bottom of this post, you’ll also find the text for the Makerware profile I used to print Ninjaflex and ABS simultaneously on the Makerbox 2X. Just paste that into a custom profile and you should be all set to print! (warning: Ninjaflex is very finicky. It will take a few tries and some patience to tune it to your printer)

Thank you all for following along on this project. It has been a great journey with lots of twists and turn. In the spirit of open source, we highly encourage you to modify and build upon this design.

Sincerely,

-The Prosthetic OSS Team

Continue reading

Advertisements

The Forearm V1

In order to get the hand to work as a gripper, we need to have some way of combining the currently isolated fingers into a claw of sorts that hooks up to servos on the other end. In our case, we’re hoping to drive the hand off of one continuous rotation servo to decrease weight and complexity. However, we still want a gripper that will adapt to most object shapes, so we had a bit of an under-actuation problem: how do we let each finger close around an object independently using one motor? Thankfully, Google Scholar found this paper [1], which describes a mechanism designed for exactly this problem. Another goal for the mechanical design of the forearm aligns with that of the finger: no hardware (except fishing line as a “tendon”). The purpose of this goal is to force simplicity into the assembly process. Complex design is okay (if it works) because 3D printers can print crazy splines as easily as they can rectangles. With a mechanism and some design goals, the sketches started to take shape.

Forearm-Sketches

Okay, my sketches have never been accused of being too easy to follow.

Eventually, the Solidworks CAD of the forearm was complete. The sliding interface used in V7.6 (with the pink servo interface) was used to slide the fingers into one “palm” (in red below). The two halves of the “forearm” (in yellow below) are held together by a sliding door bolt-esque feature. Finally, the forearm clips into the palm somewhat like a bike helmet clip.

Screenshot1

Miraculously, these mechanisms worked when printed. However, the assembly process doesn’t take into account the fishing wire very well, so bits of it should be re-designed for easier threading.

IMAG00107 1

The inside of the forearm mechanism, featuring the sliding pulleys from the paper mentioned above

IMAG00109 (2)

The forearm “plugged in” to the palm

More importantly, the system almost worked. With two fingers attached (the other two knuckles simply tied in place), the single fishing line coming out the back of the forearm pulled the fingers closed, but it took a lot of force. In fact, it took a carabiner attached to my door and the full strength of one arm to pull it closed while I took this picture:

IMAG00111 (2)

This will definitely be too much force for the servo, so I will need to go back and reduce friction in the fingers. As a note, I am pretty certain that the problem is friction, not the springiness of the torsion bushings; it is very easy to hold the fingers in place with the fishing line if they are closed by other means, but it is difficult to pull them into that position with the fishing line. In light of the many bits that need improving, I have made a little cheat-sheet of the improvements needed to (hopefully) fix the problems at hand.

ImpSheet1

Well, time to get back into the CAD. We have a week to integrate this claw with the electronics and make everything work together. Wish us luck, and thanks for tuning in.

-Myles

[1] Gosselin, C.; Pelletier, F.; Laliberte, T., “An anthropomorphic underactuated robotic hand with 15 dofs and a single actuator,” Robotics and Automation, 2008. ICRA 2008. IEEE International Conference on , vol., no., pp.749,754, 19-23 May 2008
doi: 10.1109/ROBOT.2008.4543295
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4543295&isnumber=4543169

Fingers 7.7-7.9

Hey all,

The next two mechanical updates will come in relatively quick succession because a lot has happened in the past two weeks and I haven’t made the time to write about them until now. This installment will just talk about the tweaks in the finger design and what needs to be done to finish it up.

V7.6 printed fairly poorly and didn’t have great grip. The V7.7 and on has a flexible polyurethane “skin” built out simple arches. These arches seem to work well for a few reasons:

  • As elliptical arches, they print pretty well (very little overhang).
  • As elliptical arches, they are also pretty weak when pushed from the side. This comes in handy as the finger curls and has to push some of the “skin” out of the way to fully flex. This compliant aspect of the arches will hopefully enable the hand to pick up small or irregular shapes
  • The overlapping arches make a bumpy palmar surface, which aught to get better grip on odd shapes. Along with the natural tendency for polyurethane to have a high coefficient of friction with other materials (there must be a word for that), the fingers should be able to grip a wide range of objects without as much force as other, rigid-body fingers.

Another “advancement” in more recent iterations has to do with the build setup: as suggested by Alex Crease and Shane Kelly, some of the 3D printing experts at Olin, I added blue tape to the heated build plate of the Replicator 2X. This really helps build adhesion, but not quite enough to consistently prevent warping. As such, I also added a raft in the printer settings, and that holds down the fingers pretty well.

IMAG00091

The raft-cutting process gets a bit messy

Unfortunately, this raft also necessitates the new step of cutting off said raft. ABS rafts stick particularly well to their models, so I’ve had to go down the dorsal side of each finger and cut off the raft with a knife. When you get the hang of it, it goes pretty quickly, but it would be ideal if future printers could fix ABS’s peeling problem without a raft.

The next and most recent improvement was the addition of the 90 degree metacarpophalangeal (knuckle) joint. This long-overdue addition finally allowed the fingers to face the Instron tensile test in our materials science lab. This tensile test was done to establish how much force the polyurethane bushings could hold before shearing. The results were quite surprising:

7-8Tensile1

Because the finger has three different bushings, this is by no means a material test. This graphs describes the behavior of whole finger as one functional sample. Around 100 Newtons (~22.5 pounds), the finger transitions from elastic to plastic deformation as the the joints are noticeably being displaced. At Just over 155 N (~35 lbs), the knuckle bushing actually slipped from its socket and eventually broke (after ~67mm of total extension). The striking thing to notice, though, is how far the finger pulls apart before deforming permanently. Polyurethane is truly an amazing material, if you ask me. In any case, this is plenty of strength for us, especially when we add four fingers together and have fishing wire actively keeping the joint from pulling apart. With that, our finger design was complete…well, it should have been.

Notice how far the bushings stretch before one slips.

Notice how far the bushings stretch!

When the first prototype of the claw (covered in the next blog entry) was finally assembled and the fingers plugged in, everything worked well so long as you were willing to pull as hard as possible to get the fingers to flex. Point being, the fingers have way too much friction because of their fully enclosed (and partially polyurethane) guide channels.

The next iteration of the finger plans to sport significantly less restrictive pulleys to reduce friction, which will hopefully be the last improvement before the fingers work like a charm.

Thanks for tuning in, and come back soon to see the first iteration of the claw!

-Myles

Finger Iteration 7.6 (+ Testing Rig)

Hey all, time for more 3D printing experimentation with Myles,

As we wind toward crunch-time, we’re also finalizing the mechanical design of the finger. There have been so many tweaks that I haven’t bothered making a post for each one. Instead, I feel it will be easier to digest a summary of the progress up to now.

Looking Back: V5.5

IMG_7628

This iteration was a huge success in how it printed and how it flexed. The polyurethane bushing, using a modified star cross-section, was very easy to bend. However, this also represented my first attempt to cover the finger in a polyurethane skin, and I realized just how hard 85A polyurethane is. In that respect, the finger didn’t do very well, so I immediately moved on to ways of making the already flexible filament even more soft.

Experimental Axes: V7

IMG_7634

After trying a couple of different shapes that were all too stiff, I came to the almost-successful V7. This much larger finger had polyurethane around both side and the top, making it pretty soft all around. It had complex contours to mimic a real finger belly shape. It even featured a custom hex infill pattern to drastically lower the density. However, it also came with a whole host of problems:

  • Because of the complex shape, it had to be printed on its side. This meant that the torsion bushings had to be printed erect, rather than sideways. Unfortunately, printing upright cylinders is a big faux-pas in 3D printing because the grain of the cylinder in this orientation causes dozens of tiny stress concentrations that totally wreck the cylinder’s shear strength. The graphic below from think3dprint3d.com shows what I refer to.
    Why cylinders should not be 3D printed upright.

    Why cylinders should not be 3D printed upright.

    And of course, the bushings immediately sheared when I tried to bend the finger.

  • Because the skin now covered the joints, I could not string the fishing wire through the palmar side of the finger (d’oh!).
  • I intentionally put dips into the polyurethane skin so that it would crease and fold like a real finger. This came back to bite me because the skin folded so well that it jammed into the joint itself, preventing it from fully closing.
  • Despite the fancy hex infill polyurethane still provided too much resistance. It needed to be softer.

The Newcomer: V7.6

IMG_7645IMG_7648

The latest iteration, while it looks very different from V7, is actually from the same ABS body. I simply stripped most of the polyurethane away and replaced it with a much smaller, more sparse padding over each joint. This finally made the polyurethane soft enough to be viable as a finger, even though I wish I could have covered up the joints (as a stylistic choice). Sporting simple hexagonal rods as torsion bushings, this finger is almost ready to be called the final prototype. Though I could over-work the finger happily for another whole semester, I only have time to make these final changes:

  • The print, as you can tell, is very messy. I will try one more time to support the giant overhangs in the padding so that they print a little cleaner.
  • The PIP joint (closer to the palm) still can slip beyond straight and actually bend backward. I will simply have to add a more robust stopper in the design.
  • I got rid of the dorsal string (to pull the finger back to straight) and hoped that the rebound inherent in the torsion bushing would be enough to open the hand. It almost is, but for safety I think I’ll add a channel for the dorsal string again.
  • I got used to how well Ninjaflex filament sticks to a build plate at 50C with blue painter’s tape. When only ABS is touching the build plate, I’ll need a raft to keep it from peeling.

Integration

IMG_7641

With the finger at a close-enough-to-done prototype and the electrical side up and running, it’s time in the project to interface the finger with a servo. While the final interface/housing will undoubtedly look different, I whipped up a minimalist setup to give the electrical team something to experiment with and to guide my final design. It consists of two simple parts:

The Slot

IMG_7674The slot (bottom-right of picture) gives the finger a simple “plug-and-play” style so that I can make the finger a distinct unit for printing and the housing only has to have the appropriate tab shapes at the end to be compatible.

The Pulley

IMG_7658

The pulley is a simple piece that turns the six-legged servo horn included with the servo into a pulley for the fishing line. It sports three insertion points for the string so that it can be anchored to the pulley. The reason for using a pulley instead of simply tying the string to a servo horn is to ensure proportional angle-distance control throughout the rotation. It may not be the most robust, but for simplicity it is currently just hot glued to the servo horn.


And with that, this mechanical update is concluded. Updated Ninjaflex post coming soon, and a lot more development will be coming very fast in the future.

IMG_7651

Thanks for tuning in!

-Myles

First Glance at Integration

This video shows our working EMG after one small edit from last time (updated circuit diagram shown below). We haven’t changed much between this post and our last one but we have these fun results so we thought we’d post the video. The finger used in the video is actually from several iterations ago. So, all in all, not much new content for this post but please enjoy the cool video and get excited for continued integration!

The resistor values in the low pass filter have been adjusted to lower the cut-off frequency. This sharpens the output and removes a lot of noise.

The resistor values in the low pass filter have been adjusted to lower the cut-off frequency. This sharpens the output and removes a lot of noise.

EMG Success!

After months of meticulous debugging, we are happy to announce that we now have a functioning EMG! Please hold your applause. Blood, sweat, and tears have gone into building this circuit so we are very glad to finally see the fruits of our labor and hope that you will all be impressed with our work.

How did we get it working? First, we finally got the right chips. This took a while, especially because we accidently got surface solder chips the first time. Next, we realized that we had not correctly built the circuit as shown on the circuit diagram. Finally, after reconstructing the circuit, we realized that we had made a mistake in the circuit diagram itself.

So the circuit is still the same with the small difference that we built it right this time. Below is an updated circuit diagram but our prior post is still an accurate explanation of the circuit.

EMG Schematic

And now, what you’ve all been waiting for (or at least what we’ve been waiting for): the data! For the data shown below, we were looking at the difference between two different muscles in the forearm. We had lots of fun playing and have picked a picture that best shows the kind of results we were seeing. There are two lines: the relatively flat (yet extremely noisy up close) blue line which shows the raw input from one of the two muscles, and the much more interesting green line which shows the output of our circuit. The data seemed to respond best to a flexing of the wrist. The plot shows four distinct changes over a period of twenty seconds. This consisted of the test subject flexing and bending her wrist forward, momentarily relaxing, flexing backwards, momentarily relaxing and then repeating the process.

forearmforwardbackforwardbackGRAPH

The most interesting conclusion that we formed is that there are many ways to make the signal not just be binary. The simplest is shown in the graph, where the amplitude of the changes is dependent on which muscle is being used. However, this depends on very exact placement of the electrodes and in further tests these exact results were hard to replicate; sometimes flexing the wrist forward created the bigger amplitude. A better method is to control the rate at which the muscle is contracted. During testing, there was an obvious difference between a quick pulse of the muscle and a slow flexing. We don’t currently have any pretty graphs showing this but trust us for now and we will show you the data as soon as possible.

We are so excited to have a functional EMG circuit! Next, we are considering adding more filters, possibly of higher order, to further smooth the signal but are also wondering if we should go directly to the option of digital signal processing. Please let us know if you have any suggestions!

-Meghan

The Myo Armband: Playing with Muscle Sensing

myo-800x453

Partway through the struggle that is building a functional electromyograph (EMG), we chanced into winning a Myo device (yay for hackathons!). Why is this relevant? Because a Myo is controlled by multiple EMG sensors. Also, it is really cool. I’ll do a quick blurb about the myo but if you want to learn more you should check out their website (https://www.thalmic.com/en/myo/). It is marketed as a “gesture control armband” and is able to control computers and other devices through the measurement of muscle contractions.

 So far we have only really played with it, using it as a fun toy and comparing it to our own (nonfunctioning) EMG. The full extent of our experience with it so far is using it to navigate Netflix so that we could skip to the good parts of The Princess Diaries 2 (which are obviously the room/closet unveiling and the mattress surfing if you weren’t sure).

 To do this we took advantage of the five gestures that the Myo automatically recognizes: wave in and wave out (left and right respectively if you’re wearing the Myo on your right arm), making a fist, spreading out your fingers, and touching your thumb to your pinky. The last gesture is used as an “unlock” gesture, something which was particularly interesting to us because we have discussed the idea of an lock/unlock gesture on prosthetics, allowing the user to take in the sights, make gestures, fold laundry, etc without unintentionally punching someone. When playing with the Myo, we had a bit of trouble with this gesture in particular and actually found it was the hardest for the Myo to recognize consistently. Coincidentally, Myo has come out with a recent update (so recent that we’ve read about it but not yet had a chance to try it) with a different unlock gesture. We are hoping that this new gesture, a double tap between thumb and index finger, will be more reliable.

The Myo is not perfect. (Keep in mind that this is a beta version. They are only available for pre-order right now.) It is still pretty amazing to see in action though. This has both made us feel better about that fact that we are struggling with our EMG while simultaneously giving us hope that the method of measuring muscle contractions is cool, viable and interesting.

[This post was written in December and posted in March. Sorry for Meghan’s silliness. Better late than never?]