一种用于在虚拟模拟环境中定位虚拟对象的方法和系统与流程

文档序号:17742124发布日期:2019-05-24 20:14阅读:164来源:国知局
一种用于在虚拟模拟环境中定位虚拟对象的方法和系统与流程

本发明属于在虚拟模拟环境中定位技术领域,具体涉及一种用于在虚拟模拟环境中定位虚拟对象的方法和系统。



背景技术:

在工业过程的规划中,会使用计算机仿真技术,其中,通过虚拟仿真环境的虚拟场景来对物理环境的物理场景进行建模。例如,物理场景或真实场景可以是设施、制造厂、工业场景或者可以受益于为了工业仿真目的而在虚拟环境中进行建模的任何其它物理场景。

真实场景可以包括与设施相关的各种真实对象。真实对象的示例包括但不限于设备件、工具、容器、材料件、成品或半成品以及存在于真实场景中的其它对象。在虚拟仿真环境中,通过虚拟对象来表示真实对象。通常,通过三维(3d)虚拟模型来限定虚拟对象,三维(3d)虚拟模型的示例包括但不限于cad模型、类cad模型、点云模型以及其它类型的3d计算机模型。

在真实场景中,真实对象具有可以随着真实对象在真实场景内被移动或被重新定位而变化/移动的位置和定向。当在虚拟仿真环境中对工业设施进行建模时,通常具有以下共同的要求:虚拟场景中的虚拟对象的位置和定向准确地反映真实场景中的真实对象的位置和定向。遗憾的是,即使当cad数据(其对虚拟对象进行建模)可能已经存在时,用户也难以创建反映真实世界场景的3d虚拟场景。例如,当对工业设施进行建模时,用户通常使用cad和类cad软件工具,以便定位和定向经由cad模型或类cad模型而被建模的虚拟对象(于此,经由cad模型或类cad模型而被建模的虚拟对象用术语“cad对象”来表示)。

例如,用以在虚拟环境中反映真实对象的已知技术包括:对真实世界环境中的真实对象和真实场景进行物理测量;从3d扫描中获得点云数据测量;以及将cad模型与点云结果进行比较,或者映射到虚拟环境中的二维(2d)测量图。用于在虚拟场景中定位虚拟对象的技术的示例包括典型的人机界面(“hmi”)系统,其包括标准输入装置如键盘、鼠标、空间鼠标、用于手势跟踪的手势控制装置等。遗憾的是,这样的已知技术对于用户而言是繁琐的、容易出错的,并且可能需要使用各种工具或人机交互来进行多次反复,这使已知技术不适于任务。因此,需要改进的技术。

为此,我们提出一种用于在虚拟模拟环境中定位虚拟对象的方法和系统来解决现有技术中存在的问题。



技术实现要素:

本发明的目的在于提供一种用于在虚拟模拟环境中定位虚拟对象的方法和系统,以解决上述背景技术中问题。

为实现上述目的,本发明采用了如下技术方案:

一种用于在虚拟模拟环境中定位虚拟对象的方法,所述虚拟仿真环境包括反映真实环境的真实场景的虚拟场景,并且其中,所述虚拟仿真环境设置有至少一个虚拟对象,所述至少一个虚拟对象表示所述真实环境的至少一个真实对象,所述至少一个虚拟对象通过3d三维虚拟模型而被限定,所述方法包括:接收3d摄像机在所述真实场景中的定位;在所述虚拟仿真环境中注册所述3d摄像机;接收所述真实场景中在特定位置和特定定向处的真实对象的定位;通过所述3d摄像机来捕捉在所述真实场景中被定位的真实对象的至少一个3d图像;从至少一个捕捉到的3d图像中识别所述真实对象;将识别到的真实对象链接到相应的虚拟对象;提取识别到的真实对象在所述真实场景中的特定位置和特定定向的位置数据;以及定位位于所述虚拟场景中的特定虚拟位置和特定虚拟定向处的链接的虚拟对象所述虚拟场景中的特定虚拟位置和特定虚拟定向反映所述真实场景中的相应真实对象的特定位置和特定定向,所述定位包括使用提取到的位置数据。

