扫地机器人的路径生成方法及装置、存储介质制造方法及图纸

技术编号:35430583 阅读:15 留言:0更新日期:2022-11-03 11:35
本发明专利技术公开了一种扫地机器人的路径生成方法及装置、存储介质,其中,该方法包括:确定扫地机器人待清扫的目标覆盖区域,将所述目标覆盖区域分割为多个凸多边形;确定所述多个凸多边形的衔接顺序;分别对每个所述凸多边形生成螺旋式路径,其中,所述螺旋式路径包括多个呈螺旋式布局的路径点,所述路径点为凸多边形的顶点;按照所述衔接顺序无碰撞连接多个所述螺旋式路径,得到所述扫地机器人在所述目标覆盖区域的移动路径。通过本发明专利技术,解决了相关技术在复杂的凹多边形环境遇到密集零散的障碍区域时路规划凌乱,路径重复率偏高和覆盖率偏低的技术问题,提高了扫地机器人在不同场景下运行的稳定性和鲁棒性。运行的稳定性和鲁棒性。运行的稳定性和鲁棒性。

【技术实现步骤摘要】
扫地机器人的路径生成方法及装置、存储介质


[0001]本专利技术涉及计算机领域,具体而言,涉及一种扫地机器人的路径生成方法及装置、存储介质。

技术介绍

[0002]相关技术中,全自动的移动机器人为了实现自主作业,需要提前或者实时进行路径规划,生成移动路径,路径规划根据其目的的不同可以分为两种,一种是传统的点到点的路径规划,另一种就是全覆盖路径规划。
[0003]点到点的路径规划是一种从起始点到终点的运动策略,它要求寻找一条从始点到终点的最优(如代价最小、路径最短、时间最短等)并且合理的路径,使移动机器人能够在工作空间顺利地通行而不碰到任何障碍物。全覆盖路径规划是一种在二维工作空间中特殊的路径规划,指在满足某种性能指标最优或准优的前提下,寻找一条在设定区域内从始点到终点且经过所有可达到点的连续路径。
[0004]对于扫地机器人来说,其作业任务是清扫房间,它的路径规划属于全覆盖路径规划,要求机器人合理而高效地覆盖除障碍物以外的所有工作区域。需满足两个指标:遍历性和不重复性。所谓遍历性是指扫地机器人运动轨迹需要最大程度的遍布所有可达空间,它反映的是机器人的工作质量问题。所谓不重复性是指扫地机器人的行走路线应尽量避免重复,反映的是机器人的工作效率问题。
[0005]相关技术中,扫地机器人常规全覆盖路径规划对复杂的凹多边形环境分解过于细碎,规划的路径短边多,转弯多,调头多。普遍存在重复率偏高和覆盖率偏低问题,并且在遇到密集零散的障碍区域时,会产生线路规划凌乱甚至不能覆盖的问题。
[0006]针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。

技术实现思路

[0007]本专利技术实施例提供了一种扫地机器人的路径生成方法及装置、存储介质。
[0008]根据本申请实施例的一个方面,提供了一种扫地机器人的路径生成方法,包括:确定扫地机器人待清扫的目标覆盖区域,将所述目标覆盖区域分割为多个凸多边形;确定所述多个凸多边形的衔接顺序;分别对每个所述凸多边形生成螺旋式路径,其中,所述螺旋式路径包括多个呈螺旋式布局的路径点,所述路径点为凸多边形的顶点;按照所述衔接顺序无碰撞连接多个所述螺旋式路径,得到所述扫地机器人在所述目标覆盖区域的移动路径。
[0009]进一步,在基于碰撞检测连接多个所述螺旋式路径,得到所述扫地机器人在所述目标覆盖区域的移动路径之后,所述方法还包括:获取区域地图,其中,所述区域地图包括所述目标覆盖区域和不可通行区域;采用所述区域地图创建像素全为第一像素值的单通道地图;在所述单通道地图上创建坐标系,并将所述多个凸多边形渲染至所述单通道地图,其中,所述凸多边形在所述单通道地图上的像素值为第二像素值;将所述不可通行区域渲染至所述单通道地图,其中,所述不可通行区域在所述单通道地图上的像素值为所述第一像
素值;通过插值将所述移动路径渲染至所述单通道地图,并以所述扫地机器人的清扫宽度为直径沿所述移动路径绘制像素为第一像素值的圆,以模拟所述扫地机器人按所述移动路径的移动范围;将所述单通道地图中剩余的第二像素值的区域进行轮廓提取和多边形拟合,得到漏扫区域。
[0010]进一步,将所述目标覆盖区域分割为多个凸多边形包括:对所述目标覆盖区域对应的第一多边形和不可通行区域的第二多边形求差集,得到有孔多边形;确定所述有孔多边形的顶点类型,基于所述顶点类型对所述有孔多边形进行单调划分,得到多个单调多边形;对每个所述单调多边形进行凸分割,生成多个凸多边形。
[0011]进一步,对每个所述单调多边形进行凸分割,生成多个凸多边形,包括:针对每个单调多边形,确定单调多边形的起始点和终止点;沿所述起始点分别顺时针和逆时针遍历到所述终止点,分别生成第一单调链表和第二单调链表;同时沿所述第一单调链表和所述第二单调链表从上至下遍历,在每一个遍历周期执行如下步骤,直到单调多边形分割完:若检测到其中一条单调链的第一关键点,从所述第一关键点向另一条单调链的第二关键点引对角线,将分割后的最大凸多边形从所述单调多边形中分割出去,其中,所述第一关键点为凹点,所述第二关键点为凹点或其他类型的顶点。
[0012]进一步,确定所述多个凸多边形的衔接顺序包括:确定每个凸多边形的质心点;基于质心点计算两个相邻凸多边形之间的质心距离;采用所有相邻凸多边形之间的质心距离构建邻接矩阵,基于所述邻接矩阵计算经过所有质心点的最短路径,将所述最短路径经过的质心顺序确定为所述多个凸多边形的衔接顺序,其中,所述邻接矩阵的每个元素对应一组相邻凸多边形之间的质心距离。
[0013]进一步,分别对每个所述凸多边形生成螺旋式路径包括:确定扫地机器人的清扫宽度,并以所述清扫宽度为收缩步长对每个凸多边形进行等比例收缩,直到凸多边形的宽度小于或等于所述清扫宽度,得到若干个呈螺旋式嵌套的收缩多边形,其中,每个收缩多边形对应一个收缩宽度;针对每个凸多边形,在收缩完成之后,在所述若干个收缩多边形中选择最里侧的内侧多边形,并确定所述扫地机器人的位置点;以所述位置点为起始点,按照由内到外的顺序依次将所述若干个收缩多边形的顶点添加至容器,直到最后一个收缩多边形;从所述容器中的第二个点遍历至倒数第二个点,在每一个遍历周期执行如下步骤,直到遍历结束:计算当前点与上一个点组成的向量,与当前点与下一个点组成的向量之间的夹角,若夹角与180度的差值小于或等于预设阈值,在所述容器中删除该点,若夹角与180度的差值大于预设阈值,在所述容器中保留该点;将所述容器中剩余的点确定为所述凸多边形的螺旋式路径的路径点。
[0014]进一步,以所述位置点为起始点,按照由内到外的顺序依次将所述若干个收缩多边形的顶点添加至容器,包括:按照顺时针将所述内侧多边形的所有顶点加入容器中;通过所述内侧多边形倒数第二个顶点与最后一个顶点连成射线,计算所述射线与由内到外的顺序的下一收缩多边形的交点;对所述下一收缩多边形以该交点为初始点顺时针将对应的顶点加入到所述容器,重复上述操作,直到最后一个收缩多边形的顶点加入到所述容器。
[0015]进一步,按照所述衔接顺序无碰撞连接多个所述螺旋式路径,得到所述扫地机器人在所述目标覆盖区域的移动路径,包括:按照所述衔接顺序连接当前凸多边形的路径终
点到相邻的下一个凸多边形的路径起点,得到连接线段;对所述连接线段进行碰撞检测,并确定当前凸多边形的路径终点到相邻的下一个凸多边形的路径起点之间是否存在碰撞点;如果不存在碰撞点,将所述连接线段确定为所述当前凸多边形与所述下一个凸多边形的连接路径;如果存在碰撞点,搜索连接所述当前凸多边形的路径终点与相邻的下一个凸多边形的无碰撞路径,将所述路径起点加入目标栈,从所述目标栈中选取最后一个点作为当前点,从所述无碰撞路径中从后往前排序并选取第一个点作为目初始标点,将当前点与初始目标点连成一条目标线段,若所述目标线段有碰撞,则将所述无碰撞路径的下一个点作为目标点,并重复上述步骤,若所述目标线段无碰撞,将当前的目标点加入所述目标栈中,并在所述目标栈中重新选择选取最后一个点作为当前点,重新从所述无碰撞路径中从后往本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种扫地机器人的路径生成方法,其特征在于,包括:确定扫地机器人待清扫的目标覆盖区域,将所述目标覆盖区域分割为多个凸多边形;确定所述多个凸多边形的衔接顺序;分别对每个所述凸多边形生成螺旋式路径,其中,所述螺旋式路径包括多个呈螺旋式布局的路径点,所述路径点为凸多边形的顶点;按照所述衔接顺序无碰撞连接多个所述螺旋式路径,得到所述扫地机器人在所述目标覆盖区域的移动路径。2.根据权利要求1所述的方法,其特征在于,在基于碰撞检测连接多个所述螺旋式路径,得到所述扫地机器人在所述目标覆盖区域的移动路径之后,所述方法还包括:获取区域地图,其中,所述区域地图包括所述目标覆盖区域和不可通行区域;采用所述区域地图创建像素全为第一像素值的单通道地图;在所述单通道地图上创建坐标系,并将所述多个凸多边形渲染至所述单通道地图,其中,所述凸多边形在所述单通道地图上的像素值为第二像素值;将所述不可通行区域渲染至所述单通道地图,其中,所述不可通行区域在所述单通道地图上的像素值为所述第一像素值;通过插值将所述移动路径渲染至所述单通道地图,并以所述扫地机器人的清扫宽度为直径沿所述移动路径绘制像素为第一像素值的圆,以模拟所述扫地机器人按所述移动路径的移动范围;将所述单通道地图中剩余的第二像素值的区域进行轮廓提取和多边形拟合,得到漏扫区域。3.根据权利要求1所述的方法,其特征在于,将所述目标覆盖区域分割为多个凸多边形包括:对所述目标覆盖区域对应的第一多边形和不可通行区域的第二多边形求差集,得到有孔多边形;确定所述有孔多边形的顶点类型,基于所述顶点类型对所述有孔多边形进行单调划分,得到多个单调多边形;对每个所述单调多边形进行凸分割,生成多个凸多边形。4.根据权利要求3所述的方法,其特征在于,对每个所述单调多边形进行凸分割,生成多个凸多边形,包括:针对每个单调多边形,确定单调多边形的起始点和终止点;沿所述起始点分别顺时针和逆时针遍历到所述终止点,分别生成第一单调链表和第二单调链表;同时沿所述第一单调链表和所述第二单调链表从上至下遍历,在每一个遍历周期执行如下步骤,直到单调多边形分割完:若检测到其中一条单调链的第一关键点,从所述第一关键点向另一条单调链的第二关键点引对角线,将分割后的最大凸多边形从所述单调多边形中分割出去,其中,所述第一关键点为凹点,所述第二关键点为凹点或其他类型的顶点。5.根据权利要求1所述的方法,其特征在于,确定所述多个凸多边形的衔接顺序包括:确定每个凸多边形的质心点;基于质心点计算两个相邻凸多边形之间的质心距离;
采用所有相邻凸多边形之间的质心距离构建邻接矩阵,基于所述邻接矩阵计算经过所有质心点的最短路径,将所述最短路径经过的质心顺序确定为所述多个凸多边形的衔接顺序,其中,所述邻接矩阵的每个元素对应一组相邻凸多边形之间的质心距离。6.根据权利要求1所述的方法,其特征在于,分别对每个所述凸多边形生成螺旋式路径包括:确定扫地机器人的清扫宽度,并以所述清扫宽度为收缩步长对每个凸多边形进行等比例收缩,直到凸多边形的宽度小于或等于所述清扫宽度,得到若干个呈螺旋式嵌套的收缩多边形,其中,每个收缩多边形对应一个收缩宽度;针对每个凸多边形,在收缩完成之后,在若干个收缩多边形中选...

【专利技术属性】
技术研发人员:熊伟成涂琪瑞张亮周心其
申请(专利权)人:深圳市智绘科技有限公司
类型:发明
国别省市:

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

1