資源簡介
所用模型為二輪模型。主要根據汽車動力學做了相關的仿真,模型是利用狀態空間函數構建,為matlab腳本文件。最后用二輪模型做了簡單的四輪轉向的仿真。
很久以前的程序,較簡陋,望包涵。

代碼片段和文件信息
%4wr?and?2wr
clear?all
U=[125/3.6?100/3.6?75/3.6?50/3.6];g=9.8;
m=1050;ma=900;a=1;b=1.5;k_=65690;c_=2100;Iz=1500;B=1.3;
Ix=1500;k1=-55000;k2=-45000;Ixz=0;
h=0.55;Rf=0.07;Rr=0.05;%RrRf為側傾轉向系數,此處不考慮車輪側傾
tit=[‘u=125km/h‘;‘u=100km/h‘;‘u=75km/h?‘;‘u=50km/h?‘];
for?j=1:length(U)
%2wr
u=U(j);
%state?space????
%方程M*X_=C*X+H*DELTA
%X=[beyta;r;fy;p]
M1=[m*u?0?0?-ma*h;
????0?Iz?0?-Ixz;
????-ma*h*u?-Ixz?0?Ix;
????0?0?1?0];
C1=[k1+k2?(a*k1-b*k2)/u-m*u?-(k1*Rf+k2*Rr)?0;
???a*k1-b*k2?(a*a*k1+b*b*k2)/u?-(a*k1*Rf-b*k2*Rr)?0;
???0?ma*h*u?-(k_-ma*g*h)?-c_;
???0?0?0?1];
H1=[-k1;-a*k1;0;0];?
%X_=A*X+B*DELTA??Y=C*X+D*DELTA
A1=M1\C1;B1=M1\H1;
C1=[0100];D1=0;
t=0:0.01:12;
delta1=0.8*t.*(t<=0.5)+0.4.*((t>0.5)&(t<=6))+0.5.*(t>6);
sys1=ss(A1B1C1D1);
subplot(22j);
lsim(sys1‘K--‘delta1t);
?xlabel(‘時間/s‘‘FontSize‘9)
?ylabel(‘橫擺角速度‘‘FontSize‘9)
title(tit(j:)‘FontSize‘9);
?hold?on;
%legend(‘4ws‘‘2ws‘);
%4ws
%the?feedback?of?delta2
t=0:0.01:12;
delta1=0.8*t.*(t<=0.5)+0.4.*((t>0.5)&(t<=6))+0.5.*(t>6);
delta2=zeros(1length(t));
transbin=zeros(1length(t)+1);
transbin(1)=0.01;
for?i=1:length(t)
gf=delta1(i);
gr=transbin(i);
k=(b^2*gf*k1*k2*k_?+?a*gf*k1*k_*m*u^2?+?a*b*gf*k1*k2*k_?-?b^2*g*gf*h*k1*k2*ma?-?a*g*gf*h*k1*m*ma*u^2?-?a*b*g*gf*h*k1*k2*ma?+?Rr*a*gf*h*k1*k2*ma*u^2?+?Rr*b*gf*h*k1*k2*ma*u^2)/(b^2*gr*k2^2*k_?-?b^2*gf*k2^2*k_?-?a^2*gf*k1*k2*k_?+?b*gr*k2*k_*m*u^2?+?b^2*g*gf*h*k2^2*ma?-?b^2*g*gr*h*k2^2*ma?-?a*b*gr*k1*k2*k_?+?a^2*g*gf*h*k1*k2*ma?-?Rr*b*gf*h*k2^2*ma*u^2?+?Rr*b*gr*h*k2^2*ma*u^2?-?b*g*gr*h*k2*m*ma*u^2?+?a*b*g*gr*h*k1*k2*ma?+?Rf*a*gf*h*k1*k2*ma*u^2?+?Rf*b*gr*h*k1*k2*ma*u^2);
delta2(i)=k*gf;
transbin(i+1)=delta2(i);
store_k(ji)=k;
end
%state?space
%方程M*X_=C*X+H*DELTA
%X=[beyta;r;fy;p]
delta=[delta1;delta2];
M=[m*u?0?0?-ma*h;
????0?Iz?0?-Ixz;
????-ma*h*u?-Ixz?0?Ix;
????0?0?1?0];
C=[k1+k2?(a*k1-b*k2)/u-m*u?-(k1*Rf+k2*Rr)?0;
???a*k1-b*k2?(a*a*k1+b*b*k2)/u?-(a*k1*Rf-b*k2*Rr)?0;
???0?ma*h*u?-(k_-ma*g*h)?-c_;
???0?0?0?1];
H=[-k1?-k2;-a*k1?b*k2;0?0;0?0];
%X_=A*X+B*DELTA??Y=C*X+D*DELTA
A=M\C;B=M\H;
C=[0100];D=0;
sys=ss(ABCD);
lsim(sys‘K‘deltat);
end
set(gcf‘color‘‘w‘)
legend(‘2ws‘‘4ws‘);
v=50/3.6;
k_calc=(-b-m*a/(k2*(a+b))*v*v)/(a-m*b/(k1*(a+b))*v*v)
%?clear?all;
%?%!!!!!!note!!!!!!!?First?run?model_4wr_1_2.m?and?then?type?“hold?on“?in?the?workspace.At?last?run?this?file?to?get?the?figure.?
%?%?lsim不能在一個figure上運行兩次的樣子,搞不定。
%?
%?%4wr算計
%?%.?k_?is?k_phi.?C_?is?C_phi.?
%?g=9.8;U=[125/3.6?100/3.6?75/3.6?50/3.6];
%?m=1050;ma=900;a=1;b=1.5;k_=65690;c_=2100;Iz=1500;B=1.3;
%?Ix=1500;k1=-55000;k2=-45000;Ixz=0;
%?h=0.55;Rf=0.07;Rr=0.05;%RrRf為側傾轉向系數,此處不考慮車輪側傾
%?
%?for?j=1:length(U)
%?u=U(j);
%?
%?%the?feedback?of?delta2
%?t=0:0.01:12;
%?delta1=0.8*t.*(t<=0.5)+0.4.*((t>0.5)&(t<=6))+0.5.*(t>6);
%?delta2=zeros(1length(t));
%?transbin=zeros(1length(t)+1);
%?transbin(1)=0.01;
%?for?i=1:length(t)
%?gf=delta1(i);
%?gr=transbin(i);
%?k=(b^2*gf*k1*k2*k_?+?a*gf
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????4105??2017-11-16?20:43??m_4wr.m
- 上一篇:層次分析法的matlab程序
- 下一篇:灰度共生矩陣特征值不錯的算法
評論
共有 條評論