建立室内3d地图的方法和无人机

文档序号:1671151 发布日期:2019-12-31 浏览:17次 >En<

阅读说明:本技术 建立室内3d地图的方法和无人机 (Method for establishing indoor 3D map and unmanned aerial vehicle ) 是由 李选富 何庭波 许占 胡慧 陈海 于 2018-06-22 设计创作,主要内容包括:本申请提供了一种建立室内3D地图的方法和无人机。该方法包括:确定目标房间的至少一个待扫描子区域;确定至少一个待扫描子区域中的每个子区域的最佳扫描点;根据当前扫描点和至少一个待扫描子区域中的每个子区域的最佳扫描点,确定目标扫描路径;沿目标扫描路径,对目标房间的至少一个待扫描子区域进行扫描;当目标房间的全部子区域完成扫描时,根据通过扫描获得的目标房间的3D点云,建立目标房间的3D地图。本申请可以在扫描时依据待扫描区域实时规划扫描路径,能够实现对室内的完整的扫描,进而构建出更准确的3D地图。(The application provides a method for establishing an indoor 3D map and an unmanned aerial vehicle. The method comprises the following steps: determining at least one sub-area to be scanned of a target room; determining an optimal scanning point of each subarea in at least one subarea to be scanned; determining a target scanning path according to the current scanning point and the optimal scanning point of each subarea in at least one subarea to be scanned; scanning at least one sub-area to be scanned of a target room along a target scanning path; and when all the sub-areas of the target room are scanned, establishing a 3D map of the target room according to the 3D point cloud of the target room obtained through scanning. According to the method and the device, the scanning path can be planned in real time according to the area to be scanned during scanning, indoor complete scanning can be achieved, and a more accurate 3D map can be constructed.)

建立室内3D地图的方法和无人机

技术领域

本申请涉及无人机技术领域,并且更具体地,涉及一种建立室内3D地图的方法和无人机。

背景技术

随着无人机技术的快速发展,室内无人机得到了一定的应用。室内无人机可以在室内空间内自由移动,能够完成地面机器人无法完成的各种工作。室内无人机在室内工作之前,需要先对室内进行完整的扫描生成室内的3D地图(该3D地图可以表征室内的空间结构),然后再基于该3D地图进行工作。

传统方案一般是按照预先设置的规则对房间进行扫描,并根据扫描得到的3D点云来建立3D地图。例如,控制无人机沿障碍物飞行,并在飞行时对室内进行扫描,当扫描完成时再根据扫描得到的3D点云来建立3D地图。

传统方案中直接按照预先设定的规则对室内进行扫描时,可能会出现扫描不完整的情况,导致最终建立的3D地图的不够准确。

发明内容

本申请提供一种建立室内3D地图的方法和无人机,以实现对室内的完整扫描,进而构建出更准确的3D地图。

第一方面,提供一种建立室内3D地图的方法,该方法用于对目标房间的各个子区域进行扫描,该方法具体包括:确定目标房间的至少一个待扫描子区域;确定至少一个待扫描子区域中的每个子区域的最佳扫描点;根据当前扫描点和至少一个待扫描子区域中的每个子区域的最佳扫描点,确定目标扫描路径;从当前扫描点出发,根据目标扫描路径,对目标房间的至少一个待扫描子区域进行扫描;当目标房间的所有子区域完成扫描时,根据扫描获得的目标房间的3D点云,建立目标房间的3D地图。

其中,在每个子区域的最佳扫描点对每个子区域进行扫描时,每个子区域的扫描程度达到第一预设扫描程度。

上述方法可以由无人机执行,上述目标房间可以是需要进行3D建图的房间。

可选地,上述目标扫描路径的起点为当前扫描点,上述目标扫描路径的终点位于至少一个待扫描子区域中的任意一个待扫描子区域中。

可选地,上述至少一个待扫描区域中的任意两个子区域之间互不联通。

应理解,在扫描过程中获得的目标房间的3D点云具体包括目标房间中已经扫描到的3D坐标信息。目标房间的3D地图可以是指包含目标房间中物体占据的网格图。

本申请中,在路径规划时只关注未扫描的区域,这样规划出来的扫描路径更具有针对性,能够提高对对房间进行扫描时的整体扫描效率,可以最终构建的3D地图的效果。

结合第一方面,在第一方面的某些实现方式中,上述方法还包括:将至少一个待扫描子区域中面积最大的子区域确定为目标子区域;根据当前扫描点和至少一个待扫描子区域中的每个子区域的最佳扫描点,确定目标扫描路径,包括:根据当前扫描点和目标子区域的最佳扫描点确定目标扫描路径,其中,目标扫描路径的起点为当前扫描点,终点为目标子区域的最佳扫描点。

在扫描过程中通过优先扫描面积较大的子区域,能够在扫描过程中尽可能的扫描较大的面积,能够在一定程度上提高扫描的效率。

结合第一方面,在第一方面的某些实现方式中,根据当前扫描点和目标子区域的最佳扫描点确定目标扫描路径,包括:确定起点为当前扫描点,终点为目标子区域的最佳扫描点的多条扫描路径;将多条扫描路径中路径最短的扫描路径确定为目标扫描路径。

结合第一方面,在第一方面的某些实现方式中,根据当前扫描点和目标子区域的最佳扫描点确定目标扫描路径,包括:将起点为当前扫描点,终点为目标子区域的最佳扫描点的多条扫描路径中路径最短的扫描路径确定为目标扫描路径。

通过将最短的扫描路径作为目标扫描路径,能够在扫描的过程中减少移动的距离,在一定程度上可以减少扫描时间,提高扫描效率。

可选地,上述多条扫描路径中的最短的扫描路径可以是从当前扫描点到目标子区域的最佳扫描点的直线路径。

应理解,如果当前扫描点与目标子区域的最佳扫描点之间存在的障碍物时,导致沿着当前扫描点到目标子区域的最佳扫描点之间的直线路径无法到达目标子区域的最佳扫描点。那么,上述目标扫描路径就是从当前扫描点出发,绕过障碍物并且到达目标子区域的最佳扫描点的最短的路径。

结合第一方面,在第一方面的某些实现方式中,根据当前扫描点和目标子区域的最佳扫描点确定目标扫描路径,包括:确定起点为当前扫描点,终点为目标子区域的最佳扫描点的多条扫描路径;根据多条扫描路径中的每条扫描路径的长度,以及沿每条扫描路径进行扫描时经过其它待扫描子区域的最佳扫描点时的扫描面积,确定每条扫描路径的路径代价;将多条路径中路径代价最小的路径确定为目标扫描路径。

结合第一方面,在第一方面的某些实现方式中,根据当前扫描点和目标子区域的最佳扫描点确定目标扫描路径,包括:在起点为当前扫描点,终点为目标子区域的最佳扫描点的多条扫描路径中,根据多条扫描路径中的每条扫描路径的长度,以及沿每条扫描路径进行扫描时经过其它待扫描子区域的最佳扫描点时的扫描面积,确定每条扫描路径的路径代价,其中,其它待扫描子区域为至少一个待扫描子区域中除目标子区域之外的子区域;将多条路径中路径代价最小的路径确定为目标扫描路径。

其中,上述其它待扫描子区域是指上述至少一个待扫描子区域中除了目标子区域之外的子区域。

在确定目标扫描路径时,具体可以采用支持负权边贝尔曼-福特(Bellman-Ford,BF)算法或整数规划、其他贪婪算法例如遗传算法(genetic algorithm,GA)从多种路径中选择出路径代价最小的路径。

通过综合每个路径的路径长度,以及沿该路径进行扫描时能够扫描到的其它待扫描子区域的面积,能够从多个路径中选择出更合理的路径作为目标扫描路径,提高扫描效率。

结合第一方面,在第一方面的某些实现方式中,每条路径的扫描代价根据如下公式获得:

C=α·d-β·S

其中,C表示路径的路径代价,d的数值与路径长度成正比,S的数值与经过其它待扫描子区域的最佳扫描点时能够扫描到的其它待扫描子区域的面积成正比,α和β为权重系数。

结合第一方面,在第一方面的某些实现方式中,目标扫描路径的起点为当前扫描点,目标扫描路径经过至少一个待扫描子区域中的每个子区域的最佳扫描点,且目标扫描路径的终点为至少一个待扫描子区域中的一个子区域的最佳扫描点。

结合第一方面,在第一方面的某些实现方式中,根据当前扫描点和至少一个待扫描子区域中的每个子区域的最佳扫描点,确定目标扫描路径,包括:确定起点为当前扫描点,经过至少一个待扫描子区域中的每个子区域的最佳扫描点且终点为至少一个待扫描子区域中的一个子区域的最佳扫描点的多条扫描路径;将多条扫描路径中路径最短的扫描路径确定为目标扫描路径。

