問題タブ [accelerometer]
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.
c - ジャイロスコープと加速度計のデータを組み合わせる
レゴ マインドストームの NXT システムを使用してバランス ロボットを構築しています。HiTechnic の 2 つのセンサーを使用しています。1 つ目は加速度計で、2 つ目はジャイロスコープです。両方のセンサーからノイズを除去し、-90 度から 90 度の範囲で両方の角度を導き出すことに成功しました。0 度は完全にバランスが取れています。
私の次の課題は、両方のセンサー値を組み合わせて、時間の経過に伴うジャイロスコープのドリフトを修正することです。以下は、ジャイロスコープからのドリフトを示すために実際のデータから作成したグラフの例です。
これらのセンサーを強固に組み合わせるために私が見た中で最も一般的に使用されているアプローチは、カルマン フィルターを使用することです。ただし、私は微積分の専門家ではなく、数学記号もまったく理解していませんが、ソース コードの数学は理解しています。
私は RobotC (他の C の派生物と同様) を使用していますが、C でこれを達成する方法の例を誰かに教えていただければ幸いです。
ご協力ありがとうございました!
ソリューションの結果:
よし、kersny は補完的なフィルターを紹介することで私の問題を解決してくれました。これは私の結果を示すグラフです:
結果 #1
結果 #2
ご覧のとおり、フィルターはジャイロスコープのドリフトを補正し、両方の信号を 1 つの滑らかな信号に結合します。
編集:とにかく壊れた画像を修正していたので、このデータを生成するために使用したリグを表示するのは楽しいだろうと思いました:
android - Android: 加速度センサーの誤検出
加速度計の動きを検出するコード スニペットがあります。わずかな動きを適切に検出することで機能することもありますが、デバイスをアイドル状態にしておくと動きを検出することもあります。Android に組み込まれている加速度センサーの検出に問題はありますか?
HTC G-1 デバイスを使用しています。私のコードスニペットは以下です。デバイスの小さな動きを検出できるが、デバイスがアイドル状態のときに何も検出できないように解決するにはどうすればよいですか?
android - 加速度計データ ノイズのフィルタリング
Androidで加速度計データのノイズをフィルタリングするにはどうすればよいですか? サンプル データにハイパス フィルターを作成して、低周波成分を除去し、高周波成分に注目できるようにしたいと考えています。カルマン フィルターがこれに最適な候補である可能性があることを読みましたが、このメソッドをどのように統合または使用して、主に Android Java で記述されるアプリケーションに使用しますか? それとも最初からできるの?またはAndroid NDKを介して?これをリアルタイムで実行できる可能性はありますか?
どんなアイデアでも大歓迎です。ありがとうございました!
iphone - motionBegan イベントと motionEnded イベントの比率は 1 対 1 ですか?
この回答で説明されているようにシェイク ジェスチャを実装していますが、携帯電話を 1 秒以上シェイクすると、motionEnded が呼び出されません。
OS によって保証されている motionBegan イベントと motionEnded イベントの 1 対 1 の比率はありませんか、それともレスポンダー チェーンに問題があり、イベントが別の場所に送信されているのでしょうか?
iphone - UIAccelerometerは2番目のデリゲートにイベントを送信しません
レベルごとに異なるコントローラーを使用するゲームを開発しています。加速度計を介して揺れを検出する必要があるため、次のようにデリゲートとして登録されます。
レベルが終了すると、このコントローラーは割り当て解除されて解放されます。以前は、UIAccelerometerでデリゲートを削除しなかったため、このコントローラーが解放された後にクラッシュが発生していました(つまり、解放されたオブジェクトにイベントを送信していました)。だから今、deallocの中で、私はこれをやっています:
すべてが順調で良好であり、最初のレベルは問題なく再生されます。次のレベルに到達し、新しいレベルコントローラーを作成し、その最初のコードバッチを再度実行すると、問題が発生します(新しいコントローラーをデリゲートとして設定します)。この後、加速度計からの呼び出しはありません。
質問は、加速度計のアプリごとに1人の代理人しか許可されないのか、それとも何かが足りないのかということです。デリゲートを複数回設定することを許可しないドキュメントはありません。私はObj-Cに少し慣れていませんが、デリゲートを理解している限り、これはあまりにも非正統的であってはなりません。
注:3.0では、シェイク通知をリッスンできることを知っています。残念ながら、私はシェイクに興味を持っている間ずっとファーストレスポンダーになるために何か他のものが必要です。したがって、そのオプションにリファクタリングすることはできません。
iphone - 加速度計のサンプルレート
加速度計に問題があります。最初にゲームの開発を始めたとき、コントロールは非常にきびきびと正確に感じましたが、グラフィック要素を追加すると、加速度計の反応が非常に遅くなり、以前ほど正確でなくなることがあります。私は約40fpsのフレームレートを持っています。
これは私が値を読む場所です(私が推測しているように)
これは一般的で予想される動作ですか、それとも何かできることはありますか? サンプルレートと精度を制御できますか? または、これが発生した場合、何か悪いことをしましたか?
iphone - ビュー内でオブジェクトを飛び回らせる方法
いくつかのオブジェクトが飛び回り、ビューの最後で衝突し、互いに衝突することはどのように可能ですか.
2 番目のステップでは、揺れによるオブジェクトの加速を追加します。
まだチュートリアルや開始するステップが見つかりません。
あなたの助けに感謝します:)
ここに私がイメージしたものの写真があります(静止画のみ)
iphone - 加速度計のコールバックで static int を使用すると、インスタンス変数を使用するよりもずっと遅いのはなぜですか?
加速度計の処理に関連するパフォーマンスのニュアンスのいくつかを把握するために、GLGravity の例で遊んでいます。
問題のコードは次のとおりです。
このコードは非常にゆっくりと実行されます。視覚的には、ティーポットの動きが非常に遅くなり、ますます遅くなることがわかります。最終的に、ティーポットの動きは、実際にデバイスを動かした時間から簡単に 2 分以上遅れます。
Debugger Console の出力にも多少の遅延が見られますが、それほど大きくはありません。ほぼ(完全ではありませんが)2倍遅くなります。
ただし、加速度計のコールバックは、ある種のキューに蓄積されているようです。そのため、最初はそれほど悪くないと思っていたものが、すぐに耐えられないほど遅くなります。
ただし、accelCallCount の宣言をヘッダー ファイルに移動し、インスタンス var として宣言すると、この問題はなくなります。
なぜこれが修正されるのですか?
関連する注意事項として、このコードを使用するか、「固定」(ivar としての accelCallCount) コードを使用するかに関係なく、画面に触れると全体が遅くなります。それはなぜでしょうか?
iphone - iPhoneの加速度計は平らな面でも機能します
ビューにimageViewがあります。iPhoneがしばらく静止していても動きます。なんでそうなの?また、画像はiPhoneの動きにすばやく反応しません。
これのために書かれた私のコードは次のとおりです。
また、加速度計のupdateIntervalとデリゲートも設定しました。
誰か助けてくれませんか?