Fields2Cover
面向自主农业车辆的覆盖路径规划库
许可证
BSD-3-Clause
概述
Fields2Cover 是一个 C++ 库,用于为自主农业车辆生成稳健、高效的覆盖路径。它实现了专为精准农业设计的模块化流水线,涵盖地头生成、作业条带生成、路线规划和路径规划。该库能够处理真实田块的几何形状,包括不规则边界、障碍物以及地头转弯模式。它支持多种覆盖算法,可用于任何执行系统性区域覆盖的车辆——从拖拉机和喷雾机到机器人割草机和测绘无人机。
Fields2Cover 是一个开源库,用于为自主农业车辆生成稳健、高效的覆盖路径。该库发表于 IEEE Robotics and Automation Letters,采用模块化架构解决覆盖路径规划(CPP)问题,将任务拆分为四个可组合的阶段:地头生成、作业条带生成、路线规划和路径规划。
该库的模块化设计意味着每个阶段都可以独立配置不同的算法。2.0 版本引入了多项重要功能,包括通过梯形分解和牛耕式(boustrophedon)分解支持非凸田块和避障,以及集成 Google OR-Tools 实现全局优化的路线规划。
虽然该库主要面向农业开发,但其底层算法适用于任何需要完整区域覆盖的领域——从清洁机器人到测绘无人机。Fields2Cover 同时提供 C++ 和 Python 接口,既适用于实时嵌入式系统,也适用于快速原型开发流程。
为何重要
Fields2Cover 填补了农业机器人领域的一个关键空白:它是首个采用经同行评审算法的综合性开源覆盖路径规划库。它使自主车辆能够高效覆盖整片田块,同时处理地头、障碍物和非凸田块形状等现实约束。
解决的问题
为农业机器人规划高效的覆盖路径十分复杂——田块形状不规则、存在障碍物,还有通用路径规划器无法处理的作业约束。Fields2Cover 提供了专为农业覆盖作业设计的模块化流水线,从地头生成、作业条带生成、路线优化一直到最终的路径规划。
要点
- 模块化流水线:地头生成、作业条带生成、路线规划和路径规划
- 2.0 版本新增对非凸田块和含障碍物田块的支持
- 包含梯形分解和牛耕式(boustrophedon)分解,用于处理复杂田块形状
- 基于 Google OR-Tools 的路线优化,实现最优作业条带顺序
- 同时提供 C++ 和 Python 接口,集成方式灵活
适用人群
- 开发自主农业装备的农业机器人研究人员和企业
- 致力于覆盖路径规划问题的自主车辆工程师
- 构建田间作业规划工具的精准农业开发者
- 研究任意领域覆盖路径规划的机器人研究人员
局限
- 专注于离线规划——并非为反应式或在线重规划而设计
- 主要针对农业用例优化,并假设地形平坦
- 需要理解 CPP 概念(地头、作业条带、转弯)才能有效使用
- 尚未考虑三维地形和坡度