结合第一方面,在第一方面的某些实现方式中,根据当前扫描点和至少一个待扫描子区域中的每个子区域的最佳扫描点,确定目标扫描路径,包括:将多条扫描路径中路径最短的扫描路径确定为目标扫描路径,其中,多条路径中的每条扫描路径是起点为当前扫描点,经过至少一个待扫描子区域中的每个子区域的最佳扫描点且终点为至少一个待扫描子区域中的一个子区域的最佳扫描点的路径。

通过将上述多条扫描路径中的最短的扫描路径作为目标扫描路径,能够通过移动尽量较少的距离从当前扫描点出发到实现对至少一个待扫描子区域的扫描,在一定程度上可以减少扫描时间,提高扫描效率。

结合第一方面,在第一方面的某些实现方式中,确定目标房间的至少一个待扫描子区域,包括:获取目标房间的边界信息;根据边界信息构建目标房间的包围盒;根据包围盒构建目标房间的初始网格图,其中,初始网格图为目标房间的俯视图、仰视图、左视图、右视图、前视图以及后视图中的至少一种;将边界信息投影到初始网格图,得到目标网格图;将目标网格图中3D点云投影区域之外的区域确定为待扫描区域,待扫描区域包括至少一个待扫描子区域。

应理解,初始网格图中的每个网格的初始值为无效值,表示该初始网格图中的区域还未进行扫描。

上述边界信息可以是已扫描获得的3D点云。

可选地,上述包围盒为与目标房间对应的立方体,该立方体的长宽高分别对应目标房间的长宽高,用于表示目标空间的大小。

应理解,在根据包围盒构建当前房间的初始网格图(或者称为栅格图)时,可以根据包围盒来构造房间的俯视网格图、仰视网格图、左视网格图、右视网格图、前视网格图以及后视网格图,并选择其中的一种网格图作为初始网格图。或者还可以只构建一种视图的网格图,并将该视图的网格图确定为初始网格图。

结合第一方面,在第一方面的某些实现方式中,确定至少一个待扫描子区域中的每个子区域的最佳扫描点,包括:确定每个子区域所属的三维空间对应的几何体的几何重心;确定经过几何重心和几何体的上表面边缘的边缘最低点且与每个子区域的底面垂直的参考平面;在参考平面上确定目标线段,其中,目标线段的起点为几何重心,目标线段的长度为预设长度,目标线段与每个子区域的底面的夹角为预设夹角;将目标线段的终点所在的位置确定为每个子区域的最佳扫描点的位置;将目标线段的终点指向目标线段的起点的方向确定为最佳扫描点的扫描姿态。

可选地,上述方法还包括:根据当前房间的实时3D点云信息,确定当前房间的出口;在当前房间的扫描程度满足第二预设扫描程度时,移动到当前房间的出口,对当前房间的出口之外的其它房间进行扫描。

在扫描过程中,通过对当前房间的出口进行识别,能够实现对多个房间的连续扫描,能够提高扫描的效果。

第二方面,提供了一种无人机,该无人机包括用于执行上述第一方面中的方法的各个模块。

第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,其中,所述程序代码包括用于执行第一方面中的任意一种实现方式中的方法的指令。

当上述计算机可读存储介质设置在无人机内部时,无人机可以执行该计算机可读存储介质中的程序代码,当无人机执行该计算机可读存储介质中的程序代码时,该无人机可以执行上述第一方面中的任意一种实现方式中的方法。

附图说明

图1是本申请实施例的建立室内3D地图的方法的示意性流程图;

图2是确定待扫描子区域的最佳扫描点的示意图;

图3是包围盒的示意图;

图4是俯视网格图的示意图;

图5是扩展边界后的俯视网格图的示意图;

图6是包含3D点云信息的网格图;

图7是网格图的示意图;

图8是形成遮挡区域的示意图;

图9是对多个房间进行扫描的示意性流程图;

图10是本申请实施例的无人机的示意性框图;

图11是本申请实施例的无人机的示意性框图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

本申请中的扫描点还可以称为观测点或者探测点,扫描点可以是对室内进行扫描时经过的一些关键点。本申请中通过获取这些扫描点并根据这些扫描点来规划扫描路径从而实现对室内的完整扫描。

