扫码打开虎嗅APP
本文来自微信公众号:返朴 (ID:fanpu2019),作者:蔡宁(北京邮电大学副教授),题图来自:AI生成
当地时间10月13日7时32分许(北京时间同日20时32分),美国得克萨斯州星港发射基地的晨曦中,超重型助推器穿破重重云霭,以2000 km/h的速度“缓缓”飘落,拉出一道长长的轨迹云。猛禽发动机摇曳着明亮的尾焰,助推器随之逐渐减速,在观众的一片惊呼声中,近200吨的箭体“轻轻”落在塔架上。
这是美国SpaceX公司新一代重型运载火箭“星舰”实施第五次试飞,首次验证了“筷子夹火箭”技术——通过发射塔的机械臂,在半空中成功捕获回收火箭第一级助推器。这种方式可以减轻“星舰”重量,降低发射成本,同时有助于更快地回收、重复使用助推器,提高发射频率。
“筷子夹火箭”被美国媒体称为“史无前例”的全新火箭回收方式,对于火箭飞行控制系统的精度和悬停能力要求极高,略有差池就可能导致火箭在发射塔上倾倒或爆炸。SpaceX公司创始人埃隆·马斯克此前预测,此次试飞回收成功率仅为50%。事实上,与其说“筷子夹火箭”,不如说是“把火箭停在筷子上”。其技术难度并不在于机械臂的灵巧强大,而在于如何将庞大的助推器精确悬停在两根“筷子”之间。
而这一过程背后,自动控制理论功不可没。所谓自动控制,是指“在没有人直接参与的情况下,利用外加的设备或装置(控制器),使机器、设备或生产过程(被控对象)的某个工作状态或参数(被控量)自动地按照预定的规律运行。”
这听起来似乎有些费解,但其实我们对“控制”并不陌生:“用计算机控制宇宙飞船”“基因控制着遗传”“这个病人的癌症已经不可控制了”……控制论(Cybernetics)作为一门方法性的交叉学科,它的眼光、世界观早已深刻融入并塑造了我们的生活——无论是星舰火箭、神经科学、人工智能,还是互联网、哲学、战争。控制论的历史是一段跨越了文化、学科和社会边界的历史。
1948年,控制论先驱诺伯特·维纳(Norbert Wiener)在奠基性著作《控制论》(Cybernetics)中提到,Cybernetics一词源自希腊语κυβερνήτης,即“掌舵人”。这其中或许有更深刻的意味:舵手对风、潮汐等干扰作出反应,纠正“误差”,使他的船保持在航线上。在今天,科技、人文和社会暗流汹涌,我们比以往任何时候都更需要正确把握人与自身、机器、乃至社会的关系。
大学工科自动化专业所学习的自动控制理论(Control Theory),构成了控制论的核心基础[控制理论(Control Theory)可看作控制论(Cybernetics)的子集,后者的外延更大]。但是,控制理论运用的数学工具令人望而生畏,给人以抽象、高深的印象;特别是初学者,往往被“复频域”“极点”“滤波”“系统解耦”“运动稳定性”等一大堆名词弄得晕头转向。与此同时,控制理论本身也还面临着诸多局限和挑战。
鉴于此,本文面向领域外读者,将从具体例子着眼,谈谈自动控制理论的理念和方法,介绍它是一门什么样的学问。
关于“运动”的学问
人类电子信息领域科技发展的愿景,其实就是不断推动技术进步,从而最终实现能够自主工作的“智能体”,或者由很多智能体互联协同工作的“超级智能体”。那么一个理想中的智能体应具备哪些方面的能力呢?可总结如下:
推理:由已知判断,根据一定规则从逻辑上推导出结论。
建模(学习):通过感知到的信息总结规律、获得知识。
感官:通过传感器感知信息。
记忆:信息的存储和检索。
运动:能自主运动,且具有平衡性和协调性。
情感:对于自主智能体来说,情感决定了行为的动机。
通信:不同智能体之间或者智能体与人之间能进行交流。
电子信息科技领域内各学科和方向,分别致力于解决以上不同方面的具体问题。其中自动控制学科所主要针对的问题就是运动。这里“运动”是广义的,不仅仅指外在的位移运动,也包括内部状态的变化。
动态系统和“反馈”
具体而言,自动控制学科的目标是分析动态系统,了解其运动规律,进而通过调整系统或设计控制器,实现所希望的运动。传统自动控制学科的基础是动态系统的数学模型。所谓动态系统,指的是现实中那些随时间不断发生变化,且当前时刻的状态受过去所有时刻的累积影响,存在“惯性”和“记忆”的对象。自动控制学科所涉及的动态系统数学模型主要用常微分方程和差分方程来描述。
现实中到处都是动态系统的实例,从机械臂、单摆到飞机,从河流、沙丘、生物种群到大气系统,从计算机网络、经济系统到人类社会,再到宇宙星系……这些系统的状态都会随时间而变化。
例如,当电路中含有电感、电容储能元件时,就是一个动态系统:RC串联电路与恒压源接通后,电容元件被充电,其电压逐渐增长,要经过一个暂态过程才能达到稳定值;但如果没有储能元件,则不属于动态系统,因为电路状态仅由代数方程所表示的即时关系所确定,在任一时刻的响应只与同一时刻的激励有关,而不受过去时刻的累积影响。
一个自主运动的动态系统数学模型如下:
这里x=x(t)是一个向量,称为状态向量,表示系统随时间变化的运动状态;是x关于时间的导数,表示状态变化的趋势。这是一个标准的状态空间方程。可以看出,系统取决于函数f(t,x)的具体形式,包括结构和参数两方面。系统结构指f(t,x)的函数类型,系统参数则指函数表达式里面一些系数的确切取值。
为达到控制目标,需要设计控制器。控制器设计的基本机制,主要包括“负反馈”和“平行”两方面。其中“负反馈”机制堪称自动控制的灵魂,是任何一个有效的自动控制系统必需的前提。
可以做个实验:一个人蒙住眼睛,然后试着走直线。你会发现很难成功。原因在于,人体作为高效的自动控制系统,在朝目标行进的过程中,需要不断地通过反馈信息与实时位置进行比较,动态修正运动轨迹。而蒙上眼睛,等于丧失了反馈机制。在运动过程中,误差是不可避免的。没有反馈机制,误差会越来越大,无法纠正,最终实现不了期望的控制目标。
学术界公认,近代自动控制技术应用于工业肇始于瓦特蒸汽机的调速器。瓦特发现蒸汽机的转速不稳,蒸汽忽大忽小,转速忽快忽慢,于是采用离心调速器解决问题,如图1所示。纵轴旋转带动小球做圆周运动,形成锥面摆。转速越高,离心力越大,小球连杆与纵轴的夹角也越大。再根据这个夹角控制阀门的开度,使夹角变大时减小蒸汽流,夹角变小时增大蒸汽流。这样就通过引入负反馈机制,使蒸汽机的转速变得稳定。
(瓦特“发明”离心调速器的说法流传较广,但这是误传。在蒸汽机之前,离心调速器已被大量应用在风车上。——编者注)
图1 瓦特的离心调速器
洗澡水温怎么调?
那么,只要系统具有负反馈机制,就一定能实现有效控制吗?生活经验就能告诉我们:不一定。大家都知道,张开手心,仅用单手托着木棍保持直立是个技术活,需要不断进行反馈调整。但是光有反馈还不够,反馈的力度大小也很微妙,力度太小或者太大都容易倾倒。
用老式热水器洗澡的时候,水温靠手动调节一个机械阀门来控制。如何调节水温也是一个技术活。水温常常忽高忽低,阀门一会开大了一会关小了,半天也调不合适,甚至有时候“越描越黑”。这个场景其实是一个调节器系统,属于典型的自动控制系统,包含了受控对象、测量机构、控制器和执行机构,具有负反馈机制。这里受控对象是冷热水管路系统,测量机构是人的皮肤,控制器是人的大脑,执行机构是人的手和调节阀。
下面通过简单仿真来具体演示假想情境(不一定是洗澡)下,一个由调节阀控制的温控系统的调节过程。所使用的系统仿真工具是最常用的Simulink。
图2 一个自动控制系统仿真结构
图2中的“Transfer Fcn”模块表示假想的受控对象模型,该模型是传递函数形式,即模块里的多项式分式,读者可以视为黑箱,不用考虑细节。它的输入信号是阀门开度,输出信号是实际温度。“Step”表示期望温度,我们设定为40。期望温度减去观测到的实际温度,就是反馈误差信号,这是控制的依据,在图2中对应“Subtract”模块的输出。
显然,最直观自然的控制策略,是根据反馈误差调节阀门开度。当该误差取正值,说明温度偏低,水阀应该向热水方向调节,误差越大,阀门也开得越大。反之,如果误差是负值,水阀向冷水方向调节。总之,阀门的开启角度跟误差成正比。这其实就是所谓的“比例控制”,“Gain”表示对信号的比例放大倍数,中文一般翻译为“增益”。
当比例增益为1时,“Scope”模块所显示的输出结果如图3所示:
图3 比例增益为1时的输出结果
可见经过反复调节,温度会趋于稳态,系统的动态特性似乎也不算太差。但是出现了个意想不到的怪异现象:结果跟期望之间存在很明显的误差,无法消除。这用控制理论的术语叫“静差”。
将比例增益增加到10,相当于用更大的阀门开度去应对温度差异。结果如图4:
图4 比例增益为10时的输出结果
这种情况下,温度依然会趋稳,但是振荡幅度与频率都加大,动态特性变差了。静差却变小不少,已经不那么明显了。
以上是理想的比例控制。但是,现实总是跟理想存在差距。对于洗澡水温控制系统来说,调节系统的实际控制器是人,是人都会有反应时间。假定是0.1秒,已经算反应相当快了。这相当于在系统反馈回路中多了一个0.1秒的延时环节,如图5。
图5 反馈回路有延时的控制系统
运行结果如图6所示:
图6 反馈回路有延时的输出结果
仅仅增加了一个看似微不足道的延时环节,就使系统变得不再稳定。可见,仅依赖反馈机制的控制并不一定可靠。
比例、导数、积分和“PID控制”
上面介绍了一个非常简单的反馈调节系统。朴素的反馈控制思想来源于直观的生活常识。但是,面对实际系统控制问题,这是远远不够的,还会遇到各式各样意料不到的问题。生活在今天的我们可以想见,瓦特时代的工程师在实践中必定经常面对层出不穷的怪问题、怪现象,令他们抓狂不已,一筹莫展。事实上,瓦特的离心调速器确实无法在任何工况都保持稳定。有些情况下,调速器可能反倒会加剧系统振荡,导致蒸汽机转速忽快忽慢。
今天,我们已经拥有了一整套理论体系,能对很多“怪问题”给出答案,有效地帮助我们分析动态系统的基本运动规律,解释运动现象,和设计控制器解决各种实际问题。人手托木棍设法使其保持直立是一件很困难的事。因为这是一个倒立摆,属于本质上不稳定的系统,一晃就倒。但是运用自动控制的知识方法,用机电系统解决这类平衡问题就易如反掌,而且能确保绝对可靠。对学自动化专业的本科生来说,自行设计制作两轮平衡车是一件很简单的事情,并不需要多么高深的技术。
控制理论告诉我们,如果在前面讨论的调节系统中,决定阀门开度时不仅考虑误差的大小,还考虑误差变化的快慢,这就相当于引入了阻尼。阻尼可以改善动态特性。把阻尼调小,动态响应就变得更“贼”一些,响应速度更快;而把阻尼调大,就变得更“笨”,响应速度变慢。这在控制理论中叫“导数控制”。
如果不仅考虑误差的瞬时变化,而且让误差的历史累积也来影响阀门的开度,就可以把静差消除。这样可在误差为0时仍然能够使调节阀保持所期望的角度。这在控制理论中叫“积分控制”。这样一来,每时每刻的阀门开度都通过综合考虑误差大小、误差变化快慢和累积误差来决定。控制器同时包含比例、导数和积分环节,就是著名的“PID控制”(Proportional-Integral-Derivative Control)。合理运用PID控制器,就可以解决不少实际控制问题。
整个控制理论的知识体系很丰富,PID控制只是基础而已。目前控制理论的主干被大致划分为两部分内容,分别是“经典控制理论”和“现代控制理论”。
经典控制的理论体系发展成熟于20世纪中前期,现代控制的理论体系则发展成熟于20世纪中后期。决定二者分野的关键,就是电子计算机的发明所引发的计算、分析、仿真乃至控制方法的变革。在上世纪50年代之前,所有的科学计算都由人利用草稿纸、计算尺和数学用表等工具手工完成。那时候“Computer”可不是机器,而是人,是一种职业。如果翻译成汉语,请务必译成“计算员”或者“计算师”。因此,整个经典控制理论,都力求能完全适用于纯手工的计算、分析和设计。
现代控制理论则没有这个禁忌,所以能够更自由、更精细,适合解决更复杂的问题。自20世纪70年代以后,又出现了“先进控制”的一些理念和方法,包括处理系统不确定性和扰动的影响的鲁棒控制、能随系统参数变化自动改变控制器的自适应控制、以及结合人工神经元和模糊逻辑等人工智能技术的智能控制等。这些控制方法充实了控制理论的内涵,拓展了应用范围。
“平行”思想和两个例子
反馈是自动控制的核心思想之一。而自动控制的第二个核心思想是平行。特别是当需要设计某种装置解决特定控制问题时,基于“平行”理念寻找答案,是一个基本思路。龙伯格观测器和史密斯预估器都是这方面的典型例子。
图7 “平行”系统
有时候一个动态对象的内部状态无法量测,能量测到的只有输出信号。一般来说,输出信号的维数低于内部状态,只能体现内部状态的部分信息。剩余部分则被隐藏了,无法获知。如何透过表象获知本质,估测出隐藏的内部状态?
龙伯格等人发明了一种巧妙的方法来解决这个问题,思路就是基于平行理念。观测对象是客观存在的,无法深入其内部去量测。但是,我们可以构建一个与观测对象一样的虚拟系统,而这个系统是人造的,可以任意量测。只要两个系统“一模一样”,这时候对人造系统内部状态的量测值就可以拿过来当作观测对象的状态估计。
这个虚拟副本系统,其作用只为生成观测对象内部状态的估计值,所以叫“观测器”。真实系统与其虚拟副本“一模一样”是做不到的。因此实用的龙伯格观测器还需要引入反馈,根据两个平行系统输出量之间的误差修正观测结果。
有些受控对象是存在固有时滞的,例如前面讨论的温度调节系统。利用史密斯预估器可以巧妙地把时滞给“消掉”,思路也是基于平行理念。读者或许已经猜到大致实现原理了。我们可以构建一个与观测对象一样的虚拟系统,而这个系统是人造的,可以做到没有时滞。只要两个系统“一模一样”,这时候人造系统的输出值就可以当作受控对象输出的提前预估。
用人造系统代替受控对象进行反馈控制,就相当于把时滞给消除了。这个虚拟副本系统,其作用只为预估时滞受控对象的输出信息,所以叫“预估器”。
自动控制中很多其他用于解决特定问题的装置也都蕴含着平行理念,如内模控制器、鲁棒补偿器、模型预测控制等。
自动控制已经形成了成熟丰富的知识体系,可以有效解决很多工程问题。控制理论在上个世纪迅速发展,经历了几个重要阶段,包括经典控制、现代控制以及“先进控制理论”。虽然这门学科似乎仍然年轻,但经历了这些阶段之后,局限性已开始显现。
传统自动控制方法特别擅长解决运动体的机电控制以及相对比较简单的过程控制等问题,如车辆控制、船舶控制、飞行器控制、机器人运动控制、制导、火控系统实现等。对这类系统,人们大都可以通过牛顿力学分析建立阶次较低的数学模型,并能基于微分方程数值解实现精确的仿真。传统控制理论体系的方法论范式依赖于数学的线性/非线性动力学,对系统性质的判断和运动趋势的预测均强调严格的数学证明。然而,现实中有更多的复杂动态系统无法或很难建立明确的简单微分方程模型。
尽管如此,社会和经济发展的需求依然越来越迫切,要求人们尽快从科学、工程的角度为这些复杂系统的分析、预测、控制乃至决策和管理问题提供解决思路。钱学森先生早已指出:控制的未来在于整个方法论体系的质变。未来方法论的变革应该包含两个趋向。一方面,控制理论自身的发展更趋向物理化、实验化、智能化,从而对各种复杂工程对象有更好的适用性。另一方面,控制理论需要融合多学科知识,深化学科交叉,才有可能处理更广域的复杂工程问题。
本文来自微信公众号:返朴 (ID:fanpu2019),作者:蔡宁(北京邮电大学副教授)