李 巖, 柴媛媛, 劉克平
(長春工業(yè)大學電氣與電子工程學院, 長春 130012)
機械臂的基本控制問題是確定驅動關節(jié)位置以及跟隨位置軌跡的控制算法。由于機械臂本身存在非線性和動態(tài)耦合的特性,因此控制算法的設計通常很復雜。目前,已經提出了多種用于機械臂系統(tǒng)的控制方法[1-2],例如比例積分微分控制[3]和計算力矩控制[4],它們通過反饋來實現軌跡跟蹤目標。其次,自適應控制[5]、變結構控制[6]和模糊控制[7]等控制算法也經常被研究人員應用于機械臂控制中。但是,在機械臂系統(tǒng)應用上述算法時會導致相同的跟蹤誤差一次又一次地出現。針對不確定性和強非線性耦合的動態(tài)系統(tǒng)的控制問題,迭代學習控制(iterative learning control, ILC)[8]作為一種有效的控制策略,可以進行復雜建模,適用于具有重復性質的機械臂系統(tǒng)[9-12]。
在實驗中,使用ILC時,機器臂系統(tǒng)在每次迭代開始時以相同的初始條件啟動,因此機械臂每次運行時都需要重置系統(tǒng)的初始條件[13-16]。為了抑制初始條件對實驗結果的影響,目前,Bouakrif[17]提出了一種微分(differentiation, D)型ILC,用于具有外部干擾的剛性機械臂的軌跡跟蹤問題,并具有初始狀態(tài)算法。因為初始狀態(tài)值可以經由迭代自動獲得,因此,避免了在每次迭代時需要選擇初始狀態(tài)值。
加速迭代學習收斂速率也是眾多學者重點研究的科研目標。Wang等基于傳統(tǒng)的D型ILC控制律,利用誤差積分項和比例項抑制初始條件對控制結果的影響等[18]。但是,它沒有考慮系統(tǒng)存在干擾時是否仍然收斂到零的情況。為加快迭代學習控制律的收斂速度[19-21],郭文雅[22]在非擴張算子迭代算法中對算法收斂速度進行研究,使其控制算法具有更加快速的收斂速度。蘭天一等[23]采取區(qū)間可調的變增益加速迭代學習控制算法,處理線性時不變系統(tǒng),以加快ILC算法的收斂速度。并且在此基礎上,蘭天一等[24]以比例微分(proportion differentiation, PD)型為例提出在區(qū)間內可調的加速迭代學習控制算法,通過可調節(jié)區(qū)間證明Lebesgue-p范數下的加速迭代學習控制,在設計的修正區(qū)間內學習增益進行實時修正,區(qū)間外無修正的方式加快系統(tǒng)收斂速度,并通過 Young不等式給出收斂證明。李巖等[25]設計了一種PD型控制律,隨著迭代次數的不斷增加,通過在區(qū)間內對增益矩陣進行實時修改來縮短修正區(qū)間,進而達到加快收斂速度的目的。
在前期工作的基礎上[25],現提出一種無需重置條件下加速迭代學習控制方法。首先,利用控制算法使每次迭代時的初始值無需重置。其次,利用指數變增益加速迭代學習控制律,采用2自由度機械臂系統(tǒng)作為仿真驗證對象,通過對比有無加速收斂算法仿真實驗,驗證本文所提出算法的可行性及有效性。最后,將該算法在Quanser機電一體化運動控制實驗平臺上應用,驗證本文提出算法的實用性。
考慮n自由度機械臂動力學模型:
(1)
系統(tǒng)動力學模型[式(1)]具有以下性質:
性質1慣性矩陣M(qk)是正定有界矩陣,滿足:
(2)
性質2慣性矩陣M(qk)滿足全局Lipschitz連續(xù)條件:
(3)
式(3)中:lm為正數。
性質3重力矩陣G(qk)滿足全局Lipschitz連續(xù)條件:
(4)
式(4)中:gm為正數。
(5)
引理1[26]對于連續(xù)變量
z(t)=[z1(t),z2(t),…,zn(t)]∈Rn,t∈[0,T],可以得到向量值函數z的λ范數范圍,即不等式:
(6)
式(6)中:λ為一實數。
引理2[27]考慮連續(xù)函數f(x,y),其中x∈Rp,|x|≤ρi,ρi≥0,1≤i≤p,y∈Rq,|y|≤μi,μi≥0,1≤i≤q,因此存在L(y)使:
(7)
基本假設:
對于具有外部干擾的機械臂系統(tǒng),設計指數變增益PD型迭代學習控制律為
kPek(t)e-KEt]+τk(t)
(8)
無需重置初始條件需滿足等式:
(9)
式(9)中:ek=qd-qk;KE為修正因子;kD、kP是對稱正定矩陣。
機械臂閉環(huán)系統(tǒng)是穩(wěn)定的,需滿足:
(10)
則
(11)
為了方便討論,令M(qk)≡Mk,G(qk)≡Gk。
根據式(1),可以得出:
(12)
使
(13)
根據式(12)和式(13),得:
(14)
(15)
對式(15)求解一般解xk(t)為
(16)
式(16)中:eA(t-s)是狀態(tài)轉移矩陣。
將式(8)代入式(16),得到:
xk+1(t)-xk(t)=eAtK1ek(0)e-KEt+
(17)
式(8)和式(17)通過分步積分公式得到表達式
xk+1(t)-xk(t)=K1ek(t)e-KEt+
(18)
εk+1-εk=-K1ek(t)e-KEt-
(19)
在式(19)“=”兩邊同時取范數,存在不等式:
(20)
式(20)中:
(21)
式(21)中:I2=[InIn]2。
因此,可以得到不等式:
‖εk+1(t)‖≤‖I2-K1‖‖εk(t)‖+
(22)
為了簡化式(22),令
(23)
根據式(15)和式(23),可以得到:
(24)
根據式(23)、式(24)以及性質1~性質4、引理2和假設1~假設3,可以得到:
(25)
因此,
(26)
根據式(22)和式(26),可得:
(27)
式(27)中:
式(27)兩邊乘e-λt,根據引理1,可以得出:
(28)
(29)
因此,根據式(28)可得:
(30)
根據式(29)和式(30),可以得出:
(31)
從而得出結論
(32)
為驗證無需重置條件下加速迭代學習控制算法的可行性和有效性,利用MATLAB對2-DOFs機械臂系統(tǒng)進行仿真實驗,2-DOFs機械臂模型如圖1所示。Matlab代碼是在MatlabR2014a環(huán)境下運行實現,采用如下機械臂系統(tǒng)動力學模型進行仿真:
M(q)=
G(q)=
仿真實驗時各參數為m1=2 kg,m2=2 kg,l1=0.6 m,l2=0.6 m,lc1=0.4,lc2=0.4,I1=0.1,I2=0.1期望軌跡為qd1=sin(4πt),qd2=sin(4πt)
圖1 二自由度機械臂系統(tǒng)Fig.1 The 2-DOFs manipulator
本節(jié)在兩種不同類型的外部干擾下,利用MATLAB對2-DOFs機械臂系統(tǒng)進行仿真實驗。
外部干擾為d1(t)=sin(30kπt),d2(t)=sin(30kπt)。仿真參數:KE=0.1,kP=diag{5,5},kD=diag{0.75,0.75}。
圖2 連桿1的跟蹤曲線(正弦函數)Fig.2 Trajectory tracking of connecting rod 1 (sine function)
圖3 連桿2的跟蹤曲線(正弦函數)Fig.3 Trajectory tracking of connecting rod 2 (sine function)
圖2和圖3分別為機械臂系統(tǒng)的連桿1(q1)和連桿2(q2)經過20次迭代后曲線圖。從中可以得出,機械臂的每個輸出軌跡在無需重置條件加速迭代學習控制算法下,經過20次迭代后能完全跟蹤其相應的期望軌跡。
圖4為2-DOFs機械臂系統(tǒng)跟蹤誤差隨迭代學習次數變化的曲線。在5次迭代范圍內,機械臂系統(tǒng)每個連桿的跟蹤誤差減少速度較快,在經過17次迭代后可以完全跟蹤上期望軌跡,表明無需重置條件加速迭代學習控制算法的收斂性。
為了便于比較分析,在相同仿真條件下,2-DOFs機械臂系統(tǒng)在無加速收斂條件下,跟蹤誤差數值變化曲線如圖5所示。通過對比兩組仿真實驗,可以得出在本文提出的指數加速收斂算法下,機械臂系統(tǒng)連桿1跟蹤誤差和連桿2跟蹤誤差的數值在17次迭代后可收斂到零的鄰域內。在無加速收斂條件下,機械臂系統(tǒng)連桿1跟蹤誤差和連桿2跟蹤誤差的數值在第25次迭代時減少到零。結果表明,無需重置條件的PD型加速迭代學習控制方法對加速收斂的效果十分明顯。
(2)外部干擾為隨機函數。外部干擾為:d1(t)=random(1)sin(100kπt),d2(t)=random(1)×sin(100kπt)。
仿真參數:KE=0.5,kD=diag{0.45,0.45},kP=diag{6,6}。
圖6和圖7分別為連桿1和連桿2在第20次迭代時,跟蹤軌跡曲線圖。實線為期望軌跡曲線,虛線為第20次迭代時實時軌跡曲線。從圖6和圖7中可以得出,具有隨機函數形式外部干擾的機械臂系統(tǒng),在經過20次迭代后每個輸出軌跡能完全跟蹤其相應的期望軌跡。
圖4 跟蹤誤差隨迭代學習次數變化曲線(正弦函數)Fig.4 The changes of tracking errors in iterations (sine function)
圖5 在無加速條件下,跟蹤誤差隨迭代學習次數變化曲線(正弦函數)Fig.5 The changes of tracking errors in iterations without accelerated convergence (sine function)
圖8為2-DOFs機械臂系統(tǒng)基于無需重置條件下跟蹤誤差隨迭代學習次數變化的曲線圖,帶星號為連桿1跟蹤誤差數值的變化圖,帶圓圈為連桿2跟蹤誤差數值的變化圖??梢缘贸鲈诮涍^16次迭代后可以完全跟蹤上期望軌跡,證明無需重置條件下加速迭代學習控制算法的收斂性。為了便于比較分析,在相同仿真條件下,圖9為系統(tǒng)在無加速收斂條件下,跟蹤誤差數值變化曲線圖。通過對比圖8和圖9,可以得出跟蹤誤差在加速收斂算法下比無加速收斂情況下更快地收斂到零。結果表明,無需重置條件的PD型加速迭代學習控制方法對加速收斂的效果十分明顯。
圖6 連桿1的跟蹤曲線(隨機函數)Fig.6 Trajectory tracking of connecting rod 1 (random function)
圖7 連桿2的跟蹤曲線(隨機函數)Fig.7 Trajectory tracking of connecting rod 2 (random function)
圖8 跟蹤誤差隨迭代學習次數變化曲線(隨機函數)Fig.8 The changes of tracking errors in iterations (random function)
圖9 在無加速條件下,跟蹤誤差隨迭代學習次數變化曲線(隨機函數)Fig.9 The changes of tracking errors in iterations without accelerated convergence (random function)
為進一步說明本文提出的無需重置初始條件下加速收斂算法的實用性,將該算法在Quanser機電一體化運動控制實驗平臺上運行,實驗平臺如圖10所示。
圖10 Quanser 機電一體化運動控制實驗平臺Fig.10 Quanser mechatronics motion control experimental platform
該實驗在外部干擾為正弦函數情況下進行,外部干擾為d1(t)=sin(30kπt),d2(t)=sin(30kπt)。
仿真參數:KE=0.1,kD=diag{0.75,0.75},kP=diag{5,5}。
圖11 連桿1的跟蹤曲線Fig.11 Trajectory tracking of connecting rod 1
圖12 連桿2的跟蹤曲線Fig.12 Trajectory tracking of connecting rod 2
圖11和圖12分別為機械臂系統(tǒng)連桿1和連桿2經過20次迭代后曲線圖。實線為期望軌跡曲線,虛線為第20次迭代后實時軌跡曲線。從圖11和圖12中可以得出,在前0.2 s內存跟蹤軌跡不能完全跟蹤上期望軌跡,在0.2 s后機械臂的每個輸出軌跡在Quanser機電一體化運動控制實驗平臺上,利用無需重置條件加速迭代學習控制算法,經過20次迭代后能完全跟蹤其相應的期望軌跡。說明本文提出的算法的實用性。
針對存在不確定性的2-DOFs機械臂系統(tǒng),提出了一類無需重置條件的PD型加速迭代學習控制方法。首先,利用指數變增益加速學習控制律。基于ILC算法,無需重置每次運行時的初始條件。其次,在λ范數意義下,證明了無需重置條件的PD型加速迭代學習控制算法的收斂性。最后,通過對比仿真實驗表明無需重置條件下加速迭代學習控制算法能夠有效加速收斂,并將該算法在Quanser機電一體化運動控制實驗平臺上進行驗證,進一步說明本文提出算法的實用性。因此,本文提出的無需重置條件PD型加速迭代學習控制算法是可行有效的。