Sie sind auf Seite 1von 12

Prctica Virtual 1.

Control de un pndulo invertido


Asignatura:
Curso:
Realizacin:
Fechas:

Sistemas Electrnicos de Control


2013/2014-1
Laboratorio virtual (http://147.83.26.22/moodle/login/index.php)
del 14/5/12 al 1/6/12

Nota: Una vez realizada la prctica hay que subir al Moodle una pequea memoria con
los controladores finales (y los pasos seguidos en su diseo) y la captura de las grficas
del laboratorio virtual a fin de mostrar su correcto funcionamiento. Opcionalmente es
posible subir tambin el vdeo del funcionamiento del sistema controlado.

1. Case Study: Pndulo invertido


En esta prctica se controlar el comportamiento del sistema (no lineal e inestable) de la
Fig. 1. Se trata de resituar el pndulo y el carro en su posicin de equilibrio definida
por = 0rad y x = 0m cuando el pndulo ha sido apartado de su posicin de equilibrio
(dicha perturbacin se modelar como condiciones iniciales).
y
m

l
P
u

Fig. 1. Pndulo invertido con carrito

El objetivo de control puede conseguirse aplicando sobre el carrito una fuerza u


apropiada. sta ser la seal esfuerzo de control.

ETSETB. Sistemas Electrnicos de Control 1314a

Prctica Virtual 1. Control de un pndulo invertido

Configuraciones de control:
En esta prctica vamos a implementar dos
configuraciones de control distintas.
En primer lugar se ensayar un compensador serie de tipo PID con retroaccin unitaria,
tal y como muestra la Fig. 2.

P2(s)
e(t)

r(t) +

y1(t) = (t)

u(t)
C(s)

y2(t) = x(t)

P1(s)

Fig. 2. Compensador serie

Y, en segundo lugar, se implementar una regulacin mediante la retroaccin de todos


los estados de la planta segn se muestra en la Fig. 3.

u(t)

r(t)=0 +

y(t)

x(t)
c

A
kx
Fig. 3. Retroaccin de estados

ETSETB. Sistemas Electrnicos de Control 1314a

Prctica Virtual 1. Control de un pndulo invertido

2. Laboratorio virtual
El laboratorio virtual de SEC se encuentra en el siguiente enlace:
http://147.83.26.22/moodle/login/index.php

La siguiente figura muestra la pantalla por defecto correspondiente al pndulo invertido.

Fig. 4. Laboratorio virtual

Realizacin del experimento: Los pasos para realizar el experimento son:


1)

Seleccionar la estrategia de control: PID (control proporcional integral derivativo)


o FBVE (feedback de las variables de estado).

ETSETB. Sistemas Electrnicos de Control 1314a

Prctica Virtual 1. Control de un pndulo invertido

2) Introducir los parmetros del controlador en las cajas correspondientes. Nota: en


Java, si la caja est en amarillo es que el valor an no ha sido cargado. Pulsar
<Enter> para asegurar que el parmetro se carga (la caja pasar a color blanco).
Por ejemplo, en la siguiente figura el valor kd=30 an no ha sido cargado:

3) Seleccionar un valor (entre pi y pi) para la posicin inicial del pndulo. Ello
puede hacerse con ayuda del deslizador (solo permite seleccionar los valores que
corresponden a las rayas) o bien introduciendo el valor numrico (puede ser
cualquier valor) en la caja que lleva por ttulo NGULO (radianes).

4) Clicar en el botn Iniciar para iniciar el experimento. Mientras el experimento


est en marcha la leyenda de este botn pasa a ser Parar y clicar sobre l sirve
para detener el experimento. El experimento no ha terminado hasta que la leyenda
no vuelve a ser Iniciar. Nota: Dependiendo de la conexin a internet el
experimento tarda unos cuantos segundos en iniciarse.
5) El botn Reset retorna a los valores por defecto de la pantalla (todo a cero y
seleccionado el PID). Despus de cada experimento hay que pulsar Reset para que
las curvas de las grficas no se superpongan.

Captura de los datos experimentales:


Situarse sobre las grficas de ngulo y posicin, y clicar con el botn derecho del ratn.
Aparecer el siguiente men de contexto:

ETSETB. Sistemas Electrnicos de Control 1314a

Prctica Virtual 1. Control de un pndulo invertido

Seleccionar Capturar imagen para capturar las grficas de la evolucin temporal del
ngulo del pndulo y la posicin del carrito.

Para grabar vdeo, situarse sobre la representacin icnica del pndulo, clicar con el
botn derecho y seleccionar Grabar Video. Ello abre una ventada que permite la
creacin de ficheros GIF animados. En el momento en que se inicie la animacin, clicar
en Capturar. Al finalizar la animacin, deseleccionar Capturar y guardar el fichero.

Encuesta de satisfaccin:
Esta es la primera versin del laboratorio virtual que estamos desarrollando en SEC, por
tanto vuestra opinin y comentarios nos resultan sumamente importantes. Hay una
encuesta de satisfaccin al finalizar los experimentos. Os agradeceremos mucho
cualquier comentario adicional, informe de incidencias y sugerencias de mejora.

ETSETB. Sistemas Electrnicos de Control 1314a

Prctica Virtual 1. Control de un pndulo invertido

En los siguientes ejercicios se disean los controladores que se ensayarn en el


laboratorio virtual presentado en el apartado anterior. Para facilitar el trabajo estn
todos resueltos menos el Ejercicio 3, que es el que habr que resolver.

2. Diseo de los controladores


2.1 Anlisis de la planta sin control
Ejercicio 1. Modelacin terica (I). Ecuaciones diferenciales. Obtener las
ecuaciones diferenciales que rigen la dinmica del montaje de la Fig. 1, con los
siguientes datos:
Datos: M = 2kg, m = 0.1kg, l =2m, g = 9.81m/s2. Se supone que el cilindro no tiene
masa, por lo que el centro de gravedad del pndulo se sita en la masa m. Considerar
tambin que el momento de inercia I del pndulo respecto a su centro de gravedad es
nulo y que el ngulo es pequeo.
Solucin:
Coordenadas del centro de gravedad del pndulo. Coinciden con la posicin de la bola:
xG x l sin

y G l cos
Movimiento rotacional de la bola: I V l sin H l cos , donde H, V son las
componentes horizontal y vertical de la fuerza medida en el punto P.
d2
Movimiento horizontal de la bola: m 2 ( x l sin ) H
dt

Movimiento vertical de la bola: m

d2
(l cos ) V mg
dt 2

Movimiento horizontal del carrito: Mx u H


Si el ngulo de rotacin es pequeo, estas cuatro ecuaciones quedan como:
I V l H l
m( x l) H
0 V mg
Mx u H

Sustituyendo I = 0 y combinando las ecuaciones (2) con (4) y (1) con (3), el resultado
es:
(m M ) x ml u

ETSETB. Sistemas Electrnicos de Control 1314a

Prctica Virtual 1. Control de un pndulo invertido

ml 2 mlx mgl

2.2 Diseo de un control PID


Ejercicio 2. Modelacin terica (II). Funcin de transferencia. A partir de las
ecuaciones diferenciales:
(m M ) x ml u
ml 2 mlx mgl
se pide:
1) Obtener la ecuacin diferencial que relaciona u con (que no aparezca x ni sus
derivadas) y, a partir de ella, obtener la funcin de transferencia (s)/U(s).
2) Es estable el sistema?
Solucin:
Simplificando ml, la segunda ecuacin es l x g . Sustituyndola en la primera,
da (m M )( g l) ml u o, lo que es lo mismo, (m M ) g Ml u .
Aplicando Laplace con condiciones iniciales nulas,
Mls 2 ( s) (m M ) g( s ) U ( s ) ,
se obtiene finalmente:
( s )
1
0.25

2
2
U ( s ) Mls ( M m) g s 5.15

Es inestable puesto que sus polos estn en 2.27 y en +2.27.

Ejercicio 3. Diseo de un control PID. Considerar que la funcin de transferencia


que relaciona el ngulo del pndulo con la posicin del carrito es
P1 ( s )

( s )
0.25
2
U ( s ) s 5.15

Se pide:
1) Disear un controlador PID ideal C(s) (1 integrador y 2 ceros) tal que estabilice a
P1(s). Para ello usar, por ejemplo, la utilidad sisotool de Matlab.
2) Representar el LGR del lazo L(s)=C(s)P1(s) (rlocus).
3) Obtener la funcin de transferencia en lazo cerrado T(s)=L(s)/(1+L(s)) (feedback)
y calcular sus polos (pole).
4) Representar la respuesta T(s) a condiciones iniciales (perturbacin de la posicin del
pndulo): initial(ss(T),[0.1 0 0]).
5) Si es necesario, ajustar los parmetros del PID para que la regulacin se alcance en
menos de 5 segundos.

ETSETB. Sistemas Electrnicos de Control 1314a

Prctica Virtual 1. Control de un pndulo invertido

2.3 Control en el espacio de estado


Ejercicio 4. Modelacin terica (III). Ecuaciones de estado. A partir de las
ecuaciones diferenciales:
(m M ) x ml u
ml 2 mlx mgl
se pide:
1) Obtener las ecuaciones de estado tomando como variables de estado a x1 ,
x 2 , x3 x , x 4 x , y como variables de salida a y x.
2) Obtener su polinomio caracterstico. Es estable el sistema?
3) Estudiar su controlabilidad y su observabilidad. dem con su estabilizabilidad y su
detectabilidad.
T
4) Obtener la respuesta zero input a x 0 0.1 0 0 0 . Representar por separado
cada una de las variables de estado (subplot).
Solucin:
1) Por un lado, x1 x 2 y x 3 x 4 . La segunda ecuacin del enunciado queda como

ml 2 x 2 mlx 4 mglx1 o, lo que es lo mismo, x 4 gx1 lx 2 . Sustituyendo sta en la


(m M ) x 4 mlx 2 u ,
se
obtiene
primera
ecuacin
del
enunciado,
Mlx 2 mgx 1 Mgx1 u . En definitiva,
0
( M m) g
A Ml
0
mg
M

1 0 0
0
1

0 0 0
0
1 0 0 0

, b Ml , C
, d

0 0 1
0
0
0 0 1 0

1
0 0 0
M

%planta
A =
0
5.1503
0
-0.4905

1.0000
0
0
0

0
0
0
0

0
0
1.0000
0

B =
0
-0.2500
0
0.5000

C =
1
0

0
0

0
1

0
0

D =
0
0

ETSETB. Sistemas Electrnicos de Control 1314a

Prctica Virtual 1. Control de un pndulo invertido

2) Polinomio caracterstico: ( ) 4 5.152


Es inestable porque tiene un autovalor en +2.27.
>> poly(A)
ans =
1.0000

-0.0000

-5.1503

>> roots(ans)
ans =
0
0
2.2694
-2.2694

3) Es totalmente controlable y observable. Por tanto, tambin es estabilizable y


detectable
Mc=ctrb(A,B)
rank(Mc)
Mo=obsv(A,C)
rank(Mo)
Mc =
0
-0.2500
0
0.5000

-0.2500
0
0.5000
0

0
-1.2876
0
0.1226

-1.2876
0
0.1226
0

0
0
1.0000
0
0
0
5.1503
-0.4905

0
1.0000
0
0
0
0
0
0

0
0
0
1.0000
0
0
0
0

ans =
4

Mo =
1.0000
0
0
0
5.1503
-0.4905
0
0

ans =
4

4) Respuesta ZI

ETSETB. Sistemas Electrnicos de Control 1314a

Prctica Virtual 1. Control de un pndulo invertido

%lazo abierto
x0=[0.1 0 0 0];t=linspace(0,1);
[y,x,t]=initial(A,B,C,D,x0,t);
h=figure(1);
subplot(221),plot(t,x(:,1)),
title('x_1: posic angular bola')
subplot(222),plot(t,x(:,2)),
title('x_2: veloc angular bola')
subplot(223),plot(t,x(:,3)),
title('x_3: posic lineal carrito')
subplot(224),plot(t,x(:,4)),
title('x_4: veloc lineal carrito')
set(h,'name','Planta sin
control','numbertitle','off')

Ejercicio 5. Regulador de estado. Fijacin de polos. Se desea estabilizar la planta.


Para ello se pide:
1) Especificaciones: Para tener t s 2 y un amortiguamiento razonable, se escogen
dos polos dominantes con = 0.5 y n = 4. Los otros dos polos se suponen iguales
a 10 para que no afecten a la dinmica nominal. Indicar cules son los polos
especificados y construir el polinomio caracterstico deseado.
2) Representar el esquema de bloques del regulador (ver Fig. 3) y escribir sus
ecuaciones de estado.
3) Obtener la ganancia de la retroaccin de estados kc con ayuda de la funcin
acker.
4) Obtener las matrices del sistema regulado. Comprobar el valor del polinomio
caracterstico y los autovalores.
T
5) Representar la evolucin de los cuatro estados a x 0 0.1 0 0 0 y a
x 0 0.2 0 0.2 0 . Representar tambin el esfuerzo de control u en ambos
casos. Comentar el resultado.
6) Opcional: Repetir el diseo para = 0.5 y n = 2. Comparar los resultados con el
caso anterior y extraer conclusiones acerca de la velocidad y sensibilidad de ambos
diseos. Probar otros polos.
T

Solucin:
1) Polos deseados. Polinomio caracterstico deseado:
z=0.5;wn=4;
p1=-z*wn+j*wn*sqrt(1-z^2)
p2=conj(p1)
p3=-10
p4=-10
[nu,alpha_c]=zp2tf([],[p1 p2 p3 p4],1);alpha_c

p1 =
-2.0000 + 3.4641i
p2 =
-2.0000 - 3.4641i

ETSETB. Sistemas Electrnicos de Control 1314a

10

Prctica Virtual 1. Control de un pndulo invertido

p3 =
-10
p4 =
-10
alpha_c =
1.0e+003 *
0.0010

0.0240

0.1960

0.7200

1.6000

3) Ganancia de la retroaccin de estados


%ganancia de la retroaccion de estados
kc=acker(A,B,[p1 p2 p3 p4])

kc =
1.0e+003 *
-2.1094
-0.6832

-0.6524

-0.2936

4) Matrices del sistema regulado. Polinomio caracterstico. Autovalores


%sistema en lazo cerrado
Ac=A-B*kc
pol_caract=poly(Ac)
autoval=eig(Ac)
Ac =
1.0e+003 *
0
0.0010
-0.5222
-0.1708
0
0
1.0542
0.3416

pol_caract =
1.0e+003 *
0.0010

autoval =
-10.0000
-10.0000
-2.0000
-2.0000

+
+
-

0.0240

0
-0.1631
0
0.3262

0
-0.0734
0.0010
0.1468

0.1960

0.7200

1.6000

0.0000i
0.0000i
3.4641i
3.4641i

5) Evolucin ZI de los estados del sistema regulado. Esfuerzo de control


t=linspace(0,3);
x0=[0.1 0 0 0];
[y,x,t]=initial(Ac,B,C,D,x0,t);
u=kc*x';
figure(3),plot(t,u),
title('esfuerzo de control'),hold on
h=figure(2);
subplot(221),plot(t,x(:,1)),
title('x_1: posic angular bola'), hold o
subplot(222),plot(t,x(:,2)),
title('x_2: veloc angular bola'),hold on
subplot(223),plot(t,x(:,3)),
title('x_3: posic lineal carrito'),hold
on
subplot(224),plot(t,x(:,4)),
title('x_4: veloc lineal carrito'),hold
on
set(h,'name','Regulador de
estados','numbertitle','off')

x 1: posic angular bola

x 2: veloc angular bola

0.4

0.2

0
-2
-0.2
-4

-0.4
-0.6

-6

x 3: posic lineal carrito


2

10

-1

x 4: veloc lineal carrito

-5

x0=[0.2 0 0.2 0];

ETSETB. Sistemas Electrnicos de Control 1314a

11

Prctica Virtual 1. Control de un pndulo invertido

[y,x,t]=initial(Ac,B,C,D,x0,t);
u=kc*x';
h=figure(2);
subplot(221),plot(t,x(:,1),'g'),
subplot(222),plot(t,x(:,2),'g'),
subplot(223),plot(t,x(:,3),'g'),
subplot(224),plot(t,x(:,4),'g'),
figure(3)
plot(t,u,'g')

esfuerzo de control
200
100
0
-100
-200
-300
-400
-500
-600

ETSETB. Sistemas Electrnicos de Control 1314a

0.5

1.5

2.5

12

Das könnte Ihnen auch gefallen