一种移动机器人的特征地图更新方法、设备及介质与流程

文档序号:30306070发布日期:2022-06-05 05:47阅读:93来源:国知局
一种移动机器人的特征地图更新方法、设备及介质与流程

1.本说明书涉及机器人技术领域,尤其涉及一种移动机器人的特征地图更新方法、设备及介质。


背景技术:

2.伴随着科学技术日新月异的发展,移动机器人的应用领域逐步扩大,其所面对的工作环境也越来越复杂,实现机器人自主导航是应对各种复杂工作环境产生的难题的重要一步,移动机器人地图构建是移动机器人技术中的关键技术,特征地图的构建直接关乎到移动机器人在后续定位过程的准确性和稳定性。
3.在室内移动机器人应用场景中,常常采用单线激光雷达扫描周围环境特征如圆弧、线段、角点等进行记录,并将其保存在特征地图中。但是,在移动机器人的移动过程中,会存在扫描到冗余特征的情况,例如,从动态障碍物上扫描到的特征、被其他障碍物遮挡的特征等。由于扫描的特征可能存在冗余特征,使得更新后的特征地图出现质量差的问题,影响后续定位过程中的稳定性和准确性。


技术实现要素:

4.本说明书一个或多个实施例提供了一种移动机器人的特征地图更新方法、设备及介质,用于解决如下技术问题:由于扫描的特征可能存在冗余特征,使得更新后的特征地图出现质量差的问题,影响后续定位过程中的稳定性。
5.本说明书一个或多个实施例采用下述技术方案:
6.本说明书一个或多个实施例提供一种移动机器人的特征地图更新方法,所述方法包括:获取移动机器人在当前时刻的点云数据,并根据所述点云数据中的多个特征点,生成当前特征点集,其中,所述点云数据中包括多个特征点;将所述当前特征点集中的多个特征点,分别与预先设置的初始化特征地图中的特征点,进行最近邻匹配,其中,所述预先设置的初始化特征地图为所述当前时刻的上一时刻对应的初始化特征地图;根据所述最近邻匹配的匹配结果,将所述当前特征点集中的多个特征点分为第一类特征点和第二类特征点,其中,所述第一类特征点中的特征点分别与所述初始化特征地图中对应的特征点相匹配,所述第二类特征点中的特征点与所述初始化特征地图中的特征点均不匹配;根据预先获取的所述第一类特征点的位置信息,在所述预先设置的初始化特征地图中,对与所述第一类特征点相匹配的对应特征点的位置信息进行更新,生成第一特征地图;根据预先获取的所述第二类特征点的位置信息,将所述第二类特征点中的各特征点添加至所述第一特征地图中,生成更新后的特征地图。
7.进一步地,所述将所述当前特征点集中的多个特征点,分别与预先设置的初始化特征地图中的特征点,进行最近邻匹配之前,所述方法还包括:获取移动机器人在所述当前时刻的上一时刻的点云数据中的多个特征点;对所述多个特征点中的各特征点进行初始化定义,生成所述初始化特征地图。
8.进一步地,所述对所述多个特征点中的各特征点进行初始化定义,具体包括:获取所述多个特征点中的各特征点的特征类型,根据所述各特征点的特征类型,对所述多个特征点中的各特征点进行特征类型的定义,其中,所述特征类型包括圆弧类和角点类;获取所述多个特征点中的各特征点的全局位置坐标,根据所述各特征点的全局位置坐标,对所述各特征点进行位置信息的定义;将所述多个特征点中的各特征点的理论观测次数以及有效观测次数设置为初始值;将所述多个特征点中的各特征点定义为非信任地标。
9.进一步地,所述将所述当前特征点集中的多个特征点,分别与预先设置的初始化特征地图中的特征点,进行最近邻匹配,具体包括:获取所述初始化特征地图中各特征点的位置信息;将所述当前特征点集中的多个特征点,逐一与所述初始化特征地图中各特征点的位置信息进行最近邻匹配。
10.进一步地,所述根据所述最近邻匹配的匹配结果,将所述当前特征点集中的多个特征点分为第一类特征点和第二类特征点,具体包括:若所述当前特征点集中的多个特征点中存在指定特征点,所述指定特征点与所述初始化特征地图中对应特征点的距离小于预设阈值,则判定所述最近邻匹配的匹配结果为匹配成功,以将所述指定特征点作为第一类特征点;若所述当前特征点集中的多个特征点中存在当前特征点,所述当前特征点与所述初始化特征地图中的任意一个特征点的距离大于或等于预设阈值,则判定所述最近邻匹配的匹配结果为匹配未成功,以将所述当前特征点作为第二类特征点。
11.进一步地,所述根据预先获取的所述第一类特征点的位置信息,在所述预先设置的初始化特征地图中,对与所述第一类特征点相匹配的对应特征点的位置信息进行更新,生成第一特征地图,具体包括:获取所述第一类特征点中各特征点的位置信息,作为第一位置信息;获取所述预先设置的初始化特征地图中与所述第一类特征点中各特征点相匹配的各当前特征点的位置信息,作为第二位置信息;根据所述第一位置信息和所述第二位置信息,对所述各当前特征点的位置信息进行更新,生成所述各当前特征点的位置信息,以对所述各当前特征点的位置信息进行更新;将所述预先设置的初始化特征地图中,与所述第一类特征点中各特征点相匹配的各当前特征点的所述有效观测次数,设置为初始值加一,以便进行所述有效观测次数的更新,生成所述各当前特征点的更新后的有效观测次数。
12.进一步地,所述生成更新后的特征地图之后,所述方法还包括:根据所述更新后的特征地图中的各特征点的所述有效观测次数和所述理论观测次数的比值,生成所述更新后的特征地图中的各特征点的有效观察率;根据所述更新后的特征地图中的各特征点的所述有效观测次数以及所述更新后的特征地图中的各特征点的有效观察率,判定所述更新后的特征地图中的各特征点中是否存在待剔除特征点,其中,所述待剔除特征点更新后的有效观测次数小于第一预设阈值,且所述有效观察率小于第二预设阈值;当所述更新后的特征地图中的各特征点中存在待剔除特征点时,则将待剔除特征点在所述更新后的特征地图中进行剔除。
13.进一步地,所述生成更新后的特征地图之后,所述方法还包括:若所述更新后的特征地图中的各特征点中存在第一特征点,满足更新后的有效观测次数大于或等于第一预设阈值,则将所述第一特征点由非信任地标更新为可信任地标。
14.本说明书一个或多个实施例提供一种移动机器人的特征地图更新设备,包括:
15.至少一个处理器;以及,
16.与所述至少一个处理器通信连接的存储器;其中,
17.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
18.获取移动机器人在当前时刻的点云数据,并根据所述点云数据中的多个特征点,生成当前特征点集,其中,所述点云数据中包括多个特征点;将所述当前特征点集中的多个特征点,分别与预先设置的初始化特征地图中的特征点,进行最近邻匹配,其中,所述预先设置的初始化特征地图为所述当前时刻的上一时刻对应的初始化特征地图;根据所述最近邻匹配的匹配结果,将所述当前特征点集中的多个特征点分为第一类特征点和第二类特征点,其中,所述第一类特征点中的特征点分别与所述初始化特征地图中对应的特征点相匹配,所述第二类特征点中的特征点与所述初始化特征地图中的特征点均不匹配;根据预先获取的所述第一类特征点的位置信息,在所述预先设置的初始化特征地图中,对与所述第一类特征点相匹配的对应特征点的位置信息进行更新,生成第一特征地图;根据预先获取的所述第二类特征点的位置信息,将所述第二类特征点中的各特征点添加至所述第一特征地图中,生成更新后的特征地图。
19.本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:获取移动机器人在当前时刻的点云数据,并根据所述点云数据中的多个特征点,生成当前特征点集,其中,所述点云数据中包括多个特征点;将所述当前特征点集中的多个特征点,分别与预先设置的初始化特征地图中的特征点,进行最近邻匹配,其中,所述预先设置的初始化特征地图为所述当前时刻的上一时刻对应的初始化特征地图;根据所述最近邻匹配的匹配结果,将所述当前特征点集中的多个特征点分为第一类特征点和第二类特征点,其中,所述第一类特征点中的特征点分别与所述初始化特征地图中对应的特征点相匹配,所述第二类特征点中的特征点与所述初始化特征地图中的特征点均不匹配;根据预先获取的所述第一类特征点的位置信息,在所述预先设置的初始化特征地图中,对与所述第一类特征点相匹配的对应特征点的位置信息进行更新,生成第一特征地图;根据预先获取的所述第二类特征点的位置信息,将所述第二类特征点中的各特征点添加至所述第一特征地图中,生成更新后的特征地图。
20.本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:通过上述技术方案,为每个特征定义固有属性以初始化特征地图,通过当前特征点集与初始化特征地图的匹配,将当前特征点集中的特征点分为可匹配特征和新特征,并对每个特征点单独建立卡尔曼滤波器,跟踪每个特征的更新,并根据特征的历史观测效果对其进行评价和剔除,既节省了计算内存,又能大大提高特征地图的稳定性,保证了机器人的建图质量,提高了定位和避障能力。
附图说明
21.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
22.图1为本说明书实施例提供的一种移动机器人的特征地图更新方法的流程示意
图;
23.图2为本说明书实施例提供的另一种移动机器人的特征地图更新方法的流程示意图;
24.图3为本说明书实施例提供的一种移动机器人的特征地图更新设备的结构示意图。
具体实施方式
25.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
26.伴随着科学技术日新月异的发展,移动机器人的应用领域逐步扩大,其所面对的工作环境也越来越复杂,实现机器人自主导航是应对各种复杂工作环境产生的难题的重要一步,移动机器人地图构建是移动机器人技术中的关键技术,特征地图的构建直接关乎到移动机器人在后续定位过程的准确性和稳定性。
27.在室内移动机器人应用场景中,常常采用单线激光雷达扫描周围环境特征如圆弧、线段、角点等进行记录,并将其保存在特征地图中。但是,在移动机器人的移动过程中,会存在扫描到冗余特征的情况,例如,从动态障碍物上扫描到的特征、被其他障碍物遮挡的特征等。由于扫描的特征可能存在冗余特征,使得更新后的特征地图出现质量差的问题,影响后续定位过程中的稳定性和准确性。
28.本说明书实施例提供一种移动机器人的特征地图更新方法,执行主体可以是服务器,也可以是任意具备数据处理能力的设备。图1为本说明书实施例提供的一种移动机器人的特征地图更新方法的流程示意图,如图1所示,方法主要包括如下步骤:
29.步骤s101,获取移动机器人在当前时刻的点云数据,并根据点云数据中的多个特征点,生成当前特征点集。
30.在本说明书的一个实施例中,通过激光雷达获取移动机器人在当前时刻的点云数据,由于移动机器人为移动状态,在不同时刻下随着机器人的移动,激光雷达获取的点云数据不同。获取当前时刻的点云数据后,在点云数据中提取特征之后,生成多个特征点,将点云数据中的多个特征点组成当前特征点集。
31.步骤s102,将当前特征点集中的多个特征点,分别与预先设置的初始化特征地图中的特征点,进行最近邻匹配。
32.其中,预先设置的初始化特征地图为所述当前时刻的上一时刻对应的初始化特征地图。
33.将当前特征点集中的多个特征点,分别与预先设置的初始化特征地图中的特征点,进行最近邻匹配,还包括:获取移动机器人在当前时刻的上一时刻的点云数据中的多个特征点;对多个特征点中的各特征点进行初始化定义,生成所述初始化特征地图,具体包括:获取多个特征点中的各特征点的特征类型,根据所述各特征点的特征类型,对所述多个特征点中的各特征点进行特征类型的定义,其中,所述特征类型包括圆弧类和角点类;获取
所述多个特征点中的各特征点的全局位置坐标,根据所述各特征点的全局位置坐标,对所述各特征点进行位置信息的定义;将所述多个特征点中的各特征点的理论观测次数以及有效观测次数设置为初始值;将所述多个特征点中的各特征点定义为非信任地标。
34.在本说明书的一个实施例中,需要对特征地图进行初始化,生成初始化特征地图,此情况默认为存在特征地图,只需要对特征地图进行更新。但是还会存在没有特征地图的情况,当特征地图不存在时,可以使用首帧点云特征点集进行初始化。需要说明的是,此处的初始化就是对每个特征的固有属性进行初定义,某一特征的属性不仅表明其与其他特征的区别,还应包含它在多次历史观测中变化趋势及表现。获取移动机器人在当前时刻的上一时刻的点云数据,在点云数据中提取特征,得到多个特征点,对多个特征点中的每一个特征点都进行初始化定义,生成所述初始化特征地图。
35.在本说明书的一个实施例中,对多个特征点中的每一个特征点进行初始化定义包括定义特征类型、定义位置信息、定义理论观测次数、有效观测次数以及该特征点是否为可信任地标。其中,位置信息也可以用全局坐标来表示。
36.在本说明书的一个实施例中,获取每个特征点的特征类型,其中特征类型包括圆弧和角点,根据每个特征点的特征类型对每个特征进行定义。例如,特征点a为圆弧类,特征点b为角点类。以便于在后续的匹配和更新的过程中按照相同类型的特征点进行匹配和更新,提高运行效率。
37.在本说明书的一个实施例中,获取每个特征点的全局坐标,也就是位置信息,将全局坐标记录在每个特征点的位置信息属性中,以便于后续更新和匹配时使用。另外,需要说明的是,若在激光雷达探测范围内某特征点,理论上应当被检测到,则将理论观测次数的数值加一,同样的,有效观测次数是指当一个特征与新的特征点集中的特征匹配成功或相关联时,证明这个特征点在新的一次激光扫描中被检测到,说明进行了一次有效观测,将有效观测次数的数值加一。此外,在实际的观测过程中,其他障碍物的遮挡、观测样本特征点达不到要求,导致的特征提取失败以及其他特殊情况,均有可能造成出现本该被探测到的特征点没有被探测到的情况,因此,还可以通过设置有效观察率来表示特征点的有效观察程度,其中,有效观察率为有效观测次数与理论观测次数的比值。最后,还需要设置每个特征点的可匹配标记,可匹配标记用于判断该特征点是否作为可信任地标的标记。若该特征点为可信任地标的标记,则将可匹配标记设置为1,反之,则设置为0。
38.由于在本说明书的一个实施例中,是通过首个特征点集进行的初始化定义,也就是第一次扫描到的特征点,因此将理论观测次数、有效观测次数以及有效观察率均设置为1。初始扫描得到的特征点集中的特征点无法判断其是否是可信任地标,需要经过多次扫描、探测才能确定,因此,可以将可匹配标记设置为0。
39.具体地,将当前特征点集中的多个特征点,分别与预先设置的初始化特征地图中的特征点,进行最近邻匹配,具体包括:获取初始化特征地图中各特征点的位置信息;将当前特征点集中的多个特征点,逐一与初始化特征地图中各特征点的位置信息进行最近邻匹配。
40.在本说明书的一个实施例中,获取初始化特征地图中的每个特征点的位置信息,并获取当前特征点集中的多个特征点。将当前特征点集中的多个特征点逐一与初始化地图中的每个特征点进行最近邻匹配。需要说明的是,最近邻匹配是指通过最近邻算法,判断两
个特征点集中是否存在符合距离要求的特征点。例如,在初始化特征地图中有10个特征点,当前特征点集中有5个特征点,将当前特征点集中的5个特征点取出第一个,分别与初始化特征地图中的10个特征点作最近邻匹配,判断初始化特征地图中的10个特征点中是否存在与第一个特征点最近的特征点,依次类推,对当前特征点集中的5个特征点进行最近邻匹配。
41.步骤s103,根据最近邻匹配的匹配结果,将当前特征点集中的多个特征点分为第一类特征点和第二类特征点。
42.其中,第一类特征点中的特征点分别与初始化特征地图中对应的特征点相匹配,第二类特征点中的特征点与初始化特征地图中的特征点均不匹配;
43.具体地,根据最近邻匹配的匹配结果,将当前特征点集中的多个特征点分为第一类特征点和第二类特征点,具体包括:若当前特征点集中的多个特征点中存在指定特征点,指定特征点与初始化特征地图中对应特征点的距离小于预设阈值,则判定最近邻匹配的匹配结果为匹配成功,以将指定特征点作为第一类特征点;若当前特征点集中的多个特征点中存在当前特征点,当前特征点与初始化特征地图中的任意一个特征点的距离大于或等于预设阈值,则判定最近邻匹配的匹配结果为匹配未成功,以将当前特征点作为第二类特征点。
44.在本说明书的一个实施例中,若当前特征点集中的多个特征点分别与预先设置的初始化特征地图中的特征点进行最近邻匹配后,当前特征点集中的多个特征点中存在指定特征点,指定特征点与初始化特征地图中对应特征点的距离小于预设阈值,则判定最近邻匹配的匹配结果为匹配成功,以将指定特征点作为第一类特征点。例如当前特征点集包括特征点a、特征点b、特征点c、特征点d以及特征点e,经过最近邻匹配后,在初始化特征地图中存在特征点a1、特征点b1和特征点c1分别与特征点a、特征点b以及特征点c相匹配,也就是说,特征点a和特征点a1的距离小于预设距离,特征点b和特征点b1的距离小于预设距离,特征点c和特征点c1的距离小于预设距离,此处的预设距离可以设置为0.1米,因此,特征点a、特征点b以及特征点c为第一类特征点。
45.若当前特征点集中的多个特征点中存在当前特征点,当前特征点与初始化特征地图中的任意一个特征点的距离大于或等于预设阈值,则判定最近邻匹配的匹配结果为匹配未成功,以将当前特征点作为第二类特征点。继续沿用上例,在初始化特征地图中未发现与特征点d以及特征点e相匹配的特征点,也就是说,特征点d和初始化特征地图中的每个特征点的距离均大于或等于预设阈值,同样地,特征点e和初始化特征地图中的每个特征点的距离均大于或等于预设阈值,因此,将特征点d和特征点e作为第二类特征点,也可以定义为新特征点。
46.步骤s104,根据预先获取的第一类特征点的位置信息,在预先设置的初始化特征地图中,对与第一类特征点相匹配的对应特征点的位置信息进行更新,生成第一特征地图。
47.具体地,根据预先获取的第一类特征点的位置信息,在预先设置的初始化特征地图中,对与第一类特征点相匹配的对应特征点的位置信息进行更新,生成第一特征地图,具体包括:获取第一类特征点中各特征点的位置信息,作为第一位置信息;获取预先设置的初始化特征地图中与第一类特征点中各特征点相匹配的各当前特征点的位置信息,作为第二位置信息;根据第一位置信息和第二位置信息,对各当前特征点的位置信息进行更新,生成
各当前特征点的位置信息,以对各当前特征点的位置信息进行更新;将预先设置的初始化特征地图中,与第一类特征点中各特征点相匹配的各当前特征点的有效观测次数,设置为初始值加一,以便进行有效观测次数的更新,生成各当前特征点的更新后的有效观测次数。
48.在本说明书的一个实施例中,在当前特征点集中确定出相匹配的特征点和新特征点之后,需要对初始化特征地图中相匹配的特征点的属性信息进行更新。首先是位置信息的更新。获取第一类特征点中各特征点的位置信息,作为第一位置信息;获取预先设置的初始化特征地图中与第一类特征点中各特征点相匹配的各当前特征点的位置信息,作为第二位置信息。由于激光雷达在扫描过程中会存在扫描误差,为了增加特征点位置信息的准确性,通过相邻时刻对应的第一位置信息和第二位置信息,对各当前特征点的位置信息进行更新,生成各当前特征点的位置信息,以对各当前特征点的位置信息进行更新。此外,在当前特征点集中存在与初始化特征地图中的特征点相匹配的特征点,说明此特征点被实际扫描到了两次,因此,将预先设置的初始化特征地图中,与第一类特征点中各特征点相匹配的各当前特征点的有效观测次数,设置为初始值加一,以便进行有效观测次数的更新,生成各当前特征点的更新后的有效观测次数。
49.需要说明的是,此处的位置信息可以使用状态量表示,在对特征地图进行初始化,生成初始化特征地图的过程中,对初始化特征地图中的每个特征都建立了卡尔曼滤波器,也就是说,对每个特征的状态量单独建立卡尔曼滤波器进行跟踪,以实现对每个特征点的特征更新。
50.步骤s105,根据预先获取的第二类特征点的位置信息,将第二类特征点中的各特征点添加至第一特征地图中,生成更新后的特征地图。
51.在实际的应用过程中,移动机器人在上一时刻和当前时刻扫描到的特征点不同,可能会存在新扫描到的特征点。因此需要将新扫描到的特征点添加至第一特征地图中。
52.在本说明书的一个实施例中,获取第二类特征点中每个特征点的位置信息,根据第二类特征点中每个特征点的位置信息,将第二类特征点中的各特征点添加至第一特征地图中,并按照初始化特征地图的初始化过程,对第二类特征点中的所有特征点进行属性定义。
53.生成更新后的特征地图之后,还包括:根据更新后的特征地图中的各特征点的有效观测次数和理论观测次数的比值,生成更新后的特征地图中的各特征点的有效观察率;根据更新后的特征地图中的各特征点的有效观测次数以及所述更新后的特征地图中的各特征点的有效观察率,判定更新后的特征地图中的各特征点中是否存在待剔除特征点,其中,待剔除特征点更新后的有效观测次数小于第一预设阈值,且有效观察率小于第二预设阈值;当更新后的特征地图中的各特征点中存在待剔除特征点时,则将待剔除特征点在更新后的特征地图中进行剔除。
54.在移动机器人建图过程中,一些特征的观测效果可能会非常差,原因包括:从动态障碍物上检测得到特征或者被其他障碍物遮挡,以及其他特殊情形如激光雷达误差突然变大、特征辨识错误及机器人定位发生紊乱等,都可能在特征地图中产生冗余特征。为控制特征地图的无限扩展,需要剔除辨识错误的特征,同时还要避免清除掉已经趋于稳定但短时间内表现差的特征。
55.在本说明书的一个实施例中,需要在更新后的特征地图中剔除辨识错误的特征
点,计算更新后的特征地图中的各特征点的有效观测次数和理论观测次数的比值,生成更新后的特征地图中的各特征点的有效观察率。当更换后的特征地图中的特征点的有效观测次数小于第一预设阈值,且有效观察率小于第二预设阈值时,将该特征点作为待剔除特征点,并在更新后的特征地图中进行剔除。需要说明的是,可以将第一预设阈值设置为20,第二预设阈值设置为0.5。
56.生成更新后的特征地图之后,还包括:若所述更新后的特征地图中的各特征点中存在第一特征点,满足更新后的有效观测次数大于或等于第一预设阈值,则将所述第一特征点由非信任地标更新为可信任地标。
57.在进行辨识错误的特征点的剔除之后,若在更新后的特征地图中存在第一特征点,第一特征点的有效观测次数大于或等于第一预设阈值时,将第一特征点由非信任地标更新为可信任地标,将可匹配标记设置为1。也就是说,认定对该特征的观测已经足够可靠,能够作为可信任地标供后续定位算法使用。
58.通过上述技术方案,为每个特征定义固有属性以初始化特征地图,通过当前特征点集与初始化特征地图的匹配,将当前特征点集中的特征点分为可匹配特征和新特征,并对它们单独建立卡尔曼滤波器,跟踪每个特征的更新,并根据特征的历史观测效果对其进行评价和剔除,既节省了计算内存,又能大大提高特征地图的稳定性,保证了机器人的建图质量,提高了定位和避障能力。
59.本说明书实施例还提供另一种移动机器人的特征地图更新方法,图2为本说明书实施例提供的另一种移动机器人的特征地图更新方法的流程示意图,主要分为特征地图的初始化、特征地图的更新及特征的评价与剔除三个部分。整体流程图如图2所示,首先,判断特征地图是否已经进行初始化定义,若未进行初始化定义,则对特征地图进行初始化。若特征地图已经进行了初始化定义,则对当前特征点集中的每一个特征点遍历,进行如下操作:取出当前特征点集中的一个特征点,与初始化后的特征地图中的特征点进行最近邻匹配。根据匹配结果判断此特征点是否为新特征点,若在初始化后的特征地图中存在与其匹配的特征点,则说明此特征点不是新特征点,对此特征点的特征进行卡尔曼更新,并判断是否满足可信任地标的特征要求,若满足,则标记为可信任地标。若在初始化后的特征地图中不存在与其匹配的特征点,则将该特征点拓展为新特征。按照上述方法遍历当前特征点集中的所有特征点,遍历结束之后,剔除低质量特征,生成更新后的特征地图。
60.其中,特征地图的初始化、特征地图的更新及特征的评价与剔除三个部分中,各部分的具体过程如下:首先是特征地图初始化,定义sk为k时刻特征地图,ck为当前点云提取特征得到的特征点集,当特征地图不存在时,使用首帧点云特征点集对sk进行初始化。初始化就是对每个特征的固有属性进行初定义,某一特征的属性不仅表明其与其他特征的区别,还应包含它在多次历史观测中变化趋势及表现,本实施例中对单个特征定义6个属性,分别如下:
61.(1)类型。特征类型分为圆弧和角点,在更新和匹配时将两种特征作区分处理,可以大大提高运行效率。
62.(2)全局坐标。记录某一特征当前特征点的全局位置,同样是该特征当前状态量,后续更新和作为地图匹配特征都要使用此坐标,是特征参数化表达的体现,随着对某一特征的多次观测累积,其特征点坐标也是在一直更新的。
63.(3)理论观测次数na。若某一特征在激光雷达探测范围内,理论上它应当被成功检测,其na值加一。
64.(4)有效观测次数nv。每当某一特征成功与新的特征点集中特征点相关联,证明其在本次激光扫描中被成功观测,其nv值加一。
65.(5)有效观察率rv。在实际观测过程中,其他障碍物的遮挡、观测样本点不达要求导致特征提取失败及其他特殊情形都可能造成某一理论可观测特征观测失败,rv可以用来表示某特征的有效观测程度,其计算式如下:
[0066][0067]
(6)可匹配标记t。判断该特征能否作为可信任地标的标记,其值为“0”或“1”。
[0068]
首个特征点集中所有特征点分别作为单独特征记录其类型、全局坐标,各自的na、nv及rv均置为“1”,置“0”,特征地图初始化完毕。
[0069]
其次是特征地图的更新。定义某一特征全局坐标为状态量上下标分别表示特征序号和时刻,设定其卡尔曼滤波器运动和观测模型为:
[0070][0071][0072]
式中,为某一特征新的观测量,本实施例中只观测静态特征,故认定特征都是静止的,观测量和状态量的表达式一致,状态转移矩阵fb和观测矩阵hb都为单位矩阵,wb和vb分别表示过程噪声和观测噪声,它们都是零均值高斯白噪声且彼此独立,特征观测质量受激光雷达误差、特征拟合误差和定位误差共同影响,故qb和rb可由多次实验调整得到。
[0073]
由滤波模型分析得知,某一特征得到新的观测时状态量才能更新。逐一取出当前特征点集中特征点,与特征地图中特征状态量作最近邻匹配,即特征点与特征地图中距离最近的状态量组成点对,定义该点对中两点距离为d
match
,认定两点匹配成功的条件为:
[0074]dmatch
<0.1m
[0075]
认定点对匹配成功后,即视为一次有效观测,该特征nv值加一,特征点作为新的观测量更新对应状态量,单个特征的卡尔曼滤波器更新公式如下:
[0076][0077]
式中,和分别为先验估计状态量和先验估计协方差矩阵,知分别表示后验估计协方差矩阵和卡尔曼增益。经以上卡尔曼滤波过程,随着对某一特征观测的逐渐累
积,其协方差矩阵也不断收敛,状态量趋于稳定。
[0078]
在特征地图更新过程中,使用na、nv及rv三个参数评价某一特征的历史观测表现,在移动机器人建图过程中,一些特征的观测效果可能会非常差,原因包括:
[0079]
(1)该特征从动态障碍物上检测得到;
[0080]
(2)该特征被其他障碍物遮挡;
[0081]
(3)其他特殊情形如激光雷达误差突然变大、特征辨识错误及机器人定位发生紊乱等,都可能在特征地图中产生冗余特征,这类特征三个参数值都会非常低。
[0082]
为控制特征地图的无限扩展,需要剔除辨识错误的特征,同时还要避免清除掉已经趋于稳定但短时间内表现差的特征,综合上述分析,设定以下条件:
[0083][0084]
若某特征同时满足以上两条件,将该特征从特征地图中剔除。当某一特征满足如下条件:
[0085]
nv≥20
[0086]
即认定对该特征的观测已经足够可靠,能够作为可信任地标供后续定位算法使用,其可匹配标记t置“1”。
[0087]
本说明书实施例还提供一种移动机器人的特征地图更新设备,图3为本说明书实施例提供的一种移动机器人的特征地图更新设备的结构示意图,如图3所示,设备包括:
[0088]
至少一个处理器;以及,
[0089]
与所述至少一个处理器通信连接的存储器;其中,
[0090]
所述存储器存储有可被至少一个处理器执行的指令,所述指令被至少一个处理器执行,以使至少一个处理器能够:获取移动机器人在当前时刻的点云数据,并根据点云数据中的多个特征点,生成当前特征点集,其中,点云数据中包括多个特征点;将当前特征点集中的多个特征点,分别与预先设置的初始化特征地图中的特征点,进行最近邻匹配,其中,预先设置的初始化特征地图为当前时刻的上一时刻对应的初始化特征地图;根据最近邻匹配的匹配结果,将当前特征点集中的多个特征点分为第一类特征点和第二类特征点,其中,第一类特征点中的特征点分别与初始化特征地图中对应的特征点相匹配,第二类特征点中的特征点与初始化特征地图中的特征点均不匹配;根据预先获取的第一类特征点的位置信息,在预先设置的初始化特征地图中,对与第一类特征点相匹配的对应特征点的位置信息进行更新,生成第一特征地图;根据预先获取的所述第二类特征点的位置信息,将第二类特征点中的各特征点添加至第一特征地图中,生成更新后的特征地图。
[0091]
本说明书实施例还提供一种非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:获取移动机器人在当前时刻的点云数据,并根据点云数据中的多个特征点,生成当前特征点集,其中,点云数据中包括多个特征点;将当前特征点集中的多个特征点,分别与预先设置的初始化特征地图中的特征点,进行最近邻匹配,其中,预先设置的初始化特征地图为当前时刻的上一时刻对应的初始化特征地图;根据最近邻匹配的匹配结果,将当前特征点集中的多个特征点分为第一类特征点和第二类特征点,其中,第一类特征点中的特征点分别与初始化特征地图中对应的特征点相匹配,第二类特征点中的
特征点与初始化特征地图中的特征点均不匹配;根据预先获取的第一类特征点的位置信息,在预先设置的初始化特征地图中,对与第一类特征点相匹配的对应特征点的位置信息进行更新,生成第一特征地图;根据预先获取的第二类特征点的位置信息,将第二类特征点中的各特征点添加至第一特征地图中,生成更新后的特征地图。
[0092]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0093]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0094]
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1