CN110278714B - 障碍物检测方法、移动平台及计算机可读存储介质 - Google Patents
障碍物检测方法、移动平台及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110278714B CN110278714B CN201880011004.6A CN201880011004A CN110278714B CN 110278714 B CN110278714 B CN 110278714B CN 201880011004 A CN201880011004 A CN 201880011004A CN 110278714 B CN110278714 B CN 110278714B
- Authority
- CN
- China
- Prior art keywords
- grid
- obstacle
- type
- mobile platform
- distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims description 52
- 238000010276 construction Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 6
- 230000004888 barrier function Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U20/00—Constructional aspects of UAVs
- B64U20/80—Arrangement of on-board electronics, e.g. avionics systems or wiring
- B64U20/87—Mounting of imaging devices, e.g. mounting of gimbals
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U60/00—Undercarriages
- B64U60/50—Undercarriages with landing legs
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
- G01S17/894—3D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U10/00—Type of UAV
- B64U10/10—Rotorcrafts
- B64U10/13—Flying platforms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2101/00—UAVs specially adapted for particular uses or applications
- B64U2101/30—UAVs specially adapted for particular uses or applications for imaging, photography or videography
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2201/00—UAVs characterised by their flight controls
- B64U2201/10—UAVs characterised by their flight controls autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Mechanical Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multimedia (AREA)
- Traffic Control Systems (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
一种障碍物检测方法、移动平台及计算机可读存储介质,包括:获取具有障碍物指示信息的第一类栅格;确定所述第一类栅格在第一深度图像中对应的投影位置;获取移动平台与所述投影位置的第一距离、移动平台与障碍物的第二距离;所述障碍物是基于第一深度图像检测到的障碍物;根据第一距离和第二距离更新所述第一类栅格的障碍物指示信息。应用本发明实施例,可以解决建图耗时的问题,降低建图耗时,并可以提高用户的使用体验。
Description
技术领域
本发明涉及电子信息技术领域,尤其是涉及一种障碍物检测方法、移动平台及计算机可读存储介质。
背景技术
诸如无人飞行器(UAV,简称无人机)等无人载具已经被开发用于各种领域,包括消费者应用和行业应用。例如,可以操纵无人机用于娱乐、摄影/摄像、监视、递送或其他应用,无人机已经拓展了个人生活的方方面面。
随着无人机的使用变得愈加普遍,无人机的功能也越来越多,而建图(mapping)功能就是无人机的典型应用。建图的作用是:为无人机导航输出周围障碍物地图,无人机根据地图进行路径规划,躲避障碍物,达到目的点。
但是,当前的建图方法通常比较耗时,用户的使用体验较差。
发明内容
本发明提供一种障碍物检测方法、移动平台及计算机可读存储介质,可以解决建图耗时的问题,降低建图耗时,并可以提高用户的使用体验。
本发明实施例第一方面,提供一种障碍物检测方法,所述方法包括:
获取具有障碍物指示信息的第一类栅格;
确定所述第一类栅格在第一深度图像中对应的投影位置;
获取移动平台与所述投影位置的第一距离、所述移动平台与障碍物的第二距离;其中,所述障碍物是基于所述第一深度图像检测到的障碍物;
根据所述第一距离和第二距离更新所述第一类栅格的障碍物指示信息。
本发明实施例第二方面,提供一种移动平台,包括:存储器和处理器;
所述存储器,用于存储程序代码;
所述处理器,用于调用所述程序代码,当程序代码被执行时,用于执行以下操作:获取具有障碍物指示信息的第一类栅格;
确定所述第一类栅格在第一深度图像中对应的投影位置;
获取移动平台与所述投影位置的第一距离、所述移动平台与障碍物的第二距离;其中,所述障碍物是基于所述第一深度图像检测到的障碍物;
根据所述第一距离和第二距离更新所述第一类栅格的障碍物指示信息。
本发明实施例第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机指令,在所述计算机指令被执行时,实现上述障碍物检测方法,即本发明实施例第一方面提出的障碍物检测方法。
基于上述技术方案,本发明实施例中,提出一种高效的建图方法,可以解决建图耗时的问题,降低建图耗时,并提高用户的使用体验。
附图说明
为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本发明实施例的这些附图获得其它的附图。
图1是无人机的一个结构示意图;
图2是一个障碍物检测方法的流程示意图;
图3A-图3C是导航坐标系下的三维空间的栅格在某水平面的俯视图;
图4是另一个障碍物检测方法的流程示意图;
图5A-图5B是导航坐标系下的三维空间的栅格在某水平面的俯视图;
图6是移动平台的一个结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。应当理解,本文中使用的术语“和/或”是指包含一个或者多个相关联的列出项目的任何或所有可能的组合。
尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或者“当……时”,或者“响应于确定”。
本发明实施例中提出一种障碍物检测方法,该方法可以应用于移动平台,该移动平台可以包括以下至少一种:机器人、无人机、无人车。
其中,该障碍物检测方法用于实现同步定位与地图构建,具体的,希望移动平台从未知环境的未知地点出发,在运动过程中,通过重复观测到的地图特征(例如,墙角、柱子等)定位自身的位置和姿态,再根据自身的位置和姿态增量式的构建地图,从而可以达到同时定位和地图构建的目的。
为了方便描述,以移动平台是无人机为例,无人机安装有双目相机或者TOF(Timeof Flight,飞行时间)相机,无人机可以通过双目相机或者TOF相机获取深度图像,并根据深度图像进行障碍物检测。当移动平台是机器人、无人车时,其处理过程与无人机的处理过程类似,在此不再赘述。
参见图1所示,为无人机的一个结构示意图。10表示无人机的机头,11表示无人机的螺旋桨,12表示无人机的机身,13表示无人机的脚架,14表示无人机上的云台,15表示云台14搭载的拍摄设备,拍摄设备15通过云台14与无人机的机身12连接,16表示拍摄设备的拍摄镜头,17表示目标物体。
云台14可以是三轴云台,即云台14以云台的Roll轴、Pitch轴、Yaw轴为轴线转动。如图1所示,1表示云台的Roll轴,2表示云台的Pitch轴,3表示云台的Yaw轴。当云台以Roll轴为轴线转动时,云台的横滚角发生变化;当云台以Pitch轴为轴线转动时,云台的俯仰角发生变化;当云台以Yaw轴为轴线转动时,云台的偏航角发生变化。而且,当云台以Yaw轴、Pitch轴、Yaw轴中的一个或者多个为轴线转动时,拍摄设备15跟随云台14的转动而转动,使得拍摄设备15可以从不同的拍摄方向和拍摄角度对目标物体17进行拍摄。
与云台14类似的是,无人机的机身12也可以以机身的Roll轴、Pitch轴、Yaw轴为轴线转动。当无人机的机身以Roll轴为轴线转动时,则机身的横滚角发生变化;当无人机的机身以Pitch轴为轴线转动时,则机身的俯仰角发生变化;当无人机的机身以Yaw轴为轴线转动时,则机身的偏航角发生变化。
上述过程简单介绍了无人机的结构,为了发现无人机周围的障碍物,则无人机可以通过双目相机或者TOF相机获取深度图像,并根据深度图像发现目标物体17是无人机周围的障碍物。显然,由于无人机可以发现目标物体17是障碍物,因此,在无人机与目标物体17之间的区域,就不存在障碍物。
基于上述应用场景,参见图2所示,为本发明实施例中提出的障碍物检测方法的流程图,该方法可以应用于移动平台,该方法可以包括以下步骤:
步骤201,将第一时刻的导航坐标系下的三维空间划分为多个栅格。
其中,可以将导航坐标系(无人机起飞点为原点,朝北方向为X轴正方向,朝东方向为Y轴正方向,当然,还可以采用其它的方向构建导航坐标系,对此不做限制)下的三维空间划分为多个栅格,对此划分方式不做限制。每个栅格在导航坐标系下具有本栅格的唯一位置,栅格的大小可以改变。其中,所有栅格的大小可以相同,或者,不同栅格的大小可以不同,例如,距离无人机当前位置较近的栅格比较小,距离无人机当前位置较远的栅格比较大。
在一个例子中,可以用栅格的分辨率表示栅格的大小,栅格的分辨率是指单位空间内的栅格数量。具体的,距离无人机当前位置越近的栅格,栅格越小,栅格的分辨率越大,单位空间内的栅格数量越多。距离无人机当前位置越远的栅格,栅格越大,栅格的分辨率越小,单位空间内的栅格数量越少。
参见图3A所示,为第一时刻的导航坐标系下的三维空间划分的栅格在一个水平面上的俯视图,第一时刻包括栅格311-栅格31B,栅格321-栅格32B,以此类推,栅格3B1-栅格3BB。以移动平台位于栅格366为例进行说明。
在一个例子中,在将导航坐标系下的三维空间划分为多个栅格时,所有栅格的分辨率可以相同,或者,还可以根据每个栅格与移动平台之间的距离,为每个栅格设置对应的分辨率。进一步的,在为每个栅格设置对应的分辨率时,则当栅格与移动平台之间的距离越小时,该栅格对应的分辨率可以越大;当栅格与移动平台之间的距离越大时,该栅格对应的分辨率可以越小。
例如,参见图3B所示,圆1包括的各栅格的分辨率为分辨率A,圆2包括且圆1不包括的各栅格的分辨率为分辨率B,圆2不包括的各栅格的分辨率为分辨率C,而且,分辨率A大于分辨率B,分辨率B大于分辨率C。
其中,根据每个栅格与移动平台之间的距离,为每个栅格设置对应的分辨率,可以包括:方式一、若栅格与移动平台之间的距离小于第三阈值,则可以为栅格设置第一分辨率;若栅格与移动平台之间的距离大于或等于第三阈值,则可以为栅格设置第二分辨率;其中,该第一分辨率大于该第二分辨率。方式二、若栅格与移动平台之间的距离小于第四阈值,则可以为栅格设置第三分辨率;若栅格与移动平台之间的距离大于第五阈值,则可以为栅格设置第四分辨率;若栅格与移动平台之间的距离大于或等于第四阈值,且小于或等于第五阈值,则可以为栅格设置第五分辨率;其中,该第四阈值小于第五阈值,该第三分辨率大于第五分辨率,该第五分辨率大于第四分辨率。
针对方式一,可以根据经验设置第三阈值,对此设置方式不做限制,例如,在图3B中,第三阈值可以为3个栅格的长度。
针对方式二,可以根据经验设置第四阈值和第五阈值,对此设置方式不做限制,只要第四阈值小于第五阈值即可,例如,在图3B中,第四阈值为1个栅格的长度,第五阈值为3个栅格的长度。
综上所述,在采用上述方式为每个栅格设置分辨率时,可以对建图范围和地图更新速度进行解耦,即建图范围增加时,对地图的更新速度影响很小,地图的精度可以动态调整,也就是说,与移动平台距离近的地方地图精度高,可以使移动平台做更精细的路径规划,而与移动平台距离远的地方地图精度低,可以加快地图的更新速度,从而兼顾建图范围广、精度高的要求。
步骤202,从多个栅格中确定存在障碍物的第一类栅格。
参见图3C所示,假设栅格36B中存在一个障碍物,则移动平台可以从多个栅格中确定存在障碍物的栅格36B,该栅格36B也就是第一类栅格。
其中,从多个栅格中确定存在障碍物的第一类栅格,可以包括:获取第一时刻的第二深度图像(为了区分方便,将第一时刻的深度图像称为第二深度图像),并将第二深度图像转换成第一3D点云;确定第一3D点云中的每个特征点对应的栅格,并根据每个栅格的特征点信息确定存在障碍物的第一类栅格。当然,上述确定存在障碍物的第一类栅格的方式,只是一种方式,还可以采用其它方式确定存在障碍物的第一类栅格,对此实现方式不做限制。
其中,移动平台可以通过双目相机或者TOF相机获取第一时刻的第二深度图像(也被称为距离图像),对此获取方式不做限制。第二深度图像是指将从移动平台到场景中各点的距离(深度)作为像素值的图像,其直接反映了景物可见表面的几何形状,深度图像经过坐标转换可以计算为点云数据。
其中,移动平台在得到第二深度图像后,可以将第二深度图像转换成第一3D点云(将第二深度图像对应的点云称为第一3D点云),对此转换过程不做限制。然后,可以确定第一3D点云中的每个特征点对应的栅格,参见图3C所示,由于栅格36B中存在障碍物,第一3D点云中的每个特征点是该障碍物对应的特征点,因此,第一3D点云中的特征点对应的栅格是栅格36B。
其中,由于栅格36B存在第一3D点云中的多个特征点,而栅格36B之外的其它栅格不存在第一3D点云中的特征点,因此,根据每个栅格的特征点信息(如栅格中的特征点数量),确定存在障碍物的第一类栅格是栅格36B。
步骤203,在第一内存块中记录第一类栅格、第一类栅格的障碍物指示信息的对应关系。其中,为了区分方便,可以将用于记录第一类栅格、第一类栅格的障碍物指示信息的对应关系的内存块(如cell),称为第一内存块。
其中,在确定出存在障碍物的第一类栅格后,可以从buffer中选取一个空闲的内存块,并在该内存块记录该第一类栅格、该第一类栅格的障碍物指示信息的对应关系。
例如buffer中包括内存块1-内存块10,在确定出存在障碍物的栅格36B后,可以选取空闲的内存块1,并在内存块1记录栅格36B、栅格36B的障碍物指示信息的对应关系。在确定出存在障碍物的栅格371后,可以选取空闲的内存块2(内存块1已经有内容,不再是空闲的内存块),并在内存块2记录栅格371、栅格371的障碍物指示信息的对应关系。
其中,第一类栅格的障碍物指示信息可以为预设标识,如标识1,所述标识1表示第一类栅格存在障碍物。第一类栅格的障碍物指示信息还可以为障碍物存在概率,如90%,所述90%表示第一类栅格存在障碍物的概率是90%。
在上述过程中,已经介绍可以“根据每个栅格的特征点信息(如栅格中的特征点数量),确定存在障碍物的第一类栅格”,因此,若障碍物指示信息为预设标识,则可以在第一内存块中记录第一类栅格、预设标识的对应关系;若障碍物指示信息为障碍物存在概率,还可以根据第一类栅格中的特征点数量,确定障碍物存在概率,如特征点数量越多时,则障碍物存在概率越大,然后,在第一内存块中记录第一类栅格、障碍物存在概率的对应关系。
在一个例子中,在第一内存块中记录第一类栅格、第一类栅格的障碍物指示信息的对应关系时,还将第一内存块划分为多个内存单元(如block),每个内存单元可以对应第一类栅格的一个区域。每个内存块被划分成的内存单元的数量可以相同。或者,可以根据第一类栅格与移动平台之间的距离确定第一内存块被划分成的多个内存单元的数量。例如,第一类栅格与移动平台之间的距离小于某个阈值时,第一内存块包括的内存单元的数量为第一预定数量;第一类栅格与移动平台之间的距离大于该阈值时,第一内存块包括的内存单元的数量为第二预定数量。其中,第一预定数量大于第二预定数量。
例如,当第一类栅格与移动平台之间的距离小于某个阈值时,则可以将第一内存块划分为16*16*16个内存单元,这16*16*16个内存单元可以对应第一类栅格的16*16*16个区域,每个内存单元记录相应区域的障碍物指示信息。此外,当第一类栅格与移动平台之间的距离大于某个阈值时,则可以将第一内存块划分为2*2*2个内存单元,这2*2*2个内存单元可以对应第一类栅格的2*2*2个区域,每个内存单元记录相应区域的障碍物指示信息。以此类推,对此不做限制。
综上所述,在采用上述方式划分为多个内存单元时,可以对建图范围和地图更新速度进行解耦,即建图范围增加时,对地图的更新速度影响很小,地图的精度可以动态调整,也就是说,与移动平台距离近的地方地图精度高,可以使移动平台做更精细的路径规划,而与移动平台距离远的地方地图精度低,可以加快地图的更新速度,从而兼顾建图范围广、精度高的要求。
在一个例子中,还可以获取第一时刻的第一栅格存储单元(grid),第一栅格存储单元包括第一时刻的每个栅格对应的子栅格存储单元。在第一类栅格对应的子栅格存储单元中,记录该第一类栅格对应的第一内存块(用于记录该第一类栅格、该第一类栅格的障碍物指示信息的对应关系)的地址信息。
其中,可以在buffer中划分栅格存储单元(为了区分方便,可以将第一时刻的栅格存储单元称为第一栅格存储单元),该栅格存储单元与上述内存块不同,二者是不同的存储单元。进一步的,该第一栅格存储单元包括多个子栅格存储单元,子栅格存储单元的数量与第一时刻的栅格数量相同。
参见图3A所示,第一时刻一共存在121个栅格,因此,第一时刻的第一栅格存储单元可以包括121个子栅格存储单元。子栅格存储单元1用于记录栅格311的信息,子栅格存储单元2用于记录栅格312的信息,以此类推。
针对不存在障碍物的每个栅格,由于栅格311不是存在障碍物的第一类栅格,因此,子栅格存储单元1可以记录栅格311的位置信息(如位置坐标)、栅格311与移动平台的距离信息、栅格311的标识信息等内容,以此类推。
针对存在障碍物的第一类栅格,如栅格36B,子栅格存储单元66可以记录栅格36B的位置信息、栅格36B与移动平台的距离信息、栅格36B的标识信息等内容,并在子栅格存储单元66中记录内存块1(内存块1中记录有栅格36B、栅格36B的障碍物指示信息的对应关系)的地址信息。
综上所述,通过为第一时刻的每个栅格对应子栅格存储单元,这样,可以快速获取哪个栅格是存在障碍物的第一类栅格,并从内存块中获取该第一类栅格对应的障碍物指示信息。例如,通过查询第一时刻的第一栅格存储单元的121个子栅格存储单元,获知子栅格存储单元66中记录的栅格36B存在障碍物,而其它子栅格存储单元中记录的栅格均不存在障碍物,从而获取到栅格36B是存在障碍物的第一类栅格。然后,从子栅格存储单元66中获取到内存块1的地址信息,并根据内存块1的地址信息从内存块1中获取到栅格36B对应的障碍物指示信息,从而快速获取到障碍物指示信息。
进一步的,参见图4所示,为本发明实施例中提出的另一个障碍物检测方法的流程图,该方法可以应用于移动平台,该方法可以包括以下步骤:
步骤401,获取具有障碍物指示信息的第一类栅格。
其中,获取具有障碍物指示信息的第一类栅格,可以包括:从第一内存块获取具有障碍物指示信息的第一类栅格。
参见上述实施例,在第一时刻,已经在第一内存块中记录第一类栅格、第一类栅格的障碍物指示信息的对应关系。基于此,在第一时刻之后的第二时刻,可以从第一内存块获取具有障碍物指示信息的第一类栅格。
步骤402,确定第一类栅格在第一深度图像中对应的投影位置。
其中,确定第一类栅格在第一深度图像中对应的投影位置,可以包括:获取第二时刻(位于第一时刻之后)的第一深度图像,并根据该第一类栅格的位置信息确定该第一类栅格在该第一深度图像中所对应的投影位置。
其中,移动平台可以通过双目相机或者TOF相机获取第二时刻的第一深度图像(也被称为距离图像),对此获取方式不做限制。第一深度图像是指将从移动平台到场景中各点的距离(深度)作为像素值的图像,其直接反映了景物可见表面的几何形状,深度图像经过坐标转换可以计算为点云数据。
其中,由于子栅格存储单元用于记录栅格的位置信息(如位置坐标)、栅格与移动平台的距离信息、栅格的标识信息等内容,因此,移动平台可以从子栅格存储单元中获取第一类栅格的位置信息,基于所述第一类栅格的位置信息,就可以确定第一类栅格在第一深度图像中所对应的投影位置,即第一类栅格在第一深度图像中对应的位置,对此投影位置的确定方式不做限制。
步骤403,获取移动平台与该投影位置的第一距离、移动平台与障碍物的第二距离;其中,该障碍物是基于第一深度图像检测到的障碍物。
其中,由于移动平台的位置已知,且投影位置已知,因此,可以直接获取移动平台与该投影位置的第一距离,对此第一距离的获取方式不做限制。
其中,获取移动平台与障碍物的第二距离,包括:获取第二时刻的第一深度图像,将该第一深度图像转换成第二3D点云;然后,根据该第二3D点云确定第二时刻的障碍物位置,并获取移动平台与障碍物位置的第二距离。
对于获取第一深度图像的过程,已经在上述实施例介绍,在此不再赘述。在得到第一深度图像后,可以将第一深度图像转换成第二3D点云(将第一深度图像对应的点云称为第二3D点云),对此转换过程不做限制。然后,根据第二3D点云确定第二时刻的障碍物位置,例如,第二3D点云的特征点是障碍物对应的特征点,因此,第二3D点云中的特征点位置,也就是第二时刻的障碍物位置。由于移动平台的位置已知,且障碍物位置已知,因此,可以直接获取移动平台与该障碍物位置的第二距离,对此获取方式不做限制。
其中,还可以将第二时刻的导航坐标系下的三维空间划分为多个栅格,对此划分方式不做限制,每个栅格在导航坐标系下具有本栅格的唯一位置,栅格的大小可以改变。其中,所有栅格的大小可以相同,或者,不同栅格的大小可以不同,例如,距离无人机当前位置较近的栅格比较小,距离无人机当前位置较远的栅格比较大。确定上述障碍物位置在第二时刻对应的第二类栅格(为了区分方便,将第二时刻存在障碍物的栅格称为第二类栅格),在第二内存块中记录该第二类栅格、该第二类栅格的障碍物指示信息的对应关系。
其中,在将第二时刻的导航坐标系下的三维空间划分为多个栅格时,所有栅格的分辨率可以相同,或者,移动平台还可以根据每个栅格与移动平台之间的距离,为每个栅格设置对应的分辨率。进一步的,在为每个栅格设置对应的分辨率时,则当栅格与移动平台之间的距离越小时,该栅格对应的分辨率可以越大;当栅格与移动平台之间的距离越大时,该栅格对应的分辨率可以越小。其中,栅格的分辨率表示栅格的大小,栅格的分辨率是指单位空间内的栅格数量。具体的,距离无人机当前位置越近的栅格,栅格越小,栅格的分辨率越大,单位空间内的栅格数量越多。距离无人机当前位置越远的栅格,栅格越大,栅格的分辨率越小,单位空间内的栅格数量越少。
其中,确定障碍物位置在第二时刻对应的第二类栅格,可以包括:将第一深度图像转换成第二3D点云后,确定第二3D点云中的每个特征点在第二时刻对应的栅格,根据每个栅格的特征点信息确定存在障碍物的第二类栅格。
其中,在确定存在障碍物的第二类栅格后,可以在第二内存块中记录第二类栅格、第二类栅格的障碍物指示信息的对应关系。为了区分方便,可以将用于记录第二类栅格、第二类栅格的障碍物指示信息的对应关系的内存块,称为第二内存块。具体的,可以在buffer中划分多个内存块,在确定出存在障碍物的第二类栅格后,从buffer中选取一个空闲的内存块,并在该内存块记录第二类栅格、第二类栅格的障碍物指示信息的对应关系。
其中,第二类栅格的障碍物指示信息可以为预设标识,如标识1,所述标识1表示第二类栅格存在障碍物。第二类栅格的障碍物指示信息还可以为障碍物存在概率,如90%,所述90%表示第二类栅格存在障碍物的概率是90%。
在一个例子中,在第二内存块中记录第二类栅格、第二类栅格的障碍物指示信息的对应关系时,还可以将第二内存块划分为多个内存单元(如block),每个内存单元可以对应第二类栅格的一个区域。每个内存块被划分成的内存单元的数量可以相同。或者,可以根据第二类栅格与移动平台之间的距离确定第二内存块被划分成的多个内存单元的数量。例如,第二类栅格与移动平台之间的距离小于某个阈值时,第二内存块包括的内存单元的数量为第三预定数量;第二类栅格与移动平台之间的距离大于该阈值时,第二内存块包括的内存单元的数量为第四预定数量。其中,第三预定数量大于第四预定数量。
步骤404,根据第一距离和第二距离更新第一类栅格的障碍物指示信息。
其中,根据第一距离和第二距离更新第一类栅格的障碍物指示信息,可以包括:若第一距离与第二距离的距离差异大于第一阈值,则可以确定该第一类栅格不存在障碍物,并根据不存在障碍物的确定结果更新障碍物指示信息。若第一距离与第二距离的距离差异小于或等于第一阈值,则可以确定该第一类栅格存在障碍物,并根据存在障碍物的确定结果更新障碍物指示信息。
若障碍物指示信息为预设标识,则根据不存在障碍物的确定结果更新障碍物指示信息,可以包括:将障碍物指示信息更新为标识0,标识0表示第一类栅格不存在障碍物。根据存在障碍物的确定结果更新障碍物指示信息,可以包括:保持障碍物指示信息为标识1,标识1表示第一类栅格存在障碍物。
若障碍物指示信息为障碍物存在概率,则根据不存在障碍物的确定结果更新障碍物指示信息,可以包括:降低第一类栅格的障碍物存在概率,如将第一类栅格的障碍物存在概率降低为10%,或者,将第一类栅格的障碍物存在概率降低50%(如从90%降低为40%)等,对此不做限制。根据存在障碍物的确定结果更新障碍物指示信息,可以包括:增加第一类栅格的障碍物存在概率,如将第一类栅格的障碍物存在概率增加为95%,或者,将第一类栅格的障碍物存在概率增加10%(如从90%增加为100%)等,对此不做限制。
在降低第一类栅格的障碍物存在概率后,当降低后的障碍物存在概率小于第二阈值(如50%)时,还可以释放用于存储第一类栅格、第一类栅格的障碍物存在概率的内存块(即上述第一内存块),这样,第一内存块是空闲的内存块。此外,还可以确定第一类栅格在第一栅格存储单元中对应的子栅格存储单元,并从该子栅格存储单元中删除第一类栅格对应的第一内存块的地址信息。此外,在将障碍物指示信息更新为标识0后,也可以释放第一内存块,并从子栅格存储单元中删除第一内存块的地址信息。
在一个例子中,还可以获取第二时刻的第二栅格存储单元,该第二栅格存储单元包括第二时刻的每个栅格对应的子栅格存储单元。在第二类栅格对应的子栅格存储单元中,记录该第二类栅格对应的第二内存块(用于记录该第二类栅格、该第二类栅格的障碍物指示信息的对应关系)的地址信息。
其中,可以在buffer中划分栅格存储单元(为了区分方便,可以将第二时刻的栅格存储单元称为第二栅格存储单元),该栅格存储单元与上述内存块不同,二者是不同的存储单元。进一步的,该第二栅格存储单元包括多个子栅格存储单元,子栅格存储单元的数量与第二时刻的栅格数量相同。
在一个例子中,还可以确定第一时刻存在、且第二时刻不存在的第三类栅格,并确定第一时刻不存在、且第二时刻存在的第四类栅格;然后,可以回收该第三类栅格在第一栅格存储单元中对应的子栅格存储单元,并将回收的该子栅格存储单元分配给该第四类栅格。
例如,在第二时刻的栅格在某水平面的俯视图可以如图5A所示,移动平台从栅格366移动到栅格367,而障碍物未发生移动,仍然在栅格36B。第一时刻(如图3A所示)的第一列栅格(如栅格311、栅格321等),已经不在第二时刻,且第二时刻多了最后一列栅格(如栅格31C、栅格32C等)。综上所述,第一时刻存在、第二时刻不存在的第三类栅格可以包括第一时刻的第一列栅格(如栅格311、栅格321等),第一时刻不存在、且第二时刻存在的第四类栅格可以包括第二时刻的最后一列栅格(如栅格31C、栅格32C等),因此,回收栅格311对应子栅格存储单元1,并将子栅格存储单元1分配给栅格31C,回收栅格321对应子栅格存储单元12,并将子栅格存储单元12分配给栅格32C,以此类推。
因此,第二时刻的第二栅格存储单元可以包括121个子栅格存储单元,对于图5A的前10列栅格,其对应的子栅格存储单元与第一时刻的子栅格存储单元相同,在此不再赘述。对于图5A的最后一列栅格,子栅格存储单元1用于记录栅格31C的信息(如位置信息、栅格与移动平台的距离信息、栅格的标识信息等),子栅格存储单元12用于记录栅格32C的信息,以此类推。
综上所述,当移动平台向一个方向持续移动时,移动平台前方的地图会持续扩展(即增加新的栅格,如图5A的最后一列栅格),后方的地图会持续收缩(如减少已有的栅格,如图3A的第一列栅格),新栅格存储单元(如第二栅格存储单元)与之前的栅格存储单元(如第一栅格存储单元)相比,可以将第一栅格存储单元的第一列栅格对应的子栅格存储单元回收,在第二栅格存储单元中,将回收的子栅格存储单元重新分配给最后一列栅格,而中间部分的子栅格存储单元不需要进行任何改变,即这些子栅格存储单元对应的地图不需要进行任何改变,从而使地图以index(索引)的方式滚动起来。
通过比较图5A和图3A,对于图3A的第一列栅格,由于在第二时刻已经不存在,因此不需要重新确定这些栅格是否存在障碍物。对于图5A的最后一列栅格,在第二时刻可以确定这些栅格是否存在障碍物,具体确定方式已经在上述过程介绍,在此不再赘述。对于第一时刻存在障碍物的栅格36B,在第二时刻,可以采用步骤401-步骤404重新确定是否存在障碍物。对于图5A的第1列-第10列,针对栅格36B之外的其它栅格,在第二时刻不需要重新确定这些栅格是否存在障碍物,而是使用第一时刻的确定结果,即不存在障碍物,即,在第二栅格存储单元中,这些栅格对应的子栅格存储单元没有发生变化,在第二时刻,可以直接使用子栅格存储单元确定栅格没有障碍物。
例如,在第二时刻的栅格在某水平面的俯视图,可以如图5B所示,移动平台从栅格366移动到栅格367,且障碍物从栅格36B移动到栅格3AB,第一时刻(如图3A所示)的第一列栅格(如栅格311、栅格321等),已经不在第二时刻,且第二时刻多了最后一列栅格(如栅格31C、栅格32C等)。
通过比较图5B和图3A,对于图3A的第一列栅格,由于在第二时刻已经不存在,因此不需要重新确定这些栅格是否存在障碍物。对于图5B的最后一列栅格,在第二时刻可以确定这些栅格是否存在障碍物,具体确定方式已经在上述过程介绍,在此不再赘述。对于第一时刻存在障碍物的栅格36B,在第二时刻,可以采用步骤401-步骤404重新确定是否存在障碍物。对于第二时刻存在障碍物的栅格3AB(即上述第二类栅格),在第二时刻可以确定栅格3AB是否存在障碍物,具体确定方式已经在上述过程介绍,在此不再赘述。
对于图5B的第1列-第10列,针对栅格36B、栅格3AB之外的其它栅格,在第二时刻不需要重新确定这些栅格是否存在障碍物,而是使用第一时刻的确定结果,即这些栅格不存在障碍物。也就是说,在所述第二栅格存储单元中,这些栅格对应的子栅格存储单元没有发生变化,因此,在第二时刻,可以直接使用这些栅格对应的子栅格存储单元确定这些栅格没有障碍物。
在传统方式中,在第二时刻,需要重新确定所有栅格(如图5A或者图5B的第1列-第11列)是否存在障碍物,判断每个栅格是否存在障碍物,从而导致建图耗时较长,障碍物的更新速度较慢,效率较低。本发明实施例中,在第二时刻,绝大多数栅格(如图5B的第1列-第10列,栅格36B、栅格3AB之外的其它栅格;或者,图5A的第1列-第10列,栅格36B之外的其它栅格),不需要重新确定栅格是否存在障碍物,因此,与传统方式相比,本发明实施例中提出了一种高效的建图方法,可以解决建图耗时的问题,并降低建图的耗时,提高用户的使用体验,而且,障碍物的更新速度较快,效率较高。
在上述实施例中,参见图5A所示,栅格36B(即第一类栅格)在第一深度图像中对应的投影位置,可以为栅格36B在第一深度图像中的位置。基于第一深度图像确定的障碍物位置,可以为障碍物在第一深度图像中的位置。由于障碍物没有发生移动,即障碍物仍然在栅格36B中,因此,移动平台与该投影位置的第一距离与移动平台与障碍物的第二距离相同,也就是说,第一距离与第二距离的距离差异小于第一阈值,栅格36B仍然存在障碍物。
在上述实施例中,参见图5B所示,栅格36B(即第一类栅格)在第一深度图像中对应的投影位置,可以为栅格36B在第一深度图像中的位置。基于第一深度图像确定的障碍物位置,可以为障碍物在第一深度图像中的位置。由于障碍物已经发生移动,即障碍物已经从栅格36B移动到栅格3AB,因此,移动平台与该投影位置(栅格36B对应的位置)的第一距离与移动平台与障碍物(栅格3AB对应的位置)的第二距离不同,也就是说,第一距离与第二距离的距离差异大于第一阈值,因此,可以确定栅格36B不存在障碍物。
在上述实施例中,若第二时刻没有检测到障碍物,则可以将移动平台与障碍物的第二距离确定为预设数值,且第一距离与第二距离的距离差异大于第一阈值。其中,预设数值可以根据经验设置,如可以为很大的数值。
在一个例子中,参见图5B所示,障碍物从栅格36B移动到栅格3AB后,则栅格3AB也就是上述第二类栅格,可以在第二内存块记录栅格3AB与栅格3AB的障碍物指示信息的对应关系。而且,在栅格3AB对应的子栅格存储单元中,可以记录栅格3AB的位置信息、栅格3AB与移动平台的距离信息、栅格3AB的标识信息等内容,并在该子栅格存储单元中记录第二内存块的地址信息。栅格3AB之外的其它栅格没有障碍物,因此,子栅格存储单元记录的是栅格的位置信息、栅格与移动平台的距离信息、栅格的标识信息。
在上述实施例中,根据栅格存储单元(如上述第一栅格存储单元、第二栅格存储单元)、内存块(如上述第一内存块、第二内存块)中记录的障碍物信息,还可以构建三维地图,对此三维地图的构建过程不做限制。
在第二时刻之后的第三时刻,可以将第二时刻的数据作为第一时刻的数据,而第三时刻的处理流程参见第二时刻的处理流程,以此类推,不再赘述。
基于与上述方法同样的发明构思,参见图6所示,本发明实施例中还提供一种移动平台60,包括存储器601和处理器602(如一个或多个处理器)。
在一个例子中,所述存储器,用于存储程序代码;所述处理器,用于调用所述程序代码,当程序代码被执行时,用于执行以下操作:获取具有障碍物指示信息的第一类栅格;确定所述第一类栅格在第一深度图像中对应的投影位置;获取移动平台与所述投影位置的第一距离、所述移动平台与障碍物的第二距离;其中,所述障碍物是基于所述第一深度图像检测到的障碍物;根据所述第一距离和第二距离更新所述第一类栅格的障碍物指示信息。
优选的,所述处理器在获取具有障碍物指示信息的第一类栅格之前还用于:将第一时刻的导航坐标系下的三维空间划分为多个栅格;从所述多个栅格中确定存在障碍物的第一类栅格。
优选的,所述处理器在从所述多个栅格中确定存在障碍物的第一类栅格之后还用于:在第一内存块中记录所述第一类栅格、所述第一类栅格的障碍物指示信息的对应关系;所述处理器获取具有障碍物指示信息的第一类栅格时具体用于:从所述第一内存块获取具有障碍物指示信息的第一类栅格。
优选的,所述处理器还用于:将所述第一内存块划分为多个内存单元,每个内存单元对应所述第一类栅格的一个区域。进一步的,所述第一内存块包括的内存单元的数量是基于所述第一类栅格与所述移动平台之间的距离确定的。
优选的,所述处理器从所述多个栅格中确定存在障碍物的第一类栅格时具体用于:获取第一时刻的第二深度图像,将第二深度图像转换成第一3D点云;确定所述第一3D点云中的每个特征点对应的栅格;根据每个栅格的特征点信息确定存在障碍物的第一类栅格。
优选的,所述处理器确定所述第一类栅格在第一深度图像中对应的投影位置时具体用于:获取第二时刻的第一深度图像,并根据所述第一类栅格的位置信息确定所述第一类栅格在所述第一深度图像中所对应的投影位置。
所述处理器获取所述移动平台与障碍物的第二距离时具体用于:获取第二时刻的第一深度图像,将第一深度图像转换成第二3D点云;根据第二3D点云确定第二时刻的障碍物位置;获取移动平台与障碍物位置的第二距离。
所述处理器在根据所述第二3D点云确定第二时刻的障碍物位置之后还用于:将第二时刻的导航坐标系下的三维空间划分为多个栅格;从所述多个栅格中确定所述障碍物位置对应的第二类栅格,在第二内存块中记录所述第二类栅格、所述第二类栅格的障碍物指示信息的对应关系。
优选的,所述处理器还用于:将所述第二内存块划分为多个内存单元,每个内存单元对应所述第二类栅格的一个区域。进一步的,所述第二内存块包括的内存单元的数量是基于所述第二类栅格与所述移动平台之间的距离确定的。
所述处理器根据第一距离和第二距离更新所述第一类栅格的障碍物指示信息时具体用于:若第一距离与第二距离的距离差异大于第一阈值,确定第一类栅格不存在障碍物,根据不存在障碍物的确定结果更新障碍物指示信息。
优选的,所述障碍物指示信息包括:障碍物存在概率;
所述处理器根据不存在障碍物的确定结果更新障碍物指示信息时具体用于:降低所述第一类栅格的障碍物存在概率。
优选的,所述处理器在降低所述第一类栅格的障碍物存在概率后还用于:当降低后的障碍物存在概率小于第二阈值时,则释放用于存储所述第一类栅格、所述第一类栅格的障碍物存在概率的内存块。
所述处理器根据第一距离和第二距离更新第一类栅格的障碍物指示信息时具体用于:若第一距离与第二距离的距离差异小于或等于第一阈值,则确定第一类栅格存在障碍物,根据存在障碍物的确定结果更新障碍物指示信息。
优选的,所述障碍物指示信息包括:障碍物存在概率;
所述处理器根据存在障碍物的确定结果更新障碍物指示信息时具体用于:增加所述第一类栅格的障碍物存在概率。
所述处理器在将导航坐标系下的三维空间划分为多个栅格时具体用于:根据每个栅格与所述移动平台之间的距离,为每个栅格设置对应的分辨率。
当栅格与所述移动平台之间的距离越小时,所述栅格对应的分辨率越大。
所述处理器根据每个栅格与所述移动平台之间的距离,为每个栅格设置对应的分辨率时具体用于:若栅格与所述移动平台之间的距离小于第三阈值,为所述栅格设置第一分辨率;若栅格与所述移动平台之间的距离大于或等于第三阈值,为所述栅格设置第二分辨率;所述第一分辨率大于所述第二分辨率;或者,若栅格与所述移动平台之间的距离小于第四阈值,为所述栅格设置第三分辨率;若栅格与所述移动平台之间的距离大于第五阈值,为所述栅格设置第四分辨率;若栅格与所述移动平台之间的距离大于或等于第四阈值,且小于或等于第五阈值,为所述栅格设置第五分辨率;所述第四阈值小于第五阈值,第三分辨率大于第五分辨率,第五分辨率大于第四分辨率。
所述处理器还用于:获取第一时刻的第一栅格存储单元,第一栅格存储单元包括第一时刻的每个栅格对应的子栅格存储单元;在第一类栅格对应的子栅格存储单元中,记录所述第一类栅格对应的第一内存块的地址信息。
所述处理器还用于:获取第二时刻的第二栅格存储单元,第二栅格存储单元包括第二时刻的每个栅格对应的子栅格存储单元;在第二类栅格对应的子栅格存储单元中,记录所述第二类栅格对应的第二内存块的地址信息。
所述处理器还用于:确定第一时刻存在、第二时刻不存在的第三类栅格;确定第一时刻不存在、第二时刻存在的第四类栅格;回收所述第三类栅格在第一栅格存储单元中对应的子栅格存储单元;将回收的该子栅格存储单元分配给第四类栅格。
所述移动平台包括以下至少一种:机器人、无人机、无人车。
基于与上述方法同样的构思,本发明实施例还提供一种计算机可读存储介质上存储有计算机指令,计算机指令被执行时,实现上述障碍物检测方法。
上述实施例阐明的系统、装置、模块或单元,可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进,均应包含在本发明的权利要求范围之内。
Claims (45)
1.一种障碍物检测方法,其特征在于,应用于移动平台,所述方法包括:
将三维空间划分为多个栅格;
从所述多个栅格中确定存在障碍物的第一类栅格;
获取具有障碍物指示信息的第一类栅格;
根据所述第一类栅格的位置信息确定所述第一类栅格在第一深度图像中对应的投影位置;
获取移动平台与所述投影位置的第一距离、所述移动平台与障碍物的第二距离;其中,所述障碍物是基于所述第一深度图像检测到的障碍物;
根据所述第一距离和第二距离更新所述第一类栅格的障碍物指示信息。
2.根据权利要求1所述的方法,其特征在于,所述多个栅格是在第一时刻的导航坐标系下划分的。
3.根据权利要求2所述的方法,其特征在于,从所述多个栅格中确定存在障碍物的第一类栅格之后,所述方法还包括:在第一内存块中记录所述第一类栅格、所述第一类栅格的障碍物指示信息的对应关系;
所述获取具有障碍物指示信息的第一类栅格,包括:
从所述第一内存块获取具有障碍物指示信息的第一类栅格。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述第一内存块划分为多个内存单元,每个内存单元对应所述第一类栅格的一个区域。
5.根据权利要求4所述的方法,其特征在于,所述第一内存块包括的内存单元的数量是基于所述第一类栅格与所述移动平台之间的距离确定的。
6.根据权利要求2所述的方法,其特征在于,
从所述多个栅格中确定存在障碍物的第一类栅格,包括:
获取第一时刻的第二深度图像,将第二深度图像转换成第一3D点云;
确定所述第一3D点云中的每个特征点对应的栅格;
根据每个栅格的特征点信息确定存在障碍物的第一类栅格。
7.根据权利要求1所述的方法,其特征在于,
所述获取所述移动平台与障碍物的第二距离,包括:
获取第二时刻的第一深度图像,将第一深度图像转换成第二3D点云;
根据所述第二3D点云确定第二时刻的障碍物位置;
获取所述移动平台与所述障碍物位置的第二距离。
8.根据权利要求7所述的方法,其特征在于,
所述根据所述第二3D点云确定第二时刻的障碍物位置之后,还包括:
将第二时刻的导航坐标系下的三维空间划分为多个栅格;
从所述多个栅格中确定所述障碍物位置对应的第二类栅格,在第二内存块中记录所述第二类栅格、所述第二类栅格的障碍物指示信息的对应关系。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
将所述第二内存块划分为多个内存单元,每个内存单元对应所述第二类栅格的一个区域。
10.根据权利要求9所述的方法,其特征在于,所述第二内存块包括的内存单元的数量是基于所述第二类栅格与所述移动平台之间的距离确定的。
11.根据权利要求1所述的方法,其特征在于,所述根据所述第一距离和第二距离更新所述第一类栅格的障碍物指示信息,包括:
若第一距离与第二距离的距离差异大于第一阈值,则确定所述第一类栅格不存在障碍物,根据不存在障碍物的确定结果更新障碍物指示信息。
12.根据权利要求11所述的方法,其特征在于,
所述障碍物指示信息包括:障碍物存在概率;
所述根据不存在障碍物的确定结果更新障碍物指示信息,包括:
降低所述第一类栅格的障碍物存在概率。
13.根据权利要求12所述的方法,其特征在于,
所述降低所述第一类栅格的障碍物存在概率后,所述方法还包括:
当降低后的障碍物存在概率小于第二阈值时,则释放用于存储所述第一类栅格、所述第一类栅格的障碍物存在概率的内存块。
14.根据权利要求1所述的方法,其特征在于,所述根据所述第一距离和第二距离更新所述第一类栅格的障碍物指示信息,包括:
若第一距离与第二距离的距离差异小于或等于第一阈值,则确定所述第一类栅格存在障碍物,根据存在障碍物的确定结果更新障碍物指示信息。
15.根据权利要求14所述的方法,其特征在于,
所述障碍物指示信息包括:障碍物存在概率;
所述根据存在障碍物的确定结果更新障碍物指示信息,包括:
增加所述第一类栅格的障碍物存在概率。
16.根据权利要求2或8所述的方法,其特征在于,所述方法还包括:
在将导航坐标系下的三维空间划分为多个栅格时,则根据每个栅格与所述移动平台之间的距离,为每个栅格设置对应的分辨率。
17.根据权利要求16所述的方法,其特征在于,
当栅格与所述移动平台之间的距离越小时,所述栅格对应的分辨率越大。
18.根据权利要求16所述的方法,其特征在于,所述根据每个栅格与所述移动平台之间的距离,为每个栅格设置对应的分辨率,包括:
若栅格与所述移动平台之间的距离小于第三阈值,为所述栅格设置第一分辨率;若栅格与所述移动平台之间的距离大于或等于第三阈值,为所述栅格设置第二分辨率;其中,所述第一分辨率大于所述第二分辨率;或者,
若栅格与所述移动平台之间的距离小于第四阈值,为所述栅格设置第三分辨率;若栅格与所述移动平台之间的距离大于第五阈值,为所述栅格设置第四分辨率;若栅格与所述移动平台之间的距离大于或等于第四阈值,且小于或等于第五阈值,为所述栅格设置第五分辨率;其中,所述第四阈值小于第五阈值,第三分辨率大于第五分辨率,第五分辨率大于第四分辨率。
19.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取第一时刻的第一栅格存储单元,所述第一栅格存储单元包括第一时刻的每个栅格对应的子栅格存储单元;在所述第一类栅格对应的子栅格存储单元中,记录所述第一类栅格对应的第一内存块的地址信息。
20.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取第二时刻的第二栅格存储单元,所述第二栅格存储单元包括第二时刻的每个栅格对应的子栅格存储单元;在所述第二类栅格对应的子栅格存储单元中,记录所述第二类栅格对应的第二内存块的地址信息。
21.根据权利要求19所述的方法,其特征在于,所述方法还包括:
确定第一时刻存在、第二时刻不存在的第三类栅格;
确定第一时刻不存在、第二时刻存在的第四类栅格;
回收所述第三类栅格在第一栅格存储单元中对应的子栅格存储单元;
将回收的该子栅格存储单元分配给第四类栅格。
22.根据权利要求1所述的方法,其特征在于,
所述移动平台包括以下至少一种:机器人、无人机、无人车。
23.一种移动平台,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序代码;
所述处理器,用于调用所述程序代码,当程序代码被执行时,用于执行以下操作:将三维空间划分为多个栅格;
从所述多个栅格中确定存在障碍物的第一类栅格;
获取具有障碍物指示信息的第一类栅格;
根据所述第一类栅格的位置信息确定所述第一类栅格在第一深度图像中对应的投影位置;
获取移动平台与所述投影位置的第一距离、所述移动平台与障碍物的第二距离;其中,所述障碍物是基于所述第一深度图像检测到的障碍物;
根据所述第一距离和第二距离更新所述第一类栅格的障碍物指示信息。
24.根据权利要求23所述的移动平台,其特征在于,所述多个栅格是在第一时刻的导航坐标系下划分的。
25.根据权利要求24所述的移动平台,其特征在于,所述处理器在从所述多个栅格中确定存在障碍物的第一类栅格之后还用于:在第一内存块中记录所述第一类栅格、所述第一类栅格的障碍物指示信息的对应关系;
所述处理器获取具有障碍物指示信息的第一类栅格时具体用于:从所述第一内存块获取具有障碍物指示信息的第一类栅格。
26.根据权利要求25所述的移动平台,其特征在于,所述处理器还用于:
将所述第一内存块划分为多个内存单元,每个内存单元对应所述第一类栅格的一个区域。
27.根据权利要求26所述的移动平台,其特征在于,所述第一内存块包括的内存单元的数量是基于所述第一类栅格与所述移动平台之间的距离确定的。
28.根据权利要求24所述的移动平台,其特征在于,所述处理器从所述多个栅格中确定存在障碍物的第一类栅格时具体用于:
获取第一时刻的第二深度图像,将第二深度图像转换成第一3D点云;
确定所述第一3D点云中的每个特征点对应的栅格;
根据每个栅格的特征点信息确定存在障碍物的第一类栅格。
29.根据权利要求23所述的移动平台,其特征在于,
所述处理器获取所述移动平台与障碍物的第二距离时具体用于:
获取第二时刻的第一深度图像,将第一深度图像转换成第二3D点云;
根据所述第二3D点云确定第二时刻的障碍物位置;
获取所述移动平台与所述障碍物位置的第二距离。
30.根据权利要求29所述的移动平台,其特征在于,所述处理器在根据所述第二3D点云确定第二时刻的障碍物位置之后还用于:
将第二时刻的导航坐标系下的三维空间划分为多个栅格;
从所述多个栅格中确定所述障碍物位置对应的第二类栅格,在第二内存块中记录所述第二类栅格、所述第二类栅格的障碍物指示信息的对应关系。
31.根据权利要求30所述的移动平台,其特征在于,所述处理器还用于:
将所述第二内存块划分为多个内存单元,每个内存单元对应所述第二类栅格的一个区域。
32.根据权利要求31所述的移动平台,其特征在于,所述第二内存块包括的内存单元的数量是基于所述第二类栅格与所述移动平台之间的距离确定的。
33.根据权利要求23所述的移动平台,其特征在于,所述处理器根据所述第一距离和第二距离更新所述第一类栅格的障碍物指示信息时具体用于:
若第一距离与第二距离的距离差异大于第一阈值,则确定所述第一类栅格不存在障碍物,根据不存在障碍物的确定结果更新障碍物指示信息。
34.根据权利要求33所述的移动平台,其特征在于,
所述障碍物指示信息包括:障碍物存在概率;
所述处理器根据不存在障碍物的确定结果更新障碍物指示信息时具体用于:降低所述第一类栅格的障碍物存在概率。
35.根据权利要求34所述的移动平台,其特征在于,
所述处理器在降低所述第一类栅格的障碍物存在概率后还用于:当降低后的障碍物存在概率小于第二阈值时,则释放用于存储所述第一类栅格、所述第一类栅格的障碍物存在概率的内存块。
36.根据权利要求23所述的移动平台,其特征在于,所述处理器根据所述第一距离和第二距离更新所述第一类栅格的障碍物指示信息时具体用于:
若第一距离与第二距离的距离差异小于或等于第一阈值,则确定所述第一类栅格存在障碍物,根据存在障碍物的确定结果更新障碍物指示信息。
37.根据权利要求36所述的移动平台,其特征在于,
所述障碍物指示信息包括:障碍物存在概率;
所述处理器根据存在障碍物的确定结果更新障碍物指示信息时具体用于:增加所述第一类栅格的障碍物存在概率。
38.根据权利要求24或30所述的移动平台,其特征在于,
所述处理器在将导航坐标系下的三维空间划分为多个栅格时具体用于:根据每个栅格与所述移动平台之间的距离,为每个栅格设置对应的分辨率。
39.根据权利要求38所述的移动平台,其特征在于,
当栅格与所述移动平台之间的距离越小时,所述栅格对应的分辨率越大。
40.根据权利要求38所述的移动平台,其特征在于,所述处理器根据每个栅格与所述移动平台之间的距离,为每个栅格设置对应的分辨率时具体用于:若栅格与所述移动平台之间的距离小于第三阈值,为所述栅格设置第一分辨率;若栅格与所述移动平台之间的距离大于或等于第三阈值,为所述栅格设置第二分辨率;其中,所述第一分辨率大于所述第二分辨率;或者,
若栅格与所述移动平台之间的距离小于第四阈值,为所述栅格设置第三分辨率;若栅格与所述移动平台之间的距离大于第五阈值,为所述栅格设置第四分辨率;若栅格与所述移动平台之间的距离大于或等于第四阈值,且小于或等于第五阈值,为所述栅格设置第五分辨率;其中,所述第四阈值小于第五阈值,第三分辨率大于第五分辨率,第五分辨率大于第四分辨率。
41.根据权利要求25所述的移动平台,其特征在于,所述处理器还用于:
获取第一时刻的第一栅格存储单元,所述第一栅格存储单元包括第一时刻的每个栅格对应的子栅格存储单元;在所述第一类栅格对应的子栅格存储单元中,记录所述第一类栅格对应的第一内存块的地址信息。
42.根据权利要求30所述的移动平台,其特征在于,所述处理器还用于:
获取第二时刻的第二栅格存储单元,所述第二栅格存储单元包括第二时刻的每个栅格对应的子栅格存储单元;在所述第二类栅格对应的子栅格存储单元中,记录所述第二类栅格对应的第二内存块的地址信息。
43.根据权利要求41所述的移动平台,其特征在于,所述处理器还用于:
确定第一时刻存在、第二时刻不存在的第三类栅格;
确定第一时刻不存在、第二时刻存在的第四类栅格;
回收所述第三类栅格在第一栅格存储单元中对应的子栅格存储单元;
将回收的该子栅格存储单元分配给第四类栅格。
44.根据权利要求23所述的移动平台,其特征在于,
所述移动平台包括以下至少一种:机器人、无人机、无人车。
45.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,在所述计算机指令被执行时,实现权利要求1-22任一项所述的障碍物检测方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/073861 WO2019144286A1 (zh) | 2018-01-23 | 2018-01-23 | 障碍物检测方法、移动平台及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110278714A CN110278714A (zh) | 2019-09-24 |
CN110278714B true CN110278714B (zh) | 2022-03-18 |
Family
ID=67395247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880011004.6A Expired - Fee Related CN110278714B (zh) | 2018-01-23 | 2018-01-23 | 障碍物检测方法、移动平台及计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200349727A1 (zh) |
CN (1) | CN110278714B (zh) |
WO (1) | WO2019144286A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111999741B (zh) * | 2020-01-17 | 2023-03-14 | 青岛慧拓智能机器有限公司 | 路侧激光雷达目标检测方法及装置 |
CN112799095B (zh) * | 2020-12-31 | 2023-03-14 | 深圳市普渡科技有限公司 | 静态地图生成方法、装置、计算机设备及存储介质 |
CN114419125A (zh) * | 2021-11-09 | 2022-04-29 | 南京南自信息技术有限公司 | 厂区场景起吊物下方人员滞留检测方法、装置和电子设备 |
CN115965682B (zh) * | 2022-12-16 | 2023-09-01 | 镁佳(北京)科技有限公司 | 一种车辆可通行区域确定方法、装置及计算机设备 |
WO2024138508A1 (zh) * | 2022-12-29 | 2024-07-04 | 华为技术有限公司 | 一种障碍物检测方法及相关装置 |
CN116563817B (zh) * | 2023-04-14 | 2024-02-20 | 禾多科技(北京)有限公司 | 障碍物信息生成方法、装置、电子设备和计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101619985A (zh) * | 2009-08-06 | 2010-01-06 | 上海交通大学 | 基于可变形拓扑地图的服务机器人自主导航方法 |
EP3062123A1 (en) * | 2015-02-27 | 2016-08-31 | GE Aviation Systems LLC | System and methods of detecting an intruding object in a relative navigation system |
CN106940186A (zh) * | 2017-02-16 | 2017-07-11 | 华中科技大学 | 一种机器人自主定位与导航方法及系统 |
CN107229903A (zh) * | 2017-04-17 | 2017-10-03 | 深圳奥比中光科技有限公司 | 机器人避障的方法、装置及存储装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101852609B (zh) * | 2010-06-02 | 2011-10-19 | 北京理工大学 | 一种基于机器人双目立体视觉的地面障碍物检测方法 |
WO2017008224A1 (zh) * | 2015-07-13 | 2017-01-19 | 深圳市大疆创新科技有限公司 | 一种移动物体的距离检测方法、装置及飞行器 |
CN106052674B (zh) * | 2016-05-20 | 2019-07-26 | 青岛克路德机器人有限公司 | 一种室内机器人的slam方法和系统 |
CN108481321B (zh) * | 2017-01-09 | 2020-07-28 | 广东宝乐机器人股份有限公司 | 一种机器人的移动控制方法及机器人 |
-
2018
- 2018-01-23 CN CN201880011004.6A patent/CN110278714B/zh not_active Expired - Fee Related
- 2018-01-23 WO PCT/CN2018/073861 patent/WO2019144286A1/zh active Application Filing
-
2020
- 2020-07-22 US US16/935,790 patent/US20200349727A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101619985A (zh) * | 2009-08-06 | 2010-01-06 | 上海交通大学 | 基于可变形拓扑地图的服务机器人自主导航方法 |
EP3062123A1 (en) * | 2015-02-27 | 2016-08-31 | GE Aviation Systems LLC | System and methods of detecting an intruding object in a relative navigation system |
CN106940186A (zh) * | 2017-02-16 | 2017-07-11 | 华中科技大学 | 一种机器人自主定位与导航方法及系统 |
CN107229903A (zh) * | 2017-04-17 | 2017-10-03 | 深圳奥比中光科技有限公司 | 机器人避障的方法、装置及存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110278714A (zh) | 2019-09-24 |
WO2019144286A1 (zh) | 2019-08-01 |
US20200349727A1 (en) | 2020-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110278714B (zh) | 障碍物检测方法、移动平台及计算机可读存储介质 | |
US11189037B2 (en) | Repositioning method and apparatus in camera pose tracking process, device, and storage medium | |
CN108717710B (zh) | 室内环境下的定位方法、装置及系统 | |
CN108225358B (zh) | 交通工具导航 | |
JP6919864B2 (ja) | 3次元点群の再構成のための方法および装置 | |
CN109461208B (zh) | 三维地图处理方法、装置、介质和计算设备 | |
CN108235815B (zh) | 摄像控制装置、摄像装置、摄像系统、移动体、摄像控制方法及介质 | |
CN108981687B (zh) | 一种视觉与惯性融合的室内定位方法 | |
US11069080B1 (en) | Collaborative airborne object tracking systems and methods | |
KR102559203B1 (ko) | 포즈 정보를 출력하는 방법 및 장치 | |
US20210109312A1 (en) | Control apparatuses, mobile bodies, control methods, and programs | |
US20210120171A1 (en) | Determination device, movable body, determination method, and program | |
CN112712558A (zh) | 一种无人驾驶设备的定位方法及装置 | |
US20210014427A1 (en) | Control device, imaging device, mobile object, control method and program | |
CN117218628A (zh) | 多目标检测的方法、系统及服务器 | |
US20210105411A1 (en) | Determination device, photographing system, movable body, composite system, determination method, and program | |
CN109658507A (zh) | 信息处理方法及装置、电子设备 | |
CN111222586B (zh) | 一种基于三维倾斜模型视角的倾斜影像匹配方法及装置 | |
US20210256732A1 (en) | Image processing method and unmanned aerial vehicle | |
JP6503607B2 (ja) | 撮像制御装置、撮像装置、撮像システム、移動体、撮像制御方法、及びプログラム | |
RU2681346C2 (ru) | Способ и система точной локализации слабовидящего или слепого человека | |
US20210112202A1 (en) | Control apparatuses, mobile bodies, control methods, and programs | |
JP2019096965A (ja) | 決定装置、制御装置、撮像システム、飛行体、決定方法、及びプログラム | |
JP2019066556A (ja) | 制御装置、撮像装置、飛行体、制御方法、プログラム | |
CN110312978B (zh) | 飞行控制方法、装置和机器可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220318 |