基于容积卡尔曼滤波(CubatureKalmam Filter, CKF)的车辆状态观测器 Carsim与Simulink联合 可生成C代码
?CKF算法使用子函数形式编程,在定义好状态方程和观测方程的前提下,可以方便的进行二次开发
可估计车辆纵向车速,质心侧偏角(或侧向车速,默认发质心侧偏角),横摆角速度和四个车轮侧向力(效果见图)
Carsim2018 兼容Carsim2019
带有详细注释和说明文档
P.S.一月内可售后
Carsim与Simulink联合估计难度与单纯的Simulink模型估计难度不同
用Carsim做状态估计的难度在于carsim的车辆模型完全是黑箱状态,为了获得较好的估计结果需要不断的调整车辆模型参数
估计的参数较多也增加了估计难度,比如估计侧向车速需要用到轮胎侧向力,但轮胎侧向力也是需要通过估计获得的,这样就会存在误差的累积,因此估计的参数越多难度越大
ID:22219669131372196
让一部分人先把模型搞起来
基于容积卡尔曼滤波(Cubature Kalmam Filter, CKF)的车辆状态观测器 Carsim 与 Simulink 联合,可生成 C 代码。CKF 算法使用子函数形式编程,通过定义好状态方程和观测方程,可以方便地进行二次开发。利用该观测器,可以估计车辆的纵向车速、质心侧偏角(或侧向车速,可以设置默认为质心侧偏角)、横摆角速度和四个车轮的侧向力。
Carsim 2018 兼容 Carsim 2019,该观测器带有详细的注释和说明文档,方便使用者理解和使用。相比于单纯使用 Simulink 模型进行状态估计,Carsim 与 Simulink 联合估计的难度要稍高。
Carsim 的车辆模型是一个完全的黑箱状态,为了获得较好的估计结果,需要不断调整车辆模型的参数。此外,估计的参数越多,难度也就越大。例如,要估计侧向车速,需要使用轮胎的侧向力,但轮胎的侧向力也是通过估计获得的,因此会存在误差的累积。因此,估计的参数越多,难度也就越大。
使用 CKF 算法的优势在于,它能够更准确地估计车辆的状态。传统的卡尔曼滤波算法假设车辆的状态变量服从高斯分布,而实际车辆的状态变量往往不满足这个假设,因此容积卡尔曼滤波算法的出现填补了这一缺口。CKF 算法基于蒙特卡罗积分理论,通过引入一组有效的样本点,能够更好地逼近车辆状态的真实概率分布,从而提高了状态估计的准确性。
在 Carsim 与 Simulink 联合中,可以利用 Carsim 的车辆动力学模型进行状态估计。Carsim 的车辆模型包含了车辆的各种力学参数,能够提供更加准确的动力学模拟结果。通过与 Simulink 联合,可以将 Carsim 的模型作为观测器的输入,从而提高状态估计的精度。
在实际应用中,利用 CKF 算法和 Carsim 与 Simulink 联合进行车辆状态估计,可以应对各种复杂的道路和驾驶情况。例如,在高速公路上,车辆的纵向车速和横摆角速度对于稳定性和安全性至关重要,通过状态估计能够更好地监测和控制车辆的运动。在曲线道路上,侧向车速和质心侧偏角对于车辆的操控性能有重要影响,通过状态估计可以更好地优化车辆的操控性能。
总之,基于容积卡尔曼滤波的车辆状态观测器 Carsim 与 Simulink 联合,可以生成 C 代码,具有较好的状态估计精度。通过与 Carsim 的车辆模型结合使用,能够更准确地估计车辆的状态,为车辆控制和驾驶安全提供有力支持。在实际应用中,可以根据实际需要调整参数,并通过对车辆模型进行适当的调整,以提高状态估计的准确性和可靠性。
相关的代码,程序地址如下:http://nodep.cn/669131372196.html