インストールが正常に終了したら、付属のサンプルで動作テストをします。サンプルは、zip ファイルを展開したディレクト配下の以下の場所にあります。
ソースからビルドした場合は、プロジェクトディレクトリー配下の以下の場所にあります。
サンプルコンポーネントセット SimpleIO を使って、OpenRTM-aist-Java が正しくビルド・インストールされているかを確認します。
RTコンポーネント ConsoleInComp、ConsoleOutComp からなるサンプルセットです。 ConsoleInComp はコンソールから入力された数値を OutPort から出力するコンポーネント、ConsoleOutComp は InPort に入力された数値をコンソールに表示するコンポーネントです。 これらは、最も Simple な I/O (入出力) を例示するためのサンプルです。 ConsoleInComp の OutPort から ConsoleOutComp のInPort へ接続を構成し、これらの2つのコンポーネントをアクティブ化 (Activate) することで動作します。
以降、説明を簡単にするため OpenRTM-aist-Java が /home/openrtm/OpenRTM-aist/ にインストール(展開)されているとします。
まず、コンポーネントの参照を登録するためのネームサーバーを起動します。 OpenRTM-aist-Javaでは、orbd(Java CORBA naming servic)の起動用シェルスクリプトを準備しています。 Linux などのパッケージで omniORB をインストールした場合、すでにシステムのサービスとしてネームサーバー (omniNames) が起動している場合があります。 orbd の代わりに omniNames を使用しても正常に動作します。
すでに omniNames が起動している場合、このようになります。
$ ps ax | grep omni 1550 ? Sl 0:00 /usr/bin/omniNames -errlog /var/log/omniorb4-nameserver.log 18418 pts/2 S+ 0:00 grep --color=auto omni
omniNames が起動していない場合はこのようになります。
$ ps ax | grep omni 18418 pts/2 S+ 0:00 grep --color=auto omni
ネームサーバーが起動していない場合、 start-orbd.sh コマンドでネームサーバーを起動します。 start-orbd.shは、/home/openrtm/OpenRTM-aist/1.1/examples に格納されています。
$ sh /home/openrtm/OpenRTM-aist/1.1/examples/start-orbd.sh Starting Java CORBA naming service (orbd).
oebd はブロックします。
システムで IPv6 が設定されている場合、localhost というホスト名が正しく機能しない場合があります。 その場合、localhost の代わりに127.0.0.1に置き換えてください。
ターミナルを起動して ConsoleInComp を起動します。
$ sh /home/openrtm/OpenRTM-aist/1.1/examples/ConsoleIn.sh Creating a component: "ConsoleIn".... succeed. ================================================= Component Profile ------------------------------------------------- InstanceID: ConsoleIn0 Implementation: ConsoleIn Description: Console input component Version: 1.0 Maker: Noriaki Ando, AIST Category: example Other properties ================================================= ================================================= Port0 (name): ConsoleIn0.out ------------------------------------------------- - properties - port.port_type:DataOutPort dataport.data_type:TimedLong dataport.subscription_type:new, flush, periodic dataport.dataflow_type:push,pull dataport.interface_type:corba_cdr -------------------------------------------------
ターミナルを起動して、同様に ConsoleOutComp を起動します。
$ sh /home/openrtm/OpenRTM-aist/1.1/examples/ConsoleOut.sh Creating a component: "ConsoleOut".... succeed. ================================================= Component Profile ------------------------------------------------- InstanceID: ConsoleOut0 Implementation: ConsoleOut Description: Console output component Version: 1.0 Maker: Noriaki Ando, AIST Category: example Other properties ================================================= ================================================= Port0 (name): ConsoleOut0.in ------------------------------------------------- - properties - port.port_type:DataInPort dataport.data_type:TimedLong dataport.subscription_type:Any dataport.dataflow_type:push,pull dataport.interface_type:corba_cdr -------------------------------------------------
RTSystemEditor を使って、RTコンポーネントの接続とアクティブ化を行います。 こちらから Eclipse 全部入りパッケージをダウンロードし解凍してください。
RTSystemEditor は Java Development Kit7 を使用します。以下のマニュアルを参考にインストールしてください。 また、Ubuntu 等では、デフォルトの Java 環境は OpenJDK が推奨されています。そうした場合、OpenJDK でも利用することは可能です。
こちらのページを参考にRTSystemEditorの起動してください。
ネームサーバーへ接続し登録内容を確認します。 ネームサーバーへの接続は、左側の Name Service View のコンセント型アイコンのボタンをクリックし、ダイアログで
localhost または localhost:2809
と入力します。(orbd のデフォルトのポート番号は2809です。)
ネームサーバに登録された RTコンポーネントをシステムエディタに配置します。 左の Name Service View のConsoleOut0 および ConsoleIn0 を中央のエディタ上にドラッグアンドドロップします。 次に、コンポーネントの右端、左端に出ている突起上のアイコンを、片方からもう片方でドラッグアンドドロップします。 接続ダイアログが表示されますが、すべてデフォルトのままで結構ですので [OK] をクリックすると接続は完了します。
メニューの下の緑色の [再生] ボタンをクリックすると、エディタ上のすべてのコンポーネントがアクティブ化されます。
ConsoleInComp と ConsoleOutComp のポートを接続したら、
Please input number:
というプロンプトが表示されるので、そこに数字を入力します。入力する数字は、short int に収まる範囲の数値を入力してください。
ConsoleInComp 側のターミナルに数字を打ち込むと、ConsoleOutComp 側のターミナルに、入力した数値が表示されます。 以上で、OpenRTM-aist-Java が正しくインストールされていることが確認できました。