1. 引言
随着工业自动化、智能制造和智能检测技术的快速发展,非接触式物体尺寸与形态测量技术在各个领域得到了广泛应用,如工业质检[1]、机器人感知系统[2]、三维建模[3]及医疗设备[4]等。这种技术通过激光、视觉或其他传感器手段,无需物理接触即可实现对物体几何特征的高精度测量,避免了传统接触式测量可能导致的物体损伤或测量误差。因此,非接触式测量逐渐成为现代工业和科学研究的重要工具。
近年来,非接触式尺寸测量技术已取得显著进展。Lv等[5]提出一种基于计算机视觉技术的装配尺寸非接触式测量方法,通过相机获取物品的点云图,经过滤波、分割等处理,求出物体的深度,从而实现对零部件装配尺寸的高精度测量,测量误差控制在0.25 mm以内,可满足零部件装配的合格性检测标准;Wang等[6]提出一种基于三维激光扫描技术的非接触测量框架,并构建精确的三维几何模型,为非接触式尺寸与形态测量提供了可靠的技术支持。然而,非接触式测量系统在嵌入式平台上的实现仍存在一些关键问题,例如,如何在有限的计算资源下实现高效的实时图像处理与测量精度保证。此外,针对多样化的被测物体,如何提高系统的适应性与鲁棒性也是亟待解决的问题。
针对上述问题,本文提出一种基于STM32单片机的非接触物体尺寸形态测量系统,系统采用OpenMV4作为视觉检测模块,舵机云台作为执行机构。通过视觉算法得到物体实际长度与摄像头像素数据间的对应关系,并由串口发送至单片机进行处理,进而得到被测物体的尺寸与形状。通过激光测距测量平台与物体之间的距离,并将位置、形态信息在OLED上显示。这一系统设计减少了人为操作引入的误差,提升了测量的连续性与精度,为工业智能检测提供了可靠的技术支持。
2. 系统硬件选择
2.1. 主控系统选择
STM32F103C8T6单片机[7]基于ARM Cortex-M3内核,主频为72 MHz,具备较高的计算处理能力,能够满足复杂算法的执行和实时控制需求。此外,该芯片功耗较低,支持高效的数据传输与模块通信,能够确保系统运行的可靠性和稳定性。因此,选择STM32F103C8T6作为主控芯片,可以满足本设计在性能、功耗和通信方面的综合需求,其实物图与原理图如图1所示。
Figure 1. Physical view and schematic diagram of STM32F103C8T6
图1. STM32F103C8T6实物图与原理图
2.2. 图像处理模块选择
OpenMV4 [8]集成了高性能微控制器和图像传感器,支持实时图像采集与处理,能够快速识别并分析物体的形状、尺寸及边缘特征。其内置的图像处理库功能丰富,支持形状检测、边缘检测等关键算法,能够有效满足不同物体形态的测量需求。特别是在处理动态或复杂场景时,OpenMV4表现出较强的稳定性与高效性。此外,OpenMV4模块具有体积小、功耗低、易于嵌入式系统集成的特点,为非接触式测量系统提供了灵活的硬件支持,从而提升整体系统的响应速度与测量精度,其实物图与原理图如图2所示。
Figure 2. Physical view and schematic diagram of OpenMV4
图2. OpenMV4实物图与原理图
2.3. 激光测距模块选择
VL53L1X激光测距模块[9]具备高精度测量能力,最大测量范围可达4 m,并在不同环境条件下表现稳定可靠。且VL53L1X具有小型化和低功耗的特点,便于嵌入式系统集成,有助于提升系统的灵活性和可移动性。此外,该模块支持高达50Hz的测距频率,能够满足动态物体的实时测量需求。其良好的表面适应性使其能够应对不同材质和反射率的物体,从而在复杂测量场景中保持一致的性能,能够满足非接触式物体尺寸与形态测量的应用需求,VL53L1X模块实物图与原理图如图3所示。
Figure 3. Physical view and schematic diagram of VL53L1X
图3. VL53L1X实物图与原理图
2.4. 其他模块
该系统还包括MG996R舵机云台、OLED、1.8寸TFT显示屏、四脚按键等模块,MG996R舵机具有高扭矩、响应速度快和定位精度高等特点,在本系统中用于控制OpenMV4视觉模块的云台,实现对不同位置或高度物体的视觉扫描,扩大测量范围并提高系统的适应性。OLED显示屏用于实时显示测量的物体尺寸、形状等关键信息,具备高亮度、低功耗和显示清晰的优点。这些模块的协同工作有效增强了系统的整体性能,确保在复杂环境下实现高精度的非接触式物体尺寸与形态测量。
3. 电路与程序设计
3.1. 系统设计
Figure 4. Flowchart of system design
图4. 系统设计流程图
非接触物体尺寸形态测量系统的操作过程主要包括:①对模块进行初始化;②选择待识别物体的种类(规则平面物体、球类物体);③激光笔完成对目标物体的距离测量;④OpenMV4进行对物体形态识别、尺寸测量;⑤激光测距模块测量平台与目标物体距离;⑥OLED上显示测量信息。执行一次非接触物体尺寸形态测量的软件设计流程图如图4所示。
3.2. 电路设计
本系统由STM32F103C8T6单片机作为主控核心、OpenMV4摄像头作为图像采集模块、利用VL53L1X激光测距模块完成测距功能、同时舵机云台及其控制模块实现动态检测、直流稳压电源模块实现系统供电,系统电路设计方案如图5所示。
Figure 5. Design of the system circuit
图5.系统电路设计
3.3. 测量原理
OpenMV4视觉模块对物体形态的测量[10]过程为:①缩小区域并滤除相邻边缘;②利用直线检测算法确定目标物体的边数;③根据边数判断物体的具体形状;④定位并获取物体的顶点坐标。尺寸测量通过OpenMV库的二次开发来实现,测量原理如图6所示,公式表示为[11]。
(1)
(2)
(3)
式中,v表示物体在摄像头中所占的像素数;V表示物体实际的像素数;h是固定像素值;H是物体平面上固定像素所对应的像素值;α为固定像素线与轴线之间的夹角;β为真实物体连线与轴线之间的夹角;l表示固定像素到中心点的距离;L表示目标物体与OpenMV4之间的距离。
Figure 6. Principle of dimension measurement using OpenMV4
图6. OpenMV4尺寸测量原理
VL53L1X激光测距模块基于飞行时间(Time-of-Flight, ToF)原理[12],通过测量激光脉冲从发射到接收的时间差来计算物体与传感器之间的距离,测量原理如图7所示。系统中内置的激光二极管发射一束短脉冲激光,光束在到达物体表面后反射回接收器,模块精确测量光脉冲往返的飞行时间。依据光速c (约为3 × 108 m/s),单程距离D可以通过以下公式计算
(4)
其中,Δt表示激光从发射到接收的时间差。
由于光脉冲在测距过程中需往返传播,因此测得的时间差需取一半,以计算单程距离。VL53L1X模块通过多次测量与平均处理算法提高测量精度,并采用背景光抑制技术以降低环境干扰的影响,从而实现高精度、稳定的测距性能。
Figure 7. Principle of distance measurement using the VL53L1X module
图7. VL53L1X模块测距原理
3.4. 测量方法
按图8所示摆放测试平台。被测目标板竖直摆放,与地面距离为100 cm ≤ l1 ≤ 150 cm,被测目标背景板与测量装备距离为200 cm ≤ l2 ≤ 300 cm,被测目标板与背景板距离为l3 = 5 cm。被测目标板为直径30 cm ≤ l4 ≤ 40 cm的圆形、边长30 cm ≤ l5 ≤ 40 cm的正方形、边长30 cm ≤ l6 ≤ 40 cm的正三角形和足球、篮球、排球。测量头垂直目标板中心方向进行识别,当自动寻找目标测量时,装置自动追寻、测量并显示目标的距离、形状、尺寸。
Figure 8. The method of measurement
图8. 测量方法
4. 实验测试
4.1. 规则形状物体尺寸形态测量
选择边长为35 cm的正三角形、边长为35 cm的正方形、直径为35 cm的圆形作为测试对象,将其分别放置于距平台250 cm处,分别进行10组测试,观察OLED显示目标图形的种类、尺寸信息和测头与物体的距离信息,实验环境如图9所示,测试结果如表1所示。
Figure 9. Environment of dimension and morphology measurement for regular objects
图9. 规则形状物体尺寸形态测量环境
Table 1. Measurement data of dimensions and morphologies of regular objects
表1. 规则形状物体尺寸形态测量数据
组别 |
1组 |
2组 |
3组 |
目标图形(10次测量) |
正三角形 |
正方形 |
圆形 |
显示图形 |
正三角形(9次) 正方形(1次) |
正方形(9次) 正三角形(1次) |
圆形(8次) 正三角形(1次) 正方形(1次) |
测量平均边长(cm) |
35.12 |
35.21 |
34.85 |
目标与测头平均距离(cm) |
252.43 |
251.10 |
249.96 |
通过测试得到,在第1组测试中,对正三角形形态进行10次测量,其中9次正确识别为正三角形,1次误识别为正方形,测量成功率为90%,对正三角形尺寸进行10次测量,测得的正三角形平均边长为35.12 cm,误差为0.12 cm,对目标与测头距离进行10次测量,测得目标与测头平均距离为252.43 cm,误差为2.43 cm;在第2组测试中,对正方形形态进行10次测量,其中9次正确识别为正方形,1次误识别为正三角形,测量成功率为90%,对正方形尺寸进行10次测量,测得的正方形平均边长为35.21 cm,误差为0.21 cm,对目标与测头距离进行10次测量,测得目标与测头平均距离为251.10 cm,误差为1.10 cm。在第3组测试中,测得圆形形态正确率为80%,尺寸误差为0.15cm,目标与测头距离误差为0.04 cm。综上所述,形态测量成功率为87%,尺寸误差为0.16 cm,距离误差为1.19 cm。
4.2. 球类物体形态测量
选择篮球、足球、排球作为实验对象,将其分别放置于距平台250 cm处,分别进行10组测试,观察OLED显示目标图形的种类信息、测头与物体的距离信息,实验环境与OpenMV4显示如图10所示,测试结果如表2所示。
Figure 10. Environment of morphology measurement for spherical objects
图10. 球类物体形态测量环境
Table 2. Measurement data of morphology for spherical objects
表2. 球类物体形态测量数据
组别 |
1组 |
2组 |
3组 |
目标球种类(10次测量) |
篮球 |
足球 |
排球 |
显示球种类 |
篮球(10次) |
足球(9次) 排球(1次) |
排球(9次) 篮球(1次) |
测头与球表面平均距离(cm) |
252.21 |
250.32 |
250.36 |
通过测试得到,在第1组测试中,对篮球形态进行10次测量,其中10次正确识别为篮球,测量成功率为100%,对测头与球表面距离进行10次测量,测得测头与球表面平均距离为251.21 cm,误差为0.21 cm;在第2组测试中,对篮球形态进行10次测量,其中9次正确识别为篮球,1次误识别为排球,测量成功率为90%,对测头与球表面距离进行10次测量,测得测头与球表面平均距离为250.32 cm,误差为0.32 cm;在第3组测试中,测得排球形态正确率为90%,测头与球表面距离误差为0.36 cm。综上所述,形态测量成功率为93%,距离误差为0.30 cm。
综合4.1节与4.2节,基于STM32的非接触物体尺寸形态测量系统,形态测量误差为90%,尺寸测量误差为0.16cm,距离测量误差为0.76 cm。
4.3. 激光笔指示中心测试
选择平面正三角形、正方形、圆形作为测试对象,使用激光笔指示图形中心点,并在OLED上显示,进行8组测试,观察激光笔指示位置与图形实际中心位置的距离偏差。实验数据如表3所示。
Table 3. Distance deviation between the laser pointer indication and the actual center position of the shape
表3. 激光笔指示位置与图形实际中心位置距离偏差
次数 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
距离偏差(cm) |
0.1 |
0.1 |
0 |
0.2 |
0.1 |
0.2 |
0 |
0 |
通过测试得到,8次中心点偏差测试中,激光笔指示中心与目标图形实际中心位置的平均距离偏差为0.086 cm。测量误差产生原因包括:(1) 测量系统自身传感器存在一定的分辨率限制与系统噪声,在采集和处理图形形态、尺寸及距离数据时引入偏差;(2) 且测量环境中存在光线的不均匀分布、反射与折射现象,影响了测量的准确性。
5. 结论
本文提出一种基于STM32F103C8T6单片机的非接触物体尺寸形态测量系统,旨在解决传统接触式测量方法的诸多问题,如效率低、表面损伤大、适应性弱等。通过硬件选择、电路与程序设计以及实验测试,对系统进行了全面研究,具体得到以下结论:
(1) 规则物体形态测量成功率为87%、球类物体形态测量成功率为93%。
(2) 物体尺寸测量平均误差为0.16 cm,测量距离平均误差为0.76 cm,激光指示中心偏差为0.086 cm。
综上所述,基于STM32F103C8T6单片机的非接触物体尺寸形态测量系统在精度和效率上表现良好,具有较大的应用潜力,特别是在高精度需求和易损物品测量领域。未来,随着硬件和算法的进一步优化,系统的性能将得到进一步提升,预计可以扩展到更多实际应用场景,如自动化生产线、智能仓储以及物联网测量系统等领域。