Thursday, April 21, 2016

Progress Report: 4/21/16


The Multi Layer Perceptron is working much better now. We found that randomizing the order in which the EMG points go into the text file that is read actually have a large impact on the accuracy of the code. Our randomizing process was in Excel, where we numbered all of the data in another column 1 through 5. The data was then reorganized by that new number so that the data was shuffled. This process was repeated for several more columns. At the end of this, the data was put back into MLP, and this resulted in a much lower guess error. It went from 80% to 8%. This is a large accomplishment and means that we can successfully classify data and we can also successfully create more data to increase the accuracy of the MLP.

Challenges we have come across were the high error rate of the Multi Layer Perceptron which we had initially. Another issue is that the data that we are using is fake data based off of the limited amount of real data that we have, so the high success rate may be a result of the fact that the data is easier to guess when it is artificially created rather than when it is constructed. When we gather more data, we shall see.

At this point in time, we now have the Multi Layer Perceptron working, so our next steps will be to gather more data and preferably to not rely on point generation. We will try and use multiple EMG Spikershields at the same time in order to gather more accurate, real time, data. Another thing that we would like to do is to streamline the entire process that we have, as at the moment every step is separate and time consuming, and it is all split up between different programs and software. If we could get all of the steps to happen at once, that would be a large improvement over what we currently have.


Saturday, April 9, 2016

Progress Report: 4/9/16

We have made progress in applying the data that we currently have to the multi-layer perceptron. We took time to understand the code for single and multi-layer perceptrons. After this, we put our code into the perceptron to see how well it could guess what finger was moved based off of gathered data. To do this, we had to create a code that took the data that we had and organized it. From there, the code would find the maximum and minimum in the data, and convert it so that it was between -1 and 1 to be used for the multi-layer perceptron. We put the data into the trainer and tested it. We also tried to interpolate data, making up similar data points to give our perceptron greater reliability.

Some problems we encountered were that the multi-layer perceptron is not very accurate with the data that we have. There are several factors that could have hurt its accuracy, but the likely one is that the data that we have is simply not enough to adequately train the code. Another problem we faced was the interpolation of the data, which seemed to be all over the place, perhaps indicating that the data we have gathered is not precise enough. We have also had trouble getting into Matlab, since the trial expired, making it hard to gather more data.

From here, we intend to figure out why we cannot access Matlab and continue to gather more data to be used. We also want to figure out why the interpolation is so random, and if that is due to a problem with our data.

Tuesday, April 5, 2016

Progress Report: 4/5/16

This past week was presentation and working on our abstract so we did not advance much with our project. We have been trying to get MatLab to work again as it is not working now. This week's goal is to record another muscle to help further the differentiation.

Our abstract: 
The purpose of our project, Hand-to-Hand Communication, is to use EMG signals within our arms to mimic movements on another individual/robotic arm. Today, we will demonstrate how we take raw data and process it. We find the highest values, the peaks for each muscle movement, using a code, and then graph those values. This process is repeated with other muscles, in the attempt of finding a pattern.