
ロボットプログラミングってなに?②
前回はロボットプログラミングのキホンのキ、ロボットをプログラミングするってどういうことか、そもそもロボットとはどんなモノを指すのか、ロボットプログラミングによって何が学べるのか、といったところをお話していきました。
今回はロボットの動かし方、つまりロボットが動くためのプログラムをつくっていく「プログラミング」についてお話していきます。
・・
ロボットはあらかじめ人間が決めた手順に従って動きます。
ただし、人間と同じ方法でロボットに手順を伝えると、ロボットは混乱してしまいます。

そのため、ロボットには細かく動作を分けて手順を示してあげなければいけません。

このようにロボットに動いてもらいたい手順を示したものが「プログラム」です。プログラムは人間が話すときに使う言葉とは違う「プログラミング言語」をつかって表します。

プログラミング言語は英語の羅列で難しそう・・・
ですが、代わりにブロックのような絵をならべてつなぐだけで、簡単にプログラミングができるものがあります。当スクールでは、Studuinoというソフトを使用しており、お子様などの初心者の方でも気軽にプログラミングに挑戦することができます。パソコン上でプログラムをつくり、コンピュータに送ります。

ロボットも同様に、ブロックを組み合わせるだけで、自分の思い通りのロボットをつくることができます。
そして、そのロボットをスタディーノにつなぐと、あらかじめプログラムした通りにロボットが動きます。自分のアイデアが形になり、動き出す瞬間の喜びや達成感は、何者にも代えがたいものです!

・・
たとえば、左足と右足を交互に動かすプログラムはこのようになります。

ただ歩くという動作だけでも、実はいくつかの手順を組み合わせる必要があります。普段何気なく行っている「歩く」という行動を、改めて深く考えるきっかけにもなりますね。
もちろん「歩く」という動作だけではありません。
「物をつかむ」などの動作や、信号機や自動ドアの仕組みなど、日常生活でよく見かけるものについても、普段は意識しない細かい部分に目を向け、考えることができます。
たとえば、朝起きたら筋肉痛になっていたとします。
「昨日の引越しで大きな家具を運んだ」ということが原因だとしても、
どのように家具を持ち上げたか?
それは普段の動きと何が違ってたのか?
なぜその動きが筋肉痛を引き起こしたのか?
といったことを論理だてて考えることで、筋肉痛の具体的な原因を突き止めることができますよね。

このように、順序立てて、論理的に考えるプロセスこそが「プログラミング思考」と呼ばれるものです。近年、学校でプログラミング教育が必須化されている背景には、この「プログラミング思考」の習慣を身につける目的があります。
プログラミングでは、このように順序立てて考えることを「順序処理」と言います。「繰り返し」や「条件分岐」も重要な概念で、これらがプログラミングの3つの基礎と言われています。このあたりの話は、また次の記事で詳しくお話していきます。以上、お読みいただきありがとうございました。
・・