動作確認 (Windows編)

サンプルコンポーネントの場所

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

  • C:\Program Files\OpenRTM-aist\1.2.0\Components\Python
  • OpenRTM-aist-Python/OpenRTM-aist/examples (ソースからビルドした場合)

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

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

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

以下は、msi インストーラーで OpenRTM-aist をインストールした環境で、スタートメニューから各種プログラムを起動する前提で説明します。

RT System Editor、ネームサーバー起動

以下の手順に従ってRT System Editor、ネームサーバーを起動してください。

サンプルコンポーネントの起動

ネームサーバー起動後、適当なサンプルコンポーネントを起動します。

Windows 10の場合は右下の「ここに入力して検索」にPython_Examplesと入力してサンプルのフォルダを開きます。

rtm7-2.png
ネームサーバーの起動を確認

rtm8-2.png
サンプルコンポーネントフォルダー

ここでは、「ConsoleIn.bat」「ConsoleOut.bat」をそれぞれダブルクリックして2つのコンポーネントを起動します。 起動すると、下図のような2つのコンソール画面が開きます。

rtm9-2.png
ConsoleIn コンポーネントと ConsoleOut コンポーネント

コンポーネントが起動しない場合

コンポーネントが起動しない場合、いくつかの原因が考えられます。

コンソール画面が開いてすぐに消える

rtc.conf の設定に問題があり、起動できないケースがあります。上記スタートメニューフォルダーの [rtc.conf for examples] を開いて設定を確認してください。 例えば、corba.endpoint/corba.endpoints などの設定が現在実行中の PC のホストアドレスとミスマッチを起こしている場合などは、CORBA が異常終了します。

以下のような最低限の rtc.conf に設定しなおして試してみてください。

 corba.nameservers: localhost

omniORBpy がインストールされていない。

openrtm.org が提供する msi インストーラーには omniORBpy が含まれていますが、カスタムインストールを選択すると、omniORBpy をインストールせずに OpenRTM-aist-Python をインストールすることもできます。

また、手動でインストールした場合には、omniORBpy が入っていない場合も考えられますので、omniORBpy がインストールされているか確認してください。

py ファイルの関連付けが違っている

ConsoleIn、ConsoleOutを起動するファイルは、C:\Program Files\OpenRTM-aist\1.2.0\Components\Python\Examples\SimpleIO\ConsoleIn.py、ConsoleOut.py です。(64bit 版 msi でインストールした場合) このディレクトリーでコンソール画面を開き、python ConsoleIn.py を実行すると起動するが、ConsoleIn.py をダブルクリックして起動できない場合はインストールしている python を確認してください。 Python の 32bit 版、64bit 版の両方をインストールしている場合、先にインストールしたものが py ファイルに関連付けられるようなので、OpenRTM-aist-Python のインストーラーと同じアーキテクチャの Python を先にインストールすると解決するかもしれません。

その他

ホスト名やアドレスの設定の問題で、起動がうまくいかないケースがあります。 その場合、利用している PC の IP アドレスを omniNames.exe に教えてあげるとうまくいくケースがあります。 環境変数 OMNIORB_USEHOSTNAME を以下のように設定します (以下は自ホストの IPアドレスが192.168.0.11の場合の例)。

 変数名(N): OMNIORB_USEHOSTNAME
 変数値(V): 192.168.0.11

エディタへの配置

RT System Editorのツリー表示の [>] をクリックすると、先ほど起動した2つのコンポーネントが登録されていることがわかります。

/ja/node/6614
ConsoleIn コンポーネントと ConsoleOut コンポーネント

システムを編集するエディタを開きます。上部のエディタを [開く] ボタン /ja/node/794 をクリックすると、中央のペインにエディタが開きます。

左側のネームサービスビューに  /ja/node/794 のアイコンで表示されているコンポーネント (2つ) を中央のエディタにドラッグアンドドロップします。

/ja/node/6614
コンポーネントをエディタに配置

接続とアクティブ化

ConsoleIn0 コンポーネントの右側にはデータが出力される OutPort  /ja/node/794 、ConsoleOut0 コンポーネントの左側にはデータが入力される InPort  /ja/node/794 がそれぞれついています。

