李彦广,刘爱军
(商洛学院计算机科学系,商洛,726000)
运用“软件化”的虚拟检测工具进行信号检测是虚拟维修样机故障检修三维视景仿真的重要内容,探头组作为虚拟检测工具获取检测点信号的关键部件,是刚性部件和柔性线缆的组合体。由于探头组组成要素的特性和建模方法差异较大,在探头组运动过程中,既要使整体产生自然的弯曲变形,又要确保各组成要素不发生脱节,保持探头组的完整性,必须对探头组进行运动控制,增强信号检测过程仿真的真实感。为此,本文依托Virtools虚拟仿真平台,采用基于离散控制点的柔性线缆建模方法,构建探头组模型,并编辑运动控制算法和程序,确保探头组在信号检测仿真中进行逼真的运动。
探头组由固定接头、柔性线缆和探头三部分组成,如图1所示,固定接头在固定坐标上与虚拟检测工具主体紧密相连,不可移动。探头由探头主体和探点组成,探点与检测点的碰撞是触发显示信号波形的信息来源。柔性线缆是固定接头和探头的联接体,具备自然弯曲、扭曲、变形等柔性特质,其空间位置和姿态由离散控制点决定,同时需要为其设置截面半径、表面材质、总长度、重量和弹性等基本物理属性。
图1 探头组结构模型
虚拟检测工具探头组的固定接头和探头属于刚性部件,运用3DMAX建立三维模型后导入Virtools平台可完成建模。通过3DMAX建立的导线三维模型导入VT平台后生成的是刚性物体,在长度和粗细固定时,无法体现自然扭曲、弯曲等柔性特质,因此,只能在VT平台下直接建立导线模型,通过绘制Curve曲线,添加一定数量的离散控制点,并运用行为模块设置运动控制规则,使导线具备完整的柔性特质。建模步骤为:
1)利用3D Layout区Creation Tools的Create Curve按钮绘制曲线,通过调整离散控制点设置曲线初始位置和总长度。
2)在Curve Setup中设置曲线的平滑开放属性,调整离散控制点的个数,并记录相邻控制点间的长度。
3)在Level Manager中创建离散控制点组,将曲线上的所有控制点发送至该组。
4)创建曲线仿真脚本,应用物理化模块Physicalize BB使导线具备相应的物理学属性。
5)通 过 Move To、Object Slider、Keep At Constant Distance等模块,设置探头组的运动控制程序。
运用密集的离散控制点将长度为L的导线分为N等份,控制点数i=N+1,当N值取足够大时,可使得三个相邻的控制点近似处于同一直线上(可根据实际导线对折后弯曲部位的长度设定每等份的长度,依此确定控制点数),导线末端控制点Curve-Point000N与固定接头相连,坐标为PN(XN,YN,ZN),在已知所有控制点的初始位置Pi(Xi,Yi,Zi)和第一控制点运动1帧后所处当前位置坐标P′0 (X′0,Y′0,Z′0)的前提下,求解所有控制点的当前位置坐标P′i (X′i,Y′i,Z′i)。
以前三个控制点为例,由于三个控制点所处的导线段近似于直线段,在XOY平面和XOZ平面上的投影也为一条直线段(假设不出现投影为点的情况),如图2所示,导线段运动前后在同一平面上的投影线段相似,根据相似原理可得:
由上式得:
由于采用Keep At Constant Distance模块使相邻控制点间的长度保持L/N不变,且三点间的线段为直线段,则根据三维
坐标系中点间长度计算公式可得:
由(4)~(9)式可求得P′1(X′1,Y′1,Z′1)和P′2(X′2,Y′2,Z′2),依此方法可算出所有控制点的当前位置坐标。
信号检测过程中,线缆末端控制点跟随探头移动,并通过距离约束牵引前一控制点发生位移,通过逐点的牵引使探头组发生自然的变形。同时,探头组始末两端一般分置于机柜内外,为避免导线与装备模型发生穿透现象,需要在导线和装备模型间建立碰撞检测。导线的空间位置和姿态由控制点决定,其碰撞检测通过离散控制点实现,通过Object Slider模块实现碰撞滑动,当离散控制点与装备模型的距离小于某预设值(发生碰撞)时,离散控制点做出沿着装备模型表面滑动的反应,改变位置坐标,因此距离保持和碰撞检测共同决定离散控制点在运动中的位置坐标变化。
探头组运动过程如图3所示,设导线共有n个离散控制点,其中,首端控制点1与固定接头连接,保持位置坐标不变,其它控制点的位置坐标可变,控制点间长度为l(n-1)n。探头组运动控制过程如图4.4所示,探头沿路径每移动1帧(约30ms),与装备模型进行碰撞检测,若发生碰撞滑动响应,探头坐标做出调整,导线末端控制点n移动到探头位置,若不发生碰撞,控制点n直接移动到探头位置,与探头保持相对位置不变;控制点n发生位移时也需进行碰撞检测,根据检测结果调整位置坐标,控制点n-1在长度l(n-1)n的约束下,受控制点n的“牵引”而发生位置变化,而控制点2即要受控制点3的“牵引”,又要与固定端控制点1保持固定长度l12。通过后一控制点对前一控制点的“牵引”方式,使导线整体发生形态变化。
当探头发生旋转、移动行为时,导线应根据探头的位置变化进行相应的运动控制,以保持探头组的完整性。在Virtools虚拟仿真平台中,设置探头与导线连接点为探头的坐标中心,当探头运动一帧时,运用Move To模块使导线末端点Curve_piont05移动到探头坐标中心,与探头保持相对位置不变,同时,参照探头导线的控制点间长度,通过Keep At Constant Distance模块使控制点从后往前依次发生牵引运动,使导线整体发生自然的柔性变形。运动控制仿真程序脚本如图4所示。
图2 探头组导线运动分析
图4 探头组运动控制仿真程序脚本
探头组是信号检测仿真中获取虚拟装备输出信号的关键部件,建立真实感强的探头组模型,对于确保信号检测仿真过程的真实感具有重要作用。本文依托Virtools平台,构建探头组结构模型,提出探头组运动控制算法,设计了运动控制过程,并基于此编写仿真程序脚本,使探头组模型具备柔性特质,并通过信号检测过程仿真实例验证了建模方法的可行性。
图3 碰撞检测条件下探头组运动控制
[1]刘检华,万毕乐,宁汝新.虚拟环境下基于离散控制点的线缆装配规划技术[J].机械工程学报,2006,42(8):125-130.
[2]万毕乐,宁汝新,刘检华,熊珍琦.虚拟环境下的线缆装配建模技术研究[J].系统仿真学报,2006,18(1):267-274.
[3]魏发远,王峰军,陈新发.含有柔性电缆的复杂系统装配仿真[J].工程设计学报,2007,14(1):25-30.