一种虚拟采煤机记忆截割方法与流程

文档序号:11134354阅读:1011来源:国知局
一种虚拟采煤机记忆截割方法与制造工艺

本发明涉及一种采煤机记忆截割在虚拟现实环境下的实现方法,尤其是一种在虚拟现实仿真引擎Unity3d下实时对采煤机的记忆截割技术进行虚拟仿真的方法。



背景技术:

煤矿井下综采工作面十分危险,工人劳动强度大,自动化水平低,因此急需全面提高综采成套装备的自动化水平,并向智能化和无人化方向发展,在这一过程中,采煤机的记忆截割技术尤为重要。由于当前煤岩识别技术仍然没有得到工业应用,综采工作面普遍采用记忆截割加人工干预的方法作为采煤过程长期运行的主流模式,既能减轻采煤机工人的劳动强度,又能提高工作面装备的自动化水平,增加安全性和提高开采效率。但此种方法存在截割路线不准确,截割过多或过少使过煤或留煤等情况普遍存在。

针对当前采煤机记忆截割与滚筒自动调高方面的研究,除了进行理论上的分析与计算外,还需要进行相关实验研究。主要有三种途径:(1)在实际采煤机上进行;(2)在物理模型上进行模拟实验研究;(3)虚拟样机进行虚拟试验。第一种方法优点是能真实反映结果,但存在较大的局限性:由于煤矿井下高度危险、要求所有测试仪器均要具备防爆、煤安或本质安全认证,这种方法一般适用于产品的工业性应用测试阶段,而不适合做一般的实验研究。而第二种方法物理模型造价高、耗时长,对于一种新的方法编入控制系统周期更长,准备一系列的试验和测试系统,很难快速验证方法的正确性,甚至方法错误后,整套系统投资白费,造成了极大的经济损失。第三种方法利用虚拟样机代替物理样机对采煤机进行测试和评价,但研究结果的可靠性很大程度上取决于所建立的采煤机虚拟样机数学模型的准确性,但在一项记忆截割技术的研发期,仍然表现出快速、准确的潜力。

虚拟现实技术可以构建出一个类似于全景的真实的综采工作面三维场景,模拟作业过程以及工艺设备的运行,如果建立一个与实际一致的采煤机数字虚拟模型和能够反映采煤机运行特性的采煤机信息模型,两者相结合,让记忆截割技术在虚拟现实环境下就可以快速测试与应用完成,遵循记忆截割“示教-执行-修正-执行”的方式执行。

现有的采煤机与综采虚拟仿真培训系统,针对采煤机记忆截割功能的还没有。现有技术中,公开号为201210195694.X的“基于不同地质条件的电牵引采煤机工作状态虚拟仿真系统”,将采煤机工况参数实时驱动采煤机虚拟样机,并绘制不同地质条件的综采工作面,实现采煤工作状态的“真实再现”。

公开号为CN105405335A的“一种煤矿综采工作面远程控制虚拟培训系统”,通过远程控制操控台的各种功能开关、手柄和旋钮,控制虚拟综采工作面设备,解决煤矿少人或无人工作面控制系统的人员培训问题。

但是上述方法的缺陷在于缺少对采煤机记忆截割方法的培训与仿真。



技术实现要素:

本发明针对煤矿井下综采工作面采煤机的采煤过程,提出一种虚拟采煤机记忆截割方法。

本发明所采取的技术措施如下。

一种虚拟采煤机记忆截割方法,所述方法是在虚拟现实引擎Unity3d环境下首先生成虚拟顶底板环境,然后虚拟刮板输送机铺设在虚拟底板上作为虚拟采煤机运行轨道,点击虚拟操纵面板按钮对虚拟采煤机进行操作,虚拟控制器实时对操作数据进行存储、分析与处理与读取,实现对采煤机进行记忆截割仿真或测试;

所述虚拟顶底板环境是输入地质地形参数,在Unity3d中自动生成高低不平的虚拟顶板和虚拟底板;

所述虚拟刮板输送机是与实际刮板输送机等同的虚拟模型,能够自适应地虚拟铺设在虚拟底板上;

所述虚拟采煤机是与实际采煤机等同的虚拟模型,并安装有虚拟传感器,在C#脚本的控制下能够真实模拟采煤机的运动;

