A-A+

控制理论到底有什么用?

2015年02月21日 QuadRotor, robotics 暂无评论 阅读 1,439 次
作者:小心假设,当机器人遇到人工智能
本文已征得作者同意,发布在本博。
转载请注明原作者。
马克吐温说:"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%条件下稳定性逊色的先进控制系统? - 小心假设的回答

标签:

给我留言

Copyright © ExBot易科机器人实验室 保留所有权利.   Theme   Robin modified by poyoten

用户登录

分享到: