[openrtm-users 02261] Re: OpenRTM-aist 1.1RCバージョン各言語間の統一のお願い

Yuki Suga ysuga @ ysuga.net
2011年 10月 11日 (火) 19:01:22 JST


安藤先生:
菅です.

ポートの命名規則の現状ですが,

> C++: インスタンス名.ポート名
> Py,Java: .ポート名

となっているように見えます.


> ポート名が「インスタンス名.ポート名」にならない理由として、
> addPort(旧 registerPort) をコンストラクタで呼んでいる可能性が有ります。
> もしそうならonInitializeで呼ぶようにしてみてください。

この説明で理解しました.
僕のコードは
Java→旧RTC-Builderで生成したもの
Python→現在のrtc-template.py (C++に同梱) で生成したもの
です.どちらもハズレでしたね・・・orz

とりあえず,rtc-template.pyのメンテナンスをお願いします.

よろしくお願いします.

# 前述のimport OpenRTMの件ですが,
# rtc-template.pyでpython版のコードを排出した際に起こります.
# (importという文脈でわかると思いますが,言語の事を書いてなかったので念のため)



2011年10月11日16:42 Ando Noriaki <n-ando @ aist.go.jp>:
> 菅さん
>
> 安藤です
>
>> 3.データポートの命名規則が違う
>> C++版と,
>> Java版&Python版の間で,
>> ポートの名前の命名規則が異なるので不便です.
>> C++版では,
>> インスタンス名.ポート名
>> となるところが,
>> .ポート名
>> となっています.
>> どちらかに統一していただけると便利になるのですが・・・
>
> これは
> C++: インスタンス名.ポート名
> Py,Java: .ポート名
> という意味でしょうか?それとも
> C++: .ポート名
> Py,Java: インスタンス名.ポート名
> でしょうか?
>
> ちなみに、その現象が発生しているコンポーネントはサンプルのRTCでしょうか?
>
> ポート名が「インスタンス名.ポート名」にならない理由として、
> addPort(旧 registerPort) をコンストラクタで呼んでいる可能性が有ります。
> もしそうならonInitializeで呼ぶようにしてみてください。
>
> いま確認したところ、各ツールで生成されるコードのaddPort
> が呼ばれるタイミングは以下の通りでした。
>
> rtc-template + C++: OK (onInitialize)
> rtc-template(in C++) + Python: NG (コンストラクタ)
> rtc-template(in Py) + Python: NG (コンストラクタ)
> RTBuilder + C++: OK (onInitialize)
> RTCBuilder + Python: NG (コンストラクタ)
> RTCBuilder + Java: OK (onInitiaslize)
>
> ただし、この現象はtoolsのRC2では修正されています。
> RC2のダウンロードページはまだありませんが早急に作成しますので、
> そちらからダウンロードしてみてください。
>
> よろしくお願いします。
>
> --
> 安藤慶昭@独立行政法人産業技術総合研究所 知能システム研究部門
>    統合知能研究グループ 主任研究員, 博士(工学)
>    〒305-8568 つくば市梅園1-1-1 中央第2
>    e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
>    OpenRTM-aist: http://www.openrtm.org
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
>


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