Desarrollan un robot limpiador de playa
Por Érika González
Puebla, Puebla. 28 de septiembre de 2015 (Agencia Informativa Conacyt).- Alumnos de cuarto semestre de Ingeniería en Tecnologías de la Información de la Benemérita Universidad Autónoma de Puebla (BUAP) armaron un prototipo de un robot limpiador de playa autónomo capaz de distinguir obstáculos que comúnmente dificultan esta tarea.
Aldo Rodríguez Victoria, Juan José Osorio Hernández, Luis Alfredo Felipe Flores, Eduardo Contreras López, Alejandro Alvarado Robles y Rodrigo Cuevas Vede, integrantes del grupo de investigación de robótica móvil de la Facultad de Ciencias de la Computación de la BUAP, desarrollaron este prototipo con la finalidad de implementar una forma práctica, económica y segura de limpiar no solo una playa sino cualquier entorno.
“Hoy en día la contaminación ha llegado a distintos puntos de la naturaleza, situación que realmente es de considerarse, pues no solo aqueja un área determinada, sino que también afecta los ecosistemas circundantes”, refiere Aldo Rodríguez Victoria en entrevista para la Agencia Informativa Conacyt.
La contaminación de las playas tiene origen en fenómenos naturales y actividades humanas en la zona costera y continental. Puede también provenir, entre otros factores, de actividades desarrolladas en las grandes concentraciones urbanas que no cuentan con una cobertura suficiente de servicios de limpia, alcantarillado y tratamiento de aguas residuales, según el portal de la Secretaría de Medio Ambiente y Recursos Naturales (Semarnat).
Desarrollo
Según los estudiantes, para que un robot tenga una imagen de su entorno y pueda reaccionar ante él se necesita un conjunto de sensores con los cuales podrá ser capaz de reaccionar de acuerdo con la tarea específica para la cual fue construido o para reaccionar de acuerdo con el ambiente en que esté, y de un controlador para regir su comportamiento.
Luis Alfredo Felipe Flores menciona que se instalaron unos paneles para poder colocar los circuitos y la tarjeta de programación que permiten la comunicación, detección del ambiente que lo rodea, que incluye los obstáculos y residuos que debe recoger.
“También se utilizaron unas piezas de madera y de aluminio para poder armar una caja donde se recolectarán los residuos que encuentre”, agrega.
Rodríguez Victoria afirma que el robot se desarrolló a partir de una tarjeta Intel Galileo y algunos puentes en H desarrollados por inventiva propia. Explica que las principales razones por las cuales se eligió este controlador fueron la facilidad de ser programado mediante una interfaz de puerto serial, la velocidad de procesamiento de la tarjeta y el empleo de un lenguaje de programación.
“El robot está compuesto de una estructura con llantas tipo oruga, de inventiva propia, para lograr dar al móvil una tracción adecuada y así poder maniobrar sobre la arena de playa”, añade.
Los estudiantes modificaron la parte de la pinza de un brazo mecánico comercial para poder lograr mejor movilidad al momento de recoger los residuos.
El esqueleto del prototipo está conformado por el ventilador de una computadora de escritorio que resguarda los circuitos y la batería con la cual se alimenta el robot para su funcionamiento.
Circuitos
Los jóvenes estudiantes resaltan que durante el desarrollo del robot se diseñaron distintos circuitos que se comunican con los sensores que realizan las funciones. Estos circuitos controlan tanto los movimientos como las tareas previamente indicadas y así el robot puede tener autonomía de movimiento al encontrar un obstáculo.
“Uno de los principales circuitos es un divisor de voltaje que alimenta cada uno de los sensores del robot, los motores y motorreductores usados para darle movimiento y algunos servomotores que permiten el movimiento del brazo, la pinza y la caja en la cual el robot llevará los residuos que vaya encontrando y almacenando para depositarlos en el área especificada al final”, describe Rodríguez Victoria.
Felipe Flores subraya que otro circuito de suma importancia para el funcionamiento del robot es el sistema de puentes en H para poder hacer funcionar los motores y motorreductores, así como un Shield de la tarjeta Arduino que permite el control del brazo, la pinza y el servomotor que es lo que permite el movimiento de la caja que lleva el robot encima para poder acumular las latas que lleva hacia el contenedor donde se depositan.
“El circuito que controla el voltaje permite alimentar con 5, 9 y 12 V, que son los voltajes necesarios para hacer funcionar la tarjeta Arduino, los Shields, los motores, los motorreductores y servomotores, respectivamente”, complementa.
Ambos estudiantes coinciden en que las partes técnica, física y de circuitos, para que este robot funcione de manera autónoma, son realmente sencillas ya que gracias al entorno de programación, las tareas que el robot realiza son relativamente fáciles de programar con este hardware.
Programación
Rodríguez Victoria expone que el entorno de programación elegido para el robot está en la tarjeta Intel Galileo a la cual se le acopló el Shield especial para el manejo de motores, de esta forma, la tarjeta recibe las señales de los sensores ultrasónicos —que son los que identifican un obstáculo o residuo que el robot tenga que levantar— y un sensor de color que determina el área de trabajo antes de ponerse en marcha y así evitar salirse de la zona.
“Se aplicó programación sobre el lenguaje C que es el que utiliza la tarjeta Intel Galileo, un software bastante simple de entender y trabajar; además se anexaron unas bibliotecas especiales que necesitaba la tarjeta para poder trabajar con los sensores”, anexa.
Hardware
Es posible determinar la proximidad de objetos a través de dos medios: sensores ópticos y sensores ultrasónicos. “Nosotros elegimos sensores ultrasónicos ya que resulta menos costoso —aunque sabemos que el medio ambiente absorbe o atenúa la señal enviada por el sensor—, además de que la velocidad de la onda ultrasónica emitida por el sensor varía de acuerdo con la temperatura presente en el medio”, señala Felipe Flores.
Según afirman los jóvenes, existen diferente modos de generar y recibir ondas ultrasónicas para aplicaciones de medición de distancias; comúnmente se emplean ondas continuas o en forma de pulso, aunque en la mayoría de los casos para el cálculo de mediciones de distancia se basa en los ultrasonidos, pero considerando el tiempo que transcurre entre la emisión de un tren de pulsos de ondas y su recepción después de haber sido reflejado por algún objeto del entorno, este periodo de tiempo es conocido como tiempo de vuelo.
“Es por todo esto que, para este robot, se decidió utilizar sensores ultrasónicos que además manejan un ángulo de aproximadamente unos 15 grados en una sección cónica para poder determinar la distancia de algún objeto con base en el eco emitido y recibido de vuelta; también tiene una distancia de proximidad con mayor precisión de unos 30 centímetros", complementa Felipe Flores.
Los motorreductores son elementos mecánicos sumamente adecuados para accionar todo tipo de máquinas y aparatos que necesiten reducir su velocidad de forma eficiente, constante y segura.
Un servomotor es un pequeño dispositivo que tiene un eje de rendimiento controlado; puede ser llevado a posiciones angulares específicas al enviar una señal codificada. El motor del servo tiene algunos circuitos de control y potenciómetro que es conectado al eje central del servomotor. El eje del servo es capaz de llegar alrededor de los 180 grados normalmente, aunque algunos pueden llegar hasta los 210 grados.
“En cuanto al brazo mecánico, se modificó para que trabaje de manera autónoma mediante la programación que se le indica con la tarjeta Arduino a partir del resto de las lecturas que se realizan con los sensores”, enfatiza Rodríguez Victoria.
Software
Galileo es una placa Arduino con arquitectura Intel. La placa Galileo está equipada con el chipset Quark SoC X1000. Es esta tarjeta Intel Galileo el software con que fue programado el robot. La tarjeta permite la lectura de los sensores ultrasónicos y de color para poder detectar su entorno y determinar si existen obstáculos o residuos que recoger, además permite la interacción con el brazo mecánico, afirma Rodríguez Victoria.
Según datos proporcionados por los estudiantes, el Arduino Mega es una placa con un microcontrolador basado en ATmega1280. Tiene 54 entradas/salidas digitales (de las cuales 14 proporcionan salida PWM), 16 entradas digitales, 4 UARTS (puertos serie por hardware), un cristal oscilador de 16 MHz, conexión USB, entrada de corriente, conector ICSP y botón de reset. Contiene todo lo necesario para hacer funcionar el microcontrolador, simplemente conectándolo al ordenador con el cable USB o alimentándolo con un transformador o batería para empezar.
El Mega es compatible con la mayoría de Shields diseñados para el Arduino Duemilanove o Diecimila.
Pruebas
Para la búsqueda y recolección de residuos, los jóvenes usaron latas vacías pintadas de color negro mate para que el robot fuera capaz de buscarlas dentro del área de la playa, esto mediante el uso de los sensores ultrasónicos y de color que permiten determinar la distancia del robot a algunas de ellas y de esta manera poder tomarlas con la pinza y depositarlas en la caja y así llevarlas al contenedor indicado.
“A nivel general se busca que el robot sea capaz de identificar cualquier otro tipo de residuo y de la misma manera levantarlo del entorno para llevarlo a los depósitos correspondientes, los cuales serán identificados de manera correcta por medio del 'sensado' que realiza el robot”, concluye Felipe Flores.
Un realizado en marzo por la Secretaría de Medio Ambiente y Recursos Naturales (Semarnat) y la Comisión Federal para la Protección contra Riesgos Sanitarios (Cofepris) reveló que 97.7 por ciento de las playas en México están limpias, solo seis ubicadas en Guerrero y Campeche no son aptas para nadar. |
Esta obra cuyo autor es Agencia Informativa Conacyt está bajo una licencia de Reconocimiento 4.0 Internacional de Creative Commons.