【视觉SLAM】2-三维空间刚体运动的数学表示

读书笔记:学习空间变换的三种数学表达形式。

文章目录

  • 1. 旋转矩阵
    • 1.1 向量运算
    • 1.2 坐标系空间变换
    • 1.3 变换矩阵与齐次坐标
  • 2. 旋转向量和欧拉角
    • 2.1 旋转向量
    • 2.2 欧拉角
  • 3. 四元数

1. 旋转矩阵

1.1 向量运算

对于三维空间中的两个向量 a , b ∈ R 3 a,b \in \R^3 a,bR3,其内积可描述向量间的投影关系, c o s < a , b > cos<a,b> cos<a,b>表示两向量的夹角:
在这里插入图片描述

外积
在这里插入图片描述
外积运算结果为一个垂直于 a , b a,b a,b的向量,大小为 ∣ a ∣ ∣ b ∣ s i n < a , b > |a||b|sin<a,b> a∣∣bsin<a,b>(两个向量组成的四边形的有向面积)。

对外积运算,引入符号^,把 a a a写成一个反对称矩阵(Skew-symmetric Matrix),这样就把外积变成线性运算。这是一个一一映射,即任意向量都对应唯一的一个反对称矩阵,反之亦然:

a ^ = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] a\hat{}= \begin{bmatrix} 0 & -a_3 & a_2 \\ a_3 & 0 & -a_1 \\ -a_2 & a_1 & 0 \end{bmatrix} a^= 0a3a2a30a1a2a10

1.2 坐标系空间变换

包括旋转平移两个过程,由矩阵 T T T 表示。

旋转过程由**旋转矩阵(Rotation Matrix)**表示,它是一个 3 × 3 3 \times 3 3×3的矩阵,且是一个行列式为1的正交矩阵(反之行列式为1的正交矩阵是一个旋转矩阵)。将n维旋转矩阵集合定义如下(特殊正交群(Special Orthogonal Group),后面讲):

S O ( n ) = { R ∈ R n × n ∣ R R T = 1 , d e t ( R ) = 1 } SO(n)=\{R \in \R^{n \times n} | RR^T=1, det(R)=1 \} SO(n)={RRn×nRRT=1,det(R)=1}

平移过程由平移向量 t表示。

1.3 变换矩阵与齐次坐标

变换矩阵T(Transform Matrix)是一个 4 × 4 4 \times 4 4×4矩阵,由旋转矩阵R平移向量t组成。可由特殊欧氏群表示这一集合:
S E ( 3 ) = { T = [ R t 0 T 1 ] ∈ R 4 × 4 ∣ R ∈ S O ( 3 ) , t ∈ R 3 } SE(3)=\{ T= \begin{bmatrix} R & t \\ 0^T & 1 \end{bmatrix} \in \R^{4 \times 4} | R \in SO(3), t \in \R^3 \} SE(3)={T=[R0Tt1]R4×4RSO(3),tR3}

T − 1 = [ R T − R T t 0 T 1 ] T^{-1} = \begin{bmatrix} R^T & -R^Tt \\ 0^T & 1 \end{bmatrix} T1=[RT0TRTt1]

对三维向量进行空间变换运算时,在其末尾添加1变成四维向量,便于运算,称为齐次坐标

2. 旋转向量和欧拉角

利用矩阵表示旋转存在两个问题:

  • SO(3)用9个量表示3个自由度的旋转、SE(3)用16个量表示6自由度的变换,不够紧凑;
  • 旋转矩阵自身约束:必须正交、行列式为1,因此很难直接对其进行优化;

2.1 旋转向量

任意旋转都可以用一个旋转轴一个旋转角来表示:具体可用一个向量来表示,其方向与旋转轴一致,而长度等于旋转角,这类向量称为旋转向量(或轴角/角轴,Axis-Angle),仅需一个三维向量即可描述旋转;
同样,可用一个旋转向量一个平移向量来表达一次变换;

旋转矩阵R旋转向量(旋转轴为单位向量n,角度为 θ \theta θ 之间的转换过程由罗德里格斯公式推导:
在这里插入图片描述
反之可由旋转向量推导出旋转矩阵,具体推导过程参考原书和链接。

2.2 欧拉角

可由翻滚角Roll偏航角Yaw俯仰角Pitch表示。注意几个问题:

  • 绕不同轴的旋转顺序会影响最终结果;
  • 在很多工程应用领域,利用欧拉角表示旋转很容易碰到万向锁(Gimbal Lock) 问题;

3. 四元数

问题来源:

  • 旋转矩阵用9个量描述3自由度的旋转,具有冗余性;
  • 欧拉角和旋转向量时紧凑的,但具有奇异性(万向锁);

使用四元数可以很方便地对空间运动数据进行优化,一个四元数 q q q 由一个实部和三个虚部构成:
q = q 0 + q 1 i + q 2 j + q 3 k = [ s , v ] T s = q 0 ∈ R v = [ q 1 , q 2 , q 3 ] T ∈ R 3 q=q_0+q_1i+q_2j+q_3k=[s,v]^T \\ s=q_0 \in \R \\ v=[q_1,q_2,q_3]^T \in \R^3 q=q0+q1i+q2j+q3k=[s,v]Ts=q0Rv=[q1,q2,q3]TR3

这部分推导直接看书吧,没什么好总结的:

  • 四元数的运算;
  • 四元数表示旋转;
  • 四元数转旋转矩阵、旋转向量;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/60633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shell 100例

1、每天写一个文件 (题目要求&#xff09; 请按照这样的日期格式(xxxx-xx-xx每日生成一个文件 例如生成的文件为2017-12-20.log&#xff0c;并且把磁盘的使用情况写到到这个文件中不用考虑cron&#xff0c;仅仅写脚本即可 [核心要点] date命令用法 df命令 知识补充&#xff1…

[Python学习日记-66] 多态与多态性

[Python学习日记-66] 多态与多态性 简介 多态 多态性 鸭子类型 简介 多态与多态性都是面向对象的特征之一&#xff0c;它们都是面向对象编程的一个重要概念&#xff0c;在 Python 当中也有一些独特的见解和用法&#xff0c;下面我们一起来了解一下是怎么回事吧。 多态 多态…

Linux基础1

Linux基础1 Linux基础1学习笔记 ‍ 声明&#xff01; ​​​学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章 笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他…

GESP4级考试语法知识(贪心算法(二))

排队接水2代码&#xff1a; #include<iostream> #include<cstdio> #include<algorithm> using namespace std; struct people {int num;int time; }; people s[1001]; int n,r,a[1001]; double sum,ave; bool cmp(people x,people y) {return x.time<y.t…

MySQL45讲 第二十讲 幻读是什么,幻读有什么问题?

文章目录 MySQL45讲 第二十讲 幻读是什么&#xff0c;幻读有什么问题&#xff1f;一、幻读的定义二、幻读带来的问题&#xff08;一&#xff09;语义问题&#xff08;二&#xff09;数据一致性问题 三、InnoDB 解决幻读的方法四、总结 MySQL45讲 第二十讲 幻读是什么&#xff0…

【再谈设计模式】建造者模式~对象构建的指挥家

一、引言 在软件开发的世界里&#xff0c;创建对象是一项基本且频繁的操作。然而&#xff0c;当对象的构造变得复杂&#xff0c;涉及众多属性和初始化步骤时&#xff0c;传统的构造函数方式往往会让代码陷入混乱的泥沼。就如同搭建一座复杂的建筑&#xff0c;若没有合理的规划和…

三、模板与配置(下)

三、模板与配置 8、WXSS模板样式-全局样式和局部样式 类型说明适用情景注意点全局样式定义在 app.wxss 中的样式&#xff0c;作用于每一个页面。当有一些通用的样式规则需要应用于整个小程序时&#xff0c;比如全局的字体大小、颜色、布局等。全局样式可能会被局部样式覆盖&a…

SQL面试题——抖音SQL面试题 主播播出时长

主播播出时长 现有如下数据,主播id、房间号、播出的批次号,每个批次号进出房间的时间戳、分区时间: 每一次直播都有一个上播和下播,每个房间里,同一个批次号会有两条数据,分别记录了上播和下播时间,求每个主播的播出时长? 通过上面的数据,可以清晰的看出,同一个批次…

大语言模型LLM综述

一、LM主要发展阶段 1.1、统计语言模型SLM 基于统计学习方法&#xff0c;基本思想是基于马尔可夫假设HMM建立词概率预测模型。如n-gram语言模型 1.2、神经语言模型NLM 基于神经网络来做词的分布式表示。如word2vec模型 1.3、 预训练语言模型PLM 预训练一个网络模型来做词表…

用 Python 从零开始创建神经网络(七):梯度下降(Gradient Descent)/导数(Derivatives)

梯度下降&#xff08;Gradient Descent&#xff09;/导数&#xff08;Derivatives&#xff09; 引言1. 参数对输出的影响2. 斜率&#xff08;The Slope&#xff09;3. 数值导数&#xff08;The Numerical Derivative&#xff09;4. 解析导数&#xff08;The Analytical Derivat…

防爆手机市场“百花齐放”,该怎么选?

在危险作业场景&#xff0c;如石化煤矿&#xff0c;通讯设备采购关系到提高生产效率‌&#xff0c;保障安全生产‌&#xff0c;‌符合法规要求‌。在应急救援通信场景&#xff0c;通讯设备采购&#xff0c;与保障救援行动的效率和准确性息息相关。而通信设备的性能参数是评估其…

似然函数解析

从贝叶斯定理引出似然函数 最大似然估计用来估计均值方差的 文心对似然函数的解释&#xff0c;注意 抛出正反的概率&#xff0c;就是固定均值方差的条件概率密度了

记录配置ubuntu18.04下运行ORBSLAM3的ros接口的过程及执行单目imu模式遇到的问题(详细说明防止忘记)

今天的工作需要自己录制的数据集来验证昨天的标定结果 用ORBSLAM3单目imu模式运行&#xff0c;mentor给的是一个rosbag格式的数据包&#xff0c;配置过程出了几个问题记录一下&#xff0c;沿配置流程写。 一.orbslam3编译安装 1.首先是安装各种依赖 这里不再赘述&#xff0…

实验5:网络设备发现、管理和维护

实验5&#xff1a;网络设备发现、管理和维护 实验目的及要求&#xff1a; 通过实验&#xff0c;掌握Cisco 路由器和交换机的IOS配置管理。自动从NTP服务器获取时间信息。能够利用TFTP服务器实现路由器和交换机配置文件的备份和恢复。同时验证CDP协议和LLDP协议的网络参数。完…

前端(2)——快速入门CSS

参考&#xff1a; 罗大富 CSS 参考手册 | 菜鸟教程 CSS 参考手册 1. CSS CSS全名是层叠样式表&#xff0c;中文名层叠样式表。用于定义网页样式和布局的样式表语言。 通过 CSS&#xff0c;你可以指定页面中各个元素的颜色、字体、大小、间距、边框、背景等样式&#xff0c;…

yolo标签自动标注(使用python和yolo方法)

yolo代码自动标注 1.引言1.初阶“自动标注”&#xff0c;给每个图像都生成一个固定的标注文件&#xff0c;进而在labglimg中对矩形框进行微调&#xff0c;减少标注的工作量2.高阶自动标注&#xff0c;利用我们训练好的&#xff08;但是没有特别精准的&#xff09;yolo文件先对每…

jmeter常用配置元件介绍总结之线程组

系列文章目录 安装jmeter jmeter常用配置元件介绍总结之线程组 1.线程组(用户)1.1线程组1.1.setUp线程组和tearDown线程组1.2.Open Model Thread Group(开放模型线程组)1.3.bzm - Arrivals Thread Group(到达线程组)1.4.jpgc - Ultimate Thread Group(终极线程组)1.5.jpgc - St…

spring gateway 动态路由

##yml配置 spring:application:name: public-gateway # cloud: # gateway: # routes: # - id: mybatis-plus-test # 路由的唯一标识 # uri: http://192.168.3.188:9898 # 目标服务的地址 # predicates: # - Path/test/** # 匹配…

NVT新能德科技入职测评SHL题库更新:数字推理+演绎推理高分答案、真题解析

新能德的入职Verify测评主要考察应聘者的逻辑推理能力、数学能力、数据分析能力以及处理信息的能力。根据搜索结果&#xff0c;测评通常包含以下几个部分&#xff1a; 1. **语言理解**&#xff1a;这部分包括阅读理解、逻辑填空和语句排序。要求应聘者在17分钟内完成30题&#…

学法减分交管12123模拟练习小程序源码前端和后端和搭建教程

交管推出个学法减分&#xff0c;每个驾驶员可以把被扣的6分&#xff0c;以看视频答题的形式学习回来&#xff0c;然后答题这个一共二十道题每道题60秒&#xff0c;有好多人不会&#xff0c;用咱们的小程序就可以模拟练习强化练习&#xff0c;还有拍照识别题目找到正确答案&…