public MomentumBasedControllerFactory(ContactableBodiesFactory contactableBodiesFactory, SideDependentList<String> footForceSensorNames, SideDependentList<String> footContactSensorNames, SideDependentList<String> wristSensorNames, WalkingControllerParameters walkingControllerParameters, ArmControllerParameters armControllerParameters, CapturePointPlannerParameters capturePointPlannerParameters, HighLevelState initialBehavior) { this.footSensorNames = footForceSensorNames; this.footContactSensorNames = footContactSensorNames; this.wristSensorNames = wristSensorNames; this.contactableBodiesFactory = contactableBodiesFactory; this.initialBehavior = initialBehavior; this.walkingControllerParameters = walkingControllerParameters; this.capturePointPlannerParameters = capturePointPlannerParameters; commandInputManager = new CommandInputManager(ControllerAPIDefinition.getControllerSupportedCommands()); statusOutputManager = new StatusMessageOutputManager(ControllerAPIDefinition.getControllerSupportedStatusMessages()); managerFactory = new HighLevelControlManagerFactory(statusOutputManager, registry); managerFactory.setArmControlParameters(armControllerParameters); managerFactory.setCapturePointPlannerParameters(capturePointPlannerParameters); managerFactory.setWalkingControllerParameters(walkingControllerParameters); }