Slam笔记I

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Slam笔记I

科西嘉人   2020-03-29 我要评论
# 视觉Slam笔记I ## 第二讲-三位空间刚体运动 ### 点与坐标系: #### 基础概念: - 坐标系:左手系和右手系。右手系更常用。定义坐标系时,会定义世界坐标系,相机坐标系,以及其他关心对象的坐标系。空间中任意一点可由空间的基的线性表出。 - 加减法:用坐标描述更方便。 - 内积:点乘得数,即![image-20200329010953972](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170222529-2114621247.png) - 外积:叉乘得向量,即![image-20200329011111261](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170222270-770937940.png)右手系下,得到按照右手定则获取的向量。 - 坐标系间的变换:![](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170335875-750438570.png) 通过平移(向量的加减)和旋转(有多种描述方式,见下) - 2D情况:二维坐标点表示位置+一个旋转角表示朝向。 - 3D情况:三维坐标点表示位置+一个旋转角(角度间的变换使用旋转,旋转方式有多种,见下)。 #### 旋转矩阵:(描述旋转的第一种方式) 坐标系` (e_1,e_2,e_3)`经过旋转变成` (e'_1,e'_2,e'_3)`,在三维空间中,向量` a`保持不动,那么如何表出它在` (e'_1,e'_2,e'_3)`下的坐标: 1. 线性表出法向量` a`坐标:两坐标系实质是分别用两组不同的基去表示同一个点,则两者的线性组合是相等的:![image-20200329012910587](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170221484-1779902232.png) 2. 左右两边同时左乘` (e_1,e_2,e_3)`的转置,得到:![image-20200329013036243](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170221119-898891393.png) - R即为**旋转矩阵**。 - 性质: - R是一个正交矩阵(矩阵的逆即矩阵的转置,或转置×本身即为一个单位矩阵)。 - R的行列式值为1。 - 满足上述性质的矩阵都可以称为**旋转矩阵**,使用集合表示:![](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170651861-705219474.png) ,又称特殊正交群SO(3)。 - 固定表示方式(下标顺序):![image-20200329013817705](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170220514-918749510.png)且满足矩阵关系:![image-20200329013839175](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170220218-414824988.png)。 **因此,空间中不同坐标系下点坐标的变换可以使用:![image-20200329014154282](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170219973-1404548592.png)即旋转+平移的形式完全描述** - 理论依据:欧拉定理,刚体在三维空间中的一般运动,可分解为刚体上方某一点的平移,以及绕经过此点的旋转轴的转动。 但是,这种表示方式在多次进行变换时会有不便(![image-20200329015145398](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170219757-340880812.png)),因此使用增广的方式进行表示: ![image-20200329015201203](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170219459-1835174472.png) - 其中,![image-20200329015312728](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170218900-59795731.png)称为变换矩阵,![image-20200329015328058](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170218661-1733472125.png)的形式称为齐次坐标。 - 齐次坐标性质:齐次坐标乘上任意非0常数时仍表达同一坐标![image-20200329155858830](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170218456-915073094.png) - 变换矩阵的集合:称为特殊欧式群SE(3):![image-20200329160232459](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170218183-2013768993.png)![image-20200329160247758](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170217546-884245821.png) #### 旋转向量和欧拉角: 旋转矩阵在实际中更常用,但这些概念也是需要清楚的。 旋转矩阵R是一个3×3的矩阵,有九个元素,但仅有三个自由度,也就是存在描述方式上的冗余,那么能否以更少的元素表达旋转? 刚体旋转存在一个转轴(向量),还有转过的角度,于是想用**角度乘以向量**(单位化过后)的形式去描述旋转。 ###### 旋转向量 - 一个向量,方向为旋转轴方向,长度为转过的角度。(单位向量乘角度大小) - 又称角轴/轴角。 - **罗德里格斯公式**可以将旋转向量(**n**,theta)转换成旋转矩阵R:![image-20200329161622677](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170217285-2097009988.png) - 旋转矩阵R也可以转换成旋转向量(**n**,theta):![image-20200329161720658](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170217044-840283389.png)**n**是特征向量。 ###### 欧拉角 - 将旋转分解成三个方向上的转动,常用顺序为yaw-pitch-roll(也就是绕Z-Y-X方式转,注意 ,不同地方在绕Z转之后,所绕的Y轴可能是原来的Y轴,也可能是转动后的Y轴) - ![image-20200329162256923](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170216451-384389405.png) - 万向锁(Gimbal Lock):欧拉角存在奇异性(特定值下,旋转的自由度减1) - ![image-20200329162950598](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170215169-536753520.png)在pitch方向旋转完毕后,roll方向旋转和yaw方向旋转是重合的。由此,欧拉角不适合插值或迭代,故不常用。 #### 四元数: 吸取了旋转矩阵和旋转向量、欧拉角的优点,是一种优秀的描述方式。 - 2D情况下,可以用单位复数表达旋转: $$ z=x+iy=\rho e^{i\theta} $$ - 用z乘以i,相当于旋转了90度(![](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170424966-1252000154.png)),乘-i转动-90度。 在三维情况下,四元数可作为扩充定义的复数 - 特点1:有三个虚部+一个实部![image-20200329164223218](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170213834-3271978.png) - 特点2:虚部之间存在关系:![image-20200329164245980](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170213577-1793938881.png) - 单位四元数可以表达三维空间的旋转: ![image-20200329164406659](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170212901-542814285.png) - 四元数也能定义很多运算: ![image-20200329164506016](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170212544-541904140.png) - 四元数转换成旋转向量:![image-20200329165043809](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170211001-849218550.png) - 旋转向量转换成四元数:![image-20200329165108650](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170210434-912291140.png) - 用四元数表示旋转: ![image-20200329165224736](https://img2020.cnblogs.com/blog/1653121/202003/1653121-20200329170209725-1399355543.png)

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们