All projects

Robotics, AI, and Software

Autonomous lawn mower

A ROS-based autonomous mower combining YOLOv8 perception, LiDAR mapping, localization, coverage planning, motion control, and safety checks; my work spanned perception and autonomy integration.

Role & contextAI & perception lead · mapping, planning and autonomy integration
StatusCapstone completed
The team’s assembled lawn mower prototype.
The team’s assembled lawn mower prototype.
0.764Detection mAP50 · validation set
0.745Segmentation mAP50 · validation set
Honourable mentionWestern Engineering Design Day

The problem

A robot mower needs to understand both the surface it can cut and the obstacles it must avoid. Our team developed an autonomous mower concept for elderly and mobility-limited users, combining a physical platform with a modular autonomy stack.

My contribution

I led AI perception development: preparing image data, training and evaluating YOLOv8 detection and segmentation models, and connecting perception outputs with the wider robotic system. My contribution also extended to LiDAR mapping, localization, coverage planning, motion control, and safety checks, working with the team to connect these parts of the autonomy stack. Lawn, boundary, and barrier masks supported cut/no-cut reasoning, while object detections identified obstacles.

How the system fits together

I worked with the team to combine vision with LiDAR mapping, localization, coverage planning, motion control, and safety checks. ROS nodes exchange perception and navigation information, while Gazebo and RViz support staged simulation and visualization. The project includes both ROS 1 and ROS 2 development artifacts; the documented final report describes the ROS 1 pipeline.

Results and limits

The recorded validation scores are 0.764 box mAP50 and 0.745 mask mAP50. The team earned an Honourable Mention at Engineering Design Day. Perception was used alongside independent safety checks; these validation scores do not measure the safety or field coverage of the complete robot.

Perception, simulation and integration

I prepared and labeled vision data in Roboflow and trained Ultralytics YOLOv8 detection and segmentation models with PyTorch. Python and OpenCV supported image processing and the ROS perception interfaces. I also contributed to connecting occupancy-grid mapping, sensor fusion, coverage planning, motion control and safety checks in the team’s ROS pipeline; Gazebo and RViz provided simulation and visualization. The repository contains ROS 1 Noetic and ROS 2 development artifacts, while the documented final pipeline uses ROS 1. The browser demonstration runs the exported ONNX segmentation model. The hardware architecture pairs a Jetson Nano with an Arduino Mega; individual model validation and simulation results are distinct from complete outdoor robot validation.

Recorded demonstration

Autonomous mower simulation walkthrough showing the integrated robotic system in its simulated environment.

Model validation curves
Detection precision-recall curveSegmentation precision-recall curve

In the news!

Autonomous lawn mower · Design Day

Coverage featuring our capstone team and prototype.

IMAGE DEMO

Try the lawn-segmentation model

Project story

Run my trained YOLOv8 lawn-segmentation model on a photo. Explore what it labels as lawn, boundary, or barriers.

CHOOSE AN IMAGE

Higher values keep only more confident regions.

Your image stays in this browser. The model downloads once when you run it (about 13 MB).

barriersboundarylawn
INPUT IMAGE
Yard image selected for segmentation

Choose a sample or upload your own image.

Original capstone model, running in your browser. The overlay is a model prediction and can contain errors. Pixel percentages describe this image; they are not physical area measurements or a safe mowing boundary.

Next projectMiniature C-arm surgical simulator