劉作軍,胡 冬,龐 爽,張 燕
(河北工業(yè)大學(xué) 人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300130)
對于工業(yè)生產(chǎn)中具有重復(fù)性軌跡跟蹤的運動控制,迭代學(xué)習(xí)控制(Iterative Learning Control,ILC)通過利用前一次或前幾次迭代時的系統(tǒng)跟蹤誤差和控制量,不斷優(yōu)化調(diào)整下一次運行時的控制量,最終實現(xiàn)系統(tǒng)期望軌跡的完全跟蹤[1,2]。在很多生產(chǎn)過程中廣泛存在的搬運、噴涂或者分揀等具有重復(fù)性的工作,工業(yè)機器人被廣泛應(yīng)用。由于工業(yè)機器人屬于高度非線性、強耦合、時變的動力學(xué)系統(tǒng)[3],這使得魯棒控制、模糊控制等方法都難以達到理想的軌跡跟蹤精度[4~6],而ILC這種基于數(shù)據(jù)驅(qū)動的控制方法則較好地解決了這一問題。
ILC從提出至今取得了豐富的理論與實踐應(yīng)用成果[7,8],成為了控制理論中的一個重要分支[9,10]。文獻[11]提出一種PD反饋控制和迭代學(xué)習(xí)前饋控制相結(jié)合的方法來提高機器人軌跡跟蹤的精度。文獻[12]采用了一種非線性迭代學(xué)習(xí)控制在康復(fù)機器人系統(tǒng)中來提高其軌跡跟蹤性能。文獻[13]使用低增益反饋來解決動態(tài)系統(tǒng)的復(fù)雜性和不確定性,采用了分散的迭代學(xué)習(xí)控制做前饋來控制機器人的軌跡跟蹤。文獻[14]提出一種基于神經(jīng)網(wǎng)絡(luò)的自適應(yīng)ILC方法,分析了不確定機器人軌跡規(guī)劃的收斂性和穩(wěn)定性,同時提高了跟蹤精度。以上文獻均是從算法本身所做的研究,忽視了對所跟蹤軌跡特征的有效利用。此外,對于強耦合的多控制量系統(tǒng),存在著迭代學(xué)習(xí)收斂過程緩慢的問題。
到目前為止,有關(guān)ILC在工業(yè)機器人應(yīng)用方面的文獻都是從期望軌跡的初始點學(xué)習(xí)到終止點,然后再回到初始點重新學(xué)習(xí)。而在實際生產(chǎn)中,存在很多具有對稱期望軌跡性質(zhì)的零部件加工處理,本文在這種期望軌跡對稱特征基礎(chǔ)上,將傳統(tǒng)ILC方法中的一次軌跡迭代學(xué)習(xí)過程分解為對稱的兩次迭代學(xué)習(xí)過程,通過交替使用對稱軌跡的控制信息進行迭代學(xué)習(xí)。
此外,針對機器人運動學(xué)參考模型與實際參數(shù)間存在偏差的情況,提出一種基于自適應(yīng)運動學(xué)模型的鏡像型迭代學(xué)習(xí)控制方法。該方法選取卡爾曼濾波法對機器人運動學(xué)模型的參數(shù)進行在線估計,并不斷更新參考模型,達到提高系統(tǒng)收斂速度和跟蹤精度的目的。
從有效利用被加工部件特征的角度出發(fā),在常規(guī)迭代學(xué)習(xí)控制的基礎(chǔ)上,提出了鏡像型迭代學(xué)習(xí)控制(Mirrored Iterative Learning Control,MILC),圖1所示為MILC流程圖。
圖1 MILC流程圖
該方法將具有對稱特征的期望軌跡以中點為界分解成前后兩個獨立半軌跡,以半軌跡迭代為一次迭代過程。首先對前半軌跡進行學(xué)習(xí),得到本次迭代控制信息,再將其進行對稱轉(zhuǎn)換后得到后半軌跡下次迭代的控制信息,這樣就避免了后半軌跡從零初始值開始學(xué)習(xí)的行為。
經(jīng)過上面的轉(zhuǎn)換后,前半軌跡的起點、終點及各過程點偏差量和控制量分別被處理為后半軌跡對應(yīng)的終點、起點及各過程點的偏差量和控制量。同樣,將后半軌跡得到的控制經(jīng)驗采取同樣轉(zhuǎn)換后,應(yīng)用于前半軌跡下次迭代。如此往復(fù),不斷交替優(yōu)化調(diào)整下次對應(yīng)軌跡迭代的控制量,從而減少了系統(tǒng)迭代次數(shù),提高了收斂速度。
鏡像型迭代學(xué)習(xí)控制的算法描述過程如下。首先,定義待跟蹤的對稱期望軌跡:
其中,運行時間t ∈[0,Th],Th為期望軌跡的半個軌跡迭代所用的時間,yd-f(t)和yd-l(t)分別表示期望軌跡的前半個軌跡和后半個軌跡,fsym(*)表示對稱期望軌跡的前后兩個半軌跡之間所具有的鏡像對稱的關(guān)系。
定義期望輸出與實際輸出的偏差如下:
其中,ydk(t)和yk(t)分別表示系統(tǒng)第k次迭代時相應(yīng)的期望軌跡和實際跟蹤軌跡。
本文以開環(huán)P型鏡像為例,所設(shè)計的MILC算法的轉(zhuǎn)換學(xué)習(xí)律如下式所示:
其中,uk+1(t)表示系統(tǒng)在第k+1次迭代時的控制輸入;Γ為其學(xué)習(xí)增益。
式(3)表示第k+1次迭代t時刻控制量是通過與其對稱的第k次迭代在逆向Th-t時刻的控制量和偏差基礎(chǔ)上得到的。
針對工業(yè)機器人運動學(xué)模型存在參數(shù)偏差的情況,進一步提出一種基于自適應(yīng)運動學(xué)模型的鏡像型迭代學(xué)習(xí)控制方法。該方法引入自適應(yīng)控制的思想,選取卡爾曼濾波方法作為機器人運動學(xué)模型參數(shù)估計的方法進行在線估計,以修正模型參數(shù)的偏差,并不斷更新運動學(xué)參考模型,進而解決模型初始偏差的問題。
對于機器人參數(shù)估計系統(tǒng),對機器人連桿長度(后面稱為桿長)作出估計,注意到機器人正向模型(Li為機器人待估參數(shù)),故可用卡爾曼濾波器作為機器人模型參數(shù)估計的方法,直接使用觀測值對機器人運動學(xué)模型參數(shù)進行估計,并更新參考模型,以減小機器人參考模型與實際模型之間的偏差。
卡爾曼濾波包括時間更新和測量更新兩個過程。首先,根據(jù)前一時刻狀態(tài)來推測出當前時刻的狀態(tài),根據(jù)前一時刻協(xié)方差來推測出當前時刻的協(xié)方差;然后,在觀測空間和狀態(tài)空間進行迭代;最后在卡爾曼增益的作用下,通過當前時刻的測量值來修正該時刻的狀態(tài)值。
在本文中,卡爾曼濾波對機器人運動學(xué)模型參數(shù)估計過程如下所示。
式(4)描述了一個具有隨機性的動態(tài)系統(tǒng):
其中,xk(t)為系統(tǒng)狀態(tài)變量,yk(t)為系統(tǒng)的觀測變量,A為系統(tǒng)矩陣,B表示噪聲到狀態(tài)的投影變換矩陣,C為觀測矩陣,ωk(t)和vk(t)為相互獨立分布的正態(tài)白噪聲,其均值E(ωk)=q,E(vk)=r。
卡爾曼濾波要解決的問題就是基于當前時刻以及過去時刻的觀測值yk,yk-1,yk-2…來估計當前狀態(tài)xk,此時卡爾曼濾波方程如下所示:
本文所提方法,在工業(yè)機器人中應(yīng)用的具體步驟如下:
1)觀測機器人末端位置(三維坐標);
2)根據(jù)機器人的運動學(xué)參考模型,將三維坐標值觀測值和期望軌跡點分別轉(zhuǎn)換為各關(guān)節(jié)的角度值,求出機器人各關(guān)節(jié)角度偏差值;
3)將偏差值輸入MILC控制器,計算得出機器人各關(guān)節(jié)的轉(zhuǎn)速控制量;
4)將MILC計算得出的控制量輸出作用于機器人各關(guān)節(jié);
5)將第2)步的觀測值以及第3)步中的關(guān)節(jié)角偏差輸入卡爾曼濾波器來估計模型參數(shù),輸出更新后的參考模型;
6)判斷系統(tǒng)是否到達該半周期的終點,如未到達,則返回第1)步并重復(fù)上述步驟;
7)判斷系統(tǒng)是否達到已經(jīng)設(shè)定的迭代終止條件(系統(tǒng)跟蹤精度或者系統(tǒng)迭代次數(shù)),如未達到,則返回第1)步并重復(fù)上述步驟。
本文以如圖2所示四自由度機器人為例。
圖2 機器人結(jié)構(gòu)圖
θ1~θ4表示機器人的四個轉(zhuǎn)動關(guān)節(jié)角,L0~L3表示機器人的桿長,其中L0表示機器人的基座高度,其頂端設(shè)為全局坐標原點。
系統(tǒng)仿真利用MATLAB-Robotics Toolbox工具箱實現(xiàn),機器人系統(tǒng)的數(shù)學(xué)描述如下:
其中,θ4×1表示圖2中四個關(guān)節(jié)角的角度;u4×1表示四個關(guān)節(jié)角的轉(zhuǎn)速;kΔ 表示控制器輸出離散間隔;y3×1表示為機器人末端執(zhí)行器實際位置的三維坐標;g(*)表示機器人運動學(xué)模型。
機器人系統(tǒng)的輸出為其末端執(zhí)行器的三維坐標,其輸出方程的具體形式如下所示:
其中,y1、y2和y3為系統(tǒng)位置傳感器所檢測的包含有均值為0,方差為0.0025高斯白噪聲的機器人末端三維坐標;ci表示cos(θi),si表示sin(θi),θi表示機器人第i關(guān)節(jié)的角度,Li表示機器人的桿長。
使用卡爾曼濾波法對機器人模型參數(shù)進行估計時,機器人的桿長作為系統(tǒng)的待估狀態(tài)向量:xk=[L1,L2,L3]T;觀測矩陣C由運動學(xué)控制器提供的當前關(guān)節(jié)角求出:A=I,B=0。
需要指出的是,當機械臂的連桿長度固定時,xk=[L1,L2,L3]T的估計本質(zhì)上是定常參數(shù)估計問題,此時式(4)中A=I,B=0。對于這種特殊情況,卡爾曼濾波器退化為遞推最小二乘法,因此卡爾曼濾波器得到的估計結(jié)果等價于遞推最小二乘的估計結(jié)果。另一方面,在某些實際應(yīng)用中,存在機械臂連桿長度可調(diào)節(jié)的情況,此時的連桿長度估計則為動態(tài)參數(shù)估計問題,依然可以采用卡爾曼濾波器對其進行計算,而遞推最小二乘法不能直接適用于這種情況。所以本文選取卡爾曼濾波器對機械臂連桿長度進行參數(shù)估計更具有普遍性和實際意義。
本文所用的P型MILC學(xué)習(xí)律如下所示:
其中,fikine(*)為機器人的運動學(xué)參考逆模型,此處選取學(xué)習(xí)增益Γ=0.36。
本文給定的對稱期望軌跡設(shè)定如下所示,式中三維坐標單位為厘米(cm)。
選取機器人末端執(zhí)行器初始坐標如下所示:
機器人的初始桿長設(shè)為如下所示:
選取機器人參考關(guān)節(jié)角的初始角度如下所示:
該控制器設(shè)計目標:針對具有鏡像對稱特征的期望軌跡yd(t),通過反復(fù)相互利用前一次迭代產(chǎn)生的鏡像控制數(shù)據(jù),作用于后一次鏡像軌跡之上,使系統(tǒng)實際輸出軌跡yk(t)與期望軌跡yd(t)之間的偏差盡可能減小。跟蹤任務(wù)滿足需重復(fù)性條件,期望軌跡具備鏡像對稱特征。
本文中的仿真實驗是在有噪聲的環(huán)境中完成的,由于噪聲的存在,系統(tǒng)的實際輸出軌跡完全跟蹤上期望軌跡時,會需要較多次迭代,為方便觀察,此處選取迭代過程的前5次迭代來對跟蹤效果進行分析。
為驗證本文所提方法的有效性,針對四自由度機器人分別設(shè)計了基于自適應(yīng)運動學(xué)模型的鏡像型迭代學(xué)習(xí)控制器和基于自適應(yīng)運動學(xué)模型的傳統(tǒng)迭代學(xué)習(xí)控制器,并將其跟蹤效果進行了對比分析。
機器人在兩種控制器下對期望軌跡的實際三維跟蹤過程分別如圖3和圖4中的(a)、(b)、(c)所示,分別表示末端執(zhí)行器在空間X、Y和Z方向的實際跟蹤過程,圖中,虛線代表期望軌跡,實線代表實際軌跡。
圖3 MILC控制器下的三維跟蹤過程
圖4 ILC控制器下的三維跟蹤過程
由圖3和圖4的實際跟蹤過程可以看出,兩種控制器均可以使機器人系統(tǒng)輸出隨迭代次數(shù)增加逐漸向期望軌跡收斂,在第5次迭代時,MILC作用的系統(tǒng)輸出已經(jīng)能夠跟蹤期望軌跡,只存在由噪聲引起的小幅度波動,而ILC作用下的系統(tǒng)輸出還沒有達到基本跟蹤期望軌跡。因此,明顯可看出本文所提的MILC算法比ILC算法向期望軌跡的收斂速度要快。
圖5和圖6分別給出了兩種控制器作用下的卡爾曼濾波器的待估參數(shù),此參數(shù)為在線調(diào)節(jié)機器人模型的參數(shù)。虛線表示系統(tǒng)的最優(yōu)模型參數(shù),實線表示實際模型參數(shù)的變化過程。
圖5 MILC卡爾曼濾波參數(shù)
由圖5和圖6中卡爾曼濾波參數(shù)的變化曲線可以看出,在MILC作用下的待估參數(shù)相比于ILC作用下的待估參數(shù)能較快趨于系統(tǒng)的最優(yōu)參數(shù),進而加快系統(tǒng)收斂速度。
圖6 ILC卡爾曼濾波參數(shù)
如圖7給出了兩種控制器作用下的跟蹤誤差曲線對比。圖7(a)為前半軌跡誤差對比,圖7(b)為后半軌跡誤差對比。帶三角形實線表示MILC誤差曲線,帶圓形的實線表示ILC誤差曲線。
圖7 兩個獨立軌跡跟蹤誤差對比
由圖7可以看出,在迭代相同步數(shù)的情況下,MILC控制器下系統(tǒng)的收斂速度比ILC控制器下收斂速度快,并且其跟蹤誤差也小于ILC作用下的跟蹤誤差。
本文考慮到工業(yè)生產(chǎn)與加工過程中,基于機器人運動學(xué)模型存在模型偏差的情況,針對具有對稱特征的期望軌跡,提出了基于自適應(yīng)運動學(xué)模型的鏡像型迭代學(xué)習(xí)控制方法。該方法利用期望軌跡的對稱特征,交替使用前后兩個半軌跡的控制信息,不斷優(yōu)化調(diào)整對應(yīng)半軌跡下次迭代的控制輸入,縮短迭代學(xué)習(xí)的周期。同時,模型存在模型偏差的問題,引入自適應(yīng)控制的思想,選取卡爾曼濾波方法對運動學(xué)模型參數(shù)進行估計,以修正機器人參考模型與實際模型之間的偏差,并不斷更新參考模型。該方法實現(xiàn)了機器人對具有對稱特征的期望軌跡的快速跟蹤、減小了系統(tǒng)的跟蹤誤差,提升了迭代學(xué)習(xí)控制的收斂速度。仿真結(jié)果表明,本文所提方法能夠使系統(tǒng)快速收斂,從而提高工業(yè)生產(chǎn)效率,具有很強的實際應(yīng)用意義。