基于MATLAB的CACC与人工驾驶车辆混合跟驰仿真系统
本系统是一个用于分析协同自适应巡航控制(CACC)车辆与人工驾驶车辆(HDV)在单车道内行驶特性的动力学仿真平台。通过建立混合交通流模型,模拟不同渗透率下的车队在复杂工况(如紧急制动、周期性速度波动)下的运动响应,旨在研究CACC技术对交通流稳定性、道路吞吐量及波动抑制的效果。
项目功能特性
- 混合车队动态配置:支持自定义车辆总数与CACC渗透率,系统根据渗透率随机分配除领航车外的车辆类型(CACC或HDV),模拟真实的混合交通环境。
- 多模型驱动跟驰逻辑:
-
人工驾驶车辆(HDV):采用智能驾驶员模型(IDM),体现期望速度、期望时距及舒适加减速特性。
-
CACC车辆:采用基于恒定时距策略的PATH控制模型,集成V2X数值模拟,考虑通信时延对控制系统的影响。
- 多样化领航车工况:内置领航车运动剖面,包括匀速行驶、匀减速制动、加速恢复以及周期性的正弦速度震荡,用于测试车队的弦稳定性。
- 性能评价与分析:
-
稳定性分析:自动计算波动衰减系数(末车与领航车的波动幅值比),量化车队的扰动抑制能力。
-
通行效率评估:估算理想状态下的道路小时吞吐量。
-
多维度可视化:实时生成时空轨迹图、速度历程图、加速度分布图及车头间距图。
系统要求
- MATLAB R2016b 或更高版本。
- 无需额外工具箱。
使用方法
- 打开MATLAB软件,将工作路径切换至项目文件夹。
- 设置仿真基础参数:通过修改仿真时间(simTime)、渗透率(penetration)和车辆总数(N)。
- 运行代码后,系统将自动执行时域循环计算。
- 仿真结束后,自动弹出四个子图的分析窗口,并在命令行输出车队构成及统计指标。
仿真实现逻辑
混合跟驰系统的实现遵循以下逻辑步骤:
1. 初始化阶段
- 设定仿真步长(0.1s)和总时长。
- 定义车辆属性:第1辆固定为领航车,后续车辆根据概率随机标记。
- 初始化空间矩阵:预分配位置、速度、加速度三个维度的存储空间。初始位置根据25m的静态间距等距离排列。
2. 核心算法实现
- 领航车控制逻辑:前30秒保持匀速;30-40秒执行减速;40-50秒执行加速恢复;50秒后进入频率为0.1Hz的速度正弦波动模式。
- HDV 跟驰逻辑(IDM 模型):基于当前车速、与前车的净间距(dx)以及速度差(dv)计算加速度。公式核心在于期望间距 $s^*$ 的动态计算。
- CACC 跟驰逻辑(PATH 模型):
-
时延模拟:通过读取历史状态向量,获取受V2V通信延迟(0.2s)影响的前车加速与速度信息。
-
误差计算:计算基于恒定时距(0.6s)的间距误差及导数。
-
PD控制:利用距离误差增益(Kp)和速度误差增益(Kd)计算指令加速度。
- 物理约束约束:所有车辆的加速度被限制在 [-4.0, 2.5] $m/s^2$ 之间,且速度非负。
3. 更新与迭代
- 采用欧拉积分法更新下一时刻的状态。位置更新考虑了二阶项 $0.5 cdot a cdot dt^2$,以提高轨迹平滑度。
4. 统计分析与绘图
- 间距计算:扣除车长(5m)后计算相邻车辆的净间距。
- 稳定性指标:通过计算车队第一辆车与最后一辆车速度极差的比值,得出衰减系数。
- 可视化:
-
时空轨迹图:通过线条类型区分领航车(粗黑直线)、CACC(蓝色虚线)与HDV(红色点线)。
-
分图展示:分别展示速度随时间的变化、加速度的波动过程以及车间距随时间的动态演变。
关键模型分析
- IDM 模型:该模型能够很好地模拟驾驶员在接近前车时的减速行为和起步时的加速滞后,是研究人工驾驶行为的基准模型。
- PATH 控制器:相比单纯的ACC,PATH模型通过引入前车加速度和更小的恒定时距,极大地提高了车队的紧凑性。
- 时延补偿机制:在CACC逻辑中加入延迟步数寻址,使得仿真结果更贴近真实通信环境下的系统表现,能够观察到由于时延引起的扰动放大现象。