优选的:从由以下项组成的群组中选择所述3d虚拟模型:计算机辅助设计(ca3d)模型;类ca3d模型;点云模型;以及3d计算机模型

优选的:进一步包括:接收所述真实对象的特定位置和特定定向的定位的变化;以及重复所述捕捉、所述提取和所述定位的步骤,以便重新定位位于所述虚拟场景中的特定第二虚拟位置和特定第二虚拟定向处的链接的虚拟对象,所述虚拟场景中的特定第二虚拟位置和特定第二虚拟定向反映所述真实场景中的相应真实对象的特定第二位置和特定第二定向。

优选的:从由以下项组成的群组中选择所述真实对象:一件设备;工具;一件材料;半成品;以及制成品。

优选的:所述捕捉经由挑选而被自动执行,所述捕捉适于被手动执行

本发明提供一种用于在虚拟模拟环境中定位虚拟对象的系统,包括:处理器;以及可访问的存储器,所述数据处理系统被配置成:接收三维(3d)摄像机在真实场景中的定位;在虚拟仿真环境中注册所述3d摄像机;接收所述真实场景中在特定位置和特定定向处的至少一个真实对象的定位;接收通过所述3d摄像机进行的在所述真实场景中被定位的至少一个真实对象的至少一个3d图像的捕捉的输入;从至少一个捕捉到的3d图像中识别所述至少一个真实对象;将至少一个识别到的真实对象链接到由3d虚拟模型所限定的相应的虚拟对象;接收至少一个识别到的真实对象在所述真实场景中的特定位置和特定定向的提取到的位置数据的输入;以及使用提取到的位置数据来定位位于所述虚拟场景中的特定虚拟位置和特定虚拟定向处的链接的虚拟对象,所述虚拟场景中的特定虚拟位置和特定虚拟定向反映所述真实场景中的相应真实对象的特定位置和特定定向

优选的:从由以下项组成的群组中选择所述3d虚拟模型:计算机辅助设计(cad)模型;类cad模型;点云模型;以及3d计算机模型

优选的:从由以下项组成的群组中选择所述真实对象:一件设备;工具;一件材料;半成品;以及制成品。

附图说明

图1图示了可以实现实施例的数据处理系统的框图;

图2图示了根据公开的示例实施例的反映真实对象的位置和定向的虚拟仿真环境中的虚拟对象的第一示意图;

图3图示了根据公开的示例实施例的反映真实对象的位置和定向的虚拟仿真环境中的虚拟对象的第二示意图;以及

图4图示了根据公开的实施例的用于在虚拟仿真中定位虚拟对象的过程的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了如图1-4所示的一种用于在虚拟模拟环境中定位虚拟对象的方法,所述虚拟仿真环境包括反映真实环境的真实场景的虚拟场景,并且其中,所述虚拟仿真环境设置有至少一个虚拟对象,所述至少一个虚拟对象表示所述真实环境的至少一个真实对象,所述至少一个虚拟对象通过3d三维虚拟模型而被限定,所述方法包括:接收405-3d摄像机201在所述真实场景中的定位;在所述虚拟仿真环境206中注册410所述3d摄像机201;接收所述真实场景中在特定位置和特定定向处的真实对象203的定位415;通过所述3d摄像机201来捕捉420在所述真实场景中被定位的真实对象203的至少一个3d图像;从至少一个捕捉到的3d图像中识别425所述真实对象203;将识别到的真实对象203链接430到相应的虚拟对象204;提取识别到的真实对象203在所述真实场景中的特定位置和特定定向的位置数据435;以及定位440位于所述虚拟场景中的特定虚拟位置和特定虚拟定向处的链接的虚拟对象204所述虚拟场景中的特定虚拟位置和特定虚拟定向反映所述真实场景中的相应真实对象203的特定位置和特定定向,所述定位包括使用提取到的位置数据。

