基于扩展卡尔曼滤波(EKF)的车辆状态估计与七自由度车辆动力学模型
一、引言
随着智能交通的不断发展,车辆状态估计是关键技术之一。车辆状态估计能够实时准确地估计车辆状态参数,如质心侧偏角、横摆角速度、车速等,为车辆的自动驾驶和辅助驾驶提供重要的决策支持。本文将基于Dugoff轮胎模型和七自由度(7DOF)车辆动力学模型,采用扩展卡尔曼滤波(EKF)进行车辆状态估计,并使用MATLAB 2018以上版本和CarSim 2020.0进行建模和验证。
二、基于Dugoff轮胎模型的7DOF车辆动力学模型
- 模型构建
基于Dugoff轮胎模型和车身动力学公式,我们搭建了7DOF车辆动力学模型。该模型能够考虑车辆的纵向、横向、垂向运动以及车辆的侧偏、横摆、俯仰等运动。模型中的相关变量包括质心侧偏角、横摆角速度、纵、横向速度及加速度等。
- CarSim对比验证
为了验证模型的准确性,我们使用CarSim对模型进行了对比验证。通过输入不同的驾驶场景和路况信息,我们可以得到CarSim模拟的车辆状态参数,与我们的模型进行对比,以验证模型的准确性。
三、扩展卡尔曼滤波(EKF)在车辆状态估计中的应用
- EKF原理及实现
EKF是一种常用的状态估计方法,它能够在非线性中进行状态估计。在本文中,我们使用EKF来估计车辆的质心侧偏角、横摆角速度及纵向车速。
(1) S函数编写EKF:在MATLAB中,我们可以使用S函数编写EKF算法。S函数是一种用于描述动态的通用框架,我们可以根据EKF的算法流程编写S函数,实现EKF的在线估计。
(2) Simulink自带EKF模块:MATLAB的Simulink提供了EKF模块,我们可以直接在Simulink中调用该模块,实现EKF的在线估计。
- EKF在线性状态方程下的应用
在线性状态方程下,质心侧偏角、横摆角速度的表达式是线性方程。我们可以在此基础上应用EKF进行状态估计。通过将车辆动力学模型的输出作为EKF的观测值,我们可以实时估计出车辆的状态参数。
四、结论
本文基于Dugoff轮胎模型和七自由度车辆动力学模型,采用扩展卡尔曼滤波(EKF)进行车辆状态估计。通过CarSim的对比验证,我们验证了模型的准确性。同时,我们使用了S函数编写EKF和Simulink自带EKF模块两种方式实现了EKF的在线估计。该方法能够实时准确地估计车辆状态参数,为车辆的自动驾驶和辅助驾驶提供了重要的决策支持。
〖〗B10_01.基于扩展卡尔曼滤波(EKF)的车辆状态估计(采用基于Dugoff轮胎的七自由度车辆动力学模型,B09商品基础上建模)
1.: MATLAB 2018以上;CarSim 2020.0
2.商品介绍:
(1)基于Dugoff轮胎模型和车身动力学公式,搭建7DOF车辆动力学Simulink模型,对相关变量(质心侧偏角,横摆角速度,纵、横向速度及加速度)进行CarSim对比验证。
(2)采用EKF估计车辆质心侧偏角、横摆角速度及纵向车速。
包括:S函数编写EKF、Simulink自带EKF模块两种方式。
(3)在线性状态方程下使用的EKF,即质心侧偏角、横摆角速度的表达式是线性方程。