子どもたちは笑顔を認識する複雑なロボットを簡単にプログラムできるようになった 子どもたちは笑顔を認識する複雑なロボットを簡単にプログラムできるようになった

子どもたちは笑顔を認識する複雑なロボットを簡単にプログラムできるようになった

子どもたちは笑顔を認識する複雑なロボットを簡単にプログラムできるようになった

急速に変化する雇用市場で競争するために必要な基礎を次世代のプログラマーやエンジニアに提供すると謳うおもちゃは、市場に数多く存在します。しかし、子供向けプログラミング製品が溢れる中、Ankiのホリデーシーズンの目玉であるロボット「Cozmo」のアップデート版は、顔認識などの高度な機能を備えた複雑なマシンを、将来のプログラマーを目指す子供たちに体験する機会を提供します。

昨年の発売以来、人々との感情的な繋がりを『ウォーリー』のような形で生み出すことを目的に設計された、この可愛すぎる歩行ロボットは爆発的な人気を博し、確固たるプラットフォームとなっています。ロボット本体とコンパニオンアプリの間で160万行ものコードが実行される複雑な機械でもあります。この愛らしいロボットは、個々の顔や表情を認識し、人間の感情を真似ることができます。AIを活用した「パーソナリティエンジン」により、特定のゲームを何度もプレイした後に興味を失うなど、人間を模倣することができます。

Cozmoの発売以来、大学生をはじめとする人々がソフトウェア開発キットを使ってプログラミングを行ってきました。しかし、そのためには一般的なプログラミング言語であるPythonの知識が必要でした。しかし、月曜日に状況は一変しました。Ankiが、MITメディアラボで開発されたグラフィカルプログラミング言語Scratchをベースにしたシンプルなビジュアルシステムを通じて、初心者のコードライターにCozmoの脳を開放したのです。Ankiはこの新機能を「Code Lab」と呼んでいます。

画像を使ったプログラミング

Code Labでは、高度な概念を表すブロックをドラッグ&ドロップすることで、基本的なプログラムを作成できます。例えば、子どもは、Cozmoに誰かが笑顔になる(笑顔で表されている)まで待つ(砂時計で表されている)よう指示するブロックから始まる簡単なプログラムを作成できます。次のブロックでは、ロボットに運転を指示するかもしれません。初心者のプログラマーがこのプログラムを実行すると、Cozmoは笑顔を検出するまで動きません。

現在、グラフィカルコードは「水平文法」と呼ばれる方法で左から右へ実行されます。Code Labの次期リリースでは、上から下へ実行される「垂直文法」が採用され、より複雑なアクションを組み込むことができます。これには、プロのプログラミング言語で使用される条件文「if-then-else」などのよく知られたコマンドも含まれます。

Pythonのような言語はテキストベースですが、AnkiのCode Labは10年前に登場したグラフィカルプログラミング言語Scratchをベースにしています。(言葉ではなく絵文字をイメージしてください。)その結果、Ankiは顔や表情を認識するといった高度な機能を持つ複雑なロボットを非常に簡単にプログラムできるようになりました。

「私たちは、子供たちや全くの初心者でさえも、本物のロボットツールや機能を使えるようにする方法を模索しています」と、Ankiの社長兼共同創業者であるハンス・タッペイナー氏は語る。「『本物』というのは、ライトが点滅したり、ロボットがまっすぐ走ったりするという意味ではなく、顔認識、顔追跡、表情認識といった機能のことです」

コードラボ
シンプルなプログラム。Anki

子供の命令に従うロボット

Cozmoは、LEGO Mindstorms EV3など、既に市場に出回っている子供向けのプログラミングロボットの仲間入りを果たします。プログラミングを志す人は、LEGOが開発したビジュアル言語を使ってこのシステムをプログラミングできます。この言語では、アクションなどの機能をグラフィカルブロックで表現します。8月には、LEGOは5歳から12歳までの子供向けの独自のビジュアルプログラミング言語を搭載した、LEGO Boostという新システムをリリースする予定です。しかし、EV3には触覚や色覚などの刺激に反応できるセンサーが搭載されているとはいえ、どちらのシステムも顔認識機能は備えていません。

子どもたちは、Googleが開発したビジュアルプログラミング言語「Blockly」や、これらのロボットを開発しているWonder Workshopが開発した「Wonder」を使って、「Dash」や「Dot」といったロボットをプログラミングすることもできます。Dashは距離センサーとマイクを搭載しており、話している人の方を向いたり、周囲の他のロボットを認識したりすることができます。

テクノロジーを創造性に活用する

MITメディアラボは2007年にScratchを開発し、AnkiはGoogleとMITの共同開発によるオープンソース版「Scratch Blocks」を活用しています。Scratchを使う子どもたちは「他のあらゆるプログラミング言語にとって重要な、計算の核となる概念を学んでいる」と、MITメディアラボの学習研究教授であり、Scratchの開発者の一人でもあるミッチェル・レズニック氏は述べています。

結局のところ、テクノロジーをおもちゃにどう組み込むかが重要だとレスニック氏は言います。「新しいテクノロジーを単に娯楽や教育のためだけに使うのではなく、子供たちにデザイン、創造、実験、そして探求の機会を提供することが本当に重要だと思います」と彼は言います。