Vous êtes sur la page 1sur 10

DISEÑO, CONSTRUCCION DE UN ROBOT LABERINTO

MAQUINAS ELECTRICAS II

Escuela Superior Politécnica de Chimborazo


Paulo Cesar Reyes Maruri
pauloreyes_94@hotmail.com
0983781313
Estudiante, ESPOCH, EIECRI

Yandry Alexander Jácome Montero


Yanlx3k@Gmail.com
0991916512
Estudiante, ESPOCH, EIECRI

Resumen- En la presente investigación se desarrolla el diseño y construcción de un robot, el


mismo que se desplaza a través de un laberinto de superficie regular; evitando colisiones y
reconociendo rutas, con el fin de realizar el mapeo del laberinto en menor tiempo. El objetivo de
este trabajo es presentar los detalles principales del diseño del hardware y software de un robot
autónomo que es capaz de desplazarse a través de un laberinto o prediseñado, siguiendo
trayectorias rectilíneas con desviaciones a 90 o 180º ante la detección de un borde o pared del
laberinto, cuando se interpone en su camino recto pudiendo este mismo resolverlo de manera
rápida y sin accidentes.

Abstract- In the present investigation the design and construction of a robot is developed, the
same one that moves through a labyrinth of regular surface; avoiding collisions and recognizing
routes, in order to perform the maze mapping in less time. The objective of this work is to present
the main details of the hardware and software design of an autonomous robot that is able to move
through a labyrinth or pre-designed, following straight trajectories with deviations at 90 or 180º
before the detection of an edge or wall of the labyrinth, when it gets in its straight path, this same
can be solved quickly and without accidents.

Palabras clave- Robot autónomo, laberinto, sensores ultrasónicos, motores, placa Arduino.

Keywords- Autonomous robot, labyrinth, ultrasonic sensors, motors, Arduino board

I. INTRODUCCIÓN
En los últimos años la creación de robots ha evolucionado de manera acelerada, teniendo robots
cada vez más sofisticados y con un mayor número de aplicaciones. El proyecto para la creación de
un robot autónomo capaz de recorrer los pasillos de un laberinto surgió como el desafío de
presentar un trabajo de desarrollo novedoso y ambicioso de participación en concurso RIOTRONIC
2018, el objetivo fue desarrollar e implementar un robot autónomo capaz de recorrer un laberinto,
con una distancia entre paredes de los pasillos de un mínimo de 10 centímetros y un máximo de 25
centímetros. Se diseñó un prototipo basado en “Arduino”, plataforma electrónica abierta (código y
hardware abiertos) que permite la creación de prototipos basados en software y hardware flexibles
[1]. En particular, para la construcción del sistema de control del robot se utilizó una placa Arduino
Nano [2], sensores ultrasónicos para medir distancias y servos modificados para lograr el
desplazamiento del robot dentro del laberinto (fig. 1).

FIG. 1. Diagrama de bloque del robot

1
Se utilizaron tres sensores ultrasónicos de los cuales dos fueron dispuestos en los laterales del
robot para medir las distancias a las paredes del pasillo del laberinto y un sensor frontal para
detectar un obstáculo (por ejemplo, el final de un pasillo). Respecto al código de programación que
comanda los distintos componentes electrónicos de entrada y salida a través de la placa se utilizó
la interfaz de desarrollo nativa de Arduino.

 Detección
Ser capaz de detectar los objetos que tiene en frente en este caso serían las paredes por lo que
detecta y realiza un giro hasta encontrar un lugar donde no exista un impedimento para seguir
avanzando, siendo los sensores de gran importancia para el robot ya que son los que le permiten
mediante la distancia saber si tiene un objeto en frente.
 Velocidad
Tanto la velocidad de movimiento como la del sensado son de gran importancia debido a que el
concurso se maneja de acuerdo con la rapidez con la que sale del laberinto. Por lo que se crea el
robot tomando en cuenta que la velocidad del microprocesador debe ser la mas adecuada, para
efectuar sus giros.
 Posición
Debido a que es un robot autónomo este laberinto va de acuerdo a la programación en la que se
debe crear interrupciones de posición donde se indica a que dirección se debe dirigir una vez
detectado un objeto; ya que es un laberinto solo existe la probabilidad de que escoja derecha o
izquierda.
 Giro
Cada vez que el robot deba girar se lo hará con respecto a una posición de 90 grados, posición
derecha por preferencia si aun así el robot detecta otra pared deberá girar otros 90 grados y
avanzar a través de la pista.

II. METODOLOGÍA
La esencia de esta investigación fue crear un robot que permita resolver laberintos de forma
rápida y sin accidentes la metodología a usa es que los sensores le indica al robot que hay un
objeto en su recorrido, con forma sin definir. Ante lo ocurrido la lógica de control puede indicar al
sistema algún movimiento que le permita salir de ese lugar, buscamos que las configuraciones
primitivas de varios sensores en la parte delantera y uno en la parte de atrás cambie. Colocando
los sensores en posiciones específicas para que no quede atrapado en algún sitio del laberinto.

El diseño del robot está basado en las especificaciones que brinda el Concurso de Robótica
“RIOTRONIC 2018” de la ESPOCH, como se muestra a continuación las siguientes instrucciones
que se deben tomar en cuenta para poder participar sobre todo las dimensiones del robot.

- Dimensiones: Las dimensiones del robot están en función de las dimensiones de la pista,
por lo tanto, el robot no podrá tener dimensiones de largo y ancho mayores a 15cm y la
altura de 20cm. El robot no puede expandir sus dimensiones hacia ninguna dirección
durante la competencia.
- Peso: No existe restricciones de peso.
- Alimentación: La fuente de energía para alimentar los circuitos eléctricos de control y los
motores del robot será interna, considerándose cualquier tipo de baterías de corriente
continua.
- Control: El robot deberá ser completamente autónomos a nivel de locomoción, adquisición
de datos y procesamiento. El robot puede contar con sistema de visión artificial. El robot no
puede tener ningún tipo de comunicación externa, es decir, el robot tiene que ser
totalmente autónomo.
- Funcionamiento en la pista: Se permite cualquier tipo de sensores para el sistema de
navegación del robot. Está prohibido el uso de finales de carrera o cualquier otro
mecanismo de detección de contacto, es decir durante la navegación el robot no deberá
tocar las paredes del laberinto, caso contrario recibirá una amonestación. Únicamente las
ruedas pueden estar en contacto sobre la pista, el robot no puede dejar marcas o indicios
del camino recorrido. [3]

Al momento de diseñar el prototipo se tuvieron en cuenta varios contextos que afectarían a la

2
implementación con éxito del mismo. Entre las cuestiones que se analizaron en la etapa de diseño
se pueden mencionar: el chasis, los movimientos a realizar por el robot, los tipos de sensores, los
actuadores y la alimentación necesaria para el funcionamiento de los componentes electrónicos.

III. CONTROL

Se comenzó realizando un análisis de que control era el indicado, Para desarrollar el


algoritmo de control se toma en consideración varios parámetros específicos como son: el
desplazamiento del robot, la exploración dentro del laberinto, la obtención de la ruta más corta y el
envío de información hacia el Arduino.

El movimiento dentro del laberinto se tiene que aplicar movimiento a través de trayectorias
rectas y giros en ángulos de 90° o 180° tanto en izquierda y derecha Para el control de tracción
diferencial se implementa un controlador proporcional integral (PI) sobre las ruedas de las
plataformas robóticas.
Cada sensor del robot lee la distancia a la pared. Cuando el robot está exactamente en el centro, la
distancia a la pared derecha y a la pared izquierda debería ser la misma. Se define 𝑒(𝑡) como el
error en el instante de tiempo t para una mayor exactitud. [12]
𝒆(𝒕) = sensor 𝑹(𝒕) - sensor 𝑳(𝒕)
𝐄𝐜𝟏. Ecuacion del cálculo del error

es decir, resto la lectura del sensor derecho a la lectura del sensor izquierdo.
Como se muestra en la figura [8] hay tres situaciones:

 cuando el robot está en el centro, 𝑒(𝑡) = 0 .


 cuando está hacia la izquierda 𝑒(𝑡) es positivo
 cuando el robot está a la derecha 𝑒(𝑡) es negativo

El signo del error 𝑒(𝑡) = nos indica la dirección del error.


El controlador ayuda que el error siempre es decir 𝑒(𝑡) = 0.

Puede observarse allí el algoritmo utilizado para controlar los motores pololus a partir de la
información obtenida de los sensores S1 (sensor frontal), S2 (sensor lateral derecho) y S3 (sensor
lateral izquierdo). Se utiliza la siguiente convención: si el sensor marca = 1 significa que se está
sensando una pared próxima, por lo tanto, no se habilita el giro hacia ese lado y si marca = 0, se
habilita el giro correspondiente.

El algoritmo de control PI, se diseña para que el robot se mueva en línea recta por la parte
central de los pasillos del laberinto, siguiendo una trayectoria suave con la menor oscilación
posible, reduciendo el error en la adquisición de datos para el mapeo. Para la implementación del
controlador PI, se toma como entrada la señal entregada por los sensores ultrasónicos, los cuales
dan al robot información acerca de la distancia que existe hasta la pared, dicha información es
comparada con una referencia previamente establecida mediante experimentación, es decir, el
mini-robot busca compensar el movimiento de las ruedas para permanecer a una distancia
constante hacia las paredes del laberinto para evitar colisionar.

IV. IMPLEMENTACIÓN
4.1.: CHASIS

El diseño del chasis es un factor importante en el éxito o no de la implementación del robot,


dado que según su forma permitirá realizar desplazamientos con mayor o menor exactitud al
recorrer el laberinto. Para este caso se adquirió un chasis de forma circular liviano que nos
permitiría realizar movimientos más exactos, (utilizamos otros aspectos en el diseño para lograr
que el centro de giro de la circunferencia sea exactamente el centro del chasis). Con la unión de la
placa. (fig.2).

3
FIG. 2. Chasis del robot
4.2.: MOVIMIENTO

La trayectoria que realiza el robot es en línea recta con giros de 90º o 180° cuando
detecta un obstáculo. La tracción utilizada es diferencial (fig. 3), lo que hace que los giros sean
más sencillos y además permite realizar los movimientos sin más espacio que el que está
ocupando (gira sobre su propio eje). Otro aspecto del diseño que se definió a priori fue la
ubicación de las ruedas, dado que esto también impacta en la ubicación del centro de giro.

FIG. 3. Sanchez, F., Rodriguez, O. E., Mazzeo, H. H., & Rapallini, J. A. (2014). Robot autónomo para recorrer un
laberinto. Universidad Técnologica Nacional Facultad Regional la Plata. [archivo PDF]. Recuperado de:
http://uea2013.frbb.utn.edu.ar/wp-content/uploads/TE_1.pdf

4.3.: SENSORES

Los sensores por usar fueron los ultrasónicos HC-SR04 (fig.3). estos sensores de
distancia utilizados son capaces de detectar objetos próximos y calcular la distancia a la que se
encuentre un rango de 2 a 450 cm. El funcionamiento de estos sensores en enviando y
recibiendo pulsos ultrasónicos y tienen toda la electrónica encargada de realizar la medición,
basados en él envió de pulsos de arranque y medir el tiempo en los pulsos de retorno luego la
interpretación del sistema.

FIG. 3. Sanchez, F., Rodriguez, O. E., Mazzeo, H. H., & Rapallini, J. A. (2014). Robot autónomo para recorrer
un laberinto. Universidad Técnologica Nacional Facultad Regional la Plata. [archivo PDF]. Recuperado de:
http://uea2013.frbb.utn.edu.ar/wp-content/uploads/TE_1.pdf

Se utilizaron 3 sensores ubicados en la parte del frente como del lado izquierdo y derecho del
robot para detectar los obstáculos.

4
4.4.: MOTORES

Para el movimiento de las ruedas se usaron motores pololus de 20:1, (fig. 4) estos
pequeños motorreductores DC cepillados están disponibles en una amplia gama de relaciones
de transmisión.
Los motores pololus funcionan con voltaje DC o la ves pueden funcionar con una modulación
por ancho de pulsos (PWM) para controlar la dirección. La frecuencia en la que trabaja es
50Hz, así las señales PWM tendrán un periodo de 20 milisegundos.

Características
 Motorreductor miniatura con engranajes metálicos
 Sección transversal de solamente 10×12 mm
 Eje de salida en “D” de 9 mm de longitud y 3mm de diámetro
 Especificados para voltaje de operación de 6V
 Disponibles accesorios como soportes, encoders y llantas

FIG. 4. 10:1 Micro Metal Gearmotor HP 6v. (n.d.). Retrieved from


https://www.pololu.com/product/999

4.5.: Driver del Motor L293D


Para controlar el sentido de giro y la velocidad de los motores se ha utilizado un puente H
L293D para tener el PWM (Modulación por ancho de pulso) para el ingreso a los motores.
El Circuito Integrado L293D y L293 incluye en su interior 4 drivers o medio puente H. La
corriente máxima que el L293 puede manejar es de 1A a voltajes desde 4.5 volts a 36 volts,
mientras que la corriente constante es de 600 mA. [10]

Características
 Corriente de salida de 600 mA.
 Corriente pico de salida 1 A por canal (no repetitiva).
 C.I. que consta con 16 pines
 Alta inmunidad al ruido electrónico
 Alimentación de 45. a 36v
 Protección contra exceso de temperature
 Diodos de Protección incorporados

FIG 5. L293D. (n.d.). Retrieved from https://www.engineersgarage.com/electronic-


components/l293d-motor-driver-ic

5
4.5.: ALIMENTACION

Para lograr un prototipo autónomo se utilizamos una fuente de alimentación


independiente: una batería lipo de 7.4 V (fig.5) para la alimentación de todo el sistema. La
batería lipo proporciona 2 x 3,7 v = 7.4 volts, valor que es suficiente para alimentar la placa y
para el movimiento de motores. Tanto el pack elementos electrónicos como la batería se
ubicaron en la parte más baja del robot para que el centro de gravedad se acerque lo más
posible al suelo, logrando así gran estabilidad.

FIG. 5. Batería LiPo 1000mAh 7.4V. (n.d.). Retrieved from http://tdrobotica.co/bateria-lipo-1000mah-


74v/292.html

4.6.: DISEÑO PLACA

En el diseño de este proyecto se construyó una placa de control la cual permitirá que
los elementos electrónicos encajen de manera correcta diseñando un sistema para controlar la
alimentación al Arduino. La placa está diseñada en el programa de simulación Eagle tanto para
el diseño esquemático y pbc, este diseño el resultado final permitió que el robot tenga mayor
estabilidad de trabajo (fig.6-7).

FIG. 6. Diseño Esquemático

FIG. 7. Pistas y Elementos

6
V. RESULTADOS
En la simulación de nuestros sensores al funcionar con el envío y recepción de pulsos
los regulamos con unas resistencias conectados a los pines respectivos tanto de comunicación
con Arduino al momento de detectar un obstáculo a una distancia que los sensores
ultrasónicos emiten. (fig.8).

FIG. 8. A, Estrada, Iza, & Problema, (2011). Robot Pololu 3Pi con varios sensores a distancia para evitar colisiones.
[archivo PDF]. Recuperado de: https://www.dspace.espol.edu.ec/bitstream/123456789/17147/1/PAPER CESAR
ESPINOZA.pdf

5.1.: GIRO

El robot debe girar en 90° y 180°, para esto se utilizan una cuadratura, los cuales
brindan una cantidad específica de pulsos por cada giro completo de cada uno de los motores,
con este proceso se restringe el giro del robot a un número de pulsos determinados
anteriormente parar con el fin de llegar al lugar deseado (fig.9) La figura 10 muestra de manera
que no puede girar producto de una mala medición de los sensores.

FIG. 9. Forma correcta de giro

FIG. 10. Forma incorrecta de giro

7
La dificultad en todo el proceso de construcción y pruebas es que los señores
ultrasónicos son por su grafica característica, la que nos muestra un rango de valores de
voltaje, analizados desde los 10cm y 70cm debido a que son valores de para distancias
establecida.
5.2.: CODIGO

Los resultados de la investigación de diseño y de la ejecución de la red fueron


utilizados para realizar la programación de la aplicación en el entorno de código abierto provisto
por Arduino (fig. 11). Una vez compilado y probado desde el entorno de programación, el
código resultante se transfiere a la placa y se ejecuta en ella. Se inicia y ejecuta el código
cargado en la memoria, logrando el funcionamiento autónomo del robot.

5.3: DISEÑO FINAL

El diseño final del robot queda una vez que todas las partes de software y hardware
fueron instaladas en la placa y que una vez soldados, le agregamos el Arduino nano con la
programación lo que obtuvimos un modelo muy bueno para una investigación que realizo
aproximada de 8 semanas con la idea y socialización con el docente y su guía y parte de la
investigación y adquirir los materiales.

Fig. 12. Diseño final

Una vez logrado se obtuvo un prototipo aceptable permitiéndolo ser mejorado con más
investigaciones en la programación. (fig12-13).

Fig. 13. Diseño final frontal

El extenuante funcionamiento del robot fuere capaz de recorrer un laberinto con


cualquier tipo condición de que las trayectorias fuesen rectos y con desviaciones a 90º a 180 º
en ambos sentidos. Es de resaltar la construcción y el logro exitoso del funcionamiento de un
prototipo de costo moderado, ya que se construyó utilizando componentes reciclados y
descartar el chasis, lo que favoreció el desarrollo del proyecto.
Como contraparte, este hecho genera dificultades para lograr un movimiento puramente
rectilíneo, lo cual debe ser corregido constantemente mediante el software de control en
Arduino. Una construcción de software más eficaz del sistema Arduino, mejoraría este aspecto.

Un robot móvil para su desplazamiento necesita de un sistema de percepción de entorno


mediante sensores; para obtener una trayectoria de avance recta es necesario que el robot se
guíen por las paredes que observan a los costados compensando su posición con la medida

8
del sensor de la izquierda o derecha, dependiendo de la zona en la que se encuentre dentro
del laberinto.

Se a desarrolla el análisis de los resultados con dos tipos de controladores, cuyos resultados
son los siguientes

Realizando las respectivas pruebas con el controlador PI, se ha determinado los


parámetros para la implementación de este tipo de controlador , siendo estos:

K_p=0.0889
T_i=0.3212
T_m=0.01

Realizando las respectivas pruebas con el controlador PID, se ha determinado los


parámetros para la implementación de este tipo de controlador, siendo estos:

K_p=0.1128
T_i=0.3098
T_d=0.07
T_m=0.01

VI. CONCLUSIONES

 En la actualidad la construcción de robots que resuelvan laberintos es fundamentales


para los estudiantes puedan diseñar un prototipo que pueda resolver un laberinto que
se relacionan a casos de la vida real aplicados a la robótica por medio de la electrónica
y programación consiguiendo resolver obstáculos mediante mediciones periódicas.

 Es de resaltar la construcción y desarrollo funcional de nuestro prototipo de costo


moderado, con el fin de mejorarlo con más investigación ya que se construyó con la
idea de que resuelva más rápidamente el laberinto, lo que favoreció el desarrollo del
proyecto.

 Los sensores ultrasónicos son una manera muy acertada de poder tener información
de la distancia de un objeto debido a su forma de trabajo con el envío y recepción de
pulsos. Con estos pulsos se hizo más fácil la detección de obstáculos en su camino
con la finalidad de una respuesta eficaz.

REFERENCIAS

[1,2] C. García, V. Verdezoto, C. Cedeño. “Implementación de dos robots autónomos para las categorías de seguidor
de línea y laberinto”. Universidad Católica de Santiago de Guayaquil. 2016.
[3] CLUB DE ROBÓTICA-ESPOCH EVENTO ROBOTRONIC 2018. Accessed December 2018 [Online]. Extraido:
https://liveespochedu-my.sharepoint.com/personal/club_robotica_espoch_edu_ec/Documents/Forms/All.aspx?slr
[4] F. Sanchez, O. Rodriguez. “Robot autónomo para recorrer un laberinto”, Proyecto codiseño de aplicaciones.
Universidad Tecnológica Nacional. 2011.
[5] Arduino, «Arduino Duemilanove,» 2010. [En línea]. Available:http://arduino.cc/es/Main/ArduinoBoardDuemilanove.
[Último acceso: Marzo 2012].
[6] L. Hernández, D. Hernández, E. Vázquez. “Robot para solucionar laberintos RAVEN”. Instituto tecnológico de Txtla
Gutiérrez. 2011.
[7] C. Acuña, E. Paredes. “Diseño y construcción de un robot móvil que pueda desplazarse dentro de un laberinto”.
Escuela Politécnica Nacional. Quito 2016.
[8] Pololu. Sensores Digitales Sharp Disponible en: http://www.pololu.com/file/0J154/GP2Y0D810Z0F.pdf Extraído:
14/07/2018
[9] Pololu. Micromotores Pololu 10 a 1. Disponible en: https://www.pololu.com/product/999 Extraído: 14/07/2018
[10] Instructables. Driver L293D. Disponible en: https://www.instructables.com/id/L293D-Motor-Driver/ Extraído:
18/07/2018
[11] Microchip. Datasheet. Disponible en: http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-
Microcontroller-ATmega328-328P_Datasheet.pdf Extraído: 18/07/2018
[12] Cuentos Cuánticos, «Robótica: Estimación de posición por odometría,» 15 Diciembre 2011. [En línea]. Available:
http://cuentoscuanticos.com/2011/12/15/robotica-estimacion-de-posicion-porodometria/. [Último acceso: 12 Diciembre
2012].
[13] PololuCorporation, «Robot Pololu 3pi Guía de usuario,» [En línea]. Available:
http://www.pololu.com/file/0J137/Pololu3piRobotGuiaUsuario.pdf. [Último acceso: 10 Febrero 2013].

9
10