SlideShare una empresa de Scribd logo
1 de 64
Descargar para leer sin conexión
Construcci´on y Dise˜no de Controladores
de un P´endulo Invertido Rotante
Sebasti´an Mallo
Virginia Mazzone
Director: Ing. Roberto Saco
P´endulo Invertido Rotante
Proyecto Fin de Carrera
Ing. Automatizaci´on y Control Industrial
Departamento de Ciencia y Tecnolog´ıa
Universidad Nacional de Quilmes
11 de febrero de 2003
Este informe describe el proyecto de fin de carrera Construcci´on y Dise˜no de Controladores
de un P´endulo Invertido Rotante, realizado por Sebasti´an Mallo y Virginia Mazzone, para la
carrera Ingenier´ıa en Automatizaci´on y Control Industrial dependiente del Departamento de
Ciencia y Tecnolog´ıa de la Universidad Nacional de Quilmes. Este proyecto fue realizado
bajo la supervisi´on del profesor Ing. Roberto Saco.
El informe fue tipeado en LATEX y pdfLATEX usando la clase book con los paquetes ba-
bel(spanish) y hyperref. La familia de fuentes utilizada es bookman para texto, y
mathpple para matem´atica.
Florencio Varela, 11 de febrero de 2003.
Resumen
Este informe sintetiza la construcci´on de un p´endulo invertido rotante y su posterior con-
trol a trav´es de una PC. Utilizamos como actuador un motor de corriente continua y
sensamos los ´angulos del brazo rotatorio y del p´endulo con un encoder incremental y un
sensor magn´etico respectivamente.
Construido el sistema lo modelizamos matem´aticamente, utilizamos como herramienta
las ecuaciones de Euler-Lagrange. Una vez obtenido el modelo, e identificado, procedimos
al dise˜no de diversos controladores: control en cascada y control por realimentaci´on de
estados. Para verificar el desempe˜no de los controladores dise˜nados, simulamos el modelo
no lineal obtenido en SIMULINK junto con los controles.
Para poder implementar el control por realimentaci´on de estado, fue necesario dise˜nar
un observador para estimar aquellas variables de estado que no podemos medir. Una
vez dise˜nado el observador, obtuvimos el desempe˜no deseado, salvo al pretender que el
brazo siga referencias constantes. Por otro lado, la implementaci´on del control en cas-
cada fue inmediata ya que solo necesitamos las mediciones que tenemos. Para concluir,
dise˜namos una variante robusta del control en realimentaci´on de estado, acci´on integral,
adem´as solucionamos el problema de seguimiento de referencias, la implementamos sa-
tisfactoriamente, obteniendo as´ı el mejor desempe˜no.
La implementaci´on la realizamos utilizando una placa de adquisici´on de datos junto
con el software MATLAB, SIMULINK, Real Time Workshop y Real Time Windows Target, que
nos permitieron el control en tiempo real.
iv
´Indice General
Resumen iii
Introducci´on vii
0.1 Formulaci´on del Problema y Objetivos . . . . . . . . . . . . . . . . . . . . . . . vii
0.2 Contenido del Informe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
1 Descripci´on del Sistema 1
1.1 Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Programa de Simulaci´on y Control . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Adquisici´on de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Actuador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Limitaciones debidas al Actuador (Motor) . . . . . . . . . . . . . . . . . . 4
1.3 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Limitaciones debidas a Sensores . . . . . . . . . . . . . . . . . . . . . . . 5
2 Modelizaci´on Matem´atica del Sistema 7
2.1 Ecuaciones de movimiento del p´endulo invertido . . . . . . . . . . . . . . . . . 7
2.1.1 Ecuaciones de Euler-Lagrange . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Modelo Matem´atico de un Motor de CC . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Representaci´on en Modelo de Estado . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Linealizaci´on del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Representaci´on Entrada-Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6 Simplificaci´on del Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7 Ajuste de los Par´ametros en forma Aproximada . . . . . . . . . . . . . . . . . . 14
3 Dise˜no de Controladores y Simulaci´on 17
3.1 Control en Cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1 Dise˜no de K2(s) por Asignaci´on de Polos . . . . . . . . . . . . . . . . . . 18
3.1.2 Dise˜no de K1(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.3 Simulaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Control por Realimentaci´on de Estado . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1 Dise˜no de la Matriz K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.2 Seguimiento Robusto: Acci´on Integral . . . . . . . . . . . . . . . . . . . 27
3.2.3 Estimadores de las variables de Estado no Medidos . . . . . . . . . . . 29
3.2.4 Observador de las variables de Estado . . . . . . . . . . . . . . . . . . . 29
3.2.5 Simulaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 Ensayos de Controladores sobre el Sistema Real 37
4.1 Implementaci´on del Control en Cascada . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Implementaci´on del Control en Realimentaci´on de Estados . . . . . . . . . . . 39
4.3 Implementaci´on de la Acci´on Integral . . . . . . . . . . . . . . . . . . . . . . . . 40
vi ´Indice General
5 An´alisis del efecto de las cuantizaciones y de las perturbaciones del motor 43
5.1 Disminuci´on en la cuantificaci´on del Actuador y de los Sensores . . . . . . . . 43
5.2 Mejoras f´ısicas del motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6 Conclusiones 47
A Descripci´on detallada de los componentes del Sistema 49
A.1 Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
A.1.1 Especificaciones de la PC . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
A.1.2 Placa de Adquisisci´on de Datos . . . . . . . . . . . . . . . . . . . . . . . 49
A.2 Actuador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
A.3 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
A.3.1 Encoder Incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
A.3.2 Sensor Magn´etico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Bibliograf´ıa 55
Introducci´on
El objetivo de este trabajo es la aplicaci´on de los conocimientos adquiridos a lo largo
de la carrera, donde nos centramos en el dise˜no de controladores. Para ello elegimos
como sistema un p´endulo invertido rotante. Muchas Universidades del mundo poseen
un p´endulo invertido para demostrar resultados de control. La raz´on por la cual este
problema es interesante desde el punto de vista de control es por que ilustra muchas de
las dificultades asociadas con problemas de control del mundo real.
0.1 Formulaci´on del Problema y Objetivos
El p´endulo invertido rotante consiste en un brazo giratorio horizontal, el cual posee en su
extremo una barra vertical la cual gira libremente alrededor de un eje paralelo al brazo,
como podemos apreciar en la Figura 1.
m, g
I, l
r
z
x
a
θ
y
ψ
Figura 1: Diagrama del p´endulo invertido rotante
Dado que nuestra Universidad no cuenta con un P´endulo Invertido Rotante, por su alto
costo, nos propusimos como objetivo del trabajo, la construcci´on del mismo. Mientras
que la especificaci´on de dise˜no de los controladores que nos propusimos, es mantener la
barra, de ahora en m´as p´endulo, en forma vertical mediante la aplicaci´on de una fuerza
en el brazo. Este proceso se ve intuitivamente a trav´es del ejemplo de tratar de mantener
una escoba en forma vertical con una mano. Una especificaci´on secundaria es controlar
el brazo en una posici´on determinada. Estos objetivos fueron alcanzados implementando
los controladores por medio de una PC.
El proceso de dise˜no de un sistema de control requiere de los siguientes pasos, seg ´un
[4]:
1. Estudiar el sistema a controlar y decidir qu´e tipo de sensores y actuadores utilizar y
d´onde ubicarlos.
2. Modelar el sistema resultante a controlar.
viii Introducci´on
3. Simplificar el modelo si es necesario para hacerlo m´as f´acil.
4. Analizar el modelo resultante, determinar sus par´ametros.
5. Decidir las especificaciones de desempe˜no.
6. Decidir el tipo de control a utilizar.
7. Dise˜nar un controlador que alcance las especificaciones, si es posible, si no, modifi-
car las especificaciones.
8. Repetir desde 1 si es necesario.
9. Elegir hardware y software e implementar el controlador.
10. Ajustar el controlador on-line si es necesario.
0.2 Contenido del Informe
Este informe consta de cinco cap´ıtulos y un ap´endice. En el Cap´ıtulo 1 describimos
cada uno de los componentes del sistema a controlar, de los sensores y del controlador.
En el Cap´ıtulo 2 modelizamos matem´aticamente el sistema, utilizando las ecuaciones de
Euler-Lagrange, linealizamos alrededor del punto donde queremos controlar al sistema y
a partir de ciertas consideraciones, obtuvimos un modelo simplificado del mismo. En el
Cap´ıtulo 3 dise˜namos los controladores: control en cascada y realimentaci´on de estados a
partir del modelo lineal simplificado, realizando simulaciones para analizar su desempe˜no
teniendo en cuenta las alinealidades del sistema. En el Cap´ıtulo 4 implementamos dichos
controladores en el sistema real, verificando los resultados obtenidos por simulaci´on. En
el Cap´ıtulo 5 analizamos el efecto de las cuantizaciones y de las perturbaciones utilizando
simulaciones. En el Capitulo 6 mostramos las conclusiones generales del trabajo. En el
Ap´endice A detallamos los componentes descriptos en el Cap´ıtulo 1.
Por ´ultimo, queremos agregar que este proyecto es una contribuci´on al laboratorio de la
carrera para que otros alumnos puedan seguir profundizando conocimientos y aplicarlos
en un sistema real. En realidad este fue nuestro primer objetivo y estamos orgullos de
haber podido devolver de alguna manera todo lo que recibimos durante estos a˜nos.
Cap´ıtulo 1
Descripci´on del Sistema
En la introducci´on describimos el sistema sin entrar en detalle de la fuente de movimiento
ni que mediciones debemos realizar para lograr las especificaciones de control propues-
tas. El sistema de movimiento del brazo es b´asicamente un motor de corriente continua,
mientras que intuitivamente de las especificaciones planteadas podemos deducir que es
necesario medir el ´angulo del p´endulo y del brazo, en 3.2 demostraremos que esta condi-
ci´on es necesaria y suficiente.
En la etapa de dise˜no es de gran utilidad contar con programas que nos permita simu-
lar de forma sencilla sistemas din´amicos en una PC. Estos programas nos proporcionan
un ambiente flexible de trabajo a la hora del dise˜no y an´alisis del funcionamiento de dis-
tintos controladores o bien del comportamiento del sistema a lazo abierto. Lo interesante
de esto ser´ıa poder contar con ese ambiente pero no solo para ser utilizado en simulacio-
nes y luego programar el controlador en un microprocesador o un PLC que interactuar´an
con el sistema real. Cualquier modificaci´on que queramos realizar sobre el controlador
implica tener que grabar nuevamente el programa en la memoria del microprocesador o
PLC, y en una etapa de dise˜no en la cual se realizan muchas modificaciones esto resulta
engorroso. Por dicha raz´on, nuestra idea fue implementar el control a trav´es de una PC.
En la Figura 1.1 podemos ver un diagrama de los componentes del sistema y del flujo de
se˜nales, que sintetiza lo mencionado anteriormente.
Actuador Sensores-

Sistema fisico
Controlador
Figura 1.1: Diagrama del lazo de control
El bloque Sensores representa los sistemas de medici´on utilizados, el bloque Actuador
representa el sistema de movimiento del brazo y el bloque Controlador la implementaci´on
del controlador. En este capitulo detallaremos cada uno de los bloques que forman parte
del sistema.
2 Descripci´on del Sistema
1.1 Controlador
La implementaci´on del controlador la realizamos a trav´es de una PC, la cual cuenta con
una placa adquisidora de datos, que es nuestro nexo entre la PC y el sistema real. El
conjunto de programas que utilizamos para el manejo de la placa adquisidora y para la
simulaci´on e implementaci´on de los controladores en la PC son el Real Time Workshop,
Real Time Windows Target [9], MATLAB y SIMULINK. En el diagrama en bloques de la
Figura 1.2 se sintetiza la implementaci´on del controlador.
Placa de
Adquisicion de Datos
Sensores Actuador
Programa de
Simulacion y
Control
Driver
--
6
?
6
?
CONTROLADOR
Figura 1.2: Diagrama de bloques del Controlador
1.1.1 Programa de Simulaci´on y Control
El programa utilizado para las simulaciones y la implementaci´on del control es el SIMU-
LINK. SIMULINK es un paquete de programas para modelado, simulaci´on y an´alisis de
sistemas din´amicos. Soporta sistemas lineales y no lineales, modelados en tiempo con-
tinuo, discreto o un h´ıbrido de ambos. Las simulaciones son interactivas, es decir, se
pueden cambiar par´ametros on-line e inmediatamente ver qu´e est´a sucediendo. Para el
an´alisis de los sistemas se pueden utilizar las herramientas de an´alisis de MATLAB R . Pa-
ra la implementaci´on de los controladores se utilizaron tambi´en los programas Real Time
Workshop y Real Time Windows Target, los cuales nos permiten la ejecuci´on en tiempo
real.
• Real Time Workshop. Es un generador de c´odigo en lenguaje C a partir de diagramas
en bloques de SIMULINK. Adem´as construye programas capaces de ser ejecutados en
tiempo real en una gran variedad de entornos, incluyendo dispositivos como micro-
controladores, placas dedicadas o DSP.
• Real Time Windows Target. Es un programa que permite ejecutar programas, com-
pilados en lenguaje C a trav´es del Real Time Workshop, en una PC bajo sistema
operativo Windows en tiempo real.
1.1.2 Adquisici´on de datos
Placa de Adquisici´on de Datos La placa adquisidora que utilizamos es una Interfaz
M´ultiple para PC de Electroqu´ımica Delta S.R.L. para Slot ISA de PC. Si bien es una placa
1.2 Actuador 3
de bajo costo, cuenta con los requisitos que demanda nuestro proyecto, veamos algunas
de sus principales caracter´ısticas:
• 8 entradas digitales.
• 8 salidas digitales.
• 8 entradas anal´ogicas de 0V a 5V ´o 0V a 5.12V con una resoluci´on de 8 bits.
• 2 salidas anal´ogicas de 0 a 5V ´o 0V a 5.12V con una resoluci´on de 8 bits.
Driver La forma en la que interact ´ua esta placa con los distintos programas es a trav´es de
registros o direcciones de memoria de la PC. Las distintas funciones de la placa se efect ´uan
por medio de operaciones de lectura y escritura en dichas direcciones. Las secuencias de
lectura y escritura sobre estas direcciones de memoria se realizan a trav´es de un programa
denominado driver.
1.2 Actuador
A continuaci´on citamos algunas de las caracter´ısticas principales del motor de corriente
continua que, como mencionamos anteriormente, es qui´en proveer´a el movimiento del
brazo:
• Sin escobillas.
• Tensi´on nominal de alimentaci´on: 24V.
• Consumo de corriente: 2A.
• Reducci´on: a engranajes, 1:130.
En la Figura 1.3, mostramos el diagrama de bloques del Actuador.
Bloque
PC




-
--
H
Puente
On/OffPWM
Generador
Dir
M
Figura 1.3: Diagrama de bloques del Bloque motor
El Generador de PWM, es el encargado de generar una se˜nal cuadrada, con tiempo
activo proporcional a una se˜nal de 0 a 5V proveniente de la placa de adquisici´on de datos.
Mientras la se˜nal de direcci´on proviene de una salida digital.
El Puente H es la etapa de potencia e inversor de marcha que alimenta al motor.
4 Descripci´on del Sistema
1.2.1 Limitaciones debidas al Actuador (Motor)
Los actuadores son origen de limitaciones de desempe˜no en control. En particular, consi-
deraremos
• restricciones en actuaci´on m´ınima, y
• restricciones en actuaci´on m´axima.
Estas restricciones pueden ser tanto en amplitud, como en velocidad.
Restricciones de Actuaci´on M´ınima
Una limitaci´on frecuente es la imposibilidad de efectuar actuaciones arbitrariamente pe-
que˜nas. Un caso t´ıpico es el de un controlador que act ´ua mediante un dispositivo cuan-
tizado. En nuestro caso la actuaci´on la realizamos a trav´es de una salida anal´ogica de la
placa adquisidora que, como podemos ver en A.1, entrega una tensi´on de 0-5V a trav´es de
un conversor digital/anal´ogico de 8 bits. Por lo tanto tendremos solo 256 niveles distintos
de actuaci´on.
Cuando la actuaci´on est´a cuantizada, el m´ınimo error est´atico de seguimiento estar´a
limitado por el umbral de cuantizaci´on del actuador en general no podr´a conseguirse error
nulo en r´egimen permanente. Otro caso en que existen limitaciones de actuaci´on m´ınima
se origina en la existencia de elementos mec´anicos con fricci´on est´atica (el actuador ”se
pega”).
Restricciones de Actuaci´on M´axima
En la pr´actica, todos los actuadores tienen l´ımites m´aximos de actuaci´on, que pueden
alcanzarse si la se˜nal de control experimenta picos elevados o cambios bruscos en la
referencia, y as´ı, el actuador satura.
El limitador saturaci´on se define, Figura 1.4, por
u(t) = sat( ˆu(t))) =



umax si ˆu(t)  umax,
ˆu(t) si umin ≤ ˆu(t) ≤ umax,
umin si ˆu(t)  umin.
u(t)
ˆu(t)
umax
umax
umin
umin
Figura 1.4: Saturaci´on
La se˜nal m´axima de actuaci´on umax es 15V y la m´ınima umin es −15V, si bien la tensi´on
nominal del motor es 24V. Elegimos este valor de tensi´on ya que en las simulaciones
previas el valor de tensi´on en el r´egimen permanente rondaba los ±2V. Si utilizamos como
tensi´on m´axima los 24V, debido a la discretizaci´on de la placa de adquisici´on de datos, la
m´ınima actuaci´on es de 24
255 = 0.0941. Es decir, en el rango ±2V tendremos 42 niveles de
actuaci´on distintas, en cambio, si tomamos como actuaci´on m´axima 15V aumenta a 68.
Con este razonamiento, una pregunta ser´ıa por qu´e no bajar m´as la tensi´on. El problema
se presenta cuando, a menor tensi´on, el motor se mueve con menos velocidad, no teniendo
la suficiente reacci´on.
1.3 Sensores 5
1.3 Sensores
Como vimos anteriormente, las variables del sistema que debemos medir son el ´angulo del
brazo y el ´angulo del p´endulo. En cada uno de los casos utilizamos m´etodos de medici´on
diferentes, por lo tanto veamos a cada uno en forma separada.
La descripci´on detallada de los sensores la encontramos en A.3.
Medici´on del ´Angulo del Brazo En este caso utilizamos un encoder incremental. Una de
las ventajas de este tipo de sensor de ´angulo, es que el rango de medici´on es ilimitado.
Mientras que la mayor desventaja es que los pulsos entregados por el encoder son de alta
frecuencia, por lo tanto es posible que al contarlos se pierdan pulsos. La l´ogica encargada
de contar los pulsos fue implementada en la PC, utilizando dos entradas digitales de la
placa adquisidora para leer los pulsos del encoder.
Medici´on del ´Angulo del P´endulo El sensor que utilizamos es un sensor magn´etico, estos
sensores usan la propiedad por la cual un material magn´etico cambia su resistencia en
presencia de un campo magn´etico.
1.3.1 Limitaciones debidas a Sensores
Los sensores son una parte crucial de cualquier dise˜no en un sistema de control, dado
que proveen la informaci´on necesaria a partir de la cual se genera la acci´on de control.
Podemos pensar que son los ”ojos” del controlador, por lo que cualquier defecto signifi-
cativo, o error en la medici´on tendr´a un impacto significativo en el desempe˜no global del
sistema. Los principales dificultades asociadas a los sensores tienen origen en
• ruido, inherente a la medici´on, y
• cuantificaci´on, inherente a la discretizaci´on, Figura 1.5.
Angulo medido
Angulo real
Figura 1.5: Cuantificaci´on
El ruido por lo general es de alta frecuencia por lo que antes de realizar la medici´on
filtramos la se˜nal con un filtro pasabajos.
El problema de la cuantificaci´on lo podemos ver en el encoder. Como podemos ver en
A.3, cada pulso entregado por el encoder representa un movimiento de 0.0012 radianes,
lo que hace imposible medir una variaci´on de ´angulo menor a ese valor.
6 Descripci´on del Sistema
El sensor del p´endulo, nos entrega una tensi´on de 0-5V correspondiente a una varia-
ci´on de ´angulo de ±18o (ver A.3). Al ser el conversor de la placa adquisidora de 8 bits,
este sensa solamente 256 niveles de tensi´on distintos. Por lo que la m´ınima variaci´on de
´angulo que sensar´a ser´a 18o
256 , en radianes 0.0024.
Cap´ıtulo 2
Modelizaci´on Matem´atica del Sistema
La modelizaci´on es el primer paso en el dise˜no de un lazo de control. Cuanto mayor es el
conocimiento del proceso, mejores son los resultados que obtendremos, ya que el dise˜no
del control ser´a basado en el modelo. Para conocer la din´amica del sistema, podemos
deducir su comportamiento a partir de las leyes f´ısicas que lo rigen, como el´ectricas,
mec´anicas, t´ermicas, etc. o podemos utilizar t´ecnicas de identificaci´on de sistemas, que
tiene que ver con el problema de construir el modelo matem´atico de sistemas din´amicos a
partir de la observaci´on de entradas y salidas del sistema [6].
En este cap´ıtulo detallaremos la obtenci´on del modelo matem´atico del p´endulo in-
vertido rotatorio a partir de las leyes f´ısicas que lo gobiernan. Para obtener el modelo
matem´atico utilizamos las ecuaciones de Euler-Lagrange, que proporcionan dos ecuacio-
nes diferenciales ordinarias de segundo orden no lineales, las que escribimos como cuatro
funciones diferenciales de primer orden no lineales (ecuaciones de estado). Dado que el
modelo obtenido es no lineal, linealizamos el sistema alrededor del puntos de operaci´on
(equilibrio del sistema) que propusimos como especificaciones en el Capitulo 0.1: estabili-
zar el p´endulo en forma vertical y controlar el ´angulo del brazo.
2.1 Ecuaciones de movimiento del p´endulo invertido
Una de las formas m´as eficientes de encontrar las ecuaciones de movimiento de un siste-
ma rob´otico es aplicando las ecuaciones de Euler-Lagrange. En primer lugar calculamos
el Lagrangiano, que es la energ´ıa cin´etica menos la energ´ıa potencial del sistema. Para
ello utilizaremos el diagrama simplificado de la Figura 2.1 . Las ecuaciones que des-
criben el movimiento las encontramos calculando algunas derivadas del Lagrangiano e
igual´andolas a la fuerza aplicada (fricci´on y torque del motor).
2.1.1 Ecuaciones de Euler-Lagrange
Para escribir las ecuaciones de Euler-Lagrange, necesitaremos calcular derivadas parcia-
les del Lagrangiano, donde definimos el Lagrangiano L como
L(q(t), ˙q(t)) = Ecin
Energ´ıa cin´etica
− Epot
Energia potencial
, (2.1)
con
q(t) =
θ(t)
ψ(t)
y ˙q(t) =
˙θ(t)
˙ψ(t)
(2.2)
Las ecuaciones de Euler-Lagrange en notaci´on vectorial est´an definidas como
d
dt
∂L
∂ ˙q
−
∂L
∂q
= f , (2.3)
8 Modelizaci´on Matem´atica del Sistema
donde f es cualquier momento aplicado al sistema, por ejemplo el torque de un motor o
fricci´on. La ecuaci´on (2.3) es simplemente una forma diferente del Principio de D’Alambert
o de las ecuaciones de movimiento de Newton.
Calculamos ahora la energ´ıa cin´etica y potencial para calcular el Lagrangiano y luego
derivarlo En la Figura 2.1 podemos ver un esquema simple del p´endulo y las variables.
m, g
x
z
ψ
θ
y
l
r,I
θ: ´angulo entre el p´endulo y la vertical
ψ: ´angulo de giro del brazo
m: masa del p´endulo
l: longitud del p´endulo
I: inercia del brazo
r: radio de giro del brazo
g: gravedad
Figura 2.1: Esquema del p´endulo invertido rotatorio
Energ´ıa potencial del p´endulo invertido
La energ´ıa potencial es almacenada en el p´endulo invertido y depende de la elevaci´on del
centro de masa m, suponiendo que el brazo del p´endulo no tiene masa. Por lo que resulta
Epot = mgl cosθ. (2.4)
Energ´ıa cin´etica del p´endulo invertido
Para calcular la energ´ıa cin´etica consideramos los dos cuerpos como si estuvieran aisla-
dos. Calculamos la energ´ıa cin´etica de cada uno de ellos y tomamos como energ´ıa cin´etica
total la resultante entre ambas.
• Brazo giratorio: La energ´ıa cin´etica del brazo giratorio es
Ecin1 =
1
2
I ˙ψ2
. (2.5)
siendo ˙ψ la velocidad angular del brazo.
• Centro de masa del p´endulo: Para calcular la energ´ıa cin´etica total absoluta del
centro de masa del p´endulo, debemos considerar ambos movimientos, en direcci´on
vertical y horizontal.
A la componente horizontal de la velocidad del centro de masa contribuye la rotaci´on
del brazo, es decir
vm,h = r ˙ψ + l ˙θ cosθ,
con ˙θ la velocidad angular del p´endulo.
La componente vertical de la velocidad es
vm,v = l ˙θ sinθ.
2.1 Ecuaciones de movimiento del p´endulo invertido 9
Resultando as´ı el valor absoluto de la velocidad la suma del cuadrado de ambos
componentes
v2
= v2
m,h + v2
m,v = l2 ˙θ2
+ r2 ˙ψ2
+ 2rl cosθ ˙θ ˙ψ,
de donde la energ´ıa cin´etica total del p´endulo resulta
Ecin2 =
1
2
mv2
=
1
2
ml2 ˙θ2
+
1
2
r2
m ˙ψ2
+ rlm ˙θ ˙ψ cosθ. (2.6)
Reemplazando en la ecuaci´on del Lagrangiano, ecuaci´on (2.1), la energ´ıa potencial (2.4)
y la energ´ıa cin´etica total (suma de (2.5) y (2.6)), obtenemos
L(q(t), ˙q(t)) =
1
2
[I ˙ψ2
+ ml ˙θ2
+ r2
m ˙ψ2
+ 2rlm ˙θ ˙ψ cosθ] − mgl cosθ,
que podemos escribir en forma matricial como
L(q(t), ˙q(t)) =
1
2
˙θ ˙ψ
ml2 mrl cosθ
mrl cosθ I + mr2
˙θ
˙ψ
− mgl cosθ
=
1
2
˙qT
M(q) ˙q − Epot,
donde la matriz M(q) se llama matriz de masa generalizada y ˙q y q vienen dadas por (2.2).
Si derivamos el Lagrangiano respecto de ˙q, y luego respecto de q, tenemos que
∂L
∂ ˙q
= M(q) ˙q (dado que la matriz M es sim´etrica) y
∂L
∂q
=
1
2
˙qT ∂M(q)
∂q
˙q −
∂Epot
∂q
.
Si ahora derivamos la derivada del Lagrangiano respecto de t, utilizando la regla del pro-
ducto, obtenemos
d
dt
∂L
∂ ˙q
= M(q) ¨q +
d
dt
(M(q) ˙q.
Notemos que
d
dt
(M(q)) ˙q ≡ ˙qT ∂M(q)
∂q
˙q.
Escribamos la ecuaci´on de Euler-Lagrange (2.3) con los resultados obtenidos
M(q) ¨q
1
+
1
2
˙qT ∂M(q)
∂q
˙q
2
+
∂Epot
∂q
3
= f
4
, (2.7)
donde cada uno de los t´erminos de la ecuaci´on anterior representa
1. t´ermino referido a la inercia de la masa
2. t´ermino de cori´olisis
3. t´ermino gravitacional
4. fuerzas o momentos externos aplicados
10 Modelizaci´on Matem´atica del Sistema
Despejando la derivada de mayor orden, en este caso ¨q, de (2.7) tenemos
¨q =M−1
(q) −
1
2
˙qT ∂M(q)
∂q
˙q −
∂Epot
∂q
+ f
=M−1
(q) −
1
2
d
dt
M(q) ˙q −
∂Epot
∂q
+ f
(2.8)
Notemos que det M = 0, por lo que la matriz M es invertible.
Escribimos la ecuaci´on (2.8) reemplazando a M, a q y ˙q por la matriz y los vectores
correspondientes, quedando as´ı
¨θ
˙ψ
=
ml2 mrl cosθ
−mrl cosθ I + mr2
−1
−
1
2
0 −mrl sinθ ˙θ
−mrl sinθ ˙θ 0
˙θ
˙ψ
−
−mgl sinθ
0
+
fθ
fψ
(2.9)
donde fθ es la fuerza de rozamiento del p´endulo y fψ = τ es el torque aportado por el
motor, la entrada del sistema. Dado que no vamos a controlar el p´endulo con el torque del
motor sino con la tensi´on, necesitamos una ecuaci´on que nos relacione el torque τ con la
tensi´on del motor, u. Para ello calculamos el modelo matem´atico del motor de corriente
continua.
2.2 Modelo Matem´atico de un Motor de CC
Para calcular el modelo matem´atico del motor de corriente continua, planteamos las ecua-
ciones f´ısicas del sistema. Para ello recurrimos a un diagrama del circuito el´ectrico del
armadura y al diagrama de cuerpo libre del rotor como mostramos en la Figura 2.2, donde
V
+
−
R L
−
+
ψ
b ˙ψ
e = K ˙ψ
τ
J: momento de inercia del rotor
b: factor de amortiguamiento
K: constante de la fuerza electromotriz
R: resistencia el´ectrica
L: inductancia el´ectrica
ψ: posici´on del eje del motor
Figura 2.2: Diagrama de bloques de un motor de CC
El torque del motor, τ, est´a relacionado linealmente con la corriente de armadura, i,
por un factor Kτ . La fuerza contra electromotriz (fcem), e, depende de la velocidad de giro
como muestran las ecuaciones (2.10) y (2.11).
τ = Kτ i (2.10)
e = Ke
˙ψ (2.11)
En el sistema internacional de medidas (SI), la constante de armadura, Kτ y la cons-
tante del motor Ke son iguales, por lo que Kτ = Ke = K.
De la Figura 2.2, podemos escribir las ecuaciones basadas en las leyes de Newton,
(2.12), y en las leyes de Kirchhoff, (2.13).
J ¨ψ + b ˙ψ = Ki (2.12)
L˙i + Ri = v − K ˙ψ (2.13)
2.3 Representaci´on en Modelo de Estado 11
Dado que J, b y L toman valores muy peque˜nos, podemos despreciarlos y as´ı obtenemos
el modelo simple aproximado
τ(t) =
K
R
v(t) −
K2
R
˙ψ(t). (2.14)
2.3 Representaci´on en Modelo de Estado
Nos encontramos frente a un sistema que puede ser descripto por un n ´umero finito de
ecuaciones diferenciales ordinarias, (2.9) y (2.14). En esta secci´on representaremos las
ecuaciones en una forma compacta por la ecuaci´on diferencial vectorial de primer grado
(ecuaciones de estado), que en sistemas continuos es de la forma
˙x = f (x, u), (2.15)
donde x es el vector de variables de estado y u es el vector de entradas de control.
Para escribir nuestro sistema como (2.15), elegimos como variables de estado a x1 =
θ, x2 = ψ, x3 = ˙θ y x4 = ˙ψ, de donde (2.9) resulta




˙θ
˙ψ
¨θ
¨ψ



 =




1 0 0 0
0 1 0 0
0 0 ml2 mrl cosθ
0 0 mrl cosθ I + mr2




−1 



1
2




0 0 0 0
0 0 0 0
0 0 0 −mrl ˙θ sinθ
0 0 −mrl ˙θ sinθ 0








θ
ψ
˙θ
˙ψ




+




0 0 1 0
0 0 0 1
0 0 0 0
0 0 0 0








θ
ψ
˙θ
˙ψ



 −




0
0
−mgl sinθ
0



 +




0
0
fθ
fψ








(2.16)
y si reemplazamos el torque del motor fψ por (2.14), con u = v y el rozamiento din´amico
del p´endulo fθ = bs
˙θ, obtenemos el modelo de estado



˙x1 = x3
˙x2 = x4
˙x3 =
(I + mr2)(1
2 mrlx3x4 sin x1 + mgl sin x1 + bsx3)
ml2(I + mr2 − mr2 cos2 x1)
−
r cos x1(1
2 mrlx2
3 sin x1 + K
R u − K2
R x4)
l(I + mr2 − mr2 cos2 x1)
˙x4 =
1
2 mrlx2
3 sin x1 + K
R u − K2
R x4
I + mr2 − mr2 cos2 x1
−
r cos x1(1
2 x3x4 sin x1 + mgl sin x1 + bsx3)
l((I + mr2 − mr2 cos2 x1)
(2.17)
y ahora el sistema del p´endulo sobre un brazo giratorio est´a escrito de la forma (2.15),
donde x ∈ R4 y u ∈ R.
2.4 Linealizaci´on del Sistema
El modelo de estado que obtuvimos en (2.17) es no lineal, como la mayor´ıa de los sistemas
f´ısicos. Bajo ciertas condiciones podemos aproximar el modelo (2.17) con un modelo de
estado lineal incremental. La idea de utilizar un modelo lineal que es mucho m´as simple
el an´alisis del sistema y el dise˜no de controladores.
El proceso de obtenci´on de un modelo lineal a partir de uno no lineal se llama ”linea-
lizaci´on” [2]. La linealizaci´on se realiza alrededor de un punto o trayectoria de operaci´on,
definido por valores nominales, ˜x(t), ˜x0 y ˜u(t), que satisfacen la ecuaci´on (2.15), es decir
˙˜x(t) = f ( ˜x(t), ˜u(t)).
12 Modelizaci´on Matem´atica del Sistema
Nos interesa el comportamiento de la ecuaci´on no lineal (2.15) para una entrada y
estado inicial apenas perturbados de los valores nominales, es decir para u(t) = ˜u(t) + uδ(t)
y x0 = ˜x0 + xδ0 con uδ(t) y xδ0 suficientemente peque˜nos para t ≥ t0. Si suponemos que la
soluci´on permanece cercana a la nominal, en t´erminos de la ecuaci´on de estado no lineal,
tenemos
˙˜x(t) + ˙xδ(t) = f ( ˜x(t) + xδ(t), ˜u(t) + uδ(t)) ˜x(t0) + xδ(t0) = ˜x0 + xδ0.
Supongamos que f (x, u) es diferenciable, entonces podemos usar la serie de Taylor
alrededor de ˜x y ˜u. Si nos quedamos solo con los t´erminos de primer orden para la
componente i de f, resulta
fi( ˜x + xδ, ˜u + uδ) ≈ fi( ˜x, ˜u) +
∂ fi
∂x1
( ˜x, ˜u)xδ1 + · · · +
∂ fi
∂x4
( ˜x, ˜u)xδ4 +
∂ fi
∂u
( ˜x, ˜u)uδ.
Repitiendo para cada i = 1, . . . , 4 y volviendo a la notaci´on vectorial, obtenemos
˙˜x(t) + ˙xδ(t) ≈ f ( ˜x(t), ˜u(t)) +
∂ f
∂x
( ˜x(t), ˜u(t))xδ +
∂ f
∂u
( ˜x(t), ˜u(t))uδ, (2.18)
donde la notaci´on
∂ f
∂x representa la Matriz Jacobiana, del campo vectorial f con respecto al
vector x,
∂ f
∂x




∂ f1
∂x1
· · · ∂ f1
∂x4
...
...
...
∂ f4
∂x1
· · · ∂ f4
∂x4




Por lo que el modelo (2.18) se aproxima con una ecuaci´on de estado lineal de la forma
˙xδ(t) = A(t)xδ(t) + B(t)u(t), xδ(t0) = xδ0,
donde
A(t) =
∂ f
∂x
( ˜x(t), ˜u(t)), B(t) =
∂ f
∂u
( ˜x(t), ˜u(t)). (2.19)
Notemos que el sistema lineal (2.19) resulta inestacionario cuando se trata de una
trayectoria nominal, cuando se trata de un punto de operaci´on, el sistema lineal resulta
estacionario, es decir A(t) = A y B(t) = B .
La trayectoria de operaci´on que nos interesa en nuestro sistema es el punto de equi-
librio del mismo. Un punto x = xeq en el espacio de estado es un punto de equilibrio de
(2.15) con u(t) = 0, si tiene la propiedad de que cuando el estado inicial del sistema es xeq,
el estado permanece en dicho punto en todo tiempo futuro [5].
Buscamos entonces xeq tal que ˙xeq = f (xeq, 0) = 0, as´ı



0 = x3
0 = x4
0 =
(I + mr2)(1
2 mrlx3x4 sin x1 + mgl sin x1 + bsx3)
ml2(I + mr2 − mr2 cos2 x1)
−
r cos x1(1
2 mrlx2
3 sin x1 + K
R u − K2
R x4)
l(I + mr2 − mr2 cos2 x1)
0 =
1
2 mrlx2
3 sin x1 + K
R u − K2
R x4
I + mr2 − mr2 cos2 x1
−
r cos x1(1
2 x3x4 sin x1 + mgl sin x1 + bsx3)
l((I + mr2 − mr2 cos2 x1)
y despejando, obtenemos que el punto de equilibrio resulta
xeq = 0 x2 0 0 ∀ x2 ∈ R
ueq = 0.
2.5 Representaci´on Entrada-Salida 13
Si ahora tomamos el punto de equilibrio xeq y linealizamos el sistema alrededor de
dicho punto utilizando (2.19), obtenemos
A =
∂ f
∂x x=xeq
=





0 0 1 0
0 0 0 1
(I+mr2)g
Il 0 (I+mr2)bs
ml2 I
rK2
lIR
−rmg
I 0 −rbs
lI −K2
IR





B =
∂ f
∂u x=xeq
=




0
0
− rK
lIR
K
IR




Dado que las salidas del sistema son θ y ψ, definimos las matrices
C =
1 0 0 0
0 1 0 0
y D =
0 0
0 0
,
quedando de esta forma el sistema lineal totalmente definido como




˙θ
˙ψ
¨θ
¨ψ



 =





0 0 1 0
0 0 0 1
(I+mr2)g
Il 0 (I+mr2)bs
ml2 I
rK2
lIR
−rmg
I 0 −rbs
lI −K2
IR









θ
ψ
˙θ
˙ψ



 +




0
0
− rK
lIR
K
IR



 u
y =
1 0 0 0
0 1 0 0




θ
ψ
˙θ
˙ψ



 .
(2.20)
2.5 Representaci´on Entrada-Salida
La representaci´on entrada-salida no es m´as ni menos que una forma de obtener la salida
de un sistema cualquiera en funci´on de su entrada. Para ello sabemos que la salida del
sistema puede calcularse como
y(t) =
t
0
g(t − τ)u(τ) dτ,
donde g(t) es la respuesta al impulso: la salida del sistema a un impulso unitario en el
instante τ. O, si ya tenemos el modelo en variables de estado,
˙x = Ax + Bu
y = Cx + Du
(2.21)
aplicamos la transformada de Laplace a (2.21) y obtenemos
sX(s) − x(0) = AX(s) + BU(s)
Y(s) = CX(s) + DU(s).
Si despejamos X(s) de la primer ecuaci´on y suponemos que las condiciones iniciales son
nulas, x(0) = 0, y la reemplazamos en la segunda, obtenemos la matriz transferencia
G(s) = C(sI − A)−1
B + D. (2.22)
En nuestro sistema, dado que la matriz A es de cuarto orden, resulta complejo calcu-
lar (sI − A)−1. Por eso utilizaremos una simplificaci´on del modelo lineal, bajo algunas
condiciones sobre nuestras variables que detallaremos.
14 Modelizaci´on Matem´atica del Sistema
2.6 Simplificaci´on del Modelo
Para obtener el modelo de estado simplificado partiremos de suponer que el sistema tiene
rozamiento din´amico en el p´endulo despreciable, es decir bs ≈ 0. Adem´as, como sabemos
la inercia, I, del brazo giratorio del p´endulo se puede escribir en funci´on de su masa como
I = Mr2, donde r el radio de giro del brazo.
Si ahora escribimos el t´ermino de la fila 3 y 4 de la columna 1 de la matriz A de la
linealizaci´on (2.20) en funci´on de la masa del brazo, resulta
a31 =
(I + mr2)g
Il
=
(M + m)g
Ml
y a41 = −
rmg
I
= −
mg
Mr
. (2.23)
Si tenemos en cuenta que M m, entonces a31 =
g
l
y a41 =
mg
Mr
≈ 0, por lo que el modelo
(2.20) se reduce a




˙θ
˙ψ
¨θ
¨ψ



 =




0 0 1 0
0 0 0 1
g/l 0 0 rα/l
0 0 0 −α




¯A




θ
ψ
˙θ
˙ψ



 +




0
0
−rβ/l
β




¯B
u, con α =
K2
Mr2R
y β =
K
Mr2R
. (2.24)
Calculamos ahora la matriz transferencia (2.22) para el sistema (2.24). Para ello pri-
mero calculamos
(sI − ¯A)−1
=




s 0 −1 0
0 s 0 −1
−g/l 0 s −rα/l
0 0 0 s +α




−1
=
1
s(s +α)(s2 − g/l)




s2(s +α) 0 s(s +α) srα/l
0 (s +α)(s2 − g/l) 0 s2 − g/l
s(s +α)g/l 0 s2(s +α) s2rα/l
0 0 0 s(s2 − g/l).




De donde
Y(s) =
Θ(s)
Ψ(s)
=




−s rβ/l
(s +α)(s2 − g/l)
β
s(s +α)



 U(s). (2.25)
2.7 Ajuste de los Par´ametros en forma Aproximada
Dado que el dise˜no de los controladres ser´a basado en el modelo matem´atico del siste-
ma, necesitamos conocer los valores num´ericos de los par´ametros. Mucho de ellos son
variables que podemos medir o que conocemos, como
• l = 0.3 [m]
• r = 0.27 [m]
• M = 0.5 [kg]
• m = 0.05 [kg]
2.7 Ajuste de los Par´ametros en forma Aproximada 15
• g = 9.8 [m/seg2]
Los par´ametros relacionados con el motor, R y K, no los conocemos. Motivo por el cual es-
timaremos es forma aproximada utilizando un m´etodo iterativo, previamente verificamos
su funcionamiento en simulaci´on. En esta secci´on describiremos los pasos que seguimos
para ajustar los par´ametros del modelo.
Bajo las consideraciones detalladas en 2.6 para obtener el modelo simplificado, vemos
que el motor se comporta independientemente del p´endulo. Por lo que estimaremos los
valores de α y β solo con el motor. Para ello procedimos de la siguiente manera:
1. Excitamos al sistema con un escal´on de amplitud 1.5 V a lazo abierto durante un
segundo con un per´ıodo de muestreo de T = 1/1000 seg y guardamos los valores que
obtuvimos en la salida ψ.
2. Obtenemos la funci´on transferencia que relaciona la entrada u con la salida ψ, de
(2.24), en funci´on de α y β, dando como resultado
Ψ(s)
U(s)
=
β
s(s +α)
. (2.26)
3. Dimos valores a α y a β hasta lograr una salida que compar´andola con las muestras
obtenidas tenga un error aceptable.
4. La Figura 2.3 muestra el resultado obtenido mediante simulaci´on del sistema (2.26),
con
α = 11.8
β = 9.8
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Tiempo
Radianes
Datos Simulados
Datos Reales
Figura 2.3: Comparaci´on entre la salida real y la aproximada
16 Modelizaci´on Matem´atica del Sistema
Por lo tanto queda as´ı definido el sistema (2.24) por todos sus par´ametros como ecua-
ci´on de estado




˙θ
˙ψ
¨θ
¨ψ



 =




0 0 1 0
0 0 0 1
32.66 0 0 10.62
0 0 0 −11.8








θ
ψ
˙θ
˙ψ



 +




0
0
−8.82
9.8



 u
y =
1 0 0 0
0 1 0 0




θ
ψ
˙θ
˙ψ




(2.27)
y como funci´on transferencia
Θ(s)
Ψ(s)
=



−8.82s
(s + 11.8)(s2 − 32.66)
9.8
s(s + 11.8)


 U(s).
Cap´ıtulo 3
Dise˜no de Controladores y Simulaci´on
En este cap´ıtulo desarrollaremos diversas t´ecnicas de dise˜no de control basadas en el
modelo matem´atico del sistema, para lo que debemos plantear cu´ales son nuestras es-
pecificaciones de dise˜no, es decir c´omo queremos que se comporte el sistema luego de
calculado el control . Comenzaremos con t´ecnicas de control simples, tomando al sistema
como dos sistemas de una entrada y una salida en cascada, llamada control en casca-
da. Luego desarrollamos t´ecnicas m´as complejas utilizando las ecuaciones en espacio de
estado como realimentaci´on de estado.
Para el control en cascada utilizamos la representaci´on entrada-salida del sistema
(2.25) y a trav´es de la asignaci´on de polos [3] dise˜naremos el control. Para la realimenta-
ci´on de estado utilizaremos un regulador lineal cuadr´atico (LQR) y dado que solo podemos
medir dos de las cuatro variables de estados, estimaremos las variables de estado no
medidos.
Para el c´alculo de los controladores utilizamos MATLAB. Para analizar el desempe˜no de
cada controlador en el lazo cerrado del sistema, utilizamos SIMULINK, donde armamos el
diagrama de bloques del modelo no lineal (2.17). Aplicamos cada controlador dise˜nado a
este sistema para que la simulaci´on se aproxime al sistema real.
A continuaci´on detallaremos cada una de las t´ecnicas utilizadas, desarrollando algu-
nas herramientas necesarias para cada t´ecnicas, y detallaremos tambi´en los resultados
obtenidos en la simulaci´on.
3.1 Control en Cascada
El control en cascada es una estructura alternativa de control, cuya idea b´asica es reali-
mentar variables intermedias en un sistema SISO1 [3]. Esta estructura, representada en
la Figura 3.1, tiene dos lazos:
• un lazo primario con un controlador primario K1(s), y
• un lazo secundario con un controlador secundario K2(s).
Los principales beneficios del control en cascada se obtienen
(i) cuando G2(s) tiene alinealidades significativas que limiten el desempe˜no del lazo, o
(ii) cuando G1(s) impone limitaciones al ancho de banda en una estructura de control
b´asica.
El caso (ii) se da, por ejemplo, cuando G1(s) tiene ceros de fase no m´ınima o retardos
temporales. Como veremos en esta secci´on, en nuestro problema G1(s) tiene un cero de
fase no m´ınima.
1
Siglas que significa una entrada una salida (single input single outpu)
18 Dise˜no de Controladores y Simulaci´on
d j j d--
6
-..- - .... --
6
R(s)
K1(s) K2(s)
+
−
+
−
Lazo secundario
G1(s)
Y(s)
Lazo primario
G2(s)
T2(s)
Figura 3.1: Estructura de control en cascada
Si pensamos nuestro problema como si fuera SISO, tomando como entrada U(s) y sa-
lida Ψ(s), donde adem´as medimos el ´angulo del p´endulo Θ(s), podemos reescribir nuestro
sistema como muestra la Figura 3.2, teniendo en cuenta (2.25).
c
c
c-
-
- -−(s2−g/l)
r/l s2
−βr/l s
(s2−g/l)(s+α)
Ψ(s)
Θ(s)
U(s)
Figura 3.2: Diagrama de bloques del p´endulo como si fuera un sistema SISO
El dise˜no de la Figura 3.1, puede separarse en dos etapas:
1. Lazo secundario. Dise˜namos K2(s) para estabilizar el ´angulo del p´endulo Θ(s), as´ı
obtenemos la funci´on de sensibilidad complementaria (transferencia a lazo cerrado)
para el lazo secundario como
T2(s) =
G2(s)K2(s)
1 + G2(s)K2(s)
, donde G2(s) =
−βr/l s
(s2 − g/l)(s +α)
.
2. Lazo primario. Una vez dise˜nado K2(s) para estabilizar el ´angulo del p´endulo Θ(s),
el controlador primario K1(s) puede dise˜narse tomando como planta equivalente
T2(s)G1(s), donde
G1(s) =
−(s2 − g/l)
r/l s2
.
3.1.1 Dise˜no de K2(s) por Asignaci´on de Polos
En esta secci´on detallaremos la t´ecnica utilizada para dise˜nar el controlador K2(s), que
estabiliza el ´angulo del p´endulo. La t´ecnica utilizada es por asignaci´on de polos [3], pero
antes mencionaremos de qu´e se trata esta t´ecnica.
Asignaci´on de Polos La t´ecnica de asignaci´on de polos trata b´asicamente en ubicar los
polos del polinomio caracter´ıstico a lazo cerrado en forma arbitraria. Dado un lazo de
control de un grado de libertad como muestra la Figura 3.3, con
G(s) =
B(s)
A(s)
=
bn−1sn−1 + bn−1sn−1 + · · · + b0
ansn + an−1sn−1 + · · · + a0
y (3.1)
K(s) =
P(s)
L(s)
=
pnp snp + pnp−1snp−1
+ · · · + p0
lnl
snl + lnl−1snl−1 + · · · + l0
,
3.1 Control en Cascada 19
Las cuatro funciones de sensibilidad asociadas al lazo de la Figura 3.3 vienen dadas por
T(s)
G(s)K(s)
1 + G(s)K(s)
=
B(s)P(s)
A(s)L(s) + B(s)P(s)
Sensibilidad complementaria (3.2)
S(s)
1
1 + G(s)K(s)
=
A(s)L(s)
A(s)L(s) + B(s)P(s)
Sensibilidad (3.3)
Si(s)
G(s)
1 + G(s)K(s)
=
B(s)L(s)
A(s)L(s) + B(s)P(s)
Sensibilidad de perturbaci´on de entrada
(3.4)
Su(s)
K(s)
1 + G(s)K(s)
=
A(s)P(s)
A(s)L(s) + B(s)P(s)
Sensibilidad de control (3.5)
y donde el polinomio Alc(s) A(s)L(s) + B(s)P(s) se llama polinomio caracter´ıstico a lazo
cerrado.
j jj
j
- -- - -
?
-

6
6
?
G(s)
Y(s)U(s)
−
Dm(s)
Di(s) Do(s)
R(s)
K(s)
Figura 3.3: Lazo de control de un grado de libertad
Nuestro objetivo es ver bajo qu´e condiciones dados B(s) yA(s), que definen nuestra
planta, se pueden dise˜nar P(s) y L(s) tal que el polinomio caracter´ıstico a lazo cerrado sea
Alc(s). El siguiente lema resume estas condiciones (demostraci´on ver [3]).
Lema 1 (Asignaci´on de Polos SISO). Consideremos un lazo de realimentaci´on de un
grado de libertad con un controlador K(s) y un modelo nominal G(s) dado por (3.1). Su-
poniendo que A(s) y B(s) son coprimos 2 y que sus grados son n y n − 1, respectivamente.
Sea Alc(s) un polinomio arbitrario de grado nlc = 2n − 1. Entonces existen polinomios P(s)
y L(s), con grados np = nl = n − 1 tal que
A(s)L(s) + B(s)P(s) = Alc(s) (3.6)
Notemos que si elegimos Alc(s) estable 3, y si adem´as no existen cancelaciones inesta-
bles entre el controlador K(s) y la planta G(s), el lazo de la Figura 3.3, resulta internamente
estable, es decir que las funciones de sensibilidad (3.2) a (3.5) son estables.
Volvamos a nuestro problema, dise˜nar K2(s) = P2(s)
L2(S) tal que estabilice el lazo tomando
B(s) = −βr/l s y A(s) = (s2
− g/l)(s +α),
2
no tienen factores en com ´un
3
con todos sus ceros con parte real negativa
20 Dise˜no de Controladores y Simulaci´on
donde el grado de la planta es n = 3. Seg ´un el Lema 1, tenemos que elegir nlc = 2n − 1 = 5
para que existan polinomios P2(s) y L2(s) de grado np = nl = n − 1 = 2 que satisfagan (3.6).
Para la elecci´on de Alc(s) vamos a recurrir a la cancelaci´on estable de los factores de A(s),
es decir vamos a elegir Alc(s) = (s + g/l)(s +α) ¯Alc(s), donde ahora ¯Alc(s) tiene orden 3.
De esta forma nuestro polinomio caracter´ıstico a lazo cerrado se reduce a
(s + g/l)(s +α) ¯Alc(s)
Alc(s)
= P2(s) (−βr/l s)
B(s)
+L2(s) (s2
− g/l)(s +α)
A(s)
,
que para que podamos realizar la cancelaci´on estable, debemos asegurar que P2(s) =
(s + g/l)(s +α) ¯P2(s), por lo que ¯P2(s) = p0, con p0 ∈ R, ya que P2(s) tienen grado 2 . De
esta forma la ecuaci´on diofantina que nos queda es
¯Alc(s) = p0
¯P2(s)
(−βr/l s) + (s2
+ l1s + l0)
L2(s)
(s − g/l). (3.7)
Si tomamos ¯Alc(s) = s3 + c2s2 + c1s + c0, y expresamos (3.7) en forma de sistema de
ecuaciones matricial, obtenemos


1 0 0
0 1 −βr/l
0 0 − g/l


Me


l1
l2
p0

 =


c2 + g/l
c1
c0

 ,
que admite soluci´on ya que Me es no singular, es decir det Me = 0.
Lo ´unico que nos queda ahora es elegir coeficientes de ¯Alc(s) tal que sea estable. La
elecci´on de este polinomio no es trivial ya que nuestra G2(s) es inestable, y existen limi-
taciones de dise˜no para la sensibilidad complementaria cuando existen polos inestables
en el sistema. En la siguiente secci´on detallaremos estas limitaciones y c´omo elegir el
polinomio caracter´ıstico en estos casos [8].
Limitaciones de Dise˜no Impuestas por G2(s) para la Elecci´on de ¯Alc(s)
En esta secci´on discutiremos los compromisos de dise˜no que existen en la respuesta
temporal debida a la entrada escal´on en un sistema SISO. Estos compromisos de dise˜no
se originan en limitaciones estructurales de la planta a controlar impuestas por polos
inestables y ceros de fase no m´ınima4 de su funci´on transferencia. Estas limitaciones son
inevitables para cualquier controlador que estabilice el lazo. Por ejemplo, como veremos
a continuaci´on, los polos inestables a lazo abierto implican la existencia de sobrevalor en
la respuesta, e inducen un compromiso de dise˜no entre la magnitud de este sobrevalor y
el tiempo de establecimiento de la respuesta.
Respuesta al escal´on Definamos los par´ametros que describen las propiedades rele-
vantes de la din´amica de los sistemas 5, considerando como respuesta al escal´on la Figura
3.4
• valor en el r´egimen estacionario, y∞: el valor final de la respuesta al escal´on (esto
no tiene sentido si el sistema tiene polos en el SPD 6).
4
ceros con parte real positiva
5
Existen distintas definiciones para estos par´ametros en la literatura, nosotros adoptamos las definiciones
propuestas por [7]
6
SPD: semiplano derecho
3.1 Control en Cascada 21
Tiempo
y∞ + ysob
y∞ + δ
y∞ − δkr y∞
te
y∞
tc tp
−ysub
0
Figura 3.4: Indicadores de la respuesta escal´on
• Tiempo de crecimiento, tc: el tiempo que transcurre hasta el instante en el cual
la respuesta al escal´on alcanza, la primer vez, el valor kr y∞. La constante kr var´ıa
seg ´un el autor, com ´unmente se toma tanto 0.9 o 1.
• Sobrevalor, ysob: el m´aximo valor por el que la respuesta el escal´on excede su valor
final. Generalmente se expresa como un porcentaje de y∞.
• subvalor, ysub: el m´aximo (valor absoluto) por el que la respuesta al escal´on pasa por
debajo del cero.
• Tiempo de establecimiento, te: el tiempo transcurrido hasta que la respuesta al
escal´on ingresa (sin dejarlo en tiempo subsiguiente) a una banda ±δ, alrededor del
valor final. Esta banda δ, generalmente se define como un porcentaje de y∞, 2% a
5%
Veamos el siguiente resultado, que no vamos a demostrar, para m´as detalles ver [8].
Corolario 1. [Polos inestables reales y sobrevalor]. Si la planta tiene un polo inestable real
en p  0, su respuesta al escal´on tiene forzosamente sobrevalor. M´as a´un, si tc es el tiempo
de crecimiento del sistema a lazo cerrado, entonces se cumple que
ysob ≥
(ptc − 1)eptc + 1
ptc
≥
ptc
2
.
Sigue del Corolario 1 que si la planta tiene un polo inestable:
• necesariamente hay sobrevalor en la respuesta al escal´on
• el sobrevalor ser´a mayor cuanto mayor sea el tiempo de respuesta del lazo cerrado.
Es decir los polos inestables demandar´an acci´on de control r´apida para un mejor desem-
pe˜no (menor sobrevalor). Cuanto mayores (m´as r´apidos) sean los polos inestables, mayor
ser´a esta demanda.
En conclusi´on podemos extraer la siguiente regla pr´actica de dise˜no para evitar gran-
des sobrevalores.
22 Dise˜no de Controladores y Simulaci´on
El polo dominante a lazo cerrado debe ser mayor (en magnitud) que cualquier
polo inestable a lazo abierto del sistema.
Dado que nuestro sistema G2(s) tiene un polo inestable en g/l = 5.7154, elegiremos
como frecuencia de corte del sistema a lazo cerrado alg ´un valor un poco mayor para hacer
la acci´on de control r´apida. Utilizamos los valores de los par´ametros descriptos en la
secci´on 2.7, donde
G2(s) =
−8.82s
(s + 11.8)(s2 − 32.66)
.
Propusimos tres polos r´apidos para la elecci´on del ¯Alc(s) tal que la frecuencia del lazo
sea mayor que el polo inestable. Los polos propuestos son p=[-14 -13 -12], es decir,
¯Alc(s) = s3 + 39s2 + 506s + 2184, con el que resolvimos la ecuaci´on (3.7) dando como resul-
tado el controlador
K2(s) =
−129.67(s + 11.8)(s + 5.715)
(s + 52)(s − 7.341)
, y T2(s) =
1143.7s
(s + 14)(s + 13)(s + 12)
.
3.1.2 Dise˜no de K1(s)
Una vez estabilizado el lazo secundario, seleccionamos K1(s) tal que estabilice el lazo de la
Figura 3.5. Para ello debemos tomar como sistema a lazo abierto a
T2(s)G1(s) =
−p0βr/l s
¯Alc
−(s2 − g/l)
r/l s2
=
p0βr/l(s2 − g/l)
r/l s ¯Alc
, (3.8)
que tiene un polo en el origen y un cero de fase no m´ınima que impondr´an limitaciones
en el dise˜no.
clle - -
6
----
6
-
Ψ(s)Θ(s)
−
R(s)
−
−(s2−g/l)
r/l s2
−βr/l s
(s2−g/l)(s+α)
p0(s+
√
g/l)(s+α)
s2+l1s+l0
K1(s)
T2(s) = −p0βr/l s
¯Alc
Figura 3.5: Dise˜no del lazo primario
Limitaciones de Dise˜no Impuestas por G1(s)T2(s)
Como vi´eramos en 3.1.1, tanto los polos inestables como los ceros de fase no m´ınima,
imponen limitaciones en el dise˜no, por ejemplo, implican la existencia de subvalor, indu-
ciendo un compromiso entre la magnitud de ´este y el m´aximo tiempo de establecimiento de
la respuesta, como veremos a continuaci´on citando un resultado parecido al del Corolario
1, de [8].
3.1 Control en Cascada 23
Corolario 2. [Ceros de fase no m´ınima y subvalor]. Si la planta tiene un cero de fase no
m´ınima real en q  0, su respuesta al escal´on tiene forzosamente subvalor. M´as a´un, si te
es el tiempo de establecimiento a un nivel δ del sistema a lazo cerrado, entonces se cumple
que
ysub ≥
1 − δ
eqte − 1
.
La interpretaci´on del Corolario 2, es que si la planta tiene un cero real de fase no
m´ınima
• necesariamente hay subvalor en la respuesta al escal´on
• el pico del subvalor ser´a mayor cuanto menor sea el tiempo de establecimiento del
lazo cerrado.
Es decir, los ceros de fase no m´ınima demandar´an acci´on de control lenta para un
mejor desempe˜no (menor subvalor). Cuanto menores (m´as lentos) sean los ceros de fase
no m´ınima, mayor ser´a esta demanda.
En conclusi´on podemos extraer la siguiente regla pr´actica de dise˜no para evitar gran-
des subvalores.
El polo dominante a lazo cerrado debe ser menor (en magnitud) que el menor cero
de fase no m´ınima del sistema.
Si retomamos nuestro sistema con los valores constantes, con
G1(s) =
−(s2 − 32.66)
0.9s2
⇒ G1(s)T2(s) =
−1270.7(s2 − 32.66)
s(s + 14)(s + 13)(s + 12)
. (3.9)
En la Figura 3.6, vemos el lugar de ra´ıces, obtenido con el comando rlocus de MATLAB,
de G1(s)T2(s). Este gr´afico muestra donde se ubicar´an los polos cuando realimentamos
solo con una ganancia proporcional. Como podemos apreciar, existen valores de ganancia
tal que los polos se ubiquen todos en el semiplano izquierdo.
Para encontrar un valor de ganancia tal que estabilice el lazo cerrado, utilizamos el
comando rlocfind(G2T2) que nos permite encontrar ganancias en un lugar de ra´ıces en
forma interactiva. De esta forma vimos que tomando K1(s) = 0.02, los polos a lazo cerrado
resultan las cruces, +, de la Figura 3.6. Por lo que la transferencia a el lazo cerrado
resulta
T1(s) =
−25.41(s2 − 32.66)
(s + 20)(s + 0.35)(s2 + 17.7s + 95.05)
.
3.1.3 Simulaci´on
En esta secci´on tomamos los controles K1(s) y K2(s) y los implementamos en SIMULINK
para analizar el desempe˜no obtenido. Simular dichos controladores con el sistema lineal
tal como los calculamos, 3.1, sabemos que se comporta de forma deseada. Pero ahora
mostramos los resultados que obtenemos si tomamos el sistema no lineal, descripto por
(2.17) y tomando en cuenta las limitaciones de los sensores y del actuador. En la Figura
3.8, mostramos el diagrama de bloques que implementamos para la simulaci´on, donde el
bloque Alinealidades representa, en forma aproximada las perturbaciones del motor: la
24 Dise˜no de Controladores y Simulaci´on
−15 −10 −5 0 5 10 15 20
−10
−8
−6
−4
−2
0
2
4
6
8
10
Real Axis
ImagAxis
Figura 3.6: Lugar de ra´ıces de G1(s)T2(s)
fricci´on est´atica (Figura 3.7) y el juego en el eje del motor (≈ 1o). El bloque K1d es el control
K1(s) discretizado con un tiempo de muestreo T = 0.02 y como condici´on inicial tomamos
todos las variables de estado en cero salvo θ = 0.05 rad. Los valores de las alinealidades
las obtuvimos comparando el sistema real con el simulado, y as´ı ajustamos el valor de la
fricci´on est´atica.
ψ(t)
ˆψ(t)0.15
Figura 3.7: Fricci´on est´atica del motor
La Figura 3.9 muestra los resultados obtenidos luego de simular el lazo cerrado duran-
te 20 segundos. En el gr´afico de la izquierda mostramos la comparaci´on entre la posici´on
del brazo sin tener en cuenta el rozamiento est´atico ni el juego del motor (las alinealidades)
con el que s´ı las tiene en cuenta. A la derecha vemos que estas alinealidades no afectan
tanto a la posici´on del ´angulo.
3.1 Control en Cascada 25
Discretización Psi
Tita
Step3 Saturacion
de la actuacion
Psi
u
tita
psi
Pendulo no lineal1
K2d
K2
.1
K1
Discretizacióo Tita
Discretizacion
de la Actuacion
In1 Out1
Alinealidades
Figura 3.8: Diagrama de bloques de la simulaci´on
0 2 4 6 8 10 12 14 16 18 20
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
0.08
0.1
0.12
Tiempo [seg]
Posición[rad]
con alinealidades
sin alinealidades
0 2 4 6 8 10 12 14 16 18 20
−0.04
−0.03
−0.02
−0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
Tiempo[seg]
Posición[rad]
sin alinealidades
con alinealidades
Figura 3.9: Resultados obtenidos, a la derecha θ y a la izquierda ψ
26 Dise˜no de Controladores y Simulaci´on
3.2 Control por Realimentaci´on de Estado
En esta secci´on vamos a introducir conceptos y t´ecnicas de control en sistemas descriptos
por ecuaciones de estado. Los resultados y definiciones de esta secci´on fueron obtenidos
de [2].
Tomemos el sistema a lazo abierto de dimensi´on n y de una sola entrada descripto por
˙x(t) = Ax(t) + Bu(t)
y(t) = Cx(t).
(3.10)
En realimentaci´on de estado, como muestra la Figura 3.10, la se˜nal de control se propone
lineal al estado
u(t) = r(t) − Kx(t). (3.11)
ii - -


66
- -- -

SS
−
r u ˙x x y
A
CB
K
Figura 3.10: Realimentaci´on de estado
La substituci´on de (3.11) en (3.10), da lugar al lazo cerrado del sistema, cuyo modelo
de estado viene dado por
˙x(t) = (A − BK)x(t) + Br(t)
y(t) = Cx(t).
(3.12)
Para utilizar esta t´ecnica estamos suponiendo que todas las variables de estado est´an
al alcance para medirlos. Pero en realidad no es as´ı, en esta secci´on detallaremos c´omo
podemos calcular la matriz de realimentaci´on K para que la din´amica del sistema a lazo
cerrado se comporte de una determinada manera. Veremos tambi´en bajo qu´e condiciones
esto ocurre y qu´e hacer en aquellos casos donde no podemos medir todas las variables de
estado.
3.2.1 Dise˜no de la Matriz K
Una propiedad de sistemas lineales esencial en la realimentaci´on de estado es la de con-
trolabilidad. La controlabilidad tiene que ver con la posibilidad de llevar al sistema de
cualquier estado inicial a cualquier estado final en tiempo finito, no importando qu´e tra-
yectoria se siga, o qu´e entrada se use.
La ecuaci´on de estado (3.10), o el par (A, B), se dice controlable si para cual-
quier estado inicial x(0) = x0 ∈ Rn y cualquier estado final x1 ∈ Rn , existe una
entrada que transfiere el estado x de x0 a x1 en tiempo finito. En caso contrario,
la ecuaci´on (3.10), o el par (A, B), se dice no controlable.
El siguiente Teorema afirma bajo qu´e condiciones existe una matriz K tal que la reali-
mentaci´on de estado con dicha matriz ubique los autovalores del sistema a lazo cerrado
donde queramos (demostraci´on ver [2]).
3.2 Control por Realimentaci´on de Estado 27
Teorema 1 (Asignaci´on de autovalores). Si la ecuaci´on de estado (3.10) es controlable,
entonces mediante la realimentaci´on de estado u(t) = r(t) − Kx(t), donde K es un vector
real constante 1 × n, los autovalores de (A − BK) pueden ser asignados arbitrariamente,
siempre que los autovalores complejos conjugados se asignen en pares.
Un m´etodo para analizar controlabilidad de un sistema dado es que la matriz de con-
trolabilidad C tenga rango n (rango(C) = n), donde
C = B AB . . . An−1B
Ahora solo nos resta verificar si nuestro sistema es controlable para poder elegir K.
Para ello tomemos el sistema (2.27), y calculamos
rango C = rango B AB A2B A3B = 4,
por lo que podemos afirmar que el sistema (2.27) es controlable.
Convenientemente, MATLAB tiene la funci´on K=place(A,B,P), que calcula K para ubi-
car los autovalores en los valores dados en el vector P. Lo ´unico que resta hacer es elegir
los autovalores deseados para nuestro sistema, para lo que debemos tener en cuenta las
restricciones estructurales que posee el p´endulo invertido, ver secci´on 3.1.2.
Control LQR Otra forma de calcular la ganancia de realimentaci´on K es siguiendo alg ´un
criterio de optimizaci´on, por ejemplo minimizando el funcional cuadr´atico
J =
t∞
0
[xT
(t)Qx(t) + uT
(t)Ru(t)] dt, (3.13)
donde Q y R son matrices constantes que ponderan las variables de estado y la actuaci´on
respectivamente. Como el criterio se basa en funcionales cuadr´aticos, recibe el nombre
de regulador lineal cuadr´atico (LQR). El funcional J puede interpretarse como el costo total
de la transici´on de las variables de estado de un punto a otro.
Obtener la matriz K, minimizando el funcional (3.13) anal´ıticamente no es tarea f´acil,
ver [1], pero MATLAB cuenta con la funci´on K=lqr(A,B,Q,R). Para ello es necesario ajustar
Q y R hasta obtener el desempe˜no deseado.
Para nuestro dise˜no tomamos
Q =




100 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1



 y R = 10,
A y B de (2.27) y obtuvimos
K = −24 −0.3 −3.8 −2.4 (3.14)
3.2.2 Seguimiento Robusto: Acci´on Integral
En esta secci´on introducimos un esquema de seguimiento de referencias constantes. La
idea se basa en aumentar la cantidad de variables de estado de la planta, agregando una
nueva: xa que integra el error, es decir
˙xa = r − y = r − Cx,
como mostramos en la Figura 3.11.
28 Dise˜no de Controladores y Simulaci´on
iii - -


66
- -- -

SS

SS -
6
- --
−
u ˙x x y
A
CB
K
−r
Ka
xa
Figura 3.11: Diagrama de bloques del esquema de seguimiento
Quedando as´ı las ecuaciones de estado del sistema aumentado
˙x
˙xa
=
A 0
−C 0
x
xa
+
B
0
u +
0
1
r
Si consideramos la realimentaci´on de estado u = − K Ka
x
xa
, el sistema a lazo ce-
rrado de la Figura 3.11 es
˙x
˙xa
=
A − BK −BKa
−C 0
x
xa
+
0
1
r (3.15)
La idea ahora es dise˜nar K Ka de forma tal que el sistema (3.15) sea asint´oticamente
estable. En particular, la estabilizaci´on de xa, implica que se produzca el seguimiento
deseado ya que
lim
t→∞
˙xa = 0 ⇒ lim
t→∞
y(t) = r.
Para saber si podemos dise˜nar K Ka para que (3.15) sea estable veamos el siguiente
teorema:
Teorema 2 (Controlabilidad de la planta aumentada). Si (A, B) es controlable y si G(s) =
C(sI − A)−1B no tiene ceros en s = 0, los autovalores de la matriz de evoluci´on aumentada
en (3.15) pueden asignarse arbitrariamente seleccionando la matriz de realimentaci´on
K Ka .
En la secci´on 3.2.1, vimos que nuestro sistema es controlable, es decir que rango C = 4
y si tomamos como salida ψ, que es quien queremos que siga la referencia constante, G(s)
no tiene ceros en el origen, ver (2.25). Para calcular las ganancias K y Ka utilizamos el
comando [K,Ka]=lqr(Aa,Ba,Qa,R), donde
Aa =
A 0
−C 0
, Ba =
B
0
, Qa =






100 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1






y R = 10.
La ganancia que obtuvimos es
K = −27 −1.06 −4.29 −2.85 0.316 . (3.16)
3.2 Control por Realimentaci´on de Estado 29
El control con realimentaci´on de estado asume la disponibilidad de las variables de
estado. Esto no es lo que pasa en la pr´actica, en particular nuestro sistema no cuen-
ta con sensores para medir las velocidades angulares (variables de estado del sistema)
por lo que debemos estimar estas variables no medidas. A continuaci´on describiremos
dos ideas para estimar dichas variables de estado y luego mostraremos las simulaciones
correspondientes.
3.2.3 Estimadores de las variables de Estado no Medidos
Esta primer idea es b´asica, aproximamos la derivada de una variable como cociente incre-
mentales. Esto lo podemos hacer ya que las variables de estado que queremos estimar no
son ni m´as ni menos que la derivada de las dos variables estado que medimos. Es decir
˙θ ≈
θ(k + 1) −θ(k)
T
˙ψ ≈
ψ(k + 1) − ψ(k)
T
(3.17)
donde T es el per´ıodo con el cual la PC toma los datos y la diferencia corresponde a dos
mediciones consecutivas. Esta forma de estimar las variables de estado es muy sencilla
de implementar en SIMULINK, como vemos en la Figura 3.12, pero para que esta estima
sea buena, T tiene que tomar valores peque˜nos.
1
Tita P
z
1
Unit Delay
1/T
Gain
1
Tita
Figura 3.12: Estimador de la derivada
Quedando de esta forma un control que en lugar de ser est´atico 7 es din´amico (o con
memoria).
3.2.4 Observador de las variables de Estado
En esta secci´on introduciremos un dispositivo din´amico, llamado observador, cuya salida
es una estima del vector de estado. En particular vamos a detallar el observador de orden
completo, que tiene el mismo orden que la planta, y de esta forma estimamos todo el
vector de estado. Representemos con ˆx(t) a la estima de x(t) y tomemos el sistema (3.10),
donde suponemos A, B, y C conocidas, y la entrada u(t) y la salida y(t) son medibles,
aunque no el estado x(t). El problema es estimar x(t) a partir de esta informaci´on.
La idea es que dado que conocemos las matrices A, B y C, podemos duplicar el sistema,
˙ˆx(t) = A ˆx(t) + Bu(t)
ˆy(t) = C ˆx(t),
(3.18)
donde ˆy(t) es la salida que se obtiene de las variables de estado estimados. Si inyectamos
al sistema (3.18) una se˜nal de correcci´on L(y(t) − C ˆx), donde L es una matriz de ganancia
7
que depende en forma instant´anea de las variables de estado
30 Dise˜no de Controladores y Simulaci´on
constante, de forma tal que si no hay error no debemos corregir nada, pero si hay error,
una elecci´on apropiada de L puede hacer que el error de estimaci´on tienda asint´oticamente
a cero. La Figura 3.13 muestra el observador que explicamos, donde las ecuaciones vienen
dadas por
˙ˆx(t) = A ˆx(t) + Bu(t) + L(y(t) − C ˆx(t))
= (A − LC) ˆx(t) + Bu(t) + Ly(t).
(3.19)
Definamos ˜x(t) = x(t) − ˆx(t) como el error de estimaci´on. Si calculamos ˙˜x(t) y reem-
plazamos (3.10) y (3.19) vemos que ˙˜x(t) = (A − LC) ˜x(t), donde los autovalores de (A − LC)
son los que gobiernan la din´amica del error de estimaci´on. Si pudi´eramos elegir L tal que
(A − LC) tenga autovalores negativos, estar´ıamos afirmando que el error de estimaci´on
tiende asint´oticamente a cero.
i
i- -

-
6

SS

- -

6
-

SS
?
L
ˆx
˙x x
A
CB
B
u
˙ˆx
A − LC
y
Figura 3.13: Observador de estado completo
En la secci´on 3.2 vimos el concepto de controlabilidad, c´omo testear si un sistema es
controlable y para qu´e sirve. Ahora para ver qu´e condiciones debe cumplir el sistema para
que exista la matriz L, tal que el estado estimado ˆx(t) tienda asint´oticamente al estado real
x(t) , debemos definir el observabilidad. El concepto de observabilidad tiene que ver con
la posibilidad de estimar el vector de estado del sistema a partir del conocimiento de la
salida.
La ecuaci´on de estado (3.10) es observable si para cualquier estado inicial x(0)
(desconocido), existe un tiempo finito t1 tal que el conocimiento de la entrada u y
la salida y sobre el intervalo [0, t1] es suficiente para determinar en forma ´unica
el estado inicial x(0). En caso contrario el sistema se dice no observable.
El siguiente teorema define bajo qu´e condiciones existir´a L (demostraci´on ver [2]).
Teorema 3 (Asignaci´on de Autovalores en Observadores). Dado el par (A, C), todos los
autovalores de (A − LC) pueden asignarse arbitrariamente seleccionando una matriz L si
y solo si (A, C) es observable.
Para analizar la observabilidad de un sistema basta ver que la matriz de observabilidad
O
O =







C
CA
CA2
...
CAn−1







,
3.2 Control por Realimentaci´on de Estado 31
es de rango n (es decir rango O = n).
Para analizar la observabilidad de nuestro sistema, calculamos
O =




C
CA
CA2
CA3



 =, donde rango O = 4,
por lo que nuestro p´endulo invertido es un sistema observable.
Para elegir d´onde ponemos los autovalores de A − LC, tomamos los autovalores que
resultan del control LQR a lazo cerrado pero los ponemos 1.2 veces m´as r´apidos y luego
utilizamos el comando de MATLAB L=place(A’,C’,P).
El valor de L obtenido es
L =




0.5335 0.1312
0.0177 0.3533
7.6284 4.3791
0.2567 1.4825



 (3.20)
3.2.5 Simulaci´on
En esta secci´on describiremos las simulaciones realizadas utilizando el programa SIMU-
LINK. Implementamos al sistema utilizando las ecuaciones no lineales (2.17) en diagrama
de bloques y agregamos las alinealidades y limitaciones descriptas en el Cap´ıtulo 1 para
que se aproxime en mejor forma al sistema real.
En primer lugar simulamos el sistema suponiendo que las variables de estado est´an
al alcance de ser medidos, utilizando el control por realimentaci´on de estado (3.14). Lue-
go comparamos el desempe˜no realimentando las variables de estado estimados con los
observados. Una vez que decidimos cual es el mejor m´etodo, realizamos pruebas de se-
guimiento a referencias y robustez.
El periodo de muestreo utilizado en todas las simulaciones es T = 0.01 y tomamos
como condiciones iniciales θ(0) = 0.05, ˙θ(0) = 0, ψ(0) = 0 y ˙ψ(0) = 0.
Realimentaci´on de Estado
En la Figura 3.14, mostramos la implementaci´on en diagrama de bloques de SIMULINK
utilizado, y la Figura 3.15 los resultados obtenidos de la simulaci´on, suponiendo que las
cuatro variables de estado son medidos.
Comparaci´on de Desempe˜no Estimador-Observador
En la Figura 3.16, podemos ver la implementaci´on en diagrama de bloques del sistema, el
control en realimentaci´on de estado, los estimadores de las velocidades y las limitaciones
debidas al actuador y a los sensores. Y en la Figura 3.17 la misma idea pero implementan-
do el observador calculado en (3.20), para ello utilizamos un bloque variable de estado
representando la ecuaci´on (3.19).
En la Figura 3.18 mostramos los resultados que obtuvimos por simulaci´on de la Figura
3.16 y 3.17. Cada uno de los gr´aficos muestra una salida, ψ(t) a la derecha y θ(t) a la
izquierda, en su versi´on estimada y observada para comparar desempe˜no.
Para comparar los resultados obtenidos, y dado que en nuestra simulaci´on podemos
”medir” las velocidades angulares, calculamos la sumatoria de los errores absolutos de
˙θ y ˙ψ dando para el observador 21.71 y 4.1 respectivamente y para el estimador 79.48
y 57.34, respectivamente. Vemos as´ı, como era de esperar, que el observador obtiene
mejores resultados que el estimador y esto se debe a que el observador utiliza mucha
32 Dise˜no de Controladores y Simulaci´on
psi
Tita
Saturacion
de la actuacion
u
tita
Fi
titap
Fip
Pendulo no lineal
24
KTita
.3
KPsi
2.4
K TitaP
3.8
K Psip
Dsicretizacion Tita
Discretizacion Psi
Discretizacion
de la Actuacion
In1 Out1
Alinealidades3
Actuación
Figura 3.14: Diagrama de bloques de la realimentaci´on de estado
0 2 4 6 8 10 12 14 16 18 20
−0.04
−0.02
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
Tiempo [seg]
Posición[rad]
0 2 4 6 8 10 12 14 16 18 20
−0.02
−0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
Tiempo [seg]
Posición[rad]
Figura 3.15: Resultados obtenidos, a la derecha θ y a la izquierda ψ
psi
Tita
Saturacion
de la actuacion
u
tita
Fi
Pendulo no lineal
24
KTita
.3
KPsi
3.8
K TitaP
2.4
K Psip
In1Out1
Estmador velocidad base
In1Out1
Estmador velocidad Pendulo
Dsicretizacion Tita
Discretizacion Psi
Discretizacion
de la Actuacion
In1 Out1
Alinealidades
Actuación
Figura 3.16: Realimentaci´on de estado con estimador
3.2 Control por Realimentaci´on de Estado 33
psi
Tita
Saturacion
de la actuacion
u
tita
Fi
Pendulo no lineal
24
KTita
.3
KPsi
3.8
K TitaP
2.4
K Psip
In1Out1
Estmador velocidad base
In1Out1
Estmador velocidad Pendulo
Dsicretizacion Tita
Discretizacion Psi
Discretizacion
de la Actuacion
In1 Out1
Alinealidades
Actuación
Figura 3.17: Realimentaci´on de estado con observador
0 2 4 6 8 10 12 14 16 18 20
−0.1
−0.05
0
0.05
0.1
0.15
Tiempo [seg]
Posición[rad]
Posición del Brazo con Observador
Posición del Brazo con Estimador
0 2 4 6 8 10 12 14 16 18 20
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
Tiempo [seg]
Posición[rad]
Posición del péndulo con Observador
Posición del péndulo con Estimador
Figura 3.18: Comparaci´on de los resultados de la simulaci´on
34 Dise˜no de Controladores y Simulaci´on
m´as informaci´on del sistema para estimar las variables de estado. Para terminar de
confirmar esto, veamos en la Figura 3.19, ambas acciones de control. Para tener una idea
de la potencia consumida por el motor calculamos la sumatoria del valor absoluto de la
actuaci´on en el intervalo simulado, dando 577 para el caso del observador y de 1678 para
el estimador.
0 2 4 6 8 10 12 14 16 18 20
−15
−10
−5
0
5
10
15
Tiempo [seg]
Tensión[Volts]
Actuación con observador
Actuación con estimador
Figura 3.19: Comparaci´on de la se˜nal de actuaci´on
Seguimiento a Referencias
Uno de los objetivos b´asicos en el control es el de seguimiento de la salida a se˜nales de re-
ferencias. En nuestro caso esta referencia es sobre la posici´on del ´angulo del brazo. Para
la simulaci´on, utilizamos el sistema a lazo cerrado, estimando las velocidades angulares
con el observador calculado en 3.2.3. En la Figura 3.20 comparamos los resultados obte-
nidos cuando ponemos una referencia constante re f = 6 rad y tomamos la ganancia (3.16),
utilizando realimentaci´on de estado con ganancia de precompensaci´on 8por un lado, y el
esquema de acci´on integral que mostramos en 3.2.2 por el otro.
Como dij´eramos en 3.2.2, el esquema de acci´on integral es robusto frente a pertur-
baciones constantes. En la Figura 3.21 mostramos c´omo se comporta un lazo con y sin
acci´on integral, donde perturbamos (corrimos el cero) al ´angulo del p´endulo θ con 0.2 rad.
8
El sistema tiene una ganancia est´atica no nula, lo que implica que en el r´egimen permanente tender´a a
este valor. Si ubicamos una ganancia delante del lazo cerrado con la inversa de la ganancia est´atica, en el
r´egimen permanente tender´a al valor de referencia.
3.2 Control por Realimentaci´on de Estado 35
0 5 10 15 20 25
−1
0
1
2
3
4
5
6
7
Tiempo [seg]
Posición[rad]
Ganancia de precompensación
Accion Integral
Referencia
Figura 3.20: Comparaci´on entre ganancia de precompensaci´on y acci´on integral
0 5 10 15 20 25
−20
−15
−10
−5
0
5
10
Tiempo [seg]
Posición[rad]
Ganancia de precompensación
Acción Integral
Referencia
Figura 3.21: Comparaci´on entre ganancia de precompensaci´on y acci´on integral, pertur-
bando a θ
36 Dise˜no de Controladores y Simulaci´on
Cap´ıtulo 4
Ensayos de Controladores sobre el Sistema Real
Una vez que en las simulaciones obtuvimos controladores que nos proveen el desempe˜no
deseado, implementamos dichos controladores en el sistema real, para comprobar que
los desempe˜nos obtenidos en la simulaci´on concuerdan con los resultados reales. En
este cap´ıtulo mostraremos la implementaci´on de dichos controladores en SIMULINK y los
resultados que obtuvimos al realizar los mismos ensayos con el sistema real.
4.1 Implementaci´on del Control en Cascada
En esta secci´on mostraremos los resultados que obtuvimos al implementar el lazo de
control en cascada con los controles K1(S) y K2(s) calculados en la secci´on 3.1. La Figura
4.1 muestra la implementaci´on en diagrama de bloques de SIMULINK, en donde utilizamos
en lugar de una constante para K1(s) implementamos un control proporciona-integral, PI
[7], para que el sistema no tenga error en el r´egimen permanente.
Referencia
Actuacion
Radianes
Ángulo Péndulo
Radianes
Ángulo Base
Zero−Order
Hold1
Zero−Order
Hold
Selector Manual
Posición Pendulo
Posición Base
Actuación
Motor
numcas(z)
dencas(z)
K2
In1 Out1
K1
0
Constante
0
Figura 4.1: Diagrama de bloques de la implementaci´on del control en cascada
La Figura 4.2 muestra los resultados obtenidos de la implementaci´on. Para ello cuando
comenzamos el ensayo, mantuvimos el p´endulo en posici´on vertical ya que este control no
puede levantarlo desde su reposo (≈ 0.2rad) y tomamos referencia nula.
En la Figura 4.3 mostramos los resultados que obtuvimos para ψ(t), cuando tomamos
como referencia la se˜nal que se muestra en la figura. Como podemos ver, el sobrevalor de
la salida es considerado, esto podr´ıa mejorarse redise˜nando el control K2(s), haci´endolo
m´as lento (eligiendo polos para ¯Alc2 m´as peque˜nos). Por otro lado podr´ıamos tambi´en
modificar el tiempo de establecimiento, eligiendo K1(s) mayor, ya que cuanto mayor sea
dicha ganancia, m´as cerca del eje jω estar´an los polos a lazo cerrado, ver Figura 3.6.
38 Ensayos de Controladores sobre el Sistema Real
0 5 10 15 20 25 30 35 40
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
0.25
Tiempo [seg]
Posición[rad]
0 5 10 15 20 25 30 35 40
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
0.08
0.1
Tiempo [seg]
Poscición[rad]
Figura 4.2: Resultados obtenidos de la implementaci´on del control en cascada, a la iz-
quierda ψ(t) y a la derecha θ(t)
0 20 40 60 80 100 120 140 160 180
−2
−1
0
1
2
3
4
Tiempo [seg]
Posición[rad]
Posición del brazo
Referencia
Figura 4.3: Resultados obtenidos de la implementaci´on del control en cascada, para ana-
lizar seguimiento
4.2 Implementaci´on del Control en Realimentaci´on de Estados 39
4.2 Implementaci´on del Control en Realimentaci´on de Estados
En esta secci´on describiremos el desempe˜no obtenido de implementar el control por reali-
mentaci´on de estados en el sistema real utilizando el estimador de estados y el observados,
que calculamos en la secci´on 3.2. En las Figura 4.4 y 4.5 podemos ver el diagrama de
bloques SIMULINK de dicha implementaci´on.
Radianes
Ángulo Péndulo
Radianes
Ángulo Base
Zero−Order
Hold1
Zero−Order
Hold Step
Selector Manual
Referencia
ProductPosición Pendulo
Posición Base
0
N
Actuación
Motor
3.8
K TitaPunto
24
K Tita
2.4
K Psi Punto
.3
K Psi
In1 Out1
Estmador velocidad base1
In1 Out1
Estmador velocidad base
0
Constante
Actuación
Figura 4.4: Diagrama de bloques de la implementaci´on del control por realimentaci´on de
estados y el estimador
Radianes
Ángulo Péndulo
Radianes
Ángulo Base
Zero−Order
Hold1
Zero−Order
Hold
Step
Selector Manual
Referencia
Product
Posición Pendulo
Posición Base
U
Tita
Psi
Tita P
Psi P
Observador
0
N
Actuación
Motor
3.8
K TitaPunto
24
K Tita
2.4
K Psi Punto
.3
K Psi
0
Constante
Actuacion
Figura 4.5: Diagrama de bloques de la implementaci´on del control por realimentaci´on de
estados y el observador
La Figura 4.6, muestra la comparaci´on entre los resultados obtenidos de la imple-
mentaci´on del estimador de las velocidades angulares y el observador. Para obtener este
desempe˜no utilizamos las mismas ganancias, de K y L calculadas para la simulaci´on.
Como esper´abamos, el desempe˜no con el observador es mejor que el del estimador.
En la Figura 4.7 comparamos las actuaciones con uno y otro m´etodo de estimaci´on de
las variables de estado que no podemos medir. Dado que podemos guardar los valores,
calculamos nuevamente la suma absoluta de los valores muestreados de la actuaci´on,
para tener una idea de la potencia consumida por el motor, y obtuvimos para el caso del
40 Ensayos de Controladores sobre el Sistema Real
20 22 24 26 28 30 32 34 36 38 40
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Tiempo [seg]
Posición[rad]
Posición del Brazo con Observador
Posición del Brazo con Estimador
20 22 24 26 28 30 32 34 36 38 40
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
Tiempo [seg]
Posición[rad]
Posición del Péndulo con Observador
Posición del Péndulo con Estimador
Figura 4.6: ´Angulo medido en el sistema real, a la derecha θ y a la izquierda ψ
observador 1764 y para el estimador 3334. SI bien los valores no son los mismos que en
la simulaci´on, la relaci´on entre ambos es bastante parecida.
20 22 24 26 28 30 32 34 36 38 40
−6
−4
−2
0
2
4
6
Tiempo [seg]
Posición[rad]
Actuación con Observador
Actuación con Estimador
Figura 4.7: Comparaci´on de actuaciones
4.3 Implementaci´on de la Acci´on Integral
En esta secci´on analizaremos c´omo se comporta el sistema con realimentaci´on de estados,
calculada en (3.16), observador de las velocidades angulares, calculada en (3.20) y acci´on
integral. En la Figura 4.8, mostramos la respuesta del sistema cuando la referencia es
una onda cuadrada de amplitud π/2 rad y de frecuencia 60 seg. Los picos que realiza ψ en
los primero 15 seg es debido a que el brazo tuvo que levantar el p´endulo desde su reposo,
0.2 rad. El ´angulo θ no lo graficamos porque el objetivo es mostrar el seguimiento. El
4.3 Implementaci´on de la Acci´on Integral 41
gr´afico de la izquierda representa a la implementaci´on del esquema de acci´on integral y el
de la izquierda es la salida obtenida del lazo cerrado con ganancia de precompensaci´on.
0 20 40 60 80 100 120 140 160 180 200
−0.5
0
0.5
1
1.5
2
Tiempo [seg]
Posición[rad]
Referencia
Posición del Brazo
0 20 40 60 80 100 120 140 160 180 200
−1
−0.5
0
0.5
1
1.5
2
2.5
3
3.5
Tiempo [seg]
Posición[rad]
Posición del Brazo
Referencia
Figura 4.8: Seguimiento a una se˜nal de referencia onda cuadrada
Dado que los resultados obtenidos con la ganancia de precompensaci´on son bastante
malos, Figura derecha de 4.8, modificamos las ganancias para obtener un mejor desem-
pe˜no. Tomando
K = −32.04 −2.50 5.06− −2.5
obtuvimos los resultados de la Figura 4.9
0 20 40 60 80 100 120 140 160 180 200
−0.5
0
0.5
1
1.5
2
Tiempo [seg]
Posición[rad]
Posición del Brazo
Referencia
Figura 4.9: Seguimiento una se˜nal de referencia onda cuadrada con ganancia de precom-
pensaci´on
42 Ensayos de Controladores sobre el Sistema Real
Cap´ıtulo 5
An´alisis del efecto de las cuantizaciones y de
las perturbaciones del motor
Con el fin de realizar el proyecto con un bajo presupuesto, para la construcci´on del
p´endulo utilizamos mayormente componentes que se encontraban en el stock del Labora-
torio de Electr´onica de la Universidad. Como vimos en el Capitulo 1 dichos componentes
imponen ciertas restricciones f´ısicas en el desempe˜no del lazo cerrado, que hicieron que
nuestros objetivos de control no sean muy estrictos en cuanto al desempe˜no. En este
Capitulo estudiaremos como afectan dichas restricciones al sistema y las posibles mejo-
ras. Para comprobar si dichas mejoras son justificables en cuanto al desempe˜no posterior
del sistema, analizamos el comportamiento del sistema a lazo cerrado a trav´es de si-
mulaciones, bas´andonos en el hecho de que el sistema simulado se comporta en forma
aproximada al real.
5.1 Disminuci´on en la cuantificaci´on del Actuador y de los Sensores
La primera mejora que se nos ocurre es aumentar la resoluci´on de los conversores digital-
anal´ogico (para la actuaci´on), y anal´ogico-digital (para el sensor del p´endulo). La reso-
luci´on actual del conversor-digital anal´ogico es de ocho bits obteniendo una variaci´on
m´ınima de tensi´on de 0.05859 V, aumentaremos dicha resoluci´on con un conversor de do-
ce bits (0.0036 V). El mismo aumento de resoluci´on utilizamos para el sensor de posici´on
del p´endulo, pasando de 0.0024 rad a 0.0012 rad. En cuanto al sensor de posici´on del bra-
zo, no podremos aumentar la la resoluci´on en forma categ´orica, debido a la velocidad del
contador de pulsos implementado en la PC comenzar´ıa a perder pulsos. Una soluci´on es
implementar dicho contador a trav´es de un circuito integrado dedicado y luego leer dicho
valor en la PC a trav´es de un conversor digital-anal´ogico. Para la simulaci´on supusimos
que podr´ıamos aumentar la resoluci´on del sensor a 0.0003rad.
En la Figura 5.1 podemos ver el resultado de la simulaci´on, donde comparamos el
sistema mismo bajo las mismas condiciones que en 3.2.5, con el sistema agregando las
mejoras mencionadas.
Como pudimos ver en la Figura 5.1, el aumento en la resoluci´on de los conversores
no representa una mejora en el desempe˜no del sistema. Pero como vimos en 1.2.1 s´ı
es mejor aumentar la resoluci´on del conversor digital-anal´ogico ya que podemos de esa
forma aumentar la tensi´on de alimentaci´on al motor, de esa forma aumentar su reacci´on.
5.2 Mejoras f´ısicas del motor
Otra de las cosas que se podr´ıan mejorar tienen que ver con el motor. Como vimos en
3.1.3 existen dos tipos de perturbaciones ocasionadas por el motor fricci´on est´atica y
44 An´alisis del efecto de las cuantizaciones y de las perturbaciones del motor
0 5 10 15 20 25
−0.08
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
0.08
0.1
0.12
Tiempo [seg]
Posición[rad]
Con mejoras
Sin mejoras
0 5 10 15 20 25
−0.04
−0.03
−0.02
−0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
Tiempo [seg]
Posición[rad]
Con mejoras
Sin mejoras
Figura 5.1: Comparaci´on entre el sistema con y sin ampliaci´on en la resoluci´on del actua-
dor y de los sensores, derecha ψ(t) y a la izquierda θ(t)
juego en el eje. Veamos que sucede si disminuimos el roce est´atico en 20 veces, Figura
5.2. Esta disminuci´on se puede lograr, por ejemplo, utilizando un motor con rodamientos
a rulemanes.
0 5 10 15 20 25
−0.08
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
0.08
0.1
0.12
Tiempo [seg]
Posición[rad]
Con mejoras
Sin mejoras
0 5 10 15 20 25
−0.04
−0.03
−0.02
−0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
Tiempo [seg]
Posición[rad]
Con mejoras
Sin mejoras
Figura 5.2: Comparaci´on entre el sistema con fricci´on est´atica y reduci´endola 20 veces,
derecha ψ(t) y a la izquierda θ(t)
Veamos ahora que sucede si adem´as disminuimos el juego del eje, Figura 5.3. Esta
disminuci´on se puede lograr, por ejemplo, utilizando una reducci´on con correas dentadas
en lugar de engranajes.
Concluimos, a partir de los ensayos realizados, que para obtener un mejor desempe˜no
hay que centrarse en la disminuci´on las perturbaciones originadas por el motor.
5.2 Mejoras f´ısicas del motor 45
0 5 10 15 20 25
−0.08
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
0.08
0.1
0.12
Tiempo [seg]
Posición[rad]
Con mejoras
Sin mejoras
0 5 10 15 20 25
−0.04
−0.03
−0.02
−0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
Tiempo [seg]
Posición[rad]
Con mejoras
Sin mejoras
Figura 5.3: Comparaci´on entre el sistema , derecha ψ(t) y a la izquierda θ(t)
46 An´alisis del efecto de las cuantizaciones y de las perturbaciones del motor
Cap´ıtulo 6
Conclusiones
En este informe describimos la construcci´on y el posterior control a trav´es de una PC del
p´endulo invertido rotatorio. La elecci´on de utilizar un software en tiempo real fue una
gran ventaja, dado que pudimos desarrollar controladores, observadores y estimadores
en forma sencilla. Adem´as nos permiti´o almacenar los datos obtenidos del sistema para
an´alisis y ajuste de los par´ametros del modelo matem´atico.
El modelo matem´atico que obtuvimos, y el m´etodo de ajuste de los par´ametros en forma
iterativa, mostr´o ser fiel al sistema real. Esto resulta una ventaja cuando los controladores
que dise˜namos est´an basados en dicho modelo.
Las t´ecnicas de control que desarrollamos son t´ecnicas lineales. Aunque utilizamos
un sistema no lineal, mostramos que es posible desarrollar t´ecnicas simples aunque el
modelo es complejo. Todas las t´ecnicas coinciden en la especificaci´on de dise˜no que
planteamos: estabilizaci´on asint´otica del ´angulo del p´endulo y seguimiento a referencias
constantes del ´angulo de giro del brazo.
El dise˜no del control en cascada fue sencillo ya que supone que el sistema es de una
entrada y una salida y de esta forma permite utilizar cualquier t´ecnica de control que
utilice la representaci´on entrada salida. La implementaci´on fue inmediata dado que solo
necesitamos medir las variables que tenemos disponibles. Si bien el desempe˜no obtenido
a lazo cerrado fue bueno, la estabilidad resulta muy sensible a perturbaciones.
El dise˜no de control por realimentaci´on de estado, siguiendo el criterio de optimizaci´on
LQR, no lo calculamos anal´ıticamente por su complejidad. Para ello utilizamos el software
de control MATLAB, donde la ventaja es que los ´unicos par´ametros que ajustamos fueron
las ponderaci´on de cada una de las variables de estado y de la se˜nal de control. Para im-
plementar el control por realimentaci´on de estados fue necesario desarrollar t´ecnicas que
aproximen las variables de estado que no podemos medir. En nuestro caso propusimos
dos: estimador de derivadas y observador lineal de estado. Si bien el primero es simple de
implementar, el desempe˜no alcanzado por el segundo mejor, dado que la amplitud de las
oscilaciones que produce es menor. El ´unico inconveniente de este control, es que para
que siga referencias constantes es necesario agregar una ganancia de precompensaci´on,
que para resulta sensible frente a perturbaciones.
Por ´ultimo, al sistema con realimentaci´on de estado, le agregamos acci´on integral para
lograr seguimiento de referencias constantes. Con este esquema, logramos no solo que
siga referencias constantes sino tambi´en hicimos m´as robusto el lazo cerrado del sistema.
Una pregunta que nos planteamos cuando finalizamos los ensayos, fue si era posible
mejorar los desempe˜nos obtenidos con los controladores dise˜nados modificando aquellos
componentes f´ısicos, sensores y actuador,que nos imponen limitaciones. La conclusi´on
que obtuvimos por simulaci´on es que para mejorar el desempe˜no, hay que centrarse en
disminuir el roce est´atico y el juego en el eje del motor.
48 Conclusiones
Ap´endice A
Descripci´on detallada de los componentes del
Sistema
A.1 Controlador
A.1.1 Especificaciones de la PC
A.1.2 Placa de Adquisisci´on de Datos
En la Tabla A.1, podemos ver las distintas direcciones de la placa. La direcci´on de memo-
DIR h Lectura Escritura
xx0 Entrada Salida Digital
xx1 DAC1 Salidas
xx2 DAC2 Anal´ogicas
xx8 Datos Start 0
xx9 EOC Start 1
xxA Start 2
xxB Start 3 Entradas
xxC Start 4 Anal´ogica
xxD Start 5
xxE Start 6
xxF Start 7
Tabla A.1: Direcciones de memoria
ria base se elige a trav´es de tres jumpers ubicados en la placa. La direcci´on por defecto es
la 300h.
Driver
La forma de programar estos drivers en el SIMULINK es a trav´es de un bloque denominado
S-Function.
S-Function Permiten agregar algoritmos propios a bloques de SIMULINK. Se pueden es-
cribir en MATLAB o en C. Las S-function las incorporamos mediante un bloque llamado
S-function. En nuestro caso programamos cuatro S-functions distintas:
• lectura de entradas anal´ogicas,
• escritura de entradas anal´ogicas,
50 Descripci´on detallada de los componentes del Sistema
• lectura de entradas digitales, y
• escritura de entradas digitales.
Las cuatro fueron programadas en C.
A.2 Actuador
Existen principalmente tres problemas a la hora de controlar un motor de corriente con-
tinua.
1. Se˜nal de actuaci´on de baja potencia. La se˜nal de actuaci´on entregada por la PC es de
5V y en el orden de los mA., mientras que la tensi´on nominal de trabajo del motor es
de 24V y la corriente que consume es de 2A.
2. Sentido de giro. Para cambiar el sentido de giro de un motor de corriente continua es
necesario invertir la tensi´on que lo alimenta.
3. Consumo de energ´ıa. Para variar la velocidad de un motor de corriente continua exis-
ten varios m´etodos. El m´as com ´un de ellos es variar la tensi´on de alimentaci´on del
mismo, obteniendo una variaci´on proporcional en el n ´umero de revoluciones. Uno
de los problemas es la disipaci´on de potencia de los amplificadores utilizados para
alimentar el motor, ya que si queremos alimentar al motor con la mitad de tensi´on
de alimentaci´on nominal, la mitad de la potencia entregada por la fuente de alimen-
taci´on se disipa en el amplificador. Este m´etodo es muy utilizado si necesitamos que
el motor se encuentre en las proximidades de su velocidad nominal.
Los dos primeros problemas los solucionamos a trav´es de un Puente H, Figura A.1.
Este puente esta compuesto por cuatro transistores MosFet, dos de canal N y dos de
canal P que los haremos trabajar en corte o saturaci´on, es decir, conducen o no conducen.
Cuando queremos que el motor gire hacia un lado hacemos conducir a los transistores
MOS1 y MOS3, en este caso el potencial positivo se encuentra en el borne 1 del motor,
si queremos que gire en sentido contrario, hacemos conducir los transistores MOS2 y
MOS4, en este caso el potencial positivo se encuentra en el borne 2 del motor, es decir,
invertimos la tensi´on aplicada. Para lograr que los transistores conduzcan o no en el
momento indicado, se le agrega una etapa de l´ogica que evita que transistores del mismo
lado de la H conduzcan al mismo tiempo, ya que eso provocar´ıa que ambos se quemen
debido a que no tienen una resistencia que limite la corriente que circula a trav´es de ellos.
El m´etodo que utilizamos para solucionar el problema 3, es el de modulaci´on de ancho
de pulso (PWM), en el cual se alimenta al motor con una se˜nal cuadrada de una frecuencia
determinada y amplitud igual a la tensi´on nominal del motor, a la cual se le modifica el
tiempo activo, obteniendo una media de tensi´on proporcional a ese tiempo. Al ser la
frecuencia de la onda mucho mayor al tiempo de respuesta del motor, ´este ve en sus
bornes la tensi´on media resultante. La diferencia que existe con el primer m´etodo es que
en este caso, siempre se le aplica la tensi´on nominal al motor.
El circuito PWM que implementamos, Figura A.2, tiene como entrada una se˜nal anal´ogica
de 0 - 5V, la variaci´on del tiempo activo de la se˜nal PWM se realiza a trav´es de dicha en-
trada. La frecuencia de PWM que utilizamos es 250Hz.
A.2 Actuador 51
5V 5V
5V
15V15V
15V 15V
15V
Motor
5V
On/Off
Direccion
Logica de Control
820Ω
820Ω
820Ω
820Ω
10KΩ
820Ω
10KΩ
820Ω
10KΩ
10KΩ
820Ω
1 2MOS1
MOS3 MOS4
MOS2
Figura A.1: Puente H
−12V
−12V
1
2
3
4
7
8
74HC14
5V
PWM
12V
47nF
ne555
5V
12V 12V
1
2
6
7
48
+
−
+
−
50KΩ
Vin
10KΩ
1MΩ 1MΩ
47KΩ
1KΩ
50KΩ
820Ω
Figura A.2: Circuito de implementaci´on del PWM
52 Descripci´on detallada de los componentes del Sistema
A.3 Sensores
A.3.1 Encoder Incremental
El encoder incremental consta de dos diodos emisores de luz cada uno enfrentado con un
fotodiodo, entre los cuales se ubica un disco con n ranuras que gira solidaria a un eje,
como podemos ver en la Figura A.3 ,
s1
s2
tiempo
Emisor
A
B
Receptor
Placa ranurada
Figura A.3: Diagrama de un encoder incremental
Cuando una ranura se encuentra entre el diodo emisor de luz y el fotodiodo, el fotodio-
do sensa la luz emitida, no as´ı cuando entre ambos se encuentra la placa. A medida que
el disco gira, obtenemos en los fotodiodos dos se˜nales como las que vemos en la Figura
A.4.
s1
s2 s2
s1
t t
Sentido de giro
Figura A.4: Se˜nales en los fotodiodos
El defasaje de 90 grados de las se˜nales es debido a la ubicaci´on de los sensores. Este
defasaje es ´util para detectar el sentido de giro del eje, si prestamos atenci´on a la Figura
A.4, podemos ver que dependiendo del sentido de giro una se˜nal adelanta a la otra. To-
mamos a una se˜nal s1 para contar los pulsos, en cada flanco ascendente de s1 contamos
un pulso, ahora tenemos que saber si lo sumamos o lo restamos, dependiendo el sentido
de giro. Esa informaci´on la obtenemos de la se˜nal s2. Si s2 esta en alto, la sumamos, si
esta en bajo la restamos.
Una de las ventajas de este tipo de sensor de ´angulo, es que el rango de medici´on es
ilimitado, mientras que la mayor desventaja es que los pulsos entregados por el encoder
son de alta frecuencia, por lo tanto es posible que al contarlos se pierdan pulsos.
A.3 Sensores 53
En nuestro caso este sensor se encuentra solidario al eje del motor y la placa ranurada
cuenta con 20 ranuras, lo que representa una precisi´on de 360o
40 , ya que contamos los
pulsos de ambas se˜nales. Debido a que el motor posee una reducci´on 1:130, al dar el
motor una vuelta el eje exterior da 1
130 vueltas. Por lo tanto aumentamos la precisi´on a
2π
40∗130 = 0.0012 rad/pulso.
La l´ogica para contar los pulsos fue realizada en el SIMULINK, en la Figura A.5 podemos
ver dicha implementaci´on.
1
Radianes
In1
In2
Out1
SubSystem1
In1
In2
Out1
SubSystem
2*pi/5150
Conversion de
pulsos a Radianes
2
S2
1
S1
1
Out1
NOT
Logical
Operator
Trigger
2
In2
1
In1
Figura A.5: Diagrama de bloques SIMULINK de la Implementaci´on del Contador de Pulsos
A.3.2 Sensor Magn´etico
El sensor magn´etico consta de un puente de Wheatstone como el de la figura A.6, el cual al
variar el valor de una de las resistencias se desbalancea provocando una ca´ıda de tensi´on
Vout.
Vcc
Vout
RR
R R
Figura A.6: Sensor Magneto-Resistivo
En nuestro caso, colocamos un im´an solidario al p´endulo, Figura A.7, al moverse el
p´endulo var´ıa el campo magn´etico sobre el sensor. La se˜nal entregada por el sensor
es del orden de los ±50 µV, por lo tanto fue necesario acondicionar la se˜nal para que
se encuentre en el rango de 0V a 5V requeridos por la placa de adquisici´on de datos.
Podemos ver el circuito de implementaci´on en la Figura A.8.
Debido al im´an que colocamos, este sensor solo trabaja en un rango de ´angulo de-
terminado, ±60o. Como solamente utilizaremos el rango ±18o, ajustamos la se˜nal para
que los 0-5V correspondan a una variaci´on de ±18o, as´ı obtenemos mayor precisi´on en la
conversi´on.
54 Descripci´on detallada de los componentes del Sistema
Sensor Magnetico
Pendulo
±60o
Iman
Eje
Brazo
Figura A.7: Montaje del sensor magn´etico sobre el p´endulo
Amplificador Diferencial
Ajuste del Offset
12V 12V
12V
−12V
−12V
−12V
12V −12V
Ajuste de la Ganancia
+
−
+
−
+
−
47nF
22KΩ
22KΩ
220KΩ
Vo Sensor Magnetico
1MΩ
47nF
820KΩ
10KΩ
47nF
25KΩ
4, 7KΩ
Vo : 0 − 5V
Figura A.8: Acondicionador de se˜nal
Bibliograf´ıa
[1] John S. Bay. Linear Space Systems. McGraw-Hill, 1999.
[2] C-T Chen. Linear System Theory and Design. Oxford University Press, 1999.
[3] Graham C. Goodwin, Stefan F. Graebe, and Mario E. Salgado. Control System Design.
Prentice Hall International, 2001.
[4] Bruce A. Francis John C. Doyle and Allen R. Tannenbaun. Feedback Control Theory.
Maxwell Macmillan International Editions, 1992.
[5] H. Khalil. Nonlinear Systems. Prentice Hall, 1996.
[6] Lennart Ljung. System Identification: Theoty for the User. Prentice-Hall, 1987.
[7] Katsiuko Ogata. Control Moderno. Pentice Hall, 1998.
[8] Mar´ıa M. Seron, Julio H. Braslavsky, and Graham C. Goodwin. Fundamental Limita-
tions in Filtering and Control. Springer, 1997.
[9] Real Time Windows Target. User’s Guide Version 1. The Math Works Inc., 1998.
Pendulo invertido rotante

Más contenido relacionado

Similar a Pendulo invertido rotante

Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...
Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...
Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...Edwin Rosario Gabriel
 
Pfc prototipo electrónico para la valoración de amplificadores operacionales
Pfc prototipo electrónico para la valoración de amplificadores operacionalesPfc prototipo electrónico para la valoración de amplificadores operacionales
Pfc prototipo electrónico para la valoración de amplificadores operacionalesguofee
 
Pfc prototipo electrónico para la valoración de amplificadores operacionales
Pfc prototipo electrónico para la valoración de amplificadores operacionalesPfc prototipo electrónico para la valoración de amplificadores operacionales
Pfc prototipo electrónico para la valoración de amplificadores operacionalesguofee
 
PLC: Automatización industrial por Roberto Sanchis Llopis, Julio Ariel Romero...
PLC: Automatización industrial por Roberto Sanchis Llopis, Julio Ariel Romero...PLC: Automatización industrial por Roberto Sanchis Llopis, Julio Ariel Romero...
PLC: Automatización industrial por Roberto Sanchis Llopis, Julio Ariel Romero...SANTIAGO PABLO ALBERTO
 
Unity v41 manual de referencia
Unity v41   manual de referenciaUnity v41   manual de referencia
Unity v41 manual de referenciaJosé Bernabé
 
Apuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialApuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialMarco Sains
 
Apuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialApuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialJudith Torres Pessaressi
 
Tea diseño de robot apodos
Tea diseño de robot apodosTea diseño de robot apodos
Tea diseño de robot apodosalesraul
 
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIALSISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIALÍcaro Álvarez Giménez
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...Instituto Tecnológico de Tuxtla Gutiérrez
 
Termómetros y controladores de temperatura
Termómetros y controladores de temperaturaTermómetros y controladores de temperatura
Termómetros y controladores de temperaturaAlejandro Cruz
 
Robotica 299011
Robotica 299011Robotica 299011
Robotica 299011conchaes
 
Fundamentos de Programacion.pdf
Fundamentos de Programacion.pdfFundamentos de Programacion.pdf
Fundamentos de Programacion.pdfJorge Serran
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...Instituto Tecnológico de Tuxtla Gutiérrez
 

Similar a Pendulo invertido rotante (20)

Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...
Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...
Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...
 
Automatizacion_industrial.pdf
Automatizacion_industrial.pdfAutomatizacion_industrial.pdf
Automatizacion_industrial.pdf
 
Pfc prototipo electrónico para la valoración de amplificadores operacionales
Pfc prototipo electrónico para la valoración de amplificadores operacionalesPfc prototipo electrónico para la valoración de amplificadores operacionales
Pfc prototipo electrónico para la valoración de amplificadores operacionales
 
Pfc prototipo electrónico para la valoración de amplificadores operacionales
Pfc prototipo electrónico para la valoración de amplificadores operacionalesPfc prototipo electrónico para la valoración de amplificadores operacionales
Pfc prototipo electrónico para la valoración de amplificadores operacionales
 
PLC: Automatización industrial por Roberto Sanchis Llopis, Julio Ariel Romero...
PLC: Automatización industrial por Roberto Sanchis Llopis, Julio Ariel Romero...PLC: Automatización industrial por Roberto Sanchis Llopis, Julio Ariel Romero...
PLC: Automatización industrial por Roberto Sanchis Llopis, Julio Ariel Romero...
 
Unity v41 manual de referencia
Unity v41   manual de referenciaUnity v41   manual de referencia
Unity v41 manual de referencia
 
Apuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialApuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrial
 
Apuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialApuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrial
 
Tea diseño de robot apodos
Tea diseño de robot apodosTea diseño de robot apodos
Tea diseño de robot apodos
 
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIALSISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
 
5 (1)
5 (1)5 (1)
5 (1)
 
Smartec134 cld
Smartec134 cldSmartec134 cld
Smartec134 cld
 
tesis de Garbarino
tesis de Garbarinotesis de Garbarino
tesis de Garbarino
 
Tfm javier eduardo_carrillo_plaza
Tfm javier eduardo_carrillo_plazaTfm javier eduardo_carrillo_plaza
Tfm javier eduardo_carrillo_plaza
 
Termómetros y controladores de temperatura
Termómetros y controladores de temperaturaTermómetros y controladores de temperatura
Termómetros y controladores de temperatura
 
Robotica 299011
Robotica 299011Robotica 299011
Robotica 299011
 
Guia_Analisis_Exp.pdf
Guia_Analisis_Exp.pdfGuia_Analisis_Exp.pdf
Guia_Analisis_Exp.pdf
 
Fundamentos de Programacion.pdf
Fundamentos de Programacion.pdfFundamentos de Programacion.pdf
Fundamentos de Programacion.pdf
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
 

Más de PEDROTC3

Rubrica para evaluar un alimentación sana
Rubrica para evaluar un alimentación sana Rubrica para evaluar un alimentación sana
Rubrica para evaluar un alimentación sana PEDROTC3
 
Flujos de potencia
Flujos de potenciaFlujos de potencia
Flujos de potenciaPEDROTC3
 
Ejercicios de resistencia equivalente
Ejercicios de resistencia equivalenteEjercicios de resistencia equivalente
Ejercicios de resistencia equivalentePEDROTC3
 
Circuitos electricos i
Circuitos electricos iCircuitos electricos i
Circuitos electricos iPEDROTC3
 
Tareas evaluativas
Tareas evaluativasTareas evaluativas
Tareas evaluativasPEDROTC3
 
Modelado y control de un sistem bola viga con levitacion magnetica
Modelado y control de un sistem bola viga con levitacion magneticaModelado y control de un sistem bola viga con levitacion magnetica
Modelado y control de un sistem bola viga con levitacion magneticaPEDROTC3
 
Sim powersystems
Sim powersystemsSim powersystems
Sim powersystemsPEDROTC3
 

Más de PEDROTC3 (7)

Rubrica para evaluar un alimentación sana
Rubrica para evaluar un alimentación sana Rubrica para evaluar un alimentación sana
Rubrica para evaluar un alimentación sana
 
Flujos de potencia
Flujos de potenciaFlujos de potencia
Flujos de potencia
 
Ejercicios de resistencia equivalente
Ejercicios de resistencia equivalenteEjercicios de resistencia equivalente
Ejercicios de resistencia equivalente
 
Circuitos electricos i
Circuitos electricos iCircuitos electricos i
Circuitos electricos i
 
Tareas evaluativas
Tareas evaluativasTareas evaluativas
Tareas evaluativas
 
Modelado y control de un sistem bola viga con levitacion magnetica
Modelado y control de un sistem bola viga con levitacion magneticaModelado y control de un sistem bola viga con levitacion magnetica
Modelado y control de un sistem bola viga con levitacion magnetica
 
Sim powersystems
Sim powersystemsSim powersystems
Sim powersystems
 

Último

Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 

Último (20)

Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 

Pendulo invertido rotante

  • 1. Construcci´on y Dise˜no de Controladores de un P´endulo Invertido Rotante Sebasti´an Mallo Virginia Mazzone Director: Ing. Roberto Saco P´endulo Invertido Rotante Proyecto Fin de Carrera Ing. Automatizaci´on y Control Industrial Departamento de Ciencia y Tecnolog´ıa Universidad Nacional de Quilmes 11 de febrero de 2003
  • 2. Este informe describe el proyecto de fin de carrera Construcci´on y Dise˜no de Controladores de un P´endulo Invertido Rotante, realizado por Sebasti´an Mallo y Virginia Mazzone, para la carrera Ingenier´ıa en Automatizaci´on y Control Industrial dependiente del Departamento de Ciencia y Tecnolog´ıa de la Universidad Nacional de Quilmes. Este proyecto fue realizado bajo la supervisi´on del profesor Ing. Roberto Saco. El informe fue tipeado en LATEX y pdfLATEX usando la clase book con los paquetes ba- bel(spanish) y hyperref. La familia de fuentes utilizada es bookman para texto, y mathpple para matem´atica. Florencio Varela, 11 de febrero de 2003.
  • 3. Resumen Este informe sintetiza la construcci´on de un p´endulo invertido rotante y su posterior con- trol a trav´es de una PC. Utilizamos como actuador un motor de corriente continua y sensamos los ´angulos del brazo rotatorio y del p´endulo con un encoder incremental y un sensor magn´etico respectivamente. Construido el sistema lo modelizamos matem´aticamente, utilizamos como herramienta las ecuaciones de Euler-Lagrange. Una vez obtenido el modelo, e identificado, procedimos al dise˜no de diversos controladores: control en cascada y control por realimentaci´on de estados. Para verificar el desempe˜no de los controladores dise˜nados, simulamos el modelo no lineal obtenido en SIMULINK junto con los controles. Para poder implementar el control por realimentaci´on de estado, fue necesario dise˜nar un observador para estimar aquellas variables de estado que no podemos medir. Una vez dise˜nado el observador, obtuvimos el desempe˜no deseado, salvo al pretender que el brazo siga referencias constantes. Por otro lado, la implementaci´on del control en cas- cada fue inmediata ya que solo necesitamos las mediciones que tenemos. Para concluir, dise˜namos una variante robusta del control en realimentaci´on de estado, acci´on integral, adem´as solucionamos el problema de seguimiento de referencias, la implementamos sa- tisfactoriamente, obteniendo as´ı el mejor desempe˜no. La implementaci´on la realizamos utilizando una placa de adquisici´on de datos junto con el software MATLAB, SIMULINK, Real Time Workshop y Real Time Windows Target, que nos permitieron el control en tiempo real.
  • 4. iv
  • 5. ´Indice General Resumen iii Introducci´on vii 0.1 Formulaci´on del Problema y Objetivos . . . . . . . . . . . . . . . . . . . . . . . vii 0.2 Contenido del Informe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii 1 Descripci´on del Sistema 1 1.1 Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 Programa de Simulaci´on y Control . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 Adquisici´on de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Actuador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1 Limitaciones debidas al Actuador (Motor) . . . . . . . . . . . . . . . . . . 4 1.3 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3.1 Limitaciones debidas a Sensores . . . . . . . . . . . . . . . . . . . . . . . 5 2 Modelizaci´on Matem´atica del Sistema 7 2.1 Ecuaciones de movimiento del p´endulo invertido . . . . . . . . . . . . . . . . . 7 2.1.1 Ecuaciones de Euler-Lagrange . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Modelo Matem´atico de un Motor de CC . . . . . . . . . . . . . . . . . . . . . . . 10 2.3 Representaci´on en Modelo de Estado . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Linealizaci´on del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.5 Representaci´on Entrada-Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.6 Simplificaci´on del Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.7 Ajuste de los Par´ametros en forma Aproximada . . . . . . . . . . . . . . . . . . 14 3 Dise˜no de Controladores y Simulaci´on 17 3.1 Control en Cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.1 Dise˜no de K2(s) por Asignaci´on de Polos . . . . . . . . . . . . . . . . . . 18 3.1.2 Dise˜no de K1(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.1.3 Simulaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2 Control por Realimentaci´on de Estado . . . . . . . . . . . . . . . . . . . . . . . 26 3.2.1 Dise˜no de la Matriz K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2.2 Seguimiento Robusto: Acci´on Integral . . . . . . . . . . . . . . . . . . . 27 3.2.3 Estimadores de las variables de Estado no Medidos . . . . . . . . . . . 29 3.2.4 Observador de las variables de Estado . . . . . . . . . . . . . . . . . . . 29 3.2.5 Simulaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4 Ensayos de Controladores sobre el Sistema Real 37 4.1 Implementaci´on del Control en Cascada . . . . . . . . . . . . . . . . . . . . . . 37 4.2 Implementaci´on del Control en Realimentaci´on de Estados . . . . . . . . . . . 39 4.3 Implementaci´on de la Acci´on Integral . . . . . . . . . . . . . . . . . . . . . . . . 40
  • 6. vi ´Indice General 5 An´alisis del efecto de las cuantizaciones y de las perturbaciones del motor 43 5.1 Disminuci´on en la cuantificaci´on del Actuador y de los Sensores . . . . . . . . 43 5.2 Mejoras f´ısicas del motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6 Conclusiones 47 A Descripci´on detallada de los componentes del Sistema 49 A.1 Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 A.1.1 Especificaciones de la PC . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 A.1.2 Placa de Adquisisci´on de Datos . . . . . . . . . . . . . . . . . . . . . . . 49 A.2 Actuador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 A.3 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 A.3.1 Encoder Incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 A.3.2 Sensor Magn´etico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Bibliograf´ıa 55
  • 7. Introducci´on El objetivo de este trabajo es la aplicaci´on de los conocimientos adquiridos a lo largo de la carrera, donde nos centramos en el dise˜no de controladores. Para ello elegimos como sistema un p´endulo invertido rotante. Muchas Universidades del mundo poseen un p´endulo invertido para demostrar resultados de control. La raz´on por la cual este problema es interesante desde el punto de vista de control es por que ilustra muchas de las dificultades asociadas con problemas de control del mundo real. 0.1 Formulaci´on del Problema y Objetivos El p´endulo invertido rotante consiste en un brazo giratorio horizontal, el cual posee en su extremo una barra vertical la cual gira libremente alrededor de un eje paralelo al brazo, como podemos apreciar en la Figura 1. m, g I, l r z x a θ y ψ Figura 1: Diagrama del p´endulo invertido rotante Dado que nuestra Universidad no cuenta con un P´endulo Invertido Rotante, por su alto costo, nos propusimos como objetivo del trabajo, la construcci´on del mismo. Mientras que la especificaci´on de dise˜no de los controladores que nos propusimos, es mantener la barra, de ahora en m´as p´endulo, en forma vertical mediante la aplicaci´on de una fuerza en el brazo. Este proceso se ve intuitivamente a trav´es del ejemplo de tratar de mantener una escoba en forma vertical con una mano. Una especificaci´on secundaria es controlar el brazo en una posici´on determinada. Estos objetivos fueron alcanzados implementando los controladores por medio de una PC. El proceso de dise˜no de un sistema de control requiere de los siguientes pasos, seg ´un [4]: 1. Estudiar el sistema a controlar y decidir qu´e tipo de sensores y actuadores utilizar y d´onde ubicarlos. 2. Modelar el sistema resultante a controlar.
  • 8. viii Introducci´on 3. Simplificar el modelo si es necesario para hacerlo m´as f´acil. 4. Analizar el modelo resultante, determinar sus par´ametros. 5. Decidir las especificaciones de desempe˜no. 6. Decidir el tipo de control a utilizar. 7. Dise˜nar un controlador que alcance las especificaciones, si es posible, si no, modifi- car las especificaciones. 8. Repetir desde 1 si es necesario. 9. Elegir hardware y software e implementar el controlador. 10. Ajustar el controlador on-line si es necesario. 0.2 Contenido del Informe Este informe consta de cinco cap´ıtulos y un ap´endice. En el Cap´ıtulo 1 describimos cada uno de los componentes del sistema a controlar, de los sensores y del controlador. En el Cap´ıtulo 2 modelizamos matem´aticamente el sistema, utilizando las ecuaciones de Euler-Lagrange, linealizamos alrededor del punto donde queremos controlar al sistema y a partir de ciertas consideraciones, obtuvimos un modelo simplificado del mismo. En el Cap´ıtulo 3 dise˜namos los controladores: control en cascada y realimentaci´on de estados a partir del modelo lineal simplificado, realizando simulaciones para analizar su desempe˜no teniendo en cuenta las alinealidades del sistema. En el Cap´ıtulo 4 implementamos dichos controladores en el sistema real, verificando los resultados obtenidos por simulaci´on. En el Cap´ıtulo 5 analizamos el efecto de las cuantizaciones y de las perturbaciones utilizando simulaciones. En el Capitulo 6 mostramos las conclusiones generales del trabajo. En el Ap´endice A detallamos los componentes descriptos en el Cap´ıtulo 1. Por ´ultimo, queremos agregar que este proyecto es una contribuci´on al laboratorio de la carrera para que otros alumnos puedan seguir profundizando conocimientos y aplicarlos en un sistema real. En realidad este fue nuestro primer objetivo y estamos orgullos de haber podido devolver de alguna manera todo lo que recibimos durante estos a˜nos.
  • 9. Cap´ıtulo 1 Descripci´on del Sistema En la introducci´on describimos el sistema sin entrar en detalle de la fuente de movimiento ni que mediciones debemos realizar para lograr las especificaciones de control propues- tas. El sistema de movimiento del brazo es b´asicamente un motor de corriente continua, mientras que intuitivamente de las especificaciones planteadas podemos deducir que es necesario medir el ´angulo del p´endulo y del brazo, en 3.2 demostraremos que esta condi- ci´on es necesaria y suficiente. En la etapa de dise˜no es de gran utilidad contar con programas que nos permita simu- lar de forma sencilla sistemas din´amicos en una PC. Estos programas nos proporcionan un ambiente flexible de trabajo a la hora del dise˜no y an´alisis del funcionamiento de dis- tintos controladores o bien del comportamiento del sistema a lazo abierto. Lo interesante de esto ser´ıa poder contar con ese ambiente pero no solo para ser utilizado en simulacio- nes y luego programar el controlador en un microprocesador o un PLC que interactuar´an con el sistema real. Cualquier modificaci´on que queramos realizar sobre el controlador implica tener que grabar nuevamente el programa en la memoria del microprocesador o PLC, y en una etapa de dise˜no en la cual se realizan muchas modificaciones esto resulta engorroso. Por dicha raz´on, nuestra idea fue implementar el control a trav´es de una PC. En la Figura 1.1 podemos ver un diagrama de los componentes del sistema y del flujo de se˜nales, que sintetiza lo mencionado anteriormente. Actuador Sensores- Sistema fisico Controlador Figura 1.1: Diagrama del lazo de control El bloque Sensores representa los sistemas de medici´on utilizados, el bloque Actuador representa el sistema de movimiento del brazo y el bloque Controlador la implementaci´on del controlador. En este capitulo detallaremos cada uno de los bloques que forman parte del sistema.
  • 10. 2 Descripci´on del Sistema 1.1 Controlador La implementaci´on del controlador la realizamos a trav´es de una PC, la cual cuenta con una placa adquisidora de datos, que es nuestro nexo entre la PC y el sistema real. El conjunto de programas que utilizamos para el manejo de la placa adquisidora y para la simulaci´on e implementaci´on de los controladores en la PC son el Real Time Workshop, Real Time Windows Target [9], MATLAB y SIMULINK. En el diagrama en bloques de la Figura 1.2 se sintetiza la implementaci´on del controlador. Placa de Adquisicion de Datos Sensores Actuador Programa de Simulacion y Control Driver -- 6 ? 6 ? CONTROLADOR Figura 1.2: Diagrama de bloques del Controlador 1.1.1 Programa de Simulaci´on y Control El programa utilizado para las simulaciones y la implementaci´on del control es el SIMU- LINK. SIMULINK es un paquete de programas para modelado, simulaci´on y an´alisis de sistemas din´amicos. Soporta sistemas lineales y no lineales, modelados en tiempo con- tinuo, discreto o un h´ıbrido de ambos. Las simulaciones son interactivas, es decir, se pueden cambiar par´ametros on-line e inmediatamente ver qu´e est´a sucediendo. Para el an´alisis de los sistemas se pueden utilizar las herramientas de an´alisis de MATLAB R . Pa- ra la implementaci´on de los controladores se utilizaron tambi´en los programas Real Time Workshop y Real Time Windows Target, los cuales nos permiten la ejecuci´on en tiempo real. • Real Time Workshop. Es un generador de c´odigo en lenguaje C a partir de diagramas en bloques de SIMULINK. Adem´as construye programas capaces de ser ejecutados en tiempo real en una gran variedad de entornos, incluyendo dispositivos como micro- controladores, placas dedicadas o DSP. • Real Time Windows Target. Es un programa que permite ejecutar programas, com- pilados en lenguaje C a trav´es del Real Time Workshop, en una PC bajo sistema operativo Windows en tiempo real. 1.1.2 Adquisici´on de datos Placa de Adquisici´on de Datos La placa adquisidora que utilizamos es una Interfaz M´ultiple para PC de Electroqu´ımica Delta S.R.L. para Slot ISA de PC. Si bien es una placa
  • 11. 1.2 Actuador 3 de bajo costo, cuenta con los requisitos que demanda nuestro proyecto, veamos algunas de sus principales caracter´ısticas: • 8 entradas digitales. • 8 salidas digitales. • 8 entradas anal´ogicas de 0V a 5V ´o 0V a 5.12V con una resoluci´on de 8 bits. • 2 salidas anal´ogicas de 0 a 5V ´o 0V a 5.12V con una resoluci´on de 8 bits. Driver La forma en la que interact ´ua esta placa con los distintos programas es a trav´es de registros o direcciones de memoria de la PC. Las distintas funciones de la placa se efect ´uan por medio de operaciones de lectura y escritura en dichas direcciones. Las secuencias de lectura y escritura sobre estas direcciones de memoria se realizan a trav´es de un programa denominado driver. 1.2 Actuador A continuaci´on citamos algunas de las caracter´ısticas principales del motor de corriente continua que, como mencionamos anteriormente, es qui´en proveer´a el movimiento del brazo: • Sin escobillas. • Tensi´on nominal de alimentaci´on: 24V. • Consumo de corriente: 2A. • Reducci´on: a engranajes, 1:130. En la Figura 1.3, mostramos el diagrama de bloques del Actuador. Bloque PC - -- H Puente On/OffPWM Generador Dir M Figura 1.3: Diagrama de bloques del Bloque motor El Generador de PWM, es el encargado de generar una se˜nal cuadrada, con tiempo activo proporcional a una se˜nal de 0 a 5V proveniente de la placa de adquisici´on de datos. Mientras la se˜nal de direcci´on proviene de una salida digital. El Puente H es la etapa de potencia e inversor de marcha que alimenta al motor.
  • 12. 4 Descripci´on del Sistema 1.2.1 Limitaciones debidas al Actuador (Motor) Los actuadores son origen de limitaciones de desempe˜no en control. En particular, consi- deraremos • restricciones en actuaci´on m´ınima, y • restricciones en actuaci´on m´axima. Estas restricciones pueden ser tanto en amplitud, como en velocidad. Restricciones de Actuaci´on M´ınima Una limitaci´on frecuente es la imposibilidad de efectuar actuaciones arbitrariamente pe- que˜nas. Un caso t´ıpico es el de un controlador que act ´ua mediante un dispositivo cuan- tizado. En nuestro caso la actuaci´on la realizamos a trav´es de una salida anal´ogica de la placa adquisidora que, como podemos ver en A.1, entrega una tensi´on de 0-5V a trav´es de un conversor digital/anal´ogico de 8 bits. Por lo tanto tendremos solo 256 niveles distintos de actuaci´on. Cuando la actuaci´on est´a cuantizada, el m´ınimo error est´atico de seguimiento estar´a limitado por el umbral de cuantizaci´on del actuador en general no podr´a conseguirse error nulo en r´egimen permanente. Otro caso en que existen limitaciones de actuaci´on m´ınima se origina en la existencia de elementos mec´anicos con fricci´on est´atica (el actuador ”se pega”). Restricciones de Actuaci´on M´axima En la pr´actica, todos los actuadores tienen l´ımites m´aximos de actuaci´on, que pueden alcanzarse si la se˜nal de control experimenta picos elevados o cambios bruscos en la referencia, y as´ı, el actuador satura. El limitador saturaci´on se define, Figura 1.4, por u(t) = sat( ˆu(t))) =    umax si ˆu(t) umax, ˆu(t) si umin ≤ ˆu(t) ≤ umax, umin si ˆu(t) umin. u(t) ˆu(t) umax umax umin umin Figura 1.4: Saturaci´on La se˜nal m´axima de actuaci´on umax es 15V y la m´ınima umin es −15V, si bien la tensi´on nominal del motor es 24V. Elegimos este valor de tensi´on ya que en las simulaciones previas el valor de tensi´on en el r´egimen permanente rondaba los ±2V. Si utilizamos como tensi´on m´axima los 24V, debido a la discretizaci´on de la placa de adquisici´on de datos, la m´ınima actuaci´on es de 24 255 = 0.0941. Es decir, en el rango ±2V tendremos 42 niveles de actuaci´on distintas, en cambio, si tomamos como actuaci´on m´axima 15V aumenta a 68. Con este razonamiento, una pregunta ser´ıa por qu´e no bajar m´as la tensi´on. El problema se presenta cuando, a menor tensi´on, el motor se mueve con menos velocidad, no teniendo la suficiente reacci´on.
  • 13. 1.3 Sensores 5 1.3 Sensores Como vimos anteriormente, las variables del sistema que debemos medir son el ´angulo del brazo y el ´angulo del p´endulo. En cada uno de los casos utilizamos m´etodos de medici´on diferentes, por lo tanto veamos a cada uno en forma separada. La descripci´on detallada de los sensores la encontramos en A.3. Medici´on del ´Angulo del Brazo En este caso utilizamos un encoder incremental. Una de las ventajas de este tipo de sensor de ´angulo, es que el rango de medici´on es ilimitado. Mientras que la mayor desventaja es que los pulsos entregados por el encoder son de alta frecuencia, por lo tanto es posible que al contarlos se pierdan pulsos. La l´ogica encargada de contar los pulsos fue implementada en la PC, utilizando dos entradas digitales de la placa adquisidora para leer los pulsos del encoder. Medici´on del ´Angulo del P´endulo El sensor que utilizamos es un sensor magn´etico, estos sensores usan la propiedad por la cual un material magn´etico cambia su resistencia en presencia de un campo magn´etico. 1.3.1 Limitaciones debidas a Sensores Los sensores son una parte crucial de cualquier dise˜no en un sistema de control, dado que proveen la informaci´on necesaria a partir de la cual se genera la acci´on de control. Podemos pensar que son los ”ojos” del controlador, por lo que cualquier defecto signifi- cativo, o error en la medici´on tendr´a un impacto significativo en el desempe˜no global del sistema. Los principales dificultades asociadas a los sensores tienen origen en • ruido, inherente a la medici´on, y • cuantificaci´on, inherente a la discretizaci´on, Figura 1.5. Angulo medido Angulo real Figura 1.5: Cuantificaci´on El ruido por lo general es de alta frecuencia por lo que antes de realizar la medici´on filtramos la se˜nal con un filtro pasabajos. El problema de la cuantificaci´on lo podemos ver en el encoder. Como podemos ver en A.3, cada pulso entregado por el encoder representa un movimiento de 0.0012 radianes, lo que hace imposible medir una variaci´on de ´angulo menor a ese valor.
  • 14. 6 Descripci´on del Sistema El sensor del p´endulo, nos entrega una tensi´on de 0-5V correspondiente a una varia- ci´on de ´angulo de ±18o (ver A.3). Al ser el conversor de la placa adquisidora de 8 bits, este sensa solamente 256 niveles de tensi´on distintos. Por lo que la m´ınima variaci´on de ´angulo que sensar´a ser´a 18o 256 , en radianes 0.0024.
  • 15. Cap´ıtulo 2 Modelizaci´on Matem´atica del Sistema La modelizaci´on es el primer paso en el dise˜no de un lazo de control. Cuanto mayor es el conocimiento del proceso, mejores son los resultados que obtendremos, ya que el dise˜no del control ser´a basado en el modelo. Para conocer la din´amica del sistema, podemos deducir su comportamiento a partir de las leyes f´ısicas que lo rigen, como el´ectricas, mec´anicas, t´ermicas, etc. o podemos utilizar t´ecnicas de identificaci´on de sistemas, que tiene que ver con el problema de construir el modelo matem´atico de sistemas din´amicos a partir de la observaci´on de entradas y salidas del sistema [6]. En este cap´ıtulo detallaremos la obtenci´on del modelo matem´atico del p´endulo in- vertido rotatorio a partir de las leyes f´ısicas que lo gobiernan. Para obtener el modelo matem´atico utilizamos las ecuaciones de Euler-Lagrange, que proporcionan dos ecuacio- nes diferenciales ordinarias de segundo orden no lineales, las que escribimos como cuatro funciones diferenciales de primer orden no lineales (ecuaciones de estado). Dado que el modelo obtenido es no lineal, linealizamos el sistema alrededor del puntos de operaci´on (equilibrio del sistema) que propusimos como especificaciones en el Capitulo 0.1: estabili- zar el p´endulo en forma vertical y controlar el ´angulo del brazo. 2.1 Ecuaciones de movimiento del p´endulo invertido Una de las formas m´as eficientes de encontrar las ecuaciones de movimiento de un siste- ma rob´otico es aplicando las ecuaciones de Euler-Lagrange. En primer lugar calculamos el Lagrangiano, que es la energ´ıa cin´etica menos la energ´ıa potencial del sistema. Para ello utilizaremos el diagrama simplificado de la Figura 2.1 . Las ecuaciones que des- criben el movimiento las encontramos calculando algunas derivadas del Lagrangiano e igual´andolas a la fuerza aplicada (fricci´on y torque del motor). 2.1.1 Ecuaciones de Euler-Lagrange Para escribir las ecuaciones de Euler-Lagrange, necesitaremos calcular derivadas parcia- les del Lagrangiano, donde definimos el Lagrangiano L como L(q(t), ˙q(t)) = Ecin Energ´ıa cin´etica − Epot Energia potencial , (2.1) con q(t) = θ(t) ψ(t) y ˙q(t) = ˙θ(t) ˙ψ(t) (2.2) Las ecuaciones de Euler-Lagrange en notaci´on vectorial est´an definidas como d dt ∂L ∂ ˙q − ∂L ∂q = f , (2.3)
  • 16. 8 Modelizaci´on Matem´atica del Sistema donde f es cualquier momento aplicado al sistema, por ejemplo el torque de un motor o fricci´on. La ecuaci´on (2.3) es simplemente una forma diferente del Principio de D’Alambert o de las ecuaciones de movimiento de Newton. Calculamos ahora la energ´ıa cin´etica y potencial para calcular el Lagrangiano y luego derivarlo En la Figura 2.1 podemos ver un esquema simple del p´endulo y las variables. m, g x z ψ θ y l r,I θ: ´angulo entre el p´endulo y la vertical ψ: ´angulo de giro del brazo m: masa del p´endulo l: longitud del p´endulo I: inercia del brazo r: radio de giro del brazo g: gravedad Figura 2.1: Esquema del p´endulo invertido rotatorio Energ´ıa potencial del p´endulo invertido La energ´ıa potencial es almacenada en el p´endulo invertido y depende de la elevaci´on del centro de masa m, suponiendo que el brazo del p´endulo no tiene masa. Por lo que resulta Epot = mgl cosθ. (2.4) Energ´ıa cin´etica del p´endulo invertido Para calcular la energ´ıa cin´etica consideramos los dos cuerpos como si estuvieran aisla- dos. Calculamos la energ´ıa cin´etica de cada uno de ellos y tomamos como energ´ıa cin´etica total la resultante entre ambas. • Brazo giratorio: La energ´ıa cin´etica del brazo giratorio es Ecin1 = 1 2 I ˙ψ2 . (2.5) siendo ˙ψ la velocidad angular del brazo. • Centro de masa del p´endulo: Para calcular la energ´ıa cin´etica total absoluta del centro de masa del p´endulo, debemos considerar ambos movimientos, en direcci´on vertical y horizontal. A la componente horizontal de la velocidad del centro de masa contribuye la rotaci´on del brazo, es decir vm,h = r ˙ψ + l ˙θ cosθ, con ˙θ la velocidad angular del p´endulo. La componente vertical de la velocidad es vm,v = l ˙θ sinθ.
  • 17. 2.1 Ecuaciones de movimiento del p´endulo invertido 9 Resultando as´ı el valor absoluto de la velocidad la suma del cuadrado de ambos componentes v2 = v2 m,h + v2 m,v = l2 ˙θ2 + r2 ˙ψ2 + 2rl cosθ ˙θ ˙ψ, de donde la energ´ıa cin´etica total del p´endulo resulta Ecin2 = 1 2 mv2 = 1 2 ml2 ˙θ2 + 1 2 r2 m ˙ψ2 + rlm ˙θ ˙ψ cosθ. (2.6) Reemplazando en la ecuaci´on del Lagrangiano, ecuaci´on (2.1), la energ´ıa potencial (2.4) y la energ´ıa cin´etica total (suma de (2.5) y (2.6)), obtenemos L(q(t), ˙q(t)) = 1 2 [I ˙ψ2 + ml ˙θ2 + r2 m ˙ψ2 + 2rlm ˙θ ˙ψ cosθ] − mgl cosθ, que podemos escribir en forma matricial como L(q(t), ˙q(t)) = 1 2 ˙θ ˙ψ ml2 mrl cosθ mrl cosθ I + mr2 ˙θ ˙ψ − mgl cosθ = 1 2 ˙qT M(q) ˙q − Epot, donde la matriz M(q) se llama matriz de masa generalizada y ˙q y q vienen dadas por (2.2). Si derivamos el Lagrangiano respecto de ˙q, y luego respecto de q, tenemos que ∂L ∂ ˙q = M(q) ˙q (dado que la matriz M es sim´etrica) y ∂L ∂q = 1 2 ˙qT ∂M(q) ∂q ˙q − ∂Epot ∂q . Si ahora derivamos la derivada del Lagrangiano respecto de t, utilizando la regla del pro- ducto, obtenemos d dt ∂L ∂ ˙q = M(q) ¨q + d dt (M(q) ˙q. Notemos que d dt (M(q)) ˙q ≡ ˙qT ∂M(q) ∂q ˙q. Escribamos la ecuaci´on de Euler-Lagrange (2.3) con los resultados obtenidos M(q) ¨q 1 + 1 2 ˙qT ∂M(q) ∂q ˙q 2 + ∂Epot ∂q 3 = f 4 , (2.7) donde cada uno de los t´erminos de la ecuaci´on anterior representa 1. t´ermino referido a la inercia de la masa 2. t´ermino de cori´olisis 3. t´ermino gravitacional 4. fuerzas o momentos externos aplicados
  • 18. 10 Modelizaci´on Matem´atica del Sistema Despejando la derivada de mayor orden, en este caso ¨q, de (2.7) tenemos ¨q =M−1 (q) − 1 2 ˙qT ∂M(q) ∂q ˙q − ∂Epot ∂q + f =M−1 (q) − 1 2 d dt M(q) ˙q − ∂Epot ∂q + f (2.8) Notemos que det M = 0, por lo que la matriz M es invertible. Escribimos la ecuaci´on (2.8) reemplazando a M, a q y ˙q por la matriz y los vectores correspondientes, quedando as´ı ¨θ ˙ψ = ml2 mrl cosθ −mrl cosθ I + mr2 −1 − 1 2 0 −mrl sinθ ˙θ −mrl sinθ ˙θ 0 ˙θ ˙ψ − −mgl sinθ 0 + fθ fψ (2.9) donde fθ es la fuerza de rozamiento del p´endulo y fψ = τ es el torque aportado por el motor, la entrada del sistema. Dado que no vamos a controlar el p´endulo con el torque del motor sino con la tensi´on, necesitamos una ecuaci´on que nos relacione el torque τ con la tensi´on del motor, u. Para ello calculamos el modelo matem´atico del motor de corriente continua. 2.2 Modelo Matem´atico de un Motor de CC Para calcular el modelo matem´atico del motor de corriente continua, planteamos las ecua- ciones f´ısicas del sistema. Para ello recurrimos a un diagrama del circuito el´ectrico del armadura y al diagrama de cuerpo libre del rotor como mostramos en la Figura 2.2, donde V + − R L − + ψ b ˙ψ e = K ˙ψ τ J: momento de inercia del rotor b: factor de amortiguamiento K: constante de la fuerza electromotriz R: resistencia el´ectrica L: inductancia el´ectrica ψ: posici´on del eje del motor Figura 2.2: Diagrama de bloques de un motor de CC El torque del motor, τ, est´a relacionado linealmente con la corriente de armadura, i, por un factor Kτ . La fuerza contra electromotriz (fcem), e, depende de la velocidad de giro como muestran las ecuaciones (2.10) y (2.11). τ = Kτ i (2.10) e = Ke ˙ψ (2.11) En el sistema internacional de medidas (SI), la constante de armadura, Kτ y la cons- tante del motor Ke son iguales, por lo que Kτ = Ke = K. De la Figura 2.2, podemos escribir las ecuaciones basadas en las leyes de Newton, (2.12), y en las leyes de Kirchhoff, (2.13). J ¨ψ + b ˙ψ = Ki (2.12) L˙i + Ri = v − K ˙ψ (2.13)
  • 19. 2.3 Representaci´on en Modelo de Estado 11 Dado que J, b y L toman valores muy peque˜nos, podemos despreciarlos y as´ı obtenemos el modelo simple aproximado τ(t) = K R v(t) − K2 R ˙ψ(t). (2.14) 2.3 Representaci´on en Modelo de Estado Nos encontramos frente a un sistema que puede ser descripto por un n ´umero finito de ecuaciones diferenciales ordinarias, (2.9) y (2.14). En esta secci´on representaremos las ecuaciones en una forma compacta por la ecuaci´on diferencial vectorial de primer grado (ecuaciones de estado), que en sistemas continuos es de la forma ˙x = f (x, u), (2.15) donde x es el vector de variables de estado y u es el vector de entradas de control. Para escribir nuestro sistema como (2.15), elegimos como variables de estado a x1 = θ, x2 = ψ, x3 = ˙θ y x4 = ˙ψ, de donde (2.9) resulta     ˙θ ˙ψ ¨θ ¨ψ     =     1 0 0 0 0 1 0 0 0 0 ml2 mrl cosθ 0 0 mrl cosθ I + mr2     −1     1 2     0 0 0 0 0 0 0 0 0 0 0 −mrl ˙θ sinθ 0 0 −mrl ˙θ sinθ 0         θ ψ ˙θ ˙ψ     +     0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0         θ ψ ˙θ ˙ψ     −     0 0 −mgl sinθ 0     +     0 0 fθ fψ         (2.16) y si reemplazamos el torque del motor fψ por (2.14), con u = v y el rozamiento din´amico del p´endulo fθ = bs ˙θ, obtenemos el modelo de estado    ˙x1 = x3 ˙x2 = x4 ˙x3 = (I + mr2)(1 2 mrlx3x4 sin x1 + mgl sin x1 + bsx3) ml2(I + mr2 − mr2 cos2 x1) − r cos x1(1 2 mrlx2 3 sin x1 + K R u − K2 R x4) l(I + mr2 − mr2 cos2 x1) ˙x4 = 1 2 mrlx2 3 sin x1 + K R u − K2 R x4 I + mr2 − mr2 cos2 x1 − r cos x1(1 2 x3x4 sin x1 + mgl sin x1 + bsx3) l((I + mr2 − mr2 cos2 x1) (2.17) y ahora el sistema del p´endulo sobre un brazo giratorio est´a escrito de la forma (2.15), donde x ∈ R4 y u ∈ R. 2.4 Linealizaci´on del Sistema El modelo de estado que obtuvimos en (2.17) es no lineal, como la mayor´ıa de los sistemas f´ısicos. Bajo ciertas condiciones podemos aproximar el modelo (2.17) con un modelo de estado lineal incremental. La idea de utilizar un modelo lineal que es mucho m´as simple el an´alisis del sistema y el dise˜no de controladores. El proceso de obtenci´on de un modelo lineal a partir de uno no lineal se llama ”linea- lizaci´on” [2]. La linealizaci´on se realiza alrededor de un punto o trayectoria de operaci´on, definido por valores nominales, ˜x(t), ˜x0 y ˜u(t), que satisfacen la ecuaci´on (2.15), es decir ˙˜x(t) = f ( ˜x(t), ˜u(t)).
  • 20. 12 Modelizaci´on Matem´atica del Sistema Nos interesa el comportamiento de la ecuaci´on no lineal (2.15) para una entrada y estado inicial apenas perturbados de los valores nominales, es decir para u(t) = ˜u(t) + uδ(t) y x0 = ˜x0 + xδ0 con uδ(t) y xδ0 suficientemente peque˜nos para t ≥ t0. Si suponemos que la soluci´on permanece cercana a la nominal, en t´erminos de la ecuaci´on de estado no lineal, tenemos ˙˜x(t) + ˙xδ(t) = f ( ˜x(t) + xδ(t), ˜u(t) + uδ(t)) ˜x(t0) + xδ(t0) = ˜x0 + xδ0. Supongamos que f (x, u) es diferenciable, entonces podemos usar la serie de Taylor alrededor de ˜x y ˜u. Si nos quedamos solo con los t´erminos de primer orden para la componente i de f, resulta fi( ˜x + xδ, ˜u + uδ) ≈ fi( ˜x, ˜u) + ∂ fi ∂x1 ( ˜x, ˜u)xδ1 + · · · + ∂ fi ∂x4 ( ˜x, ˜u)xδ4 + ∂ fi ∂u ( ˜x, ˜u)uδ. Repitiendo para cada i = 1, . . . , 4 y volviendo a la notaci´on vectorial, obtenemos ˙˜x(t) + ˙xδ(t) ≈ f ( ˜x(t), ˜u(t)) + ∂ f ∂x ( ˜x(t), ˜u(t))xδ + ∂ f ∂u ( ˜x(t), ˜u(t))uδ, (2.18) donde la notaci´on ∂ f ∂x representa la Matriz Jacobiana, del campo vectorial f con respecto al vector x, ∂ f ∂x     ∂ f1 ∂x1 · · · ∂ f1 ∂x4 ... ... ... ∂ f4 ∂x1 · · · ∂ f4 ∂x4     Por lo que el modelo (2.18) se aproxima con una ecuaci´on de estado lineal de la forma ˙xδ(t) = A(t)xδ(t) + B(t)u(t), xδ(t0) = xδ0, donde A(t) = ∂ f ∂x ( ˜x(t), ˜u(t)), B(t) = ∂ f ∂u ( ˜x(t), ˜u(t)). (2.19) Notemos que el sistema lineal (2.19) resulta inestacionario cuando se trata de una trayectoria nominal, cuando se trata de un punto de operaci´on, el sistema lineal resulta estacionario, es decir A(t) = A y B(t) = B . La trayectoria de operaci´on que nos interesa en nuestro sistema es el punto de equi- librio del mismo. Un punto x = xeq en el espacio de estado es un punto de equilibrio de (2.15) con u(t) = 0, si tiene la propiedad de que cuando el estado inicial del sistema es xeq, el estado permanece en dicho punto en todo tiempo futuro [5]. Buscamos entonces xeq tal que ˙xeq = f (xeq, 0) = 0, as´ı    0 = x3 0 = x4 0 = (I + mr2)(1 2 mrlx3x4 sin x1 + mgl sin x1 + bsx3) ml2(I + mr2 − mr2 cos2 x1) − r cos x1(1 2 mrlx2 3 sin x1 + K R u − K2 R x4) l(I + mr2 − mr2 cos2 x1) 0 = 1 2 mrlx2 3 sin x1 + K R u − K2 R x4 I + mr2 − mr2 cos2 x1 − r cos x1(1 2 x3x4 sin x1 + mgl sin x1 + bsx3) l((I + mr2 − mr2 cos2 x1) y despejando, obtenemos que el punto de equilibrio resulta xeq = 0 x2 0 0 ∀ x2 ∈ R ueq = 0.
  • 21. 2.5 Representaci´on Entrada-Salida 13 Si ahora tomamos el punto de equilibrio xeq y linealizamos el sistema alrededor de dicho punto utilizando (2.19), obtenemos A = ∂ f ∂x x=xeq =      0 0 1 0 0 0 0 1 (I+mr2)g Il 0 (I+mr2)bs ml2 I rK2 lIR −rmg I 0 −rbs lI −K2 IR      B = ∂ f ∂u x=xeq =     0 0 − rK lIR K IR     Dado que las salidas del sistema son θ y ψ, definimos las matrices C = 1 0 0 0 0 1 0 0 y D = 0 0 0 0 , quedando de esta forma el sistema lineal totalmente definido como     ˙θ ˙ψ ¨θ ¨ψ     =      0 0 1 0 0 0 0 1 (I+mr2)g Il 0 (I+mr2)bs ml2 I rK2 lIR −rmg I 0 −rbs lI −K2 IR          θ ψ ˙θ ˙ψ     +     0 0 − rK lIR K IR     u y = 1 0 0 0 0 1 0 0     θ ψ ˙θ ˙ψ     . (2.20) 2.5 Representaci´on Entrada-Salida La representaci´on entrada-salida no es m´as ni menos que una forma de obtener la salida de un sistema cualquiera en funci´on de su entrada. Para ello sabemos que la salida del sistema puede calcularse como y(t) = t 0 g(t − τ)u(τ) dτ, donde g(t) es la respuesta al impulso: la salida del sistema a un impulso unitario en el instante τ. O, si ya tenemos el modelo en variables de estado, ˙x = Ax + Bu y = Cx + Du (2.21) aplicamos la transformada de Laplace a (2.21) y obtenemos sX(s) − x(0) = AX(s) + BU(s) Y(s) = CX(s) + DU(s). Si despejamos X(s) de la primer ecuaci´on y suponemos que las condiciones iniciales son nulas, x(0) = 0, y la reemplazamos en la segunda, obtenemos la matriz transferencia G(s) = C(sI − A)−1 B + D. (2.22) En nuestro sistema, dado que la matriz A es de cuarto orden, resulta complejo calcu- lar (sI − A)−1. Por eso utilizaremos una simplificaci´on del modelo lineal, bajo algunas condiciones sobre nuestras variables que detallaremos.
  • 22. 14 Modelizaci´on Matem´atica del Sistema 2.6 Simplificaci´on del Modelo Para obtener el modelo de estado simplificado partiremos de suponer que el sistema tiene rozamiento din´amico en el p´endulo despreciable, es decir bs ≈ 0. Adem´as, como sabemos la inercia, I, del brazo giratorio del p´endulo se puede escribir en funci´on de su masa como I = Mr2, donde r el radio de giro del brazo. Si ahora escribimos el t´ermino de la fila 3 y 4 de la columna 1 de la matriz A de la linealizaci´on (2.20) en funci´on de la masa del brazo, resulta a31 = (I + mr2)g Il = (M + m)g Ml y a41 = − rmg I = − mg Mr . (2.23) Si tenemos en cuenta que M m, entonces a31 = g l y a41 = mg Mr ≈ 0, por lo que el modelo (2.20) se reduce a     ˙θ ˙ψ ¨θ ¨ψ     =     0 0 1 0 0 0 0 1 g/l 0 0 rα/l 0 0 0 −α     ¯A     θ ψ ˙θ ˙ψ     +     0 0 −rβ/l β     ¯B u, con α = K2 Mr2R y β = K Mr2R . (2.24) Calculamos ahora la matriz transferencia (2.22) para el sistema (2.24). Para ello pri- mero calculamos (sI − ¯A)−1 =     s 0 −1 0 0 s 0 −1 −g/l 0 s −rα/l 0 0 0 s +α     −1 = 1 s(s +α)(s2 − g/l)     s2(s +α) 0 s(s +α) srα/l 0 (s +α)(s2 − g/l) 0 s2 − g/l s(s +α)g/l 0 s2(s +α) s2rα/l 0 0 0 s(s2 − g/l).     De donde Y(s) = Θ(s) Ψ(s) =     −s rβ/l (s +α)(s2 − g/l) β s(s +α)     U(s). (2.25) 2.7 Ajuste de los Par´ametros en forma Aproximada Dado que el dise˜no de los controladres ser´a basado en el modelo matem´atico del siste- ma, necesitamos conocer los valores num´ericos de los par´ametros. Mucho de ellos son variables que podemos medir o que conocemos, como • l = 0.3 [m] • r = 0.27 [m] • M = 0.5 [kg] • m = 0.05 [kg]
  • 23. 2.7 Ajuste de los Par´ametros en forma Aproximada 15 • g = 9.8 [m/seg2] Los par´ametros relacionados con el motor, R y K, no los conocemos. Motivo por el cual es- timaremos es forma aproximada utilizando un m´etodo iterativo, previamente verificamos su funcionamiento en simulaci´on. En esta secci´on describiremos los pasos que seguimos para ajustar los par´ametros del modelo. Bajo las consideraciones detalladas en 2.6 para obtener el modelo simplificado, vemos que el motor se comporta independientemente del p´endulo. Por lo que estimaremos los valores de α y β solo con el motor. Para ello procedimos de la siguiente manera: 1. Excitamos al sistema con un escal´on de amplitud 1.5 V a lazo abierto durante un segundo con un per´ıodo de muestreo de T = 1/1000 seg y guardamos los valores que obtuvimos en la salida ψ. 2. Obtenemos la funci´on transferencia que relaciona la entrada u con la salida ψ, de (2.24), en funci´on de α y β, dando como resultado Ψ(s) U(s) = β s(s +α) . (2.26) 3. Dimos valores a α y a β hasta lograr una salida que compar´andola con las muestras obtenidas tenga un error aceptable. 4. La Figura 2.3 muestra el resultado obtenido mediante simulaci´on del sistema (2.26), con α = 11.8 β = 9.8 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Tiempo Radianes Datos Simulados Datos Reales Figura 2.3: Comparaci´on entre la salida real y la aproximada
  • 24. 16 Modelizaci´on Matem´atica del Sistema Por lo tanto queda as´ı definido el sistema (2.24) por todos sus par´ametros como ecua- ci´on de estado     ˙θ ˙ψ ¨θ ¨ψ     =     0 0 1 0 0 0 0 1 32.66 0 0 10.62 0 0 0 −11.8         θ ψ ˙θ ˙ψ     +     0 0 −8.82 9.8     u y = 1 0 0 0 0 1 0 0     θ ψ ˙θ ˙ψ     (2.27) y como funci´on transferencia Θ(s) Ψ(s) =    −8.82s (s + 11.8)(s2 − 32.66) 9.8 s(s + 11.8)    U(s).
  • 25. Cap´ıtulo 3 Dise˜no de Controladores y Simulaci´on En este cap´ıtulo desarrollaremos diversas t´ecnicas de dise˜no de control basadas en el modelo matem´atico del sistema, para lo que debemos plantear cu´ales son nuestras es- pecificaciones de dise˜no, es decir c´omo queremos que se comporte el sistema luego de calculado el control . Comenzaremos con t´ecnicas de control simples, tomando al sistema como dos sistemas de una entrada y una salida en cascada, llamada control en casca- da. Luego desarrollamos t´ecnicas m´as complejas utilizando las ecuaciones en espacio de estado como realimentaci´on de estado. Para el control en cascada utilizamos la representaci´on entrada-salida del sistema (2.25) y a trav´es de la asignaci´on de polos [3] dise˜naremos el control. Para la realimenta- ci´on de estado utilizaremos un regulador lineal cuadr´atico (LQR) y dado que solo podemos medir dos de las cuatro variables de estados, estimaremos las variables de estado no medidos. Para el c´alculo de los controladores utilizamos MATLAB. Para analizar el desempe˜no de cada controlador en el lazo cerrado del sistema, utilizamos SIMULINK, donde armamos el diagrama de bloques del modelo no lineal (2.17). Aplicamos cada controlador dise˜nado a este sistema para que la simulaci´on se aproxime al sistema real. A continuaci´on detallaremos cada una de las t´ecnicas utilizadas, desarrollando algu- nas herramientas necesarias para cada t´ecnicas, y detallaremos tambi´en los resultados obtenidos en la simulaci´on. 3.1 Control en Cascada El control en cascada es una estructura alternativa de control, cuya idea b´asica es reali- mentar variables intermedias en un sistema SISO1 [3]. Esta estructura, representada en la Figura 3.1, tiene dos lazos: • un lazo primario con un controlador primario K1(s), y • un lazo secundario con un controlador secundario K2(s). Los principales beneficios del control en cascada se obtienen (i) cuando G2(s) tiene alinealidades significativas que limiten el desempe˜no del lazo, o (ii) cuando G1(s) impone limitaciones al ancho de banda en una estructura de control b´asica. El caso (ii) se da, por ejemplo, cuando G1(s) tiene ceros de fase no m´ınima o retardos temporales. Como veremos en esta secci´on, en nuestro problema G1(s) tiene un cero de fase no m´ınima. 1 Siglas que significa una entrada una salida (single input single outpu)
  • 26. 18 Dise˜no de Controladores y Simulaci´on d j j d-- 6 -..- - .... -- 6 R(s) K1(s) K2(s) + − + − Lazo secundario G1(s) Y(s) Lazo primario G2(s) T2(s) Figura 3.1: Estructura de control en cascada Si pensamos nuestro problema como si fuera SISO, tomando como entrada U(s) y sa- lida Ψ(s), donde adem´as medimos el ´angulo del p´endulo Θ(s), podemos reescribir nuestro sistema como muestra la Figura 3.2, teniendo en cuenta (2.25). c c c- - - -−(s2−g/l) r/l s2 −βr/l s (s2−g/l)(s+α) Ψ(s) Θ(s) U(s) Figura 3.2: Diagrama de bloques del p´endulo como si fuera un sistema SISO El dise˜no de la Figura 3.1, puede separarse en dos etapas: 1. Lazo secundario. Dise˜namos K2(s) para estabilizar el ´angulo del p´endulo Θ(s), as´ı obtenemos la funci´on de sensibilidad complementaria (transferencia a lazo cerrado) para el lazo secundario como T2(s) = G2(s)K2(s) 1 + G2(s)K2(s) , donde G2(s) = −βr/l s (s2 − g/l)(s +α) . 2. Lazo primario. Una vez dise˜nado K2(s) para estabilizar el ´angulo del p´endulo Θ(s), el controlador primario K1(s) puede dise˜narse tomando como planta equivalente T2(s)G1(s), donde G1(s) = −(s2 − g/l) r/l s2 . 3.1.1 Dise˜no de K2(s) por Asignaci´on de Polos En esta secci´on detallaremos la t´ecnica utilizada para dise˜nar el controlador K2(s), que estabiliza el ´angulo del p´endulo. La t´ecnica utilizada es por asignaci´on de polos [3], pero antes mencionaremos de qu´e se trata esta t´ecnica. Asignaci´on de Polos La t´ecnica de asignaci´on de polos trata b´asicamente en ubicar los polos del polinomio caracter´ıstico a lazo cerrado en forma arbitraria. Dado un lazo de control de un grado de libertad como muestra la Figura 3.3, con G(s) = B(s) A(s) = bn−1sn−1 + bn−1sn−1 + · · · + b0 ansn + an−1sn−1 + · · · + a0 y (3.1) K(s) = P(s) L(s) = pnp snp + pnp−1snp−1 + · · · + p0 lnl snl + lnl−1snl−1 + · · · + l0 ,
  • 27. 3.1 Control en Cascada 19 Las cuatro funciones de sensibilidad asociadas al lazo de la Figura 3.3 vienen dadas por T(s) G(s)K(s) 1 + G(s)K(s) = B(s)P(s) A(s)L(s) + B(s)P(s) Sensibilidad complementaria (3.2) S(s) 1 1 + G(s)K(s) = A(s)L(s) A(s)L(s) + B(s)P(s) Sensibilidad (3.3) Si(s) G(s) 1 + G(s)K(s) = B(s)L(s) A(s)L(s) + B(s)P(s) Sensibilidad de perturbaci´on de entrada (3.4) Su(s) K(s) 1 + G(s)K(s) = A(s)P(s) A(s)L(s) + B(s)P(s) Sensibilidad de control (3.5) y donde el polinomio Alc(s) A(s)L(s) + B(s)P(s) se llama polinomio caracter´ıstico a lazo cerrado. j jj j - -- - - ? - 6 6 ? G(s) Y(s)U(s) − Dm(s) Di(s) Do(s) R(s) K(s) Figura 3.3: Lazo de control de un grado de libertad Nuestro objetivo es ver bajo qu´e condiciones dados B(s) yA(s), que definen nuestra planta, se pueden dise˜nar P(s) y L(s) tal que el polinomio caracter´ıstico a lazo cerrado sea Alc(s). El siguiente lema resume estas condiciones (demostraci´on ver [3]). Lema 1 (Asignaci´on de Polos SISO). Consideremos un lazo de realimentaci´on de un grado de libertad con un controlador K(s) y un modelo nominal G(s) dado por (3.1). Su- poniendo que A(s) y B(s) son coprimos 2 y que sus grados son n y n − 1, respectivamente. Sea Alc(s) un polinomio arbitrario de grado nlc = 2n − 1. Entonces existen polinomios P(s) y L(s), con grados np = nl = n − 1 tal que A(s)L(s) + B(s)P(s) = Alc(s) (3.6) Notemos que si elegimos Alc(s) estable 3, y si adem´as no existen cancelaciones inesta- bles entre el controlador K(s) y la planta G(s), el lazo de la Figura 3.3, resulta internamente estable, es decir que las funciones de sensibilidad (3.2) a (3.5) son estables. Volvamos a nuestro problema, dise˜nar K2(s) = P2(s) L2(S) tal que estabilice el lazo tomando B(s) = −βr/l s y A(s) = (s2 − g/l)(s +α), 2 no tienen factores en com ´un 3 con todos sus ceros con parte real negativa
  • 28. 20 Dise˜no de Controladores y Simulaci´on donde el grado de la planta es n = 3. Seg ´un el Lema 1, tenemos que elegir nlc = 2n − 1 = 5 para que existan polinomios P2(s) y L2(s) de grado np = nl = n − 1 = 2 que satisfagan (3.6). Para la elecci´on de Alc(s) vamos a recurrir a la cancelaci´on estable de los factores de A(s), es decir vamos a elegir Alc(s) = (s + g/l)(s +α) ¯Alc(s), donde ahora ¯Alc(s) tiene orden 3. De esta forma nuestro polinomio caracter´ıstico a lazo cerrado se reduce a (s + g/l)(s +α) ¯Alc(s) Alc(s) = P2(s) (−βr/l s) B(s) +L2(s) (s2 − g/l)(s +α) A(s) , que para que podamos realizar la cancelaci´on estable, debemos asegurar que P2(s) = (s + g/l)(s +α) ¯P2(s), por lo que ¯P2(s) = p0, con p0 ∈ R, ya que P2(s) tienen grado 2 . De esta forma la ecuaci´on diofantina que nos queda es ¯Alc(s) = p0 ¯P2(s) (−βr/l s) + (s2 + l1s + l0) L2(s) (s − g/l). (3.7) Si tomamos ¯Alc(s) = s3 + c2s2 + c1s + c0, y expresamos (3.7) en forma de sistema de ecuaciones matricial, obtenemos   1 0 0 0 1 −βr/l 0 0 − g/l   Me   l1 l2 p0   =   c2 + g/l c1 c0   , que admite soluci´on ya que Me es no singular, es decir det Me = 0. Lo ´unico que nos queda ahora es elegir coeficientes de ¯Alc(s) tal que sea estable. La elecci´on de este polinomio no es trivial ya que nuestra G2(s) es inestable, y existen limi- taciones de dise˜no para la sensibilidad complementaria cuando existen polos inestables en el sistema. En la siguiente secci´on detallaremos estas limitaciones y c´omo elegir el polinomio caracter´ıstico en estos casos [8]. Limitaciones de Dise˜no Impuestas por G2(s) para la Elecci´on de ¯Alc(s) En esta secci´on discutiremos los compromisos de dise˜no que existen en la respuesta temporal debida a la entrada escal´on en un sistema SISO. Estos compromisos de dise˜no se originan en limitaciones estructurales de la planta a controlar impuestas por polos inestables y ceros de fase no m´ınima4 de su funci´on transferencia. Estas limitaciones son inevitables para cualquier controlador que estabilice el lazo. Por ejemplo, como veremos a continuaci´on, los polos inestables a lazo abierto implican la existencia de sobrevalor en la respuesta, e inducen un compromiso de dise˜no entre la magnitud de este sobrevalor y el tiempo de establecimiento de la respuesta. Respuesta al escal´on Definamos los par´ametros que describen las propiedades rele- vantes de la din´amica de los sistemas 5, considerando como respuesta al escal´on la Figura 3.4 • valor en el r´egimen estacionario, y∞: el valor final de la respuesta al escal´on (esto no tiene sentido si el sistema tiene polos en el SPD 6). 4 ceros con parte real positiva 5 Existen distintas definiciones para estos par´ametros en la literatura, nosotros adoptamos las definiciones propuestas por [7] 6 SPD: semiplano derecho
  • 29. 3.1 Control en Cascada 21 Tiempo y∞ + ysob y∞ + δ y∞ − δkr y∞ te y∞ tc tp −ysub 0 Figura 3.4: Indicadores de la respuesta escal´on • Tiempo de crecimiento, tc: el tiempo que transcurre hasta el instante en el cual la respuesta al escal´on alcanza, la primer vez, el valor kr y∞. La constante kr var´ıa seg ´un el autor, com ´unmente se toma tanto 0.9 o 1. • Sobrevalor, ysob: el m´aximo valor por el que la respuesta el escal´on excede su valor final. Generalmente se expresa como un porcentaje de y∞. • subvalor, ysub: el m´aximo (valor absoluto) por el que la respuesta al escal´on pasa por debajo del cero. • Tiempo de establecimiento, te: el tiempo transcurrido hasta que la respuesta al escal´on ingresa (sin dejarlo en tiempo subsiguiente) a una banda ±δ, alrededor del valor final. Esta banda δ, generalmente se define como un porcentaje de y∞, 2% a 5% Veamos el siguiente resultado, que no vamos a demostrar, para m´as detalles ver [8]. Corolario 1. [Polos inestables reales y sobrevalor]. Si la planta tiene un polo inestable real en p 0, su respuesta al escal´on tiene forzosamente sobrevalor. M´as a´un, si tc es el tiempo de crecimiento del sistema a lazo cerrado, entonces se cumple que ysob ≥ (ptc − 1)eptc + 1 ptc ≥ ptc 2 . Sigue del Corolario 1 que si la planta tiene un polo inestable: • necesariamente hay sobrevalor en la respuesta al escal´on • el sobrevalor ser´a mayor cuanto mayor sea el tiempo de respuesta del lazo cerrado. Es decir los polos inestables demandar´an acci´on de control r´apida para un mejor desem- pe˜no (menor sobrevalor). Cuanto mayores (m´as r´apidos) sean los polos inestables, mayor ser´a esta demanda. En conclusi´on podemos extraer la siguiente regla pr´actica de dise˜no para evitar gran- des sobrevalores.
  • 30. 22 Dise˜no de Controladores y Simulaci´on El polo dominante a lazo cerrado debe ser mayor (en magnitud) que cualquier polo inestable a lazo abierto del sistema. Dado que nuestro sistema G2(s) tiene un polo inestable en g/l = 5.7154, elegiremos como frecuencia de corte del sistema a lazo cerrado alg ´un valor un poco mayor para hacer la acci´on de control r´apida. Utilizamos los valores de los par´ametros descriptos en la secci´on 2.7, donde G2(s) = −8.82s (s + 11.8)(s2 − 32.66) . Propusimos tres polos r´apidos para la elecci´on del ¯Alc(s) tal que la frecuencia del lazo sea mayor que el polo inestable. Los polos propuestos son p=[-14 -13 -12], es decir, ¯Alc(s) = s3 + 39s2 + 506s + 2184, con el que resolvimos la ecuaci´on (3.7) dando como resul- tado el controlador K2(s) = −129.67(s + 11.8)(s + 5.715) (s + 52)(s − 7.341) , y T2(s) = 1143.7s (s + 14)(s + 13)(s + 12) . 3.1.2 Dise˜no de K1(s) Una vez estabilizado el lazo secundario, seleccionamos K1(s) tal que estabilice el lazo de la Figura 3.5. Para ello debemos tomar como sistema a lazo abierto a T2(s)G1(s) = −p0βr/l s ¯Alc −(s2 − g/l) r/l s2 = p0βr/l(s2 − g/l) r/l s ¯Alc , (3.8) que tiene un polo en el origen y un cero de fase no m´ınima que impondr´an limitaciones en el dise˜no. clle - - 6 ---- 6 - Ψ(s)Θ(s) − R(s) − −(s2−g/l) r/l s2 −βr/l s (s2−g/l)(s+α) p0(s+ √ g/l)(s+α) s2+l1s+l0 K1(s) T2(s) = −p0βr/l s ¯Alc Figura 3.5: Dise˜no del lazo primario Limitaciones de Dise˜no Impuestas por G1(s)T2(s) Como vi´eramos en 3.1.1, tanto los polos inestables como los ceros de fase no m´ınima, imponen limitaciones en el dise˜no, por ejemplo, implican la existencia de subvalor, indu- ciendo un compromiso entre la magnitud de ´este y el m´aximo tiempo de establecimiento de la respuesta, como veremos a continuaci´on citando un resultado parecido al del Corolario 1, de [8].
  • 31. 3.1 Control en Cascada 23 Corolario 2. [Ceros de fase no m´ınima y subvalor]. Si la planta tiene un cero de fase no m´ınima real en q 0, su respuesta al escal´on tiene forzosamente subvalor. M´as a´un, si te es el tiempo de establecimiento a un nivel δ del sistema a lazo cerrado, entonces se cumple que ysub ≥ 1 − δ eqte − 1 . La interpretaci´on del Corolario 2, es que si la planta tiene un cero real de fase no m´ınima • necesariamente hay subvalor en la respuesta al escal´on • el pico del subvalor ser´a mayor cuanto menor sea el tiempo de establecimiento del lazo cerrado. Es decir, los ceros de fase no m´ınima demandar´an acci´on de control lenta para un mejor desempe˜no (menor subvalor). Cuanto menores (m´as lentos) sean los ceros de fase no m´ınima, mayor ser´a esta demanda. En conclusi´on podemos extraer la siguiente regla pr´actica de dise˜no para evitar gran- des subvalores. El polo dominante a lazo cerrado debe ser menor (en magnitud) que el menor cero de fase no m´ınima del sistema. Si retomamos nuestro sistema con los valores constantes, con G1(s) = −(s2 − 32.66) 0.9s2 ⇒ G1(s)T2(s) = −1270.7(s2 − 32.66) s(s + 14)(s + 13)(s + 12) . (3.9) En la Figura 3.6, vemos el lugar de ra´ıces, obtenido con el comando rlocus de MATLAB, de G1(s)T2(s). Este gr´afico muestra donde se ubicar´an los polos cuando realimentamos solo con una ganancia proporcional. Como podemos apreciar, existen valores de ganancia tal que los polos se ubiquen todos en el semiplano izquierdo. Para encontrar un valor de ganancia tal que estabilice el lazo cerrado, utilizamos el comando rlocfind(G2T2) que nos permite encontrar ganancias en un lugar de ra´ıces en forma interactiva. De esta forma vimos que tomando K1(s) = 0.02, los polos a lazo cerrado resultan las cruces, +, de la Figura 3.6. Por lo que la transferencia a el lazo cerrado resulta T1(s) = −25.41(s2 − 32.66) (s + 20)(s + 0.35)(s2 + 17.7s + 95.05) . 3.1.3 Simulaci´on En esta secci´on tomamos los controles K1(s) y K2(s) y los implementamos en SIMULINK para analizar el desempe˜no obtenido. Simular dichos controladores con el sistema lineal tal como los calculamos, 3.1, sabemos que se comporta de forma deseada. Pero ahora mostramos los resultados que obtenemos si tomamos el sistema no lineal, descripto por (2.17) y tomando en cuenta las limitaciones de los sensores y del actuador. En la Figura 3.8, mostramos el diagrama de bloques que implementamos para la simulaci´on, donde el bloque Alinealidades representa, en forma aproximada las perturbaciones del motor: la
  • 32. 24 Dise˜no de Controladores y Simulaci´on −15 −10 −5 0 5 10 15 20 −10 −8 −6 −4 −2 0 2 4 6 8 10 Real Axis ImagAxis Figura 3.6: Lugar de ra´ıces de G1(s)T2(s) fricci´on est´atica (Figura 3.7) y el juego en el eje del motor (≈ 1o). El bloque K1d es el control K1(s) discretizado con un tiempo de muestreo T = 0.02 y como condici´on inicial tomamos todos las variables de estado en cero salvo θ = 0.05 rad. Los valores de las alinealidades las obtuvimos comparando el sistema real con el simulado, y as´ı ajustamos el valor de la fricci´on est´atica. ψ(t) ˆψ(t)0.15 Figura 3.7: Fricci´on est´atica del motor La Figura 3.9 muestra los resultados obtenidos luego de simular el lazo cerrado duran- te 20 segundos. En el gr´afico de la izquierda mostramos la comparaci´on entre la posici´on del brazo sin tener en cuenta el rozamiento est´atico ni el juego del motor (las alinealidades) con el que s´ı las tiene en cuenta. A la derecha vemos que estas alinealidades no afectan tanto a la posici´on del ´angulo.
  • 33. 3.1 Control en Cascada 25 Discretización Psi Tita Step3 Saturacion de la actuacion Psi u tita psi Pendulo no lineal1 K2d K2 .1 K1 Discretizacióo Tita Discretizacion de la Actuacion In1 Out1 Alinealidades Figura 3.8: Diagrama de bloques de la simulaci´on 0 2 4 6 8 10 12 14 16 18 20 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 Tiempo [seg] Posición[rad] con alinealidades sin alinealidades 0 2 4 6 8 10 12 14 16 18 20 −0.04 −0.03 −0.02 −0.01 0 0.01 0.02 0.03 0.04 0.05 0.06 Tiempo[seg] Posición[rad] sin alinealidades con alinealidades Figura 3.9: Resultados obtenidos, a la derecha θ y a la izquierda ψ
  • 34. 26 Dise˜no de Controladores y Simulaci´on 3.2 Control por Realimentaci´on de Estado En esta secci´on vamos a introducir conceptos y t´ecnicas de control en sistemas descriptos por ecuaciones de estado. Los resultados y definiciones de esta secci´on fueron obtenidos de [2]. Tomemos el sistema a lazo abierto de dimensi´on n y de una sola entrada descripto por ˙x(t) = Ax(t) + Bu(t) y(t) = Cx(t). (3.10) En realimentaci´on de estado, como muestra la Figura 3.10, la se˜nal de control se propone lineal al estado u(t) = r(t) − Kx(t). (3.11) ii - - 66 - -- - SS − r u ˙x x y A CB K Figura 3.10: Realimentaci´on de estado La substituci´on de (3.11) en (3.10), da lugar al lazo cerrado del sistema, cuyo modelo de estado viene dado por ˙x(t) = (A − BK)x(t) + Br(t) y(t) = Cx(t). (3.12) Para utilizar esta t´ecnica estamos suponiendo que todas las variables de estado est´an al alcance para medirlos. Pero en realidad no es as´ı, en esta secci´on detallaremos c´omo podemos calcular la matriz de realimentaci´on K para que la din´amica del sistema a lazo cerrado se comporte de una determinada manera. Veremos tambi´en bajo qu´e condiciones esto ocurre y qu´e hacer en aquellos casos donde no podemos medir todas las variables de estado. 3.2.1 Dise˜no de la Matriz K Una propiedad de sistemas lineales esencial en la realimentaci´on de estado es la de con- trolabilidad. La controlabilidad tiene que ver con la posibilidad de llevar al sistema de cualquier estado inicial a cualquier estado final en tiempo finito, no importando qu´e tra- yectoria se siga, o qu´e entrada se use. La ecuaci´on de estado (3.10), o el par (A, B), se dice controlable si para cual- quier estado inicial x(0) = x0 ∈ Rn y cualquier estado final x1 ∈ Rn , existe una entrada que transfiere el estado x de x0 a x1 en tiempo finito. En caso contrario, la ecuaci´on (3.10), o el par (A, B), se dice no controlable. El siguiente Teorema afirma bajo qu´e condiciones existe una matriz K tal que la reali- mentaci´on de estado con dicha matriz ubique los autovalores del sistema a lazo cerrado donde queramos (demostraci´on ver [2]).
  • 35. 3.2 Control por Realimentaci´on de Estado 27 Teorema 1 (Asignaci´on de autovalores). Si la ecuaci´on de estado (3.10) es controlable, entonces mediante la realimentaci´on de estado u(t) = r(t) − Kx(t), donde K es un vector real constante 1 × n, los autovalores de (A − BK) pueden ser asignados arbitrariamente, siempre que los autovalores complejos conjugados se asignen en pares. Un m´etodo para analizar controlabilidad de un sistema dado es que la matriz de con- trolabilidad C tenga rango n (rango(C) = n), donde C = B AB . . . An−1B Ahora solo nos resta verificar si nuestro sistema es controlable para poder elegir K. Para ello tomemos el sistema (2.27), y calculamos rango C = rango B AB A2B A3B = 4, por lo que podemos afirmar que el sistema (2.27) es controlable. Convenientemente, MATLAB tiene la funci´on K=place(A,B,P), que calcula K para ubi- car los autovalores en los valores dados en el vector P. Lo ´unico que resta hacer es elegir los autovalores deseados para nuestro sistema, para lo que debemos tener en cuenta las restricciones estructurales que posee el p´endulo invertido, ver secci´on 3.1.2. Control LQR Otra forma de calcular la ganancia de realimentaci´on K es siguiendo alg ´un criterio de optimizaci´on, por ejemplo minimizando el funcional cuadr´atico J = t∞ 0 [xT (t)Qx(t) + uT (t)Ru(t)] dt, (3.13) donde Q y R son matrices constantes que ponderan las variables de estado y la actuaci´on respectivamente. Como el criterio se basa en funcionales cuadr´aticos, recibe el nombre de regulador lineal cuadr´atico (LQR). El funcional J puede interpretarse como el costo total de la transici´on de las variables de estado de un punto a otro. Obtener la matriz K, minimizando el funcional (3.13) anal´ıticamente no es tarea f´acil, ver [1], pero MATLAB cuenta con la funci´on K=lqr(A,B,Q,R). Para ello es necesario ajustar Q y R hasta obtener el desempe˜no deseado. Para nuestro dise˜no tomamos Q =     100 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1     y R = 10, A y B de (2.27) y obtuvimos K = −24 −0.3 −3.8 −2.4 (3.14) 3.2.2 Seguimiento Robusto: Acci´on Integral En esta secci´on introducimos un esquema de seguimiento de referencias constantes. La idea se basa en aumentar la cantidad de variables de estado de la planta, agregando una nueva: xa que integra el error, es decir ˙xa = r − y = r − Cx, como mostramos en la Figura 3.11.
  • 36. 28 Dise˜no de Controladores y Simulaci´on iii - - 66 - -- - SS SS - 6 - -- − u ˙x x y A CB K −r Ka xa Figura 3.11: Diagrama de bloques del esquema de seguimiento Quedando as´ı las ecuaciones de estado del sistema aumentado ˙x ˙xa = A 0 −C 0 x xa + B 0 u + 0 1 r Si consideramos la realimentaci´on de estado u = − K Ka x xa , el sistema a lazo ce- rrado de la Figura 3.11 es ˙x ˙xa = A − BK −BKa −C 0 x xa + 0 1 r (3.15) La idea ahora es dise˜nar K Ka de forma tal que el sistema (3.15) sea asint´oticamente estable. En particular, la estabilizaci´on de xa, implica que se produzca el seguimiento deseado ya que lim t→∞ ˙xa = 0 ⇒ lim t→∞ y(t) = r. Para saber si podemos dise˜nar K Ka para que (3.15) sea estable veamos el siguiente teorema: Teorema 2 (Controlabilidad de la planta aumentada). Si (A, B) es controlable y si G(s) = C(sI − A)−1B no tiene ceros en s = 0, los autovalores de la matriz de evoluci´on aumentada en (3.15) pueden asignarse arbitrariamente seleccionando la matriz de realimentaci´on K Ka . En la secci´on 3.2.1, vimos que nuestro sistema es controlable, es decir que rango C = 4 y si tomamos como salida ψ, que es quien queremos que siga la referencia constante, G(s) no tiene ceros en el origen, ver (2.25). Para calcular las ganancias K y Ka utilizamos el comando [K,Ka]=lqr(Aa,Ba,Qa,R), donde Aa = A 0 −C 0 , Ba = B 0 , Qa =       100 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1       y R = 10. La ganancia que obtuvimos es K = −27 −1.06 −4.29 −2.85 0.316 . (3.16)
  • 37. 3.2 Control por Realimentaci´on de Estado 29 El control con realimentaci´on de estado asume la disponibilidad de las variables de estado. Esto no es lo que pasa en la pr´actica, en particular nuestro sistema no cuen- ta con sensores para medir las velocidades angulares (variables de estado del sistema) por lo que debemos estimar estas variables no medidas. A continuaci´on describiremos dos ideas para estimar dichas variables de estado y luego mostraremos las simulaciones correspondientes. 3.2.3 Estimadores de las variables de Estado no Medidos Esta primer idea es b´asica, aproximamos la derivada de una variable como cociente incre- mentales. Esto lo podemos hacer ya que las variables de estado que queremos estimar no son ni m´as ni menos que la derivada de las dos variables estado que medimos. Es decir ˙θ ≈ θ(k + 1) −θ(k) T ˙ψ ≈ ψ(k + 1) − ψ(k) T (3.17) donde T es el per´ıodo con el cual la PC toma los datos y la diferencia corresponde a dos mediciones consecutivas. Esta forma de estimar las variables de estado es muy sencilla de implementar en SIMULINK, como vemos en la Figura 3.12, pero para que esta estima sea buena, T tiene que tomar valores peque˜nos. 1 Tita P z 1 Unit Delay 1/T Gain 1 Tita Figura 3.12: Estimador de la derivada Quedando de esta forma un control que en lugar de ser est´atico 7 es din´amico (o con memoria). 3.2.4 Observador de las variables de Estado En esta secci´on introduciremos un dispositivo din´amico, llamado observador, cuya salida es una estima del vector de estado. En particular vamos a detallar el observador de orden completo, que tiene el mismo orden que la planta, y de esta forma estimamos todo el vector de estado. Representemos con ˆx(t) a la estima de x(t) y tomemos el sistema (3.10), donde suponemos A, B, y C conocidas, y la entrada u(t) y la salida y(t) son medibles, aunque no el estado x(t). El problema es estimar x(t) a partir de esta informaci´on. La idea es que dado que conocemos las matrices A, B y C, podemos duplicar el sistema, ˙ˆx(t) = A ˆx(t) + Bu(t) ˆy(t) = C ˆx(t), (3.18) donde ˆy(t) es la salida que se obtiene de las variables de estado estimados. Si inyectamos al sistema (3.18) una se˜nal de correcci´on L(y(t) − C ˆx), donde L es una matriz de ganancia 7 que depende en forma instant´anea de las variables de estado
  • 38. 30 Dise˜no de Controladores y Simulaci´on constante, de forma tal que si no hay error no debemos corregir nada, pero si hay error, una elecci´on apropiada de L puede hacer que el error de estimaci´on tienda asint´oticamente a cero. La Figura 3.13 muestra el observador que explicamos, donde las ecuaciones vienen dadas por ˙ˆx(t) = A ˆx(t) + Bu(t) + L(y(t) − C ˆx(t)) = (A − LC) ˆx(t) + Bu(t) + Ly(t). (3.19) Definamos ˜x(t) = x(t) − ˆx(t) como el error de estimaci´on. Si calculamos ˙˜x(t) y reem- plazamos (3.10) y (3.19) vemos que ˙˜x(t) = (A − LC) ˜x(t), donde los autovalores de (A − LC) son los que gobiernan la din´amica del error de estimaci´on. Si pudi´eramos elegir L tal que (A − LC) tenga autovalores negativos, estar´ıamos afirmando que el error de estimaci´on tiende asint´oticamente a cero. i i- - - 6 SS - - 6 - SS ? L ˆx ˙x x A CB B u ˙ˆx A − LC y Figura 3.13: Observador de estado completo En la secci´on 3.2 vimos el concepto de controlabilidad, c´omo testear si un sistema es controlable y para qu´e sirve. Ahora para ver qu´e condiciones debe cumplir el sistema para que exista la matriz L, tal que el estado estimado ˆx(t) tienda asint´oticamente al estado real x(t) , debemos definir el observabilidad. El concepto de observabilidad tiene que ver con la posibilidad de estimar el vector de estado del sistema a partir del conocimiento de la salida. La ecuaci´on de estado (3.10) es observable si para cualquier estado inicial x(0) (desconocido), existe un tiempo finito t1 tal que el conocimiento de la entrada u y la salida y sobre el intervalo [0, t1] es suficiente para determinar en forma ´unica el estado inicial x(0). En caso contrario el sistema se dice no observable. El siguiente teorema define bajo qu´e condiciones existir´a L (demostraci´on ver [2]). Teorema 3 (Asignaci´on de Autovalores en Observadores). Dado el par (A, C), todos los autovalores de (A − LC) pueden asignarse arbitrariamente seleccionando una matriz L si y solo si (A, C) es observable. Para analizar la observabilidad de un sistema basta ver que la matriz de observabilidad O O =        C CA CA2 ... CAn−1        ,
  • 39. 3.2 Control por Realimentaci´on de Estado 31 es de rango n (es decir rango O = n). Para analizar la observabilidad de nuestro sistema, calculamos O =     C CA CA2 CA3     =, donde rango O = 4, por lo que nuestro p´endulo invertido es un sistema observable. Para elegir d´onde ponemos los autovalores de A − LC, tomamos los autovalores que resultan del control LQR a lazo cerrado pero los ponemos 1.2 veces m´as r´apidos y luego utilizamos el comando de MATLAB L=place(A’,C’,P). El valor de L obtenido es L =     0.5335 0.1312 0.0177 0.3533 7.6284 4.3791 0.2567 1.4825     (3.20) 3.2.5 Simulaci´on En esta secci´on describiremos las simulaciones realizadas utilizando el programa SIMU- LINK. Implementamos al sistema utilizando las ecuaciones no lineales (2.17) en diagrama de bloques y agregamos las alinealidades y limitaciones descriptas en el Cap´ıtulo 1 para que se aproxime en mejor forma al sistema real. En primer lugar simulamos el sistema suponiendo que las variables de estado est´an al alcance de ser medidos, utilizando el control por realimentaci´on de estado (3.14). Lue- go comparamos el desempe˜no realimentando las variables de estado estimados con los observados. Una vez que decidimos cual es el mejor m´etodo, realizamos pruebas de se- guimiento a referencias y robustez. El periodo de muestreo utilizado en todas las simulaciones es T = 0.01 y tomamos como condiciones iniciales θ(0) = 0.05, ˙θ(0) = 0, ψ(0) = 0 y ˙ψ(0) = 0. Realimentaci´on de Estado En la Figura 3.14, mostramos la implementaci´on en diagrama de bloques de SIMULINK utilizado, y la Figura 3.15 los resultados obtenidos de la simulaci´on, suponiendo que las cuatro variables de estado son medidos. Comparaci´on de Desempe˜no Estimador-Observador En la Figura 3.16, podemos ver la implementaci´on en diagrama de bloques del sistema, el control en realimentaci´on de estado, los estimadores de las velocidades y las limitaciones debidas al actuador y a los sensores. Y en la Figura 3.17 la misma idea pero implementan- do el observador calculado en (3.20), para ello utilizamos un bloque variable de estado representando la ecuaci´on (3.19). En la Figura 3.18 mostramos los resultados que obtuvimos por simulaci´on de la Figura 3.16 y 3.17. Cada uno de los gr´aficos muestra una salida, ψ(t) a la derecha y θ(t) a la izquierda, en su versi´on estimada y observada para comparar desempe˜no. Para comparar los resultados obtenidos, y dado que en nuestra simulaci´on podemos ”medir” las velocidades angulares, calculamos la sumatoria de los errores absolutos de ˙θ y ˙ψ dando para el observador 21.71 y 4.1 respectivamente y para el estimador 79.48 y 57.34, respectivamente. Vemos as´ı, como era de esperar, que el observador obtiene mejores resultados que el estimador y esto se debe a que el observador utiliza mucha
  • 40. 32 Dise˜no de Controladores y Simulaci´on psi Tita Saturacion de la actuacion u tita Fi titap Fip Pendulo no lineal 24 KTita .3 KPsi 2.4 K TitaP 3.8 K Psip Dsicretizacion Tita Discretizacion Psi Discretizacion de la Actuacion In1 Out1 Alinealidades3 Actuación Figura 3.14: Diagrama de bloques de la realimentaci´on de estado 0 2 4 6 8 10 12 14 16 18 20 −0.04 −0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 Tiempo [seg] Posición[rad] 0 2 4 6 8 10 12 14 16 18 20 −0.02 −0.01 0 0.01 0.02 0.03 0.04 0.05 0.06 Tiempo [seg] Posición[rad] Figura 3.15: Resultados obtenidos, a la derecha θ y a la izquierda ψ psi Tita Saturacion de la actuacion u tita Fi Pendulo no lineal 24 KTita .3 KPsi 3.8 K TitaP 2.4 K Psip In1Out1 Estmador velocidad base In1Out1 Estmador velocidad Pendulo Dsicretizacion Tita Discretizacion Psi Discretizacion de la Actuacion In1 Out1 Alinealidades Actuación Figura 3.16: Realimentaci´on de estado con estimador
  • 41. 3.2 Control por Realimentaci´on de Estado 33 psi Tita Saturacion de la actuacion u tita Fi Pendulo no lineal 24 KTita .3 KPsi 3.8 K TitaP 2.4 K Psip In1Out1 Estmador velocidad base In1Out1 Estmador velocidad Pendulo Dsicretizacion Tita Discretizacion Psi Discretizacion de la Actuacion In1 Out1 Alinealidades Actuación Figura 3.17: Realimentaci´on de estado con observador 0 2 4 6 8 10 12 14 16 18 20 −0.1 −0.05 0 0.05 0.1 0.15 Tiempo [seg] Posición[rad] Posición del Brazo con Observador Posición del Brazo con Estimador 0 2 4 6 8 10 12 14 16 18 20 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 Tiempo [seg] Posición[rad] Posición del péndulo con Observador Posición del péndulo con Estimador Figura 3.18: Comparaci´on de los resultados de la simulaci´on
  • 42. 34 Dise˜no de Controladores y Simulaci´on m´as informaci´on del sistema para estimar las variables de estado. Para terminar de confirmar esto, veamos en la Figura 3.19, ambas acciones de control. Para tener una idea de la potencia consumida por el motor calculamos la sumatoria del valor absoluto de la actuaci´on en el intervalo simulado, dando 577 para el caso del observador y de 1678 para el estimador. 0 2 4 6 8 10 12 14 16 18 20 −15 −10 −5 0 5 10 15 Tiempo [seg] Tensión[Volts] Actuación con observador Actuación con estimador Figura 3.19: Comparaci´on de la se˜nal de actuaci´on Seguimiento a Referencias Uno de los objetivos b´asicos en el control es el de seguimiento de la salida a se˜nales de re- ferencias. En nuestro caso esta referencia es sobre la posici´on del ´angulo del brazo. Para la simulaci´on, utilizamos el sistema a lazo cerrado, estimando las velocidades angulares con el observador calculado en 3.2.3. En la Figura 3.20 comparamos los resultados obte- nidos cuando ponemos una referencia constante re f = 6 rad y tomamos la ganancia (3.16), utilizando realimentaci´on de estado con ganancia de precompensaci´on 8por un lado, y el esquema de acci´on integral que mostramos en 3.2.2 por el otro. Como dij´eramos en 3.2.2, el esquema de acci´on integral es robusto frente a pertur- baciones constantes. En la Figura 3.21 mostramos c´omo se comporta un lazo con y sin acci´on integral, donde perturbamos (corrimos el cero) al ´angulo del p´endulo θ con 0.2 rad. 8 El sistema tiene una ganancia est´atica no nula, lo que implica que en el r´egimen permanente tender´a a este valor. Si ubicamos una ganancia delante del lazo cerrado con la inversa de la ganancia est´atica, en el r´egimen permanente tender´a al valor de referencia.
  • 43. 3.2 Control por Realimentaci´on de Estado 35 0 5 10 15 20 25 −1 0 1 2 3 4 5 6 7 Tiempo [seg] Posición[rad] Ganancia de precompensación Accion Integral Referencia Figura 3.20: Comparaci´on entre ganancia de precompensaci´on y acci´on integral 0 5 10 15 20 25 −20 −15 −10 −5 0 5 10 Tiempo [seg] Posición[rad] Ganancia de precompensación Acción Integral Referencia Figura 3.21: Comparaci´on entre ganancia de precompensaci´on y acci´on integral, pertur- bando a θ
  • 44. 36 Dise˜no de Controladores y Simulaci´on
  • 45. Cap´ıtulo 4 Ensayos de Controladores sobre el Sistema Real Una vez que en las simulaciones obtuvimos controladores que nos proveen el desempe˜no deseado, implementamos dichos controladores en el sistema real, para comprobar que los desempe˜nos obtenidos en la simulaci´on concuerdan con los resultados reales. En este cap´ıtulo mostraremos la implementaci´on de dichos controladores en SIMULINK y los resultados que obtuvimos al realizar los mismos ensayos con el sistema real. 4.1 Implementaci´on del Control en Cascada En esta secci´on mostraremos los resultados que obtuvimos al implementar el lazo de control en cascada con los controles K1(S) y K2(s) calculados en la secci´on 3.1. La Figura 4.1 muestra la implementaci´on en diagrama de bloques de SIMULINK, en donde utilizamos en lugar de una constante para K1(s) implementamos un control proporciona-integral, PI [7], para que el sistema no tenga error en el r´egimen permanente. Referencia Actuacion Radianes Ángulo Péndulo Radianes Ángulo Base Zero−Order Hold1 Zero−Order Hold Selector Manual Posición Pendulo Posición Base Actuación Motor numcas(z) dencas(z) K2 In1 Out1 K1 0 Constante 0 Figura 4.1: Diagrama de bloques de la implementaci´on del control en cascada La Figura 4.2 muestra los resultados obtenidos de la implementaci´on. Para ello cuando comenzamos el ensayo, mantuvimos el p´endulo en posici´on vertical ya que este control no puede levantarlo desde su reposo (≈ 0.2rad) y tomamos referencia nula. En la Figura 4.3 mostramos los resultados que obtuvimos para ψ(t), cuando tomamos como referencia la se˜nal que se muestra en la figura. Como podemos ver, el sobrevalor de la salida es considerado, esto podr´ıa mejorarse redise˜nando el control K2(s), haci´endolo m´as lento (eligiendo polos para ¯Alc2 m´as peque˜nos). Por otro lado podr´ıamos tambi´en modificar el tiempo de establecimiento, eligiendo K1(s) mayor, ya que cuanto mayor sea dicha ganancia, m´as cerca del eje jω estar´an los polos a lazo cerrado, ver Figura 3.6.
  • 46. 38 Ensayos de Controladores sobre el Sistema Real 0 5 10 15 20 25 30 35 40 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 0.2 0.25 Tiempo [seg] Posición[rad] 0 5 10 15 20 25 30 35 40 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08 0.1 Tiempo [seg] Poscición[rad] Figura 4.2: Resultados obtenidos de la implementaci´on del control en cascada, a la iz- quierda ψ(t) y a la derecha θ(t) 0 20 40 60 80 100 120 140 160 180 −2 −1 0 1 2 3 4 Tiempo [seg] Posición[rad] Posición del brazo Referencia Figura 4.3: Resultados obtenidos de la implementaci´on del control en cascada, para ana- lizar seguimiento
  • 47. 4.2 Implementaci´on del Control en Realimentaci´on de Estados 39 4.2 Implementaci´on del Control en Realimentaci´on de Estados En esta secci´on describiremos el desempe˜no obtenido de implementar el control por reali- mentaci´on de estados en el sistema real utilizando el estimador de estados y el observados, que calculamos en la secci´on 3.2. En las Figura 4.4 y 4.5 podemos ver el diagrama de bloques SIMULINK de dicha implementaci´on. Radianes Ángulo Péndulo Radianes Ángulo Base Zero−Order Hold1 Zero−Order Hold Step Selector Manual Referencia ProductPosición Pendulo Posición Base 0 N Actuación Motor 3.8 K TitaPunto 24 K Tita 2.4 K Psi Punto .3 K Psi In1 Out1 Estmador velocidad base1 In1 Out1 Estmador velocidad base 0 Constante Actuación Figura 4.4: Diagrama de bloques de la implementaci´on del control por realimentaci´on de estados y el estimador Radianes Ángulo Péndulo Radianes Ángulo Base Zero−Order Hold1 Zero−Order Hold Step Selector Manual Referencia Product Posición Pendulo Posición Base U Tita Psi Tita P Psi P Observador 0 N Actuación Motor 3.8 K TitaPunto 24 K Tita 2.4 K Psi Punto .3 K Psi 0 Constante Actuacion Figura 4.5: Diagrama de bloques de la implementaci´on del control por realimentaci´on de estados y el observador La Figura 4.6, muestra la comparaci´on entre los resultados obtenidos de la imple- mentaci´on del estimador de las velocidades angulares y el observador. Para obtener este desempe˜no utilizamos las mismas ganancias, de K y L calculadas para la simulaci´on. Como esper´abamos, el desempe˜no con el observador es mejor que el del estimador. En la Figura 4.7 comparamos las actuaciones con uno y otro m´etodo de estimaci´on de las variables de estado que no podemos medir. Dado que podemos guardar los valores, calculamos nuevamente la suma absoluta de los valores muestreados de la actuaci´on, para tener una idea de la potencia consumida por el motor, y obtuvimos para el caso del
  • 48. 40 Ensayos de Controladores sobre el Sistema Real 20 22 24 26 28 30 32 34 36 38 40 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 Tiempo [seg] Posición[rad] Posición del Brazo con Observador Posición del Brazo con Estimador 20 22 24 26 28 30 32 34 36 38 40 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 Tiempo [seg] Posición[rad] Posición del Péndulo con Observador Posición del Péndulo con Estimador Figura 4.6: ´Angulo medido en el sistema real, a la derecha θ y a la izquierda ψ observador 1764 y para el estimador 3334. SI bien los valores no son los mismos que en la simulaci´on, la relaci´on entre ambos es bastante parecida. 20 22 24 26 28 30 32 34 36 38 40 −6 −4 −2 0 2 4 6 Tiempo [seg] Posición[rad] Actuación con Observador Actuación con Estimador Figura 4.7: Comparaci´on de actuaciones 4.3 Implementaci´on de la Acci´on Integral En esta secci´on analizaremos c´omo se comporta el sistema con realimentaci´on de estados, calculada en (3.16), observador de las velocidades angulares, calculada en (3.20) y acci´on integral. En la Figura 4.8, mostramos la respuesta del sistema cuando la referencia es una onda cuadrada de amplitud π/2 rad y de frecuencia 60 seg. Los picos que realiza ψ en los primero 15 seg es debido a que el brazo tuvo que levantar el p´endulo desde su reposo, 0.2 rad. El ´angulo θ no lo graficamos porque el objetivo es mostrar el seguimiento. El
  • 49. 4.3 Implementaci´on de la Acci´on Integral 41 gr´afico de la izquierda representa a la implementaci´on del esquema de acci´on integral y el de la izquierda es la salida obtenida del lazo cerrado con ganancia de precompensaci´on. 0 20 40 60 80 100 120 140 160 180 200 −0.5 0 0.5 1 1.5 2 Tiempo [seg] Posición[rad] Referencia Posición del Brazo 0 20 40 60 80 100 120 140 160 180 200 −1 −0.5 0 0.5 1 1.5 2 2.5 3 3.5 Tiempo [seg] Posición[rad] Posición del Brazo Referencia Figura 4.8: Seguimiento a una se˜nal de referencia onda cuadrada Dado que los resultados obtenidos con la ganancia de precompensaci´on son bastante malos, Figura derecha de 4.8, modificamos las ganancias para obtener un mejor desem- pe˜no. Tomando K = −32.04 −2.50 5.06− −2.5 obtuvimos los resultados de la Figura 4.9 0 20 40 60 80 100 120 140 160 180 200 −0.5 0 0.5 1 1.5 2 Tiempo [seg] Posición[rad] Posición del Brazo Referencia Figura 4.9: Seguimiento una se˜nal de referencia onda cuadrada con ganancia de precom- pensaci´on
  • 50. 42 Ensayos de Controladores sobre el Sistema Real
  • 51. Cap´ıtulo 5 An´alisis del efecto de las cuantizaciones y de las perturbaciones del motor Con el fin de realizar el proyecto con un bajo presupuesto, para la construcci´on del p´endulo utilizamos mayormente componentes que se encontraban en el stock del Labora- torio de Electr´onica de la Universidad. Como vimos en el Capitulo 1 dichos componentes imponen ciertas restricciones f´ısicas en el desempe˜no del lazo cerrado, que hicieron que nuestros objetivos de control no sean muy estrictos en cuanto al desempe˜no. En este Capitulo estudiaremos como afectan dichas restricciones al sistema y las posibles mejo- ras. Para comprobar si dichas mejoras son justificables en cuanto al desempe˜no posterior del sistema, analizamos el comportamiento del sistema a lazo cerrado a trav´es de si- mulaciones, bas´andonos en el hecho de que el sistema simulado se comporta en forma aproximada al real. 5.1 Disminuci´on en la cuantificaci´on del Actuador y de los Sensores La primera mejora que se nos ocurre es aumentar la resoluci´on de los conversores digital- anal´ogico (para la actuaci´on), y anal´ogico-digital (para el sensor del p´endulo). La reso- luci´on actual del conversor-digital anal´ogico es de ocho bits obteniendo una variaci´on m´ınima de tensi´on de 0.05859 V, aumentaremos dicha resoluci´on con un conversor de do- ce bits (0.0036 V). El mismo aumento de resoluci´on utilizamos para el sensor de posici´on del p´endulo, pasando de 0.0024 rad a 0.0012 rad. En cuanto al sensor de posici´on del bra- zo, no podremos aumentar la la resoluci´on en forma categ´orica, debido a la velocidad del contador de pulsos implementado en la PC comenzar´ıa a perder pulsos. Una soluci´on es implementar dicho contador a trav´es de un circuito integrado dedicado y luego leer dicho valor en la PC a trav´es de un conversor digital-anal´ogico. Para la simulaci´on supusimos que podr´ıamos aumentar la resoluci´on del sensor a 0.0003rad. En la Figura 5.1 podemos ver el resultado de la simulaci´on, donde comparamos el sistema mismo bajo las mismas condiciones que en 3.2.5, con el sistema agregando las mejoras mencionadas. Como pudimos ver en la Figura 5.1, el aumento en la resoluci´on de los conversores no representa una mejora en el desempe˜no del sistema. Pero como vimos en 1.2.1 s´ı es mejor aumentar la resoluci´on del conversor digital-anal´ogico ya que podemos de esa forma aumentar la tensi´on de alimentaci´on al motor, de esa forma aumentar su reacci´on. 5.2 Mejoras f´ısicas del motor Otra de las cosas que se podr´ıan mejorar tienen que ver con el motor. Como vimos en 3.1.3 existen dos tipos de perturbaciones ocasionadas por el motor fricci´on est´atica y
  • 52. 44 An´alisis del efecto de las cuantizaciones y de las perturbaciones del motor 0 5 10 15 20 25 −0.08 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 Tiempo [seg] Posición[rad] Con mejoras Sin mejoras 0 5 10 15 20 25 −0.04 −0.03 −0.02 −0.01 0 0.01 0.02 0.03 0.04 0.05 0.06 Tiempo [seg] Posición[rad] Con mejoras Sin mejoras Figura 5.1: Comparaci´on entre el sistema con y sin ampliaci´on en la resoluci´on del actua- dor y de los sensores, derecha ψ(t) y a la izquierda θ(t) juego en el eje. Veamos que sucede si disminuimos el roce est´atico en 20 veces, Figura 5.2. Esta disminuci´on se puede lograr, por ejemplo, utilizando un motor con rodamientos a rulemanes. 0 5 10 15 20 25 −0.08 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 Tiempo [seg] Posición[rad] Con mejoras Sin mejoras 0 5 10 15 20 25 −0.04 −0.03 −0.02 −0.01 0 0.01 0.02 0.03 0.04 0.05 0.06 Tiempo [seg] Posición[rad] Con mejoras Sin mejoras Figura 5.2: Comparaci´on entre el sistema con fricci´on est´atica y reduci´endola 20 veces, derecha ψ(t) y a la izquierda θ(t) Veamos ahora que sucede si adem´as disminuimos el juego del eje, Figura 5.3. Esta disminuci´on se puede lograr, por ejemplo, utilizando una reducci´on con correas dentadas en lugar de engranajes. Concluimos, a partir de los ensayos realizados, que para obtener un mejor desempe˜no hay que centrarse en la disminuci´on las perturbaciones originadas por el motor.
  • 53. 5.2 Mejoras f´ısicas del motor 45 0 5 10 15 20 25 −0.08 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 Tiempo [seg] Posición[rad] Con mejoras Sin mejoras 0 5 10 15 20 25 −0.04 −0.03 −0.02 −0.01 0 0.01 0.02 0.03 0.04 0.05 0.06 Tiempo [seg] Posición[rad] Con mejoras Sin mejoras Figura 5.3: Comparaci´on entre el sistema , derecha ψ(t) y a la izquierda θ(t)
  • 54. 46 An´alisis del efecto de las cuantizaciones y de las perturbaciones del motor
  • 55. Cap´ıtulo 6 Conclusiones En este informe describimos la construcci´on y el posterior control a trav´es de una PC del p´endulo invertido rotatorio. La elecci´on de utilizar un software en tiempo real fue una gran ventaja, dado que pudimos desarrollar controladores, observadores y estimadores en forma sencilla. Adem´as nos permiti´o almacenar los datos obtenidos del sistema para an´alisis y ajuste de los par´ametros del modelo matem´atico. El modelo matem´atico que obtuvimos, y el m´etodo de ajuste de los par´ametros en forma iterativa, mostr´o ser fiel al sistema real. Esto resulta una ventaja cuando los controladores que dise˜namos est´an basados en dicho modelo. Las t´ecnicas de control que desarrollamos son t´ecnicas lineales. Aunque utilizamos un sistema no lineal, mostramos que es posible desarrollar t´ecnicas simples aunque el modelo es complejo. Todas las t´ecnicas coinciden en la especificaci´on de dise˜no que planteamos: estabilizaci´on asint´otica del ´angulo del p´endulo y seguimiento a referencias constantes del ´angulo de giro del brazo. El dise˜no del control en cascada fue sencillo ya que supone que el sistema es de una entrada y una salida y de esta forma permite utilizar cualquier t´ecnica de control que utilice la representaci´on entrada salida. La implementaci´on fue inmediata dado que solo necesitamos medir las variables que tenemos disponibles. Si bien el desempe˜no obtenido a lazo cerrado fue bueno, la estabilidad resulta muy sensible a perturbaciones. El dise˜no de control por realimentaci´on de estado, siguiendo el criterio de optimizaci´on LQR, no lo calculamos anal´ıticamente por su complejidad. Para ello utilizamos el software de control MATLAB, donde la ventaja es que los ´unicos par´ametros que ajustamos fueron las ponderaci´on de cada una de las variables de estado y de la se˜nal de control. Para im- plementar el control por realimentaci´on de estados fue necesario desarrollar t´ecnicas que aproximen las variables de estado que no podemos medir. En nuestro caso propusimos dos: estimador de derivadas y observador lineal de estado. Si bien el primero es simple de implementar, el desempe˜no alcanzado por el segundo mejor, dado que la amplitud de las oscilaciones que produce es menor. El ´unico inconveniente de este control, es que para que siga referencias constantes es necesario agregar una ganancia de precompensaci´on, que para resulta sensible frente a perturbaciones. Por ´ultimo, al sistema con realimentaci´on de estado, le agregamos acci´on integral para lograr seguimiento de referencias constantes. Con este esquema, logramos no solo que siga referencias constantes sino tambi´en hicimos m´as robusto el lazo cerrado del sistema. Una pregunta que nos planteamos cuando finalizamos los ensayos, fue si era posible mejorar los desempe˜nos obtenidos con los controladores dise˜nados modificando aquellos componentes f´ısicos, sensores y actuador,que nos imponen limitaciones. La conclusi´on que obtuvimos por simulaci´on es que para mejorar el desempe˜no, hay que centrarse en disminuir el roce est´atico y el juego en el eje del motor.
  • 57. Ap´endice A Descripci´on detallada de los componentes del Sistema A.1 Controlador A.1.1 Especificaciones de la PC A.1.2 Placa de Adquisisci´on de Datos En la Tabla A.1, podemos ver las distintas direcciones de la placa. La direcci´on de memo- DIR h Lectura Escritura xx0 Entrada Salida Digital xx1 DAC1 Salidas xx2 DAC2 Anal´ogicas xx8 Datos Start 0 xx9 EOC Start 1 xxA Start 2 xxB Start 3 Entradas xxC Start 4 Anal´ogica xxD Start 5 xxE Start 6 xxF Start 7 Tabla A.1: Direcciones de memoria ria base se elige a trav´es de tres jumpers ubicados en la placa. La direcci´on por defecto es la 300h. Driver La forma de programar estos drivers en el SIMULINK es a trav´es de un bloque denominado S-Function. S-Function Permiten agregar algoritmos propios a bloques de SIMULINK. Se pueden es- cribir en MATLAB o en C. Las S-function las incorporamos mediante un bloque llamado S-function. En nuestro caso programamos cuatro S-functions distintas: • lectura de entradas anal´ogicas, • escritura de entradas anal´ogicas,
  • 58. 50 Descripci´on detallada de los componentes del Sistema • lectura de entradas digitales, y • escritura de entradas digitales. Las cuatro fueron programadas en C. A.2 Actuador Existen principalmente tres problemas a la hora de controlar un motor de corriente con- tinua. 1. Se˜nal de actuaci´on de baja potencia. La se˜nal de actuaci´on entregada por la PC es de 5V y en el orden de los mA., mientras que la tensi´on nominal de trabajo del motor es de 24V y la corriente que consume es de 2A. 2. Sentido de giro. Para cambiar el sentido de giro de un motor de corriente continua es necesario invertir la tensi´on que lo alimenta. 3. Consumo de energ´ıa. Para variar la velocidad de un motor de corriente continua exis- ten varios m´etodos. El m´as com ´un de ellos es variar la tensi´on de alimentaci´on del mismo, obteniendo una variaci´on proporcional en el n ´umero de revoluciones. Uno de los problemas es la disipaci´on de potencia de los amplificadores utilizados para alimentar el motor, ya que si queremos alimentar al motor con la mitad de tensi´on de alimentaci´on nominal, la mitad de la potencia entregada por la fuente de alimen- taci´on se disipa en el amplificador. Este m´etodo es muy utilizado si necesitamos que el motor se encuentre en las proximidades de su velocidad nominal. Los dos primeros problemas los solucionamos a trav´es de un Puente H, Figura A.1. Este puente esta compuesto por cuatro transistores MosFet, dos de canal N y dos de canal P que los haremos trabajar en corte o saturaci´on, es decir, conducen o no conducen. Cuando queremos que el motor gire hacia un lado hacemos conducir a los transistores MOS1 y MOS3, en este caso el potencial positivo se encuentra en el borne 1 del motor, si queremos que gire en sentido contrario, hacemos conducir los transistores MOS2 y MOS4, en este caso el potencial positivo se encuentra en el borne 2 del motor, es decir, invertimos la tensi´on aplicada. Para lograr que los transistores conduzcan o no en el momento indicado, se le agrega una etapa de l´ogica que evita que transistores del mismo lado de la H conduzcan al mismo tiempo, ya que eso provocar´ıa que ambos se quemen debido a que no tienen una resistencia que limite la corriente que circula a trav´es de ellos. El m´etodo que utilizamos para solucionar el problema 3, es el de modulaci´on de ancho de pulso (PWM), en el cual se alimenta al motor con una se˜nal cuadrada de una frecuencia determinada y amplitud igual a la tensi´on nominal del motor, a la cual se le modifica el tiempo activo, obteniendo una media de tensi´on proporcional a ese tiempo. Al ser la frecuencia de la onda mucho mayor al tiempo de respuesta del motor, ´este ve en sus bornes la tensi´on media resultante. La diferencia que existe con el primer m´etodo es que en este caso, siempre se le aplica la tensi´on nominal al motor. El circuito PWM que implementamos, Figura A.2, tiene como entrada una se˜nal anal´ogica de 0 - 5V, la variaci´on del tiempo activo de la se˜nal PWM se realiza a trav´es de dicha en- trada. La frecuencia de PWM que utilizamos es 250Hz.
  • 59. A.2 Actuador 51 5V 5V 5V 15V15V 15V 15V 15V Motor 5V On/Off Direccion Logica de Control 820Ω 820Ω 820Ω 820Ω 10KΩ 820Ω 10KΩ 820Ω 10KΩ 10KΩ 820Ω 1 2MOS1 MOS3 MOS4 MOS2 Figura A.1: Puente H −12V −12V 1 2 3 4 7 8 74HC14 5V PWM 12V 47nF ne555 5V 12V 12V 1 2 6 7 48 + − + − 50KΩ Vin 10KΩ 1MΩ 1MΩ 47KΩ 1KΩ 50KΩ 820Ω Figura A.2: Circuito de implementaci´on del PWM
  • 60. 52 Descripci´on detallada de los componentes del Sistema A.3 Sensores A.3.1 Encoder Incremental El encoder incremental consta de dos diodos emisores de luz cada uno enfrentado con un fotodiodo, entre los cuales se ubica un disco con n ranuras que gira solidaria a un eje, como podemos ver en la Figura A.3 , s1 s2 tiempo Emisor A B Receptor Placa ranurada Figura A.3: Diagrama de un encoder incremental Cuando una ranura se encuentra entre el diodo emisor de luz y el fotodiodo, el fotodio- do sensa la luz emitida, no as´ı cuando entre ambos se encuentra la placa. A medida que el disco gira, obtenemos en los fotodiodos dos se˜nales como las que vemos en la Figura A.4. s1 s2 s2 s1 t t Sentido de giro Figura A.4: Se˜nales en los fotodiodos El defasaje de 90 grados de las se˜nales es debido a la ubicaci´on de los sensores. Este defasaje es ´util para detectar el sentido de giro del eje, si prestamos atenci´on a la Figura A.4, podemos ver que dependiendo del sentido de giro una se˜nal adelanta a la otra. To- mamos a una se˜nal s1 para contar los pulsos, en cada flanco ascendente de s1 contamos un pulso, ahora tenemos que saber si lo sumamos o lo restamos, dependiendo el sentido de giro. Esa informaci´on la obtenemos de la se˜nal s2. Si s2 esta en alto, la sumamos, si esta en bajo la restamos. Una de las ventajas de este tipo de sensor de ´angulo, es que el rango de medici´on es ilimitado, mientras que la mayor desventaja es que los pulsos entregados por el encoder son de alta frecuencia, por lo tanto es posible que al contarlos se pierdan pulsos.
  • 61. A.3 Sensores 53 En nuestro caso este sensor se encuentra solidario al eje del motor y la placa ranurada cuenta con 20 ranuras, lo que representa una precisi´on de 360o 40 , ya que contamos los pulsos de ambas se˜nales. Debido a que el motor posee una reducci´on 1:130, al dar el motor una vuelta el eje exterior da 1 130 vueltas. Por lo tanto aumentamos la precisi´on a 2π 40∗130 = 0.0012 rad/pulso. La l´ogica para contar los pulsos fue realizada en el SIMULINK, en la Figura A.5 podemos ver dicha implementaci´on. 1 Radianes In1 In2 Out1 SubSystem1 In1 In2 Out1 SubSystem 2*pi/5150 Conversion de pulsos a Radianes 2 S2 1 S1 1 Out1 NOT Logical Operator Trigger 2 In2 1 In1 Figura A.5: Diagrama de bloques SIMULINK de la Implementaci´on del Contador de Pulsos A.3.2 Sensor Magn´etico El sensor magn´etico consta de un puente de Wheatstone como el de la figura A.6, el cual al variar el valor de una de las resistencias se desbalancea provocando una ca´ıda de tensi´on Vout. Vcc Vout RR R R Figura A.6: Sensor Magneto-Resistivo En nuestro caso, colocamos un im´an solidario al p´endulo, Figura A.7, al moverse el p´endulo var´ıa el campo magn´etico sobre el sensor. La se˜nal entregada por el sensor es del orden de los ±50 µV, por lo tanto fue necesario acondicionar la se˜nal para que se encuentre en el rango de 0V a 5V requeridos por la placa de adquisici´on de datos. Podemos ver el circuito de implementaci´on en la Figura A.8. Debido al im´an que colocamos, este sensor solo trabaja en un rango de ´angulo de- terminado, ±60o. Como solamente utilizaremos el rango ±18o, ajustamos la se˜nal para que los 0-5V correspondan a una variaci´on de ±18o, as´ı obtenemos mayor precisi´on en la conversi´on.
  • 62. 54 Descripci´on detallada de los componentes del Sistema Sensor Magnetico Pendulo ±60o Iman Eje Brazo Figura A.7: Montaje del sensor magn´etico sobre el p´endulo Amplificador Diferencial Ajuste del Offset 12V 12V 12V −12V −12V −12V 12V −12V Ajuste de la Ganancia + − + − + − 47nF 22KΩ 22KΩ 220KΩ Vo Sensor Magnetico 1MΩ 47nF 820KΩ 10KΩ 47nF 25KΩ 4, 7KΩ Vo : 0 − 5V Figura A.8: Acondicionador de se˜nal
  • 63. Bibliograf´ıa [1] John S. Bay. Linear Space Systems. McGraw-Hill, 1999. [2] C-T Chen. Linear System Theory and Design. Oxford University Press, 1999. [3] Graham C. Goodwin, Stefan F. Graebe, and Mario E. Salgado. Control System Design. Prentice Hall International, 2001. [4] Bruce A. Francis John C. Doyle and Allen R. Tannenbaun. Feedback Control Theory. Maxwell Macmillan International Editions, 1992. [5] H. Khalil. Nonlinear Systems. Prentice Hall, 1996. [6] Lennart Ljung. System Identification: Theoty for the User. Prentice-Hall, 1987. [7] Katsiuko Ogata. Control Moderno. Pentice Hall, 1998. [8] Mar´ıa M. Seron, Julio H. Braslavsky, and Graham C. Goodwin. Fundamental Limita- tions in Filtering and Control. Springer, 1997. [9] Real Time Windows Target. User’s Guide Version 1. The Math Works Inc., 1998.