基于自适应晶格卡尔曼滤波的移动机器人状态估计及自主导航方法

文档序号:28944598发布日期:2022-02-19 08:21阅读:115来源:国知局
基于自适应晶格卡尔曼滤波的移动机器人状态估计及自主导航方法

1.本发明涉及移动机器人自主导航技术领域,具体涉及一种基于自适应晶格卡尔曼滤波的移动机器人状态估计及自主导航方法。


背景技术:

2.随着人工智能和机器人技术的快速发展,移动机器人在慢慢应用到社会的各个领域,比如办事助理、agv搬运、安保巡逻、灾难救援、空间探测、变电站巡检等等。移动机器人在未知环境中对多传感器采集的数据进行融合,对未知环境标志物进行地图构建以及定位自身位置。机器人的环境感知和精确定位问题是移动机器人实现自主导航的关键技术,是研究移动机器人的热门领域,其被誉为移动机器人界的“圣杯”。
3.同步地定位与地图创建(simultaneous localization and mapping,slam)技术,是解决机器人在未知环境中导航问题的最佳手段。机器人的slam技术在移动过程中通过传感器来精确估计自身位姿,同时增量式的构建真实环境地图。slam问题的求解方法可分为基于平滑的方法和基于滤波器的方法。基于滤波器的方法主要利用递归贝叶斯估计原理来实现,现有扩展卡尔曼滤波(ekf)-slam技术解决了卡尔曼滤波只能处理线性高斯系统的限制,但ekf是利用泰勒展开的一阶项来近似非线性系统,无法处理强非线性系统问题,处理过程中出现的截断误差严重影响了机器人的导航定位精度以及雅克比矩阵的求解大大增加计算度。


技术实现要素:

4.本发明提供一种基于自适应晶格卡尔曼滤波(alkf)的移动机器人状态估计及自主导航方法,以解决现有的slam技术无法处理非线性不确定系统、定位导航精度不高、计算量大的技术问题。
5.为解决上述技术问题,本发明采用如下技术方案:
6.设计一种基于自适应晶格卡尔曼滤波的移动机器人状态估计及自主导航方法,包括:
7.s1)初始化移动机器人的初始状态和初始方差p0:
[0008][0009][0010]
式中,e表示期望,为零时刻即移动机器人起始点的坐标位置(x,y)和方位角(θ);
[0011]
s2)对移动机器人的位置、方位角等状态进行采样,得到状态的晶格采样点集为:
[0012]
[0013]
式中,χ
k-1,i
为移动机器人第k-1时刻的状态的第i个采样点,共有n个样本点;表示的是p
k-1
平方根的第i列向量;si为状态采样点的权值;
[0014]
s3)对移动机器人第k步的状态进行一步预测:
[0015][0016][0017]
式中,为第i个采样点的预测值;为移动机器人的状态预测值;
[0018]
s4)获取方差的一步预测:
[0019][0020]
式中,为移动机器人的一步预测误差;q
k-1
为过程噪声的方差;
[0021]
s5)对步骤s3)中的状态一步预测重新进行晶格采样:
[0022][0023]
式中,为的第i个采样点;
[0024]
s6)计算量测预测值和量测预测方差p
zz

[0025][0026][0027][0028]
式中,z
k,i
为第i个采样点的量测预测值;为移动机器人的量测预测值;为移动机器人量测预测方差;
[0029]
s7)为了提高自适应晶格卡尔曼滤波算法的稳定性,引入自适应算法增加噪声估计器,以确保状态估计误差方差保持正定,设计量测方差和状态方差来逼近方差真实值,
[0030]
量测方差根据量测残差计算,对于自适应晶格卡尔曼滤波,的估计公式:
[0031][0032]
式中,
[0033]
[0034][0035]
状态方差由衰减系数μk调整,其计算公式为:
[0036][0037][0038]
式中,
[0039][0040][0041][0042][0043][0044]
s8)计算滤波增益矩阵kk:
[0045][0046][0047][0048]
式中,p
zz
为自适应后的移动机器人量测预测方差;p
xz
为状态预测值与量测预测值的方差;
[0049]
s9)更新状态:
[0050][0051]
s10)计算状态估计误差的方差pk:
[0052][0053][0054]
其中p
k,k-1
为自适应过后的状态方差,
[0055]
s11)循环迭代步骤s1)至步骤s1),得到移动机器人的状态估计值
[0056]
进一步的,所述步骤s2)中,得到状态的晶格采样点集的方法如下:利用确定的晶格点逼近多元积分的拟蒙特卡罗方法(qmc)。在这里,生成的格点由正态累积分布的逆映射
函数对格点进行变换,得到样本点的权重。为了简化计算和提高计算效率,采用秩为1格的晶格规则对进行采样,是一种产生低差点的模化算术方法。
[0057]
对状态采样用秩为1格的晶格规则如下:
[0058][0059]
式中,g(a)包含d个整数[a0,a2,a3,...,a
d-1
]
t
,a是一个具有点数n的互质整数。
[0060]
为了获得无偏积分计算并提高估计精度,根据克兰利-帕特森位移方法(模1位移)生成随机位移格点,则状态采样的位移格点及其权重为:
[0061][0062][0063]
式中,δ是一个位移因子,它由超立方体上均匀分布生成的[0,1)d,si为状态采样的位移晶格点的权重,φ-1
是一维正态累积分布φ的逆映射函数
[0064]
本发明的第二方面是:
[0065]
设计一种基于自适应晶格卡尔曼滤波的移动机器人自主导航方法,包括如下步骤:
[0066]ⅰ)建立移动机器人的导航系统模型方程,并初始化;
[0067][0068][0069]
其中,为k时刻移动机器人的坐标位置(x,y)和方位角(θ),是控制量,vk为移动机器人的速度,γk为轮子的方位角,zk是量测量测值,为特征点的坐标,w
k-1
和vk分别为系统噪声和量测噪声;
[0070]ⅱ)建立slam概率模型并采用贝叶斯滤波进行预测和更新;
[0071]ⅲ)采用上所述移动机器人状态估计方法对机器人的位置和方位角进行更新并输出。
[0072]
进一步的,在所述步骤ⅱ)中,建立slam概率模型为式中为k时刻的地图特征点;首先预测,通过移动机器人的运动模型和k-1时刻的后验概率分布获得k时刻的先验概率分布:
[0073]
[0074]
其次是观测更新,利用传感器k时刻的量测测数据zk对先验概率分布进行矫正,获得后验概率分布:
[0075][0076]
式中,η为归一化系数。
[0077]
进一步的,在所述步骤ⅰ)中,wk和vk的方差阵分别为qk和rk,并且满足:
[0078][0079]
进一步的,
[0080]
与现有技术相比,本发明的有益技术效果在于:
[0081]
本发明对于移动机器人的系统模型的噪声方差是否精确已知没有要求,并通过减少状态采样点,降低计算复杂度和计算成本,提高状态估计的精度和数值稳定性。首先,利用晶格采样点,根据量测残差序列和方差,修正了量测方差。其次,利用基于上述修正的量测方差和晶格采样点设计的衰减因子对状态方差进行了修正。本发明的alkf-slam算法,有利于提高移动机器人在未知环境中地图构建和自身定位的精度。
附图说明
[0082]
图1为本发明在移动机器人导航时使用lkf(晶格卡尔曼滤波)-slam和自适应alkf-slam算法的x轴均方根误差对比图。
[0083]
图2为本发明在移动机器人导航时使用lkf-slam和自适应lkf-slam算法的y轴的均方根误差对比图。
具体实施方式
[0084]
下面结合附图和实施例来说明本发明的具体实施方式,但以下实施例只是用来详细说明本发明,并不以任何方式限制本发明的范围。
[0085]
实施例1:一种设计一种基于自适应晶格卡尔曼滤波的移动机器人状态估计方法,包括如下步骤:
[0086]
s1)初始化移动机器人的初始状态和初始方差p0:
[0087][0088][0089]
式中,e表示期望,为零时刻即移动机器人起始点的坐标位置(x,y)和方位角(θ);
[0090]
s2)对移动机器人的位置、方位角等状态进行采样,得到状态的晶格采样点集为:
[0091][0092]
式中,χ
k-1,i
为移动机器人第k-1时刻的状态的第i个采样点,共有n个样本点;表示的是p
k-1
平方根的第i列向量;si为状态采样点的权值;
[0093]
上式对状态进行晶格采样的方法如下:
[0094]
利用确定的晶格点逼近多元积分的拟蒙特卡罗方法(qmc)。在这里,生成的格点由正态累积分布的逆映射函数对格点进行变换,得到样本点的权重。为了简化计算和提高计算效率,采用秩为1格的晶格规则对进行采样,是一种产生低差点的模化算术方法。
[0095]
对状态采样用秩为1格的晶格规则如下:
[0096][0097]
式中,g(a)包含d个整数[a0,a2,a3,...,a
d-1
]
t
,a是一个具有点数n的互质整数。
[0098]
为了获得无偏积分计算并提高估计精度,根据克兰利-帕特森位移方法(模1位移)生成随机位移格点,则状态采样的位移格点及其权重为:
[0099][0100][0101]
式中,δ是一个位移因子,它由超立方体上均匀分布生成的[0,1)d,si为状态采样的位移晶格点的权重,φ-1
是一维正态累积分布φ的逆映射函数
[0102]
s3)对移动机器人第k步的状态进行一步预测:
[0103][0104][0105]
式中,为第i个采样点的预测值;为移动机器人的状态预测值;
[0106]
s4)获取方差的一步预测:
[0107][0108]
式中,为移动机器人的一步预测误差;q
k-1
为过程噪声的方差;
[0109]
s5)对状态一步预测的进行重新晶格采样:
[0110][0111]
式中,为的第i个采样点;
[0112]
s6)计算量测预测值和量测预测方差p
zz

