informe 1036

10
BALANCEO HACIA ARRIBA Y ESTABILIZACION DE UN SISTEMA CARRO PENDULO BAJO UN LIMITE DE CARRO OBJETIVO.- Estudiar y simular el funcionamiento de un sistema carro péndulo, primero para balancear el péndulo hacia arriba y luego estabilizarlo en esa posición con un control de estabilización. FUNDAMENTO TEORICO.- El sistema a ser estudiado es el de la siguiente figura: Figura 1. La configuración Para obtener el modelo matemático de este sistema carro – péndulo se utiliza las ecuaciones de Lagrange de la siguiente forma: Energía cinética: Energía potencial: El sistema Lagrangiano es construido con las ecuaciones diferenciales obtenidas de:

description

automatizacion

Transcript of informe 1036

Page 1: informe 1036

BALANCEO HACIA ARRIBA Y ESTABILIZACION DE UN SISTEMA CARRO

PENDULO BAJO UN LIMITE DE CARRO

OBJETIVO.- Estudiar y simular el funcionamiento de un sistema carro péndulo, primero para

balancear el péndulo hacia arriba y luego estabilizarlo en esa posición con un control de

estabilización.

FUNDAMENTO TEORICO.- El sistema a ser estudiado es el de la siguiente figura:

Figura 1. La configuración

Para obtener el modelo matemático de este sistema carro – péndulo se utiliza las ecuaciones de

Lagrange de la siguiente forma:

Energía cinética:

Energía potencial:

El sistema Lagrangiano es construido con las ecuaciones diferenciales obtenidas de:

Page 2: informe 1036

Obteniendo las siguientes ecuaciones:

Designando , obtenemos el siguiente modelo en espacio de estados:

Una ley de control propuesta para cumplir el objetivo es:

Donde es la energía total del péndulo y es la energía del péndulo en

posición vertical(donde se desea llegar).

Lamentablemente esta ley de control funciona en el caso de que el carro se pudiera desplazar

libremente sin restricciones, por lo que se propone la siguiente ley de control:

Donde el primer termino es derivado de la ley de control anterior, solo que contiene el signo

negativo en vez de la diferencia entre energías, dado que esta siempre va a ser negativa y maneja

la aceleración en el sentido opuesto al que se mueve el péndulo para así balancearlo.

Page 3: informe 1036

El segundo termino incluye la longitud máxima que se puede mover el carro, que tiene una

posición inicial cero, y se opone a que el carro llegue a la posición ±L, con lo que se cumple la

restricción del espacio en el que se mueve el carro.

Para el punto de cruce( ), se debe insertar una corrección dado que no se llega con las

energías exactamente en cero a este punto, para lo cual se propone una nueva ley de control en

este punto:

Donde:

es la restricción de movimiento del carro

es la restricción para la velocidad del carro y

es la que mantiene las energías en valores

cercanos.

Con esto ya se tendrá una energía total y una velocidad que no afectaran al sistema de control de

estabilización del péndulo.

Ya para el punto de estabilización se realiza una linealizar el sistema alrededor de un punto de

equilibrio (inestable) con la entrada u que en este caso es la fuerza aplicada al pivote

tenemos:

Donde:

que se definió anteriormente, después de linealizar se obtiene:

Realizando el control por realimentación de estados donde K se obtiene de la

minimización de la integral , donde las matrices Q y R son positivas y

definidas.

Page 4: informe 1036

Eligiendo

Se obtiene

SIMULACION.- para la simulación del sistema propuesto, planteamos el siguiente esquema:

Donde desglosamos los siguientes componentes

Page 5: informe 1036

PLANTA:

La planta esta representada por los 2 bloques:

Para la parte no lineal y por:

para la parte lineal y el control de estabilización, dentro de estos bloques encontramos lo

siguiente:

Gp_nolineal

0

x_ref

sin(tetha)

(d(tetha)/dt) 2

ctte_1

sin*cos

F

x

d(x)/dt

x

windups

0

tetha_ref

