一种无导航卫星信号下的自主定位方法与流程

文档序号:24551594发布日期:2021-04-06 12:03阅读:165来源:国知局

本发明属于无人车、机器人技术领域,具体涉及一种无导航卫星信号下的自主定位方法。



背景技术:

无人车、机器人等智能系统自主行驶与作业时,只有获取准确的自主定位信息才能进行准确的环境感知、自主导航与自主作业。真实复杂环境中,当导航卫星系统受到电磁干扰、物体遮蔽等环境影响时,无人车、机器人等智能系统可能完全无法获取导航卫星信号。因此,如何实现智能系统在无导航卫星信号下的准确自主定位是智能系统复杂环境真实应用中所必须解决的问题。



技术实现要素:

(一)要解决的技术问题

本发明要解决的技术问题是:如何设计一种无导航卫星信号下的自主定位方法,实现智能系统在无导航卫星信号环境下的准确自主定位。

(二)技术方案

为了解决上述技术问题,本发明提供了一种无导航卫星信号下的自主定位方法,包括以下步骤:

步骤1:采用ndt-om地图生成方法初始化形成基于三维激光雷达扫描数据的ndt-om局部地图;

步骤2:采用ndt-d2d匹配方法将利用步骤1的方法生成的通过三维激光雷达扫描生成的当前时刻的新的局部地图与利用步骤1的方法生成的通过三维雷达扫描生成的前一时刻的局部地图进行匹配;

步骤3:局部地图匹配完成后,融合里程计、ins获取的位姿估计信息与该局部地图匹配量信息,同步完成自主定位。

优选地,步骤1中,所述ndt-om地图生成方法为:

将智能系统周围的空间规则地细分成大小一定的栅格单元ci,ci中测量点个数为n,其中第k个测量点为xk∈r3,ci位置处测量点的平均值为ci位置处测量点的协方差矩阵为ci表示为:

ci={ui,pi,ni,p(mi|z1:t)}(1)

其中,u为均值,ni是估计正态分布参数所使用的点数,p(mi|z1:t)为栅格单元被占有的概率,其利用平均值和协方差矩阵建立的正态分布模型来度量某个位置样本zk位于栅格单元ci内的概率,即:

对于三维测量数据,每个ndt-om三维空间栅格单元中需要保存的最少参数为11个,即x、y、z三个方向的3个平均值和6个协方差、栅格单元ci中的激光点数量、栅格单元ci被占用的概率值;

对于新获得的测量值信息,系统将更新每个栅格单元的概率值进行地图更新,假设有两组测量点值m,n均为小于或等于n的正整数,采用下列公式对其进行融合,得到新的栅格单元概率值:

ux为x的均值,uy是y的均值,令则组合后的协方差估计值为:

其中,

经推导可得:

以上更新方法未考虑环境动态变化的情况,为此增加射线跟踪步骤,其目的是评估位于传感器原点(传感器射线发射中心)和测量点之间直线上的所有栅格单元,对于不包含测量点的栅格单元则计数值加1,并利用以下对数概率公式对栅格单元占用概率进行估计:

其中,l(mk|z1:t-1)是在获得1到t-1时刻观测的情况下占用栅格mk的概率,np是zt数据集合中落入栅格单元的数量,ne是栅格单元被观察为空的次数,po为栅格单元当被测量为占有时的占有概率,pe为栅格单元被观察为空时的占有概率。

优选地,步骤1中ndt-om地图生成的步骤概括为:

(1)采集三维测量数据,更新测量数据对象;

(2)利用测量数据对象更新地图栅格单元;

(3)重新计算各栅格单元模型参数;

(4)返回(1)。

优选地,步骤2中,所述ndt-d2d匹配方法是通过最小化两个三维激光雷达数据形成的ndt-om局部地图之间的距离l2,实现当前时刻与前一时刻局部地图的匹配。

优选地,步骤2中,通过最小化两个三维激光雷达数据形成的ndt-om局部地图之间的距离l2,实现当前时刻与前一时刻局部地图的匹配的过程为:

假设一组参考激光雷达扫描点为f,附近位置处的一组动态扫描点为μ,mndt(f)与mndt(μ)分别指对这两组扫描点采用步骤1中利用ndt-om的方式进行建模生成的局部地图,设t'为两张地图的平移方程,θ为其参数,t'(μ,θ)即为两组扫描点的平移方程,则两张ndt-om局部地图mndt(f)与mndt(μ)之间的距离l2定义为:

p表示概率密度;式(8)等价为:

