control predictivo basado en modelos para el ball&beam

48
CONTROL PREDICTIVO BASADO EN MODELOS PARA EL BALL&BEAM Daniel José Martínez Barragán PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRÓNICA BOGOTÁ D. C 2011

Upload: others

Post on 06-Apr-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

CONTROL PREDICTIVO BASADO EN MODELOS PARA EL BALL&BEAM

Daniel José Martínez Barragán

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELECTRÓNICA

BOGOTÁ D. C

2011

2

CONTROL PREDICTIVO BASADO EN MODELOS PARA EL BALL&BEAM

Daniel José Martínez Barragán

Trabajo de grado para optar por el título de

Ingeniero Electrónico

DIRECTOR

Fredy Ruiz

Ingeniero Electrónico

ASESOR

Diego Patiño

Ingeniero Electrónico

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELECTRÓNICA

BOGOTÁ D. C

2011

3

FACULTAD DE INGENIERÍA

CARRERA DE INGENIERÍA ELECTRÓNICA

RECTOR MAGNIFICO: P. JOAQUÍN EMILIO SÁNCHEZ GARCÍA, S.J.

DECANO ACADÉMICO: Ing. FRANCISCO JAVIER REBOLLEDO MUÑOZ.

DECANO DEL MEDIO UNIVERSITARIO: P. SERGIO BERNAL RESTREPO, S.J.

DIRECTOR DE CARRERA: Ing. JUAN MANUEL CRUZ BOHÓRQUEZ, M. Ed.

DIRECTOR DEL PROYECTO: Ing. FREDY RUIZ. Ph.D

ASESOR DEL PROYECTO: Ing. DIEGO PATIÑO. Ph.D

4

NOTA DE ADVERTENCIA

"La universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos

de grado sólo velará porque no se publique nada contrario al dogma y la moral católica y porque los

trabajos no contengan ataques o polémicas puramente personales. Antes bien, que se vea en ellos el

anhelo de buscar la verdad y la justicia".

Artículo 23 de la Resolución No. 13, del 6

De julio de 1946, por la cual se

Reglamenta lo concerniente a Tesis y

Exámenes de Grado en la Pontificia

Universidad Javeriana.

5

TABLA DE CONTENIDO

TABLA DE CONTENIDO .................................................................................................................. 5

1. INTRODUCCIÓN ................................................................................................................... 6

1.1 OBJETIVOS ............................................................................................................................. 7

1.1.1 OBJETIVO GENERAL ................................................................................................. 7

1.1.2 OBJETIVOS ESPECÍFICOS ......................................................................................... 7

2. DESARROLLO TEÓRICO ..................................................................................................... 8

2.1 MPC ....................................................................................................................................... 8

2.1.1 PLANTEAMINETO GENERAL DE UN PROBLEMA DE OPTIMIZACIÓN .......... 8

2.1.2 PLANTEAMIENTO GENERAL DEL MPC ................................................................ 9

2.2 BALL&BEAM .................................................................................................................... 10

2.2.1 MODELO NO LINEAL DEL BALL&BEAM ............................................................ 10

2.2.2 MODELO LINEALIZADO ......................................................................................... 12

2.2.3 VALIDACIÓN DEL SISTEMA LINEAL CON EL NO LINEAL ............................. 13

2.3 CONTROL MPC PARA EL BALL&BEAM ..................................................................... 15

2.3.1 PLANTEAMIENTO DEL PROBLEMA DE OPTIMIZACIÓN ................................ 15

2.3.2 CONTROL MPC.......................................................................................................... 17

3. PRUEBAS DE CALIDAD Y DESEMPEÑO ........................................................................ 20

4. INTERCONECCIÓN DEL CONTROLADOR CON LA PLANTA REAL ......................... 27

4.1 INTERCONECCIÓN ON LINE POR MEDIO DE MATLAB O DESDE C++. ............... 27

4.2 MÉTODOS DE IMPLEMENTACION OFF LINE ............................................................ 27

4.2.1 DESARROLLO E IMPLEMENTACION DE UNA LOOK UP TABLE ................... 28

4.2.2 DESARROLLO DE UNA RED NEURONAL ARTIFICIAL RNA ........................... 28

5 VALIDACIÓN DE LA RED NEURONAL .............................................................................. 30

6. ANÁLISIS DE RESULTADOS ............................................................................................ 33

6.1 RAZONES DE POSIBLES DIFERENCIAS ENTRE LA TEORÍA Y LA PRÁCTICA .. 43

7. CONCLUSIONES ................................................................................................................. 46

8. BIBLIOGRAFÍA .................................................................................................................... 48

6

1. INTRODUCCIÓN

Hoy en día la teoría clásica de control ofrece varias alternativas para controlar diferentes tipos de

sistemas, de los cuales, dependiendo de su complejidad y características, es posible escoger y

desarrollar un controlador que permita una mejor respuesta del sistema. Actualmente existen varias

alternativas de control clásicas entre las que se encuentra el PID (Proporcional, Integral y

Derivativo) siendo este el controlador por defecto utilizado en la industria; también están el

controlador por realimentación de estados, controladores por ubicación de polos o algunos

controladores modernos que usualmente se basan en fundamentos de optimización paran generar

respuestas más eficientes teniendo un menor consumo de energía, siendo estos los controladores con

mayor expectativa en cuanto al desarrollo industrial. Entre estos controladores modernos se

encuentran el control LQR o regulador cuadrático lineal y el control predictivo o MPC (Control

Predictivo Basado en Modelos), siendo este último el más utilizado en la industria debido a su

eficiencia en cuanto al control de sistemas repetitivos garantizando un trabajo más exacto con un

costo energético razonable.

Para este trabajo de grado se busca controlar de manera eficiente un sistema llamado Ball&Beam, el

cual es un sistema que consta de un riel que sostiene a una bola o pelota en su interior. Uno de los

extremos del riel está sujeto a un sistema mecánico que se encarga de subir o bajar el riel por medio

de un motor DC [9]. El objetivo del sistema en general es controlar la posición de la bola en el riel

por medio del ángulo de inclinación del mismo. La razón por lo cual se está estudiando la planta con

este tipo de controlador es porque las características mecánicas del Ball&Beam están sujetas a

restricciones como el ángulo máximo de deflexión del riel, la longitud máxima del riel, el voltaje

máximo que se le puede aplicar al motor, etc. Esta planta es un requisito casi obligatorio en la parte

de investigación y/o docencia por ser un prototipo de una planta inestable a malla abierta, lo que la

hace objeto de estudio debido a que generalmente todos los sistemas industriales o sistemas

complejos de control son inestables a malla abierta.

Por otra parte el control MPC es uno de los pocos controladores desarrollados que tiene la

singularidad de que dentro de su propio lazo de realimentación se le pueden agregar directamente las

restricciones de la planta garantizando su cumplimiento sin necesidad de saturadores o sensores,

esto garantiza un ahorro para la compañía no solo por obtener una respuesta más eficiente con un

consumo menor, sino que también le garantiza un ahorro al no tener que remplazar constantemente

sensores deteriorados por el uso constante.

En este documento se mostrará paso a paso como fue el desarrollo del sistema de control y su

implementación en la planta real, para poder analizar el desempeño y compararlo con otro tipo de

controladores diseñados previamente, pudiendo así dar una hipótesis de que el controlador se

comporta mejor para esta planta en específico.

7

1.1 OBJETIVOS

1.1.1 OBJETIVO GENERAL

Diseñar e implementar un controlador predictivo basado en modelos para el Ball&Beam.

1.1.2 OBJETIVOS ESPECÍFICOS

Diseñar un controlador MPC para un modelo lineal del Ball&Beam que maneje las

restricciones de ángulo y voltaje de entrada.

Evaluar el comportamiento del controlador MPC en simulación con el modelo no lineal del

Ball&Beam.

Implementar el controlador MPC en tiempo real usando el sistema Matlab-Quanser y

validarlo sobre la planta real.

8

2. DESARROLLO TEÓRICO

2.1 MPC

En esta parte del capítulo se mostrará el desarrollo teórico necesario para entender los principios

fundamentales de un MPC.

2.1.1 PLANTEAMINETO GENERAL DE UN PROBLEMA DE OPTIMIZACIÓN

Considerando el sistema lineal discreto

( ) ( ) ( ) (1)

( ) (2)

Un problema típico de MPC es un problema de optimización en donde se busca encontrar una

secuencia de control ( ) ( ) ( ) de tal manera que el índice de desempeño del

sistema sea minimizado en un horizonte , sujeto a un número determinado de restricciones que

se imponen debido a las limitaciones mecánicas o eléctricas del problema. Este problema de

optimización típicamente está representado por siguiente expresión:

( ( ) ( ))

( ) ( ) ( )

( ) ( )

La función objetivo o de costo es una función que depende de sus estados ( ) y entradas

( ) en un instante de tiempo t.

Donde

( ( ) ( )) ∫ (‖ ( ( ) ( )) ‖

‖ ( ) ‖

) ‖ ( ) ( )‖

