高翔《视觉SLAM》第二讲笔记

今天周二,上午三小时看完高翔视觉SLAM第二节课,现在整理今天所学的知识点,今天任务量不大,主要是一些数学知识在SLAM上的应用,我把第二次课的资料放在文章的最后方便大家下载。

## 视觉SLAM第二讲:三维空间刚体运动

01 点与坐标系
我们知道在一个2D空间上,我们可以用两个坐标(X,Y)加上旋转角来表示一个物体旋转和平移的情况,那么在3D空间中,我们怎么表达这种情况呢?

在3D空间上,我们知道需要三个轴来表示一个空间,常见的使用下面的两种坐标系的表示方法:右手定则和左手定则。
在这里插入图片描述
针对坐标系中的点,我们可以使用带有单位正交基底的坐标来表示空间中的向量,这样能够进行下面的向量运算。
在这里插入图片描述
一般情况下,如果不声明单位正交基底,我们是不能用坐标来表示向量的。

在SLAM中,主要有固定世界坐标系和移动的相机坐标系,中间还有不同的传感器坐标系。图中(Xc,Yc,Zc)表示相机坐标系,(Xw Yw Zw)表示世界坐标系。
在这里插入图片描述
我们要想把相机坐标系中的向量P表示在固定的世界坐标系中,这样我们是通过什么操作呢?

  • 直观地
    坐标系原点的平移 --Translation
    三个坐标轴的旋转 --Rotation

02 旋转矩阵
针对坐标系的一次旋转,我们通过下面的方程求解坐标系中向量的变换:
在这里插入图片描述
在上式中R表示旋转矩阵:
在这里插入图片描述
我们表示R12表示从2系到1系的变换矩阵:
在这里插入图片描述
在这种情况下,两个坐标系之间的关系完全可以通过R,T来描述。但是有时候我们表示旋转加平移的情况时,我们会使用齐次矩阵来表示,这样可以通过齐次矩阵的性质减小运算量。
在这里插入图片描述
我们把变换矩阵的集合称为特殊欧式群,这里不做介绍,后面课程还会有讲解。因为我们只会用到三维坐标,所以这里使用的是SE(3).
在这里插入图片描述
这里要注意下变换矩阵逆的求解:
在这里插入图片描述
03 旋转向量和欧拉角

除了使用旋转矩阵/变换矩阵外,还有其他的表示方式:

  • 所谓旋转向量:方向为旋转轴,长度为转过的角度

  • 称为角轴或者旋转向量

  • 仅有三个量,无约束,更直观

下面给出以下罗德里格斯公式用于反对称矩阵求旋转矩阵的方法
在这里插入图片描述

2.欧拉角

我们能够通过旋转来表示坐标系的变换

下面的坐标系通过旋转Z-Y-X的顺序,完成了旋转。这样我们也可以求得旋转的坐标。
在这里插入图片描述
但是欧拉角有一个很大的缺点就是存在万向锁,在下图的右图中情况,我们向里和向外旋转的时候,旋转的都是同一个角度,存在奇异情况,所以一般我们在SLAM中很少用欧拉角表示姿态。
在这里插入图片描述

04 四元数
我们也可以通过一个四元数来表示三维空间的情况,如下图所示:在三维情况下,我们用一个实部+三个虚部来表示四元数。
在这里插入图片描述
使用单位四元数可以表示旋转情况:
在这里插入图片描述
下面是四元数的运算法则:
在这里插入图片描述
四元数能够和角轴进行转换运算:
在这里插入图片描述
我们用四元数来表示一个点在空间旋转后的运算:
在这里插入图片描述
第五节讲解的是Eigen库,这是一个矩阵运算的库我们可以在ubuntu系统终端直接安装

sudo apt-get install libeigen2-dev

Eigen是一个纯头文件的库,不需要link,只需要在使用之前include即可。但是像open-cv的话既有头文件也有源文件,我们不但需要link,还有引头文件,不然会报错。今天的总结就到这里,明天见!

百度云链接:https://pan.baidu.com/s/1LINAHB7mZ5To4tAN5VV7Rg

提取码:pgwb

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值