
✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。
✅ 具体问题可以私信或扫描文章底部二维码。
(1)横向路径跟踪控制算法与驾驶员模型的建立 在人机横向共享驾驶技术的前期仿真开发过程中,对横向路径跟踪控制算法的需求促使本文首先建立了自动化转向系统的路径跟踪控制算法和模拟驾驶员的驾驶员模型。具体来说,本文提出了具有预瞄驾驶特性的模型预测控制(Model Predictive Control with Pre-scanned Driving Characteristics, PMPC)路径跟踪控制算法,以及反映真实驾驶过程的单视角驾驶员模型。通过在汽车动力学仿真软件CarSim和数学软件工具MATLAB/Simulink中搭建联合仿真程序,并使用双移线工况验证了PMPC跟踪控制算法的跟踪性能,结果表明其在跟踪精度和运行速度方面相较于传统模型预测控制路径跟踪控制算法有所改善。此外,单视角驾驶员模型的理论收敛性得到了证明,并提出了基于比例控制的转向转化控制过程,通过最小二乘法调节驾驶员模型的预瞄距离以拟合出理想的运行结果
。
(2)人机横向驾驶控制权限分配策略 针对人机横向共享驾驶的驾驶控制权限分配问题,本文建立了基于讨价还价博弈模型的人机横向驾驶控制权限分配策略。将驾驶员和自动化转向系统视为二元智能体系统,综合考虑防碰撞安全性收益、参与度收益和舒适性收益等因素,通过纳什均衡实时动态求解驾驶控制权限的决策结果。此外,提出了驾驶员负荷评价指标,并在Simulink/CarSim联合仿真测试平台和驾驶员在环的驾驶模拟器上验证了所提出的控制权限分配策略,结果表明该策略能够实现良好的横向共享驾驶效果,并提升驾驶员对横向共享驾驶系统的接受度
。
(3)高度类我化的换道轨迹规划算法 为了减少人机横向共享驾驶中的潜在目标冲突,本文在自动化转向系统的规划层提出了一种高度类我化的换道轨迹规划算法。通过驾驶模拟器采集不同车速下的多位驾驶员的换道轨迹数据,并分析了不同驾驶员的换道特征。在Frenet坐标系下建立了以换道时间为核心的基于五次多项式的基本换道轨迹算法,并按照驾驶员平均换道时间的正负五倍标准差时间区间生成轨迹簇。通过求解类我化指标、换道平稳性指标和换道效率指标为核心的最优规划轨迹,并提出基于顶点嵌入法的凸多边形防碰撞检测算法以保证最优规划轨迹的碰撞安全。结果表明,规划的类我化换道轨迹贴合驾驶员历史轨迹,并满足车辆跟踪控制执行的需求
。
(4)人机横向共享驾驶规划与控制算法的验证 为了验证前文所提出的基于博弈权限分配和类我化换道轨迹规划的人机横向共享驾驶规划与控制算法,本文利用Simulink/Car Sim联合仿真平台和驾驶模拟器进行了可行性和有效性验证。结果表明,所提出的算法策略能实现良好的人机横向共享驾驶运行效果,并能提升驾驶员对人机横向共享驾驶系统的接受程度
# 人机交互的横向控制权限分配模拟
def human_machine_interaction_control(human_input, machine_input, comfort_threshold, safety_threshold):
"""
模拟人机交互的横向控制权限分配
:param human_input: 驾驶员输入
:param machine_input: 机器系统输入
:param comfort_threshold: 舒适性阈值
:param safety_threshold: 安全性阈值
:return: 控制权限分配结果
"""
# 计算人机输入的差异
input_difference = abs(human_input - machine_input)
# 判断是否超出舒适性和安全性阈值
if input_difference > comfort_threshold:
# 超出舒适性阈值,优先考虑机器系统输入
control_authority = 'machine'
elif input_difference > safety_threshold:
# 超出安全性阈值但未超出舒适性阈值,根据博弈论分配控制权限
control_authority = game_theory_allocation(human_input, machine_input)
else:
# 未超出阈值,优先考虑驾驶员输入
control_authority = 'human'
return control_authority
def game_theory_allocation(human_input, machine_input):
"""
基于博弈论的控制权限分配
:param human_input: 驾驶员输入
:param machine_input: 机器系统输入
:return: 分配结果
"""
# 简化模型,实际应用中需要更复杂的博弈论模型
if human_input > machine_input:
return 'human'
else:
return 'machine'
# 示例输入
human_steering = 0.5 # 驾驶员转向输入
machine_steering = 0.3 # 机器系统转向输入
comfort_threshold = 0.2 # 舒适性阈值
safety_threshold = 0.1 # 安全性阈值
# 调用函数模拟控制权限分配
control_result = human_machine_interaction_control(human_steering, machine_steering, comfort_threshold, safety_threshold)
print(f"Control authority allocated to: {control_result}")

521

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



