RTミドルウエアを用いたロボットシステム開発

2009年6月2日(火)
菅 佑樹

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自体の動作の仕組みを体験してみましょう。

早稲田大学
早稲田大学創造理工学部総合機械工学科助手。博士(工学)。人間とロボットとの物理的な相互作用と飽きに関する研究に従事。その他に木登り・枝打ちロボットや、車椅子搭載型ロボットアームの開発などに携わる。計測自動制御学会RTミドルウェア賞受賞(2008年)。http://www.ysuga.net

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています