[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 メーリングリストの案内