项目实战——基于计算机视觉的物体位姿定位及机械臂抓取(基本原理)
项目实战——基于计算机视觉的物体位姿定位及机械臂矫正(基本原理) 首先让各位关注我的朋友们久等了,这个项目是我本科的毕业设计,写到四之后,我就一直忙于各种各样的事情,没有时间继续写了,十分抱歉。最近我终于抽出时间了 ,看了看之前写的,总觉得代码过多而原理过少。而且之前做项目的时候,走了不少弯路,甚至不少.
项目实战——基于计算机视觉的物体位姿定位及机械臂抓取(基本原理)
首先让各位关注我的朋友们久等了,这个项目是我本科的毕业设计,写到四之后,我就一直忙于各种各样的事情,没有时间继续写了,十分抱歉。最近我终于抽出时间了 ,看了看之前写的,总觉得代码过多而原理过少。而且之前做项目的时候,走了不少弯路,甚至不少错路,这也写进去了。因此,在这里,我打算重开本专题,把我的毕设完完整整的讲明白。
另外请各位读者朋友注意,这里面很多东西涉及到我的毕设,写作辛苦,请勿滥用,转载请务必注明出处!
项目研究目标
设计一套基于双目视觉的系统,实现物体位姿自动识别与抓取功能。
项目研究内容
研究设计以解决以下四点问题:
1、如何利用两颗摄像头实现双目测距;
2、标志物的设计及如何实现标志物的识别;
3、物体位姿的判定方法;
4、确定机械臂的运动学逆解,并实现抓取。
好的,现在就让我们开始第一部分的介绍,这也是计算机视觉的核心问题:如何利用两颗摄像头实现双目测距。
双目测距原理
如图 2.1-1 所示,分别以Ol和Or为坐标原点建立相机坐标系 Ol − ??????和 Or − ??????:
其中:Ol为左摄像机光心,Or为右摄像机光心,世界坐标系O − XYZ与坐标 系Ol − ??????重合。P 为三维现实世界中的一点,在左右摄像机上分别成像于点P l和Pr。 假设左右摄像机完全平行(即:左右相机坐标系的 x 轴共线,yOz平面平行),平行间距为B,则从俯视图上看,如图 2.1-2 所示:
其中,f 为焦距,Z 为待测的深度(距离)信息,不难得出:
∣ p l p r ∣ = B − ( x l − x r ) |p_l p_r |=B-(x_l-x_r) ∣plpr∣=B−(xl−xr)
根据相似三角形原理有:
∣ p l p r ∣ / B = ( Z − f ) / Z |p_l p_r |/B=(Z-f)/Z ∣plpr∣/B=(Z−f)/Z
因此,待测的深度(距离)信息为:
Z = f B / ( x l − x r ) Z=fB/(x_l-x_r ) Z=fB/(xl−xr)
如果要根据上述公式对三维世界中的点进行双目测距,需要确定的参数有:摄像机的焦距(f)、两个摄像机的平行间距(B)、同一个点在两个摄像机平面所成像的像素坐标。
因此,需要计算的信息有:
1、两个摄像机的内在参数(焦距等参数);
2、两个摄像机的外部参数(相对位姿等参数);
3、进行立体匹配,确定同一个点在两个摄像机成像位置。
但是,上述情况是双目摄像头是在理想情况下的测距计算方法,实际情况下还存在诸多误差因素,主要有:
1、摄像机在生产的过程中,由于镜片的制造工艺和装配误差,会造成一定程度的畸变,使得成像出现偏差,严重影响后续的图像处理。因此需要进行畸变矫正,以保证成像一致;
2、两个摄像机在外观上不可能完全平行,在x、y、z三个方向上都会存在差异,如果不经过计算,直接进行对应点的计算,就会存在很大的误差。因此需要确定两个相机的相对位姿信息,予以矫正。
综上,实现双目测距的具体步骤如图 2.1-3 所示:
单目标定:计算摄像机的内部参数,消除相机的畸变;
双目标定:计算两个摄像机的相对位姿信息,并进行矫正;
立体匹配:将左右摄像机拍摄图像的对应像素点关联起来;
计算深度:根据公式确定待测的深度(距离)信息。
图2.1-4生动地描述了上述过程:
以上即为双目测距的主要原理的,那么下一部分就是单目标定了。
Hunt Tiger Tonight
2019-10-29
联系方式:18398621916@163.com(请勿使用其他联系方式,谢谢!)
PS:再次请各位读者朋友注意,这里面很多东西涉及到我的毕设,写作辛苦,请勿滥用,转载请务必注明出处!
更多推荐
所有评论(0)