
✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。
✅ 具体问题可以私信或扫描文章底部二维码。
(1) 驾驶风格的定义与扩展
研究驾驶风格的个性化控制策略前,首先需要定义和理解驾驶风格的内涵。驾驶风格是个体驾驶行为的表现方式,它包含了驾驶技能、驾驶偏好、行为特征、驾驶特性和驾驶习惯等多个方面。针对驾驶风格概念模糊及其多基准耦合的现状,本文提出了一种包含内在机理和外在表现的驾驶风格扩展定义。在这一定义框架下,驾驶风格被分为两个主要维度:内在机理维度(例如驾驶习惯和技能)和外在表现维度(例如速度控制和转向操作)。
为了更好地描述驾驶风格的多重属性,本文将驾驶人抽象为哲学领域的一般客体,利用客体三层次架构建立了驾驶风格的概念框架。在该框架下,内在的驾驶技能与行为特征形成了驾驶风格的基础,而外在的驾驶行为则体现为驾驶风格在道路上的具体表现。通过这种结构描述,能够更立体地展示驾驶风格的内涵及其关系,便于进行后续的个性化设计和控制策略研究。
此外,本文还对现有的驾驶风格理论进行了扩展,提出了基于量化指标的客观识别方法,进一步明确了驾驶技能、驾驶偏好和行为特征之间的关系。通过这一概念框架,本文为驾驶风格的个性化设计提供了理论支持,并为后续的驾驶风格识别和个性化控制策略的实现奠定了基础。
(2) 驾驶风格与车辆动力学特性的匹配
在全线控电动汽车平台上,驾驶风格与车辆动力学特性之间存在着高度的协同匹配关系。本文通过分析驾驶风格的内涵,提出了驾驶风格与车辆动力学特性匹配的内在机理和原理。具体而言,驾驶风格在弯道下的战术决策行为对车辆的操纵稳定性有着至关重要的影响,这种战术决策风格在本文中被称为有效转向行驶模式。
为了对有效转向行驶模式下的驾驶风格进行描述,本文制定了一个多维特征空间,包括工况维度、权衡维度和波动维度。在此基础上,构建了一个包含转向半径、平均车速和车速波动幅度的指标组,反映驾驶人特征点的特性。通过驾驶模拟器实验获取了驾驶人样本的特征点,形成特征集用于训练和测试驾驶风格识别模型。
在驾驶风格识别方面,本文采用了kmeans算法对工况级密集区内的特征点进行预分类,并基于决策树算法搭建了驾驶风格识别模型。通过对驾驶人样本进行标签化,该模型能够在半监督方式下实现对驾驶风格的精确识别。驾驶风格识别模型的输出将为全线控电动汽车驾驶系统提供基础数据,用于实现驾驶风格的个性化控制。
(3) 基于多模式自适应转向特性的驾驶系统设计
全线控电动汽车由于具备四轮独立驱动和独立转向的能力,使得其具有很高的可控自由度和灵活布置的特点。基于此,本文开发了一种采用5层式集成控制且具有多模式自适应转向特性的驾驶系统,以实现驾驶风格的个性化适配。
在该系统中,首先是识别与辨识层,该层不仅负责车辆基本参数的辨识,还需要对驾驶风格和转向意图进行识别。然后是模式配置层,该层布置了体现驾驶人需求的运动参考模型,并将横摆角速度参考模型划分为转向增益和横摆角速度增益两部分。其中,转向增益用于自适应驾驶风格,形成长效模式;横摆角速度增益用于自适应驾驶意图,形成短效模式。长效和短效模式的平滑切换由移动平均窗和余弦函数来实现,以保证驾驶过程中的自然性和平顺性。
运动控制层采用滑模控制算法搭建非线性运动控制器,以计算出车辆目标运动所需的质心虚拟目标力/力矩。该控制器在调校参数时充分考虑了“总扰动”,以提高系统的鲁棒性。力分配层则需要在考虑执行器饱和约束和载荷转移影响的情况下,采用八边形对摩擦圆进行线性拟合,以实现轮胎力的最优分配。最后,执行层将虚拟目标轮胎力转化为执行器可执行命令,即轮毂电机驱动力矩和转向电机的转向角度。
通过CarSim和Matlab/Simulink的联合仿真,本文验证了在多种工况下驾驶系统各模式的有效性和操纵稳定性。此外,还通过驾驶模拟器对运动型驾驶人与舒缓型驾驶人的转向系统进行了主观评价实验。实验结果表明,长效模式逐渐自适应为与驾驶风格类型相匹配的转向模式,并在不同驾驶人之间表现出较好的适应性和稳定性。
综上所述,本文提出了一种基于驾驶风格的个性化全线控电动汽车控制策略,包括驾驶风格的定义与扩展、驾驶风格与车辆动力学特性的匹配,以及多模式自适应转向特性的驾驶系统设计。这些研究不仅为提高驾驶舒适性提供了理论依据,也为驾驶安全性保障提供了有力支持。
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.cluster import KMeans
# 驾驶风格数据特征提取
def extract_features(driving_data):
"""
提取驾驶数据的特征,包括转向半径、平均车速和车速波动幅度
"""
steering_radius = driving_data['steering_radius']
average_speed = np.mean(driving_data['speed'])
speed_fluctuation = np.std(driving_data['speed'])
return [steering_radius, average_speed, speed_fluctuation]
# KMeans预分类
def pre_classify_features(feature_set):
"""
使用KMeans对特征点进行预分类
"""
kmeans = KMeans(n_clusters=3)
labels = kmeans.fit_predict(feature_set)
return labels
# 决策树模型训练
def train_decision_tree(features, labels):
"""
训练驾驶风格识别的决策树模型
"""
clf = DecisionTreeClassifier()
clf.fit(features, labels)
return clf
# 驾驶风格识别
def identify_driving_style(model, new_data):
"""
使用训练好的模型识别新的驾驶数据的风格
"""
features = extract_features(new_data)
style_label = model.predict([features])
return style_label
# 示例驾驶数据
driving_data_sample = {
'steering_radius': 30,
'speed': [60, 62, 61, 59, 63]
}
# 特征提取与分类
features = [extract_features(driving_data_sample)]
labels = pre_classify_features(features)
# 训练驾驶风格识别模型
model = train_decision_tree(features, labels)
# 识别新的驾驶数据
new_data = {
'steering_radius': 28,
'speed': [58, 60, 61, 62, 59]
}
style_label = identify_driving_style(model, new_data)
print(f"识别的驾驶风格标签: {style_label}")

1078

被折叠的 条评论
为什么被折叠?



