直线二级倒立摆建模与matlab仿真LQR
直线二级倒立摆的建模和控制

西南科技大学自动化专业方向设计报告设计名称:直线二级倒立摆的建模和镇定控制姓名:学号:班级:指导教师:起止日期:方向设计任务书学生班级:学生姓名:学号:设计名称:方向设计学生日志直线二级倒立摆的建模与镇定控制摘要(150-250字)倒立摆是一个典型的多变量、非线性、强耦合、欠驱动的自然不稳定系统,对倒立摆系统的控制研究,能反映控制过程中的镇定、非线性和随动等问题,因此常用于各种控制算法的研究。
而且对倒立摆系统的研究还有重要的工程背景,对机器人行走、火箭的姿态调整等都有重要的现实意义。
本文以直线二级倒立摆系统为模型,阐释了直线二级倒立摆的建模方法和镇定控制算法。
其次介绍了直线二级倒立摆系统的结构和参数,应用拉格朗日方程建模方法详细推导了二级倒立摆的数学模型,并对系统的性能进行分析。
接下来,本文重点研究了最优控制算法在直线二级倒立摆镇定控制中的应用;在介绍倒立摆系统的最优控制算法的基础上,设计了系统的最优控制器,分析得出控制参数的选择规律;并且在Simulink上完成仿真实验,观察控制系统性能。
关键词:倒立摆;建模;LQR;镇定控制Modeling and Balance Control of the Linear Double InvertedPendulumAbstract:Inverted pendulum is a typical multivariable, nonliner, closed coupled and quick movement natural instable system.The process of control research can reflect many key problems in control theory, such as the problem of tranquilization, non linearity, following and so on. So the inverted pendulum is commonly used for the study of many kinds of control theory. The research of inverted pendulum also has important background of engineering, and has practical significance for the Robot walk and Rocket-profile adjustment.In this paper, taking the linear double inverted pendulum system as the control model, reaching of the control system based on lagrange equation and optimal control algorithm. First of all, giving out the research significance and situation of the inverted pendulum system,and introducing the linear double inverted pendulum modeling methods and stabilization control theory. Secondly, introducing the structure and parameters of the inverted pendulum system. Researching of the inverted pendulum mathematical model based on lagrange equation, and giving a detailed derivation, then having stability analysis of the system. Next, this paper studied the inverted pendulum system’s optimal control algorithm,and designed the LQR controller based on it,then coming to the law of selection of control parameters. Finishing the simulation in the Simulink software,observing the performance of the control system.Key words: inverted pendulum, modeling, LQR, balance control一、设计目的和意义二、控制要求对直线二级倒立摆模型的物理特性做分析,然后利用拉格朗日方程建模方法建立倒立摆的数学模型。
直线二级倒立摆系统MATLAB模型的建立与仿真

直线二级倒立摆系统模型的建立与仿真1 引言倒立摆是一个高阶次、非线性、快速、多变量、强藕合、不稳定的系统。
在控制理论发展过程中,倒立摆常常被做为典型的被控对象来验证某一理论的正确性,以及在实际应用中的可行性,通过对倒立摆引入一个适当的控制方法使之成为一个稳定系统,来检验控制方法对不稳定性、非线性和快速性系统的处理能力。
该控制方法在军工、航天、机器人等领域和一般工业过程中都有广泛应用。
本文主要讨论二级倒立摆系统模型的建立和仿真。
2二级倒立摆系统数学模型直线二级倒立摆系统是由直线运动模块和两级倒立摆组件组成。
主要包括导轨、小车和各级摆杆、编码器等元件。
由驱动电机给小车施加一个控制力,迫使小车在导轨上左右移动。
而小车的位移和各级摆杆角度由编码器测得。
倒立摆的控制目标是使倒立摆的摆杆能在有限长的导轨上快速的达到竖直向上的稳定状态,以实现系统的动态平衡,并且小车位移和摆杆角度的振荡幅度较小,系统具有一定的抗干扰能力。
系统简化后的直线二级倒立摆系统物理结构图如图2.1所示。
图1.二级倒立摆系统模型系统模型建立所用的各参数如下:应用Lagrange 方程建立的数学模型为012221221211121221222212212222cos (,)cos()cos cos()1121111121111m +m +m (m l +m L )cos m l H (m l +m L )cos J m l m L m l L m l m l L J m l θθθθθθθθθθ⎡⎤⎢⎥=++-⎢⎥⎢⎥-+⎣⎦.1011...1221212122.11222cos (,,,)0(0(112222222f m l +m L sin m l H f f m l L sin f m l L sin f f θθθθθθθθθθθθθ⎡⎤-•⎢⎥⎢⎥=--•+⎢⎥⎢⎥-•+-⎢⎥⎣⎦111()-)-) 312(,)h θθ= [0 11211()sin m l m L g θ+ 212sin m l g θ] T0h =[1 0 0]T()1121212121312022(,)(,,,),x x H H h h u θθθθθθθθθθθθ⎡⎤⎡⎤⎢⎥⎢⎥=++⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦3 倒立摆PID控制器系统PID控制是比例积分微分控制的简称。
二级倒立摆的建模与MATLAB仿真

二级倒立摆的建模与 MATLAB 仿真 刘文斌,等
二级倒立摆的建模与MATLAB仿真
刘文斌,干树川 (四川理工学院电子与信息工程系 四川自贡,643000)
取为最小值。设控制输入函数形式为: U(t)= -Kx(t) (11) 状态反馈矩阵: K = R -1B T P ( 12) 其中,P 可由 Riccati 微分方程: (13) 其中, 性能指标函数: (14)
[J].计算机测量与控制,2006,14(12):1641 - 1642 5 张 春,江 明,陈其工等.平行单级双倒立摆系统的建模与滑
模变结构控制[J].2008.1
23
图1 二级倒立摆模型
(1)
(2)
(3) 经过线性化如下: (4)
(上接第 7 页) 0; 0; 0; 0]; p=eig(A) [num,den]=ss2tf(A,B,C,D,1); printsys(num,den) Q=[1000 0 0 0 0 0; 0 0 0 0 0 0; 0 0 10 0 0 0; 0 0 0 0 0 0; 0 0 0 0 10 0; 0 0 0 0 0 0]; Tc=ctrb(A,B); rank(Tc) To=obsv(A,C); rank(To) R=1; K=lqr(A,B,Q,R); Ac=[(A-B*K)]; Bc=[B]; Cc=[C]; Dc=[D]; T=0:0.005:20; U=0.2*ones(size(T)); [Y,X]=lsim(Ac,Bc,Cc,Dc,U,T); plot(T,Y(:,1),':',T,Y(:,2),' -',T,Y(:,3),'
直线二级倒立摆建模与matlab仿真LQR

直线二级倒立摆建模与仿真1、直线二级倒立摆建模为进行性线控制器的设计,首先需要对被控制系统进行建模.二级倒立摆系统数学模型的建立基于以下假设:1)每一级摆杆都是刚体;2)在实验过程中同步带长保持不变;3)驱动力与放大器输入成正比,没有延迟直接拖加于小车;4)在实验过程中动摩擦、库仑摩擦等所有摩擦力足够小,可以忽略不计。
图1 二级摆物理模型二级倒立摆的参数定义如下:M 小车质量m1摆杆1的质量m2摆杆2的质量m3质量块的质量l1摆杆1到转动中心的距离l2摆杆2到转动中心的距离θ1摆杆1到转动与竖直方向的夹角θ2摆杆2到转动与竖直方向的夹角F 作用在系统上的外力利用拉格朗日方程推导运动学方程拉格朗日方程为:其中L 为拉格朗日算子,q 为系统的广义坐标,T 为系统的动能,V 为系统的势能其中错误!未找到引用源。
,错误!未找到引用源。
为系统在第i 个广义坐标上的外力,在二级倒立摆系统中,系统有三个广义坐标,分别为x,θ1,θ2,θ3。
首先计算系统的动能:其中错误!未找到引用源。
,错误!未找到引用源。
,错误!未找到引用源。
,错误!未找到引用源。
分别为小车的动能,摆杆1的动能,摆杆2的动能和质量块的动能。
小车的动能:错误!未找到引用源。
,其中错误!未找到引用源。
,错误!未找到引用源。
分别为摆杆1的平动动能和转动动能。
错误!未找到引用源。
,其中错误!未找到引用源。
,错误!未找到引用源。
分别为摆杆2的平动动能和转动动能。
对于系统,设以下变量: xpend1摆杆1质心横坐标 xpend2摆杆2质心横坐标 yangle1摆杆1质心纵坐标 yangle2摆杆2质心纵坐标 xmass 质量块质心横坐标 ymass 质量块质心纵坐标 又有:(,)(,)(,)L q q T q q V q q =-则有:系统总动能:系统总势能:则有:求解状态方程:可解得:使用MATLAB对得到的系统进行阶跃响应分析,执行命令:A=[0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 1 01;0 0 0 0 0 0;0 86.69 -21.62 0 0 0;0 -40.31 39.45 0 0 0];B=[0;0;0;1;6.64;-0.808];C=[1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];D=[0;0;0];sys=ss(A,B,C,D);t=0:0.001:5;step(sys,t)求取系统的单位阶跃响应曲线:图2 二级摆阶跃响应曲线由图示可知系统小车位置、摆杆1角度和摆杆2角度均发散,需要设计控制器以满足期望要求。
倒立摆系统建模及MATLAB仿真

倒立摆系统的建模及MATLAB仿真通过建立倒立摆系统的数学模型,应用状态反馈控制配置系统极点设计倒立摆系统的控制器,实现其状态反馈,从而使倒立摆系统稳定工作。
之后通过MA TLAB 软件中Simulink工具对倒立摆的运动进行计算机仿真,仿真结果表明,所设计方法可使系统稳定工作并具有良好的动静态性能。
倒立摆系统是1个经典的快速、多变量、非线性、绝对不稳定系统,是用来检验某种控制理论或方法的典型方案。
倒立摆控制理论产生的方法和技术在半导体及精密仪器加工、机器人技术、导弹拦截控制系统和航空器对接控制技术等方面具有广阔的开发利用前景。
因此研究倒立摆系统具有重要的实践意义,一直受到国内外学者的广泛关注。
本文就一级倒立摆系统进行分析和研究,建立倒立摆系统的数学模型,采用状态反馈极点配置的方法设计控制器,并应用MA TLAB 软件进行仿真。
1 一级倒立摆系统的建模1. 1 系统的物理模型如图1 所示,在惯性参考系下,设小车的质量为M ,摆杆的质量为m ,摆杆长度为l ,在某一瞬间时刻摆角(即摆杆与竖直线的夹角)为θ,作用在小车上的水平控制力为f 。
这样,整个倒立摆系统就受到重力,水平控制力和摩擦力的3 外力的共同作用。
图1 一级倒立摆物理模型1. 2 系统的数学模型在系统数学模型中,本文首先假设:(1) 摆杆为刚体。
(2)忽略摆杆与支点之间的摩擦。
(3)忽略小车与导轨之间的摩擦。
然后根据牛顿第二运动定律,求得系统的运动方程为:方程(1) , (2) 是非线性方程,由于控制的目的是保持倒立摆直立,在施加合适的外力条件下,假定θ很小,接近于零是合理的。
则sinθ≈θ,co sθ≈1 。
在以上假设条件下,对方程线性化处理后,得倒立摆系统的数学模型:1. 3 系统的状态方程以摆角θ,角速度θ',小车的位移x ,速度x'为状态变量,输出为y 。
即令:则一级倒立摆系统的状态方程为:2 控制器设计及MATLAB 仿真2. 1 极点配置状态反馈的基本原理图2 状态反馈闭环控制系统极点配置的方法就是通过一个适当的状态反馈增益矩阵的状态反馈方法,将闭环系统的极点配置到任意期望的位置。
二级倒立摆系统的控制与仿真

二级倒立摆系统的控制与仿真一、引言在计算机参与的具有联系受控对象的控制系统中,有必要对联系控制系统设计数字控制器的必要,一般对于联系的控制对象设计数字控制器的方法有:第一种是应用联系系统理论得到的联系控制规律,再将控制规律离散化,用控制器实现,第二种是将联系的控制对象离散化,用离散控制理论设计控制器参数,数字再设计就是根据连续系统及相应的控制规律如何重新设计对应的离散系统与相应的离散控制规律。
我们采用的是最优等价准则、双线性变换法、平均增益法进行数字再设计。
二、LQR控制器设计(1) 二级倒立摆系统的状态空间模型设线性定常系统为x’=A*x(t)+B*u(t),y=C*x(t)其初始条件为x(t)=x0;其中:A=[0,1,0,0;40,0,0,0;0,0,0,1;-6,0,0,0];B=[0;-2;0;0.8];C=[1,0,0,0;0,0,1,0](2) 系统的能控性判定n=size(A); Tc=ctrb(A,B); nc=rank(Tc)n=6 6 nc=6从运行结果可知,系统的阶次为6,能控性矩阵的秩也为6,因此系统是能控的。
(3) 系统的能观性判定To=obsv(A,C);no=rank(To)no=6从运行结果可知,能观性矩阵的秩为6,与系统的阶次相等,因此系统是能观测的。
(4) LQR控制设计基于一级倒立摆系统具有能控性和能观性,因此可采用LQR进行控制,经大量反复试验和仿真,选取R=0.2,Q=[1 0 0 0 0 0;0 64 0 0 0 0;0 0 256 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0];F=lqr(A,B,Q,R)得到:F =2.2361 106.6465 -155.4620 5.1719 4.9639 -24.5330三、仿真曲线采用LQR控制方式,设初始状态为x(0)=[1,-1,0,0]’,在相同采样周期T下应用数字再设计方法对一级倒立摆系统进行仿真,其中F(T)分别取为:1. F(T)=F1(T)=F2. F(T)=F2(T)=F[I+(A+BF)T/2]3. F(T)=F3(T)=F[I-(A+BF)/2]-1(1) T=0.013s,øc=e(A+BF)T时系统的极点、状态x1、x2、x3的离散仿真曲线A=[0,0,0,1,0,0;0,0,0,0,1,0;0,0,0,0,0,1;0,0,0,0,0,0;0,77.0642,-21.1927,0,0, 0;0,-38.5321,37.8186,0,0,0];B=[0;0;0;1;5.7012;-0.0728];C=[1,0,0,0,0,0;0,1,0,0,0,0;0,0,1,0,0,0];D=[0;0;0];Q=[1 0 0 0 0 0;0 64 0 0 0 0;0 0 256 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0];R=0.2;F=lqr(A,B,Q,R)T=0.013;[G,H]=c2d(A-B*F,B,T); %%离散一的函数p0=eig(G),x0=[1 -1 0.5 0 0 0]';[y,x t]=dinitial(G,B,C,D,x0);t=0:0.1:(t-1)/10;subplot(3,1,1),x1=[1 0 0 0 0 0]*x'; %%响应曲线plot(t,x1);grid;title('状态变量x1的响应曲线')subplot(3,1,2),x2=[0 1 0 0 0 0]*x';plot(t,x2);grid;title('状态变量x2的响应曲线')subplot(3,1,3),x3=[0 0 1 0 0 0]*x';plot(t,x3);grid;title('状态变量x3的响应曲线')p0 =0.8647 + 0.0473i0.8647 - 0.0473i0.9224 + 0.0618i0.9224 - 0.0618i0.9932 + 0.0066i0.9932 - 0.0066i图1 øc=e(A+BF)T(2) T=0.013s,øc=ø +ΓF1(T)时系统的极点、状态x1、x2、x3的离散仿真曲线A=[0,0,0,1,0,0;0,0,0,0,1,0;0,0,0,0,0,1;0,0,0,0,0,0;0,77.0642,-21.1927,0,0,0;0,-38.5321,37.8186,0,0,0];B=[0;0;0;1;5.7012;-0.0728];C=[1,0,0,0,0,0;0,1,0,0,0,0;0,0,1,0,0,0];D=[0;0;0];Q=[1 0 0 0 0 0;0 64 0 0 0 0;0 0 256 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0];R=0.2;F=lqr(A,B,Q,R)T=0.013;[Ad,B]=c2d(A,B,T); %%离散二的函数Ad=Ad-B*F;p1=eig(Ad)x0=[1 -1 0.5 0 0 0]';[y,x t]=dinitial(Ad,B,C,D,x0);t=0:0.1:(t-1)/10;subplot(3,1,1),x1=[1 0 0 0 0 0]*x'; %%显示程序plot(t,x1);grid;title('状态变量x1的响应曲线')subplot(3,1,2),x2=[0 1 0 0 0 0]*x';plot(t,x2);grid;title('状态变量x2的响应曲线')subplot(3,1,3),x3=[0 0 1 0 0 0]*x';plot(t,x3);grid;title('状态变量x3的响应曲线')p1 =0.8349 + 0.0388i0.8349 - 0.0388i0.9247 + 0.0561i0.9247 - 0.0561i0.9932 + 0.0066i0.9932 - 0.0066i图2 øc=ø +ΓF1(T)(3) T=0.013s,øc=ø+ΓF2(T)时系统的极点、F(T)值和状态x1、x2、x3的离散仿真曲线A=[0,0,0,1,0,0;0,0,0,0,1,0;0,0,0,0,0,1;0,0,0,0,0,0;0,77.0642,-21.1927,0,0, 0;0,-38.5321,37.8186,0,0,0];B=[0;0;0;1;5.7012;-0.0728];C=[1,0,0,0,0,0;0,1,0,0,0,0;0,0,1,0,0,0];D=[0;0;0];Q=[1 0 0 0 0 0;0 64 0 0 0 0;0 0 256 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0];R=0.2;F=lqr(A,B,Q,R)T=0.013;P2=(A-B*F)*T/2; %%离散3的函数F2=F*(eye(size(P2))+P2)[Add,B]=c2d(A,B,T);Ad=[Add-B*F2];p2=eig(Ad)x0=[1 -1 0.5 0 0 0]';[y,x,t]=dinitial(Ad,B,C,D,x0);t=0:0.1:(t-1)/10;subplot(3,1,1),x1=[1 0 0 0 0 0]*x'; %%显示程序plot(t,x1);grid;title('状态变量x1的响应曲线')subplot(3,1,2),x2=[0 1 0 0 0 0]*x';plot(t,x2);grid;title('状态变量x2的响应曲线')subplot(3,1,3),x3=[0 0 1 0 0 0]*x';plot(t,x3);grid;title('状态变量x3的响应曲线')F2 =1.7236 90.8365 -126.5481 4.0012 4.5195 -19.9211 p2 =0.8676 + 0.0465i0.8676 - 0.0465i0.9224 + 0.0627i0.9224 - 0.0627i0.9932 + 0.0066i0.9932 - 0.0066i图3 øc=ø+ΓF2(T)(4) T=0.013s,øc=ø+ΓF3(T)时系统的极点、F(T)值和状态x1、x2、x3的离散仿真曲线A=[0,0,0,1,0,0;0,0,0,0,1,0;0,0,0,0,0,1;0,0,0,0,0,0;0,77.0642,-21.1927,0,0, 0;0,-38.5321,37.8186,0,0,0];B=[0;0;0;1;5.7012;-0.0728];C=[1,0,0,0,0,0;0,1,0,0,0,0;0,0,1,0,0,0];D=[0;0;0];Q=[1 0 0 0 0 0;0 64 0 0 0 0;0 0 256 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0];R=0.2;F=lqr(A,B,Q,R)T=0.013;P3=(A-B*F)*T/2; %%离散4的函数F3=F*(eye(size(P3))-P3)^-1[Add,B]=c2d(A,B,T);Ad=[Add-B*F3];p3=eig(Ad),[y,x,t]=dinitial(Ad,B,C,D,x0);t=0:0.1:(t-1)/10;subplot(3,1,1),x1=[1 0 0 0 0 0]*x'; %%显示程序plot(t,x1);grid;title('状态变量x1的响应曲线')subplot(3,1,2),x2=[0 1 0 0 0 0]*x';plot(t,x2);grid;title('状态变量x2的响应曲线')subplot(3,1,3),x3=[0 0 1 0 0 0]*x';plot(t,x3);grid;title('状态变量x3的响应曲线')F3 =1.7779 92.1683 -129.2365 4.1238 4.5459 -20.3464 p3 =0.8655 + 0.0476i0.8655 - 0.0476i0.9222 + 0.0622i0.9222 - 0.0622i0.9932 + 0.0066i0.9932 - 0.0066i图4 øc=ø+ΓF3(T)由上面的1-4图我们可以知道:F(T)分别取F1(T),F2(T),F3(T)构成的闭环离散系统时仿真曲线基本一致,相应情况的闭环极点也基本相同,而取F(T)=F3(T)时,从系统的极点看,用øc=ø+ΓF3(T)代替øc=e(A+BF)T 构成闭环系统的精确度相当好。
直线倒立摆系统的LQR控制器设计及仿真_毕业设计精品

直线倒立摆系统的LQR控制器设计及仿真_毕业设计精品1.引言直线倒立摆系统主要由一个质量块和一个固定的轨道组成,质量块可以在轨道上自由运动。
该系统的目标是在面对各种扰动时保持质量块的平衡。
LQR控制器是一种优化控制方法,可以通过调整控制器的参数来实现系统动态响应的优化。
2.直线倒立摆系统建模m*x''+b*v+m*g=f-u在LQR控制器设计过程中,需要将系统的动力学方程转化为状态空间模型。
定义状态变量为x1=x,x2=x',那么系统的状态空间模型可以表示为:x1'=x2x2'=(1/m)*(f-u-b*x2-m*g)3.LQR控制器设计LQR控制器设计的目标是通过调整控制器的参数来最小化系统的性能指标J。
在直线倒立摆系统中,我们可以选择以能耗作为性能指标,即J = ∫(u(t)^2)dt。
那么LQR控制器设计的目标是最小化能耗。
LQR控制器设计方法的关键是设计系统的状态反馈增益矩阵K。
具体的设计步骤如下:1)将系统的状态空间模型表示为矩阵形式:x'=Ax+Buy=Cx+Du其中,A为状态转移矩阵,B为输入矩阵,C是输出矩阵,D为直接递增矩阵。
2) 根据系统的状态空间模型计算系统的LQR控制器增益矩阵K。
增益矩阵K可以通过解代数矩阵Riccati方程得到:K=(R+B'*S*B)^(-1)*B'*S*A其中,S为Riccati方程的解。
3) 计算系统的控制器增益矩阵L。
增益矩阵L可以通过解代数矩阵Riccati方程得到:L=(R+B'*S*B)^(-1)*B'*S*C4.LQR控制器仿真在设计完成LQR控制器之后,可以进行仿真实验来验证控制器的效果。
可以使用MATLAB或Simulink来进行仿真。
在仿真实验中,需要设置各个参数的初始值,并且加入一些扰动以测试控制器的稳定性。
通过观察系统的状态变量和控制力的响应曲线,可以评估控制器的性能。
倒立摆系统建模及MATLAB仿真

倒立摆系统的建模及MATLAB仿真通过建立倒立摆系统的数学模型,应用状态反馈控制配置系统极点设计倒立摆系统的控制器,实现其状态反馈,从而使倒立摆系统稳定工作。
之后通过MA TLAB 软件中Simulink工具对倒立摆的运动进行计算机仿真,仿真结果表明,所设计方法可使系统稳定工作并具有良好的动静态性能。
倒立摆系统是1个经典的快速、多变量、非线性、绝对不稳定系统,是用来检验某种控制理论或方法的典型方案。
倒立摆控制理论产生的方法和技术在半导体及精密仪器加工、机器人技术、导弹拦截控制系统和航空器对接控制技术等方面具有广阔的开发利用前景。
因此研究倒立摆系统具有重要的实践意义,一直受到国内外学者的广泛关注。
本文就一级倒立摆系统进行分析和研究,建立倒立摆系统的数学模型,采用状态反馈极点配置的方法设计控制器,并应用MA TLAB 软件进行仿真。
1 一级倒立摆系统的建模1. 1 系统的物理模型如图1 所示,在惯性参考系下,设小车的质量为M ,摆杆的质量为m ,摆杆长度为l ,在某一瞬间时刻摆角(即摆杆与竖直线的夹角)为θ,作用在小车上的水平控制力为f 。
这样,整个倒立摆系统就受到重力,水平控制力和摩擦力的3 外力的共同作用。
图1 一级倒立摆物理模型1. 2 系统的数学模型在系统数学模型中,本文首先假设:(1) 摆杆为刚体。
(2)忽略摆杆与支点之间的摩擦。
(3)忽略小车与导轨之间的摩擦。
然后根据牛顿第二运动定律,求得系统的运动方程为:方程(1) , (2) 是非线性方程,由于控制的目的是保持倒立摆直立,在施加合适的外力条件下,假定θ很小,接近于零是合理的。
则sinθ≈θ,co sθ≈1 。
在以上假设条件下,对方程线性化处理后,得倒立摆系统的数学模型:1. 3 系统的状态方程以摆角θ,角速度θ',小车的位移x ,速度x'为状态变量,输出为y 。
即令:则一级倒立摆系统的状态方程为:2 控制器设计及MATLAB 仿真2. 1 极点配置状态反馈的基本原理图2 状态反馈闭环控制系统极点配置的方法就是通过一个适当的状态反馈增益矩阵的状态反馈方法,将闭环系统的极点配置到任意期望的位置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
直线二级倒立摆建模与仿真
1、直线二级倒立摆建模
为进行性线控制器的设计,首先需要对被控制系统进行建模.二级倒立摆系统数学模型的建立基于以下假设:
1)每一级摆杆都是刚体;
2)在实验过程中同步带长保持不变;
3)驱动力与放大器输入成正比,没有延迟直接拖加于小车;
4)在实验过程中动摩擦、库仑摩擦等所有摩擦力足够小,可以忽略不计。
图1 二级摆物理模型
二级倒立摆的参数定义如下:
M 小车质量
m1摆杆1的质量
m2摆杆2的质量
m3质量块的质量
l1摆杆1到转动中心的距离
l2摆杆2到转动中心的距离
θ1摆杆1到转动与竖直方向的夹角
θ2摆杆2到转动与竖直方向的夹角
F 作用在系统上的外力
利用拉格朗日方程推导运动学方程
拉格朗日方程为:
其中L 为拉格朗日算子,q 为系统的广义坐标,T 为系统的动能,V 为系统的势能
其中错误!未找到引用源。
,错误!未找到引用源。
为系统在第i 个广义坐标上的外力,在二级倒立摆系统中,系统有三个广义坐标,分别为x,θ1,θ2,θ3。
首先计算系统的动能:
其中错误!未找到引用源。
,错误!未找到引用源。
,错误!未找到引用源。
,错误!未找到引用源。
分别为小车的动能,摆杆1的动能,摆杆2的动能和质量块的动能。
小车的动能:
错误!未找到引用源。
,其中错误!未找到引用源。
,错误!未找到引用源。
分别为摆杆1的平动动能和转动动能。
错误!未找到引用源。
,其中错误!未找到引用源。
,错误!未找到引用源。
分别为摆杆2的平动动能和转动动能。
对于系统,设以下变量: xpend1摆杆1质心横坐标 xpend2摆杆2质心横坐标 yangle1摆杆1质心纵坐标 yangle2摆杆2质心纵坐标 xmass 质量块质心横坐标 ymass 质量块质心纵坐标 又有:
(,)(,)(,)
L q q T q q V q q =-
则有:
系统总动能:系统总势能:则有:
求解状态方程:可解得:
使用MATLAB对得到的系统进行阶跃响应分析,执行命令:
A=[0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 1 01;
0 0 0 0 0 0;
0 86.69 -21.62 0 0 0;
0 -40.31 39.45 0 0 0];
B=[0;0;0;1;6.64;-0.808];
C=[1 0 0 0 0 0;
0 1 0 0 0 0;
0 0 1 0 0 0];
D=[0;0;0];
sys=ss(A,B,C,D);
t=0:0.001:5;
step(sys,t)
求取系统的单位阶跃响应曲线:
图2 二级摆阶跃响应曲线
由图示可知系统小车位置、摆杆1角度和摆杆2角度均发散,需要设计控制器以满足期望要求。
2.直线二级倒立摆极点配置控制
通过引入状态反馈的方法进行极点配置,使系统满足要求。
我们借用LQR的模块,只是把LQR中K值的计算方式变了。
图3 二级摆极点配置演示图
对于控制系统
=+
X AX Bu
式中
X 为状态向量(n维)、u控制向量(纯量)、A为n×n维常数矩阵、B为n×1维常数矩阵、选择控制信号为:错误!未找到引用源。
求解上式,得到
()()()x t A BK x t =-
方程的解为:
()()(0)A BK t x t e x -=
可以看出,如果系统状态完全可控,K 选择适当,对于任意的初始状态,当t 趋于无穷时,都可以使x (t )趋于0。
极点配置的设计步骤:
1) 检验系统的可控性条件。
2) 从矩阵 A 的特征多项式
111n sn n n
sI A s a a s a ---=++
++
来确定
1a ,
2
a ,…
n
a 的值。
3) 确定使状态方程变为可控标准型的变换矩阵 T:
T MW =
其中 M 为可控性矩阵,
1n M B AB A B -⎡⎤=⎣⎦
1211231
001
1001
000an an a an an W a --⎡⎤
⎢⎥--⎢⎥
⎢
⎥=⎢
⎥⎢⎥⎢⎥⎣
⎦
4) 利用所期望的特征值,写出期望的多项式
11211()()()n n n n n
s s s s s s μμμααα-----=++++
并确定错误!未找到引用源。
的值。
5) 需要的状态反馈增益矩阵 K 由以下方程确定:
111
2211[]n n n n K a a a a T αααα---=----
上述方法给出所要求的状态反馈增益矩阵K 。
前面我们已经得到了直线一级倒立摆的状态空间模型,以小车加速度作为输入的系统状态方程为:
于是可以确定出相应的A 、B 、C 、D 。
按极点配置步骤进行计算:
1) 检验系统可控性,由系统可控性分析可以得到,系统的状态完全可控性矩阵的秩等于系统的状态维数6,系统的输出完全可控性矩阵的秩等于系统输出向量y 的维数3,所以系统可控。
2)计算特征值,根据要求,并留有一定的裕量(设调整时间为2.5秒),我们选取期望的闭环极点:
P=[-10-0.0001*j,-10+0.0001*j,-1.5-2*sqrt(3)*j,-1.5+2*sqrt(3)*j,-5+0.1*j,-5-0.1*j]
因此期望的特征方程为:
3) 确定使状态方程变为可控标准型的变换矩阵 T: 4) 于是有状态反馈增益矩阵K 为:
K=13.9849、79.9262、-121.6517、11.3329、3.0025、-19.6633
状态反馈增益矩阵按上述的方法确定,即可使误差(由扰动所引起的)以足够快的速度
降到零。
对于一个给定的系统,矩阵并不是唯一的,而是取决于所期望的闭环极点位置的选择。
选择期望的闭环极点或期望的特征方程是在误差矢量响应的快速性与对扰动和测量噪声敏感型之间的一个折衷方案。
也就是说,如果我们使误差响应的速度提高,那么扰动和测量噪声的有害影响往往也会增强。
在确定给定系统的状态反馈增益矩阵K时,通常是通过比较按不同的期望闭环极点或期望特征方程得到的矩阵K。
下面对以上的计算结果在MATLAB Simulink中进行仿真:
图4 二级摆极点配置仿真图
运行仿真,得到以下结果:
图5 二级摆极点配置仿真结果
可以看出,在给定系统干扰后,倒立摆可以在2秒内很好的回到平衡位置,满足设计要求。
3.实验数据记录与结果分析
将LQR的模块进行改动
按照仿真结果参数进行调节,得到结果如下:
图6 二级摆极点配置实际控制仿真图
示波器窗口中,从上至下一次表示小车位置,二级摆角度、一级摆角度。
由图可知,这三个量都呈现出微小的简谐振动,但系统基本上可以稳定,满足实验期望。