当方程(9)可以表示为renyi’s二次熵之和时,即会有关两张地图的距离项,renyi’s二次熵定义为:

hrqe(p(x))=-∫p2(x)dx(10)

获取的两张局部地图的最小距离项为:

∫ν(x|μi,∑i)ν(x|μj,∑j)dx=ν(0|μi-μj,∑i+∑j)(11)

其中,∑i,∑j为高斯分布的方差,i为mndt(μ)里的第i个栅格单元的序号,j为mndt(f)里的第j个栅格单元的序号,n为高斯分布密度函数(方差是sigma),x为变量,μi,μj分别为两张地图对应高斯模型的均值,将该距离项最小化,即会获取两张局部ndt-om地图的最小距离l2的最终表达式为:

mndt(μ)、mndt(f)中分别有n个栅格单元,μ(n)表示mndt(μ)里第n个栅格单元,f(n)表示mndt(f)里第n个栅格单元,t(·,θ)为平移变化矩阵,旋转矩阵为r,将其用欧拉角参数化来表示,转换矩阵的可以用向量p={tx,ty,tz,rx,ry,rz}来表示,t={tx,ty,tz}为平移参数,rx、ry、rz为三个方向的欧拉角,则获取两张ndt-om局部地图的最小距离l2方程为:

其中,d1、d2为设置的扫描参数,μij(p)为平均的矢量距离,即μij(p)=rμi+t-μj;

如果距离l2小于预先设置的阈值,则基于ndt融合算法,用新的扫描数据更新该两张局部地图,而后继续处理新的数据;如果距离l2大于预先设定的阈值,则初始化一个新的ndt-om局部地图,每一时刻计算的是当前时刻局部地图和前一刻共2个局部地图。

优选地,步骤2中,如果有多个局部地图,则通过批处理扩展卡尔曼滤波方法融合里程计、ins信息,获取智能系统的位置估计值,以获取两张局部ndt-om地图之间的相对位置约束,即局部地图原点之间的距离,如果该距离小于设定的阈值,则再次利用ndt-d2d算法对两个局部地图进行匹配,如果地图匹配成功,则给图增加新的相对位置约束,直至闭环。

优选地,还包括步骤4:进行闭环探测:进行地图的索引值评估,当两个索引值超过阈值,则认为探测到了闭环。

优选地,还包括步骤5:探测到闭环后,进行slam后端优化,采用isam库实现,优化slam中的稀疏非线性问题。

本发明还提供了一种所述方法在无人车技术领域中的应用。

本发明还提供了一种所述方法在机器人技术领域中的应用。

(三)有益效果

本发明采用正态分布变换同步定位与地图生成(ndt-slam)的自主定位方法,通过正态分布变换占用地图(ndt-om)方法形成基于三维激光雷达扫描数据的ndt-om局部地图,并通过ndt-d2d匹配方法完成局部ndt-om地图之间的匹配,并在此基础上融合由惯性导航系统(ins)与里程计生成的位置估计信息与局部地图匹配信息,该方法能够有效融合激光雷达、ins与里程计等多源传感器信息,实现无人车、机器人等智能系统在无导航卫星信号下的准确自主定位。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合实施例,对本发明的具体实施方式作进一步详细描述。

本发明提供的一种无导航卫星信号下的自主定位方法,用于实现智能系统在无导航卫星信号下的准确自主定位,包括以下步骤:

步骤1:采用ndt-om地图生成方法初始化形成基于三维激光雷达扫描数据的ndt-om局部地图,所述ndt-om地图生成方法为:

将智能系统周围的空间规则地细分成大小一定的栅格单元ci,ci中测量点个数为n,其中第k个测量点为xk∈r3,ci位置处测量点的平均值为ci位置处测量点的协方差矩阵为ci表示为:

ci={ui,pi,ni,p(mi|z1:t)}(1)

其中,u为均值,ni是估计正态分布参数所使用的点数,p(mi|z1:t)为栅格单元被占有的概率,其利用平均值和协方差矩阵建立的正态分布模型来度量某个位置样本zk位于栅格单元ci内的概率,即:

对于三维测量数据,每个ndt-om三维空间栅格单元中需要保存的最少参数为11个,即x、y、z三个方向的3个平均值和6个协方差、栅格单元ci中的激光点数量、栅格单元ci被占用的概率值;

对于新获得的测量值信息,系统将更新每个栅格单元的概率值进行地图更新,假设有两组测量点值m,n均为小于或等于n的正整数,采用下列公式对其进行融合,得到新的栅格单元概率值:

