SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
Práctica 1: Control digital
óptimo de un Sistema Discreto
Escalar

ALUMNO: MARTÍNEZ VERDÚ, Jaime
ASIGNATURA: CAV
GRUPO: Martes de 12:30 a 14:30
Fecha límite: 23 de Junio de 2.006
INGENIERÍA INDUSTRIAL
CURSO: 4º
Escuela Politécnica Superior de Elche
Ingeniería Industrial

CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

curso 2005-2006

PRÁCTICA 1: Control Digital Óptimo de un Sistema
Discreto Escalar
Objetivos
•
•
•

Realizar el control digital óptimo de un sistema discreto utilizando Matlab.
Implementar una función en Matlab para el cálculo de las ganancias de
realimentación óptimas de un sistema discreto escalar.
Simulación de un sistema de control discreto mediante Matlab.

Descripción
Considérese el siguiente sistema discretizado con un periodo de muestreo de T = 0.01
segundos:
x k +1 = 3 x k + 2u k
Suponiendo que el intervalo de tiempo en el que se desea controlar el sistema es de 1
segundo y que el estado inicial del sistema es x0 = 4, realizar los siguientes apartados:
(i)

Encontrar la ganancia de realimentación óptima que minimiza la función de
coste:
N −1

(

2
2
J = 10 x N + ∑ 2 x k2 + u k

)

k =0

(ii)

Obtener la señal de control óptima, así como la trayectoria de estado resultante
de aplicar dicha señal de control.

(iii)

Calcular el valor de la función de coste:
a. A partir de la expresión completa mostrada en el apartado (i).
b. Considerando que el valor de la función de coste óptima es:

J* =

1 T
x0 S 0 x0
2

Comprobar que en ambos casos se obtiene el mismo resultado.

Página 1 de 2
Escuela Politécnica Superior de Elche
Ingeniería Industrial

Observaciones

Deberá implementarse una función en Matlab que a partir de las matrices de la ecuación
de estado, los factores de ponderación de la función de coste y el número de intervalos
de muestreo, devuelva la ganancia de realimentación óptima en cada instante de
muestreo.
Así mismo deberá crearse un fichero de Matlab para realizar la simulación del sistema
discreto con las ganancias de realimentación óptimas calculadas.

Importante
•

Debe entregarse un informe de la práctica indicando los resultados obtenidos junto
con los listados de los ficheros de Matlab utilizados.

•

El plazo de entrega del informe de la práctica finaliza el día del examen de la
asignatura en la convocatoria de Junio de 2006.

Página 2 de 2
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

1. Desarrollo teórico.
Tal y como viene expresado en el enunciado, el sistema discreto a controlar es el
siguiente:

xk 1  3  xk  2  uk
De clase de teoría conocemos que los sistemas se modelan o rigen a partir de
unas ecuaciones físicas que modelan el sistema y entre ellas se encuentra el modelo de
estado cuya. Sabemos de teoría cual es la forma de la expresión de la ecuación del
modelo dinámico del sistema para sistemas dinámicos lineales discretos. De hecho, la
forma general es la siguiente:




x k 1  F  xk  G  u k
donde cada término de dicha expresión viene descrito por términos matriciales
que comparados con los de la expresión que proporciona el enunciado de la función de
estado, que no son matriciales, da lugar a los siguientes resultados:



xk 1  F  xk  G  u k F y G son escalares xk 1  f  xk  g  u k



x k 1  f  x k  g  u k  xk 1  3  x k  2  u k

f 3 g 2
El intervalo de tiempo en el que se desea controlar el sistema es de 1 segundo y
el estado inicial del sistema es x0 = 4. Por otro lado, la función de coste a minimizar es:
N 1

2
2
2
J  10 x N   (2 x k  u k )
k 0

De igual manera, en clases de teoría aprendimos el análisis de funciones de coste
matriciales por lo que, como en este caso empleamos valores escalares, hemos de
realizar una transformación de un desarrollo matricial a uno más sencillo escalar:
J

S N ,Q y R


T

1 T
1 N 1  T
1
1 N 1
2
2
2
x N  S N  x N   ( x k  Q  x k  u k  R  u k ) son escalares J   s N  x N   (q  x N  r  u N )

2
2 k 0
2
2 k 0

Si esta expresión de la función de coste obtenida la comparamos con la
proporcionada por el enunciado, obtenemos los siguientes resultados:
J

N 1
1
1 N 1
2
2
2
2
2
2
 s N  x N   (q  x N  r  u N )  J  10 x N   (2 x k  u k )
2
2 k 0
k 0


1
 s N  10  s N  20
2

Jaime Martínez Verdú

1
q  2  q  4
2

1-1

1
r 1 r  2
2
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

Una vez despejados todos los parámetros necesarios para la resolución del
ejercicio pasamos a obtener los valores de la ganancia de realimentación. Para obtener
esa ganancia de realimentación, no hay más que traducir a código implementado en
Matlab® las siguientes funciones:
kk 

f  g  sk 1
r  g 2 sk 1

f 2  sk 1  r
sk 
q
r  g 2 sk 1
Transformación de las ecuaciones de Riccati en código MatlLab®:
1
2
3
4
5
6
7
8
9
10
11
12

function [k,s]=ctropt1d(f,g,r,q,N,Sn)
i=N; % La obtención de los valores de k y s se hace recursividad hacia atrás
s(N)=Sn; % Damos el valor de Sn al valor final de S
k(N)=0; % La ganancia final será nula
for i=N-1:-1:1
k(i)=f*g*s(i+1)/(r+g^2*s(i+1));
s(i)=((f^2*s(i+1)*r)/(r+g^2*s(i+1)))+q;
end
return

Jaime Martínez Verdú

1-2
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

2. Desarrollo práctico.
APARTADO (i) Encontrar la ganancia de realimentación óptima que minimiza la
función de coste siguiente:
N 1

2
2
2
J  10 x N   (2 x k  u k )
k 0

Crearemos un fichero .m con el siguiente código implementado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

T=0.01; % Sistema discretizado con un periodo de muestreo de T = 0.01 segundos
Tc=1; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 1 seg
t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra
N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector
f=3; % Introducimos la Matriz de Estados F que en este caso es un escalar f
g=2; % Introducimos la Matriz de Entradas G que en este caso es un escalar g
q=2; % Introducimos la Matriz de Ponderación de estados Q que en este caso es un escalar q
r=2; % Introducimos la Matriz de Ponderación de la señal de control R que es un escalar r
Sn=20; % Valor final de S
% A continuación obtenemos el valor de la ganancia de realimentación optima
% que minimiza la función de coste propuesta
[k,s]=ctroptd(f,g,r,q,N,Sn);
k

El valor de la ganancia permanece constante para cada muestra desde el
principio hasta tres muestras antes de finalizar el control:
Columns 1 through 8
1.3874 1.3874 1.3874
Columns 9 through 16
1.3874 1.3874 1.3874
Columns 17 through 24
1.3874 1.3874 1.3874
Columns 25 through 32
1.3874 1.3874 1.3874
Columns 33 through 40
1.3874 1.3874 1.3874
Columns 41 through 48
1.3874 1.3874 1.3874
Columns 49 through 56
1.3874 1.3874 1.3874
Columns 57 through 64
1.3874 1.3874 1.3874
Columns 65 through 72
1.3874 1.3874 1.3874
Columns 73 through 80
1.3874 1.3874 1.3874
Columns 81 through 88
1.3874 1.3874 1.3874
Columns 89 through 96
1.3874 1.3874 1.3874
Columns 97 through 101
1.3874 1.3876 1.3912

Jaime Martínez Verdú

1.3874 1.3874 1.3874 1.3874 1.3874
1.3874 1.3874 1.3874 1.3874 1.3874
1.3874 1.3874 1.3874 1.3874 1.3874
1.3874 1.3874 1.3874 1.3874 1.3874
1.3874 1.3874 1.3874 1.3874 1.3874
1.3874 1.3874 1.3874 1.3874 1.3874
1.3874 1.3874 1.3874 1.3874 1.3874
1.3874 1.3874 1.3874 1.3874 1.3874
1.3874 1.3874 1.3874 1.3874 1.3874
1.3874 1.3874 1.3874 1.3874 1.3874
1.3874 1.3874 1.3874 1.3874 1.3874
1.3874 1.3874 1.3874 1.3874 1.3874
1.4634

0

1-3
Jaime Martínez Verdú

1-4

0

0.5

1

1.5

0

20

40

60
Muestras

Trayectoria de la gananacia de control optima k

80

100

120

CONTROL AVANZADO DE SISTEMAS
CONTROL ÓPTIMO

Amplitud de la gananacia de control optima k
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

APARTADO (ii) Obtener la señal de control óptima, así como la trayectoria de estado
resultante de aplicar dicha señal de control.
Crearemos un fichero .m, cuyo comienzo es semejante al anterior, con el
siguiente código implementado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

T=0.01; % Sistema discretizado con un periodo de muestreo de T = 0.01 segundos
Tc=1; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 1 seg
t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra
N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector
f=3; % Introducimos la Matriz de Estados F que en este caso es un escalar f
g=2; % Introducimos la Matriz de Entradas G que en este caso es un escalar g
q=2; % Introducimos la Matriz de Ponderación de estados Q que en este caso es un escalar q
r=2; % Introducimos la Matriz de Ponderación de la señal de control R que es un escalar r
Sn=20; % Valor final de S
% A continuación obtenemos el valor de la ganancia de realimentación optima
% que minimiza la función de coste propuesta
[k,s]=ctroptd(f,g,r,q,N,Sn);
x(1)=4; % Obtenemos del estado para k = 0 x1
for i=1:N-1
u(i)=-k(i)*x(i); % Obtenemos cada acción de control desde k = 0 u0 hasta k = N-1 uN-1
x(i+1)=f*x(i)+g*u(i); % Obtenemos cada estado desde k = 1 x2 hasta k = N xN
end
u(i+1)=-k(i)*x(i); ); % Obtenemos la acción de control para k = N uN
subplot(2,1,1)
stairs(u,'k')
TITLE('Trayectoria de la señal de control optima u(k)')
XLABEL('Muestras')
YLABEL('Amplitud de la señal de control u(k)')
AXIS([0 100 -7 1])
hold on
subplot(2,1,2)
stairs(x,'b')
TITLE('Trayectoria del estado resultante al aplicar la señal de control x(k)')
XLABEL('Muestras')
YLABEL('Amplitud de los estados x(k)')
AXIS([0 100 -1 4])

Jaime Martínez Verdú

1-5
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

x=
Columns 1 through 8
4.0000 0.6863 0.1177
Columns 9 through 16
0.0000 0.0000 0.0000
Columns 17 through 24
0.0000 0.0000 0.0000
Columns 25 through 32
0.0000 0.0000 0.0000
Columns 33 through 40
0.0000 0.0000 0.0000
Columns 41 through 48
0.0000 0.0000 0.0000
Columns 49 through 56
0.0000 0.0000 0.0000
Columns 57 through 64
0.0000 0.0000 0.0000
Columns 65 through 72
0.0000 0.0000 0.0000
Columns 73 through 80
0.0000 0.0000 0.0000
Columns 81 through 88
0.0000 0.0000 0.0000
Columns 89 through 96
0.0000 0.0000 0.0000
Columns 97 through 101
0.0000 0.0000 0.0000

0.0202 0.0035 0.0006 0.0001 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000

u=
Columns 1 through 8
-5.6569 -0.9706 -0.1665
Columns 9 through 16
-0.0000 -0.0000 -0.0000
Columns 17 through 24
-0.0000 -0.0000 -0.0000
Columns 25 through 32
-0.0000 -0.0000 -0.0000
Columns 33 through 40
-0.0000 -0.0000 -0.0000
Columns 41 through 48
-0.0000 -0.0000 -0.0000
Columns 49 through 56
-0.0000 -0.0000 -0.0000
Columns 57 through 64
-0.0000 -0.0000 -0.0000
Columns 65 through 72
-0.0000 -0.0000 -0.0000
Columns 73 through 80
-0.0000 -0.0000 -0.0000
Columns 81 through 88
-0.0000 -0.0000 -0.0000
Columns 89 through 96
-0.0000 -0.0000 -0.0000
Columns 97 through 101
-0.0000 -0.0000 -0.0000

Jaime Martínez Verdú

-0.0286 -0.0049 -0.0008 -0.0001 -0.0000
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000
-0.0000 -0.0000

1-6
Jaime Martínez Verdú

Amplitud de la señal de control u(k)

Amplitud de los estados x(k)

1-7

-1

0

1

2

3

4

-7

-6

-5

-4

-3

-2

-1

0

1

0

0

10

10

20

20

40

50
Muestras

60

70

30

40

50
Muestras

60

70

Trayectoria del estado resultante al aplicar la señal de control x(k)

30

Trayectoria de la señal de control optima u(k)

80

80

90

90

100

100

CONTROL AVANZADO DE SISTEMAS
CONTROL ÓPTIMO
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

APARTADO (iii) Calcular el valor de la función de coste.
a. A partir de la expresión completa mostrada en el apartado (i).
b. Considerando que el valor de la función de coste óptima es:
J* 

1 T
 x0  S 0  x0
2

Comprobar que en ambos casos se obtiene el mismo resultado.
Crearemos un fichero .m, cuyo comienzo es semejante al anterior, con el
siguiente código implementado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

T=0.01; % Sistema discretizado con un periodo de muestreo de T = 0.01 segundos
Tc=1; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 1 seg
t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra
N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector
f=3; % Introducimos la Matriz de Estados F que en este caso es un escalar f
g=2; % Introducimos la Matriz de Entradas G que en este caso es un escalar g
q=2; % Introducimos la Matriz de Ponderación de estados Q que en este caso es un escalar q
r=2; % Introducimos la Matriz de Ponderación de la señal de control R que es un escalar r
Sn=20; % Valor final de S
% A continuación obtenemos el valor de la ganancia de realimentación optima
% que minimiza la función de coste propuesta
[k,s]=ctroptd(f,g,r,q,N,Sn);
x(1)=4; % Obtenemos del estado para k = 0 x1
for i=1:N-1
u(i)=-k(i)*x(i); % Obtenemos cada acción de control desde k = 0 u0 hasta k = N-1 uN-1
x(i+1)=f*x(i)+g*u(i); % Obtenemos cada estado desde k = 1 x2 hasta k = N xN
end
u(i+1)=-k(i)*x(i); ); % Obtenemos la acción de control para k = N uN
Xn=x(i+1)^2;
a=0;
b=0;
for i=1:N-1
Xk(i)=x(i)^2; % Vamos calculando cada uno de los cuadrados de los estados
Uk(i)=u(i)^2; % Vamos calculando cada uno de los cuadrados de las acciones de control
a=a+Xk(i); % Vamos sumando los cuadrados de los estados
b=b+Uk(i); % Vamos sumando los cuadrados de las acciones de control
end
J1=1/2*Sn*Xn+1/2*q*a+1/2*r*b
J2=1/2*x(1)*s(1)*x(1)

El resultado es el siguiente:
J1 =
65.9411
J2 =

J

1
1 N 1
1
1 N 1
1 N 1
2
2
2
2
2
2
 s N  xN   (q  x N  r  u N )  J   s N  xN   (q  xN )   (r  u N )
2
2 k 0
2
2 k 0
2 k 0
J

a

65.9411

Jaime Martínez Verdú

1
1 N 1 2
1 N 1 2
2
 s N  x N   q  ( x N )   r  (u N )
2
2  2 
k 0
k 0

1-8

b
Práctica 2: Control digital
óptimo de un Sistema Discreto
en el Estado Estacionario

ALUMNO: MARTÍNEZ VERDÚ, Jaime
ASIGNATURA: CAV
GRUPO: Martes de 12:30 a 14:30
Fecha límite: 23 de Junio de 2.006
INGENIERÍA INDUSTRIAL
CURSO: 4º
Escuela Politécnica Superior de Elche
Ingeniería Industrial

CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

curso 2004-2005

PRÁCTICA 2: Control Digital Óptimo de un Sistema
Discreto en el Estado Estacionario
Objetivos
•
•
•
•
•

Realizar el control digital óptimo, durante un determinado intervalo de tiempo, de
un sistema discreto utilizando Matlab.
Efectuar el control óptimo en el estado estacionario de un sistema discreto.
Implementar una función en Matlab para el cálculo de la matriz de realimentación
óptima en cada instante, de un sistema discreto con una única entrada.
Crear una función en Matlab para obtener la matriz de realimentación óptima en el
estado estacionario de un sistema discreto con una única entrada.
Comparar el control óptimo en el estado estacionario frente al control óptimo
durante un intervalo de tiempo determinado.

Descripción
Un oscilador armónico está descrito por la ecuación de estado:
&
x1 = x 2
&
x 2 = −ω 2 x1 + u
donde ω = 2 es la frecuencia natural del oscilador.
Suponiendo que el sistema es discretizado con un periodo de muestreo de T = 0.025
segundos y que el estado inicial es x0 = [1 0]T, realizar los siguientes apartados:
(i)

Controlar el sistema durante un intervalo de tiempo de 10 segundos de forma
que se minimice la función de coste:

J=

(

)

(

1
1 N −1
2
2
2
s1 x12N + s 2 x 2 N + ∑ q1 x12k + q 2 x 2 k + ru k
2
2 k =0

)

donde x1k y x2k corresponden a las variables de estado x1 y x2, respectivamente,
en el instante k; y los factores de ponderación tienen los siguientes valores:
s1 = 2
q1 = 2

s2 = 1
q2 = 1
r=1

Página 1 de 2
Escuela Politécnica Superior de Elche
Ingeniería Industrial

(ii)

Diseñar un regulador lineal cuadrático en el estado estacionario de forma que se
minimice la función de coste:
J∞ =

(

1 ∞
∑ q1 x12k + q2 x22k + ru k2
2 k =0

)

donde los parámetros q1, q2 y r tienen los mismos valores que en el apartado
anterior.

(iii)

Comparar los sistemas de control (i) y (ii).

Observaciones

Deberá implementarse una función en Matlab que a partir de las matrices de la ecuación
de estado, los factores de ponderación de la función de coste y el número de intervalos
de muestreo, devuelva la ganancia de realimentación óptima en cada instante de
muestreo.
Así mismo deberá crearse una función en Matlab que a partir de las matrices de la
ecuación de estado y los factores de ponderación de la función de coste, calcule la
ganancia de realimentación óptima en el estado estacionario.

Importante
•

Debe entregarse un informe de la práctica indicando los resultados obtenidos
(gráficas del estado, señal de control, ...) junto con los listados de los ficheros de
Matlab utilizados.

•

El plazo de entrega del informe de la práctica finaliza el día del examen de la
asignatura en la convocatoria de Junio de 2005.

Página 2 de 2
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

1. Desarrollo teórico.
En esta práctica se va a realizar el control digital óptimo de un sistema discreto
de segundo orden utilizando para ello el software MatLab®. Tal y como puede
observarse al leer el enunciado de la práctica, se va a realizar dos controles:



Un control digital óptimo durante un intervalo de tiempo.
Y otro control digital óptimo en el estado estacionario.

Primeramente necesitaremos implementar una función desarrollada en el entorno
de programación de MatLab® para que, de este modo, puedan calcular las ganancias
óptimas de realimentación en cada instante del control. Como tenemos dos situaciones,
tendremos que distinguir dos cálculos de ganancias:


En primer lugar, se va a calcular la ganancia de realimentación
constante para cada instante dentro del intervalo de control.
En segundo lugar, se va a calcular la ganancia de realimentación
constante para cada instante en el estado estacionario.



Finalmente, y tal y como se exige en el enunciado de la práctica, se realizacrá
una comparación entre ambos métodos.
El sistema de segundo orden que representa el comportamiento del oscilador
armónico (sabiendo que la frecuencia natural del oscilador es  raíz de dos) está
modelado por la siguiente ecuación de estado:


x1 (t )  x2 (t )

x2 (t )    x1 (t )  u (t )
2

, con   2 y

x1 (0)  1
x2 (0)  0

Si el sistema de dos ecuaciones lo convertimos a su forma matricial, obtenemos
el siguiente resultado:

 x1 (t )   0
 x (t )   2
 2  

1  x1 (t )  0


 u (t ) , con
0  x 2 (t ) 1
 
  

 x1 (0)  1
 x (0)  0
 2   

Puesto que el control digital es de un sistema discreto, necesitamos discretizarlo.
El sistema debe ser discretizado con un periodo de T = 0.025 s. La función
implementada en Matlab que calcula la secuencia de ganancias es la siguiente:
1
2
3
4
5
6
7
8
9
10
11
12

Jaime Martínez Verdú

function K1=ctropt(F,G,R,Q,N,Sn)
S=Sn; % Damos el valor de Sn al valor final de S
[n m]=size(F);
K1(N,:)=zeros(1,n); % La ganancia final será nula
for i=N:-1:2
M=S-S*G*inv(R+G'*S*G)*G'*S;
K1(i-1,:)=inv(R+G'*S*G)*G'*S*F;
S=F'*M*F+Q;
end
return

2-1
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

2. Desarrollo práctico.
APARTADO (i) Control en un intervalo de tiempo finito de 10 segundos. Controlar el
sistema durante un intervalo de tiempo de 10 segundos de forma que se minimice la
función de conste siguiente:





1
1 N 1
2
2
2
2
J   s1, N  x1, N  s 2, N  x2, N   (q1  x12,k  q 2  x2,k  r  u k )
2
2 k 0
donde x1,k y x2,k corresponden a las variables de estado x1 y x2, respectivamente,
en el instante k, y los factores de ponderación tiene los siguientes valores:
s1, N  2

s 2, N  1

q1  2

q2  1

r 1
Podemos comparar la función de coste a estudiar con una función de coste en
forma general:

J





1
1 N 1
2
2
2
 s1, N  x12, N  s 2, N  x2, N   (q1  x12,k  q 2  x2,k  r  u k )
2
2 k 0



T

1 T
1 N 1  T
J  x N  S N  x N   ( xk  Q  xk  u k  R  u k )
2
2 k 0

Para obtener los valores de las matrices realizamos las operaciones siguientes:
MATIZ S N :
Para obtener la forma de esta matriz necesitamos comparar el término fuera del
sumatorio, es decir,

 S11, N
SN  
 S 21, N

1 T
x N  S N  x N  x1, N
2
 x1, N
 S11, N

Jaime Martínez Verdú

S12, N  S N es simétrica
 S11, N

     S N   S
S 22, N 
 12, N

S12, N   x1, N 
 S11, N
x 2 , N  


S 22, N   x2, N 
 S12, N
 

 S11, N  x1, N  S12, N  x2, N 
x 2 , N  

 S12, N  x1, N  S 22, N  x2, N 
2
 x12, N  2  S12, N  x1, N  x2, N  S 22, N  x2, N

2-2

S12, N 
S 22, N 

CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

2
2
s1, N  x12, N  s2, N  x2, N  S11, N  x12, N  2  S12, N  x1, N  x2, N  S 22, N  x2, N

S11, N  s1, N

2
 2  S12, N  0  S N  
0
S
 22, N  s2, N

0
1


MATIZ Q :
Para obtener la forma de esta matriz necesitamos comparar el término izquierdo
de dentro del sumatorio, es decir,

Q
Q   11
Q21

Q12  Q es simétrica
Q11

     Q  Q
Q22 
 12

Q12 
Q22 


Q12   x1,k 


Q22   x 2,k 

 Q11  x1,k  Q12  x 2,k 
 x1,k
x 2 , k  

Q12  x1,k  Q22  x 2,k 
2
 Q11  x12,k  2  Q12  x1,k  x 2,k  Q22  x 2,k

T

x k  Q  x k  x1,k

Q
x 2,k   11
Q12

2
2
q1  x12,k  q 2  x 2,k  Q11  x12,k  2  Q12  x1,k  x 2,k  Q22  x 2,k

Q11  q1
2

 2  Q12  0  Q  
0
Q  q
2
 22

0
1


MATIZ R :
Tal y como puede observarse, ésta matriz no es más que un escalar, por lo que su
valor es de 1.

Jaime Martínez Verdú

2-3
CONTROL AVANZADO DE SISTEMAS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

CONTROL ÓPTIMO

T=0.025; % Sistema discretizado con un periodo de muestreo de T = 0.025 segundos
Tc=10; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 10 seg
t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra
N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector
F=[0,1;-2,0]; % Introducimos la Matriz de Estados F
G=[0;1]; % Introducimos la Matriz de Entradas G
Q=[2,0;0,1]; % Introducimos la Matriz de Ponderacion de estados Q
R=[1]; % Introducimos la Matriz de Ponderacion de la señal de control r
Sn=[2,0;0,1]; % Valor final de S
[Fd,Gd]=c2d(F,G,T);
% A continuación obtenemos el valor de la ganancia de realimentación optima
% que minimiza la función de coste propuesta
Ki=ctropt(Fd,Gd,R,Q,N,Sn);
Ki;
subplot(2,1,1)
stairs(Ki(:,1),'b')
TITLE('Trayectoria de la ganancia de control optima K(k) que controla el estado x1(k)')
XLABEL('Muestras')
YLABEL('Amplitud de la ganancia de control K1(k)')
AXIS([0 400 0 0.5])
hold on
subplot(2,1,2)
stairs(Ki(:,2))
TITLE('Trayectoria de la ganancia de control optima K(k) que controla el estado x2(k)')
XLABEL('Muestras')
YLABEL('Amplitud de la ganancia de control K2(k)')
AXIS([0 400 0 1.5])

El valor de la ganancia permanece constante para cada muestra desde el principio hasta tres
muestras antes de finalizar el control:

Ki =
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077

1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598

Jaime Martínez Verdú

0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077
0.4077

1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598

0.4077
0.4077
0.4077
0.4077
0.4077
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076

2-4

1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598

0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076

1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598

0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076
0.4076

1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3598
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
1.3597
CONTROL AVANZADO DE SISTEMAS

0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4075
0.4074
0.4074
0.4074
0.4074
0.4074
0.4074
0.4074
0.4074
0.4074
0.4074
0.4073
0.4073
0.4073
0.4073
0.4073
0.4073
0.4072
0.4072
0.4072
0.4072
0.4072
0.4071
0.4071
0.4071
0.4071
0.4071
0.4070
0.4070
0.4070
0.4070
0.4069
0.4069
0.4069
0.4068
0.4068
0.4068
0.4067

1.3597
1.3597
1.3597
1.3597
1.3596
1.3596
1.3596
1.3596
1.3596
1.3596
1.3596
1.3596
1.3596
1.3596
1.3596
1.3595
1.3595
1.3595
1.3595
1.3595
1.3595
1.3595
1.3595
1.3594
1.3594
1.3594
1.3594
1.3594
1.3594
1.3593
1.3593
1.3593
1.3593
1.3593
1.3592
1.3592
1.3592
1.3592
1.3591
1.3591
1.3591
1.3591
1.3590
1.3590
1.3590
1.3590
1.3589
1.3589
1.3589
1.3588
1.3588
1.3588
1.3587
1.3587
1.3586
1.3586
1.3586

Jaime Martínez Verdú

0.4067
0.4067
0.4066
0.4066
0.4066
0.4065
0.4065
0.4065
0.4064
0.4064
0.4063
0.4063
0.4063
0.4062
0.4062
0.4061
0.4061
0.4060
0.4060
0.4059
0.4059
0.4059
0.4058
0.4058
0.4057
0.4057
0.4056
0.4055
0.4055
0.4054
0.4054
0.4053
0.4052
0.4052
0.4051
0.4050
0.4050
0.4049
0.4048
0.4047
0.4046
0.4045
0.4044
0.4043
0.4042
0.4041
0.4040
0.4039
0.4037
0.4036
0.4034
0.4033
0.4031
0.4029
0.4027
0.4025
0.4023

1.3585
1.3585
1.3584
1.3584
1.3583
1.3583
1.3583
1.3582
1.3581
1.3581
1.3580
1.3580
1.3579
1.3579
1.3578
1.3577
1.3577
1.3576
1.3575
1.3575
1.3574
1.3573
1.3572
1.3571
1.3570
1.3569
1.3568
1.3567
1.3566
1.3565
1.3564
1.3563
1.3562
1.3560
1.3559
1.3558
1.3556
1.3554
1.3553
1.3551
1.3549
1.3548
1.3546
1.3544
1.3542
1.3539
1.3537
1.3535
1.3532
1.3530
1.3527
1.3525
1.3522
1.3519
1.3516
1.3512
1.3509

CONTROL ÓPTIMO

0.4021
0.4019
0.4017
0.4014
0.4011
0.4009
0.4006
0.4003
0.3999
0.3996
0.3993
0.3989
0.3985
0.3981
0.3977
0.3973
0.3968
0.3964
0.3959
0.3954
0.3949
0.3944
0.3939
0.3933
0.3927
0.3921
0.3915
0.3909
0.3903
0.3896
0.3890
0.3883
0.3876
0.3869
0.3862
0.3854
0.3847
0.3839
0.3832
0.3824
0.3816
0.3808
0.3800
0.3792
0.3783
0.3775
0.3766
0.3758
0.3749
0.3740
0.3731
0.3722
0.3713
0.3703
0.3694
0.3684
0.3674

2-5

1.3506
1.3502
1.3498
1.3495
1.3491
1.3487
1.3482
1.3478
1.3474
1.3469
1.3464
1.3459
1.3454
1.3449
1.3444
1.3438
1.3433
1.3427
1.3421
1.3415
1.3408
1.3402
1.3395
1.3388
1.3381
1.3374
1.3366
1.3359
1.3351
1.3343
1.3335
1.3326
1.3318
1.3309
1.3300
1.3290
1.3281
1.3271
1.3261
1.3250
1.3239
1.3228
1.3217
1.3205
1.3193
1.3180
1.3167
1.3154
1.3140
1.3126
1.3111
1.3095
1.3080
1.3063
1.3046
1.3028
1.3010

0.3664
0.3654
0.3644
0.3633
0.3622
0.3610
0.3599
0.3587
0.3574
0.3561
0.3548
0.3534
0.3520
0.3505
0.3489
0.3473
0.3456
0.3438
0.3419
0.3400
0.3379
0.3358
0.3335
0.3311
0.3286
0.3260
0.3233
0.3204
0.3174
0.3142
0.3109
0.3075
0.3038
0.3001
0.2961
0.2920
0.2877
0.2833
0.2787
0.2739
0.2689
0.2638
0.2585
0.2530
0.2474
0.2416
0.2357
0.2296
0.2233
0.2170
0.2105
0.2039
0.1972
0.1904
0.1835
0.1766
0.1696

1.2990
1.2971
1.2950
1.2928
1.2906
1.2883
1.2858
1.2833
1.2807
1.2779
1.2751
1.2721
1.2690
1.2658
1.2625
1.2590
1.2554
1.2517
1.2478
1.2437
1.2395
1.2351
1.2306
1.2259
1.2211
1.2160
1.2108
1.2054
1.1999
1.1941
1.1882
1.1820
1.1757
1.1692
1.1625
1.1556
1.1485
1.1413
1.1338
1.1261
1.1183
1.1102
1.1020
1.0936
1.0850
1.0762
1.0673
1.0582
1.0488
1.0394
1.0297
1.0199
1.0099
0.9997
0.9894
0.9789
0.9683

0.1625
0.1555
0.1484
0.1413
0.1343
0.1272
0.1203
0.1133
0.1065
0.0998
0.0932
0.0867
0.0804
0.0742
0.0682
0.0624
0.0567
0.0513
0.0461
0.0412
0.0365
0.0320
0.0278
0.0238
0.0201
0.0167
0.0135
0.0106
0.0079
0.0055
0.0034
0.0015
-0.0002
-0.0016
-0.0028
-0.0038
-0.0046
-0.0052
-0.0057
-0.0060
-0.0061
-0.0061
-0.0060
-0.0058
-0.0055
-0.0051
-0.0047
-0.0042
-0.0036
-0.0031
-0.0025
-0.0019
-0.0012
-0.0006
0

0.9575
0.9465
0.9353
0.9240
0.9126
0.9009
0.8891
0.8772
0.8650
0.8527
0.8401
0.8274
0.8145
0.8014
0.7881
0.7745
0.7607
0.7467
0.7324
0.7178
0.7030
0.6879
0.6725
0.6568
0.6408
0.6244
0.6077
0.5907
0.5733
0.5556
0.5374
0.5189
0.5001
0.4808
0.4611
0.4411
0.4207
0.3999
0.3787
0.3571
0.3352
0.3129
0.2903
0.2674
0.2442
0.2206
0.1969
0.1728
0.1486
0.1241
0.0995
0.0748
0.0499
0.0250
0
CONTROL AVANZADO DE SISTEMAS

Jaime Martínez Verdú

CONTROL ÓPTIMO

2-6
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

APARTADO (ii) Diseñar un regulador lineal cuadrático en el estado estacionario de
forma que se minimice la función de coste:

J

1 
 (q1  x12,k  q2  x22,k  r  u k2 )
2 k 0

donde q1, q2 y r tienen los mismos valores que en el apartado anterior.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

function K2=ctroptest(F,G,R,Q)
[n m]=size(F);
S=eye(n); % Inicializamos el valor actual Sk al de Sn final (algortimo recursivo hacia detras)
E=1e-6;
fin=0;
while fin==0
Saux=S;
M=S-S*G*inv(R+G'*S*G)*G'*S;
S=F'*M*F+Q;
a=max(max(abs(Saux-S)));
if a<=E
fin=1;
end
end
K2=inv(R+G'*S*G)*G'*S*F;
return

Crearemos un fichero .m, cuyo comienzo es semejante al anterior, con el
siguiente código implementado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

T=0.025; % Sistema discretizado con un periodo de muestreo de T = 0.025 segundos
Tc=10; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 10 seg
t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra
N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector
F=[0,1;-2,0]; % Introducimos la Matriz de Estados F
G=[0;1]; % Introducimos la Matriz de Entradas G
Q=[2,0;0,1]; % Introducimos la Matriz de Ponderacion de estados Q
R=[1]; % Introducimos la Matriz de Ponderacion de la señal de control r
Sn=[2,0;0,1]; % Valor final de S
[Fd,Gd]=c2d(F,G,T);
% A continuación obtenemos el valor de la ganancia de realimentación optima
% que minimiza la función de coste propuesta
Kii=ctroptest(Fd,Gd,R,Q,N,Sn);
Kii

Kii =
0.4077

1.3598

Jaime Martínez Verdú

2-7
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

APARTADO (iii) Comparar los sistemas.
Tal y como puede observarse, el valor de la ganancia en un control en el estado
estacionario es coincide justamente con la ganancia del control en un intervalo finito
aunque en éste solamente coincide durante un período de tiempo. No obstante, la
comparación debemos realizarla más exhaustiva y, para ello, analizaremos la trayectoria
de estados y de acciones de control. Para realizar la comparación de aplicar un control
en un tiempo finito o un control en el espacio estacionario se ha desarrollado la
siguiente función de MatLab®:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

T=0.025; % Sistema discretizado con un periodo de muestreo de T = 0.025 segundos
Tc=10; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 10 seg
t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra
N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector
F=[0,1;-2,0]; % Introducimos la Matriz de Estados F
G=[0;1]; % Introducimos la Matriz de Entradas G
Q=[2,0;0,1]; % Introducimos la Matriz de Ponderacion de estados Q
R=[1]; % Introducimos la Matriz de Ponderacion de la señal de control r
Sn=[2,0;0,1]; % Valor final de S
[F,G]=c2d(A,B,T);
K1 = ctropt(F,G,R,Q,N,Sn); %Hallamos la ganancia óptima en int. finito
X1(1,1)=1;
X1(2,1)=0;
for i=1:N-1
U1(i)=-K1(i,:)*X1(:,i);
X1(:,i+1)=F*X1(:,i)+G*U1(i);
end
K2 = ctroptest (F,G,R,Q); %Hallamos la ganancia óptima en estado estacionario
X2(1,1)=1;
X2(2,1)=0;
for i=1:N-1
U2(i)=-K2*X2(:,i);
X2(:,i+1)=F*X2(:,i)+G*U2(i);
end
XDIFF=X1-X2;
UDIFF=U1-U2;
subplot(2,1,1)
stairs(X1(1,:),'b')
hold on
stairs(X1(2,:),'r')
TITLE('Trayectoria de Estados en control de intervalo finito')
XLABEL('Muestras')
YLABEL('Amplitud de la Trayectoria de Estados x1(k) y x2(k)')
hold on
subplot(2,1,2)
stairs(U1,'b')
TITLE('Trayectoria de las acciones de control en control de intervalo finito')
XLABEL('Muestras')
YLABEL('Amplitud de la acción de control u(k)')
figure
subplot(2,1,1)
stairs(X2(1,:),'b')
hold on
stairs(X2(2,:),'r')
TITLE('Trayectoria de Estados en control en Estado Estacionario')
XLABEL('Muestras')
YLABEL('Amplitud de la Trayectoria de Estados x1(k) y x2(k)')

Jaime Martínez Verdú

2-8
CONTROL AVANZADO DE SISTEMAS

49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

CONTROL ÓPTIMO

hold on
subplot(2,1,2)
stairs(U1,'b')
TITLE('Trayectoria de las acciones de control en Estado Estacionario')
XLABEL('Muestras')
YLABEL('Amplitud de la acción de control u(k)')
figure
subplot(2,1,1)
stairs(XDIFF(1,:),'b')
hold on
stairs(XDIFF(2,:),'r')
TITLE('Trayectoria de la diferencia de Estados')
XLABEL('Muestras')
YLABEL('Amplitud de la diferencia de Trayectoria de Estados ')
hold on
subplot(2,1,2)
stairs(UDIFF,'b')
TITLE('Trayectoria de la diferencia de las acciones de control ')
XLABEL('Muestras')
YLABEL('Amplitud de la diferencia de acciones de control')

A Grosso modo, el funcionamiento de dicha función va dirigido a calcular la
evolución de los estados y de la acción de control resultante de emplear cada una de las
secuencia de ganancias de realimentación por un lado (X1, U1) y la ganancia de
realimentación constante por otro (X2, U2). En las páginas siguientes, compararemos el
funcionamiento de ambos sistemas de control basándonos en las siguientes gráficas.

Jaime Martínez Verdú

2-9
CONTROL AVANZADO DE SISTEMAS

Jaime Martínez Verdú

CONTROL ÓPTIMO

2-10
CONTROL AVANZADO DE SISTEMAS

Jaime Martínez Verdú

CONTROL ÓPTIMO

2-11
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

La evolución de los estados no es fielmente la misma. De todas maneras, la diferencia es tan
pequeña que es casi insignificativa. Por tanto, en este caso se puede decir que no es
recomendable realizar un control en intervalo de Tiempo Finito puesto que la carga
computacional no favorece la obtención de unos resultados mejores; se trabaja con mayor
cantidad de datos debido a que la ganancia de realimentación tiene valores diferentes en cada
instante de muestreo y la mejora en el control no es los suficientemente significativa como para
que merezca la pene tal esfuerzo computacional de cálculos de ganancias.

Jaime Martínez Verdú

2-12
Práctica 3: Control digital
óptimo de un Péndulo Invertido

ALUMNO: MARTÍNEZ VERDÚ, Jaime
ASIGNATURA: CAV
GRUPO: Martes de 12:30 a 14:30
Fecha límite: 23 de Junio de 2.006
INGENIERÍA INDUSTRIAL
CURSO: 4º
Escuela Politécnica Superior de Elche
Ingeniería Industrial

CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

curso 2004-2005

PRÁCTICA 3: Control Digital Óptimo de un Péndulo
Invertido
Objetivos
•
•

Aplicar el control digital óptimo en estado estacionario al diseño de un sistema de
seguimiento.
Simular en Matlab el comportamiento de un servosistema

Descripción
Se desea realizar el control digital óptimo del péndulo invertido que se muestra a
continuación:

El péndulo invertido es un sistema inestable, pudiendo caer en cualquier momento y
hacia cualquier dirección, a menos que se le aplique una fuerza de control. La fuerza de
control u se aplica sobre el carro. Se desea mantener el péndulo invertido en posición
vertical tanto como sea posible realizando un control de la posición del carro.
Se supone que la masa del péndulo, m, se concentra al final de la varilla, que la varilla
tiene una longitud l, y que la masa del carro es M. Se define el ángulo de rotación de la
varilla alrededor del punto P como θ, y la posición de carro se representa por x.
El esquema de control que debe utilizarse para que la posición del carro siga la
referencia introducida es el siguiente:

Página 1 de 2
Escuela Politécnica Superior de Elche
Ingeniería Industrial

Se va a suponer que θ es pequeño, ya que se desea mantener el péndulo invertido en
posición vertical. Con esta consideración, las ecuaciones del péndulo invertido son:
&
M lθ& = (M + m )gθ − u
M && = u − m gθ
x
Asumiendo que la masa del carro es de 2 kg, la masa de la varilla es 0.1 kg y la longitud
de la varilla es de 0.5 m, diseñar el esquema de control que hace que la posición del
carro siga la referencia introducida y que la varilla se mantenga en posición vertical.

Observaciones
•
•

Considerar un periodo de muestreo de 0.1 segundos
Simular el funcionamiento del sistema durante al menos 10 segundos

Importante
•

Debe entregarse un informe de la práctica indicando los resultados obtenidos
(gráficas del estado, señal de control, ...) junto con los listados de los ficheros de
Matlab utilizados.

•

El plazo de entrega del informe de la práctica finaliza el día del examen de la
asignatura en la convocatoria de Junio de 2005.

Página 2 de 2
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

1. Introducción.
Como objetivo esencial de la presente práctica es el de aplicar los conceptos de
control digital óptimo en estado estacionario a un sistema de seguimiento adquiridos y
desarrollados en clases de teoría. El sistema a controlar es el péndulo invertido mostrado
en la figura. El carrito con un
l·sen(θ)
x
péndulo invertido, se muestra a
la derecha, es "empujado" con
una fuerza impulsiva, u. Tenemos
determinadas ya las ecuaciones
θ
Z
l·cos(θ)
dinámicas de movimiento del
sistema, y hemos linealizado
cerca del ángulo del péndulo,
θ = 0 (en otras palabras,
X
asumamos que péndulo no se
u
aparta más que unos pocos grados
de la vertical, elegida en un
ángulo de π). Debemos encontrar un controlador para satisfacer todos los
requerimientos de diseño.
Para realizar el control óptimo se calculará la ganancia de realimentación óptima
constante para el estado estacionario. Para ello, se empleará la función implementada en
la práctica anterior ctroptest.m con unas ligeras modificaciones. Además de todo lo
dicho, se simulará el sistema con MatLab® para probar que su comportamiento es los
más estable posible.
2. Conceptos Teóricos.
Las ecuaciones que representan al sistema del péndulo invertido son las
siguientes:


Ml   ( M  m) g  u


M x  u  mg 

Para este caso, asumamos que
M masa del carro
2 kg
m masa del péndulo
0.1 kg
l longitud al centro de masa del péndulo 0.5 m
u fuerza aplicada al carro
x coordenadas de posición del carro
 ángulo del péndulo respecto de la vertical
Los requerimientos de diseño para este sistema son:



Periodo de muestreo de 0.1 segundos.
Tiempo de simulación de 10 segundos.

Jaime Martínez Verdú

3-1
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

Se toman las siguientes variables de estado de modo que todas ellas tengan
significado físico. La variable de estado x1 será el ángulo del péndulo respecto a la
vertical, la variable x2 la velocidad angular del péndulo, la variable de estado x3 hace
referencia a la posición del carro y x4 a la velocidad lineal del carro::


x2 (t )   (t )

x1 (t )   (t )

x3 (t )  x(t )


x4 (t )  x(t )

El modelo de estado empleando las ecuaciones del péndulo invertido quedaría de
la siguiente manera:



x1 (t )   (t )  x1 (t )  x 2 (t )



x3 (t )  x(t )  x3 (t )  x 4 (t )
( M  m)  g
1
( M  m)  g
1

  (t ) 
 u (t )  x 2 (t ) 
 x1 (t ) 
 u (t )
M l
M l
M l
M l
m g
1
m g
1



x 4 (t )  (t )  x 4 (t )  
x
 x1 (t ) 
 u (t )  x 4 (t )  
  (t ) 
 u (t )
M
M
M
M




x 2 (t )  (t )  x 2 (t ) 

Por tanto, tendríamos el siguiente sistema de ecuaciones diferenciales:


x1 (t )  x 2 (t )
( M  m)  g
1
 x1 (t ) 
 u (t )
M l
M l

x 3 (t )  x 4 (t )


x 2 (t ) 


x 4 (t )  

mg
1
  (t ) 
 u (t )
M
M

En forma matricial, el modelo de estado del sistema, queda del siguiente modo:


0
 x1 (t )  

 

  ( M  m)  g
 x2 (t ) 


  M l


 x3 (t )  

0

 

 
 x (t )   m  g
 4 
M


y 

0

1

0

0

0

0

0

0

0

1

0

0

0

0

1

0


 0 
  x1 (t )  




  1 
 


  x2 (t )  M  l 



  u (t )

 
 x3 (t )   0 


 
 
  1 
 


  x4 (t )  M 

 


 x1 (t ) 




 x2 (t )
  


 x3 (t ) 




 x (t )
 4 

Se pretende que el sistema siga una referencia determinada por lo que se hace
necesario añadir un controlador integral.

Jaime Martínez Verdú

3-2
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

Para averiguar el valor de la matriz de realimentación que hace estable al
sistema, debemos analizar el sistema ampliado. Dicho sistema se obtiene del siguiente
modo:











 (k  1)  F  (k )  G w(k )

 xe (k )

 (k )  


 ve (k ) 



 F
F
 C  F


con


0

I


 G 
G

 C  G 

F: es la matriz de estado del sistema discretizada.
G: es la matriz de entradas del sistema discretizada.
C: es la matriz de salidas del sistema.
De esta forma, la nueva ecuación de estado del sistema es:











 (k  1)  F  (k )  G w(k )

 xe (k )


 (k )  


 ve (k ) 



La señal de control es una realimentación de estado:
 

w(k )   K  (k )


K  K

 KI 

donde K es la matriz de realimentación del sistema KI es la constante del
integrador.


Para calcular el valor de la ganancia K se define una función de coste que se
pretende optiminzar minimizándola. Tal función de coste es la siguiente:
J




1  T
 ( k  Q   k  wkT  R  wk )
2 k 0

Los valores de las matrices de ponderación se toman:
10
0

Q 0

0
0


Jaime Martínez Verdú

0

0

0

1

0

0

0

100

0

0

0

1

0

0

0

3-3

0
0

0

0
1


R  1
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

3. Procedimiento.
A continuación mostraremos el código empleado en MatLab®:

Jaime Martínez Verdú

3-4
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

La función ctroptest.m, es igual que la de la práctica anterior cambiando F y G
por F1 y G1 que son las matrices del sistema discretizadas ampliadas.

Si se simula el sistema durante diez segundos, se obtienen las gráficas expuestas
en páginas siguientes.
4. Resultados.
Tal y como se puede observar en los experimentos 1A 1B y 1C al ponderar más
la posición del carro, la gráfica de su estado posee menos oscilaciones que en los demás
casos. Por tanto, el valor de la salida será más estable. Con respecto a la posición
angular no existe mucha diferencia de unos casos a otros.
Al aumentar el valor del factor de ponderación de la acción de control de 1 a 10
se produce una notable mejora en la salida del sistema puesto que se suaviza mucho más
sobre todo si estamos ponderando el tercer estado. En los demás casos 2B y 2C la salida
es mejor aunque no tan buena. Se nota también una diferencia sobre todo en la
trayectoria de la señal de control puesto que en los experimentos 1A 1B y 1C tuvo un
pico inicial de unos 1.5 voltios y ahora no excede de 0.75. Por tanto, y obviamente, se
ha disminuido la exigencia de señal de control.
Al disminuir el valor del factor de ponderación de 1 a 0.1 se produce un aumento
de oscilaciones en la salida y también de valores de la señal de control pues consigue
picos de casi 3 voltios.

Jaime Martínez Verdú

3-5
1A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=1;

1B Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=1;

Trayectoria de los estados x(k)

Trayectoria de los estados x(k)

x1 posicion angular
x2 velocidad angular
x3 posicion del carro
x4 velocidad del carro

1.4

1.2

1

1

0.8

0.8

Amplitud del estado x(k)

1.2

0.6

0.4

0.6

0.4

0.2

0.2

0

0

-0.2

-0.2

-0.4

0

10

20

30

40

50

60

70

80

-0.4

90

0

10

20

30

40

Muestras

50
Muestras

1C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=1;
Trayectoria de los estados x(k)
x1 posicion angular
x2 velocidad angular
x3 posicion del carro
x4 velocidad del carro

1.4

1.2

1

Amplitud del estado x(k)

Amplitud del estado x(k)

x1 posicion angular
x2 velocidad angular
x3 posicion del carro
x4 velocidad del carro

1.4

0.8

0.6

0.4

0.2

0

-0.2

-0.4

0

10

20

30

40

50
Muestras

60

70

80

90

60

70

80

90
1A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=1;

1B Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=1;

Trayectoria de la salida y(k)

Trayectoria de la salida y(k)
1.5

Amplitud de y(k)

Amplitud de y(k)

1.5

1

0.5

0

0

10

20

30

40

50

60

70

80

1

0.5

0

90

0

10

20

30

Trayectoria de la señal de control u(k)

Amplitud de u(k)

Amplitud de u(k)

1

0
-0.5
0

10

20

30

40

50

60

70

80

70

80

90

60

70

80

90

60

70

80

90

1

0
-0.5
-1

90

0

10

20

30

40

50

Trayectoria de la salida del integrador v(k)

20
Amplitud de v(k)

20

15
10
5

20

30

40

50

60

70

80

15
10
5
0

90

0

10

20

30

40

Muestras

50
Muestras

1C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=1;
Trayectoria de la salida y(k)
1.5

Amplitud de y(k)

10

1

0.5

0

0

10

20

30

40

50

60

70

80

90

60

70

80

90

60

70

80

90

Trayectoria de la señal de control u(k)
2

Amplitud de u(k)

0

1

0

-1

0

10

20

30

40

50

Trayectoria de la salida del integrador v(k)
15

Amplitud de v(k)

Amplitud de v(k)

60

0.5

Trayectoria de la salida del integrador v(k)

0

50

1.5

0.5

-1

40

Trayectoria de la señal de control u(k)

1.5

10

5

0

0

10

20

30

40

50
Muestras
2A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=10;

2B

Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=10;
Trayectoria de los estados x(k)

Trayectoria de los estados x(k)
x1 posicion angular
x2 velocidad angular
x3 posicion del carro
x4 velocidad del carro

1.4

1.2

1

1

0.8

0.8

Amplitud del estado x(k)

1.2

0.6

0.4

0.6

0.4

0.2

0.2

0

0

-0.2

-0.2

-0.4

0

10

20

30

40

50

60

70

80

-0.4

90

0

10

20

30

40

50
Muestras

Muestras

2C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=10;
Trayectoria de los estados x(k)
x1 posicion angular
x2 velocidad angular
x3 posicion del carro
x4 velocidad del carro

1.4

1.2

1

Amplitud del estado x(k)

Amplitud del estado x(k)

x1 posicion angular
x2 velocidad angular
x3 posicion del carro
x4 velocidad del carro

1.4

0.8

0.6

0.4

0.2

0

-0.2

-0.4

0

10

20

30

40

50
Muestras

60

70

80

90

60

70

80

90
2A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=10;

2B

Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=10;
Trayectoria de la salida y(k)

Trayectoria de la salida y(k)

1.5

Amplitud de y(k)

Amplitud de y(k)

1.5

1

0.5

0

0

10

20

30

40

50

60

70

80

1

0.5

0

90

0

10

20

30

Amplitud de u(k)

Amplitud de u(k)

0.5

0

0

10

20

30

40

50

60

70

80

70

80

90

60

70

80

90

60

70

80

90

0
-0.5
-1

90

0

10

20

30

40

50

Trayectoria de la salida del integrador v(k)
20

25

Amplitud de v(k)

20
15
10
5
20

30

40

50

60

70

80

15
10
5
0

90

0

10

20

30

40

Muestras

50
Muestras

2C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=10;
Trayectoria de la salida y(k)
1.5
Amplitud de y(k)

10

1

0.5

0

0

10

20

30

40

50

60

70

80

90

60

70

80

90

60

70

80

90

Trayectoria de la señal de control u(k)
1
Amplitud de u(k)

0

0.5
0
-0.5
-1

0

10

20

30

40

50

Trayectoria de la salida del integrador v(k)
20
Amplitud de v(k)

Amplitud de v(k)

60

0.5

Trayectoria de la salida del integrador v(k)

0

50

1

1

-0.5

40

Trayectoria de la señal de control u(k)

Trayectoria de la señal de control u(k)

15
10
5
0

0

10

20

30

40

50
Muestras
3A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1;

3B Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1;

Trayectoria de los estados x(k)

Trayectoria de los estados x(k)

x1 posicion angular
x2 velocidad angular
x3 posicion del carro
x4 velocidad del carro

1.4

1.2

1

1

0.8

0.8

Amplitud del estado x(k)

1.2

0.6

0.4

0.6

0.4

0.2

0.2

0

0

-0.2

-0.2

-0.4

0

10

20

30

40

50

60

70

80

-0.4

90

0

10

20

30

40

Muestras

50
Muestras

3C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1;
Trayectoria de los estados x(k)
x1 posicion angular
x2 velocidad angular
x3 posicion del carro
x4 velocidad del carro

1.4

1.2

1

Amplitud del estado x(k)

Amplitud del estado x(k)

x1 posicion angular
x2 velocidad angular
x3 posicion del carro
x4 velocidad del carro

1.4

0.8

0.6

0.4

0.2

0

-0.2

-0.4

0

10

20

30

40

50
Muestras

60

70

80

90

60

70

80

90
3A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1;

3B Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1;
Trayectoria de la salida y(k)

Trayectoria de la salida y(k)

1.5

Amplitud de y(k)

Amplitud de y(k)

1.5

1

0.5

0

0

10

20

30

40

50

60

70

80

1

0.5

0

90

0

10

20

30

Amplitud de u(k)

Amplitud de u(k)

2
1
0

0

10

20

30

40

50

60

70

80

70

80

90

60

70

80

90

60

70

80

90

1
0
-1
-2

90

0

10

20

30

40

50

Trayectoria de la salida del integrador v(k)
15

Amplitud de v(k)

15

10

5

20

30

40

50

60

70

80

10

5

0

90

0

10

20

30

40

Muestras

50
Muestras

3C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1;
Trayectoria de la salida y(k)
1.5

Amplitud de y(k)

10

1

0.5

0

0

10

20

30

40

50

60

70

80

90

60

70

80

90

60

70

80

90

Trayectoria de la señal de control u(k)
4

Amplitud de u(k)

0

2

0

-2

0

10

20

30

40

50

Trayectoria de la salida del integrador v(k)
10

Amplitud de v(k)

Amplitud de v(k)

60

2

Trayectoria de la salida del integrador v(k)

0

50

3

3

-1

40

Trayectoria de la señal de control u(k)

Trayectoria de la señal de control u(k)

8
6
4
2
0

0

10

20

30

40

50
Muestras
Práctica 4: Problema del
Seguimiento Lineal cuadrático

ALUMNO: MARTÍNEZ VERDÚ, Jaime
ASIGNATURA: CAV
GRUPO: Martes de 12:30 a 14:30
Fecha límite: 23 de Junio de 2.006
INGENIERÍA INDUSTRIAL
CURSO: 4º
Escuela Politécnica Superior de Elche
Ingeniería Industrial

CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

PRÁCTICA
Cuadrático

4:

Problema

de

curso 2004-2005

Seguimiento

Lineal

Objetivos
•
•
•

Diseñar un regulador lineal cuadrático óptimo para que el estado de un sistema siga
una referencia durante un intervalo de tiempo utilizando Matlab.
Implementar una función en Matlab que calcule los parámetros de regulación
óptima en cada instante para que el estado siga una referencia.
Simular en Matlab el comportamiento del sistema con el control óptimo de
seguimiento diseñado.

Descripción
Considérese el siguiente sistema discreto correspondiente a un servomotor, obtenido
utilizando un periodo de muestreo T = 0.06 s:
⎡ x1 (k + 1)⎤ ⎡1 0.053⎤ ⎡ x1 (k )⎤ ⎡0.0116⎤
⎢ x (k + 1)⎥ = ⎢0 0.787 ⎥ ⎢ x (k )⎥ + ⎢ 0.373 ⎥u (k )
⎦⎣ 2 ⎦ ⎣
⎦
⎣ 2
⎦ ⎣

donde x1 y x2 representan respectivamente la posición y velocidad del servomotor.
(i) Suponiendo el estado inicial es x0 = [1 0]T, diseñar un regulador lineal cuadrático de
forma que se minimice el siguiente índice durante un intervalo de control de 5 s:

J=

[

N −1
1
(xN − rN )T S (xN − rN ) + 1 ∑ (xk − rk )T Q(xk − rk ) + ukT Ruk
2
2 k =0

]

⎡15 0 ⎤
T
donde R = 0.1, S = Q = ⎢
⎥ , rk = [2 0] , k = 0, 1, …,N.
⎣ 0 0.2⎦
(ii) Diseñar el regulador considerando que la referencia introducida es rk = [4 0]T, k = 0,
1, …,N.
(iii) Comprobar que en tanto en (i) como en (ii) el regulador diseñado consigue que el
estado del sistema siga la referencia indicada.

Página 1 de 2
Escuela Politécnica Superior de Elche
Ingeniería Industrial

Observaciones

Deberá implementarse una función en Matlab que a partir de las matrices de la ecuación
de estado, los factores de ponderación de la función de coste, el número de intervalos de
muestreo, y de la referencia que debe seguir el estado, devuelva los parámetros de
regulación óptima en cada instante de muestreo.
Así mismo deberá crearse un fichero de Matlab para realizar la simulación del sistema
discreto con los parámetros de regulación óptima calculados.

Importante
•

Debe entregarse un informe de la práctica indicando los resultados obtenidos
(gráficas del estado, señal de control, ...) junto con los listados de los ficheros de
Matlab utilizados.

•

El plazo de entrega del informe de la práctica finaliza el día del examen de la
asignatura en la convocatoria de Junio de 2005.

Página 2 de 2
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

1. Desarrollo teórico.
Esencialmente, el objetivo de esta práctica va dirigido a diseñar un regulador
lineal cuadrático óptimo, para cualquier estado del sistema siga una señal de referencia
determinada. Para ello se implementarán en Matlab las funciones de computación de
parámetros para cada instante. Finalmente, se simulará el sistema para dos referencias
distintas verificando el comportamiento del sistema.
El sistema discreto obtenido con un tiempo de muestreo de 0.06 s que va a ser
objeto de estudio, correspondiente a un servomotor, es el siguiente:

 x1 (k  1)  1



 
 x2 (k  1) 0

0.053   x1 (k )  0.0116 


  u (k )
 
 

0.787   x2 (k )  0.373 

donde x1 representa la posición del servomotor y x2 representa la velocidad del
servomotor. Suponiendo que el estado inicial es x0 = [0 1]T y la minimización del índice
de costes debe realizarse durant4e un intervalo de tiempo de5 s;:
J

1
1 N 1
T
( x N  rN )T  S  ( xN  rN )   [( xK  rK )T  Q  ( xK  rK )  u K  R  u K
2
2 K 0

donde R = 0.1, S y Q son las matrices de ponderación y que son exactamente
iguales (matrices diagonales con pivotes 15 y 0.2) y rk la señal de referencia.
Tal y como nos explicó José María Azorín en clases de teoría, la señal de control
viene definida de la siguiente manera:

uk   K k xk  M k
Las matrices Kk y Mk se obtiene de forma recursiva hacia atrás empleando las
siguientes expresiones matemáticas:
K k  ( R  G T S k 1G ) 1 G T S k 1 F
M k  ( R  G T S k 1G ) 1 G T Pk 1

Para poder obtener los valores de dichas matrices, necesitamos calcular también
las matrices Pk y Sk del siguiente modo:
Pk  F T Pk 1  F T S k 1G ( R  G T S k 1G ) 1 G T Pk 1  Qrk
S k  F T ( S k 1  S k 1G ( R  G T S k 1G ) 1 G T S k 1 ) F  Q

Para poder aplicar el algoritmo, hemos de conocer el valor de las condiciones
iniciales del algoritmo que son: KN = 0, SN, MN = 0 y PN = -SN·RN.

Jaime Martínez Verdú

4-1
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

El programa desarrollado para la realización de la práctica es el siguiente:

Para modificar el valor de la amplitud de la señal de referencia hemos de variar
la línea 10 cambiando [1 0]’ por [4 0]’ para pasar de un apartado a otro. Tal y como se
puede comprobar en las prácticas, se alcanza el valor en ambos casos.

Jaime Martínez Verdú

4-2
CONTROL AVANZADO DE SISTEMAS

CONTROL ÓPTIMO

El programa desarrollado para calcular las matrices K y M es el siguiente:

Jaime Martínez Verdú

4-3
CONTROL AVANZADO DE SISTEMAS

Jaime Martínez Verdú

CONTROL ÓPTIMO

4-4
CONTROL AVANZADO DE SISTEMAS

Jaime Martínez Verdú

CONTROL ÓPTIMO

4-5
Escuela Polit´cnica Superior de Elche
e
Ingenier´ Industrial
ıa

Examen de Control Avanzado de Sistemas
´
Control Optimo
Junio 2002
1. Consid´rese el siguiente sistema discreto escalar:
e
xk+1 = f (xk , uk )
yk = cxk
Plantear las ecuaciones del controlador optimo que hacen que la salida del sistema siga una se˜al de
´
n
referencia rk sobre el intervalo [0, N ], suponiendo que el estado inicial x0 es conocido y que el estado
final xN puede variarse en la b´squeda de la soluci´n ´ptima.
u
o o
(4 puntos)

2. Consid´rese el siguiente sistema continuo:
e
x1 (t)
˙
01
=
x2 (t)
˙
00

x1 (t)
0
+
u(t)
x2 (t)
1

y la siguiente funci´n de coste:
o
J(0) =

1
2

∞

(x(t)T
0

q1 0
x(t) + u2 (t))dt
0 q2

Determinar los valores de q1 y q2 para que el polinomio caracter´
ıstico del sistema en bucle cerrado
utilizando la ganancia de realimentaci´n sub´ptima sea:
o
o
p(s) = s2 + 5s + 10
(6 puntos)
Escuela Polit´cnica Superior de Elche
e
Ingenier´ Industrial
ıa

Examen de Control Avanzado de Sistemas
´
Control Optimo
Septiembre 2003
1. Consid´rese el siguiente sistema discreto lineal escalar:
e
xk+1 = 4xk + 2uk
(a) Encontrar la ley de control optimo que minimiza la funci´n de coste siguiente:
´
o
∞

(4x2 + 4u2 )
k
k

J=
k=0

(3 puntos)
(b) Obtener la ubicaci´n de los polos del sistema en bucle cerrado utilizando la ley de control calculada.
o
¿Es estable el sistema en bucle cerrado? Razonar la respuesta.
(0.5 puntos)
(c) Calcular el valor de la funci´n de coste asociado a la estrategia de control optimo si el estado inicial
o
´
es x0 = 3.
(0.5 puntos)
(d) Consid´rese que el sistema anterior ha sido obtenido al discretizar un sistema continuo con un periodo
e
de muestreo de 0.1 seg. Plantear la expresi´n de la funci´n de coste que deber´ minimizarse si se
o
o
ıa
desea controlar el sistema unicamente durante 2 seg de forma que se utilice la m´
´
ınima se˜al de
n
control posible, asumiendo que el estado inicial es conocido y que el estado final puede variarse en
la b´squeda de la soluci´n optima. Razonar la respuesta.
u
o ´
(1.5 puntos)
2. Consid´rese el sistema continuo descrito por la siguiente ecuaci´n diferencial:
e
o
y (t) = u(t)
¨
(a) Calcular la ley de control que minimiza la siguiente funci´n de coste:
o
J=

1
2

∞

(y 2 (t) + y 2 (t) + u2 (t))dt
˙
0

(4 puntos)
(b) Obtener la ubicaci´n de los polos del sistema en bucle cerrado utilizando la ley de control calculada.
o
¿Es estable el sistema en bucle cerrado? Razonar la respuesta.
(0.5 puntos)
Escuela Polit´cnica Superior de Elche
e
Ingenier´ Industrial
ıa

Examen de Control Avanzado de Sistemas
´
Control Optimo
Junio 2004
1. Consid´rese el siguiente sistema discreto:
e
x1 (k + 1) = x2 (k)
x2 (k + 1) = u(k)
y la siguiente funci´n de coste:
o
∞

J=

x2 (k) + x2 (k) + x1 (k)x2 (k) + ru2 (k)
1
2

k=0

Determinar el valor de r para que los polos del sistema en bucle cerrado utilizando la ley de control
o
´ptimo que minimiza la funci´n de coste anterior sean z1 = 0, z2 = −0.2.
o
(5 puntos)
2. Consid´rese el siguiente sistema continuo:
e
x(t) =
˙

01
0
x(t) +
u(t)
20
2

(a) Encontrar la ley de control optimo que minimiza la funci´n de coste:
´
o
J=

1
2

∞
0

(x(t)T

10
x(t) + 2u2 (t))dt
01
(3 puntos)

(b) Obtener la ubicaci´n de los polos del sistema en bucle cerrado utilizando la ley de control calculada.
o
¿Es estable el sistema en bucle cerrado? Razonar la respuesta.
(1 punto)
(c) Indicar cual ser´ la funci´n de coste que habr´ que minimizar si se deseara que el estado x(t)
ıa
o
ıa
siguiera un estado de referencia r(t) durante un intervalo de control [t0 , T ].
(1 punto)
Escuela Polit´cnica Superior de Elche
e
Ingenier´ Industrial
ıa

Examen de Control Avanzado de Sistemas
´
Control Optimo
Diciembre 2004
1. Consid´rese el siguiente sistema discreto:
e
xk+1 =

01
0
x +
u
00 k
1 k

y la siguiente funci´n de coste:
o
J=

1
2

∞

(xT
k
k=0

11
x + 2u2 )
k
1q k

(a) Determinar el valor de q para que los polos del sistema en bucle cerrado, utilizando la ley de control
´ptimo que minimiza la funci´n de coste anterior, sean z1 = 0, z2 = −0.1.
o
o
(7 puntos)

(b) ¿Es necesario aplicar el control ´ptimo para poder determinar cu´l es el valor ´ptimo de la funci´n
o
a
o
o
de coste? Razonar la respuesta.
(1 punto)

(c) Plantear la funci´n de coste a minimizar para que la salida del sistema, y k = Cxk , siga una se˜al de
o
n
referencia rk durante el intervalo de control [0, N ].
(2 puntos)

Mais conteúdo relacionado

Mais procurados

Transformada de fourier y transformada inversa de fourier
Transformada de fourier y transformada inversa de fourierTransformada de fourier y transformada inversa de fourier
Transformada de fourier y transformada inversa de fourier
heyner20
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
bramas
 

Mais procurados (20)

Unidad 3 c1-control/MÉTODOS DE ANÁLISIS PARA SISTEMAS DE CONTROL EN TIEMPO DI...
Unidad 3 c1-control/MÉTODOS DE ANÁLISIS PARA SISTEMAS DE CONTROL EN TIEMPO DI...Unidad 3 c1-control/MÉTODOS DE ANÁLISIS PARA SISTEMAS DE CONTROL EN TIEMPO DI...
Unidad 3 c1-control/MÉTODOS DE ANÁLISIS PARA SISTEMAS DE CONTROL EN TIEMPO DI...
 
Control digital: Tema 3. Análisis de sistemas discretos
Control digital: Tema 3. Análisis de sistemas discretos Control digital: Tema 3. Análisis de sistemas discretos
Control digital: Tema 3. Análisis de sistemas discretos
 
Representación en series de Fourier
Representación en series de FourierRepresentación en series de Fourier
Representación en series de Fourier
 
Transformada de fourier y transformada inversa de fourier
Transformada de fourier y transformada inversa de fourierTransformada de fourier y transformada inversa de fourier
Transformada de fourier y transformada inversa de fourier
 
Ejercicios formas onda_fourier
Ejercicios formas onda_fourierEjercicios formas onda_fourier
Ejercicios formas onda_fourier
 
Integral de conv
Integral de convIntegral de conv
Integral de conv
 
Procesamiento digital de señales con matlab
Procesamiento digital de señales con matlabProcesamiento digital de señales con matlab
Procesamiento digital de señales con matlab
 
Ejercicios transformada z
Ejercicios transformada zEjercicios transformada z
Ejercicios transformada z
 
Laboratorio 3
Laboratorio 3Laboratorio 3
Laboratorio 3
 
Lab 01 - Análisis de señales - UNTECS
Lab 01 - Análisis de señales - UNTECSLab 01 - Análisis de señales - UNTECS
Lab 01 - Análisis de señales - UNTECS
 
Sistemas de segundo orden
Sistemas de segundo ordenSistemas de segundo orden
Sistemas de segundo orden
 
Analisis de señales
Analisis de señalesAnalisis de señales
Analisis de señales
 
Señales y sistemas
Señales y sistemasSeñales y sistemas
Señales y sistemas
 
Practica no.1 Control digital: Muestreadores y Retenedores
Practica no.1 Control digital: Muestreadores y Retenedores Practica no.1 Control digital: Muestreadores y Retenedores
Practica no.1 Control digital: Muestreadores y Retenedores
 
Respuesta Transitoria (Ejercicios resueltos)
Respuesta Transitoria (Ejercicios resueltos)Respuesta Transitoria (Ejercicios resueltos)
Respuesta Transitoria (Ejercicios resueltos)
 
Informe previo de guia 1 de lab. Circuitos Electrónicos II UNSAAC(watner ocho...
Informe previo de guia 1 de lab. Circuitos Electrónicos II UNSAAC(watner ocho...Informe previo de guia 1 de lab. Circuitos Electrónicos II UNSAAC(watner ocho...
Informe previo de guia 1 de lab. Circuitos Electrónicos II UNSAAC(watner ocho...
 
TRANSFORMADA DISCRETA DE FOURIER
TRANSFORMADA DISCRETA DE FOURIERTRANSFORMADA DISCRETA DE FOURIER
TRANSFORMADA DISCRETA DE FOURIER
 
01 señal senoidal
01 señal senoidal01 señal senoidal
01 señal senoidal
 
Senoides y fasores presentacion ppt
Senoides  y fasores presentacion pptSenoides  y fasores presentacion ppt
Senoides y fasores presentacion ppt
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 

Semelhante a Prácticas y exámenes de control óptimo (subida a slide share)

Real est
Real estReal est
Real est
UNEFA
 
463941896-1-4-Diseno-de-compensador-adelanto-atraso-y-controlador-PID-pptx (1...
463941896-1-4-Diseno-de-compensador-adelanto-atraso-y-controlador-PID-pptx (1...463941896-1-4-Diseno-de-compensador-adelanto-atraso-y-controlador-PID-pptx (1...
463941896-1-4-Diseno-de-compensador-adelanto-atraso-y-controlador-PID-pptx (1...
David Mora Cusicuna
 

Semelhante a Prácticas y exámenes de control óptimo (subida a slide share) (20)

Pid
PidPid
Pid
 
Kool control stuff
Kool control stuffKool control stuff
Kool control stuff
 
Sc capitulo5
Sc capitulo5Sc capitulo5
Sc capitulo5
 
Real est
Real estReal est
Real est
 
ziegler_nichols.pdf
ziegler_nichols.pdfziegler_nichols.pdf
ziegler_nichols.pdf
 
Modulo 10 - miércoles.pptx
Modulo 10 - miércoles.pptxModulo 10 - miércoles.pptx
Modulo 10 - miércoles.pptx
 
Sistemas cedula
Sistemas cedulaSistemas cedula
Sistemas cedula
 
Ingeniería de control: Tema 2. compensación RF
Ingeniería de control: Tema 2. compensación RFIngeniería de control: Tema 2. compensación RF
Ingeniería de control: Tema 2. compensación RF
 
Ceduvirt simulink
Ceduvirt simulinkCeduvirt simulink
Ceduvirt simulink
 
Estabilidad de sistemas lineales informe 6
Estabilidad de sistemas lineales   informe 6Estabilidad de sistemas lineales   informe 6
Estabilidad de sistemas lineales informe 6
 
Matlab2
Matlab2Matlab2
Matlab2
 
Matlab2
Matlab2Matlab2
Matlab2
 
Unidad 4 control2
Unidad 4 control2Unidad 4 control2
Unidad 4 control2
 
Unidad 4 control2
Unidad 4 control2Unidad 4 control2
Unidad 4 control2
 
Das wissen von morgen (revista)
Das wissen von morgen (revista)Das wissen von morgen (revista)
Das wissen von morgen (revista)
 
TRABAJO 1.docx
TRABAJO 1.docxTRABAJO 1.docx
TRABAJO 1.docx
 
463941896-1-4-Diseno-de-compensador-adelanto-atraso-y-controlador-PID-pptx (1...
463941896-1-4-Diseno-de-compensador-adelanto-atraso-y-controlador-PID-pptx (1...463941896-1-4-Diseno-de-compensador-adelanto-atraso-y-controlador-PID-pptx (1...
463941896-1-4-Diseno-de-compensador-adelanto-atraso-y-controlador-PID-pptx (1...
 
Deber 7-cap-2-matlab-nise
Deber 7-cap-2-matlab-niseDeber 7-cap-2-matlab-nise
Deber 7-cap-2-matlab-nise
 
analisis-y-simulacion-de-sistema-discreto-con-matlab
 analisis-y-simulacion-de-sistema-discreto-con-matlab analisis-y-simulacion-de-sistema-discreto-con-matlab
analisis-y-simulacion-de-sistema-discreto-con-matlab
 
Unidad 4 control21
Unidad 4 control21Unidad 4 control21
Unidad 4 control21
 

Mais de Jaime Martínez Verdú

Diapositivas Visión por Computador: Visión 3D
Diapositivas Visión por Computador: Visión 3DDiapositivas Visión por Computador: Visión 3D
Diapositivas Visión por Computador: Visión 3D
Jaime Martínez Verdú
 

Mais de Jaime Martínez Verdú (20)

Apuntes ecomonía aplicada
Apuntes ecomonía aplicadaApuntes ecomonía aplicada
Apuntes ecomonía aplicada
 
Informe difusión y acceso de información
Informe difusión y acceso de informaciónInforme difusión y acceso de información
Informe difusión y acceso de información
 
Finanzas empresariales
Finanzas empresarialesFinanzas empresariales
Finanzas empresariales
 
Fiscalidad de la empresa
Fiscalidad de la empresaFiscalidad de la empresa
Fiscalidad de la empresa
 
Diapositivas apuntes cuestiones de ensayos no destructivos
Diapositivas apuntes cuestiones de ensayos no destructivosDiapositivas apuntes cuestiones de ensayos no destructivos
Diapositivas apuntes cuestiones de ensayos no destructivos
 
Teoría, Prácticas y Exámenes de Control Inteligente
Teoría, Prácticas y Exámenes de Control InteligenteTeoría, Prácticas y Exámenes de Control Inteligente
Teoría, Prácticas y Exámenes de Control Inteligente
 
Qué estoy haciendo aquí
Qué estoy haciendo aquíQué estoy haciendo aquí
Qué estoy haciendo aquí
 
Prácticas y exámenes de control estocastico y de mínima varianza
Prácticas y exámenes de control estocastico y de mínima varianzaPrácticas y exámenes de control estocastico y de mínima varianza
Prácticas y exámenes de control estocastico y de mínima varianza
 
Apuntes y prácticas de tecnología energética
Apuntes y prácticas de tecnología energéticaApuntes y prácticas de tecnología energética
Apuntes y prácticas de tecnología energética
 
Diapositivas Visión por Computador: Visión 3D
Diapositivas Visión por Computador: Visión 3DDiapositivas Visión por Computador: Visión 3D
Diapositivas Visión por Computador: Visión 3D
 
Chua's circuit
Chua's circuitChua's circuit
Chua's circuit
 
Ecuaciones diferenciales ordinarias
Ecuaciones diferenciales ordinariasEcuaciones diferenciales ordinarias
Ecuaciones diferenciales ordinarias
 
Métodos numéricos para ecuaciones diferenciales ordinarias
Métodos numéricos para ecuaciones diferenciales ordinariasMétodos numéricos para ecuaciones diferenciales ordinarias
Métodos numéricos para ecuaciones diferenciales ordinarias
 
Respuestas a preguntas frecuentes rd235 2013
Respuestas a preguntas frecuentes rd235 2013Respuestas a preguntas frecuentes rd235 2013
Respuestas a preguntas frecuentes rd235 2013
 
Presentación grúas auxiliares
Presentación grúas auxiliaresPresentación grúas auxiliares
Presentación grúas auxiliares
 
Trabajo sobre Grúas Auxiliares
Trabajo sobre Grúas AuxiliaresTrabajo sobre Grúas Auxiliares
Trabajo sobre Grúas Auxiliares
 
Prácticas de DERIVE
Prácticas de DERIVEPrácticas de DERIVE
Prácticas de DERIVE
 
Apuntes de prácticas de DERIVE
Apuntes de prácticas de DERIVEApuntes de prácticas de DERIVE
Apuntes de prácticas de DERIVE
 
Introducción de química
Introducción de químicaIntroducción de química
Introducción de química
 
Apuntes SITR
Apuntes SITRApuntes SITR
Apuntes SITR
 

Último

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
NancyLoaa
 

Último (20)

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 

Prácticas y exámenes de control óptimo (subida a slide share)

  • 1. Práctica 1: Control digital óptimo de un Sistema Discreto Escalar ALUMNO: MARTÍNEZ VERDÚ, Jaime ASIGNATURA: CAV GRUPO: Martes de 12:30 a 14:30 Fecha límite: 23 de Junio de 2.006 INGENIERÍA INDUSTRIAL CURSO: 4º
  • 2. Escuela Politécnica Superior de Elche Ingeniería Industrial CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO curso 2005-2006 PRÁCTICA 1: Control Digital Óptimo de un Sistema Discreto Escalar Objetivos • • • Realizar el control digital óptimo de un sistema discreto utilizando Matlab. Implementar una función en Matlab para el cálculo de las ganancias de realimentación óptimas de un sistema discreto escalar. Simulación de un sistema de control discreto mediante Matlab. Descripción Considérese el siguiente sistema discretizado con un periodo de muestreo de T = 0.01 segundos: x k +1 = 3 x k + 2u k Suponiendo que el intervalo de tiempo en el que se desea controlar el sistema es de 1 segundo y que el estado inicial del sistema es x0 = 4, realizar los siguientes apartados: (i) Encontrar la ganancia de realimentación óptima que minimiza la función de coste: N −1 ( 2 2 J = 10 x N + ∑ 2 x k2 + u k ) k =0 (ii) Obtener la señal de control óptima, así como la trayectoria de estado resultante de aplicar dicha señal de control. (iii) Calcular el valor de la función de coste: a. A partir de la expresión completa mostrada en el apartado (i). b. Considerando que el valor de la función de coste óptima es: J* = 1 T x0 S 0 x0 2 Comprobar que en ambos casos se obtiene el mismo resultado. Página 1 de 2
  • 3. Escuela Politécnica Superior de Elche Ingeniería Industrial Observaciones Deberá implementarse una función en Matlab que a partir de las matrices de la ecuación de estado, los factores de ponderación de la función de coste y el número de intervalos de muestreo, devuelva la ganancia de realimentación óptima en cada instante de muestreo. Así mismo deberá crearse un fichero de Matlab para realizar la simulación del sistema discreto con las ganancias de realimentación óptimas calculadas. Importante • Debe entregarse un informe de la práctica indicando los resultados obtenidos junto con los listados de los ficheros de Matlab utilizados. • El plazo de entrega del informe de la práctica finaliza el día del examen de la asignatura en la convocatoria de Junio de 2006. Página 2 de 2
  • 4. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO 1. Desarrollo teórico. Tal y como viene expresado en el enunciado, el sistema discreto a controlar es el siguiente: xk 1  3  xk  2  uk De clase de teoría conocemos que los sistemas se modelan o rigen a partir de unas ecuaciones físicas que modelan el sistema y entre ellas se encuentra el modelo de estado cuya. Sabemos de teoría cual es la forma de la expresión de la ecuación del modelo dinámico del sistema para sistemas dinámicos lineales discretos. De hecho, la forma general es la siguiente:    x k 1  F  xk  G  u k donde cada término de dicha expresión viene descrito por términos matriciales que comparados con los de la expresión que proporciona el enunciado de la función de estado, que no son matriciales, da lugar a los siguientes resultados:    xk 1  F  xk  G  u k F y G son escalares xk 1  f  xk  g  u k   x k 1  f  x k  g  u k  xk 1  3  x k  2  u k  f 3 g 2 El intervalo de tiempo en el que se desea controlar el sistema es de 1 segundo y el estado inicial del sistema es x0 = 4. Por otro lado, la función de coste a minimizar es: N 1 2 2 2 J  10 x N   (2 x k  u k ) k 0 De igual manera, en clases de teoría aprendimos el análisis de funciones de coste matriciales por lo que, como en este caso empleamos valores escalares, hemos de realizar una transformación de un desarrollo matricial a uno más sencillo escalar: J S N ,Q y R   T  1 T 1 N 1  T 1 1 N 1 2 2 2 x N  S N  x N   ( x k  Q  x k  u k  R  u k ) son escalares J   s N  x N   (q  x N  r  u N )  2 2 k 0 2 2 k 0 Si esta expresión de la función de coste obtenida la comparamos con la proporcionada por el enunciado, obtenemos los siguientes resultados: J N 1 1 1 N 1 2 2 2 2 2 2  s N  x N   (q  x N  r  u N )  J  10 x N   (2 x k  u k ) 2 2 k 0 k 0  1  s N  10  s N  20 2 Jaime Martínez Verdú 1 q  2  q  4 2 1-1 1 r 1 r  2 2
  • 5. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO Una vez despejados todos los parámetros necesarios para la resolución del ejercicio pasamos a obtener los valores de la ganancia de realimentación. Para obtener esa ganancia de realimentación, no hay más que traducir a código implementado en Matlab® las siguientes funciones: kk  f  g  sk 1 r  g 2 sk 1 f 2  sk 1  r sk  q r  g 2 sk 1 Transformación de las ecuaciones de Riccati en código MatlLab®: 1 2 3 4 5 6 7 8 9 10 11 12 function [k,s]=ctropt1d(f,g,r,q,N,Sn) i=N; % La obtención de los valores de k y s se hace recursividad hacia atrás s(N)=Sn; % Damos el valor de Sn al valor final de S k(N)=0; % La ganancia final será nula for i=N-1:-1:1 k(i)=f*g*s(i+1)/(r+g^2*s(i+1)); s(i)=((f^2*s(i+1)*r)/(r+g^2*s(i+1)))+q; end return Jaime Martínez Verdú 1-2
  • 6. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO 2. Desarrollo práctico. APARTADO (i) Encontrar la ganancia de realimentación óptima que minimiza la función de coste siguiente: N 1 2 2 2 J  10 x N   (2 x k  u k ) k 0 Crearemos un fichero .m con el siguiente código implementado: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 T=0.01; % Sistema discretizado con un periodo de muestreo de T = 0.01 segundos Tc=1; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 1 seg t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector f=3; % Introducimos la Matriz de Estados F que en este caso es un escalar f g=2; % Introducimos la Matriz de Entradas G que en este caso es un escalar g q=2; % Introducimos la Matriz de Ponderación de estados Q que en este caso es un escalar q r=2; % Introducimos la Matriz de Ponderación de la señal de control R que es un escalar r Sn=20; % Valor final de S % A continuación obtenemos el valor de la ganancia de realimentación optima % que minimiza la función de coste propuesta [k,s]=ctroptd(f,g,r,q,N,Sn); k El valor de la ganancia permanece constante para cada muestra desde el principio hasta tres muestras antes de finalizar el control: Columns 1 through 8 1.3874 1.3874 1.3874 Columns 9 through 16 1.3874 1.3874 1.3874 Columns 17 through 24 1.3874 1.3874 1.3874 Columns 25 through 32 1.3874 1.3874 1.3874 Columns 33 through 40 1.3874 1.3874 1.3874 Columns 41 through 48 1.3874 1.3874 1.3874 Columns 49 through 56 1.3874 1.3874 1.3874 Columns 57 through 64 1.3874 1.3874 1.3874 Columns 65 through 72 1.3874 1.3874 1.3874 Columns 73 through 80 1.3874 1.3874 1.3874 Columns 81 through 88 1.3874 1.3874 1.3874 Columns 89 through 96 1.3874 1.3874 1.3874 Columns 97 through 101 1.3874 1.3876 1.3912 Jaime Martínez Verdú 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.3874 1.4634 0 1-3
  • 7. Jaime Martínez Verdú 1-4 0 0.5 1 1.5 0 20 40 60 Muestras Trayectoria de la gananacia de control optima k 80 100 120 CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO Amplitud de la gananacia de control optima k
  • 8. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO APARTADO (ii) Obtener la señal de control óptima, así como la trayectoria de estado resultante de aplicar dicha señal de control. Crearemos un fichero .m, cuyo comienzo es semejante al anterior, con el siguiente código implementado: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 T=0.01; % Sistema discretizado con un periodo de muestreo de T = 0.01 segundos Tc=1; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 1 seg t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector f=3; % Introducimos la Matriz de Estados F que en este caso es un escalar f g=2; % Introducimos la Matriz de Entradas G que en este caso es un escalar g q=2; % Introducimos la Matriz de Ponderación de estados Q que en este caso es un escalar q r=2; % Introducimos la Matriz de Ponderación de la señal de control R que es un escalar r Sn=20; % Valor final de S % A continuación obtenemos el valor de la ganancia de realimentación optima % que minimiza la función de coste propuesta [k,s]=ctroptd(f,g,r,q,N,Sn); x(1)=4; % Obtenemos del estado para k = 0 x1 for i=1:N-1 u(i)=-k(i)*x(i); % Obtenemos cada acción de control desde k = 0 u0 hasta k = N-1 uN-1 x(i+1)=f*x(i)+g*u(i); % Obtenemos cada estado desde k = 1 x2 hasta k = N xN end u(i+1)=-k(i)*x(i); ); % Obtenemos la acción de control para k = N uN subplot(2,1,1) stairs(u,'k') TITLE('Trayectoria de la señal de control optima u(k)') XLABEL('Muestras') YLABEL('Amplitud de la señal de control u(k)') AXIS([0 100 -7 1]) hold on subplot(2,1,2) stairs(x,'b') TITLE('Trayectoria del estado resultante al aplicar la señal de control x(k)') XLABEL('Muestras') YLABEL('Amplitud de los estados x(k)') AXIS([0 100 -1 4]) Jaime Martínez Verdú 1-5
  • 9. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO x= Columns 1 through 8 4.0000 0.6863 0.1177 Columns 9 through 16 0.0000 0.0000 0.0000 Columns 17 through 24 0.0000 0.0000 0.0000 Columns 25 through 32 0.0000 0.0000 0.0000 Columns 33 through 40 0.0000 0.0000 0.0000 Columns 41 through 48 0.0000 0.0000 0.0000 Columns 49 through 56 0.0000 0.0000 0.0000 Columns 57 through 64 0.0000 0.0000 0.0000 Columns 65 through 72 0.0000 0.0000 0.0000 Columns 73 through 80 0.0000 0.0000 0.0000 Columns 81 through 88 0.0000 0.0000 0.0000 Columns 89 through 96 0.0000 0.0000 0.0000 Columns 97 through 101 0.0000 0.0000 0.0000 0.0202 0.0035 0.0006 0.0001 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 u= Columns 1 through 8 -5.6569 -0.9706 -0.1665 Columns 9 through 16 -0.0000 -0.0000 -0.0000 Columns 17 through 24 -0.0000 -0.0000 -0.0000 Columns 25 through 32 -0.0000 -0.0000 -0.0000 Columns 33 through 40 -0.0000 -0.0000 -0.0000 Columns 41 through 48 -0.0000 -0.0000 -0.0000 Columns 49 through 56 -0.0000 -0.0000 -0.0000 Columns 57 through 64 -0.0000 -0.0000 -0.0000 Columns 65 through 72 -0.0000 -0.0000 -0.0000 Columns 73 through 80 -0.0000 -0.0000 -0.0000 Columns 81 through 88 -0.0000 -0.0000 -0.0000 Columns 89 through 96 -0.0000 -0.0000 -0.0000 Columns 97 through 101 -0.0000 -0.0000 -0.0000 Jaime Martínez Verdú -0.0286 -0.0049 -0.0008 -0.0001 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 1-6
  • 10. Jaime Martínez Verdú Amplitud de la señal de control u(k) Amplitud de los estados x(k) 1-7 -1 0 1 2 3 4 -7 -6 -5 -4 -3 -2 -1 0 1 0 0 10 10 20 20 40 50 Muestras 60 70 30 40 50 Muestras 60 70 Trayectoria del estado resultante al aplicar la señal de control x(k) 30 Trayectoria de la señal de control optima u(k) 80 80 90 90 100 100 CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO
  • 11. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO APARTADO (iii) Calcular el valor de la función de coste. a. A partir de la expresión completa mostrada en el apartado (i). b. Considerando que el valor de la función de coste óptima es: J*  1 T  x0  S 0  x0 2 Comprobar que en ambos casos se obtiene el mismo resultado. Crearemos un fichero .m, cuyo comienzo es semejante al anterior, con el siguiente código implementado: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 T=0.01; % Sistema discretizado con un periodo de muestreo de T = 0.01 segundos Tc=1; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 1 seg t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector f=3; % Introducimos la Matriz de Estados F que en este caso es un escalar f g=2; % Introducimos la Matriz de Entradas G que en este caso es un escalar g q=2; % Introducimos la Matriz de Ponderación de estados Q que en este caso es un escalar q r=2; % Introducimos la Matriz de Ponderación de la señal de control R que es un escalar r Sn=20; % Valor final de S % A continuación obtenemos el valor de la ganancia de realimentación optima % que minimiza la función de coste propuesta [k,s]=ctroptd(f,g,r,q,N,Sn); x(1)=4; % Obtenemos del estado para k = 0 x1 for i=1:N-1 u(i)=-k(i)*x(i); % Obtenemos cada acción de control desde k = 0 u0 hasta k = N-1 uN-1 x(i+1)=f*x(i)+g*u(i); % Obtenemos cada estado desde k = 1 x2 hasta k = N xN end u(i+1)=-k(i)*x(i); ); % Obtenemos la acción de control para k = N uN Xn=x(i+1)^2; a=0; b=0; for i=1:N-1 Xk(i)=x(i)^2; % Vamos calculando cada uno de los cuadrados de los estados Uk(i)=u(i)^2; % Vamos calculando cada uno de los cuadrados de las acciones de control a=a+Xk(i); % Vamos sumando los cuadrados de los estados b=b+Uk(i); % Vamos sumando los cuadrados de las acciones de control end J1=1/2*Sn*Xn+1/2*q*a+1/2*r*b J2=1/2*x(1)*s(1)*x(1) El resultado es el siguiente: J1 = 65.9411 J2 = J 1 1 N 1 1 1 N 1 1 N 1 2 2 2 2 2 2  s N  xN   (q  x N  r  u N )  J   s N  xN   (q  xN )   (r  u N ) 2 2 k 0 2 2 k 0 2 k 0 J a 65.9411 Jaime Martínez Verdú 1 1 N 1 2 1 N 1 2 2  s N  x N   q  ( x N )   r  (u N ) 2 2  2  k 0 k 0 1-8 b
  • 12. Práctica 2: Control digital óptimo de un Sistema Discreto en el Estado Estacionario ALUMNO: MARTÍNEZ VERDÚ, Jaime ASIGNATURA: CAV GRUPO: Martes de 12:30 a 14:30 Fecha límite: 23 de Junio de 2.006 INGENIERÍA INDUSTRIAL CURSO: 4º
  • 13. Escuela Politécnica Superior de Elche Ingeniería Industrial CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO curso 2004-2005 PRÁCTICA 2: Control Digital Óptimo de un Sistema Discreto en el Estado Estacionario Objetivos • • • • • Realizar el control digital óptimo, durante un determinado intervalo de tiempo, de un sistema discreto utilizando Matlab. Efectuar el control óptimo en el estado estacionario de un sistema discreto. Implementar una función en Matlab para el cálculo de la matriz de realimentación óptima en cada instante, de un sistema discreto con una única entrada. Crear una función en Matlab para obtener la matriz de realimentación óptima en el estado estacionario de un sistema discreto con una única entrada. Comparar el control óptimo en el estado estacionario frente al control óptimo durante un intervalo de tiempo determinado. Descripción Un oscilador armónico está descrito por la ecuación de estado: & x1 = x 2 & x 2 = −ω 2 x1 + u donde ω = 2 es la frecuencia natural del oscilador. Suponiendo que el sistema es discretizado con un periodo de muestreo de T = 0.025 segundos y que el estado inicial es x0 = [1 0]T, realizar los siguientes apartados: (i) Controlar el sistema durante un intervalo de tiempo de 10 segundos de forma que se minimice la función de coste: J= ( ) ( 1 1 N −1 2 2 2 s1 x12N + s 2 x 2 N + ∑ q1 x12k + q 2 x 2 k + ru k 2 2 k =0 ) donde x1k y x2k corresponden a las variables de estado x1 y x2, respectivamente, en el instante k; y los factores de ponderación tienen los siguientes valores: s1 = 2 q1 = 2 s2 = 1 q2 = 1 r=1 Página 1 de 2
  • 14. Escuela Politécnica Superior de Elche Ingeniería Industrial (ii) Diseñar un regulador lineal cuadrático en el estado estacionario de forma que se minimice la función de coste: J∞ = ( 1 ∞ ∑ q1 x12k + q2 x22k + ru k2 2 k =0 ) donde los parámetros q1, q2 y r tienen los mismos valores que en el apartado anterior. (iii) Comparar los sistemas de control (i) y (ii). Observaciones Deberá implementarse una función en Matlab que a partir de las matrices de la ecuación de estado, los factores de ponderación de la función de coste y el número de intervalos de muestreo, devuelva la ganancia de realimentación óptima en cada instante de muestreo. Así mismo deberá crearse una función en Matlab que a partir de las matrices de la ecuación de estado y los factores de ponderación de la función de coste, calcule la ganancia de realimentación óptima en el estado estacionario. Importante • Debe entregarse un informe de la práctica indicando los resultados obtenidos (gráficas del estado, señal de control, ...) junto con los listados de los ficheros de Matlab utilizados. • El plazo de entrega del informe de la práctica finaliza el día del examen de la asignatura en la convocatoria de Junio de 2005. Página 2 de 2
  • 15. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO 1. Desarrollo teórico. En esta práctica se va a realizar el control digital óptimo de un sistema discreto de segundo orden utilizando para ello el software MatLab®. Tal y como puede observarse al leer el enunciado de la práctica, se va a realizar dos controles:   Un control digital óptimo durante un intervalo de tiempo. Y otro control digital óptimo en el estado estacionario. Primeramente necesitaremos implementar una función desarrollada en el entorno de programación de MatLab® para que, de este modo, puedan calcular las ganancias óptimas de realimentación en cada instante del control. Como tenemos dos situaciones, tendremos que distinguir dos cálculos de ganancias:  En primer lugar, se va a calcular la ganancia de realimentación constante para cada instante dentro del intervalo de control. En segundo lugar, se va a calcular la ganancia de realimentación constante para cada instante en el estado estacionario.  Finalmente, y tal y como se exige en el enunciado de la práctica, se realizacrá una comparación entre ambos métodos. El sistema de segundo orden que representa el comportamiento del oscilador armónico (sabiendo que la frecuencia natural del oscilador es  raíz de dos) está modelado por la siguiente ecuación de estado:  x1 (t )  x2 (t )  x2 (t )    x1 (t )  u (t ) 2 , con   2 y x1 (0)  1 x2 (0)  0 Si el sistema de dos ecuaciones lo convertimos a su forma matricial, obtenemos el siguiente resultado:   x1 (t )   0  x (t )   2  2   1  x1 (t )  0    u (t ) , con 0  x 2 (t ) 1       x1 (0)  1  x (0)  0  2    Puesto que el control digital es de un sistema discreto, necesitamos discretizarlo. El sistema debe ser discretizado con un periodo de T = 0.025 s. La función implementada en Matlab que calcula la secuencia de ganancias es la siguiente: 1 2 3 4 5 6 7 8 9 10 11 12 Jaime Martínez Verdú function K1=ctropt(F,G,R,Q,N,Sn) S=Sn; % Damos el valor de Sn al valor final de S [n m]=size(F); K1(N,:)=zeros(1,n); % La ganancia final será nula for i=N:-1:2 M=S-S*G*inv(R+G'*S*G)*G'*S; K1(i-1,:)=inv(R+G'*S*G)*G'*S*F; S=F'*M*F+Q; end return 2-1
  • 16. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO 2. Desarrollo práctico. APARTADO (i) Control en un intervalo de tiempo finito de 10 segundos. Controlar el sistema durante un intervalo de tiempo de 10 segundos de forma que se minimice la función de conste siguiente:   1 1 N 1 2 2 2 2 J   s1, N  x1, N  s 2, N  x2, N   (q1  x12,k  q 2  x2,k  r  u k ) 2 2 k 0 donde x1,k y x2,k corresponden a las variables de estado x1 y x2, respectivamente, en el instante k, y los factores de ponderación tiene los siguientes valores: s1, N  2 s 2, N  1 q1  2 q2  1 r 1 Podemos comparar la función de coste a estudiar con una función de coste en forma general: J   1 1 N 1 2 2 2  s1, N  x12, N  s 2, N  x2, N   (q1  x12,k  q 2  x2,k  r  u k ) 2 2 k 0    T  1 T 1 N 1  T J  x N  S N  x N   ( xk  Q  xk  u k  R  u k ) 2 2 k 0 Para obtener los valores de las matrices realizamos las operaciones siguientes: MATIZ S N : Para obtener la forma de esta matriz necesitamos comparar el término fuera del sumatorio, es decir,  S11, N SN    S 21, N  1 T x N  S N  x N  x1, N 2  x1, N  S11, N Jaime Martínez Verdú S12, N  S N es simétrica  S11, N       S N   S S 22, N   12, N S12, N   x1, N   S11, N x 2 , N     S 22, N   x2, N   S12, N     S11, N  x1, N  S12, N  x2, N  x 2 , N     S12, N  x1, N  S 22, N  x2, N  2  x12, N  2  S12, N  x1, N  x2, N  S 22, N  x2, N 2-2 S12, N  S 22, N  
  • 17. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO 2 2 s1, N  x12, N  s2, N  x2, N  S11, N  x12, N  2  S12, N  x1, N  x2, N  S 22, N  x2, N S11, N  s1, N  2  2  S12, N  0  S N   0 S  22, N  s2, N 0 1  MATIZ Q : Para obtener la forma de esta matriz necesitamos comparar el término izquierdo de dentro del sumatorio, es decir, Q Q   11 Q21 Q12  Q es simétrica Q11       Q  Q Q22   12 Q12  Q22   Q12   x1,k    Q22   x 2,k    Q11  x1,k  Q12  x 2,k   x1,k x 2 , k    Q12  x1,k  Q22  x 2,k  2  Q11  x12,k  2  Q12  x1,k  x 2,k  Q22  x 2,k T  x k  Q  x k  x1,k Q x 2,k   11 Q12 2 2 q1  x12,k  q 2  x 2,k  Q11  x12,k  2  Q12  x1,k  x 2,k  Q22  x 2,k Q11  q1 2   2  Q12  0  Q   0 Q  q 2  22 0 1  MATIZ R : Tal y como puede observarse, ésta matriz no es más que un escalar, por lo que su valor es de 1. Jaime Martínez Verdú 2-3
  • 18. CONTROL AVANZADO DE SISTEMAS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 CONTROL ÓPTIMO T=0.025; % Sistema discretizado con un periodo de muestreo de T = 0.025 segundos Tc=10; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 10 seg t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector F=[0,1;-2,0]; % Introducimos la Matriz de Estados F G=[0;1]; % Introducimos la Matriz de Entradas G Q=[2,0;0,1]; % Introducimos la Matriz de Ponderacion de estados Q R=[1]; % Introducimos la Matriz de Ponderacion de la señal de control r Sn=[2,0;0,1]; % Valor final de S [Fd,Gd]=c2d(F,G,T); % A continuación obtenemos el valor de la ganancia de realimentación optima % que minimiza la función de coste propuesta Ki=ctropt(Fd,Gd,R,Q,N,Sn); Ki; subplot(2,1,1) stairs(Ki(:,1),'b') TITLE('Trayectoria de la ganancia de control optima K(k) que controla el estado x1(k)') XLABEL('Muestras') YLABEL('Amplitud de la ganancia de control K1(k)') AXIS([0 400 0 0.5]) hold on subplot(2,1,2) stairs(Ki(:,2)) TITLE('Trayectoria de la ganancia de control optima K(k) que controla el estado x2(k)') XLABEL('Muestras') YLABEL('Amplitud de la ganancia de control K2(k)') AXIS([0 400 0 1.5]) El valor de la ganancia permanece constante para cada muestra desde el principio hasta tres muestras antes de finalizar el control: Ki = 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 Jaime Martínez Verdú 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 0.4077 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 0.4077 0.4077 0.4077 0.4077 0.4077 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 2-4 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 0.4076 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3598 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597 1.3597
  • 19. CONTROL AVANZADO DE SISTEMAS 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4075 0.4074 0.4074 0.4074 0.4074 0.4074 0.4074 0.4074 0.4074 0.4074 0.4074 0.4073 0.4073 0.4073 0.4073 0.4073 0.4073 0.4072 0.4072 0.4072 0.4072 0.4072 0.4071 0.4071 0.4071 0.4071 0.4071 0.4070 0.4070 0.4070 0.4070 0.4069 0.4069 0.4069 0.4068 0.4068 0.4068 0.4067 1.3597 1.3597 1.3597 1.3597 1.3596 1.3596 1.3596 1.3596 1.3596 1.3596 1.3596 1.3596 1.3596 1.3596 1.3596 1.3595 1.3595 1.3595 1.3595 1.3595 1.3595 1.3595 1.3595 1.3594 1.3594 1.3594 1.3594 1.3594 1.3594 1.3593 1.3593 1.3593 1.3593 1.3593 1.3592 1.3592 1.3592 1.3592 1.3591 1.3591 1.3591 1.3591 1.3590 1.3590 1.3590 1.3590 1.3589 1.3589 1.3589 1.3588 1.3588 1.3588 1.3587 1.3587 1.3586 1.3586 1.3586 Jaime Martínez Verdú 0.4067 0.4067 0.4066 0.4066 0.4066 0.4065 0.4065 0.4065 0.4064 0.4064 0.4063 0.4063 0.4063 0.4062 0.4062 0.4061 0.4061 0.4060 0.4060 0.4059 0.4059 0.4059 0.4058 0.4058 0.4057 0.4057 0.4056 0.4055 0.4055 0.4054 0.4054 0.4053 0.4052 0.4052 0.4051 0.4050 0.4050 0.4049 0.4048 0.4047 0.4046 0.4045 0.4044 0.4043 0.4042 0.4041 0.4040 0.4039 0.4037 0.4036 0.4034 0.4033 0.4031 0.4029 0.4027 0.4025 0.4023 1.3585 1.3585 1.3584 1.3584 1.3583 1.3583 1.3583 1.3582 1.3581 1.3581 1.3580 1.3580 1.3579 1.3579 1.3578 1.3577 1.3577 1.3576 1.3575 1.3575 1.3574 1.3573 1.3572 1.3571 1.3570 1.3569 1.3568 1.3567 1.3566 1.3565 1.3564 1.3563 1.3562 1.3560 1.3559 1.3558 1.3556 1.3554 1.3553 1.3551 1.3549 1.3548 1.3546 1.3544 1.3542 1.3539 1.3537 1.3535 1.3532 1.3530 1.3527 1.3525 1.3522 1.3519 1.3516 1.3512 1.3509 CONTROL ÓPTIMO 0.4021 0.4019 0.4017 0.4014 0.4011 0.4009 0.4006 0.4003 0.3999 0.3996 0.3993 0.3989 0.3985 0.3981 0.3977 0.3973 0.3968 0.3964 0.3959 0.3954 0.3949 0.3944 0.3939 0.3933 0.3927 0.3921 0.3915 0.3909 0.3903 0.3896 0.3890 0.3883 0.3876 0.3869 0.3862 0.3854 0.3847 0.3839 0.3832 0.3824 0.3816 0.3808 0.3800 0.3792 0.3783 0.3775 0.3766 0.3758 0.3749 0.3740 0.3731 0.3722 0.3713 0.3703 0.3694 0.3684 0.3674 2-5 1.3506 1.3502 1.3498 1.3495 1.3491 1.3487 1.3482 1.3478 1.3474 1.3469 1.3464 1.3459 1.3454 1.3449 1.3444 1.3438 1.3433 1.3427 1.3421 1.3415 1.3408 1.3402 1.3395 1.3388 1.3381 1.3374 1.3366 1.3359 1.3351 1.3343 1.3335 1.3326 1.3318 1.3309 1.3300 1.3290 1.3281 1.3271 1.3261 1.3250 1.3239 1.3228 1.3217 1.3205 1.3193 1.3180 1.3167 1.3154 1.3140 1.3126 1.3111 1.3095 1.3080 1.3063 1.3046 1.3028 1.3010 0.3664 0.3654 0.3644 0.3633 0.3622 0.3610 0.3599 0.3587 0.3574 0.3561 0.3548 0.3534 0.3520 0.3505 0.3489 0.3473 0.3456 0.3438 0.3419 0.3400 0.3379 0.3358 0.3335 0.3311 0.3286 0.3260 0.3233 0.3204 0.3174 0.3142 0.3109 0.3075 0.3038 0.3001 0.2961 0.2920 0.2877 0.2833 0.2787 0.2739 0.2689 0.2638 0.2585 0.2530 0.2474 0.2416 0.2357 0.2296 0.2233 0.2170 0.2105 0.2039 0.1972 0.1904 0.1835 0.1766 0.1696 1.2990 1.2971 1.2950 1.2928 1.2906 1.2883 1.2858 1.2833 1.2807 1.2779 1.2751 1.2721 1.2690 1.2658 1.2625 1.2590 1.2554 1.2517 1.2478 1.2437 1.2395 1.2351 1.2306 1.2259 1.2211 1.2160 1.2108 1.2054 1.1999 1.1941 1.1882 1.1820 1.1757 1.1692 1.1625 1.1556 1.1485 1.1413 1.1338 1.1261 1.1183 1.1102 1.1020 1.0936 1.0850 1.0762 1.0673 1.0582 1.0488 1.0394 1.0297 1.0199 1.0099 0.9997 0.9894 0.9789 0.9683 0.1625 0.1555 0.1484 0.1413 0.1343 0.1272 0.1203 0.1133 0.1065 0.0998 0.0932 0.0867 0.0804 0.0742 0.0682 0.0624 0.0567 0.0513 0.0461 0.0412 0.0365 0.0320 0.0278 0.0238 0.0201 0.0167 0.0135 0.0106 0.0079 0.0055 0.0034 0.0015 -0.0002 -0.0016 -0.0028 -0.0038 -0.0046 -0.0052 -0.0057 -0.0060 -0.0061 -0.0061 -0.0060 -0.0058 -0.0055 -0.0051 -0.0047 -0.0042 -0.0036 -0.0031 -0.0025 -0.0019 -0.0012 -0.0006 0 0.9575 0.9465 0.9353 0.9240 0.9126 0.9009 0.8891 0.8772 0.8650 0.8527 0.8401 0.8274 0.8145 0.8014 0.7881 0.7745 0.7607 0.7467 0.7324 0.7178 0.7030 0.6879 0.6725 0.6568 0.6408 0.6244 0.6077 0.5907 0.5733 0.5556 0.5374 0.5189 0.5001 0.4808 0.4611 0.4411 0.4207 0.3999 0.3787 0.3571 0.3352 0.3129 0.2903 0.2674 0.2442 0.2206 0.1969 0.1728 0.1486 0.1241 0.0995 0.0748 0.0499 0.0250 0
  • 20. CONTROL AVANZADO DE SISTEMAS Jaime Martínez Verdú CONTROL ÓPTIMO 2-6
  • 21. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO APARTADO (ii) Diseñar un regulador lineal cuadrático en el estado estacionario de forma que se minimice la función de coste: J 1   (q1  x12,k  q2  x22,k  r  u k2 ) 2 k 0 donde q1, q2 y r tienen los mismos valores que en el apartado anterior. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 function K2=ctroptest(F,G,R,Q) [n m]=size(F); S=eye(n); % Inicializamos el valor actual Sk al de Sn final (algortimo recursivo hacia detras) E=1e-6; fin=0; while fin==0 Saux=S; M=S-S*G*inv(R+G'*S*G)*G'*S; S=F'*M*F+Q; a=max(max(abs(Saux-S))); if a<=E fin=1; end end K2=inv(R+G'*S*G)*G'*S*F; return Crearemos un fichero .m, cuyo comienzo es semejante al anterior, con el siguiente código implementado: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 T=0.025; % Sistema discretizado con un periodo de muestreo de T = 0.025 segundos Tc=10; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 10 seg t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector F=[0,1;-2,0]; % Introducimos la Matriz de Estados F G=[0;1]; % Introducimos la Matriz de Entradas G Q=[2,0;0,1]; % Introducimos la Matriz de Ponderacion de estados Q R=[1]; % Introducimos la Matriz de Ponderacion de la señal de control r Sn=[2,0;0,1]; % Valor final de S [Fd,Gd]=c2d(F,G,T); % A continuación obtenemos el valor de la ganancia de realimentación optima % que minimiza la función de coste propuesta Kii=ctroptest(Fd,Gd,R,Q,N,Sn); Kii Kii = 0.4077 1.3598 Jaime Martínez Verdú 2-7
  • 22. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO APARTADO (iii) Comparar los sistemas. Tal y como puede observarse, el valor de la ganancia en un control en el estado estacionario es coincide justamente con la ganancia del control en un intervalo finito aunque en éste solamente coincide durante un período de tiempo. No obstante, la comparación debemos realizarla más exhaustiva y, para ello, analizaremos la trayectoria de estados y de acciones de control. Para realizar la comparación de aplicar un control en un tiempo finito o un control en el espacio estacionario se ha desarrollado la siguiente función de MatLab®: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 T=0.025; % Sistema discretizado con un periodo de muestreo de T = 0.025 segundos Tc=10; % Intervalo de tiempo en el cual se desea controlar el sistema de Tc = 10 seg t=[0:T:Tc]; % Calculamos el vector con los instantes en los cuales se sucede cada muestra N=length(t); % Obtenemos el numero de muestras que van a existir, la dimensión del vector F=[0,1;-2,0]; % Introducimos la Matriz de Estados F G=[0;1]; % Introducimos la Matriz de Entradas G Q=[2,0;0,1]; % Introducimos la Matriz de Ponderacion de estados Q R=[1]; % Introducimos la Matriz de Ponderacion de la señal de control r Sn=[2,0;0,1]; % Valor final de S [F,G]=c2d(A,B,T); K1 = ctropt(F,G,R,Q,N,Sn); %Hallamos la ganancia óptima en int. finito X1(1,1)=1; X1(2,1)=0; for i=1:N-1 U1(i)=-K1(i,:)*X1(:,i); X1(:,i+1)=F*X1(:,i)+G*U1(i); end K2 = ctroptest (F,G,R,Q); %Hallamos la ganancia óptima en estado estacionario X2(1,1)=1; X2(2,1)=0; for i=1:N-1 U2(i)=-K2*X2(:,i); X2(:,i+1)=F*X2(:,i)+G*U2(i); end XDIFF=X1-X2; UDIFF=U1-U2; subplot(2,1,1) stairs(X1(1,:),'b') hold on stairs(X1(2,:),'r') TITLE('Trayectoria de Estados en control de intervalo finito') XLABEL('Muestras') YLABEL('Amplitud de la Trayectoria de Estados x1(k) y x2(k)') hold on subplot(2,1,2) stairs(U1,'b') TITLE('Trayectoria de las acciones de control en control de intervalo finito') XLABEL('Muestras') YLABEL('Amplitud de la acción de control u(k)') figure subplot(2,1,1) stairs(X2(1,:),'b') hold on stairs(X2(2,:),'r') TITLE('Trayectoria de Estados en control en Estado Estacionario') XLABEL('Muestras') YLABEL('Amplitud de la Trayectoria de Estados x1(k) y x2(k)') Jaime Martínez Verdú 2-8
  • 23. CONTROL AVANZADO DE SISTEMAS 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 CONTROL ÓPTIMO hold on subplot(2,1,2) stairs(U1,'b') TITLE('Trayectoria de las acciones de control en Estado Estacionario') XLABEL('Muestras') YLABEL('Amplitud de la acción de control u(k)') figure subplot(2,1,1) stairs(XDIFF(1,:),'b') hold on stairs(XDIFF(2,:),'r') TITLE('Trayectoria de la diferencia de Estados') XLABEL('Muestras') YLABEL('Amplitud de la diferencia de Trayectoria de Estados ') hold on subplot(2,1,2) stairs(UDIFF,'b') TITLE('Trayectoria de la diferencia de las acciones de control ') XLABEL('Muestras') YLABEL('Amplitud de la diferencia de acciones de control') A Grosso modo, el funcionamiento de dicha función va dirigido a calcular la evolución de los estados y de la acción de control resultante de emplear cada una de las secuencia de ganancias de realimentación por un lado (X1, U1) y la ganancia de realimentación constante por otro (X2, U2). En las páginas siguientes, compararemos el funcionamiento de ambos sistemas de control basándonos en las siguientes gráficas. Jaime Martínez Verdú 2-9
  • 24. CONTROL AVANZADO DE SISTEMAS Jaime Martínez Verdú CONTROL ÓPTIMO 2-10
  • 25. CONTROL AVANZADO DE SISTEMAS Jaime Martínez Verdú CONTROL ÓPTIMO 2-11
  • 26. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO La evolución de los estados no es fielmente la misma. De todas maneras, la diferencia es tan pequeña que es casi insignificativa. Por tanto, en este caso se puede decir que no es recomendable realizar un control en intervalo de Tiempo Finito puesto que la carga computacional no favorece la obtención de unos resultados mejores; se trabaja con mayor cantidad de datos debido a que la ganancia de realimentación tiene valores diferentes en cada instante de muestreo y la mejora en el control no es los suficientemente significativa como para que merezca la pene tal esfuerzo computacional de cálculos de ganancias. Jaime Martínez Verdú 2-12
  • 27. Práctica 3: Control digital óptimo de un Péndulo Invertido ALUMNO: MARTÍNEZ VERDÚ, Jaime ASIGNATURA: CAV GRUPO: Martes de 12:30 a 14:30 Fecha límite: 23 de Junio de 2.006 INGENIERÍA INDUSTRIAL CURSO: 4º
  • 28. Escuela Politécnica Superior de Elche Ingeniería Industrial CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO curso 2004-2005 PRÁCTICA 3: Control Digital Óptimo de un Péndulo Invertido Objetivos • • Aplicar el control digital óptimo en estado estacionario al diseño de un sistema de seguimiento. Simular en Matlab el comportamiento de un servosistema Descripción Se desea realizar el control digital óptimo del péndulo invertido que se muestra a continuación: El péndulo invertido es un sistema inestable, pudiendo caer en cualquier momento y hacia cualquier dirección, a menos que se le aplique una fuerza de control. La fuerza de control u se aplica sobre el carro. Se desea mantener el péndulo invertido en posición vertical tanto como sea posible realizando un control de la posición del carro. Se supone que la masa del péndulo, m, se concentra al final de la varilla, que la varilla tiene una longitud l, y que la masa del carro es M. Se define el ángulo de rotación de la varilla alrededor del punto P como θ, y la posición de carro se representa por x. El esquema de control que debe utilizarse para que la posición del carro siga la referencia introducida es el siguiente: Página 1 de 2
  • 29. Escuela Politécnica Superior de Elche Ingeniería Industrial Se va a suponer que θ es pequeño, ya que se desea mantener el péndulo invertido en posición vertical. Con esta consideración, las ecuaciones del péndulo invertido son: & M lθ& = (M + m )gθ − u M && = u − m gθ x Asumiendo que la masa del carro es de 2 kg, la masa de la varilla es 0.1 kg y la longitud de la varilla es de 0.5 m, diseñar el esquema de control que hace que la posición del carro siga la referencia introducida y que la varilla se mantenga en posición vertical. Observaciones • • Considerar un periodo de muestreo de 0.1 segundos Simular el funcionamiento del sistema durante al menos 10 segundos Importante • Debe entregarse un informe de la práctica indicando los resultados obtenidos (gráficas del estado, señal de control, ...) junto con los listados de los ficheros de Matlab utilizados. • El plazo de entrega del informe de la práctica finaliza el día del examen de la asignatura en la convocatoria de Junio de 2005. Página 2 de 2
  • 30. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO 1. Introducción. Como objetivo esencial de la presente práctica es el de aplicar los conceptos de control digital óptimo en estado estacionario a un sistema de seguimiento adquiridos y desarrollados en clases de teoría. El sistema a controlar es el péndulo invertido mostrado en la figura. El carrito con un l·sen(θ) x péndulo invertido, se muestra a la derecha, es "empujado" con una fuerza impulsiva, u. Tenemos determinadas ya las ecuaciones θ Z l·cos(θ) dinámicas de movimiento del sistema, y hemos linealizado cerca del ángulo del péndulo, θ = 0 (en otras palabras, X asumamos que péndulo no se u aparta más que unos pocos grados de la vertical, elegida en un ángulo de π). Debemos encontrar un controlador para satisfacer todos los requerimientos de diseño. Para realizar el control óptimo se calculará la ganancia de realimentación óptima constante para el estado estacionario. Para ello, se empleará la función implementada en la práctica anterior ctroptest.m con unas ligeras modificaciones. Además de todo lo dicho, se simulará el sistema con MatLab® para probar que su comportamiento es los más estable posible. 2. Conceptos Teóricos. Las ecuaciones que representan al sistema del péndulo invertido son las siguientes:  Ml   ( M  m) g  u  M x  u  mg  Para este caso, asumamos que M masa del carro 2 kg m masa del péndulo 0.1 kg l longitud al centro de masa del péndulo 0.5 m u fuerza aplicada al carro x coordenadas de posición del carro  ángulo del péndulo respecto de la vertical Los requerimientos de diseño para este sistema son:   Periodo de muestreo de 0.1 segundos. Tiempo de simulación de 10 segundos. Jaime Martínez Verdú 3-1
  • 31. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO Se toman las siguientes variables de estado de modo que todas ellas tengan significado físico. La variable de estado x1 será el ángulo del péndulo respecto a la vertical, la variable x2 la velocidad angular del péndulo, la variable de estado x3 hace referencia a la posición del carro y x4 a la velocidad lineal del carro::  x2 (t )   (t ) x1 (t )   (t ) x3 (t )  x(t )  x4 (t )  x(t ) El modelo de estado empleando las ecuaciones del péndulo invertido quedaría de la siguiente manera:    x1 (t )   (t )  x1 (t )  x 2 (t )    x3 (t )  x(t )  x3 (t )  x 4 (t ) ( M  m)  g 1 ( M  m)  g 1    (t )   u (t )  x 2 (t )   x1 (t )   u (t ) M l M l M l M l m g 1 m g 1    x 4 (t )  (t )  x 4 (t )   x  x1 (t )   u (t )  x 4 (t )     (t )   u (t ) M M M M    x 2 (t )  (t )  x 2 (t )  Por tanto, tendríamos el siguiente sistema de ecuaciones diferenciales:  x1 (t )  x 2 (t ) ( M  m)  g 1  x1 (t )   u (t ) M l M l  x 3 (t )  x 4 (t )  x 2 (t )   x 4 (t )   mg 1   (t )   u (t ) M M En forma matricial, el modelo de estado del sistema, queda del siguiente modo:   0  x1 (t )         ( M  m)  g  x2 (t )      M l    x3 (t )    0        x (t )   m  g  4  M  y  0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0   0    x1 (t )         1        x2 (t )  M  l       u (t )     x3 (t )   0          1        x4 (t )  M        x1 (t )       x2 (t )       x3 (t )       x (t )  4  Se pretende que el sistema siga una referencia determinada por lo que se hace necesario añadir un controlador integral. Jaime Martínez Verdú 3-2
  • 32. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO Para averiguar el valor de la matriz de realimentación que hace estable al sistema, debemos analizar el sistema ampliado. Dicho sistema se obtiene del siguiente modo:       (k  1)  F  (k )  G w(k )   xe (k )   (k )      ve (k )     F F  C  F  con  0  I   G  G   C  G  F: es la matriz de estado del sistema discretizada. G: es la matriz de entradas del sistema discretizada. C: es la matriz de salidas del sistema. De esta forma, la nueva ecuación de estado del sistema es:       (k  1)  F  (k )  G w(k )   xe (k )    (k )      ve (k )    La señal de control es una realimentación de estado:    w(k )   K  (k )  K  K  KI  donde K es la matriz de realimentación del sistema KI es la constante del integrador.  Para calcular el valor de la ganancia K se define una función de coste que se pretende optiminzar minimizándola. Tal función de coste es la siguiente: J    1  T  ( k  Q   k  wkT  R  wk ) 2 k 0 Los valores de las matrices de ponderación se toman: 10 0  Q 0  0 0  Jaime Martínez Verdú 0 0 0 1 0 0 0 100 0 0 0 1 0 0 0 3-3 0 0  0  0 1  R  1
  • 33. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO 3. Procedimiento. A continuación mostraremos el código empleado en MatLab®: Jaime Martínez Verdú 3-4
  • 34. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO La función ctroptest.m, es igual que la de la práctica anterior cambiando F y G por F1 y G1 que son las matrices del sistema discretizadas ampliadas. Si se simula el sistema durante diez segundos, se obtienen las gráficas expuestas en páginas siguientes. 4. Resultados. Tal y como se puede observar en los experimentos 1A 1B y 1C al ponderar más la posición del carro, la gráfica de su estado posee menos oscilaciones que en los demás casos. Por tanto, el valor de la salida será más estable. Con respecto a la posición angular no existe mucha diferencia de unos casos a otros. Al aumentar el valor del factor de ponderación de la acción de control de 1 a 10 se produce una notable mejora en la salida del sistema puesto que se suaviza mucho más sobre todo si estamos ponderando el tercer estado. En los demás casos 2B y 2C la salida es mejor aunque no tan buena. Se nota también una diferencia sobre todo en la trayectoria de la señal de control puesto que en los experimentos 1A 1B y 1C tuvo un pico inicial de unos 1.5 voltios y ahora no excede de 0.75. Por tanto, y obviamente, se ha disminuido la exigencia de señal de control. Al disminuir el valor del factor de ponderación de 1 a 0.1 se produce un aumento de oscilaciones en la salida y también de valores de la señal de control pues consigue picos de casi 3 voltios. Jaime Martínez Verdú 3-5
  • 35. 1A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=1; 1B Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=1; Trayectoria de los estados x(k) Trayectoria de los estados x(k) x1 posicion angular x2 velocidad angular x3 posicion del carro x4 velocidad del carro 1.4 1.2 1 1 0.8 0.8 Amplitud del estado x(k) 1.2 0.6 0.4 0.6 0.4 0.2 0.2 0 0 -0.2 -0.2 -0.4 0 10 20 30 40 50 60 70 80 -0.4 90 0 10 20 30 40 Muestras 50 Muestras 1C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=1; Trayectoria de los estados x(k) x1 posicion angular x2 velocidad angular x3 posicion del carro x4 velocidad del carro 1.4 1.2 1 Amplitud del estado x(k) Amplitud del estado x(k) x1 posicion angular x2 velocidad angular x3 posicion del carro x4 velocidad del carro 1.4 0.8 0.6 0.4 0.2 0 -0.2 -0.4 0 10 20 30 40 50 Muestras 60 70 80 90 60 70 80 90
  • 36. 1A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=1; 1B Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=1; Trayectoria de la salida y(k) Trayectoria de la salida y(k) 1.5 Amplitud de y(k) Amplitud de y(k) 1.5 1 0.5 0 0 10 20 30 40 50 60 70 80 1 0.5 0 90 0 10 20 30 Trayectoria de la señal de control u(k) Amplitud de u(k) Amplitud de u(k) 1 0 -0.5 0 10 20 30 40 50 60 70 80 70 80 90 60 70 80 90 60 70 80 90 1 0 -0.5 -1 90 0 10 20 30 40 50 Trayectoria de la salida del integrador v(k) 20 Amplitud de v(k) 20 15 10 5 20 30 40 50 60 70 80 15 10 5 0 90 0 10 20 30 40 Muestras 50 Muestras 1C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=1; Trayectoria de la salida y(k) 1.5 Amplitud de y(k) 10 1 0.5 0 0 10 20 30 40 50 60 70 80 90 60 70 80 90 60 70 80 90 Trayectoria de la señal de control u(k) 2 Amplitud de u(k) 0 1 0 -1 0 10 20 30 40 50 Trayectoria de la salida del integrador v(k) 15 Amplitud de v(k) Amplitud de v(k) 60 0.5 Trayectoria de la salida del integrador v(k) 0 50 1.5 0.5 -1 40 Trayectoria de la señal de control u(k) 1.5 10 5 0 0 10 20 30 40 50 Muestras
  • 37. 2A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=10; 2B Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=10; Trayectoria de los estados x(k) Trayectoria de los estados x(k) x1 posicion angular x2 velocidad angular x3 posicion del carro x4 velocidad del carro 1.4 1.2 1 1 0.8 0.8 Amplitud del estado x(k) 1.2 0.6 0.4 0.6 0.4 0.2 0.2 0 0 -0.2 -0.2 -0.4 0 10 20 30 40 50 60 70 80 -0.4 90 0 10 20 30 40 50 Muestras Muestras 2C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=10; Trayectoria de los estados x(k) x1 posicion angular x2 velocidad angular x3 posicion del carro x4 velocidad del carro 1.4 1.2 1 Amplitud del estado x(k) Amplitud del estado x(k) x1 posicion angular x2 velocidad angular x3 posicion del carro x4 velocidad del carro 1.4 0.8 0.6 0.4 0.2 0 -0.2 -0.4 0 10 20 30 40 50 Muestras 60 70 80 90 60 70 80 90
  • 38. 2A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=10; 2B Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=10; Trayectoria de la salida y(k) Trayectoria de la salida y(k) 1.5 Amplitud de y(k) Amplitud de y(k) 1.5 1 0.5 0 0 10 20 30 40 50 60 70 80 1 0.5 0 90 0 10 20 30 Amplitud de u(k) Amplitud de u(k) 0.5 0 0 10 20 30 40 50 60 70 80 70 80 90 60 70 80 90 60 70 80 90 0 -0.5 -1 90 0 10 20 30 40 50 Trayectoria de la salida del integrador v(k) 20 25 Amplitud de v(k) 20 15 10 5 20 30 40 50 60 70 80 15 10 5 0 90 0 10 20 30 40 Muestras 50 Muestras 2C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=10; Trayectoria de la salida y(k) 1.5 Amplitud de y(k) 10 1 0.5 0 0 10 20 30 40 50 60 70 80 90 60 70 80 90 60 70 80 90 Trayectoria de la señal de control u(k) 1 Amplitud de u(k) 0 0.5 0 -0.5 -1 0 10 20 30 40 50 Trayectoria de la salida del integrador v(k) 20 Amplitud de v(k) Amplitud de v(k) 60 0.5 Trayectoria de la salida del integrador v(k) 0 50 1 1 -0.5 40 Trayectoria de la señal de control u(k) Trayectoria de la señal de control u(k) 15 10 5 0 0 10 20 30 40 50 Muestras
  • 39. 3A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1; 3B Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1; Trayectoria de los estados x(k) Trayectoria de los estados x(k) x1 posicion angular x2 velocidad angular x3 posicion del carro x4 velocidad del carro 1.4 1.2 1 1 0.8 0.8 Amplitud del estado x(k) 1.2 0.6 0.4 0.6 0.4 0.2 0.2 0 0 -0.2 -0.2 -0.4 0 10 20 30 40 50 60 70 80 -0.4 90 0 10 20 30 40 Muestras 50 Muestras 3C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1; Trayectoria de los estados x(k) x1 posicion angular x2 velocidad angular x3 posicion del carro x4 velocidad del carro 1.4 1.2 1 Amplitud del estado x(k) Amplitud del estado x(k) x1 posicion angular x2 velocidad angular x3 posicion del carro x4 velocidad del carro 1.4 0.8 0.6 0.4 0.2 0 -0.2 -0.4 0 10 20 30 40 50 Muestras 60 70 80 90 60 70 80 90
  • 40. 3A Q=[10 0 0 0 0;0 1 0 0 0;0 0 100 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1; 3B Q=[100 0 0 0 0;0 1 0 0 0;0 0 10 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1; Trayectoria de la salida y(k) Trayectoria de la salida y(k) 1.5 Amplitud de y(k) Amplitud de y(k) 1.5 1 0.5 0 0 10 20 30 40 50 60 70 80 1 0.5 0 90 0 10 20 30 Amplitud de u(k) Amplitud de u(k) 2 1 0 0 10 20 30 40 50 60 70 80 70 80 90 60 70 80 90 60 70 80 90 1 0 -1 -2 90 0 10 20 30 40 50 Trayectoria de la salida del integrador v(k) 15 Amplitud de v(k) 15 10 5 20 30 40 50 60 70 80 10 5 0 90 0 10 20 30 40 Muestras 50 Muestras 3C Q=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];R=0.1; Trayectoria de la salida y(k) 1.5 Amplitud de y(k) 10 1 0.5 0 0 10 20 30 40 50 60 70 80 90 60 70 80 90 60 70 80 90 Trayectoria de la señal de control u(k) 4 Amplitud de u(k) 0 2 0 -2 0 10 20 30 40 50 Trayectoria de la salida del integrador v(k) 10 Amplitud de v(k) Amplitud de v(k) 60 2 Trayectoria de la salida del integrador v(k) 0 50 3 3 -1 40 Trayectoria de la señal de control u(k) Trayectoria de la señal de control u(k) 8 6 4 2 0 0 10 20 30 40 50 Muestras
  • 41. Práctica 4: Problema del Seguimiento Lineal cuadrático ALUMNO: MARTÍNEZ VERDÚ, Jaime ASIGNATURA: CAV GRUPO: Martes de 12:30 a 14:30 Fecha límite: 23 de Junio de 2.006 INGENIERÍA INDUSTRIAL CURSO: 4º
  • 42. Escuela Politécnica Superior de Elche Ingeniería Industrial CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO PRÁCTICA Cuadrático 4: Problema de curso 2004-2005 Seguimiento Lineal Objetivos • • • Diseñar un regulador lineal cuadrático óptimo para que el estado de un sistema siga una referencia durante un intervalo de tiempo utilizando Matlab. Implementar una función en Matlab que calcule los parámetros de regulación óptima en cada instante para que el estado siga una referencia. Simular en Matlab el comportamiento del sistema con el control óptimo de seguimiento diseñado. Descripción Considérese el siguiente sistema discreto correspondiente a un servomotor, obtenido utilizando un periodo de muestreo T = 0.06 s: ⎡ x1 (k + 1)⎤ ⎡1 0.053⎤ ⎡ x1 (k )⎤ ⎡0.0116⎤ ⎢ x (k + 1)⎥ = ⎢0 0.787 ⎥ ⎢ x (k )⎥ + ⎢ 0.373 ⎥u (k ) ⎦⎣ 2 ⎦ ⎣ ⎦ ⎣ 2 ⎦ ⎣ donde x1 y x2 representan respectivamente la posición y velocidad del servomotor. (i) Suponiendo el estado inicial es x0 = [1 0]T, diseñar un regulador lineal cuadrático de forma que se minimice el siguiente índice durante un intervalo de control de 5 s: J= [ N −1 1 (xN − rN )T S (xN − rN ) + 1 ∑ (xk − rk )T Q(xk − rk ) + ukT Ruk 2 2 k =0 ] ⎡15 0 ⎤ T donde R = 0.1, S = Q = ⎢ ⎥ , rk = [2 0] , k = 0, 1, …,N. ⎣ 0 0.2⎦ (ii) Diseñar el regulador considerando que la referencia introducida es rk = [4 0]T, k = 0, 1, …,N. (iii) Comprobar que en tanto en (i) como en (ii) el regulador diseñado consigue que el estado del sistema siga la referencia indicada. Página 1 de 2
  • 43. Escuela Politécnica Superior de Elche Ingeniería Industrial Observaciones Deberá implementarse una función en Matlab que a partir de las matrices de la ecuación de estado, los factores de ponderación de la función de coste, el número de intervalos de muestreo, y de la referencia que debe seguir el estado, devuelva los parámetros de regulación óptima en cada instante de muestreo. Así mismo deberá crearse un fichero de Matlab para realizar la simulación del sistema discreto con los parámetros de regulación óptima calculados. Importante • Debe entregarse un informe de la práctica indicando los resultados obtenidos (gráficas del estado, señal de control, ...) junto con los listados de los ficheros de Matlab utilizados. • El plazo de entrega del informe de la práctica finaliza el día del examen de la asignatura en la convocatoria de Junio de 2005. Página 2 de 2
  • 44. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO 1. Desarrollo teórico. Esencialmente, el objetivo de esta práctica va dirigido a diseñar un regulador lineal cuadrático óptimo, para cualquier estado del sistema siga una señal de referencia determinada. Para ello se implementarán en Matlab las funciones de computación de parámetros para cada instante. Finalmente, se simulará el sistema para dos referencias distintas verificando el comportamiento del sistema. El sistema discreto obtenido con un tiempo de muestreo de 0.06 s que va a ser objeto de estudio, correspondiente a un servomotor, es el siguiente:  x1 (k  1)  1       x2 (k  1) 0 0.053   x1 (k )  0.0116      u (k )      0.787   x2 (k )  0.373  donde x1 representa la posición del servomotor y x2 representa la velocidad del servomotor. Suponiendo que el estado inicial es x0 = [0 1]T y la minimización del índice de costes debe realizarse durant4e un intervalo de tiempo de5 s;: J 1 1 N 1 T ( x N  rN )T  S  ( xN  rN )   [( xK  rK )T  Q  ( xK  rK )  u K  R  u K 2 2 K 0 donde R = 0.1, S y Q son las matrices de ponderación y que son exactamente iguales (matrices diagonales con pivotes 15 y 0.2) y rk la señal de referencia. Tal y como nos explicó José María Azorín en clases de teoría, la señal de control viene definida de la siguiente manera: uk   K k xk  M k Las matrices Kk y Mk se obtiene de forma recursiva hacia atrás empleando las siguientes expresiones matemáticas: K k  ( R  G T S k 1G ) 1 G T S k 1 F M k  ( R  G T S k 1G ) 1 G T Pk 1 Para poder obtener los valores de dichas matrices, necesitamos calcular también las matrices Pk y Sk del siguiente modo: Pk  F T Pk 1  F T S k 1G ( R  G T S k 1G ) 1 G T Pk 1  Qrk S k  F T ( S k 1  S k 1G ( R  G T S k 1G ) 1 G T S k 1 ) F  Q Para poder aplicar el algoritmo, hemos de conocer el valor de las condiciones iniciales del algoritmo que son: KN = 0, SN, MN = 0 y PN = -SN·RN. Jaime Martínez Verdú 4-1
  • 45. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO El programa desarrollado para la realización de la práctica es el siguiente: Para modificar el valor de la amplitud de la señal de referencia hemos de variar la línea 10 cambiando [1 0]’ por [4 0]’ para pasar de un apartado a otro. Tal y como se puede comprobar en las prácticas, se alcanza el valor en ambos casos. Jaime Martínez Verdú 4-2
  • 46. CONTROL AVANZADO DE SISTEMAS CONTROL ÓPTIMO El programa desarrollado para calcular las matrices K y M es el siguiente: Jaime Martínez Verdú 4-3
  • 47. CONTROL AVANZADO DE SISTEMAS Jaime Martínez Verdú CONTROL ÓPTIMO 4-4
  • 48. CONTROL AVANZADO DE SISTEMAS Jaime Martínez Verdú CONTROL ÓPTIMO 4-5
  • 49. Escuela Polit´cnica Superior de Elche e Ingenier´ Industrial ıa Examen de Control Avanzado de Sistemas ´ Control Optimo Junio 2002 1. Consid´rese el siguiente sistema discreto escalar: e xk+1 = f (xk , uk ) yk = cxk Plantear las ecuaciones del controlador optimo que hacen que la salida del sistema siga una se˜al de ´ n referencia rk sobre el intervalo [0, N ], suponiendo que el estado inicial x0 es conocido y que el estado final xN puede variarse en la b´squeda de la soluci´n ´ptima. u o o (4 puntos) 2. Consid´rese el siguiente sistema continuo: e x1 (t) ˙ 01 = x2 (t) ˙ 00 x1 (t) 0 + u(t) x2 (t) 1 y la siguiente funci´n de coste: o J(0) = 1 2 ∞ (x(t)T 0 q1 0 x(t) + u2 (t))dt 0 q2 Determinar los valores de q1 y q2 para que el polinomio caracter´ ıstico del sistema en bucle cerrado utilizando la ganancia de realimentaci´n sub´ptima sea: o o p(s) = s2 + 5s + 10 (6 puntos)
  • 50. Escuela Polit´cnica Superior de Elche e Ingenier´ Industrial ıa Examen de Control Avanzado de Sistemas ´ Control Optimo Septiembre 2003 1. Consid´rese el siguiente sistema discreto lineal escalar: e xk+1 = 4xk + 2uk (a) Encontrar la ley de control optimo que minimiza la funci´n de coste siguiente: ´ o ∞ (4x2 + 4u2 ) k k J= k=0 (3 puntos) (b) Obtener la ubicaci´n de los polos del sistema en bucle cerrado utilizando la ley de control calculada. o ¿Es estable el sistema en bucle cerrado? Razonar la respuesta. (0.5 puntos) (c) Calcular el valor de la funci´n de coste asociado a la estrategia de control optimo si el estado inicial o ´ es x0 = 3. (0.5 puntos) (d) Consid´rese que el sistema anterior ha sido obtenido al discretizar un sistema continuo con un periodo e de muestreo de 0.1 seg. Plantear la expresi´n de la funci´n de coste que deber´ minimizarse si se o o ıa desea controlar el sistema unicamente durante 2 seg de forma que se utilice la m´ ´ ınima se˜al de n control posible, asumiendo que el estado inicial es conocido y que el estado final puede variarse en la b´squeda de la soluci´n optima. Razonar la respuesta. u o ´ (1.5 puntos) 2. Consid´rese el sistema continuo descrito por la siguiente ecuaci´n diferencial: e o y (t) = u(t) ¨ (a) Calcular la ley de control que minimiza la siguiente funci´n de coste: o J= 1 2 ∞ (y 2 (t) + y 2 (t) + u2 (t))dt ˙ 0 (4 puntos) (b) Obtener la ubicaci´n de los polos del sistema en bucle cerrado utilizando la ley de control calculada. o ¿Es estable el sistema en bucle cerrado? Razonar la respuesta. (0.5 puntos)
  • 51. Escuela Polit´cnica Superior de Elche e Ingenier´ Industrial ıa Examen de Control Avanzado de Sistemas ´ Control Optimo Junio 2004 1. Consid´rese el siguiente sistema discreto: e x1 (k + 1) = x2 (k) x2 (k + 1) = u(k) y la siguiente funci´n de coste: o ∞ J= x2 (k) + x2 (k) + x1 (k)x2 (k) + ru2 (k) 1 2 k=0 Determinar el valor de r para que los polos del sistema en bucle cerrado utilizando la ley de control o ´ptimo que minimiza la funci´n de coste anterior sean z1 = 0, z2 = −0.2. o (5 puntos) 2. Consid´rese el siguiente sistema continuo: e x(t) = ˙ 01 0 x(t) + u(t) 20 2 (a) Encontrar la ley de control optimo que minimiza la funci´n de coste: ´ o J= 1 2 ∞ 0 (x(t)T 10 x(t) + 2u2 (t))dt 01 (3 puntos) (b) Obtener la ubicaci´n de los polos del sistema en bucle cerrado utilizando la ley de control calculada. o ¿Es estable el sistema en bucle cerrado? Razonar la respuesta. (1 punto) (c) Indicar cual ser´ la funci´n de coste que habr´ que minimizar si se deseara que el estado x(t) ıa o ıa siguiera un estado de referencia r(t) durante un intervalo de control [t0 , T ]. (1 punto)
  • 52. Escuela Polit´cnica Superior de Elche e Ingenier´ Industrial ıa Examen de Control Avanzado de Sistemas ´ Control Optimo Diciembre 2004 1. Consid´rese el siguiente sistema discreto: e xk+1 = 01 0 x + u 00 k 1 k y la siguiente funci´n de coste: o J= 1 2 ∞ (xT k k=0 11 x + 2u2 ) k 1q k (a) Determinar el valor de q para que los polos del sistema en bucle cerrado, utilizando la ley de control ´ptimo que minimiza la funci´n de coste anterior, sean z1 = 0, z2 = −0.1. o o (7 puntos) (b) ¿Es necesario aplicar el control ´ptimo para poder determinar cu´l es el valor ´ptimo de la funci´n o a o o de coste? Razonar la respuesta. (1 punto) (c) Plantear la funci´n de coste a minimizar para que la salida del sistema, y k = Cxk , siga una se˜al de o n referencia rk durante el intervalo de control [0, N ]. (2 puntos)