NAOを用いた開発を行いたかったため,Choregrapheを使用しての開発環境を整えていたが,やはり物足りないため,PythonSDKを用いての開発を行います.
基本的には,このNAO Documentationの手順に従えばできるらしいが,ドキュメントだけではかなり詰まった箇所がいくつかあったため,自分の確認用の意味も込めてまとめておきます.
#使用した環境
Ubuntu18.04
python2.7
##必要なSDKのダウンロード
まず,必要なツール一式を揃えます.
SDKを用いての開発に必要なものは以下になります.
-
Choregraphe
NAOやPepperを動かすための基本ツール.厳密に言うと必要ではないが,仮想環境での実行等を行えると便利なためインストールしておくことをオススメします. -
PythonSDK
-
C++SDK
今回はPythonSDKでの開発だが,PythonSDKのセットアップ時に出てくるエラーの対処にC++SDKの一部を使用する可能性がある(後述).該当のエラーが出て必要になった時にダウンロードでも大丈夫です.
以上のものは全てここのResourcesからダウンロードできます.(アカウント作成の必要有り.)
また,ダウロードしたtar.gzファイルはそれぞれ解凍して,任意のフォルダにまとめておきます.
自分はhome直下にSoftwareフォルダを作成しまとめておきました.
$ tar -zvxf pynaoqi-python2.7-2.1.4.13-linux64.tar.gz
$ tar -zvxf naoqi-sdk-2.1.4.13-linux64.tar.gz
$ mkdir ~/Software
$ mv pynaoqi-python2.7-2.1.4.13-linux64 /home/user_name/Software
$ mv naoqi-sdk-2.1.4.13-linux64 /home/user_name/Software
※user_nameは適宜変更してください.
##Choregrapheのインストール
ダウンロードしてきたChoregrapheのrunファイルの実行権限を変更し,実行します.
cd ~/Downloads
chmod a+x choregraphe-suite-2.5.5.5-linux64-setup.run
./choregraphe-suite-2.5.5.5-linux64-setup.run
基本的には,手順に従えばインストールが完了します.
ライセンスキーはNAOに付属のものを入力します.持っていない場合は評価版でのインストールになります.
インストールが完了したら,終了ボタンを押すとChoregrapheが起動します.
これでインストール完了です。
- 起動しない場合
自分が使用しているUuntu18.04では,ただインストールしただけではChoregrapheが起動しなかった.(Ubuntu16.04でも同様の症状があるらしい.)
GUIをダブルクリックしても反応無しで、コマンドから起動しようとすると以下のようなエラーが出て起動できません。
/opt/Aldebaran Robotics/Choregraphe Suite 2.1/bin/choregraphe-bin: /opt/Aldebaran Robotics/Choregraphe Suite 2.1/bin/../lib/../lib/../lib/libz.so.1: version `ZLIB_1.2.9' not found (required by /usr/lib/x86_64-linux-gnu/libpng16.so.16)
どうやら,Choregraphe内に含まれているzlibを,OSのzlibへのリンクに変更すると大丈夫らしいです.
cd /opt/Aldebaran Robotics/Choregraphe\ Suite\ 2.1/lib/
sudo mv libz.so.1 libz.so.1.old
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1
これで,GUIからもコマンドからも起動できるようになります.
##PythonSDKのセットアップ
事前にpythonライブラリであるqibuildをインストールしておきます.
$ pip install qibuild
次に,~/.直下にある.bashrcファイルにPathを追加します.
まず,.bashrcファイルの編集画面を開きます.ここではvimを使っていますが,他のエディタでも問題ないです.
$ vim ~/.bashrc
開いたらどこでも良いので以下を追加する.
# PYTHONPATH
export PYTHONPATH=${PYTHONPATH}:/home/user_name/Software/pynaoqi-python2.7-2.1.4.13-linux64
export LD_LIBRARY_PATH="/home/user_name/Software/pynaoqi-python2.7-2.1.4.13-linux64:$LD_LIBRARY_PATH"
編集後,
$ source ~/.bashrc
これでPathが通りました.
動作するか確認を行います.
python
>> import naoqi
エラーが出なければセットアップ完了です.
##エラーへの対処
基本的には,上記の手順通りに設定を行うとPythonSDKが使えるようになるのですが,自分のだとそれだけだとうまくいかなかったので,出て来たエラーとその対処法の紹介です.
- 1つ目
>>> import naoqi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
import qi
File "/path/to/pynaoqi-python2.7-2.1.4.13-linux64/qi/__init__.py", line 72, in <module>
from _qi import Application as _Application
ImportError: libqipython.so: cannot open shared object file: No such file or directory
import naoqiをした時に出て来たエラー.
読んでみると,libqipython.soをqi/__init__.pyを見つけられないというエラーのようです.
このエラーは,共有ライブラリのPathを通すと解決することができます.
~/.bashrcファイルに以下の文を追記しましょう.
export LD_LIBRARY_PATH="/home/user_name/Software/pynaoqi-python2.7-2.1.4.13-linux64:$LD_LIBRARY_PATH"
完了したら,
source ~/.bashrc
以上で解決できます.
- 2つ目
ImportError: libboost_python.1.55.0.so: cannot open shared object file: No such file or directory
自分は,1つ目のエラーが解決した後にこのエラーが出て来ました.
これはよくわかりませんが,どうやらこの問題は、libboost-1.55.0の共有ライブラリをpynaoqi/以下に入れれば解決できるそうです.
これらはC++SDKに入っているので,C++SDKをダウンロードして展開し,以下を実行すると解決できます.
cp -a path/to/naoqicpp/lib/*.so*.1.55.0 /path/to/pynaoqi
また追加でエラー等発見し次第,適宜更新していきます.