图1示出了本申请实施例的建立室内3D地图的方法的示意性流程图。图1所示的方法可以由无人机执行,或者其它具有自动飞行和扫描功能的设备来执行。图1所示的方法具体包括步骤110至步骤160,下面对步骤110至步骤160进行详细的介绍。

110、确定目标房间的至少一个待扫描子区域。

上述目标房间可以是需要进行3D建图的房间。

120、确定至少一个待扫描子区域中的每个子区域的最佳扫描点。

其中,在每个子区域的最佳扫描点是对每个子区域进行扫描时,每个子区域的扫描程度达到第一预设扫描程度。

对某个子区域的扫描程度可以用该子区域的扫描面积与该子区域的全部面积的比值来表示。例如,上述第一预设扫描程度可以为60%,此时以第一子区域为例,第一子区域的最佳扫描点是在对第一子区域进行扫描时,第一子区域的扫描面积与第一子区域的全部面积的比值大于或者等于60%。

130、根据当前扫描点和至少一个待扫描子区域中的每个子区域的最佳扫描点,确定目标扫描路径。

上述至少一个待扫描子区域可以是目标房间中的全部待扫描子区域(或者称为未扫描子区域)。

可选地,根据当前扫描点和至少一个待扫描子区域中的每个子区域的最佳扫描点,确定目标扫描路径,包括:确定起点为当前扫描点,并且经过目标房间的至少一个待扫描子区域的路径为目标扫描路径。

通过规划一条从当前扫描点出发,并经过目标房间的至少一个待扫描子区域的路径能够实现对待扫描区域的扫描。

可选地,上述目标路径既可以是从当前扫描点出发到上述至少一个待扫描子区域中的某个子区域的扫描路径,也可以是从当前扫描点出发并且经过上述至少一个待扫描子区域中的全部子区域的最佳扫描点的扫描路径。

下面对分别对这两种情况下确定目标扫描路径的具体过程进行详细的介绍。

第一种情况:目标扫描路径的起点为当前扫描点,终点为至少一个待扫描子区域中的某个子区域的最佳扫描点。

在第一种情况下,可以规划一条从当前扫描点到至少一个待扫描区域中的面积最大的子区域的最佳扫描点的路径作为目标扫描路径,具体过程如下:

(1)将至少一个待扫描子区域中面积最大的子区域确定为目标子区域;

(2)根据当前扫描点和目标子区域的最佳扫描点确定目标扫描路径,其中,目标扫描路径的起点为当前扫描点,终点为目标子区域的最佳扫描点的路径。

本申请中,在扫描过程中通过优先扫描面积较大的子区域,能够在扫描过程中尽可能的扫描较大的面积,能够在一定程度上提高扫描的效率。

进一步地,为了在扫描的过程中尽可能的减少路径的长度,可以选择最短的可用路径作为目标扫描路径,具体过程如下:

(3)将起点为所述当前扫描点,终点为所述目标子区域的最佳扫描点的多条扫描路径中路径最短的扫描路径确定为所述目标扫描路径。

本申请中,通过将最短的扫描路径作为目标扫描路径,能够在扫描的过程中减少移动的距离,在一定程度上可以减少扫描时间,提高扫描效率。

可选地,上述多条扫描路径中的最短的扫描路径的长度可以是从当前扫描点到目标子区域的最佳扫描点的直线距离。

或者,当前扫描点与目标子区域的最佳扫描点之间存在的障碍物,导致沿着当前扫描点到目标子区域的最佳扫描点之间不存在直线路径。那么,上述目标扫描路径就是从当前扫描点出发,绕过障碍物并且到达目标子区域的最佳扫描点的最短的路径。

在第一种情况下,除了考虑路径的距离来确定目标扫描路径之外,还可以综合考虑起点为当前扫描点,终点为目标子区域的最佳扫描点的路径经过至少一个待扫描子区域的最佳扫描点时的扫描面积来综合确定,具体过程如下:

(4)在起点为当前扫描点,终点为目标子区域的最佳扫描点的多条扫描路径中根据多条扫描路径中的每条扫描路径的长度,以及沿每条扫描路径进行扫描时经过其它待扫描子区域的最佳扫描点时的扫描面积,确定每条扫描路径的路径代价;

(5)将多条路径中路径代价最小的路径确定为目标扫描路径。

