4

加速度計を使用して、電話にかかる平均的な力を計算するアプリを作成しています。この問題について考えた結果、電話機が静止している場合、すべての軸の値を合計すると +9.8 (重力による加速度) の答えが得られるという結論に達しました。

ここで、すべての軸の合計から 9.8 を引くと、重力を考慮せずに電話に加えられる力の合計が得られると仮定しました。したがって、電話機が固定位置にある場合は、値 0 が返されます。

これは、電話機が 1 つの軸に直接置かれている場合に当てはまりますが、電話機が何かに対して ~45 度の角度で置かれている場合は、4 ~ 5 の値 (重力の約半分) を返します。角度が軸に近づくほど、登録された力は小さくなります (先に進み、比例していると仮定します)

私の理解では、これは起こらないはずです。すべての軸が互いに打ち消し合うため、0 を返す必要があります。電話は静止しているので、電話で記録された力はありませんよね?

4

1 に答える 1

1

4 ~ 5 m/s2 の値は、計算に多少のバグがあるか、ハードウェアに欠陥があることを示します。すべての値を加算するとおっしゃいましたが、どのように行うのですか? 大きさを sqrt(x*x + y*y + z*z) として計算する必要があります。これは、速度、位置などの加速度がベクトルであり、それらの長さがピタゴラスの定理に従って計算されるためです。

一般に、これらのセンサーは期待するほど正確ではありません。iPhone では、9.75 から 9.87 の間の重力加速度値を測定しました。値は温度に依存し (冷蔵庫に入れると値が低くなります - 私はそれを確認しました ;-)、向きを変えると実際に違いがあります。0.3 m/s2 の値のデルタが見つかりました。これを修正するには、重い数学 (カルマンフィルターまたは類似のもの) ともちろん 2 つ目のセンサー (磁力計、つまりコンパスの反応が遅すぎるためジャイロスコープ) が必要になります。

于 2011-08-02T10:40:17.263 に答える