Control de un puente grúa

19
Control de un puente grúa Análisis 17/03/2011 Control RAC

Transcript of Control de un puente grúa

Page 1: Control de un puente grúa

Control de un puente grúa Análisis

17/03/2011Control RAC

Page 2: Control de un puente grúa

Control de un puente grúaEl modelo de la figura siguiente representa un puente grúa formado por un carro conectado a la masa suspendida a través de un cable, el carro se mueve por la acción de un motor situado al extremo izquierdo del sistema.

La función de transferencia en el dominio de “S” es la siguiente:

1

S×(S+ BM 1

)=

M 1× X1f m−M 2×g×θ−M 1×g×μ

Donde:

B= coeficiente de rozamiento del aire generalmente 0.01

M 1= la masa del carrito 0.25Kg

X1= la posición del carrito en metros

f m=fuerza del motor en Newton mkg

s2

M 2=masa del peso 0.125kg

g=gravedad 10 m

s2

θ =ángulo rad

μ=coeficiente de rozamiento acero contra acero 0.15

Page 3: Control de un puente grúa

Reemplazando los valores tenemos (estos valores son estimados y aproximados)

1S×(S+0.04)

=0.25×X1

f m−1,25×θ−0,375 [ s2kg ](1)

Con la variable de salida X1y nuestra entrada la fuerza del motor f m

Siendo el coeficiente de rozamiento del aire muy pequeño se podría considerar despreciable

La formula tendría de la siguiente forma

1S2

=0.25× X1

f m−1,25×θ−0,375 [ s2kg ](2)Por razones practicas se analiza la primera formula (1)

Matlab

Se introduce la función de transferencia a Matlab 1

S×(S+0.04)

>> sisC=zpk([],[0 -0.04],1)

Zero/pole/gain:

1

----------

s (s+0.04)

Ahora se lleva el sistema a variables de estado.

>> sisCss=ss(sisC)

a =

x1 x2

x1 0 1

x2 0 -0.04

b =

u1

x1 0

x2 1

c =

x1 x2

y1 1 0

d =

Page 4: Control de un puente grúa

u1

y1 0

Continuous-time model.

Estabilidad

Se ve la estabilidad del sistema con Nyquist

>> nyquist (sisC)

-7 -6 -5 -4 -3 -2 -1 0-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.80 dB

-20 dB

-10 dB

-6 dB

-4 dB-2 dB

20 dB

10 dB

6 dB

4 dB 2 dB

Nyquist Diagram

Real Axis

Imag

inar

y A

xis

Nyquist nos dice q el sistema en tiempo continuo es estable por que sus curvas que no encierran el punto -1, pero las curvas están muy cerca de este.

Otra forma de ver la estabilidad del sistema es usando los eigen valores de la matriz a en variables de estado.

Los eigen valores de la matriz a en variables de estado nos dan las raíces del sistema ya que la dinámica del sistema esta en la matriz “a”.

Si las raíces del sistema se encuentran en el plano derecho, el sistema es inestable.

>> eig(sisCss.a)

ans =

0

-0.0400

Page 5: Control de un puente grúa

Los polos del sistema se encuentran en el origen y en -0.04, muy cerca del semiplano derecho, son críticamente estables.

Otra forma de ver la estabilidad del sistema es usando la orden rlocus, esta nos da el lugar de las raíces para distintos valores de realimentación.

El sistema realimentado representado con rlocus es el siguiente:

>> rlocus(sisC)

-0.045 -0.04 -0.035 -0.03 -0.025 -0.02 -0.015 -0.01 -0.005 0 0.005-0.015

-0.01

-0.005

0

0.005

0.01

0.015Root Locus

Real Axis

Imag

inar

y A

xis

Como se ven los dos polos en -0,04 y 0 tienen distintos polos para distintos valores de ganancia, lo que también nos da una idea del comportamiento del sistema a distintas ganancias.

Page 6: Control de un puente grúa

Ahora se usara la orden lyap de Matlab, esto resuelve la ecuación de Lyapunov

AT XA−A=−Q , si esta ecuación se puede resolver el sistema es asintóticamente estable

Para la orden de Lyapunov en Matlab se necesita una matriz del mismo grado que la matriz “a” del sistema en variables de estado, esta puede ser una matriz identidad.

>> I=[1 1;1 1];

>> lyap(sisCss.a,I)

??? Solution does not exist or is not unique.

La orden de lyapunov nos dice que no encontró una solución para nuestro sistema, lo que quiere decir que el sistema no es asintóticamente estable.

ControlabilidadUtilizando la orden ctrb y Rank de Matlab se puede ver si el sistema es controlable.

Con la orden ctrb se obtiene la matiz de controlabilidad, si esta tiene un rango igual al grado de la matiz esto quiere decir que es controlable

>> Mtctrb=ctrb(sisCss)

Mtctrb =

0 1.0000

1.0000 -0.0400

>> rank(Mtctrb)

ans =

2

Como se ve primero obtuvimos la matriz de controlabilidad del sistema y después su rango, lo cual nos dice que el sistema es controlable.

Observabilidad

Utilizando la orden obsv de Matlab y RanK podemos ver si el sistema es observable.

Con la orden obsv se obtiene la matriz de observabilidad del sistema, si esta tiene un rango igual al grado de la matriz, nuestro sistema es observable.

>> Mtobsv=obsv(sisCss)

Mtobsv =

1 0

0 1

>> rank(Mtobsv)

ans =

2

Page 7: Control de un puente grúa

Con se ve obtuvimos la matriz de observabilidad del sistema y después el rango de esta. El rango de la matriz de observabilidad es igual al grado de la matriz, lo que nos dice que el sistema es observable.

Respuesta al escalón

Ahora tenemos nuestro sistema al cual se daremos una realimentación y graficaremos la respuesta al escalón, esto se hará para ver su respuesta transiente o transitoria.

La sintaxis es:

Feedback(sys1,sys2)

Si se quiere una ganancia contante de realimentación se tiene que igualar sys2=1 con esto

tenemos Pc1+Pc

oKG1+KG la forma de un sistema realimentado.

>> sisCFeedB = feedback(sisCss,1)

a =

x1 x2

x1 0 1

x2 -1 -0.04

b =

u1

x1 0

x2 1

c =

x1 x2

y1 1 0

d =

u1

y1 0

Continuous-time model.

Ahora veremos la respuesta al escalón

Page 8: Control de un puente grúa

0 50 100 150 200 250 3000

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2Step Response

Time (sec)

Am

plitu

de

Esta el la respuesta a una ganancia de realimentación igual a uno.

Esta es la respuesta esperada de un sistema de “Puente grúa”, con una carga que oscila en presencia de perturbaciones.

El modelo con realimentación presenta la siguiente función de transferencia, por lo que la realimentación ayuda a la estabilidad del sistema, esta realimentación simplemente es proporcional.

En función de transferencia

>> sisCFeedB 2=feedback(sisC,1)

Zero/pole/gain:

1

------------------

(s^2 + 0.04s + 1)

Las raíces del sistema realimenta son:

>> pole(masd)

ans =

-0.0200 + 0.9998i

-0.0200 - 0.9998i

Page 9: Control de un puente grúa

Modelo discretoEl control del modelo “Puente grúa”, se realizara en tiempo discreto, por lo que se debe discretizar el modelo obtenido en tipo continuo.

Para el valor de muestreo no hay una regla específica para los sistemas, pero se utiliza el teorema de muestreo de Shannon.

