Should I set up a RTK Base Station or use NTRIP?

Hello,

I am in the planning stages of automating a mower for my property. I’ve spent hours looking for the answer in the wiki and on these forums.

I have a RC brush cutter on its way from China right now (I am in Ohio). I am familiar with ArduPilot and wrote this article which has been in the documentation for years and helped out a lot of other newbies, but I am new to Rover.

I need centimeter-accurate GPS at my property. There isn’t a base station even in Ohio on the rtk2go network that I can see. I’ve contacted ODOT to see if I can access their RTK network, but I doubt that will happen.

Questions:

  1. How do I see a map of free base stations (other than rtk2go) near me? Am I missing something? It doesn’t look like NTRIP is a viable option for me.
  2. If there are no base stations close enough for the accuracy I need, will I need three receivers to set up a base station on my property and two for the rover (f+1 for the roving base station on the vehicle)?

I am south of Chillicothe, OH (45601) for reference.

I appreciate any assistance!

Unless you can use the state managed CORS sites, you probably need to set up a fixed base on your property.

You’ll need a base station capable module for the fixed base. A Zed-F9P based module is easily the most proven hardware for the use case.

I am working on a fixed base application for Raspberry Pi that eases the pain of initial setup. It’s almost ready for release, but I do not want to link it here because changes are frequent, and I want to more formally release it in the near future. Keep an eye out for that if it interests you.

The vehicle needs only one RTK-capable module onboard to get the precision you desire. Again, the Zed-F9P is probably your friend. If you wish to use a moving baseline (GPS for yaw) configuration, you need a second module onboard. Alternatively, CUAV makes a twin antenna UM982 module that is fairly performant and easy to configure (and you only need one of those for moving baseline operation).

4 Likes

Thank you very much. The mower I purchased has a standard vertical shaft arrangement, and I figured the rotating mass would play havoc on a compass. If that is the case, I can always try it out and go with the GPS for Yaw configuration.

I would be very interested in your RPi ground station. I have a two story house on a high hilltop, so I planned on putting the antenna on my roof.

I don’t want to hammer you with questions, but I have the original Pixhawk and I was concerned with vibration dampening. I planned on just purchasing a Cube and carrier, but what is your experience? Should I try out the Pixhawk first? On aircraft I use gel pads or make a mount with grommets, but a mower is a completely different use case.

I think you should almost certainly explore the use of GPS for yaw, as most of us have found that combustion engines and whirling blades do not play nice with compasses.

I use a Cube Orange on one of those silicone bead-mounted vibration dampers on my mower (the ones that are almost always ill-advised for airborne platforms because of their over-damping effect). With Rover, since you aren’t trying to actively stabilize in 6DOF, vibration is less of a concern than with a multirotor, but minimizing its effects certainly helps. It’s probably worth trying your existing hardware rather than spending extra cash now. Just mount it on something that will absorb some of the harsh vibrations from the engine and mower deck.

3 Likes

Thanks a BUNCH! It’s going to be a bit before I start putting this all together, but when I do, I’ll try to document my build as much as possible for others. I’ll keep an eye out for when your get your base station working.

@Dave_Smith1,

