RtcLink

Wed, 27 Jan 2010 12:39:20 JST (235d)
Top > マニュアル > RtcLink

RtcLink Edit

RtcLinkは, RTコンポーネントをリアルタイムにGUI上で操作することができます。 → インストール方法はこちら にあります。

RtcLinkの基本機能 Edit

RtcLinkには, 以下のような機能があります.

ネームサーバ接続/編集
ネームサーバに接続し, 登録されているコンポーネントをNameServiceViewにツリー形式で表示します.
コンポーネントプロファイル表示機能
選択したコンポーネントのプロファ イル情報をプロパティViewに表示します.
コンポーネントConfiguration表示/編集
選択したコンポーネントのConfiguratioin情報をConfigurationViewに表示し編集できます.
コンポーネント基本操作
選択したコンポーネントのアクティブ化・非アクティブ化・リセット・終了等操作を行うことができ案巣.
システム構築
システムエディタ上でコンポーネントを接続してシステムを構築することができます.
システム保存/再構築機能
システムエディタの内容を保存したり, それを読み込みシステムを再構築することができます.

RtcLinkを使ったシステム構築の流れ Edit

RtcLinkを使用してシステムを構築する手順はおおよそ以下の通りです.

1.コンポーネントを起動
システムに必要なRTコンポーネントを起動します. 通常はシステム全体で1箇所のネームサーバを使用するように設定した上でRTコンポーネントを起動します.
2.RtcLinkをネームサーバへ接続
RtcLinkを起動して, NameServiceViewからRTコンポーネント起動時に設定したネームサーバへ接続します.
3.システムエディタ上で編集
起動しているRTコンポーネントはネームサーバ上に登録され, RtcLinkのNameServiceViewから見ることができます. これらのRTコンポーネントを, システムエディタへドラッグアンドドロップし, RTコンポーネントの適切なポート同士をRtcLinkを使って接続します.
4.コンポーネントの起動(アクティブ化)
RTコンポーネント同士の接続が完了したら, RTコンポーネントをアクティブ化しシステムを起動します. RTコンポーネントを一つづつアクティブ化することもできますし, メニューボタンの一括アクティブ化ボタンでいっせいにアクティブ化することもできます.
5.システムの保存
完成したシステムはXML形式のファイルで接続情報などを保存します.
6.システムの復元
保存したシステム構成情報のファイルを読み込み接続情報を復元しシステムを再び同じ状態で起動します.

これらの使用法以外に, RTコンポーネントを作成後にデバッグなどでも使用することもできます.

RtcLinkの起動 Edit

 Eclipseを起動 し, メニューからウインドウ(W)→パースペクティブを開く(O)→その他(O)を選択すると, 次のようなパースペクティブ選択画面が現れます.

 
EclipsePluginInstall4.png
 

パースペクティブ一覧にあるRtcLinkを選択すると, 次のような画面が現れてRtcLinkが起動されます.

 
EclipsePluginInstall5.png
 

RtcLink操作画面 Edit

RtcLinkは, Eclipseの用語でビュー(View)やエディタ(Editor)と呼ばれるいくつかのサブウインドウから構成されます.

ネームサービスビュー(NameServiceView)
RTコンポーネントが登録されているネームサービスの内容をツリー表示します.
コンフィグレーションビュー(ConfigurationView)
選択されているRTコンポーネントのコンフィグレーション情報を表示/編集します.
プロパティビュー(PropertyView)
選択されているRTコンポーネントのプロファイル情報を表示します.
システムエディタ(SystemEditor)
RTコンポーネントの状態をグラフィカルに表示し、ポート接続等を行いシステムを構築します.

以下, RtcLinkのビュー(View)やエディタ(Editor)毎の操作方法を説明します.

ネームサービスビュー(NameServiceView) Edit

下図の枠で囲まれた部分がネームサービスビューです.

 
rtc-link7.png
 

OpenRTM-aistではRTCを管理・公開するためにネームサービスが使用されており, ネームサービスビューでは、この内容を表示/編集することができます.

ネームサーバへの接続 Edit

ネームサーバへ接続するには, ネームサービスビューの上部に存在するボタンを押下するか, コンテクストメニューにて「Add Name Server」を選択します.

 
rtc-link8.png
 

ネームサーバ接続ダイアログでは、IPアドレスおよびポート番号を入力します. (ポート番号が省略された場合には, omniORBのネームサービスのデフォルトポートの2809番ポートが使用されます.)

 
rtc-link9.png
 

※Eclipseの(再)起動時には最後に接続したアドレスへ自動的に接続します. 存在しない場合には, ローカルホストの2809番に接続を試みます.

ネームサーバをビューから削除する Edit

接続しているネームサーバを画面から削除するには、ネームサーバを選択し「Delete from View」ボタンを押下します.

 
rtc-link10.png
 

ネームサーバの内容を表示する Edit

接続したネームサーバにコンポーネントが登録されていると, 以下のように登録内容がツリー形式で表示されます.

 
rtc-link11.png
 

各アイコンの意味は以下のとおりです.

アイコンkind意味
icon1.png
host_cxtホストコンテキスト
icon2.png
mgr_cxtマネージャコンテキスト
icon3.png
cate_cxtカテゴリコンテキスト
icon4.png
mod_cxtモジュールコンテキスト
icon5.png
上記以外上記以外のコンテキスト
icon6.png
rtcRTコンポーネント
なし--RTコンポーネント以外のオブジェクト
icon8.png
--登録されているが, 実体のないゾンビオブジェクト

ネームサービスビューは, 接続先の各ネームサーバを常に監視し表示の同期・更新を行っています. (監視の周期は, 設定画面の接続周期の項目で変更することができます) また, 明示的にネームサーバの内容を再取得する場合にはリフレッシュを行うことができます. リフレッシュを行うには, ネームサービスビューの上部に存在するボタンを押下するか, コンテキストメニューにて「Refresh」を選択します.

ネームサービスビューの表示範囲を変更する Edit

ネームサービスビューでは、RTCの数が多くなることによって操作する範囲が煩雑化するのを防ぐために, 表示ルートの位置を移動する機能があります. 表示ルートを移動するには, 移動する先を選択し, 「Go Into」で移動します.

 
rtc-link13.png
表示ルート変更
 
rtc-link14.png
表示ルート変更例
 

移動後は, 「Go Back」で1階層上に上ることができます. また, 「Go Home」で最上位の階層に戻ります.

ネームツリーの内容の編集 Edit

ネームサービスビューでは, ネームサーバに登録されているコンテキストやオブジェクトの削除を行うことができます. (追加を行うことはできません) コンテキストやオブジェクトを削除するには, コンテクストメニューにて「Delete from Name Service」ボタンを押下します. ネームサービス上でRTコンポーネントのエントリを削除しても, RTコンポーネント自体が削除されたり終了したりすることはありません.

また, 登録されているネームサーバについても同様に削除することができます.

 
rtc-link15.png
 

コンフィグレーションビュー(ConfigurationView) Edit

下図の枠で囲まれたビューがコンフィギュレーションビューです.

 
rtc-link16.png
コンフィグレーションビュー(ConfigurationView)
 

コンフィグレーションビューでは、選択されたRTCのコンフィグレーションを表示/編集することができます. 左側にCofigurationSetのリストが表示され, 右側にConfigurationSet内のプロパティが表示されます.

 
rtc-link17.png
 
  1. 選択されているコンポーネント名.
  2. 選択されているConfigurationSet名.
  3. アクティブになっているConfigurationSet. また, アクティブなConfigurationSetを変更することができる.
  4. ConfigurationSetのリスト.
  5. 左側で選択されているConfigurationSetのプロパティの名前.
  6. 左側で選択されているConfigurationSetのプロパティの値.
  7. ConfigurationSetを追加/削除するボタン.
  8. プロパティを追加/削除するボタン.
  9. 変更内容を適用/キャンセルするボタン.

コンフィグレーションビューで編集中の情報は, 9.の適用ボタンが押下されるまで適用されません. また, 修正中(未適用)の情報は赤く表示されます.

 
rtc-link18.png
 

コンフィグレーションビューに表示される情報は, RTコンポーネント選択時に最新の情報をキャッシュして表示しています(コンフィグレーションの編集に備えるため). あるRTコンポーネントを選択したままで, 他(のRtcLinkなど)からコンフィギュレーションが変更されると, コンフィギュレーション情報の不整合が生じますので注意してください. RtcLinkはコンフィギュレーションの編集結果の適用時には, 以前の情報に関係なく完全に上書きますので注意してください.

プロパティビュー(PropertyView) Edit

下図の枠で囲まれた部分がプロパティビューです.

 
rtc-link20.png
プロパティビュー(PropertyView)
 

表示されるアイコンの意味は以下のとおりです.

prof_icon1.png
RTCInstanceName, TypeName, Description, Vender, Category, State*1
prof_icon2.png
ExecutionContextState, Kind, Rate
prof_icon3.png
ServicePortName, プロパティ情報のリスト
prof_icon4.png
OutportName, プロパティ情報のリスト
prof_icon5.png
InportName, プロパティ情報のリスト
prof_icon5.png
PrtInterfaceProfileInterfaceName, TypeName, PortInterfacePolarity

なお, OMG RTCの仕様では、RTCのLifeCycleStateはExecutionContextごとに存在します. つまり状態は複数存在しますが, RtcLinkでは1番目のExecutionContextのみを使用してSTATEを表示します.

システムエディタ(SystemEditor) Edit

下図の枠で囲まれた部分がシステムエディタ(SystemEditor)です.

 
rtc-link22.png
システムエディタ(SystemEditor)
 

システムエディタでは, RTコンポーネントの状態がリアルタイムで表示されます. またポート間の接続や, RTコンポーネントの状態を変更することでシステム構築, 動作検証を行うことができます.

 
rtc-link23.png
システムエディタ(SystemEditor)
 

システムエディタを開く Edit

新しいシステムエディタを開くには, ツールバーの「Open New System Editor」ボタンを押下するか, メニューバーの[ファイル]-[ Open New System Editor]を選択します.

 
rtc-link24.png
ツールバーからOpen New System Editorを選択
 
 
rtc-link25.png
ファイルメニューから Open New System Editorを選択
 

RTCをシステムエディタに配置する Edit

RTCをシステムエディタに配置するには, ネームサービスビューからRTコンポーネントをドラッグ&ドロップします.

 
rtc-link26.png
コンポーネントをシステムエディタに配置する
 

RTコンポーネントの表示 Edit

システムエディタに配置されたRTコンポーネントは矩形で表示され, ポートはその矩形の周りに表示されます. また, それぞれの状態が色で表現されます.

 
rtc-link27.png
RTコンポーネント表示の例
 

アイコンと状態色の一覧は以下のとおりです.

コンポーネントの状態

オブジェクト形状状態変更可
RTコンポーネント
box_icon.png
CREATED(白)
INACTIVE(青)
ACTIVE(緑)
ERROR(赤)
UNKNOWN(黒)
ExecutionContextRTCの外周線RUNNING(黒)×
STOPPED(灰色)×
InPort
in_p_icon.png
未接続(青)×
接続あり(緑)×
OutPort
out_p_icon.png
未接続(青)×
接続あり(緑)×
ServicePort
svc_icon.png
未接続(青)×
接続あり(水色)×

RtcLinkを用いたRTコンポーネントの操作 Edit

RTコンポーネントの状態を変更する Edit

システムエディタでは, RTコンポーネントを選択し, 「Activate」, 「Deactivate」, 「Reset」, 「Finalize」, 「Exit」, 「Start」, 「Stop」を実行することができます. また, ネームサービスビューでも同様操作を実行することができます.

 
rtc-link33.png
ネームサービスビュー(左)とシステムエディタ(右)から状態を変更する
 

これらのアクションの意味は以下のとおりです.

