マイクロマウス研修(槇原)

マイクロマウス研修(槇原)Part2

マイクロマウス研修(槇原)

はじめに

こんにちは、槇原です。前回の記事ではPi:Co Classic3を組み立てて、プログラムの書き込みまで行うことができました。
今回は、サンプルプログラムを動かしつつ迷路を走らせたいと思います。

迷路を走らせる前のいろいろな調整

マウスを迷路で走らせる前にいろいろと調整をする必要があります。

タイヤ直径補正

Pi:Co Classic3のタイヤ径は48 mmとなっていますが、実際に直径48 mmとしてモータを回しても走行距離はずれてしまいます。(タイヤとホイールを固定するために両面テープを使っていたりするため公称値とずれたりしています。)
そこで、私の場合はフィールドの10区間分走らせてその時の最終的なずれた距離をタイヤ径に補正をかけてずれが少なくなるようにしました。Pi:Co  Classic3はステッピングモータのフィードフォワードの入力だけで走行するため、タイヤ径を正しく把握できていないと思っていたよりも走りすぎたり距離が足りなくなったりします。

トレッド幅補正

タイヤ径とは別で、左右のタイヤ間の距離であるトレッド幅も、公称値と実際の値はわずかに異なります。旋回する際などにピッタリ90度回転してほしいですが、こちらもトレッド幅のずれによってずれが生じてしまいます。今回は90度回転を8回行って最終的な姿勢が元の角度に戻るようにトレッド幅の値を調整しました。これによって回転後の姿勢ずれが小さくなります。

壁センサ調整

壁との距離を測定するためのセンサですが、左右の壁までの距離は迷路の中心を走るために重要な情報です。特に機体を迷路の中心に置いた際の壁センサの値は、壁制御の目標値となるため正しく合わせる必要があります。特に片側の壁がないときの走行にこの調整が効いてきました。

今回は中央に置いた際のリファレンスとなるセンサ値はプログラム上では固定して、センサやLEDの足を曲げて所望の値になるように調整しました。Pi:Co Classic3はLEDが特に固定されていないので、機体を壁にぶつけたりするたびに値を調整する必要がありました。

壁制御

今回はシンプルにP制御のみを入れて走行させました。ゲインを変えると収束するスピードが変わったり教科書みたいでよかったです。

Kp=0.1

Kp=0.4

Kp=1.0

シンプルな直線コースであればゲインをなるべく上げたほうがよかったです。しかし、実際の迷路ではゲインを上げすぎると壁制御が切れた瞬間などにガタガタしてしまったりしたため、そこまで高いゲインで迷路走行はできませんでした。そのため最終的には迷路でうまく走れるくらいのゲインに調整しました。

走行テスト

いろいろと調整をした後、走行テストをしてみると走行できました。


走った!嬉しい!えらい!

スラローム実装

Pi:Co Classic3のサンプルプログラムでは迷路を曲がる際に超信地旋回をするようになっています。超信地旋回では旋回場所まで移動してその場で旋回するという、比較的容易に実装ができる一方で旋回場所で一度静止する必要があるため、走行時間が長くなってしまいます。そこで曲がり角などで止まることなく弧を描くような走行をさせます。

今回はシンプルに一定速度で円弧を描く軌道になるような目標速度と距離を左右のタイヤに入力するようにします。

16×16の迷路完走

今回のマイクロマウス研修では、4日間でマウスの組み立て、調整、スラローム実装等を行いました。最後に社内大会ということでマイクロマウス2012年のフレッシュマン競技決勝のコース(一部異なる部分があります)を用いて走行を行いました。結果としては、探索で49.60秒最短で22.01秒で走行することができました。やった~

Pi:Co研修を終えて

マイクロマウス自体は以前から競技を見たり、参加している友達の話を聞いたりしていたので、なんとなく雰囲気は知っていたつもりでしたが、実際にやってみると外から見ているだけでは分からない部分などが見えてきてよかったです。

今回はステッピングモータのキットを使った研修でしたが、次の研修ではDCモータの板マウスをやっていきます。初めはお手本となる板マウスがあるのでこちらを作ります。その後自作マウスで大会で完走するところが研修の目標となっているので、これからも頑張っていこうと思います。

 

タイトルとURLをコピーしました