
Cheap Centimeter-Precision GPS for Cars, Drones, Virtual Reality - jonbaer
http://spectrum.ieee.org/tech-talk/transportation/self-driving/cheap-centimeterprecision-gps-for-cars-and-drones
======
trimble-alum
In 1999, prototype self-steering ag equipment could get the angle of the
working implement (bulldozer blade) by having GPS antennae on the perimeter of
the vehicle. The lack of OpenCV and such made full-automation imposisble
without a driver in the cab at the time. But, a collision avoidance system
that could handle autonomous AND piloted rigs together was already in an
advanced prototype stage ( basically, an automated "aircraft" controller that
would say to the driver "wait", "accelerate" or "turn")

Backgrounder on GPS tech at the time: accuracy was ~10 mm in the horizontal,
~1 m in the vertical when differential GPS was used. Differential GPS means a
well-known, fixed base station (WAAS or your own) provides error-correcting
deltas over a packet radio link. (This would also eliminate any SA injected
error, so SA was pointless to all but stand-alone receivers.) TRMB's
differential GPS was called "kinematic" because the differential calculations
would be valid while receivers were _in motion_ , whereas most others at the
time would only be sufficiently accurate when base and receivers were
stationary. Their receivers were extra accurate because of the, at the time,
expensive pseudo-wavelength + relativistic measuring of the receiver-satellite
distance.

With tech advances and scale, it makes sense that such tech becomes widely
available.

