史光亮,馬祺杰,王海燕,張寧波,李 波
(1.中煤華晉集團有限公司王家嶺礦,山西 運城 043300;2.中國煤炭科工集團太原研究院有限公司,山西 太原 030006;3.山西天地煤機裝備有限公司,山西 太原 030006;4.中煤(天津)地下工程智能研究院有限公司,天津 300131)
錨護是礦山開采中的關鍵性工序之一,錨護機器人更是智慧礦山不可缺少的設備。利用錨護機器人不僅可以減少開采支出、加快支護速度、提高經濟效益,還能夠通過無人支護,提高井下作業安全性[1],實現全自動、智能化作業需要超高的精度,因此,作業精度就成為衡量錨護機器人性能的重要指標。
生產、裝配、碰撞或磨損都會造成錨護機器人末端精度降低,負載工作導致機身變形也會影響末端精度[2],這就需要進行誤差補償。國內外學者的研究已經獲得了一些成果,例如給機器人關節空間直接補償[3]、引入特有誤差因素完善原有誤差模型[4]、利用智能算法誤差補償[5]等。目前,各大煤礦使用的仍是掘錨機、運錨機等配套的機載式鉆架,該類型鉆架存在工作范圍有限、不靈活、不能實現全自動錨鉆功能等缺陷,邊幫則使用手工鉆人工支護,遠沒有達到錨護機器人的智能化支護水準。國外只有SANDVIK集團的掘進鑿巖臺車和鑿巖支護鉆機兩種設備可以實現多關節活動、自動打孔、鋪網、錨桿緊固,但是由于技術保密,無法獲得數據。而國內方面,中國煤炭科工集團太原研究院有限公司制造出了兩臂智能錨桿鉆車,填補了國內錨護機器人的空白。
因此,本著省時省力、支出少、安全性高的施工原則,本文在現有研究的基礎上提出用麻雀算法改進BP神經網絡嘗試誤差補償,并通過幾種算法的相互對比,證明該方法的可行性。
根據Chasles定理[6],可以運動旋量表示剛體運動。設置參考位姿和形態,如圖1所示。在沒有其他誤差干擾的情況下,各個關節軸線處產生的平移或者旋轉誤差都可以誤差旋量表示,其在世界坐標系下書寫為ξe1(0),ξe2(0),...,ξen(0)[7]。進一步分解可以發現,這些誤差旋量和關節軸線經過旋轉、平移或者螺旋運動的結果一致,因此廣義上可以把其看作剛體的移動副或者旋轉副,由此可得錨護機器人含誤差旋量的指數積公式[8]見式(1)。

圖1 運動副坐標誤差
T(θ)=
(1)
根據相關資料可知[9-10],大部分末端誤差都是由幾何參數誤差造成的,占總誤差的80%。由陳杰[9]的誤差建模分析可知,旋轉角度誤差、運動副軸線偏轉、偏移誤差這三種誤差對錨護機器人末端位姿精度影響最大,因此應使用這三種誤差因素建立誤差模型。為了更加方便地分析計算過程,假設三種誤差值分別為0.01°、0.01°、0.1 mm[11],各關節添加誤差見表1。

表1 關節誤差值
如果把添加的誤差看作旋量運動的結果,則誤差經過矩陣變換后可表示為式(2)[12]。
T=transl(0.1,0.1,0.1)grpy2r×

(2)
由T可求得ωe、ve,進而求誤差旋量ξe見式(3)[13]。

(3)
根據伴隨矩陣的定義可得式(4)。

(4)
綜上可得完整誤差模型公式[14],見式(5)。

(5)
在建模軟件中搭建帶誤差的錨護機器人虛擬樣機,測量后可知虛擬樣機初始位姿和數學工具中計算結果相一致,如圖2所示。在錨護機器人的工作空間內隨機抽取10組關節角向量θi=[θ1,θ2,θ3,θ4,θ5,θ6](i=1~10)來驗證誤差模型的正確性。首先將10組關節角向量依次代入數學工具仿真軟件的誤差模型計算出對應的錨護機器人末端位置坐標Ti=(TX,Ty,Tz),然后將這10組關節角向量依次代入三維模型仿真平臺中帶誤差模型的虛擬樣機,求出相應的10組末端位置坐標ti=(tX,ty,tz)。通過坐標Ti和ti計算出兩者之間的“相對距離”,以兩坐標點之間的相對距離作為兩坐標點之間的誤差值,計算結果見表2。 由表2可知,軟件計算和虛擬樣機仿真的結果基本一致,因為軟件的數值運算存在精度限制,因此表2中產生的3×10-7~4×10-7mm的誤差為合理誤差,可忽略不計,本文提出的誤差建模方法的正確性得到了驗證。

圖2 初始位形測量圖

表2 末端位置對比表

續表2
麻雀算法就是模擬麻雀覓食過程從而獲得優化問題的解[15],群集用矩陣見式(6)。
X=[x1,x2,…,xN]T,xi=[xi1,xi2,…,xiD]
(6)
式中:N為規模數;i=(1,2,…,N);D為變量維數。適應度計算公式見式(7)。

(7)
式中,fxi為適應度值。位置更新公式見式(8)。

