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.






