对SLAM中变换矩阵T的理解


前言

学SLAM一直折腾不清楚变换矩阵T or 旋转矩阵R的物理意义(主要是总是搞不清这个变换矩阵是从A到B还是B到A,当然他们之间只差一个逆就是了),于是花时间探究整理了一下,主要定义来自SLAM十四讲,和其他教材定义冲突请以具体情况为准。


正篇

1.变换矩阵T与点(常见的说法)

首先明确一点,对于空间中一点 X X X,以及坐标系A与坐标系B,以下说法等价(说的是一个东西):
1.把 X X X在A下的坐标 x A x_A xA变换到 X X X在B下的坐标 x B x_B xB的变换矩阵 T T T
2.从A到B的变换矩阵 T B A T_{BA} TBA
3.以坐标系A为基础(参考坐标系),坐标系B的变换矩阵 T T T

其中1的说法是有明确数学阐述的,即 x B = T x A x_B = Tx_A xB=TxA。其他两个说法也较为常见,遇见时转化成1的说法去理解和应用即可。对于说法3,其实默认将变换矩阵 T T T作为坐标系B的一种描述了,换句话说,只要给定了基础(参考)坐标系,变换矩阵 T T T可以唯一确定坐标系B,坐标系B也可以确定一个变换矩阵 T T T

2.变换矩阵T与坐标系(直观理解变换矩阵描述的变换)

上面的说法其实只给出了变换矩阵 T T T对点的作用,现在考虑对坐标系的作用(即对坐标系基的作用),便于直观理解变换矩阵 T T T是个怎样的变换(这里直接给出结论):

设变换矩阵 T T T的旋转部分(旋转矩阵)为 R R R,平移部分为 t t t,则分情况:
1.当 t ≠ 0 t \neq 0 t=0 时,只关注平移部分 t t t即可简单区分,即坐标系B的原点坐标即为 − t -t t
2.当 t = 0 t = 0 t=0 时,显然有 x B = R x A x_B = Rx_A xB=RxA,且坐标系B的基在坐标系A下的坐标写成列向量,并起来就会形成矩阵 R − 1 R^{-1} R1。又因为旋转矩阵均为正交矩阵,即 R R R 的三行,就是坐标系B的三个基。

也就是说,直接看 R − 1 R^{-1} R1就可以知道坐标系B是什么样子,自然就可以直观理解从从A到B的变换矩阵 T T T是个什么样的变换了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值