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