本文有點長,大家,可以分1~2次看完。
1 前言
在《二階系統的控制(四)——PID控制C篇》中,介紹了PID控制器在策略A~D(不了解的朋友可以點開)所述的四種控制策略下,對公式(1)和(2)所代表的系統均無法獲得理想PID參數的原因。
(1)
(2)
所謂的理想參數指的是,對給定的系統模型G(s),經過PID控制器的調節後,使得系統的輸入R(s)與輸出Y(s)滿足:
(3)
可見在忽略幹擾和系統模型誤差下,理想參數的控制器可以實現系統輸出對輸入的0誤差跟蹤。但是,PID控制器在策略A~D所述的四種控制策略下,僅對公式(4)所代表的系統才具有理想的PID參數。
(4)
然而,公式(4)所述的系統在實際應用中遠比公式(1)和(2)還要少。例如,某自動化過程的目標是運動位置的精確控制。假設其位置環的系統函數是:
(5)
可見,系統(5)的微分量(速度環的系統函數)就是方程(4)。因此,為了實現具有理想PID參數的控制策略的應用,必須附加至少兩件工作:
1)對位置參考量進行規劃,使規劃後的位置量能夠進行微分,為速度環提供速度量參考。
2)閉環策略下(策略B~C),還需要使用傳感器或者設置速度估計算法,獲取系統(5)的輸出速度量。
由此可見,滿足公式(4)的理想PID控制策略,除了應用對象局限於具有式子(5)所述的系統外,其附加工作也提高了實現的成本,因此涉及系統(4)的控制策略的實際應用價值遠不如(1)和(2)。
而本文將基於PID的設計思想,進行延伸,介紹一種控制器設計方式,使得所設計的控制器能夠在策略A~D中,均能夠以獲得理想參數的形式應用於系統(1)和(2),使得策略A~D更具有實用價值。具體內容包括:
1)介紹經典PID結構的局限性及其啟發性;
2)基於PID的啟發性,介紹一種基本線性環節組合控制器(BLLC控制器)的設計思路、結構、參數求解方法及結果;
3)基於matlab的simulink的仿真測試,以一種二階系統、階躍響應和正弦跟蹤為例子對一種BLLC控制器進行測試;
4)基於某超精密輔助加工系統(因工作需求,不詳細說明)的事物應用研究的案例介紹。該案例中,BLLC控制器使得該非線性系統達到亞微米級的快速動態跟蹤精度,有力的表明該方法的實用價值和有效性。
2 經典PID結構的局限性及其啟發性
經典PID是由三種基本環節:比例環節,積分環節和微分(近似微分)環節進行線性組合而成的。這種組合可以獲得如方程(6)所示的二階控制器:
(6)
可見其分母僅僅具備一次冪形式,這就造成了它僅能夠在系統(4)的情況下獲得理想參數。而根本原因是:傳統PID的結構設計僅局限於採用上述三種基本環節。這就是PID的局限性所在。
但凡事具有兩面性,PID結構的局限性又隱含著啟發性。眾所周知,控制系統中的經典的基本線性環節一共有5種:比例環節,積分環節,微分環節,慣性環節和振蕩環節。只要給予適當的數量,幾乎所有的線性系統都可以看成由它們的線性疊加而成的[1]。
而PID控制器的結構就是使用了其中3個環節,而且每個環節的數量最多是1個!但僅此就已經能夠滿足大多數工業上的控制需求了(只不過需要反覆調參,而且難以獲取理想的參數,但足以滿足特定需求)。那麼仿照這個思路,足以啟發我們:可以使用更多的基本環節和數目來構建屬於自己的「PID",並使其在各種控制策略中具有獲得理想的控制效果可能。在此我稱之為「基本線性環節組合控制器」(BLLC控制器)。
在此,不失一般性的同時,為了便於研究,對於系統(2),做如下細分:
系統2.1
(7)
系統2.2
(8)
系統2.3
(9)
系統2.4
(10)
系統2.5
(11)
系統2.6
(12)
本文先以系統(2.1)為研究例子,介紹設計一種BLLC控制器的設計思路,使其能夠在策略A~D下,可以獲得理想參數。
3 系統(2.1)的BLLC控制器設計
本節介紹對應系統(2.1)的BLLC控制器的組成與參數求解方法。
3.1 BLLCpil控制器
對應系統(2.1)的BLLC控制器的組成有:1個比例環節,1個微分環節和1個慣性環節,故簡稱系統(2.1)對應的BLLC控制器為BLLCpil控制器。類似的PID控制器可以看成是BLLCpic控制器,而BLLCpil結構如圖1所示:
圖1 BLLCpil控制器結構示意圖
其數學模型為:
(13)
由於結構中必須使用微分環節,因此I≠0,所以方程(13)可以進一步表達為:
(14)
相信各位已經看出了些東西出來了。方程(14)表明BLLCpil控制器是系統(2.1)的逆結構,即揭示出BLLCpil控制器在策略A~D下,對系統(2.1)進行控制調節時,可以直接求的理想參數。具體求解方法3.2節所述。
3.2 BLLCpil控制器的參數求解
策略A
根據策略A的結論可知,BLLCpil(s)必須滿足:
(15)
根據係數對應法則,有:
(16)
最終求的各個參數為:
(17)
策略B
根據策略B的結論可知,BLLCpil(s)必須滿足:
(18)
為了便於計算,做如下換元操作:
(19)
聯立(18)和(19)可得:
(20)
顯然,方程(20)的結構與方程(15)一樣,故可得:
(21)
聯立(19)和(21),最終可解得各個參數為:
(22)
策略C
根據策略C的結論可知,BLLCpil(s)必須滿足:
(23)
仿照策略B求解方法,可得各個參數為:
(24)
策略D
根據策略D的結論可知,BLLCpil(s)必須滿足:
(25)
注意了!這裡將不仿照策略A的直接求解方式,也仿照策略B進行換元求解,因為那些會顯得結果過於繁瑣。其實我們可以根據下列步驟求解:
4 仿真測試
本節仿真依然如往常一樣採用matlab的simulink,並以一個欠阻尼二階系統為對象,其系統函數如下:
(26)
然後分別採用BLLCpil控制器,分別在策略A~D下,進行階躍響應和正弦跟蹤的控制仿真測試。採用階躍信號的是因為可以測試系統的靜態定位性能,採用正弦跟蹤則可以測試系統的動態反應性能。另外,由於實際中採用的階躍信號是各種傾斜式階躍信號,而不是垂直式階躍信號,因此這裡使用「等速率傾斜階躍信號」,斜率設置為10,即0.1s即可到達終值。具體如圖2所示。
圖2 等速率傾斜式階躍信號與垂直式階躍信號
4.1 策略A的測試
策略A的測試仿真系統搭建如圖3所示。
圖3 策略A的仿真系統
首先是策略A的階躍響應測試,根據第3節理論方法,解的P=-8,I=1,L=82,T=9。結果如圖4(a)-4(b)所示。
(a)
(b)
圖4 (a)系統的開環階躍響應(紅)與策略A下的階躍響應(綠)的結果;(b)策略A下的階躍響應的誤差曲線
通過圖4結果可以發現:原本開環系統的上升時間(從0.1到0.9)為1.491s-1.126s=0.365s,超調量為1.477-1=0.477;而策略A下的系統上升時間為1.090s-1.010s=0.080s,可見速度是開環的4.56倍,而其超調量是0.0022,僅為開環的0.46%,幾乎可以忽略不計。可見策略A下的BLLCpil控制器可以大大的改善系統的靜態定位性能。
接著是正弦跟蹤測試,結果如圖5(a)-5(b)所示。
(a)
(b)
圖5 (a)系統的開環正弦動態響應(紅)與策略A下的正弦動態響應(綠)的結果;(b)策略A下的正弦動態響應的誤差曲線
通過圖5結果可以發現:開環系統對正弦動態信號的幅值和相位跟蹤的誤差都很大,可見原系統性能很差;而使用策略A下的BLLCpil控制器後,大大的提高了系統的跟蹤性能,最終絕對誤差穩定在0.0041,即0.41%的相對誤差,可見策略A下的BLLCpil控制器也能夠大大改善系統的動態跟蹤性能。
4.2 策略B的測試
策略B的測試仿真系統搭建如圖6所示。
圖6 策略B的仿真系統
根據第3節理論方法,解的策略B+:P=-9,I=1,L=82,T=9;策略B-:P=9,I=-1,L=-82,T=9。策略B的階躍響應測試結果如圖7(a)-7(b)所示。
(a)
(b)
圖7 (a)系統的開環階躍響應(紅)與策略B下的階躍響應(B+綠,B-紫)的結果;(b)策略B下的階躍響應的誤差曲線
通過圖7結果可以發現:策略B+(正反饋)與B-(負反饋)下的系統性能一致。其中上升時間為1.078s-1.022s=0.056s,速度是開環的6.52倍,也比策略A快,而其超調量是0.121,為開環的25.37%,穩定時間比策略A久的多。但也足以見得可見策略B下的BLLCpil控制器可以有效的改善系統的靜態定位性能。
接著是正弦跟蹤測試,結果如圖8(a)-8(b)所示。
(a)
(b)
圖8 (a)系統的開環正弦動態響應(紅)與策略B下的正弦動態響應(B+綠,B-紫)的結果;(b)策略B下的正弦動態響應的誤差曲線
圖8結果:使用策略B+和B-下的BLLCpil控制器效果一致,最終絕對誤差穩定在0.0123,即1.23%的相對誤差,可見策略B下的BLLCpil控制器也能夠有效改善系統的動態跟蹤性能。
4.3 策略C的測試
策略C的測試仿真系統搭建如圖9所示。
圖9 策略C的仿真系統
根據第3節理論方法,解的P+=-4,I+=0.5,L+=41,T+=9。策略C的階躍響應測試結果如圖10(a)-10(b)所示。
(a)
(b)
圖10 (a)系統的開環階躍響應(紅)與策略C下的階躍響應(綠)的結果;(b)策略C下的階躍響應的誤差曲線
通過圖10結果可以發現:策略C下的系統性上升時間為1.09s-1.01s=0.08s,速度是開環的4.56倍,其超調量是0.0049,僅為開環的1.03%,比策略A略大。可見策略C下的BLLCpil控制器可以大大的改善系統的靜態定位性能。
接著是正弦跟蹤測試,結果如圖11(a)-11(b)所示。
(a)
(b)
圖11 (a)系統的開環正弦動態響應(紅)與策略C下的正弦動態響應(綠)的結果;(b)策略C下的正弦動態響應的誤差曲線
圖11結果可以發現:使用策略C下的BLLCpil控制器後,系統(2.1)的正弦跟蹤相對誤差穩定在0.0080,即0.80%的相對誤差,可見策略C下的BLLCpil控制器也能夠大大改善系統的動態跟蹤性能。
4.4 策略D的測試
策略D的測試仿真系統搭建如圖12所示。
圖12 策略B的仿真系統
根據第3節理論方法,解的策略C+:P=-9,I=1,L=82,T=9;策略C-:P=-7,I=-1,L=-82,T=9。策略D的階躍響應測試結果如圖13(a)-13(b)所示。
(a)
(b)
圖13 (a)系統的開環階躍響應(紅)與策略B下的階躍響應(D+綠,D-紫)的結果;(b)策略D下的階躍響應的誤差曲線
通過圖13結果可以發現:策略D+和D-下的系統性上升時間均為1.09s-1.01s=0.08s,速度是開環的4.56倍,策略D-超調量是0.0015,為開環的0.31%,比策略A略小。策略D+超調量是0.0084,為開環的1.76%,比策略A略大,是策略D-的5.68倍。但也足以見得可見策略D下的BLLCpil控制器均可以大大的改善系統的靜態定位性能。
接著是正弦跟蹤測試,結果如圖14(a)-15(b)所示。
(a)
(b)
圖14 (a)系統的開環正弦動態響應(紅)與策略D下的正弦動態響應(D+綠,D-紫)的結果;(b)策略D下的正弦動態響應的誤差曲線
通過圖14結果可以發現:使用策略D+或D-下的BLLCpil控制器都能有效提高了系統的跟蹤性能,其中策略D+下,系統最終絕對誤差穩定在0.0200,即2.00%的相對誤差,可見策略D+下的BLLCpil控制器也能夠有效改善系統的動態跟蹤性能。其中策略D-下,系統最終絕對誤差穩定在0.0053,即0.53%的相對誤差,可見策略D-下的BLLCpil控制器也能夠大大改善系統的動態跟蹤性能。
5 實際應用研究(案例)
我曾嘗試把本文關於BLLC控制器的方法思路進行實踐研究,研究對像是一種專門應用於超精密數控加工工具機的超精密輔助定位系統(機構)。為了具備超精密的效果,該系統採用的是壓電陶瓷驅動器(圖15)。其優點是響應速度快,帶寬高,解析度高。但由於壓電陶瓷驅動器固有非線性遲滯特性,這導致如何有效的控制該超精密系統進行快速動態定位成為一個關鍵的難點。
圖15 各種行程的壓電陶瓷驅動器
雖然,在學術界已經有很多學者進行了相關研究,但研究成果大都過於複雜,難以實現。因此我將該系統進行輸入輸出的數據測量、採集,然後將其系統函數辨識為系統(2.1)的結構,最後採用本文BLLCpil控制器的設計方法設計了對應的控制器,採用的控制策略是策略A。
策略A是一種直前饋控制方法,這也是為了更加切合實際,因為實際加工過程的環境是難以容許添加傳感器測量的,而且就算可以添加,也有大量噪聲的幹擾。不過,本研究案例為了體現BLLC控制器的有效性,必須採用傳感器測量系統的運動位移,以便衡量,因此也只能在空載(非加工)條件下進行研究。與本文相關的細節見下文。
5.1 數據採集與系統辨識
由於該系統主要功能是動態跟蹤定位,因此我採用了幅值為6V,頻率為1Hz正弦驅動信號作為輸入信號,信號經過相關環節的線性變換後,傳輸到了該系統,系統產生運動,然後來傳感器採集相關開環輸出位移。所採用的輸入信號和開環輸出位移如圖16所示:
圖16 超精密輔助系統的輸入電壓與輸出位移結果
從圖16可以看出,開環情況下,系統的輸出與輸入有很大的偏差,因此需要設計控制器和控制策略進行控制調節。另外,由位移曲線可以看出,其具有高頻抖動,這不是傳感器的解析度問題,而是因為在超精密級別的精度下,就連人的走路和說話聲音等各種噪音,都有可能導致系統的振動,並被測量下來(反而可見的傳感器解析度之高)。
為了提高系統辨識的精度,在進行系統辨識之前,需要對位移數據進行離線濾波處理。濾波器有很多種,本號之前也推出一篇有於濾波的文章,詳情可見《跟蹤微分器在PID控制中的緩衝降噪作用》,除此之外還有各種各樣的數字濾波器,我日後有機會,便於大家分享,這裡我便不介紹了。濾波結果如圖17所示:
圖17 測量的輸出位移數據進行濾波前後的效果
圖17結果可以看出,濾波操作基本過濾掉了無關高頻信號,並保持原始形狀,幾乎沒有失真。因此可以用於系統辨識。系統辨識方面,我也不再多說,具體可以看本號前期文章《二階系統的控制(三)——PID控制B篇》。辨識後,得到的傳遞函數為:
(27)
辨識效果如圖18所示。
圖18 系統的辨識效果
由18可以發現,辨識出的系統,基本可以吻合真實系統,其中吻合率為95.07%。
5.2 實際控制測試
參考第3節的理論結果,可以獲得該系統策略A下的BLLCpil參數為:P=0.1655,I=8.3752e-07,L=-0.6078,T=15.7538。雖然將實物系統辨識為一個線性二階系統,但實際控制對象依然還是實物(一個非線性系統),因此為了更加有力的驗證BLLCpil控制器的實用性能,輸入的參考值將避開在系統辨識中所使用過的信號。借用機器學習領域的概念,可以稱為「泛化性能」的測試。另外為了更加精準評估誤差值,會對採集的位移信號進行數字濾波,然後再求誤差曲線。實驗結果分別如圖19和圖20所示。
圖19 低速幅值跳動的正弦信號的跟蹤效果
圖20 高速正弦信號的跟蹤效果
首先分析圖19,各位可以把圖19放大仔細觀察,可以發現圖19的參考信號並不是簡單的正弦信號,它並不是完全光滑的,例如在橫坐標數字1~2之間,及4~5之間的曲線,都有個垂直跳躍的過程,而且幅值範圍也上下波動。這是我故意設計的,是為了驗證使用BLLCpil控制器後的系統能夠應對比普通正弦信號更加複雜的信號跟蹤。實驗結果的誤差顯示,這種情況下動態跟蹤絕對誤差大概穩定在0~0.5μm(即0~500nm)之間。
接著是圖20,大家可以看出圖20雖然是普通的正弦參考信號,但是它的頻率是比圖19的10倍。在超精密運動控制領域,為了維持運動精度,控制難度往往隨著運動速度呈非線性快速增大的。如果控制器沒有跟著改進,跟蹤誤差甚至會指數增長。但BLLCpil跟蹤的相對誤差並增加多少,跟蹤絕對誤差大概穩定在0~1μm以內,大部分區間依然在0~0.5μm之間。
綜上,BLLCpil控制器可具備實際應用的價值,同時也有力證明了BLLC控制器思想科學性。
6 總結與資源分享
首先,本文回顧了上篇文章所講的主要結論。接著介紹經典PID的局限性及其啟發性,並根據PID的啟發性提出基本線性環節組合控制器(BLLC控制器)的思想,並以系統(2.1)為例子,給出BLLCpil的組成結構及其分別在策略A~D下的理想參數的理論求解方法。
為了驗證該思想方法的有效性,還進行了仿真實驗測試和實際系統的應用研究。結果一致直表明,基於BLLC控制器設計思想獲得的BLLCpil控制器能夠大大/有效的改善系統的性能。因此該控制器的思想不僅具有科學性,還可以指導實踐。其產物也具備一定的實際應用價值。
對於二階系統函數的2.2~2.6五種表達結構,雖然本文沒有給出相關的BLLC控制器設計方法,但基本上和系統(2.1)的思路一致。大家有空不妨自己嘗試,收穫會更多(說不定會發現有趣的問題~)。
最後,我將本文涉及的matlab的simulink仿真文件打包到百度雲盤中,並包含原文(已經整理為23頁PDF),供大家下載研究,希望能夠獲得進一步交流。截圖如下:
原文PDF
連接如下:
https://pan.baidu.com/s/1jf7Z6i35krD_6hsjTz9xTA
提取碼:cgy2
謝謝大家的支持。
7 參考文獻
[1] 楊叔子,楊克衝等. 《機械工程控制基礎》,華中科技大學出版社,2011年,5月版.
[2] 二階系統的控制(二)——PID控制A篇
[3] 二階系統的控制(三)——PID控制B篇
[4] 跟蹤微分器在PID控制中的緩衝降噪作用
[5] 二階系統的控制(四)——PID控制C篇
以上內容即為本次介紹的內容,謝謝瀏覽~。
如有朋友喜歡我的文章,歡迎你們和你們的道友們一起分享,更加歡迎你們與我交流討論~
掃描下方二維碼,即可關注本號