-
Notifications
You must be signed in to change notification settings - Fork 0
Format of rtmlaunch .xml file
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にポート名を記述します.