こんにちは。営業部のJooです。
社員研修として弊社が販売しているマイクロマウス学習キット[Pi:Co Classic3]を動かして
前回ははんだ付け・組み立て・LEDの動作チェックまで行いました。
今回は、サンプルプログラムをロボットに書き込み、各動作の確認と迷路を走らせました。
準備するもの
・PC(プログラムを書き込むため)
・CS+(ルネサスマイコンの開発環境ツール※)
・ Tera Term(ターミナルエミュレータ※)
※マニュアルにインストール方法がしっかり記載しておりますので心配いりません。
・障害物(部屋の壁だと傷つく可能性があるため、迷路用の壁の購入をお勧めします)
・クラシックコース(個人では準備が難しいため、試走会に参加しましょう!)

図1 迷路用の壁
サンプルプログラムの書き込み
Pi:Co Classic3はCPUボードにルネサス製RX631 を採用しており環境ツールとしてCS+を推奨しております。
CS+については常にバージョンアップをしているため、私が使用したバージョンを記載しておきます。
図2 CS+のバージョン
サンプルプログラムは下記流れに沿って、ロボットを動かしながら楽しみながら進めることができる内容になっています。
①LEDを光らせる
②ブザーを鳴らす
③スイッチを使う
④壁センサーの数値を見る
⑤モータを回す
⑥壁を認識させながら走らせる
⑦迷路を走破する
ここまでで難しそう…と感じるかもしれませんが(私は不安でした)、プログラミング初心者向けのマニュアルとサンプルプログラムの解説が用意されていますので安心してください。
今回は⑥、⑦にスポットを当てて記載します。
壁を認識させながら走らせる
センサで壁を認識してフィードバック制御しながら走行し、迷路の真ん中を走らせるサンプルプログラムを用います。
壁の有無、距離は、壁センサ用LEDからの反射光をフォトトランジスタで受けることで計測します。この計測値を用いて現在値と目標値(迷路の真ん中)と比較しながら目標値に近づけることを「フィードバック制御」といいます。昨今、ビジネスシーンでも「フィードバック」は聞くようになりましたね。
実際に走らせてみました。
最初は壁に衝突していましたが、パラメータを調整することでコースの真ん中を走ってくれるようになりました。
迷路を走破する
壁を認識できていることが分かったので、実際に迷路を走らせてみます。
ここで、マイクロマウスの基本競技内容を簡単におさらいです。
・始点から終点への走行に要した最短の時間と最短時間達成までの過程、その間の自立性を競う。
・迷路が公開された後で迷路に関する情報をマイクロマウスに提供できない。
・競技中にスイッチ操作等で、迷路に関する情報を修正、あるいは部分的に消去することはできない。
・制限時間内(協議会によって異なる)に5回までの走行が可能。
驚きなのは迷路の情報をロボットは知らないということ。
知っていることは迷路全体の大きさとスタートとゴールの位置だけ。
ではどのようにして走破するのか??サンプルプログラムには2つの探索アルゴリズムが用意されています。
①左手法・右手法(常に左・右側の壁に沿って走行します)
②足立法(始点と終点に壁がないと仮定して最短経路を計算し、その間に壁があれば再計算を繰り返す)
詳しい説明はこちら「shotaさんのブログ」をどうぞ。実際に走らせてみました。
こいつ…動くぞ!
サンプルプログラムを使用して無事に走らせることができました。
これで私も「マウサー」に一歩近づいたかな?※マウサー:マイクロマウスの競技選手
次回に向けて
2018年12月1日に出版した「マイクロマウスではじめよう ロボットプログラミング入門」を用いてさらにロボットプログラミングの理解を深めたいと思います。
本誌は[Pi:Co Classic3]を題材にマイクロマウスをはじめ、各種ロボットに共通するハードウェア、ソフトウェアの基礎、センサーの使い方、各種制御の方法などを紹介し、ロボットプログラミングの基礎がわかる内容になっています。
皆様も如何ですか??
図3 マイクロマウスではじめよう ロボットプログラミング入門