動作確認 (Linux編)

インストールが正常に終了したら、付属のサンプルで動作テストをします。サンプルは、通常は以下の場所にあります。

  • /usr/share/openrtm-1.1/example/python
  • /usr/local/share/OpenRTM-aist/examples/python

ソースからビルドした場合は、ソースディレクトリー以下の

  • OpenRTM_aist/examples/<サンプルコンポーネントセット名>

にもあります。

サンプルコンポーネントセット SimpleIO を使って、OpenRTM-aist が正しくビルド・インストールされているかを確認します。

サンプルコンポーネントセット SimpleIO

RT コンポーネント ConsoleInComp、ConsoleOutComp からなるサンプルセットです。 ConsoleInComp はコンソールから入力された数値をOutPortから出力するコンポーネント、ConsoleOutComp は InPort に入力された数値をコンソールに表示するコンポーネントです。 これらは、最も Simple な I/O (入出力) を例示するためのサンプルです。ConsoleInComp の OutPort から ConsoleOutComp の InPort へ接続を構成し、これらの2つのコンポーネントをアクティブ化(Activate) することで動作します。

以降、簡単のためサンプルは /usr/share/openrtm-1.1/example/python 以下にあるものとして説明を記述します。

サンプルを使用したテスト

ネームサーバーを起動

まず、コンポーネントの参照を登録するためのネームサーバーを起動します。 Linux などのパッケージで omniORBpy をインストールした場合、すでにシステムのサービスとしてネームサーバー (omniNames) が起動している場合があります。

すでに omniNames が起動している場合、このようになります。

 $ ps ax | grep omni
 1550  ?        Sl     0:00 /usr/bin/omniNames -errlog /var/log/omniorb4-nameserver.log
 18418 pts/2    S+     0:00 grep --color=auto omni

omniNames が起動していない場合はこのようになります。

 $ ps ax | grep omni
 18418 pts/2    S+     0:00 grep --color=auto omni

omniNames が起動していない場合、rtm-naming コマンドでネームサーバーを起動します。

 $ rtm-naming
 Starting omniORB omniNames: ubuntu910:2809
 
 Thu Dec  3 18:52:14 2009:
 
 Starting omniNames for the first time.
 Wrote initial log file.
 Read log file successfully.
 Root context is  IOR:010000002b00000049444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578744578743a312e30000001000000000000007400000001010200100000003139322e3136382e3130302e31323500942600000b0000004e616d6553657276696365000300000000000000080000000100000000545441010000001c0000000100000001000100010000000100010509010100010000000901010003545441080000004e8a174b01000fef
 Checkpointing Phase 1: Prepare.
 Checkpointing Phase 2: Commit.
 Checkpointing completed.

rtm-naming コマンドが見つからない場合は、rtm-naming,py を実行して下さい。(例:Fedora環境)

 $ python /usr/lib/python<version>/site-packages/OpenRTM_aist/utils/rtm-naming/rtm-naming.py

rtc.conf の作成

テストのための RTC コンフィギュレーションファイル rtc.conf を作成し、配置します。まず、適当な作業ディレクトリーを作ります。 ここでは便利のため、ホームディレクトリー直下に RTCwork というディレクトリーを作業ディレクトリーとしておくことにします。 作業ディレクトリー RTCwork に、次のような内容のファイル rtc.conf を作成し配置します。

~/RTCWork/rtc.conf として新たに作成してください。

 $ cd ~/RTCwork
 $ vi rtc.conf

作成するファイルの内容は以下のようになります。

 corba.nameservers: localhost
 naming.formats: %h.host_cxt/%n.rtc
 logger.enable: NO
 example.ConsoleOut.config_file: consout.conf
 example.ConsoleIn.config_file: consin.conf
rtc.conf

システムで IPv6 が設定されている場合、localhost というホスト名が正しく機能しない場合があります。 その場合、localhostの代わりに127.0.0.1に置き換えてください。

ConsoleIn コンポーネントの起動

ターミナルを起動して、次のように前節で作成した rtc.conf を参照させる形で ConsoleIn.py を起動します。

 $ python /usr/share/openrtm-1.1/example/python/SimpleIO/ConsoleIn.py -f ~/RTCwork/rtc.conf 
 comp_args: ConsoleIn
 

自分でビルド・インストールした場合は、

 $ python <source_dir>/OpenRTM_aist/examples/SimpleIO/ConsoleIn.py -f ~/RTCwork/rtc.conf

などとして ConsoleIn コンポーネント を起動します。

ConsoleOut コンポーネントの起動

ターミナルを起動して、同様に先ほど作成した rtc.conf を参照する形で ConsoleOut.py を起動します。

 $ python /usr/share/openrtm-1.1/example/python/SimpleIO/ConsoleOut.py -f ~/RTCwork/rtc.conf
 comp_args: ConsoleOut

自分でビルド・インストールした場合は、同様に

 $ python <source_dir>/OpenRTM_aist/examples/SimpleIO/ConsoleOut.py -f ~/RTCwork/rtc.conf

などとして ConsoleOut コンポーネント を起動します。

RTSystemEditor の起動

RTSystemEditor を使って、RTコンポーネントの接続とアクティブ化を行います。 こちらから Eclipse 全部入りパッケージをダウンロードし解凍してください。

RTSystemEditor は Java Development Kit7 を使用します。以下のマニュアルを参考にインストールしてください。 また、Ubuntu 等では、デフォルトの Java 環境は OpenJDK が推奨されています。 そうした場合、OpenJDKでも利用することは可能です。

こちらのページを参考にRTSystemEditorを起動してください。

ネームサーバーの参照と確認

ネームサーバーへ接続し登録内容を確認します。 ネームサーバーへの接続は、左側の Name Service View のコンセント型アイコンのボタンをクリックし、ダイアログで

 localhost
 または
 localhost:2809

と入力します。(omniNames のデフォルトのポート番号は2809です。)

unix100_NameServer_ja.png
ネームサーバーへの接続

ネームサーバーに登録された RTコンポーネントをシステムエディタに配置します。 左の Name Service View のConsoleOut0 および ConsoleIn0 を中央のエディタ上にドラッグアンドドロップします。 次に、コンポーネントの右端、左端に出ている突起上のアイコンを、片方からもう片方へドラッグアンドドロップします。 接続ダイアログが表示されますが、すべてデフォルトのままで結構ですので OK をクリックして接続を完了します。

unix100_oneditor_ja.png
RTSystemEditor によるシステムの編集

メニューの下の緑色の [再生] ボタンをクリックすると、エディタ上のすべてのコンポーネントがアクティブ化されます。

数値入力と出力の確認

ConsoleInComp と ConsoleOutComp のポートを接続したら、

 Please input number: 

というプロンプトが現れるので、そこに数字を入力します。入力する数字は、short int に収まる範囲の数値を入力してください。

ConsoleInComp 側のターミナルに数字を打ち込むと、ConsoleOutComp 側のターミナルに、入力した数値が現れます。 以上で、OpenRTM-aist-Python が正しくインストールされていることが確認できました。

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2160
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク