当前位置:首页 期刊杂志

栅格法与Dijkstra算法的掘进机截割轨迹规划

时间:2024-08-31

刘若涵,刘永立

(1.黑龙江科技大学 安全工程学院, 哈尔滨 150022; 2.黑龙江科技大学 招生就业处, 哈尔滨 150022; 3.黑龙江科技大学 矿业工程学院, 哈尔滨 150022)

0 引 言

由于井下煤层含有矸石和硫化铁等硬夹杂物,在沉积过程中形成分层面,使煤层的各处性质不同。若采取同样的截割速度可能会导致截割电机负载过大造成电机堵转或者截割机构的损坏等现象发生。因此,研究掘进机的截割轨迹规划对巷道高效掘进具有重要意义。童敏明等[1]利用Matlab软件模拟截割头截割运动与轨迹仿真,针对掘进机器人倾斜时的状态难点,推导出了悬臂截割头的空间位置。李建刚等[2]建立了悬臂式掘进机器人仿形截割数学模型,推导出相应的工作油缸行程与外包络面的空间位置坐标的对应关系。杨文娟等[3]提出了悬臂式掘进机器人巷道成形智能截割控制系统,解决了基于视觉反馈的井下掘进机器人巷道成形智能截割控制问题。张付凯等[4]建立了截割臂摆动的动力学模型,采用自适应迭代学习控制方法对截割臂的摆动进行控制,运用Matlab仿真软件进行了仿真。王福忠等[5]运用Matlab软件对PD型迭代学习控制算法完成目标轨迹的精确跟踪进行了仿真,证明了PD型迭代学习控制算法对截割头运行轨迹精确跟踪的有效性。王苏彧等[6-7]研究了截割轨迹规划及边界控制方法,可使截割头从任意起点躲避岩石所在位置截割完整断面。笔者通过获得巷道断面图像,通过二值化巷道断面,采用图像栅格化处理与Dijkstra算法的融合规划了巷道断面成型的截割轨迹。

1 掘进巷道断面条件与环境

掘进机截割断面工作原理示意图如图1所示。掘进截割巷道断面时,通过截割臂的上下摆动与左右摆动进行截割巷道断面。

图1 悬臂式掘进机掘进巷道示意Fig. 1 Cantilever roadheader driving tunnel

巷道断面有着多种多样的形式,如多边形、拱形、圆形类,其中多边形中又有半梯形、梯形、矩形和屋脊形等,如图2所示。若用悬臂式掘进机来成形巷道断面,通过控制悬臂的上下水平及复合摆动实现巷道断面成形。

1.1 断面形状的数学描述

巷道的断面煤岩分布具有多样性的,有相对均布的全岩和全煤形式,有混合分布的煤岩分层和含有包裹体形式,如图2所示。一般半煤岩巷的煤层占1/5~4/5,如何截割不同分布的煤岩断面,为保证高效、低比能耗,需要合理规划截割头的轨迹与控制。文中以图2c矩形断面,其煤岩混合形式为例,通过获取巷道断面图像研究截割轨迹的规划方法。

图2 断面几何形状与煤岩分布Fig. 2 Section geometry and coal distribution

由图2断面的几何形状与煤岩分布可知, 半梯形、梯形、矩形和屋脊形的断面几何形状,可以用统一的数学物理量进行断面形状特征描述。

由图2a可知,半梯形断面的形状条件为:

(1)

由图2b可知,梯形断面的形状条件为:

(2)

由图2c可知,矩形断面的形状条件为:

(3)

由图2d可知,屋脊形断面的形状条件为:

(4)

由式(1)~(4)可知,通过控制断面形状的几何参量,可以获得相应的巷道断面,同时为掘进机截割断面形状的控制及截割路径的规划提供了边界约束条件。

1.2 巷道断面二值化

以图2c矩形巷道断面为例,分析巷道断面的二值化,其巷道断面空间点几何关系如图3所示,其中,巷道长为L、宽为B、高为H。

由图3可见,断面①点的坐标为(-B/2,H),②点的坐标为(B/2,H),③点的坐标为(B/2,0),④点的坐标为(-B/2,0),则有矩形巷道断面内任一点(x,y,z)的取值满足为

0≤z≤H,

0≤y≤L。

