[学习笔记-SLAM篇]视觉SLAM十四讲ch3

2023-05-16

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

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

视觉SLAM十四讲

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

第3讲

3.1 理论部分

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

1)线性代数基础

  • 向量内积 a ⋅ b = a T b = ∑ i = 1 3 a i b i = ∣ a ∣ ∣ b ∣ c o s < 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}> aaabbb=aaaTbbb=i=13aibi=aaabbbcos<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和正交的性质, n n n维旋转矩阵的集合定义为 S O ( n ) SO(n) SO(n),由 n n n维空间的旋转矩阵组成, S O ( n ) SO(n) SO(n) n n n维空间的特殊正交群;平移部分为一个平移向量 t \pmb{t} ttt(3×1维)。

3)变换矩阵

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

4)旋转向量和欧拉角

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

5)四元数

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

6)非欧式变换

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

3.2 实践部分

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[学习笔记-SLAM篇]视觉SLAM十四讲ch3 的相关文章

  • 一文读懂大端、小端、字节序、MSB、LSB、MSBs、LSBs

    大端 小端 字节序 MSB LSB MSBs LSBs 5分钟完全理解上述嵌入式 物联网开发中很扯蛋的几个被玩坏概念 MSB LSB 对于涉及 bit 流的概念中 MSB xff08 Most Significant Bit xff09 x
  • 飞控串口通信接入linux

    1 串口设置 2 串口接入 3 消息传输 4 消息透传 5 mavlink解析 1 mavlink库 将mavlink库添加至项目包含目录 2 常用mavlink消息 mavlink heartbeat t 心跳包 mavlink atti
  • python的函数修改外部传入的参数的问题

    span class token keyword def span span class token function test span span class token punctuation span df span class to
  • 树莓派笔记8:UDP传输视频帧

    因为我在自己笔记本电脑上没能成功安装OpenCV Contrib模块 xff0c 因此不能使用人脸识别等高级功能 xff0c 不过已经在树莓派上安装成功了 xff0c 所以我想实现把树莓派上采集的视频帧传输到PC的功能 xff0c 这样可以
  • 15.linux中的源码安装,SRPM包安装,rpmbild,spec详解

    前言 本小节会详细讲解在linux中如何进行源码编译安装 xff0c SRPM包的两种安装方式 xff0c rpmbuild spec的使用方法 文章目录 前言源码安装和卸载源码安装介绍安装gcc安装源码包Linux源码包卸载 SRPM包的
  • zephyr中消息队列和邮箱的主要区别点

    简单列一下而已 xff0c 想到什么就列了什么 xff1a 1 邮箱既可以同步也可以异步 xff0c 消息队列只可以异步 xff1b 2 邮箱包含Send和Recv两个消息队列 xff0c 消息队列仅仅包含一个用于消息传输的队列 3 邮箱不
  • Windows/Linux客户端挂载NFS共享存储

    Windows Linux客户端挂载NFS共享存储 1 Linux搭建NFS共享存储1 1 NFS概述1 2 安装并配置NFS Server1 3 启动并验证NFS Server 2 客户端挂载NFS共享存储2 1 Windows操作系统挂
  • WIN10源码编译安装QGC-V3.4

    WIN10源码编译安装QGC V3 4 20190228更新 整个安装过程的流程为 xff0c 先安装VS2015 xff0c 再安装Git 用Git来下载qgroundcontrol代码 xff0c 最后下载Qt 用Qt对qgroundc
  • ESP8266简介

    ESP8266 是一款适用于物联网和家庭自动化项目的 Wi Fi 模块 ESP8266 是一个 10元人名币的 Wi Fi 模块 它允许您像使用 Arduino 一样控制输入和输出 xff0c 但它带有 Wi Fi 因此 xff0c 它非常
  • 多任务操作系统是如何切换进程

    多任务操作系统在并行执行多任务时 xff0c 实际上是不断地在任务间进行切换的 xff0c 也就是切换上文 首先要保存前一个进程的上下文 xff0c 然后调度一个就绪的进程 xff0c 并载入该进程的上下文 xff0c cpu开始执行该进程
  • python爬虫爬取淘宝网页

    首先进行相关的分析 要想爬取相关的信息 xff0c 必须指导如下信息 xff1a 1 访问接口 2 翻页操作 首先进行搜索 xff0c 得到相关的网址 xff1a https s taobao com search q 61 书包 amp
  • Ceres使用经验之柯西核函数

    原理 在优化中 xff0c 经常会遇见有异常值的情况 xff0e 如在直线拟合中 xff0c 可能会出现若干个不在直线上点 xff0c 此时如果每一个点的权重一样 xff0c 就会导致求得的直线方程不理想 xff0e 为了增强优化过程中对异
  • PHPStrom2018最新版软件汉化教程,绝对靠谱

    phpstorm2018中文汉化包 是专门为phpstorm2018最新软件推出的汉化破解补丁 xff0c 帮助各位汉化和免费使用该软件 xff1b 它是一款非常不错的软件 xff0c 是jetbrains打造的一款轻量级IDE集成开发环境
  • js实现冒泡排序

    span class token comment 冒泡排序 span span class token keyword var span arr span class token operator 61 span span class to
  • 图片水平或垂直滚动

    在vue项目中引用外部插件VueImgSlider vue xff1a import VueImgSlider from 39 components VueImgSlider vue 39 export default name 39 we
  • MCU常见的操作系统介绍

    MCU微控制器几种常见的操作系统各自的优缺点介绍 目录 一 FreeRTOS 二 uC OS II 三 C OS III 四 RT Thread 一 FreeRTOS FreeRTOS是一款免费 开源的实时操作系统 xff08 RTOS x
  • 初学者如何学习人工智能收藏

    在CSDN上看到一篇关于初学人工智能的帖子 xff0c 分享给大家 xff0c 希望有用 原文链接 xff1a http bbs jointforce com topic 22613 全文如下 xff1a 一 机器学习 有关机器学习领域的最
  • freeRTOS中队列发送数组(数组成员是结构体类型)

    typedef struct icm42607 sensor data packet t int8 t head int8 t temp degc int16 t reserve0 int16 t accel g 3 int16 t res
  • tracealyzer的使用方法

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • arm汇编指令探究之 ldmia

    ldmia r0 r4 r11 r14 的意思是 LDMIA 中的 I 是 increase 的缩写 xff0c A 是 after 的缩写 xff0c LD加载 load 的意思 R0后面的感叹号 xff01 表示会自动调节 R0里面的指

