From c4389a53fbc7135353c0d4245a8d1607b620ff9a Mon Sep 17 00:00:00 2001
From: Clemens Wallrath <uagzs@student.kit.edu>
Date: Fri, 16 Dec 2016 17:25:24 +0100
Subject: [PATCH] Adapts PIDController to virtual time

---
 source/RobotAPI/libraries/core/PIDController.cpp | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/source/RobotAPI/libraries/core/PIDController.cpp b/source/RobotAPI/libraries/core/PIDController.cpp
index e6774b820..855185688 100644
--- a/source/RobotAPI/libraries/core/PIDController.cpp
+++ b/source/RobotAPI/libraries/core/PIDController.cpp
@@ -23,6 +23,7 @@
  */
 
 #include "PIDController.h"
+#include <ArmarXCore/core/time/TimeUtil.h>
 #include <RobotAPI/libraries/core/math/MathUtils.h>
 
 using namespace armarx;
@@ -50,17 +51,17 @@ void PIDController::reset()
     firstRun = true;
     previousError = 0;
     integral = 0;
-    lastUpdateTime = IceUtil::Time::now();
+    lastUpdateTime = TimeUtil::GetTime();
 }
 
 void PIDController::update(double measuredValue, double targetValue)
 {
     ScopedRecursiveLock lock(mutex);
-    IceUtil::Time now = IceUtil::Time::now();
+    IceUtil::Time now = TimeUtil::GetTime();
 
     if (firstRun)
     {
-        lastUpdateTime = IceUtil::Time::now();
+        lastUpdateTime = TimeUtil::GetTime();
     }
 
     double dt = (now - lastUpdateTime).toSecondsDouble();
@@ -219,11 +220,11 @@ void MultiDimPIDController::update(const double deltaSec, const Eigen::VectorXf&
 void MultiDimPIDController::update(const Eigen::VectorXf& measuredValue, const Eigen::VectorXf& targetValue)
 {
     ScopedRecursiveLock lock(mutex);
-    IceUtil::Time now = IceUtil::Time::now();
+    IceUtil::Time now = TimeUtil::GetTime();
 
     if (firstRun)
     {
-        lastUpdateTime = IceUtil::Time::now();
+        lastUpdateTime = TimeUtil::GetTime();
     }
 
     double dt = (now - lastUpdateTime).toSecondsDouble();
@@ -242,7 +243,7 @@ void MultiDimPIDController::reset()
     firstRun = true;
     previousError = 0;
     integral = 0;
-    lastUpdateTime = IceUtil::Time::now();
+    lastUpdateTime = TimeUtil::GetTime();
     //    controlValue.setZero();
     //    processValue.setZero();
     //    target.setZero();
-- 
GitLab