[openrtm-users 00932] Re: C++/PythonのSystemEditor上での現れ方について

kurihara shinji shinji.kurihara @ aist.go.jp
2009年 9月 3日 (木) 17:21:34 JST


鳥井 様

産総研 栗原です。

> RTSystemEditorに現れたときのOutpPort/Subscription Typeに現れる
> タイプの順番が違うようです。、
> この順番をC++版コンポーネントとあわせることは可能でしょうか?
> 些細な事、というか気分の問題なので、時間のあるときにでもご教示ください。
こちらに関しましては、Python版では、Subscriptionタイプを辞書で管理して
おりまして、辞書からキーを取得する際にご指摘のような順序になっているよう
です。

具体的には、Subscriptionタイプをflush,new,periodicの順で登録しているので
すが、辞書から取得するさいに"new,periodic,flush"のようになってしまいます。

下記のようにする事で確認できます。

$ python
Python 2.5.2 (r252:60911, Oct  5 2008, 19:24:49) 
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> m={"flush":0,"new":1,"periodic":2}
>>> m
{'new': 1, 'periodic': 2, 'flush': 0}
>>> m.keys()
['new', 'periodic', 'flush']
>>> 

一応、キーのリストをlist.sort()を用いてソートする事で"flush,new,periodic"
にする事は可能です。
C:\Python26\Lib\site-packages\OpenRTM_aistのGlobalFactory.pyのgetIdentifiers(self)
関数のreturn文の前にidllist.sort()を追加する事で"flush,new,periodic"の順になる
事は確認致しました。

他に何か良い方法をご存知の方がいらっしゃいましたらご教授頂けますと幸いです。


以上、宜しくお願い致します。


> さて、
> 大橋様
> 
> At 03 Sep 2009 15:34:23 +0900 Takeshi OHASHI wrote:
> > こちらに関連した内容ですが、OMNIORB_USEHOSTNAME にはいつから
> > かIPアドレスではつながらず FQDN で書いてもドメインが無視されて
> > しまうように思います。また、このことからホスト名から IPアドレス
> > が解決できないとアクセスできなくてリモートから接続できないこと
> > になっているようです。DNSがない環境(ロボット内部など)の場合、
> > /etc/hosts や %SYSTEMROOT%\system32\drivers\etc\hosts
> > に直接書いておく必要があるようです。
> > # これに気づかなくてしばらくはまってしまいました。
> 
> こちら(VistaからアップデートしたWindows 7)では、
> 直IPを指定することで接続できています。また、
> IPv6関係をすべて無効することで、"localhost" で繋がるようになりました。
> # hosts の "::1 localhost"も削除しました。
> 
> あまりよい解決策ではなさそうですが、一応ご報告まで。
> 
> 
> 


-- 
----------
栗原 眞二 <shinji.kurihara @ aist.go.jp>

独立行政法人産業技術総合研究所
  知能システム研究部門 統合知能研究グループ
  〒305-8568
  茨城県つくば市梅園1-1-1 中央第2

  TEL: 029-861-5956



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