このドキュメントではコンポーネントごとの設定を行うファイルの設定項目を説明します。 このファイル名称は任意の名前をつけることができますが、便宜上 component.conf とします。 component.conf は以下のように rtc.conf 内でコンポーネントのカテゴリ名とコンポーネント名やインスタンス名をキーとするオプションで指定します。
<コンポーネントカテゴリ名>.<コンポーネント名>.config_file: <任意のファイル名>.conf or <コンポーネントカテゴリ名>.<コンポーネントインスタンス名>.config_file: <任意のファイル名>.conf
サンプルに含まれる ConsoleIn コンポーネントを例にして、実際の指定方法を示します。
example.ConsoleIn.config_file: consolein.conf ← ConsoleInコンポーネント全体の設定 example.ConsoleIn0.config_file: consolein0.conf ← 0番目のインスタンスの設定 example.ConsoleIn1.config_file: consolein1.conf ← 1番目のインスタンスの設定 example.ConsoleIn2.config_file: consolein2.conf ← 2番目のインスタンスの設定
RTCのBasic Profile (RTCBuilderの基本タブで設定する項目) の以下の項目は、component.conf で値を上書きすることができます。
Periodic型ExecutionContextの指定。 使用するECの型を指定します。以下の方が利用できます。
その他のEC
exec_cxt.periodic.type: PeriodicExecutionContext
ExecutionContextの実行周期
このオプションはRTC特有のECの周期を指定します。このECの実行周期は、元のRTCのデフォルトのECレートを上書きします。
exec_cxt.periodic.rate: 1000
状態遷移モードの指定。 RTCはアクティブ化、非アクティブ化、およびリセットにより状態が遷移します。 一部の実行コンテキストは、メインロジックを異なるスレッドで実行します。 これらのフラグが YES に設定されている場合、アクティブ化、非アクティブ化、およびリセットは同期して実行されます。 つまり、これらのフラグが YES の場合、状態遷移の完了後にアクティブ化/非アクティブ化/リセット処理から返ります。
"synchronous_transition" は、同期遷移フラグを他のすべての同期遷移フラグに設定します(synchronous_activation / deactivation / resetting)。
exec_cxt.sync_transition: YES exec_cxt.sync_activation: YES exec_cxt.sync_deactivation: YES exec_cxt.sync_reset: YES
同期遷移時のタイムアウト時間。 同期遷移フラグをYESに設定すると、タイムアウト設定が利用可能になります。 "transition_timeout" が設定されている場合、値はアクティブ化/非アクティブ化およびリセットの他のすべてのタイムアウトに設定されます
exec_cxt.transition_timeout: 0.5 exec_cxt.activation_timeout: 0.5 exec_cxt.deactivation_timeout: 0.5 exec_cxt.reset_timeout: 0.5
ECのCPU affinity (割当)の設定。 このオプションは、ECを特定のCPUにバインドします。 オプションは、CPU IDを識別するために、1つ以上のコンマ区切りの番号でなければなりません。 CPU IDは0から始まり、最大数はCPUコアの数-1です。 無効なCPU IDを指定すると、すべてのCPUがECに使用されます。
exec_cxt.cpu_affinity: 0
実行コンテキストの指定。 RTCは、0個以上の実行コンテキストにアタッチできます。 "execution_contexts" オプションは、RTC固有にアタッチするECとその名前を指定します。 オプションが指定されていない場合、ECに関連する内部グローバルオプションまたはrtc.confオプションが使用されます。 Noneを指定すると、ECは作成されません。 指定可能なECの種類は、"exec_cxt.type" で指定できるものと同じです。 また、ECの種類を指定すると同時に、その名前も指定することができます。 名前は、ECの周期などを指定するオプションのキーとしてに利用されます。
execution_contexts: PeriodicExecutionContext(pec1000Hz), PeriodicExecutionContext(pec500Hz)
EC 特有の設定。 各ECは独自のコンフィグレーションを持つことができます。 ECタイプ名またはECインスタンス名を使用して、個々の構成を指定できます。 接続されたECは、<ECタイプ名>(<ECインスタンス名>)のような "execution_context" オプションで指定されます。 EC固有のオプションは、次のように指定できます。
ec.PeriodicExecutionContext.sync_transition: NO ec.pec1000Hz.rate: 1000 ec.pec1000Hz.synch_transition: YES ec.pec1000Hz.transition_timeout: 0.5 ec.pec500Hz.rate: 500 ec.pec500Hz.synch_activation: YES ec.pec500Hz.synch_deactivation: NO ec.pec500Hz.synch_reset: YES ec.pec500Hz.activation_timeout: 0.5 ec.pec500Hz.reset_timeout: 0.5
port.inport.<port_name>.* -> InPortBase.init() の引数に渡される port.inport.dataport.* -> InPortBase.init() の引数に渡される
port.inport.dataport.provider_types: corba_cdr, direct, shm_memory port.inport.dataport.consumer_types: corba_cdr, direct, shm_memory port.inport.dataport.connection_limit: 1
port.outport.<port_name>.* -> OutPortBase.init() の引数に渡される port.outport.<port_name>.* -> OutPortBase.init() の引数に渡される
port.corbaport.<port_name>.* -> CorbaPortBase.init() の引数に渡される port.corba.* -> CorbaPortBase.init() の引数に渡される
コンフィギュレーションパラメータは、RTSystemEditorのコンフィギュレーションセット設定ダイアログのGUIウィジェットから操作可能です。 通常、RTCBuilderでRTCを設計する場合、各パラメーターに割り当てるGUIウィジェットの種類を指定できますが、component.confからGUIウィジェットの割り当てを指定することもできます。
conf.[configuration_set_name].[parameter_name]: conf.__widget__.[parameter_name]: GUI control type for RTSystemEditor conf.__constraint__.[parameter_name]: Constraints for the value
conf.__widget__.[widget_name]: [widget_type].[widget_option]
conf.__widget__.int_param0: slider.10 conf.__widget__.int_param1: spin conf.__widget__.double_param0: slider.10 conf.__widget__.double_param1: text conf.__widget__.str_param0: radio conf.__widget__.vector_param0: checkbox conf.__widget__.vector_param1: ordered_list
conf.__constraints__.[parameter_name]:
conf.__constraints__.int_param0: 0<=x<=150 conf.__constraints__.int_param1: 0<=x<=1000 conf.__constraints__.double_param0: 0<=x<=100 conf.__constraints__.double_param1: conf.__constraints__.str_param0: (default,mode0,mode1) conf.__constraints__.vector_param0: (dog,monkey,pheasant,cat) conf.__constraints__.vector_param1: (pita,gora,switch)
モーションエディタ/シミュレータ
動力学シミュレータ
統合開発プラットフォーム
産総研が提供するRTC集
東京オープンソースロボティクス協会
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
このドキュメントではコンポーネントごとの設定を行うファイルの設定項目を説明します。 このファイル名称は任意の名前をつけることができますが、便宜上 component.conf とします。 component.conf は以下のように rtc.conf 内でコンポーネントのカテゴリ名とコンポーネント名やインスタンス名をキーとするオプションで指定します。
サンプルに含まれる ConsoleIn コンポーネントを例にして、実際の指定方法を示します。
基本設定
Basic Profile
RTCのBasic Profile (RTCBuilderの基本タブで設定する項目) の以下の項目は、component.conf で値を上書きすることができます。
実行コンテキストオプション
exec_cxt.periodic.type
Periodic型ExecutionContextの指定。 使用するECの型を指定します。以下の方が利用できます。
その他のEC
exec_cxt.periodic.rate
ExecutionContextの実行周期
このオプションはRTC特有のECの周期を指定します。このECの実行周期は、元のRTCのデフォルトのECレートを上書きします。
exec_cxt.sync_transition
exec_cxt.sync_activation
exec_cxt.sync_deactivation
exec_cxt.sync_reset
状態遷移モードの指定。 RTCはアクティブ化、非アクティブ化、およびリセットにより状態が遷移します。 一部の実行コンテキストは、メインロジックを異なるスレッドで実行します。 これらのフラグが YES に設定されている場合、アクティブ化、非アクティブ化、およびリセットは同期して実行されます。 つまり、これらのフラグが YES の場合、状態遷移の完了後にアクティブ化/非アクティブ化/リセット処理から返ります。
"synchronous_transition" は、同期遷移フラグを他のすべての同期遷移フラグに設定します(synchronous_activation / deactivation / resetting)。
exec_cxt.transition_timeout
exec_cxt.activation_timeout
exec_cxt.deactivation_timeout
exec_cxt.reset_timeout
同期遷移時のタイムアウト時間。 同期遷移フラグをYESに設定すると、タイムアウト設定が利用可能になります。 "transition_timeout" が設定されている場合、値はアクティブ化/非アクティブ化およびリセットの他のすべてのタイムアウトに設定されます
exec_cxt.cpu_affinity
ECのCPU affinity (割当)の設定。 このオプションは、ECを特定のCPUにバインドします。 オプションは、CPU IDを識別するために、1つ以上のコンマ区切りの番号でなければなりません。 CPU IDは0から始まり、最大数はCPUコアの数-1です。 無効なCPU IDを指定すると、すべてのCPUがECに使用されます。
execution_contexts
実行コンテキストの指定。 RTCは、0個以上の実行コンテキストにアタッチできます。 "execution_contexts" オプションは、RTC固有にアタッチするECとその名前を指定します。 オプションが指定されていない場合、ECに関連する内部グローバルオプションまたはrtc.confオプションが使用されます。 Noneを指定すると、ECは作成されません。 指定可能なECの種類は、"exec_cxt.type" で指定できるものと同じです。 また、ECの種類を指定すると同時に、その名前も指定することができます。 名前は、ECの周期などを指定するオプションのキーとしてに利用されます。
ec.<EC name>.rate
ec.<EC name>.synch_transition
ec.<EC name>.transition_timeout
EC 特有の設定。 各ECは独自のコンフィグレーションを持つことができます。 ECタイプ名またはECインスタンス名を使用して、個々の構成を指定できます。 接続されたECは、<ECタイプ名>(<ECインスタンス名>)のような "execution_context" オプションで指定されます。 EC固有のオプションは、次のように指定できます。
ポート設定
InPort オプション
OutPort オプション
サービスポートオプション
RTSystemEditorのコンフィギュレーションセットGUI設定
コンフィギュレーションパラメータは、RTSystemEditorのコンフィギュレーションセット設定ダイアログのGUIウィジェットから操作可能です。 通常、RTCBuilderでRTCを設計する場合、各パラメーターに割り当てるGUIウィジェットの種類を指定できますが、component.confからGUIウィジェットの割り当てを指定することもできます。
利用可能なウィジェット [widget] の一覧
書式
書式詳細
例
利用可能な制約条件 [constraints] の一覧
書式
書式詳細
制約指定例