全日本マイクロマウス大会の感想、反省、今後の展望

お久しぶりです。R.K.です。

 

「次のブログは全日本大会後になると思います...」

と約2ヶ月前に書いていたようですが、今回はそれ通りになりました。

 

ひとまず学生大会からの記録と今後の展望を書き残そうと思い、この記事を書くことにしました。書くことは以下の通りです。

 

 

大会の感想

結果から言うと今回はとりあえずDCマウスは2マス分直進して、バックして帰って来ました。前回の学生大会(台形加速をとりあえずやらせて、スタートした)と比べるととりあえずエンコーダとジャイロの調整と壁制御の初期の初期は大方調整できた、という感じです。本当は、探索を実装させていたので、デバックができた上で、1つ1つの動作がしっかり調整できていれば、探索できるはずだったのですが、PID制御をソースコード上で使いこなせておらず、調整不足でした。全日本の場にも関わらず、本当に申し訳ありませんでした。卒論シーズンがあったというものの、年末年始に作業をすべきでした。本気で1日、2日+してやっていたら探索できる可能性はあったのではないかと思っていましたが、大会前日にしろめ先輩にとんでもないミスをご指摘いただいたので、初めてのDCマウス作成にあたっての今の力量で考えると、おそらくどう頑張っても間に合うスケジュール感ではなかったかなと思います。非常に面目ないです。感想は以上です。

 

全日本。大会までやってきたこと、反省

前回の学生大会からざっくり月毎にやってきたことを列挙します。(基本卒論でほぼ手をつけられていなかったです。()内はマウスと関係ないことなので気にしないでください。)

  • 月 マウス予定(本業とマウス以外での活動)
  • 12月 
    • 予定:
      • PID制御、FF制御、探索(研究メガしんどい、他課外活動でお世話になった研究室の先輩への恩返し開発)
    • 現実:
      • ~12/23 エンコーダの値がおかしい→型を変えたりTIMが重複しないように空中配線で対処
      • 12/24~ P制御からログ取りを永遠に行う
      • (研究メガしんどい、他課外活動でお世話になった研究室の先輩への恩返し開発メガしんどい)
  • 1月
    • 予定:最短をとりあえず走らせてみたい、機械、回路の再発注(研究ギガしんどい、他課外活動でお世話になった研究室の先輩への恩返し開発)
    • 現実:
      • ~1/6:進捗なし()
      • 1/7~:進捗なし(研究ギガしんどい、他課外活動でお世話になった研究室の先輩への恩返し開発、マウスやる余裕がなく、絶望する)
  • 2月
    • 予定:再発注機体作成、ペリフェラル、探索、制御、(研究テラしんどい、他課外活動でお世話になった研究室の先輩への恩返し開発)
    • 現実:
      • ~2/12:進捗なし(研究エクサしんどい。マウスどころではない)
      • 2/13:研究から一旦解放される。当時の状況を整理、機体は再発注どころでではなく、そのままソフト面で対応することに
      • 2/14.15:一時的な精神と時の部屋環境を手に入れ、もりもり開発。一徹後に速度が定速区間、原則区間で追従していないことを受けて、モタドラの使い方が違うことをこみさんから指摘される。(ここでやっと正式な台形加速が完成した。自分で気づけよという感じですが、データシート読み落としてましたね。。)
      • 2/16.17:さらなる精神と時の部屋で追い込みをかけることに。超信地旋回が全くできない。全くジャイロが追従していないのに気まぐれでやってみたスラロームがなぜかうまくいく(某動画)。徹夜後に大会会場でしろめ先輩にジャイロの値がおかしいことを指摘いただき、ジャイロの設定方法に問題があることに気づく。朝のスラロームは、もどきだと発覚する。
      • 2/17.18:さらなる精神と時の部屋で追い込みをかけることに。色々と改善策を教わったものの、超信地旋回が全くうまくいかない(4輪なので、ある程度機体が動かないとうまくその場で回れない)。ほとんどそれで時間を費やす(4時間くらい)。流石にこれではやばいと思い、気まぐれで壁制御やら色々実装してみる。徹夜後の大会会場にてとりあえずそれっぽい動きができるようにゴリ押しでコードを書く。ステッパーの探索コードを昼休みに実装する。全く小さい迷路で試す余裕はほとんどなく、本番を迎える(結果は先述の通り)

このようにマウス10則を大幅に逸れるような開発をしたために大会当日は酷い有様になってしまいました。関係者の皆様には大変ご迷惑をおかけしました。

 

DCペリフェラルでやったことと、トラブルシューティング

12月から2月18日までにやったきたことと、トラブルシューティングについて簡単に記載します。これからDC始める人には参考になるかもしれません。ちなみにほとんどXで投稿した内容なので知っている人はぜひ読み飛ばしてください。

12月
  • エンコーダの値がおかしい
    • TIMの配線を見直した。
      • →元々TIM1の二つのチャンネルをエンコーダとして、残り二つをモータ用で利用しようと考えていましたが、後になって、エンコーダモードでは、チャンネルを2分割して使うことはできないようなことを察したので、エンコーダはそのままで、モータはTIM8に変更しました。
      • これにより、プリント基板上では、モータとTIM1の二つのチャンネル(元々は、エンコーダモードのチャンネルとは別とみなしていました)は繋がっている状態になっていたように思われます。
      • なので、モータとTIM1を完全に別離させるために、プリント基板上のパターンを削って、モタドラの足とTIM8のピンをポリウレタン線で空中配線させる形で対応しました。
1月
  • 速度追従の立ち上がりからおかしい+左右でタイヤの回転が違う気がする
    • エンコーダの仕様がやはり表記と違った模様
      • →割る値を調整してそこそこ同じくらいにはなった
    •  完全にタイヤの回転が同じになることはなく、メカの問題と疑う
      • 実はモータとマイコンが若干干渉していて、片方のモータが数°傾いているような感じになっていました。されどデコピンをさせると左右差がそれほどないような感じで走るので部員からは問題ないという指摘をもらい、再発注せずにそのまま使用し続けることに。
  • 台形加速の定速区間、減速区間が全く速度追従しない

    台形加速の速度追従がうまくできていない様子
    • 基板裏のピンの足が若干地面と擦れており、摩擦になっていた
      • →切り落とし+カプトンテープでピン足の部分をカバー
    •  モタドラの使用方法が違った 
    •  

      モタドラの仕様

      • 減速する(dutyが負になる時)には入力として、モードを逆転にしなければならないことを把握できておらず、それを対応して大幅改善
  • 超信地旋回できない
    • まず、重心速度が0になるようにする、という要素を最初に考えていなかった。
    • ハードの特性(4輪、回転の中心はちょうどモータの中心あたり)的に回転しづらい
      • →角スベールをつけて回転しやすくした(しろめ先輩対応)
      • →タイヤを緩めて回転しやすくした
      • →ジャイロの設定方法が違った(しろめ先輩対応、致命的)
        • 某Sora's activityのgyro configの書き込み方(速度の部分)が他の部員と違っていた。これは正直合っているのか未だに確信していないです。とりあえず他の部員と同じジャイロ値が取得できるようになったのでいいか、という感じ
      • →ジャイロの角速度からタイヤのヨー角速度に変換する電圧計算が違っていた
      • →以上を調整しても、やはり回転しづらさは少し残ってしまった+一度重心位置が変わらないとうまく回転できないとわかった(スラロームっぽい動きはできる)ので、回転する前に移動する動作を大会当日ゴリ押しで入れて対応することに
      • ※つまりいまだに正式な超信地旋回はできていません。もはや正式な超信地旋回は無理なのでは?と思っています。
  • 2マス進むとバック(+暴走する)
    • まだ未解決ですが、おそらく、IとDの制御量を動作の間で初期化していないが故に余計な制御量が動作の間に入り込んでしまったのでは?(こみさん指摘)
  • 壁制御がうまくいっておらず、壁が空いていると吸い込まれる
    • 壁制御用のゲインの調整不足ですかね。。あとは機体の速度が遅いような気もするので対応予定(どちらかの壁によっているところからマスの中心に戻る動作は問題なくできる)
    • あとはセンサー位置がステッパーの時と比べて違うのもあるかもしれません

以上です。ダラダラと書いてしまい、申し訳ないです。ログとして残しておきます。

 

研究と他の課外活動との兼ね合いもあるので、現実的なマイルストーン的には、今大会までに探索以前の各動作ができたところまでは最低限行きたかったのですが、データシート読み込み、センサー系の使い方やPID制御に関する知識が不足していたりして、かなり時間がかかったことでなかなか進みませんでした。DC初心者なので年末開発すべきでした。

とはいえ、もうどうしようもない!というほど現在の基板がやばいわけではない+部員や先輩方に指摘いただいて探索まではこの基板で何とかならないかなあと思ったりしています。これを糧に今後も苦しみながら作っていきたい思います。

 

大雑把な今後の開発計画

  • 月 マウス予定(本業とマウス以外での活動)
  • 2月~3月 PID制御、FF制御、探索(大学院での研究の準備等、他課外活動開発)
  • ※3月のOOEDO、6月ごろのDENSOあたり目標に調整はしていこうかなと

終わりに

大会運営をしてくださった皆様、そして、一緒に大会に出場した皆様、ありがとうございました!!来年の全日本大会も無事に出場できたら嬉しいです。(前回のブログでも記載の通り、来年度からは本業の拠点が変わるので、調整に苦労する未来が見える、、。新作とか考えられるレベルではない。。)

今後挑戦していきたいのは、次年度から取り組む研究が機械学習系、協調制御のようなものになるので、探索だとか、新競技のシステムあたりに繋がるようなことができたらいいなあと思っていたりします。ひとまず、探索系に関しては、こみさんが使っていた探索シミュレーター的なものを利用したりしていきたいと思っています。

創造神が開発されている新競技の機体の方はどんどん改良が進んできていて、現実味を帯びてきたような気がします。個人的には、小さいワインセラーみたいな雰囲気で趣を感じます。機体を入れるケースもキラキラ光っていてデザイン凝ってるな〜という気がします。

 

次のブログは未定です。新年度の予定がまだ全くわからないので取り急ぎマウス合宿あたりを努力目標とさせていただきます。読んでいただき、ありがとうございました。