一种基于栅格法的扫地机器人全遍历路径规划方法与流程

文档序号:18948786发布日期:2019-10-23 01:53阅读:1547来源:国知局
一种基于栅格法的扫地机器人全遍历路径规划方法与流程

本发明属于路径规划技术领域,具体涉及一种基于栅格法的扫地机器人全遍历路径规划方法。



背景技术:

扫地机器人作为服务机器人的一种,是目前使用最多的服务机器人,能够进行室内外地面的清洁。扫地机器人将机器人技术联合清扫吸尘技术,集机械、传感器、智能控制、人机交互、计算机等多个学科,应用传感器技术、定位技术、全遍历清扫路径规划技术、自主回充和电源技术实现特定功能。环境清扫属于耗时,重复性高的工作,扫地机器人的出现解决了这个问题,将人们从单挑枯燥的清扫工作中解救出来,很大程度地降低了劳动成本、提高了工作效率,具有很重要的研究意义。

扫地机器人的路径规划是扫地机器人基本的问题,机器人感知周围环境后,按照某种规划方法规划出一条与环境障碍无碰撞并实现全区域覆盖的路径。因此扫地机器人要解决几个问题:对清洁区域进行全遍历的清扫;要避开障碍物;寻求最优路径。

路径规划的目标是在封闭区域内实现机器人的移动路径对工作区域的最大覆盖率和最小重复率。覆盖率和重复率是扫地机器人路径规划最主要的两个评估标准。清洁机器人的全区域覆盖路径规划可以分为未知环境全区域覆盖、已知环境全区域覆盖。

现有的路径规划方法有往返式路径规划和内螺旋式路径规划。往返式路径规划就是扫地机器人沿着某一个方向前进,遇到障碍物后移一个车身转弯掉头继续行进,如此来回运动以达到遍历整个环境;内螺旋路径规划即让扫地机器人沿着墙壁的边界移动,遇到障碍物就进行延边移动,不断形成一个“回”字型的路径,最后到达清洁区域的中心点。这种遍历清洁方法可能会受到环境的限制而被困在某种特定的区域内或者产生扫地机器人无法到达的情况。



技术实现要素:

针对现有技术中的上述不足,本发明提供的基于栅格法的扫地机器人全遍历路径规划方法解决了现有的扫地机器人遍历清洁时收到区域限制的问题。

为了达到上述发明目的,本发明采用的技术方案为:一种基于栅格法的扫地机器人全遍历路径规划方法,包括以下步骤:

s1、根据扫地机器人的工作环境,建立栅格地图并将其划分为若干个矩形分区;

s2、依次规划每个矩形分区的无重复遍历路径;

s3、确定栅格地图中各个矩形分区的遍历顺序及跨越各个矩形分区时的路线,在每个矩形分区内按照规划的无重复遍历路径进行清扫,完成扫地机器人的全遍历路径规划。

进一步地,所述步骤s1中建立栅格地图的方法具体为:

a1、根据扫地机器人的清洁直径确认栅格的大小;

a2、用若干个栅格覆盖扫地机器人的工作环境,并确定每个栅格的属性;

其中,在工作环境扫地机器人不可达区域对应的栅格属性为黑色,其属性值为-1,可达区域对应的栅格属性为白色,其属性值为0;

a3、将每个栅格用二维数组表示其所在位置,完成栅格地图的构建;

其中,二维数组a(i,j)表示栅格地图中第i行第j列的栅格。

进一步地,所述步骤s1中进行划分矩形分区的方法具体为:

b1、通过贪心算法对栅格地图进行矩形分区的划分,得到若干种矩形分区划分方案;

b2、依次计算每种矩形分区划分方案方差;

b3、将方差最小的矩形分区划分方案作为栅格地图的矩形分区;

其中,方差var的计算公式为:

式中,ksum为栅格地图中所有矩形分区的个数;

avg为栅格地图中所有矩形分区的平均面积;

x'k为编号为k的矩形分区的终点栅格的横坐标;

xk为编号为k的矩形分区的起点栅格的横坐标;

y'k为编号为k的矩形分区的终点栅格的纵坐标;

yk为编号为k的矩形分区的起点栅格的纵坐标。

进一步地,所述步骤b1具体为:

