[openrtm-users 01211] Re: rtc_handle for OpenrtM-aist-1.0.0

Geoffrey Biggs geoffrey.biggs @ aist.go.jp
2010年 5月 17日 (月) 20:31:34 JST


末廣様

産総研のジェフです。

rtc_handleを1.0にあわせることをお疲れさまです。確かに0.4.2から詳しいとこ
ろはよく変わりました。

1)rtctreeの場合、APIの中にポート名からコンポーネント名を消します。参照
はこのファイルの214行目です。

http://github.com/gbiggs/rtctree/blob/3395f0f6c0bd21329bf11ee20c85d5fb8b50fba2/rtctree/ports.py

例えば、rtcshellはポートを使う時、rtcshellのコードはより綺麗になります。

2)接続されてないポートにデータを書けないようです。そのために、rtcshell
でdummy connectionを作ってデータを書きます。参照はこのファイルの79行目
です。

http://github.com/gbiggs/rtcshell/blob/6ee7c982edc3e82282f5dee48ba6c87a4d7cab74/rtcshell/rtinject.py

こうなった理由はポートとトランスポートをもっと分かれたようにするためにだ
と思います。

ところで、rtcshellをshellだけじゃなくて、Pythonからも呼べます。例えば、

shellの場合:
$ rtinject ConsoleOut0.rtc:in 'RTC.TimedLong(RTC.Time(0, 0), 5)'

Pythonの場合:
rtcshell.rtinject.main(argv=['ConsoleOut0.rtc:in',
	'RTC.TimedLong(RTC.Time(0, 0), 5)'])

3)この問題について思ったことはないんですが、rtctreeの場合、できます。
ちょっと複雑ですけど。コネクションから取りたい場合はrtctreeがAPIの中でコ
ネクションのポートを探して、コネクションのオブジェクトに入れます。ポート
の場合は既にCORBAオブジェクトがあるので、そのCORBAオブジェクトから取れます。


以上、よろしくお願いいたします。


On 17/05/10 19:47, ts wrote:
> 皆様,
> 
> 末廣@電通大です.
> OpenRTM-aist-Python-1.0.0がリリースされたので,
> rtcやrtc_handleの0.4.2からの移植を始めました.
> 
> rtcについては個人的に愛用していたread側のOnWriteコールバックが
> なくなったことを除けば,大きな変更なしに移れそうだという感触です.
> 
> rtc_handleの方は少し困った状況になっています.
> 皆様のお知恵を拝借できればと思って状況を説明します.
> 松坂さん,栗原さんに作成して頂いたものをベースにしたとりあえずのものは
> <http://www.taka.is.uec.ac.jp/~suehiro/rtm1.0.0/>に置いてあります.
> 
> コンポーネントのactivate/deactivate/reset,
> コンポーネント同士の接続/切り離し,
> コンポーネントのconfigurationサービスの利用
> などは使えることを確認しています.
> 
> 困っている点は,
> (1)ポート名に,コンポーネント名がくっついてくる.
>  0.4.2では,ポート名はポート名だけだったのですが,
>  1.0.0ではなぜか,コンポーネント名.ポート名の形式になっています.
>  一見親切なのですが,コンポーネントを取り替えても動くプログラムを
>  作ろうとすると,かえって処理が複雑になってしまいます.
>  これはもとに戻す予定はないのでしょうか.
> (2)'dataport.corba_cdr.inport_ref'にwriteしてもデータが送られない?
>  ちゃんとconnectしたrtcからはデータが届いているのですが,
>  rtc_handleからwriteしてもだめに見えます.
>  PORT_OKはかえってくるのですが使い方が違うのでしょうか?
> (3)'dataport.corba_cdr.outport_ref'がない.
>  outportの側はobject referenceすら取得できません.
> 
> これらについて何かご存知でしたら教えて頂けると助かります.
> まだサービスポートについては調べていませんが,
> どうなるか少し心配しています.
> 
> ポートへのアクセスを全面的に設計し直す必要があるのでしょうか.
> 
> 以上,よろしくお願いします.



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