OpenMower Is an Autonomous Lawn Mower You Can Build Yourself
Elflein's OpenMower is an open source autonomous robotic lawnmower that takes advantage of RTK GPS data.
Most of today's robotic lawnmowers operate a bit like those cheap Roomba knockoffs from a decade or two ago. They kind of just amble around your yard until they run into an obstacle, at which point they turn and head off in another direction. They're inefficient, prone to getting stuck, miss portions of your lawn, and don't leave behind a pleasant pattern. Those problems are solvable with better positioning data, which Clemens Elflein's OpenMower utilizes.
The reason that those robotic lawnmowers work poorly is because they don't know exactly where they are. The good ones attempt to create internal maps, but that process is still inefficient and relies on very fallible input such as from wheel movement or collision sensors. Exact positional data would make that unnecessary, but standard GPS is very inaccurate — often measured in meters. That isn't good enough to guide a mower's movement in a safe and effective manner. Fortunately, there is something better: RTK GPS.
RTK GPS (Real-Time Kinematic Global Positioning System) uses GPS satellite data and dramatically improves its accuracy by taking into account local conditions. The local data can come from a commercial service, free services in some areas, or your own monitoring station. If the source of the data is good, you can achieve positioning accuracy down to about 1cm. That is more than good enough for a robotic lawnmower.
Elflein built OpenMower around an existing robotic lawnmower to save money on the housing, battery, motors, and blade. He then replaced all of the original electronics with a Raspberry Pi 4 Model B single-board computer, a Raspberry Pi Pico board, custom ESC (Electronic Speed Control) drivers, and a u-blox GPS receiver. The Raspberry Pi receives RTK data over the internet and combines it with the GPS data to calculate its exact location.
This allows for a very user-friendly interface. The homeowner starts by manually driving the robot around with an Xbox controller. All they need to do is drive the robot around the perimeter of the yard to set the boundary, then circle any obstacles (like trees) to set exclusion zones. After that, OpenMower's software will calculate "toolpaths," similar to a CNC mill, that leave behind a nice pattern. It can even move to a backyard all on its own.
If you want to build your own OpenMower, everything you need is on the GitHub page.