CN114255323A - 机器人、地图构建方法、装置和可读存储介质 - Google Patents

机器人、地图构建方法、装置和可读存储介质 Download PDF

Info

Publication number
CN114255323A
CN114255323A CN202111577512.0A CN202111577512A CN114255323A CN 114255323 A CN114255323 A CN 114255323A CN 202111577512 A CN202111577512 A CN 202111577512A CN 114255323 A CN114255323 A CN 114255323A
Authority
CN
China
Prior art keywords
map
local
points
robot
image data
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.)
Pending
Application number
CN202111577512.0A
Other languages
English (en)
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.)
Shenzhen Pudu Technology Co Ltd
Original Assignee
Shenzhen Pudu Technology Co Ltd
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 Shenzhen Pudu Technology Co Ltd filed Critical Shenzhen Pudu Technology Co Ltd
Priority to CN202111577512.0A priority Critical patent/CN114255323A/zh
Publication of CN114255323A publication Critical patent/CN114255323A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

一种地图构建方法,包括:融合机器人搭载的多个传感器获取的数据,得到图像数据和机器人的位姿数据;追踪根据图像数据和机器人的位姿数据生成的局部地图的地图点,建立所图像数据的当前帧与局部地图的地图点的关联关系,其中,局部地图包括关键帧和地图点;根据机器人的位姿数据以及图像数据的当前帧与局部地图的地图点的关联关系,建立局部地图各个关键帧的局部共视关系并对局部地图进行更新;根据各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图。本申请的技术方案使得构建的全局地图精确性更高,用于机器人定位时的精度也能提高。

Description