所述虚拟操纵面板是对虚拟采煤机进行操作的虚拟GUI按钮;

所述虚拟控制器是虚拟采煤机的控制器,通过对xml文件的读写与matlab生成的dll能够完成对虚拟采煤机的数据采集、数据分析与处理和数据读取,从而对虚拟采煤机进行控制;虚拟操纵面板是unity3d中对虚拟控制器进行控制的GUI界面,包括采煤机功能按钮、记忆截割工艺按钮和网络协同操作按钮。

上述虚拟顶底板环境是输入地质地形参数,在Unity3d中自动生成高低不平的虚拟顶板和虚拟底板;所述地质地形参数包括工作面横向倾角和纵向倾角、最大、最小和平均采高参数,生成符合高斯分布的一群离散点,利用现有多种曲线拟合方法依次连接各点,并在Uinty3d中进行渲染生成虚拟现实顶板和底板。

上述的虚拟采煤机记忆截割方法,所述虚拟采煤机是在Unity3d中,建立与实际采煤机完全相同的虚拟模型,并安装有虚拟传感器,在编写的C#脚本控制下完成左右摇臂与左右油缸的协同调高,牵引方向、牵引速度的控制,实现真实模拟采煤机的运动;所述虚拟传感器是利用C#脚本中的预设代码和指令获取实时的采煤机数据,包括采煤机运动方向、采煤机的位置、摇臂的转角、牵引速度、横向倾角、纵向倾角和电机电流数据;当采煤机滚筒超过虚拟顶板或虚拟底板范围后,判断为虚拟采煤机电机电流出现异常,此时应当人工远程干预,再重新进入虚拟顶板或虚拟底板范围后,采煤机电机电流恢复正常;

上述虚拟刮板输送机是在Unity3d中建立与实际刮板输送机完全相同的虚拟模型,在编写的C#脚本控制下能够自适应地虚拟铺设在虚拟底板上,并具备向煤壁侧推进能力,作为采煤机的运行轨道。

上述虚拟控制器是对虚拟采煤机进行数据采集并进行分析与处理的控制器;包括数据采集模块、数据分析与处理模块和数据读取模块。

上述数据采集模块是在虚拟采煤机运行过程中,按照需求对安装的虚拟传感器数据进行采集并存放入xml文件中;所述数据分为三类,分别为常规点、关键点和异常点;所述常规点是采煤机行走一个中部槽的长度后自动采集一组虚拟传感器数据,储存进入changgui.xml文件中;所述关键点是对采煤机收到控制指令而改变自身工作姿态的点;所述异常点是当采煤机左或右滚筒高度超过虚拟顶板或虚拟底板范围时,判定为虚拟采煤机电机电流出现异常时刻的虚拟传感器数据,以及进行人工干预左或右滚筒高度回到虚拟顶板或虚拟底板范围电机电流恢复正常时刻的虚拟传感器数据,储存进入yichang.xml文件中。

上述数据分析与处理模块是在matlab软件中编译好dll文件,用于将数据采集模块采集的三个xml文件changgui.xml、guanjian.xml和yichang.xml中的数据,利用特定的算法进行整合和生成下一刀数据,并将生成的供下一刀记忆截割直接利用的虚拟传感器数据,保存进入执行.xml文件中。

上述数据读取模块是在记忆模式下,虚拟采煤机在走到相对应位置时读取数据分析与处理模块生成的执行.xml中对应的采煤机虚拟传感器数据,截割出人工示教时的形状,在这一模式中,采煤机会随着横向倾角和纵向倾角的改变而进行滚筒高度补偿。

上述虚拟操纵面板是对虚拟采煤机进行操作的虚拟GUI按钮;包括采煤机功能按钮、记忆截割工艺按钮和网络协同按钮;所述采煤机功能按钮是包括对左摇臂、右摇臂、牵引速度和牵引方向的控制,并通过此对虚拟采煤机进行操作;所述记忆截割工艺按钮是包括工艺启动、工艺暂停、工艺继续、工艺停止、开始学习和停止学习,能够完成虚拟采煤机记忆截割功能;所述网络协同按钮是包括指定IP、角色选择、虚拟环境生成和单刀、双刀示范选择,其中角色选择是前滚筒司机和后滚筒司机,联网后协同操作虚拟采煤机完成任务。

