From 925541cd098ed21969459e3146dd16d7e7cac24d Mon Sep 17 00:00:00 2001
From: Martin Karlsson <cont-mkr@ulund.org>
Date: Wed, 22 Mar 2017 09:04:01 +0100
Subject: [PATCH] minor bug fixed

---
 dmp2vel_acc_ss.m | 8 ++++----
 main.m           | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dmp2vel_acc_ss.m b/dmp2vel_acc_ss.m
index 35b8f8b..0fc91f4 100644
--- a/dmp2vel_acc_ss.m
+++ b/dmp2vel_acc_ss.m
@@ -1,4 +1,4 @@
-function [ydot, yddot] = dmp2vel_acc_ss(y0, y, g, tau, w, x, dt, alpha_e, c, D, alpha_z, beta_z,ya,e,kc)
+function [ydot, yddot] = dmp2vel_acc_ss(y0, y, g, tau_adapt, w, x, dt, alpha_e, c, D, alpha_z, beta_z,ya,e,kc,tau)
 
 persistent z
 if isempty(z)
@@ -7,9 +7,9 @@ end
 
 psi = exp(-0.5*((x-c).^2).*D);
 f  = sum(w'*psi)/sum(psi+1.e-10) * x * (g-y0);
-z_dot = 1/tau * (alpha_z*(beta_z*(g-y) - z) + f);
+z_dot = 1/tau_adapt * (alpha_z*(beta_z*(g-y) - z) + f);
 z = z + dt*z_dot;
-ydot = z/tau;
-yddot = (z_dot*tau-z*2*kc*e*(alpha_e*(ya-y-e)))/tau^2;
+ydot = z/tau_adapt;
+yddot = (z_dot*tau_adapt-tau*z*2*kc*e*(alpha_e*(ya-y-e)))/tau_adapt^2;
 
 end
diff --git a/main.m b/main.m
index c368c6c..b0edfa8 100644
--- a/main.m
+++ b/main.m
@@ -51,7 +51,7 @@ y_ddot_log = zeros(size(y));
 for t = 2:2*P
     tau_adapt = tau*(1+(kc*e^2)); % Adaptive time parameter
     ya_ddot = get_ya_ddot_lowgain_ff(ya(t-1), ya_dot, y(t-1), ydot, yddot); % Get reference accceleration for actual trajectory
-    [ydot, yddot]  = dmp2vel_acc_ss(y0, y(t-1), g, tau_adapt, w, x, dt, alpha_e, c, D, alpha_z, beta_z,ya(t-1),e,kc); % Get coupled acceleration and velocit,y given DMP and states
+    [ydot, yddot]  = dmp2vel_acc_ss(y0, y(t-1), g, tau_adapt, w, x, dt, alpha_e, c, D, alpha_z, beta_z,ya(t-1),e,kc,tau); % Get coupled acceleration and velocit,y given DMP and states
     y(t) = y(t-1) + ydot*dt;
     xdot = -alpha_x*x/tau_adapt;    
     x = x + xdot*dt;
@@ -103,7 +103,7 @@ y_ddot_log = zeros(size(y));
 for t = 2:2*P
     tau_adapt = tau*(1+(kc*e^2)); % Adaptive time parameter
     ya_ddot = get_ya_ddot_lowgain_ff(ya(t-1), ya_dot, y(t-1), ydot, yddot); % Get reference accceleration for actual trajectory
-    [ydot, yddot]  = dmp2vel_acc_ss(y0, y(t-1), g, tau_adapt, w, x, dt, alpha_e, c, D, alpha_z, beta_z,ya(t-1),e,kc); % Get coupled acceleration and velocit,y given DMP and states
+    [ydot, yddot]  = dmp2vel_acc_ss(y0, y(t-1), g, tau_adapt, w, x, dt, alpha_e, c, D, alpha_z, beta_z,ya(t-1),e,kc,tau); % Get coupled acceleration and velocit,y given DMP and states
     y(t) = y(t-1) + ydot*dt;
     xdot = -alpha_x*x/tau_adapt;    
     x = x + xdot*dt;
-- 
GitLab