SLAM学习笔记(二)第二周学习总结

两周一起发的。
第二周的内容是三维空间的刚体运动
一、点与坐标系:
重要的就两点:一个是世界坐标系,个体坐标系
另一个是坐标系运动的解释
1、世界坐标系:在SLAM中有一个固定的坐标系就是世界坐标系(我记得是可以自己规定的)
个体坐标系:每一个传感器都会有自己的坐标系,也有可能是世界坐标系。
2、坐标系运动的解释:坐标系运动直观点,那就是坐标系的旋转和平移
接下来我们会讲旋转相关的东西:
二、旋转矩阵:这个东西还真挺重要,一直都会用的。
咱们来考虑一次旋转:
如果坐标系(e1,e2,e3)变成了(E1,E2,E3)
向量a(a1,a2,a3)不变,那么它的坐标变化
在这里插入图片描述
其中这个矩阵R就是本节的主角——旋转矩阵。
这个矩阵R有两个性质:是一个正交矩阵,行列式为+1(证明这就不介绍了,有兴趣可以自己证证,虽然我没证出来行列式为1)。
有1到2的旋转可以表示为
a1 = R12 * a2。
a2 = R21 * a1。
矩阵关系 R21 = R12的逆 = R12的转置(因为R是正交的)
旋转加平移的式子:A = Ra + t
两个坐标系之间的运动可以用R,t描述
欧拉定理:刚体在三维空间的转动,可分解为刚体上方某一点的平移,以及绕经过此点的旋转轴的转动

根据这个旋转加平移表示很不方便,引申出了变换矩阵。
在这里插入图片描述
这个矩阵T就是变换矩阵,作业里有一题用的是变换矩阵,将四元数转换为旋转矩阵,在加上t变成变换矩阵,坐标通过旋转矩阵进行变换。
在这里插入图片描述
三、旋转向量与欧拉角
1、旋转向量:方向为旋转轴,长度为转过的角度,称为轴角或旋转向量
2、在这里插入图片描述
这个我没证,有兴趣的小伙伴可以自己搞搞
3、在这里插入图片描述
4、欧拉角:这个做个飞控的或者和3D有关的应该都会了解。
绕每个旋转都会有一个角
绕z轴旋转得偏航角yaw
绕Y轴旋转得俯仰角pitch
绕X轴旋转得滚转角roll
但是用欧拉角会有一个万向锁的问题
在这里插入图片描述
在SLAM中很少用欧拉角表示姿态,大多用四元数
四、四元数
1、在三维的情况下,可以看做复数的一个补充。
2、有三个虚部和一个实部 q = q0 + xi + yj + zk。
2.5、虚部之间的关系在这里插入图片描述
3、四元数的运算:在这里插入图片描述
两个四元数乘(不是·乘)分配律:sa乘qb的所有元素,以此类推
由旋转向量得四元数:在这里插入图片描述
有四元数得角轴在这里插入图片描述
由四元数旋转一个空间点:在这里插入图片描述
有一个式子,就是把p能移到后面,这个就是四元数转化为旋转矩阵。
五、本章总结:
本章介绍了刚体运动时,坐标怎么进行转换。
由旋转矩阵入手,两个坐标可以通过旋转矩阵完成旋转操作。因为旋转矩阵+平移不好表示,于是有了变换矩阵。
在SLAM中,这个旋转矩阵可没有人为规定,要根据陀螺仪得到的数据进行姿态解算(借用下飞控的名词),得出四元数,在变成旋转矩阵,再变成变换矩阵,再得到坐标。直接用四元数应该可以算。
六、作业总结:
作业中的矩阵运算eigen库的函数都有了,直接查官方文档好了。对于四元数,变换矩阵,平移值,这类在eigen库中都有对应的类型。

发布了27 篇原创文章 · 获赞 3 · 访问量 1402

猜你喜欢

转载自blog.csdn.net/qq_42860166/article/details/103517839