本发明上述所提供一种虚拟采煤机记忆截割方法的技术方案,与现有技术相比,具有如下的有益效果。

本方法及其系统在虚拟现实环境下对采煤机记忆截割技术进行仿真和测试,快速测试新记忆截割技术预算法,只需在matlab编好算法,生成dll,就可快速测试新的记忆截割算法;

本方法及其系统快速方便,可靠,具有沉浸性,形象直观,可以实现采煤机司机的虚拟培训,单机培训和双人协同操作与培训;

本方法及其系统通过xml文件可靠记录所记录的数据,通过matlab模块准确计算路径点,并可快速提取出数据点,进行曲线测算和拟合,进行分析;

本方法及其系统适用范围广,制作不同模型,倾角不同、薄煤层、中厚煤层和特厚煤层,均可对各种算法进行测试。

附图说明

图1是本虚拟采煤机记忆截割方法与系统的组成部分与实现方法图。

图2是虚拟生成的采煤机顶底板曲线与采煤机截割情况图。

图3是采煤机数据模块xml文件拟合曲线图。

图4是虚拟操纵面板图。

图中:1:虚拟顶板;2:虚拟采煤机;3:虚拟刮板输送机;4:虚拟底板。

具体实施方式

下面结合附图对本发明具体实施方式做出进一步的说明。

如附图1所示,实施本发明上述所提供的一种虚拟采煤机记忆截割方法,是在虚拟现实引擎Unity3d环境下对采煤机记忆截割技术进行仿真与测试,包括虚拟顶底板环境、虚拟刮板输送机、虚拟采煤机、虚拟控制器和虚拟操纵面板;其特征在于:所述虚拟顶底板环境是输入地质地形参数,自动在Unity3d中生成的高低不平的虚拟顶板和虚拟底板;所述虚拟刮板输送机是与实际刮板输送机完全一致的虚拟模型,可以自适应地虚拟铺设在虚拟底板上。所述虚拟采煤机是与实际采煤机完全一致的虚拟模型,并安装有虚拟传感器,在C#脚本的控制下可以真实模拟采煤机的运动;所述虚拟控制器是虚拟采煤机的控制器,通过对xml文件的读写与matlab生成的dll可以完成对虚拟采煤机的数据采集、数据分析与处理和数据读取,从而对虚拟采煤机进行控制;虚拟操纵面板是unity3d中对虚拟控制器进行控制的GUI界面,包括采煤机功能按钮、记忆截割工艺按钮和网络协同操作按钮。

首先生成虚拟顶底板环境,接着虚拟刮板机铺设在虚拟底板上作为虚拟采煤机运行的轨道,点击虚拟操作面板的按钮对虚拟采煤机进行操作,虚拟控制器实时对操作数据进行存储、分析与处理与读取,从而完成虚拟采煤机的记忆截割。

实施一种虚拟顶底板环境是输入地质地形参数,自动在Unity3d中生成的高低不平的虚拟顶板和虚拟底板。地质地形参数包括工作面横向倾角和纵向倾角、最大、最小和平均采高等参数,并遵循地质地形条件不会发生突变的特点(很少会出现突变或者有大的断层等地质构造出现),生成符合高斯分布的一群离散点,利用现有的多种曲线拟合方法依次连接各点,并在Uinty3d中进行渲染生成虚拟现实顶板和底板。

实施一种虚拟采煤机是在Unity3d中,建立的与实际采煤机完全一致的虚拟模型,并安装有虚拟传感器,在编写的C#脚本控制下可以完成左右摇臂与左右油缸的协同调高,牵引方向、牵引速度的控制等,可以真实模拟采煤机的运动;

虚拟传感器可以利用C#脚本中的预设代码和指令获取实时的采煤机姿态参数,虚拟传感器数据包括采煤机运动方向、采煤机的位置、摇臂的转角、牵引速度、横向倾角、纵向倾角和电机电流。当采煤机滚筒超过虚拟顶板或虚拟底板范围后,判断为虚拟采煤机电机电流出现异常,此时必须人工远程干预降低(截割底板时为提升),再重新进入虚拟顶板或虚拟底板范围后,采煤机电机电流恢复正常。

虚拟模型是在UG中进行建模并修补,针对摇臂、油缸和滚筒等旋转中心点,建立销轴,分别将每一个部件以stl的格式导入3DMAX,以fbx的格式导出,再导入Unity3d中,所修补的销轴与所有部件模型保持在UG中准确一致的位置关系,对运动中心点进行标记。需要在Hierarchy视图中建立层级关系,并用gameObject. transform.GetChild(n).transform实现父子关系的建立,其中n为上一级物体的第n+1个子物体。利用localPosition函数实现右摇臂的旋转:

YouYaoBiXiaoZhou.localRotation = new Quaternion(Mathf.Sin(YouRotAngle * Mathf.PI / 360), 0, 0, Mathf.Cos(YouRotAngle * Mathf.PI / 360));

对采煤机姿态进行解析,并在虚拟场景中模拟真实采煤机的速度,首先通过计算获得真实采煤机的运行速度,然后通过Unity3d软件可以对每秒刷新的帧数进行设置,在EDIT-Project-other的V Sync Count选项改为Don’t Sync,然后添加修改帧数脚本UpdateFrame.cs,通过设置每秒运行帧数target FrameRate的数值实现对运动速度的准确控制,代码如下:

Application.targetFrameRate = target FrameRate;

targetFrameRate=10表示程序一秒执行10帧,对应的update()函数执行10次。对采煤机姿态进行解析,使油缸与摇臂能够进行联动。虚拟采煤机运动与实际采煤机动作速度一致。比如求解出来的虚拟采煤机牵引速度:

VC虚拟=VC实际/targetFrameRate;

虚拟传感器通过命令获取采煤机的运行状态数据,比如采煤机的位置:

Cmj_Position = this.transform.position.x;

点击虚拟操作面板旁边的“+”或“-”,完成对采煤机的虚拟操作。比如点击左摇臂旁边的按钮“+”,左摇臂上升,通过以下代码实现:

if (GUI.Button(new Rect(100, 0, 50, 20), "+"))

{ if (ZuoRotAngle < 30){ OldZuoRotAngle = ZuoRotAngle;

ZuoRotAngle = OldZuoRotAngle + 0.5f;}}

实施一种虚拟刮板输送机是在Unity3d中,建立的与实际刮板输送机完全一致的虚拟模型,在编写的C#脚本控制下可以自适应地虚拟铺设在虚拟底板上,并具备向煤壁侧推进能力,作为采煤机的运行轨道。

实施一种虚拟控制器是对虚拟采煤机进行数据采集并进行分析与处理的控制器;包括数据采集模块、数据分析与处理模块和数据读取模块。

数据采集模块是指在虚拟采煤机运行过程中,按照需求对安装的虚拟传感器的数据进行采集并存放入xml文件中。数据分为三类,分别为常规点、关键点和异常点。常规点是指采煤机行走一个中部槽的长度后自动采集一组虚拟传感器数据,储存进入changgui.xml文件中。关键点是对采煤机收到控制指令而改变自身工作姿态的点,在本系统中就是按下与松开虚拟采煤机操作面板的功能按钮的两个时刻的虚拟传感器数据,储存进入guanjian.xml文件中。异常点是指当采煤机左或右滚筒高度超过虚拟顶板或虚拟底板范围时,判定为虚拟采煤机电机电流刚刚出现异常时刻的虚拟传感器数据,以及进行人工干预,左或右滚筒高度回到虚拟顶板或虚拟底板范围电机电流刚刚恢复正常时刻的虚拟传感器数据,储存进入yichang.xml文件中

数据分析与处理模块是指在matlab软件中编译好dll文件,用于数据采集模块采集的三个xml文件(changgui.xml、guanjian.xml和yichang.xml)中的数据,利用特定的算法进行整合和生成下一刀数据,并生成可供记忆截割模式下执行.xml文件中的虚拟传感器数据。比如分别选择单向示范和双向示范刀,会分别单刀示范.dll文件和双刀示范.dll文件,通过Get_jyjg()函数实现:

public void Get_jyjg(int jyjg_ID, float jyjg_Position, bool jyjg_Direction, float jyjg_Speed, float jyjg_ZuoRotAngle,float jyjg_YouRotAngle,float jyjg_HengXiangAngle,float jyjg_ZongXiangAngle,bool jyjg_DiJiDianLiu) {}

