Tuesday, June 5, 2012

Final Prototype (Break)through

With the 10 week prototyping period drawing to a close, the Orthoglove is finally looking like what we had dreamed about back in week 1. We had many breakthroughs and successes but also one heartbreak with this project.

The good news first:

This past week, we managed to learn enough Arduino programming to write a successful code that incorporated two FSRs (Figure 11):

Figure 11: Twin FSR control with each turning the servo in a different direction.

Shortly after, we wrote an algorithm to control the glove's grasping motion. Simply put, the algorithm begins to close the hand once a knuckle-mounted FSR is activated. The hand will continue to close until the thumb FSR is activated (i.e. when the object being grasped comes into contact with the patient's hand). Then, the hand will open once the thumb FSR's pressure drops under a certain threshold (i.e. patient attempting to release object). This algorithm is illustrated below (Figure 12): 
Figure 12: The hand control algorithm.


Once that major hurdle was passed, we constructed the final mechanical prototype of the glove. This version used a much neater system of fishing line and leather straps to guide all the lines on the hand. A custom servo mount was also built and the glove was ready to go (Figure 13):

Figure 13: Labeled photo of the final Orthoglove prototype.


Then, we decided to give it a shot and strap on the glove. To our delight, the glove closed properly as our test subject began closing her hand. Once the glove closed fully, the servo stopped as the thumb came into contact with the index finger. With a slight release in pressure of the thumb, the Orthoglove's servo buzzed, opening the hand completely. For the next few minutes, we tested the glove by picking up various objects. Although the control was slightly awkward and stiff, the glove nonetheless accomplished our goal.

Now for the bad news:

As we were enjoying the Orthoglove, we failed to notice that the knuckle FSR was badly attached to the glove. Every time the glove extended our fingers, the FSR's tails were flexed. In the middle of picking up a water bottle, the glove suddenly stopped. Upon closer inspection, it was discovered that the knuckle FSR's electrical trace had torn in half. 
Unfortunately, we were unable to procure another FSR in time for our presentation, but we are very proud of all our accomplishments with this project. In the future, we hope that we can continue this project and run actual trials with stroke patients.





Tuesday, May 29, 2012

Week 9: Prototyping

This week, we finally put together a prototype of the Orthoglove. So far, we attached one FSR to the thumb and connected the four other fingers to the servo. Although this model does not yet have cables linking the fingers on the underside, it has the ability to pull the fingers open (figure 10).

Figure 10: The servo/cable control

An earlier program was used to control the servo. Instead of staying at rest under no FSR pressure, the servo is instructed to return to its zero position. This also required us to use a servo that is not modified for continuous rotation. Since such a conventional servo has less travel, the cables system had to be shortened considerably to allow the fingers to open completely with an under 180 degree servo rotation. The cables used were also switched to thread for this prototype due to difficulty with the fishing line. However, the final prototype of the Orthoglove will likely use fishing line.
During an early test, the Orthoglove appeared to help with hand flexion, successfully assisting in dropping an object after gripping (figure 11). However, it is difficult to tell how well the design works since it was tested on our own hands with no impairment. 

Figure 11: Early testing of the Orthoglove with an FSR on the thumb

Tuesday, May 22, 2012

Week 8: Programming Progress


After last week's experiments with the Arduino, we knew that the device was capable of controlling and powering a servo. The next step was to control the servo by using input from the FSR. A quick search online led us to more tutorials, and we learned how the Arduino's pins and inputs work. To control the servo, we needed to connect its positive wire to the Arduino's 5v pin and the servo's negative wire to the ground pin. For control, The Arduino has an array of pins numbered 1-13 through which the device can send signals. The servo's third wire was then connected to pin 9. 
Connecting the FSR required the use of the breadboard. We powered the breadboard by connecting the 5v and ground pins to the + and - sides of the breadboard (this required us to rearrange the servo connectors to the breadboard rather than directly on the Arduino). The FSR was wired in parallel to the Arduino's A0 (analog input) pin along with a 10K resistor  as illustrated in the diagram below (Figure 7):

Figure 7: The wiring diagram of the FSR to the Arduino (http://www.ladyada.net/learn/sensors/fsr.html)

With both the sensor and the servo wired to the Arduino, we tried various programs. This first one we tested  successfully controlled the servo using the FSR (Figure 8). However, the servo speed could not be controlled by the pressure applied to the FSR.

Figure 8: Early FSR servo control

The next program we tried measured FSR voltage by using the Arduino's map() function. This function reads from the analog input in specified increments from 0 to 1023. We hypothesized that this would allow the Arduino to send varying amounts of voltage to the servo. When tested, this program was partially successful (figure 9).

Figure 9: Proportional servo control

As seen in the video, the servo speed can be varied based on pressure applied to the sensor. However, we could not stop the servo from spinning when no pressure was applied. This could have been caused by our servo modification. Since the potentiometer inside the servo is detached to allow continuous rotation, the Arduino is unable to determine the exact position of the servo. This could cause the program to attempt to return the servo to its zero position indefinitely, 
For next week, we hope to have the twin FSR system ready and mounted to the glove for testing.

Saturday, May 19, 2012

Week 7: Programming Environments for the Arduino

This week, we spent some time familiarizing ourselves with the Arduino UNO. For starters, the microprocessor's open-source software is quite different from languages we've previously used (our hard-earned MATLAB skills proved to be of little help...). We decided to start off learning the syntax with the classic beginner's programming exercise: the blink.

The Arduino software contains a few example programs for beginners like us. We opened up the blink program and after some installation troubles, the UNO's pin 13 LED began blinking as expected. For a little challenge, we also managed to make the Arduino blink Morse code (Figure 5):

Figure 5: The Arduino sending out an S.O.S.

With some early success, we then tried to tackle servo control, our week's goal. However, this involved using the breadboard and writing some more complicated code. For days, we would upload our code only to have nothing happen, not knowing whether our code or wiring was at fault. After scouring the web for more tutorials (the Arduino has a large community of users), we finally got our computer to perform a servo sweep (Figure 6):

Figure 6. Early servo control

Next week, we should be building a new (and less tangled) prototype of the glove as well as writing code to control the servo using the FSR.

Wednesday, May 9, 2012

Week 6: Parts and Prototypes

This week, the Arduino Uno and FSRs arrived in the mail. Having had no prior experience with either, we were quite surprised by the small size of all the parts (Figure 4):

Figure 4. The Arduino Uno, FSRs, and some eye-catching packaging. 


The Amazon package also included wires and a breadboard. These parts will be mounted on the glove to control the servo. During testing last week, it was also determined that the servo's rotation was not sufficient to fully open and close the hand; a motor with infinite rotation was needed.  The servo was then modified so
that it could still be used. The servo rotation is demonstrated below:


Next, the prototype of the hand was started with just the index finger mechanism. The artificial tendon system was made using fishing line, rubber bands, paper clips, coffee straws, and other various household materials. Currently, the mechanism has not been finalized (rough video below). Once the mechanism has been finalized, the other fingers will be fitted.



Wednesday, May 2, 2012

How Tendons Act


Since the Orthglove uses a system of fishing line to pull the fingers, the mechanism at work is similar to an artificial tendon. Tendons act like cables to pull the fingers:




"The tendon chafes at the entrance to the pulley where the tendon takes it's first bend - that's where the tendon catches and makes the finger catch or trigger"-http://www.eatonhand.com/hw/hw022.htm