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