0

私は少し研究を続けてきましたが、今はどちらの道を選ぶかを決めなければなりません。

地雷の要件:真の方位(磁極ではなく、地理的な北極)に対するデバイスの向きを知る必要があります。そのためには、コンパスを使用する必要があります。次に、加速度計とジャイロスコープのどちらを使用するかを決定する必要があります。

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

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

iPhone 3GSにはジャイロスコープがないので、明らかにそのデバイスでは使用できません。新しいiPhoneとAndroidデバイスにはそれがあります。

したがって、質問は次のとおりです。

  1. 加速度計のXYZとコンパスのTrueHeadingデータは、デバイスのピッチ、ロール、ヨーを計算するのに十分ですか?しかし、それは正確でなければなりません。

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

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

最初の道を進むと、ジャイロスコープのデータを取得するためのチタンモジュールを作成する必要はありません。加速度計のデータしか得られず、3GSiPhoneでも使用できるからです。

2番目の道を進むと、ジャイロスコープのデータを取得するために2つのモジュール(iOSとAndroid)を作成する必要があり、3GSのサポートが失われます。

3番目の道を進むと、再びTitaniumモジュールを作成する必要があり、3GSのサポートが失われます。

4

1 に答える 1

3

まず第一に、3GS ユーザーの膨大なインストール ベースを持っていなくても、新しいアプリを作成する場合は、古いハードウェアを気にする必要はありません。IMO 経済的な観点からは意味がありませんが、システム アーキテクチャの選択肢の数を減らすことができます。

あなたが探しているのは、センサーフュージョンと呼ばれるものです。その結果、これを行うには、カルマンフィルターなどの重い数学が必要になります。良いニュースは、iPhone (コアモーション) と Android の AFAIK にも存在することです ( Android に実装されたセンサーフュージョンにあるように聞こえますか? )。

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

一般に、要件によって異なります。正確な結果を早く得る必要があるほど、3 つのセンサーすべてを含む実際のセンサー フュージョンをお勧めします。応答時間が遅くても問題ない場合は、コンパスと加速度計の組み合わせで十分です。

于 2012-02-16T02:20:46.887 に答える