News:

PROTON pic BASIC Compilers for PIC, PIC24, dsPIC33

Main Menu

Indoor positioning system

Started by shantanu@india, Aug 04, 2021, 01:33 PM

Previous topic - Next topic

shantanu@india

Hi everybody,
I am working on an AGV(Automated Guided Vehicle) that can navigate itself through a warehouse.I need to design a Wi-Fi based positioning system based on RSSI(Relative Signal Strength Indicator) readings from three or more AP's(Access points) located at strategic points of the warehouse.
This seems to be a standard method of indoor positioning with a teaching phase where a database is created by moving the vehicle around manually and recording the RSSI values & the runtime phase where the vehicle calculates it own position from the measured RSSI & consulting the database.
I used an ESP8266 with code written in micropython to check the WiFi signal in my own office & found it to vary from -52dBm & -46dBm even when there was no position change. How can I get sufficiently good accuracy from RSSI signals which have a resolution of only from -90dBm to -20dBm? Why is the reading varying at a fixed location?
Huge amount of material is available on the net which talks about SLAM ,  visual odometry , inertial odometry...blah,blah,blah...
I am confused.
Any pointers towards a good & cost effective solution?
Thanks.
Regards
Shantanu

top204

The problem with the higher frequencies, is that anything will block it or reflect it. So even though the receiver and the transmitter are stationary, other things are not. Someone, or something, moving will either reflect or absorb the frequency and can give a different RSSI.

Also, RSSI has a very small resolution, so movement based upon it cannot be fine.

How about using a wide band, high frequency, amplifier chip with a filter in front of it to only detect a certain frequency range, then amplify the signal into an ADC. I did this for mobile phone detection quite a few years ago and it worked extremely well. Take multiple samples of the ADC and get the average, then calculate the signal's amplitude based upon the distance. The filters can be different, so three transmitters are detectable with a single microcontroller.

shantanu@india

Good idea Les... are you talking of 433MHz type transmitters or something else?
Regards
Shantanu

top204

#3
For the mobile phones, it was from approx 800MHz to just over 1GHz.

See what types of front-end ceramic filters you can find that are suitable, then use that frequency range. A UHF frequency should be better because it will not be absorbed or reflected as much, but too low a frequency will not give an accurate position because its waves may be too large.

A front-end filter is, essentially, a ceramic bandpass filter, so the amplifier will only see the frequencies that it lets through, but be careful of the bandwidth of some of them, otherwise, higher and lower frequencies will also be allowed through. For one experiment, I used a few types of filters to block, virtually, everything except the frequency range that I was looking for, and none of the circuits needed any RF coils or capacitors etc... Just a ceramic filter, RF amplifier, Op-Amp for slight amplification, and an ADC of the microcontroller for each frequency range I was looking for.

The bandwidth of the filter are the two slopes either side of the bandpass frequency. You'll see what I mean if you do a search for them and view their datasheet.

The amplifiers are, generally, logarithmic, so you may need to convert the log value to a linear value within the microcontroller for better calculations, unless you can find a linear RF amplifier. However, if you are using a lookup table for signal strength to position, it can be log or linear.

shantanu@india

Things are much clearer now.
Let me start searching... this is not going to be an easy project I am aware of that!!
In fact it can easily turn into one of the biggest technical challenge that I have faced in my life!
Regards
Shantanu

basparky

Hi Shantanu,

(Not based on Wifi)
I have been using the following devices: DWM1001

Please have a look. I have some modules using them for a project where a trolley needs to follow a person holding a tag. Works great and not very expensive.

top204

#6
They look good, but the 6GHz frequency will mean they only work short distance and are, probably, not suitable for factory work where lots of metal and people and objects are moving. However, the high frequency will allow very accurate positioning. The price tag for a simple modulated TX/RX is actually quite high for them. :-)

With the GSM phones, the modulation looked like a 200Hz pulse at a particular frequency, so that is what I looked for, and it also gave the strength of the mobile phone on a line of LEDs, so as the unit became closer to the mobile phone, the strength increased. If three of the detectors had been used, it could have gotten the different signal strengths, and triangulated them to approx distance and located where the mobile phone was. For 3G it was a different matter because the modulation cannot be seen and signal strengths were used in a very specific frequency range, so anything there was a mobile phone and nothing else. This is because 3G and 4G use spread spectrum, so the modulation is spread over a large range of frequencies and uses phased modulation.

To get the trangulation of a mobile phone base station's position, the TOF (Time Of Flight) was read from 3 base stations that a modem could see, and these gave a 500m per value distance, then triangulation gave the base station's position, within 500m. It worked well, and the base station' approx location was displayed on a map, and stored.

For a standard position mechanism, a stabilised TX with a simple modulation is required, that can operate on differing frequencies. Then a grid of them so at all points, at least, 3 of them can be detected that have different frequencies, and their modulation quality and signal strength measured. This will give a triangulation for position. The frequency used will dictate the accuracy of the position required, but it is sometimes a "try it and see" mechanism that shows the better frequency. i.e. GHz frequencies for good triangulation, but poor radiation. UHF frequencies for poorer triangulation, but better signals. A GHz frequency will work well if a lot of the grid transmitters can be used in the building, so the RX can always see them with good modulation, and the split spectrum within them will allow quite a few of them to be placed close to each other, and if more than 3 can be detected, the position will be even more accurate.

Just like how the mobile phone networks operate. i.e. Cells

shantanu@india

Thanks for selecting a 'spot-on' device basparky!! :)
12 units for $199 is about $15 for each....seems quite reasonable.
The datasheet says 60m line of sight....that may be achievable depending on the transmission power & the height of the locators.
But as Les rightly says ,  6.5GHz can be attenuated easily.I shall try out one kit.
Les , your concept is thought provoking. I am thinking....
Regards
Shantanu