Trabajo Escrito

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 62

Proyecto Auto Resuelve Laberintos

Camilo Alexander Hernández Hernández


Nelson Esteban Escarraga Escobar
Marcos David Heredia Gómez
Estudiante

Universidad Piloto de Colombia Seccional del Alto Magdalena


Área de Análisis de Algoritmos
Girardot
2020
Proyecto Auto Resuelve Laberintos

Camilo Alexander Hernández Hernández


Nelson Esteban Escarraga Escobar
Marcos David Heredia Gómez
Estudiante

Emanuel Rivera Guzmán


Docente

Universidad Piloto de Colombia Seccional del Alto Magdalena


Área de Análisis de Algoritmos
Girardot
2020
Contenido
Resumen ............................................................................................................................................................... 4
Palabras Clave: ............................................................................................................................................... 4
Abstract................................................................................................................................................................. 5
Keywords: ........................................................................................................................................................ 5
Introducción ...................................................................................................................................................... 6
Argumento a la pregunta ........................................................................................................................... 7
Descripción del problema ......................................................................................................................... 8
Planteamiento de la pregunta ............................................................................................................. 10
Objetivos ........................................................................................................................................................... 11
Objetivo General: ....................................................................................................................................... 11
Objetivos Específicos: .............................................................................................................................. 11
Hipótesis ........................................................................................................................................................... 12
Variables ........................................................................................................................................................... 12
Variables independientes: ..................................................................................................................... 12
Variables dependientes: ......................................................................................................................... 12
Breve reseña histórica ............................................................................................................................. 13
Competiciones............................................................................................................................................. 15
Alcabot:........................................................................................................................................................... 15
Justificación ..................................................................................................................................................... 16
Alcance del proyecto ................................................................................................................................. 17
Marco Teórico ................................................................................................................................................ 18
Software ......................................................................................................................................................... 52
Arduino IDE: ........................................................................................................................................... 52
Mblock: ...................................................................................................................................................... 53
Vrep:............................................................................................................................................................ 54
VSPE:........................................................................................................................................................... 54
Diseño de la investigación ..................................................................................................................... 58
Referencias ........................................................................................................................................................ 61
Resumen

El presente documento trata sobre el desarrollo e implementación de un auto resuelve

laberintos realizado por el grupo de estudiantes de quinto semestre de la facultad de

ingeniería de sistemas de la universidad piloto de Colombia seccional del alto magdalena,

para la asignatura Análisis de Algoritmos dirigida por el docente Emanuel Rivera Guzmán.

El principal objetivo del proyecto es adquirir capacidades de análisis e investigación de

algoritmos aplicados en entornos reales, Mediante el uso de componentes electrónicos tales

como sensores, arduinos, etc. que por su tamaño y precisión permiten realizar un muestreo

exacto de la posición del auto respecto a las paredes.

Palabras Clave: circuito integrado, monitoreo, software, diseño, lenguaje de programación


Abstract

This document is about the development and implementation of a car solves mazes made

by the group of students in the fifth semester of the faculty of systems engineering of the

pilot university of Colombia sectional of the high Magdalene, for the subject Analysis of

Algorithms directed by the Professor Emanuel Rivera Guzman.

The main objective of the project is to acquire analysis and research capabilities of

algorithms applied in real environments, through the use of electronic components such as

sensors, Arduinos, etc. which, due to its size and precision, allows an exact sampling of the

position of the car with respect to the walls.

Keywords: integrated circuit, monitoring, software, design, programming language.


Introducción

A partir de la revolución industrial, se dio inicio a una nueva era, caracterizada por el

desarrollo de nuevas técnicas aplicadas en la creación de máquinas mucho más potentes

que el hombre a la hora de desarrollar sus quehaceres. Esto permitió que, desde ese

momento hasta la actualidad, sean más significativos los avances en el desarrollo de

máquinas con mayor capacidad de procesar y ejecutar miles de operaciones o tareas en el

menor tiempo posible.

Hoy en día, la robótica es una de las ramas de la tecnología que presenta mayores avances

en muchos sentidos, ya que además de ser usada como herramienta de tecnificación de

procesos también ha sido objeto de estudio de docentes y estudiantes, con objetivos

netamente didácticos y académicos, como son el desarrollo e implementación de técnicas

de programación, optimización de procesos e introducción a la inteligencia artificial.

Un laberinto son conjunto de caminos interconectados entre sí que van desde una desde una

entrada en común hasta una única salida, su origen se remonta a la civilización egipcia y a

partir de ese entonces han sido muchos las personas que han realizado distintos modelos

para su resolución.

Este proyecto se centrará en la descripción paso a paso de la construcción de un robot

resuelve laberintos enfatizando en la importancia que tiene el diseño de chasis y la calidad

de los materiales.
Argumento a la pregunta

Para poder consolidar el modelo del auto resuelve laberintos, fue necesario la formulación

de la “pregunta problema”, ya que este el pilar base para el desarrollo de teorías, técnicas y

datos del proyecto, para poder llegar a la pregunta fue necesario realizar un análisis

reduccionista y global acerca de los principales algoritmos y competencias en la actualidad

con el fin de poder llegar a formular cuestionamientos acerca de los aspectos necesarios

para la construcción de un modelo optimizado.

Figura. Imagen esquema secuencia planteamiento de pregunta

Fuente: (Kreiner, 2010)

Análisis del sistema

El avance tecnológico ha incrementado durante los últimos años lo que ha permitido el

acoplamiento de mecanismos autónomos capaces de realizar tareas que para el hombre son

peligrosas o difíciles de realizar. No obstante, estos también han tenido presencia en otras

áreas como son el estudio de fenómenos desconocidos o de los que se tienen pocos

conocimientos, la medicina y como medio de aprendizaje. Por tal razón la realización de

proyectos de este tipo permite que los estudiantes mejoren sus habilidades tecnológicas, ya

que esta rama es de vital importancia hoy en día. Así como también permitirá una mejor
comprensión de la aplicación, comportamiento y el porqué de la necesidad de la

inteligencia artificial para evadir objetos mediante mecanismos autómatas.

Descripción del problema

