Fields2Cover/Fields2Cover
Robust and efficient coverage paths for autonomous agricultural vehicles. A modular and extensible Coverage Path Planning library
What it solves
Fields2Cover는 차량이 특정 영역을 완전히 덮을 수 있도록 경로를 생성하는 과정인 커버리지 경로 계획(Coverage Path Planning, CPP)의 과제를 해결합니다. 이 주제에 대한 많은 이론적 논문이 존재하지만, 오픈 소스 구현체가 부족하여 연구자와 개발자가 알고리즘을 비교하거나 농업, 청소 또는 감시를 위한 자율 시스템을 구축하는 데 어려움을 겪고 있습니다.
How it works
이 라이브러리는 여러 알고리즘을 사용하여 커버리지 경로를 생성하는 오프라인 계획을 위한 모듈식 프레임워크를 제공합니다. 다음과 같은 여러 단계를 통해 프로세스를 처리합니다:
- Decomposition: Trapezoidal 및 Boustrophedon 분해를 사용하여 복잡하고 비볼록(non-convex)인 필드(오목한 모양)를 더 단순한 볼록(convex) 하위 필드로 분할합니다.
- Swath Generation: 차량이 따라야 하는 평행선(swaths)을 생성하며, 계산 시간을 줄이기 위해 최적화된 비용 함수를 포함합니다.
- Route Planning: 고정된 패턴에 의존하는 대신 Google의 OR-tools를 활용하여 최적화된 swath의 방문 순서를 결정합니다.
- Path Planning: 최적화된 경로를 기반으로 최종 실행 가능한 경로를 생성합니다.
Who it’s for
자율 농업 차량을 연구하는 개발자와 연구자, 그리고 감시, 지뢰 제거 또는 산업용 청소를 위한 로봇을 구축하는 사람들을 위해 설계되었습니다.
Highlights
- Non-Convex Support: 장애물과 오목한 모양이 있는 필드를 처리할 수 있는 능력.
- Multi-Language Support: C++로 작성되었으며 SWIG를 통해 Python 인터페이스를 사용할 수 있습니다.
- Optimization: 경로 최적화를 위해 OR-tools를 통합하고 효율적인 swath generation 알고리즘을 포함합니다.
- Flexible Structure: 사용자가 다양한 커버리지 플래너를 쉽게 플러그인하고 비교할 수 있도록 설계된 라이브러리입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트