首页>参考读物>电子电工>电子工程

用Python轻松设计控制系统
作者 : [日]南 裕树(Yuki Minami) 著
译者 : 施佳贤 译
出版日期 : 2021-09-07
ISBN : 978-7-111-68811-2
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 222
开本 : 16
原书名 : Pythonによる制御工学入門
原出版社: Japan Uni Agency
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

面向用Python进行控制系统设计的人,边学边用Python进行编程实践。重点阐述以状态空间模型为对象的现代控制系统的设计。全书分七章,包括: Pythhon环境的构建、数据和流控制、反馈控制、状态空间模型、闭环系统的控制设计、开环系统的控制设计、PID控制相位进延迟补偿,以及稳健性控制数字实现的高级控制系统设计。

图书特色

图书前言

笔者在大学教授控制工程课程,深感对此课程感到苦恼的学生不在少数。造成学生不能充分理解本课程究竟在讲些什么的主要原因是,课程中有很多与数学相关的抽象概念。鉴于此,笔者决定撰写一本能让学生通过运行程序来学习控制工程和控制系统设计的书。
本书涉及很多与机器学习和数据挖掘相关的内容,并使用热门的编程语言Python。同时,本书致力于让读者能够在运行Python程序的同时,通过“边学边做”来实际体验控制工程。因此,对于想使用Python来设计控制系统的人来说,本书是绝佳选择。此外,本书图文并茂,尽可能以易于理解的方式进行讲解,因此,对于控制工程的初学者以及曾经学过控制工程却半途而废,如今打算重拾书本的读者而言,本书也是十分易读的。
本书的内容不仅包含实际工作中经常使用的以传递函数模型为研究对象的经典控制理论,还涉及以状态空间模型为研究对象的现代控制理论,以及鲁棒控制的基础知识。不过,本书尽可能地减少了数学方面的描述,取而代之的是大量的Python示例代码,以及两姐妹(姐姐“希波”和妹妹“望结”)的可爱插图和对话,这使得本书风格轻松活泼,内容易于理解。
在网页https://y373.sakura.ne.jp/minami/pyctrl(日文)中可以找到本书的补充内容和练习题的参考答案。读者也可以在该网站找到示例代码。
话说回来,笔者最初接触到控制理论是在高等专门学校四年级的时候(相当于大学一年级)。笔者依然记得当初自己曾被这一能够自由操控“被控对象”的技术深深吸引。不仅如此,笔者深陷其中的另一个原因在于控制系统的解析和设计中用到了大量数学工具,并且通过使用控制工程的专门语言,能够对之前所学的力学和电子电路的相关知识进行解释说明。“控制”这个概念在我们的日常生活中其实比比皆是,所谓“久而不闻其香”,能够切实感受到其重要性是难能可贵的。其实,“如果没有控制,我们安心、安全而又舒适的生活就无法成立”,此话所言非虚。此外,近年来各种智能化事物层出不穷,想要随心所欲地对事物加以控制,改变世界的面貌,“控制工程”的知识是不可或缺的。由此可见,控制工程(控制理论加上控制技术)可以说是一门非常重要的学问。读者倘若能够通过本书喜欢上这门有魅力的学科,笔者将深感欣慰。
本书能够成书离不开许多人的大力支持。本书的内容建立在一般社团法人—系统控制信息学会主办的教习讲座的基础之上。笔者深深感谢提出了“用Python学习控制工程”这一想法并托付笔者付诸实践的大阪府立大学的原尚之老师以及学会事业委员会的各位同人。另外,笔者想感谢大阪大学的石川将人老师,以及同研究室的吉田侑史、田中飒树、楠井大气、奥田贵裕、平野贵裕、青木达朗等帮助审阅书稿的同学。谢谢你们。
最后,感谢在家中默默支持笔者的贤妻和爱女。

南 裕树
2019年4月

上架指导

计算机\程序设计

封底文字

本书涉及很多与机器学习和数据挖掘相关的内容,并使用了Python编程语言。此外,本书致力于让读者在运行Python程序的同时,通过“边学边做”来体验控制工程。
本书的内容不仅包含实际工作中经常使用的以传递函数模型为研究对象的经典控制理论,还涉及以状态空间模型为研究对象的现代控制理论以及鲁棒控制的基础知识。
本书的一大特色是尽量减少数学方面的描述,取而代之的是大量的Python示例代码,以及插图和对话形式使得本书形式活泼,这使得本书形式活泼,语言生动且易于理解。

译者序

