Geofencing and RTK for robot mowers — how accurate does the boundary really need to be?

We’re UAV GNSS, a Septentrio receiver maker (Septentrio-powered receivers with AIM+ anti-jamming), so treat this as vendor-written — but the numbers below come from our own integration and field work with mower and AOG builds.

With so many AOG mower projects now running virtual boundaries, the question we get most is: how accurate does the fence actually need to be?

The boundary is only as good as the position behind it. A fence walked in with a handheld GPS wanders 1.5–3 m, which means the mower “owns” a strip that wide — it either scalps the bed edge or leaves a margin you have to trim anyway. Walk the same polygon with RTK fixed and the line repeats to roughly +/-2 cm pass after pass. That difference is the whole point of running RTK on a mower.

Fix state at the fence is the part most builds miss. The controller trusts whatever position the receiver reports. When the solution slides from fixed to float, that reported position can wander decimeters to metres within seconds — so a mower cutting on float right next to the street is running on a fence that is fiction at that exact moment. The rules we give integrators: log fix status alongside the track, only cut on fixed (or stop/crawl and re-plan on float), and keep a standoff margin inside the line as insurance for the moments it degrades.

Boundaries are where multipath lives. Walls, sheds, hedges and often the boundary wire itself reflect signals, so accuracy degrades exactly where you need it most — within a metre or two of the line. Antenna high and centred on the machine, solid ground plane beneath it, away from deck motors and battery wiring, is worth more than any setting change.

Heading matters when you rotate in place. A single-antenna mower turning on the spot has no reliable yaw, so corner and headland logic gets ambiguous. Dual-antenna heading (mosaic-X5 P3H — our HB51) keeps yaw stable even standing still.

Property edges are usually RF edges. Power lines, electric stock fences, transformer boxes and 4G masts tend to sit right on the boundary. In our field test, an F9P-class module (~25 dB jamming immunity) dropped to float/single about 3 m from a power-line corridor and needed 40+ s to re-converge, while a Septentrio receiver with AIM+ (~60 dB) held fixed through the whole pass. If your float events cluster in the same corner of the field every time, that is usually the reason, not the polygon.

Practical takeaway: draw the boundary with RTK, decide the fix-state policy before you let it cut unsupervised, and check per-satellite C/N0 at your worst corner — that tells you whether you are fighting geometry, multipath or RF.

We publish wiring and parameter guides on GitHub, plus an SBF log parser for exactly this kind of drop analysis, so you can replay your own float events instead of guessing: GitHub - uavgnss6-bot/septentrio-gnss-integration-guide: Septentrio GNSS receiver integration guide for ArduPilot and PX4 — wiring, configuration, RTK setup, and SBF data parsing. · GitHub

Do you let your mower cut on float or only when fixed — and how much standoff do you keep inside the line?