プログラムレポート
ロボットプログラミング 講座の様子(2022年4月4日開催)
公開日:2022年04月10日
-
しごと・ものづくり講座
4月4日はF@IT Kids Club静岡校の先生方のご協力で「ロボットプログラミング」講座を開催しました。
▼前回の様子は、こちらのブログをご覧ください。
今回もレゴ®マインドストーム®EV3を使ってプログラミングに挑戦です。
ところで、プログラミングとは何でしょうか?
先生は、プログラミングとはコンピューターにお願い事(命令)をすることだと教えてくれました。
上手くお願い事を伝えることが出来れば、自分の思い描いた通りにコンピューターは動いてくれます。
お願い事を上手く伝えることが出来なければ、ロボットも上手く動いてくれませんよね。
今回使うEV3もそうですが、ロボットにはセンサーとモーターが付いています。
センサーで読み取った周りの状況や出来事を数値に変えて、コンピューターに伝えます。
コンピューターはプログラム通り、モーターを動かします。
このやり取りを上手い具合に使ってロボットを動かしてみようというわけです。
EV3を見てみよう!
早速手に取ってみましょう。
タイヤを動かす「Lモーター」や、アームを動かす「Mモーター」。
ロボットの前には距離を測る「超音波センサー」もついています。
超音波を出して、跳ね返ってきた超音波をキャッチすることで、目の前にあるものとの距離を測ります。
後ろについているのは「タッチセンサー」です。
押せるスイッチになっています。
それぞれのセンサーやモーターが、本体にコードでつながれていて、画面にその状態が表示されています。
Lモーターで走らせてみよう!
まず、EV3の電源を入れましょう。
真ん中のボタンを長押しするとライトが赤く光り、しばらくすると音が鳴ってライトが緑に光りました。
ちょっと緊張しますね。
電源が入ったら、「5秒直進する」プログラムを作ってEV3に送りました。
緑の三角から始まって、赤い四角で終わる一連の流れがプログラムです。
さて、本当にプログラム通りに動くでしょうか?
速さをプラスの数値にしておけばEV3は前に進みます。
反対にマイナスの数値にしておけばEV3は後ろに進みます。
皆さんここまでは簡単に出来ました。
次はカーブに挑戦です。
「ステアリング」(カーブの回り具合)の数値と、「速さ」の数値を変えながら、色々試してみました。
試したことはきちんとテキストにメモを取りました。
このメモが、後々とっても大事になります。
どのくらいの回り具合の数値で、どのくらいの速さの数値で何秒走らせれば、どんな動きになるのか。
数値を色々と変えながら、走らせてみて、きちんとメモを取りました。
きちんとメモを取ったら、「コーンをちょうど一周する」プログラムに挑戦しました。
コーンの周りギリギリで回るようにしたり、コーンにぶつからないように大回りにしたり。
回り方は自由です。「きっちり一周」で止めるには、どんな曲がり方で、どれだけの速さで、何秒走らせればよいでしょうか。
皆さん、何度も挑戦して「きっちり一周」で止まるプログラムを作りました。
タッチセンサーを使おう!
タッチセンサーはEV3の後ろについています。
タッチセンサーはいくつかの状態変化を感知することが出来ますが、今回は2種類の違いを音を出すプログラムで確認しました。
一つ目はタッチセンサーに何か変化があったらコンピューターに信号を送るものです。
この場合はタッチセンサーを押したらすぐに音が鳴ります。
バックをして、壁に当たったら止まるプログラムを作る時も、この感知を使います。
もう一つはタッチセンサーから手が離れたらコンピューターに信号を送るものです。
この場合は、タッチセンサーを押しただけでは音は鳴りませんでした。
センサーから手を離した時に音が鳴りました。
ひとつのセンサーでも、色々な使い方がありますね。
ステアリングと、タッチセンサーを使って、次の課題に挑戦です。
センサーをタッチして前進したEV3を途中で左にカーブさせます。
そのまま壁に向かってバックして、タッチセンサーが壁に当たったら止まるようにします。
モーターをどの向きに、何秒走らせるか、そのあとステアリングと速さの数値のどのくらいにすれば90度左に曲がるのか。
色々なことを考えながらプログラムを作りました。
上手くいかなくても大丈夫。
それは失敗ではなくて、そのプログラムでは上手くいかないということが分かった大事な経験です。
どのプログラムの数値をどのくらい変えればいいか、変えたらどうなったか、どんどん実験しましょう。
さっきメモした数値を見てみるのもとても大事ですね。
そして、何度か実験を繰り返していると……
はい!成功です!カーブの向きは逆になったけど、きちんと90度カーブしてバックして止まりました!
EV3が自分の思った通りに動いた時の爽快感は素晴らしいですね!
Mモーターでカップを動かそう!
EV3には走るためのLモーターの他に、アームを動かすMモーターが付いています。
普段は上にあげているアームをモーターを使って下ろすことで、EV3の前にあるものをキャッチすることが出来ます。
上手くキャッチと離すことが出来たら、カップの移動にも挑戦しました。
キャッチして、180度その場で回転してアームを上げるプログラムです。
ちょっと簡単すぎたかな?
超音波センサーを使おう!
EV3の前には超音波センサーが付いています。
物体との距離を測るセンサーです。
試しに30cm前に物があったらモーターを止めるプログラムで動かしてみました。
ゆっくり動かすのが、センサーを上手に使うコツです。
最後の課題に挑戦!
超音波センサーでEV3を止めることが出来ることが分かったので、いよいよ最終課題です。
真っすぐカップに走ってきて、カップを見つけて止まり、アームを下ろしてキャッチしたら、カップを別の場所に動かしてアームを上げて課題完了です。
この課題をクリアするためには、まず超音波センサーを使ってEV3を止めなくてはいけません。
ただ止めるだけでなく、アームがきちんとカップをつかめる距離で止めなくてはいけません。
その距離を調べるために、何度も何度も超音波センサーの感知する数値を変えながら実験をしました。
まずはキャッチまで。
壁のときと同じで、ゆっくり走らせることが超音波センサーを使う時のコツです。
そして、キャッチが出来るようになったら運ぶプログラムも追加しましょう。
色々な倉庫でもこういったロボットがたくさん働いています。
そのひとつひとつが複雑なプログラムで動いているんですね。
余った時間で、S字カーブに挑戦したり、障害物を見つけて避けるプログラムを作ったりしました。
もっと色々試したいところでしたが、あっという間の2時間の講座でしたね!
F@IT Kids Club静岡校では色々なコースの教室が開催されています。
もし興味があったら覗いてみてくださいね!