質問

私の実験を重ねてきた、コンパス、ジャイロスコープはiPhone4のような一行った。たいへの補償のための遅のコンパスからのデータを使って、ジャイロスコープ.

を使用 CMMotionManager その CMDeviceMotion オブジェクト(motionManager.deviceMotion)を取得しま CMAttitude オブジェクトです。正しい場合は私の間違い)ですが、こんどろ風mikiモデルを作ってみられる CMAttitude オブジェクトの yaw 財ん pitchroll 私の目的:

  • yaw 範囲から 0PI 時の電話が差しを下方で示される deviceMotion.gravity.z や振れ方向に回し、 0-PI が振り回
  • これらのデバイスで差し上 yaw 範囲から -PI0PI0, それぞれ
  • とから、コンパスのデータを使用してい locationManager.heading.magneticHeadingい、コンパスを値から 0360, の価値の増加が振り回

すべての権利、すべてのこれらの情報共感を得ることができ価値と呼びま horizontal るかどうかにかかわらず、装置は上下と同じように、できるだけの値 0360 増加している場合には振り時計回りがまだまだ困りの場合 deviceManager.gravity.z 周辺には 0 --の yaw 価値を見出すこ gravity.z 値)となります。

そして私は"同期"の horizontalmagneticHeading 値を用いて算出 horizontal 値がマップ magneticHeading, は、"同期"の horizontal 価値を magneticHeading がんコンパスは、"挟ます。"

その後、私の質問:

  • 私の選んだ道が正し、と。
  • 私のジャイロデータから CMDeviceMotion を適切に想定し、上記の正しいのですか。
  • なぜか yaw フリークが gravity.z 周辺には 0?

ありがとうございます。なたをお待ちしておりご回答!

役に立ちましたか?

解決

で答えようと...正しい場合は私の間違った..

1.ありますので、トラック

2.重力CMは"縁"からのユーザー重力重力に起因するユーザーによる加速度)私が二重は、"重力"と"userAcceleration"そのapple CM文書 //※は完全に孤立した//

3.また重力0ということで、coresponding軸が垂直との重要性がますます増してい重要性がますます増していzはiPhoneの画面を頂い-9.82m/s2ば机の画面を立て、actualyでなく0または最大値での重力により、センサーノイズ(通常、センサーは、ノイズexpecially安いセンサ)

何か自分のアプリで切り替えさせていただき私の参照軸の軸の場合xまたはy)のためには、どのように戦略の目的のダウンロードはご参考までにご確認ください。

その他のものは、ジャイロは速いのですが、その不安定になるため、必要なものを再校正の値の数間隔で出ています。私の場合は5です。私の実験ジャイロの算定上の角と面ょっとexacly90度の定規としてあげるとエラーに約0.5度毎秒みが増え続けているのだと思うが、私は鉱山は、その国その他より良い方法を避け、エラーとなります。

以下が私の手順"

  1. Init
  2. 読み重XYZ>Xg Yg Zg
  3. チェックがXg < 0.25TRUEにするといYgしZg//1=1g=9.82m/s^2
  4. のコンパス、ジャイロ
  5. 設定および校正のジャイロを中calulateに基づいて軸を使用しているポイント3.
  6. 場合5秒パスして再校正の読み込みをコンパス
  7. の場合とは違うジャイロを読む>5程度をスキップrecalibartionのジャイロ.
  8. の場合とは違うジャイロを読む < 5度の校正にジャイロ用コンパスの値

注意:数7:はチェックの場合はお電話における磁場の近くの巨大鉄鋼などの高電圧電線や騒音や重機を工場の工場です。

私全---ここのお---とにたどり着きました。..

他のヒント

ここでコンパスはジャイロスコープで補償を受けるiPhoneアプリの一例です。コードとプロジェクトはここで見ることができます: http://www.sundh.com/blog/2011/09 / stabalize-コンパス・オブ・iPhone-WITH-ジャイロスコープ/

ヨー軸ベクトルの方向が場合無重力(又は自由落下、または十分に近い)で定義されていない。

移動中の同期を行うためには、磁気コンパスと同じラグ/遅延応答特性を持っているあなたの「水平」値のためのフィルタを作成する必要があります。どちらの運動まで、その、または待機はオフセットを再計算する前に解決するために、両方の値のために十分な長さを停止します。

質問1への回答は、質問2あなたが正しい軌道に乗っているが、あなたが「横」ではない変数名を使用することができ、質問3もhotpaw2で答えてさ、Yesでほぼゼロでチョッパーやヘリコプターでのヨー標高はアラームにパイロットを警告します。電磁波を検出するためのセンサーへのアクセス、デバイスの位置及び方向、コンパス表示のためのグラフィック出力を調製し、計算し、出力を含む、それを遅くすることができ、他の要因もあるが、ソフトウェアの一部がローカルであるため、タイムラグがありますカスタムタスクの種類のために設計されていない汎用のハンドヘルドデバイスを使用して比較的低速インタフェースを介してジャイロやセンサからのデータは、それから求められます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top