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

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

RTミドルウエア開発環境のインストール

 本連載では、RTミドルウエア規格にのっとった実装の1つであるOpenRTM-aist(http://www.is.aist.go.jp/rt/OpenRTM-aist/)を使った開発を行います。

 OpenRTM-aistはRTミドルウエアの策定作業の中心となっている産業技術総合研究所(産総研)が開発しており、分散処理用ミドルウエアであるCORBAがベースとなっています。執筆当時(2009年5月16日)での最新版は0.4.2です。開発言語はC++とJavaとPythonがあり、OSはUNIX系OSとWindowsに対応しています。

 ここでは、お使いのコンピューターがWindows XPであり、Visual C++ 2008 Express Editionを使った開発を例としてお話を進めます。Windows XPが実行できるコンピューターならば開発に問題ありません。

 まずは、OpenRTM-aistが利用するライブラリ群のインストールからはじめます。これらはすべて無料で入手できます。

 OpenRTM-aistでは、「ACE (Adaptive Communication Environment)」、Python、PyYAML、omniORBを利用しています。この4つのライブラリで最低限、OpenRTM-aistを動作させることができます。まずはこれらのインストールを行うため、OpenRTM-aistのダウンロードページ(http://www.is.aist.go.jp/rt/OpenRTM-aist/html/E38380E382A6E383B3E383ADE383BCE383892FC2B2B.html#f81fb05d)よりダウンロードを行います。ここで注意する点は、Visual Studio 2008用とVisual Studio 2005用で、使用するライブラリが異なるということです。ここでバージョンが違うライブラリをインストールした場合、RTCが実行できませんので注意してください。

 すべてのライブラリはインストーラになっていますので、簡単にインストールができると思います。

 次にOpenRTM-aistをインストールします。これもVisual Studio 2008用をダウ
ンロードしてインストールします。

 最後に開発環境として、Visual C++ 2008 Express Edition(以下、VC++)と、Eclipseをインストールします。

 VC++はマイクロソフトのウェブサイト(http://www.microsoft.com/japan/msdn/vstudio/Express/)からダウンロードしてください。

 さて実際のコーディングはVC++で行いますが、Eclipseを利用した方がスケルトンコードの自動生成において開発効率が高くなるので、Eclipseのインストールをお勧めします。

 すでにEclipseをお使いの方はOpenRTM-aistのウェブサイト(http://www.is.aist.go.jp/rt/OpenRTM-aist/html/E38380E382A6E383B3E383ADE383BCE383892FRTSystemEditorE383BBRTCBuilder.html)から必要なプラグイン(RTSystemEditorとRTCBuilder)のみをダウンロードしてくれば使用できますが、ここでは紙面の都合上、開発環境がすべて入っているEclipseを産総研のウェブサイトからダウンロードしてくることをお勧めしておきます。

 ダウンロードページ(http://www.is.aist.go.jp/rt/OpenRTM-aist/html/E38380E382A6E383B3E383ADE383BCE383892FRTSystemEditorE383BBRTCBuilder.html#o533f25c)からEclipse(Windows用全部いり)をダウンロードし、ZIPファイルを展開して適当なディレクトリ(Cドライブ直下など)に置いてください。インストールの必要はありません。「eclipse.exe」を実行すればすぐに使えます。

 eclipse.exeへのショートカットをデスクトップなどに置いておくと便利でしょう。

 Eclipseを使用するにはJavaの環境が必要です。JDK6以上をインストールしてください。

サンプルでRTミドルウエアを体験しよう

 さて、インストールが終わったら動作確認をしてみましょう。ここでは例としてOpenRTM-aistに同梱されている、USBカメラを使ったRTCを使ってみます。

 まずこのRTCを実行するためには、OpenCVというライブラリが必要になります。まだインストールするの?と思った方(著者もそう思います)……ここは我慢です。

 OpenCVとはフリーの画像処理ライブラリで、カメラの画像を表示する意外にもさまざまな画像処理ができます。この連載でも、OpenCVを使った画像処理RTCを例として紹介する予定です。

 OpenCVは産総研のサイトにリンクがありますので、そちらからインストールすると良いでしょう。

 最後にUSBカメラですね。私は30万画素クラスのUSBウェブカメラでの動作確認をしました。100万画素クラスのカメラでは画像表示用のRTCが動作しないバグがあるので、30万画素クラスのUSBカメラを用意してください。

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

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

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

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

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