劉若涵,劉永立
(1.黑龍江科技大學(xué) 安全工程學(xué)院, 哈爾濱 150022; 2.黑龍江科技大學(xué) 招生就業(yè)處, 哈爾濱 150022; 3.黑龍江科技大學(xué) 礦業(yè)工程學(xué)院, 哈爾濱 150022)
由于井下煤層含有矸石和硫化鐵等硬夾雜物,在沉積過程中形成分層面,使煤層的各處性質(zhì)不同。若采取同樣的截割速度可能會(huì)導(dǎo)致截割電機(jī)負(fù)載過大造成電機(jī)堵轉(zhuǎn)或者截割機(jī)構(gòu)的損壞等現(xiàn)象發(fā)生。因此,研究掘進(jìn)機(jī)的截割軌跡規(guī)劃對(duì)巷道高效掘進(jìn)具有重要意義。童敏明等[1]利用Matlab軟件模擬截割頭截割運(yùn)動(dòng)與軌跡仿真,針對(duì)掘進(jìn)機(jī)器人傾斜時(shí)的狀態(tài)難點(diǎn),推導(dǎo)出了懸臂截割頭的空間位置。李建剛等[2]建立了懸臂式掘進(jìn)機(jī)器人仿形截割數(shù)學(xué)模型,推導(dǎo)出相應(yīng)的工作油缸行程與外包絡(luò)面的空間位置坐標(biāo)的對(duì)應(yīng)關(guān)系。楊文娟等[3]提出了懸臂式掘進(jìn)機(jī)器人巷道成形智能截割控制系統(tǒng),解決了基于視覺反饋的井下掘進(jìn)機(jī)器人巷道成形智能截割控制問題。張付凱等[4]建立了截割臂擺動(dòng)的動(dòng)力學(xué)模型,采用自適應(yīng)迭代學(xué)習(xí)控制方法對(duì)截割臂的擺動(dòng)進(jìn)行控制,運(yùn)用Matlab仿真軟件進(jìn)行了仿真。王福忠等[5]運(yùn)用Matlab軟件對(duì)PD型迭代學(xué)習(xí)控制算法完成目標(biāo)軌跡的精確跟蹤進(jìn)行了仿真,證明了PD型迭代學(xué)習(xí)控制算法對(duì)截割頭運(yùn)行軌跡精確跟蹤的有效性。王蘇彧等[6-7]研究了截割軌跡規(guī)劃及邊界控制方法,可使截割頭從任意起點(diǎn)躲避巖石所在位置截割完整斷面。筆者通過獲得巷道斷面圖像,通過二值化巷道斷面,采用圖像柵格化處理與Dijkstra算法的融合規(guī)劃了巷道斷面成型的截割軌跡。
掘進(jìn)機(jī)截割斷面工作原理示意圖如圖1所示。掘進(jìn)截割巷道斷面時(shí),通過截割臂的上下擺動(dòng)與左右擺動(dòng)進(jìn)行截割巷道斷面。
圖1 懸臂式掘進(jìn)機(jī)掘進(jìn)巷道示意Fig. 1 Cantilever roadheader driving tunnel
巷道斷面有著多種多樣的形式,如多邊形、拱形、圓形類,其中多邊形中又有半梯形、梯形、矩形和屋脊形等,如圖2所示。若用懸臂式掘進(jìn)機(jī)來成形巷道斷面,通過控制懸臂的上下水平及復(fù)合擺動(dòng)實(shí)現(xiàn)巷道斷面成形。
巷道的斷面煤巖分布具有多樣性的,有相對(duì)均布的全巖和全煤形式,有混合分布的煤巖分層和含有包裹體形式,如圖2所示。一般半煤巖巷的煤層占1/5~4/5,如何截割不同分布的煤巖斷面,為保證高效、低比能耗,需要合理規(guī)劃截割頭的軌跡與控制。文中以圖2c矩形斷面,其煤巖混合形式為例,通過獲取巷道斷面圖像研究截割軌跡的規(guī)劃方法。
圖2 斷面幾何形狀與煤巖分布Fig. 2 Section geometry and coal distribution
由圖2斷面的幾何形狀與煤巖分布可知, 半梯形、梯形、矩形和屋脊形的斷面幾何形狀,可以用統(tǒng)一的數(shù)學(xué)物理量進(jìn)行斷面形狀特征描述。
由圖2a可知,半梯形斷面的形狀條件為:
(1)
由圖2b可知,梯形斷面的形狀條件為:
(2)
由圖2c可知,矩形斷面的形狀條件為:
(3)
由圖2d可知,屋脊形斷面的形狀條件為:
(4)
由式(1)~(4)可知,通過控制斷面形狀的幾何參量,可以獲得相應(yīng)的巷道斷面,同時(shí)為掘進(jìn)機(jī)截割斷面形狀的控制及截割路徑的規(guī)劃提供了邊界約束條件。
以圖2c矩形巷道斷面為例,分析巷道斷面的二值化,其巷道斷面空間點(diǎn)幾何關(guān)系如圖3所示,其中,巷道長(zhǎng)為L(zhǎng)、寬為B、高為H。
由圖3可見,斷面①點(diǎn)的坐標(biāo)為(-B/2,H),②點(diǎn)的坐標(biāo)為(B/2,H),③點(diǎn)的坐標(biāo)為(B/2,0),④點(diǎn)的坐標(biāo)為(-B/2,0),則有矩形巷道斷面內(nèi)任一點(diǎn)(x,y,z)的取值滿足為
0≤z≤H,
0≤y≤L。
通過截割過程中采集的巷道斷面圖像,預(yù)處理巷道煤巖圖像,識(shí)別獲得巖石或夾石層的位置。巷道斷面二值化的關(guān)鍵是確定閾值,在確定閾值的基礎(chǔ)上,將每個(gè)像素點(diǎn)的灰度值與閾值比較,根據(jù)比較的結(jié)果將該像素劃分為煤和巖兩部分,設(shè)原始圖像為f(x,z),二值化分割圖像的方法為
式中:f(x,z)——圖像中坐標(biāo)(x,z)處的像素值;
g(x,z)——二值化處理后的圖像中坐標(biāo)(x,z)處的像素值;
T——二值化閾值。
圖3 矩形巷道斷面Fig. 3 Rectangular roadway section
由于掘進(jìn)機(jī)工作環(huán)境的復(fù)雜性,采集的圖像受巷道亮度和粉塵等影響,在實(shí)際拍攝巷道斷面圖像時(shí),易造成所采集的圖片出現(xiàn)光照不均勻的現(xiàn)象,清晰度較差,影響通過圖像分析煤巖的屬性。巷道部分截面如圖4所示,通過分析圖4的巷道圖像屬性,獲得該圖像是由245×161個(gè)像素組成的。
圖4 巷道斷面圖像Fig. 4 Image of roadway
通過對(duì)圖4巷道斷面圖像灰度直方圖分析,結(jié)果如圖5所示。由圖5可見,巷道斷面圖像的灰度直方圖中波峰和波谷呈交叉出現(xiàn),巷道斷面圖像部分區(qū)域灰度值的差異存在不明顯,需進(jìn)一步分析其閾值,劃分煤和巖的區(qū)域。
圖5 巷道灰度直方圖Fig. 5 Gray scale histogram of roadway
為巷道煤巖圖像灰度曲線波動(dòng)情況,繪制了巷道的三維灰度特征如圖6所示。由圖6可知,圖像灰度特征圖呈現(xiàn)空間三維地形是由于煤層與巖層顏色不同,表現(xiàn)在圖像上就是灰度值的不同。巷道斷面中的煤巖受反射光線的影響,不同的反射率表征了煤或巖石,因此,其灰度值也是不同的。圖4中巖層位置對(duì)應(yīng)圖6中的波峰點(diǎn),圖4中煤層位置對(duì)應(yīng)圖6中的波谷點(diǎn)。
圖6 巷道的三維灰度波動(dòng)Fig. 6 3D grayscale fluctuation diagram of roadway
選擇巷道斷面x方向第i行一段條形區(qū)域,其像素?cái)?shù)為l個(gè),以該區(qū)域x方向?yàn)闄M坐標(biāo),灰度值為縱坐標(biāo),繪制煤巖巷道斷面灰度波動(dòng)曲線,其中x=1,2,…,l。將煤巖巷道斷面灰度波動(dòng)曲線波峰點(diǎn)和波谷的灰度值存放到二維矩陣H中,其中,矩陣的第一行存放煤巖巷道斷面灰度波動(dòng)曲線波峰點(diǎn)值,矩陣的第二行存放煤巖巷道斷面灰度波動(dòng)曲線波谷點(diǎn)值。
(5)
式中:ai——第i個(gè)波峰點(diǎn)的灰度值;
m——波峰的總數(shù);
bj——第j個(gè)波峰點(diǎn)的灰度值;
n——波谷的總數(shù)。
波峰點(diǎn)灰度值的平均值為
(6)
式中,Aa——波峰點(diǎn)灰度值總和。
波谷點(diǎn)灰度值的平均值為
(7)
式中,Ba——波谷點(diǎn)灰度值總和。
巷道斷面x方向的灰度閾值可表示為
T1=α(Aa-Ba)+Ba,
(8)
式中,α——邊界完整度。
同理,可計(jì)算巷道斷面z方向閾值T2。
綜合巷道斷面x與z方向的灰度閾值,得巷道斷面最終閾值為
T=ξ×(T1+T2),ξ∈[0,1],
(9)
式中,ξ——清晰度。
采用灰度波動(dòng)的鄰域局部閾值分割方法對(duì)巷道煤巖的圖像進(jìn)行處理,確定巷道斷面的閾值[8],獲得煤巖截面第57行前75像素點(diǎn)灰度變化如圖7所示。由圖7可知,當(dāng)像素個(gè)數(shù)l取75時(shí),其對(duì)巷道斷面的分割效果最好。
圖7 第57行前75像素點(diǎn)灰度變化Fig 7 Grayscale change of first 75 pixels in line 57
根據(jù)式(5)~(9)可得,巷道斷面圖像二值化處理流程如圖8所示。根據(jù)圖8的流程,利用Matlab軟件通過光照不均勻的文本圖像的局部灰度波動(dòng)的自適應(yīng)閾值分割算法,對(duì)巷道截割面進(jìn)行二值化處理,獲得最終二值化的灰度圖像如圖9所示。
圖8 灰度波動(dòng)曲線閾值分割流程 Fig. 8 Grayscale fluctuation curve threshold segmentation flow
圖9 二值化處理的巷道圖像Fig. 9 Binary processing of tunnel image
在掘進(jìn)機(jī)截割軌跡規(guī)劃過程中,利用柵格地圖構(gòu)建環(huán)境模型,通過將巷道煤巖分解成一系列具有二值信息的網(wǎng)格單元,將含煤柵格范圍稱為自由柵格,含巖石的柵格為障礙柵格[9-12]。程序中用0和1分別代表煤和巖兩種狀態(tài)。用0標(biāo)注的區(qū)域?yàn)樽杂蓶鸥駞^(qū)域,該區(qū)域可自由通過,用1標(biāo)注的區(qū)域?yàn)檎系K柵格區(qū)域,該區(qū)域無法通過。
掘進(jìn)機(jī)的截割頭形狀為近似球形,截割出的面為內(nèi)凹的形狀,現(xiàn)取內(nèi)凹的投影面為研究對(duì)象建立柵格地圖。以矩形為例建立柵格地圖,掘進(jìn)機(jī)截割頭半徑R的大小為柵格地圖網(wǎng)格的寬度,網(wǎng)格大小為R×R。巷道高度為H,寬度為B,則巷道平面內(nèi)網(wǎng)格數(shù)
(10)
在柵格地圖中,黑色表示巖石或石層位置,白色表示煤層位置。實(shí)際巷道斷面上巖石是不規(guī)則的,采用膨脹方法確定其覆蓋柵格,將不規(guī)則巖石所在的軌跡點(diǎn)視為障礙點(diǎn),巖石覆蓋區(qū)域不滿一個(gè)柵格單元膨脹成一個(gè)柵格單元,如圖3中黑色部分為膨脹化后的巖石。二值膨脹數(shù)學(xué)表達(dá)式為
O=U⊕I=[(x,y)|[Ixy∩U]≠φ]。
(11)
膨脹后的圖像O由結(jié)構(gòu)元素U對(duì)原始圖像I進(jìn)行膨脹所得。文中原始圖像是指不規(guī)則的障礙物巖石,結(jié)構(gòu)元素圖像是指一個(gè)柵格單元。以圖10a中巖石所在位置為例,膨脹后如圖10b所示。
圖10 膨脹化Fig. 10 Expansion
圖11 標(biāo)識(shí)柵格Fig. 11 Identification grid
巖石位置以柵格地圖建立根據(jù)巷道拍攝圖像為標(biāo)準(zhǔn),以圖9巖石位置為例,建立膨脹化后的柵格地圖,如圖12所示。
圖12 巷道柵格地圖Fig. 12 Roadway raster map
Dijkstar算法是從一個(gè)頂點(diǎn)到其余各頂點(diǎn)的最短路徑算法,解決的是有權(quán)圖中最短路徑問題。Dijkstra算法按照數(shù)組的原理,隨著計(jì)算層數(shù)的增加,能夠較快地適應(yīng)條件變量的更新,達(dá)到快速求解的目的。Dijkstar算法采用貪心算法的策略,每次遍歷到始點(diǎn)距離最近且未訪問過的頂點(diǎn)的鄰接節(jié)點(diǎn),直到擴(kuò)展到終點(diǎn)為止[13]。Dijkstra算法路徑規(guī)劃的流程如圖13所示。通過每個(gè)節(jié)點(diǎn)k創(chuàng)建一組信息k(dk,pk,fk),其中dk為地圖中源點(diǎn)s0到當(dāng)前節(jié)點(diǎn)k的最短路徑長(zhǎng)度,pk為源點(diǎn)s0到節(jié)點(diǎn)k的最短距離中到達(dá)節(jié)點(diǎn)k的前一節(jié)點(diǎn);fk記錄節(jié)點(diǎn)k的位置信息中dk值是否為空[14]。
圖13 Dijkstar算法流程Fig. 13 Dijkstar algorithm flow
由圖13可知,第一步,設(shè)置一個(gè)集合S存放已經(jīng)找到的最短路徑頂點(diǎn),截割起始點(diǎn)s:ds=0,ps為空,fs=true,從截割起始點(diǎn)處開始搜索;第二步,計(jì)算節(jié)點(diǎn)j(n)中所有fj(n)值為false點(diǎn)的dj(n)值:dj=min{dj,dk+w(k,j)},w(k,j)為節(jié)點(diǎn)k到節(jié)點(diǎn)j的直線連接距離;第三步,選取下一個(gè)節(jié)點(diǎn)中,dj(n)值最小的點(diǎn)j作為當(dāng)前節(jié)點(diǎn),設(shè)置pj=k,fj=true;最后重復(fù)上述過程,當(dāng)截割頭截割到終點(diǎn)t滿足ft=true時(shí),算法結(jié)束。
利用Matlab軟件仿真截割軌跡如圖14所示。圖14a表示掃地過程,圖14b表示遇到夾石層時(shí)重新選擇截割點(diǎn)。
圖14 仿真過程Fig. 14 Simulation process
圖14中黑色表示夾石層以及巖石的位置,綠色表示截割頭所在位置,黃色表示每一步終點(diǎn)位置。由圖14可知,當(dāng)通過二值化后得到的夾石層以及巖石位置時(shí),通過勢(shì)場(chǎng)柵格可以使截割頭避開其位置,先截割煤層,后再進(jìn)行夾石層以及巖石位置的截割。
隨著仿真截割的進(jìn)行,巷道柵格地圖不斷更新,在進(jìn)行每一輪自動(dòng)截割軌跡規(guī)劃時(shí),使軌跡規(guī)劃時(shí)盡量避開巖石位置,當(dāng)前斷面截割完畢后,再進(jìn)行巖石以及夾石層位置截割。以圖9中巖石位置為例,自動(dòng)截割規(guī)劃如圖15所示。
圖15 截割軌跡規(guī)劃Fig. 15 Cutting trajectory planning
由圖15可知,綠色表示截割頭所在位置,黃色表示每一步終點(diǎn)位置,灰色表示過渡位置。使自動(dòng)截割步距為l,截割頭起點(diǎn)位置s1(1,1),根據(jù)仿真結(jié)果,截割軌跡的規(guī)劃依次截割順序?yàn)椋孩佟凇邸堋荨蕖?,根?jù)規(guī)劃的截割順序,可先將煤截割完,再截割巖石及夾石層,提高了掘進(jìn)機(jī)截割效率、降低了能耗。
利用Dijkstar算法規(guī)劃了巷道斷面的截割軌跡,通過實(shí)例采用Matlab軟件對(duì)巷道斷面成型的Dijkstra軌跡算法仿真。該算法可以使掘進(jìn)機(jī)避開所判斷的巖石與夾石層位置;通過先截割煤層、后截割硬度比較大的巖石與夾石層,可以有效提高掘進(jìn)機(jī)的掘進(jìn)效能與降低比能耗;可以在識(shí)別煤與巖的基礎(chǔ)上,進(jìn)一步提升算法的精度,實(shí)現(xiàn)煤巖的高效截割。