Pi:Co Classic3(移行中)ブログ(移行中)研修(移行中)

shotaのマイクロマウス研修6[Pi:Co Classic3 全日本大会に向けてやること]

こんにちは、shotaです。

社員研修として、弊社が販売するマイクロマウス[Pi:Co Classic3]を動かしています。

前回はマイクロマウス東日本記録会の結果と、全日本大会に向けてやることについて書きました。

[前回の記事はこちら]

今回は全日本大会に向けてやることの詳細を書きます。

やることリスト

こちらが全日本大会に向けてのやることリストです。リストはGitHubのGistで編集しており、[ここ]に公開しています。

それぞれの項目について詳細を書きます。

全日本大会の申し込みをする

参加登録をしないと参加できません。(例年、登録を忘れて参加できなくなった人がいるようです。)

[こちらのページ]で登録しました。すでに登録締め切り日は過ぎています。

 

running_maze_Dataflash_usbをベースに新規作成

Pi:Co Classic3のサンプルプログラムには、迷路の壁情報をフラッシュメモリに保存できるものがあります(プログラム名:running_maze_Dataflash_usb)。

東日本記録会ではフラッシュメモリを使っていなかったので、Pi:Coの電源を切ると壁情報も消えていました。このままではPi:Coが暴走したときに電源を切ることもできないので、サンプルプログラムをベースにプログラムを作り直します。

 

Git管理を開始する

[git]はプログラムの変更履歴を記録・追跡できる分散型のバージョン管理システムです。

gitでPi:Coのプログラムを管理することで、正常に動いた時のプログラムを記録することができます。もし、プログラムを改造してPi:Coが動かなくなったときは、正常に動いた時のプログラムにすぐに戻すことができます。

ほかにもgitの良いところはたくさんあるので、興味のある方は調べてみてください。

 

迷路情報をフラッシュに保存する

サンプルプログラムに搭載されている機能です。

 

探索中断処理を入れる

サンプルプログラムでは、探索を終了したとき(ゴールに到着したとき、スタートに戻ったとき)に壁情報を記録します。そのため、ゴールに到着する直前でPi:Coが止まった場合、それまでに手に入れた壁情報がすべて消えてしまいます。

そこで、探索中断処理を追加し、探索途中で止まった場合も壁情報を保存できるようにします。

注意点としては、Pi:Coが暴走したり止まったりした時は、間違った壁情報を記録している可能性があります。その間違った壁情報を消す機能も搭載しなければなりません。

 

最短走行中断処理を入れる

最短走行中にボタンを押すことで、走行を中断できる機能を追加します。最短走行では壁情報を記録しないので、特別な処理は不要です。

 

ゴール座標設定モードを追加

ボタン操作でゴール座標を設定できる機能を追加します。練習ではゴール座標を頻繁に変えるので、作業効率が上がります。(今までは座標を変えるたびにプログラムを書き直していました・・・)

 

直線走行_最高速度設定モードを追加

直線走行_加速度設定モードを追加

マイクロマウス競技では、より短い時間で迷路を走行することが目標です。そのためにはマウスの走行速度や加速度を上げれば良いのですが、いきなり速い速度で走ると失敗する可能性があります。

そこで、最初は安定に走れる速度・加速度で走行し、ゴールにたどり着けたら速度・加速度を上げる、ということをやります。(大会でも、最短走行した後にパラメータを変えてる人を何人か見ました)

 

センサ閾値半自動設定モードを追加

Pi:Co Classic3は、LEDとフォトトランジスタを組み合わせて壁を検出します。LEDの光が壁に反射し、それをフォトトランジスタで受け取るという仕組みです。

迷路を走る前には、どのぐらい反射光を受け取ると壁があると認識するのか、しきい値を設定しなければなりません。

今のプログラムでは、Pi:CoとPCを接続し、センサの値をPC画面に表示しながらしきい値を決める。そのしきい値をプログラムに書く。という作業が走行前に必要です。

いちいちPCにつなげていると手間なので、センサのしきい値を自動で取得し、フラッシュメモリに保存するモードを追加します。(正確には、ボタン操作が必要になるので半自動です)

 

探索時、既知の区間を走るときは加速度を上げる

今のプログラムでは、探索走行時に一定の速度・加速度でゆっくり走行します。

すでに探索済みの区間をゆっくり走るのは無駄なので、探索済みの区間は早く走行するようにプログラムを変更します。

マイクロマウス界隈では既知区間加速と呼ぶみたいです。

 

次回やること

これらの機能を実装します!

[次回の記事はこちら]

 

 

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