アクション名実行対象意味
Activate1番目のExecutionContextActive化する
Deactivate非Active化する
ResetResetする
FinalizeRTコンポーネントFinalizeする
ExitExitする
Start1番目のExecutionContextStartする
StopStopする

また, ツールバーとコンテクストメニューから, システムエディタに含まれるすべてのRTコンポーネントへActivate, Deactivate, Start, Stopを実行することができます.

 
rtc-link34.png
ツールバーボタン:全コンポーネントを一括操作可能
 

All系のアクションは, 1番目以外のExecutionContextについても行われます. ActivateStartを画面内のRTコンポーネントに1つずつ行った場合と結果が異なることに注意してください.

ポート間を接続する Edit

システムエディタでは, RTコンポーネントのポート間を接続することができます. ポート間を接続するには, ポートとポートをドラッグ&ドロップでつなぎます.

 
rtc-link35.png
 

ドラッグ&ドロップ終了後, 接続に必要な情報の入力を促すダイアログが表示されます.

 
rtc-link36.png
 

このダイアログでは, ConnectorProfileを作成します. ConnectorProfileは, それぞれのポートが必要とする条件を満たすように作成しなければなりません, このダイアログでは自動的に必要な条件を満たす値のみが入力できるようになっています.

必要な条件を満たすことができない接続の場合には, ドラッグ&ドロップの接続時に禁止マークが表示され, ドラッグ&ドロップを行うことができません.

 
rtc-link37.png
 

ポート間の接続には, データポート間接続とサービスポート間接続があります.

データポート間接続 Edit

データポートの接続で, 「InPort」と「OutPort」を接続します. これらの間をドラッグ&ドロップでつなぐと以下のダイアログが表示されます.

 
rtc-link38.png
 

ダイアログの項目と条件は以下のとおりです.

項目プロファイル名概要
Data Typedataport.data_typeポートが使用するデータ型.
Interface Typedataport.interface_typeデータポートが使用するインターフェースタイプ.デフォルトではCORBA_Anyのみ使用可能.
Dataflow Typedataport.dataflow_typeデータフロー型.Push型とPull型がある.
Subscription Typedataport.subscription_typeサブスクリプション型.Push型の時のみ意味を持つ.New, Periodic, Flush型がある.
Push Rate(Hz)dataport.push_intervalSubscription Type がPeriodicのときのデータ送信周期. Subscription TypeがPeriodicの時のみ指定可能.

これらの項目について, RtcLinkは指定可能な値を, それぞれのポートの値リストから文字列のマッチングを行って作成します. このため, 双方のポートに対してANYしか指定されていないような場合には, 入力可能な値を判断することができません. このため双方のポートにANYが含まれている場合に, RtcLinkは任意の文字列を入力できるようにしています. 任意の文字列が入力可能な項目には, 「任意入力可」と表示されます.

サービスポート間接続 Edit

サービスポート間の接続では, 「ServicePort」「ServicePort」を接続します. これらの間をドラッグ&ドロップでつなぐと以下のダイアログが表示されます.

 
rtc-link39.png
 

サービスポートの場合, 必須となる接続の条件はありません. しかし, ServicePort間でのPortInterfaceProfileが完全にマッチングしない場合, 接続ダイアログにて警告を表示します. ここでいう完全なマッチングとは, PortInterfaceProfileの「type」が同じで, 「polarity」がお互いにPROVIDEDとREQUIREDになっていること. また余りなく (PortInterfaceProfileはそれぞれのポートに複数存在する) すべてのPortInterfaceProfileがマッチングすることを指しています.

ポート間の接続を切断する Edit

ポート間の接続を切断するには, 接続を選択しDeleteボタンを押下するか, コンテクストメニューに表示されるDeleteを押下します.

 
rtc-link40.png
 

システムをセーブする Edit

システムエディタで構築すしたシステムはセーブすることができます. セーブするには, メニューの[ファイル]もしくはエディタを右クリックして「Save…」を選択します. (「SaveAs…」では, セーブするファイルを任意選択することができます)

 
rtc-link41.png
 

