Professional Documents
Culture Documents
Alumnos
27/08/2014
1.
Introduccin
En el presente escrito se muestran el desarrollo y los resultados, adems del subsecuente
anlisis, del trabajo nal de la materia Pasividad y diseos recursivos en sistemas dinmicos,
donde se aborda el desarrollo de un controlador, por medio del enfoque de pasividad, utilizando
herramientas de diseo recursivo, probando dicho controlador por medio de simulaciones numricas; teniendo as una comprobacin ms all de lo terico respecto a los contenidos de la materia.
Se aborda, especcamente, el problema de desarrollar un controlador que estabilice asintticamente al origen a un dispositivo de levitacin magntica conectado en cascada con un circuito
electrnico no lineal, probando al sistema por medio simulaciones numricas; el control del sistema se realiza haciendo la cascada pasiva, y esto se logra a travs de comprobar propiedades
de uno de los subsistemas y hacer que el otro cumpla varios requerimientos, esto se consigue a
travs de la herramienta de diseo recursivo backstepping.
2.
Planteamiento
Considere un sistema de levitacin magntica de un solo eje mostrado en la Fig. 1. El objeto
que levita magnticamente es un objeto esfrico con un pequeo imn permanente adherido al
mismo.
g es la fuerza de la gravedad,
electroimn y
vd
vc
1 = 2
b(1 )u
b(1 )
2 =
g+
u0
m
m
donde
, u = vc , u0
= col(d, d)
es el valor nominal de
b(1 ) =
con
a1 , a2 , a3
vc
b(1 )
(1)
1
a1 (1 + 1 )2 + a2 (1 + 1 ) + a3
b(0)u0
=g
m
(2)
3.
Backstepping
Utilizando el procedimiento de backstepping, encuentre una retroalimentacin de los esta-
dos
Inicialmente se dene una salida con grado relativo 1, para lo que es necesario que incluya
a
2 ,
2
de 1
dado que
dependiente
y = 2 (1 )
y 0,
2 = (1 )
1
se hace
(1 ) = 1
entonces la salida del subsistema (1) se dene como
y = 1 + 2
(3)
1 ,
funcin de Lyapunov
1
V1 = 12
2
que es denida positiva en el subsistema de
1 ,
(4)
V 1 = 1 1 = 1 2 = 12
que es denida negativa para el subsistema
1 ,
(5)
y,
1 = 2 = y + (1 ) = y 1
b(1 )u
b(1 )
g+
u0 + y 1
y = 2 (
1 ) = 2 + 1 =
m
m
(6)
con este cambio de coordenadas realizado se propone una funcin de Lyapunov para el subsistema
(6) completo
1
V2 = V1 + y 2
2
la que se deriva
V 2 = 1 1 |y=0 + y y =
12
+y
b(1 )u
b(1 )
g+
u0 + y 1
m
m
u=
m
(g 2y + 1 + v) u0
b(1 )
y salida
(7)
y
(8)
4.
Para poder usar una retroalimentacin negativa para lograr Estabilidad Asinttica Global
(EAG) es necesario que el sistema sea pasivo, lo que ya se realiz en la seccin 3, y tambin
es necesario que la dinmica cero sea Estado Cero Detectable (ECD), para probar esto se hace
v0
y 0,
y = 0
1 = y 1 = 1
entonces bajo la funcin de Lyapunov
V1
cero es global y asintticamente estable, por lo que es ECD. Entonces, se logra EAG al origen
con la retroalimentacin
v = k1 y
con
5.
k1 > 0,
k1
es
(0, ).
z = z 3 + zy
donde
(9)
Disee un control que estabilice asintticamente el sistema en cascada formado por los subsistemas (1) y (9). La ley de control debe ser una retroalimentacin de los estados
z , 1
2 .
Recuerde que hay que utilizar el hecho de que el subsistema (1) es equivalente a un sistema
pasivo (seccin 3 anterior).
Primero, para el sistema en cascada, compuesto por (9) y (6) se substituir la entrada pasivizante (8) en (6), para as obtener las ecuaciones del sistema pasivo equivalente
z = z 3 + zy
1 = y 1
b(1 )u0
b(1 )
y =
g+
m
m
m
(g 2y + 1 + v) u0
b(1 )
=vy
entonces, para que el sistema tenga la forma
z = f (z) + (z, )
= a() + b()v
+ y 1
se hacen
f (z) = z 3 ;
(z, ) = zy
"
#
" #
y 1
0
a() =
;
b() =
y
1
ahora, se verican las suposiciones necesarias para poder hacer a la cascada pasiva
i-
(z, )
)y ,
(z,
) = z
(z,
ii- El subsistema
T
(z, ) +
v = L W
para poder calcular esta entrada pasivizante se necesita conocer
del subsistema
z,
se propone
W (z) = k20 z 2
entonces se calcula
z,
con
k20 > 0,
ahora se calcula
W
= (2k20 z)z = 2k20 z 2
z
L W = k2 z 2 , con lo que la retroalimentacin
L W =
ahora, deniendo
k2 = 2k20
tenemos
que pasiviza
v = k2 z 2 +
(10)
con la que el sistema completo se hace pasivo, ahora, es necesario comprobar que su dinmica
cero es ECD, para lo que se hacen
y 0,
y = 0
1 = y 1 = 1
z = z 3 + zy = z 3
y por medio de la funcin de Lyapunov
1
1
V = 12 + z 2
2
2
que tiene como derivada
V = 1 1 + z z = 12 z 4
que es denida negativa se tiene que la dinmica cero es GAE, y por ello es ECD. Entonces, la
retroalimentacin
= k3 y
con
k3 > 0
(11)
logra EAG. Regresando todo a las coordenadas originales, tomando en cuenta (8),
m
g + 1 k2 z 2 (k3 + 2)(1 + 2 ) u0
b
retroalimentacin de los estados z , 1 y 2 .
u=
que efectivamente es una
(12)
6.
Simulaciones
Considere los siguientes valores nominales de los parmetros del subsistema (1):a1
= 0.0231
1
mg
1
1
a2 = 2.4455 mg
, a3 = 64.581
mg , u0 = 4.87volts, m = 2.206gramos y 1 = 38.20milmetros,
siendo mg el producto de la masa m por la fuerza de la gravedad g . Realice las siguientes simulaciones numricas.
Las simulaciones numricas se realizaron por medio del software Matlab, programando tanto
la planta como la ley de control por medio de Scripts; el programa que describe el comportamiento
de la planta, usada en todas las simulaciones, se muestra en el listing 1. As mismo se puede ver
el cdigo del programa usado, completo, en el anexo A.
1
3
5
7
9
11
13
15
17
function xd = Proyecto_Pas_sistema_A_01(x)
global a1 xi1b a2 a3 u m g u0
% Estado entrante
z = x(1) ;
xi1 = x(2) ;
xi2 = x(3) ;
% b(\ xi )
b = 1/( a1 ( xi1+xi1b )^2+a2 ( xi1+xi1b )+a3 ) ;
% Salida del Sistema ( Obtenida por Backstepping )
y = xi1 + xi2 ;
% Ecuaciones del Sistema
zd = z^3+z y ;
xi1d = xi2 ;
xi2d = b u/mg+b u0/m;
% Salida de la funcion
xd=[zd , xi1d , xi2d ] ' ;
end
Listing 1: Modelo da la planta.
6.1.
1 = 0, 2 = 0
y aplicando la entrada
u = 0,
grque el compor-
2 .
Para este punto se realizaron dos simulaciones, la primera usando el valor de control nominal
propuesto
u0 = 4.87volts,
u0 =
u0
u0
mg
b(0)
u0 =
mg
1
a1 12 +a2 1 +a3
= mg a1 12 + a2 1 + a3
u0 = 4.871344volts
como se puede observar, en la gura 2 se tiene que la posicin
u0
utilizada para
la primer simulacin es menor al necesario para mantenerlo en el equilibrio, por lo que la fuerza
u0 ,
por lo
que la velocidad permanece siendo cero y con ello la posicin tambin; el resultado observado
como oscilaciones dentro de la escala de
1013
la simulacin.
+20 % en los
de 1 y 2 .
valores nominales de
Realizando las mismas simulaciones que en el apartado (i), pero introduciendo el cambio en
los parmetros indicados, se obtienen las grcas mostradas en las guras 4 y 5 que corresponden
a usar
u0 = 4.87volts
u0 = 4.871344volts
respectivamente.
u0
que compensaba
6.2.
A diferencia de las simulaciones anteriores, para las simulaciones en lazo cerrado slo se har
una ocasin, debido a que la ley de control utilizada, resumida en (12), cancela explcitamente el
trmino del control nominal. El controlador usado para las simulaciones en lazo cerrado se puede
ver en el listing 2.
1
3
5
7
9
11
13
15
17
1 = 0, 2 = 0 y z = 0.5, y
comportamiento de 1 , 2 , z y u.
Tras aplicar la ley de control (12), implementada en el Listing 2, se obtuvieron los resultados
mostrados en la gura 6, en la que se puede observar tanto a los estados como a la seal de
y en menor medida
convergen a cero,
observa como todos los estados, adems de la seal de control convergen a cero. Se puede hacer
que el sistema converja ms rpidamente a cero por medio de hacer a las ganancias
grandes, dado que tienen un margen de ganancia
(0, ),
k2
k3
ms
esfuerzo de control crece, por lo que se consider apropiado dejarlos como se muestra.
k2
k3
V2
a1 , a2
a3 , se requie-
las incertidumbres y al resto de los trminos, por ello, para mantener la estabilidad del sistema,
estas ganancias requieren ser signicativamente grandes, segn pruebas realizadas, en el esquema
simulado, los valores
k2 = 75000
k3 = 75000
introducida, esto se puede ver en la gura 8; pero esto tiene la desventaja de requerir grandes
esfuerzos de control y para lograr estabilidad asinttica para mayores perturbaciones ser necesario hacer an ms grandes las ganancias, adems de que puede hacer inestables a dinmicas no
modeladas, por lo que no se considera una solucin apropiada al problema de hacer al controlador
robusto a cambios en los parmetros
a1 , a2
a3 .
a1 , a2
a3
se
propone utilizar una ley de control estructurada de la misma manera, pero con la diferencia de
que en lugar de hacer backstepping exacto usar backstepping robusto, para lo que se busca hacer
que la seal de control
que hace que (7) sea denida negativa domine las perturbaciones. Para
(1 , y),
en (8), con lo
que se tiene
u0 =
m
(g 2y + 1 + v) u0 + (1 , y)
b(1 )
b,
1 =
1 k3
1 + 10
z,
abordarlo es tomar en cuenta que los errores introducidos por la perturbacin son errores en
estado estacionario sobre
1 ,
pasado algn tiempo logre dominar las perturbaciones paramtricas, el cuan est dado por
2 =
0
10
y( )
d
3
lo que resulta en un control con buenas caractersticas de robustez, logrando una velocidad
de convergencia de los estados que se considera apropiada, esto se muestra en la gura 10,
donde se puede observar como es que la compensacin
paramtricas.
11
7.
Conclusiones
Debido a la naturaleza del sistema, en este caso, de levitacin por medio de campos magn-
ticos, es bien sabido que requiere de un gran ujo de campo para que un objeto pueda vencer la
fuerza de la gravedad, a pesar de que el material que esta repeliendo sea ferromagntico.
Ahora, tomando en cuenta que las cargas magnticas se conocen y debido a que la fuerza
requerida para mantener a cierta distancia los objetos es inversamente proporcional al cuadrado
de sus distancias, como se mostr en la seccin 6.1, la simulacin el lazo abierto, la ms mnima
variacin en la seal de control, la cual es directamente proporcional a la fuerza, hace que la
posicin de la esfera cambie considerablemente. Ms an, si se le somete a una variacin de sus
parmetros, como se muestra en el apartado (ii) de la seccin 6.1.
Para el sistema en lazo cerrado, se mostr claramente en la seccin 6.2, la seal de control al
ser retroalimentada se reajusta para colocar a la esfera en la posicin deseada, sin embargo, se
supone que se conocen con precision todos los datos del sistema, que como ya se vio es no lineal,
y como la retroalimentacin se hace por medio de backstepping exacto, con un cambio mnimo
en sus parmetros puede salirse de su regin de atraccin y desestabilizar el sistema, como se
muestra al perturbar al sistema en al apartado (iv) de la seccin 6.2.
Por lo que utilizando Backstepping robusto, agregando un trmino dominante, se puede aumentar el radio de la regin de atraccin, otorgndole mayor grado de robustez al control; que
con el primer trmino propuesto tiene como efecto requerir un mayor esfuerzo de control, el que
puede ser agresivo con el sistema, como se mostr en la gura 9, sin embargo, suponiendo que
el sistema lo soporta, se cumple con el objetivo requerido. El segundo trmino propuesto como
trmino dominante, muestra mejoras importantes al comportamiento del sistema bajo perturbaciones paramtricas, como se muestra en la gura 10, este trmino adems tiene la ventaja
sobre el anterior de que es menos agresivo con el sistema, cumpliendo el objetivo de estabilizacin.
Con todo esto, se considera que se ha logrado disear de manera exitosa un controlador para
un sistema en cascada, que usa la pasivacin como principal herramienta y el Backstepping como
herramienta para esta; comprobando as, de manera prctica, elementos de la teora vista en la
asignatura Pasividad y diseos recursivos en sistemas dinmicos.
12
Anexos
Anexo A: Cdigo usado en la Simulacin
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
41
43
45
47
49
51
53
55
57
59
61
63
65
67
69
clear a l l ;
clc ;
global a1 xi1b a2 a3 u m g u0
% Estados I n i c i a l e s Sistema
x1_0 = 0 . 5 ; % z
x2_0 = 0; % xi1 posicion [ milimetros ]
x3_0 = 0; % xi2 velocidad [ milimetros /s ]
x0 = [ x1_0 , x2_0 , x3_0 ] ' ;
% Constantes
g = 9810; %mm/s^2
m = 2.206; % gramos
% Parametros 'a ' originales , no se modifican
a1_0 = 0.0231/(m g) ;
a2_0 = 2.4455/(m g) ;
a3_0 = 64.581/(m g) ;
% Parametros 'a ' para la planta , la perturbacion los modifica
a1 = a1_0 ;
a2 = a2_0 ;
a3 = a3_0 ;
u0 = 4.87; % 1344;% % volts
xi1b = 38.2; % milimetros
% Tiempo de simulacion
t f = 20; % segundos
% Incremento del tiempo cada c i c l o de integracion
frec = 10000;
dt = 1/ frec ;
% Preparativos para las iteraciones de integracion
n = round ( t f /dt ) ; % Canidad de c i c l o s
r = length (x0) ;
% Orden de la planta
t = linspace (0 , tf , n) ; % Vector de tiempo
x( r , n) = 0;
%Mem PreLoc para los edos del sistema
up(n) = 0;
%Mem PreLoc para grafica de control
beta = 0;
betap (n) = beta ;
% Localizacion de los edos i n i c i a l e s en los vectores de estados
x ( : ,1 )=x0 ;
% Ciclos de integracion , uso del sistema
for i =1:n1
% Tiempo de integracion
ts = ( i 1) dt ;
% Controlador
k1 = 1000;
k2 = 4000;
k3 = 2000;
xi1 = x(2 , i ) ;
%'b( xi1 ) ' utilizado en el controlador , no en la planta
%depende de los 'a ' o r i g i n a l e s
b = 1/(a1_0 (x(2 , i )+xi1b )^2+a2_0 (x(2 , i )+xi1b )+a3_0) ;
z = x(1 , i ) ;
% Salida del backstepping
y = x(2 , i ) + x(3 , i ) ;
% Control
% Del punto 3 , retro del sistema completo
w = k3 y ;
% Del punto 2 , retro para subsistema xi
% v = k1 y ;
% Del punto 3 , w entrada pasivante para cascada completa
v = k2 ( z^2) + w;
% Compenzaciones para eliminar perturbaciones parametricas
% Compenzacion integral , crece hasta dominar \dot{V}_2
beta = beta dt y/3;
% Compenzacion de rapido crecimiento , ess pequenio , u grande
% beta = xi1 k3/( xi1 +10) ;
% Backstepping exacto
% beta = 0;
% Retroalimentacion que pasiviza subsistema xi
u = (m/b) (g 2 y + xi1 + v) u0 + beta ;
13
71
73
75
77
79
81
83
85
87
89
91
93
95
97
99
101
103
105
107
109
111
113
% Entrada cero
% u = 0;
up( i ) = u ; % Para graficar
betap ( i ) = beta ; % Para graficar
% Perturbacion
i f ( ts >= 3)
a1 = a1_0 1.2;
a2 = a2_0 1.2;
a3 = a3_0 1.2;
end
% Integracion de la Planta RK4
k1 = Proyecto_Pas_sistema_A_01(x ( : , i ) ) ;
k2 = Proyecto_Pas_sistema_A_01(x ( : , i ) + dt k1/2) ;
k3 = Proyecto_Pas_sistema_A_01(x ( : , i ) + dt k2/2) ;
k4 = Proyecto_Pas_sistema_A_01(x ( : , i ) + dt k3) ;
x ( : , i +1) = x ( : , i ) + ( dt /6) (k1 + 2 k2 + 2 k3 + k4) ;
end
up(n) = up(n 1) ; % Para graficar
betap (n) = betap (n 1) ;
% Estados resultantes
x1 = x (1 ,:) ;
x2 = x (2 ,:) ;
x3 = x (3 ,:) ;
% Grafica
figure (1) ;
clf ;
plot ( t , up , 'k ' ) ;
hold on ;
plot ( t , x3 , 'b ' ) ;
hold on ;
plot ( t , x2 , 'g ' ) ;
hold on ;
plot ( t , x1 , ' r ' ) ;
hold on ;
plot ( t , betap , 'y ' ) ;
hold on ;
plot ( t , upbetap , 'm' ) ;
legend ( 'u ( control ) [ volts ] ' , '\xi_2 ( velocidad ) [mm/s ] ' , . . .
'\xi_1 ( posicion ) [mm] ' , ' z ( t ) [ volts ] ' , . . .
'\beta (\xi_1 , y) ( compenzacion ) ' , 'u\beta (\xi_1 , y) ' ) ;
xlabel ( 'Tiempo [ segundos ] ' ) ;
grid ;
t i t l e ( ' Grafica de Estados y Control ' ) ;
14