diff --git a/source/armarx/navigation/components/navigator/Component.cpp b/source/armarx/navigation/components/navigator/Component.cpp index 3509d2f331fd0408d1cbe57d47c6a6aaa094f778..d1d6abb442b1cc0a9670f239743ec660efb63610 100644 --- a/source/armarx/navigation/components/navigator/Component.cpp +++ b/source/armarx/navigation/components/navigator/Component.cpp @@ -170,14 +170,7 @@ namespace armarx::navigation::components::navigator .humanReader = &humanReaderPlugin->get(), .objectPoseClient = ObjectPoseClientPluginUser::getClient()}; - const std::string robotName = getControlComponentPlugin() - .getRobotUnitPlugin() - .getRobotUnit() - ->getKinematicUnit() - ->getRobotName(); - - const server::scene_provider::SceneProvider::Config cfg{.robotName = robotName}; - sceneProvider.emplace(srv, cfg); + sceneProvider.emplace(srv, params.sceneCfg); } initializeScene(); @@ -491,6 +484,11 @@ namespace armarx::navigation::components::navigator "If the executor is disabled, the navigator will only plan the trajectory " "but won't execute it."); + def->required(params.sceneCfg.robotName, "p.scene.robotName"); + def->optional(params.sceneCfg.staticCostmapProviderName, "p.scene.staticCostmapProviderName"); + def->optional(params.sceneCfg.staticCostmapName, "p.scene.staticCostmapName"); + def->optional(params.sceneCfg.humanProviderName, "p.scene.humanProviderName"); + return def; } diff --git a/source/armarx/navigation/components/navigator/Component.h b/source/armarx/navigation/components/navigator/Component.h index 5e552d7f9fd6ee7d42a964d3598da1e9ec73499d..e601f7960ab669d17e7e84f8b63ee3851910eea8 100644 --- a/source/armarx/navigation/components/navigator/Component.h +++ b/source/armarx/navigation/components/navigator/Component.h @@ -223,6 +223,8 @@ namespace armarx::navigation::components::navigator { float occupiedGridThreshold{0.55F}; bool disableExecutor{false}; + + server::scene_provider::SceneProvider::Config sceneCfg; }; Parameters params;