Sunday, January 1, 2017

Centimeter Grade Differential GPS/GNSS for under $750 !!

Wow! Amazing how technology changes!  GPS Theory & Field Practice are same, but hardware & software light years better!  A quick look from rapid training & GPS-GNSS post processing workflow capture.


Reach GNSS Module
Centimeter grade "Reach GPS" Postage Stamp size unit with uBlox
GNSS chipset side up (Intel Edison "WiFi webserver" chip on reverse)

Quick Facts & Links for the time compressed:

HISTORY & SIGNIFICANCE: For those of us who first saw "survey grade" GPS back in 1994 or so -- hardware cost was massive money -- $50K to $250K -- and software was steep learning curve. And there was NO GOOGLE to search for online help. Months to years to come up to speed & generate centimeter repeatable results. Reading fat and strange strange technical manuals [a real life 1995 example]. And you needed to be a jack-of-many trades just to get started -- math hero, software guru, electronics nerd, signal processing engineer, entry level orbital mechanics master, etc.  The list of cross-skills seemed endless.  
The author in 2000 with Novatel GPS-Station as
rover & 5.0 meter stadia pole to clear trees and 

By 2003, "survey grade" GPS was $25-50K -- and a little more "push button" plug and play.


Circa 2002-2003, Leica 500 on Tripod

Now in 2016?  Wow!

RECENT HISTORY: During 2016 Christmas to year's end "dead time" -- I was helping some UAV friends document & transfer a GNSS post processing workflow -- and was forced -- in a fun way -- to learn both "Reach GPS" and RTKPOST-RTKPLOT (based on RTKLIB).

LOCAL BASE EXAMPLE: Map picture is worth 1000s of nerd words.  First a quick test "flight" where guru Ian Gates hiked the UAV rover around the edges of the driveway, concrete edges and paving lines for visual & repeatable ground tracks.  The "MailBox" was the local reference station -- and was "fitted" with a "ReachGPS" unit -- acting as "Base" and recording local fixed observables. Pictured here are process Lat-Long path from plain ASCII text POS file -- generated as output by RTKPOST:


2013 six-inch aerial photo: Red "flight"/ground track 
of UAV "Reach GPS" Rover along edges of driveway 
concrete. Note that driveway was under construction 
in 2013 (see KML file here for Google Earth compare 
[careful GE "aerials" are not always "good"])

DISTANT BASE EXAMPLE:  The above UAV Rover set was post processed -- a second time -- via RTKPOST -- and this time using a "distant" (about 5Km) CORS Permanent GPS reference station TXBO (OBS files here).  Resulting map was a bit different -- for reasons that shall become clear:


Same 2013 six-inch aerial: Green is Reach GPS "flight"/ground 
track of Rover along same edges of driveway & concrete. The 
green track is offset approx 4.65 feet SW-NE from red track. 
Again please note that driveway was under construction in 2013. 
(for green track compare in Google Earth, please see KML file)

WHY DIFFERENT?  What caused the approx 4.65 foot offset SW-NE?  After running a dozen RTKPOST sessions -- testing "personality" CONF parameter effects on RTKPOST -- this accident of fast training became apparent -- a difference in the "best guess" for MailBox reference station -- extracted from debug of *.POS outfiles from RTKPOST:

RED Ref XYZ: 29.793639547 -98.719151454 407.6388 (degs/degs/meters)
GRN Ref XYZ: 29.793631843 -98.719162737 404.8325 (degs/degs/meters)
Delta Diffs:  0.000007704   0.000011283   2.8063 (degs/degs/meters)
Cart Offset:  1.52(m) or 4.98 feet
Great Circle: 1.38(m) or 4.53 feet

Note the delta differences: These very closely match GIS/Map plotting SW-NE offset measurements from POS file overlay on aerials.

File Sources: The above XYZ (Lat-Long-Hgt) coordinates were extracted from RTKPOST files:
  1. "Rov_201612302215_MailBox_vs_Flite_v2.POS" (red) and
  2. "Rov_201612302215_MailBox_vs_Flite.POS" (grn).
UPSHOT? Results?
  • This is BIG: RTKPOST combined with "ReachGPS" can "see" consistent UAV flight and/or ground track differences of 4-5 feet.  This is amazing for L1 code only GPS-GNSS receivers.  Take away? With a little less time compression, it is clear from RTKPOST behavior that much tighter solutions can be obtained.
  • Trash is Treasure -- Training "Errors" from ref station XYZ entry produced UAV rover repeatable results across different computers and using slight variations in the CONF personality run file (elev angle cutoff, mix of GNSS source signals, sky position blockage, multipath, etc).  Take away? With a little care, RTKPOST is robust.
  • Red vs Grn?  Bad vs Good? No, not at all.  Just a way to keep track of which was the "original" run by guru Ian Gates -- and which was run by this author in "trainee" mode.
  • Compared to "high end" post processing workflows like GIPSY-OASIS / GAMET / GLOBK RTKPOST is "easy to use" and more or less "intuitive" (if you can see the GPS signal processing theory in your "mind's eye").
Stay tuned for more soon.  Enjoy, RM