路面附着系数估计思路介绍(新手入门)

2023-10-08 03:30

本文主要是介绍路面附着系数估计思路介绍(新手入门),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

路面附着系数估计思路介绍(新手入门)

写本文的出发点

很多小伙伴咨询我关于路面附着系数估计方面的问题,现成的模型,我有,但不能保证其百分百的严谨。鉴于此,抛砖引玉,对一种估计思路进行简单介绍。

理论部分

实际上,路面附着系数的估计已经有了比较多的研究,理论部分也很成熟,这里给出一部分参考文献【1-4】.包含了对**车辆动力学模型、系统方程、扩展卡尔曼滤波(EKF)、无迹卡尔曼滤波(UKF)**的建立和配合使用。

仿真部分

(1)联合仿真
仿真部分现在多用CarSim/TruckSim与Matlab/Simulink进行联合仿真实现。一般的仿真思路是,通过车辆动力模型建立状态方程和测量方程,再结合滤波算法对系数进行估计

由于很多新手(刚接触卡尔曼滤波的小伙伴)被卡尔曼滤波程序绕的团团转,这里着重提一下Simulink中自带的卡尔曼滤波模块(在Library Browser里搜索,包含UKF、EKF等在内)。关于本模块的使用,你只需要明白输入是什么,输出是什么(具体参考Matlab help 文档),滤波的具体过程Simulink帮你做了,也可以达到最终的估计效果。不过如果要长期从事估计的同学,还是建议把卡尔曼滤波这块代码搞明白了。EKF模块如图1所示,联合仿真输入如图2所示。
图1 Extended Kalman Filter模块
图2 联合仿真CarSim输入界面
(2)Simulink全仿真
或者也可以只用Matlab/Simulink进行仿真,与联合仿真的不同在于,联合仿真的输入信号来源于CarSim软件发出的工况信息,而Simulink全仿真是需要根据车辆动力学理论自建一个类似于CarSim的仿真系统,之后再发信号给信号处理部分。本仿真系统的建立非常考验车辆动力学基础知识,而且搭建过程容易报错,可能会出现一些莫名代数环问题,要多次调试才能得到理想结果。仿真系统如图3所示。
在这里插入图片描述图3 Simulink自建仿真系统展示

创新部分

创新点越多,导师越喜欢,不过路面附着系数估计已经不是一个新话题了,本文介绍的路面附着系数估计思路只是众多研究思路中的一种,而且也可以说是比较久远了,只能是为新手入门提供一个基础性思路,想要创新就只能改变思路。具体怎么个创新法,以后我可能会分享我读到的一些比较好的文献思路。

参考文献

[1]武钟财. 基于扩展卡尔曼滤波的路面附着系数估计算法研究[D].吉林大学,2008.
[2]郑智勇. 基于UKF的半挂汽车列车状态及路面附着系数估计[D].东北大学,2015.
[3]时艳茹. 基于UKF滤波的汽车纵向和侧向速度估计算法研究[D].吉林大学,2011.
[4]张露. 车辆附着极限态稳定性控制试验及其控制算法研究[D].中国农业大学,2016.

这篇关于路面附着系数估计思路介绍(新手入门)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/162413

相关文章

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio