基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文文档格式.docx

上传人:b****7 文档编号:21845826 上传时间:2023-02-01 格式:DOCX 页数:32 大小:633.82KB
下载 相关 举报
基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文文档格式.docx_第1页
第1页 / 共32页
基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文文档格式.docx_第2页
第2页 / 共32页
基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文文档格式.docx_第3页
第3页 / 共32页
基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文文档格式.docx_第4页
第4页 / 共32页
基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文文档格式.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文文档格式.docx

《基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文文档格式.docx》由会员分享,可在线阅读,更多相关《基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文文档格式.docx(32页珍藏版)》请在冰豆网上搜索。

基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文文档格式.docx

所以,研究倒立摆系统对以后的教育研究领域和控制研究领域具有非常深远的影响。

ADAMS能够对各种机械系统进行建模、仿真和分析,建模直观、清晰,同时具有十分强大的运动学和动力学分析功能;

MATLAB具有强大的计算功能,计算结果和程序设计的可视化也令它的使用更加的方便和广泛,是控制理论中使用最广泛的软件。

把ADAMS和MATLAB联合起来仿真,可以将机械系统仿真分析同控制设计仿真有机地连接,将两种软件的优势结合起来。

本课题以实验室典型控制系统倒立摆为对象,对其进行机电机电一体化联合分析。

1.2国内外发展现状

自倒立摆系统产生以来,国内外研究者就不断的进行着研究,也取得了很大的成果.上个世纪60年代,国外有学者提出了bang-bang的稳定控制。

在60年代后期,控制理论界提出了倒立摆的概念,受到世界各国许多科学家的重视。

从上世纪70年代初期开始,状态反馈理论对不同类型倒立摆的控制问题成了当时的一个研究热点。

上世纪80年代后期,将模糊理论应用于单级倒立摆的控制,取得了很大的成功。

从上世纪90年代开始,神经网络控制倒立摆的研究有了快速的发展。

另外,还有其他的控制方法用于倒立摆的控制。

利用云模型实现智能控制倒立摆。

利用云模型的方法,不用建立系统的数学模型,根据人的感觉、经验和逻辑判断,将人用语言值定性表达的控制经验,通过语言院子和云模型转换到语言控制规则器中,解决了倒立摆控制的非线性问题和不确定性问题。

遗传算法是美国密歇根大学Holland教授倡导发展起来的,是仿真生物学中的自然遗传和达尔文进化理论而提出的并行随机优化算法。

1.3本论文主要内容

设计要求:

利用动力学仿真软件ADAMS搭建倒立摆的虚拟仿真系统,进行运动学及动力学仿真;

通过ADAMS与MATLAB的接口模块ADAMS/control,利用MATLAB/Simulink模块搭建倒立摆的联合仿真控制系统,设计合适的参数,使满足性能指针要求;

实现基于MATLAB与ADAMS的倒立摆的联合仿真。

要求倒立摆系统具有较好的动态响应特性。

在对设计要求的充分理解下,本文中完成了单级倒立摆的建模工作,包括数学建模和ADAMS软件建模,重点论述了用ADAMS建模的过程以及其和MATLAB联合仿真的具体步骤和过程。

本文将采用用三种方法实现对倒立摆的控制,首先在MATLAB中控制倒立摆,然后在ADAMS中建立倒立摆模型并实现初步控制,最后联合ADAMS与MATLAB,再次实现对倒立摆系统的控制。

通过这三种方法,可以很直观的体会到ADAMS与MATLAB联合仿真的优点。

第2章倒立摆的数学模型及控制方法

2.1建模方法的选择

系统建模的方法可以分为两种:

机理建模和实验建模。

实验建模就是通过在研究对象上加上一系列的研究者事先确定的输入信号,激励研究对象并通过传感器检测其可观测的输出,应用数学手段建立起系统的输入-输出关系。

这里面包括输入信号的设计选取,输出信号的精确检测,数学算法的研究等等内容。

机理建模就是在了解研究对象的运动规律基础上,通过物理、化学的知识和数学手段建立起系统内部的输入-状态关系。

由于倒立摆系统本身是自不稳定的系统,实验建模存在一定的困难。

但是忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程。

在本设计中采用牛顿-欧拉方法建立单级倒立摆系统的数学模型。

为了方便研究倒立摆系统的控制方法,建立一个比较精确的倒立摆系统的模型是必不可少的。

目前,人们对倒立摆系统建模一般采用两种方法:

牛顿力学分析方法,欧拉—拉格朗日原理。

本文采用牛顿—欧拉方法建立直线型一级倒立摆系统的模型。

2.2倒立摆系统模型

倒立摆系统由水平移动的小车及由其支撑的单节倒立摆构成。

控制输入为驱动力F(N),是由拖动小车的直流伺服电机提供的;

被控制量是摆杆与垂直位置方向夹角θ(rad)和小车的位移x(m)。

倒立摆模型如图2-1所示。

图2-1倒立摆模型

实际倒立摆系统的模型参数:

M:

小车的品质,1.096kg;

m:

摆杆的品质,0.109kg;

b:

小车的摩擦系数,0.1N/(m/sec);

L:

摆杆的中心到转轴的长度,0.25m

J:

摆杆对重心的转动惯量,0.0034kgm2;

T:

采样周期,0.005秒;

对小车进行受力分析,图中P和N分别表示摆杆运动在水平方向和垂直方向上对小车的作用力(N),fv是小车的摩擦力,等于

摆的运动由水平方向、铅直方向以及旋转方向的运动构成。

以小车与摆的节点为坐标原点取坐标系,对摆杆进行受力分析,小车和摆杆受力分析如图2-2所示。

图2-2系统受力分析图

分析小车水平方向所受的合力,可以得到以下方程:

由摆杆水平方向的受力进行分析可以得到下面等式:

把这个等式代入上式中,就得到系统的第一个运动方程:

(2-1)

对摆杆垂直方向上的合力进行分析,可以得出系统的第二个运动方程:

力矩平衡方程如下:

因为此方程中力矩的方向,由于

,故等式前面有负号。

合并这两个方程,约去

,由

得到第二个运动方程:

是摆杆与垂直向上方向之间的夹角),假设

与1(单位是弧度)相比很小,即

《1,则可以进行近似处理:

来代表被控对象的输入力

,线性化后两个运动方程如下:

(2-3)

对方程组(2-3)进行拉普拉斯变换,得到

(2-4)

注意:

推导传递函数时假设初始条件为0。

由于输出为角度

,求解方程组(2-4)的第一个方程,可以得到

把上式代入方程组(2-4)的第二个方程,得到

整理后得到传递函数:

其中

同理,得小车位移传递函数:

代入实际参数可得,摆杆传递函数为:

小车位移传递函数:

2.3控制方法的选择

控制方法的选择是倒立摆系统的核心内容,因为倒立摆是一个绝对不稳定的系统,为使其保持稳定并且可以承受一定的干扰,就必须选择行之有效的控制方法。

下面是现阶段运用较广的几种控制算法:

(1)线性控制:

PID控制、状态回馈控制、LQR控制算法

(2)预测控制:

变结构控制、自适应控制

(3)智慧控制:

模糊逻辑、神经网络、专家系统、遗传算法等

(4)多种算法相结合的控制

经过对这多种控制方法的控制效果和可操作性进行反复对比之后,本文将选用PID算法作为倒立摆系统的主要控制方法。

2.4PID算法简介

在工程实际中, 

应用最为广泛的调节器控制规律为比例、 

积分、 

微分控制, 

简称PID控制, 

又称PID调节。

PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。

当被控对象的结构和参数不能完全掌握,或 

得不到精确的数学模型时,控制理论的其它技术难以采用时, 

系统控制器的结构和参数必须 

依靠经验和现场调试来确定,这时应用PID控制技术最为方便。

即当我们不完全了解一个系 

统和被控对象,或不能通过有效的测量手段来获得系统参数时, 

最适合用PID控制技术。

PID 

控制,实际中也有PI和PD控制。

PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。

(1)比例(P)控制:

比例控制是一种最简单的控制方式。

其控制器的输出与输入误差信号成比例关系。

当仅有比例控制时系统输出存在稳态误差 

(2)积分(I)控制:

在积分控制中, 

控制器的输出与输入误差信号的积分成正比关系。

对一个自动控制系统, 

如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统 

为了消除稳态误差,在控制器中必须引入“积分项” 

积 

分项对误差取决于时间的积分,随着时间的增加,积分项会增大。

这样,即便误差很小,积 

分项也会随着时间的增加而加大, 

它推动控制器的输出增大使稳态误差进一步减小, 

直到等 

于零。

因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。

(3)微分(D)控制:

在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。

自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。

其原因是由于存在有较大 

惯性组件(环节)或有滞后组件,具有抑制误差的作用,其变化总是落后于误差 

的变化。

解决的办法是使抑制误差的作用的变化“超前” 

,即在误差接近零时,抑制误差的 

作用就应该是零。

这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅 

是放大误差的幅值,而目前需要增加的是“微分项” 

,它能预测误差变化的趋势,这样,具 

有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免 

了被控量的严重超调。

所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改 

善系统在调节过程中的动态特性。

理想仿真PID控制器的输出方程为:

式中,

为比例系数;

为积分时间;

为微分时间;

u(t)为PID控制器的输入控制量;

e(t)为PID控制器的输出控制量;

e(t)为PID为控制器输入的

系统误差。

PID调节器的传递函数为:

对PID控制而言,P是控制的基础,利用P控制器解决在系统的动态过程中的稳定性问题,用I控制来实现误差控制,引入D控制以进一步提高系统的控制性和快速性。

一般PID控制器的设计分两步进行。

第一步,首先根据控制对象及对系统的要求确定控制器的形式。

第二步参数整定,当被控对象数学模型已知且较为准确,阶数不高时可以用解析法。

在工程实际中常采用工程整定法,它们是在理论基础上通过实践总结出来的。

这些方法通过不太复杂的实验,便能迅速获得调节器的近似最佳整定参数。

因而工程上得到广泛应用。

经典控制理论的研究对象主要是单输入单输出的系统,控制器设计时一般需

要有关被控对象的较精确模型。

PID控制器因其结构简单,容易调节,且不需要

对系统建立精确的模型,在控制上应用较广。

PID控制的优点可归纳为:

(1)原理简单、直观、使用方便,易被工程技术人员接受。

例如:

用比例控制器调节系统的控制强度以保持必要的相对稳定性,用积分控制以消除残差。

还可以通过微分控制对偏差给出控制量以提高系统的控制质量。

这些概念无论是对控制规律的设计是系统的直线调试都是有很大的意义。

(2)应用广泛。

通过大量的工业过程控制实际,我们已经证明。

PID控制器对许多的控制问题都能胜任,尤其是堆性能需求适中,负荷变化不大的过程效果更佳。

在冶金、化工、石化、电力等许多不同的领域也都能发现大量的PID控制器的应用。

(3)对控制模型的依赖性小,鲁棒性好。

事实上许多PID控制器的整定方法并不要对过程特性有很多的先验知识是借助于某些简单的测试通过经验来设定参数,因此系统的鲁棒性较好,对通过特性变化的敏感性也较弱。

本章小结

在本章中我们在对倒立摆系统充分理解的基础上,利用牛顿-欧拉方法建立了倒立摆系统的数学模型,推导出了系统中摆角和小车位移输出的传递函数,为在MATALAB中的仿真做好了基础。

同时,我们选择了PID算法作为系统的控制方法,并对PID算法作了简介。

第3章基于MATLAB的倒立摆控制系统设计

3.1MATLAB软件简介

MATLAB(矩阵实验室)是MATrix 

LABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。

MATLAB是一种用于算法开发、数据可视化、数值计算以及数据分析的高级技术计算语言和交互式环境。

主要包括MATLAB和Simulimk两大部分。

除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。

它在数学应用类科技应软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

20世纪70年代,美国新墨西哥大学计算机科学系主任CleveMoler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。

1984年由Little、Moler、SteveBangert合作成立了的MathWorks公司正式把MATLAB推向市场。

到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。

在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。

Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。

同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。

Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。

Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。

为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。

对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。

.

构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。

Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。

3.2倒立摆系统开环稳定性分析

对于一个控制系统来说,稳定性是其重要特性,也是系统能够正常工作的首要条件。

如果系统的特征方程的所有根都有负实部,或者说,传递函数的极点都位于s左半平面,则系统稳定。

在MATLAB中编写程序,计算摆角传递函数和小车位移传递函数的极点,程序如下:

p=[1,0.0883,-27.8285,-2.3094];

x=roots(p)

运行得到结果:

x=

5.2727

-5.2780

-0.0830

可以看出,系统特征方程有一个极点位于s右半平面,所以系统不稳定。

故必须对系统进行闭环控制,本文中选用PID控制。

3.3摆杆角度PID控制

对摆杆角度的控制采用的结构图如图3-1所示。

图3-1摆杆角度控制结构图

图中KD(s)是控制器传递函数,G(s)是摆角的传递函数。

该系统的输出为:

其中,

——被控对象传递函数的分子项

——被控对象传递函数的分母项

——PID控制器传递函数的分子项

——PID控制器传递函数的分母项

被控对象的传递函数是

PID控制器的传递函数为:

3.4小车位移PID控制

考虑到小车位移,采用的结构图如图3-2所示。

图3-2考虑小车位移控制图

其中,G

(1)S是摆杆传递函数,G

(2)S是小车传递函数。

小车位置输出为

可以看出,den1=den2=den,

小车的算式可以简化成:

3.5Simulink模型构建

新建一个模型,在Simulink中选择合适的环节,搭建如图3-3所示结构图。

图3-3Simulink仿真结构图

图中TransferFcn1和TransferFcn分别表示摆杆角度和小车位移的传递函数,Scope1和Scope分别表示摆杆角度和小车位移的输出曲线。

3.6系统闭环稳定性分析

根据系统的Simulink框图,我们可以得到引入PID控制后的开环传递函数,在MATLAB中输入如下语句:

num1=[62.35660];

den1=[10.0883-27.8285-2.3094];

G1=tf(num1,den1);

num2=[20100];

den2=[1];

G2=tf(num2,den2);

G=G1*G2

运行后得到系统开环传递函数为:

47.13s^2+235.7s

----------------------------------

s^3+0.0883s^2-27.83s-2.309

引入反馈后,得到系统的闭环传递函数,在MATLAB中输入如下语句:

numg=[47.13235.70];

deng=[10.0883-27.83-2.309]

numh=[1];

denh=[1]

[num,den]=feedback(numg,deng,numh,denh,-1)

p=tf(num,den)

运行后得到系统的闭环传递函数

---------------------------------

s^3+47.22s^2+207.9s-2.309

求闭环传递函数的极点:

p=[147.22207.9-2.309];

运行后得到极点有3个:

-42.3043

-4.9268

0.0111

这就出现了问题,在我们设定的PID参数下,系统的闭环极点出现了一个正值0.0111,这显然是不合理的,通过分析,终于找到了出现这种明显错误的原因。

我们在对倒立摆系统进行数学建模时,我们是忽略掉了一些次要因素的,比如小车与地面之间的摩擦等,这就导致了我们得到的传递函数可能

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1