b11、确定矩形分区的起点栅格:

按照从左至右,从上至下的顺序遍历栅格地图,将第一个属性值为0的栅格作为一个矩形分区的起点栅格;

b12、确定该矩形分区的终点栅格:

从起点栅格开始,以从左至右从上到下的顺序遍历未分区的栅格,将未分区的栅格作为矩形分区的候选终点栅格,取使矩形分区面积最大,且该矩形分区中无已被分区和不可达栅格的栅格作为矩形分区的终点栅格;

b13、修改栅格属性值:

将划分出的矩形分区中的栅格的属性值设置为该矩形分区的编号;

其中,矩形分区的编号为大于0且依次递增的自然数;

b14、重复步骤b11-b13:

对栅格地图中的所有栅格进行遍历并进行矩形分区的划分,直到栅格地图中所有栅格的属性值均不为0。

进一步地,所述步骤b1中确定的矩形分区划分方案有8种;

所述步骤b11确定第一个矩形分区的起点栅格时,其在栅格地图中的候选位置包括右上角、左上角、左下角和右下角;

所述步骤b11中遍历确定各矩形分区的终点栅格时,遍历方式包括以起点栅格所在的行优先和以起点栅格所在的列优先。

进一步地,所述步骤s2具体为:

s21、将矩形分区中一个顶点栅格作为遍历起点,将该矩形分区的中其他三个顶点作为路径规划时的候选遍历终点;

其中,矩形分区的顶点栅格包括左上角顶点栅格、右上角顶点栅格、左下角顶点栅格和右下角顶点栅格;

s22、根据矩形分区的遍历起点和遍历终点所在位置,确定遍历起点与遍历终点的顶点关系;

s23、根据顶点关系,确定该矩形分区内的无重复遍历路径。

进一步地,所述步骤s22中顶点关系包括奇边顶点、偶边顶点和对角顶点;

所述奇边顶点为当遍历起点和遍历终点在同一行或同一列,且其所在的行或列有奇数个栅格时,则遍历起点和遍历终点的顶点关系为奇边顶点;

所述偶边顶点为当遍历起点和遍历终点在同一行或同一列,且其所在的行或列有偶数个栅格时,则遍历起点和遍历终点的顶点关系为偶边顶点;

所述对角顶点为当遍历起点和遍历终点分布与矩形分区的对角线两端时,则遍历起点和遍历终点的顶点关系为对角顶点。

进一步地,所述步骤s23中:

(1)当顶点关系为奇边顶点时,对应的矩形分区为奇行奇列,该矩形分区的无重复遍历路径为:

当遍历终点与遍历起点在同一行时,从遍历起点开始进行列往返遍历循环至矩形分区的第n行第m-2列,然后以第n行第m-1列的栅格开始进行行往返遍历循环,到达与遍历起点在同一行的遍历终点,形成无重复的遍历路径;

当遍历终点与遍历起点在同一列时,从遍历起点开始进行行往返遍历循环至矩形分区的第n-2行第m列,然后第n-1行第m列的栅格开始进行列往返遍历循环,到达与遍历起点在同一列的遍历终点,形成无重复的遍历路径;

其中,n为矩形分区的行数,m为矩形分区的列数,且n和m均为奇数;

(2)当顶点关系为偶边顶点时,对应的矩形分区中遍历起点和遍历终点的距离为2n1个栅格,该矩形分区的无重复遍历路径为:

当遍历终点与遍历起点在同一行时,以遍历起点开始进行列往返遍历循环,经过n1个列往返遍历循环,到达与遍历起点在同一行的遍历终点,形成无重复的遍历路径;

当遍历终点与遍历起点在同一列时,以遍历起点开始进行行往返遍历循环,经过n1个行往返遍历循环,到达与遍历起点在同一列的遍历终点,形成无重复的遍历路径;

其中,n1为行往返遍历循环或行往返遍历循环的次数;

(3)当顶点关系为对角顶点时,矩形分区形状包括奇行偶列,偶行奇列和奇行奇列,对应的无重复遍历路径为:

当矩形分区为奇行偶列时,以遍历起点开始进行行往返遍历循环至矩形分区的n2-1行第m2列,然后以n2行第m2列的栅格开始进行第n2行遍历,到达与遍历起点成对角顶点的遍历终点,形成无重复遍历的规划路径;

其中,n2为矩形分区的行数,m2为矩形分区的列数,且n2为奇数,m2为偶数;

当矩形分区为偶行奇列时,以遍历起点开始进行列往返遍历循环至矩形分区的第m3-1列第n3行,然后以第m3列第n3行的栅格开始进行第m3列的遍历,到达与遍历起点成对角顶点的遍历终点,形成无重复遍历的规划路径;

其中,n3为矩形分区的行数,m3为矩形分区的列数,且n3为偶数,m3为奇数;

当矩形分区为奇行奇列时,以遍历起点开始进行行往返遍历循环至矩形分区的第n4-1行第m4列,然后以第n4行第m4列的栅格开始进行第n4的遍历,到达与遍历起点成对角顶点的遍历终点,形成无重复遍历的规划路径;

其中,n4为矩形分区的行数,m4为矩形分区的列数,且n4和m4均为奇数。

进一步地,所述步骤s3具体为:

s31、确定栅格地图中每两个矩形分区之间的最短距离,

s32、根据最短距离,建立矩形分区的距离矩阵;

s33、根据矩形分区的距离矩阵,构建对应的无向图;

s34、根据无向图,通过tsp算法确定矩形分区的连通顺序,得到扫地机器人的跨矩形分区的清扫顺序;

s35、当扫地机器人根据清扫顺序进行路径遍历时,在每个矩形分区内根据规划的无重复遍历路径进行矩形分区的清扫,完成扫地机器人的全遍历路径规划。

进一步地,所述步骤s31中两个矩形分区之间的最短距离为在一个矩形分区中的四个顶点与另一个矩形分区中的四个顶点之间的所有距离中的最短距离,即为跨越两个矩形分区时的路线;

所述步骤s32中距离矩阵的建立方法具体为:

c1、建立空的距离矩阵dis,且该距离矩阵大小为ksum×ksum;

其中,ksum为矩形分区的总个数;

c2、设置每个矩形分区到其自身的距离为-1,则距离矩阵dis中主对角线上的值均为-1;

c2、计算矩形分区p到矩形分区q的最短距离,作为距离矩阵dis中第p行第q列的元素,完成距离矩阵dis的建立;

其中,在距离矩阵dis中dis(p,q)=dis(q,p),且1≤p<q≤ksum。

本发明的有益效果为:

本发明提供的基于栅格法的扫地机器人全遍历路径规划方法,以智能扫地机器人为切入点,将智能机器人对清洁区域的清扫分为了栅格地图的建立、矩形区域的划分、矩形区域内的遍历、矩形区域的遍历顺序和栅格地图的遍历五个步骤进行。得到的全遍历路径覆盖率高,规划方法执行过程简单,使用难度低,灵活性强,能广泛的适用于各种扫地机器人的工作场景中。

附图说明

图1为本发明提供基于栅格法的扫地机器人全遍历路径规划方法流程图。

图2为本发明中的栅格地图示意图。

图3为本发明中的一个矩形分区中起点栅格确定示意图。

图4为本发明中的一个矩形分区中终点栅格确定示意图。

图5为本发明中的栅格地图的矩形分区划分示意图。

图6为本发明中的栅格地图的8种矩形分区划分方案示意图。

图7为本发明中的顶点关系为奇边顶点时的一种全遍历路径。

图8为本发明中的顶点关系为偶边顶点时的一种全遍历路径。

图9为本发明中的顶点关系为对角顶点且矩形分区为奇行奇列时的一种全遍历路径。

图10为本发明中的顶点关系为对角顶点且矩形分区为偶行奇列时的一种全遍历路径。

图11为本发明中的顶点关系为对角顶点且矩形分区为奇行奇列的一种全遍历路径。

图12为本发明中相邻两个矩形分区确定最短距离示意图。

图13为本发明中不相邻的两个矩形分区确定最短距离示意图。

图14为本发明中的矩形分区的距离矩阵。

图15为本发明中的矩形分区对应的无向图。

图16为本发明中的栅格地图中跨矩形分区的路线示意图,

图17为本发明中的栅格地图全遍历路径示意图。

图18为本发明中在java平台测试时的遍历结果示意图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

