CN110411441B - 用于多模态映射和定位的***和方法 - Google Patents

用于多模态映射和定位的***和方法 Download PDF

Info

Publication number
CN110411441B
CN110411441B CN201910366556.5A CN201910366556A CN110411441B CN 110411441 B CN110411441 B CN 110411441B CN 201910366556 A CN201910366556 A CN 201910366556A CN 110411441 B CN110411441 B CN 110411441B
Authority
CN
China
Prior art keywords
robotic device
layer
map
pose
tag
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.)
Active
Application number
CN201910366556.5A
Other languages
English (en)
Other versions
CN110411441A (zh
Inventor
戚乘至
程辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingbangda Trade Co Ltd
Beijing Jingdong Qianshi Technology Co Ltd
JD com American Technologies Corp
Original Assignee
Beijing Jingdong Qianshi Technology Co Ltd
JD com American Technologies Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Qianshi Technology Co Ltd, JD com American Technologies Corp filed Critical Beijing Jingdong Qianshi Technology Co Ltd
Publication of CN110411441A publication Critical patent/CN110411441A/zh
Application granted granted Critical
Publication of CN110411441B publication Critical patent/CN110411441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control 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/0248Control 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 in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Optics & Photonics (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)

Abstract

一种用于映射和定位的***包括第一机器人设备和第二机器人设备以及放置在环境的预定位置处的基准标签。第一机器人设备的质量优于第二机器人设备。第一机器人设备准备高分辨率多层地图,并且第二机器人设备将多层地图用于进行快速准确的定位。第一机器人设备具有视觉传感器以及光检测和测距(LIDAR)设备,并配置为通过以下方式准备多层地图:使用由所述视觉传感器捕获的图像来构建所述环境的特征点云层;构建包括标签的标识和位置在内的标签层;使用LIDAR扫描来构建占用地图;以及形成具有特征点云层、标签层和占用地图层的多层地图,其中所述特征点云层、所述标签层和所述占用地图层共享相同坐标系。

Description

用于多模态映射和定位的***和方法
技术领域
本发明总体上涉及图像处理领域,更具体地涉及用于使用多模态进行快速机器人定位的***和方法。
背景技术
本文提供的背景描述是出于总体上呈现本发明的背景的目的。目前提到的发明人的工作(其在本背景技术部分中描述的程度)以及在提交时可能不具有现有技术资格的描述的各方面既不明确也不暗示地被认为是针对本发明的现有技术。
在机器人研究中,同步定位和映射(SLAM)可以结合不同的传感器形态以多种方式实现,包括光探测测距(LIDAR)、相机、惯性测量单元(IMU)、全球定位***(GPS)等。然而,困难在于实现即时姿势恢复和即时定位。基于立体相机的视觉惯性测程(VIO)法可以通过两帧的即时拍摄来帮助机器人恢复姿势,但是对于大型地图而言,定位的计算负担非常昂贵,并且当地图具有许多类似的区域/区时存在不准确性。如激光扫描、雷达扫描的其他方法可能需要多次扫描以执行定位。GPS可以以有限的精确度引导机器人快速进行室外定位,但在室内或信号环境较差的环境下其性能非常差。
因此,本领域中存在未解决的需求以解决上述缺陷和不足。
发明内容
在某些方面,本发明涉及一种用于映射和定位的***。在某些实施例中,该***包括用于准备多层地图的第一机器人设备和放置在环境内的预定位置中的多个标签。所述第一机器人设备具有用于捕获所述环境的第一图像的第一视觉传感器以及第一控制器。所述第一控制器包括第一处理器和存储第一计算机可执行代码的第一存储设备。所述第一计算机可执行代码在在所述第一处理器处执行时被配置为:
使用由所述第一视觉传感器捕获的第一图像来构建所述环境的特征点云层;
构建包括所述多个标签的标识和所述多个标签的位置在内的标签层;以及
使用所述特征点云层和所述标签层来形成所述多层地图,其中,所述特征点云层和所述标签层共享相同的坐标系。
在某些实施例中,第一机器人设备还具有第一光检测和测距(LIDAR)设备。执行的第一计算机可执行代码被配置为使用由所述第一LIDAR设备捕获的扫描来构建占用地图,并将所述占用地图结合到所述多层地图中作为占用地图层,使得所述占用地图层、所述特征点云层和所述标签层具有相同的坐标系。
在某些实施例中,第一机器人设备还具有安装在所述第一机器人设备上的第一惯性测量单元(IMU)或第一轮编码器。所述第一计算机可执行代码在在所述第一处理器处执行时被配置为通过以下方式更新多层地图:
通过所述第一视觉传感器捕获当前图像;
从所述当前图像中提取特征;
将从所述当前图像中提取的特征与所述第一机器人设备的前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第一机器人设备的当前姿势;
使用来自所述第一IMU或所述第一轮编码器的度量来更新所述第一机器人设备的当前姿势,以获得所述第一机器人设备的更新的当前姿势;
从所述当前图像中检测所述标签;
基于所述第一机器人设备的更新的当前姿势和所述当前图像中的检测到的标签的位置来计算所述标签的姿势;以及
基于所述第一机器人设备的更新的当前姿势和所述标签的姿势来更新所述多层地图。
在某些实施例中,第一计算机可执行代码在在第一处理器处执行时还被配置为:通过将检测到的标签与记录在所述多层地图的标签层中的标签相匹配来检测循环闭合;以及使用检测到的循环闭合来进一步更新所述第一机器人设备的更新的当前姿势。
在某些实施例中,该***还包括第二机器人设备。第二机器人设备包括用于捕获环境的第二图像的第二视觉传感器和第二控制器。第二视觉传感器的分辨率低于第一视觉传感器的分辨率。第二控制器具有第二处理器和存储第二计算机可执行代码的第二存储设备。第二计算机可执行代码在在第二处理器处执行时被配置为:通过将从第二图像中检测到的标签与在多层地图中存储的标签的位置相匹配来定位第二机器人设备。
在某些实施例中,第二机器人设备还具有第二光检测和测距(LIDAR)设备。执行的第二计算机可执行代码被配置为将在LIDAR设备的扫描中检测到的特征与存储在占用地图层中的特征相匹配。
在某些实施例中,第二机器人设备还具有安装在所述第二机器人设备上的第二惯性测量单元(IMU)或第二轮编码器。所述第二计算机可执行代码在在所述第二处理器处执行时被配置为通过以下方式使用多层地图:
通过所述第二视觉传感器来捕获当前定位图像;
从所述当前定位图像中提取特征;
将从所述当前定位图像中提取的特征与所述第二机器人设备的前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第二机器人设备的第一当前姿势;
从所述当前定位图像中检测所述标签;
基于所述多层地图和检测到的标签来计算所述第二机器人设备的第二当前姿势;以及
使用所述第一当前姿势、所述第二当前姿势和来自所述第一IMU或所述第一轮编码器的度量来更新所述第二机器人设备的姿势,以获得所述第二机器人设备的更新的当前姿势。
在某些实施例中,所述第二计算机可执行代码在在所述第二处理器处执行时还被配置为通过以下方式来更新所述第二机器人设备的更新的当前姿势:通过将检测到的标签与在所述多层地图的标签层中记录的标签相匹配来检测循环闭合;以及使用检测到的循环闭合来进一步更新所述第二机器人设备的更新的当前姿势。
在某些方面,本发明涉及一种用于映射和定位的方法。在某些实施例中,所述方法包括:
使用由第一机器人设备的第一视觉传感器捕获的第一图像来构建环境的特征点云层;
构建包括放置在所述环境内的预定位置中的多个标签的标识和位置在内的标签层;以及
使用所述特征点云层和所述标签层来形成所述多层地图,其中,所述特征点云层和所述标签层共享相同的坐标系。
在特定实施例中,所述方法还包括:使用由第一光检测和测距(LIDAR)设备捕获的扫描来构建占用地图;以及将所述占用地图结合到所述多层地图中作为占用层,使得占用地图层、特征点云层和标签层具有相同的坐标系。
在某些实施例中,所述方法还包括通过以下方式来更新多层地图:
通过所述第一视觉传感器捕获当前图像;
从所述当前图像中提取特征;
将从所述当前图像中提取的特征与所述第一机器人设备的前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第一机器人设备的当前姿势;
使用来自安装在所述第一机器人设备上的第一惯性测量单元(IMU)或第一轮编码器的度量来更新所述第一机器人设备的当前姿势,以获得所述第一机器人设备的更新的当前姿势;
从所述当前图像中检测所述标签;
基于所述第一机器人设备的更新的当前姿势和所述当前图像中的检测到的标签的位置来计算所述标签的姿势;以及
基于所述第一机器人设备的更新的当前姿势和所述标签的姿势来更新所述多层地图。
在某些实施例中,所述方法还包括通过以下方式来更新多层地图:通过将检测到的标签与记录在所述多层地图的标签层中的标签相匹配来检测循环闭合;以及使用检测到的循环闭合来进一步更新所述第一机器人设备的更新的当前姿势。
在某些实施例中,所述方法还包括:通过将从所述环境的第二图像检测到的标签与所述多层地图中的标签的位置相匹配来定位所述第二机器人设备,其中所述第二图像是由第二机器人设备的第二视觉传感器捕获的。第二视觉传感器的分辨率低于第一视觉传感器的分辨率。
在特定实施例中,所述方法还包括:将在第二光检测和测距(LIDAR)设备的扫描中检测到的特征与在所述占用地图层中存储的特征相匹配。
在某些实施例中,所述方法还包括通过以下方式使用多层地图:
通过所述第二视觉传感器来捕获当前定位图像;
从所述当前定位图像中提取特征;
将从所述当前定位图像中提取的特征与所述第二机器人设备的前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第二机器人设备的第一当前姿势;
从所述当前定位图像中检测所述标签;
基于所述多层地图和检测到的标签来计算所述第二机器人设备的第二当前姿势;以及
使用所述第一当前姿势、所述第二当前姿势和来自安装在所述第二机器人设备上的第二惯性测量单元(IMU)或第二轮编码器的度量来更新所述第二机器人设备的姿势,以获得所述第二机器人设备的更新的当前姿势。
在某些实施例中,所述方法还包括通过以下方式更新所述第二机器人设备的更新的当前姿势:通过将检测到的标签与在所述多层地图的标签层中记录的标签相匹配来检测循环闭合;以及使用检测到的循环闭合来进一步更新所述第二机器人设备的更新的当前姿势。
在某些方面,本发明涉及一种存储计算机可执行代码的非暂时性计算机可读介质。在某些实施例中,所述计算机可执行代码在在映射设备的控制器的处理器处执行时被配置为执行上述方法。
在某些实施例中,所述计算机可执行代码在在第一机器人设备的控制器的处理器处执行时被配置为:
使用由第一机器人设备的第一视觉传感器捕获的第一图像来构建环境的特征点云层;
建造包括多个标签的标识和所述多个标签的位置在内的标签层,其中,所述标签被放置在所述环境内的预定位置中;以及
使用所述特征点云层和所述标签层来形成所述多层地图,其中,所述特征点云层和所述标签层共享相同的坐标系。
在某些实施例中,所述计算机可执行代码被配置为:
通过所述第一视觉传感器捕获当前图像;
从所述当前图像中提取特征;
将从所述当前图像中提取的特征与所述第一机器人设备的前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第一机器人设备的当前姿势;
使用来自安装在所述第一机器人设备上的第一惯性测量单元(IMU)和第一轮编码器中的至少一个的度量来更新所述第一机器人设备的当前姿势,以获得所述第一机器人设备的更新的当前姿势;
从所述当前图像中检测所述标签;
基于所述第一机器人设备的更新的当前姿势和所述当前图像中的检测到的标签的位置来计算所述标签的姿势;
基于所述第一机器人设备的更新的当前姿势和所述标签的姿势来更新所述多层地图;
通过将检测到的标签与记录在所述多层地图的标签层中的标签相匹配来检测循环闭合;以及
使用检测到的循环闭合来进一步更新所述第一机器人设备的更新的当前姿势。
在某些实施例中,所述计算机可执行代码被配置为:通过将从所述环境的第二图像检测到的标签与所述多层地图中的标签的位置相匹配来定位所述第二机器人设备,其中,所述第二图像是由第二机器人设备的第二视觉传感器捕获的,所述第二视觉传感器的分辨率低于所述第一视觉传感器的分辨率。
在某些实施例中,所述计算机可执行代码被配置为:
通过所述第二视觉传感器来捕获当前定位图像;
从所述当前定位图像中提取特征;
将从所述当前定位图像中提取的特征与所述第二机器人设备的前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第二机器人设备的第一当前姿势;
从所述当前定位图像中检测所述标签;
基于所述多层地图和检测到的标签来计算所述第二机器人设备的第二当前姿势;以及
使用所述第一当前姿势、所述第二当前姿势和来自安装在所述第二机器人设备上的第二惯性测量单元(IMU)或第二轮编码器的度量来更新所述第二机器人设备的姿势,以获得所述第二机器人设备的更新的当前姿势。
通过将检测到的标签与在所述多层地图的标签层中记录的标签相匹配来检测循环闭合;以及
使用检测到的循环闭合来进一步更新所述第二机器人设备的更新的当前姿势。
从以下结合附图及其说明对优选实施例的详细描述,本发明的以上这些和其他方案将变得更加清楚,尽管可以在不脱离本发明新颖概念的精神和范围的情况下进行多种改变和修改。
附图说明
将根据详细描述和附图更全面地理解本发明。这些附图示出了本发明的一个或多个实施例,并且与书面描述一起用于说明本发明的原理。只要有可能,在整个附图中使用相同的附图标记来表示实施例的相同或相似的元件,并且在附图中:
图1示意性地描绘了根据本发明的某些实施例的用于多模态映射和定位的***。
图2示意性地描绘了根据本发明的某些实施例的多模态映射设备。
图3示意性地描绘了根据本发明的某些实施例的多模态地图。
图4示意性地描绘了根据本发明的某些实施例的定位设备。
图5示意性地描绘了根据本发明的某些实施例的映射方法的流程图。
图6示意性地描绘了根据本发明的某些实施例的定位方法的流程图。
图7示意性地描绘了根据本发明的某些实施例的映射方法的示例流程图。
图8示意性地描绘了根据本发明的某些实施例的定位方法的示例性流程图。
具体实施方式
在以下示例中更具体地描述了本发明,因为这些示例的许多修改和变化对于本领域技术人员来说是显而易见的,所说这些示例仅用于说明。现在详细描述本发明的各种实施例。参考附图,相同的数字(如果有的话)在整个视图中表示相同的组件。除非上下文另有明确说明,否则如本文的描述和随附权利要求中使用的,“一”、“一个”和“该”的含义包括复数指代。此外,除非上下文另有明确规定,否则如在本文的描述和整个随附权利要求中所使用的,“在...中”的含义包括“在......中”和“在......上”。此外,为了方便读者,可以在说明书中使用标题或副标题,这不会影响本发明的范围。另外,本说明书中使用的一些术语在下文更具体地定义。
本说明书中使用的术语在本发明的上下文中以及在使用每个术语的特定上下文中总体上具有其在本领域中的普通含义。用于描述本发明的某些术语在下面或说明书中的其他地方讨论,以向从业者提供关于本发明的描述的额外指导。为方便起见,可以突出显示某些术语,例如使用斜体和/或引号。突出显示的使用对术语的范围和含义没有影响;术语的范围和含义在相同的上下文中是相同的,无论是否突出显示。应当理解,可以以不止一种方式说明同样的事情。因此,替代语言和同义词可以用于本文所讨论的任何一个或多个术语,并且对于术语是否在本文中详细阐述或讨论也没有任何特殊意义。提供了某些术语的同义词。一个或多个同义词的叙述不排除使用其他同义词。包括本文所讨论的任何术语的示例在内的本说明书中任何地方的示例的使用仅是说明性的,并且决不限制本发明或任何示例性术语的范围和含义。同样,本发明不限于本说明书中给出的各种实施例。
除非另外定义,否则本文使用的所有技术和科学术语具有与发明所属领域的普通技术人员通常所理解的含义相同的含义。在发生冲突的情况下,包括定义在内的本文件将进行控制。
如本文所用,“约”、“大约”或“近似”通常表示在给定值或范围的20%内,优选在10%内,更优选在5%内。本文给出的数值是近似的,意味着如果没有明确说明,可以推断出术语“约”、“大约”或“近似”。
如本文所用,“多个”意指两个或更多个。
如本文所用,术语“包含”、“包括”、“携带”、“具有”、“含有”、“涉及”等应理解为开放式的,即意味着包括但不限于。
如本文所使用的,短语A、B和C中的至少一个应该被解释为使用非排他逻辑OR表示逻辑(A或B或C)。应当理解,方法中的一个或多个步骤可以以不同的顺序(或同时)执行而不改变本发明的原理。
如本文所使用的,术语“模块”或“单元”可以指代、属于或包括专用集成电路(ASIC)、电子电路、组合逻辑电路、现场可编程门阵列(FPGA)、执行代码的处理器(共享的、专用的或组)、提供所述功能的其他合适的硬件组件或者上述中的一些或全部的组合,例如以芯片上***的形式。术语“模块”或“单元”可以包括存储由处理器执行的代码的存储器(共享的、专用的或组)。
本文使用的术语“代码”可以包括软件、固件和/或微代码,并且可以指代程序、例程、函数、类和/或物体。如上所使用的术语“共享的”意味着可以使用单个(共享)处理器来执行来自多个模块的一些或所有代码。另外,来自多个模块的一些或所有代码可以由单个(共享)存储器存储。如上所使用的术语“组”意味着可以使用一组处理器来执行来自单个模块的一些或所有代码。另外,可以使用一组存储器来存储来自单个模块的一部分代码或所有代码。
本文使用的术语“接口”通常是指代组件之间的交互点处的通信工具或装置,用于在组件之间执行数据通信。通常,接口可以适用于硬件和软件两者的级别,并且可以是单向或双向接口。物理硬件接口的示例可以包括电连接器、总线、端口、电缆、终端和其他I/O设备或组件。与接口通信的组件可以是例如计算机***的多个组件或***设备。
本发明可以由计算机***实现。如附图中所示,计算机组件可以包括物理硬件组件和虚拟软件组件。除非另有说明,否则本领域普通技术人员将理解,这些计算机组件可以以(但不限于)软件、固件或硬件组件的形式或其组合来实现。
本文描述的设备、***和方法可以通过由一个或多个处理器执行的一个或多个计算机程序实现。计算机程序包括存储在非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括存储的数据。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器、磁存储器和光存储器。
在某些方面,本发明涉及多模态姿势恢复和定位方法。在某些实施例中,该方法在室内环境中进行。在某些实施例中,该方法包括融合来自不同类型传感器的信息以形成混合地图,然后基于混合地图实现姿势恢复和定位的快速可靠方式。此外,姿势和位置可以进一步与运动自动汇合。
在一个示例中,提供了储存架(storage shelves)环境。储存架具有相似的几何形状和特征。当在环境中使用基于LIDAR和VIO的定位方法时,难以通过即时测量来估计当前的机器人位置。实际上,由于不同通道之间的相似性,机器人可能估计错误的位置,尤其是当架上的货物经常被迁移时。为了解决该问题,提供了根据本发明的某些实施例的方法,其使用固定的界标来初始化机器人位置,并且使用基于LIDAR/视觉/内部传感器的方法来细化状态估计。
在某些实施例中,机器人被配置为使用可区分的界标来估计其姿势和位置。具体地,机器人可以通过检查界标位置的查找表来生成初始姿势/位置估计。然后,机器人使用该估计的姿势和位置来初始化VIO或进行激光扫描以细化初始姿势/位置。在机器人开始向前移动之后,一个或多个测量(包括车轮测距法、VIO、Lidar、雷达、GPS)将帮助机器人通过基于滤波器或基于优化的融合方法来汇合姿势和位置。为了实现根据本发明某些实施例的目的,考虑以下方面。
1.硬件要求
在某些实施例中,本发明需要配备有多个传感器和计算单元的机器人。传感器可以包括相机、IMU/轮/电机编码器、GPS、雷达和LIDAR等中的一个或多个。在某些实施例中,机器人中的所有传感器是同步的,并且是内在和外在校准的。在某些实施例中,室内环境布置有可区分的标记物,例如AprilTags或QR码。
2.预映射和地面实况准备
在某些实施例中,本发明使用具有高质量或高分辨率传感器的机器人执行预映射和地面实况准备,以便获得混合地图——与可区分标记物地图重叠的全局地图。混合地图用作针对稍后执行的定位的查找表。一方面,将通常很昂贵的具有高分辨率传感器的LIDAR/相机用于生成高质量的视觉特征/占用地图,以进行全局规划。另一方面,记录可区分标记物和机器人位置。机器人将标记物数据与机器人姿势同步,将标记物数据映射到全局地图之上,并将与其姿势相关联的标记物数据存储在全局坐标中。在机器人完成高质量混合地图初始化或建造之后,特征和标记物被存储并准备进行处理。基于过滤器或基于优化的方法(例如束调整)用于将视觉特征和标记物关联到混合地图中。此外,根据运动方法的结构利用这些数据重建整个环境并评估混合地图的质量。针对具有低成本传感器的机器人,这种高质量的混合地图是在以下定位步骤中的地面实况。
3.定位
在某些实施例中,当标记物标记的和视觉特征标记的混合地图准备就绪时,具有低成本导航传感器(具有较便宜的LIDAR、没有LIDAR等)和模块的机器人使用混合地图进行定位或导航。机器人可以通过从标记物的位置查找表中搜索视野中的当前标记物来快速初始化其姿势/位置估计。使用当前标记物的地面实况位置,通过解决简单的透视n点(PnP)问题来获得机器人姿势。这种方法在定位过程中有两个主要的好处:
(1).由于与全局视觉特征地图数据集(通常,数千个特征每关键帧)相比,标记物的查找表是一个相当小尺寸的数据集(通常,一个或两个标记物每帧),所以这种方法对于姿势初始化会快得多。
(2).由于每个标记物可与固定位置区分,而视觉特征和激光扫描对于可移动物体是模糊和敏感的,因此状态估计比VIO初始化更可靠。
在获得姿势初始化之后,机器人然后将其用于初始化VIO或扫描匹配。视觉SLAM和LIDAR SLAM的可靠初始化降低了解决机器人高度非线性姿势迭代的复杂性,有助于其更快地汇合,并进一步提高机器人的可靠性。
沿着机器人初始化后的轨迹,越来越多的观测(激光/视觉特征/标记物)帮助机器人将他们的预测汇合到地面实况地图中。良好的初始化(固定标记物)帮助机器人过滤掉异常(outlier)测量值,并进一步沿所述路径校正机器人状态估计。
4.闭合循环
在机器人在未知环境中导航并重新访问已知地图之后,使用束调整(bundleadiustment)过程/闭合循环过程来校正其轨迹并针对未知环境细化地图。通常,通过随机搜索匹配的特征来使用昂贵的过程。相反,在本发明的某些实施例中,机器人采用非常有限的随机搜索。实际上,机器人使用可区分标记物作为固定的界标来触发闭合循环过程。在通过固定标记物、特征匹配或轮测距/激光扫描触发闭合循环检查之后,机器人将通过特征匹配(和激光扫描)来开始检查闭合循环评估。通过该革新,机器人显著减少了假链接的闭合循环情况。
5.室外的进一步扩展
对于室外使用,可以使用较少的固定标记物,特别是针对机器人的出发点。通过该设置,每当机器人经过出发区域时,机器人就可以对其状态估计进行可靠的校正。在某些实施例中,这种革新对于包裹递送任务是非常有用的,包裹递送任务需要频繁地循环回到包裹储存位置。该标记物引导机器人导航回家并针对映射和室外导航进行更好的闭合循环检测。
总之,本发明的某些实施例公开了一种使用基于多模态的传感器的融合机器人导航***。该革新包括但不限于:(1)地面实况地图和数据融合开发;(2)姿势估计的快速定位;(3)快速可靠的闭合循环检测;(4)出发点导航的延伸。该革新将加速姿势初始化,减少计算负载,改善状态估计准确度;以及(5)在映射之后为机器人导航选择不同的低成本传感器的自由度。
现在将在下文中参照附图更全面地描述本发明,在附图中,示出了本发明的实施例。然而,本发明可以按多种不同形式来实现,并且不应当被解释为受到本文阐述的实施例的限制;更确切地说,提供这些实施例使得本发明将全面和完整,并且将本发明的范围充分传达给本领域技术人员。
在本发明的某些方面,提供了一种用于多模态映射和定位的***。在某些实施例中,如图1所示,多模态映射和定位***10包括:映射设备100;一个或多个定位设备200;多个基准标记物180,被固定在可使基准标记物180由映射设备100和定位设备200识别的环境中;以及接口190,用于使映射设备100与定位设备200进行通信。映射设备100和定位设备200中的每一个可以是地面机器人设备、增强现实/虚拟现实(AR/VR)设备、3D重建设备或无人驾驶飞行器(UAV)等。映射设备100包括第一控制器110、第一视觉传感器150和第一IMU/轮编码器170。第一视觉传感器150和第一IMU/轮编码器170是高质量高分辨率设备,并且第一机器人设备100被配置为使用第一视觉传感器150和第一IMU/轮编码器170来构建环境的高分辨率、多模态地图。在本发明的某些实施例中,多模态地图也被称为多层地图或混合地图。基准标记物180是放置在环境的视野中的物体以供参考或测量。基于用于检测基准标记物180的方法和设备、检测基准标记物180的灵敏度、映射设备100和定位设备200的视野、环境的复杂性等,预先确定环境中的基准标记物180的密度和基准标记180的位置。在某些实施例中,基准标记物180包括AprilTags、快速响应(QR)码、通用产品码(UPC)以及可从相机图像或激光扫描容易识别的其他类型的标签。接口190被配置为将由映射设备100准备的多模态地图发送到定位设备200。接口190可以是无线或有线网络、USB接口或任何其他类型的接口,以便通信地连接映射设备100和定位设备200。在某些实施例中,在映射设备100和定位设备200之间不存在直接通信,并且定位设备200经由独立于映射设备100和定位设备200的介质从映射设备100接收多模态地图。每个定位设备200包括第二控制器210、第二视觉传感器250和第二IMU/轮编码器270。第二视觉传感器250和第二IMU/轮编码器270的质量和分辨率低于第一视觉传感器150和第一IMU/轮编码器170的质量和分辨率。每个定位设备200被配置为使用第二视觉传感器250、第二IMU/轮编码器270和多模态地图来有效地定位自身。
图2示意性地示出了根据本发明的某些实施例的多模态映射设备。如图2所示,映射设备100包括第一控制器110、第一视觉传感器150和第一IMU/轮编码器170。在某些实施例中,第一视觉传感器150包括相机或其他视觉传感器,并且被配置为捕获环境的图像或视频。在某些实施例中,第一视觉传感器150还可以包括LIDAR。第一IMU/轮编码器170可以包括一个或多个IMU、或一个或多个轮编码器、或IMU和轮编码器两者。IMU是惯性传感器(例如加速度计、陀螺仪和磁力计),其被配置为执行映射设备100的惯性测量;轮编码器被配置为测量映射设备100行进的距离。当IMU或/和轮编码器170为高质量时,它们被配置为从一个时间点到下一个时间点准确地测量映射设备的行进距离。映射设备100的行进距离的准确测量有助于确定映射设备100的姿势。在某些实施例中,映射设备100可以包括其他必要组件。示例性其他组件可以包括用于与其他设备通信的交互式接口,例如与中央计算机的无线连接。
在某些实施例中,第一控制器110可以是:计算设备,其包括处理器112、存储器114和存储计算机可执行代码的存储设备116。计算机可执行代码包括映射应用118、配置文件140、一个或多个姿势接收模块142以及可选的其他应用(例如操作***)。处理器112控制第一控制器110的操作。在某些实施例中,处理器112可以是中央处理单元(CPU)。存储器114可以是例如随机存取存储器(RAM)的易失性存储器,用于在第一控制器110的操作期间存储数据和信息。在某些实施例中,存储器114可以是易失性存储器阵列。在某些实施例中,第一控制器110可以在一个以上的处理器112和/或一个以上的存储器114上运行。存储设备116是用于存储第一控制器110的映射应用118的非易失性数据存储介质或设备。存储设备116的示例可以包括闪速存储器、存储卡、USB驱动器或其他类型的非易失性存储设备(诸如硬盘驱动器、软盘、光盘驱动器或任何其他类型的数据存储设备)。在某些实施例中,第一控制器110可以具有一个以上的存储设备116。在某些实施例中,第一控制器110还可以包括远程存储设备116。映射应用118包括代码或指令,所述代码或指令当在处理器112处执行时可以执行某些特征以控制第一机器人设备100的操作。在某些实施例中,映射应用118被配置为执行映射设备100的同时定位和映射(SLAM),并且还可以被命名为SLAM应用。配置文件140包括第一视觉传感器150的校准参数。姿势接收模块142被配置为:在从映射应用118接收到映射设备100的当前姿势时,基于其当前姿势实时地控制映射设备100的操作。
另外,在某些实施例中,如图2所示,映射应用118还包括特征提取器120、特征匹配模块122、姿势恢复模块124、姿势更新模块126、标签检测器128、标签姿势计算模块130、地图模块132以及循环闭合模块134。
特征提取器120被配置为:从配置文件140接收或检索第一视觉传感器150的内在校准参数,并接收或检索由第一视觉传感器150拍摄的图像。在某些实施例中,第一视觉传感器150是彩色相机,并且图像是RGB图像。在某些实施例中,第一视觉传感器150是黑白相机,并且图像是灰度图像。在某些实施例中,特征提取器120在执行特征提取之前将当前RGB图像转换为灰度图像。在某些实施例中,内在参数包括相机中心、失真校正和焦距,并且特征提取器120在执行特征提取之前对当前图像进行预处理。在接收到第一视觉传感器150的内在校准参数和由第一视觉传感器150捕获的当前图像之后,特征提取器120被配置为从当前图像中提取特征,即,检测当前图像中的特征并计算描述符以定义每个特征。在某些实施例中,可以使用Harris、尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)、来自加速分段测试(FAST)的特征等来执行特征提取。该特征是图像的感兴趣部分,并且除此以外还可以包括边缘、角部、斑点、脊部等。在检测到特征之后,特征提取器120基于每个特征点周围的相邻像素来描述检测到的特征。特征点的描述符可以是矢量描述符或二进制描述符。矢量描述符是n维的特征向量(例如,针对SIFT特征,n=128)。它存储了更多信息,但难以在高维空间中找到最接近的匹配。二进制向量是由0和1组成的n位二进制串。可以用有效的算法对其进行非常快速的处理。在某些实施例中,特征点由在相机图像中的特征描述符及其像素位置两者来定义。当前图像中的示例性特征点可以由(u,v,描述符)定义,其中u和v是特征点在当前图像中的坐标,并且描述符是特征点的计算矢量。在某些实施例中,第一视觉传感器150还包括LIDAR,并且特征提取器120被配置为从LIDAR接收激光扫描。在接收到当前LIDAR扫描时,特征提取器120从当前激光扫描中检测特征(例如,线、角部和可选地弯曲或圆形形状)。在检测到特征之后,使用描述符记录当前激光扫描中的对应特征点。在某些实施例中,当前激光扫描中的每个特征点由(方向、范围)定义,其中方向指示物体相对于LIDAR的方向,并且范围是LIDAR与物体之间的距离。在对特征点的检测和描述之后,特征提取器120被配置为将信息发送到特征匹配模块122。
特征匹配模块122被配置为:基于描述符,将当前图像中的每个特征点与前一关键帧(或关键图像)中的特征点相匹配。在某些实施例中,其他先前图像可以充当参考帧而不是先前的关键帧。针对矢量特征描述符(例如SIFT、主分量分析-SIFT(PCA-SIFT)、Harris-SIFT和SURF),矢量描述符匹配可以由穷举搜索或近似算法来执行。针对二进制向量描述符(例如二进制鲁棒独立基本特征(BRIEF)、定向FAST和旋转BRIEF(ORB)和二进制鲁棒不变可伸缩关键点(BRISK)),可以通过查找具有最小Hamming距离的描述符来执行二进制描述符匹配,并且两个描述符中不同的位的数量测量这两个描述符的不相似性。在某些实施例中,针对LIDAR扫描,特征匹配模块122还被配置为:将当前激光扫描中的LIDAR特征与一个或多个先前的激光扫描相匹配。因此,匹配的信息包括:相机图像中的匹配的图像特征点(u,v)以及机器人框架中可选地匹配的扫描特征(方向、范围)。在某些实施例中,特征匹配模块122还被配置为经由外在参数将LIDAR特征与图像特征点相匹配。外在参数包括安装在机器人上的不同传感器的取向和位置。在匹配过程之后,特征匹配模块122被配置为将匹配结果发送给姿势恢复模块124。
姿势恢复模块124被配置为:在从特征匹配模块122接收到特征匹配结果并且从配置文件140接收到外在校准参数时,计算当前机器人姿势与最后机器人姿势测量之间的相对旋转和平移,并计算全局帧中的特征描述符位置。在计算之后,映射设备100的姿势在全局帧中被定义为(x,y,偏航),其中x,y是映射设备100在3D地图坐标系中的坐标;以及每个特征点被定义为(x,y,z,描述符)而不是(u,v,描述符),其中x、y、z是3D地图坐标系中的特征点的坐标,并且u、v是当前2D图像坐标系中的特征点的坐标。然而,映射设备100的那些计算出的姿势和当前图像的特征点位置尚未被添加到3D地图。然后,姿势恢复模块124将映射设备100在全局帧中的姿势(x,y,偏航)和全局帧中的特征描述符位置(x,y,z,描述符)发送到姿势更新模块126和循环闭合模块134。在某些实施例中,当LIDAR可用时,姿势恢复模块124还将从特征匹配模块122接收的匹配的LIDAR特征发送到姿势更新模块126。
姿势更新模块126被配置为:在从姿势恢复模块124接收到映射设备在全局帧中的姿势(x,y,偏航)和特征描述符位置(x,y,z,描述符)并从第一IMU/轮编码器170接收到映射设备框架(或即,机器人框架)中的相对姿势变化(Δx,Δy,Δ偏航)时,使用映射设备的姿势和相对姿势变化来更新映射设备100的当前姿势,并更新匹配的特征的位置,以便获得映射设备100的更新的当前姿势和更新的匹配的特征点。在某些实施例中,姿势更新包括:滤波以计算映射设备100的优化姿势。来自第一IMU/轮编码器170的相对姿势变化通常更准确并且在计算中权重更高。在某些实施例中,姿势更新模块126还在循环闭合信息可用时从循环闭合模块134接收循环闭合信息,以及使用循环闭合信息来更新映射设备100的当前姿势。当更新的当前姿势可用时,姿势更新模块126被配置为:将更新的当前机器人姿势(x,y,偏航)输出到映射设备100的其他模块以供其使用,例如映射设备100的控制。此外,姿势更新模块126被配置为将更新的当前机器人姿势(x,y,偏航)和更新的当前特征点(x,y,z,描述符)发送到标签姿势计算模块130。在某些实施例中,当LIDAR可用时,姿势更新模块126还将从姿势恢复模块124接收的匹配的LIDAR特征发送到标签检测器128。
标签检测器128被配置为:从由第一视觉传感器150捕获的当前图像中识别基准标记物180。基准标记物180可以是易于检测的AprilTag或QR。在某些实施例中,检测到的标签在当前图像中被定义为(u,v,tag_ID),其中x、y是当前图像中的标签的坐标,并且tag_ID是标签集中的在该环境中使用的标签的特定标识。在某些实施例中,标签(u,v)的位置可以对应于标签的特定角部或中心。在某些实施例中,标签可以包括四组(u,v)坐标以定义标签的位置,其中四组(u,v)中的每一组对应于当前图像中的标签的一个角部的坐标。例如,AprilTag可以被定义为(u1,v1,u2,v2,u3,v3,u4,v4,21),其中(u1,v1)、(u2,v2)、(u3,v3)、(u4,v4)分别是当前图像中的AprilTag的左上角、右上角、左下角、右下角的坐标,并且“21”是AprilTag集中的第21个。在检测到基准标记物180之后,标签检测器128将结果发送到标签姿势计算模块130。
在接收到来自标签检测器128的当前图像中的标签位置和标识(u,v,tag_ID)、来自姿势更新模块126的映射设备100在全局帧中的更新的当前姿势(x,y,偏航)和全局帧中的更新的当前特征点表征(x,y,z,描述符)以及第一视觉传感器150的外在校准参数之后,标签姿势计算模块130被配置为:使用外在校准参数和标签位置以及标识来优化基准标记物180的位置,以便获得全局帧中的标签的当前姿势(x,y,z,tag_ID),其中x、y、z是全局帧中的标签的坐标。标签姿势计算模块130还被配置为:将映射设备100在全局帧中的更新的当前姿势(x,y,偏航)、全局帧中的特征点的更新的当前表征)(x,y,z,描述符)以及全局帧中的标签的当前姿势(x,y,z,tag_ID)发送到地图模块132。请注意映射设备100、特征点和标签的x、y、z是它们在全局帧中的对应位置,并且彼此不同。在某些实施例中,当LIDAR可用时,标签姿势计算模块130还将从姿势更新模块126接收的匹配的LIDAR特征发送到地图模块132。
地图模块132被配置为:在接收到映射设备100在全局帧中的更新的当前姿势(x,y,偏航)时,特征点在全局帧中的更新的当前表征(x,y,z,描述符)、以及标签在全局帧中的当前姿势(x,y,z,tag_ID)时,使用该信息来更新3D地图。在某些实施例中,当LIDAR可用时,地图模块132还使用从标签姿势计算模块130接收的匹配的LIDAR特征来更新3D多模态地图(占用地图层)。
在某些实施例中,当前图像中的更新的匹配的特征点由姿势更新模块126获得,被发送到标签姿势计算模块130,然后被发送到地图模块132以更新3D多模态地图。在其他实施例中,更新的当前特征点在由姿势更新模块126获得之后被直接从姿势更新模块126发送到地图模块132以更新3D多模态地图。在某些实施例中,映射设备100的更新的当前姿势由姿势更新模块126生成,被发送到标签姿势计算模块130,然后被发送到地图模块132以更新3D多模态地图。在其他实施例中,映射设备100的更新的当前姿势在由姿势更新模块126生成之后,被直接从姿势更新模块126发送到地图模块132以更新3D多模态地图。在某些实施例中,由特征匹配模块122计算的匹配的LIDAR特征被发送到姿势恢复模块124,然后经由姿势更新模块126(此处,LIDAR数据从本地帧映射到全局帧,亦即,从方向、范围的参数映射到3D坐标系中的坐标)和标签姿势计算模块130被依次发送到地图模块132以更新3D多模态地图。在其他实施例中,匹配的LIDAR特征在由特征匹配模块122生成之后,被直接从特征匹配模块122发送到地图模块132以更新3D多模态地图。
图3示意性地描绘了根据本发明的某些实施例的多模态地图或混合地图。如图3所示,3D多模态地图300包括三个层,这三个层分别是标签层302、视觉特征层304和LIDAR地图层306。视觉特征层304中的特征点由(x,y,z,描述符)定义,并且关键帧也可以与对应于每个关键帧的映射设备的姿势一起存储在视觉特征层304中。LIDAR地图层306是高分辨率占用地图。标签层302中的标签由(x,y,z,tag_ID)定义,并且覆盖在高分辨率视觉特征层304和LIDAR地图层306之上。3D多模态地图300的三个层通过沿x、y和z方向的三维坐标彼此相关联,其中x、y、z可以是对应的左右方向、前后方向以及上下方向。
在某些实施例中,当映射应用118被初始化并且还没有可用的地图时,地图模块132被配置为基于前几个捕获的图像或帧来构建3D地图。基本上,第一视觉传感器150捕获多个图像(至少两个),特征提取器120从捕获图像提取特征点,特征匹配模块122匹配来自不同图像的特征点,并且地图模块132基于匹配的特征点来构建初始3D地图。在某些实施例中,还可以将映射设备100的姿势和从图像检测到的标签信息添加到3D地图以形成3D多模态地图,其中3D多模态地图包括彼此关联的信息层,这是因为特征点、映射设备100的姿势和标签的位置共享相同的坐标系。
循环闭合模块134被配置为:在从地图模块132接收到3D多模态地图和/或从姿势恢复模块124接收映射设备100的恢复姿势时,检测环境中的先前访问的位置。在某些实施例中,通过将新获得的特征与地图中的特征相匹配来执行循环闭合检测。检测到的循环闭合被发送到姿势更新模块126以用于更新映射设备100的姿势和特征点的位置,并且随后更新3D多模态地图。在某些实施例中,特征提取器120、特征匹配模块122、姿势恢复模块124、姿势更新模块126、标签姿势计算模块130和地图模块132的当前帧的处理是顺序的,并且标签检测器128和标签姿势计算模块130的当前帧的处理是顺序的。相反,循环闭合模块134可以稍微独立于上述顺序步骤而作为线程(as athread)操作,并且连续地从姿势恢复模块124、地图模块132接收输入,并向姿势更新模块126输出。
配置文件140存储第一视觉传感器150的内在和外在校准参数。当第一视觉传感器150是相机时,内在参数可以包括相机的光学中心、镜头失真和焦距,并且外在参数可以包括第一视觉传感器150相对于映射设备100的主体的安装位置和取向,该安装位置和取向可以相对于映射设备100被定义为相机的(x,y,z,横滚,偏航,俯仰)。
姿势接收模块142是映射设备100中的需要映射设备100的姿势的其他模块,并且姿势接收模块142被配置为从姿势更新模块126接收或检索姿势。
在由映射设备100准备高分辨率3D多模态地图之后,一个或多个定位设备200可以使用高分辨率3D多模态地图来引导定位设备200。
图4示意性地描绘了根据本发明的某些实施例的定位设备。如图4所示,定位设备200包括第二控制器210、第二视觉传感器250和第二IMU/轮编码器270。第二视觉传感器250包括相机或其他视觉传感器,并且被配置为捕获环境的图像或视频。在某些实施例中,第二视觉传感器250还可以包括LIDAR。第二IMU/轮编码器270可以包括一个或多个IMU、或一个或多个轮编码器、或IMU和轮编码器两者。IMU是惯性传感器(例如加速度计、陀螺仪和磁力计),其被配置为执行定位设备200的惯性测量;轮编码器被配置为测量定位设备200行进的距离。第二视觉传感器250和第二IMU/轮编码器270的分辨率或准确度低于第一视觉传感器150和第一IMU/轮编码器170的分辨率或准确度。换句话说,可以在定位设备200中使用低成本硬件。在某些实施例中,定位设备200可以包括其他必要的组件。示例性其他组件可以包括用于与其他设备通信的交互式接口,例如与中央计算机的无线连接。
在某些实施例中,第二控制器210可以是与第一控制器110相同或相似的计算设备。计算设备210包括处理器212、存储器214和存储计算机可执行代码的存储设备216。计算机可执行代码包括定位应用218、***文件240、一个或多个姿势接收模块242、以及可选的其他应用(例如操作***)。处理器212控制第二控制器210的操作。在某些实施例中,处理器212可以是中央处理单元(CPU)。存储器214可以是易失性存储器(例如随机存取存储器(RAM)),用于在第二控制器210的操作期间存储数据和信息。在某些实施例中,存储器214可以是易失性存储器阵列。在某些实施例中,第二控制器210可以在一个以上的处理器212和/或一个以上的存储器214上运行。存储设备216是用于存储第二控制器210的定位应用218的非易失性数据存储介质或设备。存储设备216的示例可以包括闪速存储器、存储卡、USB驱动器或其他类型的非易失性存储设备(诸如硬盘驱动器、软盘、光盘驱动器或任何其他类型的数据存储设备)。在某些实施例中,第二控制器210可以具有一个以上的存储设备216。在某些实施例中,第二控制器210还可以包括远程存储设备216。定位应用218包括代码或指令,其中当在处理器212处执行时,该代码或指令可以执行某些特征以控制第二机器人设备200的操作。***文件240包括第二视觉传感器250的校准参数和由映射设备100准备的3D多模态地图。姿势接收模块242被配置为:在从定位应用218接收到定位设备200的当前姿势时,基于其当前姿势实时地控制定位设备200的操作。
另外,在某些实施例中,如图4所示,定位应用218包括特征提取器220、特征匹配模块222、姿势恢复模块224、标签检测器226、机器人姿势计算模块228、姿势更新模块230和循环闭合模块232。特征提取器220,特征匹配模块222、姿势恢复模块224、标签检测器226、姿势更新模块230和循环闭合模块232可以具有与映射应用118中的对应模块相同或相似的功能,并且差异可以包括:定位应用218的数据输入的分辨率或准确度低于映射应用118的数据输入的分辨率或准确度;映射应用118被配置为构建高分辨率3D多模态地图并在映射设备100的操作期间连续更新3D多模态地图,而定位应用218被配置为使用高分辨率3D多模态地图来优化定位设备200的定位并且基本上不更新高分辨率3D多模态地图。
特征提取器220与特征提取器120基本相同。特征提取器220被配置为:从***文件240接收或检索第二视觉传感器250的内在校准参数,并接收或检索由第二视觉传感器250拍摄的图像。在某些实施例中,第二视觉传感器250是彩色相机,并且图像是RGB图像。在某些实施例中,第二视觉传感器250是黑白相机,并且图像是灰度图像。在某些实施例中,特征提取器120在执行特征提取之前将当前RGB图像转换为灰度图像。在某些实施例中,内在参数包括相机中心、失真校正和焦距,并且特征提取器220在执行特征提取之前对当前图像进行预处理。在接收到第二视觉传感器250的内在校准参数和由第二视觉传感器250捕获的当前图像之后,特征提取器220被配置为从当前图像中提取特征,即,检测当前图像中的特征并计算描述符以定义每个特征。当前图像中的示例性特征点可以由(u,v,描述符)定义,其中u和v是特征点在当前图像中的坐标,并且描述符是特征点的计算矢量。在某些实施例中,第二视觉传感器250还包括LIDAR,并且特征提取器220被配置为从LIDAR接收激光扫描。在接收到当前LIDAR扫描时,特征提取器220从当前激光扫描中检测特征(例如,线、角部和可选地弯曲或圆形形状)。在检测到特征之后,使用描述符记录当前激光扫描中的对应特征点。在某些实施例中,当前激光扫描中的每个特征点由(方向、范围)定义,其中方向指示LIDAR相对于环境的坐标***的方向,并且范围是LIDAR与物体之间的距离。在对特征点的检测和描述之后,特征提取器220被配置为将信息发送到特征匹配模块222。
特征匹配模块222与特征匹配模块122基本相同。特征匹配模块222被配置为:基于描述符,将当前图像中的每个特征点与前一关键帧(或关键图像)中的特征点相匹配。在某些实施例中,针对LIDAR扫描,特征匹配模块222还被配置为:将当前激光扫描中的LIDAR特征与一个或多个先前的激光扫描相匹配。因此,匹配的信息包括:相机图像中的匹配的图像特征(u,v)以及机器人框架中可选地匹配的扫描特征(方向、范围)。在匹配过程之后,特征匹配模块222被配置为将匹配结果发送给姿势恢复模块224。
姿势恢复模块224与姿势恢复模块124基本相同。姿势恢复模块224被配置为:在从特征匹配模块222接收到特征匹配结果并且从***文件240接收到外在校准参数时,计算定位设备200的当前旋转和平移,并计算全局帧中的特征描述符位置。在计算之后,定位设备200的姿势在全局帧中被定义为(x,y,偏航),其中x,y是定位设备200在3D地图坐标系中的坐标;以及每个特征点被定义为(x,y,z,描述符)而不是(u,v,描述符),其中x、y、z是3D地图坐标系中的特征点的坐标,并且u、v是当前2D图像坐标系中的特征点的坐标。然而,定位设备200的那些计算出的姿势和当前图像的特征点位置将不被添加到3D地图。然后,姿势恢复模块224将定位设备200在全局帧中的姿势(x,y,偏航)和全局帧中的特征描述符位置(x,y,z,描述符)发送到姿势更新模块230和循环闭合模块232。在某些实施例中,当LIDAR可用时,姿势恢复模块224还将从特征匹配模块222接收的匹配的LIDAR特征发送到姿势更新模块230。
标签检测器226被配置为:从由第二视觉传感器250捕获的当前图像中识别基准标记物180。基准标记物180可以是易于检测的AprilTag或QR。在某些实施例中,检测到的标签在当前图像中被定义为(u,v,tag_ID),其中x、y是当前图像中的标签的坐标,并且tag_ID是标签集中的在该环境中使用的标签的特定标识。在某些实施例中,标签(u,v)的位置可以对应于标签的特定角部或中心。在某些实施例中,标签可以包括四组(u,v)坐标以定义标签的位置,其中四组(u,v)中的每一组对应于当前图像中的标签的一个角部的坐标。例如,AprilTag可以被定义为(u1,v1,u2,v2,u3,v3,u4,v4,21),其中(u1,v1)、(u2,v2)、(u3,v3)、(u4,v4)分别是当前图像中的AprilTag的左上角、右上角、左下角、右下角的坐标,并且“21”是AprilTag集中的第21个。在检测到基准标记物180之后,标签检测器226将结果发送到标签姿势计算模块228。
在接收到来自标签检测器128的当前相机帧中的标签表征(u,v,tag_ID)、来自***文件240的全局帧(3D多模态地图)中的标签表征(x,y,z,tag_ID)和机器人框架中的相机姿势(x,y,z,横滚,偏航,俯仰)之后,机器人姿势计算模块228被配置为使用该数据来优化全局帧中的机器人姿势(x,y,偏航)。此处,标签表征(x,y,z,tag_ID)是3D多模态地图中的特定标签的坐标和特定标签的标识,并且从存储在***文件240中的3D多模态地图中检索信息;并且机器人框架中的相机姿势(x,y,z,横滚,偏航,俯仰)表示视觉传感器250在定位设备200上的相对安装位置和取向。在获得定位设备200的当前姿势之后,机器人姿势计算模块228还被配置为将信息发送到姿势更新模块230。
姿势更新模块230被配置为:在接收到来自姿势恢复模块224的定位设备200在全局帧中的当前姿势(x,y,偏航)和特征描述符位置(x,y,z,描述符)、来自第二IMU/轮编码器270的定位设备框架中的相对姿势变化(或者即,机器人框架中的相对变化)(Δx,Δy,Δ偏航)、定位设备200在全局帧中的当前姿势(x,y,偏航)以及来自循环闭合模块232(当其可用时)的循环闭合信息时,使用所述信息以更新定位设备200的姿势。基于当前图像中的特征和当前激光扫描中的可选地LIDAR特征来计算从姿势恢复模块224接收的定位设备200的当前姿势,并且基于当前图像中的标签来计算从机器人姿势计算模块228接收的定位设备200的当前姿势,并且后者的计算通常比前者更准确。姿势更新模块230被配置为基于以下项目的测量中的四个方差来计算定位设备200的当前姿势:(1)来自第二IMU/轮编码器270的机器人框架的相对变化(Δx,Δy,Δ偏航);(2)3D多模态地图中的标签表征;(3)3D多模态地图中的特征点表征;以及(4)当前LIDAR扫描中的特征点。此处的方差是测量可靠性的度量。方差越大,则测量的可靠性越低。机器人框架的相对变化在姿势估计上具有低方差(更大权重),这是因为它通常比通过图像的估计更准确;标签表征在姿势估计上具有低方差(更大权重),这是因为它通常比通过图像的估计更准确。通过在优化函数中最小化残差和(残差由重新投影误差乘以逆方差给出),姿势更新模块230被配置为获得优化结果。
当定位设备200的更新的当前姿势可用时,姿势更新模块230被配置为:将当前定位设备200的姿势(x,y,偏航)输出到定位设备200的其他模块以供它们各自的使用,例如定位设备200的控制。
循环闭合模块232被配置为:在接收到来自***文件240的映射设备在3D多模态地图中的姿势和3D多模态地图中的特征描述符地面实况位置(x,y,z,描述符)、来自姿势恢复模块224的定位设备200在全局帧中的当前姿势(x,y,偏航)和全局帧中的特征描述符位置(x,y,z,描述符)以及来自循环闭合模块232(当可用时)的定位设备200在全局帧中的更新的姿势(x,y,偏航)和全局帧中的更新的特征描述符位置(x,y,z,描述符)时,检测环境中的先前访问位置。在某些实施例中,当循环闭合模块232确定来自当前图像的检测到的基准标记物180与3D多模态地图中的基准标记物匹配时。具体地,每个基准标签具有唯一ID,因此如果机器人先前观察到该基准标签,则基准标签立即被匹配。如果机器人看到它之前看到过的标签,它会立即知道必须发生循环闭合并且需要在此时进行计算。在循环闭合之后,所有姿势都在某种程度上得到优化,包括标签姿势。换句话说,基准标签的匹配触发循环闭合模块232的循环闭合操作。因为基准标记物的表征比从当前帧提取的特征更准确,所以循环闭合模块232在基准标记物180的匹配方面比在匹配的特征方面的权重更大。在循环闭合检测之后,循环闭合模块232将检测到的循环闭合发送到姿势更新模块230,以用于更新定位设备200的姿势和全局帧中的特征描述符位置。此处,3D多模态地图是由映射设备100制备的高分辨率3D地图,并且全局帧是指3D地图的坐标系,因此3D多模态地图和全局帧在某些情况下可互换使用。然而,具有与3D多模态地图相同的坐标系的全局帧中的特征点或机器人姿势可能不会真正存储在3D多模态地图中。
***文件240存储第二视觉传感器250的内在校准参数以及来自第一机器人设备100的3D混合地图。当第二视觉传感器250是相机时,参数可以包括相机的光学中心、镜头失真和焦距。在某些实施例中,配置文件240还可以存储第二视觉传感器250的外在校准参数。
姿势接收模块242是第二机器人设备210的需要第二视觉传感器250或第二机器人设备200的姿势的其他模块,并且姿势接收模块242被配置为从姿势更新模块230接收或检索姿势。
在某些方面,本发明涉及一种制备混合多模态地图的方法。在某些实施例中,多模态地图的层数可以是2到5。图5是示出了根据本发明的某些实施例的准备三层多模态地图的方法的流程图。在某些实施例中,如图5所示的方法500可以在如图2所示的映射设备100上实现。应特别注意,除非在本发明中另有说明,否则该方法的步骤可以以不同的顺序排列,因此不限于如图5所示的顺序。
在某些实施例中,在图5所示的过程之前,该方法可以需要初始化3D地图。具体地,当初始化映射应用118并且还没有可用的地图时,地图模块132被配置为基于前几个捕获的帧来构建3D地图。基本上,第一视觉传感器150捕获多个图像或帧(至少两个),特征提取器120从捕获的图像中提取特征点,特征匹配模块122匹配不同图像中的特征点,姿势恢复模块124计算映射设备100的姿势和3D空间中的特征的位置,并且地图模块132基于匹配的特征点的位置来构建初始3D地图。构建的3D地图还可以包括关键帧(图像)和与每个关键帧对应的映射设备的姿势。在某些实施例中,从激光扫描和图像中检索LIDAR和标签信息,并将其添加到3D地图以形成3D混合地图,其中3D混合地图包括底部LIDAR占用地图层、具有关键帧和映射设备100的姿势的特征点云层以及具有标签的坐标和标签标识的标签层。这三个层彼此相关联,因为它们共享相同的坐标系。
在过程502,提供第一传感器150(例如相机)以及第一IMU/轮编码器170。第一传感器150的内在参数存储在配置文件140中,配置文件140可以包括相机的光学中心、失真和焦距。第一视觉传感器150捕获环境的视觉图像(例如RGB图像),并且第一IMU/轮编码器170分别记录特定的力和速度/距离/位置以获得映射设备100的行进距离。在某些实施例中,该方法还提供LIDAR,用于收集环境的激光扫描。在该步骤中,第一传感器150捕获当前帧,LIDAR执行当前扫描,并且第一IMU/轮编码器170记录在捕获先前图像到当前图像的期间行进的距离。
在过程504,特征提取器120接收由第一视觉传感器150捕获的当前图像,并且在接收到当前图像时,从当前图像提取特征,并将提取的特征发送到特征匹配模块122。在某些实施例中,特征提取器120还接收或检索第一视觉传感器150的内在参数,以在提取特征之前预处理当前图像。在某些实施例中,当前图像的预处理可以包括以下项中的一个或多个:将捕获的RGB图像转换为灰度图像;调整当前图像的格式、大小和光平衡;以及校正当前图像的失真。该特征是2D特征,其包括边缘、角落、斑点、脊部等,并且使用当前图像中的特征的坐标和计算的特征描述符来定义提取的特征点。在某些实施例中,第一视觉传感器150还可以包括LIDAR,并且特征提取器120接收当前激光扫描,并从当前激光扫描中提取特征。
在过程506,在从特征提取器120接收到提取的特征时,特征匹配模块122将当前图像中的特征与前一关键帧(关键图像)中的特征相匹配。在某些实施例中,还可以通过将当前图像中的每个特征点与一个或多个先前图像中的特征点相匹配来执行特征匹配。在某些实施例中,还可以通过将当前图像中的每个特征点与一个或多个新近关键帧中的特征点相匹配来执行特征匹配。在某些实施例中,当当前图像是第一图像时,不需要执行匹配,这是因为不存在要与之比较的先前图像。一旦当前图像中的特征点与前一关键帧中的特征点匹配,则关联两个对应的特征点。在某些实施例中,对匹配的特征点执行调整功能,使得在调整之后,匹配的特征点具有相同的描述符。在某些实施例中,当前图像中的每个特征点与来自若干先前帧或先前关键帧的特征点相匹配,并且所有匹配的特征点彼此相关联并可选地被调整为具有相同的描述符。在某些实施例中,当LIDAR扫描可用时,特征匹配模块122还匹配激光扫描中的特征点。匹配的图像特征由它们在当前图像中的坐标(u,v)定义,并且匹配的激光扫描特征由它们在机器人框架中的(方向、范围)定义。当匹配的信息可用时,特征匹配模块122将匹配的信息发送到姿势恢复模块124,以用于计算映射设备100的当前姿势。
在过程508,在从特征匹配模块122接收到匹配的特征信息时,姿势恢复模块124计算由(x,y,偏航)定义的映射设备100在全局帧中的当前姿势和全局帧中的特征描述符位置(x,y,z,描述符)。此处,全局帧表示3D多模态地图的坐标系。尽管使用3D多模态地图的坐标系,但是映射设备100的当前姿势和提取的特征的特征描述符位置尚未存储在3D多模态地图中。在获得映射设备100的当前姿势和提取的特征点的位置之后,姿势恢复模块124将该信息发送到姿势更新模块126以进行更新,并发送到循环闭合模块134以检测循环闭合。
在过程510,在接收到映射设备100的当前姿势(x,y,偏航)和来自姿势恢复模块124的特征点的表征(x,y,z,描述符)、以及由第一IMU/轮编码器170测量的在映射设备100的上次运动结束与当前运动结束之间的相对姿势变化时,姿势更新模块126更新映射设备100在全局帧中的当前姿势,并更新全局帧中的特征点的表征。当映射设备100的当前姿势被更新时,姿势更新模块126将映射设备100的更新的当前姿势发送到映射设备100的其他模块供其使用,并且发送到标签姿势计算模块130以用于计算标签的当前姿势。姿势更新模块126还将特征点的更新表征直接发送到地图模块132或经由标签姿势计算模块130发送特征点的更新表征。
在过程502之后并且在过程514之前,在过程512,当从第一视觉传感器150接收到捕获的当前图像时,标签检测器128检测当前图像中的标签。此处,标签指的是当前图像中的基准标记物180。标签包括AprilTag或QR码,并且检测包括确定标签的标识和标签在当前图像中的坐标。在某些实施例中,检测到的标签由(u,v,tag_ID)定义,其中(u,v)是当前图像中的标签的坐标,并且tag_ID是标签的特定标识。然后,标签检测器128将检测到的标签发送到标签姿势计算模块130。
在过程514,在接收到来自标签检测器128的当前图像中的标签位置和标识(u,v,tag_ID)、来自姿势更新模块126的映射设备100在全局帧中的更新的当前姿势(x,y,偏航)和全局帧中的更新的当前特征点表征(x,y,z,描述符)以及第一视觉传感器150的外在校准参数时,标签姿势计算模块130被配置为:使用外在校准参数和标签位置以及标识来优化基准标记物180的位置,以便获得标签在全局帧中的当前姿势(x,y,z,tag_ID),其中x、y、z是标签在全局帧中的坐标。标签姿势计算模块130还被配置为:将映射设备100在全局帧中的更新的当前姿势(x,y,偏航)、全局帧中的特征点的更新的当前表征(x,y,z,描述符)以及标签在全局帧中的当前姿势(x,y,z,tag_ID)发送到地图模块132。请注意,映射设备100、特征点和标签的x、y、z是它们在全局帧中的对应位置,并且彼此不同。在某些实施例中,当LIDAR可用时,标签姿势计算模块130还将从姿势更新模块126接收的匹配的LIDAR特征发送到地图模块132。除了在LIDAR中没有标签信息之外,当前激光扫描的处理类似于当前图像的处理。整个过程包括特征提取器、特征匹配、姿势恢复、姿势更新、映射和循环闭合。尽管所有过程,但LIDAR数据是相同的。稍有不同的是在姿势恢复时,图像特征生成并使用描述符匹配和RANSAC方法来关联当前图像与上一图像之间的特征,而LIDAR使用ICP(迭代最近点)方法,在这种情况下使用特征而不是点,所以迭代最近特征以将当前LIDAR特征与上一LIDAR特征相关联。
在过程516,当接收到映射设备100在全局帧中的更新的当前姿势、全局帧中的特征点的更新的当前表征和全局帧中的标签的计算的姿势时,地图模块132使用该信息更新3D多模态地图。在某些实施例中,在映射设备在没有3D地图可用的情况下进行初始化期间,地图模块132能够基于前几个捕获的图像来初始化3D地图。作为示例,第一视觉传感器150捕获多个图像,特征提取器120从捕获图像中提取特征点并确定每个特征点在其相应图像中的位置,特征匹配模块122匹配不同图像中的特征点,姿势恢复模块124恢复映射设备100在全局帧中的当前姿势和全局帧中的特征点的表征,并且地图模块132基于映射设备的当前姿势和特征点的表征来构建初始3D地图(将2D特征点投影到3D空间中)。如果标签检测器128从图像中检测到一个或多个标签,则标签姿势计算模块130可以基于一个或多个捕获图像中的标签的2D坐标来确定标签的3D位置。当标签信息添加到3D地图时,3D地图现在是具有不同层的多模态地图。当激光扫描可用于计算占用地图时,3D多模态地图还可以包括占用地图层。在3D多模态地图的初始化之后,使用新捕获的图像连续更新3D多模态地图。
在过程518,循环闭合模块134检查来自姿势恢复模块124的当前机器人姿势和当前特征描述符位置以及来自地图模块132的3D多模态地图,并检测可能的循环闭合。当检测到循环闭合时,循环闭合模块134将检测到的循环闭合发送到姿势更新模块126以更新机器人姿势。在某些实施例中,循环闭合模块134通过将新获得的特征与3D多模态地图中的特征相匹配来执行检测。当存在匹配的特征时,循环闭合检测模块134可以使用匹配的特征来检测是否形成了路径回路。在某些实施例中,标签的匹配用于触发循环闭合确定。因为标签的表征比提取的特征点更准确,所以循环闭合使用匹配的标签来实现快速和准确的循环闭合检测。
在某些方面,本发明涉及一种使用上面制备的3D多模态地图来定位设备(诸如机器人设备)的方法。图6是示出了根据本发明的某些实施例的使用三层多模态地图的方法的流程图。在某些实施例中,如图6所示的方法可以在如图4所示的设备上实现,其中硬件的分辨率和质量可能不如用于准备3D多模态地图的设备的分辨率和质量好。应特别注意,除非在本发明中另有说明,否则该方法的步骤可以以不同的顺序排列,因此该方法不限于如图6所示的顺序。
在过程602,提供第二传感器250(例如相机)以及第二IMU/轮编码器270。第二视觉传感器250捕获环境的视觉图像(例如RGB图像),并且第二IMU/轮编码器270分别记录特定的力和速度/距离/位置以获得定位设备200的行进距离。在某些实施例中,该方法还提供LIDAR,用于收集环境的激光扫描。定位设备200操作的环境与准备3D多模态地图的映射设备100的环境相同。在某些实施例中,映射设备100和定位设备200是具有不同质量和成本的机器人设备。第二相机250的质量和分辨率可以不如第一相机150的质量和分辨率那样高,并且第二IMU/轮编码器270的质量和分辨率可以不如第一IMU/轮编码器170的质量和分辨率那样高。第二传感器250的内在参数存储在***文件240中,***文件240可以包括相机的光学中心、失真和焦距。此外,***文件240包括由如上所述的映射设备100准备的3D多模态地图。
在过程604,特征提取器220接收由第二视觉传感器250捕获的当前图像,并且在接收到当前图像时,从当前图像中提取特征;并将提取的特征发送到特征匹配模块222。在某些实施例中,特征提取器220还接收或检索第二视觉传感器250的内在参数,以在提取特征之前预处理当前图像。在某些实施例中,当前图像的预处理可以包括以下项中的一个或多个:将捕获的RGB图像转换为灰度图像;调整当前图像的格式、大小和光平衡;以及校正当前图像的失真。特征是2D特征,其包括边缘、角部、斑点、脊部等,并且使用特征描述符来定义提取的特征点。在某些实施例中,第二视觉传感器250还可以包括LIDAR,并且特征提取器220接收当前激光扫描,并从当前激光扫描中提取特征。
在过程606,在从特征提取器220接收到提取的特征时,特征匹配模块222将来自当前帧的特征与前一关键帧(关键图像)中的特征相匹配。在某些实施例中,还可以通过将当前图像中的每个特征点与一个或多个先前图像中的特征点相匹配来执行特征匹配。在某些实施例中,还可以通过将当前图像中的每个特征点与一个或多个新近关键帧中的特征点相匹配来执行特征匹配。在某些实施例中,当当前图像是第一图像时,不需要执行匹配,这是因为不存在要与之比较的先前图像。一旦当前图像中的特征点与前一关键帧中的特征点匹配,则关联两个对应的特征点,或用相同的标识来标记两个对应的特征点。在某些实施例中,对匹配的特征点执行调整功能,使得在调整之后,匹配的特征点具有相同的描述符。在某些实施例中,当前图像中的每个特征点与来自若干先前关键帧的特征点相匹配,并且所有匹配的特征点彼此相关联并且可选地被调整为具有相同的描述符。在某些实施例中,当LIDAR扫描可用时,特征匹配模块222还匹配激光扫描中的特征点。匹配的图像特征由它们在当前图像中的坐标(u,v)定义,并且匹配的激光扫描特征由它们在机器人框架中的(方向、范围)定义。当匹配的信息可用时,特征匹配模块222将匹配的信息发送到姿势恢复模块124,以用于计算定位设备200的当前姿势。
在过程608,在从特征匹配模块222接收到匹配的特征信息时,姿势恢复模块224计算由(x,y,偏航)定义的定位设备200在全局帧中的当前姿势和全局帧中的特征描述符位置(x,y,z,描述符)。尽管使用3D多模态地图的坐标系,但是定位设备200的当前姿势和提取的特征的特征描述符位置尚未存储在3D多模态地图中。在获得定位设备200的当前姿势和提取的特征点的位置之后,姿势恢复模块224将该信息发送到姿势更新模块230和循环闭合模块232。
过程610和过程612是在过程602之后并在过程614之前执行的。在过程610,在从第二视觉传感器250接收到捕获的当前图像之后,标签检测器226检测捕获的当前图像中的标签。此处,标签指的是当前图像中的基准标记物180。标签包括AprilTag或QR码,并且检测包括确定标签的标识和标签在当前图像中的坐标。在某些实施例中,检测到的标签由(u,v,tag_ID)定义,其中(u,v)是标签在当前图像中的坐标,并且tag_ID是标签的特定标识。然后,标签检测器226将检测到的标签发送到机器人姿势计算模块228。
在过程612,在接收到来自标签检测器226的当前图像中的标签位置(u,v,tag_ID)以及来自***文件240的全局帧中的标签位置(x,y,z,tag_ID)和机器人框架中的相机姿势(x,y,z,横滚,偏航,俯仰)(相机250相对于定位设备200的位置和取向)时,机器人姿势计算模块228计算定位设备200在全局帧中的当前姿势。使用3D多模态地图的坐标系将所得姿势定义为(x,y,偏航),但不将姿势添加到3D多模态地图。机器人姿势计算模块228然后将定位设备200的当前姿势发送到姿势更新模块230。
在过程614,在接收到来自姿势恢复模块224的定位设备200的当前姿势、来自机器人姿势计算模块228的定位设备200的当前姿势、由第二IMU/轮编码器270测量的相对姿势变化以及来自循环闭合模块232(在可用时)的循环闭合信息时,姿势更新模块230更新定位设备200的当前姿势。请注意,来自姿势恢复模块224的定位设备200的当前姿势可以不同于来自机器人姿势计算模块228的定位设备200的当前姿势。来自机器人姿势计算模块228的定位设备200的当前姿势可以更准确,这是因为它使用标签的位置,标签的位置通常比所提取的特征的确定位置更准确。当姿势更新模块230更新定位模块200的当前姿势时,姿势更新模块230将更新的当前姿势发送到机器人设备200的其他模块以供其使用,并将更新的当前姿势发送到循环闭合模块232。
在过程616,在接收到来自姿势更新模块230的定位设备200的更新的当前姿势、接收到来自***文件240的机器人的姿势和3D多模态地图中的特征描述符地面实况位置、以及来自姿势恢复模块224的定位设备200的当前姿势和所提取特征的特征描述符位置时,循环闭合模块232检测可能的循环闭合。当检测到循环闭合时,循环闭合模块232将检测到的循环闭合发送到姿势更新模块230,以用于更新定位设备200的当前姿势。在某些实施例中,循环闭合模块232通过将新获得的特征与3D混合地图中的特征相匹配来执行检测。当存在匹配的特征时,循环闭合检测模块232可以使用匹配的特征来检测是否形成了路径的回路。在某些实施例中,标签是比特征更可靠的参考,并且优选地,循环闭合模块232是通过将检测到的标签与3D多模态地图中的标签相匹配来触发的。
在另一方面,本发明涉及一种存储计算机可执行代码的非暂时性计算机可读介质。当在映射设备100的处理器112处执行时,所述代码可以执行如上所述的方法500。在某些实施例中,非暂时性计算机可读介质可以包括但不限于任何物理或虚拟存储介质。在某些实施例中,非暂时性计算机可读介质可以实现为映射设备100的存储设备116,如图2所示。
在又一方面,本发明涉及一种存储计算机可执行代码的非暂时性计算机可读介质。当在定位设备200的处理器212处执行时,所述代码可以执行如上所述的方法600。在某些实施例中,非暂时性计算机可读介质可以包括但不限于任何物理或虚拟存储介质。在某些实施例中,非暂时性计算机可读介质可以实现为定位设备200的存储设备216,如图4所示。
图7示意性地描绘了根据本发明的某些实施例的映射方法的示例性流程图。该示例基本上类似于图5中所示的流程图。
图8示意性地描绘了根据本发明的某些实施例的定位方法的示例性流程图。该示例基本上类似于图6中所示的流程图。
在某些实施例中,根据本发明某些实施例的映射设备100和定位设备200包括机器人设备、智能电话、平板电脑、计算设备、无人机等,并且环境包括诸如仓库的室内环境或室外环境。在某些实施例中,可以使用高分辨率、准确的3D多模态地图来组合其他应用。在某些实施例中,对在环境中具有准确位置的标签的检测有助于***的定位。
总之,除此之外,本发明的某些实施例相对于现有技术具有以下优点。
首先,本发明提供了一种构建具有多个层的混合地图的方法。作为实施例,多模态地图包括三层——特征点云层、占用地图层和标签层。该三个层使用相同的坐标系彼此相关联。因此,机器人设备可以基于在其捕获的帧中检测到的标签来使用多模态地图以进行快速且准确的定位。
其次,可以使用匹配的标签来触发循环闭合。因为3D混合地图中的标签的位置是高度准确的,所以由标签触发的循环闭合也是快速的且准确的。
第三,可以使用高质量、昂贵的机器人设备来构建高分辨率多模态地图。当稍后使用经济型机器人设备(其可以使用低成本传感器)时,高分辨率多模态地图帮助经济型机器人设备导航。特别是当经济型机器人设备用于在室内环境中反复通过出发点时,该方法将加速姿势初始化,减少计算负荷,并改善状态估计准确度。
本发明的示例性实施例的之前描述仅是为了说明和描述的目的而给出的,而非意在穷举本发明或将本发明限制于所公开的确切形式。鉴于上述教导,许多修改和变化是可能的。
选择和描述实施例以便解释本发明的原理及其实际应用,从而使得本领域的其他技术人员能够在进行适合于预期特定用途的各种修改的情况下利用本发明和各种实施例。在不脱离本发明的精神和范围的情况下,备选实施例对于本发明所属领域的技术人员来说将变得显而易见。因此,本公开的范围由随附权利要求、而不是本文记载的以上描述和示例性实施例来界定。

