RTミドルウエアを用いたロボットシステム開発
RT System Editorを用いたコンポーネントの制御
さていよいよRTCの実行、といきたいところですが……RTCを実行する前にRTCを管理するネームサーバーの実行が必要です。「スタートメニュー > プログラム > OpenRTM-aist > C++ > example > Start Naming Service」を実行してください。
次に、RTCの管理をグラフィカルに行うために、Eclipseを起動します。
適当なフォルダをワークスペースに設定してEclipseが起動したら、メニューから、「ウィンドウ > パースペクティブを開く > その他」と選んでダイアログを開き、「RT System Editor」を選択してください。
開いたEclipseウィンドウの左側に「Name Service View」が表示されていると思います。このビューの「Add Name Server」というボタンを押し、現れたダイアログにネームサーバーが実行されているコンピューターのIPアドレス、すなわち「localhost」(自分自身)と入力します。
これで準備が整いました。 ようやくUSBカメラから画像を取得するRTC(USBCameraAcquireComp)と、画像を表示するRTC(USBCameraMonitorComp)を実行します。「スタートメニュー > プログラム > OpenRTM-aist > C++ > example」と開いて、「USBCameraAcquireComp」と「USBCameraMonitorComp」を実行してください。
RT System Editorを用いたコンポーネントの接続
まずシステムをグラフィカルに設定するために、Eclipseのメニューから「ファイル > Open New System Editor」を選びます(Offline System Editorではありません)。
すでにRTCを実行しているので、Name Service Viewに実行中のRTCが追加されています。これをName Service Viewから、「System Diagram」にドラッグ&ドロップします。するとDiagramにRTCのイメージが表示されます。
四角に凸が付いているのは「USBCameraAquireComp」、凹になっているのは「USBCameraMonitorComp」です。凸が出力ポートで、凹は入力ポートを表しています。
この入力と出力をつなぎます。凸印をドラッグして、凹印まで直線を引っ張るだけでつながります。直感的に操作できますね。
出てきたダイアログは接続の種類ですが、取りあえず「OK」で大丈夫です。
最後にRTCをアクティブ化します。ひとつひとつを右クリックして「Activate」すれば良いですが、ツールバーにある「All Activate」ボタンを使っても大丈夫。すべてのRTCが緑色になればOKです。
もしここで赤くなったらエラー状態ですので、右クリックして「reset」しましょう。
USBCameraMonitorCompのダイアログにカメラの画像が表示されているでしょうか。
RTミドルウエアは、このように分散して実行されているコンポーネントを接続して、1つのロボット・システムを構築する技術です。
まだ何がなんだかわからない人も多いと思います。次回は実際にRTCを開発することで、RTC自体の動作の仕組みを体験してみましょう。