Powered By Blogger

2014年3月26日水曜日

加速度センサとロータリーエンコーダを組み合わせた速度計測法④:加速度センサによる問題解決へのアプローチ

今回は④:加速度センサによる問題解決へのアプローチ について書きます。

前回、移動平均をとることで測定される速度と実際の速度の間に遅延が生じることを紹介しました。今回は加速度センサを用いてこの遅延を解消する方法を紹介します。

前回の例を再び出しますが、初速0、加速度を10 m/s^2とすると、10 ms間に速度は0.1m/sになりますが、10 ms間の時間平均で計測される速度は0.05 m/sで、実際の速度の半分になります。この半分のズレを、加速度センサで計測した加速度で補います。今回用いたのはこのような式です。

(計測速度) = (エンコーダ計測速度 [時間平均あり] )
         + (加速度センサ計測加速度 [時間平均あり] )×(平均時間) / 2

先の例で実際に計算すると、10 msの時間平均でエンコーダで得た速度は0.05 m/s、加速度は10 m/s^2、平均時間は10 msなので (計測速度) = 0.05 + 10×0.01 / 2 = 0.1 m/sとなり、現在の速度が得られていることが分かります。

この式を適用するため、実際に加速度センサで加速度を計測しました。私のマウスでは前後2か所に加速度センサを搭載しています。


これが、加速度センサで得た、マウスの進行方向の出力です。1 msごとに計測(AD変換)し、2つのセンサの出力を平均しています。


かなり振動していますが、やはり移動平均をとると平滑化できます。下のグラフは計測された加速度を5、10、20、30、50 msで移動平均をとったものです。







例えば20、30、50 ms移動平均をとった場合に対して、上で上げた式を用いて加速度センサで遅延を補った速度を計算すると下のようになります。


平均時間に関係なく遅延が無くなること、平均時間が長くなるほど平滑化されることがわかります。
このようにして、ロータリエンコーダと加速度センサの計測データを
・時間平均により平滑化し、
・2つを組み合わせて遅延を解消する
ことで、速度を遅延なく平滑化して計測することができます。
もちろん、マイクロマウス競技ではきれいなデータをとることでなく、走行速度を向上させることが重要です。きれいなデータが取れるほど制御が安定させやすく速度を上げやすいとは思いますが。



また、移動平均をとる時間はどのくらいがよいかという疑問あるかと思います。あまり長くとると平滑化作用は大きくなるものの、走行開始後しばらくは速度が不定になります。加えて、保持する過去データが増え、メモリ消費が増えるので好ましくありません。
自分なりに平滑化できていると思う時間の中で最小のものを選ぶ、という感じでしょうか。上の実験結果をうけて私は30 ms移動平均をとることにしました。

マシンごとに事情は異なるでしょうし、私の今回の計測結果もフィードバック制御無しの結果なので、移動平均をとる時間の最適化は非常に難しい問題です。

以上で一連の速度計測法の紹介は終わりです。次回からは紹介した内容に関して想定される疑問点について述べようと思っています。

0 件のコメント:

コメントを投稿