今回は②:移動平均を用いた計測速度の平滑化 について書きます。
前回、1 ms間にカウントされた波の数から速度を測定すると振動的になるということを紹介しました。今回は1 msごとに測定した速度データの単純移動平均をとり、振動を抑制する方法を紹介します。
前回紹介した1 msごとに計測した速度データに対し過去の5点(5 ms間)の移動平均をとりました。下にイメージ図を挙げます。
5 msの移動平均の結果をv-tグラフ(下図)の赤線で示します。
1 msごとに計測したデータも青線で示しました。この図から、移動平均で振動の振幅が小さくなっていることが分かります。
さらに10 ms、20 ms 、30 ms、50 msで移動平均をとったときのv-tグラフを示します。平均をとる時間が長くなるにつれて、振動の振幅が小さくなることがわかります。
ただし、平滑化されるからといって、平均をとる時間をいくらでも長くすればよいというわけでもありません。次回は平均をとる時間を長くしたときの問題を紹介します。
2014年3月20日木曜日
2014年3月17日月曜日
加速度センサとロータリーエンコーダを組み合わせた速度計測法①:ロータリエンコーダを用いた速度計測
タイトルの内容について前回目次を出しましたが、今回は①:ロータリエンコーダを用いた速度計測 について書きます。
これは、DCモーターで車輪を駆動し、ロータリーエンコーダでその速度を計測するマイクロマウスロボット(いわゆるDCマウス)で使われている方法です。
今回はこれついて簡単に説明し、実際に私のロボットでロータリーエンコーダを用いて計測される速度データを示します。
初めにロータリーエンコーダについての認識を共有しましょう。マイクロマウスに用いられるのは主にインクリメンタル型のエンコーダです。
これは、軸の回転に対し速度に応じた周波数の波を2つ出力します。また、この2つの波は回転方向に応じて位相を変えます。この2つの波の数から回転量と回転方向を測れるというわけです。
軸が1回転する間に出力される波の数を分解能といいます。実際にエンコーダでタイヤの回転を計測し、ロボットが前に進む時の速度を求めるとき、よく以下のような式が用いられます。
(速度) = (タイヤの円周)×(カウントされた波の数/分解能) / (波をカウントした時間)
波をカウントした時間の間に進んだ距離を、時間で割ることで速度が得られます。波をカウントした時間というのは任意に設定できますが、短すぎても長過ぎても問題になります。
これは、DCモーターで車輪を駆動し、ロータリーエンコーダでその速度を計測するマイクロマウスロボット(いわゆるDCマウス)で使われている方法です。
今回はこれついて簡単に説明し、実際に私のロボットでロータリーエンコーダを用いて計測される速度データを示します。
初めにロータリーエンコーダについての認識を共有しましょう。マイクロマウスに用いられるのは主にインクリメンタル型のエンコーダです。
これは、軸の回転に対し速度に応じた周波数の波を2つ出力します。また、この2つの波は回転方向に応じて位相を変えます。この2つの波の数から回転量と回転方向を測れるというわけです。
軸が1回転する間に出力される波の数を分解能といいます。実際にエンコーダでタイヤの回転を計測し、ロボットが前に進む時の速度を求めるとき、よく以下のような式が用いられます。
(速度) = (タイヤの円周)×(カウントされた波の数/分解能) / (波をカウントした時間)
波をカウントした時間の間に進んだ距離を、時間で割ることで速度が得られます。波をカウントした時間というのは任意に設定できますが、短すぎても長過ぎても問題になります。
実際に私のマウスで計測した例を示します。
私の変則4輪ハーフマウス(下の写真)では、左右の前輪の回転を磁気式インクリメンタルエンコーダ「AS5040」で計測しています。左右2つの計測結果を平均して進行方向の速度としています。
この例ではロボットを直進させた時の速度を計測しました。測定時間(波をカウントした時間)は1 ms、目標速度は下のv-tグラフに示すように加速度:10 m/s^2 、最高速:2 m/sです。1 msというのは自分のマウスの割り込み周期にあたり、全ての計測、制御の単位時間になっています。
今回は計測の実験であるため、計測された速度に対してフィードバック制御は行っていません。
私の変則4輪ハーフマウス(下の写真)では、左右の前輪の回転を磁気式インクリメンタルエンコーダ「AS5040」で計測しています。左右2つの計測結果を平均して進行方向の速度としています。
この例ではロボットを直進させた時の速度を計測しました。測定時間(波をカウントした時間)は1 ms、目標速度は下のv-tグラフに示すように加速度:10 m/s^2 、最高速:2 m/sです。1 msというのは自分のマウスの割り込み周期にあたり、全ての計測、制御の単位時間になっています。
今回は計測の実験であるため、計測された速度に対してフィードバック制御は行っていません。
実際の走行の様子を表した動画と、その時に計測された速度のv-tグラフを以下に示します。
v-tグラフから、測定された速度はかなり振動していることが分かります。私のロボットでは測定時間が1 msでは短いようです。
次回は測定時間を長くする(移動平均をとる)ことでこの振動を抑える方法を紹介します。
2014年3月16日日曜日
加速度センサとロータリーエンコーダを組み合わせた速度計測法(目次)
タイトルの通り、エンコーダだけでなく加速度センサを併用した速度の計測方法について書きたいと思っています。今回はそのアウトライン。
この計測方法自体は既に小島さんが公開しておられます。自分が今回用いたのも同じ方法です。
それでもわざわざ公開する理由は以下の3つ。
・実際に調べた結果、加速度センサを併用する方法は「こじまうす」の簡易エンコーダに対してだけでなく、一般に有用な方法と考えられる
・Invensenseの加速度&ジャイロセンサのように、1軸アナログ出力ジャイロよりも小型かつ高精度の複合センサが市販され、今後マイクロマウス競技においても普及していくことが予想される
・加速度センサの使用例を測定データを示しながら具体的に紹介することで、その有用性を示し、普及を促したい
そういうことで、小島さんがブログで書かれているよりも詳細に紹介したいと考えています。
次回からはこのような内容について書きたいと考えています。
①:ロータリエンコーダを用いた速度計測
②:移動平均を用いた計測速度の平滑化
③:移動平均により生じる問題
④:加速度センサによる問題解決へのアプローチ
FAQ1:④で提案した手法に加速度センサは必要か?
FAQ2:加速度センサは複数必要か?
この計測方法自体は既に小島さんが公開しておられます。自分が今回用いたのも同じ方法です。
それでもわざわざ公開する理由は以下の3つ。
・実際に調べた結果、加速度センサを併用する方法は「こじまうす」の簡易エンコーダに対してだけでなく、一般に有用な方法と考えられる
・Invensenseの加速度&ジャイロセンサのように、1軸アナログ出力ジャイロよりも小型かつ高精度の複合センサが市販され、今後マイクロマウス競技においても普及していくことが予想される
・加速度センサの使用例を測定データを示しながら具体的に紹介することで、その有用性を示し、普及を促したい
そういうことで、小島さんがブログで書かれているよりも詳細に紹介したいと考えています。
次回からはこのような内容について書きたいと考えています。
①:ロータリエンコーダを用いた速度計測
②:移動平均を用いた計測速度の平滑化
③:移動平均により生じる問題
④:加速度センサによる問題解決へのアプローチ
FAQ1:④で提案した手法に加速度センサは必要か?
FAQ2:加速度センサは複数必要か?
FAQ3:計測速度が振動的になるのはなぜか?
2014年3月4日火曜日
MPU6500動作テスト
2014年2月21日金曜日
活動再開
1か月ぶりに更新します。それまで卒論とかでバタバタしてたので。
一応今年の大会に向け動き出してます。
昨年度作成したマウスに加速度センサを載せてましたが、全く使ってませんでした。ようやくマウスの速度計測、制御に役立つことが確認できました。明日行われる関西支部の勉強会でネタにしようと思ってます。そのためこんな↓スライド作ってます。ウケが良ければブログでも内容を公開するつもりです。
あとは今使っている3軸加速度&3軸ジャイロセンサシリーズの最新型について、Digikeyの在庫切れがもうすぐ解消されそうなので、変換基板作りながら待ち伏せしてます。
2014年1月13日月曜日
磁気式エンコーダIC 「AS5050」
今回は来年使用予定のエンコーダの話。
昨年までエンコーダは定番IC「AS5040」を用いて自作していました。
今年も自作磁気式エンコーダを使いますが、「AS5050」という素子に変更することにしました。
これはインクリメンタル型でなくアブソリュート型で、SPI通信で角度を取得できます。
AS5040と比較しながら、この素子を使うメリットをあげると
・消費電流が少ない(AS5040に比べ最大でも半分、使い方次第で5分の1以下)
・小型かつ軽量、安価
・インクリメンタル型でないので、波形をカウントするタイマー(消費電力大きい)を使わなくてよい
などがあります。
AS5050はSPI通信を介して、ICが内蔵のホール素子で磁石角度を取得するときのサンプルレートを自分で決めることができます。
サンプルレートを下げていくと、かなり消費電流が下げられることが分かりました。ただし、ナイキスト周波数に気をつける必要があります。
実際にどれくらいかというと、例えば2ms周期でサンプリングすると消費電流は2.5mAほどだそうです。
AS5040の16mAに比べるとかなり違いますね。5分の1以下です。
逆にデメリットをあげると
・サンプルレートを下げるとリアルタイムの速度は取得できない
・アブソリュートエンコーダ、SPI通信などの使用により速度取得に関してソフトが使いまわせない
などがあるでしょうか。どちらもソフトの工夫で対処できるものと考えています。
連休を利用してブレッドボード上でテストをしていました。動作確認ができたので、今回情報を公開しています。なかなかいいものですので、興味のある方はぜひ。
2014年1月9日木曜日
新年
遅ればせながら、あけましておめでとうございます。
本年もよろしくお願いいたします。
昨年は台湾大会(@台北)、学生大会(@早稲田大学)と遠征も増え過去最大の大会出場数となり、おかげさまで充実したシーズンを過ごすことが出来ました。
今年はというと、すでにスケジュール的に無理そうな大会がいくつか、、、 残念。
昨年ほどたくさんの大会には出られなさそうです。
さて、マイクロマウス活動の方ですが、今年もハードを新調するつもりでして、もう設計が終わってたり。
ただ、新作を作るといっても昨年のマウス「Vector」がボロボロだからというだけなので、特に目新しいものは導入せず、「Vector 改」を作るくらいの気持ちでいます。「Vector」は2度もジャイロ張り替えたりしてあちこち補修だらけですし。
ブログとしては引き続き昨年取り組んだこと、新作を作る中で検討していることについて小出しにしていこうと思います。
本年もよろしくお願いいたします。
昨年は台湾大会(@台北)、学生大会(@早稲田大学)と遠征も増え過去最大の大会出場数となり、おかげさまで充実したシーズンを過ごすことが出来ました。
今年はというと、すでにスケジュール的に無理そうな大会がいくつか、、、 残念。
昨年ほどたくさんの大会には出られなさそうです。
さて、マイクロマウス活動の方ですが、今年もハードを新調するつもりでして、もう設計が終わってたり。
ただ、新作を作るといっても昨年のマウス「Vector」がボロボロだからというだけなので、特に目新しいものは導入せず、「Vector 改」を作るくらいの気持ちでいます。「Vector」は2度もジャイロ張り替えたりしてあちこち補修だらけですし。
ブログとしては引き続き昨年取り組んだこと、新作を作る中で検討していることについて小出しにしていこうと思います。
登録:
投稿 (Atom)











