周愛美,王 飛
(浙江廣廈建設職業技術大學智能制造學院,浙江東陽 322100)
工程生產過程中不可避免地會遇到各種類型的控制對象,其中有一類控制對象系統模型存在不確定性或是有些控制對象甚至無法精確建模,針對這種未建模動力學系統及模型不確定性動力學系統,可以使用一類數據驅動的控制方法,但是這類方法由于在初始階段會出現較大的誤差,從而系統收斂、鎮定過程會比較長,控制系統的實時性達不到要求[1];另外,有些算法精確性不高,滿足不了工業生產的精度要求,以焊接機器人控制系統設計為例,其末端執行器的軌跡控制精度要求很高,需要實現精確跟蹤[1-2]。迭代學習控制也是一類不需要精確建模的控制算法[3],而且其產生的背景就是處理工業生產中的重復運行,因此,工業機器人的重復控制問題可以采用迭代學習控制加以解決:采用K時刻之前產生的輸出誤差對K時刻運行及K+時刻運行的控制輸入量進行修正,而系統當前控制指令u(k)是在之前迭代步控制指令u(k- 1)的基礎上,根據相應的偏差e(k- 1)做出調整得到[4]。
基于這一“在重復中學習”的思想,經過多次迭代,從而滿足控制的精確跟蹤要求。控制系統的另一項指標時效性要求則需要選擇不同的迭代學習算法,整定出最優的參數。鑒于此,本文在傳統迭代學習控制的基礎上,提出了一種分數階微分Dλ型迭代學習算法,這類算法可以很好地滿足時效性和精確性要求,可以有效解決誤差的微分量和積分量的計算分析,從而減輕測量噪聲的影響。同時,在Dλ型迭代學習算法基礎上,設計了一種自適應Dλ型迭代學習算法,增加迭代學習控制算法的應用場景。
迭代學習控制核心思想是基于誤差來迭代修正輸入。為了有效增加控制算法收斂速度、提升控制精確,作為輸入量,除了誤差值外,還包括獲取誤差的微分項和積分項,并通過參數整定的方式,獲得最優的控制規律,以滿足控制系統相對應的任務要求。總體而言,迭代學習控制只需要利用相對少的先驗知識,通過不斷的迭代循環計算,就可以完成精確跟蹤[1]。
常見的迭代學習控制原理如圖1 所示,其中迭代步數(0,Λj, ΛJ)為系統當前重復次數,每個重復周期∕迭代步數被分割成有限個采樣點(1,Λk,ΛK)。迭代學習算法將前一個迭代步j-1的偏差送入學習函數L進行處理,和前一個迭代步j-1控制指令相加后生成當前迭代步j控制指令。即系統當前控制指令u(k)是在之前迭代步控制指令u(k- 1)的基礎上,根據相應的偏差e(k- 1)做出調整得到:如果以前迭代步中的控制指令已經能達到相對較好的效果,那么當前控制指令只需在以前的基礎上微調;如果以前迭代步中的控制效果不好,當前控制指令則需要做出相對較大的調整。
圖1 迭代學習控制原理
學習函數L的選擇具有較大的自由度,可以是線性或者非線性算子,學習函數L的形式決定了偏差信息以不同的方式反饋到控制指令中,因此,學習函數L的選取關系到迭代學習算法的收斂速度和控制精度等,因此,學習函數的選取以及參數的整定是算法設計的核心。
濾波器Q的設計需要綜合考慮系統的穩定性、控制精確以及實時性要求[5]。如果將濾波函數Q選為1,表示歷史信息百分百利用,即先前控制指令和對應偏差信息計算出來的當前控制指令被直接輸入到被控對象P,這種濾波器Q的設計可以實現理論上的控制輸出精確跟蹤參考軌跡;而對于存在未知非周期性干擾的被控系統而言,由于歷史信息包含隨機誤差,因此,會導致被控系統不穩定或出現振蕩,這種情況下,可以將濾波函數Q設計成為低通濾波器,但是這樣歷史信息被沒有被全部利用,控制系統在滿足穩定性的前提下,控制精度和收斂速度將會受到一定的影響。
除了適應具有重復運動性質的被控對象外,迭代學習控制算法對于被控對象的數學模型的依賴性也比較低,鑒于此,迭代學習控制算法可以在工業機器人控制系統中被廣泛應用。從而可以以較為簡單的算法實現不確定性較高的非線性強耦合動態系統的控制,并高精度跟蹤給定期望軌跡。
迭代學習的控制律用最簡單的表述方式就是:
式中:uk(t)、uk+1(t)分別表示k、k+ 1時刻的控制信號;L為學習函數,常見的有PID型,PD型等。
D型迭代學習算法首先被構造出來,其形式為:
D型迭代學習算法,即微分型迭代學習算法,是指通過誤差的導數e.
k(t)的迭代,但e.k(t)在實際應用中難以直接測量。為了解決這一問題,采用Dλ型迭代學習算法。
Dλ型迭代學習控制算法形式為:
式中:為誤差的分數階導數。
分數階微分系統與整數階系統相比,有優點如下:(1)分數階微分是整數階微分的一種特例,這種算子除了具有整數階微分的性質外,還具有一些其他的性質,比如,分數階微分具有一定的記憶功能;(2)分數階微分和整數階微分相比,多了一個分數階系數,因此,可以通過選取合適的系數得到更多的性能效果。
利用Grunwald-Letnikov 定義方法求解分數階微積分的數值方法為:由于
則有:
則式(4)可以寫為:
可由下面的遞推公式得出,= 1,=(1-
Dλ學習控制結構如圖2 所示,利用學習過程中保存下來的輸出誤差ek(t)及期望控制ud(t),計算出分數階Dλ控制器的增益矩陣。將此Dλ控制器加入到控制系統中,可以得設計出性能滿足要求的控制系統。但是此類方法的魯棒性較差,對于存在隨機擾動較大的系統,這種方法存在局限性。
圖2 Dλ學習控制結構
定理1:對于線性離散系統,即
誤差模型Ek=AΞk,采用迭代學習律Uk+1=Uk+BEλk,如果通過恰當設計學習矩陣B,使得如下矩陣不等式
成立,其中γ為任意小的正數;P∈RN×N為正定對稱常矩陣,那么系統誤差Ek將收斂至零,控制輸入Uk也將收斂至期望值Ud。
證明:定義Lypaunov函數,即
由此可知,通過恰當設計迭代學習矩陣B,使得矩陣不等式成立。那么Vk+1-Vk≤0,當Vk+1-Vk= 0定理1,證明完畢。
為了進一步驗證本文方法的有效性,設計如下仿真模型。
有高階差分形式的線性離散系統[3]:
在實際控制中,考慮系統的不確定性,設系統參數的估計區間分別為:a0∈[2,8];a1∈[0,3];a2∈[0,3];a3∈[0,1];a0∈[0,1.6]。
系統期望軌跡設為:yd(i) = 2 + 0.5 sin(iπ∕500)
對比D型和Dλ型迭代學習控制算法,通過MATLAB仿真,仿真結果如圖3~4所示。
圖3 普通D型迭代學習控制第5次迭代仿真效果
仿真分析時選取:
分數階微分Dλ中λ參數通過參數整定的方法獲得最佳值,進行本次仿真時,根據工程經驗,選取λ= 1.25。這樣可以得到相應的仿真結果。通過對比圖3、圖4可以看出,本文提出的分數階迭代控制的精度要高出一個數量級,同時,Dλ迭代學習控制具有更好的收斂特性。
圖4 Dλ迭代學習控制第5次迭代仿真效果
從仿真成果還可以看出在最后的幾個采樣周期,輸出誤差略為增大,這是由于可利用的誤差項減少。為了解決這一問題,可以利用前面的誤差項來進行多次迭代加以解決。
在Dλ型迭代學習控制算法的基礎上,提出了一種Dλ迭代學習算法。理論與仿真結果均表明本文提出的Dλ迭代學習控制方法更加適用于工業機器人控制過程中,不僅不需要精確的機器人數學模型,而且相對于D型迭代學習控制算法控制效果更加精確,具有很好的收斂特性和穩定性。但是工業機器人運行環境比較復雜,當存在不確定干擾時,這種Dλ迭代學習控制算法不具有較強的魯棒性,因此,需要將Dλ迭代學習控制算法和其他魯棒性較強的算法相結合,比如自適應控制算法等,從而適應更多的工業機器人應用環境[6-7]。
自適應控制是一類魯棒性很強的控制系統,因此,設計了一種基于自適應控制律的Dλ型迭代學習控制算法,原理框圖如圖5 所示,即在Dλ型迭代學習控制算法的基礎上,引入一個自適應迭代項,通過這樣的結合,自適應Dλ型迭代學習控制算法既可以完成機器人重復任務中的精確軌跡跟蹤,又可以適應未知打擾動,從而增加控制系統的魯棒性[8-10]。
圖5 一類自適應Dλ型迭代學習控制算法原理
根據原理框圖,算法執行簡單流程為:在有效時間范圍[ ]
0,t,將k-1 步通過迭代計算得到的自適應參數估計值和第k步的系統誤差ek(t)代入到自適應律,計算本次迭代的自適應參數估計值再將自適應參數估計值和系統誤差ek(t)帶入到控制律中,從而計算得出控制量uk(t);控制量uk(t)作用于被控對象,得出實際輸出,若輸出滿足性能指標要求,則迭代結束,反之,繼續迭代學習直到達到性能指標要求為止[5]。
假設有機械人機械臂系統[5],其數學模型可以使用朗格朗日形式表示為:
針對式(13)所示的機器人機器臂數學模型,設計自適應Dλ迭代學習控制律為[13]:
式中:ek(t)為角位移誤差。
式(14)~(15)設計的控制律將自適應控制方法運用用到Dλ迭代學習控制系統中,這樣其應用將更加廣泛,特別是對于非線性不確定系統而言,可以很好地實現迭代學習控制和自適應控制都無法單獨處理的控制任務。從實際工程應用的角度來看,迭代學習控制是依靠重復相同的控制任務來實現迭代軸上的精確跟蹤,自適應控制用來保證時間軸上的漸近跟蹤。這樣,一個控制效果良好且穩定的控制器的設計會變得比較容易,因為在設計控制器時有兩個可以努力的方向(時間域和迭代域)來穩定系統和調節控制效果[14-15]。
分析工業機器人的工作環境及工作方式,不難發現,工業機器人大都執行的是具有重復性質的任務,基于此,在選擇控制算法時,迭代學習控制算法顯得特別合適,這類控制算法既可以避免求取工業機器人的精確模型,又可以在重復任務中通過誤差迭代的方式完成精確控制任務。
本文以工業機器人的控制系統設計作為研究對象,在D型迭代學習算法的基礎上,將其擴展到分數階微分領域,提出了一種Dλ迭代學習控制算法,進行了穩定性證明和仿真分析。仿真結果表明,Dλ迭代學習控制算法通過參數λ的整定可以實現跟蹤誤差更小,收斂速度更快。同時為了使Dλ迭代學習控制算法更加具有適用性,將Dλ迭代學習控制算法和自適應控制算法相結合,設計了一種自適應Dλ型迭代學習控制算法,此類方法兼具了二者的優勢。但是從目前的工程實際情況來看,很難找到普遍適用的自適應律,想要更好地實現工業機器人的自適應性,還需要大量的控制理論研究和工程實現。