Closed Nobu19800 closed 3 years ago
対象RTCのOpenRTM-aistのバージョンをチェックし,オブザーバが使用可能かどうかを確認するため行っている動作です. オブザーバが使用できないバージョンのRTCの場合,SDOConfigurationへServiceProfileをAddしようとすると例外が発生していたので,最初に空のダミープロファイルをAddし,例外が発生するか?(オブザーバが使用できるか?)のチェックを行っています.
空のServiceProfile を登録しても副作用はないはずなので、過去のRTCへの影響も考えられるのでこのままにします。 以下のエラーメッセージは、WARNにするなどした方がいいです。
2020-03-18 16:16:38,017 file.SdoServiceAdmin ERROR type not exists.
このメッセージはどこにあるのでしょうか?C++のasterには見当たりませんでした。
OpenRTM-aist-1.0では、空のプロファイルをaddするとExceptionが返ってきていた。 → 1.0 かそれ以降かをこれで判断できる。→例外は返るが落ちない → Observer参照入りProfileをいきなり登録するとRTC側が落ちる。→これを回避したい
1.1以降では、
以上から、以下のSDOサービスがまともに使えるか否かのRTCバージョンチェックロジックが実装されている。
というわけで、この処理の流れ自体は過去バージョンとの互換性のために必要。
Describe the bug RT System EditorでRTCをシステムエディタ上に表示するとコンポーネントオブザーバーの登録の前にIDなどが空のServiceProfileを登録しようとする。
To Reproduce Steps to reproduce the behavior:
Reproducibility 100%
Expected behavior 空のサービスプロファイルを登録しようとする意図が不明のためその部分を削除すれば解決するかも不明。なぜこうなっているのかの理由を教えてほしい。
Screenshots or Logs
Environment
Additional context