Claims (17)

1.一种用于映射和定位的***,包括用于准备多层地图的第一机器人设备和放置在环境内的预定位置中的多个标签,其中,所述第一机器人设备包括用于捕获所述环境的第一图像的第一视觉传感器和第一控制器,所述第一控制器包括第一处理器和存储第一计算机可执行代码的第一存储设备,并且所述第一计算机可执行代码在所述第一处理器处执行时被配置为:
使用由所述第一视觉传感器捕获的第一图像来构建所述环境的特征点云层;
构建包括所述多个标签的标识和所述多个标签的位置在内的标签层;以及
使用所述特征点云层和所述标签层来形成所述多层地图,其中,所述特征点云层和所述标签层共享相同的坐标系;
其中所述第一机器人设备还包括安装在所述第一机器人设备上的第一惯性测量单元IMU和第一轮编码器中的至少一个,并且其中所述第一计算机可执行代码在所述第一处理器处执行时被配置为通过以下方式更新所述多层地图:
通过所述第一视觉传感器捕获当前图像;
从所述当前图像中提取特征;
将从所述当前图像中提取的特征与所述第一机器人设备的紧邻前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第一机器人设备的当前姿势;
使用来自所述第一惯性测量单元IMU或所述第一轮编码器的度量来更新所述第一机器人设备的当前姿势,以获得所述第一机器人设备的更新的当前姿势;
从所述当前图像中检测所述标签;
基于所述第一机器人设备的更新的当前姿势和所述当前图像中的检测到的标签的位置来计算所述标签的姿势;以及
基于所述第一机器人设备的更新的当前姿势和所述标签的姿势来更新所述多层地图。
2.根据权利要求1所述的***,其中所述第一机器人设备还包括第一光检测和测距LIDAR设备,执行的第一计算机可执行代码被配置为使用由所述第一光检测和测距LIDAR设备捕获的扫描来构建占用地图,并将所述占用地图结合到所述多层地图中作为占用地图层,使得所述占用地图层、所述特征点云层和所述标签层具有相同的坐标系。
3.根据权利要求1所述的***,其中所述第一计算机可执行代码在所述第一处理器处执行时还被配置为:
通过将检测到的标签与所述多层地图的标签层中记录的标签相匹配来检测循环闭合;以及
使用检测到的循环闭合来进一步更新所述第一机器人设备的更新的当前姿势。
4.根据权利要求1所述的***,还包括第二机器人设备,其中所述第二机器人设备包括用于捕获所述环境的第二图像的第二视觉传感器和第二控制器,所述第二视觉传感器的分辨率低于所述第一视觉传感器的分辨率,所述第二控制器包括第二处理器和存储第二计算机可执行代码的第二存储设备,并且所述第二计算机可执行代码在所述第二处理器处执行时被配置为:通过将从所述第二图像检测到的标签与所述多层地图中存储的标签的位置相匹配,来定位所述第二机器人设备。
5.根据权利要求4所述的***,其中所述第二机器人设备还包括第二光检测和测距LIDAR设备,执行的第二计算机可执行代码被配置为:将在所述LIDAR设备的扫描中检测到的特征与占用地图层中存储的特征相匹配。
6.根据权利要求4所述的***,其中所述第二机器人设备还包括安装在所述第二机器人设备上的第二惯性测量单元IMU和第二轮编码器中的至少一个,并且其中所述第二计算机可执行代码在所述第二处理器处执行时被配置为通过以下方式使用所述多层地图:
通过所述第二视觉传感器来捕获当前定位图像;
从所述当前定位图像中提取特征;
将从所述当前定位图像中提取的特征与所述第二机器人设备的紧邻前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第二机器人设备的第一当前姿势;
从所述当前定位图像中检测所述标签;
基于所述多层地图和检测到的标签来计算所述第二机器人设备的第二当前姿势;以及
使用所述第一当前姿势、所述第二当前姿势和来自第一惯性测量单元IMU或第一轮编码器的度量来更新所述第二机器人设备的姿势,以获得所述第二机器人设备的更新的当前姿势。
7.根据权利要求6所述的***,其中所述第二计算机可执行代码在所述第二处理器处执行时还被配置为通过以下方式来更新所述第二机器人设备的更新的当前姿势:
通过将检测到的标签与所述多层地图的标签层中记录的标签相匹配来检测循环闭合;以及
使用检测到的循环闭合来进一步更新所述第二机器人设备的更新的当前姿势。
8.一种用于映射和定位的方法,包括:
使用由第一机器人设备的第一视觉传感器捕获的第一图像来构建环境的特征点云层;
构建包括放置在所述环境内的预定位置中的多个标签的标识和位置在内的标签层;以及
使用所述特征点云层和所述标签层来形成多层地图,其中,所述特征点云层和所述标签层共享相同的坐标系;
还包括通过以下方式更新所述多层地图:
通过所述第一视觉传感器捕获当前图像;
从所述当前图像中提取特征;
将从所述当前图像中提取的特征与所述第一机器人设备的紧邻前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第一机器人设备的当前姿势;
使用来自安装在所述第一机器人设备上的第一惯性测量单元IMU和第一轮编码器中的至少一个的度量来更新所述第一机器人设备的当前姿势,以获得所述第一机器人设备的更新的当前姿势;
从所述当前图像中检测所述标签;
基于所述第一机器人设备的更新的当前姿势和所述当前图像中的检测到的标签的位置来计算所述标签的姿势;以及
基于所述第一机器人设备的更新的当前姿势和所述标签的姿势来更新所述多层地图。
9.根据权利要求8所述的方法,还包括:
使用由第一光检测和测距LIDAR设备捕获的扫描来构建占用地图;以及
将所述占用地图结合到所述多层地图中作为占用地图层,使得所述占用地图层、所述特征点云层和所述标签层具有相同的坐标系。
10.根据权利要求8所述的方法,还包括通过以下方式更新所述多层地图:
通过将检测到的标签与所述多层地图的标签层中记录的标签相匹配来检测循环闭合;以及
使用检测到的循环闭合来进一步更新所述第一机器人设备的更新的当前姿势。
11.根据权利要求8所述的方法,还包括:通过将从所述环境的第二图像检测到的标签与所述多层地图中的标签的位置相匹配来定位第二机器人设备,其中,所述第二图像是由所述第二机器人设备的第二视觉传感器捕获的,所述第二视觉传感器的分辨率低于所述第一视觉传感器的分辨率。
12.根据权利要求11所述的方法,还包括:
将在第二光检测和测距LIDAR设备的扫描中检测到的特征与占用地图层中存储的特征相匹配。
13.根据权利要求11所述的方法,还包括通过以下方式使用所述多层地图:
通过所述第二视觉传感器来捕获当前定位图像;
从所述当前定位图像中提取特征;
将从所述当前定位图像中提取的特征与所述第二机器人设备的紧邻前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第二机器人设备的第一当前姿势;
从所述当前定位图像中检测所述标签;
基于所述多层地图和检测到的标签来计算所述第二机器人设备的第二当前姿势;以及
使用所述第一当前姿势、所述第二当前姿势和来自安装在所述第二机器人设备上的第二惯性测量单元IMU及第二轮编码器中的至少一个的度量来更新所述第二机器人设备的姿势,以获得所述第二机器人设备的更新的当前姿势。
14.根据权利要求13所述的方法,还包括通过以下方式更新所述第二机器人设备的更新的当前姿势:
通过将检测到的标签与所述多层地图的标签层中记录的标签相匹配来检测循环闭合;以及
使用检测到的循环闭合来进一步更新所述第二机器人设备的更新的当前姿势。
15.一种存储计算机可执行代码的非暂时性计算机可读介质,其中当在第一机器人设备的控制器的处理器处执行时,所述计算机可执行代码被配置为:
使用由第一机器人设备的第一视觉传感器捕获的第一图像来构建环境的特征点云层;
建造包括多个标签的标识和所述多个标签的位置在内的标签层,其中,所述标签被放置在所述环境内的预定位置中;以及
使用所述特征点云层和所述标签层来形成多层地图,其中,所述特征点云层和所述标签层共享相同的坐标系;
其中,所述计算机可执行代码被配置为:
通过所述第一视觉传感器捕获当前图像;
从所述当前图像中提取特征;
将从所述当前图像中提取的特征与所述第一机器人设备的紧邻前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第一机器人设备的当前姿势;
使用来自安装在所述第一机器人设备上的第一惯性测量单元IMU和第一轮编码器中的至少一个的度量来更新所述第一机器人设备的当前姿势,以获得所述第一机器人设备的更新的当前姿势;
从所述当前图像中检测所述标签;
基于所述第一机器人设备的更新的当前姿势和所述当前图像中的检测到的标签的位置来计算所述标签的姿势;
基于所述第一机器人设备的更新的当前姿势和所述标签的姿势来更新所述多层地图;
通过将检测到的标签与所述多层地图的标签层中记录的标签相匹配来检测循环闭合;以及
使用检测到的循环闭合来进一步更新所述第一机器人设备的更新的当前姿势。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,所述计算机可执行代码被配置为:
通过将从所述环境的第二图像检测到的标签与所述多层地图中的标签的位置相匹配来定位第二机器人设备,其中,所述第二图像是由第二机器人设备的第二视觉传感器捕获的,所述第二视觉传感器的分辨率低于所述第一视觉传感器的分辨率。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,所述计算机可执行代码被配置为:
通过所述第二视觉传感器来捕获当前定位图像;
从所述当前定位图像中提取特征;
将从所述当前定位图像中提取的特征与所述第二机器人设备的紧邻前一关键帧中的特征相匹配,以获得匹配的特征;
基于所述匹配的特征来恢复所述第二机器人设备的第一当前姿势;
从所述当前定位图像中检测所述标签;
基于所述多层地图和检测到的标签来计算所述第二机器人设备的第二当前姿势;以及
使用所述第一当前姿势、所述第二当前姿势和来自安装在所述第二机器人设备上的第二惯性测量单元IMU及第二轮编码器中的至少一个的度量来更新所述第二机器人设备的姿势,以获得所述第二机器人设备的更新的当前姿势;
通过将检测到的标签与所述多层地图的标签层中记录的标签相匹配来检测循环闭合;以及
使用检测到的循环闭合来进一步更新所述第二机器人设备的更新的当前姿势。
CN201910366556.5A 2018-04-30 2019-04-30 用于多模态映射和定位的***和方法 Active CN110411441B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/967,460 US10807236B2 (en) 2018-04-30 2018-04-30 System and method for multimodal mapping and localization
US15/967,460 2018-04-30

