Variance wrote:A project I've been considering as of late is a sort of interactive target (archery, shooting, darts, etc) that can triangulate the point of impact of the projectile in question. I was hoping to accomplish this using a PIC MCU (18F2550's are what I currently have on hand) and relatively inexpensive sensors. From the research I've done so far, I was thinking of using 4 accelerometers, vibration sensors, or microphones situated in the corners of the "target". Using the MCU, I would save a timer value for the instants at which each sensor experiences the acceleration/vibration/sound of the impact, calculate the phase delays between the sensors, then use these calculated values in some sort of algorithm to triangulate the POI on the target.
However, I've been having difficulty deciding on what type of sensors would work best for this application. Microphones are inexpensive, but there would be the issue of ambient noise, as well as other interference (such as the muzzle report and/or sonic crack of a gunshot). Because of this, I was leaning towards accelerometers or vibration sensors, but you all are much more knowledgable and experienced than I.
As for the software/math side of things,beyond finding the phase delays between the sensors, I'm somewhat lost on how I would go about triangulating the POI. Unfortunately, while my research has provided me with some theory behind what I hope to accomplish, I have found very little actual applications to which I can reference. Because of this, any direction that someone could provide would be extremely beneficial.
Thanks in advance for any advice or guidance!
Microphone idea sounds like a good project to test out. Here's how I would test it. Put a microphone in all 4 corners and under a controlled test (with something that makes a sound at same decibels every time) measure microphone received decibels at closet point to microphone and farthest point from microphone on target.
For example: Say you have microphone in top right corner of a square target, put a buzzer in top right corner right beside microphone and measure microphones input (random numbers, lets say its 4 decibels). Then using same buzzer measure decibels at bottom left corner (lets say 2 decibels). Now we can tell how far arrow hits from microphone 2 decibels it's sqrt(width^2 * height^2) decibels away. If it's 3 decibels it's half that distance away. You'll have to map out the conversions of course, won't be even numbers like that
Do that for all 4 microphones (only 3 needs to determine point, use 4th for error correction just in case something makes 1 microphone give a false reading). Now imagine the distance read by each microphone as a radius and draw a circle with that radius with microphone in middle. Do that for all 4 microphones and there should only be 1 point where all 4 circles intersect, that's the point of impact.
To correct for ambient noise:
Add a vibration sensor then continually sample the microphone decibel levels, then when vibration sensor goes off grab the data 1 second before and 1 second after impact (gotta do before and after because different target materials may allow vibration sensor to go off before sound reaches microphones). Average the levels, and then use that to triangulate. You'll have to tweak the timings. Could be 2 seconds before or 2 seconds after or less. Also timings for sample rate, grab decibel levels every 500ms,400ms,300ms etc... higher sample rate, higher accuracy, higher memory requirements.
Of course, I'm an *** and will aim at your microphones...