(3)

Como se muestra en la expresión, el lado derecho de la igualdad está compuesto por tres

términos, el primer término corresponde a una función que tiene como finalidad la convergencia

del sistema al valor deseado , Q se encarga de penalizar las variables de estado al darle un

9

peso mayor o menor para que estas respondan de una manera más lenta o más rápida según el

peso que se le haya especificado.

El segundo término así como el primero se encarga de que el sistema converja a un valor

deseado, en este caso se busca que converja a las entradas . Para este término R es el

encargado de penalizar las acciones de la señal de control. Por último el tercer término es el que

se encarga de garantizar una estabilidad en el sistema; P nuevamente es una matriz que penaliza

los estados. El conjunto de toda la expresión en definitiva es el que se encarga de garantizar

una estabilidad y robustez en el sistema encontrando una serie de parámetros encargados

de encontrar el conjunto de valores para la señal de entrada que permitan obtener la respuesta

optima del sistema según el criterio especificado [6].

2.1.2 PLANTEAMIENTO GENERAL DEL MPC

Para poder plantear el problema que se desea optimizar, es muy importante tener conocimiento

de lo que se va a trabajar es por eso que a continuación se muestra una breve introducción de lo

que es MPC (ver Ilustración 1 e Ilustración 2).

Haciendo uso del modelo matemático del sistema, en cada instante t, se predicen las salidas

futuras para un horizonte de predicción N (límite de la ventana de predicción). Las salidas

predichas ( ) para k = 1…N se generan partiendo de los valores pasados, o dicho de otra

manera, los valores del estado en el que se encuentra el proceso (sistema a controlar) y de las

señales de control futuras ( ) para k = 1…N [2].

La señal de control futura, se calcula al resolver el problema de optimización que consiste en

minimizar una función objetivo deseada sujeta a una serie de restricciones de igualdad y/o

desigualdad. Generalmente estas restricciones corresponden a las barreras físicas, eléctricas que

impone el proceso y a la dinámica de este.

Lo que se busca resolviendo este problema de optimización es que el comportamiento del

proceso siga lo más próximo posible a una referencia determinada. Generalmente este problema

se puede tomar como una función cuadrática de los errores de las salidas y/o entradas respecto a

una referencia [1].

Por último la señal de control ( ), siendo esta la primera señal de control predicha, se envía al

proceso y las demás señales predichas son desechadas. El ciclo comienza nuevamente [2].

10

Ilustración 1. Diagrama básico de un MPC Ilustración 2. Estrategia del control predictivo

NOTA: Cabe resaltar que el desarrollo del MPC se realizará por medio del software ACADO el

cual se introducirá posteriormente.

2.2 BALL&BEAM

2.2.1 MODELO NO LINEAL DEL BALL&BEAM

Partiendo de la tesis desarrollada en el año 2008 [4] se encontró que el modelo no lineal del

Ball&Beam (ver Ilustración 3) con el que se va a trabajar es:

(

⁄ )

(4)

(5)

Remplazado (5) en (4) y por los valores correspondientes se tiene

( )

(6)

Donde y corresponden a las variables de estado junto a su correspondientes derivadas y ;

Los parámetros están especificados en la siguiente tabla [3] (ver Tabla 1 e Ilustración 3).

11

Radio de la bola 0.017

Longitud de la barra 0.4255

Gravedad 9.8

Momento de inercia de la bola 0.073

Masa de a bola 0.064

Distancia entre el eje del motor y el soporte de la barra 0.0254 Tabla 1. Parámetros del Ball&Beam

Ilustración 3. Modelo esquemático del Ball&Beam

Como se menciono anteriormente el sistema consta de cuatro variables que determinan el estado

del sistema siendo estas . Donde consta cada una de un sensor que permite estimar

el valor aproximado en el que se encuentra esa variable. Se puede estimar por medio de un

encoder (Ver Ilustración 5) que posee el motor en donde cada paso del encoder es proporcional al

ángulo de inclinación de la barra. Se puede estimar por medio de un potenciómetro lineal (Ver

Ilustración 4) situado en uno de los costados del riel que sostiene la bola que esta al hacer contacto

entre el potenciómetro y el costado metálico del riel, genera un voltaje que varia dependiendo

de la posición de la bola. Este voltaje es directamente proporcional a la posición en la que se

encuentra la bola [3].

Ilustración 5. Potenciómetro

12

Ilustración 6. Motor con encoder

2.2.2 MODELO LINEALIZADO

Para obtener el modelo lineal del Ball&Beam se toma la aproximación de Esto se

cumple para valores de pequeños [5], luego la representación del sistema lineal en variables

de estado corresponde a las siguientes expresiones:

[

] [

] [

] [

]

[ ] [

] (7)

Puntos de equilibrio

Al igualar las derivadas de un sistema a cero se pueden encontrar los puntos de equilibrio, de

acuerdo a esto se tiene que para el sistema lineal y no lineal el punto de equilibrio es:

( ) (8)

Despejando de esta expresión se tiene que el punto de equilibrio se encuentra en para

el sistema lineal como para el no lineal [4].

13

2.2.3 VALIDACIÓN DEL SISTEMA LINEAL CON EL NO LINEAL

Por medio de la herramienta simulink del programa Matlab, se implementó el diagrama de

bloques de ambos sistemas, el lineal y el no lineal, esto se hizo para verificar que la linealización

correspondiera o se aproximara al comportamiento del sistema no lineal.

Para corroborar la similitud de ambos sistemas se hicieron pruebas en diferentes estados del

modelo y a diferentes entradas de voltaje para el motor (ver Ilustración 6.).

Ilustración 7. Diagrama de bloques señal lineal y no lineal

Los bloques y las señales que están en azul, representan el sistema no lineal, los bloques y

señales verdes corresponden al sistema lineal, el bloque rojo con sus respectivas señales es la

entrada de los sistemas, en este caso es el voltaje del motor para el sistema lineal y no lineal.

Por último los bloques y señales negras son los encargados de enviar la información a Matlab y

graficar (se envían las señales a Matlab para facilitar el análisis y observación de las gráficas).

Para una entrada de voltaje aplicada al sistema lineal y no lineal con las siguientes

características:

w' Theta

v'

v x

x

w

v

Signal 1

Voltaje del motor

x4

To Workspace5

x3

To Workspace4

x2

To Workspace3

x1

To Workspace2

x

To Workspace1

Theta

x ' = Ax+Bu

y = Cx+Du

State-Space

t

Sine Wave

Function

1

s

Integrator3

1

s

Integrator2

1

s

Integrator1

1

s

Integrator

7

Gain3

0.0597

Gain2

-36.42

Gain1

64.12

Gain

w

14

Ilustración 8. Señal de referencia

Se tienen las siguientes respuestas lineales y no lineales.

Ilustración 9. Posición de la bola modelo lineal y no lineal Ilustración 10. Ángulo de la barra modelo lineal y no lineal

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

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

TIEMPO

VO

LT

AJE

DE

L M

OT

OR

Vm

VOLTAJE DEL MOTOR

SISTEMA LINEAL

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

-10

-8

-6

-4

-2

0

2

TIEMPO

PO

SIC

ION

DE

LA

BO

LA

X

POSICION DE LA BOLA MODELO LINEAL Y NO LINEAL

SISTEMA LINEAL

SISTEMA NOLINEAL

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

-3

-2.5

-2

-1.5

-1

-0.5

0

TIEMPO

AN

GU

LO

DE

LA

BA

RR

A T

HE

TA

ANGULO DE LA BARRA MODELO LINEAL Y NO LINAL

SISTEMA LINEAL

SISTEMA NOLINEAL

15

Ilustración 11. Velocidad de la bola modelo lineal y no lineal Ilustración 12. Velocidad angular modelo lineal y no lineal

De las anteriores gráficas se puede concluir que para estas condiciones el sistema linealizado

concuerda y es casi exacto al sistema no lineal con un error despreciable, por lo tanto se puede

confirmar que la validación del sistema linealizado con el no lineal se ha desarrollado

correctamente.

2.3 CONTROL MPC PARA EL BALL&BEAM

2.3.1 PLANTEAMIENTO DEL PROBLEMA DE OPTIMIZACIÓN

Partiendo de la teoría vista en la sección 2.1, se planteará un problema de control óptimo para el

Ball&Beam. Definiendo la función objetivo a minimizar, se tiene que:

( ( ) ( )) ∫ [( ( ( ) ( )) ) ( ( ( ) ( )) ) ( ( ) ( ) )

]

( ( ( ) ( )) ) ( ( ( ) ( )) ) ( )

Donde las matrices Q, P y R son matrices que dependen del número de entradas y salidas. Para

el caso que se va a trabajar estas matrices tienen las siguientes dimensiones:

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

-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

TIEMPO

Velo

cid

ad d

e la b

ola

v

VELOCIDAD DE LA BOLA MODELO LINEAL Y NO LINEAL

SISTEMA LINEAL

SISTEMA NOLINEAL

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

-3

-2

-1

0

1

2

3

4

TIEMPO

VE

LO

CID

AD

AN

GU

LA

R w

VELOCIDAD ANGULAR MODELO LINEAL Y NO LINEAL

SISTEMA LINEAL

SISTEMA NOLINEAL

16

[

]

(10)

[

]

Los valores de las matrices y son valores que se pueden escoger según el criterio del

diseñador y su conocimiento sobre la planta, un buen punto de partida para escoger esos valores

puede ser por medio del criterio de Bryson [1], que dice que:

Partiendo de este criterio se tiene que los valores máximos aceptables de las variables de estado

y la entrada del sistema son:

Valor arbitrario .

Valor arbitrario Longitud máxima de la Barra 42.55 .

Ángulo máximo de inclinación de la barra permitido por el sistema mecánico .

Voltaje máximo que se le puede aplicar al motor .

NOTA: Para este trabajo solo se encontraran los valores de la matriz Q debido a que el

desarrollo del controlador se realizará con un software (Ver Sección 2.3.2) donde la matriz Q es

el único parámetro de entrada de las tres funciones P,Q y R.

[

] (11)

Las restricciones de desigualdad del sistema debido a las condiciones mecánicas y eléctricas

son:

17

en V

en Rad (12)

en m

Las restricciones de igualdad del sistema corresponden a la dinámica del sistema.

(13)

2.3.2 CONTROL MPC

El controlador MPC se desarrollará por medio de las funciones del software ACADO el cual es

un programa desarrollado por la Universidad de Leuven en Bélgica (Ver anexos 1), este software

es una herramienta para el desarrollo de problemas de control óptimo elaborado en lenguaje C y

con interface en Matlab. El desarrollo del controlador se presenta en el siguiente código

implementado en Matlab [8].

clear; Borra toda la información previa. BEGIN_ACADO; Siempre se emplea antes de comenzar. acadoSet('problemname','Ball_Beam')

; acadoSet('problemname', false);

Escribe la información en el workspace.

DifferentialState tEM xB wEM vB; Define las variables de estado. Control Vm; Define la variable de control. k1 = 36.42; k2 = 64.12; k3 = 0.4179;

Defina las constantes que caracterizan el

modelo del sistema.

f = acado.DifferentialEquation(); Establece que se escribirá la ecuación

diferencial. f.add(dot (tEM)==wEM);

f.add(dot (xB)==vB); f.add(dot (wEM)==(-k1*wEM + k2*Vm)); f.add(dot (vB)==( k3*tEM));

Definición de las cuatro variables de

estado del Ball&Beam.

ocp = acado.OCP(0.0, 2.0, 20);

Establece el problema de control óptimo.

Los dos primeros términos corresponden

a la ventana de tiempo (Comienzo, final)

y el último al número de intervalos de

esta ventana. Q (1,1) = 1/5; Q (2,2) = 10000000000; Q (3,3) = 1; Q (4,4) = 1/10;

Matriz de peso Q que penaliza a las

variables de estado deseadas.

(No corresponde al valor final de Q)

18

r = zeros(1,4); La referencia

ocp.minimizeLSQ( Q, h, r ); Minimiza las variables establecidas en

paréntesis.

ocp.subjectTo( f );

ocp.subjectTo(-15 <= Vm <= 15);

ocp.subjectTo(-pi/4 <= tEM <= pi/4); ocp.subjectTo(-0.21 <= xB <= 0.21);

Restricciones del sistema, para este caso

estas son las restricciones del

Ball&Beam

identity = acado.OutputFcn(); dynamicSystem =

acado.DynamicSystem(f, identity);

Permite manipular y evaluar las

funciones de salida basado en

expresiones simbólicas.

Establece un sistema dinámico

generado por la función de salida y por

las ecuaciones diferenciales. process =

acado.Process(dynamicSystem,

'INT_RK45');

Simula el proceso de control basándose

en un modelo dinámico.

outputFunction = acado.OutputFcn();

algo = acado.RealTimeAlgorithm(ocp,

0.05); Define algunos parámetros para el

algoritmo. zeroReference =

acado.StaticReferenceTrajectory(); La referencia que se quiere seguir.

controller = acado.Controller( algo,

zeroReference ); Control en línea que obtiene la señal de

control.

sim = acado.SimulationEnvironment(

0.0,10,process,controller ); Define el lazo cerrado del sistema.

Xo = [0 0.02 0 0]; sim.init( Xo );

Define las condiciones iniciales del

sistema.

END_ACADO; Termina el problema desarrollado en

ACADO.

out = Ball_Beam_RUN (); Llamándolo de esta forma, el problema

compilara un archive en C++.

draw; Archivo adicional que grafica las

variables deseadas.

hold on; Mantiene las gráficas obtenidas

posteriormente.

19

En la Ilustración 13 se muestra el digrama que representa la interconeccion entre la planta

(Ball&Beam) y el softwar con el que se trabajara (Matlab). Esta interconeccion se realiza por

medio de un quit de quancer encargado de comunicar o hacer la interface entre la planta y el pc,

este quit consta de una tarjeta de adquisición con un numero de etradas analogas-salidas

analogas, entradas digitales-salidas digitales y una upc encargada de recibir la informacion del

estado de la planta, transferir esta informacion a la tarjeta de adquisicion y esta se encarga de

transmitir esa informacion directamente al pc.

Ilustración 14 . Modelo de interconexión software y matlab

20

3. PRUEBAS DE CALIDAD Y DESEMPEÑO

Al implementar el problema de optimización desarrollado en el capítulo 2.3, en el software de

ACADO, se desarrollaron varias pruebas de desempeño para evaluar el comportamiento del sistema

variando los parámetros de las matrices y para encontrar la respuesta óptima. Estos parámetros

se variaron partiendo de los valores encontrados anteriormente.

NOTA: las siguientes simulaciones se realizaron con las siguientes condiciones iniciales.

[

] [

]

