嵌入式Linux基础教程(embedded Linux primer)
embedded Linux primer 的中文版。由华清远见翻译。译者序如果早些看到 Christopher Hallinan的这本书,我就不会在开发过程中走那么多弯路了!人类无限膨胀的欲望促进了嵌入式的发展。回想10年前,你能想象手机可以照相吗?你能想象汽车里会安装全球定位系统吗?今天看来,这些都是多么普通的功能,因为只要调用一些函数(压缩算法)就可以实现。但是你想过吗?如果没有操作系统的支持,很多复杂的功能是无法完成的。要从事嵌入式开发,掌握操作系统的知识是必要的本领之一个不可忽视的事实是电子产品的性能不断提升,而价格却在下降。开发商越来越重视成本免费、自由的 Linux无疑是一个强有力的竞争者。凭借优异的特性和良好的发展趋势, Linux轻而易举地坐上了嵌入式操作系统的头把交椅。嵌入式系统并不见得有多么高深,但是因为嵌入式系统本身涉及了很多学科,致使很多初学者时常深感迷茫,不知道从何入手,即便是编译环境都很难搭建,更不用说调试和部署了。幸运的是, Christopher Hallinan的这部著作为我们学习嵌入式系统提供了捷径。请允许我在此使用“捷径”一词,因为我在刚刚踏入嵌入式 Linux大门时,其中的很多概念也一度让我觉得神秘而困惑。虽然网络搜索功能很强大,但是就如同迷失在一棵大树的树叶之间,你很难摸索到树十,找到正确的方向,而 Christopher Hallinan的这本书就是指引我们前进的“树干”。更可贵的是,本书每章后都提供了相关参考资料,你会很容易地查找到需要了解的内容。在如此短的篇幅内阐述嵌入式 Linux的方方面面是不可能的。但本书作者却让你在一本书中轻松地掌握了嵌入式开发的脉络,这是难能可贵的。本书内容广泛而又不乏深度,嵌入式 Linux开发的初学者和提高者都能从中获得巨大收获。本书的翻译工作由北京华清远见科技信息有限公司负责组织,拿到书后,我们的翻译团队粗略地浏览了一遍,一致认为本书的内容尽在我们的掌握之中,毕竟我们自认为在嵌入式 Linux领域小有经验。但在翻译过程中,我们渐渐改变了最初的错误的想法。看起来和写出来有很大不同。除了赞叹作者扎实的基本功外,我们更被作者高超的写作艺术深深折服。摆在我们面前最大的难题不是技术,而是如何尽可能地把作者的原意表现出来。我想,这也是衡量一本书翻译质量的关键吧!翻译的具体分工如下:王辉翻译第1章至第4章、第8章,张小全翻译第5章、第6章、第9章至第11章,其余部分及全书统稿由孙天泽完成。我要特别感谢袁文菊、吴彦波两位老师对本书所做的贡献。我希望能够代表嵌入式同行们感谢人民邮电出版社图灵公司,是他们以卓越的眼光引进了这部著作。尽管我们做了充分的准备,但是受能力所限,译文中仍难免存在一些错误,还请读者批评指正。最后,祝读者能通过学习本书获得较大的提高序计算机无处不在!在过去大约25年中,只要不是与世隔绝的人就肯定不会对此感到大惊小怪。现在,计算机不仅占据了我们的桌面,进驻了我们的厨房,而且越来越多地进入到我们的生活场所,即便是在微波炉、电烤箱、移动电话和便携式数字音乐播放器中也出现了它的身影。选择本书的读者肯定已经了解了不少,但还想学习更多的嵌入式系统知识。就在不久前,嵌入式系统还不是很强大,它们运行具有特殊目的、专用的操作系统,而这些操作系统与工业标准的系统有很大不同(而且,它们也更难于开发)。现在,嵌入式系统即使在功能上不比家用计算机强大,但至少也与其相当(例如高端游戏终端)。伴随着这种强大的功能,运行 Linux等成熟操作系统的能力也呼之欲出,在嵌入式产品中使用 Linux这样的操作系统变得具有非常大的意义。一个庞大的开发者社区更使得这一切成为可能。开发环境和部署环境惊人相似,这也使得程序员的生活变得更轻松。现在我们既有由虚拟内存系统提供的保护地址空间的安全性,又有多用户的能力和灵活性。真是不老少了。出于这个原因,全世界的公司都在许多设备中选择使用Iinuⅸx,如PDA、家庭娱乐系统,甚至移动电话——不管你信不信!这本书很令我振奋。它为那些想在嵌入式系统中使用 Linux的开发人员提供了极好的学习路线指导。本书内容简洁、准确,组织合理, Christopher的知识和见解贯穿全书,你不仅能得到很多信息和帮助,也能获得阅读的乐趣。我希望在你学习的同时也能感受到这种乐趣,我自己已经感受到了。Arnold Robbins著名 Linux专家)虽然 Linux方面己经有很多好书,但是没有哪一本书能为嵌入式 Linux开发人员提供广泛的信息和建议。当然,有一些非常优秀的书籍介绍了 Linux内核和 Linux系统管理等方面的知识,本书也参考了许多我认为在同类书中最优秀的著作。本书的大部分素材取自我在这些年来收到的一些开发工程师提出的问题,当时我的职位是嵌入式 Linux顾问。现在我是 Monta vista software公司的现场应用工程师,该公司是嵌入式 Linux发行厂商的领跑者。即便对于很有经验的软件工程师来说,嵌入式 Linux也带来了一些特殊的挑战。首先,那些具有多年实时操作系统(RTOS)开发经验的工程师很难把思维转换到 Linux上;其次,有经验的应用程序开发人员通常很难理解多种开发环境的复杂性。虽然这只是一本面向刚接触嵌入式 Linux开发人员的基础读物,但是我确信有经验的嵌入式Linux开发人员也一定能从中找到有用的提示和技巧,这些可是我花费多年积累总结出来的。给嵌入式Lnux开发者的实用建议书中包括了我的一些观点。作为一名嵌入式工程师,要跟上嵌入式 Linux环境的快速发展,你需要知道这些观点。本书没有重点讲解 Linux内核内部原理,在谈论内核的章节中侧重从项目角度介绍内核,你可以阅读专门介绍内核内部原理的著作来了解相关知识。通过本书可以学习内核源码树的组织和布局,了解组成内核映像的二进制文件组件以及如何加载它们,它们在嵌入式系统中的作用等知识。图5-1是我最欣赏的一幅图,它形象地说明了合成内核映像的构建过程。本书的一些章节讲述了构建系统的工作原理,以及怎样将满足项目需求的定制的内核变化加载到内核中。你会了解用于驱动不同体系结构配置的机制和 Linux内核源码树的特性;更重要的是,掌握如何修改系统使之满足自己的需求。除此之外,我们还深入探讨了内核命令行参数机制,介绍了它是如何工作的,如何根据需求配置内核运行时行为,如何扩展系统功能,如何导航内核源代码,如何为相关嵌入式系统的不同任务配置内核。其他内容还包括嵌入式项目中一些非常有用的提示和技巧,内容涵盖了引导装入程序、系统初始化、文件系统和闪存、内核调试技巧以及应用程序调试技巧等。2前言读者对象本书需要读者具有一定的C语言编程基础,对局域网和因特网有基本的了解,理解IP地址的概念以及P地址在简单局域网中的用法,还需要理解十六进制和八进制编码方式以及它们常见的用法。本书也涉及一些C语言编译和链接中较为深入的概念,所以如果你能粗略复习一下C语言链接器的概念就更好了。同时,了解 GNU make操作和语法对于阅读本书也很有帮助。本书不是什么本书不是一本详细介绍硬件的指南。嵌入式开发者所面临的困难之一就是现在硬件设备之间有巨大的差异。一款集成部分外围设备的现代32位处理器,其用户手册动辄就有1000页,这没有捷径可走。但从程序员的角度看,如果需要理解硬件设备,你必须花费大量时间研读硬件数据手册和参考指南,同时要花费更多的时间编写和测试这些硬件设备的工作代码这也不是一本讲述 Linux内核和内部原理的书。从本书中无法学到用来实现 Linux虚拟内存管理策略和过程的内存管理单元(MMU)的精深知识。已经有许多关于这个主题的优秀书籍,我建议你翻阅每章后面的“参考资源”排版约定文件名和代码采用 Courier字体,需要读者输入的命令使用加粗 Courier字体。新术语或重要的概念使用楷体加以强调路径名前如有3个点则表示众所周知但未明确指定的顶层目录。上下文不同,顶层目录也会不同,但大多数情况下是指Linuκ内核源码目录的顶层。例如,,/arch/ppc/ kerne1/ setup.c表示 setup.c文件位于 Linux内核源码树的体系结构分支上。实际路径可能是/sandbox/linux. 2.6.14/arch/ppc/kernel/setup. co本书结构第1章简要介绍了 Linux被迅速应用在嵌入式环境的驱动因素,介绍了与嵌入式 Linux相关的几个重要的标准和组织。第2章介绍了许多与后几章所构建的嵌入式 Linux相关的概念。第3章将站在更高的层面了解用于构建嵌入式 Linux系统的流行的处理器和平台,介绍了从主要处理器厂商精选的几款产品,以及几乎所有主流的体系结构。第4章从略微不同的角度审视 Linux内核。这里没有重点讲解内核理论或其内部原理,只是介绍了内核的结构、布局和构建结构,目的是使读者从一开始就能学习这门庞大的软件工程项目。更重要的是,要知道哪些内容是必须重点关注的,包括对内核构建系统的详细讲解。第5章详细说明了 Linux内核的初始化过程。你可以学习到与体系结构和引导装入程序相关前言3的映射组件,是如何拼接成适合下载到闪存的内核映射,并最终通过嵌入式系统的引导装入程序启动的。从这一章学到的知识将帮助你自定义 Linux内核,使之可以满足你自己的嵌入式应用的需求。第6章继续讲述初始化过程。当 Linux内核完成自身初始化后,应用程序将根据预先确定的方式继续初始化过程。读完这一章以后,你就具备了自定义用户空间应用程序启动顺序的知识。第7章主要介绍引导装入程序及其在嵌入式 Linux系统中的作用。这一章以现在流行的开源引导装入程序U-Boot为例,说明了移植的概念;还简要介绍了其他几种现在使用着的引导装入程序,以便用户有特殊需求时可以有多种选择第8章介绍了 Linux设备驱动程序模型,提供了很多进行设备驱动程序开发的背景资料,这些资料都在“参考资源”中列出。第9章列举了目前嵌入式系统中使用的一些流行的文件系统,包括在闪存设备上最常用的JFFS2文件系统。这一章还简要介绍了如何创建自己的文件系统映像,这也是嵌入式 Linux开发人员所面临的一项艰巨任务。第10章介绍了MTD( Memory Technology Devices,内存技术设备)子系统。MTD是 Linux文件系统和硬件内存设备(尤其是闪存)之间一种非常有效的抽象层。第11章介绍了 Busy Box,它是我们构建小型嵌入式系统最常用的工具。这一章讲述如何根据特殊需求对 Busy Box进行配置和构建,随后介绍了仅使用 Busy Box环境完成系统初始化的全过程。附录B列举了最新版本 Busy Box提供的命令。第12章详细介绍了典型交叉开发环境的特殊需求。这一章所介绍的一些技术能有效地提高嵌入式开发人员的工作效率,例如强大的NFS根目录挂载开发配置。第13章介绍了一些有用的开发工具。介绍了使用gb进行调试,包括核心转储分析;并通过示例介绍了 strace、1 trace、top和ps,以及内存剖析工具 mtrace和dma11oc。这一章最后介绍了更重要的一些二进制实用工具,如 reade1f等。第14章深入探讨了一些 Linux内核的调试技术,介绍了内核调试器KGDB的用法,提出了gdb和KGDB组合使用的许多调试技巧。这一章涉及的内容还包括硬件JAG调试器的用法,以及当内核无法启动时的一些故障分析技巧。第15章把调试环境从内核转移至应用程序。这一章继续完善前两章用到的gdb示例,讲述了多线程和多进程的调试技巧。第16章介绍了将 Linux移植到自定义开发板的相关问题。这一章通过一个简单的示例,逐步说明了Linx内核移植到 PowerPC板的详细过程,还讲解了几个困扰 Linux内核移植方面新手的重要概念。读完本章后,会同第13章和第14章提出的技术,你应该能够对自己的开发板进行移植工作。第17章介绍了嵌入式 Linux中一个令人激动的发展:通过配置 CONFIG_R选项实现实时。这里介绍的特性通过RT选项得以实现,同时还介绍了如何在设计中使用这些特性。这一章也介绍了在应用程序中测试延时的技巧。附录内容包括U-Boot可配置命令、 Busy Box命令、 SDRAM接口的注意事项、开源开发者4前言的资源、BDI2000调试器的配置文件范例。BD2000是目前很流行的硬件JTAG调试器其他如果你能够边看书边在 Linux工作站上动手实验,将会从书中得到最大的收获。可以找一个较旧的x86计算机完成嵌入式系统实验。如果有条件能连接其他体系结构的平台进行实验就更好了。你将受益于学习到大型代码库(如 Linux内核)的布局和组织,在浏览内核并亲自动手实验时,能学到一些更重要的知识和经验。看一下本书使用的代码并试着理解书中的示例,要使用不同的设置方案、配置选项和不同的硬件设备进行实验。除可获得丰富的知识,还充满了乐趣!版权说明本书使用的开源代码的版权归很多个人或公司所有。复制代码遵循了GNU公共许可,即GPL。致谢我由衷地敬佩开源软件工程师的崇高精神,深深地折服于我们社区中远远超过我的天才们。在本书的创作过程中,我向 Linux和开源社区的很多人提出了大量问题,大多数问题都能很快得到答案,而且还经常获得鼓励。我要向Linuκ和开源社区中帮我解答问题的朋友致以真挚的谢意(排名不分先后):Dan malek为第2章的部分内容提供了创作灵感。Dan Kegel和 Daniel Jacobowitz耐心地帮我解答了关于工具链的问题。Scott Anderson提供了第14章中gdb宏的最初的思想。Brad Dixon不断地用他所掌握的知识挑战和扩展我的技术洞察力George Davis帮我解答了ARM的问题。Jim Lewis为我提供了关于MTD的意见和建议。Cal Erickson帮我解答了关于gdb用法的问题。John Twomey就第3章内容给出了建议。Lee revell、sven- Thorsten dietrich和 Daniel walker就实时 Linux的内容提供了建议。非常感谢AMCC、 Embedded planet、 Ultimate Solutions和 United Electronic Industries公司,它们提供了示例硬件。感谢我的公司 Monta vista,允许我进行这次与工作无关的创作,并且提供了一些软件示例。在创作过程中,还有很多人贡献了他们的想法,并给予我鼓励和支持,我也非常感激我要诚挚地感谢最初审阅本书的团队,他们迅速地阅读了每一章,提供了极好的反馈、注释和想法。谢谢 Arnold Robbins、 Sandy Terrace、 Kurt Lloyd和 Rob Farber。还要感谢 Amold帮助我这个写作新手学习撰写技术图书的规则。虽然我已经努力排除每处错误,但错误肯定还会存在,前言5这都归昝于我。感谢 Mark L.Taub使本书得以完成,感谢他的鼓励和无限的耐心。还要感谢制作团队,包括Kristy Hart、 Jennifer Cramer、 Krista Hansing和 Cheryl Lenser最后,还要把最特别、最衷心的感谢献给 Cary Dillman,在我撰写本书时她阅读了每一章,整个创作过程中都有她的不断鼓励和重要的贡献Christopher hallinan目录第1章引言……………………………………参考资源…………………………221.1为什么使用Lnux……1第3章处理器基础12嵌入式 Linux现状…31单机处理器2313开源和GPL……………………………14标准和相关机构22333.1.1IBM970FX3. 1.2 Intel Pentium14.lLSB…3. 1.3 Freescale14.2OSDL…33.14配套芯片组,1.5小结…………………43.2集成化处理器:片上系统………………27参考资源“3.2.1 PowerPC…………27第2章嵌入式初体验…53.2.2 AMCC PowerPC……………………272.1需要嵌入式系统吗…………………………53. 2.3 Freescale PowerPC.……3022嵌入式系统剖析……63.24MPs…322.1典型嵌入式 Linux系统设置3.2.5 Broadcom MIPS222启动目标板…………3.2.6 AMD MIPS……34223启动内核……………………93.27其他类型的MIPS…………3522.4内核初始化概述……103.2.8ARM……………35225第一个用户空间进程:init…113.29TARM………………………352.3存储的思考……23.2.10 Freescale arM………………37231闪存…123.2.11 Intel ARM XScale………………37232NAND闪存………………133212其他ARM………………………38233闪存的用途………143213其他体系结构…………38234闪存文件系统1433硬件平台……………………………38235存储器空间………………1533.1 CompactPCI…382.3.6运行上下文…………………………163.32ATCA……………………………39237进程中的虚拟内存………1734小结……………………………3923.8交叉开发环境…………19参考资源………………………4024嵌入式Liux的发行版…20第4章Lnux内核不同视角41241 Linux商业发行版……………214.1背景知识242 Linux自定义发行版………………214.1.1内核的版本………422.5小结……………………………214.1.2内核源码库………………43
- 2021-05-06下载
- 积分:1
模糊控制及其MATLAB仿真.pdf
主要讲解模糊控制理论在MATLAB系统的中的应用前言自动控制理论经历了经典控制和现代控制两个重大发展阶段,已经相当完善。然而,对于许多复杂庞大的被控对象及其外界环境,有时难以建立有效的数学模型,因而无法采用常规的控制理论做定量分析计算和进行控制,这时就要借助于新兴的智能控制。智能控制是人工智能、控制论和运筹学相互交叉渗透形成的新兴学科,它具有定量和定性相结合的分析方法,融会了人类特有的推理、学习和联想等智能。模糊控制是在智能控制中适用面宽广、比较活跃且容易普及的一个分支。人类在感知世界、获取知识、思维推理、相互交流及决策和实施控制等诸多的实践环节中,对知识的表述往往带有“模糊性”的特点,这使得所包含的信息容量有时比“清晰性”的更大,内涵更丰富,也更符合客观世界。1965年美国的控制论专家L.A. Zadeh教授创立了模糊集合论,从而为描述、硏究和处理模糊性事物提供了一种新的数学工具。模糊控制就是利用模糊集合理论,把人的模糊控制策略转化为计算机所能接受的控制算法,进而实施控制的一种理论和技术。它能够模拟人的思维方式,因而对一些无法构建数学模型的系统可以进行有效的描述和控制,除了用于工业,也适用于社会学、经济学、环境学、生物学及医学等各类复杂系统。由于模糊控制应用广泛、便于普及,不仅许多高等学校开设了模糊控制课程,而且不少工程技术人员也渴望了解和学习这方面的知识。集作者多年从事“模糊信息处理”、“模糊控制”方面的科研和教学经验,编写了这本模糊控制方面的入门书。本书在选材、安排上均遵从“入门”和“实用”的原则,着重介绍模糊控制的基本概念、基本原理和基本方法。本着“重视实用性和可操作性”的工程教育思想,内容选取和叙述形式不追求“理论的高深和数学推导的严谨”,在学术性和实用性发生冲突时,学术性服从实用性。本书主要内容包括模糊控制的数学和逻辑学基础、模糊控制器的设计、模糊控制系统的仿真及神经网络在模糊控制中的应用。在介绍模糊控制的理谂时,按照模糊控制的需要介绍必要的基础理论和基本知识,而不是把模糊控制仅仅看作模糊理论的一种应用,片面追求模糊理论的系统性和完整性,致使读者在模糊数学和模糊逻辑的演算上花费很多精力。在介绍模糊规则的生成方法时,不仅介绍了根据操作经验建立规则的常用方法,而且通过实例介绍了从系统的输入、输出数据中获取模糊规则的方法在介绍模糊控制器时,集中介绍了实用范围较广的两种类型模糊控制器:Maπdani型和 Sugeno型。前一种模糊控制器的输λ量和输出量都是模糊子集,输出量需要经过清晰化才能用于执行机构;而后一种模糊控制器的输入量是模糊子集,输岀量为数字量,可以直接用于推动执行机构考虑到科技工作者学习模糊控制理论时需要实践及其实际需求,把模糊控制理论和计算机仿真进行了有机融合,较详细地介绍了 MATLAB仿真技术及其在模糊控制方面的应用通过仿真练习,弥补了学习理论过程中难以实践的缺陷,加深对模糊控制的理解,也使在解WW. 9CAX COI决实际问题时有所借鉴,为进一步深入学习和应用模糊控制理论打下良好的基础。神经网络是智能控制的一个重要分支,本书简要介绍了它在模糊控制中的应用,着重举例介绍了 MATLAB中“自适应神经模糊系统”的使用方法。本书配有教学课件,可从北京交通大学出版社网站下载,或发邮件至 cbswce( jg.bitu.edu.cn或aushi@126.com索取。吴嫦娥编辑对本书的出版起了极大的推动作用,在此深表谢意!由于模糊控制领域的理论目前尚不成熟,还存在许多未解难题,虽然作者在“模糊领域”有十余年的科研教学经验,但毕竟水平有限,恳请广大读者不吝赐教!编者(E mail: aushixm(a 126. com)2008年3月WW. 9CAX COI目录第1章引言………………………………………………………(1)1.1自动控制理论的发展历程……………………………………………………(1)1.2智能控制概况………………(2)1.2.1智能控制的发展简况………………………………………………………………(2)1.2.2智能控制的几个重要分支…1.3模糊控制,,,,,.,,,………(6)1.3.1模糊控制解决的问题…(7)1.3.2模糊控制的发展简史…………………………………………………………(7)1.3.3模糊控制的特点及展望…(9)思考与练习题………………………………………………………………………(10)第2章模糊控制的数学基础……………………………………………………(11)2.1清晰向模糊的转换·(11)2.1.1经典集合的基本概念………………………………………………………………(11)2.1.2模糊集合………………………………………………………………(14)2.2隶属函数…………………………………………………………………………………(22)2.2.1确定隶属函数的基木方法…………………………………………………(23)2.2.2常用隶属函数2.3F集合的运算………………………………………………(26)2.3.1F集合的基本运算………………………………………………(26)2.3.2模糊集合的基本运算规律………………………………………………………(29)2.3.3F集合运算的其他定义………………………………………………………(31)2.4模糊关系及其运算……………………………………………………………(32)2.4.1经典关系……(32)2.4.2模糊关系………………………………………………………………(34)2.4.3模糊关系的运算…………………………………………………………………(382.4.4F关系的合成…………………………………(40)2.5模糊向清晰的转换…………………………………………………………(45)2.5.1模糊集合的截集………………………………………………………(45)2.5.2模糊关系矩阵的截矩阵…(47)2.5.3模糊集合转化为数值的常用方法…(47)思考与练习题………………………………………………………………………(51)第3章模糊控制的逻辑学基础……………………………………………………………(53)3.1二值逻辑简介……………………………………………………………………(53)1判断WW. 9CAX COI3.1.2推理……………………………………………………………………(58)3.2自然语言的模糊集合表示……………………………………………………(59)3.2.1一些自然词语的F集合表示……………(59)3.2.2糢糊算子…………………………………………………………………(60)3.3模糊逻辑和近似推理……………(63)3.3.1模糊命题……………………………………………………(64)3.3.2常用的两种基本模糊条件语句…………………………………………………(65)3.3.3近似推理及其合成法则…(74)3.4T-S型模糊推理…………………………………………………………(81)3.4.1双输入、单输出系统的T-S型糢糊推理模型…………………………………(81)3.4.2MISO系统的TS模型………………………………………………………………(85)思考与练习题…(87)第4章模糊控制器的设计………………………………………(89)4.1模糊控制系统的基本组成………………(89)4.1.1从传统控制系统到模糊控制系统…………………………………………………(89)4.1.2模糊控制器的结构………………………………………………………………(92)4.2 Mamdani型模糊控制器的设计…(93)4.2.1 Mamdani型模糊控制器的基本组成…………(93)4.2.2量化因子和比例因子……………………………………………(94)4.2.3模糊化和清化……………………………………………………(98)4.2.4模糊控制规则……………………………………………………………………(102)4.2.5模糊自动洗衣机的设计…………………………(113)4.3T-S型模糊控制器的设计…(117)1.3.1T-S型模糊模型(118)4.3.2T-S型模糊系统设计要点………………………………………………………(121)4.4F控制器和PID控制器的结合…(121)4.4.1F-PID复合控制器……………………………(121)4.4.2F-PID复合控制器的其他形式………(122)4.4.3用模糊控制器调节PID控制器的参数………………………………(123)思考与练习题……………………………………………………………………………(125)第5章模糊控制系统的 MATLAB仿真…………………………………(127)5.1 Simulink仿真入门……………………………………………(127)5.1.1 MATLAB中的仿真模块库…………………………………………(128)5.1.2仿真模型图的构建……………………………………………………(135)5.1.3动态系统的 Simulink仿真……5.2模糊推理系统的设计与仿真………(149)5.2.1模糊推理系统的图形用户界面简介·..···,····,·············………(149)5.2.2模糊推理系统编辑器…………………………………………………………(150)2.3隶属函数编辑器…(156)WW. 9CAX COI5.2.4模糊规则编辑器…(161)5.2.5模糊规则观测窗…………(172)5.2.6FIS输出量由面观测窗………(179)5.2.7用GUI设计 Mamdani型模糊系统举例……………………………………(182)5.2.8用GUI设计 Sugeno型模糊系统举例……………………………………(189)5.3模糊控制系统的设计与仿真…………………………………………………(196)5.3.1FIS与 Simulink的连接………………………………………………………(196)5.3.2构建模糊控制系统的仿真模型图…(200)5.3.3通过仿真对系统进行分析……………………………………………(208)考与练习题……………………………………………………………………………………(218)第6章神经网络在模糊控制中的应用……………………………………………(219)6.1神经网络的基本原理…(219)6.1.1神经网络发展历史…(219)6.1.2神经元的生理结构……………………………………………(221)6.1.3神经元的数学模型…………………………………………………………(222)6.1.4人工神经网络模型…………………………………………………………(224)6.1.5神经网络模型的学习方法……(225)6.1.6BP型神经网络原理简介……………………………(227)6.2神经模糊控制……着,,,着……………(228)6.3用自适应神经模糊系统建立FIS…………………………………………(229)6.3.1 ANFIS图形用户界面简介,,,,·,.,··.,,.,·,·,着,,里,,,,,,·,,··,,,·,.·,·,,·(229)6.3.2用 Anfis建立FIS的步骤…………………………………………(233)6.3.3用 Anfis建立FIS举例……………………………………………………(245)思考与练习题(255)参考文献………………………………………………………………………………(256)ⅢlWW. 9CAX COI第1章引言本章介绍自动控制学科发展的历史概况,叙述从开环控制到智能控制的发展进程,并简单介绍智能控制的几个主要分支——专家控制、模糊控制和神经网络控制1.1自动控制理论的发展历程自动控制就是在没有人直接参与的情况下,利用外加的设备或装置(控制器),使机器、设备或生产过程(被控对象)的某个工作状态或参数(被控量),能够自动地按照设定的规律或指标运行的设备或系统。自从美国数学家维纳在20世纪40年代创立控制论以来,自动控制从最早的开环控制起步,然后是反馈控制、最优控制、随机控制,再到自适应控制、自学习控制、自组织控制,直发展到自动控制的最新阶段——智能控制。整个自动控制理论的发展进程,是由简单到复杂、由量变到质变的辩证发展过程,如图1-1所示。智能控制但会买继智能控制自学习控制自适应控制,鲁棒控制现代控随机控制最优控制确定性反馈控制开环控制控制系统的复杂性图1-1控制科学的发展过程传统控制理论经历过经典控制理论和现代控制理论两个具有里程碑意义的重要阶段,它们的共同点都是基于被控对象的清晰数学模型,即控制对象和干扰都得用严帑的数学方程和函数表示,控制任务和目标一般都比较直接明确,控制对象的不确定性和外界干扰只允许在很小的限度内发生个系统的数学模型就是对系统运动规律的数学描述,微分方程、传递函数和状态方程是描述控制系统的三种最基本的数学模型,其中微分方程是联系其他两者的纽带。经典控制理论主要研究单变量、常系数、线性系统数学模型,经常使用传递函数为基础的频域分析法;现代控制理论主要研究多输入-多输出线性系统数学模型,经常使用微分方程或状态方WW. 9CAX COI模糊控制及其 MATLAB仿真程为基础的时域分析法。传统控制方法多是解决线性、时不变性等相对简单的被控系统的控制问题,这类系统完全可以用线性、常系数、集总参量的微分方程予以描述。但是,许多实际的工业对象和控制目标常常并非都是如此理想,特别是遇到系统的规模庞大、结构复杂、变量众多,加之参数随机多变、参数间又存在强耦合或系统存在大滞后等错综复杂情况时,传统控制理论的纯粹数学解析结构则很难表达和处理。由于硏究对象和实际系统具有非线性、时变性、不确定性、不完全性或大滞后等特性,无法建立起表述它们运动规律和特性的数学模型,于是便失去了进行传统数学分析的基础,也就无法设计出合理的理想经典控制器。况且,在建立数学模型时一般都得经过理想化假设和处理,即把非线性化为线性,分布参数化为集中参数,时变的化为定常的,等等。因此,数学模型和这些实际系统的巨大差距,使之很难对其实现有效的传统自动控制,于是便出现了某些仿人智能的工程控制与信息处理系统,产生和发展了智能控制大量的生产实践表明,有许多难以建立数学模型的复杂系统和繁难工艺过程,可以由熟练技术工人、工程师或专家的手工操作,依靠人类的智慧,能够获得满意的控制效果。例如,欲将一辆汽车倒入指定的车位,确实无法建立起这一过程的数学模型。然而熟练的司机却可以非常轻松地把它倒入预定的位置。类似的问题使人们自然想到,能否在传统控制中加人人类的认知、手工控制事物的经验、能力和逻辑推理等智能成分,充分利用人的操作技巧、控制经验和直觉推理,把人的因素作为一个有机部分融入控制系统呢?能否根据系统的实际输入、输出类似于熟练技工那样进行实时控制,甚至使机器也具有人类的学习和自适应能力,进而用机器代替人类进行复杂对象和系统的实时控制呢?1.2智能控制概况20世纪60年代以来,由于空间技术、计算机技术及人工智能技术的发展,控制界学者在研究自组织、自学习控制的基础上,为了提高控制系统的自学习能力,开始注意将人工智能技术与方法应用于工程控制中,逐渐形成了智能控制。1.2.1智能控制的发展简况所谓智能控制,就是通过定性和定量相结合的方法,针对被控对象和控制任务的复杂性、不确定性和多变特性,有效自主地实现繁杂信息的处理、优化和判断,以致决策,最终达到控制被控系统的目的。智能控制的诞生1966年,J.M. Mendal首先提出将人工智能技术应用于飞船控制系统的设计;其后,1971年,美籍华人科学家傅京逊首次提岀智能控制这一概念,并归纳了三种类型的智能控制系统①)人作为控制器的控制系统:这种控制系统具有自学习、自适应和自组织的功能。②人-机结合作为控制器的控制系统:机器完成需要连续进行的、快速计算的常规控制任务,人则完成任务分配、决策、监控等任务。③无人参与旳自主控制系统:用多层智能控制系统,完成问题求解和规划、环境建模、WW. 9CAX COI第1章引言传感器信息分析和低层的反馈控制任务,如自主机器人。1985年8月,美国电机及电子工程师学会( Institute of Electrical and Electrical Enginers,IEEE)在纽约召开了第一届智能控制学术讨论会,随后成立了智能控制专业委员会;1987年1月,在美国举行第一次国际智能控制大会,标志着智能控制领域的形成。智能控制即含有人类智能的控制系统,它具有学习、抽象、推理、决策等功能,并能根据环境(包括被控对象或被控过程)信息的变化做岀适应性反应,从而使机器能够完成以前只能由人可以完成的控制任务。2.智能控制的三元论智能控制是一门交叉学科,傅京逊教授于1971年首先提出智能控制( Intelligent Control,IC)是人工智能与自动控制的交叉,即智能控制的二元论。在此基础上,美国学者G.N. Saridis于1977年引入运筹学,提出了三元论的智能控制概念,认为智能控制是人工智能( Artificial Intelligence,AⅠ)、自动控制( Automatic control,AC)和运筹学(Operational research,OR)等形成的交叉学科,即IC=AI∩AC∩OR,它们的含义如下:信号处理、形式语言AI—人工智能,是一个用来模拟人启发推理规划、调度、管理类思维的知识处理系统,具有记忆、学习、人工智能运筹学信息处理、形式语言、启发推理等功能学习、记忆可以应用于判断、推理、预测、识别、决智能控制协调、管理策、学习等各类问题;AC自动控制,描述系统的动力学自动控制特性,实现无人操作而能完成预设目标的一优化、动力学、动态反馈种理论体系,一般具有动态反馈功能;OR—运筹学,是一种定量优化方法,如线性规划、网络规划、调度、管理、优化决策和多目标优化方法等。图1-2智能控制的三元论示意图基于三元论的智能控制概念如图1-2所示。现在,为多数人所接受的三元论智能控制概念,除了“智能”与“控制”外,还强调了更高层次控制中的调度、规划和管理作用,为分层、递阶智能控制提供了理论依据。3.智能控制的特点在分析方法上具有定量与定性相结合的智能控制,应该具有以下一些功能。1)学习功能智能控制器能通过从外界环境所获得的信息进行学习,不断积累知识,使系统的控制性能得到改善。2)适应功能智能控制器具有从输入到输岀的映射关系,可实现不依赖于模型的自适应控制,当系统某一部分出现故障时,仍能进行控制。WW. 9CAX COI
- 2020-06-01下载
- 积分:1