本发明涉及机器人移动控制领域,特别涉及一种多场景二维地图的位姿转换方法及系统。
背景技术:
随着技术发展,移动机器人应用场景越来越广泛。大多数室内机器人,结合应用需求,为降低成本,会选用单线激光雷达传感器,作为建图、定位、障碍物检测的主要传感器。因为单线激光雷达只能检测到固定高度范围的物体,所以只能建立二维平面地图。而且,由于常见建图软件算法的缺陷,对于大场景(几千或上万平方米),难以保证建图的可操作性。
针对以上的缺陷,为解决多地图场景,比如多楼层、或者需要分割成多地图的大场景,机器人在执行任务过程中会进行地图切换,但是在实际的使用过程中,由于计算量过大,需要的算力过高,难以实现快速精准的在多个地图之间随意切换。
技术实现要素:
为解决上述技术问题,本发明提供一种多场景二维地图的位姿转换方法及系统,具体的技术方案如下:
一方面,提供一种多场景二维地图的位姿转换方法,包括:
获取机器人在第一地图中的第一定位信息;
获取所述第一地图中的第一点云数据和第二地图中的第二点云数据;
根据所述第一点云数据和所述第二点云数据进行粗匹配,获得第二近似点云数据和近似矩阵;根据所述第二近似点云数据、所述第一点云数据、所述近似矩阵,对所述第一定位信息进行精匹配,获取第二定位信息。
在本技术方案中,通过粗匹配和精匹配的结合,克服了原有技术中计算量过大,无法适用于大场景地图的缺陷,实现了对于大场景地图中的快速精确建图,提高了多地图场景下的切换速度与精度。
优选地,所述所述粗匹配具体包括:
在所述第一点云数据中构建第一参考点;
在所述第二点云数据中构建第二参考点;
根据所述第一参考点和所述第二参考点构建近似矩阵;
根据所述近似矩阵,将所述第二点云数据近似转换到所述第一点云地图中,得到第二近似点云数据;
所述精匹配具体包括:
根据所述第二近似点云数据和所述第一点云构建地图转换矩阵;
根据所述地图转换矩阵和所述近似转换矩阵构建准确转换矩阵;
根据所述准确转换矩阵,将所述第一定位信息转换为第二定位信息。
进一步优选地,所述第一参考点为所述第一地图中的特定区域的点;
所述第二参考点为所述第二地图中的特定区域的点;
所述第一地图中的特定区域和所述第二地图中的特定区域为所述第一地图和所述第二地图的交接区域。
进一步优选地,所述特定区域为电梯轿厢。
所述第一点云数据为所述特定区域在所述第一地图中的点云数据;
所述第二点云数据为所述特定区域在所述第二地图中的点云数据。
另一发面,提供一种多场景二维地图的位姿转换系统,包括:
第一定位信息获取模块,用于获取机器人在第一地图中的第一定位信息;
点云数据获取模块,用于获取所述第一地图中的第一点云数据和第二地图中的第二点云数据;
粗匹配模块,用于根据所述第一点云数据和所述第二点云数据进行粗匹配,获得第二近似点云数据和近似矩阵;
精匹配模块,用于根据所述第二近似点云数据、所述第一点云数据、所述近似矩阵,对所述第一定位信息进行精匹配,获取第二定位信息。
优选地,所述粗匹配模块具体包括:
参考点建立模块,用于在所述第一点云数据中构建第一参考点,在所述第二点云数据中构建第二参考点;
近似矩阵构建模块,用于根据所述第一参考点和所述第二参考点构建近似矩阵;
近似点云构建模块,用于根据所述近似矩阵,将所述第二点云数据近似转换到所述第一点云地图中,得到第二近似点云数据;
所述精匹配模块具体包括:
地图转换矩阵构建模块,用于根据所述第二近似点云数据和所述第一点云构建地图转换矩阵;
准确转换矩阵构建模块,根据所述地图转换矩阵和所述近似转换矩阵构建准确转换矩阵,并根据所述准确转换矩阵,将所述第一定位信息转换为第二定位信息。
进一步优选地,所述第一参考点为所述第一地图中的特定区域的点;
所述第二参考点为所述第二地图中的特定区域的点;
所述第一地图中的特定区域和所述第二地图中的特定区域为所述第一地图和所述第二地图的交接区域。
进一步优选地,所述特定区域为电梯轿厢。
所述第一点云数据为所述特定区域在所述第一地图中的点云数据;
所述第二点云数据为所述特定区域在所述第二地图中的点云数据。
本发明的技术效果:通过粗匹配和精匹配的结合,克服了原有技术中计算量过大,无法适用于大场景地图的缺陷,实现了对于大场景地图中的快速精确建图,提高了多地图场景下的切换速度与精度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1的流程示意图;
图2为本发明实施例2的流程示意图;
图3为本发明实施例3的流程示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘出了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
实施例1:
如图1所示,本实施例提供一种多场景二维地图的位姿转换方法,包括:
s1:获取机器人在第一地图中的第一定位信息;
s2:获取所述第一地图中的第一点云数据和第二地图中的第二点云数据;
s3:根据所述第一点云数据和所述第二点云数据进行粗匹配,获得第二近似点云数据和近似矩阵;
s4:根据所述第二近似点云数据、所述第一点云数据、所述近似矩阵,对所述第一定位信息进行精匹配,获取第二定位信息。
在传统的地图数据转换过程中,一般使用使用icp(interactiveiterativeclosestpoint)算法,计算两地图点云转换矩阵,得到map2_to_map3_transform。但是通常,地图点云数据比较多,全用与匹配会很耗时,而且如果两组点云数据相距较远,容易匹配失败。
而在本实施例中,出于减少减少匹配时间,并提高匹配成功概率的考虑,本实施例先通过粗匹配,然后再通过精匹配进行更进一步匹配,从而完成整个的过程。
本实施例通过粗匹配和精匹配的结合,克服了原有技术中计算量过大,无法适用于大场景地图的缺陷,实现了对于大场景地图中的快速精确建图,提高了多地图场景下的切换速度与精度。
实施例2:
如图2所示,本实施例提供一种多场景二维地图的位姿转换方法,包括:
s1:获取机器人在第一地图中的第一定位信息;
s2:获取所述第一地图中的第一点云数据和第二地图中的第二点云数据;
s3-1:在所述第一点云数据中构建第一参考点;在所述第二点云数据中构建第二参考点;所述第一参考点为所述第一地图中的特定区域的点;所述第二参考点为所述第二地图中的特定区域的点;所述第一地图中的特定区域和所述第二地图中的特定区域为所述第一地图和所述第二地图的交接区域。
s3-2:根据所述第一参考点和所述第二参考点构建近似矩阵;
s3-3:根据所述近似矩阵,将所述第二点云数据近似转换到所述第一点云地图中,得到第二近似点云数据;
s4-1:根据所述第二近似点云数据和所述第一点云构建地图转换矩阵;
s4-2:根据所述地图转换矩阵和所述近似转换矩阵构建准确转换矩阵;
s4-3:根据所述准确转换矩阵,将所述第一定位信息转换为第二定位信息。
在本实施例中,首先获取机器人在第一地图中的位姿robot_pose_in_map2,也就是机器人在第一地图中的位姿,然后再获取第一地图和第二地图中的点云数据,同时,鉴于一般而言,地图会使用ros格式,故为方便使用pcl做地图匹配计算原地图与目标地图的坐标系转换的考虑,需要将机器人使用的ros格式地图数据,转换成pcl方便处理的点云格式,也就是转换为pcl::pointxyz类型的点云数据,分别保存为map2_pointcloud_data、map3_pointcloud_data,也就是第一点云数据和第二点云数据。
在粗匹配阶段,在第一地图和第二地图上相应的同一物理空间内的特定区域内各取一个点参考点,分别为map2_elevator、map3_elevator,由于这两点是在地图上取的,所以它们的坐标值是已知的,理论上,如果map2_elevator、map3_elevator完全是同一个点,那么用这两个点计算出来的map2到map3的坐标系转换矩阵approximate_transform,即是map2到map3的坐标系转换的准确矩阵。但在map2、map3上取出在物理空间上相对于特定区域的同一个点,操作难度很大。所以map2_elevator、map3_elevator只作为两个参考点,这样就可以将map3点云根据近似转换approximate_transform,转换到map2下的点云approximate_map3_pointcloud,与map2_poointcloud之间的偏差约束到特定区域范围内,实际差距就为map2_elevator与map3_elevator之间的差距。
在精确匹配阶段,根据approximate_map3_pointcloud与map2_pointcolud得到地图转换矩阵map2_to_map3_transform,然后再将map2_to_map3_transform与approximate_transform相乘,则得到map2到map3的准确转换矩阵。
优选地,所述特定区域为电梯轿厢。
在本优选的实施例中,一般而言,最常见的特定区域莫过于电梯轿厢,如果使用电梯轿厢,第一地图可以为某一个建筑物的2楼地图,第二地图可以为3楼地图,在粗匹配时的误差可约束到电梯范围内,进而完成整个的过程。
优选地,所述第一点云数据为所述特定区域在所述第一地图中的点云数据;所述第二点云数据为所述特定区域在所述第二地图中的点云数据。
同时,在本优选的实施例中,出于减少运算量的考虑,避免匹配耗时,只需提取电梯附近部分轮廓规则的点云数据即可,便可以满足实际的运算需求。
实施例3:
如图3所示,本实施例提供一种多场景二维地图的位姿转换系统,包括:
第一定位信息获取模块,用于获取机器人在第一地图中的第一定位信息;
点云数据获取模块,用于获取所述第一地图中的第一点云数据和第二地图中的第二点云数据;
粗匹配模块,用于根据所述第一点云数据和所述第二点云数据进行粗匹配,获得第二近似点云数据和近似矩阵;
精匹配模块,用于根据所述第二近似点云数据、所述第一点云数据、所述近似矩阵,对所述第一定位信息进行精匹配,获取第二定位信息。
在传统的地图数据转换过程中,一般使用使用icp(interactiveiterativeclosestpoint)算法,计算两地图点云转换矩阵,得到map2_to_map3_transform。但是通常,地图点云数据比较多,全用与匹配会很耗时,而且如果两组点云数据相距较远,容易匹配失败。
而在本实施例中,出于减少减少匹配时间,并提高匹配成功概率的考虑,本实施例先通过粗匹配,然后再通过精匹配进行更进一步匹配,从而完成整个的过程。
实施例4:
本实施例基于实施例3,提供一种多场景二维地图的位姿转换系统,包括:所述粗匹配模块具体包括:参考点建立模块,用于在所述第一点云数据中构建第一参考点,在所述第二点云数据中构建第二参考点;近似矩阵构建模块,用于根据所述第一参考点和所述第二参考点构建近似矩阵;近似点云构建模块,用于根据所述近似矩阵,将所述第二点云数据近似转换到所述第一点云地图中,得到第二近似点云数据;地图转换矩阵构建模块,用于根据所述第二近似点云数据和所述第一点云构建地图转换矩阵;准确转换矩阵构建模块,根据所述地图转换矩阵和所述近似转换矩阵构建准确转换矩阵,并根据所述准确转换矩阵,将所述第一定位信息转换为第二定位信息。所述第一参考点为所述第一地图中的特定区域的点;所述第二参考点为所述第二地图中的特定区域的点;所述第一地图中的特定区域和所述第二地图中的特定区域为所述第一地图和所述第二地图的交接区域。
在本实施例中,首先获取机器人在第一地图中的位姿robot_pose_in_map2,也就是机器人在第一地图中的位姿,然后再获取第一地图和第二地图中的点云数据,同时,鉴于一般而言,地图会使用ros格式,故为方便使用pcl做地图匹配计算原地图与目标地图的坐标系转换的考虑,需要将机器人使用的ros格式地图数据,转换成pcl方便处理的点云格式,也就是转换为pcl::pointxyz类型的点云数据,分别保存为map2_pointcloud_data、map3_pointcloud_data,也就是第一点云数据和第二点云数据。
在粗匹配阶段,在第一地图和第二地图上相应的同一物理空间内的特定区域内各取一个点参考点,分别为map2_elevator、map3_elevator,由于这两点是在地图上取的,所以它们的坐标值是已知的,理论上,如果map2_elevator、map3_elevator完全是同一个点,那么用这两个点计算出来的map2到map3的坐标系转换矩阵approximate_transform,即是map2到map3的坐标系转换的准确矩阵。但在map2、map3上取出在物理空间上相对于特定区域的同一个点,操作难度很大。所以map2_elevator、map3_elevator只作为两个参考点,这样就可以将map3点云根据近似转换approximate_transform,转换到map2下的点云approximate_map3_pointcloud,与map2_poointcloud之间的偏差约束到特定区域范围内,实际差距就为map2_elevator与map3_elevator之间的差距。
在精确匹配阶段,根据approximate_map3_pointcloud与map2_pointcolud得到地图转换矩阵map2_to_map3_transform,然后再将map2_to_map3_transform与approximate_transform相乘,则得到map2到map3的准确转换矩阵。
优选地,所述特定区域为电梯轿厢。
在本优选的实施例中,一般而言,最常见的特定区域莫过于电梯轿厢,如果使用电梯轿厢,第一地图可以为某一个建筑物的2楼地图,第二地图可以为3楼地图,在粗匹配时的误差可约束到电梯范围内,进而完成整个的过程。
优选地,所述第一点云数据为所述特定区域在所述第一地图中的点云数据;所述第二点云数据为所述特定区域在所述第二地图中的点云数据。
同时,在本优选的实施例中,出于减少运算量的考虑,避免匹配耗时,只需提取电梯附近部分轮廓规则的点云数据即可,便可以满足实际的运算需求。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
1.一种多场景二维地图的位姿转换方法,其特征在于,包括:
获取机器人在第一地图中的第一定位信息;
获取所述第一地图中的第一点云数据和第二地图中的第二点云数据;
根据所述第一点云数据和所述第二点云数据进行粗匹配,获得第二近似点云数据和近似矩阵;
根据所述第二近似点云数据、所述第一点云数据、所述近似矩阵,对所述第一定位信息进行精匹配,获取第二定位信息。
2.根据权利要求1所述的一种多场景二维地图的位姿转换方法,其特征在于,所述粗匹配具体包括:
在所述第一点云数据中构建第一参考点;
在所述第二点云数据中构建第二参考点;
根据所述第一参考点和所述第二参考点构建近似矩阵;
根据所述近似矩阵,将所述第二点云数据近似转换到所述第一点云地图中,得到第二近似点云数据;
所述精匹配具体包括:
根据所述第二近似点云数据和所述第一点云构建地图转换矩阵;
根据所述地图转换矩阵和所述近似转换矩阵构建准确转换矩阵;
根据所述准确转换矩阵,将所述第一定位信息转换为第二定位信息。
3.根据权利要求2所述的一种多场景二维地图的位姿转换方法,其特征在于,所述第一参考点为所述第一地图中的特定区域的点;
所述第二参考点为所述第二地图中的特定区域的点;
所述第一地图中的特定区域和所述第二地图中的特定区域为所述第一地图和所述第二地图的交接区域。
4.根据权利要求3所述的一种多场景二维地图的位姿转换方法,其特征在于,所述特定区域为电梯轿厢。
5.根据权利要求3所述的一种多场景二维地图的位姿转换方法,其特征在于,所述第一点云数据为所述特定区域在所述第一地图中的点云数据;
所述第二点云数据为所述特定区域在所述第二地图中的点云数据。
6.一种多场景二维地图的位姿转换系统,其特征在于,包括:
第一定位信息获取模块,用于获取机器人在第一地图中的第一定位信息;
点云数据获取模块,用于获取所述第一地图中的第一点云数据和第二地图中的第二点云数据;
粗匹配模块,用于根据所述第一点云数据和所述第二点云数据进行粗匹配,获得第二近似点云数据和近似矩阵;
精匹配模块,用于根据所述第二近似点云数据、所述第一点云数据、所述近似矩阵,对所述第一定位信息进行精匹配,获取第二定位信息。
7.根据权利要求6所述的一种多场景二维地图的位姿转换系统,其特征在于,所述粗匹配模块具体包括:
参考点建立模块,用于在所述第一点云数据中构建第一参考点,在所述第二点云数据中构建第二参考点;
近似矩阵构建模块,用于根据所述第一参考点和所述第二参考点构建近似矩阵;
近似点云构建模块,用于根据所述近似矩阵,将所述第二点云数据近似转换到所述第一点云地图中,得到第二近似点云数据;
所述精匹配模块具体包括:
地图转换矩阵构建模块,用于根据所述第二近似点云数据和所述第一点云构建地图转换矩阵;
准确转换矩阵构建模块,根据所述地图转换矩阵和所述近似转换矩阵构建准确转换矩阵,并根据所述准确转换矩阵,将所述第一定位信息转换为第二定位信息。
8.根据权利要求7所述的一种多场景二维地图的位姿转换系统,其特征在于,所述第一参考点为所述第一地图中的特定区域的点;
所述第二参考点为所述第二地图中的特定区域的点;
所述第一地图中的特定区域和所述第二地图中的特定区域为所述第一地图和所述第二地图的交接区域。
9.根据权利要求8所述的一种多场景二维地图的位姿转换系统,其特征在于,所述特定区域为电梯轿厢。
10.根据权利要求8所述的一种多场景二维地图的位姿转换系统,其特征在于,所述第一点云数据为所述特定区域在所述第一地图中的点云数据;
所述第二点云数据为所述特定区域在所述第二地图中的点云数据。
技术总结