El principal problema a enfrentar en el presente proyecto es el diseño de software y

hardware de auto resuelve laberintos, puesto que estos factores muchas veces no son

tenidos en cuenta y pueden tener consecuencias a corto, mediano y largo plazo.

Figura. imagen descripción general del problema

Fuente: elaboración propia

Por otra parte, el definir el problema va mucho más allá de simplemente plantear la

principal problemática, ya que se deben tener en cuenta cada una de las problemáticas y sub

problemáticas que giran en torno al proyecto, para posteriormente si lograr el planteamiento

correcto de la problemática general del proyecto.

En este caso, el problema no solamente se basa en la construcción de un auto capaz de

resolver laberintos, ya que si analizamos este planteamiento podremos asegurar que carece

de sentido. Por tanto, lo que se debe mirar es cuál es la necesidad de esquivar obstáculos en
la inteligencia artificial, es decir qué papel juega hoy en día el realizar robots de este tipo y

que problemáticas son capaces de resolver.

Figura. imagen pilares de la Inteligencia Artificial

Fuente: (TÉCNICAS DE INTELIGENCIA ARTIFICIAL PARA LA SOLUCIÓN DE LABERINTOS DE


ESTRUCTURA DESCONOCIDA., 2008)

También se debe tener en cuenta a la hora de describir el problema se evidenciará que para

el correcto planteamiento de la problemática se pueden seguir los tres pilares de la

inteligencia artificial tales como la búsqueda, abstracción y uso del conocimiento, ya que

mediante este mecanismo es como actúa la inteligencia artificial, lo que permitirá una

mejor comprensión de la problemática.


Planteamiento de la pregunta

Por último, se plantearon las preguntas de acuerdo al análisis y definición del problema,

con el objetivo de poder dar una base constituyente para el planteamiento de un modelo de

software y hardware de un auto resuelve laberintos eficientes.

 ¿Cuál es el tiempo máximo y mínimo que debe tardar un auto en resolver un

laberinto?

 ¿Cuáles son los principales inconvenientes a los que se enfrentan las personas al

realizar este tipo de proyectos?

 ¿Por qué es importante el diseño del chasis en la elaboración del proyecto?


Objetivos

Objetivo General:

 Implementar un robot autónomo resuelve laberintos basado en toma de decisiones.

Objetivos Específicos:

 Analizar las principales competencias de esta rama y sus respectivos algoritmos.

 Diseñar una estructura base para la implementación del algoritmo.

 Implementar el prototipo haciendo uso de arduino, sensores y circuitos electrónicos.

 Simular el funcionamiento del auto mediante la construcción de prototipos.


Hipótesis
la implementación de un diseño optimizado de un robot resuelve laberintos, reducirá el

tiempo que tarde en salir del laberinto.

Variables
Variables independientes:

Las variables independientes en este proyecto, es el desarrollo e implementación del robot

resuelve laberintos, a continuación, se presentan otros factores independientes:

Conceptualizació Dimensiones Indicadores Ítems Técnicas e


n Instrumentos
Implementación.- Poner en Cantidad de Como se Investigación
acción y efecto de funcionamiento. Materiales determinará la y observación
poner en cantidad de
funcionamiento, Aplicar métodos Calidad de materiales a
aplicar métodos, materiales utilizarse
medidas, etc.,
para llevar a cabo Como se verificara
una acción. la calidad de los
materiales a
utilizarse

Variables dependientes: la variable dependiente es el tiempo que tarde el auto en salir del

laberinto.
Breve reseña histórica

Aunque hoy en día no se conozca exactamente la fecha de origen y el nombre del creador

de los laberintos, existen varias apariciones documentadas en la historia que datan de

millones de años atrás.

La primera aparición fue en la edad de bronce donde los laberintos eran tallados sobre rocas

en las ciudades en Pontevedra y val camonica en Italia, también hay rasgos de esto tallados

sobre las tumbas y cantos rodados.

Lo más relevante, es que los laberintos en ese entonces tenían distintos significados de

acuerdo a la cultura, por ejemplo, en algunas civilizaciones era símbolo de espiritualidad y

metas y en otras eran usados para la realización de rituales de protección de espíritus

malignos.

Por otra parte, el surgimiento de la robótica no puede ser acreditado a una única fecha en

específico puesto que a lo largo de la historia han sido muchos los aportes que se han dado

en este campo, no obstante, se puede hacer referencia a hechos en concreto que fueron

relevantes para su consolidación.

Un primer registro data de la época de las primeras civilizaciones con el surgimiento de las

primeras máquinas autómatas usadas como herramientas para alabanza a sus dioses. Años

después estos conocimientos se expandieron por todo el imperio romano y su énfasis fue
hacia el desarrollo de instrumentos para realizar tareas tales como medir el tiempo y así con

el pasar de los años fueron cada vez más los aportes a esta área hasta el año 1921 en donde

carel kaped uso el termino robot para hacer referencia a las máquinas que realizan trabajo.

Figura. imagen primera máquina autónoma

Fuente: (Guijarro Mora, 2019)

A partir de los 60 este tipo de máquinas empezó a ser usado por las industrias para la

tecnificación de tares, aunque en ese entonces aún se presentaba la dificultad que su tamaño

y rendimiento.

Esto problemática fue teniendo solución en los setenta en donde la incorporación de

componentes electrónicos más pequeños como son los transistores, abrió las puertas a una

nueva era de las maquinas mucho más pequeñas y veloces.

Hoy en día la robótica se relaciona en todos los ámbitos de la sociedad y uno de esos

campos es la modalidad competitiva de robots resuelve laberintos que se ha llevado a cabo

desde 1980 hasta la actualidad.


Competiciones

Desde 1980 en reino unido ha desarrollado la competencia de micromousers, con el

objetivo de poner a prueba las habilidades de programación de las personas. Actividades

similares se desarrollan en Estados unidos, Japón, Singapur y otros países, en esta

competencia los micromousers compiten para llegar al centro del laberinto en el menor

tiempo posible. Generalmente, el tamaño de los laberintos usados en estas competiciones es

de tamaño 16x16 en rejillas de 180 mm, cada pared con 50 mm de alto y 12 mm de grueso.

Dentro de las múltiples modalidades de competencia las más importantes son:

Alcabot: En el año 2000, el concurso de micromousers mediante la normativa que el robot

que lograra solucionar el laberinto en el menor rango de tiempo seria el ganador. En el

2002 la normativa se basó en el robot que lograra entrar y salir del laberinto en el menor

tiempo posible. En el 2004 la temática de recorrido del laberinto cambio puesto ahora debía

basarse en algoritmos de navegación mucho más complejos, ya que el laberinto contaba con

dos entradas en donde una era correcta y la otra no.

Figura. imagen ejemplo de micro mouse

Fuente: (Lopez , 2013)


Justificación

Mediante el desarrollo de nuevas tecnologías y el advenimiento de la inteligencia artificial,

el hombre ha logrado la vinculación de las máquinas y demás sistemas tecnológicos en los

sectores, sociales y económicos, permitiendo llevar una logística y contabilidad más exacta

de sus procesos administrativo.

En Colombia, la competencia de robots resuelve laberintos no es una actividad muy

desarrolladas a comparación de otros países como Japón, por tal razón este proyecto

también tiene como objetivo incentivar a que realicen este tipo de actividades con mayor

frecuencia y que cada vez sean más las personas que participen en ellas.

Figura. imagen ejemplificación competencia de robots

Fuente: (comunicación inc, 2015)

Por otra parte, esto permite que la vinculación de este tipo de proyectos sean aporte o

modelo para las grandes empresas para la automatización de tareas, como es el caso de

IBM, la cual hoy en dio se encarga de la fabricación de maquinaria capaz de automatizar

tareas de forma mucho más rápida que el hombre.


Alcance del proyecto

El alcance del proyecto está dado netamente al diseño del chasis, desarrollo del software,

acoplamiento de los diferentes sensores de distancia y movimiento y la competencia de

robots resuelve laberintos, lo que se busca es poder formalizar un modelo capaz de resolver

cualquier tipo de laberinto en el menor tiempo posible.

Además, se realizarán varias pruebas a fin de comprobar su correcto funcionamiento de

hardware y software. El orden del proyecto se dividirá en las siguientes partes:

 Programas requeridos para el proyecto

 Descripción detallada del software y hardware del auto

 Acoplamiento de cada uno de los componentes

 Programación de software

 Resultado final y pruebas de campo

Por otra parte, una posible proyección futura del proyecto es que lograr que cada vez sean

más frecuentes este tipo de actividades y más las personas participantes, puesto que esta es

una de las competencias más interesantes dentro de la robótica.


Marco Teórico

Dentro de las competencias mundiales desarrolladas para robots resuelve laberintos existen

distintos requerimientos planteados, para la presente se tuvieron en cuenta las siguientes

reglas:

 Todos los grupos deben poseer los mismos materiales para asegurar que no haya

desventajas entre los equipos.

 el material del chasis debe ser del mismo material para todos los equipos, pero su

diseño puede variar.

 El algoritmo implementado es escogido de forma abierta.

 El ganador será el robot que logre resolver el laberinto en el menor tiempo posible.

 Si por alguno motivo alguno de los grupos no cumple con alguno de los materiales,

dicho equipo quedara eliminado de la competencia.

 El diseño del laberinto variara, es decir el encargado del evento propone el laberinto

y el robot deberá resolverlo en el menor tiempo posible.

 La fuente de energía serán cualquier tipo de baterías.

 El robot no puede tener ningún tipo de manipulación externa, es decir el robot debe

ser completamente autónomo.


Por otra parte, como se mencionaba anteriormente, la historia de los laberintos se remonta

millones de años atrás a las primeras civilizaciones, por lo cual estos se pueden clasificar de

muchas formas dentro de las cuales se encuentran:

El trazado unicursal, es aquel modelo de laberinto en donde desde el punto de partida

hasta el punto de llegada no es posible tomar otro camino o dirección. Dentro de este tipo

de trazado se encuentra:

El laberinto clásico o también denominado cretense es un laberinto de 7 circuitos

concéntricos y de estructura sencilla, su nombre proviene de la mítica leyenda del

minotauro.

Figura. imagen laberinto cretense

Fuente: (Origen e historia de los Laberintos , 2020)


El laberinto báltico, el cual cuenta con dos entradas y un punto de llegada en el centro del

laberinto, a pesar de tener dos caminos, se considera unicursal porque una vez se haya

ingresado al laberinto, la persona no puede elegir otra ruta.

Figura. imagen laberinto báltico

Fuente: (Origen e historia de los Laberintos , 2020)

También se encuentra el laberinto romano, el cual se caracteriza por componerse

geométricamente por pequeños cuadrados que desembocaban al centro del laberinto, no

obstante, años después se desarrolló mediante una geometría circular.

Figura. imagen de laberinto romano

Fuente: (Origen e historia de los Laberintos , 2020)


El laberinto medieval, es uno de los modelos que más se asemeja al modelo clásico, una

de sus particularidades es que su geometría no es definida, es decir puede ser cuadrado,

circular, etc.

Figura. imagen laberinto medieval

Fuente: Elaboración propia

Por otra parte, existe otro modelo distinto a los anteriores al cual se le denomina modelo

multicursal. en este las personas pueden tomar la decisión de desviarse por otros senderos

con la posibilidad de desviarse a calles por las cuales ya había pasado o simplemente llegar

a callejones sin salida. Estos a su vez se clasifican de la siguiente manera:

Laberinto multicursal de conexión simple, es un tipo de laberintos la persona puede elegir

entre varios caminos, se debe tener en cuenta que puede haber casos en donde las rutas no

lleven a ningún punto o retornen al punto de partida. En este tipo de situaciones una forma

de resolución seria el método seguidor de paredes.


Figura. imagen laberinto multicursal simple

Fuente: (Origen e historia de los Laberintos , 2020)

Laberinto multicursal de conexión múltiple, es un tipo de laberintos en donde las rutas

pueden estar conectadas con otras rutas que no lleven a ninguna parte o que retornen al

punto de salida a diferencia del caso anterior, en este el método seguidor de paredes no es

aplicable puesto que puede haber islas dentro del laberinto y la persona se quedaría

cíclicamente girando alrededor de esta.

Figura. imagen laberinto conexión múltiple

Fuente: (Origen e historia de los Laberintos , 2020)


Ahora, referente a los materiales para la construcción del automóvil, se propuso una lista

equitativa para cada grupo con el objetivo de escoger los componentes adecuados, reducir

costos y evitar desventajas entre los grupos.

Materiales Imagen

Arduino: en esta práctica se

usará un arduino uno genuino

de puerto USB

Sensores: sensor ultrasónico

HCSR04
Ruedas: Ruedas (Max4)

Chasis 10cm

Motor: moto reductora 6v


porta pilas

Pilas

Ahora procederemos a realizar la explicación de cada uno de los componentes presentes en

la construcción del auto resuelve laberintos, en primer lugar, tenemos el arduino, este

dispositivo es una board compuesta por un microcontrolador atmega328, tiene 14 pines de

entrada/salida digital de los cuales 4 pueden ser usados para salidas PWM, 6 entradas

análogas, un conector de puerto USB, tipo hembra, un Jack para fuente de poder, un

conector ICSP y un botón reset. El arduino uno puede ser conectado con otros dispositivos

capaces de enviar y recibir señales de 0 a 5 voltios.


Figura. imagen arduino uno

.
Fuente: (Guerrero, 2014)

Este módulo de arduino tiene varias versiones, las más usadas hoy en da cuentan con puerto

USB y entrada a celular, también cuentan con módulos bluetooth y wifi para realizar

conexiones de forma remota.

Por otra parte, se deben tener las medidas exactas y el peso de cada uno de los componentes

para tener el esquema de ubicación de cada componente en el caso del arduino uno las

dimensiones son las siguientes:


Figura. imagen medida arduino uno

Fuente: (esquema de arduino uno, 2012)

Por otra parte, el sensor ultrasónico económico es un componente que permite detectar a

que distancia se encuentra un objeto, cuenta con dos transductores uno de altavoz y otro de

micrófono, este sensor ofrece un muestreo exacto y de alta precisión de distancias entre

objetos.

Figura. imagen sensor ultrasónico hc-sro4

Fuente (construccion de robot autonomo resuelve laberintos, 2017)

Se debe tener en cuenta que la velocidad del sonido en el aire a una temperatura de 20

grados centígrados es cerca de los 343 m/s, por cada grado centígrado que aumente la

temperatura la velocidad de sonido aumenta 0.6 m/s.


La fórmula usada para determinar la distancia con el sensor ultrasónico es la siguiente:

𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑑𝑒𝑙 𝑠𝑜𝑛𝑖𝑑𝑜 𝑥 𝑡𝑖𝑒𝑚𝑝𝑜


𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 =
2

Esta fórmula es de velocidad constate, ya que durante todo el trayecto la velocidad no

variara y por habrá aceleración, también cabe aclarar que el resultado se divide entre 2,

porque de lo contrario se estaría midiendo la distancia que recorrió la onda hasta volver al

sensor, lo que sería incorrecto porque lo que se desea calcular es la distancia que hay desde

el sensor hasta el objeto en donde la onda choca. Por otra parte, las dimensiones de los

sensores ultrasónicos son las siguientes:

Figura. imagen dimensiones sensor ultrasónico

Fuente: (BASTON ELECTRONICO PARA NO VIDENTES, 2007)

También es de vital importancia realizar la comparación entre este sensor y otros que

cumplen la misma función, por ejemplo, los sensores de infrarrojo son usados para realizar

tareas similares, no obstante, según (bello , 2017) “ estos sensores requieren una línea de

visión directa entre el sensor y funciona si detecta movimiento”, esto a comparación a los
sensores ultrasónicos representa una desventaja, ya que los sensores ultrasónicos son

adecuados para espacios en los que las líneas de visión no son posibles y requieren una

mayor sensibilidad.

Figura. Imagen comparación sensores de movimiento

Fuente: (BASTON ELECTRONICO PARA NO VIDENTES, 2007)

por otra parte, para que el auto se desplace se hace uso de motores y llantas, en primer

lugar, los motores de corriente directa transforman energía eléctrica en energía mecánica,

“Un motor CD consiste en un estator, una armadura, un rotor y un colector con escobillas.

La polaridad opuesta entre dos campos magnéticos dentro del motor hace que gire.”

(Domínguez Ramírez, Tovilla Blanco, & Miriam, s.f.). para controlar el movimiento de los

motores se conectan al arduino y se programa sobre qué condiciones y en qué condiciones

los motores deben operar.

Como ya sabemos el auto se encuentra conformado por dos motos reductores de 6v, dos

llantas de plástico de 6.5 cm de diámetro, una rueda loca, una base de baterías y una placa

de microcontrolador.
Figura. imagen moto reductores

Fuente: (RUEDA DE NEUMÁTICO DE PLÁSTICO , 018)

En este caso procederemos a calcular teóricamente la velocidad máxima a la que podrá

desplazarse de robot, para esto debemos conocer el diámetro de la rueda y las revoluciones

por minuto del motor (RPM), teniendo en cuenta esto se obtuvieron los siguientes

resultados.

Voltaje de Operación 3v -12 v

 3v=80rpm

velocidad  5v=120rpm

 9v=300rpm

Consumo 80 a 100 mA

Peso 100 gramos

Diametro 65 mm
También es necesario una rueda loca, ya que su función es permitir un mejor giro al

automóvil para este proyecto se usó una rueda loca en la parte delantera del chasis. Las

dimensiones son las siguientes:

Figura. imagen dimensiones rueda loca

Fuente: (Domínguez Ramírez, Tovilla Blanco, & Miriam, s.f.)

También son de vital importancia las baterías, puesto que son las encargadas de proveer la

energía para que los motores puedan funcionar y desplazar el automóvil, por esos es

necesario realizar un análisis detallado de cada una de las cualidades de los componentes,

para así mismo conocer el consumo en general y por tanto la capacidad que debe poseer las