通过截割过程中采集的巷道断面图像,预处理巷道煤岩图像,识别获得岩石或夹石层的位置。巷道断面二值化的关键是确定阈值,在确定阈值的基础上,将每个像素点的灰度值与阈值比较,根据比较的结果将该像素划分为煤和岩两部分,设原始图像为f(x,z),二值化分割图像的方法为

式中:f(x,z)——图像中坐标(x,z)处的像素值;

g(x,z)——二值化处理后的图像中坐标(x,z)处的像素值;

T——二值化阈值。

图3 矩形巷道断面Fig. 3 Rectangular roadway section

由于掘进机工作环境的复杂性,采集的图像受巷道亮度和粉尘等影响,在实际拍摄巷道断面图像时,易造成所采集的图片出现光照不均匀的现象,清晰度较差,影响通过图像分析煤岩的属性。巷道部分截面如图4所示,通过分析图4的巷道图像属性,获得该图像是由245×161个像素组成的。

图4 巷道断面图像Fig. 4 Image of roadway

通过对图4巷道断面图像灰度直方图分析,结果如图5所示。由图5可见,巷道断面图像的灰度直方图中波峰和波谷呈交叉出现,巷道断面图像部分区域灰度值的差异存在不明显,需进一步分析其阈值,划分煤和岩的区域。

图5 巷道灰度直方图Fig. 5 Gray scale histogram of roadway

为巷道煤岩图像灰度曲线波动情况,绘制了巷道的三维灰度特征如图6所示。由图6可知,图像灰度特征图呈现空间三维地形是由于煤层与岩层颜色不同,表现在图像上就是灰度值的不同。巷道断面中的煤岩受反射光线的影响,不同的反射率表征了煤或岩石,因此,其灰度值也是不同的。图4中岩层位置对应图6中的波峰点,图4中煤层位置对应图6中的波谷点。

图6 巷道的三维灰度波动Fig. 6 3D grayscale fluctuation diagram of roadway

选择巷道断面x方向第i行一段条形区域,其像素数为l个,以该区域x方向为横坐标,灰度值为纵坐标,绘制煤岩巷道断面灰度波动曲线,其中x=1,2,…,l。将煤岩巷道断面灰度波动曲线波峰点和波谷的灰度值存放到二维矩阵H中,其中,矩阵的第一行存放煤岩巷道断面灰度波动曲线波峰点值,矩阵的第二行存放煤岩巷道断面灰度波动曲线波谷点值。

(5)

式中:ai——第i个波峰点的灰度值;

m——波峰的总数;

bj——第j个波峰点的灰度值;

n——波谷的总数。

波峰点灰度值的平均值为

(6)

式中,Aa——波峰点灰度值总和。

波谷点灰度值的平均值为

(7)

式中,Ba——波谷点灰度值总和。

巷道断面x方向的灰度阈值可表示为

T1=α(Aa-Ba)+Ba,

(8)

式中,α——边界完整度。

同理,可计算巷道断面z方向阈值T2。

综合巷道断面x与z方向的灰度阈值,得巷道断面最终阈值为

T=ξ×(T1+T2),ξ∈[0,1],

(9)

式中,ξ——清晰度。

采用灰度波动的邻域局部阈值分割方法对巷道煤岩的图像进行处理,确定巷道断面的阈值[8],获得煤岩截面第57行前75像素点灰度变化如图7所示。由图7可知,当像素个数l取75时,其对巷道断面的分割效果最好。

图7 第57行前75像素点灰度变化Fig 7 Grayscale change of first 75 pixels in line 57

根据式(5)~(9)可得,巷道断面图像二值化处理流程如图8所示。根据图8的流程,利用Matlab软件通过光照不均匀的文本图像的局部灰度波动的自适应阈值分割算法,对巷道截割面进行二值化处理,获得最终二值化的灰度图像如图9所示。

图8 灰度波动曲线阈值分割流程 Fig. 8 Grayscale fluctuation curve threshold segmentation flow

图9 二值化处理的巷道图像Fig. 9 Binary processing of tunnel image

1.3 掘进巷道断面栅格化

在掘进机截割轨迹规划过程中,利用栅格地图构建环境模型,通过将巷道煤岩分解成一系列具有二值信息的网格单元,将含煤栅格范围称为自由栅格,含岩石的栅格为障碍栅格[9-12]。程序中用0和1分别代表煤和岩两种状态。用0标注的区域为自由栅格区域,该区域可自由通过,用1标注的区域为障碍栅格区域,该区域无法通过。

掘进机的截割头形状为近似球形,截割出的面为内凹的形状,现取内凹的投影面为研究对象建立栅格地图。以矩形为例建立栅格地图,掘进机截割头半径R的大小为栅格地图网格的宽度,网格大小为R×R。巷道高度为H,宽度为B,则巷道平面内网格数

(10)

在栅格地图中,黑色表示岩石或石层位置,白色表示煤层位置。实际巷道断面上岩石是不规则的,采用膨胀方法确定其覆盖栅格,将不规则岩石所在的轨迹点视为障碍点,岩石覆盖区域不满一个栅格单元膨胀成一个栅格单元,如图3中黑色部分为膨胀化后的岩石。二值膨胀数学表达式为

O=U⊕I=[(x,y)|[Ixy∩U]≠φ]。

(11)

膨胀后的图像O由结构元素U对原始图像I进行膨胀所得。文中原始图像是指不规则的障碍物岩石,结构元素图像是指一个栅格单元。以图10a中岩石所在位置为例,膨胀后如图10b所示。

图10 膨胀化Fig. 10 Expansion

图11 标识栅格Fig. 11 Identification grid

岩石位置以栅格地图建立根据巷道拍摄图像为标准,以图9岩石位置为例,建立膨胀化后的栅格地图,如图12所示。

图12 巷道栅格地图Fig. 12 Roadway raster map

2 巷道断面成型的Dijkstra轨迹算法

2.1 Dijkstra算法

Dijkstar算法是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。Dijkstra算法按照数组的原理,随着计算层数的增加,能够较快地适应条件变量的更新,达到快速求解的目的。Dijkstar算法采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止[13]。Dijkstra算法路径规划的流程如图13所示。通过每个节点k创建一组信息k(dk,pk,fk),其中dk为地图中源点s0到当前节点k的最短路径长度,pk为源点s0到节点k的最短距离中到达节点k的前一节点;fk记录节点k的位置信息中dk值是否为空[14]。

图13 Dijkstar算法流程Fig. 13 Dijkstar algorithm flow

由图13可知,第一步,设置一个集合S存放已经找到的最短路径顶点,截割起始点s:ds=0,ps为空,fs=true,从截割起始点处开始搜索;第二步,计算节点j(n)中所有fj(n)值为false点的dj(n)值:dj=min{dj,dk+w(k,j)},w(k,j)为节点k到节点j的直线连接距离;第三步,选取下一个节点中,dj(n)值最小的点j作为当前节点,设置pj=k,fj=true;最后重复上述过程,当截割头截割到终点t满足ft=true时,算法结束。

2.2 截割轨迹的仿真

利用Matlab软件仿真截割轨迹如图14所示。图14a表示扫地过程,图14b表示遇到夹石层时重新选择截割点。

图14 仿真过程Fig. 14 Simulation process

图14中黑色表示夹石层以及岩石的位置,绿色表示截割头所在位置,黄色表示每一步终点位置。由图14可知,当通过二值化后得到的夹石层以及岩石位置时,通过势场栅格可以使截割头避开其位置,先截割煤层,后再进行夹石层以及岩石位置的截割。

2.3 仿真结果

随着仿真截割的进行,巷道栅格地图不断更新,在进行每一轮自动截割轨迹规划时,使轨迹规划时尽量避开岩石位置,当前断面截割完毕后,再进行岩石以及夹石层位置截割。以图9中岩石位置为例,自动截割规划如图15所示。

图15 截割轨迹规划Fig. 15 Cutting trajectory planning

由图15可知,绿色表示截割头所在位置,黄色表示每一步终点位置,灰色表示过渡位置。使自动截割步距为l,截割头起点位置s1(1,1),根据仿真结果,截割轨迹的规划依次截割顺序为:①→②→③→④→⑤→⑥→⑦,根据规划的截割顺序,可先将煤截割完,再截割岩石及夹石层,提高了掘进机截割效率、降低了能耗。

3 结束语

利用Dijkstar算法规划了巷道断面的截割轨迹,通过实例采用Matlab软件对巷道断面成型的Dijkstra轨迹算法仿真。该算法可以使掘进机避开所判断的岩石与夹石层位置;通过先截割煤层、后截割硬度比较大的岩石与夹石层,可以有效提高掘进机的掘进效能与降低比能耗;可以在识别煤与岩的基础上,进一步提升算法的精度,实现煤岩的高效截割。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!