SEARCH
MENU

親子ロボットプログラミング講座(4)「mBotを自由に走らせよう」


親子で学ぶロボットプログラミング講座の第4回目は、「mBotを自由に走らせよう」です。

第1回目:親子でロボットプログラミングに取り組む
第2回目:ロボットプログラミングの準備をしよう
第3回目:mBotで初めてのロボットプログラミング

第3回目で、mBotのLEDを光らせたり、ブザーを鳴らしながらメロディを奏でたりといった事を体験しました。
この回からは、実際にmBotを動かすプログラミングをしていきます。

 

STEP1:自由に走らせてみよう

このSTEPでは、いよいよ、mBotを走らせるプログラムに挑戦します。

 

DCモーターの取り付け場所

 

mBotを組み立てたとき、DCモーターを、タイヤの軸につなげました。mBotを動かすときは、このタイヤにつながったDCモーターの回転する速さや、回転する時間をプログラムします。

mBotのDCモーターは、6V/200RPMという性能です。これは、6V(単三乾電池4本)を使って電流を流したとき、1分間に200回転するという意味です。RPMの数字が大きいと、それだけモーターのパワーが強いということになります。

モータ-の種類には、DCモーター以外にも、色々あります。ロボットプログラミングでよく使うモーターは、主に、2つです。

 

DCモーター
  • スピードと前回転、逆回転の設定が出来る

 

サーボモーター
  • モーターの角度を制御する事が出来る。ただ回るのではなく、止めたい角度で止めるようにすることが可能です。サーボモーターは、人型のロボットの関節部分などに組み込まれたりしています。

 

Makeblock社のサーボモーター

 

mBotロボットプログラミング(3) mBotを動かしてみよう

mBotを動かすには、「動き」パレットにあるブロックを使います。まずは、どのブロック実行する、mBotがどんな動きをするかを、確認しましょう。

 

 

速さと時間を設定できるブロック

例)前向きに50%の速さで、1秒動かす

 

 

mBotが「前向きに1秒」走行できたら、「動き」ブロックパレットの中にある、「後向き」「左向き」「右向き」ブロックを使って、mBotがどんな動きをするか、確認してみましょう。

 

 

前・後・左・右の動きが確認できたら、「●●秒動かす」の、時間(秒)の部分を、2秒や3秒に変えて試してみましょう。

時間でmBotの走行距離を変えることが確認できたら、今度は、「〇〇%の速さ」の部分の数字を変えて、mBotの動作を確認してみましょう。数字が大きいほど、mBotが速く走行し、小さいと、遅く走行します。

 

 

時間を指定しないブロック

これから、学習が進むと、時間を指定しないプログラムを作りたくなるはずです。その場合は、下のブロックを使うと、ずっと、動き続けます。

 

 

うえのブロックを使ったプログラムで、動きを止めたり、時間を指定したりするには、どうしたらよいでしょうか?

その場合は、動きブロックパレットにある、「動きを止める」と、

制御ブロックパレットにある「〇〇秒待つ」を使います。

例えば、前向きに、1秒動かす場合、は下のようなプログラムになり、「前向きに50%の速さで1秒動かす」ブロックと同じ動き方になります。

 

 

左と右のタイヤ速さを変えるブロック

これまで見てきたのは、左右のタイヤが両方、同じ速さで動くブロックでした。「動き」ブロックパレットには、もう一つ、左右のタイヤの速さを変えるブロックがあります。

例えば、上のブロックの右のタイヤの速さを、早くしてみるとどうなるでしょうか?

 

確認すると、左方向へカーブすることが出来ると思います。

また、どちらかのタイヤの速さを「-」にすると、タイヤが逆回転します。

 

負の数は、中学校で習いますので、小学生には、難しいかも知れません。ロボットプログラミングの最初の段階で、負の数が理解できていなくても、先に進めますので、ここでは、「-」を入れると、「タイヤが逆回転する」という程度の理解で構いません。

 

STEP2:mBotの5つの走行パターンを確認しよう

ここまでで、どの「動き」ブロックを使うと、mBotがどのように動くかを確認してきました。この動きブロックを使って走行するmBotの動きは、前進・後進・カーブ・ピボットの5パターンです。前進走行・後進走行は、すぐにイメージがつくと思いますが、「曲がる(ターン)」に関しては、3パターンあります。

 

スピン

スピンは、この動画のような動作です。

 

スピンは、片方のタイヤが、順回転(進行方向に対してタイヤの前方が下に、後方が上に動くような回転)、もう一方のタイヤが逆回転(順回転とは反対にタイヤが回転)する事で実現できます。
mBlockのこれまで見てきた「動きブロック」の「右向きに」「左向きに」は、スピンで動くようになっています。

 

スピン回転を実現する方法としては、↑のブロックのほかに、↓のプログラムのように、左右のタイヤのスピードを同じにして、どちらかを負の数(-)でタイヤを逆回転させることで、実現できます。

 

ピボット

ピボットはこの動画のような動作です。

 

スピンとは違い、どちらかのタイヤを止め、もう一方のタイヤを動かす事で実現します。

 

カーブ

カーブは、下のような動画の動きです。

 

右カーブ

 

左カーブ

 

ピボットとは違い、左右どちらのタイヤも動かしますが、動かすスピードを変える事で、曲がる角度を調整します。

 

ここがポイント 正解はひとつとは限らない

この回で学んだように、ロボットに思った動きをさせたい場合、それを実現するプログラムは、一つじゃありません。

学校のテストでは、一つの正解が何かを考えますが、ロボットプログラムでは、自分が思ったように動けば、そのプログラムが正解です。

色々なプログラムの方法を考えながら楽しんで学びましょう。

 

 

筆者プロフィール

荻原 裕
TINKERBASE代表
2010年よりIOTデバイス開発ベンチャー企業での海外営業・新規事業開発・大企業向けIOT事業開発アクセラレーション責任者を歴任。
2018年より出張専門プログラミングスクール「TinkerBase」運営。
国際的ロボットプログラミング大会「MakeX」
2019東京大会審判委員長。2020東京大会事務総長。
2015年経済産業省登録 中小企業診断士。著書:IOTビジネス入門&実践講座 2016年 ソシム出版