Luego se tiene que para los valores de las matrices (valores encontrados según la ley de Bryson's)

[

] [

]

Ilustración 15. Prueba 1

0 20 40 60 80-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3Posicion del eje vs Tiempo

Tiempo [s]

Posic

ion d

el eje

[R

ad]

0 20 40 60 80-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3Posicion de la bola vs Tiempo

Tiempo [s]

Posic

ion d

e la b

ola

[m

]

0 20 40 60 80-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3Velocidaddel eje vs tiempo

Tiempo [s]

Velo

cid

ad d

el eje

[R

ad/s

]

0 20 40 60 80-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2Velocidad de la bola vs Tiempo

Tiempo [s]

Velo

cid

ad d

e la b

ola

[m

/s]

0 20 40 60 80-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15Señal de control vs Tiempo

Tiempo [s]

señal de c

ontr

ol [V

]

21

Como se puede ver en la anterior gráfica la respuesta es oscilatoria, por lo tanto este criterio no

generó una respuesta deseada (sub amortiguada). Es por eso que se recurrió a ajustar los valores de

según el criterio del diseñador. Como la variable de interés es la posición, se le asignará a esta un

valor de más grande penalizando así a esta variable de estado y a las demás variables se les

penalizará aun mas haciendo más pequeña. Partiendo de los valores obtenidos del criterio de

Bryson se le agregará una década al valor de para la posición y a las demás se les quitará una

década. La matriz y la respuesta del sistema se muestran a continuación:

[

]

Ilustración 16. Prueba 2

En la gráfica anterior se puede observar como mejoró considerablemente la respuesta del sistema

sujeto a los criterios especificados anteriormente. La respuesta de la siguiente gráfica muestra el

valor óptimo de para que la respuesta se estabilice lo más rápido posible y con un consumo de

energía adecuado:

0 5 10 15-0.03

-0.02

-0.01

0

0.01

0.02

0.03Posicion del eje vs Tiempo

Tiempo [s]

Pos

icio

n de

l eje

[R

ad]

0 5 10 15-5

0

5

10

15

20x 10

-3 Posicion de la bola vs Tiempo

Tiempo [s]

Pos

icio

n de

la b

ola

[m]

0 5 10 15-0.08

-0.06

-0.04

-0.02

0

0.02

0.04Velocidaddel eje vs tiempo

Tiempo [s]

Vel

ocid

ad d

el e

je [

Rad

/s]

0 5 10 15-12

-10

-8

-6

-4

-2

0

2

4x 10

-3 Velocidad de la bola vs Tiempo

Tiempo [s]

Vel

ocid

ad d

e la

bol

a [m

/s]

0 5 10 15-0.06

-0.05

-0.04

-0.03

-0.02

-0.01

0

0.01

0.02Señal de control vs Tiempo

Tiempo [s]

seña

l de

cont

rol [

V]

22

Ilustración 17. Prueba 3

Si se aumenta algunas décadas más el valor de , la mejoría del tiempo de estabilización no es

considerable, mientras que por otra parte el consumo de energía (Área bajo la de cada uno de los

estados del sistema en un rango de tiempo) en el sobre pico superior si aumentaba

considerablemente (alrededor de 2.5 V).

La variación de altera el comportamiento del sistema por encima de tres décadas arriba de

es decir: para se podrá trabajar con valores contenidos en el intervalo (Valor especificado

en el punto anterior); [0,1620]. El comportamiento del sistema es muy sensible a variaciones por

encima del especificado anteriormente, siendo así que la respuesta del sistema en el valor límite y

una década por arriba del valor límite serían:

0 0.5 1 1.5 2-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6Posicion del eje vs Tiempo

Tiempo [s]

Pos

icio

n de

l eje

[R

ad]

0 0.5 1 1.5 2-5

0

5

10

15

20x 10

-3 Posicion de la bola vs Tiempo

Tiempo [s]

Pos

icio

n de

la b

ola

[m]

0 0.5 1 1.5 2-10

-8

-6

-4

-2

0

2

4

6Velocidaddel eje vs tiempo

Tiempo [s]

Vel

ocid

ad d

el e

je [

Rad

/s]

0 0.5 1 1.5 2-0.06

-0.05

-0.04

-0.03

-0.02

-0.01

0

0.01Velocidad de la bola vs Tiempo

Tiempo [s]

Vel

ocid

ad d

e la

bol

a [m

/s]

0 0.5 1 1.5 2-8

-6

-4

-2

0

2

4Señal de control vs Tiempo

Tiempo [s]

seña

l de

cont

rol [

V]

23

Ilustración 18. Prueba 4.1

Ilustración 19.Prueba 4.2

0 0.5 1 1.5 2-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3Posicion del eje vs Tiempo

Tiempo [s]

Posic

ion d

el eje

[R

ad]

0 0.5 1 1.5 2-5

0

5

10

15

20x 10

-3 Posicion de la bola vs Tiempo

Tiempo [s]

Posic

ion d

e la b

ola

[m

]

0 0.5 1 1.5 2-6

-5

-4

-3

-2

-1

0

1

2Velocidaddel eje vs tiempo

Tiempo [s]

Velo

cid

ad d

el eje

[R

ad/s

]

0 0.5 1 1.5 2-0.04

-0.03

-0.02

-0.01

0

0.01Velocidad de la bola vs Tiempo

Tiempo [s]

Velo

cid

ad d

e la b

ola

[m

/s]

0 0.5 1 1.5 2-4

-3

-2

-1

0

1

2Señal de control vs Tiempo

Tiempo [s]

señal de c

ontr

ol [V

]

0 1 2 3 4 5-0.2

-0.15

-0.1

-0.05

0

0.05Posicion del eje vs Tiempo

Tiempo [s]

Posic

ion d

el eje

[R

ad]

0 1 2 3 4 5-5

0

5

10

15

20x 10

-3 Posicion de la bola vs Tiempo

Tiempo [s]

Posic

ion d

e la b

ola

[m

]

0 1 2 3 4 5-2.5

-2

-1.5

-1

-0.5

0

0.5Velocidaddel eje vs tiempo

Tiempo [s]

Velo

cid

ad d

el eje

[R

ad/s

]

0 1 2 3 4 5-0.025

-0.02

-0.015

-0.01

-0.005

0

0.005Velocidad de la bola vs Tiempo

Tiempo [s]

Velo

cid

ad d

e la b

ola

[m

/s]

0 1 2 3 4 5-2

-1.5

-1

-0.5

0

0.5Señal de control vs Tiempo

Tiempo [s]

señal de c

ontr

ol [V

]

24

En la Ilustración 17 se observa que el tiempo de estabilización es aproximadamente de tres

segundos, por lo tanto, se escogerá un valor para menor al valor máximo especificado

anteriormente, debido a que para este rango de valores la respuesta del sistema muestra un mejor

desempeño respecto a la respuesta obtenida por valores de que no estén dentro de este rango.

Para valores de se puede ver que al aumentar la magnitud de este parámetro disminuye

considerablemente la señal de control y aumenta en muy baja proporción el tiempo de

establecimiento. De lo anterior se encontró un valor adecuado para tener una respuesta deseada. Para

un valor de se tiene un comportamiento de la siguiente forma:

Ilustración 20.Prueba 5

Al igual que para el caso de , la magnitud de tiene un rango de valores que están en el

intervalo de [0,1000] donde la respuesta no varía.

Por lo tanto al tomar un valor de una década por encima del valor máximo, se tiene la siguiente

respuesta:

0 0.5 1 1.5 2 2.5 3-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3Posicion del eje vs Tiempo

Tiempo [s]

Pos

icio

n de

l eje

[R

ad]

0 0.5 1 1.5 2 2.5 3-5

0

5

10

15

20x 10

-3 Posicion de la bola vs Tiempo

Tiempo [s]

Pos

icio

n de

la b

ola

[m]

0 0.5 1 1.5 2 2.5 3-5

-4

-3

-2

-1

0

1

2

3Velocidaddel eje vs tiempo

Tiempo [s]

Vel

ocid

ad d

el e

je [

Rad

/s]

0 0.5 1 1.5 2 2.5 3-0.05

-0.04

-0.03

-0.02

-0.01

0

0.01Velocidad de la bola vs Tiempo

Tiempo [s]

Vel

ocid

ad d

e la

bol

a [m

/s]

0 0.5 1 1.5 2 2.5 3-4

-3

-2

-1

0

1

2Señal de control vs Tiempo

Tiempo [s]

seña

l de

cont

rol [

V]

25

Ilustración 21. Prueba 6

Como se puede ver en la Ilustración 19, la respuesta de la bola respecto al tiempo, muestra un

comportamiento con un sobre tan pequeño que se podría despreciar al igual que las oscilaciones

antes de estabilizarse.

Luego de haber realizado las pruebas respectivas para encontrar los valores óptimos de se

encontró que estos corresponden a:

[

]

El comportamiento del sistema a condiciones iniciales extremas del sistema [0 0 0.19 0.610] se

muestra a continuación:

0 0.5 1 1.5 2 2.5 3-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3Posicion del eje vs Tiempo

Tiempo [s]

Pos

icio

n de

l eje

[R

ad]

0 0.5 1 1.5 2 2.5 3-5

0

5

10

15

20x 10

-3 Posicion de la bola vs Tiempo

Tiempo [s]

Pos

icio

n de

la b

ola

[m]

0 0.5 1 1.5 2 2.5 3-5

-4

-3

-2

-1

0

1

2Velocidaddel eje vs tiempo

Tiempo [s]

Vel

ocid

ad d

el e

je [

Rad

/s]

0 0.5 1 1.5 2 2.5 3-0.04

-0.03

-0.02

-0.01

0

0.01Velocidad de la bola vs Tiempo

Tiempo [s]

Vel

ocid

ad d

e la

bol

a [m

/s]

0 0.5 1 1.5 2 2.5 3-3

-2

-1

0

1

2Señal de control vs Tiempo

Tiempo [s]

seña

l de

cont

rol [

V]

26

Ilustración 22. Prueba 7

En esta gráfica se puede ver que para condiciones iniciales extremas el sistema tiene un sobre pico

muy pequeño y estabiliza en un tiempo de aproximadamente 2.5 s. Además es importante resaltar el

cumplimiento de las restricciones de (posición del eje) y (Señal de control); en la

Ilustración 21 se puede apreciar mucho mejor.

Ilustración 23. Prueba 7

En esta gráfica se puede apreciar claramente como la señal se satura en equivalente a

. Esto indica que el sistema está teniendo en cuenta todas las restricciones impuestas

anteriormente.

0 1 2 3 4-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8Posicion del eje vs Tiempo

Tiempo [s]

Posic

ion d

el eje

[R

ad]

0 1 2 3 4-0.05

0

0.05

0.1

0.15

0.2Posicion de la bola vs Tiempo

Tiempo [s]

Posic

ion d

e la b

ola

[m

]

0 1 2 3 4-20

-15

-10

-5

0

5

10Velocidaddel eje vs tiempo

Tiempo [s]

Velo

cid

ad d

el eje

[R

ad/s

]

0 1 2 3 4-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1Velocidad de la bola vs Tiempo

Tiempo [s]

Velo

cid

ad d

e la b

ola

[m

/s]

0 1 2 3 4-15

-10

-5

0

5Señal de control vs Tiempo

Tiempo [s]

señal de c

ontr

ol [V

]

0 0.5 1 1.5 2 2.5 3 3.5 4-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

X: 0.4455

Y: -0.7853

Posicion del eje vs Tiempo

Tiempo [s]

Posi

cion

del

eje

[Rad

]

X: 1.305

Y: 0.7853

27

4. INTERCONECCIÓN DEL CONTROLADOR CON LA PLANTA REAL

Se buscó interconectar el controlador diseñado, con la planta real de diferentes maneras, entre las

que se encuentra:

4.1 INTERCONECCIÓN ON LINE POR MEDIO DE MATLAB O DESDE C++.

Se contemplaron las dos posibilidades de interconexión, bien fuera desde Matlab o desde Visual

C++ 2008. La primera opción se rechazó de inmediato al ver que el software ACADO no tenía

interface directamente con simulink lo cual es un problema debido a que las tarjetas de

adquisición de QUANSER solo tienen interface directa con simulink o con C++ por lo cual se

procedió a intentar la conexión directamente desde C++. Para esta conexión se necesitaba una

plataforma virtual de Linux llamada Sigwin desde donde se realizaría el puente entre el

programa desarrollado en C++ y la planta real. Esta opción no fue viable al tener un alto grado

de complejidad en la parte de informática, por lo tanto se tuvo que recurrir a otras opciones que

serán nombradas a continuación.

4.2 MÉTODOS DE IMPLEMENTACION OFF LINE

Para los dos siguientes métodos se partió de la obtención de una tabla de datos mediante

simulaciones (Ver Anexos2). Esto lo que quiere decir es que se realizó una amplia variedad de

simulaciones para diferentes condiciones iniciales y diferentes valores de la referencia

obteniendo así la respuesta de la señal de control, para este caso el voltaje del motor (Ver

Ilustración 22).

Ilustración 24. Respuesta a diferentes condiciones iniciales

0 0.5 1 1.5 2 2.5 3-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8Posicion del eje

Tiempo [s]

Posic

ion d

el eje

[R

ad]

0 0.5 1 1.5 2 2.5 3-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2Posicion de la bola

Tiempo [s]

Posic

ion d

e la b

ola

[m

]

0 0.5 1 1.5 2 2.5 3-10

-5

0

5

10Velocidaddel eje

Tiempo [s]

Velo

cid

ad d

el eje

[R

ad/s

]

0 0.5 1 1.5 2 2.5 3-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3Velocidad de la bola

Tiempo [s]

Velo

cid

ad d

e la b

ola

[m

/s]

0 0.5 1 1.5 2 2.5 3-8

-6

-4

-2

0

2

4

6

8Señal de control

Tiempo [s]

señal de c

ontr

ol [V

]

28

En la Ilustración 22 se muestra un ejemplo en donde se realizaron simulaciones a diferentes

condiciones iniciales y diferentes referencias.

4.2.1 DESARROLLO E IMPLEMENTACION DE UNA LOOK UP TABLE

Este método consiste en generar una tabla de valores provenientes de una simulación y

almacenarlos en una tabla, la finalidad es que en el momento de interconectar el Ball&Beam con

el software que contiene esta tabla, lo que hace el sistema es monitorear el estado actual de la

planta y busca en la tabla los valores de las condiciones más aproximadas a las que se encuentra

y envía la señal de control correspondiente al estado en el que se encuentra.

Para este caso, como se mencionó anteriormente, estos valores se tomaron de simular el

Ball&Beam a diferentes valores de sus condiciones iniciales y de la referencia. Para generar una

Look Up Table, los valores de esta tabla deben ser valores crecientes (Condiciones Iniciales y

Referencia) y en lo posible equi-espaciados, por ejemplo.

X Y Control

1 1 3,00E+00

2 2 1,00E+00

3 3 4,00E+00

4 4 2,00E+00

Para el caso del Ball&Beam no tenemos solo dos variables como X y Y si no que tenemos 5

variables [ ] y una señal de control V, lo que hace complicado generar una tabla

donde sus condiciones iniciales son crecientes y equi-espaciadas. Otro inconveniente que se

descubrió posteriormente es que inicialmente se tenían alrededor de 400.000 datos para cada

variable tomados de alrededor de 1215 experimentos donde generar la tabla de Look Up tardaría

alrededor tres días con varios computadores simulando a la vez, además de este problema, la

respuesta del sistema en tiempo real no era una garantía, es por eso que se procedió a realizar un

método alternativo descrito a continuación.

4.2.2 DESARROLLO DE UNA RED NEURONAL ARTIFICIAL RNA

La filosofía de una red neuronal consiste en desarrollar un mecanismo que genere un

comportamiento similar al de un sistema. En otras palabras lo que hace una RNA es que por

medio de la respuesta de un sistema, se genera otro sistema que sea capaz de comportarse de una

manera similar al sistema original. Para el caso del Ball&Beam, partiendo de una tabla de datos

tomados (ver sección 4.2), se desarrolló un sistema capaz responder de una forma similar al

comportamiento del sistema original.

29

Para el desarrollo de la RNA se utilizó el toolbox de Matlab llamado NNTOOL (Ver Anexos3),

que permite generar una red neuronal partiendo de unas entradas y unas salidas del sistema

original. Los parámetros requeridos para generar la red neuronal por medio de este tool box son:

Input data: Valores de entrada con los que se quiere entrenar (Network Type) la red

neuronal (Estados del sistema con su respectiva referencia).

Target data: Valores objetivo o valores esperados (Salida del sistema, para este caso, el

voltaje del motor).

Number of layers: Número de capas, para este caso solo se tiene la capa de entrada y la capa

de salida.

Network Type: Consiste en el método de entrenamiento que requiere para entrenar a la red,

estos son métodos desarrollados que dependiendo de la red que se desea, cada método puede

diferir en el resultado uno respecto a otro. Para este caso se utilizó uno de los métodos más

comunes de entrenamiento llamado Feed-Forward Backpropagation.

Number of neurons: Cada neurona se compone por unos parámetros los cuales son una

función de aproximación que para este caso es tansig (tansig(n) = 2/(1+exp(-2*n))-1) y

unos parámetros generados por el entrenamiento, el conjunto de estos parámetros son los

que se encargaron de aproximar el comportamiento de la red, con la función original. El

número de neuronas permite que la aproximación de la red neuronal sea más exacta o no.

Ilustración 25. Red neuronal obtenida por NNTOOL

Para obtener la red neuronal final, se tuvo que realizar alrededor de 5 experimentos variando

el número de neuronas, el número de layers y el network tipe, donde cada experimento

tomaba alrededor de 1 hora.

Nota: Cabe resaltar que los experimentos se realizaron con el matlab 2011 ya que con

versiones anteriores los resultados de las redes no eran tan optimos como los adquiridos con

la última versión de matlab.

Red neuronal con implementación en tiempo real

El tool box nntool genera una red la cual se puede exportar a simulink pero no se puede trabajar

con este bloque en tiempo real, es por eso que se extrapolaron los términos de la red generada y

se desarrolló una red con bloques capaces de trabajar en tiempo real (Ver Anexos4).

30

5. VALIDACIÓN DE LA RED NEURONAL

Se comparará la respuesta del sistema generado en simulink con el control desarrollado en ACADO.

Las simulaciones de los dos software implementadas en Acado y en simulink se muestran en las

siguientes gráficas:

Condiciones iniciales:

[

] [

]

Referencia.

Respuesta ACADO Respuesta Simulink

Ilustración 26. Validación 1

0 0.5 1 1.5 2 2.5 3-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8Posicion del eje vs Tiempo

Tiempo [s]

Posic

ion del eje

[R

ad]

0 0.5 1 1.5 2 2.5 3-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15Posicion de la bola vs Tiempo

Tiempo [s]

Posic

ion de la

bola

[m

]

0 0.5 1 1.5 2 2.5 3-10

-5

0

5

10Velocidaddel eje vs tiempo

Tiempo [s]

Velo

cid

ad del eje

[R

ad/s]

0 0.5 1 1.5 2 2.5 3-0.3

-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05Velocidad de la bola vs Tiempo

Tiempo [s]

Velo

cid

ad de la

bola

[m

/s]

0 0.5 1 1.5 2 2.5 3-8

-6

-4

-2

0

2

4

6Señal de control vs Tiempo

Tiempo [s]

señal de control [V

]

0 0.5 1 1.5 2 2.5 3-1

-0.5

0

0.5

1

TIEMPO

AN

GU

LO

D

E LA

B

AR

RA

T

HE

TA

ANGULO DE LA BARRA MODELONO LINAL

0 0.5 1 1.5 2 2.5 3-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

TIEMPO

PO

SIC

IO

N D

E LA

B

OLA

X

POSICION DE LA BOLA MODELO NO LINEAL

0 0.5 1 1.5 2 2.5 3-5

0

5

10

TIEMPOV

ELO

CID

AD

A

NG

ULA

R w

VELOCIDAD ANGULAR MODELO NO LINEAL

0 0.5 1 1.5 2 2.5 3-0.35

-0.3

-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

TIEMPO

Velo

cid

ad de la

bola

v

VELOCIDAD DE LA BOLA MODELO NO LINEAL

0 0.5 1 1.5 2 2.5 3-4

-2

0

2

4

6

TIEMPO

VO

LT

AJE

D

EL M

OT

OR

V

m

VOLTAJE DEL MOTOR

SISTEMA NOLINEAL

SISTEMA NOLINEAL

SISTEMA NOLINEAL

SISTEMA NOLINEAL

SISTEMA No LINEAL

31

Condiciones iniciales:

[

] [

]

Referencia.

Respuesta ACADO Respuesta Simulink

Ilustración 27. Validación 3

Condiciones iniciales:

[

] [

]

Referencia.

0 0.5 1 1.5 2 2.5 3-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8Posicion del eje vs Tiempo

Tiempo [s]

Posic

ion del eje

[R

ad]

0 0.5 1 1.5 2 2.5 3-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15Posicion de la bola vs Tiempo

Tiempo [s]

Posic

ion de la

bola

[m

]

0 0.5 1 1.5 2 2.5 3-15

-10

-5

0

5

10Velocidaddel eje vs tiempo

Tiempo [s]

Velo

cid

ad del eje

[R

ad/s]

0 0.5 1 1.5 2 2.5 3-0.3

-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05Velocidad de la bola vs Tiempo

Tiempo [s]

Velo

cid

ad de la

bola

[m

/s]

0 0.5 1 1.5 2 2.5 3-10

-5

0

5Señal de control vs Tiempo

Tiempo [s]

señal de control [V

]

0 0.5 1 1.5 2 2.5 3-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

TIEMPO

PO

SIC

IO

N D

E LA

B

OLA

X

POSICION DE LA BOLA MODELO NO LINEAL

SISTEMA NOLINEAL

0 0.5 1 1.5 2 2.5 3-1

-0.5

0

0.5

1

TIEMPO

AN

GU

LO

D

E LA

B

AR

RA

T

HE

TA

ANGULO DE LA BARRA MODELONO LINAL

SISTEMA NOLINEAL

0 0.5 1 1.5 2 2.5 3-0.3

-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

TIEMPO

Velo

cid

ad de la

bola

v

VELOCIDAD DE LA BOLA MODELO NO LINEAL

SISTEMA NOLINEAL

0 0.5 1 1.5 2 2.5 3-8

-6

-4

-2

0

2

4

6

8

TIEMPO

VE

LO

CID

AD

A

NG

ULA

R w

VELOCIDAD ANGULAR MODELO NO LINEAL

SISTEMA NOLINEAL

0 0.5 1 1.5 2 2.5 3-6

-4

-2

0

2

4

6

TIEMPO

VO

LT

AJE

D

EL M

OT

OR

V

mVOLTAJE DEL MOTOR

SISTEMA No LINEAL

32

Respuesta ACADO Respuesta Simulink

Ilustración 28. Validación 4

Como se puede ver en la comparación entre las simulaciones usando ACADO y las simulaciones

con la red neuronal, existen algunas variaciones en cuanto a los valores que toma la señal de control

generada y al tiempo de establecimiento, por otro lado el sistema sigue cumpliendo con las

restricciones.

0 0.5 1 1.5 2 2.5 3-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8Posicion del eje vs Tiempo

Tiempo [s]

Posic

ion del eje

[R

ad]

0 0.5 1 1.5 2 2.5 3-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15Posicion de la bola vs Tiempo

Tiempo [s]

Posic

ion de la

bola

[m

]

0 0.5 1 1.5 2 2.5 3-8

-6

-4

-2

0

2

4

6Velocidaddel eje vs tiempo

Tiempo [s]

Velo

cid

ad del eje

[R

ad/s]

0 0.5 1 1.5 2 2.5 3-0.05

0

0.05

0.1

0.15

0.2

0.25

0.3Velocidad de la bola vs Tiempo

Tiempo [s]

Velo

cid

ad de la

bola

[m

/s]

0 0.5 1 1.5 2 2.5 3-6

-4

-2

0

2

4Señal de control vs Tiempo

Tiempo [s]

señal de control [V

]

0 0.5 1 1.5 2 2.5 3-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

TIEMPO

AN

GU

LO

D

E LA

B

AR

RA

T

HE

TA

ANGULO DE LA BARRA MODELONO LINAL

0 0.5 1 1.5 2 2.5 3-0.15

-0.14

-0.13

-0.12

-0.11

-0.1

-0.09

TIEMPO

PO

SIC

IO

N D

E LA

B

OLA

X

POSICION DE LA BOLA MODELO NO LINEAL

0 0.5 1 1.5 2 2.5 3-5

-4

-3

-2

-1

0

1

2

3

TIEMPO

VE

LO

CID

AD

A

NG

ULA

R w

VELOCIDAD ANGULAR MODELO NO LINEAL

0 0.5 1 1.5 2 2.5 30

0.02

0.04

0.06

0.08

0.1

TIEMPO

Velo

cid

ad de la

bola

v

VELOCIDAD DE LA BOLA MODELO NO LINEAL

0 0.5 1 1.5 2 2.5 3-3

-2

-1

0

1

2

TIEMPO

VO

LT

AJE

D

EL M

OT

OR

V

m

VOLTAJE DEL MOTOR

SISTEMA NOLINEALSISTEMA NOLINEAL

SISTEMA NOLINEAL

SISTEMA NOLINEAL

SISTEMA No LINEAL

33

6. ANÁLISIS DE RESULTADOS

Se realizó una serie de pruebas (Ver Anexos5) para poder analizar y comparar la respuesta del

Ball&Beam respecto a las respuestas obtenidas por ACADO y por la red neuronal, obteniendo los

siguientes resultados.

Ilustración 29. Sistema de control MPC para el Ball&Beam

Para las siguientes condiciones iniciales

[

] [

]

Vel_Bola1

Vel_Bola

Vel_Angular

20s

s+20

Transfer Fcn1

10s

s+10

Transfer Fcn

Voltaje

To Workspace7

simout4

To Workspace5

PosicionP

To Workspace4

ThetaP

To Workspace3

Theta

To Workspace2

Posicion

To Workspace1

In1

In2

In3

In4

In5

Out1

Subsystem1

Saturation1 Saturation

Pulse

Generator4

Pulse

Generator3

Pulse

Generator2

Pulse

Generator1

Posicion_Bola

Manual Switch

Bad Link

HIL Write Analog

(???)

Bad Link

HIL Read Encoder

(???)

Bad Link

HIL Read Analog

(???)

Bad Link

HIL Initialize

??? (???-???)

-1

Gain4

-1

Gain2

-K-

Gain1

-K-

Gain

0.54

Constant1

Angulo2

Angulo

34

Y una referencia de

El comportamiento de las señales para el sistema simulado y la planta real son:

Ilustración 30. Comparación prueba 1

Para las siguientes condiciones iniciales

[

] [

]

1 2 3

0

0.05

0.1

0.15

Posicion de la bola

Tiempo [s]

Posic

ion d

e la b

ola

[m

]

0.5 1 1.5 2 2.5

-0.5

0

0.5

Posicion del eje

Tiempo [s]

Posic

ion d

el eje

[R

ad]

0.5 1 1.5 2 2.5

0

0.1

0.2

Velocidad de la bola

Tiempo [s]

Velo

cid

ad d

e la b

ola

[m

/s]

1 2 3

-5

0

5

Velocidaddel eje

Tiempo [s]

Velo

cid

ad d

el eje

[R

ad/s

]

0 1 2 3

-4

-2

0

2

4

6

Señal de control

Tiempo [s]

señal de c

ontr

ol [V

]

2 4 6 8

0

0.05

0.1

0.15

TIEMPO

PO

SIC

ION

DE

LA

BO

LA

POSICION DE LA BOLA

2 4 6 8

-0.5

0

0.5

TIEMPO

AN

GU

LO

DE

LA

BA

RR

A

ANGULO DE LA BARRA

2 4 6 8

-0.1

0

0.1

TIEMPO

VE

LO

CID

AD

DE

LA

BO

LA

VELOCIDAD DE LA BOLA

2 4 6 8-4

-2

0

2

4

TIEMPO

VE

LO

CID

AD

AN

GU

LA

R

VELOCIDAD ANGULAR

2 4 6

-2

0

2

4

TIEMPO

VO

LT

AJE

DE

L M

OT

OR

VOLTAJE DEL MOTOR

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

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

TIEMPO

PO

SIC

ION

BO

LA

SEGUIMIENTO REFERENCIA

X: 4.222

Y: 0.173 X: 7.016

Y: 0.1395

35

Y una referencia de

El comportamiento de la las señales para el sistema simulado y la planta real son:

Ilustración 31. Comparación prueba 2

Para las siguientes condiciones iniciales

[

] [

]

1 2 3

-0.5

0

0.5

Posicion del eje

Tiempo [s]

Posic

ion d

el eje

[R

ad]

0 1 2 3

-0.2

-0.1

0

Posicion de la bola

Tiempo [s]

Posic

ion d

e la b

ola

[m

]

0.5 1 1.5 2 2.5-10

-5

0

5

Velocidaddel eje

Tiempo [s]

Velo

cid

ad d

el eje

[R

ad/s

]

1 2 3

-0.2

-0.1

0

Velocidad de la bola

Tiempo [s]

Velo

cid

ad d

e la b

ola

[m

/s]

1 2 3-8

-6

-4

-2

0

2

4

Señal de control

Tiempo [s]

señal de c

ontr

ol [V

]

2 4 6

-0.2

-0.1

0

TIEMPO

PO

SIC

ION

DE

LA

BO

LA

POSICION DE LA BOLA

2 4 6

-0.5

0

0.5

TIEMPO

AN

GU

LO

DE

LA

BA

RR

A

ANGULO DE LA BARRA

2 4 6

-0.15

-0.1

-0.05

0

0.05

TIEMPO

VE

LO

CID

AD

DE

LA

BO

LA

VELOCIDAD DE LA BOLA

2 4 6

-2

0

2

4

TIEMPO

VE

LO

CID

AD

AN

GU

LA

R

VELOCIDAD ANGULAR

2 4 6 8

-2

0

2

TIEMPO

VO

LT

AJE

DE

L M

OT

OR

VOLTAJE DEL MOTOR

2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7

-0.2

-0.15

-0.1

-0.05

0

X: 6.414

Y: -0.1968

TIEMPO

PO

SIC

ION

BO

LA

SEGUIMIENTO REFERENCIA

36

Y una referencia de

El comportamiento de la las señales para el sistema simulado y la planta real son:

Ilustración 32. Comparación prueba 5

De la Ilustración 27-31 se puede ver claramente como la señal de control para la planta física es

muy similar a la señal de control generada en la simulación con la look up table, de estos resultados

se puede corroborar que esta señal se está generando conforme a lo esperado, también cabe resaltar

que el error en estado estable es bajo, siendo este:

1 2 3

-0.5

0

0.5

Posicion del eje

Tiempo [s]

Posic

ion d

el eje

[R

ad]

1 2 3-0.1

0

0.1

Posicion de la bola

Tiempo [s]

Posic

ion d

e la b

ola

[m

]

1 2 3

-5

0

5

Velocidaddel eje

Tiempo [s]

Velo

cid

ad d

el eje

[R

ad/s

]

1 2 3

0

0.1

0.2

Velocidad de la bola

Tiempo [s]

Velo

cid

ad d

e la b

ola

[m

/s]

0 1 2 3

-5

0

5

Señal de control

Tiempo [s]

señal de c

ontr

ol [V

]

6 8 10-0.1

0

0.1

0.2

TIEMPO

PO

SIC

ION

DE

LA

BO

LA

POSICION DE LA BOLA

6 8 10-1

-0.5

0

0.5

TIEMPO

AN

GU

LO

DE

LA

BA

RR

A

ANGULO DE LA BARRA

6 8 10

-0.05

0

0.05

0.1

0.15

TIEMPO

VE

LO

CID

AD

DE

LA

BO

LA

VELOCIDAD DE LA BOLA

6 8 10

-4

-2

0

2

4

TIEMPO

VE

LO

CID

AD

AN

GU

LA

R

VELOCIDAD ANGULAR

6 8 10

-2

0

2

4

TIEMPO

VO

LT

AJE

DE

L M

OT

OR

VOLTAJE DEL MOTOR

6 7 8 9 10 11

-0.1

-0.05

0

0.05

0.1

0.15

X: 7.764

Y: 0.1893

TIEMPO

PO

SIC

ION

BO

LA

SEGUIMIENTO REFERENCIA

X: 10.19

Y: 0.1502

37

| ( ) |

( ) (14)

Y un error total de:

(15)

Como se puede observar en la ecuación número 15, el error es tan mínimo que para este estudio

resulta despreciable. También cabe resaltar, partiendo de las gráficas del ángulo de la bola

observadas en todas las ilustraciones, que el sistema intenta cumplir la restricción del máximo

ángulo aunque está sobrepasando el límite superior llegando este a un valor de aproximadamente de

0.9345 rad que equivalen a 53 .

Con perturbaciones

Para las siguientes condiciones iniciales

[

] [

]

Y una referencia de

38

Ilustración 33 Verificación de las restricciones

Ilustración 34. Verificación de la estabilidad del sistema ante perturbaciones

Esta prueba se realizó básicamente con dos finalidades:

o Verificar la estabilidad del sistema ante perturbaciones como se puede observar en la

Ilustración 32, en donde por más que se perturbe, el sistema se mantiene estable.

o Resaltar el cumplimiento de las restricciones (ver Ilustración 33) donde se observa que no

sobrepasa los límites superior e inferior de los ángulos y que el voltaje no sobrepasa un

máximo de 15 v; cabe resaltar que no se utilizó un saturador.

105 110 115 120

-0.1

0

0.1

TIEMPO

PO

SIC

ION

DE

LA

BO

LA

POSICION DE LA BOLA

105110 115120

-0.5

0

0.5

TIEMPO

AN

GU

LO

DE

LA

BA

RR

A

ANGULO DE LA BARRA

105 110 115 120

-0.1

0

0.1

TIEMPO

Velo

cid

ad d

e la b

ola

VELOCIDAD DE LA BOLA

110 120

-4

-2

0

2

4

TIEMPO

VE

LO

CID

AD

AN

GU

LA

R

VELOCIDAD ANGULAR

105110 115120

-2

0

2

TIEMPO

VO

LT

AJE

DE

L M

OT

OR

VOLTAJE DEL MOTOR

104 106 108 110 112 114 116 118 120 122 124-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

X: 112

Y: 0.9342

TIEMPO

VE

LO

CID

AD

AN

GU

LA

R

VELOCIDAD ANGULAR

X: 119.3

Y: -0.7424

X: 114.4

Y: -0.7118

X: 106.1

Y: 0.9235

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

X: 2961

Y: 0.005655

TIEMPO

POSI

CIO

N BO

LA

SSEGUIMIENTO REFERENCIA

X: 9595

Y: 0.007056

39

Seguimiento de una señal periódica.

La señal periódica tiene las siguientes características:

Amplitud =

Periodo = 16 seg

Ciclo útil = 50%

Ilustración 35 Seguimiento de referencia

Como se puede observar en la Ilustración 33, el sistema está siguiendo a la señal deseada con un

tiempo de establecimiento de aproximadamente 4 seg y un sobrepico de 0.6 m, esto indica que la

velocidad de establecimiento no es la esperada (Ver sección 7).

Comparación con los resultados obtenidos con los resultados obtenidos en la tesis de

2008 [4]

En este apartado se realizará una comparación entre los resultados obtenidos en la tesis

desarrollada por Pablo Eduardo Ternera en donde utiliza varios métodos de control para el

Ball&Beam y los resultados obtenidos en esta tesis [4], en la cual se utilizó el controlador

MPC.

NOTA: Las graficas 39 a la 41 fueron tomadas de la referencia [4]

0 5 10 15-0.2

-0.1

0

0.1

TIEMPO

PO

SIC

ION

DE

LA

BO

LA

POSICION DE LA BOLA

0 5 10 15

-0.5

0

0.5

1

1.5

TIEMPO

AN

GU

LO

DE

LA

BA

RR

A

ANGULO DE LA BARRA

0 5 10 15-0.4

-0.2

0

0.2

TIEMPO

Velo

cid

ad d

e la b

ola

VELOCIDAD DE LA BOLA

0 5 10 15

-4

-2

0

2

4

TIEMPO

VE

LO

CID

AD

AN

GU

LA

R

VELOCIDAD ANGULAR

0 5 10 15

-2

0

2

4

TIEMPO

VO

LT

AJE

DE

L M

OT

OR

VOLTAJE DEL MOTOR

0 1000 2000 3000 4000 5000 6000 7000 8000 9000-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

X: 3577

Y: 0.1075

TIEMPO

PO

SIC

ION

BO

LA

SSEGUIMIENTO REFERENCIA

X: 7231

Y: -0.1253

X: 1407

Y: 0.1732

X: 5514

Y: -0.1831

40

Ilustración 36. Controlador PD por realimentación de velocidad Ilustración 37. Señal real de voltaje aplicado al motor

Ilustración 38. Controlador por el método del lugar de las raíces Ilustración 39. Respuesta real del sistema por lugar raíces

41

Ilustración 40. Controlador por ubicación de polos en el Ilustración 41. Señal de control real ubicación de polos

espacio de estados

Ilustración 42. Controlador cuadrático lineal (LQR) Ilustración 43. Señal de control real del sistema óptimo

Cuadrático

42

Ilustración 44. Control Predictivo Basado en Modelos (MPC) Ilustración 45. Señal de control real para el MPC

Para esta comparación se tocarán cuatro puntos importantes:

El primero es el sobrepico, siendo este una de las debilidades de este controlador (MPC)

respecto a los demás, ya que para todas las respuestas, este controlador genera un gran

sobrepico, aunque es menor en los controladores PD por realimentación de velocidad y los

controladores por el método del lugar de las raíces, sin embargo, estos tienen como defecto

que el error a estado estable es mucho mayor.

El segundo punto es el error a estado estable, donde el controlador por ubicación de polos

tiene mejor comportamiento respecto a los demás controladores, sin embargo, el controlador

MPC presenta un error casi despreciable.

El tercer punto corresponde al tiempo de establecimiento en donde el MPC notablemente es

el más óptimo con un tiempo de estabilización de alrededor de 3 segundos, mientras que los

otros controladores se estabilizan en mayor tiempo: 4 segundos para el controlador PD por

realimentación de velocidad y 5 segundos para los controladores por el método del lugar de

las raíces, por el de ubicación de polos en espacio de estados y para el controlador

cuadrático lineal LQR.

Por último, el cuarto punto se refiere al análisis del consumo de energía, en donde

nuevamente el MPC es el más óptimo teniendo una señal de control mejor definida y con

sobrepico bastante pequeños respecto a los demás controladores utilizados en la tesis del

2008.

43

6.1 RAZONES DE POSIBLES DIFERENCIAS ENTRE LA TEORÍA Y LA PRÁCTICA

En esta sección se tratarán las posibles razones del por qué la práctica difiere con los resultados

teóricos obtenidos en este proyecto.

Los autores que desarrollaron el modelo matemático del Ball&Beam [4] no tuvieron ciertas

consideraciones como el torque que ejerce el brazo de palanca que está conectada al motor y

a la barra.

Ilustración 46. Brazo de palanca del Ball&Beam

Esto tiene como consecuencia que independientemente del ángulo de inclinación de la barra,

esta se mantendrá en equilibrio cuando no debería ser así. Debido a lo anterior, se tiene que

el punto de equilibrio estaría cuando la barra es paralela a la superficie a un voltaje aplicado

igual a 0, siendo que para que esto sea válido, se le debe aplicar aproximadamente 0.5 v al

motor.

Una de las razones de las posibles diferencias entre la teoría y la práctica es que el

coeficiente de fricción no es el indicado por el manual de Quanser o no se está teniendo en

cuenta la fricción que ejercen todo el sistema como tal. Esto se puede verificar con las

siguientes ilustraciones:

44

Ilustración 47. Respuesta del sistema a malla abierta

En las anteriores gráficas se muestran las respuestas del sistema a malla abierta con las

siguientes condiciones iniciales:

[

] [

]

Donde la gráfica azul corresponde a la simulación del sistema y la verde corresponde a la

planta real. Estas ilustraciones muestran el tiempo que tarda la bola en llegar de un extremo

de la barra al otro (de 0.2 m a -0.2 m) con un ángulo de inclinación de 45 . En la figura de la

simulación se aprecia que el tiempo que tarda la bola en llegar al otro extremo es de

aproximadamente 1.5 seg, mientras que el tiempo que demora la bola en llegar de un

extremo a otro en la planta real, es de aproximadamente 3 seg. De estos resultados se puede

demostrar cómo el coeficiente de fricción del sistema debe ser mucho más grande que el

coeficiente especificado en el manual de Quancer; de ser verdad este postulado, esta sería la

razón más importante por la cual el tiempo de establecimiento de la planta real difiere tanto

con el tiempo de establecimiento encontrado en las simulaciones.

Existieron algunos inconvenientes con el desarrollo de la tabla que se utilizó para entrenar la

red neuronal, estos pudieron ser causantes de las diferencias entre los resultados prácticos

con los resultados teóricos:

o Las simulaciones que se desarrollaron para obtener la tabla se hicieron trabajando al

límite de las restricciones sin darle un poco de tolerancia como debió haberse hecho, por

lo tanto generar una tabla trabajando con estos parámetros pudo tener como

consecuencia en las pruebas que no se cumplieran las restricciones de forma completa

como era el objetivo.

45

en V

en Rad (16)

en m

o Otra posible razón por lo cual la planta real no cumple por completo las restricciones es

debido a un error de Matlab, en donde al crear la tabla de datos, genera un pequeño

sobrepico para algunas simulaciones. Estos sobrepico se muestran en la siguiente

ilustración:

Ilustración 48. Simulaciones de ángulo de la barra para generar la tabla

Por ultimo cabe mencionar una de las razones más importantes y es la red neuronal. Como se

mencionó anteriormente, una red neuronal genera una aproximación del comportamiento de

un sistema a partir de ciertos valores, luego esa aproximación posiblemente no fue lo

suficientemente exacta como para generar los resultados esperados o en su defecto, no se

entrenó a la red con la suficiente cantidad de valores.

46

7. CONCLUSIONES

Al utilizar el modelo no lineal de la planta se garantizó que el sistema real trabajara alrededor de

todos los puntos de operación y no en un pequeño rango como lo hubiera sido al emplear la

planta linealizada. Además, trabajando de esta manera, se garantizó una mayor similitud entre el

modelo matemático con la planta real, lo que implica una mayor aproximación entre los valores

obtenidos teóricamente y los valores adquiridos de forma práctica. Como se puede ver, alrededor

de todo el desarrollo de este proyecto no se tuvieron en cuenta algunas consideraciones como las

fricciones de la barra y el torque que ejercía el brazo de palanca sobre el motor, y se hicieron

algunas aproximaciones como la implementación de una red neuronal para que se comportara

como el controlador diseñado en ACADO y la cantidad de datos limitada con la que se entrenó

esta red.

A pesar de estas aproximaciones, en el momento de realizar las pruebas se pudo observar

satisfactoriamente que las restricciones se estaban cumpliendo con un pequeño margen de error;

esto fue uno de los logros más importantes ya que una de las razones por las cuales se escogió

diseñar un control óptimo era garantizar que se cumplieran los parámetros que se imponen, bien

sea como restricciones del usuario o como restricciones intrínsecas debido a la naturaleza del

sistema. Esto se puede validar con la ilustración 31, en donde el ángulo de deflexión del riel se

saturaba alrededor de los 45 pero para el caso positivo (45 ), el riel se está saturando

alrededor de los 53 lo que equivale a tener un margen de error de aproximadamente el 7%. Este

error se pudo dar por dos razones: la primera es que la red neuronal no quedo bien entrenada

para esos valores superiores, en segundo lugar, se cree que pudo ser simplemente que el encoder

del motor no se encontraba bien referenciado.

El buen desempeño del sistema se puede observar en la comparación del controlador

implementado en este proyecto con los controladores utilizados en la tesis del 2008 [4], ya que

se obtuvo una mejor respuesta para la mayoría de los casos. El consumo de energía fue menor

que el de todos los controladores con los que fue comparado. A pesar de que se tuvo un pequeño

error a estado estable que, debido a su magnitud tan pequeña fue casi despreciable, se cumplió

así con un mínimo error en un tiempo final. Con estos resultados se pudo validar el buen

desempeño que tiene el controlador con esta planta, ratificando por qué el control MPC está

siendo implementado cada día más.

Para posibles trabajos relacionados con este tema es importante tener en cuenta las razones por

las cuales el resultado teórico difiere del resultado práctico para que se pueda tomar una acción

correctiva. Una de las razones y en mi opinión, una de las más importantes a tener en cuenta, es

desarrollar nuevamente el modelo matemático de las plantas de Quancer sin despreciar los

parámetros que no parecen tan relevantes como la fricción y el torque que ejercía el brazo de la

palanca sobre el motor, por que como se pudo observar, al despreciar estos parámetros, la

diferencia de tiempos en que el sistema simulado y planta real se estabilizaban es de 1 o más

segundos dependiendo de las condiciones iniciales. Además del sobrepico tan alto que se genera

debido a la acción correctiva que tiene que tomar el sistema. Otra razón igual o más importante

que la anterior, es generar un controlador ON-LINE, ya que como se pudo observar, debido a

las complicaciones de implementarlo, se tuvo que realizar uno OFF-LINE (red neuronal) lo que

47

conllevó nuevamente a tener que realizar una serie de aproximaciones amplificando las

diferencias entre el controlador teórico y el controlador práctico. Este problema se puede

solucionar realizando una interface entre el software ACADO y simulink con funciones o

bloques compatibles a los que tiene Matlab para poder trabajar en tiempo real, o por otro lado

usar otro software diseñado específicamente para tratar con este tipo de requerimientos.

48

8. BIBLIOGRAFÍA

[1] J. A. Rossiter, Model-based predictive control: a practical approach. CRC Press, 2003.

[2] E. F. Camacho and C. Bordons, Model predictive control, Segunda ed. Springer, 2004, p. 405

[3] Quanser, “BB01 User Manual - SRV02 Ball&Beam,” p. 20.

[4] P. E. Ternera, “Diseño de sistemas de control para un modelo de control Ball & Beam,” Control,

2008.

[5] J.S. Bay, Fundamentals of Linear State Space Systems, New York: WCB/McGraw-Hill, 1999.

[6] C.-T. Chen, Linear Systems Theory and Design, Oxford University Press, 1999.

[8] Katholieke Universiteit Leuven, “OPTEC - Katholieke Universiteit Leuven,” 2005. [Online].

Available: http://www.kuleuven.be/optec/software/. [Accessed: 19-Aug-2011].

[9] Z. Xi and T. Hesketh, “Ball and Beam System - Nonlinear MPC Using Hammerstein Model,”

2007 2nd IEEE Conference on Industrial Electronics and Applications, p. 5, May. 2007.