changeset 9537:3425362a3a0e octave-forge

control: touch up example
author paramaniac
date Wed, 29 Feb 2012 20:09:03 +0000
parents 04d292363111
children 9bea7572720b
files main/control/inst/optiPID.m main/control/inst/optiPIDctrl.m main/control/inst/optiPIDfun.m
diffstat 3 files changed, 17 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/main/control/inst/optiPID.m	Wed Feb 29 10:07:16 2012 +0000
+++ b/main/control/inst/optiPID.m	Wed Feb 29 20:09:03 2012 +0000
@@ -66,7 +66,6 @@
 kp_opt = C_par_opt(1)
 Ti_opt = C_par_opt(2)
 Td_opt = C_par_opt(3)
-tau_opt = Td_opt / 10
 
 C_opt = optiPIDctrl (kp_opt, Ti_opt, Td_opt);
 
--- a/main/control/inst/optiPIDctrl.m	Wed Feb 29 10:07:16 2012 +0000
+++ b/main/control/inst/optiPIDctrl.m	Wed Feb 29 20:09:03 2012 +0000
@@ -1,10 +1,18 @@
+% ===============================================================================
+% optiPIDctrl                      Lukas Reichlin                   February 2012
+% ===============================================================================
+% Return PID controller with roll-off for given parameters Kp, Ti and Td.
+% ===============================================================================
+
 function C = optiPIDctrl (Kp, Ti, Td)
 
-  tau = Td / 10;
+  tau = Td / 10;    % roll-off
 
   num = Kp * [Ti*Td, Ti, 1];
   den = conv ([Ti, 0], [tau^2, 2*tau, 1]);
   
   C = tf (num, den);
 
-end
\ No newline at end of file
+end
+
+% ===============================================================================
--- a/main/control/inst/optiPIDfun.m	Wed Feb 29 10:07:16 2012 +0000
+++ b/main/control/inst/optiPIDfun.m	Wed Feb 29 20:09:03 2012 +0000
@@ -11,8 +11,13 @@
   % Global Variables
   global P t dt mu_1 mu_2 mu_3
 
-  % Function Argument -> PID Controller with Roll-Off
-  C = optiPIDctrl (num2cell (C_par){:});
+  % Function Argument -> Controller Parameters
+  kp = C_par(1);
+  Ti = C_par(2);
+  Td = C_par(3);
+
+  % PID Controller with Roll-Off
+  C = optiPIDctrl (kp, Ti, Td);
 
   % Open Loop
   L = P * C;