当前位置: 华文问答 > 科学

控制理论到底有什么用?

2014-01-23科学

马克吐温说:"Everybody talks about the weather but nobody does anything about it."

什么意思呢?每个人都在讨论天气(分析今天和过去,乃至预测未来),但没有人去做点什么:没有人去控制它!

这句话其实也不完全是玩笑话,weather control确实也是有人在研究。是题外话了。回到原问题。

抽象的说,控制理论,对于一个对象,基于数据,辨识或物理建出模型,不仅要分析或预测,还要试图控制或优化对象未来的行为。

借助Cyber、算法、软件(现在电路或机械的控制器很少了),一般通过闭环、反馈,往小了说,可以改变Physical、物理机构、硬件的特性,乃至使得不稳定的变稳定,响应慢的变快或相反。往大了说,要使得对象有既定的稳态或动态行为。

有很多控制领域,如鲁棒控制、最优控制、预测控制等,而这些领域又有很多不同的方法。一般来说,这些方法中最基础的那个,一般来说是可以实用的,而较复杂的,一般不能用。经验是,找最基础的,最好的是物理意义明确的,作为框架,在实际中再增添修补。

为什么呢?因为人们总是低估不确定性和干扰。很多时候,设计的控制器很fragile的,即使是有些所谓的Robust控制(这里最近有个很有趣的定义,叫anti-fragile,不过跟该主题无关了)。而一般越简单、越保守的控制器,越robust,越能应付大量不确定性。比如基础PID,H无穷(实际上非常保守)等等。对了,还想起一个来,对付延时的,时延无关稳定,在钱学森的【工程控制论】里有介绍(这本书里都是控制的实际应用啊)。如果按照时延无关稳定来设计控制器,那在实际中是很保守的,远不是最优的,但这样的话,就可以应付很大的时延不确定性啊。现实中往往是这些最‘宰相肚里能撑船’的控制器,越应用的多。反而是对某种情况最优,但换另一种情况就可能会跑飞的,没有多大应用。这也就解释了现实中往往不是那些在某一方面特别厉害的人当老大,而是各方面都不让人,但凑合起来马马虎虎的,最后当老大,哈哈哈。

这里岔开一句,PID的调参可以用很多方法,试凑、经验方法很多,基于模型的也有很多。基于模型的,如果建模、或者系统辨识的不好,调参再好,效果也不会好的。而且有一个问题,那就是没有免费午餐,很多时候根本就没法说控制效果哪个更好。比如带宽大了,往往干扰或振荡抑制就差了;干扰振荡抑制得好,系统响应又慢了;什么都好,控制器能耗又大了。。。而且但论干扰抑制,中频好了,高频又上去了。。。如此等等。

个人认为,控制理论未形成行业,并不是因为它没有用(经常有其他行业的来问我他们实际遇到的控制问题),而在于控制太专注于解决问题,而且解决的都是已经存在的产品、机器中的问题,但自己没有新产品出来。什么意思呢,人家都造出来了,用着PID也行,这时候做控制的过来说,我有一套方案,不用改硬件、不用改软件,只改算法,就能让效果好很多。这让你想到了什么?咨询公司!对吧。但控制领域有没有像样的提供控制方案的‘咨询公司’。所以,行业出路一,提供控制解决方案。

现在很多场合都在用PID,并不代表PID是最优的,而是往往不知道有更好的可用。比如一些搞建筑的,跟我提过他们在某些环节也用PID,觉得很神奇,比开环效果好很多了,都没想过要换更好的。其实这也是做控制的自己做的不够好了,如果行业里有个知名的控制解决方案解决公司,首先让各行各业认识到控制可以让他们把很多事情做得更好,或者有比PID更好的控制算法的话,也就不会出现现在的情形。即使一个常见控制系统,电机电流环、转速环,再上面位置环,一般环环套饱和PID就可以控制起来。但还有没有更好的框架呢?特别是有明显耦合的时候,或者有硬约束的时候,或者工况乃至负载会变化的时候,或者非线性比较明显的时候,或者对精度要求比较高的时候。。。而且一层层的串级PID有时候不适用,因为有的高阶系统是分不出来层的。。。

那控制的能不能做产品呢?能,机器人啊。比如Solowheel,Segway,LIT Motors等系列产品,虽然现在仍未流行,但未来很可能在这些平台的基础上,延伸出很多新产品来。比如Solowheel或Segway加装座椅跟外壳,或者改装成自动行李箱。而且LIT Motors本身已经做得很好了。这些产品,可能大多数都会失败,不能流行,但有一个流行开来,作为代步工具,那可就是理论上人人需要的消费级产品啊。再比如Parrot与Phantom,这几年发展飞速。

这里就有问题了,这就不是纯「控制算法」了啊。是的,做产品,控制算法只是其中一个环节而已。别的不说,Google虽号称以PageRank起家,但现在在Google Search,PageRank或其他纯search engine算法,又占多大比重呢?更何况机器人公司软、硬并重。

在我看来,把目标更注重于对别的行业的咨询,与做出消费级的产品,是控制这个领域继续发展的唯一希望。这并不是说没人做纯控制了,而且一旦产业发展起来,做纯控制也会跟着回春的,比如也像微软一样建立亚洲研究院。否则,说不定哪天,这个专业真不存在了。

这可不是危言耸听,因为现在就有机械自动化,电气自动化,化工自动化,因为自动驾驶,估计也会有汽车自动化,而且现在机器人算是早就脱出自动化(所谓的纯控制)了,都得算是比自动化更大的了。那这样的话,自动化还有单独存在的必要么?

我知道的,比如世界顶尖的硬盘制造商,有人专门做LQR控制,不仅控制动态性能,也控制稳态精度。在粒子加速器,有前馈控制。在阿尔法质谱仪,有模糊控制。在壳牌、美孚等企业,有预测控制。在无人驾驶地铁,有自适应控制。在航空航天,有鲁棒控制。而且未来的无人机,无人驾驶什么的,对容错控制有很大需求。四旋翼以后如果换随便挂载的话,也要做到自适应。当然,所有的这些,都少不了PID加卡尔曼滤波。

何毓琦曾有撰文讨论,到底是不是control is dead?大意说说解题式的,解决不存在问题的控制,基本没什么生机了。但控制的应用,包括很多实际中的控制问题,实际还有很多可以做的。香农的学生、MIT教授Robert G. Gallager,曾讲过,大意是在历史上也有几次说communication is dead,因为为了博士毕业,所以不得不写一些水文,然后这些博士成了教授,下面的学生还是如此。但往往这个时候,就有做communication的人说,够了,我们去做点实际的。最近一次,就因此产生了Motorola、Qualcomm这样的公司。从这个角度来说,有人说control is dead是好事。个人一直坚信,如果控制的产业发展起来,将会对控制理论带来根本的冲击。

控制不是数学,也不是工程。更多的是桥梁。结果做数学的,说做的是工程;而做工程的,说做的是理论。这其实是外行,导致做控制的,到后来,不是转数学,就是转工程。

控制是在数学的基础上(或者说以之为工具),发明在工程中能用的方法,用计算机算法实现。注意,是发明。这个发明,要依靠物理直觉,不只是数学上的美。也就是说,要enable。是研究人造系统的物理学。

这种发明,很多时候,可以来自于数学的概念,有那就让它可实现,更接地气;也有很多时候来自于工程,那就让它成为一个完备的框架。

比如李卡提方程,是数学。

各种,如精子的跟踪。乃至温度,以热量流通的模型为预测,以测温为观测。姿态解算,这个在飞行器里面用到的比较多。最简单的例子是惯性导航,里面只有陀螺仪和加速度计,状态量可以选取欧拉角或者四元数,以陀螺做预测,以加表做观测。是工程。

卡尔曼滤波就出现了。数学人说不是数学,工程人说是数学。但我说,是研究人造系统的物理学。

说些题外话。自己考虑一个自动控制系统,是先从传感器入手(标定等),执行机构(校准等),然后考虑系统模型(建模和系统辨识,并确定模型的不确定性范围),之后干扰或噪声(分为确定部分跟随机部分,确定部分先通过前馈什么的补偿掉,剩下的是随机部分),之后再考虑闭环,考虑控制器设计。稳定性,动态性能,稳态性能。尤其要说一下的是,稳态性能中的精确性,即variance大小也很重要,往往被忽略。

有两点体会较深,一是大家都在讨论 优化方法,各种各样,比如什么机器学习、神经网络、遗传算法、粒子群算法等等。其实有时候改变一下优化目标,反而有奇效。因为优化目标的确定,很多时候,是一门艺术,而不是科学:很难说为什么这么做。

二是现在都在大家都在结构确定的前提下优化参数,其实有时候可以考虑改变下拓扑结构。

现在感觉性能极限也有用 ,像优化某个目标,比如信道容量,有个性能极限,比如100。那你就知道想达到102是不可能的,除非改变系统(结构,参数等等)。

而且你已经达到99了,这时候想要达到100,虽然有1的目标优化获益,但需要付出很大的其它代价。这时候要考虑是不是接受99。

控制中没有免费的午餐,任何方法,都能设计一个东西,加上环境,让它不稳定。就跟优化一样,任何两个控制方法的比较,都可以设计两个不同的问题,让各有优势。关键就是,一个控制方法,适用于多大的范围,就要看什么假设了。有的是专精一个小的范围,这些方法,往往只在仿真中有用;有的则是不太专精,但胸怀大,这些往往在实际中有用,而被做理论的说,不是最好的。这都是外行的说法,连控制的评价标准都没理解。

---

另一个答案:

现代的先进控制理论先进在哪里?如何评价在PID控制器份额在95%条件下稳定性逊色的先进控制系统? - 小心假设的回答

---

模糊控制创始人Lotfi Zadeh在The Evolution of System Analysis and Control: A Personal Perspective

IEEE Xplore Abstract

一文中的对于Bellman动态规划的回忆:

In the early '60s my doubts were not shared by many. The ascendancy of mathematical methods was unchallenged, and Lyapounov's stability theory and differential-equations-based theory of nonlinear systems moved to the center of the stage, as did the problems relating to optimal control and systems optimization. The highly original work of Rudy Kalman on controllability, observability, and filtering was at the center of attention. Another contribution of major importance, whose impact transcended disciplinary lines, was Bellman's development of dynamic programming. I became acquainted with Bellman's work in 1954 and perceived dynamic programming as a powerful tool of wide applicability. I suggested to Bellman to submit to the IRE Proceedings a paper describing his work. He did so, but to my embarrassment his paper was rejected by the referees, who felt that Bellman did not provide convincing examples of practical applicability. It is ironic that about 30 years later, Bellman was awarded IEEE's Medal of Honor for his development of dynamic programming.