Lesson1:ロボットプログラミングとは?

 Makeblock社のSTEAM教育ロボット「Codey Rocky(コーディロッキー)」のレビューを三回にわたって書きました。AIとかIoT対応というのは、確かにできなくはないようですが、コーディロッキーは、むしろ、プログラミング的思考を身に着けるのに、進めやすいSTEAM教材といった印象です。

 ちなみに、mBotシリーズは、STEAM教材キットとも言えますが、それを構成している、制御ボード・拡張パー・数々の機構部品を組み合わせて、様々なモノづくりに取り組むためのメイカー向けのロボットDIYプラットフォームといった印象ですね。

 これから何回かに分けて、「Codey Rocky(コーディロッキー)」を活用したロボットプログラミングの基礎をWEB講座みたいな感じで書いていきたいと思います。

このWEB講座の目的と目標と対象

【対象としているのはこんな大人の方々です】
ーロボットプログラミングの基礎ってどんなことを学ぶのか?知りたい
ーロボットプログラミングを子供に教えたい(一緒に学びたい)
ー自分の趣味として、ロボットプログラミングに興味がある
ー子供にロボットプログラミング教室に通わせていたら、自分(親)がやりたくなった
 
【目的】
 子供にプログラミングに取り組ませようとしている親御さんであれば、まずは、自分自身、大人が率先して取り組み、楽しむべきと考えています。そんな大人の方向けに、私が体験したロボットプログラミングの楽しさを共有することを目的にしています。

■Lesson1の目標

・プログラミングの定義とプログラミングでできる事を把握する
・Codey Rockyの概要
・mBlock5の概要

キーコンセプト:プログラム

※ブロックを用いたプログラムの例

■Lesson1で準備するもの

・Makeblock社のCodey Rocky(アマゾンとかで\13000くらいです)
・PC(windoows10 or mac)※こちらの講座ではWindows10で話を進めます。
・mBlock5 ※PCにダウンロードして使います。無料でダウンロードできます。

Codey Rockyとは?

 mBotは、中国のMakeblock社が開発・製造・販売しているプログラマブル教育用のプログラミングロボットです。世界ですでに450万人以上のユーザーがいる、次世代のレゴとも評される教材です。詳しくは、Codey Rockyレビューをご参照ください。
 
 Codey Rockyは、障害物をよけたり、黒い線の上に沿って自動で走ることも可能です。LEDパネルに色々な表情や文字を表示させることができます。そのうえメロディを流すことも可能です。
 
■ここで考えてみましょう
どうすれば、ロボット(Codey Rocky)を、人間(自分)が考えたように動かせるのでしょうか?

キーコンセプト「プログラミングとは?」

 ロボット(コンピューター)を思い通りに動かすために必要なことが「プログラミング」です。
 
 プログラムとは、我々人間が考えている事をロボット(コンピューター)に伝える指示書のようなものです。伝えるための指示書を書くことをプログラミングといいます。そして、その指示書は、プログラミング言語で書かなければなりません。
 
 私たち人間同士であれば、日本語や英語で書き・伝え合いますが、ロボットは人間の言葉は理解できません。そこで、自分で考えたことを、まずは、コンピューターがわかる言葉「プログラム言語」をつかって書きます。
 
 そのプログラミング言語で書いた人間の指示書=プログラムをロボットにアップロードします。ロボットはその指示書(プログラム)通りに動きます。
 
■ロボットを動かす一連の流れ
アイデア(指示したいこと)
プログラミング(指示書を書く)
プログラム(指示書が出来上がる)
アップロ―ド(指示書をロボットに渡す)
ロボットが実行(指示書通りに動く)
アクション

