どれ使う?プログラミング教育ツール
「ルンバ」風の動きをアイロボットのプログラミング学習用ロボ「Root」で再現してみた
2021年2月25日 15:20
ロボット掃除機「ルンバ」で知られるアイロボット社のプログラミング学習用ロボット「Root coding robot(以下、Root)」を前回に引き続きご紹介します。今回は、ロボットの進行方向についているバンパーを利用して壁にぶつかっても進み続けられる動きをプログラムします。
バンパーで衝突判定!
「Root」の進行方向にはバンパーがついていて、物にぶつかったことを検知することができます。ものに接触して物理的にバンパーが押し込まれることで検知されるのが特徴的で、他のプログラミング学習用ロボットにはあまり見ない機能です。衝突回避というと、障害物との距離を超音波センサーで測ってぶつかる前に衝突を回避できるタイプのプログラミング学習用ロボットがありますが、その方式と比べると、リアルにぶつかって反応するので、どこか生き物らしい雰囲気があり、親しみが感じられます。
プログラミングをしてみよう!
「Root」のプログラミングには、iOS/Android用のアプリか、WebブラウザーでアクセスできるWebアプリ「iRobot Coding」を使います。「iRobot Coding」にアクセスしてさっそくプログラムを作成しましょう。Web Bluetoothの機能で「Root」と接続するため、ブラウザーは「Google Chrome」か「Microsoft Edge」を使用します。「Safari」は非対応です。
プログラム作成画面で、レベル2を選んでください。前回記事ではレベル1でアイコン型のブロックでプログラミングをしましたが、今回は、文字で説明の書かれたブロックを使います。
ぶつかったらランダムな方向に方向転換
プログラムを実行したらまず前進し、何かにぶつかったらランダムな角度で方向転換してまた前進するというプログラムを作成します。プログラムは次の図の通りです。ぶつかったときに方向転換するだけだと障害物の間にはまって抜け出せなくなることが多いので、いったん少し後ろに下がる動作をしてから、方向転換をさせるのがポイントです。
プログラムが作成できたらシミュレーターで動かしてみましょう。Webブラウザー版のプログラミングアプリのシミュレーターには障害物を置けるようになっていて、ぶつかる様子も試すことができます。
ロボットが反応する演出を追加
機能はできましたが、これだけではちょっと楽しくありません。ロボットが障害物にぶつかったときの反応などの演出を加えます。すでに作成した機能のプログラムに次の図の通りブロックを追加します。
ライトや音の出る反応を追加すると、ロボットが、かなり生き生きとします。
このプログラムを実際に動かしたところを動画でご覧ください。見た目のイメージよりもどっしりしているので、軽い障害物だと押しのけるくらいの力があります。動画の最後には、運良く障害物を抜けていきました。
ランダムな動きですがちょっとお掃除ロボットの「ルンバ」風。つい、ぞうきんでも貼り付けて掃除をしてもらいたくなります。“本物のお掃除ロボットのプログラムはいったいどうなっているんだろう?”と興味を持つきっかけにもなりそうですね。
2020年度から小学校でプログラミング教育が実施されています。これに伴い家庭でも手軽にプログラミングを学習できるツールが多数登場していますが、どんなツールを使えばいいのか迷ってしまう方も多いのではないでしょうか? そこで本連載では家庭でのプログラミング教育にピッタリなお勧めツールを紹介していきたいと思います。