SmilingRobo Blog

OpenMower

By SmilingRobo Team on Sep 29, 2024
Image

Demo video

Access it on SmilingRobo here

The OpenMower Project: Revolutionizing Robotic Lawn Mowing Through Open Source

OpenMower is an innovative, open-source project that aims to transform the world of robotic lawn mowing. What started as a modest garage initiative has evolved into a thriving community-driven platform, with robust hardware and advanced features that provide users with a better, smarter, and more affordable alternative to conventional robotic mowers.

Introduction and Vision

Let’s face it: the current generation of robotic lawn mowers leaves much to be desired. Most models simply move in random directions, bouncing off lawn borders, turning randomly, and repeating the cycle. Clemens Elflein, the creator of OpenMower, saw this and believed there was room for improvement. By disassembling the YardForce Classic 500, a basic, affordable robot mower, Clemens realized that while the hardware was solid, the software needed a major upgrade.

OpenMower’s vision is to replace subpar software with smarter, customizable solutions, creating a more efficient and intelligent robotic lawn mower. The best part? It’s open-source, meaning anyone can contribute, customize, and build their own version of the OpenMower.


Project Goals

OpenMower has clearly defined goals, focusing on making lawn mowing more efficient, safe, and cost-effective. Here’s a quick overview of the project’s objectives:

  • Autonomous Lawn Mowing: The robot should be fully autonomous, capable of mowing a lawn without human intervention.
  • Safety Features: Safety is paramount, with an emergency stop function if the mower is lifted or crashes.
  • No Perimeter Wire: Unlike traditional robotic mowers, OpenMower eliminates the need for a perimeter wire, offering flexibility for multiple mowing areas.
  • Low Cost: One of the project’s goals is to ensure that OpenMower remains cheaper than mid-range off-the-shelf models.
  • Open-Source: The project is fully open-source, allowing anyone to replicate the mower, contribute to the code, and improve it further.
  • Obstacle Detection: OpenMower aims to have the capability to detect and avoid obstacles while mowing.
  • Rain Detection: The mower should detect rain or bad weather conditions and pause operations until they improve.
  • Aesthetic Appeal: OpenMower is designed to look good while it works, ensuring you’re not embarrassed by its appearance in your yard.

The OpenMower App

The OpenMower App allows users to visualize the mower’s progress, monitor mowing patterns, and interact with the robot in real-time. It adds an extra layer of convenience and control, enhancing the overall user experience.


Current State of the OpenMower Project

The basic mowing functionality is already in place. OpenMower is now able to autonomously map the lawn, mow it, and return to its docking station when the battery runs low, resuming mowing after recharging. While obstacle avoidance is still in development, the project has made significant strides, and tech-savvy users can already build and operate their own OpenMower with the resources provided.


Hardware

The hardware behind OpenMower has been designed for stability and flexibility, allowing easy modification and upgrades. The project utilizes two motor controllers: the xESC mini and the xESC 2040, with the latter offering a low-cost, RP2040-based solution. However, some parts, especially for the xESC mini, are harder to source, so users should be prepared for potential challenges in building.

Hardware tasks still in progress include:

  • Discharge current estimation for more accurate battery charge levels (in development)

Other hardware features include voltage and current sensing, an emergency stop button, an IMU (Inertial Measurement Unit) for orientation, rain sensor integration, and ROS hardware interface support.


Software

The OpenMower software is available in a dedicated GitHub repository and provides the necessary functions for autonomous lawn mowing. Features such as path planning, docking, and mowing states are already implemented. However, obstacle avoidance is still under development.

You can check out the software repository here: OpenMower ROS GitHub Repository.


Getting Started

If you’re interested in building your own OpenMower, visit the OpenMower Website for comprehensive guides on parts, assembly, and software installation. The community is active on Discord, where you can ask questions, seek help, and contribute to ongoing discussions.

Additionally, the community-driven OpenMower Wiki provides extra guides and valuable insights from other users who have already built their OpenMower.


How You Can Contribute

You can help the OpenMower project by:

  1. Building your own OpenMower: This helps validate the concept and provides useful documentation for future builders.
  2. Contributing to the GitHub Repository: Starring and watching the project helps increase visibility and encourages others to contribute.
  3. Participating in the Community: Join the Discord server and engage with other builders, or subscribe to Clemens’ YouTube channel for project updates and tutorials.

Compatible Robotic Mowers

During the project’s early stages, it was discovered that the YardForce Classic 500 shares components with other robotic mowers, such as those under the Herkules brand. The mainboard in these robots is manufactured by SUMEC Hardware, a Chinese company, meaning that many robotic mowers could be upgraded with the OpenMower software.

A list of compatible devices is being compiled to help the community upgrade existing robot mowers. If you have a cheap robotic lawn mower, check the mainboard to see if it matches the one used in OpenMower. If it does, you can upgrade your robot and add your model to the list of compatible devices in the community repository.


Conclusion

The OpenMower project is a shining example of what open-source collaboration can achieve. By combining high-quality, off-the-shelf hardware with smarter, customizable software, OpenMower promises to revolutionize the world of robotic lawn mowing. Whether you’re a tech enthusiast, a DIYer, or someone interested in robotics, OpenMower is a fantastic project to explore, build, and contribute to.

Join the community today, build your own OpenMower, and help make robotic lawn mowing smarter and more efficient for everyone!

Copyright © 2024 SmilingRobo