[openrtm-users 01123] Re: 1.0RELEASEのManagerの使い方についての質問

Ando Noriaki n-ando @ aist.go.jp
2010年 2月 19日 (金) 15:56:51 JST


菅様

安藤です

> OpenRTM-aist MLの皆様:
> 早大の菅です.お世話になっております.
>
> 今回は新しいManagerの使い方についてお教え願いたく
> ご連絡を差し上げました.
>
> 現在,私はRTミドルウエア上でMATLABのような科学技術計算を可能にする
> RTC-scilabを開発しています.
>
> http://www.ysuga.net/robot/rtm/rtc_scilab/
>
> scilabはSimulinkのようなツールもあって非常に便利なのですが,
> Managerの仕様が変わったので,RTC-scilabの実装が
> 少し困難になったのでお知恵をお借りしたいと思っています.

僕も、Simulink等とRTCをリンクできるものが
ほしいと思っていました。面白そうですね。

> 現状C++RC1対応版でのRTC-scilabは以下のように動作します.
>
> まず,scilabを立ち上げ,scilab上で動くプログラムで,
> C++版のDLLを読み込み,その中でManagerを立ち上げ,
> あらかじめ実装した関数を呼び出すと,RTCが生成され,
> ポートなども関数によって追加できる.
>
> といった具合で動作します.
>
>
> ただ,これでいくつか新しい実装だと上手く動かない問題があります.
>
> 1.スレーブのManagerを長時間待機出来ない点.
> この場合,scilabからいつRTCが生成されるのか分からないので,
> スレーブマネージャが落ちるとプログラム全体が落ちる設計はツライです.

rtc.conf に
manager.shutdown_auto: NO
と記述するか (詳細は rtc/rtc.conf.sample をご覧ください)
rtcd -o manager.shutdown_auto:NO
というオプション付きで起動するかすると
自動的に終了しなくなります。

ちなみに、Manager::init() に渡すコマンドラインオプションで、
-o の後に、rtc.conf に記述するオプションを与えることができます。

> 2.マスターを複数立ち上げられない点
> マスターがポートを占有してしまうので,
> 複数のマスターManagerを立ち上げられず,
> 複数のscilabプロセスを同一マシン上で立ち上げることが出来ません.
> これは不便です.

原則マスターは1個ですが、rtc.confの下記の記述

corba.master_manager: localhost:2810

を共有するマネージャはそれぞれマスターとスレーブの
関係を結ぶというだけですので、別のマスターマネージャとスレーブは

corba.master_manager: localhost:2811

というコンフィギュレーション値を共有すればいいのだと思います。

ただし、scilab上で生成するマネージャはマスターである必要は
無いように思いますが、どうでしょうか?

また、scilab側が、マスターマネージャが起動していることを
前提とすれば、それぞれのscilabで別々のスレーブを
マスター経由で起動すればいいだけのような気もします。

どうでしょうか?

>
>
> 以上の点に対して,こちらでの解決策として,
>
> 1.マスターManagerのポート番号を振り分ける
> (これは有効なのか不明)
> 2.「scilabの1プロセスにつき,RTCは1つ」を守る
> (先にRTCを立ち上げてしまうと,
> スレーブManagerが落ちてもプロセスは落ちない?)
>
> が考えられます.
>
> Managerのみ立ち上げて,同一implementation_idのRTCを,
> GUIの入力などによって複数個立ち上げるような
> RTCの実装が,現状のManagerの実装方法では困難だと思います.
>
> これについてはいかがお考えでしょうか?
>
>
> そもそも邪道な開発かもしれませんが,
> 他のツールとの接続RTCなどを考えた場合,
> この方法が最も早道だと思うのですが・・・
>
>
> --
> /***************************************
>  * 菅 佑樹
>  * ysuga @ ysuga.net
>  * http://www.ysuga.net
>  * お知らせ:RTミドルウエア始めました
>  ***************************************/
>
>



-- 
安藤慶昭@独立行政法人産業技術総合研究所 知能システム研究部門
    統合知能研究グループ 主任研究員, 博士(工学)
    〒305-8568 つくば市梅園1-1-1 中央第2
    e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
    OpenRTM-aist: http://www.openrtm.org

Noriaki Ando, Ph.D.
    Senior Research Scientist, RT-Synthesis R.G., ISRI, AIST
    AIST Tsukuba Central 2, Tsukuba, Ibaraki 305-8568 JAPAN
    e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
    OpenRTM-aist: http://www.openrtm.org



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