OpenRTM-aistにはrtcname形式、rtcloc形式という文字列からRTCへアクセスする機能が利用できます。
rtcname形式は指定のネームサーバーに登録されたRTCにアクセスする方式であり、接続するネームサーバーのアドレス、ネーミングコンテキスト、RTCのバインディング名を指定することでRTCのオブジェクトリファレンスを取得できます。
rtcname://{ネームサーバーのIPアドレス}:{ネームサーバーのポート番号}/{ネーミングコンテキスト名(省略可)}/{RTCのバインディング名}
rtcloc形式は指定のマスターマネージャに登録されたスレーブマネージャからRTCにアクセスする方式であり、接続するマスターマネージャのアドレス、RTCのカテゴリ名、RTCのインスタンス名を指定することでRTCのオブジェクトリファレンスを取得できます。
rtcloc://{マスターマネージャのIPアドレス}:{マスターマネージャのポート番号}/{RTCのカテゴリ名(省略可)}/{RTCのインスタンス名}
以下のようにrtc.confのmanager.components.preconnect、manager.components.preactivationでrtcname形式によりRTCを指定することで、外部のプロセスで起動したポートの接続やRTCのアクティブ化ができます。
manager.components.preconnect: ConsoleIn0.out?port=rtcname://localhost:2809/test.host_cxt/ConsoleOut0.in manager.components.preactivation: ConsoleIn0, rtcname://localhost:2809/test.host_cxt/ConsoleOut0
ただし、ネーミングコンテキスト(この例ではtest.host_cxt)は以下のように省略できます。
manager.components.preconnect: ConsoleIn0.out?port=rtcname://localhost:2809/*/ConsoleOut0.in manager.components.preactivation: ConsoleIn0, rtcname://localhost:2809/*/ConsoleOut0
※以下の機能はリリース版のOpenRTM-aist 2.0.0で未サポートの場合があります。機能を使う場合はソースコードからビルドする必要があります。
OpenRTM-aistはデフォルトでIIOP通信を行いますが、設定を変更することでomniORBのSSLIOP、HTTP、HTTPS、WebSocket、WebSocket over SSL/TLS通信、TAOのSSLIOP、HTIOP、SHMIOP通信で外部のRTCにアクセスすることができます。 以下のようにrtcnameの後にプロトコル名を指定することで設定できます。
rtcname.{プロトコル名}://{ネームサーバーのIPアドレス}:{ネームサーバーのポート番号}/{ネーミングコンテキスト名(省略可)}/{RTCのバインディング名}
ただし、設定する通信プロトコルをOpenRTM-aistで使用できるように設定する必要があります。 使用例についても以下のページを参考にしてください。
以下のようにrtc.confのmanager.components.preconnect、manager.components.preactivationでrtcloc形式によりRTCを指定することで、外部のプロセスで起動したポートの接続やRTCのアクティブ化ができます。 rtcloc形式を使用するためにはマネージャからRTCを取得する機能を有効にするためnaming.typeオプションにmanagerを追加します。
naming.type: corba, manager manager.components.preconnect: ConsoleIn0.out?port=rtcloc://localhost:2810/example/ConsoleOut0.in manager.components.preactivation: ConsoleIn0, rtcloc://localhost:2810/example/ConsoleOut0
manager.components.preconnect: ConsoleIn0.out?port=rtcloc://localhost:2810/*/ConsoleOut0.in manager.components.preactivation: ConsoleIn0, rtcloc://localhost:2810/*/ConsoleOut0
rtcname形式と同じく、rtcloc形式でも通信プロトコルを指定することができます。
rtcloc.{プロトコル名}://{マスターマネージャのIPアドレス}:{マスターマネージャのポート番号}/{RTCのカテゴリ名(省略可)}/{RTCのインスタンス名}
モーションエディタ/シミュレータ
動力学シミュレータ
統合開発プラットフォーム
産総研が提供するRTC集
東京オープンソースロボティクス協会
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
概要
OpenRTM-aistにはrtcname形式、rtcloc形式という文字列からRTCへアクセスする機能が利用できます。
rtcname形式は指定のネームサーバーに登録されたRTCにアクセスする方式であり、接続するネームサーバーのアドレス、ネーミングコンテキスト、RTCのバインディング名を指定することでRTCのオブジェクトリファレンスを取得できます。
rtcloc形式は指定のマスターマネージャに登録されたスレーブマネージャからRTCにアクセスする方式であり、接続するマスターマネージャのアドレス、RTCのカテゴリ名、RTCのインスタンス名を指定することでRTCのオブジェクトリファレンスを取得できます。
rtcname形式でのRTCへのアクセス
以下のようにrtc.confのmanager.components.preconnect、manager.components.preactivationでrtcname形式によりRTCを指定することで、外部のプロセスで起動したポートの接続やRTCのアクティブ化ができます。
ただし、ネーミングコンテキスト(この例ではtest.host_cxt)は以下のように省略できます。
プロトコルの指定
※以下の機能はリリース版のOpenRTM-aist 2.0.0で未サポートの場合があります。機能を使う場合はソースコードからビルドする必要があります。
OpenRTM-aistはデフォルトでIIOP通信を行いますが、設定を変更することでomniORBのSSLIOP、HTTP、HTTPS、WebSocket、WebSocket over SSL/TLS通信、TAOのSSLIOP、HTIOP、SHMIOP通信で外部のRTCにアクセスすることができます。 以下のようにrtcnameの後にプロトコル名を指定することで設定できます。
ただし、設定する通信プロトコルをOpenRTM-aistで使用できるように設定する必要があります。 使用例についても以下のページを参考にしてください。
rtcloc形式でのRTCへのアクセス
以下のようにrtc.confのmanager.components.preconnect、manager.components.preactivationでrtcloc形式によりRTCを指定することで、外部のプロセスで起動したポートの接続やRTCのアクティブ化ができます。 rtcloc形式を使用するためにはマネージャからRTCを取得する機能を有効にするためnaming.typeオプションにmanagerを追加します。
ただし、ネーミングコンテキスト(この例ではtest.host_cxt)は以下のように省略できます。
プロトコルの指定
rtcname形式と同じく、rtcloc形式でも通信プロトコルを指定することができます。