在SLAM中,需要表示点的位置、欧式变换(也是刚性变换)
1、齐次坐标的表示
齐次坐标既可以表示点的位置,也可以表示刚性变换。
点的位置用一个4*1的向量来表示,刚性变换用一个4*4的矩阵来表示。
参考:http://www.cnblogs.com/gaoxiang12/p/5113334.html
2、四元数的表示
四元数可以表示点的位置,但是仅能够表示旋转变换,而不能够表示平移变换。
具体参考:http://www.cnblogs.com/gaoxiang12/p/5120175.html
3、欧拉角
欧拉角的定义与变换次序:http://blog.sina.com.cn/s/blog_1463ad8080102x0g6.html
姿态角属于欧拉角的一种,欧拉角表示旋转变换,很少用!!!
欧拉角的缺点:
会造成万向节锁的现象。这种现象的发生就是由于按照固定坐标轴的旋转表示的原因。理论上,欧拉旋转可以靠这种顺序让一个物体指到任何一个想要的方向,但如果在旋转中不幸让某些坐标轴重合了就会发生万向节锁,这时就失去了一个方向上的旋转能力,也就是说在这种状态下我们无论怎么旋转都不可能得到想要的旋转结果,除非我们打破原先的旋转顺序或者同时旋转三个坐标轴。
4、旋转轴/旋转角度的表示方法
一个三维的向量表示,可以写成theta * n的形式,这里theta表示旋转的角度,n第一个单位长度向量,表示旋转轴。