問題タブ [magnetometer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
403 参照

ios - 外部センサーデータを使用したコアモーション?

モーション データを BLE 経由で送信するデバイスを設計しました。内部iPhoneセンサーから派生したものではないデータでCore Motionをサブクラス化または使用する方法はありますか?

https://github.com/orbotix/Sphero-iOS-SDK/tree/master/samples/SphereMotionTeapotを見てみました

「デバイスのモーション データは、加速度計とジャイロスコープの両方から取得されます [明らかにこれらは Sphero にあります]。Core Motion はデータをアプリケーションに配信する前に処理します。」

つまり、彼らは外部センサー データを Core Motion に導入しているように見えますが、私は彼らがそれをどのように行っているかを理解するほど賢くありません。

加速度モーター、ジャイロ、磁力計のデータを受信して​​表示するように BLE デリゲートをセットアップしましたが、これを Core Motion に取り込んで、このデータを使用してフュージョン アルゴリズムとデバイス モーションの更新を実行できますか?

これがどのように達成されるかについての指針は非常に有用であり、成功事例があれば投稿します.

0 投票する
1 に答える
9877 参照

android - TYPE_ROTATION_VECTOR、TYPE_ORIENTATION は、偏差を伴う異なる結果をもたらします

Rotation Vector と Orientation Vector の両方のリスナーを実装しましたが、減価償却されていることはわかっていますが、両方をテストしたかったのです。

Rotation Vector がフュージョン センサーであり、推奨されることは知っていますが、それによると、北 ( getOrientation(rotationMatrix,value) によって返される value[0] は、ベアリング 0 を生成します) は、方向センサーからの北と一致しません。また、プレイストアのさまざまなアプリから集計しましたが、方向センサーの値はそれらに近いようです。

さらに、Rotation_Vector からの方位角の値 [0] を何度も取得すると、getOrientation が急上昇し、-180 から 180 の間で振動し続けます。

PS "getRotationMatrix(float[] R, float[] I, float[]gravity, float[] geomagnetic)" も Rotation Vector と同じ結果になります。

電話の Y 軸と北を指すベクトルの間の角度を決定したいので、それが私の最初の実装でした。提案してください。

0 投票する
1 に答える
1092 参照

ios6 - ゼロを返さないように CMCalibratedMagneticField プロパティを初期化するにはどうすればよいですか?

この質問は CMCalibratedMagneticField が更新 されない前に尋ねられましたが、実際には答えられませんでした。私はこれに非常に迷っています。

簡単な定式化を使用していますが、field.field.x、y、z は常にゼロです。

サンプル出力は

前の回答が示唆しているように、問題は電話ではないと確信しています。私はかなり最新の4S用にコーディングしています。CoreMotion、CoreLocation、および CoreData フレームワークが配置されています。おそらく、実装にインポートする必要があることを知らないヘッダー ファイルがありますか? 現在、私は必要なようです

しかし、それは他のもののためです。

どんな助けでも大歓迎です!

ティム・レッドフィールド

0 投票する
2 に答える
3352 参照

ios - 背面カメラの CoreLocation 見出しベース (拡張現実)

オブジェクトをある方向に向ける拡張現実ビューを作成したいと思います。ただし、カメラで上を向いている場合 (1 階にいるときに 20 階建ての建物の最上部を向いているとします)、CoreLocation の見出しは正しく機能しません。

それは反対の方向を示しています (おそらく、電話の上部が指している方向)。

カメラが指している方向で機能させるために、次のようないくつかの方法を試しました。

1、デバイスの向きが 45 度を超える場合は +180 度 (精度が不十分で、突然方向が 10 ~ 20 度ずれます)

2、以下のチュートリアルの式で CMMotionManager を使って計算してみました。 http://www.loveelectronics.co.uk/Tutorials/13/tilt-compensated-compass-arduino-tutorial .

3、ios deviceMotion.magneticField と deviceMotion.gravity を使用して android からロジックをシミュレートしようとしました。

4、回転行列を使用します(スタックオーバーフローの他の投稿ですが、正確ではありません)

私はそれを正しくするために他に何ができるか分からなくなっています。正しく動作しているアプリ (太陽と星を見ることができるアプリ) がいくつかあることは知っています。

0 投票する
4 に答える
9901 参照

android - コンパスの読みとジャイロスコープの読みで電話の方位角を取得する方法は?

次の方法で携帯電話の現在の向きを取得したい:

  1. getRotationMatrix()最初におよびを介して初期方向 (方位角) を取得しgetOrientation()ます。
  2. 時間の経過に伴うジャイロスコープの読み取りの統合を追加して、現在の向きを取得します。

電話の向き:

携帯電話の xy 平面は、地面と平行に固定されています。すなわち、「歩きながらテキストメッセージ」の向きです。

" getOrientation()" 返品:

Android API を使用すると、方位角、ピッチ、ロールなどの方向を から簡単に取得できますgetOrientation()

このメソッドは常にとの範囲内の値を返すことに注意してください。[0, -PI][o, PI]

私の問題:

で示されるジャイロスコープの読み取り値の統合はdR非常に大きい可能性があるため、 を実行するとCurrentOrientation += dR、との範囲CurrentOrientationを超える可能性があります。[0, -PI][o, PI]

[0, -PI]との範囲内で常に現在の向きを取得できるようにするには、どのような操作が必要[o, PI]ですか?

私はPythonで次のことを試しましたが、その正しさを非常に疑っています.


備考

これは、次のトラブルメーカーが関係しているため、それほど単純ではありません。

  1. 方向センサーの読み取り値は から0に進み-PI、次に に直接ジャンプ+PI、徐々に に戻ります。0+PI/2
  2. ジャイロスコープの読み取りの統合も、いくつかの問題につながります。オリエンテーションに追加dRするか、または減算する必要がありますdR

確認済みの回答を提供する前に、まず Android ドキュメントを参照してください。

推定の答えは役に立ちません。

0 投票する
1 に答える
500 参照

python - Python での磁力計データのマッピング

私は Python をハッキングしています。

現在、Python を使用して磁力計を使用してロボットの向きを取得しようとしています。問題は、度ベースの値を自分のセットにマッピングして「北」を設定できるようにしたいということです。Arduino をプログラミングする場合は、map() 関数を使用します。Pythonに似たようなものはありますか?

0 投票する
1 に答える
958 参照

android - Android磁気センサー

Android OS用のコンパスを開発しています。TYPE_MAGNETIC_FIELD を使用すると、一部のデバイスにはこのセンサーがあり、一部のデバイスにはありません。この問題を処理する方法がわかりません。これらのデバイスをサポートしないか、別のセンサー アプローチを使用する必要があります。アドバイスをいただけますか?

どうもありがとうございました。