どれ使う?プログラミング教育ツール
ロボットが床の色を判別して自動で向きを変えるプログラムを作ってみた
2021年3月25日 06:55
ロボット掃除機ルンバで知られるアイロボット社のプログラミング学習用ロボット「Root coding robot(以下、Root)」を前回に引き続きご紹介します。今回は「Root」のカラーセンサーを使って、床の色に反応して動きを変えるプログラムを作成してみましょう。
カラーセンサーを使うプログラム
「Root」の底面にはカラーセンサーがついていて、走行中に床面の色を判定することができます。白い床に赤と青のエリアを作り、赤と青の間を行ったり来たりして動き続けるプログラムを作成します。
カラーセンサーを使うときは、白い模造紙などの上で「Root」を走らせましょう。例えばフローリングで走らせると、木の色の赤みをスキャンして赤と検知してしまいます。なお、「Root」付属のマス目状のシートを使用すると、つなぎ目から下の床の色が見えるので、色の検知がうまくいきません。
「Root」のプログラミングには、iOS、Android用のアプリか、Webブラウザーでアクセスできる「iRobot Coding」を使います。ここではWebアプリを使うので、Webブラウザーで「iRobot Coding」にアクセスしてください。Web Bluetoothの機能で「Root」と接続するため、「Google Chrome」か「Microsoft Edge」を使用します。「Safari」は非対応です。
まず、プログラムをスタートしたらまっすぐ進むようにプログラムします。ライトは緑に点灯させて通常走行らしさを演出します。
色を判定して動きをつける
次に、赤い色を見つけたときの動きを作ります。[いつ?"*"スキャンしたとき]というイベントブロックを使用します。
続けて、青い色を見つけたときの動きを作ります。プログラムの構造は赤と同じです。ライトの色と効果音が異なります。次の図はプログラムの全体で、青い色を見つけたときのプログラムが追加されています。
このプログラムを実行したころを動画でご覧ください。
こんなふうに白いエリアの外を「Root」が判定できる色で囲っておけば、エリア外にでないように動き続けるプログラムを作成することができます。色を判定したときの動作や、色の配置を工夫するといろいろな動きをさせられそうですね。
なお、色を検知したときにいったん後退させて白地のエリアに戻してあげないと、そのまま色を繰り返し検知し続けてしまうことがあるので気をつけてください。いろいろ試してみると、けっこう敏感に色の成分に反応する一方、小さなものの色を判定するのは得意ではないようです。初めて試すときは、今回の例のように大きなエリアを作るのがおすすめです。
2020年度から小学校でプログラミング教育が実施されています。これに伴い家庭でも手軽にプログラミングを学習できるツールが多数登場していますが、どんなツールを使えばいいのか迷ってしまう方も多いのではないでしょうか? そこで本連載では家庭でのプログラミング教育にピッタリなお勧めツールを紹介していきたいと思います。