第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/8/25 9:24:42 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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仿真程序).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7flnq8rrfy8mpoj7ocb09o8y29wt5t00z4m_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top