Go to the documentation of this file.
32 #ifndef _PLDP_SOLVER_H_HERDT
47 PLDPSolverHerdt(
unsigned int CardU,
double *iPu,
double *Px,
double *Pu,
56 std::deque<PatternGeneratorJRL::LinearConstraintInequalityFreeFeet_t>
57 &QueueOfLConstraintInequalitiesFreeFeet,
58 std::deque<PatternGeneratorJRL::SupportFeet_t> &QueueOfSupportFeet,
59 double *CstPartOfTheCostFunction,
unsigned int NbOfConstraints,
60 double *LinearPartOfConstraints,
double *CstPartOfConstraints,
61 double *XkYk,
double *X,
unsigned int NumberOfRemovedConstraints,
62 unsigned int NbRemovedFootCstr,
bool StartingSequence,
63 unsigned int NumberSteps,
bool CurrentStateChanged,
double time);
71 std::deque<PatternGeneratorJRL::LinearConstraintInequalityFreeFeet_t>
72 &QueueOfLConstraintInequalitiesFreeFeet,
73 std::deque<PatternGeneratorJRL::SupportFeet_t> &QueueOfSupportFeet,
74 unsigned int NumberSteps,
double *XkYk);
113 double ComputeAlpha(vector<unsigned int> &NewActivatedConstraints,
114 unsigned int NumberSteps);
144 double *m_CstPartOfCostFunction;
147 double *m_UnconstrainedDescentDirection;
162 double *m_v1, *m_v2, *m_y;
165 double *m_tmp1, *m_tmp2;
174 bool *m_ConstraintsValueComputed;
179 unsigned int m_NbMaxOfConstraints;
182 double m_DistanceFeetCenters;
184 unsigned int m_NbOfConstraints;
187 unsigned int m_CardV;
190 unsigned int *m_NbSteps;
196 unsigned int m_DebugMode;
204 PatternGeneratorJRL::OptCholesky *m_OptCholesky;
207 vector<unsigned int> m_ActivatedConstraints;
210 vector<unsigned int> m_PreviouslyActivatedConstraints;
216 double *m_InitialZMPSolution;
219 double m_InternalTime;
228 bool m_LimitedComputationTime;
231 double m_AmountOfLimitedComputationTime;
~PLDPSolverHerdt()
Destructor.
Definition: PLDPHerdt.cpp:154
int BackwardSubstitution()
Compute v2 q (14b) in Dimitrov 2009. Second phase a Now solving LL^t v2 = v1 <-> L y = v1 with L^t v2...
Definition: PLDPHerdt.cpp:369
int ComputeProjectedDescentDirection(unsigned int NumberSteps)
Compute Projected descent direction.
Definition: PLDPHerdt.cpp:398
int ForwardSubstitution()
Forward substitution. First Phase EE^t v2 = v1 <-> LL^t v2 = v1 Now solving L y = v1.
Definition: PLDPHerdt.cpp:346
void WriteCurrentZMPSolution(string filename, double *XkYk)
Definition: PLDPHerdt.cpp:902
int ComputeInitialSolution(std::deque< PatternGeneratorJRL::LinearConstraintInequalityFreeFeet_t > &QueueOfLConstraintInequalitiesFreeFeet, std::deque< PatternGeneratorJRL::SupportFeet_t > &QueueOfSupportFeet, unsigned int NumberSteps, double *XkYk)
Definition: PLDPHerdt.cpp:251
Definition: PLDPSolverHerdt.hh:44
int PrecomputeiPuPx(unsigned int NumberSteps)
Definition: PLDPHerdt.cpp:185
int SolveProblem(std::deque< PatternGeneratorJRL::LinearConstraintInequalityFreeFeet_t > &QueueOfLConstraintInequalitiesFreeFeet, std::deque< PatternGeneratorJRL::SupportFeet_t > &QueueOfSupportFeet, double *CstPartOfTheCostFunction, unsigned int NbOfConstraints, double *LinearPartOfConstraints, double *CstPartOfConstraints, double *XkYk, double *X, unsigned int NumberOfRemovedConstraints, unsigned int NbRemovedFootCstr, bool StartingSequence, unsigned int NumberSteps, bool CurrentStateChanged, double time)
Solve the optimization problem.
Definition: PLDPHerdt.cpp:603
Definition: PLDPSolver.hh:38
PLDPSolverHerdt(unsigned int CardU, double *iPu, double *Px, double *Pu, double *iLQ)
Constructor.
Definition: PLDPHerdt.cpp:56
double ComputeAlpha(vector< unsigned int > &NewActivatedConstraints, unsigned int NumberSteps)
Definition: PLDPHerdt.cpp:512
void InitializeSolver(unsigned int NumberSteps)
Definition: PLDPHerdt.cpp:132
void AllocateMemoryForSolver(unsigned int NumberSteps)
Definition: PLDPHerdt.cpp:102