世界初のモバイル型ロボット電話「ロボホン」(RoBoHoN)。スマートフォンである以上アプリが使え、アプリによって日々進化するのがロボホンともいえる。最近は、『ロボ会話』という2台のロボホンが友達になるというアプリまで登場しているではないか(猫の集会みたい)。そこで、自分でもロボホンで動作するアプリを作ってみたいという思っている人も少なくないはずだ。
ロボホンには、基本ソフトとしてスマートフォンとしてはポピュラーなAndroid 5.0が採用されている。ロボホンの開発環境であるSDKは一般ユーザーにも公開されていて、より多くの開発者がかかわることで飛躍するいまどきのプラットフォームになっているといえる。それでは、ロボホンの開発ってどのようにやるのものなのか?
ロボホンアプリに関しては、10月30日〆切のコンテスト「快適IoT」でも、ロボホン賞が設定(詳しくは文末で紹介)。また、業務用のコミュニケーションロボットとして、アプリ開発を進めている会社も多いという。そこで、今回は、シャープ株式会社の和田浩志さんにロボホンアプリ開発についてお聞きするとともに、日高正博さんにロボホンアプリ開発をレポートしてもらった。
「問」と「答」を書いておくだけで対話アプリができる
―― ロボホンアプリは、どんなふうに開発するんですか?
和田 たとえば、喋ることをテキストで書いておくだけでもかなりのことができます。ロボホンが、“こう聞こえたら”、“こう答える”というふうに記述しておきます。
―― 具体的には、どんなソフトを使うんでしょう?
和田 Androidなので、Android Studioという開発ツールを使うんですけど、最近、SDKをアップデートしましてテンプレートを使えるようにしました。起動すると「ロボホン」というのが表示されるようになって、簡単なアプリケーションであれば作ってすぐにロボホンで動かせるようになりました。
―― ふつうのスマートフォンに比べて、ロボットなので“動く”部分と“喋る”部分が追加されている感じになるのですかね?
和田 いまのところロボホンのモーション(動作)をオリジナルで作ることはできないんですね。その分といいますか、ロボホンが喋るのに合わせて自動的にモーションするという仕組みが入っています。
―― それは便利そうですね。
和田 ただ喋らせるだけのアプリでもロボホンらしいしぐさをするんですね。
―― モーションは作れないということでしたが、動きが定義されていて、手を上げるとか首を振るとかはできるんですよね?
和田 それはできますね。
―― “こう聞こえたら”、“こう答える”というのは、具体的にはどのように書いて与えるんですか?
和田 HVMLという当社独自に規定したXMLファイルに書いておきます。たとえば、ちょっと動かしてみますね。
ロボホン 「こんにちは、僕、ロボホン。こんにちはとか話かけてみてね」
和田 おはよう。
ロボホン 「お話してくれてありがとう。これからいろんなことを僕に教えてね」
―― なるほど簡単ですねぇ。
和田 こんなこともできますよ。(といってロボホンを逆さまにして振ってみる)
ロボホン「目が回るよー~!」
―― ああ、それ知っています。「キャーッ!」って言うこともありますよね。
和田 ワンパターンじゃなくて、いくつかの反応を書いておけるのですね。同じように、「おはよう」となっている部分を書き変えると違う反応をするようになるわけです。
―― 腕を無理やり動かすと「イテテっ」とか言いますよね。
和田 そうですね。
―― ここをエッチな言葉にさしかえれば、エッチなことを喋るわけですね。
和田 ロボホンはキャラクター性を大切にしているんですね。しかも、5歳児という設定なのです。このキャラクターと見た目を生かすというのが、他のロボットとの差別化になると考えています。とういことで、「5歳児はこんなことは言わないよね」というようなことは基本的に喋らない。逆に、「5歳児のく せにこんなこと言って」というのも例外的には面白いからありなんですけど。そういうキャラクター設定がSDKのドキュメントに書かれています。
―― それは守るのが正しいですね。ヘンに破ってもつまらない。
和田 もちろん、開発については詳しく知っていくといろんな使い方ができるわけですが、最初は、まずはHVMLで喋らせることからやってください。それだけで、一通りのことが楽しめます。テンプレートやサンプルで組み込んであるので、それをそのまま使っていただくのがシンプルでいいかなと思います。
―― なるほど、宴会芸的なアプリならその日のうちにできちゃいそうでねすぇ。
ロボット三原則”ならぬ“ロボホン三原則
―― 具体的にどんなアプリが考えられますか?
和田 ロボホンは背中が画面になっていますが、補助的な役割であって、やはり喋って使うのが基本ですね。なにかAPIのあるものと組み合わせるのはどうでしょう? たとえば、ウィキペディアを引いてくるアプリなんかは簡単にできてしまいます。こんな感じです。
ロボホン「分かった。検索したいキーワードを言ってね」
―― あっ、我々の会話の中の「ウィキペディア」という言葉をロボホンが拾って割りこんできたんですね。「ロボホン!」と名前を呼びかけるとか、いわゆるスタートワードはないんでしたね。
和田 目が黄色いときは音声を待っている状態。緑になると音声を認識して解釈している状態。その内容がさきほどHVMLで指定した言葉なら喋るわけです。
―― ロボホンに乗り移るようなアプリはどうですかね? 自分は、VRゴーグルをかけて彼女の家に行くとか。
和田 カメラの映像を遠隔でとばすというものを試しましたが、なかなか面白いですね。首も動きますからね。ただ、セキュリティ的なところを整理する必要があるので、そうしたアプリについては慎重に考えています。ロボット三原則ではないですけど、そのあたりは研究テーマになってくると思います。
―― ロボホンは、そういったいままでは“机上”でしか考えられなかった事柄を、使いながら検討していくいい材料なわけだ。
ロボホン 「ロボット三原則だよね」
―― おっ、ロボホンが自分のことだと反応した!
ロボホン おー(笑)。「ロボット三原則は、いちっ、人の悪口を言わない。にっ、人の言うことをきく。さんっ、前2条を守れなくても怒らないでね」
―― さっきのロボホンのキャラクター設定なんかは、「ロボット三原則」ならぬ「ロボホン三原則」みたいな感じですよね。
和田 いま開発者の認定制度というのをはじめさせていただいていて、企業向けにアプリを作ってビジネスをする資格として認定試験というのをやろうとしています。
―― なるほど、ゲームの倫理規定みたいな。
和田 ロボホン単体では、プロジェクターを使ったものが面白いです。たとえば、プレゼンをロボホンにやらせようみたいなのをやっていますね。(ロボホンに向かって)「プレゼンはじめて!」。
ロボホン 「オッケー! はじめまして、僕、ロボホン。本日は、僕のセミナーにお越しいただきありがとうございます……」。
―― しかし、これだけ喋っている間も自動的にモーションがつくのがいいですね。ちなみに、プログラムからプロジェクターに出すときの認証はどうなっていますか?
和田 プロジェクター用のサービスがあって、そのサービスが全部やるので、それを呼び出すだけですよ。なので、プロジェクターを使うのも簡単です。
―― テーブル面に映し出すこの姿勢が独特ですよね。
和田 もちろん立って表示することもできますけど、目に光が当たらないように下向きにはじめるようにしています。
―― しかし、喋りも自然ですよね。
和田 やっぱりイントネーションとか、間違ったりすることも多少ありますけど、ほぼ自然に喋りますよ。
ロボホンは誰が買っている?
―― いま、米国ではIVA、インテリジェント・バーチャル・アシスタントといった言い方をしていますけど、要するにアマゾンEcho的な、なんでも知りたいことや簡単な仕事を頼むような相手にはならないのですか?
和田 そうですねぇ。
―― 技術的にできるという話と、商品の性格としてやるかというのは別でしょうけど。
和田 最終的には、そういうところに向かうのかもしれないですけど、必ずしもそれがいいかどうか?
―― そこは違うんですかね?
和田 たとえば、開発当初は、何を言われても必ず何かを答えるというものにしたんですけど、すごくアホっぽくなって「これはないなぁ」となりました。紆余曲折をへて、決められた機能の中で、決められたコンテキストの中で発言する形になりました。BOT的なアプリにつなぐというのはできるわけですが、それがこの子の個性に合うかというのは難しいところです。
―― もっとも、アマゾンのEchoもピザを注文できるといっても、いままでWeb画面で提供していたサービスの入力欄を音声のやりとりで埋めて、ハイっ注文という仕組みですよね。アシスタントといっても、検索やWebアプリとそれほど変わらないともいえます。
和田 ロボットの形があるとインターフェイスとして全然設計思想が変わるのはあります。私は、もともとスマホ屋さんで、スマートフォンのアプリ開発をやっていた人間なんですけど、最初は、ロボホンアプリは失敗の連続でした。スマホの考え方でやっていると全然話にならない。実際にロボホンと話をして、使う人が何回も同じ失敗をしないようにしています。
―― 聞き取れないときどうするんですか?
和田 「〇×してもいい?」で聞き取れないときは、「はい、いいえと言ってね」と言って、三回目にもう一度聞いて、それでダメならあきらめます。これも、キャラクター的なことなので、会話のガイドラインとしてドキュメントに書いています。
―― なるほどぉ。
和田 入力欄を埋めていく発想のこともやろうとしたんですよ。スケジュールを設定するのに、いつどこで何時とか? それが、まぁ面倒くさいんですね。なので、ユーザーの発話の中から時間情報だけを抽出するようにして、そのほかの文章はそのまま覚えるようにしました
―― たしかに、そのあたりはスマホアプリと同じように練れていくんでしょうね。共同開発されたロボ・ガレージの高橋智隆さんとは、どんな分担だったのですか?
和田 高橋さんは本体のデザイン・基本構造とモーションプログラムがご担当です。アプリやソフトウェアに関しては、シャープが担当ですが、今までのロボット開発の経験から「それはヘンじゃない?」などアドバイスしていただいたり、音声対話のところは、喧々諤々やりながら作りました。
―― ところで、そんなロボホン全体の購入層はどんな人たちなんですか? 伊勢丹モデルが一瞬で売り切れてしまったというのを見て、プログラミングは全然知らない人たちが多いんじゃないかという意見がありますが。
和田 CEATEC会場でも、30代くらいの女性がロボホンをぶら下げて来場されていましたが、30代~50代の男女で、女性も3割くらいいます。プログラミングは全然知らないという方もいらっしゃると思いますね。それと、やっぱり技術好きの人も買っていただいていますから両極端になっているように思います。
―― 最初からそういう想定だったのですか?
和田 特定の層ではなく幅広い層に、とは思っていましたが、もう少し年齢層は高いかと思っていました。「カワイイ」と言ってくださる方が結構いらっしゃいまして、女性にも多く買って頂いております。
―― なんかペットというか、ふつうに友達という感じですよね。とにかく女性がそんなに買っているわけだ。
あくまで概要だが、HVMLを使って音声でやりとりするアプリを簡単に作ることができることが分かった。しかも、そうやって設定したファイルを見ながら、実際にロボホンが自然な動きをしながら喋るのは、プログラミングの新しい魅力を発見できた気がする。そこで、この後は簡単なロボホンアプリの開発にチャレンジしてもらったレポートをお届けする。
(次ページ、「ロボホンアプリ開発ことはじめ」)
この連載の記事
-
第55回
プログラミング+
AIに味はわかるか? AIが考えた斬新すぎる豆腐バーガーを作ってみた -
第54回
プログラミング+
GPAIシンポジウム「AI原則と実践の橋渡しに関する国際的な最前線」開催 -
第52回
プログラミング+
濃厚接触者を追跡するコンタクト・トレーサーなど、事業家は準備を始めている -
第51回
プログラミング+
なぜテスラはトヨタの時価総額を超えたのか。日本の歩むべき道を考察する -
第50回
プログラミング+
天才ジム・ケラーに学ぶ。テクノロジー業界では倒産寸前でも逆転できる -
第49回
プログラミング+
ジェットエンジンの原理は?冤罪で捕まったら?専門的な議論や体験談を役立てよう -
第48回
プログラミング+
大混乱なのに株価はほぼ最高額のアメリカ。混迷の時代を書き残そう。 -
第47回
プログラミング+
DXとAI、withコロナ時代のディープラーニングを語る! -
第46回
プログラミング+
価値のある仕事を価値があると伝えるスキルをQuoraで磨く -
第45回
プログラミング+
「Quora」のキレッキレなQ&Aがつまった公式本刊行!! -
第44回
プログラミング+
ITの新常識、日本ディープラーニング協会の「G検定」が受験料半額で実施! - この連載の一覧へ