[openrtm-users 00210] Re: RTコンポーネントのインスタンスについて

Ando Noriaki n-ando @ aist.go.jp
2007年 10月 2日 (火) 17:45:30 JST


小島

産総研 安藤です

清水さん、ありがとうございます。

> 産総研の清水です.
>
> インスタンスIDですが,現在の実装では,
> 「コンポーネント名+番号」
> となっていると思います.
> この番号の決定ルールですが,
> 各プロセスごとのコンポーネントの生成順序に従い,
> 0,1,2,...となります.
> このため,違うプロセスから同じコンポーネント名で
> コンポーネントを生成すると,同じインスタンスIDとなることがあります.
>
> もし,同じコンポーネント名で異なるインスタンスIDが必要であれば,
> 同じプロセスからコンポーネントを生成するようにすれば可能だと思います.

具体的には、*Comp.cppのMyModuleInitのなかで、

comp = manager->createComponent("ConsoleIn");

がコンポーネントのインスタンスを作成している部分ですが、
3個のインスタンスがほしければ、

comp0 = manager->createComponent("ConsoleIn");
comp1 = manager->createComponent("ConsoleIn");
comp2 = manager->createComponent("ConsoleIn");

のようにすれば、この例ですと、
ConsoleIn0, ConsoleIn1, ConsoleIn2
というコンポーネントが出来ます。

もし別プロセスで起動した同一タイプのコンポーネントに別の名前を持たせたければ、
rtc.confのnaming.formatsの指定を別々にして、起動オプション-fでそれぞれの
のコンポーネントに個別のrtc.confを渡すという手もあります。


>
> 清水
>
> On Sun, 30 Sep 2007 18:13:09 +0900
> "Takashi Kojima" <tkjim48 @ gmail.com> wrote:
>
> > 中央大学の國井研究室に所属している小島と申します。
> >
> > 現在、研究室のマニピュレータをRTミドルウェアを用いて
> > 動かそうとしています。
> >
> > その際、サンプル等を試していて気づいたのですが、rtc-templateの記述に
> > インスタンス化の数についての記述がありますが、今は使用されていないのでしょうか?
> >
> > というのも、プログラムを実行すると、インスタンス化されInstanceIDが振られる
> > と思うのですが、同じプログラムの場合2個目、3個目とInstance IDが
> > 同じになってしまいます。
> >
> > RTC-Linkでは、2つ立ち上げた場合、後から立ち上げたモジュールに
> > より上書きしてしまい認識できなくなってしまいます。
> >
> > これは、バグでしょうか?それとも、別に設定する箇所があったのでしょうか?
> >
> > もし設定する箇所がございましたら、教えていただきたいです。
> > お願いいたします。
> >
>
>
> --------------------
> Masayuki Shimizu
>
> Postdoctoral Fellow
> Task Intelligence Research Group
> Intelligent Systems Research Institute
> National Institute of
> Advanced Industrial Science and Technology (AIST)
> Central 2, 1-1-1, Umezono, Tsukuba, Ibaraki 305-8568, JAPAN
> Tel: +81-29-861-5952
> Fax: +81-29-861-5971
> Email: masayuki.shimizu @ aist.go.jp
>       chaser @ ieee.org
> URL: http://unit.aist.go.jp/is/taskint/
>
>


-- 
安藤慶昭@独立行政法人産業技術総合研究所 研究員
                   知能システム研究部門 タスクインテリジェンス研究グループ
                   〒305-8568 茨城県つくば市梅園1-1-1 中央第2
                   TEL: 029-861-5981 FAX: 029-861-5971
                   n-ando @ aist.go.jp, n-ando @ ieee.org



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