1. INTRODUCCIÓN
El péndulo invertido es un sistema que consta de un péndulo que es libre de oscilar alrededor de un punto pivote (para un mismo plano) con el objetivo de mantener el péndulo en posición vertical. El punto pivote está sobre un carro que ofrece el desplazamiento horizontal, el cual permitirá balancear; para una perturbación pequeña expresada en grados; el sistema en mención debido a su alta inestabilidad. Este sistema es importante por sus aplicaciones prácticas donde se requiera balance como en acciones que involucre caminar.
Se han realizado varios intentos con diferentes técnicas para lograr el equilibrio del péndulo, en (1) una red neuronal es entrenada para generar acciones sobre un péndulo invertido, en (2) se hace usó del algoritmo luciérnaga para determinar los parámetros de un controlador PID y así mantener el equilibrio del péndulo. En (3) se implementó experimentalmente un controlador fuzzy que usa visión feedback, lo cual busca adquirir los datos del sistema a través del procesamiento de imágenes y no de sensores, el objetivo fue explorar las condiciones críticas del controlador y su velocidad de respuesta.
Para corregir el error definido como la diferencia del ángulo del péndulo respecto a la vertical (el cual debería ser igual a cero) vamos a considerar un controlador PID, los cuales han ganado una popularidad atribuida parcialmente a su comportamiento robusto en un rango amplio de condiciones de operación y parcialmente también a su simplicidad funcional que permite a los ingenieros operarlos de una forma simple y directa (4), para definir los parámetros de dicho controlador (kp, ki, kd) en la literatura se ha propuesto muchos tipos diferentes de reglas de sintonización, que permiten llevar a cabo una sintonización delicada y fina (5), sin embargo el problema de determinar los parámetros es en realidad un problema de optimización, donde en términos de la variable del sistema, se hallen los parámetros que minimicen un criterio de error (6)
2. MODELAMIENTO DEL PÉNDULO INVERTIDO
En la figura 1 se muestra el péndulo invertido considerado en este artículo, en (7) se tiene los parámetros utilizados.
El péndulo tiene su CG (centro de gravedad) en el centro de la varilla y se considera que sólo se puede mover en un plano solamente (xy). La ecuación que describe el movimiento horizontal del carro es:
Donde f(t) es la fuerza aplicada en el carro, bx ̇ es la fuerza de recuperación debido a la fricción, N y P son las fuerzas de reacción del péndulo en los ejes x e y respectivamente, M es la masa del carro, m es la masa de la varilla, Mx ̈ es la fuerza inercial debido a la masa del carro. Como se comentó el movimiento vertical del carro no se asumirá.
Aplicando la segunda ley de Newton en el eje x para la varilla del péndulo, el CG del péndulo se ubica en el punto medio de la varilla:
Donde θ es el ángulo recorrido alrededor del punto pivote del péndulo, θ ̇ es la velocidad angular, θ ̈ es la aceleración angular y L es la longitud de la varilla.
Reemplazando (2) en la ecuación (1),
Aplicando la 2da Ley de Newton para las fuerzas perpendiculares a la varilla del péndulo:
Donde g es la aceleración de la gravedad.
Aplicando la 2da Ley de Newton para el movimiento de rotación de la varilla del péndulo sobre su masa:
Donde I es el momento de inercia de la varilla.
Reemplazando (5) en la ecuación (4),
Para representar las ecuaciones en el espacio de estados se considera las siguientes variables de estado:
Así se obtiene:
Dado que las salidas son el desplazamiento angular y el desplazamiento del carro, la ecuación de estado de salida será:
A. Linealización del Modelo
Para la aplicación del controlador PID al modelo de la ecuación (8)y para fines de este trabajo se requiere tener el modelo lineal del péndulo invertido. Dado que el objetivo es que el péndulo se mantenga en posición vertical (θ≈0°) y que el controlador PID actúe como regulador ante las pequeñas perturbaciones que puedan presentarse se considera que el punto de operación (este punto deberá cumplir con las condiciones de estado de equilibrio) será: x= 0 0 0 0 y F= 0.
Considerando la metodología de (8), se aproximará el modelo lineal mediante la expansión en Series de Taylor despreciando los términos de orden superior.
De lo visto líneas arriba se define:
En donde F es la señal de control y a partir de ahora se denotará por u y x ̇ es el vector de estados definido anteriormente.
La expansión de las Series de Taylor de (10) sería dado por:
Resolviendo las operaciones jacobianas, (11) queda así:
Aplicando a la ecuación (8) se obtiene finalmente el modelo lineal:
B. Función de Transferencia de la Posición Angular y Controlador PID
Resolviendo la ecuación de estado (13) y reordenando se obtiene la función de transferencia de la posición angular.
Reemplazando los valores según (8) se obtiene:
No se va a tomar en cuenta la función de transferencia de la posición del carro, dado que no es el objetivo realizar control sobre este, sino es regular la posición vertical (siempre el set point será: θ=0°) ante las perturbaciones que se presentan y para ello la acción de control: F (fuerza) será ejercida sobre el carro, de hecho el mismo controlador PID afectaría ambas funciones de transferencia dado que no son independientes, en la ejecución se tendría que tener una mesa larga para dar disponibilidad a que el carro pueda recorrerlo sin limitación.
Como se aprecia en la figura 2, se observa que el sistema no es estable en la condición de lazo abierto, para una perturbación simulada mediante la función impulso. Esto también es verificado en (14) dado que tenemos en el denominador coeficientes negativos, mas estrictamente tenemos un polo positivo (lado derecho del plano s complejo).
Debido a lo anterior se requiere diseñar algún tipo de control para mejorar la respuesta, en esta oportunidad se aplicará un controlador de tipo PID (proporcional-integral-derivativo) que es muy común y fácil de implementar.
El diagrama de bloques se presenta en la figura 3 y la función de transferencia de un controlador PID es dado por:
Donde: kp es la ganancia proporcional, Ki es la ganancia integral y kd es la ganancia derivativa.
La función de transferencia de lazo cerrado del sistema puede ser escrito como:
Resolviendo se obtiene:
La ecuación característica obtenida de la ecuación (17) es:
Para la estabilidad los coeficientes de la ecuación característica deben ser positivos. Por lo tanto, se tiene los siguientes rangos:
3.ALGORITMOS METAHERÍSTICOS
Los algoritmos metaheurísticos son una nueva perspectiva con la que se afronta diferente tipos de problemas: estrategia-resultado (9), bajo esta premisa el algoritmo heurístico busca soluciones lo suficientemente buenas, sin ser necesariamente la mejor o la óptima, estos buscan reducir el esfuerzo computacional de tiempo y eficiencia a costa de la precisión para llegar a la solución.
Blum y Roli (10) consideran 9 propiedades de la metaheurística:
Son estrategias que guían el proceso de búsqueda.
Exploran eficientemente el espacio de búsqueda para encontrar soluciones (casi) óptimas.
Las técnicas que lo constituyen van desde simples procedimientos de búsqueda local hasta complejos procesos de aprendizaje.
Son aproximados y generalmente no deterministas.
Pueden incorporar mecanismos para evitar quedar atrapados en áreas confinadas del espacio de búsqueda. Esto les permite poder “escapar” de puntos críticos locales lo cual permite tener una mayor probabilidad de alcanzar puntos críticos globales.
Los conceptos básicos de la metaheurística permiten una descripción por niveles abstracta.
No son específicas para un determinado problema.
Pueden hacer uso del conocimiento específico de un dominio en forma de heurísticas que son controladas por la estrategia de nivel superior.
Las metaheurísticas más avanzadas de hoy utilizan la experiencia de búsqueda (embebida en alguna forma de memoria) para guiar la búsqueda.
Se tiene una clase amplia de algoritmos metaheurísticos, los que en esta oportunidad se discutirán son los inspirados en comportamiento de sistemas de la naturaleza: algoritmo luciérnaga y recocido simulado. Para mayor detalle se puede consultar a (9), (10), (11), (12).
A. Algoritmo Luciérnaga
Este algoritmo fue desarrollado por Xin-She Yang en el 2007 (Universidad de Cambridge). Para su implementación se debería considerar 3 reglas idealizadas (12), (13):
1. Todas las luciérnagas son unisex así que una luciérnaga será atraída por otras luciérnagas independientemente de su sexo.
2. La atracción es proporcional a su brillo (intensidad luminosa), así para cualesquiera dos luciérnagas, la de menor brillo se moverá hacia la de mayor brillo. El atractivo es proporcional al brillo y ambos decrecen con el incremento de la distancia. Si no hay una que brille más respecto a otras, estas no se moverá aleatoriamente.
3. El brillo de una luciérnaga es afectada por la definición de la función objetivo.
Considerando lo anterior tenemos el pseudo-código del algoritmo luciérnaga:
Se tienen dos consideraciones importantes: la variación de la intensidad luminosa y la formulación del atractivo.
Simplificadamente la intensidad luminosa I(r) varía según:
Donde Is es la intensidad de la fuente, para un medio con un coeficiente de absorción luminosa fijo: γ, la intensidad luminosa varía según:
A fin de evitar la singularidad en r=0 y para cumplir (20) y (21) se tiene:
Como el atractivo de la luciérnaga es proporcional a la intensidad luminosa, entonces se define:
Donde β0 es el atractivo a una distancia igual a cero.
Se define a “r” como la distancia cartesiana o Euclidea entre dos luciérnagas.
Así se define el movimiento de una luciérnaga “i” que es atraída a otra luciérnaga “j” más atractiva (brillante):
Donde el segundo término es atribuido a la atracción, el tercero es a la aleatoriedad con α como parámetro de aleatorización y €i un vector de números aleatorios.
B. Algoritmo Recocido Simulado
En 1983 apareció el algoritmo de recocido simulado, una técnica de optimización propuesta por S. Kirkpatrick, C. D. Gellat and M. P. Vecchi, inspirada en el proceso de recocido que se utiliza en la industria metalúrgica para obtener metales con una estructura cristalina más uniforme y que permita eliminar los defectos en ella, mejorando determinadas propiedades. Dicho proceso consiste en fundir el metal, donde la energía del sistema es máxima. Luego se hace descender la temperatura muy lentamente por etapas, dejando que en cada una de esas etapas los átomos queden en equilibrio (energía del sistema es mínima).
El RS es un algoritmo de búsqueda aleatoria basado en la trayectoria y una de sus principales ventajas es la habilidad para evitar caer en puntos críticos locales, de hecho se ha demostrado que este algoritmo podría converger a su óptimo global si se da una adecuada aleatoriedad y lento tiempo de enfriamiento.
Durante la ejecución del algoritmo, se nota que en cada iteración no siempre elegirá a un vecino que mejore la solución actual, sino que podría seleccionar una no correcta, la aceptación o no dependerá de una función probabilística que depende de dos factores: (1) la diferencia entre el estado actual y el nuevo; y (2) la temperatura. La función de probabilidad que se considera es (14), (15):
Dónde:
Eactual: estado actual
Enuevo: estado nuevo
Eval: función de evaluación o función objetivo (cambio de nivel de energía)
T: temperatura
La Ec. (25) se basa en la distribución de Boltzmann en mecánica estadística. Esto da cuenta que para “T” altos habrá una mayor probabilidad de aceptar estados nuevos que no mejoren la solución y conforme disminuye “T” (enfría) este se estabiliza y disminuye notablemente la probabilidad de aceptar un estado nuevo erróneo.
Se deberá inicializar la temperatura inicial, temperatura final a la cual se detiene las iteraciones y la velocidad de enfriamiento según el diseño de nuestro problema.
La temperatura puede ir enfriándose linealmente pero se tiene otras opciones:
En base a lo anterior tenemos el siguiente pseudo-código:
4 RESULTADOS DE LA UTILIZACIÓN DE ALGORITMOS METAHEURÍSTICOS EN LA SINTONIZACIÓN DE UN CONTROLADOR PID
Para la aplicación de los algoritmos previamente revisados se ha considerado la función objetivo o de coste (intensidad luminosa y función de evaluación de los algoritmos luciérnaga y recocido simulado respectivamente) al Índice de Comportamiento ITSE (integral del tiempo multiplicada por el error al cuadrado), dado que proporciona la mejor selectividad de los demás índices, el valor mínimo se discierne fácilmente a medida que varían los parámetros del sistema (4), (6), además de poder usarse para elevados errores en los primeros instantes dado que el problema es de regulación donde las perturbaciones generalmente serán de tipo impulso.
Donde: e es el error entre el set point y la variable de proceso y t es el tiempo de análisis.
Se ha considerado el criterio de Routh-Hurwitz para definir el valor máximo del rango de los parámetros del controlador PID según la ecuación (19). El valor mínimo se ha definido en varios rangos para evaluar los algoritmos.
Para el Algoritmo Luciérnaga se tiene los siguientes parámetros:
Parámetro | Valor |
Número de Luciérnagas: | 60 |
N° generación máxima: | 100 |
Aleatoriedad: α | 0.5 |
Intensidad inicial: β | 0.2 |
Coeficiente de Absorción: γ | 0.5 |
Para el Algoritmo Recocido Simulado se tiene los siguientes parámetros:
Parámetro | Valor |
Temperatura Inicial: | 40 |
Temperatura Mínima: | 0.05 |
Velocidad de Enfriamiento | 20 |
Paso | 0.05 |
En la figura 6, figura 7, figura 8, figura 9, figura 10, figura 11 se presentan los resultados del Algoritmo Luciérnaga y como evolucionaron los óptimos de los parámetros del controlador conforme avanza las generaciones de luciérnagas.
De la figura 12, figura 13, figura 14, figura 15, figura 16 se presentan los resultados para el Algoritmo Recocido Simulado. Para ambos algoritmos se verifica que los parámetros del controlador PID convergen.
CONCLUSIONES
- Se observa que el índice de comportamiento ITSE está en el orden de 10e-4 para ambos algoritmos y rangos, incluso para el Recocido Simulado se puede apreciar que los parámetros del controlador PID convergen más rápido y desde la primera iteración se tiene un significativo aporte, esto podría reflejarse en un menor tiempo de procesamiento de memoria en CPU.
- Si bien el Recocido Simulado alcanzó la estabilidad más pronto se tuvo un mayor tiempo de ejecución, por ello es importante probar si la velocidad de enfriamiento fue la más adecuada.
- Se verifica que es factible el uso de los algoritmos metaheurísticos para aplicación mediante un hibrido para la sintonía de lazos de control.
- Queda para futuros trabajos verificar el comportamiento de la señal de control (regulación) y evaluar si es factible alcanzar los resultados obtenidos (que tanto se podría sobre esforzar al actuador), en pruebas que no se muestran se identificó que se podría disminuir el índice de comportamiento a valores menores en un mayor rango de búsqueda y tiempo de ejecución.
- Se podría intentar una función objetivo (intensidad luminosa y de evaluación para el A. Luciérnaga y Recocido Simulado respectivamente) que considere los parámetros que estarían involucrados en el párrafo anterior para brindar un set específico de especificaciones de diseño.