OpenRTM-aist (Python版)1.2系のインストール

ここではOpenRTM-aist(Python)のWindowsへのインストール方法を説明します。

Windowsへのインストール

OpenRTM-aistのインストール

msiインストーラーによるOpenRTM-aistのインストール手順については下記のページに記載。

開発に必要なソフトウエアのインストール

RTCの開発にはCMake、Doxygen、Visual Studioのインストールが必要です。

  • CMake(3.11以上推奨) インストールの途中で[Install Options]としてsystem PATHをどうするかを聞かれますが、Add CMake to the system PATH for all usersを選択することを推奨します。(チェックはそれで行っています。)
  • Doxygen のWebページからWindows版のバイナリ実行形式ファイルをダウンロードして実行してインストールしてください。
  • Visual Studio からダウンロード版をインストールするか、別途Visual Studio 2010/2012/2013/2015/2017/2019を入手してインストールしてください。Visual StudioはPythonベースのRTC開発自体には直接必要なものではないですが、開発したRTCの配布にあたってOpenRTM-aistの環境と共にmsi配布パッケージを作りたい場合は必要となります。

インストーラーの作業内容

インストーラーは以下の作業を行います。

  • インストールディレクトリ(デフォルトはC:\Program Files)下に各種ファイルをコピー
  • スタートメニュー以下にOpenRTM-aistフォルダーを作成し各種ショートカットを設定
  • 環境変数の設定
    • 64bit用msi利用時の設定
 RTM_BASE=C:\Program Files\OpenRTM-aist\
 RTM_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\
 RTM_VC_VERSION= //ここにはユーザーが指定したVisual StudioにのっとったVCのバージョンを指定するテキストが入ります
 RTM_JAVA_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\
 OMNI_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.3_%RTM_VC_VERSION%\
 OpenCV_DIR=C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\
 OpenRTM_DIR=C:\Program Files\OpenRTM-aist\1.2.1\cmake\
  • PATHへの追加設定
    • 64bit用msi利用時の設定
 C:\Program Files\OpenRTM-aist\1.2.1\bin\%RTM_VC_VERSION%\
 C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.1_%RTM_VC_VERSION%\bin\x86_win32\
 C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\%RTM_VC_VERSION%\bin\
    • 32bit用msi利用時の設定(64bit版Windows 10での場合で、32bit版の場合は「Program Files (x86)」の部分が「Program Files」になります。)
 RTM_BASE=C:\Program Files (x86)\OpenRTM-aist\
 RTM_ROOT=C:\Program Files (x86)\OpenRTM-aist\1.2.1\
 RTM_VC_VERSION= //ここにはユーザーが指定したVisual StudioにのっとったVCのバージョンを指定するテキストが入ります
 RTM_JAVA_ROOT=C:\Program Files (x86)\OpenRTM-aist\1.2.1\
 OMNI_ROOT=C:\Program Files\OpenRTM-aist\1.2.1\omniORB\4.2.3_%RTM_VC_VERSION%\
 OpenCV_DIR=C:\Program Files\OpenRTM-aist\1.2.1\OpenCV3.4\
 OpenRTM_DIR=C:\Program Files\OpenRTM-aist\1.2.1\cmake\
  • PATHへの追加設定
    • 32bit用msi利用時の設定(64bit版Windows 10での場合で、32bit版の場合は「Program Files (x86)」の部分が「Program Files」になります。)
 C:\Program Files (x86)\OpenRTM-aist\1.2.1\bin\%RTM_VC_VERSION%\
 C:\Program Files(x86)\OpenRTM-aist\1.2.1\omniORB\4.2.3_%RTM_VC_VERSION%\bin\x86_win32\
 C:\Program Files(x86)\OpenRTM-aist\1.2.1\OpenCV3.4\x86\%RTM_VC_VERSION%\bin\

インストールされるファイル

ファイルは以下のような構造でインストールされます。

 <install_dir>
   + OpenRTM-aist
      + 1.x.x  :旧バージョンのランタイム
      + 1.2.1
         + bin: dll、lib各種コマンド
         + cmake: OpenRTMConfig.cmake
         + coil: coilヘッダファイル
         + Components
            + C++
               + Examples: C++サンプルコンポーネント
               + OpenCV: OpenCVのC++サンプルコンポーネント
            + Java: Java サンプルコンポーネント
            + Python: Python サンプルコンポーネント
         + etc: rtc.confサンプル
         + jar: jarファイル
         + jre: OpenJDK JRE
         + omniORB
         + OpenCV3.4
         + rtm: OpenRTM-aistヘッダファイル
            + ext: 拡張モジュール用ファイル 
            + idl: OpenRTM-aistIDLファイル
         + util
            + ExcelControlpy: PythonベースのMicrosoft Office用RTC
            + OpenRTP: RTCBuilderとRTSystemEditorツール
            + PowerPointControlpy: Microsoft Office PowerPoint用RTC
            + python_dist: pythonベースツール共通ライブラリ
            + RTCDT: PythonベースRTCの開発を支援するツール
            + rtc-template: RTCBuilderと似た機能を提供する古いツール
            + RTSystemEditor: RTSystem Editorのみのファイル
            + VCVerChanger: 使用しているVisual Studioのバージョンを指定するツール
            + WordContrlpy: PythonベースMicrosoft Office Word用RTC

Ubuntu/Debianへのインストール

/ja/node/1182

Python版の OpenRTM-aist は、Ubuntu や Debian GNU Linux で利用可能な deb パッケージが提供されています。 対応しているディストリビューションのバージョンは、ダウンロードページで確認できます。 Ubuntu/Debian GNU Linuxへのサポートバージョンや対応の有無は、予告なしに変更されることがありますので、あらかじめご了承ください。

一括インストールスクリプト

openrtm.orgが提供するインストール・スクリプトpkg_install_ubuntu.shまたはpkg_install_debian.shを指定のURLからダウンロードし、root 権限で実行します。このスクリプトでは必要なパッケージを順次apt-getを用いてインストールしていきます。

オプションを指定することで、目的に合わせたパッケージをインストールすることが可能です。

一括インストールスクリプトは、ダウンロードした後、ダウンロード先ディレクトリに移動し、

Ubuntuの場合は

 $ sudo sh pkg_install_ubuntu.sh -l c++ --yes
Debianの場合はsuでroot権限を得た後に

 # sh pkg_install_debian.sh -l c++ --yes
でインストールできます。

一括インストールスクリプトのダウンロードや詳しいインストール方法、指定可能なオプションの種類につきましては、「一括インストールスクリプト」のページをご確認ください。

OpenRTPのインストール

一般的なUbuntu/Debian環境での開発にはRTC BuilderやRTSystem Editorを使用しますが、その場合にはOpenRTPが必要です。一括インストールスクリプトを用いてOpenRTPをインストールしてください。Ubuntuではpkg_install_ubuntu.shが置いてあるディレクトリで

Ubuntuの場合は

 $ sudo sh ./pkg_install_ubuntu.sh -l openrtp --yes

Debianの場合はsuでroot権限を得た後に

 # sh pkg_install_debian.sh -l openrtp --yes

と入力するとOpenRTPをインストールできます。

JDK8のインストール

OpenRTP(RTSystem EditorやRTC Builderなど)の実行にはJDK8相当のJava環境が必要です。(デフォルトの環境でJDK8がインストールされている場合もありますが、Ubuntu 18.04ではJDK11がインストールされているため、JDK8のインストールが必要です。)  なお、RTShell/RTCTree/RTSprofileの使用にはJDKは必要ありませんのでOpenRTPを使わない場合にはJDK8をインストールする必要はありません。 JDK8の入手やインストールについては以下を参照してください。

RTShellのインストール

制御コンピュータが小規模のシステムの場合など、CUIでRTCを制御したい場合にはOpenRTPのRTSystemEditor相当の機能をCUIから実行できるようなツールとしてRTShellと呼ばれるツールが提供されています。RTShellのインストールは一括インストールスクリプトを用いて、一括インストールスクリプト・ファイルが置かれているディレクトリで

Ubuntuの場合は

 $ sudo sh pkg_install_ubuntu.sh -l rtshell --yes

Debianの場合はsuでroot権限を得た後に

 # sh pkg_install_debian.sh -l rtshell --yes
でインストールできます。

インストールの確認

  • openrtpをインストールした場合

