秋月琥珀

Fields2Cover: An open-source coverage path planning library for unmanned agricultural vehicles

https://arxiv.org/abs/2210.07838

20221014

github: https://github.com/Fields2Cover/Fields2Cover

简介

发布了一个开源 CPP 库,包含 4 个 CPP 的核心解决方案模块

每个模块都包含了至少一种 SOTA 的方法和一个目标函数

目前只支持凸域

贡献

Fields2Cover

Headland Generator module 岬角生成器模块

目标函数是去掉岬角后剩余的区域

Ar 是剩余面积,Ahl 是去掉岬角后的面积,Af 是原面积

Swath Generator moudle 列生成器模块

将岬角生成器生成的区域划分成列

当前版本只支持生成平行的非重叠列

使用三个目标函数

最小化列的数量

#Sα 是给定角度 α 的列的数量,Ahl 是去掉岬角的区域,Rw 是运行中的机器人宽度

最大化场地覆盖

Acov 是覆盖的区域数量,Ahl 是去掉岬角的区域,Si 是第 i 列

最小化列长

N 是列的数量,Sip 是第 i 列有的点数,i p=j 是第 i 列的第 j 点,||x||2 是欧几里得范数

Route Planner moudle

使用之前的条带来生成路由,包含了几个预设的模式

Boustrophendon

按顺序覆盖条带,牛耕式

Snake

每次跳过一个条带,沿一个方向遍历,然后返回再次遍历

Spiral

螺旋模式是蛇形模式的变体,将条带分成固定大小的集合进行遍历

此外还有自定义模式

目标函数为生成的路径长度

Path Planner moudle

路径规划器输入路线(排序好的列)和车辆参数,输出路径

目标函数为路径长度

结果

仿真结果

使用了三种不同的目标函数进行模拟

第二个实验使用了 38 个凸域

带原地旋转的牛耕式最短,蛇形次之,螺旋模式最长

田间试验