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

基于机械臂的复杂曲面零件重建方法

2022-06-05 05:43:25 来源:中国专利 TAG:


1.本发明涉及一种零件模型重建方法,尤其涉及一种基于机械臂的复杂曲面零件重建方法。


背景技术:

2.随着材料科学与装备制造业的发展,高性能材料和复杂薄壁结构件(叶片,螺旋桨等等)在金属零件中所占比重逐步增大。这类零部件普遍存在生产周期长、制造成本高等特点,在其出现损伤时,直接更换会大大增加零件成本,延长生产制造周期,因此,对高性能材料零件和复杂薄壁结构件进行损伤修复具有十分现实的意义。
3.为了修复零件,就需要精确且完整地获取零件表面点云信息,现有技术中,大多采用手持式激光扫描仪获取复杂零件表面点云,采用商业软件进行表面重构。这样的方案,有两个明显的缺陷:手持式扫描仪需要贴相当数量的标签点,且扫描结果不具备零件的位置信息,因为无法确定零件上的那些区域已经扫描过,经常造成零件上很多区域重复扫描,造成扫描点云太过密集,生成文件过大,增加后期处理负担,另外也容易出现部分区域没有扫描到,造成得到的零件模型文件部分区域缺失;后期需要在机器人坐标系下进行标定,而且在后期标定时准确性难以保证,基于上述,现有技术均不能准确获取零件的表面点云信息。
4.因此,为了解决上述技术问题,亟需提出一种新的技术手段。


技术实现要素:

5.有鉴于此,本发明的目的是提供一种基于机械臂的复杂曲面零件重建方法,能够有效避免在对扫描目标扫描时出现漏扫或者重复扫描,从而避免出现扫描对象部分区域点云确实,而且还能够提高扫描效率,并且能更有效保证最终扫描结果的精确性。
6.本发明提供的一种基于机械臂的复杂曲面零件重建方法,包括以下步骤:
7.s1.将激光扫描仪设置于六轴的机械工具手末端形成手眼系统,并对手眼系统进行标定;
8.s2.确定激光扫描仪对扫描目标的扫描顺序以及最优扫描轨迹;
9.s3.控制激光扫描已按照步骤s2确定的扫描顺序以及扫描轨迹获取扫描目标的点云数据,并对点云数据进行拟合重建。
10.进一步,步骤s1中,对于激光扫描仪进行标定具体包括:
11.s11.以平面棋盘格作为标定板,并通过激光扫描仪获取标定板的图像;
12.s12.建立手眼标定模型:
13.建立标定模型:
14.ax=xb,其中,a和b表示变换矩阵,x为所求的位姿矩阵;
15.16.其中,btg为机器人工具手末端在机器人坐标系中的位姿矩阵,ct
t
为相机在标定板坐标系下的位姿矩阵,btg和ct
t
中的上标1和2分别表示相机的两个不同的视角且该两个矩阵基于初始的相对位置矩阵t进行确定;
17.将矩阵a、矩阵b以及矩阵x以位姿矩阵表示:
[0018][0019]
ra为矩阵a的旋转矩阵,ta均为矩阵a的位移矩阵;
[0020]
rb为矩阵b的旋转矩阵,tb均为矩阵b的位移矩阵;
[0021]rx
为矩阵x的旋转矩阵,t
x
均为矩阵x的位移矩阵;
[0022]
将标定模型以方程组表示:
[0023][0024]
将旋转矩阵转化为旋转向量:
[0025][0026]
对旋转向量进行归一化处理:
[0027]
其中,ra为矩阵a的旋转向量,rb为矩阵b的旋转向量,na为旋转向量ra的模,nb为旋转向量rb的模;
[0028]
计算修正的罗德里格斯向量:
[0029][0030]
计算初始旋转向量p
x
':
[0031]
skew(pa pb)p
x
'=p
a-pb;
[0032]
计算旋转向量p
x

[0033]
[0034]
确定手眼系统的旋转矩阵和平移矩阵:
[0035][0036]
(r
a-1)t
x
=r
x
t
b-ta;其中:i表示单位矩阵,skew(p(x))表示旋转向量p
x
的偏度。
[0037]
进一步,步骤s2中,激光扫描仪的最优扫描顺序通过如下方法确定:
[0038]
对作为扫描目标的零件进行分区,并将每个分区的中心点沿该分区的法向平移一个最优工作距离,从而得到扫描目标点p
in;projected

[0039]
将扫描目标点p
in;projected
以及每个扫描目标点对应的法向信息组成位姿矩阵t
in;projected
:t
in;projected
={t1,t2,t3,

,ti,

,tm},ti表示第i个分区的位姿矩阵,m表示分区的个数,i=1,2,

,m;
[0040]
采用经典tsp算法确定出激光扫描仪的最优扫描顺序。
[0041]
进一步,步骤s2中,最优扫描轨迹通过如下方法确定:
[0042]
s201.将第i个扫描分区的位姿矩阵ti代入ikfast机器人逆解运动学求解器中进行计算得到激光扫描仪的轨迹点位形解集合solutionsm:
[0043]
solutionsm={solutions1,solutions2,

,solutionsn}
[0044]
其中,m表示第m个分区的逆解集合,n表示第m个逆解集合的n个位形解,其中,m表示第m个分区的逆解集合,n表示第m个逆解集合的n个位形解,至分别表示机械工具手的六轴的轴角;
[0045]
s202.对手眼系统进行是否对扫描目标发生碰撞进行碰撞检测,删除发生碰撞的位形解;
[0046]
s203.重复步骤s201和s202,求出每个分区的位形解,并生成位形解集合并将所有的位形解代入图生成器中生成带权重的q层机器人位形路径图graph,将solution1中的n个解作为路径图graph的第一层的n个节点;依此类推,路径图中共有m
×
n个节点,将相邻两层的每个节点相连接形成边并组成边的集合edges:edges={edge
11,21
,

edge
mn,(m 1)n
},其中,edge
mn,(m-1)n
表示第m层的第n个节点与第m 1层的第n个节点连接形成的边,
[0047]
s204.计算每个边的权重weight:
[0048][0049][0050]
其中,solution
(m)n
表示第m个位形解集合的第n个解,表示第m个位形解集合的第n个解的第i个轴角;
[0051]
s205.遍历机器人位形路径图graph,将每一条路径上的所有边的权重求和,选择权重之和最小的路径作为最优路径。
[0052]
进一步,碰撞检测具体包括:
[0053]
建立三维坐标系,
[0054]
构建能够保卫扫描目标的最小立方体作为包围盒;
[0055]
在确定扫描目标的任一点的位置坐标qi(xi,yi,zi),则在扫描目标的任一位置满足:
[0056]
x
min
≤xi≤x
max
[0057]ymin
≤yi≤y
max
[0058]zmin
≤zi≤z
max
[0059]
那么:包围盒的尺寸为:
[0060]
a=x
max-y
min
[0061]
b=y
max-y
min
[0062]
c=z
max-z
min
[0063]
其中:a、b、c分别表示包围盒的长宽高;
[0064]
因此,机械工具手与扫描目标不发生碰撞需要满足一下任一条件:
[0065]
(1)在x轴上,机器工具手的最大x值小于扫描对象的最小x值;
[0066]
(2)在x轴上,扫描对象的最大x值小于机器工具手的最小x值;
[0067]
(3)在y轴上,机器工具手的最小y值大于扫描对象的最大y值;
[0068]
(4)在y轴上,扫描对象的最小y值大于机器工具手的最大y值;
[0069]
(5)在z轴上,机器工具手的最小z值大于扫描对象的最大z值;
[0070]
(6)在z轴上,扫描对象的最小z值大于机器工具手的最大z值;
[0071]
若机械工具手与扫描目标不满足上面所有的条件,那么机械工具手与扫描目标发生碰撞,将对应的位形解删除。
[0072]
进一步,步骤s3中具体包括:
[0073]
将不同时刻扫描的点云数据转换到同一坐标系下;
[0074]
将点云数据投影到同一平面;
[0075]
采用二维delaunay生长法进行三角网格连接,建立二维空间的拓扑关系;
[0076]
根据点云数据坐标投影关系,将二维空间的拓扑映射到三维空间中形成电位空间的拓扑关系重建。
[0077]
本发明的有益效果:通过本发明,能够有效避免在对扫描目标扫描时出现漏扫或者重复扫描,从而避免出现扫描对象部分区域点云确实,而且还能够提高扫描效率,并且能更有效保证最终扫描结果的精确性。
附图说明
[0078]
下面结合附图和实施例对本发明作进一步描述:
[0079]
图1为本发明的流程图。
[0080]
图2为本发明中扫描顺序优化示意图。
[0081]
图3为本发明位形路径示意图。
[0082]
图4为三维k领域局部投影图。
[0083]
图5为本发明的贪婪投影三角化示意图。
[0084]
图6为本发明的mls投影过程示意图。
具体实施方式
[0085]
以下结合说明书附图对本发明进一步详细说明:
[0086]
本发明提供的一种基于机械臂的复杂曲面零件重建方法,包括以下步骤:
[0087]
s1.将激光扫描仪设置于六轴的机械工具手末端形成手眼系统,并对手眼系统进行标定;
[0088]
s2.确定激光扫描仪对扫描目标的扫描顺序以及最优扫描轨迹;
[0089]
s3.控制激光扫描已按照步骤s2确定的扫描顺序以及扫描轨迹获取扫描目标的点云数据,并对点云数据进行拟合重建,通过上述方法,能够有效避免在对扫描目标扫描时出现漏扫或者重复扫描,从而避免出现扫描对象部分区域点云确实,而且还能够提高扫描效率,并且能更有效保证最终扫描结果的精确性。
[0090]
本实施例中,步骤s1中,对于激光扫描仪进行标定具体包括:
[0091]
s11.以平面棋盘格作为标定板,并通过激光扫描仪获取标定板的图像;
[0092]
s12.建立手眼标定模型:
[0093]
建立标定模型:
[0094]
ax=xb,其中,a和b表示变换矩阵,x为所求的位姿矩阵;
[0095][0096]
其中,btg为机器人工具手末端在机器人坐标系中的位姿矩阵,ct
t
为相机在标定板坐标系下的位姿矩阵,btg和ct
t
中的上标1和2分别表示相机的两个不同的视角且该两个矩阵基于初始的相对位置矩阵t进行确定;
[0097]
将矩阵a、矩阵b以及矩阵x以位姿矩阵表示:
[0098][0099]
ra为矩阵a的旋转矩阵,ta均为矩阵a的位移矩阵;
[0100]
rb为矩阵b的旋转矩阵,tb均为矩阵b的位移矩阵;
[0101]rx
为矩阵x的旋转矩阵,t
x
均为矩阵x的位移矩阵;
[0102]
将标定模型以方程组表示:
[0103][0104]
将旋转矩阵转化为旋转向量:
[0105][0106]
对旋转向量进行归一化处理:
[0107]
其中,ra为矩阵a的旋转向量,rb为矩阵b的旋转向量,na为旋转向量ra的模,nb为旋转向量rb的模;
[0108]
计算修正的罗德里格斯向量:
[0109][0110]
计算初始旋转向量p
x
':
[0111]
skew(pa pb)p
x
'=p
a-pb;
[0112]
计算旋转向量p
x

[0113][0114]
确定手眼系统的旋转矩阵和平移矩阵:
[0115][0116]
(r
a-1)t
x
=r
x
t
b-ta;其中:i表示单位矩阵,skew(p(x))表示旋转向量p
x
的偏度,确定出旋转矩阵和位移矩阵后,就能够求得激光扫描仪的和机械手的位置以及位姿,从而完成标定,从而保证后续扫描的准确性;中,上述中各矩阵的具体维数以及各个元素的值通过现有的方式确定。
[0117]
本实施例中,步骤s2中,激光扫描仪的最优扫描顺序通过如下方法确定:
[0118]
对作为扫描目标的零件进行分区,并将每个分区的中心点沿该分区的法向平移一个最优工作距离,从而得到扫描目标点p
in;projected

[0119]
将扫描目标点p
in;projected
以及每个扫描目标点对应的法向信息组成位姿矩阵t
in;projected
:t
in;projected
={t1,t2,t3,

,ti,

,tm},ti表示第i个分区的位姿矩阵,m表示分区的个数,i=1,2,

,m;
[0120]
采用经典tsp算法确定出激光扫描仪的最优扫描顺序,通过上述方法,能够确保最终结果的精确性。如图2所示,图2(a)为优化前的扫描顺序,图2(b)为优化后的扫描顺序。
[0121]
本实施例中,步骤s2中,最优扫描轨迹通过如下方法确定:
[0122]
s201.将第i个扫描分区的位姿矩阵ti代入ikfast机器人逆解运动学求解器中进行计算得到激光扫描仪的轨迹点位形解集合solutionsm:
[0123]
solutionsm={solutions1,solutions2,

,solutionsn}
[0124]
其中,m表示第m个分区的逆解集合,n表示第m个逆解集合的n个位形解,
至分别表示机械工具手的六轴的轴角;
[0125]
s202.对手眼系统进行是否对扫描目标发生碰撞进行碰撞检测,删除发生碰撞的位形解;
[0126]
s203.重复步骤s201和s202,求出每个分区的位形解,并生成位形解集合并将所有的位形解代入图生成器中生成带权重的q层机器人位形路径图graph,将solution1中的n个解作为路径图graph的第一层的n个节点;依此类推,路径图中共有m
×
n个节点,将相邻两层的每个节点相连接形成边并组成边的集合edges:edges={edge
11,21
,

edge
mn,(m 1)n
},其中,edge
mn,(m-1)n
表示第m层的第n个节点与第m 1层的第n个节点连接形成的边,
[0127]
s204.计算每个边的权重weight:
[0128][0129][0130]
其中,solution
(m)n
表示第m个位形解集合的第n个解,表示第m个位形解集合的第n个解的第i个轴角;
[0131]
s205.遍历机器人位形路径图graph,将每一条路径上的所有边的权重求和,选择权重之和最小的路径作为最优路径。
[0132]
其中,碰撞检测具体包括:
[0133]
建立三维坐标系,
[0134]
构建能够保卫扫描目标的最小立方体作为包围盒;
[0135]
在确定扫描目标的任一点的位置坐标qi(xi,yi,zi),则在扫描目标的任一位置满足:
[0136]
x
min
≤xi≤x
max
[0137]ymin
≤yi≤y
max
[0138]zmin
≤zi≤z
max
[0139]
那么:包围盒的尺寸为:
[0140]
a=x
max-y
min
[0141]
b=y
max-y
min
[0142]
c=z
max-z
min
[0143]
其中:a、b、c分别表示包围盒的长宽高;
[0144]
因此,机械工具手与扫描目标不发生碰撞需要满足一下任一条件:
[0145]
(1)在x轴上,机器工具手的最大x值小于扫描对象的最小x值;
[0146]
(2)在x轴上,扫描对象的最大x值小于机器工具手的最小x值;
[0147]
(3)在y轴上,机器工具手的最小y值大于扫描对象的最大y值;
[0148]
(4)在y轴上,扫描对象的最小y值大于机器工具手的最大y值;
[0149]
(5)在z轴上,机器工具手的最小z值大于扫描对象的最大z值;
[0150]
(6)在z轴上,扫描对象的最小z值大于机器工具手的最大z值;
[0151]
若机械工具手与扫描目标不满足上面所有的条件,那么机械工具手与扫描目标发生碰撞,将对应的位形解删除。通过上述方法,能够保证最终结果的准确性。
[0152]
本实施例中,步骤s3中具体包括:
[0153]
将不同时刻扫描的点云数据转换到同一坐标系下;
[0154]
将点云数据投影到同一平面;
[0155]
采用二维delaunay生长法进行三角网格连接,建立二维空间的拓扑关系;
[0156]
根据点云数据坐标投影关系,将二维空间的拓扑映射到三维空间中形成电位空间的拓扑关系重建。
[0157]
具体地:如图4-图6所示:采用二维delaunay生长法进行三角网格连接具体包括:
[0158]
对点云中的任意一点,采用kd-tree邻域搜索算法确定其含有k个邻近点的邻域。三角化算法过程中将点云中的点分为自由点、完成点、边界点以及边缘点的四种类型;
[0159]
确定某点及其邻域点的投影切平面,并将邻域内所有点投影到该二维平面中。对任意点的邻域,通过法线估计算法计算近似法向量后,利用平面方程式求解该点的切平面。即若点m0(x0,y0,z0)的法向量n=(a,b,c),点m(x,y,z)是过m0切平面上的一点,因此切平面可以表示为:
[0160]
a(x-x0) b(y-y0) c(z-z0)=0
[0161]
将空间中的点通过投影矩阵(平移以及旋转变换)变换到二维切平面π中,投影变换矩阵tm的定义如下式所示
[0162]
tm=tcr
xry
[0163]
基于上式计算任意点p(xi,yi,zi)在其切平面上的投影如下式:
[0164]
(xi′
,yi′
,zi′
,1)=tm(xi′
,yi′
,zi′
,1)
t

[0165]
对投影平面上的点采用贪婪算法,每次只考虑局部最优的点作为生长点,进行平面三角剖分确定拓扑关系,再根据投影关系,构建其三维空间的拓扑关系。不断重复此过程,最终实现物体模型的完整曲面重构,具体过程如下:
[0166]
1)任意一点pi作为初始点,采用kd-tree算法搜索其邻近点,在邻域内选择距离点pi最短的点pj并进行直线连接;
[0167]
2)计算与边pipj最近的点pk,进行三角连接,构造出三角形δpipjpk;
[0168]
3)通过步骤2,选择与三角形δpipjpk一边距离最近的点,构建新的三角形;
[0169]
4)不断重复步骤3,直到构建出物体表面完整的拓扑关系,算法结束。
[0170]
采用移动最小二乘法(mls)对点云进行平滑处理,从而实现重建曲面光滑细腻,得到较好的重建效果。如图6:在局部拟合曲面g上,将点云表面一点投影都该曲面上,即为点云的mls投影平滑。该算法由以下两个步骤完成:
[0171]
(1)对于带平滑点r,求解其局部参考平面h
[0172]
(2)局部映射。通过步骤1中定义的局部平面h,对点r所在邻域进行多项式拟合。mls算法为现有技术,在此不进一步详述。
[0173]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本
发明的权利要求范围当中。
再多了解一些

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

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

相关文献