mc_rtc::Configuration
設定mc_rtcでは、すべてのインタフェースは mc_control::MCGlobalController
クラスをコントローラの初期化及び実行に使用します。より詳細には、mc_control::MCGlobalController::run()
が実行周期毎に実行されます。
プラグインシステムはこのrun関数の最初と最後の両方または一方で実行されるコンポーネントを追加する機能を提供します。
これらのプラグインは以下のような様々な用途で利用が可能です。
mc_rtcでのプラグイン実装方法の詳細は new plugin tutorial で確認できます。
プラグインで利用可能なオプションやプラグインの利用方法は各プラグインのドキュメントで確認できます。このチュートリアルではこれらのプラグインの設定方法や有効化の方法を説明します。
プラグインは mc_rtc configuration の Plugins
リストに追加することで有効化できます。例えば以下のように記述します。
Plugins: [Joystick, OculusVR]
ここにリストアップされたプラグインは指定されているコントローラに関係なく有効化されます。
以下の2つのファイルがmc_rtcによって読み込まれます(存在する場合)。
${PLUGIN_RUNTIME_INSTALL_PREFIX}/etc/${PLUGIN_NAME}.yaml
$HOME/.config/mc_rtc/plugins/${PLUGIN_NAME}.yaml
%APPDATA%/mc_rtc/plugins/${PLUGIN_NAME}.yaml
ここで ${PLUGIN_RUNTIME_INSTALL_PREFIX}
はLinux/macOSにおいては ${INSTALL_PREFIX}/lib/mc_plugins
であり、Windowsにおいては ${INSTALL_PREFIX}/bin/mc_plugins
を意味します。
プラグインをコントローラレベルで有効化するにはコントローラの設定に Plugins
エントリを追加します。
大域的な設定ファイルに加えて、以下のファイルが存在する場合プラグインの設定に使用されます。
${CONTROLLER_RUNTIME_INSTALL_PREFIX}/etc/${CONTROLLER_NAME}/plugins/${PLUGIN_NAME}.yaml
$HOME/.config/mc_rtc/controllers/${CONTROLLER_NAME}/plugins/${PLUGIN_NAME}.yaml
%APPDATA%/mc_rtc/controllers/${CONTROLLER_NAME}/plugins/${PLUGIN_NAME}.yaml
ここで ${CONTROLLER_RUNTIME_INSTALL_PREFIX}
はLinux/macOSにおいては ${INSTALL_PREFIX}/lib/mc_controllers
でありWindowsにおいては ${INSTALL_PREFIX}/bin/mc_controllers
を指します。