humoto
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
humoto::TaskASB Class Referenceabstract

Detailed Description

Task: A*S*x = b.

Definition at line 554 of file task.h.

#include <task.h>

Inheritance diagram for humoto::TaskASB:
Inheritance graph

Public Member Functions

void addATAandATb (Eigen::MatrixXd &H, Eigen::VectorXd &g) const
 Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g. More...
 
void checkConsistency () const
 Check consistency of the constraints. More...
 
void computeViolations (ViolationsConstraints &violations, const Location &location, const Solution &solution) const
 Compute violations given a solution vector. More...
 
void copyBodyTo (Eigen::MatrixXd &A, const Location &location) const
 Copy body to the given matrix. More...
 
void copyBoundsTo (Eigen::VectorXd &lb, Eigen::VectorXd &ub, const Location &location) const
 Copy bounds to given vectors. More...
 
void copyNegativeBodyTo (Eigen::MatrixXd &A, const Location &location) const
 Copy body to the given matrix. More...
 
virtual std::size_t copyTo (ContainerILU &container, const std::size_t constraints_offset) const
 Set constraints. More...
 
virtual std::size_t copyTo (ContainerAL &container, const std::size_t constraints_offset) const
 Copy constraints to a container. More...
 
std::size_t copyTo (ContainerALU &container, const std::size_t constraints_offset) const
 Set constraints. More...
 
std::size_t copyTo (ContainerAB &container, const std::size_t constraints_offset) const
 Set constraints. More...
 
void determineActiveSet (ActiveSetConstraints &active_set, const Location &location, const Solution &solution) const
 Determine active set given a solution vector. More...
 
Eigen::MatrixXd & getA ()
 Get matrix A from general constraints: 'A*x = b', 'lb <= A*x <= ub'. More...
 
const Eigen::MatrixXd & getA () const
 Get matrix A from general constraints: 'A*x = b', 'lb <= A*x <= ub'. More...
 
void getATAandATb (Eigen::MatrixXd &H, Eigen::VectorXd &g) const
 Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g. More...
 
Eigen::VectorXd & getB ()
 Get vector b from equalities: 'A*x = b' or 'x = b'. More...
 
const Eigen::VectorXd & getB () const
 Get vector b from equalities: 'A*x = b' or 'x = b'. More...
 
Location getCopyLocation (const std::size_t number_of_constraints, const std::size_t constraints_offset, const std::size_t number_of_variables) const
 Computes location of the copied constraints in a container and verifies their consistency. More...
 
const std::string getDescription () const
 Get description of the task. More...
 
double getGain () const
 Returns gain. More...
 
std::size_t getNumberOfConstraints () const
 Returns number of constraints in the task. More...
 
std::size_t getNumberOfVariables () const
 Returns number of variables in the task. More...
 
std::ptrdiff_t getOffset () const
 Get offset of body part in the constriaints. More...
 
double getProduct (const std::size_t i, const Eigen::VectorXd &vector) const
 Compute A(i,:) * vector. More...
 
ConstraintType::Type getType () const
 Returns type of the constraints. More...
 
bool isEquality () const
 Check properties of the constriaints. More...
 
bool isSimple () const
 Check properties of the constriaints. More...
 
bool isTwoSidedInequality () const
 Check properties of the constriaints. More...
 
void log (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="task") const
 Log task. More...
 
void readConfig (t_Reader &reader, const bool crash_on_missing_entry=default_crash_on_missing_entry_)
 Read configuration (assuming the configuration node to be in the root). More...
 
void readConfig (t_Reader &reader, const std::string &node_name, const bool crash_on_missing_entry=default_crash_on_missing_entry_)
 Read configuration (assuming the configuration node to be in the root). More...
 
void readConfig (t_Reader &reader, const char *node_name, const bool crash_on_missing_entry=default_crash_on_missing_entry_)
 Read configuration (assuming the configuration node to be in the root). More...
 
void readConfig (const std::string &file_name, const bool crash_on_missing_entry=default_crash_on_missing_entry_)
 Read configuration (assuming the configuration node to be in the root). More...
 
void readConfig (const std::string &file_name, const std::string &node_name, const bool crash_on_missing_entry=default_crash_on_missing_entry_)
 Read configuration (assuming the configuration node to be in the root). More...
 
void readConfig (const std::string &file_name, const char *node_name, const bool crash_on_missing_entry=default_crash_on_missing_entry_)
 Read configuration (assuming the configuration node to be in the root). More...
 
void readNestedConfig (t_Reader &reader, const std::string &node_name, const bool crash_on_missing_entry=default_crash_on_missing_entry_)
 Read nested configuration node. More...
 
void setDescription (const std::string &description)
 Set description of the task. More...
 
void setGain (const double gain)
 Sets gain. More...
 
void setOffset (const std::ptrdiff_t offset)
 Set offset of body part in the constriaints. More...
 
void writeConfig (t_Writer &writer) const
 Write configuration. More...
 
void writeConfig (t_Writer &writer, const std::string &node_name) const
 Write configuration. More...
 
void writeConfig (const std::string &file_name) const
 Write configuration. More...
 
void writeConfig (const std::string &file_name, const std::string &node_name) const
 Write configuration. More...
 
void writeNestedConfig (t_Writer &writer) const
 Write nested configuration node. More...
 
void writeNestedConfig (t_Writer &writer, const std::string &node_name) const
 Write nested configuration node. More...
 

Protected Member Functions

void addATA (Eigen::MatrixXd &H) const
 Compute 'A^T * A' for general equality constaints and save or add the result to H. More...
 
void copyEqualityBoundsTo (Eigen::VectorXd &b, const Location &location) const
 Copy b. More...
 
void finalize ()
 
virtual void form (const humoto::SolutionStructure &sol_structure, const humoto::Model &model_base, const humoto::ControlProblem &control_problem)=0
 Form the task. More...
 
ActiveSetConstraintsgetActiveSetGuess ()
 Get active set guess. More...
 
const ActiveSetConstraintsgetActualActiveSet () const
 Get actual active set. More...
 
void getATA (Eigen::MatrixXd &H) const
 Compute 'A^T * A' for general equality constaints and save or add the result to H. More...
 
const std::string & getConfigSectionID () const
 Return the default name of a configuration node corresponding to this class. More...
 
virtual std::size_t getNumberOfEntries () const=0
 Get number of entries in the corresponding configuration node. More...
 
virtual void guessActiveSet (const humoto::SolutionStructure &sol_structure, const humoto::Model &model_base, const humoto::ControlProblem &control_problem)
 Initialize active set guess with defaults. More...
 
void logBody (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="constraints") const
 Log body. More...
 
void logBounds (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="constraints") const
 Log bounds. More...
 
virtual void logTask (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="task") const
 Log task. More...
 
void markAsUnmodified ()
 By default the task is assumed to be modified. Use this function to mark it as unmodified to avoid unnecessary recomputations. More...
 
void reset (const std::size_t number_of_constraints=0, const std::size_t number_of_variables=0, const bool initialize_matrices=false)
 Initialize constraints. More...
 
void resetBody (const std::size_t number_of_constraints, const bool initialize_matrices=false)
 Initialize A. More...
 
void resetBounds (const std::size_t number_of_constraints=0, const bool initialize_matrices=false)
 Reset bounds of constraints (b, lb, ub) More...
 
virtual void setDefaults ()
 
void setNumberOfVariables (const std::size_t number_of_variables)
 Set number of variables. More...
 

Protected Attributes

Eigen::MatrixXd A_
 
ActiveSetConstraints active_set_actual_
 
Eigen::VectorXd b_
 
double gain_
 
bool is_modified_
 
std::size_t number_of_variables_
 
std::ptrdiff_t offset_
 

Static Protected Attributes

static const bool default_crash_on_missing_entry_
 

Member Function Documentation

◆ addATA()

void humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::addATA ( Eigen::MatrixXd &  H) const
inlineprotectedinherited

Compute 'A^T * A' for general equality constaints and save or add the result to H.

Parameters
[in,out]Hleft lower triangular part of the result.
Attention
Only the left lower triangular part of H is formed. Apply appropriate conversion with etools::convertLLTtoSymmetric() before using H.

Definition at line 641 of file constraints_mixins.h.

◆ addATAandATb()

void humoto::constraints::ConstraintsASB< TaskBase >::addATAandATb ( Eigen::MatrixXd &  H,
Eigen::VectorXd &  g 
) const
inlinevirtualinherited

Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.

Parameters
[in,out]Hleft lower triangular part of the result.
[in,out]gresult
Attention
Only the left lower triangular part of H is formed. Apply appropriate conversion with etools::convertLLTtoSymmetric() before using H.

Reimplemented from humoto::constraints::ConstraintsBase.

Definition at line 485 of file constraints.h.

◆ checkConsistency()