控制工程是一门非常偏重于实践的学科。在我们的日常生活中到处都可以看到自动控制的应用场景。空调和热水器的恒温控制、自动扶梯的速度控制、汽车的发动机转速控制、飞机的飞行姿态控制以及工厂中的自动生产线的控制都建立在控制工程的理论基础之上。控制工程在各种高精尖技术的实现中更是不可或缺—小到机械臂的控制,大到卫星和宇宙飞船的控制,可以说控制工程是各类工程技术人员必修的基础学科。另外,控制工程中的一些理论和思想在工程技术之外的一些领域也大放异彩,为跨学科的知识体系融合提供了许多非常有价值的思路。经济学中的宏观经济调控和资源分配理论,生物学和环境科学中有关生态平衡的研究,以及现代企业管理中的“计划–测量–评价–纠偏”系统,都借鉴了控制理论中有关系统、信息和反馈的经典概念,从而形成了一个涉及多领域的综合性学科—控制论。控制论之父维纳将控制论定义为一门研究机械、生命和社会中一般规律的学科。所以说,不管在哪个领域从事怎样的工作,学习一些控制工程的基础知识,将有助于相关专业知识的融会贯通,是有百益而无一害的。
然而,控制工程毕竟是一门建立在大量的数学知识基础之上的专业性很强的学科。过高的数学门槛,常常会给没有接受过这方面系统训练的读者造成不小的阻碍。尤其是一部分大学教育,过分强调按部就班从基础学起,让读者形成了学习控制工程必须先熟练掌握高等数学、线性代数甚至是复变函数相关概念的错误印象,从而对控制工程望而生畏,敬而远之。许多控制工程的教科书更是通篇以数学公式和定理为纲,或者动辄就是长篇累牍的数学推导。不可否认,对于以控制工程作为学术研究方向的读者,这么做是必要的。但是对于更多缺乏相关基础知识,只是对控制工程存在兴趣或是在工作中涉及控制工程相关概念而急需入门的读者,目前市面上尚缺乏满足这些读者需求的理想读物。
幸运的是,日本大阪大学的南裕树教授为读者贡献了一本深入浅出、活泼有趣、图文并茂,且适合自学的控制工程入门教材。南裕树教授长年在日本京都大学、奈良先端科学技术大学院大学和大阪大学研究和教授控制工程相关课程。根据南裕树教授自身对控制工程领域的领悟以及长期的教学实践经验,他认为学生学不好控制工程的主要原因就在于过多的数学内容,以及不能将理论联系到实际,从而导致不能有效利用学到的知识来解决现实生活和工作中的相关问题。因此本书的一大特色就是从实际的例子出发,循序渐进地引入控制工程相关的概念和理论。读者会发现,数个经典的实例始终贯穿本书。随着学习的深入,读者将对这几个实例不断加深理解,最后会发现不知不觉中已经跨入了控制工程的大门。在整个学习过程中,南裕树教授并未完全排斥数学公式,相反,他巧妙地将数学公式和定理背后的理论证明放入了独立的“学习时间”小模块中,这样读者可以根据自身不同的基础和需求来选择是否深入探究这部分数学知识。
本书另一个重要特色在于贯穿其中的漫画以及虚构人物“希波”和“望结”姐妹的有趣对话。实践证明,越是深奥枯燥的理论,越是需要以寓教于乐的方式来帮助读者提高学习兴趣,从而理解那些晦涩难懂的知识。在这个“二次元”原生文化不断与社会主流文化交融并蓄的新媒体时代,如何将“可爱”“萌”这些属于年轻人的概念与严肃的科学理论知识结构有机地结合起来,从而使得年轻的读者能够无障碍地跨过学习的门槛,成为一个重要的课题。最近有不少书籍做了成功的尝试。译者在日本求学期间,指导教授曾为研究室购买过一批名为“通过漫画学习XXX”的书籍。译者也翻阅过其中的几本,整页的漫画,着实让译者惊讶得合不拢嘴—原来教材还可以这么写!指导教授苦笑着对译者说:“如今的孩子啊,不是漫画就看不下去呢。”本书也是顺应这一潮流的产物,在“轻松”的漫画与“严肃”的内容之间形成了相当完美的平衡,使得本书既不会过于刻板,也不会戏谑过度以至于喧宾夺主,冲淡了主要内容。
本书还有一个显著特点—使用当下热门的Python编程语言作为主要的实践工具。Python语言以其简单易学但却灵活强大的语法,成为目前市场上主流的编程语言。其开放的特性使得世界上很多软件工程师和专家学者专门为Python语言准备了各式各样的扩展包。因此,从科学计算、大数据挖掘,到目前热门的机器学习、自然语言处理,甚至是量化金融领域,都能看到Python活跃的身影。在译者上大学的时候,在控制工程领域,学生都是手工计算零极点,在方格纸上绘制伯德图的。在实际工作中,人们此前更多的是使用商业软件(比如MATLAB等)来做控制系统设计。而Python凭借其强大的科学计算属性等先天优势,在控制工程领域大展身手自然是指日可待的。Python-Control扩展包(一定程度上兼容MATLAB函数)为控制工程师提供了商业软件的良好替代品。敲下短短几行代码,计算机就能自动计算零极点,绘制精美的伯德图,这让译者不禁感叹技术的发展真是日新月异。而技术的现代化又促进了人们更高效地学习和研究技术本身,这就形成了一个良好的正反馈。此外,读者在阅读本书的时候,通过实际编写代码和执行程序,不仅能够更直观、更牢固地掌握控制工程的相关知识,还能够学会Python这门神奇有用的编程语言,正可谓一举两得。
译者衷心希望这本活泼有趣的书能够帮助读者顺利迈入控制工程的大门并体会到学习的快乐,这也是本书真正的价值所在。

