Wireless relative position

I have had a few different ideas that I have tossed around, but they all want one thing: A wireless method of relative location.

It only has to be 2d. Essentially, I want to have Arduino 1 as a base station, and sit it in the middle of a table. Arduino 2 would be placed wherever on that table, and somehow Arduino 1 would know where it is.

What sort of equipment would I need for this? And how expensive would it be?

You would need to have a highly directional aerial and a method of measuring the signal level.

Use a servo to rotate the aerial and look for the best signal.

Chances of success? Not high.

Weedpharma

On a table? :astonished:

No form of radio ("wireless") short of 10 GHz is going to do this for you (your resolution is approximately equal to the wavelength), and to get range, you need at least two and three for two dimensions, observers to triangulate.

Ultrasound is a possibility, otherwise laser scanners.

Measuring the signal strength... how accurate is that? Perhaps instead of having a rotating directional, could use a trio of omnidirectional antennas. If (and only if) signal strength is accurate enough, at that point it'l like finding the epicenter of an earthquake. With three distances to three antennas sufficiently apart, there's only one spot it could be.

Alright, so I've done some thinking on this, and some exploratory searching. From what I can tell, using signal strength to determine range is possible, but Not Easy.

So I had another thought.

I have an HC-SR04 ultrasonic rangefinding device. It has an accuracy of 3mm (On best of days, of course). Sends out a ping, listens for the ping to return, checks the time. Does math, then finds the distance.

