現實中,當然不只是PID。比如過程控制,十幾個以上、乃至幾十幾百個輸入輸出,耦合不可忽略,約束條件比較強,同時又要最佳化一定的效能指標,單用PID幾乎是不可能的,即使用解耦。此時用預測控制比較多。當然,底層還是多為PID。
自適應與魯棒是兩個很大的概念。
自適應控制,工程需要很大,比如很多控制系統不能隨便換掛載的,就是因為換了掛載之後,需要重新調參。而想做出一勞永逸的自適應控制,則非常難調。其實自適應控制沒有clear cut的邊界,什麽意思呢,自適應的控制都等算上自適應控制。而這自適應的可以是時間上的時變造成的,也可以是空間上的非線性造成的,也可以是人為地換掛載等造成的,也可以是故障(這時就多稱為容錯控制了)造成的。所以,隨著情況變而控制率也變的控制,都可稱為自適應控制。最簡單的,分為不同的工況,設計不同控制率,然後檢測出工況變,而控制率變。
魯棒控制的本質,是按照魯棒效能指標來調參(可以是狀態反饋,也可以是PID等等)。而魯棒性分析,工程中到處都是,比魯棒控制本身套用要廣。比如有時候調完PID,還得分析、測試下它的魯棒性。而魯棒控制中的LQR、H無窮等,在比如自動跟蹤陽光的太陽能板、射電望遠鏡、旋翼飛行器等等中有不少套用。其本質是個頻域方法(靈感來源),轉化為時域求解,然後寫成演算法,但一般實行之前要看頻域特性,才敢放行。其實話說回來,魯棒控制也是沒有clear cut的邊界的,從一般意義上說,魯棒的控制都可成為魯棒控制,比如容錯控制也可以作為魯棒的。所以,控制率不變,但至少原則上可以容忍不同情況的控制,都可稱為魯棒控制。其實可以想見,實習生了每種情況的效能的。
其實PID也可以做成自適應的,當然也可以按照魯棒效能指標來調參。其實作實中的PID,很少只是用PID的基本形式的,而是都往往帶有很多小trick。預測控制也可以啊。容錯控制可以是自適應,也可以是魯棒,也可以兩者兼而有之。
其實說到例項,一找一大堆。比如上面提到的某射電望遠鏡,還有某世界巨頭硬碟生產商,還有某世界著名公司的無人駕駛地鐵,比如很多世界著名石油化工類公司,比如風電、太陽能並網的直流轉交流等。都不是論文中的,但也因此不能詳細說。
有句話說,實際中在用的控制器大部份是PID。其實確切的說,是大部份包含PID,但也大部份不只包含PID。運動控制,底層一般是電機,可串級,串級後每級階數不高,都用PID往往就夠了;過控,底層也常用PID就夠了。有時候中、上層也是PID。但另外一方面,PID的局限很多,特別是在中、上層的時候,比如遙操作(時延無關控制),比如負載慢變的系統(自適應),比如相似環境重復動作的系統(叠代學習),比如輸入輸出較多且耦合強硬約束的系統(預測控制)。
現在發展CPS,IoT,但控制演算法/參數大多還是要結合硬件來調(現在主要還是人靠經驗離線調),是其中一個不小的問題,因為這意味著可延伸性大大受限制,很難往模組化、客製方向發展。
這裏岔開一句,PID用魯棒的效能指標來調參,有人說這還是PID,有人說這就是魯棒控制了。很多時候,爭論源於此。其實究其本源,是沒有什麽可爭的。當然,PID也可用其他方法來調參,比如模糊PID,自適應PID。有人說這還是PID,有人說這就是非線性了,自適應了。這只是名詞的爭論。
其實要說嚴謹,最常用的,PID加上飽和,就是非線性的了。有人說這還是PID,有人說這就是非線性控制了。這些名詞之爭,確實沒必要。因為控制系統是由很多模組組成的。任何單一的模組指代整體,都會以偏概全。
還有個問題,通訊中解決的比較好,就是極限問題。通訊中有消息理論給出極限,然後各種編碼方式趨近極限就行了,有個比較量化的比較。相對而言,控制這方面還有很多欠缺,在給定傳感器與模型誤差時,不知道極限(比如精密控制中的variance)是什麽,也就不知道還能不能改進。
相信有工程經驗的都有類似的疑惑,一個系統用一個方法,控制得不錯。但不能說明別的方法不能控制得更好啊。回到最基本的問題,如何決定選擇哪個控制方法呢?PID上面增增添添,用trick,對系統理解更深(比如一些環節,如發達啟動過程的建模、辨識,也就是旋翼或是閥門等的啟動過程),乃至分工況(專家、模糊、自適應等都能往上用),能改進不少效能;魯棒、自適應調得好,也都不錯。不知道一個框架的極限在什麽地方,也就不知道在現有框架下控制器還能不能改進,還能改進多少,也就不知道什麽時候該換另一個框架。即使一個框架在現有問題上效果不好,也不知道是在這個框架本身不好,還是自己沒調好。甚至連調到什麽程度了都不知道,往往是也許大概差不多了。如此等等,只能靠經驗。但經驗有時也是靠不住的,因為經驗只是對已有的東西的熟悉,往往會阻礙新東西的引進。也許控制還處於地心說時代,之後還有日心說,牛頓三大定律,相對論,量子力學等等呢。其實辨識、濾波(估計)也差不多。比如濾波,對某些環節理解更深,比如去除訊號中的確定分量,只留隨機分量,是個很難的trick。而這個trick可能比調濾波器參數更重要。這更讓人想到了地心說,為了擬合而用trick。一般來說,從物理學的歷史來看,trick代表著背後應該有更‘宏大’的理論。
大家看過最強大腦吧,其中有一期,是兩個盲人比定位,一個是吹氣(要求距離近,精密),一個是透過發出聲音聽反射(距離遠,但不夠精細)。而非盲人則用視力便可以了(距離遠,而且精細)。這說明了什麽?就是不同的傳感器特征,決定了用什麽定位(濾波)方法最優,也決定了效能。控制也一樣啊。假設這三個人去騎單車,他們的最優策略也是不一樣的。現在的控制技術,很多時候往往瓶頸在於傳感技術和建模技術。就傳感技術而言,曲線一般都很差(漂移、雜訊、幹擾等),還不能有效的利用視覺等。而且建模技術也是如此,包括系統建模和外界幹擾建模。系統本身、外界幹擾模型都不精確,傳感器傳回來的數據也不完全可信,那能怪控制麽?有可能,未來的這些技術發展,最適用的控制演算法也就跟著變了。也許PID還是接著用,但同時以前不能用的很多也可以用了,而且說不定會有很多嶄新的框架,乃至新的控制結構。誰知道呢。
跟互聯網相比,工業的器材、演算法的更新換代算是很慢的,而且很不「平」:很可能人家殼牌用某種先進控制很多年了,中國的一些過控的公司還在用default的演算法。但另一方面,因為為了省能源(比如把某個控制指標的variance降低10%就能省很多)的驅動,也為了現在很多更加精密(這方面降低variance的價值就更直觀了,比如精密機床加工、乃至芯片生產、納米級操作positioning等)的需要,等等,現在世界範圍內,很多公司都在慢慢試行先進控制演算法。當然中國也在慢慢追趕。很多時候PID夠用,不代表沒有更好的演算法;而且PID是線性時不變的,且只有三個自由度,在很多系統中的極限還是比較明顯的:比如再怎麽調,也調不出叠代學習控制的效果,當然後者的使用那個範圍非常有限。可是在這非常有限的範圍內,叠代學習控制效果就是比單純的PID好。當然叠代學習控制底層也可有PID這一環節。
現代的先進控制理論先進在哪裏?如何評價在PID控制器份額在95%條件下穩定性遜色的先進控制系統? - 小心假設的回答---
以下是任性的回答。
如果仔細觀察的話,其實每個人的走路姿勢(演算法?)都不一樣的。刑偵學中,就有如何根據人的腳印來判斷這個人的體態特征、乃至職業等等的方法。
其實我們自己就有這樣的經驗,比如在泥地裏、在潮濕的地面、在冰上,在負重時,在受傷時,在水下,在大風中,乃至在月球上,在加速的列車上,走路姿勢都不一樣。
或者想象,你如果是大象,身體變得沈重,或者你是鴕鳥,或者你是某個機器人,乃至你視力很差,或者是盲人,那步態又不一樣。
再扯遠一點,不僅步態,就連定位方法,在森林裏(方向很重要),在地鐵裏(方向不那麽重要),在城市裏,在鄉下,其實都是不同場景下不同的。
這是自適應,還是魯棒呢?人可以做到,為什麽控制理論做不到?難道控制理論的發展到今天就是盡頭了?畢竟才有一百年左右的歷史,今後的一百年呢?會不會一百年之後會看,現在的自適應只不過是所有自適應中的一小類,魯棒、非線性等也是如此?
還有一個問題,那就是存不存在終極理論?如果存在的話,會是什麽?人類內嵌的控制演算法是什麽?難道是數學?難道是我們現在看到的PID(也許)、魯棒控制、自適應控制等?再比如在人臉辨識方面,難道是SVM?難道是L1 norm、神經網絡(也許)?也許是不同方法的切換?