VMeNaiveSdMinimizer::VMeNaiveSdMinimizer(AggregatorInitializer& init) : maxSdSteps(init.get_maxSdSteps()), sdStepFactor(init.get_sdStepFactor()), sdConvergenceTolerance(init.get_sdConvergenceTolerance()) { init.minimizerBindingSafetyCheck(); model = dynamic_cast<VMeModel*>(init.model); init.bindIntoAggregator(this); }
VMeNmpcKernel::VMeNmpcKernel(AggregatorInitializer& init) : targetDistanceTolerance(init.get_targetDistanceTolerance()) { // TODO Safety checks init.aggregatorCompletionSafetyCheck(); model = init.model; minimizer = init.minimizer; planner = init.planner; cmdsExecutedFromCurrentHorizon = model->get_horizonSize(); if (init.logger == nullptr) { noOpLogger = std::make_unique<VMeLogger>(); logger = noOpLogger.get(); } else logger = init.logger; logger->logConstants(init); }
FakeVMeModel::FakeVMeModel(AggregatorInitializer& init, std::string& historyString) : eventHistory(historyString), N(init.get_nmpcHorizon()) { init.bindIntoAggregator(this); }