【视觉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.xdnf.cn/news/15927.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

研发费用资本化的意义

1.更真实地反映企业价值&#xff1a;研发费用是企业为创造未来经济利益而进行的投资&#xff0c;通过将其资本化并作为无形资产计入资产负债表&#xff0c;可以更真实地反映企业的资产总额和长期投资价值。这有助于投资者、债权人和其他利益相关者更准确地评估企业的财务状况、…

Ubuntu24.04安装Anaconda3+Pycharm

一、引言 重装系统已经过去一段时间了&#xff0c;现在安装一下 Anaconda 和 Pycharm。 参考连接&#xff1a; Ubuntu中安装Anaconda3和Pycharm 及其环境搭建Ubuntu18.04安装Pycharm教程ubuntu系统安装Anaconda及Pycharm在移动硬盘上搭建Ubuntu24.04深度学习环境&#xff08;…

稀疏矩阵(Sparse Matrix)及其存储格式详解

稀疏矩阵&#xff08;Sparse Matrix&#xff09;是线性代数和计算机科学中的一个重要概念&#xff0c;广泛应用于科学计算、工程模拟、图像处理、机器学习等多个领域。与稠密矩阵&#xff08;Dense Matrix&#xff09;相比&#xff0c;稀疏矩阵大部分元素为零&#xff0c;仅有少…

操作系统:页表中的页表项

操作系统&#xff1a;页表中的页表项 页表是操作系统用于跟踪进程使用的虚拟地址与系统内存中相应物理地址之间映射的数据结构。 页表项&#xff08;Page Table Entry&#xff0c;PTE&#xff09;是页表中的一个条目&#xff0c;用于存储有关特定内存页的信息。每个页表项包含…

Docker部署Kafka SASL_SSL认证,并集成到Spring Boot

1&#xff0c;创建证书和密钥 需要openssl环境&#xff0c;如果是Window下&#xff0c;下载openssl Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 还需要keytool环境&#xff0c;此环境是在jdk环境下 本案例所使用的账号密码均为&#xff1a; ka…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《基于改进容积卡尔曼滤波的含光伏配电网动态状态估计》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

jenkins使用cli发行uni-app到h5

官网文档HBuilderX 文档 首先确定是否存在环境变量 正常情况cmd中执行cli 如果提示 cli 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。请先配置环境变量 Freestyle Project项目在Build Steps中增加Execute Windows batch command命令如下 d: cd D:\devsof…

FMEA 在新兴技术领域(如量子计算、人工智能芯片等)的应用挑战与机遇

【大家好&#xff0c;我是唐Sun&#xff0c;唐Sun的唐&#xff0c;唐Sun的Sun。】 摘要&#xff1a; 本文深入探讨了 FMEA&#xff08;失效模式及后果分析&#xff09;在如量子计算、人工智能芯片等新兴技术领域的应用所面临的挑战与机遇。随着科技的飞速进步&#xff0c;新兴技…

websocket身份验证

websocket身份验证 前言 上一集我们就完成了websocket初始化的任务&#xff0c;那么我们完成这个内容之后就应该完成一个任务&#xff0c;当客户端与服务端连接成功之后&#xff0c;客户端应该主动发起一个身份认证的消息。 身份认证proto 我们看一眼proto文件的内容。 我…

Spire.PDF for .NET【页面设置】演示:复制 PDF 文档中的页面

在某些情况下&#xff0c;我们需要创建 PDF 文档中现有页面的副本&#xff0c;而不是复制整个文件&#xff0c;特别是如果我们必须创建某个页面的数百份副本&#xff0c;那么逐个复制页面可能会很繁琐。本文演示了如何使用 Spire.PDF 复制 PDF 文档中的页面并一次创建多个副本的…

Vue-组件三大组成组件通信

一、学习目标 1.组件的三大组成部分&#xff08;结构/样式/逻辑&#xff09; scoped解决样式冲突/data是一个函数 2.组件通信 组件通信语法 父传子 子传父 非父子通信&#xff08;扩展&#xff09; 3.综合案例&#xff1a;小黑记事本&#xff08;组件版&#xff09; 拆…

2024CVPR点云-1-点云分类CausalPC

文章摘要&#xff1a;深度神经网络在点云分类中表现出了显著的性能。然而&#xff0c;以前的工作表明它们容易受到对抗性扰动的影响&#xff0c;这些扰动可以操纵它们的预测。鉴于点云的独特模态&#xff0c;出现了各种攻击策略&#xff0c;这对现有的防御提出了挑战&#xff0…

ssm114基于SSM框架的网上拍卖系统的设计与实现+vue(论文+源码)_kaic

摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff0c;商品拍卖当然也不能排除在外&#xff0c;随着商品拍卖管理的不断成熟&#xff0c;它彻底改变了过去传统的经营管理方式&#xff0c;不仅使商品…

【Qt聊天室客户端】消息功能--发布程序

1. 获取文件内容 主要目标是实现获取内容二进制数据的接口&#xff0c;主要是为后面的消息功能提供服务 具体实现 客户端发送请求 服务端处理请求&#xff0c;同时支持三种数据类型 客户端处理服务端的响应 2. 发送图片消息 客户端与服务端的通信约定 客户端从服务器中获取图片…

【CSS】opacity 影响 z-index 不生效

准备知识 一般来说&#xff0c;z-index 不生效的原因有&#xff1a; 父元素的 position 属性&#xff1a; z-index 只对 position 属性为 relative、absolute 或 fixed 的元素有效。 其他元素的 z-index&#xff1a; 如果页面中有其他元素也设置了较高的 z-index&#xff0c;…

Elasticsearch基本概念及使用

Elasticsearch 是一个开源的、分布式的全文搜索和分析引擎&#xff0c;基于 Apache Lucene 构建。它提供了快速的搜索能力&#xff0c;支持大规模的数据分析&#xff0c;广泛应用于日志分析、全文搜索、监控系统和商业智能等领域。ES操作指令是基于restAPI构建&#xff0c;也就…

C语言入门到精通(第六版)——第十六章

16、网络套接字编程 16.1、计算机网络基础 计算机网络技术是计算机技术和通信技术相结合的产物&#xff0c;代表计算机的一个重要发展方向。了解计算机的网络结构&#xff0c;有助于用户开发网络应用程序。 16.1.1、IP地址 为了使网络上的计算机能够彼此识别对方&#xff0c;…

Electron教程1-初学入门

玩转Electron Electron 是什么注意事项环境安装安装 vscode安装 git 第一个实例第二个实例第二个实例解读 总结问题解答 Electron 是什么 Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个…

柠乐音乐 1.3.87 | 界面优美支持无损音乐下载的音乐播放器

柠乐音乐app提供丰富的音乐资源&#xff0c;涵盖流行、摇滚、古典等多种类型音乐&#xff0c;并且全部免费。支持FLAC无损音质音乐免费高速下载。内置独特推荐算法&#xff0c;可根据用户喜好智能推荐音乐。还包括电台播放资源、歌单同步&#xff08;支持网易云音乐和QQ音乐&am…

【资料】网络安全风险评估报告,风险管理报告,网络安全风险管理计划,网络安全网络安全能力验证报(Word原件)

一、概述 1.1工作方法 1.2评估依据 1.3评估范围 1.4评估方法 1.5基本信息 二、资产分析 2.1 信息资产识别概述 2.2 信息资产识别 三、评估说明 3.1无线网络安全检查项目评估 3.2无线网络与系统安全评估 3.3 ip管理与补丁管理 3.4防火墙 四、威胁细类分析 4.1威胁…