hsnuhayato / rtm-ros-robotics

Automatically exported from code.google.com/p/rtm-ros-robotics
0 stars 0 forks source link

hrpsys_config.pyでrtcにservice0という名前のservice consumerがあると落ちる #153

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
hrpsys_config.pyで立ち上げるRTCの中にservice0という名前でregister
Consumerしているものがあると、
createCompsの中などのcomp.service("service0")で落ちてしまいます。
rtm.pyの596行目でエラーが出ていて、findServiceにconsumerの名前�
��与えると落ちるということのようです。

hrpsys-baseのrtm.pyのfindService()でconsumerかproviderか判別してエラ�
��落ちしないようにするか、
そもそもconsumerはservice0というインスタンス名にしない決ま�
��にするかだと思います。

Original issue reported on code.google.com by nakaokat on 31 Jul 2013 at 6:37

GoogleCodeExporter commented 9 years ago
http://www.openrtm.org/OpenRTM-aist/documents/1.0/cxx/classreference_ja/classRTC
_1_1CorbaPort.html#a70d4b49921c82916181aa681eea2ab2b
を見ると、
 instance_name  Consumer が要求するサービスのインスタンス名
となっているので、service0というインスタンスのサービスに
接続するために、
registerConsumerでservice0を指定するのは自然なことでした。

comp.service("service0")とされたときに、providerのみ見るように変
更するのが良いのでしょうか。
rtm.pyも変更が必要になる気がします。

Original comment by nakaokat on 31 Jul 2013 at 10:59

GoogleCodeExporter commented 9 years ago
rtm.pyのパッチです。
findServiceで、polarityがPROVIDEDのもののみ返すようにしました��
�
これで動きますが、findServiceでconsumerを取ってくることがで�
��なくなります。

Index: python/rtm.py
===================================================================
--- python/rtm.py   (リビジョン 809)
+++ python/rtm.py   (作業コピー)
@@ -586,7 +586,8 @@
        for aif in ifs:
            #print "IF name:",aif.instance_name
            #print "IF type:",aif.type_name
-           if aif.instance_name == instance_name and (type_name == "" or aif.type_name 
== type_name):
+                        #print "IF polarity:",aif.polarity
+           if aif.instance_name == instance_name and (type_name == "" or aif.type_name 
== type_name) and aif.polarity == PROVIDED:
                port = pp.port_ref
    if port == None:
        print "can't find a service named",instance_name

Original comment by nakaokat on 31 Jul 2013 at 11:25

GoogleCodeExporter commented 9 years ago
hrpsys-baseの話なのでこちらに移します。

https://code.google.com/p/hrpsys-base/issues/detail?id=126

#google codeにはupstreamというステータスはないんでしょうか

Original comment by nakaokat on 31 Jul 2013 at 11:34