一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于改进八叉树分割法的砂带磨削整体叶盘碰撞检测方法与流程

2022-02-22 04:40:49 来源:中国专利 TAG:


1.本发明属于砂带磨削领域,特别涉及一种砂带磨削航空发动机整体叶盘过程中的碰撞检测技术。


背景技术:

2.航空发动机作为飞机的“心脏”和“工业皇冠上的明珠”,其制造过程集成了现代工业的诸多高精尖技术,而这其中,整体叶盘在航空发动机的制造和生产中具有举足轻重的地位。整体叶盘(blisk)是航空发动机的关键零件之一,其型面薄而扭曲、流道深而狭窄,进而难以加工,因此其精密加工便成为航空发动机制造领域中的关键所在。砂带磨削(belt grinding)是发动机整体叶盘精密加工常用的方法之一,砂带磨削加工时砂带与叶盘极易发生干涉,进而会损伤价值不菲的叶盘。因此,对整体叶盘的无碰撞砂带磨削研究是至关重要的。
3.碰撞检测(collision detection,cd)在诸多领域中都扮演着十分重要的角色,例如计算机仿真、机器人运动路径规划和机床加工仿真等。碰撞检测需要准确的碰撞位置信息,但是检测的高速性和准确性又是相互矛盾的,为了解决该难题,近年来,许多专家和学者对碰撞检测的效率和准确性进行了大量的研究,其中运动路径无碰撞规划算法、基于表面近似点集的增强几何表示技术、基于质点转换和包围盒相结合的碰撞检测算法、随机方法和自适应柯西变异粒子群算法相结合和最大碰撞盒自动检测和校正碰撞的碰撞算法相继被提出。
4.上述研究成果一定程度上提高了物体碰撞检测的效率和准确性,但是,如何提高复杂现实场景中复杂模型之间碰撞检测的精准性和高效性仍是一个艰巨的挑战。砂带磨削整体叶盘的碰撞检测属于复杂现实场景中复杂模型之间的碰撞检测问题。


技术实现要素:

5.为解决上述技术问题,本发明提出一种基于改进八叉树分割法的砂带磨削整体叶盘碰撞检测方法,该方法兼顾精度与效率,能较好的在精确检测阶段缩小检测的范围和生成包围盒的数量。
6.本发明采用的技术方案为:基于改进八叉树分割法的砂带磨削整体叶盘碰撞检测方法,包括:
7.s1、建立砂带包围盒模型;
8.s2、采用改进的八叉树分割方法对整体叶盘的空间进行分割处理;
9.s3、对步骤s2处理后的整体叶盘建立包围盒模型;
10.s4、根据分离轴定理,判断步骤s1建立的砂带包围盒模型与步骤s3建立的整体叶盘包围盒模型是否相交。
11.建立砂带包围盒模型的过程为:
12.s11、利用pca主元分析法获得砂带点云的三个主方向,质心以及协方差矩阵,通过
求解该矩阵获得其特征值和特征向量,特征向量即为主方向;
13.s12、利用s11中所求得的主方向和质心,将输入点云转换至原点,且主方向与坐标系方向重合,建立变换到原点的点云包围盒;
14.s13、通过输入点云到原点云的逆变换来实现输入点云的主方向和包围盒。
15.步骤s2的实现过程包括以下分步骤:
16.s21、获取整体叶盘各叶片的数据点云,并针对每一个叶片区域构建数据集;
17.s22、采用k-means聚类算法对步骤s21的数据集进行聚类,并找出最优k值;
18.s23、根据最优k值将各叶片区域划分为k个子区域;
19.s24、分别对各子区域采用八叉树分割法进行分割。
20.步骤s22所述找出最优k值,具体包括以下分步骤:
21.s221、记某叶片区域得点云数据集为d={d1,d2,d3,

,dn},初始化k的取值范围,k从取值范围的下限开始取值,从叶片点云中随机选取k个初始中心点μ1,

,μk;
22.s222、分别计算数据集中所有的数据点di到这k个初始中心点的距离,如果数据集中的任一数据点di离初始中心点μj最近,那么该数据点di将被划分到簇cj中,μj∈cj,i=1,2,

,n,j=1,

,k;如果到多个初始中心点的距离相等,则将该数据点划分到任意的簇中;
23.s223、对所有数据点归好类之后,计算每个簇中的均值,作为该簇的新中心点;
24.s224、若各簇的新中心点与其初始中心点重合,则输出当前的k值;否则k取值步骤s221中取值范围的下一个值,然后返回步骤s222。
25.步骤s222中任一数据点di被划分到簇cj须满足以下条件:
[0026][0027]
k的取值范围为2~8。
[0028]
本发明的有益效果:本发明使用k-means聚类算法对传统八叉树分割进行了优化,采用本发明的方法能较好的在精确检测阶段缩小检测的范围和生成包围盒的数量,从而提高了碰撞检测的准确性和减少了碰撞检测所需要的时间;
[0029]
本发明通过软件测试和加工实验分别对所提算法进行了验证,结果表明:在保证零件表面加工精度的前提下,碰撞检测效率有了较大的提升,在实际的砂带磨抛航空发动机整体叶盘工程应用中具有很高的实用价值。
附图说明
[0030]
图1是本发明中的砂带obb包围盒模型建立图。
[0031]
图2是本发明中的八叉树分割示意图。
[0032]
图3是本发明的整体叶盘八叉树分割效果图;
[0033]
其中,(a)为立体图,(b)为俯视图。
[0034]
图4是本发明的单个叶片八叉树分割效果图;
[0035]
其中,(a)为每个体素的最大采样点数为2时叶片八叉树的分割结果,(b)为每个体素的最大采样点数为10时叶片八叉树的分割结果,(c)为每个体素的最大采样点数为50时叶片八叉树的分割结果。
[0036]
图5是本发明改进的八叉树分割方法与传统算法的原理示意图;
[0037]
其中,(a)表示采用传统方法得到的八叉树分割叶盘空间示意图;(b)表示采用本发明的方法得到的改进八叉树分割叶盘空间示意图。
[0038]
图6是本发明的碰撞检测算法流程图。
[0039]
图7是本发明的两个包围体在分离轴上的边长投影和中心点投影示意图。
[0040]
图8是传统八叉树分割法和本发明改进八叉树分割法的分割节点总数对比。
[0041]
图9是传统八叉树分割法和本发明改进八叉树分割法的分割时间对比。
具体实施方式
[0042]
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
[0043]
本发明的方法包括以下步骤:
[0044]
a、建立砂带的obb包围盒模型
[0045]
包围盒是一种求解离散点集最优包围空间的算法,其基本思想是用简单的几何体(称为包围盒)来近似地代替复杂的几何对象,从而达到快速进行碰撞检测的目的。方向包围盒(oriented bounding box,obb)定义为包含该对象且相对于坐标轴方向任意的最小的正六面体,其最大的特点是该包围盒的方向具有任意性,这使得它可以紧密地包围对象。建立obb包围盒模型的关键点是:寻找最小正六面体的最佳方向和确定在该方向上包围盒的最小尺寸。
[0046]
本发明建立砂带obb包围盒模型的过程如下:
[0047]
step1利用pca主元分析法获得砂带点云的三个主方向(x轴,y轴和z轴),质心以及协方差矩阵,通过求解该矩阵获得其特征值和特征向量,特征向量即为主方向;
[0048]
砂带点云通过砂带的三维模型生成,具体的:需要借用pcl库(一个c 点云类库),pcl库中提供了相应的函数来实现模型的读入和点云的生成。
[0049]
step2利用step1中所求得的主方向和质心,将输入点云转换至原点,且主方向与坐标系方向重合,建立变换到原点的点云包围盒;
[0050]
step3通过输入点云到原点云的逆变换来实现输入点云的主方向和包围盒。
[0051]
其次,设砂带点云中的任意一点为pi=(xi,yi,zi)(1≤i≤19499),本发明中所用到的砂带点云数量为19499,故i的取值为1~19499,以pointsset表示点云集合,以c表示协方差矩阵,则有:
[0052][0053][0054]
其中,
[0055]
[0056][0057]
最后根据上述相关理论建立砂带的obb包围盒模型如附图1所示。
[0058]
b、整体叶盘的八叉树分割法:
[0059]
八叉树(octree)是一种递归、轴对齐且空间分隔的数据结构,它将有限的三维体数据等分为8个节点,将空间分成大小相等的立方体既可以加快运算的速度,又可以节省存储的空间。
[0060]
由于整体叶盘的叶片为复杂自由曲面,其在加工轨迹规划中的刀具点具有不均匀性,为了方便进行碰撞检测过程,本发明中采取一种八叉树固定点数的分割方法对其空间进行分割处理;即每个满足条件的树节点包含固定的点数,此为本发明八叉树分割的终止依据;使用该处理方法有利于加工空间的划分,从而能在一定程度上提高砂带与整体叶盘的碰撞检测效率。八叉树分割示意图示见附图2,叶片的八叉树分割效果图示见附图3,整体叶盘的八叉树分割效果图示见附图4。
[0061]
c、基于k-means聚类算法的改进八叉树分割法:
[0062]
为了解决传统方法所带来的诸多不足,采用“分而治之,整体优化”的思想,引入k-means聚类算法对其进行了改进,即首先对整体叶盘的单个叶片进行恰当的点云分类,然根据最优的k值进行八叉树分割处理,最后将八叉树分割结果存入到相应的数据结构中,以进行后续的碰撞检测。本发明以数据对象间的欧氏距离作为k-means算法聚类的依据,其中k代表类簇个数,means代表类簇内数据对象的均值。
[0063]
本发明以数据对象间的欧氏距离作为k-means算法聚类的依据,其中k代表类簇个数,means代表类簇内数据对象的均值。需要指出的是,k值的变化会影响聚类的结果,为了寻找k-means聚类算法的最佳k值,本实施例中取k值的范围为2~8。
[0064]
对于给定的一个包含n个dim维数据点的数据集d={d1,d2,d3,

,dn},其中di∈r
dim
。现在运用k-means聚类算法将该数据集划分为k个簇,我们用c来表示这k个簇的集合,即:c={c1,c2,

,ck}。对于每个划分的簇cj(j=1,2,

,k),在其中必存在一个中心点μj(j=1,2,

,k)。一般地,选取欧氏距离作为簇类各数据的相似性和距离判断准则,设该簇内的各点到其中心点μj(j=1,2,

,k)的距离平方和为s(cj)(j=1,2,

,k),则有:
[0065][0066]
显然,使用聚类算法的目的是为了让式(3)达到最小。
[0067][0068]
本发明应用k-means聚类算法的步骤如下:
[0069]
1)输入聚类的簇数目k以及包含n个dim维数据点的数据集d={d1,d2,d3,

,dn},其中di∈r
dim
,并叶片点云中随机选取k个初始中心点μ1,

,μk;本实施例中dim=3。
[0070]
2)分别计算数据集中所有的数据点di(i=1,2,

,n)到这k个初始中心点的距离,如果数据集中的任一数据点di(i=1,2,

,n)离初始中心点μj(j=1,

,k)最近,那么该数据点di(i=1,2,

,n)将被划分到簇cj(j=1,2,

,k)中,μj∈cj;如果到多个初始中心点的距离相等,则可划分到任意的簇中。
[0071]
3)任一数据点di(i=1,2,

,n)被划分到簇cj(j=1,2,

,k)须满足:
[0072][0073]
4)对所有数据点归好类之后,计算每个簇中的均值,作为该簇的新中心点,此过程也称之为更新簇均值;
[0074]
5)重复步骤(2)(3),直到簇的新中心点与其初始中心点重合时,输出k个簇的数据集合。
[0075]
6)找出(4)中k个簇中数据集合分析结果的最优k值,记为k
opt
,并输出第k
opt
簇的数据集合,此时算法结束。
[0076]
根据每个叶片对应的最优的k值,现将叶片划分为k个子区域,再对每个子区域进行八叉树分割;本领域的技术人员应知:八叉树(octree)是一种递归、轴对齐且空间分隔的数据结构,它将有限的三维体数据等分为8个节点,将空间分成等大小相等的立方体既可以加快运算的速度,又可以节省存储的空间。由于整体叶盘的叶片为复杂自由曲面,其在加工轨迹规划中的刀具点具有不均匀性,为了方便进行碰撞检测过程,本发明采取一种八叉树固定点数(即每个满足条件的树节点包含固定的点数,此为本发明八叉树分割的终止依据)的分割方法对其空间进行分割处理。使用该处理方法有利于加工空间的划分,从而能在一定程度上提高砂带与整体叶盘的碰撞检测效率。
[0077]
本发明的新算法与传统算法的原理示意图示如附图5所示。
[0078]
d、碰撞检测算法:
[0079]
分离轴定理的定义如下:如果在目标物体的三维空间中能找到一条轴,令两个目标物体分别对该轴进行投影,同时在该轴上找不到重合的投影部分,则将这条轴定义为分离轴。
[0080]
设oa和ob是空间中两个目标物体的层次包围体模型,本发明取平行于oa包围体x方向的一条直线作为两者的分离轴。图6中a1,a2,a3和b1,b2,b3分别为oa和ob包围体正交边的半边长;和分别为其三维坐标轴空间矢量;ca和cb分别为其中心点;n为分离轴矢量(其不一定为单位向量)。本发明将oa和ob各个顶点投影在分离轴n上,ca和cb在分离轴n上的投影连线构成的矢量长度为l。即:
[0081][0082]
式中,
[0083][0084]
本领域的技术人员应知层次包围体模型指的是包含多层(或多个)包围盒(体)的模型,这里的定义是泛化的。由于本发明建立砂带的obb包围盒只有一个(或一层),而整体叶盘的obb包围盒有多层(多个,八叉树分割之后又进行了包围盒的建立)。所以砂带的obb包围盒模型属于层次包围体模型,它是层次包围体模型的特例。
[0085]
根据如图7所示的投影关系,可得到两个包围体在分离轴上的边长投影和中心点投影,从而得到正交边投影的半边长度和两个中心点投影连线的长度。若中心点投影ca和cb的连线长度l大于对应的正交边投影半边长度之和,即ra rb,则表明两个包围体没有相交,
反之则相交。
[0086]
l》ra rbꢀꢀꢀꢀꢀ
(7)
[0087]
式中ra与rb分别为oa和ob的中心点及顶点在分离轴上的投影连线长度:
[0088][0089][0090]
联立以上两式,代入式(7),可得:
[0091][0092]
若公式(10)成立,则表示两个包围体没有相交,反之,则表示相交。
[0093]
最后,给出本发明的碰撞检测算法流程图如附图6所示,包括以下步骤:
[0094]
(1)首先,输入叶片的三维数据点集;
[0095]
(2)其次,运用本发明的改进八叉树分割法进行处理;
[0096]
(3)然后,判断砂带包围盒与整体叶盘层次包围体的叶子节点是否相交;
[0097]
(4)最后,根据是否相交得出是否碰撞的结论。
[0098]
本发明提供将最优k值的引入剔除了八叉树分割的冗余空间,可以缩小检测范围,同时减少了生成包围盒的数量。
[0099]
本实施例对单个叶片进行了实验,得到如表1-2与图8、图9所示的结果。传统八叉树分割法和改进八叉树分割法的分割节点总数对比见表1,表1对应的对比图如图8所示;传统八叉树分割法和改进八叉树分割法的分割时间对比见表2,表2对应的对比图如图9所示;结果表明:在保证零件表面加工精度的前提下,本发明的方法碰撞检测效率相比于现有技术有了较大的提升。
[0100]
表1传统八叉树分割法和改进八叉树分割法的分割节点总数对比
[0101][0102]
表2传统八叉树分割法和改进八叉树分割法的分割时间对比
[0103][0104]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献