[openrtm-users 00154] Re: コンポーネントの接続状態の確認について

Ando Noriaki n-ando @ aist.go.jp
2007年 7月 6日 (金) 14:34:07 JST


江口様

産総研 安藤です

お世話になっております。

> 現在、ネットワーク上に存在するRTコンポーネントのうち、どのコンポーネント
> とも接続していないコンポーネントがいたら、そのコンポーネントを自ら終了さ
> せる機能を持ったRTコンポーネントを開発しようと考えております。
>
> そこで、コンポーネントが他のコンポーネントと接続しているか否かの判定を行
> いたいのですが、そのような機能はRTMにはあるのでしょうか?
> RTMのバージョンは0.2.0です。

0.4.0はInPort、OutPort共に接続中のポートの関する情報を取得する関数が
ありますが、0.2.0では接続に関する情報はOutPortのみが持っており、
InPort側では知る方法が無かったと思います。

0.2.0のOutPort::inports()を利用すると、接続しているInPortのオブジェクトリファレンス
が取得できます。この数を数えればOutPortと接続しているInPortの数が
わかります。
InPort側では接続を管理していないので、このような情報を取得することは出来ません。

ちなみに、0.4.0では
Port::get_connector_profiles()
を利用して接続に関する情報を取得することが出来ます。
InPort, OutPortともにPortのサブクラスなので、
どちらもこの情報を取得することが出来るようになっています。


-- 
安藤慶昭@独立行政法人産業技術総合研究所 研究員
                   知能システム研究部門 タスクインテリジェンス研究グループ
                   〒305-8568 茨城県つくば市梅園1-1-1 中央第2
                   TEL: 029-861-5981 FAX: 029-861-5971
                   n-ando @ aist.go.jp, n-ando @ ieee.org



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