gps and rtk gps - stanforduav.orgstanforduav.org/.../06/joubert-gps-and-rtk-gps.pdf · rtk gps...

23
a short overview of gps and rtk gps for uav enthusiasts Centimeter-accurate 3D localization May 2014 Niels Joubert, Swift Navigation & Stanford University

Upload: others

Post on 25-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

a short overview of gps and rtk gps for uav enthusiasts

Centimeter-accurate 3D localization

May 2014 Niels Joubert, Swift Navigation & Stanford University

Page 2: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

“where am I?” & why do we care fundamental problem in UAVs:

Seems necessary for interesting autonomy

Precise trajectory following in unconstrained, outdoor environments

Indoor systems rely on mocap, lidar, visual tracking

Precision Waypoint Flying

Precision Autonomous Takeoff and Landing

Page 3: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

“where am I?”: GPS Localization fundamental problem in UAVs:

US NAVSTAR GPS: 28 active sats, 26,600km, 11h58 orbital period

1.575 Ghz (L1) 1.2276 Ghz (L2) 1.023Mhz DSSS CDMA, 50 bps

Russian GLONASS: 24 active sats, 19,100km, 11h15,

EU Galileo: 4 sats

Chinese Beido: 15 sats, mainly covers asia-pacific

Japanese QZSS: 4 sats primarily covering japan

Indian Regional Navigation System: none yet, operational by 2015

Page 4: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

how does GPS work?Time of Flight ranging for Position, Velocity and Time calculation

Page 5: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

time of flight ranging

Page 6: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

time of flight ranging

Page 7: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

time of flight ranging

Page 8: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

time of flight ranging

Page 9: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

Satellite time of flight rangingGiven:

a synchronized timer

known base locations

calculate the position of a receiver by

calculating a pseudo range to each satellite,

solve for the x, y, z and the unknown clock offset

This gives us a x,y,z position in a reference coordinate frame (ECEF). Convert to Lat Lon Alt using a reference ellipsoid.

Page 10: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

q1: where are the satellitesCalculate from Keplerian Elements: 6 params to specify two-body problem.

This is an approximation!

Get from elsewhere or sats:

Almanac for all (valid: week)

Ephemeris for current (valid: 4h)

Takes 12.5 mins for full nav message to download

Ephemeris encoded redundantly:

~1min to download it!

Page 11: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

q2: synchronizing time

Turns out we don’t need to agree ahead-of-time on an absolute time, we formulate the unknown clock offset between our timer and the sat timer as one of the unknowns

Solve for x, y, z, time

Page 12: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

what is in the gps signal

Navigation Message (37,500 bits)

UTC Time, satellite health, ephemeris, almanacs

Very low data rate (50 bps)

Pseudo-Random-Number sequence of “chirps”

High rate (1.023Mhz) ranging code

Think of this as the foghorn’s melody playing over and over again

Page 13: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

how is the GPS signal transmitted

Navigation Message (37,500 bits)

Encoded as a 50 bps message

Then encoded on a Pseudo-Random-Number Sequence at 1.023 Mhz: 1023 “chirp” sequence repeated, every bit encoded over 20 sets of chirps. (Direct Sequence SS)

!

!

PRN message modulates carrier frequency at 1.575Ghz

Page 14: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

direct sequence spread spectrum

Take a low-rate digital signal (+1, -1 for 1 and 0 bits)

Multiply it by a high rate signal

Send 20 repetitions of the PRN digital signal for every bit

Why?

Multiply and add a local copy of the PRN code with the received signal. When properly aligned, all the individual chirps add together to amplify the signal.

Noise resistance!

Page 15: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the
Page 16: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

sources of inaccuracies

Sat Position Errors

Gravitational effects, modeling inaccuracies

Straight line / constant speed assumptions broken:

atmospheric effects, multi-path reflections

Clock inaccuracies:

Crystal oscillators drift

All these affect the pseudorange accuracy

Page 17: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

dilution of precision

Inaccuracies in pseudoranges are amplified by the geometric arrangement of constellation

“HDOP” < 5 is acceptable

Page 18: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

mitigating inaccuracies

Calculate errors separately

Transmit these to GPS receivers

Satellite Based Augmentation System (WAAS)

Cellphone-based augmentation

Page 19: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

here’s some questions I asked myselfWhy does GPS not work indoors?

Attenuation of signal through walls/roof: weakens signal beyond receiver sensitivity

How can all the satellites transmit on the same freq? different PRN codes - other sat just looks like noise (accidental bit flips)

How can GPS signals be 30db (0.001) below the noise floor? Why?

Practically: The “process gain” of DSSS encoding is 30 db (1032x) due to bit pattern. Theoretically: Shannon-Hartley Theorem

Why is GPS only 3-5 meter accurate? many sources of error, fundamentally, best we can do to align our local PRN copy with remote: 300m bit means we’re within 1%

Why is vertical accuracy so much worse? Geometry of the problem: errors are amplified in height more than x,y

Page 20: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

rtk gps

Rather than track the PRN sequence at 1.023 Mhz

Every chirp is 300m long!

Track the phase of the carrier wave

Every cycle is 20cm long!

Problem:

There’s no “start” to the carrier wave (unlike the PRN code)

Page 21: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

rtk gps: differential gps

Solution: Use two receivers, calculate the differences in observed carrier wave

Solves for a baseline vector between two receivers

Cancels out most sources of error in the process

One new unknown:

Time offset between the two receivers

Needs to be estimated

Page 22: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

takeaways

GPS requires a very clear sky view - careful multi path!

GPS signals are really weak - careful RF interference!

GPS requires accurate sat position - wait for ephemeris

Dilution of Precision (“HDOP”) needs to be low

Visible constellation changes as you fly around, and over time - accuracy changes. Monitor it!

Longer term: best solution uses GPS as only 1 of many sensors (even true for RTK)

Page 23: GPS and RTK GPS - stanforduav.orgstanforduav.org/.../06/Joubert-GPS-and-RTK-GPS.pdf · rtk gps Rather than track the PRN sequence at 1.023 Mhz Every chirp is 300m long! Track the

references

Understanding GPS, Kaplan et al