Difference between revisions of "Chemical Sensors SP 2011"
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Weeks 1-4: | + | Weeks 1-4 (January 16 - February 12): |
We accomplished the following tasks: | We accomplished the following tasks: | ||
Line 9: | Line 9: | ||
- Create new sensor array with new sensors and collect new unbiased data from the updated array. | - Create new sensor array with new sensors and collect new unbiased data from the updated array. | ||
− | |||
- Email Dr. Raman about our research and a possible collaboration. | - Email Dr. Raman about our research and a possible collaboration. | ||
− | |||
- Debug Matlab data processing algorithm. | - Debug Matlab data processing algorithm. | ||
− | |||
- Ensure that Labview and Matlab data processing algorithms allows updated sensor array to reliably detect the location of the isopropyl alcohol source. | - Ensure that Labview and Matlab data processing algorithms allows updated sensor array to reliably detect the location of the isopropyl alcohol source. | ||
− | |||
- Interface the data processing algorithm and sensor array with a robot, and develop a robot motion algorithm. | - Interface the data processing algorithm and sensor array with a robot, and develop a robot motion algorithm. | ||
+ | - Investigate the effects of using a shorter span of data on the accuracy of the signal processing algorithm. | ||
− | |||
− | Week 5: | + | Week 5 (February 13-19): |
- Created new sensor array. | - Created new sensor array. | ||
− | |||
- Fixed the matlab brute force algorithm | - Fixed the matlab brute force algorithm | ||
− | |||
- Collected data from new sensor array, 5 trials for each distance away from the array for each side. This gave a total of 10 trials per distance, or 500 trials. | - Collected data from new sensor array, 5 trials for each distance away from the array for each side. This gave a total of 10 trials per distance, or 500 trials. | ||
Line 31: | Line 25: | ||
- make presentation for next week (power point) | - make presentation for next week (power point) | ||
− | |||
- 2 at each distance at each side | - 2 at each distance at each side | ||
− | |||
- drawing of sensor configuration | - drawing of sensor configuration | ||
− | Week 6: | + | |
+ | Week 6 (February 20-26): | ||
- Made more corrections to brute force algorithm, and processed trials from week 5. Unfortunately, the results still indicate that the sensor array detects the isopropyl alcohol source on one side of the array, no matter where the alcohol is actually located. | - Made more corrections to brute force algorithm, and processed trials from week 5. Unfortunately, the results still indicate that the sensor array detects the isopropyl alcohol source on one side of the array, no matter where the alcohol is actually located. | ||
Line 47: | Line 40: | ||
-- that is, if there are no peaks by the end of the data collection, we will not continue onto the cooling period, but continue data collection until we see a peak. | -- that is, if there are no peaks by the end of the data collection, we will not continue onto the cooling period, but continue data collection until we see a peak. | ||
− | Week 7: | + | |
+ | Week 7 (February 27 - March 5): | ||
- This week was hard in terms of making times to meet. We have created the sinage slide for the lobby and have created SEVERAL meeting times for next week. | - This week was hard in terms of making times to meet. We have created the sinage slide for the lobby and have created SEVERAL meeting times for next week. | ||
+ | - We plan to carry out the goals of week six next week and collect more data. | ||
− | |||
− | Week 8: | + | Week 8 (March 6 -12): |
- After much fiddling, we set the resistances in the circuit as follows: | - After much fiddling, we set the resistances in the circuit as follows: | ||
Line 59: | Line 53: | ||
Sensors 3 and 4: 3.4k | Sensors 3 and 4: 3.4k | ||
Sensors 5 and 6: 9.1k | Sensors 5 and 6: 9.1k | ||
− | We did this in an attempt to make our voltage signals bumpier. The signals did improve, | + | We did this in an attempt to make our voltage signals bumpier. The signals did improve somewhat -- specifically, more of them were outright bumpy, and others had slight dips and bumps in amplitude that could be interpreted as peaks and valleys. However, a significant number were still smooth even with the lower resistances. This means that lowering the resistances seems to be effective only to a certain point. |
− | - We collected data, 3 trials per distance, and 5 distances per side, using the modified circuit. Analysis of the DTW results is confusing, and appears to be biasing one side, or to be too smooth to interpret at all. Currently investigating the morphology of the signals to determine which of them are flat. | + | - We collected data, 3 trials per distance, and 5 distances per side, using the modified circuit. Analysis of the DTW results is confusing, and appears to be biasing one side, or to be too smooth to interpret at all. Currently investigating the morphology of the signals to determine which of them are flat, as well as how bumpy they need to be in order to provide useful results. |
+ | -DTW results showed that one side's signals look much more different than the other side's signals. | ||
- Goals for after Spring Break: | - Goals for after Spring Break: | ||
1. Create algorithm to accept only bumpy signals. | 1. Create algorithm to accept only bumpy signals. | ||
+ | 2. Determine how bumpy the signals have to be before they are acceptable. | ||
+ | 3. Simulate "chemical leak" | ||
+ | 4. Recollect data with sensors level to source. Perhaps design a platform on which source sits. | ||
+ | 5. Alternate order in which data's collected (i.e., top first, bottom second). | ||
+ | |||
+ | |||
+ | Week 9 (March 20 - 26): | ||
+ | |||
+ | - We altered data collection order, but this still yielded inconsistent results in DTW (our brute force method never seems to work). | ||
+ | - We tried to collect data again, with altered data collection order, but this time, we waves our hands around the source to generate air currents. We ran the data through DTW and...IT WORKED!! There are still some inconsistencies in the vote, but it is our hope that these arose from our lack of consistency in waving movements. | ||
+ | |||
+ | |||
+ | Week 10 (March 27 - April 2): | ||
+ | |||
+ | - Some things to think about, for this week: | ||
+ | 1. We still don't know the origin of our transient -- Ed thinks it's due to temperature variance. This might need to be addressed. | ||
+ | 2. We don't know whether we were biasing the results with our current method of generating air currents. Need a more consistent method of generating these currents. | ||
+ | |||
+ | - We bought a baby bulb and determined that squeezing it every 10 seconds while vertically positioned above the source created bumpy signals. So we took another set of data while performing this method of air current generation. Unfortunately, the DTW results aren't good (of course, the brute force algorithm never gives good results). The reasons are included below: | ||
+ | |||
+ | 1. There was a visible "bumpiness bias" in the data. Specifically, when the source was above the senor array, the data was often so smooth that no vote could be generated from the signals with DTW. | ||
+ | 2. When a vote was possible from this data , it was incorrect! I.e., when the source was above the array, the algorithm voted that the source was actually located below it. :( | ||
+ | 3. When the source was below the array, the vote was correct for distances 20 cm and below. However, the vote became incorrect at 30 cm and above. | ||
+ | |||
+ | :( :( :( :( :( :( :( :( :( :( | ||
+ | |||
+ | Current plan: Meet early next week to collect data at another station (we were at the station at the end of the bench 2nd closest to the door connecting to Bryan 306). We suspect that some bias was present at this one. | ||
+ | |||
+ | |||
+ | Week 11 (April 3-9): | ||
+ | |||
+ | Earlier this week, we took even more measurements using a baby bulb. This was to try to make up for last weeks woes over our results. Still nothing promising. To note, we switched sides of the room. | ||
+ | |||
+ | But today (Thursday), we tried something different. We used 2x2 inch pieces of paper towel rather than the usual bottle cap to store our alcohol during each measurement. We played with this idea on Tuesday and found that we observed much bumpier signals. Possibly we are overcoming a surface tension problem? Anywho, while our signals looked promising, Dynamic Time Warp simply did not feel the same way. We got a mix of positive and negative responses on each side. In other words, we did not have significant evidence to claim that the device was able to determine the directionality of the odor. Sad day. | ||
+ | |||
+ | We decided to add a 'bumpiness' factor to our vote matrix, yet are still not quite sure how we are going to weight this parameter in respect to the delays. So we reformulated our data processing algorithm in LabView to count the peaks and valleys (after smoothing) and wrote this file into Matlab in addition to our signal. Hopefully the bumpiness will agree with the delays and allow us to be more confident with our results. | ||
+ | |||
+ | (Friday) | ||
+ | The bumpiness factor did not end up giving us consistent results. It appears that each of our 4 indicators of alcohol location (sensor pairs 1, 2, and 3, and bumpiness) are only weakly correlated to the source's location, if there is any correlation at all. | ||
+ | |||
+ | Professor Nehorai suggests that we give the sensors an "impulse response" to eliminate our transient, and to hopefully give more consistent results. Specifically, we plan to put an alcohol-soaked paper towel square inside of a closed container, and then briefly open the container during data collection. We will leave the lid open for different durations, and see how our responses look. | ||
+ | |||
+ | Week 12 (April 10-16) | ||
+ | |||
+ | (Will update earlier part of the week later) | ||
+ | |||
+ | We didn't get good results from whatever we were doing on Wednesday. We worked at the lab station at the back corner of the room. The sensors looked like they were biased towards one side of the array. Specifically, signals were very smooth when the source was below the sensor, and bumpy when they were above the sensor. We hypothesize that this occurred because a ceiling vent was blowing air across the sensors, causing the scent to be carried away from the array when the source was placed "down-wind" of the sensors (i.e., on the bottom side). | ||
+ | |||
+ | Vanessa and Ed suggested that we use a fan to blow air across the source during measurements, to get rid of any inherent air current biases in the room. We felt that this would better simulate the air currents that are present in a chemical plant, and would result in more consistent airflow that would hopefully result in more consistent measurements. If these measurements succeed, then we will have to implement a "wind-sensing" algorithm in our platform. Specifically, if our robot fails to detect a source, but senses a wind current, then it should be programmed to travel upwind until it sniffs the source. This is, in fact, how moths and locusts detect crops from miles and miles away. So perhaps our model of chemical sensing should be based on moths, and not on sharks. This could be true because odors travel differently in the air than they do in water. | ||
+ | |||
+ | However, we do realize that directed, consistent airflow will not always exist in a real chemical plant. Therefore, we also need to create a way in which the sensors can detect the source location when air currents are randomized. Therefore, we need a way to simulate this randomized airflow. Jessi talked to the staff at Bryan, and they said it may be possible for them to block off the vents so that we can run our experiments without the presence of any biased airflows. | ||
+ | |||
+ | Friday: | ||
+ | |||
+ | We ran trials with the fan blowing over soaked, 2'' by 2'' paper towel squares. The fan was hooked up to a 5V source, and was blowing at a gentle but significant windspeed. The towels were crumpled slightly to relieve surface tension that would be introduced by laying them flat on the platform. The fan was positioned approximately 10 cm away from the source during measurements. As in previous trials, the source was introduced immediately when data collection began, and removed when data collection ceased. The fan ran continuously throughout the entire experiment. | ||
+ | |||
+ | This method of data collection resulted in significantly reduced transients in our signals, especially when the source was close to the sensors. In addition, our signals in the first and third sensor pairs looked extremely bumpy for nearly all trials when the source was 20 cm or closer to the source, and fairly bumpy for most other trials. However, the peaks of the bumps had a much smaller amplitude -- it looked like higher-frequency voltage changes were occurring than before. The second sensor pair presented extremely smooth signals for most of our trials, and a vote was only detected from them for less than 50% of the trials. | ||
+ | |||
+ | The results were not very good. Sensor pair 1 appears biased towards positive votes, while sensor pair 3 is biased to negative votes, despite the actual location of the source. When sensor pair 2 was able to present a vote, the vote was incorrect 50% of the time. | ||
− | + | Vanessa suggests that we carry out the following experimental procedure the next time we collect data: | |
− | + | 1. Raise the Elvis, so that the lip of our platform does not obstruct the sensors during data collection. | |
− | + | 2. Only expose the sensors to an impulse of alcohol (1 second in duration) during each trial. Have the alcohol-soaked paper towel on the lid as before, but cover it with the tupper-ware container for almost the entire experiment, except when we lift it off for one second to simulate an impulse input. |
Latest revision as of 22:07, 15 April 2011
Weeks 1-4 (January 16 - February 12):
We accomplished the following tasks:
- Added to the Matlab data processing algorithm to match peaks between sensor pairs. - Ordered 3 new pairs of sensors, so that each sensor within a pair does not collect data in a biased manner based on age.
Additionally, we made a game plan for the rest of the semester:
- Create new sensor array with new sensors and collect new unbiased data from the updated array. - Email Dr. Raman about our research and a possible collaboration. - Debug Matlab data processing algorithm. - Ensure that Labview and Matlab data processing algorithms allows updated sensor array to reliably detect the location of the isopropyl alcohol source. - Interface the data processing algorithm and sensor array with a robot, and develop a robot motion algorithm. - Investigate the effects of using a shorter span of data on the accuracy of the signal processing algorithm.
Week 5 (February 13-19):
- Created new sensor array. - Fixed the matlab brute force algorithm - Collected data from new sensor array, 5 trials for each distance away from the array for each side. This gave a total of 10 trials per distance, or 500 trials.
plan for this week:
- make presentation for next week (power point) - 2 at each distance at each side - drawing of sensor configuration
Week 6 (February 20-26):
- Made more corrections to brute force algorithm, and processed trials from week 5. Unfortunately, the results still indicate that the sensor array detects the isopropyl alcohol source on one side of the array, no matter where the alcohol is actually located.
- Realized that the resistances that were in series with the sensors were chosen specifically for the sensors in the old array. Therefore, altered resistances in series with sensors in the circuit so that voltages produced by each sensor in a pair were consistent. I.e., sensors 1 and 2 should produce similar voltages when smelling alcohol, as should sensors 3 and 4, and 5 and 6. Used this array to collect a second batch of data (2 trials per side per distance). However, this still gave bad results, i.e., results that were similar to those from week 5's data.
- Next, we tried putting each sensor was in series with the same resistance, regardless of the disparities in voltage. We also spaced the sensors farther apart (1 inch), to improve the discrimination between sides. With this modified circuit configuration, we took 3 trials per side per distance. Processed this data, and the brute-force algorithm STILL yielded bad results. The dynamic-time-warp algorithm looks more promising, but is still pretty bad. The results of DTW suggest that sensor pair 2 is always biased towards one side. Therefore, attempted to run the DTW algorithm on only the other 2 pairs, but still working on the coding for this.
- When we used the dynamic time warp m.files and removed the transient response, we observed more promising data. For the next meeting, we will work on fine tuning the resistances within the circuit (most likely lowering all the resistances) and modify the data acquisition algorithm to get bumpier signals. -- that is, if there are no peaks by the end of the data collection, we will not continue onto the cooling period, but continue data collection until we see a peak.
Week 7 (February 27 - March 5):
- This week was hard in terms of making times to meet. We have created the sinage slide for the lobby and have created SEVERAL meeting times for next week. - We plan to carry out the goals of week six next week and collect more data.
Week 8 (March 6 -12):
- After much fiddling, we set the resistances in the circuit as follows:
Sensors 1 and 2: 9.1k Sensors 3 and 4: 3.4k Sensors 5 and 6: 9.1k We did this in an attempt to make our voltage signals bumpier. The signals did improve somewhat -- specifically, more of them were outright bumpy, and others had slight dips and bumps in amplitude that could be interpreted as peaks and valleys. However, a significant number were still smooth even with the lower resistances. This means that lowering the resistances seems to be effective only to a certain point.
- We collected data, 3 trials per distance, and 5 distances per side, using the modified circuit. Analysis of the DTW results is confusing, and appears to be biasing one side, or to be too smooth to interpret at all. Currently investigating the morphology of the signals to determine which of them are flat, as well as how bumpy they need to be in order to provide useful results.
-DTW results showed that one side's signals look much more different than the other side's signals. - Goals for after Spring Break:
1. Create algorithm to accept only bumpy signals. 2. Determine how bumpy the signals have to be before they are acceptable. 3. Simulate "chemical leak" 4. Recollect data with sensors level to source. Perhaps design a platform on which source sits. 5. Alternate order in which data's collected (i.e., top first, bottom second).
Week 9 (March 20 - 26):
- We altered data collection order, but this still yielded inconsistent results in DTW (our brute force method never seems to work). - We tried to collect data again, with altered data collection order, but this time, we waves our hands around the source to generate air currents. We ran the data through DTW and...IT WORKED!! There are still some inconsistencies in the vote, but it is our hope that these arose from our lack of consistency in waving movements.
Week 10 (March 27 - April 2):
- Some things to think about, for this week:
1. We still don't know the origin of our transient -- Ed thinks it's due to temperature variance. This might need to be addressed. 2. We don't know whether we were biasing the results with our current method of generating air currents. Need a more consistent method of generating these currents.
- We bought a baby bulb and determined that squeezing it every 10 seconds while vertically positioned above the source created bumpy signals. So we took another set of data while performing this method of air current generation. Unfortunately, the DTW results aren't good (of course, the brute force algorithm never gives good results). The reasons are included below:
1. There was a visible "bumpiness bias" in the data. Specifically, when the source was above the senor array, the data was often so smooth that no vote could be generated from the signals with DTW. 2. When a vote was possible from this data , it was incorrect! I.e., when the source was above the array, the algorithm voted that the source was actually located below it. :( 3. When the source was below the array, the vote was correct for distances 20 cm and below. However, the vote became incorrect at 30 cm and above.
- ( :( :( :( :( :( :( :( :( :(
Current plan: Meet early next week to collect data at another station (we were at the station at the end of the bench 2nd closest to the door connecting to Bryan 306). We suspect that some bias was present at this one.
Week 11 (April 3-9):
Earlier this week, we took even more measurements using a baby bulb. This was to try to make up for last weeks woes over our results. Still nothing promising. To note, we switched sides of the room.
But today (Thursday), we tried something different. We used 2x2 inch pieces of paper towel rather than the usual bottle cap to store our alcohol during each measurement. We played with this idea on Tuesday and found that we observed much bumpier signals. Possibly we are overcoming a surface tension problem? Anywho, while our signals looked promising, Dynamic Time Warp simply did not feel the same way. We got a mix of positive and negative responses on each side. In other words, we did not have significant evidence to claim that the device was able to determine the directionality of the odor. Sad day.
We decided to add a 'bumpiness' factor to our vote matrix, yet are still not quite sure how we are going to weight this parameter in respect to the delays. So we reformulated our data processing algorithm in LabView to count the peaks and valleys (after smoothing) and wrote this file into Matlab in addition to our signal. Hopefully the bumpiness will agree with the delays and allow us to be more confident with our results.
(Friday) The bumpiness factor did not end up giving us consistent results. It appears that each of our 4 indicators of alcohol location (sensor pairs 1, 2, and 3, and bumpiness) are only weakly correlated to the source's location, if there is any correlation at all.
Professor Nehorai suggests that we give the sensors an "impulse response" to eliminate our transient, and to hopefully give more consistent results. Specifically, we plan to put an alcohol-soaked paper towel square inside of a closed container, and then briefly open the container during data collection. We will leave the lid open for different durations, and see how our responses look.
Week 12 (April 10-16)
(Will update earlier part of the week later)
We didn't get good results from whatever we were doing on Wednesday. We worked at the lab station at the back corner of the room. The sensors looked like they were biased towards one side of the array. Specifically, signals were very smooth when the source was below the sensor, and bumpy when they were above the sensor. We hypothesize that this occurred because a ceiling vent was blowing air across the sensors, causing the scent to be carried away from the array when the source was placed "down-wind" of the sensors (i.e., on the bottom side).
Vanessa and Ed suggested that we use a fan to blow air across the source during measurements, to get rid of any inherent air current biases in the room. We felt that this would better simulate the air currents that are present in a chemical plant, and would result in more consistent airflow that would hopefully result in more consistent measurements. If these measurements succeed, then we will have to implement a "wind-sensing" algorithm in our platform. Specifically, if our robot fails to detect a source, but senses a wind current, then it should be programmed to travel upwind until it sniffs the source. This is, in fact, how moths and locusts detect crops from miles and miles away. So perhaps our model of chemical sensing should be based on moths, and not on sharks. This could be true because odors travel differently in the air than they do in water.
However, we do realize that directed, consistent airflow will not always exist in a real chemical plant. Therefore, we also need to create a way in which the sensors can detect the source location when air currents are randomized. Therefore, we need a way to simulate this randomized airflow. Jessi talked to the staff at Bryan, and they said it may be possible for them to block off the vents so that we can run our experiments without the presence of any biased airflows.
Friday:
We ran trials with the fan blowing over soaked, 2 by 2 paper towel squares. The fan was hooked up to a 5V source, and was blowing at a gentle but significant windspeed. The towels were crumpled slightly to relieve surface tension that would be introduced by laying them flat on the platform. The fan was positioned approximately 10 cm away from the source during measurements. As in previous trials, the source was introduced immediately when data collection began, and removed when data collection ceased. The fan ran continuously throughout the entire experiment.
This method of data collection resulted in significantly reduced transients in our signals, especially when the source was close to the sensors. In addition, our signals in the first and third sensor pairs looked extremely bumpy for nearly all trials when the source was 20 cm or closer to the source, and fairly bumpy for most other trials. However, the peaks of the bumps had a much smaller amplitude -- it looked like higher-frequency voltage changes were occurring than before. The second sensor pair presented extremely smooth signals for most of our trials, and a vote was only detected from them for less than 50% of the trials.
The results were not very good. Sensor pair 1 appears biased towards positive votes, while sensor pair 3 is biased to negative votes, despite the actual location of the source. When sensor pair 2 was able to present a vote, the vote was incorrect 50% of the time.
Vanessa suggests that we carry out the following experimental procedure the next time we collect data:
1. Raise the Elvis, so that the lip of our platform does not obstruct the sensors during data collection.
2. Only expose the sensors to an impulse of alcohol (1 second in duration) during each trial. Have the alcohol-soaked paper towel on the lid as before, but cover it with the tupper-ware container for almost the entire experiment, except when we lift it off for one second to simulate an impulse input.