Installation of OpenRTM-aist C++ for Ubuntu
Ubuntu OS上にOpenRTM-aist C++版をインストールする方法を解説します。
▶ 更新履歴
-
15/08/2013 ブラウザによってレイアウトが崩れる問題に対処しました。
1. インストールに必要なソフトウェアの準備
インストールに必要なソフトウェアを準備します。皆さんの環境に合わせたソフトウェアをダウンロードして下さい。
Ubuntu以外は未検証ですが、Debianであれば同様の方法でインストールできるかもしれません。
■Ubuntu12.04 LTS 32bit / 10.04 LTS 32bitの場合
・Python
Ubuntuであれば、デフォルトでPythonがインストールされています。
2.4.4以降で2系列の32bit版Pythonなら動作すると思います。
・OpenRTM-aist C++
・Java SE Development Kit 7 / 6
OpenRTM-aist Java版を使用する場合はJava SE Development Kit 6を選択して下さい。
ソフトウェアはインストール時に入手します。
・OpenRTP1.1.0-RC4
2. ソフトウェアのインストール
先ほど入手したOpenRTM-aist Pythonと、Java SE Development Kit 7 / 6をインストールします。
2.1 OpenRTM-aist C++のインストール
pkg_install_ubuntu.shはDownloadに保存されているものとします。
何度か質問されますので、「y」を押してインストールを進めて下さい。
正常にインストールが完了しているか確認します。
図のようにJavaのバージョンが表示されればインストールされています。
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update && sudo apt-get install oracle-jdk7-installer
$ sudo apt-get update && sudo apt-get install oracle-jdk6-installer
$ java -version
図のようにOpenRTPが起動すれば正常にリンクが貼られています。
起動時にワークスペースを選択するよう聞かれた場合は、任意の場所を選択して下さい。

$ cd /usr/bin
$ sudo ln -s /usr/share/openrtm-1.1/eclipse/openrtp
$ cd
$ openrtp

$ rtm-naming 2809

3.8 コンポーネントのActive化
「All Acitvate」ボタンを押して、すべて のコンポーネントをアクティブ状態に遷移させます。
Active状態に遷移させたあと、各コンポーネントのターミナルを確認します。
3.9 RTミドルウェアのHello World!
ConsoleInのターミナル上に「Please input number」と表示されています。
そこで数値(今回は1)を入力しています。するとConsoleInに入力された数値がConsoleOutに表示されていることがわかります。
4. おわりに
これでOpenRTM-aist C++版のインストールは終わりです。
インストールそのものは簡単だったと思います。
動作確認として、RTミドルウェアの「Hello World!」とも言うべき、ConsoleInとConsoleOutが構築するシステムを体験しました。
このシステムはConsoleInでキー入力された数値をConsoleOutのターミナルに上に表示しました。
このように、RTミドルウェアはお互いにデータをやり取りして、ひとつのシステムを構築します。
他のサンプルも動作させて遊んで見て下さい。
2.2 Java SE Development Kitのインストール
Javaをレポジトリに追加します。
Javaをインストールします。
■JDK7の場合
■JDK6の場合
2.3 OpenRTPのインストール
eclipse381-openrtp110rc4v20130216-ja-linux-gtk.tar.gzはDownloadに保存されているとします。
圧縮ファイルを展開し、移動させます。
$ cd /usr/share/openrtm-1.1
$ sudo tar xzf ~/Downloads/eclipse381-openrtp110rc4v20130216-ja-linux-gtk.tar.gz
$ cd eclipse
$ ./openrtp
無事OpenRTPが起動したら一旦終了して下さい。
次にOpenRTPにシンボリックリンクを張ります。
最後にリンクが正常に張れているか確認します。
3. 動作確認
OpenRTM-aist C++の動作確認をおこないます。
3.1 ソフトウェアの確認
インストール時にデフォルトでインストールしていれば各ソフトウェアは、下記アドレスにあるはずです。
見つからない場合は、検索して探してみて下さい。
・ConsoleInComp
/usr/share/openrtm-1.1/example
・ConsoleOutComp
/usr/share/openrtm-1.1/example
無事に起動できると「Checkpointing completed.」と表示されます。
本ウェブサイトのやり方に従ってインストールした方は、「Is omniNames already running?」と表示されるかもしれません。
これはすでにネームサーバー(port:2809)が起動しているということです。
ネームサーバーが起動しているか確認する場合は、以下のコマンドを使用して下さい。
$ ps ax | grep omni
起動していれば左図のような、起動していなければ右図のような結果となります。


ネームサーバーが起動している場合
ネームサーバーが起動していない場合
3.3 ConsoleInの起動
ConsoleInCompを実行し、ConsoleInを起動します。
コンソールに下図のように表示されるのを確認します。

3.4 ConsoleOutの起動
ConsoleOutCompを実行し、ConsoleOutを起動します。
コンソールに下図のように表示されるのを確認します。

3.5 RT System Edotorの起動
RT System EditorはRTコンポーネントの振る舞いを制御できます。
まずはOpenRTPを起動します。
$ openrtp
はじめての起動時には、「ようこそ(Welcome)」という画面が表示されますので、それを閉じます。

次に、右上の方にある「パース ペクティブを開く」ボタンを押し、パースペクティブを切り替えます。
ボタンを押すと、パースペクティブの選択ダイアログが立ち上がるので、「RT System Editor」を選択しOKを押します。


パースペクティブが以下のように、RT System Editorに切り替わります。

3.6 ネームサーバーの追加
ポートをデフォルト(Pot:2809)で使用している場合は、ネームサーバは自動的に追加されています。
「127.0.0.1」と書いてある項目を展開すると、下図のようにコンポーネントが登録されているのがわかります。

ネームサーバーを追加する場合は、下図のように「ネームサーバーの追加」ボタンを押すか、
プルダウンメニューの「ネームサーバーの追加」を選択します。
ボタンが見えない場合は、右側にエクスプローラを拡大してみて下さい。


プルダウンメニューから追加する場合
ボタンから追加する場合
「ネームサーバーの追加」を押すと、ネームサーバーのアドレスを入力するダイアログが起動します。
今回は「localhost:2809」と入力してOKを押して下さい。2809はデフォルトのポート番号です。

追加したネームサーバーの項目を展開すると、先ほど起動したコンポーネントが確認できます。

3.7 コンポーネントの接続
コンポーネントの接続を行います。
「New Open System Edior」ボタンを押して、新しいSystem Diagramを開きます。

Sytem Diagram上にコンポーネントをドロップします。
するとコンポーネントを示す図が表示されます。

ConsoleInコンポーネントの凸の部分をドラッグするとラインが伸びるのが分かります。
ラインをConsoleOutコンポーネントの凹までドッ ラグしていきドロップすると、
「Connector Profile」というダイアログが現れるので、OKを押します。

しばらく数値を入力して遊んでみて下さい。
遊び終わったら、RT System Editor上のAll Deacitveボタンを押して下さい。
各コンポーネントがInactive状態に遷移します。
Inactive状態に遷移したら各コンポーネントのコンソール上で「Ctrl + c」を押して終了して下さい。
*ここでDeactive命令が受付られない場合は、ConsoleInに何か数値を入力して下さい。
これはキー入力待状態からConsoleInが抜けられないため発生する問題です。


各コンポーネントのターミナル上に表示されたメッセージが変わっていることがわかります。
コンポーネントの状態が遷移し、メインの処理が開始されています。




$ cd ~/Downloads
$ sudo sh pkg_install_ubuntu.sh
3.2 ネームサーバーの起動
ネームサーバーを起動します。
$ ./ConsoleInComp
$ ./ConsoleOutComp