一种基于AugmentedEKF的提高里程计精度的方法与流程

专利2022-06-29  111


本发明涉及动态系统估算技术领域,更具体地说是涉及一种基于augmentedekf的提高里程计精度的方法。



背景技术:

目前,里程计作为对移动机器人agv进行航位推算的主要传感器,具有稳定性高、成本低的特点;但是,agv中里程计的精度主要取决于对agv物理模型的估算,而在agv硬件制作工艺和环境温度导致的硬件形变等因素的限制下,其物理模型实际上是动态变化的,传统的基于里程计的agv航位推算精度受限于agv错误的物理模型,导致航位推算结果随着时间的累计误差不断增大,极大的降低了对agv定位的精度。

卡尔曼滤波是一种高效的自回归滤波,能够在存在诸多不确定性情况的组合信息中估计动态系统的状态,非常适合不断变化的系统,且内存占用较小、速度快,是实时问题和嵌入式系统的理想选择。

因此,如何将agv的物理模型参数拟合到卡尔曼滤波中,根据agv的全局定位动态估算物理模型的参数值,以期提高里程计的精度,是本领域技术人员亟待解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种基于augmentedekf的提高里程计精度的方法,通过将agv的物理模型参数拟合到卡尔曼滤波中,再通过扩展卡尔曼滤波融合全局定位的信息,计算出agv物理模型参数,以期提高里程计精度。

为了实现上述目的,本发明采用如下技术方案:

一种基于augmentedekf的提高里程计精度的方法,包括如下步骤:

s1、将移动机器人agv的初始状态量xk-1以及初始状态量xk-1的协方差矩阵pk-1输入至预测模型中,获得预测状态量和预测状态量的协方差矩阵

s2、将预测状态量和预测状态量的协方差矩阵作为更新过程的输入,输入至更新模型中,获得更新状态量

s3、将获得的更新状态量导入agv运动学模型,里程计根据动态的agv物理模型参数进行航位推算。

具体的,设定初始状态量xk-1=[xyθrlrrd];其中,x,y为agv的初始位置坐标值,θ为agv的偏转角度值,rl和rr分别表示agv两个左轮和右轮的半径,d表示agv左轮和右轮之间的距离。

具体的,预测阶段的卡尔曼滤波的动态方程为其中,k为时间点,vk为在k时间点获得的里程计线速度,wk为在k时间点获得的里程计的转向速度;预测状态量的不确定性用协方差更新方程表示,其中,为预测状态量的协方差,a为状态转换jacobian矩阵,q为过程噪声矩为阵,在agv状态转移的过程中,除了状态具有不确定性外,移动也具有不确定性,将移动的不确定性定义为过程噪声矩阵q,该噪声源于外部干扰和系统误差,例如agv左轮或者右轮打滑等,总体的不确定度即过程不确定度之和。

具体的,所述初始状态量xk-1=[xyθrlrrd]在卡尔曼滤波中的动态方程为:

具体的,在每次循环中的jacobian矩阵a为:

其中,

wl为左轮的角速度,wr为右轮角速度,具体的,agv的角度与偏转角度值θ直接通过全局观测获得,当输入观测结果时,执行更新过程;观测结果和状态量之间的转换公式为:其中,h为状态量和观测结果的转换关系,z为观测状态,u为观测噪声。状态观测的物理意义为并非所有的状态都可以观测到,传感器观测状态量存在局限,例如,状态量中包含距离和速度,如果传感器观测距离,那么速度就无法观测,另外,在观测中还存在尺度的变化,因此观测结果和状态量之间需要进行转换。

具体的,所述状态量和观测结果的转换关系h=[i3o3];其中,i3为单位矩阵,o3为零矩阵。

具体的,更新模型的卡尔曼增量为:更新状态量更新状态量的协方差矩阵其中,所述kk表示k时刻的卡尔曼增益,r表示观测误差的协方差矩阵,表示观测值和预测值的残差,即观测噪声u。

具体的,将所述状态转换jacobian矩阵a和状态量和观测结果的转换关系h带入更新模型中,动态获得rl、rr和d的值。

具体的,所述步骤s3中导入agv运动学模型的更新状态量包括rl、rr和d。

本发明具有以下有益效果:

经由上述的技术方案可知,基于现有技术,本发明提出了一种基于augmentedekf的提高里程计精度的方法,确保里程计在进行航位推算时,能够动态校准agv物理模型参数,减少噪声的干扰,提高了里程计航位推算的精确度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为基于augmentedekf的提高里程计精度的方法流程图;

图2为雷达与地图完全匹配的初始图;

图3(a)(b)校准前后只基于里程计的3次360度逆时针旋转的航位推算的对比图,图3(a)为未经过校准的只基于里程计的3次360度逆时针旋转的航位推算图,图3(b)为经过校准的只基于里程计的3次360度逆时针旋转的航位推算图。

具体实施方式

下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明提供了如下方法:

一种基于augmentedekf的提高里程计精度的方法,该方法分为预算阶段和更新阶段;

当有里程计数据输入时执行预测阶段,预测阶段过程如下:

s1、将移动机器人agv的初始状态量xk-1以及初始状态量xk-1的协方差矩阵pk-1输入至预测模型中,获得预测状态量和预测状态量的协方差矩阵

首先设定初始状态量xk-1=[xyθrlrrd];其中,x,y为agv的初始位置坐标值,θ为agv的偏转角度值,rl和rr分别表示agv两个左轮和右轮的半径,d表示agv左轮和右轮之间的距离。

具体的,卡尔曼滤波的动态方程为其中,k为时间点,vk为在k时间点获得的里程计线速度,wk为在k时间点获得的里程计的转向速度;

具体的,初始状态量xk-1=[xyθrlrrd]在卡尔曼滤波中的动态方程为:

卡尔曼滤波中所有状态均为高斯分布,分布的中心值就是状态值估计值,不确定性即为协方差矩阵,因此,预测状态量的不确定性用协方差更新方程表示,其中,为预测状态量的协方差,a为状态转换jacobian矩阵,q为过程噪声矩阵,该噪声源于外部干扰和系统误差,例如agv轮子打滑,由于预测过程符合全概率法则,因此,总体的不确定度为过程不确定度的叠加。

在每次循环中的jacobian矩阵a为:

其中,

wl为左轮的角速度,wr为右轮角速度,

由此获得了状态转换jacobian矩阵a的值;此时,状态量和协方差均得到了预测。

当有全局观测值输入时执行更新步骤,更新阶段步骤如下:

s2、将预测状态量和预测状态量的协方差矩阵作为更新过程的输入,输入至更新模型中,获得更新状态量

更新模型的卡尔曼增量为:更新状态量更新状态量的协方差矩阵其中,所述kk表示k时刻的卡尔曼增益,r表示观测误差的协方差矩阵,表示观测值和预测值的残差,即观测噪声u。

agv的位置(x,y)与偏转角度值θ直接通过全局观测获得,全局观测的位置和偏转角度值可以从自适应蒙特卡洛粒子滤波(amcl)中导出,也可以从其他全局定位方法,例如超宽带uwb,或者基于路标的定位系统中导出。当输入观测结果时,执行更新过程;观测结果和状态量之间的转换公式为:其中,h为状态量和观测结果的转换关系,z为观测状态,u为观测噪声。具体的,状态观测的物理意义即不能观测到agv的全部状态,例如状态量中包含距离和速度两个量,如果传感器观测距离量,则无法观测速度量,另外还存在观测尺度上的变化,因此观测结果和状态量之间需要转换,为该过程的转换公式。

其中,状态量和观测结果的转换关系h=[i3o3];其中,i3为单位矩阵,o3为零矩阵。

因此将状态转换jacobian矩阵a和状态量和观测结果的转换关系h带入更新模型中,即获得了更新状态量的值,即能够动态获得rl、rr和d的值。

s3、将获得的agv物理模型参数rl、rr和d的值导入agv运动学模型,里程计根据动态的agv物理模型参数进行航位推算。

如图2所示,为雷达与地图完全匹配的初始图,白色点运为雷达读数。

如图3(a)(b)所示,为校准前后的只基于里程计的3次360度逆时针旋转的航位推算图,图3(a)为未经过校准的只基于里程计的3次360度逆时针旋转的航位推算图,图3(b)为经过校准的只基于里程计的3次360度逆时针旋转的航位推算图。很显然校准前如图3(a)所示,里程计对agv的航位推算与初始图2有较大偏差,而经卡尔曼滤波校准后,如图3(b)所示,里程计对agv的航位推算的校准较精确。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。