インストールを確認します。(下記は1.2.1の例です。)

 $ dpkg -l 'openrt*'
 要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
 | 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
 |/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
 ||/ 名前                          バージョン          アーキテクチャ      説明
 +++-=============================-===================-===================-===============================================================
 ii  openrtm-aist:amd64            1.2.1-0             amd64               OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-dev:amd64        1.2.1-0             amd64               OpenRTM-aist headers for development
 ii  openrtm-aist-idl:amd64        1.2.1-0             amd64               OpenRTM-aist idls for development
 ii  openrtm-aist-python           1.2.1-0             amd64               OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-python-doc       1.2.1-0             all                 Documentation for openrtm-aist-python
 ii  openrtm-aist-python-example   1.2.1-0             amd64               OpenRTM-aist-Python examples
 ii  openrtp:amd64                 1.2.1-0             amd64               OpenRTP, Open RT Platform distributed by AIST

  • openrtpの代わりにrtshellをインストールした場合

インストールを確認します。(下記は1.2.1の例です。)

 $ dpkg -l 'openrt*'
 要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
 | 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
 |/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
 ||/ 名前                          バージョン          アーキテクチャ      説明
 +++-=============================-===================-===================-===============================================================
 ii  openrtm-aist-python           1.2.1-0             amd64               OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-python-doc       1.2.1-0             all                 Documentation for openrtm-aist-python
 ii  openrtm-aist-python-example   1.2.1-0             amd64               OpenRTM-aist-Python examples

rtshellのインストールは

 $ pip show rtshell-aist
 Name: rtshell-aist
 Version: 4.2.2
 Summary: Shell commands for managing RT Components and RT Systems.
 Home-page: http://github.com/gbiggs/rtshell
 Author: Geoffrey Biggs and contributors
 Author-email: geoffrey.biggs@aist.go.jp
 License: LGPL3
 Location: /usr/local/lib/python2.7/dist-packages
 Requires: rtctree-aist, rtsprofile-aist
と確認できます。

パッケージの詳細

各パッケージの内容は以下の通りです。

openrtm-aist

openrtm-aist にはランタイムライブラリとコマンド群が含まれています。

  • コマンド
     /usr/bin/rtcd
     /usr/bin/rtcprof
     /usr/bin/rtm-config
     /usr/bin/rtm-naming
  • ライセンスなど
     /usr/share/doc/openrtm-aist/changelog.gz
     /usr/share/doc/openrtm-aist/README.Debian
     /usr/share/doc/openrtm-aist/README
     /usr/share/doc/openrtm-aist/README.jp
     /usr/share/doc/openrtm-aist/copyright
     /usr/share/doc/openrtm-aist/changelog.Debian.gz
  • 設定ファイルサンプル
     /usr/etc/rtc.conf.sample
  • ライブラリ
    • 32bit
       /usr/lib/i386-linux-gnu/libRTC-X.X.X.so
       /usr/lib/i386-linux-gnu/libRTC.a
       /usr/lib/i386-linux-gnu/libRTC.la
       /usr/lib/i386-linux-gnu/libcoil-X.X.X.so
       /usr/lib/i386-linux-gnu/libcoil.a
       /usr/lib/i386-linux-gnu/librtmCamera.a
       /usr/lib/i386-linux-gnu/librtmCamera.la
       /usr/lib/i386-linux-gnu/librtmCamera.so.X.X.X
       /usr/lib/i386-linux-gnu/librtmManipulator.a
       /usr/lib/i386-linux-gnu/librtmManipulator.la
       /usr/lib/i386-linux-gnu/librtmManipulator.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/FileNameservice.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/FileNameservice.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.a
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.a
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.so.X.X.X
       /usr/lib/i386-linux-gnu/openrtm-1.2/ssl/SSLTransport.la
       /usr/lib/i386-linux-gnu/openrtm-1.2/ssl/SSLTransport.so.X.X.X
       /usr/lib/i386-linux-gnu/pigconfig/openrtm-aist.pc
    • 64bit
       /usr/lib/x86_64-linux-gnu/libRTC-X.X.X.so
       /usr/lib/x86_64-linux-gnu/libRTC.a
       /usr/lib/x86_64-linux-gnu/libRTC.la
       /usr/lib/x86_64-linux-gnu/libcoil-X.X.X.so
       /usr/lib/x86_64-linux-gnu/libcoil.a
       /usr/lib/x86_64-linux-gnu/librtmCamera.a
       /usr/lib/x86_64-linux-gnu/librtmCamera.la
       /usr/lib/x86_64-linux-gnu/librtmCamera.so.X.X.X
       /usr/lib/x86_64-linux-gnu/librtmManipulator.a
       /usr/lib/x86_64-linux-gnu/librtmManipulator.la
       /usr/lib/x86_64-linux-gnu/librtmManipulator.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/FileNameservice.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/FileNameservice.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.a
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ec/LogicalTimeTriggeredEC.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.a
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/sdo/LoggerConsumer.so.X.X.X
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ssl/SSLTransport.la
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/ssl/SSLTransport.so.X.X.X
       /usr/lib/x86_64-linux-gnu/pigconfig/openrtm-aist.pc

openrtm-aist-dev

