[openrtm-users 00536] Re: コンポーネントの接続について

kurihara shinji shinji.kurihara @ aist.go.jp
2008年 7月 18日 (金) 17:38:37 JST


小島 様

産総研 栗原です。

orb-destroy();をコメントアウトして下さい。

上記を忘れておりました。


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



On Fri, 18 Jul 2008 17:35:07 +0900
kurihara shinji <shinji.kurihara @ aist.go.jp> wrote:

> 小島 様
> 
> お世話になっております。
> 産総研 栗原です。
> 
> 添付のサンプルを拝見させて頂きました。
> 
> エラーの原因は、AutoConnect()の orb->destroy(); にあるようです。
> orbのポインタを取得するために、CORBA::ORB_init()をコールされております
> が、コンポーネントオブジェクトはRTObject_imple を継承しておりまして、
> RTObject_impleではCORBA::ORB_var m_pORB;がprotectedで宣言されておりま
> すので、m_pORBを使用できます。
> 
> よって、
>   CORBA::ORB_var orb = CORBA::ORB_init(_argc, _argv);
>   CorbaNaming naming(orb, "127.0.0.1:9876");
> の行は、
>   CorbaNaming naming(m_pORB, "127.0.0.1:9876");
> に書き換えることができます。
> 
> それと、rtc.confのnaming.formatsも下記のようにして下さい。
> 
>  naming.formats: %n.rtc
> 
> 
> 以上、宣しくお願い致します。
> 
> 
> 
> On Fri, 18 Jul 2008 17:13:38 +0900
> "Takashi Kojima" <tkjim48 @ gmail.com> wrote:
> 
> > 静岡大 清水様
> > 
> > お返事ありがとうございます。
> > ソースコードをのせたつもりが、添付し忘れていました。
> > 
> > > ソースがないのではっきりとしたことはわかりませんが、
> > > CORBAの例外が発生している可能性があります。
> > > RTCは、onXXXの中から例外が投げられると、
> > > エラー状態に遷移します。
> > > もしCORBAオペレーションの例外catchをしていないのなら、
> > > それをやってみるとエラー原因がわかるかもしれません。
> > 
> > なるほど。そうであれば、OnExecuteに入っていないのもうなずけます。
> > CORBAオペレーションの例外はキャッチしていないので、
> > 調べて試してみようと思います。
> > (catchについては、理解が足りず、よくわかっておりませんが・・・)
> > 
> > 一応、エラーの出ているソースも添付いたします。
> > 
> > 小島
> > 
> > 2008/07/18 14:46 Masayuki Shimizu <masayuki.shimizu @ aist.go.jp>:
> > > 小島樣
> > >
> > > 静岡大 清水です。
> > >
> > >> 1.ConsoleOutをアクティベートしたとき、自動で接続が行
> > > われるように改造をおこなったのですが
> > >> ConsoleOutがエラー状態に陥ってしまいました。
> > >
> > > ソースがないのではっきりとしたことはわかりませんが、
> > > CORBAの例外が発生している可能性があります。
> > > RTCは、onXXXの中から例外が投げられると、
> > > エラー状態に遷移します。
> > > もしCORBAオペレーションの例外catchをしていないのなら、
> > > それをやってみるとエラー原因がわかるかもしれません。
> > >
> > > 清水
> > >
> > > --- Takashi Kojima <tkjim48 @ gmail.com> wrote:
> > >
> > >> 中央大学の小島と申します。
> > >>
> > >> いつもお世話になっております。
> > >>
> > >> あるコンポーネントが、別のコンポーネントを探し接続する
> > > ということを
> > >> 実現したく、SimpleIOを改造しております。
> > >>
> > >> そこで問題と不明な点がありましたのでご質問させていただ
> > > きます。
> > >>
> > >> 1.ConsoleOutをアクティベートしたとき、自動で接続が行
> > > われるように改造をおこなったのですが
> > >> ConsoleOutがエラー状態に陥ってしまいました。
> > >>
> > >> 接続に関しては、ConnectorCompにあるコードを、ほぼ、そ
> > > のまま使いました。
> > >> (ConnectorCompのActivateの部分はコメントアウトしまし
> > > た)
> > >>
> > >> OnExecuteにも移行していないようなので、なんらかの内部
> > > 的なエラーがあったのでしょうか?
> > >> とすれば、どうすれば、エラーにならずに接続が可能になる
> > > でしょうか?
> > >> (RTC-Link上では接続まではできていることを確認いたしま
> > > した)
> > >>
> > >> エラーがでるプログラムを添付いたしますので、修正法方等
> > > を、ご教授願えると幸いです。
> > >>
> > >> 2.ConsoleOutでは、自分の持つポートについてはわかって
> > > いるので、
> > >>
> > > 添付したプログラムのconout->get_ports()からthis->gets_ports()
> > >> という形に変更して、接続することが出来たのですが、これ
> > > は操作としてまずい操作でしょうか。
> > >>
> > >> registerされたかどうかが不明であるという点以外では、問
> > > 題がなさそうに思うのですが、
> > >> いかがでしょうか?
> > >> (1の現象は起こっているので、正常に動作するかの確認は
> > > 出来きておりません)
> > >>
> > >> 環境:
> > >> FC6, OpenRTM-aist-0.4.2
> > >> kernel-2.6.18-1.2798.fc6-i686
> > >>
> > >>
> > > __________________________________________________________________
> > >>
> > >> Takashi KOJIMA
> > >>
> > >> Kunii labratory ,Chuo University
> > >>
> > >> ADDRESS: 1-13-27, Kasuga, Bunkyo-ku, Tokyo, 112-8551
> > >> Phone : +81-3-3817-1866 (Lab)
> > >> FAX : +81-3-3817-1847 (Subject-of-study preparation
> > >> room)
> > >> E-Mail : tkjim48 @ gmail.com
> > >>
> > > __________________________________________________________________
> > >>
> > >>
> > >
> > >
> > 
> 
> 
> -- 
> ----------
> 栗原 眞二
> shinji.kurihara @ aist.go.jp
> kurihara @ imagination.co.jp
> 


-- 
----------
栗原 眞二
shinji.kurihara @ aist.go.jp
kurihara @ imagination.co.jp



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