ABB机器人配件|ABB机器人飞拍是如何实现
您是否对将工业自动化集成到您的设施中感兴趣?如果是这样,那么您应该致电工业自动化和集成领域的***工博士。工博士是包括FANUC,Yaskawa,KUKA,Kawasaki和ABB在内的多家不同机器人公司的认证集成商。我们的员工致力于帮助您为您的行业和预算构建和定制***的自动化系统。
通常机器人在利用相机进行拍照定位处理时,机器人为静止。
为提高生产节拍,“飞拍”概念被广泛应用,即机器人在经过拍照点时不停止拍照。
如上图,来料位置随机(随机位置产生教学见 随机物料产生与抓取),ABB机器人去固定位置抓取。此时抓取的工件位置偏差,需要机器人在经过相机上方时触发拍照,并在*后放置时调整机器人姿态将产品放入指定位置。
整个过程(尤其是拍照过程),机器人不停止运动。
考虑到延时,机器人在经过固定拍照位前需触发拍照信号。
方法1:机器人经过相机前的Sensor并触发拍照
方法2:机器人经过相机前自身发出信号,即在到达某些位置前发送信号,运动过程不停止。
本文主要采用方法2,可以使用ABB机器人TriggerL指令,配合TriggInt,在指定位置前一定距离或者时间发出信号并在中断里等待拍照完成信号与接受数据并更新机器人TCP,过程机器人不停止运动。
代码如下:
PROC main()
reset do_attach;
tool1:=Tooldata_1;!Tooldata_1为标准TCP,即采用该TCP去固定位置抓取
count:=0;
Idelet intno1;
ConNECT intno1 WITH tr1;
TriggInt trigg1,0.5\Time,intno1;
!此处设计为固定点前0.5s触发中断,也可使用提早距离
WHILE count<5 DO
tool1:=Tooldata_1;
PulseDO do_new;
MoveL offs(Target_10,0,0,90),vmax,z100,Tooldata_1\WObj:=wobj0;
MoveL Target_10,v1000,fine,Tooldata_1\WObj:=wobj0;
set do_attach;
WaitTime 0.3;
MoveL offs(Target_10,0,0,90),v1000,z100,Tooldata_1\WObj:=wobj0;
TriggL Target_cam,v500,trigg1,z100,Tooldata_1\WObj:=wobj0;
!经过拍照点前0.5s触发中断,机器人继续运动
!中断事件内收到拍照结果并更新TCP
MoveL offs(Target_cam,0,50,0),v500,z100,Tooldata_1\WObj:=wobj0;
MoveL offs(pPlace,0,0,30),v500,z100,tool1\WObj:=wobj0;
!放置时,采用修正后的新TCP tool1
!运动过程转弯半径不采用fine,保证机器人不停止
….
Incr count;
ENDWHILE
ENDPROC
TRAP tr1
VAR pose pose1;
PulseDO\PLength:=0.1,do_cam;
!发出拍照信号
waitdi di_cam_wait,1;
!等待拍照完成信号
!此处也可修改为通过socket接受数据
pose1.trans.y:=-pos1.y;
pose1.rot:=OrientZYX(-pos1.z/1000*180/pi,0,0);
tool1.tframe:=posemult(tool1.tframe,pose1);
!更新TCP,由于拍照结果相对于原TCP,故使用位姿的右乘
!注意拍照结果与原有TCP坐标系的关系
TPWrite "tool1 "\Pos:=tool1.tframe.trans;
TPWrite "tool1 rz"\num:=-pos1.z/1000*180/pi;
ENDTRAP
在此处联系我们或致电与我们联系,以获取有关ABB机器人配件和解决方案的快速简便的报价。
了解更多请咨询:ABB机器人配件