Codey Rockyとは?

Codey Rockyの合体スクリーンショット

※出典:Makeblock社HP https://www.makeblock.com/

 

 Codey Rocyとは、中国のSTEM教育用のロボットなどを開発する急成長中のベンチャー企業「Makeblock社」が開発した、AI・IoT対応STEM教育用ロボットです。
 LED液晶パネル付き本体「Codey」とキャタピラー付き車体「Rocky」を自由に組み合わせて遊び感覚でプログラミングが学べます。

 こちらのサイトでもかなりのページを割いてご紹介しているMakeblock社のmBotシリーズは、ロボットを組み立てて、プログラミングし、さらに様々な電子モジュールを追加して、オリジナルのロボットを作ることができるSTEM教育の為のロボットプログラミングDIYプラットフォームで、主に8歳以上(小学2~3年生以上)からを対象としています。

 一方、このCodey Rockyは、6歳以上(年長~小学校低学年)を対象としています。mBotと違って、ロボットを組み立てるということはせず、すでに完成しているCodey Rockyをスマホアプリや、PCでリモート操作したり、プログラミングしたりします。
 
 後でレビューをしていきますが、個人的には、確かに、低年齢のお子さんから楽しめますが、このCodey Rockyのインターネット接続を生かしたIoTやAI連携
機能を考えると、本当に楽しめるというか、学びの役に立つのは、むしろ中学生以上で、PCも自由に使いこなせて他のサービスやデバイスとの連携したプログラムを想像できる様になってからじゃないかと思います。
 クラスを運営する先生としては、カリキュラムの作り甲斐がありますねえー。

Makeblock社のCodeyRocky紹介ページのスクリーンショット画像

出所:Makeblock社HPより

 

 ↑は、Makeblock社のHPの画像ですが、小さいころから、最先端のテクノロジーに楽しく触れてもらい、親しみながら学んでもらおうという意図がこのCodey Rockyには込められているようですね。

 mBotシリーズと同様にスクラッチベースの無料ビジュアルプログラミングソフト「mBlock」を活用するなど、Makeblock社の他の製品と共通する特徴のほかにも、Codey Rockyならではの特徴があります。その辺りを見ていきましょう!

ビジュアルプログラミングソフト「mBlock5」でPythonまで対応

 Codey Rockyは、mBotと同じく、スクラッチベースのビジュアルプログラミングが可能です。つまりブロックでプログラムすることができます。
 Makeblock社では、ビジュアルプログラミングソフトウェアとして、「mBlock」というソフトウェアを、同社のユーザー向けに無償提供しています。「mBlock」には、PC向けソフトとスマホ・タブレット向けのアプリがあります。

 PC向けには、さらに「mBlock3」と「mBlock5」があります。Codey Rockyは「mBlock5」でプログラミングすることになります。

※「mBlock3」と「mBlock5」の違い
 「mBlock3」は、主に、mBotシリーズ=Arduino互換ボードを使うロボットキットのプログラミングで利用します。
 これまで、「mBlock5」は、Codey RockyやNeuronが主な対象でしたが、アップデートが行われて、今は、mBot/mBot Ranger/Codey Rocky/Neuron/Arduino UNO/Arduino mega2560/microbitに対応。次期新製品のMotionblockやHalocodeにも対応となっております。
 今後、「mBlock3」ではなく、「mBlock5」をメインでアップデートされていくはずです。
 

 mBotをmBlock5でビジュアルプログラミングをした後、スクリプト(プログラムのソースコード)をアップロードする際に、Arduino言語に変換します。ビジュアルプログラミングを学習するだけでなく、Arduino言語でプログラミングすることも可能なので、ビジュアルプログラミングのその先、より応用学習が可能になります。

 一方、CodeyRockyをmBlock5でビジュアルプログラミングすると、クリック一つで直ぐにPythonというプログラミング言語に変換される様になっています。

 このPython(パイソン)というプログラミング言語は、今、注目の言語で、WindowsやLinux、Macなど、様々な環境で動作でき、コード自体は比較的シンプルに書くことができるため、初心者にとって、学びやすい言語といわれています。

 Pythonは、WEBアプリケーションの製作(Instagramは、Pythonで書かれているそうですよ)や、IoT開発で使われるラズベリーパイというマイコンボード(小型の簡易PC)への組み込みソフトウェアを開発する際にも使われています。

 私自身は、特にプログラミングに精通しているというわけではないのですが、職場には、組み込み系のC言語使いやJavaを駆使するアプリエンジニアなど、様々なエンジニアに囲まれていて、日常的に、ソースコード、使用言語などが話題に上る環境に身を置いています。
 そんな私として思うのは、子供の時から何かしらのプログラミング言語をかじっておくのは、将来的に絶対に無駄にならないのと思う(プログラミングを学ぶ際に自然に身につく論理的思考として・あるいはその言語を知っているという教養的知識として)ので、このPythonを学ぶ道が作られている教材(学習ツール)というのは、親としても、Codey Rockyを買う理由になるかなって思ったりはします。

mBlock5のブロックからPython変換GIF画像

出所:Makeblock社HPより

 

 仮に、本格的にPythonでプログラミングをやりたくなれば(子供がそこまで言い出すのは大分上の年齢になると思いますけど)、クリック一つでmBlock5をPythonのソース変換して、見比べたり出来ますので、ビジュアル言語からテキスト言語に移行する際の障壁は少しは低くなるでしょう。

mBlock3とmBlock5のダウンロード画面のスクリーンショット

出所:MakeblockのHP内のDLページ http://www.mblock.cc/software-1/mblock/

 スマホ・タブレット向け(Andoroid/iOS)のアプリのmBlockには、ちょっとした使い方やプログラム学習のレッスン機能もついていて、ブロックプログラミングもできますが、操作性としては、PCには負けるので、スマホ・タブレット向けアプリは、Codey Rockyのリモコン機能として活用するのが最適かと個人的には思います。

高機能なハードウェア

 Codey Rockyの本体、ハードウェアのスペックは低年齢の子供向けのツールとして見た場合、かなり高いと思います。

Codey 10種類以上の電子モジュールを搭載したロボットの頭脳

 Codeyは、制御基板を搭載した頭脳部分です。Makeblock社のmBotシリーズと大きく違うのが、Bluetooth接続だけでなく、Wifi接続が可能、つまり、ロボット単体でインターネット常時接続が可能になっている点です。

ちょっとマニアックな話になりますが、Codeyに制御基板に搭載されているメインマイコンは、「ESP32」で、これは、IoTデバイス開発の世界ではかなりスタンダードになっているマイコンです。何といっても、WiFi/Bluetooth通信に両方対応しつつ、安価であるから。

Codey搭載モジュール説明のスクリーンショット

※出典:Makeblock社HP https://www.makeblock.com/

 

 入力系のモジュールでは、明るさの強度を測定する光センサー・周辺の環境音の大きさを測定する音声センサー・傾きや角度を検出する6軸ジャイロセンサーを搭載されています。これらのセンサーは、mBotの標準本体キットには搭載されていないく、mBot Rangerと同じレベルのセンサー機能が搭載されています。その他にもボタンや赤外線送受信機が搭載されています。赤外線送受信機を使って、複数のCodey Rocky間での通信や、赤外線リモコンが利用ができるようです。

 出力系の電子モジュールとしては、RGBLED、8×16のLEDマトリクス、スピーカーが搭載されています。mBotにはないLEDマトリクス・スピーカーが搭載されているので、よりプログラミングの幅が広がるようになっていると思います。個人的には、やっぱり、LEDマトリクスのような表示ディスプレイは、この手のプログラム教育ロボットには必須の機能だと思います。

Rocky センサーを搭載したスマートカー

 Rockyは、Codeyを載せて、その命令で自由自在に動くスマートカーといったところです。その場で回転したりできるので、結構小回りが利く優れもので、さらに、赤外線近接センサーでの障害物検知・距離測定、カラーセンサーでの色識別、グレースケールセンサー(白・黒判別が可能)でのラインフォロワー制御などが可能になっています。mBotの超音波センサーは大きいので、小型化のために赤外線にしたんですかね。キャタピラは、DCギアモーターでの制御のようです。

Rockyハードウェア解説画像スクリーンショット

※出典:Makeblock社HP https://www.makeblock.com/

Codey RockyとmBotの違い

 Makeblock社の代表的ロボットキットのmBotとCodey Rockyの違いは何でしょうか?↑で書いたように対象年齢が違うというのもありますが、実際には、Codey Rockyのほうが、mBotより高度なことができる機能もあります。私なりに考えた違いは以下です。

CodeyRockyは、機構構造は学べない

Codey Rockyは、他サービスとの連携機能がかなり強化されている

基本キットの製品スペックは、CodeyRockyの方が上である

 mbotがcodeyrockyと同じ機能を持たせるには、mBotに加えて+拡張モジュール(LEDマトリクス・カラーセンサー・オーディオプレーヤー・)をつける必要があります。基本キット比較では、Codey Rockyのほうがスペックは上ですね。特にLEDマトリクスがあるとないのでは、大分できる事が違うと思います。→mBotへのLEDマトリクス拡張方法ページもご覧ください。

 mBotは、様々な電子モジュール・機構部品をもとにロボット自身の機能を増やしていくことができるという意味で、拡張性が高いといえ、一方で、Codey Rockyは、それ自身の機能を増やすことは出来ませんが(Neuron連携で可能といえば可能ですが。。)、WiFi通信によるインターネット接続により、mBlock5サーバーからのデータを受け取ったりすることが出来ます。今後、mBlock5サーバーの機能が拡張されれば、他機種との連携なんかもできるんじゃないでしょうか。(2019年4/5現在、Makeblock者以外の外部機器との連携現在は出来ません)

Codey RockyとmBotの比較画像

CodeyRockyとMakeblock社のシングルマイコンボードHalocodeとの連携なんかは可能です。

CodeyRockyの惜しいところ。。

コーディーロッキーとPCはUSBケーブルで接続する

PCとCodey RockyのUSB接続

 
 PCにBluetooth機能がついていても、PCとCodey Rockyは基本的にはBluetoothで接続ができません。Bluetooth接続したい人は、別途Makeblock社のBluetoothドングルを購入して、それをPCのUSBポートにさす必要があります。

 下の動画は、Makeblock社のHPより引用したものですが、Codeyに内蔵されているジャイロセンサーのデータをBluetoothでPCに送信して、そのデータをもとにmBlockのスクリプトが動くようなものになっています。
 PCは見たところMicrosoftのSurfaceで、PC側としてBluetoothは対応していますが、にもかかわらず、BluetoothドングルをUSBポートに挿してデータを受けています。

※出典:Makeblock社HP https://www.makeblock.com/

 CodeyRockyの商品箱の中に、明らかにBluetoothドングルを入れると思われる場所があって、私が入手した日本版ではそこに何も入っていなかったので、おかしいなあと思っていたのですが、海外版ではそこにドングルが入っていると思われます。↓がその証拠写真(笑)

CodeyRockyの箱には、Bluetoothドングル入れるであろう場所があるが、日本版には同梱されていない

 折角のCodey Rockyのポテンシャルが、日本国内で使う場合に十分に生かされないのはもったいないです。実際普通にプログラミングの学習をするというときも、この点は、かなり使いにくいので、出来れば、本体にBluetooth受信USBドングルが同梱されるように改善してもらいたいですね。

※2019年1月27日追記
 Bluetooth受信ドングルが日本でも個別に購入できるようになりました。現在ざっと見ると、こちらのJ-Roboで手に入るようです→Makeblock専用Bluetoothドングル 
makeblockの日本支社の人にサンプル見せてもらったんですが、ちゃんと技適マークありました(笑)。

※2019年2月5日 追記 MakeblockのBluetooth送受信ドングルレビューしました!
参考記事:待望!Makeblock専用PC受信Bluetoothドングルレビュー

Codey Rockyで学ぶ大人のロボットプログラミング講座

こちらのサイトでは、プログラミングって?という大人・社会人向けにCodeyRockyを活用したプログラミングWEB講座を連載しました。

第一回:プログラミングとは
第二回:イベントとは
第三回:順次処理とは
第四回:繰り返し処理とは
第五回:条件分岐処理とは
第六回:演算とは
第七回:定義とは
第八回:変数とは

CodeyRockyの特徴1
CodeyRockyの特徴2
CodeyRockyの特徴3