1. 问题引入
之前介绍的N点标定
与N点标定衍生
模块中描述的都是机械手TCP坐标系
与实际的工作中心坐标系
重合的情况。这种情况下,通过标定得到的映射关系将图像坐标映射到机械手坐标就是实际的工作坐标。
在实际的项目中,夹具安装在机械手法兰上且最终的执行模块(例如,吸盘)。其中法兰中心坐标系为TCP坐标系,吸盘中的局部坐标系为实际工作坐标系。布局图的俯视图可能如下:
如上图所示,如果直接使用N点标定得到的映射关系获取到的机械手坐标系下的坐标进行对象的抓取,显然是不能实现的。为了实现具体的功能,需要知道TCP
坐标系与工作
坐标系之间的位置关系。
2. 解决方案
根据问题引入
中的描述,如果知道TCP
坐标系与工作
坐标系之间的位置关系,便可以将通过标定关系映射得到的机械手坐标系下的坐标进一步映射,从而得到正确的结果。因此,问题的症结在于求取TCP
坐标系与工作
坐标系之间的位置关系。
2.1 位置关系
流程如下:
- 将机械手绕
固定的
TCP点旋转三次以上 - 每次旋转均拍摄一次吸盘的推向
- 求取吸盘中心点
- 使用标定矩阵将中心点映射到机械手坐标系
- 将多个机械手坐标系下的吸盘中心点拟合成圆
- 拟合圆的半径即为TCP坐标系原点到吸盘局部坐标系原点的距离 l l l
2.2 角度关系
- θ1 为吸盘局部坐标系与像素坐标系之间的角度,通过图像处理计算得到
- θ2 为像素坐标系与机械手BASE坐标系之间的角度,通过N点标定或N点标定衍生模块得到
- θ3 为TCP坐标系与机械手BASE坐标系之间的角度,一般情况下这两个坐标系的方向是相同的。如果不同可通过示教BASE的结果得到
这样在通过图像处理获取工作坐标系的X轴在像素坐标系下角度
后,通过映射关系可获取其在TCP坐标系下的角度
θ
\theta
θ
2.3 偏移量计算
在获取到参数 l l l 与 θ \theta θ 后,可通过一下公式计算出其在X与Y方向的偏移量:
δ X = l ∗ c o s ( θ ) δ Y = l ∗ s i n ( θ ) \delta X = l * cos(\theta)\\ \delta Y = l * sin(\theta) δX=l∗cos(θ)δY=l∗sin(θ)