最近又要开始改SLAM算法了,又遇到了旋转变换矩阵需要左乘还是右乘的问题,这里举个例子来形象说明: 如下图所示:为了便于举例,这里我们仅考虑二维情况下的变换

假设相机F1在世界坐标系下的位姿为:(这里仅举二维齐次矩阵为例,三维同理)
|a b 0|
|c d 0|
|0 0 1|
假设从F1到F2只有平移而没有旋转,令F1沿x轴和y轴各平移1m,问,F1在平移后的位姿应该是多少?
易知,上述作用在F1上的变换矩阵T为:
|1 0 1|
|0 1 1|
|0 0 1|
将T左乘F1,T*F1得:
|a b 1|
|c d 1|
|0 0 1|
可知,F2确实是F1沿x轴和y轴各平移1m得到的新位姿; 右乘的情况:F1*T得到:
|a b a+b|
|c d c+d|
|0 0 1|
很明显,这个结果是错误的,平移参数受到了a,b,c,d变量的影响,并不会是1。
综上所述,相信借助这个例子,就不会在旋转平移变换上再左乘,右乘傻傻分不清楚了。
本文通过实例解析了在SLAM中如何确定旋转变换矩阵的使用是左乘还是右乘,避免混淆平移参数。通过二维齐次矩阵和实际位姿变换来演示正确操作的重要性。

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



