# Radio triangulation with Raspberry Pi

Currently, I am thinking that since electromagnetic waves loose energy over distance, you might be able to figure out the relative distance to each of three radio "beacons" and use this information to triangulate the position of a robot with a radio sensor on-board.

What information each radio signal could I use to measure the distance to correlating beacon? Amplitude, perhaps? The entire system would be running indoors in a relatively small area, so it needs to be relatively precise.

Is this even a reasonable idea, or are there better methods I could use?

• They don't lose energy - the energy density goes down, and even that loss depends on the emitter: point vs. linear array, and so on. – Carl Witthoft May 14 '18 at 17:55

I believe there has been some research done on robot localization based on Wifi signal strength. For example: http://robotics.usc.edu/~ahoward/projects_wifi.php and http://www.cs.cmu.edu/~mmv/papers/10icra-joydeep.pdf. But I believe accuracy is very rough (maybe meters of error).

For more precise radio localization (cm level), you can use ultrawideband (UWB) radios which can measure the time of flight between endpoints. Yes, there are multipath issues indoors, but there are ways to mitigate this. There are two main players here: https://www.decawave.com/ and http://bespoon.com/.

Also FYI, triangulation is when you know the angle to the fixed beacons, trilateration is when you know the range. See: https://en.wikipedia.org/wiki/Trilateration. Your proposed application would be trilateration.

• Thank you for the clarification on triangulation/trilateration! I'll look into ultrawideband radios. – Tiskolin May 16 '18 at 17:43

While your concept is theoretically correct, it doesn't work well in practice except for rough locations.

The problem is interference. Radio waves get absorbed, reflected, diffracted, and in some cases even refracted. All those mean that there isn't just a single point source from the receiver's point of view. The various components of the signal bouncing around the environment can interfere constructively and destructively, making received amplitude only a very rough estimate of distance.

On top of that, you also have to consider the radiation pattern of the transmitting and receiving antennas. If you know, for example, that everything is constrained to be in a horizontal plane and always at the same orientation, then vertical dipoles or whips would work. However, as soon as one end changes orientation or goes out of the plane, there will be additional changes in received signal strength just due to that.