informe 1036
-
Upload
ninoska-ayala -
Category
Documents
-
view
214 -
download
0
description
Transcript of 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:
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.
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.
Eligiendo
Se obtiene
SIMULACION.- para la simulación del sistema propuesto, planteamos el siguiente esquema:
Donde desglosamos los siguientes componentes
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
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
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
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
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
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.