Lucky Agarwal
Leaf Collection Robot
Back to Gallery
Project
July 2025 - November 2025

Leaf Collection Robot

Autonomous Mobile Robotics with ROS2 & LiDAR SLAM

8 technologies used

System Overview

This robot combines a leaf-sweeping roller and removable box with manual and autonomous ROS2 control.

A Jetson Nano handles navigation; an ESP32 regulates encoder-equipped motors through Micro-ROS. Reported results include indoor mapping, moderate navigation accuracy, and responsive manual collection, with outdoor inconsistencies and roller, storage, and computing limitations.

Tech Stack

ROS2LiDARSLAMJetson NanoESP32PythonC++Encoder Motors
July 2025 - November 2025

Autonomous Navigation

Full autonomous operation with LiDAR-based path planning

Leaf Collection

Effective leaf collection using roller mechanism

Dual Control

Both autonomous and manual control modes

Engineering Features

Built an autonomous and manually controlled leaf-collection robot using the ROS2 framework, combining a Jetson Nano for navigation with an ESP32 for real-time motor and encoder control.

Implemented LiDAR-based SLAM to generate 2D maps, detect obstacles, and enable autonomous path following.

Integrated encoder-based odometry with LiDAR data to achieve accurate localization and smooth autonomous movement.

Designed and tuned the motor-control and roller-collection mechanism to ensure reliable leaf pickup.

How it works

  1. Build a map

    Combine LiDAR-derived motion and wheel odometry in Cartographer, inspect the occupancy grid in RViz, and save the map.

  2. Choose a control mode

    Set a navigation goal through Nav2 or use keyboard teleoperation; both paths supply velocity commands to the Robot Core node.

  3. Drive with encoder feedback

    Convert velocity commands into motor RPM targets and send them over serial Micro-ROS to the ESP32 for feedback-based PWM control.

  4. Sweep leaves into storage

    Operate the roller to sweep leaves into the collection box, which can be detached for emptying and cleaning.

Build artifacts

Map example reproduced as Figure 4.1 in the leaf collection robot report
The report's generated-map example, Figure 4.1, extracted from PDF page 30.

Inside the build

Open a technical note to explore the control logic, integration, and design choices.

Separate navigation from motor regulation

The Jetson handles ROS2 navigation while the ESP32 reads encoder counts and regulates motor RPM. A 20 ms measurement interval feeds speed estimates back to ROS2 and a local controller. Reported tuning uses proportional and integral terms without a derivative term, with signed PWM determining speed and direction.

Two odometry inputs for mapping

Robot Core converts encoder feedback into wheel odometry, while RF2O estimates motion from LiDAR scans. Cartographer uses these inputs to build the occupancy grid. The saved map then supports Nav2 localization and planning, with RViz exposing goals, planned paths, and the robot's estimated pose.

A serviceable roller and collection box

Plastic strings attached to the roller sweep leaves toward the box. The roller is split for printing, and its motor uses a separate L298N driver with on/off control. A flexible box tip sits near the ground, while an adjustable holder and handle support positioning and removal of the collection box.

Evidence & limitations

Indoor mapping and navigation results

The results chapter reproduces a generated map and describes autonomous navigation with moderate accuracy. Mapping worked in controlled indoor conditions, while outdoor operation showed inconsistencies associated with uneven surfaces and varying conditions.

Manual collection and system integration

The report describes prompt keyboard response, stable manual movement, and leaf pickup into the box in narrow and open campus spaces. It also reports reliable communication between the ESP32, Jetson Nano, and sensors during testing.

Project Resources

๐Ÿ“„
Project Report
Resource
๐ŸŽช
Presentation Slides
Resource
๐Ÿ“š
Project Circuit Schematic
Resource

Want to see more work?

I have more projects across robotics, embedded systems, and software engineering.

View All Projects