DESARROLLO DE UN ROBOT PARA LA COMPETENCIA CARRERA DE...

6
281 DESARROLLO DE UN ROBOT PARA LA COMPETENCIA CARRERA DE PERSECUCIÓN MEDIANTE SEGUIDORES DE LÍNEA DEL 5TO. ENCUENTRO ESTATAL DE PROTOTIPOS DE ROBÓTICA Y DESARROLLO TECNOLÓGICO, MICHOACÁN 2015 Isaac Chávez Arroyo 103 , Leonardo Romero Muñoz 104 y Moisés García Villanueva 105 Resumen Se describe la construcción de un robot móvil que participará en la competencia de “carrera de persecución mediante seguidores de línea” del “5to. Encuentro estatal de prototipos de robótica y desarrollo tecnológico, Michoacán 2015”. Se trata de un robot muy ligero, de locomoción diferencial que utiliza 2 ruedas acopladas a micro motores de CD con cajas de reducción de engranes de 10:1, con capacidad para lograr una velocidad de 3000 rpm, una rueda loca, una pequeña tarjeta elevadora de tensión y una batería litio de 3.7 volts. Cuenta además con un par de interruptores de presión, para evitar colisionar con el robot oponente. Un arreglo de 8 sensores reflexivos en la parte frontal del robot, dirigidos al piso, sirven para detectar la pista. El robot incorpora un micro controlador arduino nano para procesar las entradas de los sensores así como enviar las señales de control para los motores. Se describen tanto los elementos de hardware, como los algoritmos y las estrategias de control utilizadas. Se espera que este robot tenga un buen desempeño en la competencia de carrera de persecución mediante seguidores de línea. Palabras Clave: Robot móvil, robot seguidor de línea, encuentro robótica Michoacán 2015. INTRODUCCIÓN En Michoacán, en los últimos cuatro años, se han llevado a cabo competencias estatales de robótica con el objetivo de impulsar y desarrollar la creatividad y habilidades en los estudiantes. Dichas competencias tienen diferentes categorías, una de las cuales es la carrera de persecución mediante seguidores de línea. La carrera de persecución mediante seguidores de línea consiste en tener dos robots que sean capaces de seguir una trayectoria cerrada definida mediante un camino blanco de aproximadamente 15mm de ancho dibujado sobre una superficie plana y de color negro; ambos robots serán colócalos en extremos opuestos sobre el camino y arrancarán al mismo tiempo. El robot ganador será aquel que alcance al oponente. 103 Facultad de Ingeniería Eléctrica, Universidad Michoacana de San Nicolás de Hidalgo; [email protected] 104 Facultad de Ingeniería Eléctrica, Universidad Michoacana de San Nicolás de Hidalgo; [email protected] 105 Facultad de Ingeniería Eléctrica, Universidad Michoacana de San Nicolás de Hidalgo; [email protected]

Transcript of DESARROLLO DE UN ROBOT PARA LA COMPETENCIA CARRERA DE...

281

DESARROLLO DE UN ROBOT PARA LA COMPETENCIA CARRERA DE PERSECUCIÓN MEDIANTE SEGUIDORES DE LÍNEA DEL 5TO.

ENCUENTRO ESTATAL DE PROTOTIPOS DE ROBÓTICA Y DESARROLLO TECNOLÓGICO, MICHOACÁN 2015

Isaac Chávez Arroyo103, Leonardo Romero Muñoz104 y Moisés García Villanueva105

Resumen Se describe la construcción de un robot móvil que participará en la competencia de “carrera de persecución mediante seguidores de línea” del “5to. Encuentro estatal de prototipos de robótica y desarrollo tecnológico, Michoacán 2015”. Se trata de un robot muy ligero, de locomoción diferencial que utiliza 2 ruedas acopladas a micro motores de CD con cajas de reducción de engranes de 10:1, con capacidad para lograr una velocidad de 3000 rpm, una rueda loca, una pequeña tarjeta elevadora de tensión y una batería litio de 3.7 volts. Cuenta además con un par de interruptores de presión, para evitar colisionar con el robot oponente. Un arreglo de 8 sensores reflexivos en la parte frontal del robot, dirigidos al piso, sirven para detectar la pista. El robot incorpora un micro controlador arduino nano para procesar las entradas de los sensores así como enviar las señales de control para los motores. Se describen tanto los elementos de hardware, como los algoritmos y las estrategias de control utilizadas. Se espera que este robot tenga un buen desempeño en la competencia de carrera de persecución mediante seguidores de línea. Palabras Clave: Robot móvil, robot seguidor de línea, encuentro robótica Michoacán 2015.

INTRODUCCIÓN En Michoacán, en los últimos cuatro años, se han llevado a cabo competencias estatales de robótica con el objetivo de impulsar y desarrollar la creatividad y habilidades en los estudiantes. Dichas competencias tienen diferentes categorías, una de las cuales es la carrera de persecución mediante seguidores de línea. La carrera de persecución mediante seguidores de línea consiste en tener dos robots que sean capaces de seguir una trayectoria cerrada definida mediante un camino blanco de aproximadamente 15mm de ancho dibujado sobre una superficie plana y de color negro; ambos robots serán colócalos en extremos opuestos sobre el camino y arrancarán al mismo tiempo. El robot ganador será aquel que alcance al oponente.

103Facultad de Ingeniería Eléctrica, Universidad Michoacana de San Nicolás de Hidalgo; [email protected] 104Facultad de Ingeniería Eléctrica, Universidad Michoacana de San Nicolás de Hidalgo; [email protected] 105Facultad de Ingeniería Eléctrica, Universidad Michoacana de San Nicolás de Hidalgo; [email protected]

282

El objetivo es construir un robot de locomoción diferencial que obedezca los lineamientos de dicha competencia: un tamaño máximo del robot de 25cm de largo y 20cm de ancho, donde la altura y el peso no están restringidos. La arquitectura de dicho robot está basada en tres puntos de apoyo: dos ruedas de tracción con motores independientes y una rueda loca al frente. A continuación se describen los aspectos más importantes de la fabricación de este robot, tomando como referencia el robot que se describe en [C.I.r.E, 2015].

Los componentes utilizados Cuando por primera vez nos decidimos por construir un robot móvil, surge la duda de cómo elegir los componentes correctamente, por lo que a continuación se presenta una lista de los componentes utilizados para este diseño junto con una breve descripción del criterio de elección.

• Motores. Los motores utilizados son marca Pololu, con una relación de engranes 1:10. Pololu tiene variantes de este motor: Low Power (LP), Medium Power (MP) y High Power (HP), variando entre ellos el de consumo de corriente y torque máximo. La elección hecha fue por el modelo High Power (HP) con un consumo de corriente de 1600mA, un torque máximo de 300gr-cm de arranque y una velocidad máxima de giro de 3000rpm.

• Controlador o driver de los motores. El driver elegido para este robot fue un TB6612FGN, el cual es un controlador dual para motores de CD, lo que significa que puede controlar dos motores simultáneamente. Algunas características relevantes de este controlador son: un voltaje de operación de 4.5v a 13.5v y una corriente pico de 3 A por motor, consumo continuo de 1 A, regulación PWM, Freno, protección térmica.

• Micro controlador. Hablando de microcontroladores existe una gran diversidad, se eligió el Arduino nano porque es pequeño, sencillo de programar, posee características básicas que se adaptan a nuestras necesidades, como disponer de 8 entradas analógicas, 14 pines digitales, de los cuales 6 pueden ser usados como señales de control PWM, una memoria de 16 KB flash y un procesador ATmega328 corriendo a 16 MHz. Cabe destacar que este micro controlador integra una interfaz USB por lo que no será necesario utilizar ningún dispositivo grabador o programador adicional para poder grabar código en él.

• Sensores. Para este punto se utilizó un arreglo de 8 sensores infrarrojos de la marca Pololu modelo QTR-8A para detectar la línea. Estos sensores funcionan a básicamente con resistencias, por lo que están recomendados para entradas analógicas. La distancia óptima para estos sensores es de 3mm.

• Ruedas. Las ruedas juegan un papel muy importante en el robot al momento de adquirir altas velocidades, ya que de ellas depende la respuesta del robot ante una curva. Para este diseño fueron utilizados rines fabricadas en una impresora 3D con una goma de arrastre de papel de impresora, utilizada como cubierta.

283

Esta rueda tiene un alto coeficiente de fricción, lo cual es indispensable para alcanzar altas velocidades. La Figura 1a muestra una vista de las ruedas construidas.

a) Ruedas de tracción b) Caster ball Figura 1. Ruedas del robot.

• Caster ball. Para el tercer punto de apoyo fue utilizada una pequeña rueda loca

fabricada a la medida ya que en el mercado no se encontró algo similar a lo fabricado. En la figura 1b se muestra la rueda loca fabricada. El motivo de usar este tipo de rueda es reducir la fricción que se genera con otros tipos de ruedas convencionales, ya que las opciones comerciales nos brindan ruedas con mucho peso o bien con muchísima fricción. Básicamente está fabricada con tres rodamientos, dos para un giro sobre un eje vertical y uno más para los giros sobre un eje horizontal.

