基于STM32 的非接触物体尺寸形态测量系统

2021-12-22 07:08徐贤炜郭履宝刘子国夏鲲
电子技术应用 2021年12期
关键词:直方图形状物体

徐贤炜,郭履宝,刘子国,夏鲲

(上海理工大学 机械工程学院,上海 200093)

0 引言

工件尺寸检测是工业生产中最基础的质量控制手段之一[1]。随着电子信息地飞速发展,测量方法的换代越来越快。对于工件的检测,传统的人工测量技术已经无法满足所需要的工件的测量精确[2]。非接触测量是以光电、电磁等技术为基础,在不接触被测物体表面的情况下,得到物体表面参数信息的测量方法。典型的非接触测量方法有激光三角法、电涡流法、超声测量法、机器视觉测量等[3]。随着机器视觉的发展,视觉测量由于其测量效率高,检测范围大逐渐被重视。但不可避免地,非接触测量往往受环境因素的干扰极大,需要在特定的环境下才能完成精准测量。

本文提出一种基于STM32 单片机的非接触物体尺寸形态测量系统。系统采用OpenMV 作为视觉检测,云台作为执行机构,通过非接触式传感器,实现对物体尺寸和相对位置的快速测量,可以做到实时在线、非接触和高精度测量;同时也可以避免测量过程中人为产生的错误,实现生产的连续性,提高生产的自动化程度。尤其在疫情爆发期间,非接触式测量能够大大提高使用安全性。

1 系统设计说明

目标板摆放在距离地面100~200 cm,距离测量装置200~300 cm 的位置。背景板摆放于被测物体后方5 cm。被测目标板为正方形、正三角形等正多边形,尺寸(长、宽)为30~50 cm,颜色分别为红、绿、蓝纯色。当目标物体出现在视野内,系统自动追寻目标。当系统稳定后,屏幕显示目标物体的距离、颜色、形状、尺寸,同时激光笔指示目标的几何中心。图1 展示了一种环境布置方案。

图1 环境布置方案

2 系统总体结构

本系统的总体结构主要分为微处理器、舵机、测距模块和OpenMV 四部分。

STM32 系列单片机专为高性能、低成本、低功耗的嵌入式应用设计,本文采用STM32f103rct6 作为微处理器,其能够很好地满足设计需求[4]。

数字式舵机具有响应速度快、旋转迅速且柔和抖动较小等优点,并能够提供较高的精度和强大的固定力量。因此,本文将其用作云台动力源[5-6]。

本设计使用激光测距模块对目标物体的距离进行测定。激光测距模块在工作时向目标射出一束很细的激光,由光电元件接收目标反射的激光束,计时器测定激光束从发射到接收的时间,进而计算出从本装置到目标的距离,计算精度可达到厘米级[7]。

系统采用PID 控制算法[8]对云台实现精准控制,当系统锁定目标物品位置后,OpenMV 获取其形状、颜色、尺寸信息[9],并将信息通过串口发送给STM32。同时,STM32获取激光测距模块的距离信息。最终,测量结果通过屏幕显示便于使用者读取。系统总体结构框图如图2 所示。

图2 系统框图

3 系统硬件设计

本系统的硬件设计主要分为系统供电电路及系统信号传递回路两个部分。

3.1 系统供电回路

7.2 V 锂电池为系统主电源,通过稳压模块调节电源电压使整个系统稳定运行。为达到各模块的工作电压,供电回路采用LM2596S DC-DC 直流稳压模块,该稳压模块运用buck 电路原理,具有稳定功耗低的特点[10]。为实时监控电压,电压转换器的输出电压经分压电阻分压后,由STM32 单片机使用ADC 模块进行采样,以监测系统运行电压是否正常。系统供电电路图的总体设计如图3 所示,图中,V+表示正极,V-表示负极,V_t 表示检测电压。

图3 系统供电电路图

3.2 系统信号传递回路

STM32 通过串口与OpenMV 及激光测距模块进行通信,以获得目标物体信息。屏幕由STM32 通过SPI 进行显示控制。数字式舵机通过STM32 的PWM 波模块进行控制。系统信号电路图的总体设计如图4 所示。

图4 系统信号电路图

4 系统软件设计

本系统的软件设计主要分为云台的PID 控制算法及图像识别算法两个部分。

4.1 云台的控制算法

寻找目标时,OpenMV 获取目标物体的中心点坐标值。STM32 根据所测值与给定值的误差,运用自动控制算法算出输出值,控制激光束运动,使得激光束能够对准目标物体。云台的控制框图如图5 所示。

图5 云台的控制框图

4.2 图像识别算法

本设计使用OpenMV 进行图像识别算法的实现。OpenMV 被启动后,自动进行初始化[11-13]。当目标物体出现在视野中,OpenMV 将对其进行预查找,得到预查找框。在此预查找框的条件下,使用纯色识别算法得到目标物颜色;使用形状识别算法推算出目标物体形状及其顶点坐标[14-15]。最终根据顶点坐标计算出目标物的中心坐标及边长。OpenMV 软件流程图如图6 所示。

图6 OpenMV 软件流程图

4.2.1 OpenMV 初始化的实现

在识别图像前,OpenMV 需要进行初始化操作。步骤主要包括:(1)感光元件初始化;(2)感光元件属性值设定;(3)通信接口初始化。具体程序如下:

4.2.2 预查找

预查找时,调用寻找色块函数,由于背景板为白色,因此设置阈值为白色,并设置函数属性为反向查找,即查找与阈值不同的色块。据此得到目标图形的预查找框,作为下一步识别的参考依据。

4.2.3 颜色识别

由于预查找框会涵盖许多非目标物体的像素点,故本文开创性地将预查找框的长宽同时缩小50%得到一个与之同心的颜色识别框。随后采用像素统计函数,得到RGB 色彩空间的直方图及R、G、B 分量的众数值。通过比较三者众数值的大小,目标物体的颜色将被归入红色、绿色或蓝色。

4.2.4 形状识别

针对预查找框会将部分边界信息忽略的问题,本文将预查找框的长宽同时放大20%得到一个与之同心的形状识别框。为防止找到其他小短边,本文调用较大阈值的直线寻找函数,以得到贴合目标物体轮廓的直线。然后遍历所有直线,去除斜率接近的直线,最终得到的直线数便为目标多边形的边数,以此确定目标物体的形状。同时,根据所找到的直线,确定出多边形的顶点坐标。

4.2.5 中心、边长计算

目标物体的中心坐标可以近似为各个顶点的横纵坐标平均值。根据几何关系可以知道中心点与各个顶点的理想距离均相等,且此距离与多边形边长满足式(1)的关系。

式中,l为目标物体的像素边长,D为目标物体中心点到各个顶点的平均像素距离,n为目标物体的顶点数。

根据摄像头几何成像原理,可以得到目标物体的实际边长满足式(2)的关系。

式中,L为目标物体的实际边长;d为目标物体到测量装置的距离,在本设计中该距离由激光测距模块得到;f为摄像头的焦距。

5 实验

5.1 图像识别综合效果图

测量装置如图1 所示布置。通电后,系统自动追寻目标,当系统稳定后,保存识别图像。图像识别综合效果图如图7 所示。

图7 图像识别综合效果图

图7 中,虚线框标志物体预选框,细实线框标志颜色识别框,粗实线框标志形状识别框,细线标志目标物体边界线,圆圈标志目标物体顶点,白色十字标志目标物体中心点。实验证明,本文提出的框定策略可以较好地识别目标物体的颜色及其形状。

5.2 RGB 色彩空间的直方图

RGB 色彩空间的直方图反映的是图像中颜色的组成分布,即视野中出现的颜色以及各种颜色出现的概率。且其对图像质量的变化(如模糊)不敏感,可以防止图像质量及环境光对识别结果的干扰。本文采用图7 中颜色识别框内RGB 色彩空间的直方图,如图8 所示。

图8 RGB 色彩空间的直方图

在颜色识别框中得到RGB 色彩空间的直方图,可以观察到R 分量的众数为255,G 分量的众数为121,B 分量的众数为74。由于R 分量最大,目标物体颜色可以归入红色。实验证明,此方法能够适应各种灯光环境。

5.3 实验数据

测量装置如图1 所示布置。通电后,系统自动追寻目标,当系统稳定后,记录所需时间,同时读出尺寸和距离信息,并计算出测量值与实际值之间的误差。更换不同目标板,进行多次实验,得到数据如表1 所示。其中,MAD 表示目标数值绝对值的平均值。

表1 目标几何形状、尺寸、距离及时间的测试结果

由数据可以看出,在外界环境影响较小的情况下,目标几何形状的尺寸误差的平均值为6.0%,目标物体距离的误差平均值为1.7%,测试的平均时间为2.17 s。实验证明,本文设计的非接触物体尺寸形态测量系统具有精度较高、检测速度较快等特点。

6 结论

本系统以STM32 单片机为核心、以OpenMV为视觉检测单元、以激光测距传感器为距离检测单元,实现测量目标的颜色、形状、尺寸及距离的功能;同时通过控制激光管,快速指示目标物体中心。本文的设计可以在工业工件测量领域大展身手,具有快速稳定、智能化程度较高、造价低等特点,对于大量工件尺寸检测具有重要的现实意义。

猜你喜欢
直方图形状物体
挖藕 假如悲伤有形状……
符合差分隐私的流数据统计直方图发布
深刻理解物体的平衡
用直方图控制画面影调
你的形状
我们是怎样看到物体的
中考频数分布直方图题型展示
看到的是什么形状
基于空间变换和直方图均衡的彩色图像增强方法
为什么同一物体在世界各地重量不一样?