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

コーヒーこぼした。

プログラミングとちょこっとハード

PepperのPythonSDKを使って「こんにちは、Pepperです」した話


\ハイビーム!!/
f:id:imkitchen:20151027235952j:plain:w256

研究室でレンタルしているPepperでコンテストに向けてアプリの開発をはじめました。

Pepperアプリの開発環境はほとんどの人がChoregraphという開発環境を使っているようです。
GUIで直感的に開発できて良いのですが、このChoregraphは機械的にXMLでアプリケーションを吐き出しますのでチームで開発するときにコード管理が困難です。差分を見ても何のことかわかりません。

Pepperを開発しているAldebaran社のコミュニティページを訪れるとChoregraph以外にもいくつか開発ツールが提供されていて、開発メンバーはその中でも比較的敷居の低そうなPythonを使って開発を開始しました。


SDKダウンロード

SDKのダウンロードにはAldebaranコミュニティのアカウントが必要です。お金はかかりませんが若干面倒です。
Python以外にはC++ SDKがあります。


https://gyazo.com/a2775d0a4d9f2ee93f7407652dfd5647

開発を始めてから知ったのですが、Pepperアプリは遠隔から操作するみたいです。本体に実行コードを配置して実行することも可能なようですが、基本的には開発環境からpythonを実行してネットワークを経由して制御します。

APIは同社のNAOというロボットと共通のようですね。そのためNAOqiという名前になっています。



ダウンロードしたファイルを解凍すると共有ライブラリとpythonスクリプトが雑多に入ったディレクトリができますので、下記のように配置したパスを `~/.bash_profile` などの端末の設定ファイルに追記して通しておきます。

export PYTHONPATH="$PYTHONPATH:$HOME/data/pynaoqi-python2.7-2.3.1.25-linux64"
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:$HOME/data/pynaoqi-python2.7-2.3.1.25-linux64"

そして環境変数を反映。

$ source ~/.bash_profile

「こんにちは、Pepperです」

NAOqiをpythonで読み込み「こんにちは、pepperです」を発話させるコードは次のようになります。

from naoqi import ALProxy

tts = ALProxy("ALTextToSpeech", "192.168.100.30", 9559)
tts.setLanguage("Japanese")
tts.say("こんにちは、pepperです")

IPアドレスを第二引数に指定する必要がありますので胸のボタンを押して本人に教えてもらってください。

faq.mb.softbank.jp

他言語対応なので他にも色々な言語を選択することができます。

ドキュメント

Pythonを使った開発に関する記事はQiitaに結構あったような気がしますが、PepperAPIはバージョンアップのたびに頻繁に消えたり増えたりするので古いものは参考にしない方が良さそうです。

僕らはこちらを参考に開発しています。
Overview — Aldebaran 2.1.4.13 documentation

次はカメラを使って写真を撮るところまで書きたいと思います。

スポンサーリンク