プログラムレポート
ロボットプログラミング 講座の様子(2023年1月8日開催)
公開日:2023年01月12日
-
しごと・ものづくり講座
1月8日はF@IT Kids Club静岡校にご協力いただき、ロボットプログラミングに挑戦しました。
今回のロボットはレゴ®マインドストーム®EV3です。
一番上には液晶画面の付いたインテリジェントブロックがついています。
インテリジェントブロックにはセンサーやモーターを接続する穴が8つついていて、それぞれのコードが差し込んでありました。
まずはプログラミング、センサーやモーターについて先生からお話がありました。
プログラミングとはコンピューターにする「お願い事(命令)をすること」です。
どんな風に動いてほしいかをお願い事することで、コンピューターはお願い通りに動きます。
センサーとは「音、光、圧力などのアナログの情報を感じ取って、コンピューターで処理できるデジタルの信号に変える装置」です。
今回のEV3にはタッチセンサーと超音波センサーなどがついています。
モーターとは「物を動かす装置」です。
インテリジェントブロックに繋がっているセンサーやモーターの情報は、パソコンの画面で確認することが出来ます。
今日は、プログラムを自分で作ってEV3を走らせたり、センサーの情報を使ってEV3の動きを制御したりしてみます。
走らせてみよう!
EV3をひっくり返して見てみると、それぞれのタイヤにモーターがつながっていました。
それぞれのモーターの回り方を変えることで、EV3をカーブさせることも出来ます。
それでは早速、モーターを動かすプログラミングをしてみましょう。
モーターが回る秒数、向きやパワーを決めて試してみます。
前と後ろに同じ速さで同じ秒数だけ動かすプログラムを作ると、前進してから自分のところに戻ってきました。
モーターを回すだけでなく、一端ストップさせるプログラムを入れておくと、勢いでぶれることなくきれいに動きます。
パワーを変えるとモーターの回転する速さが変わるので、スピードが変わります。
それでは、少し実験をしてみましょう。
向きの数値とパワーの数値を変えて、5秒間走らせます。
それぞれのプログラムを作って、どのように動くか見てみましょう。
実験が終わったら、ホワイトボードに実験結果を書いていきます。
向きの数値を大きくするとその場で回る急カーブに、小さくすると緩やかなカーブで動くことが分かりました。
実験で動き方の違いが確認出来たら、実践です。
図のように、三角コーンを上手に左回りでちょうど1周するようにできるでしょうか。
先生が、「色々と試してみるときは、あれこれ数値を変えたりスタート位置を変えたりせず、同じ場所からスタートさせるようにすると考えやすい」と教えてくれました。
スタート位置と速さとカーブの傾きは毎回同じにして、走る時間を調整します。
しっかりと動きを確認しながら、何度かプログラムの微調節を繰り返します。
すると・・・できました!
タッチセンサーを使ってみよう!
次に、タッチセンサーについて学びます。
まず初めに、タッチセンサーに触れるまで待っていてくれるプログラムを試してみます。
モーターのブロックとスタートブロックの間に、タッチセンサーのブロックを入れて「センサーがどうなったら」という情報を入れます。
これはタッチするまで待っていてくれるプログラムです。
試しにやってみましょう。
センサーとモーターのプログラムを入れ替えると、タッチするまで止まらないプログラムになりました。
プログラムは一番左のスタートブロックから始まって、左側から順に実行されるんですね。
(上のプログラムは3秒で止まるようにしてあります。)
また、タッチセンサーの感じ方には違いがあります。
プログラムを切り替えながら試してみると、「センサーをタッチしたら音が出る」と「センサーから手を離すと音が出る」という違いがあることが分かりました。
では、ここで実践です。
写真のように動かすにはどんなプログラムを作ればいいでしょうか。
タッチセンサーを上手く使うのももちろんですが、最初にやった曲がり方の速さや時間の調節、バックの仕方も重要です。
何度も試しながら数値を調節して、壁に向かって真っすぐバックするようにします。
自分の動かしたい角度とどのくらい違いがあるか、しっかり追いかけて確かめましょう。
大成功!
上手くバックして、壁に接触してタッチセンサーが押されたらEV3が止まりましたね。
アームを動かそう!
アームを動かすモーターを制御して、上げ下げしてみます。
上げ下げの調節はモーターを回転させるパワーで調節します。
アームを上げるときはプラスのパワー、アームを下げるときはマイナスのパワーでモーターを動かします。
アームを上手く使うと、紙コップをキャッチして運んで離すことができました。
超音波センサーを使ってみよう!
超音波センサーは超音波を出して、物にぶつかって戻ってきた超音波を受け取ることで物との距離を測ります。
距離を上手く図ることで、壁を見つけてギリギリのところでストップするように出来ました。
超音波センサーを使えば障害物に近づいたらスピードを落としたり、障害物のギリギリ近くまで来たらストップさせたりすることも出来ます。
これは壁まで15cm。
今まで覚えたことを上手く使えば、まっすぐ走って、紙コップの目の前で止まってアームでキャッチすることが出来そうですね!
ちょうどコップにアームが下せる距離ってどのくらいかな?
センサーにコップを近づけながら、ちょうどいい間隔が何cmなのか考えます。
進む、超音波センサーの情報を受け取る、止まる、アームを下ろす、進む、アームを上げる。
それぞれのモーターやセンサーのプログラムの数値をひとつひとつ確認します。
何度も調節をしながら実験です。
コップにギリギリ近づいてアームを下すのは中々難しかったですが、何とか成功です!
全部のプログラムが出来たら、組み合わせて、コップを運ぶプログラムに挑戦です!
床に印をつけて、実験が何度もやりやすいようにしました。
スタートしたらコップまで進んで、センサーでコップを見つけてアームを下ろす。
アームを下ろしたら方向転換して、三角コーンのところまで運ぶ。
上手くいきました!
残った時間で自由にプログラムをして試してみました。
一つ一つの動作が終わると音が鳴ると、どこまでプログラムが上手くいっているか分かりやすいですね。
最後に先生が「プログラムをするときは、どうやったら自分が楽にできるか考えるとスマートなプログラムになるよ」と教えてくれました。
またの開催をお楽しみに!