博主最近在做强化相关的任务,用到了UR5机械臂,所以本文主要讲述在使用过程中,对于UR机器人位姿的理解。在阅读本文之前,希望大家能够花一点时间读一下我的另一篇博文空间信息与坐标变换。
本文如有错误的地方,欢迎大家指正,欢迎讨论。
机座和工具
首先UR机器人里定义了两个坐标系,一个是机座坐标系,一个是工具坐标系,机座坐标系就是以UR机器人的底座中心为坐标原点,y轴正方向为电线伸出的方向,z轴正方向为机座关节朝上的方向,由于是右手坐标系,就能知道x轴的正方向了。工具坐标系,坐标中心为工具圆盘中心,y轴正方向为工具圆盘上的凸点的反方向,z轴正方向为工具圆盘朝外的方向,同理右手坐标系,知道x轴正方向。当然你也可以简单的看工作界面来知道坐标系。这里默认机座坐标系为基准坐标系,也就是CSYS。同时,我们再提到另一个概念叫做TCP,在机器人中经常用到,全称为Tool Central Point,也就是工具中心点。
机器人移动
关于机器人移动,一共有三种移动指令,movej,movel,movep,分别是关节运动,线性运动,圆周运动。movej的参数是相应关节的弧度,一般机器人都是6自由度的,也就是6个关节,也就是6个参数,表示的终止位置时6个关节的弧度。对于movel和movep呢,也是6个参数,但是不再是弧度,分别是x,y,z,rx,ry,rz,它们代表的是,一个空间中的位姿,x,y,z代表位置,rx,ry,rz代表姿态,这里需要注意的是,这个位姿指的是基于CSYS的TCP的位姿。使用movel和movep呢,就是使用相应的方式(线性或圆周)来将TCP移动到该位姿。
movej各关节姿态是唯一的,这很好理解,毕竟是直接定义每个关节。而使用movel和movep移动出来的各关节姿态并不唯一,我们可以使用不同的关节姿态来使得TCP达到相应位姿,那么由于该原因,从不同的位姿出发就可能产生不同结果。
由movel,还引申出movel_tool,也就是以工具坐标系为基准来进行线性移动。<