張 鐵 李昌達(dá) 覃彬彬 劉曉剛
1.華南理工大學(xué)機(jī)械與汽車(chē)工程學(xué)院,廣州,510000 2.桂林航天工業(yè)學(xué)院,桂林,541004
機(jī)器人為完成作業(yè),需要按照預(yù)期軌跡實(shí)現(xiàn)一定的位姿,但由于機(jī)器人動(dòng)力學(xué)系統(tǒng)內(nèi)部的不確定性以及各種外界干擾,導(dǎo)致機(jī)器人末端在多次運(yùn)動(dòng)后實(shí)際軌跡偏離期望軌跡甚至發(fā)散,從而無(wú)法進(jìn)行正常作業(yè),因此對(duì)機(jī)器人關(guān)節(jié)進(jìn)行快速精確的軌跡跟蹤控制十分重要。目前針對(duì)機(jī)器人軌跡跟蹤的先進(jìn)控制策略主要分為如下幾大類:滑模變結(jié)構(gòu)控制[1]、自適應(yīng)控制[2]、神經(jīng)網(wǎng)絡(luò)控制[3]與迭代學(xué)習(xí)控制[4],實(shí)際中采用的控制方法往往結(jié)合了上述多種控制策略。OUYANG等[5?6]針對(duì)機(jī)器人軌跡跟蹤問(wèn)題提出了一種PD滑??刂品椒ǎ目刂菩Ч鄬?duì)于標(biāo)準(zhǔn)滑??刂朴兴纳?;孫明軒等[7?8]提出的自適應(yīng)重復(fù)學(xué)習(xí)控制方法能使軌跡誤差隨著循環(huán)次數(shù)的增加而減小,但是控制律含有許多待定參數(shù);BINGüL等[9]針對(duì)二自由度機(jī)器人軌跡跟蹤問(wèn)題提出的粒子群算法解決了機(jī)器人抖動(dòng)的問(wèn)題。上述方法存在減小軌跡誤差效果不明顯、計(jì)算復(fù)雜等不足。目前多數(shù)工業(yè)機(jī)器人通常用于重復(fù)運(yùn)動(dòng)工作,如噴涂、裝配、焊接、搬運(yùn)等,這些情況下機(jī)器人末端的軌跡是周期性的,而迭代學(xué)習(xí)控制(ILC)適合于運(yùn)動(dòng)具有重復(fù)性的對(duì)象的高精度控制,且能實(shí)現(xiàn)對(duì)軌跡的完全跟蹤[10?12],因此迭代學(xué)習(xí)控制方法較其他方法具有一定優(yōu)勢(shì)。但迭代學(xué)習(xí)方法的缺點(diǎn)是難以與其他控制方法相融合,這是因?yàn)榻?jīng)典迭代學(xué)習(xí)控制需要被控對(duì)象具有全局Lipschitz連續(xù)及嚴(yán)格相同初始條件兩個(gè)前提[13],因此有許多學(xué)者致力于研究新的理論體系,使迭代學(xué)習(xí)控制能與其他先進(jìn)控制思想結(jié)合成嶄新的體系[14]。
本文基于CHIEN等[15]提出的自適應(yīng)迭代學(xué)習(xí)控制(adaptive iterative learning control,AILC)算法,將迭代學(xué)習(xí)控制理論與傳統(tǒng)PD控制結(jié)合,并采用自適應(yīng)控制的理論思想,利用誤差信息來(lái)調(diào)節(jié)控制力矩,從而改善軌跡跟蹤精度,提高系統(tǒng)的控制品質(zhì)。
目前,串聯(lián)關(guān)節(jié)型機(jī)器人的機(jī)械結(jié)構(gòu)均為伺服電機(jī)帶動(dòng)減速器運(yùn)動(dòng),減速器輸出軸與手臂連接,SCARA機(jī)器人同樣具有這一結(jié)構(gòu)形式。本文使用SCARA機(jī)器人來(lái)驗(yàn)證自適應(yīng)迭代學(xué)習(xí)控制算法的有效性,提高機(jī)器人軌跡跟蹤控制的精度。實(shí)驗(yàn)平臺(tái)采用AR4215型四軸SCARA機(jī)器人(圖1)。利用表1所示的SCARA機(jī)器人的DH參數(shù)對(duì)該系統(tǒng)進(jìn)行運(yùn)動(dòng)學(xué)建模,在每個(gè)軸上固定一個(gè)參考坐標(biāo)系,如圖2所示,其中,第一、二軸的連桿長(zhǎng)度均為200 mm。
圖1 SCARA機(jī)器人Fig.1 SCARA robot
表1 SCARA機(jī)器人的DH參數(shù)Tab.1 The DH parameter of SCARA robot
圖2 SCARA機(jī)器人的運(yùn)動(dòng)學(xué)模型Fig.2 The kinematics model of SCARA robot
實(shí)驗(yàn)時(shí)僅將機(jī)器人的前三軸作為軌跡跟蹤控制對(duì)象,根據(jù)拉格朗日方程得到其前三軸的動(dòng)力學(xué)方程:
式中,τ1、τ2、τ3分別為關(guān)節(jié) 1、2、3 的力矩;m1、m2、m3分別為連桿1、2、3的質(zhì)量;l為連桿1、2的長(zhǎng)度;q1、q2、q3分別為連桿1、2的轉(zhuǎn)角和連桿3的移動(dòng)距離。
式(1)~式(3)可以寫(xiě)成統(tǒng)一形式:
式中,t為時(shí)間,t∈[0,T];下標(biāo) k∈Z+表示迭代次數(shù);qk、q˙k、q¨k∈ R3分別為關(guān)節(jié)第 k次運(yùn)動(dòng)時(shí)的廣義位移、廣義速度和廣義加速度;M(qk)∈R3×3為機(jī)器人的慣性矩陣;C(qk,q˙k)q˙k∈ R3為離心力和科氏力;G(qk)∈ R3為重力項(xiàng);τk(t)∈R3為輸入控制力矩;dk(t)∈R3為外界干擾項(xiàng)與摩擦力項(xiàng)的總和。
本文的目標(biāo)是針對(duì)該機(jī)器人動(dòng)力系統(tǒng)設(shè)計(jì)一個(gè)控制律,使得當(dāng)k→∞時(shí),qk收斂于對(duì)應(yīng)時(shí)刻的[0,T],其中,跟蹤誤差 ek=qd-qk,e˙k=q˙d-q˙k。
假設(shè)系統(tǒng)精確參數(shù)未知且滿足如下條件:
(1)?t∈ [0,T],期望軌跡 qd、q˙d、q¨d及干擾 d均有界;
(2)初 始 值 滿 足 q˙d0-q˙k0=qd0-qk0=0,?k∈ Z+;
再假設(shè)系統(tǒng)滿足一般n軸串聯(lián)機(jī)器人模型且具有如下特性:
(3)M(qk)∈Rn×n為對(duì)稱正定且有界的矩陣;
(4)M˙(qk)-2C(qk,q˙k)為對(duì)稱矩陣,且滿足xT(M˙(qk)-2C(qk,q˙k))x=0,?x ∈ Rn;
(5) ||M(qk)q¨d-dk|| ≤ β,||C(qk,q˙k)||≤kc||q˙k||,||G(qk)||< kg,?t∈[0,T],其中,參數(shù) β、kc、kg為正實(shí)數(shù)。
文獻(xiàn)[15]針對(duì)多關(guān)節(jié)機(jī)器人系統(tǒng)提出了一種迭代學(xué)習(xí)控制方法,該方法在經(jīng)典PD反饋控制的基礎(chǔ)上,通過(guò)自適應(yīng)迭代項(xiàng)克服機(jī)器人系統(tǒng)的未知參數(shù)和干擾帶來(lái)的不確定性。下面給出該方法的具體內(nèi)容以及收斂性分析。
針對(duì)以上問(wèn)題描述,設(shè)計(jì)如下控制律:
式中,δk為迭代項(xiàng)且是自變量t的函數(shù),首項(xiàng)δ-1=0;KP、KD為 PID 參數(shù),KP,KD∈Rn×n;?!蔙n×n為自適應(yīng)律參數(shù),sgn(e˙k)∈Rn表示對(duì) e˙k中的每一個(gè)元素取符號(hào)后得到的向量。
由式(5)可以看出,控制力矩由三項(xiàng)組成,前兩項(xiàng)為經(jīng)典PD反饋?lái)?xiàng),第三項(xiàng)為迭代項(xiàng),前兩項(xiàng)的反饋力矩與第三項(xiàng)的前饋力矩共同作用來(lái)調(diào)節(jié)力矩。第三項(xiàng)中的系數(shù)δk隨迭代次數(shù)的改變而改變,且每次改變都是基于上次迭代系數(shù)與本次軌跡誤差而進(jìn)行的,體現(xiàn)出該算法“學(xué)習(xí)”的特征;算法中并未出現(xiàn)與機(jī)器人動(dòng)力學(xué)系統(tǒng)有關(guān)的項(xiàng),所需要的僅僅是每次迭代時(shí)的位置誤差和速度誤差信息。該算法如圖3所示。
圖3 算法結(jié)構(gòu)圖Fig.3 The structure chart of algorithm
對(duì)跟蹤誤差的收斂性的證明過(guò)程[15]分為三個(gè)部分:第一部分提出了系統(tǒng)的Lyapunov函數(shù)序列Wk,并證明該序列是單調(diào)遞減的;第二部分證明上述序列的首項(xiàng)有界,由Wk的非負(fù)性可知整個(gè)序列均為有界函數(shù);第三部分證明在迭代次數(shù)趨于無(wú)窮時(shí),跟蹤誤差趨于零。
取如下的Lyapunov函數(shù):
對(duì)式(8)兩邊同時(shí)求導(dǎo),然后在區(qū)間[0,t]上進(jìn)行積分可得
由于 ek0=e˙k0=0,因此式(9)中 Vk(ek,e˙k)=0,將式(4)與假設(shè)(4)中的滿足條件代入式(9)可得
將(5)代入式(10)可得
為了證明ΔWk≤0,有
用式(11)中的Vk(ek,e˙k)替換式(12)中的Vk,
可得
再 將 δˉk= δk- δk-1= Γe˙ksgn(e˙k) 和 δ~=δ-δk代入式(13)并化簡(jiǎn)即可得
在式(14)等號(hào)右邊,由于Vk-1非負(fù),因此只需保證2(KD-αI)為正定矩陣,則可說(shuō)明ΔWk非正,即Wk是非增序列。若能進(jìn)一步證明W0有界,則可以說(shuō)明整個(gè)Wk序列都是有界的。
取k=0,對(duì)式(7)左右兩邊求導(dǎo)可得
將式(11)中積分符號(hào)內(nèi)的式子代入式(15)可得
將 δ~0= δ - δ0,δ0= Γe˙ksgn(e˙k)代入式(16)并化簡(jiǎn)可得
對(duì)于式(14)中的第三項(xiàng),由基本不等式可得
因此
式中,λmax、λmin分別為矩陣A的最大特征值和最小特征值。
由于初始給定的值都有界,故 ||e˙0||、||δ~0||都有界,因而W˙0(t)有界,這意味著W0在[0,T]上一致連續(xù)有界,所以整個(gè)Wk序列都是有界的,進(jìn)而可知ek、e˙k對(duì)于任意k ∈ Z+都有界。
為推導(dǎo)ek、e˙k的收斂性,將上述 Lyapunov函數(shù)Wk改寫(xiě)為
將式(11)代入上式可得
將上式進(jìn)行移項(xiàng)化簡(jiǎn)可得
根據(jù)以上分析,最終可以得到
此外,注意到式(5)中雖然含有符號(hào)函數(shù),但不會(huì)引起機(jī)器人的顫振現(xiàn)象,因?yàn)?/p>
不妨將δk寫(xiě)成如下形式
由于在軌跡跟蹤過(guò)程中,qi本身偏離期望值qd不是很遠(yuǎn),因此可以認(rèn)為?i=1,2,…,k,ek≈ed,這時(shí)
控制器(式(5))中含有符號(hào)函數(shù)的項(xiàng)為
在上述近似中,符號(hào)函數(shù)被約去,并不會(huì)造成力矩值的突變。
上述證明從理論上推導(dǎo)出了“在迭代次數(shù)k趨于∞時(shí)軌跡誤差趨于0”的結(jié)論,下面通過(guò)SCARA機(jī)器人的軌跡運(yùn)動(dòng)實(shí)驗(yàn)來(lái)驗(yàn)證該結(jié)論的正確性。
實(shí)驗(yàn)平臺(tái)采用的SCARA機(jī)器人的工業(yè)控制系統(tǒng)架構(gòu)是x86,機(jī)器人第一、二軸為轉(zhuǎn)動(dòng)軸,減速比分別為50∶1和80∶1;第三軸為移動(dòng)軸,均采用交流伺服電機(jī)驅(qū)動(dòng)。利用其前三軸的軌跡跟蹤運(yùn)動(dòng)對(duì)上述自適應(yīng)迭代學(xué)習(xí)控制算法(式(5)、式(6))的有效性進(jìn)行驗(yàn)證,并將其與PD型迭代學(xué)習(xí)控制算法τk+1=τk+KPq+KDq˙進(jìn)行對(duì)比。
在機(jī)器人運(yùn)行的實(shí)驗(yàn)過(guò)程中,實(shí)時(shí)采集機(jī)器人各關(guān)節(jié)電機(jī)的編碼器讀數(shù),通過(guò)Ethercat總線通信協(xié)議和實(shí)時(shí)操作系統(tǒng)保存到上位機(jī),進(jìn)行實(shí)驗(yàn)數(shù)據(jù)分析。
實(shí)驗(yàn)分為兩個(gè)部分,第一部分規(guī)劃SCARA機(jī)器人第三軸末端的期望軌跡為空間中兩點(diǎn)P1、P2之間的一條線段,如圖4a所示;取運(yùn)動(dòng)時(shí)間為0.76 s,控制器參數(shù)為KP=KD=5.0,Γ=[10 0.2 5]T,記 SCARA 機(jī)器人從 P1運(yùn)動(dòng)至 P2再返回P1為一次迭代過(guò)程。第二部分規(guī)劃SCARA機(jī)器人第二軸末端的期望軌跡為平面中兩點(diǎn)Q1、Q2之間的一條圓弧,如圖4b所示。取運(yùn)動(dòng)時(shí)間為4.59 s,控制器參數(shù)與直線軌跡實(shí)驗(yàn)相同,記SCARA機(jī)器人從Q1以圓弧軌跡運(yùn)動(dòng)至Q2,再以直線返回Q1為一次迭代過(guò)程。機(jī)器人的首次運(yùn)動(dòng)可以得到軌跡誤差信息,將誤差代入式(5)、式(6)便可以得到第一次迭代過(guò)程的迭代系數(shù)與補(bǔ)償力矩,將其發(fā)送至控制器用于控制機(jī)器人的第二次運(yùn)動(dòng)。重復(fù)上述迭代過(guò)程得到每次的誤差數(shù)據(jù)。
圖4 SCARA機(jī)器人末端期望軌跡Fig.4 The desired trajectory of SCARA robot end
將文中提出的AILC算法用于SCARA機(jī)器人,得到的直線軌跡運(yùn)動(dòng)實(shí)驗(yàn)誤差曲線如圖5所示,圖6給出了采用AILC算法與PD型ILC算法的直線軌跡最大誤差,可以看出,隨著迭代次數(shù)的增大,3個(gè)軸的誤差都呈遞減趨勢(shì),且AILC算法的誤差收斂速度較PD型ILC算法快,經(jīng)過(guò)10次迭代后,三軸誤差均有較大程度降低,具體數(shù)據(jù)如表2所示;3個(gè)軸的誤差曲線大致為中心對(duì)稱圖形,這是由于機(jī)器人的運(yùn)動(dòng)軌跡為路徑相同的來(lái)回直線;前兩軸的曲線較第三軸光滑,是因?yàn)榍皟奢S減速器使用的是諧波減速器,其摩擦力矩小且波動(dòng)均勻,而第三軸直接由電機(jī)經(jīng)過(guò)多級(jí)齒輪系減速器和同步帶傳遞到滾珠絲杠實(shí)現(xiàn)直線運(yùn)動(dòng),而齒輪系減速器傳遞運(yùn)動(dòng)中存在摩擦力不均勻問(wèn)題,因此跟蹤誤差曲線存在一定的抖動(dòng)現(xiàn)象。
圖5 SCARA機(jī)器人直線軌跡運(yùn)動(dòng)各軸誤差變化情況Fig.5 The linear trajectory error for each axis of SCARA robot
圖6 直線軌跡最大誤差隨迭代變化情況Fig.6 The change of the linear trajectory maximum error with iteration
表2 直線軌跡誤差數(shù)據(jù)Tab.2 The data of linear trajectory error
采用AILC算法的SCARA機(jī)器人圓弧軌跡運(yùn)動(dòng)實(shí)驗(yàn)誤差曲線如圖7所示,圖8給出了分別采用AILC算法與PD型ILC算法的圓弧軌跡最大誤差,可知,AILC算法的收斂速度略快于PD型ILC算法,但收斂速度較直線軌跡要慢,這是由于圓弧運(yùn)動(dòng)具有向心加速度限制,運(yùn)行速度要低于直線軌跡,因此初始較小,導(dǎo)致迭代效果較果較直線運(yùn)動(dòng)不明顯,具體數(shù)據(jù)如表3所示。圖7中,2 s處出現(xiàn)的誤差突變對(duì)應(yīng)軌跡的轉(zhuǎn)角處Q2。實(shí)驗(yàn)結(jié)果說(shuō)明:文中提出的自適應(yīng)迭代學(xué)習(xí)控制算法可以很好地完成軌跡跟蹤任務(wù),隨著迭代次數(shù)的增加,可以將軌跡誤差減小至一定范圍內(nèi),且對(duì)于初始誤差較大的情況具有更好的跟蹤效果。
圖7 SCARA機(jī)器人圓弧軌跡運(yùn)動(dòng)各軸誤差變化Fig.7 The arc trajectory error for each axis of SCARA robot
圖8 圓弧軌跡迭代過(guò)程中最大誤差變化過(guò)程Fig.8 The change of the arc trajectory maximum error with iteration
表3 圓弧軌跡誤差數(shù)據(jù)Tab.3 The data of arc trajectory error
為了減小執(zhí)行重復(fù)運(yùn)動(dòng)任務(wù)的四軸SCARA工業(yè)機(jī)器人的末端軌跡位置誤差,在CHIEN等[15]提出的自適應(yīng)迭代學(xué)習(xí)控制算法的基礎(chǔ)上進(jìn)行了更深入的研究。首先利用SCARA機(jī)器人的拉格朗日方程和構(gòu)造的Lyapunov函數(shù)序列,從理論上證明了軌跡跟蹤誤差的收斂性,并說(shuō)明其能夠避免顫振現(xiàn)象;搭建了一個(gè)四軸SCARA機(jī)器人實(shí)時(shí)軌跡跟蹤控制實(shí)驗(yàn)平臺(tái),構(gòu)建了基于Ethercat的總線系統(tǒng),算法的計(jì)算結(jié)果通過(guò)前饋力矩輸出到SCARA機(jī)器人驅(qū)動(dòng)器,實(shí)現(xiàn)了軌跡跟蹤控制;結(jié)合機(jī)器人動(dòng)力學(xué)模型及相關(guān)參數(shù),將自適應(yīng)迭代學(xué)習(xí)控制算法應(yīng)用于SCARA機(jī)器人,直線運(yùn)動(dòng)軌跡和半圓弧運(yùn)動(dòng)軌跡的實(shí)驗(yàn)驗(yàn)證了該方法是可以用于工程控制的,且該方法使機(jī)器人直線軌跡實(shí)驗(yàn)中第一軸誤差減小為初始誤差的1.61%,提高了SCARA機(jī)器人的軌跡跟蹤精度。