2016-09-03 9 views
1

私はジャイロ、モーション、アクセラレーションが表現しようとしているさまざまな動き/位置を理解しようとしています。 (startGyroUpdates,startDeviceMotionUpdatesなど)。ジャイロ、動き、加速度の物理的な違いは何ですか?

しかし、いくつかの研究の後、私はジャイロと動きの違いを見るのに苦労しています。ジャイロにはx、y、zの回転があり、モーションには回転、ピッチ、ヨーの回転があります...同じことですか?

私は、水平、垂直方向のユーザーが実際に電話を元の位置から移動したことを検出する必要があります(軸がグラフのように腕のようです)...私は動きが。誰かが私のためにこれをクリアして、私がこれに使用したい正しいツールに私を向けることができますか?

乾杯。

+0

モーションはジャイロのようなもので、いくつかのハードウェアクォークがアイロンをかけています。ユーザーの腕のように、デバイスが宇宙でどれだけ遠くに移動したかを検出することはできません。 – matt

+0

CoreLocationの最高精度設定を使用するだけでは方法はありませんか? –

+0

正しい。コアモーションは、空間内の位置ではなく、加速と方向を検出します。コアの位置はGPSと同じくらい良く、最高でも約10メートルで、さらにはおおよそのものです。 – matt

答えて

5

コアモーションは、内部ジャイロスコープと加速度計の入力を組み合わせたフレームワークです。アプリケーションが生のジャイロや加速度計のデータを特に必要とする場合を除いて、より高いレベルのAPIです。

あなたが検討しているオプション(ジャイロスコープ、加速度計、またはコアモーション)は、空間内のデバイスの位置を計算するのには適していません。

問題はドリフトです。加速度計は正確ではありませんので、一定の方向(歩いて、言いながら)で携帯電話を加速してから停止するのが遅い場合、加速度計の測定値は正確ではなく、停止したか、わずかに漂っている。時間とともに、ドリフト誤差は、加速度計で計算された位置がキロメートルだけずれているところまで蓄積されます。

合理的に正確な位置情報を取得するには、GPSやセルタワーベースの測位が必要です。また、iBeaconsを既知の場所に設置することもできますが、それには独自の制限があります。

+0

ありがとうございます。これは完全にそれを説明します。 –

関連する問題