答案 0 :(得分:1)
我想知道这是否偏离主题,因为答案是“不”,解释是关于物理,而不是编程(如果答案是“是”,它可能是主题)。但是,让我在这里帮助你。
您可以将加速度计视为一组3个弹簧(或测力计),用于测量施加在a的内部重量上的力。沿3轴(x,y,z)。如果设备未加速,则会显示沿z应用的 g 力。现在,人们可以测量滚动和俯仰,因为如果这些非零,则重力应用于另一个方向(请记住,我们使用附加到设备的参考框架)。但是,如果Roll和Pitch为零,无论你的Yaw是什么,你只能从加速度计得到(0,0,g)向量(所以你不能推导出偏航)。如果Roll和/或Pitch非零,你只能暗示Yaw为零(或某个其他特定值)并从(Fx,Fy,Fz)计算Roll和Pitch - 如果你没有这样的含义,你甚至无法确定Roll和Pitch是什么(Roll = alpha,Pitch = 0,Yaw = 0与Roll = 0相同,Pitch = alpha,Yaw = 90;我可能在Pitch或Yaw上放错了符号)。当身体加速时,我不确定这种情况,但在这种情况下,使用仅加速度计肯定无法获得Yaw。