OpenRTMのOSXへのインストール

必要な条件

  • 2.x系のPython
  • USC-2でBuildしたPython(一般のインストールパッケージはUSC-4でBuildされている)

OpenRTM-aistのインストール

http://sugarsweetrobotics.com/?page_id=111のページより、

  • OpenRTM-aist-C++-1.1.2-OSX10.9.dmg

をダウロードしてくる。 dmgをクリックし、OpenRTM-aist-C++-1.1.2-Release-OSX10.9.pkg をインストールする。

/usr/local/lib/python2.7/site-packages

  • omniORB
  • omniORB.pth
  • omniidl
  • omniidl_be

などなどがインストールされる。

また、namingサーバもインストールされる。

  • /usr/local/bin/rtm-naming
  • /usr/local/bin/omniNames

rtm-naming コマンドで、namingサーバを起動する。

$ rtm-naming

Starting omniORB omniNames: Dev-2.local:2809
omniNames: (0) 2017-04-04 20:17:48.386611: Data file: /Users/sasakiakira/omninames-Dev-2.local.dat.
omniNames: (0) 2017-04-04 20:17:48.386810: Starting omniNames for the first time.
omniNames: (0) 2017-04-04 20:17:48.387177: Wrote initial data file /Users/sasakiakira/omninames-Dev-2.local.dat.
omniNames: (0) 2017-04-04 20:17:48.387589: Read data file /Users/sasakiakira/omninames-Dev-2.local.dat successfully.
omniNames: (0) 2017-04-04 20:17:48.387670: Root context is IOR:010000002b00000049444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578744578743a312e300000010000000000000074000000010102000f00000031302e3230322e3136362e3133320000f90a00000b0000004e616d6553657276696365000300000000000000080000000100000000545441010000001c000000010000000100010001000000010001050901010001000000090101000354544108000000dc80e3580100a190
omniNames: (0) 2017-04-04 20:17:48.387756: Checkpointing Phase 1: Prepare.
omniNames: (0) 2017-04-04 20:17:48.387898: Checkpointing Phase 2: Commit.
omniNames: (0) 2017-04-04 20:17:48.388306: Checkpointing completed.
omniNames properly started

Eclipseのパースペクティブを表示し、localhostを追加する。

OpenRTM-aist-Pythonのインストール

Python版のOpenRTM-aistをインストールする。

2.7系のPythonが必須である。usc4でBuildされたPythonではエラーがでる。その場合は、USC-2でBuildし直す。

USC-2でBuildしたPythonの例

$ PYTHON_CONFIGURE_OPTS="--enable-unicode=ucs2" CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install 2.7.10

~/.bash_profile

export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "($pyenv init-)"
$ source ~/.bash_profile
$ wget http://openrtm.org/pub/OpenRTM-aist/python/1.1.2/OpenRTM-aist-Python-1.1.2.tar.gz
$ tar xvfz OpenRTM-aist-Python-1.1.2.tar.gz
$ cd OpenRTM-aist-Python-1.1.2
$ pyenv shell --unset
$ pyenv local 2.7.10
$ python setup.py build_core
$ python setup.py install_core

doxygen関連ファイルでエラー(en,jpを適当にコピー)

$ python setup.py build_example
$ python setup.py install_example

生成ファイルの確認

OpenRTM

$ ls /Users/ユーザ名/.pyenv/versions/2.7.10/lib/python2.7/site-packages/
OpenRTM-aist.pth
OpenRTM_aist
OpenRTM_aist_Python-1.1.2-py2.7.egg-info

Omniorb

$ ls /usr/local/lib/python2.7/site-packages | grep omni
_omniConnMgmtmodule.so
_omniConnMgmtmodule.so.4
_omniConnMgmtmodule.so.4.2
_omniZIOPmodule.so
_omniZIOPmodule.so.4
_omniZIOPmodule.so.4.2
_omnicodesetsmodule.so
_omnicodesetsmodule.so.4
_omnicodesetsmodule.so.4.2
_omniidlmodule.so
_omniidlmodule.so.4
_omniidlmodule.so.4.2
_omnipymodule.so
_omnipymodule.so.4
_omnipymodule.so.4.2
omniORB
omniORB.pth
omniidl
omniidl_be

example

ls /Users/ユーザ名/.pyenv/versions/2.7.10/share/openrtm-1.1/example/python
AutoControl        SeqIO            TkLRFViewer
AutoTest        SimpleIO        __init__.py
Composite        SimpleService        component.conf
ConfigSample        Slider_and_Motor    rtcd.conf
ExtTrigger        Templates
MobileRobotCanvas    TkJoyStick

サンプルコードを実行する

/Users/ユーザ名/.pyenv/versions/2.7.10/share/openrtm-1.1/example/

あたりに、サンプルも生成されるので、サンプルを実行してみる。

パスを通す

$ export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/:/Users/ユーザ名/.pyenv/versions/2.7.10/lib/python2.7/site-packages/
$ cd /Users/ユーザ名/.pyenv/versions/2.7.10/share/openrtm-1.1/example/python/SeqIO
$ python SeqIn.py

Eclipseのパースペクティブを表示し、localhostに起動したRTCが追加された事を確認する。

システムダイアグラムを表示し、RTCを貼り付ける。

参考