随机推荐

  • arm汇编指令探究之STMFD和LDMIA指令的使用

  • 汇编输入输出(单个字符以及字符串)

    简单的汇编代码演示 简单的汇编代码演示 1输入输出 1 INT 16HROM BIOS中断1 INT 21HDOS中断 2字符串的输入 1 输入输出 输入输出主要有两个中断调用 xff0c 分别为INT 16H 和INT 21H 1 1 I
  • 关于海康摄像头OSD字幕叠加(.NET/C#/Formwork)

    刚接触摄像头代码的编写 xff0c 这里记录一下吧 xff01 记录一下我挨打的过程 xff01 xff01 在摄像头里面添加字符串 xff0c 困扰了很久 xff0c 资料也看了很多 xff0c 海康官网的文档看了也不是很懂 xff0c
  • 进程管理——进程实体

    一 进程的重要性 操作系统的基本功能是为了管理底层硬件资源 xff0c 在没有配置操作系统之前 xff0c 资源只属于当前运行的程序 这时的计算机只能运行一个程序 xff0c 并且是一个程序接着一个程序的运行 当计算机运行某一个程序时 xf
  • Effective C++读书笔记--Item 1:从四个语言层次理解C++

    可以将C 43 43 理解成由四个子语言组成 xff1a C Object Oriented C 43 43 Template C 43 43 STL C xff1a 代码块 语句 数组 指针 内置数据类型 预处理器 Object Orie
  • 设计师建筑师太难了,既要学BIM、无人机,还要学GIS!

    我 xff0c 一个平平无奇的城市规划专业 xff08 建筑专业 路桥专业 xff09 大学生 xff0c 还有一年要毕业 xff0c 很担心工作以后受到社会的毒打 xff0c 遂问导师和学长 xff0c 我要自学点什么技能和软件 xff1
  • 无人机航测是选择固定翼还是多旋翼?

    无人机测绘通过无人机低空摄影获取高清晰影像数据生成三维点云与模型 xff0c 实现地理信息的快速获取 效率高 xff0c 成本低 xff0c 数据准确 xff0c 操作灵活 xff0c 可以满足测绘行业的不同需求 大大地节省了测绘人员野外测
  • HAL库学习——串口中断

    一 介绍 串口的传输方式包括 xff1a 轮询 中断DMA xff0c 在此要介绍的是关于HAL库底层串口接收中断流程的讲解 xff0c 包括串口错误的处理 xff0c 中断回调函数以及错误中断回调函数的执行 二 配置流程 首先使用STM3
  • 嵌入式操作系统FreeRTOS的原理与实现

    URL http www eefocus com sensorwireless blog 08 03 144457 c9bd6 html 摘要 FreeRTOS是一个源码公开的免费的嵌入式实时操作系统 xff0c 通过研究其内核可以更好地理
  • 吃惊!难道Java也受美国出口管制?

    今天 xff0c 去翻看了一下Oracle Jdk的许可协议 xff0c 竟然是受美国出口管制 原文是这么说的 xff1a EXPORT REGULATIONS You agree that U S export control laws
  • 自己写出strcat函数

    通过指针和字符数组的结合写出strcat xff08 字符串拼接 源码如下 效果图 include lt stdio h gt include lt string h gt int main void char a 20 char b 20
  • 根据ttf文件 获取汉字点阵数据

    文件列表 untitled3 pro QT 61 gui CONFIG 43 61 c 43 43 11 console CONFIG 61 app bundle The following define makes your compil
  • nmap基本使用方法

    nmap基本使用方法 1 nmap简单扫描 nmap默认发送一个ARP的PING数据包 xff0c 来探测目标主机1 10000范围内所开放的所有端口 命令语法 xff1a nmap lt target ip address gt 其中 x
  • ROS学习之自定义msg类型

    1 创建msg文件 cd catkin ws src my package mkdir msg echo 34 string first name string last name uint8 age uint32 score 34 gt
  • 无人驾驶传感器之GPS和IMU

    GPS精度 xff1a GPS是由美国国防部牵头研制和维护的 xff0c 不可避免的牵扯到军事方面的因素 最早期因为害怕别的国家利用高精度的定位对美国进行打击 xff0c 他们甚至故意加大明勇定位的误差 xff0c 导致当时民用精度只能达到
  • 一步一步学CMake 之 VSCode+CMakeLists 调试 C++ 工程

    目录 1 插件推荐 2 文件准备 3 开始调试 一步一步学 CMake 系列文章 1 插件推荐 CMake CMake tools 2 文件准备 新建文件夹 xff1a TEST 新建文件 xff1a CMakeLists txt 内容如下
  • 记录下:ubuntu14.04安装xinetd服务

    1 先查看电脑是否已经安装xinetd sudo etc init d xinetd status 执行如上命令如果没有提示未知服务的话 xff0c 说明已经安装 2 更新apt get 资源列表 sudo apt get update 3
  • VS中Git使用教程

    现在的VS都自带Git插件 xff0c 用起来很方便 xff0c 能将VsCode前端和VS后端一起提交 xff0c 缺点 xff1a Word文档和Excel表没法协同处理冲突 基本上的常用操作都已经涵盖在内了 xff0c 能够满足日常开
  • Office365 - “The action can‘t be completed because the file is open in Microsoft OneDrive.“错误的解决方案

    今天收到user在 move OneDrive folder到machine local drive时弹出error The action can 39 t be completed because the file is open in
  • [学习笔记-SLAM篇]视觉SLAM十四讲ch3

    一鼓作气哈 还学了一点latex编写技巧 xff0c 技能max 注 xff1a 1 xff09 学习视频 xff1a 高翔 视觉SLAM十四讲 视觉SLAM十四讲 第3讲3 1 理论部分3 2 实践部分 第3讲 3 1 理论部分 这一部分