摩托车轮辐条表面的机械臂自主成像系统设计
2021-11-06苑玮琦
刘 杨,苑玮琦
(沈阳工业大学视觉检测技术研究所,辽宁沈阳 110870)
0 引言
我国是摩托车车轮生产制造大国,车轮质量对于人类生命安全至关重要,外观质量检测是车轮出厂质量检测必不可少的一步[1]。辐条是介于车轮主体结构之间的支承部件[2],由于车轮本身具有装饰性功能,而辐条作为车轮装饰性功能的主要部件,在满足极限拉力要求下并无规范的个数、外形和尺寸等设计要求[3]。辐条的形态约束直接导致自主成像系统的缺口。目前,工厂的外观质量检测仍依赖于有丰富经验的技术检测人员抽检[4],但抽样检测以及人的主观意识会导致检测率和效率低,引进自动化检测技术十分必要。
随着机器视觉检测技术的日益完善,在硬件和软件上都能较快地处理生产线上的产品。而实现多位姿的机器视觉检测需要机械臂辅助,目前机械臂在车轮检测上的主要应用是车轮的形态定位以及抓取。王士锋等对机械臂进行了抓取和悬挂车轮时的运动规划[5]。杨仲升等使用机械臂示教编程将工件完成夹持定位,并将终端运动轨迹离散成点[6]。陈玉辉等基于D-H参数建模理论建立了工业机器人的运动学模型[7]。辐条的多样性结构是成像位姿的主要研究问题,因此,需要设计一套针对辐条的自主成像系统。
1 系统总体结构设计
辐条呈现发散的条状,且同一个车轮上的辐条并不相交于同一点(不同圆心),如图1(a)所示。此外,单根辐条不具有平整的表面,如图1(b)所示。针对辐条部位的成像,首先分析辐条的个数和形态结构。辐条的形态直接导致了无法从单一角度采集到辐条上(下)半表面的全貌。
常见辐条类型横剖面模拟如图2所示。进一步证实了半表面的单次成像不可能性。同时,由于不同类型的辐条表面法向量差异较大,导致无法统一成像参数,需要对每种形态进行分析。
通过辐条的形态特征研究,2种图像采集方式可以实现:
(1)机械臂控制车轮自转,相机位置固定等间隔点采集;
(2)车轮固定,机械臂控制相机离散点采集。
由于车轮及辐条形态的多样性,车轮自转的情况下,相机并不能在固定位置或者固定时间间隔内触发采集图像。因此,本文设计的车轮自主成像系统采用车轮固定,机械臂控制相机进行标定并计算离散点采集,具体流程如图3所示。
1.1 机械臂坐标系
机械臂主要应用在生产线上工件的抓取和搬运,能够在高危环境下长时间工作。通常情况下,需要事先对工作路径进行编程控制。路径规划计算是在机械臂坐标系中的进行位置与姿态的控制,从而指导机械臂完成预定的作业任务。机械臂的工具坐标系由工具中心点TCP的位置(x,y,z)和工具的姿势(w,p,r)构成[8],w,p,r指分别围绕x,y,z轴的回转角度,如图4所示。使用机械臂标定功能将工具中心点转移到工件(镜头中心)中心点上,即机械臂读取坐标为工件坐标TCP(x,y,z,w,p,r)。
1.2 车轮坐标系
以机械臂坐标系轴向(x,y,z轴的方向)定义车轮坐标系的轴向,即车轮坐标系的零点与机械臂的零点存在位移(xc,yc,zc),但无旋转和缩放。以车轮中心孔为圆心O建立球坐标系(p,θ,φ),圆心O为零点(0,0,0),其中ρ为圆心到点的距离,θ为xy面x轴的变化极角,φ为z轴的变化方位角,如图5所示。在此车轮坐标系下,求各辐条的位置、方向和尺寸。
2 轮辐自主成像模型
2.1 标定及辐条模型
在机械臂坐标系下,将车轮平放在高度为z0′的台子上,使用机械臂在车轮上方以初始坐标TCP(x0,y0,z0,0,0,0)拍摄图片。在初始位置TCP采集的图像中识别车轮辐条,识别辐条的个数n、尺寸[9]。单根辐条的尺寸计算以外接长方形计算辐条的长a、宽b和高c。将标定图像投影到机械臂坐标系上[10],对车轮图像坐标进行机械臂坐标的转换。已知镜头视场角ω,拍摄物距z0-z0′,图片分辨率为t(pix)。识别图中车轮辐条长a′、宽b′,则可以判断出车轮的实际长a、宽b:
(1)
同时,根据图像中心位置计算出车轮的圆心位置(xc,yc,zc),如图6(a)所示。
选择一根辐条作为初始辐条,并建立模型S0(P0,β0,a,b,c,M)。其中,P0为辐条的中心位置点,β0为初始辐条的方向,a,b,c是当前车轮辐条的长宽高,M表示辐条剖面类型(S型Ms,U型Mu,Z型Mz)。中心位置点P0的车轮坐标为P0=(ρ0,θ0,0),ρ0为中心点到圆心O的距离,θ0为中心点P0到圆心O的极角,中心点P0到圆心O的方位角为0,如图6(b)所示。
根据初始辐条建立车轮辐条模型:
Si=(Pi,βi,a,b,c,M)
(2)
其中,辐条的中心点坐标Pi(ρ0.θi,0):
Pi=(ρ0,θ0+2πi/n,0),i∈[0,n]
(3)
辐条的方向βi:
βi=β0+2πi/n,i∈[0,n]
(4)
2.2 系统参数设计
系统成像参数包含根据当前拍摄辐条相机镜头的分辨率、焦距等参数选择的类型,以及根据当前拍摄辐条模型的成像位姿。
2.2.1 硬件的类型
使用面阵摄像机对每根辐条独立拍摄,当前拍摄辐条Si=(a,b,c),辐条表面的像素空间分辨率要求为(e)mm/pix,则相机的分辨率T(e)为
T(e)>(a×e)×(b×e)
(5)
镜头的工作距离需要覆盖整个辐条,随着工作距离变大景深也大,同时焦距越大景深越小。因此镜头的景深应满足T(D)>c(mm)条件。此外,镜头的视场ω和工作距离D应满足:
(6)
为了配合相机工作,选择环形光源固定在相机上位姿相对不变,且相机的工作距离D小于光源最大工作距离D′,光源视场ω′满足:
D·tan(ω′/2)>ω
(7)
2.2.2 成像位姿
每个辐条需要m次拍摄才能够将横剖法向量范围为[0,2π]的表面全部拍摄,系统成像次数共m×n次。拍摄第i根辐条的j次相机全部在辐条的中心横垂面上,如图7所示。第i根辐条的第j次拍摄的极角θij为
θij=(βi±π/2),j∈[0,m]
(8)
辐条第j次拍摄的方位角φij需要实验分析。
根据辐条模型Si(ρ0,θ0,βi)、拍摄方位角φij和工作距离D,将球坐标换算到笛卡尔坐标系下,得到第i根辐条的第j次相机拍摄位置(xij,yij,zij):
xij=ρ0cosθij+Dcosφijsinβi
yij=ρ0sinθij-Dcosφijcosβi
zij=Dsinφij
(9)
得到与拍摄辐条的相对距离和方向后,需要使用机械臂移位实现,则需要转化为机械臂位姿(位置坐标和姿势坐标),工件位置坐标:
Xij=xij+xc
Yij=yij+yc
Zij=zij+zc
(10)
工件姿势坐标:
wij=φij/sinrij
pij=φij/cosrij
rij=βi±π/2
(11)
3 实验验证
3.1 实验平台搭建
本文自主成像系统是将车轮固定放置在平台上,面阵摄像机和环形光源相对位置固定安装在机械手臂工件位置上,在初始位置采集图像对车轮进行识别标定后,利用机械臂移动到离散点处,以计算位姿采集铸造表面图像并建立图库,成像系统实物如图8所示。
3.2 实验分析
在保证辐条表面无漏拍和减少采集次数的前提下,成像方位角和次数要根据待检测辐条的形状决定,且与车轮结构位置不冲突。辐条表面法向的方位角范围为φ∈[φ0,π-φ0]∪[π+φ0,2π-φ0],常见辐条形状为:S形MS,U形MU,Z形MZ。不同形态特征的辐条表面方向差异性较大,无法统一规定成像的次数和方位角。因此,不同形状的辐条使用不同的成像次数及方位角φj。
(12)
(13)
(14)
在车轮坐标系标定实验中,通过分析拍摄车轮的正面和反面图像识别辐条形状。通过提取图像中的任意辐条,在辐条中心点做辐条的中垂线,即图像灰度横剖线,分析辐条横剖表面灰度确定当前辐条形状。如表1所示,当表面法向量越接近于平行光源和相机的方向时,表面的灰度值越大。因此,灰度横剖线峰值处为水平面。不同的辐条形状具有不同的灰度剖线形状,通过识别灰度剖线形状判定辐条类型。
表1 辐条分析
4 结束语
在工业生产中,辐条的多样性对基于机器视觉的自动化成像造成了很大的困难。本文设计的摩托车轮辐条的自主成像系统,能够利用机器视觉对目标进行识别和标定,并通过建立的成像模型计算硬件参数,最终实现机械臂控制相机移位到离散点采集图像。经实验应用,该系统能稳定地实现不同类型辐条的图像采集,达到了预期的设计目标。在后续工作中,需要尝试未知类型的辐条的图像采集。