Geometry 三维形状中方向变化的可靠测量

Geometry 三维形状中方向变化的可靠测量,geometry,sensors,euler-angles,Geometry,Sensors,Euler Angles,我一直在测量一个3D形状(一个3空间传感器)的方向变化,该形状具有不同的起始位置和受控的结束位置。 我用的是欧拉角,(P)itch,(R)oll和(Y)aw 我对方向变化的衡量标准是: 方向变化OC=| dP |+| dR |+| dY| 3个起始位置仅在传感器滚动角度上有所不同: 1) 。0 2) 。45 3) 。九十 在每个起始位置,传感器均被皮重,然后沿滚动轴提升至30度 问题是,对于1)和3). 正如预期的那样,我得到OC=30,分别表示30度的俯仰和偏航误差。然而,对于第二种情况)。O

我一直在测量一个3D形状(一个3空间传感器)的方向变化,该形状具有不同的起始位置和受控的结束位置。 我用的是欧拉角,(P)itch,(R)oll和(Y)aw

我对方向变化的衡量标准是: 方向变化OC=| dP |+| dR |+| dY|

3个起始位置仅在传感器滚动角度上有所不同:

1) 。0

2) 。45

3) 。九十

在每个起始位置,传感器均被皮重,然后沿滚动轴提升至30度

问题是,对于1)和3). 正如预期的那样,我得到OC=30,分别表示30度的俯仰和偏航误差。然而,对于第二种情况)。OC明显大于30,是非零俯仰、横摇和偏航的总和


这和预期的一样吗?假设是,是否有更好的OC测量方法对起始位置不敏感?

Nico在评论中提供的答案:

要使用四元数距离,这是我的传感器作为单位四元数提供的初始和最终四元数的点积,其中x2+y2+z2+w2=1

dot乘积由以下公式得出: DOT= X.XF+Y.YF+ZI.ZF+WI.WF

此外,我使用了这些四元数之间的相对角度θ(弧度),由下式给出: θ=2cos-1(点)


使用θ,传感器的结果得到了极大的改善,只有在应用梯度下降校准时,θ的改善才更多。

请更详细地描述潜在问题(什么方法会产生错误?)。看起来你的位置错误实际上是一个方向错误。欧拉角的差异可能适用于小的差异,但一般来说,它没有表现力。试试四元数距离或类似的距离。嗨,尼科,我编辑了这个问题,希望能更好地描述这个问题。根本的问题是,对于通过传感器中点的轴的相同旋转角度,根据传感器的起始位置,我会得到不同的OC*值。我需要一个更好的保持恒定的OC公式。我建议使用四元数距离:计算两个方向的单位四元数,并取它们的点积。但是如果我在开始位置给传感器去皮,我只有最终位置的四元数,形式为(a,b,c,d)。假设我使用四元数,皮重是不必要的——这样做是为了避免作为万向节锁。因为你根本没有描述你实际上在做什么,所以没有办法提出任何进一步的建议。你的问题是如何衡量方向的变化。答案是采用四元数距离或类似距离。如果已经有一个差分旋转表示为单个四元数,则只需获取其
w
分量(或者
圆弧cos(w)
,如果需要角度)。