当前位置:文档之家› 基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文

基于ADAMS与MATLAB联合仿真的倒立摆设计毕业论文

基于ADAMS与MATLAB联合仿真的

倒立摆设计

摘要:倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。倒立摆的控制方法在军工、航天、机器人和一般工业过程领域中都有着广泛的用途,如机器人行走过程中的平衡控制、火箭发射中的垂直度控制和卫星飞行中的姿态控制等。本文先分别用MATLAB和ADAMS两种软件对倒立摆系统进行建模仿真,然后将两者联合仿真,采用PID控制,用三种方法实现了对倒立摆系统的的控制。仿真结果互相对比、补充,充分展现了各种仿真方法的特点,并直观的论证出利用两种软件进行联合仿真的优点和意义。

关键词:ADAMS;MA TLAB;倒立摆;联合仿真

Design of inverted pendulum based on the co-simulation

of ADAMS and MATLAB

Abstract: The control of inverted pendulum system is a nonlinear,complex, unstable,system, It’s an ideal experimental platform of control theory teaching and carrying out of various control experiments. Control methods of inverted pendulum are widely used in military, aerospace, robotics and general industrial fields, such as robot balance control in rocket launch, the verticality control and satellite flight attitude control. This paper first respectively by MATLAB and ADAMS for modeling and Simulation of the inverted pendulum system, and then combining the two for co-simulation.With the PID control, the control of inverted pendulum system are realized by three methods. The simulation results contrast and complement each other, fully demonstrated the characteristics of various simulation methods, and intuitive proves the advantages and significance of combined simulation using this two kinds of software.

Key words: ADAMS,MATLAB,inverted pendulum, co-simulation

目录

第1章绪论 (1)

1.1 课题研究背景与意义 (1)

1.2 国内外发展现状 (1)

1.3 本论文主要内容 (2)

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

2.1 建模方法的选择 (3)

2.2 倒立摆系统模型 (3)

2.3 控制方法的选择 (6)

2.4 PID算法简介 (6)

本章小结 (8)

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

3.1 MATLAB软件简介 (10)

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

3.3 摆杆角度PID控制 (12)

3.4 小车位移PID控制 (13)

3.5 Simulink模型构建 (14)

3.6 系统闭环稳定性分析 (14)

3.7 系统脉冲响应分析 (15)

3.8系统阶跃响应分析 (17)

本章小结 (19)

第4章基于ADAMS的倒立摆控制系统设计 (20)

4.1 ADAMS软件介绍 (20)

4.1.1 ADAMS简介 (20)

4.1.2 ADAMS软件组成 (20)

4.2 ADAMS中倒立摆控制方案 (22)

4.3 倒立摆ADAMS模型建立 (22)

4.4 PID控制 (24)

4.4.1 不加控制时系统仿真分析 (24)

4.4.2 PID控制时系统仿真分析 (26)

本章小结 (27)

第5章基于MATLAB和ADAMS联合仿真的倒立摆控制系统设计 (29)

5.1 ADAMS与MATLAB联合仿真意义 (29)

5.2 ADAMS与MATLAB联合仿真过程 (29)

5.2.1 建立ADAMS模型 (29)

5.2.2 确定ADAMS的输入输出 (30)

5.2.3 ADAMS与MATLAB的连接 (31)

5.2.4 构建控制模型 (32)

5.2.5 联合仿真 (34)

本章小结 (35)

总结 (36)

致谢................................................... 错误!未定义书签。参考文献 (37)

第1章绪论

1.1课题研究背景与意义

倒立摆控制系统是一个不稳定的、复杂的、非线性系统, 主要是由导轨、小车和各级摆杆组成。其在控制理论教学中有重要的作用,同时它也是开展各种控制实验的的理想实验平台。非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等各种控制中的典型问题都可以通过对倒立摆系统的研究得到有效的反映。通过对倒立摆的控制,可以用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。本课题在深入理解倒立摆基本原理的基础上,确立单级倒立摆控制为本文的研究课题。单级倒立摆系统是一个典型多变量、不稳定和强耦合的非线性系统。它的这些特性使得许多抽象的控制理论概念如系统稳定性、可控性等等,都可以通过单级倒立摆系统实验直观的表现出来。而作为实验装置,它本身又具有成本低廉、结构简单、便于仿真、形象直观的特点。因此,许多现在控制理论的研究人员一直将它视为典型的研究对象。而在欧美发达国家的许多高等院校,也将它视为必备的控制理论教学实验设备。所以,研究倒立摆系统对以后的教育研究领域和控制研究领域具有非常深远的影响。

ADAMS能够对各种机械系统进行建模、仿真和分析,建模直观、清晰,同时具有十分强大的运动学和动力学分析功能;MATLAB具有强大的计算功能,计算结果和程序设计的可视化也令它的使用更加的方便和广泛,是控制理论中使用最广泛的软件。把ADAMS和MA TLAB联合起来仿真,可以将机械系统仿真分析同控制设计仿真有机地连接,将两种软件的优势结合起来。本课题以实验室典型控制系统倒立摆为对象,对其进行机电机电一体化联合分析。

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)和小车的位移

1所示。

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

M :小车的品质,1.096kg ;

m :摆杆的品质,0.109kg ;

b :小车的摩擦系数,0.1N /(m /se

c );

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

J :摆杆对重心的转动惯量,0.0034kg ⋅m 2;

T :采样周期,0.005秒;

对小车进行受力分析,图中P 和N 分别表示摆杆运动在水平方向和垂直方向上

对小车的作用力(N),f v 是小车的摩擦力,等于x

b 。摆的运动由水平方向、铅直方向以及旋转方向的运动构成。以小车与摆的节点为坐标原点取坐标系,对摆杆进行受力

分析,小车和摆杆受力分析如图2-2所示。

图2-2 系统受力分析图

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

N x b F x

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

)sin (22

θl x dt d m N +=

即 θθθθsin cos 2 ml ml x m N -+=

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

F ml ml x b x

m M =-+++θθθθsin cos )(2 (2-1) 对摆杆垂直方向上的合力进行分析,可以得出系统的第二个运动方程:

θθθθθcos sin )cos (222

m l m l m g P l dt

d m m g P --=-=-即:

力矩平衡方程如下:

θ

θθ I Nl Pl =--cos sin 因为此方程中力矩的方向,由于θφθφφπθsin sin ,cos cos ,-=-=+=,故等式

前面有负号。

合并这两个方程,约去P 和N ,由231

ml I =得到第二个运动方程:

θθθcos sin 234

x

ml mgl ml -=+ (2-1) 设φπθ+=(φ是摆杆与垂直向上方向之间的夹角),假设φ与1(单位是弧度)

相比很小,即φ《1,则可以进行近似处理:1cos -=θ,φθ-=sin ,0)(2=dt

d θ。用u 来代表被控对象的输入力F ,线性化后两个运动方程如下:

⎪⎩⎪⎨⎧=-++=-u m l x b x m M x g l φφφ

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

⎪⎩

⎪⎨⎧=Φ-++=Φ-Φ)()()()()()()()(3

42222s U s s ml s s bX s s X m M s s X s g s s l (2-4) 注意:推导传递函数时假设初始条件为0。

由于输出为角度φ,求解方程组(2-4)的第一个方程,可以得到

)(]34[)(2s s

g l s X Φ-= 把上式代入方程组(2-4)的第二个方程,得到

)()()()()()()(22222s U s s ml s s s g ml

ml I b s s s g ml ml I m M =Φ-Φ⎥⎦⎤⎢⎣⎡+++Φ⎥⎦⎤⎢⎣⎡-++ 整理后得到传递函数:

s q

bmgl s q mgl m M s q bml

s s q ml s U s -+-+=Φ23234

42)()()( 其中

])())([(22ml ml I m M q -++= 同理,得小车位移传递函数:

代入实际参数可得,摆杆传递函数为: 32() 2.3566()0.088327.8285 2.3094

s s U s s s s Φ=+-- 小车位移传递函数: 232()0.8832 2.3094()0.088327.8285 2.3094X s s U s s s s -=+--

2.3 控制方法的选择

控制方法的选择是倒立摆系统的核心内容,因为倒立摆是一个绝对不稳定的系统,

为使其保持稳定并且可以承受一定的干扰,就必须选择行之有效的控制方法。下面是

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

(1)线性控制:PID 控制、状态回馈控制、LQR 控制算法

(2)预测控制:变结构控制、自适应控制

(3)智慧控制 :模糊逻辑、神经网络、专家系统、遗传算法等

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

经过对这多种控制方法的控制效果和可操作性进行反复对比之后,本文将选用

PID 算法作为倒立摆系统的主要控制方法。

2.4 PID 算法简介

在工程实际中, 应用最为广泛的调节器控制规律为比例、 积分、 微分控制, 简

称PID 控制, 又称PID 调节。PID 控制器问世至今已有近70年历史,它以其结构简

单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的

结构和参数不能完全掌握,或 得不到精确的数学模型时,控制理论的其它技术难以采

242324323()()()ml mgl s X s q q bml U s M m mgl bmgl s s s q q q -=++--

用时, 系统控制器的结构和参数必须 依靠经验和现场调试来确定,这时应用PID 控制技术最为方便。即当我们不完全了解一个系 统和被控对象,或不能通过有效的测量手段来获得系统参数时, 最适合用PID 控制技术。 PID 控制,实际中也有PI 和PD 控制。PID 控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。

(1)比例(P )控制:

比例控制是一种最简单的控制方式。 其控制器的输出与输入误差信号成比例关系。 当仅有比例控制时系统输出存在稳态误差 。 (2)积分(I )控制:

在积分控制中, 控制器的输出与输入误差信号的积分成正比关系。 对一个自动控制系统, 如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统 。为了消除稳态误差,在控制器中必须引入“积分项” 。积 分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积 分项也会随着时间的增加而加大, 它推动控制器的输出增大使稳态误差进一步减小, 直到等 于零。因此,比例+积分(PI )控制器,可以使系统在进入稳态后无稳态误差。 (3)微分(D )控制:

在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。 其原因是由于存在有较大 惯性组件(环节)或有滞后组件,具有抑制误差的作用,其变化总是落后于误差 的变化。解决的办法是使抑制误差的作用的变化“超前” ,即在误差接近零时,抑制误差的 作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅 是放大误差的幅值,而目前需要增加的是“微分项” ,它能预测误差变化的趋势,这样,具 有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免 了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD )控制器能改 善系统在调节过程中的动态特性。

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

式中,p K 为比例系数;i T 为积分时间;d T 为微分时间;u (t )为PID 控制器的

01

()e()()()l

p d i d

u t K t e t dt T e t T dt ⎡⎤=+

+⎢⎥

()1

1i c p D p d i K G s K K S K T S S T S ⎛⎫=++=++ ⎪⎝⎭

输入控制量;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的缩写,是一款由美国The MathWorks公司出品的商业数学软件。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++,JA V A的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

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

Bangert合作成立了的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 )是摆角的传递函数。 该系统的输出为:

)()

)(())(()

()

()

)(())((1)()

()(1)()(s F num num PID den denPID denPID num s F den denPID num num PID den num

s F s G s KD s G s y +=+=+= 其中,num ——被控对象传递函数的分子项

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

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

f

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

被控对象的传递函数是

32() 2.3566()0.088327.8285 2.3094s s num U s s s s den

Φ==+--

其中

])())([(22ml ml I m M q -++=

PID 控制器的传递函数为:

denPID numPID

s K s K s K s K K s K s KD I P D I P D =

++=++=2)(

3.4 小车位移PID 控制

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

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

其中,G (1)S 是摆杆传递函数 ,G (2)S 是小车传递函数。

小车位置输出为

可以看出,den1=den2=den , 小车的算式可以简化成:

r 2

22

111211212()()()()

()()1()()1()()()()()

()

()()()()()()

num G s den X s F s F s numPID num KD s G s denPID den num denPID den F s denPID den den numPID num den ==++

=

+21()()

()()

()()()()num denPID X s F s denPID den k numPID num =

+

3.5Simulink模型构建

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

图3-3 Simulink仿真结构图

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

3.6系统闭环稳定性分析

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

num1=[62.3566 0];den1=[1 0.0883 -27.8285 -2.3094];

G1=tf (num1, den1);

num2=[20 100 ];den2=[1 ];

G2=tf (num2, den2);

G=G1*G2

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

47.13 s^2 + 235.7 s

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

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

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

numg =[47.13 235.7 0];deng=[1 0.0883 -27.83 -2.309] numh=[1];denh=[1]

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

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

47.13 s^2 + 235.7 s

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

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

求闭环传递函数的极点:

p=[1 47.22 207.9 -2.309];x=roots(p)

运行后得到极点有3个:

x =

-42.3043 -4.9268

0.0111

这就出现了问题,在我们设定的PID 参数下,系统的闭环极点出现了一个正值0.0111,这显然是不合理的,通过分析,终于找到了出现这种明显错误的原因。我们在对倒立摆系统进行数学建模时,我们是忽略掉了一些次要因素的 ,比如小车与地面之间的摩擦等,这就导致了我们得到的传递函数可能与系统的实际传递函数之间存在误差,我们这里计算出来系统的闭环传递函数有一个很小的正值,很可能就是因为这种原因的影响。

3.7 系统脉冲响应分析

倒立摆的输入我们可以用脉冲响应来模拟,将图3.3中的阶跃响应换为脉冲响应,先设置PID 控制器为P 控制器,令p K =10,l K =0,D K =0,得到仿真结果如图3-4所示。

图3-4 Kp=10,Ki=Kd=0时摆杆角度输出

从图3-4中可以看出,控制曲线不收敛,因此增大控制量,p K =100,l K =0,D

K =0,得到仿真结果如图3-5所示。

图3-5 Kp=100,Ki=Kd=0时摆杆角度输出

从图3-5中可以看出,闭环控制系统持续振荡,为消除系统的振荡,增加微分控制参数D K ,令p K =100,l K =0,D K =20,得到仿真结果如图3-6所示。

机械运动系统设计与实践报告

机械运动系统设计与实践报告 学院:工程学院 专业:机械设计及理论姓名: 学号: 指导教师: 2012 年 3 月

环形倒立摆Adams与Mat lab联合仿真分析 一、实践目的 1.熟悉和理解环形倒立摆的组成部件及运动原理。 2.通过ADAMS软件对环形倒立摆进行建模,熟练该款软件。 3.通过运用ADAMS导出模块与mat lab进行对接处理,熟悉mat lab软件的PID运行控制 以及掌握simulink的相关设置。 二、实验原理 环形倒立摆是通过电机驱动,带动连杆,同时连杆来带动摆杆运动。中间需要测量的物理参数主要有:连杆的角度、连杆的角速度、摆杆的角度、摆杆的角速度。通过两个光电编码器进行反馈。从反馈过程中来调节电机的转速及转向,进而达到摆杆的倒立并保持相对平衡。下图1即为实验室固高环形倒立摆系统组成框架: 图1 环形倒立摆组成框架 机房中matlab6.5中控制倒立摆的原理

图二 老师给的程序 % this is a new simulation program for new arm-type inverted pendulum % by lgr input on the state of 0 of arm and that of 0 of pendulum % ! CAUTION ,changed base of direction of arm % Suc. clear all close all %--------------------------------- Ma=0.21; Mp=0.062; la=0.133; lp=0.068; La=0.25; Lp=0.19; Ja=5E-3; Jp=5.65E-4; Ca=5.52E-3; Cp=1.69E-4;

MATLAB和ADAMS联合仿真

1. 版本兼容问题。 Adams和Matlab版本有兼容性。至少Adams2005+ Matlab7、ADAMS2005+Matlab6.5都是可以的。其他的我没有试过。一般而言,版本是没问题的。关于adams和其他软件的兼容性问题在msc的官方网站上有更详细的说明,您可以随时查阅。但也确实有位网友反映他的adams2005和matlab7联合仿真不成功,卸载了7.0,按装了6.5就可以了。如果您实在怀疑是版本的问题,您不妨一试。 2. Adams/Control模块的安装 进入Adams/View之后,菜单Tools→Plugin Manager,出现Plugin Manager对话框,选择Load 下的Adams/Control,单击OK就可。在Load下选择,每次都需要重复的安装;在Load at Startup下选择的话,每次模块都自动启动。 3. Adams界面遮挡仿真画面的问题。 仿真时出现“系统找不到指定文件”错误,仿真能执行,adams仿真界面中出现打开窗口,挡住了仿真画面,请问如何去掉? 解决办法是:打开<MSC.ADAMS>\aview\aviewAS.cmd 文件。 在interface dialog display dialog=.gui.new_session那一行前面加一个!。不过要记得先将文件属性的…只读?去掉。点右键->编辑即可打开。 4. 联合仿真的具体步骤 可以参阅wxd的两个经典帖子,在精华区就有。或者您利用搜索功能,搜索wxd发表的帖子。 还有ndlx2001的“matlab7.1+adams2005联合仿真经验” 友情提示一:您做的时候细心点,有位朋友在matlab里输入adams_sys的时候将adams_sys 写成了adasm_sys浪费了不少时间。:) 友情提示二:真的找不到adams-plant.dll和plant.dll的时候您可以在电脑上搜索。 友情提示三:有时需要调整仿真的步长和误差的精度。 5. 严格按照上述方法作了,还是出错的话,您可以试试下面的几种操作: 问题:按照上述说方法做了,比如把adams-plant.dll和plant.dll拷到matlab的工作目录下,修改.m文件中的flag==0等还是出现了下面的错误信息: Error reported by S-function 'adams_plant' in 'antenna/adams_sub/ADAMS Plant/S-Function': error in startup Could not connect to ADAMS server 那么您还可以试试:1)在matlab命令行中键入:clear all。这是因为,虽然修改了matlab 模块,但matlab工作空间内上次保留的错误信息没有修改;2)还有检查一下adams界面中,建立控制模块的control plant的adams host 是否为本机名;3)检查m文件中路径“\”与“/”的错误,这是系统自动生成文件时的bug,只有手动修改,希望高手们找到彻底修改的方法。(参考了huashanfeng 的帖子,在此表示感谢)

基于ADAMS和MATLAB的汽车主动悬架联合仿真研究

基于ADAMS和MATLAB的汽车主动悬架联合仿真研究 基于ADAMS和MATLAB的汽车主动悬架联合仿真研究 1. 引言 在现代汽车工业中,悬挂系统是保证车辆行驶平稳性和乘坐舒适性的重要组成部分。传统的汽车悬挂系统是被动的,通过弹簧和减振器来吸收路面不平造成的冲击力,但对于不同路面条件和行驶动态的应对能力有一定的局限性。随着科技的进步和人们对驾驶体验的要求提高,汽车的主动悬挂系统逐渐得到了广泛关注。主动悬挂系统能够通过感知路面信息和车辆状态来实时调整悬挂参数,从而提高车辆的行驶稳定性和乘坐舒适性。 2. 主动悬挂系统的工作原理 主动悬挂系统由悬挂执行机构、传感器和控制算法等组成。传感器用于感知路面信息和车辆状态,悬挂执行机构负责实时调整悬挂参数。控制算法根据传感器获取的信息来生成相应的控制策略,控制悬挂执行机构的工作。 3. ADAMS仿真模型建立 ADAMS是一款用于多体动力学仿真的软件,可以模拟机械 系统的动力学行为。在本研究中,我们使用ADAMS软件建立了主动悬挂系统的仿真模型,包括车身、车轮、悬挂执行机构等。通过在ADAMS中定义悬挂系统的各个参数和控制策略,我们可以模拟不同工况下悬挂系统的工作状态。 4. MATLAB控制算法设计 MATLAB是一款强大的数学计算和仿真软件,我们使用MATLAB来设计主动悬挂系统的控制算法。在控制算法设计中,我们需要考虑路面信息的感知、悬挂参数的调节等因素。通过

MATLAB的编程和仿真工具,我们可以方便地设计和验证不同 控制策略的性能。 5. 联合仿真与分析 在ADAMS和MATLAB的联合仿真中,我们将MATLAB中设计的控制算法与ADAMS中的悬挂系统模型相结合,进行系统级的仿真和分析。通过联合仿真,我们可以模拟车辆在不同路面条件下主动悬挂系统的工作情况,评估系统的控制性能和对车辆行驶动态的影响。 6. 结果与讨论 通过联合仿真和分析,我们可以得到主动悬挂系统在不同路面条件下的反馈响应结果。根据仿真结果,我们可以评估不同控制策略对车辆行驶稳定性和乘坐舒适性的影响。同时,我们还可以在仿真环境下对悬挂系统的参数进行优化和调整,以进一步提高系统的性能。 7. 结论 本研究基于ADAMS和MATLAB的联合仿真方法,对汽车主 动悬挂系统进行了研究。通过联合仿真,我们可以模拟不同路面条件下悬挂系统的工作情况,评估不同控制策略的性能,并对系统参数进行优化。研究结果对于汽车悬挂系统的设计和优化具有重要意义,有助于提高车辆的行驶稳定性和乘坐舒适性。未来的研究可以进一步探索不同悬挂系统结构和控制策略的优化,以满足人们对驾驶体验的不断提高的需求 通过ADAMS和MATLAB的联合仿真方法,本研究对汽车主 动悬挂系统进行了研究。联合仿真可以模拟不同路面条件下悬挂系统的工作情况,评估不同控制策略的性能,并对系统参数进行优化。研究结果对汽车悬挂系统的设计和优化具有重要意

倒立摆控制系统设计matlab