I feel this could be utilized to work for what I want. The "Base" device would have a set of (preferably omnidirectional instead of the HC-SR04's directional) three ultrasonic "senders." Placing them a decent distance apart - A centimeter or two should suffice. You'd have some form of wireless transmitter/receiver as well. This would let it pair with one (or more) pretty simple wireless devices. Those devices would essentially just be an ultrasonic receiver plugged in to a wireless transmitter/receiver.

The "Base" would periodically send out pulses, sequentially, from its ultrasonic senders. This would involve transmitting a radio signal saying "Hey, I'm sending the signal" - Then after a predetermined time period (To let the unit "prepare" for the incoming signal), it would send the ultrasonic pulse. The receiver would then mark down when it received the signal, and the delay between the "I'm sending the signal" message and the actual receipt of the ultrasonic ping. Take out the programmed delay, and you then have the travel time between the base and the item, and thus the distance. Instead of having three separate "I'm sending the signal" bits, it could be just "I'm sending the signal" and then after, say, a 0.25 second delay, send the first pulse, another .25 second delay, the second pulse, and another .25 second delay, and the third pulse.

Then the receiver would mark when it received the first, second, and third pulses and send that time information back. Math would give the distances for the first, second, and third transmitters, and more math and fancy code would give an X,Y location (Relative to the base unit).

Is this feasible? It SOUNDS good to me, but... Who knows. I'm also not sure what sort of equipment is available - I know there's wireless connectors, but omnidirectional ultrasonic devices? No clue.

Your plan calls for some very precise timing and this could be difficult.

Weedpharma

  • Assume RF connectivity... pick your methodology ...

  • When the remote senses it has been set upon the tabke (option: push button) then the remote notifies main unit.

  • One unit has LEDs around the perimeter and the other CdS light sensors.. Number and position (square or circular) will determine arc accuracy in degrees /360.

  • Unit 2 scans all phototransistors for CdS values and stores into array [N][0] for baseline measurement.

  • Unit 2 sends RF message to begin position location.

  • Unit 1 turns on each LED alternately, handshaking with Unit 2 which LED is on. At termination, Unit 1 sends complete message.

  • Unit 2 has scanned each CdS with each LED illuminated on Unit 1. The readings are stored in [N][1] only if the value is => than [N][1].

  • After all LEDs are illuminated, the value in [N][1] - [N][0] that is greater is the relative position of Unit 1 based on the CdS sensor. If two CdS have identical (high) differences, the LED was between the two CdS.

Use ultrasonic sensors to calculate distances... pinger on one unit, receiver on other and use RF to communicate. You will need to run a tight loop and adjust for delays in the code.

Ray

This sort of question is asked from time to time here.
What normally happens, just like here, is that people pitch in with their ideas. I thing is that none of these fancy ideas have actually been tried they are just complex speculation, which normally end in a disclaimer.

I have never seen anyone come back and report that any of these ideas were successful.

You yourself said:-

From what I can tell, using signal strength to determine range is possible, but Not Easy.

Which is not a very accurate statement. Basically you can not determine range from signal strength from a single location because there are too many real life things that get in the way, like reflections and standing waves.

If you do succeed by using any method then please post your success here.

@mrburnette - so you do all that in the dark do you?

Hi,

I have had a few different ideas that I have tossed around, but they all want one thing: A wireless method of relative location.

What are those ideas, there may be other ways of doing what you want, depending on the idea you have requiring 2D location.

Tom....... :slight_smile:

I think Mrburnette might be overcomplicating it. putting a single LED on the remote and the sensors on the base station and you'll still be able to get decent angle. Not sure if it'd be any easier than my ultrasonic triangluation idea, but it certainly doesn't look more difficult.

Grumpy_Mike - I'm actually surprised that nobody has done it. Seems that someone has done prettt much everything with an arduino and made a nice tutorial about it.

I will do some more searching, see if I can find some equipment that meets my needs. Any suggestions are welcome!

I'm actually surprised that nobody has done it. Seems that someone has done prettt much everything with an arduino and made a nice tutorial about it.

So what does that tell you about the problem?

Had another thought. If you know the angle to a location from two known locations, you can figure out the distance.

The base would have three semicircles with six IR photoresistors spaced around them. (Why six? That's how many analog pins the arduino has). Using RF connectivity, it'd tell the remote to turn on its IR LED. Then, each sensor cluster would measure the intensity of the IR on each photoresistor. This would be used to determine the angle to the LED from that cluster. Combine two clusters' info, trace the angles until they intersect, and then you can find your distance and angle to the main base.

Realistically, you only need to sensor clusters, but using three you should be able to get direction in full circle.

As far as I can tell, this can be done with stuff you can pick up pretty much anywhere and doesn't require any timing issues. What holes are there in this?

Edit: Grumpy_Mike - That it's not as simple as I would like. And certainly not easy.

You assume that all of the photoresistors have the same response or can be calibrated. Not so simple.

Weedpharma

By wireless do you mean no wire or strictly rf?
Acoustic beacons might be an alternative, propagation speed is much lower and mostly dependent on temperature. How to design the system depends mainly its purpose:

  • Do you want an object to know its own position? In this case you can either locate the object externally and transmit the location back to it or you can place a number of beacons and have them send an identifiable signal at known times.
  • Do you want to locate an object. I this case you can have the object sen an identifiable signal and have at least 3 receivers. The position ca then be determined by calculating the intersection of the hyperbolas.

If you are considering indoor use and/or limited space this might be usable

nilton61:
By wireless do you mean no wire or strictly rf?

Just no wires. Not necessarily RF, but that's the easiest to transmit information.

With the beacon(s), I'm trying to keep the base to one object if possible, just for simplicity's sake.

Camera looks good, but I am trying to keep away from moving parts, and the number of cameras I'd need to cover things would be pretty high.

Weedpharma: A good point, but I'm not trying for super accuracy (Although it would be nice). Would multiple of the "same" photoresistor have enough discrepancies to throw things off?

AndonRT:
Camera looks good, but I am trying to keep away from moving parts, and the number of cameras I'd need to cover things would be pretty high.

Actually not. You need just a number of identifiable ir beacons at known location and let the camera detect is own position. Identification can be done by geometry or letting the beacon blink in a pattern.

Less that, more of camera only covers one direction in a cone.

You can rotate the camera or have the beacons mounted in the ceiling or have enough of them so that there are several visible at any time.
We do not know enough of your project or what you are trying to accomplish.

To be honest, I'm not entirely sure what my project entails. I'm mostly just curious as to how it'd be done, with a few limitations:

1 - Base station and object(s) being tracked are each self-contained, and also portable.
2 - Ease of construction (The simpler the components, the better)
3 - Price point. While not a primary concern, it is something I want to think about. It's all well and good to make a theoretical thing, but I'd like to actually build and test this.
4 - No moving parts. Moving things tend to be easier to break - And harder to set up properly. The fewer things that I have to worry about, the better (Generally, see #2)

For actual purposes of use, there's a few that could be done.
1 - Tabletop game, like Warhammer 40k or Warmachine. Except, each piece has its own information communicated to the base one. This has issues with things like terrain getting in the way of line of sight, but depending on the game, this may or may not be an issue. A space-based game, such as X-Wing, will have significantly less terrain to worry about.

2 - Distance Measure Tool. A little overkill, sure, but it's an idea. Place the base station down somewhere that has line of sight to two points. Use remote(s) at each point, and the base station would measure the distance between. Could be handy for measuring through difficult-to-move objects (Such as walls)

To be honest, I'm not entirely sure what my project entails. I'm mostly just curious as to how it'd be done, with a few limitations:

Just to repeat what other have said, if what you describe was easy/cheap, thousands of others would already be doing it.