• La batería utilizada fue una batería recargable de litio de 3.7v y una capacidad de 5000mAh. Pero dado que el voltaje de los motores debe estar entre los 6 a 9 volts dependiendo de la configuración del robot necesitamos un elevador de tensión que nos entregue el nivel de voltaje adecuado. Para esa tarea fue instalada una fuente Pololu dc-dc con configuración step-up (booster).

• Otros componentes a considerar son: cables, botones, portabatería, tornillos, resistencias etc.

Armado y programación

El chasis de este robot está fabricado utilizando el mismo PCB donde se instalan los componentes. Para iniciar el diseño del chasis se utiliza un programa de dibujo vectorial (inkscape o corel Draw), para después pasar esa misma figura a un software de diseño de PCB llamado PCB Wizard.

284

Figura 2. Componentes instalados en el robot.

Una vez fabricado el PCB fueron soldados capacitores, resistencias, puentes y tiras de pines, para después montar el resto de los componentes, incluidos los motores. En las Figuras 2 y 3 podemos observar los componentes ya montados en el robot.

a) Vista superior b) Vista inferior

Figura 3. parte frontal del robot Este robot usa un algoritmo de control PID (Proporcional, Integral, Derivativo) para controlar los motores de las ruedas de tracción, siguiendo la línea con el arreglo de sensores reflexivos de la parte frontal del robot. Cómo primer paso se hace una calibración de los sensores reflexivos sobre las partes blancas y negras del camino, de manera que la salida de cada sensor reflexivo quede en el rango de 0 a 1000. Enseguida se pondera un valor único del arreglo de sensores siguiendo el siguiente esquema:

e = 4S1 + 3S2 + 2S3 + S4 - S5 - 2S6 - 3S7 – 4S8 Donde Si ,i = 1, … 8, denota la salida de los sensores ya ajustada al rango [0,1000]. La variable e toma un valor de 0 si el arreglo de sensores sigue perfectamente la línea blanca, toma valores positivos o negativos dependiendo si el arreglo de sensores se desplaza a la izquierda o a la derecha de la línea. Mientras mayor sea el valor, mayor

285

será el alejamiento de la línea que indica el camino. Se desea que en todo momento el valor se mantenga lo más cercano a 0. Es decir, la referencia a seguir es el valor de 0. El algoritmo de control puede analizarse por separado como sigue: Control proporcional: tiene como función llevar el robot a la referencia, es decir que el robot siga la pista. La acción de control es proporcional al error sensado. Control integral: Depende de la suma de los errores acumulados y tiene como objetivo reducir y/o eliminar errores pequeños que el control proporcional no logra eliminar. Control derivativo: Este componente depende de la velocidad con la que cambia el error para calcular la acción de control. En la figura 4 se muestra el pseudocódigo del algoritmo de control PID empleado para implementar la tarea del robot seguidor de línea.

Figura 4. Pseudocódigo del control PID.

Las constantes K de los controles tienen como función disminuir o aumentar el impacto de los controles. Finalmente la función setMotors recibe como parámetros con el valor PWM con el que cada motor deberá funcionar. Esta función puede recibir valores positivos o negativos dependiendo del sentido de giro que se desee dar a cada motor.

Algunas pruebas de desempeño

Se realizaron pruebas con el robot construido, alcanzando una velocidad máxima de 1.87 m/s. Las pruebas se realizaron sobre una pista de prueba es 5.63m de recorrido, con curvas de aproximadamente 35cm de radio.

Conclusiones

Como se mencionó anteriormente, el objetivo fue construir un robot seguidor de línea para alcanzar altas velocidades, el cual fue cumplido. El factor más importante a tomar en cuenta en este tipo de robot es la distribución del peso del mismo, ya que este influye directamente en su respuesta ante una curva. La velocidad medida durante las pruebas no depende únicamente de las condiciones del

286

robot, también del tipo de pista, ya que no es lo mismo una pista llena de curvas, donde el robot tiene que recuperar velocidad perdida en cada curva, que una pista diseñada con líneas rectas, donde el robot no necesita recuperar velocidad con frecuencia. Finalmente cabe aclarar que los componentes elegidos en su mayoría son de un buen desempeño a un costo accesible, del fabricante Pololu (http://www.pololu.com). Existen otras opciones en el mercado con mejores características, como los motores Maxon de fabricación alemana, pero incrementan significativamente el costo del robot.

Referencias. [C.I.r.E, 2015] Club de Informática, robótica y Electrónica de Madrid, España. Robot

Zero. A Line Follower for Beginners. Fecha de consulta: Agosto de 2015. https://www.pololu.com/blog/161/robot-zero-a-fast-line-follower-for-beginners