Fields2Cover
Coverage path planning library for autonomous agricultural vehicles
License
BSD-3-Clause
Overview
Fields2Cover is a C++ library for generating robust and efficient coverage paths for autonomous agricultural vehicles. It implements a modular pipeline for headland generation, swath creation, route planning, and path planning specifically designed for precision agriculture. The library handles real-world field geometries including irregular boundaries, obstacles, and headland turning patterns. Supports multiple coverage algorithms and can be used for any vehicle performing systematic area coverage — from tractors and sprayers to robotic mowers and survey drones.
Fields2Cover is an open-source library that generates robust and efficient coverage paths for autonomous agricultural vehicles. Published in IEEE Robotics and Automation Letters, it addresses the coverage path planning (CPP) problem with a modular architecture that breaks the task into four composable stages: headland generation, swath creation, route planning, and path planning.
The library's modular design means each stage can be configured independently with different algorithms. Version 2.0 introduced major capabilities including support for non-convex fields and obstacle avoidance through trapezoidal and boustrophedon decomposition, plus Google OR-Tools integration for globally optimized route planning.
While developed primarily for agriculture, the underlying algorithms apply to any domain requiring complete area coverage — from cleaning robots to survey drones. Fields2Cover provides both C++ and Python interfaces, making it accessible for both real-time embedded systems and rapid prototyping workflows.
Why it matters
Fields2Cover fills a critical gap in agricultural robotics by providing the first comprehensive, open-source coverage path planning library with peer-reviewed algorithms. It enables autonomous vehicles to efficiently cover entire fields while handling real-world constraints like headlands, obstacles, and non-convex field shapes.
Problem it solves
Planning efficient coverage paths for agricultural robots is complex — fields have irregular shapes, obstacles, and operational constraints that generic path planners cannot handle. Fields2Cover provides a modular pipeline specifically designed for agricultural coverage, from headland generation through swath creation, route optimization, and final path planning.
Key takeaways
- Modular pipeline: headland generation, swath creation, route planning, and path planning
- Version 2.0 adds support for non-convex fields and fields with obstacles
- Includes trapezoidal and boustrophedon decomposition for complex field shapes
- Route optimization powered by Google OR-Tools for optimal swath ordering
- Both C++ and Python interfaces available for integration flexibility
Who it is for
- Agricultural robotics researchers and companies developing autonomous farm equipment
- Autonomous vehicle engineers working on coverage path planning problems
- Precision agriculture developers building field operation planning tools
- Robotics researchers studying coverage path planning in any domain
Limitations
- Focused on offline planning — not designed for reactive or online re-planning
- Primarily optimized for agricultural use cases with flat terrain assumptions
- Requires understanding of CPP concepts (headlands, swaths, turns) for effective use
- 3D terrain and slope considerations are not yet addressed