资源描述:
深海集矿机行走的视景仿真系统设计与实现 ① 胡 琼, 张贵萍, 吕 彤 (中南大学 机电工程学院,湖南 长沙 410083) 摘 要 针对深海采矿系统在海底黑暗地带工作无法直观、便捷地监测这一问题,设计和实现了一种基于 Visual C++和 Vega Prime 软件联合开发的深海采矿视景仿真系统。 利用 Terra Vista 软件和 Multigen Creator 软件构建了三维虚拟场景,包括采矿系统三维实 体模型的创建和海底地形的生成,并在 Vega Prime 软件中实现了视景仿真。 介绍了利用 Visual C++二次开发 Vega Prime 视景仿真 系统的方法,根据加载的实时数据驱动集矿机模型,控制其运动路径。 阐述了 Vega Prime 与 OpenGL 联合开发的关键技术及方法, 并绘制了集矿机的行走轨迹图。 仿真结果表明此方案能逼真、准确、实时地模拟集矿机在海底的动态运动,对深海采矿作业的顺 利进行具有一定的参考意义。 关键词 深海采矿; 海底集矿机; 仿真; 视景可视化; 三维虚拟场景 中图分类号 P751文献标识码 Adoi10.3969/ j.issn.0253-6099.2020.01.002 文章编号 0253-6099(2020)01-0006-05 Design and Realization of a Scene Simulation System for the Motion of Deep Sea Collecting Machine HU Qiong, ZHANG Gui-ping, L Tong (School of Mechanical and Electrical Engineering, Central South University, Changsha 410083, Hunan, China) Abstract A scene simulation system for deep sea mining system based on Visual C++ and Vega Prime software is designed and realized to solve the problem that the deep sea mining system in the deep dark sea can′t be visually and conveniently monitored. 3D virtual scenes are created using Terra Vista software and Multigen Creator software, including 3D solid modeling and terrain generation, for which a scene simulation is realized by using Vega Prime software. Besides, the method for secondary development of Vega Prime based scene simulation system with Visual C++ is introduced. The moving path of the collecting machine (CM) can be controlled by driving the CM based on the real-time position data. The key technologies and methods for the development with the combination of Vega Prime and OpenGL are elaborated, and the motion trajectory of deep-sea CM is obtained. The simulation results indicate that this design program can visually and correctly simulate the dynamic motion of CM instantly and is of reference for the accomplishment of deep-sea mining operation. Key words deep-sea mining; seabed collecting machine; simulation; scene visualization; 3D virtual scene 随着世界经济飞速发展,资源紧缺的问题日益明 显,探索深海及其蕴育着的丰富资源是当下的发展方 向之一[1-3]。 关于勘探和开采海洋矿产资源,世界各 国的研究和探索都在不断深入和推进。 由于深海作业 环境为高压、强扰动、无自然光的恶劣环境[4],兼之因海 底集矿机行走而搅起的稀软底质使得集矿机周围环境 浑浊难以观察。 为了更便捷、直观地监测海底集矿机 的作业状况,本文基于 Visual C++和视景仿真工具 Vega Prime 对深海采矿系统进行可视化仿真。 1 深海采矿视景仿真系统功能要求 常见的深海采矿系统主要包括集矿机、输送软管、 中间舱、扬矿硬管和采矿船 5 个部分[5],如图 l 所示。 深海集矿机在稀软底质上按照特定的轨迹行走,并从 海底沉积物中采集金属矿物结核,处理后将其通过 输送软管输送到中间舱,然后通过提升泵将结核经 ①收稿日期 2019-08-23 基金项目 深海多金属结核采矿试验工程(2016YFC0304101-8) 作者简介 胡 琼(1981-),女,湖北云梦人,副教授,博士,主要研究方向为深海采矿技术。 通讯作者 张贵萍(1995-),女,江西上饶人,硕士研究生,主要研究方向为深海采矿技术。 第 40 卷第 1 期 2020 年 02 月 矿矿 冶冶 工工 程程 MINING AND METALLURGICAL ENGINEERING Vol.40 №1 February 2020 ChaoXing 由扬矿硬管输送至海面采矿船,完成深海矿物开采 工作。 图 1 深海采矿系统示意 试验时,采矿船将深海采矿系统的设备运载至试 验区,然后将采矿设备沉入海底并开始作业[6]。 由于 集矿机作业时周围黑暗浑浊,难以直接观察其行走的 位置和状态。 因此,如果能对深海集矿机的行走过程 进行可视化仿真,实时监测集矿机的行走位置,就可以 确保出现意外状况时能及时采取相应的措施,保障采 矿作业顺利完成。 本文针对集矿机行走过程中不能直 接观察这一问题,采用 Visual C++ 2008 和 Vega Prime 来实现集矿机行走过程的可视化仿真。 要实现集矿机行走过程的可视化,需要做到如下 几个方面 1) 用 Creator 构建虚拟场景。 包括地形生成、采 矿系统模型创建以及水下环境的渲染。 2) 在 Vega Prime 中驱动虚拟场景。 通过 LynX 图 形界面配置相关参数,加载三维模型实现整个虚拟场 景的渲染及显示。 3) 通过基于 MFC 框架的 Vega Prime 程序实时显 示集矿机的位置。 在程序运行时,固定加载含有实时 数据的文件,传至驱动控制模块实时显示集矿机模型 的运动路径。 4) 集矿机行走轨迹绘制。 在 Vega Prime 主线程 开启后,同时开启了 DRAW 线程,在该线程中,使用 OpenGL 绘制集矿机的运动路线图。 2 三维虚拟场景的构建 本文所构建的虚拟场景主要基于海底,将不可见 的深海环境以及在其中工作的采矿系统显示在用户界 面。 构建虚拟场景可分为以下 3 个部分① 真实地形 生成与显示;② 采矿系统的三维实体建模;③ 水下自 然环境的模拟。 2.1 海底地形生成 地形生成[7]是视景仿真系统开发中基础但却必 不可少的一步。 三维地形建模包含高程信息的数据文 件与真实的地形照片,对前者进行网格化处理和内插 计算,生成虚拟三维地形;对后者进行计算机图像处 理,然后作为地貌纹理贴在虚拟三维地形曲面上,使得 生成的模拟地形具有逼真性。 对于大规模地形的模 拟,常采用 LOD(Level of Details)技术,根据视点和模 型的距离来改变模型的细致程度。 当视点距离模型较 近时,模型细节更多,相对地真实感更好;当视点距离 模型较远,则简化模型,在不影响实际效果的同时节约 计算资源,提高运行效率。 虚拟三维地形建模的详细 流程如图 2 所示。 高程数据 遥感影像数据生成地形 Vega Prime 渲染及显示 文化特征 数据编辑 纹理映射 地形参数设置,包 括设定LOD范围 文化特征数据 数 据 加 载 图 2 地形生成流程 Terra Vista 地形建模软件[8]在不影响三维地形逼 真度的基础上提高地形建模速度方面具有强大的优 势。 采用 Terra Vista 生成地形需要获取地形 DEM(数 字高程模型)数据、遥感影像数据以及文化特征数据 等源数据,并转换为 Terra Vista 支持的格式。 其中, DEM 数据通过地形转换算法生成三维地形的三角网 模型,如图 3 所示。 图 3 海底地形三角网模型 然后获取带有地理位置信息的遥感影像数据,映 射生成较为形象的三维地形模型,如图 4 所示。 7第 1 期胡 琼等 深海集矿机行走的视景仿真系统设计与实现 ChaoXing 图 4 虚拟三维地形模型 2.2 采矿系统三维建模 使用 Vega prime 软件进行视景仿真,首先要建立 采矿系统的三维实体模型。 作为专门应用于实时视景 仿真领域的三维建模软件,Multigen Creator[9]功能强 大、操作便捷,且能有效解决视景仿真中真实感、准确 性与实时性的问题。 针对实时视景仿真的特殊要求, Creator 独创的一种数据格式 Open Flight 应运而生,该 数据格式能够以足够的精度和效率对三维模型进行实 时渲染,并生成所需要的实时三维数据库[10]。 本文按照模型与实物 1 ∶1的比例,将 SolidWorks 中建立的三维模型导入 Creator。 在模型建立中使用 Creator 的节点式分层结构对集矿机履带贴图,使集矿 机的模型更为逼真。 其中,集矿机的建模流程及添加 特征纹理后的模型如图 5 和图 6 所示。 虚拟模型 实物原始数据 Creator软件 Creator软件 模型纹理 Open Flight数据库 数据图像数据 Photoshop软件 图 5 建模流程 图 6 集矿机模型 2.3 自然环境的模拟 虚拟环境中自然环境的模拟仿真包括天空、大气、 光照等等,这些可以通过 LynX Prime 图形界面进行相 应的参数设置来满足试验需要的环境特征。 由于本文 研究的是海底环境的试验,还需要对海洋水下环境进 行模拟仿真。 海洋环境的模拟又分为海面环境和海底 环境。 采用 Vega Prime 的海洋模块,调节参数生成如 图 7 所示的海面环境。 图 7 海面环境的仿真效果 采矿系统在海底工作,需要为海底环境建模。 海 底环境的建模较为特殊,需要运用 Vega Prime 中的特 效模块进行设置调节环境亮度和透明度,再利用雾化 功能模块在此区域范围内添加适当的蓝色雾,模拟水 下的浑浊,效果如图 8 所示。 图 8 海底环境的特效处理 3 Vega Prime 二次开发及视景仿真模 型驱动 3.1 基于 VC++的可视化程序设计 使用 Vega Prime 软件开发视景仿真项目,有多种 开发模式一是运用 LynX Prime 图形界面直接配置 场景,用于开发一些小型、互动性不高的项目;二是运 用 Vega Prime 的 API 函数开发一些较为复杂、交互性 较高的项目。 本文在开发过程中结合了两种模式,先 通过 LynX Prime 图形界面配置 ACF(由 LynX Prime 界面创建的文件的扩展名)文件,再以 Microsoft Visual 8矿 冶 工 程第 40 卷 ChaoXing Studio 作为集成开发环境,使用 C++编程,调用 Vega Prime 的接口函数驱动场景,既可以减少源代码的编 写,又可以在一些交互性较高的场景中实现复杂的功 能[11]。 用 VC 来开发 Vega Prime 视景仿真系统,常采用 多线 程 应 用 程 序 编 程[12]。 线 程 可 分 为 UI ( User Interface)线程和工作线程[13],其中,UI 线程具有消息 循环功能,用来响应用户事件。 而工作线程里通常加 入 Vega Prime 的主线程,来负责运行 Vega Prime 的整 个程序流程,流程图如图 9 所示。 初 始 化 定 义 配 置 帧 循 环 更 新 关 闭 图 9 Vega Prime 仿真程序流程 每个部分的功能如下 1) 初始化(initialize),主要对Vega Prime 的各个模 块进行初始化,主要包括渲染库、场景图、模块接口等。 2) 定义(define),典型的 VP 应用框架通过 vpApp 类来定义,该类内嵌了定义 ACF 文件、配置仿真类、仿 真主循环、更新以及退出程序。 一般来说,用户可以从 vpApp 类来创建自己所需要的类。 3) 配置(configure),在定义阶段设置的值需要在 该步骤中进行配置,比如多线程模式、线程的优先级等。 4) 运行(run),帧循环在该函数中运行,并且持续 调用 begin Frame()和 end Frame()函数来实现仿真 循环。 5) 更新(update),通过在仿真循环中执行 update() 函数,并且调用 vpApp 对象来实现更新。 6) 关闭(shut down),用于清除并退出 Vega Prime 系统,调用各个模块的关闭函数来清除申请的内存空 间,终止线程。 以上 Vega Prime 的整个工作流程,对应着 Vega Prime 的最小结构框架,配合 ACF 文件配置可以实现 在深海采矿虚拟场景中漫游。 3.2 集矿机行走的实时控制 深海采矿试验时,集矿机在海底行走,其位置和姿 态一直处于实时变化的状态。 在 Vega Prime 的可视 化场景中实现集矿机的运动,有两种方式,一是 LynX Prime 图形界面的路径工具 Path Tool,采用这种方式 定义集矿机的运动路径,操作灵活便捷,但必须预先定 义运动路径,不能满足深海采矿过程中获取实时变化 的集矿机位置和姿态的需求。 因此本文采用第二种方 式,利用 Vega Prime 提供的 API 函数,读取传感器采 集到的相关数据,实时控制集矿机在虚拟场景中的位 置和姿态。 3.3 集矿机行走的轨迹绘制 很多三维图形应用程序,包括本文应用的 Vega Prime 软件的底层接口均是基于 OpenGL。 OpenGL 本 质上是一种三维图形系统与硬件的接口。 因此本文应 用 OpenGL 来绘制集矿机的运动轨迹图。 Vega Prime 中 OpenGL 的绘图实现是基于事件订 阅公布的机制,核心是系统回调函数。 Vega Prime 中 是采用事件触发方式,一个事件的回调函数会在事件 触发时被自动执行[14]。 在 Vega Prime 的场景实时渲 染中,首先在帧循环中定义一个窗口,然后在该窗口中 绘制图像[15]。 本文在使用 OpenGL 实现集矿机运动轨迹的实时 绘制过程中,由于 Vega Prime 调用 OpenGL 函数都是 在通道中进行的,而通道中帧循环每帧都在重画。 所 以对于集矿机行走过的所有点,需要将其存储在一个 链表中,每一帧都将存储的所有点重新绘制。 最后绘 制的效果图如图 10 所示。 图 10 集矿机行走轨迹 4 应用实例 深海采矿系统本身复杂而庞大,对未知的海底进 行资源勘探和开采往往都充满了不确定性,本文设计 的视景仿真系统是海上试验监控系统的一部分,采矿 时,集矿机、软管的浮力装置以及各个连接处放置传感 器,将传感器采集的参数传输至海面工作站,再通过本 文设计和实现的视景仿真系统对其进行三维可视化处 理,为深海采矿整体系统的工作提供科学、实时、逼真 的显示,帮助海面工作人员分析、判断深海采矿作业系 统的工作现状以作出准确的决策。 9第 1 期胡 琼等 深海集矿机行走的视景仿真系统设计与实现 ChaoXing 5 结 论 应用 Vega Prime 和 MultiGen Creator 视景仿真软 件,建立了包括采矿系统、海洋环境以及地形在内的虚 拟场景。 基于 MFC 框架的 Vega Prime 应用程序实现 了对深海集矿机的行走可视化仿真,实时读取外部的 位置数据控制集矿机的行走路径,逼真、精确地显示了 集矿机在海底的实时位置和姿态。 并将 OpenGL 图形 库应用于 Vega Prime 开发平台,在程序运行过程中实 时绘制集矿机的行走轨迹图,直观地监测深海集矿机 的行走路径,为采矿系统的水面操控提供更加科学而 直观的指导。 参考文献 [1] 阳 宁,王英杰. 海底矿产资源开采技术研究动态与前景分析[J]. 矿业装备, 2012(1)54-57. [2] 汪学清,唐红平,范 猛,等. 基于不同路径的海底集矿车采集率 的研究[J]. 矿冶工程, 2018,38(3)11-14. [3] 程阳锐,曾 轩,李小艳,等. 稀软底质表面深海采矿作业车触底 特性分析[J]. 矿冶工程, 2018,38(6)44-47. [4] 陈 峰. 深海底采矿机器车运动建模与控制研究[D]. 长沙中南 大学信息科学与工程学院, 2005. [5] 戴 瑜,张 健,张 滔,等. 基于多体动力学模型集成的深海采 矿系统联动仿真[J]. 机械工程学报, 2017(4)155-160. [6] 徐 昱,刘少军,龙江志. 基于 ADAMS 的深海采矿系统的布放回 收模拟[J]. 计算机仿真, 2004(3)67-70. [7] 王 帅,刘海洋,李 智. 基于 CTS 的大地行建模及仿真[C]∥ 2007 系统仿真技术及其应用学术会议论文集, 2007165-167. [8] 常彦博,李 智. 虚拟三维地形模型的建模技术研究[J]. 桂林航 天工业学院学报, 2014,19(1)12-15. [9] 王 乘,周均清,李立军. Creator 可视化仿真建模技术[M]. 武汉 华中科技大学出版社, 2005. [10] 杨 丽,李光耀. 城市仿真应用工具 Vega 软件教程[M]. 上 海同济大学出版社, 2007. [11] 王孝平. Vega Prime 实时三维虚拟现实开发技术[M]. 西安西 安交通大学出版社,2012. [12] 王娇艳,康凤举,由延军. MFC 框架下的多通道视景仿真技术[J]. 火力与指挥控制, 2010,35(7)130-132. [13] 赵常寿,张 鹏,张玉忠. Vega Prime 之路径模块程序设计[J]. 电脑编程技巧与维护, 2014(19)5-8. [14] 陈力威,朱 凡,刘 希,等. Vega Prime 与 OpenGL 飞行控制系统可 视化仿真平台设计[J]. 火力与指挥控制, 2012,37(8)191-194. [15] 王文恽,王文双,侯学隆,等. Vega Prime 开发与仿真应用[M]. 成都西南交通大学出版社, 2012. 引用本文 胡 琼,张贵萍,吕 彤. 深海集矿机行走的视景仿真系统 设计与实现[J]. 矿冶工程, 2020,40(1)6-10. (上接第 5 页) 2) 以-135 m 中段锚杆应力计和单点位移计实测 数据代入公式进行验证,结果表明监测点处断层未发 生活化,说明本文构建的评价断层活化力学模型具有 一定可靠性。 3) 鉴于单点位移计所测位移量为岩体的相对位 移,且三山岛矿区应力条件的特殊性,所测位移量不一 定是断层的真实滑移量。 运用本文力学模型判断断层 是否活化有必要结合应力位移数据综合考虑。 将单点 位移计实测位移量代入力学模型计算出了加锚结构面 剪应力,再将锚杆应力计实测轴力代入公式计算断层 面剪切位移和剪应力,位移和应力两两相互比较,才能 最终确定断层面是否活化。 参考文献 [1] 彭 康,李夕兵,彭述权,等. 三山岛金矿中段盘区间合理回采顺 序动态模拟选择[J]. 矿冶工程, 2010,30(3)8-11. [2] 朱术云,姜振泉,孙 强. 采动底板断层“活化”的解析计算及其 工程应用[J]. 矿业研究与开发, 2010,30(4)7-9. [3] 师本强,侯忠杰. 覆岩中断层活化突水的力学分析及其应用[J]. 岩土力学, 2011,32(10)3053-3057. [4] Hu Jun, Cao Jun-xing, He Xiao-yan, et al. Numerical simulation of fault activity owing to hydraulic fracturing[J]. Applied Geophysics, 2018,15(3-4)367-381. [5] 朱广安,窦林名,刘 阳,等. 采动影响下断层滑移失稳的动力学 分析及数值模拟[J]. 中国矿业大学学报, 2016,45(1)27-33. [6] 昌修林,张培森,阳 华,等. 采动诱发断层活化规律相似模拟试 验研究[J]. 煤炭科学技术, 2018,46(S1)107-111. [7] 王 涛. 断层活化诱发煤岩冲击失稳的机理研究[D]. 北京中国 矿业大学(北京)力学与建筑工程学院, 2012. [8] 马春德,徐纪成,陈 枫,等. 海下矿区三维地应力测量及分布规 律研究[J]. 矿冶工程, 2011,31(5)9-12. [9] 陈文强,贾志欣,赵宇飞,等. 剪切过程中锚杆的轴向和横向作用 分析[J]. 岩土力学, 2015,36(1)143-148. [10] 葛修润,刘建武. 加锚节理面抗剪性能研究[J]. 岩土工程学报, 1988(1)8-19. [11] 向天兵,冯夏庭,陈炳瑞,等. 三向应力状态下单结构面岩石试样 破坏机制与真三轴试验研究[J]. 岩土力学, 2009,30(10)2908 -2916. [12] Cai Y Q, Wu D Z, Xu C J. Torsional vibrations of a rigid circular plate on saturated stratum overlaying bedrock[J]. Acta Mechanica Solida Sinica, 2005,18(2)142-149. 引用本文 赵国彦,代俊成,李振阳,等. 海下开采断层活化监测与稳定 性分析[J]. 矿冶工程, 2020,40(1)1-5. 01矿 冶 工 程第 40 卷 ChaoXing
展开阅读全文