倒立摆控制系统设计matlab 倒立摆控制系统设计是一个在工程领域中非常重要的课题。倒立摆是一个经典的控制系统问题,通过控制电机的力矩来使倒立摆保持平衡。在这篇文章中,我们将使用Matlab来设计一个倒立摆控制系统,并逐步回答其中的关键问题。 首先,我们需要明确设计的目标。在倒立摆控制系统中,我们的目标是使摆杆保持垂直位置。为了实现这个目标,我们需要采用逆向控制方法,即通过测量摆杆当前状态以及目标状态之间的差异,并控制力矩,从而使摆杆回复到垂直位置。 接下来,我们需要构建倒立摆的模型。倒立摆模型可以采用Euler-Lagrange动力学方程进行描述。具体地,我们可以使用如下的动力学方程来描述倒立摆: m*L^2*θ''(t) + m*g*L*sin(θ(t)) = u(t) - b*θ'(t) - c*sat(θ(t)) 其中,m是摆杆的质量,L是摆杆的长度,θ(t)是摆杆的角度,u(t)是电机的力矩,b是摩擦系数,c是控制器增益。在上述动力学方程中,μ(t)表示补偿力,其作用是抵消由于重力引起的非线性成分。 有了动力学方程之后,我们可以使用Matlab来进行数值仿真。首先,我们需要定义模型的初始状态和控制器增益。我们可以选择一个合适的初始状态,比如θ(0)=pi/4,θ'(0)=0,然后根据模型的特性来选择控制器增益c。 接下来,我们可以使用Matlab的ode45函数来求解动力学方程的数值解。ode45函数是一种常用的数值积分器,可以对常微分方

程进行数值求解。在本例中,我们可以将动力学方程与初始条件传递给ode45函数,然后使用该函数来求解摆杆的角度θ(t)和角速度θ'(t)的变化。 在求解得到角度和角速度之后,我们可以使用反馈控制方法来设计控制器。一种常见的控制器设计方法是使用PID控制器。PID控制器基于当前状态与目标状态之间的差异来计算控制信号。具体地,PID控制器的输出可以通过如下公式来计算: u(t) = Kp*e(t) + Ki*∫e(t)dt + Kd*e'(t) 其中,u(t)是控制器的输出,Kp、Ki和Kd分别是比例、积分和微分增益,e(t)=θ(t)-θd(t)是当前状态与目标状态之间的差异,e'(t)=θ'(t)-θd'(t)是当前状态与目标状态之间的差异的一阶导数。 在Matlab中,我们可以使用pid函数来设计PID控制器,并计算控制信号u(t)。pid函数需要传递控制器增益Kp、Ki和Kd,以及参考信号θd(t)和θd'(t)作为输入。我们可以根据设计需求来选择适当的控制器增益,并通过适当的设计参考信号来实现倒立摆保持垂直位置的控制。 最后,我们可以使用Matlab的sim命令来进行仿真。sim命令可以加载初始状态、控制信号和仿真时间,并输出摆杆的角度和角速度的变化。通过观察仿真结果,我们可以评估控制器的性能,并进行必要的调整和优化。 综上所述,我们可以使用Matlab来设计倒立摆控制系统的闭环控制器,通过数值仿真来评估控制器性能,并进行必要的调整和优化。

单级倒立摆控制系统设计及MATLAB中的仿真

单级倒立摆控制系统设计及MATLAB中的仿真第一步是建立单级倒立摆的数学模型。单级倒立摆可以通过旋转关节将一根质量均匀的细杆与一个平台相连。细杆的一端固定在平台上,另一端可以自由旋转。细棒的旋转角度用θ表示,质心的位置用x表示。根据牛顿力学和杆的动力学方程,可以得到如下数学模型: 1.摆杆的运动方程: Iθ'' + mgl sin(θ) = u - F (1) 其中,I是摆杆的转动惯量,m是摆杆的质量,g是重力加速度,l是摆杆的长度,u是控制输入(摆杆上的转动力矩),F是摩擦力。 2.质心的运动方程: m(x'' - lθ'²cos(θ)) = F (2) 接下来是设计控制器来控制单级倒立摆。一个常用的控制方法是使用线性化控制理论,其中线性化是将系统在一些工作点附近线性近似。在这种情况下,将摆杆保持在垂直方向,并使质心静止作为工作点。线性化系统的转移函数为: H(s) = θ(s)/u(s) = (ml²s² + mg)/(s(ml² + I)) 为了稳定单级倒立摆,可以使用自动控制理论中的反馈控制方法,特别是状态反馈。状态反馈根据系统的状态变量来计算控制器输入。为了设计状态反馈控制器,首先需要判断系统的可控性和可观测性。根据控制系统理论,如果系统是可控和可观测的,则可以设计一个线性状态反馈控制器来稳定系统。

在MATLAB中,可以使用控制系统工具箱来设计单级倒立摆的控制系统。首先,通过建立系统的传递函数模型(由线性化系统得到)来定义系统。然后,使用控制系统工具箱中的函数来计算系统的稳定极点,并确定 所需的反馈增益以稳定系统。最后,可以使用MATLAB的仿真工具来模拟 单级倒立摆的响应,并进行性能分析。 在进行仿真时,可以将倒立摆的初始状态设置为平衡位置,并应用一 个输入来观察系统的响应。可以通过调整控制器增益和系统参数来改变系 统响应的性能,例如收敛时间、超调量和稳态误差。 总结起来,单级倒立摆控制系统设计包括建立数学模型、线性化系统、设计线性状态反馈控制器以稳定系统,并使用MATLAB进行仿真来分析系 统的性能。这种控制设计方法可以应用于一系列控制问题,并得到稳定和 可控的系统。

基于MATLAB的一级倒立摆控制系统仿真与设计

《控制系统分析与综合》任务书题目:基于MATLAB的一级倒立摆控制系统仿真分析与设计 要求:对给定直线倒立摆系统模型,首先利用matlab对系统进行根轨迹、bode 图或能控性分析,然后根据控制系统设计指标进行相应控制器设计,在matlab 仿真环境下得到控制器参数,再将其写入实际倒立摆控制系统中,观察实际控制效果,进行控制参数的适当调整。 任务: 1、超前校正控制器设计 设计指标:调整时间t s=0.5s (2%) ;最大超调量δp≤10% 设计步骤:先对传递函数模型进行根轨迹分析,讨论原系统的稳定性等,然后利用sisotool设计超前校正控制器,仿真满足设计要求后,再在实际系统中运行测试控制效果,观察分析实际控制现象,进行参数微调。 2、滞后超前校正控制器设计 设计指标:系统的静态位置误差常数为10,相位裕量为500,增益裕量等于或大于10 分贝。 设计步骤:先对传递函数模型进行bode图分析,讨论原系统的稳定性等,然后利用sisotool设计滞后超前校正控制器,仿真满足设计要求后,再在实际系统中运行测试控制效果,观察分析实际控制现象,进行参数微调。 3、PID控制 设计指标:调整时间t s尽量小;最大超调量δp≤10% 设计步骤:先在matlab/simulink下构建PID仿真控制系统,依照PID参数整定原则进行系统校正,仿真满足设计要求后,再在实际系统中运行测试控

制效果,观察分析实际控制现象,进行参数微调。 4、状态空间极点配置控制 设计指标:要求系统具有较短的调整时间(约3秒)和合适的阻尼(阻尼比ζ= 0.5-0.7)。 设计步骤:先对系统进行能控性分析,然后根据设计要求选择期望极点(考虑主导极点),编程求出反馈矩阵K,进行系统仿真。仿真满足设计要求后,再在实际系统中运行测试控制效果,观察分析实际控制现象,进行参数微调。 设计报告要求: 报告提供如下内容 1 封面 2 目录 3 正文 (1)任务书 (2)分别对四个设计任务按照系统分析、控制器仿真设计、实际系统运行分析形成报告 4 收获、体会 5 参考文献 格式要求: 题目小三,宋体加粗 目录、正文、小标题均为小四宋体,其中标题加粗。

ADAMS matlab联合仿真

一、ADAMS /Controls模块 ADAMS /Controls是ADAMS其他模块如ADAMS/View,ADAMS/Car,ADAMS/solver等的插件模块,为建立的模型添加控制系统。通过ADAMS/Controls 模块,可以将机械系统仿真分析工具同控制设计仿真软件MATLAB,EASY5,MATRIX等有机地连接起来,实现以下功能。 (1)将复杂的控制系统添加到机械系统模型中,然后对机电一体化进行联合分析。 (2)直接利用ADAMS程序创建控制系统分析中的机械系统仿真模型,而不需要使用数学公式建模。 (3)在ADAMS环境或控制应用程序环境获得机电联合仿真结果。 ADAMS /Controls控制系统可以有两种使用方式: ●交互式:在ADAMS/Car, ADAMS /Chassis,ADAMS/Rail, ADAMS/View等模块中添加ADAMS /Controls,通过运动仿真查看控制系统和模型结构变化的效果。 ●批处理式:为了获得更快的仿真结果,直接利用ADAMS /Solver这个强有力的分析工具运行ADAMS /Controls。 设计ADAMS/Controls控制系统主要分为4个步骤: 1.建模:机械系统模型既可以在ADAMS /Controls下直接建立,也可以外部输入已经建好的模型。模型要完整包括所需的所有几何条件、约束、力以及测量等。 2.确定输入输出:确定ADAMS 输入输出变量,可以在ADAMS和控制软件之间形成闭环回路。 3.建立控制模型:通过一些控制软件如Matlab、Easy5或者Matrix等建立控制系统模型,并将其与ADAMS机械系统连接起来。 4.仿真模型:使用交互式或批处理式进行仿真机械系统与控制系统连接在一起的模型。 二、MATLAB/Simulink工具箱 MATLAB是MathWorks公司开发的软件,具有很多工具箱,其中Simulink工具箱,可以应用于对动态系统进行仿真和分析,他可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。 三、Adams和Simulink联合仿真

基于MATLAB的一级倒立摆控制系统仿真与设计

基于MATLAB的一级倒立摆控制系统仿真与设计 一级倒立摆是一个经典的控制系统问题,它由一根杆子和一个在杆子 顶端平衡的质点组成。杆子通过一个固定的轴连接到一个电机,电机可以 通过施加力来控制杆子的平衡。设计一个控制系统来实现对一级倒立摆的 稳定控制是一个重要的研究课题。 在这篇文章中,我们将介绍基于MATLAB的一级倒立摆控制系统仿真 与设计。我们将首先介绍一级倒立摆的数学模型,并根据模型设计一个反 馈控制器。然后,我们将使用MATLAB来进行仿真,评估控制系统的性能。 一级倒立摆的数学模型可以通过牛顿第二定律得到。假设杆子是一个 质点,其运动方程可以表示为: ml²θ''(t) = mgl sin(θ(t)) - T(t) 其中m是质点的质量,l是杆子的长度,g是重力加速度,θ(t)是杆 子相对于竖直方向的偏角,T(t)是电机施加的瞬时力。 为了设计一个稳定的控制系统,我们可以使用PID控制器,其控制输 入可以表示为: T(t) = Kp(θd(t) - θ(t)) + Ki∫(θd(t) - θ(t))dt + Kd(θd'(t) - θ'(t)) 其中Kp,Ki和Kd分别是比例,积分和微分增益,θd(t)是我们期望 的杆子偏角,θ'(t)是杆子的角速度。 在MATLAB中,我们可以使用Simulink来建模和仿真一级倒立摆的控 制系统。我们可以进行以下步骤来进行仿真:

1. 建立一级倒立摆的模型。在Simulink中,我们可以使用Mass-Spring-Damper模块来建立质点的运动模型,并使用Rotational Motion 库提供的Block来建立杆子的旋转模型。 2. 设计反馈控制器。我们可以使用PID Controller模块来设计PID 控制器,并调整增益参数以实现系统的稳定性和性能要求。 3. 对控制系统进行仿真。通过在MATLAB中运行Simulink模型,我们可以观察控制系统的响应,并评估系统的稳定性和性能。 在仿真过程中,我们可以通过调整PID控制器的增益参数来优化系统响应。比例增益可以用来控制系统的稳定性和响应速度,积分增益可以用来消除系统的静态误差,微分增益可以用来抑制系统的震荡。 通过多次仿真,我们可以逐步调整PID控制器的增益参数,直到找到最佳参数组合,使得控制系统能够在期望的时间内快速稳定,并且对外界干扰具有鲁棒性。 综上所述,基于MATLAB的一级倒立摆控制系统仿真与设计是一个重要的研究课题。通过建立数学模型,设计反馈控制器,并使用MATLAB进行仿真,我们可以评估控制系统的性能并优化控制参数,从而实现对一级倒立摆的稳定控制。这项工作对于控制系统的理论研究和实际应用都具有重要意义。

轮式倒立摆的数学建模及状态反馈控制

轮式倒立摆的数学建模及状态反馈控制 石祥;许哲;何青义;田卡 【摘要】轮式倒立摆是检验各种控制理论的理想模型,首先采取牛顿力学分析的方法,依次得出轮式倒立摆中直流电机、车体和摆杆动力学方程,从而基于小角度线性化方法得出轮式倒立摆的近似线性模型:然后基于Matlab进行轮式倒立摆的状态反馈控制,设计出其控制律,验证其可行性,但是轮式倒立摆的数学模型通常是经线性化处理后得出,为了提高仿真准确性,再基于虚拟样机技术,对轮式倒立摆进行Matlab与ADAMS的联合仿真,仿真结果显示系统响应曲线在规定时间内迅速收敛至0附近,此结果不仅验证了联合仿真中状态反馈控制的正确性,而且表明联合仿真是控制理论研究中值得推广的方法. 【期刊名称】《机电产品开发与创新》 【年(卷),期】2014(027)001 【总页数】4页(P11-14) 【关键词】轮式倒立摆;状态反馈控制;联合仿真;ADAMS 【作者】石祥;许哲;何青义;田卡 【作者单位】上海海洋大学工程学院,上海201306;上海海洋大学工程学院,上海201306;上海海洋大学工程学院,上海201306;上海海洋大学工程学院,上海201306 【正文语种】中文 【中图分类】TP13

0 引言 倒立摆[1~3]作为一类非线性控制系统的典型特例,能有效地反映诸如可镇定性、鲁棒性、随动性以及跟踪等许多控制中的关键问题,是检验各种控制理论的理想模型,目前已有多种控制算法[4~9]应用其中,但是在研究其控制算法之前都存在着建模问题。目前关于各种倒立摆的研究论文中所给出的数学模型中,通常没有系统微分方程的推理过程,或者模型比较单一,尤其是轮式倒立摆。 轮式倒立摆又称“两轮自平衡机器人[10]”,其模型是建立在由两个车轮左右平行布置、可移动的小车车体上,每个车轮都与电机相连。当车体运动时,通过控制电机的转速来控制车轮,使摆杆尽快地达到一个平衡位置,并且没有大的振荡。当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。本文将对轮式倒立摆进行数学建模,从而得出其状态方程,并基于Matlab及ADAMS的联合仿真对轮式倒立摆的状态反馈控制加以验证。 1 数学建模 1.1 直流电机的数学模型 轮式倒立摆由两个直流电机驱动,本节主要推导直流电机的数学模型,图1展示了机械载荷和直流电源的驱动,从直流电源得到的电能转换为机械能,机械能再转换为作用在直流电机上的载荷。 图1 直流电机图解Fig.1 Diagram of DC motor 因为轴上产生的所有扭矩与轴的加速度呈比例关系,而轴上的加速度又是通过电枢的转动惯量IR 产生,可推出如下关系: 为了简化直流电机模型,电机的电感和摩擦忽略不计,电流导数规定为零,因此式(1)可分别被等效成如下:

单级倒立摆控制系统设计及MATLAB中的仿真汇总

单级倒立摆控制系统设计及simulink仿真 摘要:倒立摆系统是一个典型的多变量、非线性、强藕合和快速运动的自然不稳定系统。因此倒立摆在研究双足机器人直立行走、火箭发射过程的姿态调整和直升机飞行控制领域中有重要的现实意义,相关的科研成果己经应用到航天科技和机器人学等诸多领域。单级倒立摆系统是一种广泛应用的物理模型。控制单级倒立摆载体的运动是保证倒立摆稳定性的关键因素。为了避免常用的物理反馈分析方法和运动轨迹摄像制导控制方法的某些缺点,本文从力学的角度提出对倒立摆的运动进行纯角度制导分析,完成了对倒立摆载体的角度制导运动微分方程的数学建模,设计了该模型的模糊控制系统,并利用 Matlab\simulink软件工具对倒立摆的运动进行了计算机仿真。实验表明,这种模糊控制配合代数解析方法的运算速度和计算机仿真的效果均较物理反馈制导控制方法有了一定的提高。该方法可以有效地改善单级倒立摆控制系统的性能。本论文的主要工作是研究了直线一级倒立摆系统的模糊控制问题,用Matlab和Simulink对一级倒立摆模糊控制系统进行了仿真,验证了设计的可行性。本文论述了一级倒立摆数学建模方法,推导出他们的微分方程,以及线性化后的状态方程。讨论了单级倒立摆系统的模糊控制方法和操作步骤。用Simulink实现了单级倒立摆模糊控制仿真系统,分别给出一级倒立摆系统控制量的响应曲线。通过仿真说明控制器的有效性和实现性。 关键词:单级倒立摆;仿真;模糊控制;运动;建模;Simulink Design of single stage inverted pendulum control system and Simulink simulation Abstract: inverted pendulum system is unstable system with a typical multi variable, nonlinear, strong coupled and fast motion. So the research on the attitude adjustment of the double foot robot and the attitude adjustment of the rocket launching process and the helicopter flight control field have practical,significance. The related scientific research achievements have been applied to many fields such as aerospace science and robotics. Single inverted pendulum system is a widely used physical model. Controlling the movement of the single inverted pendulum is the key factor to guarantee the stability of the inverted pendulum. In order to avoid some shortcomings of common physical feedback analysis method and motion trajectory camera guidance control method, this paper presents a pure angle guidance analysis on the motion

MATLAB+ADAMS联合仿真

1.建立一种简朴旳模型MODEL_Co_Simulation,创立一种构件PART_2,创立一种转动约束JOINT_1,给转动约束一种驱动MOTION_1 2.创立两个变量VARIABLE_PART2_CMx和变量VARIABLE_motion1 创立变量如下: 命名好名字点击OK则生成两个变量如图:

3.然后在变量variable_part1中填写函数DX(PART_2.cm)这个函数用来测量构件PART_2质心点cm旳X坐标;变量variable_motion1不做任何变化; 在MOTION_1 中填入VARVAL(VARIABLE_motion1),variable_motion1将作为ADAMS旳输入变量,MATLAB传递给ADAMS旳数据,通过变量variable_motion1传递给MOTION_1。 4.在adams中点击Plugins——Controls——Plant Export,进行adams控制模块设立 窗口

点击Plant Export后浮现如下界面 然后对图中标记旳地方进行修改

同理操作右侧空白选中VARIABLE_Part1_CMx,然后如下图 注意修改Target Software为MATLAB,显示这样旳界面后点击OK,此时在模型旳工程目录下会生成如下几种文献

这样ADAMS中旳操作就已经完毕 打开MATLAB,在MATLAB中输入工程目录下生成旳文献旳文献名如Control_Plant_3,回车MATLAB如下 然后输入adams_sys回车,打开如下旳一种窗口

新建一种Simulink空白文档把ADAMS_sub拖进新旳文档 双节adams_sub如图 双击MSC_Software如图

基于一阶倒立摆的matlab仿真实验

成都理工大学工程技术学院 基于一阶倒立摆的matlab仿真实验 实验人员: ------- ------- 学号:-------- --------- 实验日期:20150618

摘要 本文主要研究的是一级倒立摆的控制问题,并对其参数进行了优化。倒立摆是典型的快速、多变量、非线性、强耦合、自然不稳定系统。由于在实际中有很多这样的系统,因此对它的研究在理论上和方法论上均有深远的意义。本文首先简单的介绍了一下倒立摆以及倒立摆的控制方法,并对其参数优化算法做了分类介绍。然后,介绍了本文选用的优化参数的状态空间极点的配置和PID控制。接着建立了一级倒立摆的数学模型,并求出其状态空间描述。本文着重讲述的是利用状态空间中极点配置实现方法。最后,用Simulink对系统进行了仿真,得出在实际控制中是两种比较好的控制方法。

目录 1 引言 (4) 1.1 倒立摆介绍以及应用 (4) 1.2 倒立摆的控制方法 (5) 2单级倒立摆数学模型的建立 (6) 2.1传递函数 (8) 2.2状态空间方程 (9) 3系统Matlab 仿真和开环响应 (10) 4 系统设计 (15) 4.1极点配置与控制器的设计 (15) 4.2系统仿真: (16) 4.3仿真结果 (17) 4.4根据传递函数设计第二种控制方法-----PID串级控制 (18) 5结论 (19)

1 引言 1.1 倒立摆介绍以及应用 倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。 通过对它的研究不仅可以解决控制中的理论和技术实现问题,还能将控制理论涉及的主要基础学科:力学,数学和计算机科学进行有机的综合应用。其控制方法和思路无论对理论或实际的过程控制都有很好的启迪,是检验各种控制理论和方法的有效的“试金石”。倒立摆的研究不仅有其深刻的理论意义,还有重要的工程背景。在多种控制理论与方法的研究与应用中,特别是在工程实践中,也存在一种可行性的实验问题,使其理论与方法得到有效检验,倒立摆就能为此提供一个从理论通往实践的桥梁,目前,对倒立摆的研究已经引起国内外学者的广泛关注,是控制领域研究的热门课题之一。 倒立摆不仅仅是一种优秀的教学实验仪器,同时也是进行控制理论研究的理想实验平台。由于倒立摆系统本身具有的高阶次、不稳定、多变量、非线性和强耦合特性,许多现代控制理论的研究人员一直将它视为典型的研究对象,不断从中发掘出新的控制策略和控制方法,相关的科研成果在航天科技和机器人学方面获得了广阔的应用。二十世纪九十年代以来,更加复杂多种形式的倒立摆系统成为控制理论研究领域的热点,每年在专业杂志上都有大量的优秀论文出现。因此,倒立摆系统在控制理论研究中是一种较为理想的实验装置。 倒立摆主要应用在以下几个方面: (1)机器人的站立与行走类似于双倒立摆系统,尽管第一台机器人在美国问世至 今已有三 十年的历史,机器人的关键技术--机器人的行走控制至今仍未能很好解决。 (2)在火箭等飞行器的飞行过程中,为了保持其正确的姿态,要不断进行实时控制。

模糊控制在倒立摆中的MATLAB仿真应用.

TAIYUAN UNIVERSITY OF SCIENCE&TECHNOLOGY 题目: 院(系): 专业: 学生姓名: 学号:

模糊控制在倒立摆中的仿真应用 1、倒立摆系统 1.1简介 倒立摆有许多类型,例如图1-1的a和b所示的分别是轮轨式一级倒立摆系统和二级倒立摆系统的模型。倒立摆是一个典型的快速、多变量、非线性、本质不稳定系统,它对倒置系统的研究在理论上和方法论上具有深远的意义。对倒立摆的研究可归结为对非线性多变量本质不稳定系统的研究,其控制方法和思路在处理一般工业过程中也有广泛的用途。近些年来国内外不少专家学者对一级、二级、三级、甚至四级等倒立摆进行了大量的研究,人们试图寻找不同的控制方法实现对倒立摆的控制,以便检查或说明该方法的严重非线性和本质不稳定系统的控制能力。2002年8月11日,我国的李洪兴教授在国际上首次成功实现了四级倒立摆实物控制,也标志着我国学者采用自己提出的控制理论完成的一项具有原创性的世界领先水平的重大科研成果。 图1-1倒立摆模型 (a)一级倒立摆模型(b)二级倒立摆模型 倒立摆系统可以简单地描述为小车自由地在限定的轨道上左右移动。车上的倒立摆一端用铰链安装在小车顶部,另一端可以在小车轨道所在的垂直平面内自由转动,通过电机和皮带传动使小车运动,让倒立摆保持平衡并保持小车不和轨道两端相撞。在此基础上在摆杆的另一端铰链其它摆杆,可以组成二级、三级倒立摆系统。该系统是一个多用途的综合性试验装置,它和火箭的飞行及步行机器人的关节运动有许多相似之处,其原理可以用于控制火箭稳定发射、机器人控制等诸多领域。 1.2倒立摆系统控制原理 单级倒立摆系统的硬件包括下面几个部分:计算机、运动控制卡、伺服系统、倒立摆和测量元件,由它们组成的一个闭环系统,如图1-2所示,就是单级倒立摆系统的硬件结构图。

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

基于ADAMS与MATLAB的倒立摆联合仿真实验 一、实验目的 在传统的机电一体化研究设计过程中,机械工程师和控制工程师虽然在共同设计开发一个系统,但是他们各自都需要建立自己的模型,然后分别采用不同的分析软件,对机械系统和控制系统进行独立的设计、调试和试验,最后进行机械系统和控制系统各自的物理样机联合调试,如果发现问题又要回到各自的模型中分别修改,然后再联合调试,显然这种方式费时费力。 基于多领域的建模与联合仿真技术很好的解决了这个问题,为机械和控制系统进行联合分析提供了一种全新的设计方法。机械工程师和控制工程师就可以享有同一个样机模型,进行设计、调试和试验,可以利用虚拟样机对机械系统和控制系统进行反复联合调试,直到获得满意的设计效果,然后进行物理样机的建造和调试。 ADAMS与MATLAB是机械系统仿真和控制系统仿真领域应用较为广泛的软件,其中ADAMS为用户提供了强大的建模、仿真环境,使用户能够对各种机械系统进行建模、仿真和分析,具有十分强大的运动学和动力学分析功能;而MATLAB具有强大的计算功能、极高的编程效率及模块化的建模方式,因此,把ADAMS与MATLAB联合起来仿真,可以充分将两者的优势相结合,将机械系统仿真分析同控制系统设计有机结合起来,实现机电一体化的联合分析。 本实验以倒立摆为例,进行ADAMS与MATLAB的联合仿真,对倒立摆的运动性能和运动规律进行分析。 二、实验方法 软件环境:MD ADAMS R3,MATLAB R2009b 2.1 建立倒立摆的动力学模型 启动ADAMS/View模块弹出如图1所示对话框,建立小车及摆杆模型。首

先选择“Create a new model”选项,创建一个新的模型,将该文件保存在相应的文件夹下,本实验将结果保存在E:\daolibai_adams文件夹下,将文件名取为“daolibai_adams”,其余选项保持默认。注意,在ADAMS中路径名和文件名最好采用英文字符,否则有可能在运行的过程中出现意想不到的错误。 图1 启动ADAMS/View模块 进入ADAMS/View界面后,需要对相关参数进行设置。选择菜单栏中的“Settings?Working Grid”选项,弹出如图2所示的对话框,设置网格的大小。将“Spacing”设置为X:10mm,Y:10mm,其余参数保持默认。在“Settings”选项中还可以设置图标的大小,单位等等参数,在本实验中这些参数都保持默认即可。

倒立摆系统的建模及Matlab仿真

倒立摆系统的建模及Matlab 仿真 1.系统的物理模型 考虑如图(1)面内运动的二维问题。 图(1)倒立摆系统 假定倒立摆系统的参数如下。 摆杆的质量:m=0.1g 摆杆的长度:l =1m 小车的质量: M=1kg 重力加速度:g=9.8m/2s 摆杆的质量在摆杆的中心。 设计一个控制系统,使得当给定任意初始条件(由干扰引起)时,最大超调量δ ≤10%,调节时 间ts ≤4s ,通过小车的水平运动使倒立摆保持在垂直位置。 2.系统的数学模型 2.1建立倒置摆的运动方程并将其线性化。 为简化问题,在数学模型中首先假设:1)摆杆为刚体;2)忽略摆杆与支点之间的摩擦;3)忽略小车与接触面间的摩擦。 设小车瞬时位置为z,摆心瞬时位置为(θsin l z +),在u 作用下,小车及摆均产生加速远动,根据牛顿第二定律,在水平直线远动方向的惯性力应与u 平衡,于是有 u l z dt d m dt z d M =++)sin (22 22θ 即: u ml ml z m M =-++θθθθsin cos )(2&&&

绕摆轴转动的惯性力矩与重力矩平衡,因而有 θθθsin cos )sin (22mgl l l z dt d m =⋅⎥⎦ ⎤⎢⎣⎡+ 即: θθθθθθθsin cos sin cos cos 22g l l z =-+&&&&& ② 以上两个方程都是非线性方程,为求得解析解,需作线性化处理。由于控制的目的是保持倒立摆直 立,在试驾合适的外力条件下,假定θ很小,接近于零时合理的,则1cos ,sin ≈≈θθθ,且可忽略θ θ2&项。于是有 u ml z m M =++θ&&&& )( ③ θθg l z =+&&&& ④ 联立求解可得 u Ml Ml m M u M M mg z 1)(1 -+=+- =θθθ&&&& 2.2列写系统的状态空间表达式。 选取系统变量4321,,,x x x x , []T x x x x x 4321,,,=则 u Ml x Ml m M x x x u M x M mg x x x 1 )(134433221-+= =+-==&&&& 即 []Cx x x y Bu Ax u Ml M x Ml g m M M mg z z dt d x ===+=⎥⎥⎥⎥⎥⎦ ⎤⎢⎢⎢⎢⎢⎣⎡-+⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢ ⎢⎢⎣ ⎡ +- =⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=000110100)(0 010 0000000 1 1θθ&&& 代入数据计算得到:

ADAMS与Matlab联合仿真

7.1机械夹紧机构建模使用实例 机械系统建模实例将创建一种机械夹紧机构模型,是阿波罗登月计划中用于夹紧登月舱和宇宙飞船的十二个夹紧机构之一。夹紧机构包括:摇臂(Pivot)、手柄(Handle)、锁钩(Hook)、连杆(Slider)和固定块(ground Block)等物体。 夹紧机构的工作原理是:如图7-1所示,在夹紧机构手柄(Handle)处施加一个作用力,驱动机构运动,使其锁钩(Hook)处产生十倍于作用力的夹紧力,用于夹紧登月舱和宇宙飞船。 夹紧机构的设计要求是:至少产生800N的夹紧力;施加在手柄上的力应不大于80N;释放手柄的力应最小;在振动环境中夹紧机构应安全可靠。 手柄Handle 锁钩Hook 图7-1 夹紧机构三维模型图 以下将从创建几何构件、添加约束、添加载荷及结果后处理等几个方面详细介绍机械夹紧机构模型的建立。通过本实例的学习,能够详细了解ADAMS软件设计流程及使用方法。 7.1.1创建几何构件 1、创建新模型 本实例将使用ADAMS/View的零件库、约束库和力库创建夹紧机构模型。 首先打开ADAMS/View,选择“Create a new model”,模型名称(Model Name):Latch,点击OK,创建新模型完毕。其它设置如图7-2所示:

图7-2 创建新模型 2、设置工作环境 选择菜单栏【Settings】→【Units】命令,设置模型物理量单位,如图7-3所示: 图7-3设置模型物理量单位 选择菜单栏【Settings】→【Working Grid】命令,设置工作网格,如图7-4所示:

图7-4设置工作网格 3、创建设计点 设计点是几何构件形状设计和位置定位的参考点。本实例将通过设计点列表编辑器创建几何构件模型所需要的全部设计点。 选择并点击几何模型库(Geometric Modeling)中的点(Point),下拉菜单选择(Add to Ground)、(Don’t Attach),并单击Point Table列表编辑器,创建并生成Point_1、Point_2等六个设计点,如图7-5、图7-6所示: 图7-5设计点列表编辑器

基于MATLAB的倒立摆系统控制系统设计与仿真【毕业作品】

1 绪论 1.1倒立摆系统简介 倒立摆系统是一种很常见的又和人们的生活密切相关的系统,它深刻揭示了自然界一种基本规律,即自然不稳定的被控对象,通过控制手段可使之具有良好的稳定性。倒立摆系统是一个非线性,强耦合,多变量和自然不稳定的系统。它是由沿导轨运动的小车和通过转轴固定在小车上的摆杆组成的。在导轨一端装有用来测量小车位移的电位计,摆体与小车之间由轴承连接,并在连接处安置电位器用来测量摆的角度。小车可沿一笔直的有界轨道向左或向右运动,同时摆可在垂直平面内自由运动。直流电机通过传送带拖动小车的运动,从而使倒立摆稳定竖立在垂直位置。 图1.1一级倒立摆装置简图 由图1.1中可以看到,倒立摆装置由沿导轨运动的小车和通过转轴固定在小车上的摆体组成。导轨的一端固定有位置传感器,通过与之共轴的轮盘转动可以测量出沿导轨由图中可以看到,倒立摆装置由沿导轨运动的小车和通过转轴固定在小车上的摆运动的小车位移;小车通过轴承连接摆体,并在小车与摆体的连接处固定有共轴角度传感器,用以测量摆体的角度信号;并通过微分电路得到相应的速度和角速度信号;导轨的另一端固定有直流永磁力矩电机,直流电机通过传送带驱动小车沿导轨运动,在小车沿导轨左右运动的过程中将力传送到摆杆以实现整个系统的平衡。倒立摆的种类很多,有悬挂式倒立摆、平行式倒立摆、和球平衡式倒立摆;倒立摆的级数可以是一级,二级,乃至更多级。控制方法也是多种,可以通过模糊控制,智能控制,PID控制,LQR控制等来实现倒立摆的动态平衡,本文介绍的是状态反馈极点配置方法来实现一级倒立摆的控制。

1.2倒立摆的控制规律 当前,倒立摆的控制规律可总结如下: (1)状态反馈 H控制[1],通过对倒立摆物理模型的分析,建立倒立摆的动力学模型,然后使用状态空间理论推导出状态方程和输出方程,应用状态反馈和Kalnian滤波相结合的方法,实现对倒立摆的控制。 (2)利用云模型[2-3]实现对倒立摆的控制,用云模型构成语言值,用语言值构成规则,形成一种定性的推理机制。这种拟人控制不要求给出被控对象精确的数学模型,仅仅依据人的经验、感受和逻辑判断,将人用自然语言表达的控制经验,通过语言原子和云模型转换到语言控制规则器中,就能解决非线性问题和不确定性问题。 (3)神经网络控制,已经得到证明,神经网缴(NeuralN etwork NN)能够任意充分地逼近复杂的非线性关系,NN能够学习与适应严重不确定性系统的动态特性,所有定量或定性的信息都等势分布贮存于网络内的各种神经元,故有很强的鲁棒性和容错性;也可将Q学习算法[4]和BP神经网络有效结合,实现状态未离散化的倒立摆的无模型学习控制。 (4)遗传算法(Genetic Algorithms, GA),高晓智[a]在Michine的倒立摆控制Boxes 方案的基础上,利用GA对每个BOX中的控制作用进行了寻优,结果表明GA可以有效地解决倒立摆的平衡问题。 (5)自适应控制,主要是为倒立摆设计出自适应控制器。 (6)模糊控制,主要是确定模糊规则,设计出模糊控制器实现对倒立摆的控制。(7)使用几种智能控制算法相结合实现倒立摆控制,比如模糊自适应控制,分散鲁棒自适应控制等等。 (8)采用遗传算法与神经网络相结合的方法,首先建立倒立摆系统的数学模型,然后为其设计出神经网络控制器,再利用改进的遗传算法训练神经网络的权值,从而实现对倒立摆的控制,采用GA学习的NN控制器兼有NN的广泛映射能力和GA快速收敛以及增强式学习等性能。

相关主题
文本预览
相关文档 最新文档