旋转矩阵和变换矩阵

本文基本上是看着《视觉SLAM十四讲》第三章的部分内容写了一遍,加深自己的理解。


点和向量,坐标系

以三维空间为例,一个空间点的位置可以用三个坐标来表示,而对于一个刚体而言,除了在空间的位置,还有自身的姿态,合称为“位姿”。

向量是什么?
向量是空间中的一种元素,既有大小,也有方向。有几种表示方式:
代数表示:字母加粗或者字母上加箭头( a⃗  或者 a
几何表示:用一个箭头(线段长度代表向量的大小)
坐标表示:在坐标系中,用坐标可以表示向量,终点坐标-起点坐标

例子: a=[e1,e2,e3]a1a2a3=a1e1+a2e2+a3e3

坐标系间的欧式变换

坐标系之间变换可以用两个坐标系之间的旋转和平移关系来表示。
设定一个惯性坐标系(世界坐标系),认为是固定不动的。
机器人坐标系(相机坐标系),认为相机固定在机器人上。

现在假设一个向量,在世界坐标系下,有:

a=[e1,e2,e3]a1a2a3

在相机坐标系中,有:
a=[e,1,e,2,e,3]a,1a,2a,3


[e1,e2,e3]a1a2a3=[e,1,e,2,e,3]a,1a,2a,3

等式两边同时左乘 eT1eT2eT3

得到
a1a2a3=eT1e,1eT2e,1eT3e,1eT1e,2eT2e,2eT3e,2eT1e,3eT2e,3eT3e,3e,1e,2e,3=Ra,

所以,这个矩阵R就称为旋转矩阵。
a=Ra, R描述了从相机坐标系旋转到世界坐标系。
如果把平移也考虑上,那么我们可以有这么一个式子:
a,=Ra+t
注意,这里的R 描述从世界坐标系旋转一定角度,然后经过一个平移向量t,得到了相机坐标系。

变换矩阵与齐次坐标

但是上述旋转矩阵和平移向量的表达方式有一些问题,比如:

b=R1a+t1,c=R2b+t2

那么从 ac 的变换就变成了以下式子:
c=R2(R1a+t1)+t2

这个样子在多次变换之后形式会有点复杂,我们比较嫌弃它,所以,引入齐次坐标和变换矩阵!
a,=Ra+t 这个式子,用齐次坐标和变换矩阵改写如下:

[a,1]=[R0Tt1][a1]=T[a1]

在这个式子中,T 就叫做变换矩阵,然后用 a,~ 来表示 [a,1] ,叫做 a, 的齐次坐标。
[注]
齐次坐标的概念:
就是在原来的坐标增加一个维度。而且一个向量的齐次坐标是可以有多种表示的。
比如对于(1,1,1)这个点,它的齐次坐标可以是(k,k,k,k),k可以是任意的常数,只要不等于0。
因为一个(非齐次)坐标的齐次坐标有这么一个原则:
齐次坐标的每个分量,乘以一个非零常数后,任然表示同一个点。

所以有了齐次坐标和变换矩阵的概念以后,坐标系的多次变换可以写成这个样子:

b~=T1a~,c~=T2b~c~=T2T1a~

所以啊,人类懒惰的本质又暴露出来了,默认情况下,我们去掉坐标字幕头上的波浪号了, a~a
这样也挺好的,带着“帽子”总有点怪怪的,谁知道是什么颜色呢?(哈哈~~)!
不过我们自己心里也要清楚:

  • 当出现Ta这种形式的时候,因为写了变换矩阵,所以,这里的a就是齐次坐标;
  • 同理,当出现Ra,因为用了旋转矩阵,所以这里的a就是非齐次坐标
  • 如果TaRa出现在等号的两边,它们不是严格意义上的等号,我们假设二者之间已经从非齐次转换成了齐次坐标(或者齐次转为非齐次)。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值