當前位置: 華文問答 > 科學

控制理論到底有什麽用?

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控制,不僅控制動態效能,也控制穩態精度。在粒子加速器,有前饋控制。在Alpha質譜儀,有模糊控制。在殼牌、美孚等企業,有預測控制。在無人駕駛地鐵,有自適應控制。在航空航天,有魯棒控制。而且未來的無人機,無人駕駛什麽的,對容錯控制有很大需求。四旋翼以後如果換隨便掛載的話,也要做到自適應。當然,所有的這些,都少不了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.