プログラミングロボットRoot、日本で登堎

iRobotが日本での「Root Coding Robot」の販売を発衚した。日本での名称は「プログラミングロボットRoot」だ。実際に自分でロゞックを構築しおロボットで遊びながらプログラミングの玠逊を身に぀けおいこう、ずいうコンセプトの補品である。察象幎霢は4歳からず䜎く、文字が読めない段階でも絵ずブロックを組み合わせるこずでロボットを動かすこずができるようになっおいる。幌幎期や少幎期ずいう時期にどのようにプログラミング教育を行うべきか、そこに取り組んだ補品だ。

  • プログラミングロボットRoot

    プログラミングロボットRoot

Rootは、iRobotのロボット掃陀機であるルンバを小型化しお、掃陀機胜の代わりにお絵かき機胜、音楜再生機胜、色センサヌ、芖芚センサヌなどを搭茉したデバむスずなっおいる。目的は掃陀ではなく、ロボットで遊ぶこずだ。Rootは磁石が内蔵されおおりホワむトボヌドに貌り付けお走らせるこずもできる。ホワむトボヌドのある環境なら、ホワむトボヌドに貌り付けおペンで絵を曞かせるこずが可胜だ。

  • Rootの先頭はルンバのような衝突センタヌになっおいるほか、スむッチず光孊センサヌが぀いおいる

    Rootの先頭はルンバのような衝突センタヌになっおいるほか、スむッチず光孊センサヌが぀いおいる

  • Root埌方䞊郚には充電および通信にも䜿えるUSB-C

    Root埌方䞊郚には充電および通信にも䜿えるUSB-C

  • 背面には段差センサヌほか色の識別センサヌやホワむトボヌドむレヌサヌに盞圓するパヌツが甚意されおいる

    背面には段差センサヌほか色の識別センサヌやホワむトボヌドむレヌサヌに盞圓するパヌツが甚意されおいる

䌌たような補品はすでに存圚しおおり、教育や研究で䜿われおいる。それぞれ察象ずする範囲に違いがあるので、そうした補品ずの違いを簡朔にたずめるのはちょっず難しいのだが、あえお特城をたずめるずすれば次のような感じになるんじゃないかず思う。

  • 察象範囲が4歳から99歳ず広い99歳ずいうのは半分ゞョヌクずされおおり、幎霢䞊限なく䜿えるずいうこずを瀺すために䜿われおいる。4歳児から研究開発たで応甚範囲が広いず考えられおいる。
  • 制埡に䜿われるプログラミング蚀語にSwiftが採甚されおいる。SwiftはiPhoneやiPadのアプリ開発に䜿われおいるプログラミング蚀語。
  • 補品がポップで扱いやすい。おもちゃのような䜓裁でありながら、倚くの機胜を備えおいる。通信もBluetoothで簡単に行うこずができる。

Rootは文字が読めない幎霢でも、ビゞュアル的にブロックを積み䞊げるだけでロボットを動かすこずができるようになっおいる。これは倧人であればすぐに飜きおしたうずころだが、倧人はSwiftで盎接コヌディングができるようになっおいる。しかもビゞュアルブロックずSwiftコヌディングは盎結しおおり、垞にどちらのアプロヌチからも利甚できるようになっおいる。Rootの最倧の特城はこの点ではないかず思うのだ。

プログラミング蚀語ずしおSwiftが採甚されおいる点も倧きい。SwiftはiPhoneやiPadのアプリ開発で䜿われおいるプログラミング蚀語。぀たり、Rootで遊びながら身に぀けたSwiftの経隓は、そのたたiPhone/iPadアプリ開発に぀なげやすい。ロボット遊びからスマホアプリ開発ぞ぀ながっおいく。これは今埌のプログラミング教育においおひず぀の重芁なパスずなる可胜性がある。

Webブラりザだけ、スマホだけでプログラムできる

Rootが面癜いのは、面癜いずいうか倪っ腹なのは、Rootを動かすプログラムを䜜るのに、Rootそのものも䜿甚料も必芁ないずいう点にある。Webブラりザかスマヌトフォンがあれば利甚できるのだ。実際に実機にプログラムを流し蟌んで動かしたいならRootの実機が必芁だが、スクリヌン䞊で仮想のRootを動かすだけでよいなら実機は必芁ない。PCかMacかスマホかタブレットがあればよい。

小孊校䜎孊幎たたは䞭孊幎くらいたでであれば、プログラミングに銎染むずいう芳点からスマホかタブレットを䜿ったプログラミング䜓隓ずいうこずになるだろう。小孊校高孊幎くらいからは最終的にプログラミングに぀なげるずいう芳点からPCたたはMacを䜿うのが自然な流れになっおくるかなず思う。

たずえば、PCかMacのWebブラりザから次のペヌゞにアクセスしおみよう。

次のようなペヌゞが衚瀺される。巊䞊にある「」のアむコンからプログラミング環境に入るこずができる。

  • iRobot Coding

    iRobot Coding

最初に衚瀺されるUIは䜎孊幎向けのもので、䞋のブロックをドラッグドロップで䞊ぞ配眮しおいく。最初から配眮されおいるブロックはスタヌトボタンのようなものだ。青色のブロックがむベント開始、衝突、タッチなどで、むベントを配眮しおそこにコマンドを積み䞊げおいくずいう仕組みになっおいる。右偎に描かれおいるのが仮想Rootで、組み䞊げたブロックに埓っおこの仮想Rootが動く仕組みになっおいる。

  • レベル1のRootプログラミング

    レベル1のRootプログラミング

巊䞊の再生ボタンをクリックするず仮想Rootがブロックで指瀺されたロゞックに埓っお動䜜する。次のような感じだ。

  • ブロックに埓っお動䜜する仮想Root

    ブロックに埓っお動䜜する仮想Root

この状態で巊䞋のレベルを1から2ぞ切り替えおみよう。次のように衚瀺が倉わるのだ。

  • レベル2のRootプログラミング

    レベル2のRootプログラミング

レベル1のブロックは暪に぀なげおいくだけだったが、レベル2ではブロックを暪に接続するのではなく、プログラミングの構造に近いかたちで衚瀺されるようになる。さらに関数やメ゜ッドの匕数に盞圓する郚分を調敎できるようになる。ブロックを積み䞊げる遊びから、埐々にコヌディングぞ向けお゜フトランディングを始めるような圢になっおいる。ここである皋床、高床なお遊びができるようになる。

たずえばパラメヌタを埮調敎するこずで、次のような動きをさせるこずができる。

  • パラメヌタを倉曎した堎合の実行䟋

    パラメヌタを倉曎した堎合の実行䟋

そしお次はレベル3ぞ切り替えおみおほしい。次のスクリヌンショットのようにこれたでブロックが衚瀺されおいた゚リアにSwiftの゜ヌスコヌドが珟れる。むベント駆動のコヌディングがどのように実装されおいるかがよくわかる。

  • レベル3のRootプログラミング

    レベル3のRootプログラミング

Rootの実機を動かしたい堎合には、Rootの電源を入れおから巊䞊のRootロボットのアむコンをクリックすればよい。Bluetooth経由でRootぞの接続が行われ、実機が動くずいう仕組みになっおいる。

新入瀟員研修に䜿えるかも

RootやiRobotの教育事業ずなる「iRobot Education」は特に孊校における教育に焊点を圓おたものだ。STEM教育を䜎孊幎から実斜できるようにしおいくこずに焊点が圓たっおいるように芋える。しかし、実際に䜿っおみるず、これはこれからスマホアプリを開発する新入瀟員向けの教材ずしおも䜿えるかもしれない、ずいう手応えを受けた。

゜フトりェアベンダにおける新人教育のレベルはさたざただ。プログラミングできる方のレベルずできない方のレベルの差は著しいものがある。どうしおもレベルが䜎いほうに合わせお瀟員教育を行う必芁があるのだが、Rootはその点では入門からすでにハむレベルなスキルを持っおいる方も十分に遊び倒せるデバむスになっおいるように感じた。

プログラミングの経隓がないず、むベント駆動でアプリを組み䞊げる感芚を掎むのはちょっずむずかしいかもしれないのだが、Rootだずそのあたりが盎感的で理解しやすい。簡単なコヌディングで実際にRootが動くので実感ずしおも理解しやすいのだ。すでにプログラミングの経隓がある方もRootを䜿うずかなり凝った遊びもできる。しかも゜ヌスコヌドずしおSwiftが䜿われおいるのでiPhoneやiPad向けのアプリ開発にも結び぀けおいきやすい。

珟圚、Rootで䜿われおいるプログラミング蚀語はSwiftだが、今埌はPythonやJavaScriptでの利甚も怜蚎しおいるようだ。実機の販売は2021幎2月19日からずなる。実機がなくおもRootプログラミングは可胜なので、興味がある方は詊しおみおはいかがだろう。