Presentation is loading. Please wait.

Presentation is loading. Please wait.

RTミドルウェアによるシステムの構築 現在,RTミドルウェアの利用が進んでいる ⇒機能要素のRTコンポーネント化を行うことで

Similar presentations


Presentation on theme: "RTミドルウェアによるシステムの構築 現在,RTミドルウェアの利用が進んでいる ⇒機能要素のRTコンポーネント化を行うことで"— Presentation transcript:

0 共有メモリを用いた RTコンポーネント間の画像データ通信
筑波大学  ○渡部 努   相山 康道

1 RTミドルウェアによるシステムの構築 現在,RTミドルウェアの利用が進んでいる ⇒機能要素のRTコンポーネント化を行うことで
  要素の再利用性が向上する

2 RTミドルウェアによるシステムの構築 再利用性のある要素は,分割してComp化したい 何度も通信を行うため,
例)画像処理 例)マニピュレータ(力制御) 何度も通信を行うため, 通信にかかる時間が処理全体の時間に 大きく影響する

3 OpenRTM-aistにおける通信方法
ホスト間通信をサポートするためCORBAを利用 同一ホスト上Comp間でもCORBAを利用するため,   データの通信を行う際,通信時間に遅延が発生する ⇒処理時間に関してシビアな要求をされるシステムの場合,   通信の遅延のためCompによるシステム構築が不可能

4 提案手法 Comp間で共有するメモリ空間を持つ ⇒共有メモリを経由してデータの授受を行うことで, 高速な通信を実現する
⇒共有メモリを経由してデータの授受を行うことで,   高速な通信を実現する 異なるホスト間では共有メモリは利用できない ⇒前提:高速な処理が求められるものは       同一ホスト上で実行されるであろう 通信対象のデータとして,画像データを取り扱う

5 提案手法 以下のようにしてメモリの共有を行う CompA CompB 共有空間名“α” 共有メモリ 空間α 共有メモリ空間α 共有メモリ
“画像データ”

6 提案手法 複数段対応 1対多対応 CompA CompB CompC CompD CompA CompB CompC 名称“α” “β”
“γ” CompD 共有空間α 共有空間β 共有空間γ 1対多対応 名称“α” CompA CompB CompC 共有空間α

7 実装方法 共有メモリ通信を容易にするためのクラス ⇒Comp内の画像データ1つにつきインスタンスが1つ必要 IplImage *img;
IplImage *Init(CvSize size, int depth, int channels,    char *SMname); IplImage *Init(char *SMname); void Release(); void Read(); void Write(); void IsNew(); ⇒Comp内の画像データ1つにつきインスタンスが1つ必要 OS Windows XP RTM OpenRTM-aist 0.4.2 etc. OpenCV

8 実装した様子 複数段や1対多にも対応

9 実験と結果 実際に通信にかかる時間を計測した ⇒共有メモリを用いることで通信時間を短縮できた 640×480のカラー画像を使用
送信側CompのWrite()の後と受信側CompのIsNew()の後とで時刻を取得し,差分を通信時間とした 共有メモリによる通信:   0.4μs データポートによる通信:   5.7ms ⇒共有メモリを用いることで通信時間を短縮できた

10 まとめ Comp間の通信の遅延を解消するために, 共有メモリを用いた通信手法を提案した
処理時間にシビアな要求をされるシステムも RTコンポーネント化が可能になると考えられる 本手法を応用することで,画像データ以外にも 適応が可能である

11 動画による比較 共有メモリを用いた通信 データポートを用いた通信


Download ppt "RTミドルウェアによるシステムの構築 現在,RTミドルウェアの利用が進んでいる ⇒機能要素のRTコンポーネント化を行うことで"

Similar presentations


Ads by Google