控制算法手記——認識被控系統
文:李磊2021年第二期
在設計控制算法時,工程師通常面臨著許多困惑,例如:
§ 名稱各異、種類繁多的控制算法,到底選用哪一種算法或哪一種算法適合我的應用場合?
§ 是否有必要一一掌握這些控制算法?以便能夠隨時運用,但控制理論看起來都是一大堆復雜的數學公式,看起來很枯燥,而且學不下去;
§ 即使我學了這些控制算法,在實際中怎么用或是否能夠真正用到?說不定還是PID好用。
針對以上問題,先說下作者個人的觀點:
· 沒有一種控制算法能夠適用于所有場合,各種控制算法提出之初都針對一類特定問題。因此,先認真分析自己的被控對象,看能夠歸類到哪一類或哪幾類特定問題下,然后再了解哪種控制算法是針對你所面臨的特定問題,自然就能很快地選擇合適的控制算法;
· 個人認為對于工程師而言,并沒有必要一一掌握這些控制算法背后的數學推導,通常也沒有這么多精力。工程師只需要理解各類控制算法提出目的、針對問題、做出的假設、基本思路和框架以及典型的應用場合即可,這也是控制算法手記系列所要達到的目的;
· 雖然PID在90%以上的應用場合能夠取得相對合理的性能,簡單、基本思路普適,但也過于粗糙。對于一些高性能應用場合,PID可能根本無法達到性能要求,超越PID是必須的,也是必要的。實際中,很多先進控制算法得到了成功運用,且性能指標遠超PID。因此了解其他類型的控制算法仍是必要的,可以幫助工程師認識到用什么樣的思路設計算法可以超越PID,真正實現高性能控制系統。
在選擇合適的控制算法時,在深入到控制算法設計的技術細節之前,第一步工作是認識、準確描述、分析所面對的被控系統,然后總結被控系統的主要/關鍵問題是什么,可以歸為哪一類問題,具體又如何在數學上進行描述。用英文表達就是,先有Problem description, Statement,然后再做Formulation。如果你的問題經過Formulation后,能夠轉化為某一類標準問題,剩下的問題就是利用數學工具解決你的問題了。
直觀、清楚地描述被控系統
應該認識到,控制算法設計所面臨的是整個被控系統。這個被控系統包含了具體工作過程、機械、電氣、信號(采集、傳輸、處理)、數值計算、軟件實現等一系列因素。因此,控制算法設計不僅僅是控制算法工程師的事情,而應該放在系統層面的角度去看待。很多時候,被控系統的硬件就決定了軟件層面上的控制算法所能達到的性能上限,比如一些大慣量/長時滯被控系統不可能實現快速動態響應,低性能的控制器硬件也不太可能實施運算量大的高性能控制算法。在這個認知基礎上,被控系統的分析應該涉及到以上各個層面。
是什么——被控系統對應的工作過程是什么?
被控系統是什么工作/工藝過程,是物理的(機械、電氣、液壓、磁、聲、光、溫度等),還是化學(反應)過程?這一過程是如何實施的?在整個工作過程/裝置中處于什么位置(是否和其他子系統交互接受來自其他系統的信號,是否受外部系統影響/干擾)?
要什么——你想讓被控系統干什么?
為保證這一工作過程的能夠自動化實現,被控系統需要干什么?是控制位置/力,是控制溫度/液位?控制指令是固定的還是變化的,具體控制指標是什么(跟蹤還是抗擾?要求穩態精度,是動態響應,還是抗干擾性、一致性、重復性)。
有什么——被控系統由哪些部件組成,如何聯結?
一般意義上說,完整的控制系統包含控制對象、執行器、感知系統以及控制器(硬件)四個部分,如圖1所示,其中實線為真實物理硬件,虛線為軟件層面的各種控制以及信號處理算法和邏輯流程。圖1中每一個部件、部件之間的聯結、以及與環境之間的互動在實際中都存在著多種可能性,必須認真進行描述和分析。
圖1 被控系統組成
被控對象
即具體的物理/化學過程,如機器臂控制系統中被控對象就是多連桿組成的機械運動系統,溫度控制系統中被控對象就是熱傳導/對流/輻射的過程。工程師應具備系統動力學分析和建模的相關知識,分析被控對象的特性:系統是低階/高階(一般系統中獨立儲能元件的個數即為系統階數),是快速變化還是緩慢變化,不同工況下主導(動態)特性是什么,是否還有未知部分或者難以用數學語言準確描述的動態;是單輸入單輸出還是多輸入多輸出系統, 還是無窮維系統(如一些物理場控制問題), 不同輸入輸出之間是否互相影響;輸入輸出之間關系表現為線性還是非線性(死區、滯環等因素),是否是最小相位系統等,關系參數是否隨時間變化(如有變化,快變還是慢變);是否有外部干擾因素影響被控對象,又如何影響,干擾是確定的還是有一定規律(如周期性),還是未知/復雜非線性。
執行器
即執行控制指令,施加作用于被控對象的機構。對于機器人控制系統來說,執行器一般為由電機/電磁/電液作動器以及傳動機構組成的關節執行器,對于溫度控制系統,執行器可能為加熱絲、冷卻器、熱交換器等。需要分析:執行器的輸出如何影響到輸出/被控制量(直接還是通過中間的傳動/傳遞機構?);執行器接受什么樣的輸入、輸出特性如何以及輸入輸出如何關聯(比如執行器頻率響應/帶寬,有無死區、飽和、滯環等非線性特性,是否有難以確定的干擾因素,如摩檫力等,具體參數是否變化等)。
感知系統
即能夠實時感知系統狀態/變化的部件,通常為各類傳感器以及相應信號采集、傳輸及處理系統。需要分析:被控系統中哪些信號能夠采集、與被控制量有什么關系(直接是被控制量,還是關聯變量),是不是所有狀態/變化量都能采集;采集信號的傳感器是什么,安裝在什么位置,采集的信號是什么類型,測量精度/分辨率和動態響應如何;信號如何采樣(是否多采樣)、采樣率如何、采集信號怎么傳輸(總線還是I/O),采集噪聲水平如何(是否受工頻或隨機干擾)等。
控制器
即實時運行控制算法并計算控制指令的部件,主要為各類控制芯片(如單片機、PLC、DSP、FPGA等)。需要分析:控制器具體硬件配置以及相應的運算和存儲能力,比如是否支持浮點運算、運算速度及時間;控制器需要接受何種外部信號,如何調節相關工作過程;控制算法實施具體形式,采用何種語言實現,實時性如何;如何與執行器和感知系統連接,這些連接是否引入噪聲和延遲等因素。
工程師應該從以上維度直觀(不帶任何預設立場和假設),清晰地描述被控系統(建議形成一個checklist的文檔),這是設計出適合的控制算法第一步,也是十分關鍵的一步。
分析被控系統特點,選擇匹配的控制算法
在直觀、清晰描述被控系統的基礎上,深入分析被控系統的特點,總結被控系統的主要問題(即抓事物的主要矛盾、矛盾的主要方面)。然后用數學語言描述,這個主要問題在數學上可以歸結成哪類問題。進一步根據所面臨的主要問題,選用/設計出合適的控制算法。總的原則是被控系統的特點和控制算法基本思路、結構相匹配。
遺憾的是,由于控制算法涉及的領域眾多,被控系統的具體情況和主要問題也多種多樣,性能要求和現實條件也千差萬別,很難嚴格聲明某一類問題就使用某一種控制算法。一種粗略的方法是從被控系統是否容易獲得精確模型這一角度,將控制算法分為基于模型和數據驅動兩種方法體系(Methodology)??刂扑惴ㄊ钟浵盗凶隽藥追N典型方法的介紹,后續作者會繼續更新,這里目前暫不展開論述。
總結
控制算法設計第一步應該是認識并深入分析被控系統,然后根據所面臨的問題選擇/設計合適的控制算法。也就是一切從實際問題出發,而不是反過來從控制理論中各種復雜的概念/算法出發,去假設/簡化實際問題,從而導致設計出來的控制算法無法落地的尷尬現狀。實際中,由于控制算法面臨的是一個系統層面上的問題,面臨的情況多種多樣,工程師也不應該受限于各種概念,問題表現成什么形式/結構,算法就設計成什么形式/結構,盡管理論上可能并沒有類似的概念/用法。另一方面,也不應該忽略理論研究所具備的價值和嚴謹性,輕視數學工具的運用和理論分析,回到控制理論無用論和萬事PID上來。受導師影響,作者認為好的控制實踐應該是強大物理概念和數學工具的完美結合,即在對實際物理世界中的問題深刻理解的基礎上,找到合適的數學工具去描述和解決。具體到控制算法的設計,系統動力學分析和建模作為聯結物理世界和數學世界的工具顯得尤為重要。
很多人在初學控制理論時,覺得難學,就是記公式,也不知道學了怎么用,個人認為一個很重要的原因就在于課程體系設置得不合理,缺少了系統動力學的先導課程。 實際上,讓人覺得難的原因在于課程設置和教程編寫的不合理。比如上來就介紹拉普拉斯變化、倒弄方框圖、介紹傳遞函數,初學者很容易就迷惑了,把本來屬于技術類的一門課上成了側重記公式的理論課。就個人在國外交流時,了解到的課程設置是先上系統動力學(System Dynamics),明白如何描述各類動態系統(如電、熱、磁、機械以及流體),如何建立這些系統的模型,又如何用拉普拉斯變換求解模型中涉及到的微分方程。在闡述清楚這些概念后,引入傳遞函數、典型的傳遞函數及時域響應、反饋閉環系統以及穩定性概念,最后簡單設計一些經典控制理論的東西。有了這些知識的鋪墊后,再學習控制理論,一切都順理成章。
李磊,浙江大學機電博士,佐治亞理工學院訪問學者(2016-2017),目前從事自動化控制算法研發工作。博士期間在IEEETMech、TIE等期刊發表多篇文章,目前擔任TMech,IJIRA(InternationalJournalofIntelligentRoboticsandApplications)等機電國際期刊審稿人。
中傳動網版權與免責聲明:
凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊
- 運動控制
- 伺服系統
- 機器視覺
- 機械傳動
- 編碼器
- 直驅系統
- 工業電源
- 電力電子
- 工業互聯
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯接
- 工業機器人
- 低壓電器
- 機柜