これら InPort/OutPort (まとめてデータポートと呼びます) を接続します。 OutPort から InPort (または InPort から OutPort) へドラッグランドドロップすると、図のようなダイアログが現れますので、デフォルト設定のまま [OK] ボタンをクリックします。

/ja/node/6614
データポートの接続

/ja/node/6614
データポート接続ダイアログ

2つのコンポーネントの間に接続線が現れます。次に、エディタ上部メニューの [All Activate] ボタン rtm14.png をクリックし、これらのコンポーネントをアクティブ化します。 アクティブ化されると、コンポーネントが緑色に変化します。

/ja/node/6614
アクティブ化されたコンポーネント

コンポーネントがアクティブ化されると ConsoleIn コンポーネント側では

 Please input number: 

というプロンプト表示に変わりますので、適当な数値 (short int の範囲内:32767以下) を入力し Enter キーを押します。 すると、ConsoleOut 側では、入力した数値が表示され、ConsoleIn コンポーネントから ConsoleOut コンポーネントへデータが転送されたことがわかります。

以上で、コンポーネントの基本動作の確認は終了です。

他のサンプル

インストーラーには、このほかにもいくつかのサンプルコンポーネントが付属しています。 これらのコンポーネントも同様に起動し、RTSystemEditor でポート同士を接続し、アクティブ化することで試すことができます。

付属しているコンポーネントのリストと簡単な説明を以下に示します。

ConsoleIn.py コンソールから入力された数値を OutPort から出力する。ConsoleOut.py に接続して使用する。
ConsoleOut.py InPort に入力された数値をコンソールに表示するコンポーネント。ConsoleIn.py に接続して使用する。
SeqIn.py ランダムな数値(Short、Long、Float、Double とそのシーケンス型)を出力するコンポーネント。SeqOut.py に接続して使用する。
SeqOut.py InPort に入力される数値(Short、Long、Float、Doubleとそのシーケンス型)を表示。SeqIn.py に接続して使用する。
MyServiceProvider.py MyService 型のサービスを提供するコンポーネント。MyServiceConsumer.py に接続して使用する。
MyServiceConsumer.py MyService 型のサービスを利用するコンポーネント。MyServiceProvider.py に接続して使用する。
ConfigSample.py Configuration のサンプル。RTSystemEditor から Configuration を変更して Configuration の挙動を理解するためのサンプル。
TkMobileRobotSimulator.py モバイルロボットの簡易シミュレーター。ロボットの速度を InPort で受け、移動後の位置を OutPort から出力する。
NXTRTC.py LEGO MINDSTORM にて作成したモバイルロボットを制御するためのサンプル。InPort にて速度を受け、赤外線センサーと現在位置をそれぞれ OutPort から出力する。
AutoControl.py モバイルロボット用の速度を出力する。測位センサーのデータを InPort で受け、ロボットの速度を計算して OutPort から出力する。
Composite.py Composite 用のサンプル。Motor、Controller、Sensorを包含するコンポーネント。Composite の使用方法を理解するためのサンプル。
Motor.py Composite コンポーネント用のサンプル。Composite の子要素として使用。
Controller.py Composite コンポーネント用のサンプル。Composite の子要素として使用。
Sensor.py Composite コンポーネント用のサンプル。Composite の子要素として使用。
Slider.py Tk を用いた GUI コンポーネントのサンプル。Slider で指定した値を OutPort から出力する。
TkMotorComp.py Tk を用いた GUI コンポーネントのサンプル。InPort で受け取った値を GUI で表示する。
TkLRFViewer.py Tk を用いた GUI コンポーネントのサンプル。レーザーレンジセンサーなどから出力されるデータを表示する。
TkJoystickComp.py Tk を用いた GUI コンポーネントのサンプル。簡易ジョイスティックコンポーネント。


ダウンロード

最新バージョン

初めての方へ

Windows msi(インストーラ) パッケージ (サンプルの実行ができます。)

C++,Python,Java,
Toolsを含む
1.2.0-RELEASE

RTコンポーネントを開発するためには開発環境のインストールが必要です。詳細はダウンロードページ

統計

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

旧Webサイト

OpenRTM.org旧Webサイト

OpenHRP3

動力学シミュレータ

Choreonoid

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

OpenHRI

対話制御コンポーネント群

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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

VirCA

遠隔空間同士を接続し、実験を行うことが可能な仮想空間プラットホーム