Arduino "VOR"

The thread about ultrasonic position sensing is interesting, and it "set me off". Rather than make that thread "fray", here's a note of an alternative system.

In either case (indeed any measuring problem!) of course tow questions have to be asked and answered before much design work is done: What range are we dealing with, and what resolutions (spacial, temporal... etc?) are sought.

I THINK (little real work done yet!) the following would stand a chance of working well over the area of a large room, or even, say, a basketball court. (The room suffers from the problem of obstructions, the basketball court.. sans game.. is not available to many of us!

The idea is inspired by how I THINK the FAA's VOR radio navigation beacons work, the system pilots used before GPS, and still use today to pass tests and when their GPS fails.

You need....

Two beacons. (More in a moment)

A sensor on the object that you want to know the location of. It must be able to distinguish between the signals from the two beacons. (For the Arduino, I think this can be done by using different colors of light, and having TWO sensors, one for each beacon. Each sensor would have an optical filter, making it "see" only one of the beacons.)

(In aircraft VOR, the signal from the beacon is a radio signal. We can use a visible (or IR) light signal)

The beacons....

Can be made lots of ways. I'll describe ONE way to make one, and you can do anything that is functionally equivalent.

"My" design would have two light bulbs. One would flash briefly every, say, second. We'll call that the "pulse" blink. The pulse blink goes out from the beacon in every direction. The second light bulb is in a mechanism that makes it shine in one direction only, and that direction sweeps around in a horizontal plane, like the beam from a lighthouse. We'll call this the "radial" beam. From anywhere in the room, it will appear to wink briefly.

The timing of the pulse blink is sychronized with the sweep of the radial beam, so that the pulse blink occurs when the radial beam is shining to the north of the beacon. Thus, if the sensor sees the two blinks at very nearly the same moment, the sensor is north of the beacon. (Making it able to see the two blinks at the SAME moment is an interesting design challenge... as is dealing with it being "blind" when EXACTLY north of the beacon, if you choose to "go around" the other problem.) If the sensor sees the radial blink exactly half way between two pulse blinks, then the sensor is due south of the beacon.

The rest is details! Have fun!

That's a very interesting idea!! it does have the potential to work well, if properly done.

Making it able to see the two blinks at the SAME moment is an interesting design challenge

My thought on this is that you don't HAVE to use two blinkers... your pulse blink could be something different as, say, an RF signal, so you have a way of telling them apart...

The RF signal is the cycle sync, and given a known cycle duration, you can interpolate that with the detected deltaTime between the sync and the radial and determine bearing...

couple that with an intermittent ping, and you have bearing and distance, and given a known location of the base station, absolute positioning. :smiley:

The theory is sound... the challenge I foresee lies in picking up the radial beam... LEDs are, to say the least, unreliable in this application... I've been there and I didn't like it... Maybe a laser could work better, and with the added bonus of being very, very directional

Of course, this system as described works for 2D positioning... to make it 3D, you would require at least 2 stations, with one doing a vertical sweep... think ILS rather than VOR :wink:

That would require a broad sweep for both radial beams... I think there are filters that can spread a laser beam over an axis, so you get a laser plane rather than a line... an IR laser would be the best option here, but I worry that lasers can damage people's eyes, so I wonder if this approach would be safe for human applications...

here each marker would be either figuring out it's own position or sending a ping whenever a radial is detected... that decision probably depends on the application too... but multi-markers could be easily added both ways.

Nice idea there... I hope you don't mind if I look into it as well :slight_smile:

Cheers

Something else just occurred to me, and it might work in a safer and probably cheaper way...

instead of lights or lasers, you could use ultrasound (again, I know :stuck_out_tongue: ) as a radial beam...

Imagine an ultrasonic transducer and a spinning acoustic mirror surface mounted at a 45 degree angle just above it... the mirror would reflect the ultrasound from the transducer, which would be stationary and outputting a constant wave...

Just measure the intensity (volume) of the ultrasound as it approaches you, and just when you detect it fading off again, you know it has passed your radial, so you fire a ping there...

That is, of course, more prone to failures and interference, but it doesn't rely on possibly dangerous lasers or unreliable LEDs

You could also use ultrasound on another frequency to ping for distance...

Cheers