KERRYMEI 发表于 2015-6-11 18:28:10

什么是工业机器人的TCP

“要确定一个刚体在空间的位姿,须在物体上固连一个坐标系,然后描述该坐标系的原点位置和它三个轴的姿态,总共需要六个自由度或六条信息来完整地定义该物体的位姿。”上面这段话是摘自[美] Saeed B. Niku 著的《机器人学导论——分析、系统及应用》 中文版第48页的内容。想象一下,一个物体在空间可以在X\Y\Z三个方向平动,也可以围绕着X/Y/Z转动,这就是为什么有6个自由度的原因了。工业机器人使用的途径就是要装上工具(TOOL)来操作对象,那么如何描述工具在空间的位置呢,显然,方法就是在工具上绑定(定义)一个坐标系即工具坐标系TCS(Tool Coordinate System),那么这个TOOL坐标系的原点就是所谓的 TCP点 (Tool Center Point) 工具中心点。在机器人轨迹编程时,就是将工具在另外定义的工作坐标系中的若干位置X/Y/Z和姿态Rx/Ry/Rz记录在程序中。当程序执行时,机器人就会把TCP点移动到这些编程的位置。一、常规TCP无论是何种品牌的工业机器人,事先都定义了一个工具坐标系,无一例外地将这个坐标系XY平面绑定在机器人第六轴的法兰盘平面上,坐标原点与法兰盘中心重合。显然,这时TCP就在法兰盘中心。不同品牌的机器人有不同的称呼,ABB机器人把这个工具坐标系称为tool0,REIS机器人称之为 _tnull。下图拿 REIS 的机器人3D模型 RV10-6 来说明,为了突显出默认的工具坐标系,特将模型的本体做了透明化处理。(这个图片是从REIS的软件ProVis里截取出来的)http://www.davidrobot.com/wordpress/wp-content/uploads/2011/10/TCP_TCS_ROBOT.png
虽然可以直接使用这个默认的TCP,但是在实际使用时,用户显然希望自己来定义自己的TCP点来更好的操作对象,比如焊接时,用户希望把TCP点定义到焊丝的尖端,那么程序里记录的位置便是焊丝尖端的位置,记录的姿态便是焊枪围绕焊丝尖端转动的姿态。下图是一个新的工具坐标系的例子,仅向Z轴方向平移,形成的新的坐标系。http://www.davidrobot.com/wordpress/wp-content/uploads/2011/10/TCP_ROBOT.png为了更好的理解,请观看下面的视频 (ABB RobotStudio):http://v.youku.com/v_show/id_XMzEyNzkxMjI4.html
实际上,用户自定义TCP时,是定义了新的tool 坐标系原点在tool0坐标系中的位置,以及新tool坐标系在tool0坐标系中的姿态。如果考虑到动力学因素,还要定义工具的质量、重心、转动惯量。以便更好地使机器人在真实物理世界空间中运动。这种TCP是和机器人法兰盘相对位置是固定的,是最常用的TCP类型。思考:焊接应用中,TCP如何补偿?二、固定TCP前面介绍的TCP是跟随机器人本体一起运动,但是也可以将TCP定义为机器人本体以外静止的某个位置。常应用在涂胶上,胶罐喷嘴静止不动,机器人抓取工件移动。其本质是一个工件坐标系。(20141027更新: 《ABB 机器人的固定工具仿真》)三、动态TCP前面介绍的TCP是相对于机器人本体法兰盘坐标系,或者大地坐标系,但随着更复杂的应用,TCP可以延伸到机器人本体轴外部,应用在TCP需要相对法兰盘做动态变化的场合。这种可称之为动态工具( Dynamic Tool),其TCP可称之为动态TCP 。
页: [1]
查看完整版本: 什么是工业机器人的TCP