我一直在测量3D形状(3空间传感器)的方向变化,该3D形状具有不同的起始位置(受控终点位置)。我正在使用欧拉角,(P)itch,(R)oll和(Y)aw。
我对方向变化的衡量是:方向变化OC = | dP | + | dR | + | dY |
3个起始位置仅在传感器侧倾角度方面有所不同:
1)。 0
2)。 45
3)。 90
在每个开始位置,传感器都去皮重,然后沿着侧倾轴升高到30度。
问题是对于1)。 &3)。如预期的那样,我得到OC = 30,分别仅表示俯仰和30度的偏航误差。但是对于2)。 OC明显大于30,是非零俯仰,横摇和横摆的总和。
这符合预期吗?假设是这样,是否有更好的OC量度对起始位置不敏感?
Nico在评论中提供的答案:
使用四元数距离,这是我的传感器作为单位四元数提供的初始和最终四元数的点积,其中x 2 y 2 + z 2 + w 2 = 1
点乘积由:点= x i。x f + y i。y f + z i。z f + w i .w f
此外,我使用这些四元数之间的相对角θ(弧度)由下式给出:Theta = 2cos -1(点)
这些传感器使用theta大大改善了结果,只有在应用了梯度下降校准时才有更多改进。