Publications (2)

Publication Number Publication Date
CN110411441A CN110411441A (zh) 2019-11-05
CN110411441B true CN110411441B (zh) 2023-04-07

Family

ID=68292027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910366556.5A Active CN110411441B (zh) 2018-04-30 2019-04-30 用于多模态映射和定位的***和方法

Country Status (2)

Country Link
US (1) US10807236B2 (zh)
CN (1) CN110411441B (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11493930B2 (en) * 2018-09-28 2022-11-08 Intrinsic Innovation Llc Determining changes in marker setups for robot localization
CN107481327B (zh) * 2017-09-08 2019-03-15 腾讯科技(深圳)有限公司 关于增强现实场景的处理方法、装置、终端设备及***
US10768631B2 (en) * 2018-03-27 2020-09-08 Beijing Jingdong Shangke Information Technology Co., Ltd. Method and apparatus for controlling a mobile robot
US11766785B2 (en) * 2018-06-29 2023-09-26 Noiseout, Inc. Automated testing system
CN109064506B (zh) * 2018-07-04 2020-03-13 百度在线网络技术(北京)有限公司 高精度地图生成方法、装置及存储介质
CN111380510B (zh) * 2018-12-29 2022-04-15 深圳市优必选科技有限公司 重定位方法及装置、机器人
CN113519011A (zh) * 2019-03-08 2021-10-19 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
US11917201B2 (en) * 2019-03-15 2024-02-27 Sony Group Corporation Information processing apparatus and information generation method
WO2020225886A1 (ja) * 2019-05-08 2020-11-12 日本電信電話株式会社 点群解析装置、方法、及びプログラム
US11231712B2 (en) 2019-06-12 2022-01-25 Ford Global Technologies, Llc Digital model rectification with sensing robot
WO2020251100A1 (ko) * 2019-06-14 2020-12-17 엘지전자 주식회사 퓨전 슬램에서 맵을 업데이트하는 방법 및 이를 구현하는 로봇
US11220006B2 (en) * 2019-06-24 2022-01-11 Ford Global Technologies, Llc Digital model rectification
CN110307838B (zh) * 2019-08-26 2019-12-10 深圳市优必选科技股份有限公司 机器人重定位方法、装置、计算机可读存储介质及机器人
CN111179427A (zh) * 2019-12-24 2020-05-19 深圳市优必选科技股份有限公司 自主移动设备及其控制方法、计算机可读存储介质
CN111189449B (zh) * 2020-01-21 2023-04-25 杭州大数云智科技有限公司 一种机器人地图构建方法
US11846091B2 (en) * 2020-01-28 2023-12-19 Topcon Positioning Systems, Inc. System and method for controlling an implement on a work machine using machine vision
US11703864B2 (en) 2020-02-13 2023-07-18 Skydio, Inc. Scanning structures via unmanned aerial vehicles
WO2021208015A1 (zh) * 2020-04-16 2021-10-21 珊口(上海)智能科技有限公司 构建地图及定位方法、客户端、移动机器人及存储介质
CN111879305B (zh) * 2020-06-16 2022-03-18 华中科技大学 一种面向高危生产环境的多模态感知定位模型与***
CN111707272B (zh) * 2020-06-28 2022-10-14 湖南大学 一种地下车库自动驾驶激光定位***
CN111739088B (zh) * 2020-07-21 2020-12-04 上海思岚科技有限公司 基于视觉标签的定位方法及设备
CN111796600A (zh) * 2020-07-22 2020-10-20 中北大学 一种基于四足机器人的物体识别与跟踪***
CN112004196B (zh) * 2020-08-24 2021-10-29 唯羲科技有限公司 定位方法、装置、终端及计算机存储介质
US11748449B2 (en) * 2020-11-25 2023-09-05 Beijing Baidu Netcom Science And Technology Co., Ltd. Data processing method, data processing apparatus, electronic device and storage medium
US20220175463A1 (en) * 2020-12-04 2022-06-09 Claronav Inc. Surgical tool calibration
CN112734804B (zh) * 2021-01-07 2022-08-26 支付宝(杭州)信息技术有限公司 图像数据标注的***和方法
US11508089B2 (en) * 2021-03-05 2022-11-22 Black Sesame Technologies Inc. LiDAR assisted wheel encoder to camera calibration
CN113763551B (zh) * 2021-09-08 2023-10-27 北京易航远智科技有限公司 一种基于点云的大规模建图场景的快速重定位方法
CN113894785B (zh) * 2021-10-27 2023-06-09 华中科技大学无锡研究院 水轮机叶片在位测量与加工的控制方法、装置及***
WO2023195873A1 (en) * 2022-04-07 2023-10-12 Topcon Positioning Systems, Inc. Method and apparatus for determining marker position and attitude
WO2024025850A1 (en) * 2022-07-26 2024-02-01 Becton, Dickinson And Company System and method for vascular access management
CN116160458B (zh) * 2023-04-26 2023-07-04 广州里工实业有限公司 一种移动机器人多传感器融合快速定位方法、设备及***
CN117091588B (zh) * 2023-10-16 2024-01-26 珠海太川云社区技术股份有限公司 一种基于多模态融合的医院就诊引导方法及***
CN117554984A (zh) * 2023-11-08 2024-02-13 广东科学技术职业学院 一种基于图像理解的单线激光雷达室内slam定位方法及***

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268729A (zh) * 2013-05-22 2013-08-28 北京工业大学 基于混合特征的移动机器人级联式地图创建方法
CN103278170A (zh) * 2013-05-16 2013-09-04 东南大学 基于显著场景点检测的移动机器人级联地图创建方法
CN104330090A (zh) * 2014-10-23 2015-02-04 北京化工大学 机器人分布式表征智能语义地图创建方法
CN105225604A (zh) * 2015-10-30 2016-01-06 汕头大学 一种移动机器人导航的混合地图的构建方法
CN105841687A (zh) * 2015-01-14 2016-08-10 上海智乘网络科技有限公司 室内定位方法和***
CN106599108A (zh) * 2016-11-30 2017-04-26 浙江大学 一种三维环境中多模态环境地图构建方法
CN107063258A (zh) * 2017-03-07 2017-08-18 重庆邮电大学 一种基于语义信息的移动机器人室内导航方法
CN107167148A (zh) * 2017-05-24 2017-09-15 安科机器人有限公司 同步定位与地图构建方法和设备
CN107180215A (zh) * 2017-05-31 2017-09-19 同济大学 基于库位和二维码的停车场自动建图与高精度定位方法
CN107564012A (zh) * 2017-08-01 2018-01-09 中国科学院自动化研究所 面向未知环境的增强现实方法及装置
CN107830854A (zh) * 2017-11-06 2018-03-23 深圳精智机器有限公司 基于orb稀疏点云与二维码的视觉定位方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177737B2 (en) * 2002-12-17 2007-02-13 Evolution Robotics, Inc. Systems and methods for correction of drift via global localization with a visual landmark
CA2859112C (en) * 2009-08-31 2017-08-15 Neato Robotics, Inc. Method and apparatus for simultaneous localization and mapping of mobile robot environment
EP2619742B1 (en) * 2010-09-24 2018-02-28 iRobot Corporation Systems and methods for vslam optimization
US8718837B2 (en) * 2011-01-28 2014-05-06 Intouch Technologies Interfacing with a mobile telepresence robot
US9910441B2 (en) * 2015-11-04 2018-03-06 Zoox, Inc. Adaptive autonomous vehicle planner logic
US10949798B2 (en) * 2017-05-01 2021-03-16 Symbol Technologies, Llc Multimodal localization and mapping for a mobile automation apparatus
US10496104B1 (en) * 2017-07-05 2019-12-03 Perceptin Shenzhen Limited Positional awareness with quadocular sensor in autonomous platforms
US10437252B1 (en) * 2017-09-08 2019-10-08 Perceptln Shenzhen Limited High-precision multi-layer visual and semantic map for autonomous driving

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103278170A (zh) * 2013-05-16 2013-09-04 东南大学 基于显著场景点检测的移动机器人级联地图创建方法
CN103268729A (zh) * 2013-05-22 2013-08-28 北京工业大学 基于混合特征的移动机器人级联式地图创建方法
CN104330090A (zh) * 2014-10-23 2015-02-04 北京化工大学 机器人分布式表征智能语义地图创建方法
CN105841687A (zh) * 2015-01-14 2016-08-10 上海智乘网络科技有限公司 室内定位方法和***
CN105225604A (zh) * 2015-10-30 2016-01-06 汕头大学 一种移动机器人导航的混合地图的构建方法
CN106599108A (zh) * 2016-11-30 2017-04-26 浙江大学 一种三维环境中多模态环境地图构建方法
CN107063258A (zh) * 2017-03-07 2017-08-18 重庆邮电大学 一种基于语义信息的移动机器人室内导航方法
CN107167148A (zh) * 2017-05-24 2017-09-15 安科机器人有限公司 同步定位与地图构建方法和设备
CN107180215A (zh) * 2017-05-31 2017-09-19 同济大学 基于库位和二维码的停车场自动建图与高精度定位方法
CN107564012A (zh) * 2017-08-01 2018-01-09 中国科学院自动化研究所 面向未知环境的增强现实方法及装置
CN107830854A (zh) * 2017-11-06 2018-03-23 深圳精智机器有限公司 基于orb稀疏点云与二维码的视觉定位方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Simultaneous localization and mapping system based on labels;Tong Liu等;《Journal of Beijing Institute of Technology》;20171231;第26卷(第4期);第534-541页 *
基于服务任务导向的机器人地图构建研究;吴皓;《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》;20111215(第12期);第I140-75页 *

Also Published As

Publication number Publication date
US10807236B2 (en) 2020-10-20
CN110411441A (zh) 2019-11-05
US20190329407A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
CN110411441B (zh) 用于多模态映射和定位的***和方法
CN110702111B (zh) 使用双事件相机的同时定位与地图创建(slam)
CN110807350B (zh) 用于面向扫描匹配的视觉slam的***和方法
EP3420530B1 (en) A device and method for determining a pose of a camera
US9877012B2 (en) Image processing apparatus for estimating three-dimensional position of object and method therefor
CN107431786B (zh) 图像处理设备、图像处理***和图像处理方法
US8942418B2 (en) Method of providing a descriptor for at least one feature of an image and method of matching features
Wendel et al. Natural landmark-based monocular localization for MAVs
WO2019042426A1 (zh) 增强现实场景的处理方法、设备及计算机存储介质
KR101633620B1 (ko) 영상 기반의 위치 인식을 위한 특징점 등록 장치 및 그 방법
US11654571B2 (en) Three-dimensional data generation device and robot control system
JP7147753B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6479296B2 (ja) 位置姿勢推定装置および位置姿勢推定方法
JP2019114103A (ja) 物体認識処理装置、物体認識処理方法及びプログラム
JP6410231B2 (ja) 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム
JP6701057B2 (ja) 認識装置、プログラム
WO2017042852A1 (en) Object recognition appratus, object recognition method and storage medium
Zheng et al. External vision based robust pose estimation system for a quadrotor in outdoor environments
Sallam Fatouh et al. Image-based localization for augmented reality application: A review
CN115700507B (zh) 地图更新方法及其装置
CN117649619B (zh) 无人机视觉导航定位回收方法、***、装置及可读存储介质
Toriya et al. A mobile camera localization method using aerial-view images
CN113554703B (zh) 机器人定位方法、装置、***和计算机可读存储介质
dos Santos Fernandes et al. Visual and inertial data fusion for Globally consistent point cloud registration
CN116952219A (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
TA01 Transfer of patent application right

Effective date of registration: 20210519

Address after: 101, 1st floor, building 2, yard 20, Suzhou street, Haidian District, Beijing

Applicant after: Beijing Jingbangda Trading Co.,Ltd.

Applicant after: JD.com American Technologies Corp.

Address before: 100086 8th Floor, 76 Zhichun Road, Haidian District, Beijing

Applicant before: BEIJING JINGDONG SHANGKE INFORMATION TECHNOLOGY Co.,Ltd.

Applicant before: JD.com American Technologies Corp.

Effective date of registration: 20210519

Address after: Room a1905, 19th floor, building 2, yard 18, Kechuang 11th Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Applicant after: Beijing Jingdong Qianshi Technology Co.,Ltd.

Applicant after: JD.com American Technologies Corp.

Address before: 101, 1st floor, building 2, yard 20, Suzhou street, Haidian District, Beijing 100080

Applicant before: Beijing Jingbangda Trading Co.,Ltd.

Applicant before: JD.com American Technologies Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant