APP下载

雷达结构交互式虚拟装配系统研究*

2013-09-16陈帝江张红旗张祥祥程五四

电子机械工程 2013年3期
关键词:跟踪器虚拟环境手掌

陈帝江,张红旗,张祥祥,程五四

(中国电子科技集团公司第三十八研究所, 安徽 合肥 230088)

·简讯·

雷达结构交互式虚拟装配系统研究*

陈帝江,张红旗,张祥祥,程五四

(中国电子科技集团公司第三十八研究所, 安徽 合肥 230088)

文中针对雷达结构传统装配设计中存在的效率低、一次装配成功率不高等问题,提出了一种基于虚拟现实技术的交互式虚拟装配系统构建方案。该系统集成交互式外设在不需要任何雷达实物的情况下,完全在虚拟环境下通过用户的自然操作,实现雷达结构装配的全过程。文中介绍了系统中虚拟装配功能模型的构建方法,重点分析了虚拟手在系统中的动作实现过程,阐述了雷达结构装配仿真规划的方法,最后还介绍了原型系统的开发过程和系统功能的实现。

雷达结构;虚拟装配;体系结构

引 言

现代雷达装备正呈现出大型化、集成化、机动化的发展趋势。雷达产品的多品种、变批量、多批次的研制特点导致了研制任务重、产品研发周期长、研制成本高和质量难以保证等问题,尤其是对雷达结构的一次装配成功率提出了更高的要求。

随着雷达结构复杂程度的增加,其装配设计往往需要各专业技术人员的通力配合。如何在雷达结构的概念和方案设计阶段,提供一种可以供设计人员实时、自然操作三维模型的交互式虚拟装配系统,是提高雷达结构装配设计准确性和效率的关键所在。

本文研究开发的雷达结构交互式虚拟装配系统,通过虚拟现实、人机交互及三维设计技术,利用计算机及辅助工具,在不需要任何雷达实物的情况下,完全在虚拟环境下实现对雷达产品结构虚拟样机模型的装配操作、对装配过程和结果进行的测试和仿真,以达到优化装配方案、改进装配设计等目的。

1 交互式虚拟装配技术

虚拟装配是指不需要产品或支持过程的物理实现,是利用计算机工具,通过分析、预建模、可视化、数据表示等进行或辅助进行装配相关的工程决策[1]。就具体的表现形式而言,虚拟装配是在虚拟环境中使用虚拟现实交互方式(如直接用虚拟手操作和自然语言命令)构建虚拟产品原型。与传统CAD的装配相比,虚拟装配的重点在于直观的人机交互,在虚拟环境中直接通过零件操作和自然语言命令来完成装配操作。从技术层面来说,虚拟装配是指综合利用虚拟现实技术、计算机图形学、仿真技术和人工智能技术等建造虚拟环境以及产品虚拟模型,在产品虚拟装配过程中进行交互分析,进行产品装配过程和结果的仿真。它可以检验、评价以及预测产品的可装配性,而且能够面向装配过程提供直观合理的装配规划方法。

交互式虚拟装配技术是在虚拟现实技术研究的基础上,集成交互式外设(如数据手套、位置跟踪器和立体显示系统等),在不需要任何雷达实物的情况下,完全在虚拟环境下通过用户的自然操作,实现雷达结构装配的全过程,同时对雷达结构虚拟装配的过程进行评估,从而达到优化设计、缩短产品的研发周期、降低成本和提高效费比的目的。本文通过对虚拟装配技术基本原理的研究,结合地面高机动雷达的结构设计特点及装配要求,分析了交互式虚拟装配系统开发过程中的关键内容,开发了雷达结构交互式虚拟装配系统,图1为交互式虚拟装配系统的体系结构图。

图1 交互式虚拟装配系统体系结构

首先输入虚拟装配模型数据,进行必要的数据转换,将处理好的装配信息模型(包括装配对象和装配工具模型)导入虚拟环境。同时加载虚拟装配场景,再将虚拟人信息模型导入交互式自然操作环境,结合交互式外设,实现基于自然人的交互式操作环境,使自然人可以在沉浸式虚拟环境中进行交互式装配操作。针对虚拟装配的结果进行装配结果的评估与设计优化,并将相关数据归纳存入对应的数据库。

2 交互式虚拟装配系统关键内容

2.1 虚拟装配功能模型构建方法

虚拟装配功能模型主要包括零件模型和工具模型。针对雷达结构各系统不同的装配特点,结合所采用的装配工艺,建立装配模型和装配工具的信息表达数据集,主要包含参数化几何信息、约束信息、驱动信息等。

2.1.1 虚拟装配零件模型构建方法

零件模型是装配模型的基础,它含有多种信息,仅采用面片模型表达时会损失精确几何信息和拓扑信息,难以进行精确分析;面片模型还会丢失工程设计信息,使装配约束难以表达。在虚拟装配系统中,零件信息表达需要包含几何信息和设计信息,同时还要便于组织和操作以保证系统的实时交互性,另外还要考虑其所在的装配环境。

本文使用3种模型的集成来表达零件的信息:零件层模型,采用一个“零件类”的对象来描述,用于记录和标识零件的查询属性、几何信息、操作属性和物理属性;显示模型(面片模型),由CAD系统直接生成,用于VR渲染和显示,常用的面片模型格式有STL、VRML、FLT和POLY,以三角面片为基本结点,记录组成零件各个小面片的顶点坐标、法矢、面片颜色以及纹理信息;碰撞模型,由面片模型生成,用于碰撞检测计算。

上述3种模型属于同一个零件的3种描述形式,在虚拟场景中,它们存在于同一个局部坐标系下,零件移动时3种模型同步移动,它们之间的联系通过数据库进行。由于面片模型和碰撞模型都有固定格式,本文仅针对零件的精确模型展开描述。如图2所示,零件类需要具有查询、物理、操作、几何与拓扑4类属性。

在查询属性中父结点ID指明装配树上零件的直接父结点,可以据此属性查找零件的上层装配;约束表用于在装配操作时辅助确定某次装配需要处理的约束。

物理属性是零件在进行动力学计算时所需的信息,主要包括质心坐标、质量、绕局部坐标系3个坐标轴的转动惯量以及刚度、阻尼和弹性恢复系数。

图2 虚拟装配零件精确模型的逻辑结构

操作属性中的显示属性控制零件在场景中的显示方式,0:渲染;1:线框;2:隐藏;3:高亮显示。为了表达某时刻零件与虚拟手的关系,零件类有一个拾取标志,0:未被拾取;1:被拾取。零件类的“完成标志”描述某时刻零件的约束满足情况,当零件在当前装配层次的所有约束都已满足时,该标志的值为1,否则为0。

在几何拓扑属性中,零件坐标系属性记录零件坐标系的原点坐标和3个轴的姿态角。装配操作时,零件处于何种状态时系统进行约束捕捉将直接影响系统性能,如果捕捉范围过大,则需要时时处理很多不可能符合预定误差限的约束,这会增大系统负担;若捕捉范围过小,用户就难以捕捉到某个约束,因而影响操作效率。系统使用包围盒和约束层次来共同确定约束捕捉范围,但包围盒只有在子装配的装配动作完成以后才会生成。

2.1.2 虚拟装配工具模型的表达

虚拟环境和实际装配中使用工具的最大区别就是工具与操作对象之间关系的建立,在虚拟现实硬件缺乏真实力反馈的条件下,动态地建立和删除工具与操作对象之间的几何约束是解决工具与操作对象关系的重要手段。

在虚拟装配操作过程中,可将装配工具视为一个特殊的零件。为了满足虚拟现实中产品装配的要求,工具的几何和拓扑表达统一采用B-REP方法。为了实现在虚拟环境中对零部件的操作,工具类需要具有查询、物理、操作、几何拓扑和操作对象5种属性,具体的表达如图3所示。

图3 虚拟装配工具模型的信息表达结构

查询属性中工具ID是在工具库中的编号,具有唯一性。面片模型是从CAD软件中转换的,包括wrl、stl等格式。碰撞模型ID是工具在数据库中的编号,用来查询工具和零部件对应的碰撞模型。

物理属性中抓取点的坐标指虚拟手抓取工具时根据虚拟手的姿态和抓取点的坐标确定虚拟手和工具的相对位姿。工具的质量、密度和转动惯量是评价工具可操作性和操作难易程度的主要指标。

几何拓扑属性、操作属性以及操作对象属性的定义与虚拟装配零件模型的定义基本一致,不再赘述。

工具类模型的约束信息由3部分组成:约束基本信息、与主动体相关的信息以及与配合体相关的约束信息。工具操作对象中待捕捉约束链表中的约束是从CAD软件通过专用接口得到的,所有的信息是已知的。

2.2 基于自然人的交互式虚拟操作技术

本文主要利用数据手杖、位置跟踪器等外设,通过数据接口,与雷达结构装配操作动素库[2]关联,将相应的动素应用在虚拟手操作中,达到交互式虚拟装配操作目的。图4为虚拟手应用操作动素进行自然操作的流程图。自然人通过数据手杖与传感器,读取手掌姿态的传感器数值,映射到雷达结构装配操作动素库,获取相应的动素,还原为标准装配动作进行虚拟装配操作。虚拟手掌的初始位姿值可通过传感器读取,加载了坐标值的位置跟踪器信息通过信号发射器发送给传感器,传感器捕获手掌当前位姿。当手掌位姿发生变化时,传感器通过矩阵转换函数得出位姿转换数据,发送给位置跟踪器,获取位置关系编码值,映射到雷达结构装配操作动素库,获取相应的动素,还原为标准装配动作。将虚拟手掌的标准动作通过传感器加载到虚拟环境中,实现对装配模型的虚拟操作。

图4 虚拟手应用操作动素自然操作流程图

2.2.1 手指动作实现

在虚拟手动素提取与控制的研究中,手指的动作实现相对简单,本项目利用数据手杖的按键来实现手指信息的采集。

如图5所示,手杖有6个传感器,彩色按钮可以分别用于定义拇指、食指、中指、无名指和小指根关节的信息。以红色为例,当传感器输出值为0时,表示拇指没有按下;当传感器输出为4 080时,表示拇指完全按下。依据动素表中的对应动作,可以读取相应的数值并记录备用。

图5 intersense数据手杖

2.2.2 手掌动作实现

在虚拟装配环境中,不仅需要控制手指动素,还需要控制手掌动素。手掌动素控制及动作实现的基本过程包括数据采集、位置跟踪器坐标系下的位姿确定、虚拟装配环境坐标系下的动素确定和虚拟手运动。

(1) 位置跟踪器的数据采集与分解

如图5所示,操作者将数据手杖握在右手中,就可通过位置跟踪器实时读取手掌的位姿信息。位置跟踪器坐标系OT(XTYTZT)如图6所示,发射器质心为原点OT。用六元组Dti(xti,yti,zti,Ati,Eti,Rti)表示第i时刻传感器位置和姿态数据,其中:xti、yti、zti为手掌在位置跟踪器坐标系中的X、Y和Z坐标,Ati、Eti分别为手掌绕ZT轴和YT轴旋转的方位角和俯仰角,Rti为手掌绕传感器质心至原点OT之间连线轴旋转的角度。

图6 位置跟踪器坐标系

(2) 手掌的驱动

在虚拟装配坐标系OV(XVYVZV)下,用六元组Dvi(xvi,yvi,zvi,Pvi,Wvi,Rvi)表示第i时刻虚拟手掌的位置和姿态数据,如图7所示,其中,xvi、yvi和zvi为虚拟手掌在虚拟环境坐标系下的X、Y和Z坐标,Pvi、Wvi和 Rvi分别为虚拟手掌绕XV轴、YV轴和ZV轴旋转的角度。

可将传感器在位置跟踪器坐标下的读数Dti分解为位置数据Pti(xti,yti,zti)和姿态数据Gti(Ati,Eti,Rti),将Dvi分解为手掌位置数据Pvi(xvi,yvi,zvi)和姿态数据Gvi(Pvi,Wvi,Rvi)。虚拟手掌驱动的核心是将传感器读数Dti转换为虚拟手掌的位姿数据Dvi,从而实时地驱动虚拟手掌位姿的变化,即需要确定映射关系fp和ft,使

Pvi=fp(Pti)

(1)

Gvi=ft(Gti)

(2)

图7 虚拟环境坐标系

(3) 手掌动素——位置数据映射

如图6和图7所示,根据位置跟踪器坐标系与虚拟装配坐标系之间的关系,可以构建坐标变换矩阵Tp,实现操作者手掌与虚拟手掌之间位置坐标的转换,即:

Pvi(xvi,yvi,zvi)=Pti(xti,yti,zti)×Tp

(3)

式中,

(4)

Ctv是比例系数,表示位置跟踪器坐标系一个单位的距离等于虚拟环境坐标系下Ctv个单位,Ctv的值根据位置跟踪器最大测量范围和虚拟装配环境坐标系的范围来确定。

(4) 手掌动素——姿态数据映射

手掌动素之姿态数据映射指的是将操作者手掌姿态数据转换为虚拟手掌姿态数据。如图6和图7所示,从位置跟踪器坐标系与虚拟环境坐标系之间的关系可知:操作者手掌俯仰角Eti与虚拟手掌的Pvi相对应,操作者手掌方位角Ati与虚拟手掌的Wvi相对应,而操作者手掌旋转角Rti与虚拟手掌姿态数据之间不存在直接对应关系,需要进行必要的转换才能将操作者手掌旋转角R的变化映射为虚拟手掌姿态数据的变化。

在位置跟踪器坐标系下,旋转角R本质上是操作者手掌绕空间任意轴做旋转运动,因此采用三维组合变换的方法,构建变换矩阵RAX来实现旋转角R与虚拟手掌姿态数据之间的映射。设在第i时刻操作者手掌姿态数据为Gti(Ati,Eti,Rti),则虚拟手掌姿态数据应为Gvi(Pvi,Wvi,Rvi);设第i+1时刻操作者手掌姿态数据为Gti+1(Ati+1,Eti+1,Rti+1),则虚拟手掌姿态数据应为Gvi+1(Pvi+1,Wvi+1,Rvi+1)。虚拟手掌的变换步骤如图8所示。

图8 虚拟手掌变换步骤

构建矩阵RAX的过程分为以下5个步骤:

1) 如图8(a)所示,在虚拟装配环境坐标系下,将虚拟手掌从第i时刻的位置1绕YV轴反方向旋转Ati至位置2,其齐次变换矩阵为

(5)

2) 如图8(b)所示,将虚拟手掌从位置2绕XV轴反方向旋转Eti至位置3,使虚拟手掌与虚拟装配环境坐标系的ZV轴重合,其齐次变换矩阵为

(6)

3) 如图8(c)所示,将虚拟手掌从位置3绕ZV轴正方向旋转ΔR至位置4,其中ΔR=Rti+1-Rti,其齐次变换矩阵为

(7)

4) 如图8(d)所示,将虚拟手掌从位置4绕XV轴正方向旋转Eti+1至位置5,其齐次变换矩阵为

(8)

5) 如图8(e)所示,将虚拟手掌从位置5绕YV轴正方向旋转Ati+1至位置6,其齐次变换矩阵为

(9)

根据以上变换步骤,可得变换矩阵:

(10)

使Gvi+1=Gvi×RAX,从而实现操作者手掌旋转角R变化与虚拟手掌姿态数据变化之间的映射。

(5) 虚拟手掌的驱动

参照虚拟手指的驱动方法,将操作者手掌位姿数据进行转换后,映射为虚拟手掌的位姿数据,然后调用实体平移与旋转函数,实时改变虚拟手掌的位姿,从而实现虚拟手掌的驱动。

2.3 交互式装配仿真规划方法

2.3.1 装配层次的划分[3]

雷达结构的装配层次以子装配体为研究对象,也就是将装配体分解为子装配体,子装配体再进一步分解下去,直至分解为不可再分的零件。所谓子装配体就是一组零件的稳定组合。在其内部,零件之间有着稳固的配合关系,每个零件都能相对定位,而与其外部零部件的配合则比较简单。模型的层次树结构如图9所示。

图9 雷达结构装配模型层次树

需要注意的是,在层次树结构中,当某一中间层级出现单一零件时,这些零件就被视为该层级中的装配单元,直接与相应层级中的其他装配件进行装配。

在生成层次树结构过程中,应当确定每一层的子装配体或零件中的基础件。所谓基础件就是该层级中与最多子装配体或零件具有联接及配合关系的子装配体或零件[4]。

2.3.2 装配路径的规划

在装配过程中,通常认为“可拆即可装”这一命题是成立的。在此理论基础上,可以通过寻找可行的拆卸路径来逆向推导出可行的装配路径,或者将拆卸的粗略路径作为引导,给装配路径的寻找指出一个大概的合理方向,从而使装配路径的寻找难度大大降低。在交互式的虚拟装配系统中,用户可以借助外部设备,很方便地进行零部件的拆卸作业,系统会自动记录零部件的拆卸路径,并通过优化算法确定好装配件的拆卸路径。接下来要通过这些拆卸路径寻找合适的装配路径,目前采用的方法是先将这些拆卸路径确定为参考装配路径进行试装配。在实际过程中,发生干涉的情况是在所难免的,利用虚拟装配技术可及时发现并消除干涉,为后面的物理样机一次性总装成功打下基础。

3 原型系统构建与应用实例

3.1 系统开发与实现

以VC++8.0为开发工具,使用OPEGL/PERFOMER图形引擎、mysql、applet技术和硬件接口开发等技术,结合空间定位器(IS-900)、数据手杖(R-GAMEPAD)等交互式硬件,开发了雷达结构交互式虚拟装配系统,系统的IDEF0功能如图10所示。

图10 雷达结构交互式虚拟装配系统IDEF0图

3.2 系统功能模块及应用

1)数据输入模块(A1)能够支持Pro/E野火5.0版本(*.asm、*.prt)、UG NX7.0(*.prt)、CATIA V5R20(*.process、*.catiaproduct、*.catiapart)3种主流CAD设计软件的模型数据输入,并能够直接读取装配模型库中的已有数据。

2)维修工具模型定义模块(A4)可以直接加载装配工具库中的已有工具模型,然后根据装配对象的特征定义其约束关系、导航路径等相关信息,同时该模块支持新建装配工具模型的导入、分类和相关信息的定义。

3)虚拟人模块(A5)分为虚拟人操作模块(A51)、虚拟人姿态控制模块(A52)和数据采集模块(A53):A51虚拟人操作模块能够利用虚拟人针对装配模型进行典型的装配操作,能够加载预定义的典型姿态,支持加载从交互式操作模块提取的典型动作序列;A52虚拟人姿态控制模块能够加载虚拟人姿态库中预定义的数据,可以将新定义的典型姿态通过数据采集模块存入虚拟人姿态数据库;A53数据采集模块能够将虚拟人在操作装配对象过程中的操作范围、视野范围、当前动作的灵便性、疲劳度等信息采集并记录下来,存入虚拟人姿态库相应的数据字段。虚拟人模块可记录自然人交互式操作的不规则、不标准的自然人交互式操作的动作序列,并将其分解成多个标准动作,形成标准动作序列,存储到虚拟人姿态库中,加载给虚拟人模型,驱动虚拟人按照标准动作序列完成自然人交互式操作的过程。图11所示为通过外设驱动虚拟人安装天线某功能模块。

图11 虚拟人进行装配操作

4)交互式操作模块(A7)分为外设接口定义模块(A71)、动作轨迹录制模块(A72)和立体显示配置模块(A73)。A71外设接口定义模块能够针对甲方提供的交互式外部设备定制数据接口,可实现软件操作与外部设备的高速、无缝数据交换,主要设备有空间定位器(IS-900)、立体眼镜(R-NV-GLASS)和发射器(R-IRE-100)、立体投影机(R-PRJ-HD3D)、操纵手杖(R-GAMEPAD)等;A72动作轨迹录制模块能够录制虚拟人操作过程的路径,也能够录制自然人交互式操作装配对象过程的路径,可以对录制结果进行优化定型并将它保存下来;A73立体显示配置模块能够同时支持主动和被动立体信号输出,并能够针对甲方提供的立体显示设备定制软件的立体输出配置,如视角、眼距、刷新频率等参数。图12所示为自然人通过交互式外设进行操作。

图12 自然人通过交互式装配系统操作

4 结束语

交互式虚拟装配系统是针对雷达结构虚拟样机进行装配设计和评估的一种有效手段。本文结合虚拟装配信息模型的构建技术,重点阐述了在虚拟环境下的自然人交互式操作技术,通过系统集成和开发,实现了完全在虚拟环境下针对雷达结构虚拟样机模型进行的装配设计和仿真,为设计师提供了一种在产品设计早期发现并优化装配的新型高效的手段,在一定程度上提高了雷达结构的一次装配成功率。

[1] JAYARAM S, CONNACHER H, LYONS K. Virtual assembly using virtual reality techniques[J]. Computer Aided Design, 1997,8(29):575-584.

[2] 陈帝江,张红旗. 地面雷达结构高效率虚拟维修技术研究[J]. 雷达科学与技术,2010(6):577-582.

[3] 王璐. 地面高机动雷达结构虚拟装配应用研究[J]. 雷达科学与技术, 2009, 7(2):158-162.

[4] 李原,曹哲,张涛,等. 基于产品配合图的装配顺序自动规划[J]. 工程设计,2000(1):28-31.

陈帝江(1983-),男, 工程师,主要从事雷达结构设计、智能CAD和数字样机技术研究工作。

张红旗(1975 -), 男,高级工程师,主要从事雷达结构设计、智能CAD和数字样机技术研究工作。

声 明

为适应我国信息化建设,扩大本刊以及作者的知识信息交流渠道,本刊已被封面上的数据库全文收录,其作者文章著作权使用费与本刊稿酬一次性付给。如作者不同意文章被收录,请在来稿时向本刊申明,本刊将作适当处理。

·简讯·

研究人员创造出具备自愈功能的计算机芯片

据http://www.cinn.cc 2013年3月报道,美国加州理工学院的一个研究团队创造了一种能自我修复信息通道的计算机芯片。实验芯片(微芯片)有通道数千条,但由于每条都是专用的,所以单一通道故障会使整个系统失效。每个芯片含有10万多个晶体管(它们并非同时工作),研究人员使用激光束破坏了大量晶体管,然后让系统进行重新校准。结果发现,只要损坏部分没有获得任何数据缓存,芯片就能找到替换路线并且继续工作。在每个芯片上特定用途集成电路(ASIC)处理器的帮助下,这种系统能够了解哪条路线受损并且进行相应的调整。该项新技术类似于人类大脑,如果一条路线变得不可用,大脑就会发现新的方式来继续传递信息。当然这也有可能给系统带来它无法恢复的灾难性损害,但由于拥有10万多种传输方式,这些微芯片能够变得非常耐用。

这种能自我修复的芯片在机器进化的过程中是一种非常吸引人的进步,虽然它们缺少真正生物所具备的一种重要特征,即随时间再生的能力,被激光灼烧的截面在数年后仍呈被灼烧后的状态,但这些不会减少这项发明的新颖性或潜在用途。该微芯片既能够诊断又能在没有人类参与的情况下修复自己的问题,使人类向不可损坏的电路又迈进了一步。

Research on Interactive Virtual Assembly System for Radar Structure

CHEN Di-jiang,ZHANG Hong-qi,ZHANG Xiang-xiang,CHENG Wu-si

(The38thResearchInstituteofCETC,Hefei230088,China)

A building method of interactive virtual assembly system based on virtual reality is proposed to solve the problems of low efficiency and once assembly failure for radar structure assembly design. With this system combined with interactive peripheral equipment, the whole process of radar structure assembly is carried out by user operation in virtual environment without any physical radar. In this paper a building method of virtual assembly function model is firstly introduced. Then a method of radar structure virtual assembly simulation planning is given by analyzing virtual hand motion. Finally, the development of the prototype system and the realization of system function are introduced.

radar structure; virtual assembly; system structure

2013-01-29

国防技术基础计划资助项目(Z3120121B003);国防技术基础计划资助项目(Z312012B001);国防技术基础计划资助项目(B3120131100);国防基础科研计划资助项目(A1120110003)

TP391.98

A

1008-5300(2013)03-0053-08

猜你喜欢

跟踪器虚拟环境手掌
光伏跟踪器阵列跟踪精度的测算方法研究
前庭刺激对虚拟环境三维空间定向的影响及与空间能力的相关关系
如何通过虚拟环境有效管理Python第三方库
浅析一种风光储一体化跟踪器
超长待机的自行车位置跟踪器
摊开手掌
手掌上的童话
双向多轨迹判定方法在目标跟踪中的应用研究
虚拟环境下大数据智能并行聚类方法研究
把手掌放在画纸上描一描,画出一只考拉吧