Python SDKによるsay hello (Pepper TechFes技術セッション)

More than 1 year has passed since last update.

2014/9/20にベルサール渋谷ガーデンでおこなわれた Pepper Tech Festival 2014 の技術セッションで紹介された作例を紹介します。

概要

技術セッションでは、Choregraphe以外のPepperへのアクセス方法の1つとして、Python SDKの使い方について紹介しました。このチュートリアルでは、その内容についてまとめています。

Pepper Tech Festival 2014動画

以下のリンクで、該当箇所から再生できます。

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がしゃべります。

info.png (注意)環境による日本語の扱い

上記例では日本語 "こんにちは" を例に説明していますが、インタプリタのデフォルトのエンコーディングなどの設定により正しく動作しない可能性があります。(上記はMacで動作確認していますが、Windowsではそのままでは動作しないようです)
予期した動作をしない場合、 "こんにちは" の代わりに "hello" などと入力してみて、動作を確認してみてください。

NAOqi for Pythonを利用したプログラミングの詳細は、SDKドキュメントの NAOqi Developer Guide > Programming > Python SDK を参照してください。

このようにして、Choregrapheを使ってアプリケーションをPepperにアップロード、実行する方法以外に、PCからリモートでPepperに対してAPIアクセスをおこなうことも可能です。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.