对于一些常见的码垛跺型,可以利用数组来存放各个摆放位置数据,在放置程序中直接调用该数据即可。只需示教一个基准位置p1 点。之后创建一个数组, 用于存储5个摆放位置数据:
[100.500.0,- ,0090.分别对应700 0,0,901;5个摆项数值 分别代表x、放位置:每组数据中有 数组中的各项数Y 2偏移值以及能转度数。放位置T相对于基准值只需按照几何算法算出各摆点p的X、v. z偏移值以及旋转度数(此例子中产品长为600mm,宽为400mm)
PERS num nCount:=1;
定义数字型数据,用于产品计数
PROC rPlaceO
MoveL RelTool (pl, nPosition{nCount,},nPosition{ nCout,2),nPosition{nCount,3}\Rz:= nPosition{nCount,4}),V 00ne,tGripperWobjPallet L;
ENDPROC
调用该数组时,第项索引号为产品计数nCount,利用RelTool功能将数组中每组数据的各项数值分别叠加到X、Y、Z偏移,以及绕着工具Z轴方向旋转的度数之上,即可较为简单地实现码垛位置的计算。
带参数例行程序
在编写例行程序时,可以附带参数。
下面以一个简单的画正方形的程序为例来对此进行介绍。程序如下:
PpROC tDraw Square (oboaget pSant,
MoveL pStart, v100, fine, tol n num nSizneMoveL OfssiatnSize,0,0, v100tine, oll;MoveL Os(sSart,nSize,’ nSizc,0, 10.finen
ooll;
MoveL Oftfpstario, nSiz.0, v100 ine,tMoveL pStart, v100, fine, ooll; tooll;
ENDPROC
在调用此带参数的例行程序时, 需要输入一个目标点作为正方形的顶点,同时还需要输入一个数字型数据作为正方形的边长。
PROC rDraw()
rDraw_ Square p10,100;ENDPROC
在程序中,调用画正方形程序,同时输入顶点p10、边长100, 则机器人TCP会完成
码垛节拍优化技巧
在码垛过程中,*为关注的是每- - 个运行周期的节拍。在码垛程序中,通常可以在以下几个方面进行节拍的优化。
1,在机器人运行轨迹过程中,经常会有一些中间过渡点,即在该位置机器人不会具体触发事件,例如拾取正上方位置点、放置正上方位置点、绕开障碍物而设置的-些位置点,在运动至这些位置点时应将转弯半径设置得相应大一些,这样可以减少机器人在转角时的速度衰减,同时也可使机器人运行轨迹更加圆滑。
例如:在拾取放置动作过程中,机器人在拾取和放置之前需要先移动至其正上方处,之后竖直上下对工件进行拾取放置动作。在机器人TCP运动至pPrePick和pPrePlace点位的运动指令中写入转弯半径z50,这样机器人可在此两点处以半径为50mm的轨迹圆滑过渡,速度衰减较小。在满足轨迹要求的前提下,转弯半径越大,运动轨迹越圆滑。但在pPick和pPlace点位处需要置位夹具动作,所以一般情况下使用fine,即完全到达该目标点处再置位夹具。
2)善于运用Trigg 触发指令,即要求 工业机器人典型应用案倒销析利用WaiDil指令,当等待到条件满足则立即执行。
例如:在夹取产品时,一般预留夹具动作时间,设置等待时间过长则降低节拍,过短则可能夹具未运动到位。若用固定的等待时间Waitime,则不容易控制,也可能增加节拍。此时若利用WaitDI监控夹具到位反馈信号,则可便于对夹具动作的监控及控制。
程序如下:MoveL pPick,yEmptyMin,fine,tGripper;Set doGripper;(Waittime 0.3;)
WaitDI diGripClose,1;
MoveL pPlace,yLoadMin,fine,tGripper;Reset doGripper;(Waittime 0.3;)
在置位夹具动作时,若没有夹具动作到位信号diGripOpen和diGripClose,则需要强制预留夹具动作时间0.3s。 这样既不容易对
夹具进行控制,也容易浪费时间,所以建议在夹具端配置动作到位检测开关,之后利用WaitDI指令监控夹具动作到位信号。
4,在某些运行轨迹中,机器人的运行速度设置过大则容易触发过载报警。在整体满足机器人载荷能力要求的前提下,此种情况多是由于未正确设置夹具重量和重心偏移,以及产品重量和重心偏移所致。此时需要重新设置该项数据,若夹具或产品形状复杂,可调用例行程序LoadIdentify,让机器人自动测算重量和重心偏移;同时在置位夹具动作时,若没有夹具动作到位信号diGripOpen和diGripClose,则需要强制预留夹具动作时间0.3s。 这样既不容易对夹具进行控制,也容易浪费时间,所以建议在夹具端配置动作到位检测开关,之后利用WaitDI指令监控夹具动作到位信号。
4)在某些运行轨迹中,机器人的运行速度设置过大则容易触发过载报警。在整体满足机器人载荷能力要求的前提下,此种情况多是由于未正确设置夹具重量和重心偏移,以及产品重量和重心偏移所致。此时需要重新设置该项数据,若夹具或产品形状复杂,可调用例行程序LoadIdentify,让机器人自动测算重量和重心偏移;同时也可利用AccSet度,在易触发过指令降低加速度,
例如:
指令来载报警过后再将加速度的轨迹之修改机器前利用此加大。
Set doGripper;MovelL Pc.vEmpyMi.,fin, trippe;WaitDI diGripClose,l;AccSet 70,70;
MoveL PacevL.aMi fne Gipe.Reset doGripper;
WaitDI diGripOpen,1;AccSet 100,100;
在机器人有负载的情况下利用AccSet指令将加速度减小,在机器人空载时再将加速度加大,这样可以减少过载报警。、
5)在运行轨迹中通常会添加-些中间过渡点以保证机器人能够绕开障碍物。在保证轨迹安全的前提下,应尽量减少中间过渡点的选取,删除没有必要的过渡点,这样机器人的速度才可能提高。如果两个目标点之间离的较近,则机器人还未加速至指令中所写速度,则就开始减速,这种情况下机器人指令中写的速度即使再大,也不会明显提高机器人的实际运行速度。
例如:机器人从pPick点运动至pPlace点时需要绕开中间障碍物,需要添加中间过渡点,此时应在保证不发生碰撞的前提下尽量减少中间过渡点的个数,规划中间过渡点的位置,否则点位过于密集,不易提升机器人的运行速度。
更多ABB机器人码垛技术请点击:ABB机器人