CN112868225A - 结合数据以构建平面图的方法和装置 - Google Patents
结合数据以构建平面图的方法和装置 Download PDFInfo
- Publication number
- CN112868225A CN112868225A CN201980049794.1A CN201980049794A CN112868225A CN 112868225 A CN112868225 A CN 112868225A CN 201980049794 A CN201980049794 A CN 201980049794A CN 112868225 A CN112868225 A CN 112868225A
- Authority
- CN
- China
- Prior art keywords
- depth
- view
- field
- image
- robot
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 168
- 239000013598 vector Substances 0.000 claims description 77
- 238000005259 measurement Methods 0.000 claims description 43
- 238000006073 displacement reaction Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 17
- 230000008447 perception Effects 0.000 claims description 16
- 238000004140 cleaning Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 238000013178 mathematical model Methods 0.000 claims description 2
- 230000001953 sensory effect Effects 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 29
- 230000007613 environmental effect Effects 0.000 description 25
- 230000008569 process Effects 0.000 description 25
- 238000012545 processing Methods 0.000 description 15
- 238000013507 mapping Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 6
- 238000010408 sweeping Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000001364 causal effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000003708 edge detection Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000012067 mathematical method Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 239000002775 capsule Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 241000070928 Calligonum comosum Species 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000013476 bayesian approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000243 photosynthetic effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000004659 sterilization and disinfection Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000012795 verification Methods 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
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- 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/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/46—Indirect determination of position data
- G01S17/48—Active triangulation systems, i.e. using the transmission and reflection of electromagnetic waves other than radio waves
-
- 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/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0227—Control of position or course in two dimensions specially adapted to land vehicles using mechanical sensing means, e.g. for sensing treated area
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0253—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
- G06T7/344—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/16—Image acquisition using multiple overlapping images; Image stitching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/46—Sensing device
- Y10S901/47—Optical
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Aviation & Aerospace Engineering (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Geometry (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Quality & Reliability (AREA)
- Computer Graphics (AREA)
- Robotics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Optics & Photonics (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
提供一种结合相机(如深度相机)的感知深度来构建平面图的方法和设备。相机感知从相机到第一个视野中的物体的深度。相机被旋转以观察与第一个视野部分重叠的第二个视野。相机感知从相机到第二个视野内物体的深度。比较第一个和第二个视野的深度,以查找两个视野之间的重叠区域。然后,将两个视野的深度合并在重叠区域,以构建平面图的片段。重复该方法,其中在连续重叠的视野内感知深度,并在旋转相机时结合深度以构建环境的平面图。
Description
相关申请的交叉引用
本申请要求2017年7月27日提交的美国临时申请第62/537,858号的权益,还要求2018年1月18日提交的美国临时申请第62/618,964号和2017年11月28日提交的美国临时申请第62/591,219号的权益,每一项都在本文中通过引用作为参考。在本申请中,某些美国专利、申请中的美国专利或其他材料(例如文章),已通过引用作为参考。具体地说,除上述文件外,美国专利申请号15/243,783、62/208,791、15/224,442和15/674,310,在本文中通过引用作为参考。然而,关于此类美国专利、申请中的美国专利和其他材料的文本,本申请仅参考此类材料所述内容和图例,与本文不冲突的部份。如果发生冲突时,以本文的内容为准,本文中的术语不应根据在参考的其他材料中那些术语被使用的方式,而得到比较狭隘的解读。
技术领域
本发明涉及平面图,更具体地,涉及结合深度数据来构建机器人设备的环境平面图。
背景技术
自主或半自主机器人设备在消费者家庭和商业场所中越来越普及。这样的设备可以包括扫地机器人,割草机,拖地机器人或其他类似设备。为了在工作环境中自主操作或以最少(或少于完全手动)的输入和(或)外部控制进行操作,构建地图的方法被使用在机器人设备中,以便机器人设备可以自主构建工作环境的地图并随后使用于导航。一些机器人构建地图的方法已经被提出了。例如,解决即时定位与地图构建(SLAM)的方法使用扩展卡尔曼过滤器(EKF)技术来构建地图(请参阅美国专利申请号2007/0293985,美国专利申请号2006/0027404和美国专利申请号2014/0350839)。任一构建出的地图都可以被视为完整的地图,即使只构建工作环境的局部地图,或者可以对该地图进行持续更新以构建越来越多工作环境地图的细节。在某些实作中,构建地图的方法捕获工作环境的图像,每个图像包含大量特征点,用来构建和持续更新地图。机器人通过比对现在所处位置所截取具有大量特征点的图像与已注册的特征数据来进行机器人的定位。使用扩展卡尔曼滤波方法可以估算机器人设备在地图中的位置和角度,并将其存储成状态向量,而将计算过程中的不确定性存储在误差协方差矩阵中。使用扩展卡尔曼滤波方法的主要缺点是计算能力需要处理大量状态向量和协方差矩阵的特征。计算延迟可能会限制机器人行走的速度和任务执行。此外,在构建和更新地图时收集的数据需要大量存储器。扩展卡尔曼滤波即时定位与地图构建的另一个问题是由于地图中存在相似特征,这导致不同的数据的关联假设可能导致多个不同的地图。尽管已经开发了几种数据关联算法来解决此问题,但是它们乃然不能使用巿场上合理数量的计算资源来实时实现。扩展卡尔曼滤波即时定位与地图构建的另一个问题是构建出的地图质量通常高度取决于测量噪声协方差矩阵的准确性,而这通常都是先验条件。错误的统计传感器信息可能会导致性能下降。此外,这种类型的即时定位与地图构建方法采用了复杂的技术,所以通常需要高昂的成本。尽管在某些情况下可以接受高成本,但是对于机器人设备的消费性产品而言,需要更具成本效益的地图系统。
现有技术中已经有其他使用传感器数据来构建环境地图的方法,其中传感器可为声纳、激光、图像等的任何一种。例如,美国专利号5,896,488描述了一种使用超声波传感器绘制环境地图的方法,其中机器人装置可以在沿墙走的同时并测量周遭环境移动物体的距离;然而,这种方法无法在侦测周遭环境移动物体的同时又进行地图绘制。美国专利第8,996,292号描述了使用传感器检测反射光的距离来构建栅格地图的方法,其中机器人装置必须旋转360度以绘制该区域。这个方法的限制是机器人设备必须完成一个360度的旋转来绘制区域地图,然后才能开始清扫。此外,相似的地图构建方法也在其他专利中被提到(例如,参见美国专利申请第2003/0030398号、美国专利申请第2003/0229421号、和美国专利第6,667,592号),但是却没有详细说明传感器数据如何被使用来构建地图,而这却是构建地图中一个相当重要的部份。
上述的讨论并不表示本发明放弃使用任何所述技术,因为在一些实施例中,本发明可能与这些其他技术一起使用。
前言
下面简要介绍了本技术的一些实施方式。本前言不是对本发明的广泛概述。它的目的也不是将本发明限制为具有任何描述要素的实施例或描述本发明的范围。其唯一的目的是以简化的形式介绍本发明的一些实施例,作为下面介绍的更详细描述的序言。
某些方面包括感知工作环境的空间模型的流程,该流程包括:工作环境中一移动机器人上的一个或多个传感器可以捕获数据,所述数据表示从所述机器人上的各个不同位姿的传感器到工作环境中的物体的深度;利用所述机器人上的一个或多个处理器,取得捕获数据的多个深度图像,其中:各自的深度图像是根据所述机器人移动到工作环境中的不同位置捕获的数据,各自的深度图像包含多个深度数据,所述深度数据表示从各个传感器到对应于所述传感器位姿的工作环境中的物体的深度,以及各个深度图像的深度数据对应于各自的视野;利用所述机器人上的一个或多个处理器,根据多个深度图像的视野之间的重叠区域,将各个深度图像的深度数据对齐;以及利用所述机器人上的一个或多个处理器,并根据深度数据的对齐结果,确定工作环境的空间模型。
某些方面包括一个有形的、非暂时性、机器可读的媒体用以存储指令,当这些指令被数据处理设备执行时,会使得数据处理设备执行包括上述流程。
某些方面包括一个系统,包括:一个或多个处理器;和存储器用以存储指令,当处理器执行指令时,会使得处理器执行上述的流程。
附图说明
本技术参照下列附图进行说明:
图1A说明了在第一个视野中感知的深度。
图1B说明了根据第一个视野中感知的深度构建出的二维平面图的一部份。
图2A说明了在第二个视野中感知的深度,这些深度与第一个视野部分重叠。
图2B说明了如何根据两个重叠视野内感知的深度构建二维平面图的一部份。
图3A说明了两个重叠视野的重叠深度与差异。
图3B使用平均方法结合两个重叠视野的重叠深度。
图3C使用变换方法结合两个重叠视野的重叠深度。
图3D使用K最近邻算法结合两个重叠视野的重叠深度。
图4A说明了两个重叠视野的重叠深度对齐成一直线。
图4B说明了两个重叠视野的重叠深度形成不对齐的两个线段。
图4C说明了使用经过改进的随机抽样一致算法来消除离群值。
图5A说明了在三个重叠的视野中感知的深度。
图5B说明了根据三个重叠的视野内感知的深度构建出来的二维平面图的一部分。
图6A说明了根据连续重叠的视野感知的深度构建出一个的完整的二维平面图。
图6B和6C举列说明在环境边界验证期间发现新区域后更新的二维平面图。
图7A说明了在两个重叠的视野中感知的深度。
图7B说明了根据在两个重叠的视野内感知的深度构建出的三维平面图片段。
图8说明了控制系统及其连接的组件的示例。
图9A-9C说明了在一些实施例中,如何使用原始像素强度数据以及结合重叠点的数据,来检测重叠区域。
图10A-10C说明了在一些实施例中,如何使用原始像素强度数据以及结合重叠点的数据,来检测重叠区域。
发明内容
本章节将详细具体的描述本发明,并以一些实施例及附图来辅助说明。
在下面的描述中,有些持别的细节必须先说明,以便对本发明有完全透彻的了解。然而,对于本领域中熟练的技术人员而言,他们可以在没有这一些特别说明的细节的情况下,实践本发明或本发明的一部份。另外,众所周知的步骤和(或)结构,在此并不详细描述,以免让本发明晦涩难懂。此外,应当强调的是,本发明并不限于本文中描述的技术及实施例;由于各种成本和工程上的考虑,本文所提的系统只是本领域普通技术得以实现,而这只是本发明所述的部份益处而已。
相对于传统技术,本发明介绍的一些实施例是一种计算成本低廉的地图构建解决方案(或部分方案),具有最低的(或降低)实施成本。在一些实施例中,构建环境地图可能是构建整个环境地图,所以需要将该环境中的所有区域都构建在地图中。在其他实施例中,构建地图只对环境的一部分来构建地图,这种情况下,只需将环境的某些区域构建在地图中。例如,相机的单个视野捕获环境中墙壁的一部分,影像可以被使用来构建地图的一部份。实施例提供了一种结合环境深度数据来构建环境平面图的方法和装置,此方法或装置使用深度相机来侦测环境中的物体深度数据(或推断深度数据),包括但不限于(同时在本文中的任何其他列表也是非限制性的)深度相机、立体视觉相机、或由图像传感器和红外线发射器组成的深度传感器。也可以结合电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)相机,将其放置位于相对于水平平面的某个角度,并与至少一个红外线(IR)的点或线发射器或其他任何形式的结构光,结合使用来感知环境中障碍物的深度。环境中的物体可能包括但不限于平面图中包含的物品,如装饰品、居家用品、墙壁、边界设置的物体或线条、家具、障碍物等。工作环境的边界可以被视为是工作环境内的一部份。在一些实施例中,当相机在环境中移动,取得多个连续重叠视野的影像,可以感知从相机到物体的深度是连续的(或周期性或间歇地连续)。重叠不同视野的影像得到的物体深度可以用来组合成环境的平面图。
在一些实施例中,一机器人设备有至少一个控制系统,例如,感测从相机到第一个视野内物体的深度。根据使用的深度感知装置的类型,深度可以以各种形式被感知。深度感知装置可以是深度传感器、相机、与红外发射器耦合的相机、立体视觉相机、深度相机、飞行时间相机或任何其他可以从捕获的深度图像中推断深度的设备。深度图像可以是包含数据的任何图像,这些数据与从深度感知设备到图像中的物体的距离相关。例如,在一个实施例中,深度感知装置可以捕获含有物体深度向量的深度图像,从中可以计算每个向量的欧几里得范数,表示从相机到相机视野内物体的深度。在某些情况下,深度感知装置所得到的深度向量在深度感知装置视线的二维平面上被测量。在其他情况下,深度感知设备测量出环境中一系列物体的三维向量场。在另一个实施例中,深度感知装置根据光线(例如,由深度感测飞行时间相机发射光源)飞行到物体并反射回装置所需的时间推断物体的深度。进一步的例子是,深度感知装置可以包括一个激光发射器和两个视野重叠的图像传感器。激光在两个图像传感器中所图像中,各有一个投影点;计算从第一图像传感器拍摄的图像中激光的投射点到第二个图像传感器拍摄的图像中的激光投射点的位移量,可以推断出物体的深度(参见美国专利申请第15/243,783号,特此参考)。激光在每个图像中的位置可以通过识别具有高亮度的像素来得知(例如,在一定距离内,像素亮度比集中趋势如平均值大于阈值的点)。控制系统可以包括(但不限于)一系统或设备用以执行接收和存储数据的方法;处理数据的方法,包括处理深度数据;处理命令的方法并回应存储或处理的数据、观测环境、内部观察或用户输入;构建地图或环境边界的方法;以及导航和其他操作模式的方法。例如,控制系统可能从障碍物传感器接收数据,根据收到的数据,控制系统命令机器人设备向特定方向移动。举另一个例子,控制系统可以接收环境的图像数据,处理数据,并用它来构建环境地图。控制系统可以是机器人设备的一部份、相机、导航系统、一构建地图模块或任何其他设备或模块。控制系统还可以包括与机器人设备耦合的单独组件、导航系统、地图模块、相机或与机器人设备配合使用的其他设备。可以使用多个控制系统。图8是控制系统的一个图例。
机器人和安装在机器人上的相机可以旋转来取得与第一视野部分重叠的第二视野影像。在一些实施例中,机器人和相机可以视为同一个单元一起移动,也就是相机是固定在机器人上,机器人具有三个自由度(例如,在平行于地板的二维空间中水平平移,以及绕着一个垂直于地板的垂直轴原地旋转),或者在其他实施例中,机器人和相机是两个分开的元器件,相机和机器人各自具有在水平和垂直方向的自由度。例如,但不限制于(这并不意味着其他描述是限制性的),具有90度视角的相机相对于机器人可以拥有在垂直方向0-180度的自由度以及水平方向0-360度的自由度。在第二个视野内的物体的深度可以被感知(由于相机取相角度不同,第二个视野与第一个视野不同)。可以将第二视野中的物体深度与第一视野的深度进行比较。当第一个和第二个视野中有连续多个物体深度相似时,可以确定这是重叠的区域,所使用的技术详述如下。两个连续视野的影像重叠区域大小与相机从一个视野到下一个视野的转动角度有关(相对于房间的静态参考物体)。在确保相机的帧率足够快的情况下,机器人设备可以在旋转一个帧宽度的时间内捕获多个帧影像,这可以确保在连续两个视野影像之间始终存在重叠的区域。帧与帧之间的重叠量会因机器人设备的角位移而异(在某些情况下,角位移是线性变化),其中较大的重叠区域的图像与重叠较少的图像比,较大的重叠区域将提供更多数据来生成更准确的平面图。在一些实施例中,控制系统从重叠区域的大小推断出机器人的角位移,并使用计算出的角位移来调整机器人里程表数据以克服里程表固有的噪声。此外,在一些实施例中,第一个和第二个视野重叠深度值不需要与所识别出的重叠区域完全相同。可预期的,测量将受到噪声、测量设备分辨率以及测量设备固有的不准确性所影响。比较第一个和第二个视野内深度值相似的点,当深度值在合理的公差范围内时,可以视为是相同的点或相同的环境物体。还可以通过第一个和第二个视野的深度的匹配模式,如增加值和减少值的匹配图案,来识别重叠区域。在一些实施例中,一旦确定了重叠区域,它被当作附着点,并将两个视野的影像拼接以合并形成更大的视野影像。由于在第一个和第二个视野重叠区域中的深度值不一定要具有完全相同的值,深度值在一公差范围内是被容许,因此第一个和第二个重叠视野的深度值,常被使用移动平均或其他合适的数学卷积来计算重叠区域的新深度。这能够提高深度的精准度,因为它们是根据两组独立测量值组合计算得出的。新计算出来的深度被当作新的重叠区域的深度,用来取代第一个视野和第二个视野重叠区域内的深度。然后,新的深度值被当作地面实况(基准值),来调整重叠区域以外的所有其他感知深度。当所有的深度值都被调整后,便完成了平面图的第一部分。可以重复此方法,使相机在移动时不断地在连续重叠的视野中感知环境深度(或表示深度的像素强度),控制系统则结合重叠区域的深度以构建出环境平面图。
在一些实施例中,“机器人”或“机器人设备”可包括具有通信,致动器,移动性和(或)处理组件的一个或多个自主或半自主设备。这样的机器人或机器人设备可以包含,但不一定要包含(这并不意味着在所有实施例中都需要包含其他描述的功能)壳体、外壳、底盘、运输驱动系统(如车轮或其他移动设备)、用于驱动车轮或其他移动设备的马达、接收信号的接收器、控制马达的处理器和(或)控制器、方法、操作、网络或无线通信、电源管理等,以及一个或多个时钟或同步设备。机器人或机器人设备还可以包括用于供应电源(在某些情况下是存储电源)的电源模块、用于侦测环境和根据观测到的环境发送命令的传感器模块、以及一控制模块用于存储现在的操作状态并对观测环境或用户输入做出相对应的回应。传感器模块可包括用于检测障碍物、楼板的类型、楼梯、系统状态、温度等或用于测量移动的传感器。也可以包括一个接口模块,以提供机器人和用户之间的接口。机器人或机器人设备可能还包括红外传感器、触觉传感器、声纳传感器、陀螺仪、超声波测距传感器、深度相机、里程表传感器、光流传感器、激光雷达(LIDAR)、相机、红外线发射器、遥控器、Wi-Fi功能、网卡、蓝牙功能、行动网络功能、USB端口和射频发射器/接收器。也可以使用其他类型的机器人或具有其他配置的机器人设备。
本发明描述的步骤可在各种装置中执行,例如在安装有照相机的扫地机器人、机器人割草机和(或)其他自主和半自主机器人设备。本发明在一些实施例中,预计可以利用信息论来提高处理效率并降低计算成本。信息论规定,事件的发生可能性用一消息来表示,如果某事件发生的可能性比较大,则与不太可能发生的消息相比,发生可能性大的消息的所含的信息量较少。信息论使用熵来形式化和量化消息中所包含的信息量。对于以数字化方式存储,处理,传输,计算等的所有信息都是如此。独立事件也具有附加信息。例如,一条消息表示“15分钟前没有发生地震,30分钟前没有发生地震,45分钟前有发生地震”,另一条消息表示“45分钟前有发生地震”。两个消息中传递的信息是相同的,但是第二个消息可以用较少的位来表达,因此比第一个消息含有更多的信息。此外,根据信息论的定义,报告地震的第二条消息是不太可能发生的事件,因此比报告更可能发生的含有没有地震的第一条消息有更多的信息。熵定义为消息中每个符号的位数,并定义为-∑ipilog2(pi)其中pi是出现第i个可能值的概率。如果有一种方法可以表达、存储、处理或传输的一个消息,具有相同信息量但位数较少,则可以说它具有更多信息。在机器人设备所处的环境中,最接近机器人设备的环境边界和物体是最重要的。因此,如果机器人只处理附近的环境边界的信息和最接近机器人设备的物体,与处理没有障碍物的空间或更远处的空间相比,可以节省大量的计算成本。最接近机器人设备的环境边界或物体可能是1米远或4米远。避免处理机器人设备与环境边界或物体之间没有障碍物的空间,以及超出邻近的环境边界以外的空间,将大大降低计算成本。例如,一些传统技术使用占用栅格地图,将环境中的每一个可能的点对应出一个状态值填入栅格地图中,这些状态包括"未占用","占用"或"未知"。本文提出的方法是无损压缩(或较少有损),因为可以根据需要随时构建栅格。可预期的,这可以节省大量的计算成本,因为不用处理额外不必要的信息,而只需要处理必要的信息。与现有技术中使用的更快的中央处理器(CPU)相比,这种计算上的优势使所提出的构建地图的方法可以在例如ARM M7微控制器上运行,从而降低了消费者家庭中使用的机器人设备的成本。当使用本发明的方法在更快的中央处理器中运行时,本发明可节省计算成本,使中央处理器能够处理其他计算需求。一些实施例还包括一个专用集成电路(例如,人工智能专用集成电路),该专用集成电路与另一个分离的单元或中央处理器合作,以本文所述的方式来分析视频帧(和深度相机所读到的数据)。在某些情况下,专用集成电路可能包括一个相对大量的(例如,超过500个)运算器,可以同时处理数据。在某些情况下,运算器可配置为处理相对较低精度的数据(例如小于或等于16位、8位或4位),以在芯片基板的每单位面积中提供更多的并行计算单元。在某些情况下,人工智能专用集成电路可能有一个独立的存储器接口(相对于中央处理器),在某些情况下,该接口也独立于中央处理器所访问的存储器。在某些情况下,接口可能是高带宽存储器(HBM),例如,根据JEDEC HBM2规范指定,该接口包括三维堆栈的动态随机存取存储器。在某些情况下,被人工智能专用集成电路访问的三维堆栈的存储器被封装在多芯片封装中,例如,在通过主板连接到中央处理器的共享封装基板上。
预期一些实施例的其他方面将进一步降低计算成本,或者在给定的计算资源下,可以增加处理的图像数据量。例如,在一个实施例中,向量的欧几里德范数被处理、存储、并与分布密度一起呈现从设备到环境边界的深度。与某些使用占用栅格的传统技术(将环境边界表示为具有占用状态的点)相比,这种方法具有较少的信息丢失。这是有损压缩。由于误差的缘故,信息会在流程中的每一个步骤丢失,例如误差存在于读取设备、硬件字长、8位处理器、16位处理器、32位处理器、读取设备的软件字长(使用整数或浮点来表示一个值)、读取设备的分辨率、栅格本身的分辨率等等。在此示范实施例中,测量出的欧几里得范数数据在一给定的概率分布上进行处理。初始测量以三角形或高斯分布开始,在测量后,将两组数据的重叠区域缩小到两种可能性,这些可能性可以使用伯努利分布来表示,这将大大简化计算量。为了进一步减轻机器人设备上的计算成本,在一些实施例中,一些数据在至少一个另外单独的设备上进行处理,例如机器人设备的充电座或使用云计算。
一些巿面上就买得到的现成深度感知设备,能把从设备到环境边界的深度和角度的测量值,表示成一个矩阵。其中,“测量值”可以包括但不限于(这并不意味着任何其他描述是限制性的)各种格式的可量化的属性(包括大于或小于某些阈值的二值化分类)、将可量化的属性量化成一增量值或实际数字值。一些传统技术使用该数据来创建需要大量计算的占有栅格地图。相较之下,一些实施例以一种计算成本较低的方法来构建平面图,在某些情况下,可以使用一些感知器的输出矩阵,如深度相机、任何没有深度感应的照相机、或其他深度感知设备(例如超声波或激光测距仪)。在一些实施例中,不需要使用图像的像素强度。
一些实施例举出了一种方法和设备,结合来自相机或任何其他深度感知设备的感知深度,用来构建平面图,所述深度感知设备诸如包括图像传感器和红外发射器组成的深度传感器。相机可能包括深度相机,例如(但不限于)立体深度相机、结构光深度相机或它们的组合。相对于水平面成一定角度放置的电荷耦合组件相机或互补金属氧化物半导体相机,结合了红外线发射器(例如红外线点或线发射器),投射红外线点或线或任何其他结构形式的光(例如红外线梯度、点矩阵、栅格等)到环境中的物体,查找并侦测与水平平面平行的物体,也可以用来测量深度。也可以考虑其他的配置。例如,照相放置在平行于机器人移动的水平面上,而且红外发射器可以相对于水平平面成一定角度放置,或者相机和红外线发射器两者都相对于水平面成一定角度放置。当使用相机和红外线发射器测量深度时,可以调整各种不同的配置以达到最佳性能。可以使用的相机包括OmniVision技术公司的OmniPixel3-HS相机系列或4D Systems Pty Ltd的UCAM-II JPEG相机系列。也可以使用任何其他深度感知设备,包括但不限于超声波和声纳深度感知装置。也可以使用现成的深度测量设备,如深度相机。可以使用不同类型的激光器,包括但不限于边发射激光器和面发射激光器。在边发射激光器中,发射的光与晶圆表面平行,从切割边缘发射传播出去。使用面发射激光器,光是垂直于晶圆表面发射的。这是有利的,因为可以在一个晶圆上或一个红外线发射器上,处理大量的面发射激光器,发射具有高密度结构光(例如以点结构光的形式),提高感知深度的精度。出于说明目的,可以参考由同一发明人在其他几个审查中的专利所描述的测量深度的方法。例如,一种测量深度的方法包括一个激光发射器、两个图像传感器、和一个图像处理器,其中,两个图像传感器被设置成使得它们的视野重叠。激光在两个图像中各有一个投射光,图像处理器计算从投射在第一个图像传感器捕获的图像到投射在第二个图像传感器捕获的图像的激光投射光的位移量,用于估计激光投射到物体的深度(请参见美国专利申请号No.15/243783)。在另一种方法中,使用两个激光发射器、一个图像传感器、和一个图像处理器被使用来测量深度。两个激光发射器将光点投射到图像传感器捕获的物体上。预先将两投影光点的距离与物体深度建成一个对照表,图像处理器计算出两投影光点在影像中的距离,然后将光点距离在对照表中查表得到物体的深度(或将值输入到输出近似此表的公式中)(参见美国专利申请号62/208791)。美国专利申请第15/224442号中描述的一些实施例,将深度测量方法应用于任何数量的光发射器,其中对于超过两个的发射器,投影光点连接成线段,连接线段内的区域被用于确定物体的深度。在另一个例子中,一个线激光器被放置相对于水平面成一向下的角度,并与图像传感器和处理器耦合共同来测量深度(参见美国专利申请号15/674310)。线激光器将投射一条激光线到物体上,图像传感器捕获激光线投射到的物体上的图像。因为随着到激光线投射的距离增加,投影线的位置越低,所以图像处理器可以根据激光线的位置,计算设备到物体的距离。
在一些实施例中,传感器感知的信息可以被处理并转化为深度测量值,深度测量值可以以标准化测量单位(如毫米或英寸)来表示,也可以以非标准单位来表示。深度可能通过各种方式推断(或感知)。例如,深度可以根据深度相机捕获的深度图像的像素强度进行推断(例如,完全根据输入的组合来推断)。深度可从传感器发出的红外光(或声音)传输到物体并反射返回到深度感知设备所用的时间推断,也可以通过多种其他技术推断出来。例如,使用飞行时间相机,可以根据从机器人传输的光线到反射物体并返回机器人上的相机所需的时间来估计深度。或者如果使用超声波传感器,根据从机器人安装的超声波传感器传输的声脉冲到物体并反射返回传感器所需的时间来估计深度。在一些实施例中,一个或多个红外线(或与频谱中其他频率的光合并使用)发射器(如安装在机器人上的发射器)可将光投射到物体上(例如,具有空间结构模式(如结构光),或通过扫描点光源),并且生成的投影结果可以通过一个或多个相机来感知(如相机可以装置与发射器向水平方向平移的一个位置上)。在来自一个或多个相机所取得图像中,可以使用高强度像素的位置推断深度(例如,基于图像中的视差,基于投影图案的失真,或两者同时使用)。在一些实施例中,原始数据(例如,未使用推断的原始感应数据)如光或声脉冲反射时间或像素强度,可以直接被使用来构建环境图,从而降低计算成本,因为原始数据不需要被处理并转换为深度值,例如,不需要转成公制单位或英制单位。
在实施例中,原始数据可以以矩阵形式或有序列表的形式提供(这并不是表示矩阵不能在程序状态下被编码为有序列表)。当人工智能算法直接使用传感器的原始数据时,可以跳过这些额外的步骤,算法可以直接使用原始数据,其中原始值和原始值之间的关系被用于感知环境和直接构建地图,而无需在地图推论之前将原始值转换为具有公制或英制单位的深度测量值(其中可能包括推断或以其他方式感知地图的一部份,比如以另一个技术在房间内推断出一件家具的形状)。例如,在一些实施例中,在使用至少一个相机与至少一个红外线激光器耦合来感知环境的情况下,根据捕获的图像中投影红外线的位置和(或)几何形状推断深度。例如,一些实施例可以推断地图几何形状(或其特征),其方法为使用训练过的卷积神经网络,从多个传感器的原始数据推断出此类几何形状。一些实施例可应用多阶段卷积神经网络,其中模型管线的前端被训练来(并具备推断能力)处理二维或三维原始传感器数据对应的粗粒度的空间地图,然后在管道中后端被训练来处理原始传感器数据与粗粒度空间地图之间的剩余的差异以产生细粒度地图。一些实施例可包括三个、五个、十个或更多此类阶段,这些阶段被训练来使用原始数据和前一个阶段输出之间的差异,来逐渐细化地图。在某些情况下,物体可能会被检测和构建地图,例如,使用胶囊神经网络在创建固定不动的三维物体。在某些情况下,可以利用约束条件来降低复杂性,当机器人被限制在二维的平面上移动时,而且输出的地图是二维地图时,胶囊神经网络只需要处理在一平面上固定不动的点或物体。来自相机的数字图像,通过识别具有高亮度的像素(或具有高亮度的转换的输出,如边缘检测算法的输出)来检测图像中红外线的位置和(或)几何形状。这可以直接用于感知周围环境和构建环境地图。原始像素强度值可被用来判定重叠视野中的重叠区域,以便结合数据并构建环境地图。在两个重叠图像的情况下,两个图像重叠的区域中,在数字图像中包含至少一部分相似的像素强度排列。可以检测到这种类似的像素排列,并且将两个重叠的图像,通过重叠点拼接在一起,以构建环境地图的一段区域,而无需将原始数据处理成深度测量。图9A和图9B和图10A-10C说明了这一过程的例子,并将在本文的后面章节进一步详细描述。
另一个例子是,在重叠的视野内的多个点,比较这些点所测量出的原始飞行时间数据,用于查找数据之间的重叠点,而不必将原始时间转换为深度测量值;并且在某些情况下,不必进行三角测量,不必从多个位置测量到同一个物体的深度,以绘制出物体的几何形状。可以从第一和第二视野中,识别原始数据之间的匹配模式,例如增加和减少值的模式,来识别重叠区域。使用与本文讨论的方法或类似的方法,可以检测出原始数据的匹配模式,原始数据的匹配模式也可以被进一步用来检测出两个重叠视野中的深度值的匹配模式。此技术与陀螺仪或里程表的读数和(或)两组原始数据的卷积,可用于推断更准确的重叠区域。然后,重叠的原始数据可以像上面所述那样进行结合,以进而结合重叠区域的深度测量值。因此,一些实施例,并不要求将传感器收集的原始数据转换为深度测量值或其他数据格式(这并不意味着“原始数据”不会被进行某种处理,尤其是在“原始数据”从传感器感知到的原始值到应用上述技术在原始值的过程之间,例如,电荷耦合图像传感器的电荷可以串行化、正规化、筛选和做其他变换,而其结果一样是属于“原始数据”的范围)。
在一些实施例中,把机器人(或照相机)的位置设为原点,测量从机器人(或照相机)延伸到物体的向量,并计算此向量的欧几里得范数而得到深度值。深度的数据结构可能具有多种形式。例如,包含像素位置、颜色、亮度和强度的矩阵;或包含了从相机到二维平面中物体的测量值向量、x、y位置和范数的一有限有序列表;或包含了从相机到二维平面环境物体的光飞行时间列表。为了可视化,推断出的深度数据,可以被转换成以毫米或英寸的格式来呈现;但是,这不是必要的。例如,为了可视化,可以将深度的像素强度转换成以米为单位来表示的距离,或者在已知像素强度和深度之间的关系的情况下,可以直接使用这些深度的像素强度。在从推断出深度的数据转换为特定格式数据的过程中,可以省略一些额外步骤,来减少计算量;这并不意味着在某些实施例中,其他任何功能不可以被省略。本文中使用的感知或推断深度的方法和表达深度的格式,仅用于说明的目的,并不是要限制本发明,再次说明,这并不表示其他描述是限制性的。深度可以以任何形式被感知(例如,被测量或以其他方式推断),并且可以以任何格式呈现。
在一个实施例中,一相机(例如,安装在机器人设备上的相机)可以感知从相机到第一个视野内物体的深度。根据所使用的深度感知设备的类型,深度数据可能以各种形式被感知。在一个实施例中,深度感知装置可以测量到达感知物体的向量,并计算每个向量的欧几里得范数,用以表示从相机到第一个视野内物体的深度。LP范数被用来记算向量的欧几里得范数,表示从相机到观察物体的深度的正标量。LP范数可以表示为||x||P=(∑i|xi|P)1/P其中欧几里得范数使用P=2。在一些实施例中,此数据结构将深度向量对应到特征描述符号,以改善帧与帧之间的拼接,例如,美国专利号第15/954,410,特此参考。在一些实施例中,深度感知装置可以根据光线传播到达反射物体并返回所需的时间来推断物体的深度。在另一个示例中,可以以图像中物体像素的质量(如亮度、强度和颜色)推断物体的深度;在某些情况下,可以使用不同位姿的相机捕获的图像之间的视差和缩放差异来推断物体的深度。值得注意的是,在转换像素(例如,每个像素具有颜色、强度和亮度的张量)矩阵到以毫米或英寸为单位的深度值的过程中,采取的每个步骤,都是一种计算量大而且有损的压缩,并且在数字化每种质量的每个步骤中,进一步减少了状态空间。为了减少损失和计算量,如果目标可以在没有中间步骤的情况下被实现,则省略中间步骤是需要的而且有用的。基于信息论的原则,给定一数量的位,增加内容是有益的。捕获和处理的信息量和压缩量之间是一种权衡;本领域普通技术人员,具有本发明的知识,就可以平衡实作得到期望的结果,这是公开的本发明的益处。
感知深度的角分辨率在不同的实作中有所不同,但通常取决于相机分辨率、照明光、和处理输出的处理器的运算能力。例如,如果照明光可以产生非常密而且可以辨别的点,则设备的分辨率将得到改善。从相机中的投射点像素可以生成测量向量,这算法也对测量的角分辨率产生影响。在一些实施例中,以角度一度的增量来感知深度。在其他实施例中,可以根据应用以及特定任务需要多少角分辨率,或者取决于机器人设备及其运行的环境,来使用其他增量角度。例如,对于在消费者家庭中使用的机器人设备而言,低成本、低分辨率的相机就可以生成足够的测量精度。对于不同的应用,可以使用具有不同分辨率的相机。例如,在某些深度相机中,在相机的视角中的每一个角分辨率的角度,就提供一个从相机到障碍物的深度测量值。
在一些实施例中,机器人装置与安装在机器人上的相机一起旋转,以观察部分与第一视野重叠的第二视野。相机用于感知从相机到第二个视野内物体的深度。在一些实施例中,两个连续观测的视野之间的旋转量是变化的。在某些情况下,两个连续视野之间的重叠量取决于机器人设备的角位移,因为它从在一个视野进行测量移动到下一个视野进行测量;或者机器人上可能有两个或多个相机处于不同位置(也就不同位姿)以捕获两个视野;或单个相机在静止的机器人上移动从而取得两个不同位姿的两个视野影像。在一些实施例中,安装的相机独立于机器人设备旋转(或以其他方式扫描,例如水平和垂直扫描)。在这种情况下,因为相机和机器人都可能旋转,所以需要测量相机相对于机器人设备的旋转量。在另一个实施例中,根据深度感知装置的预定的角度变化或测量到的角度变化(在某些情况下是线性的),来调整第一个视野内感知的深度值。
在一些实施例中,将来自第一视野的深度与来自第二视野的深度进行比较。从第一个和第二个视野内,当多个(例如,在评估期间,有多数个可被评估重叠的值)连续(例如,相邻的像素)深度值等于或接近时,两个视野之间的重叠区域被视为相同。虽然第一视野和第二视野重叠的感知深度值可能不完全相同,只要深度值是在公差范围内的相似值,便可以视为相同(例如,根据值的相似性,判定为吻合)。此外,从第一个和第二个视野中,在感知的深度值中识别匹配模式也可用于识别重叠区域。例如,在两组测量中,观察到的深度值突然增加然后减少,可以被用来标识重叠区域。示例包括将边缘检测算法(如Haar或Canny)使用在视野中的图像,并将变换输出的结果中的边缘对齐。其他模式,如增加值后跟随着固定值,或固定值后跟随着递减值,或感知深度值中任何其他模式,也可用于估计重叠区域。雅可比(Jacobian)矩阵和黑塞(Hessian)矩阵可用于识别此类相似性。雅可比矩阵mxn可以被表示为:
其中f是一个函数,输入向量x=(x1,...,xn).雅可比矩阵概括了多个变量的函数的梯度。如果函数f在点x处可微,则雅可比矩阵提供函数f在点x附近最佳线性逼近的线性映射。如果函数f的梯度在点x处为零,则x为临界点。要确定临界点是局部最大值、局部最小点、还是鞍点,可以计算黑塞矩阵,当比较两组重叠深度时,可以使用黑塞矩阵来标识重叠点。这在计算量上是比较小的。黑塞矩阵与雅可比矩阵的关系如下:
在一些实施例中,在重叠区域内,可以使用阈值分割来识别感兴趣的区域或物体,因为不同的区域或物体具有不同的像素强度范围。例如,在图像中的物体(具有高像素强度),可以通过阈值分割将物体与像素强度较低的背景分离,其中丢弃或分割低于特定强度阈值的所有像素,仅留下高强度的像素,也就是感兴趣的物体或区域的像素。在一些实施例中,可以使用一个指标来指示两组感知深度之间重叠程度的好坏。例如,Szymkiewicz-Simpson系数是通过将两个重叠数据集(例如X和Y)之间的重叠区域(交集)除以两个数据集中最小数而得出的:
数据集是一连串的值,在一些实施例中,这些值是欧几里德范数。重叠系数越大,表示精度越高。在一些实施例中,较低的系数被乘以α次方,其中α是介于0和1之间的数字,并且与Szymkiewicz-Simpson系数一起被存储在表格中。
或一些实施方式,使用卷积来确认重叠区域。一些实施例中,实作一个核函数,在两个图像中部份或全部相邻的点的深度测量值,使用该核函数来得到总测量差异值(例如,使用均方根值)。一些实施例可以使用此核函数的卷积在其他图像上,例如,在某些情况下,步幅大于一个像素值。一些实施例可以选择卷积的最小值作为识别出重叠区域,使形成核函数的部份图像,与使用卷积的图像对齐。
在一些实施例中,在尚未确定重叠区域之前,就可以对图像做预先处理。例如,一些实施例,可以推断出机器人在不同图像之间的位移量,例如,使用惯性测量单元或里程表的数值(在某些情况下,在使用卡尔曼滤波器之后读取数值),然后变换一个图像中向量的原点,基于测量位移,来匹配另一个图像中向量的原点,例如,在后续图像中,每个向量都减去位移向量。此外,一些实施例通过降低图像分辨率,以提供更快的匹配,例如,通过选择每隔一个、每五个或更多或更少的向量,或平均相邻的向量,来形成两个分辨率较低的图像,并使这两个图像对齐。然后,可以将所得的对齐方式,应用在对齐两个分辨率更高的图像上。
在一些实施例中,可以根据机器人在图像之间的移动类型加快计算。例如,在一些实施例中,可以确定机器人在图像之间的位移向量在垂直方向上的分量是否小于阈值(例如,为零,也就是垂直方向没有位移)。作为响应,一些实施例,应用上述卷积方法在一水平步幅和较小或零垂直步幅,例如,在第一个图像计算向量的位置,在第二图像中也使用同一行的位置,形成核函数。
在一些实施例中,重叠区域被扩展成更大区域,从已经被识别出来的重叠区域,再扩展包括此区域之前和之后(或空间相邻)的感知的深度。一旦重叠区域被确定了(例如,每个视野中,重叠开始的像素的包围盒或垂直平面的阈值角度),则通过将重叠区域内的感知深度作为附着点,拼接合并两个视野来构建更大的视野。拼接合并可包括将具有不同原点的向量变换到共享坐标系中并具有共享的原点,例如,其方法为,基于帧间深度传感装置的变换或旋转量,添加平移或旋转向量在深度向量上。坐标变换可以在合并之前、之中或之后执行。相机在连续重叠的视野中感知深度,控制系统识别重叠区域并合并成更大区域,上述的方法及步骤一直被重复,例如,一直重复直到环境中的所有区域都被发现并且一个完成的平面图被构建出来为止。
产生的平面图,可以以各种形式编码。例如,一些实施例可以通过将每个向量变换到具有共享原点的向量空间中(例如,基于上述位移向量,在某些情况下,对深度测量值进行位移)来构建二维或三维的点云。或一些实施例,使用一组多边形来表示地图,这些多边形对检测到的物体表面进行建模,例如,在一区域内,计算测量向量的凸包,例如瓷砖多边形。预计多边形在导航期间可提供更快的地图查询速度,并且比点云使用较少的存储器,但代价是构建地图时需要更大的计算量。在程序代码中,向量不需要被标记为“向量”,即可构成向量,这并不是说其他数学构造是限制性的。在一些实施例中,向量可以编码为标量的元组,作为关系数据库中的条目,作为物体的属性等。同样的,需要特别强调的是,图像不需要显示或明确标记为图像。此外,在捕获图像时,传感器可能会产生一些移动,所以在深度图像中对应的传感器的“位姿”,在某些情况下,可能是深度图像中的位姿范围。
在一些实施例中,地图可以是三维地图,例如,该地图指示了墙壁、家具、门等等在房间中的位置。在一些实施例中,地图可能是二维地图,例如点云或多边形或有限有序列表,该地图指示在给定高度(或高度范围,例如从零到5或10厘米或更小)处的障碍物。二维地图可以从二维数据生成;二维地图也可以从三维数据生成,其中从三维数据中只使用高于地板一给定高度的数据,并丢弃高于此高度的数据。地图可以以向量图形格式、位图格式或其他格式来进行编码。
机器人装置可以在运行期间,使用平面图在环境中自主地导航,例如,访问平面图以确认规划的路径是否被平面图中的障碍物所阻挡,访问平面图并从路线查找算法算出的路径中选择一条从现在位置到目的地的路径,等等。在一些实施例中,平面图被存储在存储器中以供将来使用。平面图的存储可以存储在暂时的存储器中,则平面图尽在此次开机期间可以使用;或将平面图存储在更永久的存储器形式中,在下一次开机启动时,也能提供平面图。在一些实施例中,在每次使用时,构建新的平面图,或者使用新侦测到的数据来更新现有的平面图。
一些实施例可以参考先前的地图,来构建后续的地图。例如,有些实施例可将贝叶斯(Bayesian)技术应用于即时定位与地图构建,并将后续的地图测量结果,更新到先前的地图中。一些实施例可以参考先前的地图,当检测到物体的位置差异大于阈值时,则将视野中的物体分类为可移动物体。
为确保相机连续帧与帧之间,感知的深度存在重叠区域,相机的帧率要足够快,以致于能够在机器人设备旋转帧宽度时,捕获多个帧的测量值。期望的是,如果有角位移,至少要有最小重叠区域;但是如果可以将前几次捕获的图像进行拼接成更大的图像,则实施例仍可在没有重叠区域的情况下运行。连续视野深度图像的重叠量,取决于从一个视野到下一个视野的角位移量。重叠区域越大,从重叠的深度图像构建出的地图片段就越准确。如果两个深度图像通过重叠区域拼接成一个更大的平面图片段,则随着重叠区域的准确度提升,构建出的更大的平面图片段的精度也会跟着提升。此外,重叠区域较大时,由于两组数据之间存在更多相似性,因此更容易从两个连续的视野中找到深度图像的重叠区域。在某些情况下,置信度值被计算以及使用来判定重叠区域,例如,根据重叠区域大小,以及两个重叠区域中深度向量不一致的总数,使用上述的贝叶斯技术来调低之前地图的置信量值。在一些实施例中,重叠区域的大小被使用来确定角度运动,并用于调整里程表数值以克服里程表固有的噪声(例如,根据里程表的向量和视野中推断的运动向量,两个向量一起被使用来计算机器人的平均运动向量)。机器人设备从一个视野到下一个视野的角度运动,可以由下列方法来确定,例如,根据在视野内向量的角度增量、重叠区域中匹配物体或特征的视差,以及重叠视野内相对应的深度值数量。
在一些实施例中,在感知第二视野内的深度之前,根据预期噪声(如测量噪声、机器人设备运动噪声等)来计算调整范围。调整范围被使用在第一个视野内的感知的深度,预期第二个视野中重叠视野内的深度值应该会落在这范围内。
在另一个实施例中,每个感知深度都被分配一个权重。权重值因各种因素而定,例如读数质量、感知深度的位置与调整范围的关系、不同视野之间深度值的相似程度、相邻深度的权重,或具有高权重相邻深度的数量。在一些实施例中,权重小于一数值(如预先给定的阈值或动态决定的阈值)的深度被忽略不计,只计算权重较高的深度,这样会更准确。在一些实施例中,较大的重叠区域的深度值,给予较高的权重;较小重叠区域的深度值,给予较小的权重。在一些实施例中,分配给读数的权重与所识别出的重叠区域大小成正比。例如,有一些移动物体的点,在某一个或两个帧中被侦测到,但是却在其他的帧中,没有侦测到移动物体,这些点被给予较低的权重,因为这些点可以没有落在调整范围中,而且数据不一致,这些点可能会因为被分配的权重较低而被拒绝不使用。
在一些实施例中,同一个区域在超过两个连续视野图像中重叠,所以会多于两组的深度数据集,落在同一重叠区域内。当连续视野之间的角位移较小时,可能会发生这种情况,尤其是在相机的帧率快,机器人设备移动量小时,相同区域的向量在几个帧中都被测量到;或者这也会发生在当相机的视野比较大,机器人设备角速度比较慢,且相机的帧率比较快的时候。当两组以上的深度重叠时,可以对重叠区域内的深度赋予更高的权重,因为重叠深度集的数量增加可以提供更准确的地面真相。在一些实施例中,分配给感知深度的权重,与该深度也同时出现在其他帧中的重叠区域的数量成正比。一些实施例可以结合重叠深度,并建立一组新的重叠区域的深度,具有更准确的地面真实性。使用的数学方法可以是移动平均或更复杂的方法。
由于测量噪声,第一个视野与第二个视野重叠区域内的深度值可能存在差异,也就是重叠深度的值可能并不完全相同。在这种情况下,可以计算新的深度,或者选择使用某些比较准确的深度。例如,第一个视野和第二个视野(或多个图像重叠的视野假如多个图像重叠时,例如3个、5个或更多或超过10个)的重叠深度可以使用移动平均(或可以应用一些中央趋势的其他方法,如中位数或众数)来进行结合,并被采用作为重叠区域的新深度。最小误差总和也可用于调整和计算重叠区域的新深度,以弥补第一个和第二个视野中重叠深度的不准确。进一步的示例,在重叠区域内,最小均方误差可用于提供深度更精确的估计。其他数学方法也可用于进一步处理重叠区域内的深度,例如分开合并算法、增量算法、霍夫变换(Hough Transform)、回归线、随机抽样一致算法、最大期望算法、或曲线拟合,应用这些方法在第一个和第二个视野中的测量深度值,以估计出更接近真实值的深度值。计算出的深度被拿来当作重叠区域的新深度。另一个实施例使用K最近邻算法,其中计算K个最近邻域的值的平均值,使用此平均值为新的深度值。
某些实施例应用DBSCAN聚类算法在深度及相关值(如像素强度)上,(例如,在包含深度和像素强度的向量空间中,)确定多个聚类,每个聚类对应物体同一特征的深度测量。一些实施例可以执行密度的聚类算法(如DBSCAN),以建立与聚类对应的群组,并排除离群值。为了根据深度向量和相关值(如强度)来进行聚类,一些实施例可能会迭代每个深度向量,而且可能会指定某一深度向量为核心深度向量,如果在向量空间中(在包含像素强度的情况下,可能高于三维),有至少一阈值数的其他深度向量与核心深度向量在一阈值距离内。然后,一些实施例可以迭代每个核心深度向量,并创建一可到达的深度向量图,其中图形上的节点被标示非核心深度向量(也就是到达核心深度向量一阈值距离内的深度向量)和核心深度向量(如果可从其他核心深度向量到达这个核心深度向量);如果存在从一个深度向量到另一个深度向量的路径,其中每个链接和路径都是核心深度向量,并且彼此在一阈值距离内,则此深度向量是可以可到达的。在一些实施例中,每个结果图中的节点集可以被指定为聚类,不包括在图形中的点,可指定为与此聚类不相关的离群值。
然后,一些实施例可以计算出深度向量空间中每个聚类的质心,用于构建平面图。在某些情况下,所有相邻的向量权重相等,但在其他情况下,每个相邻向量的权重,取决于与所考虑的深度的距离或(和)像素强度值的相似性。在一些实施例中,K最近邻算法仅被应用于不一致的重叠深度。在一些实施例中,第一组读数是固定不变的,作为参考值,而第二组读数(与第一组读数重叠),则被变换以配合第一组的固定参考值。在一个实施例中,变换后的读数与固定参考值相结合,作为新的固定参考值。在另一个实施例中,仅使用前一组读数作为固定参考值。为了使从新读取的数据到固定参考的距离最小,变换函数(将新读取数据与固定参考值对齐的变换函数)的初始估计值,是不断的重复修正的。变换函数可能是新读取数据与相对应的固定参考值读数之间的平方差之和。例如,在一些实施例中,将新读取数据中的每个值,在固定参考的读数中,找到一最接近的值。下一步,使用点对点最小化距离技术,将新读取数据中的每一个值,与在前一步骤中找到的最接近值,做最好地对齐。均方根是一种点对点最小化距离技术,可用来估计旋转和平移的组合。重复此过程以使用获得的信息来变换新读取的值。这些方法可以单独使用,也可以结合在一起使用,以提高准确性。在一个实施例中,应用于重叠区域内重叠深度的调整方式,也被应用在调整重叠区域外的其他深度,其中在进行调整时,重叠区域内的新深度被认为是地表实况。
在一些实施例中,使用修改后的随机抽样一致算法,将其中任何两个点(每个数据集中各一个点)连接成一条线。根据线的两侧来定义边界。不论是那一个数据集,边界以外的任何点都被视为离群值,并被排除在外。使用另外两点重复此过程。该过程的目的地删除离群值,使感知到墙的真正距离,有更高概率的准确度。考虑一个极端的情况,移动物体在两个帧中被捕获,但该物体却没有出现在与这两个帧重叠的其他多个帧中。上面所述方法或随机抽样一致算法可能会被用来拒绝该移动物体的数据点。此方法或随机抽样一致算法可以单独使用,也可以与上述其他处理方法结合使用。
在使用线性代数的一些情况下,基础线性代数子程序库(BLAS),用于执行诸如向量加法、向量规范、标量乘法、矩阵乘法、矩阵转置、矩阵向量乘法、线性组合、点积、向量积等操作。
在一些实施例中,当机器人装置与环境边界接触的位置,刚好在平面图中,也与相对应环境边界接触的位置吻合时,可以确定平面图是准确的。当机器人设备接触到环境边界时,它会访问平面图,以确保这个与环境边界接触的位置是被标记为边界。如果在地图中有预测到一边界,但是机器人没有实际检测到的情况下,可以用上面的贝叶斯方法,将地图上的相对应数据点,给予较低的置信度,并且使用上面的方法对此区域重新构建地图。该方法也可以用于建立欧几里得范数的地表实况(基准值)。在一些实施例中,可以使用单独的地图来纪录已被发现的边界,从而构建另一个地图。也可以使用不同的方法来合并两个地图,例如两个地图的交集或并集。例如,在一些实施例中,可以应用两个地图的并集来构建工作环境的扩展地图,而扩展地图可能具有在第一地图和(或)第二地图中未发现的区域。在一些实施例中,可以以分层的方式,在先前构建的地图上,构建出第二地图,这可能会发现原始地图中未被识别的其他区域。这种方法可以用在下面情况,例如,在区域与区域之间被可移动障碍物隔开,这可移动障碍物可能会阻止机器人构建工作环境的完整地图,并且在某些情况下,可能无法完成分配的任务。例如,软的帘子(门帘、窗帘、床帘等)可以充当可移动物体,并在第一个地图中显示为墙。在这种情况下,可以以分层的方式,在先前构建的第一地图之上,构建第二地图,以向原始地图添加先前可能尚未发现的区域。然后,机器人可以识别(例如,确定)在门帘后面的区域,也是在完成分配的任务中,重要的(例如,根据这消息来调整路线)一个区域。
在一个实施例中,机器人设备接触所有环境边界,并确认每个边界接触的位置在平面图中相对应边界的位置是一致的,在这个过程之后,平面图的构建就完成了。在一些实施例中,机器人设备在检查平面图中所有的边界是否与环境的真实边界一致之前,机器人先执行保守的清扫范围算法,先清扫走过平面图的内部区域。这可确保机器人设备在面临具有挑战性的区域(如边界点和障碍物)之前,行走过更多区域。
在一些实施例中,所有数据都在机器人设备上处理。在其他实施例中,某些数据在至少一个单独的设备上处理,例如机器人设备的充电座或使用云计算。
本发明不限于任何类型的相机或深度感知装置,或任何类型感知、测量或计算深度的方法,这并不表示本文中任何其他描述是限制性的。此处使用的设备和方法,只为了用于说明目的。
图1A说明了本发明的实施例,安装在机器人设备101(机器人设备101至少有一个控制系统)的相机100,在第一个视野104中,以增量103,感知物体105(在这种例子中是一堵墙)的深度102。相机100可包括深度相机或数码相机,结合红外线发射器或使用自然光照明的照相机。感知到的深度可能是二维或三维。参考图1B,在第一视野104内绘制的深度测量102,可产生二维地图片段106的结果。虚线107表示,生成的二维平面图片段106,对应于视野104中绘制出的深度102。
参考图2A,演示了安装在机器人设备101的相机100,在第二个视野201内感知深度200,与第一个视野104内的感知深度102,有部分重叠。在拍摄第一个视野104内的深度102后,如图2A所示,装有相机100的机器人设备101旋转以观察第二个视野201,第一视野104和第二视野201之间,具有重叠的深度202。在另一个实施例中,相机100独立于机器人设备101旋转。当机器人旋转以观察第二个视野时,将考虑相机100的角位移量,来调整第一视野104内深度102的值。
参考图2B示出了分别从绘制的深度102和200,取得近似的二维平面图片段106和203。虚线107和204分别显示了片段106和203的边界。地图片段205是由二维平面图地图片段106和203所构成,并以虚线107和204的最外侧虚线来界定其边界。将第二视野201内拍摄的深度200与第一视野104内拍摄的深度102进行比较,可识别出由204和107的最内侧虚线所限制的重叠区域。当第一视野104和第二视野201有连续深度相似时,则可以被识别为重叠区域。在一个实施例中,重叠区域一旦确定,重叠区域可以被扩展到包括紧接在该重叠区域之前和之后的多个深度。二维平面图片段106(从第一视野104内的绘制深度102得到)与二维平面图片段203(从第二视野201内绘制深度200得到)在重叠区域处结合成二维平面图片段205。在一些实施例中,在深度102和200的深度值中,使用匹配模式来识别两者之间的重叠区域。例如,在深度102和200中,观察到的深度值突然减小,可以用于估计所感知的两组深度的重叠。使用相机100来感知连续重叠视野内的深度,而且控制系统在识别出的重叠区域处将其结合,此方法被一直重复执行,直到环境中的所有区域都被发现,并且构建出一完整的平面图为止。在一些实施例中,构建的平面图存储在存储器中以供将来使用。在其他实施例中,每次使用时,构建新的环境平面图。在一些实施例中,一旦构建平面图,机器人的控制系统将确定机器人要遵循的路径,例如使用整个构造的地图、航点或终点等。
如图3A所示,由于测量噪声,在一些实施例中,重叠深度102和200值之间可能存在差异,导致交错的平面图片段106和203。如果没有差异,则106片段和203片段应该完全对齐。当存在差异时,可以对重叠深度进行平均,作为重叠区域内的新深度,如图3B所示,片段106和203之间的新中间片段300。可以看出,应用于重叠深度的数学调整方法,也被应用于重叠区域之外的深度,其中重叠区域的新深度被视为是地面真实(基准值)。在其他实施例中,在给定在连续视野内感知到的重叠深度,可以使用其他数学方法计算重叠区域的新深度,如最小误差总和、最小均方差、分开合并算法、增量算法、霍夫变换、线回归、随机抽样一致算法、最大期望算法、或曲线拟合。在另一个实施例中,绘制的深度102是固定的并作为参考值,而第二组深度200(与第一组深度102重叠)被变换成匹配固定参考102,使地图片段203尽可能与片段106对齐,两者结合后产生片段301,如图3C所示。在另一个实施例中,使用K最近邻算法,从K个最近相邻的深度计算出新的深度,其中K是整数值。图3D演示了使用K最近邻算法,将重叠深度102和200,合并成平面图地图片段302。
在一些实施例中,改进的随机抽样一致算法被用于消除测量数据中的离群值。在图4A,考虑两组重叠的绘制深度400和401的墙。如果深度400和401之间的重叠是理想的,则用于近似两组墙面数据集的楼层地图片段会对齐,从而形成合并的楼层地图段402。但是,在某些情况下,重叠深度400和401存在差异,导致图4B中近似深度的403和404片段不对齐。为了更好地对齐深度400和401,任何两个点(每个数据集取一个点,如点405和406)形成一直线407。边界408被定义在直线407的任意一侧。边界以外的任一数据集中的任何点,都被视为离群值,并被排除在外。使用另外两点并重复此过程。该过程的目的在删除离群值,让测量出的墙壁的距离,有更高概率的准确度。
在一实施例中,在感知第二个视野201中的深度200之前,预先考虑预期噪声(如移动噪声),根据第一个视野104中深度102来得出调整范围206,见图2B。第二个视野201内拍摄的重叠深度200,预期会落入调整范围206的范围中。图2B中也显示了调整范围206和近似于绘制深度102的片段106的关系。
在另一个实施例中,每个感知深度都被分配一权重。有各种不同因素会影响权重的值,例如感知深度位置与调整范围的关系,其中在调整范围内的深度被分配到有正面影响的权重。例如,参照图2,对于在第二视野201内的深度200,落在调整范围206之内的深度,和在调整范围206之外的深度相比,范围内的深度被给予影响力更大的权重。其他因素可能会影响感知深度的权重值,例如不同视野中重叠深度之间的相似度、相邻深度的权重(其中权重较高的相邻深度,对分配权重具有正向影响),或具有高权重的相邻深度的数量。权重小于预定量的深度将被忽略,因为权重较高的深度被认为更准确。在另一个实施例中,具有较高权重的深度,被归类到更准确的等级。每个感知深度的权重,可能会随着每个视野内的每组深度集而增加或减少。随着时间推移,在相机获取的许多视野中,被分配的权量可能增加和减少。
在一些实施例中,两个以上连续的视野重叠,导致两组以上深度集落在重叠区域内。如图5A所示,安装在机器人设备500的相机501,分别从视野505、506和507的连续重叠视野中,感知到深度502、503和504。在这种情况下,可以看到深度502、503和504具有重叠深度508。图5B显示了分别从绘制深度502、503和504以近似的方式得到平面图509、510和511片段。平面图片段在重叠区域被合并,以构建更大的平面图地图片段512。在一些实施例中,在重叠区域513内的深度(在514虚线内),比在重叠区域513以外的深度,具有更高的权重,因为三组深度在区域513内重叠,而更多的重叠感知深度集,提供了更准确的地面真实。在一些实施例中,分配给一深度的权量,与跟该深度重叠的其他深度数量成正比。
图6A说明了本发明的一个实施例,使用连续重叠视野中的二维感知深度,构建出完整的二维平面图600。在另一个实施例中,二维平面图600是使用三维感知深度构建的。二维平面图600可被机器人设备601与安装在设备上的相机602一起使用,在执行任务过程中自动导航整个工作环境,其中二维平面图是在进行清洁或执行其他工作之前,使用本发明描述的方法构建的。在一个实施例中,机器人设备在执行任务期间(例如,打扫),验证机器人装置与环境边界之间侦测到的实际接触位置,是否与平面图中对应边界的位置一致,来检查平面图的准确性。在一些实施例中,在机器人设备已经与环境中的所有边界接触,并检查与每个边界接触的位置是否与平面图中相对应位置一致之后,一个完整的平面图被构建完成。在一些实施例中,在机器人设备检查平面图中所有的边界是否与环境的真实边界一致之前,机器人先执行保守的清扫范围算法,先清扫行走平面图的内部区域。这可确保机器人设备在面临具有挑战性的区域(如边界点和障碍物)之前,行走过更多区域。例如,在一些实施例中,工作环境的初始平面图可能包含特定位置的边界,在使用深度传感器验证边界时,可能找不到该特定位置的边界。例如,在图6B中,初始平面图600包括从虚线604延伸至虚线605的边界片段603,以及从虚线607延伸至608的边界片段606,这两个边界片段和其他部分组合为整个边界线。根据工作环境的初始平面图600,可以设计并执行清扫环境中心区域的行走路径609,来清洁该环境。完成清扫行走路径609后,机器人设备可以从图6C中的位置610开始,延着边界进行清洁,同时使用至少一个机器人设备的深度传感器来验证地图的边界。当机器人沿着边界移动时,发现在地图的边界片段603之外的区域611。这种情况可能会发生在,例如,边界片段603的位置是一个门,而在构建工作环境地图的初始阶段,这个门是关着的。然后,新发现的区域611可以由机器人设备清扫,如图6C所示,之后机器人可以沿边界返回。当机器人继续沿边界前进时,发现地图边界片段606之外的区域612。例如,如果在初始构建工作环境地图的过程中,关闭边界606位置的软窗帘,则可能会发生这种情况。然后,如图6C所示,机器人设备清扫行走新发现的区域612,之后机器人可以沿边界返回,直到到达终点613。在一些实施例中,新发现的区域可能存储在与初始平面图不同的第二个平面图中。
在一些实施例中,上述的方法被用于构建环境的三维平面图,其中感知的深度为三维深度。图7说明了使用此方法构建三维平面图。图7A说明了使用安装在机器人装置707上的三维深度感知装置706,在分别由虚线704和705界定的连续重叠视野702和703内,取得的三维深度700和701。图7B说明了三维平面图片段708,该三维平面图片段708是近似于深度700和701结合的重叠区域,也就是重叠区域709在最内侧的虚线704和705所界定的区域。重复此方法,将连续重叠视野中的重叠深度,在重叠区域进行合并,以构建环境的三维平面图。
在一个实施例中,使用的相机是360度激光雷达。在此实施例中,激光雷达用于对工作环境取得多次连续360度视图,以便生成准确的环境平面图。
在一些实施例中,可以使用多个深度感知装置来提高所构建的地图的准确性。例如,可以同时使用多个深度相机,其中每个连续的深度相机测量,都被用于更准确地构建环境平面图。使用多个深度相机,可以从不同透视法和角度,来收集深度测量值。在使用多个深度相机时,可以使用三角测量法或其他合适的方法,进一步优化数据并提高准确性。
本发明可以使用的相机,不限于某一种特定类型的相机;在本文中提到的任何本发明可以使用的深度相机,也不是一个无所不包的列表。例如,可以使用具有不同视野的深度相机。此类相机包括不同的角分辨率、长度分辨率、栅格分辨率等。例如,在一个实施例中,一深度相机的角分辨率,可以调整为0.1度、1度、3度或其他合适的角度。在另一个实施例中,栅格分辨率可能变化,例如,从0.5厘米到3厘米,到5厘米或其他合适的分辨率。在另一个实施例中,相机的操作距离可能会有所不同,例如,其范围可以从1厘米至8米等。
本发明在一些实施例中提供了一种方法,该方法结合测量结果来构建环境平面图,其中测量结果可由下列感知装置得到,例如,使用深度相机、结合数码相机与红外线点发射器(如红外线发光二极管)或激光线发射器(如带镜头的发光二极管)、或使用任何其他类型的深度感知装置。然而,要强调的是,实施例并不限于使用此技术在构建楼层的平面图,本发明的技术还可用于增强现实中的平面侦测、虚拟现实应用中的屏障检测、自主无人机的户外制图,以及其他类似应用。一些实施例结合了在重叠视野内的深度测量值,以构建平面图(或其他地图),并且测量深度不受特定类型深度感知装置的限制,再次说明,这不表示本文的其他描述是限制性的。
图8说明了一控制系统及其连接的组件的示例。在一些实施例中,此控制系统和相关组件是机器人的一部分,并在机器人移动时,由机器人携带着移动。主印刷电路板(PCB)801上面的微控制器(MCU)800(或其他控制系统或处理器)连接到包括用户界面模块802,用于接收和回应用户输入;保险杠传感器803、地板传感器804、存在传感器805、和边界和障碍物传感器806,如用于检测物体、边缘、充电座和墙壁是否实际接触;主刷组件马达807和侧刷组件马达808;侧轮组件809和前轮组件810,两组件都带有用于测量运动的编码器;真空叶轮马达811;用于地板消毒的紫外线灯组件812;USB组件813,用于用户升级固件;相机和深度模块814,用于构建地图;和电源输入815。主印刷电路板还包括用于充电的电池管理816;用于测量运动的陀螺仪和加速度计817;用于保持时间的实时时钟818;用于内存的同步动态随机存取内存819;用于无线控制的Wi-Fi模块820;和射频模块821,用于限制清扫或与充电站进行通信。图8显示的部件,其目的只是为了说明示例,并不是要限制控制系统和连接到该系统的组件,这并不意味着任何其他描述都是限制性的。箭头的方向表示信息传输的方向,其目的也是用于说明,因为在其他情况下,信息传输的方向可能会有所不同。
图9A和9B说明了如何在一些实施例中,使用原始像素强度数据检测重叠区域,以及如何在重叠点处将数据结合。参照图9A,第一视野中捕获的图像900和在第二视野中捕获的图像901之间的重叠区域,可以通过比较每个捕获图像的像素强度值,并识别两个图像的像素强度值中的匹配模式,通过此方法来确定重叠区域,例如一些实施例使用卷积来确定重叠区域;其中捕获的图像可以是经过变换处理后的输出,变换管线(流程)包括了,例如,标准化像素强度,应用高斯模糊以减少噪声影响,检测模糊输出中的边缘(例如Canny或Haar边缘检测),以及对边缘检测算法的输出,进行阈值分割处理以产生如图所示的位图。线段902表示每个图像中具有高像素强度值的像素(如高于特定阈值的像素)。图像900的区域903和图像901的区域904捕获到环境中的相同区域,因此,在图像900的区域903和图像901的区域904中,可以感测到相同模式(图案)的像素强度值。在图像900和901中识别像素强度值中的匹配模式后,可以确定两个图像之间的重叠区域。在图9B中,图像在重叠区域905进行拼接,合并成较大的环境平面图906。在某些情况下,可以合并与图像对应的数据。例如,深度值可以使用依据图像而定的对齐方法来对齐。图9C中的流程图描述了图9A和9B中所示的过程,其中机器人设备的控制系统在第一阶段907比较两个图像的像素强度(其中图像由机器人设备传感器捕获),在第二阶段908识别两个图像像素强度中的匹配模式,在第三阶段909识别两个图像的重叠像素强度,在第四阶段910通过重叠点合并图像。
图10A-10C说明了如何在一些实施例中,使用原始像素强度数据检测重叠区域,以及如何在重叠点处将数据结合。图10A说明了物体(如墙)的俯视图(平面图),墙有不规则的表面,例如,从观察者的角度,表面1000比表面1001远,表面1002比表面1003远。在一些实施例中,至少一个直线型红外线激光器(被安装成相对于水平平面成向下角度)与至少一个图像传感器耦合,捕获投影到物体不平整表面的线激光的图像,可以从捕获图像中侦测不平整表面的多个点的深度。由于线激光器设置成向下角度,因此在捕获的图像中,激光线的位置在较近的表面上会显示得较高,比较远的表面则显示得较低。类似的方法,可以和安装在水平平面的图像传感器中的激光偏移量一起使用。激光线(或结构光的特征)在图像中的位置,可以通过查找强度高于阈值的像素,来检测出激光线的位置。激光线在捕获的图像中的位置,与激光发射器到激光线成像的表面之间的距离有关。图10B中显示了在两个不同视野的捕获图像1004和1005,以及图像中投影到物体表面的激光线。在图像1004和1005中,位置较低的激光线(如激光线1006和1007),分别对应到物体表面1000和1002,比较远离红外线发射器和图像传感器。相反的,在图像1004和1005中,具有较高位置的激光线(如激光线1008和1009),分别对应到物体表面1001和1003,比较接近红外线发射器和图像传感器。从两个不同的视野捕获的图像1004和1005,可以通过查找两个图像之间的重叠区域,并在重叠点将它们拼接在一起,将它们组合成更大的环境图像。在两个图像中,通过识别有相似的像素强度排列,可以找到重叠区域,其中高强度的像素可能是激光线。例如,在虚线1010范围内,图像1004和1005区域具有类似的像素强度排列,因为两个图像在他们的视野中,捕获了物体的相同部分。因此,图像1004和1005可以拼接在重叠点,以合并成较大的环境图像1011,如图10C所示。激光线在图像1011中的位置(以强度值高于阈值强度的像素表示),可用于从红外线发射器和图像传感器推断物体表面的深度(参见美国专利申请号15/674,310,特此参考)。
在本文提供的方框图中,图示组件被描述为离散的功能块,但本发明的实施例,并不限于本文图示中的架构的系统。每个组件提供的功能,可能由与前述不同的软件或硬件模块提供。例如,此类软件或硬件可以混合、结合、复制、分解、分布(例如分布在数据中心内或分布在不同地理位置),或其他不同结构。本文描述的功能,可能由一个或多个计算机的一个或多个处理器提供,这些处理器执行代码,其中代码存储在有形、非暂时性、机器可读的一个媒体上。在某些情况下,尽管这里指出使用“一个媒体”,但是执行的指令可能分布在不同计算设备的不同存储设备上,例如,每个计算设备具有不同的指令子集,这一实现与此处使用的“一个媒体”是一致的。在某些情况下,第三方的内容分发网络可能托管通过网络传输的一部分或全部信息,在这种情况下,则可以通过发送命令从内容分发网络取得该信息(例如内容)。
读者应该理解,本文描述了几种独立有用的技术。申请人没有将这些技术分成多个独立的专利申请,而是将这些技术合并在一份文件中,因为它们有相关主题及内容,可以使申请过程更加节省。但是,这些技术独特的优点和观点,不应该被混为一谈。在某些情况下,实施例解决本文所述的所有缺陷,但应当了解,这些技术是独立有用的,有些实施例只处理此类问题的一部分,或提供其他未提及的好处,这对于本领域技术人员而言是显而易见的。由于费用限制,本文中公开的某些技术可能目前尚未要求保护,并且可能在以后的申请中要求保护,例如连续专利申请或通过修改本发明的权利要求书。同样,由于篇幅所限,本文的摘要和总结的章节,均不应被视为包含所有此类技术或此类技术的所有观点的完整的列表。
应当理解的,本文内容和附图的目的,不是将目前的技术限制在所公开的特定形式,相反的,其目的是涵盖落在本发明的精神和范围内的所有修改、等同形式、和替代形式,正如同本发明权利要求书所定义的。通过本发明的描述,可将本技术的各种观点做进一步修改和替代实施例,这对本领域技术人员将是显而易见的。因此,说明和图例仅应被解释为说明性的,目的是向本领域技术人员教授实现本技术的一般方式。需要理解的是,本文所描述的本技术的形式,应作为实施例的例子。本文所说明和描述的要素和材料可以被替代,部件和步骤可以被反转或省略,并且本技术的某些特定功能可以单独使用,在受益于本技术的内容之后,这一切对于本领域技术人员来说将是显而易见。可以对本文所述的要素进行改变,而不偏离权利要求书中所描述的本技术的精神和范围。本文使用的标题,仅用于公开本发明的目的,其目的不在于限制本说明书的范围。
在本申请中通篇使用的内容中,词语“可能”或“可以”是允许的意思(也就是表示可能性),而不是强制性的意思(亦即,必须的意思)。“包括”、“包含”等词语的意思是包括,但不限于。在本申请中通篇使用的内容中,除非内容另有明确说明,单数词“一个”、“一种”、“该”和“所述的”,包括复数个对象。因此,例如,对“一个要素”或“一种要素”的引用,包括两个或多个要素的组合,尽管有时候使用其他术语和词语来表示一个或多个要素(如“一个或多个”)。除非另有说明,否则词语“或”是非排他性的,也就是包括“和”和“或”的意思。描述条件关系的术语(例如,“假如X,Y”、“如果X,Y”、“当X时,Y”、等等),包含了因果关系,其中前因X是一个必要的因果条件,前因X是一个充分因果条件,或者前因X是促成的因果条件(例如,“状态X发生在当条件Y成立时”是广泛的表示“X只发生在当Y成立时”和“X发生在当Y和Z都成立的情况下”)。这种条件关系不限于在前因发生之后,立刻发生后果,因为某些后果可能会被延迟,在这类条件句子陈述中,只能说明前因与其后果是有关联的(例如,前因与发生后果的可能性有关系)。在一些陈述句中,多个属性或函数被对应到多个对象(例如,执行步骤A、B、C和D的一个或多个处理器),除非另有说明,不然这类句子包含所有此类属性或函数对应到所有的对像,以及部份属性或函数对应到部份的对像(例如,两个处理器都执行步骤A-D,以及另一个例子处理器1执行步骤A、处理器2执行步骤B和步骤C的一部分、处理器3执行步骤C的一部分和步骤D)。此外,除非另有说明,否则,一个值或动作“基于”或“根据”另一个条件或值的语句,其意思包括两种情况:条件或值是唯一的因素,以及条件或值是多种因素中的一个因素。某些集合中“各个”元素具有某些属性的语句,除非另有说明,否则不应解读为排斥性的,不应被解读为较大集合中某些相同或类似的元素没有该属性(亦即,各个不一定意味着各个以及每一个)。除非明确指出(例如,使用诸如“执行X之后,执行Y”之类的明确语言),否则与列举步骤顺序有关的限制,不应被解读为叙述的主张,这可能错误的暗示执行顺序,例如“在项目上执行X,在第X个项目上执行Y”,这些语句用于使叙述更具可读性,而不是指定顺序。“至少有Z个A、B和C”的语句(例如,“至少Z个A、B或C”),表示至少有Z个指出的类别(A、B和C),并不是要求每个类别至少有Z个单位。除非特别说明,从讨论中可以明显看出,在整份文件中,使用“处理”、“计算”、“确定”或类似术语,都是关于专门设计用于执行所述功能的特定设备(如专用计算机或类似专用电子处理/计算设备)的动作或流程。有关几何构造描述的特征,如“平行”、“垂直/正交”、“正方形”、“圆柱形”等,应解释为包含几何构造本身(例如,当使用“平行”于表面的语句时,表示包含该被平行的物体的表面)。这些柏拉图立体几何结构允许的误差范围,应该参照规范中的范围,如果规范中未定义该范围,则参照该使用领域的行业规范,如果该使用领域一样未定义此范围,则参照该制造业领域的行业规范,如果还是一样未定义此范围,实质上体现几何构造的特征,应解释为包括该几何构造的属性的15%以内的特征。当有复数个符合条件的项目时,不应该从“一个或多个”得到否定的推论,也就是没有指定的项目也可能为复数个。
参考以下列举的实施例,将更能了解本技术:
1.一种感知工作环境空间模型的方法,所述方法包括:工作环境中一移动机器人上的一个或多个传感器可以捕获数据,所述数据表示从所述机器人上的各个不同位姿的传感器到工作环境中的物体表面的深度;利用所述机器人上的一个或多个处理器,取得捕获数据的多个深度图像,其中:各自的深度图像是根据所述机器人移动到工作环境中的不同位置捕获的数据,各自的深度图像包含多个深度数据,所述深度数据表示从各个传感器到对应于所述传感器位姿的工作环境中的物体的距离,以及各个深度图像的深度数据对应于各自的视野;利用所述机器人上的一个或多个处理器,根据多个深度图像的视野之间的重叠区域,将各个深度图像的深度数据对齐;以及利用所述机器人上的一个或多个处理器,并根据深度数据的对齐结果,确定工作环境的空间模型。
2.如实施例1所述的方法,还包括:将至少一部分工作环境的空间模型,存储在所述机器人的存储器中;使用所述机器人上的一个或多个处理器,根据至少一部分的工作环境空间模型,确定机器人的路径;以及使用所述机器人的一个或多个处理器,控制机器人的致动器沿着所述的确定路径移动。
3.实施例1-2的任何一种方法,其中:深度数据与各别的测量值相关联,其中各别的测量值是指各个视野的各个参考系中对应深度的各个角位移的各个值;所述深度图像可通过以下方式获得:处理两个不同传感器位姿的二维光学图像所组合出的立体像对,并且从立体像对中的特征的视差,推断出各个深度图像;获取从深度传感器捕获的飞行时间读数,所述飞行时间是指从机器人发射光或超声波信号到工作环境中被侦测的物体反射回机器人的时间;或者根据捕获的角度对物体深度进行三角测量,所述角度是在机器人发射激光并由各个物体反射到机器人上的图像传感器接收的影像中;多个深度数据包括从传感器到工作环境内的物体的多个深度向量,多个各别的向量包括至少一个各别视野中对应位置的坐标和至少一个指示深度的坐标;以及至少某些视野与相对应的前面一个视野部分重叠。
4.实施例1-3的任何一种方法,其中所述一个或多个传感器包括至少一个图像传感器和至少一个红外线发射器。
5.实施例1-4的任何一种方法,其中对齐方法包括:在多个深度图像中,确定第一深度图像和第二深度图像之间的第一个重叠区域;以及在多个深度图像中,确定第二深度图像和第三深度图像之间的第二个重叠区域,其中第一个重叠区域与第二个重叠区域至少有一部分的差异。
6.实施例5的方法,其中确定第一个重叠区域包括:使用雅可比矩阵来确定第一个重叠区域;以及使用黑塞矩阵来确定第一个重叠区域。
7.实施例5-6的任何一种方法,其中确定第一个重叠区域的方法包括:在第一个深度图像中深度数据的一个或多个空间坐标中,根据深度的导数,在第一个图像的第一位置检测第一个边缘;在第一个深度图像中深度数据的一个或多个空间坐标中,根据深度的导数,在第一个图像中的第二个位置检测第二个边缘;在第二个深度图像中深度数据的一个或多个空间坐标中,根据深度的导数,在第二个图像中的第三个位置检测第三个边缘;根据第三边缘和第二边缘的形状不匹配,确定第三边缘与第二边缘不相同;根据第一边缘和第三边缘的形状至少部分匹配,确定第三边缘与第一边缘相同;以及根据第一个位置和第三个位置之间的差值,确定第一个重叠区域。
8.实施例5-7的任何一种方法,其中确定第一个重叠区域的方法包括:阈值分割第一个深度图像以形成第一个阈值深度图像;阈值分割第二个深度图像以形成第二个阈值深度图像;以及将第一个阈值深度图像与第二个阈值深度图像对齐。
9.实施例5-8的任何一种方法,其中确定第一个重叠区域的方法包括:在至少部分第一深度图像和至少部分第二深度图像的重叠区域中,根据重叠区域的Szymkiewicz-Simpson系数,计算多个候选对齐的对齐分数;以及根据对齐分数从候选对齐中选择一个对齐。
10.实施例5-9的任何一种方法,其中确定第一个重叠区域的方法包括:在第一深度图像的降低分辨率版本与第二深度图像的降低分辨率版本之间,确定两低分辨率图像之间的近似对齐;以及优化近似对齐,其方式为:在第一深度图像和第二深度图像的重叠区域中,确定从近似对齐到候选对齐的位置差异的总量;以及在多个候选对齐中,选择一个可以产生最低总差异量的候选对齐,或选择一个总差异量小于阈值的候选对齐。
11.实施例5-10的任何一种方法,其中确定第一个重叠区域的方法包括:在第一深度图像中,检测一特征;在第二个深度图像中,检测所述特征;在一个或多个传感器的第一参考系中,确定第一值,所述第一值表示在第一深度图像和第二深度图像中,所述特征的位置的差异量;确定第二值,所述第二值表示在取得第一深度图像与第二深度图像时,一个或多个传感器位姿的差异量;以及根据第一值和第二值,确定第一个重叠区域。
12.实施例5-11的任何一种方法,其中确定第一个重叠区域的方法包括:利用核函数将卷积应用于所述第一深度图像,基于各个图像的深度之间的差异,所述卷积可确定至少一部分第一深度图像与至少一部分第二深度图像之间的总测量差异值;以及选择一对齐,所述对齐是卷积结果具有最小总测量差异值的对齐。
13.实施例1-12的任何一种方法,其中确定第一个重叠区域的方法包括:在工作环境的第一参考系中,获得一个向量,所述向量表示在第一深度图像和第二深度图像之间,一个或多个传感器的空间位移量;以及根据所述向量,将第二深度图像和第一深度图像的参考系,变换到相同的参考系。
14.实施例5-13中的任何一种方法,其中确定工作环境的空间模型包括:基于多个深度图像的对齐,确定工作环境的点云模型。
15.实施例5-14中的任何一种方法,其中确定工作环境的空间模型包括:根据多个深度图像的对齐,确定工作环境中表示障碍物的一个二维位图。
16.实施例5-15中的任何一种方法,其中确定工作环境的空间模型包括:从机器人先前构建的地图中,更新工作环境中先前的贝叶斯空间模型。
17.实施例5-16中的任何一种方法,还包括:同步定位机器人的位置和构建工作环境的地图,其中空间模型包括工作环境中的障碍物位置,以及指示这些各自位置的置信度值,其中:置信度值是根据以下至少一项:捕获数据的质量、感知深度中的噪声、从不同视野记录的深度之间的相似性、或者相邻深度的置信度值;以及确定空间模型,包括删除或确定不添加障碍物位置,如果这些位置的置信度值不能满足空间模型的阈值。
18.实施例1-17中的任何一种方法,还包括:构建工作环境的一个平面图的步骤。
19.实施例1-18中的任何一种方法,还包括:根据至少部分空间模型,使用机器人清洁地板。
20.一种机器人,包括:一个致动器,用以在工作环境中移动所述机器人;一个或多个传感器,在机构上耦合到所述机器人;一个或多个处理器,用以从所述一个或多个传感器接收感知数据并控制所述致动器;以及存储器,用以存储指令,所述指令由至少一些处理器执行,包括:执行实施例1-19的任何一个操作。
21.一种使用至少一个相机来构建平面图的方法,所述方法包括:感知从至少一个相机到第一个视野内物体的深度,以便为第一个视野内在指定角度记录深度;移动至少一个照相机;感知从至少一个相机到第二个视野内物体的深度,以便为第二个视野内在指定角度记录深度;使用一个或多个处理器,比较从第一个视野到第二个视野的深度;使用一个或多个处理器,当第一视野和第二视野中多个连续深度相似并小于指定的公差范围时,识别在第一个视野和第二个视野的深度之间的重叠区域;以及在已识别的重叠区域将第一个视野的深度与第二个视野的深度合并,以生成合并的视野。
22.实施例21中的方法,其中:所述的合并的视野代表平面图的一部分;重复所述方法的步骤,通过组合连续重叠视野的深度,使工作环境中的物体被绘制出来;以及移动至少一个相机,包括移动至少一个相机,使连续的视野重叠。
23.实施例21-22的任何一种方法,进一步包括根据预期噪声计算调整范围,其中:调整范围被应用于第一个视野的深度;调整范围包括预期第二个视野的重叠深度会落在所述范围中。
24.实施例21-23中的任何一个方法,进一步包括根据深度的精度为每个深度分配权重,其中增加权重给落在调整范围之内的深度,降低权重给落在调整范围之外的深度,反之亦然,权重较高的深度被分配到更准确的等级,反之亦然。
25.实施例24的方法,其中:从不同视野记录的深度之间的相似性会影响深度的权重;各个深度的权重受各个深度的阈值深度内的其他深度的权重影响;对应于一深度的权重随着每个视野内拍摄的每个深度而变化;重叠区域内深度的权重随着重叠面积的增加而增加;深度权重随重叠于所述深度的其他深度集数量而增加;以及权重小于阈值的深度从至少某些操作中排除。
26.实施例24的方法,其中:从不同视野记录的深度之间的相似性会影响深度的权重;各个深度的权重受各个深度的阈值深度内的其他深度的权重影响;对应于一深度的权重随着每个视野内拍摄的每个深度而变化;重叠区域内深度的权重随着重叠面积的增加而增加;深度权重随重叠于所述深度的其他深度集数量而增加;或者权重小于阈值的深度从至少某些操作中排除。
27.实施例21-26的任何一种方法,其中重叠区域可以被扩展,由初始确定的一个重叠区域再包括所述重叠区域之前和之后的深度。
28.实施例21-26中的任何一种方法,其中:将第一视野的深度与第二个视野的深度结合在重叠区域,进一步还包括估计重叠区域的深度;以及使用第一个视野和第二个视野的重叠深度和数学模型来估计重叠区域的深度。
29.实施例21-28的任何一种方法,其中所述的至少一个相机包括一个深度相机。
30.实施例21-29中的任何一种方法,其中所述的至少一个相机包括一个360度的激光雷达(LIDAR,激光探测及测距)系统。
31.实施例21-30的任何一种方法,其中所述的至少一个相机包括一个数码相机,所述相机被设置与水平平面成一角度,并结合至少一个红外线发射器,所述红外线发射器被配置为将光线投射到物体上。
32.实施例21-31的任何一种方法,更进一步包括:将至少部分平面图储存在存储器中;以及在每次启动时,产成至少部分新的平面图。
33.一个可以产生环境平面图的装置,包括:至少一个安装在机器人设备上并耦合到机器人装置的相机;以及至少一个控制系统耦合到机器人设备,其中:所述至少一个相机配置为感知第一个视野内物体的深度并且所述控制系统配置为记录第一个视野内每一个指定角度的每一个深度,所述至少一个相机配置为移动,所述至少一个相机配置为感知第二个视野内物体的深度并且所述控制系统配置为记录第二个视野内每一个指定角度的每一个深度,所述控制系统配置为比较第一个视野的深度与第二个视野的深度,当第一个视野和第二个视野的连续深度相似并在指定的容差范围内时,所述控制系统配置为识别第一个视野和第二个视野的深度之间的重叠区域;以及所述控制系统配置为将第一个视野和第二个视野合并在被识别的重叠区域。
34.实施例33的装置,其中所述的合并视野代表平面图的一部分。
35.实施例33-34的任何一种装置,其中所述相机被配置为在连续重叠的视野中反复感知深度,并且所述控制系统合并重叠深度以绘制工作环境中的物体。
36.实施例33-35的任何一种装置,其中所述至少一个相机包括一个360度的激光雷达系统。
37.实施例33-36的任何一种装置,其中所述至少一个相机相对于机器人装置有至少一个移动自由度。
38.实施例33-37的任何一种装置,其中:构建出的平面图包括由二维深度构成的二维平面图;构建出的平面图包括由三维深度构成的二维地图;或者构建出的平面图包括由三维深度构成的三维地图。
39.实施例33-38的任何一种装置,其中所述控制系统配置为比较机器人装置和环境边界接触的位置与平面图上相对应边界的位置,来确定平面图的准确性。
40.实施例33-39的任何一种装置,其中所述控制系统配置为完成平面图的建造,在机器人装置已经接触所有环境边界,并且确认每个环境边界接触的位置与平面图中相对应边界位置相吻合后,所述平面图被建造完成。
Claims (30)
1.一种感知工作环境空间模型的方法,所述方法包括:
工作环境中一移动机器人上的一个或多个传感器可以捕获数据,所述数据表示从所述机器人上的各个不同位姿的传感器到工作环境中相对于各个不同传感器位姿的物体的深度;
利用所述机器人上的一个或多个处理器,取得捕获数据的多个深度图像,其中:
各自的深度图像是根据所述机器人移动到工作环境中的不同位置捕获的数据,
各自的深度图像包含多个深度数据,所述的深度数据是从各个传感器到对应于所述传感器位姿的工作环境中的物体的距离,以及
各个深度图像的深度数据对应于各自的视野;
利用所述机器人上的一个或多个处理器,根据多个深度图像的视野之间的重叠区域,将各个深度图像的深度数据对齐;以及
利用所述机器人上的一个或多个处理器,并根据深度数据的对齐结果,确定工作环境的空间模型。
2.根据权利要求1所述的方法,包括:
将至少一部分工作环境的空间模型,存储在所述机器人的存储器中;
使用所述机器人上的一个或多个处理器,根据至少一部分的工作环境空间模型,确定机器人的路径;以及
使用所述机器人的一个或多个处理器,控制机器人的致动器沿着所述的确定路径移动。
3.根据权利要求1所述的方法,其中:
深度数据与各别的测量值相关联,其中各别的测量值是指各个视野的各个参考系中对应深度的各个角位移的各个值;
从机器人发射激光并由各个物体反射到机器人图像传感器,根据捕获的角度对物体深度进行三角测量获得所述深度图像;
多个深度数据包括从传感器到工作环境内的物体的多个深度向量,多个各别的向量包括至少一个各别视野中对应位置的坐标和至少一个指示深度的坐标;以及
至少某些视野与相对应的前面一个视野部分重叠。
4.根据权利要求1所述的方法,其中所述一个或多个传感器包括至少一个图像传感器和至少一个红外线发射器。
5.根据权利要求1所述的方法,其中所述对齐方法包括:
在多个深度图像中,确定第一深度图像和第二深度图像之间的第一个重叠区域;以及
在多个深度图像中,确定第二深度图像和第三深度图像之间的第二个重叠区域,其中第一个重叠区域与第二个重叠区域至少有一部分的差异。
6.根据权利要求5所述的方法,其中确定至少一个第一个重叠区域以及第二个重叠区域包括:
根据雅可比矩阵和黑塞矩阵来确定第一个重叠区域。
7.根据权利要求5所述的方法,其中确定第一个重叠区域的方法包括:
在第一个深度图像中深度数据的一个或多个空间坐标中,根据深度的导数,在第一个图像的第一位置检测第一个边缘;
在第一个深度图像中深度数据的一个或多个空间坐标中,根据深度的导数,在第一个图像中的第二个位置检测第二个边缘;
在第二个深度图像中深度数据的一个或多个空间坐标中,根据深度的导数,在第二个图像中的第三个位置检测第三个边缘;
根据第三边缘和第二边缘的形状不匹配,确定第三边缘与第二边缘不相同;
根据第一边缘和第三边缘的形状至少部分匹配,确定第三边缘与第一边缘相同;以及
根据第一个位置和第三个位置之间的差值,确定第一个重叠区域。
8.根据权利要求5所述的方法,其中确定第一个重叠区域的方法包括:
阈值分割第一个深度图像以形成第一个阈值深度图像;
阈值分割第二个深度图像以形成第二个阈值深度图像;以及
将第一个阈值深度图像与第二个阈值深度图像对齐。
9.根据权利要求5所述的方法,其中确定第一个重叠区域的方法包括:
在至少部分第一深度图像和至少部分第二深度图像的重叠区域中,根据重叠区域的Szymkiewicz-Simpson系数,计算多个候选对齐的对齐分数;以及
根据对齐分数从候选对齐中选择一个对齐。
10.根据权利要求5所述的方法,其中确定第一个重叠区域的方法包括:
在第一深度图像的降低分辨率版本与第二深度图像的降低分辨率版本之间,确定两低分辨率图像之间的近似对齐;以及
优化近似对齐,其方式为:
在第一深度图像和第二深度图像的重叠区域中,确定从近似对齐到候选对齐的位置差异的总量;以及
在多个候选对齐中,选择一个可以产生最低总差异量的候选对齐,或选择一个总差异量小于阈值的候选对齐。
11.根据权利要求5所述的方法,其中确定第一个重叠区域的方法包括:
在第一深度图像中,检测一特征;
在第二个深度图像中,检测所述特征;
在一个或多个传感器的第一参考系中,确定第一值,所述第一值表示在第一深度图像和第二深度图像中,所述特征的位置的差异量;
确定第二值,所述第二值表示在取得第一深度图像与第二深度图像时,一个或多个传感器位姿的差异量;以及
根据第一值和第二值,确定第一个重叠区域。
12.根据权利要求5所述的方法,其中确定第一个重叠区域的方法包括:
利用核函数将卷积应用于所述第一深度图像,基于各个图像的深度之间的差异,所述卷积可确定至少一部分第一深度图像与至少一部分第二深度图像之间的总测量差异值;以及
选择一对齐,所述对齐是卷积结果具有最小总测量差异值的对齐。
13.根据权利要求5所述的方法,其中确定第一个重叠区域的方法包括:
在工作环境的第一参考系中,获得一个向量,所述向量表示在第一深度图像和第二深度图像之间,一个或多个传感器的空间位移量;以及
根据所述向量,将第二深度图像和第一深度图像的参考系,变换到相同的参考系。
14.根据权利要求5所述的方法,其中确定工作环境的空间模型包括:
基于多个深度图像的对齐,确定工作环境的点云模型。
15.根据权利要求5所述的方法,其中确定工作环境的空间模型包括:
根据多个深度图像的对齐,确定工作环境中表示障碍物的一个二维位图。
16.根据权利要求5所述的方法,其中确定工作环境的空间模型包括:
从所述机器人先前构建的地图中,更新工作环境中先前的贝叶斯空间模型。
17.根据权利要求5所述的方法,包括:
同步定位所述机器人的位置和构建工作环境的地图,其中所述空间模型包括工作环境中的障碍物位置,以及指示这些各自位置的置信度值,其中:
置信度值是根据以下至少一项:
捕获数据的质量,
感知深度中的噪声,
从不同视野记录的深度之间的相似性,或者
相邻深度的置信度值;以及
确定所述空间模型,包括删除或确定不添加障碍物位置,如果这些位置的置信度值不能满足空间模型的阈值。
18.根据权利要求1所述的方法,包括:
构建工作环境的至少一个平面图的步骤。
19.根据权利要求1所述的方法,包括:
根据至少部分所述空间模型,使用机器人清洁地板。
20.一种机器人,包括:
一个致动器,用以在工作环境中移动所述机器人;
一个或多个传感器,在机构上耦合到所述机器人;
一个或多个处理器,用以从所述一个或多个传感器接收感知数据并控制所述致动器;以及
存储器存储指令,当这些指令由至少一些处理器执行时,执行的指令包括:
工作环境中一移动机器人上的一个或多个传感器可以捕获数据,所述数据表示从所述机器人上的各个不同位姿的传感器到工作环境中相对于各个不同传感器位姿的物体的深度;
取得捕获数据的多个深度图像,其中:
各自的深度图像是根据所述机器人移动到工作环境中的不同位置捕获的数据,
各自的深度图像包含多个深度数据,所述的深度数据是从各个传感器到对应于所述传感器位姿的工作环境中的物体的距离,以及
各个深度图像的深度数据对应于各自的视野;
根据多个深度图像的视野之间的重叠区域,将各个深度图像的深度数据对齐;以及
根据深度数据的对齐结果,确定工作环境的空间模型。
21.一种使用至少一个相机来构建平面图的方法,所述方法包括:
感知从所述至少一个相机到第一个视野内物体的深度,以便在第一个视野内的指定角度记录深度;
移动所述至少一个照相机;
感知从所述至少一个相机到第二个视野内物体的深度,以便在第二个视野内的指定角度记录深度;
使用一个或多个处理器,比较从第一个视野的深度到第二个视野的深度;
使用一个或多个处理器,当第一视野和第二视野中多个连续深度相似并小于指定的公差范围时,识别在第一个视野和第二个视野的深度之间的重叠区域;以及
在已识别的重叠区域将第一个视野的深度与第二个视野的深度合并,以生成合并的视野。
22.根据权利要求21所述的方法,其中:
所述的合并的视野代表平面图的一部分;
重复所述方法的步骤,通过结合连续重叠视野的深度,使工作环境中的物体被绘制出来;以及
移动所述至少一个相机,包括移动所述至少一个相机,使得连续的视野重叠。
23.根据权利要求21所述的方法,进一步包括根据预期噪声计算调整范围,其中:调整范围是根据第一个视野的深度而得到的;
调整范围包括一范围,预期第二个视野的重叠深度会落在所述范围中。
24.根据权利要求21所述的方法,进一步包括根据深度的精度为每个深度分配权重,其中给落在所述调整范围之内的深度增加权重,给落在所述调整范围之外的深度降低权重,反之亦然,权重较高的深度被分配到更准确的等级,反之亦然。
25.根据权利要求24所述的方法,其中:
不同视野记录的深度之间的相似性,会影响深度的权重;
各个深度的权重受该深度的阈值距离内的其他深度的权重影响;
各个深度的权重随着每个视野内拍摄的深度而变化;
重叠区域内深度的权重随着重叠面积的增加而增加;
深度权重随重叠于所述深度的其他深度集数量而增加;以及
权重小于阈值的深度从至少某些运算中排除。
26.根据权利要求24所述的方法,其中:
不同视野记录的深度之间的相似性,会影响深度的权重;
各个深度的权重受该深度的阈值距离内的其他深度的权重影响;
各个深度的权重随着每个视野内拍摄的深度而变化;
重叠区域内深度的权重随着重叠面积的增加而增加;
深度权重随重叠于所述深度的其他深度集数量而增加;或者
权重小于阈值的深度从至少某些运算中排除。
27.根据权利要求21所述的方法,其中重叠区域可以被扩展,由初始确定的一个重叠区域再包括所述重叠区域之前和之后的深度。
28.根据权利要求21所述的方法,其中:
将第一视野的深度与第二个视野的深度结合在重叠区域,进一步还包括估计重叠区域的深度;以及
使用第一个视野和第二个视野的重叠深度和数学模型来估计重叠区域的深度。
29.根据权利要求21所述的方法,其中所述的至少一个相机包括一个深度相机。
30.根据权利要求21所述的方法,其中所述的至少一个相机包括一个360度的激光雷达(LIDAR,激光探测及测距)系统。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762537858P | 2017-07-27 | 2017-07-27 | |
US201762591219P | 2017-11-28 | 2017-11-28 | |
US201862618964P | 2018-01-18 | 2018-01-18 | |
PCT/US2019/053662 WO2020023982A2 (en) | 2017-07-27 | 2019-09-27 | Method and apparatus for combining data to construct a floor plan |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112868225A true CN112868225A (zh) | 2021-05-28 |
CN112868225B CN112868225B (zh) | 2024-03-15 |
Family
ID=65038841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980049794.1A Active CN112868225B (zh) | 2017-07-27 | 2019-09-27 | 结合数据以构建平面图的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10482619B2 (zh) |
CN (1) | CN112868225B (zh) |
CA (1) | CA3117899A1 (zh) |
WO (1) | WO2020023982A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486878A (zh) * | 2021-07-08 | 2021-10-08 | 南通科技职业学院 | 一种图形化交互式机器视觉系统 |
CN113689502A (zh) * | 2021-09-01 | 2021-11-23 | 南京信息工程大学 | 一种多信息融合的障碍物测量方法 |
CN113763263A (zh) * | 2021-07-27 | 2021-12-07 | 华能伊敏煤电有限责任公司 | 基于点云尾气过滤技术的水雾尾气噪声处理方法 |
Families Citing this family (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10809071B2 (en) * | 2017-10-17 | 2020-10-20 | AI Incorporated | Method for constructing a map while performing work |
US11835343B1 (en) * | 2004-08-06 | 2023-12-05 | AI Incorporated | Method for constructing a map while performing work |
GB2552648B (en) * | 2016-07-22 | 2020-09-16 | Imperial College Sci Tech & Medicine | Estimating dimensions for an enclosed space using a multi-directional camera |
US10271033B2 (en) * | 2016-10-31 | 2019-04-23 | Verizon Patent And Licensing Inc. | Methods and systems for generating depth data by converging independently-captured depth maps |
EP3608872B1 (en) * | 2017-05-05 | 2023-07-12 | Shanghai United Imaging Healthcare Co., Ltd. | Image segmentation method and system |
CN107610212B (zh) * | 2017-07-25 | 2020-05-12 | 深圳大学 | 场景重建方法、装置、计算机设备以及计算机存储介质 |
US10482619B2 (en) | 2017-07-27 | 2019-11-19 | AI Incorporated | Method and apparatus for combining data to construct a floor plan |
US11348269B1 (en) * | 2017-07-27 | 2022-05-31 | AI Incorporated | Method and apparatus for combining data to construct a floor plan |
US10832078B2 (en) * | 2017-08-11 | 2020-11-10 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for concurrent reconstruction of dynamic and static objects |
US11274929B1 (en) * | 2017-10-17 | 2022-03-15 | AI Incorporated | Method for constructing a map while performing work |
JP7051366B2 (ja) * | 2017-10-18 | 2022-04-11 | 株式会社東芝 | 情報処理装置、学習済モデル、情報処理方法、およびプログラム |
US10528851B2 (en) * | 2017-11-27 | 2020-01-07 | TuSimple | System and method for drivable road surface representation generation using multimodal sensor data |
EP4345566A3 (en) * | 2018-03-26 | 2024-06-26 | Jabil Inc. | Apparatus, system, and method of using depth assessment for autonomous robot navigation |
US10917628B2 (en) * | 2018-04-02 | 2021-02-09 | Mediatek Inc. | IR pattern characteristics for active stereo matching |
EP3550506B1 (en) * | 2018-04-05 | 2021-05-12 | Everdrone AB | A method for improving the interpretation of the surroundings of a uav, and a uav system |
US10999524B1 (en) | 2018-04-12 | 2021-05-04 | Amazon Technologies, Inc. | Temporal high dynamic range imaging using time-of-flight cameras |
CN112020630B (zh) * | 2018-04-27 | 2024-06-28 | 北京嘀嘀无限科技发展有限公司 | 用于更新建筑物的3d模型的系统和方法 |
CN108717710B (zh) * | 2018-05-18 | 2022-04-22 | 京东方科技集团股份有限公司 | 室内环境下的定位方法、装置及系统 |
CN112292690A (zh) * | 2018-06-14 | 2021-01-29 | 奇跃公司 | 增强现实深度手势网络 |
US10708484B2 (en) | 2018-06-20 | 2020-07-07 | Amazon Technologies, Inc. | Detecting interference between time-of-flight cameras using modified image sensor arrays |
US10674063B2 (en) * | 2018-06-20 | 2020-06-02 | Amazon Technologies, Inc. | Synchronizing time-of-flight cameras |
US11216009B2 (en) * | 2018-06-25 | 2022-01-04 | Intrinsic Innovation Llc | Robot coordination in a shared workspace |
US10948297B2 (en) * | 2018-07-09 | 2021-03-16 | Samsung Electronics Co., Ltd. | Simultaneous location and mapping (SLAM) using dual event cameras |
US10681338B1 (en) | 2018-07-24 | 2020-06-09 | Amazon Technologies, Inc. | Detecting interference in depth images captured using overlapping depth cameras |
US10902172B2 (en) * | 2018-08-13 | 2021-01-26 | Faro Technologies, Inc. | System and method of automatic re-localization and automatic alignment of existing non-digital floor plans |
US10832437B2 (en) * | 2018-09-05 | 2020-11-10 | Rakuten, Inc. | Method and apparatus for assigning image location and direction to a floorplan diagram based on artificial intelligence |
WO2020076952A1 (en) * | 2018-10-09 | 2020-04-16 | Google Llc | Placing augmented reality objects in an image based on device position |
WO2020092367A1 (en) * | 2018-10-29 | 2020-05-07 | Brain Corporation | Systems, apparatuses, and methods for dynamic filtering of high intensity broadband electromagnetic waves from image data from a sensor coupled to a robot |
US11243988B2 (en) * | 2018-11-29 | 2022-02-08 | International Business Machines Corporation | Data curation on predictive data modelling platform |
GB2580690B (en) * | 2019-01-24 | 2023-03-29 | Imperial College Innovations Ltd | Mapping an environment using a state of a robotic device |
US11676367B1 (en) * | 2019-02-07 | 2023-06-13 | Hrl Laboratories, Llc | System and method for anomaly detection using anomaly cueing |
JP7275636B2 (ja) * | 2019-02-22 | 2023-05-18 | セイコーエプソン株式会社 | 無人搬送システム及び無人搬送車の自己位置推定方法 |
WO2020181418A1 (en) * | 2019-03-08 | 2020-09-17 | SZ DJI Technology Co., Ltd. | Techniques for collaborative map construction between unmanned aerial vehicle and ground vehicle |
CN110119449B (zh) * | 2019-05-14 | 2020-12-25 | 湖南大学 | 一种基于序列增强胶囊网络的刑事案件罪名预测方法 |
CN110163273B (zh) * | 2019-05-14 | 2021-02-12 | 西安文理学院 | 一种基于ransac算法的带有遗传因子的图像匹配方法 |
CN110427756B (zh) * | 2019-06-20 | 2021-05-04 | 中国人民解放军战略支援部队信息工程大学 | 基于胶囊网络的安卓恶意软件检测方法及装置 |
KR102275300B1 (ko) | 2019-07-05 | 2021-07-08 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR102224637B1 (ko) | 2019-07-05 | 2021-03-08 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
EP3761220A1 (en) | 2019-07-05 | 2021-01-06 | Everdrone AB | Method for improving the interpretation of the surroundings of a vehicle |
KR102361130B1 (ko) | 2019-07-11 | 2022-02-09 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR102297496B1 (ko) * | 2019-07-11 | 2021-09-02 | 엘지전자 주식회사 | 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법 |
KR102302575B1 (ko) | 2019-07-16 | 2021-09-14 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
US12008790B2 (en) | 2019-09-24 | 2024-06-11 | Apple Inc. | Encoding three-dimensional data for processing by capsule neural networks |
EP3798665A1 (en) * | 2019-09-26 | 2021-03-31 | Zenuity AB | Method and system for aligning radar detection data |
CN110706263B (zh) * | 2019-09-30 | 2023-06-06 | 武汉工程大学 | 一种图像处理方法、装置、设备和计算机可读存储介质 |
EP4073688A4 (en) * | 2019-12-12 | 2023-01-25 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | TARGET DETECTION METHOD, DEVICE, TERMINAL EQUIPMENT, AND MEDIA |
US11501462B2 (en) * | 2019-12-13 | 2022-11-15 | Sony Group Corporation | Multi-view three-dimensional positioning |
US11450018B1 (en) * | 2019-12-24 | 2022-09-20 | X Development Llc | Fusing multiple depth sensing modalities |
US20210231808A1 (en) * | 2020-01-29 | 2021-07-29 | Melexis Technologies Nv | Depth mapping system and method therefor |
US20210239839A1 (en) * | 2020-01-30 | 2021-08-05 | Melexis Technologies Nv | Depth mapping system and method therefor |
US11577395B2 (en) | 2020-02-17 | 2023-02-14 | Toyota Research Institute, Inc. | Systems for determining location using robots with deformable sensors |
US11928873B2 (en) | 2020-03-04 | 2024-03-12 | Magic Leap, Inc. | Systems and methods for efficient floorplan generation from 3D scans of indoor scenes |
JP2021148746A (ja) * | 2020-03-23 | 2021-09-27 | 株式会社リコー | 測距装置及び測距方法 |
CN111580131B (zh) * | 2020-04-08 | 2023-07-07 | 西安邮电大学 | 三维激光雷达智能车在高速公路上识别车辆的方法 |
CN111211984B (zh) * | 2020-04-20 | 2020-07-10 | 中国人民解放军国防科技大学 | 优化cdn网络的方法、装置及电子设备 |
KR20210130476A (ko) * | 2020-04-22 | 2021-11-01 | 엘지전자 주식회사 | 광학 장치 및 이를 구비하는 카메라 장치와 전자기기 |
DE102020206355A1 (de) | 2020-05-20 | 2021-11-25 | BSH Hausgeräte GmbH | Erstellen einer Umgebungskarte |
CN113705553B (zh) * | 2020-05-20 | 2024-01-26 | 深圳清华大学研究院 | 视觉任务执行方法、装置、电子设备、存储介质及系统 |
CN111784837B (zh) * | 2020-06-28 | 2024-04-16 | 北京百度网讯科技有限公司 | 高精地图生成方法、装置、设备、存储介质和程序产品 |
CN112069607B (zh) * | 2020-07-17 | 2024-07-16 | 北京动力机械研究所 | 整体叶轮成组分类编码与几何特征参数计算方法及装置 |
CN112833890B (zh) * | 2020-12-30 | 2024-08-13 | 深圳市海柔创新科技有限公司 | 地图构建方法、装置、设备、机器人及存储介质 |
US11429112B2 (en) * | 2020-12-31 | 2022-08-30 | Ubtech North America Research And Development Center Corp | Mobile robot control method, computer-implemented storage medium and mobile robot |
US12078506B2 (en) * | 2021-03-02 | 2024-09-03 | Yujin Robot Co., Ltd. | Region segmentation apparatus and method for map decomposition of robot |
US12020445B2 (en) | 2021-03-30 | 2024-06-25 | Distech Controls Inc. | Method and computing device using a neural network to localize an overlap between two thermal images respectively generated by two infrared sensors |
US11868931B2 (en) * | 2021-03-31 | 2024-01-09 | Kabushiki Kaisha Toshiba | Reliability-aware multi-agent coverage path planning |
US12028345B2 (en) | 2021-05-19 | 2024-07-02 | Bank Of America Corporation | Information security system and method for identifying trusted machines for machine-to-machine (M2M) security and validation |
US20220377973A1 (en) * | 2021-05-25 | 2022-12-01 | Scythe Robotics, Inc. | Method and apparatus for modeling an environment proximate an autonomous system |
EP4298610A4 (en) * | 2021-05-25 | 2024-08-21 | Samsung Electronics Co Ltd | METHOD AND ELECTRONIC APPARATUS FOR ACQUIRING A FLOOR MAP OF A ROOM LAYOUT |
CN113269877B (zh) * | 2021-05-25 | 2023-02-21 | 三星电子(中国)研发中心 | 获取房间布局平面图的方法和电子设备 |
US11625553B2 (en) * | 2021-06-01 | 2023-04-11 | Buildingestimates.Com Limited | Rapid and accurate modeling of a building construction structure including estimates, detailing, and take-offs using artificial intelligence |
CN113379025B (zh) * | 2021-07-09 | 2024-08-13 | 西安旌旗电子股份有限公司 | 一种基于光电传感器模拟视觉的智能水表及计数方法 |
US11269060B1 (en) * | 2021-07-09 | 2022-03-08 | Locometric Limited | Determination of whether a boundary includes an interruption |
KR20230016487A (ko) * | 2021-07-26 | 2023-02-02 | 현대자동차주식회사 | 장애물 형상 추정 장치 및 그 방법 |
US20230230260A1 (en) * | 2022-01-18 | 2023-07-20 | Pony Ai Inc. | Hardware-based point-cloud matching |
WO2023229600A1 (en) * | 2022-05-26 | 2023-11-30 | Innopeak Technology, Inc. | Closed-loop pose detection and mapping in slam |
DE102023002110B3 (de) | 2023-05-24 | 2024-07-18 | Sew-Eurodrive Gmbh & Co Kg | Verfahren zum Betrieb einer technischen Anlage und technische Anlage |
CN116522045B (zh) * | 2023-07-03 | 2023-08-25 | 国网北京市电力公司 | 电力设施占地可通行能力计算方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120194516A1 (en) * | 2011-01-31 | 2012-08-02 | Microsoft Corporation | Three-Dimensional Environment Reconstruction |
US20140350839A1 (en) * | 2013-05-23 | 2014-11-27 | Irobot Corporation | Simultaneous Localization And Mapping For A Mobile Robot |
US20160012633A1 (en) * | 2014-07-09 | 2016-01-14 | Google Inc. | High-Quality Stereo Reconstruction Featuring Depth Map Alignment and Outlier Identification |
WO2017041730A1 (zh) * | 2015-09-09 | 2017-03-16 | 北京进化者机器人科技有限公司 | 一种移动机器人避障导航的方法和系统 |
WO2018098915A1 (zh) * | 2016-11-29 | 2018-06-07 | 深圳市元征科技股份有限公司 | 清洁机器人的控制方法及清洁机器人 |
CN109998429A (zh) * | 2018-01-05 | 2019-07-12 | 艾罗伯特公司 | 用于情境感知的移动清洁机器人人工智能 |
CN110260866A (zh) * | 2019-07-19 | 2019-09-20 | 闪电(昆山)智能科技有限公司 | 一种基于视觉传感器的机器人定位与避障方法 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0168189B1 (ko) | 1995-12-01 | 1999-02-01 | 김광호 | 로보트의 환경인식장치 및 그 제어방법 |
JP4302872B2 (ja) * | 2000-12-12 | 2009-07-29 | パナソニック株式会社 | ランドマーク更新システムおよびナビゲーション装置 |
US6690134B1 (en) * | 2001-01-24 | 2004-02-10 | Irobot Corporation | Method and system for robot localization and confinement |
JP4159794B2 (ja) * | 2001-05-02 | 2008-10-01 | 本田技研工業株式会社 | 画像処理装置及び方法 |
EP2287696B1 (en) * | 2001-06-12 | 2018-01-10 | iRobot Corporation | Method and system for multi-code coverage for an autonomous robot |
US7663333B2 (en) * | 2001-06-12 | 2010-02-16 | Irobot Corporation | Method and system for multi-mode coverage for an autonomous robot |
US6667592B2 (en) | 2001-08-13 | 2003-12-23 | Intellibot, L.L.C. | Mapped robot system |
US20030160788A1 (en) * | 2002-02-28 | 2003-08-28 | Buehler David B. | Pixel pruning and rendering apparatus and method |
US7113847B2 (en) * | 2002-05-07 | 2006-09-26 | Royal Appliance Mfg. Co. | Robotic vacuum with removable portable vacuum and semi-automated environment mapping |
WO2004015369A2 (en) | 2002-08-09 | 2004-02-19 | Intersense, Inc. | Motion tracking system and method |
US7145478B2 (en) * | 2002-12-17 | 2006-12-05 | Evolution Robotics, Inc. | Systems and methods for controlling a density of visual landmarks in a visual simultaneous localization and mapping system |
US20050234679A1 (en) * | 2004-02-13 | 2005-10-20 | Evolution Robotics, Inc. | Sequential selective integration of sensor data |
KR101240732B1 (ko) * | 2005-02-18 | 2013-03-07 | 아이로보트 코퍼레이션 | 습식 및 건식 청소를 위한 자동 표면 청소 로봇 |
KR100843085B1 (ko) | 2006-06-20 | 2008-07-02 | 삼성전자주식회사 | 이동 로봇의 격자지도 작성 방법 및 장치와 이를 이용한영역 분리 방법 및 장치 |
JP4645601B2 (ja) * | 2007-02-13 | 2011-03-09 | トヨタ自動車株式会社 | 環境地図の生成方法及び移動ロボット |
WO2009023044A2 (en) * | 2007-04-24 | 2009-02-19 | 21 Ct, Inc. | Method and system for fast dense stereoscopic ranging |
US8558832B1 (en) * | 2007-06-19 | 2013-10-15 | Nvida Corporation | System, method, and computer program product for generating a plurality of two-dimensional images and depth maps for a scene at a point in time |
GB0908200D0 (en) * | 2009-05-13 | 2009-06-24 | Red Cloud Media Ltd | Method of simulation of a real physical environment |
TWI391874B (zh) * | 2009-11-24 | 2013-04-01 | Ind Tech Res Inst | 地圖建置方法與裝置以及利用該地圖的定位方法 |
KR101682175B1 (ko) | 2010-01-20 | 2016-12-02 | 삼성전자주식회사 | 그리드 맵 생성 장치 및 방법 |
US9367770B2 (en) * | 2011-08-30 | 2016-06-14 | Digimarc Corporation | Methods and arrangements for identifying objects |
EP2751777B1 (en) * | 2011-08-31 | 2019-08-07 | Apple Inc. | Method for estimating a camera motion and for determining a three-dimensional model of a real environment |
JP2013073598A (ja) * | 2011-09-29 | 2013-04-22 | Sony Corp | 画像処理装置、画像処理方法、及びプログラム |
US9349195B2 (en) * | 2012-03-19 | 2016-05-24 | Google Inc. | Apparatus and method for spatially referencing images |
EP2903787B1 (en) * | 2012-10-05 | 2019-05-15 | iRobot Corporation | Robot management systems for determining docking station pose including mobile robots and methods using same |
US9596445B2 (en) * | 2012-11-30 | 2017-03-14 | Panasonic Intellectual Property Management Co., Ltd. | Different-view image generating apparatus and different-view image generating method |
GB201303540D0 (en) * | 2013-02-27 | 2013-04-10 | Arithmetica Ltd | Image processing |
CN103973978B (zh) * | 2014-04-17 | 2018-06-26 | 华为技术有限公司 | 一种实现重对焦的方法和电子设备 |
US10659750B2 (en) * | 2014-07-23 | 2020-05-19 | Apple Inc. | Method and system for presenting at least part of an image of a real object in a view of a real environment, and method and system for selecting a subset of a plurality of images |
US9973694B1 (en) * | 2014-08-21 | 2018-05-15 | Jaunt Inc. | Image stitching to form a three dimensional panoramic image |
US10488865B2 (en) * | 2014-12-16 | 2019-11-26 | Al Incorporated | Methods and systems for robotic surface coverage |
JP6445151B2 (ja) * | 2015-05-22 | 2018-12-26 | 富士フイルム株式会社 | ロボット装置及びロボット装置の移動制御方法 |
WO2017091927A1 (zh) * | 2015-11-30 | 2017-06-08 | 华为技术有限公司 | 图像处理方法和双摄像头系统 |
US10271033B2 (en) * | 2016-10-31 | 2019-04-23 | Verizon Patent And Licensing Inc. | Methods and systems for generating depth data by converging independently-captured depth maps |
US9753964B1 (en) * | 2017-01-19 | 2017-09-05 | Acquire Media Ventures, Inc. | Similarity clustering in linear time with error-free retrieval using signature overlap with signature size matching |
KR102647351B1 (ko) * | 2017-01-26 | 2024-03-13 | 삼성전자주식회사 | 3차원의 포인트 클라우드를 이용한 모델링 방법 및 모델링 장치 |
US10373362B2 (en) * | 2017-07-06 | 2019-08-06 | Humaneyes Technologies Ltd. | Systems and methods for adaptive stitching of digital images |
US10578453B2 (en) * | 2017-07-14 | 2020-03-03 | Rosemount Aerospace Inc. | Render-based trajectory planning |
US10353399B2 (en) * | 2017-07-21 | 2019-07-16 | AI Incorporated | Polymorphic path planning for robotic devices |
US10482619B2 (en) * | 2017-07-27 | 2019-11-19 | AI Incorporated | Method and apparatus for combining data to construct a floor plan |
-
2018
- 2018-07-27 US US16/048,179 patent/US10482619B2/en active Active
- 2018-07-27 US US16/048,185 patent/US10915114B2/en active Active
-
2019
- 2019-09-27 CN CN201980049794.1A patent/CN112868225B/zh active Active
- 2019-09-27 CA CA3117899A patent/CA3117899A1/en active Pending
- 2019-09-27 WO PCT/US2019/053662 patent/WO2020023982A2/en active Application Filing
- 2019-10-07 US US16/594,923 patent/US10740920B1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120194516A1 (en) * | 2011-01-31 | 2012-08-02 | Microsoft Corporation | Three-Dimensional Environment Reconstruction |
US20140350839A1 (en) * | 2013-05-23 | 2014-11-27 | Irobot Corporation | Simultaneous Localization And Mapping For A Mobile Robot |
US20150212521A1 (en) * | 2013-05-23 | 2015-07-30 | Irobot Corporation | Simultaneous Localization And Mapping For A Mobile Robot |
US20160012633A1 (en) * | 2014-07-09 | 2016-01-14 | Google Inc. | High-Quality Stereo Reconstruction Featuring Depth Map Alignment and Outlier Identification |
WO2017041730A1 (zh) * | 2015-09-09 | 2017-03-16 | 北京进化者机器人科技有限公司 | 一种移动机器人避障导航的方法和系统 |
WO2018098915A1 (zh) * | 2016-11-29 | 2018-06-07 | 深圳市元征科技股份有限公司 | 清洁机器人的控制方法及清洁机器人 |
CN109998429A (zh) * | 2018-01-05 | 2019-07-12 | 艾罗伯特公司 | 用于情境感知的移动清洁机器人人工智能 |
CN110260866A (zh) * | 2019-07-19 | 2019-09-20 | 闪电(昆山)智能科技有限公司 | 一种基于视觉传感器的机器人定位与避障方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486878A (zh) * | 2021-07-08 | 2021-10-08 | 南通科技职业学院 | 一种图形化交互式机器视觉系统 |
CN113486878B (zh) * | 2021-07-08 | 2023-09-26 | 南通科技职业学院 | 一种图形化交互式机器视觉系统 |
CN113763263A (zh) * | 2021-07-27 | 2021-12-07 | 华能伊敏煤电有限责任公司 | 基于点云尾气过滤技术的水雾尾气噪声处理方法 |
CN113689502A (zh) * | 2021-09-01 | 2021-11-23 | 南京信息工程大学 | 一种多信息融合的障碍物测量方法 |
CN113689502B (zh) * | 2021-09-01 | 2023-06-30 | 南京信息工程大学 | 一种多信息融合的障碍物测量方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112868225B (zh) | 2024-03-15 |
WO2020023982A9 (en) | 2020-03-19 |
CA3117899A1 (en) | 2020-01-30 |
US10482619B2 (en) | 2019-11-19 |
US20190035099A1 (en) | 2019-01-31 |
US10740920B1 (en) | 2020-08-11 |
WO2020023982A2 (en) | 2020-01-30 |
US10915114B2 (en) | 2021-02-09 |
US20190035100A1 (en) | 2019-01-31 |
WO2020023982A3 (en) | 2020-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112868225B (zh) | 结合数据以构建平面图的方法和装置 | |
US12098926B2 (en) | Methods for finding the perimeter of a place using observed coordinates | |
US11747823B2 (en) | Monocular modes for autonomous platform guidance systems with auxiliary sensors | |
US11276191B2 (en) | Estimating dimensions for an enclosed space using a multi-directional camera | |
Lin et al. | Autonomous aerial navigation using monocular visual‐inertial fusion | |
US10192113B1 (en) | Quadocular sensor design in autonomous platforms | |
EP3447532B1 (en) | Hybrid sensor with camera and lidar, and moving object | |
WO2018071416A1 (en) | Laser scanner with real-time, online ego-motion estimation | |
EP3427008A1 (en) | Laser scanner with real-time, online ego-motion estimation | |
US11561102B1 (en) | Discovering and plotting the boundary of an enclosure | |
JP7166446B2 (ja) | ロボットの姿勢を推定するシステムおよび方法、ロボット、並びに記憶媒体 | |
US20200064481A1 (en) | Autonomous mobile device, control method and storage medium | |
Sohn et al. | An efficient localization algorithm based on vector matching for mobile robots using laser range finders | |
Goron et al. | 3D laser scanning system and 3D segmentation of urban scenes | |
US11835343B1 (en) | Method for constructing a map while performing work | |
Guerra-Hernandez et al. | An OGM‐Based Visual Navigation System with Reduced Homographies and Accurate Computations for Mobile Robots | |
Hull | Real-time occupancy grid mapping using LSD-SLAM | |
Sujan et al. | A new technique in mobile robot simultaneous localization and mapping | |
WANG | 2D Mapping Solutionsfor Low Cost Mobile Robot | |
Sujan et al. | MOBILE ROBOT LOCALIZATION AND MAPPING USING SPACE INVARIANT TRANSFORMS | |
Sharma | Mobile Robot Path Finding Using Invariant Landmarks | |
Barshan | The International Journal of Robotics | |
Harper | Fast Template Matching For Vision-Based Localization |
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 |