diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp index 3d71420100273fb9843222dbadc07a3ed154a9f9..9e912311f0a389f49853e8ba4d1e8b1a50b21806 100644 --- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp +++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp @@ -314,6 +314,19 @@ namespace armarx ); ARMARX_CHECK_EXPRESSION(ctrl); unit->pt = ctrl; + + NJointHolonomicPlatformRelativePositionControllerConfigPtr configRelativePositionCtrlCfg = new NJointHolonomicPlatformRelativePositionControllerConfig; + configRelativePositionCtrlCfg->platformName = _module<RobotData>().getRobotPlatformName(); + auto ctrlRelativePosition = NJointHolonomicPlatformRelativePositionControllerPtr::dynamicCast( + _module<ControllerManagement>().createNJointController( + "NJointHolonomicPlatformRelativePositionController", configName + "_RelativePositionContoller", + configRelativePositionCtrlCfg, false, true + ) + ); + ARMARX_CHECK_EXPRESSION(ctrlRelativePosition); + unit->pt = ctrl; + unit->relativePosCtrl = ctrlRelativePosition; + unit->platformSensorIndex = _module<Devices>().getSensorDevices().index(_module<RobotData>().getRobotPlatformName()); //add addUnit(std::move(unit));