I plan to use 5 Arduinos, or similar, to trilaterate 3D position using ultrasonic sound waves. 4 will be "satellites" (3 for X-Y trilateration), and 1 for altitude, and 1 will be a "receiver." I plan for the application size to be at most the size of a soccer field. An ultrasonic "chirp" or ramp technique can probably be used to avoid problems of background noise. Primary applications may likely be indoors. One example could be an indoor quadrotor flight lab. I have written a half-dozen pages of documentation on how I think I can go about the implementation details. I expect accuracy to be <1", and resolution to be on the order of 1/10". There are several approaches to this problem, but I am planning on approaching the problem using a time-synchronization technique which will allow an unlimited number of receivers, without causing any burden upon the "satellite" transmitters.
Possible primary hardware for sampling, acoustic control, & processing includes:
- Teensy 3.1
- Arduino Uno/Nano/Pro Mini, etc (ATmega328 AVR)
- Arduino Zero/Neutrino (high-speed ARM-core mcu)
- Arduino Due
- Maple Mini mcu (72Mhz 32-bit, <$5 on ebay)
- Raspberry Pi
Planned RF24 digital communication modules, for time-syncing & wireless comms between nodes: nRF24L01+
There have been a few projects who already tried this. For example: http://cricket.csail.mit.edu/
I have tried this in the past (for a company). It was not really a success.
For starters the range was limited 10-15 meter.I am not an analog engineer so maybe it can be improved. But also direction of the beam, to get a good range a narrow beam was needed.
Maybe with the new 32bit micro's and some clever processing a lot can be improved.
I think/hope the product from pozyx (http://www.pozyx.io/) works (currently a kickstarter). Because it would solve this problem. It is smaller than ultrasonic, does not need to be open to the air. Also communication is also solved with this product. Only thing is: it has to work first ;)