一、PID的歷史
1932年出生在瑞典后來移民美國的H?Nyquist發(fā)表了論文,采用圖形的方法來判斷系統(tǒng)的穩(wěn)定性。在其基礎(chǔ)上H?W?Bode等人建立了一套在頻域范圍設(shè)計(jì)反饋放大器的方法。這套方法,后來也用于自動控制系統(tǒng)的分析與設(shè)計(jì)。
與此同時(shí),反饋控制原理開始應(yīng)用于工業(yè)過程中。1936年英國的考倫德(A?Callender)和斯蒂文森(A?Stevenson)等人給出了PID控制器的方法,自此PID算法正式形成了。PID控制是在自動控制技術(shù)中占有非常重要地位的控制方法。幾十年前的PID控制器還是機(jī)械式的,如圖1的氣壓控制器。
圖1 機(jī)械式PID氣壓控制器
時(shí)至今天,凡是有“自動控制”能力的產(chǎn)品,幾乎無一不采用到PID算法,大至武器、飛機(jī)、輪船,小至家電、IOT設(shè)備、玩具等等。例如我們?nèi)粘J褂玫目照{(diào),它是使用著PID算法將溫度控制在我們期望值上;手機(jī)導(dǎo)航靠PID算法準(zhǔn)確分析運(yùn)動狀態(tài);無人機(jī)靠PID算法穩(wěn)定飛行姿態(tài)。 PID在我們周圍無處不在,盡心盡力地幫助人類實(shí)現(xiàn)“自動控制”。但和幾十年前不同,隨著計(jì)算機(jī)技術(shù)的發(fā)展,現(xiàn)在的PID大多是“軟控制”的,即在處理器里面運(yùn)行軟件控制,結(jié)構(gòu)大為簡化。
二、PID的原理與不足
圖2是直流電機(jī)的PID調(diào)速系統(tǒng)。No(t)是期望得到的電機(jī)目標(biāo)速度,N(t)是電機(jī)實(shí)際的速度,U(t)是PID控制器的輸出電壓。No(t)與N(t)相比較,得出的偏差值E(t)=No(t)-N(t),經(jīng)PID控制器計(jì)算后輸出控制電壓U(t),驅(qū)動電機(jī)改變速度。當(dāng)實(shí)際速度偏小時(shí),即No(t)> N(t),E(t)>0,PID控制器加大U(t)輸出,電機(jī)實(shí)際速度將提高;當(dāng)實(shí)際速度偏大時(shí),即No(t)
圖2 直流電機(jī)PID調(diào)速系統(tǒng)
PID控制器使用公式1進(jìn)行計(jì)算。公式的右邊有三項(xiàng),分別是比例(Proportion)、積分(Integration)和微分(Differential)。
公式 1
比例環(huán)節(jié)的作用是對偏差作出快速響應(yīng),KP越大,控制能力越強(qiáng),但過大的KP會增大超調(diào)量(超過給定值的量)。另外比例環(huán)節(jié)可以減少靜態(tài)誤差(穩(wěn)定時(shí)與給定值比較的偏差),但不能完全消除。圖3使用比例環(huán)節(jié)把電機(jī)的轉(zhuǎn)速從零提升到2500r/min,提升過程比較快,但出現(xiàn)了超調(diào),且存在靜態(tài)誤差。
圖3 比例環(huán)節(jié)的作用
積分環(huán)節(jié)的作用是消除積累下來的偏差(靜態(tài)誤差)。在控制過程中,只要有偏差存在,積分環(huán)節(jié)的輸出就不斷增大,直到偏差E(t)=0,輸出才可能穩(wěn)定在某一值上。但積分環(huán)節(jié)會降低響應(yīng)速度,增加超調(diào)量。TI越大,積分作用越弱。圖4是在比例環(huán)節(jié)的基礎(chǔ)上加上積分環(huán)節(jié),先前的靜態(tài)誤差得到消除,電機(jī)趨于2500 r/min,但增加了另外一段超調(diào)量。
圖4 比例環(huán)節(jié)+積分環(huán)節(jié)的作用
圖5使用了PID的所用環(huán)節(jié)控制電機(jī)。每個環(huán)節(jié)各盡其職,比例環(huán)節(jié)P快速提升速度,積分環(huán)節(jié) I 消除靜態(tài)誤差,微分環(huán)節(jié)D壓制超調(diào)量。
圖5 比例環(huán)節(jié)+積分環(huán)節(jié)+微分環(huán)節(jié)的作用
PID雖然應(yīng)用廣泛,但有明顯的不足。PID反應(yīng)慢,它是要等到誤差發(fā)生后,才去補(bǔ)償控制,如果控制力太大(比例系數(shù)KP),就有超調(diào),如果過小,就反應(yīng)慢。PID對環(huán)境變化敏感,例如無人機(jī)的螺旋槳在高速旋轉(zhuǎn)時(shí),受到很強(qiáng)的壓縮空氣阻力,PID的作用力要很大才能維持穩(wěn)定的速度,但是當(dāng)?shù)退贂r(shí),空氣阻力非常小,在強(qiáng)大的PID作用力下,螺旋槳會震動、不穩(wěn)定,所以這時(shí)需要另外一套較弱的PID。
三、ADRC的誕生
干擾,或者稱擾動,是指系統(tǒng)外部的環(huán)境出現(xiàn)變化,或者系統(tǒng)內(nèi)部特性改變,最終影響了系統(tǒng)的性能。例如上面提到的無人機(jī)的螺旋槳,空氣阻力隨轉(zhuǎn)速變化,影響電機(jī)速度的穩(wěn)定性,這個是外部擾動;當(dāng)電機(jī)長時(shí)間運(yùn)行后,溫度明顯上升,銅線圈的電阻值升高,原來預(yù)估的給多少V電壓就得到多少A電流的關(guān)系不存在了,這是內(nèi)部擾動。
來個假設(shè)吧,如果世界一切美好、沒有任何內(nèi)外擾動,那么對于任何系統(tǒng),只要調(diào)整好一次PID參數(shù),就可在任何情況下都達(dá)到理想效果。但事與愿違,擾動無處不在,如何實(shí)現(xiàn)“他強(qiáng)由他強(qiáng),清風(fēng)拂山崗;他橫由他橫,明月照大江”的抗擾動效果,一直是自控工程中最核心的研究工作。
自抗擾控制(ADRC)技術(shù)是已故韓京清研究員借鑒經(jīng)典PID控制理論,在1999年正式系統(tǒng)地提出來的。他的靈感來源于指南車(又稱司南車),是中國古代用來指示方向的一種裝置。它與指南針利用地磁效應(yīng)不同,它不用磁性,它是利用機(jī)械傳動系統(tǒng)來指明方向的一種機(jī)械裝置。
其原理是:靠人力來帶動兩輪的指南車行走,依靠車內(nèi)的機(jī)械傳動系統(tǒng)來傳遞轉(zhuǎn)向時(shí)兩車輪的差動來帶動車上的指向木人與車轉(zhuǎn)向的方向相反角度,使車上的木人指示方向,不論車子轉(zhuǎn)向何方,木人的手始終指向指南車出發(fā)時(shí)設(shè)置的方向?!败囯m回運(yùn)而手常指南”這種思想在ADRC算法中得到了升華。
圖6 指南車
四、 ADRC的原理
圖7是直流有刷電機(jī)ADRC調(diào)速控制框圖。ADRC的核心有三大模塊:跟蹤微分器、擴(kuò)張狀態(tài)觀測器和狀態(tài)誤差反饋控制律。
對于電機(jī)速度控制,跟蹤微分器的輸入是目標(biāo)速度;輸出是跟蹤速度和跟蹤加速度,跟蹤速度等于目標(biāo)速度,跟蹤加速度就是目標(biāo)加速度。
擴(kuò)張狀態(tài)觀測器的輸入分別是:實(shí)際速度、輸出電壓u和系數(shù)b0的乘積;輸出分別是觀測速度、觀測加速度和觀測擾動,其中觀測速度等于實(shí)際速度,觀測加速度等于實(shí)際加速度,觀測擾動是系統(tǒng)內(nèi)部和外部的總擾動,它除以b0后,減去狀態(tài)誤差反饋控制律輸出的電壓u0,即得到給電機(jī)的電壓u。
狀態(tài)誤差反饋控制律根據(jù)速度誤差(跟蹤速度-觀測速度)、加速度誤差(跟蹤加速度-觀測加速度),輸出電壓u0,如果兩個誤差都為零,那么u0為零。系數(shù)b0是大致設(shè)定的參數(shù),在這里它表示多少V電壓對應(yīng)多少轉(zhuǎn)速RPM。ADRC不管電壓和速度的真實(shí)關(guān)系,它只按自己設(shè)定的b0去控制,它認(rèn)為當(dāng)前電壓是u,速度應(yīng)該是u*b0,如果實(shí)際速度有不同,偏差都認(rèn)為是擾動(觀測擾動),可能是外部阻力變化引起的,也可能是電機(jī)內(nèi)部參數(shù)估計(jì)不準(zhǔn)引起的。觀測擾動除以b0后,直接補(bǔ)償?shù)絬輸出。所以ADRC就是任性,它無需專門測量擾動,“他自狠來他自惡,我自一口真氣足”。
另外,如果系統(tǒng)同時(shí)明確:目標(biāo)速度和目標(biāo)加速度,那么可以省去跟蹤微分器,直接輸入這兩個量。
圖7 ADRC速度控制
五、ADRC的特點(diǎn)
1、 幾乎和模型無關(guān)
ADRC適用于從對對象模型一無所知到完全掌握對象模型的任何情況,如圖7,大致設(shè)定電壓和速度的關(guān)系b0即可。當(dāng)然如果能準(zhǔn)確捕捉到這個關(guān)系,ADRC工作強(qiáng)度將減輕,效果更佳。例如我們正在研究,當(dāng)電機(jī)正在運(yùn)行、發(fā)熱嚴(yán)重時(shí),電機(jī)內(nèi)部的電阻、電感、反向電動勢等參數(shù)都明顯變化,在不注入額外測量信號下(盡量不影響電機(jī)運(yùn)行),如何利用AI人工智能神經(jīng)元技術(shù),準(zhǔn)確估算電機(jī)參數(shù)、重構(gòu)電機(jī)模型b0,這樣ADRC的性能將更經(jīng)一步提升。
2、反應(yīng)敏捷
傳統(tǒng)PID控制都要等到誤差發(fā)生后,才能去補(bǔ)償控制,而ADRC將觀察到的擾動第一時(shí)間補(bǔ)償?shù)捷敵龆?。而且PID中的微分項(xiàng)D,雖然說有預(yù)測功能,但是它僅僅是將本次的誤差減去上一次的誤差,得到很粗劣的微分結(jié)果,而ADRC使用跟蹤微分器,準(zhǔn)確跟蹤目標(biāo)值的微分(圖7的跟蹤加速度),以及用擴(kuò)張狀態(tài)觀測器得出實(shí)際值的微分(圖7的觀測加速度),兩個相減即為準(zhǔn)確的誤差微分。
圖8是在京東熱賣的某產(chǎn)品的電機(jī)速度圖。它采用基于PID的FOC技術(shù),電機(jī)要不停地加減速運(yùn)動,黃線是目標(biāo)速度,紅線是實(shí)際速度。實(shí)際的加減速還是很快的、跟蹤效果還可以,這個效果已經(jīng)是行業(yè)領(lǐng)先了。曾幾何時(shí)我們想,如果不換電機(jī),這個效果已經(jīng)無法再好了。
圖8 基于PID的FOC
但某一天,如圖9,我們將FOC里面的PID代碼直接換成了ADRC,出現(xiàn)了驚人的一幕。目標(biāo)速度和實(shí)際速度兩條線幾乎重合,幾乎沒有超調(diào)、沒震動、沒靜態(tài)誤差,而且加減速提高了30%以上、噪聲降低2db、能效提高5%!
圖9 基于ADRC的FOC
3、 易用性
ADRC在最初推出時(shí)雖然性能驚人,但是要調(diào)試的參數(shù)非常多,不容易使用。但是隨著Scaling and Bandwidth-Parameterization等理論的提出,ADRC參數(shù)調(diào)整變得簡單多了,例如周立功的ADRC庫,只要分步調(diào)整擴(kuò)張狀態(tài)觀測器的帶寬、狀態(tài)誤差反饋控制律的帶寬2個參數(shù),系統(tǒng)即可大致調(diào)好。
4、 靈活性
ADRC是在PID的啟發(fā)下發(fā)展出來的,一般的只要有PID的地方,都可以直接用ADRC替換。
六、ADRC的應(yīng)用
目前ADRC已在多個領(lǐng)域使用,如高超音速飛行器、磁懸浮、超導(dǎo)粒子加速器、大型射電望遠(yuǎn)鏡、坦克火控系統(tǒng)、核電站冷卻系統(tǒng)等等,又如工業(yè)機(jī)器人、伺服電機(jī)驅(qū)動器、無人機(jī)飛控系統(tǒng)、掃地機(jī)器人,甚至網(wǎng)站搜索引擎等等。
圖10 高超音速飛行器
還有周立功的無人機(jī)電調(diào)、工業(yè)電機(jī)驅(qū)動器、汽車水泵電調(diào)、汽車風(fēng)機(jī)電調(diào)、無刷電機(jī)專用控制芯片、基于NXP i.MXRT的多電機(jī)FOC方案等等,都內(nèi)置了自行研發(fā)的高效ADRC算法。
圖11 內(nèi)置ADRC算法的S32K FOC汽車電調(diào)
-
PID
+關(guān)注
關(guān)注
35文章
1470瀏覽量
85217 -
ADRC
+關(guān)注
關(guān)注
3文章
12瀏覽量
10295
原文標(biāo)題:自抗擾控制01:為何ADRC會成為百年P(guān)ID算法的繼承者?
文章出處:【微信號:Zlgmcu7890,微信公眾號:周立功單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論