从零实战SLAM-第二课(SLAM中的基础数学)

空间数据的表达方式:点和向量两种形式。
向量的内积,也叫做点乘,是逐点相乘后累加,最终结果是一个标量,物理意义是一个向量在另一个向量上的投影。
外积,也叫做叉乘,两个向量拼起来成,结果是一个矩阵,物理意义是旋转。
向量旋转
向量旋转可以由旋转轴向量加角度表示,一般采用右手坐标系。
a到b的旋转可以由向量w来描述
坐标系的变换包括平移和旋转,平移是对原点的平移,旋转是绕着三个轴旋转。
刚体运动:在三维空间中,把一个几何不变物体作旋转、平移的运动叫刚体运动。
刚体运动包括平移T和旋转R。
坐标系发生旋转,原坐标系下向量的值,按下面的方式进行变换。
这个矩阵一般叫旋转矩阵R,其必要条件是行列式为1的正交矩阵。
SO(n) 是特殊正交群:Special Orthogonal Group
旋转矩阵为正交阵,它的逆(即转置)描述了一个相反的旋转
旋转平移矩阵
世界坐标系中的向量a,经过一次旋转(R)和平移(t)后,得到了a':
𝑎′= 𝑅𝑎 + 𝑡 这里的t为平移向量。
将平移向量放进 矩阵运算中,则原向量变成齐次向量,矩阵变成了变换矩阵。
特殊欧式群:变换矩阵具有如下的特性。
罗德里格公式:
假设有一个旋转轴为n,角度为θ的旋转,显然,它对应的旋转向量为θn。
从一个旋转矩阵到旋转向量的转换。对于转角θ:
欧拉角:
用三个角度描述一个刚体在三维空间中的姿态,偏航-俯仰-滚转: yaw-roll-pitch → z-x-y。
欧拉角的缺点:万向锁。
当某一个轴旋转90°,有两个轴的对应平面重合,则此情况下两个旋转的效果是一样的,这种情况叫做万向锁。
为了避免万向锁对旋转计算的影响,SLAM中一般使用四元数来提起欧拉角描述旋转,当然本质是一样的。
一个四元数q 拥有一个实部和三个虚部:
三个虚部之间的运算关系:
也可以用一个标量和一个向量来表达四元数:
四元数的四则运算:
设𝒒𝒂 = [𝑠𝑎, 𝑣𝑎] , 𝒒𝒃 = [𝑠𝑏, 𝑣𝑏],则
四元数的共轭,
设𝒒𝒂 = [𝑠𝑎, 𝑣𝑎] 𝑞𝑎 = 𝑠𝑎 + 𝑥𝑎𝑖 + 𝑦𝑎𝑗 + 𝑧𝑎k,则
四元数的模长
四元数的逆
四元数与旋转之间的计算关系:
三维空间的单位向量𝒏 = [𝑛𝑥, 𝑛𝑦, 𝑛𝑧]',某个旋转是绕单位向量𝒏进行了角度为𝜃的旋转,该旋转的四元数形式为:
四元素如何用于计算旋转

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

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

相关文章

maven是什么?安装+配置

目录 1.什么是maven? 1.2.maven的核心功能是什么? 2.Maven安装配置 2.1Maven的安装 2.2Maven环境配置 1.配置 MAVEN_HOME ,变量值就是你的 maven 安装的路径(bin 目录之前一级目录) 2.将MAVEN_HOME 添加到Path系…

汽车上的电源模式详解

① 一般根据钥匙孔开关的位置来确定整车用电类别,汽车上电源可以分为常电,IG电,ACC电 1)常电。常电表示蓄电池和发电机输出直接供电,即使点火开关在OFF档时,也有电量供应。一般来讲模块的记忆电源及需要在车…

关于安卓打包生成aar,jar实现(一)

关于安卓打包生成aar,jar方式 背景 在开发的过程中,主项目引入三方功能的方式有很多,主要是以下几个方面: (1)直接引入源代码module(优点:方便修改源码,易于维护&#…

ArcGIS Pro技术应用(暨基础入门、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合)

GIS是利用电子计算机及其外部设备,采集、存储、分析和描述整个或部分地球表面与空间信息系统。简单地讲,它是在一定的地域内,将地理空间信息和 一些与该地域地理信息相关的属性信息结合起来,达到对地理和属性信息的综合管理。GIS的…

golang trace view 视图详解

大家好,我是蓝胖子,在golang中可以使用go pprof的工具对golang程序进行性能分析,其中通过go trace 命令生成的trace view视图对于我们分析系统延迟十分有帮助,鉴于当前对trace view视图的介绍还是很少,在粗略的看过tra…

MySQL存储结构及索引

文章目录 MySQL结构1.2存储引擎介绍1.3存储引擎特点InnoDB逻辑存储结构 MyISAMMemory区别及特点存储引擎选择 索引索引概述索引结构BTreeHash索引分类聚集索引&二级索引索引语法SQL性能分析索引优化最左前缀法则范围查询字符串不加引号模糊查询or连接条件数据分布影响覆盖索…

Linux:Shell编程之正则表达式

目录 绪论 1、正则表达式 1.1 通配符 1.2 正则表达式分类 1.3 基本正则 1.4 正则表达式中表示次数的表达式 1.5 位置锚定 1.5.1 词首锚定和词尾锚定 1.6 分组() 1.7 逻辑或 1.8 扩展正则 绪论 正则表达式:有一类特殊字符以及文本…

.NET对象的内存布局

在.NET中,理解对象的内存布局是非常重要的,这将帮助我们更好地理解.NET的运行机制和优化代码,本文将介绍.NET中的对象内存布局。 .NET中的数据类型主要分为两类,值类型和引用类型。值类型包括了基本类型(如int、bool、double、cha…

SQL server 与 MySQL count函数、以及sum、avg 是否包含 为null的值

sql server 与 mysql count 作用一样。 count 计算指定字段出现的个数, 不是计算 null的值 获取表的条数 count(n) n:常数 count(1),count(0)等 count(*) count(字段) 其中字段为null 不会统计在内。 avg(字段)、sum(字段) 跟count(字段)…

VS Code 使用cnpm下载包失败

一、 问题如下: 网上找到的解决方法是要在powershell中执行: Set-ExecutionPolicy RemoteSigned进行更改策略。 首先我们解释下这个Set-ExecutionPolicy RemoteSigned,Set-ExecutionPolicy 是一个 PowerShell 命令,用于控制脚本…

火车头采集伪原创插件【php源码】

大家好,小编来为大家解答以下问题,python代码大全和用法,python代码大全简单,现在让我们一起来看看吧! 火车头采集ai伪原创插件截图: 1、题目:列表转换为字典。 程序源代码: 1 #!/us…

Dynamo_关于参数赋值

写写关于Dynamo参数赋值 为单个对象赋单个参数值 最容易理解,SetParameterByName需要输入三个参数,元素对象(数据类型:Element),参数名称(数据类型:String),…

【JAVA基础】- 同步非阻塞模式NIO详解

【JAVA基础】- 同步非阻塞模式NIO详解 文章目录 【JAVA基础】- 同步非阻塞模式NIO详解一、概述二、常用概念三、NIO的实现原理四、NIO代码实现客户端实现服务端实现 五、同步非阻塞NIO总结 一、概述 NIO(Non-Blocking IO)是同步非阻塞方式来处理IO数据。…

【ChatGPT 指令大全】怎么使用ChatGPT辅助程式开发

目录 写程式 解读程式码 重构程式码 解 bug 写测试 写 Regex 总结 在当今快节奏的数字化世界中,程式开发变得越来越重要和普遍。无论是开发应用程序、网站还是其他软件,程式开发的需求都在不断增长。然而,有时候我们可能会遇到各种问题…

PCL 计算外接圆的半径

目录 一、算法原理1、计算公式2、主要函数3、源码解析二、代码实现三、结果展示四、参考链接本文由CSDN点云侠原创,原文链接。爬虫自重。 一、算法原理 1、计算公式

【毕业项目】自主设计HTTP

博客介绍:运用之前学过的各种知识 自己独立做出一个HTTP服务器 自主设计WEB服务器 背景目标描述技术特点项目定位开发环境WWW介绍 网络协议栈介绍网络协议栈整体网络协议栈细节与http相关的重要协议 HTTP背景知识补充特点uri & url & urn网址url HTTP请求和…

springboot家政服务管理系统java家务保姆资源 jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 springboot家政服务管理系统 系统1权限:管…

C# PDF加盖电子章

winform界面 1.选择加签pdf按钮代码实现 private void button1_Click(object sender, EventArgs e){OpenFileDialog op new OpenFileDialog();op.Filter "PDF文件(*.pdf)|*.pdf";bool flag op.ShowDialog() DialogResult.OK;if (flag){string pdfPath Path.Get…

c语言进阶部分详解(数据在内存中的存储)

大家好,今天要进行梳理的内容是数据在内存中的存储相关内容。 在C语言中,数据在内存中的存储是一个非常重要的概念。了解数据在内存中的存储方式可以帮助我们更好地理解程序的执行过程,优化内存使用,提高程序的性能。 目录 一.数…

《论文阅读13》Efficient Urban-scale Point Clouds Segmentationwith BEV Projection

一、论文 研究领域: 城市级3D语义分割论文:Efficient Urban-scale Point Clouds Segmentationwith BEV Projection论文链接 注: BEV: Birds Eye View BEV投影是指鸟瞰视角(Birds Eye View,简称BEV)的一种从上方观看对象或场景的…