如图1所示,一种基于栅格法的扫地机器人全遍历路径规划方法,包括以下步骤:

s1、根据扫地机器人的工作环境,建立栅格地图并将其划分为若干个矩形分区;

s2、依次规划每个矩形分区的无重复遍历路径;

s3、确定栅格地图中各个矩形分区的遍历顺序及跨越各个矩形分区时的路线,在每个矩形分区内按照规划的无重复遍历路径进行清扫,完成扫地机器人的全遍历路径规划。

上述骤s1中建立栅格地图的方法具体为:

a1、根据扫地机器人的清洁直径确认栅格的大小;

a2、用若干个栅格覆盖扫地机器人的工作环境,并确定每个栅格的属性;

其中,在工作环境扫地机器人不可达区域对应的栅格属性为黑色,其属性值为-1,可达区域对应的栅格属性为白色,其属性值为0;

a3、将每个栅格用二维数组表示其所在位置,完成栅格地图的构建;

其中,二维数组a(i,j)表示栅格地图中第i行第j列的栅格。

为了便于对本发明方案的理解,给出了如图2所示的10×10的栅格地图,其中的黑色栅格为不可达的无需清扫的障碍物区域,白色的为可达的需要清扫的区域;

贪心算法是指在对问题求解时,总是做出在当前看来最好的选择,也就是说,不从整体最优上加以考虑,而只考虑当前步骤的最优选择。贪心算法并不是对所有问题都能得到整体最优解,其关键是贪心策略的选择。如果选择的贪心策略具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关,则贪心算法求出的最优解就是总体最优解。本发明基于贪心算法使用了8个不同的方案对栅格地图进行矩形分区,得到了8个不同的分区结果,从中选择最优分区方案。因此步骤s1中进行划分矩形分区的方法具体为:

b1、通过贪心算法对栅格地图进行矩形分区的划分,得到若干种矩形分区划分方案;

b2、依次计算每种矩形分区划分方案方差;

b3、将方差最小的矩形分区划分方案作为栅格地图的矩形分区;

矩形分区的标准是每个分区的面积大小是相似的,这样跨分区遍历效果才能更好。因此可以通过求每个方案的矩形分区面积的方差度量分区面积和其数学期望之间的偏离程度。方差越小的方案,就是偏离程度越小的方案,该方案的分区面积也越相似。

其中,方差var的计算公式为:

其中,栅格地图中所有矩形分区的平均面积avg为:

式中,ksum为栅格地图中所有矩形分区的个数;

avg为栅格地图中所有矩形分区的平均面积;

x'k为编号为k的矩形分区的终点栅格的横坐标;

xk为编号为k的矩形分区的起点栅格的横坐标;

y'k为编号为k的矩形分区的终点栅格的纵坐标;

yk为编号为k的矩形分区的起点栅格的纵坐标。

在步骤b1中进行矩形分区划分时,要把栅格地图除了障碍物以外的清洁区域划分成一个个矩形分区且不能重叠,所以每一个矩形可以由两个坐标栅格来表示,即左上角栅格的坐标点和右下角栅格的坐标点,而划分矩形分区就可以简化为寻找一组组坐标点;因此步骤b1具体为:

b11、确定矩形分区的起点栅格:

按照从左至右,从上至下的顺序遍历栅格地图,将第一个属性值为0的栅格作为一个矩形分区的起点栅格;

如图3所示,栅格地图中左上角的灰色圆形所在栅格即为一个矩形分区的起点栅格。

b12、确定该矩形分区的终点栅格:

从起点栅格开始,以从左至右从上到下的顺序遍历未分区的栅格,将未分区的栅格作为矩形分区的候选终点栅格,取使矩形分区面积最大,且该矩形分区中无已被分区和不可达栅格的栅格作为矩形分区的终点栅格;

