协作臂学习(3)-坐标系搞不清?

位姿理解到了,可以开始上手摆弄协作臂了吗?先等等,坐标系搞清楚没有?先看下常用的坐标系。

协作臂常用坐标系

进行协作臂开发,肯定少不了跟这几个坐标系打交道。

1.基坐标系(世界坐标系)

协作臂都有基坐标系,默认原点是协作臂底座的中心点。如果机械臂是正放安装的姿态,Z轴垂直于安装面向上,X和Y轴在安装平面上,具体方向各厂家略有不同。如图1

2.工具坐标系(末端坐标系)

6轴或7轴的协作臂的工具坐标系,原点一般在第6或7轴法兰末端中心,也叫TCP(Tool Center Point);如果连接有末端执行器,则一般在执行器中心轴末端(或夹爪中点)。Z轴与末端法兰轴心重合,指向末端的朝向。如图1

3.用户坐标系

用户自己定义的坐标系,一般是已有生产线或者应用场景的情况下,用户已经提前定义好的坐标系。

4.相机坐标系

一般是指相机拍摄像图像时,产生图像的坐标系。在协作臂使用机器视觉时需要用到。如图1

v2-79657b2abbf839ef3ea78e38d496bf45_b.jpg
图1-手眼标定中的坐标系

这么多坐标系,相互之间少不了变换。比如,在相机中拍到的某个物体,在基坐标系中的位置在哪里?

坐标系变换

一个坐标系变成另一个坐标系,主要包括两方面:位置(原点),姿态(XYZ轴向)。原点位置的变换叫做平移;姿态的变换叫做旋转

平移变换

就是姿态不变,只移动原点,就是矢量相加。点P在坐标系{B}中的位置记为

^B{P} ,坐标系{A}与{B}姿态相同,{B}的原点相对于{A}原点的向量为
^AP_{BORG} ,点P在{A}中的位置为
^AP 。变换公式为:

^AP=^BP+^AP_{BORG}

v2-52360bf0daa079d97245c1ccd3ddac82_b.jpg
坐标系平移变换

旋转变换

就是原点重合,姿态改变,一般用旋转矩阵来表示。点P在坐标系{B}中的位置记为

^BP ,坐标系{A}与{B}原点重合,{B}相对{A}的姿态描述就是旋转矩阵
^A_BR ,点P在{A}中的位置为
^AP ,变换公式为:

^AP= ^A_BR ^BP

v2-3c28bf750ad97ac1b936ccb85c279213_b.jpg
坐标系旋转变换

复合变换(平移+旋转)

一般情况下,坐标系的变换都是复合变换,需要平移原点再进行旋转完成变换。点P在坐标系{B}中的位置记为

^BP ,{B}的原点相对于{A}原点的向量为
^AP_{BORG} ,{B}相对{A}的姿态描述就是旋转矩阵
^A_BR ,点P在{A}中的位置为
^AP ,变换公式为:

^AP= ^A_BR ^BP+^AP_{BORG} (复合变换公式)

v2-52b964c6bb15062cd24b32fc301b03be_b.jpg
坐标系复合变换

齐次变换矩阵

可以看到复合变换中又是矢量加法,又是矩阵乘法,变换起来其实有点麻烦。用一个4x4的矩阵把复合变换中的位置与姿态统一表示出来,就是齐次变换矩阵。下面公式中的

^A_BT 就是一个齐次变换矩阵:

^AP= ^A_BT ^BP

其结构为4x4:

\left[  \begin{array}{cc} ^A_BR & ^AP_{BORG}\\ 000 & 1 \end{array}\right]

这样一来,使用齐次变换矩阵后,坐标系的复合变换也直接变成矩阵乘法运算了。

多个坐标系的变换

有了齐次变换矩阵,表示多个坐标系的变换就方便了。已知坐标系{C}相对于{B}的变换,且已知坐标系{B}相对{A}的变换。要将点在{C}中的表示

^CP 变换为在{A}中的表示
^AP 。已知:

^BP=^B_CT^CP ,又已知:
^AP=^A_BT^BP ,两式合并代入有:
^AP=^A_BT^B_CT^CP 。可定义:

^A_CT=^A_BT^B_CT

v2-6a418b73b34de9c341ad4ed25bc0a397_b.jpg
多个坐标系之间使用齐次变换矩阵

齐次变换的逆变换

已知坐标系{B}相对坐标系{A}的齐次变换

^A_BT ,求
^B_AT 。已知
^A_BT ,就已知
^A_BR
^AP_{BORG} 。由旋转矩阵的性质可知:

^B_AR=^A_BR^T

由上面的复合变换公式可以得到

^B\left( ^AP_{BORG} \right)=^B_AR^AP_{BORG}+^BP_{AORG} ,因为在{B}中
^AP_{BORG} 为0,所以有

^BP_{AORG} =-^B_AR^AP_{BORG}\\=-^A_BR^{T}{^AP_{BORG}}

根据齐次变换矩阵的定义,可写出:

^B_AT=\left[  \begin{array}{cc} ^A_BR^T & -^A_BR^T{^AP_{BORG}}\\ 000 & 1 \end{array}\right]


变换方程

坐标系变换最常用到的地方,就是相机与机械臂末端的手眼标定。变换方程,就是在已知变换矩阵的情况下,求出未知矩阵。

v2-c7c50d8b1096803d9141312373601f4e_b.jpg
坐标系变换方程

由上图可知

^U_CT=^U_AT^D_AT^{-1}{^D_CT}
^U_CT=^U_BT^B_CT ,于是等式替换:

^U_AT^D_AT^{-1}{^D_CT}=^U_BT^B_CT ,要求解
^U_AT ,可变换等式:

^U_AT=^U_BT^B_CT{^D_CT}^{-1}{^D_AT}

现在,坐标系的变换都搞清楚了吧?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值