ニックネーム: 居酒屋ガレージ店主
★ZAQのBlogari停止のため、あれこれ「データ吸い出し」対策しています。 新規記事はとりあえず停止。 コメント書き込みはもうできません。 (JH3DBO 下間憲行)
2016年09月07日(水)
グルグル回る軸の角度変動の平均値を出したい
ロータリーエンコーダのようにグルグル回る軸。
この回転角の平均値(たとえば1秒に1回測定して1分間の平均とか)
を出す処理についてです。

値は角度。 1度単位で0度〜359度。
この範囲内をうろうろしている時は、単純に加算した合計値
を加算した回数で割れば平均値が出てきます。

問題は[359度→0度]、[359度←0度]という「0度」を
またぐ動き。
これを避けようと、359度を「-1度」と処理しても、今度は
[-179度 ←→ +180度]の部分で数値が飛んでしまい、
平均値が得られません。

以前にメモした、
 ・オーバーフローするかも? そんな数値の処理
と似ているんですが、ちょいと違います。

検索すると、
  ・角度の平均値計算
あれこれ出てきます。

で、あるプログラムで使われていたのがこんな手順。

・回転角θ(0〜359)のsin値とcos値(-1〜0〜+1)を計算
・このsin値、cos値をそれぞれに加算合計して平均値を算出
・sin、cosそれぞれの平均値から、「atan」を使って
 元のθを復元。
      ※tanθ = sinθ / conθ

いかがでしょうか。

※関連:ぐるぐる回る軸の角度変動の平均値を出す方法

2016年9月7日 10時48分 | 記事へ | コメント(3) | トラックバック(0) |
| ・電子回路工作 |
トラックバックURL:http://blog.zaq.ne.jp/igarage/trackback/4525/
※ブログ管理者が承認するまで表示されません
2016年09月08日(木) 12:35 by せんすい
うちの装置も、アンテナの向きを電送するためロータリエンコーダを使っていますが、このエンコーダは1回転4096発と1回転1発の2種類(厳密には立ち上がり、たち下がりと極性でもう少し増えますが)のパルスを出します。
こいつなら、数えてわり算するだけ?
でも、正転・反転が混じるとややこしいですね。
2016年09月14日(水) 21:58 by 居酒屋ガレージ店主(JH3DBO)
角度の平均値、問題になるのは
  359度→0度
    と
  359度←0度
の変化。

直前との「差」を記録して平均処理てな具合かと
考えてますが、これでうまくいくかどうかの確認は
まだです。
2016年09月23日(金) 12:51 by せんすい
私の仕事の分野では、風向・風速は2分間で平均します。
うちの装置を調べてみましたが、残念ながら計算済みのデータを表示してるだけでした。
ネットを徘徊してると、風向はX−Y(N−E)に分解して平均するみたいです。
「風向と風速の計算」でいろいろヒットします。
コメントを記入  
お名前(必須)
 
パスワード:
 
メール:
 
URL:
 
非公開:  クッキーに保存: 
※非公開にチェックを入れると、管理者のみにコメントが届きます。
ブログの画面には表示されません。
captcha


※画像に表示されている文字を入力してください(半角・大文字/小文字の区別なし)。
文字が読みづらい場合はこちらをクリックしてください。
小文字 太字 斜体 下線 取り消し線 左寄せ 中央揃え 右寄せ テキストカラー リンク