~/projects/dandebot

Dandebot

An all-in-one autonomous lawn-care system.

One robot that handles every part of lawn maintenance: weeding, mowing, edging, aerating and blowing.

  • autonomous-nav
  • weed-segmentation
  • low-level-control
  • diff-drive
Render of Dandebot with its green status lights

README.md

Why lawn care, and what went into the platform.

## problem statement

Residential and commercial lawn care is highly dependent on manual labor, with recurring costs for mowing, edging, weeding, and cleanup. Labor shortages, rising wages, travel between properties, repetitive physical work, and the need for multiple dedicated tools all increase the cost of maintaining outdoor spaces.

Dandebot explores whether a single autonomous mobile platform can reduce that overhead by performing multiple lawn-care tasks (mowing, weeding, edging, and debris blowing) with minimal human intervention.

NVIDIA JetsonSolidWorksROS 2

## implementation notes

  • Designed a custom tracked mobile platform and mechanical assemblies in SolidWorks.
  • Integrated NVIDIA Jetson as the onboard compute platform for perception and autonomy.
  • Built the software stack around ROS 2 for sensor integration, control, and system communication.
  • Developed autonomous navigation for unstructured outdoor environments.
  • Integrated perception for obstacle detection, terrain awareness, and task execution.
  • Designed the platform around modular, task-specific tooling for mowing, weeding, edging, and debris blowing.
  • Combined perception, navigation, motion control, and tool actuation into an end-to-end autonomous workflow.
  • Validated the system through real-world outdoor testing rather than simulation alone.

Mechanical design approach

From concept sketches to SolidWorks assemblies of the chassis, tool heads and linear actuators.

Line sketch of the robot's circular tool deck
Line sketch of the weed extraction auger
CAD render of the tracked chassis with the tool module
CAD render of the chassis interior
CAD render of the full robot assembly
CAD close-up of the drive motors and couplings
CAD render of the vertical linear actuator
CAD render of the extraction tool stack
assembly · gearbox, rails and track modules coming together
Mowing tool module with its blade and linear actuator
tool · mowing module
Weeding tool module mounted on a linear rail
tool · weeding module

Kinematics design approach

Differential-drive kinematics simulated before hardware: trajectory, wheel speeds and orientation.

MATLAB figure of the simulated robot path on an x-y grid
sim · robot path on the x–y plane
Four plots: robot trajectory, right wheel speed, left wheel speed and robot orientation
plots · trajectory, left/right wheel speed, orientation

Control system design

Cascaded position, velocity and current loops with field-oriented motor control.

Motor driver board wired on the bench
hardware · motor driver bring-up
Space vector modulation hexagon plot
svm · space-vector modulation
dq-frame and abc-frame current waveforms
dq / abc · frame transforms
Block diagram of cascaded position, velocity and current controllers with feedback
loop · position → velocity → current controllers with feed-forward and feedback

Build & bring-up

Proof of concept, sensor integration, then machining and assembly.

Laptop showing a costmap during proof-of-concept validation
poc · validation on a costmap
Integrating sensors on the robot at the lab bench
sensors · integration and validation
End mill machining an aluminium plate
fab · machining, fabrication and assembly
Dandebot electronics bay with motor drivers and wiring
electronics · drivers, power and wiring in the chassis
integration · controllers and actuator in place

Weed perception · DRoC-Net

Finding each dandelion and the point it grows from.

DRoC-Net pipeline: tiled rosette instance segmentation followed by per-instance growth-point regression, with held-out measurements
pipeline · stage 1 segments leaf rosettes in overlapping tiles; stage 2 regresses each plant’s growth point

DRoC-Net is two networks. An RF-DETR Seg-Small model, fine-tuned for one class, segments dandelion leaf rosettes in overlapping 640×640 tiles of the camera frame.

A separate DINOv2 ViT-S/14 regressor then looks at each rosette crop and predicts the growth point, the spot the extraction tool needs to hit.

Training labels come from SAM 3 concept prompts, and the fine-tuned model is evaluated against that zero-shot teacher.

DRoC-Net interactive explainer: leaf mask and growth point on a lawn tile
explainer · nishanthrajkumarr.github.io/DRoC-Net

Complete coverage

Covering every part of a mapped area, then going home.

indoor · coverage run with the live map overlay

The coverage stack goes from the SLAM map to a costmap and a coverage plan, follows it with Regulated Pure Pursuit, switches to DWA around people, revisits missed patches, then docks.

A MATLAB port of the simulation runs on the same map, with a live plot of the mowed area and the trail.

Indoor testing

Target detection, extraction and return-to-home in controlled corridors.

multi-target · two targets and return home
single-target · immediate extraction after detection

Outdoor testing

Mapping a real property, then running the full workflow on grass.

Occupancy map beside a satellite view of the property boundary
commissioning · onsite mapping and boundary setup
workflow · end-to-end testing on grass
Dandebot on a lawn beside flowering plants
field · on the lawn