C++版の OpenRTM-aist は、Ubuntu や Debian GNU Linux で利用可能な deb パッケージが提供されています。 対応しているディストリビューションのバージョンは、ダウンロードページから確認できます。 Ubuntu/Debian GNU Linux への対応およびそのバージョンは、予告なしに変更または停止されることがありますので、予めご了承ください。
インストールの方法には大きく分けて以下の2種類のインストール方法があります。
好みの方法でインストールしてください。
openrtm.org が提供するインストール・スクリプト pkg_install_ubuntu.sh または pkg_install_debian.sh をダウンロードページからダウンロードし、root 権限で実行します。このスクリプトは、必要なパッケージを順次 apt-get でインストールしていきます。
オプションを指定することで、目的に合わせたパッケージをインストールできるようになったので、 初めて OpenRTM-aist をインストールしてみる方にもソースをコンパイルしてみる方にもお勧めします。
一括インストールスクリプトのダウンロード、及び、詳しいインストール方法や、オプション・パッケージの種類につきましては、「一括インストール・スクリプト」のページをご確認ください。
openrtm.org では apt-get から利用可能なパッケージリポジトリを提供しています。ただし、デフォルトのパッケージリポジトリには含まれていませんので、apt-get の設定を変更する必要があります。
/etc/apt/sources.list に以下の行を追加します。
> su # vi /etc/apt/sources.list # "sources.list" を編集
deb http://openrtm.org/pub/Linux/ubuntu/ (code name) main または deb http://openrtm.org/pub/Linux/debian/ (code name) main
の1行を追加。"(code name)" の部分には以下の debian/ubuntu のバージョンに対応したコードネームを指定します。
バージョン | code name |
Debian GNU Linux | |
Debian 7.0 | wheezy |
Debian 8.0 | jessie |
Debian 9.0 | stretch |
Ubuntu | |
Ubuntu 14.04 LTS | trusty |
Ubuntu 16.04 LTS | xenial |
Ubuntu 16.10 | yakkety |
Ubuntu 17.04 | zesty |
Ubuntun の過去・現在のバージョン/コードネームは、https://wiki.ubuntu.com/Releases から確認できます。
次の手順でインストールを行います。途中、いくつかの応答を求められるので、 y を入力しながら完了させてください。
# apt-get update # apt-get install gcc g++ make uuid-dev # apt-get install libomniorb4-dev omniidl # apt-get install openrtm-aist openrtm-aist-doc openrtm-aist-dev openrtm-aist-example
なお、インストール済みの OpenRTM-aist を特定バージョンのまま保持したい場合には、/etc/apt/preferencesを編集して以下の行を追加します。(この例では1.0系列にバージョンを固定します。)
Package: OpenRTM-aist Pin: version 1.0.*
詳しくは http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.ja.html#s-pin を参照してください。
Launchpad は Canonical Ltd. により開発・管理されている、オープンソースソフトウエア開発のためのウェブアプリケーション及びウェブサイト( https://launchpad.net/ )です。 Launchpad サイト内には有志による Ubuntu のパッケージリポジトリ: PPA (Private Package Archive)があり、誰でも自分のソフトウエアのパッケージを公開することができます。
OpenRTM-aist も PPA で Ubuntu 用のパッケージを公開しており、自由に利用することができます。 PPA 上の OpenRTM-aist パッケージを利用する利点は、自分が作成した RTC を PPA 上で公開する場合、依存関係に PPA上の OpenRTM-aist のパッケージを含めることができ、また第3者がその RTC をインストールする際には PPA 上でパッケージの依存関係を完結させることができる点です。
以下、PPA上 の OpenRTM-aist のパッケージをインストールする手順を説明します。
PPA のパッケージインストールする方法は非常に簡単です。
まず、パッケージリポジトリに OpenRTM-aist の PPA のを追加します。OpenRTM-aist の PPAリポジトリ名は openrtm/stable です。
$ sudo add-apt-repository ppa:openrtm/stable
パッケージデータベースをアップデート。
$ sudo aptitude update
パッケージのインストールを行います。パッケージは、openrtm-aist(ランタイム)、openrtm-aist-dev(開発用ヘッダ)、openrtm-aist-doc(ドキュメント)、openrtm-aist-example(サンプル) の4種類の中から必要なものを選択しインストールします。
$ sudo aptitude install openrtm-aist1.1 openrtm-aist1.1-dev openrtm-aist1.1-example
以上です。
OpenRTM-aist の PPAリポジトリは以下の3種類から構成されています。
リポジトリ名 | 概要 |
ppa:openrtm/stable | 基本リポジトリ。通常インストールするパッケージ。命名規則は openrtm-aist[-]{dev,doc,example}: 最新版パッケージ openrtm-aistX.Y[-]{dev,doc,example}: マイナーバージョン別パッケージ |
ppa:openrtm/archives | アーカイブリポジトリ。過去のすべてのバージョンのパッケージ。命名規則は openrtm-aistX.Y.Z[-]{dev,doc,example}: リビジョン別パッケージ |
ppa:openrtm/unstable | 不安定版リポジトリ。RC 版、ベータ版等のパッケージ。 命名規則は openrtm-aistX.Y.ZrcW[-]{dev,doc,example}: リビジョン・RC番号別パッケージ |
インストールを確認します。
$ dpkg -l 'openrtm*' Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-f/Unpacked/Failed-cfg/Half-inst/t-aWait/T-pend |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-==============-==============-============================================ ii openrtm-aist 1.0.0-0 OpenRTM-aist runtime libraries and configura ii openrtm-aist-d 1.0.0-0 Header files for OpenRTM-aist development pn openrtm-aist-d <none> (no description available) ii openrtm-aist-e 1.0.0-0 OpenRTM-aist examples
各パッケージの内容は以下の通りです。
openrtm-aist にはランタイムライブラリとコマンド群が含まれています。
/usr/bin/rtcd /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/NEWS.gz /usr/share/doc/openrtm-aist/copyright /usr/share/doc/openrtm-aist/changelog.Debian.gz
/usr/etc/rtc.conf.sample
/usr/lib/libRTC-X.X.X.so.X.X.X /usr/lib/libRTC.a /usr/lib/libRTC.la /usr/lib/libRTC.so /usr/lib/libRTC-X.X.X.so.X
***** 32bit /usr/lib/i386-linux-gnu/libRTC-X.X.X.so.X.X.X /usr/lib/i386-linux-gnu/libRTC.a /usr/lib/i386-linux-gnu/libRTC.la ***** 64bit /usr/lib/x86_64-linux-gnu/libRTC-X.X.X.so.X.X.X /usr/lib/x86_64-linux-gnu/libRTC.a /usr/lib/x86_64-linux-gnu/libRTC.la
openrtm-aist-devには、開発に必要なコマンド群とヘッダが含まれています。
/usr/bin/rtc-template /usr/bin/rtm-config /usr/bin/rtm-skelwrapper
/usr/share/doc/openrtm-aist-dev/changelog.gz /usr/share/doc/openrtm-aist-dev/copyright /usr/share/doc/openrtm-aist-dev/changelog.Debian.gz
/usr/include/rtm/DefaultPeriodicTask.h /usr/include/rtm/OutPortPullConnector.h 中略 /usr/include/rtm/ExecutionContextBase.h /usr/include/rtm/Manager.h /usr/include/coil/OS.h /usr/include/coil/UUID.h 中略 /usr/include/coil/Properties.h
/usr/lib/openrtm-1.1/py_helper/cxx_svc_impl.py /usr/lib/openrtm-1.1/py_helper/profile_gen.py 中略 /usr/lib/openrtm-1.1/py_helper/gen_base.py /usr/lib/openrtm-1.1/py_helper/yat.py /usr/lib/pkgconfig/libcoil.pc
***** 32bit /usr/lib/i386-linux-gnu/openrtm-1.1/py_helper/cxx_svc_impl.py /usr/lib/i386-linux-gnu/pkgconfig/libcoil.pc ***** 64bit /usr/lib/x86_64-linux-gnu/openrtm-1.1/py_helper/cxx_svc_impl.py /usr/lib/x86_64-linux-gnu/pkgconfig/libcoil.pc
openrtm-aist-example にはスタンドアロン RTC、ローダブル RTC それぞれのサンプルと、サンプル RTC のソースが含まれています。
/usr/share/openrtm-1.1/examples/ConsoleOutComp /usr/share/openrtm-1.1/examples/ConsoleInComp 中略
/usr/share/openrtm-1.1/examples/src/Composite/README.Motor /usr/share/openrtm-1.1/examples/src/Composite/Makefile.Sensor /usr/share/openrtm-1.1/examples/src/Composite/Motor.cpp 中略 /usr/share/openrtm-1.1/examples/src/SimpleService/Makefile.MyServiceProvider /usr/share/openrtm-1.1/examples/src/SimpleService/rtc.conf
/usr/share/openrtm-1.1/examples/rtc/MyServiceConsumer.so.0.0.0 /usr/share/openrtm-1.1/examples/rtc/SeqIn.so.0.0.0 中略 /usr/share/openrtm-1.1/examples/rtc/ConfigSample.so.0.0.0 /usr/share/openrtm-1.1/examples/rtc/ConsoleOut.so.0.0.0
/usr/share/doc/openrtm-aist-example/changelog.gz /usr/share/doc/openrtm-aist-example/copyright /usr/share/doc/openrtm-aist-example/changelog.Debian.gz
openrtm-aist-doc には、日本語と英語のクラスリファレンス、IDL インターフェース定義リファレンスが含まれています。
/usr/share/openrtm-1.1/doc/ClassReference/html/ConnectorBase_8h-source.html /usr/share/openrtm-1.1/doc/ClassReference/html/RTC_8h.html 中略 /usr/share/openrtm-1.1/doc/ClassReference/html/FactoryInit_8h-source.html
/usr/share/openrtm-1.1/doc/IDLReference/html/BasicDataType_8idl-source.html 中略 /usr/share/openrtm-1.1/doc/IDLReference/html/interfaceOpenRTM_1_1InPortCdr-members.html
/usr/share/openrtm-1.1/doc/ClassReference-en/html/ConnectorBase_8h-source.html /usr/share/openrtm-1.1/doc/ClassReference-en/html/RTC_8h.html 中略 /usr/share/openrtm-1.1/doc/ClassReference-en/html/FactoryInit_8h-source.html
/usr/share/openrtm-1.1/doc/IDLReference-en/html/BasicDataType_8idl-source.html /usr/share/openrtm-1.1/doc/IDLReference-en/html/structRTC_1_1FsmProfile.html 中略 /usr/share/openrtm-1.1/doc/IDLReference-en/html/interfaceOpenRTM_1_1InPortCdr-members.html
/usr/share/doc/openrtm-aist-doc/changelog.gz /usr/share/doc/openrtm-aist-doc/copyright /usr/share/doc/openrtm-aist-doc/changelog.Debian.gz