导读:在工作中,通常会使用机器人去实现物料的抓取,而物料的颜色、形状、大小、角度等参数,机器人无法去实现,而视觉相机有可以实现这一功能。但是双方交换数据时,需要编程人员去规约或者提取。今天就和大家聊聊ABB机器人与视觉的通信及数据处理。
本次机器人与视觉这边,我们采用的是Socket通信。这种协议我们在这不作介绍,主要的重点是给大家介绍双方数据的提取和转换过程。
机器人欲抓起物料,但是物料的角度只能通过视觉相机这边提供给机器人(2D相机,可以识别平面旋转角度)。
在编程之前,我们要掌握机器人去准确抓取一个物料的条件有两个:1.物料的位置值 2.物料的旋转角度值。所以,需要视觉这边提供3个数据,分别是:物料的X和Y位置数据和Z旋转角度值。但是ABB机器人工具的旋转姿态由q1/q2/q3/q4四个参数(四元素)决定,而视觉相机发过来的值是旋转角度值(欧拉角),所以要通过欧拉角转换为四元素机器人才能调整适合的工具姿态去抓取物料。
MODULE Module1
VAR num cam_x:=0;定义视觉发送X位置数据值
VAR num cam_y:=0; 定义视觉发送y位置数据值
VAR num cam_angle:=0; 定义视觉发送旋转角度数据值
CONST robtarget p10:=[[-1.289131E-05,3.351449E-06,237.1972],[0.01633704,-3.806521E-08,0.9998665,-3.595199E-08],[-1,0,-1,0],[9E&#