![ABB工业机器人进阶编程与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/794/44819794/b_44819794.jpg)
1.2.1 定义TCP
1.通用机器人
如果现场加工的工具与设计的数模一致,则可以通过3D数模软件直接获取工具末端相对于机器人法兰盘的位姿(TCP数据),输入机器人系统即可。但现场由于加工和安装等问题,通常TCP数据需要使用四点法(或者更多点)人工示教并计算得到。
使用四点法(或者更多点)时,将需要定义的工具末端以不同姿态接近空间一个固定点(见图1-15),并分别记录4个不同姿态时的机器人在tool0坐标系中的位姿信息,利用RAPID函数自动计算获得。
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_28_1.jpg?sign=1738837101-A10BQkhCiZ4WLUzQSH7Fe2XZScUdY5wz-0-9c2a6f7484b0050758d7b97c52e07d56)
图1-15 四点法定义TCP
ABB工业机器人在示教器中提供定义TCP的辅助方法,具体步骤如下。
(1)如图1-16所示,在示教器中的“手动操纵”界面中,单击“工具坐标”,并单击“新建”。
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_28_2.jpg?sign=1738837101-G50j2pbce4LLMQek4j5IpekFD78KPUJi-0-8c78d82be02fed935e6afc05b38f929e)
图1-16 单击“工具坐标”
(2)ABB工业机器人采用tooldata类型的数据表示工具数据,工具数据中除TCP坐标系数据外,还有工具质量、重心位置及惯性矩和惯性轴等数据。默认质量(Mass)数据为-1,需要根据实际情况修改(工具质量和重心也可通过系统的LoadIdentify服务例行程序自动获得,如图1-17所示),如图1-18所示,单击“更改值”即可进行修改。
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_29_1.jpg?sign=1738837101-5ttNUE0EykBScJ6jD79jkpdXbGIqR2wq-0-2f961d72de1770cc05c33e39d7fd279e)
图1-17 LoadIdentify服务例行程序
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_29_2.jpg?sign=1738837101-hzHGvirI4zYJuIcFKMNhiiLQlYHxo9SZ-0-e8e2506736570a21e58d14d8edd76a84)
图1-18 单击“更改值”,修改工具数据中的质量及重心数据
(3)单击图1-18中的“定义”,按照图1-15所示,令工具末端以不同的4种姿态接近空间中的同一固定点,并分别记录位置。最后单击“确定”,计算得到当前TCP。
(4)使用图1-19所示的“TCP(默认方向)”方法获得TCP,姿态数据与tool0坐标系平行。若要自定义TCP的方向,可以选择图1-20所示的方法。其中,“延伸器点Z”如图1-21所示,“延伸器点Z”到定点的连线为TCP的Z方向。
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_29_3.jpg?sign=1738837101-znO0Drt4G8hacDzrwakZoyu2I46BYks1-0-58c757d66a28982c27ffbd17a43b5697)
图1-19 记录4个不同姿态位置
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_30_1.jpg?sign=1738837101-EPriZg99GwiTXQM2Avl8MxWV9CE0Dc2d-0-6c00cf3e31ad845eae959e2b090e1da3)
图1-20 带方向的TCP定义
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_30_2.jpg?sign=1738837101-adJIvXZXeBThAAg6kq2TBSgkJSB22OEA-0-b6e476df21a22731b0d05f36b619b608)
图1-21 “延伸器点Z”及其TCP的Z方向定义
2.SCARA与四轴码垛机器人
在使用示教器提供的TCP定义功能时,通常需要人工让机器人以不同的4种姿态接近同一个点,如图1-15所示。对于Scara机器人(平面关节机器人,如图1-22中左边的机器人)和四轴码垛机器人(如图1-22中右边的机器人),由于其机械结构特性,机器人是无法绕工具末端任意旋转(通常只能绕z轴旋转)的。对于该类型的机器人,其TCP只能定义x、y和rz。
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_30_3.jpg?sign=1738837101-bZqNWaM9c64B8pBrA0ENaiVtLYpgTP8N-0-bbdb01ba69a14af5488dba6f6c8d7860)
图1-22 Scara机器人和四轴码垛机器人
Robotware 6.09之前的版本,机器人示教器不支持该类型机器人TCP的定义,但可以人工编写代码实现,其原理如图1-23所示:机器人令工具末端以不同姿态接近同一个点,此时不同位置的tool0在一个圆上。通过多点计算圆心,再利用坐标转化获得TCP数据。
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_31_1.jpg?sign=1738837101-mpeuPGnB53V6bHRrdwfTlMCaMgSFwAV9-0-6c5b9ccb1aba67bd105838f69ba20455)
图1-23 Scara机器人计算TCP原理
在Robotware 6.09以后的版本中,示教器支持四轴机器人TCP的定义,可以使用图1-24所示的界面进行定义。默认得到的TCP数据中的z为0。
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_31_2.jpg?sign=1738837101-vXniNam8KqEcpE4ZSBfIZ0IBnpQLdMJZ-0-304de7786d9db49016f10f4fc326cdc5)
图1-24 Robotware 6.09开始支持4轴机器人TCP的定义