1、八叉树结构的虚拟动力学检测算法2004 年 7 月第 1l 卷第 4 期控制工程ControlEngineeringofChinaJu1.2004Vo1.11.No.4文章编号:16717848(2004)04 0338041 引言八又树结构的虚拟动力学检测算法陈俊杰.黄惟一(东南大学仪器科学与工程系,江苏南京 210096)摘要:描述了物体间交互的 FV 和 EE 两种基本接触模式 ,在此基础上提出了用八叉树结构来构建虚拟环境的几何模型和动力学模型,给出了不但考虑刚度,而且考虑惯性和阻尼的虚拟仿真机器人与虚拟环境交互的虚拟力检测的一般算法.对于模型空间中的任何形状的实体都可以由八叉树法分割的
2、立方体序列来表示.而其实体的总的虚拟交互力是在 FV和 EE 两种基本接触模式下所分割的所有立方体间的矢量和.实验显示了所给出的算法的可行性.该算法对虚拟现实临场感遥操作机器人系统控制结构和控制算法的分析和设计,特别是系统中人机接口的设计具有重要价值.关键词:遥操作;虚拟现实;检测算法;仿真机器人;八叉树结构中图分类号:TP242 文献标识码:A先进的计算机图形技术能够可靠地提供非常逼真的复杂机器人结构和真实环境的几何视觉图像_】.2. 因此,在基于虚拟现实技术的临场感遥操作机器人系统_3 中,逼真的几何视觉图像对帮助操作者识别从机器人的操作环境是最为有效和最具信息量的.但是,在完成需要从机器
3、人与环境相互作用的任务中,例如装配部件和插销入孔等,有许多需要介入边和面的滑动,挤压等的相互作用.在这种情况下,操作者除了需要逼真的虚拟手和虚拟环境的几何视觉感受外,还需要能够真实地感受到它们之间相互作用的力的大小,这对许多操作任务的完成是极其重要的-.实际上,如果虚拟世界中物体之间的相互作用力能够检测(特别是准确计算) 到,则通过主机械手反馈,操作者就可以真实地感受到这种相互作用力.而对这种相互作用力的检测,已有一些研究者对此做了相关的研究工作,并取得了一定的进展_6.但迄今为止已有的研究几乎所有的技术都有两个方面的不足:一是它们仅可以应用到有限类的物体和机器人环境的特定场合;二是所研究的虚
4、拟力检测算法常常局限在虚拟物体的刚度上,而未考虑其惯性和阻尼.因而,其算法在实际应用场合就具有较大的局限性.本文在已有的研究基础上,采用简单的边界法来描述虚拟仿真机器人(虚拟手),以满足操作者与虚拟世界交,时的实时性和快速性要求,提出采用八叉树恂朱陶建虚拟环境的几何模型和动力学模型,并儿建立了更具全面的虚拟力检测的一般算法.2 虚拟物体的基本接触模式假定模型空间中的虚拟物体由凸多面体组成.而非凸多面体以及曲面物体可以由凸多面体组合而成.两个凸多面体之间有许多形态的接触,但无论那一种接触形态,都可以用两种基本类型的接触模式以及它们的组合来描述.两种基本类型的接触模式分别是面一顶点(Facever
5、tex, 简称 FV)和边一边(Edgeedge,简称 EE)接触.引入了这两种类型的接触模式之后,两个凸多面体之间所产生的任何接触形态都可以用一组这样的接触模式来描述.3 虚拟动力学检测算法1)FV 接触模式动力学检测算法假定在模型空间内某一物体的惯性质量,阻尼系数以及弹性系数分别为 iJjkm,bre和skk,在两物体间发生收稿 Et 期:20040215;收修定稿日期:2004-0330基金项目:国家 863 高技术资助项目(2002AA742048);中国博士后基金资助项目;江苏省高校科学研究指导性计划资助项目(03KJD510163);南通工学院自然科学基金项臼(2002o4)作者简
6、介:陈俊杰(1958 一),男,江苏南通人,教授.博士,主要从事智能机器人传感及控制技术,智能信息处理与仿生智能计算等方面的教学与科研工作;黄惟一(1933 一男.教授,博 i 生导师._第 4 期陈俊杰等:八叉树结构的虚拟动力学检测算法 .339.FV 接触时,物体表面在以物体起始接触点为原点的接触坐标系中的位移,即接触表面的法向变形量为.的大小也是一个物体的顶点通过表面 F 穿透到另一个物体的深度,即 P 到的距离,其方向是由 P 指向 V,并且在接触坐标系中的轴方向,其中,P 是起始接触点,如图 1(a)所示.(b)图 1FV 接触模式作用力若将五变换到模型世界坐标系中的变形矢量为 r,
7、则在发生 FV 接触并仅考虑变形矢量,时,某一物体受到的相互作用力矢量可表达为:,+kbkkmr(1)=,.()式中,kmkb 和.分别是 33 惯性质量矩阵,阻尼系数矩阵以及弹性系数矩阵.实际上,FV 接触产生如下相互作用力:在具有顶点的物体上受到与其相互作用的具有面F 的物体产生的一力 ,而在具有平面 F 的物体上,力一施加在顶点处的终止接触点上,如图 1(b)所示.2)EE 接触模式动力学检测算法仍假定在模型空间内某一物体的惯性质量,阻尼系数以及弹性系数分别为 km 西和 okk,在两物体间发生 EE 接触时,物体表面在以物体起始接触点为原点的接触坐标系中的位移,即接触表面的法向变形量为
8、.的大小也是在 EE 接触后 NE.Nj/E,之间的穿透深度,即起始接触点 p 和终止接触点兄之间的距离,其方向是由 P 指向 R,并且在接触坐标系中的轴方向,如图 2(a)所示.若将变换到模型世界坐标系中的变形矢量为,“则在发生 EE 接触并仅考虑变形矢量,-.时,某一物体受到的相互作用力矢量类似于式(1).EE 接触产生如下的相互作用力:在具有边 E,的物体上,受到与其相互作用的具有边 E.的物体产生的力而在具有 NE 的物体上,力一施加在终止接触点尺上,如图 2(b)所示.(a)(b)图 2EE 接触模式作用力3)虚拟动力学合成检测算法使用上面所描述的两类基本接触模式,每种接触形态的相互
9、作用力就可以明确地表示出:从每一个基本接触模式及其力分布获得的相互作用力的总和来决定任何接触形态的两物体的相互作用力.本文采用简单的边界法来描述虚拟仿真机器人,而由于虚拟环境处于运动的场合相对虚拟仿真机器人要少,并且为了能够较逼真地表示出虚拟环境的立体效果,以及考虑到虚拟环境的动力学建模,本文提出采用八叉树结构来构建虚拟环境的几何模型和动力学模型.八叉树数据结构是一种层次结构的占有空间计数法.其数据结构简单划一,实体间的集合运算,最小距离运算以及物体的体积,质量,转动惯量,阻尼及刚度等物理量的运算易于实现.在绝大多数情况下,由于机器人与环境交互过程产生的各种摩擦力较其交互力要小得多,因此以下的
10、讨论忽略其摩擦力的影响.假定一个物体受到另一个物体作用在仅考虑变形矢量,ryelj 时的合力可由上述所有基本接触产生的相互作用力矢量 vft,和合成来决定.从每一个基本接触合成力矢量,FV,EE,E,E,.,.的方法如图 3 所示.图 3 两虚拟物体交互的动力学检测合成控制工程第 11 卷首先,在模型空间定义两类 Cartesian 坐标系统:在物体交互时的每一个接触点建立原点Dv0:,0 一,Dv在接触点,.,轴垂直于接触平面的接触坐标系 D:.一.】,.zc.,D2-V】,D.i 一.“口口 tF“,DcjV,】,ojyj建立固定在模型空间基座上的模型世界坐标系 y(决定物体的位置和方位)
11、.其次,计算由每一个基本接触产生的力矢量.,E,则在已知物体参数,lb和及变形矢量,r 州的情况下,合力矢量可由下式计算:.:,(2)i=1i=l式中,n,m 分别是接触状态下包含 Fv 基本接触的数目和包含 EE 基本接触的数目;,Fv,聊,Fv,PI,P2,EPm 是接触点.,尸,尸 l,P2,是接触点 .模型空间中物体为完成操作任务而发生交互,其绝大部分场合下总要发生位移(严格地讲,是该物体质心相对于模型空间基坐标系的位移).为了描述由此而产生的虚拟力,假定该位移为,则对一物体有:=qkm2+kb2+ijk_2(3)而在同时考虑变形矢量,川,Iv 和位移 r 啦的情况下,该物体受到的总力
12、矢量.为veq一-,veq+(4)对于虚拟环境而言,它对虚拟手的作用力矢应是.的矢量叠加:=:(+)=,l.+ p:lq=leZr.+(户+户 j+.eplq:1式中,元是虚拟手与虚拟环境交互时的所有 Fv 接触模式的数目;而是其所有 EE 接触模式的数目;是小立方体的总数目.记:4,-me,=,.+,plq:le户=,.+,plq=l8.+(6)则式(5)为=#km,+b+(7),t;P 口 e“e“e 口 e 口 e,FV 和 EE 两种基本接触模式的鉴别和两物体间的最近点搜索可参考文献2.4 实验结果利用虚拟现实临场感遥操作机器人系统,验证了本文所给出的检测算法的可行性.实验中,假设:环
13、境无表面摩擦.机械手与环境的交互发生在机械手终端作用器的顶端,其交互力的方向垂直于环境表面,即环境表面的法线方向.机械手和环境仅产生平移运动,而不产生旋转运动.实验中,操作器与环境的等效动力学参数为m=0.36kg,b=326N?S?m 一,k=l225N?m 一.其实验结果如图 4 和图 5 所示,其中.为主手端到从手端的单程时延.由实验结果可见,所检测到的虚拟与主手 J3fm从手基本一致,说明本文所给出的检测算法是可行的.051015t/S(5)图 4=o 情况下所检测到的力,_,曲线第 4 期陈俊杰等:八叉树结构的虚拟动力学检测算法 ?34l?图 5.-4S 情况下所检测到的.曲线5 结语FV 接触和 EE 接触是物体间两种基本接触模式.本文在此基础上提出用八叉树的数据结构来描述虚拟环境的几何特性和物理特性,并构建其几何模型和动力学模型.由此给出不但考虑刚度,而且考虑惯性和阻尼的虚拟仿真机器人与虚拟环境交互的虚拟力检测的一般算法.实验显示了本文所给出的算法的可行性.该算法对虚拟现实临场感遥操作机器人系统控制结构和控制算法的分析和设计,特别是系统中人机接口的设计具有重要价值.参考文献:234