基于离线地图的机器人全覆盖路径规划方法、装置及设备制造方法及图纸

技术编号:22881541 阅读:23 留言:0更新日期:2019-12-21 06:27
本发明专利技术公开了一种基于离线地图的机器人全覆盖路径规划方法,通过滑动法将地图分割成若干个较为规则的子区域,接着规划子区域之间的遍历顺序,最后规划每个子区域内部的弓字形路径,并连接所有子区域的路径获得整个地图的路径。该方法适用于离线地图,能够提前计算好扫地机器人全覆盖路径的路径点,可以提高路径规划的效率。

Robot full coverage path planning method, device and equipment based on offline map

【技术实现步骤摘要】
基于离线地图的机器人全覆盖路径规划方法、装置及设备
本专利技术涉及扫地机器人清扫全覆盖路径的规划方法,尤其是一种基于离线地图的机器人全覆盖路径规划方法、装置及设备。
技术介绍
扫地机器人是一种家用服务机器人,目前已成为一个热门研究领域。扫地机器人的清扫方式主要有两种,一种是利用传感器感知环境信息,当扫地机器人通过激光或视觉传感器“看见”不远处有障碍物时,提前更改行走方向以绕过障碍物继续清扫。这种无规划式的清扫方式存在重复率高、效率低等缺点。另一种是提前构建好室内环境的地图,这样在清扫时就能够对已清扫部分和未清扫部分进行区分,从而降低清扫的重复率。而对于扫地机器人来说,清扫路径的覆盖率也是评价其性能的重要指标之一。如何利用已知的地图信息进行全覆盖路径的规划,是扫地机器人的重点研究技术。
技术实现思路
专利技术目的:针对上述现有技术存在的缺陷,本专利技术旨在提供一种基于离线地图的机器人全覆盖路径规划方法、装置及设备,提高扫地机器人清扫路径规划的效率和覆盖率。技术方案:一种基于离线地图的机器人全覆盖路径规划方法,包括如下步骤:(1)通过滑动法对地图进行分割获得子区域;(2)规划子区域之间的遍历顺序;(3)规划每个子区域内部的路径;(4)连接所有子区域的路径获得整个地图的路径。进一步的,所述步骤(1)具体包括如下子步骤:(1.1)在地图的可行区域中,找到y坐标最小的点,构造一条经过此点且与x轴平行的直线,记为滑动线l;(1.2)将滑动线l与第一行对齐,并计算第一行连通域的个数,以下步骤从第二行开始;(1.3)沿着y轴方向向下滑动l并计算每一行的连通性,即连通域的个数;(1.4)对于上一行中的某个连通域s_l,如果当前行中只有一个连通域s_c与其连通,则将s_c划分到s_l所在的子区域中;如果当前行有n个连通域与s_l连通,n>1,则结束s_l所在子区域的划分,并开始n个新的子区域的划分;(1.5)对于当前行中的某一个连通域s_c,如果上一行中有0个或n个连通域与其连通,n>1,则结束这n个连通域所在的子区域的划分,并开始1个新区域的划分;(1.6)重复步骤(1.3)~(1.5),直到l滑动到地图的最底部,划分结束。进一步的,步骤(2)所述规划子区域之间的遍历顺序采用如下方法:(2.1)根据机器人在地图上的初始位置获取机器人所在的子区域,作为遍历的第一个子区域;(2.2)确定好第一个子区域以后,使用TSP方法规划其余子区域的遍历顺序。进一步的,步骤(3)所述规划每个子区域内部的路径具体采用如下方法:(3.1)计算子区域的路径线;(3.2)将路径线依次连接得到该子区域的弓字形路径。进一步的,所述步骤(3.1)具体采用如下方法:(3.1.1)获取子区域中所有地图点坐标的最大值和最小值:x_min、x_max、y_min、y_max;(3.1.2)计算第一条路径线:固定y=y_init,从x=x_init开始以步长ds逐渐增加x的值,得到的(x,y)组合依次作为路径点的坐标,直到x≥x_max为止;其中,y_init=y_min+do,x_init=x_min+do;(3.1.3)计算其余的路径线:以步长dp逐渐增加y的值,直到y>y_max为止,得到的值作为每条路径线上路径点的y坐标,x坐标则使用与(3.1.2)同样的方法计算得到;并且,在步骤(3.1.2)前设定路径与障碍物的最小距离do、路径点之间的最小距离ds、路径线间距dp。进一步的,所述步骤(3.2)采用如下方法:(3.2.1)使用A*算法依次计算机器人的当前位置与子区域的四个顶点之间的路径,选择路径长度最短的顶点作为子区域遍历的起点;其中,顶点依次为该其区域第一条路线上第一个点、最后一个点,最后一条路径线上第一个点、最后一个点,其编号分别为0、1、2、3;(3.2.2)如果起点的编号小于2,则从第一条路径线开始向下依次连接路径;反之,则从最后一条路径线开始向上依次连接路径;(3.2.3)如果起点的编号是0或2,则将路径点连接为弓字形路径;如果起点编号是1或3,则将路径点连接为S字形路径。进一步的,所述步骤(3.2.3)具体为:如果起点的编号是0或2,则第一次连接时,按照从左到右的顺序依次连接路径点,并将最后一个路径点与下一条路径线上最右边的点连接,同时按照从右到左的顺序依次连接下一条路径线上的点;以此类推,得到弓字形路径;如果起点编号是1或3,则第一次连接时,按照从右到左的顺序依次连接路径点,并将最后一个路径点与下一条路径线上最左边的点连接,同时按照从左到右的顺序依次连接下一条路径线上的点;以此类推,得到S字形路径。进一步的,在所述步骤(1)之前还包括对地图区域进行预处理,在步骤(3.1)之前还包括对子区域进行预处理,预处理的方法为:(A)计算区域的主方向;(B)对该区域的地图进行旋转,使主方向与地图x轴的方向一致。进一步的,步骤(A)中所述计算区域的主方向具体方法为:(A1)检测地图的边界线段;(A2)提取边界线段中所有的直线段,直线段的长度不小于预设的阈值;(A3)计算出各直线段的方向,将各直线段的方向按照角度范围分组,将频数最多的组的角度范围平均值作为该区域的主方向。进一步的,所述步骤(4)具体是:将步骤(3)中每个子区域的最后一个路径点作为机器人的当前位置,用以计算下一个子区域的起始路径点,再根据步骤(2)得到的子区域之间的遍历顺序连接得到整个地图的路径。一种基于离线地图的机器人全覆盖路径规划装置,包括:地图分割模块:用于通过滑动法对地图进行分割获得子区域;遍历顺序规划模块:用于规划子区域之间的遍历顺序;内部路径规划模块:用于规划每个子区域内部的路径;路径整合模块:用于连接所有子区域的路径获得整个地图的路径。进一步的,还包括驱动模块,用于驱动扫地机器人按照路径整合模块输出的路径行走。进一步的,所述地图分割模块:具体是用于:在地图的可行区域中,找到y坐标最小的点,构造一条经过此点且与x轴平行的直线,记为滑动线l;沿着y轴方向向下滑动l并计算每一行连通域的个数;若当前行中只有一个连通与上一行的一个连通域连通,则将当前行中的这一连通域划分到上一行的这一连通域所在的子区域中;若当前行中只有一个连通与上一行的一个连通域连通则开始多个新的子区域的划分;对于当前行中的某一个连通域s_c,如果上一行中有0个或n个连通域与其连通,n>1,则结束这n个连通域所在的子区域的划分,并开始1个新区域的划分;直到l滑动到地图的最底部,划分结束。进一步的,所述遍历顺序规划模块包括:初始位置获取模块,用于获取机器人在地图上的初始位置所在的子区域作为遍历的第一个子区域;TSP模块,用于基于TSP规划其本文档来自技高网...

