To- Do- List:
Continue reading Anna's thesis paper.
Important Notes from the paper for me to remember:
1. Chapter 2, section 2.5, page 12.
For the machine learning techniques, we take a feature based approach. Features are extracted from time series sensor curves[4]. Reading synchronous data from the fur sensor and the fabric pressure sensor, Anna extracted several standard sequence statistics which resulted into a memory for the creature.
The sequence features were then fed into Weka, which allowed them to compare performance of many different algorithms on their data.
2. Chapter 4, section 4.3, page 38
Gesture Evaluation and Analysis:
The key defined gestures are:
a. stroke: moving hand gently over the prototype body, often repeatedly
b. scratch: rubbing the prototype with fingernails
c. tickle: touching the prototype fur with light finger movements
d. squeeze: firmly pressing the prototype body between the fingers or both hands.
e. pat: gently and quickly touching the body with the flat of the hand.
f. rub: moving the hand repeatedly to and fro with firm pressure
g. pull: gently and randomly pulling at hairs in the fur
h. contact without movement: any undefined touch without motion
i. no touch: prototype left untouched
3. Chapter 4, section 4.3.1, page 38:
The process of collecting data results in 4 time series curves for each example collected. Anna chose a 2 second window of observation (this was the optimal window size)
A better approach is to randomize the gesture types when collecting data!
4. Chapter 4, section 4.3.2, page 40:
Features used for classification: maximum, minimum, mean, median, area under the curve, variance, total variation. (7 items) and these features were calculated for each of the 4 time-series resulting in a total of 28 features.
The machine learning classifiers used were:
a. Logistic regression
b. Bayesian networks
c. Neural networks
d. Random Forests
used 100 fold cross validation. The data was randomly split into 100 equally-sized subsets as test data.
Wednesday, 27 February 2013
Feb 25-26
To-Do-List:
1. Upload the correct breathing program to the correct arduino and make sure the breathing rate is stabilized.
2. Read on Anna's 73 page thesis paper.
Details:
1. I uploaded the correct breathing program to the correct arudino. The breathing rate is now stable and its the slow version.
1. Upload the correct breathing program to the correct arduino and make sure the breathing rate is stabilized.
2. Read on Anna's 73 page thesis paper.
Details:
1. I uploaded the correct breathing program to the correct arudino. The breathing rate is now stable and its the slow version.
Wednesday, 20 February 2013
Feb 20-22 2013
To Do List:
1. Plot the 3 elements of the accelerometer for the following cases:
a. Sitting still on the table (as a base measurement)
b. Sitting still on the lap.
c. Holding in hands.
d. Rotating on sides
e. Rotating back and forth
f. Rotating diagonally
g. Moving slightly up and down
2. For each of the cases above, calculate the size of the accelerometer vector ( should be g)
3. Explain the results of each case.
Observations:
I will be talking about each case separately. All three components of the vector are drawn. The first component is drawn in blue, the second component is drawn in red and the third component is drawn in green.
1. Sitting still on the table.
The size of the acceleration vector in average is around 268 (the expected value Kerem has indicated, is 256)
2. Sitting still on the lap:
Acceleration vector size( in average) : 266.
3. Holding in hands:
Acceleration vector size( in average): 268
Explanation: There are slight vibrations mostly in the first and third element of the accelerometer vector which could be caused due to vibrations of the hand. On the whole, it still seems pretty stable.
4. Rotating on Sides:
Acceleration vector size( in average): [266, 279]
Explanation:
Based on the first plot (the table one), the stable value for the blue curve is slightly below -50 and based on this plot, it clearly captures the smooth curves that is caused by the rotation.
Interesting observation is that the peaks of the red curves map exactly to the minimums of the blue curve and the minimums of the red curve map to the peaks of the blue curve.
5. Rotating back and forth:
Explanation: It now seems like the green curve is measuring the the acceleration along the x axis of the sensor (the short side) and the blue curve is measuring the acceleration along the y axis of the sensor (the long side).
When the creature is sitting still on the table, the blue curve and the green curve are both near eachother and both semi-stable. Whereas comparing the plots for "side rotation" and "back and forth rotation" it seems this conclusion might be an accountable one.
6. Rotating diagonally:
7. Moving slightly up and down:
Explanation: According to this plot, I think the accelerator is measuring the acceleration of one end point on the sensor compared to the other end point on the same axis. So when moved up and down, they are not much accelerated. I would say the vibrations are probably caused by the movement and vibrations of my hand when moving the creature up and down.
1. Plot the 3 elements of the accelerometer for the following cases:
a. Sitting still on the table (as a base measurement)
b. Sitting still on the lap.
c. Holding in hands.
d. Rotating on sides
e. Rotating back and forth
f. Rotating diagonally
g. Moving slightly up and down
2. For each of the cases above, calculate the size of the accelerometer vector ( should be g)
3. Explain the results of each case.
Observations:
I will be talking about each case separately. All three components of the vector are drawn. The first component is drawn in blue, the second component is drawn in red and the third component is drawn in green.
1. Sitting still on the table.
The size of the acceleration vector in average is around 268 (the expected value Kerem has indicated, is 256)
2. Sitting still on the lap:
Acceleration vector size( in average) : 266.
3. Holding in hands:
Acceleration vector size( in average): 268
Explanation: There are slight vibrations mostly in the first and third element of the accelerometer vector which could be caused due to vibrations of the hand. On the whole, it still seems pretty stable.
4. Rotating on Sides:
Acceleration vector size( in average): [266, 279]
Explanation:
Based on the first plot (the table one), the stable value for the blue curve is slightly below -50 and based on this plot, it clearly captures the smooth curves that is caused by the rotation.
Interesting observation is that the peaks of the red curves map exactly to the minimums of the blue curve and the minimums of the red curve map to the peaks of the blue curve.
5. Rotating back and forth:
Explanation: It now seems like the green curve is measuring the the acceleration along the x axis of the sensor (the short side) and the blue curve is measuring the acceleration along the y axis of the sensor (the long side).
When the creature is sitting still on the table, the blue curve and the green curve are both near eachother and both semi-stable. Whereas comparing the plots for "side rotation" and "back and forth rotation" it seems this conclusion might be an accountable one.
6. Rotating diagonally:
7. Moving slightly up and down:
Explanation: According to this plot, I think the accelerator is measuring the acceleration of one end point on the sensor compared to the other end point on the same axis. So when moved up and down, they are not much accelerated. I would say the vibrations are probably caused by the movement and vibrations of my hand when moving the creature up and down.
Tuesday, 19 February 2013
Feb 19 2013
To Do Tasks:
1. What causes the bottom left corner of the sensor map to be black?
2. Why does the program sometimes suddenly stop midway through reading the data when the GND wire is connected to the power section of the arduino?
2. Why does the program sometimes suddenly stop midway through reading the data when the GND wire is connected to the power section of the arduino?
Observations:
1. The black corner:
This is caused by the weight of the group of wires that pass from that area. To eliminate this, a solution might be to pierce the body and have the wires pass from under the sensor.
The accelerometer and pressure sensor tapes are still there and nothing is hanging loose.
The accelerometer and pressure sensor tapes are still there and nothing is hanging loose.
Monday, 18 February 2013
Feb 18 2013
To-do List:
1. Correct the checksum calculation and run the program again.
2. Connect the GND wire
3. Check if the accelerometer is working (move the robot, rotate it etc while logging data.
4. Remove the fur carefully and inspect the inside. (make sure the sensors are still taped to the robot).
Detailed Observations:
1. Correcting the checksum:
After correcting the checksum I ran the program twice; once with the GND connected and once without it. In both situations, no more "bad data" was being read.
2. Connecting the GND:
For some reason, as soon as the GND is connected, the normal flow of the program stops. The GUI no longer updates and everything freezes. => check with Kerem again.
3. Checking the accelerometer:
I ran the program 3 times, once just holding the creature, once slightly rotating it from left to right and once slightly rotating it from back to forth. The plots below show the first column read by the accelerometer in these 3 situations respectively:
holding:
1. Correct the checksum calculation and run the program again.
2. Connect the GND wire
3. Check if the accelerometer is working (move the robot, rotate it etc while logging data.
4. Remove the fur carefully and inspect the inside. (make sure the sensors are still taped to the robot).
Detailed Observations:
1. Correcting the checksum:
After correcting the checksum I ran the program twice; once with the GND connected and once without it. In both situations, no more "bad data" was being read.
2. Connecting the GND:
For some reason, as soon as the GND is connected, the normal flow of the program stops. The GUI no longer updates and everything freezes. => check with Kerem again.
3. Checking the accelerometer:
I ran the program 3 times, once just holding the creature, once slightly rotating it from left to right and once slightly rotating it from back to forth. The plots below show the first column read by the accelerometer in these 3 situations respectively:
holding:
rotating on sides:
rotating back and forth:
4. Removing the fur:
I carefully removed the fur and ran the demo program. All the gray shades were caused by the weight of the fur on the sensor so after removing the fur, I saw a very clean, white map. The black area on the bottom left corner was still there. My next task is to see why that is caused.
Subscribe to:
Posts (Atom)









