《基于Matlab的一级倒立摆模型的仿真.pdf》由会员分享,可在线阅读,更多相关《基于Matlab的一级倒立摆模型的仿真.pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于一阶倒立摆的 matlab 仿真实验实验人员:-学号:-实验日期:摘要本文主要研究的是一级倒立摆的控制问题,并对其参数进行了优化。倒立摆是典型的快速、多变量、非线性、强耦合、自然不稳定系统。由于在实际中有很多这样的系统,因此对它的研究在理论上和方法论上均有深远的意义。本文首先简单的介绍了一下倒立摆以及倒立摆的控制方法,并对其参数优化算法做了分类介绍。然后,介绍了本文选用的优化参数的状态空间极点的配置和 PID 控制。接着建立了一级倒立摆的数学模型,并求出其状态空间描述。本文着重讲述的是利用状态空间中极点配置实现方法。最后,用 Simulink 对系统进行了仿真,得出在实际控制中是两种比较好
2、的控制方法。目 录1 引言.4 1.1 倒立摆介绍以及应用.4 1.2 倒立摆的控制方法.52 单级倒立摆数学模型的建立.6 2.1 传递函数.8 2.2 状态空间方程.93 系统 Matlab 仿真和开环响应.10 4 系统设计.15 4.1 极点配置与控制器的设计.15 4.2 系统仿真:.16 4.3 仿真结果.17 4.4 根据传递函数设计第二种控制方法-PID 串级控制.185 结 论 .191 引言1.1 倒立摆介绍以及应用倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线
3、性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。通过对它的研究不仅可以解决控制中的理论和技术实现问题,还能将控制理论涉及的主要基础学科:力学,数学和计算机科学进行有机的综合应用。其控制方法和思路无论对理论或实际的过程控制都有很好的启迪,是检验各种控制理论和方法的有效的“试金石”。倒立摆的研究不仅有其深刻的理论意义,还有重要的工程背景。在多种控制理论与方法的研究与应用中,特别是在工程实践中,也存在一种可行性的实验问题,使其理论与方法得到有效检验,倒立摆就能为此提供一个从理论通往实践的桥梁,目前,对倒立摆的研
4、究已经引起国内外学者的广泛关注,是控制领域研究的热门课题之一。倒立摆不仅仅是一种优秀的教学实验仪器,同时也是进行控制理论研究的理想实验平台。由于倒立摆系统本身具有的高阶次、不稳定、多变量、非线性和强耦合特性,许多现代控制理论的研究人员一直将它视为典型的研究对象,不断从中发掘出新的控制策略和控制方法,相关的科研成果在航天科技和机器人学方面获得了广阔的应用。二十世纪九十年代以来,更加复杂多种形式的倒立摆系统成为控制理论研究领域的热点,每年在专业杂志上都有大量的优秀论文出现。因此,倒立摆系统在控制理论研究中是一种较为理想的实验装置。倒立摆主要应用在以下几个方面:(1)机器人的站立与行走类似于双倒立摆
5、系统,尽管第一台机器人在美国问世至今已有三十年的历史,机器人的关键技术-机器人的行走控制至今仍未能很好解决。(2)在火箭等飞行器的飞行过程中,为了保持其正确的姿态,要不断进行实时控制。(3)通信卫星在预先计算好的轨道和确定的位置上运行的同时,要保持其稳定的姿态,使卫星天线一直指向地球,使它的太阳能电池板一直指向太阳。(4)侦察卫星中摄像机的轻微抖动会对摄像的图像质量产生很大的影响,为了提高摄像的质量,必须能自动地保持伺服云台的稳定,消除震动。(5)为防止单级火箭在拐弯时断裂而诞生的柔性火箭(多级火箭),其飞行姿态的控制也可以用多级倒立摆系统进行研究。由于倒立摆系统与双足机器人、火箭飞行控制和各
6、类伺服云台稳定有很大相似性,因此对倒立摆控制机理的研究具有重要的理论和实践意义。1.2 倒立摆的控制方法倒立摆有多种控制方法。对倒立摆这样的一个典型被控对象进行研究,无论在理论上和方法上都具有重要意义。不仅由于其级数增加而产生的控制难度是对人类控制能力的有力挑战,更重要的是实现其控制稳定的过程中不断发现新的控制方法,探索新的控制理论,并进而将新的控制方法应用到更广泛的受控对象中。当前,倒立摆的控制方法可分为以下几类:(1)线性理论控制方法将倒立摆系统的非线性模型进行近似线性化处理,获得系统在平衡点附近的线性化模型,然后再利用各种线性系统控制器设计方法,得到期望的控制器。PID控制、状态反馈控制
7、、能量控制、LQR控制算法是其典型代表。(2)预测控制和变结构控制方法预测控制:是一种优化控制方法,强调的是模型的功能而不是结构。变结构控制:是一种非连续控制,可将控制对象从任意位置控制到滑动曲面上仍然保持系统的稳定性和鲁棒性,但是系统存在颤抖。预测控制、变结构控制和自适应控制在理论上有较好的控制效果,但由于控制方法复杂,成本也高,不易在快速变化的系统上实时实现2 单级倒立摆数学模型的建立在忽略了空气流动,各种摩擦之后,可将倒立摆系统抽象成小车和匀质杆组成的系统,如下图 1 所示图 1 单级倒立摆模型示意图那我们在本实验中定义如下变量:M 小车质量(本实验系统1.096 Kg)m 摆杆质量(本
8、实验系统0.109 Kg)b 小车摩擦系数(本实验系统0.1 N/m/sec)l 摆杆转动轴心到杆质心的长度(0.25 m)I 摆杆惯量(0.0034 kg*m*m)F 加在小车上的力x 小车位置摆杆与垂直向上方向的夹角摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)下面我们对这个系统作一下受力分析。下图 2 是系统中小车和摆杆的受力分析图。其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图,图示方向为矢量正方向。图 2 倒立摆模型受力分析分析小车水平方向所受的合力,可以得到等式:应用 Newto
9、n 方法来建立系统的动力学方程过程如下:分析小车水平方向所受的合力,可以得到以下方程:F bx NM x由摆杆水平方向的受力进行分析可以得到下面等式:N md2dt2(x lsin)2sin mlcos mlx即N m把这个等式代入上式中,就得到系统的第一个运动方程:cos ml2sin Fbx ml(M m)x (1)为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:d2P mg m2(lcos)dtsinml2cos即:P mg ml力矩平衡方程如下:Plsin Nl cos I注意:此方程中力矩的方向,由于,cos cos,sin sin,故等式前面有负
10、号。合并这两个方程,约去P和N,由432I 13ml得到第二个运动方程:(2)mgl sin mlcosml2x设(是摆杆与垂直向上方向之间的夹角),假设与 1(单位是d()2 0sin,dtcos 1,弧度)相比很小,即1,则可以进行近似处理:。用u来代表被控对象的输入力F,线性化后两个运动方程如下:4 g x3l ubx mlx(M m)(3)2.1 传递函数对方程组(3)进行拉普拉斯变换,得到422l(s)s g(s)X(s)s3(M m)X(s)s2bX(s)s ml(s)s2U(s)(4)注意:推导传递函数时假设初始条件为 0。由于输出为角度,求解方程组(4)的第一个方程,可以得到4
11、gX(s)l 2(s)3s把上式代入方程组(4)的第二个方程,得到(I ml2)g(I ml2)g 2(M m)(s)s b2(s)s ml(s)s2U(s)ssmlml整理后得到传递函数:ml2sqs 443(s)U(s)bml2qs3(M m)mgl2bmgls sqq22q(M m)(I ml)(ml)其中 2.2 状态空间方程系统状态空间方程为 AX BuXy CX Du,x方程组(3)对解代数方程,得到解如下:x x 4b3mg4 xxu(4M m)(4M m)(4M m)3b3g(M m)3 xu(4M m)l(4M m)l(4M m)l整理后得到系统状态空间方程:0 x0 x 0
12、 014b(4M m)03b(4M m)l03mg(4M m)03g(M m)(4M m)l00 x 40 x(4M m)u103 0(4M m)lxx1000 x0y 0u0010 带入参数可得系统的状态空间方程:0 x100-0.08831670.629317x 000 0-0.23565527.82850 x0 x 0.883160 u1002.35655xx1000 x0uy 001003 系统 Matlab 仿真和开环响应 系统开环稳定性分析 num=2.35655 0 0;den=1 0.088167-27.9169-2.30942;sys=tf(num,den)z,p,k=tf2
13、zp(num,den);step(sys)%阶跃响应曲线:grid on 阶跃响应曲线rlocus(sys)%根轨迹根轨迹bode(sys)%波特图A,B,C,D=tf2ss(num,den);Q=ctrb(A,B)rank(Q)%系统能控性分析Q=1.0000 -0.0882 27.9247 0 1.0000 -0.0882 0 0 1.0000 ans=3 由得到的 rank(Q)的值可知,原系统的能控性矩阵为 3,所以我们可知原系统是不能控的。m=obsv(A,C)rank(m)m=2.3565 0 0 -0.2078 65.7876 5.4423 65.8059 -0.3580 -0.
14、4798 ans=3 由得到的 rank(m)的值可知,原系统的能观性矩阵为 3,所以我们可知原系统是能观的。eig(A)ans=5.2810 -5.2864 -0.0827 由 eig(A)的值可知系统是不稳定的。4 系统设计4.1 极点配置与控制器的设计采用极点配置法设计多输出的倒立摆系统的控制方案。可以用完全状态反馈来解决,控制摆杆和小车的位置。设计状态反馈阵时,要使系统的极点设计成两个主导极点和两个非主导极点,用二阶系统的分析方法确定参数。根据系统性能要求:最大超调量 10%,调节时间为 1s-运用超调量计算公式:%w 5.66 得到 0.707n1-2 t 3sn得到两个主导极点为:
15、P1=-4+4.33j P2=-4-4.33j选取两个非主导极点:P3=-20 P4=-20根据 MATLAB 求取状态增益矩阵,程序如下:a=0 1 0 0 0-0.0883167 0.629317 0 0 0 0 1 0-0.23655 27.8285 0;b=0 0.883167 0 2.35655;p=-4+4.33j-6-4.33j-20-20;k=acker(a,b,p)k=-740.4267-247.3685 646.9576 113.8866 4.2 系统仿真:根据状态空间表达式建立一阶倒立摆 SimuLink 仿真图,如下:4.3 仿真结果系统仿真图(位置,速度,角度,角速度
16、)根轨迹4.4 根据传递函数设计第二种控制方法-PID 串级控制PID 控制器系统框图:经过几次参数调试得出 Kp=300,Ki=200,Kd=20 满足性能要求,其仿真图形如下:5 结 论本次设计主要通过 PID 串级控制和状态空间极点配置的方法对直线一级倒立摆进行校正,通过此次课程,掌握 MATLAB 的基本使用方法。在课程设计过程中,培养了团队协作能力,刻苦钻研以及编程能力,为今后的学习工作打下了良好的基础。经过这次课程,是我受益匪浅。第一、学会了如何运用自己所学的知识结合实践第二、硬件最然需要不断尝试,但不是盲目的调试,而是需要有理论作为指导,指明调整的方向,这样设计系统就会事半功倍。第三、Matlab 等工具软件的使用也大大提高了设计系统的速度。这些都是试验中珍贵的收获。最后再一次感谢老师的耐心讲解与精心的教诲,让我渡过难关,顺利完成实验。