baterías, a continuación, se presentan los principales aspectos a tener en cuenta a la hora de

escoger el tipo de batería a usar:

Figura. imagen tipos de baterías de acuerdo al tipo de trabajo

Fuente: (herramientas y accesorios, 2016)


Como se muestra en la figura, lo primero que se debe tener en cuenta respecto a la elección

de la batería es conocer qué tipo de trabajo va a ejercer, puesto que si no se tiene en cuenta

este paso pueden suceder ciertas situaciones dentro de las cuales están:

Figura. imagen característica de baterías

Fuente: (Diaz Collazo, Adrián Marcelo, Echeandía Sánchez, Carlos, Espejo Gómez ,
Victor, & García Castilla, Fernando, 2006)

Dentro de la realización de proyectos de este tipo suele presentarse problemáticas debido a

la mala selección de las baterías lo que genera que la velocidad con la que realiza el

desplazamiento no sea el esperado, es decir, si el voltaje de las baterías del auto son

inferiores a las que se requerían el auto se moverá demasiado lento o incluso no logre

siquiera moverse o en caso contrario si el voltaje de dichas baterías supera la tolerancia de

los componentes el auto se desplazara desmedidamente e incluso puede presentarse el

escenario en donde se quemen los componentes.


Figura. imagen ejemplo causa daños componentes

Fuente: (Garcia Gonzales, 2017)

Por otra parte, el escoger la batería inadecuada para el automóvil, también puede incurrir en

que el ciclo de vida de las mismas sea mucho más corto, lo que genera que deban ser

reemplazadas constantemente. A continuación, se presenta una tabla con las principales

características de las baterías más usadas:

Figura. tabla tipos de baterías

Fuente: (herramientas y accesorios, 2016)


Ahora procederemos a describir todo lo correspondiente a la estructura física del automóvil.

Como primer punto tenemos que el diseño del robot se divide en dos partes, el diseño físico

dentro del cual está el chasis y las características de los componentes de hardware que se

utilicen y el diseño lógico que se conforma de todos los programas y componentes de

software que permiten el funcionamiento del auto.

El diseño del chasis es uno de los componentes más importantes a la hora de diseñar el

robot, puesto que su geometría influye en que tan exacto serán los desplazamientos a lo

largo del laberinto.

Como primer requerimiento del chasis se debe determinar cuál es el peso minino que debe

soportar sin que sufra deformaciones los materiales:

Material Cantidad Masa

Motor 2 29 gramos cada

uno

rueda 2 15 gramos cada

una

Sensor ultrasónico 3 10 gramos cada

uno
Arduino uno 1 24 gramos

Rueda loca 12 gramos cada

1 una

Pilas 6 11.5

Peso mínimo 223 gramos

total

Como resultado se obtuvo que el chasis como mínimo debe tener una capacidad de soportar

154 gramos sin contar materiales como las pilas y cableado.

Ahora, para este caso se propuso un chasis de madera que no supere 10 cm de ancho y

largo, en donde deben acoplarse todos los componentes del auto, nuestro grupo eligió el

esquema de chasis sf, ya que este diseño es muy usado por otras personas en competencias

similares como son el seguidor de líneas. Cabe resaltar que este chasis cumple con todos los

requerimientos de instalación de todos los componentes.

También se debe tener en cuenta que la forma del chasis va estar determinada por la

geometría y cantidad de componentes que contenga, también debe considerarse que el

centro de gravedad del robot se encuentre cerca al eje que une las ruedas, por esto se

determinó que el modelo de chasis sea basado en mbot, el cual es un chasis con geometría

cuadrada y con gran estabilidad y capacidad de soportar peso.


Figura. imagen diseño del chasis

Fuente: Elaboración propia

Por otra parte, el espesor del chasis es de 2mm, lo que le permite soportar el peso y a

su vez ser ligero.

Figura. imagen diseño chasis

Fuente: Elaboración propia


Figura. imagen diseño de chasis

Fuente: Elaboración propia

Figura. imagen diseño de chasis de automóvil

10

10

Fuente: Elaboración propia


como se mencionaba anteriormente, la ubicación, geometría y peso de los componentes a

afectan directamente el movimiento del auto, por eso se propuso el siguiente modelo de los

componentes:

figura. imagen componentes auto resuelve laberintos

Fuente: Elaboración propia

Por otra parte, la teoría y aplicación del algoritmo de Dijstrak hoy en día son muy usados en

muchos campos de la ciencia, puesto que permite calcular los caminos mínimos y máximos

de un conjunto de caminos. Por otra parte, aplicado al presente proyecto el algoritmo de

Dijstrak permite realizar los procesos de reconocimiento del laberinto y su respectiva

resolución. A continuación, se presentará un ejemplo teórico del algoritmo.

Figura. imagen algoritmo de Dijstrak

Fuente: elaboración propia


Como se muestra en la figura anterior, para realizar un recorrido mediante el algoritmo de

Dijstrak se debe tomar un primer nodo. Posteriormente se procede a analizar las posibles

rutas y costes que parten de dicho nodo.

Figura. imagen proceso algoritmo de Dijstrak

Fuente: (Studios CAT, 2015)

Una vez identificado el camino de menor recorrido entre los primeros nodos, volvemos a

repetir el mismo proceso anterior comparando los vértices adyacentes al nuevo nodo,

también se debe considerar que no se toma en cuenta los vértices ya recorridos, igualmente

este proceso se realiza con todos los posibles caminos. Al finalizar se evidenciará el mejor

y el peor camino de toda la estructura.

Figura. imagen algoritmo de Dijstrak

Fuente: (Studios CAT, 2015)


Ahora procederemos a describir los principales algoritmos para solucionar laberintos, en

primer lugar, se encuentra el algoritmo seguidor de paredes, este algoritmo es uno de los

más sencillos, puesto que su funcionalidad se basa en girar a la izquierda o derecha cuando

detectan una distancia grande, no obstante, no es uno de los mejores algoritmos puesto que

si en llegado caso en el laberinto se encuentra una isla, el auto se quedará cíclicamente

girando alrededor de la misma.

Figura. imagen desventaja algoritmo seguidor de paredes

Fuente: Elaboración propia

Como se muestra en la figura si en llegado momento el auto se llega a topar con una isla,

este se quedará cíclicamente girando alrededor de esta y por tanto nunca saldría del

laberinto, a continuación, se presenta el código de este algoritmo:


Figura. imagen esquema algoritmo seguidor de paredes

Fuente: Elaboración propia


Cabe aclarar que en la figura anterior se tomó como referencia giro a la izquierda, no

obstante, este puede modificarse con referencia a la derecha de acuerdo a la preferencia del

programador.

Figura. Imagen ejemplo algoritmo de Wall follower

Fuente: (Torres Cueva, 2019)


También se debe tener en cuenta que estas instrucciones se estarán ejecutando

infinitamente, por tal razón, la variable donde se almacena la distancia del sensor

ultrasónico debe sestan dentro del bucle para que por cada vuelta que realice el bucle tome

nuevamente la distancia, a continuación, se muestra el diagrama de flujo del

funcionamiento de este algoritmo.

Figura. imagen diagrama de flujo algoritmo seguidor de paredes

Fuente: Elaboración propia


Como se aprecia en la figura anterior, se siguió la norma de giro a la izquierda, no obstante,

puede ser modificado para que gire a la derecha, pero su esquema funcional seguirá siendo

el mismo.

Para llevar a cabo el algoritmo seguidor de paredes también se debe tener en cuenta la

posición del sensor ultrasónico, por ejemplo, si el algoritmo está diseñado para giro a la

izquierda el sensor en su defecto se debe encontrar a la izquierda del automóvil de igual

forma si se encontrara a la derecha del sensor.

Figura. imagen estructura seguidor de paredes

Fuente: Elaboración propia

por otra parte, otro algoritmo es el denominado algoritmo de garantía, este a comparación

del algoritmo seguidor de paredes, este se puede considerar como una versión mejorada del

seguidor de paredes, puesto no se queda girando cíclicamente alrededor de las islas, ya que

cuenta cuanta gira realiza hacia la izquierda o derecha para así saber si se encuentra o no

girando alrededor de una isla y pueda seguir en otra dirección así:


Figura. imagen esquema algoritmo garantía

Fuente: Elaboración propia


En este caso se añadió un contador que almacenara el número de giros que realizara hacia

la izquierda, en este caso cuando el auto realiza una vuelta a una isla el auto girara hacia la

derecha para salir del bucle, así:

Figura. imagen algoritmo de garantía

Fuente: Elaboración propia


Hasta el momento se han mencionado algoritmos que tienen un grado de dificultad fácil,

ahora mencionaremos otros algoritmos más complejos que lo que buscan lograr una

reducción en términos de tiempo y consumos de software y hardware del dispositivo.

Dentro de estos algoritmos se encuentra el algoritmo de Lee, este a comparación de los

algoritmos anteriores es mucho más eficiente, este algoritmo sigue las siguientes etapas:

La primera etapa es la denominada etapa de llenado, en esta etapa el automóvil recorrer por

primera vez el algoritmo asignando valores a cada una de las celdas que transcurra, este

valor indica la distancia que hay desde el inicio hasta el punto de llegada.

siguiente a la etapa de llenado se encuentra la etapa de retorno, en esta etapa el auto ya ha

llegado al punto de partida y por ende ya ha identificado la ruta más corta, por tal motivo

únicamente retorna por dicha ruta sin pasar por las opciones ya descartadas.

Figura. imagen algoritmo de lee

Fuente: (Torres Cueva, 2019)

Dentro de las ventajas de este algoritmo se encuentra que es una versión aplicada del

algoritmo de Dijstrak, por lo cual encuentra la ruta más corta entre do puntos, por otra
parte, una de sus desventajas es que no es un algoritmo óptimo para estructuras a gran

escala puesto que requiere una gran capacidad de almacenamiento y necesitaría una gran

cantidad de tiempo para hallar solucionar el laberinto.

No obstante, surgió un nuevo algoritmo denominado Algoritmo de Flood Fill, este

algoritmo es la versión mejorada del algoritmo de Lee, puesto que el auto ya no debe

conocer la estructura del laberinto lo cual era una desventaja en el anterior laberinto, este

modelo es uno de los más usados en otros países para las competencias de micromousers,

ya que a medida que avanza por el laberinto el algoritmo va aplicando almacenando la

posición de la casilla y aplicando el algoritmo de Lee.

Figura. imagen algoritmo de flood fill

Fuente: (Torres Cueva, 2019)

Una vez el auto ya halla recorrido y llenado todas las celdas con valores, empezara a

recorrerlo de forma ascendente si quiere llegar a la salida y en forma descendente si quiere

regresare al punto de partida así:

Figura. imagen algoritmo de flood fill


Fuente: (Torres Cueva, 2019)

Dentro de las ventajas de este algoritmo se encuentra que a diferencia del algoritmo de lee

este no requiere conocer la pista de carrera por lo que es capaz de solucionarlo sin

inconvenientes, su estructura no es demasiado compleja por lo cual es fácil de entender. Por

otra parte, una de sus mayores desventajas es que este algoritmo es recursivo y por lo tanto

si la complejidad del laberinto es alta, este realizara muchos llamados de función y podría

generar saturaciones.

Como se mencionaba anteriormente, el tiempo que tarde el auto en solucionar el laberinto

depende de factores de software y hardware, igualmente estos aspectos van ligados a la

complejidad de cada algoritmo, ya que conforme aumentan su complejidad disminuye el

tiempo que tarde en el laberinto por tanto, para la selección del algoritmo también se debe

considerar que el robot se enfrentará a varios casos en donde de acuerdo al algoritmo y su

grado de optimización realizará una acción, a continuación, se presentan las ocho

situaciones:
Avance recto giro obligatorio a izquierda

Giro obligatorio a derecha sin salida

Cruce en t intersección a la izquierda


Interseccion a la derecha cruce de cuatro esquinas

Cada uno de los escenarios anteriores representan una acción distinta para el auto, claro

está dependiendo del algoritmo que este implementado en él, ya que, por ejemplo, si el

algoritmo implementado es el seguidor de paredes, el auto solamente tomara en cuenta el

escenario en donde no tenga ninguna salida y el escenario de giro a derecha o izquierda, lo

que a comparación de orden más complejo que si toman en cuenta los ocho escenarios.

Ahora procederemos a realizar la descripción de cada una de las conexiones presentes en el

diseño planteado, para esto se realizaron esquemas gráficos con el objetivo que sean mucho

más fáciles de entender y desarrollar.

Como primera instancia tenemos las fuentes de alimentación y principales conexiones,

como se muestra en la siguiente imagen, el sistema cuenta con una fuente de alimentación

principal de 9v, la cual brinda el voltaje necesario a los sensores ultrasónicos.


Figura. imagen circuito de alimentación de componentes

Fuente: (Pagan, 2018)


Por otra parte, el esquema general de todas las conexiones incluyendo los motores es el

siguiente:

Figura. imagen circuito eléctrico de auto

Fuente: (Pagan, 2018)


Otro aspecto muy importante a la hora de realizar este tipo de proyectos es la temática

relacionada al análisis y determinación de la cantidad de recursos de memoria que

consumirá el algoritmo, ya que puede presentarse el caso en donde el algoritmo demande

mucha memoria y el arduino no tenga la capacidad de proveer tal almacenamiento y por

tanto el algoritmo no sería el apropiado para el arduino.

Figura. imagen memoria arduino

Fuente: (García González, 2016)

Por otra parte, de acuerdo al algoritmo escogido en secciones anteriores se dedujo que el

arduino uno si es capaz de soportar las estructuras y procedimientos de código del

algoritmo, por tanto, con esto ya se corrobora el algoritmo y el arduino a usar para la

realización del proyecto.


Software

una vez verificado cada uno delos componentes del diseño físico, el siguiente paso será

realizar el diseño lógico, el cual es el encargado de conseguir el comportamiento deseado.

En el caso del IDE arduino, la estructura se divide en tres partes, en primer lugar, se

encuentra la zona destinada para importar todas las librerías externas que sean necesarias

para el proyecto, luego se encuentra el void setup () en donde se inicializan las variables y

procesos que se van a ejecutar y por ultimo está el void loop (), el cual es un bucle que se

estará ejecutando de forma infinita, en esta sección se programara todas las instrucciones.

Figura. imagen estructura de IDE arduino

Fuente: Elaboración propia

Arduino IDE: arduino IDE (Integrated Development Environment) y en español entorno

de desarrollo integrado, es un entorno de desarrollo multiplataforma flexible y fácil de usar

para los desarrolladores. Ahora se explicará el proceso de instalación del IDE de arduino.
Primero se dirige a la página oficial de arduino https://www.arduino.cc/en/Main/Software,

una vez realizado este proceso se debe elegir el sistema operativo de la computadora y

descargar.

Figura. imagen proceso de descarga de arduino IDE

Fuente: elaboración propia

Mblock: mblock a diferencia de arduino IDE, permite realizar programas de arduino de

forma gráfica por bloques lo cual facilita mucho la codificación, para descargarlo se debe

dirigir a la página principal https://www.mblock.cc/en-us/download/, indicar el

sistema operativo y descargar.

Figura. imagen entorno mblock

Fuente: Elaboración propia


Vrep: es un programa de simulación de robots multiplataforma de código abierto siempre y

cuando no se use con fines comerciales, su principal característica es el poder realizar

simulaciones de forma realistas de cada una de las piezas que formen un robot, para

descargarlo se dirigen a la página de Vrep https://coppeliarobotics.com/downloads.

Figura. imagen descarga programa Vrep

Fuente: Elaboración propia

VSPE: es una herramienta que permite emular las conexiones de puertos para la recepción

y transmisión de información, para el desarrollo de este proyecto permitirá la conexión

entre mblock y Vrep para poder realizar las simulaciones del comportamiento del auto en

tiempo real, para descargarlo se dirigen a la siguiente dirección electrónica https://free-

virtual-serial-ports-emulator.softonic.com/.

Figura. imagen vspe

Fuente: Elaboración propia


En general esos son los programas a usar durante el desarrollo del proyecto de auto

resuelve laberintos.

Figura. imagen programas usados en el proyecto

Fuente: Elaboración propia


Metodología

En este trabajo denominado “Auto resuelve laberintos”, por la modalidad corresponde a un

proyecto de desarrollo aplicado que tiene como objetivo aumentar los conocimientos en

múltiples áreas como son la robótica, inteligencia artificial y programación, también en

búsqueda de dejar planteadas las bases para otras futuras competiciones.

Por cómo se desarrolla el proyecto, es una investigación aplicada cuantitativa y cualitativa

en razón de que busca dar solución al laberinto, mediante la interpretación y el manejo de

conceptos de física, programación y robótica tales como distancia, circuito, sensor, etc.

Hernández, R y otros (1998) señalan que “la investigación descriptiva busca especificar

propiedades, características y rasgos importantes de cualquier fenómeno que se analice”.

En la investigación evaluativa se tiene como objetivo evaluar los resultados de uno o más

programas que hayan sido o estén aplicados dentro de un contexto determinado.

Figura. imagen metodología de investigación

Fuente: (Todo lo que tienes que saber sobre investigación aplicada, 2017)
Por otra parte, La Investigación Aplicada tiene por objetivo resolver un determinado

problema o planteamiento específico, enfocándose en la búsqueda y consolidación del

conocimiento para su aplicación y, por ende, para el enriquecimiento del desarrollo cultural

y científico.

De acuerdo al problema se definen los diferentes tipos de investigación teniendo en cuenta

que cada una de las mismas se debe realizar con coherencia. Es una investigación aplicada

pues se hallan ya patentes del tema y se define como conclusiones abstractas y

generalizadas que puede que se relacionan con este proyecto, además de eso se define una

investigación descriptiva, pues busca distinguir rasgos y razones de la correcta

administración de un sistema de plantas y para finalizar se deduce que es una investigación

de tipo evaluativa porque se investigará la efectividad de las herramientas para desarrollar

el concepto ya nombrado.
Diseño de la investigación

