gpt4 book ai didi

android - 加速度计重力组件

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:56:00 26 4
gpt4 key购买 nike

我知道这个问题肯定已经在某个地方解决了很多次,如果你知道他们的存在请赐教,谢谢。

快速总结:我想从 3 轴加速度计计算这 3 个轴中每个轴上的重力分量。我使用了 2 轴自由体图来计算加速度计在世界 X-Z、Y-Z 和 X-Y 轴上的重力分量。但是解决方案似乎有点偏离,对于只有 1 个加速度计轴暴露于重力的极端情况是可以接受的,但是对于 45 度的俯仰和滚动,组合的总幅度大于重力(由 Xa^2+Ya^ 获得) 2+Za^2=g^2;Xa、Ya、Za 为加速度计在 X、Y、Z 轴的读数。

更多细节:该设备是 Nexus One,除了 3 轴加速度计外,还有一个用于方位角、俯仰和滚动的磁场传感器。

在世界轴上(Z 与重力方向相同,X 或 Y 指向北极,您认为这无关紧要吗?),我假设我的设备在Y-Z 轴和 X-Z 轴上的滚动 (R)。有了它,我使用简单的触发来获得:Sin(R)=Ax/GxzCos(R)=Az/GxzTan(R)=Ax/Az

还有另一组音高,P。

现在我将重力定义为在世界轴上有 3 个分量,一个 Gxz 只能在 X-Z 轴上测量,一个 Gyz 用于 Y-Z,一个 Gxy 用于 X-Y 轴。Gxz^2+Gyz^2+Gxy^2=2*G^22G 是因为在此定义中有效地包含了两次引力。

哦,X-Y 轴产生了一些更奇特的东西……如果需要,我稍后会解释。

从这些方程式中我得到了 Az 的公式,并删除了 tan 运算,因为我不知道如何处理 tan90 计算(它是无穷大?)。

所以我的问题是,有人知道我这样做是对还是错,或者能给我指出正确的方向吗?

谢谢!DVD

最佳答案

据我了解您的问题,您知道设备的俯仰和偏航(来自磁力计)并且想使用此信息来计算沿每个(设备)坐标轴的重力分量?

作为一名物理学家,我从小就接受欧拉角而不是俯仰-偏航-滚转,但看着 http://en.wikipedia.org/wiki/Yaw,_pitch,_and_roll我会这样计算:假设您的设备最初沿全局坐标系定向,因此重力为 gvec:={0,0,-g}(在局部坐标系中)。现在我们必须在通过 yaw-pitch-roll 时计算 gvec 的局部坐标(偏航不会像你提到的那样做任何事情)。对我来说,这对于旋转矩阵来说是最简单的:我们必须更改角度的符号,因为 gvec 保持不变。我会用 Mathematica 来做这件事,因为那是我的锤子,这是钉子

yaw = RotationMatrix[-yawangle,{0,0,1}];
pitch = RotationMatrix[-pitchangle, {0,1,0}];
roll = RotationMatrix[-rollangle,{1,0,0}];
gvec={0,0,-g}
yaw.gvec
pitch.yaw.gvec
roll.pitch.yaw.gvec

输出是 gvec 在偏航之前以及在偏航、俯仰和滚动之后的局部坐标(所以下面的最后一行应该是你的答案):

{0,0,-g}
{0,0,-g}
{g Sin[pitchangle],0,-g Cos[pitchangle]}
{g Sin[pitchangle],-g Cos[pitchangle] Sin[rollangle],-g Cos[pitchangle] Cos[rollangle]}

关于android - 加速度计重力组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2986628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com