Here is a link to a Base Station that I built using a Sparkfun ZED-F9P RTK GPS module and another link to a Base Station that I built using a NavSpark Store (PX1122R L1/L2 RTK Evaluation Board.
The nice thing about a Base Station is that it can be portable and results in a very short baseline compared to using a NTRIP Server that may be many kilometers away.
Keep in mind that Base Stations are still not inexpensive to build if you use quality components, but are way cheaper than they were five to ten years ago.

Regards,
TCIII

Nice work, TC. My own base station uses a Raspberry Pi Zero 2 W, 50W solar panel, 14Ah deep cycle battery, ArduSimple SimpleRTK2B, and survey grade antenna. The antenna is mounted on my roof on an old, existing DirectTV satellite dish mount, and the solar panel is on a south facing part of the roof.

The app that I wrote uses NodeJS to handle all the data and backend and presents the user with a web interface for configuration. It creates a local TCP service and a connection to RTK2Go if NTRIP casting is desired. It even (optionally) interfaces with a Renogy solar charger’s RS232 port for charge state information. I’ll see if I can set aside a little time to properly release it this week.

3 Likes

Bookmarked! Thank you for the assistance!

@Dave_Smith1,

Glad to have been of help.

Regards,
TCIII

A little off topic, but an interesting aside - I made a survey tool using a prism pole, F9P and good antenna, and a Matek H743 autopilot running Rover firmware with a few custom scripts. It has an ExpressLRS receiver that allows me to interact with the scripts using an RC transmitter along with 915MHz telemetry for RTCM3 and waypoint interactions via Mission Planner.

Today’s stupid, nerdy project is to use measurements from it to create a 3D model of my very irregularly shaped pool so I can determine its volume to a fairly high degree of accuracy. It’s coming along quite nicely!

1 Like

Ha! That would have been useful for me. We recently built our house in the middle of the wilderness and I have done all my calculations with vanilla GPS. I was close in most instances, but your project would have been very helpful in calculating topsoil, etc. I am pretty excited about having RTK on my property. I have an 1800’ driveway and plan on my rover drag it regularly for maintenance. This is definitely a fun time to be alive.

Here is the mower project, and forget about the Ardupilot with a bunch of settings and problems.

In this project there is information about the RTK base station. I also use this project for the tractor atopilot (AgOpenGps).

Well, since it’s mildly relevant at this point, here’s how it turned out. You can see the Mission Planner screenshot that I imported into Fusion 360 as a canvas to trace. I used the survey stick to get the critical dimensions and extents (using “distance to waypoint”). Then I walked the perimeter to get the purple trace line to make a fairly decent outline of the whole thing. A few depth measurements and a bit of fiddling with the fillets to make a reasonable facsimile, and here it is!

Turns out my rough guess of 30,000 gallons was probably good enough :smiley:

I may do a writeup on the ArduPilot based survey pole sometime, but I bet you could put it together with just my description above.

2 Likes

Wow, I got a response from the CORS admin for Ohio and it is free to use. I did a little searching and according to their mapping page, it is accurate to within 7cm across the state. I would think that I could get better accuracy because I am not in the farmland, and the towers are clustered pretty tightly in my area. I have one tower within 10 mi, and another within 12 mi.

Here is his response:

Dave, the service is available to anyone, so you are more than welcome to use the correction stream for your mower. One thing to note though, you will not be connected directly to either of those base stations, our system uses the network RTK approach, so it takes the 6 nearest bases and creates a correction factor based on your rover location. That method takes out the potential error caused by distance from the base.

1 Like

Time to go back to middle school science/math class for a moment and discuss accuracy vs precision.

Unless you have a VERY unique use case, what you want is high precision with repeatable, relative accuracy. Absolute accuracy (i.e., mapping the EXACT location of a point with respect to an established reference frame) is not really required.

In other words, if you connect to the same NTRIP/CORS source for every mission, it will correct your vehicle’s position relative to its own position, which should remain fixed and constant. If you then create all of your missions based on that reference, they will be very repeatable, even if the “real” (absolute) locations are slightly mismatched from what a surveyor might otherwise establish. Your only source of error at that point is the degree of precision that your vehicle’s hardware can repeatably achieve, which should be 2-3cm (though, in practice, you may find that the autopilot still produces some amount of additional navigation error, despite “knowing” its position to such a fine degree).

If you’re worried that a few cm of absolute inaccuracy will prevent you from clicking on a map to produce waypoints, you’re in for a bit of a shock. Note the offset of my pool’s imagery above vs the RTK corrected path that I traced around it. Unless you’re using a very high quality map (likely not something you can even get your hands on), satellite imagery like that produced by Google is always inaccurate by a margin that would be unacceptable for establishing mowing perimeters or obstacle locations. Better you establish those locations with your own RTK corrected source than trust a point-and-click method on map imagery. Simply saving waypoints while driving around with a good RTK Fixed GPS state is likely more than sufficient to do that.

Additionally, I highly doubt you could achieve better than 7cm absolute accuracy with your own base station unless you have a surveyor provide its position. A “survey-in” is often only accurate to 1-2 meters, despite reporting its standard deviation down to centimeter level precision. I found, via a fairly arduous (and probably irrelevant) post-process analysis, that I could only achieve 1.4m absolute accuracy during a prolonged survey-in. My own base station is likely accurate to within a few cm at this point, but that DOES NOT MATTER! Even at 1.4m absolute accuracy, I could achieve repeatable RELATIVE position for every mission I ran. When I corrected it via PPK analysis, I had to go back and redo all of my missions, since they were then offset by that same 1.4m ABSOLUTE inaccuracy.

I hope that makes sense. If it doesn’t, I’ll try and explain better/further.

4 Likes

In my case, satellite imagery is about two years behind because we had loggers remove trees, we put in an 1800’ driveway etc. Google maps were fine for planes, but my plan was to drive the rover to the corners of the areas I wanted to mow and make waypoints, then have the software create the path. When I get missions that work, I don’t intend to change them, but run them monthly to keep the grass down.

If I understand what you wrote and the other things I’ve read, the error of the base stations, whether they are NTRIP or one I build stays constant (?). As long as I am referencing them, and I assume (shut up, Murphy’s law) that CORS should be pinging the same six base stations each time I access their system.

Am I close? I cannot believe how much I have ingested in the past 24 hours.

If their system is worth a damn, its absolute accuracy should never change by enough to matter for mowing a yard.

Since it’s probably used for things like road construction and surveyor references, that should be the case.

I will need to do a lot of testing on flat ground before I turn it lose on the area that I bought the mower for. It is 20-30 degrees slope, with rough terrain, loose rocks etc. I fear removing the rocks because they are holding the hillside back, lol. We had some erosion issues to say the least. I think itwill contribute a LOT to the autopilot’s inaccuracy if it is slipping and bouncing. Even if I get the rover tuned and repeatable, I will build in a margin/border along the edges that I hit with a grass trimmer.

1 Like

Sounds like a plan. I keep mine about a foot to 18” away from things I really care about. Rough terrain will definitely have an impact.

https://www.unavco.org/instrumentation/networks/status/nota/overview/ACSO is in Ohio and something you can look at, too.

The problem I ran into, is most of these sites are GPS only, and maybe even just L1. For my two locations, they’re also a little far from me.

I could get a fix, but it took a while and it wouldn’t hold FIX like I wanted to.

I installed my own base, and by using L1 & L2 and multiple constellations, the FIX is faster and better.

As to siting my base, I record several days of observations, then there’s a Canadian service you can send the output to, and they’ll post-process the information and give you a precise (+/- 0.002 m (95%)) location, which you can then define in the F9P or other base station as your actual location.

Then never move the base antenna again.

I did - I moved from the garage to the shop, and maybe I didn’t have as good of a fix when I established the location for the garage a few years ago, but my fences and missions all shifted a bit and had to be recreated.

(Until I moved the base, I was able to consistently re-run the same missions over a few years with repeatable results)

On the plus side, I moved from a wifi connection that was spotty to a wired Ethernet connection, so overall reliability has gone up.

On making your mission - like Yuri says, I drive the rover with RTK fix around and mark my route, then use that to create a polygon in Mission Planner and build my mission.

For manual fences around the important things, I now drive at the item from four directions, hit/touch it, then I wrote an AWK script to pull the four entries out, average the position, and insert that as a circle fence. Load the fence into MP, load the mission you recorded with the fence areas, and compare - then adjust the fence radius as needed until it covers the four dots marking the approach to the object. Rinse and repeat.

You can also drive around the perimeter and then convert those waypoints into a fence polygon for a no-go zone.

2 Likes