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

C++言語版の OpenRTM-aist は、パッケージやインストーラーが用意されており、多くの OS やディストリビューションで手軽にインストールすることができます。また、ソースをダウンロードして、自分の環境に合わせてビルドすることもできます。 ここでは、C++言語版 OpenRTM-aist のそれぞれの方法でのインストールの仕方について説明します。

Windowsへのインストール

OpenRTM-aistのインストール

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

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

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

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

加筆をお願いします。

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

加筆をお願いします。

Ubuntu/Debianへのインストール

ubuntu_logo2.png

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

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

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

オプションを指定することで、目的に合わせたパッケージをインストールできるようになったので、 初めて OpenRTM-aist をインストールしてみる方にもソースをコンパイルしてみる方にもお勧めします。

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

インストールの確認

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

 $ dpkg -l 'openrtm*'
 ||/ 名前           バージョン   アーキテクチ 説明
 +++-==============-============-============-=================================
 ii  openrtm-aist:a 1.2.0-0      amd64        OpenRTM-aist, RT-Middleware distr
 ii  openrtm-aist-d 1.2.0-0      amd64        OpenRTM-aist headers for developm
 ii  openrtm-aist-e 1.2.0-0      amd64        OpenRTM-aist examples

パッケージの詳細

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

加筆をお願いします。

Rasbianへのインストール

Raspberry_Pi_Logo.svg_.png

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

はじめに

対応バージョン

加筆をお願いします。

SDメモリーカードの準備

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

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

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

OpenRTM-aist のインストール

加筆をお願いします。

インストールの確認

執筆中

パッケージの詳細

加筆をお願いします。

Fedoraへのインストール

fedora_logo.png

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

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

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

OpenRTM-aist を開発・実行するために必要なパッケージをもれなくインストールしてくれるので大変便利です。 オプションを指定することで、目的に合わせたパッケージをインストールできるようになったので、 初めて OpenRTM-aist をインストールしてみる方にもソースをコンパイルしてみる方にもお勧めします。

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

インストールの確認

加筆をお願いします。

パッケージの詳細

加筆をお願いします。

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

OpenRTM-aist 本体に手を加えたうえで Windows 上で利用したい場合は、Windows 用ソースパッケージを自分でビルドするができます。 ここでは、ダウンロードページやリポジトリからソースを取得し Windows 上で OpenRTM-aist をビルドする方法を解説します。

Windows 上での OpenRTM-aist のビルドは、環境の整備やインストーラの作成など、Windows 上での様々な知識が必要となります。 本ドキュメントは、Windows 上でのプログラム開発やバッチファイル等の基本的な知識がある方を対象としています。

Windows 用ソースコード

Windows 用の OpenRTM-aist (C++版) ソースパッケージは Linux 用のソースとは別に配布されています。 ソースコードの内容は全く同じですが、以下の部分が異なっています。

文字コード (Windows: Shift-JIS、Linux: EUC) Visual Studio のソリューションを含む Visual C++ のプロジェクトファイルを含む msi インストーラ作成環境を含む

ソースコードの構成

図に示すように、オリジナルは subversion リポジトリのソースコードで、そのソースコードから、Linux上で、

  • Linux/Unix 用ソースコード配布パッケージ
  • Windows 用ソースコード配布パッケージ

の2種類を作成する構成になっています。

/ja/node/793
OpenRTM-aist のソースの構成

リポジトリから取得した最新のソースコードを Windows で利用する場合は、一旦 Linux で Windows 用のソースコードを生成する必要があります。

ビルド環境

ビルドに必要な環境、ライブラリは以下の通りです。

  • Visual C++
  • omniORB

Visual C++/Visual Studio

Windows 用のバイナリをビルドするためには、Visual C++ 開発環境が必要です。 現在対応している Visual Studio は Visual C++ 2008、2010、2012、2013、2015、2017、2019 です。

Visual Studio CommunityはMicrosoftが無償で提供する統合開発環境で、C++、C#、F#、Java、Python等多数の言語のプログラムを開発できます。 Community版は有償のProfessional版とほぼ同等の機能ですが、個人開発者、大学関係者、非営利団体従事者、オープンソース開発者、開発者5名以下の中小企業以外は使用できません。

以下の

omniORB

OpenRTM-aistのビルドにはomniORB 4.2.3 (2019/05/17現在) のライブラリが必要です。 openrtm.org が提供するビルド済みバイナリパッケージを下記リンク先に用意してあります。 環境に合わせて適切なものをダウンロードし、適当な場所 (以下では C:\workspace\omniORB を仮定) に展開してください。

環境変数: OMNI_ROOT

OMNI_ROOT に設定したディレクトリー以下は以下のような構造になっている必要があります。

 <OMNI_ROOT>
  + bin
  |  + scripts
  |  + x86_win32
  + idl
  |  + COS
  + include
  |  + COS
  |  + omniORB4
  |  |  + internal
  |  + omnithread
  |  + omniVms
  + lib
  |  + python
  |  |  + omniidl
  |  |  + omniidl_be
  |  |     + cxx
  |  |        + dynskel
  |  |        + header
  |  |        + impl
  |  |        + skel
  |  + x86_win32
  + include
  |  + COS
  |  + omniORB4
  |  + omnithread
  |  + omniVms

OpenSSL

OpenRTM-aistのビルドにはOpenSSL 1.1.0 (2019/05/17現在) のライブラリが必要です。 openrtm.org が提供するビルド済みバイナリパッケージを下記リンク先に用意してあります。 環境に合わせて適切なものをダウンロードし、適当な場所 (以下では C:\workspace\OpenSSL を仮定) に展開してください。

環境変数: SSL_ROOT

SSL_ROOT に設定したディレクトリー以下は以下のような構造になっている必要があります。

 <SSL_ROOT>
  + bin
  |  + scripts
  |  + x86_win32
  + lib
  |  + engines-1_1
  + include
  |  + openssl

Python

ビルドの途中でいくつかの Python スクリプトを利用するので Python 2.7 が必要になります。 以下のサイトから最新のものを取得しインストールしてください。

インストーラーを起動すると、ウィザードで幾つか選択する部分がありますが、 デフォルトのままでインストールしてかまいません。

ソースパッケージの取得

まずソースコード OpenRTM-aist-1.2.0-win32.zip をダウンロードし、適当なディレクトリーに展開します。

バッチファイルの修正

build.batを実行するとビルドが始まりますが、その前にバッチファイルのOMNI_ROOTSSL_ROOTを環境に合わせて変更してください。

 set OMNI_ROOT=C:\workspace\omniORB-4.2.3-win64-vc141
 set SSL_ROOT=C:\workspace\OpenSSL\build

また以下の環境変数の設定を行います。

 set VC_VERSION=141
 set ARCH=x86_64
 set PYTHON_DIR=C:\python27
 set OMNI_VERSION=4.2.3
 set OMNITHREAD_VERSION=4.1

OMNI_ROOT、SSL_ROOTは前述の通りビルド済みバイナリパッケージを配置したパスを指定する。 VC_VERSIONは対応するVisual Studioのバージョンを指定する。

Visual Studio 2008 9
Visual Studio 2010 10
Visual Studio 2012 11
Visual Studio 2013 12
Visual Studio 2015 14
Visual Studio 2017 141

ARCHには32bitバイナリを作成する場合はx86、64bitバイナリを作成する場合はx86_64を設定する。 PYTHON_DIRにはPythonをインストールしたパスを指定する。

OMNI_VERSION、OMNITHREAD_VERSIONには対応するomniORB、omniThreadのバージョンを設定する。

またCommunity版以外のVisual Studioを使用する場合はvcvarsallを実行しておく必要がある。

 call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64

ビルド

以上の準備が完了したら、ビルドを行います。build.bat をダブルクリックし、起動すれば自動でビルドが始まります。

インストール

すべてが正しくビルドできたら次のことを行い、インストールを完了させます。

  • 環境変数 RTM_ROOT を設定: OpenRTM-aist のディレクトリーを環境変数 RTM_ROOT に設定してください。
  • DLL へのパスを通す: DLL をパスの通った場所にコピーする、あるいは、環境変数 PATHに%RTM_ROOT%\bin を追加します。

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

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

パッケージが用意されていない UNIX 環境や、クロス開発環境、OpenRTM-aist 本体のソースを変更して利用したい場合には、ソースからコンパイルすることができます。 ここでは、ダウンロードページやリポジトリからソースを取得し Linux 上 で OpenRTM-aist をビルドする方法を解説します。

