视觉SLAM十四讲之第3讲学习笔记

本节目标

三维刚体运动的描述方式,重点是旋转以及Eigen库的矩阵、几何模块的使用方法
在这里插入图片描述

3.1 旋转矩阵

3.1.1 点和向量,坐标系

刚体:不光有位置,还有姿态
在这里插入图片描述
向量内积
在这里插入图片描述
向量外积
在这里插入图片描述
反对称矩阵:a^ 表示a的反对称矩阵,它可以将axb写成矩阵相乘的形式a^ b,把向量叉乘变成线性运算。
左手系和右手系
在这里插入图片描述

3.1.2 坐标系间的欧式变换

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

先考虑旋转,假设某个单位正交基(e1,e2,e3)经过一次旋转变成了(e’1,e’2,e’3),那么同一个向量它在两个坐标系下的坐标为[a1,a2,a3]T和[a’1,a’2,a’3]。
在这里插入图片描述
对上式左右同事左乘
在这里插入图片描述
可以得到
在这里插入图片描述
旋转矩阵:将中间的矩阵R取出来,这个矩阵有两组基的内积组成,刻画了旋转前后同一个向量的坐标变换关系,只要旋转一样,这个矩阵也是一样的,这个矩阵描述了旋转本身,因此它被称为旋转矩阵。
特殊正交群:旋转矩阵是一种特殊的正交群
在这里插入图片描述
旋转矩阵的逆(转置) 描述了一个相反的旋转:
在这里插入图片描述
欧式空间的坐标变换关系:一个旋转矩阵R和一个平移向量t完整地描述了一个欧式空间的坐标变换关系:
在这里插入图片描述

3.1.3 变换矩阵与齐次坐标

3.8式完整的表达了欧式空间的旋转与平移,但是不是线性关系,这样的形式变换多次后过于复杂。
在这里插入图片描述
因此引入齐次坐标和变换矩阵重写式
在这里插入图片描述
齐次坐标:我们把一个三维向量末尾添加1,变成四维向量,称为齐次坐标
变换矩阵:我们可以把旋转和平移写在一个矩阵里面,使得整个关系变成线性关系
齐次坐标的唯一表示:在齐次坐标中,一个点的表示可以有很多种,但当最后一项不为零时,我们总可以把所有坐标除以最后一项,从而得到一个点的唯一坐标表示(也就是转成非齐次坐标)
在这里插入图片描述
这样两次变换的累加就有很好的形式:
在这里插入图片描述
往后默认b = Ta就是齐次坐标关系
变换矩阵是一种特殊的欧式群
在这里插入图片描述
变换矩阵的逆
在这里插入图片描述

3.2 实践:Eigen

熟悉Eigen矩阵的基本运算

3.3 旋转向量和欧拉角

3.3.1 旋转向量

矩阵表示旋转的缺点:

  1. 旋转矩阵有9个量,但一次旋转只有3个自由度
  2. 旋转矩阵自身带有约束,它必须是个正交阵,而且行列式是1,我们估计或优化它时,这些约束会使得求解变得更困难。

旋转向量:任意旋转都可以用一个旋转轴和一个刻度角来刻画,于是,我们可以使用一个
向量,其方向与旋转轴一致,而长度等于旋转角
旋转向量转成旋转矩阵,使用罗德里格斯公式
在这里插入图片描述
旋转矩阵转成旋转向量
在这里插入图片描述
在这里插入图片描述

3.3.2 欧拉角

旋转矩阵和旋转向量的缺点:不直观
欧拉角
在这里插入图片描述
在这里插入图片描述

缺点:存在万向锁问题:在俯仰角为±90◦ 时,第一次旋转与第三次旋转将使用同一个轴,使得系统丢失了一个自由度(由三次旋转变成了两次旋转)

3.4 四元数

3.4.1 四元数的定义

旋转矩阵用9个量描述3个自由度,具有冗余性,欧拉角和旋转向量是紧凑的,但是具有奇异性。为了克服它们的缺点,因此提出了四元数。
四元数定义
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
单位四元数:模为1的四元数
旋转向量到四元数的转换:
在这里插入图片描述
四元数到旋转向量的转换:
在这里插入图片描述

3.4.2 四元数的运算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
更简洁的形式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4.3 用四元数表示旋转

假设一个空间三维点p=[x,y,z]∈R3,以及一个由轴角n, θ \theta θ指定的旋转,经过旋转后p变成p’,如果用旋转矩阵描述有p’ = Rp,如果用四元数描述,首先把三维空间点用一个虚四元数来描述:
在这里插入图片描述
然后参考式(3.19),用四元数表示旋转
在这里插入图片描述
那么旋转后的p’即可表示成这样的乘积
在这里插入图片描述

3.4.4四元数到旋转矩阵的转换

在这里插入图片描述
值得注意的是同一个R对应的四元数表示并不是唯一的。

3.5 相似、仿射、射影变换

  1. 相似变换
    相似变换比欧式变换多了一个自由度,它允许物体进行均匀的缩放,矩阵表示为
    在这里插入图片描述
    旋转部分多了一个缩放因子,表示对向量旋转之后,可以在x,y,z三个坐标上进行均匀地缩放,可以想象一个边长为1的立方体通过相似变换后变成边长为10的立方体。
  2. 仿射变换
    在这里插入图片描述
    仿射变换只要求A是一个可逆矩阵,而不必是正交矩阵,仿射变换也不是正交变换。可以想象一个立方体经过仿射变换后不在是方的,但是各个面仍然是平行四边形。
  3. 射影变换
    在这里插入图片描述
    A为可逆矩阵,右上为平移t,左下是缩放aT。由于采用齐次坐标,当v不是0时可以整个矩阵除以v得到一个右下角为1的矩阵,否则得到右下角为0的矩阵。因此2D的映射变换有8个自由度,3D的映射变换有15个自由度。映射变换是最一般的变换,真实世界到相机相片的变换可以看成是映射变换,原本一个方形的地板砖,在照片中首先不是方的,而且由于近大远小的原因,它甚至不是平行四边形,而是一个不顾则的四边形。

各种变换总结如下:
在这里插入图片描述

3.6 实践:Eigen几何模块

3.7 可视化演示

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值