Acoustic Tape Measure: Difference between revisions
m (..) |
No edit summary |
||
Line 27: | Line 27: | ||
Full-spectrum white noise is used to maximize accuracy. |
Full-spectrum white noise is used to maximize accuracy. |
||
The system only seems to work well when the laptops are facing each other and have |
The system only seems likely to work well when the laptops are facing each other and have |
||
uninterrupted line of sight. |
uninterrupted line of sight. |
||
The measurements are unlikely to work well if the distance is changing during measurement. |
The measurements are unlikely to work well if the distance is changing during measurement. However, early performance testing suggests that it is more tolerant to such disturbances than initially estimated. |
||
Each measurement cycle requires about 8 seconds. |
|||
Major computation is required for every measurement, to extract the distance from the audio data. |
|||
This time was up to 30 seconds per measurement on B2s. On B4/MP's... ? |
|||
⚫ | |||
There's at least one more necessary feature, and two mysterious bugs that are either mine or Telepathy's. |
|||
⚫ | |||
(2007-10-03) |
|||
Now uses aplay/arecord rather than gstreamer. |
Now uses aplay/arecord rather than gstreamer for recording. Incorporates a delay to compensate for |
||
amplifier weirdness. |
amplifier weirdness, working around bug #3813. |
||
There may still be hidden race conditions, and the code still does not prevent |
|||
more than 2 people from participating, even though this will break everything. |
|||
==Ideas for use== |
==Ideas for use== |
Revision as of 00:23, 7 October 2007
Please copy/paste "{{Translationlist | xx | origlang=en | translated={{{translated}}}}}" (where xx is ISO 639 language code for your translation) to Acoustic Tape Measure/translations | HowTo [ID# 68809] +/- |
|
Acoustic Tape Measure determines the physical distance between two XO's by measuring how long it takes sound to travel between them.
Development notes
In testing, accuracy was 1 cm or better at 2 m.
The measurements seem to be extremely accurate, under controlled conditions. In fact, accuracy seems to be limited by variation in the speed of sound with air temperature. The variation is approximately 0.2% per degree C. Code currently assumes an air temperature of 25 C, which means ± 3% over the whole range of reasonable temperatures.
Location+date+time might be enough to get temperature estimates? Is there another way?
- Perhaps a known-distance measurement? Physically adjacent XO's? Could this be used as a air thermometer (Aa)ctivity? MitchellNCharity 15:45, 3 October 2007 (EDT)
Full-spectrum white noise is used to maximize accuracy.
The system only seems likely to work well when the laptops are facing each other and have uninterrupted line of sight. The measurements are unlikely to work well if the distance is changing during measurement. However, early performance testing suggests that it is more tolerant to such disturbances than initially estimated.
Each measurement cycle requires about 8 seconds.
Stability is not perfect. Typically the program runs for a few hundred measurements before hitting a networking bug. This corresponds to about 15 minutes of continuous measurement.
Now uses aplay/arecord rather than gstreamer for recording. Incorporates a delay to compensate for amplifier weirdness, working around bug #3813.
Ideas for use
2D Position determination
Even given full knowledge of the distances, determining the locations is a nontrivial nonlinear optimization. And the laptops have to face each other. And computation takes a long time.
Position graph matching game
The Boston Museum of Science has an exhibit which measures user distance from a computer along a long mat. The computer then horizontally scrolls a graph with a pattern, along with your current distance. Idea is you have to scurry back and forth to try and match your position to the pattern. Vaguely Digital Dance Revolution-like. I'm not really sure the concept works, but it could be easy to try, and with music added, and kids able to draw their own patterns, it might be interesting.
The algorithms would have to be greatly accelerated before something like this would be possible. Children would have to move with one laptop in hand, pointed at the stationary laptop. Also, the measurements are unlikely to work well if the distance is changing during measurement.
One possibility would be for the computer to say "go N meters away" and then have a competition to see how many tries it takes to get within, say, 5%. This could be a good distance-sense training exercise.
pot files
There are pot files, and a spanish translation, in git; the wiki needs to be updated to reflect this.