Fields2Cover
Robust and efficient coverage paths for autonomous agricultural vehicles
Fields2Cover is an open-source C++ library with Python bindings that solves the Coverage Path Planning problem for agriculture: given a field and a vehicle, it computes a complete coverage path — headlands, swaths, an optimized route, and a drivable path with feasible turns.
It also provides a common, extensible framework to implement and compare coverage path planning algorithms: there are many papers on the topic, but almost no code, so anyone researching it has to re-implement every algorithm they want to compare against. Fields2Cover splits the problem into modules, each solving one part of it, so algorithms can be combined, replaced and benchmarked against each other:
Although the development of this project is focused on offline planning of agricultural vehicles, the library accepts pull requests from other types of coverage planners.
The source code is hosted on GitHub.
New here? Start with the installation guide and the Quick Start, then work through the tutorials.
Contribute
If you find any issue/bug/proposal, open an issue and we will try to solve/discuss it. Pull requests are more than welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.
Citing
Please cite this paper when using Fields2Cover for your research:
@article{Mier_Fields2Cover_An_open-source_2023,
author={Mier, Gonzalo and Valente, João and de Bruin, Sytze},
journal={IEEE Robotics and Automation Letters},
title={Fields2Cover: An Open-Source Coverage Path Planning Library for Unmanned Agricultural Vehicles},
year={2023},
volume={8},
number={4},
pages={2166-2172},
doi={10.1109/LRA.2023.3248439}
}
License
Fields2Cover is released under the BSD-3 license.