[openrtm-users 03401] Re: 同じポート間の多重接続を避ける方法

BiggsGeoffrey geoffrey.biggs @ aist.go.jp
2017年 6月 14日 (水) 12:30:39 JST


升谷様

どの方法で接続を作っていますか。

今rtshellで試したら、多重接続を作ったらrtcatで見えます。でも確かにrtls -l では1として出力されます。

ジェフ

geoff ~ $ rtls
ConsoleIn0.rtc  ConsoleOut0.rtc
geoff ~ $ rtcon ConsoleIn0.rtc:out ConsoleOut0.rtc:in
geoff ~ $ rtcon ConsoleIn0.rtc:out ConsoleOut0.rtc:in
geoff ~ $ rtcon ConsoleIn0.rtc:out ConsoleOut0.rtc:in
geoff ~ $ rtcat ConsoleIn0.rtc: -lll
ConsoleIn0.rtc  Inactive
  Category       example
  Description    Console input component
  Instance name  ConsoleIn0
  Type name      ConsoleIn
  Vendor         Noriaki Ando, AIST
  Version        1.0
  Parent
  Type           Monolithic
  Extra properties:
    activity_type                            DataFlowComponent
    category                                 example
    conf
    config.version                           1.1.1
    config_file                              consin.conf
    corba.endpoint
    corba.id                                 omniORB
    description                              Console input component
    exec_cxt.periodic.rate                   1000
    exec_cxt.periodic.type                   PeriodicExecutionContext
    exec_cxt.sync_transition                 YES
    exec_cxt.transition_timeout              0.5
    implementation_id                        ConsoleIn
    instance_name                            ConsoleIn0
    lang_type                                compile
    language                                 C++
    logger.enable                            NO
    logger.log_level                         PARANOID
    max_instance                             10
    naming.enable                            YES
    naming.formats                           test.host_cxt/%n.rtc
    naming.names                             test.host_cxt/ConsoleIn0.rtc
    naming.type                              corba
    openrtm.name                             OpenRTM-aist-1.1.1
    openrtm.version                          1.1.1
    os.arch                                  x86_64
    os.hostname                              alnilam
    os.name                                  Linux
    os.release                               4.4.0-79-generic
    os.version                               #100-Ubuntu SMP Wed May 17 19:58:14 UTC 2017
    port.dataport.out.tcp_any.byteswap       NO
    port.outport.dataport
    port.outport.out
    sdo.service.consumer.available_services  IDL:OpenRTM/ComponentObserver:1.0
    sdo.service.consumer.enabled_services
    sdo.service.provider.available_services
    sdo.service.provider.enabled_services
    type_name                                ConsoleIn
    vendor                                   Noriaki Ando, AIST
    version                                  1.0
 -Execution Context 0
    State  Running
    Kind   Periodic
    Rate   1000.0
   -Extra properties
      name
      rate                1000
      sync_transition     YES
      transition_timeout  0.5
      type                PeriodicExecutionContext
 -DataOutPort: out
    dataport.data_type          IDL:RTC/TimedLong:1.0
    dataport.dataflow_type      push,pull
    dataport.interface_type     corba_cdr, direct
    dataport.subscription_type  flush,new,periodic
    port.port_type              DataOutPort
   -Connected to  /localhost/test.host_cxt/ConsoleOut0.rtc:in
      Name                            outin
      ID                              5c9c56d7-c944-4ccf-a12d-16e1e9df187e
      dataport.subscription_type      new
      dataport.interface_type         corba_cdr
      dataport.dataflow_type          push
      dataport.data_type              IDL:RTC/TimedLong:1.0
      dataport.serializer.cdr.endian  little,big
   -Connected to  /localhost/test.host_cxt/ConsoleOut0.rtc:in
      Name                            outin
      ID                              874cb981-7c1c-4db2-98c0-1661c985958a
      dataport.subscription_type      new
      dataport.interface_type         corba_cdr
      dataport.dataflow_type          push
      dataport.data_type              IDL:RTC/TimedLong:1.0
      dataport.serializer.cdr.endian  little,big
   -Connected to  /localhost/test.host_cxt/ConsoleOut0.rtc:in
      Name                            outin
      ID                              595d1b3e-abaa-4faa-9613-827dee76e84b
      dataport.subscription_type      new
      dataport.interface_type         corba_cdr
      dataport.dataflow_type          push
      dataport.data_type              IDL:RTC/TimedLong:1.0
      dataport.serializer.cdr.endian  little,big
________________________________________
From: openrtm-users <openrtm-users-bounces @ openrtm.org> on behalf of MASUTANI Yasuhiro <masutani @ osakac.ac.jp>
Sent: Wednesday, 14 June 2017 10:45:47 a.m.
To: OpenRTM-aist mailing-list for generic users
Subject: [openrtm-users 03400] Re: 同じポート間の多重接続を避ける方法

岡田先生,

On Wed, 14 Jun 2017 09:49:35 +0900,
Kei Okada <k-okada @ jsk.t.u-tokyo.ac.jp> wrote:
>
> このような現象があるんですか、、、
> 今まだ気がつきませんでした。
> もしかしたら自分たちにシステムでもこれが起こっているかと心配で確認しようと思ったのですが、
> rt system editor, rtlsで見えてこないとなると
> このような状況になっていることを確認するにはどのような手順になるでしょうか
> プログラムを丁寧に追って多重に接続されていないか確認する以外にないのでしょうか?

RT System Editor上でコンポーネント間を接続する線を削除しても消えない
ということで多重接続を確認できます.

現象としては,こんなことがありました.

・音声合成のコンポーネントに,文字列を1回だけ送っているはずなのに,そ
  の文字列を2回発声する.おそらく,RT System Editor上の操作の間違いで
  そうなったものを思われます.

・rtconで接続するバッチファイル(Windowsで使っています)を使う度に大量
  のデータを受け取るコンポーネントのパフォーマンスが低下する.終了の際
  に後始末をしていなかったのが原因ではありますが…

ググってみると以下のページで同じ問題に言及していました.

  graspPlugin for Choreonoid
  rtcon で 自動接続スクリプト
  http://www5185ub.sakura.ne.jp/GraspPlugin/i/en/node/34

--
# 升谷 保博
# 大阪電気通信大学 総合情報学部 情報学科
# 575-0063 大阪府四條畷市清滝1130-70 / TEL&FAX: 072-876-5107
_______________________________________________
openrtm-users mailing list
openrtm-users @ openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users


More information about the openrtm-users mailing list