Show HN: Find3 – An indoor positioning system for smartphones and laptops
github.com
github.com
[0] http://www.lighting.philips.com/main/systems/lighting-system...
So, that makes total sense.
When you say, “used to” did you mean that the product was discontinued and/or isn’t available for purchase anymore? Or perhaps Philips sold the technology?
I’d like to learn more, will use the Contact Us form on the page you linked but if there’s someone you could recommend that would be much appreciated.
The indoor positioning is also still being sold as a product. As far as I know we are doing some mega stores and expanding.
If the contact form doesn’t work DM me and I can see if I can get a direct contact for you. (Added email to bio)
The reason for asking is that there are a few companies in The Netherlands that I'd love to work for, and Philips is one of them. (Other companies would include the NS or Thales) Furthermore R&D does sounds like something that I would love. However being mainly a software engineer with a touch of mechanical engineering I'm not sure if I'd be a good fit.
I know that Philips is only hiring interns at the moment, but I assume that most departments won't differ much from other 'big' Dutch companies.
In addition we use the system to make smarter offices [0]. The lighting grid is used to track where employees are, and will be using ML. All to reduce the CO2 footprint by smartly heating only the right areas of a building at the right times, and do the same with airconditioning, lights, etc. see link below.
[0] http://www.lighting.philips.com/main/cases/cases/office/edge
Perhaps this is the reason for butterflies and bees to decline.
The ESP8266 uses WiFi and submits the BSSIDs and their RSSI to the server.
The ESP32 version uses BLE probes additionally, which potentially improves accuracy.
Any feedback is welcome. This is an early hack.
What about privacy of the users? Does the server know where everyone is?
I say high-precision because I compare it to GPS, but if you compare it to round-trip time (RTT) measurements which get cm-level precision from specialized hardware, it is an order-of-magnitude behind.
The public server knows the mac addresses of devices that they send to it, so in a sense it does know where they are (because those can be reversed with public wardriving databases). The public server does not have authentication, so if someone figures out your "family name" then they can see your data. I suggest using the public server to try FIND, but not to use FIND so I have instructions for setting up your own system. [1] I'll make this more clear in the docs.
You probably really want to set up a private server to use this in practice or even try it out.
Otherwise looks promising. A nice addition to my home setup
[1]: https://www.internalpositioning.com/doc/server_setup.md
Edit: For those who finished playing and now want to delete their data from the public server, I just added a DELETE endpoint: https://github.com/schollz/find3/blob/master/doc/api.md#dele...
Although I no longer work/learn at the Co-Lab I'd love to plug the value of these sorts of programs at schools. They give encouragement with money and publicity, and most importantly, tools (VMs/APIs) and advice ("why won't this compile?"/"where do we start?"). I had a chance to see and help with a lot of projects that wouldn't have otherwise been possible to get built. Hopefully it helped a few people get into hacking that wouldn't have otherwise too!
[1]: colab.duke.edu
I worked on an indoor tracking system several years ago that used custom hardware. Since then, I've seen a lot of crappy solutions that use BLE RSSI measurements. This is simply not an easy problem to solve with crude methods.
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.
there are no markers so there is no attenuation happening in that way.
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.
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.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.
We started looking into triangulation, but didn’t have a chance to compete the project.
GPS satellites are ambling along at 14,000 kph so they need pretty accurate timekeeping to get a precise position.
This system does not do round-trip time measurements (RTT) which I believe you are referring. RTT is different because it uses actual triangulation, whereas this system merely classifies a given point in space based on surrounding electromagnetic waves (WiFi/Bluetooth/etc.). RTT is superior, what I would call extreme precision, because it is capable of cm-level precision. (I say high-precision as compared to GPS which I tried to do this with before years ago).
I love RTT, except that it is not a solution that is widely available yet. This FIND system is nice because anyone can use on their phone right now, and you don't know need any specialized hardware or need to buy any equipment. And the signal generators are already there (your WiFi, your neighbors WiFi, Bluetooth devices, etc.).
> How many devices to coordinate the location discovery?
In the active mode (where you do the scanning) it will use every device it sees in the vicinity. In a place like an apartment in the city, this would include all WiFi+Bluetooth points in your home and your neighbors, which could be dozens.
> There's no mention of hardware or system requirements.
Thanks, I'll fix this. It really depends on how you use FIND - in active mode you only need a computer or a Android smartphone. For passive mode you need some small computers and WiFi cards.
Thinking more about it, you could even use an ARP ping (like the "arping" tool) to try to ping the AP directly, even if it's not the router.
> To estimate location, it uses sources like Wi-Fi, mobile networks, and sensors.
Feeding it with BSSIDs and RSSI, it gives you a precise response with GPS coordinates.
> […] an open service which lets devices determine their location based on network infrastructure like Bluetooth beacons, cell towers and WiFi access points
how robust are the fingerprints across devices i wonder and whether this has been experimented in with strong multipath effects (thereby confounding fingerprinting).
edit:
another interesting thing is that this is basically context sensitive hashing of tuples being done using ml classification techinques
I use this system to track phones and two different computers in my home without a problem, even though I learned only one device. The RSSI values are pretty well normalized so it works well.
> strong multipath effects
The signals need not be normally distributed to be effective. Because this is classification it doesn't matter if the distribution of signal levels is multimodal (i.e. it is composed of multiple signal values through multiple paths), as long as the distribution of signals are different from location to location.