基于深度视觉的机器人插孔识别和测量研究毕业论文
2021-11-01 21:13:05
摘 要
在工业4.0时代,机器人的作用不再只是按照设定好的程序重复工作,面对变化的工件对象,我们需要机器人自动执行相关操作,而这个过程的实现与视觉技术密不可分。本文以机器人插孔操作为背景,讲述了视觉系统搭建的必要工作,编写了插孔识别程序,通过标定得到插孔的具体空间坐标。
本文主要工作如下:
首先,在介绍了机器人视觉技术的发展状况后,讲解了相机标定、机器人标定、手眼标定的基本原理。
其次,简单介绍了机器人运动学中正运动学和逆运动学求解关节角的计算方法。
然后,具体介绍了本实验中用到的硬件与软件,借助ROS和Matlab实现对Astra Pro深度相机中深度图与彩色图的提取。
最后,运用OpenCV在深度图中完成插孔的识别和定位,并将插孔中心的像素坐标转换到世界坐标系中。
论文主要研究了三标定的基本原理以及深度图中插孔的识别定位方法。
实验结果表明:通过深度图进行插孔识别能有效解决彩色图中的干扰因素问题。
本文的特色:此研究使用深度相机完成了以往彩色相机的任务,对标定、识别、关节角转换都进行了基本原理的阐述。
关键词:机器人;标定;深度视觉;插孔识别定位;关节角求解
Abstract
In the era of industry 4.0, the role of robots is no longer just to work repeatedly according to the set program. Facing the changing workpiece objects, we need robots to work automatically. The realization of this process is inseparable with vision technology. Based on the background of robot jack operation, this paper describes the necessary work to build a vision system, compiles a jack identification program, and obtains the specific spatial coordinates of the jack through calibration.
The main work of this paper is as follows:
Firstly, after introducing the development of robot vision technology, the basic principles of camera calibration, robot calibration and hand-eye calibration are explained.
Secondly, the calculation method of joint angle for forward kinematics and inverse kinematics of robot kinematics is briefly introduced.
Then, the hardware and software used in this experiment are introduced in detail. With the help of ROS and Matlab, the depth map and color map in Astra Pro depth camera are extracted.
Finally, OpenCV is used to identify and locate the jack in the depth map, and the pixel coordinates in the center of the jack are converted to the world coordinate system.
This paper mainly studies the basic principle of three calibration and the identification and positioning method of jack in depth map.
The experimental results show that jack identification by depth map can effectively solve the problem of interference factors in color map.
Features of this paper: This research uses depth camera to complete the task of color camera in the past, and expounds the basic principles of calibration, recognition and joint angle conversion.
Key Words: robot; calibrations; depth vision; jack recognition and positioning; joint angle solution
目 录
摘 要 I
第1章 绪论 1
1.1课题研究背景及意义 1
1.2计算机视觉的发展现状 2
1.2.1国外现状 2
1.2.2国内现状 3
1.3深度视觉的应用 4
1.4本文主要研究内容 4
第2章 三标定 5
2.1相机标定 5
2.1.1内部参数 5
2.1.2外部参数 7
2.2机器人标定 8
2.2.1建模 8
2.2.2测量 9
2.2.3参数辨识 9
2.2.4误差补偿 10
2.3机器人与相机相对位置标定 10
2.4本章小结 11
第3章 机器人运动学 12
3.1正运动学 12
3.2逆运动学 13
3.2.1代数法求解 13
3.2.2几何法求解 14
3.2.3数值法求解 15
3.3本章小结 15
第4章 系统构成及深度图提取 16
4.1系统硬件 16
4.2系统软件 17
4.2.1机器人操作系统ROS 18
4.2.2 Matlab 22
4.3本章小结 24
第5章 识别程序 25
5.1对象分析 25
5.2程序设计 25
5.3程序效果 28
5.4本章小结 31
第6章 总结与展望 32
6.1总结 32
6.2展望 32
参考文献 33
致谢 34
第1章 绪论
1.1课题研究背景及意义
自从上世纪八十年代起,由于机器人在自动化生产方面的应用前景很大,而被大家寄予厚望,随后机器人领域的发展发生了很多令人震惊的变化。先前研究者预测,未来整个工厂只需要极为少数的操作工就可完成以往大量的工作,有些激进者甚至大胆预言,未来连电力照明都是多余的,因为机器人将有这个能力在黑暗的环境中继续完成工作。这些预言如今看来有些过于夸张,但若找寻这些预言为何没有实现的原因,结果发人深省,主要原因是机器人很难代替,或者在某些方面等同于人类。人类非常善于自己的工作。自动化制造不是简单地安装一个机器人来代替产品装配线上的工人,这涉及到复杂的系统集成问题。通常来说,想要用机器人代替工人,从头开始设计工作单元,这里面涵盖了工艺流程的重新分解、所需配件的再次设计、中控台的设计、计算机软件的程序编写以及大量传感器之间的通讯功能问题等。这样带来的结果就是:除了堆垛、喷漆涂装、焊接等操作简单的任务,使用机器人节省下来的人力成本并不能和开发机器人的耗资相互持平[1]。