绘制2D地图的方法、装置及存储装置与流程

文档序号:11628084阅读:289来源:国知局
绘制2D地图的方法、装置及存储装置与流程

本发明涉及深度图像处理技术领域,特别是涉及一种绘制2d地图的方法、装置及存储装置。



背景技术:

利用深度相机可以获取目标的深度图像,利用该深度图像可以获取图像中的像素所反映的目标在物理空间中到深度相机的距离。因此,利用深度相机可以对相机视场内的对象进行测距,深度相机具有一定的视场角,因而可以探测一定立体角范围内的场景的深度信息。

对于应用场景经常变换的机器人,需要对应用场景绘制更新电子地图,比如扫地机器人,当家庭中物品布置发生变换或者增添了新的家具时,则需要绘制新的地图。本申请的发明人在长期的研发中发现,如果采用红外探测技术或者超声波探测技术来进行地图的绘制,若要确保红外或超声波探测技术探测的准确性,则会提高绘制地图的装置的复杂程度。而直接通过深度相机绘制3d地图所需的数据量庞大且复杂,对深度图点云数据要求高,因而,数据处理成本高。



技术实现要素:

本发明提供一种绘制2d地图的方法、装置及存储装置,能够解决现有技术存在的数据量庞大且复杂且对数据要求高导致数据处理成本高的问题。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种绘制2d地图的方法,该方法包括:采集连续的深度图像序列;在所述深度图像中建立检测窗口,所述检测窗口用于检测所述机器人的行进路线范围内的障碍物,其中,所述检测窗口与所述机器人的相对位置固定,所述检测窗口的垂直于所述机器人的行进方向的截面的大小至少大于所述机器人在该截面上的投影的大小;获取所述检测窗口内的深度信息;根据所述深度信息判断是否出现障碍物;若判断出现障碍物,则根据所述障碍物的深度信息绘制所述障碍物的边界线,以区划所述机器人行进平面上的可通行区域和不可通行区域;调整所述机器人的方向,以遍历所述机器人所在的场景,并根据所绘制的所述障碍物的边界线而形成所述场景的2d地图。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种绘制2d地图的装置,该装置包括至少一个深度相机和处理器,所述深度相机与所述处理器连接;所述深度相机用于采集连续的深度图像序列;所述处理器用于在所述深度图像中建立检测窗口,所述检测窗口用于检测所述机器人的行进路线范围内的障碍物,其中,所述检测窗口与所述机器人的相对位置固定,所述检测窗口的垂直于所述机器人的行进方向的截面的大小至少大于所述机器人在该截面上的投影的大小;获取所述检测窗口内的深度信息;根据所述深度信息判断是否出现障碍物;若判断出现障碍物,则根据所述障碍物的深度信息绘制所述障碍物的边界线,以区划所述机器人行进平面上的可通行区域和不可通行区域;调整所述机器人的方向,以遍历所述机器人所在的场景,并根据所绘制的所述障碍物的边界线而形成所述场景的2d地图。

为解决上述技术问题,本发明采用的又一个技术方案是:提供一种存储装置,该存储装置存储有程序数据,所述程序数据能够被执行以实现上述绘制2d地图的方法。

本发明的有益效果是:本发明通过采集连续的深度图像序列,并在该深度图像中建立与机器人尺寸相关联的检测窗口,以通过该检测窗口的深度信息判断机器人行进路线范围内是否出现障碍物,如果出现障碍物则绘制障碍物的边界线,以区划机器人行进平面上的可通行区域和不可通行区域,当遍历了机器人所在的场景之后,即可绘制出该场景的2d地图。由于深度图像中的检测窗口与机器人的尺寸相关联,因此,该检测窗口检测出的通行区域的准确性高,并且通过绘制障可区划机器人行进平面上可通行区域和不可通行区域的障碍物边界线,能直接获取该机器人所需的2d地图,相较于绘制3d地图所需处理的数据量大大减少,并大大简化了数据,且本发明对深度图点云数据要求低,对大面积出现深度值缺省的深度图也可以利用以转化为电子地图数据,因而本发明可以在获取较少的数据,以及较简单的数据的情况下绘制出2d地图。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种绘制2d地图的方法的流程示意图;

图2是本发明实施例的机器人及检测窗口相对位置的俯视示意图;

图3是本发明实施例提供的另一种机器人避障的方法的流程示意图;

图4是本发明实施例中机器人与检测窗口的透视结构示意图;

图5是本发明实施例中机器人、检测窗口和障碍物一种情况下的相对位置的俯视示意图;

图6是本发明实施例中机器人与障碍物另一种情况下的侧视结构示意图;

图7是图6中的障碍物绘制在2d地图上形状示意图;

图8是本发明实施例中机器人调整方向至垂直于第一探测边界并指向未检测区域时的俯视示意图;

图9是本发明实施例中机器人朝向垂直于可通行区域中的第二探测边界并指向未检测区域时的俯视示意图;

图10是本发明实施例提供的一种绘制2d地图的装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1,图1是本发明实施例提供的一种绘制2d地图的方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括以下步骤:

s101、采集连续的深度图像序列。

具体地,深度图像可以通过深度相机进行采集,深度相机不仅能获取深度相机视场角范围内的物体的像素信息,还能获得深度图像中物体到深度相机之间的距离,即深度信息。

深度相机可以是采用tof、结构光、激光扫描等方法获取目标物体深度信息的相机。连续的深度图像序列是指在特定的时间内,一系列连续的深度图像,可相当于在该特定的时间内的视频。

本发明的深度相机固定在机器人上,因此,本发明中的物体到深度相机之间的距离到也指物体到机器人之间的距离。深度相机的数量可以是一个或者多个。当将多个深度相机固定在机器人上时,可以通过多个深度相机特定的视场角来组合拼接,以扩大视场角,多个深度相机通过相机标定,确定互相位置关系,从而确定各自采集的深度图的联系,归一化为一个坐标系来确定位置关系。

在机器人行进过程中,连续地进行深度图像的采集,以获取机器人行进方向上的情况信息。

s102、在深度图像中建立检测窗口,检测窗口用于检测机器人的行进路线范围内的障碍物,其中,检测窗口与机器人的相对位置固定,检测窗口的垂直于机器人的行进方向的截面的大小至少大于机器人在该截面上的投影的大小。

步骤s102中,由于深度相机采集到的深度图像内的物体包括在深度相机的视场角内的所有物体,但是障碍物仅为出现在机器人行进路线范围内、并阻挡机器人前进的物体,因而在深度图像中建立检测窗口,该检测窗口建立在机器人行进方向上,位于在机器人的前方,从而检测机器人行进路线中范围内出现的物体。

请参阅图2,图2是本发明实施例的机器人及检测窗口相对位置的俯视示意图。本实施例的检测窗口20可以在机器人10前方的正中间,当然,在其它一些实施例中,检测窗口20的位置也可以设在机器人10的左前方或右前方等,在此不做限定。该检测窗口20的尺寸根据机器人10的参数设定,其中,机器人10的参数包括机器人10的尺寸大小、机器人10的行进速度等参数。在垂直于机器人10的行进方向的方向上,检测窗口20的截面大小至少大于机器人10在该截面上的投影的大小,即,检测窗口20的大小至少能使机器人10从该检测窗口20中通过,以确保检测窗口20检测到的进行路线的空间至少足够机器人10通过。另外,检测窗口20与机器人10之间的距离需根据机器人10的行进速度来设定。值得一提的是,在检测窗口20建立后,检测窗口20的大小、检测窗口20与机器人10之间的相对位置固定不变。

本实施例中,检测窗口20为一虚拟三维空间,如图2所示的检测窗口是长方体状的三维空间,当然,在其它一些实施例中,检测窗口20还可以是与机器人10的形状相同或相近似的其它的形状。

s103、获取检测窗口内的深度信息。

s104、根据深度信息判断是否出现障碍物。

如果机器人的行进路线上存在障碍物,随着机器人的行进,该障碍物会进入到检测窗口内,因而检测窗口内出现障碍物和不出现障碍物时的深度信息会不同,从而可以根据该深度信息判断是否在机器人行进方向上出现障碍物。

s105、若判断出现障碍物,则根据障碍物的深度信息绘制障碍物的边界线,以区划机器人行进平面上的可通行区域和不可通行区域。

