INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD PROFESIONAL “ADOLFO LÓPEZ MATEOS”
“CONTROL DE UN PÉNDULO INVERTIDO MEDIANTE OBSERVADORES EMPLEANDO FILTRO DE KALMAN”
PROYECTO DE INVESTIGACIÓN
QUE PARA OBTENER EL TÍTULO DE:
INGENIERO EN CONTROL Y AUTOMATIZACIÓN
PRESENTAN:
ARTURO AGUILAR FAUSTINO JOSÉ ALBERTO CALDERÓN GUTIÉRREZ
ALFONSO SÁNCHEZ REYES
ASESORES:
DR. JUAN EDUARDO VELÁZQUEZ VELÁZQUEZ DRA. BLANCA MARGARITA OCHOA GALVÁN
MÉXICO, D.F. 2011
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELECTRICA
UNIDAD PROFESIONAL "ADOLFO LÓPEZ MATEOS"
TEMA DE TESIS
QUE PARA OBTENER EL TITULO DE INGENIERO EN CONTROL Y AUTOMATIZACIÓN
POR LA OPCIÓN DE TITU LACIÓN PROYECTO DE INVESTIGACIÓN SIP20101173 DEBERA(N) DESARROLLAR
C. ARTURO AGUILAR FAUSTINO C. JOSÉ ALBERTO CALDERÓN GUTIÉRREZ C. ALFONSO SÁNCHEZ REYES
"CONTROL DE UN PÉNDULO INVERTIDO MEDIANTE OBSERVADORES EMPLEANDO FILTRO D'E KALMAN"
CONTROL DE UN PÉNDULO INVERTIDO CON VALORES DE ESTADO NO MENSURABLES EN INTERVALOS DE TIEMPO POR MEDIO DE OBSERVADORES DE ESTADO IMPLEMENTANDO ALGORITMOS DE FILTRO DE KALMAN.
MÉXICO D. F., A 19 DE MAYO DE 2011.
•:. INTRODUCCIÓN. •:. ANTECEDENTES• •:. CONSTRUCCIÓN DEL PÉNDULO INVERTIDO. •:. FILTRO DE KALMAN. •:. DISEÑO DE CONTROLADORES Y SIMULACIÓN .:. CONCLUSIONEES y TRABAJOS FUTUROS
t. (v--1f-\.~ C>u~ t:; .. DR. JUAN EDUARDO VELÁZQUEZ VELÁZQUE DRA. BLANCA MARGARITA OCHOA GALVAN
~A
\,fliIUI~ •. ~~\~~\DOS~
!~.~... -j , ~
JEFE ARTAMENTO ADEMICO D~~ ,'S INGEN N CONTROL Y AUTOMATIZACIÓN IPN CA
JEFATURA I
Índice general
1. Introducción 11.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Problemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Justi�cación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5. Organización del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Antecedentes 52.1. Obtención del modelo del péndulo invertido . . . . . . . . . . . . . . . . . . 5
2.2. Modelo dinámico del péndulo invertido . . . . . . . . . . . . . . . . . . . . . 9
2.3. Observadores de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.1. Observador de orden completo . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2. Diseño de observadores de orden completo . . . . . . . . . . . . . . . 17
2.3.3. Observador de orden reducido . . . . . . . . . . . . . . . . . . . . . . 19
2.3.4. Diseño de observadores de orden reducido . . . . . . . . . . . . . . . 21
2.3.5. Observador para sistemas MIMO . . . . . . . . . . . . . . . . . . . . 23
3. Construcción del péndulo invertido 243.1. Construcción mecánica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1. Base de mecanismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.2. Plataforma de carro guía . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.3. Carro guía y péndulo . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2. Construcción electrónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1. Adquisición de la posición del péndulo . . . . . . . . . . . . . . . . . 29
3.2.2. Adquisición y posicionamiento del carro guía . . . . . . . . . . . . . . 30
3.2.3. Comunicación de datos con PC . . . . . . . . . . . . . . . . . . . . . 32
i
3.2.4. Logica de funcionamiento de la plataforma experimental . . . . . . . 34
3.2.5. Alimentación eléctrica del dispositivo . . . . . . . . . . . . . . . . . . 37
4. Filtro de Kalman 394.1. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2. Algoritmo general del �ltro de Kalman . . . . . . . . . . . . . . . . . . . . . 41
4.3. Filtro de Kalman Bucy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5. Diseño de controladores y simulación 495.1. Control PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.1.1. Control proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.2. Control integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1.3. Control derivativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.1.4. Sintonización de un controlador PID por el método de Ziegler y Nichols 54
5.1.5. Diseño y simulación de un controlador PID para el péndulo invertido 55
5.2. Observadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2.1. Estructura general de control con retroalimentación de
estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2.2. Diseño y simulación de un controlador basado en observadores de es-
tado para el péndulo invertido . . . . . . . . . . . . . . . . . . . . . . 62
5.2.3. Análisis de estabilidad por plano de fase . . . . . . . . . . . . . . . . 66
5.3. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3.1. Diseño y simulación de un controlador por observadores de estado basa-
do en el �ltro de Kalman para el péndulo invertido . . . . . . . . . . 69
6. Conclusiones y trabajos futuros 74
ii
Dedicatoria
A nuestros padres
A quienes debemos todo porque siempre han estado con nosotros apoyándonos en todo
momento sin importar las circunstancias.
Así mismo la dedicamos a nuestros hermanos
Ya que los mayores han sido un gran ejemplo a seguir e invitamos a nuestros hermanos
menores que tomen esto como ejemplo de superación y de que si se pueden lograr las cosas
sólo basta que quieras hacerlo.
No menos importante dedicamos esta tesis a nuestras personas
Ya que esta es fruto de nuestro esfuerzo y dedicación la cual hemos mostrado durante todos
estos años de estudio y ahora se ve recompensada con esto.
Arturo Aguilar Faustino
Jos�e Alberto Calder�on Guti�errez
Alfonso S�anchez Reyes
iii
Agradecimientos
En primera instancia queremos agradecer a esta gran institución educativa que es el
Instituto Politécnico Nacional, en especial a la Escuela Superior de Ingeniería Mecánica y
Eléctrica, Unidad Zacatenco, por permitirnos formarnos como profesionistas en sus aulas
y permitirnos realizar este sueño, así mismo gracias por proporcionarnos la preparación
adecuada para desarrollarnos como ingenieros y así poder ayudar al crecimiento de nuestro
amado país.
A nuestros profesores, ya que día a día tiene como misión transmitirnos sus conocimientos
y experiencias con el �n de que nosotros aprendamos de ellos y los aprovechemos al máximo
para llegar a ser excelentes profesionistas y seres humanos.
A nuestros padres, una vez más porque es gracias a ellos y a nuestro esfuerzo es que-
podemos estar en esta instancia de nuestra vida, gracias por su apoyo, por su cariño y por
todo lo que nos han dado a lo largo de nuestra vida.
Al programa de investigaciones PIFI por ser de gran ayuda y apoyo para poder llevar a
cabo el proyecto de investigación SIP 20101173 que desembocó en esta tesis.
Al Dr. Juan Eduardo Velázquez Velázquez, por permitirnos formar parte de su proyecto
de investigación y aceptar ser nuestro asesor en esta tesis, poniendo siempre todo de su parte
para proporcionarnos conocimientos y experiencias por medio de observaciones para mejorar
nuestro trabajo, gracias a su esfuerzo, dedicación y profesionalismo.
A la Dra. Blanca Margarita Ochoa Galván, por aceptar asesorarnos en la realización de
esta tesis y proporcionarnos sus observaciones precisas acerca de nuestro trabajo para así
poder mejorarlo y llevarlo a cabo de la mejor forma posible.
A Dios y a la vida, por permitirnos llegar hasta aquí.
Arturo Aguilar Faustino
Jos�e Alberto Calder�on Guti�errez
Alfonso S�anchez Reyes
iv
Capítulo 1
Introducción
1.1. Introducción
El modelo del péndulo invertido es un ejemplo clásico en la literatura de control, ver [3],
[7] y [6], el cual tiene diversas aplicaciones para soluciones a problemas reales presentes en
nuestro entorno, por mencionar algunos basta recordar la marcha, el balance y la postura
humana, con esto se resuelve uno de los grandes paradigmas de la ingeniería biomédica, el cual
es crear un modelo que ejempli�que al cuerpo humano es decir que pueda simular procesos
como caminar o hasta correr, como lo menciona [9], estos modelos son muy importantes para
poder implementar mejoras en la calidad de vida de las personas con capacidades diferentes,
por ejemplo la realización de una prótesis. Ocurre lo mismo para cuando se desea mantener
el control de un cohete en el espacio ya que se debe mantener una posición vertical y de
esto se encargan los mandos del cohete análogamente es lo que hace el cerebro cuando se
camina, mantener un balance para una posición vertical deseada, no se puede dejar de lado
que este tipo de modelo es muy utilizado para poder simular cómo se comporta un edi�cio
en presencia de ciertas perturbaciones que en este caso en particular son el aire que lo azota
y/o algún sismo que puede presentarse y afectar dicha construcción y lo ideal es que este
edi�cio se mantenga estable ante estos fenómenos. Uno de los usos frecuentes del péndulo
invertido es el del posicionamiento de un satélite con respecto a la tierra, en éste caso el
satélite esta en movimiento y las antenas que se encuentran en la tierra no pueden dejar que
se desplace libremente, ya que se corre el riesgo de salir del rango de comunicación entre
ellos. Es así como podríamos decir que están sujetos estos dos cuerpos satélite y antena por
un vector virtual el cuál en la parte de la tierra se encuentra �jo y la parte en movimiento
1
en el espacio, haciendo así la función del péndulo invertido.
1.2. Problemática
Existen diversas técnicas de control para el péndulo invertido, sin embargo en algunas
circunstancias no es posible medir directamente todos los elementos debido a la construcción
del propio sistema o la complejidad de éste para la implantación del más adecuado método
de control siendo el que mejor se adapte a las necesidades de proceso reduciendo costos de
operación, diseño y construcción que es uno de los aspectos más importantes que busca la
ingeniería. El análisis y observación de partes de dichos sistemas es realizado empleando
herramientas matemáticas y tecnológicas de las cuales necesitamos conocer su estado, pero
por alguna circunstancia nos es difícil o imposible medir el valor de la variable que deseamos
conocer en cierto intervalo del proceso, por ello existen los observadores de estado con los
cuales es posible estimar los valores, siendo de gran ayuda para el análisis del proceso para
su mejor control.
En concreto la problemática presentada en el trabajo es el control de un péndulo invertido
con valores de estado no mensurables en intervalos de tiempo.
La propuesta que aquí se pretende es utilizar un algoritmo de �ltro de Kalman conjun-
tamente con los observadores de estado que al tratarse de un método recursivo, permite
obtener una estimación de mínima varianza del estado partiendo de observadores utilizando
para integrar las medidas del sistema.
1.3. Justi�cación
Actualmente existen diferentes técnicas para controlar un péndulo invertido, ver [19],
[18] y [17], en este trabajo en especí�co se plantea el control por medio de observadores de
estado basados en el �ltro de Kalman, el por qué es debido a que presenta ventajas sobre
otros métodos ya que para sistemas no lineales no existe un �ltro de dimensiones �nitas que
resuelva el problema del �ltrado óptimo de manera similar al �ltro de Kalman en el caso
lineal Gaussiano y el método de aproximación más simple al problema del �ltrado no lineal
es precisamente el �ltro de Kalman extendido, ver [15]. En éste sistema es muy importante el
�ltrado con una buena estimación de los estados no mensurables del sistema para así poder
implementar adecuadamente el lazo de control.
2
Esta medición se lleva a cabo de forma indirecta utilizando la medición de algunas vari-
ables del proceso y el modelo del mismo para estimar las variables complicadas de medir o el
estado completo de ellas. El �ltro de Kalman se utiliza generalmente para sistemas estocás-
ticos y que utiliza observaciones hasta el tiempo en que el estado del sistema dinámico es
estimado este método permite calcular el estado de un sistema dinámico lineal, perturbado
por señales ruidosas, utilizando mediciones que se relacionan linealmente con el estado, pero
que están contaminadas con este tipo de señales. Este estimador es óptimo desde el punto
de vista estadístico ya que se obtiene de la solución de un problema cuadrático lineal.
El �ltro de Kalman linealizado, tiene problemas porque a medida que el tiempo transcurre
se produce una desviación entre la trayectoria real y la trayectoria nominal. Esta desviación
hace que la aproximación lineal, despreciando los términos de alto orden, ya no sea válida y
se produzcan errores en el cálculo.
Por tal razón la propuesta del presente trabajo es emplear el �ltro de Kalman, el cual
para mejorar la estimación que se realiza sobre la linealización alrededor de la trayectoria,
empleando el uso de observadores de estado.
El modelo del péndulo invertido tiene distintas aplicaciones con nuestro entorno, siendo de
vital importancia para la comunidad relacionada con el control y anexos para que cuenten con
una herramienta para visualizar con un mejor enfoque los aspectos referentes a un péndulo
invertido y así realizar pruebas físicas con esta plataforma para de esta manera realizar el
análisis de ciertos temas de control ya que muchos se pueden integrar con este sistema para
el desarrollo e implantación de diversas técnicas de control.
1.4. Objetivo general
Se desea el desarrollo de control de un péndulo invertido con valores de estado no men-
surables en intervalos de tiempo por medio de observadores de estado implementando algo-
ritmos de �ltro de Kalman.
Las metas particulares son:
Construcción de un sistema físico de péndulo invertido simple
Obtención de un controlador por �ltros de Kalman con el uso de observadores de estado
para el sistema de péndulo invertido simple.
3
Crear una interfaz para la adquisición de señales de retroalimentación en el controlador
así como la aplicación de señales de manipulación al sistema físico.
Realizar el circuito electrónico para la obtención de señales de retroalimentación del
sistema.
1.5. Organización del trabajo
El presente trabajo está conformado de la siguiente manera:
Primeramente en el capítulo uno es presentado el desarrollo matemático del modelo
del péndulo invertido, también se brindan las de�niciones, conceptos básicos y diseño de
observadores de estado.
En el capítulo dos, se detalla la construcción del dispositivo físico del péndulo invertido,
así como de la plataforma que simula el comportamiento del sistema.
Posteriormente en el capítulo tres se presentan los conceptos básicos concernientes al
�ltro de Kalman y el �ltro de Kalman Bucy, las ventajas de uno con respecto a otro son
mencionadas en el mismo.
Diversos tipos de estrategias de control son presentadas en el capítulo cuatro, con la
�nalidad de comparar y validar los resultados obtenidos mediante el control de Filtro de
Kalman, así mismo se mencionan los resultados del análisis de estabilidad por el método de
plano de fase
Finalmente, las conclusiones y trabajos futuros son presentados en el capítulo cinco.
4
Capítulo 2
Antecedentes
En éste capítulo se desarrolla el modelo matemático del péndulo invertido, así como se
brindan de�niciones y conceptos básicos para el entendimiento del mismo. Primeramente em-
pleando el método de Euler Lagrange, se obtiene un modelo, el cual es linealizado. Posterior-
mente se analiza la estabilidad del sistema y �nalmente se de�nen conceptos de observadores
de estado, así como diseño de los mismos.
2.1. Obtención del modelo del péndulo invertido
El procedimiento por el cual se obtiene el modelado en variables de estado del péndulo
invertido simple será a través del método de Euler Lagrange donde nos re�ere que el péndulo
invertido es un sistema de fuerza independiente conociéndose como un sistema subactuado,
ver [8]; teniendo el sistema en sus puntos de equilibrio inestables debido a su naturaleza
misma a menos que se aplique alguna acción de control la cual forcé al sistema a mantenerse
en los puntos de equilibrio deseados, esta acción de control se debe aplicar al carro el cual
tendrá un movimiento lineal sobre el eje de las x para mantener en los puntos de equilibrio
deseados, siendo necesario la descripción de la dinámica del sistema, ver más [2].
5
Considere el sistema mostrado en la siguiente imagen:
Imagen 2.1. Diagrama de un péndulo invertido
En el sistema mostrado por la imagen 2.1 la energía potencial de cada articulación, está
dada por
ui = mig�i + uref (2.1)
donde:
mi es la masa del eslabón i-ésimo,
g es la fuerza de gravedad,
�i es donde se localiza la posición del centro de masa de la articulación i-ésima, con
respecto al nivel de referencia de energía potencial cero
uref es una referencia de energía potencial cero.
Seleccionando la constante de referencia de manera que la energía potencial siempre sea
positiva, la expresión (2.1) se puede rescribir como
ui = mig�i
6
la energía potencial total del sistema es la suma de la energía de cada articulación, es decir
U =
nXi=1
mig�i: (2.2)
En el caso del péndulo presenta dos articulaciones �1 y d2, y la referencia en la cual la
energía potencial es cero, por lo tanto las ecuaciones que representan la energía potencial
están dadas por:
u1 = m1gl1 sin(�1) +m1l1g;
u2 = m2gd2 sin(�1) +m2gd2m�ax;
la energía potencial U total está dada por:
U = u1 + u2;
= g sin(�1)(m1l1 +m2d2) + g(m1l1 +m2d2m�ax):
A continuación se muestran las ecuaciones para la energía cinética, la cual está dada por:
ki =1
2miv
2i ; (2.3)
donde:
vi representa la velocidad del movimiento del eslabón i-ésimo
ki indica la energía cinética debido a la velocidad lineal de la masa de la articulación
i-ésima
la energia cinética total del sistema es la suma de la energía individual de cada articu-
lación, es decir:
K =
nXi=1
ki (2.4)
Considerando que la energía cinética de la ecuación (2.3) está de�nida por la velocidad
del movimiento del eslabón i-ésimo se rescribe como
K(�; _�) =1
2_�TM(�) _�;
con:
M(�) es la matriz de la masa del sistema, tal que M(�) =M(�)T > 0, � 2 Rn
� representa el vector de posiciones angulares de las articulaciones del sistema.
7
La expresión (2.3) de la energía cinética de cada eslabón está dada por:
k1 =1
2m1l
21_�2
i ;
k2 =1
2m2(d
22_�2
1 +_d22);
la energía cinética total es:
K = k1 + k2
=1
2_�2
1(m1l21 +m2d
22) +
1
2m2
_d22:
Vale la pena resaltar que los términos de inercia que afecten al sistema fueron omitidos, ya
que el péndulo invertido se trata de un sistema subactuado.
Las ecuaciones (2.2) y (2.4) se usan para calcular el Lagrangiano ver más [8], el cual se
de�ne como la diferencia entre la energía cinética y la energía potencial del sistema, es decir
L(�; _�) = k(�; _�)� u(�);
con_� =
d
dt�;
de esta manera nos proporciona un medio para obtener las derivadas de las ecuaciones del
sistema, con respecto a las variables del mismo obteniendo las ecuaciones en función de su
posición velocidad y aceleración, dada por
d
dt
�@L
@ _�
�� @L@�
= � ; (2.5)
esta expresión representa las ecuaciones diferenciales de movimiento del sistema, con lo que
es posible expresar las ecuaciones diferenciales en arreglos vectoriales como
M(�)�� + C(�; _�) _� +G(�) = �
con:
� es el vector de torque aplicado al sistema, de esta manera al tomar la ecuación
n-articulaciones o grados de libertad
C(�; _�) 2 Rnxn es la matriz de fuerzas centrifugas y de coriolis del sistema.G(�) es el vector de gravedad del sistema, G(�) 2 Rnx1:
8
2.2. Modelo dinámico del péndulo invertido
En el siguiente sección se realiza la obtención del modelo no dinámico del péndulo inver-
tido, usando el procedimiento de Euler Lagrange. En la imagen 2.2 se muestra el diagrama
esquemático del sistema.
Imagen 2.2.Diagrama esquematico del
péndulo invertido
donde:
M es la masa del carrito en kilogramos (kg),
m representa la masa del péndulo en kilogramos (kg),
l es el longitud del péndulo en metros (m),
g nos indica la aceleración gravitacional en metros por segundo2 (m=s2),
q1 es la medición de la posición del carro en metros (posición articular 1),
q2 es la medición de la posición angular del péndulo en radianes (posición articular 2) y
u es la fuerza aplicada en Newton (N) la entrada de control.
9
Para el análisis de las energías se considera un modelado de masa puntual como se ve en
la imagen 2.3.
Imagen 2.3 Modelo de masa puntual del péndulo
invertido
En la imagen anterior se muestra la propuesta para el modelo de masa puntual, donde x
es la referencia de energía potencial cero.
Con la referencia de energía potencial en cero que se marca en la imagen 2.3 la energía
potencial del carro es UM = 0; y la energía potencial del péndulo se representa por Um =
mgl cos q2; por lo que la energía potencial del sistema es
U = UM + Um
= mgl cos q2:
La energía cinética del carro se calcula como:
KM =1
2M _q21; (2.6)
donde:
_q1 =ddtq1; es la velocidad lineal del carro, la energía cinética del péndulo se obtiene por medio
10
de la siguiente ecuación:
Km =1
2m[V 2x + V
2y ]
=1
2m[ _C2x + _C2y ];
con:
Cx = q1 + _q2l cos q2 (2.7)
y
Cy = l cos q2: (2.8)
Los términos de las ecuaciones (2.7) y (2.8) se obtienen directamente de la �gura 1.3,
sustituyendo (2.7) y (2.8) en (2.6) se obtiene la energía cinética del péndulo
Km =1
2m�( _q21 + _q2l cos q2)
2 + (� _q2l sin q2)2�;
=1
2m[ _q21 + 2 _q1 _q2l cos q2 + l
2 _q22];
la energía cinética total del sistema es la suma de las energías individuales del carro y el
péndulo, es decir:
K = KM +Km
=1
2M _q21 +
1
2m[l2 _q22 + 2 _q1 _q2l cos q2 + _q21]:
Con la energía cinética y potencial del sistema se obtiene el Lagrangiano por medio de la
siguiente ecuación
L = K � U;
de esta manera se tiene que el Lagrangiano es:
L =1
2M _q21 +
1
2m[l2 _q22 + 2 _q1 _q2l cos q2 + _q21]�mgl cos q2;
contemplando esto obtenemos la ecuación del movimiento al realizar la derivada del la-
grangiano:d
dt
�@L
@ _q
�� @L@q
= � (2.9)
La ecuación del movimiento se obtiene al realizar la derivada del langrangiano donde:
@L
@ _q=
"@L@ _q1@L@ _q2
#=
"M _q1 +ml _q2 cos q2 +m _q1
ml2 _q2 +ml _q1 cos q2
#; (2.10)
11
d
dt
�@L
@ _q
�=
"M �q1 �ml _q22 sin q2 +ml�q2 cos q2 +m�q1ml2�q2 +ml _q1 _q2 sin q2 +ml�q1 cos q2
#, (2.11)
@L
@q=
"@L@q1@L@q2
#=
"0
�ml _q1 _q2 sin q2 +mql sin q2
#: (2.12)
Finalmente sustituyendo (2.11) y (2.12) en (2.9), se obtienen las ecuaciones que describen
la dinámica del sistema:"M _q1 �ml _q22 sin q2 +ml�q2 cos q2 +m�q1
ml2�q2 �ml _q1 _q2 sin q2 +ml�q1 cos q2 +ml _q1 _q2 sin q2 �mgl sin q2
#=
"u
0
#agrupando, se tiene
M(q)�q + C(q; _q) _q +G(q) = � ; (2.13)
reescribiendo la ecuación anterior como"M +m ml cos q2
ml cos q2 ml2
#"�q1
�q2
#+
"0 �ml _q2 sin q20 0
#"_q1
_q2
#+
"0
�mgl sin q2
#=
"u
0
#;
(2.14)
la ecuación (2.14) representa el modelo del péndulo invertido no linealizado descrita por la
ecuación (2.13).
A continuación se linealiza el sistema del péndulo invertido mediante series de Taylor.
Las ecuaciones no lineales del péndulo invertido son las siguientes:
(M +m) �q1 +ml��q2 cos q2 � _q22 sin q2
�= u (2.15)
l�q2 + �q1 cos q2 = g sin q2: (2.16)
Obteniendo de la ecuación (2.16) una expresión para �q2; se tiene
�q2 =g sin q2 � �q1 cos q2
l; (2.17)
sustituyendo (2.17) en la ecuación (2.15), obteniendo
(M +m) �q1 +mg sin q2 cos q2 �m�q1 cos2 q2 �ml _q22 sin q2 = u
con lo que �q1, está dada por
�q1 =u�mg sin q2 cos q2 +ml _q22 sin q2
(M +m)�m cos2 q2(2.18)
12
sustituyendo (2.18) en (2.16), se tiene
l�q2 +u cos q2 �mg sin q2 cos2 q2 +ml _q22 sin q2 cos q2
(M +m)�m cos2 q2= g sin q2
obteniendo una nueva expresión para �q2
�q2 =(M +m) g sin q2 � u cos q2 �ml _q22 sin q2 cos q2
l [(M +m)�m cos2 q2]; (2.19)
igualando las expresiones (2.18) y (2.19),
�q1�m cos2 q2 � (M +m)
�= mg sin q2 cos q2 � u�ml _q22 sin q2
se obtiene una expresión para �q1
�q1 =mg sin q2 cos q2 � u�ml _q22 sin q2
m cos2 q2 � (M +m): (2.20)
La linealización del modelo del péndulo invertido de las ecuaciones (2.15) y (2.16) son
obtenidas mediante linealización por series de Taylor, considerando variaciones pequeñas de
q2 alrededor del punto de equilibrio, cuando el péndulo está en la posición superior, así como
los términos de orden superior son despreciados.
La linealización del modelo puede ser expresada en su correspondiente representación de
espacio de estados como sigue, para conocer más ver [10] y [4].
�x = Ax+Bu
y = Cx;
donde:
x =hq1 q2
�q1
�q2
iTy =
hq1 q2
iy las matrices A;B y C están dadas por:
A =
2666640 0 1 0
0 0 0 1
0 (ml)2g(M+m)+mMl2
0 0
0 (M+m)mgl(M+m)+mMl2
0 0
377775 ; B =
2666640
0(ml)2
(M+m)+mMl2
ml(M+m)+mMl2
377775 y C =
"1 0 0 0
0 1 0 0
#: :
13
Observe que el polinomio característico del sistema linealizado está dado por
1
M +m+Ml2m
�Ms4 +ms4 �Mglms2 +Ml2ms4 � glm2s2
�;
dado que las masas, la longitud y la gravedad no pueden ser negativas y aplicando el Criterio
de Routh Hurwitz, es evidente que el sistema es inestable.
El sistema no puede ser compensado por técnicas de control clásico puro cabe mencionar
que existen otras técnicas para compensar el sistema tal es el caso de hacer uso de retroali-
mentación de estados para estabilizar el sistema y posteriormente realizar acciones de control
tales como la proporcional, la integral o la derivativa, según sea el caso.
2.3. Observadores de estado
Los observadores de estado, son herramientas virtuales, que permiten estimar las variables
o estados de un sistema con base en mediciones de las señales de salida y señales de control.
Estos observadores permiten enviar información estimada acerca del valor que toman dichos
estados, permitiendo conocer un aproximado del valor real, además cuentan con muy poco
margen de diferencia o error.
Se le considera una herramienta virtual, puesto que se desarrolla como software o pro-
grama dentro de una computadora.
Existen dos tipos de observadores de estado, si el observador de estado estima todas
las variables de estado del sistema, independientemente de si algunas variables de estado se
encuentran disponibles para medición directa, se denomina observador de estado de orden
completo. Hay ocasiones en que esto no es necesario ya que sólo se requiere observar las
variables de estado no medibles. Por ejemplo, como las variables de salida son observables y
están relacionadas con las variables de estado, no se necesitan observar todas las variables de
estado, sino sólo observar n�m variables de estado, donde n es la dimensión del vector de
estado y m es la dimensión del vector de salida. El observador, que sólo estima las variables
de estado de orden mínimo se denomina observador de estado de orden reducido.
A continuación se detallan estos tipos de observadores, así como su ecuación característica
y los métodos de diseño más comúnmente empleados para su realización.
14
2.3.1. Observador de orden completo
Dado el sistema:
_x = Ax+Bu
y = Cx+Dx
donde:
x Vector de estado (n� 1)
u Señal de control (escalar)
y Señal de salida (escalar)
A Matriz (n� n)
B Matriz (n� 1)
C Matriz (1� n)
D Matriz (escalar)
De los cuales se puede estimar sus estados mediante la siguiente expresión:
�x = A�x+BuL(y � �y)
donde:
L Vector de ganancias que permiten la observación de estados (1� n)
�x Vector de estados estimados
�y Salida estimada
A continuación se muestra un diagrama a bloques en la imagen 2.3.1 de un sistema
retroalimentado por un observador de estado de orden completo, donde se observan todas
15
las variables y su con�guración.
Imagen 2.3.1. Diagrama a bloques de un sistema retroalimentado por un
observador de estados de orden completo
Debe notarse que las matrices A, B, C y D son las mismas tanto para un sistema real
como para el sistema estimado. Para los cálculos siguientes se asume que el valor de D es
cero.
La diferencia existente entre x y �x se denomina error de observación, y el término L(y��y)se denomina factor de corrección.
Para determinar el error de observación restamos _x, así tenemos:
_x���x = (Ax+Bu)� (A�x+Bu+ L(y � �y))= Ax� A�x� L(y � �y)
sustituyendo y = Cx;
_x���x = A(x� �x)� LC(x� �x)
o bien,
_x���x = (A� LC)(x� �x):
16
El error está de�nido como la diferencia entre el estado real y el estado estimado, entonces
se tiene:
e = x� �x_e = _x�
��x
_e = (A� LC) � e
A partir de esta expresión se puede conocer el comportamiento dinámico y la estabilidad
del sistema. Si la matriz [A� LC] es estable y dada cualquier condición inicial en el sistemael error tiende a cero, entonces el observador cumple su objetivo.
La elección de valores correctos para el vector de observabilidad L, permite que el com-
portamiento dinámico del vector de error sea asintóticamente estable y lo su�cientemente
rápido para tender a un valor de cero.
La estabilidad asintótica y la velocidad de respuesta de la dinámica del error se determina
mediante los auto valores de la matriz [A� LC] , dados por el polinomio característicojsI � A+ LCj.A lo que debe considerarse que existe una condición necesaria, la cual consiste en que el
sistema obtenido sea estable, completamente controlable y observable.
2.3.2. Diseño de observadores de orden completo
Existen diversos métodos para el diseño de observadores de orden completo, en la siguiente
sección se detallan de forma concisa los métodos más comúnmente utilizados para este �n.
Método de diseño abreviado
Los valores que toman L1 y L2 están sujetos por las raíces del polinomio, las cuales a su
vez están condicionadas por las características a cumplir por el sistema, por tanto es posible
elegir raíces tales que controlen la respuesta del sistema en lazo cerrado.
Asignando valores para dichas raíces, a los que denotaremos por �1 y �2 de modo tal
que el polinomio tenga una respuesta estable, posteriormente por igualación de términos se
hallan los valores de las incógnitas.
17
Método de diseño por la fórmula de Ackerman
La fórmula de Ackerman aplicada al diseño de observadores de estado, está dada por:
L = �(A)
266664C
CA...
CAn�1
377775�1 266664
0
0...
1
377775 ;donde �(A) es equivalente a �(s), que es el polinomio característico deseado, pero en lugar
de la s se coloca la matriz A.
Método de diseño completo
Determinar la controlabilidad del sistema y la observabilidad
Controlabilidad:
Wc = [B AB : : : An�1B]
Observabilidad:
Wo =
266664C
CA...
CAn�1
377775�1
Calcular el polinomio característico original jsI � Aj, el cual será:
jsI � Aj = sn + a1sn�1 + a2sn�2 + : : :+ an�1s + an = 0
Es conveniente trabajar con las ecuaciones de estado en su forma canónica observable,
si no se encuentra en esta forma, se debe determinar una matriz de transformación
para llevarla a esta forma, la cual se de�ne como:
Q = (W �Wo)�1
Donde Wo es la matriz de observabilidad, y W se de�ne como:
W =
26666664an�1 an�2 � � � a1 1
an�2 an�3 � � � 1 0...
.... . .
......
a1 1 � � � 1 0
1 0 � � � 0 0
3777777518
con a1; a2; : : : an�2; an�3, como coe�cientes del polinomio característico original jsI � Aj.
Se determina el polinomio característico deseado a partir de (s��1)(s��2)(s��3)(s��n), donde i es un polo deseado, obteniéndose:
sn + b1sn�1 + b2sn�2 + : : :+ bn�1s + bn
Finalmente el vector L se encuentra a partir de la siguiente expresión:
L = Q�
26666664bn � an
bn�1 � an�1bn�2 � an�2
...
b1 � a1
37777775 :
2.3.3. Observador de orden reducido
En la práctica no todas las variables necesitan ser observadas, habrá algunas que se
podrán medir directamente y con buena precisión, por tanto no será necesario un observador
que estime todos los estados, sino más bien sólo algunos de ellos.
Si se cuenta con un vector de estados X de dimensión (n� 1) del cual m estados pueden
ser medibles, se tendrá que el orden del observador será (n�m� 1):
A continuación se muestra un diagrama a bloques como se observa en la imagen 2.3.3
de un sistema retroalimentado por un observador de estado de orden reducido, donde se
observan todas las variables y su con�guración.
19
Imagen 2.3.3.Diagrama a bloques de un sistema
retroalimentado por un observador de estados de orden
reducido
El vector X puede ser dividido en dos vectores:
Xa que corresponde a los estados medidos, de orden (m� 1)
Xb que corresponde a los estados observados, de orden (n�m� 1)
X =
2666666666666664
x1
x2...
xm
xm+1
xm+2...
xn
3777777777777775n�1
X1 : : : Xm !Estados conocidos o mediblesXm+1 : : : Xn !Estados no conocidos que requieren ser observadosObteniéndose: "
_Xa_Xb
#=
"Aaa Aab
Aba Abb
#"Xa
Xb
#+
"Ba
bb
#u
Y =hCa Cb
i " XaXb
#
20
Las dimensiones de las sub-matrices son:
Aaa �! m�mAab �! m� n�mAba �! n�m�mAbb �! n�m� n�mBa �! m� 1Bb �! n�m� 1Ca �! 1�mCb �! 1� n�m
El sistema queda reducido a la siguiente expresión:
_Xa = Aaa �Xa+ Aab �Xb+Ba � u_Xb = Aba �Xa+ Abb �Xb+Bb � u
2.3.4. Diseño de observadores de orden reducido
En el diseño de observadores de orden completo, el sistema era descrito por
_x = Ax+Bu
y = Cx+Dx
En cambio para el diseño de observadores de orden reducido el sistema es descrito por la
Ecuación de Estado:_XbAba �Xa+ Abb �Xb+Bb � u;
y por la Ecuación de Salida:
_Xa� Aaa �Xa�Ba � u = Aab �Xb:
De estos dos sistemas se pueden establecer una serie de equivalencias:
Observador de orden completo Observador de orden reducido�X �Xb
A Aab
B � u Aba �Xa+Bb � uY _Xa� Aaa �Xa�Ba � u�Y Aab � �XbC Aa
21
Cabe mencionar que se busca encontrar un vector de observadores L, de orden (n�m�1)En el diseño de observadores de orden completo se determinó la siguiente ecuación:
��x = A�x+BuL(y � �y)
La cual puede llevarse a su correspondiente equivalencia para el caso de observadores de
orden reducido, obteniéndose la siguiente representación:
��Xb = (Abb� L � Aab) �
��Xb+ Aba �Xa+Bb � u+ L � ( _Xa� Aaa �Xa�Ba � u)
y la Ecuación del Error es:
_e = (Abb� L � Aab) � e:
La Ecuación Característica para el observador es la siguiente:
jsI � Abb+ LAabj = si + a1si�1 + a2si�2 + : : :+ ai�1s+ ai = 0
donde i equivale al orden de L, es decir (n�m):La deducción de esta expresión puede encontrarse en la referencia [6]
Metodología de diseño
Se pueden aplicar los mismos métodos usados para hallar los observadores de orden
completo, pero tenemos que hacer una variación la cual consiste en reemplazar los índices en
lugar de considerar el índice n, se debe considerar el índice i. Por ejemplo si un sistema es de
cuarto orden y tiene un estado medible, entonces m = 1, y por tanto el sistema observado
será de tercer orden (n�m = 4� 1 = 3 = i):El otro cambio que hay que hacer es realizar una equivalencia entre las matrices, dada
de la siguiente manera:Aaa �! D
Aab �! C
Aba �! B
Abb �! A
Lo que resta por hacer, es aplicar la misma metodología que para los observadores de
orden completo, considerando el nuevo orden del sistema y las nuevas matrices del sistema
(Abb;Aba;Aab;Aaa).
22
2.3.5. Observador para sistemas MIMO
En el presente trabajo se ha tratado el diseño de observadores para sistemas SISO (single
input, single output), es decir, sistemas que tienen una entrada y una salida. A continuación
se analiza el diseño de observadores para el caso de sistemas con varias entradas y varias
salidas, llamados sistemas MIMO (multiple input, multiple output).
Un sistema MIMO puede ser descrito de la siguiente manera:
_x = Ax+B[u]1�r
y = [C]q�n +D[u]q�r
donde:
x Vector de estado (n� 1)u Señal de control (1� r)y Señal de salida (escalar)
A Matriz (n� n)B Matriz (n� r)C Matriz (q � n)D Matriz (q � r)n Es el orden del sistema (número de estados)
r Es el número de entradas
q Es el número de salidas
En el diseño de observadores, se sabe que el número de entradas que tenga el sistema, no
afectará el diseño del observador, puesto que estos datos no intervienen en los cálculos.
En cambio, el número de salidas con que cuente el sistema si afecta el diseño del obser-
vador. En este caso se aplica el Principio de Separabilidad Lineal, el cual consiste en separar
las salidas y trabajarlas como si fueran provenientes de sistemas distintos.
23
Capítulo 3
Construcción del péndulo invertido
En el presente capítulo se explica la construcción de una plataforma funcional, la cual sim-
ula el comportamiento físico del péndulo invertido aplicando técnicas de control abordadas
en capítulos anteriores y aplicando conocimientos tanto de electrónica como de mecánica.
3.1. Construcción mecánica
La construcción mecánica se encuentra presente en cualquier parte de un prototipo físico,
para poder visualizar el comportamiento del péndulo invertido se requiere de mecanismos
que lleven a cabo la tarea, que el controlador diseñado pretende implementar, a continuación
se detalla la construcción del mecanismo que ayuda a transportar este comportamiento al
proyecto construido.
24
El cual luce como se puede ver en la siguiente imagen 3.1
Imagen 3.1. Proyecto físico.
3.1.1. Base de mecanismo
Para construir el mecanismo de carrera del péndulo se ha reutilizado el mecanismo de
guía de cartuchos de una impresora estándar, desmontándose, la cual fue cubierta de madera
formando una plataforma. El tamaño de dicha plataforma determina en gran parte el dimen-
sionamiento de los elementos restantes que conforman el péndulo, la plataforma se puede ver
en la imagen 3.1.1
Imagen 3.1.1. Base del mecanismo.
25
3.1.2. Plataforma de carro guía
Para el funcionamiento del carro guía se aprovecha el sistema guía de los cartuchos de
una impresora utilizando el motor y la banda para la carrera del mismo, el cual sirve para
mantener �jo el carro a través del espacio de trabajo de la plataforma principal, el carro guía
a su vez soporta el mecanismo del péndulo así como el dispositivo eléctrico para monitoreo
de la posición del péndulo, como se ve en su segmento correspondiente, por lo cual se realizan
las consideraciones pertinentes para modi�car sobre las dimensiones de la plataforma como
se ve en la imagen 3.1.2.
Imagen 3.1.2. Plataforma del carro guía.
De lo anterior se conocen las características eléctricas del motor de C.D. las cuales son:
MODELO VOLTAJE (V) SIN CARGA A PLENA CARGA
RS-385SHRango de op eración Nom inal
6 .24 12
Velo cidad Corriente
RPM A
10000 0.20
Velo cidad Corriente Torque Potencia
RPM A mN*m W
8170 0.89 7.89 6.74
Y las características físicas del mismo son:
26
Características físicas del motor
Es importante resaltar que en la readaptación del dispositivo de carrera de la plataforma
experimental se desconoce la relación de transferencia de velocidad que existe entre el motor
de D.C. y la banda dentada de lo cual resulta en esta la parte la justi�cación del uso de
observadores de estado, de esta manera por medio de los mismos se estima la velocidad del
dispositivo a través del espacio de trabajo.
3.1.3. Carro guía y péndulo
Como se explica en el segmento anterior, se realizan las modi�caciones pertinentes para
ajustar la plataforma a los dispositivos necesarios a instalar, para el funcionamiento libre
del péndulo, se crea el mecanismo el cual se sujeta por el carro guía ajustándose a las
dimensiones que provee el mismo, así como las consideraciones de dimensiones para que
el sistema de péndulo no contenga alguna limitación física en su movimiento, ya sea en
obstrucciones por la plataforma principal o por rozamientos ocasionados por el mecanismo,
como se puede apreciar en la imagen 3.1.3
Así mismo para el monitoreo de la variable de posición que produce el péndulo se coloca
un potenciómetro multivuelta acoplado al eje del péndulo, como se ve en la construcción
eléctrica, se ha optado por un dispositivo multivuelta para así limitar en menor medida
como sea posible el movimiento del péndulo.
El péndulo consta de cierta masa, esta masa produce ciertas variables que afectan la
estructura del mecanismo, como la inercia que se produce por el movimiento, con lo que los
27
materiales deben tener resistencia a las fuerzas y movimientos que produzca el dispositivo,
por lo cual se usan materiales metálicos resistentes a las fuerzas generadas, en el caso de la
guía del péndulo se usa una varilla metálica debido a sus cualidades resistencia del material
así como la capacidad de ajuste de dimensiones de la guía teniendo la posibilidad de ajustar
la distancia del péndulo al eje de la guía, como se ve en la imagen 3.1.3A.
Imagen 3.1.3. Mecanismo del péndulo.
Imagen 3.1.3A Soporte del péndulo.
3.2. Construcción electrónica
El diseño electrónico se ve facilitado por muchos entornos de software. La forma que se
presenta en este segmento es la de subdivisión, es decir dividir el proyecto en partes más
simples y fáciles de implementar, además se realizan por separado la pruebas de cada una
28
de estas partes, de ésta manera si funcionan por si solas, estas funcionarán en conjunto,
para así obtener el proyecto electrónico que se espera; la imagen siguiente muestra el circuito
electrónico.
Imagen 3.2 Circuito electrónico del péndulo.
A continuación se detalla la construcción eléctrica para la puesta en marcha del prototipo
del péndulo invertido, segmentado en varias partes, para su fácil compresión.
3.2.1. Adquisición de la posición del péndulo
El conocer la ubicación inicial del péndulo resulta de vital importancia ya que determina
la acción que debe realizar el controlador. Para determinar la posición angular del péndulo se
ha acoplado el movimiento del eje del péndulo un potenciómetro circular SEN-09074, el cual
produce una señal eléctrica de tipo analógica, señal que determina una posición diferente a
cada valor analógico producido por el variador, este valor es convertido de su señal analógica a
un valor digital de ocho bits, para el cual se de�ne en su rango de 360� la relación matemática
(360x)=255 la que proporciona el valor real de la posición angular del péndulo. Esta señal
una vez procesada es enviada al dispositivo principal de comunicación el pic 18F2550 vía
USB para análisis del controlador.
A continuación se muestra resaltado en la imagen 3.2.1 el circuito para adquisición de
posición del péndulo.
29
Imagen 3.2.1.Diagrama para adquisición de posición angular
3.2.2. Adquisición y posicionamiento del carro guía
Para el sistema físico propuesto es necesario considerar que existen límites físicos, los
cuales nos determinan la información de distancia máxima a recorrer por el carro guía del
péndulo, esta información es retroalimentada por un sensor tipo infrarrojo, sensor de distan-
cia analógico SHARP GP2Y0A21YK. el cual mide la posición del carro mediante una señal
analógica la que retorna al pic 18f2550 y es enviada a través del USB a la interfaz diseñada
en MatlabTM en donde se calcula la posición del carro, ya que el sensor no provee de una
medición lineal se ha medido la señal digital retornada por la tarjeta de adquisición de datos,
así como la distancia del carro, los puntos obtenidos se han extrapolado, obteniéndose:
�0;0007x2 + 0;2847x+ 3;0564
donde x es la variable digital obtenida a través de la comunicación USB-PC.
En el posicionamiento real del carro se utiliza un motor, los componentes antes indicados
se encargan de generar las señales necesarias, pero las características de estas no permiten
conectar directamente a ellos un actuador motor, por lo cual las señales generadas por los
30
componentes una vez más se tratan por una etapa de potencia, con la �nalidad de energizar
el actuador, a continuación se muestra el diagrama en la imagen 3.2.2.
Imagen 3.2.2. Diagrama de etapa de potencia.
Para protección de circuito de control se han integrado opto acopladores a las salidas del
pic 18F2550, pic de posicionamiento, los cuales activan al puente h para proteger el circuito
contra retornos de corrientes, el cual se encarga de mover el carro acoplado al motor para
obtener la respuesta que se desea obtener del sistema.
Una vez comprobado el funcionamiento del circuito se ha creado el circuito físico para la
etapa de potencia aislada de la etapa de control que genera las señales de control, el cual se
muestra a continuación:
Imagen 3.2.3 Etapa de potencia, circuito físico.
31
3.2.3. Comunicación de datos con PC
Para lograr el enlace de la plataforma de MatlabTM en la cual se ha diseñado la in-
terfaz se utilizan las funciones de USB, incorporadas en lenguaje del programa PCW para
programación de pic�s, dichas funciones operan de forma que el ordenador reconozca el dis-
positivo como un dispositivo personalizado. A continuación se describen los pasos a seguir
para establecer la comunicación:
1. Creación del programa para la interfaz en el compilador PCW para pic�s.
2. Compilación y grabado del programa en el pic 18f2550.
3. Ensamblado de los componentes electrónicos, conexión al puerto USB, para el re-
conocimiento del dispositivo, como se puede ver en la imagen la parte resaltada del
diagrama es la parte requerida para este paso.
Imagen 3.2.3 Interfaz para comunicación con Matlab.
4. Obtención de controladores provistos por MicrochipTM .
5. Conexión del dispositivo físico con puerto USB del ordenador.
6. Instalación y ejecución de los controladores provistos por MicrochipTM.
32
7. Comprobación de la correcta instalación en el administrador de dispositivos, de seguirse
los pasos adecuadamente es posible visualizar el controlador como se ve en la siguiente
imagen.
Imagen 3.2.3.1 Ventana de
reconocimiento de controladores.
8. Con�guración del hardware y conexión con la interfaz desarrollada en MatlabTM para
el intercambio de datos.
Imagen 3.2.3.2 Ventana de interfaz
grá�ca del péndulo
9. Comprobación de comunicación entre software y hardware.
33
10. Implementación del controlador diseñado sobre la interfaz.
3.2.4. Logica de funcionamiento de la plataforma experimental
Finalmente de forma general el dispositivo presenta el siguiente comportamiento, el cual
se compone de tres partes de procesamiento de información, las cuales se interpretan como
se ve a continuación.
Lógica de interfaz hombre maquina (alojado en la PC)
Esta parte es un ciclo constante el cual se encarga de recalcular y aplicar la acción de
control constantemente, en principio inicializa la interfaz de comunicación vía USB para
comunicación con el dispositivo físico, a continuación inicia las variables de almacenamiento
de estados y de cálculos, una vez hecho esto se realiza una toma de decisión la cual consiste
de que si el dispositivo físico está conectado se pasa a la siguiente etapa, de no ser así se
espera hasta que el dispositivo esté conectado, la siguiente etapa consta de la obtención de
las variables de posición del dispositivo, a partir de estos se toma la decisión de calcular la
acción de control si el controlador esta activado, si se calcula la acción de control se interpreta
el resultado y se analiza de acuerdo al límite de la velocidad máxima del dispositivo, una
vez convertida al porcentaje de velocidad operable del dispositivo se envía la información
vía USB al dispositivo físico para su aplicación, es importante destacar que a través de la
ejecución y calculo de todo el algoritmo, este interactúa constantemente con el algoritmo de
la interfaz física para actualizar la información y la acción hecha por el dispositivo físico, ver
más [16].
Lógica de Interfaz física de péndulo
Esta parte es a través de la cual mas información pasa ya que este se encarga de comunicar
los datos de las variables de posición en la PC, establecer la comunicación USB con la PC
y a su vez el controlador y también se encarga de ejecutar las acciones calculadas sobre
el actuador (motor). Este algoritmo sigue una lógica estructurada en la que en principio
con�gura el dispositivo (pic) para el tipo de entradas y salidas con las que interactúa, como
son una entrada analógica, una entrada de forma paralelo la cual es suministrada por el
algoritmo de adquisición de posición angular, la cual no es bidireccional lo que implica que
solo recibe información el dispositivo en cuestión, este algoritmo a su vez se encarga de
ejecutar tres salidas digitales para la activación del puente H, y la con�guración para la
34
comunicación vía USB, una vez con�gurado el dispositivo de manera mencionada se procede
a realizar la conversión de la señal analógica en digital, la cual indica la posición del carro
guía a través de la carrera del dispositivo, después de esto se muestrea la señal paralela que
indica la posición angular del péndulo, una vez obtenidas las variables de posición se envía la
información a la PC si la comunicación está disponible, si no se espera a que esté disponible,
una vez envida la información se espera por la recepción de señales de control que retorna vía
USB desde la PC, obtenida esta información se ejecuta sobre el puente actualizando sentido
del motor y porciento de PWM ejecutado sobre el motor, terminado esto se vuelve a ejecutar
el algoritmo sin la necesidad de volver a con�gurar el dispositivo (pic).
Lógica del convertidor de posición angular
Este dispositivo es el encargado de traducir el voltaje producido en un valor digital el
cual puede a través de la conexión paralela realizada con el pic que funge de interfaz con la
PC, en principio se con�gura las entradas del dispositivo (pic) como una entrada analógica
y ocho salidas digitales para transmitir el dato obtenido, una vez hecho esto se muestrea y
convierte la señal analógica que representa la posición angular a un valor digital este se envía
por la conexión paralela al pic 18F2550 y se repite nuevamente el ciclo del algoritmo sin la
necesidad de con�gurar nuevamente el dispositivo, para actualizar constantemente el valor
de la posición angular.
La lógica antes descrita puede visualizarse de forma gra�ca en diagrama de �ujo que se
presenta a continuación en la imagen 3.2.4.
35
Inicio
Inicialización de
Protocolo Interfaz
por USB
Inicialización de
Variables
Recepción de
Variables de
Retroalimentación
Control PID
Activado?
Si
Calculo de
Termino
Proporcional
Calculo de
Termino
Derivativo
Calculo de
Termino
Integrativo
Limites si Variable
es muy Grande o
muy Pequeño
Envió de Señales
de Control
(Sentido y %
PWM)
Dispositivo
Personalizado
Conectado?
Si
No
No
Inicio
Reset del Pic
16f873A
Configuración de
Entradas y salidas
Muestreo de
Voltaje de Entrada
(Posición Angular)
Conversión de
Señal Analógica a
Digital
Envió de Variable
Digital Obtenida a
Salidas por
PORTB
Inicio
Reset del Pic
18F2550
Configuración de
Entradas y Salidas
Configuración de
Terminales para
Comunicación
USB
Muestreo de
Voltaje de Entrada
(Posición de
Carro)
Muestreo de
Entrada en
PORTB (Posición
Angular)
Igualación de
Variables de
Entrada con Buffer
para Envió USB
Comunicación
Disponible
Envió de Datos
Vía USB
Si
No
Recepción de
Datos Vía USB
Igualación de
Buffer con
Variables de
Salida
Colocar % PWM y
Sentido del Motor
Imagen 3.2.4 Diagrama de �ujo general de la plataforma
experimental.
36
3.2.5. Alimentación eléctrica del dispositivo
Para el desarrollo de pruebas es necesario contar con un elemento, el cual suministre
voltaje al circuito, este elemento se conoce como fuente de voltaje.
Debido a la cantidad de componentes y también la con�guración de los mismos se requiere
de tres voltajes diferentes, los cuales son control, potencia y referencias.
(Vcc) Voltaje 5 volts para alimentación de componentes de control como pic�s y dis-
positivos de medición como sensores.
(VDD) Voltaje de 18 volts el cual alimenta la potencia del sistema que se re�ere a la
alimentación para el movimiento del actuador (motor).
(Vss) Voltaje -5 volts que se usa para colocar voltajes de referencias negativas, como
son ampli�cadores operacionales.
Debido a que se requiere alimentar con diferentes voltajes se ha utilizado y creado una
fuente de voltaje, la cual requiere de una conexión de 120 VCA, lo cual hace más fácil tanto
el transporte como el uso del equipo, el circuito correspondiente es el que se puede ver en la
siguiente imagen.
Imagen 3.2.5 Fuente de alimentación.
Una vez probado el circuito y medidos los voltajes de salida es diseñado y construido el
circuito físico, como se puede ver a continuación:
37
Capítulo 4
Filtro de Kalman
En este capítulo se presentan los principales resultados sobre algoritmos de �ltro de
Kalman así como el desarrollo de ecuaciones para la implantación del �ltro.
4.1. Filtro de Kalman
El �ltro de Kalman es un método numérico el cual provee una solución recursiva e�ciente
con base al método de mínimos cuadrados, permitiendo calcular un estimador lineal insesgado
y óptimo del estado del sistema o proceso de estudio en todo momento de tiempo con relación
de la información en ese instante y realizar una actualización con la información adicional
obtenida hasta el momento para realizar dichas estimaciones. De esta manera el �ltro de
Kalman tiene como principal �nalidad la estimación de sistemas dinámicos en la forma de
espacio-estado, por lo cual resulta apropiado para el sistema del péndulo invertido.
En el sistema del péndulo invertido existen perturbaciones que afectan al sistema y por
tanto provocan que se alejen del punto de operación deseado, por ello es necesario la im-
plantación de métodos de control para predecir dichas perturbaciones internas o externas
del sistema, consideradas de manera determinística o aleatoria, aunque existen diferentes
métodos para la predicción de estimaciones como es el �ltro de error medio cuadrático o
�ltro de Wiener el cual fue desarrollado por Norbert Wiener en la década de los cuarenta y
publicado en el año de 1949. La �nalidad era ocuparlo en métodos estadísticos para reducir
el ruido que se presenta en la señal de entrada de tal modo que después de utilizarse el �ltro
de Wiener, la salida se aproxime lo más posible a una señal deseada en el sentido cuadrático
medio, la manera en la que se realiza el �ltro de Wiener es tomar la señal de entrada x(t)
39
para obtener un �ltro de esta, en términos frecuenciales comprendido por la transformada
de Fourier para obtener la salida y(t) en sentido de �ltros pasa medias, pasa bandas o pasa
altas que sea lo más parecida a una señal d(n) la cual es denominada set point o punto de
referencia, no obstante un planteamiento lineal del problema obliga a tomar como medida
de parecido el error cuadrático medio entre la salida y la referencia, como se puede ver en la
imagen 4.1.
Imagen 4.1 Diagrama a bloques de Filtro de Wiener
Sin embargo, éste método presenta algunas limitaciones en la utilización de señales disc-
retas y en algunos problemas complejos de múltiples entradas y salidas, por ello en 1960 el
Dr. Rudolph Kalman pública su artículo [13], basado en el �ltro de Wiener para la solución
de diseños de �ltros óptimos, considerando múltiples entradas y salidas, tomando en cuenta
la recursividad mediante el método de espacio estados, el cual implementa el uso de métodos
computacionales lo cual supone un gran aporte. Con base en lo anterior existe la limitante de
que es necesario conocer la entrada del sistema por lo que en 1961 Kalman en conjunto con
Bucy realizan una publicación [14] evocándose al desarrollo del �ltro en tiempo continuo, en
el cual no hay tal limitante y existe una �ltración mas precisa del ruido que se presenta en
el sistema, como se detalla en los siguientes segmentos.
40
4.2. Algoritmo general del �ltro de Kalman
El proceso de estimación que se emplea en el �ltro de Kalman tiene la forma de un control
de retroalimentación, estimando los estados del proceso en tiempo real, y retroalimentándolos
en forma de mediciones.
El objetivo general del �ltro de Kalman se desempeña suponiendo que el sistema puede
ser descrito a través de la obtención de un modelo lineal como en el caso del sistema en el cual
se trabaja en el presente trabajo del péndulo invertido, dicho sistema tiene una naturaleza
no lineal como es el caso de todos los sistemas presentes en nuestro entorno, es por eso que
se procede a su linealización, séase series de Taylor en el presente trabajo, ver más [6] y [5]
para el péndulo invertido.
Para poder emplear el Filtro de Kalman es necesario combinar la información observada
y el conocimiento previo de cómo es que se comporta el sistema por ello es importante desar-
rollar el modelado de éste, para de esta manera ver su comportamiento lo más aproximado a
la realidad, para producir una estimación del error de tal manera que el error sea minimizado
estadísticamente. El término recursivo implica que el �ltro recalcula la información cada vez
que una nueva observación o medida es incorporada al sistema del �ltro.
Debido a que el �ltro de Kalman trabaja con sistemas dinámicos en la forma de espacio
estados es importante tener nuestro sistema descrito en esta forma para la implantación del
Filtro de Kalman, el estado contiene toda la información relativa al sistema a un cierto punto
en el tiempo.
El �ltro de Kalman es tan interesante precisamente a su habilidad para determinar el
estado de un sistema en el pasado, presente y futuro, aún cuando la naturaleza precisa del
sistema modelado es desconocida en ciertos puntos del sistema. En la práctica las variables
de estado individuales de un sistema dinámico no pueden ser exactamente determinadas por
una medición directa. Dicho lo anterior, su medición se realiza por medio de observadores
de estado los cuales se explican en el capítulo uno sección 1.3 de esta tesis para las variables
donde no se puede medir de una manera directa al sistema, compensando estas con sensores
físicos como se ve en el capitulo tres, los cuales nos indican los estados del sistema en un
tiempo t para trabajar en conjunto con el �ltro y obtener la información, para permitir la in-
ferencia del comportamiento pasado del sistema, con el objeto de predecir su comportamiento
futuro.
Para la implantación del �ltro de Kalman podemos derivar las ecuaciones en dos tipos:
Las que actualizan el tiempo o ecuaciones de predicción y
41
Las que actualizan los datos observados o ecuaciones de actualización.
Las primeras son responsables de la proyección del estado al instante t considerando
como referencia el estado en el momento t � 1 y de la actualización intermediaria de lamatriz de covarianza del estado. El segundo grupo de ecuaciones son responsables de la
retroalimentación, incorporan nueva información dentro de la estimación anterior, con ello
se llega a una estimación mejorada del estado.
Por ello, el algoritmo de estimación �nal puede de�nirse como un algoritmo de pronóstico-
corrección para resolver numerosos problemas a toda clase de sistemas de cualquier tipo como
económicos, tal es el caso del Departamento de investigaciones económicas del Banco central
de Costa Rica, [12].El �ltro de Kalman funciona por medio de un mecanismo de proyección
corrección, al pronosticar el nuevo estado y su incertidumbre y corregir la proyección con
una nueva medida como se observa en la imagen 4.2.
Imagen 4.2 El ciclo del Fíltro de Kalman.
Para el problema de la estimación en el Filtro de Kalman se debe de considerar las
siguientes ecuaciones que describen el sistema y sus modelos de medición se considera la
siguiente ecuación del sistema lineal en tiempo discreto como:
x[k + 1] = Ax[k] +Bu[k] + Fv[k]; y[k] = Cx[k] + w[k]; (4.1)
donde v[k] y w[k] son ruido blanco Gaussiano:
Efv[k] = 0; Efw[k]g = 0;
42
Efv[k]vT [j]g =�0 k 6= jRv k = j;
Efw[k]wT [j] =�0 k 6= jRw k = j;
(4.2)
Efv[k]wT [j]g = 0:
Efv[k]g representa el valor esperado de v[k]Efv[k]vT [j]g es la correlación de la matrizRv y Rw son las matrices de covarianza para el proceso de perturbación v y la medición
del ruido w.
Asumiendo que la condición inicial es modelada como una variable Gaussianna aleatoria
con
Efx[0]g = x0; Efx[0]xT [0]g = P0: (4.3)
Para encontrar un estimado x̂[k] que minimice el error cuadrado medioEf(x[k]�x̂[k])(x[k]�x̂[k])Tg dada por las medidas fy() : 0 � � � tg. Considerando un observador en la mismaforma básica como derivado previamente.
x̂[k + 1] = Ax̂[k] +Bu[k] + L[k](y[k]� Cx̂[k]): (4.4)
Lo anterior se resume como sigue a continuación.
Ver mas [13].Considera un proceso aleatorio x[k] con dinámica dada por la ecuación (4.1)
y procesos de ruido y las condiciones iniciales descritas por la ecuación (4.2) y (4.3). La
ganancia del observador que minimiza el error cuadrado medio esta dado por,
L[k] = AP [k]CT (Rw + CP [k]CT )�1; (4.5)
donde
P [k + 1] = (A� LC)P [k](A� LC)T + FRuF T + LRwLT (4.6)
P0 = Efx[0]xT [0]g: (4.7)
43
Antes de probar este resultado, se re�eja en su forma y función. Primero note que el
�ltro de Kalman tiene la forma de un �ltro recursivo: dando como error cuadrado medio
P [k] = Ef(x[k]� x̂[k])(x(k)� x̂[k])Tg en tiempo k que se puede calcular como el estimado ycambio de error. Por lo que no es necesario hacer un seguimiento de los valores de la salida
Además el �ltro de Kalman da la estimación de x[k] y la covarianza del error P [k], para que
se vea que tan con�able es la estimación también puede mostrarse que el �ltro de Kalman
extrae el máximo de información posible sobre los datos de salida Si se forma el residual
entre la salida y la producción estimada podemos ver,
e[k] = y[k]� Cx̂[k]:
Puede verse que para el �ltro de Kalman la matriz de correlación es
e[k] = y[k]� Cx̂[k]:
Re(j; k) = Efe[j]eT [k]g = W [k]�jk; �jk =
�1 j = k
0 j 6= k (4.8)
En otras palabras el error es un ruido blanco de proceso, así que no hay información dinámica
restante contenida en el error.
El �ltro de Kalman es extremadamente versátil y puede ser usada incluso si el proceso,
ruido o perturbaciones no son estacionarios. Cuando el sistema es estacionario y si P [k],
converge entonces la ganancia del observador es constante:
L = APCT (Rw + CPCT );
donde P satisface
P = APAT + FRvFT � APCT (Rw + CPCT )�1CPAT :
Puede verse que la ganancia optima depende tanto del ruido y medida del proceso, pero
de una manera no trivial. Como el uso de LQR para elegir las ganancias del estado de
retroalimentación, el �ltro de Kalman permite una derivación sistemática de las ganancias
del observador dando una descripción de los procesos del ruido. La solución para el caso de
ganancia constante se resuelve por el comando dlqe con la ayuda de MATLAB.
Queremos minimizar el cuadrado medio del error Ef(x[k]� x̂[k])(x[k]� x̂[k])Tg. Se de�neesta cantidad como P [k] y después se muestra que satisface la recursión dada por la ecuación
44
(4.6).
P [k + 1] = Ef(x[k + 1]� x̂[k + 1])(x[k + 1]� x̂[k + 1])Tg= (A� LC)P [k](A� LC)T + FRuF T + LRwLT
= AP [k]AT � AP [k]CTLT � LCP [k]AT + L(Rw + CP [k]CT )LT :
Dejando R� = (Rw + CP [k]CT ), se tiene
P [k + 1] = AP [k]AT � AP [k]CTLT � LCP [k]AT + LR�LT (4.9)
= AP [k]AT + (L� AP [k]CTR�1� )R�(L� AP [k]CTR�1� )T � AP [k]CTR�1� CP T [k]AT :
Para minimizar esta expresión escogemos L = AP [k]CTR�1� , y el teorema es comprobado.
Mediante las ecuaciones obtenidas, se obtiene la forma para el desarrollo del sistema del
Péndulo Invertido para el �ltro de Kalman y así se desarrolla la prueba del controlador en
el simulador MATLAB como se ve en el capítulo cinco sección 5.3.1.
*Para referencia de cómo se obtienen estas ecuaciones ver [20].
4.3. Filtro de Kalman Bucy
Para el caso del �ltro de Kalman-Bucy el proceso aleatorio de tiempo continuo dado por
x(t) y el observador z(t) están dadas por:
_x(t) = F (t)x(t) +G(t)w(t);
z(t) = H(t)x(t) + v(t); (4.10)
Ew(t) = Ev(t) = 0;
Ew(t1)wT (t2) = Q(t)�(t2 � t1); (4.11)
Ev(t1)vT (t2) = R(t)�(t2 � t1); (4.12)
Ew(t)vT (�) = 0; (4.13)
45
donde F (t); G(t); H(t); Q(t); y R(t) son matrices de n � n; n � n; l � n; n � n y l � l;respectivamente. El término �(t2 � t1) representa el delta de dirac y la covarianza de lasmatrices Q y R se de�nen positivas.
El objetivo es encontrar la estimación para el vector de estados x(t) que representamos
por x̂(t), que es una función lineal de las mediciones el cual viene comprendido por un tiempo
�nito z(t); 0 � t � T; que minimiza la ecuación escalar como
E [x(t)� x̂(t)]T M [x(t)� x̂(t)] ; (4.14)
donde M es una matriz simétrica de�nida positiva.
La estimación inicial y la matriz de covarianza son x̂0 y P0.
Se proporciona una derivación formal del estimador de Kalman en tiempo continuo, una
derivación rigurosa pueden ser archivados utilizando el principio de ortogonalidad como en el
caso de tiempo discreto. En vista del objetivo principal que es obtener estimadores e�cientes
y prácticos, se hace hincapié en los estimadores de tiempo continuo.
Para �t se de�ne en un intervalo de tiempo [tk � tk�1], de esta manera obtenemos
�(tk � tk�1) = �k = I + F (tk�1)�t+O(�t2);
donde O(�t2) consiste en un acuerdo con potencias de �t mayor o igual a dos. Para lamedición de ruido se tiene
Rk =R(tk)
�t
y para el ruido del sistema
Qk = G(tk)Q(tk)GT (tk)�t
obteniéndose
Pk(�) = [I + F (t)�t]�I � �Kk�1Hk�1
�Pk�1(�) (4.15)
� [I + F (t)�t]T +G(t)Q(t)GT (t)�t:
La dinámica del ruido esta dada por
46
Pk(�)� Pk�1(�)�t
= F (t)Pk�1(�) + Pk�1(�)F T (t) (4.16)
+G(t)Q(t)GT (t)��Kk�1Hk�1Pk�1(�)
�t�F (t) �Kk�1Hk�1Pk�1(�)F T (t)�t+términos de orden mayor.
La ganancia de Kalman de la ecuación (4.15) se convierte en el límite
l��m�t!0
� �Kk�1
�t
�= l��m
�t!0
nPk�1(�)HT
k�1�Hk�1Pk�1(�)HT
k�1�t+R(t)��1o
(4.17)
= PHTR�1 = �K(t):
Sustituyendo la ecuación (4.17) en (4.16) y obteniendo el límite cuando �t ! 0 se obtiene
el resultado deseado
_P (t) = F (t)P (t) + P (t)F T (t) +G(t)Q(t)GT (t) (4.18)
�P (t)HT (t)R�1(t)H(t)P (t)
Siendo P (t0) la condición inicial. Esto se llama la matriz de la ecuación diferencial de
Ricatti, la cual se puede reescribir mediante el uso de la identidad
P (t)HT (t)R�1(t)R(t)H(t)P (t) = �K(t)R(t) �KT (t)
De esta manera podemos escribir la ecuación (4.18) de la forma
_P (t) = F (t)P (t) + P (t)F T (t) +G(t)Q(t)GT (t)� �K(t)R(t) �KT (t): (4.19)
De la mismamanera, el vector de estado de la ecuación de actualización puede ser derivado
de la ecuación (4.11) y (4.15) mediante la adopción de los límites �t ! 0: Finalmente la
ecuación diferencial para la estimación es la siguiente.
�x̂ = F (t)x̂(t) + �K(t) [z(t)�H(t)x̂(t)] : (4.20)
Con el desarrollo anterior se llega a la forma general para la obtención de un sistema por
el Filtro de Kalman Bucy con lo cual se pretende la mejora de la respuesta del controlador
47
a través de la predicción de ciertos estados como se explica anteriormente, con la expresión
de la formula (4.20).
48
Capítulo 5
Diseño de controladores y simulación
En el presente capítulo se desarrollan diferentes técnicas de control para el péndulo inver-
tido descrito en los capítulos anteriores. Primeramente se desarrolla mediante el enfoque de
control clásico por la técnica de PID con modi�caciones, enfatizando sus ventajas y limita-
ciones, posteriormente se emplea la técnica de control por medio de observadores de estado,
en esta técnica se estiman las variables de estado no medidas. Por último se aplica la técnica
que da el nombre a el presente trabajo, un control para el péndulo invertido empleando obser-
vadores de estado basados en el �ltro de Kalman donde con dicha aplicación se demuestran
los objetivos y resultados que resumen a esta tesis.
Para el diseño y simulación de los controladores se utiliza MatlabTM y su herramienta
SimulinkTM donde se simula el comportamiento del sistema, modelado anteriormente, para
cada una de las técnicas de control nombradas, para conocer más ver [11].
Finalmente se realiza un análisis comparativo de las diferentes técnicas desarrolladas.
5.1. Control PID
La técnica del PID denominada por las siglas de las acciones de control Proporcional,
Integral y Derivativo. Es un controlador realimentado cuyo propósito es hacer que el error en
estado estacionario, entre la señal de referencia y la señal de salida de la planta, sea cero de
manera asintótica en el tiempo, lo que se logra mediante el uso de la acción integral. Además
el controlador tiene la capacidad de anticipar el futuro a través de la acción derivativa que
tiene un efecto predictivo sobre la salida del proceso.
Los controladores PID son su�cientes para resolver el problema de control de muchas
49
aplicaciones en la industria, particularmente cuando la dinámica del proceso lo permite,
en general procesos que pueden ser descritos por dinámicas de primer y segundo orden,
y los requerimientos de desempeño son modestos, es decir limitados a especi�caciones del
comportamiento del error en estado estacionario y una rápida respuesta a cambios en la señal
de referencia, ver [1].
5.1.1. Control proporcional
Las oscilaciones en un sistema son resultado de pequeños cambios en el error los cuales
hacen que la variable manipulada cambie sobre su rango total. Dicho problema se evita con la
acción de control proporcional, donde la característica del controlador es proporcional al error
de control cuando estos son pequeños. De esta forma la acción proporcional se caracteriza
por la siguiente ecuación dependiente del error de control.
u(t) = Kpe(t)
donde:
u(t) es la salida de la señal de control
Kp es la ganancia del controlador y
e(t) es el error respecto al tiempo
Imagen 5.1 Banda proporcional
Cuando la ganancia proporcional es pequeña K = 1 hay un error en estado estacionario
muy grande el cual al ir incrementando la ganancia disminuye pero aumentan las oscilaciones
en la respuesta de forma considerable como se observa en la imagen 5.1.1.
50
Imagen 5.1.1 Respuesta a un cambio en la ganancia
proporcional.
5.1.2. Control integral
El modo de control Integral tiene como propósito disminuir y eliminar el error en estado
estacionario, provocado por el modo proporcional. El control integral actúa cuando hay una
desviación entre la variable y el punto de consigna, integrando esta desviación en el tiempo
y sumándola a la acción proporcional. El error es integrado, lo cual tiene la función de
promediarlo o sumarlo por un período determinado; luego es multiplicado por una constante
I. Posteriormente, la respuesta integral es adicionada al modo Proporcional para formar
el control P + I con el propósito de obtener una respuesta estable del sistema sin error
estacionario.
El control integral se utiliza para obviar el inconveniente del o¤set (desviación permanente
de la variable con respeto al punto de consigna) de la banda proporcional.
Y esta caracterizado por la siguiente ecuación:
u(�) = Ki
tZ0
e(�)d�
donde:
Ki representa la ganancia integral.
51
Los cambios que presenta la respuesta de un sistema a los cambios realizados sobre el
tiempo integral en el caso cuando Ti =in�nito es como si se tuviera un control proporcional
puro, y vemos que cuando se va aumentando el valor de Ti el error en estado estacionario
tiende a corregirse, para valores pequeños de Ti la respuesta es más rápida pero presenta
mayor número de oscilaciones, caso contrario cuando Ti son valores pequeños, la respuesta
del sistema es más lenta deslizándose hasta llegar a la referencia y sin provocar tantas
oscilaciones, como se muestra en la imagen 5.1.2.
Imagen 5.1.2 Respuesta de un sistema a cambios en el tiempo
integral utilizando un control PI con K = 1.
5.1.3. Control derivativo
La acción derivativa se mani�esta cuando hay un cambio en el valor absoluto del error;
si el error es constante, solamente actúan los modos proporcional e integral.
La función de la acción derivativa es mantener el error al mínimo corrigiéndolo propor-
cionalmente con la misma velocidad que se produce; de esta manera evita que el error se
incremente.
Cuando el tiempo de acción derivada es grande, hay inestabilidad en el proceso. Cuando
el tiempo de acción derivada es pequeño la variable oscila demasiado con relación al punto
de consigna. Suele ser poco utilizada debido a la sensibilidad al ruido que mani�esta y a las
complicaciones que ello conlleva.
52
La acción derivativa está dada por la siguiente ecuación:
u(t) = Kdde
dt
donde:
Kd es la ganancia derivativa.
Los cambios que presenta la respuesta de un sistema a los cambios realizados sobre el
tiempo derivativo en el caso cuando Td = 0 es como si se tuviera un control proporcional
integral, y vemos que cuando se va aumentando el valor de Td el amortiguamiento del sistema
aumenta, pero si se aumenta más el valor de Td el amortiguamiento tiende a disminuir, he
allí la importancia de sintonizar correctamente nuestro controlador, como se aprecia en la
siguiente imagen 5.1.3.
Imagen 5.1.3 Respuesta de un sistema a cambios en el tiempo
derivativo utilizando un control PID con K = 3 y Ti = 2
De esta manera implemento las tres acciones de control mencionadas, es como se obtiene
un controlador PID el cual cuenta con las ventajas y desventajas de las acciones por las
cuales es formado, y la ecuación que lo caracteriza es:
u(t) = Kpe(t) +Ki
tZ0
e(�)d� +Kdde
dt
53
lo que podemos expresar de la siguiente forma:
G(s) = K
�1 +
1
Tis+ Tds
�
En la imagen 5.1.3A se muestra el diagrama en bloques de un control PID.
Imagen 5.1.3A Diagrama a bloques de un controlador PID.
5.1.4. Sintonización de un controlador PID por el método de Zieglery Nichols
Ziegler y Nichols propusieron unas reglas para determinar los valores de la ganancia pro-
porcionalKp, del tiempo integral Ti y del tiempo derivativo Td, con base en las características
de respuesta transitoria de una planta especí�ca. Tal determinación de los parámetros de los
controladores PID o de la sintonización de los controles PID la realizan los ingenieros en el
sitio mediante experimentos sobre la planta, ver [6].
En este caso se utiliza la regla de ganancia crítica, la cual consiste en poner los tiempos
integral y derivativo en cero variando solamente la ganancia proporcional hasta un valor
critico Kcr en donde la salida exhiba oscilaciones sostenidas y junto con el periodo Pcr se
utilizan estos parámetros para la sintonización del controlador siguiendo la tabla 5.1.
54
Tipo de controlador Kp Ti Td
P 0;5Kcr 1 0
PI 0;45Kcr12Pcr 0
PID 0;6Kcr 0;5Pcr 0;125Pcr
(5.1)
Si se desea más información sobre esta y otras reglas de sintonización de Ziegler-Nichols
consultar la referencia [6].
5.1.5. Diseño y simulación de un controlador PID para el pénduloinvertido
Considerando el sistema de péndulo invertido descrito en el capítulo 1, se procede a
diseñar un controlador PID, con los siguientes valores medidos de la plataforma física exper-
imental.
M = 0;11 kg
m = 0;05 kg
g = 9;8 ms�2
l = 0;249 m
Así mismo se debe de tomar en cuenta que se desea que el sobre impulso en la respuesta del
sistema no sea mayor al 25%.
Se procede a realizar el diseño por medio de MatlabTM creando un archivo .m con el mod-
elo matemático del péndulo invertido Considerando los valores antes mencionados medidos
de la plataforma, Utilizando Simulink se crea un diagrama de bloques del sistema y con el
controlador PID el cual ayuda a realizar las simulaciones de la respuesta del sistema a lazo
cerrado.
55
Imagen 5.1.5 Diagrama a bloques del sistema con un
controlador PID
Considerando el set point SP = 90�, Kp = 1, Ti = 1 y Td se llega a la siguiente respuesta
del sistema
Imagen 5.1.5.1 Respuesta del sistema sin
controlar.
Se observa que esta respuesta no es satisfactoria ya que el sistema nunca se estabiliza y
describe una trayectoria exponencial al in�nito.
Por lo tanto es necesario llevar a cabo una correcta sintonización del controlador PID,
para lo cual se utiliza el método de Ziegler-Nichols basado en la ganancia critica, descrito
anteriormente.
Como primer paso se procede a colocar los valores de Td y Ti en cero para así tener sólo
la ganancia proporcional, la cual se varía inde�nidamente hasta obtener como respuesta del
sistema una salida con oscilaciones permanentes.
56
Imagen 5.1.5.2 Respuesta del sistema a una
ganancia proporcional crítica
Se procede a obtener los valores Kcry Pcr necesarios para la sintonización, esto se realiza
de forma grá�ca como se muestra a en la imagen siguiente:
Imagen 5.1.5.3 Obtención de Pcr
Se tiene que Pcr es igual a 0.04 y Kcres 350, aplicando las ecuaciones descritas en la tabla
57
(5.1) se obtienen los valores necesarios para el controlador PID los cuales son:
Kp = 210
Td = 0;005
Ti = 0;02:
La respuesta del sistema se muestra a continuación para estos valores del controlador
PID.
Imagen 5.1.5.4 Respuesta del sistema para,
Kp = 210; Td = 0;005 y Ti = 0;002:
Se observa como el sistema llega a la referencia pero, se presentan demasiadas oscilaciones
durante todo tiempo, por lo tanto se procede a incrementar los valores de Ti para eliminar
el error en estado estacionario y Td para amortiguar el sistema, después de realizar pruebas
se obtiene los siguientes valores para los cuales el sistema responde adecuadamente.
La ganancia proporcional se mantiene siendo Kr = 210, el tiempo derivativo Td aumenta
hasta un valor de 10 para amortiguar al sistema y evitar oscilaciones excesivas manteniendo
el sobre impulso inferior al 25% y al corregir esto el error en estado estacionario aumenta
por lo cual es necesario �jar el tiempo integral Ti en un valor de 250 para que el sistema
puede llegar al valor de la referencia el resultado de la simulación con estos nuevos valores
se muestra en la imagen 5.1.5.
58
Imagen 5.1.5.5 Respuesta del sistema para,
Kp = 210; Td = 10 y Ti = 250:
A continuación se agrega una perturbación al sistema para visualizar su comportamiento
y observar si el controlador PID es capaz de corregir dicha perturbación.
Imagen 5.1.5.6 Diagrama de bloques del sistema agregándole una
perturbación aleatoria
La perturbación es un número aleatorio agregado en el tiempo de muestreo igual a 5
milisegundos cuya respuesta se muestra a continuación:
59
Imagen 5.1.5.7 Respuesta del sistema a una
perturbación aleatoria.
Se observa en la imagen anterior como al agregar una perturbación al sistema en un
tiempo igual a 5 milisegundos la respuesta del mismo se desvía de la referencia de forma
considerable pero gracias a la acción del controlador PID el sistema retoma el camino in-
corporándose nuevamente en el valor deseado teniendo así que dicha técnica de control es
su�ciente mente buena como para corregir las perturbaciones que se puedan presentar en el
péndulo invertido.
5.2. Observadores
En el capítulo 2 se estableció que existen dos tipos de observadores de estado, los de orden
completo y los de orden reducido, los primeros se utilizan para estimar todos los estados de
un sistema mientras que los segundos son utilizados solo para estimar algunos estados. Por lo
tanto en el presente trabajo se utiliza un observador de orden reducido ya que solo se desea
observar un estado del sistema dado que todos los estados son medibles en la plataforma.
5.2.1. Estructura general de control con retroalimentación deestados
Considere el sistema
60
_x = Ax+Bu
y = Cx
El siguiente controlador basado en retroalimentación por observadores de estados fue
tratado en el capítulo 2 del presente
�x̂ = Ax̂+Bu+ L(y � Cx̂)u = �Kx̂+Krr:
Introduciendo los estados x y ~x = x� x̂ el sistema a lazo cerrado puede ser escrito como
" �x�~x
#=
"A�BK BK
0 A� LC
#"x
~x
#+
"BKr
0
#r;
y =hC 0
ix;
El cual es una descomposición de Kalman con dos subsistemasP 0 y
P� 0.El subsis-
temaP 0 con estado x es alcanzable y observable y el
subsistemaP� 0 con estado ~x no es alcanzable pero si es observable.
Es natural que el estado ~x no sea alcanzable a la señal de referencia , ya que no tendría
sentido diseñar un sistema el cual al cambiar la señal de control genere errores de observación.
La relación entre la referencia y la salida y está dada por
�x = (A�BK)x+BKrr;
y = Cx;
La cual es la misma relación para un sistema con retroalimentación de estados completa.
Tomando en cuenta que el controlador del péndulo invertido estará dentro de una
computadora se toma el siguiente diagrama a bloques de una estructura general
de control en una computadora, donde se muestran todos sus componentes.
61
Imagen 5.2.1 Estructura general de control realimentado con
observadores por medio de una computadora
5.2.2. Diseño y simulación de un controlador basado en obser-vadores de estado para el péndulo invertido
Considerando el sistema del péndulo invertido descrito en el capítulo 1, se procede a
diseñar un controlador por medio de observadores de estado tomando en cuenta los siguientes
valores medidos de la plataforma física experimental.
M = 0;11 kg
m = 0;05 kg
g = 9;8 ms�2
l = 0;249 m
Así mismo se debe tomar en cuenta que la posición angular del péndulo es completamente
medible de forma satisfactoria, mientras la posición lineal del carro guía presenta cierto
margen de error debido a las características del sensor utilizado, es por esto que se ha
decidido diseñar un observador de estados de orden reducido para estimar la posición del
carro guía.
Se procede a realizar el diseño por medio de MatlabTM creando un archivo .m con el
modelo matemático del péndulo invertido en variables de estado, tomando en cuenta los
62
valores antes mencionados medidos de la plataforma, se de�nen las matrices A, B, C y D del
sistema y con la implementación del comando eig se obtiene la ubicación de los Eingenvalores
de la matriz A obteniendo el siguiente resultado:
P1 = 0
P2 = 0
P3 = �0;3489P4 = 0;3489
Donde se observa que una de sus raíces se encuentra en el semiplano derecho y dos más se
encuentra en el origen o punto crítico lo cual hace que el sistema sea inestable, para corregir
esto hay que ubicar todas las raíces dentro del semiplano izquierdo, para esto utilizamos el
comando place en MatlabTM.
Se crea una variable K, la cual es la ganancia del controlador por reubicación de polos
y se escoge la nueva ubicación de forma que el sobre impulso sea menor, es por esto que se
escoge la siguiente ubicación:
P1 = �0;5 + 0;5i;P2 = 0;5 + 0;5i;
P3 = �50;P4 = �55:
Estos polos son ubicados gracias al comando place de MatlabTM.
Del mismo modo se obtiene la matriz de observabilidad L escogiendo los siguientes puntos
de operación:
Op1 = �100;Op2 = �101;Op3 = �102;Op4 = �103:
Esta matriz es obtenida con el mismo comando place.
Después de tener las ganancias necesarias se procede a realizar en SimulinkTM el diagrama
63
de bloques que simula el comportamiento del sistema con el observador de estados.
Imagen 5.2.1 Diagrama a bloques del sistema con observador de estados
A continuación se muestra la respuesta del sistema observado, en ella se aprecia que el
comportamiento de ambos estados, tanto la posición angular del péndulo (línea punteada)
como la posición del carro guía, el péndulo llega a la posición angular deseada después de un
breve instante de tiempo y con un sobre impulso mínimo prácticamente despreciable lo que se
traduce en pocas oscilaciones en el sistema mecánico del péndulo evitando así que se pudiera
dañar, para que dicha posición angular sea alcanzada el carro guía realiza un movimiento
muy suave debido a las condiciones iniciales del experimento el carro se mantiene en el plano
64
positivo tomando en cuenta que el centro de la carrera de la guía es cero.
Imagen 5.2.2.1 Respuesta del sistema con el observador
de estados
A continuación se somete el sistema a una perturbación aleatoria utilizando el siguiente
diagrama a bloques en SimulinkTM
Imagen 5.2.2.2 Diagrama a bloques del sistema con
observador de estados y ganancia Kp=50, incluyendo
una perturbación aleatoria
En la siguiente �gura observamos la respuesta a esta perturbación aleatoria, observando
65
que el controlador responde adecuadamente a esta, ya que se desvía en un intervalo muy corto
e inmediatamente regresa al punto de referencia lo cual se traduciría en ligeras oscilaciones
en el sistema físico sin llegar a caer el péndulo de su posición a noventa grados.
Imagen 5.2.2.3 Repuesta del sistema observado y
con ganancia Kp=50, a la presencia de una
perturbación aleatoria
Como se observa esta técnica de control es capaz de corregir las perturbaciones que se
presenten en el sistema de una forma e�caz.
5.2.3. Análisis de estabilidad por plano de fase
El análisis de estabilidad se realizó para el sistema del péndulo invertido linealizado, con
la premisa de que si el sistema lineal es estable en los puntos de equilibrio, el sistema no
lineal también lo es.
El plano de fase se obtuvo mediante la grá�cación de XY de la velocidad contra la
posición el péndulo utilizando el siguiente diagrama a bloques de SimulinkTM
66
Imagen 5.2.3 Diagrama a bloques para la obtención del
plano de fase
En la siguiente �gura se muestra el plano de fase del sistema lineal en el cual se observa
como el sistema es estable alrededor de un punto en el origen o vecindad esto debido a que
se trata de un péndulo invertido.
Imagen 5.2.2.1 Plano de fase del sistema lineal
controlado
67
Ahora se obtiene el plano de fase para el sistema perturbado por señales de ruido aleatorias
utilizando el siguiente diagrama de bloques en SimulinkTM
Imagen 5.2.3.2 Diagrama a bloques para la
obtención del plano de fase del sistema
controlado y perturbado
En la siguiente �gura se muestra el plano de fase del sistema lineal perturbado en el cual
se observa como el sistema sigue siendo estable alrededor de un punto o vecindad a pesar de
las perturbaciones presentes con la diferencia que ya no se muestra un solo ciclo alrededor si
no que el plano de fase se muestra en forma de espiral debido a las perturbaciones.
Imagen 5.2.3.3 Plano de fase del sistema
controlado y perturbado
68
5.3. Filtro de Kalman
Por último se implementa la técnica de control de �ltrado de Kalman, la cual se trata
muy ampliamente en el capítulo 3, dado que es el tema principal del mismo y la acción de
control que nos interesa analizar a fondo aplicándola al sistema del péndulo invertido.
5.3.1. Diseño y simulación de un controlador por observadoresde estado basado en el �ltro de Kalman para el pénduloinvertido
A continuación se detallan los pasos necesarios para el diseño y aplicación de esta técnica
de control, utilizando el modelo del péndulo invertido obtenido en los capítulos anteriores y
en los valores medidos de la plataforma física.
M = 0;11 kg
m = 0;05 kg
g = 9;8 ms�2
l = 0;249 m
Así mismo se debe tomar en cuenta que la posición angular del péndulo es completamente
medible de forma satisfactoria, mientras la posición lineal del carro guía presenta cierto
margen de error debido a las características del sensor utilizado.
Se procede a realizar el diseño por medio de MatlabTM creando un archivo .m con el
modelo matemático del péndulo invertido en variables de estado, tomando en cuenta los
valores antes mencionados medidos de la plataforma, se de�nen las matrices A, B, C y D
del sistema, para emplear esta técnica de control se debe conocer si el sistema es controlable
y observable para lo cual se hace:
M = ctrb(A;B);
m = rank(M)
N = obsv(A;C);
n = rank(N)
Obteniéndose:
m = 4
n = 4
69
Resultando que el sistema es totalmente observable y controlable, por lo que se prosigue
con el diseño del controlador.
Se de�ne el vector H, el cual contiene los auto valores deseados para el sistema en lazo
cerrado
H =h�0;5 + 0;5i �0;5� 0;5i �50 �55
iMediante el comando place de MatLabTM se obtiene la matriz K de realimentación de
los estados:
K = place(A;B;H);
El sistema es sometido a las perturbaciones w y v que son señales de ruido en el proceso
y en las mediciones de los sensores respectivamente, para minimizar los efectos de estas
perturbaciones sobre el sistema, se diseña un observador de estados basado en �ltros de
Kalman para que así los estados realimentados sean los estimados por el �ltro y evitar su
contaminación excesiva con el ruido, además la realimentación de estados se lleva a cabo con
un regulador óptimo cuadrático teniendo así el siguiente diagrama a bloques que describe el
sistema.
Imagen 5.3.1 Realimentación de estados
estimados por el �ltro de Kalman a través
de un regulador óptimo cuadrático
70
Se modi�ca el código utilizado en MatlabTM para obtener los valores de la ganancia Kk
del �ltro de Kalman y la ganancia Kr del regulador óptimo resultando:
Matriz del estimador de Kalman
Kk =
266640;1371 0;0029
0;0029 1;8051
0;0094 0;0107
�0;0051 1;1291
37775
Matriz del regulador óptimo
Kr =h�1;0000 �1;2025 7;4749 1;9953
i
Por último se realimenta el sistema y se obtiene su respuesta, a condiciones iniciales
diferentes de cero para la posición angular del péndulo (línea punteada), la cual se muestra
en la siguiente �gura observando que la condición inicial para la posición angular es igual a
0;5 por lo que el carro guía tiene que desplazarse en dirección positiva y negativa tomando
en cuenta que el cero es el centro de la carrera y una vez que lleva al péndulo a la posición
angular deseada el carrito sigue manteniendo ciertas oscilaciones ya que gracias a esto es
como se logra contrarrestar las consecuencias generadas por el ruido observándose así como
la posición del péndulo no se ve afectada de gran forma por estas, esto gracias al �ltrado
realizado.
71
Imagen 5.3.1.1 Respuesta del sistema
realimentado por el �ltro de Kalman a
través de un regulador óptimo cuadrático
para condiciones iníciales no nulas.
72
En la siguiente �gura se muestra con más énfasis los resultados anteriores ya que se
observa la respuesta del sistema para condiciones iníciales nulas de la posición angular (línea
punteada), donde se puede ver como el sobre impulso del desplazamiento del carro guía es
mayor ya que se tiene que generar un mayor par para poder elevar el péndulo a la posición
deseada y después de esto cuando el péndulo llega a esta posición angular el carro guía
presenta las mismas oscilaciones para evitar los efectos del ruido.
Imagen 5.3.1.2 Respuesta del sistema
realimentado por el �ltro de Kalman a
través de un regulador óptimo cuadrático
para condiciones iníciales nulas
Resultando así que esta estrategia de control es mejor sobre las estrategias analizadas
anteriormente ya que disminuye los efectos de las perturbaciones de forma muy e�ciente.
73
Capítulo 6
Conclusiones y trabajos futuros
Los principales resultados derivados de ésta tesis se enuncian a continuación:
Primeramente, se realizó la construcción de un sistema físico de péndulo invertido simple.
Con el objeto de controlar el Pendulo Invertido se ah desarrollado un controlador por �ltros
de Kalman con el uso de observadores de estado, ya que el �ltro tiene la habilidad de
determinar el estado de un sistema en el pasado, presente y futuro, aún cuando la naturaleza
precisa del sistema sea desconocida en ciertos puntos.
Cabe mencionar que para realizar las acciones de control fue necesario crear una interfaz
para la adquisición de los datos así como de las señales de retroalimentación en el controlador
y como la aplicación de señales de manipulación al sistema físico.
Se cumplieron los objetivos ya que se mostraron grandes mejoras con la implementación
del método de control propuesto por esta tesis "Filtro de Kalman"sobre otros métodos de
control como el PID y los observadores de estado los cuales también se desarrollaron en el
presente trabajo con el �n de demostrar y comprobar nuestra hipótesis, sin embargo en la
parte de la plataforma física experimental la cual cabe mencionar que se utilizo como una
herramienta extra para comprobar los resultados no se obtuvieron resultados óptimos ya que
había un problema de comunicación el cual atrasaba la respuesta del sistema.
Los trabajos futuros contemplados es mejorar la etapa de adquisición de datos, debido a
que no se cuenta con la tarjeta idónea. Así como de implementar el �ltro de Kalman Bucy,
con el objeto de mejorar los resultados obtenidos.
74
Bibliografía
[1] Améstegui, M. Apuntes de control PID, Universidad Mayor De San Andrés La Paz,
Bolivia, 2001.
[2] Chen, T. C. Linear System. Theory and Design, 3ra Edición, 1998.
[3] Choung, C. y Houser, J. Nonlinear control of swingin pendulum, Automatica, 31:851-
862,1995.
[4] Michael O Flynn, Linear Systems. Time Domain and Transform Analysis, 1987.
[5] Nonlinera systems. Prentice Hall, 3ra. ed., 2002.
[6] Ogata, K. Ingeniería de Control Moderna, 3er Edición, 1998.
[7] Mori, S; Nishihara H. y Furuta, K. Control of unestable mechanical system. Control of
pendulum. International Journal of Control, 23:673-692, 1976.
[8] Pardo, Rego V. La elegancia matemática primera edición, 2003.
[9] El problema del péndulo invertido, Ignacio Alfonso Quijano, 1995.
[10] Wiberg, M. Espacio de Estado y Sistemas Lineales. Mc.Graw-Hill. México. 1971.
[11] MathWorks Inc, MatlabTM User´ s Guide, Toolbox de control, Versión 5.3. USA. 1998.
[12] Solera, A. El �ltro de Kalman. Departamento de investigaciones económicas, 2003.
[13] Kalman R. E. A New Approach to Linear Filtering and Prediction Problems,Research
Institute for Advanced Study,Baltimore, Md.Transactions of the ASME�Journal of Basic
Engineering, 1960.
75
[14] Kalman, R.E. and Bucy, R, S, New results in linear �ltering and prediction theory,
ASME �J. Basic Eng. Ser. D, 83, 95-108, 1961.
[15] Grewal, M. S.and Andrews, Angus P., Kalman Filtering: Theory and Practice �1993
-Prentice Hall.
[16] Hanselman, D. y Little�elld, B. MatlabTM, Edición de Estudiante, Versión 4. Editorial
Prentice-Hall International, 1996.
[17] Grover B. R. y Hwang, P.Introduction to Random Signals and Applied Kalman Filter-
ing. Editorial John Wiley & Sons. Tercera edición, 1997.
[18] Kawaji, S. and T. Maeda. Fuzzy servo control system for an inverted pendulum. Proc.
Internet Fuzzy Engineering Symp., 2: 812�823., 1991.
[19] Xi, Y. New desing method for discrete time multi-variable preditive controllers. Inter-
national Journal of Control,49(1):45-56; 1987.
[20] Karl Johan Åström and Richard M. Murray, Feedback systems : an introduction for
scientists and engineers, 2008 by Princeton University Press.
76