2014/9/20にベルサール渋谷ガーデンでおこなわれた Pepper Tech Festival 2014 の技術セッションで紹介された作例を紹介します。
#概要
技術セッションでは、Choregraphe以外のPepperへのアクセス方法の1つとして、Python SDKの使い方について紹介しました。このチュートリアルでは、その内容についてまとめています。
###Pepper Tech Festival 2014動画
以下のリンクで、該当箇所から再生できます。
Python SDK(NAOqi for Python)は、PepperをリモートコントロールするためのSDKです。
このSDKを使って、自身のPC上でPythonスクリプトを実行することで、ネットワークを介してPepperを任意に操作することができます。
このAPIへはChoregrapheのPythonボックス中のコードから利用するのと同じようにアクセスすることができます。ここでは、NAOqi for Pythonのインストール方法と、簡単な動作確認方法について説明します。
#Python SDKのインストール
NAOqi for Pythonの動作にはPythonが必要です。インストールしたいマシンのOSに応じたPython環境を用意してから、NAOqi for Pythonをインストールしてください。
NAOqi for Pythonのインストーラは、Pepper TechFesで配布されたUSBメモリの SDKs\RemotePrograming\PythonSDK
にあります。
インストール手順の詳細は、SDKドキュメントの NAOqi Developer Guide > Getting Started > Python SDK Install Guide を参考にしてください。
OS別にPython, NAOqi for Pythonのインストール方法と、動作確認のためのPythonインタプリタの起動方法を説明していきます。
##Windowsの場合
###Pythonのインストール
はじめに、Python実行環境をインストールします。
https://www.python.org/downloads/windows/ からPython2.7系の32bitインストーラをダウンロードし、実行してください。
###NAOqi for Pythonのインストール
USBメモリ内 PythonSDK
フォルダにあるWindows用インストーラ pynaoqi-python2.7-(version).win32.exe
を実行してください。
###Pythonインタプリタの実行
Python2.7のインストーラによりスタートメニューに登録される Python (command line)
を実行するか、インストールされた python.exe
をコマンドラインから実行してください。
##Macの場合
###Pythonのインストール
PythonはOSX標準添付のPython 2.7を利用してください。
Apple以外が提供しているもの、たとえばPython.orgからダウンロードしてきたPythonは使わないようにしてください。
###NAOqi for Pythonのインストール
USBメモリ内 PythonSDK
ディレクトリ内にあるtar.gzアーカイブ pynaoqi-python2.7-(version)-mac64.tar.gz
を適当なファイルに展開してください。
###Pythonインタプリタの実行
tar.gzを展開したディレクトリのパスを PYTHONPATH
環境変数と DYLD_LIBRARY_PATH
環境変数に追加して、 python
コマンドを実行します。
たとえば、tar.gzの展開先が /Users/(自分のユーザ名)/Documents/
で、そこに pynaoqi-python2.7-2.0.5.3-mac64
というディレクトリが作成されている場合、ターミナルから以下のように実行することで、SDKが使用可能な状態でPythonが起動します。
$ export PYTHONPATH=${PYTHONPATH}:/Users/(自分のユーザ名)/Documents/pynaoqi-python2.7-2.0.5.3-mac64
$ export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/Users/(自分のユーザ名)/Documents/pynaoqi-python2.7-2.0.5.3-mac64
$ python
なお、上記2つの export
コマンドを .bash_profile
ファイルに記述などしておくなどすると、これらの環境変数がシェル利用時に自動的に設定されるようになります。
#簡単なスクリプトを実行してみる
このセッションでは、ALTextToSpeech
API(Say Textボックスの実装に利用されているAPIです) に対して、リモートからしゃべる指示をおこなってみています。
たとえば、実行したPythonインタプリタ上で、以下のスクリプトを入力、実行してみてください。
from naoqi import ALProxy
tts = ALProxy("ALTextToSpeech", "<PepperのIP>", 9559)
tts.say("こんにちは")
PepperのIPの確認方法は、 PepperのIPアドレスを知る方法 などを参考にしてください。
インストールが正常におこなわれていれば、「こんにちは」とPepperがしゃべります。
#### (注意)環境による日本語の扱い
上記例では日本語 "こんにちは" を例に説明していますが、インタプリタのデフォルトのエンコーディングなどの設定により正しく動作しない可能性があります。(上記はMacで動作確認していますが、Windowsではそのままでは動作しないようです)
予期した動作をしない場合、 "こんにちは" の代わりに "hello" などと入力してみて、動作を確認してみてください。
NAOqi for Pythonを利用したプログラミングの詳細は、SDKドキュメントの NAOqi Developer Guide > Programming > Python SDK を参照してください。
このようにして、Choregrapheを使ってアプリケーションをPepperにアップロード、実行する方法以外に、PCからリモートでPepperに対してAPIアクセスをおこなうことも可能です。