小言_互联网的博客

视觉SLAM笔记(7) 欧氏变换

207人阅读  评论(0)

视觉SLAM笔记(7) 欧氏变换


1. 欧氏变换

与向量间的旋转类似,同样可以描述两个坐标系之间的旋转关系,再加上平移,统称为坐标系之间的变换关系

在机器人的运动过程中,常见的做法是:
设定一个惯性坐标系或者叫(世界坐标系),可以认为它是固定不动的
例如 xW, yW, zW 定义的坐标系

同时,相机或机器人则是一个移动坐标系,例如 xC, yC, zC 定义的坐标系

如果存在相机视野中某个向量 p,它的坐标为 pC,而从世界坐标系下看,它的坐标 pw
这时,就需要先得到该点针对机器人坐标系坐标值,再根据机器人位姿转换到世界坐标系中
这个转换关系由一个矩阵 T 来描述

相机运动是一个刚体运动,它保证了同一个向量在各个坐标系下的长度和夹角都不会发生变化
这种变换称为 欧氏变换
想象把手机抛到空中,在它落地摔碎之前,只可能有空间位置和姿态的不同
而它自己的长度、各个面的角度等性质不会有任何变化

这样一个欧氏变换由两部分组成:

  • 旋转
  • 平移

2. 旋转

假设某个单位正交基(e1,e2,e3) 经过一次旋转,变成了 (e′1,e′2,e′3)
那么,对于同一个向量 a(注意该向量并没有随着坐标系的旋转而发生运动)
它在两个坐标系下的坐标为 [a1,a2,a3]T 和 [a′1,a′2,a′3]T
根据坐标的定义,有:

为了描述两个坐标之间的关系,对上面等式左右同时左乘 [e1T,e2T,e3T]

那么左边的系数变成了单位矩阵

把中间的阵拿出来,定义成一个矩阵 R
这个矩阵由两组基之间的内积组成,刻画了旋转前后同一个向量的坐标变换关系
只要旋转是一样的,那么这个矩阵也是一样的

可以说,矩阵 R 描述了旋转本身,因此它又称为 旋转矩阵

事实上,它是一个行列式为 1 的正交矩阵
反之,行列式为 1 的正交矩阵也是一个旋转矩阵
所以,可以把旋转矩阵的集合定义如下:

SO(n) 是 特殊正交群(Special Orthogonal Group)的意思
这个集合由 n 维空间的旋转矩阵组成,特别的 SO(3) 就是三维空间的旋转了

通过旋转矩阵,可以直接谈论两个坐标系之间的旋转变换,而不用再从基开始谈起了

换句话说, 旋转矩阵可以描述相机的旋转。
由于旋转矩阵为正交阵,它的逆(即转置)描述了一个相反的旋转
按照上面的定义方式,有:

显然 RT 刻画了一个相反的旋转


3. 平移

在欧氏变换中,除了旋转之外还有一个平移
考虑世界坐标系中的向量 a,经过一次旋转(用 R 描述)和一次平移 t 后,得到了 a′
那么把旋转和平移合到一起,有:

其中, t 称为平移向量

相比于旋转,平移部分只需把这个平移量加到旋转之后的坐标上,显得非常简洁
通过上式,用一个旋转矩阵 R 和一个平移向量 t 完整地描述了一个欧氏空间的坐标变换关系


参考:

《视觉SLAM十四讲》


相关推荐:

视觉SLAM笔记(6) 坐标系
视觉SLAM笔记(5) 编程基础
视觉SLAM笔记(4) SLAM的数学表述
视觉SLAM笔记(3) 视觉SLAM框架
视觉SLAM笔记(2) 相机


谢谢!


转载:https://blog.csdn.net/qq_32618327/article/details/100995682
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场