Background Image
学院首页 > 人才培养 > 本科生培养 > 通知公告 > 正文

【机情无限 精彩毕设】机械2025届毕业设计(论文)中期检查优秀案例分享第十八期——基于机器视觉的货运列车提钩杆检测与识别

发布时间:2025.04.15 | 编辑: 李艳梅


学生姓名刘心如

      测控2021-01班

指导教师王雪梅

毕设题目基于机器视觉的货运列车提钩杆检测与识别

一、概况

1.选题意义

随着我国交通基础设施的快速发展,铁路编组站的作业效率和自动化水平也在不断提升。但在列车解体作业中,人工摘钩仍然是主要的作业方式。然而,这种人工作业方式存在多问题,例如劳动强度大观测准确度低安全隐患大等。进一步推动编组站解体作业的自动化进程,不仅是提高铁路运输效率的需要,更是保障工作人员安全的重要举措。由此,本毕业设计提出要设计开发相应的自动摘钩机器人系统,以机械手代替人手、以机器视觉代替人眼,实现驼峰自动摘钩作业的思路。

本毕业设计主要对自动摘钩机器人系统的视觉检测子系统进行设计,以期在作业时实现对目标物(提钩杆)的自动检测和识别,为控制机械手实现提钩杆抓取和摘钩操作提供重要的位置信息,从而完成货运列车摘钩操作。本毕业设计对于改善现场提钩工人劳动条件、减轻工人劳动强度、保障人员安全、提高作业效率等都具有十分重要的作用和意义。此外,自动摘钩机器人的投入和使用可以提高编组站的自动化管理水平和作业效率、提高我国铁路运输吞吐量,从而促进我国交通事业不断发展。

2.任务分解

1  视觉检测子系统技术路线图

1)查阅摘钩机器人及视觉检测的相关文献,了解学习国内外研究现状。

2)明确视觉检测系统的功能,选择合适的相机;完成总体方案设计搭建基于机械手的视觉检测系统

3)对选择的相机进行相机标定,从而获取相机的内参和外参,为下一步的手眼标定提供相机参数;对相机和执行摘钩操作的机械臂进行手眼标定,确定二者的相对位置,确保视觉信息与机械臂操作具有一致性。

4)学习各种基于机器视觉的识别算法,并研究车钩图像检测、识别算法编写程序后不断进行训练与调试。

5)对于自动摘钩系统的视觉检测子系统进行整体调试与精度分析

6)基于实验结果,得出最后结论;随后进行论文撰写,并准备答辩事宜。

二、已完成工作

1.相关环境配置

(1)Python环境配置(VS code、pycharm、anaconda软件等)

(2)相机环境配置(opencv包、swig、cmake等工具)

(3)算法环境配置(pycharm、jupyter lab等)

2.相机的选型与标定

(1)相机选型

选择了图漾FM855-E1工业3D相机。该相机是一种RGB-D相机,具有高测量精度、强抗干扰能力、兼容大视野与多场景、优化的硬件ISP(图像信号处理器)、高防护等级、紧凑的结构与便于集成、良好的软件开发支持与高性价比等优点。

2 图漾FM855-E1工业3D相机

(2)相机标定

经过MATLAB和Python代码(以及OpenCv工具)标定、MATLAB工具箱标定等的对比,综合精确度与方便程度,最终选择了MATLAB工具箱进行相机标定。部分标定结果展示如下:

3  RGB相机标定界面

3.手眼标定

手眼标定首先需获取标定板中心点三维坐标信息,然后通过SVD获得旋转矩阵与平移矩阵,并计算各个方向的均方根误差。

(1)坐标获取流程图

4  坐标获取程序流程图

(2)SVD(奇异值分解)

首先获取标定板到机械臂末端夹爪的补偿值,然后读取上一步获得的三维坐标点集信息,进行SVD手眼标定后计算误差。

5 手眼标定现场图片

6 手眼标定各方向均方根误差

目前看来,各个方向误差在较合理范围内,有待后续实验进行进一步验证。

4.数据集建立

通过实验室拍摄照片等方式,构建货运列车提钩杆的数据集。为了保证数据集的多样性,将其分为上作用车钩、下作用车钩以及踏板,并将其按比例划分为训练集(train)、验证集(valid)、测试集(test)。

5.检测识别算法

由于摘钩作业需要考虑实时性,所以目前先尝试一阶段的YOLO系列算法。YOLO系列版本众多,鉴于YOLO v5速度与性能平衡、支持端到端训练以及具有强大的迁移学习能力,YOLO v8集成注意力机制和Transformer模块,YOLO v11增强模型架构、优化GPU、提升速度、减少参数的优点,所以先从这几个经典版本入手。

7  使用YOLO v5模型训练结果

8  使用YOLO v8模型训练结果

9  使用YOLO v11模型训练结果

10  使用训练好的YOLO v5模型对试验小车上的提钩杆检测识别效果

11  使用训练好的YOLO v11模型对实际车辆上的提钩杆检测识别效果

后续会使用其他算法继续进行训练,实际识别精度有待实验验证。

三、下一步工作计划

1)继续训练其他版本的YOLO模型,例如v9、v12等;

2)如果硬件条件允许,进一步训练其他模型,之后进行对比与优化;

3)编写相机驱动程序,发送目标物坐标信息给机械臂,控制机械臂进行抓取;

4)实验完成后,进行论文写作以及其他资料的准备工作。

问题一为什么要进行标定?

回答标定相机是为了获得相机内外参数,从而校正畸变图像,获取更加准确的像素坐标;手眼标定是为了使视觉信息与机械臂操作具有一致性,能够更准确地抓取目标。

问题二数据集中车钩的背景为什么这么复杂?

回答本毕业设计基于工业现场背景,而数据集大多为实验室拍摄,环境较为单一,所以为了模拟工业现场,人为添加杂乱背景,便于后期提高算法在复杂背景下的识别能力。

刚开始选完题目后有些无从下手,但在老师的指导下,清楚的知道自己要做那些工作、每个时间段要完成什么事情,毕业设计突然就清晰了。从开始的茫然到现在逐步得心应手,对于我而言是一个很大的进步。目前按照计划,我已经完成了大部分工作,收获颇丰。

在此十分感谢指导老师王雪梅老师对我的帮助,老师总是耐心、专业地对我的毕业设计进行指导与建议,使得我思路清晰、理解更加深刻、工作效率提高。也十分感谢中期答辩时各位老师们的提问与建议,让我意识到自己的不足。接下来我会继续认真完成后续工作,为毕业设计画上一个圆满的句号。