本发明属于清洁设备技术领域,尤其涉及一种扫地机器人及其避障路径确定方法。
背景技术:
利用智能清洁设备来代替人进行清扫工作,在现有家庭中已经非常普遍。例如,采用扫地机器人来进行地面清扫工作。利用扫地机器人进行清扫过程中,会探测自己与障碍物的距离来自动避开障碍物。但对于一些倾斜的物体或者有镂空的家具的情况,扫地机器人则无法有效识别自己是否能够通过障碍物,因此会出现与障碍物发生磕碰,或者出现有些区域无法被有效清洁到位的情况。因此,如何有效识别扫地机器人是否能够避开障碍物是提高清扫质量的关键。
技术实现要素:
有鉴于此,本发明实施例提供了一种扫地机器人及其避障路径确定方法,以解决扫地机器人如何有效识别障碍物来提高清扫质量的问题。
本发明实施例的第一方面,提供了一种扫地机器人及其避障路径确定方法,包括:获取扫地机器人在环境空间的三维地图;利用与三维地图中地面/扫地机器人底部平行的一个平面,对所述三维地图截取的一个截面,所述截面与所述地面或扫地机器人底部的距离大于等于所述扫地机器人的高度;基于所述截面确定扫地机器人在所述三维地图中的避障路径。
在一些实施方案中,所述三维地图包括:基于激光点云数据和深度数据确定的虚拟三维地图;或者,基于深度数据和rgb数据确定三维语义地图。
在一些实施方案中,基于所述截面确定扫地机器人在所述三维地图中的避障路径,包括:根据所述截面,确定障碍物在所述截面中的边界轮廓;基于所述障碍物的边界轮廓确定扫地机器人在所述三维地图中的避障路径。
在一些实施方案中,所述基于所述障碍物的边界轮廓确定扫地机器人在所述三维地图中的避障路径,包括:基于所述障碍物的边界轮廓确定扫地机器人在所述三维地图中通过所述障碍物的路径/绕开所述障碍物的路径。
在一些实施方案中,基于所述障碍物的边界轮廓确定扫地机器人在所述三维地图中通过所述障碍物的路径,包括:计算障碍物与其他障碍物之间的距离;判断所述距离是否能够允许所述扫地机器人通过:若是,则确定扫地机器人在所述三维地图中通过所述障碍物的路径;若否,则确定扫地机器人在所述三维地图中绕开所述障碍物的路径。
在一些实施方案中,判断所述距离是否能够允许所述扫地机器人通过,包括:沿所述障碍物的边界轮廓向外膨胀预设宽度,得到所述障碍物的膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的直径;判断所述障碍物的膨胀边界轮廓与其他障碍物的边界轮廓是否交叉/重叠;若是,则确定所述扫地机器人不能通过所述障碍物与其他障碍物之间的距离;若否,则确定所述扫地机器人能通过所述障碍物与其他障碍物之间的距离。
在一些实施方案中,确定扫地机器人在所述三维地图中通过所述障碍物的路径,包括:沿所述障碍物的边界轮廓向外膨胀预设宽度,得到所述障碍物的膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的半径;沿同一方向获取所述膨胀边界轮廓的有序边缘像素序列;根据所述有序边缘像素序列,在所述三维地图中确定所述扫地机器人通过所述障碍物的避障路径。
在一些实施方案中,确定扫地机器人在所述三维地图中绕开所述障碍物的路径,包括:确定所述障碍物与其他障碍物之间的公切线线段;沿所述公切线线段以及对应的多个障碍物的边界轮廓向外膨胀预设宽度,得到所述多个障碍物和公切线线段的共同膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的半径;沿同一方向获取所述共同膨胀边界轮廓的有序边缘像素序列;根据所述有序边缘像素序列,在所述三维地图中确定所述扫地机器人绕过所述障碍物的避障路径。
在一些实施方案中,确定扫地机器人在所述三维地图中绕开所述障碍物的路径,包括:沿所述障碍物和其他障碍物的边界轮廓分别向外膨胀预设宽度,得到所述多个障碍物的膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的半径;确定相交/重叠的膨胀边界轮廓之间的公切线线段;沿同一方向获取所述公切线线段和膨胀边界轮廓的有序边缘像素序列;根据所述有序边缘像素序列,在所述三维地图中确定所述扫地机器人绕过所述障碍物的避障路径。
本发明实施例的第二方面,提供了一种扫地机器人,至少包括:清扫组件、图像获取组件和主控模块,所述清扫组件和图像获取组件分别连接于所述主控模块,其特征在于,在所述扫地机器人中还包括:避障路径确定装置,所述避障路径确定装置,至少包括:三维图像构建模块,被配置为获取扫地机器人在环境空间的三维地图;三维地图截图模块,被配置为利用与三维地图中地面/扫地机器人底部平行的一个平面,对所述三维地图截取的一个截面,所述截面与所述地面或扫地机器人底部的距离大于等于所述扫地机器人的高度;避障路径规划模块,被配置为基于所述截面确定扫地机器人在所述三维地图中的避障路径。
本发明实施例与现有技术相比存在的有益效果是:本发明利用对三维地图的截面来确定扫地机器人避开障碍物的避障路径,避免了实际中扫地机器人与障碍物发生碰撞和清扫区域不够充分的问题,从而实现了扫地机器人的清扫质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明提供的扫地机器人的避障路径确定方法在一实施例中的流程示意图。
图2是本发明提供的扫地机器人在一实施例中的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
请参见图1,示出了本发明提供的扫地机器人的避障路径确定方法在一实施例中的流程示意图。
如图1所示,所述扫地机器人的避障路径确定方法,包括以下步骤:
s01:获取扫地机器人在环境空间的三维地图;
s02:利用与三维地图中地面/扫地机器人底部平行的一个平面,对所述三维地图截取的一个截面,所述截面与所述地面或扫地机器人底部的距离大于等于所述扫地机器人的高度;
s03:基于所述截面确定扫地机器人在所述三维地图中的避障路径。
本示例提供的扫地机器人的避障路径确定方法的工作原理为:利用对扫地机器人所在环境空间的三维地图进行截图,来得到在该三维地图中不低于扫地机器人高度的截图,基于该截图可以确定在不低于扫地机器人高度的三维空间中各个物体的边界轮廓,所述物体包括各种障碍物,例如墙体、桌椅、家居等,这样根据截图下的各障碍物的边界轮廓,可以确保扫地机器人能够准确的规划出避开障碍物或通过障碍物的路径,从而避免出现一些碰头的情况,以及盲目避开障碍物导致清扫路径不合理,有些区域实际可以被清扫到,而却没有被规划到的情况,进而提高了扫地机器人的清扫质量。
在步骤s01中,所述三维地图可以是基于激光点云数据和深度数据确定的虚拟三维地图。例如,在扫地机器人上配置有激光雷达,利用激光雷达可以获取扫地机器人所在环境空间的激光点云数据,以此建立环境空间的虚拟三维地图。其中,所述激光雷达可以包括单线激光累活或/和多线激光雷达。
在步骤s01中,所述三维地图还可以是基于深度数据和rgb数据确定三维语义地图。例如,在扫地机器人上配置有深度相机,例如,所述深度相机可以为rgb-d相机,由此可以获取到一个深度数据和一个rgb图像数据。其中,所述深度数据包括深度相机距离每个物体的距离信息。
其中,与虚拟三维地图相比,三维语义地图的信息丰富,且位置信息的精度更高。在实际应用中,如果采用精度更高的三维地图,相应确定的避障路径与实际越接近,从而对于避障路径的规划就更为准确。
在步骤s02中,截面与地面或扫地机器人底部的距离不同,在截面中同一物体的边界轮廓也可能不同。例如,对于一个倾斜的物体,在不同高度位置的截面,其在截面中的边界轮廓是不一样的。因此,如果扫地机器人验证截面中物体的边界轮廓移动,那么扫地机器人就不会与障碍物发生接触或碰撞。
在一个示例中,以上步骤s03,可以具体包括步骤s31-s32:
s31:根据所述截面,确定障碍物在所述截面中的边界轮廓;
s32:基于所述障碍物的边界轮廓确定扫地机器人在所述三维地图中的避障路径。
本示例通过在对三维地图进行截面后,利用截面中物体的边界轮廓来确定扫地机器人的避障路径,以此来保证扫地机器人规划的路径可以不与障碍物发生碰撞。
其中,扫地机器人避开障碍物的方式可以是沿着障碍物的边缘移动来绕开障碍物,例如,在障碍物为墙壁这类物体时,根据在三维地图上的截面,只需让扫地机器人沿着截面中墙壁的边缘轮廓移动即可绕开障碍物。另外,扫地机器人避开障碍物的方式还可以是通过障碍物,例如,在障碍物为桌椅这类镂空物体时,根据在三维地图上的截面,可以让扫地机器人从截面中桌椅的四个脚的边缘轮廓之间通过来避开障碍物,当然,前提是座椅的四个脚之间的距离运行扫地机器人通过。
由此,在一个示例中,以上步骤s32,可以具体包括:基于所述障碍物的边界轮廓确定扫地机器人在所述三维地图中通过所述障碍物的路径/绕开所述障碍物的路径。
其中,基于所述障碍物的边界轮廓确定扫地机器人在所述三维地图中通过所述障碍物的路径,可以具体包括以下步骤s321-s324。
s321:计算障碍物与其他障碍物之间的距离。
其中,步骤s321中,障碍物可以是扫地机器人当前识别到的需要避开的障碍物,而其他障碍物则可以是与扫地机器人当前识别到的需要避开的障碍物相邻的障碍物。具体的,所述距离可以是障碍物中心位置之间的距离,也可以是扫地机器人当前识别到的需要避开的障碍物的边缘到其他障碍物的中心或边缘的最小距离。
s322:判断所述距离是否能够允许所述扫地机器人通过。
其中,只要两个障碍物的边缘之间的最小距离大于等于扫地机器人的最小通过距离,则所述距离就能允许扫地机器人通过。
s323:若是,则确定扫地机器人在所述三维地图中通过所述障碍物的路径;
s324:若否,则确定扫地机器人在所述三维地图中绕开所述障碍物的路径。
本示例根据障碍物在截面中的距离情况来判定扫地机器人是否能穿过不同障碍之间,即通过障碍物,以此来确定是选择绕开障碍物还是通过障碍物的避障路径,从而提高了扫地机器人避开障碍物的准确性。
在一个示例中,针对以上步骤s322,可以具体包括下列步骤a01-a32。
a01:沿所述障碍物的边界轮廓向外膨胀预设宽度的像素,得到所述障碍物的膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的直径。
其中,向外膨胀预设宽度的像素,即沿着边界轮廓依次向外一层一层的填充像素,在边界轮廓垂直方向上的像素填充长度,即预设宽度。
a02:判断所述障碍物的膨胀边界轮廓与其他障碍物的边界轮廓是否交叉/重叠:
a31:若是,则确定所述扫地机器人不能通过所述障碍物与其他障碍物之间的距离。如果在对障碍物的边界轮廓进行像素膨胀处理后,依旧有与其他障碍物形成交叉或重叠,相当于说扫地机器人在沿障碍物的边界轮廓移动过程中会接触的其他障碍物,由此认定扫地机器人不能通过障碍物。
a32:若否,则确定所述扫地机器人能通过所述障碍物与其他障碍物之间的距离。具体的,与以上不能通过的情况正好相反,当不存在交叉或重叠时,相当于扫地机器人不会与其他障碍物相接触,此时则认定扫地机器人可以通过障碍物。
在本示例中,利用在障碍物的边界轮廓向外膨胀预设宽度的像素来得到障碍物的膨胀边界轮廓,相当于假设让扫地机器人沿着障碍物的边界轮廓进行移动,由于在三地地图中,一般障碍物的像素和非障碍物区域的像素值是不一样的,这样便可以确定该障碍物的膨胀边界轮廓是否与其他障碍的边界轮廓有接触,如果存在交叉或重叠,即表示有接触,也就是说此时扫地机器人无法通过障碍物,由此可以根据通过情况来选择具体的避开路径的方式。
在一个示例中,针对以上步骤s323,其中,所述确定扫地机器人在所述三维地图中通过所述障碍物的路径,可以具体包括步骤b01-b03:
b01:沿所述障碍物的边界轮廓向外膨胀预设宽度,得到所述障碍物的膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的半径;
b02:沿同一方向获取所述膨胀边界轮廓的有序边缘像素序列;
b03:根据所述有序边缘像素序列,在所述三维地图中确定所述扫地机器人通过所述障碍物的避障路径。
在允许扫地机器人通过的情况下,利用对障碍物的边界轮廓的像素膨胀处理,来模拟规划扫地机器人的避障路径。其中,由于扫地机器人一般为圆形结构,其圆形中心为移动中心,由此利用沿同一方向来获取对障碍物的边界轮廓的像素膨胀处理后的有序边缘像素序列,在三维地图中与该有序边缘像素序列对应的路径位置即为避障路径。
其中,有序边缘像素序列可以是连续的像素序列,也可以是不连续的像素序列,即相邻像素之间存在间隔位置。
在一个示例中,针对以上步骤s324,其中,所述确定扫地机器人在所述三维地图中绕开所述障碍物的路径,可以具体包括下列步骤c01-c04。
c01:确定所述障碍物与其他障碍物之间的公切线线段。
其中,在扫地机器人无法通过障碍物的情况下,扫地机器人是绕着障碍物来进行避障的,而不同障碍物之间是存在间隔空间的,此时扫地机器人如何在两个障碍物之间的避障路径,是一个本示例所要克服的技术问题。
具体的,在截面中,障碍物的形状一般为一个封闭的实体,在两个彼此分开的或者不关联的障碍物之间,可以通过公切线线段来将两个障碍物合并为一个障碍物。也就是说,利用公切线线段,可以是一条或多条,来将两个彼此间隔的障碍物合并为一个障碍物。
c02:沿所述公切线线段以及对应的多个障碍物的边界轮廓向外膨胀预设宽度,得到所述多个障碍物和公切线线段的共同膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的半径。
同理,对障碍物的边界轮廓进行像素膨胀处理,可以模拟确定扫地机器人绕着障碍物的边界轮廓来避开障碍物的路径。
c03:沿同一方向获取所述共同膨胀边界轮廓的有序边缘像素序列。
其中,在获取有序边缘像素序列中的像素时,对每个像素进行有向标记,这样可以便于确定扫地机器人避障路径的移动方向。
c04:根据所述有序边缘像素序列,在所述三维地图中确定所述扫地机器人绕过所述障碍物的避障路径。
在一个示例中,针对以上步骤s324,其中,所述确定扫地机器人在所述三维地图中绕开所述障碍物的路径,还可以具体包括下列步骤d01-c04。
d01:沿所述障碍物和其他障碍物的边界轮廓分别向外膨胀预设宽度,得到所述多个障碍物的膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的半径。
d02:确定相交/重叠的膨胀边界轮廓之间的公切线线段。
d03:沿同一方向获取所述公切线线段和膨胀边界轮廓的有序边缘像素序列。
c04:根据所述有序边缘像素序列,在所述三维地图中确定所述扫地机器人绕过所述障碍物的避障路径。
与以上示例不同的是:本示例是在对不同的障碍物进行像素膨胀处理的基础上来确定公切线线段,从而来确定不同障碍物合并为一个障碍物之后的边界轮廓可以运行扫地机器人通过更多的区域,以此来扩大清扫区域。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在于上述扫地机器人的避障路径确定方法属于同一个发明构思的基础上,本发明还提供了一种可以用于实现图1所示方法的扫地机器人。
见图2,示出了本发明提供的扫地机器人在一实施例中的结构示意图。
在一个示例中,如图2所示,所述扫地机器人200,可以具体包括:清扫组件210、图像获取组件220、避障路径确定装置230和主控模块240,其中,清扫组件210、图像获取组件220、避障路径确定装置230分别连接于所述主控模块240,所述避障路径确定装置230,至少包括:三维图像构建模块231,被配置为获取扫地机器人在环境空间的三维地图;三维地图截图模块232,被配置为利用与三维地图中地面/扫地机器人底部平行的一个平面,对所述三维地图截取的一个截面,所述截面与所述地面或扫地机器人底部的距离大于等于所述扫地机器人的高度;避障路径规划模块233,被配置为基于所述截面确定扫地机器人在所述三维地图中的避障路径。
在一些示例中,所述扫地机器人还可以包括:深度相机。利用深度相机来获取深度数据和图像数据,与此同时与激光雷达获取的激光点云数据,来生成信息更丰富和信息更准确的高精地图,即三维语义地图。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
1.一种扫地机器人的避障路径确定方法,其特征在于,包括:
获取扫地机器人在环境空间的三维地图;
利用与三维地图中地面/扫地机器人底部平行的一个平面,对所述三维地图截取的一个截面,所述截面与所述地面或扫地机器人底部的距离大于等于所述扫地机器人的高度;
基于所述截面确定扫地机器人在所述三维地图中的避障路径。
2.根据权利要求1所述的扫地机器人的避障路径确定方法,其特征在于,所述三维地图包括:
基于激光点云数据和深度数据确定的虚拟三维地图;或者,
基于深度数据和rgb数据确定三维语义地图。
3.根据权利要求1或2所述的扫地机器人的避障路径确定方法,其特征在于,基于所述截面确定扫地机器人在所述三维地图中的避障路径,包括:
根据所述截面,确定障碍物在所述截面中的边界轮廓;
基于所述障碍物的边界轮廓确定扫地机器人在所述三维地图中的避障路径。
4.根据权利要求3所述的扫地机器人的避障路径确定方法,其特征在于,所述基于所述障碍物的边界轮廓确定扫地机器人在所述三维地图中的避障路径,包括:
基于所述障碍物的边界轮廓确定扫地机器人在所述三维地图中通过所述障碍物的路径/绕开所述障碍物的路径。
5.根据权利要求4所述的扫地机器人的避障路径确定方法,其特征在于,基于所述障碍物的边界轮廓确定扫地机器人在所述三维地图中通过所述障碍物的路径,包括:
计算障碍物与其他障碍物之间的距离;
判断所述距离是否能够允许所述扫地机器人通过:
若是,则确定扫地机器人在所述三维地图中通过所述障碍物的路径;
若否,则确定扫地机器人在所述三维地图中绕开所述障碍物的路径。
6.根据权利要求5所述的扫地机器人的避障路径确定方法,其特征在于,判断所述距离是否能够允许所述扫地机器人通过,包括:
沿所述障碍物的边界轮廓向外膨胀预设宽度,得到所述障碍物的膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的直径;
判断所述障碍物的膨胀边界轮廓与其他障碍物的边界轮廓是否交叉/重叠;
若是,则确定所述扫地机器人不能通过所述障碍物与其他障碍物之间的距离;
若否,则确定所述扫地机器人能通过所述障碍物与其他障碍物之间的距离。
7.根据权利要求5所述的扫地机器人的避障路径确定方法,其特征在于,确定扫地机器人在所述三维地图中通过所述障碍物的路径,包括:
沿所述障碍物的边界轮廓向外膨胀预设宽度,得到所述障碍物的膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的半径;
沿同一方向获取所述膨胀边界轮廓的有序边缘像素序列;
根据所述有序边缘像素序列,在所述三维地图中确定所述扫地机器人通过所述障碍物的避障路径。
8.根据权利要求5所述的扫地机器人的避障路径确定方法,其特征在于,确定扫地机器人在所述三维地图中绕开所述障碍物的路径,包括:
确定所述障碍物与其他障碍物之间的公切线线段;
沿所述公切线线段以及对应的多个障碍物的边界轮廓向外膨胀预设宽度,得到所述多个障碍物和公切线线段的共同膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的半径;
沿同一方向获取所述共同膨胀边界轮廓的有序边缘像素序列;
根据所述有序边缘像素序列,在所述三维地图中确定所述扫地机器人绕过所述障碍物的避障路径。
9.根据权利要求5所述的扫地机器人的避障路径确定方法,其特征在于,确定扫地机器人在所述三维地图中绕开所述障碍物的路径,包括:
沿所述障碍物和其他障碍物的边界轮廓分别向外膨胀预设宽度,得到所述多个障碍物的膨胀边界轮廓,其中,所述预设宽度大于等于所述扫地机器人的半径;
确定相交/重叠的膨胀边界轮廓之间的公切线线段;
沿同一方向获取所述公切线线段和膨胀边界轮廓的有序边缘像素序列;
根据所述有序边缘像素序列,在所述三维地图中确定所述扫地机器人绕过所述障碍物的避障路径。
10.一种扫地机器人,至少包括:清扫组件、图像获取组件和主控模块,所述清扫组件和图像获取组件分别连接于所述主控模块,其特征在于,在所述扫地机器人中还包括:避障路径确定装置,所述避障路径确定装置,至少包括:
三维图像构建模块,被配置为获取扫地机器人在环境空间的三维地图;
三维地图截图模块,被配置为利用与三维地图中地面/扫地机器人底部平行的一个平面,对所述三维地图截取的一个截面,所述截面与所述地面或扫地机器人底部的距离大于等于所述扫地机器人的高度;
避障路径规划模块,被配置为基于所述截面确定扫地机器人在所述三维地图中的避障路径。
技术总结