处理室内环境的非结构化数据分割设施中房间来改进设备通过设施的移动的移动机器人设备的制作方法

文档序号:18360760发布日期:2019-08-06 23:48阅读:144来源:国知局
处理室内环境的非结构化数据分割设施中房间来改进设备通过设施的移动的移动机器人设备的制作方法

本申请要求题为“automaticroomsegmentationfromunstructured3ddataofindoorenvironments”并且在2016年12月30日提交的美国临时申请号62\440,795的优先权,并且还要求题为“automaticroomsegmentationfromunstructured3ddataofindoorenvironments”并且在2017年5月30日提交的美国临时申请号62\512,223的优先权,特此通过引用将两个申请的全部内容明确地合并于本文。

本公开一般涉及点云数据处理,并且更具体地,涉及设施房间地图的生成,以使得移动机器人设备能够在设施内调遣。



背景技术:

对家庭或其他建筑物中的房间的精确测量对于诸如拓扑映射、语义映射、自动化专业清洁或人机交互之类的宽范围任务而言是重要的。在许多情况下,设施中房间的位置和尺寸是未知的,并且蓝图或其他建筑图纸对于项目期间的使用而言是不可用的。代替地,扫描仪可以用于生成点云数据,该点云数据对应于定义设施中的房间和连接房间的门的结构。

在移动机器人设备对点云数据的处理中出现若干困难。这些问题当中有来自注册错误或丢失数据的噪声。此外,建筑物的内部频繁地混杂有:可能部分或完全遮挡永久房间结构的家具和其他物体。例如,书架通常跨越墙壁的整个高度并且具有显著的长度。对这些遮挡结构的识别——因此它们可以从设施中的房间的地图被移除——可能是困难的。

在目前已知的移动机器人设备中,对点云数据的处理做出了关于数据的多个假设,以简化在处理数据中涉及的任务。这些假设包括针对直墙壁的向上向量、曼哈顿世界框架(manhattanworldframe)中的对齐、或扫描设备的视点知识。曼哈顿世界框架假设每个平面垂直于单个坐标系的轴中的一个轴。这些不切实际的假设呈现设施中的墙壁、天花板、地板和墙壁中的开口的不太准确的地图。在没有不切实际的假设的情况下对点云数据的处理以产生更准确的地图将有益于机器人设备在设施内的移动以及这些设备与人类的交互。



技术实现要素:

已经开发了一种移动机器人设备,其处理点云数据以在没有曼哈顿世界框架的假设或对扫描仪视点的先验知识的情况下呈现房间、地板、天花板和墙壁中的开口的准确地图。移动机器人设备包括:至少一个动力构件;可操作地连接到至少一个动力构件的致动器,致动器被配置为驱动动力构件以使移动机器人设备移动;数据接口,其被配置为接收在其中机器人设备进行操作的设施的点云数据;存储器;以及控制器,其可操作地连接到致动器、数据接口和存储器。控制器被配置为:将从数据接口接收的点云数据存储在存储器中;将点云数据分割成平面基元;检测对应于墙壁的平面基元中的开口;生成针对对应于天花板和墙壁的平面基元的视点;参考所生成的视点生成房间地图;以及参考所生成的地图操作致动器,以使移动机器人设备通过在所生成的地图中表示的房间而移动。

移动机器人设备的另外的方面进一步包括:图像传感器,其被配置为生成移动机器人设备周围的环境的图像数据;距离传感器,其被配置为生成对应于移动机器人设备和移动机器人设备的路径中的结构之间的距离的数据;以及控制器,其可操作地连接到图像传感器和距离传感器。控制器被进一步配置为检测移动机器人设备周围的物体、墙壁和墙壁中的开口,以参考所生成的地图定位移动机器人设备。

移动机器人设备的另外的方面包括控制器,其被进一步配置为:标识从点云数据分割的平面基元中的墙壁基元;标识从点云数据分割的平面基元中的天花板基元;标识从点云数据分割的平面基元中的地板基元;将所标识的墙壁基元中检测到的开口标识为门或遮挡物;以及参考墙壁基元和天花板基元生成视点。

移动机器人设备的另外的方面包括控制器,其被进一步配置为通过以下方式来标识墙壁基元、天花板基元和地板基元:将点云数据中的所有数据值投影到与xy平面对齐的二维网格上;将二维网格中具有对应于高度的最大坐标的所有数据值标识为属于所标识的天花板基元中的一个;将二维网格中具有对应于高度的最低坐标的所有点标识为属于地板基元中的一个;以及将在天花板基元中的一个和地板基元中的一个之间的平面中的点标识为属于墙壁基元中的一个。

移动机器人设备的另外的方面包括控制器,其被进一步配置为:将每个墙壁基元定义为hessian法线形式;将参考系与每个墙壁基元对齐;将被标识为属于每个墙壁基元的所有数据值投影到图像上;检测每个墙壁基元的图像中的开口;以及通过将每个检测到的开口的形状与预定的尺寸和形状标准进行比较,来将检测到的开口标识为门或遮挡物。

移动机器人设备的另外的方面包括控制器,其被进一步配置为:将每个天花板基元投影到地板基元中的一个上;将在天花板基元被投影到其上的地板基元的边界内的所有数据值标识为自由空间;将在天花板基元被投影到其上的地板基元的边界内具有被标识的开口的每个墙壁基元标识为障碍空间;执行自由空间和障碍空间的能量最小化;标识在天花板基元被投影到其上的地板基元的边界内的自由空间的每个连续区域的中轴;选择位于沿着自由空间的每个连续区域的中轴的数据值作为视点;利用中轴上关于每个选择的数据值的预定半径来选择数据值,直到在自由空间的每个连续区域中未选择的数据值的数量小于预定阈值。

移动机器人设备的另外的方面进一步包括预定半径,其对应于用于产生点云数据的扫描仪的范围。

移动机器人设备的另外的方面包括控制器,其被进一步配置为:选择点云数据中以自由空间的连续区域中的每个视点为中心的球形内的数据值;标注所选择的数据值以将所选择的数据值标识为对应于球形以其为中心来选择数据值的视点;将对应于视点中的一个视点的所选择的数据值投影到单元复合数据结构(cellcomplexdatastructure)的面上;执行对应于单元复合数据结构的对偶图的能量最小化,对偶图具有与表示单元复合数据结构中的面的顶点相关联的一元势和与表示单元复合数据结构中的墙壁的边相关联的二元势。

移动机器人设备的另外的方面包括控制器,其被进一步配置为:检测分离自由空间的不同连续区域的边中的一个边与邻近不同连续区域的墙壁基元之间的重叠;响应于检测到的重叠小于预定阈值,合并自由空间的不同连续区域。

附图说明

图1是机器人设备的框图,该机器人设备处理用于映射设施的非结构化3d数据以使得设备能够通过设施移动。

图2是用于处理点云数据以产生设施中的房间、门和天花板的地图的过程200的流程图。

图3是用于将点云数据分割成平面基元的过程的流程图。

图4是点云数据中的天花板和墙壁基元的图形描绘。

图5a是由点云数据表示的房间的透视图。

图5b是图5a中示出的墙壁基元和墙壁基元内的开口的2d投影。

图6是在已经执行了对应于天花板和墙壁基元的点云数据的能量最小化之后,针对设施的天花板和墙壁基元的点云数据的2d投影的图形描绘。

图7是图6中示出的天花板基元的voronoi图形的图形描绘。

图8是参考图7的voronoi图形、针对图6中的2d投影来标识的视点的图形描绘。

图9是用于参考图6的2d投影和图8的标识的视点执行的房间构造的过程的流程图。

图10描绘了单元复合数据结构的主要组成部分的示例。

图11a是通过图9的过程获得的由障碍空间分离的自由空间的区的图形描绘。

图11b是在合并自由空间的区域以移除由图9的过程引入的墙壁之后,图11a的自由空间和障碍空间的图形描绘。

具体实施方式

出于促进对本文中描述的实施例的原理的理解的目的,现在对以下撰写的说明书中的附图和描述进行参考。该参考没有意图对本主题范围进行限制。本专利还包括对说明的实施例的任何更改和修改,并且包括如本文档所属领域的技术人员通常将想到的所描述实施例的原理的另外应用。

如本文中使用的,术语“移动机器人设备”指代具有用于调遣设备通过设施内的房间的动力机构的任何计算设备。如本文中使用的,对“点云数据”的引用指代某个坐标系中的一组数据点,该数据点表示结构的外表面。此类数据是众所周知的,并且可以由来自一个或多个特定视点的扫描仪生成。

图1描绘了移动机器人设备100,其处理点云数据以生成设施中的房间的地图,以使得设备能够通过设施移动。系统100包括可操作地连接到数据接口108、存储器112、一个或多个致动器116、动力构件120、传感器124和图像传感器128的控制器104。控制器104通过数据接口接收设施的点云数据,并且控制器将点云数据存储在存储器112中以供处理。存储器112还包括存储的编程指令,该编程指令由控制器执行以处理点云数据并且使用通过此类处理生成的地图来控制机器人设备100中的部件的操作,该部件的操作使机器人设备在设施周围移动。

数据接口104是对应于能够利用点云数据源接收和传输点云数据的标准的任何适当的接口。存储器112是易失性和非易失性存储器,其用于临时存储和对数据的处理以及对编程指令和参考数据的持久存储。致动器116是可操作地连接到动力构件120的马达和其他驱动器。动力构件120是将致动器的输出转换成设备100的移动的部件。动力构件包括轮、齿轮、铰接构件等,以使机器人设备通过设施移动并且执行诸如抓握和移动设施环境中的物体之类的其他任务。传感器104是距离和其他环境传感器,诸如激光测距仪、声波传感器、机械传感器等。图像传感器128是ccd相机和诸如红外传感器之类的其他图像数据感测设备。传感器和图像传感器生成数据,该数据由控制器104处理以使得设备100能够参考根据点云数据生成的设施的地图来定位其在设施环境内的方位。

为了使得机器人设备能够更加容易且准确地导航设施的房间,设备100已经配置有编程指令和部件,该编程指令和部件使得控制器124能够在没有过去已知的对此类数据的处理的假设的情况下,处理点云数据并且将该数据分割成具有天花板和墙壁中的开口的房间。在图2中示出了该过程的概述。在过程200中,机器人设备通过数据接口104与点云数据源通信,以接收对应于要在其中使用机器人设备的设施的点云数据(框204)。将这些数据存储在存储器108中(框208)。然后,该过程将点控制数据分割成墙壁、地板和天花板基元(框212)。如在本专利中使用的,术语“分割”指代将点云中的数据值的组标识为对应于墙壁基元、天花板基元或地板基元。检测墙壁基元中的开口(框216),并且生成针对天花板和墙壁基元的视点(框220)。该过程根据天花板和墙壁基元的2d投影生成单元复合数据结构,并且执行该结构的能量最小化(框224)。合并相关空间以产生由点云数据表示的内部空间的地图(框228)。该地图被保持在存储器112中,并且控制器参考该地图以使用从图像和环境传感器124和128接收的图像和环境数据来定位设备100在设施中的方位。

在图3中示出了点云数据分割处理的细节。过程300通过检测点云数据中任意取向和大小的基元形状开始(框304)。如在本专利中使用的,术语“基元”指代表示设施中的结构的点云数据。然后处理基元以将基元标识为墙壁、地板或天花板基元(框308)。然后检测墙壁平面基元中的开口并且将其标识为门或遮挡物(框312)。生成针对墙壁和天花板基元的视点(框316)以完成对点云数据的分割处理。

更详细地,通过利用参数模型和一组支持指数描述每个基元形状来实现基元形状检测,该支撑指数表示原始点云中距彼此在预定阈值距离内的数据值。尽管本专利中的讨论聚焦于平面形状,但是可以检测诸如圆柱形和球形之类的其他形状。通过将点云中的所有数据值投影到与xy平面对齐的二维(2d)网格上来检测天花板基元。如在本专利中使用的,术语“投影”或“投射”指代数据值从点云到预定的单元布置的映射,所述预定的单元布置被称为网格。对于网格中的每个被占用的单元,单元中具有最大z坐标值的数据值被标识为相关的天花板基元。通过选择在被占用的单元中具有最小z坐标的数据值来标识地板基元。墙壁基元被定义为在地板基元和天花板基元之间延伸的数据值的平面区域。为了简化处理,要求到墙壁基元的法线垂直于地板向上向量。如在本专利中使用的,术语“地板向上”向量指代在从地板到天花板基元的方向上延伸的向量。用于检测墙壁基元的过程被称为随机样本一致过程(randomsampleconsensusprocess)。符合这些标准的墙壁基元仍然包含误肯定(falsepositive),诸如对应于诸如橱柜、架子、屏幕等之类的附属特征的数据,因此它们要求进一步处理以准确地标识点云中的墙壁基元。图4是在已经检测和标识墙壁基元中的开口之前从点云提取的平面基元的表示。结构404是天花板基元的示例,并且结构408是墙壁基元的示例。

由于由设备104中的控制器104处理的点云数据不包括视点数据,因此墙壁基元的处理存在问题。为了帮助简化墙壁基元的处理,处理每个墙壁基元以检测墙壁基元中的间隙,这些间隙被标识为诸如门之类的开口、或由在生成点云数据的扫描仪与被扫描的墙壁之间的杂乱产生的遮挡物。以hessian法线形式定义每个墙壁基元。当沿着到平面的hessian法向量看向平面时,2d参考系被定位在候选墙壁基元的平面中,其中,2d参考系的原点与平面的左下角对齐。参考系的一列是地板向上向量,并且该系的另一列位于平面中并且是hessian法向量和地板向上向量的交叉积。通过使用该参考系,将墙壁基元的所有数据值投影到针对开口和间隙进行分析的图像。在该图像投影中,将不对应于墙壁基元的平面的数据值标识为开口数据值,并且将连续开口数据值的区域标识为开口。将满足形状和预定尺寸标准的那些开口标识为门开口候选。在一个实施例中,形状标准是矩形并且预定尺寸标准指代预定的高度和宽度。

图5a和图5b中示出了墙壁基元处理的示例。图5a描绘了房间的点云,其中对应于后墙壁504的墙壁基元被处理。图5b是后墙壁504到2d系上的图像投影,其中空像素标示开口数据值并且实心像素表示墙壁数据值。在图5b中,连续的空像素508被标识为图5a中的后墙壁504中的门开口候选,而连续的实心像素512被标识为墙壁空间。图5b中示出的图像的右部分中的门开口候选被标识为由图5a中的后墙壁504前面的家具引起的遮挡,这是因为空像素的该区不符合针对门的尺寸要求。

更详细地,视点的生成(图3中的框316)开始于天花板基元到地板基元上的2d投影。如图6中示出的,除了被标识为障碍空间608的墙壁基元和被标识的开口之外,地板基元的边界内的所有数据值被标识为自由空间604。在具有低天花板点密度的区域中以及在天花板基元和墙壁基元之间的交集处,该投影是有噪声的。投影的能量最小化提供噪声较小的细化的前景/背景分割。图6中示出的投影已经经受了能量最小化。该2d投影由自由空间(白色像素)和障碍空间(黑色像素)组成。对每个自由空间分割的中轴进行计算提供了空间的所得voronoi图形。在图7中示出了图6的投影中的自由空间分割的voronoi图形。具有最大可见视野的视点位于沿着自由空间分割的中轴。为了采样这些视点中的哪个呈现最佳视点,选择观察到在所选择的像素周围的预定半径内的最多像素的像素。然后以如下目标选择另一个视点:该视点观看大部分剩余的未观看像素。该视点选择继续,直到从至少一个视点不可见的自由空间像素小于预定阈值。预定半径对应于用于产生点云的扫描仪的操作范围,以确保即使在大房间的情况下也标识了多个视点,因此房间被过度分割。在一个实施例中,预定半径是3米。在图8中描绘了用于图7中示出的voronoi图形的该类型的处理的示例,其中由自由空间分割中的较暗圆标识针对各种房间的视点。为了恢复原始点云中的视点,将标识的2d视点以平均高度投影回到原始3d点云中。

对上面关于图7和图8描述的处理的替换方案是将泛洪填充过程(floodfillprocess)应用于图6的投影。因为房间典型地聚集在连接点中,所以对经滤波的投影进行泛洪填充过程的应用将为投影的分割标识语义标注。该方案不如上面描述的方案有效,这是因为它依赖于几乎完美的墙壁和开口检测并且产生具有非常参差不齐的墙壁的投影,该参差不齐的墙壁的投影由2d投影期间发生的分辨率损失引起。一些方案通过要求点云包括视点数据来克服这些限制,但是如上面描述的voronoi图形的生成和对该图形的处理避免了关于点云数据的产生的这种局限。

接着图3的房间分割过程,执行图9的房间重建过程。在过程900中,生成单元复合数据结构(框904),并且单元复合数据结构的相关联对偶图经受能量最小化(框908)。然后被标识为自由空间的区的合并发生,以移除由能量最小化推断的墙壁(框912)。然后将所得地图存储在控制器104的存储器112中,因此控制器可以操作致动器116以驱动动力构件120并且参考房间重建地图移动机器人设备100。

更详细地,单元复合数据结构是几何数据结构,其描述一组线的交集如何对空间分区。为了生成单元复合体,将与每个墙壁分割相关联的数据值投影到底层上,并且通过求解相关联的最小二乘问题找到最佳拟合线。在包括弯曲墙壁的设施的情况下,标识投影曲线的分段线性近似,并且将每个单独的线段插入到单元复合体中。

单元复合体在欧氏空间中引入平面图形,其中顶点表示线段之间的交集,所述线段具有由分割而自然引入的边。每个平面图形引入对偶图,其中顶点表示原图形中的面,并且边表示邻近面之间的墙壁。所得对偶图用于标注面。图10描绘了单元复合数据结构的主要组成部分的示例。完全的原图形被示出为暗边。对应于原面的一些对偶顶点在图中由实心圆示出,并且一些对偶边在图中被示出为虚线。

对单元复合体和相关联的对偶图的使用通过如下方式开始:通过将一元势与表示单元复合体中的面的顶点相关联并且通过将二元势与表示墙壁的边相关联来在对偶图上定义能量最小化问题。所得问题具有如下形式:

其中是从有限标注集提取的每顶点标注向量,是与顶点相关联的一元势函数,并且是与边相关联的二元势函数。

重要的是,房间的真实数量必须至少等于。该条件意味着初始分割必须被过度分割。单元复合结构中的一元势描述了各区具有从过度分割的数据获得相关联(粗略)的标注的可能性。因此,一元势是对房间真实分区的猜测。为了定义易于计算的一元势,假设房间接近于凸面体。使用先前根据voronoi图形生成的合成视点,通过以每个视点为中心的点云中的球形投影、参考对应的视点来标注每个视点的固定半径内的数据值。该关系从如下可能性产生:可以从同一视点看到的数据值更有可能是同一房间的部分。将被标注为属于视点中的一个的数据值用于获得针对每个对应面的一元势,这是因为各面对应于对偶图中的顶点。对于单元复合体中的每个面,计算与面到平面的投影相关联的点的密度。

与每个面相关联的一元势被定义为与针对面的视点相关联的点关于落在面内的所有点的比。令cij是与落在面i中的视点j相关联的数据值的数量。对于每个面i,势被定义为:。通过计算每单位区域的点密度来在单元复合体中检测对应于空的空间的面。在一个实施例中,子采样网格大小给定为0.05m,因此平均密度针对每平方米被计算。如果密度不在平均密度的给定因子内,则将该面标记为空的空间。对于空的空间将虚拟视点标注为0,并且对于每个空的区:如果j≠0则势并且如果j=0则势

二元势是从关于墙壁基元的信息获得的。单元复合体中的每个边在墙壁基元的线性跨度内。如果表示单元复合边并且表示原始墙壁基元,则通过边分离的两个面之间的二元势被获得为:标示分割的长度,并且的分割交集。该交集可以是分割、点或是空的。该势描述了两个区被包含在同一房间内的可能性。如果大的墙壁基元使两个区分离,则该区不太可能聚集在一起。必须观察的条件以保持函数的半度量性。

在使用阿尔法扩张算法求解最小化问题之后,可以获得能量最小化的输出。图11a中描绘了这种输出的示例。在其中推断出假想的墙壁的情况下,该所得房间分割可能导致过度分割的房间。该状况出现在诸如长走廊之类的情况下。为了解决这个问题,实现被称为合并的后处理。为了合并两个区,评估在分离两个区的边与由随机样本一致过程检测到的墙壁基元之间的重叠。如果该重叠小于预定阈值,则将两个区合并成一个。在一个实施例中,针对该重叠比较的预定阈值是百分之20。在图11b中示出了在图11a中示出的地图上的合并区的结果示例。将图11b的所得地图存储在存储器112中,并且控制器104参考该地图来操作致动器116并且驱动动力构件120以通过被映射的设施调遣移动机器人设备100。图像数据和环境传感器数据用于检测被映射的空间内的物体并且确认设备相对于地图的位置。

上面描述的和其他的特征及功能的变体或其替换方案可以可期望地组合到许多其他不同的系统、应用或方法中。本领域技术人员后续可以做出各种目前未预见或未预料到的替换方案、修改、变型或改进,各种目前未预见或未预料到的替换方案、修改、变型或改进也旨在被以下权利要求书涵盖。

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