技术特征:

1.一种基于augmentedekf的提高里程计精度的方法,其特征在于,包括如下步骤:

s1、将移动机器人agv的初始状态量xk-1以及初始状态量xk-1的协方差矩阵pk-1输入至预测模型中,获得预测状态量和预测状态量的协方差矩阵

s2、将预测状态量和预测状态量的协方差矩阵作为更新过程的输入,输入至更新模型中,获得更新状态量

s3、将获得的更新状态量导入agv运动学模型,里程计根据动态的agv物理模型参数进行航位推算。

2.根据权利要求1所述的一种基于augmentedekf的提高里程计精度的方法,其特征在于,设定初始状态量xk-1=[xyθrlrrd];其中,x,y为agv的初始位置坐标值,θ为agv的偏转角度值,rl和rr分别表示agv两个左轮和右轮的半径,d表示agv左轮和右轮之间的距离。

3.根据权利要求1所述的一种基于augmentedekf的提高里程计精度的方法,其特征在于,预测阶段的卡尔曼滤波的动态方程为其中,k为时间点,vk为在k时间点获得的里程计线速度,wk为在k时间点获得的里程计的转向速度;预测状态量的不确定性用协方差更新方程表示,其中,为预测状态量的协方差,a为状态转换jacobian矩阵,q为过程噪声矩阵。

4.根据权利要求1所述的一种基于augmentedekf的提高里程计精度的方法,其特征在于,所述初始状态量xk-1=[xyθrlrrd]在卡尔曼滤波中的动态方程为:

5.根据权利要求1所述的一种基于augmentedekf的提高里程计精度的方法,其特征在于,在每次循环中的jacobian矩阵a为:

其中,

wl为左轮的角速度,wr为右轮角速度,

6.根据权利要求1所述的一种基于augmentedekf的提高里程计精度的方法,其特征在于,agv的角度与偏转角度值θ直接通过全局观测获得,当输入观测结果时,执行更新过程;观测结果和状态量之间的转换公式为:其中,h为状态量和观测结果的转换关系,z为观测状态,u为观测噪声。

7.根据权利要求6所述的一种基于augmentedekf的提高里程计精度的方法,其特征在于,所述状态量和观测结果的转换关系h=[i3o3];其中,i3为单位矩阵,o3为零矩阵。

8.根据权利要求1所述的一种基于augmentedekf的提高里程计精度的方法,其特征在于,更新模型的卡尔曼增量为:

更新状态量更新状态量的协方差矩阵其中,所述kk表示k时刻的卡尔曼增益,r表示观测误差的协方差矩阵,表示观测值和预测值的残差,即观测噪声u。

9.根据权利要求8所述的一种基于augmentedekf的提高里程计精度的方法,其特征在于,将所述状态转换jacobian矩阵a和状态量和观测结果的转换关系h带入更新模型中,动态获得rl、rr和d的值。

10.根据权利要求1所述的一种基于augmentedekf的提高里程计精度的方法,其特征在于,所述步骤s3中导入agv运动学模型的更新状态量包括rl、rr和d。

技术总结
本发明提出了一种基于Augmented EKF的提高里程计精度的方法,包括如下步骤:S1、将移动机器人AGV的初始状态量Xk‑1以及初始状态量Xk‑1的协方差矩阵Pk‑1输入至预测模型中,获得预测状态量和预测状态量的协方差矩阵S2、将预测状态量和预测状态量的协方差矩阵作为更新过程的输入,输入至更新模型中,获得更新状态量S3、将获得的更新状态量导入AGV运动学模型,里程计根据动态的AGV物理模型参数进行航位推算。通过将AGV的物理模型参数拟合到卡尔曼滤波中,再通过扩展卡尔曼滤波融合全局定位的信息,计算出AGV物理模型参数,确保里程计在进行航位推算时,能够动态校准AGV物理模型参数,减少噪声的干扰,提高了里程计航位推算的精确度。

技术研发人员:邓耀桓;梁治谋
受保护的技术使用者:广州蓝胖子机器人有限公司
技术研发日:2020.02.19
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-14910.html

最新回复(0)