1.基本概念
CCPP: Complete Coverage Path Planning CCPP需解决的关键问题 :
遍历工作区域内除障碍物以外的全部区域 在遍历过程中有效避开所有障碍物 在遍历过程中要尽量避免路径重复,缩短移动距离 CCPP技术指标 :
死区 :是指它的周边相邻区域,或者是边界,或者是障碍物,或者是已覆盖过的区域全覆盖路径规划问题本质 :在栅格地图中,全覆盖路径规划问题就演变为寻找机器人的下一个移动位置,只有准确找出了该位置,才能使机器人自主规划出一条切实可行的无碰撞且重复率低的移动路径。路径规划分类(根据机器人的运动目标) :
路径规划方法分类(根据实现方法) :
路径搜索
路径表达 :以环境模型中的结点序列组成或由直线段序列组成路径平滑 :根据机器人运动学或动力学约束,形成机器人可跟踪执行的运动轨迹
运动学约束 :路径轨迹的一阶导数应连续动力学约束 :路径轨迹的二阶导数应连续
1.1 基于栅格的方法
将区域划分成栅格,搜索连通栅格表示路径。优点:易于建模、存储、处理、更新与分析
Dijkstra算法:通过枚举求解两点间距离最短 A*算法:通代价评估加快搜索
1.2 基于遗传算法的路径规划
遗传算法 :是计算数学中用于解决最优化的搜索算法,是进化算法的一种遗传算法通常实现为一种计算机模拟 。
对于一个最优化问题,一定数量的候选解(称为个体)的抽像表示(称为染色体)的种群向更好的解进化。传纺上,解用二进制表法(即0和1的串),但也可以用其他表示方法。进化从完全随机个体的种群开始,之后一代一代发生。在每一代中,整个种群的适应度被评价,从当前种群中随机地选择多个个体(基于他们的适应度),通过自然选择和突变产生新的生命种群,此种群在算法的下一次迭代中成为当前种群。 衍生算法 : 退火遗传算法、改进遗传算法等
1.2 CCPP方法分类
1.2.1 行为覆盖法:随机碰撞法
原理 :机器人根据简单的移动行为,尝试性地覆盖工作区域,如果遇到障碍物,则执行对应的转向命令缺点 :行为全覆盖算法工作效率低,路径规划策略过于简单,面对复杂地形机器人经常无法逃离死区
1.2.2 区域分割法
原理 :为了使机器人能够逃离死区,同时减少算法的计算量,Jin 等 提出一种基于时空信息的全局导航与局部导航组合的算法。优点 :
该算法一方面能够通过局部计算代替不必要的全局计算,减少了实时决策时局部最优导航的计算量; 另一方面通过分层的方式使机器人能够逃离死区。 缺点 :
局部与全局的转换过程中,当周围没有未覆盖的区域时,机器人需要扩大邻近区域的面积来寻找未覆盖区域,这将导致覆盖效率的降低,尤其是当未覆盖区域距离机器人较远时
1.2.3 神经网络法
原理 :利用神经网络的自学习、并行性等特性,增强机器人的“智能”,提高覆盖效率。受神经网络结构与栅格地图单元类似的启发,加拿大学者 S. X.Yang等提出一种基于生物启发神经网络的移动机器人全覆盖路径规划算法,将需要全覆盖的二维栅格地图单元与生物启发神经网络的神经元一一对应起来,机器人实现全覆盖的实时路径规划是由神经元的活性值和机器人的上一位置产生的。该算法完全根据栅格地图单元的性质 (未搜索单元、已搜索单元还是障碍物),决定神经元的输入,直接计算神经元的活性值,不存在神经网络学习过程优点 :算法实时性好,同时可以自动避障与逃离死区。缺点 :但是基于生物启发神经网络的全覆盖算法计算量大,同时此种方法中神经网络模型的衰减率等参数没有最优值,在实现算法时只能通过反复实验确定,参数的设定存在人为不确定因素,从而影响其在线应用工
参考:移动机器人路径规划[PPT]
(78条消息) 全覆盖路径规划算法(CCPP)_MyArrow的专栏-CSDN博客_全覆盖路径规划算法