For this week, I looked into ways of post-processing the data acquired using the accelerometer/gyroscope breakout board. At first, I wanted to figure out if acceleration data is sufficient enough to detect motion. After research and group discussion, we decided to change acceleration into velocity data. The reason for choosing instantaneous velocity over acceleration is that it provides the metric that we need to map knobs/faders in synthesizers. Instantaneous velocity at a point in time will let us know to either increase or decrease an arbitrary parameter in synthesizers. In order to implement this, there are two ways. One is integrating the acceleration data over a certain set time interval. Another is to use the physics equation: V = Vo + a * t. Currently, I am testing the second method as this will provide a more stable result in approximating the velocity value. We have to take into account that there will always be drift or acceleration regardless of applying methods of reducing them. So, taking the integration of imperfect data will accumulate to result in more error as integration is approximating the area under the acceleration curve. I am still in the process of understanding if the instantaneous velocity calculated using the equation above is resulting in what we expect. The major problem with this matter is that the values change depending on the time interval that the Arduino loops. I am collecting acceleration data every 100ms and that means the t factor in the equation is 0.1. Considering that the maximum/minimum value of normalized acceleration data is approximately 10 or -10, the instantaneous velocity becomes 1 or -1. I am not quite sure if this smaller range of values will be helpful for noticing changes in motion. I hope to finalize this method of post-processing tomorrow. The image at the end of this post is an example of the normalized acceleration data in the X direction.
In terms of the pressure sensors, I was able to acquire raw data. Using 10K resistor as a measuring resistor, I set 2.5V to be the threshold voltage for assuming that the user touched something or not. Currently, the sensor outputs a binary number depending on if the output voltage is above or below 2.5V. We can now start the testing procedure that I stated in the design review report. We will be testing four different pressure levels: the pressure of touching a baby (less than 200fg), grabbing a mobile phone (200-500fg), gripping a baseball (500-800fg), and strongly grabbing on to a weight (800-1000fg). Based on the subjective results acquired by each team member, we plan to take an average of the sensitivity measure acquired from five trials. Then, we will find the difference between the average and the center value of each force gram range. If the average of differences is less than 200fg, we will choose the according sensor for the board. This method of recording each member’s fingertip force and comparing with expected metrics will allow us to find the suitable force sensor.
Next week, I will be starting the testing procedure for the pressure sensors. Along with that, I hope to send velocity and touch sensor data over to Due. This will require more communication with Harry to send my serial data over to another Arduino. Morevoer, I plan to visit TechSpark to discuss about making a clear plastic casing of the Arduino Micro. This casing will be placed on top of the back of the glove to hold the Micro in place. Afterwards, we hope to make our first prototype of the glove. This process will require me to talk extensively with Tomas. Since we also need to place the arUco markers on the glove, there will be some discussion about where to place these markers and the Micro on the glove.