基于包围盒的机床碰撞检测系统算法研究.pdf
基于包围盒的机床碰撞检测系统算法研究 许 荣① 张为 民① ② ① 同济大学机械工程学院, 上海 2 0 1 8 0 4 ; ② 同济大学 中德学院, 上海 2 0 0 0 9 2 摘要 碰撞检测是数控机床防碰撞系统的核心技术 , 基于包围盒的碰撞检测算法是一种比较有效的碰撞检 测算法。介绍了基于 OB B层次包围盒算 法开发 的数控机床 碰撞检测 系统 , 并针对机床 模型 的特 点 。 提出了算法的一种优化方法。 关键词 数控机床碰撞检测层次包围盒算法优化 中图分类号 T G 6 5 9 文献标识码 A Re s ear c h o n c o l l i s i on de t ec t i on s y s t em o f ma c hi n e t oo l b as e d on b ou n di n g v ol ume al g or i t h m XU Ro n g ① ,ZHANG W e i mi n ①② C o ll e g e o f M e c h a n i c a l E n g in e e r i n g , T o n 6 i U n i v e r s it y , S h a n g h a i 2 0 1 8 0 4 , C H N ; S i n o - G e r m a n C o l l e g e , T o n i U n i v e r s i t y ,S h a n g h a i 2 0 0 0 9 2 。C H N Abs t r ac t Co l l i s i o n d e t e c t i o n i s t h e c o r e t e c h n o l o g y o f t h e a n t i c o l l i s i o n s y s t e m f o r NC ma c h i n e t o o 1 .Co l l i s i o n d e - t e e t i o n a l g o r i t h m b a s e d o n b o u n d i n g v o l u me hi e r a r c h y i s a n e f f i c i e n t me t h o d.Th i s t e x t i n t r o d u c e s a l l e w c o l l i s i o n d e t e c t i o n s y s t e m o f NC ma c h i n e t o o l ba s e d o n OBB b o u n di n g v o l u me h i e r a r c hy a l g o rit hm a nd p o s t a me t h o d t o i mp r o v e t he a l g o r i t h m di r e c t e d t o wa r ds t h e f e a t u r e o f NC ma c h i n e t o o ] . Ke y wo r d s NC Ma c h i n e T o o l ;C o l l i s i o n De t e c t i o n;B o u n d i n g V o l u me Hi e r a r c h y ;A l g o r i t h m Op t i mi z a t i o n 近年来 , 随着虚拟现实 、 计算机仿真等技术的蓬勃 发展 , 对碰撞 检测的实时性 和精确性要 求逐渐提高。 在数控机床进行加工前 , 刀具与夹具 以及工件的碰撞 需要运用计算机仿真技术进行在线实时碰撞检测 , 防 止加工中由于碰撞对机床造成损 害 。所 以实时碰 撞检测技术成为机床在线仿真当中的关键技术。随着 机床三维几何模型形状越来越复杂 , 碰撞检测成为一 件很耗时的工作 , 因此 在尽可能保证实时性 和场景真 实性的前提下 , 提高碰撞检测算法的效率, 成为研究人 员面前一项迫切的任务 , 从而使得实时碰撞检测再次 成为研究 的热点。本文主要介绍了基于层次包围盒的 碰撞检测算法在机床碰撞检测系统中的应用并对算法 提出 了优化 。 1 碰撞检测算法概述 目前 , 国内外许多学者对实时碰撞检测技术进行 了广泛深入的研究和探索 , 提出了距离跟踪法、 空间分 解法、 时空包围盒法和层次包 围盒法等许多检测算法。 其中, 主要有空间分解法和层次包围盒法两类算法。 空间分解法首先将对整个空间进行体积相等的网 格化剖分, 然后仅仅对 同一网格 中的几何对象进行碰 撞检测 。典型的空间分解法有八叉 树法和二叉树 法 。 而如今虚拟现实技术 中比较通用的是层次包围 盒法 , 其核心 思想是使 用 体积略大但几何特性简单 的包围盒来近似描述复杂 ⑨ 囫 S P HER E AABB OBB 8 一 DOP 图 1 包围盒类型 的对象 , 通过构造树状层次结构可以不断逼近真实模 型的几何形状 , 最后通过对包 围盒的相交计算来 实现 几何物体的碰撞 检测。典型方法有轴 向层次包 围盒 A x i s - A l i g n e d B o u n d i n g B o x e s , A A B B 、 方向层次包 围 盒 O ri e n t e d B o u n d i n g B o x e s , O B B 、 包 围球 S p h e r e 和离散方 向多面体8 一 D i r e c t i o n O r i e n t a t i o n P o l y t o p e s , 8 一 D O P 等 , 如图 1所示。 这两类算法都使用 了层次结构模型, 其思想都是 “ 高档数控机床与基础制造装备” 科技重大专 . 2 o o g z x o 4 ool 一 0 7 2 0 2 ; 国家 8 6 3计划重点项 目 2 0 0 7 A A 0 4 2 OO2 基金 ; 蒂森克虏伯基金 9 0 1 等 z u I 毕 幂 朋 通过减少需要相交测试的对象或基本几何元素的数 目 来提高碰撞检测 的效率。空间分解法 由于存储量大 、 灵活性差 , 一般适用于稀疏的环境中较 均匀分布 的几 何物体之间的碰撞检测 ; 而层次包 围盒 方法则应用 比 较广泛 , 尤其适用于复杂环境 中的碰撞检测 。 2 机床碰撞检 测系统 中包 围盒算 法及其改进 2 . 1 OB B方向包围盒的定义及检测方法 包围盒 O B B被定义为包含该对象且相对于坐标 轴方 向的任意最小 的正六面体 。它的最大特点是方 向 任意性 , 可以根据被包 围对象 的形状特点尽可能紧密 地包 围对象 。但是关键 在于寻找包 围盒 的最佳 方 向, 然后确定在该方 向上包围盒的最小 尺寸。假设 模 型中的基本几何元素是三角形 , 设第 i 个三角形的顶 点矢量为P 、 q i 和 r l , 则均值 和协方差矩阵 C计算式 为 塞 q i “ , 1 ∑ p q l r , 1 ≤ , ≤3 1 式 中 n为包 围盒所包围的三角形面元的数 目; 确定 了包围盒的中心位置 ; p ~ p - i x , q ~ q - t z和 r ~ r 是所包围区域 内的向量 。协方 差矩 阵 C的三个特征 向量是正交 的, 正规化后可作为一个基底 , 确定包 围盒 的方向轴 , 最后将所有的顶点投影到这条方向轴上 , 计 算出在轴上的最大值 和最小值 , 以此来 确定包 围盒 的 大小。为了快速地判断相交性 , O B B检测使用分离轴 方法进行检测 。在空 间中 , 若存 在一个 向量 , 使 两个 O B B在该 向量上 的投影不相交 , 那么这个向量即为一 条分离轴 。若一对 O B B间存在一条分离轴 , 那么可判 定这两个 O B B是不相交的。一对 O B B包围盒之 问最 多有 l 5条潜在的分离轴 , 分别是每个 O B B的 3个面 方向有 3 x 2 6条潜在分离轴 , 每个 O B B的 3条边方 向的两两叉乘有 3 x 3 9条潜在分 离轴 , 一共是 1 5条 潜在分离轴。对每一条潜 在分离轴分别采取区间检 测方法 , 计算 出包 围盒八 个 顶点 的坐标值 、 每个顶 点在分离 轴上 的投影 , 比 较他们 的大小 。方法如 图 2。 图2 OBB包围盒 重叠 测试 假设两个 O B B分别为 和 B, 0 。 和 6 表示 、 曰边 长的一半 , 4 和 B 表示 A、 B轴 向的单位 向量 i 1 , 2 , ZU I錾 浮 ; 青 ; I 平 0 删 D e s ig n a n d R e s e a r c h 设计与研究 3 ; T是 A、 B 中心点的距 离, , J 是当前的分离轴向量 。 有如下公式 2 3 3 I l y l a , A . L I I b , B . . L l _一 £ l ‘ 1 2 如果满足前者大于后者 , 那么两个物体不相交 ; 否 则按此公式继续计算 4、 B在其他 1 4条分离轴上的投 影 。在最多进 行 1 5次 计算 之后如 果还不 能把 两个 O B B分开 , 可 以判定 这两个 物体 是相交 的。由此 可 见 , 创建阶段和比较阶段都很复杂 , 过程包括 了大量的 运算 。 2 . 2 基于 OB B包围盒算法的机床碰撞检测系统 采用基于层次包 围盒树的碰撞检测算法 , 在机床 上建立有效的碰撞检测系统 , 实现实时加工碰撞 的检 测 。 首先是机床 、 刀具和工件的实体建模 阶段。即准 确描述机床 、 工件和刀具的运动状态 , 在 O p e n G L软件 环境下建立模型 , 实现机床模型和工件模 型的三角面 片化 , 为后面层次包围盒二叉树建模做准备 , 另外实现 G代码的解析工作 , 将 G代码解析后生成指令来驱动 模型运动。 其次在机床几何模 型 基础 上建 立 O B B包 围盒 树模 型, 实 现 碰 撞 检 测。 结合 机床 的结构 , 铣 刀头 运动方式 转角范围 、 刀具 尺寸及形状 等 以及 工件 的建模来确定 可能发生碰 图3 虚拟环境中的机床效果 图 撞的系统部件 , 对其进行包围盒树 的构建 , 运用分离轴 理论 , 实现基于包 围盒树算法的碰撞检测。另外 , 应用 西门子的 O E M开发包 , 实现碰撞检测系统与机床数控 图4 机床 碰撞检测 系统HMI 界 面 91 设计与研究 D e s ig n a n d R e s e Q r c h 系统的嵌入集成。图 3为虚拟环境 中应用 O p e n G L建 立的机床三维几何模型 ; 图 4为机床碰撞检测系统的 显示 界面 。 2 . 3包围盒算法优化 由于 O B B包围盒 的中心位置是各三角形面片顶 点简单的平均 , 当模型存在弧度或凹凸时 , 构成模型表 面的三角形面片尺寸就会不均匀 , 有 的尺寸大而分散 , 有的尺寸小且密集 , 这样计算 出来的包 围盒整体就会 向着三角形尺寸小且密集 的部分偏移。这种情况对最 后碰撞检测 的结果存在不利影响 , 可能会 出现误判。 因为有一部分三角形 面片在包围盒 的外面, 同时包 围 盒有一个与包围盒平行 的较小的长方体空隙, 这样就 使得包围盒紧密性变差 , 而且会使构造 的包围盒树不 平衡 , 影响到碰撞检测 的效 率。尤为严重的是存在某 些情况, 即那些在包围盒外面的三角形 已经与其他物 体接触 了, 但包围盒检测时没有检测出接触 , 于是错误 地断定所包围的三角形不接触 , 导致错误的检测结果 。 此外 , 这对协方差矩阵也有影响 , 导致包围盒方 向向量 的计算不准确 , 对包围盒 的紧密性造成影响。这样就 需要对传统的 O B B包围盒算法提出优化的解决方法。 优化方法是给每一个三角形加权 , 选择三角形的 面积作为权值。设第 i 个三角形 的面积用 s 表示 , 包 围盒所包围的物体表面积用 s表示 , 第 i 个三角形 的 中心用 厅 ‘ 表示 , 包 围盒所包围的三角形带权 中心用 n 表示 , 则公式如下 Js S S _一 n‘ n S n .一 协方差矩阵 C的元素为 C \ } a 口 耋 [ S 1 9 n p 4 5 3实验 测试 实验环境是在西 门子 8 4 0 D数控系统 的机床碰撞 检测系统中, 实现 了本文优化 的 O B B碰撞检测算法。 分别测试 了两个场景 的碰撞检测 的时间 , 两个场景 中 机床模 型分 别在不 同G 代 码 的驱 动下 , 完 成碰撞 检 92 测。场景 1中为圆柱面刀具与长方体刀架的碰撞 , 场 景 2为圆环面刀具与机床尾架的碰撞 。图5为碰撞发 生时机床的响应结果 , 图 6为两种算法 的耗时结果对 比 。 图5 碰 撞检测情 况 4结语 图 6算 物体 碰 撞 O B B层次包围盒广泛 应用于数控机床的碰撞检测中, 且紧密性较好 , 但存在 一 些误检测情况 。本文根据 O B B的算法特点 , 提出并 实现了优化的 O B B碰撞检测算法 。实验结果证 明, 本 文的优化算法能较大幅度地提高碰撞检测的实时性 能, 且效果明显 。 参考文 献 [ 1 ] 许玮, 张为民, 金致富. 基于西门子 8 4 0 D数控系统的防碰撞技术研 究 [ J ] . 制造技术 与机床 , 2 O L O 1 1 3 3 3 6 . [ 2 ] 何伟 , 李勇 , 苏虎. 碰撞检测 中的包 围盒方法 [ J ] . 重 庆工学院学报 , 2 0 0 7 1 2 . [ 3 ] 龙春 国, 史耀耀 , 程刚 , 等. 基于 O p e n G L五 轴联动数 控仿真 系统碰 撞干涉检验实时仿真技术及算法研 究[ J ] . 机床与液压 , 2 0 0 6 2 . [ 4 ] C h r i s t e r E r i c s o n . R e a l t i m e c o l l i s i o n d e t e c t i o n [ M] . E l s e v i e r S c i e n c e L t d..2 0 0 5. 第一作者 许 荣 , 男, 1 9 8 6年 生 , 硕 士研 究生 , 主要 研 究方 向为机械 制造及 其 自动化 。 编辑谭 弘颖 收稿 日期 2 0 1 1 0 4 0 2 文章编 1 1 0 8 2 5 如果您 想发表对本文的看法. 请将文章编号填入读者意见调查 表中的相应位 置。 等 ⋯ I 月 O