栃木市レッスン風景SPIKE【自動配送ロボット】距離センサーを使って自動で壁をよけて進むロボットを作ろう!! | 栃木県のプログラミング教室 - ロボテック(robotec)

栃木市レッスン風景SPIKE【自動配送ロボット】距離センサーを使って自動で壁をよけて進むロボットを作ろう!!

LEGOエデュケーションSPIKEを使って自動配送ロボットを作ってみました。今はインターネットを使用して何でも購入できるようになりました。コロナ禍になってからは人の大勢集まるところに出かけるのを控えている人も多いはず。お家でネットショッピングを楽しむ機会が増えたのではないでしょうか?インターネットで購入した商品は宅配便で届きます。自動で商品を運べるトラックが開発されたら便利ですね。

自動で配送するために必要なことの一つとして、壁などの障害物に当たらずに走る必要があります。このレッスンでは壁に当たらないように走り続ける配送ロボットをつくれるか挑戦しました。

1つ目の壁をよける

課題の1つ目は壁に当たらずによけるプログラムを作ります。

自動配送ロボットのプログラムは始めからある程度作られています。そのプログラムを実行して、修正箇所を見つけて正しく動作するようにしていきます。

動かしてみると…距離センサーのプログラムが何かおかしい!!距離を確認してみると、「距離が0㎝より近い」となっています。ぶつかること前提?というより0㎝メートルより近いので、壁に当たってもセンサーが反応せずに走り続けるプログラムが準備されています。じゃあ寸止めの1㎝にすれば…ロボットは急には止まれません!次のプログラムに移る時間も考慮し、もっと安全にプログラムをすることになり…

0㎝メートルより近いだから実際は壁にぶつかっても止まらないプログラムに…
距離の部分を修正しましました。安全マージンをたっぷりとっていますね。

ゆとりをもって止まれるようになりました。

バックして切り返しができるようにする。

壁に近づいたら止まれるようになったので、次はバックして方向転換。そして前進するようにします。

用意されているプログラムだと、行きたい方向と逆の方向にバックし、停止して前進するかと思いきや再びバックするというプログラムになっています。再びプログラムとにらめっこ…どこを変えたら思っている通りに進むかを考えて、修正していざスタート!!

バックする方向とバックの後にさらにバックしてしまうので…
モーターの停止位置と回転方向を修正しました

走らせてはプログラムを修正することを繰り返して、思っていたように走るようになりました。

もう一つの壁をよける

壁を1つよけられようになったくらいでは配送を任せることなんてできません。壁をもう一つ追加して挑戦してもらいます。

SPIKEのプログラムは、始めにモーターのスピードやスタート位置を設定するようになっているので、どこのプログラムから前進するようになっているのかを考えます。見つけたら、それを複製またはループさせることにします。

ただ複製しただけだと長くなるので…
ループブロックを使用しました

ただコピーするだけで、ループブロックを追加するだけではうまくいかず、プログラム修正を繰り返し、2つの壁をよけて走ることができるようになりました。ロボットもオリジナルものに作り替えてもらいました。タイヤが4つになって、より車に見えるようになりました。

壁に当たらずに走り続ける

2枚の壁をよけることができたら最後の課題。机の上に壁を作り、壁に当たることが無いように走り続けてもらいます。

センサーを壁の位置の高さに合わせて調整したり、ループの条件を変更してプログラムを修正しました。

壁に当たらずに走り続けることができました。たくさん考えてセンサーの使い方、方向転換をする手順を理解することができるレッスンとなりました。

今回のレッスンはこれで時間になってしまいました。ロボットにカラーセンサーを取り付けて、ブロックで建物を作り、指定した色の建物の前で止まることができるようにプログラムするなど、自動配送のためにできることはまだまだ見つけられそうです。たくさんのアイデアを子どもたちにも出してもらって、さらに楽しいレッスンをお届けできるようにしていきたいです。

**************

ロボット・プログラミング教室ロボテックでは、子どもたちが興味を持つブロックという教材を通じて、強要されることなく自然な流れで課題を解決し、それを発表する、さらには他の人の意見に耳を傾けるという力を育んでいきます。

ロボテックでは、ロボットづくり・マインクラフトでゲームづくり の無料体験を行っております。

お気軽にお申し込みください!

 

無料体験のお申込みはこちら

 

robotecスタッフ

robotecスタッフ

ロボテックのスタッフです。授業の様子や、プログラミングの情報を定期的にアップしていきます!