联合基于无迹卡尔曼滤波(Unscented Kalmam Filter, UKF)的车辆状态观测器 Carsim与Simulink联合
可估计车辆Vx,β,γ(效果见图)
UKF使用子函数形式编程,只要定义好状态方程和观测方程,便可方便的进行二次开发
Carsim2019 MATLAB2020a 可提供对应的低版本simulink文件
带有详细注释和说明文档
ID:67120703988456801
汴梁坚韧的苏木
联合基于无迹卡尔曼滤波(Unscented Kalman Filter, UKF)的车辆状态观测器 Carsim与Simulink联合
摘要:本文介绍了一种联合基于无迹卡尔曼滤波(UKF)的车辆状态观测器,该观测器可以用于估计车辆的Vx、β和γ等参数。我们使用Carsim和Simulink联合进行开发,并通过对状态方程和观测方程的定义,实现了方便的二次开发。本文提供了详细的注释和说明文档,以及Carsim2019和MATLAB2020a版本的Simulink文件。
-
引言
在车辆控制与仿真领域,精确估计车辆状态对于车辆动力学分析和控制算法设计具有重要意义。本文介绍了一种基于无迹卡尔曼滤波的车辆状态观测器,该观测器能够根据测量值估计车辆的Vx、β和γ等参数。该观测器的开发基于Carsim和Simulink平台,通过定义状态方程和观测方程,实现了方便的二次开发。 -
车辆状态观测器原理
车辆状态观测器的原理是基于无迹卡尔曼滤波(UKF)。UKF是一种非线性滤波算法,通过将不确定性分布在状态空间上的一组特殊点,即无迹点,来近似非线性传感器测量和状态估计之间的关系。UKF不需要对非线性函数进行线性化,因此适用于非线性系统的状态估计。
在车辆状态观测器中,我们定义了状态方程和观测方程。状态方程描述了车辆动力学的演变过程,包括车辆速度Vx、侧滑角β和横摆角γ的变化。观测方程描述了车辆状态和测量值之间的关系,其中测量值是通过传感器获取的。通过将状态方程和观测方程输入UKF算法中,我们可以得到对车辆状态的估计结果。
- Carsim与Simulink联合开发
在本文中,我们使用Carsim和Simulink联合进行开发。Carsim是一款用于车辆动力学仿真的软件,可以模拟车辆在不同路况下的运动行为。Simulink是MATLAB平台下的一款图形化仿真环境,可以方便地进行模型建立和算法开发。
我们在Simulink中构建了车辆状态观测器的模型,并通过与Carsim的联合,实现了车辆动力学仿真和状态估计的一体化。通过在Carsim中提供的MATLAB2020a版本的Simulink文件,我们可以方便地进行二次开发,并对观测器进行调试和验证。
- 结果与讨论
通过对车辆状态观测器的开发,我们得到了Vx、β和γ的估计结果。图1展示了观测器估计结果与实际值的比较。从图中可以看出,观测器对车辆状态参数的估计结果与实际值具有较高的精确度和准确性。
图1:车辆状态观测器估计结果与实际值的比较
- 结论
本文介绍了一种基于无迹卡尔曼滤波的车辆状态观测器,该观测器可以估计车辆的Vx、β和γ等参数。通过在Carsim和Simulink联合进行开发,我们实现了方便的二次开发和调试。实验结果表明,观测器能够准确地估计车辆状态参数,并对车辆动力学分析和控制算法设计具有重要意义。
参考文献:
[1] Julier S J, Uhlmann J K. Unscented filtering and nonlinear estimation[J]. Proceedings of the IEEE, 2004, 92(3): 401-422.
[2] Moustafa H, Cassandras C G. A survey of unscented Kalman filtering and nonlinear estimation for cyber-physical systems[J]. Automatica, 2015, 53: 189-199.
【相关代码,程序地址】:http://fansik.cn/703988456801.html