ysuga.net

This page is my hobby page! Robots, Inline skates, Rugby, and more!!

OpenRTM-aistインストール(C++)

もうバージョン1.0RELEASEからはインストールで問題になることはありません.

環境構築の概要

このページではOpenRTM-aistのヴァージョン1.0RELEASE,C++バージョンについて解説します.
本ページでは入門者向け内容ですので,Windowsバージョン,C++版について解説します.

1. パッケージのダウンロード

パッケージをここからダウンロードしていきます.Visual Studio 2008版を使います.2005でなければ動かないコードはわずかです.無償のExpress Editionでも簡単にGUIを追加設計できますし,いまさらVC2005で開発する必要性は薄いと思っています.

1.1 インストールするモジュールのダウンロード(すべてVisual Studio 2008版)

  • JDK6
  • Python 2.6.4
  • PyYAML 3.09
  • (OpenCV) (ver. 1.0)
  • OpenRTM-aist (C++バージョン1.0) *omniORBが含まれるようになりました.

!!注意点!!

Visual Studio 2008 用と書いてあるリンクからダウンロードしてください.ひとつでもVC2005用を使っていると動きません.ファイル名にvc9という文字が入っていれば大丈夫です.

1.2 GUIツールのダウンロード

つぎにGUIツールです.System Editorが上記のRTミドルウエアに含まれるようになりましたが,RTC開発を行うにはRTC Builderが必要不可欠ですので,下記のURLからダウンロードします.
GUIツールはこのリンクからダウンロードしてください.

Eclipse全部入り

同様に公式サイトからEclipse全部入りをインストールし,展開しておきます.

サイトトップからダウンロードへ.

Top to download site

Top to download site

ツールのダウンロードサイトへ入ります.

To eclipse download

To eclipse download

Eclipse for Windowsをダウンロードし,展開します.

download for window version.

download for window version.

Eclipseは特にインストールせずに,eclipse.exeを実行すればよいので,Cドライブに直接コピーして,eclipse.exeへのショートカットをデスクトップ等に造っておくとよいでしょう.

Javaの実行環境も必要です.JRE6以降ですが,Java開発の可能性がある人はJDK6を入れるといいと思います.こちらの方がオススメ.

  • JDK6

1.3 開発ツールのダウンロード

最後にC++の開発環境です.ここからダウンロードしてください.

  • VisualStudio (2008 C++ Express Edition)

2. インストール手順と注意点

2.1. Python, PyYAML, OpenCV

産総研のページにあるパッケージでインストールする場合は,Setup.msiを実行するだけです.この辺の順序は関係ないです(PyYAMLを入れるまえに Pythonを入れたほうが良いと思います).
特に促されないのですが,この3つ(2つでもOK)のパッケージが全部入った時点で,一度再起動するほうがいいです.再起動しないと環境変数がちゃんと設定されないようです.

2.2. OpenRTM-aist

つぎに,OpenRTM-aistをインストールします.これもSetupを実行するだけです.
やはり再起動するほうが良いと思います.

2.3. Eclipseのツール類

ダウンロードしたパッケージを展開すると,eclipseというフォルダが出来て,中にeclipse.exe本体があります.これを「フォルダごと」好きな場所に移動するだけです.
僕はCドライブの直下に入れ,ショートカットをスタートメニューに入れています.これで便利に使えます.
*注意 ツール群を使うためには,さらにJavaの実行環境が必要になります.RTミドルウエアのツール群は,JREのバージョン6以降に対応していますので,Sunのページからダウンロードが必要です.

RTM Toolsデイリービルトの入れ替え

これで上手く動けばいいのですが,どうやら最新のRTC Builderに変更した方が便利です.

デイリービルドのページ
のリンクをクリックして,最新のRTC BuilderとRT System Editorをダウンロードしましょう.

ファイル名のrtmtools-r***-+++++.zipの***の数字が大きいものほど新しいものです.

ZIPファイルを展開して,eclipseのpluginフォルダに中身のファイルを全部上書きコピーすればOKです.

2.4. Visual Studio 2008

普通にインストールします.無料のExpress Editionを使って開発することが出来ます.ダウンロードしたファイルはネットからダウンロードしながらインストールするものですのでお気をつけを.

3. 動作確認

