您好!欢迎光临工博士智能制造网!平台热线:021-80392549
工博士机器人网
abb机器人配件服务商
产品:137  浏览:45675
3
您当前的位置:首页 » 新闻中心 » ABB机器人配件|ABB基于视觉的输送链随机抓取与ABB机器人队列函数
产品分类
新闻中心
ABB机器人配件|ABB基于视觉的输送链随机抓取与ABB机器人队列函数
发布时间:2020-04-29        浏览次数:80        返回列表
ABB机器人配件|ABB基于视觉的输送链随机抓取与ABB机器人队列函数


您是否对将工业自动化集成到您的设施中感兴趣?如果是这样,那么您应该致电工业自动化和集成领域的***工博士。工博士是包括FANUCYaskawaKUKAKawasakiABB在内的多家不同机器人公司的认证集成商。我们的员工致力于帮助您为您的行业和预算构建和定制***的自动化系统。


肺炎期间,口罩需求持续升级。

在口罩的实际生产中,来料位置很可能随机,处理方式自然就是在输送链上方加入摄像头,捕捉产品位置偏差并告知机器人进行矫正。

默认输送链生成的产品位置固定,如何产生上图中的随机效果?

1. 可以通过Smart组件完成。可以在输送链起点附近增加LineSensor,对感应的产品,通过Positioner组件修正其位置。其中Positioner内产生的位置误差来自随机组件random,具体设置如下图。


ABB机器人视觉

2. 注意:向量组件Vector中的xyz单位为mm,而接受的输入单位是M,向量组件Vector中的ABC角度单位为度,接受输入角度单位为弧度。

3. 为方便模拟,在调整完产品位置后,把产品新位置告知机器人(通过RapidVariable组件),模拟相机识别

以上完成了输送链产品的随机位置产生
ABB机器人

由于上图相机位置离机器人实际跟踪抓取位置较远,相机给出的坐标需要记录。机器人在提取坐标时,总是提取*前面的一组数据。完成以上数据,就需要队列Queue功能。可惜ABB机器人RAPID并没有默认提供队列功能。

可以自己构造如下队列功能,队列的含义为:每次插入的数据存入队列*后,每次提取的数据为数组*前数据,提取后同时需要把后续数据向前递进

PROCInsertQueue(pos pos1)

q_LastNo:=q_LastNo+1;

q_pos{q_LastNo}:=pos1;

ENDPROC



PROCClearQueue()

FOR i FROM 1 TO 100 DO

q_pos{i}:=[0,0,0];

ENDFOR

q_LastNo:=0;

ENDPROC



FUNC posGetQueue()

VAR pospos_result;

VAR pospos_tmp{100};

IFq_LastNo=0 THEN

RETURN[-999,-999,-999];

ELSEIFq_LastNo=1 THEN

pos_result:=q_pos{1};

q_LastNo:=0;

q_pos{1}:=[0,0,0];

ELSE

pos_tmp:=q_pos;

pos_result:=q_pos{1};

q_pos{q_LastNo}:=[0,0,0];

q_LastNo:=q_LastNo-1;

FOR i FROM 1 TOq_LastNo DO

q_pos{i}:=pos_tmp{i+1};

ENDFOR

ENDIF

RETURNpos_result;

ENDFUNC



机器人记录相机输出数据,则可以通过中断信号触发并将数据存入队列完成。

TRAPtr_getdata

p_test.z:= p_test.z/1000;

InsertQueue p_test;

ENDTRAP

由于收到的数据为x,y和rz,rz为弧度,ABB机器人使用四元数进行角度计算,所以在具体机器人纠正轨迹时,需要通过orientzyx函数将角度转化为四元数,并赋值给wobj的oframe(Uframe已经被输送链驱动)

PROC calwobj()

wobj_cnv1.oframe.trans.y:=p_curr.y;

wobj_cnv1.oframe.rot:=OrientZYX(p_curr.z*180/pi,0,0);

ENDPROC

在此处联系我们或致电与我们联系,以获取有关ABB机器人配件和解决方案的快速简便的报价。


了解更多请咨询:ABB机器人配件

 

联系热线:18616260662(微信同号) 联系人:王青慧 联系地址:上海市宝山区富联一路98弄6号7楼

技术和报价服务:星期一至星期六 8:00-22:00 abb机器人配件服务商