(TRMB's founders designed GPS)

~~~
jonah
Hmm, so are they using laser transits as the input to adjust implement height
when leveling fields? I always assumed it was dGPS, but 1m in the vertical
isn't nearly enough.

Robots have been (helping) grow our food for quite a while now and we just
don't think of it that way.

~~~
mutagen
Yes, lasers. Even with the higher accuracy and more expensive real time dGPS
systems the vertical accuracy isn't as good as horizontal. When you're looking
for a very shallow gradient in a field for irrigation GPS just isn't as good
as a laser level.

Much of the problem is geometry, while you're likely to have a good spread of
satellites around your receiver horizontally they're all on one side of the
vertical solution your receiver is calculating.

~~~
trimble-alum
3 sats are needed for a two point fix, 4 for a one point fix, and 5+ help with
accuracy if they're not clumped near each other (the constellation's always
moving). At higher altitudes such as in a plane at FL 350 with sats _below_
the receiver, vertical accuracy increases some compared to ground, which makes
these obvious:
[http://www.gps.gov/applications/space/](http://www.gps.gov/applications/space/)

------
FractalNerve
Initially I was excited, because by coincidence I have to work on the exact
same problem. Enhancing the precision, to enable gesture recognition without
having to carry a device. My plan was to use WiFi and rebuild this project:
[http://www.washington.edu/news/2013/06/04/wi-fi-signals-
enab...](http://www.washington.edu/news/2013/06/04/wi-fi-signals-enable-
gesture-recognition-throughout-entire-home/)

We have built an Indoor-Navigation-System with a POI-Editor for OSM and Route-
Planning algorithms and more.

The article is disappointing, because it doesn't tell much more than you
already know by reading the title. Here's the original article:
[https://wncg.org/research/briefs/centimeter-accurate-low-
pow...](https://wncg.org/research/briefs/centimeter-accurate-low-power-mobile-
positioning)

Then there is also an even greater TED Talk by Todd Humphrey:
[http://www.ted.com/talks/todd_humphreys_how_to_fool_a_gps](http://www.ted.com/talks/todd_humphreys_how_to_fool_a_gps)

You can find more about their plans for the VR-Application here:
[http://radionavlab.ae.utexas.edu/videos/280-precise-
augmente...](http://radionavlab.ae.utexas.edu/videos/280-precise-augmented-
reality-enabled-by-carrier-phase-differential-gps)

------
AndrewKemendo
C/DGPS has been around a long time. The US Coast Guard has DGPS transmitters
all around the US and you can use it anytime with off the shelf receivers.

The main issue is getting the hardware into consumer devices - and as the team
has said before it's going to take consumers demanding high precision
geolocation before that happens. I think the state of mobile geolocation for
99% of users is "good enough" for them not to care about cm precision stuff.

My hope is that some of the new AR software coming to mobile (including our
own) will drive consumers to want higher precision location.

edit: I should take note that I don't think high precision GPS will actually
be the way AR wins - in fact I am almost 100% certain it isn't. The way mobile
AR/VR wins is with large scale monocular SLAM, which is what our lab has
implemented and is expanding on today.

~~~
josephpmay
High precision GPS will be really helpful for SLAM, though, because when you
know where you are, you have much fewer features to sift through (pun
intended).

~~~
AndrewKemendo
I agree generally, especially if you are exterior but it fails completely with
overhang or poor overhead coverage. Better to have a system that can do
everything without the third reference as it will be less cumbersome.

The other thing is that a CDGPS doesn't initiate with high precision like a
camera does so you will always have (arguably) a higher amount of correction
you need to apply manually if you initiate from that reference as opposed to
with visual odometry.

------
pj_mukh
Piksi GPS
([http://www.swiftnav.com/piksi.html](http://www.swiftnav.com/piksi.html)) and
the more recently Reach GPS ([https://www.indiegogo.com/projects/reach-first-
affordable-rt...](https://www.indiegogo.com/projects/reach-first-affordable-
rtk-gps-receiver)) do offer this kind of functionality, but it is still tough
to do, so props to the Texas team for democratizing $10,000 technology.

However, I wish some of these guys would show us the initialization
procedures. In my experience trying to get an RTK level solution with an L1
only GPS receiver (read: cheap) is impractically hard. Then once you have it,
you can lose it with the slightest change in the number of satellites
available (i.e. if you go under a tree or next to a building). However, my
experience is now over 3-4 years old, maybe we've come a long way.

~~~
e12e
I've been wondering how hard it would be to do "poor-man's-fixed-point-gps"
with two android devices. Put the devices on top of each other on the ground.
This is your fixed point (wathever gps reading their each have, is "local
zero").

Now pick one up. The one on the ground is your fixed point, the other unit is
what you use for measuring. I wonder if doing it like that (possibly with two
or three "anchors") -- would give increased precision? I haven't really looked
in to what makes cheap gps "unreliable".

The units could communicate via bluetooth/mesh wifi for low latency, or over
the internet (wifi/gprs/4g/dial-up...) -- if one just needed "point-to-point"
measurements. Eg measuring a foundation or something related for construction.

I wonder if it would be "repeatable" (possibly only with the same units). And
if one might get cm precision that way.

[ed: Not sure which part is "hard". Maybe (just for science experiment fun)
one could drop a phone at one end of a 100m running track, an another at the
other end - to get an exact 100m baseline (+/\- 10cm?). I wonder if that might
be useful in order to calibrate two or more units to work in pairs -- if there
is some kind of predicable source of error in addition to just gps/signal
noise etc].

~~~
mojoB
There are a bunch of factors. There are both correlated and uncorrelated
errors that you need to correct. The main source of correlated error is
ionospheric distortion, which will affect the two units mostly equally. At the
low end (cheap cell phone GPS receivers), the measurement errors unique to
each device will tend to dominate.

If you wanted to experiment, there's no need to do it online. If you log the
output of the two receivers you can align the timestamps and try different
ways of post-processing.

------
Animats
You have to be able to see the sky, and at least five satellites, to get that
level of precision. Note that they test it on a rooftop.

Indoors, you'll need some local reference.

------
gvb
See also Piksi - "Low-cost RTK GPS receiver (centimeter level precision) with
open source software and board design targeted at UAVs."

[https://www.kickstarter.com/projects/swiftnav/piksi-the-
rtk-...](https://www.kickstarter.com/projects/swiftnav/piksi-the-rtk-gps-
receiver)

[http://gpsworld.com/what-happened-to-piksi-the-995-rtk-
gnss-...](http://gpsworld.com/what-happened-to-piksi-the-995-rtk-gnss-
receiver-on-kickstarter/)

~~~
ivereninov
Also Reach, newer project with more features and half the price. Runs RTKLIB
open-source software. [https://www.indiegogo.com/projects/reach-first-
affordable-rt...](https://www.indiegogo.com/projects/reach-first-affordable-
rtk-gps-receiver/)

------
WalterBright
What I find astonishing is that a satellite can be positioned to the
centimeter.

~~~
chm
I don't think the initial positioning of satellites matter, I'd doubt they're
carried with centimeter accuracy. What you need is to get very precise
measurements of relative positions once you're in orbit. Then you get much
more space for small errors in the original placement.

~~~
dingmuti
I've looked at this recently and just created a hn account to respond. GPS
satellites broadcast their position by transmitting ephemeris parameters. You
can compare the accuracy of these parameters with post-processed, high
accuracy orbits from igs.org. For the last few months, the real-time ephemeris
has had an RMS error of about 0.5 meters (95 percentile is about 1.3 meters).
(This is the range error, which includes both satellite position error and
satellite clock error)

Of course, these errors cancel out if you're doing differential GPS
techniques. (Where all that matters is accuracy relative to the base station)

One thing that would be nice is to access IGS's real-time streaming orbit data
over the internet and have the phone's GNSS chipset use that instead of the
broadcast ephemeris. However, you might still want dGPS for single frequency
receivers to help with ionospheric error.

~~~
ISL
Welcome. HN is a good place.

------
rburhum
I wish we would be leveraging more of the public RTK stations out there. at
the very least, we would be able to get higher horizontal and vertical
accuracy

[http://gpsworld.com/finally-a-list-of-public-rtk-base-
statio...](http://gpsworld.com/finally-a-list-of-public-rtk-base-stations-in-
the-u-s/)

------
tgb
I read the title and assumed it would be some sort of sensor fusion with
accelerometers. Anyone know what kind of price/accuracy you get with that? My
experience says a good 9-axis IMU costs $1000 which is a lot more than they're
aiming for, but for differential movement it seems to come down more to a
high-frequency hardware integrator. I've seen some compelling things just
using cellphone hardware.

~~~
darkmighty
I've delved into this question some time ago and it's hard to make it work.
First of all, the IMU measures the _second_ derivative of your
position/orientation, so you get double integration error, which blows up
really quickly. Second, since it is completely relative, your accuracy is only
as good as the best static accuracy of your GPS. So the conclusion is it's
usefulness would be limited to filling in gaps in the GPS while at movement,
decreasing latency, and improving velocity measurement; nice, but not game
changing. Lastly, I believe the greatest problem is the diversity of IMUs out
there: you need a lot of consistency out of the IMU to get anything done at
all (this may be solvable if you settle on a single manufacturer).

Lately I've put more faith in using cameras to get good positioning everywhere
(as good as you can get your GPS accuracy, it's not going to work under a
canopy or inside a building, and because of double drift IMU's just cannot
solve it either for more than a short time span).

------
Lancey
What's the strain on the device itself for something this accurate? What kind
of impact would it have on battery life? Even if it was a buck for the chip,
what other factors, e.g. processing power, would limit its applications in
consumer-grade electronics?

