Java版インストール(Windows)
Windowsシステムでのインストール 
対応OSおよびディストリビューション 
OpenRTM-aist-0.4 Java は下記の OS で動作することが確認されています。
- Windows XP Professional
動作条件 
- Java Development Kit 5.0(JDK 5):日本語
※ Java1.41では動作しません。
Javaのインストール 
OpenRTM-aist-Java-0.4 は、J2SE5.0(JDK5)上で動作します。下記サイトなどから対象のプラットフォーム用のJ2SEをダウンロードしてください。
インストールの実行 
ダウンロードしたファイルを実行するとインストールが開始されます。途中、使用許諾やインストール先などを聞かれますので、お使いの環境に合わせて設定してください。




インストールの確認 
コマンド プロンプト画面を表示(「スタート」-「プログラム」-「アクセサリ」-「コマンド プロンプト」)し、
>java -version
と入力します。インストールしたJavaのバージョンが表示されればインストールは完了です。

OpenRTM-aist-Java-0.4のインストール 
OpenRTM-aist-Java-0.4のインストールを簡単にするために、インストーラを用意しました。通常インストールでは、インストーラを使用した方が便利でしょう。また、インストールの自由度を確保するために、必要なOpenRTM-aist-Java-0.4ライブラリコンポーネントをまとめたZipファイルも用意してあります。ユーザ独自の配置・組み合わせでインストールしたい場合などはこちらを利用してインストールすることもできます。
※ すでにOpenRTM-aist-0.4 を使用されている方へ
新しいOpenRTM-aist-Java-0.4ではRtcLink 0.4.0は使えなくなりました。すでに、Eclipse上にRtcLinkプラグインをインストールしている方は、OpenRTM-aist-0.4 Javaを使う場合は、必ずRtcLinkも0.4.1に差し替えてください。
参考:
→ FAQ: Q. RtcLink上でRTCのポートが表示されない(Java版)
インストーラを使用したインストール 
WindowsXP用のOpenRTM-aist-0.4 Javaインストーラが用意されていますので、こちら からダウンロードして実行します。実行後は、インストーラに従っていくだけでインストールが完了します。
⇒ インストール完了後は、引き続きインストールの確認 に進んでください。
参考:
→ FAQ: インストーラ実行中に「…特権が不足しています。」などと表示されて、インストールが続行できない
Zipファイルからのインストール 
- Zipファイルのダウンロードと解凍
こちら からビルド済みjarファイル(zip形式)をダウンロードし、zipファイルを任意の場所に解凍します。解凍先は任意でかまいませんが、フォルダ構造は変更しないでください※。また、この解凍先に含まれる「jar」フォルダへのパスは次に取り上げるシステム環境変数RTM_JAVA_ROOTに設定しなければなりません。
- ※ 何らの事情で、解凍後のフォルダ構造を自由な配置・自由な選択としたい場合はこちら を参照してください。
- 参考:
- システム環境変数の設定
システム環境変数の設定を行います。 「スタート」メニューから、「設定」-「コントロールパネル」を選択し、表示されたコントロールパネル画面から「システム」を選択します。「システムのプロパティ」画面では「詳細設定」タブを選択し、画面下部の「環境」ボタンをクリックします。
- 画面下部の「システム環境変数」から、「新規」ボタンをクリックし、「新しいシステム変数」画面で以下の内容を入力します。
- 変数名
- RTM_JAVA_ROOT
- 変数値
- 解凍先フォルダ以下に含まれる「jar」フォルダ※までのベースパス(「jar」フォルダの親フォルダへのフルパス)
- 上記を入力後、「OK」ボタンをクリックし、「システムのプロパティ」画面を閉じます。
- ※ 解凍時には「jar」フォルダはクラスライブラリ「OpenRTM-aist-0.4.1.jar」と「commons-cli-1.1.jar」の二つのファイルを含んだ状態で、「OpenRTM-aist\0.4」の下にあります。したがって、フォルダ構造を変えなければ、システム環境変数RTM_JAVA_ROOTは必ずその値の末尾に「OpenRTM-aist\0.4」を持つという形になります。
- なお、カレントユーザに対してのみインストールする場合は、上記設定を「システム環境変数」あるいは「ユーザー環境変数」のどちらかに行えばよく、特に、特権を持たないユーザ(制限ユーザ)としてインストールする場合にはこのことを利用します。すなわち、制限ユーザがインストールする場合には「システム環境変数」の設定が追加・変更できないので、上記設定を「ユーザー環境変数」に対して行うことになります。
インストールの確認 
インストール時に配置したフォルダ以下にRTコンポーネントのサンプルが用意されています。「Examples」フォルダ内にあるサンプルを使用して、インストールを確認します。実行するには、該当するファイルをダブルクリックしてください。インストーラを用いてインストールした場合は、付属するサンプルをスタートメニューから実行することもできます。
- インストール確認手順
- 1. NameServerの起動:「start-orbd.vbs」を実行
- 2. ConsoleInサンプルの起動:「ConsoleIn.bat」を実行
- 3. ConsoleOutサンプルの起動:「ConsoleOut.bat」を実行


- 4. RTコンポーネントの接続:「Connector.bat」を実行
- 5. ConsoleIn側のウィンドウに
Please input number:
- というプロンプトが現れるので、そこに数字を入力する
- 6. その数字がConsoleOut側のウィンドウに表示されればインストールは成功です。
OpenRTM-aist-Java-0.4のサンプルについて 
本章では,OpenRTM-aist-Java-0.4に付属のサンプルについて説明します。 サンプルを試用する場合は,各サンプル・コンポーネントを起動する前にstart-orbd.vbsを実行してネーム・サービスを起動しておいてください.start-orbd.vbsを実行するには、該当するファイルをダブルクリックしてください。インストーラを用いてインストールした場合は、start-orbd.vbsをスタートメニューから実行することもできます。 なお、本章ではRtcLinkがインストールされた環境であることを想定し、説明しています。RtcLinkのインストールについての詳細は、RtcLinkインストール を参照してください(一部のサンプルはRtcLinkがなくても動作します)。
※ すでにRtcLinkをインストールされている方へ
新しいOpenRTM-aist-Java-0.4ではRtcLink 0.4.0は使えなくなりました。すでに、Eclipse上にRtcLinkプラグインをインストールしている方は、OpenRTM-aist-Java-0.4を使う場合は、必ずRtcLinkも0.4.1に差し替えてください。
参考:
→ FAQ: Q. RtcLink上でRTCのポートが表示されない(Java版)
SimpleIO 
DataInPort、DataOutPortの使用方法を示したサンプルです.ConsoleIn.batとConsoleOut.batを実行することでサンプルコンポーネントが起動します.Port間を接続すると,ConsoleIn側で入力した数字が,ConsoleOut側に表示されます.Port間はRtcLinkを用いる他に,Connector.batを実行することで接続することができます.


使い方 
SimpleIOのサンプルは、ConsoleInで入力された数字をデータポートからConsoleOutへ送って、ConsoleOut側にも同じ数字を表示させるサンプルです。 ConsoleInの画面から数字を入力してください。そうするとConsoleOutで入力した数字が出力されます。
- 方法1:Connector.batを使う方法(※この場合、RtcLinkは不要)
- ConsoleInとConsoleOutの両コンポーネントを起動します。
- Connector.batを実行します。
- ConsoleInの画面に「Please input number:」とプロンプトされるので、数字を入力します。
- ConsoleOutの画面にその数字が表示されます。
- 方法2:RtcLinkを使う方法
- RtcLinkを起動し,SystemEditorを用意します。→RtcLinkの使用方法の詳細についてはRtcLink を参照
- ConsoleInとConsoleOutの両コンポーネントを起動します。
- RtcLinkのNameServiceViewに両コンポーネントが現れるので、それらをSystemEditor上にドラッグする。
- 両コンポーネントのポートを結ぶ。(上図SimpleIO実行例を参照)
- どちらかのコンポーネントを右クリックし、「All Activate」を選択。
- ConsoleInの画面に「Please input number:」とプロンプトされるので、数字を入力します。
- ConsoleOutの画面にその数字が表示されます。
SeqIO 
DataInPort,DataOutPortの使用方法を示したサンプルです.SeqIn.batとSeqOut.batを実行することでサンプルコンポーネントが起動し,GUI画面が表示されます. SeqIn,SeqOutともに以下の型のDataPortを保持しています. TimedShort、TimedLong、TimedFLoat、TimedDouble、 TimedShortSeq、TimedLongSeq、TimedFLoatSeq、TimedDoubleSeq 各Portの出力は乱数で決定しており,各Port間を接続するとSeqOut側の出力値,SeqIn側の入力値がそれぞれのGUI画面に表示されます.(Port間の接続にはRtcLinkをご利用ください.)


使い方 
SeqIOのサンプルは、SeqOutから連続して出力される数値データをデータポートからSeqInへ送り、GUI上に表示させるサンプルです。 SeqOutとSeqInの対応するポートをRtcLink上で接続してください。両コンポーネントをアクティベートするとSeqOutだけでなくSeqInのGUI上の数値も連続的に変化し、データポートの入出力が観察できます。
- 手順
- RtcLinkを起動し,SystemEditorを用意します。→RtcLinkの使用方法の詳細についてはRtcLink を参照
- SeqOutとSeqInの両コンポーネントを起動します。
- RtcLinkのNameServiceViewに両コンポーネントが現れるので、それらをSystemEditor上にドラッグする。
- 両コンポーネントの対応ポートを結ぶ。(上図SeqIO実行例を参照)
- どちらかのコンポーネントを右クリックし、「All Activate」を選択。
SimpleService 
ServicePortの使用方法を示したサンプルです.以下に示すIDLを使用してサービスを定義しています.
typedef sequence<string> EchoList;
typedef sequence<float> ValueList;
interface MyService
{
string echo(in string msg);
EchoList get_echo_history();
void set_value(in float value);
float get_value();
ValueList get_value_history();
};
MyServiceConsumer.batとMyServiceProvider.batを実行することでサンプル・コンポーネントが起動します. Consumer側コンポーネントをActivateすると,コンソールに利用可能なコマンドリストが表示されますので,各コマンドをお試しください.(Port間の接続にはRtcLinkをご利用ください.)


使い方 
SimpleServiceは、MyServiceConsumerからコマンドを送り、MyServiceProviderでそれを処理させるというサンプルです(※正確には、コマンドの解釈はConsumer側であり、Provider側の関数を呼び出す形で実装されている)。 MyServiceConsumerとMyServiceProviderの対応するポートをRtcLink上で接続してください。両コンポーネントをアクティベートする(ActivateするのはConsumer側コンポーネントだけでもよい)とConsumer側プロンプトにコマンド一覧が表示されるので、適宜コマンドを入力してください。Provider側の応答がプロンプト上で観察できます。
- 手順
- RtcLinkを起動し,SystemEditorを用意します。→RtcLinkの使用方法の詳細についてはRtcLink を参照
- MyServiceConsumerとMyServiceProviderの両コンポーネントを起動します。
- RtcLinkのNameServiceViewに両コンポーネントが現れるので、それらをSystemEditor上にドラッグする。
- 両コンポーネントの対応ポートを結ぶ。(上図SimpleService実行例を参照)
- どちらかのコンポーネントを右クリックし、「All Activate」を選択。(この場合は、Consumer側コンポーネントをActivateするだけでも動作します。)
- Consumer側プロンプトにコマンドを入力。
- コマンド
- echo <message>:任意の<message>をエコー
- set_value <value>:任意の<value>をProvider側にセット
- get_value:現在Provider側にセットされている値を取得して表示
- get_echo_history:今までのエコーメッセージの履歴をProvider側から取得
- get_value_history:今までにセットしてきた値の履歴をProvider側から取得
ConfigSample 
RTコンポーネントのコンフィギュレーションセットの使用方法を示したサンプルです.ConfigSample.bat を実行することでサンプル・コンポーネントが起動します. コンポーネントが正常に起動されると,コンフィギュレーション・セットが予め設定された状態となっております.RtcLinkを利用してコンフィギュレーション・セットを確認してみてください.
※コンポーネント起動時に「指定されたパスが見つかりません。」というエラーが発生してしまう場合は,RTMExamples/ConfigSampleディレクトリ内にあるrtc.confファイル内の「example.ConfigSample.config_file」に続く項目を次のように修正してください.
- 次に示すパスに置き換える。
.\\RTMExamples\\ConfigSample\\configsample.conf
(フォルダとフォルダの間の文字は'\'ではなく、'\\'とする)
- あるいは、「configsample.conf」へのフルパスに書き換える。この場合も、上のようにフォルダとフォルダの分割子に'\\'を用いることに注意。
使い方 
RtcLinkのConfigrationViewで選択・設定したConfigrationSetに従ったデータセットをプロンプト上に表示し、絶えず表示更新をし続けます。
- 手順
- RtcLinkを起動し,SystemEditorを用意します。→RtcLinkの使用方法の詳細についてはRtcLink を参照
- ConfigSampleコンポーネントを起動します。
- RtcLinkのNameServiceViewにこのコンポーネントが現れるので、SystemEditor上にドラッグする。
- 操作
- RtcLinkのConfigrationViewから適当なConfigrationSet(default、mode0、mode1)を選ぶ。
- 必要があれば、valueを変更する。
- 「Apply」ボタンを押す。
ExtTrigger 
RTコンポーネント外部からの入力(イベント)により処理を実行するExecutionContextのサンプルです.ExtConsoleIn.batとExtConsoleOut.batを実行することでサンプル・コンポーネントが起動します.両コンポーネントを起動後,ExtConnector.batを実行して両コンポーネントのPort間を接続してください.



Port間の接続が成功すると,ExtConnectorを実行したコンソールにどのコンポーネントの処理を進めるか選択するメニューが表示されます.各コンポーネントはこのコンソールに入力された値に応じて処理1周期づつ進めていきます.
GUIIn 
GUI画面を持ったRTコンポーネントのサンプルです.GUIIn.bat を実行することでサンプル・コンポーネントが起動します.

各GUI要素とPort間の関係は以下のとおりです.
- スライダ(上)
- TimedLong型DataOutPort
- テキスト・ボックス(中)
- TimedString型DataOutPort
- スピナ(下)
- TimedDouble型DataOutPort
各Portは該当するPort間を接続後,GUI要素横のチェックボックスをONにすることで,入力データを送信します.(Port間の接続にはRtcLinkをご利用ください.出力データの確認にはSeqInなどの他サンプルをご利用ください.)
使い方 
GUIInコンポーネントのGUI画面でチェックを入れたコントロール(スライダ、スピナ)を操作すると、その値の変化にしたがってSeqInのGUI画面上の値も変化します。
- 手順
- RtcLinkを起動し,SystemEditorを用意します。→RtcLinkの使用方法の詳細についてはRtcLink を参照
- GUIInとSeqInの両コンポーネントを起動します。
- RtcLinkのNameServiceViewにこれらのコンポーネントが現れるので、二つともSystemEditor上にドラッグする。
- 両コンポーネントの対応ポートを結ぶ。(上図GUIIn実行例を参照)
- どちらかのコンポーネントを右クリックし、「All Activate」を選択
LogView 
(LogViewコンポーネントはOpenRTM-aist-Java-0.4に付属しなくなりました)
統合開発環境Eclipseのプラグインとして動作するRTコンポーネントのサンプルです. このコンポーネントは,2つのTimedDouble型DataInPortを持っており,入力された値を順次画面上にグラフ表示していきます.
インストールと起動 
LogViewディレクトリ内にある「jp.go.aist.rtm.logview_1.0.0.jar」をEclipseインストールディレクトリ以下のpluginsディレクトリ内にコピーすればインストールは完了です.(Eclipseのインストール方法については,RtcLinkのインストールマニュアル などをご参照ください)
ネーム・サービスを起動後,Eclipseを起動してください.(Eclipse起動時,もしくは画面表示時にコンポーネントの登録を行いますので,ネーム・サービスは事前に起動しておいてください.)
LogViewに与えるrtc.confを作成し適当なディレクトリに置きます。以下の例では、Eclipseを起動するホストと同じホスト上のネームサーバを参照し、コンポーネントの名前はルートコンテキストの直下にそのまま登録される設定です。
corba.nameservers: localhost naming.formats: %n.rtc
Eclipseが起動したら,上部メニューから「ウインドウ」-「設定」を選択し,表示された「設定」ダイアログにて,「LogView」を選択してください.

図のように、LogViewの設定画面が表示されますので、各設定項目を適切に設定します。
- Configuration File Path
- 先ほど作成したrtc.confの場所を指定する。
- Redraw Period
- グラフ描画周期を指定する。
設定が終わったら,上部メニューから「ウインドウ」-「ビューの表示」-「その他」を選択し,表示された「ビューの表示」画面にて,「その他」-「LogView」を選択してください. ネームサービスビュー上にLogViewコンポーネントが現れます。


動作確認と設定 
LogViewコンポーネントの動作確認用コンポーネントとして,SinCosOutコンポーネントを用意しております.SinCosOutコンポーネントは,TimedDouble型の2つのDataOutPortを保持しており,それぞれのPortからsin波,cos波を出力します.SinCosOut.batを実行することで起動することができますので,LogViewコンポーネントとともにお試しください. LogViewコンポーネントは,Y軸方向の最大値,最小値および目盛りの間隔と,グラフの再描画周期を設定することが可能です.画面右側のテキストボックス内に設定値を入力し,「Apply」ボタンを押下することで設定を反映することが可能です.

OpenRTM-aist









