INTRODUCCIÓN
La educación se encuentra expuesta a la tecnología en un grado tal, que es necesario hacer cambios pedagógicos y es requerido establecer un nuevo balance entre la academia tradicional con la influencia tecnológica. La tecnología cambia la manera en cómo se aprende, se interactúa y se piensa (Ruzzenente et al., 2012). Los logros tecnológicos actuales permiten el desarrollo de cursos, prototipos entre otros productos de alta calidad para el desarrollo y estudio de la teoría de control moderno (Bobtsov et al., 2012). Estas herramientas tecnológicas permiten el fácil entendimiento de conceptos teóricos a través de la realización de actividades prácticas para observar el correcto funcionamiento de los dispositivos. Los entornos de aprendizaje ofrecen desafíos a los alumnos motivados por su propia mente inquisitiva, para desarrollar tanto sus habilidades técnicas como creativas. La cultura que se desarrolla con este tipo de ambientes está basada en el pensamiento crítico para la resolución de problemas y el diseño pensando en hacer prototipos (Tsoukalas, 2018). Recientemente se ha producido un aumento en el desarrollo de kits y plataformas educativas para ser utilizados en controles y plan de estudios de ingeniería (Bay y Rasmussen, 2016) lo cual se favorece gracias a los intereses generados por las instituciones académicas para formar profesionales capacitados para el área industrial.
Los sistemas mecánicos tipo péndulo invertido son ampliamente empleados como prototipos de prueba para validar la funcionalidad de diversas estrategias de control lineales y no lineales. Entre sus diferentes variantes se encuentran el modelo clásico de péndulo sobre un carro con desplazamiento lineal, el péndulo con base rotacional, o también conocido como de Furuta, modelos con dos y tres barras, Pendubot, Acrobot, entre otros. En el presente trabajo se emplea el prototipo de una motocicleta autónoma. Este prototipo es uno de tres sistemas mecatrónicos que se pueden ensamblar mediante un kit de desarrollo llamado “Arduino Engineering Kit” el cual es comercializado por Mathworks y Arduino. El movimiento total de la motocicleta consta de dos movimientos: un movimiento de traslación y un movimiento de balanceo. El comportamiento del movimiento de balanceo se puede asumir que es similar al de un péndulo con rueda inercial. Un profundo estudio sobre los antecedentes de este tipo de sistema y un modelo genérico pueden encontrarse en (Owczarkowski, Kozierski y Lis, 2015). El contenido de trabajo se estructura como sigue: primero se describe el prototipo bajo estudio seguido de la obtención del modelado matemático del prototipo, después se realiza el análisis de controlabilidad del modelo linealizado y se presenta el diseño de un controlador de balanceo basado en la técnica de ubicación de polos, por último, para validar el diseño propuesto se realizan tanto simulaciones con el modelo matemático obtenido, así como experimentos sobre el prototipo físico.
METODOLOGÍA
Descripción del prototipo de la motocicleta autobalanceada
La motocicleta autobalanceada del “Arduino Engeenering Kit” consta del cuerpo, que puede balancearse libremente sobre su punto de apoyo con el suelo, como se muestra en la Figura 1. El sistema motriz lo conforma un pequeño motor de corriente directa (CD) el cual cuenta con encoder y reductor mecánico con una relación de 100:1. La función del motor de CD es girar la rueda trasera mediante una banda dentada y, de esta forma generar el movimiento traslacional de la motocicleta. Las características más relevantes son: velocidad angular (sin carga): 320 rpm y torque: 2,2 Kg.cm. Además, posee otro motor de CD acoplado al cuerpo. Este actúa sobre la rueda de reacción con la cual se controla el balanceo de la motocicleta debido al torque de reacción. El ángulo del cuerpo respecto a la vertical se mide con una unidad de medición inercial (IMU, por sus siglas en inglés). Se emplea como unidad de control una tarjeta MKR1000 y una tarjeta de expansión especialmente diseñada para ampliar su funcionalidad (MKR Motor Carrier). Esta tarjeta permite controlar fácilmente servomotores, motores de corriente continua y motores paso a paso (Arduino, 2018).
Los motores poseen un encoder magnético para calcular la posición del motor. Este está compuesto por un módulo con dos sensores de efecto Hall y un disco magnético. El encoder tiene dos salidas, una para cada sensor de efecto Hall. Los sensores están posicionados de manera que las salidas de onda cuadrada de ambos están desfasadas 90°, conocido como salida en cuadratura.
Para variar la dirección y velocidad angular del motor se conecta a un puente H. Este contiene cuatro interruptores, típicamente transistores, que se controlan en pares. La corriente fluye en una dirección diferente dependiendo de qué interruptores estén activados. Esto permite controlar la dirección del propio motor. Para poder cambiar la velocidad angular del motor lo que se hace es inyectar en la base de los transistores una señal que los haga conmutar, y así lograr un efecto similar al cambio de la corriente. La señal más empleada para este fin es la modulación por ancho de pulso (PWM, por sus siglas en inglés). Esta técnica, consiste en cambiar el ancho del pulso (ciclo de trabajo) de una señal periódica. La inercia del motor combinada con las propiedades de las bobinas es lo que contribuye a que PWM pueda controlar la velocidad angular. Para reducir la velocidad angular del motor, se puede disminuir el ciclo de trabajo de la señal PWM que va al puente H. Es importante considerar la velocidad de conmutación de los transistores, la frecuencia de la señal solo puede ser igual a la permitida por esta velocidad.
La comunicación entre MATLAB y la tarjeta Arduino se realiza a través del “MATLAB Support Package for Arduino”. El primer paso consiste en cargar las librerías a la placa de Arduino. Las librerías, I2C y Servo, se seleccionan automáticamente, además se requieren: RotaryEncoder y Arduino/ MKR Motor Carrier. La comunicación I2C es la que se emplea para poder comunicar la MKR1000 y el MKRMotorCarrier. En el siguiente paso se crean los objetos necesarios en MATLAB para poder interactuar con los motores. De esta manera se crean los objetos: Arduino, carrier, CDm y enc, y se asocian entre ellos (Arduino, 2018).
RESULTADOS Y DISCUSIÓN
Obtención de un modelo matemático lineal para describir la motocicleta autónoma
Para la obtención del modelo matemático que describe la dinámica de la motocicleta se hicieron los siguientes supuestos:
1) La motocicleta solo puede moverse alrededor del eje de la rueda.
2) Se desprecia la fricción entre la motocicleta y el suelo, o entre la motocicleta con la rueda de inercia, ya que el valor normalmente es muy bajo.
3) El grosor de las ruedas es insignificante.
4) La resistencia del aire es despreciable.
Se utiliza la representación mostrada en la Figura 1, donde: θ: Ángulo de inclinación, en sentido horario (-) y antihorario (+); ϕ: Desplazamiento angular de la rueda inercial, en sentido antihorario (+); h cm : Altura del centro de masa; 𝑀 𝑀 : Masa de la motocicleta y g: Fuerza de gravedad.
Para un eje de rotación dado, hay un torque, que es la suma de todos los torques que actúan en el sistema sobre ese eje. El torque se define como:
𝜏 𝑠 = 𝜏 𝑠 𝑖 = 𝐼 𝑠 𝜃 𝑠 (1)
Si solo existe 𝜏 𝑀 𝑔 , en posición vertical no existe equilibrio, cualquier perturbación aumentará la aceleración en sentido contrario. Como lo que se desea es mantener la motocicleta en posición vertical (𝜃=0). La rueda de reacción generará un torque igual, pero en sentido contrario ( 𝜏 𝑀 𝑟𝑟 =− 𝜏 𝑟𝑟 𝑛𝑒𝑡 ), de forma tal que se conserve el momento de inercia ( 𝐼 𝑀 ). El torque externo contempla todo lo que puede generar torque, y para este modelo se asume igual a cero.
Analizando en el supuesto (1), y aplicando la ecuación (1) se define el torque neto ( 𝜏 𝑀 𝑛𝑒𝑡 ) en el punto de contacto de la llanta y la superficie:
El torque neto de la rueda inercial ( 𝜏 𝑟𝑟 𝑛𝑒𝑡 ) aplicando la ecuación (1) queda definido por:
Donde: 𝐼 𝑟𝑟 : Momento de inercia de la rueda de reacción; 𝜙 : Aceleración de la rueda de reacción; 𝜏 𝑟𝑟 𝑚𝑜𝑡𝑜𝑟 : Torque de la rueda de reacción; 𝜏 𝑟𝑟 𝑓𝑟𝑖𝑐 : Torque de fricción entre la rueda de reacción y la motocicleta. Analizando el supuesto (2) se obtiene que:
Para representar el modelo en el espacio de estado, hay que considerar que según (Ogata, 2010), las variables de estados no son únicas. Debido a lo cual se empleará la declaración empleada en (Correa-Ramírez, Giraldo Buitrago y Escobar-Mejía, 2017), donde se considera que el valor de ϕ no tiene influencia sobre la dinámica del sistema ya que la rueda de reacción es simétrica:
Linealizando el modelo en su punto de equilibrio ( 𝑥 1 =0, 𝑥 2 =0, 𝑥 3 =0 ) y representándolo en su forma matricial, se obtiene:
Como se comentó anteriormente el objetivo del controlador es mantener la motocicleta en posición vertical (θ=0), por tal razón la variable de estado que interesa sea salida del sistema es el ángulo de inclinación, y así queda representado en la ecuación 16.
Análisis de controlabilidad de la motocicleta autónoma
Es conocido que la ecuación de estado x =𝐴𝒙+𝐵𝑈 es controlable si la matriz de controlabilidad C, definida como:
es de rango completo, lo cual se cumple si el determinante es distinto de cero. En el caso del modelo de la motocicleta autónoma definido anteriormente en (15, 16), la matriz de controlabilidad es la siguiente:
Para obtener los valores numéricos de los parámetros del modelo se realizaron experimentos y se empleó un software CAD. Los valores obtenidos son: 𝑀 𝑀 =0.365 𝐾𝑔, ℎ 𝑐𝑚 =75 𝑚𝑚, 𝐼 𝑀 =195.16 𝐾𝑔 𝑚𝑚 2 , y 𝐼 𝑟𝑟 =85.49 𝐾𝑔 𝑚𝑚 2 . Sustituyendo los valores numéricos y calculando, se obtiene:
Como 𝐶𝐶 ≠0 se puede diseñar un controlador que estabilice la motocicleta autónoma.
Diseño de un controlador por asignación de polos aplicado a la motocicleta autónoma
La vía más directa para balancear la motocicleta es aplicar un torque a la rueda de reacción proporcional y opuesto al ángulo de inclinación. Esta ganancia hace que la frecuencia y la amplitud de la oscilación aumenten. Si es de un valor pequeño no es suficiente para mantener la motocicleta balanceada. Por otro lado, si es demasiado grande provoca que se supere el centro de gravedad, y la motocicleta se cae. Con este controlador proporcional, el ángulo de inclinación oscila sobre el valor deseado con una amplitud constante de manera indefinida. Para hacer disminuir estas oscilaciones se debe realimentar también la velocidad de cambio del ángulo. De esta forma se estaría introduciendo una acción derivativa en el controlador.
Su introducción elimina o “amortigua” el comportamiento oscilatorio del ángulo, lo que hace que alcance un estado estable. Si se aumenta la ganancia derivativa, hay menos oscilaciones antes de que se alcance un valor estable y la amplitud de la oscilación disminuya más rápidamente. Cuando disminuye, hay más ciclos oscilatorios y se tarda más en alcanzar un estado estable.
Bajo este análisis se decide emplear un controlador por ubicación de polos, en este diseño la tarea fundamental consiste en encontrar el vector de ganancias de realimentación (Ki). Lo mismo se logra igualando la ecuación de lazo cerrado del sistema a la ecuación característica deseada. La metodología para el diseño del controlador que se emplea es la descrita en (Nise, 2006):
Representar la planta en la forma canónica controlable.
Realimentar cada estado a la entrada de la planta con una ganancia Ki.
Encontrar la ecuación característica de lazo cerrado.
Decidir la ubicación de los polos de lazo cerrado y determinar la ecuación característica equivalente.
Igualar los coeficientes de las ecuaciones y determinar los Ki.
Aunque este modelo linealizado solo es válido en la vecindad del punto de equilibrio, se puede emplear para el diseño del controlador, ya que su función es corregir pequeñas variaciones del ángulo (θ), con el objetivo de mantener la motocicleta en su posición vertical. Por consiguiente, para encontrar la forma canónica controlable del sistema se parte de la función de transferencia, que se calcula como:
Luego la forma canónica controlable de la motocicleta autónoma queda como sigue:
Posteriormente, realimentando las ganancias Ki se determina la ecuación característica de lazo cerrado:
Para decidir sobre la ubicación de los polos de lazo cerrado, se analizan las características de la respuesta deseada. En este caso se definen las especificaciones siguientes: T p =1s, %PM=6.8 y T e =7s, obteniéndose:
Este sistema es subamortiguado, por lo que tiene dos polos complejos conjugados, S 1,2 =-2.68±3.14i. Para que el tercer polo sea dominante se escoge de forma tal que sea diez veces mayor que la parte real de los otros dos polos, S 3 =-26.8. Por consiguiente, el denominador de la función transferencial de lazo cerrado deseado es:
Igualando a (24) y calculando las Ki se obtiene:
Para comprobar el comportamiento del controlador se realizan simulaciones empleando Simulink®. Como se puede comprobar en la Figura 2, el controlador es capaz de estabilizar la salida (θ), cumpliendo con los requerimientos para los cuales se diseñó. El controlador es capaz de estabilizar la salida (θ), teniendo un mejor desempeño que los requerimientos para los cuales se diseñó, estos resultados son mostrados en la Figura 2. En esta figura se muestra la gráfica del ángulo de inclinación (θ), y el comportamiento de los estados (X1, X2 y X3). Como se puede apreciar el % PM es inferior al 6.8 de diseño y Te = 1.6 s menor al 7 s esperado.
Implementación del controlador en el prototipo real
Antes de implementar el controlador en la plataforma real, se realizaron simulaciones empleando el modelo no lineal. El mismo es representado por el diagrama en bloques que se muestra en la Figura 3. La respuesta de este sistema empleando el mismo controlador se degrada, aumenta el tiempo de establecimiento y aparece un error de estado estacionario no nulo, Figura 4. En esta figura se muestra la gráfica del ángulo de inclinación (θ), y el comportamiento de los estados (X1, X2 y X3).
Tras realizar ajustes empíricos en las ganancias (K1=456.7, K2=1535.3, K3=33.2), se logró que la motocicleta se mantuviera en posición vertical, los tiempos promedio de los experimentos van de los 19 a los 24 s. Los datos de una de las corridas realizadas se muestran en la Figura 5. En la primera gráfica de la Figura 5 se observa la señal de control aplicada, su comportamiento corresponde con la lógica del sistema, debe mostrarse oscilante y cambiante de amplitud, haciendo girar el motor en un sentido u otro, para corregir la desviación del ángulo (θ). Esta variable se muestra en la segunda gráfica. Se aprecian oscilaciones pequeñas sobre la vertical, mostrando un buen desempeño del controlador. La desviación de θ del cero absoluto era de esperar según los resultados del controlador en simulación mostrado en la Figura 4, donde no se elimina el error de estacionario. Adicionalmente, se debe sumar posibles desviaciones en la calibración del sensor IMU. También se comprueba que a medida que θ va aumentando, el desempeño del controlador va empeorando. Esto se debe a que para su diseño se tomó como partida el modelo linealizado sobre el punto θ=0.
CONCLUSIONES
El uso de plataformas educativas tiene un impacto positivo en la docencia para estudiantes de ingeniería. En el trabajo presentado se mostraron algunas de las posibilidades que ofrece el prototipo de la motocicleta autónoma. Este kit permite el desarrollo de modelos y su simulación considerando diferentes condiciones de uso. Además, posibilita la aplicación de algoritmos de control abriendo oportunidades a conocer su funcionamiento en plataformas reales. La continuidad de este trabajo se centrará en la utilización de otras técnicas de control, así como su evaluación para regular la estabilidad de la motocicleta.