自動控制(包括但不限於機器人控制)如何才能避免「只是調參數」?

注意啊,問的一直是「避免「只是調參數」」,而不是「避免「調參數」」。


說起來很虛:理解與思考。

我覺得題主是針對所謂的無腦調參工程師來的:怎樣才能避免這麼玄學的事情發生。

我覺得是要深入理解具體的控制場景,去對症下藥,不能一概而論。我讀博時候做螺線管和平行板執行器控制,難點是它們的非線性吸和特性,感測器,單片機等環節都不是主要限制因素。所以難點在於設計演算法。

做博後期間控制陀螺儀數字控制系統,控制演算法在模電上明明表現不錯,到了數字系統死活就是不行。我們摸索了一年才準確的理解了問題所在:在採樣環節有個肉眼察覺不出的相位漂移。我加了個pi控制器去動態補償這個漂移,性能有了二十倍的提升。如果不理解問題所在,別說無腦pid調參了,不論什麼高級控制演算法往上套都恐怕難以奏效。

所以說只有參與和理解具體問題,才能對症下藥。不僅是無腦調參pid不可取,所謂的高級演算法去生搬硬套各種應用也是一樣的不可取。

再說下前幾天在control systems magazine上的一個問卷調查,上面說到控制演算法對industry的影響,pid以100%的得票率高居第一,mpc是唯一可以夠得著pid的邊的演算法,後面則是系統辨識與建模,可見理解被控對象/應用場景的重要性。文章最後更是總結到:A clear message is that domain understanding/modeling is crucially important but not adequately pursued and taught. Neither expertise nor experience in advanced control per se is sufficient to realize industry impact. 簡而言之:僅僅懂控制演算法也是不能賺錢的。

名人名言時刻:

學而不思則罔,思而不學則怠—孔子

鍊金術有三個等級:理解,分解,再構築—愛德華 埃爾林克

沒有什麼是調一次參數解決不了的問題,如果有,那就調兩次參數—調參超人雙木禪師

在中國gcd內,曾經有一部分教條主義的同志長期拒絕中國geming的經驗,否認「max主義不是教條而是行動的指南」這個真理,而只活剝max主義書籍中的隻言片語,去嚇唬人們。還有另一部分經驗主義的同志長期拘守於自身的片斷經驗,不了解理論對於geming實踐的重要性,看不見geming的全局,雖然也是辛苦地——但卻是盲目地在工作。—mzx


這叫什麼問題。。題主還是把你的目的說清楚吧,毫無目的地避免調參,讓人聽起來很不知所措。

無數科研工作者日夜奮鬥,為的就是給普羅大眾提供一個「只需要調參」的演算法,題主如果不是科研人員,這麼鄙視調參數是個什麼意思?

好,退一步,我假設題主是phd或者青椒,在用各種調參的手段拼湊論文,因而對調參產生反感。這個階段確實很容易對自己產生質疑,但是調參本身並沒有罪。Deep learning不也被戲謔為鍊金術了么?但架不住它管用啊。題主一味地避免調參的做法是絕對不可取的。

你不想focus在調參上,說明你可能有更大的目標,但是目前能力又不足以去攻克理論上的難關或者提出新演算法,所以只能對現有演算法排列組合,達到了一個瓶頸。

給你兩個思路吧

  1. 繼續做控制,多學數學概念,做更加高深的排列組合,能發不少頂級期刊。這條路雖然可能會讓你更加務虛,但是由於控制界這幾十年積攢的期刊太多了,只要能寫,一般都是能中的。這種人我真的很佩服,數學能力都是佼佼者。
  2. 轉優化/強化學習,拋開控制,去攻克具體現實中的問題。這是大部分想跳出傳統控制人的思路。共同點是大家都覺得現在的control本身沒什麼做的了,我們應該把注意力集中在control之前的決策階段,這樣可選的topic就多了很多。

PS. 你最需要做的是把演算法寫出來用到實踐中去,看看理論和實際的差距,仔細分析原因。如果遇到的問題調參就能解決,你為何要「避免調參」?如果調參解決不了,你把它解決了也是一篇頂好的paper


首先為什麼現在很多伺服控制系統(包括機器人),為什麼可以「只是調參數」就可以獲得多數情況下令人滿意的效果呢?

因為它們以位置控制為主!機器人嚴格按照預設軌跡進行運動,對外界呈現出高阻抗特性,抑制外界一切干擾的影響,我行我素地運動。PID的抗干擾能力強,剛好能很好地適用於這種情況。

這種情況的反面就是那些以柔順控制為主的系統。這類系統需要順應外界(用戶)的意圖而運動;它對於外界的干擾需要做出區分,從中分理出用戶施加的力,這就需要對系統進行建模分析,並設計控制律,單獨的PID難以完成任務。目前的一些力控技術就不屬於「只是調參」就能做好的。


數學模型通常是理想的,彷彿註定了必須要調參數


控制系統數學模型里都有參數,如果不調參就只能用理論推算或者用系統辨識的方法把參數辨識出來。


根據系統最終需要達到的性能指標來定義目標函數,加入約束條件,將控制問題轉化為一個優化問題。

我個人的理解,任何一個控制問題都可以做這樣的轉化,因為輸入一定是受約束的(不可能有無窮大的輸入)這樣一來,即使系統本身可控並且可觀,系統在廣義上一定是underactuated(動態響應存在一個極限)。那麼對於一個固定的性能指標,一定存在一個理論上的最優解。


其實何止是控制,包括正在迅速發展的AI也完全有同樣的問題。

答案是一定要懂演算法原理。真懂才知道選的模型對不對,用的演算法合不合適,理論上應該達到什麼效果,調參數能都大體達到什麼樣的極限或者不管怎麼調參數根本達不到什麼樣的效果。基於原理的分析,是一切的基礎。這樣一組調試曲線出來了,才能分析出來問題的根源在哪裡,到底需要調參數,還是應該調整演算法,還是根本就需要改進工藝才可能達到預期。


1,能根據限制條件(包括量產品的局限性)證明性能極限,並給出極限的量化指標,簡單的比如線性控制里的靈敏度積分( 我也就只懂這個了)

2,能 量化優化目標,並能求解出在這個優化目標下的參數。注意是求解,不是調出來。這是在努力的方向。

3,提升性能極限,且可量化的指出某措施會把極限往上挪多少。這個就是很大的工作了,能走多遠就看平時積累的知識面有多廣多深招人的能力有多強了。

說實話,工作越久,越覺得「控制」只是整個機器性能中很小的一個環節而已,把一個機器調到90%性能極限和調到95%性能極限並沒有什麼卵的區別,想辦法機器的性能極限翻倍才是要緊的事情。


這個和我現在的研究方向比較貼近。

我現在的題目是mixed ICC/Hinf LPV control.

ICC 是 input constrainted control, generally is to optimize H2 performance with constrained control input (energy).

Hinf 就是傳統上說的魯棒,is to handle model uncertainty and guarantee robust stability.

LPV 是linear parameter-varying system. (LTI systems have mainly been solved by Robert Skelton, 師爺 )

所以我的題目就是optimize H2 performance (output covariance) of LPV system, with guaranteed robust stability and constrained control input. 主要解決辦法就是LMI/Parametric-LMI.

目前我們的模擬發現了和工業實踐符合很好的trade-off phenomenon。 論文還沒有正式出來,所以把我老闆和師爺以前做的 LTI system的部分給幾個鏈接出來。

a unified algebraic approach to control design https://books.google.com/books/about/A_Unified_Algebraic_Approach_To_Control.html?id=sfe6Q4qkqJgC

Covariance control design for the Hubble Space Telescope

Covariance control design for Hubble Space Telescopearc.aiaa.org圖標

MIMO L_2 / L_a?? constraint in large flexible structure control --- an experiment on the JPL LSCL facility


1.能自己建立被控對象的數學模型,或者根據測試實驗建立更加優化的模型。

2.根據被控對象的模型選擇合適的控制方法。對控制方法優化、打補丁,以適用一些特殊需求。

3.選型全套系統所需的硬體,根據控制目標分配部件的性能指標。

4.把控制方法轉化為具體代碼,在硬體上實現。


題主的這個問題在時下雖然看起來可能不太溫和,但是卻很有啟示性。

問題如果能更加有針對性一些可能會更好,比如如何能避免只是「盲目」或者「漫無目的地」調參數?這種極端情況我想是很糟糕的,說明涉及的人員無任何系統的設計理念和認識。

我們從一個假設的例子再次認識一下系統理念在控制器參數調整中的作用。設想如果現代科學體系沒有系統控制相關的概念和工具,而我們現在要面對這樣一個問題:試設計一個PD控制器,通過適當調整P參數和D參數使得一個二階線性時不變系統滿足指定的時域指標(比如瞬態精度,比如多長時間後穩態誤差多少,比如抗干擾性能)。因為沒有工具可用,那隻能在一個二維參數平面空間漫無目的地試湊,代價很大,沒什麼效率,也無任何科學性。設想的這種情況當然不是現實,因為在現實中我們有Fourier、Laplace、Bode、Nyquist等發展的頻域分析工具;現實中,對於這個問題,系統了解的人處理起來就跟用「傻瓜」相機拍照片一樣嫻熟和自信。

一個更加直接的設想:我們在時間軸上穿越到Laplace以前,那麼面對同樣的問題「盲目」調參就成為不可避免的現實。這個問題究竟該怎麼辦呢?歷史已經給出了很明確的答案。

有回答者提到了deep learning,並強調deep learning管用,這可能也是目前對深度學習如此狂熱的原因。「管用」乍聽起來是個有力的論據,但事實上界定異常含糊。比如我們就要問了:「管用」是怎麼定義的?在什麼意義下的管用,精度是多少,代價是多少等等!我們還要問需要deep learning的領域範圍,現在是否是和值得大範圍發展deep learning的合適時機?deep learning對現代科學與現代文明到底有多「管用」,貢獻會有多大?科學技術歷史是否有過類似的現象?是成功的經驗還是失敗的教訓?許多從事控制的轉向以深度學習為代表的人工智慧,原因是多方面的,可能有的人不適合系統與控制的專業方向,也可能深度學習更能發揮其長處,但最不欣賞深度學習更管用的理由。科學技術發展有其自身「藝術又神秘」的規律,每一步可能看起來並不一定有那麼狂熱,但是一定非常堅實。自動控制多融入一點理想浪漫主義元素,少強調一下「管用」(少一點功利主義),可能更有益處。


研究 材料 、工藝,製造執行器 、感測器、控制器


推薦閱讀:

如何理解EKF中的consistency?
在SFM中,增量式重建和全局式重建有哪些比較經典的論文?
從視覺SLAM建立的稠密圖到能夠讓移動機器人可以通過運動規劃而進行自主導航的2維地圖之間還需要做什麼?
三維模型重建可以怎樣用於機器人導航。?
大家怎麼看META新發布的META2 AR眼鏡?

TAG:自動控制 | 自動駕駛 | 機器人控制 | 卡爾曼濾波KalmanFilter | 同時定位和地圖構建SLAM |