RTM-Lua

View the Project on GitHub Nobu19800/RTM-Lua

動作確認手順

OpenRTM-aistをインストールしていることを前提にしています。

OpenRTPの起動

まずOpenRTPを起動してください。 OpenRTPはOpenRTM-aistに付属しているRTミドルウェアの開発ツールです。

デスクトップのOpenRTP x86_64をダブルクリックして起動します。

tutorial1

RT System Editorの起動

次にOpenRTP上でRT System Editorを起動します。 RT System EditorはRTCを組み合わせてRTシステムを構築するためのツールです。 RTCの状態の操作、コネクタの接続などができます。

パースペクティブを開くボタンを押して表示したウィンドウからRT System Editorを選択して開くボタンを押します。

tutorial2

tutorial3

ネームサーバーの起動

ネームサーバーを起動します。 ネームサーバーはCORBAオブジェクトを名前で管理するためのサービスです。

ネームサービスビューのネームサービスを起動ボタンから起動してください。

tutorial4

ネームサーバーが起動すると以下のようにネームサービスビューにlocalhostと表示されます。

tutorial5

RTCの起動

OpenRTM Luaのsamplesフォルダ内の以下のバッチファイルを実行するとサンプルのRTCが起動します。 ConsoleInは標準入力した数値をOutPortから出力するサンプル、ConsoleOutはInPortに入力した数値を標準出力するサンプルコンポーネントです。 今回はConsoleInで標準入力した数値をConsoleOutに送信して表示するシステムを構築します。

RTCが起動するとネームサービスビューにConsoleIn0ConsoleOut0が表示されます。

tutorial6

RTシステムの構築

Open New System Editorボタンを押してシステムダイアグラムを表示します。

tutorial7

システムダイアグラム上にConsoleIn0ConsoleOut0をドラックアンドドロップして並べます。 システムダイアグラム上の表示でRTCがどのようなポートを持っているのか、どのような状態なのかが一目でわかります。

tutorial8

現在、ConsoleIn0ConsoleOut0は通信できる状態ではないため、コネクタを生成して通信できるようにします。

ConsoleIn0outからConsoleOut0inにドラックアンドドロップすることでコネクタを生成します。

tutorial9

コネクタプロファイルの設定はそのままでOKボタンを押します。

tutorial10

接続に成功するとポートが線で接続されます。

tutorial11

RTCにはInactiveActiveErrorという状態があります。 ConsoleIn0がデータを出力する、ConsoleOut0が入力データを表示するという処理はActive状態に遷移しないと実行しません。 Activate SystemsボタンでRTCをアクティブ化します。

tutorial12

するとConsoleIn.batを実行したときに表示されたウィンドウにPlease input number:と表示されるため、数値を入力してください。

入力した数値はConsoleOut.batのウィンドウで表示されます。

tutorial13

※RTSystemEditor上でRTCの表示が非アクティブ状態(青)からアクティブ状態(緑)に変化しないことがありますが、これはLuaがマルチスレッドをサポートしておらず標準入力でブロックしてしまうとすべての処理がブロックされてしまい、ConsoleInの状態を取得することもできなくなるためです。 ConsoleIn.batのウィンドウに何回か数値を入力すると正常に表示されるようになります。