图1图示了数据处理系统100的框图,其中,实施例可以例如被实现为由软件来具体配置的pdm系统,或另外如本文所描述的那样被实现以执行处理,并且具体地,如本文所描述的那样被实现为多个互连和通信系统中的每一个。图示的数据处理系统100可以包括处理器102,该处理器102连接到二级缓冲器/桥接器104,二级缓冲器/桥接器104继而连接到本地系统总线106。例如,本地系统总线106可以是外围部件互连(pci)架构总线。同样,在图示示例中,主存储器108和图形适配器110连接到本地系统总线。图形适配器110可以连接到显示器111。

其它外围设备如局域网(lan)/广域网/无线(例如wifi)适配器112也可以连接到本地系统总线106。扩展总线接口114将本地系统总线106连接到输入/输出(i/o)总线116。i/o总线116连接到键盘/鼠标适配器118、磁盘控制器120以及i/o适配器122。磁盘控制器120可以连接到存储器126。存储器126可以是任何适当的机器可用或机器可读存储介质,包括但不限于非易失性硬编码型介质(如只读存储器(rom))或可擦除可电编程只读存储器(eeprom)、磁带存储器和用户可记录型介质(如软盘、硬盘驱动器和紧致盘只读存储器(cd-rom)或数字通用盘(dvd))以及其它已知的光、电或磁存储装置。

同样,在示出的示例中,音频适配器124连接到i/o总线116,扬声器(未示出)可以连接到音频适配器124以播放声音。键盘/鼠标适配器118提供了对于指点装置(如鼠标、轨迹球、道指示器、触摸屏等)(未示出)的连接。

本领域的技术人员将意识到的是,图1所示的硬件可以因具体实现而变化。例如,也可以另外使用其它外围设备(例如光盘驱动器等)或者用其来代替图示的硬件。图示的示例仅为了说明的目的而被提供,而并不意味着相对于本公开的架构限制。

根据本公开的实施例的数据处理系统可以包括使用图形用户界面的操作系统。操作系统允许在图形用户界面中同时呈现多个显示窗口,其中,每个显示窗口提供朝向不同应用程序或者朝向同一应用程序的不同实例的界面。用户可以通过指点装置来操作图形用户界面中的光标。可以改变光标的位置,并且/或者可以生成事件(如点击鼠标按钮)以触发所需的响应。

如果适当地被修改,则可以使用各种商业操作系统如microsoftwindowstm版本中的一种。根据本公开如所描述的那样来修改或创建操作系统。

如本领域的技术人员已知的那样,lan/wan/无线适配器112可以连接到网络130(不是数据处理系统100的一部分),网络130可以是任何公共的或私人的数据处理系统网络或者是包括互联网的网络的组合。数据处理系统100可以通过网络130与服务器系统140进行通信,服务器系统140也不是数据处理系统100的一部分,而是可以例如被实现为单独的数据处理系统100。

图2和图3分别图示了根据公开的示例实施例的反映真实对象的位置和定向的虚拟仿真环境中的虚拟对象的第一示意图和第二示意图。

在虚拟环境206中,虚拟对象204是可用的。虚拟环境已经布置有反映真实环境207的一个或多个真实对象203的一个或多个虚拟对象204。图2和图3图示了这样的对象中的一个被3d摄像机201所捕捉的示例性实施例。

本领域的技术人员认识到的是,在其它实施例中,多个不同的真实对象203可以同时被3d摄像机201捕捉,并且因此被识别。对于可用于虚拟环境的虚拟对象204的集合,相应的3d虚拟模型的集合设置在系统之内。可以从各种不同的来源来提供3d虚拟模型的集合,所述各种不同的来源包括但不限于:虚拟仿真环境;通过点云扫描、通过2d图像扫描、机械扫描、手动扫描而被连接到虚拟仿真环境的cad软件、cad库;以及其它来源。cad模型是特定类型的3d虚拟模型,并且在图2和图3中所图示的示例性实施例中,当3d虚拟模型是cad模型时,虚拟对象204可以是cad对象。

3d摄像机201位于物理场景中,并且在虚拟世界中被注册,以便通过在虚拟场景中限定3d摄像机的位置和定向来提供一致的偏移。在3d摄像机201已经捕捉了真实对象203的至少一个3d图像之后,识别真实对象203。将识别到的真实对象203链接到相应的虚拟对象204。如本文所使用的那样,为了简单起见,术语“3d图像”用来表示来自3d摄像机的一组帧或帧流。

在一些实施例中,真实对象203与相应的虚拟对象204之间的链接可以适于由用户手动完成。在其它实施例中,可以经由挑选(picking)通过自动识别来完成链接。例如,在示例性方案中,其中仿真环境被设置有不同尺寸的三个(或任何数目)不同虚拟对象,一旦识别到真实对象,就可以通过自动识别(例如通过挑选与给定的3d扫描相关联的虚拟对象)来完成链接(即三个虚拟对象之中的选择)。在这样的后者情况下,软件能够将3d摄像机图像链接到具有给定3d扫描的特定cad对象。

在一些实施例中,可以从现有的cad库中获得有关cad模型。通过提取关于真实场景中的真实对象的位置和定向的位置数据,根据真实对象203来校准虚拟对象204,以便虚拟对象204被定位在反映了真实场景207中相应的真实对象203的真实位置和真实定向的虚拟位置和虚拟定向处。如图所示,图3中的虚拟对象204具有与图2的虚拟对象204不同的位置和定向,这反映了真实对象203的位置和定向的变化。在一些实施例中,可以通过操作器205来操作3d对象的位置和定向,以对应于虚拟对象的位置和定向的图形表示。

图4图示了根据公开的实施例的用于定位虚拟环境中的虚拟对象的过程的流程图400。例如可以通过上述图1的系统100来执行这样的过程,但是以下过程中的“系统”可以是被配置成执行所描述过程的任何设备。

虚拟仿真环境包括反映真实环境的真实场景的虚拟场景。设置了表示真实环境的至少一个真实对象的至少一个虚拟对象,该虚拟对象由3d虚拟模型来限定。

在动作405处,接收3d摄像机在真实场景中的定位。

在动作410处,在虚拟仿真环境中注册3d摄像机,以便在真实场景与虚拟场景之间进行校准。

在动作415处,接收真实场景中在特定位置和特定定向处的至少一个真实对象的定位。

在动作420处,3d摄像机捕捉在真实场景中被定位的至少一个真实对象的至少一个3d图像。

在动作425处,从至少一个捕捉到的3d图像中识别至少一个真实对象。

在动作430处,将至少一个识别到的真实对象链接到其相应的虚拟对象。

在动作435处,提取至少一个识别到的真实对象在真实场景中的特定位置的位置数据和特定定向的位置数据。

在动作440处,通过使用提取到的位置数据在虚拟场景中的特定虚拟位置和特定虚拟定向(其反映真实场景中的相应真实对象的特定位置和特定定向)处定位链接的虚拟对象。

在一些实施例中,改变识别到的真实对象的位置和定向,并且使用反映这些变化的位置和定向通过相应地重复动作420、435和440来定位相应的链接的虚拟对象。通过这样的实施例,可以有利地提供动态更新。在这样的实施例的情况下,真实场景中的真实对象的任何运动可以影响虚拟场景中的虚拟对象的位置和定向,以便在连接的系统中,真实对象和虚拟对象之间的运动是同步的,还是实时的。

处理器102、存储器108以及运行在处理器102上的仿真程序中的一个或多个经由以下中的一个或多个来接收输入:本地系统总线106;适配器112;网络130;服务器140;接口114;i/o总线116;磁盘控制器120;存储器126等。如本文所使用的那样,接收可以包括从存储器126中检索、从另一装置或过程中接收、经由与用户的交互来接收或者另外的方式。

当然,本领域的技术人员将认识到的是,除非操作的顺序明确指示或要求,否则在上述过程中的某些动作可以被省略、并行地或顺序地被执行或者以不同的次序被执行。

本领域的技术人员将认识到的是,为了简单和清楚起见,本文不会说明或描述适于与本公开一起使用的所有数据处理系统的完整的结构和操作。替代地,甚至仅说明和描述了对于本公开而言是唯一的或者对于本公开的理解而言是必要的数据处理系统。数据处理系统100的结构和操作的其余部分可以符合本领域中已知的各种现有的实现和实践。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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