自动控制的故事.docx
- 文档编号:2974872
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:13
- 大小:37.11KB
自动控制的故事.docx
《自动控制的故事.docx》由会员分享,可在线阅读,更多相关《自动控制的故事.docx(13页珍藏版)》请在冰豆网上搜索。
自动控制的故事
搞控制有三拨人:
电工出身的,化工出身的,和应用数学出身的。
在卡尔曼之前,电工出身的占主导地位,数学家们好在象牙塔里打转转,化工出身则还对控制理论懵里懵懂,还在“实干”呢。
卡尔曼之后,一大批数学出身的人,利用对数学工具的熟悉,转攻控制理论。
一时间,控制理论的数学化似乎成了“天下大势,顺我者昌,逆我者亡”了。
在状态空间的框架下,多变量没有太多的问题好研究,于是最优化成为控制理论的新时尚。
对于一根给定的曲线,求一阶导数为零的点,就是这个曲线的极点;在对这一极点球二阶导数,大于零就是最小点,小于零就是最大点。
这时牛顿老爷子就整明白的东东,现在高中或大一人人都学过的东西。
但是动态系统是一个微分方程,对微分方程求一阶导数为零,就导致变分法和所谓欧拉方程。
但这个东西用起来不方便。
实际的最优控制不大直接使用变分。
俄罗斯是一个奇怪的地方。
老毛子们要么蔫蔫的,要么疯狂的。
俄罗斯的悲剧电影看得你也郁闷得想去自杀。
但是老毛子要是搭错筋整出一个喜剧呢?
那你要么跟着疯狂,要么被逼疯狂。
就是这么一个地方,除了无数托尔斯泰、柴可夫斯基、普希金、屠格涅夫等文艺巨璧外,俄罗斯也盛产数学家,其中两个是庞特里亚京和河里学控制的人老惦记着的李亚普诺夫。
庞特里亚京的极大值原理听起来吓人,其实说白了很简单。
看见那山吗?
山顶就是最高点(切,这还用你说吗?
);看见那山坡吗?
要是在山腰划一道线,从山下往上爬,尽管山坡还在继续往上延伸,但是到线为止,不得逾越,那山腰上那道三八线就是最高点(切,这还用说?
)。
这就是庞特里亚京的极大值原理。
当然啦,庞特里亚京是用精巧、深奥的数学语言表述的,要不然他在数学界里也别混了。
不过呢,意思就是这么一个意思。
庞特里亚京极大值原理的一个典型应用就是所谓最速控制问题,或者叫时间最优控制(timeoptimalcontrol)问题,简单地说,就是给定最大马力和最大刹车功率,怎么开汽车能够最快地从A点开到B点(什么转弯、上下坡、红绿灯,这种琐碎的事情也要拿来烦人?
一点品味都没有!
)。
你可以用优美但繁琐的数学求证,或者用膝盖想想,最快的方法,就是一上来就加足马力,全速前进;然后在不到终点的某一地点,全力刹车,使慢下来的汽车在到达终点时正好停下来。
这时最快的方法,不可能比这更快了。
稍微发挥一点想象力,可以想象“梆”的一下,控制量的油门板一脚到底,再是“梆”的一下,刹车板一脚到底,控制任务就完成了。
所以最速控制也叫“梆-梆”控制(Bang-Bangcontrol)。
最速控制在理论上是一个很有趣的问题,解法也是简洁、优美,但在实际中直接使用的例子实在是凤毛麟角,一般都是开始时用“梆-梆”,或者匀速上升到最大控制,以缓和控制的冲击力;到终点附近时,改用PID作闭环微调,以克服“梆-梆”的系统模型误差十分敏感的缺点。
电梯控制就是这样一个例子。
从一楼到四楼,电动机很快匀速上升到最高转速,一过三楼,电动机就匀速下降到较低的转速,然后根据电梯实际位置和楼面之差,有控制地减速,直至停下来。
要是控制参数调得好的话,一下子就稳稳当当地停下来;要是调的不够好,会在停下来之前上下晃荡几下。
最速控制问题是较早的最优控制问题,它提供了一个很有趣的思路,但这颗树上开花结果不多。
相比之下,最优控制的另外一支枝繁叶茂,有生气得多了。
这一支就是线型二次型最优控制(linearquadraticcontrol)。
数学是有趣的,但数学也是盲目的。
在数学上,最优化问题就是一个在曲面上寻找凸点的问题,只要你能把一个物理问题表述成一个曲面,数学是不理会姓无姓资的。
既然如此,控制偏差的平方在时间上的累积就是很自然的选择,二次型就是平方在线性代数里的说法。
线型系统的偏差平方有很好的性质,这山峰是一个馒头山,没有悬崖峭壁,没有沟坎,容易爬;一山只有一峰,不用担心找错地方。
不过这山峰不能只包含控制偏差,还要包含控制量,原因有三个:
1、如果不包括控制量,那最优控制的解是没有意义的,因为无穷大的控制量可以使累计平方偏差为最小,但无穷大的控制量是不现实的。
2、控制量的大小通常和能量、物料的消耗连在一起,实际控制问题一般是“在最小能量、物料消耗小达到最高的控制精度”,所以在“山峰”中同时包含控制偏差和控制量是很自然的
3、系统模型总是有误差的,误差“总是”在高频、大幅度控制作用下最突出,所以为了减低系统对模型误差的敏感性,也有必要限制控制量的大小。
所以线性二次型最优控制的“目标函数”(也就是定义山峰形状的数学表述)是一个控制偏差和控制量各自平方的加权和的积分。
积分当然就是“在时间上的累积”了,加权和其实就是在控制偏差的平方项和控制量的平方相前分别乘以比例因子,然后再相加。
两个比例因子的相对大小决定了谁更重要。
运用矩阵微分和线型代数工具,不难导出线性二次型控制律—一个基本的状态反馈控制律!
只是反馈增益矩阵是按最优化的要求计算出来的。
线型二次型最优控制开创了一整个新的控制领域,很快从状态空间走出来,进入其他领域,子孙繁衍,人丁兴旺。
这一支是当今最优控制在应用中的主体。
线性二次型控制具有各种各样的优点,但是,线性二次型没有回答一个最基本的控制问题:
这个闭环系统是不是稳定。
这里,我们的饱受牵记的李亚普诺夫同志出场了。
李亚普诺夫也是一个脑子搭错筋的人,一百多年前,玩微分方程玩出了瘾,整出两个稳定性(或者叫收敛性)的定理,前一个没有什么太了不起的,把非线性系统线性化,就是把一根曲线用很多一小段、一小段的直线近似,然后按直线来分析。
后一个就有点邪门了。
老李琢磨出一个定理,说是对于任意一个系统,如果能找到一个自我耗散的能量函数(数学说法是正定函数),也就是其数值永远为正,但随时间渐进地趋向零,或者说这个能量函数对时间的导数永远为负,那这个系统就是稳定的。
据说定理的证明是一个天才的杰作,我等凡人只有频频点头的份。
不过想想也对,系统的能量耗散没了,系统不也就安分下来了吗?
当然就稳定喽。
李亚普诺夫比卡尔曼还要数学家,他的定理只给出“如果存在……就……”,怎么找这个自我耗散的能量函数他没说,这个函数一般是什么样他也没说。
这难不倒搞自动控制的广大革命群众。
不是要正定函数吗?
不是没有限制什么形式的正定函数吗?
那就用控制偏差的平方吧。
说干就干,但是干着干着,好玩的事情出现了,对偏差平方(或二次型)的求导,导出了和线性二次型最优控制推导过程中同样出现的一个所谓黎卡蒂方程(Riccatiequation),感情这是殊途同归呀。
换句话说,线性二次型控制总是稳定的。
这是线性二次型控制的一个重要贡献:
把最优性和稳定性连到一起。
再扯一句李亚普诺夫,他的第二个定理非常威猛,但是有点像一个奇形怪状的大锤,到现在人们还在找合适的钉子,好用这把大锤砸几下。
线性二次型控制是已知的仅有的几个钉子之一,另一个是变结构控制,也可以用李亚普诺夫方法,这是题外话了。
都说瓦特的蒸汽机后,计算机是影响人类进程最大的发明,计算机当然也对自动控制带来深刻的影响。
如前所述,控制理论基本上都是围绕微分方程转的,所以在“本质”上是连续的。
但是数字计算机是离散的,也就是说,数字控制器的眼睛不是一直盯着被控对象看的,而是一眨一眨的。
数字控制器的“手脚”也不是一刻不停地连续动作的,而是一顿一顿的。
这是数字计算机的天性使然。
于是,传统的控制理论全部“翻译”到离散时间领域,微分方程变成了差分方程,所有方法、结论都有了连续、离散两套,不尽相同,但是大同小异。
要是数字控制就是简单的连续系统离散化,计算机控制也就没有什么了不起。
离散控制带来了一些连续控制所不可能具备的新特点,这就是:
差分方程用清晰界定的时刻之间的关系来描述动态过程。
回到洗热水澡的例子,如果热水龙头不在跟前,而是在村外一里地的小锅炉房里,你只能用电话遥控,那水温可以表示为
下一分钟水温=0.7*现在水温+0.2*上一分钟水温+0.1*再上一分钟水温+0.4*(5分钟前锅炉房龙头开度-6分钟前锅炉房龙头开度)
显然,下一分钟的水温受现在水温的影响比上一分钟和再上一分钟的水温的影响要大,但锅炉房龙头开度要是不变,现在、上一分钟、再上一分钟水温都一样的话,下一分钟的水温也应该和现在的水温一样。
为什么用5分钟前锅炉房的龙头开度呢?
那是因为热水从村外流到洗澡房要有一定的时间,这个时间就是滞后。
要是把时间向前推,那现在的龙头开度就会影响5分钟后的水温。
这说明了离散模型的一个重要特质:
预估能力。
所有预报模型都是建立在离散模型的这个预估能力上,不管是天气预报,还是经济预测,还是自动控制里对有滞后的过程的控制。
数字控制的另一特质是可以实施一些不可能在连续时间实现的控制规律。
工业上常有控制量的变化需要和当前的实际值有关的情况。
比如对于不同的产品,反应器的转化率总是大体在88-92%之间,没有太大的变化,但是催化剂可以在0.5到35ppm之间变化,采用常规的PID的话,增益就非常难设,对一个情况合适了,对另一个情况就不合适。
所以催化剂需要按百分比变化率调整,而不是简单地按偏差比例调整。
比如说,转化率偏离1%时,催化剂要是在0.5ppm,应该调整0.05ppm;但是在15ppm的时候,就应该是1.5ppm。
这样,控制律就可以表示为:
当前的控制量=上一步的控制量*(设定值/当前的测量值)
也就是说,在被控变量高于设定值10%的情况下,控制量也增加10%;测量值和设定值一样时,控制量不再变化。
实际使用时,谁除以谁要根据测量值上升你是要控制量上升还是下降来决定,控制律也要稍微修改一下,成为
当前的控制量=上一步的控制量*(当前的测量值/设定值)^k
k次方是用来调整控制律对“偏差”(这是已经不是差值,而是比值了,严格地说,应该叫“偏比”?
)的灵敏度,相当于比例增益。
这个控制律实际上相当于对数空间的纯积分控制,要是有兴趣,对很多常见的非线性过程有相当不错的效果,实现也简单。
然而,这是一个本质离散的控制律,在连续时间里无法实现。
离散控制可以“看一步、走一步”的特性,是连续控制很难模仿的,也是在实际中极其有用的。
形形色色的控制理论再牛,没有被控过程的数学模型,照样抓瞎。
前面的洗澡水温就是一个数学模型。
这个模型是杜撰的,当然可以很容易地给它所有模型参数。
但在实际中,模型参数不会从天上掉下来。
多少科学家毕生致力于建立某一特定的物理、生物、化学或别的学科的数学模型,基本机制已经清楚的模型都不容易建立,更不用说很多过程的基本机制或深层机制并不清楚。
所以靠机理推导被控过程的数学模型是可能的,但对日常的控制问题来说,并不实际。
这就是控制理论的另一个分支—辨识—一显身手的地方了。
如果给定一个模型,也就是一个数学公式,给它一组输入数据,模型就可以计算出对应的输出数据。
比如说,给定模型y=2*x+1,再给出x=1,2,3,4,那y就等于3,5,7,9,就这么很简单。
辨识的问题反过来,先给定一个模型结构,在这里就是y=a*x+b,已知输入-输出数据是x=1,2时y=3,5,要求计算出a和b。
显然,这是一个二元一次方程,谁都会解。
在实际中,输入-输出的观察数据含有测量噪声,这对参数估计的精度不利;但通常积累观察的数据量远远超过未知参数的个数,不说数学,感觉上这就应该对克服测量噪声有利,关键是怎么利用这“多余”的数据。
一个办法是把数据组两两配对,借众多的二元一次方程,然后对解出来的a和b作平均。
还有一个办法就是有名的最小二乘法了,说穿了,就是以a和b为最优化的“控制量”,使模型输出和实际观测值之间的累积平方误差为最小。
实际工业过程大多有多年的运行经验,大量的数据不成问题。
对于大多数常见过程,模型的基本结构和定性性质也可以猜一个八九不离十,有了如此有力的数学“大锤”,那么应该可以砸开一切建模的硬核桃啦。
且慢,世上没有真正的“神奇子弹”,一个问题解决了,另一个同等难度的问题又会出现。
对于辨识来说,问题有好几个。
第一个问题是工业数据的闭环性。
大多数重要参数都有闭环回路控制。
如果没有闭环回路控制,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动控制 故事