好文档 - 专业文书写作范文服务资料分享网站

基于模糊控制和PID控制自主车辆速度跟踪控制(含MATLAB仿真程序)

天下 分享 时间: 加入收藏 我要投稿 点赞

u_1=u; y_2=y_1; y_1=y(k); x(1)=e;

x(2)=(e-e_1)/ts; x(3)=x(3)+e*ts;

%*******************************óí?????? kp=0.42;Ti=30;Td=0.0018;%*** vd(k)=1

% kp=0.42;Ti=30;Td=0.0018;%*** vd(k)=1

% kp=0.0015;Ti=0.01;Td=0.002;%***vd(k)=1*time(k)+10 % kp=0.0015;Ti=0.001;Td=0.002;%*** vd(k)=1*time(k)^2+time(k)+2; ki=kp*ts/Ti; kd=kp*Td/ts;

dthrottle=kp*x(1)+kd*x(2)+ki*x(3); throttle=u_1+dthrottle; if(throttle>2000) throttle=2000; end

if(throttle<-2000) throttle=-2000; end

%****************************é23μ???? %/*********?1??ê?è?±?á?*****% E=lisan(-50,50,3,e); EC=lisan(-20,20,3,ec);

%/*********????êμ?ê?ó2??¢?ó2?±??ˉ?êμ?á¥ê??è?òá?*****% E_R(1)=lbell(E,1,4,-3); E_R(2)=trig(E,-3,-2,0); E_R(3)=trig(E,-3,-1,1); E_R(4)=trig(E,-2,0,2); E_R(5)=trig(E,-1,1,3); E_R(6)=trig(E,0,2,3); E_R(7)=rbell(E,1,4,3); EC_R(1)=lbell(EC,1,4,-3); EC_R(2)=trig(EC,-3,-2,0); EC_R(3)=trig(EC,-3,-1,1); EC_R(4)=trig(EC,-2,0,2); EC_R(5)=trig(EC,-1,1,3); EC_R(6)=trig(EC,0,2,3); EC_R(7)=rbell(EC,1,4,3);

%/*********?????£oyá?ê?3?*****% U_R1=dikaer(E_R,7,EC_R,7);

U_R1=reshape(U_R1,1,49); U_R2=jdikaer(U_R1,49,R,7); U_R=max(U_R2);

u_L=mean(U_R);%Dèòa????

%/*********??????è·á?ê?3?*****% brake=-flisan(-2000,2000,3,u_L); e_2=e_1; e_1=e;

%/************************????1??ò if (e<0)

if ((e>-Eswith)||(throttle_1~=0)) if(throttle<=throttle_1) throttle_1=throttle;

% throttle_1=throttle_1-throttle; u=throttle; Q(k)=u; W(k)=0; else

throttle=0;

throttle_1=throttle; u=throttle; Q(k)=u; W(k)=0; end else

if(throttle_1==0) brake_1=brake; u=brake; W(k)=u; Q(k)=0; else

throttle=0;

throttle_1=throttle; u=throttle; Q(k)=u; W(k)=0; end end else

if(e~=0)

if(brake_1==0)

throttle_1=throttle; u=throttle; Q(k)=u;

W(k)=0; else

brake=0;

brake_1=brake; u=brake; end else

u=0; W(k)=0; Q(k)=0; end end

%********************?-í?ê?3?á??¨ò? M(k)=u; N(k)=e;

%******************************3ù?í?·?ú if (time(k)<=0.5) u=0; else

u=M(k-0.5/ts); end end % ?-í?

figure(1);

plot(time,vd,'r',time,y,'k','linewidth',2); xlabel('time(s)'); ylabel('vd,y');

legend('?úí?','êμ?ê');

figure(2);

plot(time,Q,'r',time,W,'k','linewidth',2); xlabel('time(s)'); ylabel('u');

figure(2);

plot(time,Q,'r','linewidth',2); xlabel('time(s)'); ylabel('u'); figure(3);

plot(time,W,'r','linewidth',2); xlabel('time(s)'); ylabel('u');

figure(4);

plot(time,N,'b'); xlabel('time£¨s£?'); ylabel('e');

基于模糊控制和PID控制自主车辆速度跟踪控制(含MATLAB仿真程序)

u_1=u;y_2=y_1;y_1=y(k);x(1)=e;x(2)=(e-e_1)/ts;x(3)=x(3)+e*ts;%*******************************óí??????kp=0.42;Ti=30;Td=0.0018;%***vd(k)=1%kp
推荐度:
点击下载文档文档为doc格式
7flnq8rrfy8mpoj7ocb09o8y29wt5t00z4m
领取福利

微信扫码领取福利

微信扫码分享