To develop a safe, affordable, user-friendly lawn mowing system that can traverse and mow a lawn without a predefined map. The system must have a steering and driving unit that supports an autonomous and manual remote-control mode.

 

Team Members

Ethan Johnston | Jason Widjaja | Jacob Fankhouser | |

Project Poster

Click on any image to enlarge.

 


Watch the Project Video

video player icon

Download the Project Summary

video player icon


Project Summary

 

Overview

Design and implement a semi-autonomous or full autonomous lawnmower. Software programs were developed to process user input, color detection, collision avoidance, and lawnmower orientation. Hardware implementations include a touchscreen display, a pair of telemetry transceivers, three ultrasonic sensors, a bump sensor, a tilt sensor, and a camera.

Objectives

To develop a safe, affordable, user-friendly lawn mowing system that can traverse and mow a lawn without a predefined map. The system must have a steering and driving unit that supports an autonomous and manual remote-control mode.

Approach

  • Wireless Xbox 360 controller and receiver for manual remote-control mode
  • 7-inch touchscreen display as an autonomous mode dashboard
  • Python programming language and Thonny IDE for software development
  • Lightweight and cross-platform Python graphical user interface framework Tkinter for the dashboard
  • 3D prints of sensor mounts and control unit casings
  • 3D print a front bumper for bump sensor collision avoidance
  • Single-chip accelerometer and gyroscope as tilt sensor for blade safety
  • Front, left, and right ultrasonic sensors for collision avoidance
  • Image processing using OpenCV Python library for visual grass detection
  • Raspberry Pi 3 and 4 as the control unit for the dashboard and lawnmower, respectively
  • A pair of radio telemetry transceivers for dashboard and lawnmower communication
  • Voltage converter to power all motors and sensors from a single power supply

Outcomes

  • Lawn mowing system is operable manually or autonomously
  • Prototype development did not exceed $250 budget
  • Modular design to support future improvements
  • Software and hardware documentation for future design teams