HOMEABOUTPROJECTS

Autonomous Garden Maintenance Robot

Fall 2023
Robotics

Project Introduction

We built a robot that takes care of garden plants on its own. It drives around the garden, checks each plant's soil, and delivers water or nutrients when needed—all without human intervention.

How It Works

Navigates autonomously: Uses a LiDAR sensor and camera to map the garden and find its way around obstacles. Checks soil health: A probe measures moisture, pH, and temperature at each plant. Delivers resources: Based on readings, it dispenses precise amounts of water or liquid nutrients. Logs everything: Sends photos and sensor data to a web server so you can monitor plant health remotely.

The system runs on ROS (Robot Operating System) for high-level control and FreeRTOS for real-time motor and sensor operations, all powered by a Jetson Nano.

Challenges and Motivation

Gardening requires consistent attention—checking soil conditions, watering at the right times, and tracking plant health over weeks or months. For large gardens or farms, this becomes labor-intensive and easy to get wrong.

Problems We Addressed

Inconsistent watering: Plants often get too much or too little water based on guesswork. Soil variability: Different areas of a garden can have very different moisture and nutrient levels. Time-consuming monitoring: Manually checking each plant takes hours and is easy to neglect. No historical data: Without records, it's hard to know what's working and what isn't.

Our robot automates these tasks, providing consistent care and building a data log that helps gardeners make informed decisions.

Robot Function and Operation

The robot follows a simple loop: navigate to a plant, check its soil, take action if needed, and move on.

Operational Cycle

Navigate: The robot uses its LiDAR-built map and fiducial markers (like QR codes) to find each plant location. Sense: A motorized probe extends into the soil and measures moisture, pH, and temperature. Decide: Software compares readings against thresholds for that plant type. Act: If soil is too dry or nutrients are low, the robot dispenses the right amount. Record: A camera captures the plant's appearance, and all data uploads to a web server.

Users can set how often the robot visits each plant and customize the thresholds that trigger watering or feeding.

System Architecture

The robot uses a two-layer software architecture. ROS handles high-level decisions like where to go and what to do, while FreeRTOS handles precise, time-sensitive tasks like motor control and sensor reading.

Main Subsystems

Movement: Tread-based drivetrain for navigating over soil, grass, and uneven terrain. Dispensing: Reservoirs and a spray nozzle deliver measured amounts of water or liquid nutrients. Plant Monitoring: Linear actuator extends a soil probe; stereo camera captures plant images. Navigation: LiDAR-based SLAM builds a map; fiducial markers help identify specific plant locations.

The web interface runs on Django hosted on AWS EC2, letting users view plant data and photos from anywhere.

Decision Logic

The robot follows straightforward logic at each plant:

Text
11. Navigate to plant using map
22. Deploy soil sensor probe
33. Read moisture, pH, temperature
44. IF reading < threshold: dispense resource
55. Capture photo, log data to server
66. Move to next plant or return to base

The robot's state machine visualizes this flow:

mermaid
1graph TD
2    A[Idle] --> B(Navigate to Plant);
3    B --> C{Plant Reached?};
4    C -- Yes --> D[Sense Soil Conditions];
5    D --> E[Analyze Sensor Data];
6    E --> F{Action Required?};
7    F -- Yes --> G[Dispense Resources];
8    G --> H[Log Data & Image];
9    F -- No --> H; % If no action, proceed to logging
10    H --> I{More Plants to Visit?};
11    I -- Yes --> B; % Loop to next plant
12    I -- No --> A; % Return to Idle
13    C -- No --> B; % Continue navigation
14

Hardware and Components

The robot is built around a Jetson Nano computer mounted on a custom tread-based chassis (15″ × 12″) for stable movement over uneven ground.

Key Components

LiDAR sensor: Scans surroundings to build a navigation map. Stereo camera: Captures plant images and helps with localization. Soil probe: Custom sensor on a linear actuator measures moisture, pH, and temperature. Dispensing system: 3D-printed reservoirs and a 60° cone nozzle for precise water/nutrient delivery. Tread drivetrain: Provides traction on soil, grass, and gravel.

Testing and Validation

We tested each subsystem individually across different surfaces—tiles, lawn, sandbox, and garden soil.

Test Results

Terrain traversal: Robot moved stably over all surfaces with no drivetrain issues. Fiducial mapping: Successfully detected markers and built an accurate map using Hector SLAM. Soil sensing: Measurements matched expected ranges; temperature accurate within ±2°C. Water dispensing: Covered a 1′×1′ area accurately with adjustable spray duration. Photo upload: Images successfully transmitted to the web server (tested via teleoperation).

Due to time constraints, the photo capture test used teleoperation rather than full autonomy, but all other tests ran autonomously.

Fault Recovery and Operational Modes

The robot includes safety features to handle unexpected situations gracefully.

Safety Features

Emergency stop: Physical button immediately halts all motors. Sensor error handling: Ignores or flags inconsistent readings rather than acting on bad data. Communication failure mode: Continues basic operation locally if server connection drops. Low power mode: Returns to base when battery runs low.

Future Improvements

With more time, we'd focus on:

Better sensor calibration: More rigorous testing against lab-grade instruments. Full autonomous navigation: Completing the SLAM pipeline for truly hands-off operation. Weather adaptation: Adjusting behavior based on rain forecasts or soil saturation. Plant identification: Using computer vision to automatically identify plant species and their needs.

Conclusion

We built a working garden robot that navigates autonomously, monitors soil conditions, and delivers water and nutrients where needed. While we had to simplify some features (like fully autonomous photo capture), the core system works and demonstrates how robotics can make plant care easier and more consistent.

The modular design means future teams can extend it—adding new sensors, improving navigation, or integrating weather data—without rebuilding from scratch.