2. 中国科学院 沈阳计算技术研究所, 沈阳 110168
2. Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168, China
混合现实技术[1]是在虚拟现实技术基础上发展起来的, 该技术在现实环境中引入虚拟增强信息, 实现真实环境与虚拟增强信息的交互, 创建一个虚实融合的全新环境, 增强用户体验的真实感. 基于混合现实的管网巡检系统就是混合现实技术在管网方面的全新应用, 改善了传统管网的巡检方式.
美国的北卡罗来纳大学的学者将虚拟现实技术应用在了分子建模、建筑仿真、航空驾驶和外科手术仿真等领域. 同时, 美国的科技公司成功将虚拟现实技术应用与石油管道的维修中, 完成对维修工作的指导. 国内很多学者和公司正在尝试将混合现实技术应用于各个领域, 北京超图将增强现实技术引入到GIS系统中, 增强GIS系统的展现能力. 目前混合现实技术尚未深入应用于管网巡检. 传统的管网巡检都是“移动端/Web服务器”模式, 管网巡检的研究多集中于对传统管网巡检模式的改进[2,3], 或者是对特定管线的巡检的改进, 例如电力管线[4,5]、海底管道[6,7], 传统管网巡检模式中, 巡检人员手持移动端, 凭借经验和移动端屏幕显示的内容来对管道的位置以及管道间空间位置关系做出判断, 管网间空间位置易于出现误判. 借助混合现实头显设备直接查看到地下管网空间结构, 虚拟管道的位置、尺寸和角度等都是通过混合现实技术根据管道的真实数据构建而来. 巡检人员通过混合现实头显设备不仅可以观察到真实环境信息, 还能观察到虚拟地下管道, 具备“看穿路面”的能力, 提高管网巡检的效率, 避免误判的产生. 本文主要针对管网模型动态构建的相关问题展开研究和实验. 针对管网模型定位问题, 设计出了一种空间坐标转换方法来完成虚拟管网与真实管网的空间映射. 针对管网模型的构建与优化问题, 提出一种管网动态构建和优化方法实现管网动态加载和局部连接处的平滑处理.
1 系统整体架构设计系统的整体架构分为3层: 数据服务层、移动应用层、混合现实应用层. 管网巡检系统的框架结构图如图1所示. 本文中混合现实设备采用微软的第一代HoloLens, 由于该设备不具备定位功能, 需要使用辅助设备来实现定位, 借助具有定位功能的移动端完成定位功能.
1.1 数据服务层数据服务层主要由管网空间数据、管网属性数据、巡检业务数据等数据信息通过GIS软件以地图服务形式提供数据服务功能. 本研究中采用ESRI的ArcGIS 软件来实现管网地图服务的发布, 为整个系统提供地图服务. 通过地图服务提供管网的空间数据信息和管径、流量、管压等管道属性信息的读取服务.
![]() |
图 1 管网巡检系统整体架构图 |
1.2 移动应用层
移动应用层主要完成空间定位, 管网数据坐标转、管网数据动态加载和管网数据的缓存. 移动用于端选用具有空间定位功能的安卓手机作为载体, 主要负责以下几个功能: (1)信息获取: 从地图服务器中获取管网动态构建的相关信息, 这些信息包括管道空间数据信息和管道的属性信息. (2)定位: 利用GPS功能为整个系统提供定位服务, 并以手机终端所在空间位置作为混合现实头显设备生成的虚拟世界的原点, 完成管道的空间坐标转化到混合现实的坐标系中. 该功能将在第2.1节中进行详细的描述. (3)数据传输: 将获取到的管网信息进行筛选整个后, 以广播的形式向外发送, 这样就可以使多台混合现实头显设备接收到信息.
1.3 混合现实应用层混合现实应用层主要完成虚拟信息和真实环境的虚实融合、管网的动态构建、虚拟管网的动态优化、虚拟管网的动态交互等功能. 混合现实设备终端主要根据从移动终端接收到的管道空间位置信息在混合现实设备端的坐标系的对应位置处动态构建及优化管网模型以及制作可视化界面用来显示管道的属性信息和运行信息. 本文中主要讨论管网模型动态构建及优化和验证定位的准确性, 将在第2.2节中进行详细的描述.
2 系统关键技术本节主要对管道空间坐标转化和管网模型动态构建及优化等关键技术进行介绍. 混合现实设备端对管网进行动态构建必须要解决以下两个问题: (1)在何处建模: 即需要解决管网模型的定位问题. (2)如何建模: 即设计一种方法能够在程序运行时动态的构建管网模型并能够对管网模型进行优化使得模型变得真实, 不再生硬.
2.1 管网定位管网的定位是为了解决“在何处建模”的问题. 从地图服务器中获取的是管网在真实地理信息系统下的三维空间坐标, 该坐标是采用WGS84坐标系[8,9]的投影坐标, 需要将该坐标系中的管道坐标转换成混合现实设备中平面坐标系下的坐标.
2.1.1 WGS84坐标系与混合现实坐标系WGS84坐标系: 为了便于地形图的测量作业, 在WGS84坐标系的高斯-克吕格投影带内布置了平面直角坐标系统, 其中规定中央经线为X轴, 赤道为Y轴, 中央经线与赤道交点为坐标原点, x值在北半球为正, 南半球为负, y值在中央经线以东为正, 中央经线以西为负. GPS卫星测得的坐标都是采用的WGS84坐标系.
混合现实坐标系: 该坐标系以移动终端所在的空间点为坐标系的原点, 以混合现实设备端视野的正前方为坐标系Z轴, 视野的右侧为X轴, 正上方为Y轴建立空间坐标系.
2.1.2 坐标系转换在进行坐标转换时, 将经纬度信息转换为混合现实坐标系X轴和Z轴的信息, Y轴信息即为管道的高程信息. 将高斯-克吕格投影带内布置的平面直角坐标系转化到unity坐标系中, 具体公式如式(1)所示:
$\left\{ {\begin{array}{*{20}{c}} {{{\rm{x}}_u} = {x_p} - {x_m}} \\ {{{\textit{z}}_u} = {y_p} - {y_m}} \end{array}} \right.$ | (1) |
xm和ym是手机经纬度转换的平面坐标, xp和yp是从地图服务器中获取的管道的点转化成的平面坐标的信息, 其中xu和zu是真实地理环境中管道转换到混合现实坐标系中点对应的坐标. 因为地图服务器中的坐标系和混合现实中的坐标系的Y轴和Z轴是相反的, 所以转换后Y轴对应的信息正是混合现实设备Z轴对应的信息.
2.1.3 方向角的校正与偏移由于在校准过程中手机的方向角与混合现实端的方向角很难达成一致, 所以必须对手机方向角和混合现实方向角进行校正. 具体方法如式(2)所示:
$\left\{ {\begin{array}{l} {R = A - {R_c}} \\ {{x'} = {x_u}\cos R - {{\textit{z}}_u}\sin R} \\ {{{\textit{z}}'} = {x_u}\sin R + {{\textit{z}}_u}\cos R} \end{array}} \right.$ | (2) |
其中, A为手机端测得的方位角, Rc为混合现实端的偏向角, 如果R<0, 则令R=R+360.
最后进行偏移得到最终点的坐标. 方法如式(3)所示:
$\left\{ {\begin{array}{l} {x = {X_c} + x'} \\ {y = Y_c} \\ {{\textit{z}} = {Z_c} + {\textit{z}}'} \end{array}} \right.$ | (3) |
其中, x,y, z是最终点的坐标, Xc, Zc分别是混合现实设备在X轴和Z轴上的坐标, Yc是从ARCGIS服务器中获取的管道的点的高程信息. x', z'分别是方向角校正之后的坐标.
2.2 模型的构建根据坐标信息如何对管网模型进行动态构建, 采用什么方法对构建好的模型进行优化是增强用户体验真实感的重点.
2.2.1 构建模型的方法由于管网多是线性特征的形状, 在ArcGIS中是以Polyline (折线)要素来进行存储的. 折线是由串联连接的段构成, 每个段限定一个起点一个终点, 起点和终点之间是一条连续的直线. 将起点和终点分别作为模型两端的中心点, 建立圆柱体三维模型用来仿真管道, 圆柱底面直径为管道真实管径. 这样可以真实的反映管道间的空间位置关系, 便于管网施工, 避免检修过程中产生挖断, 挖错管道的情况.
2.2.2 弊端及优化弊端: 由于虚拟管网中的每条管道都是单独进行建模的, 管道与管道之间不存在联系, 导致管道与管道之间的衔接处会出现如图2所示的情况.
![]() |
图 2 管网建模弊端图 |
优化:上述弊端是管道单独建模, 彼此之间互不影响造成的. 而真实的管道是不可能独立存在的, 相邻两条管道的衔接处都会有弯头将两条管道连接在一起. 正是由于各个管道相互交织组成了管道网络. 对上述问题进行优化, 本文采用触发器动态加载预制体的方式. 当两条管道需要进行衔接时, 模型中的一部分一定会重合就会触发触发器函数. 在该函数中依据两条管道衔接方式的不同选择不同的衔接预制体去进行优化, 衔接方式根据形状可以分为V型、L型、I性、T型、十字型、X型和Y型等等, 衔接点即为模型的中心点. 利用预制体制作技术提前将需要的预制体进行制作, 并使用不同的材质球进行渲染, 使衔接预制体和管道模型容易区分. 衔接预制体的尺寸可以根据管道管径进行动态调整, 这样可以使得建模更加的真实.
(1) L型特点: 两条管道有一个公共顶点且另一个顶点不在另一条管道所在直线上, 两条管道互相垂直. L型预制体由互相垂直的两个部件组成, 其模型如图3所示.
![]() |
图 3 L型预制体 |
(2) I型特点: 两条管道在同一直线. 这种情况如果不加以处理会让操作者误认为是一条管道, 从而造成漏查的情况. I型预制体的模型如图4所示.
![]() |
图 4 I型预制体 |
(3) T型特点: 一条管道的一个端点在另一条管道上(两端点除外), 且两条管道互相垂直. T型预制体由相互垂直的两个部件组成, 其模型如图5所示.
(4)十字型特点: 两条管道垂直, 4个顶点皆不相同并且不在另一条管道上. 十字型预制体是由互相垂直的两个部件组成, 其模型如图6所示.
(5) V型、X型和Y型特点: 这3种情况分别为L型、十字型和T型的特殊情况, 因为两条管道不垂直且两条管道的夹角是不确定的, 可以分别使用L型、十字型和T型预制体, 因为预制体的两个部分可以自由旋转可以适用于任何夹角.
![]() |
图 5 T型预制体 |
![]() |
图 6 十字型预制体 |
衔接方式的具体判断流程如图7所示: 通过流程图可以看出, 本文提出的判断衔接预制体的方法主要是通过对相邻管道端点所在空间直线的位置关系来判断的. 主要过程如下:
(1)根据两条管道的两个端点进行判断, 如果两条管道存在一个公共顶点则执行(2). 如果没有, 则执行(4).
(2)判断管道1的另一个端点是否在管道2所在直线上, 如果是, 则衔接类型为I型. 如果不是则执行(3).
(3)判断两条管道所在直线是否垂直, 如果是, 则衔接类型为L型, 若不是, 则衔接类型为V型.
(4)判断两条管道所在直线是否垂直, 如果不是, 则衔接类型为X型或Y型, 如果是则执行(5).
(5)判断管道1的某个端点是否在管道2所在线段上, 如果是, 则衔接类型为T型, 如果不是, 则衔接类型为十字型.
选择好正确的预制体后, 接下来就是对预制体进行自身姿态的调整. 该调整主要包括旋转、平移和缩放操作. 其中旋转调整使其能够准确地进行衔接. 以下以L型衔接为例, 描述旋转过程. L型衔接可以抽象成如图8所示的数学模型.
图8中两条管道分别为AB和
![]() |
图 7 衔接方式判断流程图 |
![]() |
图 8 L型衔接的数学模型 |
![]() |
图 9 绕Y轴旋转图 |
如图9所示向量
$y = \arctan \frac{{{\rm{|}}{{\textit{z}}_1} - {{\textit{z}}_2}{\rm{|}}}}{{{\rm{|}}{x_1} - {x_2}{\rm{|}}}},\;\;(0 < y < 90)$ | (4) |
在unity坐标系中, 如图9所示的情况, 顺时针旋转为正方向, 具体分为以下几种情况:
令
(1) x为正数, z为负数, 旋转角为y.
(2) x为0, z为负数, 旋转角为90°.
(3) x为负数, z为负数, 旋转角为y+90°.
(4) x为负数, z为0, 旋转角为180°.
(5) x为负数, z为正数, 旋转角为y+180°.
(6) x为0, z为正数, 旋转角为270°.
(7) x为正数, z为正数, 旋转角为y+270°.
使用同样的方法可以计算出部件1需要绕X轴、Z轴旋转的角度. 再次计算出
由于管道的衔接点就是预制体的生成位置, 所以不需要进行平移操作. 针对缩放操作, 只需要将预制体的每个部件的尺寸调整为管道直径即可. 至此, 就完成了预制体自身姿态的调整.
3 测试结果与分析本文采用微软的Hololens混合现实设备作为混合现实终端, 采用小米max2作为移动终端, 采用ArcGIS Server进行地图服务发布, 以所在园区的局部自来水管网为例进行测试实验.
3.1 管道定位验证大区域范围内管网数据量庞大, 移动端无需全部一次性全部进行下载, 系统依据终端位置信息进行动态局部下载和缓存. 依据实验本文动态获取移动终端周边500 m范围内的管网数据并进行计算和缓存. 混合现实设备端只需显示周边100 m范围内的管网数据便能满足对管网巡检的需要, 当混合现实终端移动时, 动态从移动终端中读出缓存管网信息, 并进行动态绘制和融合显示. 同时, 通过阈值限制来触发移动端进行地图数据获取和处理.
根据上文第3部分提到的坐标转换公式、方向角的校正与偏移公式, 可以根据管道在真实地理信息系统下的坐标计算出管道在混合现实端坐标系中的坐标. 其中部分数据的转换如表1(表中数据精确到小数点后4位): 其中手机的维度为北纬41.741 499 25度, 经度为东经123.540 342 04度, GPS方位角91.081 440 016 144 63转换后的点的平面坐标为(544 877.372 493 4395, 4623114.573027286).
![]() |
表 1 以手机为原点管道在坐标系中的相对位置 |
转换前Z轴坐标与转换后Y轴坐标属于高程信息, 不需要进行坐标转换, 所以没有在表中进行陈列.
混合现实设备端依据这些数据对管网进行初步建模, 得到如图10所示模型, 移动端获取到管网信息后, 在移动终端绘制的地图中显示. 如图11所示.
![]() |
图 10 混合现实设备端显像图 |
![]() |
图 11 手机地图中管网绘制图 |
在图10中, 浅蓝色光点处是实验时操作人员所在的位置, 灰白色的模型为混合现实设备端根据从手机端获取的管道数据生成的管网模型, 图11中蓝色光点为操作人员现在所在的位置, 红色加号处为操作人员开启程序时所在位置, 绿色光圈表示周围100米的范围. 可以看出, 随着操作人员的移动, 程序可以动态获取周围100米范围内的管网数据. 红色的线条为管网的实际位置及形状. 通过对比以上两张图可以清晰看到混合现实设备生成的管网模型的位置是准确的.
3.2 优化测试将衔接类型判断、衔接预制体选择和衔接预制体旋转的相关逻辑编成单独的脚本, 在动态生成管道模型时动态加载到每一条管道模型. 效果图如图12~图16所示.
从图12~图16可以看出, 利用文中提到的方法, 通过对管道衔接处的特征进行分析, 可以正确地选择出衔接预制体, 而且衔接预制体相对于自身坐标系已经进行了姿态的调整, 衔接预制体与对管道模型衔接处的优化也达到了预期的目标.
![]() |
图 12 L型衔接处效果图 |
![]() |
图 13 I型衔接处效果图 |
![]() |
图 14 T型衔接处效果图 |
![]() |
图 15 十字型衔接处效果图 |
4 结论
为了能够在混合现实设备端动态的、准确的生成管网模型, 本文针对构建管网模型的两大问题展开讨论. 其中针对管网定位问题, 本文提出了将管道真实地理坐标转化成混合现实坐标系中坐标的方法. 针对管网模型的构建与优化问题, 本文提出了管网动态构建方法、利用预制体对管网模型衔接处进行优化的方法和预制体模型姿态调整方法. 最后以所在园区的局部自来水管网为例进行测试, 实验结果表明: 通过文中提出的方法可以将虚拟模型与真实管网进行准确的空间融合, 能够对虚拟管道衔接处进行平滑处理, 清晰直观展现管道的空间关联关系.
本文提出的管道定位方法仍有改进之处. 管网模型优化方面, 除了对衔接处优化之外, 尚未考虑其他方面的优化. 为了提高用户的体验, 虚拟管网操作交互方面还需要进一步的完善.
![]() |
图 16 V型衔接处效果图 |
[1] |
Tamura H, Yamamoto H, Katayama A. Mixed reality: Future dreams seen at the border between real and virtual worlds. IEEE Computer Graphics and Applications, 2001, 21(6): 64-70. DOI:10.1109/38.963462 |
[2] |
段汝东. 基于Android的移动GIS地下管线运维信息发布平台研究[硕士学位论文]. 昆明: 昆明理工大学, 2018.
|
[3] |
钟广锐. 移动GIS地下管线巡查管理系统设计与实现. 地理信息空间, 2018, 16(7): 69-71. |
[4] |
熊然, 李劲松, 伍清清. 对城市地下电力管线规划和WebGIS系统开发的分析. 贵州电力技术, 2017, 20(3): 85-87. |
[5] |
吕磊, 单宝麟, 闫松. 基于三维GIS的地下电力管线管理系统的设计与实现. 测绘与空间地理信息, 2016, 39(3): 95-98. DOI:10.3969/j.issn.1672-5867.2016.03.028 |
[6] |
支雄飞. 海底管道监测三维动态显示技术研究[硕士学位论文]. 合肥: 安徽大学, 2015.
|
[7] |
孙惠子. 水下气田海底管道泄漏可视化仿真[硕士学位论文]. 青岛: 中国石油大学(华东), 2016.
|
[8] |
高号. WGS-84坐标系平差坐标向2000中国大地坐标系的转换. 通讯世界, 2018(5): 320-321. DOI:10.3969/j.issn.1006-4222.2018.05.198 |
[9] |
曾富权, 庞咏. 坐标系转换及相关问题的探讨. 云南质地, 2017, 36(2): 302-306. |