セーブしたシステムをオープンする Edit

セーブしたシステムエディタをオープンするには, エディタを右クリックして 「Open」を選択します.

 
rtc-link42.png
 

オープン後は, RtcLinkはリモートのシステムを正として最新の情報へと更新を行います. セーブ内容をシステムへ復元するには, 次の節で説明する「Open and Restore…」を使用してください.

セーブしたシステムをオープンおよび復元する Edit

セーブしたシステムエディタをオープンおよび復元するには, エディタを右クリックして「Open and Restore…」を選択します.

 
rtc-link43.png
 

システムへ復元されるのは以下の内容です.

  • ポート間の接続
  • コンフィグレーション情報

また, 復元後は自動的にAll Activateが実行されます. 復元に失敗した場合には, エラー内容が表示されます. また, RtcLinkはエラー発生時でも, できる限りの復元を試みます.

セーブしたシステムを復元する(コンソール) Edit

RtcLinkには, GUIからではなくコンソールにて, システムを復元する機能も持っています. コンソール復元を行うには, 別途配布されているRtcLinkのコンソール復元パッケージの「ConsoleRestore」フォルダにある, 「run.bat」をセーブファイルを指定して実行します.

C:\tmp\RtcLink\ConsoleRestore > run.bat C:\tmp\save.rtclink 

RTコンポーネントの描画編集 Edit

ここでは, RTコンポーネントの描画編集について説明していきます. (「編集」ではなく「描画編集」とあえてしているのは, ここで説明される作業は描画の編集であり, システムに対する影響は全くないためです. )

コンポーネントブロックの大きさの変更と移動 Edit

ブロックを移動するには, 選択後ドラッグして動かします. ブロックの大きさを変更するには, ブロックを選択することで表示されるハンドルをドラッグして動かします.

 
rtc-link28.png
 

また, 選択されたブロックの位置と大きさがステータスバーに表示されます.

 
rtc-link29.png
 

ブロックの回転 Edit

ブロックを選択し, マウスの中ボタン (あるいはホイール) をクリッ クすることで, 水平の向きへ回転します. Shiftキーを押しながらマウスの中ボタン(あるいはホイール)をクリックすることで, 垂直の向きへ回転します. それぞれ同じ操作を繰り返し行うことで逆の水平の向き, 逆の垂直の向きへ変更でき, 上下左右の向きへ操作することができます.

 
rtc-link30.png
 

ブロックの削除 Edit

ブロックを削除するには, ブロックを選択しDeleteボタンを押下するか, コンテキストメニューからDeleteを押下してください.

 
rtc-link31.png
 

ポート間の接続線を移動する Edit

接続線を移動するには, 接続線を選択し表示されるハンドルを移動します. 垂直線は左右に, 水平線は上下に移動することができます.

 
rtc-link32.png
 

RtcLinkの設定 Edit

ここでは, RtcLinkの設定画面について説明します. RtcLinkの設定画面は, メニューの[ウインドウ]-[preferences…]-[RtcLink]で表示することができます.

接続周期 Edit

接続周期とは, RtcLinkがシステムの情報を収集して表示へ反映する周期のことです.] 接続周期は, ネームサービスビューとシステムエディタの2つがあります. 単位はミリ秒で, 0を指定した場合には, 同期は行われません.

 
rtc-link44.png
 

表示色 Edit

表示色の設定画面では, システムエディタにて表示されるRTコンポーネントとExecutionContext状態の色を設定することができます. それぞれの状態の意味については, システムエディタのRTコンポーネントの表示をご覧ください.

 
rtc-link45.png
 

その他 Edit

FAQ Edit

 こちらを参照してください。

謝辞 Edit

 RtcLinkは, 以下のライブラリを使用して開発されました. これらのプロジェクトの開発と設計にかかわった方々に感謝します.

Apache Jakarta Commons Lang 2.2
Apache Jakarta Commons Lang
Copyright 2001-2006 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation http://www.apache.org/

*1 ※1番目のExecutionContextのLifeCycleStateを基にして表示される