具体地,在确定终点栅格时,需要使划分出的矩形分区面积最大;因此,按照从左至右,从上至下的顺序遍历栅格地图。当遇到障碍物栅格或已经被分区的栅格时,包括障碍物栅格或已经被分区的栅格在内的右下角的所有栅格都不能成为该矩形分区的终点栅格。在遍历过程中,总是保存面积最大的矩形分区的面积和终点栅格。也就是说,每经过一个属性为0的栅格,先计算以该栅格为终点的矩形的面积,然后将该面积和当前所保存的最大的矩形面积进行比较。若该面积大于当前最大的矩形面积,则将当前最大矩形面积和终点栅格更新为该面积和该终点栅格;否则当前最大矩形面积和终点栅格保持不变。如此循环,直到遍历所有合法栅格既可以得到终点栅格以及其所对应的矩形面积;进而确定出每个矩形分区的终点栅格。

如图4所示,为根据上述确定方法,划分出的一个矩形分区,其中黑色箭头为遍历路线,右边小的加粗虚线矩形内的栅格为遇到障碍物或已经被分区的栅格在内的右下角的所有栅格,左边小的加粗实线矩形中的右下角灰色圆形为第一个矩形分区的终点栅格所在位置,因此,左边的小的加粗虚线矩形即为第一个矩形分区。

b13、修改栅格属性值:

将划分出的矩形分区中的栅格的属性值设置为该矩形分区的编号;

其中,矩形分区的编号为大于0且依次递增的自然数;

b14、重复步骤b11-b13:

对栅格地图中的所有栅格进行遍历并进行矩形分区的划分,直到栅格地图中所有栅格的属性值均不为0。

根据上述步骤获得如图5所示一种矩形分区划分方案;其中加粗矩形为划分出的矩形分区。由于贪心算法仅考虑当前最优,所以步骤b11确定中栅格地图的起点栅格时,其可在栅格地图的任意顶点处,且遍历时的行列优先级也会有不同。因此步骤b11确定第一个矩形分区的起点栅格时,其在栅格地图中的候选位置包括右上角、左上角、左下角和右下角;

步骤b11中遍历确定各矩形分区的地点栅格时,遍历方式包括以起点栅格所在的行优先和以起点栅格所在的列优先。

因此,根据上述几种情况的组合,如图6所示,通过贪心算法得到的矩形分区划分方案有8种。通过对图中8种划分方案中的矩形分区的方差进行计算,确定起点栅格在左上角,确定终点栅格时以列优先时的矩形分区方案为最优方案。需要说明的是,此处得出的最优方案仅是针对该栅格地图的结论,不同的栅格地图根据其实际形状会得出不同的矩形分区方案。

因此所述步骤s2具体为:

s21、将矩形分区中一个顶点栅格作为遍历起点,将该矩形分区的中其他三个顶点作为路径规划时的候选遍历终点;

其中,矩形分区的顶点栅格包括左上角顶点栅格、右上角顶点栅格、左下角顶点栅格和右下角顶点栅格;

s22、根据矩形分区的遍历起点和遍历终点所在位置,确定遍历起点与遍历终点的顶点关系;

s23、根据顶点关系,确定该矩形分区内的无重复遍历路径。

上述步骤s22中顶点关系包括奇边顶点、偶边顶点和对角顶点;

所述奇边顶点为当遍历起点和遍历终点在同一行或同一列,且其所在的行或列有奇数个栅格时,则遍历起点和遍历终点的顶点关系为奇边顶点;

所述偶边顶点为当遍历起点和遍历终点在同一行或同一列,若其所在的行或列有偶数个栅格时,则遍历起点和遍历终点的顶点关系为偶边顶点;

所述对角顶点为当遍历起点和遍历终点分布与矩形分区的对角线两端时,则遍历起点和遍历终点的顶点关系为对角顶点。

在对矩形分区时可以根据行数和列数的奇偶性不同,分为4中情况,但由于行数为1或者列数为1时路径只有1条,因此本发明中的研究行数和列数均大于等于2。

当扫地机器人进入一个矩形分区以后,必须要完全清扫此矩形分区以后才能进入下一个矩形分区作业。根据前述内容假设扫地机器人进入一个矩形分区后,会移动到距离该机器人最近的顶点栅格作为遍历该矩形分区的起点栅格,而接来下就是根据可直达的终点确定一条让扫地机器人尽量无重复地遍历该矩形分区的路线。

因此在步骤s23中:

(1)当顶点关系为奇边顶点时,对应的矩形分区为奇行奇列,该矩形分区的无重复遍历路径为:

当遍历终点与遍历起点在同一行时,从遍历起点开始进行列往返遍历循环至矩形分区的第n行第m-2列,然后以第n行第m-1列的栅格开始进行行往返遍历循环,到达与遍历起点在同一行的遍历终点,形成无重复的遍历路径;

当遍历终点与遍历起点在同一列时,从遍历起点开始进行行往返遍历循环至矩形分区的第n-2行第m列,然后第n-1行第m列的栅格开始进行列往返遍历循环,到达与遍历起点在同一列的遍历终点,形成无重复的遍历路径;

其中,n为矩形分区的行数,m为矩形分区的列数,且n和m均为奇数;

如图7所示,展示了遍历终点与遍历起点在同一行时的无重复遍历路径。

(2)当顶点关系为偶边顶点时,对应的矩形分区中遍历起点和遍历终点的距离为2n1个栅格,该矩形分区的无重复遍历路径为:

当遍历终点与遍历起点在同一行时,以遍历起点开始进行列往返遍历循环,经过n1个列往返遍历循环,到达与遍历起点在同一行的遍历终点,形成无重复的遍历路径;

当遍历终点与遍历起点在同一列时,以遍历起点开始进行行往返遍历循环,经过n1个行往返遍历循环,到达与遍历起点在同一列的遍历终点,形成无重复的遍历路径;

其中,n1为行往返遍历循环或行往返遍历循环的次数;

如图8所示,展示了展示了遍历终点与遍历起点在同一行时无重复遍历路径。

(3)当顶点关系为对角顶点时,矩形分区形状包括奇行偶列,偶行奇列和奇行奇列,对应的无重复遍历路径为:

当矩形分区为奇行偶列时,以遍历起点开始进行行往返遍历循环至矩形分区的n2-1行第m2列,然后以n2行第m2列的栅格开始进行第n2行遍历,到达与遍历起点成对角顶点的遍历终点,形成无重复遍历的规划路径;

其中,n2为矩形分区的行数,m2为矩形分区的列数,且n2为奇数,m2为偶数;

当矩形分区为偶行奇列时,以遍历起点开始进行列往返遍历循环至矩形分区的第m3-1列第n3行,然后以第m3列第n3行的栅格开始进行第m3列的遍历,到达与遍历起点成对角顶点的遍历终点,形成无重复遍历的规划路径;

其中,n3为矩形分区的行数,m3为矩形分区的列数,且n3为偶数,m3为奇数;

当矩形分区为奇行奇列时,以遍历起点开始进行行往返遍历循环至矩形分区的第n4-1行第m4列,然后以第n4行第m4列的栅格开始进行第n4的遍历,到达与遍历起点成对角顶点的遍历终点,形成无重复遍历的规划路径;

其中,n4为矩形分区的行数,m4为矩形分区的列数,且n4和m4均为奇数。

如图9所示,展示了该情况下的无重复遍历路径。

当矩形分区为偶行奇列时,以遍历起点开始进行列往返遍历循环至矩形分区的第m3-1列第n3行,然后以第m3列第n3行的栅格开始进行第m3列的遍历,到达与遍历起点成对角顶点的遍历终点,形成无重复遍历的规划路径;

其中,n3为矩形分区的行数,m3为矩形分区的列数,且n3为偶数,m3为奇数;

如图10所示,展示了该情况下的无重复遍历路径。

当矩形分区为奇行奇列时,以遍历起点开始进行行往返遍历循环至矩形分区的第n4-1行第m4列,然后以第n4行第m4列的栅格开始进行第n4的遍历,到达与遍历起点成对角顶点的遍历终点,形成无重复遍历的规划路径;

其中,n4为矩形分区的行数,m4为矩形分区的列数,且n4和m4均为奇数;

如图11所示,展示了该情况下的无重复遍历路径。

在确定每个矩形分区内的遍历路径后,需要进一步确定在栅格地图内,对于所有矩形分区的遍历顺序,这个过程可以通过建立一个距离矩阵并在此基础上求解一个tsp问题得到。

因此,步骤s3具体为:

s31、确定栅格地图中每两个矩形分区之间的最短距离,

s32、根据最短距离,建立矩形分区的距离矩阵;

s33、根据矩形分区的距离矩阵,构建对应的无向图;

s34、根据无向图,通过tsp算法确定矩形分区的连通顺序,得到扫地机器人的清扫顺序;

s35、当扫地机器人根据清扫顺序进行路径遍历时,在每个矩形分区内根据规划的无重复遍历路径进行矩形分区的清扫,完成扫地机器人的全遍历路径规划。

上述步骤s31中两个矩形分区之间的最短距离为在一个矩形分区中的四个顶点与另一个矩形分区中的四个顶点之间的所有距离中的最短距离,即为跨越两个矩形分区时的路线;

具体的,相邻两个矩形分区间的最短距离如图12所示,分区使用编号为1分区的四个顶点和编号为2分区的两个顶点计算距离,由图12可知编号为1分区的2号顶点到编号为2分区的1号顶点距离最近为1,所以编号为1的分区和编号为2的分区相互之间的距离为1;

不相邻的两个矩形分区的最短距离如图13所示,矩形分区使用编号为1分区的四个顶点和编号为13分区的四个顶点计算距离,由图13可知编号为1分区的2号顶点到编号为13分区的1号顶点距离最近为17,所以编号为1的分区和编号为13的分区相互之间的距离为17。

确定好两个矩形分区间的距离计算方法后,就要确定矩形分区间的距离矩阵;

所述步骤s32中距离矩阵的建立方法具体为:

c1、建立空的距离矩阵dis,且该距离矩阵大小为ksum×ksum;

其中,ksum为矩形分区的总个数;

c2、设置每个矩形分区到其自身的距离为-1,则距离矩阵dis中主对角线上的值均为-1;

这是由于从该矩形分区出发后不可以再次回归该分区;

c2、计算矩形分区p到矩形分区q的最短距离,作为距离矩阵dis中第p行第q列的元素,完成距离矩阵dis的建立;

其中,在距离矩阵dis中dis(p,q)=dis(q,p),且1≤p<q≤ksum。

将上述方法运用到之前确定的矩形分区方案中,得到的矩形分区距离矩阵如图14所示;根据图14中的内容,将每个矩形分区看作一个点,距离矩阵看作是点到点之间的距离,由此得到如图15所示的无向图,计算矩形分区的清扫顺序,实际上就是要在该无向图中寻找一条最短无重复地覆盖每一个点的回路,即汉密尔顿回路,对于图15所示的无向图,通过tsp算法进行求解确定最优路径,即矩形分区的清扫路径为:1-2-7-3-16-8-4-11-5-13-15-14-10-12-9-6-1。

同时可以知道所有跨矩形分区的路线,如图16所示,图中黑色线段为两分区间的最短路线,同时也是跨分区时的路线。

根据上述方法,对之前建立的栅格地图进行全遍历路径规划后,得到的结果如图17所示,图中浅灰色直线线段为遍历矩形分区并回到跨分区起点的路线,黑色线段为跨分区线段,而黑色虚线线段为遍历完所有分区后回到初始起点的路线。

为了核验上述全遍历路径的效果,本发明在java平台上运行核验该方法的重复率和覆盖率;

其中,覆盖率=被遍历过的栅格方块的总和(多次遍历过的栅格块只算一个栅格块)/需要被清洁的栅格方块的总和;

重复率=每个栅格方块的重复次数的总和/需要被清洁的栅格方块的总和

通过tsp算法得到最短的矩形分区的遍历路线:

1-2-7-3-16-8-4-11-5-13-15-14-10-12-9-6-1

运行得到结果如图18所示。图中白色方块表明该栅格方块被遍历过一次,浅灰色方块表明该栅格方块被遍历过两次,深灰色方块表明该栅格方块被遍历过三次。

通过计算得到该规划结果的覆盖率为100%,重复率为17.6%;取得了较好的全遍历路径规划效果。

本发明的有益效果为:

本发明提供的基于栅格法的扫地机器人全遍历路径规划方法,以智能扫地机器人为切入点,将智能机器人对清洁区域的清扫分为了栅格地图的建立、矩形区域的划分、矩形区域内的遍历、矩形区域的遍历顺序和栅格地图的遍历五个步骤进行。得到的全遍历路径覆盖率高,规划方法执行过程简单,使用难度低,灵活性强,能广泛的适用于各种扫地机器人的工作场景中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1