
原创代码,包运行成功。相关代码讲解、定制可联系我
文章目录
程序概要
仿真场景
程序设置1辆领航车和5辆跟驰车。领航车包含多段加速、减速和恢复行驶过程,用来模拟前方交通波动。跟驰车辆需要在保持安全车间距的同时尽可能跟踪前车速度。
普通ACC模型
普通ACC只利用本车与前车之间的车间距误差和相对速度误差计算加速度控制量,因此控制信息来源局限于相邻车辆的局部感知。
CACC模型
CACC在普通ACC反馈控制基础上加入V2X通信获得的前车加速度前馈信息,并显式考虑通信时延和丢包扰动。这样更贴近网联车辆在实际通信条件下的协同跟驰控制过程。
队列稳定性
程序使用速度扰动放大倍数衡量队列稳定性。如果末车速度波动相对前车被放大,说明车队容易产生扰动传播;如果该指标较低,则说明协同控制能够抑制扰动扩散。
运行结果
- 速度跟踪对比图:对比领航车、普通ACC末车和CACC末车的速度变化过程,展示车队对加减速扰动的跟踪能力。

-
车间距误差图:给出普通ACC和CACC在典型车辆上的车间距误差变化,用于观察跟驰控制精度和安全间距保持效果。

-
加速度控制量图:展示领航车、普通ACC末车和CACC末车的加速度响应,用于分析控制动作是否平顺、是否存在明显振荡。

- 通信时延影响图:扫描不同V2X通信时延下的间距误差和队列稳定性指标,观察时延增大对协同控制性能的影响。

- 队列稳定性指标图:对比普通ACC和CACC的速度扰动放大倍数,指标小于1时表示扰动沿车队传播没有被放大。

MATLAB源代码
部分代码:
matlab
%% CACC网联车辆协同跟驰控制例程
% 作者:matlabfilter,接定位与导航、滤波相关的matlab代码定制
% 2026-08-12 / Ver1
clear; clc; close all;
rng(0);
% 设置仿真参数和典型工况,保证每次运行结果可复现。
%% 仿真参数
dt = 0.05; % 采样时间,s
T = 80; % 仿真时长,s
t = (0:dt:T)';
numStep = numel(t);
numFollower = 5; % 跟驰车辆数量
veh.length = 4.8; % 车辆长度,m
veh.tauAcc = 0.55; % 车辆纵向动力学时间常数,s
veh.aMin = -4.0; % 最大制动减速度,m/s^2
veh.aMax = 2.5; % 最大驱动加速度,m/s^2
policy.d0 = 7.0; % 静止安全间距,m
policy.h = 0.75; % 期望时距,s
policy.kpAcc = 0.34; % ACC间距误差增益
policy.kvAcc = 0.72; % ACC相对速度增益
policy.kpCacc = 0.42; % CACC间距误差增益
policy.kvCacc = 0.88; % CACC相对速度增益
policy.kff = 0.68; % 前车加速度前馈增益
policy.delayStep = round(0.25 / dt);
policy.lossRate = 0.10;
%% 领航车工况
完整代码下载:
https://download.csdn.net/download/callmeup/93278446
如需帮助,或有车联网、网联车辆控制、交通仿真、滤波与导航相关的代码定制需求,可从个人主页左侧联系我