CN109814572B - 移动机器人定位建图方法、装置、移动机器人和存储介质 - Google Patents
移动机器人定位建图方法、装置、移动机器人和存储介质 Download PDFInfo
- Publication number
- CN109814572B CN109814572B CN201910127475.XA CN201910127475A CN109814572B CN 109814572 B CN109814572 B CN 109814572B CN 201910127475 A CN201910127475 A CN 201910127475A CN 109814572 B CN109814572 B CN 109814572B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud data
- key frame
- mobile robot
- ground normal
- 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
Links
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本发明涉及机器人自动控制技术领域,特别是涉及移动机器人定位建图方法、装置、移动机器人和存储介质。所述方法包括以下步骤:获取点云数据及其对应的位姿估计,并对所述点云数据进行滤波处理;将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准;计算两帧相邻所述关键帧间地面法向量夹角的差值;根据所述关键帧、地面法向量夹角的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图。本发明利用点云数据提取出地面法向量夹角约束,结合后端图优化技术,生成复杂地形的全局地图,实现复杂环境下机器人定位与建图。
Description
技术领域
本发明涉及机器人自动控制技术领域,特别是涉及移动机器人定位建图方法、装置、移动机器人和存储介质。
背景技术
移动机器人是一种可自动执行工作的机器装置,它既可以接受损伤者的现场控制,又可以运行预先编排的程序,还可以根据以人工智能技术制定的算法实现运动的自动调节。移动机器人的任务是协助或取代人类工作的工作,例如在生产业、建筑业,或是危险环境中,移动机器人能够发挥其独有的优势。
随着移动机器人技术的不断进步和发展,SLAM(simultaneous localization andmapping,同步定位与建图技术)得以不断发展,该技术使得移动机器人能够在未知环境的未知位置中,随着自身的移动逐步描绘出此环境的完全地图(a consistent map)。SLAM有着极其重要的理论与应用价值,是实现真正完全自主移动式机器人的关键技术。
但是传统的SLAM技术还不能在崎岖的矿道中构建出可以较好表达环境中物体位置信息的3D点云地图。尤其是在高度上,由于雷达偏角和前端配准算法引发的误差难以仅靠单一边约束的传统后端图优化方法消除,使得传统SLAM 方法构建出的三维地图与真实环境有较大差距。
发明内容
基于此,有必要针对上述的问题,提供一种移动机器人定位建图方法、装置、移动机器人和存储介质。
在本发明一个实施例中,提供了一种移动机器人定位建图方法,所述方法包括以下步骤:
获取点云数据及其对应的位姿估计,并对所述点云数据进行滤波处理;
将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准;
计算两帧相邻所述关键帧间地面法向量夹角的差值;
根据所述关键帧、地面法向量夹角的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图。
在另一个实施例中,本发明提供了一种移动机器人定位建图装置,所述装置包括:
滤波模块,用于获取点云数据及其对应的位姿估计,并对所述点云数据进行滤波处理;
配准模块,用于将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准;
差值计算模块,用于计算两帧相邻所述关键帧间地面法向量夹角的差值;
优化模块,用于根据所述关键帧、地面法向量夹角的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图。
在另一个实施例中,本发明提供了一种移动机器人,所述移动机器人包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述实施例所述一种移动机器人定位建图方法的步骤。
在又一个实施例中,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述实施例所述一种移动机器人定位建图方法的步骤。
本发明涉及机器人自动控制技术领域,特别是涉及移动机器人定位建图方法、装置、移动机器人和存储介质。所述方法包括以下步骤:获取点云数据及其对应的位姿估计,并对所述点云数据进行滤波处理;将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准;计算两帧相邻所述关键帧间地面法向量的差值;根据所述关键帧、地面法向量的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图。本发明基于地面检测技术,在前端配准,后端图优化算法的理论基础上,实现了移动机器人的定位建图,该方法结合根据地面检测技术可以在封闭有坡度的情景下完成建图任务,可以实现机器人在地下隧道等复杂地形环境下仅用点云数据完成定位建图。
附图说明
图1为一个实施例中提供的一种移动机器人定位建图方法的流程图;
图2为图1中步骤S101的具体流程图;
图3为图1中步骤S102的之前的步骤流程图;
图4为图1中步骤S102的具体流程图;
图5为图1中步骤S103的具体流程图;
图6为图5中步骤S502的具体流程图;
图7为一个实施例中相邻两帧关键帧法向量差值计算方法示意图;
图8为图1中步骤S104的具体流程图;
图9为一个实施例中提供的一种移动机器人定位建图装置的结构框图;
图10为一个实施例中提供的一种移动机器人的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一xx脚本称为第二xx脚本,且类似地,可将第二xx脚本称为第一xx 脚本。
如图1所示,在一个实施例中,提出了一种移动机器人定位建图方法,具体可以包括以下步骤:
步骤S101,获取点云数据及其对应的位姿估计,并对所述点云数据进行滤波处理;
步骤S102,将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准;
步骤S103,计算两帧相邻所述关键帧间地面法向量夹角的差值;
步骤S104,根据所述关键帧、地面法向量夹角的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图。
在本发明中,步骤S101中的点云数据来源于移动机器人上安装的激光雷达,激光雷达可能对移动机器人周围的环境进行扫描,从而得到点云数据文件;在本发明中,移动机器人获取点云数据采用的传感器可以是Velodyne 16线或32 线的激光雷达;在本发明中,由于扫描是逐帧进行的,因此,得到的点云数据文件也是以帧计算。在本发明中,点云数据对应的位姿估计指的是当前点云数据与前一帧点云数据相比较得到的对激光雷达动作变化的粗略的数据化描述,用于为后端提供较好的计算初始值。此部分内容可由现有技术得到,本发明对此不再赘述。在本发明中,由于初始点云数据中难免有不符合计算要求的干扰点,进行处理前需要先滤除干扰点。
在本发明中,步骤S102为通过配准算法确定关键帧。这里的配准是指前一帧点云数据与后一帧点云数据进行配准,配准成功后当前点云数据作为下一帧点云数据的配准基础,该过程实际上是使点云数据按预设规则连续化排列的过程,配准的过程实际剔除了不满足要求的数据帧。
在本发明中,步骤S103为计算两帧相邻所述关键帧间地面法向量夹角的差值,实际上是以地面为基准衡量两前两帧之间激光雷达的方向和/或角度变化。
在本发明中,步骤S104为利用关键帧、地面法向量的差值以及关键帧对应的位姿估计构建位姿图,并利用该位姿图生成全局地图,其中还包括对位姿图的优化过程。需要理解的是,位姿图中包含了所有关键帧的信息,但是关键帧的选取不同,生成的全局地图在精度、细节上也会存在差异,全局地图与位姿图并非一对一的关系,但是全局地图依赖于位姿图,以位姿图为基础,由于算法的差异最终得到的结果可以存在差异。
在本发明中,需要理解的是,在移动机器中,上述步骤并非只能按上述过程进行,实际是可以边采集点云数据同时进行之后步骤的处理,即在移动机器要移动采集点云数据的过程中,采集到的点云数据不断传输到处理器中,进行上述步骤的处理。当然,也可以利用现有的点云数据包进行以上操作,本发明对此不作限制。
本发明实施例提供了一种移动机器人定位建图方法,本发明基于地面检测技术,在前端配准,后端图优化算法的理论基础上,实现了移动机器人的定位建图,该方法结合根据地面检测技术可以在封闭有坡度的情景下完成建图任务,可以实现机器人在地下隧道等复杂地形环境下仅用点云数据完成定位建图。
在一个实施例中,如图2所示,步骤S101即获取点云数据及其对应的位姿估计,并对所述点云数据进行滤波处理,具体可以包括以下步骤:
步骤S201,对所述点云数据进行点间距离滤波;
步骤S202,对所述点云数据进行VoxelGrid降采样滤波;
步骤S203,以所述点云数据进行离群点滤波。
在本发明中,在接收到激光雷达发送过来的点云数据后,首先对点云数据进行点间距离滤波,即将和周围点距离太远和太近的点滤除;再进行VoxelGrid 降采样进行滤波(VoxelGrid方法是将3D空间划分成多个很小的体素,然后求处在同一体素内的3d点的中心点作为该体素内的唯一一个3D点,通过这样达到下采样目的);最后将点云中的离群点滤掉,得到一个滤波后的点云数据。
本发明实施例提供了一种移动机器人定位建图方法,在进行后期运算之前,包括对点云数据的滤波处理,一方面可以减小数据量,减轻后方运算的负担,另一方面可以滤除干扰,提高数据的准确性,减小结果的偏差。
在一个实施例中,如图3所示,步骤S102中将滤波处理后的所述点云数据与当前关键帧进行配准,之前还包括以下步骤:
步骤S301,判断当前是否存在所述关键帧;
步骤S302,若判断当前不存在所述关键帧,则将当前点云数据作为当前关键帧。
在本发明中,在进行配准操作之前还包括检测当前是否存在关键帧。由于关键帧的配准操作是前一帧与后一帧的相配准的过程,当检测到当前不存在“前一帧”时,即将当前帧作为关键帧与下一帧进行配准操作。
在一个实施例中,如图4所示,步骤S102即将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准,具体可以包括以下步骤:
步骤S401,按所述点云数据接收到的先后顺序,将当前点云数据与当前关键帧进行正态分布变换运算得到位姿变换矩阵;
步骤S402,判断所述位姿变换矩阵中旋转角度或平移距离是否大于预设阈 值;
步骤S403,若大于预设阈 值则将所述当前点云数据作为当前关键帧与下一帧所述点云数据进行配准。
在本发明中,步骤S401中,需要理解的是,当前点云数据为当前要进行配准操作的点云数据,在点云数据队列中为未进行过配准的点云数据,当前关键帧数据为前一轮配准后确定的关键帧数据,可以是前一帧点云数据,也可是数帧之前的点云数据(比例在该点云数据与当前帧点云数据之间存在若干不符合关键帧要求的点云数据的情况下,当前关键帧与当前点云数据间可以相隔多帧点云数据);通过配准运算可以到得位姿变换矩阵。在本发明中,配准算法采用的是正态分布变换算法,当然,必要时可以采用其它算法,本发明对此不作限制。
在本发明中,步骤S402中,通过判断位姿变换矩阵中的旋转角度和/或平移距离来判断当前点云数据是否为关键帧,例如,当旋转角度和/或平移距离大于预设值时判定为关键帧,当然,也可以采用其它形式的判定规则。
本发明实施例提供了一种移动机器人定位建图方法,通过配准确定关键帧,实际是一个误差控制的过程,通过这种方式,可以提高数据的准确度,从而提高结果的精度。
在本发明一个实施例中,如图5所示,步骤S103即计算两帧相邻所述关键帧间地面法向量夹角的差值,具体可以包括以下步骤:
步骤S501,按预设规则提取每一帧所述关键帧内的部分点云数据;
步骤S502,应用随机抽样一致性算法从所述部分点云数据中提取所需位置的地面法向量并计算其差值。
在本发明中,步骤S501中,需要先选取点云数据中部分数据,再针对选取的数据进行操作;在本发明中,可以提取位于激光雷达下h±h*10-2m范围内的点云数据,其中,h为激光雷达的高度,目的在于粗略估计构成地面的点云的空间位置。在此之前,可以预设一个倾斜角度,用以自动生成一个对应的倾斜矩阵,从而补偿某些(如雷达偏角的外部硬件问题引起的)建图误差,此过程属于优化方案。对于提取出的部分点云数据,再应用随机抽样一致性算法计算所需位置的地面法向量并计算其差值。
在本发明一个实施例中,如图6所示,步骤S502中从所述部分点云数据中提取所需位置的地面法向量并计算其差值,具体包括以下步骤:
步骤S601,计算第一关键帧中移动机器人中心所在位置的地面法向量,以及第二关键帧对应时刻,所述移动机器人中心所在的全局位置在所述第一关键帧相应位置对应的地面法向量,并计算两个所述地面法向量的夹角得到第一夹角;
步骤S602,计算第二关键帧中移动机器人中心所在位置的地面法向量,以及第一关键帧对应时刻,所述移动机器人中心所在的全局位置在所述第二关键帧相应位置对应的地面法向量,并计算两个所述地面法向量的夹角得到第二夹角;
步骤S603,计算所述第一、二夹角的差值;
所述第一、二关键帧为相邻关键帧。
在本发明中,对上述过程进行举例说明,如图7所示,A、B为两个按序得出的关键帧,移动机器人在A帧时刻的位置为P点,在B帧时刻的位置为Q点;首先计算A关键帧中移动机器人中心所在位置的地面法向量naa,以及B关键帧时刻移动机器人中心应当处在的全局位置在A帧相应位置对应的地面法向量 nab,并求其夹角α;接着计算B关键帧中移动机器人中心所在位置的地面法向量nba,以及A关键帧时刻移动机器人中心应当处在的全局位置在B帧相应位置对应的地面法向量nbb,并求其夹角β;则α与β的差值就是两帧位姿估计的误差度量,即本发明地面法向量的差值。
在本发明一个实施例中,如图8所示,步骤S104即根据所述关键帧、地面法向量的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图,具体可以包括以下步骤:
步骤S801,以所述关键帧为节点,以所述地面法向量的差值及所述关键帧对应的位姿估计为边构建位姿图;
步骤S802,对所述位姿图进行回环检测并根据检测结果添加回环边;
步骤S803,优化累积误差并利用优化后的所述位姿图生成全局地图。
在本发明中,步骤S802中,使用回环检测技术,利用点云数据的相似性配准检测关键帧中是否含有回环以判定是否需要加入回环边约束来提升优化效果。在本发明中,位姿图的优化是实时进行的,位姿图每添加一个新的关键帧节点,就先进行一次回环检测,回环检测时不是与全局所有节点进行配准,而是以此节点为圆心,人工设定的阈值距离为半径在地图中作圆,将此圆能覆盖到的位姿图节点与新的节点进行配准,判断是否有回环出现并以此为在位姿图中添加回环边的条件。
在本发明中,步骤S802中,位姿图的优化采用的是g2o(General GraphOptimization,通用图优化)库中高斯牛顿法优化误差函数,优化全局累计误差,以得到最优的位姿估计。
在本发明中,步骤S803中,采用通用算法可能得到需要的全局地图,此部分属于现有技术,本发明对此不再赘述。
在发明实施例提供了一种移动机器人定位建图方法,通过圆环检测与位姿图优化可以提高位姿图的准确性,使最终生成的全局地图更为精确。
如图9所示,在一个实施例中,提供了一种移动机器人定位建图装置900,具体可以包括:
滤波模块901,用于获取点云数据及其对应的位姿估计,并对所述点云数据进行滤波处理;
配准模块902,用于将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准;
差值计算模块903,用于计算两帧相邻所述关键帧间地面法向量夹角的差值;
优化模块904,用于根据所述关键帧、地面法向量夹角的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图。
在本发明中,模块901中的点云数据来源于移动机器人上安装的激光雷达,激光雷达可能对移动机器人周围的环境进行扫描,从而得到点云数据文件;在本发明中,移动机器人获取点云数据采用的传感器可以是Velodyne 16线或32 线的激光雷达;在本发明中,由于扫描是逐帧进行的,因此,得到的点云数据文件也是以帧计算。在本发明中,点云数据对应的位姿估计指的是当前点云数据与前一帧点云数据相比较得到的对激光雷达动作变化的粗略的数据化描述,用于为后端提供较好的计算初始值。此部分内容可由现有技术得到,本发明对此不再赘述。在本发明中,由于初始点云数据中难免有不符合计算要求的干扰点,进行处理前需要先滤除干扰点。
在本发明中,模块902为通过配准算法确定关键帧。这里的配准是指前一帧点云数据与后一帧点云数据进行配准,配准成功后当前点云数据作为下一帧点云数据的配准基础,该过程实际上是使点云数据按预设规则连续化排列的过程,配准的过程实际剔除了不满足要求的数据帧。
在本发明中,模块903为计算两帧相邻关键帧间的地面法向量的差值,实际上是以地面为基准衡量两前两帧之间激光雷达的方向和/或角度变化。
在本发明中,模块904为利用关键帧、地面法向量的差值以及关键帧对应的位姿估计构建位姿图,并利用该位姿图生成全局地图,其中还包括对位姿图的优化过程。需要理解的是,位姿图中包含了所有关键帧的信息,但是关键帧的选取不同,生成的全局地图在精度、细节上也会存在差异,全局地图与位姿图并非一对一的关系,但是全局地图依赖于位姿图,以位姿图为基础,由于算法的差异最终得到的结果可以存在差异。
在本发明中,需要理解的是,在移动机器中,上述过程并非只能按上述过程进行,实际是可以边采集点云数据同时进行之后步骤的处理,即在移动机器要移动采集点云数据的过程中,采集到的点云数据不断传输到处理器中,进行上述步骤的处理。当然,也可以利用现有的点云数据包进行以上操作,本发明对此不作限制。
本发明实施例提供了一种移动机器人定位建图装置,本发明基于地面检测技术,在前端配准,后端图优化算法的理论基础上,实现了移动机器人的定位建图,该装置结合根据地面检测技术可以在封闭有坡度的情景下完成建图任务,可以实现机器人在地下隧道等复杂地形环境下仅用点云数据完成定位建图。
在一个实施例中,滤波模块901具体可以包括以下:
距离滤波单元,用于对所述点云数据进行点间距离滤波;
降采样滤波单元,用于对所述点云数据进行voxelgrid降采样滤波;
离群滤波单元,用于对所述点云数据进行离群点滤波。
在本发明中,在接收到激光雷达发送过来的点云数据后,首先对点云数据进行点间距离滤波,即将和周围点距离太远和太近的点滤除;再进行VoxelGrid 降采样进行滤波(VoxelGrid方法是将3D空间划分成多个很小的体素,然后求处在同一体素内的3d点的中心点作为该体素内的唯一一个3D点,通过这样达到下采样目的);最后将点云中的离群点滤掉,得到一个滤波后的点云数据。
本发明实施例提供了一种移动机器人定位建图装置,在进行后期运算之前,包括对点云数据的滤波处理,一方面可以减小数据量,减轻后方运算的负担,另一方面可以滤除干扰,提高数据的准确性,减小结果的偏差。
在一个实施例中,配准模块902还包括:
关键帧检测单元,用于判断当前是否存在所述关键帧;
关键帧设置单元,若判断当前不存在所述关键帧,用于将当前点云数据作为当前关键帧。
在本发明中,在进行配准操作之前还包括检测当前是否存在关键帧。由于关键帧的配准操作是前一帧与后一帧的相配准的过程,当检测到当前不存在“前一帧”时,即将当前帧作为关键帧与下一帧进行配准操作。
在一个实施例中,配准模块902具体可以包括:
配准计算单元,用于按所述点云数据接收到的先后顺序,将当前点云数据与当前关键帧进行正态分布变换运算得到位姿变换矩阵;
关键帧判断单元,用于判断所述位姿变换矩阵中旋转角度或平移距离是否大于预设阈 值;
关键帧确认单元,若大于预设阈 值则用于将所述当前点云数据作为当前关键帧与下一帧所述点云数据进行配准。
在本发明中,配准计算单元中,需要理解的是,当前点云数据为当前要进行配准操作的点云数据,在点云数据队列中为未进行过配准的点云数据,当前关键帧数据为前一轮配准后确定的关键帧数据,可以是前一帧点云数据,也可是数帧之前的点云数据(比例在该点云数据与当前帧点云数据之间存在若干不符合关键帧要求的点云数据的情况下,当前关键帧与当前点云数据间可以相隔多帧点云数据);通过配准运算可以到得位姿变换矩阵。在本发明中,配准算法采用的是正态分布变换算法,当然,必要时可以采用其它算法,本发明对此不作限制。
在本发明中,关键帧判断单元中,通过判断位姿变换矩阵中的旋转角度和/ 或平移距离来判断当前点云数据是否为关键帧,例如,当旋转角度和/或平移距离大于预设值时判定为关键帧,当然,也可以采用其它形式的判定规则。
本发明实施例提供了一种移动机器人定位建图装置,通过配准确定关键帧,实际是一个误差控制的过程,通过这种方式,可以提高数据的准确度,从而提高结果的精度。
在本发明一个实施例中,差值计算模块903具体可以包括:
点云提取单元,用于按预设规则提取每一帧所述关键帧内的部分点云数据;
差值计算单元,用于应用随机抽样一致性算法从所述部分点云数据中提取所需位置的地面法向量并计算其差值。
在本发明中,点云提取单元中,需要先选取点云数据中部分数据,再针对选取的数据进行操作;在本发明中,可以提取位于激光雷达下h±h*10-2m范围内的点云数据,其中,h为激光雷达的高度,目的在于粗略估计构成地面的点云的空间位置。在此之前,可以预设一个倾斜角度,用以自动生成一个对应的倾斜矩阵,从而补偿某些(如雷达偏角的外部硬件问题引起的)建图误差,此过程属于优化方案。对于提取出的部分点云数据,再应用随机抽样一致性算法计算所需位置的地面法向量并计算其差值。
在本发明一个实施例中,差值计算单元具体包括:
第一法向量计算子单元,用于计算第一关键帧中移动机器人中心所在位置的地面法向量,以及第二关键帧对应时刻,所述移动机器人中心所在的全局位置在所述第一关键帧相应位置对应的地面法向量,并计算两个所述地面法向量的夹角得到第一夹角;
第一法向量计算子单元,用于计算第二关键帧中移动机器人中心所在位置的地面法向量,以及第一关键帧对应时刻,所述移动机器人中心所在的全局位置在所述第二关键帧相应位置对应的地面法向量,并计算两个所述地面法向量的夹角得到第二夹角;
差值计算子单元,计算所述第一、二夹角的差值;
所述第一、二关键帧为相邻关键帧。
在本发明中,对上述过程进行举例说明,如图7所示,A、B为两个按序得出的关键帧,移动机器人在A帧时刻的位置为P点,在B帧时刻的位置为Q点;首先计算A关键帧中移动机器人中心所在位置的地面法向量naa,以及B关键帧时刻移动机器人中心应当处在的全局位置在A帧相应位置对应的地面法向量 nab,并求其夹角α;接着计算B关键帧中移动机器人中心所在位置的地面法向量nba,以及A关键帧时刻移动机器人中心应当处在的全局位置在B帧相应位置对应的地面法向量nbb,并求其夹角β;则α与β的差值就是两帧位姿估计的误差度量,即本发明地面法向量的差值。
在本发明一个实施例中,优化模块904,具体可以包括:
位姿图构建单元,用于以所述关键帧为节点,以所述地面法向量的差值及所述关键帧对应的位姿估计为边构建位姿图;
回环检测单元,用于对所述位姿图进行回环检测并根据检测结果添加回环边;
优化单元,用于优化累积误差并利用优化后的所述位姿图生成全局地图。
在本发明中,回环检测单元中,使用回环检测技术,利用点云数据的相似性配准检测关键帧中是否含有回环以判定是否需要加入回环边约束来提升优化效果。在本发明中,位姿图的优化是实时进行的,位姿图每添加一个新的关键帧节点,就先进行一次回环检测,回环检测时不是与全局所有节点进行配准,而是以此节点为圆心,人工设定的阈值距离为半径在地图中作圆,将此圆能覆盖到的位姿图节点与新的节点进行配准,判断是否有回环出现并以此为在位姿图中添加回环边的条件。
在本发明中,优化单元中,位姿图的优化采用的是g2o(General GraphOptimization,通用图优化)库中高斯牛顿法优化误差函数,优化全局累计误差,以得到最优的位姿估计。
在本发明中,优化单元中,采用通用算法可能得到需要的全局地图,此部分属于现有技术,本发明对此不再赘述。
在发明实施例提供了一种移动机器人定位建图装置,通过圆环检测与位姿图优化可以提高位姿图的准确性,使最终生成的全局地图更为精确。
图10示出了一个实施例中一种移动机器人内部结构图。如图10所示,该移动机器人包括该移动机器人包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该移动机器人的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现移动机器人定位建图方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行移动机器人定位建图方法。移动机器人的显示屏可以是液晶显示屏或者电子墨水显示屏,移动机器人的输入装置可以是显示屏上覆盖的触摸层,也可以是移动机器人外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等,还可以是远程控制系统。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的移动机器人的限定,具体的移动机器人可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的移动机器人定位建图装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的移动机器人上运行。移动机器人的存储器中可存储组成该移动机器人定位建图装置的各个程序模块,比如,图8所示的滤波模块、配准模块、差值计算模块和优化模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的移动机器人定位建图方法中的步骤。
例如,图10所示的移动机器人可以通过如图8所示的移动机器人定位建图装置中的滤波模块901执行步骤S101;移动机器人可通过配准模块902执行步骤S102;移动机器人可通过差值计算模块903执行步骤S103;移动机器人可通过优化模块904执行步骤S104。
在一个实施例中,提出了一种移动机器人,所述移动机器人包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取点云数据及其对应的位姿估计,并对所述点云数据进行滤波处理;
将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准;
计算两帧相邻所述关键帧间地面法向量夹角的差值;
根据所述关键帧、地面法向量夹角的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
获取点云数据及其对应的位姿估计,并对所述点云数据进行滤波处理;
将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准;
计算两帧相邻所述关键帧间地面法向量夹角的差值;
根据所述关键帧、地面法向量夹角的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM (EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM 以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM (SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM (RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态 RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种移动机器人定位建图方法,其特征在于,所述方法包括以下步骤:
获取点云数据及其对应的位姿估计,并对所述点云数据进行滤波处理;
将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准;
计算两帧相邻所述关键帧间地面法向量夹角的差值;
根据所述关键帧、地面法向量夹角的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图;
所述计算两帧相邻所述关键帧间地面法向量夹角的差值,包括以下步骤:
按预设规则提取每一帧所述关键帧内的部分点云数据;
应用随机抽样一致性算法从所述部分点云数据中提取所需位置的地面法向量并计算其差值;
所述从所述部分点云数据中提取所需位置的地面法向量并计算其差值,包括以下步骤:
计算第一关键帧中移动机器人中心所在位置的地面法向量,以及第二关键帧对应时刻,所述移动机器人中心所在的全局位置在所述第一关键帧相应位置对应的地面法向量,并计算两个所述地面法向量的夹角得到第一夹角;
计算第二关键帧中移动机器人中心所在位置的地面法向量,以及第一关键帧对应时刻,所述移动机器人中心所在的全局位置在所述第二关键帧相应位置对应的地面法向量,并计算两个所述地面法向量的夹角得到第二夹角;
计算所述第一、二夹角的差值;
所述第一、二关键帧为相邻关键帧。
2.如权利要求1所述的一种移动机器人定位建图方法,其特征在于,所述对所述点云数据进行滤波处理,包括以下步骤:
对所述点云数据进行点间距离滤波;
对所述点云数据进行VoxelGrid降采样滤波;
对所述点云数据进行离群点滤波。
3.如权利要求1所述的一种移动机器人定位建图方法,其特征在于,所述将滤波处理后的所述点云数据与当前关键帧进行配准,之前还包括:
判断当前是否存在所述关键帧;
若判断当前不存在所述关键帧,则将当前点云数据作为当前关键帧。
4.如权利要求1所述的一种移动机器人定位建图方法,其特征在于,所述将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准,包括以下步骤:
按所述点云数据接收到的先后顺序,将当前点云数据与当前关键帧进行正态分布变换运算得到位姿变换矩阵;
判断所述位姿变换矩阵中旋转角度或平移距离是否大于预设阈 值;
若大于预设阈 值则将所述当前点云数据作为当前关键帧与下一帧所述点云数据进行配准。
5.如权利要求1所述的一种移动机器人定位建图方法,其特征在于,所述根据所述关键帧、地面法向量的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图,包括以下步骤:
以所述关键帧为节点,以所述地面法向量的差值及所述关键帧对应的位姿估计为边构建位姿图;
对所述位姿图进行回环检测并根据检测结果添加回环边;
优化累积误差并利用优化后的所述位姿图生成全局地图。
6.一种移动机器人定位建图装置,其特征在于,所述装置包括:
滤波模块,用于获取点云数据及其对应的位姿估计,并对所述点云数据进行滤波处理;
配准模块,用于将滤波处理后的所述点云数据与当前关键帧进行配准,若配准结果满足预设条件则将当前点云数据作为新的当前关键帧参与下一轮配准;
差值计算模块,用于计算两帧相邻所述关键帧间地面法向量夹角的差值;
优化模块,用于根据所述关键帧、地面法向量夹角的差值以及所述关键帧对应的位姿估计构建位姿图并对所述位姿图进行优化,根据优化后的所述位姿图生成全局地图;
所述计算两帧相邻所述关键帧间地面法向量夹角的差值,包括以下步骤:
按预设规则提取每一帧所述关键帧内的部分点云数据;
应用随机抽样一致性算法从所述部分点云数据中提取所需位置的地面法向量并计算其差值;
所述从所述部分点云数据中提取所需位置的地面法向量并计算其差值,包括以下步骤:
计算第一关键帧中移动机器人中心所在位置的地面法向量,以及第二关键帧对应时刻,所述移动机器人中心所在的全局位置在所述第一关键帧相应位置对应的地面法向量,并计算两个所述地面法向量的夹角得到第一夹角;
计算第二关键帧中移动机器人中心所在位置的地面法向量,以及第一关键帧对应时刻,所述移动机器人中心所在的全局位置在所述第二关键帧相应位置对应的地面法向量,并计算两个所述地面法向量的夹角得到第二夹角;
计算所述第一、二夹角的差值;
所述第一、二关键帧为相邻关键帧。
7.一种移动机器人,其特征在于,所述移动机器人包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至5中任一项权利要求所述移动机器人定位建图方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至5中任一项权利要求所述移动机器人定位建图方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910127475.XA CN109814572B (zh) | 2019-02-20 | 2019-02-20 | 移动机器人定位建图方法、装置、移动机器人和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910127475.XA CN109814572B (zh) | 2019-02-20 | 2019-02-20 | 移动机器人定位建图方法、装置、移动机器人和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109814572A CN109814572A (zh) | 2019-05-28 |
CN109814572B true CN109814572B (zh) | 2022-02-01 |
Family
ID=66607002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910127475.XA Active CN109814572B (zh) | 2019-02-20 | 2019-02-20 | 移动机器人定位建图方法、装置、移动机器人和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109814572B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110361026B (zh) * | 2019-06-05 | 2020-12-22 | 华南理工大学 | 一种基于3d点云的仿人机器人路径规划方法 |
CN110349207B (zh) * | 2019-07-10 | 2022-08-05 | 国网四川省电力公司电力科学研究院 | 一种复杂环境下的视觉定位方法 |
WO2021016803A1 (zh) * | 2019-07-29 | 2021-02-04 | 深圳市大疆创新科技有限公司 | 高精度地图定位方法、系统、平台及计算机可读存储介质 |
CN112764412B (zh) * | 2019-10-21 | 2024-07-26 | 财团法人车辆研究测试中心 | 同步定位与建图优化方法 |
CN111539305B (zh) * | 2020-04-20 | 2024-03-12 | 肇庆小鹏汽车有限公司 | 一种地图构建方法及系统、车辆及存储介质 |
CN111552757B (zh) * | 2020-04-30 | 2022-04-01 | 上海商汤临港智能科技有限公司 | 生成电子地图的方法、装置、设备及存储介质 |
CN111881233B (zh) * | 2020-06-28 | 2022-01-18 | 广州文远知行科技有限公司 | 分布式点云地图构建方法和装置、服务器、计算机可读存储介质 |
CN111882494B (zh) * | 2020-06-28 | 2024-05-14 | 广州文远知行科技有限公司 | 位姿图处理方法、装置、计算机设备和存储介质 |
CN112086010B (zh) * | 2020-09-03 | 2022-03-18 | 中国第一汽车股份有限公司 | 地图生成方法、装置、设备及存储介质 |
CN113776530B (zh) * | 2020-09-11 | 2024-06-18 | 北京京东乾石科技有限公司 | 一种点云地图构建方法、装置、电子设备和存储介质 |
CN112462758B (zh) * | 2020-11-06 | 2022-05-06 | 深圳市优必选科技股份有限公司 | 一种建图方法、装置、计算机可读存储介质及机器人 |
CN112380312B (zh) * | 2020-11-30 | 2022-08-05 | 北京智行者科技股份有限公司 | 基于栅格检测的激光地图更新方法、终端及计算机设备 |
CN113835099B (zh) * | 2021-02-01 | 2024-06-14 | 贵州京邦达供应链科技有限公司 | 点云地图更新方法及装置、存储介质、电子设备 |
CN113828439B (zh) * | 2021-09-09 | 2022-09-27 | 中国科学院自动化研究所 | 图案喷涂检测系统 |
CN114119744B (zh) * | 2021-11-08 | 2024-05-14 | 国汽(北京)智能网联汽车研究院有限公司 | 一种构建点云地图的方法、装置、设备及存储介质 |
CN114782292B (zh) * | 2022-03-10 | 2023-05-09 | 中国电子科技集团公司第二十九研究所 | 一种雷达信号处理优化方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722907A (zh) * | 2012-05-22 | 2012-10-10 | 清华大学 | 基于管道工厂点云的几何建模方法 |
CN104952107A (zh) * | 2015-05-18 | 2015-09-30 | 湖南桥康智能科技有限公司 | 基于车载LiDAR点云数据的桥梁三维重建方法 |
CN105547288A (zh) * | 2015-12-08 | 2016-05-04 | 华中科技大学 | 一种煤矿井下移动设备自主定位的方法及系统 |
CN105856230A (zh) * | 2016-05-06 | 2016-08-17 | 简燕梅 | 一种可提高机器人位姿一致性的orb关键帧闭环检测slam方法 |
GB201705243D0 (en) * | 2016-06-22 | 2017-05-17 | Q-Bot Ltd | Autonomous surveying of under floor voids |
CN107160395A (zh) * | 2017-06-07 | 2017-09-15 | 中国人民解放军装甲兵工程学院 | 地图构建方法及机器人控制系统 |
AU2016246024A1 (en) * | 2015-04-10 | 2017-11-09 | The European Atomic Energy Community (Euratom), Represented By The European Commission | Method and device for real-time mapping and localization |
CN107909612A (zh) * | 2017-12-01 | 2018-04-13 | 驭势科技(北京)有限公司 | 一种基于3d点云的视觉即时定位与建图的方法与系统 |
CN108564616A (zh) * | 2018-03-15 | 2018-09-21 | 中国科学院自动化研究所 | 快速鲁棒的rgb-d室内三维场景重建方法 |
CN108871353A (zh) * | 2018-07-02 | 2018-11-23 | 上海西井信息科技有限公司 | 路网地图生成方法、系统、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2615580B1 (en) * | 2012-01-13 | 2016-08-17 | Softkinetic Software | Automatic scene calibration |
-
2019
- 2019-02-20 CN CN201910127475.XA patent/CN109814572B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722907A (zh) * | 2012-05-22 | 2012-10-10 | 清华大学 | 基于管道工厂点云的几何建模方法 |
AU2016246024A1 (en) * | 2015-04-10 | 2017-11-09 | The European Atomic Energy Community (Euratom), Represented By The European Commission | Method and device for real-time mapping and localization |
CN104952107A (zh) * | 2015-05-18 | 2015-09-30 | 湖南桥康智能科技有限公司 | 基于车载LiDAR点云数据的桥梁三维重建方法 |
CN105547288A (zh) * | 2015-12-08 | 2016-05-04 | 华中科技大学 | 一种煤矿井下移动设备自主定位的方法及系统 |
CN105856230A (zh) * | 2016-05-06 | 2016-08-17 | 简燕梅 | 一种可提高机器人位姿一致性的orb关键帧闭环检测slam方法 |
GB201705243D0 (en) * | 2016-06-22 | 2017-05-17 | Q-Bot Ltd | Autonomous surveying of under floor voids |
CN107160395A (zh) * | 2017-06-07 | 2017-09-15 | 中国人民解放军装甲兵工程学院 | 地图构建方法及机器人控制系统 |
CN107909612A (zh) * | 2017-12-01 | 2018-04-13 | 驭势科技(北京)有限公司 | 一种基于3d点云的视觉即时定位与建图的方法与系统 |
CN108564616A (zh) * | 2018-03-15 | 2018-09-21 | 中国科学院自动化研究所 | 快速鲁棒的rgb-d室内三维场景重建方法 |
CN108871353A (zh) * | 2018-07-02 | 2018-11-23 | 上海西井信息科技有限公司 | 路网地图生成方法、系统、设备及存储介质 |
Non-Patent Citations (7)
Title |
---|
Fast planar surface 3D SLAM using LIDAR;Kruno Lenac;Andrej Kitanov;《Robotics and Autonomous Systems》;20170630;全文 * |
Mapping and localization module in a mobile robot for insulating building crawl spaces;Sergio Cebollada;Luis Payá;Miguel Juliá;《Automation in Construction》;20180331;全文 * |
T.Weber;R.Hänsch;O.Hellwich.Automatic registration of unordered point clouds acquired by Kinect sensors using an overlap heuristic.《ISPRS Journal of Photogrammetry and Remote Sensing》.2015, * |
基于TOF相机的四足机器人地形感知及静步态规划研究;李兴东;《中国博士学位论文全文数据库·信息科技辑》;20160315;全文 * |
基于三维激光扫描仪的三维点云地图构建研究;蒋盛锋;《中国优秀硕士学位论文全文数据库·工程科技Ⅰ辑》;20171115;全文 * |
基于三维激光扫描仪的室内移动机器人定位与建图;赵梓乔;《中国优秀博硕士学位论文全文数据库·信息科技辑》;20180115;全文 * |
室内移动机器人的鲁棒视觉SLAM和自主导航系统研究;侯荣波;《中国优秀硕士学位论文全文数据库·信息科技辑》;20181215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109814572A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109814572B (zh) | 移动机器人定位建图方法、装置、移动机器人和存储介质 | |
US11295472B2 (en) | Positioning method, positioning apparatus, positioning system, storage medium, and method for constructing offline map database | |
US10748061B2 (en) | Simultaneous localization and mapping with reinforcement learning | |
KR102143108B1 (ko) | 차선 인식 모델링 방법, 장치, 저장 매체 및 기기, 및 인식 방법, 장치, 저장 매체 및 기기 | |
Indelman et al. | Information fusion in navigation systems via factor graph based incremental smoothing | |
US9709404B2 (en) | Iterative Kalman Smoother for robust 3D localization for vision-aided inertial navigation | |
CN111402339B (zh) | 一种实时定位方法、装置、系统及存储介质 | |
US8259994B1 (en) | Using image and laser constraints to obtain consistent and improved pose estimates in vehicle pose databases | |
US20240087226A1 (en) | Method in constructing a model of a scenery and device therefor | |
CN110221600B (zh) | 路径规划方法、装置、计算机设备和存储介质 | |
CN111968229A (zh) | 高精度地图制图方法及装置 | |
WO2021021862A1 (en) | Mapping and localization system for autonomous vehicles | |
Roshan Zamir et al. | Gps-tag refinement using random walks with an adaptive damping factor | |
Indelman et al. | Incremental light bundle adjustment for robotics navigation | |
Konrad et al. | Localization in digital maps for road course estimation using grid maps | |
US9477904B2 (en) | Systems and methods for refining building alignment in an aerial image | |
CN111721283B (zh) | 定位算法的精度检测方法、装置、计算机设备和存储介质 | |
Mannari et al. | Extended target tracking under multitarget tracking framework for convex polytope shapes | |
CN109542093B (zh) | 一种处理数据的方法和装置 | |
CA2894863A1 (en) | Indoor localization using crowdsourced data | |
CN114463429B (zh) | 机器人、地图创建方法、定位方法及介质 | |
Su et al. | Accurate Pose Tracking for Uncooperative Targets via Data Fusion of Laser Scanner and Optical Camera | |
Zheng et al. | Indoor localization and trajectory correction with point cloud-derived backbone map | |
CN111951304B (zh) | 基于互监督孪生网络的目标跟踪方法、装置与设备 | |
Li et al. | Geometric object based building reconstruction from satellite imagery derived point clouds |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |