2012-02-16 6 views
0

私はちょっと研究していますが、今はどの道を取るべきかを決めなければなりません。iOS/Androidデバイスの向き(ピッチ、ヨー、ロール)。加速度計やジャイロスコープの方が良いですか?

鉱山の要件:真の見出し(磁極ではない地理上の北極)に対するデバイスの向きを知る必要があります。 私はコンパスを使用しなければなりません。今は加速度計やジャイロスコープのどれを決定する必要がありますか?

これは私にとって新しいことです。私は最後の数時間、スタックとウィキペディアの記事を読んでいましたが、まだ混乱しています。

私は両方のプラットフォーム(iOSとAndroid)をターゲットにしており、Appcelerator Titaniumで開発しています。 Titaniumでは、加速度計の値(x、y、z)と真の値を簡単に取得できます。

iPhone 3GSにはジャイロスコープが搭載されていないので、私はそのデバイスでは使用できません。より新しいiPhoneやAndroid搭載端末にはそれがあります。

だから、質問は以下のとおりです。

  1. は、加速度計のXYZですし、私は素子ピッチ、ロールおよびヨーを計算するためのCOMPAS年代には、十分なデータをTrueHeading?しかし、それは正確でなければならない。

  2. 加速度計の代わりにコンパスのTrueHeadingを使用し、ジャイロスコープの値を使用する方が正確ですか?

  3. 加速度計とジャイロスコープの両方をTrueHeadingと組み合わせるのは賢明ですか?

私は最初の道を取る場合、私はそれが私の唯一の加速度計データを与え、私はまた、3GS、iPhone上でこれを使用することができますので、ジャイロスコープデータをフェッチするためにチタンモジュールを記述する必要はありません。

2番目の道路を利用すると、私はジャイロスコープのデータを取得するために2つのモジュール(iOSとAndroid)を作成しなければならず、3GSのサポートを失います。

私が3番目の道を行くなら、私は再びチタンモジュールを書かなければならず、私は3GSサポートを失います。

答えて

3

まず、3GSユーザーの巨大なインストールベースがなくても、新しいアプリケーションを作成する場合は、古いハードウェアを気にしないでください。 IMOは経済的な観点からは意味をなさないが、システムアーキテクチャの選択肢の数を減らすだろう。

あなたが探しているものは、センサー融合と呼ばれています。その結果、カルマンフィルタのような重い数学が必要になります。良いニュースは、AndriodのiPhone(Core Motion)とAFAIKにも存在しています(それはSensor fusion implemented on Android?のようです)。

私は、名前以外のappceleratorについてはあまり知らないので、それを使用する簡単な方法について何も言えません。とにかく、抽象レイヤーで実装されていない場合、私はappceleratorがネイティブAPI呼び出しを行う可能性を提供していると仮定します。したがって、ネイティブAPIを埋め込むことができるはずです。

通常、要件によって異なります。より速く正確な結果を得る必要があるほど、私はすべての3つのセンサーを含む実際のセンサーの融合をお勧めします。応答時間が遅いと問題がなければ、コンパスと加速度計を組み合わせて使用​​します。

+0

Android用の[この動画](http://www.youtube.com/watch?v=C7JQ7Rpwn2k)の視聴が終了しました.Titanの例で見たSensorManagerのクラスが表示されます。アンドロイド。今度は、iOSで実装されたこのセンサーフュージョンがグーグルで始まりました。だから私は3.オプションが最高のものだと思う(しかし、それは最も時間がかかるだろう)。 と私は3GSを無視します。 – vale4674

+0

私は完全に同意します:-)私は1つの重要な面 - 要件を忘れてしまったので、私の答えを更新しました。 – Kay

関連する問題