(8)
式中:t為現階段重復反饋次數;T為全局重復反饋次數;α為(0,1]隨機數;Q為標準正態分布數;L為1×d的矩陣,矩陣元素均為1;R2為危險值;ST為安全值。位置更新公式見式(9)。

(9)


(10)
式中:β為滿足數組平均數等于0且與平均數之差平方和的平均數等于1的常態分布;K為在-1到1范圍內的任意數,可以用來表示粒子運動方向;fi、fg、fw分別為當前個體適應度值、當前全局最優值和當前全局最差值[17]。
使用麻雀算法的適應度值更新BP神經網絡的權值和閾值[18]。由于預警和懲罰機制的存在,不但加快了BP模型的收斂速度,還避免了過早收斂,解決了局部最優的問題。通過計算麻雀適應度值來更新BP神經網絡權重和閾值,把更新后的權數和臨界值代入BP模型,將理論模型中的關節角θ和帶誤差的實際關節角q分別作為導入和導出讓BP神經網絡自我學習[14]。給定一組關節角度q,將其代入誤差模型中求得實際位姿T,然后將T代入不含誤差的逆運動學模型中求得理論關節角θ,最后把理論關節角θ和實際角q作為BP神經網絡反向學習的導入和導出。BP神經網絡訓練模式如圖3所示。

圖3 BP神經網絡訓練圖
直接使用q和θ這兩組關節角訓練神經網絡的優勢為當給定關節角理論值θ后神經網絡會直接預測出關節角實際值q,既省略了求關節角補償角Δq的步驟,又補償了錨護機器人的誤差,簡化了計算過程,減小了補償后的誤差值,BP神經網絡學習的過程如圖4所示。

圖4 BP神經網絡學習過程
首先使用數學工具進行仿真測試,在關節空間隨機選1 000組關節角訓練SSA-BP神經網絡,測試后得到最佳結構參數;接著輸入輸出層的節點數取6,隱含層的節點數取8,進行100次迭代,學習效率設為0.1,目標誤差設為10-4。SSA-BP補償模型的訓練情況如圖5所示。由圖6可知,使用訓練好的SSA-BP補償模型補償后6個關節角誤差下降到-0.004 9~-0.003 5。

圖5 SSA-BP訓練圖

圖6 SSA-BP誤差補償預測圖
為體現本文補償方法的準確性和優越性,選擇兩種模型與其進行對比,分別選擇BP神經網絡補償法和粒子群算法改進BP神經網絡補償法(PSO-BP)。使用BP神經網絡補償法和PSO-BP神經網絡補償法進行誤差補,補償后各關節角預測誤差如圖7和圖8所示。最后使用這三種方法直接對末端的位置誤差和姿態誤差進行補償仿真,補償結果如圖9所示。

圖7 BP誤差補償預測圖

圖8 PSO-BP誤差補償預測圖
由圖6~圖9可知,用優化算法改進后的BP神經網絡進行誤差補償效果更好,且相對于粒子群優化算法,麻雀優化算法改進后的BP神經網絡補償效果更好,補償后末端位置誤差減小到5×10-3mm之內,姿態誤差減小到10-5°之內。精度提高了80%,證明了SSA-BP算法在誤差補償應用中的準確性和可行性。

圖9 位姿誤差對比圖
搭建如圖10所示的試驗平臺對SSA-BP神經網絡誤差補償方法進行試驗驗證。其中,試驗所用載體為CMM2-25煤礦用全自動兩臂智能錨護機器人,其自身帶有傳感器、編碼器等高精度定位測量裝置,可以精確地實時監測各個關節角和末端坐標。以左臂第一個關節點中心為世界坐標系原點,以左鉆架頂點作為末端執行器點建立運動學模型,運用如圖11所示的示教平臺進行試驗運算。

圖10 試驗平臺

圖11 示教平臺
在錨護機器人工作空間內取10組關節角,先用示教平臺求出錨護機器人末端的位姿的原誤差見表3。然后帶入SSA-BP神經網絡誤差補償法,求出補償后的錨護機器人末端位姿誤差值,結果見表4。通過表3和表4中的數據可知,在SSA-BP神經網絡補償法的作用下錨護機器人末端的姿態誤差從1°下降到0.5°以下,位置誤差由50 mm降到了10 mm附近,顯著提高了末端精度。

表3 原始位姿誤差表

表4 SSA-BP補償后位姿誤差
綜上所述,無論是錨護機器人終端位置還是錨護機器人終端姿態,優化后的補償模型補償效果更好,而且麻雀算法比粒子群算法優化的效果更好,即三種補償模型中SSA-BP的補償效果最好。
為了提高錨護機器人井下支護時的錨鉆精度,本文使用更加貼合實際物理意義的旋量法建立誤差模型。根據麻雀算法收斂速度快、全局尋優能力強、不會陷入局部最優的特點使用SSA-BP神經網絡進行在線實時誤差補償。通過虛擬樣機和對比仿真證明了SSA-BP算法在誤差補償應用中的準確性和精確性。最通過試驗驗證,證明了SSA-BP神經網絡誤差補償法的實用性和可行性。