本发明涉及到枕簧检测领域,特指一种基于机器视觉的枕簧检测方法。
背景技术:
火车检修厂通常采用以下方式检测火车枕簧:如通过检测机或高度尺测量枕簧自由高度值,采用外径卡尺检测圆钢直径的腐蚀度等。即枕簧的众多检测项目往往需要依靠多种不同的类型机器或人工逐项检测,过程多且复杂,并且效率不高,还易因人为失误影响检测的准确率,因检测工具本身限制造成检测精度不高。
技术实现要素:
针对以上不足,本发明提出一种基于机器视觉的枕簧检测方法。
本发明的目的是通过以下技术方案实现的:
一种基于机器视觉的枕簧检测方法,包括如下步骤:
步骤1,根据检测需求,设置枕簧的检测参数自由高度值和半径值的合格范围;
步骤2,调整3d视觉成像装置的位置参数、角度参数、曝光时间和视野范围,以便获取清晰的目标区域点云数据;
步骤3,数据处理与控制系统获得枕簧到达信号后开始动作,由数据处理与控制系统的控制模块控制视觉成像装置采集包含枕簧在内的目标区域点云数据,并将目标区域点云数据发送至数据处理与控制系统;
步骤4,数据处理与控制系统的数据处理模块对目标区域点云数据进行处理,计算出枕簧的检测参数,具体包括:
(1)数据处理模块对枕簧的自由高度值进行计算:基于预设高度分割出仅包含托盘的点云;对分割的仅包含托盘的点云提取平面,识别出托盘上表面并计算出托盘上表面的平面参数;根据托盘上表面的平面参数对枕簧的点云数据进行坐标变换,将枕簧的点云数据的坐标系原点及坐标系变换到托盘上表面;根据预设的枕簧高度范围,分割出包含枕簧上端面的点云;对包含枕簧上端面的点云提取法向量垂直的最大平面为枕簧上端面;计算枕簧上端面的高度值即为枕簧的自由高度值;
(2)数据处理模块对枕簧的半径值进行计算:采用聚类法对识别到的枕簧上端面点云聚类,提取点数最多的点云组,即为去噪后的枕簧上端面的点云;对去噪后的枕簧上端面的点云进行最小二乘圆拟合,得到枕簧半径值;
步骤5,数据处理与控制系统的数据检测模块将步骤4中计算出的检测参数与步骤1中设置的对应检测参数的合格范围比较,如在合格范围内则输出合格信号并送入后续工位;如不在合格范围内则输出不合格信号,并将其剔除。
步骤3所述数据处理与控制系统获得枕簧到达信号的方式为光电传感器。
步骤1中所述的枕簧的检测参数还包括5/8角值和1/4高值,具体按下述步骤进行检测:
(1)数据处理模块对枕簧的5/8角值进行计算:对枕簧上端面点云逐点遍历,求每一个点与圆心连线与坐标轴x的夹角,计算出枕簧5/8角值;
(2)数据处理模块对枕簧的1/4高进行计算:首先遍历中径上所有的点,得到z值最小的点,用步骤4中得到的枕簧自由高度值减去其z值,即为1/4高的绝对值;然后基于枕簧自由高度值,分割出枕簧中间部分的点云,对点云进行聚类,分离出每个枕簧圈并求枕簧圈的质心距离的平均值,即为枕簧螺距值;最后将1/4高的绝对值除以枕簧螺距值即为枕簧的1/4高值。
数据处理与控制系统还包括保存步骤4中计算出的检测值的数据存储模块,用于枕簧检测结果的追溯及统计分析。
采用本发明的方法可以一次性自动实现自由高度值、半径值、5/8角值、1/4高值的检测,检测效率高、节奏快,精度高,检测结果还可以保存便于枕簧检测结果的后续追溯及统计分析。
附图说明
图1是本发明的的流程示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
本发明提供的一种基于机器视觉的枕簧检测方法,如图1所示,包括如下步骤:
步骤1,根据检测需求,设置枕簧的检测参数自由高度值和半径值的合格范围;
步骤2,调整3d视觉成像装置的位置参数、角度参数、曝光时间和视野范围,以便获取清晰的目标区域点云数据;
步骤3,数据处理与控制系统获得枕簧到达信号后开始动作,由数据处理与控制系统的控制模块控制视觉成像装置采集包含枕簧在内的目标区域点云数据,并将目标区域点云数据发送至数据处理与控制系统;
步骤4,数据处理与控制系统的数据处理模块对目标区域点云数据进行处理,计算出枕簧的检测参数,具体包括:
(1)数据处理模块对枕簧的自由高度值进行计算:基于预设高度分割出仅包含托盘的点云;对分割的仅包含托盘的点云提取平面,识别出托盘上表面并计算出托盘上表面的平面参数;根据托盘上表面的平面参数对枕簧的点云数据进行坐标变换,将枕簧的点云数据的坐标系原点及坐标系变换到托盘上表面;根据预设的枕簧高度范围,分割出包含枕簧上端面的点云;对包含枕簧上端面的点云提取法向量垂直的最大平面为枕簧上端面;计算枕簧上端面的高度值即为枕簧的自由高度值;
(2)数据处理模块对枕簧的半径值进行计算:采用聚类法对识别到的枕簧上端面点云聚类,提取点数最多的点云组,即为去噪后的枕簧上端面的点云;对去噪后的枕簧上端面的点云进行最小二乘圆拟合,得到枕簧半径值;
步骤5,数据处理与控制系统的数据检测模块将步骤4中计算出的检测参数与步骤1中设置的对应检测参数的合格范围比较,如在合格范围内则输出合格信号并送入后续工位;如不在合格范围内则输出不合格信号,并将其剔除。
步骤3所述数据处理与控制系统获得枕簧到达信号的方式为光电传感器。
步骤1中所述的枕簧的检测参数还包括5/8角值和1/4高值,具体按下述步骤进行检测:
(1)数据处理模块对枕簧的5/8角值进行计算:对枕簧上端面点云逐点遍历,求每一个点与圆心连线与坐标轴x的夹角,计算出枕簧5/8角值;
(2)数据处理模块对枕簧的1/4高进行计算:首先遍历中径上所有的点,得到z值最小的点,用步骤4中得到的枕簧自由高度值减去其z值,即为1/4高的绝对值;然后基于枕簧自由高度值,分割出枕簧中间部分的点云,对点云进行聚类,分离出每个枕簧圈并求枕簧圈的质心距离的平均值,即为枕簧螺距值;最后将1/4高的绝对值除以枕簧螺距值即为枕簧的1/4高值。
数据处理与控制系统还包括保存步骤4中计算出的检测值的数据存储模块,用于枕簧检测结果的追溯及统计分析。
与现有的技术相比,本发明提供的一种基于机器视觉的枕簧检测方法,可以一次性自动实现自由高度值、半径值、5/8角值、1/4高值的检测,检测效率高、节奏快,精度高,检测结果还可以保存便于枕簧检测结果的后续追溯及统计分析。