劉作軍,胡 冬,龐 爽,張 燕
(河北工業大學 人工智能與數據科學學院,天津 300130)
對于工業生產中具有重復性軌跡跟蹤的運動控制,迭代學習控制(Iterative Learning Control,ILC)通過利用前一次或前幾次迭代時的系統跟蹤誤差和控制量,不斷優化調整下一次運行時的控制量,最終實現系統期望軌跡的完全跟蹤[1,2]。在很多生產過程中廣泛存在的搬運、噴涂或者分揀等具有重復性的工作,工業機器人被廣泛應用。由于工業機器人屬于高度非線性、強耦合、時變的動力學系統[3],這使得魯棒控制、模糊控制等方法都難以達到理想的軌跡跟蹤精度[4~6],而ILC這種基于數據驅動的控制方法則較好地解決了這一問題。
ILC從提出至今取得了豐富的理論與實踐應用成果[7,8],成為了控制理論中的一個重要分支[9,10]。文獻[11]提出一種PD反饋控制和迭代學習前饋控制相結合的方法來提高機器人軌跡跟蹤的精度。文獻[12]采用了一種非線性迭代學習控制在康復機器人系統中來提高其軌跡跟蹤性能。文獻[13]使用低增益反饋來解決動態系統的復雜性和不確定性,采用了分散的迭代學習控制做前饋來控制機器人的軌跡跟蹤。文獻[14]提出一種基于神經網絡的自適應ILC方法,分析了不確定機器人軌跡規劃的收斂性和穩定性,同時提高了跟蹤精度。以上文獻均是從算法本身所做的研究,忽視了對所跟蹤軌跡特征的有效利用。此外,對于強耦合的多控制量系統,存在著迭代學習收斂過程緩慢的問題。
到目前為止,有關ILC在工業機器人應用方面的文獻都是從期望軌跡的初始點學習到終止點,然后再回到初始點重新學習。而在實際生產中,存在很多具有對稱期望軌跡性質的零部件加工處理,本文在這種期望軌跡對稱特征基礎上,將傳統ILC方法中的一次軌跡迭代學習過程分解為對稱的兩次迭代學習過程,通過交替使用對稱軌跡的控制信息進行迭代學習。
此外,針對機器人運動學參考模型與實際參數間存在偏差的情況,提出一種基于自適應運動學模型的鏡像型迭代學習控制方法。該方法選取卡爾曼濾波法對機器人運動學模型的參數進行在線估計,并不斷更新參考模型,達到提高系統收斂速度和跟蹤精度的目的。
從有效利用被加工部件特征的角度出發,在常規迭代學習控制的基礎上,提出了鏡像型迭代學習控制(Mirrored Iterative Learning Control,MILC),圖1所示為MILC流程圖。

圖1 MILC流程圖
該方法將具有對稱特征的期望軌跡以中點為界分解成前后兩個獨立半軌跡,以半軌跡迭代為一次迭代過程。首先對前半軌跡進行學習,得到本次迭代控制信息,再將其進行對稱轉換后得到后半軌跡下次迭代的控制信息,這樣就避免了后半軌跡從零初始值開始學習的行為。
經過上面的轉換后,前半軌跡的起點、終點及各過程點偏差量和控制量分別被處理為后半軌跡對應的終點、起點及各過程點的偏差量和控制量。同樣,將后半軌跡得到的控制經驗采取同樣轉換后,應用于前半軌跡下次迭代。如此往復,不斷交替優化調整下次對應軌跡迭代的控制量,從而減少了系統迭代次數,提高了收斂速度。
鏡像型迭代學習控制的算法描述過程如下。首先,定義待跟蹤的對稱期望軌跡:

其中,運行時間t ∈[0,Th],Th為期望軌跡的半個軌跡迭代所用的時間,yd-f(t)和yd-l(t)分別表示期望軌跡的前半個軌跡和后半個軌跡,fsym(*)表示對稱期望軌跡的前后兩個半軌跡之間所具有的鏡像對稱的關系。
定義期望輸出與實際輸出的偏差如下:

其中,ydk(t)和yk(t)分別表示系統第k次迭代時相應的期望軌跡和實際跟蹤軌跡。
本文以開環P型鏡像為例,所設計的MILC算法的轉換學習律如下式所示:

其中,uk+1(t)表示系統在第k+1次迭代時的控制輸入;Γ為其學習增益。
式(3)表示第k+1次迭代t時刻控制量是通過與其對稱的第k次迭代在逆向Th-t時刻的控制量和偏差基礎上得到的。
針對工業機器人運動學模型存在參數偏差的情況,進一步提出一種基于自適應運動學模型的鏡像型迭代學習控制方法。該方法引入自適應控制的思想,選取卡爾曼濾波方法作為機器人運動學模型參數估計的方法進行在線估計,以修正模型參數的偏差,并不斷更新運動學參考模型,進而解決模型初始偏差的問題。
對于機器人參數估計系統,對機器人連桿長度(后面稱為桿長)作出估計,注意到機器人正向模型(Li為機器人待估參數),故可用卡爾曼濾波器作為機器人模型參數估計的方法,直接使用觀測值對機器人運動學模型參數進行估計,并更新參考模型,以減小機器人參考模型與實際模型之間的偏差。
卡爾曼濾波包括時間更新和測量更新兩個過程。首先,根據前一時刻狀態來推測出當前時刻的狀態,根據前一時刻協方差來推測出當前時刻的協方差;然后,在觀測空間和狀態空間進行迭代;最后在卡爾曼增益的作用下,通過當前時刻的測量值來修正該時刻的狀態值。
在本文中,卡爾曼濾波對機器人運動學模型參數估計過程如下所示。
式(4)描述了一個具有隨機性的動態系統:

其中,xk(t)為系統狀態變量,yk(t)為系統的觀測變量,A為系統矩陣,B表示噪聲到狀態的投影變換矩陣,C為觀測矩陣,ωk(t)和vk(t)為相互獨立分布的正態白噪聲,其均值E(ωk)=q,E(vk)=r。
卡爾曼濾波要解決的問題就是基于當前時刻以及過去時刻的觀測值yk,yk-1,yk-2…來估計當前狀態xk,此時卡爾曼濾波方程如下所示:

本文所提方法,在工業機器人中應用的具體步驟如下:
1)觀測機器人末端位置(三維坐標);
2)根據機器人的運動學參考模型,將三維坐標值觀測值和期望軌跡點分別轉換為各關節的角度值,求出機器人各關節角度偏差值;
3)將偏差值輸入MILC控制器,計算得出機器人各關節的轉速控制量;
4)將MILC計算得出的控制量輸出作用于機器人各關節;
5)將第2)步的觀測值以及第3)步中的關節角偏差輸入卡爾曼濾波器來估計模型參數,輸出更新后的參考模型;
6)判斷系統是否到達該半周期的終點,如未到達,則返回第1)步并重復上述步驟;
7)判斷系統是否達到已經設定的迭代終止條件(系統跟蹤精度或者系統迭代次數),如未達到,則返回第1)步并重復上述步驟。
本文以如圖2所示四自由度機器人為例。

圖2 機器人結構圖
θ1~θ4表示機器人的四個轉動關節角,L0~L3表示機器人的桿長,其中L0表示機器人的基座高度,其頂端設為全局坐標原點。
系統仿真利用MATLAB-Robotics Toolbox工具箱實現,機器人系統的數學描述如下:

其中,θ4×1表示圖2中四個關節角的角度;u4×1表示四個關節角的轉速;kΔ 表示控制器輸出離散間隔;y3×1表示為機器人末端執行器實際位置的三維坐標;g(*)表示機器人運動學模型。
機器人系統的輸出為其末端執行器的三維坐標,其輸出方程的具體形式如下所示:

其中,y1、y2和y3為系統位置傳感器所檢測的包含有均值為0,方差為0.0025高斯白噪聲的機器人末端三維坐標;ci表示cos(θi),si表示sin(θi),θi表示機器人第i關節的角度,Li表示機器人的桿長。
使用卡爾曼濾波法對機器人模型參數進行估計時,機器人的桿長作為系統的待估狀態向量:xk=[L1,L2,L3]T;觀測矩陣C由運動學控制器提供的當前關節角求出:A=I,B=0。
需要指出的是,當機械臂的連桿長度固定時,xk=[L1,L2,L3]T的估計本質上是定常參數估計問題,此時式(4)中A=I,B=0。對于這種特殊情況,卡爾曼濾波器退化為遞推最小二乘法,因此卡爾曼濾波器得到的估計結果等價于遞推最小二乘的估計結果。另一方面,在某些實際應用中,存在機械臂連桿長度可調節的情況,此時的連桿長度估計則為動態參數估計問題,依然可以采用卡爾曼濾波器對其進行計算,而遞推最小二乘法不能直接適用于這種情況。所以本文選取卡爾曼濾波器對機械臂連桿長度進行參數估計更具有普遍性和實際意義。
本文所用的P型MILC學習律如下所示:

其中,fikine(*)為機器人的運動學參考逆模型,此處選取學習增益Γ=0.36。
本文給定的對稱期望軌跡設定如下所示,式中三維坐標單位為厘米(cm)。

選取機器人末端執行器初始坐標如下所示:

機器人的初始桿長設為如下所示:

選取機器人參考關節角的初始角度如下所示:

該控制器設計目標:針對具有鏡像對稱特征的期望軌跡yd(t),通過反復相互利用前一次迭代產生的鏡像控制數據,作用于后一次鏡像軌跡之上,使系統實際輸出軌跡yk(t)與期望軌跡yd(t)之間的偏差盡可能減小。跟蹤任務滿足需重復性條件,期望軌跡具備鏡像對稱特征。
本文中的仿真實驗是在有噪聲的環境中完成的,由于噪聲的存在,系統的實際輸出軌跡完全跟蹤上期望軌跡時,會需要較多次迭代,為方便觀察,此處選取迭代過程的前5次迭代來對跟蹤效果進行分析。
為驗證本文所提方法的有效性,針對四自由度機器人分別設計了基于自適應運動學模型的鏡像型迭代學習控制器和基于自適應運動學模型的傳統迭代學習控制器,并將其跟蹤效果進行了對比分析。
機器人在兩種控制器下對期望軌跡的實際三維跟蹤過程分別如圖3和圖4中的(a)、(b)、(c)所示,分別表示末端執行器在空間X、Y和Z方向的實際跟蹤過程,圖中,虛線代表期望軌跡,實線代表實際軌跡。


圖3 MILC控制器下的三維跟蹤過程


圖4 ILC控制器下的三維跟蹤過程
由圖3和圖4的實際跟蹤過程可以看出,兩種控制器均可以使機器人系統輸出隨迭代次數增加逐漸向期望軌跡收斂,在第5次迭代時,MILC作用的系統輸出已經能夠跟蹤期望軌跡,只存在由噪聲引起的小幅度波動,而ILC作用下的系統輸出還沒有達到基本跟蹤期望軌跡。因此,明顯可看出本文所提的MILC算法比ILC算法向期望軌跡的收斂速度要快。
圖5和圖6分別給出了兩種控制器作用下的卡爾曼濾波器的待估參數,此參數為在線調節機器人模型的參數。虛線表示系統的最優模型參數,實線表示實際模型參數的變化過程。

圖5 MILC卡爾曼濾波參數
由圖5和圖6中卡爾曼濾波參數的變化曲線可以看出,在MILC作用下的待估參數相比于ILC作用下的待估參數能較快趨于系統的最優參數,進而加快系統收斂速度。

圖6 ILC卡爾曼濾波參數
如圖7給出了兩種控制器作用下的跟蹤誤差曲線對比。圖7(a)為前半軌跡誤差對比,圖7(b)為后半軌跡誤差對比。帶三角形實線表示MILC誤差曲線,帶圓形的實線表示ILC誤差曲線。

圖7 兩個獨立軌跡跟蹤誤差對比
由圖7可以看出,在迭代相同步數的情況下,MILC控制器下系統的收斂速度比ILC控制器下收斂速度快,并且其跟蹤誤差也小于ILC作用下的跟蹤誤差。
本文考慮到工業生產與加工過程中,基于機器人運動學模型存在模型偏差的情況,針對具有對稱特征的期望軌跡,提出了基于自適應運動學模型的鏡像型迭代學習控制方法。該方法利用期望軌跡的對稱特征,交替使用前后兩個半軌跡的控制信息,不斷優化調整對應半軌跡下次迭代的控制輸入,縮短迭代學習的周期。同時,模型存在模型偏差的問題,引入自適應控制的思想,選取卡爾曼濾波方法對運動學模型參數進行估計,以修正機器人參考模型與實際模型之間的偏差,并不斷更新參考模型。該方法實現了機器人對具有對稱特征的期望軌跡的快速跟蹤、減小了系統的跟蹤誤差,提升了迭代學習控制的收斂速度。仿真結果表明,本文所提方法能夠使系統快速收斂,從而提高工業生產效率,具有很強的實際應用意義。