changgui.xml数据结构如下所示:

<ROOT>

<jyjg jyjgID="1" jyjgPosition="43.6856" jyjg_Direction=”True” jyjgSpeed="10" jyjgZuoRotAngle="30" jyjg_HengXiangAngle="5" jyjg_ZongXiangAngle="2" jyjg_DianJiDianLiu=true />

</ROOT>

其中:

jyjg jyjgID:信息点ID

jyjgPosition:虚拟采煤机位置

jyjg_Direction:虚拟采煤机牵引方向(true为方向向左,false为方向向右)

jyjgSpeed:虚拟采煤机牵引速度

jyjgZuoRotAngle:虚拟采煤机左摇臂转角

jyjgYouRotAngle:虚拟采煤机右摇臂转角

jyjg_HengXiangAngle:虚拟采煤机横向倾角

jyjg_ZongXiangAngle:虚拟采煤机纵向倾角

jyjg_DianJiDianLiu:虚拟采煤机电机电流(true为电机电流正常,采煤机滚筒未超过虚拟顶板或虚拟底板范围,false为电机电流正常,采煤机滚筒超过虚拟顶板或虚拟底板范围)

guanjian.xml和yichang.xml与changgui.xml数据结构一致,三个xml均是通过jyjgPosition和jyjg_Direction可以唯一标识工艺点。

数据读取模块指的是在记忆模式下,虚拟采煤机运行到相对应位置时读取数据分析与处理模块生成的执行.xml中对应的采煤机虚拟传感器数据,截割出人工示教时的形状。在这一模式中,采煤机会随着横向倾角和纵向倾角的改变而进行滚筒高度补偿。

会预选读取到前面几个数值,进行插值等运算。利用update()函数每帧检测位置与方向条件,如果符合条件,就把此时的位置信息点赋予虚拟采煤机的姿态信息,从而驱动采煤机按照预先轨迹运动。

通过LoadXml()函数实现:

Void public LoadXml(int jyjg_ID, float jyjg_Position, bool jyjg_Direction, float jyjg_Speed, float jyjg_ZuoRotAngle,float jyjg_YouRotAngle,float jyjg_HengXiangAngle,float jyjg_ZongXiangAngle,bool jyjg_DiJiDianLiu);

虚拟操纵面板是指对虚拟采煤机进行操作的虚拟GUI按钮。包括采煤机功能按钮、记忆截割工艺按钮和网络协同按钮。采煤机功能按钮包括对左摇臂、右摇臂、牵引速度和牵引方向的控制,可通过此对虚拟采煤机进行操作。记忆截割工艺按钮包括工艺启动、工艺暂停、工艺继续、工艺停止、开始学习和停止学习等,可以完成虚拟采煤机记忆截割功能。网络协同按钮包括指定IP、角色选择、虚拟环境生成和单刀、双刀示范选择,其中角色选择分为前滚筒司机和后滚筒司机,联网后两操作者可以协同操作虚拟采煤机完成任务,

由于一般采煤机前后滚筒各有一个司机,这时采用网络协同模块,利用NetWork Simulation模块,利用Sockets进行数据同步,编制网络协同功能,实现在异地同时培训,在培训过程中出现操作问题时,系统自动提示错误,并指引操作者更正操作。

下面通过实施例对本发明的具体实施方式做出进一步的说明。

首先输入工作面横向倾角和纵向倾角、最大、最小和平均采高等地质地形参数,输入完毕后点击“生成”按钮,系统会按照输入参数生成虚拟顶底板环境,虚拟刮板输送机自适应地虚拟铺设在生成的虚拟底板上,并具备向煤壁侧推进能力,作为采煤机的运行轨道,选取“开始学习”模式,点击虚拟操作面板的“左摇臂”、“右摇臂”、“牵引速度”和“牵引方向”等按钮,对虚拟采煤机进行操作,虚拟控制器实时对操作数据进行存储、分析与处理与读取,在运行完成一个流程后,先点击“停止学习”按钮,再点击“工艺启动”按钮,系统就会根据虚拟控制器处理生成的“执行.xml”中的数据,完成虚拟采煤机的记忆截割。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1