Fields2Cover: An open-source coverage path planning library for
unmanned agricultural vehicles
Gonzalo Mier1João Valente2Sytze de Bruin3
Abstract— This paper describes Fields2Cover1, a novel open
source library for coverage path planning (CPP) for agricul-
tural vehicles. While there are several CPP solutions nowadays,
there have been limited efforts to unify them into an open
source library and provide benchmarking tools to compare their
performance. Fields2Cover provides a framework for planning
coverage paths, developing novel techniques, and benchmarking
state-of-the-art algorithms. The library features a modular and
extensible architecture that supports various vehicles and can
be used for a variety of applications, including farms. Its
core modules are: a headland generator, a swath generator,
a route planner and a path planner. An interface to the Robot
Operating System (ROS) is also supplied as an add-on. In
this paper, the functionalities of the library for planning a
coverage path in agriculture are demonstrated using 8 state-
of-the-art methods and 7 objective functions in simulation and
field experiments.
Keywords – Agricultural Automation, Software Architecture
for Robotic and Automation, Field Robots
I. INTRODUCTION
In developed countries, there is a shortage of skilled
workers to operate agricultural machinery [1]. This shortage
can be alleviated with the development of autonomous ma-
chinery. Unlike manually operated machinery, autonomous
vehicle operations need meticulous planning beforehand. The
problem of determining a path to cover a field is known as
coverage path planning (CPP). CPP is of high importance
for cleaning [2], surveillance robots [3], lawn mowers [4],
and agricultural vehicles [5], where it has been addressed in
several works.
Whilst there have been many efforts, most of the (par-
tial) CPP solutions have not been released as open-source
software thus hindering more rapid advances in CPP by the
scientific community. The packages shown in Table Iare
the only open-source software to the best of our knowledge.
Note that the software packages listed in Table Isolve the
CPP problem partially, but require several modifications in
order to be customized to different unmanned vehicles and
applications.
This paper aims to fill the above mentioned gap by
proposing and releasing to the community an open-source
CPP library for field coverage. The library was designed
1Gonzalo Mier with the Laboratory of Geo-Information Science and
Remote Sensing, Wageningen University & Research, Wageningen, The
Netherlands gonzalo.miermunoz@wur.nl
2João Valente with the Information Technology Group, Wageningen
University & Research, Wageningen, The Netherlands
3Sytze de Bruin with the Laboratory of Geo-Information Science and
Remote Sensing, Wageningen University & Research, Wageningen, The
Netherlands
1https://github.com/Fields2Cover/Fields2Cover
focusing in four modules that are the core of CPP solutions: a
headland generator, a swath generator, a route planner, and a
path planner. Each module includes at least one state-of-the-
art method and one objective function. The library currently
only supports convex fields on arable farmland. Regardless,
there is an urgent need for an open source software solution
to fill the existing gap in the CPP problem in agriculture.
The ultimate goal of the library is to ease the state of-the-
art algorithm benchmark and to accelerate CPP research and
application.
A. Related work
Owing to the non-holonomous nature of agricultural ve-
hicles, a region of the field known as headlands must be
reserved for turning the vehicle. The most basic approach
is to allocate a constant width area around the field. This
strategy allocates a large amount of space to a poor yield
area. Depending on how the swaths are arranged, some
headland areas are parallel to the swaths and hence they
are not needed for turning. By only constructing headlands
along the field edges where turns are made, the area reserved
for them can be minimized [5], [17].
Swaths are generated in the inner field, which is the
remaining region after subtracting the headlands. In two-
dimensional planar fields, a reference line can be applied as
a guide for the generation of swaths, where each parallel
creates a swath [5], [17], [18]. This line can be chosen
for convenience or by an algorithm such as brute force
or a meta-heuristic. Oksanen [5] describes a driving angle
search strategy that requires fewer iterations than brute force
search but it does not guarantee finding the global minimum.
Objective functions such as the number of turns or the sum
of swath lengths are used to determine optimality in swath
generation [17].
The distance [17] and time [19] required to cover the
field are affected by the order of the swaths. A route is the
sequence of the swaths to cover. The Boustrophedon order,
which travels the swaths sequentially from one side of the
field to the other, and the snake order, which skips one swath
at each turn and returns through the uncovered swaths, are
popular preset routing patterns [20]. Objective functions such
as distance, number of rotations, or time necessary to traverse
the field [17], [19] are minimized by finding the optimal route
through meta-heuristics [21].
A path is composed of the swaths of a route connected
by turns, forming a continuous line along which the vehicle
will drive. Dubins’ [22] or Reeds-Shepp’s [23] curves are
turns that minimize the path length of the turns. These
arXiv:2210.07838v2 [cs.RO] 17 Feb 2023