柴媛媛, 孫中波, 楊宏韜, 李 巖, 劉克平
(長春工業大學 電氣與電子工程學院, 吉林 長春 130012)
迭代學習控制(Iterative Learning Control, ILC)最早由Arimoto提出,該控制策略利用前次操作時測得的誤差信息和控制輸出信號修正當前操作的控制輸入,實現輸出信號完全跟蹤上目標軌跡[1]。因此,迭代學習控制適用于具有重復性質的機械臂系統。為了保證機械臂的收斂性,通常假定每次機械臂運行時的初始狀態與期望軌跡的初始狀態完全相同[2-4]。但在實際機械臂運行中,很難保證一致的初始值條件。
為了解決不確定性系統的初始值問題,Arimoto[5]分析了當初態誤差較小時對迭代學習控制收斂性的影響,指出系統誤差可以收斂于某一鄰域內。Lee[6]提出了帶有初始值修正的ILC算法,并討論了具有固定初始值偏差的ILC算法在收斂性上優于具有隨機初始值偏差的ILC算法。在Lee[6]分析的基礎上,孫明軒[7]提出了帶有初始值修正的ILC算法,但是該算法需保證初始偏差有界,不能應對具有隨機初始值偏差系統的控制問題。對于具有隨機初始值偏差的系統控制問題,呂慶[8]提出了帶有一段修正區間的ILC算法,該修正區間隨著迭代次數增加而減少,有效地抑制了初始值偏差對系統輸出的影響。
機械臂系統在重復運行時,每次運行都需重置初始條件,這降低了實驗結果的實用性[9-11]。目前,Kwang-HyunPark在傳統的D型ILC中加入比例項和誤差積分項,用來改善初始誤差對控制結果的影響[12]。Chen[13]利用一種初始狀態學習方案,結合傳統的D型ILC控制律,不需要每次都重置初始條件,得到了跟蹤誤差的收斂邊界,只根據系統的不確定性和外部擾動確定收斂邊界,而不依賴初始誤差。
文中提出一種無需重置條件下加速抑制隨機初態誤差的迭代學習控制方法。首先,針對任意初始狀態偏差,在時間軸上設計隨迭代次數增加而縮短的修正區間。其次,利用控制算法使每次迭代時的初始值無需重置,最后采用二自由度機械臂系統作為仿真驗證對象,仿真結果證明文中提出的算法是可行、有效的。
考慮n自由度機械臂動力學模型:
(1)
式中:t----時間;
k----迭代學習次數,非負整數;

M(qk)----慣量矩陣,M(qk)∈Rn×n;

G(qk)----重力矩陣,G(qk)∈Rn;
τk(t)----輸入力矩,τk(t)∈Rn。
機械臂動力學模型(1)具有以下性質:
性質1M(qk)正定且有界,滿足
0<β1<‖M(qk)‖<β2
0<β1<β2
(2)
性質2M(qk)滿足全局Lipschitz連續。
‖M(qk+1)-M(qk)‖≤lm‖qk+1-qk‖
(3)
式中:lm----正數。
性質3G(qk)滿足全局Lipschitz連續
‖G(qk+1)-G(qk)‖≤gm‖qk+1-qk‖
(4)
式中:gm----正數。

(5)
引理1考慮連續函數f(x,y),x∈X,X={x∈Rp||x|≤ρi,1≤i≤p},ρi≥0,因此存在L(y)使得
‖f(σ(x1),y)-f(σ(x2),y)‖≤L(y)‖x1-x2‖
?x1,x2∈Rp,y∈Rq
(6)
式中:‖σ(x1)-σ(x2)‖≤‖x1-x2‖。
證明 利用中值定理,存在z∈Rp,使得
因此
(7)

引理2[14]存在z(t)=[z1(t),z2(t),…,zn(t)]∈Rn,t∈[0,T],使得
(8)
文中做如下基本假設:
假設1G(qk)有界:G(qk)≤lg,式中lg從系統的實際限制獲得。
對于具有隨機初始值偏差的機械臂系統,設計迭代學習控制律為
(9)
式中:
(10)
Xk(0)=Dek(0)+xk(0)-xk+1(0)
(11)

(12)
如果‖In-Kd‖<1,該閉環系統是穩定的,則
(13)
其中,ek=qd-qk,Kd,Kp是對稱正定矩陣,D=‖In-Kd‖T,In∈Rn×n為單位矩陣。
證明 為了方便討論,將使M(qk)≡Mk,G(qk)≡G。
根據式(1),可得
(14)
使
(15)

根據式(14)和式(15),可得
(16)
因此
(17)
其中
對于任意τk(t),t∈[0,T],式(17)的一般解xk(t)如下

(18)
式中:eA(t-s)----系統的狀態轉移矩陣。
將式(9)代入式(18),有



(19)

因此

(20)
通過式(9)和式(20),可得


(21)



(22)

(23)
將式(23)代入式(22),并在兩邊同時取范數


(24)

‖ek(t)‖≤‖Ek(t)‖,‖Ek(t)-Dek(s)‖≤‖I2-D‖‖Ek(t)‖

因此


(25)
為了簡化等式,令
(26)


(27)
根據式(26)、式(27)、性質1~性質4、引理1和假設1~假設2,可得

(28)
因此
fk+1(t)-fk(t)≤ω‖Ek+1(t)-Ek(t)‖
(29)

根據式(25)和式(29)可得

(30)
式中:α=supt·s∈[0,T]‖eA(t-s)‖;
η=‖AD+P‖。
式(30)兩邊乘e-λt,根據引理2可得
(31)
通過‖I2-D‖≤1,因此‖In-Kd‖<1,存在足夠大λ,使得
(32)
因此,根據式(31)可得
‖Ek+1(t)‖λ≤ρ‖=Ek(t)‖λ
(33)
根據式(32)和式(33)可得
(34)
從而
(35)


(36)

為了驗證文中控制算法的可行性和有效性,利用Matlab對二自由度機械臂系統軌跡跟蹤問題進行仿真實驗,機械臂模型如圖1所示。

圖1 二自由度機械臂系統
Matlab代碼是在Matlab R2014a環境下運行實現,CPU為Intel(R),3.30 GHz,4 GB內存,采用如下動力學模型進行仿真:
c22=0,
g1=m2lc2gsin(q1+q2)+(m1lc1+m2l1)gsin(q1),
g2=m2lc2gsin(q1+q2)。
仿真時各參數實際值為:
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。
仿真參數:
Kd=diag{0.4,0.4},
Kp=diag{3.5,3.5},
a=1.003,
h=0.1。
系統的初始轉態值由rand函數隨機生成。
期望軌跡為:
qd1=sin(4πt),
qd2=sin(4πt)。
由于定義機械臂每個期望軌跡相同,因此,將機械臂每個輸出軌跡與期望軌跡置于一個圖內,如圖2所示。

圖2 q1,q2跟蹤曲線
圖中,qd1,qd2為期望軌跡,q1,q2為第20次迭代學習時實時跟蹤軌跡。
從圖2可以看出,文中所給出的控制律使機械臂的每個輸出軌跡在經過20次迭代控制后能有效地跟蹤其相應的參考軌跡。
系統跟蹤誤差隨迭代學習次數變化的曲線如圖3所示。
e1為機械臂連桿1的跟蹤軌跡與期望軌跡之間的跟蹤誤差,e2為機械臂連桿2的跟蹤軌跡與期望軌跡之間的跟蹤誤差。從圖3可以看出,跟蹤誤差一直在減少,并且開始時誤差減少速度較快,在經過10次迭代控制后跟蹤誤差已經足夠小,表明了系統跟蹤誤差的收斂性。

圖3 跟蹤誤差隨迭代學習次數變化曲線
為了說明文中提出的迭代學習控制算法對隨機初態的加速抑制效果,在相同仿真條件下,二自由度機械臂系統在無加速抑制隨機初態的ILC條件下,跟蹤誤差隨迭代次數變化的曲線如圖4所示。

圖4 在無加速抑制隨機誤差的條件下,跟蹤誤差隨迭代學習次數變化的曲線
e1為機械臂連桿1的跟蹤軌跡與期望軌跡之間的跟蹤誤差,e2為機械臂連桿2的跟蹤軌跡與期望軌跡之間的跟蹤誤差。
對比圖3和圖4可以看出,在文中提出的加速抑制算法下,跟蹤誤差在第10次左右就可減少到零。而在無加速抑制算法下,跟蹤誤差在第25次左右減少到零。所以,文中提出的算法對加速抑制隨機誤差的效果十分明顯。
在無需重置條件下研究存在不確定性的機械臂系統,結合PD型迭代學習控制算法提出了一種加速抑制初態誤差的迭代學習控制方法。首先,在時間軸上設計了一段隨迭代學習次數增加而減少的修正區間。迭代學習控制算法加速了對隨機初態誤差的抑制,并消除了隨機初態誤差對機械臂的影響。同時,文中提出的迭代學習控制算法使每次迭代時的初始值無需重置。其次,在λ范數意義下,證明了算法的收斂性。最后,數值結果表明,迭代學習控制算法能夠有效加速隨機初態誤差的抑制。所以,文中提出的算法是可行、有效的。