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

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

Windowsへのインストール

OpenRTM-aistのインストール

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

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

加筆をお願いします。

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

加筆をお願いします。

Ubuntu/Debianへのインストール

ubuntu_logo2.png

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

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

加筆をお願いします。

インストールの確認

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

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

パッケージの詳細

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

加筆をお願いします。

Fedoraへのインストール

fedora_logo.png

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

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

加筆をお願いします。

インストールの確認

加筆をお願いします。

パッケージの詳細

加筆をお願いします。

ソースからのビルド

OpenRTM-aist-Java 本体のソースを変更して利用したい場合には、ソースからコンパイルすることができます。

配布ソースのビルド

OpenRTM-aist (Java版) は Eclipse を利用したビルド環境を提供しています。

依存ライブラリ

OpenRTM-aist のビルドには下記の開発環境およびライブラリが必要です。

  • Eclipse SDK 3.3.x以上
  • jdk1.7.0_xx以上

それぞれのライブラリ等のドキュメントに従いインストールを行ってください。

ソースのダウンロード

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

ソースコードの展開

まずソースコードを適当なディレクトリーに展開します。
  • Linux の場合
     $ tar xvzf OpenRTM-aist-Java-X.X.X.tar.gz
  • Windows の場合は、tgz を展開できるツールを使用して展開します。

ビルド

プロジェクトのインポート

ビルド方法を説明します。(図は Windows 版の Eclipse3.4.2 です。) Eclipse を起動し、プロジェクトをワークスペースへインポートします。 [ファイル] > [インポート] を選択します。

rtm16.png
[ファイル] > [インポート]を選択

インポートの「選択」ウィンドウが開きます。ここで、[一般] > [既存プロジェクトをワークスペースへ] を選択して [次へ] ボタンをクリックします。

rtm17.png
インポートの「選択」ウィンドウ

「プロジェクトのインポート」ウィンドウが開きます。「ルート・ディレクトリーの選択」へ展開したディレクトリーを指定して [完了] ボタンをクリックします。

rtm18.png
「プロジェクトのインポート」ウィンドウ

これで、プロジェクトをワークスペースへインポートできます。

JDEの設定

ビルドに使用するJDKの設定を行います。 まず[ウィンドウ > [設定]で設定画面を開きます。

rtm19.png
[ウィンドウ] > [設定]を選択

左側のツリーから[Java] > [インストール済みのJRE]を選択して追加ボタンを押します。

rtm20.png
インストール済みのJRE

標準VMを選択して次へ進みます。

rtm21.png
JREの追加

JREホームにJDKインストールフォルダ以下のjreフォルダのパスを指定して完了する。

rtm22.png
JREの設定

インストール済みJREで設定したJDKのチェックボックスをオンにすれば完了です。

rtm23.png
JDKの設定

パッケージ・エクスプローラーから build.xml を右クリックして [デバッグ] > -[2 Antビルド...] を選択します。

rtm24.png
[デバッグ] > -[2 Antビルド...] を選択

構成編集のウィンドウが表示さます。ここで、jaridlCompileidlCompileEtccleancompile_winを選択して [デバッグ] ボタンをクリックします。

rtm25.png
構成編集のウィンドウ

ビルドが始まります。

rtm26.png
ビルド実行結果

コンソールウィンドウに以上の表示がでれば完了です。
日本語が文字化けしている場合は、メニューの「実行」→「外部ツール」→「外部ツールの構成」で共通タブを開き、文字コードを MS932 に変更(その他の欄に入力)します。

その他のターゲットのビルド

createExe

createExeのターゲットをビルドするためにはJSmooth が必要です。インストールして環境変数 JSMOOTH_HOME を設定してください。JSMOOTH_HOME=C:\Program Files (x86)\JSmooth 0.9.9-7 など

junit

加筆をお願いします。

動作確認 (Windows編)

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

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

  • C:\Program Files\OpenRTM-aist\1.2.0\Components\Java
  • OpenRTM-aist\jp.go.aist.rtm.RTC\bin\RTMExamples (ソースからビルドした場合)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

環境変数RTM_ROOTRTM_JAVA_ROOTが正しく設定されていない場合に問題が発生する可能性があります。 msi インストーラーでインストールした場合はOSを再起動すると解決する場合があります。

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

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

 corba.nameservers: localhost

エディタへの配置

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

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

他のサンプル

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

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

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


動作確認 (Linux編)

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

  • /usr/share/openrtm-1.2/components/java/

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

  • OpenRTM-aist-Java/jp.go.aist.rtm.RTC/bin/RTMExamples/<サンプルコンポーネントセット名>

サンプルコンポーネントセット 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/java/SimpleIO 以下にあるものとして説明を記述します。

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

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

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

ConsoleIn の起動

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

 $ sh /usr/share/openrtm-1.2/components/java/ConsoleIn.sh

自分でビルド・インストールした場合は、まず環境変数CLASSPATHの設定が必要です。

export CLASSPATH=.:${RTM_JAVA_ROOT}/jar/OpenRTM-aist-1.2.0.jar:${RTM_JAVA_ROOT}/jar/commons-cli-1.1.jar:${RTM_JAVA_ROOT}/jar/jna-4.2.2.jar:${RTM_JAVA_ROOT}/jar/jna-platform-4.2.2.jar:${RTM_JAVA_ROOT}/bin

 $ java RTMExamples.SimpleIO.ConsoleInComp

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

ConsoleOut の起動

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

 $ sh /usr/share/openrtm-1.2/components/java/ConsoleOut.sh 

自分でビルド・インストールした場合は以下のコマンドで実行します。

 $ java RTMExamples.SimpleIO.ConsoleOutComp

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

エディタへの配置

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

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