岡田です.
hrpsysのシミュレータでrtcdを使っているのですが,クライアントからポートの接続などの初期処理を 行うときに,時どき以下のように RTC::PortBase::connect でエラーになります(毎回ではありません) どのようなところに原因がありそうか,ヒントがあれば教えていただきたく思います.
hrpsys-simulator: PortBase.cpp:191: virtual RTC::ReturnCode_t RTC::PortBase::connect(RTC::ConnectorProfile&): Assertion `!isExistingConnId(connector_profile.connector_id)' failed. [hrpsys-3] process has died [pid 5669, exit code -6, cmd /home/k-okada/ros/fuerte/rtm-ros-robotics/rtmros_common/hrpsys/build.0308/hrpsys-base/bin/hrpsys-simulator /home/k-okada/ros/fuerte/rtm-ros-robotics/rtmros_common/hrpsys/share/hrpsys/samples/PA10/PA10simulation.xml -o manager.is_master:YES -o corba.nameservers:localhost:2809 -o naming.formats:%n.rtc -o logger.file_name:/tmp/rtc%p.log -nodisp
なお,出力したログファイルの最後は以下のようになっています.
Jul 27 06:35:34.191 TRACE: InPortProvier: connector endian: little Jul 27 06:35:34.191 PARANOID: InPortProvier: converted CDR data size: 88 Jul 27 06:35:34.191 TRACE: qRef: isNew() Jul 27 06:35:34.191 DEBUG: qRef: isNew() = false, no readable data Jul 27 06:35:34.191 TRACE: dqRef: isNew() Jul 27 06:35:34.191 DEBUG: dqRef: isNew() = false, no readable data Jul 27 06:35:34.191 TRACE: ddqRef: isNew() Jul 27 06:35:34.191 DEBUG: ddqRef: isNew() = false, no readable data Jul 27 06:35:34.191 TRACE: q: DataType write() Jul 27 06:35:34.191 DEBUG: q: m_connectors.write called Jul 27 06:35:34.191 TRACE: OutPortConnector: connector endian: little Jul 27 06:35:34.191 TRACE: OutPortConnector: write() Jul 27 06:35:34.191 PARANOID: OutPortConnector: data size = 88 bytes Jul 27 06:35:34.191 PARANOID: PublisherFlush: write() Jul 27 06:35:34.191 PARANOID: InPortCorbaCdrConsumer: put() Jul 27 06:35:34.191 PARANOID: InPortProvier: InPortCorbaCdrProvider::put() Jul 27 06:35:34.191 PARANOID: InPortProvier: received data size: 88 Jul 27 06:35:34.191 TRACE: InPortProvier: connector endian: little Jul 27 06:35:34.191 PARANOID: InPortProvier: converted CDR data size: 88 Jul 27 06:35:34.191 DEBUG: q: m_connectors.write called Jul 27 06:35:34.191 TRACE: OutPortConnector: connector endian: little Jul 27 06:35:34.191 TRACE: OutPortConnector: write() Jul 27 06:35:34.191 PARANOID: OutPortConnector: data size = 88 bytes Jul 27 06:35:34.191 PARANOID: PublisherFlush: write() Jul 27 06:35:34.191 PARANOID: InPortCorbaCdrConsumer: put() Jul 27 06:35:34.192 PARANOID: InPortProvier: InPortCorbaCdrProvider::put() Jul 27 06:35:34.192 PARANOID: InPortProvier: received data size: 88 Jul 27 06:35:34.192 TRACE: InPortProvier: connector endian: little Jul 27 06:35:34.192 PARANOID: InPortProvier: converted CDR data size: 88 Jul 27 06:35:34.192 DEBUG: q: m_connectors.write called Jul 27 06:35:34.192 TRACE: OutPortConnector: connector endian: little Jul 27 06:35:34.192 TRACE: OutPortConnector: write() Jul 27 06:35:34.192 PARANOID: OutPortConnector: data size = 88 bytes Jul 27 06:35:34.192 PARANOID: PublisherFlush: write() Jul 27 06:35:34.192 PARANOID: InPortCorbaCdrConsumer: put() Jul 27 06:35:34.192 PARANOID: InPortProvier: InPortCorbaCdrProvider::put() Jul 27 06:35:34.192 PARANOID: InPortProvier: received data size: 88 Jul 27 06:35:34.192 TRACE: InPortProvier: connector endian: little Jul 27 06:35:34.192 PARANOID: InPortProvier: converted CDR data size: 88 Jul 27 06:35:34.192 DEBUG: q: m_connectors.write called Jul 27 06:35:34.192 TRACE: OutPortConnector: connector endian: little Jul 27 06:35:34.192 TRACE: StabilizerService: connect() _______________________________________________ openrtm-users mailing list openrtm-users@openrtm.org http://www.openrtm.org/mailman/listinfo/openrtm-users
モーションエディタ/シミュレータ
動力学シミュレータ
統合開発プラットフォーム
産総研が提供するRTC集
東京オープンソースロボティクス協会
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
岡田です.
hrpsysのシミュレータでrtcdを使っているのですが,クライアントからポートの接続などの初期処理を
行うときに,時どき以下のように
RTC::PortBase::connect
でエラーになります(毎回ではありません)
どのようなところに原因がありそうか,ヒントがあれば教えていただきたく思います.
hrpsys-simulator: PortBase.cpp:191: virtual RTC::ReturnCode_t
RTC::PortBase::connect(RTC::ConnectorProfile&): Assertion
`!isExistingConnId(connector_profile.connector_id)' failed.
[hrpsys-3] process has died [pid 5669, exit code -6, cmd
/home/k-okada/ros/fuerte/rtm-ros-robotics/rtmros_common/hrpsys/build.0308/hrpsys-base/bin/hrpsys-simulator
/home/k-okada/ros/fuerte/rtm-ros-robotics/rtmros_common/hrpsys/share/hrpsys/samples/PA10/PA10simulation.xml
-o manager.is_master:YES -o corba.nameservers:localhost:2809 -o
naming.formats:%n.rtc -o logger.file_name:/tmp/rtc%p.log -nodisp
なお,出力したログファイルの最後は以下のようになっています.
Jul 27 06:35:34.191 TRACE: InPortProvier: connector endian: little
Jul 27 06:35:34.191 PARANOID: InPortProvier: converted CDR data size: 88
Jul 27 06:35:34.191 TRACE: qRef: isNew()
Jul 27 06:35:34.191 DEBUG: qRef: isNew() = false, no readable data
Jul 27 06:35:34.191 TRACE: dqRef: isNew()
Jul 27 06:35:34.191 DEBUG: dqRef: isNew() = false, no readable data
Jul 27 06:35:34.191 TRACE: ddqRef: isNew()
Jul 27 06:35:34.191 DEBUG: ddqRef: isNew() = false, no readable data
Jul 27 06:35:34.191 TRACE: q: DataType write()
Jul 27 06:35:34.191 DEBUG: q: m_connectors.write called
Jul 27 06:35:34.191 TRACE: OutPortConnector: connector endian: little
Jul 27 06:35:34.191 TRACE: OutPortConnector: write()
Jul 27 06:35:34.191 PARANOID: OutPortConnector: data size = 88 bytes
Jul 27 06:35:34.191 PARANOID: PublisherFlush: write()
Jul 27 06:35:34.191 PARANOID: InPortCorbaCdrConsumer: put()
Jul 27 06:35:34.191 PARANOID: InPortProvier: InPortCorbaCdrProvider::put()
Jul 27 06:35:34.191 PARANOID: InPortProvier: received data size: 88
Jul 27 06:35:34.191 TRACE: InPortProvier: connector endian: little
Jul 27 06:35:34.191 PARANOID: InPortProvier: converted CDR data size: 88
Jul 27 06:35:34.191 DEBUG: q: m_connectors.write called
Jul 27 06:35:34.191 TRACE: OutPortConnector: connector endian: little
Jul 27 06:35:34.191 TRACE: OutPortConnector: write()
Jul 27 06:35:34.191 PARANOID: OutPortConnector: data size = 88 bytes
Jul 27 06:35:34.191 PARANOID: PublisherFlush: write()
Jul 27 06:35:34.191 PARANOID: InPortCorbaCdrConsumer: put()
Jul 27 06:35:34.192 PARANOID: InPortProvier: InPortCorbaCdrProvider::put()
Jul 27 06:35:34.192 PARANOID: InPortProvier: received data size: 88
Jul 27 06:35:34.192 TRACE: InPortProvier: connector endian: little
Jul 27 06:35:34.192 PARANOID: InPortProvier: converted CDR data size: 88
Jul 27 06:35:34.192 DEBUG: q: m_connectors.write called
Jul 27 06:35:34.192 TRACE: OutPortConnector: connector endian: little
Jul 27 06:35:34.192 TRACE: OutPortConnector: write()
Jul 27 06:35:34.192 PARANOID: OutPortConnector: data size = 88 bytes
Jul 27 06:35:34.192 PARANOID: PublisherFlush: write()
Jul 27 06:35:34.192 PARANOID: InPortCorbaCdrConsumer: put()
Jul 27 06:35:34.192 PARANOID: InPortProvier: InPortCorbaCdrProvider::put()
Jul 27 06:35:34.192 PARANOID: InPortProvier: received data size: 88
Jul 27 06:35:34.192 TRACE: InPortProvier: connector endian: little
Jul 27 06:35:34.192 PARANOID: InPortProvier: converted CDR data size: 88
Jul 27 06:35:34.192 DEBUG: q: m_connectors.write called
Jul 27 06:35:34.192 TRACE: OutPortConnector: connector endian: little
Jul 27 06:35:34.192 TRACE: StabilizerService: connect()
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users