Powered By Blogger

2014年3月17日月曜日

加速度センサとロータリーエンコーダを組み合わせた速度計測法①:ロータリエンコーダを用いた速度計測

タイトルの内容について前回目次を出しましたが、今回は①:ロータリエンコーダを用いた速度計測 について書きます。

これは、DCモーターで車輪を駆動し、ロータリーエンコーダでその速度を計測するマイクロマウスロボット(いわゆるDCマウス)で使われている方法です。
今回はこれついて簡単に説明し、実際に私のロボットでロータリーエンコーダを用いて計測される速度データを示します。

初めにロータリーエンコーダについての認識を共有しましょう。マイクロマウスに用いられるのは主にインクリメンタル型のエンコーダです。
これは、軸の回転に対し速度に応じた周波数の波を2つ出力します。また、この2つの波は回転方向に応じて位相を変えます。この2つの波の数から回転量と回転方向を測れるというわけです。




軸が1回転する間に出力される波の数を分解能といいます。実際にエンコーダでタイヤの回転を計測し、ロボットが前に進む時の速度を求めるとき、よく以下のような式が用いられます。

(速度) = (タイヤの円周)×(カウントされた波の数/分解能) / (波をカウントした時間)

波をカウントした時間の間に進んだ距離を、時間で割ることで速度が得られます。波をカウントした時間というのは任意に設定できますが、短すぎても長過ぎても問題になります。


実際に私のマウスで計測した例を示します。
私の変則4輪ハーフマウス(下の写真)では、左右の前輪の回転を磁気式インクリメンタルエンコーダ「AS5040」で計測しています。左右2つの計測結果を平均して進行方向の速度としています。


この例ではロボットを直進させた時の速度を計測しました。測定時間(波をカウントした時間)は1  ms、目標速度は下のv-tグラフに示すように加速度:10 m/s^2 、最高速:2 m/sです。1 msというのは自分のマウスの割り込み周期にあたり、全ての計測、制御の単位時間になっています。
今回は計測の実験であるため、計測された速度に対してフィードバック制御は行っていません。


実際の走行の様子を表した動画と、その時に計測された速度のv-tグラフを以下に示します。



v-tグラフから、測定された速度はかなり振動していることが分かります。私のロボットでは測定時間が1 msでは短いようです。


次回は測定時間を長くする(移動平均をとる)ことでこの振動を抑える方法を紹介します。

0 件のコメント:

コメントを投稿