配布ソースのビルド

OpenRTM-aist (C++版) は autotools を利用したビルド環境を提供しているため、様々な環境でビルドできます。

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

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

  • FreeBSD
  • Vine Linux
  • Fedora
  • Debian
  • Ubuntu
  • Raspbian

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

依存ライブラリ

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

  • gcc/g++ version3 以降: コンパイルに必要
  • omniORB-4.x 以上: OpenRTM-aist のビルドに必要
  • uuid ライブラリ: libuuid (Linux等デフォルトで uuid 生成関数を提供していない環境のみ)
  • python: ビルドツールを利用するために必要
  • boost: 拡張モジュールをコンパイルする際に必要になる場合がある
  • openssl: OpenSSLによるセキュアな通信機能を使用するために必要

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

UbuntuやFedora等特定のディストリビューション向けには、以下のリポジトリに ''pkg_install_OS名.sh’’という依存ライブラリやOpenRTMのパッケージをインストールするスクリプトが用意されています。

これらのインストールスクリプトの使い方については、「一括インストール・スクリプト」のページをご覧ください。

ソースのダウンロード

OpenRTM-aist のソースをダウンロードします。 ソースコードは、https://github.com/OpenRTM/OpenRTM-aist/releases のバージョン番号のタグからダウンロードできます。 バージョン1.2のソースコードは以下の場所にあります。

ソースコードの展開

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

 $ wget https://github.com/OpenRTM/OpenRTM-aist/releases/download/v1.2.0/OpenRTM-aist-1.2.0.tar.gz
 $ tar xvzf OpenRTM-aist-1.2.0.tar.gz
 $ cd OpenRTM-aist-1.2.0

ビルド

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

 $ ./configure --prefix=/usr [options]

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

 $ ./configure --help

で参照してください。

make

configure が正常に終了したことを確認してください。正常に終了したら make します。

 $ make

ビルドが正常に終了したら、ヘッダファイル、ライブラリ、ユーティリティコマンド群をインストールします。

 $  su
 # make install

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

リポジトリのソースのビルド

OpenRTM-aist は開発に利用している github リポジトリを一般に公開しています。 リポジトリからチェックアウトしたソースコードからビルドを行うこともできます。

必要なツール

リポジトリからチェックアウトしたソースは configure スクリプトや Makefile.in が含まれていません。これらを生成するには、

  • automake
  • libtool
  • autoconf

等のツールが必要ですので予めインストールしておきます。 これらの必要なツールをインストールする際、Ubuntuなどでは上で紹介した「一括インストール・スクリプト」を利用することもできます。

Ubuntuではpkg_install_ubuntu.shを以下のように実行することで、OpenRTM-aist 本体の開発を行う開発者向けのツール(automake等含む)などもまとめてインストールすることができます。

 # pkg_install_ubuntu.sh -l c++ -c 

ソースのチェックアウト

ソースをリポジトリからチェックアウトします。

 $ git clone -b svn/RELENG_1_2 https://github.com/OpenRTM/OpenRTM-aist
 Cloning into 'OpenRTM-aist'...
 remote: Enumerating objects: 24, done.
 remote: Counting objects: 100% (24/24), done.
 remote: Compressing objects: 100% (24/24), done.
 remote: Total 42092 (delta 14), reused 2 (delta 0), pack-reused 42068
 Receiving objects: 100% (42092/42092), 10.41 MiB | 8.36 MiB/s, done.
 Resolving deltas: 100% (31578/31578), done.

autogen.shの実行

チェックアウトすると、OpenRTM-aist というディレクトリーができているはずですので、そのディレクトリーに入ります。

 $ ls 
 OpenRTM-aist
 $ cd OpenRTM-aist
 $ ls
 AUTHORS         Makefile.am     acinclude.m4    examples/       win32/
 COPYING.LIB     NEWS            build/          include/
 COPYRIGHT*      README          configure.ac    openrtm.m4
 ChangeLog       README.jp       docs/           src/
 INSTALL.jp      TUTORIAL.jp     etc/            utils/

build ディレクトリーの下に autogen というシェルスクリプトがあることを確認し、このスクリプトを実行します。 実行には、数分程度の時間がかかることがあります。

 $ls build/autogen
 build/autogen*
 $ sh build/autogen
 
 Setting up environment to generate configure script.
 
 ------------------------------------------------------------
  Searching Autotools
 ------------------------------------------------------------
 autoconf   was found in /usr/local/bin/autoconf.
 autoheader was found in /usr/local/bin/autoheader.
 autom4te   was found in /usr/local/bin/autom4te.
 autoreconf was found in /usr/local/bin/autoreconf.
 autoupdate was found in /usr/local/bin/autoupdates.
 automake   was found in /usr/local/bin/automake-1.9.
 aclocal    was found in /usr/local/bin/aclocal-1.9.
 libtool    was found in /usr/local/bin/libtool.
 libtoolize was found in /usr/local/bin/libtoolize.
 
 
 ------------------------------------------------------------
  Searching libtool.m4
 ------------------------------------------------------------
 file was found: /usr/local/share/aclocal/libtool.m4
 
  Copying libtool.m4 from /usr/local/share/aclocal/libtool.m4
 
 ------------------------------------------------------------
  Doing autoreconf
 ------------------------------------------------------------
 autoreconf-2.62: Entering directory `.'
 autoreconf-2.62: configure.ac: not using Gettext
 autoreconf-2.62: running: /usr/local/bin/aclocal-1.9 --force
 autoreconf-2.62: configure.ac: tracing
 autoreconf-2.62: configure.ac: adding subdirectory src/lib/coil to autoreconf
 autoreconf-2.62: Entering directory `src/lib/coil'
 autoreconf-2.62: running: /usr/local/bin/libtoolize --copy --force
 You should update your `aclocal.m4' by running aclocal.
 autoreconf-2.62: running: /usr/local/bin/autoconf --force
 autoreconf-2.62: running: /usr/local/bin/autoheader --force
 autoreconf-2.62: running: /usr/local/bin/automake-1.9 --add-missing --copy --force-missing
 configure.ac: installing `./install-sh'
 configure.ac: installing `./missing'
 ace/coil/Makefile.am: installing `./depcomp'
 Makefile.am: installing `./INSTALL'
 autoreconf-2.62: Leaving directory `src/lib/coil'
 You should update your `aclocal.m4' by running aclocal.
 configure.ac: installing `./install-sh'
 configure.ac: installing `./missing'
 examples/AutoTest/Makefile.am: installing `./depcomp'
 Makefile.am: installing `./INSTALL'
 autoreconf-2.62: Leaving directory `.'
 done
 $

configure & ビルド

autogen の実行により、configure が OpenRTM-aist ディレクトリー内にできているはずですので、以降は通常のソースからのビルドと同様に、configur & make でビルドします。

 $ ls -l configure
 -rwxr-xr-x  1 n-ando  n-ando  812893 Jul  6 05:56 configure*
 $ ./configure --prefix=/usr
 $ make

make dist

make dist を行うことで openrtm.org で配布しているようなソースのパッケージを作成することもできます。 また、make dist では Windows 上でビルド可能なソースコードのパッケージも同時に作成します。 ただし、make dist を行うには、doxygen や latex、qkc等、さらに追加のコマンドが必要となります。

 $ make dist
 数分程度かかる
 $ ls -l OpenRTM-aist*
 -rw-r--r--  1 n-ando  n-ando  9266837 Apr  7 09:53 OpenRTM-aist-1.2.0-win32.zip
 -rw-r--r--  1 n-ando  n-ando  4831099 Apr  7 09:53 OpenRTM-aist-1.2.0.tar.bz2
 -rw-r--r--  1 n-ando  n-ando  7258796 Apr  7 09:53 OpenRTM-aist-1.2.0.tar.gz
 $

生成されたソースパッケージはそれぞれ以下の通りです。

  • OpenRTM-aist-1.2.0-win32.zip: Windows 用ソース
  • OpenRTM-aist-1.2.0.tar.gz: 汎用ソース (gzip 圧縮)
  • OpenRTM-aist-1.2.0.tar.bz2: 汎用ソース (bzip 圧縮)

動作確認 (Windows編)

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

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

  • C:\Program Files\OpenRTM-aist\1.2.0\Components\C++\Examples
  • OpenRTM-aist\examples (ソースからビルドした場合)

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

サンプル (SimpleIO) を使用したテスト

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

以下は、msi インストーラーで OpenRTM-aist をインストールした環境で、スタートメニューから各種プログラムを起動する前提で説明します。

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

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

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

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

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

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

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

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

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

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

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

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