其中,上述其它待扫描子区域是指上述至少一个待扫描子区域中除了目标子区域之外的子区域。

在确定目标扫描路径时,具体可以采用支持负权边贝尔曼-福特(Bellman-Ford,BF)算法或整数规划、其他贪婪算法例如遗传算法(GA)从多种路径中选择出路径代价最小的路径。

本申请中,通过综合每个路径的路径长度,以及沿该路径进行扫描时能够扫描到的其它待扫描子区域的面积,能够从多个路径中选择出更合理的路径作为目标扫描路径,提高扫描效率。

上述每条路径的路径代价可以根据公式(1)确定。

C=α·d-β·S (1)

其中,C表示路径的路径代价,d的数值与路径长度成正比,S的数值与经过其它待扫描子区域的最佳扫描点时能够扫描到的其它待扫描子区域的面积成正比,α和β为权重系数(α为d的权重系数,β为S的权重系数)。

第二种情况:目标扫描路径的起点为当前扫描点,且目标扫描路径经过至少一个待扫描子区域中的全部子区域,

在第二种情况下,起点为当前扫描点,并且经过至少一个待扫描子区域的全部子区域的路径有多种,可以直接从该多条路径中选择一条路径作为目标扫描路径,具体过程如下:

(6)根据当前扫描点和至少一个待扫描子区域中的每个子区域的最佳扫描点,确定目标扫描路径。

具体地,上述过程(6)中确定的目标扫描路径的起点为当前扫描点,终点为至少一个待扫描子区域中的一个子区域的最佳扫描点的路径,并且该目标扫描路径经过至少一个待扫描子区域中的每个子区域的最佳扫描点。

进一步地,在第二种情况下,还可以从多条可选的路径中选择路径最短的路径作为目标扫描路径,具体过程如下:

(7)将多条扫描路径中路径最短的扫描路径确定为目标扫描路径,其中,多条路径中的每条扫描路径是起点为当前扫描点,经过至少一个待扫描子区域中的每个子区域的最佳扫描点且终点为至少一个待扫描子区域中的一个子区域的最佳扫描点的路径。

本申请中,通过将最短的扫描路径作为目标扫描路径,能够通过移动尽量较少的距离从当前扫描点出发到实现对至少一个待扫描子区域的扫描,在一定程度上可以减少扫描时间,提高扫描效率。

140、从当前扫描点出发,根据目标扫描路径,对目标房间的至少一个待扫描子区域进行扫描;

应理解,步骤140是从当前扫描点出发,沿着目标扫描路径进行移动,对目标房间的至少一个待扫描子区域进行扫描。

150、确定目标房间的全部子区域是否完成扫描。

目标房间的全部子区域(所有的子区域)被扫描完相当于目标房间被扫描完,目标房间是否被扫描完可以根据目标房间的扫描程度来进行判断。

具体地,当对目标房间的扫描达到第二预设扫描程度时,可以认为目标房间的子区域完成了扫描。例如,当目标房间的已扫描面积占目标房间的总面积的比例达到95%及以上时,可以认为完成了目标房间的扫描。

160、根据扫描获得的目标房间的3D点云,建立目标房间的3D地图。

应理解,在扫描过程中获得的目标房间的3D点云具体包括目标房间中已经扫描到的扫描点,以及这些扫描点的3D坐标信息,点的类别属性信息(语义信息、颜色纹理信息等)。目标房间的3D地图可以是占据栅格地图表示,也可以是采用八叉树(octree)表示的3D网格图,也可以是具有语义信息的语义地图等。

本申请中,在路径规划时只关注未扫描的区域,这样规划出来的扫描路径更具有针对性,能够提高对对房间进行扫描时的整体扫描效率,可以最终构建的3D地图的效果。

可选地,作为一个实施例,确定至少一个待扫描子区域中的每个子区域的最佳扫描点,包括:确定每个子区域所属的三维空间对应的几何体的几何重心;确定经过几何重心和几何体的上表面边缘的边缘最低点且与每个子区域的底面垂直的参考平面;在参考平面上确定目标线段,其中,目标线段的起点为几何重心,目标线段的长度为预设长度,目标线段与每个子区域的底面的夹角为预设夹角;将所述目标线段的终点所在的位置确定为所述每个子区域的最佳扫描点的位置;将所述目标线段的终点指向所述目标线段的起点的方向确定为所述最佳扫描点的扫描姿态。

