MINDSTORMSを動かしてみた体験とともに、どんな楽しみ方があるのか紹介します。EV3」について概要やツールを紹介しましたが、今回からはプログラミングに挑戦します。今回は、具体的な課題の設定と、その課題を実現するにあたり必要な基本動作を行うプログラミングにフォーカスします。プログラミングをする上で必要な論理的思考を身につけるための方法であるフローチャートについても紹介します。プログラミングに慣れている方であれば、ついつい省略してしまう、図で考える方法ですが、そういった方でも上手くできないケースに遭遇することがあります。従って、プログラミングについて再勉強してみようという方にもおすすめです。目指すプログラム今回、最終的に目指すプログラムは、商品を購入したときの箱に印刷されているルートを使って、図1のようにロボットがスタート地点から赤線内をたどってゴールまで走行するものです。実際に走行するルートは、赤線内であればよく、任意のタイミングでバックしてもよいこととします。実現する方法を考えるLEGOプログラミングでは、課題を設定したら、その課題を達成するための方法を考えるところから始まります。プログラミングがわからない方には非常に難解な課題に見えるかもしれませんが、実際にはそれほど難しく考える必要はありません。以下の3つの方法が考えられます。リモコンを使って進む、戻る、曲がるなどを伝えてゴールまで進む赤外線センサーを人が持ち、ロボットがセンサーの後を追うようにし、ゴールまで導く。カラーセンサーで赤を検知したら、自動で走行方法を変えてゴールまで進む。わが家では、娘と話し、1のようにリモコンでコントロールするのは、ラジコンと同じであり、ロボットというイメージが湧かないためこの方法はやめました。2のセンサーの後を追うのは、ちょっとしたペット玩具のようなイメージで、楽しそうだということになり実現することにしました。3は自動ロボット掃除機のようであり、おもしろくなりそうだったので、こちらも実現することにしました。このように、身の回りの自動的な動作がヒントになって課題を設定することもあれば、身の回りの自動的な動作がどのような仕組みになっているのかを改めて考えるきっかけになります。そのままの課題で難しければ、簡単にするための条件をつけてもよいでしょう。のちのちその条件自体が課題を解決するヒントにもつながります。センサーを使用するロボットを探す上記の考え方で利用するセンサーが決まったら、次はロボットです。ロボットは自分で作成してもよいですが、なかなか難しいので、今回は設計書があるロボットから作成することにします。そこで、さまざまなロボットの作り方が載っているLEGOのHPから探してみます。今回はその中から、図2のEV3MEGというロボットを採用することにしました。図2:さまざまなロボットが紹介されているLEGOのHPページ実際に作成したロボットは図3のように、今回必要ないアームの取り外し機能と、プログラムを停止するスイッチとして利用するタッチセンサーも備えています。図3:今回作成したロボットこのロボットを作成するのに約3時間かかりました。プログラミングを勉強するだけであれば、この時間が長く感じますが、筆者はこの時間が実際に動かしたときの楽しみや感動をより大きくすることにつながると感じています。今回は紹介しませんが、ロボットを組み立てる過程で、回転(ギア)の仕組みや、部品を組み合わせる際の立体感覚なども身につきます。本来は、プログラミングだけではなく、このような物理的な仕組みと組み合わせた自動化までがLEGOでのプログラミングですので、非常に奥深さを感じます。