半闲居士视觉SLAM十四讲笔记(3)三维空间刚体运动 - part 1 旋转矩阵

本系列文章由 youngpan1101 出品,转载请注明出处。
文章链接: http://blog.csdn.net/youngpan1101/article/details/71086500
作者:宋洋鹏(youngpan1101)
邮箱: yangpeng_song@163.com


-W350_2.gif-2.gif
该讲详细资料下载链接 【Baidu Yun】【Video】【Code

若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买
若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买
若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买


三维空间的刚体运动描述方式

1. 旋转矩阵
  1. 点和向量,坐标系

    • :在几何学上点是 没有大小而只有位置,即点存在于三维空间中的某一个位置。
    • 向量: 可以形象化地表示为 带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。
      (请勿将 向量 与它的 坐标 两个概念混淆,只有确定向量所在的坐标系,才能讨论它在该坐标系下的坐标)
    • 定义坐标系后,也就是一个线性空间的 (e1,e2,e3) ,向量 a 在该坐标系下的坐标为:
      a=[e1,e2,e3]a1a2a3=a1e1+a2e2+a3e3(3.1)
    • 左手坐标系 和 右手坐标系(更为常见)
      coordinate.jpg
    • 向量的运算
      • 加减法
      • 内积(inner product): 可以描述向量间的投影关系
        对于 a,bR3 ,内积可以表示为:
        ab=aTb=i=13aibi=|a||b|cosa,b(3.2)
      • 外积,亦称叉乘(cross product)
        • 对于 a,bR3 ,外积可以表示为:
          a×b=ia1b1ja2b2ka3b3=a2b3a3b2a3b1a1b3a1b2a2b1=0a3a2a30a1a2a10b=ab(3.3)

          式中 为反对称符号(可以读作“上尖”), a 表示向量 a 反对称矩阵
        • 外积可以表示向量的旋转:向量 a b 的旋转向量 w 的方向就是 a×b 的方向
          a_rotate_to_b.png
  2. 坐标系间的欧氏变换

    对于同一个向量 p ,它在世界坐标系下的坐标 pw 和在相机坐标系下的坐标 pc 是不同的,它们的变换关系由两坐标系间的变换矩阵 T 来描述。(如下图所示,下图来自视觉SLAM十四讲 图3-2)
    point_p_in_two_frames.png

    • 欧氏变换 = 旋转 + 平移
    • 旋转
      设某个单位正交基 (e1,e2,e3) 经过一次旋转变成 (e1,e2,e3) 。对于同一个向量 a (该向量不会因坐标系的旋转而发生运动),它在两个坐标系下的坐标分别为 [a1,a2,a3]T [a1,a2,a3]T ,两坐标点满足:
      [e1,e2,e3]a1a2a3=[e1,e2,e3]a1a2a3(3.4)

      式 (3.4) 左右两边同时左乘 eT1eT2eT3 ,得
      a1a2a3=eT1e1eT2e1eT3e1eT1e2eT2e2eT3e2eT1e3eT2e3eT3e3a1a2a3=Ra(3.5)

      式 (3.5) 中的旋转矩阵 R 的特殊性质:
      • 旋转矩阵是行列式为 1 的正交矩阵
      • 旋转矩阵的逆为自身转置,逆矩阵 RT 表示一个相反的旋转
      • 旋转矩阵的集合定义为:
        SO(n)={RRn×n|RRT=I,det(R)=1}(3.6)

        SO(n) 是特殊正交群(Special Orthogonal Group), SO(3) 就是由三维空间的旋转矩阵组成。
    • 平移
      向量 a 经过一次旋转 R 和一次平移 t 后,得到 a :
      a=Ra+t(3.7)

      所以,两个坐标系的刚体运动可以由 R t 完全描述。
  3. 变换矩阵与齐次坐标

    欧氏变换多次之后的变换矩阵表示过于复杂,引入齐次坐标和变换矩阵重写式 (3.7):

    [a1]=[R0Tt1][a1]=T[a1](3.8)

    式 (3.8) 中的 T 称为变换矩阵,这种矩阵又称为特殊欧式群(Special Euclidean Group):
    SE(3)={T=[R0Tt1]R4×4|RSO(3),tR3}(3.9)

    SO(3) 一样,该矩阵的逆表示一个反向的变换:
    T1=[R0TRTt1](3.10)

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在《视觉SLAM十四》中,章节安排如下: 1. 数学基础部分:介绍这本书的基本信息,包括自测题。概述SLAM系统的组成和各模块的工作。介绍三维空间运动、李群和李代数、针孔相机模型以及非线性优化。完成一个曲线拟合的实验。 2. SLAM技术部分:解特征点法的视觉里程计,包括特征点的提取与匹配、对极几何约束的计算、PnP和ICP等方法。学习直接法的视觉里程计,包括光流和直接法的原理,并使用g2o实现一个简单的RGB-D直接法。构建一个视觉里程计框架,解决优化和关键帧选择的问题。深入讨论后端优化,包括Bundle Adjustment和位姿图的优化。介绍回环检测和地图构建的方法。最后,介绍当前的开源SLAM项目和未来的发展方向。 另外,对于四元数的学习,可以先了解复平面的概念。复平面是一个用来描述复数的平面,其中实部和虚部分别对应平面的横坐标和纵坐标。了解复平面后,可以开始学习四元数的概念和应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [视觉SLAM十四笔记](https://blog.csdn.net/dada19980122/article/details/111404967)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【视觉SLAM十四笔记【逐行代码带你解析】【适合纯小白 ps:因为我就是】(持续更新中)](https://blog.csdn.net/R_ichun/article/details/131964588)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值