[openrtm-users 02262] Re: OpenRTM-aist 1.1RCバージョン各言語間の統一のお願い
Ando Noriaki
n-ando @ aist.go.jp
2011年 10月 11日 (火) 19:57:55 JST
菅さん、皆様
安藤です
ありがとうございます。
rtc-templateの件はすみません、
C++に同梱のPythonコードジェネレータが古かったようです。
Pythonに同梱のpython_gen.py (WindowsだとC:\Pythonx.y\の下のどこかにある)
と入れ替えてみてもらえないでしょうか?
rtc-templateは今後も最低限使えるようにしてはいきますが、
できればRTCBuilderのほうが良いと思います。
というのも、RTCBuilderではCMakeを使うようになっており、
パッケージ化やドキュメント生成なども簡単にできるようになっているためです。
まだCMake周りが少々使いづらかったり、Eclipseのパースペクティブ間
の連携がスムーズでなかったりといったことはあると思いますが、
徐々に改善していきたいと思っていますので、ご意見いただければと思います。
私も最近はRTCBUilderを使っており、ドキュメント作成機能やCMakeの生成機能、
また、一旦生成したコードに対してのポートやコンフィギュレーションの
追加や削除機能が便利です。
ただ、まだ使い方を十分理解していないだけかもしれませんが、Eclipseの
CDT(特にインデクサ)やCDT+CMake周りが今一歩という感じです。
これらの連携がうまく行けば、RTCBuilderによるRTCの設計と、コーディング間
が割と自由に行き来できて、開発効率も上がりそうな印象です。
2011年10月11日12:01 Yuki Suga <ysuga @ ysuga.net>:
> 安藤先生:
> 菅です.
>
> ポートの命名規則の現状ですが,
>
>> 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 mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
>
--
安藤慶昭@独立行政法人産業技術総合研究所 知能システム研究部門
統合知能研究グループ 主任研究員, 博士(工学)
〒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
Noriaki Ando, Ph.D.
Senior Research Scientist, RT-Synthesis R.G., ISRI, AIST
AIST Tsukuba Central 2, Tsukuba, Ibaraki 305-8568 JAPAN
e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
OpenRTM-aist: http://www.openrtm.org
openrtm-users メーリングリストの案内