SLAM初学-三维空间刚体运动
date
Aug 26, 2021
Last edited time
Sep 5, 2021 10:59 AM
status
Published
slug
SLAM初学-三维空间刚体运动
tags
SLAM
summary
刚接触SLAM, 简要介绍了三维空间刚体运动的表示方式
type
Post
Field
Plat
向量的运算复习
- 向量的内积
- 向量的外积
可以把向量的外积 写成一个矩阵与向量之间的乘法运算 , 表示向量的旋转。
- 符号 是向量到反对称矩阵的转换符
旋转矩阵
旋转矩阵 描述了旋转前后同一个向量的坐标变换关系,只要旋转是一样的,那么这个旋转矩阵也是一样的。
- 旋转矩阵是一个正交矩阵,其行列式的值为1. 同样的,行列式的值为1的正交矩阵也是旋转矩阵
- 旋转矩阵的逆矩阵(即其转置矩阵)描述了一个相反的旋转
- 欧式变换可以描述为一次旋转变换加上一次平移,则
变换矩阵
使用齐次坐标形式的矩阵重写欧式变换的表达式,将平移和旋转写在同一个矩阵里,将这个矩阵 称为变换矩阵。
- 齐次坐标: 在三维向量 的末尾添加一个1, 使其编变成四维向量, 称之为齐次坐标 .
- 齐次坐标使用4个实数来描述一个三维向量, 多了一个自由度. 因此, 在齐次坐标当中, 某个点 的每个分量乘以一个非零常数 后, 任然表示同一个点.
- 如果不使用齐次坐标来表示对一个点进行两次变换的话, , 而使用齐次坐标的形式的话, 就可以简单的描述为
- 变换矩阵的逆矩阵 表示与原变换矩阵 相反的变换
Eigen 的使用
矩阵的创建与运算
使用 Eigen 进行坐标变换
旋转向量
对于任意旋转都可以用一个旋转轴和一个旋转角来表示. 因此, 我们可以使用一个向量, 其方向与旋转轴一致, 而长度等于旋转角. 我们把这个向量称为旋转向量.
假设有一个旋转轴为 , 角度为 的旋转, 则其对应的旋转向量为 .
- 从旋转向量转为为旋转矩阵, 可以使用 罗德里格旋转公式 进行转换
转轴 为旋转矩阵 特征值为 所对应的特征向量.
欧拉角
- 绕物体的 轴旋转 — 偏航角 yaw
- 绕旋转之后的 轴旋转 — 俯仰角 pitch
- 绕旋转之后的 轴旋转 — 滚转角 roll
- 欧拉角的旋转顺序一般是yaw-pitch-roll
- 欧拉角存在万向锁问题, 即当 pitch = 时, 第一次旋转将和第三次旋转使用同一个轴
四元数
使用四元数能够紧凑的, 无奇异性的表示一个三维旋转
四元数的表示方式
- 两个互为相反数的四元数代表一个相同的旋转.
- 虚四元数() 可以表示三维空间中的一个点
- 单位四元数表示三维空间中的任意一个旋转
旋转向量与四元数的转化
对于旋转向量 , 其对应的四元数为
使用四元数来表示旋转
对于三维空间中的点 , 使用四元数表示这个旋转 , 那么旋转之后的点
相似, 仿射, 射影变换矩阵形式
- 相似变换
相似变换比普通的欧式变换多了一个自由度, 允许物体进行均匀缩放
- 仿射变换只要求 是一个可逆矩阵, 而不一定是一个正交矩阵.
- 射影变换
射影变换是对一般的变换