6 ms·
Amazing work. I work on the Android location team at Google, and I sent this article out to my team. GPS/GNSS is critical for accurate location/context, and th
by skzv 5y ago
Amazing work.
I work on the Android location team at Google, and I sent this article out to my team. GPS/GNSS is critical for accurate location/context, and there's still plenty of innovations happening in this field.
One of our directors is Frank Van Diggelen - none other than the professor who taught the Stanford GPS MOOC referenced by the article :) I'm sure he is going to appreciate seeing the course called out there!
- mleonhard 5y agoThere are certain streets in downtown SF where Android (and iOS) location always suddenly jumps to a block away. Navigation apps then direct drivers to make incorrect turns or even dangerous turns like turning the wrong way onto a one-way street. It seems to me that your software could prevent this error.
- skzv 5y agoYup! This issue, which is commonly described as the "wrong-side-of-the-street" or "wrong-city-block" error, is one of the biggest ones, and is where a lot of the innovation I mentioned is happening today. This occurs because in "urban canyons", meaning streets with tall high-rises or sky scrapers, there is little or no line of sight to GNSS satellites (GNSS being the generic term for all satellite positioning systems, not just the American GPS). Consequently, what your phone picks up are signals reflected off of buildings, which exaggerates the distance between you and the satellites, and causes the positioning solution to be pushed away- onto the other side of the street or another city block. One way Google/Android is tackling this is by using Google's trove of 3D building data, the same that is rendered in Google Earth when you use it in 3D. Your phone uses the building data to correct for reflections. Read on here (and note the authour!): https://android-developers.googleblog.com/2020/12/improving-urban-gps-accuracy-for-your.html https://android-developers.googleblog.com/2020/12/improving-... And, the device can use various filters and smoothers to minimize sudden jumps, and normally does, but there are edge-cases (for example, an app may be requesting pure "unfiltered" GNSS location returned directly from the GNSS chipset, hence the jumps). But rest assured, we are working on this issue. Anyway, thanks for the feedback. We're always doing our best to improve location accuracy and reliability for billions of users in all scenarios and environments, and it's no trivial feat!
- zb 5y agoFun fact: when I was looking into patenting this concept in c. 2007, the prior art search revealed that it had already been patented by someone in Japan in c. 1997. Amazing to think that ideas people had back when Selective Availability was on for the foreseeable future are just now becoming available to consumers. Congrats on getting it done!
- skzv 5y agoCool! Were you involved in GPS/localization R&D back then?
- zb 5y agoYes, I was working for a company making standalone car navigation devices (remember those?), amongst other GPS-related things - I also worked on a lot of OEM GPS receivers. There was even a guy (not me!) who had written the firmware for a GPS receiver basically from scratch, so I got a look at everything from the very low level up to the navigation UI. At this point the iPhone hadn’t come out yet, but building data was just starting to show up the maps we used for navigation.
- skzv 5y agoVery cool. What are you up to these days? My manager worked at Qualcomm back in the day and played a huge role in creating the first GNSS smartphone chipsets. Likewise, I've learned a lot from him and other veterans in my org.
- zb 5y agoCloud infrastructure - so basically I have gone right from one end of the scale spectrum (tiny GPS receivers) to the very opposite extreme :D
- mleonhard 5y agoTrying to predict reflections by processing building geometry sounds very complicated and error-prone. Wouldn't it be easier to query Google Maps & Waze telemetry for impossible position jumps? Then you could make geofences where Google Play Services ignores position jumps and falls back to Wifi-based location and integrating the accelerometer.
- 333c 5y agoI experienced this as a pedestrian in downtown Chicago (on iOS in my case). It made me curious about what was going on — were the buildings reflecting the signal or obscuring it somehow? It's a fascinating phenomenon.
- skzv 5y agoThat's exactly what's happening! Please see my other comment (along with the contained blog link)
- MarkSweep 5y agoJapan solved this problem in Tokyo by adding some extra satellites: https://en.wikipedia.org/wiki/Quasi-Zenith_Satellite_System https://en.wikipedia.org/wiki/Quasi-Zenith_Satellite_System
- kingnothing 5y agoUber has an interesting approach to solving this issue: https://eng.uber.com/rethinking-gps/ https://eng.uber.com/rethinking-gps/
- rvba 5y agoHow many satelites are tracked by a typical android phone? 4? Or more? Can it track both GPS and other systems like glonass at the same time?
- skzv 5y agoIt depends on the GNSS chipset in the phone, but usually it'll be all the GNSS satellites visible in the sky, from all major constellations. The current Android platform supports GPS, SBAS, GLONASS, QZSS, BEIDOU, GALILEO, and IRNSS[0]. Each satellite adds another constraint, which helps, and with more satellites to choose from, you can drop the weakest or worst measurements. [0] https://developer.android.com/reference/android/location/GnssMeasurement#getConstellationType https://developer.android.com/reference/android/location/Gns...()
- WelcomeShorty 5y agoSide note: > The current Android platform supports GPS, SBAS, GLONASS, QZSS, BEIDOU, GALILEO, and IRNSS[0]. But it depends (and varies wildly) on the hardware of said Android. I buy 3 to 5 cheap (sub 100 euro/US$) Androids per year and it always surprises me which device supports which GNSS is supported and how accurate or not they are. PS I use them to Wigle (https://wigle.net https://wigle.net) mainly, and the WiFi reception is exactly as diverse as the GNSS.
- jpindar 5y agoMine's detecting 20 at the moment, and using 14 of those. This varies slightly from minute to minute. Many GPS apps display this data.
- deleted 5y ago[deleted]