施佳贤
2021年6月

图书目录

译者序
前言
第1章 什么是控制 1
1.1 日常生活中的控制 3
1.2 反馈控制 4
1.3 控制工程的作用 6
1.4 本书概要 8
第2章 Python基础 12
2.1 搭建Python环境 14
2.2 Jupyter Notebook的使用方法 14
2.3 Python基础 18
2.3.1 数据和类型 19
2.3.2 流程控制 24
2.3.3 函数定义 27
2.3.4 闭包、lambda表达式、生成器、列表生成式 28
2.3.5 模块 30
2.4 本书中用到的模块 31
2.4.1 Numpy 31
2.4.2 Matplotlib 33
2.4.3 Scipy 37
2.4.4 Sympy 38
2.4.5 Python-Control 39
第3章 控制系统建模 43
3.1 描述动态系统 45
3.1.1 手推车的模型 46
3.1.2 垂直驱动机械臂的模型 46
3.1.3 RCL电路的模型 47
3.1.4 放大电路的模型 48
3.1.5 控制工程中使用的模型描述 49
3.2 传递函数模型 50
3.2.1 手推车和机械臂的传递函数模型 52
3.2.2 RCL电路和放大电路的传递函数模型 52
3.2.3 用Python表述模型 53
3.3 状态空间模型 55
3.3.1 手推车和机械臂的状态空间模型 57
3.3.2 RCL电路和放大电路的状态空间模型 58
3.3.3 用Python表述模型 59
3.4 框图 60
3.4.1 串联 61
3.4.2 并联 61
3.4.3 反馈 62
第4章 被控对象的行为 69
4.1 时域响应 71
4.1.1 一阶滞后系统 72
4.1.2 二阶滞后系统 77
4.2 状态空间模型的时域响应 83
4.3 稳定性 88
4.3.1 输入输出稳定性 88
4.3.2 渐进稳定性 91
4.4 极点与系统行为的关系 93
4.5 频域响应 95
4.5.1 一阶滞后系统 100
4.5.2 二阶滞后系统 102
第5章 关注闭环系统的控制系统设计 109
5.1 闭环系统的设计规格 111
5.1.1 稳定性 111
5.1.2 时域响应特性 113
5.1.3 频域响应特性 113
5.1.4 闭环系统的设计规格 114
5.2 PID控制 115
5.2.1 P控制的性能分析 116
5.2.2 PD控制 119
5.2.3 PID控制 122
5.3 二自由度控制 127
5.4 使用临界比例度法进行增益调整 131
5.5 使用模型匹配法进行增益调整 134
5.6 状态反馈控制 138
5.6.1 极点配置法 139
5.6.2 最优调节器 142
第6章 关注开环系统的控制系统设计 152
6.1 开环系统的设计规格 154
6.1.1 稳定性 154
6.1.2 快速性与阻尼特性 160
6.1.3 稳态误差 162
6.1.4 开环系统的设计规格 163
6.2 PID控制 163
6.2.1 P控制 163
6.2.2 PI控制 165
6.2.3 PID控制 167
6.3 相位超前校正和相位滞后校正 172
6.3.1 相位滞后校正 172
6.3.2 相位超前校正 174
6.3.3 垂直驱动机械臂的控制系统设计 175
第7章 高级控制系统设计 184
7.1 使用观测器的输出反馈控制 186
7.2 鲁棒控制 193
7.3 数字化实现 200
7.3.1 使用零阶保持的离散化 201
7.3.2 使用双线性变换的离散化 202
附录 数学补充内容 208

教学资源推荐
作者: (美)Thomas L. Floyd 著
作者: (美)Charles L. Phillips John M. Parr Eve A. Riskin 著
作者: (美)杰夫瑞 S.比斯利(Jeffrey S.Beasley );乔纳森 D.海默(Jonathan D. Hymer);加里 M.米勒(Gary M.Miller)著
参考读物推荐
作者: 姚琪 杨立斌 编著
作者: 《注册电气工程师(发输变电)执业资格考试历年真题解析》编委会 编
作者: (美)Steven F. Barrett 著
作者: 陆佳华 潘祖龙 彭竞宇 肖雄 孙宏滨 编著