void humoto::constraints::ConstraintsASB< TaskBase >::checkConsistency ( ) const
inlinevirtualinherited

Check consistency of the constraints.

Implements humoto::constraints::ConstraintsBase.

Definition at line 460 of file constraints.h.

◆ computeViolations()

void humoto::constraints::ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyASMixin< BoundsBMixin< TaskBase > > > >::computeViolations ( ViolationsConstraints violations,
const Location location,
const Solution solution 
) const
inlinevirtualinherited

Compute violations given a solution vector.

Parameters
[in,out]violationsviolations
[in]locationlocation of the constraints in the active set
[in]solutionsolution vector

Implements humoto::constraints::ConstraintsBase.

Definition at line 1333 of file constraints_mixins.h.

◆ copyBodyTo()

void humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::copyBodyTo ( Eigen::MatrixXd &  A,
const Location location 
) const
inlinevirtualinherited

Copy body to the given matrix.

Parameters
[in]A
[in]locationoffset and length

Implements humoto::constraints::ConstraintsBase.

Definition at line 689 of file constraints_mixins.h.

◆ copyBoundsTo()

void humoto::constraints::BoundsBMixin< TaskBase >::copyBoundsTo ( Eigen::VectorXd &  lb,
Eigen::VectorXd &  ub,
const Location location 
) const
inlinevirtualinherited

Copy bounds to given vectors.

Parameters
[in]lb
[in]ub
[in]locationoffset and length

Implements humoto::constraints::ConstraintsBase.

Definition at line 190 of file constraints_mixins.h.

◆ copyEqualityBoundsTo()

void humoto::constraints::BoundsBMixin< TaskBase >::copyEqualityBoundsTo ( Eigen::VectorXd &  b,
const Location location 
) const
inlineprotectedinherited

Copy b.

Parameters
[in,out]b
[in]location

Definition at line 163 of file constraints_mixins.h.

◆ copyNegativeBodyTo()

void humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::copyNegativeBodyTo ( Eigen::MatrixXd &  A,
const Location location 
) const
inlinevirtualinherited

Copy body to the given matrix.

Parameters
[in]A
[in]locationoffset and length

Implements humoto::constraints::ConstraintsBase.

Definition at line 705 of file constraints_mixins.h.

◆ copyTo() [1/4]

virtual std::size_t humoto::constraints::ConstraintsBase::copyTo ( ContainerILU container,
const std::size_t  constraints_offset 
) const
inlinevirtualinherited

◆ copyTo() [2/4]

virtual std::size_t humoto::constraints::ConstraintsBase::copyTo ( ContainerAL container,
const std::size_t  constraints_offset 
) const
inlinevirtualinherited

Copy constraints to a container.

Parameters
[in,out]container
[in]constraints_offsetfirst row offset
Returns
offset of the end of added constraints

Reimplemented in humoto::constraints::CopyTwoSidedInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyASMixin< BoundsLUMixin< TaskBase > > > > > >, humoto::constraints::CopyTwoSidedInequalityToALMixin< CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyIMixin< BoundsLUMixin< TaskBase > > > > > > >, humoto::constraints::CopyTwoSidedInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyGIMixin< BoundsLUMixin< TaskBase > > > > > >, humoto::constraints::CopyTwoSidedInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyAMixin< BoundsLUMixin< TaskBase > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyGIMixin< BoundsLUMixin< TaskBase > > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyAMixin< BoundsUMixin< TaskBase > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyASMixin< BoundsLUMixin< TaskBase > > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyLowerInequalityToALMixin< CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyIMixin< BoundsLUMixin< TaskBase > > > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyASMixin< BoundsUMixin< TaskBase > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyAMixin< BoundsLUMixin< TaskBase > > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyGIMixin< BoundsUMixin< TaskBase > > > > > >, humoto::constraints::CopyUpperInequalityToALMixin< CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationUMixin< ActiveSetDeterminationUMixin< BodyIMixin< BoundsUMixin< TaskBase > > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyAMixin< BoundsLMixin< TaskBase > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyASMixin< BoundsLUMixin< TaskBase > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyIMixin< BoundsLUMixin< TaskBase > > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< CopySimpleToILUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyIMixin< BoundsLMixin< TaskBase > > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyASMixin< BoundsLMixin< TaskBase > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyGIMixin< BoundsLUMixin< TaskBase > > > > > >, humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLMixin< ActiveSetDeterminationLMixin< BodyGIMixin< BoundsLMixin< TaskBase > > > > > >, and humoto::constraints::CopyLowerInequalityToALMixin< CopyAnyToALUMixin< ViolationsComputationLUMixin< ActiveSetDeterminationLUMixin< BodyAMixin< BoundsLUMixin< TaskBase > > > > > >.

Definition at line 472 of file constraints_base.h.

◆ copyTo() [3/4]

std::size_t humoto::constraints::CopyAnyToALUMixin< CopyEqualityToABMixin< ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyASMixin< BoundsBMixin< TaskBase > > > > > >::copyTo ( ContainerALU container,
const std::size_t  constraints_offset 
) const
inlinevirtualinherited

Set constraints.

Parameters
[in,out]containernew constraints
[in]constraints_offsetfirst row offset
Returns
offset of the end of added constraints

Reimplemented from humoto::constraints::ConstraintsBase.

Definition at line 615 of file constraints_base.h.

◆ copyTo() [4/4]

std::size_t humoto::constraints::CopyEqualityToABMixin< ViolationsComputationBMixin< ActiveSetDeterminationBMixin< BodyASMixin< BoundsBMixin< TaskBase > > > > >::copyTo ( ContainerAB container,
const std::size_t  constraints_offset 
) const
inlinevirtualinherited

Set constraints.

Parameters
[in,out]containernew constraints
[in]constraints_offsetfirst row offset
Returns
offset of the end of added constraints

Reimplemented from humoto::constraints::ConstraintsBase.

Definition at line 777 of file constraints_base.h.

◆ determineActiveSet()

void humoto::constraints::ActiveSetDeterminationBMixin< BodyASMixin< BoundsBMixin< TaskBase > > >::determineActiveSet ( ActiveSetConstraints active_set,
const Location location,
const Solution solution 
) const
inlinevirtualinherited

Determine active set given a solution vector.

Parameters
[in,out]active_setactive set
[in]locationlocation of the constraints in the active set
[in]solutionsolution vector

Implements humoto::constraints::ConstraintsBase.

Definition at line 1187 of file constraints_mixins.h.

◆ finalize()

void humoto::GeneralTaskBaseMixin< constraints::ConstraintsASB< TaskBase > >::finalize ( )
inlineprotectedvirtualinherited

Reimplemented from humoto::config::CommonConfigurableBase< true >.

Definition at line 337 of file task.h.

◆ form()

virtual void humoto::TaskBase::form ( const humoto::SolutionStructure sol_structure,
const humoto::Model model_base,
const humoto::ControlProblem control_problem 
)
protectedpure virtualinherited

Form the task.

Parameters
[in]sol_structurestructure of the solution
[in]model_basemodel
[in]control_problemcontrol problem
Attention
This function is called automatically and must be defined in derived tasks.

Implemented in humoto::TaskInfeasibleInequality, humoto::TaskZeroSelectedVariables, humoto::pepper_ik::TaskBaseOrientation< FIXED_WHEELS|ROOT_PLANAR >, humoto::pepper_ik::TaskBaseCoMTracking< FIXED_WHEELS|ROOT_PLANAR >, humoto::pepper_ik::TaskBaseCoMTracking< t_features >, humoto::pepper_ik::TaskBaseOrientation< t_features >, humoto::pepper_ik::TaskTagOrientation< t_features >, humoto::TaskZeroVariables, humoto::pepper_ik::TaskTagPose3Dof< t_features >, humoto::pepper_ik::TaskTagAngularVelocity< t_features >, humoto::pepper_ik::TaskTagCompleteVelocity< t_features >, humoto::pepper_ik::TaskTagPose< t_features >, humoto::pepper_ik::TaskBodyCoMTracking< t_features >, humoto::pepper_ik::TaskJointsReference< t_features >, humoto::wpg04::TaskFootstepBounds, humoto::wpg04::TaskCoPVelocity, humoto::wpg04::TaskCoMVelocity, humoto::wpg04::TaskTerminalConstraint, humoto::wpg04::TaskCoPBounds, humoto::pepper_ik::TaskFixArms< t_features >, humoto::pepper_ik::TaskFixHead< t_features >, humoto::pepper_mpc::TaskBaseJerkMinimization, humoto::pepper_mpc::TaskBasePositionReference, humoto::pepper_mpc::TaskBaseVelocityReference, humoto::pepper_mpc::TaskCoPCentering, humoto::pepper_ik::TaskJointsBounds< t_features >, humoto::pepper_mpc::TaskBaseAccelerationBounds, humoto::pepper_mpc::TaskBaseVelocityBounds, humoto::pepper_mpc::TaskBodyPositionBounds, humoto::pepper_mpc::TaskCoPPositionBounds, and humoto::pepper_mpc::TaskBodyPositionReference.

◆ getA() [1/2]

Eigen::MatrixXd& humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::getA ( )
inlineinherited

Get matrix A from general constraints: 'A*x = b', 'lb <= A*x <= ub'.

Returns
matrix A

Definition at line 654 of file constraints_mixins.h.

◆ getA() [2/2]

const Eigen::MatrixXd& humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::getA ( ) const
inlineinherited

Get matrix A from general constraints: 'A*x = b', 'lb <= A*x <= ub'.

Returns
matrix A

Definition at line 660 of file constraints_mixins.h.

◆ getActiveSetGuess()

ActiveSetConstraints& humoto::TaskBase::getActiveSetGuess ( )
inlineprotectedinherited

Get active set guess.

Returns
active set guess.

Definition at line 226 of file task.h.

◆ getActualActiveSet()

const ActiveSetConstraints& humoto::TaskBase::getActualActiveSet ( ) const
inlineprotectedinherited

Get actual active set.

Returns
actual active set.

Definition at line 215 of file task.h.

◆ getATA()

void humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::getATA ( Eigen::MatrixXd &  H) const
inlineprotectedinherited

Compute 'A^T * A' for general equality constaints and save or add the result to H.

Parameters
[in,out]Hleft lower triangular part of the result.
Attention
Only the left lower triangular part of H is formed. Apply appropriate conversion with etools::convertLLTtoSymmetric() before using H.

Definition at line 634 of file constraints_mixins.h.

◆ getATAandATb()

void humoto::constraints::ConstraintsASB< TaskBase >::getATAandATb ( Eigen::MatrixXd &  H,
Eigen::VectorXd &  g 
) const
inlinevirtualinherited

Compute 'A^T * A' for general equality constaints and save or add the result to H. Compute 'A^T * b' for general equality constaints and save or add the result to g.

Parameters
[in,out]Hleft lower triangular part of the result.
[in,out]gresult
Attention
Only the left lower triangular part of H is formed. Apply appropriate conversion with etools::convertLLTtoSymmetric() before using H.

Reimplemented from humoto::constraints::ConstraintsBase.

Definition at line 472 of file constraints.h.

◆ getB() [1/2]

Eigen::VectorXd& humoto::constraints::BoundsBMixin< TaskBase >::getB ( )
inlineinherited

Get vector b from equalities: 'A*x = b' or 'x = b'.

Returns
Vector b.

Definition at line 176 of file constraints_mixins.h.

◆ getB() [2/2]

const Eigen::VectorXd& humoto::constraints::BoundsBMixin< TaskBase >::getB ( ) const
inlineinherited

Get vector b from equalities: 'A*x = b' or 'x = b'.

Returns
Vector b.

Definition at line 183 of file constraints_mixins.h.

◆ getConfigSectionID()

const std::string& humoto::TaskBase::getConfigSectionID ( ) const
inlineprotectedvirtualinherited

Return the default name of a configuration node corresponding to this class.

Returns
the name
Attention
Implementation of this method is added automatically upon inclusion of define_accessors.h if HUMOTO_CONFIG_SECTION_ID is defined.

Implements humoto::config::CommonConfigurableBase< true >.

Definition at line 122 of file task.h.

◆ getCopyLocation()

Location humoto::constraints::ContainerBase::getCopyLocation ( const std::size_t  number_of_constraints,
const std::size_t  constraints_offset,
const std::size_t  number_of_variables 
) const
inlineinherited

Computes location of the copied constraints in a container and verifies their consistency.

Parameters
[in]number_of_constraintsnumber of added constraints
[in]constraints_offsetoffset in the container
[in]number_of_variablesnumber of variables in the container
Returns
Location

Definition at line 262 of file constraints_base.h.

◆ getDescription()

const std::string humoto::TaskBase::getDescription ( ) const
inlineinherited

Get description of the task.

Returns
description

Definition at line 249 of file task.h.

◆ getGain()

double humoto::GeneralTaskBaseMixin< constraints::ConstraintsASB< TaskBase > >::getGain ( ) const
inlineinherited

Returns gain.

Returns
gain

Definition at line 373 of file task.h.

◆ getNumberOfConstraints()

std::size_t humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::getNumberOfConstraints ( ) const
inlinevirtualinherited

Returns number of constraints in the task.

