Thursday, March 10, 2016

Progress Report: 3/10/16

For the past few weeks, We have been collecting data for the different muscles that we need to analyze. So far, we have recorded the data for all five fingers for Extensor Digiti Minimi and Extensor Pollicis Brevis.

These past few weeks we have been also working on finding a way to separate the points

This is the graph we gathered. The x coordinate was Extensor Digiti Minimi and the y coordinate was Extensor Pollicis Brevis.


From the graph, we can see that there is a clear difference between the thumb and the other fingers. This is what we predicted because the thumb's movement is caused by an entirely different muscle while the other fingers are all intertwined and are moved by common muscles. Now that we have this, we are going to work on differentiating the other fingers so we have to now start dealing with 3D and 4D.

https://drive.google.com/a/erhsnyc.net/file/d/0Bx2jM7Lyt10oelZETVpDTFF2Rm8/view?usp=sharing

Thursday, February 11, 2016

EMG Muscle Control Devices

Here is the video about a muscle control device I mentioned in class. It is very similar to your project. You may be able to find more valuable info through this thread. Good luck!

Tuesday, February 9, 2016

Progress Report: 2/7/16

Since the last progress update we have made a lot of progress. Firstly, we researched the extrinsic muscles of the hand that are responsible for finger movement. We created a table that covered all of the necessary information, which would allow for more precise placement of electrodes and thus better data gathering. We have gotten Matlab to work, using code that we found online. The code forms a graph from the data that comes in through Arduino, and we saved the numerical values. We have been recording data from the extensor digiti minimi because it is the only muscle that we could find that was both superficial and responsible for only one muscle movement. We recorded each finger's extension from that muscle with the hopes of finding a pattern or seeing how much interference is involved. After recording the data in each finger, we found the maximum points from each finger extension, and then found the average value of that maximum EMG reading, which we did in Excel.

Some problems we encountered were what to save the Matlab workspace as, since we saved it as a .mat rather than a .m. Another problem we have encountered is that a lot of the muscles that are clearly defined as affecting only one finger are deep muscles, meaning it will be harder to record data. Another problem is that certain fingers don't have a unique muscle that we can measure. We also are limited by the fact that we have only one recorder for EMG signals, since we only can record one channel at a time.

Our goals are to figure out which finger we are going to record next, and also to do some coding in Matlab to try and cut down on the amount of time that it takes to get the maximums from Matlab automatically.

Monday, December 28, 2015

From Arduino to MATLAB


EMG signals acquired by the SpikerShield and Arduino Uno can be send to the Macbook Air through serial port (USB). The current problem is how can we read and even display the data from MATLAB. After trying a few possible solutions from the internet. There are two working solutions you can base on for your next-step development:
  1. Serial Monitor (Debugger): It can be downloaded from http://www.mathworks.com/matlabcentral/fileexchange/45839-serial-monitor--debugger-. It is an app that you can install, and then run it by clicking the APPS tab -> MY APPS -> Serial_Monitor. It will show the serial data in a pop-up window. You can save the data to the "SerialData" variable for further processing.
  2. Real Time Serial Data Logger: It's a piece of code that you can run in the MATLAB. It can be copied from https://billwaa.wordpress.com/2013/07/10/matlab-real-time-serial-data-logger/. You can just copy and paste it into the MATLAB, and a pop-up Serial Data Log window will appear to show the plotted serial data.
The followings are the screen shots and videos of these two solutions in action.

Serial Monitor (Debugger)
 

Serial Data Logger
 

 

Finger Gestures vs. EMG Electrode Placement

Congrates to be able to gather raw EMG data from the SpikerShield! While you are picking up MATLAB, we also need to figure out the EMG electrode placement as soon as possible such that we can start acquiring meaningful data. There are three documents in our the Project Resource page, which potentially provide us the info we need.
  1. Finger Motion Decoding Using EMG Signals Corresponding Various Arm Postures (2010), Kyung‐Jin You, Ki‐Won Rhee and Hyun‐Chool Shi
  2.  Relating Forearm Muscle Electrical Activity To Finger Forces (2014), Jennifer Keating. [page 22-23, 62-84]
  3. Forearm Muscle Labels.
The simple questions we want to start with are: "In order to detect the movement (bending and stretching the finger) of individual finger,
  1. what are the most important muscle(s) related to the movement (bending and stretching) of individual fingers?
  2. How many electrodes (or electrode pairs) do we need? And,
  3. where should we place those electrodes (or electrode pairs)?"
Can your team look into them, extract useful info, and summarize the results into two tables (bending and stretching)? The tables should at least consist of the following columns: Finger, Muscles (names & symbols), Category (deep or superficial), Type (extension or flexion), Location (anterior or posterior), Electrode Placement (labels matching the diagrams), and Comments.
The exact electrode placement (position and orientation) should be labeled and indicated in the following tow diagrams (anterior view & posterior view) and matching the electrode placement in the tables.
Forearm muscles of anterior compartment: superficial, middle, and deep

Forearm muscles of posterior compartment: superficial, middle, and deep
You can contact me through email/blog whenever you have any question. Don't forget to post your results onto your blog and we will discuss our next step (data acquisition) based on the results after the break.

Tuesday, December 22, 2015

Progress Report: 11/30/15

We were having a lot of trouble getting MATLAB to work on the school computer, but we managed to download it onto one of our computers. In addition, we have figured out how to gather data on Arduino. We then plotted it using the spreadsheet application on Google Drive. The picture below is just a proof of concept to show that we can gather data. The values are a sign of strength of muscle movement, and each data point is collected every 100ms. The graph is for a very long time, being about 16 and a half seconds.

Some problems we faced this week were getting Matlab to connect to Arduino on the computer to which we downloaded Matlab. For some reason it didn't work. Another problem we encountered was understanding Matlab, as looks like we will have to gain an understanding of coding and algorithms.

The plan for us is to do isolated tests of each finger for a much shorter period of time. We will repeat a specific motion, targeting a specific muscle, and through this, hopefully we will be able to identify patterns through this approach. We also hope to gain a better understanding of how to use Matlab through tutorials. We will also try to learn some coding in Arduino, although it looks like this will not be as necessary as previously thought. We have made some progress this week, we feel, and are excited to continue.

Sunday, December 6, 2015

STEM Patent Research: 11/30/15


An excellent list of patents, and nice summary and analysis. Based on your description in "PLACES WE CAN INNOVATE", you might want to look further into a field called Functional electrical stimulation (FES) or NeuroMuscular Electrical Stimulation (NMES).