本发明属于机器人自主导航技术领域,特别涉及了二维激光雷达slam中探测环境发生突变的检测方法。
背景技术:
在无gps(globalpositioningsystem)环境中,通常利用同步定位与地图构建(slam,simultaneouslocalizationandmapping)技术给机器人进行自主导航。激光雷达能够获取高精度的测距信息,且不依赖于外界环境的光照条件,常作为slam的传感器。
目前大多二维激光雷达slam方法应用于静态环境中,即所探测的环境不变,而实际应用环境大多为动态环境,环境会随时间发生变化,造成传统的slam方法定位误差较大。比如二维激光雷达slam方法应用于飞行器时,不同高度的二维水平面环境一般不同,当飞行器的高度变化后,导致探测的二维水平面环境发生突变,造成slam方法的定位误差变大。因此,在实际应用中激光雷达slam方法需要考虑到探测的环境发生突变的情况对slam进行改进,其中激光雷达探测的环境是否发生突变的检测方法尤其重要。
技术实现要素:
为了解决上述背景技术提出的技术问题,本发明旨在提供二维激光雷达slam中探测环境发生突变的检测方法,在应用激光雷达slam方法时能够准确地检测出环境是否发生突变。
为了实现上述技术目的,本发明的技术方案为:
二维激光雷达slam中探测环境发生突变的检测方法,包括以下步骤:
(1)采集惯性传感器数据和激光雷达数据;
(2)根据惯性传感器数据递推载体的二维位置变化量;
(3)利用激光雷达数据进行匹配求解载体的二维位置变化量;
(4)对比步骤(2)惯性递推的二维位置变化量与步骤(3)匹配求解的二维位置变化量,若二者差值的绝对值大于预设阈值,则认为所探测的环境发生突变。
进一步地,二维激光雷达slam中全局坐标系的建立方法为,以初始时刻载体的位置为原点,以二维激光雷达所在二维水平面为x-o-y平面,其中x轴和y轴分别与初始时刻载体的右向和前向重合,z轴为天向;航向角为载体的前向与全局坐标系的y轴方向的夹角,以顺时针方向为正。
进一步地,所述惯性传感器数据包括陀螺仪数据和加速度计数据,陀螺仪和加速度计固定在载体上,且其安装与载体坐标系重合。
进一步地,步骤(2)的过程如下:
上式中,当前时刻记为k时刻,
进一步地,在步骤(3)中,sk和sk-1分别为k时刻和k-1时刻激光雷达数据,根据icp算法,先通过kd-tree进行最邻近点搜索,搜索sk中每个激光点在sk-1中的最近激光点,以此方式将sk和sk-1的激光点进行配对,然后利用奇异值分解法求解载体位置变化量。
采用上述技术方案带来的有益效果:
通过本发明公开的方法,在动态环境下应用激光雷达slam方法时,能够准确地检测所探测的环境是否发生突变,为slam过程中改进载体位姿解算算法提供了一个准确的参考判断,当探测的环境发生突变时对位姿解算部分进行相应的处理,从而能够有效地减小动态环境下传统slam方法的定位误差。
附图说明
图1是本发明的基本流程图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
在本发明中,导航系为激光雷达slam中的全局坐标系,航向角为载体前向与全局坐标系的y轴方向的夹角,顺时针方向为正,其中全局坐标系建立方法如下:
以初始时刻载体的位置为原点,以二维激光雷达所在二维水平面为x-o-y平面,其中x轴和y轴分别与初始时刻载体的右向和前向重合,z轴为天向。
陀螺仪和加速度计固定在激光雷达的载体上,且其安装与载体坐标系重合,载体坐标系建立方法如下:
以载体的位置为原点,以二维激光雷达所在二维水平面为x-o-y平面,其中x轴和y轴分别为载体的右向和前向,z轴为天向。
参照图1,本发明的具体步骤如下。
步骤一:当前时刻记为k时刻,采集加速度计、陀螺仪和激光雷达数据,
步骤二:从机器人组合导航系统中得k-1时刻载体在全局坐标系下x轴、y轴方向的速度和航向,分别记为
上式中,
步骤三:根据icp算法将sk与sk-1匹配求解位置变化量
步骤四:设置距离阈值l,若
二维激光雷达slam中利用激光雷达数据进行匹配求解载体位姿的时间周期为δt,动态情况下在δt时间内利用载体上加速度计和陀螺仪递推载体的二维位置的误差为σ,设置的阈值l与σ相近。在本实施例中,阈值设置为l=1.2σ。
实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。