clase 2 - control en matlab

6
1 1 1 CONTROL POR REALIMENTACION DE ESTADOS d=[0] Problema 1. Caso SISO d = Considere el siguiente sistema: 0 u x x x x + = 1 1 2 0 0 1 2 1 2 1 & & co=ctrb(a,b); rank(co) ans = 2 [ ] = 2 1 1 1 x x y El sistema es completamente controlable, entonces puedo asignar polos arbitrariamente. Diseñe un control por realimentación de estados tal que los polos queden ubicados en: pd=[-2,-3] pd = 3 2 2 1 = = s s -2 -3 k=place(a,b,pd) Solución: place: ndigits= 15 Se observa que el sistema es inestable con polos en 2 1 2 1 = = s s k = -12.0000 20.0000 Regulador Las constantes de ganancia son: Lo primero que debe hacerse es verificar si el sistema es completamente controlable. 20 12 2 1 = = k k Se procede a realizar la simulación: a=[1,0;0,2] t To Workspace1 y To Workspace Step x' = Ax+Bu y = Cx+Du State-Space K Matrix Gain1 K Matrix Gain Clock a = 1 0 0 2 b=[1;1] b = 1 11 c=[1,1] c = Area de Automática Ing. Mecatrónica. Jimmy Tombé Andrade

Upload: eric-mosvel

Post on 11-Apr-2015

2.216 views

Category:

Documents


1 download

DESCRIPTION

Clase practica de control con MATLAB

TRANSCRIPT

Page 1: Clase 2 - Control en Matlab

1

1 1 CONTROL POR REALIMENTACION DE ESTADOS

d=[0] Problema 1. Caso SISO

d = Considere el siguiente sistema: 0

uxx

xx

+

=

11

2001

2

1

2

1

&

&

co=ctrb(a,b); rank(co) ans = 2

[ ]

=

2

111xx

y El sistema es completamente controlable, entonces puedo asignar polos arbitrariamente.

Diseñe un control por realimentación de estados tal que los polos queden ubicados en:

pd=[-2,-3]

pd = 32 21 −=−= ss -2 -3

k=place(a,b,pd) Solución: place: ndigits= 15 Se observa que el sistema es inestable con polos en

21 21 == ss k = -12.0000 20.0000

Regulador Las constantes de ganancia son: Lo primero que debe hacerse es verificar si el sistema es completamente controlable. 2012 21 =−= kk

Se procede a realizar la simulación: a=[1,0;0,2]

t

To Workspace1

y

To WorkspaceStep

x' = Ax+Bu y = Cx+Du

State-Space

K

MatrixGain1

K

MatrixGain

Clock

a = 1 0 0 2 b=[1;1] b = 1 11 c=[1,1] c =

Area de Automática Ing. Mecatrónica.

Jimmy Tombé Andrade

Page 2: Clase 2 - Control en Matlab

2

A continuación se muestran las variables de estado del sistema controlado y el esfuerzo de control en la grafica siguiente.

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

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

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

-0.3

-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

Variables de estado

Con este tipo de simulación debe tenerse en cuenta que la matriz c que se encuentra dentro de State – Space cambia a la matriz identica para que la salida sean las variables de estado, esta salida luego se multiplica por la matriz c real. (Identica del tamaño de ). a

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

-0.2

0

0.2

0.4

0.6

0.8

1

Esfuerzo de control

En la grafica se puede apreciar que el sistema se estabiliza pero presenta un gran error de estado estacionario, por eso se hace necesario diseñar un control para seguimiento de referencia constante. Pero antes demostremos las ventajas de este control como regulador. NOTAS ADICIONALES: A continuación se grafican las variables de estado del sistema con y sin control, asi como el esfuerzo de control.

t

To Workspace1

y

To Workspace

x' = Ax+Bu y = Cx+Du

State-Space

K

MatrixGain1

K

MatrixGain

Clock

0 1 2 3 4 5 6 7 8 9 100

0.5

1

1.5

2

2.5x 108

Aquí se observan las variables de estado del sistema sin controlar.

Area de Automática Ing. Mecatrónica.

Jimmy Tombé Andrade

Page 3: Clase 2 - Control en Matlab

3

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

-0.5

0

0.5

1

1.5

2

kpi=place(aa,ba,pda) place: ndigits= 15 kpi = -212.0000 240.0000 40.0000 kp=[-212,240] kp = -212 240 Aquí se observa claramente que el sistema vuelve al

punto de equilibrio. ki=[40] ki = NOTA: Como el sistema carece de entrada es necesario

colocar condiciones inciales en el sistema. 40 Las dos primeras columnas corresponden a

la ultima columna es k . pk iSeguidor Cuando se calcula un seguidor se debe tener en cuenta que dichos calculos deben realizarse con las matrices aumentadas pero las simulaciones se hacen con el sistema normal.

[ ]240212−=pk [ ]40=ik

[ ]ru

bzx

ca

zx

+

+

=

10

000

&

&

t

To Workspace1

y

To WorkspaceStep

x' = Ax+Bu y = Cx+Du

State-Space

K

MatrixGain2

K

MatrixGain1

K

MatrixGain

s

1

Integrator

Clock

aa=[a,zeros(2,1);-c,0] aa =

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

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1 0 0 0 2 0 -1 -1 0 ba=[b;0] ba = 1 1 0

pda=[-2,-3,-20] Se observa en la grafica que el control estabilza el sistema y que este no presenta error de estado estacionario.

pda = -2 -3 -20

Area de Automática Ing. Mecatrónica.

Jimmy Tombé Andrade

Page 4: Clase 2 - Control en Matlab

4

co=ctrb(a2,b2); rank(co) Problema 2. Caso MIMO

ans = 3

+

=

2

1

3

2

1

3

2

1

110010

6116100010

uu

xxx

xxx

&

&

&

El sistema es completamente controlable, entonces se pueden asignar polos arbitrariamente. Polos deseados:

=

3

2

1

140022

xxx

y

56.74304.078.04304.078.0

3

2

1

−=−−=+−=

sisis

Regulador Osea que lo deseado es que el sistema se estabilice.

a2=[0,1,0;0,0,1;6,11,6]

pd2=[-.78+.4304i,-.78-.4304i,-7.56] a2 = 0 1 0 pd2 = 0 0 1 -0.7800 + 0.4304i -0.7800 - 0.4304i -7.5600 6 11 6

eig(a2) k2=place(a2,b2,pd2) ans = place: ndigits= 15 -0.7800 + 0.4304i k2 = -0.7800 - 0.4304i -1.5600 10.7936 7.5600 7.5600 7.5600 1.0000 0.0000 b2=[0,1;0,0;1,1]

x

To Workspace2

t

To Workspace1

y

To WorkspaceStep

x' = Ax+Bu y = Cx+Du

State-Space

K

MatrixGain1

K

MatrixGain

Clock

b2 = 0 1 0 0 1 1 c2=[-2,-2,10;0,-4,-8] c2 = -2 -2 10 0 -4 -8 El sistema es inestable.

Area de Automática Ing. Mecatrónica.

Jimmy Tombé Andrade

Page 5: Clase 2 - Control en Matlab

5

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

-10

-8

-6

-4

-2

0

2

4

6

8

Salida del sistema

ba2=[b2;zeros(2,2)] ba2 = 0 1 0 0 1 1 0 0 0 00 pda2=[-.78+.4304i,-.78-.4304i,-7.56,-20,-20]

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

0

0.5

1

1.5

2

2.5

3

Variables de estado

pda2 = Columns 1 through 4 -0.7800 + 0.4304i -0.7800 - 0.4304i -7.5600 -20.0000 Column 5 -20.0000 kpi2=place(aa2,ba2,pda2) place: ndigits= 15 kpi2 =

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

-25

-20

-15

-10

-5

0

5

Esfuerzo de control

-15.5433 -22.9398 33.0822 -15.4331 2.3987 21.0626 -10.9090 0.9752 10.6264 17.7870

t

To Workspace1

y

To WorkspaceStep

x' = Ax+Bu y = Cx+Du

State-Space

K

MatrixGain2

K

MatrixGain1

K

MatrixGain

s

1

Integrator

Clock

Seguidor aa2=[a2,zeros(3,2);-c2,zeros(2,2)] aa2 = 0 1 0 0 0 0 0 1 0 0 6 11 6 0 0 2 2 -10 0 0 0 4 8 0 0

Area de Automática Ing. Mecatrónica.

Jimmy Tombé Andrade

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

-0.5

0

0.5

1

1.5

2

Salida del sistema

Page 6: Clase 2 - Control en Matlab

Area de Automática Ing. Mecatrónica.

Jimmy Tombé Andrade

6

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

-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

Variables de estado

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

-1

0

1

2

3

4

5

6

7

Esfuerzo de control