串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)

     目录

1 概述

2 运行结果

3 参考文献

‍4 Matlab代码

1 概述

串稳定混合交通的协同自适应巡航控制是一种针对复杂交通环境的控制方法,旨在实现交通系统的高效运行和安全性。其中,基准和以人为本的设计是关键的方面。

基准设计是指制定交通流的基本参数和规则,例如限速、车道划分和信号灯控制等。通过合理的基准设计,可以提供交通流的稳定性和一致性,为协同自适应巡航控制提供基础。

以人为本的设计则关注驾驶员的需求和行为。考虑到不同驾驶员的习惯和偏好,以人为本的设计通过智能化系统来适应驾驶员的操作方式和行驶偏好,从而提供更加舒适和个性化的驾驶体验。这种设计方法能够提高驾驶员的满意度,增强交通系统的可接受性和可持续性。

综合运用基准设计和以人为本的设计原则,协同自适应巡航控制可以实现交通流的优化和驾驶员的舒适性。通过自适应控制算法和实时交通信息的融合,系统能够实时调整车辆速度和跟车间距,以适应当前的交通状况和驾驶员的偏好。

2 运行结果

串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)_第1张图片

串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)_第2张图片

串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)_第3张图片

串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)_第4张图片

串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)_第5张图片

串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)_第6张图片

串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)_第7张图片

串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)_第8张图片

串稳定混合交通的协同自适应巡航控制:基准和以人为本的设计(Matlab代码实现)_第9张图片

主函数部分代码:

clc, clear all
​
​
load('input7_b.mat')
%ur2=input1(1:91)*1.2145;
Time_g=0:0.5:50;
Time_int=0.5;
time_orig=0:0.001:60;
input1(30100:60001)=input1(30100:60001)*0.55;
​
for index_i=1:1:59/Time_int+1
    input1_a(index_i)=1.065*interp1(time_orig,input1,Time_int*(index_i-1));
end
​
%parameters used for the AP model
AX=1.5;        
CX2=20;
OPDVmult=-1.5;    
EX=2;
%Ln=4;
CLDVCX=16;
BX=3.5*sqrt(20);
SDX=AX+BX*EX;
​
​
​
​
initial0=[20*(1.4*2+0.8*2+1.3*2),20,0,0,20*(1.4*2+0.8+1.3*2),20,0,0,20*(1.4*2+1.3*2),20,0,0,20*(1.4+1.3*2),20,0,0,20*(1.4+1.3),20,0,0,20*1.4,20,0,0,0,20,0,0];
​
hd2=0.8;
hd3=0.8;
hd5=1.3;
hd6=1.3;
​
​
Tau=[0.2,0.2,0.2,0.2,0.2,0.2,0.2];
Omega=[0.7,0.7,0.7,0.7,2,2,0.7];
Kd=Omega;
Kp=Omega.^2;
​
​
A11=[0,1,0,0;0,0,1,0;0,0,-1/Tau(1),0;0,0,0,0];
A21=[0;0;1/Tau(2);0]*[Kp(2),Kd(2),0,0];
A22=[0,1,0,0;0,0,1,0;0,0,-1/Tau(2),0;0,0,0,-1/hd2]+[0;0;1/Tau(2);0]*[-Kp(2),-Kd(2)-Kp(2)*hd2,-Kd(2)*hd2,1];
A33=[0,1,0,0;0,0,1,0;0,0,-1/Tau(3),0;0,0,0,-1/hd3]+[0;0;1/Tau(3);0]*[-Kp(3),-Kd(3)-Kp(3)*hd3,-Kd(3)*hd3,1];
A32=[0;0;1/Tau(3);0]*[Kp(3),Kd(3),0,0]+[0;0;0;Tau(3)/hd3]*A22(3,:)+[0;0;0;1/hd3]*[0,0,1,0];
A31=[0;0;0;Tau(3)/hd3]*A21(3,:);
A43=[0,0,0,0;0,0,0,0;0,0.477,-0.368,0;0,0,0,0];
A44=[0,1,0,0;0,0,1,0;0,-0.477,-0.923,0;0,0,0,0];
A55=[0,1,0,0;0,0,1,0;0,0,-1/Tau(5),0;0,0,0,-1/hd5]+[0;0;1/Tau(5);0]*[-Kp(5),-Kd(5)-Kp(5)*hd5,-Kd(5)*hd5,0];
A54=[0;0;1/Tau(5);0]*[Kp(5),Kd(5),0,0]+[0;0;0;Tau(5)/hd5]*A44(3,:)+[0;0;0;1/hd5]*[0,0,1,0];
A53=[0;0;0;Tau(5)/hd5]*A43(3,:);
A66=[0,1,0,0;0,0,1,0;0,0,-1/Tau(6),0;0,0,0,-1/hd6]+[0;0;1/Tau(6);0]*[-Kp(6),-Kd(6)-Kp(6)*hd6,-Kd(6)*hd6,0];
A65=[0;0;1/Tau(6);0]*[Kp(6),Kd(6),0,0];
A76=[0,0,0,0;0,0,0,0;0,0.477,-0.368,0;0,0,0,0];
A77=[0,1,0,0;0,0,1,0;0,-0.477,-0.923,0;0,0,0,0];
​
​
B1=[0;0;1/Tau(1);0];
B2=[0;0;0;1/hd2];
​
An0=[A11,zeros(4,24);A21,A22,zeros(4,20);A31,A32,A33,zeros(4,16);zeros(4,8),A43,A44,zeros(4,12);zeros(4,8),A53,A54,A55,zeros(4,8);zeros(4,16),A65,A66,zeros(4,4);zeros(4,20),A76,A77;];
Bn0=[B1;B2;zeros(20,1)];
​
Cn0=eye(28);
​
Cv0=zeros(7,28);
for i=1:7
Cv0(i,2+4*(i-1))=1;
end
​
Caa=zeros(7,28);
for i=1:7
    Caa(i,3+4*(i-1))=1;
end
​
Cjj=zeros(7,28);
for i=1:7
    Cjj(i,:)=An0(3+4*(i-1),:);
end
​
​
C0=zeros(7,7);
for i=1:7
    C0(i,i)=Tau(i);
end
​
C00=C0*Cjj+Caa;
​
Cxx=zeros(6,28);
Cva=zeros(6,28);
​
for i=1:6
    Cxx(i,1+4*(i-1))=1;
    Cxx(i,5+4*(i-1))=-1;
    Cva(i,2+4*(i-1))=-1;
    Cva(i,6+4*(i-1))=1;
end
    
    
    
    
Ce0=[Cjj;C00;Cv0;Cxx;Cva];
​
​
Dn0=zeros(28,1);
Dn1=zeros(33,1);
​
​
sysh0=ss(An0,Bn0,Cn0,Dn0);
sysh1=ss(An0,Bn0,Ce0,Dn1);
Time1=0:0.5:0.5;
​
for i=1:1:100  
    ur2=input1_a(i:i+1)';
H0=lsim(sysh0,ur2,Time1,initial0);
H1=lsim(sysh1,ur2,Time1,initial0);
initial0=H0(2,:);
res(i:i+1,:)=H1;
end

3 参考文献

​[1]秦严严,王昊,王炜等.混有CACC车辆和ACC车辆的混合交通流驾驶舒适性[J].哈尔滨工业大学学报,2017,49(09):103-108+173.

部分理论引用网络文献,若有侵权联系博主删除。

你可能感兴趣的:(matlab,算法,开发语言)