葛 勇,曾勁松
(安徽機(jī)電職業(yè)技術(shù)學(xué)院 電氣工程學(xué)院,安徽 蕪湖市 241002)
目前,機(jī)器人在工業(yè)中得到了廣泛的應(yīng)用,通過機(jī)器人末端執(zhí)行機(jī)構(gòu)的姿態(tài)精度來測量機(jī)器人的工作性能。通過大量研究得出,當(dāng)前影響機(jī)器人姿態(tài)精度的因素主要包括:結(jié)構(gòu)參數(shù)誤差、環(huán)境因素干擾、動力學(xué)參數(shù)誤差、測量誤差等。在干擾因素當(dāng)中包含了線性因素,也包含了非線性因素[1]。針對各類線性因素的干擾可結(jié)合其變化規(guī)律對位姿進(jìn)行補(bǔ)償,但非線性因素由于沒有明顯的變化規(guī)律,因此很難實(shí)現(xiàn)對其精準(zhǔn)的補(bǔ)償。同時,由于各類非線性影響因素的存在,使得機(jī)器人在運(yùn)行過程中的精度會受到極大程度上的負(fù)面影響。因此,國外有相關(guān)方面的專家針對工業(yè)機(jī)器人位姿誤差補(bǔ)償方面展開了研究。提出由離線預(yù)調(diào)節(jié)和在線補(bǔ)償組成的迭代學(xué)習(xí)誤差補(bǔ)償方法,將改進(jìn)的蒙特卡羅定位和機(jī)器視覺技術(shù)相結(jié)合,幫助自動泊車機(jī)器人進(jìn)行位姿修正[2]。
近幾年,國內(nèi)相關(guān)領(lǐng)域研究人員對這一話題也進(jìn)行了深入的研究,并提出了較為可行的方法。有研究學(xué)者提出了一種全梯度標(biāo)準(zhǔn)粒子群優(yōu)化反饋神經(jīng)網(wǎng)絡(luò)的工業(yè)機(jī)器人末端位姿補(bǔ)償方法。計(jì)算機(jī)器人關(guān)節(jié)角度,應(yīng)用全梯度下降法來優(yōu)化反饋神經(jīng)網(wǎng)絡(luò),計(jì)算實(shí)際位姿與理想位姿之間的差值,并通過網(wǎng)絡(luò)訓(xùn)練獲取位姿參數(shù)與角度差值的關(guān)系,實(shí)現(xiàn)對機(jī)器人關(guān)節(jié)角度值的補(bǔ)償[3]。雖然這種方法能夠很好的補(bǔ)償機(jī)器人關(guān)節(jié)角度,但是在實(shí)際應(yīng)用中,機(jī)械臂連桿容易出現(xiàn)較大位移,依舊存在一定的誤差。還有相關(guān)專家提出基于慣性傳感器的工業(yè)機(jī)器人定位誤差補(bǔ)償方法,主要融合了視覺傳感器與慣性傳感器的信息,獲取工業(yè)機(jī)器人定位參數(shù),通過光學(xué)運(yùn)動跟蹤識別方法對末端位姿進(jìn)行修正,實(shí)現(xiàn)誤差補(bǔ)償[4]。但是由于視覺傳感器獲取畫面的角度有限,容易忽略機(jī)器人運(yùn)行過程中關(guān)節(jié)角的變化,因此在角度上還存在較大誤差。
針對上述問題,本文開展基于深度學(xué)習(xí)的工業(yè)機(jī)器人位姿誤差自動補(bǔ)償方法設(shè)計(jì)研究。
為實(shí)現(xiàn)對工業(yè)機(jī)器人位姿誤差的有效補(bǔ)償,引入深度學(xué)習(xí),建立工業(yè)機(jī)器人位姿目標(biāo)識別定位模型,并以其作為標(biāo)準(zhǔn),開展后續(xù)對誤差的補(bǔ)償操作。在位姿目標(biāo)識別定位模型中引入深度學(xué)習(xí)目標(biāo)檢測模型的基本結(jié)構(gòu),包括目標(biāo)區(qū)、特征表示區(qū)、區(qū)域分類等。利用深度學(xué)習(xí)算法對工業(yè)機(jī)器人運(yùn)行過程中的圖像進(jìn)行處理,并提取出可能存在目標(biāo)的定位框架,將這一框架中包含的區(qū)域視為候選區(qū)域。通過自動方式提取圖像中的特征。采用分類器判定區(qū)域當(dāng)中是否存在目標(biāo)以及目標(biāo)所屬的具體類別。在這一過程中用于實(shí)現(xiàn)深度學(xué)習(xí)的RPN網(wǎng)絡(luò)會產(chǎn)生一定損失,這一部分損失可通過下述公式計(jì)算得出:
式中,L(p,t)表示上述過程深度學(xué)習(xí)RPN網(wǎng)絡(luò)損失量;N表示學(xué)習(xí)次數(shù);p表示生成框架類別預(yù)測信息;p"表示一個標(biāo)簽中包含的信息。 表示平衡變量。根據(jù)上述公式,可確定模型在進(jìn)行深度學(xué)習(xí)過程中產(chǎn)生的損失量。根據(jù)這一損失情況,在輸入變量時,對輸入值進(jìn)行補(bǔ)償,將最后一個卷積層當(dāng)中的特征圖上輸入ROI區(qū)域大小為:
式中,S表示最后一個卷積層當(dāng)中的特征圖上輸入ROI 區(qū)域大??;y和y"表示ROI 區(qū)域中某一點(diǎn)的縱軸坐標(biāo);x和x"表示ROI區(qū)域中某一點(diǎn)的橫軸坐標(biāo)。上述公式中,該節(jié)點(diǎn)的坐標(biāo)表示為(x,y,x",y")。由于工業(yè)機(jī)器人本身運(yùn)行環(huán)境當(dāng)中存在較多復(fù)雜因素,因此采用多任務(wù)學(xué)習(xí)模式對位姿目標(biāo)識別定位模型進(jìn)行優(yōu)化。在進(jìn)行多任務(wù)模式的訓(xùn)練中,使用2 個階段的學(xué)習(xí)策略來進(jìn)行模型的訓(xùn)練,目的是防止多個任務(wù)同時進(jìn)行,會造成網(wǎng)絡(luò)的不穩(wěn)定[5]。所以,在模型訓(xùn)練的初期,模型是一個單一任務(wù)或雙任務(wù)組成的模型,通過不斷學(xué)習(xí)、迭代構(gòu)成完整的模型結(jié)構(gòu)。同時,在訓(xùn)練的過程中,在RPN 網(wǎng)絡(luò)中模擬現(xiàn)實(shí)工業(yè)機(jī)器人的運(yùn)行場景,模擬內(nèi)容具體包括工業(yè)機(jī)器人開始時的位姿、結(jié)束時的位姿、連桿運(yùn)行狀態(tài)等[6]。通過上述學(xué)習(xí)方式,可以使模型的參數(shù)不斷地更新,在原有的任務(wù)中,將所學(xué)到的知識轉(zhuǎn)移到新的任務(wù)中,使整個訓(xùn)練過程的學(xué)習(xí)效率得到提高[7]。將上述構(gòu)建的模型導(dǎo)入到包含256維度的RPN網(wǎng)絡(luò)中間層當(dāng)中,在經(jīng)過在最后一層卷積后,輸出256個維度的特征圖像,每一個圖像都有固定的尺寸,這些特征圖像上的每一個點(diǎn)都有對應(yīng)的原始圖像和區(qū)域,利用回歸方法確定在原始圖像上該特征點(diǎn)所在區(qū)間。在此基礎(chǔ)上,選擇k 個具有不同大小以及長寬比的矩形,將其作為定位框。利用RPN網(wǎng)絡(luò)生成定位框,利用定位框確定工業(yè)機(jī)器人在運(yùn)行過程中的位移以及角度。
在上述論述基礎(chǔ)上,將模糊控制器導(dǎo)入到工業(yè)機(jī)器人中,利用這一程序?qū)崿F(xiàn)對位姿誤差的自動補(bǔ)償控制。圖1為模糊控制器的基本結(jié)構(gòu)圖。
圖1 模糊控制器基本結(jié)構(gòu)圖
利用模糊控制器當(dāng)中的模糊化模塊,將精準(zhǔn)的變量轉(zhuǎn)變?yōu)槟:兞?。在模糊化模塊接口上的操作實(shí)際是定義語言變量的過程[8]。在模糊控制器當(dāng)中,設(shè)置工業(yè)機(jī)器人位姿的物產(chǎn)數(shù)值以及誤差變化率數(shù)值,將其作為模糊控制器的輸入變量。為了使模糊控制語言變量轉(zhuǎn)換到離散域當(dāng)中,實(shí)現(xiàn)計(jì)算機(jī)的識別,通過下述公式確定量化因子:
式中,k表示量化因子;m表示論域參數(shù);e表示低限制;e"表示高限值。在確定量化因子后,根據(jù)控制規(guī)則中的輸入變量與輸出變量的模糊關(guān)系,通過模糊推理,確定輸出變量的模糊狀態(tài),利用這一模糊狀態(tài)對工業(yè)機(jī)器人位姿誤差進(jìn)行補(bǔ)償。在實(shí)際補(bǔ)償控制過程中,若每一次采樣后都需要進(jìn)行模糊化、推理、去模糊化等操作,則會造成補(bǔ)償方法本身運(yùn)行負(fù)擔(dān)增加,并占用大量資源[9]。針對這一問題,將上述運(yùn)算以離線形式進(jìn)行,并針對每一個可能產(chǎn)生的輸入白能量和輸出變量進(jìn)行存儲,通過模糊查詢表得到對應(yīng)數(shù)值,以此根據(jù)這一數(shù)據(jù)實(shí)現(xiàn)對工業(yè)機(jī)器人位姿誤差的自動補(bǔ)償。
完成對模糊控制器的導(dǎo)入后,結(jié)合閉環(huán)矢量法,確定工業(yè)機(jī)器人的位姿誤差補(bǔ)償函數(shù):
式中,I表示工業(yè)機(jī)器人的位姿誤差補(bǔ)償函數(shù);J表示輸出位姿誤差最小值;m表示相對于工業(yè)機(jī)器人上下平臺各個連桿節(jié)點(diǎn)的位置。在確定工業(yè)機(jī)器人位姿誤差補(bǔ)償函數(shù)后,對于理論輸出位置可通過理論反解函數(shù)計(jì)算求得。由工業(yè)機(jī)器人連桿理論長度通過正向求解得到輸出的位姿數(shù)值。假設(shè)變量Xc表示補(bǔ)償后的輸出位姿誤差,則其表達(dá)式為:
式中,X"表示輸出位姿數(shù)值;X"表示實(shí)際輸出位姿補(bǔ)償量。通過理論反解得到工業(yè)機(jī)器人的名義補(bǔ)償量。在此基礎(chǔ)上,引入結(jié)構(gòu)誤差,得到驅(qū)動工業(yè)機(jī)器人位姿改變的連桿誤差補(bǔ)償量[10]。針對工業(yè)機(jī)器人運(yùn)行過程中隨時間變化而產(chǎn)生的動態(tài)誤差,基于工作空間補(bǔ)償原理,對工業(yè)機(jī)器人輸出軌跡進(jìn)行動態(tài)補(bǔ)償。
在上述基礎(chǔ)上,為實(shí)現(xiàn)對工業(yè)機(jī)器人位姿誤差的自動補(bǔ)償,使工業(yè)機(jī)器人在運(yùn)行的過程中每一個連桿都達(dá)到理想運(yùn)動狀態(tài),在上述導(dǎo)入的模糊控制器的基礎(chǔ)上,確定自動補(bǔ)償?shù)脑砣鐖D2所示。
圖2 工業(yè)機(jī)器人位姿誤差自動補(bǔ)償原理圖
按照圖2 所示的基本原理,進(jìn)行對工業(yè)機(jī)器人位姿誤差的自動補(bǔ)償。在這一過程中,sl0表示驅(qū)動工業(yè)機(jī)器人原始結(jié)構(gòu)誤差,由于工業(yè)機(jī)器人本身結(jié)構(gòu)的特點(diǎn),其各個連桿之間存在一定間隙以及結(jié)構(gòu)誤差。因此,為了不影響到最終位姿的精度,在上述深度學(xué)習(xí)基礎(chǔ)上,在工業(yè)機(jī)器人中位點(diǎn)對sl0進(jìn)行離線尋優(yōu),以此得到最優(yōu)的sl0數(shù)值,在實(shí)際工業(yè)機(jī)器人開始運(yùn)行時,針對其初始位姿進(jìn)行更加準(zhǔn)確的標(biāo)定,確保后續(xù)位姿變化的精度,以此達(dá)到誤差自動補(bǔ)償?shù)哪康摹?/p>
在本文上述論述基礎(chǔ)上,為實(shí)現(xiàn)對基于深度學(xué)習(xí)的補(bǔ)償方法應(yīng)用可行性的檢驗(yàn),選擇將該方法作為實(shí)驗(yàn)組,將基于改進(jìn)的PSO-BP 算法的補(bǔ)償方法作為對照I 組,將基于慣性傳感器的補(bǔ)償方法作為對照II 組,開展下述對比實(shí)驗(yàn)研究。選擇以某工業(yè)生產(chǎn)區(qū)也現(xiàn)使用的工業(yè)機(jī)器人作為實(shí)驗(yàn)研究對象。具體實(shí)驗(yàn)環(huán)境如圖3所示。
分別按照3 種補(bǔ)償方法的應(yīng)用思路,將其應(yīng)用到工業(yè)機(jī)器人上,并設(shè)置應(yīng)用實(shí)驗(yàn)組補(bǔ)償方法的工業(yè)機(jī)器人為JQR-01,設(shè)置應(yīng)用對照I 組補(bǔ)償方法的工業(yè)機(jī)器人為JQR-02,設(shè)置應(yīng)用對照II組補(bǔ)償方法的機(jī)器人為JQR-03。3個工業(yè)機(jī)器人的型號以及各個性能參數(shù)完全相同,表1為該工業(yè)機(jī)器人連桿理論參數(shù)對照表。
表1 工業(yè)機(jī)器人連桿理論參數(shù)對照表
在明確上述各個連桿的運(yùn)行參數(shù)后,對3 組機(jī)器人在運(yùn)行過程中各個連桿運(yùn)行誤差進(jìn)行對比,其誤差計(jì)算公式為:
式(6)中,表示位移誤差;w表示連桿完成運(yùn)作后要求位置;l表示連桿完成運(yùn)作后實(shí)際位置;式(7)中表示角度誤差;a表示連桿完成運(yùn)作后要求角度;表示連桿完成運(yùn)作后實(shí)際角度。根據(jù)上述公式,將3 組工業(yè)機(jī)器人位姿中五個連桿的誤差進(jìn)行記錄,并得到圖4。
圖4 3組工業(yè)機(jī)器人位姿誤差對比圖
結(jié)合圖4中的數(shù)據(jù)可以看出,3組工業(yè)機(jī)器人位姿誤差中,位移誤差從小到大依次為:JQR-01、JQR-02、JQR-03,角度誤差從小到大依次為:JQR-01、JQR-02、JQR-03。由此可以看出,通過對比3 種應(yīng)用不同補(bǔ)償方法的工業(yè)機(jī)器人位姿誤差得出,應(yīng)用本文上述提出的補(bǔ)償方法的工業(yè)機(jī)器人位姿無論是位移還是角度都更加精準(zhǔn),證明該補(bǔ)償方法的有效性。
基于工業(yè)機(jī)器人的運(yùn)行特點(diǎn),針對其在日常工作和生產(chǎn)過程中存在的位姿偏差問題,引入深度學(xué)習(xí),提出了一種全新的位姿誤差自動補(bǔ)償方法,并通過將該方法與其他2 種補(bǔ)償方法對比得出,該補(bǔ)償方法的應(yīng)用可行性。在實(shí)際應(yīng)用中,由于工業(yè)運(yùn)行環(huán)境中存在較多干擾因素,均會對位姿誤差造成一定影響,因此在后續(xù)的研究中,還將針對多種不同環(huán)境中的干擾因素,對本文上述提出的補(bǔ)償方法進(jìn)行優(yōu)化,從而促進(jìn)工業(yè)機(jī)器人運(yùn)行水平的進(jìn)一步提高。