CN107608507A - 弱光条件下机车部件的选定方法及机车辅助维修系统 - Google Patents
弱光条件下机车部件的选定方法及机车辅助维修系统 Download PDFInfo
- Publication number
- CN107608507A CN107608507A CN201710792645.7A CN201710792645A CN107608507A CN 107608507 A CN107608507 A CN 107608507A CN 201710792645 A CN201710792645 A CN 201710792645A CN 107608507 A CN107608507 A CN 107608507A
- Authority
- CN
- China
- Prior art keywords
- user
- model
- locomotive
- sight
- selecting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
弱光条件下机车部件的选定方法及机车辅助维修系统,涉及计算机图形处理技术,用于坦克机车的辅助维修。建立覆盖全车的虚拟包络模型,使用Hololens显示,通过选择部件模型进而选定实体零部件,并显示选定部件的实体模型和维修动画等信息,帮助用户完成维修。使用该发明,可实现在弱光条件下实现光滑、少特征物体的选定,同时解放了用户的双手。
Description
技术领域
本发明涉及计算机图形处理技术,尤其是在弱光情况下机车部件与模型的识别匹配方法,以及应用该方法的机车辅助维修系统。
背景技术
坦克被誉为“陆战之王”,是战场上的制胜利器。经过多年的努力,我国坦克已经实现了从第一代的59、69式主战坦克到如今第三代96、99式主战坦克的跨越式发展。但就目前我国坦克的综合性能来看,其与英、法、美等国的先进主战坦克相比仍然存在较大差距。特别在稳定性与可靠性上,我国坦克尤为不足,故障频发,例如我国最先进的99式坦克在阅兵时就多次出现过抛锚现象。鉴于如上情况,为了保证我国坦克的战斗力,我们迫切需要为坦克提供及时可靠的维修保障。
目前坦克维修过程中使用的几大工具,分别为检测线缆、故障分析仪、平板电脑以及维修工具箱。其主要维修流程如下。
(1) 用户将检测线缆插入车内各部件的检测接口。
(2) 检测线缆将检测得到的模拟信号传递给故障分析仪,得出故障信息。
(3) 故障分析仪将故障代码传递给平板电脑,平板电脑根据故障代码与内置数据库中的故障类型进行匹配,将故障信息和相应的维修方法显示在屏幕上。
(4) 用户查看平板电脑上的指导信息,调取相应维修步骤,而后利用工具箱中的工具进行维修操作。
就目前的维修方式而言,虽然运用了故障分析仪及平板电脑等信息化工具,但其却有许多亟待改进的缺点,主要体现在以下几个方面:
(1) 无法解放双手。在实际维修时,用户双手需要同时拿着故障分析仪和平板电脑。由于两样工具都不可或缺,用户很难腾出双手去使用维修工具进行故障维修。
(2) 无法获得直观实时的维修指导。用户虽然能通过平板电脑知道故障位置,但该位置在真实环境中没有被标记,仍然需要用户通过肉眼寻找,这对新的维修人员而言是一大挑战。同时用户在维修时无法同步观察平板电脑上的操作提示,很容易造成维修步骤的遗漏或是维修动作的错误。
如今,随着计算机软硬件技术的不断发展,使得运用增强现实技术(AR)辅助坦克维修成为了可能。在工业维修领域,通过应用增强现实技术(AR,augmented reality),能够对机械零部件进行精确定位和信息标注,将文字、图片、3D模型、语音、动画等多种虚拟信息无缝叠加到真实环境中的正确位置,生动形象地将操作部位和操作方法告知用户,实时指导用户的每一步操作,极大提高了维修效率,降低了误操作的可能性。
目前用于AR的显示器主要有三种,分别为头盔显示器(Head-Mounted Displays,HMD),手持式显示器(Hand-Held Displays, HHD),和投影显示器(Projection Displays,PD)。由于头盔显示器呈现的信息更加直观,且解放了用户的双手,因此目前主流系统所用的显示器大多为头盔显示器。微软Hololens是一款增强现实头戴式显示器,代表着目前增强现实外设的最高技术水平。Hololens具有定位精度高、计算能力强、交互轻松、良好的可编程性等诸多优点,这使得基于Hololens的增强现实辅助维修系统有望走向真正的实用化,从而切实解决工人维修过程当中的诸多困难。
为了提供实时的维修指导,我们需要完成对每一个坦克零部件的有效识别,从而对其做标记。目前应用最广泛的便是基于计算机视觉的图像识别方法。
传统的图像识别方法主要通过检测目标图像与预先存储的模板图像之间的匹配率来进行识别,若匹配率大于某一阈值,则认为识别成功,因此其精髓在于准确的图像匹配。目前主流的图像识别算法主要有SIFT、SURF两种算法。另外,还有利用Vuforia SDK进行图像识别,利用ARToolKit进行图像识别等。
由于坦克零部件体积小,且为了防止对乘员的割伤,其进行了平滑处理,因此特征点数目很少,加上坦克内部光照条件差,因此严重制约了上述图像识别算法的性能。
另外,上述算法无法与Hololens自身的空间定位函数进行数据交互,而图像识别的最终目的是为了对摄像机进行跟踪定位,如果采用上述算法,需要额外使用相应算法计算出Hololens的摄像机坐标系到世界坐标系的位姿变换矩阵。这为系统引入了不必要的工作量,使得运算量变大,误差变大,且降低了实时性,无法满足精准定位的要求。
Hololens本身并不支持这些图像匹配算法的dll直接调用,因此只能在某个服务器上调用这些算法处理图像,而后把计算结果反馈给Hololens。这样一来,Hololens便无法发挥其自生在运算处理性能上的优越性,其效能受到了服务器较低计算水平的牵制,降低了系统的实时性,同时还有泄密的隐患。
Hololens本身拍摄的图像质量已经较差,而由于各种干扰,传递到服务器端的图像质量会进一步降低,因此再优秀的算法也会“无能为力”。
实际使用时,Hololens不可能与远程服务器有线连接,而无线信号可能受到坦克车体的屏蔽。因此若采用此种方案,用户必须将图像处理服务器随身携带,这又加重了用户负担。
发明内容
为了克服现有技术的上述不足,能在弱光条件下识别特征点很少的机车部件,进而指导现场维修,提出了本发明。
本发明采用的技术方案是:一种弱光条件下机车部件的选定方法,关键在于:借助增强现实头戴式显示器实现,所述选定方法包括以下步骤:
A、建立模型:使用三维建模软件,针对机车部件的外部轮廓建立部件模型,进而构建整车模型,
B、模型与实体匹配:借助增强现实头戴式显示器,显示机车的整车模型,移动模型的显示位置,将模型覆盖机车实体,
C、确定整车模型的位置和朝向,
D、定位选择部件模型:通过检测用户目光与部件模型的碰撞并停留,或通过检测用户的手指与部件模型的碰撞选择部件模型,
E、选定实体部件:被选择的部件模型覆盖的实体部件为选定的实体部件。
增强现实头戴式显示器为微软的Hololens。
基于上述方法,本发明还提出了机车辅助维修系统,借助机车的故障分析仪来实现:
故障分析仪通过线缆连接增强现实头戴式显示器;
建立部件模型时,对机车部件进行编号,编号与故障分析仪中对部件的编号一致;
建立维修数据库,数据库中存储每个部件的维修指导流程;
增强现实头戴式显示器接收故障分析仪发送的数据,根据故障部件的编号,对故障部件的部件模型进行差异式显示;
选定实体部件后,系统从数据库中取出该部件的维修指导流程并显示。
机车定型后,其中的部件及部件间的位置关系已经确定,这是本发明得以实施的条件。首先,使用三维建模软件,针对机车的各种零部件的外部轮廓,按照实际尺寸建立模型,模型与实体的大小比例可以是1:1,也可以是其他比例,只要所有比例保持一致。
建立部件模型时,可以只用一个二维的长方形模型覆盖在部件的某个表面上,也可以建立一个三维模型,或者说是三维的立方体包络盒,该三维虚拟模型可以完全把该部件的所有表面覆盖住。无论采用哪种方式,都可以实现对部件的“虚拟模型包络”。
各部件建模完成后,根据各部件间的空间位置关系进行布局,进而构建整车模型;模型构建完成后,通过佩戴Hololens装置,模型可以完整显示在用户的视野中。整车模型是360度全方位空间显示的,可以从任意角度,任意位置进行观察。
用户佩戴Hololens装置进入机车内部,显示整车模型,整车模型为透明状态。在用户所处的观察点,模型与机车实体可能有错位,这时通过移动整车模型的显示位置以及旋转模型,将模型中的部件覆盖在相应的机车实体部件上,完成整车模型覆盖机车实体。模型的移动和旋转可以通过手指的拖曳和旋转动作来完成,这些功能在AR系统中都支持。
摄像机坐标系(也就是Hololens自身的坐标系)和世界坐标系是不同的。Position是指某个物体在世界坐标系中的绝对坐标。Rotation是指将某个物体自身坐标系旋转到与世界坐标系完全重合时该旋转矩阵的参数,也就是该物体相对于世界坐标系的朝向。
模型的位置由其在世界坐标系中的位置(X,Y,Z)决定,只要该坐标不变,模型的位置就不会变。同时虚拟模型相对于世界坐标系的旋转量(或是朝向)是由一个表示旋转量的四元数组Rotation(x,y,z,w)决定的,只要Rotation的值不变,虚拟模型就不会在空间中发生转动。确定整车模型的位置和朝向后,该模型在世界坐标系中是绝对静止的,不会和头盔保持相对静止,不会随头盔转动而转动。也就是说用户可以在空间中自由走动,观察虚拟模型的任意一个表面,而虚拟模型在空间中保持绝对静止,不是和用户头部(头盔)保持相对静止。
此时,固定模型显示位置,既模型不随用户头部的旋转而移动,相当于模型“粘”在机车实体上。
上述工作完成后,整车模型和机车实体已合二为一,选择某部件的模型,即可选定对应的实体部件,不用提取实体的特征点加以比对。
部件模型的选择可以通过检测用户目光与部件模型的碰撞,碰撞后停留一段时间,或通过用户的手指与部件模型的碰撞来完成。
基于上述方法的机车辅助维修系统。
一般来讲,成型的机车都配套有故障分析仪,通过接入机车的总线,检测机车故障,并给出故障零部件编号、故障号等信息。
在建立机车模型时,对机车部件进行编号,编号与故障分析仪中对部件的编号一致;建立维修数据库,将各部件的维修流程以动画、图片、文字等形式存入数据库,并关联部件编号及故障号码等。
实施维修时,首先将整车模型覆盖机车实体,故障分析仪通过线缆连接增强现实头戴式显示器,将故障信息传给增强现实头戴式显示器;增强现实头戴式显示器根据部件编号或故障号码,对故障部件的模型进行差异式显示,差异的方式可以是故障部件的模型以不同于整车模型的线条颜色进行显示,也可以是将故障部件的模型高亮、闪烁显示等。
选定实体部件后,系统从数据库中取出该部件的维修指导流程并显示,进行维修指导。
有益效果:
下面是目前几种常用的图像识别方法与本发明的“虚拟模型包络法”的比较:
几种常用图像识别方法的性能对比
传统的图像识别方法 | Vuforia SDK | 本发明 | |
通用性 | 低 | 低 | 高 |
实时性 | 低 | 中 | 高 |
运算量 | 高 | 中 | 低 |
实现难易度 | 难 | 易 | 易 |
对环境光照的要求 | 高 | 高 | 低 |
对特征点数目的要求 | 高 | 高 | 无 |
是否需要外接服务器 | 是 | 否 | 否 |
识别方式 | 自动识别 | 自动识别 | 手动配准+自动识别 |
与传统的图像识别方法相比,采用本发明的方法主要有以下几个优点。
(1) 简单实用。通过用户与虚拟模型之间的交互进行识别,摒弃了传统图像识别算法中对于光照和特征点的要求,只要把虚拟模型与真实物体进行配准即可进行精确的识别,因此具有高度的鲁棒性和稳定性。
(2) 通用性好。传统的图像识别方法受制于物体本身的特征点数目,因此对于光滑的、少特征的物体无能为力。这种方法只需将虚拟模型覆盖在待识别的物体上即可,因此可以实现一般环境条件下的任意物体的识别。
(3) 实时性好。传统的图像识别方法计算量大,实时性差。而在本方法中,基于Hololens自身强大的计算性能,用户与虚拟模型之间的交互可以通过HoloToolKit开发包中的相关函数进行快速、准确的检测,且完全不用进行复杂的图像匹配运算,因此满足了实时性的要求。
(4)对环境要求低。由于不用提取实体部件的特征,因此对光照的要求低,弱光条件下也可以完成。
本发明提出的机车辅助维修系统相比现有系统,具有以下有益效果:
(1) 直观性:用户在操作过程中无需用手拿着平板电脑进行维修信息查阅,而是由头戴的Hololens直接把虚拟的维修指导信息呈现在用户眼前。同时Hololens还会对环境中的坦克部件进行增强标注,方便维修员进行部件的定位与认知。
(2) 多样性:由Hololens提供的多媒体指导信息丰富多样,包括文字、声音、动画、3D模型等。这些信息不断刺激用户感官,增加了维修的趣味性,提高了维修效率。
(3) 实时性:对于用户的每一个操作步骤,Hololens都会在真实环境中实时标注出维修部位,同时在用户正前方的虚拟界面上显示对应的维修方法,这极大提高了维修效率,降低了误操作的可能性。
(4) 交互性:Hololens与用户之间通过目光、语音和手势进行交互,方便、直观,而且不增加用户双手的负担。
(5) 低负担:整个系统无需用户手持,解放了用户双手。
附图说明
图1是本发明的工作流程图,
图2是坦克操纵台的模型。
具体实施方式
下面结合附图,通过一个实施例--基于Hololens的AR坦克维修系统,对本发明做进一步说明。
本实施例在组织架构上由3个模块构成,分别为部件认知模块、操作指导模块和维修指导模块。
部件认知模块负责协助用户对坦克的各种零部件进行认知。具体工作方式为:用户通过目光凝视的方式选中某一零件,而后在该零件的附近位置叠加上该零部件的名称及对应的3D模型,同时在用户眼前的虚拟界面上显示该零件其他参数和性质。当用户选中不同的零件时,相应的指导信息跟随其变化。
操作指导模块根据用户当前的进度实时指导每一步操作,将当前步骤的操作指示信息显示在用户前方的虚拟界面上。用户可以通过手势点击虚拟按钮或语音控制的方式实现“下一步”和“上一步”功能选择,以调取不同步骤的操作指导。在每一步操作时,还将播放对应于该步骤的三维动画,并在该步骤对应的零部件上方做增强标注,进一步协助用户进行操作。
维修指导模块在形式上与操作指导模块类似,不同的是维修指导模块集成了故障信息数据库和维修指南数据库。该模块接收故障分析仪传来的故障代码,而后根据该代码在故障数信息据库中进行搜索,得出与之匹配故障点,最后调用维修指南数据库中对应于该故障的维修步骤对用户进行指导。
参看图1,为了完成上述功能,首先建立坦克零部件的外部轮廓模型,在Unity中创建对应于坦克各种零部件的虚拟模型,而后根据各零部件的空间位置关系,构建坦克的整车模型。
为了减少工作量,可以只针对主要零部件建立虚拟模型,对不关心的可以忽略;在建立整车模型时,根据主要零部件的空间位置关系,建立由主要零部件组成的整车模型。这样做,可以快速构建出模型进行工作,并且,可以随时补充细节,最终构建出完整的整车模型。
建立零部件模型时,根据故障分析仪中对部件的编号或故障号码对应的零部件进行编号,使得能够从故障分析仪获得的信息中得到零部件的信息。最简单的方式是模型的编号与故障分析仪中对部件的编号一致。
建立维修数据库,存储每个零部件的维修指导流程并与该零部件的编号进行关联。
用户佩戴上Hololens头盔,显示坦克整车模型,手动调整虚拟模型的位置,使模型在真实模型中将各种零部件完全包络住,并将所有虚拟模型设置为透明,既移动和旋转模型,将模型覆盖坦克实体。
移动和旋转可以用手指的动作完成。
Hololens可以识别三种手势,分别为展开、点击和拖拽。以上三种手势均为用户直接在空气中操作,由Hololens进行识别。
故障分析仪通过线缆连接Hololens头盔的USB接口,发送诊断数据,Hololens头盔根据故障部件的编号,将故障部件的模型以差异显示的方式展现给用户。
在构建零部件模型时,为了简化系统,只用线条建立二维或三维轮廓图。在设计系统时,可以建立复杂或关键坦克零部件的三维实体模型,在选定该零部件后,在用户的视野内显示该零部件的三维实体模型、装配图等,帮助用户了解零部件的内部结构和工作原理。
本实施例中,部件模型由两部分组成,如图2所示:虚拟表面(Plane)和虚拟线条(Line),图中,带网格的长方形图形为虚拟表面(Plane),其他线条是虚拟线条(Line)。其中,虚拟表面覆盖零部件的主要部分,是一个矩形平面,面积比较大,用于检测用户目光与部件模型的碰撞,虚拟线条勾画出部件的轮廓,把虚拟表面(Plane)包围在中间。较大面积的虚拟表面(Plane)可以方便地检测用户目光与部件模型的碰撞。
整车显示时,将虚拟表面设置为透明属性,就是说在显示整车模型中,各部件模型的虚拟表面(Plane)不显示。由于虚拟表面(Plane)的面积比较大,这样不会遮挡用户观察。
检测用户目光或手指是否碰撞到某个部件模型的虚拟表面(Plane),如果检测到,高亮显示该部件模型的模拟线条(Line),勾画出部件轮廓,更直观地显示给用户,并在该零部件附近的适当位置显示名称及三维实体模型图,同时系统从数据库中取出该零部件的维修指导流程,在虚拟界面上显示该零部件的相关参数、维修指导等信息,并根据用户的维修进程或者用户的指令进行更新。
在检测用户目光与模型的碰撞时,会遇到虚实遮挡问题。
虚实遮挡问题是指,当虚拟的物体(模型)位于真实的物体之后时,由于Hololens发出的模拟目光射线会优先碰撞到真实物体,因此其会返回对真实物体的碰撞结果,而忽略对虚拟物体的碰撞。实际上,目光射线碰撞到的真实的物体往往是一些环境中比较突出的障碍物,而并不是用户期望交互的对象,因此返回对这些物体的碰撞结果没有任何意义,同时也造成了用户无法通过目光射线选中虚拟物体而实现自己需要的操作。
碰撞检测是具有优先级的,具有不同优先级的物体分别位于不同的层级当中,这些层级也被称为Layer,每一个Layer都有自己的编号,这些编号属于区间[0,31]里的任一整数,Layer的编号越低,其目光射线碰撞检测的优先级越高。为了解决虚实遮挡问题,我们在设置时使模型的层级低于真实物理表面的层级,这样当虚拟物体被真实表面遮挡时,Hololens会忽略对真实表面的碰撞检测。真实物理表面的层级,即整个坦克实体的层级设定为一个数值。
在具体实现上,设置部件模型中的虚拟表面(Plane)为最低层级。我们首先检测模拟用户目光射线对于所有层级的物体的碰撞,忽略与用户目光碰撞的坦克机车实体,选定与用户目光碰撞的最低层级的部件模型,既返回层级最低的物体。
若同一层级有多个物体,可以检测到用户目光碰撞到多个层级相同的部件模型,这种情况下可以选择两种处理方式:
1、选择最先碰撞到用户目光的部件模型。由碰撞的先后次序可知,离用户眼睛越近的物体越先被检测到目光射线的碰撞,因此为了体现真实的位置关系,我们返回同一层级中的第一个物体,即离用户眼睛最近的物体。
2、如果要选择位置靠后的部件模型,使用上述方式不能实现。当然,用户可以调整观察角度,错开前面遮挡的模型进行选择。这里还提出一个解决方案,将目光碰撞到的部件模型都差异显示出来,用户通过手指进行二次选择。
如此一来,当虚拟物体被真实物理表面遮挡时,我们能成功通过目光射线选中虚拟物体,而当真实物体表面前后不存在虚拟物体时,我们也能返回对于真实物理表面的碰撞结果。
为了方便用户使用,在本实施例中,还构建了虚拟光标模型,显示在虚拟界面中,并且,理论上,虚拟光标的位置应与用户的目光保持同步,即用户目光移动到哪个位置,虚拟光标也移动到相应位置。如用户目光“看到”某个零部件,虚拟光标也会移动到该零部件,使用户可以直观地通过虚拟光标所在位置来选择零部件。
由于用户头部不可能保持静止状态,人类的目光可以克服头部的晃动,凝视在一个点上,但Hololens发出的模拟目光射线会存在扰动,所以目光射线的碰撞点也存在扰动,造成了模拟用户目光注视点的虚拟光标出现抖动、模糊的现象,使得用户难以通过凝视的方式精准选中某一物体。鉴于以上原因,我们需要在检测用户目光过程中,进行平滑跟随处理,使虚拟光标对用户目光碰撞点的跟随变得平滑。
为了实现模拟用户目光注视点的虚拟光标对于用户目光射线碰撞点的平滑跟随,我们需要对其进行插值处理。很显然当用户目光偏移较大时,虚拟光标跟随目光注碰撞点的插值量应该较大,以实现迅速跟踪。而用户目光比较固定时,插值量应该较小以防止虚拟光标出现抖动和模糊现象。在这里我们主要用了一种自适应的算法来确定插值量的大小,使得插值量随着用户目光碰撞点变化的剧烈程度而自动调整。
为了说明我们的算法,首先给出如下定理:
(x1 2+x2 2+ ... +xn 2)/n >= [(x1+x2+ ... +xn)/n]2
以下详细阐述了用户目光平滑跟随处理算法的流程:
初始化:
令MaxLerpPower代表最大插值量,将其赋值为常数K1=10;令PowerBoost代表对插值量的促进作用,将其赋值为某个常数K2=3;令DeviationThreshold代表虚拟光标与用户目光碰撞点偏差量的阈值,将其赋值为某个常数K3=0.3;PActualSample-1代表当前用户目光碰撞点的位置,Pcursor代表当前虚拟光标的位置,ActualSample代表当前检测到的用户目光碰撞点的样本总量,最大值是30,初始化时令ActualSample =0,Pi代表已经检测到的目光碰撞点样本位置,i的范围是0到ActualSample-1,Average代表所有目光碰撞点样本位置的平均值。
令ActualLerpPower代表Pcursor向PActualSample-1移动时的实际插值量。
步骤1:
在每一帧,检测用户目光射线的碰撞点PActualSample,令ActualSample= ActualSample +1;如果ActualSample=31,则ActualSample赋值为1,P0=P30;检测虚拟光标的位置Pcursor。
上述步骤中,采集的频率和帧频相同,即每收到一帧数据就采集一个碰撞点。ActualSample最大值是30,也就是说若采集碰撞点总数在30个以内,继续进行采集,且处理时ActualSample之前所有碰撞点的信息都会被用到,一旦采集满30个点,就清空之前所有的数据点,而后重新检测,相当于“刷新”的作用。
这样做的目的是由于用户的头部可能会突然发生较大的位置变化,造成相邻数据点之间的偏差较大,丧失了关联性,使得采集的数据集不可用,因此要每隔一段时间进行清零或者刷新处理。
步骤2:
计算已采集的所有目光碰撞点样本位置的平均值:
Average=(P0+P1+ ... +PActualSample-1)/ ActualSample。
在计算平均值之前,可以对已采集到的碰撞点进行滤波,去掉数值差异比较大的点。具体可以采用以下方式:
比较Pi-2、Pi-1、Pi、Pi+1、Pi+2五个点,如果Pi大概落在在Pi-2、Pi-1、Pi+1、Pi+2四个点绘制成的曲线上,则保留Pi,否则,认为Pi的数值差异比较大,去除Pi。
对于起始的P0和P1,与P2、P3、P4比较,对于最后两点,P28和P29,与P25、P26、P27比较,同样采取上述方法。
步骤3:
令ActualDeviation=(P0 2+P1 2+ ... + PActualSample-1 2)/ ActualSample – Average2
步骤4:
若满足ActualDeviation>= DeviationThreshold,则转到步骤5,否则转到步骤6。
步骤5:
此时用户目光碰撞点位置变化较大,令ActualLerpPower=MaxLerpPower,而后将当前虚拟光标的位置Pcursor向当前用户目光碰撞点PActualSample-1以MaxLerpPower作为插值量进行移动。
由于用户目光碰撞点的变化很大,因此当前的碰撞点PActualSample-1与之前的碰撞点不在同一取值范围内,不能再将它们放在一起求平均值,于是我们令ActualSample=0,进行重新采样。转到步骤1。
步骤6:
此时用户目光碰撞点位置变化较小,即P0、P1、... 、PActualSample-1 相互之间很接近,ActualDeviation较小,甚至接近于0。显然此时我们应该使用较小的插值量来稳定虚拟光标的位置,然而插值量不能太小,否则虚拟光标不会响应用户目光碰撞点的微小变化。在这里我们用PowerBoost来增大插值量,即令ActualLerpPower=ActualDeviation*PowerBoost,而后将当前虚拟光标的位置Pcursor向当前用户目光碰撞点的位置PActualSample-1以ActualLerpPower作为插值量进行移动。转到步骤1。
以上为平滑跟随处理过程。
本实施例中,检测用户目光碰撞某模型的线条后,停留2秒以上才判断为选中模型。
用户佩戴Hololens进入工作状态后,用户的视野中会出现三种图像:坦克车的实体图像、整车模型以及用户的虚拟界面。由于整车模型已经与坦克机车实体合二为一,因此这两种图像会随着用户头部的转动发生变化,正如人类裸眼看物体一样。但虚拟界面实时显示工作状态等信息,最佳位置是始终位于用户视线正前方的某个位置。
如果虚拟界面位置固定而不响应用户头部的变化,那么每次用户想查看指导信息时都需把头部转向固定的方向,这降低了用户的舒适感,容易使用户产生厌烦情绪。因此当用户头部位置和朝向变化时,虚拟界面应该跟随其变化。
虚拟界面的位置Position由坐标向量(X,Y,Z)表示,朝向Rotation由四元组(x,y,z,w)表示。
当用户头部转动时,使虚拟界面的位置Position始终位于用户视线正前方的某个位置,同时使虚拟界面的朝向Rotation和用户头部的朝向,也就是头盔的朝向CameraRotation保持一致,这样便能保证虚拟界面始终垂直于用户的目光射线,便于用户进行观察。
对于用户头部的跟随通过检测用户目光来实现。
首先从Hololens的正前方投影出一道光线,由于Hololens戴在用户头上,因此从Hololens正前方投影出的光线也就相当于用户目光,同时Hololens的朝向CameraRotation也就相当于用户头部的朝向。
检测这道光线是否与虚拟界面发生碰撞,如果检测到碰撞,则说明用户目光正在注视虚拟界面,此时头部转动量较小,无需对虚拟界面的位置和朝向进行改变。如果Hololens发出的射线没有碰撞到虚拟界面,我们等待一段固定时间,如2秒钟,以防止用户目光的瞬间变化对界面位置的影响。如果在等待之后用户目光仍然没有碰撞到该虚拟界面,则说明用户头部转动量较大,此时用户目光也已经偏离了虚拟界面,因此我们将虚拟界面的位置由原来的Position移动到用户目光射线正前方的某个位置CurPosition。
若CameraForward代表此时Hololens正前方发出射线的方向,CameraPosition代表此时Hololens在世界坐标系中的位置,Distance代表用户希望虚拟界面与自己眼睛的距离,则CurPosition=CameraPosition+CameraForward*Distance。
同时检测Hololens相对于世界坐标系的旋转量CameraRotation,而后将虚拟界面相对于世界坐标系的旋转量也设置为CameraRotation,如此便可保证虚拟界面始终垂直于用户目光射线。
Claims (10)
1.一种弱光条件下机车部件的选定方法,其特征在于:借助增强现实头戴式显示器实现,所述选定方法包括以下步骤:
A、建立模型:使用三维建模软件,针对机车部件的外部轮廓建立部件模型,进而构建整车模型,
B、模型与实体匹配:借助增强现实头戴式显示器,显示机车的整车模型,移动模型的显示位置,将模型覆盖机车实体,
C、确定整车模型的位置和朝向,
D、定位选择部件模型:通过检测用户目光与部件模型的碰撞并停留,或通过检测用户的手指与部件模型的碰撞选择部件模型,
E、选定实体部件:被选择的部件模型覆盖的实体部件为选定的实体部件。
2.根据权利要求1所述的弱光条件下机车部件的选定方法,其特征在于:增强现实头戴式显示器为微软的Hololens,在显示机车的整车模型的同时,显示用户虚拟界面。
3.根据权利要求1所述的弱光条件下机车部件的选定方法,其特征在于:建立机车部件的实体模型,选定实体部件后,显示实体模型。
4.根据权利要求2所述的弱光条件下机车部件的选定方法,其特征在于:在Hololens系统中,设置部件模型的层级低于机车实体的层级,机车实体在系统中设定为一个层级。
5.根据权利要求4所述的弱光条件下机车部件的选定方法,其特征在于:步骤D中,忽略与用户目光碰撞的机车实体,选定与用户目光碰撞的最低层级的部件模型。
6.根据权利要求5所述的弱光条件下机车部件的选定方法,其特征在于:如果检测到用户目光碰撞到多个层级相同的部件模型,选择最先碰撞到用户目光的部件模型,或者将所述部件模型都差异显示出来,用户通过手指进行二次选择。
7.根据权利要求1或2所述的弱光条件下机车部件的选定方法,其特征在于:步骤D中,在检测用户目光过程中,进行平滑跟随处理。
8.根据权利要求1所述的弱光条件下机车部件的选定方法,其特征在于:步骤D中,如果用户目光停留在某部件模型上超过2秒,判断为选中该部件模型。
9.根据权利要求2所述的弱光条件下机车部件的选定方法,其特征在于:通过检测用户目光是否碰撞虚拟界面来判断用户头部的移动,当用户头部移动时,重新设定虚拟界面的位置和朝向:
位置=CameraPosition+CameraForward*Distance
朝向为Hololens相对于世界坐标系的旋转量
其中,CameraForward为Hololens正前方的方向,CameraPosition为Hololens在世界坐标系中的位置,Distance为虚拟界面与用户眼睛的距离。
10.机车辅助维修系统,借助机车的故障分析仪,基于弱光条件下机车部件的选定方法实现,其特征在于:
故障分析仪通过线缆连接增强现实头戴式显示器;
建立部件模型时,对机车部件进行编号,编号与故障分析仪中对部件的编号一致;
建立维修数据库,数据库中存储每个部件的维修指导流程;
增强现实头戴式显示器接收故障分析仪发送的数据,根据故障部件的编号,对故障部件的部件模型进行差异式显示;
选定实体部件后,系统从数据库中取出该部件的维修指导流程并显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710792645.7A CN107608507B (zh) | 2017-09-05 | 2017-09-05 | 弱光条件下机车部件的选定方法及机车辅助维修系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710792645.7A CN107608507B (zh) | 2017-09-05 | 2017-09-05 | 弱光条件下机车部件的选定方法及机车辅助维修系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107608507A true CN107608507A (zh) | 2018-01-19 |
CN107608507B CN107608507B (zh) | 2021-04-13 |
Family
ID=61055844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710792645.7A Active CN107608507B (zh) | 2017-09-05 | 2017-09-05 | 弱光条件下机车部件的选定方法及机车辅助维修系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107608507B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108492656A (zh) * | 2018-03-12 | 2018-09-04 | 中国人民解放军陆军工程大学 | 发动机拆装模拟方法、装置及电子设备 |
CN108897573A (zh) * | 2018-05-31 | 2018-11-27 | 广东美的制冷设备有限公司 | 家电展示方法、终端设备及服务器 |
CN108898231A (zh) * | 2018-05-31 | 2018-11-27 | 广东美的制冷设备有限公司 | 界面显示方法、终端设备及计算机可读存储介质 |
CN109002167A (zh) * | 2018-08-07 | 2018-12-14 | 浙江冰峰科技有限公司 | 眼球追踪模拟方法、装置及头戴显示设备 |
CN110175681A (zh) * | 2018-09-13 | 2019-08-27 | 中国国际海运集装箱(集团)股份有限公司 | 用于机场地面设备的维保方法及装置 |
CN110351514A (zh) * | 2019-07-09 | 2019-10-18 | 北京猫眼视觉科技有限公司 | 一种虚拟模型通过远程协助方式和视频流同时传输的方法 |
CN110490339A (zh) * | 2019-08-23 | 2019-11-22 | 北京枭龙科技有限公司 | 一种基于增强现实的汽车维修辅助系统及方法 |
CN110648405A (zh) * | 2019-10-12 | 2020-01-03 | 江南大学 | 一种基于增强现实的飞行操作辅助方法和系统 |
CN111207747A (zh) * | 2018-11-21 | 2020-05-29 | 中国科学院沈阳自动化研究所 | 基于HoloLens眼镜的空间定位方法 |
CN114815779A (zh) * | 2022-04-25 | 2022-07-29 | 深圳市希车智能科技有限公司 | 基于ar与vr的汽车远程交互诊断方法、系统及其存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050149231A1 (en) * | 2004-01-05 | 2005-07-07 | John Pretlove | Method and a system for programming an industrial robot |
CN102142055A (zh) * | 2011-04-07 | 2011-08-03 | 上海大学 | 基于增强现实交互技术的真三维设计方法 |
CN102789514A (zh) * | 2012-04-20 | 2012-11-21 | 青岛理工大学 | 一种机械设备拆装3d在线诱导系统的诱导方法 |
CN104484523A (zh) * | 2014-12-12 | 2015-04-01 | 西安交通大学 | 一种增强现实诱导维修系统的实现设备与方法 |
CN105488789A (zh) * | 2015-11-24 | 2016-04-13 | 大连楼兰科技股份有限公司 | 汽车零部件分级定损方法 |
CN106814846A (zh) * | 2016-10-24 | 2017-06-09 | 上海青研科技有限公司 | 一种vr中基于视线和碰撞体交点的眼动分析方法 |
CN106845502A (zh) * | 2017-01-23 | 2017-06-13 | 东南大学 | 一种用于设备检修的穿戴式辅助装置及设备检修可视化指导方法 |
-
2017
- 2017-09-05 CN CN201710792645.7A patent/CN107608507B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050149231A1 (en) * | 2004-01-05 | 2005-07-07 | John Pretlove | Method and a system for programming an industrial robot |
CN102142055A (zh) * | 2011-04-07 | 2011-08-03 | 上海大学 | 基于增强现实交互技术的真三维设计方法 |
CN102789514A (zh) * | 2012-04-20 | 2012-11-21 | 青岛理工大学 | 一种机械设备拆装3d在线诱导系统的诱导方法 |
CN104484523A (zh) * | 2014-12-12 | 2015-04-01 | 西安交通大学 | 一种增强现实诱导维修系统的实现设备与方法 |
CN105488789A (zh) * | 2015-11-24 | 2016-04-13 | 大连楼兰科技股份有限公司 | 汽车零部件分级定损方法 |
CN106814846A (zh) * | 2016-10-24 | 2017-06-09 | 上海青研科技有限公司 | 一种vr中基于视线和碰撞体交点的眼动分析方法 |
CN106845502A (zh) * | 2017-01-23 | 2017-06-13 | 东南大学 | 一种用于设备检修的穿戴式辅助装置及设备检修可视化指导方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108492656A (zh) * | 2018-03-12 | 2018-09-04 | 中国人民解放军陆军工程大学 | 发动机拆装模拟方法、装置及电子设备 |
CN108897573A (zh) * | 2018-05-31 | 2018-11-27 | 广东美的制冷设备有限公司 | 家电展示方法、终端设备及服务器 |
CN108898231A (zh) * | 2018-05-31 | 2018-11-27 | 广东美的制冷设备有限公司 | 界面显示方法、终端设备及计算机可读存储介质 |
CN108897573B (zh) * | 2018-05-31 | 2021-06-18 | 广东美的制冷设备有限公司 | 家电展示方法、终端设备及服务器 |
CN109002167B (zh) * | 2018-08-07 | 2021-04-20 | 浙江冰峰科技有限公司 | 眼球追踪模拟方法、装置及头戴显示设备 |
CN109002167A (zh) * | 2018-08-07 | 2018-12-14 | 浙江冰峰科技有限公司 | 眼球追踪模拟方法、装置及头戴显示设备 |
CN110175681A (zh) * | 2018-09-13 | 2019-08-27 | 中国国际海运集装箱(集团)股份有限公司 | 用于机场地面设备的维保方法及装置 |
CN111207747A (zh) * | 2018-11-21 | 2020-05-29 | 中国科学院沈阳自动化研究所 | 基于HoloLens眼镜的空间定位方法 |
CN111207747B (zh) * | 2018-11-21 | 2021-09-28 | 中国科学院沈阳自动化研究所 | 基于HoloLens眼镜的空间定位方法 |
CN110351514A (zh) * | 2019-07-09 | 2019-10-18 | 北京猫眼视觉科技有限公司 | 一种虚拟模型通过远程协助方式和视频流同时传输的方法 |
CN110490339A (zh) * | 2019-08-23 | 2019-11-22 | 北京枭龙科技有限公司 | 一种基于增强现实的汽车维修辅助系统及方法 |
CN110648405A (zh) * | 2019-10-12 | 2020-01-03 | 江南大学 | 一种基于增强现实的飞行操作辅助方法和系统 |
CN110648405B (zh) * | 2019-10-12 | 2022-02-01 | 江南大学 | 一种基于增强现实的飞行操作辅助方法和系统 |
CN114815779A (zh) * | 2022-04-25 | 2022-07-29 | 深圳市希车智能科技有限公司 | 基于ar与vr的汽车远程交互诊断方法、系统及其存储介质 |
CN114815779B (zh) * | 2022-04-25 | 2023-01-10 | 深圳市希车智能科技有限公司 | 基于ar与vr的汽车远程交互诊断方法、系统及其存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107608507B (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107608507A (zh) | 弱光条件下机车部件的选定方法及机车辅助维修系统 | |
US20220382379A1 (en) | Touch Free User Interface | |
US10489651B2 (en) | Identifying a position of a marker in an environment | |
EP3365874B1 (en) | Mixed-reality and cad architectural design environment | |
US9996982B2 (en) | Information processing device, authoring method, and program | |
EP2779113B1 (en) | Information processing device, display control method, and program | |
US8466894B2 (en) | Apparatus and method for displaying information | |
CN104731337B (zh) | 用于在真实环境中表示虚拟信息的方法 | |
CN102473041B (zh) | 图像识别装置、操作判断方法以及程序 | |
CN102200881B (zh) | 图像处理装置以及图像处理方法 | |
CN116897326A (zh) | 人工现实中虚拟对象的手部锁定渲染 | |
WO2014020663A1 (ja) | 地図表示装置 | |
US20070132662A1 (en) | Information processing method, information processing apparatus, and image sensing apparatus | |
JP2011203823A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2011022984A (ja) | 立体映像インタラクティブシステム | |
CN102984565A (zh) | 具有多输入模式的多维度遥控器及电视输入指令的方法 | |
JP2012053631A (ja) | 情報処理装置、情報処理方法 | |
CN115244492A (zh) | 物理对象对增强现实中的虚拟对象的遮挡 | |
Debarba et al. | Disambiguation canvas: A precise selection technique for virtual environments | |
US20190236849A1 (en) | Information processing apparatus, method, and computer program | |
JPH08314621A (ja) | 画像生成方法及び装置 | |
CN109782914A (zh) | 基于笔式装置轴向旋转的虚拟三维场景中目标的选择方法 | |
JP2004265222A (ja) | インタフェース方法、装置、およびプログラム | |
CN105138130B (zh) | 异地同场景内信息交流指示方法及系统 | |
CN109670249B (zh) | 一种基于维修视觉可达性的机械设计调整方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |