使い方を確認しよう過去の会話は呼び出せる。robot(以下、Root)」を前回に引き続きご紹介します。今回は、ロボットの進行方向についているバンパーを利用して壁にぶつかっても進み続けられる動きをプログラムします。バンパーで衝突判定!「Root」の進行方向にはバンパーがついていて、物にぶつかったことを検知することができます。ものに接触して物理的にバンパーが押し込まれることで検知されるのが特徴的で、他のプログラミング学習用ロボットにはあまり見ない機能です。衝突回避というと、障害物との距離を超音波センサーで測ってぶつかる前に衝突を回避できるタイプのプログラミング学習用ロボットがありますが、その方式と比べると、リアルにぶつかって反応するので、どこか生き物らしい雰囲気があり、親しみが感じられます。Coding」を使います。Coding」にアクセスしてさっそくプログラムを作成しましょう。Edge」を使用します。「Safari」は非対応です。Coding」にアクセスしたところ。言語選択はメニュー内の[Language]で[にほんご]を選ぶ。最初にアクセスすると画面説明が表示されるプログラム作成画面で、レベル2を選んでください。前回記事ではレベル1でアイコン型のブロックでプログラミングをしましたが、今回は、文字で説明の書かれたブロックを使います。レベル2を選んだところ。プログラムのためのブロックがレベル1とは変わる。ブロック種類も増えているぶつかったらランダムな方向に方向転換プログラムを実行したらまず前進し、何かにぶつかったらランダムな角度で方向転換してまた前進するというプログラムを作成します。プログラムは次の図の通りです。ぶつかったときに方向転換するだけだと障害物の間にはまって抜け出せなくなることが多いので、いったん少し後ろに下がる動作をしてから、方向転換をさせるのがポイントです。方向転換は、右まわりを指定しているが、角度をマイナスで指定すると左回りになる。ランダム値の範囲をマイナスからプラスまで広く設定したので、左右どちらの回り方の可能性もある。ランダム値の範囲を-360〜360ではなく-330〜330にしたのは、ぶつかったあとに同じ方向に向かうのを避けるためプログラムが作成できたらシミュレーターで動かしてみましょう。Webブラウザー版のプログラミングアプリのシミュレーターには障害物を置けるようになっていて、ぶつかる様子も試すことができます。右側がシミュレーター。機能はできましたが、これだけではちょっと楽しくありません。ロボットが障害物にぶつかったときの反応などの演出を加えます。作成した機能のプログラムに次の図の通りブロックを追加します。赤字部分が追加したプログラム。[ライトをセット"*":"*"]と[いう"*"]のブロックで演出を追加。[いう"*"]は指定した言葉をしゃべるわけではなく、適当なロボット語を喋ってくれる。文字列の長さに応じて喋る長さが変化するようだライトや音の出る反応を追加すると、ロボットが、かなり生き生きとします。障害物にぶつかると音と光で反応して向きを変えるこのプログラムを実際に動かしたところを動画でご覧ください。見た目のイメージよりもどっしりしているので、軽い障害物だと押しのけるくらいの力があります。動画の最後には、運良く障害物を抜けていきました。窓の杜ランダムな動きですがちょっとお掃除ロボットの「ルンバ」風。ぞうきんでも貼り付けて掃除をしてもらいたくなります。“本物のお掃除ロボットのプログラムはいったいどうなっているんだろう?”と興味を持つきっかけにもなりそうですね。2020年度から小学校でプログラミング教育が実施されています。そこで本連載では家庭でのプログラミング教育にピッタリなお勧めツールを紹介していきたいと思います。2024年1月「GPTストア」対応!もう面倒なプロンプトは不要。