崔孟豪,姬會福*,惠延波,宋 丹,張中偉
(1.河南工業(yè)大學 機電工程學院,河南 鄭州 450001;2.中鐵工程裝備集團有限公司專用設備研究院,河南 鄭州 450001)
目前,鉆爆法是我國隧道掘進的主要施工方法[1]。鑿巖臺車是鉆爆法施工的核心設備,通過鑿巖臺車對隧道掌子面進行鉆孔作業(yè)[2],而鉆臂是鑿巖臺車實現(xiàn)鉆孔作業(yè)的關鍵部件[3]。通過對鉆臂進行運動學分析,實現(xiàn)對鑿巖臺車鉆孔精準定位,從而完成精確鉆孔作業(yè)。
為了擴大鑿巖臺車的工作范圍,使鉆臂更加靈活,通常將鉆臂設計為六自由度及以上的冗余機械臂,而冗余機械臂逆運動學求解是一個難題。
目前,求解機械臂逆運動學的方法有反變換法[4]、幾何法[5]、數(shù)值法[6]。
覃艷明等人[7]針對八自由度機械臂,根據(jù)工作條件對鉆臂進行了約束,采用矩陣逆推的方法得到了機械臂多組逆解。KUCUK S等人[8]針對偏置機械臂沒有封閉解的問題,提出了一種NIKA的數(shù)值解法,能夠求解具有超越方程的機器人逆運動學。童水光等人[9]根據(jù)位置子矩陣和旋轉子矩陣,對滿足Pieper準則的六自由度機械臂進行了逆運動學求解,并以ABB機械臂為例,驗證了所用方法的有效性;但該方法僅適用于滿足Pieper準則的機械臂。葛小川等人[10]采用倍四元數(shù)法建立了6R串聯(lián)機器人的逆運動學方程,求解出了16組解析解,但通過該方法所得逆解不一定能滿足全部要求。KOEKER R等人[11]采用神經(jīng)網(wǎng)絡算法(neural-network committee machine, NNCM),得到了六自由度機械臂的逆解。JESUS H等人[12]采用自適應差分進化方法,得到了協(xié)作移動機器人的逆運動學。
目前,針對鑿巖機械臂逆運動學的研究大多是添加約束,采用解析法。
何清華等人[13]以固定2個移動關節(jié)和約束2個關節(jié)的方法,確定了爆破孔位外插角的位姿,并采用矩陣逆乘法對九自由度鑿巖臺車鉆臂進行了逆運動學求解;但該方法具有局限性,且其求解過程也較為復雜。王憲倫等人[14]采用幾何法,得到了八自由度鑿巖鉆臂的逆解;但該方法的求解過程復雜,且其求解精度也較低。
為提高鑿巖臺車鉆孔定位精度,減少超欠挖現(xiàn)象,解決鉆臂逆運動學求解困難問題,筆者將RBF神經(jīng)網(wǎng)絡算法應用于鑿巖臺車鉆臂逆運動學求解(該算法無需進行矩陣計算,不受鉆臂結構和自由度限制),以隧道掌子面真實孔位為例,對RBF神經(jīng)網(wǎng)絡所得逆解精確性進行驗證,基于ADAMS-Simulink對鉆臂逆解進行進一步聯(lián)合仿真,以驗證逆解可行性。
鑿巖臺車在工作過程中,需要較大驅動力。而在相同的功率下,液壓驅動具有體積小、結構緊湊等的優(yōu)點,因此,液壓驅動方式常常被作為鑿巖臺車鉆臂的優(yōu)選驅動方式。
七自由度鉆臂是目前鑿巖臺車普遍采用的結構形式。該鉆臂的結構模型圖如圖1所示。
圖1 七自由度鉆臂結構模型圖1—底座;2—擺動關節(jié);3—大臂液壓缸;4—伸縮臂液壓缸;5—大臂;6—伸縮臂;7—回轉關節(jié);8—俯仰補償關節(jié);9—擺動補償關節(jié);10—末端移動關節(jié);11—鑿巖機;12—擺動液壓缸
該鉆臂包括2個移動關節(jié)和5個轉動關節(jié),屬于冗余機械臂。
筆者采用改進D-H法建立鉆臂各關節(jié)坐標系,并將基坐標系建立在基座上,得到鉆臂結構簡圖和各關節(jié)坐標系,如圖2所示。
圖2 鉆臂結構簡圖和各關節(jié)坐標系
該鑿巖臺車鉆臂具有7個關節(jié)。
結合鉆臂結構相關參數(shù)和約束關系,筆者建立各關節(jié)D-H參數(shù)表,連桿偏距、關節(jié)轉角、連桿長度、連桿轉角分別以a、α、d、θ表示,如表1所示。
表1 七自由度鑿巖臺車鉆臂D-H參數(shù)
根據(jù)D-H法坐標變換規(guī)則,鉆臂各相鄰關節(jié)之間的變換矩陣表達式為:
(1)
結合式(1),可以建立鉆臂末端執(zhí)行器坐標系{7}相對于基座坐標系{0}的位姿矩陣,即為:
(2)
式中:[noa]—鉆臂末端相對于基坐標系的姿態(tài);[pxpypz]—鉆臂末端相對于基坐標系的位置。
將表1中鉆臂各關節(jié)變量初始值代入式(2),可得鑿巖臺車鉆臂末端執(zhí)行器初始位姿矩陣為:
(3)
逆運動學是已知機械臂末端相對于基坐標系位姿,反求各關節(jié)變量值。筆者以所得鉆臂正運動學采集樣本數(shù)據(jù)作為RBF神經(jīng)網(wǎng)絡算法的輸入,通過訓練預測出鉆臂逆運動學,并將逆解代入正運動學矩陣,以驗證逆解的有效性。
鉆臂逆運動學是非線性求解過程,RBF可將低維空間非線性不可分問題轉換成高維空間線性可分問題,進而實現(xiàn)鉆臂的逆運動學精確求解[15]。
RBF神經(jīng)網(wǎng)絡的核心是設計隱含層,為了實現(xiàn)數(shù)據(jù)由低緯度線性不可分轉換為高緯度線性可分,隱含層使用一種高斯函數(shù)作為核函數(shù),其激活函數(shù)表達式為:
(4)
式中:xp—輸出的第P個樣本;ci—第i個隱含層的激活函數(shù)的中心;σ—函數(shù)的寬度參數(shù),即高斯函數(shù)的方差;‖xp-ci‖—第P個輸入樣本到中心點c的距離。
根據(jù)所求問題,筆者采用newrbe形式的神經(jīng)網(wǎng)絡,其函數(shù)形式表達式為:
[net,tr]=newbe(P,T,spread)
(5)
式中:P—輸入樣本數(shù)據(jù);T—輸出樣本數(shù)據(jù);spread—徑向基函數(shù)的分布系數(shù)。
Newrbe是一種精確徑向基神經(jīng)網(wǎng)絡,該函數(shù)在創(chuàng)建RBF神經(jīng)網(wǎng)絡時,能夠自動選擇適合的隱藏層數(shù)目,神經(jīng)元個數(shù)自動選擇為輸入樣本個數(shù),使函數(shù)擬合更為平滑;為減少逼近誤差、提高預測精度和計算速度,只需要設置合理的spread,通過多次仿真,確定spread=1。
在鑿巖臺車鉆孔施工作業(yè)過程中,其鉆臂末端需要垂直于隧道待掘進面進行鉆孔工作。關節(jié)7為末端移動關節(jié),僅對鉆臂移動距離進行補償,因此,只需確定前6個關節(jié)的姿態(tài),末端關節(jié)7在其軸線上根據(jù)實際鉆孔需求進行移動即可。
故筆者在進行逆運動學分析時,可假設關節(jié)7固定,即d7為定值,取其初始值d7=4 022 mm,此時鉆臂簡化為六自由度,且簡化后所得逆解結果不影響鑿巖臺車實際鉆孔作業(yè)。
樣本數(shù)據(jù)采集的合適與否直接影響到RBF神經(jīng)網(wǎng)絡的預測精度。筆者通過所得鉆臂正運動學方程,利用MATLAB中偽隨機數(shù)的功能,結合鉆臂各關節(jié)變量范圍,隨機生成10 000組各關節(jié)變量值,將得到的變量值代入式(2),得到鉆臂末端位姿矩陣即輸入矩陣為:
(6)
在輸出樣本矩陣P中,由于只有12個有效數(shù)據(jù)表示鉆臂末端的姿態(tài)和位置,為提高預測速度和精度,同時保證求解過程中各關節(jié)變量相互獨立性,筆者對輸入矩陣P進行RPY歐拉角變換,用6個元素來表示鉆臂末端的姿態(tài)和位置,其結果為:
P1=[α,β,λ,px,py,pz]
(7)
式中:α,β,λ—鉆臂末端姿態(tài);px,py,pz—鉆臂末端位置。
RPY角歐拉變換方式為:
(8)
所求鉆臂逆運動學有6個關節(jié)變量,故樣本的輸出矩陣T為:
T=[θ1,θ2,d3,θ4,θ5,θ6]
(9)
筆者所設計求解鉆臂逆運動學的RBF神經(jīng)網(wǎng)絡結構,如圖3所示。
圖3 RBF神經(jīng)網(wǎng)絡結構
為避免偽隨機數(shù)樣本中存在奇異值,導致訓練時間加長,出現(xiàn)預測結果不收斂等問題,筆者采用最大-最小標準化的歸一化方法,對所生成的樣本數(shù)據(jù)進行歸一化處理,即:
(10)
式中:Xmax—樣本數(shù)據(jù)中最大值;Xmin—樣本數(shù)據(jù)中最小值。
從所得10 000組數(shù)據(jù)中,筆者取8 800組數(shù)據(jù)作為訓練數(shù)據(jù),1 200組數(shù)據(jù)作為測試數(shù)據(jù),從1 200組預測結果中取部分結果,如表2所示。
表2 RBF預測結果
由表2可以看出:預測結果誤差最大為0.005 38 rad。
筆者進一步建立各關節(jié)變量值的預測誤差,如圖4所示(圖中分別表示關節(jié)1—6的預測誤差)。
圖4 RBF神經(jīng)網(wǎng)絡算法預測誤差
由圖4可知:
關節(jié)1預測最大誤差發(fā)生在第447組數(shù)據(jù),誤差值為0.62%;關節(jié)2預測最大誤差發(fā)生在第29組數(shù)據(jù),誤差值為0.006 1%;關節(jié)3預測最大誤差發(fā)生在第543組數(shù)據(jù),誤差值為0.000 78%;關節(jié)5預測最大誤差發(fā)生在第29組數(shù)據(jù),誤差值為0.006 1%;關節(jié)6預測最大誤差發(fā)生在第29組數(shù)據(jù),誤差值為0.011%。
經(jīng)過RBF神經(jīng)網(wǎng)絡預測1 200組數(shù)據(jù)中,各關節(jié)中最大誤差值為0.62%。由此可以證明,該神經(jīng)網(wǎng)絡結構預測精度較為精確。
其中,關節(jié)4預測誤差圖4(d)中,由于約束鉆臂垂直隧道掌子面,關節(jié)4的變量值保持初始值不變,經(jīng)過RBF預測輸出值沒有誤差。
為驗證RBF神經(jīng)網(wǎng)絡所得鉆臂求逆運動學結果準確性,筆者以隧道掌子面所布63個孔位為例,鑿巖臺車到隧道掌子面距離為9 m(每個孔位位姿已知),得到隧道孔位橫截面分布圖,如圖5所示。
圖5 隧道掌子面布孔圖
筆者將隧道掌子面63個孔位位姿數(shù)據(jù)輸入到上文經(jīng)過訓練的RBF神經(jīng)網(wǎng)絡中,基于RBF神經(jīng)網(wǎng)絡求解鉆臂得到對應孔位時各關節(jié)變量值。
對比分析基于數(shù)值法獲得的鉆臂各關節(jié)變量值,如表3所示。
表3 不同方法所得逆解結果
由于鉆臂達到每個孔位時,各關節(jié)變量值的實際值是未知的,因此,為驗證所得鉆臂逆解結果的準確性,筆者將RBF神經(jīng)網(wǎng)絡和數(shù)值法所得各個關節(jié)變量值代入鉆臂末端位姿矩陣公式,得到鉆臂末端執(zhí)行器位姿,并將所得位姿與隧道掌子面對應孔位位姿進行對比,結果如圖6所示。
從圖6中可看出:基于RBF神經(jīng)網(wǎng)絡預測孔位誤差整體低于數(shù)值法所得結果。其中,在X方向上,RBF預測孔位最大誤差為2.588 mm,誤差率最大為0.156%,數(shù)值法所得孔位最大誤差為25.589 mm,誤差率最大為0.724%;Y方向上,RBF神經(jīng)網(wǎng)絡預測孔位最大誤差為2.336 mm,誤差率最大為0.096%,數(shù)值法所得孔位最大誤差為10.611 mm,誤差率最大為0.282%;
且RBF神經(jīng)網(wǎng)絡所預測63個孔位結果的X、Y方向上平均誤差分別為0.591 mm、0.465 mm,數(shù)值法所得63個孔位結果的X、Y方向上平均誤差分別為3.592 mm、1.168 mm;
RBF神經(jīng)網(wǎng)絡預測結果所得63個孔位,X、Y方向誤差超過1 mm的僅有17個孔位,而通過數(shù)值法所得63個孔位中,X、Y軸方向誤差超過1 mm的有62個。
由此可知,RBF神經(jīng)網(wǎng)絡算法所預測孔位整體精度高于數(shù)值法所得孔位,且所預測孔位誤差在鉆孔施工范圍內(nèi)。
為驗證所提出運動學方法應用于鑿巖臺車鉆臂的可行性,基于ADAMS-Simulink,筆者對鉆臂三維模型模擬鉆孔定位過程進行聯(lián)合仿真。
仿真環(huán)境中添加有重力,并對鉆臂各關節(jié)設置材料屬性,以模擬實際鉆孔定位過程,進一步驗證所得逆運動學可行性。限于篇幅,筆者取部分孔位進行鉆孔驗證。
鉆臂運動學虛擬聯(lián)合仿真結果,如圖7所示。
圖7 虛擬聯(lián)合仿真模型
圖7中,筆者首先將鉆臂模型導入ADAMS,根據(jù)逆解結果及鉆臂施工特點添加約束和驅動;然后在Simulink模型中,建立鉆臂各關節(jié)運動模型,采用模糊PID控制算法搭建鉆臂控制系統(tǒng),實現(xiàn)對鉆臂鉆孔定位的控制;最后,將鉆臂各關節(jié)軌跡規(guī)劃結果作為Simulink中輸入,由此進行ADAMS-Simulink聯(lián)合仿真。
通過在ADAMS鉆臂模型末端建立Mark點,筆者測量了其相對于基坐標系的位置坐標。
聯(lián)合仿真結果如表4所示。
通過表4可以看出:聯(lián)合仿真孔位與RBF神經(jīng)網(wǎng)絡預測孔位最大誤差為第3組仿真孔位,X、Y方向誤差值分別為0.9 mm、1.39 mm。
表4 聯(lián)合仿真結果對比
這是由于ADAMS為鉆臂實物模擬仿真,仿真環(huán)境中添加有重力等因素,使得仿真結果與理論求解值存在一定誤差,但鉆臂末端依然垂直于隧道斷面,且該誤差在鉆孔施工允許的范圍內(nèi),不會因此造成隧道掘進面超欠挖現(xiàn)象,由此可知,所求孔位對應的逆解是可行的。
為了提高鑿巖臺車鉆孔定位精度,首先,筆者對七自由度鑿巖臺車鉆臂運動學進行了研究,采用RBF神經(jīng)網(wǎng)絡求其逆運動學;然后,以隧道孔位進行了驗證;最后,采用ADAMS-Simulink對鉆孔定位進行了聯(lián)合仿真。
研究結果表明:
(1)針對不滿足Pieper準則的七自由度鑿巖臺車鉆臂逆運動學沒有封閉解,筆者采用了RBF神經(jīng)網(wǎng)絡算法求解鉆臂逆解。根據(jù)鑿巖臺車鉆孔時要求鉆臂垂直隧道掌子面的要求,結合鉆臂結構建立鉆臂運動約束條件,通過RBF神經(jīng)網(wǎng)絡求解了鉆臂逆運動學,仿真結果表明其最大預測誤差為0.62%;
(2)為驗證求逆解有效性,筆者以隧道掌子面所布63個真實孔位為例,采用RBF神經(jīng)網(wǎng)絡求出了每個孔位對應的一組逆解,通過正運動學得到了逆解對應的孔位位姿,同時采用數(shù)值法求解了所有孔位位姿。筆者將兩種方法所得孔位位姿與真實孔位位姿進行了對比,結果表明,RBF神經(jīng)網(wǎng)絡所得孔位位姿誤差低于數(shù)值法,X、Y方向最大誤差分別為2.588 mm、2.336 mm;
(3)筆者基于ADAMS-Simulink對鉆孔施工進行了聯(lián)合仿真驗證,仿真結果誤差在施工允許范圍內(nèi),由此驗證了逆解可行性,能夠提高鉆孔定位精度,使鑿巖臺車減少因定位誤差產(chǎn)生超欠挖現(xiàn)象,滿足鉆孔施工要求。
筆者后續(xù)將針對X、Y方向誤差相差較大問題開展進一步的研究,并以鑿巖臺車樣機為例進行實際鉆孔實驗,對實際鉆孔時鉆臂定位所產(chǎn)生誤差的原因進行分析。