技术新讯 > 计算推算,计数设备的制造及其应用技术 > 基于待测零部件CAD模型约束的立体视觉精准定位方法  >  正文

基于待测零部件CAD模型约束的立体视觉精准定位方法

  • 国知局
  • 2024-07-31 23:06:23

本发明涉及一种基于待测零部件cad模型约束的立体视觉精准定位方法,属于立体视觉定位技术,可应用于飞机叶盘、汽车发动机等复杂腔体的场景预定位。

背景技术:

1、在腔体工件检测过程中,对于关节臂式三坐标测量机,检测过程需要人为干预,需要手持关节臂末端进行定位,导致测量数据冗余,效率低下等问题;对于桥式三坐标测量机,检测时需要提前规划唯一扫描路径,且测量范围受限,导致测量范围较窄、灵活度低等问题。相比之下,关节臂式扫描测量机具有灵活性高、测量范围较大等优势,但是在实现自动化检测的过程当中仍然无法自动的获取待测工件的世界坐标,所以为实现复杂腔体工件内部自动化检测的需求,且提高关节臂式扫描测量机的检测效率,对其进行立体视觉初步定位是实现自动化检测的有效方法。

2、立体视觉定位的步骤可以分为四步:第一步是确定结构光立体视觉相机与机械臂末端的位姿转换关系,即获取手眼标定参数;第二步是利用结构光立体视觉相机拍摄待测工件并生成点云数据;第三步将待测工件的cad模型转换为目标点云数据,并结合拍摄到的场景点云进行点云配准;最后使用得到的手眼标定参数和点云配准后生成的位姿转换矩阵,计算出机械臂末端相对于待测点的位姿转换矩阵。在这其中,第三步直接影响着机械臂末端的定位结果。由于要对待测工件进行精确定位,选择icp(iterative closest point)迭代最近点算法作为配准算法,为了能够提高视觉定位的精确度,保留点云的重要特征是非常必要的。然而,cad模型生成的点云数目较大,导致点云的特征提取时间较长,从而导致点云配准过程耗费时间长,为了实现坐标测量机高效率、自动化测量,保留点云的所有特征是不现实的。因此,本方法需要对点云的特征筛选,筛选出最能够代表待测复杂腔体工件的主要特征。

3、针对现有技术存在的相对不足,提出本发明。

技术实现思路

1、本发明的目的是解决关于六自由度机械臂坐标测量机检测复杂腔体内部时,实现对待测工件精准而快速预定位的技术问题,本发明提出的待测工件cad模型点云预处理方法结合点云对特征算法很好的满足了两方面的需求,在大量减少点云数据量的同时,既能够确保点云配准精度,又能够实现快速配准,即满足坐标测量机高效率、自动化测量。

2、本发明所采用的技术方案是:一种基于待测零部件cad模型约束的立体视觉精准定位方法,包括以下步骤:

3、步骤s1,建立机械臂与相机的位姿转换模型;

4、对需要标定的视觉定位系统建立模型ax=xb,为了使标定精度更高,将标定板的拍摄视角尽可能扩大,并拍摄n组数据(n≥60)来求解出手眼转换位姿转换矩阵x;

5、步骤s2,待测工件场景点云数据采集;采用双目相机加投影仪的结构,利用结构光成像的原理生成深度图,再由深度图生成点云数据;

6、步骤s3,待测工件cad点云预处理;

7、步骤s3.1,点云下采样;

8、步骤s3.2,点云特征提取;

9、步骤s4,点云配准;

10、步骤s4.1,加载点云数据;

11、步骤s4.2,点云特征求取;

12、步骤s4.3,匹配结果筛选;

13、步骤s5,待测工件定位。

14、优选的,

15、所述的步骤1中,所述的建立机械臂与相机的位姿转换模型具体为:步骤s1.1,利用张正友标定法,对需要标定的相机建立模型;

16、步骤s1.2,标定数据采集;

17、在机械臂到达指定位置后,保存当前的机械臂末端tcp坐标,同时操作相机对标定板进行拍摄,为了提高模型的精度,重复操作步骤s1.2,以获得大量数据;将机械臂的各个位置姿态信息保存至矩阵robotn×6;

18、步骤s1.3,冗余数据剔除;

19、将拍摄好的标定板图片带入到相机模型中,求解出相机外参并保存至矩阵cameran×6中;通过重投影误差,筛选出误差异常的图片和在相应拍摄位置机械臂末端的坐标,并将其删除,提高手眼标定的参数精度;

20、步骤s1.4,视觉定位系统标定;

21、对需要标定的视觉定位系统建立手眼标定模型;

22、将标定板的拍摄视角尽可能扩大,并拍摄n组数据(n≥60)。将步骤s1.3筛选的相机外参数据cameran×6和步骤s1.2对应采集机械臂的数据robotn×6代入手眼标定模型中,即可精确求出相机相对于机械臂末端的位姿转换矩阵x。

23、进一步优选的,

24、所述的步骤s2中,所述的待测工件场景点云数据采集,具体为:由于待测工件表面光滑,会造成投影的部分结构光反射,导致工件场景点云部分结构缺失。所以本方法采用六步相移法的结构光测量方法以及多次曝光成像的方法,克服待测工件反光、点云数据部分缺失的困难。

25、优选的,

26、所述的步骤s3中,所述的待测工件cad点云预处理,具体为在减小点云数目的同时,保留点云大部分特征信息,能够使得点云配准在精确度不变的情况下加快配准速度。

27、所述的步骤s3.1中,所述的点云下采样,具体为:

28、将cad模型转换为ply格式的点云文件,由于转换后点云的数据量过多,会导致点云的处理速度较慢,所以需要在点云中引入虚拟的三维网格单元(体素),通过设置体素尺寸的大小,可以减少需要计算的点云数据量、保留原始的点云特征、加快点云的处理速度。

29、所述的步骤s3.2中,所述的点云特征提取,具体为:

30、步骤s3.2.1,计算cad点云的法向量;

31、由于cad点云经过了下采样处理,点云密度已较为稀疏,所以本方法采用确定最近邻点的方法来计算点云的法向量,利用k-d树的点云数据结构,设置搜索邻近点数k=50,并将计算好的法向量保存至变量origin_cloud_normal中。

32、步骤s3.2.2,去除表面点云;

33、设置z轴的法向量normal_z阈值threshold_1,将所有法向量normal_z进行索引,小于

34、threshold_1的点云进行保留,反之筛除。将去除表面后的点云保存至变量origin_cloud_edg中。

35、步骤s3.2.3,点云聚类

36、采用欧式聚类法,调用变量origin_cloud_edg,将聚类后的点云分别保存至变量

37、cluster_indices中。

38、步骤s3.2.4,拟合规则圆柱体点云;

39、利用圆柱拟合算法,调用变量cluster_indices,拟合出符合圆柱体特征的点云,并拟合出圆柱的质心坐标、法向量与圆柱半径,将拟合好的圆柱点云保存至变量cloud_cylinders中,并删除掉其他点云。

40、步骤s3.2.5,计算cad点云的曲率;

41、再次调用cad点云,计算其曲率信息,并保存至变量cloud_curvature中。

42、步骤s3.2.6,筛选曲面轮廓点云;

43、根据叶片曲面特性,叶片上、下边缘到叶片中间的曲率为线性变化的,所以为了保留叶片完整的轮廓信息,需要设置曲率阈值threshold_2为0.15,将所有曲率变量cloud_curvature进行索引,小于threshold_2的点云保存至变量cloud_curvature_edg,大于threshold_2的点云保存至变量cloud_curvature_other。为了保持cad点云的特征完整性,将点云变量cloud_curvature_other进行如步骤s3.2的大尺度下采样,并将cloud_curvature_edg与采样后的点云变量cloud_curvature_other进行点云拼接保存至变量cloud_curvature_filter当中。

44、步骤s3.2.7,拼接点云;

45、为了保证待测工件表面特征、边缘特征、以及内部特征的完整性,需要将拟合好的圆柱体点云与曲面轮廓点云进行拼接保存至filter_cloud中,便于后期点云配准。

46、优选的,

47、所述的步骤s4中,所述的点云配准,具体为:

48、步骤s4.1,加载点云数据;

49、将待测工件放置在待测区域,移动机械臂引导相机到达拍摄位置,设置相机曝光时间与曝光次数,对待测工件进行拍摄并生成ply格式的点云数据,对点云数据进行滤波处理,命名为scene_cloud,同时输入步骤s3.2.7中的filter_cloud。

50、步骤s4.2,点云特征求取;

51、假设有两个点m1和m2,其法向量分别为n1和n2,d=m2-m1表示为两个点云间的距离,则特征矢量f如公式(1)所示。

52、f(m1,m2)=(||d||2,∠(n1,d),∠(n2,d),∠(n1,n2))     (1)

53、其中,|| ||2为二范数,∠(a,b)∈[0,π]为两个矢量的夹角。

54、步骤s4.2.1,cad点云全局模型建立;

55、计算好filter_cloud中所有点云对的特征矢量f之后,构建全局特征描述的哈希表,将具有相同特征f的点云对放置在一起,即哈希表的键(key)为特征f、值(value)为具有相同特征矢量的点对集合a。

56、步骤s4.2.2,场景点云局部匹配;

57、调用scene_cloud,在scene_cloud中选取任意一个参考点sr∈s,假设它在cad点云的表面上,若假设正确,则在filter_cloud存在一个点mr∈m与sr对应;然后需要将两个参考点配准,须同时将点的位置和法向量进行对齐;最后让点云filter_cloud绕点sr的法向量的轴旋转一定的角度与点云scene_cloud配准,如公式(2)所示。

58、

59、注:变换矩阵tm→g将mr移动到scene_cloud的原点,并转动filter_cloud,使得mr法向量轴与scene_cloud原点的x轴重合;同理,通过ts→g对scene_cloud中的sr做相同的操作;最后将点mi绕x轴转动rx(α)与si重合。

60、由于参考点随机设置,有可能不在filter_cloud点云表外,为了匹配的鲁棒性,设置一个初始点,并每隔n个点进行匹配。

61、步骤s4.3,匹配结果筛选;

62、在步骤s4.2中,本方法求取了点云filter_cloud的全局特征,并完成scene_cloud的局部匹配。在匹配的过程中会出现多组位姿,为了得到最佳的匹配位置,本方法采用一种投票机制来实现。

63、针对scene_cloud的参考点sr,与scene_cloud的其他点组成点对(sr,si)并计算fs(sr,si);之后将fs作为key,搜索步骤s4.2.1中建立好的哈希表,寻找与fs类似的filter_cloud特征矢量fm和点对(mr,mi);在每个匹配点(mr,mi),利用公式(2)计算出旋转角度α,将α遍历α1,2,k,n对比并进行投票;最后得到参考点sr投票数最大时对应的点mr和旋转角度α。根据最终的投票结果,本方法可以得出cad点云相对于场景点云的位姿转换矩阵c。

64、所述的步骤s5中,所述的待测工件定位,具体为:

65、机械臂末端相对于机械臂基底的位姿转换矩阵为g,且在步骤s1中已求出相机相对于机械臂末端的位姿转换矩阵x;在步骤s4.3中已求出cad点云相对于场景点云的位姿转换矩阵c。假设要探测scene_cloud的si点,则规定filter_cloud中与之对应的mi点处于坐标系原点处,最后通过公式(3)求解出机械臂末端相对于待测工件的位姿转换矩阵z,即可完成视觉定位功能。

66、z=g×x×c          (3)。

67、与现有技术相比,本发明的有益效果是:

68、1.本发明在机械臂末端安装视觉定位系统,较于传统关节臂式坐标测量机,既然减小了人工操作产生的误差,又实现了待测工件自动化高效测量;使用结构光双目相机,保证视觉定位的精度;cad模型生成的点云数目较大,导致点云配准过程耗费时间长,为了实现坐标测量机高效率、自动化测量,保留点云的所有特征是不现实的。因此对点云的特征进行最优化选择,筛选出最能够代表待测复杂腔体工件的主要特征。

69、2.本发明在点云配准之前通过算法结合可视化点云配准确定了含有曲面特征点云轮廓提取的最优方法,大大降低了后续点云配准算法的运行时间,节约了时间成本。

70、3.本发明采用了基于轮廓的点云对特征配准算法,通过建立cad点云的全局特征,并在场景点云中选取随机点与全局特征进行局部匹配,最后利用投票机制选举出最佳的位姿转换矩阵,在保证配准鲁棒性的前提下,节省了计算机算力,大大缩短了配准时间。

71、4.对同类型带有复杂曲面的待测工件,进行精密视觉定位时可直接采用本发明中提出的cad点云预处理方法进行待测工件定位,减小人力成本。

本文地址:https://www.jishuxx.com/zhuanli/20240730/195980.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。