Download
latest Releases : 2.0.0-RELESE
2.0.0-RELESE | Download page |
Number of Projects
RT-Component | 153.5 |
RT-Middleware | 35 |
Tools | 22 |
Documentation | 2 |
Choreonoid
Motion editor/Dynamics simulator
OpenHRP3
Dynamics simulator
OpenRTP
Integrated Development Platform
AIST RTC collection
RT-Components collection by AIST
TORK
Tokyo Opensource Robotics Association
DAQ-Middleware
Middleware for DAQ (Data Aquisition) by KEK
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のインスタンス名も、ネーミングサービスへの
登録名と同じようにしてはどうかと考えています。
以上、ご確認をよろしくお願いいたします。