[openrtm-users 03445] RTShell vs. RT System Editor

MASUTANI Yasuhiro masutani @ osakac.ac.jp
2017年 11月 16日 (木) 17:54:37 JST


OpenRTM-aist開発者の皆様,openrtm-users MLの皆様,

大阪電気通信大学です.

ChoreonoidのとあるBodyRTCをRTShellやrtctreeで扱おうとすると,

  CORBA.MARSHAL(omniORB.MARSHAL_InvalidEnumValue, CORBA.COMPLETED_YES)

というエラーになることがあり困っています.不思議なのは,そのような状況
の時にそのRTCをRT System Editorでは問題なく扱えていることです.両者の
違いは何でしょうか?

試しているのは,Choreonoid-1.5.0をWindows上でVS2012でビルドしたもので
す.ロボット本体のBodyRTC(CRANE.rtc)とは別に,環境に設置されたカメラ
を模擬するためにカメラのBodyRTC(Camera.rtc)を設置しているのですが,
それがうまく扱えません.

Choreonoidを起動した直後に,コマンドプロンプトでrtlsを実行すると以下の
ようになります.

  rtls /localhost/CRANE.rtc
  CRANE.rtc
  
  rtls /localhost/Camera.rtc
  rtls: CORBA.MARSHAL(omniORB.MARSHAL_InvalidEnumValue, CORBA.COMPLETED_YES)

不思議なことに,この時RT System Editor上ではどちらのRTCも同じように見
えています.プロパティも表示されています.

さらに不思議なことに,この現象は必ず起こるわけではないのですが,高確率
で(ほとんど毎回)起こる環境とたまに起こる環境があります.OSや
OpenRTM-aistのバージョンも実行しているChoreonoidのバイナリは全く同じも
のです.

さらにさらに不思議なことに,Choreonoidでシミュレーションを実行すると,
エラーは出なくなります.シミュレーション後にコマンドプロンプトでrtlsを
実行すると以下のようになります.

  rtls /localhost/Camera.rtc
  Camera.rtc

ChoreonoidのGitHubでも質問したのですが,良い答えを得られていません.

  https://github.com/s-nakaoka/choreonoid/issues/173

Choreonoidの過去のissueに関係のありそうなことを見つけたのですが,どの
ように手を付けたらいいのか分かりません.

  https://github.com/s-nakaoka/choreonoid/issues/104

ヒントやアドバスをいただけると幸いです.
よろしくお願いいたします.

-- 
# 升谷 保博
# 大阪電気通信大学 総合情報学部 情報学科
# 575-0063 大阪府四條畷市清滝1130-70 / TEL&FAX: 072-876-5107


More information about the openrtm-users mailing list