【技术保护点】
1.基于离线地图的机器人全覆盖路径规划方法,其特征在于,包括如下步骤:/n(1)通过滑动法对地图进行分割获得子区域;/n(2)规划子区域之间的遍历顺序;/n(3)规划每个子区域内部的路径;/n(4)连接所有子区域的路径获得整个地图的路径。/n

【技术特征摘要】
1.基于离线地图的机器人全覆盖路径规划方法,其特征在于,包括如下步骤:
(1)通过滑动法对地图进行分割获得子区域;
(2)规划子区域之间的遍历顺序;
(3)规划每个子区域内部的路径;
(4)连接所有子区域的路径获得整个地图的路径。


2.根据权利要求1所述的基于离线地图的机器人全覆盖路径规划方法,其特征在于,所述步骤(1)具体包括如下子步骤:
(1.1)在地图的可行区域中,找到y坐标最小的点,构造一条经过此点且与x轴平行的直线,记为滑动线l;
(1.2)将滑动线l与第一行对齐,并计算第一行连通域的个数,以下步骤从第二行开始;
(1.3)沿着y轴方向向下滑动l并计算每一行的连通性,即连通域的个数;
(1.4)对于上一行中的某个连通域s_l,如果当前行中只有一个连通域s_c与其连通,则将s_c划分到s_l所在的子区域中;如果当前行有n个连通域与s_l连通,n>1,则结束s_l所在子区域的划分,并开始n个新的子区域的划分;
(1.5)对于当前行中的某一个连通域s_c,如果上一行中有0个或n个(n>1)以上的连通域与其连通,则结束这n个连通域所在的子区域的划分,并开始1个新区域的划分;
(1.6)重复步骤(1.3)~(1.5),直到l滑动到地图的最底部,划分结束。


3.根据权利要求1所述的基于离线地图的机器人全覆盖路径规划方法,其特征在于,步骤(2)所述规划子区域之间的遍历顺序采用如下方法:
(2.1)根据机器人在地图上的初始位置获取机器人所在的子区域,作为遍历的第一个子区域;
(2.2)确定好第一个子区域以后,使用TSP方法规划其余子区域的遍历顺序。


4.根据权利要求1所述的基于离线地图的机器人全覆盖路径规划方法,其特征在于,步骤(3)所述规划每个子区域内部的路径具体采用如下方法:
(3.1)计算子区域的路径线;
(3.2)将路径线依次连接得到该子区域的弓字形路径。


5.根据权利要求4所述的基于离线地图的机器人全覆盖路径规划方法,其特征在于,所述步骤(3.1)具体采用如下方法:
(3.1.1)获取子区域中所有地图点坐标的最大值和最小值:x_min、x_max、y_min、y_max;
(3.1.2)计算第一条路径线:固定y=y_init,从x=x_init开始以步长ds逐渐增加x的值,得到的(x,y)组合依次作为路径点的坐标,直到x≥x_max为止;其中,y_init=y_min+do,x_init=x_min+do;
(3.1.3)计算其余的路径线:以步长dp逐渐增加y的值,直到y>y_max为止,得到的值作为每条路径线上路径点的y坐标,x坐标则使用与(3.1.2)同样的方法计算得到;
并且,在步骤(3.1.2)前设定路径与障碍物的最小距离do、路径点之间的最小距离ds、路径线间距dp。


6.根据权利要求4所述的基于离线地图的机器人全覆盖路径规划方法,其特征在于,所述步骤(3.2)采用如下方法:
(3.2.1)使用A*算法依次计算机器人的当前位置与子区域的四个顶点之间的路径,选择路径长度最短的顶点作为子区域遍历的起点;其中,顶点依次为该其区域第一条路线上第一个点、最后一个点,最后一条路径线上第一个点、最后一个点,其编号分别为0、1、2、3;
(3.2.2)如果起点的编号小于2,则从第一条路径线开始向下依次连接路径;反之,则从最后一条路径线开始向上依次连接路径;
(3.2.3)如果起点的编号是0或2,则将路径点连接为弓字形路径;如果起点编号是1或3,则将路径点连接为S字形路径。


7.根据权利要求6所述的基于离线地图的机器人全覆盖路径规划方法,其特征在于,所述步骤(3.2.3)具体为:如果起点的编号是0或2,则第一次连接时,按照从左到右的顺序依次连...

【专利技术属性】
技术研发人员:林雅云李骊
申请(专利权)人:北京华捷艾米科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1