[openrtm-users 00082] Re: VC++連携について
Akio Uda
uda-axa @ necst.nec.co.jp
2006年 7月 13日 (木) 16:16:04 JST
To: 産総研 安藤様
いつも御世話になります。宇田@NECシステムテクノロジーです
ご回答ありがとうございます。
> あんどう@産総研です
>
> > いつも御世話になります。宇田@NECシステムテクノロジーです
> >
> > VC++とRTミドルウェアの連携方式についてお伺いします。
>
> 返事が遅くなり申し訳ございません。
>
> > VC++で書かれたアプリケーションからRTミドルウェアのコンポーネント
> > を利用したいのですが、この場合の実装方法としてはどのような構成が
> > 考えられますでしょうか?
>
> この利用するというのは、VC++で書かれたアプリ内部に組み込んで
> 利用するということでしょうか?
> もしくは、分散オブジェクトとして利用するということでしょうか?
こちらでは、アプリ内部に組み込むことを考えていました。
ただ、実際にはその組込コンポーネントと外部の様々なコンポーネントを
接続して使いたいと思っていましたので、その意味ではリモート方式でも
同じ目的が果たせるように思えます。
> VC++で開発するアプリ内部に組み込むのであれば、
>
> 1. マネージャのインスタンスをどこかで生成
> 2. createComponent() でコンポーネントを生成
> 3. runManager()でマネージャを起動
>
> してやれば、createComponent() の戻り値がコンポーネントへの
> ポインタですので、あとは何とかなると思います。
> runManager()はブロックしてしまうので、不都合があれば、
> runManagerNoBlocking()で別スレッドでマネージャを起動すれば、
> 他にイベントループがあるようなプログラムでも、動くと思います。
この場合、OpenRTMの依存パッケージとして最小限必要なものは何になり
ますでしょうか? (フルセットのパッケージが必要でしょうか?)
> VC++で作ったアプリから、リモートのコンポーネントを
> 操作したい場合は、単にCORBAのオブジェクトを操作要領で
> コンポーネントを操作すれば可能だと思います。
>
> この場合も、
> 1. マネージャのインスタンスをどこかで生成
> 2. マネージャのfindComponent 等のメソッドを使ってコンポーネント
> へのオブジェクトリファレンスを取得してコンポーネントを操作
>
> というやり方でやれば、素のCORBAのプログラムを書くよりは
> 少しは楽に出来るのではないかと思います。
どうもありがとうございます。こちらも参考にさせて頂きます。
> > 1つの手段として、先日ご紹介頂きましたPython版OpenRTM-aist-0.2.0
> > をCOMインターフェース経由で呼び出す方法があるかと思いますが、他に
> > もっと良い方法がありましたらご教授をお願い致します。
> >
> > ┌───────────┐
> > │VC++ アプリケーション │
> > └─────┬─────┘
> > │
> > ≪COM インターフェース≫
> > │
> > ┌───┴───┐
> > │Python 仲介部 │
> > └───┬───┘
> > │
> > ┌─────┴─────┐
> > │Python版 RTミドル環境 │
> > └───────────┘
>
> すみません。COMに関しては全然詳しくないので、あまりお力になれません。
> 逆にご教授願いたいくらいです。上記のような方法で連携できるのですか?
> もしよろしければ、その方法をML上でご紹介いただければ助かります。
私も試したわけではないのですが、例えば以下のサイトにPythonのクラス
をCOMオブジェクトとして登録する方法が記載されていましたので、Python
版のRTミドル環境があれば、それとVC++アプリとを仲介するPythonクラス
を作成し、COMオブジェクトとして登録すれば、両者の連携が実現できるの
ではないかと考えました次第です。
http://www.oreilly.com/catalog/pythonwin32/chapter/ch12.html
↓
Implementing COM Objects in Python
> > なお上記のPython版OpenRTMですが、既にWeb上で入手可能でしょうか?
> > また将来的に、VC++版のOpenRTM-aistをリリースされる予定はござい
> > ますでしょうか?
>
> 研究所でのソフトウエア公開の手続きをまだとっていないので、
> 一般には公開しておりません。
> #内緒ですが、あとで個人的にお送りいたします。(笑
>
> 手続きが終わり次第公開したいと思います。
>
>
> ちなみに、現在次期バージョンの実装を行っているのですが、
> 研究の一環としてRTCのパフォーマンス測定・評価なども行っているので、
> リリースはまだしばらくかかりそうです。
> すみませんが、もうしばらくお待ちください。
ありがとうございます。度々お手数をお掛けしてすみません。
ご支援感謝いたします。
> 安藤慶昭@独立行政法人産業技術総合研究所 研究員
> 知能システム研究部門 タスクインテリジェンス研究グループ
> 〒305-8568 茨城県つくば市梅園1-1-1 中央第2
> TEL: 029-861-5981 FAX: 029-861-5971
> n-ando @ aist.go.jp, n-ando @ ieee.org
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
z 宇田 安規男 z
z NECシステムテクノロジー株式会社 システムテクノロジーラボラトリ z
z 神奈川県川崎市中原区下沼部 1753 NEC 玉川事業場 9号館 z
z 〒 211-8666 Tel: 044-431-7574 Fax: 044-431-7588 z
z E-mail: uda-axa @ necst.nec.co.jp z
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
openrtm-users メーリングリストの案内