我跳过了关于控制的一些绪论和历史,相信许多教材的开头都比我讲的好。我在本文简单讲讲控制问题的基本分类。待学完经典控制理论,回过头来看如何用学过的工具来解决这些问题。

我会把许多名词以及英语一起写出来,为了让大家适应英语,第一次出现后,我之后会渐渐完全用英语代替。


控制系统在我们身边随处可见。

我们说最常见的case

case1:过马路时的交通信号灯不断交替更换,帮助车辆和人顺利通行,这背后就存在了信号控制系统,被控的对象就是信号灯,被控量就是灯的亮灭状态。

case2:我们走进商场,滑门自动打开,随后又自动关闭,这背后同样存在一套自动控制系统,被控对象就是大门,被控制量就是门的位移,也可以说是门的开关状态。

case3:室内用的空调,当我们用遥控器设定温度后,室内的温度自动地和设定的温度保持了一致,被控对象是房间,被控量是温度。

case4:颁奖晚会上,某明星走红毯,所有的聚光灯和照相机全都对准了她,这背后也蕴藏着控制的逻辑,被控对象是聚光灯和镜头,被控量是它们的对准方向。

说了这么多,实际上控制原理应用是非常广泛的,远不止教科书上那些枯燥又乏味的例子,清一色都是机械结构,电路结构,飞机导弹,卫星者之类的。之所以说他们枯燥,是因为几乎所有的教科书都是这些例子,如果有人以case4为例讲控制你是不是突然就感兴趣了呢? 当然因为那些都是工程上比较常见的系统,也和控制技术的发展历史有很大关系,它们依旧是被作为例子来讲解控制。

仔细观察上面几个例子,然后思考更多的例子,翻阅教科书,观察生活,我们不难总结出控制问题的三个基本类型,即:Regulation, Tracking  Program-based control

调节/镇定问题Regulation

调节问题,也叫镇定问题(regulation)是控制系统输出并保持到某一个预定的工作点(set point)的问题,是一类控制的基本问题。最早的调节问题研究的就是蒸汽机的进气量问题,为了解决该问题,Maxwell才从数学角度研究了控制。我们上面讲到case3也属于这类问题。

空调温度控制系统工作时要保证室内的温度稳定在设定的温度,即参考输入(reference input),从另外一个温度开始工作到最终稳定在这个温度的过程就是控制过程,被控对象在控制过程结束后进入的状态称为稳态(steady state)。显然控制系统理想的状态下,最后稳态就是我们设定的工作点。但实际中不可能完全那么精确地到达工作点。根据传感器(senor)的测量结果,我们还会设定一个误差范围,用于判定系统最后是否进入了稳态。如果是的控制器就发出指令让指令装置停止工作。如果温度又升高到了某一温度,与我们所设定的温度不符合(超出了稳态范围),那么控制系统就会根据检测到的温度误差(error),重新输出新的控制信号,由空调的制冷器再次启动开始对房间降温,如此循环。如果设定工作点发生改变,则系统会重新平衡至新的工作点。

Control system structure / Figure from [1]

在调节问题中,reference input应当是一个已知的常值。注意这里输入是对整个系统来讲的,而不是对被控系统(plant)或者过程(process)来讲的。在上图应该是R(s),而并不是控制器的输出U(s),不要搞混。

参考输入与输出之间做了某种运算,直觉上来讲,我们希望输入与输出之间差距越来越小,做减法运算得到当前误差的值应该是很有用的。Plant的直接输入U(s)来自驱动器或者执行器(actuator),而actuator的动作量就是由控制器根据参考输入与输出间运算结果进行进一步计算得到的。初学者往往容易把参考信号的输入当作是plant的直接输入,而不知道参考信号R(s)作为输入是对整个完整系统而言的。Plant的输出一般我们也会直接认为是整个系统的输出,除非中间还有其他环节,具体情况可以具体分析。

调节问题的目标就是设计一个控制器(controller)或者叫补偿器(compensator),我们也常称调节问题的控制器为调节器(regulator),使得plant或者process能够维持在设定的set point(set point由reference input确定),并且在受到外来干扰时,控制器需要做出动作,自动调节系统状态以再次到达原来设定的set point。除此之外,我们自然还希望调节的速度越快越好,调节的准确度越高越好,并且控制器输出信号功率越小越好(节能)。这便设计到了控制品质的探讨,我们在以后会讨论。

在这里我们注意到我们引入了sensor用来测量系统输出,并将测量值返回到了reference input端,至于为什么要测量输出并返回,我们会在稳定性一节中深入讨论。 目前我们只需要知道,作为调节问题而言,这样的系统结构是必须的。我们把这样的系统结构称为闭环结构(closed-loop structure)。

跟踪问题Tracking

跟踪问题(Tracking)是实现控制系统的输出实时地跟踪参考输入信号的问题,是一类控制的基本问题,也是极具挑战的问题。我们很容易联想到导弹跟踪飞机这样的场景,这正是典型的跟踪问题。我们case4中所有照相机镜头和聚光灯都会跟随明星的位置变化而变化,也是一种主动控制。

Tracking问题的描述是设计一个控制器能够产生控制量,控制plant的输出总是跟踪输入的未知参考信号。注意这里未知的含义,输入参考信号本身就是随机的,人和被控系统都无法预测未来某一秒的输入。我们在设计时如果知道参考信号的特点,比如知道是正弦信号,但不知道幅值和相位,这会大大有利于设计。如果我们面对的完全随机的信号,设计时就要考虑全面,跟踪难度也会增加。

实现tracking的系统结构和regulation相差是不大的,凭直觉我们就能猜到,两种问题均要使用到输出与输入的误差信息。所以从这个角度看,tracking问题仍然需要闭环结构的控制系统来实现。注意与regulation问题不同的是,tracking的输入信号通常会是一个未知信号,且变化速度很快时,控制器设计的要求就会比较高,对控制器来说是一个极大的挑战。从这个角度来说,tracking的实现比regulation是要难的。

程序控制 Program-based control

程序控制不同于regulation和tracking 问题,完全可以采用开环结构解决(open-loop structure),但也并不是说所有程序控制都不采用闭环。程序控制中的参考信号一般都是预定规律随时间变化的函数,被控对象只需要复现此信号即可。

我们的常规的交通信号灯,按照一定时间间隔切换红绿黄三色的交替,切换的规律就是事先预定并且由控制器负责执行的,这个过程并不需要知道某一时刻马路上的交通情况,输入并没有受到输出影响。 [公式]

自动门的控制也是一种程序控制,检测到有物体出现(输入),预定的程序就会控制电机开启自动门,然后便关闭,门的开闭状态并不会影响到输入。

在控制精度要求不高或者干扰很小、干扰可知的场合中,多数的程序控制问题会采用开环控制,这样系统的响应速度能大大加快。工业制造上的机械手,数控机床和PLC等都是程序控制的案例,它们根据事先编好的程序进行运行,而不需要输出信息来干预输入。

总结:

控制问题的三个基本类型,即:Regulation, Tracking和Program-based control。我们常见的自动原理课程都在讨论如何解决regulation和tracking,而程序控制讲的比较少,在[1]中似乎都没有提及,[2]中提到了这个概念。不过它确实也是作为一种控制手段影响着我们的生活和生产。有一些专门讲解PLC,数控机床控制的书籍,他们会更关注计算机控制。在经典控制理论中, 我们以后会主要关注regulation和tracking两类问题。

Note:

[1] 现在很多国家也有反馈信号辅助的信号灯系统

Reference

[1] G.F. Franklin, J.D. Powell, A.Emami-Naeini, Feedback Control of Dynamic Systems, 7th Edition, 2014, Pearson

[2] 胡寿松,自动控制原理(第六版),2013,科学出版社