基于状态空间方程和置根法的汽车的匀速巡航控制.docx
- 文档编号:4371591
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:11
- 大小:135.52KB
基于状态空间方程和置根法的汽车的匀速巡航控制.docx
《基于状态空间方程和置根法的汽车的匀速巡航控制.docx》由会员分享,可在线阅读,更多相关《基于状态空间方程和置根法的汽车的匀速巡航控制.docx(11页珍藏版)》请在冰豆网上搜索。
基于状态空间方程和置根法的汽车的匀速巡航控制
基于状态空间方程和置根法的汽车的匀速巡航控制
框图如下:
传递函数为:
利用置根法的Matlab程序求反馈系数矩阵K,并输出响应结果:
m=1000;b=50;t=0:
0.1:
10;r=ones(size(t));A=[-b/m];B=[1/m];C=[1];D=[0];sys=ss(A,B,C,D);x0=[0];p1=-1.5;K=place(A,B,[p1])sys_cl=ss(A-B*K,B,C,D);lsim(sys_cl,r,t,x0);axis([01000.35])
加比例系数补偿稳态误差:
求补偿系数的函数如下:
function[Nbar]=rscale(a,b,c,d,k)
%Giventhesingle-inputlinearsystem:
%.
%x=Ax+Bu
%y=Cx+Du
%andthefeedbackmatrixK,
%
%thefunctionrscale(sys,K)orrscale(A,B,C,D,K)
%findsthescalefactorNwhichwill
%eliminatethesteady-stateerrortoastepreference
%foracontinuous-time,single-inputsystem
%withfull-statefeedbackusingtheschematicbelow:
%
%/---------\
%R+u|.|
%--->N--->()---->|X=Ax+Bu|-->y=Cx--->y
%-|\---------/
%||
%|<----K<----|
%
%8/21/96YanjieSunoftheUniversityofMichigan
%underthesupervisionofProf.D.Tilbury
%6/12/98JohnYook,DawnTilburyrevisederror(nargchk(2,5,nargin));
%---Determinewhichsyntaxisbeingused---nargin1=nargin;
if(nargin==2),%Systemform
[A,B,C,D]=ssdata(a);K=b;
elseif(nargin==5),%A,B,C,DmatricesA=a;
A=a;
B=b;
C=c;
D=d;
K=k;
else
error('Inputmustbeoftheform(sys,K)or(A,B,C,D,K)')
end;
%computeNbars=size(A,1);
s=size(A,1);
Z=[zeros([1,s])1];
N=inv([A,B;C,D])*Z';
Nx=N(1:
s);
Nu=N(1+s);
Nbar=Nu+K*Nx;
加入控制系统得到:
Nbar=rscale(sys,K);sys_cl=ss(A-B*K,B*Nbar,C,D);rnew=r*10;lsim(sys_cl,rnew,t,x0);axis([010011])
直流电机的速度控制
1.建模:
(J)转子的惯性常量0.01kg.m^2
(b)电机摩擦系数0.1N.m.s
(Ke)电生电动势常数0.01V/rad/sec
(Kt)力矩常数0.01N.m/Amp
(R)电阻1Ohm
(L)电感0.5H
传递函数模型:
状态空间模型:
控制算法:
1.PID控制:
J=0.01;b=0.1;K=0.01;R=1;L=0.5;s=tf('s');P_motor=K/((J*s+b)*(L*s+R)+K^2);
PID控制器模型:
(1)比例控制
Kp=100;C=pid(Kp);sys_cl=feedback(C*P_motor,1);
t=0:
0.01:
5;step(sys_cl,t)gridtitle('StepResponsewithProportionalControl')
(2)PID控制
Kp=75;Ki=1;Kd=1;C=pid(Kp,Ki,Kd);sys_cl=feedback(C*P_motor,1);step(sys_cl,[0:
1:
200])title('PIDControlwithSmallKiandSmallKd')
调整参数:
Kp=100;Ki=200;Kd=1;C=pid(Kp,Ki,Kd);sys_cl=feedback(C*P_motor,1);step(sys_cl,0:
0.01:
4)gridtitle('PIDControlwithLargeKiandSmallKd')
2.状态空间方程控制
J=0.01;b=0.1;K=0.01;R=1;L=0.5;A=[-b/JK/J-K/L-R/L];B=[01/L];C=[10];D=0;sys=ss(A,B,C,D);
1.求反馈控制系数k
(1)判断能控性
sys_order=order(sys)sys_rank=rank(ctrb(A,B))
(2)利用置根法求反馈矩阵K
p1=-5+1i;p2=-5-1i;Kc=place(A,B,[p1p2])
t=0:
0.01:
3;sys_cl=ss(A-B*Kc,B,C,D);step(sys_cl,t)gridtitle('StepResponsewithState-FeedbackController')
(3)加上比例常数补偿:
Nbar=rscale(sys,Kc)
t=0:
0.01:
10;step(sys_cl*Nbar,t)gridtitle('StepResponsewithState-FeedbackControllerandPrecompensator')
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 状态 空间 方程 置根法 汽车 匀速 巡航 控制