El proyecto de investigación se realizó sobre la base del siguiente diseño:

1. Formulación y planteamiento del problema.

2. Revisión bibliográfica y documental.

3. Redacción del objetivo general y objetivos específicos.

4. Redacción de los interrogantes.

5. Selección de técnicas de investigación.

6. Construcción y selección de estrategias de aplicación e investigación.

7. Investigación documental.

8. Investigación de Campo.

9. Realización de pruebas.

10. Análisis de la información recolectada a través de las investigaciones documentales

y realización de pruebas.

11. Elaboración de conclusiones y recomendaciones.

12. Presentación del informe de investigación.


Acercamiento a la resolución de laberinto

Ahora procederemos a realizar el primer acercamiento a lo que vendría a ser la resolución

del laberinto. para este procedimiento se tomó en base el algoritmo seguidor de paredes

mano izquierda, cabe aclarar que esta verificación será de carácter simulado, es decir

mediante los programas expuestos en la sección de software, con el objetivo de verificar

que tan lejos o cerca estamos de la solución óptima y las pautas planteadas al inicio del

trabajo.

También cabe aclarar que el diseño del algoritmo y estructura del laberinto se realizó bajo

orientación del ingeniero Gustavo Adolfo Castilla, quien nos explicó y brindo las pautas

para la realización de la simulación del algoritmo, también se realizó mediante los aportes

en internet del señor (EL Harezmi Bilgelik Evi, 2020), quien explicaba las pautas del

software y de los componentes de auto.

Figura. imagen resolución de laberinto método seguidor de paredes

Fuente: (EL Harezmi Bilgelik Evi, 2020)


Como se puede observar en la imagen, el auto resuelve el laberinto mediante este algoritmo

sencillo, lo que permite corroborar todo lo concerniente al funcionamiento de los materiales

y el diseño del chasis.


Referencias
BASTON ELECTRONICO PARA NO VIDENTES. (28 de 07 de 2007). Obtenido de
http://bastonelectronico.blogspot.com/
bello , A. (21 de 04 de 2017). Diferencias entre sensores infrarrojos, ultrasónicos y doble
tecnología. Obtenido de https://www.electricaplicada.com/diferencias-
sensores-infrarrojos-ultrasonicos-doble-tecnologia/
comunicación inc. (31 de 07 de 2015). Competencia de robótica. Obtenido de
http://fi.uba.ar/es/node/1755
construccion de robot autonomo resuelve laberintos. (02 de 05 de 2017). Obtenido de
https://www.researchgate.net/publication/316664613_AUTONOMOUS_MAZE
_SOLVING_ROBOT
Diaz Collazo, Adrián Marcelo, Echeandía Sánchez, Carlos, Espejo Gómez , Victor, &
García Castilla, Fernando. (2006). Robots de Laberinto.
Domínguez Ramírez, S. O., Tovilla Blanco, K., & Miriam, Y. A. (s.f.). ROBOT QUE
RESUELVE LABERINTOS “SHOCOBOT”. Obtenido de
http://www.robotlaberintoshocobot-160722134948.pdf
EL Harezmi Bilgelik Evi. (19 de 04 de 2020). Yapay Zeka-Makeblock5-Ders20-Sesle
Araba Kontrolü ( Oyun ). Obtenido de
https://www.youtube.com/watch?v=hZejj2NYKLQ
esquema de arduino uno. (07 de 10 de 2012). Obtenido de
http://automoveiseletricos.blogspot.com/2012/10/o-arduino-uno-ou-
duemilanove-aplicado.html
Garcia Gonzales, A. (06 de 05 de 2017). Lo que no se debe hacer: formas de destruir un
Arduino. Obtenido de http://panamahitek.com/formas-de-destruir-un-
arduino/
Guerrero, J. (21 de 09 de 2014). Arduino Uno: Especificaciones y características.
Obtenido de https://pluselectric.wordpress.com/2014/09/21/arduino-uno-
especificaciones-y-caracteristicas/
Guijarro Mora, V. (04 de 03 de 2019). schickard, la primera calculadora. Obtenido de
https://historia.nationalgeographic.com.es/a/maquina-schickard-primera-
calculadora_13867
herramientas y accesorios. (28 de 04 de 2016). Baterías – parte II – ¿Cómo y en función
de qué elegirlas? Obtenido de
https://www.demaquinasyherramientas.com/herramientas-electricas-y-
accesorios/baterias-como-y-en-funcion-de-que-elegirlas
Kreiner, A. (30 de 10 de 2010). El ansia de saber. Obtenido de
http://neurotransmisores.blogspot.com/2010/10/el-ansia-de-saber.html
Lopez , M. (26 de 11 de 2013). Una competencia fascinante: Micromouse 2013.
Obtenido de https://www.unocero.com/ciencia/una-competencia-fascinante-
micromouse-2013/
Origen e historia de los Laberintos . (09 de 03 de 2020). Obtenido de
https://www.tispain.com/2013/05/origen-e-historia-de-los-laberintos-
lo.html
Pagan, G. (11 de 01 de 2018). Proyecto Arduino: Coche que esquiva obstáculos.
Obtenido de https://www.youtube.com/watch?v=FRMR1oj3nHc
RUEDA DE NEUMÁTICO DE PLÁSTICO . (13 de 03 de 018). Obtenido de
https://alexnld.com/product/plastic-tire-wheel-with-dc-3-6v-gear-motor-for-
arduino-smart-car/
Studios CAT. (12 de 03 de 2015). Algoritmo de DIJKSTRA. Obtenido de
https://www.youtube.com/watch?v=LLx0QVMZVkk
TÉCNICAS DE INTELIGENCIA ARTIFICIAL PARA LA SOLUCIÓN DE LABERINTOS DE
ESTRUCTURA DESCONOCIDA. (09 de 2008). Obtenido de /Dialnet-
TecnicasDeInteligenciaArtificialParaLaSolucionDeLa-4742651.pdf
Torres Cueva, A. (2019). implementacion de robot resuelve laberintos con algoritmo de
toma de decisiones. Obtenido de http://www.autos.pdf

También podría gustarte