AgroBot: a robot arm for greenhouse work

A 4-axis arm on a rail trolley that harvests strawberries, transplants seedlings, inspects plants and pulls weeds.

When
Since 2020
Origin
M.Sc. thesis, extended to a full ROS 2 stack
Built with
  • ROS 2 Humble
  • Gazebo Fortress
  • ros2_control
  • C++17
  • Python
  • RGB-D perception
  • RRT planning
Paper
International Journal of Applied Mathematics Electronics and Computers, 2023
M.Sc. thesis, İzmir Kâtip Çelebi University, 2023
ICAT conference, 2022
View the code on GitHub

AgroBot is a 4-axis arm on a greenhouse rail trolley, with a single-jaw gripper and an RGB-D camera. It detects crops, decides which ones to handle, plans collision-free motions and executes them. The same software runs in Gazebo and on the real robot.

The arm and its analysis come from my master’s thesis and the journal paper that followed. The repository covers the whole chain: kinematic analysis, a physically realistic model built from the CAD of the prototype, ROS 2 control and perception, four applications, and a hardware driver with firmware and a commissioning guide.

3D CAD render of the four-axis AgroBot arm with a curved single-jaw gripper
CAD design.
The 3D-printed AgroBot prototype on a bench next to its control electronics
The 3D-printed prototype.

Four tasks, scored against ground truth

Task The problem it addresses Result in simulation
Strawberry harvesting Labour shortage for selective picking 12 of 12 ripe fruit picked, no unripe fruit
Plant inspection Manual yield counting 12/12 ripe and 10/10 unripe fruit counted
Seedling transplanting Repetitive nursery handwork 8 of 8 seedlings planted
Precision weeding Herbicide-free weed control 8 of 8 weeds pulled, lettuce protected
Simulated camera image with red boxes around ripe strawberries and yellow boxes around unripe ones
Ripe (red) and unripe (yellow) fruit as seen by the trolley camera.

How it works

The robot surveys the row, then handles each crop in three steps. It moves the trolley so the crop lands where the arm reaches it well. It looks again to refine the crop’s position. Then it approaches along a straight line, grips and places. Crops blocked by a neighbour are retried after the rest of the row is done.

Limits

Crop detection uses colour thresholds tuned on simulated crops, so real fields need a trained detector. Grasping in simulation is emulated with joints. The hardware driver has been tested against its emulator; commissioning on the physical robot follows the guide in the repository.

Browse by topic