ルンバのような外観のプログラミングロボット「Root(ルート)」を動かして遊んでみました。専用プログラミングツールの使い方や、実際に作ったプログラムも紹介します。

Rootとは?

Root(ルート)は、「ルンバ」や「ブラーバ」といったロボット掃除機でおなじみの、iRobot(アイロボット社)が作ったプログラミング教材のこと。ロボット掃除機風のデザインの小型ロボットを動かすための「プログラム」を自分で作り、実際にロボットを動かしながら、プログラミングを学ぶことができます。

画像: ロボット本体のほか、走行場所となるシートや充電ケーブル、マーカー、装飾用のステッカーなどが付属する。

ロボット本体のほか、走行場所となるシートや充電ケーブル、マーカー、装飾用のステッカーなどが付属する。

Rootでできること

ロボットの先端にある黄色い部分が電源ボタン。十字の部分にはLEDライトが搭載されていて、好きな色に光らせることができます。また、スピーカーも内蔵されているので、音を鳴らすことも可能。

画像: サイズは直径14cmほど。大人の手のひらにやっと乗るくらいのサイズだ。

サイズは直径14cmほど。大人の手のひらにやっと乗るくらいのサイズだ。

先端の黒い部分は「バンパー」とよばれ、カチカチと押すことができる構造になっています。これを使って「バンパーが押されたときには、この動きをさせる」というプログラムを作ることができます。

画像: バンパーは左右それぞれに装備されている。

バンパーは左右それぞれに装備されている。

また、本体の表面の白い部分にも、タッチを検知するセンサーが搭載されています。こちらも同様に、プログラムの中で「ロボットがタッチされたら、〇〇をする」といった設定をしたいときに使います。

十字の中央の穴は、ホワイトボードマーカーを差し込むためのホルダーです。内側にツメがあり、しっかりとペンを支えることが可能。この部分はプログラムで上下に動かせるようになっており、マーカーを下げた状態でロボットを走らせることで図形などを描くことができます。

画像: 市販のマーカーもサイズが合えば装着可能。

市販のマーカーもサイズが合えば装着可能。

裏面には、「2つのタイヤ」と色を検知する「カラーセンサー」、そしてホワイトボードマーカーを消すための「イレイサー」が搭載されています。また、裏面には強力な磁石も入っているので、ホワイトボードに貼り付けて、上下に走らせることも可能です。

画像: カラーセンサーでは、通過した場所の色を検知できる。

カラーセンサーでは、通過した場所の色を検知できる。

遊ぶための準備

充電は、本体上部のUSB-C端子を使ってパソコンのUSBポートやコンセントから行えます。充電端子が十字部分の端にさりげなく付いていて、デザインと一体化している点もしゃれています。

画像: 充電が完了するとライトが黄色から緑色に変わる。

充電が完了するとライトが黄色から緑色に変わる。

プログラミングをするためのツール「iRobot Coding」には、パソコンのブラウザからアクセスするWebアプリと、スマホ/タブレット用アプリがあります(下記)。今回はiPadのアプリを使いました。

画面中央の「+」ボタンから新しいプログラムの作成が可能。その右側には、これまでに作ったプログラムが並びます。また、アプリからは使い方のガイドを確認したり、お手本のプログラムを見たりすることもできます。

画像: 初めてでも使いやすいシンプルな画面構成。

初めてでも使いやすいシンプルな画面構成。

もうひとつ重要となるのが「遊ぶ場所」の確保です。Rootは付属のホワイトボード素材のシートの上で動かしますが、シートのサイズが64cm四方と大きいので、広めのテーブルや床などに場所を確保する必要があります。

画像: 意外と広いスペースが必要になる。

意外と広いスペースが必要になる。

Rootでのプログラミングのやり方

プログラミングの方法は、初心者向けの「レベル1」、中級者向けの「レベル2」、上級者向けの「レベル3」の3段階に分かれています。

画面の下に並んでいるのが、ロボットの動きを決めるための「ブロック」というパーツ。これを上のスペースに「ドラッグ&ドロップ」して、パズルのようにつなげていくことで、プログラムが完成します。

画像: プログラミングの知識がなくても、直感的に使うことができる。

プログラミングの知識がなくても、直感的に使うことができる。

また、右側のスペースは作成したプログラムの動きを画面上で再現できるシミュレーターです。実際にロボットを動かす前に、プログラムが正しく作れているかを確認できます。

なお、ブロックは、動作を開始するきっかけを決める「イベント」、前進や回転などの動きをする「コマンド」、ライトを光らせたり移動速度を変えたりする「セット」、動きの細かい条件を決める「せいぎょ」などのカテゴリーに分かれて並んでいるので、目的のものをスムーズに探すことができます。

ちなみに、各ブロックの意味や使い方は、アプリトップ画面にある「コーディングヘルプガイド」で確認できます。このガイドは、Rootの公式サイトからも見ることができるので、ガイドを参照しながらアプリでプログラミングをしたい場合は、パソコンなど他の端末でガイドを表示しておくとスムーズです。

初心者向けの方法

「レベル1」では、絵で表示されたブロックを使ってプログラムを作成します。たとえば、ロボットをタッチしている絵のブロックの後に、ロボットが前に進んでいるブロックと、回転しているブロックをつなげると、「①ロボットがタッチされたら、②前進させて、③その後回転させる」というプログラムになります。

画像: 絵で動きが表示されているので、小さな子どもでも使うことができる。

絵で動きが表示されているので、小さな子どもでも使うことができる。

各ブロックをタップすることで、ロボットを何センチ進めるのか、どのくらい回転させるのかといった設定が可能です。

画像: 前進だけでなく、後退させる動きも可能だ。

前進だけでなく、後退させる動きも可能だ。

中級者向けの方法

「レベル2」も、レベル1と同様にブロックをつなげてプログラミングを行いますが、より多くのことを行えるようになります。

たとえば、ロボットを走らせるブロックなら、レベル1では、移動距離を「-16cm〜16cm」の間で1cm刻みでしか指定できなかったのに対して、レベル2は、小数点以下も含めて数字で自由に指定することが可能です。

画像: レベル2では、より細かい動きを指定できるようになる。

レベル2では、より細かい動きを指定できるようになる。

また、レベル2では、特定の条件に当てはまる場合だけ指定した動きをさせる「もし」などの、少し複雑な動きのためのブロックも使えるようになります。

さらに、プログラム内の数字を計算したり、ランダムな数字を出したりといったことも可能。ロボットの速度を徐々に速くしたり、ライトをランダムな色で光らせたりする場合に役立ちます。

これらのブロックは、最初は使い方がイメージしづらいかもしれませんが、慣れてきたらお手本のプログラムなどを参考に挑戦してみると、できることの幅が大きく広がりますよ。

上級者向けの方法

「レベル3」では、英数字や記号を使ってプログラムを書く「テキスト言語」を使います。テキスト言語にはさまざまな種類がありますが、Rootで採用されているのは、iPhoneアプリの開発などにも使われる「Swift(スウィフト)」という言語です。

テキスト言語を使うといっても、キーボードを使って1からプログラムを入力する必要はありません。動きの種類ごとに「ひとまとまりのテキスト言語(コード)」が用意されているので、それを「ドラッグ&ドロップ」して並べていけばOK。レベル2までと同じ感覚で進めることができます。

画像: ステップ3では、テキスト言語を使った本格的なプログラミングを体験できる。

ステップ3では、テキスト言語を使った本格的なプログラミングを体験できる。

細かい数値の指定などは、コード内の該当部分をタップ。これまでのレベルと同様にわかりやすい設定ウィンドウが現れます。

画像: これまでのステップと同様に動きを示す絵が表示されるので設定しやすい。

これまでのステップと同様に動きを示す絵が表示されるので設定しやすい。

なお、レベルの切り替えは、画面左下のタブから簡単に行えます。レベル1で作ったプログラムをレベル2に切り替えて違いを確認したり、そこからさらに、レベル3に切り替えることでテキスト言語ではどのように記述されるのかを覚えたりと、段階的にステップアップできるのがいいですね。

ロボットを動かしてみた

ではいよいよ、実際にロボットを動かしてみたいと思います。レベル2を使って、簡単なプログラムを作成してみました。

付属のシートの上で動かす

今回作ったプログラムは、①ロボットをタッチすると、②音が鳴った後に、③ライトが点滅を始め、④ホワイトボードマーカーで、⑤六角形を描きながら走る、というもの。

なお、六角形は、「まっすぐ走る」→「60°回転する」の動きを6回行うと描くことができます。同じ動きの繰り返しなので「くりかえし」ブロックを使いました。

画像: 最初は短めのプログラムから挑戦するとよい。

最初は短めのプログラムから挑戦するとよい。

実際にロボットを動かす前に、シミュレーターを使って画面上で動きを確認しましょう。まずは画面左端の「▶」をタップします。今回のプログラムでは、ロボットをタッチするとプログラムが始まるようになっているので、画面上でも同じようにロボットの画像をタップ。一連の動きが再現されました。

画像: シミュレーター上でロボットが図形を描いている。

シミュレーター上でロボットが図形を描いている。

アプリとロボットは、Bluetoothで接続します。画面上部のプログラム名の横のアイコンをタップした後、表示されるロボットの絵をタップすれば接続が完了します。最後に「かんりょう」をタップしてウィンドウを閉じましょう。

画像: アプリとロボットを接続すると、実際に動かせるようになる。

アプリとロボットを接続すると、実際に動かせるようになる。

付属シートの上にロボットを置いて、マーカーを差し込んだら、アプリの「▶」ボタンを押してプログラムを開始。想定どおりロボットを動かすことができました。

画像: 無事にロボットが動き出した。

無事にロボットが動き出した。

ホワイトボードの上で動かす

冒頭で触れたとおり、マグネットの入ったホワイトボードにロボットをくっつけて走らせることもできます。おそらく、学校の教室で使うケースを想定した仕様だと思います。家庭でも、ホームセンターなどで売られている、壁掛けタイプの少し大きめのホワイトボードがあれば楽しむことが可能。床やテーブルにシートを広げるスペースを確保するのが難しい場合の選択肢として、よいのではないでしょうか。

せっかくなので、ホワイトボードでしか使えない機能を使ってみたいと思います。Rootの裏面にはイレイサーが搭載されていますが、実はこれが使えるのは、ホワイトボード上で走らせる場合のみ。マーカーを消すには、本体がある程度の強さで走行面に押しつけられている必要があり、付属シート上の走行では密着度が足りないためです。

先ほどの図形を描くプログラムの後に、描いた線をイレイサーで消しながら走るプログラムを追加してみました。

画像: 後半にイレイサーを使ったプログラムを追加。

後半にイレイサーを使ったプログラムを追加。

マーカーをセットしたロボットを貼り付けて、プログラムを開始。六角形を描きながら走った後、イレイサーでそれを消しながら同じ場所を走っています。

画像: マグネットが強力なので、ずり落ちることなくしっかり走る。

マグネットが強力なので、ずり落ちることなくしっかり走る。

なお、走行面がグラついていると、ロボットがうまく動かない場合があるので、上から吊るすタイプのホワイトボードは、粘着テープなどを使って下端も壁に固定したほうがよさそうです。

まとめ

ルンバでおなじみのiRobot(アイロボット社)が作ったプログラミングロボット「Root(ルート)」は、楽しみながらプログラミングを学ぶことができるアイテムです。プログラムの作成は、Webアプリやタブレットから簡単な操作で行うことができ、レベルが3段階に分かれているので、徐々にステップアップしていくことも可能です。

家庭でプログラミング学習を始めたいけれど何をしたらよいか分からない、飽きずに取り組めるプログラミング教材を探しているという場合は、ぜひ検討してみてはいかがでしょうか。

文◆酒井麻里子(ITライター)
スマホ、PC、ガジェットなどのデジタル製品レビューや、アプリ・サービスの解説記事などを執筆。Twitter(@sakaicat)では、デジタル関連の気になる話題や、ちょっと役立つ小ネタを発信。

This article is a sponsored article by
''.