机器人坐标变化彻底理解

本文介绍了坐标变换的基本概念,包括从A坐标系到世界坐标系W的点坐标转换,以及坐标系之间的旋转平移变化。通过矩阵运算,阐述了如何求解点在不同坐标系下的坐标,以及如何确定一个坐标系相对于另一个坐标系的位置和姿态。

 如图所示分别Ow为世界坐标系,Oa为A坐标系,Ob为坐标系。其中\left ( r_{a}, t_{a} \right )为A坐标系相对于世界坐标系的空间变换,\left (r_{b}, t_{b} \right)为A坐标系相对于世界坐标系的空间变换,同时也是坐标系A、B的位姿。

公式解释说明:

        此处请注意变化的主体,主体不同矩阵的含义不同。

        {P_{1}^{A}}:为点1在坐标系A下的点坐标。

        {T_{A}^{W}}:为从坐标系A到坐标系W的齐次坐标矩阵(4x4),同时也是世界坐标系旋转平移为A坐标系的变化矩阵。

        {R_{A}^{W}}:为从坐标系A到坐标系W的旋转变化矩阵(3x3),同时也是世界坐标系W旋转为A坐标系的旋转变化矩阵。与前面r_{a}对应。

        t_{A}^{W}:为从坐标系A到坐标系W的平移变化向量,同时也是世界坐标系平移为A坐标系的平移变化矩阵。与前面t_{a}对应。 

1、点的坐标变化

        问题: 假设A坐标系中有一点P_A,求该点在世界坐标系W中的坐标P_W     

{P_{1}^{W}} = {T_{A}^{W}}*{P_{1}^{A}}

其中:{T_{A}^{W}} = \begin{bmatrix} {R_{A}^{W}}&{t_{A}^{W}} \\ 0& 1 \end{bmatrix},代入上式:

{P_{1}^{W}} = {R_{A}^{W}}*{P_{1}^{A}} + {t_{A}^{W}}

        反过来已知世界坐标系中的点{P_{1}^{W}},求A坐标系中的点{P_{1}^{A}},即是一个求逆的过程。

{P_{1}^{A}} = {T_{A}^{W}}^{-1}*{P_{1}^{W}}

其中:{T_{A}^{W}}^{-1} = \begin{bmatrix} {R_{A}^{W}}^{-1}&-{R_{A}^{W}}^{-1}{t_{A}^{W}} \\ 0& 1 \end{bmatrix},代入上式:

{P_{1}^{A}} = {R_{A}^{W}}^{-1}*{P_{1}^{W}} - {R_{A}^{W}}^{-1}{t_{A}^{W}}

2、求坐标系的旋转平移变化

         假设W坐标系下有一坐标变换B,若B作用在A坐标系后,A的新坐标系A^{'}为:

        首先坐标变换B是围绕世界坐标系变化的,所以后续运算应该左乘。

        {P_{1}^{A'}} = {T_{A}^{A^{'}}}* {T_{W}^{A}}

其中:{T_{A}^{A^{'}}} = \begin{bmatrix} {R_{B}^{W}}&{t_{B}^{W}} \\ 0& 1 \end{bmatrix},代入上式:

\left\{\begin{matrix} t^{'} = R^{A}*t^{B}+t^{A}\\ R^{'}=R^{B}*R^{A} \end{matrix}\right.

 3、两个坐标系之间的相对变化

        求从A坐标系到B坐标系的坐标变化为:

        \left\{\begin{matrix} {P_{1}^{W}} = {T_{A}^{W}}*{P_{1}^{A}}={R_{A}^{W}}*{P_{1}^{A}} + {t_{A}^{W}}\\ {P_{1}^{W}} = {T_{B}^{W}}*{P_{1}^{B}}={R_{B}^{W}}*{P_{1}^{B}} + {t_{B}^{W}} \end{matrix}\right.

 两者相等可得:

        {P_{1}^{B}} = {T_{B}^{W}}^{-1}* {T_{A}^{W}}*{P_{1}^{A}}

{P_{1}^{B}} = {T_{B}^{W}}^{-1}*({R_{A}^{W}}*{P_{1}^{A}} + {t_{A}^{W}})

{P_{1}^{B}} = {R_{B}^{W}}^{-1}*({R_{A}^{W}}*{P_{1}^{A}} + {t_{A}^{W}}- t_{B}^{W})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值