视觉SLAM十四讲 第3讲 三维空间刚体运动
本文不以书上的知识点流程进行记录,而是将初学SLAM一些相关却又比较陌生的知识点、名词进行总结,然后再记录第3讲的相关知识。
1. 刚体
刚体rigid body,指在运动或受力的过程中,形状和大小不变,各个质点的相对位置不变
2. 欧氏空间(euclidean space)
欧几里得空间就是对现实空间的规则抽象和推广(从n<=3推广到有限n维空间)

简单来说所有满足从2维、3维推出的内积、距离、角的定义的空间都叫做欧氏空间。
2.1 欧氏距离:
d ( x , y ) = ( x 1 − y 1 ) 2 + ( x 2 − y 2 ) 2 + ⋯ + ( x n − y n ) 2 d(x, y) = \sqrt{ (x_1-y_1)^2 + (x_2-y_2)^2 + \dots + (x_n-y_n)^2 } d(x,y)=(x1−y1)2+(x2−y2)2+⋯+(xn−yn)2
2.2 欧氏变换:
欧氏变换由旋转和平移组成。
非欧几里得空间:二维扁平智能生物
https://www.zhihu.com/question/27903807
3. 笛卡尔坐标系
又称直角坐标系、正交坐标系。笛卡尔坐标系的研究结合了代数和欧几里得几何,对于后来的解析几何、微积分和地图学的发展,具有关键性的意义。
4. 透视空间
透视从理论上直观的解释了物体在平面(2维)上呈现三维空间的基本原理和规律。方法有单点透视、空气透视和散点透视。更多的是绘画上的概念。
可以直接把透视空间理解为3维空间往某个方向、平面,拍扁成2维平面所形成的图像。
5. 齐次坐标系
5.1 问题:两条平行线可以相交于一点?
在欧式空间中,同一平面的两条平行线不能相交,但是透视空间中可以,比如火车轨道随着我们的实现越来越窄,最后两条平行线在无穷远处交于一点。
这个点的坐标是消失点(无穷,无穷),这在欧式空间中没有意义。
简而言之,齐次坐标系,就是用N+1维向量(矩阵)来表示N维向量(矩阵),而转化回笛卡尔坐标系就是用前N-1个元素除以第N个元素即可。齐次坐标系就是为了解决,平行线在透视空间相交且相交点在欧式空间没有意义的问题。
笛卡尔坐标系(a, b) -> 齐次坐标系(x, y, w)
其中a = x / w, b = y / w
5.2 为什么叫齐次?
(4, 6, 2)和(2, 3, 1)对应的是同一个欧氏点,这些点是齐次的,齐次坐标有规模不变性。
求平行线相交方程组:
https://blog.youkuaiyun.com/janestar/article/details/44244849
如果是普通坐标系,则方程无解,转化为齐次坐标系则有解,解在无穷远处
6. 关于Eigen
- 在c++程序中,我们可以把一个float数据和double数据相加、相乘,编译器会自动把数据类型转换为最合适的那种。而在eigen中,处于对性能的考虑,必须显式得对矩阵类型进行转换,不然会出错。
- 如果发现eigen出错,你可以直接找大写的部分,来看看出了什么问题。
- eigen几乎所有数据都当做矩阵来处理
7. 基础知识
7.1 点和向量
点是空间中的基本元素,没有长度,没有体积。把两个点连接起来,就构成了向量。
向量可以看成从某点指向另一个点的一个箭头。切记,不要把向量与它的坐标这两个概念啊混淆。向量就是空间中的一个东西,不需要与任何实数相关联,只有确定了空间中的某个坐标系时,才可以谈论该向量在此坐标系下的坐标,也就是找到若干个实数对应这个向量。
坐标的具体取值,一是和向量本身有关,二是和坐标系(基)的选取有关。基就是张成这个空间的一组线性无关的向量,有些书里也叫基底。基向量的长度为1。
7.2 点乘和叉乘
dot内积(点乘):
① a在b上的投影的模乘以b的模
② 描述向量之间的夹角
a ⋅ b = a T b = ∣ a ∣ ∣ b ∣ c o s < a , b > a · b = a^T b = |a||b|cos<a, b> a⋅b=aTb=∣a∣∣b∣cos<a,b>
矩阵没有点乘一说
cross product外积(叉乘):
① aOb平面的法向量
② ab组成的平行四边形的面积和法向量长度 ∣ a ∣ ∣ b ∣ s i n < a , b > |a||b|sin<a,b> ∣a∣</

本文介绍了刚体运动的基础知识,包括欧氏空间、欧氏距离和变换。深入探讨了笛卡尔坐标系、透视空间以及齐次坐标系的概念,解释了平行线在透视空间中相交的几何意义。此外,还讨论了旋转矩阵、欧拉角、旋转向量、万向锁和四元数,特别是四元数如何避免万向锁问题,以及它们在旋转表示中的优势。
最低0.47元/天 解锁文章
1474

被折叠的 条评论
为什么被折叠?



