Fields2Cover/Fields2Cover

Robust and efficient coverage paths for autonomous agricultural vehicles. A modular and extensible Coverage Path Planning library

What it solves

Fields2Cover addresses the challenge of Coverage Path Planning (CPP), which is the process of creating a path that ensures a vehicle completely covers a specific area. While many theoretical papers exist on this topic, there is a lack of open-source implementations, making it difficult for researchers and developers to compare algorithms or build autonomous systems for agriculture, cleaning, or surveillance.

How it works

The library provides a modular framework for offline planning using several algorithms to generate coverage paths. It handles the process through several stages:

  • Decomposition: Splits complex, non-convex fields (concave shapes) into simpler convex sub-fields using Trapezoidal and Boustrophedon decomposition.
  • Swath Generation: Creates the parallel lines (swaths) that the vehicle must follow, including optimized cost functions to reduce computation time.
  • Route Planning: Determines the order in which swaths are visited, utilizing Google's OR-tools for optimization rather than relying on fixed patterns.
  • Path Planning: Generates the final executable path based on the optimized route.

Who it’s for

It is designed for developers and researchers working on autonomous agricultural vehicles, as well as those building robots for surveillance, de-mining, or industrial cleaning.

Highlights

  • Non-Convex Support: Ability to handle fields with obstacles and concave shapes.
  • Multi-Language Support: Written in C++ with a Python interface available via SWIG.
  • Optimization: Integrates OR-tools for route optimization and includes efficient swath generation algorithms.
  • Flexible Structure: Designed as a library that allows users to easily plug in and compare different coverage planners.

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案