動作確認を行います.

3.1 ネームサーバー起動

ネームサーバーを起動します.スタートメニュー→「OpenRTM-aist」→「C++」→「tools」→「Start Naming Service」を起動.
ショートカットをスタートメニューに追加しておくと便利ですよ.

3.2 Eclipse起動

Eclipse起動します.メニュー→パースペクティブ→RT System Editorで準備.
ネームサーバーの追加.左側のネームサービスビューのコンセントのアイコンのボタンをクリック.localhostでネームサービスビューに表示される.

Name Server

Connect Name Server

3.3 サンプルRTC起動

スタートメニュー→OpenRTM-aist→C++→example→ConsoleInComp.exeおよび,ConsoleOutComp.exeを起動.
図のようにネームサーバー上にRTCが表示されます.

Confirm RTC

RTC's

3.4 RT System EditorでRTCをつなぐ!

Eclipseのメニュー→ファイル→Open New System EditorでSystem Editorを起動.

RT System Editor

Start RT System Editor

左側のネームサービスビューから,ConsoleInCompとConsoleOutCompを真ん中上段のSystem Diagram上にドラッグ&ドロップする.

Drag & Drop RTC

Drag & Drop RTC

凸があるのがConsoleInComp.凹があるのがConsoleOutCompです.凸が出力ポートで,凹が入力ポートを表しています.この凸と凹をつなげるわけですね.凸と凹をドラッグ&ドロップしてつなぎます.

つなぐとすぐにダイアログが出てきます.これは繋がり(コネクション)自体もオブジェクトですので,そのタイプなどを設定する必要があるからです.
ここでは必ず,「Data Flow Type」を「push」とします.
古いOpenRTM-aistでは,push型の接続しかサポートされていませんでしたので,基本的にpushを選択します.デフォルトでpullが表示されるので,ここで間違いがち.

Connection Profile

Connection Profile

最後にSystem Diagramがアクティブになっている状態で,ツールバーにある再生ボタン(緑の三角)をクリックします.これはAll
Activateボタンで,全部のRTCがアクティブ化されます.

Connection Accomplished

Connection Accomplished

3.5 ConsoleInから数値を送信.

ConsoleInCompのDOS窓を選択し,数値をキーボードで入力.Enterを押す.

RTC's console

RTC's console

数値がRTCの凸(出力ポート)から送信され,ConsoleOutCompに送られます.ConsoleOutCompのDOS窓を確認すると,送信された数値が.やったぜ!

RTC's console

RTC's console

4. 用語の解説

OmniORB

OmniORBはCORBAという枠組みを使うためのブローカーというソフトウェア群です.CORBAとはRTミドルウェアと同じく,分散的コンピューティングを行うための基本ソフトです.OpenRTM-aistでは,他のCORBAミドルウェアにも対応していますが,産総研のサイトからダウンロードでき,とくにコンフィグが必要になりませんから,OmniORBを使ってもよいでしょう.

Python

Python(パイソン)はウェブ系のプログラム開発に使われるスクリプト言語で,オブジェクト指向のプログラムが開発が可能です.OpenRTM-aistのインストール時や開発時にいくつかのスクリプトをPythonで処理しています.このサイトで解説するレベルであれば,Python自体を覚える必要はありません.

PyYAML

PythonでYAMLを扱えるライブラリです.YAMLとは,XMLに似た,データを構造化して記述する方法です.

OpenCV

画像処理のための基本ソフトウェアです.OpenRTM-aistの本体には関係ありませんが,ExampleとしてOpenRTM-aistのパッケージに含まれているプログラムが利用しています.インストールしておいてもよいでしょう.

OpenRTM-aist

RTミドルウェアの本体です.

Eclipse(RTSystem Editor, RTCBuilder)

Eclipseは,IBMが中心となって開発した総合開発環境(IDE)です.
RTSystemEditorは,RTミドルウェア上のコンポーネント群の接続,およびコンフィグレーションを行うためのGUIソフトです.
RTCBuilderは,RTコンポーネントを開発するときに,骨格となるプログラムコードを自動生成するためのツールです.

VisualStudio2008 C++ Express Edtion (VC2008EE)

開発環境です.もちろん正規バージョンのVisual Studio 2008でも開発が可能です.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes