24 :
TaskGIB(
"TaskBaseVelocityReference", gain)
39 Eigen::VectorXd &b = getB();
40 Eigen::VectorXd &gains = getIGains();
42 I.resize(loc_var.length_);
43 b.resize(loc_var.length_);
44 gains.setConstant(loc_var.length_, getGain());
46 for (std::size_t i = 0; i < loc_var.length_/2; ++i)
48 I[i*2] = loc_var.offset_ + i*2;
49 I[i*2+1] = loc_var.offset_ + i*2 + 1;
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.
static const char * BASE_VEL_VARIABLES_ID
TaskBaseVelocityReference(const double gain=1.0)
Analog of 'sol_structure' struct in Octave code. [determine_solution_structure.m].
Task for minimizing base velocity against base reference velocity.
Eigen::Matrix< unsigned int, Eigen::Dynamic, 1 > IndexVector
Location getSolutionPartLocation(const std::string &id) const
Get location of a data in the solution vector.
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.
etools::Vector2 getBaseReferenceVelocity(const std::size_t interval_index) const
Get base reference velocity.
Location of a data chunk (offset + length).