Fields2Cover

Robust and efficient coverage paths for autonomous agricultural vehicles

_images/logo_fields2cover.jpeg

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:

_images/diagram-F2C.jpg

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.