place/ball_im.py
changeset 0 0efde00f9229
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/place/ball_im.py	Fri May 27 14:24:59 2011 +0530
@@ -0,0 +1,60 @@
+#!/usr/bin/python 
+# 9.9
+import os, sys
+sys.path += [os.getcwdu() + os.sep + ".." + os.sep + "python"]
+
+import scipy as sp
+from scipy import signal
+from myc2d import myc2d
+from pp_im import pp_im
+from desired import desired
+
+# Magnetically suspended ball problem
+# Operating conditions
+
+M = 0.05
+L = 0.01
+R = 1
+K = 0.0001
+g = 9.81
+
+#Equilibrium conditions
+hs = 0.01
+i = sqrt(M*g*hs/K)
+
+
+# State space matrices
+a21 = K*i**2/M/hs**2
+a23 = - 2*K*i/M/hs
+a33 = - R/L
+b3 = 1/L
+a = sp.array([[0, 1, 0], [a21, 0, a23], [0, 0, a33]])
+b = sp.array([[0], [0], [b3]])
+c = sp.array([1, 0, 0])
+d = 0
+
+# Transfer functions
+G = signal.lti(a, b, c, d)
+Ts = 0.01
+B, A, k = myc2d(G,Ts)
+
+# Transient specifications
+rise = 0.15
+epsilon = 0.05
+phi = desired(Ts, rise, epsilon)
+
+# Controller design
+Delta = sp.array([1, -1])
+Rc, Sc, Tc, gamm = pp_im(B, A, k, phi)
+
+# Setting up simulation parameters for basic
+st = 0.0001 # desired change in h, in m.
+t_init = 0  # simulation start time
+t_final = 0.5 # simulation end time
+
+# Setting up simulation parameters for c_ss_cl
+N_var = 0
+xInitial = [0 0 0]
+N = 1
+C = 0 
+D = 1