首先我们来看看往期内容。 来了解一下tcp的基础。
看往期请点这里《工具坐标》
TCP是机器人位置运算的一个非常重要的因素,机器人所记录的位置都是记录TCP点在基坐标或者世界坐标系中的位置。 所以tcp的位置至关重要。
那么什么是tcp呢?
TCP有什么特点呢?
我们如何运用TCP? 带着以上这些问题我们来探讨一下
什么是TCP: Tool Center Position工具中心点,是指工具坐标系的原点,没有建立工具坐标系的时候默认采用TOOL0,即法兰坐标系。 TCP有什么特点:
这个问题要先说一下工具坐标系的特点,工具坐标系可以方便我们对机器人进行灵活的运动操作,可以通过程序运算改变位置和姿态,可以建立外部工具可以通过程序切换工具。 其实tcp的特点就和工具的特点是一致的,并且很多人都会把工具和TCP理解为一个东西,其实他们也算是一个东西。
我们如何运用TCP:
1.建立TCP让机器人的运动可以围绕TCP运动。 这是建立tcp的最基础目的,完全为了操作方便。
建立方法参考往期。 机器人有一个默认坐标系,法兰坐标系,工具坐标系就是参照这个坐标系进行计算的。
如下图
2.通过切换工具来获得不同位置的TCP,让机器人可以实现多工具工作。 并且随之切换负责数据。
标准版机器人的工具可以建立16个。 就是说机器人可以有16个可以参考计算的TCP点。 那么当我们需要更换参考点时就可以切换程序来实现了。
但是切换的时候一定要注意运行安全!!!
代码语言:javascript复制def prog()
ini
ptp home vel=100 default
$tool = tool_data[1]
$load = load_data[1]
ptp xp1
ptp xp2
$tool = tool_data[2]
$load = load_data[2]
ptp xp3
;...
;或者用联机表单直接切换
PTP p3 Vel=50 % PDAT2 Tool[1] Base[0]
PTP p4 Vel=50 % PDAT2 Tool[2] Base[0]
end
3.运用Tool_data[n]在程序中修改TCP的位置,实现机器人的轨迹偏移。 任何一个工具坐标都在config中记录数据的。 这个数据是可以在程序中进行修改的。
代码语言:javascript复制def prog2()
ini
tool_data[2]=tool_data[1];将工具坐标1的值赋给工具2,以确保原始的工具坐标不被改变
PTP p5 Vel=100 % PDAT2 Tool[2] Base[0]
tool_data[2].x=tool_data[2].x 100;修改工具2的坐标位置(基于法兰坐标系)
PTP p5 Vel=100 % PDAT2 Tool[2] Base[0];运动到修改工具后的点
end
代码语言:javascript复制def prog3()
frame p
ini
p={x 100,y 0,z 0,a 0,b 0,c 0}
tool_data[2]=tool_data[1];将工具坐标1的值赋给工具2,以确保原始的工具坐标不被改变
PTP p5 Vel=100 % PDAT2 Tool[2] Base[0]
tool_data[2] = tool_data[2]:p;沿着工具坐标方向修改工具坐标位置
PTP p5 Vel=100 % PDAT2 Tool[2] Base[0];运动到修改工具后的点
end
需要注意的是两个程序中所修改的方式不同所实现的位置也会不同,根据实际情况应用。
4.配合视觉系统进行位置计算。 视觉系统往往都需要计算出机器人的TCP位置,尤其3D视觉。
在2D视觉中TCP的位置决定了旋转中心。 也就决定了是否能够成功抓取产品
相信玩过相机的朋友都见过这东西,这就是用于相机标定的“棋盘格”,这个板是需要用tcp去碰触的。而且建议将TCP点定在相机坐标的旋转中心,否则会导致A方向出问题。
3D视觉就是直接标定出机器人的tcp位置的。所有3D相机往往都是发送绝对坐标给机器人的,这时tcp点的位置一定要用标定时所采用的工具坐标。