環境変数RTM_VC_VERSIONOMNI_ROOTRTM_ROOTが設定されていないとRTCの起動に失敗します。 msi インストーラーでインストールした場合はOSを再起動すると解決する場合があります。

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

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

 corba.nameservers: localhost

ランタイムエラーが出て終了する
ライブラリ等が適切にインストールされていない・設定されていない等の原因でラインタイムエラーが出る場合があります。
  • 再起動してみる
  • OpenRTM-aist をすべてアンインストールし、再度インストールすることで改善される場合があります。

エディタへの配置

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

rtm10.png
ConsoleIn コンポーネントと ConsoleOut コンポーネント

システムを編集するエディタを開きます。上部のエディタを [開く] ボタン /ja/node/794 をクリックすると、中央のペインにエディタが開きます。

左側のネームサービスビューに  /ja/node/794 のアイコンで表示されているコンポーネント (2つ) を中央のエディタにドラッグアンドドロップします。

rtm11.png
コンポーネントをエディタに配置

接続とアクティブ化

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

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

rtm13.png
データポートの接続

rtm12.png
データポート接続ダイアログ

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

rtm15.png
アクティブ化されたコンポーネント

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

 Please input number: 

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

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

他のサンプル

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

付属しているコンポーネントのリストと簡単な説明を以下に示します。

ConsoleInComp.exe コンソールから入力された数値を OutPort から出力する。ConsoleOutComp.exe に接続して使用する。
ConsoleOutComp.exe InPort に入力された数値をコンソールに表示するコンポーネント。ConsoleInComp.exe に接続して使用する。
SequenceInComp.exe ランダムな数値(Short、Long、Float、Double とそのシーケンス型)を出力するコンポーネント。SequenceOutComp.exe に接続して使用する。
SequenceOutComp.exe InPort に入力される数値(Short、Long、Float、Double とそのシーケンス型)を表示。SequenceInComp.exe に接続して使用する。
MyServiceProviderComp.exe MyService 型のサービスを提供するコンポーネント。MyServiceConsumerComp.exe に接続して使用する。
MyServiceConsumerComp.exe MyService 型のサービスを提供するコンポーネント。MyServiceProviderComp.exe に接続して使用する。
ConfigSampleComp.exe Configuration のサンプル。RtcLink から Configuration を変更して Configuration の挙動を理解するためのサンプル。
USBCameraAcquireComp.exe USBカメラから画像を取得して OutPort から出力するコンポーネント。USBCameraMonitor.exe に接続して使用する。
USBCameraMonitor.exe InPort に入力される画像を画面に表示するコンポーネント。USBCameraAquire.exe に接続して使用する。


動作確認 (Linux編)

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

  • /usr/share/openrtm-1.2/components/c++/examples

ソースからビルドした場合は、ソースディレクトリー以下の

  • OpenRTM-aist/examples/<サンプルコンポーネントセット名>

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

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

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

以降、簡単のためサンプルは /usr/share/openrtm-1.2/components/c++/examples 以下にあるものとして説明を記述します。

サンプルを使用したテスト

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

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

ConsoleInComp の起動

ターミナルを起動してConsoleInComp を起動します。

 $ /usr/share/openrtm-1.2/components/c++/examples/ConsoleInComp

自分でビルド・インストールした場合は、

 $ <source_dir>/OpenRTM-aist/examples/SimpleIO/ConsoleInComp

などとして ConsoleInComp を起動します。

ConsoleOutComp の起動

別のターミナルを起動して ConsoleOutComp を起動します。

 $ /usr/share/openrtm-1.2/components/c++/examples/ConsoleOutComp 

自分でビルド・インストールした場合は、同様に

 $ <source_dir>/OpenRTM-aist/examples/SimpleIO/ConsoleOutComp

などとして ConsoleOutComp を起動します。

エディタへの配置

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

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

システムを編集するエディタを開きます。上部のエディタを [開く] ボタン /ja/node/794 をクリックすると、中央のペインにエディタが開きます。

左側のネームサービスビューに  /ja/node/794 のアイコンで表示されているコンポーネント (2つ) を中央のエディタにドラッグアンドドロップします。

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

接続とアクティブ化

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

これら 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 コンポーネントへデータが転送されたことがわかります。

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