虚拟环境下基于力反馈的钉孔装配

2011-03-16 07:41崔艳波王彤宇
关键词:力反馈销钉虚拟环境

崔艳波,王彤宇

(长春理工大学 机电工程学院,长春 130022)

为了满足最新技术,减少开支的需求和保护资源日益增长的需求,很多公司为他们的产品争取一个更好更廉价的设计。基于这种思想,虚拟环境作为一个很有效的工具应用在生产设计的前沿。然而,当前大多数CAD软件包都存在缺点:缺乏感知装配或者机器的实际运行时所受力的能力。因此,消除CAD和制造之间的隔阂是现代和将来机械设计的关键。若在CAD功能中添加一个力反馈装置,允许工程师对于复杂装配的附加洞察,通过触觉将进一步提高设计质量。从而使得一个简单的电脑变成一个虚拟装配生产线,去观察和感觉产品是如何从设计到制造到装配。这将使问题在设计阶段就可以被及时发现、得以纠正,通过触觉界面或虚拟触觉就可以实现。而这项工作的重点是创建一个应用程序允许用户完成虚拟装配任务,本文就以钉孔装配为例展开研究。

1 力反馈系统

力反馈系统可以看作是一个有人参与的双向闭环系统。如图1、图2所示,操作者操作力反馈设备PHANTOM的末端手柄,控制设备接口点(HIP,Haptic Interface Point)在设备工作空间中运动,HIP的位置如图2中的P点所示。空间匹配模块将HIP的位姿通过空间匹配算法映射为虚拟环境中的代理(proxy)点的位姿,代理点如图2中Q点所示,因此代理点的位姿可以随HIP的位姿更新;力的渲染模块根据虚拟环境信息和代理点与虚拟环境的交互状态,以不低于每秒1000次的运算速度计算反馈力,并将反馈力发送给力反馈设备,力反馈设备根据要输出的反馈力的大小和方向驱动电机转动,把要输出的反馈力转化为机械能,从而使操作者能够感受到反馈力,完成虚拟环境中的“力的渲染”。

图1 力反馈应用系统结构图Fig.1 Force feedback application system structure drawing

由图1可以看出,力反馈应用系统主要包括两个功能模块:空间匹配模块和力的渲染模块。空间匹配模块的功能是将PHANTOM的HIP的位置和姿态匹配到虚拟空间中代理点的位置和姿态,从而使代理点的位置和姿态随HIP的位置和姿态一起改变。如果当前代理点拾取某个虚拟模型,则虚拟模型的位姿也可以随代理点的位姿一起改变,如图2所示。力的渲染模块的功能是根据代理点与虚拟环境交互状态实时计算反馈力和反馈力矩,并将其发送给PHANTOM输出。

图2 PHANTOM结构图和交互原理图Fig.2 PHANTOM structure drawing and interactive schematic diagram

2 力反馈装置PHANTOM的结构和原理

如图2所示,PHANTOM系列的力反馈设备是上世纪90年代初由美国麻省理工大学设计的,它有6个自由度的位姿输入和3个自由度的力反馈,其结构类似于6自由度关节型机械手臂。当操作者移动PHANTOM末端的手柄时,PHANTOM各个关节和手臂随末端手柄一起协同运动。

PHANTOM力反馈设备具有两个基本功能:位姿输入和力的反馈。这两个基本功能是由6个关节机构实现的,其中1、2、3关节中的每个关节上有一个直流电机和一个编码器,这三个直流电机协调工作决定了反馈力的大小和方向。计算机通过读取关节1、2、3上的编码器数值和PHANTOM臂A、B、C的固定长度计算出HIP在PHANTOM坐标系的位置。4、5、6关节组成了一个万向节,决定了HIP的姿态(即旋转量),同样4、5、6关节的每个关节上也有一个编码器,计算机通过读取编码器的数值,获得HIP在PHANTOM坐标系的姿态。

3 程序的开发

OpenHaptics是sensAble公司提供的一个开放式力觉/触觉渲染软件设计平台,可以用来与程序中的PHANTOM装置相结合。它不仅实现了一些基本的力觉/触觉渲染算法和空间匹配算法,而且包含了一些面向底层操作的应用程序接口函数(API,Application Programming Interface),可以实现计算机应用程序与PHANTOM之间的双向通信,因此用户可以开发各种基于 C语言或者 C++语言的力觉/触觉反馈应用程序。本文结合 OpenHaptics、计算机图形学、用户自定义界面和模拟触觉装置,开发一种基于C++语言的力反馈应用程序。

OpenHaptics包含两个函数库,一个是HLAPI(High-levelAPI)函数库,另外一个是HDAPI(Haptic Device API)函数库。本文在OpenHaptics设计平台上,展开基于力反馈的虚拟装配技术研究。Open-Haptics可以将HDAPI函数库和HLAPI函数库一起使用。HLAPI为快速的将触觉执行到已存在的程序中,对该装置进行了高水平控制。因此应用程序可以使用HLAPI中所提供的力觉/触觉渲染算法;同时 HDAPI为了更进一步的工作和力的渲染,提供了低水平触觉信息,又可以使用 HDAPI函数库实现自定义功能,从而简化和加速应用程序的设计过程。如果需要的话,在 HDAPI中用户能够为PHANTOM创建它们自己的弹簧阻尼系统。

图3 应用程序层次结构Fig.3 Application program hierarchy structure

基于 OpenHaptics的应用程序层次结构如图3所示,共包含四层:

(1)最下面一层是硬件层,即力觉/触觉反馈设备PHANTOM层。

(2)硬件驱动层指 PHANTOM 的驱动程序,它可以实现应用程序与PHANTOM的双向通讯,例如读取 PHANToM 各个关节的旋转角度,读取代理点、HIP点的位置,将反馈力转化为对各个电机的驱动等。

(3)OpenHaptics层提供一些C语言接口函数,包含HLAPI函数库和HDAPI函数库,实现了一些与力觉/触觉渲染有关的命令集合。

(4)力觉/触觉应用层是指与具体应用有关的各种模块,这些模块集成在一起,成为一个实现特定功能的应用程序。

通常一个基于OpenHaptics的应用程序包含三个线程:主线程、力觉/触觉渲染线程和碰撞检测线程。主线程主要完成图形渲染,并为碰撞检测线程提供需要进行力觉/触觉渲染的面片信息;碰撞检测线程确定PHANTOM代理点与虚拟物体发生碰撞的位置,为力觉/触觉渲染线程提供了发生碰撞的面片集;力觉/触觉渲染线程读取力觉/触觉反馈设备HIP的物理位姿(位置和姿态),并通过空间匹配模块把HIP的位姿转化为代理点在虚拟场景中位姿,从而根据虚拟物体的位姿和物理属性计算反馈力的大小和方向,并把计算结果发送给力觉/触觉反馈设备输出。

图4 HLAPI库的主线程框架Fig.4 HLAPI library main thread frame

基于OpenHaptics HLAPI库的主线程框架如图4所示,首先是OpenGL初始化和HLAPI初始化,经过空间匹配后程序进入主循环。主循环主要完成了力觉/触觉渲染事件的处理、图形渲染和提供需要进行力觉/触觉渲染的面片信息。由于主线程提供的进行力觉/触觉渲染的面片通常是整个虚拟场景中的面片,因此当场景中面片很多时,力觉/触觉渲染的负荷会很大,从而影响系统的稳定性。

总之,HLAPI用来以触觉和图形方式来渲染物体,而 HDAPI用来传递自定义的力给 PHANTOM。另外,PHANTOM还提供了程序中的两个主要思路,他们能够从回叫信号中发送和接收信息。在程序中,用户思路成为主要思路,在这里创建了所有的渲染环境。碰撞思路决定场景中的哪个物体与触觉点发生交互。

OpenHaptics工具通过HDAPI中的不同时间的回收信号来完成,这样能够从PHANTOM中获得力的信息,在用户思路中,是以1000Hz速率的安全方式来运行的。HLAPI用可用的路由来渲染销钉、孔和填充物来进行触觉力反馈和碰撞。碰撞思路也是在HLAPI中利用100Hz速度的V-Collide来检测碰撞。通过对碰撞思路创建回收信号,V-Collide开始在场景中进行钉和孔的碰撞检测。

钉和孔的力是由力的方程决定的,该力是在HDAPI回叫信号时被访问的,基于接受碰撞的类型,把计算的力传递出去。通过该点力开始回收信号,并且被用户传递给PHANTOM装置,图5显示了该结构的示意图,能够看出只有 HLAPI才能把回收信号的碰撞库交互相结合,防止通过以1000Hz速度运行的 HDAPI在用户思路中关于碰撞检测的过程减速。通过这种方法,钉—孔装配可能发生力的反馈。

图5 在OpenHaptics传递力给PHANToM的结构图Fig.5 Transmission strength to the PHANTOM structure drawing in the OpenHaptics

4 力反馈实验

进行实验是要了解参与者能否通过应用程序来区分不同直径和润滑的销钉,目的是证明该程序在虚拟环境中利用触觉论能用来模拟装配条件。

选择10个参与者来完成这项试验,同时为每个参与者进行实验的说明。所有的实验都是在Win-dowsNT2000操作系统的电脑上完成的。电脑配置为:PentiumⅢ900 GHz的双核处理器,512M内存。PHANTOM通过并行接口连接到电脑上,以提供交互作用。

4.1 直径变化的测验

实验要求用户将四种不同直径尺寸的销钉插入孔中十五次。目的是求测得的平均值,它们是力、时间、销钉和孔的碰撞次数。销钉直径分别为7.4cm、6.9cm、6.4cm、5.9cm。孔的直径为常量7.5cm。每个参与者随机分配四种销钉,通过特殊定制的界面来进行这项实验。润滑油的值为常数I=0.7,相当于=0.3。完成实验后,根据力由大到小排列。

每一个参与者使用 PHANTOM 指针的角度不同,导致产生销钉不同角度误差,因此有不同的力。实验允许销钉在程序中有固定的初始角度误差,不同销钉的实验可以相容。由不同角度误差组成的观测是程序应该运行的。因为小的角度误差才能产生小的力。这也证明了程序内部的运算是正确的。

4.2 润滑油变化的测验

这项实验与第一部分是相同的,只是本实验中给用户提供的润滑油的顺序是随机的,并且销钉的直径是常量。为此,四种孔,四种水平的润滑油是0.3、0.5、0.7和0.9。这些水平的润滑油被描述成摩擦系数的反函数。因此,增加润滑油不一定降低摩擦系数。同样的,所有的销钉被插入15次后,要求参与者将它们按力由大到小排列。该部分实验开始证明润滑油是否能被区分和润滑油是否能应用到虚拟装配程序中。

5 实验结果分析

5.1 变化直径的结果

对于不同直径的钉子,十个参加者中的七个能辨认四个钉子的正确顺序。所有参加者能在两个极端的情况(直径7.4 cm和5.9 cm的钉)进行区分。

图6以图形的格式描述钉子分辨的情景。可以看出,所有的10个参与者都能够区分直径为5.9cm和6.4cm、6.4cm和7.4cm以及6.9cm和7.4cm的钉子。大多数发生的错误是,三名参与者错误的拾取了6.4cm的钉子比6.9cm的钉用了更大的力。从结果来看,可以说应用程序可以由用户用于区别不同直径的钉子。

图6 区分不同直径的实验结果Fig.6 Distinguish different diameter of experimental results

5.2 不同的润滑结果

这个实验中10个参与者中的3个可以正确识别在作用力基础上四个钉子的顺序。全部十个参与者能准确地辨认最多的润滑和最少的润滑的极端情况 (l=0.9 和 l=0.3)。

图7 区分不同润滑实验的结果Fig.7 Distinguish different lubricating of experimental results

从图7中可以看出,十个参与者都能正确的从l=0.3的钉子中辨别出 l=0.7的钉子。90%的参与者能从l=0.5的钉子辨别出l=0.9的钉子。80%的参与者能分辨出l=0.7和l=0.5的钉子以及l=0.5和l=0.3的钉子。最糟糕的情况是,钉子具有最多润滑油的情况(l=0.7和 l=0.9)只有70%的参与者能够辨别这种关系。

结果发现,不同的润滑效果似乎是不能作为界定那些不同直径的原因。首先,对不同的润滑所遇到的插入力量外形,不管是什么润滑,都是在同一个位置发生两点接触的。其次,力的最大值出现在两点接触期间,在每个润滑案件的同样深度。因此,除了短时间感受一个不同的力的高峰值之外,每个场景的装配感知都是相同的。通过从参与者那里获得的反馈信息,所有人都认为润滑方案要比直径案例困难的多。不过,从实验的润滑部分取得的成果可知,实际上润滑是能够被模仿的。成功率显示,在带有力反馈的虚拟环境中,用户可以区分不同层次的润滑。

5.3 应用中获得的作用力外形图

两种情况下得到的力的外形图如下所示。图8是直径改变下的力的外形图,图9是润滑改变条件下的力的外形图。

图8 随直径改变的力的外形图Fig.8 Along with diameter change force outline drawing

从图 8可以看出,力的最大值发生在直径为7.4cm的钉上。钉子具有最小的光洁度是显而易见的。从这点开始,力的最大值随着钉子直径的减小而减小。同时随着直径的减小,两点接触发生的位置就越深,例如7.4cm直径的钉子第一次发生两点接触大约在深度3cm处。而直径为5.9cm的钉子是在15cm左右的深度发生两点接触的。

图9与图8情形相似,两种情况下两点接触发生在同一深度7cm处。润滑最少的钉子会获得较大的力而后从那里下落。这种下落发生在开始阶段,表明基于润滑条件倒角通道是不同的。

图9 根据不同润滑的力的外形图Fig.9 Along with lubricating change force outline drawing

6 结论

从前述的实验结果可以看出,触觉装配起到了一定的作用。设计工程师就可以很好的感知产品装配时所受到的力,能够比较真实的感受和观察产品的装配过程,这就使得产品设计者在设计阶段初期就能够及时发现产品自身存在的问题,并能够及时的进行纠正解决,从而大大缩短产品的开发周期,使产品能尽早的投入市场。

[1]宁汝新,郑轶.虚拟装配技术的研究进展及发展趋势分析[J].中国机械工程,2005,16(15):1398-1404.

[2]王爱民,戴金桥.人机交互中的力/触觉设备进展综述[J].工业仪表与自动化装置,2007(2):14-18.

[3]焦念东,刘连庆,田孝军,等.具有力觉与视觉反馈的交互式纳米操作系统[J].机器人,2006,28(3):279-284.

[4]刘检华,姚裙,宁汝新.基于虚拟装配的碰撞检测算法研究与实现[J].系统仿真学报,2004,16(8):1775-1778.

[5]杨润党,武殿梁,邓华林,等.虚拟环境下产品装配技术的研究与实现[J].计算机集成制造系统,2004,10(10):1220-1224.

猜你喜欢
力反馈销钉虚拟环境
纵连板式轨道-销钉体系动力响应及参数影响分析
更正
前庭刺激对虚拟环境三维空间定向的影响及与空间能力的相关关系
如何通过虚拟环境有效管理Python第三方库
基于模糊神经网络的电液力反馈伺服控制技术的研究
一种三维力反馈训练仿真控制系统设计
锅炉膜式壁管屏销钉自动焊工艺及系统开发
基于磁流变液的线控转向力反馈装置探究
虚拟环境下大数据智能并行聚类方法研究
力反馈技术水墨扩散仿真