tetha1

F

sin(tetha)

(d(tetha)/dt) 2

ctte_1

sin*cos

tetha

d(tetha)/dt

tetha

out_xestabilizacion1

estabilizacion

cruise_mode

x_ref

x

tetha_ref

tetha

d(tetha)/dt

control_windup

controlador windup

x_ref

x

d(x)/dt

tetha

theta_ref

d(tetha)/dt

control_cruise_mode

controlador cruise mode

Scope2

Pulse

Generator1

Manual Switch

NOT

Logical

Operator

x_ref

xout

Gp_linea+control estabilizacion

-13

Constant5

tetha

windup

cruise

estabilizador

Chart1

tetha

windup

cruise

estabilizador

Chart

Gp_nolineal

0

x_ref

sin(tetha)

(d(tetha)/dt) 2

ctte_1

sin*cos

F

x

d(x)/dt

x

windups

0

tetha_ref

tetha1

F

sin(tetha)

(d(tetha)/dt) 2

ctte_1

sin*cos

tetha

d(tetha)/dt

tetha

out_xestabilizacion1

estabilizacion

cruise_mode

x_ref

x

tetha_ref

tetha

d(tetha)/dt

control_windup

controlador windup

x_ref

x

d(x)/dt

tetha

theta_ref

d(tetha)/dt

control_cruise_mode

controlador cruise mode

Scope2

Pulse

Generator1

Manual Switch

NOT

Logical

Operator

x_ref

xout

Gp_linea+control estabilizacion

-13

Constant5

tetha

windup

cruise

estabilizador

Chart1

tetha

windup

cruise

estabilizador

Chart

d^2(tetha)/dt^2-----> d(theta)/dt

6

d(tetha)/dt

5

tetha

4

sin*cos3

ctte_1

2

(d(tetha)/dt)^2

1

sin(tetha)

3.14

pi

1

s1

sxo

d(theta)/dt --> tetha

cosTrigonometric

Function1

sinTrigonometric

Function

Product7

Product6

Product5

Product4

Product3

Product2

Product1

Product

3/(4*l*(M+m))

Gain7

Divide

1 Constant4

3*m/(4*(M+m))

Constant3

3*m/(4*(M+m))

Constant2

3*g/(4*l)

Constant1

Enable

1

F

Page 6: informe 1036

Representación del modelo para salida (tetha)

Representación del modelo para la salida

Representación del modelo linealizado con la realimentación de estados para el control de

estabilización

2

d(x)/dt

1

x

1

s

d^2(x)/dt^2 --> d(x)/dt

1

s

d(x)/dt --> x

Product9

Product8

Product10

1/(M+m)

Gain5

Divide1

3*m*g/(4*(M+m))

Constant6

(m*l)/(M+m)

Constant1

Enable

5

F

4

sin*cos

3

ctte_1

2

(d(tetha)/dt)^2

1

sin(tetha)

1

out

1

sxo

dx/dt --> x

N

Gain4

C* u

Gain3

B* u

Gain2

A* u

Gain1

-K* u

Gain

Enable

2

x

1

x_ref

Page 7: informe 1036

El controlador para el balanceo esta representado por el siguiente bloque:

Que se basa en la ley de control dada

Controlador para el balanceo hacia arriba

El controlador para la etapa de cruce se lo representa en el siguiente bloque:

Gp_nolineal

0

x_ref

sin(tetha)

(d(tetha)/dt) 2

ctte_1

sin*cos

F

x

d(x)/dt

x

windups

0

tetha_ref

tetha1

F

sin(tetha)

(d(tetha)/dt) 2

ctte_1

sin*cos

tetha

d(tetha)/dt

tetha

out_x estabilizacion1

estabilizacion

cruise_mode

x_ref

x

tetha_ref

tetha

d(tetha)/dt

control_windup

controlador windup

x_ref

x

d(x)/dt

tetha

theta_ref

d(tetha)/dt

control_cruise_mode

controlador cruise mode

Scope2

Pulse

Generator1

