Having been thinking about how all these should go together I've started mapping out the different parts of required systems for URM (Unmaned Robotic Mower).
This post is about Navigation. The first part will be getting high precision GPS setup so the URM (Unmaned Robotic Mower) actually knows where it is at. Do keep in mind I am NOT A GNSS EXPERT OF ANY KIND. There are bound to be misunderstandings on my part, so please reach out and correct me! I'm simply sharing what I am learning for others to hopefully use.
What a lot of people don't know is using GPS is just a subset of global navigation technologies called Global Navigation Satellite System (GNSS).
Sticking with GPS, being the most familiar, is relatively accurate for what it provides. It can give you a location and altitude, within a few meters, generally any where on the surface of the Earth. To me that is mind-blowing.
The accuracy of GPS involves a bunch of variables such as antennas, atmospheric noise, and visible satellites. Unfortunately, not accurate enough for a mowing robot.
For URM to work we need accuracy, and precision mow as a maned mower would. Depending on GPS lock, accuracy error could be from sub meter to 15m. The worst case scenario provided by the GPS system is 7.8 meters and that doesn't even include things like receiver/antenna quality, sky blockages, and atmospheric conditions. 
Any error in the range of meters isn't going to work for URM. We would have to do something crazy like mow entire lawn 10x or have GPS error in meters * 2 to determine cutting deck size. Something like a 15m cutting deck, not going to happen.
To achieve the centimeter accuracy plus we need to use GPS in combination with a terrestrial augmentation system. These come in the form of Wide Area Augmentation System (WAAS) and Real Time Kinematic (RTK). After doing some research it looks like RTK will fit the bill for URM.
RTK is a method of using carrier phase ranging. This information is collected at a known point, aka base station, and is sent to the rover, aka movable target. The rover will then take this information and do a correction. The amazing thing about RTK is the accuracy provided, normally within 1-2cm, and optimal accuracy of sub centimeter. Perfect for URM.
From what I have gathered, RTK is an existing augmentation mainly used by professionals such as surveyors. This also includes professional pricing of several thousands for a setup. RTK used by hobbyist seems to be almost nonexistent until just recently, and still few and far.
My attempt to use RTK is using a newly released, at time of writing month old, NavSpark chip NS-HP . What makes this chip different is all the RTK processing happens on the chip and is so cheap compared to similar setups. How cheap?, talking $50/receiver chip. No additional software needed, such as RTKLIB .
With my new found knowledge I ordered a single chip. Doing some research I found that my state in the USA has a public RTK network Virtual Reference Station (VRS) via the Continuously Operating Reference Station (CORS) network. All that is needed is to get a user and password and you can start streaming correction data to your rover.
Before we get to involved here is a high level of what goes on.
I'm using the state ran VRS as my base station for corrections. This base station is located on the Earth at millimeter accuracy. My rover, the chip I ordered, is going to receive these corrections for augmentation. The medium of how the correction data is transmitted needs to be low latency and low bandwidth. In this case I'm using IP to transmit the data, other options are bluetooth, and local radio such as UHF or VHF.
This is an attempt at replicating NavSpark's Upgrade Your Smartphone GPS to 100X More Accurate RTK GPS . In short it did not work. Do keep in mind this setup is for real-time RTK lock.
Things I learned while I was sitting outside in 25F weather hoping for a RTK lock.
While this attempt was an abysmal failure a lot was learned about GNSS systems. The biggest issue I learned is I'm too far away from the VRS by about four kilometers. RTK greater than 10km starts to lose effectiveness.
Doing more research the NS-HP can server dual purposes. As a rover, which I was attempting above, and as a base station.
So what is a base station? It is a unit that knows it's true location. With this it can send carrier wave raw measurements as an output. This output is correction data the rover can then process for RTK lock. In short a base station can replace the dependency of using the state's CORS network. This also fixes the issue of being past the 10km limit for RTK.
The effectiveness of the correction data requires a precise fix. If not you'll be sending junk correction data. Remember the state's VRS is accurate with sub millimeter accuracy. How can we hope to achieve something any where near the accurate that is relatively available? Remember we need a known reference point to calculate a local known position.
The answer is on every property, property markers! Surveyors use the exact same tools and methods that we are attempting to use. Some property markers are to be accurate within a 1/100th of a millimeter. I doubt all property markers are that accurate, but they must have low tolerance since they are used as reference points.
The other battle in using property markers is what they actually represent. Going to google maps and eyeballing the property marker to the map isn't accurate enough. We need the surveyor plats. Thankfully this information is public record and published through online GIS service .
With all the missing pieces only thing left is to purchase a second NS-HP receiver. I have already made the purchase and awaiting on FedEx to deliver it. Would be nice if they managed to keep the package in the destination country, before randomly deciding to ship it to France.
Continuation from Naviation Part 2