控制系统/导论
这本书是在维基教科书上编写的,维基教科书是一个免费的在线社区,人们可以在那里编写开放内容的教科书。任何有互联网访问权限的人都可以参与本书的创作和改进。由于这本书不断发展,所以本书没有最终的“版本”或“版本”。可以提供指向已知良好版本的页面的永久链接。
自动控制系统的研究和设计,一个被称为控制工程的领域,在现代技术社会中变得越来越重要。从像烤面包机或马桶这样简单的设备,到像航天飞机和动力转向这样的复杂机器,控制工程都是我们日常生活的一部分。本书介绍了控制工程领域,并探讨了该领域的一些更高级的主题。但是,请注意,控制工程是一个非常大的领域,本书只作为控制工程的基础和对该领域选定高级主题的介绍。本书中的主题由作者自行决定添加,代表了我们贡献者的可用专业知识。
控制系统是添加到其他组件中的组件,以增强功能或满足一组设计标准。例如
我们有一个特定的电动机,它应该以 40 RPM 的速度转动。为了达到这个速度,我们必须在电机端子上提供 10 伏的电压。但是,当电机静止时,提供 10 伏的电压,电机需要 30 秒才能加速到正常速度。这是宝贵的时间损失。
这个简单的例子对于电机系统的用户和设计者来说可能很复杂。似乎很明显,电机应该以更高的电压启动,以便更快地加速。然后,一旦电机达到理想速度,我们可以将电源降低到 10 伏。
这显然只是一个简化的例子,但它说明了一个重要的观点:我们可以将特殊的“控制器单元”添加到现有的系统中,以提高性能并满足新的系统规范。
以下是一些在本 书中使用的术语的正式定义
- 控制系统
- 控制系统是一种设备或一组设备,用于管理其他设备的行为。有些设备是不可控制的。控制系统是按特定方式连接或关联的组件的互连,以命令、指示或调节自身或其他系统。
控制系统是设计具有调节和/或跟踪功能的系统以获得预期性能的概念框架。为此,必须有一组可测量的信号以了解性能,另一组可测量的信号以影响系统随时间的演变,以及第三组不可测量但会干扰演变的信号。
- 控制器
- 控制器是一种控制系统,它使用执行器来管理另一个设备或系统的行为。控制器通常接收来自系统外部的某些输入信号,指示系统提供所需的输出。在闭环系统中,该信号使用来自系统内部的传感器的信号进行预处理。
- 执行器
- 执行器是一种设备,它接收来自控制器的信号,并执行某些操作以相应地影响系统。
- 补偿器
- 补偿器是一种控制系统,它通过调节该系统的输入或输出来调节另一个系统。补偿器通常用于校正单个设计缺陷,目的是尽量减少对设计其他方面的影响。
本质上,解决设计新控制系统的问题有两种方法:经典方法和现代方法。
经典和现代控制方法的命名方式具有误导性,因为被称为“经典”的一组技术实际上是在被称为“现代”的技术之后才发展起来的。但是,就发展控制系统而言,现代方法最近被用于取得了巨大效果,而经典方法逐渐失宠。最近,已经证明,经典方法和现代方法可以结合起来,以突出各自的优缺点。
经典方法,本书将首先考虑,是涉及拉普拉斯变换域的方法。物理系统是在所谓的“时域”中建模的,其中给定系统的响应是各种输入、先前系统值和时间的函数。随着时间的推移,系统的状态及其响应会发生变化。但是,系统的时域模型通常使用高阶微分方程进行建模,这些方程对人类来说可能难以求解,其中一些甚至对现代计算机系统来说也难以有效求解。为了抵消这个问题,可以使用积分变换,如拉普拉斯变换和傅里叶变换,将时域中的常微分方程 (ODE) 转换为变换域中的正则代数多项式。一旦给定系统被转换为变换域,它就可以更容易地操作,并可以由人和计算机快速分析。
现代控制方法没有改变域以避免时域 ODE 数学的复杂性,而是将微分方程转换为称为状态方程的一组低阶时域方程,然后可以使用线性代数中的技术对其进行操作。本书将第二考虑现代方法。
控制系统领域经常做出的第三个区分是将模拟方法(如上所述的经典和现代)与数字方法区分开来。数字控制方法旨在尝试将新兴的计算机系统功能整合到以前的控制方法中。一种称为Z 变换的特殊变换被开发出来,可以充分描述数字系统,但同时也可以(经过一些努力)转换为拉普拉斯域。一旦进入拉普拉斯域,数字系统就可以以与经典模拟系统非常类似的方式进行操作和分析。因此,本书不会对模拟系统和数字系统进行严格的区分,而是试图并行研究这两种范式。
本书旨在作为本科和研究生工程课程的辅助教材。正如之前提到的,本书不侧重于工程学的任何特定学科,但任何想要使用本材料的人应该具备拉普拉斯变换(如果不是其他变换)的基本知识、微积分等等。本书中的材料可用于辅助多个学期的学习,具体取决于你所在学院或大学的课程安排。控制系统学习通常是为四年制本科课程中三年级或四年级学生保留的主题,因为它需要大量的先修知识。一些更高级的主题可能要到研究生阶段才会被涵盖。
许多学院和大学在本科阶段只提供一到两门专门关于控制系统的课程。然而,一些大学确实会提供更多课程,这取决于材料的划分方式以及需要涵盖的深度。此外,许多机构会提供一些关于该主题的研究生课程。本书将尝试从研究生和本科的角度涵盖控制系统主题,将高级主题建立在基础主题之上,以一种直观的方式进行。因此,学生应该能够从任何看起来合适的起点开始阅读本书,并且能够在不再需要进一步信息时结束阅读。
理解本书中的材料需要扎实的数学基础。本书目前没有解释,也永远不会尝试完全解释本文中使用的多数必要数学工具。因此,读者预计已经阅读了以下维基教科书,或者具有与之相当的背景知识。
- 代数
- 微积分
- 读者应该对微分和积分有很好的理解。偏微分、多重积分和多个变量的函数偶尔会使用,但学生不一定需要精通这些科目。这些高级微积分主题更适合作为先修课程的补充课程,而不是先修课程。
- 线性代数
- 状态空间系统表示大量依赖于线性代数技术。学生应该知道如何对矩阵进行操作。学生应该理解基本的矩阵运算(加法、乘法、行列式、逆矩阵、转置)。学生也会从先前对特征值和特征向量的理解中受益,但这些主题在本教材中有所涵盖。
- 常微分方程
- 所有线性系统都可以用线性常微分方程来描述。因此,学生了解这些方程将大有裨益。本书的大部分内容描述了分析这些方程的方法。学生应该知道什么是微分方程,并且他们应该知道如何找到一阶和二阶常微分方程的一般解。
- 工程分析
- 本书强化了工程分析一书中使用的许多高级数学概念,对于某些主题的进一步信息,我们将参考上述文本的相关部分。这本质上是一本数学书,但侧重于各种工程应用。它依赖于对本列表中其他数学书籍的先前知识。
- 信号与系统
- 信号与系统一书将提供系统理论领域的基础,控制系统是该领域的子集。没有阅读过信号与系统一书的读者在阅读本书时会处于极大的劣势。
本书将按照特定的顺序进行组织。首先,本书将讨论系统理论的基础知识,并简要回顾一下积分变换。第 2 部分将为不熟悉数字信息的同学提供关于数字信息的简要入门知识。这样做是为了使数字信号和模拟信号在本书的其余部分能够并行考虑。接下来,本书将介绍状态空间系统描述和控制方法。在第 3 部分之后,本书中的主题将交替使用(有时也同时使用)状态空间和变换方法。因此,在深入研究本书后面的部分之前,务必认真阅读并理解这三章。
在本书的“基础”部分之后,我们将深入研究分析和设计控制系统的具体方法。首先,我们将讨论拉普拉斯域稳定性分析技术(劳斯-赫维茨、根轨迹),然后是频率方法(奈奎斯特判据、伯德图)。在讨论了经典方法之后,本书将讨论现代稳定性分析方法。最后,将根据各贡献者的知识水平,触及一些高级主题。
随着本书主题的扩展,先决条件也将随之扩展。例如,当本书扩展到涵盖非线性系统时,将需要对非线性数学的基本背景知识。
本维基教科书已经扩展到包含多个文本版本,这些版本按涵盖的材料和材料呈现的顺序进行区分。每个不同的版本都由本书的章节组成,这些章节以不同的顺序排列。本书涵盖了广泛的信息,因此,如果你不需要本书提供的全部信息,那么其他版本中的某个版本可能更适合你和你自己的教育需求。
每个单独的版本都包含一个目录,概述了该版本中包含的不同章节。此外,每个单独的版本都提供完整的可打印版本,有些甚至提供 PDF 版本。
请查看所有版本列表页面,找到适合你和你自己需求的版本。
控制系统研究中隐含地使用了微分方程。即使它们在表面上不可见,我们将在其中研究的所有连续时间系统都由常微分方程 (ODE) 在时间域中描述,其中一些方程的阶数相当高。
让我们回顾一下一些微分方程基础知识。考虑一个银行的主题。在给定的本金余额(你存入银行的金额)P 上产生的利息量由以下公式给出:
其中 是利息(本金的变化率),r 是利率。注意,在本例中,P 是时间的函数 (t),可以改写为反映这一点:
为了解决这个基本的一阶方程,我们可以使用一种称为“变量分离”的技术,将所有字母 P 的实例移到一侧,将所有字母 t 的实例移到另一侧:
对两边积分得到:
这很好,但通常我们喜欢通过将两边都提高到 e 的幂来消除对数。
我们可以这样分离常数
D 是一个常数,代表系统的初始条件,在本例中是起始本金。
微分方程特别难以操作,尤其是在我们进入高阶方程时。幸运的是,已经创建了几种抽象方法,使我们能够处理 ODE,但同时不必担心它们的复杂性。如上所述的经典方法使用拉普拉斯、傅立叶和 Z 变换将时域中的 ODE 转换为复域中的多项式。这些复多项式比 ODE 对应物要容易得多。现代方法将微分方程分解为低阶方程组,并用矩阵表示该系统。ODE 理论中一个普遍的原则是在 N 阶 ODE 可以分解为 N 个 1 阶方程。
不熟悉微分方程的读者可能能够合理地阅读和理解本书中的内容。但是,鼓励所有读者阅读微积分中相关的部分。
历史
[edit | edit source]控制系统领域实质上起源于古代世界。早期的文明,特别是希腊人和阿拉伯人,非常重视时间的精确测量,其结果是设计和实施了几个“水钟”。
然而,在欧洲文艺复兴开始之前,工程领域几乎没有取得实际进展。莱昂哈德·欧拉(以欧拉公式命名)发现了一种强大的积分变换,但皮埃尔-西蒙·拉普拉斯使用这种变换(后来称为拉普拉斯变换)来解决概率论中的复杂问题。
约瑟夫·傅立叶是拿破仑一世统治下的法国宫廷数学家。他创建了一种称为傅立叶级数的特殊函数分解,后来被推广到积分变换,并以他的名字命名(傅立叶变换)。
皮埃尔-西蒙·拉普拉斯 1749-1827 |
约瑟夫·傅立叶 1768-1840 |
控制工程的“黄金时代”发生在 1910-1945 年间,当时正在创建大众传播方法,并且发生了两次世界大战。在此期间,控制工程界的一些最著名人物都在进行他们的工作:奈奎斯特和博德。
亨德里克·瓦德·博德和哈里·奈奎斯特,特别是在 1930 年代在贝尔实验室工作时,创造了我们现在称为“经典控制方法”的大部分内容。这些方法基于拉普拉斯和傅立叶变换的结果,这些结果以前是已知的,但由奥利弗·亥维赛德在世纪之交推广。在亥维赛德之前,变换不是广泛使用,也不是受尊重的数学工具。
博德因“发现”闭环反馈系统和仍以他的名字命名的对数绘图技术(博德图)而闻名。哈里·奈奎斯特在系统稳定性和信息论领域进行了广泛的研究。他创建了一个强大的稳定性准则,以他的名字命名(奈奎斯特准则)。
现代控制方法是在 1950 年代初引入的,作为绕过经典方法的一些缺点的一种方法。鲁道夫·卡尔曼以他在现代控制理论方面的成就而闻名,并以他的名字命名了一种称为卡尔曼滤波器的自适应控制器。现代控制方法在 1957 年计算机的发明和太空计划的开始后变得越来越流行。计算机创造了对数字控制方法的需求,而太空计划需要创建一些“高级”控制技术,例如“最优控制”、“鲁棒控制”和“非线性控制”。这些最后几个主题以及更多主题仍然是研究工程师的活跃研究领域。
控制工程的分支
[edit | edit source]这里我们将简要列出控制工程领域中各种不同的方法。通常,这些方法之间的界限会模糊甚至完全消失。
- 经典控制
- 控制方法,其中描述系统的 ODE 使用拉普拉斯、傅立叶或 Z 变换进行变换,并在变换域中进行操作。
- 现代控制
- 将高阶微分方程分解为一阶方程组的方法。系统的输入、输出和内部状态由称为“状态变量”的向量描述。
- 鲁棒控制
- 控制方法,其中考虑了任意外部噪声/扰动,以及系统自身热量和环境引起的内部不准确性。
- 最优控制
- 在一个系统中,识别性能指标,并将其排列到“成本函数”中。最小化成本函数以创建具有最低成本的操作系统。
- 自适应控制
- 在自适应控制中,控制会随着时间的推移改变其响应特性以更好地控制系统。
- 非线性控制
- 控制工程中最年轻的分支,非线性控制涵盖了无法用线性方程或 ODE 描述的系统,并且通常很少有支持理论可用。
- 博弈论
- 博弈论是控制理论的近亲,尤其是鲁棒控制和最优控制理论。在博弈论中,外部扰动不被认为是随机噪声过程,而是被认为是“对手”。每个玩家都有一个他们试图最小化的成本函数,而他们的对手试图最大化它。
本书肯定会涵盖前两个分支,如果时间允许,希望能够扩展到涵盖后来的某些分支。
MATLAB
[edit | edit source]附录
MATLAB ® 是一种在控制工程领域中常用的编程工具。我们将在本书专门用于此目的的特定章节中讨论 MATLAB。MATLAB 不会出现在这些特定章节以外的讨论中,尽管 MATLAB 可能在一些示例问题中使用。有关在控制工程中使用 MATLAB 的概述,请参阅附录:Control Systems/MATLAB.
有关 MATLAB 的更多信息,请参阅:MATLAB 编程.
资源
几乎所有关于控制系统、线性系统和系统分析的教科书都将 MATLAB 作为文本的组成部分。在认可大学学习该学科的学生肯定会在他们的教科书中看到这些材料,并且很可能将 MATLAB 工作作为他们课程的一部分。MATLAB 附录就是从这种角度编写的。
将来,本书可能会扩展到包括有关Simulink ® 以及 MATLAB 的信息。
有许多其他软件工具可用于分析和设计控制系统。可以根据贡献者的经验和先前知识在本书的附录中添加更多信息。
关于格式
[edit | edit source]本书将在整个过程中使用一些简单的约定。
数学公式将使用 {{eqn}} 模板进行标注,以便为它们命名。以这种方式标注的公式很重要,应特别注意。例如,请注意此公式右侧的标签
[逆拉普拉斯变换]
以这种方式命名的公式也将被复制到书末的 公式列表术语表 中,以便于参考。
斜体将用于出现在正文中的英文变量、函数和公式。例如 e、j、f(t) 和 X(s) 都是斜体的。维基教科书包含 LaTeX 数学格式化引擎,尽管由于大小和字体的差异,将尽力避免在与其他文本内联的数学公式中使用格式化的数学公式。希腊字母和其他非英文字符在文本中不会被斜体化,除非它们出现在多个变量中,而这些变量都是斜体的(为了方便编辑器)。
标量时域函数和变量将用小写字母表示,并带有括号中的 t,例如:x(t)、y(t) 和 h(t)。离散时间函数将以类似的方式写,只是用 [n] 代替 (t)。
傅里叶、拉普拉斯、Z 和星变换函数将用大写字母表示,后面是括号中的适当变量。例如:F(s)、X(jω)、Y(z) 和 F*(s)。
矩阵将用大写字母表示。时间函数的矩阵将用大写字母加括号中的 t 表示。例如:A(t) 是一个矩阵,a(t) 是一个时间标量函数。
时变矩阵的变换将以大写粗体字母显示,例如 H(s)。
使用 LaTeX 渲染的数学公式将出现在单独的行上,并且会从文本的其余部分缩进。
示例将出现在 TextBox 模板中,这些模板显示为充满文本和公式的大型灰色框。
- 重要定义
- 也将出现在 TextBox 模板中,但我们将使用此格式来表明它是定义。
感兴趣的注释将出现在“信息框”模板中。这些注释通常用于解释数学推导或证明的一些细微差别。 |
警告将出现在这些“警告”框中。这些框将指出常见错误或其他需要谨慎的事项。 |