Que dice: una señal continua con transformada se Fourier nula fuera del intervalo (−w0 ,w0 ¿ esta determinada de forma única por sus valores en puntos equidistantes si la frecuencia de muestreo es mayor a 2w0. La señal continua puede calcularse a partir de la señal muestreada mediante la formula de interpolación.

La elección apropiada del periodo de muestreo depende de las propiedades de la señal, con el teorema de Shannon se puede elegir un periodo de muestreo apropiado si se aceptan errores y retardos en la reconstrucción del sistema.

Tabla de errores relativos cuando se muestrea y reconstruye una señal

Muestreo por periodo

Error relativo máximo

N Mantenedor de orden ceso Mantenedor de primer orden

2 1.5 2.55 0.6 0.8

10 0.3 0.1920 0.15 0.0550 0.06 0.008

100 0.03 0.002200 0.015 5×10−4

500 0.006 8×10−5

Como en no se cuenta con la señal muestreada del sistema se estimara un valor.

El único parámetro de referencia que se tiene es la respuesta al escalón del sistema continuo, la cual nos da una oscilación:

Page 10: Control de un puente grúa

2 3 4 5 6 70

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2Step Response

Time (sec)

Am

plitu

de

Esta comienza en 1.58 s y termina en 7.88 lo cual nos da un periodo de 6.3s el cual representaría a una frecuencia de 0.159 Hz con lo cual se tendría una frecuencia de muestreo de 0.032Hz esto seria 3.15 s el periodo de muestreo, este valor es para una ganancia de 1.

Para la conversión del modelo continuo al discreto se utilizara la orden c2d de Matlab.

>> sisD=c2d(sisC,0.001)

Zero/pole/gain:

4.9999e-007 (z+1)

-----------------

(z-1) (z-1)

Sampling time: 0.001

>> sisD=c2d(sisC,3.15)

Zero/pole/gain:

4.7593 (z+0.9589)

-----------------

(z-1) (z-0.8816)

Sampling time: 3.15

Para temer un mejor sistema se muestreara con un periodo de muestreo de 0.001s

Esta orden nos entrega una función de transferencia en el domino “Z” (modelo discreto), el cual necesita un tiempo de muestreo, el cual esta en segundos, que representa 0,001s=1ms que es igual a 1000Hz=1KH

Variables de estada

Para llevar el modelo a variables de estado utilizamos la orden ss como en modelos continuos, esta orden nos da las matrices de estado de muestro sistema.

>> sisDss=ss(sisD)

a =

x1 x2

x1 1 1.414

Page 11: Control de un puente grúa

x2 0 1

b =

u1

x1 0

x2 0.0009766

c =

x1 x2

y1 0.0007241 0.000512

d =

u1

y1 0

Sampling time: 0.001

Discrete-time model.

Nos da las matrices de las variables de estado y nos indica el tipo de muestreo usado.

EstabilidadPara obtener las matrices del sistema discreto se utiliza la orden egi de Matlab, con la cual obtendremos los eigen valores de la matriz a del sistema discreto.

>> eig(sisDss.a)

ans =

1.0000

1.0000

Los eigen valores del sistema son las raíces del sistema, estos están en el punto 1, esto significa que están en el limite del circulo unitario para sistemas discretos, por lo que seria el sistema estable, pero están en el punto limite con una oscilación.

Para obtener otra grafica de estabilidad se utiliza la orden rlocus de Matlab.

La cual es una grafica de las raíces del sistema realimentado a distintas ganancias.

>> rlocus(sisD)

Page 12: Control de un puente grúa

-7 -6 -5 -4 -3 -2 -1 0 1 2-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5Root Locus

Real Axis

Imag

inar

y A

xis

Esta grafica nos demuestra que el sistema para cualquier ganancia de realimentación mayor a cero hace que el sistema sea inestable con sus dos polos sobre el círculo unitario.

Otra forma de ver la estabilidad de un sistema es la grafica de Nyquist, la cual nos dice si las curvas del sistema rodean el punto -1 el sistema es inestable.

>> nyquist(sisD)

Page 13: Control de un puente grúa

-9 -8 -7 -6 -5 -4 -3 -2 -1 0-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

10 dB

-10 dB

-6 dB

-4 dB

-2 dB

10 dB

6 dB

4 dB 2 dB

Nyquist Diagram

Real Axis

Imag

inar

y A

xis

La grafica de Nyquis nos indica que el sistema es estable, pero esta muy cerca del punto -1 por lo que estaría muy cerca de la inestabilidad.

Otra forma de ver estabilidad en sistemas discretos es la ecuación de lyapunov, la cual

AT XA−A=−Q, si esta ecuación es posible resolver entonces el sistema es asintóticamente estable encontrando la matriz X del sistema, la matriz A es la matriz “a” del sistema discreto en variables de estado y Q es una matriz cualquiera del mismo grado que matiz “a”, en este caso será la matriz identidad.

>> I=[1 1;1 1];

>> dlyap(sisDss.a,I)

??? Solution does not exist or is not unique.

La orden de dlyap nos que no se encontró la respuesta para el sistema, lo cual quiere decir que el sistema no es asintóticamente estable.

Page 14: Control de un puente grúa

Controlabilidad

Utilizando la orden ctrb y la orden Rank vemos si nuestro sistema es controlable.

MTctrb=ctrb(sisDss)

MTctrb =

0 0.0014

0.0010 0.0010

Tenemos que sacar el rango de la matriz de controlabilidad del sistema discreto, para ver si el sistema es controlable.

>> rank(MTctrb)

ans =

2

Ya que el rango de la matriz es el mismo que el grado de la matriz se ve que el sistema es controlable.

ObservabilidadLa matriz de observabilidad se obtiene con la siguiente orden obsv en Matlab.

>> MTobsv=obsv(sisDss)

MTobsv =

0.0007 0.0005

0.0007 0.0015

Par ver si el sistema es observable se obtiene el rango de esta matriz

>> rank(MTobsv)

ans =

2

Ya que el rango de la matriz es igual al grado de la matriz, el sistema es observable.

Respuesta al escalón

Ahora tenemos nuestro sistema al cual se daremos una realimentación y graficaremos la respuesta al escalón, esto se hará para ver su respuesta transitoria.

Page 15: Control de un puente grúa

Si se quiere una ganancia contante de realimentación se tiene que igualar sys2=1 con esto

tenemos Pc1+Pc

oKG1+KG la forma de un sistema realimentado.

Con la orden feedback se encuentra muestro sistema realimentado.

La ganancia de realimentación para muestro sistema será 1.

>> sisDfeedb=feedback(sisDss,1)

a =

x1 x2

x1 1 1.414

x2 -7.071e-007 1

b =

u1

x1 0

x2 0.0009766

c =

x1 x2

y1 0.0007241 0.000512

d =

u1

y1 0

Sampling time: 0.001

Discrete-time model.

Con este modelo obtenido someteremos a mostro sistema a una señal escalón la cual nos dará la respuesta del mismo.

La realimentación nos da una función de transferencia.

>> sisDfeedb=feedback(sisD,1)

Zero/pole/gain:

4.9999e-007 (z+1)

-----------------

(z^2 - 2z + 1)

Sampling time: 0.001

>> pole (sisDfeedb)

ans =

1.0000 + 0.0010i

1.0000 - 0.0010i

En la función de transferencia del sistema realimentado se observa que los polos cambian. Con la orden pole en Matlab se obtienen los polos del sistema. Con lo que podemos ver que el sistema con una ganancia de 1 en realimentación se hace inestable en sus polos, ya que estos están fuera del círculo unitario.

>> step(sisDfeedb)

Page 16: Control de un puente grúa

0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8Step Response

Time (sec)

Am

plitu

de

Esta grafica confirma el punto de inestabilidad de las raíces, al ver que nunca llega a estabilizase el sistema, pasando a una ganancia infinita, muy lejos del punto de referencia.