基于主动投影技术的激光加工检测一体化设备及检测方法

未命名 08-15 阅读:81 评论:0


1.本发明属于激光加工技术领域,具体为基于主动投影技术的激光加工检测一体化设备及检测方法。


背景技术:

2.紫外激光加工通过光化学消融作用实现,即依靠紫外激光能量打断原子或分子间的键合,使其转化为小分子并气化、蒸发。紫外激光聚焦光斑非常小,且加工热影响区域微乎其微,因而能够进行超精细雕刻、特殊材料加工。紫外激光加工采用的是冷光源,波长仅为355nm,聚焦光斑的直径小,各种材料对紫外光的吸收率较高,且热影响力也极小(可忽略不计)。这种特性使得紫外激光加工可实现精细的加工效果。
3.现有技术中,紫外激光加工设备由激光器发射出激光,再通过光路系统进入振镜内部,经过振镜偏转和聚焦后作用于工件表面,由于激光器产生的激光不能通过光纤线传输,所以光路和激光器必须在同一平面内,调整激光焦距时激光器、光路、振镜相对位置必须不变,这将导致整个光路占用空间较大,在一些空间较小的场所无法使用,同时大功率的激光器重量较重,对光路进行焦距调节的升降系统要同时带动激光器、光路、振镜一起运动,因此对升降平台的负载要求较高。
4.激光在加工材料时,具有可加工复杂织构且无刀具损伤引入等特点,但激光加工在实际应用过程中容易出现锥度、波纹等加工缺陷,而热影响区的存在亦会引起工件的氧化、分层、开裂等现象。因此,本发明提出一种基于主动投影技术的激光加工检测一体化设备及检测方法,在对材料进行加工时,能够对材料的表面缺陷进行检测,根据检测信息对激光加工过程进行调整和纠正,达到辅助激光加工装置对工件加工的目的。
5.结构光三维重建是一种基于光学原理和计算机视觉技术的三维形状检测方法。它利用结构光投射器将特定编码的光模式投射到目标物体上,通过捕捉被物体表面反射或散射的光,并分析其变形信息,从而获取物体表面的三维几何形状。
6.在过去目标物体的三维重建常常需要使用昂贵的激光扫描仪或复杂的摄影测量系统来获取其几何信息。然而,随着计算机视觉和投影技术的发展,结构光三维重建成为一种更加高效和经济的方法,广泛应用于计算机图形学、计算机视觉、虚拟现实、工业制造等领域。结构光三维重建的基本原理是通过投射结构化的光模式(通常是条纹或编码图案)到目标物体上,然后利用相机或传感器捕捉物体表面反射或散射的光,通过分析被捕捉到的光模式在物体表面的变形,可以推断出物体表面的深度或三维坐标。


技术实现要素:

7.本发明的目的在于提供基于主动投影技术的激光加工检测一体化设备及检测方法,以解决背景技术中提出的,在现有技术中光路占用空间较大,在一些空间较小的场所无法使用以及对光路进行焦距调节的升降系统要同时带动激光器、光路、振镜一起运动,而一些大功率的激光器重量较重对升降平台的负载要求较高的问题,以及激光加工在实际应用
过程中对于成形误差不能及时检测的问题,比如加工过程容易出现的锥度、波纹等加工缺陷。
8.为解决上述技术问题,本发明所采用的技术方案是:基于主动投影技术的激光加工检测一体化设备,包括防护房,在防护房的内部设置有激光加工装置;激光加工装置包括底座,在底座的上方设置有工作台,在工作台上设置有激光发生器以及振镜;其中,激光发生器与振镜通过光路系统连接;在工作台上还设置有加工台,加工台设置在振镜的下方,加工台用于安装工件;在防护房的内部设置有结构光投影仪,结构光投影仪设置在防护房侧壁的上端;结构光投影仪用于将编码好的条纹投影到工件表面,在防护房的侧壁上还设置有相机,相机用于记录被成像工件高度调制的变形条纹图像。
9.根据上述技术方案,光路系统包括光筒、激光折射筒以及伸缩筒;其中,光筒包括第一光筒和第二光筒,激光折射筒包括第一折射筒、第二折射筒以及第三折射筒;第一光筒的一端与激光发生器连接,第一光筒的另一端与第一折射筒连接;第二光筒的一端与第一折射筒连接,第二光筒的另一端与第二折射筒连接;第二折射筒通过伸缩筒与第三折射筒连接,第三折射筒与振镜连接。
10.根据上述技术方案,伸缩筒包括第一连接段和第二连接段;其中,第一连接段的一端与第二折射筒连接,第二连接段与第三折射筒连接,第一连接段和第二连接段之间通过管状风琴罩连接。
11.根据上述技术方案,工作台上包括固定座以及支撑立柱;其中,支撑立柱固定设置在固定座上,支撑立柱的上方设置有横梁,激光发生器固定设置在横梁上。
12.根据上述技术方案,横梁上还设置有驱动组件,驱动组件用于带动振镜上下移动。
13.根据上述技术方案,驱动组件包括滑轨座、驱动装置以及安装台;其中,滑轨座固定设置在横梁上,驱动装置设置在滑轨座的上方,在滑轨座的内部设置有丝杠,驱动装置用于驱动丝杠转动;安装台与滑轨座滑动连接,且安装台穿过滑轨座与丝杠连接;通过丝杠转动,带动安装台上下移动;振镜固定设置在安装台上。
14.根据上述技术方案,激光加工装置还包括除尘装置;除尘装置用于除去激光加工过程中的灰尘。
15.根据上述技术方案,除尘装置包括集尘罩、集尘管道以及集尘箱;其中,集尘罩设置在加工台的侧面,且集尘罩的开口面向加工台设置;集尘箱设置在底座的侧面,集尘管道用于连接集尘罩与集尘箱。
16.根据上述技术方案,在工作台上还设置有滑动平台、第一驱动装置和第二驱动装置;其中,加工台设置在滑动平台上,滑动平台与工作台滑动连接;第一驱动装置驱动滑动平台在工作台上左右移动,第二驱动装置驱动加工台在滑动平台上前后移动;第一驱动装置包括第一电机和第一丝杠;第二驱动装置包括第二电机和第二丝杠;其中,第一丝杠转动设置在工作台的内部,滑动平台设置在第一转动丝杠上,第一电机驱动第一丝杠转动;第二丝杠设置在滑动平台的内部,加工台滑动设置在第二丝杠上,第二电机驱动第二丝杠转动。
17.基于主动投影技术的激光加工检测一体化设备的检测方法,包括以下步骤:步骤s1,将标定板水平置于工作台,进行双目标定;步骤s2,利用generatepattern算法生成黑白条纹,将其写入结构光投影仪对工件表面投影,并通过相机采集变形条纹,从而获取工件的包裹相位;步骤3,经phaseanalyse算法做相位解包,对经过双目标定后的两台相机(200)获取的图像进行立体匹配,计算左右图像中对应像素的水平偏移量,即视差,根据视差信息计算分析获得三维信息;步骤4,利用高效、鲁棒式图像处理及分割技术对采集三维的数据进行去噪、滤波、配准等预处理操作;再导入gomsoftware进行点云重建,对重建出的点云进行点云拼接、分割、特征提取、网格化等处理操作,以获取更加完整、准确的表面织构几何形貌特征,实现无接触式测量;步骤5,对比理想所需点云图,利用halcon分析材料激光加工表面锥度、波纹度及弯曲特征,并将特征位置反馈至激光加工装置,对工件的表面织构的结构特征进行优化,直到测量平面与目标平面表面平整、无起伏或凹凸,即公差范围在
±
20μm,在弯曲处,角度变化小于或等于1
°

18.与现有技术相比,本发明具有以下有益效果:通过本发明中的装置,将激光发生器以及振镜设置在工作台上的上方,并通过光路系统连接激光发生器以及振镜,减小了光路的体积,节约了激光加工装置所占用的空间。
19.并且,通过在防护房的内部设置相机和结构光投影仪,通过结构光投影仪将编码好的条纹投影到被成像的工件表面,再通过设置的相机来捕捉变形条纹,对完成加工的工件进行检测,通过检测结果得出工件的加工是否存在误差,当检测结果表明工件加工存在误差时,将误差信息传递给激光控制中心,激光控制中心根据误差信息对加工过程进行调整和纠正。
20.达到辅助激光加工装置对工件加工的目的,从而保证了加工质量以及加工效率。
附图说明
21.图1为本发明整体结构的侧视结构示意图;图2为本发明整体正视结构示意图;图3为本发明激光加工装置结构示意图之一;图4为本发明激光加工装置结构示意图之二;图5为本发明a处局部放大示意图;图6为本发明驱动组件剖视结构示意图;图7为本发明驱动组件立体结构示意图;图8为本发明工件加工不符合要求的点云分析结果图;图9为本发明工件加工符合要求的点云分析结果图。
22.图中标记:100-防护房,200-相机,300-激光加工装置,400-底座,500-工作台,600-激光发生器,700-振镜,800-加工台,900-结构光投影仪,110-第一光筒,111-第二光筒,112-第一折射筒,113-第二折射筒,114-第三折射筒,115-伸缩筒,116-第一连接段,117-第二连接段,118-管状风琴罩,119-固定座,120-支撑立柱,121-横梁,122-驱动组件,123-滑轨座,124-驱动装置,125-安装台,126-丝杠,127-除尘装置,128-集尘罩,129-集尘
管道,130-集尘箱,131-滑动平台。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.实施例一如图1所示,基于主动投影技术的激光加工检测一体化设备及检测方法,包括防护房100,在防护房100的内部设置有激光加工装置300,在防护房100的侧壁上设置有相机200,相机200用于记录被成像工件高度调制的变形条纹图像;如图2所示,激光加工装置300包括底座400,在底座400的上方设置有工作台500,在工作台500上设置有激光发生器600以及振镜700;其中,激光发生器600与振镜700通过光路系统连接;在工作台500上还设置有加工台800,加工台800设置在振镜700的下方,加工台800用于安装工件;在防护房100的内部设置有结构光投影仪900,结构光投影仪900设置在防护房100侧壁的上端;结构光投影仪900用于将编码好的条纹投影到工件表面,在防护房100的侧壁上还设置有相机200,相机200用于记录被成像工件高度调制的变形条纹图像。
25.通过本发明中的装置,将激光发生器600以及振镜700设置在工作台500上的上方,并通过光路系统连接激光发生器600以及振镜700,减小了光路的体积,节约了激光加工装置300所占用的空间。
26.并且,通过在防护房100的内部设置相机200和结构光投影仪900,通过结构光投影仪900将编码好的条纹投影到被成像的工件表面,再通过设置的相机200来捕捉变形条纹,对完成加工的工件进行检测,通过检测结果得出工件的加工是否存在误差,当检测结果表明工件加工存在误差时,将误差信息传递给激光控制中心,激光控制中心根据误差信息对加工过程进行调整和纠正。
27.达到辅助激光加工装置300对工件加工的目的,从而保证了加工质量以及加工效率。
28.实施例二本实施例为实施例一的进一步细化。
29.如图4所示,光路系统包括光筒、激光折射筒以及伸缩筒115;其中,光筒包括第一光筒110和第二光筒111,激光折射筒包括第一折射筒112、第二折射筒113以及第三折射筒114;第一光筒110的一端与激光发生器600连接,第一光筒110的另一端与第一折射筒112连接;第二光筒111的一端与第一折射筒112连接,第二光筒111的另一端与第二折射筒113连接;第二折射筒113通过伸缩筒115与第三折射筒114连接,第三折射筒114与振镜700连接。
30.进一步的,第一光筒110和第二光筒111均为空心圆柱结构;第一光筒110的两端需要做密封处理,第二光筒111的两端也需要密封处理。
31.进一步的,激光折射筒的内部固定设置有(例如粘接固定)折射镜片,通过激光折射筒内部设置的折射镜片使得激光发生90
°
的折射。
32.如图5所示,伸缩筒115包括第一连接段116和第二连接段117;其中,第一连接段116的一端与第二折射筒113连接,第二连接段117与第三折射筒114连接,第一连接段116和第二连接段117之间通过管状风琴罩118连接。
33.进一步的,如图5所示,管状风琴罩118的一端与第二连接段117固定连接,管状风琴罩118的另一端与第一连接段116固定连接,管状风琴罩118具有一定的伸缩性。
34.由于第二连接段117与第三折射筒114固定连接,第三折射筒114又与振镜700固定连接,当驱动组件122带动振镜700向下移动时,会带动第三折射筒114以及第二连接段117一起向下移动,使得管状风琴罩118发生变形,从而将管状风琴罩118拉长。
35.通过驱动组件122以及伸缩筒115来改变振镜700的高度,调整了激光焦距,使得激光加工装置300的加工更为灵活;又能保证激光发生器600、光路系统、振镜相对位置保持不变,保证了加工效果;并且,本发明中的装置对于对升降系统的负载要求也会更低。
36.进一步的,管状风琴罩118采用现有装置,例如:采用上银kk118管状风琴罩。
37.进一步的,振镜700采用现有装置,例如:fl7210-3d-300型动态聚焦振镜。
38.进一步的,相机200采用现有装置,例如:海康威视的mv-ch120-11um相机。
39.工作台500上包括固定座119以及支撑立柱120;其中,支撑立柱120固定设置在固定座119上,支撑立柱120的上方设置有横梁121,激光发生器600固定设置在横梁121上;横梁121上还设置有驱动组件122,驱动组件122用于带动振镜700上下移动。
40.如图3所示,通过将激光发生器600以及驱动组件122固定设置在横梁121上,在满足工件加工要求的前提下,也能有效的降低激光加工装置300的占用空间。
41.如图6和图7所示,驱动组件122包括滑轨座123、驱动装置124以及安装台125;其中,滑轨座123固定设置在横梁121上,驱动装置124设置在滑轨座123的上方,在滑轨座123的内部设置有丝杠126,驱动装置124用于驱动丝杠126转动;安装台125与滑轨座123滑动连接,且安装台125穿过滑轨座123与丝杠126连接;通过丝杠126转动,带动安装台125上下移动;振镜700固定设置在安装台125上。
42.进一步的,驱动装置124采用电机。
43.进一步的,在滑轨座123的内部还设置有轨道,安装台125与轨道滑动连接。
44.进一步的,轨道设置有两根,两根轨道分别设置在丝杠126的两侧。
45.进一步的,滑轨座123包括安装座和盖板;其中,安装座固定设置在横梁121上,盖板与安装座之间设置有间隙,安装台125穿过间隙与滑轨座123滑动连接。
46.激光加工装置300还包括除尘装置127;除尘装置127用于除去激光加工过程中的灰尘。除尘装置127包括集尘罩128、集尘管道129以及集尘箱130;其中,集尘罩128设置在加工台800的侧面,且集尘罩128的开口面向加工台800设置;集尘箱130设置在底座400的侧面,集尘管道129用于连接集尘罩128与集尘箱130。
47.进一步的,在集尘箱130的内部设置有负压风机,通过负压风机将加工台800上产生的灰尘进行收集。
48.在工作台上还设置有滑动平台131、第一驱动装置和第二驱动装置;其中,加工台设置在滑动平台131上,滑动平台131与工作台滑动连接;第一驱动装置驱动滑动平台131在
工作台上左右移动,第二驱动装置驱动加工台在滑动平台131上前后移动;第一驱动装置包括第一电机和第一丝杠;第二驱动装置包括第二电机和第二丝杠;其中,第一丝杠转动设置在工作台的内部,滑动平台131设置在第一转动丝杠上,第一电机驱动第一丝杠转动;第二丝杠设置在滑动平台131的内部,加工台滑动设置在第二丝杠上,第二电机驱动第二丝杠转动。
49.本发明的工作原理为:在使用时,通过激光发生器600与光路系统配合,将激光经过多次折射后,传递至振镜700,再经过振镜700对工件进行加工。
50.当需要调整振镜700的高度时,通过驱动组件122带动振镜700、第三折射筒114以及第二连接段117一起向下移动,使得管状风琴罩118发生变形,从而将管状风琴罩118拉长,完成对振镜700的高度调整。
51.实施例三基于主动投影技术的激光加工检测一体化设备的检测方法,包括以下步骤:步骤s1,将标定板水平置于工作台500,进行双目标定;步骤s2,利用generatepattern算法生成黑白条纹,将其写入结构光投影仪900对工件表面投影,并通过相机200采集变形条纹,从而获取工件的包裹相位;步骤s3,经phaseanalyse算法做相位解包,对经过双目标定后的两台相机(200)获取的图像进行立体匹配,计算左右图像中对应像素的水平偏移量,即视差,根据视差信息计算分析获得三维信息;步骤s4,利用高效、鲁棒式图像处理及分割技术对采集三维的数据进行去噪、滤波、配准等预处理操作;再导入gomsoftware进行点云重建,对重建出的点云进行点云拼接、分割、特征提取、网格化等处理操作,以获取更加完整、准确的表面织构几何形貌特征,实现无接触式测量;步骤s5,对比理想所需点云图,利用halcon分析材料激光加工表面锥度、波纹度及弯曲特征,并将特征位置反馈至激光加工装置,对工件的表面织构的结构特征进行优化,直到测量平面与目标平面表面平整、无起伏或凹凸,即公差范围在
±
20μm,在弯曲处,角度变化小于或等于1
°

52.halcon利用其图像处理和机器视觉算法来实现工件表面缺陷的识别。使用halcon的特征提取算法,从图像中提取表面缺陷的特征。这些特征可以包括纹理、形状、边缘等,根据不同的缺陷类型选择相应的特征提取方法。
53.对左右图像中的相位值进行匹配,找到左图像中的每个像素点在右图像中相位差最小的匹配点。对每个匹配点,计算左右图像中对应像素的水平偏移量,即视差。利用三角测距原理建立深度与视差的几何关系,从而得到目标物体表面上各点的深度信息。
54.与纯双目立体匹配相比,基于结构光的双目立体匹配的优势:鲁棒性更强:结构光投射了编码信息到目标物体表面,通过添加特征信息,可以提高匹配的鲁棒性。相比于纯双目匹配,结构光提供了额外的约束条件,减小了受光照变化和纹理缺失等因素的影响。
55.匹配点密集:结构光在目标物体表面上形成了编码信息,这样可以得到更多的匹配点,提高了深度估计的密集程度。相对于纯双目匹配,结构光提供了更多的特征点,可以获得更高的匹配精度和稠密度。
56.光照影响小:结构光投射的编码信息可以有效降低光照变化对深度估计的影响。通过结构光的编码,匹配过程更加稳定,减少了光照条件变化引起的深度估计误差。
57.进一步的,generatepattern算法的具体实现为:function[is,is_img]=generatepattern(a,b,t,n,w,h)is=cell(n,1);is_img=cell(n,1);xs=1:w;f_2pi=1./double(t)*2.*pi;fork=0:n-1is{k+1}=a+b*cos(f_2pi*xs+2*k/n*pi);is_img{k+1}=repmat(is{k+1}/255.,h,1);endgeneratepattern函数首先创建了大小为n的空单元格数组is和is_img,用于存储生成的条纹图案和图像结果。再创建了一个从1到w的行向量xs,用于表示图案的横坐标。然后计算了一个常数f_2pi,用于后续计算相位变化量。接下来,使用循环从0到n-1,生成每个相移步骤中的条纹图案。条纹图案使用余弦函数进行生成,其中f_2pi表示相位变化量。生成的条纹图案存储在is数组中,同时将其转换为图像格式,并储在is_img数组中。
[0058]
函数输入参数:a:条纹的基准亮度(取值范围:0-255)b:条纹的振幅(取值范围:0-255)t:条纹的周期(单位:像素)n:相移步数(条纹的数量)w:图案的宽度(单位:像素)h:图案的高度(单位:像素)通过generatepattern算法,可以根据需要自定义振幅、相位、周期和条纹数目。这能够灵活地生成不同形状、频率和对比度的条纹图案,以满足结构光成像需求。通过调整参数,可以精确控制每个条纹的相移程度和形状。可得高质量的条纹图案,由于使用余弦函数生成条纹图案,通过generatepattern算法在生成条纹时具有较高的信号质量和较低的噪声水平,有助于提高结构光成像的精度和稳定性。易于实现:代码使用matlab编写,并且使用简单直观的语法和函数。这使得实现条纹生成算法变得简单而高效,不需要复杂的编程技巧。
[0059]
实施例四phaseanalyse算法具体实现为:#include《opencv2/opencv.hpp》#include《stdint.h》#include《string》#include《fstream》using namespace cv;using namespace std;1、#include《opencv2/opencv.hpp》:用于引入opencv库的头文件,包括了用于图像处理、计算机视觉和机器学习的函数和类。
[0060]
2、#include《stdint.h》:用于引入stdint.h头文件,stdint.h头文件定义了固定
大小的整数类型,例如uint8_t、int16_t等。
[0061]
3、#include《string》:用于引入string头文件,string头文件提供了用于操作字符串的函数和类。
[0062]
4、#include《fstream》:用于引入fstream头文件,fstream头文件提供了用于读写文件的函数和类。
[0063]
#define f32
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
float#define pixel
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
uint8_t#define pi
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
3.1415926535897932384626433832795#define pi2
ꢀꢀꢀꢀꢀꢀ
(pi*2)static int m_dfreq[5]={1,3,9,27,85};static int m_nheight;static int m_nwidth;1、#define f32 float:定义了宏常量f32,表示float类型。通过定义,使用f32可以替代float类型的使用。
[0064]
2、#define pixel uint8_t:定义了宏常量pixel,表示uint8_t类型。通过定义,使用pixel可以替代uint8_t类型的使用。
[0065]
3、#define pi 3.1415926535897932384626433832795:定义了宏常量pi,表示圆周率π的值。在代码中,使用pi可以代替具体的数值3.1415926535897932384626433832795。
[0066]
4、#define pi2(pi*2):定义了宏常量pi2,表示圆周率π的两倍。在代码中,使用pi2可以代替具体的数值pi*2。
[0067]
5、static int m_dfreq[5]={1,3,9,27,85}:定义了一个静态整型数组m_dfreq,包含了5个元素。这个数组被初始化为{1,3,9,27,85}。
[0068]
6、static int m_nheight;和static int m_nwidth:定义了两个静态整型变量m_nheight和m_nwidth,但没有给其赋初始值。这意味着它们的初始值将为0(在静态存储区初始化为0)。
[0069]
相位解包(phase unwrap)的函数的具体实现如下:voidphaseunwrap(mat&phasehetero,mat&phasewrap,mat&phaseunwrap,float frqhetero,float frqwrap){f32*ptr0=(f32*)phasehetero.data;f32*ptr1=(f32*)phasewrap.data;f32*ptr=(f32*)phaseunwrap.data;float r=frqwrap/frqhetero;for(inty=0;y《m_nheight;y++){floatphawrapprev=ptr1[0];int nwrap=0;for (int x=0;x《m_nwidth;x++){int xy=y*m_nwidth+x;f32&phaunwrap=ptr[xy];f32 phaheter=ptr0[xy];
f32 phawrap=ptr1[xy];nwrap=(int)((phaheter*r-phawrap)/pi2+0.5);phaunwrap=nwrap*pi2+phawrap;}}}通过上述算法对输入的相位图像进行解包操作,将相位图像的不连续性进行修复,生成连续的相位图像。函数的输入参数包括三个矩阵类型的参数:phasehetero、phasewrap和phaseunwrap。分别表示杂波相位、包裹相位和解包相位。这些相位图像通常是以浮点数(f32)类型存储的。函数首先将相位图像的数据指针转换为f32类型的指针,即ptr0指向phasehetero的数据,ptr1指向phasewrap的数据,ptr指向phaseunwrap的数据。接下来,函数根据给定的频率参数(frqhetero和frqwrap)计算r值,r=frqwrap/frqhetero。这个r值用于将包裹相位映射到杂波相位上。r=frqwrap/frqhetero,可以得到一个比例系数。将包裹相位乘以这个比例系数,即可将包裹相位映射到与杂波相位相同的频率范围上,使其具有相同的变化规律。然后,函数使用双重循环遍历整个图像,从左上角到右下角。在每个像素位置处,函数计算解包相位的值。首先获取当前位置的杂波相位、包裹相位和解包相位的值。接下来,函数根据相位差和r值计算出相位的包裹数(nwrap)。然后,根据包裹数和包裹相位的值,计算出解包相位的值。解包相位通过将包裹数乘以2π并加上包裹相位来得到。最后,函数返回解包后的相位图像,存储在phaseunwrap矩阵中。
[0070]
phaseanalyse算法具有简单而高效、代码实现简洁,易于理解和使用。它基于简单的数学运算,没有复杂的算法和迭代过程,因此执行速度较快。
[0071]
多频率解包:算法实现了多频率相位解包算法,使用了不同的相移图案,能够更准确地恢复相位信息。这种多频率解包方法可以提高解包的可靠性和准确性。
[0072]
算法可以根据需要进行修改和调整。可以自定义相移图案的频率、幅度等参数,以适应不同的应用场景和实验需求。
[0073]
公式的理解:1、首先,计算差值phaheter*r-phawrap。这个差值表示包裹相位相对于杂波相位的偏移量。
[0074]
2、将差值除以2π(即pi2),以将偏移量转化为包裹数的单位。这样得到的结果表示包裹相位相对于杂波相位的包裹数偏移。
[0075]
3、加上0.5,是为了进行四舍五入,将浮点数结果转换为整数。
[0076]
通过相位解包代码实现了相位解包的操作,通过修复相位图像的不连续性,生成连续的相位图像。
[0077]
void imgshowabsphase(mat mat,float offset, string title) {mat show = mat / offset;imshow(title, show);waitkey(0);}1、创建一个新的mat对象show,作为显示的图像。
[0078]
2、将输入的相位图像mat除以offset,得到调整后的图像。相位图像的缩放因子,用于调整显示的对比度。将相位图像除以offset,可以将相位值映射到合适的显示范围。
[0079]
3、使用opencv的imshow函数在一个窗口中显示调整后的相位图像show,窗口的标
题为title。
[0080]
调用waitkey(0)函数,等待用户按下键盘上的任意键,以保持窗口的显示。
[0081]
该函数的作用是将相位图像进行缩放和显示,使用户可以观察相位分布的特征。通常在相位解包等处理步骤之后,使用该函数显示最终的相位结果。
[0082]
void decodemultiphase5(mat* imgshift, mat&imgabsphase) {
ꢀꢀꢀꢀ
f32* dptr = (f32*)imgabsphase.data;
ꢀꢀꢀꢀ
mat imgphase[5];
ꢀꢀꢀꢀ
for (int k = 0; k《5; k++) imgphase[k] = mat::zeros(m_nheight, m_nwidth, cv_32fc1);
ꢀꢀꢀꢀꢀ
for (int n = 0; n《4; n++) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
pixel* i0 = (pixel*)imgshift[4 * n + 0].data;
ꢀꢀꢀꢀꢀꢀꢀꢀ
pixel* i1 = (pixel*)imgshift[4 * n + 1].data;
ꢀꢀꢀꢀꢀꢀꢀꢀ
pixel* i2 = (pixel*)imgshift[4 * n + 2].data;
ꢀꢀꢀꢀꢀꢀꢀꢀ
pixel* i3 = (pixel*)imgshift[4 * n + 3].data;
ꢀꢀꢀꢀꢀꢀꢀꢀ
f32* pha = (f32*)imgphase[n].data;
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (int k = 0; k《m_nwidth * m_nheight; k++) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
pha[k] =(float)atan2f((double)(i1[k]
ꢀ‑ꢀ
i3[k]), (double)(i0[k]
ꢀ‑ꢀ
i2[k]));
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
if (pha[k]《0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
pha[k] +=pi2;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}}
ꢀꢀꢀꢀꢀꢀꢀꢀ
pixel* i[8];
ꢀꢀꢀꢀ
for (int k = 0; k《8; k++)
ꢀꢀꢀꢀꢀꢀꢀꢀ
i[k] = (pixel*)imgshift[16 + k].data;
ꢀꢀꢀꢀꢀꢀꢀꢀ
f32* pha = (f32*)imgphase[4].data;
ꢀꢀꢀꢀꢀꢀꢀꢀ
float pi2_8 = pi2 / 8;
ꢀꢀꢀꢀ
for (int k = 0; k《m_nwidth * m_nheight; k++) {
ꢀꢀꢀꢀꢀꢀꢀꢀ
double ssin = 0.0, scos = 0.0;
ꢀꢀꢀꢀꢀꢀꢀꢀ
for (int i = 0; i《8; i++) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
ssin += i[i][k]* sin(pi2_8 * i);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
scos += i[i][k]* cos(pi2_8 * i);}
ꢀꢀꢀꢀꢀꢀꢀꢀ
pha[k] = (float)atan2f(ssin, scos);
ꢀꢀꢀꢀꢀꢀꢀꢀ
if (pha[k]《0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
pha[k] +=pi2;
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
imgshowabsphase(imgphase[0], pi2, "imgphase_0");
ꢀꢀꢀꢀ
imgshowabsphase(imgphase[1], pi2,"imgphase_1");
ꢀꢀꢀꢀ
imgshowabsphase(imgphase[2], pi2,"imgphase_2");
ꢀꢀꢀꢀ
imgshowabsphase(imgphase[3], pi2,"imgphase_3");
imgshowabsphase(imgphase[4],pi2, "imgphase_4"); mat imgabsphase1 = mat::zeros(m_nheight, m_nwidth, cv_32fc1);
ꢀꢀꢀꢀꢀ
mat imgabsphase2 = mat::zeros(m_nheight, m_nwidth, cv_32fc1);
ꢀꢀꢀꢀꢀ
mat imgabsphase3 = mat::zeros(m_nheight, m_nwidth, cv_32fc1);
ꢀꢀꢀꢀꢀ
mat m1 = mat::zeros(m_nheight, m_nwidth, cv_32fc1);
ꢀꢀꢀꢀꢀ
mat m2 = mat::zeros(m_nheight, m_nwidth, cv_32fc1);
ꢀꢀꢀꢀꢀ
mat m3 = mat::zeros(m_nheight, m_nwidth, cv_32fc1);
ꢀꢀꢀꢀꢀ
phaseunwrap(imgphase[0], imgphase[1], imgabsphase1, m_dfreq[0], m_dfreq[1]);
ꢀꢀꢀꢀꢀ
phaseunwrap(imgabsphase1, imgphase[2],imgabsphase2, m_dfreq[1], m_dfreq[2]);
ꢀꢀꢀꢀ
phaseunwrap(imgabsphase2, imgphase[3],imgabsphase3, m_dfreq[2], m_dfreq[3]);
ꢀꢀꢀꢀ
phaseunwrap(imgabsphase3, imgphase[4], imgabsphase, m_dfreq[3], m_dfreq[4]);
ꢀꢀꢀꢀ
imgshowabsphase(imgabsphase1, 3 * pi2, "imgabsphase1");
ꢀꢀꢀꢀ
imgshowabsphase(imgabsphase2, 9 * pi2, "imgabsphase2");
ꢀꢀꢀꢀ
imgshowabsphase(imgabsphase3, 27 * pi2,"imgabsphase3");
ꢀꢀꢀꢀ
imgshowabsphase(imgabsphase, 81 * pi2, "imgabsphase");
ꢀꢀꢀꢀ
imwrite("phase1.bmp", imgphase[0]);
ꢀꢀꢀꢀ
imwrite("phase2.bmp", imgphase[1]);
ꢀꢀꢀꢀ
imwrite("phase3.bmp", imgphase[2]);
ꢀꢀꢀꢀ
imwrite("phase4.bmp", imgphase[3]);
ꢀꢀꢀꢀ
imwrite("phase5.bmp", imgphase[4]);
ꢀꢀꢀꢀ
imwrite("unphase.bmp", imgabsphase);
ꢀꢀꢀꢀ
return;}函数接受一个图像数组 imgshift 和一个mat对象的引用 imgabsphase作为输入。使用一个大小为5的mat 对象数组imgphase 进行初始化。每个imgphase元素都被初始化为与imgabsphase具有相同尺寸的全零矩阵。接下来是一个循环,循环变量为n,从0到3遍历。在循环内部,对于每个n的值,函数从imgshift 数组中获取四个图像i0、i1、i2和i3。这些图像对应于不同的相移步骤。然后,函数遍历m_nwidth*m_nheight个像素,对于每个像素,使用atan2f函数计算相位值pha。相位值的计算基于图像i0、i1、i2和i3中像素值之间的差异。如果相位值pha小于0,则将其增加pi2,以确保相位值在0到2π之间。
[0083]
接下来,函数处理最后一组八步相移的图像。将这些图像存储在名为i的指针数组中。然后,函数遍历m_nwidth*m_nheight个像素,对于每个像素,使用正弦和余弦函数计算ssin和scos的累积值。这些累积值用于计算相位值pha。类似于之前的步骤,如果相位值pha小于0,则将其增加pi2。最后,函数调用imgshowabsphase函数显示imgphase数组中的每个元素,并将其保存为图像文件。然后,调用phaseunwrap函数对imgphase数组进行相位展开,得到imgabsphase。最后,函数将imgabsphase保存为图像文件,并返回。
[0084]
实施例五如图8所示,点云图展现了工件加工相应的缺陷区域,表现为点云数据的异常或缺失。然后本装置根据点云分析的结果,确定缺陷的位置、形状和大小,以及完好区域的尺寸特征。基于这些信息,本装置针对尺寸不符合要求的问题,调整激光功率、扫描速度、光斑直径等,优化加工过程。经过参数调整后,检测结果如图9,加工工件的图案的尺寸符合要求,预留的方块长度、宽度和厚度都达到了预期的10mm
×
10mm
×
1mm,点云呈现出与设计一致的形状和尺寸,没有明显的异常或缺失。
[0085]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0086]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.基于主动投影技术的激光加工检测一体化设备,其特征在于:包括防护房(100),在防护房(100)的内部设置有激光加工装置(300);激光加工装置(300)包括底座(400),在底座(400)的上方设置有工作台(500),在工作台(500)上设置有激光发生器(600)以及振镜(700);其中,激光发生器(600)与振镜(700)通过光路系统连接;在工作台(500)上还设置有加工台(800),加工台(800)设置在振镜(700)的下方,加工台(800)用于安装工件;在防护房(100)的内部设置有结构光投影仪(900),结构光投影仪(900)设置在防护房(100)侧壁的上端;结构光投影仪(900)用于将编码好的条纹投影到工件表面,在防护房(100)的侧壁上还设置有相机(200),相机(200)用于记录被成像工件高度调制的变形条纹图像。2.根据权利要求1所述的基于主动投影技术的激光加工检测一体化设备,其特征在于:光路系统包括光筒、激光折射筒以及伸缩筒(115);其中,光筒包括第一光筒(110)和第二光筒(111),激光折射筒包括第一折射筒(112)、第二折射筒(113)以及第三折射筒(114);第一光筒(110)的一端与激光发生器(600)连接,第一光筒(110)的另一端与第一折射筒(112)连接;第二光筒(111)的一端与第一折射筒(112)连接,第二光筒(111)的另一端与第二折射筒(113)连接;第二折射筒(113)通过伸缩筒(115)与第三折射筒(114)连接,第三折射筒(114)与振镜(700)连接。3.根据权利要求2所述的基于主动投影技术的激光加工检测一体化设备,其特征在于:伸缩筒(115)包括第一连接段(116)和第二连接段(117);其中,第一连接段(116)的一端与第二折射筒(113)连接,第二连接段(117)与第三折射筒(114)连接,第一连接段(116)和第二连接段(117)之间通过管状风琴罩(118)连接。4.根据权利要求1所述的基于主动投影技术的激光加工检测一体化设备,其特征在于:工作台(500)上包括固定座(119)以及支撑立柱(120);其中,支撑立柱(120)固定设置在固定座(119)上,支撑立柱(120)的上方设置有横梁(121),激光发生器(600)固定设置在横梁(121)上。5.根据权利要求4所述的基于主动投影技术的激光加工检测一体化设备,其特征在于:横梁(121)上还设置有驱动组件(122),驱动组件(122)用于带动振镜(700)上下移动。6.根据权利要求5所述的基于主动投影技术的激光加工检测一体化设备,其特征在于:驱动组件(122)包括滑轨座(123)、驱动装置(124)以及安装台(125);其中,滑轨座(123)固定设置在横梁(121)上,驱动装置(124)设置在滑轨座(123)的上方,在滑轨座(123)的内部设置有丝杠(126),驱动装置(124)用于驱动丝杠(126)转动;安装台(125)与滑轨座(123)滑动连接,且安装台(125)穿过滑轨座(123)与丝杠(126)连接;通过丝杠(126)转动,带动安装台(125)上下移动;振镜(700)固定设置在安装台(125)上。7.根据权利要求1所述的基于主动投影技术的激光加工检测一体化设备,其特征在于:激光加工装置(300)还包括除尘装置(127);除尘装置(127)用于除去激光加工过程中的灰尘。8.根据权利要求7所述的基于主动投影技术的激光加工检测一体化设备,其特征在于:
除尘装置(127)包括集尘罩(128)、集尘管道(129)以及集尘箱(130);其中,集尘罩(128)设置在加工台(800)的侧面,且集尘罩(128)的开口面向加工台(800)设置;集尘箱(130)设置在底座(400)的侧面,集尘管道(129)用于连接集尘罩(128)与集尘箱(130)。9.根据权利要求1所述的基于主动投影技术的激光加工检测一体化设备,其特征在于:在工作台(500)上还设置有滑动平台(131)、第一驱动装置和第二驱动装置;其中,加工台(800)设置在滑动平台(131)上,滑动平台(131)与工作台(500)滑动连接;第一驱动装置驱动滑动平台(131)在工作台(500)上左右移动,第二驱动装置驱动加工台(800)在滑动平台(131)上前后移动;第一驱动装置包括第一电机和第一丝杠;第二驱动装置包括第二电机和第二丝杠;其中,第一丝杠转动设置在工作台(500)的内部,滑动平台(131)设置在第一转动丝杠上,第一电机驱动第一丝杠转动;第二丝杠设置在滑动平台(131)的内部,加工台(800)滑动设置在第二丝杠上,第二电机驱动第二丝杠转动。10.基于主动投影技术的激光加工检测一体化设备的检测方法,其特征在于:使用权利要求1至9任意一项所述的基于主动投影技术的激光加工检测一体化设备进行检测,检测方法包括以下步骤:步骤s1,将标定板水平置于工作台(500),进行双目标定;步骤s2,利用generatepattern算法生成黑白条纹,将其写入结构光投影仪(900)对工件表面投影,并通过相机(200)采集变形条纹,从而获取工件的包裹相位;步骤s3,经phaseanalyse算法做相位解包,对经过双目标定后的两台相机(200)获取的图像进行立体匹配,即对应像素点的匹配,计算视差,根据视差信息计算分析获得三维信息;步骤s4,利用高效、鲁棒式图像处理及分割技术对采集三维的数据进行去噪、滤波、配准的预处理操作;再导入gomsoftware进行点云重建,对重建出的点云进行点云拼接、分割、特征提取、网格化处理,以获取更加完整、准确的表面织构几何形貌特征,实现无接触式测量;步骤s5,对比理想所需点云图,利用halcon分析材料激光加工表面锥度、波纹度及弯曲特征,并将特征位置反馈至激光加工装置,对工件的表面织构的结构特征进行优化,直到测量平面与目标平面表面平整、无起伏或凹凸,即公差范围在
±
20μm,在弯曲处,角度变化小于或等于1
°


技术总结
本发明公开了基于主动投影技术的激光加工检测一体化设备及检测方法,包括防护房,在防护房的内部设置有激光加工装置,在防护房的侧壁上设置有相机;激光加工装置包括底座,在底座的上方设置有工作台,在工作台上设置有激光发生器以及振镜;激光发生器与振镜通过光路系统连接;在防护房的内部还设置有结构光投影仪,结构光投影仪设置在防护房侧壁的上端。通过本发明中的装置,减小了光路的体积,节约了激光加工装置所占用的空间。通过设置相机和结构光投影仪对加工的工件进行检测,通过检测结果得出工件的加工是否存在误差,根据误差信息进行调整和纠正,达到辅助激光加工装置对工件加工的目的,保证了加工质量以及加工效率。保证了加工质量以及加工效率。保证了加工质量以及加工效率。


技术研发人员:白锦轩 徐爽 钱林茂 韩艳君
受保护的技术使用者:西南交通大学
技术研发日:2023.07.13
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