As long as I am in "rssi tuple" space, I maybe know if I am in a place where I have been before, and I can learn the topology of the place in terms of "which places are adjacent".
But I can't put my location on a map. How do they do the mapping?
As long as I am in "rssi tuple" space, I maybe know if I am in a place where I have been before, and I can learn the topology of the place in terms of "which places are adjacent".
But I can't put my location on a map. How do they do the mapping?
don't quote me but i don't think it does. you basically go around and set up hotspots in rssi space that the server knows about. when other people enter that hotspot things happen. this isn't as silly as it sounds because for a lot of applications you don't need to know where you are in physical space but just what you're near (i.e. i put my tv somewhere, hotspot it, then when my phone gets near that hotspot it's near the tv).
Plus, if there is any mass between the marker and the tracked device, that will throw off readings. RSSI measurements are really only good for open air measurements or if you have characterized all the materials the rf passes through.
Yes, you're right. Sorry, I didn't mean to imply centimeter-level precision anywhere. I said "high precision" because I compare it to GPS and not RTT (which was not common when I started this project). Unlike FIND, any nearest-centimeter precision requires specialized hardware (to be available on Android P in the future! [1]).
The FIND system fills a niche where you might need room-level or sub-room level precision without having to install anything except an app on your phone or computer.
> any mass between the marker and the tracked device will throw off readings
Its true that individual readings will be affected by varying obstacles (doors/people), and this will throw off location classification if you have very few signal generating devices in the vicinity. However, generally places will see Bluetooth/WiFi coming from their neighbors in all directions so it would be hard to attenuate all signals simultaneously. The machine learning is pretty robust too, so if one of the readings get thrown off because there are still several others that can compensate.
[1]: https://developer.android.com/preview/features.html#rtt
nearest-centimeter precision requires specialized hardware
(to be available on Android P in the future! [1]).
Sadly, that link says "The result is typically accurate within 1 to 2 meters" so it's nearest meter rather than nearest centimetre.I wish there was a way to do better phone tracking but it’s hard to come up with a system that would be fast and reliable if you left your phone down somewhere while not driving you crazy with false alarms on a day to day basis.
there are no markers so there is no attenuation happening in that way.
But it all depends on the density of nodes. If you are also allowed to use odometry on the phone you can suddenly go up in resolution quite a bit. In that case you'll have a conventional SLAM problem from robotics, which can be considered more or less solved.