陳 怡,黃煒皓,陳靜文,任鵬博
(1.常州大學(xué)懷德學(xué)院,江蘇 靖江 214500;2.華南理工大學(xué),廣東 廣州 510641;3.北京師范大學(xué)未來教育學(xué)院,廣東 珠海 519087)
最近幾年以來,機(jī)器人快速進(jìn)入人類生活中[1],但是智能水平比較低,通過機(jī)器人可以更好為人類服務(wù),全面提升智能水平。乒乓球發(fā)球機(jī)器人是一個(gè)典型的實(shí)時(shí)、智能系統(tǒng),主要包含智能控制以及傳感器等多項(xiàng)核心技術(shù),是展開系統(tǒng)集成以及技術(shù)水平的良好應(yīng)用,研究乒乓球發(fā)球機(jī)器人在體育智能化領(lǐng)域具有重要的意義[2-3]。乒乓球是我國的國球,因此乒乓球在我國屬于十分常見的運(yùn)動,乒乓球發(fā)球機(jī)器人主要用于運(yùn)動員的日常訓(xùn)練中,研究其手臂末端位置誤差補(bǔ)償方法具有重要意義。
國內(nèi)相關(guān)專家針對機(jī)器人手臂末端位置誤差補(bǔ)償方面的內(nèi)容展開了大量研究,例如文獻(xiàn)[4]構(gòu)建曲線運(yùn)動軌跡偏差和運(yùn)動學(xué)模型,分析機(jī)器人在運(yùn)動過程中產(chǎn)生的軌跡,通過最小二乘算法根據(jù)運(yùn)動軌跡特點(diǎn)確定機(jī)器人手臂的最優(yōu)運(yùn)動學(xué)參數(shù),完成誤差補(bǔ)償。
文獻(xiàn)[5]利用Denavit-Hartenberg方法建立機(jī)器人在過程中的手臂運(yùn)動學(xué)模型,獲取壓腳壓緊力與手臂末端平移變形量之間存在的關(guān)系,結(jié)合孔位信息完成離線補(bǔ)償。文獻(xiàn)[6]提出了一種全梯度標(biāo)準(zhǔn)粒子群優(yōu)化反饋(FGSPSO-BP)神經(jīng)網(wǎng)絡(luò)的工業(yè)機(jī)器人末端位姿補(bǔ)償模型。通過提出的運(yùn)動學(xué)逆變換、基于全梯度下降法的FGSPSO-BP兩種算法,并利用神經(jīng)網(wǎng)絡(luò)的方法,實(shí)現(xiàn)了對機(jī)器人各實(shí)際關(guān)節(jié)角度值的補(bǔ)償。文獻(xiàn)[7]以IRB1410型串聯(lián)機(jī)械臂為研究對象,采用理論分析、仿真分析與實(shí)驗(yàn)驗(yàn)證相結(jié)合的方式,研究分析和補(bǔ)償機(jī)械臂末端位置誤差,解決了機(jī)械臂連桿柔性、關(guān)節(jié)柔性等非線性變形的綜合影響,導(dǎo)致其末端位置發(fā)生偏離而產(chǎn)生誤差的問題。
文獻(xiàn)[8]提出了一種基于神經(jīng)網(wǎng)絡(luò)的末端位置誤差補(bǔ)償方法,將兩種不同類型的參數(shù)誤差等效視作偽誤差,通過神經(jīng)網(wǎng)絡(luò)來逼近偽誤差造成的末端位置誤差曲線,建立末端位置誤差與繩索長度之間的映射關(guān)系,并在關(guān)節(jié)空間中進(jìn)行位置誤差補(bǔ)償。
但上述幾種方法,在補(bǔ)償誤差后,精度均不高,效果不佳。因此,針對誤差補(bǔ)償精準(zhǔn)度的問題,以乒乓球發(fā)球機(jī)器人手臂為研究對象,設(shè)計(jì)了一種機(jī)器人手臂末端位置誤差補(bǔ)償?shù)姆椒ā?/p>
經(jīng)大量實(shí)驗(yàn)測試結(jié)果表明,所提方法可以獲取更加滿意的誤差補(bǔ)償結(jié)果。
乒乓球發(fā)球機(jī)器人在工作過程中會因?yàn)楦魇礁鳂硬煌囊蛩禺a(chǎn)生運(yùn)動誤差,進(jìn)而對機(jī)器人手臂末端位置精度產(chǎn)生影響,產(chǎn)生誤差的因素主要包含以下幾種類型,分別為:
(1)加工誤差
在乒乓球發(fā)球機(jī)器人工作過程中,會因?yàn)楦鱾€(gè)部件的加工工藝進(jìn)而導(dǎo)致生產(chǎn)誤差的存在。
(2)裝配誤差
在組裝機(jī)器人的過程中,會因?yàn)橐恍┌惭b步驟引發(fā)安裝間隙和偏差,進(jìn)而導(dǎo)致裝配誤差的存在。
(3)形變誤差
乒乓球發(fā)球機(jī)器人在工作過程受到力的沖擊,導(dǎo)致機(jī)器人的關(guān)節(jié)和連桿結(jié)構(gòu)發(fā)生形變,進(jìn)而引發(fā)形變誤差。
(4)儀器測量誤差
主要是因?yàn)闄C(jī)器人控制器在測量監(jiān)控?cái)?shù)據(jù)中由儀器測量精度引發(fā)的誤差。
通過以上分析客戶,導(dǎo)致乒乓球發(fā)球機(jī)器人手臂末端產(chǎn)生位置誤差的原因有很多種,所以需要對影響運(yùn)動精度的因素整合處理,全面降低構(gòu)建誤差模型中的參數(shù)。
微分運(yùn)動變換在機(jī)器人的運(yùn)動學(xué)研究中占據(jù)十分重要的地位,當(dāng)乒乓球發(fā)球機(jī)器人隨機(jī)一個(gè)關(guān)節(jié)的幾何參數(shù)發(fā)生微小變化時(shí),需要將微小變換轉(zhuǎn)移到目標(biāo)參考系或者基準(zhǔn)坐標(biāo)系中。
設(shè)定機(jī)器人任意一個(gè)連桿的位姿矩陣為S,則相對基準(zhǔn)坐標(biāo)發(fā)生微分變換后的位姿矩陣可以表示為式(1)的形式:
式中:Trans( dx,dy,dz)—在基準(zhǔn)坐標(biāo)上x軸、y軸和z軸上的微小移動距離dx、dy和dz;Rot(k,dθ)—微小轉(zhuǎn)動角度;I—實(shí)際和理論坐標(biāo)兩者之間的偏差。
針對基準(zhǔn)變換坐標(biāo)系而言,設(shè)定經(jīng)過轉(zhuǎn)換之后的坐標(biāo)A,則對應(yīng)的變換矩陣Trans(d)可以表示為式(2)的形式:
通過右手法獲取圍繞矢量軸轉(zhuǎn)動角度的一般性變換矩陣Rot(k),θ,具體表達(dá)形式,如式(3)所示。
式中:kx、ky、kz—不同的矢量;
θ—機(jī)器人手臂的旋轉(zhuǎn);
versθ—θ對應(yīng)的取值范圍。
根據(jù)轉(zhuǎn)換關(guān)系獲得下式:
式中:δx、δy和δz—不同坐標(biāo)軸對應(yīng)的微分變換算子。
乒乓球發(fā)球機(jī)器人在制造和安裝過程中主要受到環(huán)境等因素的影響,因此運(yùn)動過程機(jī)器人手臂末端位置受到干擾容易產(chǎn)生誤差。為了提高誤差補(bǔ)償效果需要構(gòu)建乒乓球發(fā)球機(jī)器人手臂末端位置誤差模型[9]。
以下主要通過MD-H法和微分變換原理建立模型,優(yōu)先通過不同運(yùn)動學(xué)參數(shù)獲取對應(yīng)的齊次變換矩陣。
當(dāng)各個(gè)參數(shù)存在比較小的誤差時(shí),乒乓發(fā)球機(jī)器人的實(shí)際相鄰連桿之間的變換關(guān)系以及理論之間的變換關(guān)系也會存在一定的誤差,最終導(dǎo)致末端位置坐標(biāo)也存在誤差。
由于各個(gè)連桿機(jī)構(gòu)之間均存在幾何參數(shù)誤差,通過微分運(yùn)行變換原理可以獲取實(shí)際以及理論變換矩陣兩者之間的關(guān)系fAi,如式(5)所示。
ΔA—連桿i的微分變換矩陣。
通過式(6)獲取微分運(yùn)動變化矢量和幾何參數(shù)之間的數(shù)學(xué)函數(shù)關(guān)系hi:
式中:c—元素的位置矢量;
βi、αi—微分運(yùn)動變化矢量;
ai—姿態(tài)矢量變化規(guī)律。
由于乒乓發(fā)球機(jī)器人的誤差補(bǔ)償對象是末端位置,所以需要采用式(7)獲取連桿i對應(yīng)轉(zhuǎn)換關(guān)系:
式中:n—末端連桿數(shù)量;(p×n)x,y,z、(p×o)x,y,z和(p×a)x,y,z—不同角度的末端位姿。同時(shí),為了更好完成誤差補(bǔ)償,需要將各個(gè)連桿產(chǎn)生的誤差相加,進(jìn)而獲取總誤差。
分析乒乓球發(fā)球機(jī)器人手臂末端位置誤差的正態(tài)分布情況,通過最小二乘法可以快速求解最優(yōu)參數(shù)。
針對存在大量噪聲的測量數(shù)據(jù),在辨識過程中可能會出現(xiàn)不收斂甚至發(fā)散的情況。所以,可以將觀測值和估計(jì)值兩者的平方和D表示為式(8)的形式:
通過2.1小節(jié)的乒乓球發(fā)球機(jī)器人手臂末端位置誤差模型可以準(zhǔn)確反映機(jī)器人末端位置誤差和運(yùn)動學(xué)參數(shù)兩者之間的關(guān)系,為后續(xù)誤差補(bǔ)償研究奠定堅(jiān)實(shí)的基礎(chǔ)。為了有效提升機(jī)器人手臂末端位置誤差,通過運(yùn)動學(xué)參數(shù)來增加運(yùn)動學(xué)模型的準(zhǔn)確性。根據(jù)末端位置坐標(biāo)坐標(biāo)測量設(shè)備激光跟蹤儀獲取機(jī)器人末端位置的實(shí)際值,將其設(shè)定為最小二乘法樣本觀測值。設(shè)定共有m組數(shù)據(jù),則對應(yīng)的參數(shù)辨識模型可以表示為式(9)的形式:
式中:Δqm—樣本點(diǎn)對應(yīng)的位置坐標(biāo)值;um—雅克比矩陣。
為了確保得到最優(yōu)解,需要設(shè)定采集樣本的數(shù)量。由于乒乓發(fā)球機(jī)器人屬于冗余機(jī)器人,所以各個(gè)運(yùn)動學(xué)參數(shù)之間存在冗余關(guān)系,需要求解雅克比矩陣對應(yīng)的奇異矩陣,更加準(zhǔn)確辨識運(yùn)動學(xué)參數(shù)分解。以下需要分解處理奇異值,通過初等行變換,獲取線性相關(guān)和對應(yīng)奇異值之間的關(guān)系。刪除運(yùn)動學(xué)參數(shù)中線性相關(guān)變量,同時(shí)剔除雅克比矩陣中的列,進(jìn)而獲取去除冗余參數(shù)的乒乓球發(fā)球機(jī)器人手臂末端位置誤差模型,
最小二乘法的參數(shù)辨識流程,如圖1所示。
圖1 基于最小二乘法的運(yùn)動學(xué)參數(shù)辨識流程圖Fig.1 Flow Chart of Kinematic Parameter Identification Based on Least Squares Method
上述誤差模型只體現(xiàn)了軌跡誤差受參數(shù)靜態(tài)誤差的影響產(chǎn)生的變化,機(jī)器人屬于動態(tài)性能,因此在誤差補(bǔ)償過程中需要考慮末端負(fù)載、機(jī)器人系統(tǒng)整體自重等因素產(chǎn)生的影響,以上因素的存在會導(dǎo)致模型的建立變得十分困難,無法統(tǒng)一對全部模型展開補(bǔ)償。
優(yōu)先對乒乓球發(fā)球機(jī)器人工作空間實(shí)行網(wǎng)格劃分處理[10],參考點(diǎn)選取立方體在網(wǎng)格中對應(yīng)的頂點(diǎn),機(jī)器人在參考點(diǎn)的誤差可以通過測量儀器測量得到。通過機(jī)器人的逆變換矩陣可以獲取機(jī)器人在不同頂點(diǎn)的關(guān)節(jié)空間誤差Δ?i,j,如式(10)所示。
在運(yùn)動過程中機(jī)器人的控制點(diǎn)處于立方體內(nèi)部,不單一位于某個(gè)頂點(diǎn)。因此,獲取的乒乓球發(fā)球機(jī)器人手臂末端位置誤差具有連續(xù)性,以下將關(guān)節(jié)距離權(quán)重設(shè)定為評價(jià)函數(shù)的插值誤差補(bǔ)償方法,通過式(11)給出控制點(diǎn)和立方體頂點(diǎn)之間的關(guān)節(jié)空間距離權(quán)重ωi:
式中:β—控制點(diǎn)數(shù)量。
根據(jù)上述分析結(jié)果,通過下式計(jì)算不同控制點(diǎn)對應(yīng)關(guān)節(jié)的誤差值Δ?i,j:
將得到的控制點(diǎn)處不同關(guān)節(jié)點(diǎn)的誤差值,補(bǔ)償?shù)嚼碚撟藨B(tài),將補(bǔ)償應(yīng)用到機(jī)器人運(yùn)動規(guī)劃的關(guān)節(jié)轉(zhuǎn)角中,最終實(shí)現(xiàn)手臂末端位置誤差補(bǔ)償ρ(i,j):
為了驗(yàn)證所提乒乓球發(fā)球機(jī)器人手臂末端位置誤差補(bǔ)償方法的有效性,選取乒乓球發(fā)球機(jī)器人作為研究對象,實(shí)驗(yàn)環(huán)境及設(shè)備如下:
系統(tǒng)環(huán)境:Microsoft Windows7專業(yè)版,Intel(R)Core(TM)i5-3470 CPU@3.20GHZ;
軟件環(huán)境:MATLAB E2014a;
硬件設(shè)備:SONY攝錄-體機(jī)。體機(jī)參數(shù)類型:產(chǎn)品類型:自帶硬盤的高清的攝像機(jī);傳感器類型:Exmor R CMOS;最大像素:420萬;快門描述:1/6~1/1000s。
開發(fā)語言:MATLAB;
乒乓球發(fā)球機(jī):世霸龍發(fā)球機(jī)。包裝尺寸:(88×41×36)CM;消耗功率:30W;額定交流電壓:(100~240)V;額定功率:50W;額定頻率:50/60Hz;出球頻率:(35~90)/min;出球速度:(4~40)m/s;出球落點(diǎn):全臺不定點(diǎn);乒乓球直徑d=0.04m。
遙控器:電子控制器。
本實(shí)驗(yàn)研究發(fā)球機(jī)器人手臂末端定位誤差問題,并給予補(bǔ)償,達(dá)到減小機(jī)器人手臂末端定位誤差,實(shí)驗(yàn)步驟如下:
(1)首先通過乒乓球發(fā)球機(jī)器人多次發(fā)球,設(shè)定采集樣本的數(shù)量,并采集發(fā)球機(jī)器人手臂末端點(diǎn)軌跡,如圖2所示。本次實(shí)驗(yàn)設(shè)置采樣樣本數(shù)量為300 次,采樣頻率即發(fā)球頻率為每分鐘(30~90)次,采樣時(shí)間為10min,分別從三個(gè)維度(x、y、z)對機(jī)器人手臂末端點(diǎn)軌跡進(jìn)行補(bǔ)償,發(fā)球機(jī)器人手臂末端點(diǎn)軌跡,如圖2所示。
圖2 發(fā)球機(jī)器人手臂末端點(diǎn)軌跡Fig.2 End Point Trajectory of Serve Robot Arm
(2)其次將發(fā)球機(jī)器人手臂末端位置產(chǎn)生的數(shù)據(jù),輸入構(gòu)建的發(fā)球機(jī)器人手臂末端位置誤差模型中,再根據(jù)公式進(jìn)行相應(yīng)的轉(zhuǎn)換,得出總誤差。
(3)補(bǔ)償獲得的總誤差,對在不同的位置的誤差進(jìn)行補(bǔ)償前和補(bǔ)償后對比。
在乒乓球發(fā)球機(jī)器人完成訓(xùn)練之后,獲取到的機(jī)器人手臂末端在x、y、z三個(gè)維度,不同位置點(diǎn)補(bǔ)償前后的結(jié)果,如圖3所示。
圖3 乒乓球發(fā)球機(jī)器人手臂末端位置誤差補(bǔ)償前后測試結(jié)果分析Fig.3 Analysis of Test Results Before and After the Error Compensation of the Arm End Position Error of the Table Tennis Serving Robot
分析圖3可知,通過所提方法可以實(shí)現(xiàn)不同方向的乒乓球發(fā)球機(jī)器人手臂末端位置誤差補(bǔ)償,且補(bǔ)償效果十分穩(wěn)定,相比補(bǔ)償前,誤差得到明顯的下降。
為了進(jìn)一步驗(yàn)證所提方法的優(yōu)越性,分析補(bǔ)償前后的精度變化情況及補(bǔ)償耗時(shí),該分析采用對比實(shí)驗(yàn)的形式,對比方法分別為所提方法、文獻(xiàn)[4]方法和文獻(xiàn)[5]方法。詳細(xì)的實(shí)驗(yàn)測試結(jié)果,如表1和表2所示。
表1 位置誤差補(bǔ)償前后各個(gè)方法精度測試結(jié)果對比分析Tab.1 Comparative Analysis of the Accuracy Test Results of Each Method Before and After Position Error Compensation
表2 位置誤差補(bǔ)償耗時(shí)測試結(jié)果對比分析Tab.2 Comparison and Analysis of Time-Consuming Test Results of Position Error Compensation
根據(jù)表1 測試結(jié)果可知,所提方法補(bǔ)償后最大誤差為5.6mm,并且補(bǔ)充后方差和均值較低,僅為0.000102mm 和3.0mm,而文獻(xiàn)[4]方法和文獻(xiàn)[5]方法補(bǔ)償后的最大誤差分別為8.7mm 和9.0mm,補(bǔ)償后方差為0.00182mm 和0.00195mm,并且均值達(dá)到了4.2mm和4.5mm,三種方法相比可知,所提方法補(bǔ)償后最大誤差降低了3.1mm 和3.4mm,并且方差和均值均降低了0.0017mm和1.2mm以上,由此可知,所提方法的誤差補(bǔ)償效果高于對比方法,該方法有效提高了補(bǔ)償效果。
根據(jù)表2測試結(jié)果可知,所提方法補(bǔ)償最長耗時(shí)為4.1s,在Y軸的補(bǔ)償時(shí)間達(dá)到了最低,該值僅為3.6s,而文獻(xiàn)[4]方法和文獻(xiàn)[5]方法補(bǔ)償最長耗時(shí)分別為12.6s和11.5s,最低耗時(shí)也達(dá)到了11.3s和10.7s,通過對比所提方法的最高補(bǔ)償耗時(shí)和文獻(xiàn)方法的最低補(bǔ)償耗時(shí)可知,所提方法的補(bǔ)償耗時(shí)降低了6.6s以上,因此,驗(yàn)證了所提方法的誤差補(bǔ)償效率高于另兩種方法,說明應(yīng)用該方法的乒乓發(fā)球機(jī)器人的工作效果更好。
所提方法取得較好的應(yīng)用效果是因?yàn)樵摲椒ㄍㄟ^MD-H法和微分變換原理建立乒乓球發(fā)球機(jī)器人手臂末端位置誤差模型,并通過最小二乘法可以快速求解最優(yōu)參數(shù),增加運(yùn)動學(xué)模型的準(zhǔn)確性。
針對機(jī)器人手臂末端位置誤差和誤差補(bǔ)償問題,針對機(jī)器人運(yùn)動學(xué)基礎(chǔ)理論展開研究,提出一種乒乓球發(fā)球機(jī)器人手臂末端位置誤差補(bǔ)償方法。經(jīng)實(shí)驗(yàn)測試結(jié)果表明,所提方法可以有效降低位置誤差,獲取滿意的補(bǔ)償結(jié)果。
所提方法仍然存在不足,后續(xù)將針對以下內(nèi)容展開研究:
(1)后續(xù)可以將機(jī)器人的姿態(tài)誤差變化加入研究過程中,進(jìn)而展開更加全面的誤差分析以及補(bǔ)償。
(2)雖然所提方法分析不同了參數(shù)誤差對精度產(chǎn)生的影響,在后續(xù)研究過程匯總可以通過誤差因素增強(qiáng)末端定位精度。