Pepperを動かすPython NAOqi SDKを使う

PepperをSDKを使ってChoregraphe以外から動かしてみよう

SDK, Pepper

Pepperを動かすSDK

PepperはChoregrapheを使ってアプリを作り動かすのが基本ですが、Python2.7 SDKを使えばChoregrapheを使わずに動かすこともできます。Pepperは現在(2017/10)一般向けもバージョン2.5.5が配布されています。ここでは、バージョン2.5.5のSDKを使ってPepperに喋らせてみましょう。

Python2のインストール

Python NAOqi SDKはPython2.7が必要です。現在(2017/10)はPython2.7.14が配布されているのでそれをインストールしましょう。ここでは本家のPython2.7 でSDKを使います。Pythonのインストールはこちらを参照ください。

Python NAOqi SDKインストール

SDKインストールは、ダウンロードして任意のフォルダに解凍するだけです。解凍した場所を環境変数に設定すればインストールは完了となります。

SDKはPepper Developer Portalからダウンロード します。Pepperのページ下にある「Other SDKs and utilities」のPython 2.7 SDK 2.5.5をダウンロードします。

Linux用、macOS用、Windows用があり、ダウンロードした圧縮ファイルを任意の場所に解凍します。

環境変数の設定

Windows

システムの環境変数設定画面を開きます。

スタートメニューを右クリックして「システム」を選択します。

画面の「システム情報」をクリックします。

表示画面左の「システムの詳細設定」をクリックします。

システムのプロパティが表示されるので、「詳細設定」タブの「環境変数」ボタンを押します。

環境変数画面下部にあるシステム環境変数の「新規」ボタンを押して、以下の環境変数を新規追加します。ここではSDKをDocumentsフォルダ配下に解凍しています。

PYTHONPATH=C:¥Users¥user_name¥Documents¥pynaoqi-python2.7-2.5.5.5-win32-vs2013¥lib

Mac

ターミナルで以下のコマンドを実行します。ここではSDKをDocumentsフォルダ配下に解凍しています。

$ export PYTHONPATH=${PHTHONPATH}:/Users/user_name/Documents/pynaoqi-python2.7-2.5.5.5-mac64/lib/python2.7/site-packages
$ export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/Users/user_name/Documents/pynaoqi-python2.7-2.5.5.5-mac64/lib

もしくは、.bash_profileに記述してターミナル起動時にexportが実行されるようにするといいでしょう。(以下を.bash_profileに記述)

# Naoqi Python SDK PATH
PYTHONPATH=${PYTHONPATH}:/Users/user_name/Documents/pynaoqi-python2.7-2.5.5.5-mac64/lib/python2.7/site-packages
export PYTHONPATH
DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/Users/user_name/Documents/pynaoqi-python2.7-2.5.5.5-mac64/lib
export DYLD_LIBRARY_PATH

MacではPYTHONPATH以外にDYLD_LIBRARY_PATH環境変数も設定します。

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

それでは、Pythonプログラムから直接Pepperに「こんにちは」と喋らせてみましょう。Windowsではコマンドプロンプト、Macではターミナルを起動してpythonを実行してください。そして、以下のプログラムを入力します。ALProxy()メソッドの第1引数に”ALTextToSpeech”、第2引数にPepperのIPアドレス、第3引数にPepperのポート番号を入力します。ここではバーチャルロボットに接続するので第2引数に”localhost”を指定し、第3引数のポート番号はChoregrapheの設定画面に表示されているものを指定します。

>>> from naoqi import ALProxy
>>> tts = ALProxy("ALTextToSpeech", "localhost", xxxxx)
>>> tts.say("こんにちは")

※ALProxy(“ALTextToSpeech”, “localhost”, xxxxx)を実行すると毎回以下の警告のようなのが表示されます。調べてもよくわからないのですが、、もう一度ALProxy(“ALTextToSpeech”, “localhost”, xxxxx)を実行すると成功します。WindowsもMacも同じです。