Pepperを動かすロボアプリ開発

Pepperを動かすロボアプリとはどんなものか見てみよう。開発方法を簡単に紹介します。

Pepper

Pepperとは

ソフトバンクロボティクス から提供されているヒト型ロボットです。2014年から販売開始され、現在は一般販売モデルと企業向けモデルが販売されています。一部のソフトバンクショップの店頭で接客しているのを見かけますが、最近では企業の導入が年々進み各種イベント会場や会社の受付などで目にすることが多くなってきています。

Pepperを動かすロボアプリ

Pepperは基本的に専用のアプリを使って動かします。この専用アプリをここではロボアプリと記載します。ロボアプリを作成するにはChoregraphe(コレグラフ)という統合開発環境を使います。これはソフトバンクロボティクスのサイトからダウンロード できます。コレグラフは接続するPepperに搭載されているNAOqi OSに合わせたバージョンを使います。現在(2017/8)Pepperのどのモデルも最新であるNAOqi2.5.5をベースに記事を掲載します。(*Pepperは一般販売モデルとビジネス向けモデルがあります。本体の機能や性能は同じですが、料金プランとサポートやサービスが違います)

コレグラフの使い方

コレグラフはソフトバンクロボティクスのサイトからダウンロード し、指示に従ってインストールします。その際、ライセンスキーの入力を求められるのでダウンロードのページに表示されているライセンスキーをコピー&ペーストしてインストールを進めてください。

インストール完了後コレグラフを起動します。

画面真ん中に表示されているグレーの箇所(フローダイアグラム)に「ボックス」という箱になった各種コマンドを配置します。ボックスは画面左下のボックスライブラリから選び、ドラッグ&ドロップでフローダイアグラムに配置します。配置したボックスを「線」で結んでPepperの一連の動作を定義します。

「線」の繋ぎ方は、フローダイアグラムの左端にあるonStartからドラッグすると線が引っ張れるので、それをボックスのinputプラグに繋げます。それからボックスのonStopからフローダイアグラムの右端にあるonStoppedに繋げます。これが一連のアプリ動作となります。

Pepperに「こんにちは」を喋らせる

それではコレグラフを使って、Pepperに「こんにちは」と喋らせてみましょう。

Pepperに発話させるには「Sayボックス」を使います。Sayボックスに喋る言葉を入力して実行すると、Pepperはその言葉を喋ります。

コレグラフを起動して、フローダイアグラムにSayボックスをボックスライブラリからドラッグ&ドロップして配置してみましょう。

Sayボックスに「こんにちは」を入力します。

onStartとonStoppedにボックスを繋ぎます。

そして、画面上部の実行ボタンでアプリを実行すると、Pepperは「こんにちは」と喋ります。

もちろん、Pepperに接続していないとPepperの動作を確認できません。ですが、Sayボックスはバーチャルロボットに接続して動作を確認することができます。

バーチャルロボットは「接続」メニューの「バーチャルロボットへ接続」で接続します。

バーチャルロボットの動作確認はダイアログで行います。このSayボックスの場合、実行してPepperが喋るとダイアログに「ロボット:こんにちは」と表示されれば正しく実行されたと確認できます。

以上がコレグラフの説明と簡単な使い方になります。

他にもいろいろなボックスが用意されています。ポーズを取りながら喋ったり、シナリオに従って会話をしたり、胸のタブレットを使って何か画面に表示しながらペッパーを動かすこともできます。Qiitaに詳細ないくつかのボックスを使ったチュートリアルが掲載されているので、ここでは同じ情報は掲載しませんが、興味があればQiitaの記事も参考にしてください。

ボックスはPythonを使ってプログラミングしている

Choregrapheで先程使ったSayボックスをダブルクリックしてみてください。スクリプトエディタが開いて、Pythonプログラムが表示されたかと思います。

1つのボックスに1つのクラスが書かれています。クラス名は全て「MyClass」になっています。ボックスを線で繋ぐ入力と出力のプラグもメソッドに定義されていて、入力や出力の際に呼び出されます。つまり、ボックスの中ではPythonプログラムがPepperを動かしているのが分かると思います。

このPythonプログラムを修正して、ボックスをカスタマイズすることもできます。既に用意されているボックスでなく、新規にボックスを作ってPythonプログラムを書くこともできます。フローダイアグラム上でマウス右クリックして表示されるメニューの「ボックスの新規作成」ー「Python…」を選ぶと以下のような基本のテンプレートになる空のPythonボックスが作成できます。ここにPythonプログラムを書いて独自のボックスを作ることもできます。

最後に

Pepperの登場でロボットがとても身近な存在になってきました。Pepperのようにプログラムしていろいろできるロボットはとても画期的かと思います。これから様々な場面でPepperが使われるようになってくるでしょう。また、今後もこのようにプログラムできるような高機能なロボットも増え、プログラムももっと簡単に作れるようになっていくのではないでしょうか。そういった将来に向けて今からロボットに触れていくのも楽しいかと思います。