1.我们知道,以下代码表示,机器人用当前工具t1的TCP移动到坐标系wobj0下的target_10点,即让当前TCP和wobj0坐标系下的target_10点重合。
PERStooldata t1:=[TRUE,[[31.792631019,0,229.638935148],[0.945518576,0,0.325568154,0]],[1,[0,0,1],[1,0,0,0],0,0,0]];
CONSTrobtarget Target_10:=[[522.290926873,0,471.0320615],[-0.000000201,-0.000000003,1,-0.000000001],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
MoveL Target_10,v200,z1,t1WObj:=wobj0;
2. 在进行打磨等作业时,由于砂纸等产品的损耗,或者需要增大压力,就需要让机器人实际走位置时沿着工具的z方向多压一点,如何实现?
3. 显然,调整点位是不合适的。让TCP的z沿着当前TCP坐标系移动会简单很多。如下图。
即:由于new tcp沿着原有TCP坐标系的Z方向后退,此时让机器人用new tcp走到老位置,就会产生实际工具下压的效果。
4. 对于TCP沿原有工具坐标系移动,可以使用PoserVect(pose, pos)指令,具体为:
t1:=MyTool;
!MyTool为标准工具TCP
t1.t
frame .trans:=PoseVect(mytool.tframe ,[0,0,adjust]);!t1沿着原有mytool坐标系调整,adjust为负,TCP的z往后退,实际机器人会下压
5. 完整机器人代码如下:
PROCtest_polish()
set_tool 0;
Path_10;
set_tool -1;
! 设置下压1mm
Path_10;
ENDPROC
PROC set_tool(num adjust)
t1:=MyTool;
=PoseVect(mytool.t
frame ,[0,0,adjust]); :ENDPROC
PROC Path_10()
=wobj0; :
=wobj0; :
=wobj0; :
=wobj0; :
ENDPROC