随着“工业4.0”、“中国制造2025”的提出,虚拟现实(Virtual Reality,简称VR)技术开始飞速发展[1],5G时代的来临,无疑使VR的发展更上一层楼[2-4]。目前,我国煤矿巷道掘进多种方式并存,悬臂式掘进机与单体锚杆钻机工艺虽然平均掘进速度不高,但是由于其对煤层含夹矸、硬度高、存在片帮等复杂地质条件适应性强,井下仍然大量采用这种方式。悬臂式掘进机的操作方式是掘进司机坐在机身上进行悬臂式掘进机的操控,这种操控方式存在许多安全隐患。首先,巷道掘进工作环境恶劣,存在瓦斯气体,地下渗水等环境问题;其次,在掘进工作现场有大量粉尘和水雾等问题,导致司机操作困难,劳动强度大,掘进效率低[5-7]。
VR技术拥有很强的真实性、沉浸性与交互性,越来越得到重视,研究人员将其应用到各种领域,在煤矿领域也取得了较多的研究成果[8]。刘少华等[9]研究了一种基于Quest 3d和SQL Server数据库技术的风机三维虚拟现实系统,可利用虚拟现实的方法显示风机的运行状况。陈占营等[10]针对液压支架研究了一种远程监测系统,可对液压支架进行准确直观地监测。文献[11]研究开发的液压支架虚拟操作系统,主要用于对液压支架操作人员的培训。谢嘉成等[12]研究了一种采掘运装备虚拟装配与仿真系统,利用Visual Studio进行编程,硬件部分采用力反馈器、数据手套等人机交互设备,实现矿用设备的虚拟装配。张旭辉等[13]研发了煤矿探测机器人环境重建与虚拟操控系统,借助于虚拟仿真、精确定位、环境重建和远程操控等技术,基于虚拟现实软件平台Unity 3D,设计了基于虚拟现实技术的煤矿探测机器人远程操控系统。
笔者借助VR技术,构建煤矿井下巷道施工虚拟过程,在井下进尺、悬臂式掘进机精确定位、机身姿态等数据驱动下,真实再现井下巷道施工过程中掘进机运行状态和环境变化,掘进作业中虚拟设备与井下设备同步运动,操作人员依据可视化的虚拟场景进行异常情况人工干预,实现巷道施工远程虚拟操控。
悬臂式掘进机虚拟操控系统的工作原理如下:操控者通过点击虚拟操控界面中的按钮,发送控制指令,控制指令一方面驱动虚拟界面中的掘进机进行相应运动,另一方面,控制指令发送到数据库中,掘进机本地控制器读取数据库中的命令,对真实掘进机进行控制。与此同时,真实掘进机安装的各类传感器,将处理后的掘进机姿态数据发送到数据库中,悬臂式掘进机虚拟工作面读取数据库中的位姿数据,实时修正虚拟掘进机的位姿。如图1所示,掘进机运动仿真操控系统由场景仿真与漫游子系统和掘进机控制子系统2个部分组成。
图1 掘进机运动仿真操控系统组成
Fig.1 Composition of roadheader dynamic
simulation control system
场景仿真与漫游子系统包括虚拟掘进机与虚拟场景,主要模拟煤矿与综掘工作面场景,包括掘进机建模与运动仿真和井下巷道的仿真等,如图2所示。
图2 悬臂式掘进机与井下巷道模型
Fig.2 Cantilever roadheader and underground roadway model
场景仿真与漫游子系统主要利用Unity 3D与Visual Studio 2015为开发环境,建立虚拟场景仿真漫游系统。利用三维建模软件SolidWorks实现设备零件建模,同时还使用3ds MAX软件进行渲染贴图,最后完成虚拟场景整合及交互设计,实现虚拟漫游功能[14]。
系统可连接HTC VIVE眼镜与手柄,通过佩戴沉浸式虚拟眼镜与手柄利用自漫游方式漫游整个虚拟场景,还可通过观察场景中的导航地图,获得自己所在位置。
悬臂式掘进机虚拟远程控制原理如图3所示,控制系统遵循“虚实同步、数据驱动、动态修正、人机协作、远程干预” [15]的控制策略,系统主要包括控制算法模块、人机交互模块和数据通信模块。
算法模块通过对掘进机运动部分进行运动学分析,利用C#语言对掘进机机身运动进行编程,使虚拟掘进机能模拟真实掘进机的各种动作。
人机交互模块主要实现操作人员与虚拟掘进机的交互。操作人员通过虚拟操控面板对真实掘进机下达控制命令,虚拟掘进机通过读取数据进行运动。操作人员还可切换不同视角,更好地掌握掘进机的运动状态。
数据通信模块中,下位机控制器使用PLC进行数据的发送与传感器数据的采集,系统采用专用协议的RS485总线通信方式实现下位机与虚拟平台之间的通信。同时使用2根485总线与虚拟平台通信,一路下发控制命令,控制PLC控制器中的I/O量,完成对悬臂式掘进机的控制;另一路下发采集命令,控制PLC控制器上传各个工况传感器所采集到的数据。并将数据处理后的结果存储到MySQL数据库中,虚拟掘进机读取真实掘进机机身的各类传感器数据,并与自身位姿进行对比,进行运动姿态的动态修正。
图3 悬臂式掘进机虚拟远程控制原理示意
Fig.3 Control principle schematic of virtual remote for cantilever roadheader
悬臂式掘进机的主要动作有机身的前进后退和左右转弯,截割部和铲板部等各部分的运动都是通过液压缸的伸缩来完成的[16],截割部存在垂直面内的摆动和水平面内的摆动2个自由度,是通过升降油缸和水平回转油缸的驱动来分别实现在垂直面和水平面内的摆动[17]。对悬臂式掘进机的机身位姿以及截割部进行运动分析。
悬臂式掘进机机身运动学可用于描述机身位姿相对于巷道的位置关系,悬臂式掘进机机身姿态包括横滚角、俯仰角和航向角,利用惯导测量悬臂式掘进机在巷道中的位置,再利用激光传感器和超声传感器获得悬臂式掘进机的机身位姿。以巷道走向为基础建立巷道坐标系O2X2Y2Z2,在悬臂式掘进机机身建立机身坐标系O1X1Y1Z1,其中绕X1轴旋转的角为俯仰角α,绕Y1轴旋转的角为横滚角β,绕Z1轴旋转的角为航向角γ,其关系如图4所示。设定测量坐标系O3X3Y3Z3,X3与巷道中线重合,Z3指向巷道顶板,水平面由X3O3Y3组成。
图4 悬臂式掘进机在巷道中的运动坐标系
Fig.4 Moving coordinate system of cantilever
roadheader in roadway
机身坐标系相对于巷道坐标系的关系可表示为
(1)
其中: 为测量坐标系对巷道坐标系的姿态变换矩阵,
为机身坐标系对测量坐标系的姿态变换矩阵。由于测量仪器的安装位置及初始方位已知,即
为已知。测量仪器相对于巷道的初始姿态记为(α3,β3,γ3),位移变化量为(x3,y3,z3)。则测量坐标系与巷道坐标系的变换矩阵
为
(2)
掘进机机身坐标系相对于测量坐标系的位置记为(x1,y1,z1),掘进机机身绕测量坐标系3个轴的相对姿态角为(α,β,γ),则掘进机机身坐标系相对于测量坐标的变换矩阵为
(3)
将式(2)与式(3)代入式(1)即可得到悬臂式掘进机机身的运动方程式为
(4)
其中:a11=cos γcos βcos γ3cos β3+sin γcos β(cos γ3sin β3sin α3-sin γ3cos α3)-sin β(cos γ3sin β3cos α3+sin γ3sin α3),a12=cos γ3cos β3(cos γsin βsin α-sin γcos α)+(sin γsin βsin α-cos γcos α)(cos γ3sin β3sin α3-sin γ3cos α3)+c(cos γ3sin β3cos α3+sin γ3sin α3),a13=cos γ3cos β3(cos γsin βcos α+sin γsin α)+(cos γ3sin β3sin α3-sin γ3cos α3)(sin γsin βcos α-cos γsin α)+cos βcos α(cos γ3sin β3cos α3+sin γ3sin α3),a14=x1cos γ3cos β3+y1(cos γ3sin β3sin α3-sin γ3cos α3)+z1(cos γ3sin β3cos α3+sin γ3sin α3)+x3,a21=cos γcos βsin γ3cos β3+sin γcos β(sin γ3sin β3sin α3+cos γ3cos α3)-sin β(sin γ3sin β3cos α3-cos γ3sin α3),a22=sin γ3cos β3(cos γsin βsin α-sin γcos α)+(sin γsin βsin α-cos γcos α)(sin γ3sin β3sin α3+cos γ3cos α3)+cos βsin α(sin γ3sin β3cos α3-cos γ3sin α3),a23=sin γ3cos β3(cos γsin βcos α+sin γsin α)+(sin γsin βcos α-cos γsin α)(sin γ3sin β3sin α3+cos γ3cos α3)+cos βcos α(sin γ3sin β3cos α3-cos γ3sin α3),a24=x1sin γ3cos β3+y1(sin γ3sin β3sin α3+cos γ3cos α3)+z1(sin γ3sin β3cos α3-cos γ3sin α3)+y3,a31=-sin β3cos γcos β+sin γcos βcos β3sin α3-sin βcos β3cos α3,a32=-sin β3(cos γsin βsin α-sin γcos α)+cos β3sin α3(sin γsin βsin α-cos γcos α)+cos βsin αcos β3cos α3,a33=-sin β3(cos γsin βcos α+sin γsin α)+cos β3sin α3(sin γsin βcos α-cos γsin α)+cos βcos αcos β3cos α3,a34=-x1sin β3+y1cos β3sin α3+z1cos β3cos α3+z3。
2.2.1 截割部垂直方向运动学分析
掘进机截割部垂直方向运动可简化为图5所示,其中,2个同步垂直升降液压缸可以简化为1个液压缸,O2为截割臂垂直摆动中心[18]。设升降液压缸与截割臂的铰接点为A,截割头与垂直摆动中心O2之间的距离为L,截割臂在垂直面内与X轴之间的夹角为θ,截割臂处于最上端位置时截割头坐标为(X1,Z1),升降液压缸AB的长度为L0,AB、AB1、AB2分别为截割臂在水平、最高点和最低点时升降液压缸的位置。截割臂在进行垂直方向截割时,设上为正,下为负。令O2A=L1,O2B=O2B1=O2B2=L2,升降液压缸伸长量(或者伸缩量)为Δl,与水平位置对比,伸长为正值,伸缩为负值。
图5 掘进机垂直摆动机构
Fig.5 Vertical oscillating mechanism of roadheade
(5)
2.2.2 截割部水平方向运动学分析
掘进机回转台通过1组2个液压缸配合1个伸长和1个缩短完成水平方向的运动。回转台工作装置可以简化如图6所示。图中O1为回转台水平摆动中心,EC1、 EC2与FD1、FD2为回转部液压缸以及其回转至最左端与最右端时液压缸的伸缩位置。
图6 回转台水平摆动机构
Fig.6 Horizontal swinging mechanism of rotary table
截割部在进行水平方向运动时,设向左为正,向右为负。其中,O1C2=O1D2,∠C1O1E=λ(已知),C2E=L3-L4,D2F=L3+L4,e为回转台水平摆动中心O1与垂直摆动中心O2之间的距离,φ为截割臂在水平面内与X轴之间的角度,截割臂处于最左端位置时截割头坐标为(X2,Y2),回转液压缸长度为L3,左右回转液压缸伸长量或伸缩量为L4。
(6)
悬臂式掘进机虚拟操控系统是基于Unity 3D平台开发设计的,但是Unity 3D本身只具有非常简单的建模功能[19],只能创建cube、sphere、capsule、cylinder等简单形状,无法构造精确的掘进机模型,因此我们选用SolidWorks对掘进机各部分进行建模与装配。由于SolidWorks渲染功能较差,且输出模型的文件格式无法在Unity 3D中直接使用,因此在3ds MAX中对模型文件进行渲染和优化,并导出.FBX文件格式,在Unity 3D环境中使用。悬臂式掘进机虚拟操控系统模型的建立流程如图7所示。
图7 悬臂式掘进机虚拟操控系统模型建立流程
Fig.7 Modeling flow of virtual control
system of cantilever roadheader
掘进机的运动仿真需要对其进行程序设计。Unity 3D支持C#、Java和Boo语言的编程,均是基于.NET平台开发运行。虚拟现实仿真系统采用C#语言进行程序设计,选用Microsoft Visual Studio 2015或Unity 3D自带的MonoDevelop为集成开发环境。
悬臂式掘进机机身的前后移动与左右旋转利用Unity 3D脚本编辑中Transform类下的Translate与Rotate函数即可完成,而悬臂上下运动、回转台左右转动、铲板升降等动作都是由液压缸伸缩实现,因此,液压缸联动的动作编程是虚拟现实仿真系统的研究重点及难点。
对于单个液压缸的动作编程,主要用到Transform中LookAt成员函数,通过语句transform.LookAt(joint,WorldUp),使活塞杆的Z轴指向joint方向,在缸体Inspector面板中的得脚本下的joint部分添加与缸体相应的活塞杆组件,即可完成1组液压缸的动作仿真,如图8所示,为添加之后的效果。由于掘进机每个动作的实现,都需要2组液压缸同时作用,以摇臂上下运动为例,需将2组液压缸与摇臂相互绑定,绑定后效果如图9所示。
图8 单个液压缸绑定效果
Fig.8 Binding effect of single hydraulic cylinder
图9 悬臂部分液压缸绑定效果
Fig.9 Binding effect of hydraulic cylinder cantilever part
在运动仿真操控系统中,虚拟掘进机模型可以实时为操作人员反馈真实掘进机的位置及姿态,而虚拟界面中的人机交互界面则可以对虚拟与真实掘进机进行同时操控,并且可以通过导航地图实时显示掘进机的位置,通过设置整体、相机、驾驶与截割头的摄像机可对虚拟掘进机进行不同视角的切换,如图10所示。
图10 不同视角界面
Fig.10 Interface of different perspectives
Unity 3D具有相当成熟的UGUI系统,UGUI提供了强大的可视化编辑器,允许用户快速直观地创建图形用户界面(GUI界面)。通过建立GUI界面中的按钮(Button)控件对虚拟掘进机与真实掘进机进行控制。
在Unity 3D中制作导航地图,为操控者提供整体的操控依据。导航地图的制作主要分为GUI的设计和代码的编写2步。根据真实建井图,建立Unity 3D中导航地图的模型,Hierarchy视图中的Canvas下建立导航地图的层级关系,将巷道地图设为父节点,五角星图标设为子节点,图标表示掘进机在巷道中所处的位置,这2个节点为图片控件。为掘进机安装跟随相机,使掘进机在导航地图中的位置可以根据运动情况实时进行变化。
视角切换界面的实现同样是利用UGUI中的Butten控件,在Hierarchy视图中建立摄像机,并调整到所需要的视角位置,利用程序进行控制,使得按下相应的Button控件即可出现与之对应的摄像机视角,可以使得操控人员在不同的视角可以看到掘进机的运动情况。
图11 真实建井图与虚拟界面导航地图
Fig.11 Real well map and virtual interface navigation map
悬臂式掘进机虚拟操控系统需要虚拟掘进机精确呈现真实掘进机的位置姿态,因此需要对虚拟掘进机关键部位进行动态修正,主要对虚拟掘进机截割臂的位置与姿态进行动态修正。根据虚拟界面中截割臂的位姿值与真实设备位姿值的差值对虚拟样机进行修正,虚拟位姿值可以通过程序读取截割臂的实时位姿数据,真实数据来自于已经处理好并且存入数据库中的截割部位姿数据,对这2个数值进行差值计算,差值的大小决定对虚拟样机位姿调整的大小,差值的正负关系决定修正的时模型运动的方向。具体修正步骤如下:读取截割臂位姿数据库中最新一行的数据,进行数据类型的转换与计算,与虚拟掘进机位姿数据进行差值运算,给差值设定一定的阈值,在差值大于设定的阈值时对虚拟掘进机位姿进行修正,否则不修正。
截割臂位姿数据通过工业相机拍摄位于掘进机机身截割臂靠近回转台位置的红外标靶,并通过图像处理与坐标运算得到截割头的姿态角度。并将其存储到MySQL数据库中。截割臂位姿测量的构建的试验平台如图12所示。
1—悬臂式掘进机截割臂;2—红外标靶;3—工业相机
图12 截割臂位姿测量试验平台
Fig.12 Experimental platform for position and
pose measurement of cutting arm
要对虚拟模型进行动态修正,就需要建立修正模型,如图13所示。其中O1为回转台左右回转的中心,O2为截割臂上下摆动的中心。虚拟截割臂的上下角度需在真实的角度上加90°,左右角度需要在真实的角度上加130°,在此数据处理的基础上再对虚拟模型进行动态修正。
图13 真实掘进机与虚拟掘进机角度基准
Fig.13 Angle benchmarks of real and virtual roadheader
运行悬臂式掘进机虚拟操控系统,操控悬臂式掘进机截割一个断面,采集真实掘进机截割臂运动的数据与虚拟掘进机截割臂的角度数据,共计采集1 379组截割臂角度数据,利用MATLAB对数据进行处理后形成虚拟截割轨迹与真实截割轨迹的拟合曲线如图14所示。
图14 虚拟截割轨迹与真实截割轨迹对比
Fig.14 Comparison of virtual cut track and real cut track
试验中,系统总运行时间为43 s,截取其中第10、20、30、40 s时的真实掘进机与虚拟掘进机的截割臂位姿对比如图15所示。试验结果表明:虚拟截割轨迹与真实截割轨迹吻合度达到99.6%,并且在同一时刻虚拟界面中的悬臂式掘进机的截割臂位姿能够与真实设备的保持一致,可以真实再现真实掘进机的姿态。
图15 截割臂位姿对比
Fig.15 Contrast of position and pose of cutting arm
1)研发了一种悬臂式掘进机虚拟操控系统,该系统结合计算机技术、虚拟现实技术及通信技术,建立了悬臂式掘进机及井下巷道的虚拟仿真模型,对掘进机进行了运动学仿真,将控制数据传输到真实掘进机的控制器中,实现了虚拟与真实的同步运动。
2)通过读取悬臂式掘进机姿态信息数据,在虚拟操控界面中实现模型姿态动态修正功能,达到物理样机与虚拟样机虚实同步的功能,为远程操控者提供决策依据。
3)悬臂式掘进机远程虚拟操控系统能够有效完成掘进机工作状态的真实再现以及远程控制,为实现自动化掘进工作面奠定了一定基础。
[1] 谢嘉成,王学文,李 祥,等.虚拟现实技术在煤矿领域的研究现状及展望[J].煤炭科学技术,2019,47(3):53-59.
XIE Jiacheng,WANG Xuewen,LI Xiang,et al.Research status and prospect of virtual reality technology in field of coal mine[J].Coal Science and Technology,2019,47(3):53-59.
[2] 李 梅,杨帅伟,孙振明,等.智慧矿山框架与发展前景研究[J].煤炭科学技术,2017,45(1):121-128,134.
LI Mei,YANG Shuaiwei,SUN Zhenming,et al.Study on framework and development prospects of intelligent mine[J].Coal Science and Technology,2017,45(1) :121-128,134.
[3] 韩 军,张 衡,姜新宇,等.基于Unity 3D的微震监测分析虚拟现实系统研发[J].煤炭科学技术,2019,47(5):151-155.
HAN Jun,ZHANG Heng,JIANG Xinyu,et al.Development of microseismic monitoring and analysis virtual realitysystem based on Unity 3D[J].Coal Science and Technology,2019,47(5):151-155.
[4] 张晓慧,杨兆建,王学文,等.刮板输送机沉浸式虚拟装配系统设计[J].煤炭科学技术,2013,41(12):76-79.
ZHANG Xiaohui,YANG Zhaojian,WANG Xuewen,et al.Design on immersion type virtual assembling system of scraper conveyor[J].Coal Science and Technology,2013,41(12):76-79.
[5] 杨文娟,张旭辉,马宏伟,等.悬臂式掘进机机身及截割头位姿视觉测量系统研究[J].煤炭科学技术,2019,47(6):50-57.
YANG Wenjuan,ZHANG Xuhui,MA Hongwei,et al.Research on position and posture measurement system of body and cutting head for boom-type roadheader based on machine vision[J].Coal Science and Technology,2019,47(6) :50-57.
[6] 张旭辉,张 超,杨文娟,等.悬臂式掘进机可视化辅助截割系统研制[J].煤炭科学技术,2018,46(12):21-26.
ZHANG Xuhui,ZHANG Chao,YANG Wenjuan,et al.Research and development of visual auxiliary cutting system for cantilever roadheader[J].Coal Science and Technology,2018,46(12) :21-26.
[7] 毛清华,张旭辉,马宏伟,等.多传感器信息的悬臂式掘进机空间位姿监测系统研究[J].煤炭科学技术,2018,46(12):41-47.
MAO Qinghua,ZHANG Xuhui,MA Hongwei,et al.Study on spatial position and posture monitoring system of boom-type roadheader based onmulti sensor information[J].Coal Science and Technology,2018,46(12) :41-47.
[8] BELLANCA Jennica L,ORR Timothy J,HELFRICH William J,et al.Developing a virtual reality environment for mining research.[J].Mining,metallurgy & amp;exploration,2019,36(4):55-61.
[9] 刘少华,孟国营.基于Quest 3D的煤矿主扇风机虚拟现实的研究[J].同煤科技,2012(3):1-3,44.
LIU Shaohua,MENG Guoying .Research on virtual reality of the mine′s main fan based on Quest3D[J].Datong Coal Science and Technology,2012(3):1-3,44.
[10] 陈占营,郑晓雯,陈静珊,等.基于虚拟现实的液压支架监测系统研究[J].煤矿机械,2015,36(9):87-90.
CHEN Zhanying,ZHENG Xiaowen,CHEN Jingshan, et al.Research on monitoring system for hydraulic support based on virtual reality[J].Coal Mine Machinery,2015,36(9):87-90.
[11] GONG Ming,WANG Jianwu,LI Bingwen.Research on virtual operating system of hydraulic support based on virtools[J].Advanced Materials Research,2012,433:103-110.
[12] 谢嘉成,杨兆建,王学文,等.采掘运装备虚拟装配与仿真系统设计及关键技术研究[J].系统仿真学报,2015,27(4):794-802.
XIE Jiacheng,YANG Zhaojian,WANG Xuewen,et al.Design and key technologies of virtual assembly and simulation of mining,driving and transporting equipment system[J].Journal of System Simulation,2015,27(4):794-802.
[13] 张旭辉,董润霖,马宏伟,等.基于虚拟现实的煤矿救援机器人远程控制技术[J].煤炭科学技术,2017,45(5):52-57.
ZHANG Xuhui,DONG Runlin,MA Hongwei,et al.Study on remote control technology of mine rescue robot based on virtual reality[J].Coal Science and Technology,2017,45(5):52-57.
[14] 安葳鹏,孟卫娟.基于虚拟现实的煤矿设备装配仿真系统研究[J].测控技术,2017,36(8):114-117.
AN Weipeng,MENG Weijuan.Research on colloery equipment assembly and simulation system[J].Measurement Control Technology,2017,36(8):114-117.
[15] 张旭辉,王妙云,张雨萌,等.数据驱动下的工业设备虚拟仿真与远程操控技术研究[J].重型机械,2018(5):14-17.
ZHANG Xuhui,WANG Miaoyun,ZHANG Yumeng,et al.Virtual simulation and remote control technology with data-driven for industrial equipment[J].Heavy Machinery,2018(5):14-17.
[16] 王 琦.制导弹箭弹道视景仿真系统研究[D].南京:南京理工大学,2018.
[17] 李楠楠.悬臂式掘进机截割部液压系统的设计与分析[D].沈阳:东北大学,2009.
[18] 李军利.悬臂式掘进机断面自动成形理论与控制策略研究[D].太原:太原理工大学,2009.
[19] 高国雪,高 辉,焦向东,等.基于Unity 3D的焊接机器人虚拟现实仿真技术研究[J].组合机床与自动化加工技术,2018(3):19-22.
GAO Guoxue,GAO Hui,JIAO Xiangdong,et al.Study on virtual reality simulation technology of welding robot based on the Unity 3D[J].Modular Machine Tool & Automatic Manufacturing Technitjue,2018(3):19-22.