[openrtm-users 01068] Re: RT System Editorの排出するXMLファイル(RTSファイル?)の仕様について

Yasuaki Odagiri odagiri @ sec.co.jp
2010年 1月 13日 (水) 17:36:19 JST


早稲田大学 菅様

お世話になっております。
株式会社セックの小田桐です。

ご指摘の問題には私もぶつかりました。
RT System Editorが吐き出すXML(RTS Profile)のポート接続情報には、
対象ポートを持つRTCについて、インスタンス名とRTCの型情報しか
記述されていません。
現在のインスタンス名の命名規則では、別プロセスのRTC同士は
インスタンス名が重複するため、問題が生じることがあります。
これは、以前、[openrtm-users 00833]で私も
指摘させていただいています。

私もツールを作る上で困ったので、とりあえず現状では、
以下のようにRTCのインスタンス名にパスを付与することで
問題を回避しています。
  (ホスト名)_(PID)_(通常のRTCのインスタンス名).rtc

C++版以外はまだ見ていないのでわからないのですが、
C++版の1.0.0系では、Manager::createComponent()を
以下のように呼び出せば、既存の命名規則を無視して、
インスタンス名を強制的に上書きできるようになります。
  manager->createComponent("ConsoleIn?instance_name=Test");

ただし、RC1ではこの処理に少し問題があり、うまく動作しません。
一応、以下のようにRTObject_impl::initialize()を
オーバライドすればほぼ正しく動くようになります。

RTC::ReturnCode_t Sample::initialize()
        throw(CORBA::SystemException)
{
  RTC::Properties dummy_prop;
  setProperties(dummy_prop); // ★これを呼ぶとインスタンス名が正しく上書きされる
  return DataFlowComponentBase::initialize();
}

ご参考になれば幸いです。

以上

On Mon, 28 Dec 2009 20:17:23 +0900
ysuga <ysuga @ pop07.odn.ne.jp> wrote:

> OpenRTM-aist メーリングリストの皆様:
> お世話になっております.早大の菅です.
> 
> さっそく本題です.
> RT System Editorと連携できるツールを作っていますが,
> System Editorの保存するXMLファイルの仕様が良くないです.
> 
> 
> SystemEditorが吐き出すXMLファイルですが,
> コネクションのデータ内にRTCのインスタンス名しか
> 登録できていませんが,この仕様でよいのですか?
> フルパスで指定できないと,重複の可能性がありますし,
> 今作っているツールの用途だと不便になってしまいます.
> 
> rts:sourceDataPortにrts:pathUriのアトリビュートを追加できませんか?
> (若干ですが名前が誤解を生みそうですね.
> rts:componentPathUriのほうがよさそうです.
> 
> 
> こまかい話ですがご検討ください.
> 
> ではでは
> 
> 
> -- 
> /***************************************
>  * 菅 佑樹
>  * ysuga @ ysuga.net
>  * http://www.ysuga.net
>  * お知らせ:RTミドルウエア始めました
>  ***************************************/
> 

-----------------------------------------------------------
 株式会社セック 開発本部 第一開発部
   〒150-0031 東京都渋谷区桜丘町 22-14 NESビル
   TEL: 03-5458-7741    FAX : 03-5458-7726
   URL: http://www.sec.co.jp

 小田桐 康暁 (Yasuaki ODAGIRI)
   E-Mail: odagiri @ sec.co.jp
-----------------------------------------------------------




openrtm-users メーリングリストの案内