diff --git a/src/ZMPRefTrajectoryGeneration/generator-vel-ref.cpp b/src/ZMPRefTrajectoryGeneration/generator-vel-ref.cpp index f4e53a6ac4ecd700f8aa0a5e1ef91573c8a3ff51..50def749f5906900af57f3b8f816288b8331d799 100644 --- a/src/ZMPRefTrajectoryGeneration/generator-vel-ref.cpp +++ b/src/ZMPRefTrajectoryGeneration/generator-vel-ref.cpp @@ -73,9 +73,10 @@ GeneratorVelRef::preview(IntermedQPMat Matrices, SupportFSM * FSM, std::deque<support_state_t> & deqSupportStates) { - //initialize the previewed support state before previewing const support_state_t & CurrentSupport = deqSupportStates[0]; support_state_t PreviewedSupport; + + //initialize the previewed support state before previewing PreviewedSupport.Phase = CurrentSupport.Phase; PreviewedSupport.Foot = CurrentSupport.Foot; PreviewedSupport.StepsLeft = CurrentSupport.StepsLeft; @@ -92,32 +93,7 @@ GeneratorVelRef::preview(IntermedQPMat Matrices, } - -void -GeneratorVelRef::generateSelectionMatrices(IntermedQPMat & Matrices, - std::deque<support_state_t> & deqSupportStates) -{ - - IntermedQPMat::state_variant_t & State = Matrices.State(); - const int & NbPrwSteps = deqSupportStates.back().StepNumber; - MAL_VECTOR_RESIZE(State.Vc,m_N); - MAL_MATRIX_RESIZE(State.V,m_N,NbPrwSteps); - - std::deque<support_state_t>::iterator SS_it; - SS_it = deqSupportStates.begin(); - SS_it++; - for(int i=0;i<m_N;i++) - { - if(SS_it->StepNumber>0) - State.V(i,SS_it->StepNumber-1) = State.VT(SS_it->StepNumber-1,i) = 1.0; - else - State.Vc(i) = 1.0; - SS_it++; - } - -} - - + void GeneratorVelRef::computeGlobalReference(IntermedQPMat & Matrices, COMState TrunkStateT) { @@ -248,6 +224,7 @@ GeneratorVelRef::buildInvariantPart(QPProblem & Pb, IntermedQPMat & Matrices) MAL_MATRIX(weightMTM,double); const IntermedQPMat::objective_variant_t & Jerk = Matrices.Objective(IntermedQPMat::JERK); + // Final scaled products that are added to the QP computeTerm(weightMTM, Jerk.weight, Jerk.UT, Jerk.U); Pb.addTerm(weightMTM, QPProblem::MATRIX_Q, 0, 0); Pb.addTerm(weightMTM, QPProblem::MATRIX_Q, m_N, m_N); diff --git a/src/ZMPRefTrajectoryGeneration/generator-vel-ref.hh b/src/ZMPRefTrajectoryGeneration/generator-vel-ref.hh index 5203fa39633f562fa7a0ee61b7fb3662d43b68d0..682337c9bb41f986e490e4355adc259d334bdd1f 100644 --- a/src/ZMPRefTrajectoryGeneration/generator-vel-ref.hh +++ b/src/ZMPRefTrajectoryGeneration/generator-vel-ref.hh @@ -78,13 +78,6 @@ namespace PatternGeneratorJRL void preview(IntermedQPMat Matrices, SupportFSM * FSM, std::deque<support_state_t> & deqSupportStates); - /// \brief Compute the selection matrices - /// - /// \param Matrices - /// \param deqSupportStates - void generateSelectionMatrices(IntermedQPMat & Matrices, - std::deque<support_state_t> & deqSupportStates); - /// \brief Set the global reference from the local one and the orientation of the trunk frame /// for the whole preview window /// @@ -111,7 +104,7 @@ namespace PatternGeneratorJRL /// \param DS void addIneqConstraint(std::deque<LinearConstraintInequalityFreeFeet_t> ConstraintsDeque, MAL_MATRIX (&DU, double), MAL_MATRIX (&DS, double)); - + /// \brief Generate a queue of inequality constraints on the ZMP for the whole preview window /// /// \param CjrlFoot