六自由度机械臂的视觉分拣研究 | ![]() |
近年来,机械臂的利用率显著提高,它可以应用到我们的日常生活中,例如越疆的Dobot-Magician,也可以应用于工业生产中。著名机械臂生产商包括瑞士的ABB、日本的FANUC、德国的KUKA等。本实验用的小型六自由度的ABB机械臂(型号是120),主要是通过机械臂进行分拣红色和银色料块。通过欧姆龙相机进行识别,配合机械臂完成分拣工作。
1 六自由度机械臂好的运动规划是保证机械臂安全运行的关键。需要设定机械臂运动路径上的一些点,然后运用逆运动学把这些点映射到关节空间中,利用关节空间的运动函数进行插值运算,再从起始点移动至目标点,这个过程就是对机械臂的轨迹规划[1]。本文将五阶多项式作为路径段,确定起始点、终点的位置及速度和加速度[2]。
$ \theta \left( t \right) = {a_0} + {a_1}t + {a_2}{t^2} + {a_3}{t^3} + {a_4}{t^4} + {a_5}{t^5} $ | (1) |
可以设置一些约束条件:
$ {\theta _0}{\rm{ = }}{a_0} $ | (2) |
$ {\theta _f} = {a_0} + {a_1}{t_f} + {a_2}t_f^2 + {a_3}t_f^3 + {a_4}t_f^4 + {a_5}t_f^5 $ | (3) |
$ {{\dot \theta }_0}{\rm{ = }}{a_1} $ | (4) |
$ {{\dot \theta }_f} = {a_1} + 2{a_2}t_f + 3{a_3}t_f^2 + 4{a_4}t_f^3 + 5{a_5}t_f^4 $ | (5) |
$ {{\ddot \theta }_0}{\rm{ = 2}}{a_2} $ | (6) |
$ {{\ddot \theta }_f} = 2{a_2} + 6{a_3}{t_f} + 12{a_4}t_f^2 + 20{a_5}t_f^3 $ | (7) |
$ {a_0} = {\theta _0} $ | (8) |
$ {a_1} = {{\dot \theta }_0} $ | (9) |
$ {a_2} = \frac{{{{\ddot \theta }_0}}}{2} $ | (10) |
$ {a_3} = \frac{{20{\theta _f} - 20{\theta _0} - \left( {8{{\dot \theta }_f} + 20{{\dot \theta }_0}} \right){t_f} - \left( {3{{\ddot \theta }_0} - {{\ddot \theta }_f}} \right)t_f^2}}{{2t_f^3}} $ | (11) |
$ {a_4} = \frac{{30{\theta _0} - 30{\theta _f} - \left( {14{{\dot \theta }_f} + 16{{\dot \theta }_0}} \right){t_f} - \left( {3{{\ddot \theta }_0} - 2{{\ddot \theta }_f}} \right)t_f^2}}{{2t_f^4}} $ | (12) |
$ {a_5} = \frac{{12{\theta _f} - 12{\theta _0} - \left( {6{{\dot \theta }_f} + 6{{\dot \theta }_0}} \right){t_f} - \left( {{{\ddot \theta }_0} - {{\ddot \theta }_f}} \right)t_f^2}}{{2t_f^5}} $ | (13) |
过MATLAB的tpoly()函数可以生成五次多项式的轨迹:假设初始位置为0,最后的位姿为6,初速度是4,最后的速度为0,最初和最后的加速度都是0,时间的长度为20。
![]() |
图 1 tpoly()生成的多项式轨迹 |
![]() |
图 2 机械臂的仿真图 |
2 机械臂的视觉伺服
视觉伺服主要应用于机器人技术,通过光学装置和非接触性的传感器自动接收处理一个真实的图像,然后通过图像获得的信息让机器人更好地控制机器的运转。
视觉伺服是控制整个机械臂分拣系统的最重要的一环,其主要过程如下:
![]() |
图 3 视觉伺服控制过程框图 |
创建针孔相机模型的关键是弄清各个坐标系的关系和相互映射的具体位置[5-6]。
图像坐标系的创建:包括像素坐标系和物理坐标系,如图 4所示[7-8]。
![]() |
图 4 图像坐标系 |
物理坐标系是(O-xy),像素坐标系为(O-UV),两者之间的关系是[9-10]:
$ U = \frac{x}{k} + {u_0} $ | (14) |
$ V = \frac{y}{l} + {v_0} $ | (15) |
其中k和l代表的是像素点在物理坐标系下的实际的大小,(u0, v0)是相机与平面的交点。
图 5中(OC-XCYCZC)是相机的坐标系,(OW-XWYWZW)是世界坐标系,此坐标系建立在机械臂的末端执行器的下方,也就说机械臂抓手的坐标系可以通过世界坐标系平移得到。
![]() |
图 5 针孔相机模型 |
相机的标定:在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型[11],这些几何模型参数就是相机参数。在大多数条件下,这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。在图像测量或机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是此研究工作的重点所在。本文采用张正友法进行相机的标定,它的一般步骤是[12]:
1) 打印一张棋盘格,贴在一个平面上,作为标定的物体。
2) 调整摄像机或者物体的方向,可以拍摄出不同角度的照片。
3) 然后从拍摄的照片中取出角点来。
4) 估计在理想情况下的内部和外部参数。
5) 用概率论中的极大似然估计,提高估算精度。
![]() |
图 6 通过MATLAB处理的棋盘图 |
然后通过cameraParams-IntrinsicMatrix和cameraParams-RadiaIDistoryion指令来分别得出内参矩阵和径向畸变。
3 图像处理图像处理过程是通过欧姆龙摄像头拍摄部件图片,然后对图片进行两步操作:目标提取和目标识别。
目标提取:包括图像分割技术和边缘提取技术[13]。通过灰度直方图可以对图像进行分割,即统计图片中灰度级出现的次数:假设一幅图中有M个像素,分别有N个灰度等级数,也就是第k个灰度等级出现的次数用Mk表示,k=0, 1, 2,…,N-1。由图 7两个工件的灰度直方图可以看出:当灰度值为90~200时,图像识别为红色;灰度值为200以上时为银色。
![]() |
图 7 在摄像头下和经过处理的灰度直方图 |
目标识别:包括特征提取和图像分类(最后一步)。即:首先对图像进行二值化处理;再利用连通标记法获取工件的个数;最后提取特征,进行识别。
具体处理过程如下:
1) 获取各个角点A、B、C、D的坐标[14]。
2) 利用以下公式得到中心点E的坐标,以及对角线和各个边的夹角α、β。
$ \left\{ \begin{array}{l} {x_E} = \left( {{x_A} + {x_B} + {x_C} + {x_D}} \right)/4\\ {y_E} = \left( {{y_A} + {y_B} + {y_C} + {y_D}} \right)/4\\ \alpha = \arctan \frac{{\sqrt {{{\left( {{x_C} - {x_D}} \right)}^2} + {{\left( {{y_C} - {y_D}} \right)}^2}} }}{{\sqrt {{{\left( {{x_A} - {x_D}} \right)}^2} + {{\left( {{y_A} - {y_D}} \right)}^2}} }}\\ \beta = \arctan \frac{{{y_C} - {y_B}}}{{{x_C} - {x_B}}} \end{array} \right. $ | (16) |
3) 通过α值判断工件是正方形还是圆形,E坐标和β值给机械臂提供抓取参数。
4 结语本文相机标定在采用张正友标定法的基础上也利用了直接标定法的知识,提高了相机标定的准确性;将工件坐标系和世界坐标系联系在一起,为机械臂抓取工件提供了坐标数据。在机械臂的轨迹规划中采用的是五阶多项式作为路径段, 确定起始点、终点的位置以及速度和加速度,能很好地完成机械臂的轨迹规划工作。此设计可广泛应该用于工业流水线中的分类码垛过程。
[1] |
李海龙.六轴工业机械臂的结构设计与轨迹规划[D].淮南: 安徽理工大学, 2018.
|
[2] |
孙小肖.轻量化采样机械臂关节控制及轨迹规划研究[D].镇江: 江苏科技大学, 2015. http://cdmd.cnki.com.cn/Article/CDMD-10289-1015996861.htm
|
[3] |
徐理达.码垛机器人运动控制器研究[D].青岛: 青岛科技大学, 2018.
|
[4] |
张弩.基于神经网络的六自由度机械臂控制算法分析及验证[D].重庆: 重庆大学, 2017. http://cdmd.cnki.com.cn/Article/CDMD-10611-1017722655.htm
|
[5] |
KANG S H, WANG B W, LEE S W. Multiple people tracking based on temporal color feature[J]. International Journal of Pattern Recognition and Artificial Intelligence, 2003, 17(6): 931-949. DOI:10.1142/S0218001403002708 |
[6] |
WEINLAN D, RONFARD R, BOYER E. A survey of vision-based methods for action representation, segmentation and recognition[J]. Computer Vision and Image Understanding, 2011, 115(2): 224-241. DOI:10.1016/j.cviu.2010.10.002 |
[7] |
LIU N, SHI HS, WANG J, et al.The Research of mobile location estimation with reducing NLOS errors.Proceedings of 2010 4th International Conference on Intelligent Information Technology Application [C].2010, 11(3): 231-239. http://cpfd.cnki.com.cn/Article/CPFDTOTAL-ZNXX201011015009.htm
|
[8] |
吴源远.高速分拣机械手视觉识别技术研究[D].无锡: 江南大学, 2009. http://cdmd.cnki.com.cn/Article/CDMD-10295-2009250687.htm
|
[9] |
王乐.基于视觉伺服的工业机器人控制技术研究[D].南京: 南京林业大学, 2012. http://cdmd.cnki.com.cn/Article/CDMD-10298-1012033644.htm
|
[10] |
李明.运动食品机器视觉的识别与定位技术的研究[D].哈尔滨: 哈尔滨商业大学, 2014. http://cdmd.cnki.com.cn/Article/CDMD-10240-1015539464.htm
|
[11] |
段彦婷.机械臂视觉伺服系统的研究[D].哈尔滨: 哈尔滨工业大学, 2008. http://cdmd.cnki.com.cn/Article/CDMD-10213-2009228891.htm
|
[12] |
苏剑波. 机器人无标定手眼协调. [M]. 北京: 电子工业出版社, 2010.
|
[13] |
顾雨迪.基于覆盖分割的图像边缘提取算法研究与应用[D].无锡: 江南大学, 2016. http://cdmd.cnki.com.cn/Article/CDMD-10295-1016265035.htm
|
[14] |
LIU Z Y, ZHAO B, ZHU H B.Research of sorting technology based on industrial robot of machine vision[C].Fifth International Symposium on Computational Intelligence and Design, 2012. https://www.researchgate.net/publication/262159447_Research_of_Sorting_Technology_Based_on_Industrial_Robot_of_Machine_Vision
|