35 Eigen::MatrixXd &A = getA();
36 Eigen::VectorXd &lb = getLowerBounds();
37 Eigen::VectorXd &ub = getUpperBounds();
40 A.noalias() = mpc.
Aas_;
43 lb.resize(preview_horizon_length * 2);
44 ub.resize(preview_horizon_length * 2);
46 for (std::size_t i = 0; i < preview_horizon_length; ++i)
72 if (getActualActiveSet().size() == 0)
79 "The number of base velocity variables is not supposed to change.");
81 getActiveSetGuess() = getActualActiveSet();
Abstract base class (for control problems)
void form(const humoto::SolutionStructure &sol_structure, const humoto::Model &model_base, const humoto::ControlProblem &control_problem)
Form the task.
std::size_t getPreviewHorizonLength() const
Get preview horizon length.
virtual void guessActiveSet(const humoto::SolutionStructure &sol_structure, const humoto::Model &model_base, const humoto::ControlProblem &control_problem)
Initialize active set guess with defaults.
#define HUMOTO_ASSERT(condition, message)
Analog of 'sol_structure' struct in Octave code. [determine_solution_structure.m].
etools::Matrix2 getNominalBaseAccelerationBounds(const std::size_t interval_index) const
Get nominal base acceleration bounds for a given interval.
base acceleration bounding task
std::size_t sampling_time_ms_
Sampling time in milliseconds (T_ms)
std::size_t subsampling_time_ms_
Subsampling time in milliseconds (Ts_ms)
void guessActiveSet(const humoto::SolutionStructure &sol_structure, const humoto::Model &model_base, const humoto::ControlProblem &control_problem)
Initialize active set guess with defaults.
The root namespace of HuMoTo.
Instances of this class are passed to a virtual method 'humoto::TaskBase::form()', so even though this class is basically useless in its present form we cannot avoid its definition using a template.
TaskBaseAccelerationBounds()