Transform总结

针对
\[P'=T_{2}T_{1}P\]
其中\(P\)表示一点,针对上式,有两中解释方法:一个是坐标系动,一个是点动.
(1)将上式从左向右看,可以在\(T_{2}\)左边乘以I,则先是平移旋转坐标系I,然后平移旋转坐标系\(IT_{2}\),得到坐标系\(IT_{3}T_{2}\).然后在该坐标系中(基于该坐标系)绘制出P点,再从原始坐标系观测P点即可得到新的\(P'\)的坐标;
(2)将上式从右向左看,整个过程中坐标系不平移,不旋转,先将P点旋转平移\(T_{1}\),再旋转平移\(T_{2}\),最后得到的点的坐标跟(1)一样.
请注意(1)和(2)中旋转平移的顺序,这在我们手动绘图描点的时候显得尤为重要.一个完整的Transform包括平移和旋转,$T=translation \times Rotation $,因此针对一个点先平移后旋转和先旋转后平移是不一样的.在上式中:
\[T_{2}T_{1} = Translation2 Rotation2 Translation1 Rotation1\]
矩阵不满足交换律,但是满足结合律,因此无论从左开始算还是从右开始算,结果是一样的.

在(1)中,我们的计算顺序是从左向右,因此先平移再旋转,而在(2)中,计算顺序是从右向左,先结合的是Rotation1,然后是Translation1,因此先旋转再平移.807375-20170423212046897-398146505.png
上图中两种方式都会到达相同的一点.总结如下:
(1)是在每次变换的上一个坐标系下移动;(2)是在最初的坐标系下移动,整个过程都是点在移动,坐标系永远不变.

在求解机器人移动过程的姿态中,
\[T'=TU\]
我们本能会将其认识为第二种方式,即将机器人看作一个点,整个过程中点在移动,但其实机器人每次的移动都是针对于上一次的坐标系,因此看作第一种方式更好理解,虽然最终可以殊途而归.将机器人的姿态看作一个Transfrom, 将其按照(1)右乘平移旋转矩阵U,最终会得到机器人相对于初始的坐标系的姿态(或者新坐标系相对原始坐标系的姿态)\(T'\).将上式U的右边乘以一个列向量[0,0,1],最终结果也是一个列向量.此时便可以以第二种方式理解,从右向左看作点的移动,最终得到的列向量跟第一种方式求得矩阵的最后一个列向量一样,但是显然它只能得到位置坐标,丢失了旋转角度信息.

转载于:https://www.cnblogs.com/rogerjin/p/6753976.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值