EKF(扩展卡尔曼滤波器)在AGV小车(自动导引车)系统中的工作原理主要分为以下几个步骤:
预测阶段
状态预测:根据AGV小车的运动学模型,利用上一时刻的状态估计值和控制输入,预测当前时刻的状态。例如,对于一个在平面上运动的AGV小车,其运动学模型可能包括位置、速度和方向等状态变量,通过上一时刻的位置、速度和方向,以及当前时刻的控制输入(如速度指令、转向指令等),可以预测出当前时刻的位置、速度和方向。
协方差预测:考虑系统的过程噪声,对状态协方差矩阵进行预测,以反映状态估计的不确定性。过程噪声通常是由于模型的不精确、外部干扰等因素引起的,通过预测协方差矩阵,可以量化这种不确定性,并在后续的更新阶段中进行修正。
更新阶段
观测预测:根据预测的状态值,利用观测模型计算出观测值的预测值。观测模型描述了观测值与状态变量之间的关系,例如,对于使用激光雷达进行定位的AGV小车,观测模型可以根据预测的位置和方向,计算出激光雷达应该观测到的周围环境的特征。
计算卡尔曼增益:根据观测噪声协方差矩阵和预测协方差矩阵,计算卡尔曼增益,用于权衡观测值和预测值的权重。卡尔曼增益的大小取决于观测噪声和预测噪声的相对大小,当观测噪声较小时,卡尔曼增益较大,观测值的权重较大;当预测噪声较小时,卡尔曼增益较小,预测值的权重较大。
状态更新:将观测值与观测预测值的差值乘以卡尔曼增益,得到状态更新量,将其加到预测的状态值上,得到当前时刻的状态估计值。这样可以利用观测值对预测的状态进行修正,提高状态估计的准确性。
协方差更新:根据卡尔曼增益和观测噪声协方差矩阵,对状态协方差矩阵进行更新,以反映更新后的状态估计的不确定性。更新后的协方差矩阵会变小,说明状态估计的不确定性降低了。
迭代过程
EKF通过不断地重复预测和更新步骤,随着时间的推移,逐步提高状态估计的准确性。在每次迭代中,都会根据新的观测值对状态估计进行修正,同时考虑系统的动态特性和观测噪声,从而实现对AGV小车状态的实时估计和跟踪。
线性化处理
由于AGV小车系统的运动方程和观测方程往往是非线性的,EKF通过对非线性函数在估计值附近进行泰勒级数展开,并忽略二阶及以上的高阶项,从而将非线性问题近似为线性问题,能够在一定程度上处理非线性问题,在非线性程度不是特别高的情况下,相比KF能够得到更准确的状态估计。