全覆盖路径规划(CCPP)算法通常用于机器人特殊作业场景,例如机器人清扫,机器人地面施工等。这类场景通常需要机器人运行路径上的Footprint将区域地面进行全覆盖,从而实现对一个区域的全覆盖作业。早期我们接触的机器人路径规划方法基本上都是一种点到点(PTP)的规划方式,例如A*,D*等等,它们的特点是绕障、运行路径最短及无平滑,相信国内很多刚接触移动机器人规划算法的同学,也是从它们开始接触路径规划。CCPP算法是应对机器人特殊作业而产生的一种路径规划方法,本质上不应该是一种算法,而是一种算法的集合体,从而实现某种功能。

全覆盖路径规划用的比较多的思想是人工势场法,通过对规划区域添加某种形式的人工势场,来引导路径规划的搜索方向,同时中间还会参杂一些绕障的点到点的规划。全覆盖路径规划按照覆盖规划的方式可以分为弓子型的规划和回字型规划,这也是目前清洁机器人领域用的比较多的两种规划方法。

弓字型全覆盖路径规划:

如下图弓字型规划添加单侧势场,从而形成了右侧的弓字型路径。

实际测试的弓字型路径规划效果:

回字型全覆盖路径规划:

如下图回字型规划添加的势场,从而形成了右侧的回字型路径。

实际测试的回字型路径规划效果: