contenidos minimos para un curso de control no lineal de sistemas

Anuncio
CONTENIDOS MINIMOS PARA UN CURSO DE CONTROL NO
LINEAL DE SISTEMAS CONTINUOS BASADO EN CALCULO
NUMERICO-SIMBOLICO CON MATLAB
Manuel F. Pérez Polo, José Ángel Berná Galiano, Javier Gil Chica
Departamento de Física Ingeniería de Sistemas y Teoría de la Señal. Universidad de Alicante. Escuela
Politécnica Superior. Apartado 99, E-03080. Alicante. E-mail: [email protected]; [email protected] ;
[email protected]
Manuel Pérez Molina
Dpto. Ciencia de Materiales Óptica y Tecnología Electrónica, Universidad Miguel Hernández,
Avda. Ferrocarril sn 03202 Elche E-mail: [email protected]
Actualmente, la geometría diferencial ha
demostrado ser una herramienta eficaz en el
análisis y diseño de sistemas de control no
lineales; de la misma forma que en el pasado lo
fueron el álgebra lineal, la variable compleja y
la transformada de Laplace para sistemas
lineales. A pesar de que los conocimientos
matemáticos básicos pueden ser fácilmente
asimilados por alumnos a nivel de segundo
ciclo, tales cursos no suelen ser habituales en
los programas de control Es ahí donde
pretendemos incidir en este trabajo, presentando
una introducción a los sistemas de control no
lineales desde el punto de vista computacional,
utilizando la capacidad numérico-simbólica de
Matlab [1].
El curso esta dirigido a estudiantes de ingeniería
con un conocimiento básico de de las técnicas
de control lineal basado en espacio de estados
[4], [5], [6], [17], [18]. Las demostraciones
rigurosas no son estrictamente necesarias para el
curso y se pueden encontrar en [2], [5], [6], por
tanto no es necesario considerarlas en un curso
como este de introducción. Más bien sería
deseable poner énfasis en los conceptos de
forma intuitiva, cuando se comparan con la
teoría de sistemas lineales. Por consiguiente, el
curso podría basarse en los siguientes puntos.
a) Tipo de sistema: monovariable (SISO) frente
a multivariable (MIMO) y en la estructura de las
ecuaciones del sistema a las que se les aplica el
control no lineal (sistemas descritos por
ecuaciones en forma afín). Aquí sería
interesante poner muchos ejemplos de
aplicación para motivar al alumno.
b)
Conceptos
de
controlabilidad
y
observabilidad a partir del concepto de álgebra
y corchetes de Lie, comparando con los
sistemas lineales.
c) Concepto de distribución y de grado relativo
para sistemas SISO, MIMO y su relación con
los polos y ceros de la función transferencia
clásica.
Resumen
La llegada de los nuevos planes de estudio va a
suponer un cambio de contenidos de muchas
materias en los nuevos niveles de grado,
postgrado y master. Por otro lado, sería
deseable que tales cambios no implicaran
renunciar a nuevos contenidos que se han ido
incorporando a la Ingeniería de Sistemas y
Control en los últimos30 años. Desde este punto
de vista, este trabajo pretende fijar las bases
para un curso de introducción en sistemas no
lineales de control basados en geometría
diferencial para ser implementado en
computador. Se exponen de forma simplificada
los conceptos necesarios de control y geometría
diferencial usando cálculo simbólico con
Matlab y apoyándose en los conocimientos de
control lineal que se supone conoce el alumno.
El objetivo es dar un procedimiento sistemático
para exponer los conceptos de álgebra de Lie,
controlabilidad, observabilidad, grado relativo,
linealización exacta a partir del teorema de
Frobenius para sistemas SISO y liinealización
exacta a partir de la matriz de desacoplamiento
para sistemas MIMO. Se presentan las ideas
básicas para utilizar las capacidades numéricas
y simbólicas de Matlab La aplicación de la
metodología propuesta se ilustra con dos
ejemplos: control SISO de un transductor
electromecánico de posición y control MIMO de
un dispositivo micro electromecánico de
almacenamiento masivo
Palabras clave: Control no lineal, linealización
exacta estado-entrada, entrada-salida, calculo
numérico-simbólico, Matlab, ejemplos
1 INTRODUCCIÓN
El control no lineal de sistemas continuos
basado en geometría diferencial, aparece de
forma sistemática a finales de los 70 [2], [3],
[4], [5], [6]. Desde entonces han aparecido un
gran número de trabajos de investigación, libros
y aplicaciones en la industria de procesos.
1
d) El concepto de involución y el teorema de
Frobenius respecto a la integrabilidad de
distribuciones.
e) La linealización exacta entrad-estado para
sistemas SISO y la linealización de linealización
exacta entrad-salida para sistemas MIMO. Aquí
es importante incidir entre la diferencia de
linealizar un sistema no lineal a través de la
matriz jacobiana y el significado de la
linealización exacta a través de una
realimentación no lineal de estado junto con un
cambio de coordenadas.
f) Desarrollar a lo largo del curso y de forma
progresiva un programa de computador con
Matlab [1] para que el estudiante reconozca que
el análisis y diseño de sistemas de control no
lineales basados en geometría diferencial no es
más difícil que un curso usual de control.
linear de tipo SISO caracterizado por una
entrada una salida y una única señal de control.
La herramienta matemática que emplean los
sistemas de control no lineales basados en
geometría diferencial el concepto de álgebra de
Lie [4], [5], [6]. Un caso particular de álgebra
de Lie son los corchetes de Lie formados por
todos los vectores campo diferenciables en Rn, o
sea para cualesquiera dos vectores campo f, g ∈
Rn, que son funciones de las variables de estado
x ∈ Rn se define:
2 CONCEPTOS BÁSICOS
⎡ ∂f1
⎢ ∂x
1
∂f ⎢
= ⎢ ...
∂x ⎢
∂f
⎢ n
⎢⎣ ∂x1
∑
∂x
f −
∂f
∂x
g
(3)
donde ∂g/∂x and ∂f/∂x son matrices jacobianas
definidas de la forma:
A continuación se exponen los conceptos
básicos siguiendo de forma aproximada los
pasos anteriores.
a) El tipo de sistemas no lineales que se
consideran son os que vienen representados por
ecuaciones de la forma:
⎫
x (t ) = f ( x (t )) +
g i ( x (t ))ui (t ) ⎪
⎬
i =1
⎪
y j = h j ( x ((t )) ; 1 ≤ j ≤ p
⎭
∂g
[ f , g] =
⎡ ∂g1
⎢ ∂x
∂xn ⎥
1
⎥
∂g ⎢
= ⎢ ...
...... ... ⎥ ;
∂x ⎢
⎥
∂f n
∂g
⎥
⎢ n
......
∂xn ⎥⎦
⎢⎣ ∂x1
......
∂f1 ⎤
∂xn ⎥
......
... ⎥
⎥
......
(4)
m
Es fácil comprobar que los corchetes de Lie
cumplen las condiciones para ser un álgebra de
Lie [4], [5]. Por ejemplo si tenemos:
(1)
⎡ x13 + e − x ⎤
⎡ −1⎤
⎢
⎥
3
⎢ ⎥
f ( x) =
⎢ x2 ⎥ ; g ( x ) = ⎢ 0 ⎥
⎢⎣sin x3 + 3⎥⎦
⎢⎣ x1 ⎥⎦
2
Un sistema representado de esta forma se dice
que está en forma afín. Se supone que los
vectores campo f, g1, g2,…..,gm son aplicaciones
lisas diferenciables de Rn ien Rn. Estas
aplicaciones se pueden representar en forma de
funciones reales n-dimensionales de las
variables de estado x1, x2,….,xn:
⎡ f1 ( x1 (t ), x2 (t ),..., xn (t )) ⎤
⎢ f ( x (t ), x (t ),..., x (t )) ⎥
2
1
2
n
⎥
f ( x (t )) = ⎢
⎢ .................................... ⎥
⎢
⎥
⎣ f n ( x1 (t ), x2 (t ),..., xn (t )) ⎦
⎡ g i1 ( x1 (t ), x2 (t ),..., xn (t )) ⎤
⎢ g ( x (t ), x (t ),..., x (t )) ⎥
i2
1
2
n
⎥
g i ( x (t )) = ⎢
⎢ .................................... ⎥
⎢
⎥
⎣ g in ( x1 (t ), x2 (t ),..., xn (t )) ⎦
(5)
a partir de un programa de cálculo simbólico, es
posible diseñar un procedimiento general para
calcular el corchete de Lie, tal como se indica a
continuación [1]
syms x1 x2 x3
f = [x1^3+exp(-x2); x2^2; sin(x1)+3];
g = [-1; 0; x1];
n = 3;
x = sym(zeros(1,n));
for i = 1:n
x(i) = [‘x’ int2str(i)];
end
LB = jacobian(g,x)*f – jacobian
(f,x)*g; % Lie Breacket
(2)
No es difícil generalizar el programa anterior
para calcular corchetes de ie de orden n. Es
posible extender el concepto de corchete de Lie
a varios vectores campo, para lo cual se
introduce una notación más compacta:
Las funciones h1, h2,….,hp, que caracterizan las
salidas del sistema son funciones reales de las
variables de estado xi, y pueden ser elegidas por
el diseñador teniendo en cuenta las
posibilidades de accesibilidad y medida.
Cuando m= 1, p = 1 tenemos un sistema no
2
∂g1 ⎤
......
⎥
⎥
∂xn ⎥⎦
∂g n
ad f = [ f , • ] ⇒ ad f g = [ f , g ]⎫
⎪
⎬
⎪⎭
[ f , ......[ f , g ] ......] = ad f g
n
O = ⎡⎣C CA CA ...... CA ⎤⎦ ⇒ rank (O ) = n
(6)
en donde el símbolo adf significa operador
adjunto. De esta forma es posible generar
corchetes de Lie de forma escalonada.
b) Para sistemas no lineales se puede
definir un test de controlabilidad y
observabilidad. Para ello, a partir de un sistema
en forma afín (ecuación (1)) se forma un
conjunto de vectores campo L que forma un
álgebra de Lie, y que esta formada por todos los
corchetes de Lie hasta de orden (n-1) entre los
vectores campo f(x) y gi(x) con 1 ≤ i ≤ m, o sea:
{
n −1
n −1
L = g1 ,.., g m , ad f g1 ,.., ad f g m , .., ad f g1 ,.., ad f g m
(7)
Entonces el sistema (1) es controlable si y solo
si se verifica:
dim( L ) = n
(8)
}
T
(11)
en donde [.]T indica matriz transpuesta. Un
sistema no lineal como (1) no tiene matrices A,
C, por lo que el criterio de observabilidad hay
que introducirlo a través del álgebra de Lie.
Para ello se introduce el concepto de derivada
de Lie, el cual se puede considerara como la
derivada direccional para un campo escalar λ(x),
con x ∈ Rn a lo largo de la dirección de un
vector campo n-dimensional f(x):
∂λ ( x )
f ( x) = L f λ ( x)
(12)
∂x
en donde Lfλ(x) es una notación abreviada para
indicar que se está calculando un vector
gradiente (1xn) de el escalar λ(x) a lo largo de la
dirección del vector f(x), o sea la derivada
direccional de λ(x) a lo largo de f(x). Ahora si se
considera el vector campo de salida h(x) ∈ Rn
h ( x ) = [ h ( x ), h ( x ), ...., h ( x ) ]
T
1
m
2
y la correspondiente
derivada de Lie calculada de la forma:
Obsérvese que los conceptos de controlabilidad
y observabilidad tienen el mismo significado en
sistemas lineales y no lineales. La única
diferencia es la forma algebraica de expresar
estos conceptos en sistemas lineales y no
lineales. Puesto que cada elemento de L es
función de estado x, en general la dimensión de
L varía para cada punto del espacio de estados.
Para verificar la condición (8) es necesario
diseñar un programa de computador que calcule
la matriz L para cualquier tipo de sistema. El
programa debe usar solo expresiones
simbólicas, las cuales pueden pasarse a
expresiones numéricas [1]. Puesto que una
matriz simbólica en Matlab se maneja de forma
similar a una numérica, no es difícil obtener
cada columna de L usando un bucle for.
Entonces la sentencia rank = size(null(L),2)
determina la dimensión de L. Este es el primer
paso en el análisis y diseño de una ley de
control no lineal. Un ejercicio interesante es
comprobar que las ecuaciones (7), (8) dan la
conocida condición de controlabilidad para
sistemas lineales, o sea:
⎡ L f h1 ( x ) ⎤
⎢
⎥
L f h( x ) = .........
⎢
⎥
⎢⎣ L f hm ( x ) ⎥⎦
(13)
A partir de (14) se puede construir el espacio de
observación Θ definido de la forma:
{
n −1
}
Θ = span h ( x ), L f h ( x ), L f h ( x ), ......, L f h ( x )
2
(14)
Nótese que este espacio esta generado por todas
las derivadas de Lie hasta de orden (n-1). A
partir de estas derivadas de la función h(x). se
define la distribución dΘ como:
d Θ = span
{ }
∂θ
∂x
with θ ∈ Θ
(15)
entonces el sistema es observable si y solo si
dim(dΘ) = n. Un ejercicio interesante es
demostrar que esta condición es equivalente a la
(11) para sistemas lineales. De esta forma se
refuerzan las nociones de controlabilidad y
observabilidad para sistemas no lineales al
compararlas con los lineales. Como en el caso
de la controlabilidad se construye un programa
para calcular automáticamente el test de
observabilidad
c) Analicemos a continuación el
concepto de grado relativo. Partiendo de
sistemas lineales. Recordemos que para una
función transferencia dada, la diferencia entre
C = ⎡⎣ B AB A B ...... A B ⎤⎦ ; rank (C ) = n
(9)
Recordemos que para un sistema lineal
invariante de la forma:
x (t ) = Ax (t ) + Bu (t ) ⎫
(10)
⎬
yt ) = Cx (t ) + Du (t ) ⎭
en donde x(t) es (nx1) y A, B, C, D son matrices
constantes. El sistema es observable si el rango
de la matriz de observabilidad O es n o sea:
2
n −1
2
n −1
3
donde:
polos y ceros coincide con el número de veces
que habría que derivar la función de salida para
obtener la entrada; o sea desde este punto de
vista, estamos considerando el problema
inverso, o sea de como obtener la entrada a
partir de la señal de salida. Por consiguiente,
para resolver este problema hay que añadir
ceros en el origen a la función transferencia
original antes de poder resolverlo. Para sistemas
SISO es sencillo diferenciar la ecuación de
salida para obtener la señal de entrada u(t).De
esta forma el grado relativo es el número de
veces que hay que derivar la señal de salida para
obtener la entrada. [2], [3], [4], [5], [6] que es
completamente análogo a añadir integradores en
sistemas lineales. Siguiendo el mismo
procedimiento, se puede definir la matriz de
desacoplamiento D(x) para sistemas MIMO, a
partir de la cual se define el grado relativo para
cada salida del sistema. Detalles se pueden
encontrar en [2], [4], [5], [6]. Obsérvese que
desde el punto de vista del cálculo simbólico,
solo es necesario considerar el vector campo
h(x) para determinar el grado relativo en
sistemas SISO y MIMO.
d) Analicemos a continuación la
linealización exacta estado-entrada para
sistemas SISO. La linealización exacta significa
que por medio de una realimentación no lineal
del estado, y un cambio de coordenadas, el
sistema no lineal se convierta en uno lineal,
Entonces todos los métodos para controlar
sistemas lineales se podrían aplicar a los no
lineales., siempre que pudiera deshacerse el
cambio de coordenadas. Para ello se introduce
el concepto de distribución, distribución
involutiva e integrabilidad completa de una
distribución a partir del teorema de Frobenius.
[4], [5], [6]. Con los conceptos anteriores es
posible obtener las condiciones para que un
sistema no lineal SISO sea linealizable
exactamente. Obsérvese que si un sistema es
linealizable exactamente es porque es
controlable, o sea se verifica la condición (8). Y
además es integrable. Si elsistema es
linealizable, hay que obtener el cambio de
coordenadas y la ley de realimentación no lineal
de la siguiente forma:
⎡0
⎢0
⎢
A = ⎢.
⎢
⎢0
⎣⎢ 0
0
.
0
1
.
.
.
.
0
0
.
0
0
.
⎡ z1 (t ) ⎤
⎡0⎤
⎢ z (t ) ⎥
⎥
⎢
⎥
0
0
⎢ 2 ⎥
⎥
⎢ ⎥
. ⎥ ; B = ⎢ . ⎥ ; z (t ) = ⎢ . ⎥
⎢
⎥
⎥
⎢ ⎥
1
⎢ . ⎥
⎥
⎢.⎥
0 ⎦⎥
⎣⎢1 ⎦⎥
⎣⎢ z n (t ) ⎦⎥
0⎤
(18)
La función φ(x) de las ecuaciones (16) debe
verificar las condiciones:
∂φ ( x )
∂x
g ( x) =
∂φ ( x )
∂x
∂φ ( x )
ad f g ( x ) = ... =
∂x
n−2
ad f g ( x )
(19)
El cálculo de φ(x) a partir de (19) es general
difícil, sin embargo para muchos sitemas de
ingeniería (mecánicos, electromecánicos, robots
industriales, etc.) la función φ(x) puede elegirse
como una variable de salida medible, y por
tanto esta función debe ser un dato de entrada
en el programa de computador. Por ejemplo si
se elige:
y = h( x ) = φ ( x ) = x1
2
las
siguiente
sentencias
simbólicamente la matriz T(x) [1]:
(20)
determinan
T = sym(zeros(n,1));
h1 = h; T(1,1) = h;
for i = 2:n+1
dh = jacobian(h,x);
Lfh = dh*f;
if i <= n
T(i,1) = subs(Lfh);
end
h1 = Lfh;
end
Nótese que en la última fila de T tenemos
L f φ ( x ) y por tanto es posible obtener el valor
n −1
⎡ φ ( x) ⎤
⎢ L φ ( x) ⎥
n
f
⎥ ; u (t ) = − L f φ ( x) + ν (t )
z = T ( x) = ⎢
n −1
⎢ ......... ⎥
Lg L f φ ( x ) Lg Lnf−1φ ( x )
⎢ n −1
⎥
⎣ L f φ ( x) ⎦
(16)
Con los cambios anteriores el sistema no lineal
se transforma en uno lineal de la forma:
z (t ) = Az (t ) + Bν (t )
1
17)
4
de u(t) a partir de (16), a través del siguiente
programa
Ti = T(n,1);
LgLfh = jacobian(Ti,x);
LgLfhg = LgLfh*g;
if LgLfhg == 0
disp('There is not feddback');
break
end
ax = hi/LgLfhg; bx = 1/LgLfhg;
v1 = sym('v');
•
u = bx + v1*ax; % Symbolic value of
u(t) from Eq. (16)
e). La linealización exacta para
sistemas MIMO se realiza normalmente a partir
de la linealización exacta entrad-salida, la cual
aunque no es tan precisa como la linealización
estado-entrada, es la más utilizada en las
aplicaciones de ingeniería. Los pasos a realizar
en el programa son los siguientes:
• Introducir el vector de grados relativos
r1 , r2 ,...., rm , siendo ri el grado relativo
[
El procedimiento de diseño anterior se puede
aplicar cuando la matriz de desacoplamiento es
tiene inversa, lo cual se verifica cuando la suma
de los grados relativos coincide con el número
de variables de estado del sistema.
]
3
LINEALIZACIÓN
EXACTA
ESTADO-ENTRADA PARA UN
TRANSDUCTOR DE POSICION
de la salida i. A partir de dicho vector y
las ecuaciones (1) se calcula la matriz de
desacoplamiento D(x):
En esta sección se estudia el modelo de un
transductor electromecánico de posición
considerado como sistema SISO, tal como se
indica en la figura 1. Ejemplos de sistemas en
condiciones de funcionamiento muy variadas se
encuentran en [7], [8], [9], [10], [11], [12], [13],
[14], [15], [16]. Aplicando las ecuaciones de
Euler-Lagrange y utilizando como coordenadas
generalizadas la posición x = q1 y la carga q =
q2 las ecuaciones dinámicas del sistema,
introduciendo las variables de desviación en
torno al punto de equilibrio, son:
⎡ Lg Lrf−1 h1 ( x) ......... Lg Lrf −1h1 ( x) ⎤
⎢
⎥
D ( x ) = ⎢ ................. ......... ................... ⎥
⎢ L Lr −1h ( x ) ......... L Lr −1h ( x) ⎥
g
f
m
⎣ g f m
⎦
1
1
1
m
m
m
1
1
(21)
Considerando el sistema (1) con m = p, la
matriz D(x) será cuadrada y el sistema es
linealizable exactamente entrada-salida si se
verifica la condición:
∑ r = n ; rank ( D( x) = n
Usando la técnica de colocación de polos es
posible obtener la solución del problema de
control.
v = − Kz (t ) ⇒ z (t ) = ( A − BK ) z (t ) (27)
m
(22)
i
x1′ (t ) = x1 (t ) − x0 ; x2′ (t ) = x2 (t ) ;
i =1
•
x3′ (t ) = x3 (t ) − i0
Determinar la derivada hasta orden ri de la
salida y1 y a partir de la ecuación de salida
(1) y de la matriz (21) se obtiene
y suponiendo que las señales de control
verifican la siguiente condición:
r −1
r −1
⎡ y1r ⎤ ⎡ Lrf h1 ⎤ ⎡ Lg L f h1 ( x ) .. Lg L f h1 ( x ) ⎤ ⎡ u1 ⎤
⎥ ⎢ ⎥
⎢ ⎥ ⎢
⎥ ⎢
⎢ ... ⎥ = ⎢ .... ⎥ + ⎢ ................. .. ................... ⎥ ⋅ ⎢ ... ⎥
⎢⎣ ymr ⎥⎦ ⎢⎣ Lrf hm ⎥⎦ ⎢ Lg Lrf −1hm ( x ) .. Lg Lrf −1hm ( x ) ⎥ ⎣⎢um ⎦⎥
⎣
⎦
1
1
1
1
m
1
m
m
m
la
ecuación
(23)
en
v = b ( x ) + D ( x ).u ; v = ⎡⎣ y1 ........... ym ⎤⎦
r1
•
rm
la
⎡
⎤
x′2
⎢
⎥
⎢ − B x′ − K ( x ′ + x − b ) −
⎥
⎢ M 2 M 1 0
⎥
⎢
⎥
2
′ +i )
(
a
x
⎢ cK
⎥ (30)
3
3 0
⎢ M ( x1′ + x0 − b ) − M ( d + x′ + x ) 2 ⎥
1
0
⎢
⎥
f0
⎢
⎥
−
M
⎢
⎥
⎢ x′2 ( x3′ + i0 ) Rgs ( d + x0 + x1′ )
⎥
( x3′ + i )
0 ⎥
⎢ d + x′ + x −
2a
1
⎣
⎦
0
T
•
rm
(24)
Si la matriz D(x) tiene inversa, la señal de
control se obtiene directamente de la
ecuación (24) de la forma:
−1
(29)
se obtiene las ecuaciones del sistema en la
forma:
f ( x ′) =
b ( x ) = ⎡⎣ L f h1 ( x ).........L f hm ( x ) ⎤⎦
r1
F (t ) = f 0
1
(23)
Transformar
ecuación:
v (t ) = v0 + v1 (t )
m
1
•
(28)
−1
u = − D ( x) ⋅ b( x) + D ( x) ⋅ v
(25)
Escoger unas nuevas variables de estado zi
considerando las derivadas de las salidas
hasta el orden ri-1. Así se obtiene el
siguiente sistema lineal, que puede
verificarse que es controlable:
z (t ) = Az (t ) + Bv
(26)
5
⎡
⎤
⎢
⎥
0
⎢
⎥
g ( x′) = ⎢
0
⎥
⎢ d + x0 + x1′ ⎥
⎢
⎥
⎣
⎦
2a
z3′ = −
(31)
]
rango g , ad f g =
[
[
z ′(t ) = ( A − BK ) z ′(t )
⎢
⎥
⎥
⎢ ⎥ ⎢ 2
⎣⎢ z3′ ⎦⎥ ⎢⎣ L f φ ( x′) ⎥⎦
z ′ = ⎢ z 2′ ⎥ = L f φ ( x′)
(38)
Para unas condiciones iniciales dadas pueden
obtenerse las variables z’(t) y a partir de la
transformación inversa:
x′ = T −1 ( z ′)
(39)
Utilizando las ecuaciones (28) se obtienen sin
dificultad las variables de estado del sistema
original. Obsérvese que las condiciones de
linealización exacta estado entrada, son
necesarias y suficientes para que la
transformación inversa (39) exista. Es más,
dichas
condiciones
aseguran
que
la
transformación directa e inversa son
difeomorfismos en el espacio de estados del
problema dado. Las condiciones anteriores
ponen de manifiesto que al no tener problemas
numéricos la simulación del sistema dado por
las ecuaciones (30) y (31) será mucho más fácil
obtener las variables de estado del sistema
original a partir de la transformación inversa
(39). Esto puede ser una gran ventaja en
sistemas fuertemente no lineales, para los que
el intervalo de simulación con los métodos
numéricos usuales puede ser muy pequeño.
Una vez calculadas las variables de estado x’(t),
la señal de control viene dada por:
(33)
siendo φ(x’) una función escalar, que de
acuerdo con el teorema de Frobenius [4] debe
de cumplir las condiciones:
∂x ′
∂φ ( x ′)
∂x ′
, ad f g = 0
(34)
La aplicación de las condiciones anteriores
muestran que la función φ(x’) no puede
depender de x’1 y x’2. Por consiguiente la
elección más simple para φ(x’) es hacerla
coincidir con la variable de estado x’1.
Aplicando la transformación (32) se obtiene:
z 2′ = L f φ ( x ′) =
∂φ ( x ′)
∂x′
u ( x ′) =
f ( x′) = [1
0
0 ] f ( x′) = x2′
(34)
y para z’3
z3′ = L2 f φ ( x′) =
∂L f φ ( x′)
∂x′
3
2
a ( x3′ + i0 )
]]
siendo adfg la notación usual para los corchetes
de Lie Los cálculos realizados muestran que se
verifican las condiciones anteriores y por tanto
el sistema se puede linealizar exactamente
estado- entrada. La transformación de
coordenadas que hace al sistema lineal será de
la forma:
⎡ z1′ ⎤ ⎡ φ ( x′) ⎤
, g ( x ′) = 0 ;
( x1′ + x0 − b )
z ′(t ) = Az ′(t ) + Bv(t ) ; w(t ) = − Kz ′(t )
rango g , ad f g , g , ad f g
∂φ ( x ′)
M
El sistema lineal definido por las ecuaciones
(36) puede resolverse fijando los polos
deseados de lazo cerrado:
2
[
M
cK
⎡ z1′ ⎤ ⎡ 0 1 0 ⎤ ⎡ z1′ ⎤ ⎡ 0 ⎤
⎢ z ′ ⎥ = ⎢ 0 0 1 ⎥ ⎢ z ′ ⎥ + ⎢ 0 ⎥ w(t ) (37)
⎢ 2⎥ ⎢
⎥⎢ 2⎥ ⎢ ⎥
′
⎣⎢ z3 ⎦⎥ ⎣⎢ 0 0 0 ⎦⎥ ⎢⎣ z3′ ⎦⎥ ⎣⎢1 ⎦⎥
(32)
rango ⎡⎣ g , ad f g , ad f g ⎤⎦ = 3
•
M
( x1′ + x0 − b ) −
f
+ 0
2
′
M ( d + x0 + x1 )
M
(36)
Las variables z’ se determinan a través del
sistema lineal y controlable definido por:
A partir de las ecuaciones (35) y (36) se puede
comprobar si el sistema cumple las condiciones
de linealización exacta estado-entrada. Estas
condiciones son:
•
K
−
−
que es un sistema monovariable en forma afín:
x ′(t ) = f ( x′(t )) + g ( x′(t ))v(t )
B
f ( x′) = [ 0 1 0] f ( x′)
(35)
6
1
Lg L f φ ( x ′ )
2
{− L φ ( x′) + v}
3
f
; v = − Kz ′
(40)
en donde z’ viene dado por la ecuaciones (37)
para unos polos de lazo cerrado previamente
especificados. Un ejemplo de simulación se da
en la figura 2.
Rg
S = Sección transversal
I(t)
d
N , Rs
x
K
+
Pieza
móvil
V(t)
Estator
M
Bl , Beh
B
Pieza de latón
no
ferromagnética
F(t)
Figura 1. Transductor electromecánico de posicionamiento lineal. Masa pieza móvil M = 1.5 kg, coeficiente de
fricción viscosa B = 0.02 N/m.s, constante elástica del muelle K = 1 N/m, coeficiente no lineal del muelle c = 10000
m-2, longitud del muelle sin deformar b = 0.005 m, longitud pieza latón d = 0.02 m, número de espiras N = 100000,
sección transversal S = 0.002 m2, resistencia del generador Rg = 10 Ω, resistencia de la bobina Rs = 1200 Ω.
Figura 2. Señales de control del sistema no lineal cuando se linealiza exactamente por métodos de geometría
diferencial y del sistema linealizado en el punto de equilibrio a través de la matriz jacobiana.
Como ejemplo del tipo de resultados que
pueden esperarse utilizando los métodos de
control no lineal basadas en la linealización
exacta estado-entrad, en la figura 2 se muestran
los tipos de señales de control que se han
obtenido. Obsérvese el mayor esfuerzo de control
del método usual de linealización frente al del control
no lineal
7
A partir de las ecuaciones (43) y (44) se obtiene
el modelo de espacios estados a partir de la
definición de las variables de estado:
⎫
⎡
⎤ ⎡
⎤
x2 (t )
⎪
⎥ ⎢ 0 ⎥
⎡ 0 ⎤
⎡ x (t ) ⎤ ⎢
⎪
⎢
⎥
⎢ 1 ⎥
⎢
⎥
⎢ 1
⎥
K
K
B
⎪
⎢ 0 ⎥
x3(t ) + as x33(t ) + x4 (t ) ⎥⎥ ⎢ m ⎥
⎢
⎥ ⎢
⎪
x
t
(
)
⎢
m1
m1
m1
⎢ 1 ⎥
⎢
⎥
⎢ 2
⎥
⎪
⎥+⎢
⎥ u1(t ) + ⎢ 0 ⎥ u1(t )⎪
⎢
⎥=⎢
⎥ ⎢ 0 ⎥
⎢
⎥
⎢ x3 (t ) ⎥ ⎢
x
t
(
)
⎪
4
⎥ ⎢
⎥
⎢ 1 ⎥
⎢
⎥ ⎢
⎪
1⎥
⎥
⎢− m ⎥
⎢ x (t ) ⎥ ⎢ K
K
⎬
3 (t ) + B x (t ) ⎥ ⎢⎢ −
4
⎢
e
⎥
⎢
−
−
x
t
a
x
(
)
⎥
⎣
⎦
⎣
⎦
s
m
⎪
3
3
4
m
m
⎢ me
⎥ ⎣⎢
1
⎥
e
e
⎦
⎪
⎣
⎦
4
LINEALIZACIÓN
EXACTA
ENTRADA-SALIDA MIMO PARA
UN
DISPOSITIVO
MICRO
ELECTROMECANICO (MEMS) DE
ALMACENAMIENTO MASIVO
En la figura 3 se muestran dos masas
interconectadas con un muelle no lineal (muelle
duro) y un amortiguamiento viscoso que se
utiliza para modelar memorias micro
electromecánicas de almacenamiento masivo
[16]. Para ejemplos de sistemas MIMO véase
[7], [8], [9], [10], [11], [12], [13], [14], [15]. Las
fuerzas de control sobre las masas son F1(t) y
F2(t) respectivamente, L es la longitud del
muelle sin deformar, y la fuerza restauradora del
muelle viene dada por
Fs = K ⎡⎣ ( r2 − r1 − L ) + as ( r2 − r1 − L )
3
⎤⎦
⎡ ⎡
⎤⎤
⎢ h1 ⎢ x(t )⎥ ⎥ ⎡ x (t ) ⎤
⎣
⎦⎥ ⎢ 1
⎥
⎡
⎤
⎡
⎤
⎢
=⎢
y ⎢ x(t )⎥ = h ⎢ x(t )⎥ = ⎢
⎣
⎦
⎣
⎦
⎡
⎤⎥
x (t )⎥⎥
⎢ h2 ⎢ x(t )⎥ ⎥ ⎢⎣ 3
⎦
⎦⎦
⎣ ⎣
(45)
Para estudiar la linealización exacta entradasalida se deriva la ecuación de salida y[x(t)]
para dar:
⎧ f [ x (t ) ] +
⎫
∂y dx (t ) ∂h ( x ) ⎪
⎪
y (t ) =
=
⎨ g1 [ x (t ) ] u1 (t ) + ⎬
∂x dt
∂x ⎪
⎪ (46)
⎩ g 2 [ x ( t ) ] u 2 (t ) ⎭
(41)
siendo K la constante elástica del muelle y as es
una constante que define la mayor o menor
“dureza” del muelle. Introduciendo las
variables:
p1 (t ) = r1 (t ) ; p2 (t ) = r2 (t ) − r1 (t ) − L
⎫
= L f h( x ) + Lg h ( x )u1 (t ) + Lg h( x )u2 (t )
1
⎡ 0 ⎤
⎢1 m ⎥
∂h1 ( x )
1
⎥=0
Lg h1 ( x ) =
g1 ( x ) = [1 0 0 0 ] ⎢
∂x
⎢ 0 ⎥
⎢
⎥
⎣ −1 m1 ⎦
⎪
⎪
⎬
p 1 (t ) = r1 (t ) ; p1 (t ) = r1 (t ) ; p2 (t ) = r2 (t ) − r1 (t ) ⎪
⎪⎭
r2 (t ) = p1 (t ) + p2 (t )
p2 (t ) = r2 (t ) − p1 (t ) − L
1
(47)
De forma análoga por cálculo directo se obtiene:
(42)
y utilizando las ecuaciones de Euler-Lagrange,
se obtiene el modelo matemático del sistema
B
p 2 (t ) −
Lg h1 ( x ) = [1
0
0
0] g 2 ( x) = 0
Lg h2 ( x ) = [ 0
0
1
0 ] g1 ( x ) = 0
2
⎫
⎡ p2 (t ) + as p23 (t ) ⎦⎤ − ⎪
⎣
m1
m1
⎪
F
t
F
t
(
)
(
)
⎪
2
1
2
−
p1θ =
⎪
m1
m1
⎪
⎬
B
K
3
p2 (t ) +
p 2 (t ) +
⎡⎣ p2 (t ) + as p2 (t ) ⎤⎦ − ⎪
⎪
me
me
⎪
F1 (t ) F2 (t )
2
⎪
+
[ p2 (t ) + L ] θ = −
⎪⎭
m1
me
p1 (t ) −
2
De la ecuación (46) se deduce:
K
1
(48)
Puesto que todas ,las derivadas son cero es
necesario derivar otra vez:
y1 (t ) = L2f h( x ) + Lg L f h1 ( x )u1 (t ) + Lg h1 ( x )u 2 (t )
1
Lg L f h1 ( x ) =
1
Lg 2 L f h1 ( x) =
2
(49)
∂L f h1 ( x )
∂x
∂L f h1 ( x )
g1 ( x) = 1 m1
(49)
g 2 ( x) = 0
∂x
Teniendo en cuenta que hay que realizar
cálculos compl,etamente análogos para la otra
salida y2(t), se obtiene la siguiente ecuación
matricial:
(43)
siendo me = m1m2/(m1 + m2). Para simplificar
los cálculos, las fuerzas de control se modifican
de la forma:
m u (t ) ⎫
F1 (t ) = u1 (t ) + 1 2
m1 − me ⎪
⎪
(44)
⎬
m1u 2 (t )
⎪
F2 (t ) =
⎪⎭
m1 − me
2
0 ⎤ ⎡ u1 (t ) ⎤
⎡ y1 (t ) ⎤ ⎡ L f h1 ( x ) ⎤ ⎡ 1 m1
⎢ y (t ) ⎥ = ⎢ L2 h ( x ) ⎥ + ⎢ −1 m 1 m ⎥ ⎢u (t ) ⎥
⎣ 2 ⎦ ⎣ f 2 ⎦ ⎣
⎦
e⎦ ⎣ 2
1
(50)
8
⎪
⎪
⎪
⎪
⎪
⎪
⎭
en donde el valor de las derivadas de Lie se
deduce de forma completamente similar a los
casos anteriores. De las ecuaciones (50) se
obtienen las señales de control buscadas:
teorái de sistemas lineales se sabe que es
siempre posible elegir K de froma que la matriz
M definida de la forma
M = ⎡⎣ B # AB # A B # A B ⎤⎦
2
u1 (t ) = m1 y1 (t ) − ⎡⎣ Kx3 (t ) + as Kx3 (t ) + Bx4 (t ) ⎤⎦ ⎫
3
⎛
u 2 (t ) = me [ y1 (t ) + y2 (t ) ] + ⎜ 1 −
⎝
⎞
⎟⋅
m1 ⎠
⋅ ⎡⎣ Kx3 (t ) + as Kx3 (t ) + Bx4 (t ) ⎤⎦
3
(51)
Por otr lado, introduciendo las variables
auxiliares:
z1 (t ) = y1 (t ) ; z 2 (t ) = y 1 (t ) ⎫
(52)
⎬
z3 (t ) = y 2 (t ) ; z 4 (t ) = y 2 (t ) ⎭
y1 (t ) = − K11 [ x1 (t ) − x1e ] − K12 x2 (t ) − ⎫
⎪
⎪
⎬ (66)
y 2 (t ) = − K 21 [ x1 (t ) − x1e ] − K 22 x2 (t ) −
⎪
⎪⎭
K 23 [ x3 (t ) − x3 e ] − K 24 x4 (t )
K13 [ x3 (t ) − x3 e ] − K14 x4 (t )
se obtiene el siguiente sistema lineal que se
puede comprobar que es controlable:
⎡ z1 (t ) ⎤ ⎡ 0
⎢ z (t ) ⎥ ⎢ 0
⎢ 2 ⎥=⎢
⎢ z3 (t ) ⎥ ⎢ 0
⎢ ⎥ ⎢
⎣ z 4 (t ) ⎦ ⎣ 0
0 ⎤ ⎡ z1 (t ) ⎤
⎡0
0 0 0 ⎥ ⎢ z 2 (t ) ⎥ ⎢ 1
⎥+⎢
⎥⎢
0 0 1 ⎥ ⎢ z 3 (t ) ⎥ ⎢ 0
⎥ ⎢
⎥⎢
0 0 0 ⎦ ⎣ z 4 (t ) ⎦ ⎣ 0
1
0
0⎤
0 ⎥ ⎡ y1 (t ) ⎤
⎥
0 ⎥ ⎢⎣ y 2 (t ) ⎥⎦
⎥
1⎦
(53)
cuyas ecuaciones de salida se toman como:
⎡ z1 (t ) ⎤
⎢
⎥
⎡ y1 (t ) ⎤ ⎡1 0 0 0 ⎤ ⎢ z 2 (t ) ⎥
(54)
⎢ y ( t ) ⎥ = ⎢ 0 0 1 0 ⎥ ⎢ z (t ) ⎥
⎦ 3
⎣ 2 ⎦ ⎣
⎢
⎥
⎣ z 4 (t ) ⎦
Puesto que las derivadas y1 (t ) , y2 (t ) son
K12
K13
K 22
K 23
−2.7973
5 ⎡
K = 10 ⎢
⎣ 9.4079
0.0071
−7.5813
0.0094
8.3380
−0.0063⎤
0.0189 ⎥⎦
En la figura 4 se muestran los resultados
obtenidos para las sweñales de control y
aceleraciones que han adquirido las masas. Se
observa que el comportamiento es bastante
aceptable, teniendo en cuenta los valores tan
pequeños de las masas.
K14 ⎤ ⎢ z 2 (t ) ⎥
⎢
Por consiguiente, de las ecuaciones (51) y (66)
se ha determinado la ley de control. Obérvese
que si rank(M) = 4 y la suma de las derivadas
que aparecen en las señales de salida coinciden
con el número de variables de estado, el método
presentado da una forma sistemática de
implementar el control a través de un programa
de computador, que no es difícil de escribir con
las funcionalidades numérico simbólicas de
Matlab. Para investigar el comportamiento
dinámico de las masas con la ley de control
deducida anteriormente, se han asignado los
siguientes autovalores a la matriz del sistema
(56): [ −100 ± 300i −500 −600 ] , siendo la
correspondiente matriz K:
independientes es posible aplicar a (53)-(54) la
técnica de colocación de polos de la forma:
⎡ z1 (t ) ⎤
⎡ K11
⎡ y1 (t ) ⎤
⎢ y (t ) ⎥ = − ⎢ K
⎣ 2 ⎦
⎣ 21
(57)
tenga rango 4. Una vez que se han escogido los
autovalores de dicha matriz, las constantes Kij se
pueden calcular directamente a partir de la
formula de Ackermann [13]. A partir de las
consideraciones anteriores, las derivadas de las
señales de salida se pueden escribir de la forma:
⎪
⎪
⎬
⎪
⎪
⎭
me
3
⎥
K 24 ⎦⎥ ⎢ z3 (t ) ⎥
⎢
⎥
⎣ z 4 (t ) ⎦
(55)
CONCLUSIONES
Sustituyendo (55) en (53) se obtiene el sistema:
⎡ z1 (t ) ⎤ ⎡ 0
⎢ z (t ) ⎥ ⎢ − K
⎢ 2 ⎥ = ⎢ 11
⎢ z3 (t ) ⎥ ⎢ 0
⎢ ⎥ ⎢
⎣ z 4 (t ) ⎦ ⎣ − K 21
1
0
− K12
− K13
0
0
− K 22
− K 23
El control no lineal basado en métodos
geométricos es superior en muchos casos al
control convencional PID, dando lugar a
menores esfuerzos de control y a transitorios
menos oscilantes. Tiene la ventaja añadida de
familiarizarse con la dinámica interna del
sistema. El inconveniente radica en superar la
barrera de las nuevas nociones asociadas a la
geometría diferencial. En este trabajo se ha
pretendido poner de manifiesto todas las
características del control no lineal.
⎤ ⎡ z1 (t ) ⎤
− K14 ⎥ ⎢ z 2 (t ) ⎥
⎥⎢
⎥
1 ⎥ ⎢ z 3 (t ) ⎥
⎥⎢
⎥
− K 24 ⎦ ⎣ z 4 (t ) ⎦
0
(56)
Los coeficientes Kij se pueden elegir para que la
matriz de (56) sea de Hurwitz. A partir de la
9
Y
θ(t) = Aθ.cos(ωθt)
O
x1(t)
x2(t) – x1(t)
X
x2(t) = r2 .cos(ωθt)
Figura 3. Modelo de masas acopladas para simular dispositivos electromecánicos de almacenamiento masivo.: m1 =
50.10-4 kg, m2 = 1.10-4 kg, K = 2156 N/m, as = 4.5.107 m-1, B = 0.5 kg/s, L = 10.10-6 m.
Figura 4. Valores característicos de las señales de control y aceleraciones de las masas obtenidas a traves de una ley
de control no lineal por linealización exacta entrada-salida.
10
Creemos que la exposición de los métodos
anteriores, junto con el desarrollo gradual del
software para aplicar estas técnicas, puede ser
un aliciente para el profesor, a la hora de diseñar
un curso de control no lineal y para el alumno
que se sienta atraído por el control y/o la
programación. A pesar de que solo se han
esbozado brevemente las contenidos de un curso
de control no lineal, es claro que las ventajas
desde el punto de vista de la enseñanza parecen
obvias. Como resumen, se pueden citar las
siguientes conclusiones de carácter general, que
podrían servir de guía a la hora de confeccionar
un programa docente a nivel de postgrado,
master o curso de doctorado
•
•
•
•
•
Reactor. Computers & Chemical Eng.
Vol.. 26, Nº 6, 889-90.
[8] Pérez M., Albertos P. (2004). Selfoscillating and chaotic behaviour of a PIcontrolled CSTR with control valve
saturation. Journal of Process Control, Vol
14, 51-59.
[9] Pérez Polo M.F., Berná Galiano J.A. Gil
Chica J., Montava M.A. (2005).
Fenómenos no Lineales en el Control de
Reactores Continuos Tipo Tanque
Agitados. XVI Jornadas de Automática.
Alicante.
[10] Pérez
Polo
M.F.,
Albertos
P.
Nonisothermal Stirred Tank Reactor with
Irreversible Exothermic Reaction A → B.
2. Nonlinear Phenomena, pp 243-279
Topics in Dynamics of Chemical and
Biological Processes. Lecture Notes in
Control and Information Sciences LNCIS
361 Springer Verlag 2007.
[11] Pérez Polo M.F., Berná Galiano J.A. Gil
Chica J., Montava M.A. (2006). Control
no lineal MIMO de un giroscopio en
suspensión Cardan. XXVII Jornadas de
Automática. Almería.
[12] Pérez Polo., M:F.. Pérez Molina (2004).
Regular self-oscillating and chaotic
behaviour of a PID controlled gimbal
suspensiom gyro. Chaos Solitons &
Fractals, 21, 1057-1074.
[13] Pérez Polo M.F., Pérez Molina M. (2007).
Chaotic and steady state behaviour of a
nonlinear controlled gyro subjected to
harmonic disturbances. Chaos Solitons &
Fractals 33, 623-641.
[14] Pérez Polo M.F., Pérez Molina M. (2007).
A generalized mathematical model to
analyze the nonlinear behavior of a
controlled
gyroscope
in
gimbals.
Nonlinear Dynamics 48, 129-152 .
[15] Pérez Polo M.F. Albertos P.,Berná Galiano
J.A. (2008). Tuning of a PID controlled
gyro by using bifurcation theory. Systems
& Control Letters 57, 10-17.
[16] Pérez Polo M.F., Pérez Molina M., Gil
Chica J. (2008). Chaotic dynamic and
control for Micro-Electro-MechanicalSystems of massive storage with harmonic
base excitation. Chaos Solitons & Fractals
(En prensa).
[17] Prodromos, D., Costas, K.,. (1991)
Inversion and Zero Dynamics in Nonlinear
Multivariable Control, AIChE Journa,l,
pp.527-538.
[18] Vidyasagar, M., (1993). Nonlinear
Systems Analysis. Prentice Hall.
El curso debería diseñarse de forma que la
teoría expuesta se fuera implementando en
computador de forma progresiva.
Si se observa detenidamente, los métodos
considerados son sencillos de aplicar, una
vez que se ha superado la barrera de la
nomenclatura.
Repasar los conceptos básicos de sistemas
lineales. El concepto de grado relativo
puede ser muy útil como nexo de unión
entre sistemas lineales y no lineales.
Diferenciar entre linealización exacta
estado-entrada para sistemas SISO y
linealización exacta entrada-salida para
sistemas MIMO y porqué se utilizan.
Sería deseable que el alumno viera
ejemplos de modelado y control de
procesos muy distintos y como se manejan
de la misma forma en el programa
numérico-simbólico diseñado.
REFERENCIAS
[1] Cleve, M., Costa, P.J., (1997) Symbolic
Math Toolbox. The MathWorks Inc.
[2] Costas, K., Masoud, S. (1990) “Synthesis
of Multivariable Nonlinear Controllers by
Input/Ouput Linearization “, AIChE
Journa,l, pp.249-264.
[3] Daoutidis, P., Kumar, A., (1994)
“Structural Analysis and Output Feedback
Control of Nonlinear Multivariable
Processes”. AIChE J. Vol. 40, No 4
[4] Isidori, A., (1994) Nonlinerar Control
Systems. Springer Verlag, Berlín.
[5] Marino, R., Tomei, P., (1995) Nonlinear
Control Design. Prentice Hall.
[6] Nijmeijer, H., Van der Schaft, A.J., (1990).
Nonlinear Dynamical Control Systems.
Springer Verlag, Berlin.
[7] Pérez M., Font R., Montava (2002).
Regular Self-oscillating and Chaotic
Dynamics of a Continuous Stirred Tank
11
Descargar