史光亮,馬祺杰,王海燕,張寧波,李 波
(1.中煤華晉集團(tuán)有限公司王家?guī)X礦,山西 運(yùn)城 043300;2.中國(guó)煤炭科工集團(tuán)太原研究院有限公司,山西 太原 030006;3.山西天地煤機(jī)裝備有限公司,山西 太原 030006;4.中煤(天津)地下工程智能研究院有限公司,天津 300131)
錨護(hù)是礦山開(kāi)采中的關(guān)鍵性工序之一,錨護(hù)機(jī)器人更是智慧礦山不可缺少的設(shè)備。利用錨護(hù)機(jī)器人不僅可以減少開(kāi)采支出、加快支護(hù)速度、提高經(jīng)濟(jì)效益,還能夠通過(guò)無(wú)人支護(hù),提高井下作業(yè)安全性[1],實(shí)現(xiàn)全自動(dòng)、智能化作業(yè)需要超高的精度,因此,作業(yè)精度就成為衡量錨護(hù)機(jī)器人性能的重要指標(biāo)。
生產(chǎn)、裝配、碰撞或磨損都會(huì)造成錨護(hù)機(jī)器人末端精度降低,負(fù)載工作導(dǎo)致機(jī)身變形也會(huì)影響末端精度[2],這就需要進(jìn)行誤差補(bǔ)償。國(guó)內(nèi)外學(xué)者的研究已經(jīng)獲得了一些成果,例如給機(jī)器人關(guān)節(jié)空間直接補(bǔ)償[3]、引入特有誤差因素完善原有誤差模型[4]、利用智能算法誤差補(bǔ)償[5]等。目前,各大煤礦使用的仍是掘錨機(jī)、運(yùn)錨機(jī)等配套的機(jī)載式鉆架,該類型鉆架存在工作范圍有限、不靈活、不能實(shí)現(xiàn)全自動(dòng)錨鉆功能等缺陷,邊幫則使用手工鉆人工支護(hù),遠(yuǎn)沒(méi)有達(dá)到錨護(hù)機(jī)器人的智能化支護(hù)水準(zhǔn)。國(guó)外只有SANDVIK集團(tuán)的掘進(jìn)鑿巖臺(tái)車和鑿巖支護(hù)鉆機(jī)兩種設(shè)備可以實(shí)現(xiàn)多關(guān)節(jié)活動(dòng)、自動(dòng)打孔、鋪網(wǎng)、錨桿緊固,但是由于技術(shù)保密,無(wú)法獲得數(shù)據(jù)。而國(guó)內(nèi)方面,中國(guó)煤炭科工集團(tuán)太原研究院有限公司制造出了兩臂智能錨桿鉆車,填補(bǔ)了國(guó)內(nèi)錨護(hù)機(jī)器人的空白。
因此,本著省時(shí)省力、支出少、安全性高的施工原則,本文在現(xiàn)有研究的基礎(chǔ)上提出用麻雀算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)嘗試誤差補(bǔ)償,并通過(guò)幾種算法的相互對(duì)比,證明該方法的可行性。
根據(jù)Chasles定理[6],可以運(yùn)動(dòng)旋量表示剛體運(yùn)動(dòng)。設(shè)置參考位姿和形態(tài),如圖1所示。在沒(méi)有其他誤差干擾的情況下,各個(gè)關(guān)節(jié)軸線處產(chǎn)生的平移或者旋轉(zhuǎn)誤差都可以誤差旋量表示,其在世界坐標(biāo)系下書寫為ξe1(0),ξe2(0),...,ξen(0)[7]。進(jìn)一步分解可以發(fā)現(xiàn),這些誤差旋量和關(guān)節(jié)軸線經(jīng)過(guò)旋轉(zhuǎn)、平移或者螺旋運(yùn)動(dòng)的結(jié)果一致,因此廣義上可以把其看作剛體的移動(dòng)副或者旋轉(zhuǎn)副,由此可得錨護(hù)機(jī)器人含誤差旋量的指數(shù)積公式[8]見(jiàn)式(1)。
圖1 運(yùn)動(dòng)副坐標(biāo)誤差
T(θ)=
(1)
根據(jù)相關(guān)資料可知[9-10],大部分末端誤差都是由幾何參數(shù)誤差造成的,占總誤差的80%。由陳杰[9]的誤差建模分析可知,旋轉(zhuǎn)角度誤差、運(yùn)動(dòng)副軸線偏轉(zhuǎn)、偏移誤差這三種誤差對(duì)錨護(hù)機(jī)器人末端位姿精度影響最大,因此應(yīng)使用這三種誤差因素建立誤差模型。為了更加方便地分析計(jì)算過(guò)程,假設(shè)三種誤差值分別為0.01°、0.01°、0.1 mm[11],各關(guān)節(jié)添加誤差見(jiàn)表1。
表1 關(guān)節(jié)誤差值
如果把添加的誤差看作旋量運(yùn)動(dòng)的結(jié)果,則誤差經(jīng)過(guò)矩陣變換后可表示為式(2)[12]。
T=transl(0.1,0.1,0.1)grpy2r×
(2)
由T可求得ωe、ve,進(jìn)而求誤差旋量ξe見(jiàn)式(3)[13]。
(3)
根據(jù)伴隨矩陣的定義可得式(4)。
(4)
綜上可得完整誤差模型公式[14],見(jiàn)式(5)。
(5)
在建模軟件中搭建帶誤差的錨護(hù)機(jī)器人虛擬樣機(jī),測(cè)量后可知虛擬樣機(jī)初始位姿和數(shù)學(xué)工具中計(jì)算結(jié)果相一致,如圖2所示。在錨護(hù)機(jī)器人的工作空間內(nèi)隨機(jī)抽取10組關(guān)節(jié)角向量θi=[θ1,θ2,θ3,θ4,θ5,θ6](i=1~10)來(lái)驗(yàn)證誤差模型的正確性。首先將10組關(guān)節(jié)角向量依次代入數(shù)學(xué)工具仿真軟件的誤差模型計(jì)算出對(duì)應(yīng)的錨護(hù)機(jī)器人末端位置坐標(biāo)Ti=(TX,Ty,Tz),然后將這10組關(guān)節(jié)角向量依次代入三維模型仿真平臺(tái)中帶誤差模型的虛擬樣機(jī),求出相應(yīng)的10組末端位置坐標(biāo)ti=(tX,ty,tz)。通過(guò)坐標(biāo)Ti和ti計(jì)算出兩者之間的“相對(duì)距離”,以兩坐標(biāo)點(diǎn)之間的相對(duì)距離作為兩坐標(biāo)點(diǎn)之間的誤差值,計(jì)算結(jié)果見(jiàn)表2。 由表2可知,軟件計(jì)算和虛擬樣機(jī)仿真的結(jié)果基本一致,因?yàn)檐浖臄?shù)值運(yùn)算存在精度限制,因此表2中產(chǎn)生的3×10-7~4×10-7mm的誤差為合理誤差,可忽略不計(jì),本文提出的誤差建模方法的正確性得到了驗(yàn)證。
圖2 初始位形測(cè)量圖
表2 末端位置對(duì)比表
續(xù)表2
麻雀算法就是模擬麻雀覓食過(guò)程從而獲得優(yōu)化問(wèn)題的解[15],群集用矩陣見(jiàn)式(6)。
X=[x1,x2,…,xN]T,xi=[xi1,xi2,…,xiD]
(6)
式中:N為規(guī)模數(shù);i=(1,2,…,N);D為變量維數(shù)。適應(yīng)度計(jì)算公式見(jiàn)式(7)。
(7)
式中,fxi為適應(yīng)度值。位置更新公式見(jiàn)式(8)。
(8)
式中:t為現(xiàn)階段重復(fù)反饋次數(shù);T為全局重復(fù)反饋次數(shù);α為(0,1]隨機(jī)數(shù);Q為標(biāo)準(zhǔn)正態(tài)分布數(shù);L為1×d的矩陣,矩陣元素均為1;R2為危險(xiǎn)值;ST為安全值。位置更新公式見(jiàn)式(9)。
(9)
(10)
式中:β為滿足數(shù)組平均數(shù)等于0且與平均數(shù)之差平方和的平均數(shù)等于1的常態(tài)分布;K為在-1到1范圍內(nèi)的任意數(shù),可以用來(lái)表示粒子運(yùn)動(dòng)方向;fi、fg、fw分別為當(dāng)前個(gè)體適應(yīng)度值、當(dāng)前全局最優(yōu)值和當(dāng)前全局最差值[17]。
使用麻雀算法的適應(yīng)度值更新BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值[18]。由于預(yù)警和懲罰機(jī)制的存在,不但加快了BP模型的收斂速度,還避免了過(guò)早收斂,解決了局部最優(yōu)的問(wèn)題。通過(guò)計(jì)算麻雀適應(yīng)度值來(lái)更新BP神經(jīng)網(wǎng)絡(luò)權(quán)重和閾值,把更新后的權(quán)數(shù)和臨界值代入BP模型,將理論模型中的關(guān)節(jié)角θ和帶誤差的實(shí)際關(guān)節(jié)角q分別作為導(dǎo)入和導(dǎo)出讓BP神經(jīng)網(wǎng)絡(luò)自我學(xué)習(xí)[14]。給定一組關(guān)節(jié)角度q,將其代入誤差模型中求得實(shí)際位姿T,然后將T代入不含誤差的逆運(yùn)動(dòng)學(xué)模型中求得理論關(guān)節(jié)角θ,最后把理論關(guān)節(jié)角θ和實(shí)際角q作為BP神經(jīng)網(wǎng)絡(luò)反向?qū)W習(xí)的導(dǎo)入和導(dǎo)出。BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練模式如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練圖
直接使用q和θ這兩組關(guān)節(jié)角訓(xùn)練神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)為當(dāng)給定關(guān)節(jié)角理論值θ后神經(jīng)網(wǎng)絡(luò)會(huì)直接預(yù)測(cè)出關(guān)節(jié)角實(shí)際值q,既省略了求關(guān)節(jié)角補(bǔ)償角Δq的步驟,又補(bǔ)償了錨護(hù)機(jī)器人的誤差,簡(jiǎn)化了計(jì)算過(guò)程,減小了補(bǔ)償后的誤差值,BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的過(guò)程如圖4所示。
圖4 BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程
首先使用數(shù)學(xué)工具進(jìn)行仿真測(cè)試,在關(guān)節(jié)空間隨機(jī)選1 000組關(guān)節(jié)角訓(xùn)練SSA-BP神經(jīng)網(wǎng)絡(luò),測(cè)試后得到最佳結(jié)構(gòu)參數(shù);接著輸入輸出層的節(jié)點(diǎn)數(shù)取6,隱含層的節(jié)點(diǎn)數(shù)取8,進(jìn)行100次迭代,學(xué)習(xí)效率設(shè)為0.1,目標(biāo)誤差設(shè)為10-4。SSA-BP補(bǔ)償模型的訓(xùn)練情況如圖5所示。由圖6可知,使用訓(xùn)練好的SSA-BP補(bǔ)償模型補(bǔ)償后6個(gè)關(guān)節(jié)角誤差下降到-0.004 9~-0.003 5。
圖5 SSA-BP訓(xùn)練圖
圖6 SSA-BP誤差補(bǔ)償預(yù)測(cè)圖
為體現(xiàn)本文補(bǔ)償方法的準(zhǔn)確性和優(yōu)越性,選擇兩種模型與其進(jìn)行對(duì)比,分別選擇BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償法和粒子群算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償法(PSO-BP)。使用BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償法和PSO-BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償法進(jìn)行誤差補(bǔ),補(bǔ)償后各關(guān)節(jié)角預(yù)測(cè)誤差如圖7和圖8所示。最后使用這三種方法直接對(duì)末端的位置誤差和姿態(tài)誤差進(jìn)行補(bǔ)償仿真,補(bǔ)償結(jié)果如圖9所示。
圖7 BP誤差補(bǔ)償預(yù)測(cè)圖
圖8 PSO-BP誤差補(bǔ)償預(yù)測(cè)圖
由圖6~圖9可知,用優(yōu)化算法改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行誤差補(bǔ)償效果更好,且相對(duì)于粒子群優(yōu)化算法,麻雀優(yōu)化算法改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償效果更好,補(bǔ)償后末端位置誤差減小到5×10-3mm之內(nèi),姿態(tài)誤差減小到10-5°之內(nèi)。精度提高了80%,證明了SSA-BP算法在誤差補(bǔ)償應(yīng)用中的準(zhǔn)確性和可行性。
圖9 位姿誤差對(duì)比圖
搭建如圖10所示的試驗(yàn)平臺(tái)對(duì)SSA-BP神經(jīng)網(wǎng)絡(luò)誤差補(bǔ)償方法進(jìn)行試驗(yàn)驗(yàn)證。其中,試驗(yàn)所用載體為CMM2-25煤礦用全自動(dòng)兩臂智能錨護(hù)機(jī)器人,其自身帶有傳感器、編碼器等高精度定位測(cè)量裝置,可以精確地實(shí)時(shí)監(jiān)測(cè)各個(gè)關(guān)節(jié)角和末端坐標(biāo)。以左臂第一個(gè)關(guān)節(jié)點(diǎn)中心為世界坐標(biāo)系原點(diǎn),以左鉆架頂點(diǎn)作為末端執(zhí)行器點(diǎn)建立運(yùn)動(dòng)學(xué)模型,運(yùn)用如圖11所示的示教平臺(tái)進(jìn)行試驗(yàn)運(yùn)算。
圖10 試驗(yàn)平臺(tái)
圖11 示教平臺(tái)
在錨護(hù)機(jī)器人工作空間內(nèi)取10組關(guān)節(jié)角,先用示教平臺(tái)求出錨護(hù)機(jī)器人末端的位姿的原誤差見(jiàn)表3。然后帶入SSA-BP神經(jīng)網(wǎng)絡(luò)誤差補(bǔ)償法,求出補(bǔ)償后的錨護(hù)機(jī)器人末端位姿誤差值,結(jié)果見(jiàn)表4。通過(guò)表3和表4中的數(shù)據(jù)可知,在SSA-BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償法的作用下錨護(hù)機(jī)器人末端的姿態(tài)誤差從1°下降到0.5°以下,位置誤差由50 mm降到了10 mm附近,顯著提高了末端精度。
表3 原始位姿誤差表
表4 SSA-BP補(bǔ)償后位姿誤差
綜上所述,無(wú)論是錨護(hù)機(jī)器人終端位置還是錨護(hù)機(jī)器人終端姿態(tài),優(yōu)化后的補(bǔ)償模型補(bǔ)償效果更好,而且麻雀算法比粒子群算法優(yōu)化的效果更好,即三種補(bǔ)償模型中SSA-BP的補(bǔ)償效果最好。
為了提高錨護(hù)機(jī)器人井下支護(hù)時(shí)的錨鉆精度,本文使用更加貼合實(shí)際物理意義的旋量法建立誤差模型。根據(jù)麻雀算法收斂速度快、全局尋優(yōu)能力強(qiáng)、不會(huì)陷入局部最優(yōu)的特點(diǎn)使用SSA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行在線實(shí)時(shí)誤差補(bǔ)償。通過(guò)虛擬樣機(jī)和對(duì)比仿真證明了SSA-BP算法在誤差補(bǔ)償應(yīng)用中的準(zhǔn)確性和精確性。最通過(guò)試驗(yàn)驗(yàn)證,證明了SSA-BP神經(jīng)網(wǎng)絡(luò)誤差補(bǔ)償法的實(shí)用性和可行性。