
「勉強会に行ってみた!」
第16回「Pepper 開発体験 ワークショップ」
最近各地でよく開かれているIT勉強会。あなたは参加したことはありますか?
一口に勉強会といっても、企業によるセミナー形式のものから有志による輪講形式のものなど様々ありますし、「行く価値があるのかな?」とか、逆に「自分だとレベルが追いつかないんじゃないか?」みたいに考えてしまって、二の足を踏むことも多いんじゃないかと思います。また、勉強会のテーマについては事前に分かっても、具体的にどんな雰囲気までは分からないことがほとんどです。
そこで実際に勉強会にお邪魔して、こんな雰囲気でしたよ!と紹介するのがこの記事の目的です。「こんな感じなら行ってみようかな」みたいに思ってもらえたらうれしいです。
(三土たつお)
Pepper といえばソフトバンクが開発したロボットですが、最近この勉強会をよく見かけます。ソフトバンクがこれを売り出すと聞いた時も、これをどういう用途で、誰が使うんだろう?というのがあまりピンと来ていませんでした。というわけで、今回は Pepper の勉強会に行ってみました。
会場は、秋葉原のアーツ千代田3331の一室でした。
アーツ千代田って素敵な雰囲気ですよね。いまだに新鮮な感じで、行くとワクワクします。
こんな感じでやっていました。もともと学校の教室だった訳ですから、勉強会をやるにはもってこいですよね。
教室の中には、Pepper がこんなにたくさん!
窓に近い側の半分は、タッチ&トライといってここにあるPepper を自由に動かす体験ができるコーナー。そして入口に近い側の半分が勉強会の場所となっていました。
講師となるのは、「アルデバラン・アトリエ秋葉原 with SoftBank」のスタッフの方。
最初は自己紹介から始まりました。こういうふうに全員が自己紹介するような時間が取れるのが少人数の勉強会のいいところですよね。今回の参加者は、プログラマーやSEという方が多いようでした。「ふだんはウェブのプログラマーですが、新しい技術に興味があって来ました」とか、「教室にいっぱいPepperがいてびっくりしました」とかいった挨拶が聞かれました。Pepperがいっぱいいるのは、びっくりですよね。
そして次は、Pepper そのものの紹介となりました。みんなの自己紹介の後っていうのがいいですね。Pepperも参加者の一人みたいな感じで。
Pepperは、背の高さはだいたい小学校1?2年生くらいで、体重は小学校2?3年生くらいなんだそうです。ちょっとぽっちゃりめの小学校低学年生っていう感じですね。
ではいよいよPepper を動かして行きましょう。まずはパソコンを Pepper と接続する必要があります。今回は開発のために Choregraphe というソフトを使います。起動すると同じ無線LANに参加しているPepper がいくつか表示されるので、そこから1つを選びます。
☆印のついたアイコンが接続できるペッパーを表す
■しゃべらせる
ではまず、Pepper にしゃべってもらいましょう。
Choregraphe では、いろいろな機能を表すボックスを線でつないで「フローダイアグラム」というものを作ります。するとこれがPepperへの指令になります。ビジュアルプログラミングですね。
ボックスライブラリーから「Say」というボックスをひっぱってきて、フローダイアグラムパネルに配置します。
配置したボックスをダブルクリックすると詳細設定画面になるので、言語を「日本語」、テキストをたとえば「こんにちは、僕の名前はペッパーです」としてみます。
そしてパネル上部の実行ボタンを押すと・・。
こんな感じでしゃべりました!簡単ですね。Pepperくんは賢いので、こんなふうに漢字やカタカナ混じりの文章でもちゃんと理解して喋ってくれます。声の高さやスピードも変えられるので、たとえばゆっくりとした高い声にすると、小さな女の子の声みたいになったりして、ずいぶん印象が変わります。
■好きなモーションで動かす
Pepperくんは、腕や手や頭、足などを好きなように動かすことができます。
最初に、ボックスライブラリーから「Timeline」を選び、パネルに配置します。
すると画面上にモーションのタイムラインが出てきますので、開始何秒後はどんな姿勢、さらに何秒後はどんな姿勢、というふうに指定していきます。あとは最初から再生すれば、それらの姿勢のあいだを滑らかにつないだ動きを行うという仕組みです。
姿勢の指定の方法は2つあって、一つは画面からいろいろな関節の角度を調節すること。
もう1つは、Pepperくん自身の腕や頭を動かすことです。Pepperくんの体そのものを入力として使うっていうのが面白いな、と思いましたが、よく考えるとスポーツとかでも初心者の腕を先生が動かして教えるっていうのはよくありますね。
ちなみにPepperくん、手の指は五本ありますが、モーターは1つしかないので、全部の指を同じように開くことしかできないそうです。つまり、グーとパーは出せるけど、チョキは出せない。ちょっとかわいいですね。
それから両手を上げたままの姿勢だと、止まっていてもモーターに電流が流れているので、そのうちオーバーヒートしてしまうんだそうです。そういうときは、Pepperくんにとって一番楽な姿勢、Standモードというのがあるので、その状態にして休ませてあげる必要があります。この説明をきいて「あー、疲れるんだなぁ」と、なぜか人間味を感じてしまいました。
■音声認識
次は音声を認識して、その内容に応じて違う動作をするということをやってみましょう。
まず、音声認識に使うのは「Speech Reco.」というボックスです。そして、その内容に応じて違うことをする、つまりプログラムでいう Switch文みたいなことをするのが「Switch Case」ボックスです。それらをパネルにまず配置します。
音声認識させたい言葉は、Speech Reco. ボックスをダブルクリックして出てくるテキストに入れます。ここでは「8月」「晴れ」「雨」の3種類を入れましょう。
それから、たとえば「8月」を音声認識したら「暑いですね」とPepperくんに喋らせるとしましょう。その場合、まず Switch Case ボックスにも同じように「8月」「晴れ」「雨」の3種類を入れます。そして、「8月」の後ろに「Say」ボックスをつなげて、そこのテキストに「暑いですね」と入れます。
すると、人間が「8月」といったのをまずSpeech Reco で認識して、Switch Case の「8月」のケースが選ばれて「暑いですね」としゃべることなります。実際にやってみましょう。
かわいい!この調子で掛け合い漫才でもできないかなと思ってしまいました。Pepperくんの声で「なんでやねん!」と言って欲しい。
■タッチセンサー
最後はタッチセンサーです。Pepperくんには頭や手にタッチセンサーがあるので、たとえば頭をなでたら「もっとなでて」と言わせる、といったことができます。やってみましょう。
頭が触られたことを感知する「Tactile Head」ボックスをパネルに配置します。そしてその後ろに「Say」ボックスを接続して、テキストを「もっとなでて」とします。そして緑の実行ボタンを押して、頭をなでると・・。
できました!とても簡単ですね。
先生によるデモの後は、参加者がそれをなぞりつつ、自由に展開する時間があります。なので、Pepperくんの口からは「ビールが浴びるほど飲みたいです」とか「海に行きたいです」のような自由な言葉が飛び出していて、むしろ人間のストレートな欲求が出ているなと思いました。
■ まとめ
Pepper というと、ソフトバンクのCMに出てくる接客用のロボットというイメージを持っていました。でも、こんなふうにSDKが充実して簡単にプログラムできる環境があるなら、ソフトバンクとか接客とかの文脈は全部忘れて、プログラム可能なロボットとして遊べそうだなと思いました。
勉強会の後で、偶然Pepper開発者のコミュニティによる懇親会があったんですが、そこではPepperが女性のようにスカートをはいて「Pepperちゃん」になっており、懇親会での会話を勝手に音声認識して何か応答しては突っ込まれていたりしました。すでに開発者のコミュニティが育っていて、そのなかでPepperは愛されているんだなぁと思いました。
今回参加した勉強会:
【新規限定】 Pepper 開発体験 ワークショップ(SDK 基本編 #1 -喋る、動かす、会話する-)
https://pepper.doorkeeper.jp/events/29161
ライターとしてはニフティのデイリーポータルZとかで書いてます。
http://mitsuchi.net/