#include <sot/core/solver-hierarchical-inequalities.hh>
Public Types | |
| enum | ActivationTodoType { TODO_NOTHING, TODO_ACTIVATE, TODO_INACTIVATE } |
| typedef bub::matrix< double, bub::column_major > | bubMatrixQRWide |
| typedef bub::matrix_range < bubMatrixQRWide > | bubMatrixQR |
| typedef bub::matrix_range < const bubMatrixQRWide > | bubMatrixQRConst |
| typedef bub::triangular_adaptor < bubMatrixQR, bub::upper > | bubMatrixQRTri |
| typedef bub::triangular_adaptor < bubMatrixQRConst, bub::upper > | bubMatrixQRTriConst |
| typedef bub::indirect_array | bubOrder |
| typedef bub::matrix_indirect < bubMatrix > | bubMatrixOrdered |
| typedef bub::matrix_indirect < bubMatrixQRWide > | bubMatrixQRWideOrdered |
| typedef bub::matrix_indirect < bubMatrixQR > | bubMatrixQROrdered |
| typedef bub::triangular_adaptor < bubMatrixQROrdered, bub::upper > | bubMatrixQROrderedTri |
| typedef bub::matrix_indirect < const bubMatrixQRWide > | bubMatrixQRWideOrderedConst |
| typedef bub::matrix_indirect < bubMatrixQRConst > | bubMatrixQROrderedConst |
| typedef bub::triangular_adaptor < bubMatrixQROrderedConst, bub::upper > | bubMatrixQROrderedTriConst |
| typedef std::vector < ConstraintMem > | ConstraintList |
| typedef std::vector < ConstraintMem * > | ConstraintRefList |
Public Member Functions | |
| SolverHierarchicalInequalities (unsigned int _nJ, sotRotationComposedInExtenso &_Qh, bubMatrix &_Rh, ConstraintList &_cH) | |
| void | initConstraintSize (const unsigned int size) |
| void | setInitialCondition (const bubVector &_u0, const unsigned int _rankh) |
| void | setInitialConditionVoid (void) |
| void | setNbDof (const unsigned int nJ) |
| unsigned int | getNbDof (void) |
| void | recordInitialConditions (void) |
| void | computeDifferentialCondition (void) |
| const std::vector < ConstraintRef > & | getToActivateList (void) const |
| const std::vector < ConstraintRef > & | getToInactivateList (void) const |
| const bubVector & | getDifferentialU0 (void) const |
| const std::vector < ConstraintRef > & | getSlackActiveSet (void) const |
| void | printDifferentialCondition (std::ostream &os) const |
| bub::range | fullrange (void) const |
| bub::range | rangeh (void) const |
| bub::range | rangehs (void) const |
| bub::range | freerange (void) const |
| bub::range | freeranges (void) const |
| bubMatrixQROrderedTriConst | accessRsConst (void) const |
| bub::triangular_adaptor < bub::matrix_range< const bubMatrix >, bub::upper > | accessRhConst (void) const |
| bub::triangular_adaptor < bub::matrix_range< bubMatrix > , bub::upper > | accessRh (void) |
| template<typename bubTemplateMatrix > | |
| unsigned int | rankDetermination (const bubTemplateMatrix &A, const double threshold=THRESHOLD_ZERO) |
| void | printDebug (void) |
| void | warmStart (void) |
| void | applyFreeSpaceMotion (const bubVector &_du) |
| void | forceUpdateHierachic (ConstraintRefList &toUpdate, const ConstraintMem::BoundSideVector &boundSide) |
| void | forceDowndateHierachic (ConstraintRefList &toDowndate) |
| void | solve (const bubMatrix &Jse, const bubVector &ese, const bubMatrix &Jsi, const bubVector &esiInf, const bubVector &esiSup, const std::vector< ConstraintMem::BoundSideType > esiBoundSide, bool pushBackAtTheEnd=true) |
| void | solve (const bubMatrix &Jse, const bubVector &ese, const bubMatrix &Jsi, const bubVector &esiInf, const bubVector &esiSup, const ConstraintMem::BoundSideVector &esiBoundSide, const std::vector< ConstraintRef > &slackActiveWarmStart, bool pushBackAtTheEnd=true) |
| void | initializeConstraintMemory (const bubMatrix &Jse, const bubVector &ese, const bubMatrix &Jsi, const bubVector &esiInf, const bubVector &esiSup, const ConstraintMem::BoundSideVector &esiBoundSide, const std::vector< ConstraintRef > &warmStartSide) |
| void | initializeDecompositionSlack (void) |
| void | updateConstraintHierarchic (const unsigned int constraintId, const ConstraintMem::BoundSideType side) |
| void | downdateConstraintHierarchic (const unsigned int kdown) |
| void | updateRankOneDowndate (void) |
| void | updateRankOneUpdate (void) |
| void | updateConstraintSlack (const unsigned int kup, const ConstraintMem::BoundSideType activeSide) |
| void | regularizeQhJs (void) |
| void | regularizeQhJsU (void) |
| void | downdateConstraintSlack (const unsigned int kdown) |
| void | computeGradient (bubVector &gradientWide) |
| void | computePrimal (void) |
| void | computeSlack (void) |
| void | computeLagrangian (void) |
| bool | selecActivationHierarchic (double &tau) |
| bool | selecInactivationHierarchic (void) |
| bool | selecActivationSlack (void) |
| bool | selecInactivationSlack (void) |
| void | pushBackSlackToHierarchy (void) |
Static Public Member Functions | |
| static void | displayConstraint (ConstraintList &cs) |
Public Attributes | |
| unsigned int | nJ |
| bubVector | u0 |
| sotRotationComposedInExtenso & | Qh |
| bubMatrix & | Rh |
| unsigned int | rankh |
| unsigned int | freeRank |
| ConstraintList & | constraintH |
| bool | Hactivation |
| bool | Hinactivation |
| unsigned int | HactivationRef |
| unsigned int | HinactivationRef |
| ConstraintMem::BoundSideType | HactivationSide |
| bubMatrixQRWide | QhJsU |
| bubMatrixQRWide | QhJs |
| unsigned int | ranks |
| unsigned int | sizes |
| bubOrder | orderS |
| ConstraintList | constraintS |
| ConstraintRefList | constraintSactive |
| bool | Sactivation |
| bool | Sinactivation |
| unsigned int | SactivationRef |
| unsigned int | SinactivationRef |
| ConstraintMem::BoundSideType | SactivationSide |
| double | SactivationScore |
| double | SinactivationScore |
| double | HactivationScore |
| double | HinactivationScore |
| bubVector | du |
| bubVector | slackInf |
| bubVector | slackSup |
| bubVector | lagrangian |
| sotRotationComposed | lastRotation |
| int | freeRankChange |
| std::vector< bool > | initialActiveH |
| ConstraintMem::BoundSideVector | initialSideH |
| bubVector | du0 |
| std::vector< ConstraintRef > | slackActiveSet |
| std::vector< ConstraintRef > | toActivate |
| std::vector< ConstraintRef > | toInactivate |
| bool | warmStartReady |
Static Public Attributes | |
| static double | THRESHOLD_ZERO |
| typedef bub::matrix_indirect<bubMatrix> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixOrdered |
| typedef bub::matrix_range<bubMatrixQRWide> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixQR |
| typedef bub::matrix_range<const bubMatrixQRWide> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixQRConst |
| typedef bub::matrix_indirect<bubMatrixQR> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixQROrdered |
| typedef bub::matrix_indirect<bubMatrixQRConst> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixQROrderedConst |
| typedef bub::triangular_adaptor<bubMatrixQROrdered,bub::upper> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixQROrderedTri |
| typedef bub::triangular_adaptor<bubMatrixQROrderedConst,bub::upper> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixQROrderedTriConst |
| typedef bub::triangular_adaptor<bubMatrixQR,bub::upper> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixQRTri |
| typedef bub::triangular_adaptor<bubMatrixQRConst,bub::upper> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixQRTriConst |
| typedef bub::matrix<double,bub::column_major> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixQRWide |
| typedef bub::matrix_indirect<bubMatrixQRWide> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixQRWideOrdered |
| typedef bub::matrix_indirect<const bubMatrixQRWide> dynamicgraph::sot::SolverHierarchicalInequalities::bubMatrixQRWideOrderedConst |
| typedef bub::indirect_array dynamicgraph::sot::SolverHierarchicalInequalities::bubOrder |
| typedef std::vector<ConstraintMem> dynamicgraph::sot::SolverHierarchicalInequalities::ConstraintList |
| typedef std::vector<ConstraintMem*> dynamicgraph::sot::SolverHierarchicalInequalities::ConstraintRefList |
| dynamicgraph::sot::SolverHierarchicalInequalities::SolverHierarchicalInequalities | ( | unsigned int | _nJ, |
| sotRotationComposedInExtenso & | _Qh, | ||
| bubMatrix & | _Rh, | ||
| ConstraintList & | _cH | ||
| ) | [inline] |
| bub::triangular_adaptor<bub::matrix_range< bubMatrix >,bub::upper> dynamicgraph::sot::SolverHierarchicalInequalities::accessRh | ( | void | ) |
| bub::triangular_adaptor<bub::matrix_range< const bubMatrix >,bub::upper> dynamicgraph::sot::SolverHierarchicalInequalities::accessRhConst | ( | void | ) | const |
| bubMatrixQROrderedTriConst dynamicgraph::sot::SolverHierarchicalInequalities::accessRsConst | ( | void | ) | const |
| void dynamicgraph::sot::SolverHierarchicalInequalities::applyFreeSpaceMotion | ( | const bubVector & | _du | ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::computeGradient | ( | bubVector & | gradientWide | ) |
| static void dynamicgraph::sot::SolverHierarchicalInequalities::displayConstraint | ( | ConstraintList & | cs | ) | [static] |
| void dynamicgraph::sot::SolverHierarchicalInequalities::downdateConstraintHierarchic | ( | const unsigned int | kdown | ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::downdateConstraintSlack | ( | const unsigned int | kdown | ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::forceDowndateHierachic | ( | ConstraintRefList & | toDowndate | ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::forceUpdateHierachic | ( | ConstraintRefList & | toUpdate, |
| const ConstraintMem::BoundSideVector & | boundSide | ||
| ) |
| bub::range dynamicgraph::sot::SolverHierarchicalInequalities::freerange | ( | void | ) | const [inline] |
| bub::range dynamicgraph::sot::SolverHierarchicalInequalities::freeranges | ( | void | ) | const [inline] |
| bub::range dynamicgraph::sot::SolverHierarchicalInequalities::fullrange | ( | void | ) | const [inline] |
| const bubVector& dynamicgraph::sot::SolverHierarchicalInequalities::getDifferentialU0 | ( | void | ) | const [inline] |
| unsigned int dynamicgraph::sot::SolverHierarchicalInequalities::getNbDof | ( | void | ) | [inline] |
| const std::vector<ConstraintRef>& dynamicgraph::sot::SolverHierarchicalInequalities::getSlackActiveSet | ( | void | ) | const [inline] |
| const std::vector<ConstraintRef>& dynamicgraph::sot::SolverHierarchicalInequalities::getToActivateList | ( | void | ) | const [inline] |
| const std::vector<ConstraintRef>& dynamicgraph::sot::SolverHierarchicalInequalities::getToInactivateList | ( | void | ) | const [inline] |
| void dynamicgraph::sot::SolverHierarchicalInequalities::initConstraintSize | ( | const unsigned int | size | ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::initializeConstraintMemory | ( | const bubMatrix & | Jse, |
| const bubVector & | ese, | ||
| const bubMatrix & | Jsi, | ||
| const bubVector & | esiInf, | ||
| const bubVector & | esiSup, | ||
| const ConstraintMem::BoundSideVector & | esiBoundSide, | ||
| const std::vector< ConstraintRef > & | warmStartSide | ||
| ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::printDifferentialCondition | ( | std::ostream & | os | ) | const |
| bub::range dynamicgraph::sot::SolverHierarchicalInequalities::rangeh | ( | void | ) | const [inline] |
| bub::range dynamicgraph::sot::SolverHierarchicalInequalities::rangehs | ( | void | ) | const [inline] |
| unsigned int dynamicgraph::sot::SolverHierarchicalInequalities::rankDetermination | ( | const bubTemplateMatrix & | A, |
| const double | threshold = THRESHOLD_ZERO |
||
| ) |
| bool dynamicgraph::sot::SolverHierarchicalInequalities::selecActivationHierarchic | ( | double & | tau | ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::setInitialCondition | ( | const bubVector & | _u0, |
| const unsigned int | _rankh | ||
| ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::setNbDof | ( | const unsigned int | nJ | ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::solve | ( | const bubMatrix & | Jse, |
| const bubVector & | ese, | ||
| const bubMatrix & | Jsi, | ||
| const bubVector & | esiInf, | ||
| const bubVector & | esiSup, | ||
| const std::vector< ConstraintMem::BoundSideType > | esiBoundSide, | ||
| bool | pushBackAtTheEnd = true |
||
| ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::solve | ( | const bubMatrix & | Jse, |
| const bubVector & | ese, | ||
| const bubMatrix & | Jsi, | ||
| const bubVector & | esiInf, | ||
| const bubVector & | esiSup, | ||
| const ConstraintMem::BoundSideVector & | esiBoundSide, | ||
| const std::vector< ConstraintRef > & | slackActiveWarmStart, | ||
| bool | pushBackAtTheEnd = true |
||
| ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::updateConstraintHierarchic | ( | const unsigned int | constraintId, |
| const ConstraintMem::BoundSideType | side | ||
| ) |
| void dynamicgraph::sot::SolverHierarchicalInequalities::updateConstraintSlack | ( | const unsigned int | kup, |
| const ConstraintMem::BoundSideType | activeSide | ||
| ) |
| std::vector<bool> dynamicgraph::sot::SolverHierarchicalInequalities::initialActiveH |