mc_rtc::Configuration
設定mc_rtcの全般オプションは、使用するインターフェイスにかかわらず、お使いのシステム内にある設定ファイルで定義されています。また、インターフェイスによっては、別の設定ファイルを指定することもできます(通常、コマンドラインで指定)。
このセクションでは、設定ファイルの読み込み元と、このファイルで使用可能な主なオプションについて説明します。
mc_rtcによって、以下の2つのファイルが系統的に読み取られます(ファイルが存在する場合)。
$INSTALL_PREFIX/etc/mc_rtc.yaml
$HOME/.config/mc_rtc/mc_rtc.yaml
%APPDATA%/mc_rtc/mc_rtc.yaml
インターフェイスによっては、追加の設定ファイルが読み込まれる場合があります。詳細については、インターフェイスのドキュメントを参照してください。
エントリ | 説明 | 例/デフォルト |
---|---|---|
Main entries |
このエントリは、通常考えられるほとんどのニーズをカバーします。 | |
MainRobot | このエントリは、すべてのコントローラーで使用されるメインロボットを指定します。ほとんどのインターフェイスは、どのモジュールを使用すべきかをシミュレーション環境に基づいて推測することはできません。そのため、シミュレーション環境に応じてユーザーがモジュールを指定する必要があります。 |
または |
Enabled | 有効なコントローラーのリストを提供します。利用可能なサンプルコントローラーのリストを参照してください。. | |
Default | 有効なコントローラーのうちどれを最初に起動するかを選択します。なお、デフォルトとして指定されたコントローラーが有効になっていない場合や、デフォルトのコントローラーが指定されていない場合は、リスト内で最初に登場する有効なコントローラーがデフォルトコントローラーとして選択されます。 | |
Timestep | コントローラーのタイムステップ | |
Log | コントローラーの出力をログに記録するかどうかを指定します。 | |
InitAttitudeFromSensor | センサーとロボットモジュールのどちらでロボットの姿勢を初期化するかを指定します。 | |
InitAttitudeSensor | ロボットの姿勢の初期化に使用されるボディセンサーの名前。名前が空の場合、デフォルトのボディセンサーが使用されます。このエントリは、InitAttitudeFromSensor=trueの場合にだけ使用されます。 |
|
ロギングオプション |
T以下のオプションは、mc_rtcによってコントローラーのアクティビティがどのようにログに記録されるかを規定します。ロギングが無効の場合は効果がありません。 | |
LogDirectory | このオプションは、ログファイルをどこに保存するかを指定します。デフォルトではシステムの一時ディレクトリに保存されます。 | |
LogTemplate | このオプションは、ログのプレフィックスを指定します。ログファイルには以下のように名前が付けられます。 [LogTemplate]-[ControllerName]-[date].log |
|
LogPolicy | このオプションは、ロギング関連のディスク操作を別スレッドで実行するか("threaded"))、run()ループと同じスレッドで実行するか("non-threaded")を指定します。デフォルトではnon-threadedポリシーが使用されます。リアルタイムシステムではthreadedポリシーの使用を強く推奨します。 | |
モジュール読み込みオプション |
以下のオプションは、mc_rtcによって追加モジュール(コントローラー、ロボットモジュール、観測器、プラグインの追加モジュール)がライブラリからどのように読み込まれるかを規定します。 | |
ControllerModulePaths | このオプションは、mc_rtcにコントローラーモジュールを検索させる追加のディレクトリを指定します。 | |
RobotModulePaths | このオプションは、mc_rtcにロボットモジュールを検索させる追加のディレクトリを指定します。 | |
ObserverModulePaths | このオプションは、mc_rtcに状態観測モジュールを検索させる追加のディレクトリを指定します。 | |
GlobalPluginPaths | このオプションは、mc_rtcにグローバルプラグインを検索させる追加のディレクトリを指定します。 |
mc_rtcによって、以下の2つのファイルが系統的に読み取られます(ファイルが存在する場合)。
${MC_PLUGINS_RUNTIME_INSTALL_PREFIX}/etc/ROS.yaml
$HOME/.config/mc_rtc/plugins/ROS.yaml
%APPDATA%/mc_rtc/plugins/ROS.yaml
ROSプラグインの設定の各セクションとそのエントリを以下の表に示します。
エントリ | 説明 | 例/デフォルト |
---|---|---|
パブリッシュに関するエントリ |
以下のオプションは、ROS内におけるロボットの状態のパブリッシュにのみ影響します。 | |
control | ロボットの制御状態(mc_rtcのコントローラー出力)をパブリッシュするかどうか | |
env | 他のロボットの制御状態(メインロボット以外のロボットに関するmc_rtcのコントローラー出力)をパブリッシュするかどうか | |
real | ロボットの観測状態(観測器パイプラインから得られたロボットの状態)をパブリッシュするかどうか | |
timestep | ロボットの制御状態と実際の状態をパブリッシュする頻度 |