openrtm-aist-devには、開発に必要なコマンド群とヘッダが含まれています。

  • コマンド
     /usr/bin/coil-config
     /usr/bin/rtc-template
     /usr/bin/rtm-skelwrapper
  • ライセンスなど
     /usr/share/doc/openrtm-aist-dev/changelog.Debian.gz
     /usr/share/doc/openrtm-aist-dev/changelog.gz
     /usr/share/doc/openrtm-aist-dev/copyright
  • ヘッダなど
     /usr/include/coil-1.2/coil/Affinity.h
     /usr/include/coil-1.2/coil/Allocator.h
     中略
     /usr/include/coil-1.2/coil/stringutil.h
     /usr/include/openrtm-1.2/rtm/BufferBase.h
     /usr/include/openrtm-1.2/rtm/BufferStatus.h
     中略
     /usr/include/openrtm-1.2/rtm/config_rtc.h
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.idl
     中略
     /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
     中略
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
     中略
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
     中略
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
     /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
     /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
     中略
     /usr/include/openrtm-1.2/rtm/idl/device_interfaces/Ranger.idl
     /usr/include/openrtm-1.2/rtm/version.h
     /usr/include/openrtm-1.2/rtm/version.txt
  • ライブラリ・その他
    • 32bit
       /usr/lib/i386-linux-gnu/openrtm-1.2/cmake/OpenRTMConfig.cmake
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helper/README_gen.py
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helpver/cxx_gen.py
       中略
       /usr/lib/i386-linux-gnu/openrtm-1.2/py_helpver/yat.py
       /usr/lib/i386-linux-gnu/pkgconfig/libcoil.pc
       
    • 64bit
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/cmake/OpenRTMConfig.cmake
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helper/README_gen.py
       /usr/lib/x86-64-linux-gnu/openrtm-1.2/py_helpver/cxx_gen.py
       中略
       /usr/lib/x86_64-linux-gnu/openrtm-1.2/py_helpver/yat.py
       /usr/lib/x86_64-linux-gnu/pkgconfig/libcoil.pc

      openrtm-aist-python

  • コマンド
     /usr/bin/rtcd_python
     /usr/bin/rtcprof_python
  • OpenRTM-aist 本体の Python モジュール
     usr/lib/python2.7/dist-packages/OpenRTM-aist/*
  • OpenRTM-aist用Python検索パスファイル
     /usr/lib/python2.7/dist-packages/OpenRTM_aist.ph
  • ユーティリティ
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/__init__.py
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtc-template/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtcd/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtcprof/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtm-naming/*

openrtm-aist-python-example

 /usr/share/openrtm-1.2/components/python/__init__.py
 /usr/share/openrtm-1.2/components/python/rtcd.conf
 /usr/share/openrtm-1.2/components/python/components.conf
 /usr/share/openrtm-1.2/components/python/AutoControl/*
 /usr/share/openrtm-1.2/components/python/AutoTest/*
 /usr/share/openrtm-1.2/components/python/Composite/*
 /usr/share/openrtm-1.2/components/python/ConfigSample/*
 /usr/share/openrtm-1.2/components/python/ExtTrigger/*
 /usr/share/openrtm-1.2/components/python/MobileRobotCanvas/*
 /usr/share/openrtm-1.2/components/python/SeqIO/*
 /usr/share/openrtm-1.2/components/python/SimpleIO/*
 /usr/share/openrtm-1.2/components/python/SimpleService/*
 /usr/share/openrtm-1.2/components/python/Slider_and_Motor/*
 /usr/share/openrtm-1.2/components/python/Templates/*
 /usr/share/openrtm-1.2/components/python/Throughput/*
 /usr/share/openrtm-1.2/components/python/TkJoyStick/
 /usr/share/openrtm-1.2/components/python/TkLRFViewer/*

openrtm-aist-python-doc

  • クラスリファレンス(英語)
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_buffer_base_8py.html
     中略
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/uuid_8py.html
  • クラスリファレンス(日本語)
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_buffer_base_8py.html
     中略
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/uuid_8py.html 

openrtp

openrtpでは大量のファイルがインストールされるため、ここではリストしません。必要に応じて

 $ dpkg -L openrtp
と入力して各自での確認をしてください。

rtshell

  • コマンド用スクリプト
     /usr/local/bin/rtact
     /usr/local/bin/rtcat
     /usr/local/bin/rtcheck
     /usr/local/bin/rtcomp
     /usr/local/bin/rtcon
     /usr/local/bin/rtconf
     /usr/local/bin/rtcryo
     /usr/local/bin/rtdeact
     /usr/local/bin/rtdel
     /usr/local/bin/rtdis
     /usr/local/bin/rtdoc
     /usr/local/bin/rtexit
     /usr/local/bin/rtfind
     /usr/local/bin/rtfsm
     /usr/local/bin/rtinject
     /usr/local/bin/rtlog
     /usr/local/bin/rtls
     /usr/local/bin/rtmgr
     /usr/local/bin/rtprint
     /usr/local/bin/rtpwd
     /usr/local/bin/rtreset
     /usr/local/bin/rtresurrect
     /usr/local/bin/rtshell_post_install
     /usr/local/bin/rtstart
     /usr/local/bin/rtstodot
     /usr/local/bin/rtstop
     /usr/local/bin/rtteardown
     /usr/local/bin/rtvlog
     /usr/local/bin/rtwatch
  • コマンド本体
     /usr/local/lib/python2.7/dist-packages/rtctree/*
     /usr/local/lib/python2.7/dist-packages/rtshell/*
     /usr/local/lib/python2.7/dist-packages/rtsprofile/*
  • パッケージ情報
     /usr/local/lib/python2.7/dist-packages/rtctree_aist-4.2.0.egg-info/*
     /usr/local/lib/python2.7/dist-packages/rtshell_aist-4.2.2.dist-info/*
     /usr/local/lib/python2.7/dist-packages/rtsprofile_aist-4.1.2.dist-info/*

Raspbianへのインストール

Python版OpenRTM-aistはRaspberry Pi用Raspbianl用debパッケージが提供されています。 Raspbianへの対応およびそのバージョンは、予告なしに変更または停止されることがありますので、あらかじめご了承ください。

はじめに

対応バージョン

現在パッケージが用意されているRaspbianのバージョンは

  • Buster

です。

SDメモリーカードの準備

以下のページからRasbianのイメージをダウンロードして、SDメモリーカードに書き込みます。SDメモリーカードの容量は4GB以上はあったほうがよいでしょう。 SDメモリーカードへの書き込み方法については RPi SD Card Setup を参照してください。

Windowsでは、Win32 Disk Imagerなどを利用して書き込みます。 LinuxやMac OSではddを以下のように利用して書き込みます。

 $ sudo dd if=/dev/<SDメモリーカードのデバイスファイル> of=<ダウンロード・解凍したイメージファイル> bs=1m

OpenRTP-aistのインストール

openrtm.orgが提供するインストール・スクリプトpkg_install_raspbian.shを指定のURLからダウンロードし、root 権限で実行します。このスクリプトでは必要なパッケージを順次apt-getを用いてインストールしていきます。

オプションを指定することで、目的に合わせたパッケージをインストールすることが可能です。一括インストール・スクリプトをダウンロードして

 sudo sh pkg_install_raspian.sh -l python --yes
でインストールできます。

一括インストールスクリプトのダウンロードや詳しいインストール方法、指定可能なオプションの種類につきましては、「一括インストールスクリプト」のページをご確認ください。

RTShellのインストール

RTCをRaspbianにインストールしてそのホスト上からローカルにRTCをコントロールしたい場合にはRTShellが必要です。一括インストールスクリプトを用いてRTShellをインストールしてください。Raspbianではpkg_install_raspbian.shが置いてあるディレクトリで

 $ sudo sh ./pkg_install_raspbian.sh -l rtshell --yes
でインストールできます。

インストールの確認

インストールを確認します。

 $ dpkg -l 'openrt*'
 要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
 | 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
 |/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
 ||/ 名前                        バージョン   アーキテクチ 説明
 +++-===========================-============-============-===============================================
 ii  openrtm-aist-python         1.2.1-0      armhf        OpenRTM-aist, RT-Middleware distributed by AIST
 ii  openrtm-aist-python-doc     1.2.1-0      all          Documentation for openrtm-aist-python
 ii  openrtm-aist-python-example 1.2.1-0      armhf        OpenRTM-aist-Python examples

rtshellのインストールも確認します。

 $ pip show rtshell-aist
 Name: rtshell-aist
 Version: 4.2.2
 Summary: Shell commands for managing RT Components and RT Systems.
 Home-page: http://github.com/gbiggs/rtshell
 Author: Geoffrey Biggs and contributors
 Author-email: geoffrey.biggs@aist.go.jp
 License: LGPL3
 Location: /usr/local/lib/python2.7/dist-packages
 Requires: rtctree-aist, rtsprofile-aist

パッケージの詳細

各パッケージの内容は以下の通りです。

openrtm-aist-python

  • コマンド
     /usr/bin/rtcd_python
     /usr/bin/rtcprof_python
  • OpenRTM-aist 本体の Python モジュール
     usr/lib/python2.7/dist-packages/OpenRTM-aist/*
  • OpenRTM-aist用Python検索パスファイル
     /usr/lib/python2.7/dist-packages/OpenRTM_aist.ph
  • ユーティリティ
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/__init__.py
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtc-template/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtcd/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtcprof/*
     /usr/lib/python2.7/dist-packages/OpenRTM_aist/utils/rtm-naming/*

openrtm-aist-python-example

 /usr/share/openrtm-1.2/components/python/__init__.py
 /usr/share/openrtm-1.2/components/python/rtcd.conf
 /usr/share/openrtm-1.2/components/python/components.conf
 /usr/share/openrtm-1.2/components/python/AutoControl/*
 /usr/share/openrtm-1.2/components/python/AutoTest/*
 /usr/share/openrtm-1.2/components/python/Composite/*
 /usr/share/openrtm-1.2/components/python/ConfigSample/*
 /usr/share/openrtm-1.2/components/python/ExtTrigger/*
 /usr/share/openrtm-1.2/components/python/MobileRobotCanvas/*
 /usr/share/openrtm-1.2/components/python/SeqIO/*
 /usr/share/openrtm-1.2/components/python/SimpleIO/*
 /usr/share/openrtm-1.2/components/python/SimpleService/*
 /usr/share/openrtm-1.2/components/python/Slider_and_Motor/*
 /usr/share/openrtm-1.2/components/python/Templates/*
 /usr/share/openrtm-1.2/components/python/Throughput/*
 /usr/share/openrtm-1.2/components/python/TkJoyStick/
 /usr/share/openrtm-1.2/components/python/TkLRFViewer/*

openrtm-aist-python-doc

  • クラスリファレンス(英語)
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_buffer_base_8py.html
     中略
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/uuid_8py.html
  • クラスリファレンス(日本語)
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_buffer_base_8py.html
     中略
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/uuid_8py.html 

RTShell

  • コマンド用スクリプト
     /usr/local/bin/rtact
     /usr/local/bin/rtcat
     /usr/local/bin/rtcheck
     /usr/local/bin/rtcomp
     /usr/local/bin/rtcon
     /usr/local/bin/rtconf
     /usr/local/bin/rtcryo
     /usr/local/bin/rtdeact
     /usr/local/bin/rtdel
     /usr/local/bin/rtdis
     /usr/local/bin/rtdoc
     /usr/local/bin/rtexit
     /usr/local/bin/rtfind
     /usr/local/bin/rtfsm
     /usr/local/bin/rtinject
     /usr/local/bin/rtlog
     /usr/local/bin/rtls
     /usr/local/bin/rtmgr
     /usr/local/bin/rtprint
     /usr/local/bin/rtpwd
     /usr/local/bin/rtreset
     /usr/local/bin/rtresurrect
     /usr/local/bin/rtshell_post_install
     /usr/local/bin/rtstart
     /usr/local/bin/rtstodot
     /usr/local/bin/rtstop
     /usr/local/bin/rtteardown
     /usr/local/bin/rtvlog
     /usr/local/bin/rtwatch
  • コマンド本体
     /usr/local/lib/python2.7/dist-packages/rtctree/*
     /usr/local/lib/python2.7/dist-packages/rtshell/*
     /usr/local/lib/python2.7/dist-packages/rtsprofile/*
  • パッケージ情報
     /usr/local/lib/python2.7/dist-packages/rtctree_aist-4.2.0.egg-info/*
     /usr/local/lib/python2.7/dist-packages/rtshell_aist-4.2.2.dist-info/*
     /usr/local/lib/python2.7/dist-packages/rtsprofile_aist-4.1.2.dist-info/*

Fedoraへのインストール

Python版OpenRTM-aistはFedora Linuxで利用可能なRPMパッケージが提供されています。 対応しているFedora Linuxのバージョンは、ダウンロードページから確認できます。 Fedora Linuxへの対応およびそのバージョンは、予告なしに変更または停止されることがありますので、あらかじめご了承ください。

Fedora Linuxへのインストールの方法には大きく分けて以下の二種類のインストール方法があります。
  • openrtm.orgが提供する一括インストールスクリプトを使用
  • yumパッケージマネージャを使用

一括インストール・スクリプト

openrtm.orgが提供するインストール・スクリプトpkg_install_fedora.shをダウンロードページからダウンロードし、root権限で実行します。 このスクリプトは、必要なパッケージを順次yumを用いてインストールしていきます。

OpenRTM-aistを開発・実行するために必要なパッケージをもれなくインストールしてくれるので大変便利です。

オプションを指定することで、目的に合わせたパッケージをインストールすることが可能です。一括インストール・スクリプトをダウンロードして

 sudo sh pkg_install_fedora.sh -l python --yes
でインストールできます。 一括インストールスクリプトのダウンロードや詳しいインストール方法、指定可能なオプションの種類につきましては、「一括インストールスクリプト」のページをご確認ください。

OpenRTPのインストール

一般的なUbuntu/Debian環境での開発にはRTC BuilderやRTSystem Editorを使用しますが、その場合にはOpenRTPが必要ですので、一括インストールスクリプトを用いてOpenRTPをインストールしてください。Ubuntuではpkg_install_ubuntu.shが置いてあるディレクトリで

 $ sudo sh ./pkg_install_fedora.sh -l openrtp --yes
と入力するとOpenRTPをインストールできます。

現状Fedora用一括インストールスクリプトでは-l pythonでPython用の環境をインストールした後に、-l openrtpをインストールした場合OpenRTPの実行に必要なファイルが一部インストールされないという問題がありますので上記実行後

 $ sudo yam install OpenRTM-aist
としてOpenRTM-aistをインストールしてください。

JDK8のインストール

OpenRTP(RTSystem EditorやRTC Builderなど)の実行にはJDK8相当のJava環境が必要です。現時点でFedoraの環境では、一括インストールスクリプトがFedoraのrpmリポジトリよりOpenJDK8をインストールします。他のJDK8をインストールしたい場合は下記のリンクを参照してください。なお、RTShell/RTCTree/RTSprofileの使用にはJDKは必要ありませんのでOpenRTPを使わない場合にはJDK8をインストールする必要はありません。 JDK8の入手やインストールについては以下を参照してください。

RTShellのインストール

制御コンピュータが小規模のシステムの場合など、CUIでRTCを制御したい場合にはOpenRTPのRTSystemEditor相当の機能をCUIから実行できるようなツールとしてRTShellと呼ばれるツールが提供されています。RTShellのインストールは一括インストールスクリプトを用いて、一括インストールスクリプト・ファイルが置かれているディレクトリで

 $ sudo sh pkg_install_fedora.sh -l rtshell --yes

でインストールできます。

yumとpipを使う方法

/etc/yum.repos.d/openrtm.repoの作成

openrtm.orgではyumから利用可能なパッケージリポジトリを提供しています。 ただし、デフォルトのパッケージリポジトリには含まれていませんので、yumの設定を変更する必要があります。

以下のような設定を記録したファイル/etc/yum.repos.d/openrtm.repoを作成しておきます。作成には通常root権限が必要です。

 [openrtm]
 name=Fedora $releasever - $basearch
 failovermethod=priority
 baseurl=http://openrtm.org/pub/Linux/Fedora/releases/$releasever/Fedora/$basearch/os/Packages
 enabled=1
 gpgcheck=0
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
/etc/yum.repos.d/openrtm.repo

yumによるインストール

openrtm.repoを作成したら、次の手順でインストールを行います。 途中、いくつかの応答を求められるので、yを入力しながら完了させます。

  • OpenRTM-aist-Pythonのインストール
     $ sudo yum install gcc-c++ python
     $ sudo yum install omniORB omniORB-devel omniORB-doc omniORB-servers omniORB-utils
     $ sudo yum install OpenRTM-aist-Python OpenRTM-aist-Python-doc OpenRTM-aist-Python-example
  • OpenRTPのインストール
     $ sudo yum install OpenRTP
     $ sudo yum install OpenRTM-aist
  • RTShellのインストール
     $ sudo pip3 install rtshell-aist

インストールの確認

最後に以下のコマンドでインストールの確認をします。

  • OpenRTPもインストールしている場合
     $ rpm -qa OpenRT*
     OpenRTM-aist-devel-1.2.0-0.fc29.x86_64
     OpenRTM-aist-Python-1.2.0-0.29.x86_64
     OpenRTM-aist-Python-example-1.2.0-0.29.x86_64
     OpenRTP-1.2.0-1.fc29.x86_64
     OpenRTM-aist-1.2.0-0.fc29.x86_64
     OpenRTM-aist-Python-doc-1.2.0-0.29.x86_64
  • OpenRTPをインストールしていない場合
     $ rpm -qa OpenRT*
     OpenRTM-aist-Python-1.2.0-0.29.x86_64
     OpenRTM-aist-Python-example-1.2.0-0.29.x86_64
     OpenRTM-aist-Python-doc-1.2.0-0.29.x86_64
  • rtshellのインストールは
     $ pip3 show rtshell-aist
     Name: rtshell-aist
     Version: 4.2.2
     Summary: Shell commands for managing RT Components and RT Systems.
     Home-page: http://github.com/gbiggs/rtshell
     Author: Geoffrey Biggs and contributors
     Author-email: geoffrey.biggs@aist.go.jp
     License: LGPL3
     Location: /usr/local/lib/python3.7/dist-packages
     Requires: rtctree-aist, rtsprofile-aist
    と確認できます。

パッケージの詳細

各パッケージの内容は以下の通りです(64bit版Fedoraの場合)

OpenRTM-aist-Python

  • コマンド
     /usr/bin/rtcd_python
     /usr/bin/rtcprof_python
  • OpenRTM-aist 本体の Python モジュール
     usr/lib/python3.7/site-packages/OpenRTM-aist/*
  • OpenRTM-aist用Python検索パスファイル
     /usr/lib/python3.7/site-packages/OpenRTM_aist.ph
  • ユーティリティ
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/__init__.py
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtc-template/*
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtcd/*
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtcprof/*
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtm-naming/*

openrtm-aist-python-example

 /usr/share/openrtm-1.2/components/python/__init__.py
 /usr/share/openrtm-1.2/components/python/rtcd.conf
 /usr/share/openrtm-1.2/components/python/components.conf
 /usr/share/openrtm-1.2/components/python/AutoControl/*
 /usr/share/openrtm-1.2/components/python/AutoTest/*
 /usr/share/openrtm-1.2/components/python/Composite/*
 /usr/share/openrtm-1.2/components/python/ConfigSample/*
 /usr/share/openrtm-1.2/components/python/ExtTrigger/*
 /usr/share/openrtm-1.2/components/python/MobileRobotCanvas/*
 /usr/share/openrtm-1.2/components/python/SeqIO/*
 /usr/share/openrtm-1.2/components/python/SimpleIO/*
 /usr/share/openrtm-1.2/components/python/SimpleService/*
 /usr/share/openrtm-1.2/components/python/Slider_and_Motor/*
 /usr/share/openrtm-1.2/components/python/Templates/*
 /usr/share/openrtm-1.2/components/python/Throughput/*
 /usr/share/openrtm-1.2/components/python/TkJoyStick/
 /usr/share/openrtm-1.2/components/python/TkLRFViewer/*

openrtm-aist-python-doc

  • クラスリファレンス(英語)
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_buffer_base_8py.html
     中略
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/uuid_8py.html
  • クラスリファレンス(日本語)
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_buffer_base_8py.html
     中略
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/uuid_8py.html 

OpenRTM-aist

openrtm-aistにはランタイムライブラリとコマンド群が含まれています。

  • サンプル設定ファイル
     /etc/rtc.conf.sample
  • コマンド
     /usr/bin/rtcd
     /usr/bin/rtcprof
     /usr/bin/rtm-config
     /usr/bin/rtm-naming
  • ライブラリ
     /usr/lib64/libRTC-1.2.0.so
     /usr/lib64/libRTC.a
     /usr/lib64/libRTC.la
     中略
     /usr/lib64/librtmManipulator.so.0.0.0
     /usr/lib64/openrtm-1.2/ec/FileNameservice.la
     /usr/lib64/openrtm-1.2/ec/FileNameservice.so
     中略
     /usr/lib64/openrtm-1.2/ssl/SSLTransport.so.0.0.0

OpenRTM-aist-devel

openrtm-aist-devには、開発に必要なコマンド群とヘッダが含まれています。

  • コマンド
     /usr/bin/coil-config
     /usr/bin/rtc-template
     /usr/bin/rtm-skelwrapper
  • ヘッダ
     /usr/include/coil-1.2/coil/Affinity.h
     /usr/include/coil-1.2/coil/Allocator.h
     中略
     /usr/include/coil-1.2/coil/stringutil.h
     /usr/include/openrtm-1.2/rtm/BufferBase.h
     /usr/include/openrtm-1.2/rtm/BufferStatus.h
     中略
     /usr/include/openrtm-1.2/rtm/version.txt
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.idl
     中略
     /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
     中略
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
     中略
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
  • IDL およびスタブ・スケルトン
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
 中略
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
 /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
 /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
 中略
 /usr/include/openrtm-1.2/rtm/idl/SharedMemoryStub.h
 /usr/include/openrtm-1.2/rtm/idl/device_interfaces/AIO.idl
 /usr/include/openrtm-1.2/rtm/idl/device_interfaces/ActArray.idl
 中略
 /usr/include/openrtm-1.2/rtm/idl/device_interfaces/Ranger.idl
 
  • ライブラリ
     /usr/lib64/openrtm-1.2/cmake/OpenRTMConfig.cmake
     /usr/lib64/openrtm-1.2/py_helper/README_gen.py
     /usr/lib64/openrtm-1.2/py_helper/cxx_gen.py
     中略
     /usr/lib64/openrtm-1.2/py_helper/yat.py
     /usr/lib64/pkgconfig/libcoil.pc
     /usr/lib64/pkgconfig/openrtm-aist.pc

OpenRTP

OpenRtpでは大量のファイルがインストールされるため、ここではリストしません。必要に応じて

 $ rpm -ql  OpenRTP
と入力して各自での確認をしてください。

RTShell

  • コマンド用スクリプト
     /usr/local/bin/rtact
     /usr/local/bin/rtcat
     /usr/local/bin/rtcheck
     /usr/local/bin/rtcomp
     /usr/local/bin/rtcon
     /usr/local/bin/rtconf
     /usr/local/bin/rtcryo
     /usr/local/bin/rtdeact
     /usr/local/bin/rtdel
     /usr/local/bin/rtdis
     /usr/local/bin/rtdoc
     /usr/local/bin/rtexit
     /usr/local/bin/rtfind
     /usr/local/bin/rtfsm
     /usr/local/bin/rtinject
     /usr/local/bin/rtlog
     /usr/local/bin/rtls
     /usr/local/bin/rtmgr
     /usr/local/bin/rtprint
     /usr/local/bin/rtpwd
     /usr/local/bin/rtreset
     /usr/local/bin/rtresurrect
     /usr/local/bin/rtshell_post_install
     /usr/local/bin/rtstart
     /usr/local/bin/rtstodot
     /usr/local/bin/rtstop
     /usr/local/bin/rtteardown
     /usr/local/bin/rtvlog
     /usr/local/bin/rtwatch
  • コマンド本体
     /usr/local/lib/python3.7/dist-packages/rtctree/*
     /usr/local/lib/python3.7/dist-packages/rtshell/*
     /usr/local/lib/python3.7/dist-packages/rtsprofile/*
  • パッケージ情報
     /usr/local/lib/python3.7/dist-packages/rtctree_aist-4.2.0.egg-info/*
     /usr/local/lib/python3.7/dist-packages/rtshell_aist-4.2.2.dist-info/*
     /usr/local/lib/python3.7/dist-packages/rtsprofile_aist-4.1.2.dist-info/*

動作確認(Windows編)

サンプルコンポーネントの場所

インストールまたはビルドが正常に終了したら、付属のサンプルで動作テストをします。サンプルは、通常は以下の場所にあります。

  • C:\Program Files\OpenRTM-aist\1.2.x\Components\Python
  • <ソースディレクトリ>/OpenRTM-aist/examples(ソースからビルドした場合)

サンプルコンポーネントセットSimpleIOを使って、OpenRTM-aistが正しくビルド・インストールされているかを確認します。

サンプル(SimpleIO)を使用した動作確認

RTコンポーネント ConsoleIn、ConsoleOutからなるサンプルセットです。ConsoleInはコンソールから入力された数値をOutPortから出力するコンポーネント、ConsoleOutはInPortに入力された数値をコンソールに表示するコンポーネントです。 これらは、最もSimpleなI/O(入出力)を例示するためのサンプルです。ConsoleInのOutPortからConsoleOutのInPortへ接続を構成し、これらの2つのコンポーネントをアクティブ化(Activate)することで動作します。

動作確認環境

以下では、msiインストーラーでOpenRTM-aistをデフォルトでインストールした環境で、スタートメニューから各種プログラムを起動する場合しOpenRTPを使う方法をまず説明し、その後、インストール時にOpenRTM-aist-PythonとRTShellだけをインストールした場合や、ソースビルド後に動作確認をする方法を説明します。

OpenRTPを使う方法

RT System Editor、ネームサーバー起動

以下の手順に従ってRT System Editor、ネームサーバーを起動してください。

サンプルコンポーネントの起動

ネームサーバー起動後、適当なサンプルコンポーネントを起動します。

Windows 10の場合は右下の「ここに入力して検索」にPython_Examplesと入力してサンプルのフォルダを開きます。

rtm7-2.png
ネームサーバーの起動を確認

rtm8-2.png
サンプルコンポーネントフォルダー

ここでは、「ConsoleIn.bat」「ConsoleOut.bat」をそれぞれダブルクリックして2つのコンポーネントを起動します。起動すると、下図のような2つのコンソール画面が開きます。

rtm9-2.png
ConsoleInコンポーネントとConsoleOutコンポーネント

コンポーネントが起動しない場合

コンポーネントが起動しない場合、いくつかの原因が考えられます。

コンソール画面が開いてすぐに消える

rtc.confの設定に問題があり、起動できないケースがあります。上記スタートメニューフォルダーの[rtc.conf for examples]を開いて設定を確認してください。例えば、corba.endpoint/corba.endpointsなどの設定が現在実行中のPCのホストアドレスとミスマッチを起こしている場合などは、CORBAが異常終了します。

以下のような最低限のrtc.confに設定しなおして試してみてください。

 corba.nameservers: localhost

omniORBpyがインストールされていない。

openrtm.orgが提供するmsiインストーラーにはomniORBpyが含まれていますが、カスタムインストールを選択すると、omniORBpyをインストールせずにOpenRTM-aist-Pythonをインストールできます。また、手動でインストールした場合には、omniORBpyが入っていない場合も考えられますので、omniORBpyがインストールされているか確認してください。

pyファイルの関連付けが違っている

ConsoleIn、ConsoleOutを起動するファイルは、

C:\Program Files\OpenRTM-aist\1.2.x\Components\Python\Examples\SimpleIO\ConsoleIn.py
C:\Program Files\OpenRTM-aist\1.2.x\Components\Python\Examples\SimpleIO\ConsoleOut.py

です。(64bit版msiでインストールした場合)このディレクトリでコンソール画面を開き、python ConsoleIn.pyを実行すると起動するが、ConsoleIn.pyをダブルクリックして起動できない場合はインストールしているpythonを確認してください。Pythonの32bit版、64bit版の両方をインストールしている場合、先にインストールしたものがpyファイルに関連付けられるようなので、OpenRTM-aist-Pythonのインストーラーと同じアーキテクチャのPythonを先にインストールすると解決するかもしれません。

その他

ホスト名やアドレスの設定の問題で、起動がうまくいかないケースがあります。その場合、利用しているPCのIPアドレスをomniNames.exeに教えてあげるとうまくいくケースがあります。 環境変数OMNIORB_USEHOSTNAMEを以下のように設定します(以下は自ホストのIPアドレスが192.168.0.11の場合の例)。

 変数名(N): OMNIORB_USEHOSTNAME
 変数値(V): 192.168.0.11

エディタへの配置

RT System Editorのツリー表示の[>]をクリックすると、先ほど起動した2つのコンポーネントが登録されていることがわかります。

/ja/node/6614
ConsoleInコンポーネントとConsoleOutコンポーネント

システムを編集するエディタを開きます。上部のエディタを[開く]ボタンrtse_open_editor_icon_ja.png をクリックすると、中央のペインにエディタが開きます。左側のネームサービスビューに rtse_rtc_icon_n.png のアイコンで表示されているコンポーネント(2つ)を中央のエディタにドラッグアンドドロップします。

/ja/node/6614
コンポーネントをエディタに配置

接続とアクティブ化

ConsoleIn0コンポーネントの右側にはデータが出力されるOutPort rtse_outport_icon_n.png 、ConsoleOut0コンポーネントの左側にはデータが入力されるInPort rtse_inport_icon_n.png がそれぞれについています。

これらInPort/OutPort(まとめてデータポートと呼びます)を接続します。OutPortからInPort(またはInPortからOutPort)へドラッグランドドロップすると、図のようなダイアログが現れますので、デフォルト設定のまま[OK]ボタンをクリックします。

/ja/node/6614
データポートの接続

/ja/node/6614
データポート接続ダイアログ

2つのコンポーネントの間に接続線が現れます。次に、エディタ上部メニューの[All Activate]ボタン rtm14.png をクリックし、これらのコンポーネントをアクティブ化します。アクティブ化されると、コンポーネントが緑色に変化します。

/ja/node/6614
アクティブ化されたコンポーネント

コンポーネントがアクティブ化されるとConsoleInコンポーネント側では

 Please input number: 

というプロンプト表示に変わりますので、適当な数値(short intの範囲内:32767以下)を入力しEnterキーを押します。すると、ConsoleOut側では、入力した数値が表示され、ConsoleInコンポーネントからConsoleOutコンポーネントへデータが転送されたことがわかります。

以上で、OpenRTPを用いたコンポーネントの基本動作の確認は終了です。

ソースビルドした場合に動作を確認する方法

RTShellのインストール

環境変数の設定

  • Windows 10の場合は右下の「ここに入力して検索」にシステム環境変数と入力して表示されるものから[システム環境変数の編集]を選択し、[システムのプロパティ]ダイアログを開きます。
    rtshell1.png
  • [環境変数(N)...]ボタンをクリックします。
    rtshell2.png
  • 下側の[システム環境変数(S)]の方の[新規(W)...]ボタンをクリックします。
    rtshell3.png
  • [変数名(N):]に”RTCTREE_NAMESERVERS"と入力し[変数値(V):]に"127.0.0.1"と入力し[OK]をクリックします。
    rtshell4.png
  • [OK]を何度かクリックし開いたダイアログを閉じます。

Name Serverの起動

以下はPython3.7をPython37ディレクトリにインストールしてある前提で説明します。
  • エクスプローラで<ソースディレクトリ>\OpenRTM_aist\utils\rtm-namingに移動し、rtm-naming.pyをダブルクリックします。以下のような画面が表示されるはずです。
    rtshell5.png

サンプルコンポネントの起動

  • エクスプローラで<ソースディレクトリ>\OpenRTM-aist\examples\SimpleIOに移動し、[ConsoleIn.py]と[ConsoleOut.py]をダブルクリックします。
  • コマンドラインコンソールを開きます。
  • コマンドラインから以下のようにコマンドrtlsを実行し、以下のように表示されることを確認します。
     C:\Users\openrtm>rtls -R
     .:
     127.0.0.1/
     
     ./127.0.0.1:
     ConsoleIn0.rtc  ConsoleOut0.rtc
  • ConsoleInコンポーネントとConsoleOutコンポーネントを接続します。
     rtcon /localhost/ConsoleIn0.rtc:out /localhost/ConsoleOut0.rtc:in
  • ConsoleInコンポーネントとConsoleOutコンポーネントをActivateします。
     rtact /localhost/ConsoleIn0.rtc /localhost/ConsoleOut0.rtc
  • するとConsoleIn.pyとConsoleOut.pyのコンソールが以下のように変わり、ConsoleIn.py側コンソールに"Please Input number:"と表示されます。
    rtm9-3.png
  • ConsoleIn.pyのコンソールから数値を(16bit 整数の範囲で)入力しEnterキーを押します。
  • ConsoleOut.pyのコンソールにConsoleIn.pyのコンソールで入力した数値が表示されるのを確認します。 同じ数値が表示されていれば動作は確認できました。
  • 以下のように入力しDeactivateします。
     rtdeact /localhost/ConsoleIn0.rtc /localhost/ConsoleOut0.rtc
    この時ConsoleIn.py側のコンソールに数値を入力しEnterキーを押すことにより、入力待ち状態を解消してください。 その後
     rtexit /localhost/ConsoleIn0.rtc
     rtexit /localhost/ConsoleOut0.rtc
    と入力し、コンソールが閉じることを確認してください。

RTShellとOpenRTM-aist-Pythonをmsiファイルを用いてインストールした場合の確認方法

環境変数の設定

  • Windows 10の場合は右下の「ここに入力して検索」にシステム環境変数と入力して表示されるものから[システム環境変数の編集]を選択し、[システムのプロパティ]ダイアログを開きます。
    rtshell1.png
  • [環境変数(N)...]ボタンをクリックします。
    rtshell2.png
  • 下側の[システム環境変数(S)]の方の[新規(W)...]ボタンをクリックします。
    rtshell3.png
  • [変数名(N):]に”RTCTREE_NAMESERVERS"と入力し[変数値(V):]に"127.0.0.1"と入力し[OK]をクリックします。
    rtshell4.png
  • [OK]を何度かクリックし開いたダイアログを閉じます。

Name Serverの起動

  • 画面の左下の[ここに入力して検索]に"start naming service"と入力します。
  • [Start Naming Service]をクリックします。
    rtshell6.png
  • 以下のような画面が表示されます。
    rtshell5.png

サンプルコンポネントの起動

  • エクスプローラで<ソースディレクトリ>\OpenRTM-aist\examples\SimpleIOに移動し、[ConsoleIn.py]と[ConsoleOut.py]をダブルクリックします。
  • コマンドラインコンソールを開きます。
  • コマンドラインから以下のようにコマンドrtlsを実行し、以下のように表示されることを確認します。
     C:\Users\openrtm>rtls -R
     .:
     127.0.0.1/
     
     ./127.0.0.1:
     ConsoleIn0.rtc  ConsoleOut0.rtc
  • ConsoleInコンポーネントとConsoleOutコンポーネントを接続します。
     rtcon /localhost/ConsoleIn0.rtc:out /localhost/ConsoleOut0.rtc:in
  • ConsoleInコンポーネントとConsoleOutコンポーネントをActivateします。
     rtact /localhost/ConsoleIn0.rtc /localhost/ConsoleOut0.rtc
  • するとConsoleIn.pyとConsoleOut.pyのコンソールが以下のように変わり、ConsoleIn.py側コンソールに"Please Input number:"と表示されます。
    rtm9-3.png
  • ConsoleIn.pyのコンソールから数値を(16bit 整数の範囲で)入力しEnterキーを押します。
  • ConsoleOut.pyのコンソールにConsoleIn.pyのコンソールで入力した数値が表示されるのを確認します。
同じ数値が表示されていれば動作は確認できました。
  • 以下のように入力しDeactivateします。
     rtdeact /localhost/ConsoleIn0.rtc /localhost/ConsoleOut0.rtc
    この時ConsoleIn.py側のコンソールに数値を入力しEnterキーを押すことにより、入力待ち状態を解消してください。 その後
     rtexit /localhost/ConsoleIn0.rtc
     rtexit /localhost/ConsoleOut0.rtc
    と入力し、コンソールが閉じることを確認してください。

他のサンプル

インストーラーには、このほかにもいくつかのサンプルコンポーネントが付属しています。これらのコンポーネントも同様に起動し、RTSystemEditorでポート同士を接続し、アクティブ化することで試すことができます。付属しているコンポーネントのリストと簡単な説明を以下に示します。

ConsoleIn.py コンソールから入力された数値をOutPortから出力する。ConsoleOut.pyに接続して使用する。
ConsoleOut.py InPortに入力された数値をコンソールに表示するコンポーネント。ConsoleIn.pyに接続して使用する。
SeqIn.py ランダムな数値(Short、Long、Float、Doubleとそのシーケンス型)を出力するコンポーネント。SeqOut.pyに接続して使用する。
SeqOut.py InPortに入力される数値(Short、Long、Float、Doubleとそのシーケンス型)を表示。SeqIn.pyに接続して使用する。
MyServiceProvider.py MyService型のサービスを提供するコンポーネント。MyServiceConsumer.pyに接続して使用する。
MyServiceConsumer.py MyService型のサービスを利用するコンポーネント。MyServiceProvider.pyに接続して使用する。
ConfigSample.py Configurationのサンプル。RTSystemEditorからConfigurationを変更してConfigurationの挙動を理解するためのサンプル。
TkMobileRobotSimulator.py モバイルロボットの簡易シミュレーター。ロボットの速度をInPortで受け、移動後の位置をOutPortから出力する。
NXTRTC.py LEGO MINDSTORMを用いたモバイルロボットを制御するためのサンプル。InPortにて速度を受け、赤外線センサーと現在位置をそれぞれOutPortから出力する。
AutoControl.py モバイルロボット用のコンポーネントで速度を出力する。測位センサーのデータをInPortで受け、ロボットの速度を計算してOutPortから出力する。
Composite.py Composite用のサンプル。Motor、Controller、Sensorを包含するコンポーネント。Compositeの使用方法を理解するためのサンプル。
Motor.py Compositeコンポーネント用のサンプル。Compositeの子要素として使用。
Controller.py Compositeコンポーネント用のサンプル。Compositeの子要素として使用。
Sensor.py Compositeコンポーネント用のサンプル。Compositeの子要素として使用。
SliderComp.py Tcl/Tkを用いたGUIコンポーネントのサンプル。Sliderで指定した値をOutPortから出力する。
TkMotorComp.py Tcl/Tkを用いたGUIコンポーネントのサンプル。InPortで受け取った値の速度で回転する様子をGUIで表示する。
TkMotorPosComp.py Tcl/TKを用いたGUIコンポーネントのサンプル。InPortで受け取った値を回転角として動く様子をGUIで表示する。
TkLRFViewer.py Tcl/Tkを用いたGUIコンポーネントのサンプル。レーザーレンジセンサーなどから出力されるデータを表示する。
TkJoystickComp.py Tcl/Tkを用いたGUIコンポーネントのサンプル。簡易ジョイスティックコンポーネント。


動作確認(Linux編)

インストールが正常に終了したら、付属のサンプルで動作テストをします。サンプルは、通常は以下の場所にあります。
  • /usr/share/openrtm-1.2/components/python/<サンプルコンポーネントセット名>
ソースからビルドした場合は、ソースディレクトリ下の
  • OpenRTM_aist/examples/<サンプルコンポーネントセット名>

サンプルコンポーネントセットSimpleIOを使って、OpenRTM-aistが正しくビルド・インストールされているかを確認します。

サンプルコンポーネントセットSimpleIO

RTコンポーネントConsoleIn、ConsoleOutからなるサンプルセットです。ConsoleInはコンソールから入力された数値をOutPortから出力するコンポーネント、ConsoleOutはInPortに入力された数値をコンソールに表示するコンポーネントです。これらは、SimpleなI/O(入出力)を例示するためのサンプルです。ConsoleInのOutPortからConsoleOutのInPortへ接続を構成し、これらの2つのコンポーネントをアクティブ化(Activate)することで動作します。

以降、サンプルは/usr/share/openrtm-1.2/components/python/SimpleIO下にあるか、ソースコードからビルドした場合は<source_dir>/OpenRTM_aist/examples/SimpleIO/にあり、Python本体の実行ファイルにはサーチパスが設定されているものとして説明を記述します。

サンプルを使用した動作確認

RTSystemEditorを使った動作確認

ネームサーバーの起動

以下の手順に従ってRT System Editor、ネームサーバーを起動してください。

ConsoleInの起動

  • ターミナルを起動してConsoleInを起動します。
     $ python /usr/share/openrtm-1.2/components/python/SimpleIO/ConsoleIn.py
    自分でビルド・インストールした場合は、
     $ python <source_dir>/OpenRTM_aist/examples/SimpleIO/ConsoleIn.py
    などとしてConsoleInを起動します。

ConsoleOutの起動

  • 別のターミナルを起動してConsoleOutを起動します。
     $ /usr/share/openrtm-1.2/components/python/SimpleIO/ConsoleOut
    自分でビルド・インストールした場合は、同様に
     $ python <source_dir>/OpenRTM_aist/examples/SimpleIO/ConsoleOut.py
    などとしてConsoleOutを起動します。

エディタへの配置

  • RT System Editorのツリー表示の[>]をクリックすると、先ほど起動した2つのコンポーネントが登録されていることがわかります。
    /ja/node/6614
    ConsoleInコンポーネントとConsoleOutコンポーネント
  • システムを編集するエディタを開きます。上部のエディタを[開く]ボタンrtse_open_editor_icon_ja.pngをクリックすると、中央のペインにエディタが開きます。
  • 左側のネームサービスビューにrtse_rtc_icon_n.pngのアイコンで表示されているコンポーネント(2つ)を中央のエディタにドラッグアンドドロップします。
    /ja/node/6614
    コンポーネントをエディタに配置

接続とアクティブ化

  • ConsoleIn0コンポーネントの右側にはデータが出力されるOutPortrtse_outport_icon_n.png、ConsoleOut0コンポーネントの左側にはデータが入力されるInPortrtse_inport_icon_n.pngがそれぞれついています。
    /ja/node/6614
    データポートの接続
  • これらInPort/OutPort(まとめてデータポートと呼びます)を接続します。 OutPortからInPort(またはInPortからOutPort)へドラッグランドドロップすると、図のようなダイアログが現れますので、デフォルト設定のまま[OK]ボタンをクリックします。
    /ja/node/6614
    データポート接続ダイアログ
  • 2つのコンポーネントの間に接続線が現れます。次に、エディタ上部メニューの[All Activate]ボタンrtm14.pngをクリックし、これらのコンポーネントをアクティブ化します。
  • アクティブ化されると、コンポーネントが緑色に変化します。
    /ja/node/6614
    アクティブ化されたコンポーネント
  • コンポーネントがアクティブ化されるとConsoleInコンポーネント側では
     Please input number: 
    というプロンプト表示に変わりますので、適当な数値(short intの範囲内:32767以下)を入力しEnterキーを押します。すると、ConsoleOut側では、入力した数値が表示され、ConsoleInコンポーネントからConsoleOutコンポーネントへデータが転送されたことがわかります。

以上で、RTSystemEditorを用いたコンポーネントの基本動作の確認は終了です。

コマンドラインからの動作確認

以下は一括インストールスクリプトを-l pythonオプションで実行するか、ソースビルドの手順に従ってPython版OpenRTM-aistをインストールし、その後一括インストールスクリプトを-l rtshellオプションで実行しRTShellがインストールされている前提での説明です。
  • 環境変数のRTCTREE_NAMESERVERSが設定されているかどうか確認します。設定されいていない場合は、/etc/profile.dディレクトリに適当な名前の.shファイル、例えばrtctree_env.shを作って、その中に
     export RTCTREE_NAMESERVERS=127.0.0.1
    の行を挿入して、sourceで実行してください。例えば/etc/profile.d/rtctree_env.shを作った場合は
     $ source /etc/profile.d/rtctee_env.sh
    としてください。

    ネームサーバーの起動

  • ネームサーバーを起動します。以下のコマンドで起動ができます。
     $ sudo python /user/local/lib/{python2.7|python3.6|python3.7}/dist-packages/OpenRTM_aist/utils/rtm-naming/rtm-naming.py
    ここで{Python2.7|python3.6|python3.7}は、Python版のOpenRTM-aistをインストールした時のLinux環境でインストールしてあったPythonのバージョンによって変わり、Python 2.7がインストールされていた場合は"Python2.7"です。(Ubuntu18.04のデフォルトはPython2.7です。) 以下のような画面が表示されます。
    startnameservice002.png
    ネームサーバー画面

サンプルコンポーネントの起動

  • ターミナルを開きます。
  • ターミナルでカレントディレクトリを/usr/share/openrtm-1.2/components/python/SimpleIO/か、ソースビルドした場合は<ソースディレクトリ>/OpenRTM_aist/examples/SimpleIOにします。例えば
     $ cd /usr/share/openrtm-1.2/components/python/SimpleIO
    と入力します。
  • ConsoleInコンポーネントを以下のコマンド起動します。
     $ python ConsoleIn.py
  • 別ターミナルを開きます。
  • カレントディレクトリを上記と同じところに設定します。
  • ConsoleOutコンポーネントを以下のコマンドで起動します。
     $ python ConsoleOut.py

ネームサービス上の名前の確認

  • 別ターミナルを開きます 以下のようにして名前を確認してください。
     $ rtls -R
     .:
     127.0.0.1/
     
     ./127.0.0.1:
     ConsoleIn0.rtc  ConsoleOut0.rtc

    サンプルコンポーネントの接続

  • ConsoleIn0コンポネントとConsoleOut0を以下のコマンド接続します。 上記で開いたターミナルで
     rtcon /localhost/ConsoleIn0.rtc:out /localhost/ConsoleOut0.rtc:in
    と入力します。

    サンプルコンポーネントのアクティブ化

  • 上記のターミナルで
     rtact /localhost/ConsoleIn0.rtc /localhost/ConsoleOut0.rtc
    と入力します。すると、Consolein.pyとConsoleOut.pyを起動したターミナルの画面がとなり、ConsoleIn.pyを起動したターミナルではPlease input number:というプロンプト表示に変わります。
    simpleio_ubuntu.png
    アクティブ化後のConsoleInコンポーネントとConsoleOutコンポーネントのターミナル画面
  • 適当な数値(short intの範囲内:32767以下)を入力しEnterキーを押します。
  • ConsoleOut.pyターミナル画面に入力した数値と同じものが表示されます。これでConsoleInコンポーネントからConsoleOutコンポーネントへデータが転送されたことがわかります。

    サンプルコンポーネントの非アクティブ化と終了

  • 以下のコマンドで非アクティブ化します。
     rtdeact /localhost/ConsoleIn0.rtc /localhost/ConsoleOut0.rtc
  • ConsoleIn.pyのターミナルは入力待ちになっているので、適当な数値: 32767以下を入力してEnterキーを押します。
  • 以下のコマンドを入力し、ConsoleIn.pyとConsoleOut.pyの実行が終了するのを、それぞれのターミナルで確認してください。
     rtexit /localhost/ConsoleIn0.rtc
     rtexit /localhost/ConsoleOut0.rtc

以上で、コマンドラインを用いたコンポーネントの基本動作の確認は終了です。

ソースからのビルド(Windows編)

Windows上でソースパッケージからインストールしたい場合、OpenRTM-aist-Pythonを自分でビルドする必要があります。

ビルド環境

  • Python
  • omniORBpy
  • Doxgen

が必要です。以下に入手方法を説明しますのでインストールしてください。

Python

Python 2.7(もしくは3.6、3.7)が必要です。以下のサイトから最新のものを取得しインストールしてください。

以降の説明では、Pythonのインストールに際して以下の設定が必要です。(その他はインストーラのデフォルト設定です。)

  • インストール先をC:\PythonX.Yに設定。
    • X.Yは2.7か3.6か3.7, 例 C:¥Python2.7 など。
  • Python3.7ではインストール時に[Customize Installation]を選択。
  • コマンドサーチパス(環境変数 PATHに設定されるパス)に上記ディレクトリが含まれていること。
    • 3.7ではインストール中に[Add Python to environmental variable]にチェックを入れればインストーラが設定します
    • その他の場合は手動で設定する必要があります。

omniORBpy

OpenRTM-aist-PythonのビルドにはomniORBpyのライブリが必要です。omniORBpyは以下のリンクから、必要なファイルを入手できます。

また、公式サイトからはソースが入手できます。

openrtm.orgのサイトのファイルは、特別な理由がない限りは最新版(現時点では4.2.3)を使用することを推奨します。また、複数のファイルがありますが、そのファイル名の意味は以下となりますので、その説明にあわせて使用するファイルを選択してください。

ファイル名の書式は、以下のフォーマットになっています。

omniORB-x.y.z-{win32|x64}-{vc100|vc110|vc120|vc140}-{py27|py36|py37}.zip

ここで、
x.y.z:
omniORBのバージョン、例えば4.2.3
win32
32ビット版のPythonを使う場合
x64
64ビット版のPythonを使う場合
vc100
C++環境を使う場合で、Visual Studio 2010の場合
vc110
C++環境を使う場合で、Visual Studio 2012の場合
vc120
: C++環境を使う場合で、Visual Studio 2013の場合
vc140
C++環境を使う場合で、Visual Studio 2015/2017/2019の場合
py27
Python 2.7を使う場合
py36
Python 3.6を使う場合
py37
Python 3.7を使う場合

omniORB 4.2.3を64bitのPython 3.7の環境で使用する場合、omniORB-4.2.3-x64-vc140-py37.zipをダウンロードします。

omniORBのファイルのインストールの仕方

ダウンロードしたZIPファイルを展開すると、以下の様なディレクトリツリーが展開されます。それぞれのディレクトリ下のファイルを以下の指示通りに Python のディレクトリーにコピーしてください。

なお、omniORBpy のバージョンを x.y, Python のバージョンを X.Y として記述しています。

 + omniORBpy-'''x'''.'''y'''
  + bin
    + x86_win32 -> exe, dllともに C:\PythonX.Y 直下へ
  + doc -> 削除してもよい
  + examples -> 削除してもよい
  + idl -> 削除してもよいが C:\PythonX.Y\Lib\site-packages\omniORB\idl 以下においておいてもよい
  + lib
    + python -> 以下のディレクトリとファイルを丸ごと C:\PythonX.Y\Lib\site-packages 直下へ
    + x86_win32 -> .pyd を C:\PythonX.Y\Lib\site-packages 直下へ

Doxygen

のWebページからWindows版のバイナリ実行形式ファイルをダウンロードして実行してインストールしてください。

 ソースパッケージの取得

まず下記リンクよりソースコードファイルOpenRTM-aist-Python-1.2.x.zipをダウンロードし、適当なディレクトリーに展開します。

ビルド

コマンドプロンプトを起動し、先程ソースコードを展開したフォルダーに移動後、以下のコマンドにてビルドを行います。

 > python setup.py build

インストール

すべてが正しくビルドできたら、以下のコマンドにてインストールを完了させます。

 > python setup.py install

以上で、OpenRTM-aist のインストールは終了です。

ソースからのビルド(Linux編)

Linux上でソースパッケージからインストールしたい場合、OpenRTM-aist-Pythonを自分でビルドする必要があります。以下にUbuntu 18.04でのビルド作業の手順を説明します。

対応 OS およびディストリビューション

OpenRTM-aist-Pythonは下記のOSおよびLinuxディストリビューションで動作することが確認されています。

  • Ubuntu
  • Debian
  • Fedora(予定)

上記以外の環境でも一般的なLinux/UNIX環境であれば、ビルドできる可能性があります。

依存ライブラリ

OpenRTM-aist-Python-1.2.1のインストールには下記の開発環境およびライブラリが必要です。

  • python: ビルドツールを利用するために必要
  • omniORBpy: OpenRTM-aistのビルド(IDLコンパイル)に必要

それぞれのソフトウェアのドキュメントに従いインストールを行ってください。これらのパッケージが、標準のディレクトリー(/usr、/usr/lib/ など)下にインストールされていると、以降のOpenRTM-aist-Pythonのビルド作業を比較的簡単に行うことができます。

Ubuntu, Debianでは以下のコマンドでインストールできます。

 sudo apt-get install python-omniorb-omg omniidl-python omniorb-nameserver

ソースのダウンロード

OpenRTM-aist-Pythonのソースをダウンロードします。

ソースコードの展開

まずソースコードパッケージOpenRTM-aist-Python-1.2.1.tar.gzを適当なディレクトリに展開します。

 $ tar xvzf OpenRTM-aist-Python-X.X.X.tar.gz
 $ cd OpenRTM-aist-Python-X.X.X

ビルド

OpenRTM-aist-Pythonはパッケージのビルドにdistutilsモジュールを使用しています。 ビルドの仕方は、他のdistutilsを使用したパッケージと同様に行います。

 $ python setup.py build [options]

[options]で使用可能なオプションは

 $ python setup.py --help

で参照してください。

インストール

ビルド が正常に終了したら、Pythonモジュール、ユーティリティコマンド群をインストールします。

 $ sudo python setup.py install

以上で、ソースコードからのビルドおよびインストールは終了です。

なお、この後にPython版のName Serverを起動して使う場合は、/etc/profile.dディレクトリに適当な名前の.shファイル、例えばrtctree_env.shを作って、その中に

 RTCTREE_NAMESERVERS=127.0.0.1
の行を挿入して再起動してください。