Beruflich Dokumente
Kultur Dokumente
MAQUINAS ELECTRICAS II
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.
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).
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]
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
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:
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
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
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
5
4.5.: ALIMENTACION
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).
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.
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
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.
Una vez logrado se obtuvo un prototipo aceptable permitiéndolo ser mejorado con más
investigaciones en la programación. (fig12-13).
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
K_p=0.0889
T_i=0.3212
T_m=0.01
K_p=0.1128
T_i=0.3098
T_d=0.07
T_m=0.01
VI. CONCLUSIONES
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