机器人、地图构建方法、装置和可读存储介质
技术领域
本发明涉及机器人领域,特别涉及一种机器人、地图构建方法、装置和可读存储介质。
背景技术
机器人室内定位主要是依赖于已知的地图(有的地图是预先制作,有的则是实时建立,例如SLAM地图),定位效果和/或精度取决于地图的质量。现有的室内地图构建方法主要包括激光栅格地图构建方法和视觉点云地图构建方法。然而,激光栅格地图构建方法得到的地图在长走廊或对称环境下,定位的效果不佳,而视觉点云地图构建方法得到的地图,在白墙等弱纹理环境下,由于特征偏少或难于提取有效特征,导致构建的地图出现尺度漂移的现象。
发明内容
本申请提供一种机器人、地图构建方法、装置和可读存储介质,以克服单纯的激光栅格地图构建方法或单纯的视觉点云地图构建方法所得到的地图的定位效果欠佳或尺度漂移等缺陷。
一方面,本申请提供了一种机器人,所述机器人包括:
存储器,
所述存储器存储有可执行程序代码;
处理器,与所述存储器耦合,所述处理器用于调用所述存储器中存储的可执行程序代码时执行如下步骤:
融合所述机器人搭载的多个传感器获取的数据,得到图像数据和机器人的位姿数据;
追踪根据所述图像数据和机器人的位姿数据生成的局部地图的地图点,建立所述图像数据的当前帧与所述局部地图的地图点的关联关系,所述局部地图包括关键帧和地图点;
根据所述机器人的位姿数据以及所述图像数据的当前帧与所述局部地图的地图点的关联关系,建立所述局部地图各个关键帧的局部共视关系并对所述局部地图进行更新;
根据所述各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图。
另一方面,本申请提供了一种地图构建装置,所述装置包括:
融合模块,用于融合多个传感器获取的数据,得到图像数据和机器人的位姿数据;
追踪模块,用于追踪根据所述图像数据和机器人的位姿数据生成的局部地图的地图点,建立所述图像数据的当前帧与所述局部地图的地图点的关联关系,所述局部地图包括关键帧和地图点;
第一生成模块,用于根据所述机器人的位姿数据以及所述图像数据的当前帧与所述局部地图的地图点的关联关系,建立所述局部地图各个关键帧的局部共视关系并对所述局部地图进行更新;
第二生成模块,用于根据所述各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图。
第三方面,本申请提供了一种地图构建方法,所述方法包括:
融合多个传感器获取的数据,得到图像数据和机器人的位姿数据;
追踪根据所述图像数据和机器人的位姿数据生成的局部地图的地图点,建立所述图像数据的当前帧与所述局部地图的地图点的关联关系,所述局部地图包括关键帧和地图点;
根据所述机器人的位姿数据以及所述图像数据的当前帧与所述局部地图的地图点的关联关系,建立所述局部地图各个关键帧的局部共视关系并对所述局部地图进行更新;
根据所述各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图。
第四方面,本申请提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序用于被处理器执行时实现上述地图构建方法。
从上述本申请提供的技术方案可知,一方面,由于局部地图的数据来源于多个传感器数据的融合,进而由局部地图构建全局地图,因此,相较于单纯的激光栅格地图构建方法或视觉点云地图构建方法所得到的地图而言,其精确性更高;另一方面,通过建立图像数据的当前帧与局部地图的地图点的关联关系、局部地图各个关键帧的局部共视关系以及在此基础上对局部地图的优化,使得最后生成的全局地图用于机器人定位时的精度更高。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的机器人的结构示意图;
图2是本申请实施例提供的地图构建方法的流程图;
图3是本申请实施例提供的关键帧的局部共视关系的示意图;
图4是本申请实施例提供的重投影误差示意图;
图5是本申请实施例提供的地图构建装置的结构示意图;
图6是本申请实施例提供的设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
在本说明书中,为了便于描述,附图中所示的各个部分的尺寸并不是按照实际的比例关系绘制的。
请参阅附图1,本申请一实施例提供的机器人的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分。该机器人可包括:
存储器10和处理器20,处理器20为机器人的运算和控制核心,是信息处理、程序运行的最终执行单元。存储器10例如硬盘驱动存储器,非易失性存储器(例如闪存或用于形成固态驱动器的其它电子可编程限制删除的存储器等),易失性存储器(例如静态或动态随机存取存储器等)等,本申请实施例不作限制。
存储器10中存储有可执行程序代码;与存储器10耦合的处理器20调用存储器10中存储的所述可执行程序代码,执行如下地图构建方法:融合机器人搭载的多个传感器获取的数据,得到图像数据和机器人的位姿数据;追踪根据图像数据和机器人的位姿数据生成的局部地图的地图点,建立图像数据的当前帧与局部地图的地图点的关联关系,所局部地图包括关键帧和地图点;根据机器人的位姿数据以及图像数据的当前帧与局部地图的地图点的关联关系,建立局部地图各个关键帧的局部共视关系并对局部地图进行更新;根据各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图。
参阅图2,是本申请实施例提供的一种地图构建方法,主要包括步骤S201至步骤S204,说明如下:
步骤S201:融合机器人搭载的多个传感器获取的数据,得到图像数据和机器人的位姿数据。
在本申请实施例中,机器人搭载的传感器包括视觉类传感器和运动类传感器,其中,视觉类传感器可以是单目相机、双目相机和/或深度相机,运动类传感器可以是惯性测量单元和/或轮式里程计等。视觉类传感器可以使得机器人在当前位置采集环境地图,获得图像数据,进而估计机器人的位姿数据。尽管惯性测量单元和轮式里程计等运动类传感器可以通过测量得到机器人的位姿数据,然而,由于运动类传感器在工作时,其测得的角速度和加速度等位姿数据存在明显的漂移(Drift),这些漂移量在经过预积分处理后使得到的位姿数据不可靠,尤其是经过较长时间的累积后,位姿数据的误差更大,而通过视觉类传感器虽然也能够得到机器人的位姿数据(本质上是先得到机器人搭载的视觉类传感器的位姿数据,然后,通过该视觉类传感器的位姿数据,间接得到机器人的位姿数据),然而,在机器人移动过快或者两帧图像数据之间重叠区域太少以至于无法进行特征匹配,这些都给单纯依靠视觉类传感器获得机器人的位姿数据带来了不利。因此,在本申请实施例中,可以融合机器人搭载的视觉类传感器(例如,相机)获取的机器人的位姿数据以及运动类传感器获取的机器人的位姿数据,融合得到最终的机器人的位姿数据。至于融合方式,可以是紧耦合的融合方式,即,将运动类传感器获取的机器人状态与视觉传感器获取的机器人状态合并在一起,共同构建运动方程xk=f(xk-1,uk,wk)和观测方程zk,j=h(yj,xk,vk,j),然后进行状态估计,得到机器人的位姿数据。上述运动方程和观测方程中,xk表示k时刻机器人位姿,是待求取的量,uk表示运动类传感器的读数(或运动方程的输入),wk为运动方程中的噪声,xk-1表示k-1时刻机器人位姿,zk,j表示机器人的位姿为xk、观测到的路标yj时得到的观测数据,vk,j是观测时的噪声。
步骤S202:追踪根据图像数据和机器人的位姿数据生成的局部地图的地图点,建立图像数据的当前帧与局部地图的地图点的关联关系,其中,局部地图包括关键帧和地图点。
按照视觉类传感器的定位原理,随着机器人的移动,需要持续追踪局部地图的地图点。所谓地图点,其包含视觉类传感器采集或观测到的三维空间中某个点的位姿信息(位置和姿态,例如,旋转角、朝向等)和特征描述符两部分,其中,特征描述符为对在观测到该地图点的一帧图像中的投影位置提取的特征的描述。在本申请实施例中,局部地图是根据视觉类传感器获取的图像数据和运动类传感器获取的机器人的位姿数据融合后生成,其描述了视觉类传感器附近的特征信息,这些特征信息可以用于与图像数据当前帧进行匹配,从而建立图像数据当前帧与局部地图的地图点的关联关系;局部地图可以使用地图点和视觉类传感器获取的图像数据的关键帧来表征。此处的关键帧,是指机器人或视觉类相机在运动过程中采集的图像数据中某几帧特殊的图像,关键帧中记录的机器人位姿将被仔细优化,而介于两个关键帧之间的内容,除了对局部地图贡献一些地图点之外,理所当然地可以被忽略掉。
作为本申请的一个实施例,步骤S202的追踪根据图像数据和机器人的位姿数据生成的局部地图的地图点,建立图像数据的当前帧与局部地图的地图点的关联关系,可以通过步骤S2021至步骤S2023实现,说明如下:
步骤S2021:提取图像数据当前帧中ORB特征点,其中,ORB特征点包括关键点及其描述符。
在本申请实施例中,机器人搭载的视觉类传感器按照其采样频率,不断从环境中采集图像,得到图像数据,这些图像数据中包含一些比较有代表性的点,称为特征点;特征点是图像数据中比较特别的地方,例如图像中的角点、边缘和像素区块,等等,其中,图像中的角点、边缘相对于像素区块而言更加特别,在不同帧图像之间的辨识度更强,因此,在本申请实施例中,可以将图像数据中的角点作为特征点,例如,ORB(Oriented FAST andRotated BRIEF)特征点,每个ORB特征点由关键点(Key Point)和描述符(Descriptor)组成,其中,关键点即Oriented FAST,是一种改进的FAST角点,描述符即Binary RobustIndependent Elementary Features(简称BRIEF),是对关键点周围区域像素信息的描述。一种提取ORB特征点的方法是在图像中选取像素p,并假设其亮度为Ip,然后,设置一个亮度阈值T(其可以是Ip的20%),以像素p为中心,选取半径为某个长度(例如,3)的圆上的16个像素点,这些工作做完之后,可以在圆上选取连续的N个点,若其亮度均大于T+Ip或小于Ip-T,则像素p可以被认为是ORB特征点;在整幅图像中对每一个像素循环执行上述相同的操作。需要说明的是,所谓图像数据的当前帧,是指视觉类传感器按照其采样频率不断从环境中采集图像时,当前获取的一帧图像数据。
步骤S2022:将图像数据的当前帧中关键点的描述符与图像数据的当前帧之前一个关键帧中关键点的描述符匹配。
如前所述,视觉类传感器按照其采样频率不断从环境中采集图像,这些图像数据中有些被选为局部地图的关键帧;关键帧包含特征点即关键点及其描述符。由于相同的描述符,其对应的关键点也相同,若图像数据的当前帧中关键点的描述符与图像数据的当前帧之前一个关键帧中关键点的描述符能够成功匹配,则可以建立图像数据当前帧与局部地图中对应于匹配成功关键点的地图点的关联关系,因此,可以将图像数据当前帧中关键点的描述符与图像数据当前帧之前一个关键帧中关键点的描述符匹配。具体匹配过程可以是将图像数据当前帧中关键点和图像数据当前帧之前一个关键帧中关键点的描述符均向量化,然后,通过余弦相似度计算两个向量的相似度。
步骤S2023:若匹配成功,则建立图像数据的当前帧与局部地图中对应于匹配成功关键点的地图点的关联关系,其中,匹配成功关键点的地图点为局部地图中当前追踪的地图点。
若向量化后的图像数据的当前帧中关键点和图像数据当前帧之前一个关键帧中关键点的描述符,其相似度超过某个预设阈值,则表明图像数据的当前帧中关键点的描述符与图像数据的当前帧之前一个关键帧中关键点的描述符匹配成功。一旦图像数据当前帧中关键点的描述符与图像数据当前帧之前一个关键帧中关键点的描述符匹配成功,则意味着可以建立图像数据当前帧与局部地图中对应于匹配成功关键点的地图点的关联关系,即,将图像数据当前帧与局部地图中对应于匹配成功关键点的地图点的匹配关系记录下来,这些匹配成功关键点对应的地图点为局部地图中当前追踪的地图点。
步骤S203:根据机器人的位姿数据以及图像数据的当前帧与局部地图的地图点的关联关系,建立局部地图各个关键帧的局部共视关系并对局部地图进行更新。
之所以要建立局部地图中各个关键帧的局部共视关系,是考虑到后续闭环检测时,一方面可以根据这些局部共视关系,减小闭环检测时的计算量,另一方面是根据这些共视关系便于后续通过图优化的方式优化地图点、局部地图或全局地图,具体可以在后续实施例中详细描述,此处只对关键帧的局部共视关系进行说明。所谓关键帧的局部共视关系,是指视觉类传感器处于各个关键帧记录的位姿时,视觉类传感器观测到的同一地图点(即三维空间中的某个点)的数量。若从图论的观点,关键帧的局部共视关系可以使用图3示例的无向图(Graph)表示,图中的顶点(A、B、C和D)表示关键帧,顶点之间的边的权重(wAB、wBC、wAC、wBD和wCD)即视觉类传感器处于两个关键帧记录的位姿时,视觉类传感器观测到的同一地图点的数量。
在本申请一个实施例中,根据机器人的位姿数据以及图像数据的当前帧与局部地图的地图点的关联关系,建立局部地图各个关键帧的局部共视关系并对局部地图进行更新可以通过如下步骤S2031至步骤S2033实现:
步骤S2031:根据图像数据的当前帧与局部地图的地图点的关联关系,建立当前关键帧与局部地图的历史关键帧的局部共视关系。
在根据图像数据的当前帧与局部地图的地图点的关联关系,建立当前关键帧与局部地图的历史关键帧的局部共视关系之前,需要确定当前关键帧。可以根据图像数据的当前帧与局部地图的地图点的关联关系,判断是否需要插入新的关键帧;若需要插入新的关键帧,则将新的关键帧取代当前关键帧。如前所述,当建立了图像数据的当前帧与局部地图中对应于匹配成功关键点的地图点的关联关系之后,匹配成功关键点的地图点即为局部地图中当前追踪的地图点。因此,根据图像数据的当前帧与局部地图的地图点的关联关系,判断是否需要插入新的关键帧的一种方法是:根据图像数据当前帧与局部地图的地图点的关联关系,确定当前追踪的地图点数量、当前追踪的地图点中质量高于预设阈值的地图点数量以及图像数据当前帧与上一关键帧匹配的关键点数量;若如下5个条件之一满足,则确定需要插入新的关键帧:当前关键帧帧率小于预设阈值、视觉类传感器的帧间三自由度数据大于预设阈值、当前追踪的地图点数量小于前一帧追踪的地图点数量的一半、当前追踪的地图点中质量高于预设阈值的地图点数量大于预设阈值数量或者图像数据当前帧与上一关键帧匹配的关键点数量小于预设阈值数量。上述实施例中,视觉类传感器的帧间三自由度数据即相邻两帧图像之间,视觉类传感器在x轴方向的平移量、y轴方向的平移量和偏航角yaw,例如,相邻两帧图像中,视觉类传感器在x轴方向的平移量超过0.05米、y轴方向的平移量超过0.02米和/或偏航角yaw超过2°,则确定需要插入新的关键帧。
在确定了当前关键帧之后,可以按照描述符的相似度,将当前关键帧中关键点与局部地图的历史关键帧的关键点匹配,匹配成功的关键点所对应的地图点即为视觉类传感器处于不同位姿时观测到的同一地图点,将这些相同地图点的数量记录下来,构成图论中无向图顶点之间边的权重,从而建立当前关键帧与所述局部地图中历史关键帧的局部共视关系。
步骤S2032:根据当前关键帧与局部地图中历史关键帧的局部共视关系,初次优化局部地图的地图点和关键帧,得到初次优化局部地图。
具体地,步骤S2032的实现可以是:根据当前关键帧与局部地图的历史关键帧的局部共视关系,删除局部地图的冗余关键帧和质量低于期望值的地图点;将具有局部共视关系的关键帧中次级质量关键点三角化,其中,次级质量关键点包括两个匹配成功的关键帧中最大基线长度超过预设阈值且未三角化的关键点。毋庸置疑,若关键帧存在冗余,或者追踪的地图点质量较差,则对后续的优化局部地图不利,因此,需要删除局部地图中冗余关键帧和质量低于期望值的地图点。由于当前关键帧与局部地图的历史关键帧的局部共视关系记录了视觉类传感器处于不同位姿时观测到同一地图点的数量,因此,可以根据当前关键帧与局部地图的历史关键帧的局部共视关系,删除局部地图中冗余关键帧,具体方式可以是考察这些关键帧,若两个关键帧中观测到相同地图点的数量超过其观测到的地图点数量的一半,则可以删除其中一个关键帧。当冗余关键帧和质量低于期望值的地图点删除,以及具有局部共视关系的关键帧中次级质量关键点三角化之后,局部地图得到初次优化。需要说明的是,所谓三角化,是指通过在两个关键帧中找出匹配的关键点对,计算出这些匹配关键点对的地图点的3D位姿信息。
步骤S2033:根据机器人的位姿数据和初次优化局部地图,对局部地图再次优化以更新局部地图。
具体地,步骤S2033的实现可以是对经步骤S2022得到的初次优化局部地图进行卡方检验,删除初次优化局部地图中卡方值超过预设阈值的地图点,得到二次优化局部地图;根据机器人的位姿数据,求取关键帧的帧间运动估计误差;以二次优化局部地图的地图点的重投影误差和帧间运动估计误差为优化目标,联合优化二次优化局部地图的的关键帧和地图点。所谓地图点的重投影误差,是指将像素坐标(即视觉类传感器观测到的地图点的投影)与地图点按照当前估计的视觉类传感器位姿进行投影得到的位置相比较得到的误差。考虑n个三维空间点P(地图点在三维空间的位置)和视觉类传感器观测到它们的投影p,假设某个空间点Pi的三维坐标为Pi=[Xi,Yi,Zi]T,像素坐标(即视觉类传感器观测到的投影)为ui=[ui,vi]T,则该点的像素坐标和其三维坐标的关系如下:
Figure BDA0003425772120000111
其中,ξ^是李代数表示的视觉类传感器的位姿的估计值,上述像素坐标和其三维坐标的关系写成矩阵形式即:siui=Kexp(ξ^)Pi
由于视觉类传感器的位姿未知以及观测点的噪声,上述等式存在一个误差,这个误差也就是地图点的重投影误差,将误差求和,构建最小二乘问题,然后寻找视觉类传感器的最好位姿使该重投影误差最小化:
Figure BDA0003425772120000112
如图4所示,是重投影误差的示意图,通过关键点的匹配,获知p1和p2是同一个空间点(P)的像素坐标,但视觉类传感器的位姿未知。在初始值中,P的投影(按照当前估计的视觉类传感器位姿对P进行的投影)
Figure BDA0003425772120000113
和实际的p2(即视觉类传感器观测到的P的投影)之间存在距离e,于是调整视觉类传感器的位姿,使得这个距离e变小;使n个空间点P的这类距离之和变小就是使得重投影误差最小化,也即求解最小二乘问题的最优解。
进一步地,若在上述实施例中,联合优化二次优化局部地图的关键帧和地图点之后,存在优化失败和脱离了视觉类传感器视野的地图点,则将这类地图点删除,也可以将局部地图的地图点数量少于预设阈值的关键帧删除,以减小后续对更新后的局部地图优化时的计算量。因此,在联合优化二次优化局部地图的关键帧和地图点之后还包括删除经过联合优化后优化失败和脱离视觉类传感器视野的地图点,将经过联合优化后得到的局部地图的地图点数量少于预设阈值的关键帧删除。
步骤S204:根据各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图。
具体地,步骤S204的实现可以是:在创建最新关键帧后,触发闭环检测以将最新关键帧与具有局部共视关系的各个关键帧进行匹配,若匹配成功,则建立全局闭环帧共视关系,根据全局闭环帧共视关系和各个关键帧的局部共视关系,以匹配成功关键点对应地图点的重投影误差为优化目标解算所有关键帧中的位姿以生成全局地图。上述实施例中,全局闭环帧共视关系的概念及其建立方法与前述实施例中局部共视关系的概念及其建立方法类似,只是此时的共视关系中不再是关键帧,而是变成了全局地图中的闭环帧(所谓闭环帧,是指通过闭环检测得到的具有闭环关系的关键帧)。之所以将最新关键帧与具有局部共视关系的各个关键帧进行匹配,是考虑到具有局部共视关系的各个关键帧中,其共视关系已经表明观测到的同一地图点的数量,因此,将最新关键帧与这些具有局部共视关系的关键帧匹配,相当于在不失去精度的前提下缩小了匹配的范围,有利于提高闭环检测的质量和效率。至于闭环检测的具体方法,可以是基于词袋(Bag of Word,BoW)模型,也可以通过深度学习模型进行,本申请对此不做限制。
从上述附图2示例的视觉地图构建方法可知,一方面,由于局部地图的数据来源于多个传感器数据的融合,进而由局部地图构建全局地图,因此,相较于单纯的激光栅格地图构建方法或视觉点云地图构建方法所得到的地图而言,其精确性更高;另一方面,通过建立图像数据当前帧与局部地图中地图点的关联关系、局部地图中各个关键帧的局部共视关系以及在此基础上对局部地图的优化,使得最后生成的全局地图用于机器人定位时的精度更高。
请参阅图5,是本申请实施例提供的一种地图构建装置,该装置可以是机器人的中央处理单元或者其中的功能模块,该装置可以包括融合模块501、追踪模块502、第一生成模块503和第二生成模块504,详述如下:
融合模块501,用于融合多个传感器获取的数据,得到图像数据和机器人的位姿数据;
追踪模块502,用于追踪根据图像数据和机器人的位姿数据生成的局部地图的地图点,建立图像数据的当前帧与局部地图的地图点的关联关系,其中,局部地图包括关键帧和地图点;
第一生成模块503,用于根据机器人的位姿数据以及图像数据的当前帧与局部地图的地图点的关联关系,建立局部地图各个关键帧的局部共视关系并对局部地图进行更新;
第二生成模块504,用于根据各个关键帧的局部共视关系并通过闭环检测对已更新局部地图进行优化,生成全局地图。
从附图5示例的装置可知,一方面,由于局部地图的数据来源于多个传感器数据的融合,进而由局部地图构建全局地图,因此,相较于单纯的激光栅格地图构建方法或视觉点云地图构建方法所得到的地图而言,其精确性更高;另一方面,通过建立图像数据当前帧与局部地图中地图点的关联关系、局部地图中各个关键帧的局部共视关系以及在此基础上对局部地图的优化,使得最后生成的全局地图用于机器人定位时的精度更高。
图6是本申请一实施例提供的设备的结构示意图。如图6所示,该实施例的设备6可以是一种机器人或者其中的模块,主要包括:处理器60、存储器61以及存储在存储器61中并可在处理器60上运行的计算机程序62,例如地图构建方法的程序。处理器60执行计算机程序62时实现上述地图构建方法实施例中的步骤,例如图2所示的步骤S201至S204。或者,处理器60执行计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示融合模块501、追踪模块502、第一生成模块503和第二生成模块504的功能。
示例性地,地图构建方法的计算机程序62主要包括:融合机器人搭载的多个传感器获取的数据,得到图像数据和机器人的位姿数据;追踪根据图像数据和机器人的位姿数据生成的局部地图的地图点,建立所图像数据的当前帧与局部地图的地图点的关联关系,其中,局部地图包括关键帧和地图点;根据机器人的位姿数据以及图像数据的当前帧与局部地图的地图点的关联关系,建立局部地图各个关键帧的局部共视关系并对局部地图进行更新;根据各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图。计算机程序62可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器61中,并由处理器60执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序62在设备6中的执行过程。例如,计算机程序62可以被分割成融合模块501、追踪模块502、第一生成模块503和第二生成模块504(虚拟装置中的模块)的功能,各模块具体功能如下:融合模块501,用于融合机器人搭载的多个传感器获取的数据,得到图像数据和机器人的位姿数据;追踪模块502,用于追踪根据图像数据和机器人的位姿数据生成的局部地图的地图点,建立图像数据的当前帧与局部地图的地图点的关联关系,其中,局部地图包括关键帧和地图点;第一生成模块503,用于根据机器人的位姿数据以及图像数据的当前帧与局部地图的地图点的关联关系,建立局部地图各个关键帧的局部共视关系并对局部地图进行更新;第二生成模块504,用于根据各个关键帧的局部共视关系并通过闭环检测对已更新局部地图进行优化,生成全局地图。
设备6可包括但不仅限于处理器60、存储器61。本领域技术人员可以理解,图6仅仅是设备6的示例,并不构成对设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器61可以是设备6的内部存储单元,例如设备6的硬盘或内存。存储器61也可以是设备6的外部存储设备,例如设备6上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器61还可以既包括设备6的内部存储单元也包括外部存储设备。存储器61用于存储计算机程序以及设备所需的其他程序和数据。存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即,将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非临时性计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,地图构建方法的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤,即,融合机器人搭载的多个传感器获取的数据,得到图像数据和机器人的位姿数据;追踪根据图像数据和机器人的位姿数据生成的局部地图的地图点,建立所图像数据的当前帧与局部地图的地图点的关联关系,其中,局部地图包括关键帧和地图点;根据机器人的位姿数据以及图像数据的当前帧与局部地图的地图点的关联关系,建立局部地图各个关键帧的局部共视关系并对局部地图进行更新;根据各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。非临时性计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读内存(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,非临时性计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,非临时性计算机可读介质不包括电载波信号和电信信号。以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种机器人,其特征在于,所述机器人包括:
存储器,所述存储器存储有可执行程序代码;
处理器,与所述存储器耦合,所述处理器用于调用所述存储器中存储的可执行程序代码时执行如下步骤:
融合所述机器人搭载的多个传感器获取的数据,得到图像数据和机器人的位姿数据;
追踪根据所述图像数据和机器人的位姿数据生成的局部地图的地图点,建立所述图像数据的当前帧与所述局部地图的地图点的关联关系,所述局部地图包括关键帧和地图点;
根据所述机器人的位姿数据以及所述图像数据的当前帧与所述局部地图的地图点的关联关系,建立所述局部地图各个关键帧的局部共视关系并对所述局部地图进行更新;
根据所述各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图。
2.如权利要求1所述的机器人,其特征在于,所述追踪根据所述图像数据和机器人的位姿数据生成的局部地图的地图点,建立所述图像数据的当前帧与所述局部地图的地图点的关联关系的步骤包括:
提取所述图像数据的当前帧中ORB特征点,所述ORB特征点包括关键点及其描述符;
将所述图像数据的当前帧中关键点的描述符与所述图像数据的当前帧之前一个关键帧中关键点的描述符匹配;
若匹配成功,则建立所述图像数据的当前帧与所述局部地图中对应于所述匹配成功关键点的地图点的关联关系,所述匹配成功关键点的地图点为所述局部地图中当前追踪的地图点。
3.如权利要求1所述的机器人,其特征在于,所述根据所述机器人的位姿数据以及所述图像数据的当前帧与所述局部地图的地图点的关联关系,建立所述局部地图各个关键帧的局部共视关系并对所述局部地图进行更新的步骤包括:
根据所述图像数据的当前帧与局部地图的地图点的关联关系,建立当前关键帧与所述局部地图的历史关键帧的局部共视关系;
根据所述局部共视关系,初次优化所述局部地图的地图点和关键帧,得到初次优化局部地图;
根据所述机器人的位姿数据和所述初次优化局部地图,对所述局部地图再次优化以更新所述局部地图。
4.如权利要求3所述的机器人,其特征在于,所述处理器调用所述存储器中存储的可执行程序代码时还执行如下步骤:在所述根据所述图像数据的当前帧与局部地图的地图点的关联关系,建立当前关键帧与所述局部地图的历史关键帧的局部共视关系的步骤之前,根据所述图像数据的当前帧与局部地图的地图点的关联关系,判断是否需要插入新的关键帧;若需要插入新的关键帧,则将新的关键帧取代所述当前关键帧;
所述根据所述局部共视关系,初次优化所述局部地图的地图点和关键帧的步骤包括:根据所述局部共视关系,删除所述局部地图的冗余关键帧和质量低于期望值的地图点;将具有所述局部共视关系的关键帧中次级质量关键点三角化,所述次级质量关键点包括两个匹配成功的关键帧中最大基线长度超过预设阈值且未三角化的关键点;
所述根据所述机器人的位姿数据和所述初次优化局部地图,对所述局部地图再次优化以更新所述局部地图的步骤包括:对所述初次优化局部地图进行卡方检验,删除所述初次优化局部地图中卡方值超过预设阈值的地图点,得到二次优化局部地图;根据所述机器人的位姿数据,求取所述关键帧的帧间运动估计误差;以所述二次优化局部地图的地图点的重投影误差和所述帧间运动估计误差为优化目标,联合优化所述二次优化局部地图的的关键帧和地图点。
5.如权利要求4所述的机器人,其特征在于,所述机器人搭载的多个传感器包括视觉类传感器;所述根据所述图像数据的当前帧与局部地图的地图点的关联关系,判断是否需要插入新的关键帧的步骤包括:
根据所述图像数据的当前帧与局部地图的地图点的关联关系,确定当前追踪的地图点数量、所述当前追踪的地图点中质量高于预设阈值的地图点数量以及所述图像数据当前帧与上一关键帧匹配的关键点数量;
若当前关键帧帧率小于预设阈值、所述视觉类传感器的帧间三自由度数据大于预设阈值、所述当前追踪的地图点数量小于前一帧追踪的地图点数量的一半、所述当前追踪的地图点中质量高于预设阈值的地图点数量大于预设阈值数量或者所述图像数据当前帧与上一关键帧匹配的关键点数量小于预设阈值数量,则确定需要插入新的关键帧。
6.如权利要求4所述的机器人,其特征在于,所述处理器调用所述存储器中存储的可执行程序代码时还执行如下步骤:在所述联合优化所述二次优化局部地图的的关键帧和地图点的步骤之后,删除经过所述联合优化后优化失败和脱离视觉类传感器视野的地图点;将经过所述联合优化后得到的局部地图的地图点数量少于预设阈值的关键帧删除。
7.如权利要求1至6任意一项所述的机器人,其特征在于,所述根据所述各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图的步骤包括:
在创建最新关键帧后,触发闭环检测以将所述最新关键帧与具有所述局部共视关系的各个关键帧进行匹配;
若匹配成功,则建立全局闭环帧共视关系;
根据所述全局闭环帧共视关系和所述各个关键帧的局部共视关系,以所述匹配成功关键点对应地图点的重投影误差为优化目标解算所有关键帧中的位姿以生成所述全局地图。
8.一种地图构建装置,其特征在于,所述装置包括:
融合模块,用于融合多个传感器获取的数据,得到图像数据和机器人的位姿数据;
追踪模块,用于追踪根据所述图像数据和机器人的位姿数据生成的局部地图的地图点,建立所述图像数据的当前帧与所述局部地图的地图点的关联关系,所述局部地图包括关键帧和地图点;
第一生成模块,用于根据所述机器人的位姿数据以及所述图像数据的当前帧与所述局部地图的地图点的关联关系,建立所述局部地图各个关键帧的局部共视关系并对所述局部地图进行更新;
第二生成模块,用于根据所述各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图。
9.一种地图构建方法,其特征在于,所述方法包括:
融合多个传感器获取的数据,得到图像数据和机器人的位姿数据;
追踪根据所述图像数据和机器人的位姿数据生成的局部地图的地图点,建立所述图像数据的当前帧与所述局部地图的地图点的关联关系,所述局部地图包括关键帧和地图点;
根据所述机器人的位姿数据以及所述图像数据的当前帧与所述局部地图的地图点的关联关系,建立所述局部地图各个关键帧的局部共视关系并对所述局部地图进行更新;
根据所述各个关键帧的局部共视关系并通过闭环检测对所有已更新局部地图进行优化,生成全局地图。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序用于被处理器执行时实现权利要求9所述的地图构建方法。
CN202111577512.0A 2021-12-22 2021-12-22 机器人、地图构建方法、装置和可读存储介质 Pending CN114255323A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111577512.0A CN114255323A (zh) 2021-12-22 2021-12-22 机器人、地图构建方法、装置和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111577512.0A CN114255323A (zh) 2021-12-22 2021-12-22 机器人、地图构建方法、装置和可读存储介质

Publications (1)

Publication Number Publication Date
CN114255323A true CN114255323A (zh) 2022-03-29

Family

ID=80794043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111577512.0A Pending CN114255323A (zh) 2021-12-22 2021-12-22 机器人、地图构建方法、装置和可读存储介质

Country Status (1)

Country Link
CN (1) CN114255323A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415698A (zh) * 2022-03-31 2022-04-29 深圳市普渡科技有限公司 机器人、机器人的定位方法、装置和计算机设备
CN115115669A (zh) * 2022-06-28 2022-09-27 深圳市神州云海智能科技有限公司 基于边缘设备自监督学习的终端感知定位方法及系统
CN116592897A (zh) * 2023-07-17 2023-08-15 河海大学 基于位姿不确定性的改进orb-slam2定位方法
CN118067114A (zh) * 2024-04-24 2024-05-24 成都赛力斯科技有限公司 一种地图构建方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019169540A1 (zh) * 2018-03-06 2019-09-12 斯坦德机器人(深圳)有限公司 紧耦合视觉slam的方法、终端及计算机可读存储介质
CN111462207A (zh) * 2020-03-30 2020-07-28 重庆邮电大学 一种融合直接法与特征法的rgb-d同时定位与地图创建方法
WO2021035669A1 (zh) * 2019-08-30 2021-03-04 深圳市大疆创新科技有限公司 位姿预测方法、地图构建方法、可移动平台及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019169540A1 (zh) * 2018-03-06 2019-09-12 斯坦德机器人(深圳)有限公司 紧耦合视觉slam的方法、终端及计算机可读存储介质
WO2021035669A1 (zh) * 2019-08-30 2021-03-04 深圳市大疆创新科技有限公司 位姿预测方法、地图构建方法、可移动平台及存储介质
CN111462207A (zh) * 2020-03-30 2020-07-28 重庆邮电大学 一种融合直接法与特征法的rgb-d同时定位与地图创建方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙恩泽: "基于视觉惯性信息的移动机器人ORB-SLAM研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 May 2020 (2020-05-15) *
高宇航: "动态场景下基于视觉与IMU融合的SLAM技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, 15 January 2021 (2021-01-15), pages 1 - 5 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415698A (zh) * 2022-03-31 2022-04-29 深圳市普渡科技有限公司 机器人、机器人的定位方法、装置和计算机设备
CN114415698B (zh) * 2022-03-31 2022-11-29 深圳市普渡科技有限公司 机器人、机器人的定位方法、装置和计算机设备
CN115115669A (zh) * 2022-06-28 2022-09-27 深圳市神州云海智能科技有限公司 基于边缘设备自监督学习的终端感知定位方法及系统
CN116592897A (zh) * 2023-07-17 2023-08-15 河海大学 基于位姿不确定性的改进orb-slam2定位方法
CN116592897B (zh) * 2023-07-17 2023-09-22 河海大学 基于位姿不确定性的改进orb-slam2定位方法
CN118067114A (zh) * 2024-04-24 2024-05-24 成都赛力斯科技有限公司 一种地图构建方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US11668571B2 (en) Simultaneous localization and mapping (SLAM) using dual event cameras
US12094226B2 (en) Simultaneous localization and mapping method, device, system and storage medium
CN112785702B (zh) 一种基于2d激光雷达和双目相机紧耦合的slam方法
CN109084746B (zh) 用于具有辅助传感器的自主平台引导系统的单目模式
CN105843223B (zh) 一种基于空间词袋模型的移动机器人三维建图与避障方法
CN114255323A (zh) 机器人、地图构建方法、装置和可读存储介质
JP5832341B2 (ja) 動画処理装置、動画処理方法および動画処理用のプログラム
CN112219087A (zh) 位姿预测方法、地图构建方法、可移动平台及存储介质
CN109752003B (zh) 一种机器人视觉惯性点线特征定位方法及装置
JP2018522345A (ja) リアルタイムのマッピングと位置確認のための方法及び装置
Chen et al. 3d point cloud processing and learning for autonomous driving
KR20150144728A (ko) 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법
KR20150144731A (ko) 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
CN108829116B (zh) 基于单目摄像头的避障方法及设备
CN115639823B (zh) 崎岖起伏地形下机器人地形感知与移动控制方法及系统
CN111998862A (zh) 一种基于bnn的稠密双目slam方法
CN114429432B (zh) 一种多源信息分层融合方法、装置及存储介质
Tschopp et al. Superquadric object representation for optimization-based semantic SLAM
CN112991436B (zh) 基于物体尺寸先验信息的单目视觉slam方法
Pauls et al. Automatic mapping of tailored landmark representations for automated driving and map learning
He et al. Observation‐driven Bayesian filtering for global location estimation in the field area
CN117029802A (zh) 一种基于深度学习的多模态slam方法
Song et al. Scale estimation with dual quadrics for monocular object SLAM
Wang et al. Monocular visual-inertial localization in a point cloud map using feature-to-distribution registration
CN115544189A (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