MakeX2019のミッションクリアのカギは、RGBラインフォロワーセンサー活用にあり!
前回、RGBラインフォロワーセンサーの活用方法の基本編では、RGBラインフォロワーセンサーが白線を自動で認識して走行していき、時間で止まるなどの制御をする方法をご紹介しました。
ただ、MakeX2019の競技用アリーナ(マップ)をよく見ると、ミッションのポイントごとに、白線が分岐しているのが分かります。

RGBラインフォロワーセンサーは、mBotに標準で搭載されているラインフォロワーセンサーよりも、2つ多いライン検出センサーを搭載しているので、ラインの分岐を見分けることが可能になります。
4つのRGBセンサーを駆使してラインの分岐を見分ける

RGBラインフォロワーセンサー受光部イラスト
RGBラインフォロワーセンサーは、RGB1~4、それぞれで、ホワイトラインか?マップの背景色かを検出することが可能です。どのように検出し、どうやってプログラムにセンサーの値を組み込んでいくかを、このページで説明して行きます。
STEP1:背景色とホワイトラインを検出できるように学習させる
RGBラインフォロワーセンサーは、まずは、どの色が床面(マップ面)の背景色で、どの色がライン面(ホワイトライン)なのかを、学習させてあげる必要があります。学習のさせ方の順序は、以下の通りです。
1.補助ランプの色の調整
切り替えキーを長押しして補助ランプの「赤・青・緑」の中から、好きな色を選択します。このLEDの色は、自分の好みでいいです。
2.背景色の学習
RGBセンサーを所定の位置に取り付け、4つのRGBランプを背景に向け、キーをシングルクリックして4つのLEDをゆっくり点滅させます。学習は2〜3秒で終了し、その間LEDは点滅を停止します。
3.トラック(走行ライン)の色を学習する
RGBセンサーを所定の位置に取り付け、トラックに対して4つのRGBライトを正しく点灯させ、キーをダブルクリックして4つのLEDをゆっくり点滅させます。学習は2〜3秒で終了し、その間LEDは点滅を停止します。
尚、この2と3の設定の順番は関係ありません。
より正確に言うと、
シングルクリックしたときに学習させた色は「1」という数値を送信し、
ダブルクリックしたときに学習させた色は「0」という数値を送信されるように、
設定をすると理解しておきましょう。
4.テストと確認
モジュールを所定の位置に保ち、4つのセンサーの位置を調整して、背景と線の色を正しく検出できることを確認します。背景を検出すると、対応するセンサーのLEDが点灯します。そしてラインを検出するとき、対応するLEDは消えます。
STEP2:mBlock5でセンサーの値を取得できるブロックを確認する
mBlock5で、RGBラインフォロワーセンサーの値を取得できるブロックは3種類あります。
1:RGBラインフォロワーセンサーの4つ数値の組み合わせを条件とするブロック

このブロックは、RGB1~4で検出したホワイトラインか、背景色かを0か1の数字で表し、4つRGBセンサーの検出している状態を条件として設定するブロックです。
※ブロックの日本語としては、「設定する」よりも「プローブの状態が」の方が自然な気がしますが(笑)
RGBラインフォロワーセンサーのRGB1~4の位置と、上記のブロックの4つの数値の関係を見てみましょう。

↑の画像を見て頂くと分かるように、ブロックの4桁の数値は、左からRGB4・RGB3・RGB2・RGB1の状態を表しています。
また、RGB1・RGB4は背景色を検出しているので、LEDは点灯しており、「1」という数値を、mBlock5に送信します。
2:バックグラウンド(背景色)を検出したかどうかの条件設定ブロック

3:RGB1~4の検出数値を取得するブロックです。

STEP3:スクリプトに組み入れて、mBotを制御する
あとは、MakeXのミッションに合わて、思った通りの振る舞いをmBotがするようにプログラミングするだけです。例えば、以下のようなスクリプトを組めば、動画のような挙動をします。

通常のラインに沿った走行は、基本編で解説したサンプルプログラムを利用し、RGB1~4全てでホワイトラインを検出し「0000」の数値を取得した場合は、走行を止めるというプログラムです。
因みに、BasePowerを「50」に設定すると、一度止まって、また動き出してしまうプログラムなので、プログラムの処理としては不完全であることはご容赦下さい。
参考記事:MakeX攻略ーmBotと障害物の距離と同じ長さを走行させる
■このページの動作環境
※Makeblock社は随時ソフトウェアのアップデートが行われています。ご自身のPCと本ページのブロック表記が違う場合もあります。本ページは、以下の環境下で動作チェックをしました。
ハードウェア:mBot_v1.1
ソフトウェア:WEB版(ブラウザ版)mBlock5_v5.1
利用PCのOS:Windows10
ソースコード確認日:2019年8月8日