一鼓作气哈。
还学了一点latex编写技巧,技能max。

注:
1)学习视频:【高翔】视觉SLAM十四讲。

视觉SLAM十四讲

  • 第3讲
    • 3.1 理论部分
    • 3.2 实践部分

第3讲

3.1 理论部分

这一部分要点如下。3-5均为欧式变换所涉及的方式,此外,非欧式变换会改变刚体外形,如6中的几种变换。

1)线性代数基础

  • 向量内积:a⋅b=aTb=∑i=13aibi=∣a∣∣b∣cos<a,b>\pmb{a}·\pmb{b}=\pmb{a}^T\pmb{b}=\sum_{i=1}^3a_ib_i=|\pmb{a}||\pmb{b}|cos<\pmb{a},\pmb{b}>aaa⋅bbb=aaaTbbb=∑i=13​ai​bi​=∣aaa∣∣bbb∣cos<aaa,bbb>;
  • 向量外积:a×b=a^b\pmb{a}×\pmb{b}=\pmb{a}\hat{}\ \pmb{b}aaa×bbb=aaa^ bbb,其中a^\pmb{a}\hat{}aaa^指反对称矩阵,有的书中也表示为a×\pmb{a}^×aaa×。

2)刚体运动&坐标系间欧式变换

  • 刚体运动:一个旋转加一个平移,用于表示世界系和相机系(或机器人系)之间的关系,用欧式变换来描述;
  • 欧式变换:由旋转和平移组成。旋转部分为一个旋转矩阵R\pmb{R}RRR(也叫方向余弦矩阵,3×3维),具有行列式为1和正交的性质,nnn维旋转矩阵的集合定义为SO(n)SO(n)SO(n),由nnn维空间的旋转矩阵组成,SO(n)SO(n)SO(n)指nnn维空间的特殊正交群;平移部分为一个平移向量t\pmb{t}ttt(3×1维)。

3)变换矩阵

  • 为便于多次欧式变换的描述,引入齐次坐标将旋转矩阵和平移向量放在一个矩阵中,形成变换矩阵T\pmb{T}TTT(4×4维);
  • 变换矩阵可用于描述位姿,nnn维变换矩阵的集合定义为SE(n)SE(n)SE(n),指特殊欧式群,这里虽然变换矩阵为4×4维,但SE(n)SE(n)SE(n)仍表示为SE(3)SE(3)SE(3),应该是由于其描述的仍是3维空间的变换。

4)旋转向量和欧拉角

  • 为解决表达冗余问题,将旋转矩阵R\pmb{R}RRR用一个旋转轴和一个旋转角来刻画,即变换为一个旋转向量(角轴或轴角),转换过程采用罗德里格斯公式;将变换矩阵T\pmb{T}TTT表达为一个旋转向量和一个平移向量;
  • 欧拉角可用于直观表示,但存在奇异性问题(万向锁),使系统丢失一个自由度(由于俯仰角为±90°,x与z轴同轴)。

5)四元数

  • 四元数是一种不带奇异性也不过分冗余的描述方式,可用于描述三维旋转,其与旋转向量之间可进行相互转换;
  • 使用时,将空间三维点表示为一个纯虚四元数p\pmb{p}p​p​​p,对其做单位四元数q\pmb{q}q​q​​q指定的旋转,则通过p′=qpq−1\pmb{p}^\prime=\pmb{q}\pmb{p}\pmb{q}^{-1}p​p​​p′=q​q​​qp​p​​pq​q​​q−1可得到旋转后的点p′\pmb{p}^\primep​p​​p′。

6)非欧式变换

  • 相似变换:允许物体均匀缩放,自由度为7,该缩放因子sss在变换矩阵T\pmb{T}TTT中乘在旋转矩阵R\pmb{R}RRR前,三维相似变换集合称为相似变换群,Sim(3)Sim(3)Sim(3);
  • 仿射变换:仅保持各面平行,自由度为12,旋转矩阵R\pmb{R}RRR为可逆矩阵A\pmb{A}AAA即可,不必正交;
  • 射影变换:仅保证接触平面的相交和相切,自由度为15。

3.2 实践部分

[学习笔记-SLAM篇]视觉SLAM十四讲ch3相关推荐

  1. R语言学习笔记——高级篇:第十四章-主成分分析和因子分析

    R语言 R语言学习笔记--高级篇:第十四章-主成分分析和因子分析 文章目录 R语言 前言 一.R中的主成分和因子分析 二.主成分分析 2.1.判断主成分的个数 2.2.提取主成分 2.3.主成分旋转 ...

  2. 视觉SLAM十四讲 ch3 Ubuntu18.04 KDevelop的使用及Eigen实践 入门笔记

    视觉SLAM十四讲 ch3 Ubuntu18.04 KDevelop的使用及Eigen实践 入门笔记 一.创建KDevelop项目 二.编写程序 一.创建KDevelop项目 你的电脑上如果还没有安装 ...

  3. 视觉SALM十四讲学习笔记——第七讲 视觉里程计(1)

    视觉里程计这一部分的第一个主要内容是ORB特征点的提取与匹配.这里主要关注两个内容: (1)特征点的匹配方法及代码实现 (2)ORB特征点的BRIEF描述子如何实现旋转不变性及在示例代码中的体现 1. ...

  4. 视觉SLAM十四讲CH3代码解析及课后习题详解

    eigenMatrix.cpp #include <iostream>using namespace std;#include <ctime> // Eigen 核心部分 #i ...

  5. 视觉SLAM十四讲 ch3 (三维空间刚体运动)笔记

    本讲目标 ●理解三维空间的刚体运动描述方式:旋转矩阵.变换矩阵.四元数和欧拉角. ●学握Eigen库的矩阵.几何模块使用方法. 旋转矩阵.变换矩阵 向量外积 向量外积(又称叉积或向量积)是一种重要的向 ...

  6. 视觉slam十四讲 ch3 visualizeGeometry 与Pangolin报错解决

    在安装好Pangolin后, 1.对ch3中visualizeGeometry程序 make 时,出现类似如下错误: 解决:应该是引用的一些东西c++标准为c++14,而对应Cmakelist.txt ...

  7. ubuntu18.04搭建SLAM环境 转 高翔 十四讲匹配环境

    ubuntu18.04搭建SLAM环境_stjuliet的博客-CSDN博客_ubuntu安装slam

  8. Soul 学习笔记之 soul-plugin-sofa 组件探寻(十四)

    目录 总系列目录地址 soul-plugin-sofa结构 类维度 包依赖维度 注册时序图 总结 总系列目录地址 soul-plugin-sofa结构 类维度 ApplicationConfigCac ...

  9. 视觉SLAM十四讲学习笔记---前三讲学习笔记总结之SLAM的作用、变换和位姿表示

    经过半年学习SLAM相关知识,对SLAM系统有了一些新的认识,故回看以前的学习记录,做总结和校正. 前三讲学习笔记如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉S ...

  10. 视觉SLAM十四讲学习笔记-第六讲学习笔记总结(1)---非线性优化原理

    第六讲学习笔记如下: 视觉SLAM十四讲学习笔记-第六讲-非线性优化的状态估计问题_goldqiu的博客-CSDN博客 ​​​​​​视觉SLAM十四讲学习笔记-第六讲-非线性优化的非线性最小二乘问题_ ...

最新文章

  1. Xcode终端常用的指令-终端输入
  2. 安装pipenv搭建虚拟环境做flask
  3. Clickhouse Engine kafka 将kafka数据同步clickhouse
  4. mariadb集群初次启动方法
  5. Linux 命令行中的文件名/文件路径中使用通配符的说明
  6. 4位大佬解读:“医疗人工智能、信息化、政策与科研”的新风向与新趋势
  7. 【Python】学习笔记2-数据类型:数组、数组循环切片
  8. Unicode -- 从code point到UTF16的计算方法
  9. JavaFX的webview下载文件的一种实现思路
  10. 儿研所 计算机训练,金博智慧:注意缺陷、多动障碍儿童计算机认知训练(工作记忆训练)研究...
  11. 华为android打开usb调试模式,华为 PE-CL00 开启USB调试模式
  12. 关于微信异常烦人自动生成的聊天记录截图视频
  13. 利用eNSP进行VPLS仿真实验
  14. Android USB Tethering的实现以及代码流程
  15. ROS2极简总结-文件系统
  16. Buffon投针问题
  17. 白杨SEO:SEO转型难吗?SEO如何转型ASO(应用商店搜索优化)?
  18. C#调用DLL的几种方法
  19. Star CCM+多孔介质仿真(二)——阻力系数的计算和设置
  20. Word排版步骤的小思考

热门文章

  1. 【目标检测】基于帧差法+Vibe算法实现车辆行人检测matlab源码
  2. VBA InStr 函数
  3. lammps教程:原子平动和振动的设置方法
  4. Tomcat 设置系统默认文件编码
  5. 黑马程序员,黑马论坛---云2期,已就业45人,平均薪水6806【8月23日更新】
  6. 40行代码自己动手写pdf转word小工具(文末附工具下载)
  7. access链接 mysql数据库教程_JDBC连接ACCESS数据库的三种方法
  8. MLDN Java学习笔记(3)
  9. 常微分方程数值解法(2)
  10. web安全的一些专业术语介绍