[openrtm-users 02828] Re: findRTCmanagerに関する質問

Kenji Miyake kenji @ jsk.t.u-tokyo.ac.jp
2013年 6月 29日 (土) 00:15:11 JST


安藤さん

三宅です。

頂いたプログラムのように変更を加えてみましたが、
objの生成の段階で例外が発生してしまいます。

また、getManagerFromNSの方は、
#mgr = RTCmanager(ManagerHelper.narrow(obj))
とコメントアウトして、元から書いてあったものを参考に、
mgr = RTCmanager(obj._narrow(RTM.Manager))
とすると、以下のようにインスタンスは生成されました。
<rtm.RTCmanager instance at 0x2ab4b00>

しかしその後、
  File "/home/leus/ros/fuerte/rtm-ros-robotics/rtmros_common/hrpsys/share/hrpsys/python/rtm.py",
line 337, in findRTCmanager
    if not CORBA.is_nil(getManagerFromNS(h, mgr)):
  File "/usr/lib/python2.7/dist-packages/omniORB/CORBA.py", line 1139, in is_nil
    raise BAD_PARAM(omniORB.BAD_PARAM_WrongPythonType, COMPLETED_NO)
omniORB.CORBA.BAD_PARAM:
CORBA.BAD_PARAM(omniORB.BAD_PARAM_WrongPythonType, CORBA.COMPLETED_NO)

とエラーが出てしまいます。


どのように変更すれば良いでしょうか?
また、もう少し詳細なログや環境変数などの情報は必要でしょうか?
お手数をおかけしますが、よろしくお願い致します。

2013年6月28日 20:39 Ando Noriaki <n-ando @ aist.go.jp>:
> 三宅さん
>
> 安藤です
>
>> JSKの三宅です。
>>
>> 頂いたコードを少し修正して試しましたが、
>> System.getProperties()のところで例外が出ました。
>>
>> こちらの環境では、jythonではなくてCpythonを使っているのですが、
>> その場合はどのように書けば良いのでしょうか?
>
> グローバル変数 orb に ORB の参照が代入されているようですので、
> getProperites() を使わないでgetManagerDirectly()を以下のように書けばいいかもしれません。
> # initCORBA() が実行されていることが前提です。
>
>      def getManagerDirectly(hostname, mgr = None):
>    global orb
>        corbaloc = "corbaloc:iiop:" + hostname + "/manager"
>        try:
>          obj = orb.string_to_object(corbaloc)
>          mgr = RTCmanager(ManagerHelper.narrow(obj))
>
>> また、以下の、
>> for h in hostnames:
>>        if not CORBA.is_nil(getManagerDirectly(hostname, mgr)): return
>> mgr   #getmanager -> getManager
>>        if not CORBA.is_nil(getManagerFromNS(hostname, mgr)): return mgr
>>
>> については、hostname -> hに置き換えればよろしいでしょうか?
>
> そうですね。for の中なので getManager*(h, mgr) じゃないとだめですね。
> これらのif文は最初for文の外にあったのですが、修正し忘れです。すみません。
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users



-- 
三宅 健司
東京大学 情報理工学系研究科 創造情報学専攻
稲葉・岡田研究室 修士2年
E-mail: kenji @ jsk.t.u-tokyo.ac.jp


More information about the openrtm-users mailing list