
Live Roads promises 1.5m-accuracy with standard cellphone hardware - cpeterso
https://arstechnica.com/cars/2018/04/highly-accurate-gps-for-your-cellphone-with-no-hardware-upgrade/
======
PhantomGremlin
I think the key is "probabilistic models" and "sensor fusion". Not more
accurate GPS.

Let's say you know a guy is traveling at about 60 mph on a four lane road, two
lanes in each direction.

Then the phone's acceleration sensors tell you the guy just moved "left" by 10
feet. A little while later you decide he just moved "right" by 10 feet. He
goes back and forth a few times. You also make the assumption that he's not
driving on either shoulder. So, you can guess that after he moves left he's in
the fast lane; after he moves back right he's in the slow lane.

Phones are so sophisticated these day. Here's something from Apple I found
after a quick search:

 _An accelerometer measures changes in velocity along one axis. All iOS
devices have a three-axis accelerometer, which delivers acceleration values in
each of the three axes shown in Figure 1._

[https://developer.apple.com/documentation/coremotion/getting...](https://developer.apple.com/documentation/coremotion/getting_raw_accelerometer_events)

Edit: this can get a lot more sophisticated if you can combine data from
multiple users in the same area. Let's say that people in the left lane are
moving at 40 mph and in the right lane are moving at 30 mph. You can easily
refine your guesses. All your left lane guys should be traveling about 10 mph
faster than your right lane guys.

In fact that info is so widely available that I'd be surprised if Google and
Apple weren't already using it.

------
Invictus0
There are plenty of startups doing this. I spoke to Navisens at TreeHacks and
they weren't willing to describe their methods outside of typical marketing
technobabble.

Sounds like they using weather data to determine slight changes in the speed
of light. I'd be surprised if this hasn't been done before though, it seems
pretty obvious. So there's probably another component I'm not thinking of.

~~~
mlevental
>slight changes in the speed of light

what could this possibly mean? are you trying to say they're measuring the
differences in refractive index of air as a function of humidity?

~~~
colemannugent
I think they're talking about environmental factors that affect the
propagation speed of the GPS radio signals from the satellites to the surface.
This would give them higher resolution timings on the arrival of the GPS
signals and thus better accuracy.

I don't think this has anything to do with the actual speed of light as that
is constant (in empty space).

On a related note, one of the recent SpaceX launches caused some perturbations
in the ionosphere and that had a measurable effect on GPS accuracy:

[https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1002/2017...](https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1002/2017SW001738)

------
stevep98
I think they are using the accelerometer (or even microphone) to measure road
noise. What appears to us as mostly white noise probably reveals unique road
flaws such as cracks, concrete joints, potholes, dips, bumps.

Sample this data and feed it into a signal matching algorithm like Shazam...

------
colek42
I am not an Android dev, so I don't know if it is possible, but maybe they are
accessing the GPS radio directly and doing RTK?

[https://en.wikipedia.org/wiki/Real_Time_Kinematic](https://en.wikipedia.org/wiki/Real_Time_Kinematic)

~~~
kiddico
This is duscussed in the article. The author states that RTK doesn't scale
because of the need for base stations spread about. Instead he guesses that
they use Trimble's RTX, which is used in Cadillac's Super Cruise system.

~~~
colek42
It has been awhile since I researched this, but I think you can just have n
RTK receivers within some distance and get quality data, you don't need any
actual base stations, you just need multiple simultaneous observations.

------
qume
The S7 gnss doesnt provide raw observation data so they are likely using the
GNSS solution with the phones IMU through a kalman filter.

