ソフトバンクが発表したロボット、Pepper。その開発体験ワークショップが行われたので行って来ました。
場所は東京都千代田区にある元学校の建物を利用した3331 Arts Chiyodaという施設です。その3Fに設置されたPepper開発者向けのスペース「アルデバラン・アトリエ秋葉原 with SoftBank」で行われました。
6人くらいで1チームとなり、1台のPepperが割り当てられ、合計3チームで行われました。SDKがインストールされたMacBookが無線で接続されて用意されており、それを使って開発します。
今回のワークショップで使われたPepperの機能は、話す、体を動かす、触られたのを認識する、音声を認識するです。
プログラムはテキストではなくGUIで、SDK上で各動作のブロックをキャンバスに置き、直列や並列で接続していきます。各ブロックのプロパティに話す言葉やポーズなどを設定していきます。
話すブロックでは、プロパティにて言語を指定し、言葉をテキストで入力していきます。日本語は漢字も使えます。また発声の高低やスピードも変えられます。この時はテキスト全てが変化したのですが、インストラクターさんの話では音ごとに変えることも可能だそうです。
タイムラインというブロックで体の動きを指定します。タイムラインではプロパティにて時間軸上に複数のポーズを設定します。ポーズは静止状態なのですが、タイムラインを実行すると時間軸に合わせて次々とポーズを変えて行くことにより動きを表現しています。動かせる体の部分は頭を前後、腕を各関節ごとでした。腰や前後移動も出来るとのことですが、ワークショップでは行われませんでした。動きの指定は2種類あり、SDK上で画面に表示されたPepperの部分を見ながらスライダで角度を指定する方法と、Pepper自体の腕や頭を人間がむ動かしてポーズを決めて行く方法の2通りです。またセンサーにより近くに障害物があると動かないように安全策がとられています。
触られたのを認識する部分は、頭の上、両手の甲、足の3つの突起です。それぞれにブロックが用意されていて、ブロックを並列に接続すると、触られた部位によりそれに続く動作を変えることが出来ます。これらのブロックでは触られるまで待ち状態になります。
音声認識ブロックでは、プロパティにて一つのブロックに複数のテキストを設定できます。テキストごとに別々に次のブロックを接続できるようになっていて、異なる動作をさせることができます。言語も変えられるようですが、複数言語のテキスト指定は出来ないようです。このブロックでも音声認識されるまで待ち状態になります。また指定のテキスト意外の音声が入力された場合の動作をつなぐ接続先もありました。
他にもブロックはたくさんあり、移動したり、胸のタプレットに写真を表示したりと色々出来るようです。
今回の開発体験で感じたのは、ロボットのプログラム開発ってScratchみたいな感覚だなということ。でも動くのは物理的なロボットなので、ポーズの感覚が短いとポーズが決まる前に次に行ってしまったり、慣性があったり、セーフ機能で止まったりといろいろと考慮すべき点はありますね。
今後のイベント開催予定はアルデバラン・アトリエ秋葉原 with SoftBankを見てください。