SciELO - Scientific Electronic Library Online

 
vol.13 número4Sistema de Apoyo a la Toma de Decisiones Basado en Mapas cognitivos Neutrosóficos para Instituciones que atienden a Embarazos con Alto Riesgo por Enfermedades CardiovascularesSoftware de procesamiento de imágenes de microarreglos para diagnósticos índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

  • Não possue artigos citadosCitado por SciELO

Links relacionados

  • Não possue artigos similaresSimilares em SciELO

Compartilhar


Revista Cubana de Ciencias Informáticas

versão On-line ISSN 2227-1899

Rev cuba cienc informat vol.13 no.4 La Habana oct.-dez. 2019

 

Artículo original

Control de balanceo de una motocicleta autónoma mediante una rueda de reacción

Balancing control of an autonomous bicycle using a reaction wheel

Camilo Morales Corral1  * 

Daniela Oralia Rocha Morelos1 

Israel Soto Marrufo1 

Ivón Oristela Benítez González2 

1 Universidad Autónoma de Ciudad Juárez, México. E-mail: al183284@alumnos.uacj.mx; al183062@alumnos.uacj.mx; angel.soto@uacj.mx

2 Universidad Tecnológica de La Habana “José Antonio Echeverría”, Cuba. E-mail: novi@automatica.cujae.edu.cu.

RESUMEN

Uno de los prototipos más empleados para la enseñanza de estrategias de control moderno son los llamados péndulos invertidos: péndulo invertido, carro péndulo, péndulo con rueda inercial o de reacción, entre otros. En este trabajo se presenta el control de balanceo de una motocicleta autónoma, el control está basado en la metodología de diseño de controladores por ubicación de polos la cual requiere de las ecuaciones de movimiento del sistema linealizadas que también se presentan en este trabajo. Los resultados en simulación y experimentales permiten concluir que el diseño del controlador es óptimo.

Palabras clave: motocicleta autobalanceada; controlabilidad; Arduino

ABSTRACT

One of the most used prototypes for teaching strategies of modern control are the inverted pendulums: inverted pendulum, pendulum car, pendulum with inertial wheel or reaction wheel, etc. On this paper, was presented the balancing control of an autonomous motorcycle, the controlled was develop using the pole placement design methodology, which requires the linearized system movement equations that are also presented in this work. The simulation and experimental results allow to conclude that the controller design is optimal.

Keywords: self-balancing motorcycle; controllability; Arduino

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).

Fig.1 a) Componentes de la motocicleta autónoma, b) Vista trasera y sistema de coordenadas de referencia 

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. 1) La motocicleta solo puede moverse alrededor del eje de la rueda.

  2. 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. 3) El grosor de las ruedas es insignificante.

  4. 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.

Fig.2 Respuesta del modelo linealizado 

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).

Fig.3 Diagrama en bloques sistema no lineal 

Fig.4 Respuesta del modelo no lineal 

Fig.5 Respuesta del prototipo real 

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.

REFERENCIAS

Arduino,S. 2018. Self-Balancing Motorcycle. ENT#091;en líneaENT#093;.2018 Disponible en: Disponible en: https://create.arduino.cc/edu/courses/mod/book/view.php?id=83&chapterid=86 . [ Links ]

Bay, C.J. y Rasmussen, B.P., 2016. Exploring controls education: A re-configurable ball and plate platform kit. Proceedings of the American Control Conference, vol. 2016-July, pp. 6652-6657. ISSN 07431619. DOI 10.1109/ACC.2016.7526718. [ Links ]

Bobtsov, A.A., Kolyubin, S.A., Pyrkin, A.A., Borgul, A.S., Zimenko, K.A. y Evgeniy, R.Y., 2012. Mechatronic and robotic setups for modern control theory workshops ENT#091;en líneaENT#093;. S.l.: IFAC. ISBN 9783902823014. 2018 Disponible en: Disponible en: http://dx.doi.org/10.3182/20120619-3-RU-2024.00070 . [ Links ]

Correa-Ramírez, V.D., Giraldo Buitrago, D. Y Escobar-Mejía, A., 2017. Control difuso del péndulo invertido con rueda de reacción usando seguimiento de trayectoria. TecnoLógicas, vol. 20, no. 39, pp. 55-67. ISSN 0123-7799. DOI 10.22430/22565337.690. [ Links ]

Nise, N., 2006. Sistemas de Control para Ingeniería. S.l.: s.n. ISBN 9780521191333. [ Links ]

Ogata, K., 2010. Ingeniería de control moderna ENT#091;en líneaENT#093;. S.l.: s.n. ISBN 978-84-205-4401-4. Disponible en: www.pearsoneducacion.com. [ Links ]

Owczarkowski, A., Kozierski, P. Y Lis, M., 2015. Preliminary Study of Hydrodynamic Load on an Underwater Robotic Manipulator. Journal of Automation, Mobile Robotics and Intelligent Systems ENT#091;en líneaENT#093;, vol. 9, no. 3, pp. 3-8. ISSN 1359-4311. DOI 10.14313/JAMRIS. 2018 Disponible en: Disponible en: http://yadda.icm.edu.pl/baztech/element/bwmeta1.element.baztech-851db1ac-c5d4-426d-9d86-32fc6feff175 . [ Links ]

Ruzzenente, M., Koo, M., Nielsen, K., Grespan, L. Y Fiorini, P., 2012. A Review of Robotics Kits for Tertiary Education. Proceedings of 3rd International Workshop Teaching Robotics, Teaching with Robotics Integrating Robotics in School Curriculum, pp. 153-162. [ Links ]

Tsoukalas, K., 2018. Introducing a K-12 Mechatronic NIME Kit NIME Proceedings Template for LaTeX. NIME’18, pp. 206-209. [ Links ]

Recibido: 15 de Julio de 2019; Aprobado: 20 de Septiembre de 2019

* Autor para correspondencia: al183284@alumnos.uacj.mx

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons