基于ZYNQ的线激光轮廓传感器设计

2024-08-28 00:00:00赵新闯王化明杨雪峰徐轲沈颖
机械制造与自动化 2024年2期
关键词:点云

摘"要:为了直接获取工件轮廓点云,设计一种基于ZYNQ可编程芯片的线激光轮廓传感器。以ZYNQ芯片为核心处理器,设计传感器的图像采集与处理硬件电路。根据相机畸变模型,通过双线性插值法矫正各像素点的灰度值,研究基于法向迭代的灰度重心法以提取激光条纹中心线,结合相机参数和激光光平面方程的标定,计算相机坐标系下激光条纹中心点的三维坐标。在ZYNQ芯片中实现上述算法的并行加速,进行工件轮廓扫描测试。结果表明:该传感器可得到工件的三维轮廓点云。

关键词:线激光轮廓传感器;ZYNQ;灰度重心法;中心线提取;点云

中图分类号:TP212.1""文献标志码:B""文章编号:1671-5276(2024)02-0157-05

Design of Line Laser Contour Sensor Based on ZYNQ

ZHAO Xinchuang, WANG Huaming, YANG Xuefeng, XU Ke, SHEN Ying

(College of Mechanical and Electrical Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China)

Abstract:To directly obtain the point cloud of workpiece contour, a line laser contour sensor based on ZYNQ fully programmable chip was designed. ZYNQ chip was applied as the core processor to design the circuit of image acquisition and processing. According to the distortion model of the camera, the gray value of each pixel was corrected by bilinear interpolation. The gray centroid method based on normal iteration was proposed to extract the centerline of laser stripe. Combined with the calibration of camera parameters and laser light plane equation, the 3D coordinates of the center point of the laser stripe in the camera coordinate system were calculated. The parallel acceleration of the above algorithm was realized with ZYNQ chip, and the workpiece contour scanning test was carried out. The results show that the sensor can obtain the 3D contour point cloud of the workpiece.

Keywords:line laser contour sensor;ZYNQ;gray centroid method;centerline extraction;point cloud

0"引言

随着工业技术的发展,线激光三维测量技术在工业机器人引导、零部件尺寸测量、装配精度测量等领域有着越来越多的应用。传统线激光三维测量系统将采集到的图像传输至PC处理,获取工件轮廓点云的算法复杂,消耗大量PC运算资源。近年来,大规模集成电路飞速发展,FPGA芯片的集成度和并行运算速度大幅提高,可用于图像处理算法加速。Xilinx公司推出的ZYNQ7000系列芯片采用“ARM+FPGA”的异构架构,内部集成了一片Cortex-A9 ARM处理器和一片Artix-7 FPGA处理器,既有丰富的外设接口,又提供了充足的逻辑资源,符合线激光三维测量系统的需求。

目前已有许多关于ZYNQ/FPGA在线激光视觉中应用的研究。LI Z K等[1]提出了一种基于改进Hessain矩阵法的激光条纹中心线提取算法,以图像二阶矩特征估计激光条纹的宽度,采用二阶泰勒展开简化Hessain矩阵法的求解过程,在FPGA中实现了上述算法。MARKOVIC' B R等[2]针对外部噪声源干扰问题,提出通过图像自卷积来提高灰度重心法的准确性方法,在FPGA平台进行了验证。ZHANG L等[3]提出了一种用于ZYNQ芯片的实时多任务处理软件结构,实现了激光条纹中心线提取算法的设计。

结合上述研究现状,设计一种直接获取工件轮廓点云的线激光轮廓传感器。以ZYNQ芯片为核心处理器,设计传感器硬件电路,在ZYNQ芯片中实现图像畸变矫正、激光条纹中心线提取和点云坐标计算等算法,通过扫描测试得到工件轮廓点云。

1"传感器总体方案设计

基于ZYNQ的线激光轮廓传感器设计方案如图1所示。工业相机采集激光条纹图像并以GigE Vision协议传输至ZYNQ芯片,ZYNQ芯片移植有Linux操作系统,可调用ARM和FPGA双核实现图像畸变矫正、中心线提取和点云坐标计算等算法。

2"线激光轮廓传感器设计

2.1"传感器硬件设计

1)传感器结构设计

线激光三维测量技术[4]属于主动式视觉测量,基本原理为三角测量法[5],如图2所示。线激光器照射物体,在其表面形成线激光条纹,由工业相机采集图像,根据△CGB—△CFE可以求出条纹上各点在像平面上的位移x与物体沿表面法线方向的偏移z的关系:

z=xasinβcosα1bsin(α1+α2)±sin(α1+α2+β)(1)

式中:α1和α2分别为线激光器光轴和接收透镜光轴与物体表面法线的夹角;β为接收透镜光轴与像平面的夹角;a和b分别为接收透镜沿光轴方向到激光器光轴和像平面的距离。

采用斜射-直接收的布局进行传感器结构设计,如图3所示,除工业相机和线激光器外,还包含反射镜和窄带滤光片。反射镜用来改变激光方向以减小传感器尺寸,窄带滤光片用于减小杂光干扰,突出激光条纹信息。

2)传感器硬件电路设计

传感器选用ZYNQ7020芯片为核心处理器,采用核心板加扩展板的方案。扩展板电路包括电源模块、SD卡接口、千兆网口、HDMI接口等。图4为自行设计的扩展板实物图。

ZYNQ芯片的ARM核提供USB、UART、IIC等外设接口,直接使能即可使用,但ARM核中没有HDMI接口,且在使能部分外设后,不能同时提供两个千兆网口,需要通过FPGA核的逻辑电路实现,如图5所示为千兆以太网口和HDMI接口的逻辑电路设计方案。

2.2"图像处理算法设计

激光条纹中心线点云通过图像畸变矫正、激光条纹中心线提取和点云坐标计算来获取。

1)图像畸变矫正

由于制造工艺、安装误差等原因,工业相机采集到的图像往往存在一定程度的非线性畸变[6],影响测量精度,因此需要进行图像畸变矫正。

根据式(2)所示相机畸变模型计算畸变前后像素点的映射关系。

x0y0=(1+k1r2+k2r4)xy+

2k3xy+k2(r2+2x2)k3(r2+2y2)+2k4xy(2)

式中:r2=x2+y2;(x0,y0)和(x,y)为成像点矫正前后的归一化坐标;k1—k4是相机畸变系数。

根据映射关系确定像素点的映射坐标,通过双线性插值法计算该像素的灰度值。如图6所示,点P为某像素点的映射点,Δx与Δy为点P到其左上方相邻点的偏移量,由式(3)可得矫正后的灰度值g。

g1=(1-Δx)g(x,y)+Δxg(x+1,y)

g2=(1-Δx)g(x+1,y)+Δxg(x+1,y+1)

g=(1-Δy)g1+Δyg2(3)

2)激光条纹中心线提取

a)图像预处理

在提取激光条纹中心线之前,需要预先进行降噪处理,结果如图7所示。具体流程如下:

①采用5×5大小的高斯滤波器进行滤波;

②对每一列图像分别执行阈值分割[7],遍历单列图像,提取灰度最大值gmax,设置一个最小灰度阈值Tmin和偏移量ΔT(20<ΔT<50),根据式(4)确定本列的灰度阈值T;

T=max(gmax-ΔT,Tmin)(4)

③使用3×3矩形内核先后对图像进行膨胀和腐蚀操作[8],去除细小孤立块,最终得到如图7(b)所示预处理结果。

b)激光条纹中心线提取

常用的激光条纹中心线提取算法有几何中心法、极值法、骨架细化法、灰度重心法、曲线拟合法、Steger法、方向模板法等[9]。考虑ZYNQ的逻辑资源消耗量,采用灰度重心法[10]进行中心线提取,原理如式(5)所示。

vCi=∑nj=0g(ui,vij)ij∑nj=0g(ui,uij),i=1,2,3,…,m(5)

式中:vCi为激光条纹图像第i列的灰度重心点坐标;g(ui,vij)为像素点(ui,vij)的灰度值;m×n为图像大小。

对于激光条纹中变化平缓的区域,灰度重心法提取效果好且速度快,但处理如图8(a)所示斜率较大的区域时,易出现间断现象。针对此问题,设计一种基于法向迭代的灰度重心法,实现步骤如下。

第1步,通过灰度重心法计算初始中心线坐标,构建一个中心点集合,记为A。

第2步,对集合A中间距大于TD的相邻点进行线性插值,将所得中点坐标插入集合A,以最小二乘法拟合该点局部斜率ki,若kigt;kT(kT为斜率阈值),则转到第3步,否则继续进行判断。

第3步,计算此点所在位置的局部法向,沿法向重新通过灰度重心法计算坐标并加入集合A。首次进入第3步时,置迭代次数t=0。

第4步,判断新的中心点集合是否满足式(6)或t=T,若满足则转到第5步,否则t=t+T,转到第3步重新计算。

1n∑ni=1[(ui-ui-1)2+(vi-vi-1)2]<ε(6)

式中:n为中心点的总数;(ui,vi)为中心点坐标;ε为给定的极小正数(一般可取0.05);t为迭代次数;T为迭代次数上限值。

第5步,采用滑动平均法对中心点集合进行数据平滑。

使用改进的灰度重心法提取激光条纹中心线,处理结果如图8(b)所示,对比可知,中心线间断问题有明显改善。

3)点云坐标计算

取激光条纹中心线上一点,结合相机内参和线激光光平面方程,即可求出相机坐标系下该点的三维坐标,具体过程如下。

a)根据相机标定结果,由相机成像模型推导出像素坐标与相机坐标系下空间坐标的对应关系:

zc=fx0u00

0fyv00

0001xcyczc1(7)

式中:fx和fy为相机尺度因子;(u0,v0)为相机光心的像素坐标;(xc,yc,zc)为点(u,v)在相机坐标系下的坐标。

b)基于相机外参,利用多特征点拟合法[11]标定相机坐标系下的激光光平面方程,如式(8)所示。

Axc+Byc+Czc-1=0(8)

c)联立式(7)、式(8),得到相机坐标系下的三维坐标:

zc=Au-u0fx+Bv-v0fy+C-1

xc=u-u0fxzc

yc=v-v0fyzc(9)

4)图像处理算法的实现

ZYNQ中图像处理算法的实现方案如图9所示,涉及复杂浮点运算的映射关系求解等。算法通过ARM实现,双线性插值、灰度重心法等算法置于FPGA中并行执行。进行畸变矫正和中心线提取时,ARM与FPGA之间的数据交互量较大,通过VDMA IP核以AXI4-Stream协议传输数据。三维坐标求解算法的数据量较少,使用AXI4-Lite协议进行数据交互。为了进一步减少畸变矫正模块的数据量和BRAM资源占用,采用坐标偏移量表示映射关系,增大10倍后以整型存储,将像素灰度值与映射关系组帧传输,在FPGA中进行数据缓存、处理和更新。

以分辨率为800×600的图像为例,采用处理器为i5-7300HQ的计算机实现上述算法,单张图片耗时约76ms。而在ZYNQ芯片中实现上述算法,单张图像处理耗时约35ms,节省约54%。通过ARM核采集单张图像耗时约50ms,数据传输耗时约12ms,因此芯片处理速度约10FPS。ZYNQ芯片资源消耗情况如表1所示,还留有充足资源供后续开发。

3"工件轮廓扫描试验

构建由线激光轮廓传感器和直线运动平台组成的工件轮廓扫描装置,对图10(a)所示工件进行扫描测试。设置运动平台以3mm/s的速度移动,控制线激光轮廓传感器以100ms的间隔采集激光条纹图像。在上位机接收激光条纹中心线点云并进行拼接,得到如图10(b)所示的工件轮廓点云,受金属表面反光影响,工件边缘有部分数据丢失。通过张正友标定法和多特征点拟合法进行相机和激光光平面标定,标定结果如表2所示。

4"结语

针对直接获取工件轮廓点云的需求,设计了一种基于ZYNQ芯片的线激光轮廓传感器,通过工件轮廓扫描试验进行了功能验证。采用ZYNQ芯片为核心处理器,进行了传感器的软硬件设计,通过逻辑电路实现中心线提取和点云坐标计算等算法的并行加速,直接输出工件轮廓点云数据。该传感器可使技术人员免于繁杂的点云获取工作,能够显著提高产品的设计效率,缩短设计周期。

参考文献:

[1] LI Z K,MA L P,LONG X L,et al. Hardware-oriented algorithm for high-speed laser centerline extraction based on hessian matrix[J]. IEEE Transactions on Instrumentation and Measurement,2021,70:1-14.

[2] MARKOVIC' B R,C'ERTIC' J D. Improving sub-pixel estimation of laser stripe reflection center by autoconvolution on FPGA[J]. Journal of Circuits,Systems and Computers,2022,31(4):2250063.

[3] ZHANG L,ZHANG S F,YANG H. Design of embedded application software of 3D camera based on line laser[J]. Journal of Physics:Conference Series,2021,1812(1):012017.

[4] WANG H F,WANG Y F,ZHANG J J,et al. Laser stripe center detection under the condition of uneven scattering metal surface for geometric measurement[J]. IEEE Transactions on Instrumentation and Measurement,2020,69(5):2182-2192.

[5] 孙有春,庞亚军,白振旭,等. 激光三角测量法应用技术[J]. 激光杂志,2021,42(4):1-8.

[6] JUNGER C,HESS A,ROSENBERGER M,et al. FPGA-based lens undistortion and image rectification for stereo vision applications[C]// Joint TC1-TC2 International Symposium on Photonics and Education in Measurement Science 2019Germany: Jena,2019,11144:284-291.

[7] 黄鹏,郑淇,梁超. 图像分割方法综述[J]. 武汉大学学报(理学版),2020,66(6):519-531.

[8] 张鹏,丛林. 基于分形方法的载人压力容器内壁缺陷可视化检测方法[J]. 机械制造与自动化,2021,50(6):73-76.

[9] XU X B, FEI Z W, YANG J, et al. Line structured light calibration method and centerline extraction:a review[J]. Results in Physics,2020,19:103637.

[10] 甘宏,张超,李林,等. 复杂背景下激光条纹中心亚像素提取方法[J]. 光电工程,2019,46(2):82-89.

[11] 郭新年,白瑞林,王秀平. 基于主动视觉的手眼矩阵和光平面标定方法[J]. 计算机工程与应用,2015,51(19):56-60.

收稿日期:20221024

猜你喜欢
点云
基于激光雷达的大型电力变压器吊装定位方法
河南科技(2025年1期)2025-02-24 00:00:00
基于三角形相似性的点云配准算法
软件工程(2024年7期)2024-12-31 00:00:00
基于DNSS与点到平面的ICP结合的点云配准算法
计测技术(2020年6期)2020-06-09 03:27:12
基于法向量特征的点云配准方法
基于Geomagic的汽车内门把手逆向设计
LIDAR技术在数据处理中的应用
软件导刊(2016年8期)2017-03-31 18:42:14
机载三维激光扫描仪软件系统构建
软件导刊(2016年12期)2017-01-21 15:27:30
基于KD树的点云索引技术研究
科技视界(2015年30期)2015-10-22 11:47:10
利用LiDAR点云快速进行等高线制作
科技资讯(2015年20期)2015-10-15 19:23:03
基于实测数据的果树三维数字模型构建