CN109947114B - 基于栅格地图的机器人全覆盖路径规划方法、装置及设备 - Google Patents

基于栅格地图的机器人全覆盖路径规划方法、装置及设备 Download PDF

Info

Publication number
CN109947114B
CN109947114B CN201910294129.0A CN201910294129A CN109947114B CN 109947114 B CN109947114 B CN 109947114B CN 201910294129 A CN201910294129 A CN 201910294129A CN 109947114 B CN109947114 B CN 109947114B
Authority
CN
China
Prior art keywords
robot
sub
area
region
obstacle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910294129.0A
Other languages
English (en)
Other versions
CN109947114A (zh
Inventor
林雅云
黄骏
周晓军
陶明
孙赛
李骊
王行
盛赞
李朔
杨淼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Huajie Imi Technology Co ltd
Original Assignee
Nanjing Huajie Imi Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Huajie Imi Technology Co ltd filed Critical Nanjing Huajie Imi Technology Co ltd
Priority to CN201910294129.0A priority Critical patent/CN109947114B/zh
Publication of CN109947114A publication Critical patent/CN109947114A/zh
Application granted granted Critical
Publication of CN109947114B publication Critical patent/CN109947114B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明公开了一种基于栅格地图的机器人全覆盖路径规划方法、装置及设备,首先将整个环境地图分解成若干个简单的相邻子区域,然后遍历各子区域,在高覆盖率的同时重复率也很低。另外,在遍历的过程中,根据定位信息和地图障碍物信息实时改变行走状态,具有简单灵活、易实施的优点。并且,机器人在清扫区域时,其主要行驶方向直接影响了路径的转折次数。本发明使用区域的主方向作为机器人遍历清扫路径的主要行驶方向,这样可以极大地减少路径的转折次数,从而提高遍历的效率。

Description

基于栅格地图的机器人全覆盖路径规划方法、装置及设备
技术领域
本发明涉及扫地机器人清扫全覆盖路径的规划方法,尤其是一种基于栅格地图的机器人全覆盖路径规划方法、装置及设备。
背景技术
室内扫地机器人是家用服务机器人的一种,具有扫地省时省力,功能多样、操作便捷等优点,可替代人工减轻劳动负荷,已成为智能机器人研究的热点方向。在扫地机器人研究领域中,全覆盖路径规划技术是一种核心技术。该技术的目的是规划出一条与环境中障碍物无碰撞且能够完全覆盖环境中可行区域的路径。目前已经涌现出很多路径规划算法,包括未知环境下的路径规划和已知的路径规划。其中,基于未知环境的路径规划算法主要采用随机算法,具有简单、成本低的优点,其缺点在于效率低而重复率高。为了提高规划的效率和覆盖率,降低重复率,目前大部分研究都是基于已知环境的,即首先构建出环境的地图,然后在此地图之上进行路径的规划。在基于已知环境的全覆盖路径规划中,为了降低路径规划的复杂度,将地图进行区域分解是一种重要的技术手段,而区域分解之后各区域的遍历清扫是近年来研究的主要趋势。
发明内容
发明目的:针对上述现有技术存在的缺陷,本发明旨在提供一种基于栅格地图的机器人全覆盖路径规划方法、装置及设备,解决已知环境下扫地机器人全覆盖路径规划问题,即在已经获取室内环境地图的情况下,规划高覆盖率、低重复率的机器人扫地路径。
技术方案:一种基于栅格地图的机器人全覆盖路径规划方法,包括如下步骤:
(1)地图分解:在二维栅格地图中区分出障碍物区域和不含障碍物的可行区域,再将可行区域划分成若干个子区域;
(2)指定各子区域的主方向;
(3)根据机器人在地图中的起始位置选择待清扫的子区域和该子区域遍历清扫的起始点;
(4)子区域遍历清扫:扫地机器人的前进方向与选定子区域的主方向对齐,进行该子区域的遍历清扫,扫地机器人根据自身定位信息和栅格地图障碍物信息实时动态地切换行走状态、绕开障碍物;
(5)在某个子区域遍历清扫结束以后,在未清扫的子区域中选择与机器人位置最相近的作为下一个遍历清扫的子区域,进行步骤(4),直到所有的子区域都已遍历清扫完毕。
进一步的,步骤(1)中所述在二维栅格地图中区分出障碍物和不含障碍物的区域具体是将二维栅格地图根据障碍物情况转化为二值图像:将二维栅格地图中的障碍物部分和未知区域部分都使用颜色一表示、可行区域部分使用颜色二表示。
进一步的,步骤(1)中所述将可行区域划分成若干个子区域具体是使用Boustrophedon算法将可行区域划分成若干个简单的相邻的子区域。
进一步的,步骤(2)所述各子区域的主方向的计算方法是:对子区域的图像进行边缘检测,找到边缘线中的直线段并计算出各直线段的方向,将各直线段的方向按照角度范围分组,将频数最多的组的角度范围平均值作为该子区域的主方向。
进一步的,步骤(2)所述各子区域的主方向的计算方法是:使用Canny边缘检测方法对子区域的图像进行边缘检测,使用霍夫检测方法找到边缘线中的直线段并计算出各直线段的方向,将各直线段的方向按照角度范围分组,采用直方图来描述各直线段的方向的分布情况,最后将直方图中频数最多的组的角度范围平均值作为该子区域的主方向。
进一步的,所述使用霍夫检测方法找到边缘线中的直线段并计算出各直线段的方向具体是:使用霍夫直线检测方法获取边缘中的所有长度大于阈值的直线段,如果在长度阈值下检测到的直线少于预设数量,则降低该阈值重新进行检测;计算各直线段的方向的计算公式为:
dir=arctan(x2-x1)/(y2-y1)
其中,(x1,y1),(x2,y2)分别是直线段起点和终点的坐标。
进一步的,步骤(3)中所述选择待清扫的子区域的选择方法为:
(3.1)计算可行区域的四个顶点位置;
(3.2)分别计算机器人的起始位置与可行区域的四个顶点的距离,将距离最小的顶点所在的子区域作为第一个遍历的子区域,同时将该顶点作为该子区域遍历清扫的起始点;
步骤(5)所述在未清扫的子区域中选择与机器人位置最相近的作为下一个遍历清扫的子区域,具体方法为:
(5.1)计算剩下未清扫的可行区域的四个顶点位置;
(5.2)分别计算机器人当前位置与剩下未清扫的可行区域的四个顶点的距离,将距离最小的顶点所在的子区域作为接下来要遍历的子区域,同时将该顶点作为该子区域遍历清扫的起始点;
进一步的,所述步骤(3.1)和步骤(5.1)采用如下方法计算:
a.将待计算区域的图像进行旋转,使其主方向与地图x轴方向一致;
b.获取旋转后的待计算区域内最大和最小的像素坐标:xmin,ymin,xmax,ymax
c.固定y=ymin,从x=xmin开始,逐步增大x的值,直到获取第一个待计算区域内的点;继续增大x的值,直到获取最后一个待计算区域内的点,同样的方法获取y=xmax时的两个点,将这四个点作为待计算区域的四个顶点。
进一步的,步骤(4)具体包括:
(4.1)机器人行走至起始点处,并进行自旋,以使机器人的前进方向与选定子区域的主方向对齐;
(4.2)机器人朝着前方进行直线行走,直线行走时实时监测机器人自身定位信息和栅格地图障碍物信息,并由此计算出机器人与障碍物的距离,所述机器人自身的定位信息和栅格地图障碍物信息是根据SLAM方法计算得到的;当机器人前方有障碍物,执行步骤(4.3);
(4.3)旋转:当机器人前方有障碍物,机器人停止直线行走,指定旋转角度θ,旋转;
(4.4)侧行:机器人旋转到指定角度θ后,朝当前方向直行一段指定距离ds,在侧行前计算机器人前方该指定距离范围内是否有障碍物,如果有,则结束该子区域的遍历清扫,否则机器人直线行走ds,并进行步骤(4.5);
(4.5)二次旋转:机器人完成侧行后,进行第二次旋转,二次旋转方向与上次旋转方向一致,旋转角度为π-θ;本次旋转完成以后,执行步骤(4.2)。
进一步的,步骤(4.3)中所述指定的旋转角度θ的计算方式如下:
(4.3.1)计算障碍物中位于机器人行进方向左边的障碍物;
(4.3.2)计算左边障碍物中,距离机器人最近的点
Figure BDA0002025919080000031
(4.3.3)障碍物上对于除点p1外的任意点p(x,y),计算sp和op,直到找到点
Figure BDA0002025919080000032
Figure BDA0002025919080000033
Figure BDA0002025919080000041
p2满足条件:对于除点p1和点p2的其它任意点
Figure BDA0002025919080000042
都有
Figure BDA0002025919080000043
Figure BDA0002025919080000044
其中,
Figure BDA0002025919080000045
(4.3.4)令
Figure BDA0002025919080000046
t=a/b,则旋转角度θ为:
Figure BDA0002025919080000047
步骤(4.4)中所述指定距离的计算方法如下:
ds=2r/sin(θ)
其中,r为机器人半径。
一种基于栅格地图的机器人全覆盖路径规划装置,包括:
地图获取模块,用于获取二维栅格地图中的自身定位信息和栅格地图障碍物信息;
地图分解模块,用于在二维栅格地图中区分出障碍物区域和不含障碍物的可行区域,再将可行区域划分成若干个子区域;
主方向指定模块,用于指定各子区域的主方向;
遍历路径规划模块,用于选择待清扫的子区域和该子区域遍历清扫的起始点;根据选定子区域的主方向确定前进方向;根据自身定位信息和栅格地图障碍物信息实时动态地切换行走状态、绕开障碍物。
进一步的,还包括驱动模块,用于驱动机器人直线行走、停止直线行走、旋转。
进一步的,所述地图获取模块包括:
传感器模块,用于获取定位信息和图像信息;
SLAM模块,用于即时定位与地图构建。
进一步的,所述地图分解模块包括:
二值化模块,用于将二维栅格地图根据障碍物情况转化为二值图像;
子区域划分模块,用于将可行区域划分成若干个简单的相邻的子区域。
进一步的,遍历路径规划模块包括:
障碍物距离计算模块,用于计算机器人自身与障碍物的距离;
旋转角度计算模块,用于计算机器人前方有障碍物时,绕行所需的旋转角度。
一种设备,所述设备包括:
处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述基于栅格地图的机器人全覆盖路径规划方法。
有益效果:本发明首先将整个环境地图分解成若干个简单的相邻子区域,然后使用“弓字形”方式遍历各子区域,在高覆盖率的同时重复率也很低。另外,在遍历的过程中,根据定位信息和地图障碍物信息实时改变行走状态,具有简单灵活、易实施的优点。并且,机器人在清扫区域时,其主要行驶方向(直行方向)直接影响了路径的转折次数。本发明使用区域的主方向作为机器人遍历清扫路径的主要行驶方向,这样可以极大地减少路径的转折次数,从而提高遍历的效率。
附图说明
图1为实施例1区域主方向计算流程;
图2为实施例1区域遍历清扫流程。
具体实施方式
下面通过一个最佳实施例并结合附图对本技术方案进行详细说明。
本实施例提供一种基于栅格地图的机器人全覆盖路径规划方法及装置,包括:
地图获取模块,用于获取二维栅格地图中的自身定位信息和栅格地图障碍物信息;其具体包括用于获取定位信息和图像信息的传感器模块和用于即时定位与地图构建的SLAM模块;
地图分解模块,用于在二维栅格地图中区分出障碍物区域和不含障碍物的可行区域,再将可行区域划分成若干个子区域;其具体包括用于将二维栅格地图根据障碍物情况转化为二值图像的二值化模块以及用于将可行区域划分成若干个简单的相邻的子区域的子区域划分模块;
主方向指定模块,用于指定各子区域的主方向;
遍历路径规划模块,用于选择待清扫的子区域和该子区域遍历清扫的起始点;根据选定子区域的主方向确定前进方向;根据自身定位信息和栅格地图障碍物信息实时动态地切换行走状态、绕开障碍物,其具体包括,用于计算机器人自身与障碍物的距离的障碍物距离计算模块以及,用于计算机器人前方有障碍物时,绕行所需的旋转角度的旋转角度计算模块;
驱动模块,用于根据遍历路径规划模块规划的路径驱动机器人直线行走、停止直线行走、旋转。
本实施例根据已获得的室内环境的栅格地图,将整个清扫区域划分成若干个简单区域,再实时根据地图的障碍物信息规划出每个区域的扫地路径及各区域的连接顺序,最终实现整个区域的清扫,该装置的实现方法具体包括如下步骤:
地图分解
(1)地图分解:在二维栅格地图中区分出障碍物区域和不含障碍物的可行区域,再将可行区域划分成若干个子区域,具体的:
(1.1)在二维栅格地图中区分出障碍物和不含障碍物的区域具体是将二维栅格地图根据障碍物情况转化为二值图像:将二维栅格地图中的障碍物部分和未知区域部分都使用颜色一表示、可行区域部分使用颜色二表示。本实施例中将二维栅格地图转化为二值图片格式。其中,原来地图中的障碍物部分和未知区域部分都使用黑色表示(像素值为0);原来地图中的可行区域部分使用白色表示(像素值为255)。
(1.2)将可行区域划分成若干个子区域具体是使用Boustrophedon算法将可行区域划分成若干个简单的相邻的子区域。使用Boustrophedon算法将上步获得的二值图片中的白色区域划分成若干个简单的相邻区域,这样就将整个清扫区域划分成若干个较为规则的区域,简化了清扫路径的规划过程。
计算区域主方向
(2)指定各子区域的主方向,各子区域的主方向的计算方法是:对子区域的图像进行边缘检测,找到边缘线中的直线段并计算出各直线段的方向,将各直线段的方向按照角度范围分组,将频数最多的组的角度范围平均值作为该子区域的主方向。
如图1所示,本实施例中使用Canny边缘检测方法对子区域的图像进行边缘检测,使用Canny边缘检测的方法得到其所有边缘,这些边缘可以表示这个区域中存在的墙体、大的障碍物等轮廓信息。
使用霍夫检测方法找到边缘线中的直线段并计算出各直线段的方向,将各直线段的方向按照角度范围分组,采用直方图来描述各直线段的方向的分布情况,本实施例中直方图中的组距的宽度为10度,最后将直方图中频数最多的组的角度范围平均值作为该子区域的主方向。
使用霍夫检测方法找到边缘线中的直线段并计算出各直线段的方向具体是:使用霍夫直线检测方法获取边缘中的所有长度大于阈值(如1m)的直线段,如果在长度阈值下检测到的直线少于预设数量(如4个),则降低该阈值重新进行检测;计算各直线段的方向的计算公式为:
dir=arctan(x2-x1)/(y2-y1)
其中,(x1,y1),(x2,y2)分别是直线段起点和终点的坐标。
区域遍历清扫
如图2所示。
(3)根据机器人在地图中的起始位置选择待清扫的子区域和该子区域遍历清扫的起始点,选择方法为:
(3.1)计算可行区域的四个顶点位置;
步骤(3.1)和下面的步骤(5.1)均采用如下方法计算:
a.将待计算区域的图像进行旋转,使其主方向与地图x轴方向一致;步骤(3.1)中的待计算区域即为可行区域,步骤(5.1)中的待计算区域即为剩下未清扫的可行区域;
b.获取旋转后的待计算区域内最大和最小的像素坐标:xmin,ymin,xmax,ymax
c.固定y=ymin,从x=xmin开始,逐步增大x的值,直到获取第一个待计算区域内的点;继续增大x的值,直到获取最后一个待计算区域内的点,同样的方法获取y=xmax时的两个点,将这四个点作为待计算区域的四个顶点。
(3.2)给定机器人在地图中的起始位置,分别计算机器人的起始位置与可行区域的四个顶点的距离,将距离最小的顶点所在的子区域作为第一个遍历的子区域,同时将该顶点作为该子区域遍历清扫的起始点;
(4)子区域遍历清扫:扫地机器人的前进方向与选定子区域的主方向对齐,进行该子区域的遍历清扫,扫地机器人根据自身定位信息和栅格地图障碍物信息实时动态地切换行走状态、绕开障碍物;
本实施例采用“弓字形”方式进行区域的遍历清扫,在遍历的过程中机器人的状态包括直行、旋转、侧行、二次旋转等,具体包括:
(4.1)机器人行走至起始点处,并进行自旋,以使机器人的前进方向与选定子区域的主方向对齐;
(4.2)机器人朝着前方进行直线行走,直线行走时实时监测机器人自身定位信息和栅格地图障碍物信息,并由此计算出机器人与障碍物的距离,所述机器人自身的定位信息和栅格地图障碍物信息是根据SLAM(simultaneous localization and mapping,即时定位与地图构建)方法计算得到的,是已知的,不需要实时利用双目摄像头视差进行障碍物的距离估计;当机器人前方有障碍物,执行步骤(4.3);
另外,本实施例中提到的障碍物一律是栅格地图中的障碍物,即在步骤(1)中便已经已知的障碍物,而清扫时遇到的临时障碍物并不在本实施例的考虑范围内;本实施例中,在划分子区域时将子区域的边界也视为障碍物,因此边界的处理方法与障碍物的处理方法是一致的。并且,通过SLAM方法获得机器人自身的定位信息和栅格地图障碍物信息是本领域的常规技术手段,故具体方法在此不做详细说明。
(4.3)旋转:当机器人前方有障碍物,机器人停止直线行走,指定旋转角度θ,旋转;所述机器人前方有障碍物具体是指在机器人坐标系中y∈(-r,r),x∈(0,d)这一范围内存在障碍物,其中机器人坐标系的原点为机器人的当前位置,x方向为机器人的行进方向,r为圆形底盘机器人的半径,d为障碍物检测的距离;
指定的旋转角度θ的计算方式如下,本实施例以机器人向左旋转为例,若为右旋转机器人可将以下“左”替换为“右”,计算旋转角度的原理相同:
(4.3.1)计算障碍物中位于机器人行进方向左边的障碍物;
(4.3.2)计算左边障碍物中,距离机器人最近的点
Figure BDA0002025919080000081
(4.3.3)障碍物上对于除点p1外的任意点p(x,y),计算sp和op,直到找到点
Figure BDA0002025919080000082
Figure BDA0002025919080000083
Figure BDA0002025919080000084
p2满足条件:对于除点p1和点p2的其它任意点
Figure BDA0002025919080000085
都有
Figure BDA0002025919080000086
Figure BDA0002025919080000087
其中,
Figure BDA0002025919080000088
显而易见的,sp2为p2点的sp值,op2为p2点的op值;
(4.3.4)令
Figure BDA0002025919080000091
t=a/b,则旋转角度θ为:
Figure BDA0002025919080000092
步骤(4.4)中所述指定距离的计算方法如下:
ds=2r/sin(θ)
其中,r为机器人半径。
(4.5)二次旋转:机器人完成侧行后,进行第二次旋转,二次旋转方向与上次旋转方向一致,旋转角度为π-θ;本次旋转完成以后,执行步骤(4.2)。
以上旋转方法能够使得机器人按照“弓字形”进行清扫,但机器人旋转时并不是严格的90度,而是根据障碍物的信息计算出旋转的角度。
(5)在某个子区域遍历清扫结束以后,在未清扫的子区域中选择与机器人位置最相近的作为下一个遍历清扫的子区域,进行步骤(4),直到所有的子区域都已遍历清扫完毕。
选择与机器人位置最相近的作为下一个遍历清扫的子区域的方法为:
(5.1)计算剩下未清扫的可行区域的四个顶点位置;
(5.2)分别计算机器人当前位置与剩下未清扫的可行区域的四个顶点的距离,将距离最小的顶点所在的子区域作为接下来要遍历的子区域,同时将该顶点作为该子区域遍历清扫的起始点。
本实施例还提供一种设备,设备包括:
处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述基于栅格地图的机器人全覆盖路径规划方法。
以上仅是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种基于栅格地图的机器人全覆盖路径规划方法,其特征在于,包括如下步骤:
(1)地图分解:在二维栅格地图中区分出障碍物区域和不含障碍物的可行区域,再将可行区域划分成若干个子区域;
(2)指定各子区域的主方向;
(3)根据机器人在地图中的起始位置选择待清扫的子区域和该子区域遍历清扫的起始点;
(4)子区域遍历清扫:扫地机器人的前进方向与选定子区域的主方向对齐,进行该子区域的遍历清扫,扫地机器人根据自身定位信息和栅格地图障碍物信息实时动态地切换行走状态、绕开障碍物;
(5)在某个子区域遍历清扫结束以后,在未清扫的子区域中选择与机器人位置最相近的作为下一个遍历清扫的子区域,进行步骤(4),直到所有的子区域都已遍历清扫完毕;
所述步骤(4)具体包括:
(4.1)机器人行走至起始点处,并进行自旋,以使机器人的前进方向与选定子区域的主方向对齐;
(4.2)机器人朝着前方进行直线行走,直线行走时实时监测机器人自身定位信息和栅格地图障碍物信息,并由此计算出机器人与障碍物的距离,所述机器人自身的定位信息和栅格地图障碍物信息是根据SLAM方法计算得到的;当机器人前方有障碍物,执行步骤(4.3);
(4.3)旋转:当机器人前方有障碍物,机器人停止直线行走,指定旋转角度θ,旋转;
(4.4)侧行:机器人旋转到指定旋转角度θ后,朝当前方向直行一段指定距离ds,在侧行前计算机器人前方该指定距离范围内是否有障碍物,如果有,则结束该子区域的遍历清扫,否则机器人直线行走ds,并进行步骤(4.5);
(4.5)二次旋转:机器人完成侧行后,进行第二次旋转,二次旋转方向与上次旋转方向一致,旋转角度为π-θ;本次旋转完成以后,执行步骤(4.2);
其中,步骤(4.3)中所述指定旋转角度θ的计算方式如下:
(4.3.1)计算障碍物中位于机器人行进方向左边的障碍物;
(4.3.2)计算左边障碍物中,距离机器人最近的点
Figure FDA0003392234510000011
(4.3.3)障碍物上对于除点p1外的任意点p(x,y),计算sp和op,直到找到点
Figure FDA0003392234510000021
Figure FDA0003392234510000022
Figure FDA0003392234510000023
p2满足条件:对于除点p1和点p2的其它任意点
Figure FDA0003392234510000024
都有
Figure FDA0003392234510000025
其中,
Figure FDA0003392234510000026
(4.3.4)令
Figure FDA0003392234510000027
t=a/b,则指定旋转角度θ为:
Figure FDA0003392234510000028
步骤(4.4)中所述指定距离的计算方法如下:
ds=2r/sin(θ)
其中,r为机器人半径。
2.根据权利要求1所述的一种基于栅格地图的机器人全覆盖路径规划方法,其特征在于,步骤(1)中所述在二维栅格地图中区分出障碍物和不含障碍物的区域具体是将二维栅格地图根据障碍物情况转化为二值图像:将二维栅格地图中的障碍物部分和未知区域部分都使用颜色一表示、可行区域部分使用颜色二表示。
3.根据权利要求1所述的一种基于栅格地图的机器人全覆盖路径规划方法,其特征在于,步骤(1)中所述将可行区域划分成若干个子区域具体是使用Boustrophedon算法将可行区域划分成若干个简单的相邻的子区域。
4.根据权利要求1所述的一种基于栅格地图的机器人全覆盖路径规划方法,其特征在于,步骤(2)所述各子区域的主方向的计算方法是:对子区域的图像进行边缘检测,找到边缘线中的直线段并计算出各直线段的方向,将各直线段的方向按照角度范围分组,将频数最多的组的角度范围平均值作为该子区域的主方向。
5.根据权利要求1所述的一种基于栅格地图的机器人全覆盖路径规划方法,其特征在于,步骤(2)所述各子区域的主方向的计算方法是:使用Canny边缘检测方法对子区域的图像进行边缘检测,使用霍夫检测方法找到边缘线中的直线段并计算出各直线段的方向,将各直线段的方向按照角度范围分组,采用直方图来描述各直线段的方向的分布情况,最后将直方图中频数最多的组的角度范围平均值作为该子区域的主方向。
6.根据权利要求1所述的一种基于栅格地图的机器人全覆盖路径规划方法,其特征在于,步骤(3)中所述选择待清扫的子区域的选择方法为:
(3.1)计算可行区域的四个顶点位置;
(3.2)分别计算机器人的起始位置与可行区域的四个顶点的距离,将距离最小的顶点所在的子区域作为第一个遍历的子区域,同时将该顶点作为该子区域遍历清扫的起始点;
步骤(5)所述在未清扫的子区域中选择与机器人位置最相近的作为下一个遍历清扫的子区域,具体方法为:
(5.1)计算剩下未清扫的可行区域的四个顶点位置;
(5.2)分别计算机器人当前位置与剩下未清扫的可行区域的四个顶点的距离,将距离最小的顶点所在的子区域作为接下来要遍历的子区域,同时将该顶点作为该子区域遍历清扫的起始点。
7.根据权利要求6所述的一种基于栅格地图的机器人全覆盖路径规划方法,其特征在于,所述步骤(3.1)和步骤(5.1)采用如下方法计算:
a.将待计算区域的图像进行旋转,使其主方向与地图x轴方向一致;
b.获取旋转后的待计算区域内最大和最小的像素坐标:xmin,ymin,xmax,ymax
c.固定y=ymin,从x=xmin开始,逐步增大x的值,直到获取第一个待计算区域内的点;继续增大x的值,直到获取最后一个待计算区域内的点,同样的方法获取y=xmax时的两个点,将这四个点作为待计算区域的四个顶点。
8.一种基于栅格地图的机器人全覆盖路径规划装置,其特征在于,包括:
地图获取模块,用于获取二维栅格地图中的自身定位信息和栅格地图障碍物信息;
地图分解模块,用于在二维栅格地图中区分出障碍物区域和不含障碍物的可行区域,再将可行区域划分成若干个子区域;
主方向指定模块,用于指定各子区域的主方向;
遍历路径规划模块,用于选择待清扫的子区域和该子区域遍历清扫的起始点;根据选定子区域的主方向确定前进方向;根据自身定位信息和栅格地图障碍物信息实时动态地切换行走状态、绕开障碍物;
其中,所述遍历路径规划模块,根据选定子区域的主方向确定前进方向;根据自身定位信息和栅格地图障碍物信息实时动态地切换行走状态、绕开障碍物,的具体过程包括:
(4.1)机器人行走至起始点处,并进行自旋,以使机器人的前进方向与选定子区域的主方向对齐;
(4.2)机器人朝着前方进行直线行走,直线行走时实时监测机器人自身定位信息和栅格地图障碍物信息,并由此计算出机器人与障碍物的距离,所述机器人自身的定位信息和栅格地图障碍物信息是根据SLAM方法计算得到的;当机器人前方有障碍物,执行步骤(4.3);
(4.3)旋转:当机器人前方有障碍物,机器人停止直线行走,指定旋转角度θ,旋转;
(4.4)侧行:机器人旋转到指定角度θ后,朝当前方向直行一段指定距离ds,在侧行前计算机器人前方该指定距离范围内是否有障碍物,如果有,则结束该子区域的遍历清扫,否则机器人直线行走ds,并进行步骤(4.5);
(4.5)二次旋转:机器人完成侧行后,进行第二次旋转,二次旋转方向与上次旋转方向一致,旋转角度为π-θ;本次旋转完成以后,执行步骤(4.2);
其中,步骤(4.3)中所述指定的旋转角度θ的计算方式如下:
(4.3.1)计算障碍物中位于机器人行进方向左边的障碍物;
(4.3.2)计算左边障碍物中,距离机器人最近的点
Figure FDA0003392234510000041
(4.3.3)障碍物上对于除点p1外的任意点p(x,y),计算sp和op,直到找到点
Figure FDA0003392234510000042
Figure FDA0003392234510000043
Figure FDA0003392234510000044
p2满足条件:对于除点p1和点p2的其它任意点
Figure FDA0003392234510000045
都有
Figure FDA0003392234510000046
其中,
Figure FDA0003392234510000047
(4.3.4)令
Figure FDA0003392234510000048
t=a/b,则旋转角度θ为:
Figure FDA0003392234510000049
步骤(4.4)中所述指定距离的计算方法如下:
ds=2r/sin(θ)
其中,r为机器人半径。
9.根据权利要求8所述的一种基于栅格地图的机器人全覆盖路径规划装置,其特征在于,还包括驱动模块,用于驱动机器人直线行走、停止直线行走、旋转。
10.根据权利要求8所述的一种基于栅格地图的机器人全覆盖路径规划装置,其特征在于,所述地图获取模块包括:
传感器模块,用于获取定位信息和图像信息;
SLAM模块,用于即时定位与地图构建。
11.根据权利要求8所述的一种基于栅格地图的机器人全覆盖路径规划装置,其特征在于,所述地图分解模块包括:
二值化模块,用于将二维栅格地图根据障碍物情况转化为二值图像;
子区域划分模块,用于将可行区域划分成若干个简单的相邻的子区域。
12.根据权利要求8所述的一种基于栅格地图的机器人全覆盖路径规划装置,其特征在于,遍历路径规划模块包括:
障碍物距离计算模块,用于计算机器人自身与障碍物的距离;
旋转角度计算模块,用于计算机器人前方有障碍物时,绕行所需的旋转角度。
13.一种设备,其特征在于,所述设备包括:
处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-7中任一项所述的方法。
CN201910294129.0A 2019-04-12 2019-04-12 基于栅格地图的机器人全覆盖路径规划方法、装置及设备 Active CN109947114B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910294129.0A CN109947114B (zh) 2019-04-12 2019-04-12 基于栅格地图的机器人全覆盖路径规划方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910294129.0A CN109947114B (zh) 2019-04-12 2019-04-12 基于栅格地图的机器人全覆盖路径规划方法、装置及设备

Publications (2)

Publication Number Publication Date
CN109947114A CN109947114A (zh) 2019-06-28
CN109947114B true CN109947114B (zh) 2022-03-15

Family

ID=67014979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910294129.0A Active CN109947114B (zh) 2019-04-12 2019-04-12 基于栅格地图的机器人全覆盖路径规划方法、装置及设备

Country Status (1)

Country Link
CN (1) CN109947114B (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110332943B (zh) * 2019-07-03 2023-05-09 浙江大学 一种快速遍历的机器人全覆盖路径规划方法
CN110456789A (zh) * 2019-07-23 2019-11-15 中国矿业大学 一种清洁机器人的全覆盖路径规划方法
CN112445212A (zh) * 2019-08-16 2021-03-05 苏州科瓴精密机械科技有限公司 路径规划方法、系统,机器人及可读存储介质
CN112486157B (zh) * 2019-09-12 2024-02-23 苏州宝时得电动工具有限公司 自动工作系统及其转向方法、自移动设备
CN110595478A (zh) * 2019-09-16 2019-12-20 北京华捷艾米科技有限公司 基于离线地图的机器人全覆盖路径规划方法、装置及设备
CN113031509B (zh) * 2019-12-24 2022-07-29 苏州科瓴精密机械科技有限公司 遍历方法、系统,机器人及可读存储介质
CN111026136A (zh) * 2020-03-11 2020-04-17 广州赛特智能科技有限公司 基于监控设备的港口无人驾驶清扫车智能调度方法及装置
CN113552866B (zh) * 2020-04-17 2023-05-05 苏州科瓴精密机械科技有限公司 提升遍历均衡性能的方法、系统,机器人及可读存储介质
CN111561931A (zh) * 2020-05-09 2020-08-21 深圳拓邦股份有限公司 移动机器人的路径规划方法、装置及计算机可读存储介质
CN111562788A (zh) * 2020-06-04 2020-08-21 哈尔滨理工大学 一种室内智能清扫机器人的路径规划与避障方法
CN111759231A (zh) * 2020-06-28 2020-10-13 深圳拓邦股份有限公司 清洁设备的控制方法与清洁设备
CN111813111B (zh) * 2020-06-29 2024-02-20 佛山科学技术学院 一种多机器人协同工作方法
CN111781936B (zh) * 2020-08-07 2024-06-28 深圳中智永浩机器人有限公司 机器人路径规划方法、装置、机器人及计算机可读存储介质
CN112068557B (zh) * 2020-08-27 2024-06-18 珠海一微半导体股份有限公司 移动机器人全覆盖路径规划方法、芯片和机器人
CN112180926B (zh) * 2020-09-28 2023-10-03 湖南格兰博智能科技有限责任公司 一种扫地机器人的直线引导方法、系统及扫地机器人
CN112504273B (zh) * 2020-10-29 2022-05-24 广东杜尼智能机器人工程技术研究中心有限公司 弓形路径无缝衔接规划方法
CN112799398B (zh) * 2020-12-25 2021-12-03 珠海一微半导体股份有限公司 基于寻径代价的清洁路径规划方法、芯片及清洁机器人
CN112817309B (zh) * 2020-12-30 2021-12-03 东南大学 一种几何折叠式机器人全覆盖路径及其生成方法
CN112985405B (zh) * 2021-02-18 2023-06-09 湖南国科微电子股份有限公司 一种机器人全覆盖路径规划方法、装置、设备及介质
CN115509215A (zh) * 2021-06-08 2022-12-23 广东博智林机器人有限公司 一种基于机器人的地坪研磨路径生成方法及装置
CN113359780A (zh) * 2021-07-28 2021-09-07 陕西欧卡电子智能科技有限公司 无人船清扫路径规划方法、装置、计算机设备及存储介质
CN113520246B (zh) * 2021-07-30 2023-04-04 珠海一微半导体股份有限公司 移动机器人补偿清洁方法及系统
CN113985866B (zh) * 2021-09-09 2024-07-19 浙江大华技术股份有限公司 扫地机器人路径规划方法、装置、电子设备、存储介质
CN113848892B (zh) * 2021-09-10 2024-01-16 广东盈峰智能环卫科技有限公司 一种机器人清扫区域划分方法、路径规划方法及装置
CN113534823B (zh) * 2021-09-16 2021-12-14 季华实验室 种植机器人路径规划方法、装置、电子设备和存储介质
CN114089765A (zh) * 2021-11-22 2022-02-25 江苏科技大学 一种面向城市绿地的割草机器人遍历路径规划方法
CN113985894B (zh) * 2021-11-29 2024-06-28 中国人民解放军火箭军工程大学 一种自主避障路径规划方法、装置、设备及存储介质
CN114281076B (zh) * 2021-12-13 2024-02-09 烟台杰瑞石油服务集团股份有限公司 机器人的覆盖移动作业方法
CN114397889B (zh) * 2021-12-22 2024-03-26 深圳银星智能集团股份有限公司 基于单元分解的全覆盖路径规划方法及相关设备
CN114594761B (zh) * 2022-01-05 2023-03-24 美的集团(上海)有限公司 机器人的路径规划方法、电子设备及计算机可读存储介质
CN116548870A (zh) * 2022-01-27 2023-08-08 追觅创新科技(苏州)有限公司 机器人移动路径规划方法、系统及清洁机器人
CN116274170B (zh) * 2023-03-27 2023-10-13 中建三局第一建设工程有限责任公司 一种激光清洗设备的控制方法、系统及相关装置

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102087530A (zh) * 2010-12-07 2011-06-08 东南大学 基于手绘地图和路径的移动机器人视觉导航方法
CN102313547A (zh) * 2011-05-26 2012-01-11 东南大学 基于手绘轮廓语义地图的移动机器人视觉导航方法
CN103622643A (zh) * 2012-08-29 2014-03-12 科沃斯机器人科技(苏州)有限公司 自移动清洁装置
CN104460666A (zh) * 2014-10-27 2015-03-25 上海理工大学 一种基于距离矢量的机器人自主避障移动控制方法
CN105083278A (zh) * 2015-07-31 2015-11-25 奇瑞汽车股份有限公司 车辆控制方法及装置
CN105320133A (zh) * 2015-10-26 2016-02-10 广东雷洋智能科技股份有限公司 一种应用于扫地机器人的改进势场栅格法
CN105320134A (zh) * 2015-10-26 2016-02-10 广东雷洋智能科技股份有限公司 一种机器人自主构建室内地图的路径规划法
CN105652864A (zh) * 2014-11-14 2016-06-08 科沃斯机器人有限公司 自移动机器人构建地图的方法及利用该地图的作业方法
CN106054900A (zh) * 2016-08-08 2016-10-26 电子科技大学 基于深度摄像头的机器人临时避障方法
CN106227212A (zh) * 2016-08-12 2016-12-14 天津大学 基于栅格地图和动态校准的精度可控室内导航系统及方法
CN107788915A (zh) * 2017-11-03 2018-03-13 北京奇虎科技有限公司 机器人及机器人的碰撞处理方法、电子设备
CN107992044A (zh) * 2017-12-12 2018-05-04 东北大学秦皇岛分校 一种机器人的自主行进控制方法及自主行进机器人系统
CN108120441A (zh) * 2016-11-28 2018-06-05 沈阳新松机器人自动化股份有限公司 全覆盖路径规划方法及系统
CN108209741A (zh) * 2017-08-30 2018-06-29 深圳乐动机器人有限公司 清洁机器人控制方法和清洁机器人
CN108335302A (zh) * 2018-01-26 2018-07-27 上海思岚科技有限公司 一种区域分割方法及装置
CN108634874A (zh) * 2018-05-11 2018-10-12 南京华捷艾米软件科技有限公司 扫地机器人及其清扫方法
CN108646265A (zh) * 2018-05-11 2018-10-12 北京华捷艾米科技有限公司 巡检机器人及其巡检方法、巡检系统
CN108803598A (zh) * 2018-05-08 2018-11-13 南方科技大学 一种极地机器人群操作系统及协同方法
CN108983776A (zh) * 2018-07-19 2018-12-11 深圳市欢创科技有限公司 一种机器人控制方法及其装置、电子设备
CN109144072A (zh) * 2018-09-30 2019-01-04 亿嘉和科技股份有限公司 一种基于三维激光的机器人智能避障方法
CN208724035U (zh) * 2018-09-04 2019-04-09 南京华捷艾米软件科技有限公司 一种3d深度摄像头组件及带有该组件的装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8774970B2 (en) * 2009-06-11 2014-07-08 S.C. Johnson & Son, Inc. Trainable multi-mode floor cleaning device
KR101406186B1 (ko) * 2009-11-18 2014-06-13 삼성전자주식회사 로봇청소기의 제어방법
JP6494303B2 (ja) * 2015-01-26 2019-04-03 キヤノンプレシジョン株式会社 ロータリースケールの製造方法

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102087530A (zh) * 2010-12-07 2011-06-08 东南大学 基于手绘地图和路径的移动机器人视觉导航方法
CN102313547A (zh) * 2011-05-26 2012-01-11 东南大学 基于手绘轮廓语义地图的移动机器人视觉导航方法
CN103622643A (zh) * 2012-08-29 2014-03-12 科沃斯机器人科技(苏州)有限公司 自移动清洁装置
CN104460666A (zh) * 2014-10-27 2015-03-25 上海理工大学 一种基于距离矢量的机器人自主避障移动控制方法
CN105652864A (zh) * 2014-11-14 2016-06-08 科沃斯机器人有限公司 自移动机器人构建地图的方法及利用该地图的作业方法
CN105083278A (zh) * 2015-07-31 2015-11-25 奇瑞汽车股份有限公司 车辆控制方法及装置
CN105320133A (zh) * 2015-10-26 2016-02-10 广东雷洋智能科技股份有限公司 一种应用于扫地机器人的改进势场栅格法
CN105320134A (zh) * 2015-10-26 2016-02-10 广东雷洋智能科技股份有限公司 一种机器人自主构建室内地图的路径规划法
CN106054900A (zh) * 2016-08-08 2016-10-26 电子科技大学 基于深度摄像头的机器人临时避障方法
CN106227212A (zh) * 2016-08-12 2016-12-14 天津大学 基于栅格地图和动态校准的精度可控室内导航系统及方法
CN108120441A (zh) * 2016-11-28 2018-06-05 沈阳新松机器人自动化股份有限公司 全覆盖路径规划方法及系统
CN108209741A (zh) * 2017-08-30 2018-06-29 深圳乐动机器人有限公司 清洁机器人控制方法和清洁机器人
CN107788915A (zh) * 2017-11-03 2018-03-13 北京奇虎科技有限公司 机器人及机器人的碰撞处理方法、电子设备
CN107992044A (zh) * 2017-12-12 2018-05-04 东北大学秦皇岛分校 一种机器人的自主行进控制方法及自主行进机器人系统
CN108335302A (zh) * 2018-01-26 2018-07-27 上海思岚科技有限公司 一种区域分割方法及装置
CN108803598A (zh) * 2018-05-08 2018-11-13 南方科技大学 一种极地机器人群操作系统及协同方法
CN108634874A (zh) * 2018-05-11 2018-10-12 南京华捷艾米软件科技有限公司 扫地机器人及其清扫方法
CN108646265A (zh) * 2018-05-11 2018-10-12 北京华捷艾米科技有限公司 巡检机器人及其巡检方法、巡检系统
CN108983776A (zh) * 2018-07-19 2018-12-11 深圳市欢创科技有限公司 一种机器人控制方法及其装置、电子设备
CN208724035U (zh) * 2018-09-04 2019-04-09 南京华捷艾米软件科技有限公司 一种3d深度摄像头组件及带有该组件的装置
CN109144072A (zh) * 2018-09-30 2019-01-04 亿嘉和科技股份有限公司 一种基于三维激光的机器人智能避障方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
自主虚拟人关键技术的研究;倪慧;《中国博士学位论文全文数据库》;20070101;1-91 *

Also Published As

Publication number Publication date
CN109947114A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
CN109947114B (zh) 基于栅格地图的机器人全覆盖路径规划方法、装置及设备
CN111857127B (zh) 一种机器人沿边行走的清洁分区规划方法、芯片及机器人
CN111830970B (zh) 一种机器人沿边行走的区域清扫规划方法、芯片及机器人
CN110974091B (zh) 清洁机器人及其控制方法、存储介质
CN106054900B (zh) 基于深度摄像头的机器人临时避障方法
CN110338715B (zh) 智能机器人清洁地面的方法和芯片以及清洁机器人
CN111609852A (zh) 语义地图构建方法、扫地机器人及电子设备
CN102411778B (zh) 一种机载激光点云与航空影像的自动配准方法
CN110595478A (zh) 基于离线地图的机器人全覆盖路径规划方法、装置及设备
CN112363513B (zh) 一种基于深度信息的障碍物分类避障控制方法
KR101333496B1 (ko) 과거 지도 데이터 기반의 이동 로봇 제어 장치 및 방법
CN104541218A (zh) 自主移动机器人和用于操作自主移动机器人的方法
CN111609853B (zh) 三维地图构建方法、扫地机器人及电子设备
US20160195875A1 (en) Autonomous mobile robot and method for operating the same
CN113219993A (zh) 一种路径规划方法及清洁机器人
CN110705385B (zh) 一种障碍物角度的检测方法、装置、设备及介质
CN111679664A (zh) 基于深度相机的三维地图构建方法及扫地机器人
CN111505652A (zh) 一种地图建立方法、装置及作业设备
CN111329398A (zh) 机器人控制方法、机器人、电子设备和可读存储介质
CN113110445A (zh) 机器人的路径规划方法及装置、机器人、存储介质
CN112882459A (zh) 一种清扫路径规划方法、清扫路径规划装置和清扫机器人
CN113064407A (zh) 全区域覆盖的清扫方法、装置、清扫机器人及存储装置
CN112656307A (zh) 一种清洁方法及清洁机器人
CN112596518A (zh) 机器人清扫路径规划方法、装置及洗地机器人
CN117629205A (zh) 一种机器人通过窄道的导航方法、芯片及机器人

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant