基于Matlab的吊车-双摆系统控制PPT课件.ppt_第1页
基于Matlab的吊车-双摆系统控制PPT课件.ppt_第2页
基于Matlab的吊车-双摆系统控制PPT课件.ppt_第3页
基于Matlab的吊车-双摆系统控制PPT课件.ppt_第4页
基于Matlab的吊车-双摆系统控制PPT课件.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,基于Matlab的吊车-双摆系统控制,2,一、吊车-双摆系统控制的描述 二、吊车-双摆系统状态空间表达式建立 三、应用Matlab对系统性能进行分析 1、可控性 2、可观测性 四、控制系统综合设计和最优控制设计,3,一、吊车-双摆系统控制的描述 吊车-双摆系统是一个非线性、多变量的复杂系统,是检验各种控制理论的理想模型。实际的吊车需要将货物尽可能快地运送到目的地,并在移动过程中不能有大的晃动,这就要求吊车在移动过程中保持上下摆角平稳而且小车本身又要达到指定的位置,这些要求可通过电机的控制来实现。,4,双摆实验控制系统,吊车-双摆系统模型原理类似双摆实验控制系统。该实验系统控制的目的是:当滑

2、车在导轨上以一定速度和加速度运动时,应保持双摆的摆动角度最小;或双摆有任一初始摆角时,系统将使双摆迅速返回平衡位置。,5,双摆计算机控制系统结构图,6,图中所标参数:M为吊车质量;m1为上摆质量;m2为下摆质量;为下摆角;为上摆角;L1为上摆杆长度;L2为下摆杆长度;F为拉小车的力。,吊车双摆系统模型,7,二、状态空间表达式的建立,列写系统状态空间表达式的方法很多,主要有根据系统微分方程、传递函数等求解状态方程,这里利用拉格朗日方程建立双摆系统的动力学方程并进行适当的简化,以得到在小扰动情况下系统的线性化状态方程。,8,以控制力为输入建立双摆系统的数学模型,:拖动电机对于滑车的控制力 :滑车质

3、量 :上摆关节的质量 :下摆关节的质量(包括摆锤) :滑车距参考坐标系原点的横坐标 :上摆摆动角度 :下摆摆动角度 :下摆关节摆动角度,且满足,图 双摆系统受力分析图,M,F,9,吊车双摆摆系统是一个单输入多输出系统,输入是一个电压值,表示小车的目标位置;6 个输出对应于状态空间方程的6 个状态量分别表示小车的实际位置、小车的响应速度、上摆摆杆的角度、上摆摆杆的响应角速度、下摆摆杆的角度和下摆摆杆的响应角速度。吊车双摆系统是具有三个自由度的机械系统,其第一个自由度的广义驱动力由力矩电机产生,第二、三个自由度均为摆杆相对于铰链的自由摆动,广义力为零。,10,建立系统的拉格朗日方程如下:,11,可

4、得关于小车、上摆角、下摆角的状态方程:,对系统在平衡点附近做线性化处理,进行受力分析,结合以上系统的拉格朗日方程然后进行线性化处理,取状态变量,12,将参数带入状态方程,可得到吊车双摆系统状态方程为:,T,T,13,三、应用Matlab 分析控制系统性能(可控性、可观测性),可控性就是分析输入对状态的控制能力,可观测性则是分析输出对状态的反映能力。如果系统的某一个状态的运动可以有输入来控制而由任意初始状态到达原点,则称系统的此状态可控;如果系统的某一个状态的任意形式的运动可由输出来反映,则称系统的此状态可观测。 Matlab 控制系统工具箱提供判别可控和可观测性的函数ctrb和obsv 。,可

5、控性判别语句 A=n*n;B=n*r M=ctrb(A,B),n=rank(M) 可观测性判别语句: A=n*n;C=n*n N=obsv(A,C),rN=rank(N),14,可控性判别 A=0,1,0,0,0,0;0,-58.1558,-13.3099,0,0,0;0,0,0,1,0,0;0,-73.7445,-112.7311,0,79.6748,0;0,0,0,0,0,1;0,73.7445,112.7311,0,-247.1962,0;B=0;9.48888;0;46.275;0;-46.275 M=ctrb(A,B),N=rank(M)(M称为可控性矩阵) M = 1.0e+009

6、 * 0 0.0000 -0.0000 0.0000 -0.0018 0.1055 0.0000 -0.0000 0.0000 -0.0018 0.1055 -6.1058 0 0.0000 -0.0000 0.0000 -0.0022 0.1288 0.0000 -0.0000 0.0000 -0.0022 0.1288 -7.3680 0 -0.0000 0.0000 -0.0000 0.0021 -0.1248 -0.0000 0.0000 -0.0000 0.0021 -0.1248 7.0214 N = 6,15,四、控制系统综合设计和最优控制设计,1、利用状态空间法进行Matlab

7、仿真 状态空间法可以进行单输入多输出系统设计。State.m仿真程序如下:,Ke=0.4758; Kt=0.0491; J=0.0001; Ra=13.5; r=0.02276; m1=0.3; m2=0.5; M=0.4; L1=0.205; L2=0.156; g=9.8; p=Ke*Kt; m=m1+m2; q=M*r2+J; o=M+m; A=0 1 0 0 0 0;0 -p/(Ra*q) -m*g*r2/q 0 0 0;0 0 0 1 0 0;0 -p/(Ra*q) -(o*r2+J)*g/(q*L1) 0 m2*g/(m1*L1) 0;0 0 0 0 0 1;0 p/(Ra*q)

8、(o*r2+J)*g/(q*L1) 0 -(m2*L2+m1*L1+m2*L1)*g/(m1*L1*L2) 0 B=0;r*Kt/(Ra*q);0;r*Kt/(Ra*q*L1);0;-r*Kt/(Ra*q*L1) C=1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0;0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1 D=0;0;0;0;0;0 T=0:0.005:5; U=1*ones(size(T); Y,X=lsim(A,B,C,D,U,T); plot(T,Y) axis(0 1 0 0.1) grid,16,仿真结果,17,连续系统的控制器采

9、用连续系统的S函数来实现。在S函数中,只采用初始化和输出函数,即mdlInitializeSizes函数和mdlOutputs函数。在输出中实现控制器,其中S=1时为线性二次型最优控制(LQR控制)。S函数嵌入在Simulink程序中。 在Simulink仿真结果中,角度通过弧度值乘以得到度的表示形式。仿真程序由三部分组成:主程序;Simulink程序仿真模型;S函数程序。,二、Simulink仿真及最优控制,18,主程序: cdp.m %control for Crane Double Pendulum clear all; close all; global K A= 0 1.0000 0

10、 0 0 0;0 -58.1558 -13.3099 0 0 0 ;0 0 0 1.0000 0 0;0 -73.7445 -112.7311 0 79.6748 0;0 0 0 0 0 1.0000;0 73.7445 112.7311 0 -247.1962 0 B=0;9.48888;0;46.275;0;-46.275 C=1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0;0 0 0 1 0 0;0 0 0 0 1 0; 0 0 0 0 0 1 D=0 0 0 0 0 0 Q=1000 0 0 0 0 0;0 1 0 0 0 0;0 0 100 0 0 0;0 0

11、 0 1 0 0;0 0 0 0 100 0;0 0 0 0 0 1; R=0.1; K=lqr(A,B,Q,R); cdpsim;,19,Simulink程序仿真模型,信号和系统模块混路器(Mux):将几个输入信号组合为向量或总线输出信号,信号源模块:阶跃输入,信号和系统模块分路(Demux):功能反之,非线性系统模块,比例放大器模块,20,S函数程序: cdps.m % S-function for continuous state equation functionsys,x0,str,ts=s_function(t,x,u,flag) switch flag, %Initializat

12、ion初始化 case 0, sys,x0,str,ts=mdlInitializeSizes; %Outputs case 3, sys=mdlOutputs(t,x,u); %Unhandled flags case1,2,4,9 sys=; %Unexpected flags otherwise error(Unhandled flag =,num2str(flag); end %mdlInitializeSizes初始化 function sys,x0,str,ts=mdlInitializeSizes sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 1; sizes.NumInputs = 7; sizes.DirFeedthrough = 0; sizes.NumSampleTimes = 0; sys=simsizes(sizes); x0=; str=; ts=; %mdlOutputs function sys = mdlOutputs(t,x,u) global K S=1; if S=1 sys=-K*u(1)-u(7);u(2);u(3);u(4);u(5);u(6);%LQ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论