PepperをSDKを使ってChoregraphe以外から動かしてみよう
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も同じです。