From 913acba1601c2d1d094ca23fd1708faf13d220ca Mon Sep 17 00:00:00 2001
From: Francois Keith <francois.keith@inrialpes.fr>
Date: Wed, 24 Aug 2011 09:52:47 +0200
Subject: [PATCH] Correct some rebase errors

---
 .../FootTrajectoryGenerationMultiple.cpp          |  2 +-
 .../FootTrajectoryGenerationStandard.cpp          | 15 ++++++---------
 .../FootTrajectoryGenerationStandard.h            |  4 ++--
 .../OnLineFootTrajectoryGeneration.cpp            | 13 ++++++++-----
 src/Mathematics/PolynomeFoot.cpp                  |  3 ---
 5 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/src/FootTrajectoryGeneration/FootTrajectoryGenerationMultiple.cpp b/src/FootTrajectoryGeneration/FootTrajectoryGenerationMultiple.cpp
index c1db63e2..cb670d35 100644
--- a/src/FootTrajectoryGeneration/FootTrajectoryGenerationMultiple.cpp
+++ b/src/FootTrajectoryGeneration/FootTrajectoryGenerationMultiple.cpp
@@ -252,7 +252,7 @@ int FootTrajectoryGenerationMultiple::SetParametersWithInitPosInitSpeedInitAcc(u
     return -1;
 
 
-  m_SetOfFootTrajectoryGenerationObjects[IntervalIndex]->SetParametersWithInitPosInitSpeedInitAcc(AxisReference,
+  m_SetOfFootTrajectoryGenerationObjects[IntervalIndex]->SetParameters(AxisReference,
 											  TimeInterval,
 											  FinalPosition,
 											  InitPosition,
diff --git a/src/FootTrajectoryGeneration/FootTrajectoryGenerationStandard.cpp b/src/FootTrajectoryGeneration/FootTrajectoryGenerationStandard.cpp
index 5afaf1d0..5d5973dc 100644
--- a/src/FootTrajectoryGeneration/FootTrajectoryGenerationStandard.cpp
+++ b/src/FootTrajectoryGeneration/FootTrajectoryGenerationStandard.cpp
@@ -208,15 +208,15 @@ int FootTrajectoryGenerationStandard::SetParametersWithInitPosInitSpeed(int Poly
      break;
 
    case THETA_AXIS:
-     m_PolynomeTheta->SetParameters(TimeInterval,FinalPosition,InitPosition,InitSpeed,0.0);
+     m_PolynomeTheta->SetParametersWithInitPosInitSpeed(TimeInterval,FinalPosition,InitPosition,InitSpeed);
      break;
 
    case OMEGA_AXIS:
-     m_PolynomeOmega->SetParameters(TimeInterval,FinalPosition,InitPosition,InitSpeed,0.0);
+     m_PolynomeOmega->SetParametersWithInitPosInitSpeed(TimeInterval,FinalPosition,InitPosition,InitSpeed);
      break;
 
    case OMEGA2_AXIS:
-     m_PolynomeOmega2->SetParameters(TimeInterval,FinalPosition,InitPosition,InitSpeed,0.0);
+     m_PolynomeOmega2->SetParametersWithInitPosInitSpeed(TimeInterval,FinalPosition,InitPosition,InitSpeed);
      break;
 
    default:
@@ -268,28 +268,25 @@ double FootTrajectoryGenerationStandard::ComputeAll(FootAbsolutePosition & aFoot
 {
   aFootAbsolutePosition.x = m_PolynomeX->Compute(Time);
   aFootAbsolutePosition.dx = m_PolynomeX->ComputeDerivative(Time);
-  aFootAbsolutePosition.ddx = m_PolynomeX->ComputeSecondDerivative(Time);
+//  aFootAbsolutePosition.ddx = m_PolynomeX->ComputeSecDerivative(Time);
   ODEBUG("t: " << Time << " : " << aFootAbsolutePosition.x); 
 
   aFootAbsolutePosition.y = m_PolynomeY->Compute(Time);
   aFootAbsolutePosition.dy = m_PolynomeY->ComputeDerivative(Time);
-  aFootAbsolutePosition.ddy = m_PolynomeY->ComputeSecondDerivative(Time);
+//  aFootAbsolutePosition.ddy = m_PolynomeY->ComputeSecDerivative(Time);
 
   aFootAbsolutePosition.z = m_PolynomeZ->Compute(Time);
   aFootAbsolutePosition.dz = m_PolynomeZ->ComputeDerivative(Time);
-  aFootAbsolutePosition.ddz = m_PolynomeZ->ComputeSecondDerivative(Time);
+//  aFootAbsolutePosition.ddz = m_PolynomeZ->ComputeSecDerivative(Time);
 
   aFootAbsolutePosition.theta = m_PolynomeTheta->Compute(Time);
   aFootAbsolutePosition.dtheta = m_PolynomeTheta->ComputeDerivative(Time);
-  aFootAbsolutePosition.ddtheta = m_PolynomeTheta->ComputeSecondDerivative(Time);
 
   aFootAbsolutePosition.omega = m_PolynomeOmega->Compute(Time);
   aFootAbsolutePosition.domega = m_PolynomeOmega->ComputeDerivative(Time);
-  aFootAbsolutePosition.ddomega = m_PolynomeOmega->ComputeSecondDerivative(Time);
 
   aFootAbsolutePosition.omega2 = m_PolynomeOmega2->Compute(Time);
   aFootAbsolutePosition.domega2 = m_PolynomeOmega2->ComputeDerivative(Time);
-  aFootAbsolutePosition.ddomega2 = m_PolynomeOmega2->ComputeSecondDerivative(Time);
 
   return Time;
 }
diff --git a/src/FootTrajectoryGeneration/FootTrajectoryGenerationStandard.h b/src/FootTrajectoryGeneration/FootTrajectoryGenerationStandard.h
index 24fb4dca..cfcc820e 100644
--- a/src/FootTrajectoryGeneration/FootTrajectoryGenerationStandard.h
+++ b/src/FootTrajectoryGeneration/FootTrajectoryGenerationStandard.h
@@ -178,10 +178,10 @@ namespace PatternGeneratorJRL
    Polynome5 *m_PolynomeX,*m_PolynomeY;
    
    /*! \brief Polynome for X-Y orientation */
-   Polynome5 *m_PolynomeTheta;
+   Polynome3 *m_PolynomeTheta;
 
    /*! \brief Polynome for Y-Z orientation */
-   Polynome5 *m_PolynomeOmega, *m_PolynomeOmega2;
+   Polynome3 *m_PolynomeOmega, *m_PolynomeOmega2;
 
    /*! \brief Polynome for Z axis position. */
    Polynome5 *m_PolynomeZ;   
diff --git a/src/FootTrajectoryGeneration/OnLineFootTrajectoryGeneration.cpp b/src/FootTrajectoryGeneration/OnLineFootTrajectoryGeneration.cpp
index 25642a17..ec3ade95 100644
--- a/src/FootTrajectoryGeneration/OnLineFootTrajectoryGeneration.cpp
+++ b/src/FootTrajectoryGeneration/OnLineFootTrajectoryGeneration.cpp
@@ -96,7 +96,8 @@ OnLineFootTrajectoryGeneration::UpdateFootPosition(deque<FootAbsolutePosition> &
       //theta, dtheta
       curr_NSFAP.theta   = m_PolynomeTheta->Compute(remainingTime);
       curr_NSFAP.dtheta  = m_PolynomeTheta->ComputeDerivative(remainingTime);
-      curr_NSFAP.ddtheta = m_PolynomeTheta->ComputeSecondDerivative(remainingTime);
+      if(m_PolynomeTheta->Degree() > 4)
+        curr_NSFAP.ddtheta = m_PolynomeTheta->ComputeSecDerivative(remainingTime);
     }
   else 
     {
@@ -114,7 +115,8 @@ OnLineFootTrajectoryGeneration::UpdateFootPosition(deque<FootAbsolutePosition> &
       //theta, dtheta
       curr_NSFAP.theta = m_PolynomeTheta->Compute( InterpolationTime );
       curr_NSFAP.dtheta = m_PolynomeTheta->ComputeDerivative(InterpolationTime);
-      curr_NSFAP.ddtheta = m_PolynomeTheta->ComputeSecondDerivative(InterpolationTime);
+      if(m_PolynomeTheta->Degree() > 4)
+        curr_NSFAP.ddtheta = m_PolynomeTheta->ComputeSecDerivative(InterpolationTime);
     }
 
   if(HalfTimePassed_==false && LocalInterpolationStartTime+InterpolationTime >= m_TSingle/2.0 )
@@ -153,7 +155,8 @@ OnLineFootTrajectoryGeneration::UpdateFootPosition(deque<FootAbsolutePosition> &
       curr_NSFAP.omega   = m_PolynomeOmega->Compute(InterpolationTime);
 //TODO      curr_NSFAP.domega  = m_PolynomeOmega->Compute(InterpolationTime);
       curr_NSFAP.domega  = m_PolynomeOmega->ComputeDerivative(InterpolationTime);
-      curr_NSFAP.ddomega = m_PolynomeOmega->ComputeSecondDerivative(InterpolationTime);
+      if(m_PolynomeOmega->Degree() > 4)
+        curr_NSFAP.ddomega = m_PolynomeOmega->ComputeSecDerivative(InterpolationTime);
 
       ProtectionNeeded=true;
     }
@@ -293,11 +296,11 @@ OnLineFootTrajectoryGeneration::interpolate_feet_positions(double Time,
         }
 
       //Set parameters for current polynomial
-      double TimeInterval = UnlockedSwingPeriod-InterpolationTimePassed;
+      double TimeInterval = UnlockedSwingPeriod-SwingTimePassed;
       SetParameters(
     	  FootTrajectoryGenerationStandard::X_AXIS,
           TimeInterval,FPx,
-          LastSFP->x, LastSFP->dx, LastSFP->ddx)
+          LastSFP->x, LastSFP->dx, LastSFP->ddx
           );
       SetParameters(
     	  FootTrajectoryGenerationStandard::Y_AXIS,
diff --git a/src/Mathematics/PolynomeFoot.cpp b/src/Mathematics/PolynomeFoot.cpp
index 561937d8..d213d83d 100644
--- a/src/Mathematics/PolynomeFoot.cpp
+++ b/src/Mathematics/PolynomeFoot.cpp
@@ -153,9 +153,6 @@ void Polynome5::SetParameters(double FT, double FP,
   m_Coefficients[5] = ( -1.0/2.0*InitAcc*FT*FT - 3.0*InitSpeed*FT - 6.0*InitPos + 6.0*FP)/tmp;
 }
 
-Polynome5::~Polynome5()
-{}
-
 Polynome6::Polynome6(double FT, double MP) :Polynome(6)
 {
   SetParameters(FT,MP);
-- 
GitLab