?

基于分步式自適應學習的參數辨識方法

2020-12-18 03:43付樹兵高興宇陸佳琪趙東升
桂林電子科技大學學報 2020年2期
關鍵詞:折線圖經驗值位姿

付樹兵, 高興宇, 陸佳琪, 趙東升

(桂林電子科技大學 機電工程學院,廣西 桂林 541004)

機器人的定位誤差95%是由于初始運動學模型不準確所造成的[1]。提高機器人定位精度的方法主要有2類:1)提高機器人零件的加工及裝配精度,該方法對減少機器人幾何誤差,提高絕對定位精度有一定作用,但是對于高精度作業要求的機器人,提高精度效果不明顯,投入成本驟增;2)建立運動學模型,測量末端位置誤差,辨識幾何參數誤差值,在控制器上進行誤差補償,該方法是提高機器人精度標定的主要方法,其中參數辨識算法是提高定位精度、降低成本最有效、最直接的方法。目前,使用最廣的辨識算法仍然是最小二乘算法,但是傳統的最小二乘算法對部分相關參數辨識精度低,且無法對冗余參數進行辨識,從而導致部分參數誤差無法補償或補償精度低。張虎[1]采用DH建模,先后對比最小二乘法、優化算法、遺傳算法和退火算法補償效果,最大定位誤差從17.966 8 mm降至1.350 0 mm,MDH模型比DH模型最大定位誤差降低了約0.001 0 mm。王坤[2]以HSR-JR605機器人為實驗對象,采用二級標定方法,采用不同的方法對幾何參數誤差和非幾何參數誤差進行補償,機器人的平均定位誤差由4.111 3 mm降至1.060 8 mm。目前機器人標定的最大定位誤差大多數還停留在毫米級。為此,提出一種基于分步式自適應學習參數辨識方法,此方法辨識精度高,辨識結果穩定,算法程序化方便,可執行性強,補償后最大定位誤差降低至0.2 mm以內。

1 運動學模型的建立

目前的工業機器人仍然主要采用經典的D-H模型建模。此模型下,當機器人相鄰關節旋轉軸線平行或近乎平行時,存在奇異點,對末端位置精度影響很大[3-4]。為了減少辨識參數,采用D-H模型與MDH模型相結合的運動學模型,在平行或近乎平行的關節間引入繞Y軸的旋轉參數β,在不平行的關節間仍保留傳統的D-H模型。

以歐姆龍公司的Viper650機器人為實驗對象,結構參數名義值如表1所示,坐標關系圖如圖1所示,MATLAB仿真各參數誤差預設值如表2所示。

表1 運動學參數名義值

表2 運動學參數誤差預設值

圖1 Viper650機器人坐標關系圖

根據圖1,相鄰的2個關節坐標系間的D-H變換矩陣為

(1)

其中,2、3關節間的MDH變換矩陣為

A2=

(2)

則機器人位姿矩陣

(3)

其中:n(nx,ny,nz)、o(ox,oy,oz)、a(ax,ay,az)為機器人末端法蘭相對于基坐標系的姿態向量;p(px,py,pz)為機器人末端執行器的位置向量。

機構的雅可比矩陣能夠反映機構位姿的微小變化以及各部件參數的微小變化之間的關系,可以描述機器人在末端執行器微分運動和各關節微分運動之間的聯系[5]。機器人運動學誤差模型為

(4)

其中Δp為實際位置pr與名義位置pn之差。式(4)簡化后模型為

Δp=J·Δδ,

(5)

其中:J為3×25的機器人誤差系數矩陣,又稱雅可比矩陣,

(6)

Δδ為25×1的幾何誤差參數矩陣,

Δδ=(Δθ1…Δθ6,Δd1…Δd6,Δa0…Δa5,

Δα0…Δα5,Δβ2)T。

(7)

因此,求解時應選擇測量點數N>25/3,為了提高辨識精度,一般取N≥9構成雅可比矩陣的超定方程組。當雅可比矩陣列滿秩時可直接進行求解,

Δδ=J-1Δp。

(8)

通過對雅可比矩陣的分析以及參數辨識的運算發現,其秩rank(J)<25,導致求解結果不唯一。因此,對J矩陣的列向量進行冗余性分析,可對J矩陣進行QR分解,

(9)

其中:Q為N×N的正交矩陣;R為25×25的上三角矩陣,R矩陣對角線上的元素為J矩陣的列特征值。特征值為0的列代表不起作用參數所對應的參數列,特征值很小非常接近于0的列代表相關參數列,不起作用參數以及部分相關參數屬于冗余參數,在最小二乘算法中無法辨識。通過QR分解獲知冗余參數后,對獨立參數進行誤差補償。圖2為QR分解的x、y、z方向的各參數特征值除以1 000后的折線圖,圖3為傳統最小二乘算法在X、Y、Z軸的參數辨識折線圖。

圖2 QR分解特征值分布折線圖

圖3 傳統最小二乘算法參數辨識折線圖

由圖2、3可知,連桿長度誤差Δai和連桿偏移誤差Δdi的QR分解特征值趨于0,連桿長度誤差Δai和連桿偏移誤差Δdi的部分誤差值辨識結果不一致,同時參數辨識精度低,這也驗證了當QR分解特征值趨于0時,最小二乘法參數辨識精度較低。另外,冗余參數Δθ6、Δd5、Δa5、Δα6的參數辨識結果基本為0,根據文獻[5],Δθ6和Δα6對末端位置精度的影響基本可忽略,所以最終需要辨識和補償的參數為23個。其中Δθi、Δαi、Δβ2的辨識采用傳統的最小二乘法,能基本滿足辨識精度要求。Δdi和Δai的辨識采用區域搜索法,q11、q12、q13、q14、q15、q16代表Δdi區域搜索后辨識結果。同理,p11、p12、p13、p14、p15、p16代表Δai區域搜索后辨識結果。

2 工業機器人誤差模型參數辨識方法

相同參數誤差條件下,不同位姿對末端位置造成的誤差存在差異性[5],因此在進行參數誤差辨識之前,需要獲取n組合適位姿并進行誤差測量。為此,采用方差作為參數辨識穩定性指標。其中,區域搜索環節步長不能設置過小,否則在參數誤差較大的情況下,容易陷入局部最優,步長過大則會影響區域搜索分辨率。鑒于此,采用多步長區域搜索法。具體操作流程為:

1)每個關節在活動范圍內產生隨機數,以40組數據為單位,對求解的雅可比矩陣進行QR分解,區分獨立參數、相關參數和不起作用的參數。

2)補償獨立參數誤差。

3)設置步長0.03 mm進行區域搜索,搜索完畢后進行辨識精度微調,分別設置步長為0.02、0.01 mm進行單次搜索,逐次補償后方差為評判標準,從100個40組數據中找到方差最小的一組,同時參考Δdi和Δai的辨識情況。重復步驟1)~3),直至篩選出合適的位姿且穩定的參數辨識方程。

4)反求Δθ5和Δα5的經驗值,經驗值補償后重新辨識參數誤差。

5)重新設定誤差值,驗證整體的參數辨識效果,證明本方法的辨識精度和可靠性。

經實驗證明,采用最小二乘法進行參數辨識,Δθ5的辨識結果總是大于預設值,Δα5的辨識結果總是小于預設值,為了使區域搜索法參數誤差辨識結果更加精準,需要對這2個參數分別乘以一個經驗值。實驗證明,這個經驗值不是定值。關節角Δθ5和扭角Δα5的誤差變化對Δθ5和Δα5的辨識精度影響不大,但會隨桿長偏差Δai和連桿偏移誤差Δdi的變化而變化。有無經驗值補償對整體定位精度影響不是很大,只會影響部分相關參數的辨識精度,所以可以先初步辨識各參數誤差,然后計算當前參數誤差需要的經驗值。步驟3)是整個參數辨識的關鍵,主流程圖和區域搜索流程圖如圖4、5所示。

圖4、5中,Vr1代表當前參數誤差補償后的方差,通過不斷遍歷,將Vr1最小值賦值給Vr。Vr2代表正向搜索參數誤差補償后方差,Vr3代表負向搜索參數誤差補償后方差。n1根據誤差預估值而定,l為搜索步長。暫定n1為40,li為0.03,則最終區域搜索區間為[-1.2,1.2]。輸出結果中,Mx、Vr、Av分別為參數誤差補償后的最大定位誤差、方差及平均誤差,Er為最終辨識的誤差參數矩陣,Tr為從隨機數中選取的40組較佳辨識位姿矩陣,Tr=[Tr1Tr2Tr3Tr4Tr5Tr6]T。若測量點選擇太少,部分參數的辨識精度可能會發生較大跳變,最終導致部分參數的補償精度不足;若測量點太多,一方面會增加參數的辨識時間,另一方面測量組數據增加時,辨識精度的提高不明顯,最終選定測量點數為40。測量位姿的確定猶如機器學習和訓練的過程,根據隨機數的變化,不斷更新獲取最佳辨識位姿,辨識精度也不斷提高。