应理解,每个子区域所属的三维空间对应的几何体可以是每个子区域所处的三维空间所构成的几何体,或者,该几何体是每个子区域中的物体所占据的三维空间构成的几何体,该几何体可以是规则的,也可以是不规则的。

如图2所示,待扫描子区域对应的几何体为一个不规则的柱体,柱体的重心A以及柱体上表面边缘的最低点B沿柱体的高度方向形成了一个参考平面,该参考平面与柱体的底面垂直,那么,可以在该参考平面上从A点引出一条长度为预设长度(根据无人机中的传感器的最佳观测距离,可以设置为2米或者其他值),与柱体的高度方向成一定夹角(例如,30度)的线段,该线段的终点所在的位置就为该待扫描子区域的最佳扫描点的位置,该线段的反方向与柱体高度方向所成的夹角就是该待扫描子区域的最佳扫描点的扫描姿态(扫描角度)。

应理解,在对至少一个待扫描子区域进行扫描之前,还可以先确定目标图像中的待扫描区域,确定目标图像中的待扫描区域的具体过程如下:

(8)获取目标房间的边界信息;

(9)根据边界信息构建目标房间的包围盒;

(10)根据包围盒构建目标房间的初始网格图,其中,初始网格图为目标房间的俯视图、仰视图、左视图、右视图、前视图以及后视图中的至少一种;

(11)将边界信息投影到初始网格图,得到目标网格图;

(12)将目标网格图中3D点云投影区域之外的区域确定为待扫描区域,待扫描区域包括至少一个待扫描子区域。

上述边界信息可以是初始扫描时获得的目标房间的大致的长宽高等信息。例如,当本申请的方法由无人机执行时,上述边界信息可以是无人机初始升空后对目标房间周围进行大致的扫描得到的。

另外,初始网格图中的每个网格的初始值为无效值,表示该初始网格图中的区域未被扫描。

具体地,无人机起飞后可以采用摄像头或者其它探测器对室内进行大致的探测,以获取室内的大致空间,然后根据室内的空间构造室内包围盒。

另外,无人机飞行的高度可以是根据房间高度按照一定的比例的方式进行设置,也可以按照与房间顶部保留一定的安全距离的方式来设置。

如图3所示,上述包围盒可以是一个立方体,该立方体的长宽高可以分别对应室内的长宽高,用于表示室内空间的大小。

在根据包围盒构建当前房间的初始网格图(或者称为栅格图)时,可以根据包围盒来构造房间的俯视网格图、仰视网格图、左视网格图、右视网格图、前视网格图以及后视网格图,并选择其中的一种网格图作为初始网格图。或者还可以只构建一种视图的网格图,并将该视图的网格图确定为初始网格图。

应理解,根据室内包围盒构造的俯视网格图和仰视网格图的长和宽与房间包围盒的长和宽分别相同,而左视网格图、右视网格图、前视网格图以及后视网格图的长和宽则是与室内包围盒的长和高或者宽和高是相对应的。

例如,根据包围盒构造的俯视网格图如图4所示,图4所示的俯视网格图可以直接作为初始网格图。应理解,图4所示的俯视网格图的长和宽与图3所示包围盒的长和宽分别相同。另外,在图4所示的俯视网格图中还包含很多网格,这些网格可以方便地确定扫描区域和待扫描区域。

应理解,可以按照0.1*0.1m的大小(也可以按照其它尺寸进行划分)将俯视图划分为网格图,从而得到图4所示的俯视网格图,使用这些网格来记录该网格区域是否被扫描过,从而确定扫描区域和待扫描区域。

此外,在确定初始网格图时,还可以将得到的某个视角的网格图的边界进行扩展,将扩展后的网格图确定为初始网格图。例如,对图4所示的俯视网格图进行扩展,可以得到图5所示的扩展边界后的俯视网格图,图5所示的俯视网格图中的边界上的网格用来表示室内周围的墙,其中,边界上的部分网格的取值为墙的高度h0,而边界上的其它网格由于遮挡或者超出了无人机的传感器的探测距离,这些网格中不存在取值。

当初始网格图是图5所示的俯视网格图时,可以将当前获取到的3D点云信息投影(投射)到图5所示的俯视网格图中,得到图6所示的网格图。在图6中,符号“+”所在的区域表示3D点云投影的区域,符号“-”所在单位区域表示没有投影到3D点云的区域,因此,图6右侧区域就是待扫描区域,其中,h所在的格子表示待扫描区域和扫描区域的交界处,h的取值表示该交界处的高度值。应理解,图6所示的待扫描区域和扫描区域的交界处的高度值可以有一定的差异,图中的h仅仅是表示交界处的高度的一个符号,不表示实际的高度。图6所示的待扫描区域是一个完整的区域,此时,待扫描区域实质上由一个子区域组成。

如图7所示,待扫描区域包括两个独立的区域,此时,待扫描区域实质上有两个子区域(待扫描子区域1和待扫描子区域2)组成。

另外,在对室内进行扫描的过程中,由于物体的遮挡,有可能会在扫描的过程中产生遮挡区域,也就是说待扫描区域可能会存在遮挡区域,下面对遮挡区域的相关的内容进行介绍。

例如,如图8所示,由于当前房间内钢琴的遮挡,在对钢琴进行扫描时可能会获取两个边界线,边界线1和边界线2,这两个边界线在图像内部的是连续的,但是在3D坐标系是非连续的,边界线1和边界线2在3D坐标系中的位置构成了视觉遮挡区域。应理解,由于遮挡形成的遮挡区域也包含在待扫描子区域的范围内,本申请在根据待扫描区域规划路径时实际上已经考虑到了遮挡区域了。

应理解,在完成了对目标房间的扫描之后,还可以通过目标房间的出口进入其它房间对其它未扫描的房间进行扫描,从而实现在多个房间中的连续扫描,下面结合图9对这部分内容进行详细说明。

图9是对多个房间进行扫描的示意性流程图。图9所示的过程可以由无人机或者其它具有自动飞行和扫描功能的设备执行。图9所示的过程具体包括步骤2001至步骤2006,下面对步骤2001至步骤2006进行详细的介绍。

2001、开始;

当存在多个房间需要扫描时,可以从任意一个房间开始扫描。

2002、对当前房间进行扫描,并根据当前房间的扫描信息确定当前房间的出口信息。

应理解,这里的当前房间相当于图1所示的方法中的目标房间,对当前房间进行扫描的详细过程可以参见上文中图1所示的方法,详细过程不再重复。

具体地,可以在对当前房间的扫描过程中获取的扫描信息来确定当前房间的出口信息(边扫描边确定当前房间的出口信息),也可以在完成对当前房间的扫描后再确定当前房间的出口信息。

上述出口信息可以包括当前房间的出口(门、楼梯口等)的大小,以及出口在当前房间中的位置等等。

在确定当前房间的出口信息时,可以先获取当前房间的图像和扫描获得的3D点云,然后再根据当前房间的图像和3D点云,确定当前房间的出口信息。

在获取到了当前房间的图像之后,可以对当前房间的图像进行目标检测(可以将获得的图像通过神经网络或其他目标检测算法进行目标检测),获取当前房间的出口,在识别出来当前房间的出口之后再结合扫描获得的3D点云就可以得到出口的3D位置信息了。

具体地,室内的出口一般可以包括门、窗户、楼梯等,在进行出口识别时,可以采集一些有标注了门、楼梯位置的图片,对神经网络进行训练,训练出来后,使用这个网络模型,输入带有门或楼梯的照片,神经网络就能输出门、楼梯口在图像中的哪个位置。应理解,利用神经网络识别出的出口的位置是一个2D位置,为了获取当前房间的出口的真正位置,需要再结合当前房间的3D点云信息,并基于2D位置对点云进行分割,然后将分割后属于门的点云数据通过神经网络(例如,Frustum-Pointnet网络)算法估计出门的3D信息。

2003、确定当前房间是否扫描完毕;

如果当前房间没有扫描完毕,那么返回上一个步骤,继续执行步骤2002;如果当前房间已经扫描完毕,那么就执行步骤2004。

如果当前房间的扫描程度达到第二预设扫描程度(例如,扫描程度达到90%或者以上时)可以认为对当前房间的扫描结束;如果当前房间的扫描程度没有达到第二预设扫描程度(小于90%,也就是还有超过10%的区域没有扫描)可以认为对当前房间的扫描没有结束。

上述第二预设扫描程度可以根据实际情况来设置,例如,可以设置成90%、95%等等。

