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


Week 5: Method of Sensing

        Originally we planned on using a flex sensor to detect when a patient wants to move his/her hand.  There was concern that the sensor may bend too much when picking up small objects; they can usually only bend 90 degrees at one point before damage [12].  We have since decided a force sensing resistor (FSR) would be more effective. 

Figure 3. The construction of an FSR.
[13]
This is a diagram of an FSR.  When pressure is applied, the active area comes in contact with the conductive film, thus lowering resistance.  The more area in contact, the lower the resistance[13].  Two FSR's will be placed on the last joint on the index finger: one on top and one underneath.  When trying to open the hand, the top FSR will be pressed by fishing line attachment, and when closing, the bottom FSR will be pressed by the attachment.  This will indicate that the person needs help to further move the hand.
        We are expecting some possible issues that may or may not force us to use a different sensor.  The curvature of the finger could lower the range and accuracy of the FSR's [13].  To try and avoid this, small FSR's will be used to avoid bending of the sensor.  Even without bending, there is limited accuracy associated with this type of sensor.  This may lose the customizability we hope to achieve with our device.