圖4 主流程圖

3 仿真分析

根據流程圖選出測量位姿,并進行仿真實驗。設置較小參數誤差和較大參數誤差2種情況,分別對Δθ5和Δα5有無經驗值補償的辨識進行對比。表3為不同預設值參數辨識結果對比。從表3可以看出:

1)Δθ5和Δα5的辨識精度對Δd5和Δa5的辨識結果影響很大。從QR分解的特征值分析,Δd5和Δa5屬于相關性較強的參數,傳統最小二乘法對其辨識結果趨于0,為無法辨識。

2)Δθ5和Δα5的辨識精度對其他參數的辨識波動基本可以忽略,可以先根據初步辨識結果反求Δθ5和Δα5的經驗值,然后進行二次參數辨識。

圖6為第1組誤差預設值未標定前,X、Y、Z軸定位誤差分布,圖7~9為第1組誤差預設值參數辨識并補償誤差后的定位誤差折線圖。圖10~12為第2組誤差預設值參數辨識并補償后的定位誤差折線圖。從圖6~12可知:

圖5 區域搜索流程圖

表3 不同預設值參數辨識結果對比

圖6 未標定前誤差折線圖

圖7 第1組X軸誤差分布折線圖

圖8 第1組Y軸誤差分布折線圖

圖9 第1組Z軸誤差分布折線圖

圖10 第2組X軸誤差分布折線圖

圖11 第2組Y軸誤差分布折線圖

1)當整體參數都存在微小誤差時,對機器人末端位置的精度影響較大。

2)區域搜索法比傳統的最小二乘法參數辨識精度更高,誤差的補償效果更好。

3)當參數誤差Δθ5和Δα5較小時,有無經驗值補償對定位誤差精度的提高效果不明顯;當參數誤差Δθ5和Δα5較大時,經驗值補償可一定程度上提高機器人定位精度,特別是Z軸的定位精度。

4)Δθ5、Δd5、Δa5、Δα5誤差值對末端定位精度影響較小。

2種算法的誤差對比如表4所示。由表4可知,第1組數據,與標定前相比,區域搜索算法的最大定位誤差降低了99.33%,方差降低了99.99%,平均誤差降低了99.62%;與傳統最小二乘法對比,最大定位誤差降低了86.73%,方差降低了98.74%,平均誤差降低了85.38%。第2組數據,與標定前相比,

圖12 第2組Z軸誤差分布折線圖

表4 2種算法的誤差對比mm

區域搜索算法的最大誤差降低了98.95%,方差降低了99.99%,平均誤差降低了99.39%;與傳統最小二乘法相比,最大定位誤差降低了51.90%,方差降低了81.61%,平均誤差降低了98.76%。這也驗證了基于區域搜索法參數辨識的高精度和高可靠性。

4 結束語

針對工業機器人標定環節中最小二乘法部分參數辨識不穩定、冗余參數無法辨識等問題,提出了一種分步式自適應學習參數辨識方法??紤]到相同誤差值情況下,不同位姿對末端位置精度的影響各不相同,同時,不同位姿對參數辨識精度也會存在差異,為此,采用隨機數方法,MATLAB遍歷仿真,自適應學習當前型號機器人參數辨識的最佳位姿測量點,測量點對相同型號的機器人參數辨識同樣適用,后續的參

數辨識可直接跳過測量位姿選取環節。經驗值的補償可提高相關參數的辨識精度,從而提高機器人整體定位精度。但單步長搜索分辨率不能設置過小,否則當參數誤差值較大情況下,可能會陷入局部最優。MATLAB仿真結果表明,機器人最大定位誤差降低至0.2 mm,證明本方法是有效的,為機器人精度標定的實施提供了理論依據。

猜你喜歡
折線圖經驗值位姿
融合二維圖像和三維點云的相機位姿估計
結合游戲活動打造園本建構課程體系
數據增加折線圖自動延長
船舶清理機器人定位基準位姿測量技術研究
優化ORB 特征的視覺SLAM
基于藍墨云班課的分子生物技術課程過程性評價的研究
讓折線圖顯示在一個單元格中
再多也不亂 制作按需顯示的折線圖
企業專業經驗值結構化
美化Excel折線圖表
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合