ux为x的均值,uy是y的均值,令则组合后的协方差估计值为:

其中,

经推导可得:

但以上更新方法未考虑环境动态变化的情况,为此增加了射线跟踪步骤,其目的是评估位于传感器原点(传感器射线发射中心)和测量点之间直线上的所有栅格单元,对于不包含测量点的栅格单元则计数值加1,并利用以下对数概率公式对栅格单元占用概率进行估计:

其中,l(mk|z1:t-1)是在获得1到t-1时刻观测的情况下占用栅格mk的概率,np是zt数据集合中落入栅格单元的数量,ne是栅格单元被观察为空的次数,po为栅格单元当被测量为占有时的占有概率,pe为栅格单元被观察为空时的占有概率。

综上所述,ndt-om地图生成的基本步骤为:

(1)采集三维测量数据,更新测量数据对象;

(2)利用测量数据对象更新地图栅格单元;

(3)重新计算各栅格单元模型参数;

(4)返回(1);

步骤2:采用ndt-d2d匹配方法将利用步骤1的方法生成的通过三维激光雷达扫描生成的当前时刻的新的局部地图与利用步骤1的方法生成的通过三维雷达扫描生成的前一时刻的局部地图进行匹配。

所述ndt-d2d匹配方法是通过最小化两个三维激光雷达数据形成的ndt-om局部地图之间的距离l2,实现当前时刻与前一时刻局部地图的匹配。其主要过程为:

假设一组参考激光雷达扫描点为f,附近位置处的一组动态扫描点为μ,mndt(f)与mndt(μ)分别指对这两组扫描点采用步骤1中利用ndt-om的方式进行建模生成的局部地图,设t'为两张地图的平移方程,θ为其参数,t'(μ,θ)即为两组扫描点的平移方程,则两张ndt-om局部地图mndt(f)与mndt(μ)之间的距离l2定义为:

p表示概率密度;上式等价为:

当上述方程可以表示为renyi’s二次熵之和时,即会有关两张地图的距离项,renyi’s二次熵定义为:

hrqe(p(x))=-∫p2(x)dx(10)

获取的两张局部地图的最小距离项为:

∫ν(x|μi,∑i)ν(x|μj,∑j)dx=ν(0|μi-μj,∑i+∑j)(11)

其中,∑i,∑j为高斯分布的方差,i为mndt(μ)里的第i个栅格单元的序号,j为mndt(f)里的第j个栅格单元的序号,n为高斯分布密度函数(方差是sigma),x为变量,μi,μj分别为两张地图对应高斯模型的均值,将该距离项最小化,即会获取两张局部ndt-om地图的最小距离l2的最终表达式为:

mndt(μ)、mndt(f)中分别有n个栅格单元,μ(n)表示mndt(μ)里第n个栅格单元,f(n)表示mndt(f)里第n个栅格单元,t(·,θ)为平移变化矩阵,旋转矩阵为r,将其用欧拉角参数化来表示,转换矩阵的可以用向量p={tx,ty,tz,rx,ry,rz}来表示,t={tx,ty,tz}为平移参数,rx、ry、rz为三个方向的欧拉角,则获取两张ndt-om局部地图的最小距离l2方程为:

其中,d1、d2为设置的扫描参数,μij(p)为平均的矢量距离,即μij(p)=rμi+t-μj;

如果距离l2小于预先设置的阈值,则基于ndt融合算法,用新的扫描数据更新该两张局部地图,而后继续处理新的数据;如果该距离大于预先设定的阈值,则初始化一个新的ndt-om局部地图,每一时刻计算的是当前时刻局部地图和前一刻的2个局部地图,随着时间变化,对应多个时刻即多个地图,因此,如果有多个局部地图,则通过批处理扩展卡尔曼滤波(boekf)方法融合里程计、ins信息,获取智能系统的位置估计值,以获取两张局部ndt-om地图之间的相对位置约束,即局部地图原点之间的距离,如果该距离小于设定的阈值,则再次利用ndt-d2d算法对两个局部地图进行匹配。如果地图匹配成功,则给图增加新的相对位置约束,直至闭环。

步骤3:局部地图匹配完成后,融合里程计、ins获取的位姿估计信息与该局部地图匹配量信息,同步完成自主定位。

步骤4:进行闭环探测。进行地图的索引值评估,当两个索引值超过阈值,则认为探测到了闭环。

步骤5:探测到闭环后,进行slam后端优化,采用isam库实现,优化slam中的稀疏非线性问题。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1