Returns
number of constraints

Implements humoto::constraints::ContainerBase.

Definition at line 721 of file constraints_mixins.h.

◆ getNumberOfEntries()

virtual std::size_t humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::getNumberOfEntries ( ) const
protectedpure virtualinherited

Get number of entries in the corresponding configuration node.

Returns
number of entries

Implemented in humoto::ConfigurableOptimizationProblem.

◆ getNumberOfVariables()

std::size_t humoto::constraints::ContainerBase::getNumberOfVariables ( ) const
inlineinherited

Returns number of variables in the task.

Returns
number of variables

Definition at line 215 of file constraints_base.h.

◆ getOffset()

std::ptrdiff_t humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::getOffset ( ) const
inlineinherited

Get offset of body part in the constriaints.

Returns
offset

Definition at line 671 of file constraints_mixins.h.

◆ getProduct()

double humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::getProduct ( const std::size_t  i,
const Eigen::VectorXd &  vector 
) const
inlineinherited

Compute A(i,:) * vector.

Parameters
[in]irow index
[in]vectorvector
Returns
result of multiplication

Definition at line 728 of file constraints_mixins.h.

◆ getType()

ConstraintType::Type humoto::constraints::ConstraintsASB< TaskBase >::getType ( ) const
inlinevirtualinherited

Returns type of the constraints.

Returns
type of the constraints

Implements humoto::constraints::ConstraintsBase.

Definition at line 453 of file constraints.h.

◆ guessActiveSet()

virtual void humoto::TaskBase::guessActiveSet ( const humoto::SolutionStructure sol_structure,
const humoto::Model model_base,
const humoto::ControlProblem control_problem 
)
inlineprotectedvirtualinherited

Initialize active set guess with defaults.

Parameters
[in]sol_structurestructure of the solution
[in]model_basemodel
[in]control_problemcontrol problem
Attention
This function is called automatically (after form()) and can be redefined in derfived tasks. It doesn't make sense to redefine it for equality tasks.

Reimplemented in humoto::wpg04::TaskFootstepBounds, humoto::wpg04::TaskCoPBounds, humoto::pepper_mpc::TaskBaseAccelerationBounds, humoto::pepper_mpc::TaskBaseVelocityBounds, humoto::pepper_mpc::TaskCoPPositionBounds, and humoto::pepper_mpc::TaskBodyPositionBounds.

Definition at line 147 of file task.h.

◆ isEquality()

bool humoto::constraints::ConstraintsBase::isEquality ( ) const
inlineinherited

Check properties of the constriaints.

Returns
true/false

Definition at line 523 of file constraints_base.h.

◆ isSimple()

bool humoto::constraints::ConstraintsBase::isSimple ( ) const
inlineinherited

Check properties of the constriaints.

Returns
true/false

Definition at line 529 of file constraints_base.h.

◆ isTwoSidedInequality()

bool humoto::constraints::ConstraintsBase::isTwoSidedInequality ( ) const
inlineinherited

Check properties of the constriaints.

Returns
true/false

Definition at line 535 of file constraints_base.h.

◆ log()

void humoto::TaskBase::log ( humoto::Logger logger,
const LogEntryName parent = LogEntryName(),
const std::string &  name = "task" 
) const
inlineinherited

Log task.

Parameters
[in,out]loggerlogger
[in]parentparent
[in]namename

Definition at line 273 of file task.h.

◆ logBody()

void humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::logBody ( humoto::Logger logger,
const LogEntryName parent = LogEntryName(),
const std::string &  name = "constraints" 
) const
inlineprotectedvirtualinherited

Log body.

Parameters
[in,out]loggerlogger
[in]parentparent
[in]namename

Implements humoto::constraints::ContainerBase.

Definition at line 623 of file constraints_mixins.h.

◆ logBounds()

void humoto::constraints::BoundsBMixin< TaskBase >::logBounds ( humoto::Logger logger,
const LogEntryName parent = LogEntryName(),
const std::string &  name = "constraints" 
) const
inlineprotectedvirtualinherited

Log bounds.

Parameters
[in,out]loggerlogger
[in]parentparent
[in]namename

Implements humoto::constraints::ContainerBase.

Definition at line 149 of file constraints_mixins.h.

◆ logTask()

virtual void humoto::GeneralTaskBaseMixin< constraints::ConstraintsASB< TaskBase > >::logTask ( humoto::Logger logger,
const LogEntryName parent = LogEntryName(),
const std::string &  name = "task" 
) const
inlineprotectedvirtualinherited

Log task.

Parameters
[in,out]loggerlogger
[in]parentparent
[in]namename

Implements humoto::TaskBase.

Definition at line 347 of file task.h.

◆ markAsUnmodified()

void humoto::TaskBase::markAsUnmodified ( )
inlineprotectedinherited

By default the task is assumed to be modified. Use this function to mark it as unmodified to avoid unnecessary recomputations.

Attention
This method should be called from form() method only.
If this function is called on a modified task, the result is undefined.

Definition at line 204 of file task.h.

◆ readConfig() [1/6]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::readConfig ( t_Reader &  reader,
const bool  crash_on_missing_entry = default_crash_on_missing_entry_ 
)
inlineinherited

Read configuration (assuming the configuration node to be in the root).

Parameters
[in]readerconfiguration reader
[in]crash_on_missing_entry

Definition at line 167 of file config.h.

◆ readConfig() [2/6]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::readConfig ( t_Reader &  reader,
const std::string &  node_name,
const bool  crash_on_missing_entry = default_crash_on_missing_entry_ 
)
inlineinherited

Read configuration (assuming the configuration node to be in the root).

Parameters
[in]readerconfiguration reader
[in]crash_on_missing_entry
[in]node_namenode name, the default is used if empty

Definition at line 183 of file config.h.

◆ readConfig() [3/6]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::readConfig ( t_Reader &  reader,
const char *  node_name,
const bool  crash_on_missing_entry = default_crash_on_missing_entry_ 
)
inlineinherited

Read configuration (assuming the configuration node to be in the root).

Parameters
[in]readerconfiguration reader
[in]crash_on_missing_entry
[in]node_namenode name, the default is used if empty
Note
Intercept implicit conversion of a pointer to bool.

Definition at line 202 of file config.h.

◆ readConfig() [4/6]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::readConfig ( const std::string &  file_name,
const bool  crash_on_missing_entry = default_crash_on_missing_entry_ 
)
inlineinherited

Read configuration (assuming the configuration node to be in the root).

Parameters
[in]file_namefile name
[in]crash_on_missing_entry

Definition at line 218 of file config.h.

◆ readConfig() [5/6]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::readConfig ( const std::string &  file_name,
const std::string &  node_name,
const bool  crash_on_missing_entry = default_crash_on_missing_entry_ 
)
inlineinherited

Read configuration (assuming the configuration node to be in the root).

Parameters
[in]file_namefile name
[in]node_namenode name, the default is used if empty
[in]crash_on_missing_entry

Definition at line 235 of file config.h.

◆ readConfig() [6/6]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::readConfig ( const std::string &  file_name,
const char *  node_name,
const bool  crash_on_missing_entry = default_crash_on_missing_entry_ 
)
inlineinherited

Read configuration (assuming the configuration node to be in the root).

Parameters
[in]file_namefile name
[in]crash_on_missing_entry
[in]node_namenode name, the default is used if empty
Note
Intercept implicit conversion of a pointer to bool.

Definition at line 255 of file config.h.

◆ readNestedConfig()

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::readNestedConfig ( t_Reader &  reader,
const std::string &  node_name,
const bool  crash_on_missing_entry = default_crash_on_missing_entry_ 
)
inlineinherited

Read nested configuration node.

Parameters
[in]reader
[in]crash_on_missing_entry
[in]node_namenode name, the default is used if empty

Definition at line 132 of file config.h.

◆ reset()

void humoto::constraints::ContainerBase::reset ( const std::size_t  number_of_constraints = 0,
const std::size_t  number_of_variables = 0,
const bool  initialize_matrices = false 
)
inlineprotectedinherited

Initialize constraints.

Parameters
[in]number_of_constraintsnumber of constraints
[in]number_of_variablesnumber of variables
[in]initialize_matricesinitialize matrices using defaults

Definition at line 175 of file constraints_base.h.

◆ resetBody()

void humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::resetBody ( const std::size_t  number_of_constraints,
const bool  initialize_matrices = false 
)
inlineprotectedvirtualinherited

Initialize A.

Parameters
[in]number_of_constraintsnumber of constraints
[in]initialize_matricesinitialize matrices using defaults

Initialization:

  • A is filled with zeros

Implements humoto::constraints::ContainerBase.

Definition at line 608 of file constraints_mixins.h.

◆ resetBounds()

void humoto::constraints::BoundsBMixin< TaskBase >::resetBounds ( const std::size_t  number_of_constraints = 0,
const bool  initialize_matrices = false 
)
inlineprotectedvirtualinherited

Reset bounds of constraints (b, lb, ub)

Parameters
[in]number_of_constraintsnumber of constraints
[in]initialize_matricesinitialize matrices using defaults
Note
Initialization: b is filled with zeros

Implements humoto::constraints::ContainerBase.

Definition at line 134 of file constraints_mixins.h.

◆ setDefaults()

virtual void humoto::GeneralTaskBaseMixin< constraints::ConstraintsASB< TaskBase > >::setDefaults ( )
inlineprotectedvirtualinherited

Reimplemented from humoto::TaskBase.

Definition at line 332 of file task.h.

◆ setDescription()

void humoto::TaskBase::setDescription ( const std::string &  description)
inlineinherited

Set description of the task.

Returns
description

Definition at line 260 of file task.h.

◆ setGain()

void humoto::GeneralTaskBaseMixin< constraints::ConstraintsASB< TaskBase > >::setGain ( const double  gain)
inlineinherited

Sets gain.

Parameters
[in]gainnew gain

Definition at line 361 of file task.h.

◆ setNumberOfVariables()

void humoto::constraints::ContainerBase::setNumberOfVariables ( const std::size_t  number_of_variables)
inlineprotectedinherited

Set number of variables.

Parameters
[in]number_of_variablesnumber of variables

Definition at line 142 of file constraints_base.h.

◆ setOffset()

void humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::setOffset ( const std::ptrdiff_t  offset)
inlineinherited

Set offset of body part in the constriaints.

Parameters
[in]offset

Definition at line 682 of file constraints_mixins.h.

◆ writeConfig() [1/4]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::writeConfig ( t_Writer &  writer) const
inlineinherited

Write configuration.

Parameters
[in,out]writerconfiguration writer

Definition at line 300 of file config.h.

◆ writeConfig() [2/4]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::writeConfig ( t_Writer &  writer,
const std::string &  node_name 
) const
inlineinherited

Write configuration.

Parameters
[in,out]writerconfiguration writer
[in]node_namenode name, the default is used if empty

Definition at line 313 of file config.h.

◆ writeConfig() [3/4]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::writeConfig ( const std::string &  file_name) const
inlineinherited

Write configuration.

Parameters
[in]file_namefile name

Definition at line 328 of file config.h.

◆ writeConfig() [4/4]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::writeConfig ( const std::string &  file_name,
const std::string &  node_name 
) const
inlineinherited

Write configuration.

Parameters
[in]file_namefile name
[in]node_namenode name, the default is used if empty

Definition at line 342 of file config.h.

◆ writeNestedConfig() [1/2]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::writeNestedConfig ( t_Writer &  writer) const
inlineinherited

Write nested configuration node.

Parameters
[in,out]writerconfiguration writer

Definition at line 272 of file config.h.

◆ writeNestedConfig() [2/2]

void humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::writeNestedConfig ( t_Writer &  writer,
const std::string &  node_name 
) const
inlineinherited

Write nested configuration node.

Parameters
[in,out]writerconfiguration writer
[in]node_namenode name, the default is used if empty

Definition at line 285 of file config.h.

Member Data Documentation

◆ A_

Eigen::MatrixXd humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::A_
protectedinherited

Definition at line 583 of file constraints_mixins.h.

◆ active_set_actual_

ActiveSetConstraints humoto::TaskBase::active_set_actual_
protectedinherited

Definition at line 105 of file task.h.

◆ b_

Eigen::VectorXd humoto::constraints::BoundsBMixin< TaskBase >::b_
protectedinherited

Definition at line 118 of file constraints_mixins.h.

◆ default_crash_on_missing_entry_

const bool humoto::config::CommonConfigurableBase< t_crash_on_missing_entry >::default_crash_on_missing_entry_
staticprotectedinherited

Definition at line 67 of file config.h.

◆ gain_

Definition at line 301 of file task.h.

◆ is_modified_

bool humoto::TaskBase::is_modified_
protectedinherited

Definition at line 104 of file task.h.

◆ number_of_variables_

std::size_t humoto::constraints::ContainerBase::number_of_variables_
protectedinherited

Definition at line 120 of file constraints_base.h.

◆ offset_

std::ptrdiff_t humoto::constraints::BodyASMixin< BoundsBMixin< TaskBase > >::offset_
protectedinherited

Definition at line 584 of file constraints_mixins.h.


The documentation for this class was generated from the following file: