你是怎么回原点的呢?(一)
Q:为什么要写机器人回原点的程序?
A:1.项目实施地现场环境复杂,特别是装配、打磨等应用中,机器人需要将末端夹具伸入产品内移动,当前任务终止后需开始新的任务,是需要退出来再重新开始的。
2.客户现场的操作员,对机器人的操作水平落差较大,更多的是不会操作机器人示教器的。
3.机器人自动/半自动回原点能够一定程度上保证安全路径上,不造成产品和物料损失。
Q:什么是机器人回原点?
A:机器人通过人为调用程序或者复位操作,自动从当前位置以安全的方式和路径回到原点。
Q:怎么做机器人回原点?
A:通过程序判断,执行动作;
通过区域划分回原点
*应用到的功能和函数:获取机器人当前位置。
步骤:
1.在机器人周围根据作业内容划分多个区域;
2.在步骤1划分的每个区域中寻找一个安全区域,该区域以XYZ某一个方向的范围到达为宜;
3.在步骤2寻找的安全区域中示教一个安全点;
4.规划步骤3中的安全点回原点的固定路径;
5.用机器人坐标系下的X、Y、Z划分步骤1划分的安全区域
6.用机器人坐标系下的X、Y、Z的一个方向划分步骤2划分的安全区域
7.读取机器人当前位置;
ActualPos:=CRobT(\Tool:=Gripper\WObj:=wobj0);
8.将X、Y、Z分别存储到单独的变量中;
X:=ActualPos.trans.x;Y:=ActualPos.trans.y;Z:=ActualPos.trans.z;
9.通过对X、Y、Z的大小进行组合当前位置在步骤1划分的哪个区域;
IF y>0 and x>0 THEN
ELSEIF y<=0 and x>0 THEN
ELSEIF y>0 and x<=0 THEN
ELSEIF y>0 and x>-1200 AND x<1400 AND z>1200 THEN
ELSE
TPWrite 'NO way go home point';
EXIT;
ENDIF
10.直线移动进入步骤2划分的安全区域;
ActualPos.trans.X:=1600;MoveL Offs(ActualPos,0,0,0),GoHomeSpeed,fine,Gripper;
11.机器人自由移动到固定点;
MoveJ MidPoint,GoHomeSpeed,z200,Gripper\WObj:=wobj0;
12.再从固定点就按照固定的安全的路径回原点;
MoveJ HomePoint,GoHomeSpeed,fine,Gripper;
END
你是怎么回原点的呢?怎么看待自动回原点呢?咱们移步留言区讨论回原点的好方法。
赞 (0)