王 強,鮑文亮
1煤炭科學研究總院 北京 100013
2中國煤炭科工集團太原研究院有限公司 山西太原 030006
鑿巖機器人作為煤礦特種機器人,在優化鉆孔布置、提高工作效率和減少對圍巖破壞方面有著重要作用。高定位精度的鉆臂機構,是保障作業質量和安全的重要組成部分[1]。因此,許多學者通過對鉆臂的建模與運動學求解研究,來實現鉆臂的精準控制。
王憲倫等人[2]使用幾何分析法和 D-H 模型結合的方法,采用曲線擬合算法,完成了三角鉆臂的運動學分析;何清華等人[3]通過建立鉆臂運動學模型,根據某鑿巖機器人鉆臂的特殊結構形式提出一種逆解計算方法;黃開啟等人[4]通過 D-H 參數法、坐標反變換法和經典消元法完成了對錨桿鉆機的運動學分析。
以上方法均能完成對鉆臂運動學正逆向求解,但是缺少對釬頭定位誤差補償的研究。筆者使用一種基于遺傳算法優化后的 BP 神經網絡(GA-BP)方法,實現了對釬頭的定位誤差補償,該方法能夠快速、精準地得到釬頭的位姿信息。
首先通過分析鑿巖機器人鉆臂系統機構組成,結合改進型 D-H 參數法,建立鉆臂的理想運動學模型;然后使用 GA-BP 神經網絡得到的釬頭位姿誤差,經過補償,可獲取修正后的釬頭位姿信息。通過運動學逆解得到修正后的關節變量,最終通過控制器將釬頭送達鉆孔位置。
該補償方法流程如圖1 所示。

圖1 基于 GA-BP 算法的位姿補償流程Fig.1 Posture compensation process based on GA-BP algorithm
鉆臂系統是鑿巖機器人的重要組成部分,是完成定位和鑿巖任務的主要執行機構。鉆臂系統主要包括大臂機構和推進機構,如圖2 所示。其中大臂機構通過液壓缸的伸縮實現大跨度伸縮,以及大角度俯仰、偏轉和翻轉的動作;推進器機構負責完成推進釬桿和炮眼的鉆鑿任務[5-6]。

圖2 鉆臂結構組成Fig.2 Structure of drilling arm
在實際巷道的鑿巖現場中,由于受到作業環境空間限制的原因,鉆臂系統多采用多冗余自由度的關節型機械臂,以增加機構作業的靈活性,避免裝備間的碰撞。鉆臂系統一共具有7 個自由度,其中包括5 個轉動副和2 個移動副[7-8]。
鑿巖機器人作為行業特種機器人,在結構形式上與普通工業機器人具有相似性,是由一系列連桿串聯起來的多關節機械臂。要實現井下自動化鉆孔作業,需要對鉆臂進行運動學分析,以解決鑿巖機器人鉆臂關節空間坐標到末端工作空間坐標的變換問題[9]。
D-H 參數法是由 Denavit 和 Hartenberg 提出以關節鏈的每個桿件建立坐標系的矩陣方法。筆者以鑿巖機器人作為試驗本體,采用改進型 D-H 參數法建立運動學模型,規定每個關節的4 個參數為θi,di,ai,αi,確定變換公式為T=R(θi)T(di)T(ai)R(αi),用以描述相鄰2 個連桿之間的運動學關系。變換公式可具體表達為

式中:θi為關節角,(°);αi為桿件扭轉角,(°);ai為桿件長度,mm;di為關節橫距,mm。
對鑿巖機器人進行適當的機構簡化,得到如圖3所示的 D-H 參數模型,鉆臂中各個連桿結構參數如表1 所列。

圖3 鑿巖機器人鉆臂 D-H 模型Fig.3 D-H model of drilling arm of rock-drilling robot

表1 鑿巖機器人鉆臂連桿參數Tab.1 Parameters of linkage of drilling arm of rock-drilling robot
由于第5 關節軸與第6 關節軸存在軸線相交的現象,第5 坐標系原點需選擇軸線相交點,因此第5 坐標系平移至圖3 中所示位置[10]。同理確定第6 坐標系的位置。
將表1 中的連桿參數代入變換公式,求出相鄰連桿之間的變換方程,并由

得到鉆臂的正向運動學求解方程,求出釬頭相對于基坐標系的的位姿信息。簡化方程為

式中:[nx ny nz]T、[ox oy oz]T、[ax ay az]T為釬頭相對于基坐標系的姿態向量;[px py pz]T為釬頭在基坐標系的位置向量;P為位移矩陣;R為旋轉矩陣。
筆者將釬頭相對于基坐標系的位姿定義為

式中:(x,y,z)為釬頭的位置坐標,可從位移矩陣P中獲取;(α,β,γ)為釬頭坐標系與基座坐標系三坐標軸的夾角,可從旋轉矩陣R中獲取。
經過上述分析,可以得到鉆臂各關節坐標系到釬頭工作空間坐標系的變換關系,并由 D-H 模型確定釬頭相對基坐標系的位姿信息。
筆者采用代數求解法完成逆運動學求解,逐個分離變量求解,得到各關節變量數值。具體方法為用各[i-1Ti]-1矩陣逐次左乘簡化方程可得如下方程:

由于等號兩側矩陣中對應元素相等,所以可以得到12 個等式方程,即兩側矩陣中(n,o,a,p)對應等式。通過觀察,優先對易分離的變量進行求解,求出變量對應值。如上式一次求逆操作,得到下一組等式,依次求解剩余關節角變量,具體方法可參考文獻[11]。
遺傳算法優化 BP 神經網絡包括3 個部分:第 1部分是確定 BP 網絡結構,即確定輸入層、隱含層和輸出層的神經元個數,為確定遺傳算法個體長度提供依據;第2 部分是遺傳算法優化 BP 網絡,即根據權值和閾值數量編碼個體,通過個體選擇、交叉和變異操作尋找到最優適應度值對應個體;第3 部分是將最優個體解碼,得到權值和閾值的最優初始值,訓練后預測輸出。
對鉆臂運動學正解結果分析,發現釬桿末端的位置信息和姿態信息的數值單位和范圍有明顯的區別,這表明兩類信息的非線性映射關系是不一致的,所以筆者建立了2 個 3-6-3 的網絡結構,分別對位置誤差和姿態誤差進行預測。網絡模型結構如圖4 所示。

圖4 3 層 BP 神經網絡結構Fig.4 Structure of three-layer BP neural network
輸入數據x為1 組三維向量,分別是目標點的位置向量[xthythzth]T或姿態向量[αthβthγth]T;輸出數據z也是1 組三維向量,分別是位置誤差[ΔxΔyΔz]T或姿態誤差[ΔαΔβΔγ]T;wij、wjk分別是輸入層與隱含層、隱含層與輸出層之間的連接權值[12]。
BP 神經網絡在利用梯度下降法進行非線性擬合過程中,存在局部逼近能力差和收斂速度緩慢等缺點,所以不適用于多自由度的機器人運動學求解預測[13]。筆者選擇遺傳算法的全局搜索的能力,實現BP 網絡中權值和閾值的優化,具體步驟如下。
4.2.1 種群初始化
依照 BP 網絡結構,采用實數編碼法完成個體編碼。由于設定的網絡結構為 3-6-3,應有 3×6+6×3=36 個權值和 6+3=9 個閾值,所以個體長度應為 45。
4.2.2 確定個體適應度函數
個體i的適應度函數值
Fi=E,
式中:E為訓練好的 BP 神經網絡預測的誤差函數。
4.2.3 選擇操作
采用輪盤賭法,就是基于適應度比例的選擇策略,個體i的選擇概率

式中:N為種群數量,由于適應度值越小選擇概率越大,所以需提前對其進行倒數求解;k為系數。
4.2.4 交叉操作
對實數編碼需采用實數交叉法,即第n個染色體an和第m個染色體am在k位的交叉操作為

式中:定義交叉系數b范圍為0~1。
4.2.5 變異操作
選擇第n個染色體在j位上的基因發生突變,變異操作為


式中:amax、amin分別為染色體最大值和最小值;r為0~1 內隨機數;g為當前迭代次數;Gmax為最大進化次數。
GA-BP 神經網絡訓練流程如圖5 所示。

圖5 GA-BP 神經網絡訓練流程Fig.5 Training process flow of GA-BP neural network
鑿巖機器人鉆孔分布如圖6 所示。筆者使用蒙特卡羅算法,在鉆臂工作空間內選擇任意5 000 組位姿數據樣本,樣本數據包括目標位姿變量(Δx,Δy,Δz)和(α,β,γ),及對應的位姿誤差(x,y,z)和(Δα,Δβ,Δγ)。

圖6 鑿巖機器人鉆孔分布Fig.6 Distribution of drilled holes of rock-drilling robot
為提高神經網絡的預測效率和精度,需將樣本集分為訓練樣本、檢驗樣本和測試樣本。依照樣本數量的大小,劃分方法有“留出法”“交叉驗證法”和“自助法”。由于數據較多,筆者按照“留出法”進行劃分,按照45∶4∶1 的比例,將樣本互斥隨機分類,得到訓練樣本集4 500 組,檢驗樣本集400 組和測試樣本集100 組,并對樣本數據進行如下式的歸一化處理,

式中:z′為歸一化之后的數值;z為樣本的原始值;zmin、zmax分別為樣本集中的最小值和最大值。
為方便進行釬桿末端定位誤差分析,定義如下2 個誤差計算公式,分別為位置誤差Exyz和姿態誤差Edeg,

式中:(x,y,z)、(α,β,γ)為目標位姿信息;(x′,y′,z′)、(α′,β′,γ′)為實際位姿信息。
為更直觀展示 GA-BP 算法效果,分別計算位置誤差和姿態誤差的平均誤差和標準方差,

式中:Ei為第i組測試樣本誤差;N為測試樣本總數。
使用蒙特卡羅算法,在釬桿末端可達空間內采集 100 點位姿數據,經 GA-BP 網絡誤差補償后,利用上述公式對位置誤差和姿態誤差進行分析,并以補償前的誤差和 BP 網絡補償后的結果作為參考,對比結果如表2 所列。基于 GA-BP 算法相較于 BP 算法有更好的誤差補償效果,相較于補償前的釬頭定位,平均位置誤差降低了 71.47%,平均姿態誤差降低了56.29%,而且標定后的誤差小于 100 mm,滿足工程要求。

表2 機器人末端位姿誤差結果對比Tab.2 Comparison of error results of robot end posture
使用 GA-BP 神經網絡算法實現了對某型鑿巖機器人釬桿末端的定位誤差辨識。經過誤差補償后,通過運動學逆解計算,得到目標位姿對應的關節變量,最終通過正向運動學控制釬桿末端移動,到達目標鉆孔位置。經試驗結果分析,該方法可有效降低釬桿末端的位姿誤差,滿足工程應用需求,且具有很好的通用性。BP 神經網絡具有較好的非線性擬合能力,而且誤差辨識結果準確度取決于網絡結構和數據樣本的質量,對鉆臂的結構和自由度數的依賴不大。但是單純的 BP 神經網絡存在局部逼近能力差和收斂速度緩慢等缺點,因此經過遺傳算法優化后的 BP 神經網絡具有更好的辨識能力,更好的補償效果。