[0113][0114]
[0115][0116]
式中,z
k,i
为第i个采样点的量测预测值;为移动机器人的量测预测值;为移动机器人量测预测方差;
[0117]
s7)为了提高晶格卡尔曼滤波算法的稳定性,引入自适应算法增加了噪声估计器,以确保状态估计误差方差保持正定。设计了量测方差和状态方差来逼近方差真实值。
[0118]
量测值的方差根据量测量测残差计算。对于自适应晶格卡尔曼滤波方法,的估计公式:
[0119][0120]
式中,
[0121][0122][0123]
状态方差由衰减系数μk调整,其计算公式为:
[0124][0125][0126]
式中,
[0127][0128][0129][0130][0131][0132]
s8)计算滤波增益矩阵kk:
[0133]
[0134][0135][0136]
式中,p
zz
为自适应后的移动机器人量测预测方差;p
xz
为状态预测值与量测预测值的方差;
[0137]
s9)更新状态:
[0138][0139]
s10)计算状态估计误差的方差pk:
[0140][0141][0142]
其中p
k,k-1
为自适应过后的状态方差。
[0143]
s11)循环迭代步骤s1)至步骤s1),得到移动机器人的状态估计值
[0144]
基于自适应晶格卡尔曼滤波-slam的移动机器人自主导航方法,包括如下步骤:
[0145]ⅰ)建立移动机器人的导航系统模型方程,并初始化如下;
[0146][0147][0148]
其中,为k时刻移动机器人的坐标位置(x,y)和方位角(θ),是控制量,vk为移动机器人的速度,γk为轮子的方位角,zk是量测量测值,为特征点的坐标,w
k-1
和vk分别为系统噪声和量测噪声;
[0149]ⅱ)建立slam概率模型并采用贝叶斯滤波进行预测和更新;
[0150]ⅲ)采用上所述移动机器人状态估计方法对机器人的位置和方位角进行更新并输出。
[0151]
在所述步骤ⅱ)中,建立slam概率模型式中为k时刻的地图特征点;
[0152]
首先预测,通过移动机器人的运动模型和k-1时刻的后验概率分布获得k时刻的先验概率分布:
[0153]
[0154]
其次是观测更新,利用传感器k时刻的量测测数据zk对先验概率分布进行矫正,获得后验概率分布:
[0155][0156]
式中,η为归一化系数。
[0157]
在所述步骤ⅰ)中,wk和vk的方差阵分别为qk和rk,并且满足:
[0158][0159]
进一步的,
[0160]
上面结合附图和实施例对本发明作了详细的说明,但是,所属技术领域的技术人员能够理解,在不脱离本发明宗旨的前提下,还可以对上述实施例中的各个具体参数进行变更,形成多个具体的实施例,均为本发明的常见变化范围,在此不再一一详述。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1