1、2019/6/30,控制系统计算机辅助设计MATLAB语言与应用,1,第 1 章 控制系统计算机辅助设计概述,薛定宇 著控制系统计算机辅助设计MATLAB语言与应用第二版,清华大学出版社 2006,2019/6/30,2,控制系统计算机辅助设计MATLAB语言与应用,本章主要内容,控制系统计算机辅助设计技术的发展综述 控制系统计算机辅助设计语言环境综述 仿真软件的发展概况 MATLAB/Simulink与 CACSD工具箱 控制系统计算机辅助设计领域的新方法 本书的基本结构和内容,2019/6/30,3,控制系统计算机辅助设计MATLAB语言与应用,1.1 控制系统计算机辅助设计 技术的发展综
2、述,早期的控制系统设计可以由纸笔等工具容易地计算出来,如 Ziegler 与 Nichols 于1942年提出的 PID 经验公式就可以十分容易地设计出来。 随着控制理论的迅速发展,光利用纸笔以及计算器等简单的运算工具难以达到预期的效果,加之在计算机领域取得了迅速的发展,于是很自然地出现了控制系统的计算机辅助设计 (computer-aided control system design , CACSD)方法。,2019/6/30,4,控制系统计算机辅助设计MATLAB语言与应用,控制系统的计算机辅助设计技术的发展目前已达到了相当高的水平,并一直受到控制界的普遍重视。 早在1982年12 月和
3、1984 年12 月,控制系统领域在国际上最权威的IEEE控制系统学会的控制系统杂志(Control Systems Magazine)和IEEE学会的科研报告集(Proceedings of IEEE)分别第一次出版了关于CACSD的专刊 近三十年来,随着计算机技术的飞速发展,各类CACSD 软件频繁出现且种类繁多,MATLAB 语言出现以来,就深受控制领域学生和研究者的欢迎,已经成为控制界最流行、最有影响的通用计算机语言,成为控制界学者的首选。,2019/6/30,5,控制系统计算机辅助设计MATLAB语言与应用,MATLAB 作为主要程序设计语言来介绍控制系统计算机辅助设计的算法,可以使
4、读者将主要精力集中在控制系统理论和方法上,而不是将主要精力花费在没有太大价值的底层重复性机械性劳动上,这样可以对控制系统计算机辅助设计技术有较好的整体了解,避免“只见树木,不见森林”的认识偏差,提高控制器设计的效率和可靠性。,2019/6/30,6,控制系统计算机辅助设计MATLAB语言与应用,子曰:“工欲善其事,必先利其器”。跟踪国际最先 进的 CACSD软件环境及发展,以当前国际上最流 行的 CACSD软件环境MATLAB为基本出发点来系 统地介绍控制系统计算机辅助设计技术及软件实 现,从而大大提高 CACSD算法研究与实际应用的 效率和可靠性,这是本书的一个主要目的。,2019/6/30
5、,7,控制系统计算机辅助设计MATLAB语言与应用,1.2 控制系统计算机辅助 设计语言环境综述,20世纪70年代: 1973年美国学者 Melsa 教授和 Jones 博士出版了一本专著,书中给出了许多当时流行的控制系统计算机辅助分析与设计的源程序,包括求取系统的根轨迹、频域响应、时间响应、以及各种控制系统设计的子程序如:Luenberger 观测器、Kalman 滤波等。,2019/6/30,8,控制系统计算机辅助设计MATLAB语言与应用,瑞典 Lund 工学院教授 主持开发的一套交互式 CACSD 软件 INTRAC 日本的古田胜久 (Katsuhisa Furuta) 教授主持开发的
6、DPACS-F 软件等。 1980年美国学者 Cleve Moler 等人推出的交互式MATLAB 语言逐渐受到了控制界研究者的普遍重视 图形交互式的模型输入计算机仿真环境 Simulink 的出现为MATLAB应用的进一步推广起到了积极性的推动作用。,2019/6/30,9,控制系统计算机辅助设计MATLAB语言与应用,国际上控制系统计算机辅助设计软件的发展大致分为几个阶段:软件包阶段、交互式语言阶段及当前的面向对象的程序环境阶段 这些软件包大都是由 FORTRAN 语言编写的源程序组成的,给使用者提供了较好的接口,但和 MATLAB 相比,调用方法和使用明显显得麻烦、不便。,现在,MATL
7、AB 已经风靡了全世界,成为控制系统仿真与计算机辅助设计领域最普及也是最受欢迎的首选计算机语言。,2019/6/30,控制系统计算机辅助设计MATLAB语言与应用,10,20世纪70年代末期和80年代初期出现了很多实 用的具有良好人机交互功能的软件,如:MATLAB、前面提及的 INTRAC和 CTRL-C 等。 正因为存在多种多样的 CACSD 软件,而它们之间又各有所长,所以在 CACSD 技术的发展过程中曾有过几次将若干常用软件集成在一起的尝试。,此外,以前 FORTRAN 语言绘图并不是轻而易举的事情,这就需要再调用相应的软件包来做进一步处理。,2019/6/30,11,控制系统计算机
8、辅助设计MATLAB语言与应用,依作者之见,这些集成出来的软件并不是很成功的,因为它们并没有达到预期的效果。 事实上,从那以后每个软件的功能都有了明显的改善,MATLAB 语言有了自己的仿真功能,Simulink 从某种意义上来讲其功能和接口更优于ACSL , MATLAB 和 Mathematica 之间也有了较好的接口,它们的优势可以得到充分地互补。,2019/6/30,12,控制系统计算机辅助设计MATLAB语言与应用,我国较有影响的控制系统仿真与计算机辅助设计成果是中科院系统科学研究所韩京清研究员等主持的国家自然科学基金重大项目开发的CADCSC软件。 清华大学孙增圻、袁曾任教授的著作
9、和程序。 以及北京化工学院吴重光、沈成林教授的著作和程序等。,2019/6/30,13,控制系统计算机辅助设计MATLAB语言与应用,1.3 仿真软件的发展概况,仿真技术引起该领域各国学者、专家们的重视,建立起国际的仿真委员会 (Simulation Councils Inc., Sci ),该公司于1967年通过了仿真语言规范。 仿真语言CSMP (computersimulation modelling program) 应该属于建立在该标准上的最早的专用仿真语言。 中科院沈阳自动化研究所在1988年推出了该语言的推广版本 CSMP-C。,2019/6/30,14,控制系统计算机辅助设计M
10、ATLAB语言与应用,系统仿真领域有很多自己的特性,如果能选择一种能反映当今系统仿真领域最高水平,也是最实用的软件或语言介绍仿真技术,使得读者能直接采用该语言解决自己的问题,将是很有意义的。 实践证明,MATLAB 就是这样的仿真软件,由于它本身卓越的功能,已经使得它成为自动控制、航空航天、汽车设计等诸多领域仿真的首选语言。 所以在本书中将介绍基于 MATLAB/Simulink的控制系统仿真与设计方法及其应用。,2019/6/30,15,控制系统计算机辅助设计MATLAB语言与应用,1.4 MATLAB/Simulink 与 CACSD 工具箱,早期的 MATLAB 的功能十分简单,当它作为
11、免费软件出现以来,还是吸引了大批的使用者。 Cleve Moler 和 John Little 等人于1984年成立了一个名为 The MathWorks 的 公司 The MathWorks 公司于1992 年推出了具有划时代意义的 MATLAB 4.0版本。,2019/6/30,16,控制系统计算机辅助设计MATLAB语言与应用,MATLAB 目前已经成为控制界国际上最流行的软件,它除了传统的交互式编程之外,还提供了丰富可靠的矩阵运算、图形绘制、数据处理、图像处理、方便的 Windows 编程等便利工具。 此外,控制界很多学者将自己擅长的 CAD 方法用MATLAB 加以实现,出现了大量的
12、 MATLAB 配套工具箱。如控制界最流行的控制系统工具箱、系统辨识工具箱、鲁棒控制工具箱、多变量频域设计工具箱、分析与综合工具箱、神经网络工具箱、最优化工具箱、信号处理工具箱、以及仿真环境 Simulink。,2019/6/30,17,控制系统计算机辅助设计MATLAB语言与应用,早期的 CACSD 研究侧重于对控制系统的计算机辅助分析上,开始时人们利用计算机的强大功能把系统的频率响应曲线绘制出来,并根据频率响应的曲线及自己的控制系统设计经验用试凑的方法设计一个控制器,然后利用仿真的方法去观察设计的效果。,1.5 控制系统计算机辅助设计 领域的新方法,2019/6/30,18,控制系统计算机
13、辅助设计MATLAB语言与应用,除了经典的多变量频域方法之外,还出现了一些基于最优化技术的控制方法,其中比较著名的是英国学者 John Edmunds 提出的多变量参数最优化控制方法和英国学者 Zakian 提出的不等式控制方法等。 与此同时,美国学者似乎更习惯于状态空间的表示与设计方法。此方法往往又称为时域方法 (time-domain),首先在线性二次型指标下引入了最优控制的概念,并在用户的干预下(如人工选择加权矩阵)得出某种最优控制的效果,这样的控制又往往需要引入状态反馈或状态观测器新的控制概念。,2019/6/30,19,控制系统计算机辅助设计MATLAB语言与应用,从控制系统的鲁棒性
14、角度也出现了各种各样的控制方法,如各种 最优控制的方案. 随着控制器的阶次越来越高,还出现了很多的控制器降阶方法来实现设计出的控制器。 线性矩阵不等式 (linear matrix inequalities) 及分析与综合等控制系统设计方法也在控制界有较大的影响,而这些方法不通过计算机这样的现代化工具是不能完成的。,2019/6/30,20,控制系统计算机辅助设计MATLAB语言与应用,分数阶控制领域也出现了很多新的研究成果,是控制理论的一个较新的研究领域。教授和合作者对传统的,也是工业中应用最广泛的 PID 控制器进行了改进,提出了自整定 PID 控制器更加切合于过程控制的实际应用。,201
15、9/6/30,21,控制系统计算机辅助设计MATLAB语言与应用,国际上出版了关于 MATLAB及 CACSD的专著和教材,但它们大都是MATLAB的入门教材,并没有真正深入、系统地探讨CACSD 技术及 MATLAB实现,将MATLAB的强大功能与控制领域成果有机结合是本书力图解决的主要问题。,2019/6/30,22,控制系统计算机辅助设计MATLAB语言与应用,第1章 对国际上最流行的一些 CACSD 专用软件作简要的介绍,阐释了为什么应该采用 MATLAB 作为主要计算机语言的原因。 第2章 系统地介绍 MATLAB 编程的基础。,1.6 本书的基本结构和内容,2019/6/30,23
16、,控制系统计算机辅助设计MATLAB语言与应用,第3章 介绍在 MATLAB 环境中如何表示各种各样的线性系统数学模型。 第4章 介绍线性控制系统的基本分析方法。 第5章 介绍基于 Simulink 的非线性系统建模方法与技巧。 第6章 介绍各种经典的控制系统设计方法。,2019/6/30,24,控制系统计算机辅助设计MATLAB语言与应用,第7章 介绍各类系统的鲁棒控制器设计方法。 第8章 介绍自适应控制与智能控制系统的建模、仿真与设计问题。 第9章 基于 dSPACE 和 Quanser 软硬件系统介绍了控制系统的办实物仿真及实时控制方法,为控制理论及方法的工程应用打好基础。,2019/6
17、/30,25,控制系统计算机辅助设计MATLAB语言与应用,本课程的互联网资源,The MathWorks公司官方网站 产品与全套工具箱手册下载http:/ 第三方工具箱下载 http:/ 产品在中国独家代理 (北京九州恒润公司) http:/,2019/6/30,26,控制系统计算机辅助设计MATLAB语言与应用,MATLAB 大观园 (薛定宇维护) 本书及相关内容资源 http:/www.matlab- MATLAB 与应用论坛 (薛定宇维护) http:/ 博士家园论坛网站 (各类数学问题) http:/ 一些高校的 bbs 清华大学、哈工大、上海交大、西安交大等,2019/6/30,27,控制系统计算机辅助设计MATLAB语言与应用,学习动物精神,11、机智应变的猴子:工作的流程有时往往是一成不变的,新人的优势在于不了解既有的做法,而能创造出新的创意与点子。一味地接受工作的交付,只能学到工作方法的皮毛,能思考应变的人,才会学到方法的精髓。,2019/6/30,28,控制系统计算机辅助设计MATLAB语言与应用,学习动物精神,12、善解人意的海豚:常常问自己:我是主管该怎么办才能有助于更好的处理事情的方法。在工作上善解人意,会减轻主管、共事者的负担,也让你更具人缘。,2019/6/30,29,控制系统计算机辅助设计MATLAB语言与应用,谢谢大家!,