mBlock5とは?

 mBlock5は、Codey Rockyに指示したいプログラムを書き、アップロードするのソフトウェアで、Codey Rockyを開発したMakeblock社が無償で提供しています。mBlock5のダウンロードはこちらのサイトから可能です。
 

 Scratch 3.0に基づいて、ブロックプログラミング(ビジュアル言語)とテキストプログラミング(Python・Arduino)の両方をサポートしていて、ユーザーは、Codey Rockyへのプログラミングだけじゃなく、スクラッチと同じようにゲームやアニメなどが作成もできます。

 Makeblock社の各種STEAM教育ツール(mBot・Ranger・CodeyRocky・Neuron・Motionblock・Halocode)や、汎用のマイコン基盤Aruduino、micro:bitなどのプログラミングをすることもできます。

↓の動画は、ブロックでプログラムを組んみながら、Pythonに変換されていく様子を映しています。

 

 また、 今後、AI、IoTなどの先端技術にも対応させていくようです。ちなみに、mBlock5のAI機能は、AIとは具体的にどう動いているのか?を、非常に簡単に体験できるようになっています。詳しくは、こちらのページでレビューしていますので、良かったらご覧ください。(Codey Rockyの特徴2

初めてのロボットプログラミング体験

STEP1:mBlockダウンロード

 では、早速ですが、PCに↑で書いたmBlock5をダウンロードし、ソフトを起動しましょう。起動すると、このような画面が表示されます。
 
mBlock5g画面構成画像

※mBlock5の画面構成

 
上の画像の5つのエリアの簡単な役割です。
 
①プログラミングデバイス設定エリア
 ここでは、どのデバイス(ロボット)、あるいは、どのスプライト(PC上に表示されているパンダ )にプログラムを与えるかを設定するエリアです。上の画面では、Codey Rockyへプログラムが書ける状態になっています。

 また、Codey RockyとmBlock5(PC)を接続するためのボタンや、プログラムをアップロードするモードと、USBケーブルに繋げたままPC上でプログラムを動かすモードの切り替えボタンがあります。

 
②スプライトエリア
 このエリアは、動かすスプライトを表示させるエリアです。Codey Rockyへのプログラムだけの場合は、ほとんど使いませんが。
 
③ブロックエリア
 ここは、Codey Rockyをプログラムするためのブロックを選択するエリアです。
 
④スクリプトエリア
 ブロックエリアで選択したブロックを、ドラック&ドロップして、プログラムを作っていくエリアです。プログラムは、スクリプトとも呼びます。
 
⑤ブロックビジュアル言語⇔テキスト言語(Python/Arduino)変換ボタン
 ブロックでプログラムを組んだ後、このボタンを押すと、Pythonという言語に変換されたスクリプトが表示されます。
 

STEP2:Codey RockyとPC(mBlock5)の接続

 mBlockを立ち上げた後は、↓の画像のようにCodey RockyとPCをUSBケーブルで接続し、Codey Rockyの電源を入れます。
 
コーディーロッキーとPCはUSBケーブルで接続する
 
 電源を入れた後、mBlock5にCodey Rockyを認識させる必要があります。下の動画のように、Codey RockyとmBlockを接続させます。
 尚、COM3と表示されている部分は、皆さんの使っているPCによって、COM4だったりします。接続されているUSBポートがどのCOM番号なのかを選ぶには、デバイスマネージャーでポート番号を確認してみてください。

STEP3:プログラミング

 これで、プログラミングをする準備が整いました。それでは、「Aボタンを押すとCodey Rockyを3秒前進させる」というプログラムを組んでみましょう。下の動画では、プログラムを組んで、Codey Rockyにアップロードさせています。

 

 アップロードした後は、実行してみます。

 

まとめ

・プログラムとは、我々人間が考えている事をロボット(コンピューター)に伝える指示書
・伝えるための指示書を書くことをプログラミング
・伝えるための指示書を書くには、プログラミング言語で書く。
・Codey Rocky(ロボット)にプログラミングを書くためのソフトウェアが「mBlock5」
・「mBlock5」はブロックをつなぎ合わせて簡単にプログラムを組むことが可能