您好,欢迎访问三七文档
倒立摆实验报告机自82组员:李宗泽李航刘凯付荣倒立摆与自动控制原理实验一.实验目的:1.运用经典控制理论控制直线一级倒立摆,包括实际系统模型的建立、根轨迹分析和控制器设计、频率响应分析、PID控制分析等内容.2.运用现代控制理论中的线性最优控制LQR方法实验控制倒立摆3.学习运用模糊控制理论控制倒立摆系统4.学习MATLAB工具软件在控制工程中的应用5.掌握对实际系统进行建模的方法,熟悉利用MATLAB对系统模型进行仿真,利用学习的控制理论对系统进行控制器的设计,并对系统进行实际控制实验,对实验结果进行观察和分析,非常直观的感受控制器的控制作用。二.实验设备计算机及MATLAB.VC等相关软件固高倒立摆系统的软件固高一级直线倒立摆系统,包括运动卡和倒立摆实物倒立摆相关安装工具三.倒立摆系统介绍倒立摆是机器人技术、控制理论、计算机控制等多个领域、多种技术的有机结合,其被控系统本身又是一个绝对不稳定、高阶次、多变量、强耦合的非线性系统,可以作为一个典型的控制对象对其进行研究。倒立摆系统作为控制理论研究中的一种比较理想的实验手段,为自动控制理论的教学、实验和科研构建一个良好的实验平台,以用来检验某种控制理论或方法的典型方案,促进了控制系统新理论、新思想的发展。由于控制理论的广泛应用,由此系统研究产生的方法和技术将在半导体及精密仪器加工、机器人控制技术、人工智能、导弹拦截控制系统、航空对接控制技术、火箭发射中的垂直度控制、卫星飞行中的姿态控制和一般工业应用等方面具有广阔的利用开发前景。倒立摆已经由原来的直线一级倒立摆扩展出很多种类,典型的有直线倒立摆环形倒立摆,平面倒立摆和复合倒立摆等,本次实验采用的是直线一级倒立摆。倒立摆的形式和结构各异,但所有的倒立摆都具有以下的特性:1)非线性2)不确定性3)耦合性4)开环不稳定性5)约束限制倒立摆控制器的设计是倒立摆系统的核心内容,因为倒立摆是一个绝对不稳定的系统,为使其保持稳定并且可以承受一定的干扰,需要给系统设计控制器,本小组采用的控制方法有:PID控制、双PID控制、LQR控制、模糊PID控制、纯模糊控制四.直线一级倒立摆的物理模型:系统建模可以分为两种:机理建模和实验建模。实验建模就是通过在研究对象上加上一系列的研究者事先确定的输入信号,激励研究对象并通过传感器检测其可观测的输出,应用数学手段建立起系统的输入-输出关系。。机理建模就是在了解研究对象的运动规律基础上,通过物理、化学的知识和数学手段建立起系统内部的输入-状态关系。,由于倒立摆本身是自不稳定的系统,实验建模存在一定的困难。但是忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程。下面我们采用牛顿-欧拉方法建立直线型一级倒立摆系统的数学模型:在忽略了空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如图所示:我们不妨做以下假设:M小车质量m摆杆质量b小车摩擦系数l摆杆转动轴心到杆质心的长度I摆杆惯量F加在小车上的力x小车位置φ摆杆与垂直向上方向的夹角θ摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)图是系统中小车和摆杆的受力分析图。其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图所示,图示方向为矢量正方向。分析小车水平方向所受的合力,可以得到以下方程:(3-1)由摆杆水平方向的受力进行分析可以得到下面等式:(3-2)即:(3-3)把这个等式代入式(3-1)中,就得到系统的第一个运动方程:(3-4)为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:(3-5)(3-6)力矩平衡方程如下:(3-7)注意:此方程中力矩的方向,由l,故等式前面有负号。合并这两个方程,约去P和N,得到第二个运动方程:(3-8)设θ=φ+π(φ是摆杆与垂直向上方向之间的夹角),假设φ与1(单位是弧度)相比很小,即φ1,则可以进行近似处理:用u来代表被控对象的输入力F,线性化后两个运动方程如下:(3-9)对式(3-9)进行拉普拉斯变换,得到(3-10)注意:推导传递函数时假设初始条件为0。由于输出为角度φ,求解方程组的第一个方程,可以得到:或如果令则有:把上式代入方程组的第二个方程,得到:整理后得到传递函数:其中设系统状态空间方程为:方程组对,解代数方程,得到解如下:整理后得到系统状态空间方程:由(3-9)的第一个方程为:对于质量均匀分布的摆杆有:于是可以得到:化简得到:设则有:另外,也可以利用MATLAB中tf2ss命令对(3-13)式进行转化,求得上述状态方程。实际系统的模型参数如下:M小车质量1.096Kgm摆杆质量0.109Kgb小车摩擦系数0.1N/m/secl摆杆转动轴心到杆质心的长度0.25mI摆杆惯量0.0034kg*m*m把上述参数代入,可以得到系统的实际模型。摆杆角度和小车位移的传递函数:摆杆角度和小车加速度之间的传递函数为:摆杆角度和小车所受外界作用力的传递函数:以外界作用力作为输入的系统状态方程:以小车加速度作为输入的系统状态方程:注意事项:在固高科技所有提供的控制器设计和程序中,采用的都是以小车的加速度作为系统的输入,如果用户需要采用力矩控制的方法,可以参考以上把外界作用力作为输入的各式。五.系统的阶越响应分析根据已经得到系统的状态方程,先对其进行阶跃响应分析,在MATLAB中键入以下命令:clear;A=[0100;0000;0001;0029.40];B=[0103]';C=[1000;0100];D=[00]';step(A,B,C,D)可以看出,在单位阶跃响应作用下,小车位置和摆杆角度都是发散的。六.频率响应分析(系统稳定性分析)前面我们已经得到了直线一级倒立摆的物理模型,实际系统的开环传递函数为:其中输入为小车的加速度V(s),输出为摆杆的角度Φ(s)。在MATLAB下绘制系统的Bode图和奈奎斯特图。在MATLAB中键入以下命令:clear;num=[0.02725];den=[0.01021250-0.26705];z=roots(num);p=roots(den);subplot(2,1,1)bode(num,den)subplot(2,1,2)nyquist(num,den)得到如下图所示的结果:z=Emptymatrix:0-by-1p=5.1136-5.1136可以得到,系统没有零点,但存在两个极点,其中一个极点位于右半s平面,根据奈奎斯特稳定判据,闭环系统稳定的充分必要条件是:当ω从−∞到+∞变化时,开环传递函数G(jω)沿逆时针方向包围-1点p圈,其中p为开环传递函数在右半S平面内的极点数。对于直线一级倒立摆,由奈奎斯特图我们可以看出,开环传递函数在S右半平面有一个极点,因此G(jω)需要沿逆时针方向包围-1点一圈。可以看出,系统的奈奎斯特图并没有逆时针绕-1点一圈,因此系统不稳定,需要设计控制器来镇定系统。七.具体控制方法(一)双PID控制直线一级倒立摆双PID控制实验1.PID控制分析经典控制理论的研究对象主要是单输入单输出的系统,控制器设计时一般需要有关被控对象的较精确模型。PID控制器因其结构简单,容易调节,且不需要对系统建立精确的模型,在控制上应用较广。对于倒立摆系统输出量为摆杆的角度,它的平衡位置为垂直向上的情况。系统控制结构框图如下:2.双PID实验控制参数设定及仿真。在Simulinkzhong建立直线一级倒立摆模型上下两个PID模块。鼠标右键,选择“Lookundermask”打开模型内部结构分别为:双击第二个模块打开参数设置窗口令kp=1.ki=0.kd=0得到摆杆角度仿真结果可看出控制曲线不收敛。因此增大控制量。令kp=-30.ki=0.kd=4.6.得到如下仿真结果从上面摆杆角度仿真结果可看出,稳定比较好。但稳定时间稍微有点长。双击第一个模块打开参数设置窗经多次尝试在此参数即kp=-7,ki=0,kp=-4.5情况下效果最好。得到以下仿真结果黄线为小车位置输出曲线,红线为摆杆角度输出曲线。从图中可以看出,系统可以比较好的稳定。稳定时间在2-3秒之间。稳定性不错。3.双PID控制实验打开直线一级倒立摆爽PID实时控制模块双击doublePID控制模块进入参数设置把参数输入PID控制器。编译程序,使计算机同倒立摆连接。运行程序。实验结果如下图所示从图中可以看出,倒立摆可以实现比较好的稳定性。(二)线性最优二次控制LQR线性二次最优控制LQR控制实验1线性二次最优控制LQR基本原理及分析线性二次最优控制LQR基本原理为,由系统方程:确定下列最佳控制向量的矩阵K:u(t)=-K*x(t)使得性能指标达到最小值:式中Q——正定(或正半定)厄米特或实对称阵R——为正定厄米特或实对称阵图3-54最优控制LQR控制原理图方程右端第二项是考虑到控制能量的损耗而引进的,矩阵Q和R确定了误差和能量损耗的相对重要性。并且假设控制向量u(t)是无约束的。对线性系统:根据期望性能指标选取Q和R,利用MATLAB命令lqr就可以得到反馈矩阵K的值。K=lqr(A,B,Q,R)改变矩阵Q的值,可以得到不同的响应效果,Q的值越大(在一定的范围之内),系统抵抗干扰的能力越强,调整时间越短。但是Q不能过大2.LQR控制参数调节及仿真前面我们已经得到了直线一级倒立摆系统的比较精确的动力学模型,下面我们针对直线型一级倒立摆系统应用LQR法设计与调节控制器,控制摆杆保持竖直向上平衡的同时,跟踪小车的位置。前面我们已经得到了直线一级倒立摆系统的系统状态方程:应用线性反馈控制器,控制系统结构如下图。图中R是施加在小车上的阶跃输入,四个状态量x,x,φ,φ分别代表小车位移、小车速度、摆杆角度和摆杆角速度,输出y=[x,φ]’包括小车位置和摆杆角度。设计控制器使得当给系统施加一个阶跃输入时,摆杆会摆动,然后仍然回到垂直位置,小车可以到达新的指定位置。假设全状态反馈可以实现(四个状态量都可测),找出确定反馈控制规律的向量K。在Matlab中得到最优控制器对应的K。Lqr函数允许你选择两个参数——R和Q,这两个参数用来平衡输入量和状态量的权重。最简单的情况是假设R=1,Q=C’*C。当然,也可以通过改变Q矩阵中的非零元素来调节控制器以得到期望的响应。其中,Q1,1代表小车位置的权重,而Q3,3是摆杆角度的权重,输入的权重R是1。下面来求矩阵K,Matlab语句为K=lqr(A,B,Q,R)。下面在MATLAB中编程计算:A=[0100;0000;0001;0029.40];B=[0103]';C=[1000;0010];D=[00]';Q11=1500;Q33=300;Q=[Q11000;0000;00Q330;0000];R=1;K=lqr(A,B,Q,R);Ac=[(A-B*K)];Bc=[B];Cc=[C];Dc=[D];T=0:0.005:5;U=0.2*ones(size(T));Cn=[1000];Nbar=rscale(A,B,Cn,0,K);Bcn=[Nbar*B];[Y,X]=lsim(Ac,Bc,Cc,Dc,U,T);plot(T,X(:,1),'-');holdon;plot(T,X(:,2),'-');holdon;plot(T,X(:,3),'.');holdon;plot(T,X(:,4),'-');legend('cartpls','cartspd','pendang','pendspd')令Q1,1=1,Q3,3=1求得K[-1-1.785525.4224.6849]在Simulink中建立直线一级倒立摆的模型如下图所示:“LQRController”为一封装好的模块,在其上单击鼠标右键,选择“Lookundermask”打开LQRController结构如下:双击“MatrixgainK”即可输入控制参数:点击执行仿真,得到如下仿真结果:LQR控制的阶跃响应如上
本文标题:倒立摆实验报告
链接地址:https://www.777doc.com/doc-7256767 .html