当机器人行进方向上出现障碍物时,可以根据障碍物到机器人之间的距离来绘制出障碍物的边界线,通过障碍物的边界线确认某位置是否存在障碍物,两个障碍物之间的距离是否足够宽以使机器人通过等,从而利用该边界线区划出机器人行进平面上的可通行区域和不可通行区域。值得一提的是,该边界线是区划的是机器人行进平面上的可通行区域和不可通行区域,而不是障碍物的空间三维的边界信息。

s106、调整机器人的方向,以遍历机器人所在的场景,并根据所绘制的障碍物的边界线而形成场景的2d地图。

当机器人一个方向上出现障碍物,并已经将该障碍物的边界线绘制出来之后,调整机器人朝向其它方向以使得机器人能遍历其所在的场景。当机器人遍历了所在的场景之后,该场景内的每个位置处存在的障碍物的边界线均被绘制出来,由于绘制的是障碍物的边界线,该边界线区划的是机器人行进平面上的可通行区域和不可通行区域,因而可形成该场景的2d地图。

值得一提的是,检测窗口可以是一虚拟三维空间,检测窗口在机器人行进方向上的厚度与机器人的行进速度相匹配,以使机器人至少在该厚度范围内将行进速度减小为零。由于反应时间、惯性等因素,机器人在发现障碍物后无法立即停止,在机器人发现障碍物到机器人停止行进期间行进的距离为制动距离,机器人至少能在检测窗口的厚度范围内将行进速度减小为零,即,检测窗口的厚度大于机器人的制动距离,使得机器人在发现障碍物后到机器人停止行进期间不会碰撞到障碍物。

区别于现有技术,本发明通过采集连续的深度图像序列,并在该深度图像中建立与机器人尺寸相关联的检测窗口,以通过该检测窗口的深度信息判断机器人行进路线范围内是否出现障碍物,如果出现障碍物则绘制障碍物的边界线,以区划机器人行进平面上的可通行区域和不可通行区域,当遍历了机器人所在的场景之后,即可绘制出该场景的2d地图。由于深度图像中的检测窗口与机器人的尺寸相关联,因此,该检测窗口检测出的通行区域的准确性高,并且通过绘制障可区划机器人行进平面上可通行区域和不可通行区域的障碍物边界线,能直接获取该机器人所需的2d地图,相较于绘制3d地图所需处理的数据量大大减少,并大大简化了数据,且本发明对深度图点云数据要求低,对大面积出现深度值缺省的深度图也可以利用以转化为电子地图数据,因而本发明可以在获取较少的数据,以及较简单的数据的情况下绘制出2d地图。

请参阅图3,图3是本发明实施例提供的另一种机器人避障的方法的流程示意图。本实施例以扫地机器人为例对本发明进行说明。

s201、采集连续的深度图像序列。

深度相机固定在扫地机器人上,启动扫地机器人,此时,以机器人的初始位置作为原点建立世界坐标系,本实施例中,世界坐标系的x-y平面为机器人行进的平面,即地面。同时,以机器人的初始位置为原点建立相机坐标系,其中,本实施例的世界坐标系和相机坐标系的原点重合。实时获取机器人行进时在世界坐标系对应的位置,同时获取机器人的角度信息。在其它一些实施例中,也可以在机器人行进后遇到第一个障碍物的时候,以第一个障碍物上的某个点作为原点建立世界坐标系,本发明对此不作限定。使机器人在一个方向上行进,在行进过程中,深度相机采集连续的深度图像序列。

s202、在深度图像中建立检测窗口,检测窗口用于检测机器人的行进路线范围内的障碍物,其中,检测窗口与机器人的相对位置固定,检测窗口的垂直于机器人的行进方向的截面的大小至少大于机器人在该截面上的投影的大小。

如图4所示,图4是本发明实施例中机器人与检测窗口的透视结构示意图。扫地机器人在检测窗口的垂直于机器人的行进方向的截面上的投影的宽度为l1,高度为h1。检测窗口的宽度为l2,高度为h2,其中,l1≤l2,h1≤h2,从而使扫地机器人在该检测窗口的截面上的投影完全位于该截面范围内。具体地,本实施例中,l1=l2,h1=h2。

s203、获取检测窗口内的深度信息。

深度图像中的每个物体到深度相机的距离可能会不同,同一物体到深度相机的距离也可能不同,因此每个物体到深度相机的距离至少对应一深度值。其中,设定距离深度相机较远处的物体对应的深度值较大,距离深度相机较近处的物体对应的深度值较小。并设定检测窗口内无障碍物时,即检测窗口场景为空时的深度值为空值。

具体地,当检测窗口内没有出现任何物体时,即不会存在物体到机器人的距离,所以将此深度值记为空值,如图2所示。请参阅图5,图5是本发明实施例中机器人、检测窗口和障碍物一种情况下的相对位置的俯视示意图。当检测窗口20内出现障碍物31时,该障碍物31到机器人10的距离则为该障碍物31的深度值,由于该距离实际存在,因此,该深度值为非空值。图5所示检测窗口20内的深度信息包括至少两个深度值,其中一是障碍物31相对于机器人10的距离,一是障碍物32相对于机器人10的距离。

s204、根据深度信息判断是否出现障碍物。

若深度值均为空值,判断为未出现障碍物,进入步骤s207。若深度值并非均为空值,而是出现非空值,则判断为出现障碍物,进入步骤s205。

具体地,如图5所示,由于检测窗口20在机器人10行进路线范围内,当检测窗口20内出现了非空值时,表示该障碍物31(障碍物32)出现在机器人的行进路线内,该障碍物31(障碍物32)会阻挡机器人继续行进,所以判断为出现障碍物,从而进入步骤s205。

s205、对机器人进行制动处理,以使机器人停止行进。

步骤s205中,对机器人制动后,机器人停止行进,从而防止机器人碰撞到障碍物。

s206、根据障碍物的深度信息绘制障碍物的边界线,以区划机器人行进平面上的可通行区域和不可通行区域。

具体地,定义距离机器人远的障碍物的深度值大于距离机器人近的障碍物的深度值。本实施例中,边界线根据高度方向上的最小深度值来绘制。即,边界线的深度值为障碍物在检测窗口内的高度方向上距离机器人最近的位置处的深度值。可以理解地,该边界线为障碍物在检测窗口内的部分在机器人行进平面上的投影的轮廓线。

如图6所示,图6是本发明实施例中机器人与障碍物另一种情况下的侧视结构示意图。图6所示的障碍物33为一倒置的圆锥台,该圆锥台的横截面从下到上逐渐增大,从深度图像中获取的是圆锥台落入深度图像视场角范围内的部分侧面上的点的深度值,即该部分侧面上的点到机器人10之间的距离,其中,每个点到机器人10之间的距离可能会不同,如图6中,点a1,点a2和点a3到机器人10之间的距离都不同。其中,a1到机器人10的距离为s1,a2到机器人10的距离为s2,a3到机器人10的距离为s3,锥台为倒置,因而s1<s2<s3。机器10人行进过程中,如果碰撞到障碍物33,首先就是会碰撞到距离机器人10最近的点a1,因此,为了防止机器人10碰撞到障碍物33,绘制边界线时,结合相机坐标系上的s1和机器人10的角度,将a1归一化到世界坐标系上,从而在世界坐标系上标出点a1所在三维空间中的位置,再将点a1投影到世界坐标系的x-y平面上,从而绘制出障碍物33在机器人10行进平面上的边界线,请参阅图7,图7是图6中的障碍物绘制在2d地图上形状示意图。

在一些实施例中,在判断出现障碍物之后,首先对机器人进行制动处理,使机器人停止行进,从而防止机器人碰撞到障碍物。

s207、调整机器人的方向,以遍历机器人所在的场景,并根据所绘制的障碍物的边界线而形成场景的2d地图。

本实施例中,采用探测边界法使机器人遍历整个场景。具体地,定义深度图像的视场角范围和深度测量范围形成的立体空间的边界为探测边界。当机器人一个方向上障碍物的边界线绘制完成之后,调整机器人的方向,以使机器人的方向垂直于探测边界并指向未检测区域的方向。已经经过检测的区域为已检测区域,即已知空间,未经过检测的区域为未检测区域,即未知空间。

在机器人转动朝向垂直于探测边界并指向未检测区域的方向的过程中,持续对该过程中检测窗口所经过的位置进行检测。

具体而言,探测边界中,界定深度图像的视场角范围的探测边界为第一探测边界41,界定深度测量范围的边界为第二探测边界42。

当机器人10一个方向上的障碍物绘制完成之后,而机器人10该位置的其它方向还存在未检测区域时,调整机器人10的方向,使机器人10的方向垂直于第一探测边界41并指向未检测区域。如图8所示,图8是本发明实施例中机器人调整方向至垂直于第一探测边界并指向未检测区域时的俯视示意图。

如图9所示,图9是本发明实施例中机器人朝向垂直于可通行区域中的第二探测边界并指向未检测区域时的俯视示意图。当垂直于第一探测边界41的方向的区域均为已检测区域时,例如,调整机器人10的方向以使机器人10朝可通行区域中垂直于第二探测边界42并指向未检测区域的方向行进,以此方式遍历整个场景。

例如,本实施例中,当机器人10在原地转动360°回到初始方向后,其垂直与第一探测边界41的区域均为已检测区域,此时,机器人10需继续行进,以到达新的位置检测未检测区域。在机器人10原地转动360°时,已获得该圆周方向上可通行区域和不可通行区域的区划信息,因而从可通行区域中选择一个方向使机器人10朝该方向行进,并且,为了确保遍历整个场景,机器人10的行进方向垂直于该可通行区域中的第二探测边界42并指向未检测区域。

当机器人遍历了整个场景之后,根据连续帧的深度图像中绘制的整个场景中机器人行进平面上的障碍物的边界线,从而形成了机器人行进场景的2d地图。

当该2d地图绘制完成之后,对该2d地图进行保存,可以作为机器人的导航地图,以便于扫地机器人下一次的行进。

请参阅图10,图10是本发明实施例提供的一种绘制2d地图的装置的结构示意图。本实施例中,机器人避障装置包括至少一个深度相机50、处理器60和存储器70。深度相机50、存储器70均与处理器60连接。

所述深度相机50用于采集连续的深度图像序列。

所述处理器60用于在所述深度图像中建立检测窗口,所述检测窗口用于检测所述机器人的行进路线范围内的障碍物,其中,所述检测窗口与所述机器人的相对位置固定,所述检测窗口的垂直于所述机器人的行进方向的截面的大小至少大于所述机器人在该截面上的投影的大小;获取所述检测窗口内的深度信息;根据所述深度信息判断是否出现障碍物;若判断出现障碍物,则根据所述障碍物的深度信息绘制所述障碍物的边界线,以区划所述机器人行进平面上的可通行区域和不可通行区域;调整所述机器人的方向,以遍历所述机器人所在的场景,并根据所绘制的所述障碍物的边界线而形成所述场景的2d地图。

可选地,所述深度信息包括至少一个深度值;所述处理器60还用于在所述深度值均为空值时,判断为未出现障碍物;在所述深度值包括非空值时,判断为出现障碍物。

可选地,定义距离所述机器人远的障碍物的深度值大于距离所述机器人近的障碍物的深度值;所述处理器60还用于根据检测窗口内高度方向上的最小深度值来绘制所述边界线,以获取所述障碍物在检测窗口内的部分在所述机器人行进平面上的投影。

可选地,定义所述深度图像的视场角范围和深度测量范围形成的立体空间的边界为探测边界;所述处理器60还用于调整所述机器人的方向,以使所述机器人的方向垂直于所述探测边界并指向未检测区域。

可选地,所述探测边界中,界定所述深度图像的视场角范围的探测边界为第一探测边界,界定所述深度测量范围的边界为第二探测边界;所述处理器60还用于调整所述机器人的方向,以使所述机器人的方向垂直于所述探测边界并指向未检测的区域的方向中,所述探测边界为所述第一探测边界;当垂直于所述第一探测边界的方向的区域均为已检测区域时,调整所述机器人的方向以使所述机器人朝所述可通行区域中垂直于所述第二探测边界并指向未检测区域的方向行进。

可选地,所述检测窗口为一虚拟三维空间,所述检测窗口在所述机器人行进方向上的厚度与所述机器人的行进速度相匹配,以使所述机器人至少在该厚度范围内将行进速度减小为零。

本发明还提供了一种存储装置,该存储装置存储有程序数据,该程序数据能够被执行以实现上述任一实施例的绘制2d地图的方法。

举例而言,该存储装置可以是便携式存储介质,例如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等。可以理解地,存储装置还可以是服务器等各种可以存储程序代码的介质。

综上所述,本发明可以在获取较少的数据,以及较简单的数据的情况下绘制出2d地图。

以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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