2012-04-10 8 views
0

親愛なるプログラマー/スクリプター/エンジニア/他の人、正確な(方位)コンパス方位のAndroid 3.2タブレット

問題: 私は現在のAndroid 3.2タブレットのための拡張現実アプリケーションを開発し、いくつかの問題を抱えています正確なコンパスの読書を得て。私は北から測った、錠剤が直面している方向(z)を正確に知る必要があります。それが度またはラジアンであるかどうかは関係ありません。

私は現在、試してみました:

  1. 私は角度を計算するために磁力計と加速度計を使用していました。一つの大きな欠点があります。 90度回転すると、センサはより大きな角度またはより小さな角度を測定します。私が金属や磁気の物体から遠く離れた野外にいるときでも。たとえ怠けてもそれを解決することはできません。

  2. ジャイロスコープの使用はオプションです。私は、回転速度を測定し、測定された単位を変数に格納して、正確な視線方向を知ろうとしました。しかし、歪みを引き起こす要因があるようです。速い回転が正確な方向測定を歪ませることがわかった。ジャイロのドリフトはあまり面倒ではありませんでした。アプリケーションは、他のセンサーに動きがないかチェックします。何も検出されなければ、ジャイロの回転変化は考慮されません。

  3. 回転ベクトルは問題なく動作します。ジャイロスコープのようないくつかの問題があります。あなたがゆっくりと動き、突然瞬間に止まると、それは数秒間漂います。もう一つの問題は、スピードとあなたが作ったターン数によって、速い回転では不正確になることです。 (あなたは私の同僚が私にあらゆる方向に錠剤を振り回しているときに私がどのようにしているか知りたくありません...)

  4. センサー。オリエンテーション、あまり言い表せません。私はそれを使用しないため、何らかの理由で廃止されました。インターネット上の多くの例がこのセンサーを使用していますが、おそらく磁気/加速度計の組み合わせと同じです。

私は現在考えられていません。脳のストーミング/解答を手伝ってもらえますか?事前に おかげで、敬具、ローランド

  • EDIT 1: 私は、私が試してみましたコードを提供するために喜んで。
+0

私はこれがデバイスの向きを取得するための公式な方法であると考えています。私はあなたの問題がジッタであると理解していますか?あなたはローパスフィルターでそれに取り組むことができます。最後のx値の中央値または平均値を取ってください。シグナルノイズを処理するための他のより洗練された方法がありますが、これで十分です。 – Renard

+0

ありがとうございました!私は確かにいくつかのフィルターを試しました。私はそれに言及するのを忘れた。しかし、私はもう一度それを試みます。しかし、主な問題は精度です。少なくとも、磁力計は20度まで悪くなる可能性があります。フィルタでは解決できませんそれとも、そうでないと思いますか? – Roland

+0

このような大きな誤差は、較正不良によるものかもしれません。私のコンパスアプリケーションの開発中、この[app](https://play.google.com/store/apps/details?id=com.apksoftware.compass&hl=de)を私のものと比較して、私はそれを正しくやっていた。 – Renard

答えて

1

私は、私たちのコメントを加算しています:このvideoから

  1. その明確な携帯電話上のセンサで始まることは非常に正確ではありませんこと。また、読んで面白い、ユーザが携帯電話のフラットを保持している図8の運動をすることによって、センサのキャリブレーションを行うこと、それがその重要this
  2. です。 Appは、このような較正が必要かどうかをプログラムでチェックし、ユーザーに通知することができます。センサから得られた値は、いくつかの種類の低域通過フィルタによってフィルタリングされる必要があるジッタを除去するために詳細
  3. ため、このquestionを参照。これはまたStackOverflowのdiscussedです。
  4. 取得した方向は真の北ではありません。真北を得るにはGeomagneticField
+0

1.それで、私はここで他のアイデアのために正確な測定方法を尋ねました。 2.それでも精度は変わりません。 3.較正を行っても20度のオフセットは変更されません。 :) 4.私は緯度/経度/高さなどに基づいて偏角を計算しました。それは悲しいことですが、それを変更しません。 – Roland

+0

ハードウェアに問題がある場合は、精度を上げることはできません。私は読んだことがある(しかし、ソースを失った) -/+ 6度は正常です。異なるデバイスで20度のオフセットを読んでいますか?近くに金属製の物(ラップトップ)がないことを確認しましたか? – Renard

+0

ええ、私はオープンフィールドにいます。私は他の結果を与える別の(Android 3.2)デバイスをテストしました...より正確で異なるオフセットと思われます。しかし、まだ私はそれが十分正確ではないと感じています。たぶん、これらのセンサーを再び混ぜるつもりです。 – Roland

関連する問題