簡晟祺,魏延輝,王 剛,王澤鵬
(哈爾濱工程大學自動化學院,黑龍江 哈爾濱150001)
目前,許多新的控制策略被應用在機器人領域,包括:自適應控制、遺傳算法、魯棒控制和模糊控制等。自適應控制策略能夠對參數不確定性進行辨識,但難以處理外部擾動等非參數不確定[1]。遺傳算法具有很好的魯棒性,但搜索和尋優過程耗時長,控制的實時性不好。而魯棒控制需要保守的不確定上界估計,變結構控制存在“抖振”[2]。普通的模糊控制綜合定量只是的能力差,控制規則和隸屬函數一經確定便無法修改,不具備自學習、自適應的能力。因此,不能很好地控制不確定系統[3]。
雖然智能控制發展迅速,但由于代碼復雜、實現困難等原因,在實際中應用得并不多。而PID控制是實際工程領域使用最多,應用層面也最廣的控制器。PID控制具有結構簡單、穩定性能好和可靠性高等優點,尤其適用于可建立精確數學模型的確定控制系統。在控制理論和技術飛速發展的今天,工業過程控制領域仍有近90%的回路在應用PID控制策略。PID控制中一個關鍵問題便是PID參數的整定[4]。并且很多情況下,為了參數整定的方便而舍本逐末地去掉微分環節。

Matlab中的Simulink控制箱是常用的建立自控系統仿真環境的工具,Simulink給進行系統仿真提供了很大的方便。通過利用Matlab 2012a版本中的Simulink所介紹的PID Tuner參數,自動整定的新功能,并且將它應用在電機運動的控制中,取得較好的效果。
PID的控制規律為:

KP為比例系數;Ti為積分時間常數;Td為微分時間常數。傳統PID的框圖如圖1所示,寫成傳遞函數的形式為:


圖1 傳統PID
a.比例系數Kp。增大比例系數Kp,能夠加快系統的響應速度,增強系統的動態性能并能見效系統的穩態誤差。但如果比例系數過大,效果反而適得其反,系統的超調增大,調節時間更長,系統甚至會震蕩變得不穩定。
b.積分時間常數Ti。增大積分時間常數Ti,能夠減小穩態誤差,增強系統的穩定性。但調節時間會變長,使系統的動態性能變差。
c.微分時間常數Td。增大微分時間常數Td,能夠增大微分作用,能夠減小調節時間,減小穩態誤差,增加系統的控制精度,提高系統的穩定性。但微分時間常數過大或過小,系統的超調量會增加,精度減弱,產生噪聲。
可以看出,這3個參數對于典型PID控制器的控制效果起到只管總要的作用。為了取得好的控制效果,工程人員需要花費大量的時間在這3個參數的調整上。總之,比例主要用于偏差的“粗調”,保證控制系統的“穩”;積分主要用于偏差的“細調”,保證控制系統的“準”;微分主要用于偏差的“細調”,保證控制系統的的“快”[7]。
實際工程應用中難免會引入干擾,比如在PID或PD控制器的微分過程中加入高通濾波器,組成新的PID系統框圖,濾波PID框圖如圖2所示。

圖2 濾波PID
微分環節對整個模型的動態變化很敏感,輸出結果容易受到影響。因此,很多人出于參數整定麻煩和系統穩定性的考慮而選擇去掉微分環節而使用PI控制器,舍本逐末地犧牲了微分環節在系統動態性能調整的作用。鑒于機器人控制中誤差的引入多為摩擦或是嚙合,相對于控制信號而言算是低頻干擾,所以可以加入一個高通濾波器,濾除干擾來優化PID控制器的動態性能。
高通濾波器是對輸入信號的頻率具有選擇性的一個二端口網絡,它允許輸入信號中高于某頻率的信號通過,而衰減或抑制小于此頻率的信號[8]。加入濾波器后整個微分環節的傳遞函數為:

而整個濾波PID控制器的傳遞函數為:

可以看出,通過設置參數N而改變這個濾波器的極點位置,從而改變濾波器的濾波效果,最終影響到整個微分環節的作用效果。
通過改變N的大小,就可以改變濾波器的幅頻特性和相頻特性,N越大便極點越靠近負半軸,對于低頻信號的濾波效果就越明顯。加入濾波后的PID控制器還需要用C語言實現編寫,以下便是代碼實現:
FilterCoefficient=N * (Kd*u-Filter_state);
Filter_State+=0.01*FilterCoefficient;
Integrator_State+=Ki*u*0.01;
Y=(Kp*u+Integrator_state)+FilterCoefficient;
u為偏差量,FilterCoefficient為濾波系數。等式中的0.01為采樣時間,單位為s,根據系統的實際情況作調整。
以電機的電樞電壓為輸入,以電機的角位移為輸出,則直流電機的模型如圖3所示。

圖3 直流電機模型
Rm為電樞電阻;Lm為電樞電感;km為電流-力矩系數;J為總轉動慣量;F為總粘滯摩擦系數;ke為反電動勢系數;Um為電樞電壓;Im為電樞電流;Tm為電機力矩;ωm為電機角速度;θm為電機角位移[9]。所以可得到直流電機的系統框圖如圖4所示。
于是可以得到電直流電機的傳遞函數為:

使用Faulhaber公司的2342直流電機,查閱相關技術手冊可以得到每個參數的大小。因為粘滯摩擦系數很小可以忽略不計,所以將參數帶入等式,可以得到電機的傳遞函數為:

這樣便可以建立具有速度控制環和角度控制環雙閉環控制的PID控制系統。

圖4 系統框圖
在Matlab 2012a中加入的PID Tuner,大大方便了對PID參數的整定,PID Tuner提供了快速求解PID參數的解決方案。PID Tuner會先為實際模型計算一個線性模型,即使系統中存在非線性系統也會自動并估計出一個線性模型。然后再將整個系統接在這個線性模型的輸入和輸出上并自動計算一組初始PID參數,這組參數是綜合計算了系統的魯棒性和快速性得到的。它還會對比當前設置的PID參數與系統計算的PID參數的控制效果,它們都是閉環系統的階躍相應,所以對控制系統設計有一定的參考價值。
可以通過設置想要的系統響應時間,來進行PID參數的整定。在這個系統機器人控制系統中有速度環和角度環2個PID控制器,這2個閉環存在耦合會相互影響,如果采用試湊的方法想得到魯棒性很好的兩組參數很困難。而通過PID Tuner可以很快確定一組參數。
以使用Faulhaber公司的2642WO24R直流無刷電機作為例子。通過查找該型號電機的技術手冊,可以得到它的幾個建模關鍵參數。
可以得到傳遞函數:

將這組參數輸入傳統PID控制器,得到仿真結果如圖5所示。不難看出系統發散 ,由于沒有高通濾波器,微分環節使系統超調過大,調節時間過長,系統最后呈不穩定狀態。
將同樣的數據輸入濾波PID控制器,得到仿真結果如圖6所示。系統的超調還是穩態誤差都控制的很好,系統的響應速度也很快。

圖5 傳統PID仿真結果

圖6 濾波PID仿真結果
為了驗證仿真結果,用C#編寫了上微機監控軟件,能夠實時反饋電機角度的變化。由于CAN總線的數據傳輸速度遠大于上位機軟件的刷新頻率,所以實時角度曲線會有鋸齒,但這并不影響用戶觀察電機實時角度的變化趨勢。實驗驗證結果如圖7所示。

圖7 電機的實時角度
設計的高通濾波器在微分環節的抗干擾性能上作用明顯,增強的系統的穩定性。在控制系統中引入濾波PID并配合PID Tuner,能提高工程人員在設計控制系統時的工作效率,讓PID的參數整定過程更科學、更智能和更高效,從而縮短控制系統的研發周期。鑒于PID控制的廣泛性,這種方法具有很高的應用價值。
[1] 張文輝,胡小平,朱銀發.自由漂浮空間機械臂基于神經網絡的 H∞魯棒控制[J].應用科技,2012,(6):5-8.
[2] Machado J A T.Variable structure control of manipulators with compliant joints[A].IEEE International conference industrial.Electron[C].London,UK,1993.554-559.
[3] 洪昭斌,陳 力.基于神經網絡的漂浮基空間機械臂的自學習模糊控制[J].機械科學與技術.2009,28(7):976-980.
[4] 沈永福,吳少軍,鄧方林.智能PID控制綜述[J].工業儀表與自動化裝置.2002,(6):11-13.
[5] 王素青,姜維福.基于 Matlab/Simulink的PID參數整定[J].工業控制與應用.2009,28(03):24-28.
[6] 何 穎,鹿 蕾,趙爭鳴.PID參數自整定方法概述[J].儀器與儀表.2004,(24):20-23.
[7] 白 金,韓俊偉.基于 Matlab/Simulink環境下的PID參數整定[J].哈爾濱商業大學學報(自然科學版),2007,23(6):673-676.
[8] 郗艷華,張玉葉.高通濾波器分析及其仿真[J].信息技術.2011,(8):29-31.
[9] 譚為民,徐 德,侯增廣,等.先進機器人控制[M].北京:高等教育出版社,2007.