Skip to content

Format of rtmlaunch .xml file

kazuya-jsk edited this page Aug 26, 2011 · 10 revisions

rtmlaunchで記述できるタグの種類を説明します.

まず,ファイル全体はxmlタグで以下のように囲まれ,その中にネームサーバ記述や起動するコンポーネント記述,接続の記述等を行います.

<xml>
 各種記述
</xml>

この中で記述可能なタグは現在のところ,1)CORBAネームサーバ設定,2)ターミナル設定,3)コンポーネント設定,4)関連スクリプト起動設定,5)接続設定,の4種類です.

1)CORBAネームサーバ設定

 <nameserver host="localhost" port="2809"/>

のようにホスト名とポートを記述します.どちらも省略可能です.省略すると,ホストは,gethostnameで取得されるホスト名,ポートはデフォルトの2809が使用されます.

2)ターミナル設定

  <terminal-invoke type="tabs"/>

と指定することで,一つ一つのコンポーネントが各タブに対応したgnome-terminalが起動します.このタグは省略可能です.省略すると,rtmlaunchを立ち上げたターミナルの中で全てのコンポーネントを起動します.タブ付きで起動することで,各コンポーネントの挙動を分離して観察することが可能になるので,便利です.

3)コンポーネント設定

起動するコンポーネントの設定を行います.

3ー1)実行ファイルを指定

  <component package="TestRTC" comp="TestRTCComp"
             context="TestRTC0" defaultstate="deactivate"
             activation_interval="0.0" execrate="30">
    <configuration name="componentconf_file" value="test.conf" filesearch="yes"/>
  </component>

packageにコンポーネントの実行ファイルが置かれているパッケージ,compに実行ファイル名を指定します. contextには,起動時のrtc名から.rtcを除いたものを指定します.これらの3項目は省略できません.

また,defaultstateに起動後の状態を指定('activate'或いは'deactivate')し,activation_intervalに起動時の時間遅れをmsで指定することができます.この2項目は省略可能です.省略した場合のデフォルト値はそれぞれ'activate',0.0です.

各コンポーネントごとのコンフィギュレーションセットをの形で記述することができます.ここで,filesearch="yes"としておくと(デフォルトは"no")valueで指定した文字列をファイル名と見なして,パッケージディレクトリの下から探して,そのパスをセットしてくれます.

3ー2)シェアードオブジェクトを指定

  <component package="TestRTC" comp="TestRTC.so:XXX"
             ecxtpackage="YYY"
             context="TestRTC0" defaultstate="deactivate"
             activation_interval="0.0" >
    <configuration name="componentconf_file" value="test.conf" filesearch="yes" />
  </component>

シェアードオブジェクトからコンポーネントを生成する場合には,contextに指定した名前のコンポーネントが生成され起動します 動作実行周期をexecrateで動作周期(Hz)を指定できます.省略した場合1000Hzになります.compが.so以外の場合にはこの値は無視されます.comp="TestRTC.so:XXX" と指定した場合、実行時のexecution contextをXXX.soにして実行されます.併せてecxtpackage="YYY"を指定すれば、package 以下に加えてYYY 以下でXXX.soを探します。

4)関連スクリプト起動設定

コンポーネントそのものでなくても、一緒に起動したい関連スクリプトに関しては、

  <process package="example" proc="test.l" delaytime="10" />

のように記述することで,起動時の遅れ時間を指定して起動することができます.この時,拡張子が.lのものは,EusLispのファイルとして扱われます.EusLispのどのバイナリを起動に使うかは、環境変数EUSに文字列をセットすることで指定できます.bashの場合は.bashrcに

 export EUS='irteusgl' 

のようにして下さい.この環境変数がない場合には,デフォルトのirteusglが使われます.

5)接続設定

接続は,

  <connection>
    <port type="out" context="Test1RTC0" name="testout" />
    <port type="in" context="Test2RTC0" name="testin" />
  </connection>

のように接続する出力と入力のポート記述をconnectionタグで囲むことで記述します.アウトポートはtype="out",インポートはtype="in"で指定し,contextに.rtcを除いたコンポーネント名を,nameにポート名を記述します.

Clone this wiki locally