双摆能控性分析控制系统数字仿真与CAD学习总结报告

上传人:鲁** 文档编号:508096825 上传时间:2023-09-30 格式:DOC 页数:10 大小:354.50KB
返回 下载 相关 举报
双摆能控性分析控制系统数字仿真与CAD学习总结报告_第1页
第1页 / 共10页
双摆能控性分析控制系统数字仿真与CAD学习总结报告_第2页
第2页 / 共10页
双摆能控性分析控制系统数字仿真与CAD学习总结报告_第3页
第3页 / 共10页
双摆能控性分析控制系统数字仿真与CAD学习总结报告_第4页
第4页 / 共10页
双摆能控性分析控制系统数字仿真与CAD学习总结报告_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《双摆能控性分析控制系统数字仿真与CAD学习总结报告》由会员分享,可在线阅读,更多相关《双摆能控性分析控制系统数字仿真与CAD学习总结报告(10页珍藏版)》请在金锄头文库上搜索。

1、文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。控制系统数字仿真与CAD学习总结报告题目:双摆系统的建模与仿真院 系: 电气工程及其自动化 专 业: 工业自动化 授课教师: 张晓华 本 科 生: 郑剑飞 班 级: 0006512学 号: 2完成时间: 2004.5.4摘 要本文利用牛顿运动定律建立了双摆系统的数学模型,并在摆角很小时的近似条件下对其进行了线性化;利用MATLAB仿真确定了以上模型的可信程度并指出其适用范围;最后研究了该系统的能控性和参数间的关系。关键词双摆系统建模 线性化 MATLAB仿真 能控性1. 前言1.1 课题的背景倒立摆的模型有着广泛的

2、工程背景,像杂技演员独轮车表演、火箭发射助推器等,经过近似简化处理都可以抽象为一阶倒立摆。二阶倒立摆与双足机器人控制有关,三阶倒立摆应当说由一、二阶倒立摆演绎而来,背景相当复杂。一阶倒立摆控制可以使用PID双闭环控制、最优控制、模糊控制等手段。二阶倒立摆的控制难度更大些。三阶倒立摆的仿真或实物系统实现是世界公认的难题,不过1993年以来国内外有人陆续发表了三阶倒立摆控制的仿真实验结果和实物实验结果,这些结果一般都使用了模糊控制或近似推理或某种拟人推理。至于四阶倒立摆的控制问题在世界范围内还是个空白。1.2 研究双摆系统的目的和意义倒立摆是很理想的自动控制教学试验设备,许多抽象的控制概念,如稳定

3、性、能控性、收敛速度和鲁棒性等都可以通过倒立摆直观的表现出来。同时由于其高阶次、不稳定、多变量、非线性和强耦合的特性,许多现代控制理论的研究人员也一直将它视为研究对象,并不断从中发掘出新的控制理论和控制方法,相关的成果在航天科技、机器人学等方面获得了广泛的应用。双摆系统,即一个小车上立有两个一阶倒立摆的系统,相对于一阶倒立摆系统而言,其参数更多,耦合更加强烈,其建模和控制的难度要大得多。通过对双摆系统建模,利用 MATLAB仿真来验证模型的准确性,并讨论其性能,我们不仅可以验证所学的经典控制理论、现代控制理论,加深对课程的理解,还能培养独立分析和解决实际问题的能力,积累经验。相信本文得到的一些

4、结论对工程设计人员也会具有一定的参考价值。2 双摆系统数学模型的建立2.1双摆系统数学模型的推导为了简化系统分析,在模型的建立过程中,忽略空气流动阻力以及各种次要的摩擦力。这样,可将双摆系统抽象成小车和两个匀质刚性杆组成的系统,如图2-1所示。图2-1 简化后的双摆系统本系统内部各相关参数定义如下:M 小车的质量 x 小车的位置 F 加在小车上的力, 左右两个摆杆的质量 2,2左右两个摆杆的长度 ,左右两个摆杆的转动惯量 ,左右两个摆杆与竖直向上方向的夹角对小车和摆杆分别进行受力分析,应用牛顿定律建立系统的动力学方程。小车的受力情况见图2-2。其中,和分别为左右两个摆杆对小车作用力的水平分量。

5、图2-2 小车的受力情况 图2-3 摆杆的受力情况(以左杆为例)根据牛顿第二定律有: (2-1)左右两个摆杆的受力情况大致相同,下面以左边的摆杆为例进行分析(用下标1、2来区分左、右摆杆),其受力情况如图2-3所示。其中,、分别是小车对摆杆作用力在x轴方向的分量和y轴方向的分量。摆杆的质心B点相对于A点转动,相对线速度的大小为,而A点本身随小车以速度运动,所以B点相对于地面的速度在x轴方向的分量为:, 由此可得B点在x轴方向的加速度为 , 因此有方程: (2-2)B点相对于地面的速度在y轴方向的分量为:,所以B点在y轴方向的加速度为 ,因此有方程: (2-3)摆杆的惯量= 。在、的作用下摆杆绕

6、B点转动,有方程: (2-4) 同理,对于右边的摆杆可得方程组: (2-5) (2-6) (2-7)对上述7个方程进行整理,消去中间变量,整理成只含有和F以及、x及其导数的形式。把式(2-2)和(2-5)带入(2-1)得: (2-8)把(2-2)式代入(2-4)解出,再代入(2-3)得方程 (2-9)把(2-5)式代入(2-7)解出,再代入(2-6)得方程 (2-10) 以上(2-8)、(2-9)、(2-10)式便是双摆系统的精确的数学模型。若使用MATLAB 中的simulink对其进行仿真,我们需要对其进行适当的变形,使每个等式只含有一个最高阶导数项(这里二阶导数是最高阶导数),并且放到等

7、号左面,右面不再含最高阶导数。这样处理是为了避免仿真时出现代数环错误。关于代数环,我们在后面3.1节中有较详细的说明。2.2双摆系统数学模型的线性化为了便于分析和计算,当、10度时,可以作近似处理: ,将上述条件代入方程组(2-8)、(2-9)、(2-10),进行线性化处理之后的微分方程组为: (2-11) (2-12) (2-13)由(2-12)和(2-13)式分别解出 和 代入(2-11)式得 (2-14)从中解得 (2-15)将其分别代入式(2-12)和(2-13)得: (2-16) (2-17)可以设状态变量为:、,由(2-15)、(2-16)、(2-17)式易得状态空间表达式为:其中

8、3.MATLAB仿真试验结果以上推导过程中,用了很多近似条件,因此,上一节所建立的模型是否可信还有待我们去验证。这里采用MATLAB对其进行软件仿真,除了用它验证数学模型之外,还可以研究系统的一些性质,例如稳定性、能控性等。3.1 精确模型的验证首先对线性化之前的模型即(2-8)、(2-9)、(2-10)式进行验证。我们仅忽略了空气阻力,即使在外力作用下摆角变化很大,该模型也应该较精确。下面,我们采用MATLAB中的simulink工具箱以及模块封装技术对其进行仿真,步骤如下:1 在命令窗口中输入simulink后回车,或单击MATLAB工具栏中的 simulink图标则可打开simulink

9、模型库窗口。在File菜单中选择new/model,打开一个新的空白窗口,命名为“shuangbai.mdl”。 2 按图3-1编辑双摆系统的模型。图3-1 在simulink下编辑的双摆系统的精确模型其中,Integrator是积分器模块。双击该模块,可以在弹出的对话框中对积分的初始值进行修改,缺省值为0。设第一行最左边的节点表示的变量为,则经过积分后变为和,同理可以得到、以及、和。由于在simulink下显示特殊符号很困难,这里用“THETA”来注释,这不会影响仿真结果 。我们用输入点模块(In)表示该系统的输入变量F,用3个输出点模块(Out)表示输出变量、和。Fcn是函数计算模块,能够