Manual Switch

NOT

Logical

Operator

x_ref

xout

Gp_linea+control estabilizacion

-13

Constant5

tetha

windup

cruise

estabilizador

Chart1

tetha

windup

cruise

estabilizador

Chart

1

control_windup

cos

Trigonometric

Function1

Sign1

Sign

Product3

Product1

log10

Math

Function

(m+M)

Gain4

ksu

Gain3

kcw

Gain2

Divide

1 Constant3L

Constant1

|u|

Abs

Enable

5

d(tetha)/dt

4

tetha

3

tetha_ref

2

x

1

x_ref

Gp_nolineal

0

x_ref

sin(tetha)

(d(tetha)/dt) 2

ctte_1

sin*cos

F

x

d(x)/dt

x

windups

0

tetha_ref

tetha1

F

sin(tetha)

(d(tetha)/dt) 2

ctte_1

sin*cos

tetha

d(tetha)/dt

tetha

out_x estabilizacion1

estabilizacion

cruise_mode

x_ref

x

tetha_ref

tetha

d(tetha)/dt

control_windup

controlador windup

x_ref

x

d(x)/dt

tetha

theta_ref

d(tetha)/dt

control_cruise_mode

controlador cruise mode

Scope2

Pulse

Generator1

Manual Switch

NOT

Logical

Operator

x_ref

xout

Gp_linea+control estabilizacion

-13

Constant5

tetha

windup

cruise

estabilizador

Chart1

tetha

windup

cruise

estabilizador

Chart

Page 8: informe 1036

Dentro de este bloque se encuentra lo siguiente:

Para poder pasar de un estado a otro de control se puso habilitadores en los bloques de los

sistemas ya expuestos, los cuales son manejados por el siguiente diagrama de flujo de estados

(Stateflow)

1

control_cruise_mode

n_swing

n_swing

kem

kem

erp

cos

Trigonometric

Function

Sign3

Sign2

Sign1

Sign

Product8

Product7Product6

Product5Product4

Product3

Product1

eu

Math

Function3

log10

Math

Function1

log10

Math

Function

M+m

Gain5

kvw

Gain4

kcw

Gain2

m*g*l

Eupd(tetha)/dt

tethaErp

Erp

Divide1

Divide

1

Constant6

1 Constant4

1 Constant3

L

Constant2

L

Constant1

|u|

Abs1

|u|

Abs

Enable

6

d(tetha)/dt

5

theta_ref

4

tetha

3

d(x)/dt

2

x

1

x_ref

Gp_nolineal

0

x_ref

sin(tetha)

(d(tetha)/dt) 2

ctte_1

sin*cos

F

x

d(x)/dt

x

windups

0

tetha_ref

tetha1

F

sin(tetha)

(d(tetha)/dt) 2

ctte_1

sin*cos

tetha

d(tetha)/dt

tetha

out_x estabilizacion1

estabilizacion

cruise_mode

x_ref

x

tetha_ref

tetha

d(tetha)/dt

control_windup

controlador windup

x_ref

x

d(x)/dt

tetha

theta_ref

d(tetha)/dt

control_cruise_mode

controlador cruise mode

Scope2

Pulse

Generator1

Manual Switch

NOT

Logical

Operator

x_ref

xout

Gp_linea+control estabilizacion

-13

Constant5

tetha

windup

cruise

estabilizador

Chart1

tetha

windup

cruise

estabilizador

Chart

Page 9: informe 1036

Los estados varían según el valor de (tetha)

Una vez armado todo el sistema de simulación procedemos a esta con los valores dados en el

documento base

Page 10: informe 1036

Como vemos los resultados obtenidos por la simulación realizada son semejantes a los resultados

de simulación del documento presentado.

CONCLUSIONES.- La simulación del funcionamiento de un sistema es muy importante antes de

implementarlo, ya que en este se ve si el análisis realizado y las leyes de control propuestas

funcionan de la manera deseada, como el modelado del sistema en si, lo que es muy útil para una

futura implementación.