Você está na página 1de 12

Carro con Péndulo

Invertido
“Unidad 4 – Control Inteligente”

Control Avanzado
Docente: Mario Fernández

Estudiantes:
Martin Arraztio Figari
Karina Castro González
Bastián Morales Cancino

Facultad de Ingeniería
Ingeniería Civil en Mecatrónica

Universidad de Talca
Campus Curicó
1. Introducción

En el presente documento se hace la descripción del control por lógica difusa de


un péndulo invertido, tomando como base el trabajo realizado por Suthar y Pandya,
en el cual se realiza un control fuzzy del sistema, se plantean reglas y funciones de
membresía, y luego se plantea el lazo de control diseñado en Simulink de Matlab.
En este trabajo se hace una emulación de los trabajos realizados por los
investigadores mencionados, para obtener los mismos resultados, también se hacen
las modificaciones necesarias para alcanzar resultados similares a los alcanzados en
las unidades anteriores, como en el control en espacio de estados o control óptimo.
El control fuzzy o por lógica difusa se realiza para abordar de una manera sencilla
el control de sistemas complejos, como sistemas no lineales o sistemas donde las
ganancias del controlador son difíciles de encontrar, también puede ser utilizado en
la implementación de un controlador de sistemas en donde los parámetros del modelo
no pueden ser hallados de manera exacta, ya que en este controlador las acciones
están determinadas por funciones, en donde se definen rangos y éstos pueden ser
cambiados y configurados a través de prueba y error, o definidos según un criterio
experto del sistema.
La lógica difusa puede ser utilizada también como un método de estimación de las
variables que no son fácilmente medibles de un sistema, y este estimador u
observador puede ser diseñado evitando las complejidades matemáticas que se
enfrentan al diseñarlo con los métodos del control en espacio de estados. A
continuación, se verá lo desarrollado en el documento de la investigación
mencionada, los pasos a seguir para alcanzar resultados similares y los problemas
enfrentados en la realización de las simulaciones.

2. Descripción del sistema.

El sistema a controlar es un carro con dos ruedas y un péndulo invertido, el cual


se modela como péndulo invertido, y el control se lleva a cabo aplicando una fuerza
en el sentido del movimiento horizontal, y en base al movimiento del carro se controla
la posición angular del péndulo por la reacción del mismo.
La aplicación de este sistema está siendo muy utilizado por las personas en la
actualidad como una interesante innovación, en los coches de dos ruedas (Segway)
como el mostrado en la imagen siguiente, donde se puede apreciar la aplicación
directa de este sistema.
Ilustración 1, Aplicaciones del sistema

También se puede decir que este sistema es utilizado ampliamente en el ambiente


académico, como modelo de prueba, al que se aplican distintos controles, tanto
clásicos como controles modernos, por lo cual existe bastante información en la
literatura sobre el modelo y el control de este sistema.

La dinámica del carro con péndulo tiene que ser descrita por un modelo
matemático para facilitar posteriormente el control. A continuación, se modela
matemáticamente el movimiento para un péndulo invertido, donde se utiliza la
simplificación de utilizar un motor con un eje rígido para el movimiento, y finalmente
el modelo de un péndulo invertido, que en su conjunto describen las ecuaciones
dinámicas del sistema.

3. Modelo no lineal del sistema.

El péndulo se modela a partir del siguiente diagrama:

Ilustración 2, Modelo simple del sistema


Asumiendo que el centro de masa está ubicado en el centro de la estructura del
péndulo, que el ángulo de la posición vertical es 0 [𝑟𝑎𝑑 ], y que la acción de control
indicada en la figura, es una fuerza ejercida horizontalmente, con la dirección hacia
la derecha como positiva.

La dinámica del carro con péndulo tiene que ser descrita por un modelo
matemático para facilitar posteriormente el control. De la figura se extraen las
ecuaciones lineales que rigen al sistema:
𝑚𝑙(𝑀 + 𝑚)𝑔 𝑚𝑙
𝜃̈ (𝑡) = 𝜃(𝑡) − 𝑢(𝑡)
Δ Δ
𝑚2 𝑙 2 𝑔 (𝐽 + 𝑚𝑙 2 )
𝑧̈ (𝑡) = 𝜃(𝑡) + 𝑢(𝑡)
Δ Δ
Donde 𝑧 representa la posición del centro del carro en la horizontal, 𝜃 representa
la posición angular del péndulo en la vertical, con origen con el péndulo apuntando
hacia arriba. La entrada corresponde a la fuerza aplicada en la horizontal, esta afecta
al sistema a través de la expresión de la misma:
𝑢(𝑡) = 𝑀𝑧̈ (𝑡)

Los parámetros del sistema son los siguientes:


𝑀 = 1 𝐾𝑔 Masa del carro
𝑚 = 0.15 𝐾𝑔 Masa del péndulo
𝐿 = 1 𝑚 Largo del péndulo (Distancia al centro de masa)
𝑔 = 9.81 𝑚/𝑠 2 Aceleración de gravedad
𝐽 = 0.2 Inercia del péndulo
Con estos datos el sistema pasa a ser:
𝜃̈ (𝑡) = 4.4537𝜃 (𝑡) − 0.3947𝑢(𝑡)
𝑧̈ (𝑡) = −0.5809𝜃 (𝑡) + 0.9211𝑢(𝑡)
Eligiendo los estados del sistema de la forma canónica:
𝑥1 = 𝜃(𝑡)

𝑥2 = 𝜃̇ (𝑡)
𝑥3 = 𝑧(𝑡)
𝑥4 = 𝑧̇ (𝑡)
Con esto el modelo del sistema en espacio de estados pasa a ser:
𝑥̇ = 𝐴𝑥 + 𝐵𝑢
0 1 0 0
4.4537 0 0 0
𝐴=[ ]
0 0 0 1
−0.5809 0 0 0
0
−0.3947
𝐵=[ ]
0
0.9211
El modelo discretizado a un tiempo de 𝑇 = 0.02 [𝑠] queda como sigue:
𝑥(𝑘 + 1) = 𝐴𝑥 (𝑘 ) + 𝐵𝑢(𝑘)
1.0009 0.020006 0 0
0.0891 1.0009 0 0
𝐴=[ ]
−0.0001162 −7.746𝑒 − 7 1 0.02
−0.011621 −0.0001162 0 1
−7.8952𝑒 − 5
−0.0078963
𝐵=[ ]
0.00018422
0.018422
El sistema es controlado a través de la expresión de la fuerza aplicada al carro:
𝑢(𝑡) = 𝑀𝑧̈ (𝑡)
En tiempo discreto la expresión se transforma en:
𝑧̇ (𝑘 + 1) − 𝑧̇ (𝑘)
𝑢(𝑘 + 1) = 𝑀 [ ]
𝑡

Siendo 𝑡 el tiempo en que 𝑧̇ (𝑘 + 1) es obtenido


La expresión 𝑧̇ (𝑘 + 1) es elegida por el controlador Fuzzy, y la salida se evalúa a
través de la expresión anterior, con ello se forma el diagrama de control

4. Simulación

El lazo de control planteado en el documento de Suthar y Pandya es como muestra


el diagrama a continuación, en el que el sistema le entrega el estado 𝜃(𝑘) y el estado
𝜃̇ (𝑘), con ello el control difuso calcula el valor del siguiente estado de 𝑧̇ (𝑘 + 1), y
con ello y el estado actual 𝑧̇ (𝑘) se calcula la nueva fuerza aplicada según la
ecuación descrita en la sección anterior.
Ilustración 3, Lazo de control planteado en el paper.

Para emular los resultados, se procede a implementar el mismo lazo de control en


Simulink, este lazo se trató de implementar de dos maneras distintas, la primera al
igual que en la imagen recién mostrada:

Ilustración 4, Lazo de control (1).

Se implementa otra forma del lazo de control, muy similar, pero sin la S-Function
para definir el sistema, con ello el diagrama en Simulink queda de la siguiente manera:
Ilustración 5, Lazo de control (2).

Para este caso, se utiliza 𝜃 y 𝜃̇ , y la salida corresponde a 𝑧̇ que corresponde a la


velocidad. Cabe mencionar que en realidad se controla la fuerza aplicada al carro. El
sistema se simula mediante el “Fuzzy Toolbox” de Matlab. A continuación, se
muestran las funciones de membresía. Los Rangos son pequeños ya que se espera que
el péndulo no incurra ante grandes perturbaciones para hacer un control inicial.

Ilustración 6, Lazo interno del controlador Fuzzy.

A continuación, se muestran cada una de las funciones de membresía, tanto de


las dos entradas como de la salida.
Ilustración 6, Funciones de membresía del ángulo en fuzzy toolbox de Matlab

Ilustración 6, Funciones de membresía de velocidad angular


Ilustración 7, Funciones de membresía de salida

Las reglas del sistema corresponden a las siguientes:

Ilustración 7, Reglas del controlador Mandami


5. Resultados

A pesar de haber hecho varios intentos, y haber hecho muchas reglas, el sistema
no pudo ser controlado. A continuación, se muestran los resultados. Se puede ver
cómo el péndulo no es controlado:

Ilustración 8, Gráfica del ángulo obtenido

Ilustración 9, Gráfica de la velocidad angular obtenida

Cabe mencionar que este sistema fue hecho según el documento mencionado al
inicio, sin obtener los resultados que ellos muestran. La diferencia puede ser debida
a distintos problemas. Uno puede ser que el sistema que ellos presentan, a pesar de
ser lineal, no sea realmente controlable con su configuración. Otro factor, puede ser
un error de Matlab en el muestreo del sistema, llevando el sistema a errores. Después
de muchos intentos, no se pudo mejorar esta solución.
Para la simulación del primer lazo de control con presencia de perturbación, las
gráficas obtenidas fueron las siguientes:

Ilustración 10, Gráfica de los estados

Ilustración 10, Gráfica de la señal de entrada

En esta simulación se obtuvieron resultados, pero se debió cambiar el modelo del


sistema por uno en tiempo continuo, lo que podía ser que ocasionara problemas en
el caso anterior, sin embargo, a pesar de este cambio, el sistema no logra ser
controlado.
6. Conclusiones

El control Fuzzy es un tipo de control que permite controlar no necesariamente


conociendo el modelo del sistema, pero si la forma en que actúa. Es así como la
persona según su experiencia es capaz de definir las reglas y los rangos que debe
seguir el control Fuzzy para llevar a cabo un buen control. En este caso no fue posible
controlar. Esto puede ser debido a un mal muestreo de Matlab o a que el documento
en el cual nos basamos no mostraba resultados reales.
Otras soluciones a los problemas con la simulación pueden deberse al
planteamiento general del sistema, en primer lugar, se tienen problemas con los
sistemas discretos, por lo que de un principio se debió haber planteado control en un
sistema continuo, luego de ello, la señal de control seguramente no debería ser
construida a través de la expresión de aceleración, ya que en esta interviene
activamente el tiempo de muestreo, el cual sería variable en el caso continuo, ya que
Matlab utiliza en las simulaciones un tiempo de muestreo muy pequeño pero variable,
por lo cual planteando el sistema con otra señal de control, como el torque de las
ruedas por ejemplo, podría ser la solución al control difuso para este sistema.
Al principio el controlador Fuzzy podría no mostrarse como el controlador con
mejor rendimiento, pero luego de una buena configuración de sus parámetros,
funciones de membresía y reglas, podría presentar mejor rendimiento que los demás
controladores en ciertos casos, por ejemplo, el controlador tiene igual desempeño en
presencia de perturbaciones que sin ellas dada su configuración robusta.
El control Fuzzy tiene ventajas debido a su simplicidad, fácil implementación,
sintonización intuitiva, fácil de explicar. Además de lo anterior, la lógica Fuzzy puede
usarse como controlador, observador de estados e incluso para la sintonización de
otros controladores

7. Bibliografía

Haresh A. Suthar and Kaushal B. Pandya Sardar, “DESIGNING FUZZY LOGIC


CONTROLLER FOR INVERTED PENDULUM”.

Você também pode gostar