OpenRTM-aist開発者各位
お世話になっております。 セック 小田桐です。
1.0.0用のRT Systesm Editorを使用していて、ポート接続の復元が うまくできないケースがありましたので、ご報告いたします。
ポート接続がうまく復元できないのは、別々のホストで同じ種類のRTCを 複数起動した場合です。
例えば、HostAとHostBでConsoleInとConsoleOutをそれぞれひとつずつ 起動します。
ネーミングサービス上では以下のようになります。
|-HostA|host_cxt | |-ConsoleIn0|rtc | |-ConsoleOut0|rtc | |-manager|mgr | |-HostB|host_cxt | |-ConsoleIn0|rtc | |-ConsoleOut0|rtc | |-manager|mgr
HostAのConsoleIn0とConsoleOut0、HostBのConsoleIn0とConsoleOut0を それぞれ接続し、保存します。 一度全てのRTCを再起動した後、状態を復元しようとすると、 HostBのConsoleIn0とConsoleOut0の間のポートが 接続されませんでした。
おそらく原因は、保存したXML(RTS Profile)のポート接続情報に、 ポート接続する対象のRTCがどこのホストに属するかという情報が ないためではないかと思われます。 現状、ポート接続情報に、対象のRTCの情報はインスタンス名と コンポーネントID(RTC:[vendor].[category].[implementation_id]:[version]) しかありません。 そのため、接続すべきポートが、HostAのConsoleIn0のポートoutなのか、 HostBのConsoleIn0のポートoutなのか区別ができないと思われます。 その結果、HostAのConsoleIn0とConsoleOut0を2回 接続してしまい、HostBの方は接続されなかったのではないかと 考えています。
この推測が正しいのであれば、RTS Profileにホストの情報を 付与するというのが一番簡単そうです ただ、私としては、RTCのインスタンス名も、ネーミングサービスへの 登録名と同じようにしてはどうかと考えています。
以上、ご確認をよろしくお願いいたします。
モーションエディタ/シミュレータ
動力学シミュレータ
統合開発プラットフォーム
産総研が提供するRTC集
東京オープンソースロボティクス協会
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
OpenRTM-aist開発者各位
お世話になっております。
セック 小田桐です。
1.0.0用のRT Systesm Editorを使用していて、ポート接続の復元が
うまくできないケースがありましたので、ご報告いたします。
ポート接続がうまく復元できないのは、別々のホストで同じ種類のRTCを
複数起動した場合です。
例えば、HostAとHostBでConsoleInとConsoleOutをそれぞれひとつずつ
起動します。
ネーミングサービス上では以下のようになります。
|-HostA|host_cxt
| |-ConsoleIn0|rtc
| |-ConsoleOut0|rtc
| |-manager|mgr
|
|-HostB|host_cxt
| |-ConsoleIn0|rtc
| |-ConsoleOut0|rtc
| |-manager|mgr
HostAのConsoleIn0とConsoleOut0、HostBのConsoleIn0とConsoleOut0を
それぞれ接続し、保存します。
一度全てのRTCを再起動した後、状態を復元しようとすると、
HostBのConsoleIn0とConsoleOut0の間のポートが
接続されませんでした。
おそらく原因は、保存したXML(RTS Profile)のポート接続情報に、
ポート接続する対象のRTCがどこのホストに属するかという情報が
ないためではないかと思われます。
現状、ポート接続情報に、対象のRTCの情報はインスタンス名と
コンポーネントID(RTC:[vendor].[category].[implementation_id]:[version])
しかありません。
そのため、接続すべきポートが、HostAのConsoleIn0のポートoutなのか、
HostBのConsoleIn0のポートoutなのか区別ができないと思われます。
その結果、HostAのConsoleIn0とConsoleOut0を2回
接続してしまい、HostBの方は接続されなかったのではないかと
考えています。
この推測が正しいのであれば、RTS Profileにホストの情報を
付与するというのが一番簡単そうです
ただ、私としては、RTCのインスタンス名も、ネーミングサービスへの
登録名と同じようにしてはどうかと考えています。
以上、ご確認をよろしくお願いいたします。