10、实现大部分初等函数运算。但它只有一个输入端和一个输出端,若要实现形如的运算,必须和聚合模块(mux)配合使用,聚合模块包含在signal Routing模块库中,可以把多路信号按照向量的形式混合成一路信号。例如,Fcn1描述的是(2-9)式的函数关系,它的输入端就接有一个聚合模块,双击它之后弹出一个对话框,可以设置输入变量的个数。由(2-9)式易得 = (3-1)我们把和作为聚合模块的输入,Fcn1的输出接,双击Fcn1模块,弹出对话框,见图3-2。Fcn栏提示了输入表达式的格式。可见,只能用u来表示输入的变量,例如u1表示输入向量的第一个分量,即聚合模块上数第一个输入量,而u2表示,所以在P

11、arameters的Expression中输入的表达式应为(g*sin(u2)-cos(u2)*u1)/(l1*4/3) 。同理,我们用Fcn3描述(2-10)式的函数关系,但输入的表达式同上。图3-2 双击Fcn模块后弹出对话框用Fcn2描述(2-8)式的函数关系,由(2-8)式易得: = (3-2)那么,能否按上述方法,把、F作为输入量,作为输出量,再把(3-2)式按照所要求的格式输入到Fcn2中呢?注意:对于(3-2)式,这样做可能导致仿真时出错。若点击菜单栏simulation/parameters,在出现的对话框中把代数环(algebraic loop)作为错误检查的内容,见图3-3

12、,那么在第4步仿真时就会提示出现代数环错误。代数环,简单的说就是在求取某一个输出量的过程中又需要已知该输出量,其实质是一种隐式迭代。当表达式简单时,如(3-1)式,系统采取默认的算法可以解决这类问题,但当表达式很复杂时,如(3-2)式,包含大量非线性运算并且右边出现很多高阶导数,仿真就会出错。避免代数环错误的方法之一是对(3-2)式进行恒等变形,使表达式只含有一个最高阶导数项,并且放到等号左面(这里选择),右面不再含其它最高阶导数。例如,把(3-1)代入(3-2)式就可消去,同理消去,解出得:= (3-3)输入变量为、F,再把(3-3)式按照所要求的格式输入到Fcn2中即可避免代数环。图3-3

13、 simulation parameters对话框中设置错误检查的内容3 采用模块封装技术把双摆的精确模型封装成一个标准模块模块封装是复杂系统建模和仿真时常用的方法之一。这样做有很多好处:首先,它使系统的结构更加清晰、简洁。其次,模型的通用性提高了。它可以存入自己的模块库里,使用时和simulink中其它的标准模块一样,只需双击,并在弹出的对话框中输入具体的参数值即可,而不必考虑它是如何实现的。由于内部结构被封装了起来,可以避免一些误操作,使用起来更方便。我们把双摆系统封装起来作为一个整体,在设计控制器时就可以直接调用了,作为自动控制系统的被控对象。选中图3-1所示系统的所有模块,在菜单栏选择

14、Edit/Create Subsystem,即可建立一个子系统。用鼠标选中该子系统,再选择Edit/Mask Subsystem,弹出如图3-4、3-5所示的模块封装设计界面。 图3-4 模块封装设计界面Icon选项卡图3-5 模块封装设计界面Parameters选项卡Icon选项卡按图3-4设置,Parameters选项卡按图3-5设置,表Dialog Parameters中填入需要外部输入的参数名(Variable)、参数描述(Prompt)、类型(Type)等。其它选项按缺省值设置。注意:这里的参数名必须和步骤2中表达式里的参数名相同,另外,simulink对参数名不区分大小写。封装好之后的模块见图3-6。此时,双击该模块,显示参数输入对话框,见图3-7,可以输入所有参数值。图3-6 封装好后的模块图3-7 模块参数输入对话框如果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号