2011-09-15 1 views
3

私のサムスンギャラクシーS2は、加速度計とジャイロスコープを持っています。これらの2つのセンサーで、私は男の転倒を判断する必要があります。どのように私はそれを最良の方法で実装しますか?人の落下のAndroidデバイスとを確認し

答えて

2

関連データはSensorEvent valuesです。

  1. アクセラレーション座標は、携帯電話からの相対座標です。だから、落ちている間に携帯電話が旋回しているのであれば、加速度ベクトルは「回転する」だろうこれを正規化するには、ジャイロスコープのデータも使用する必要があります。

  2. あなたは、いくつかの方向に速度を検出しようとしています。 motion equationsを見てください。基本的には、時間の経過とともに加速度を積分する必要があります。 (すでに説明したように正規化された加速が必要です)。

私はあなたの「落下の男」の文脈を知らないが、あなたはまた、Free Fall情報に見えるかもしれません。デバイスがまだある場合は

2

加速度計は、落下を判断する必要がある唯一のSensorです。ジャイロスコープは、落下中にデバイスがランダムな向きを持ち、回転している可能性があるため、ここでは使用しません。絶対自由落下で

加速度計は、(0, 0, 0)のaccleration値を返すので、携帯電話の落下開始時に、値がそれに近いです。 「落下モード」をトリガする天井を決定するまで

あなたはthat pageに加速度計の詳細を見つけることができます。

編集、さらに以下のコメントに:(チルト依存する種々の軸上のdecomposition

  • 傾いたりしない、テーブルの上に横たわって、加速度ベクトルGを返します。

  • 、デバイスが自体をオンにした場合落下時、軸上に回転加速度を検出することができます。これは、加速が(0,0,0)に非常に近い場合を除いて、落下検出システムが時間の経過とともに実行されることを意味します。

+2

も(0,0,0)をお渡しします。 –

+0

また、携帯電話が転倒している場合、加速度ベクトルの(x、y、z)値に影響します。だから、ジャイロスコープを考慮する必要があります。 –

+2

デバイスが静止している場合、センサーベクトルのモジュールはGです。自由落下では0になります。衝突すると、それは多くなります。私は基本的に2Gを超えるものは秋と見なすことができると思います。 (またはあなたの電話を壁に投げている) – njzk2