diff --git a/src/ZMPRefTrajectoryGeneration/ZMPVelocityReferencedSQP.cpp b/src/ZMPRefTrajectoryGeneration/ZMPVelocityReferencedSQP.cpp
index 12506a1865ecbaa1c210480d31471e203b717014..a44261d9afdce8798358fea469b47ba87758bf42 100644
--- a/src/ZMPRefTrajectoryGeneration/ZMPVelocityReferencedSQP.cpp
+++ b/src/ZMPRefTrajectoryGeneration/ZMPVelocityReferencedSQP.cpp
@@ -65,9 +65,9 @@ ZMPRefTrajectoryGeneration(SPM),OFTG_(NULL),dynamicFilter_(NULL),CurrentIndexUpp
   m_SamplingPeriod = 0.005 ;
 
   // Generator Management
-  InterpolationPeriod_ = m_SamplingPeriod*7;
-  previewSize_ = 16 ;
-  previewDuration_ =  previewSize_*SQP_T_ ;
+  InterpolationPeriod_ = m_SamplingPeriod*10;
+  previewSize_ = 9 ;
+  previewDuration_ =  (previewSize_-1)*SQP_T_ ;
   NbSampleControl_ = (int)round(SQP_T_/m_SamplingPeriod) ;
   NbSampleInterpolation_ = (int)round(SQP_T_/InterpolationPeriod_) ;
   StepPeriod_ = 0.8 ;
@@ -135,10 +135,10 @@ ZMPRefTrajectoryGeneration(SPM),OFTG_(NULL),dynamicFilter_(NULL),CurrentIndexUpp
 
   // size = numberOfIterationOfThePreviewControl * NumberOfSample + Margin(=CurrentIndex)
   // Waring current index is higher on the robot than in the jrl Test suit
-  ZMPTraj_deq_      .resize( previewSize_ * NbSampleInterpolation_ + CurrentIndexUpperBound_);
-  COMTraj_deq_      .resize( previewSize_ * NbSampleInterpolation_ + CurrentIndexUpperBound_);
-  LeftFootTraj_deq_ .resize( previewSize_ * NbSampleInterpolation_ + CurrentIndexUpperBound_);
-  RightFootTraj_deq_.resize( previewSize_ * NbSampleInterpolation_ + CurrentIndexUpperBound_);
+  ZMPTraj_deq_      .resize( (previewSize_-1) * NbSampleInterpolation_ + CurrentIndexUpperBound_);
+  COMTraj_deq_      .resize( (previewSize_-1) * NbSampleInterpolation_ + CurrentIndexUpperBound_);
+  LeftFootTraj_deq_ .resize( (previewSize_-1) * NbSampleInterpolation_ + CurrentIndexUpperBound_);
+  RightFootTraj_deq_.resize( (previewSize_-1) * NbSampleInterpolation_ + CurrentIndexUpperBound_);
 
   ZMPTraj_deq_ctrl_      .resize( previewSize_ * NbSampleControl_ + CurrentIndexUpperBound_);
   COMTraj_deq_ctrl_      .resize( previewSize_ * NbSampleControl_ + CurrentIndexUpperBound_);
@@ -346,7 +346,7 @@ int ZMPVelocityReferencedSQP::InitOnLine(deque<ZMPPosition> & FinalZMPTraj_deq,
   dynamicFilter_->getComAndFootRealization()->ShiftFoot(true);
   dynamicFilter_->init(m_SamplingPeriod,
                        InterpolationPeriod_,
-                       SQP_T_,
+                       m_SamplingPeriod,
                        previewDuration_ ,
                        previewDuration_-SQP_T_,
                        lStartingCOMState);
@@ -408,17 +408,17 @@ void ZMPVelocityReferencedSQP::OnLine(double time,
 
     // INITIALIZE INTERPOLATION:
     // ------------------------
-    for (unsigned int i = 0  ; i < NbSampleControl_ + CurrentIndex_ ; ++i )
+    for (unsigned int i = 0  ; i < 1 + CurrentIndex_ ; ++i )
     {
       ZMPTraj_deq_ctrl_[i] = initZMP_ ;
       COMTraj_deq_ctrl_[i] = itCOM_ ;
       LeftFootTraj_deq_ctrl_[i] = initLeftFoot_ ;
       RightFootTraj_deq_ctrl_[i] = initRightFoot_ ;
     }
-    FinalZMPTraj_deq.resize( NbSampleControl_ + CurrentIndex_);
-    FinalCOMTraj_deq.resize( NbSampleControl_ + CurrentIndex_);
-    FinalLeftFootTraj_deq .resize(NbSampleControl_ + CurrentIndex_);
-    FinalRightFootTraj_deq.resize(NbSampleControl_ + CurrentIndex_);
+    FinalZMPTraj_deq.resize( 1 + CurrentIndex_);
+    FinalCOMTraj_deq.resize( 1 + CurrentIndex_);
+    FinalLeftFootTraj_deq .resize(1 + CurrentIndex_);
+    FinalRightFootTraj_deq.resize(1 + CurrentIndex_);
 
     // INTERPOLATION
     // ------------------------
@@ -434,7 +434,7 @@ void ZMPVelocityReferencedSQP::OnLine(double time,
       FinalRightFootTraj_deq[i] = RightFootTraj_deq_ctrl_[i] ;
     }
 
-    bool filterOn_ = false ;
+    bool filterOn_ = true ;
     if(filterOn_)
     {
 
@@ -453,17 +453,13 @@ void ZMPVelocityReferencedSQP::OnLine(double time,
                               deltaCOMTraj_deq_);
       #endif
       // Correct the CoM.
-      for (unsigned int i = 0 ; i < NbSampleControl_ ; ++i)
+      for (unsigned int i = 0 ; i < deltaCOMTraj_deq_.size() ; ++i)
       {
         for(int j=0;j<3;j++)
         {
           FinalCOMTraj_deq[i].x[j] += deltaCOMTraj_deq_[i].x[j] ;
           FinalCOMTraj_deq[i].y[j] += deltaCOMTraj_deq_[i].y[j] ;
         }
-//        FinalZMPTraj_deq[i].px = FinalCOMTraj_deq[i].x[0] -
-//            FinalCOMTraj_deq[i].x[2]*CoMHeight_/9.81;
-//        FinalZMPTraj_deq[i].py = FinalCOMTraj_deq[i].y[0] -
-//            FinalCOMTraj_deq[i].y[2]*CoMHeight_/9.81;
       }
 
     }// endif(filterOn_)
@@ -563,7 +559,7 @@ void ZMPVelocityReferencedSQP::FullTrajectoryInterpolation(double time)
   LeftFootTraj_deq_ctrl_ .pop_front();
   RightFootTraj_deq_ctrl_.pop_front();
 
-  unsigned int IndexMax = (int)round(previewDuration_/InterpolationPeriod_ );
+  unsigned int IndexMax = (int)round((previewDuration_)/InterpolationPeriod_ );
   ZMPTraj_deq_.resize(IndexMax);
   COMTraj_deq_.resize(IndexMax);
   LeftFootTraj_deq_.resize(IndexMax);
@@ -579,84 +575,6 @@ void ZMPVelocityReferencedSQP::FullTrajectoryInterpolation(double time)
     LeftFootTraj_deq_[j] = LeftFootTraj_deq_ctrl_[i] ;
     RightFootTraj_deq_[j] = RightFootTraj_deq_ctrl_[i] ;
   }
-
-  ofstream aof;
-  string aFileName;
-  static int iteration_zmp = 0 ;
-  ostringstream oss(std::ostringstream::ate);
-  oss.str("/tmp/buffer_");
-  oss << setfill('0') << setw(3) << iteration_zmp << ".txt" ;
-  aFileName = oss.str();
-  aof.open(aFileName.c_str(),ofstream::out);
-  aof.close();
-
-  aof.open(aFileName.c_str(),ofstream::app);
-  aof.precision(8);
-  aof.setf(ios::scientific, ios::floatfield);
-  for (int i = 0 ; i < ZMPTraj_deq_ctrl_.size() ; ++i)
-  {
-    aof << i << " " ; // 0
-    aof << ZMPTraj_deq_ctrl_[i].px << " " ;           // 1
-    aof << ZMPTraj_deq_ctrl_[i].py << " " ;           // 2
-
-    aof << ZMPTraj_deq_ctrl_[i].px << " " ;           // 3
-    aof << ZMPTraj_deq_ctrl_[i].py << " " ;           // 4
-
-    aof << COMTraj_deq_ctrl_[i].x[0] << " " ;         // 5
-    aof << COMTraj_deq_ctrl_[i].x[1] << " " ;         // 6
-    aof << COMTraj_deq_ctrl_[i].x[2] << " " ;         // 7
-
-    aof << LeftFootTraj_deq_ctrl_[i].x << " " ;       // 8
-    aof << LeftFootTraj_deq_ctrl_[i].dx << " " ;      // 9
-    aof << LeftFootTraj_deq_ctrl_[i].ddx << " " ;     // 10
-
-    aof << RightFootTraj_deq_ctrl_[i].x << " " ;      // 11
-    aof << RightFootTraj_deq_ctrl_[i].dx << " " ;     // 12
-    aof << RightFootTraj_deq_ctrl_[i].ddx << " " ;    // 13
-
-    aof << COMTraj_deq_ctrl_[i].y[0] << " " ;         // 14
-    aof << COMTraj_deq_ctrl_[i].y[1] << " " ;         // 15
-    aof << COMTraj_deq_ctrl_[i].y[2] << " " ;         // 16
-
-    aof << LeftFootTraj_deq_ctrl_[i].y << " " ;       // 17
-    aof << LeftFootTraj_deq_ctrl_[i].dy << " " ;      // 18
-    aof << LeftFootTraj_deq_ctrl_[i].ddy << " " ;     // 19
-
-    aof << RightFootTraj_deq_ctrl_[i].y << " " ;      // 20
-    aof << RightFootTraj_deq_ctrl_[i].dy << " " ;     // 21
-    aof << RightFootTraj_deq_ctrl_[i].ddy << " " ;    // 22
-
-    aof << COMTraj_deq_ctrl_[i].yaw[0] << " " ;       // 23
-    aof << COMTraj_deq_ctrl_[i].yaw[1] << " " ;       // 24
-    aof << COMTraj_deq_ctrl_[i].yaw[2] << " " ;       // 25
-
-    aof << LeftFootTraj_deq_ctrl_[i].theta << " " ;   // 26
-    aof << LeftFootTraj_deq_ctrl_[i].dtheta << " " ;  // 27
-    aof << LeftFootTraj_deq_ctrl_[i].ddtheta << " " ; // 28
-
-    aof << RightFootTraj_deq_ctrl_[i].theta << " " ;  // 29
-    aof << RightFootTraj_deq_ctrl_[i].dtheta << " " ; // 30
-    aof << RightFootTraj_deq_ctrl_[i].ddtheta << " " ;// 31
-
-    aof << COMTraj_deq_ctrl_[i].z[0] << " " ;         // 32
-    aof << COMTraj_deq_ctrl_[i].z[1] << " " ;         // 33
-    aof << COMTraj_deq_ctrl_[i].z[2] << " " ;         // 34
-
-    aof << LeftFootTraj_deq_ctrl_[i].z << " " ;       // 35
-    aof << LeftFootTraj_deq_ctrl_[i].dz << " " ;      // 36
-    aof << LeftFootTraj_deq_ctrl_[i].ddz << " " ;     // 37
-
-    aof << RightFootTraj_deq_ctrl_[i].z << " " ;      // 38
-    aof << RightFootTraj_deq_ctrl_[i].dz << " " ;     // 39
-    aof << RightFootTraj_deq_ctrl_[i].ddz << " " ;    // 40
-
-    aof << 0.0 << " " ;    // 41
-    aof << 0.0 << " " ;    // 42
-    aof << endl ;
-  }
-  aof.close();
-  iteration_zmp++;
-
   return ;
 }
 
@@ -682,14 +600,12 @@ void ZMPVelocityReferencedSQP::CoMZMPInterpolation(
     jx = 6/(tf*tf*tf)*(jx - tf*COMTraj_deq_ctrl_[i-1].x[1] - (tf*tf/2)*COMTraj_deq_ctrl_[i-1].x[2]);
     jy = 6/(tf*tf*tf)*(jy - tf*COMTraj_deq_ctrl_[i-1].y[1] - (tf*tf/2)*COMTraj_deq_ctrl_[i-1].y[2]);
     LIPM->Interpolation( COMTraj_deq_ctrl_, ZMPTraj_deq_ctrl_, currentIndex + IterationNumber * numberOfSample, jx, jy);
-    //LIPM->OneIteration( jx, jy );
   }
   else
   {
     Running_ = true;
     LIPM->Interpolation( COMTraj_deq_ctrl_, ZMPTraj_deq_ctrl_, currentIndex,
                          JerkX[IterationNumber], JerkY[IterationNumber] );
-    //LIPM->OneIteration( JerkX[IterationNumber],JerkY[IterationNumber] );
   }
   return ;
 }