覚え書きブログ

読者です 読者をやめる 読者になる 読者になる

Pepperの制御

最近Softbankから発売されて話題になっているロボットPepperには、Choregrapheという開発環境があり、ビジュアルなブロックを繋げることにより、一連の発話、音声認識、画像認識及び動作をプログラミングすることができる。

Choregrapheは、Aldebaranのcommunityサイトhttps://community.aldebaran.com/jaからダウンロードすることができる。
f:id:hirotaka_hachiya:20150326204420p:plain

Choregraphe以外にも、Pepperでは、PythonC++の開発環境(SDK)を提供されている。PepperLinux上には、NAOqiいうミドルウェアがあり、Pepperに搭載されているカメラ、モータ、マイクなどのデバイスと、Choreographe、C++及びPython SDKとの間を仲介している。C++Pythonで書いたプログラムは、PC上で動作しネットワークを介して、Pepper上で動作するNAOqiにアクセスする。なお、これらのプログラムは、NAOqiのモジュールとしてPepper上で動作させることも出来る。

http://doc.aldebaran.com/1-14/_images/sofware-programming-overview-bis.png
http://doc.aldebaran.com/1-14/getting_started/software_in_and_out.html

C++Python SDKは、Aldebaranのcommunityサイトhttps://community.aldebaran.com/jaからダウンロードすることができる。

例えば、PCからPepperに「Hello」を発話させるPythonのコードは以下のように簡単に作ることができる。

from naoqi import ALProxy
tts = ALProxy("ALTextToSpeech", "IP_ADDRESS", 9559)
tts.say("Hello!")

ここでは、NAOqi上の発話モジュールALTextToSpeechにアクセスしている。なお、ALTextToSpeechは、日本語の場合はmicroAITalk、英語の場合は、ACAPELAまたはNuanceの音声合成エンジンを用いて、テキストを音声に変換し発話している。
なお、コード中のIP_ADDRESSは、PepperIPアドレスに置き換える必要がある。

また、Pepperで撮影した画像をPC側で表示したり、保存したりするPythonのコードは以下のAldebaranのサイトで紹介されている。
http://doc.aldebaran.com/1-14/dev/python/examples/vision/get_image.html#python-example-vision-getimage
例えば、Pythonコードvision_getandsaveimage.pyは、リモートのNAOqi上のビデオモジュールALVideoDeviceにアクセスし写真を撮影し、PC上のcamImage.pngファイルに保存する。