hpp-constraints  4.9.0
Definition of basic geometric constraints for motion planning
hierarchical-iterative.hh
Go to the documentation of this file.
1 // Copyright (c) 2017, 2018
2 // Authors: Joseph Mirabel (joseph.mirabel@laas.fr)
3 //
4 // This file is part of hpp-constraints.
5 // hpp-constraints is free software: you can redistribute it
6 // and/or modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation, either version
8 // 3 of the License, or (at your option) any later version.
9 //
10 // hpp-constraints is distributed in the hope that it will be
11 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // General Lesser Public License for more details. You should have
14 // received a copy of the GNU Lesser General Public License along with
15 // hpp-constraints. If not, see <http://www.gnu.org/licenses/>.
16 
17 #ifndef HPP_CONSTRAINTS_SOLVER_HIERARCHICAL_ITERATIVE_HH
18 #define HPP_CONSTRAINTS_SOLVER_HIERARCHICAL_ITERATIVE_HH
19 
20 #include <boost/function.hpp>
21 
22 #include <hpp/statistics/success-bin.hh>
23 
24 #include <hpp/constraints/fwd.hh>
27 
30 
31 namespace hpp {
32  namespace constraints {
33  namespace solver {
36  namespace lineSearch {
38  struct Constant {
39  template <typename SolverType>
40  bool operator() (const SolverType& solver, vectorOut_t arg,
41  vectorOut_t darg);
42  };
43 
46  struct Backtracking {
47  Backtracking ();
48 
49  template <typename SolverType>
50  bool operator() (const SolverType& solver, vectorOut_t arg,
52 
53  template <typename SolverType>
54  inline value_type computeLocalSlope(const SolverType& solver) const;
55 
56  value_type c, tau, smallAlpha; // 0.8 ^ 7 = 0.209, 0.8 ^ 8 = 0.1677
57  mutable vector_t arg_darg, df, darg;
58  };
59 
63  struct FixedSequence {
64  FixedSequence();
65 
66  template <typename SolverType>
67  bool operator() (const SolverType& solver, vectorOut_t arg,
68  vectorOut_t darg);
69 
72  };
73 
79  struct ErrorNormBased {
81  ErrorNormBased(value_type alphaMin = 0.2);
82 
83  template <typename SolverType>
84  bool operator() (const SolverType& solver, vectorOut_t arg,
85  vectorOut_t darg);
86 
88  };
89  } // namespace lineSearch
90 
166  {
167  public:
170 
171  enum Status {
175  SUCCESS
176  };
188  typedef boost::function<bool (vectorIn_t q, vectorOut_t qSat,
189  Eigen::VectorXi& saturation)>
191 
192  HierarchicalIterative (const LiegroupSpacePtr_t& configSpace);
193 
195 
197 
200 
203  {
204  return configSpace_;
205  }
213  virtual bool contains (const ImplicitPtr_t& numericalConstraint) const;
214 
223  void add (const DifferentiableFunctionPtr_t& f, const std::size_t& priority) HPP_CONSTRAINTS_DEPRECATED;
224 
232  void add (const DifferentiableFunctionPtr_t& f, const std::size_t& priority,
234 
240  void add (const ImplicitPtr_t& constraint, const std::size_t& priority);
241 
247  virtual void merge (const HierarchicalIterative& other);
248 
250  void saturation (const Saturation_t& saturate)
251  {
252  saturate_ = saturate;
253  }
254 
256  const Saturation_t& saturation () const
257  {
258  return saturate_;
259  }
260 
262 
265 
280  template <typename LineSearchType>
281  Status solve (vectorOut_t arg, LineSearchType ls = LineSearchType()) const;
282 
297  inline Status solve (vectorOut_t arg) const
298  {
299  return solve (arg, DefaultLineSearch());
300  }
301 
302  bool isSatisfied (vectorIn_t arg) const
303  {
304  computeValue<false>(arg);
305  computeError();
306  return squaredNorm_ < squaredErrorThreshold_;
307  }
308 
318  bool isConstraintSatisfied (const ImplicitPtr_t& constraint,
319  vectorIn_t arg, vectorOut_t error,
320  bool& constraintFound) const;
321 
326  const value_type& sigma () const
327  {
328  return sigma_;
329  }
330 
332 
335 
342  void freeVariables (const segments_t intervals)
343  {
344  freeVariables_ = Indices_t();
345  for (std::size_t i = 0; i < intervals.size(); ++i)
346  freeVariables_.addRow (intervals[i].first, intervals[i].second);
347  freeVariables_.updateIndices<true, true, true>();
348  update ();
349  }
350 
355  void freeVariables (const Indices_t& indices)
356  {
357  freeVariables_ = indices;
358  update ();
359  }
360 
362  const Indices_t& freeVariables () const
363  {
364  return freeVariables_;
365  }
366 
368  void maxIterations (size_type iterations)
369  {
370  maxIterations_ = iterations;
371  }
374  {
375  return maxIterations_;
376  }
377 
379  void errorThreshold (const value_type& threshold)
380  {
381  squaredErrorThreshold_ = threshold * threshold;
382  }
385  {
386  return sqrt (squaredErrorThreshold_);
387  }
390  {
391  return squaredErrorThreshold_;
392  }
393 
396  {
397  return inequalityThreshold_;
398  }
401  {
402  inequalityThreshold_ = it;
403  }
404 
405  void lastIsOptional (bool optional)
406  {
407  lastIsOptional_ = optional;
408  }
409 
410  bool lastIsOptional () const
411  {
412  return lastIsOptional_;
413  }
414 
416 
419 
421  const ImplicitConstraintSet& constraints (const std::size_t priority)
422  {
423  assert(priority < stacks_.size());
424  return stacks_[priority];
425  }
426 
429  {
430  return constraints_;
431  }
432 
433  std::size_t numberStacks() const
434  {
435  return stacks_.size();
436  }
437 
438  const size_type& dimension () const
439  {
440  return dimension_;
441  }
442 
445  const size_type& reducedDimension () const
446  {
447  return reducedDimension_;
448  }
449 
451  ArrayXb activeParameters () const;
452 
454  ArrayXb activeDerivativeParameters () const;
455 
457 
460  {
461  return squaredNorm_;
462  }
463 
465  void residualError(vectorOut_t error) const;
466 
475  bool definesSubmanifoldOf (const HierarchicalIterative& solver) const;
476 
479 
486  vector_t rightHandSideFromConfig (ConfigurationIn_t config);
487 
494  virtual bool rightHandSideFromConfig (const ImplicitPtr_t& constraint,
495  ConfigurationIn_t config);
501  virtual bool rightHandSide (const ImplicitPtr_t& constraint,
502  vectorIn_t rhs);
503 
505  virtual bool getRightHandSide (const ImplicitPtr_t& constraint,vectorOut_t rhs) const;
506 
511  virtual void rightHandSide (vectorIn_t rhs);
512 
515  void rightHandSideAt (const value_type& s);
516 
521  vector_t rightHandSide () const;
522 
526  size_type rightHandSideSize () const;
527 
529 
533 
535  template <bool ComputeJac> void computeValue (vectorIn_t arg) const;
536  void computeSaturation (vectorIn_t arg) const;
537  void getValue (vectorOut_t v) const;
538  void getReducedJacobian (matrixOut_t J) const;
541  void computeError () const;
542 
544  const vector_t& lastStep () const
545  {
546  return dq_;
547  }
548 
549  virtual bool integrate(vectorIn_t from, vectorIn_t velocity,
550  vectorOut_t result) const;
552 
553  virtual std::ostream& print (std::ostream& os) const;
554 
555  protected:
556  typedef Eigen::JacobiSVD <matrix_t> SVD_t;
557 
558  struct Data {
560  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
564  matrix_t jacobian, reducedJ;
565 
568 
570 
572  std::vector<std::size_t> inequalityIndices;
575  };
576 
579  void update ();
580 
584  virtual void computeActiveRowsOfJ (std::size_t iStack);
585 
593  void computeDescentDirection () const;
594  void expandDqSmall () const;
595  void saturate (vectorOut_t arg) const;
596 
597 
598  value_type squaredErrorThreshold_, inequalityThreshold_;
600 
601  std::vector<ImplicitConstraintSet> stacks_;
611  std::map <DifferentiableFunctionPtr_t, size_type> iq_;
613  std::map <DifferentiableFunctionPtr_t, size_type> iv_;
615  std::map <DifferentiableFunctionPtr_t, std::size_t> priority_;
616 
619 
620  mutable vector_t dq_, dqSmall_;
622  mutable Eigen::VectorXi saturation_, reducedSaturation_;
624  mutable ArrayXb tmpSat_;
626  mutable std::vector<Data> datas_;
627  mutable SVD_t svd_;
628  mutable vector_t OM_;
629  mutable vector_t OP_;
630 
631 
632  mutable ::hpp::statistics::SuccessStatistics statistics_;
633 
635  }; // class HierarchicalIterative
637  } // namespace solver
638  namespace lineSearch {
639  typedef ::hpp::constraints::solver::lineSearch::Constant Constant
641  typedef ::hpp::constraints::solver::lineSearch::Backtracking Backtracking
643  typedef ::hpp::constraints::solver::lineSearch::FixedSequence
644  FixedSequence HPP_CONSTRAINTS_DEPRECATED;
645  typedef ::hpp::constraints::solver::lineSearch::ErrorNormBased
646  ErrorNormBased HPP_CONSTRAINTS_DEPRECATED;
647  } // namespace lineSearch
648  } // namespace constraints
649 } // namespace hpp
650 
651 #endif // HPP_CONSTRAINTS_SOLVER_HIERARCHICAL_ITERATIVE_HH
hpp::constraints::solver::lineSearch::Backtracking::Backtracking
Backtracking()
hpp::constraints::solver::HierarchicalIterative::lastIsOptional_
bool lastIsOptional_
Definition: hierarchical-iterative.hh:604
hpp::constraints::solver::HierarchicalIterative::squaredErrorThreshold
value_type squaredErrorThreshold() const
Get error threshold.
Definition: hierarchical-iterative.hh:389
hpp::constraints::solver::HierarchicalIterative::maxIterations_
size_type maxIterations_
Definition: hierarchical-iterative.hh:599
hpp::constraints::solver::HierarchicalIterative::errorThreshold
void errorThreshold(const value_type &threshold)
Set error threshold.
Definition: hierarchical-iterative.hh:379
hpp::constraints::solver::HierarchicalIterative::sigma
const value_type & sigma() const
Definition: hierarchical-iterative.hh:326
hpp::constraints::solver::lineSearch::ErrorNormBased::operator()
bool operator()(const SolverType &solver, vectorOut_t arg, vectorOut_t darg)
Definition: hierarchical-iterative.hh:102
hpp::constraints::solver::lineSearch::Backtracking::computeLocalSlope
value_type computeLocalSlope(const SolverType &solver) const
Definition: hierarchical-iterative.hh:79
hpp::constraints::vector_t
pinocchio::vector_t vector_t
Definition: fwd.hh:45
hpp::constraints::solver::HierarchicalIterative::inequalityThreshold
void inequalityThreshold(const value_type &it)
set the inequality threshold
Definition: hierarchical-iterative.hh:400
hpp::constraints::solver::lineSearch::ErrorNormBased::b
value_type b
Definition: hierarchical-iterative.hh:87
hpp::constraints::lineSearch::HPP_CONSTRAINTS_DEPRECATED
::hpp::constraints::solver::lineSearch::Constant Constant HPP_CONSTRAINTS_DEPRECATED
Definition: hierarchical-iterative.hh:640
hpp::constraints::solver::HierarchicalIterative::tmpSat_
ArrayXb tmpSat_
Definition: hierarchical-iterative.hh:624
hpp::constraints::solver::HierarchicalIterative::priority_
std::map< DifferentiableFunctionPtr_t, std::size_t > priority_
Priority level of constraint.
Definition: hierarchical-iterative.hh:615
hpp::constraints::solver::lineSearch::Backtracking::darg
vector_t darg
Definition: hierarchical-iterative.hh:57
hpp::constraints::solver::lineSearch::ErrorNormBased
Definition: hierarchical-iterative.hh:79
hpp::constraints::solver::HierarchicalIterative::configSpace_
LiegroupSpacePtr_t configSpace_
Definition: hierarchical-iterative.hh:602
implicit-constraint-set.hh
hpp::constraints::solver::HierarchicalIterative::Data::PK
matrix_t PK
Definition: hierarchical-iterative.hh:567
hpp::constraints::solver::HierarchicalIterative::stacks_
std::vector< ImplicitConstraintSet > stacks_
Definition: hierarchical-iterative.hh:601
hpp::constraints::LiegroupSpacePtr_t
pinocchio::LiegroupSpacePtr_t LiegroupSpacePtr_t
Definition: fwd.hh:54
Eigen::MatrixBlocks< false, true >
hpp::constraints::solver::lineSearch::ErrorNormBased::a
value_type a
Definition: hierarchical-iterative.hh:87
hpp::constraints::solver::lineSearch::FixedSequence::FixedSequence
FixedSequence()
hpp::constraints::solver::lineSearch::FixedSequence::operator()
bool operator()(const SolverType &solver, vectorOut_t arg, vectorOut_t darg)
Definition: hierarchical-iterative.hh:93
hpp::constraints::solver::HierarchicalIterative::DefaultLineSearch
lineSearch::FixedSequence DefaultLineSearch
Definition: hierarchical-iterative.hh:169
hpp::constraints::LiegroupElement
pinocchio::LiegroupElement LiegroupElement
Definition: fwd.hh:51
hpp::constraints::solver::lineSearch::FixedSequence::alpha
value_type alpha
Definition: hierarchical-iterative.hh:70
matrix-view.hh
hpp::constraints::solver::HierarchicalIterative::Data::inequalityIndices
std::vector< std::size_t > inequalityIndices
Definition: hierarchical-iterative.hh:572
hpp::constraints::solver::HierarchicalIterative::configSpace
const LiegroupSpacePtr_t & configSpace() const
Get configuration space on which constraints are defined.
Definition: hierarchical-iterative.hh:202
hpp::constraints::matrix_t
pinocchio::matrix_t matrix_t
Definition: fwd.hh:42
hpp::constraints::solver::HierarchicalIterative::saturation
const Saturation_t & saturation() const
Get the saturation function.
Definition: hierarchical-iterative.hh:256
hpp::constraints::solver::lineSearch::Backtracking::c
value_type c
Definition: hierarchical-iterative.hh:56
hpp::constraints::solver::lineSearch::FixedSequence::K
value_type K
Definition: hierarchical-iterative.hh:71
hpp::constraints::solver::HierarchicalIterative::Indices_t
Eigen::RowBlockIndices Indices_t
Definition: hierarchical-iterative.hh:168
hpp::constraints::solver::lineSearch::Constant
No line search. Use .
Definition: hierarchical-iterative.hh:38
hpp::constraints::solver::HierarchicalIterative::Data
Definition: hierarchical-iterative.hh:558
hpp::constraints::solver::HierarchicalIterative::OM_
vector_t OM_
Definition: hierarchical-iterative.hh:628
Eigen::assert
assert(d.lhs()._blocks()==d.rhs()._blocks())
fwd.hh
hpp::constraints::ImplicitConstraintSet
Definition: implicit-constraint-set.hh:34
deprecated.hh
hpp::constraints::segments_t
std::vector< segment_t > segments_t
Definition: fwd.hh:69
hpp::constraints::solver::HierarchicalIterative::freeVariables
const Indices_t & freeVariables() const
Get free velocity variables.
Definition: hierarchical-iterative.hh:362
hpp::constraints::Configuration_t
pinocchio::Configuration_t Configuration_t
Definition: fwd.hh:87
hpp::constraints::solver::HierarchicalIterative::Data::svd
SVD_t svd
Definition: hierarchical-iterative.hh:566
hpp::constraints::solver::HierarchicalIterative::freeVariables
void freeVariables(const Indices_t &indices)
Definition: hierarchical-iterative.hh:355
hpp::constraints::solver::lineSearch::FixedSequence::alphaMax
value_type alphaMax
Definition: hierarchical-iterative.hh:71
hpp::constraints::solver::HierarchicalIterative::reducedDimension_
size_type reducedDimension_
Definition: hierarchical-iterative.hh:603
hpp::constraints::solver::HierarchicalIterative::dqSmall_
vector_t dqSmall_
Definition: hierarchical-iterative.hh:620
hpp::constraints::solver::HierarchicalIterative::Data::equalityIndices
Eigen::RowBlockIndices equalityIndices
Definition: hierarchical-iterative.hh:573
hpp::constraints::solver::HierarchicalIterative::freeVariables
void freeVariables(const segments_t intervals)
Definition: hierarchical-iterative.hh:342
hpp::constraints::solver::HierarchicalIterative::Status
Status
Definition: hierarchical-iterative.hh:171
hpp::constraints::solver::lineSearch::Backtracking::arg_darg
vector_t arg_darg
Definition: hierarchical-iterative.hh:57
hpp::constraints::solver::HierarchicalIterative::reducedJ_
matrix_t reducedJ_
Definition: hierarchical-iterative.hh:621
hpp::constraints::solver::HierarchicalIterative::reducedDimension
const size_type & reducedDimension() const
Definition: hierarchical-iterative.hh:445
hpp::constraints::solver::lineSearch::Constant::operator()
bool operator()(const SolverType &solver, vectorOut_t arg, vectorOut_t darg)
Definition: hierarchical-iterative.hh:27
hpp::constraints::ConfigurationIn_t
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: fwd.hh:88
hpp::constraints::matrixOut_t
Eigen::Ref< matrix_t > matrixOut_t
Definition: fwd.hh:44
hpp::constraints::ComparisonTypes_t
std::vector< ComparisonType > ComparisonTypes_t
Definition: fwd.hh:170
hpp::constraints::solver::HierarchicalIterative::saturation_
Eigen::VectorXi saturation_
Definition: hierarchical-iterative.hh:622
hpp::constraints::solver::HierarchicalIterative::Data::activeRowsOfJ
Eigen::MatrixBlocks< false, false > activeRowsOfJ
Definition: hierarchical-iterative.hh:574
hpp::constraints::solver::HierarchicalIterative::solve
Status solve(vectorOut_t arg) const
Definition: hierarchical-iterative.hh:297
hpp::constraints::solver::lineSearch::ErrorNormBased::C
value_type C
Definition: hierarchical-iterative.hh:87
hpp
Definition: active-set-differentiable-function.hh:24
hpp::constraints::solver::HierarchicalIterative::lastIsOptional
bool lastIsOptional() const
Definition: hierarchical-iterative.hh:410
hpp::constraints::solver::HierarchicalIterative::isSatisfied
bool isSatisfied(vectorIn_t arg) const
Definition: hierarchical-iterative.hh:302
hpp::constraints::ArrayXb
pinocchio::ArrayXb ArrayXb
Definition: fwd.hh:65
hpp::constraints::solver::HierarchicalIterative::SVD_t
Eigen::JacobiSVD< matrix_t > SVD_t
Definition: hierarchical-iterative.hh:556
hpp::constraints::solver::HierarchicalIterative::constraints
const NumericalConstraints_t & constraints() const
Get constraints (implicit and explicit)
Definition: hierarchical-iterative.hh:428
hpp::constraints::solver::HierarchicalIterative::constraints
const ImplicitConstraintSet & constraints(const std::size_t priority)
Get set of constraints for a give priority level.
Definition: hierarchical-iterative.hh:421
hpp::constraints::solver::HierarchicalIterative::Data::error
vector_t error
Definition: hierarchical-iterative.hh:563
hpp::constraints::solver::lineSearch::Backtracking::operator()
bool operator()(const SolverType &solver, vectorOut_t arg, vectorOut_t darg)
Definition: hierarchical-iterative.hh:34
hpp::constraints::solver::HierarchicalIterative::qSat_
Configuration_t qSat_
Definition: hierarchical-iterative.hh:623
hpp::constraints::size_type
pinocchio::size_type size_type
Definition: fwd.hh:35
hpp::constraints::solver::HierarchicalIterative
Definition: hierarchical-iterative.hh:165
hpp::constraints::solver::HierarchicalIterative::errorThreshold
value_type errorThreshold() const
Get error threshold.
Definition: hierarchical-iterative.hh:384
hpp::constraints::solver::HierarchicalIterative::Data::reducedJ
matrix_t reducedJ
Definition: hierarchical-iterative.hh:564
hpp::constraints::solver::lineSearch::Backtracking
Definition: hierarchical-iterative.hh:46
hpp::constraints::solver::HierarchicalIterative::saturate_
Saturation_t saturate_
Definition: hierarchical-iterative.hh:607
hpp::constraints::solver::lineSearch::Backtracking::tau
value_type tau
Definition: hierarchical-iterative.hh:56
hpp::constraints::solver::HierarchicalIterative::~HierarchicalIterative
virtual ~HierarchicalIterative()
Definition: hierarchical-iterative.hh:196
hpp::constraints::solver::HierarchicalIterative::lastIsOptional
void lastIsOptional(bool optional)
Definition: hierarchical-iterative.hh:405
hpp::constraints::solver::HierarchicalIterative::iq_
std::map< DifferentiableFunctionPtr_t, size_type > iq_
Value rank of constraint in its priority level.
Definition: hierarchical-iterative.hh:611
hpp::constraints::value_type
pinocchio::value_type value_type
Definition: fwd.hh:36
hpp::constraints::solver::lineSearch::ErrorNormBased::K
value_type K
Definition: hierarchical-iterative.hh:87
hpp::constraints::solver::HierarchicalIterative::squaredNorm_
value_type squaredNorm_
Definition: hierarchical-iterative.hh:625
hpp::constraints::vectorOut_t
pinocchio::vectorOut_t vectorOut_t
Definition: fwd.hh:47
hpp::constraints::solver::HierarchicalIterative::sigma_
value_type sigma_
The smallest non-zero singular value.
Definition: hierarchical-iterative.hh:618
hpp::constraints::solver::HierarchicalIterative::datas_
std::vector< Data > datas_
Definition: hierarchical-iterative.hh:626
hpp::constraints::solver::HierarchicalIterative::maxIterations
void maxIterations(size_type iterations)
Set maximal number of iterations.
Definition: hierarchical-iterative.hh:368
hpp::constraints::NumericalConstraints_t
std::vector< constraints::ImplicitPtr_t > NumericalConstraints_t
Definition: fwd.hh:159
hpp::constraints::solver::HierarchicalIterative::saturation
void saturation(const Saturation_t &saturate)
Set the saturation function.
Definition: hierarchical-iterative.hh:250
hpp::constraints::solver::HierarchicalIterative::inequalityThreshold
value_type inequalityThreshold() const
Get the inequality threshold.
Definition: hierarchical-iterative.hh:395
hpp::constraints::solver::lineSearch::Backtracking::df
vector_t df
Definition: hierarchical-iterative.hh:57
hpp::constraints::vectorIn_t
pinocchio::vectorIn_t vectorIn_t
Definition: fwd.hh:46
hpp::constraints::solver::lineSearch::Backtracking::smallAlpha
value_type smallAlpha
Definition: hierarchical-iterative.hh:56
hpp::constraints::DifferentiableFunctionPtr_t
boost::shared_ptr< DifferentiableFunction > DifferentiableFunctionPtr_t
Definition: fwd.hh:95
hpp::constraints::solver::HierarchicalIterative::residualError
value_type residualError() const
Returns the squared norm of the error vector.
Definition: hierarchical-iterative.hh:459
hpp::constraints::solver::HierarchicalIterative::freeVariables_
Indices_t freeVariables_
Unknown of the set of implicit constraints.
Definition: hierarchical-iterative.hh:606
hpp::constraints::solver::HierarchicalIterative::statistics_
mutable ::hpp::statistics::SuccessStatistics statistics_
Definition: hierarchical-iterative.hh:632
hpp::constraints::solver::HierarchicalIterative::numberStacks
std::size_t numberStacks() const
Definition: hierarchical-iterative.hh:433
hpp::constraints::solver::HierarchicalIterative::svd_
SVD_t svd_
Definition: hierarchical-iterative.hh:627
hpp::constraints::ImplicitPtr_t
boost::shared_ptr< Implicit > ImplicitPtr_t
Definition: fwd.hh:157
hpp::constraints::solver::HierarchicalIterative::MAX_ITERATION_REACHED
@ MAX_ITERATION_REACHED
Definition: hierarchical-iterative.hh:173
HPP_CONSTRAINTS_DLLAPI
#define HPP_CONSTRAINTS_DLLAPI
Definition: config.hh:64
hpp::constraints::solver::HierarchicalIterative::OP_
vector_t OP_
Definition: hierarchical-iterative.hh:629
hpp::constraints::HPP_CONSTRAINTS_DEPRECATED
DifferentiableFunctionSet DifferentiableFunctionStack HPP_CONSTRAINTS_DEPRECATED
Definition: fwd.hh:99
hpp::constraints::solver::HierarchicalIterative::Saturation_t
boost::function< bool(vectorIn_t q, vectorOut_t qSat, Eigen::VectorXi &saturation)> Saturation_t
Definition: hierarchical-iterative.hh:190
hpp::constraints::solver::HierarchicalIterative::iv_
std::map< DifferentiableFunctionPtr_t, size_type > iv_
Derivative rank of constraint in its priority level.
Definition: hierarchical-iterative.hh:613
hpp::constraints::solver::HierarchicalIterative::dimension
const size_type & dimension() const
Definition: hierarchical-iterative.hh:438
hpp::constraints::solver::HierarchicalIterative::lastStep
const vector_t & lastStep() const
Accessor to the last step done.
Definition: hierarchical-iterative.hh:544
hpp::constraints::solver::HierarchicalIterative::ERROR_INCREASED
@ ERROR_INCREASED
Definition: hierarchical-iterative.hh:172
hpp::constraints::solver::HierarchicalIterative::INFEASIBLE
@ INFEASIBLE
Definition: hierarchical-iterative.hh:174
hpp::constraints::solver::HierarchicalIterative::Data::maxRank
size_type maxRank
Definition: hierarchical-iterative.hh:569
hpp::constraints::solver::HierarchicalIterative::Data::rightHandSide
LiegroupElement rightHandSide
Definition: hierarchical-iterative.hh:562
hpp::constraints::solver::HierarchicalIterative::squaredErrorThreshold_
value_type squaredErrorThreshold_
Definition: hierarchical-iterative.hh:598
hpp::constraints::solver::HierarchicalIterative::Data::comparison
ComparisonTypes_t comparison
Definition: hierarchical-iterative.hh:571
config.hh
hpp::constraints::solver::HierarchicalIterative::maxIterations
size_type maxIterations() const
Get maximal number of iterations in config projector.
Definition: hierarchical-iterative.hh:373
hpp::constraints::solver::lineSearch::ErrorNormBased::ErrorNormBased
ErrorNormBased(value_type alphaMin, value_type _a, value_type _b)
hpp::constraints::solver::HierarchicalIterative::constraints_
NumericalConstraints_t constraints_
Members moved from core::ConfigProjector.
Definition: hierarchical-iterative.hh:609
hpp::constraints::solver::lineSearch::FixedSequence
Definition: hierarchical-iterative.hh:63