资源描述:
《车运动控制系统matlab仿真设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、汽车运动控制系统仿真设计学生姓名:学号:班级:机自3班一、设计要求控制设计对象结构示意图当汽车的驱动力为600N时,汽车将在5秒内达到10m/s的最大速度。由于该系统为简单的运动控制系统,因此将系统设计成10%的最大超调量和2%的稳态误差。这样,该汽车运动控制系统的性能指标设定为:上升吋间:<5s;最大超调量:<10%;稳态误差:<2%o1.写出控制系统的数学模型。2.求系统的开环阶跃响应。3.配置极点,求出加入增益反馈矩阵的阶跃响应。4.PID控制器的设计比例积分微分(PID)控制器的设计二、系统建模忽略车轮
2、的转动惯量,且假定汽车受到的摩擦阻力大小与运动速度成正比,方向与汽车运动方向相反。根据牛顿运动定律,该系统的模型表示为:mv+bv=ur(1)其中,U为汽车驱动力(系统输入),m为汽车质量,b为摩擦阻力与运动速度之间的比例系数,「为汽车速度(系统输岀),"为汽车加速度。对系统的参数进行如下设定:汽车质量沪1200kg,比例系数戻60N•s/m,汽车的驱动力尸600N。为了得到控制系统传递函数,对式(1)进行拉普拉斯变换,假定系数的初始条件为零,则动态系统的拉普拉斯变换为既然系统输出是汽车的速度,用Y(s)替代v
3、(s),得到(2)由于系统输出是汽车的运动速度,用Y(S)替代V(s),得到:msY(s)+bY(s)=U(s)(3)该控制系统汽车运动控制系统模型的传递函数为:Y(S)1(4)U(SJms+b由此,建立了系统模型。令y为汽车行驶的位移,则设系统状态空间方程为:my+by=uX(i)=y(/)2(/)(t)=X1mi■Xi•X22(/)=y(/)Xi(r)=X2(f)Xy■bm00X22.1判断系统能控性和能观性在MATLAB中,可以利用ctrbO和obsvO函数直接求岀能控性和能观性矩阵in二1200;b二
4、60;A=[01;0-b/m];B=[0;1/m];C=[l0];D=[0;0];Qc=ctrb(A,B);Rc=rank(Qc)n=size(A)Qo=obsv(A,C);Ro=rank(Qo)由运行结果可以该系统具有可控性和可观性2.2系统稳定性m=1200;b=60;A=[01;0-b/m];B=[0;1/m];C=[l0];D=[0;0];P=poly(A),V=roots(P)>>m二1200:b=60;A=[01:0-b/m];B=[0:1/m];C=[l0];D=[0;0];P=poly(A),V
5、=roots(P)P=I1.00000.05000V=0-0.0500A»l特征值为0和-0.05,显然,其中一个极点在右半平面,该系统不稳定。三、系统开环阶跃响应根据我们建立的数学模型,我们从系统的原始状态出发,根据阶跃响应曲线,利用串联校正的原理,以及参数变化对系统响应的影响,对静态和动态性能指标进行具体的分析,最终设计出满足我们需要的控制系统。具体设计过程如下:根据前面的分析,我们已经清楚了,系统在未加入任何校正环节时的传递函数,见表达式(4),下面我们绘制原始系统的阶跃响应曲线,相应的程序代码如下:m二
6、1200;b二60;A二[01;0-b/m;];B=[0;1/m];C二[10];D=0;sys=ss(A,B,C,D);t二0:0.01:50;step(sys,t),title(,开环阶跃响应')图2•开环阶跃响应图3.1系统设计极点配置与控制器设计极点配置的方法就是通过一个适当的状态反馈增益矩阵的状态反馈方法,将闭环系统的极点配置到任意期望的位置。文⑴二Ax(f)+Bu(t),其中x是状态变量(n维),u是控制信号,这里选取控制信号为u二・Kx,x(t)=(A-BK)2x⑴,该方程的解为x(Z)=e(A~
7、BK)t?x(O),系统的稳态响应和瞬态响应特性由矩阵A・BK的特征决定。K二(Kl,K2)x,为闭环系统的方程Ax+Bf=(A-BK)x,选取所希望的极点值为,p2o设计状态反馈阵时,要使系统的极点设计成具有两个主导极点,这样就可以用二阶系统的分析方法进行参数的确定。最大超调量小于等于10%,调节时间为■二"5S,运用超调量的计算公式,d%=e戸?100%,其中z为阻尼系数,有该公式可求得,阻尼系数z=0.59,小于1,是欠阻尼。33-=亠=二(-S为极点实部),可以求得叫=1.017,则极点公式为Z叫sA.
8、2=・Z%?Jy/1Z2wz/,得到两个共辘极点为"1,2=・0・6?yo.8211・在MATLAB的控制系统工具箱中提供了单变量系统极点配置ackerO,其格式为m二1200;b二60;A=[01;0-b/m;];B=[0;1/m];C=[l0];D二0;v=[-0.6+0.821lj-0.6-0.821lj];K=acker(A,B,v)Comm3ndWindowsys=ssgDy