具体的,第二预设扫描程度可以是扫描的完成度,比如完成扫描的空间占全部空间的比例,也可以是扫描的精细度,即扫描中包含被扫描空间细节的丰富程度等,不做限定。

2004、确定已经扫描过的房间是否存在未经过的出口;

如果已经扫描过的房间存在未经过的出口,那么就执行步骤2005;如果当前房间不存在未经过的出口,那么就执行步骤2006。

应理解,在扫描过程中,可以记录每个房间的出口的状态,每个出口的初始状态均为未经过,如果经过了某个出口就记录该出口的状态为已经过。

在步骤2004中,还可以先判断当前房间是否存在未经过的出口。如果当前房间存在未经过的出口,那么就通过当前房间的未经过的出口进入其它未扫描房间进行扫描;如果当前房间不存在未经过的出口,那么就退回到当前房间的上一个房间。在退回到上一个房间之后判断上一个房间是否存在未经过的出口,如果存在未经过的出口的话就从上一个房间的未经过的出口进入其它未扫描的房间进行扫描,否则继续退回上一个房间,直到退回到初始扫描的房间,如果初始扫描的房间存在未经过的出口,那么就通过该未经过的出口继续对其它为扫描的房间进行扫描;如果初始扫描的房间不存在未经过的出口,那么就结束扫描。

2005、通过未经过的出口进入其它未扫描的房间,对其它未扫描的房间进行扫描。

执行完步骤2005之后,重新执行步骤2002,直到将所有未扫描的房间扫描完毕。

在对其它未扫描的房间进行扫描时的扫描过程与图1所示的方法中对目标房间的扫描过程相同,这里不再重复描述。

2006、结束。

在扫描结束后,可以根据获取的各个房间3D点云来构建各个房间的3D地图。

上文结合图1至图9对本申请实施例的建立室内3D地图的方法进行了详细的介绍,下面结合图10和图11对本申请实施例的无人机进行介绍,应理解,图10和图11所示的无人机能够执行本申请实施例的建立室内3D地图的方法的各个步骤,具体地,图10和图11所示的无人机能够执行图1和图9中的各个步骤,为了避免不必要的重复下面在介绍本申请实施例的无人机时适当省略重复的描述。

图10是本申请实施例的无人机的示意性框图。图10所示的无人机3000包括:

待扫描子区域确定模块3001,用于确定目标房间的至少一个待扫描子区域;

待扫描子区域确定模块3001还用于确定所述至少一个待扫描子区域中的每个子区域的最佳扫描点,其中,在所述每个子区域的最佳扫描点对所述每个子区域进行扫描时,所述每个子区域的扫描程度达到第一预设扫描程度;

路径规划模块3002,用于根据所述当前扫描点和所述至少一个待扫描子区域中的每个子区域的最佳扫描点,确定目标扫描路径;

运动和扫描模块3003,用于从所述当前扫描点出发,根据所述目标扫描路径,对所述目标房间的至少一个待扫描子区域进行扫描;

建图模块3004,用于当所述目标房间的所有子区域完成所述扫描时,根据通过所述扫描获得的所述目标房间的3D点云,建立所述目标房间的3D地图。

本申请中,在路径规划时只关注未扫描的区域,这样规划出来的扫描路径更具有针对性,能够提高对对房间进行扫描时的整体扫描效率,可以最终构建的3D地图的效果。

图11是本申请实施例的无人机的示意性框图。

图11所示的无人机4000包括:探测单元4001,飞行单元4002以及控制和处理单元4003。

其中,控制和处理单元4003相当于上文中的待扫描子区域确定模块3001、路径规划模块3002以及建图模块3004;探测单元4001相当于运动和扫描模块3003中的扫描模块,飞行单元4002相当于运动和扫描模块3003中的运动模块;无人机4000中的各个模块也可以实现无人机3000中的各个模块的功能。

应理解,上述控制和处理单元4003可以对应于无人机内部的处理器,无人机内部的处理器具体可以是中央处理器单元(central processing unit,CPU)或者是人工智能芯片。

探测单元4001可以对应于无人机的相机以及其它的探测器等。飞行单元4002可以对应于无人机的电机、螺旋桨等用于驱动无人机飞行的部件。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,装置中单元或模块的划分,仅仅为一种逻辑功能划分,实际实现时还可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

另外,本申请装置中的各个单元或者模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

本申请中的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种室内导航交互装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!