instituto superior tecnolÓgico vida nueva carrera

54
INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA: TECNOLOGÍA EN ELECTROMECÁNICA DISEÑO Y CONSTRUCCIÓN DE UN ROBOT RESUELVE LABERINTOS UTILIZANDO EL MÉTODO DE LA MANO DERECHA MEDIANTE UN CONTROL PID TRABAJO INTEGRADOR DE GRADO PRESENTADO POR: ALBARRASIN CAIZA BYRON DAVID TUTOR: ING. TOCA TRUJILO LUIS EDISON QUITO: 2020

Upload: others

Post on 02-Jul-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

INSTITUTO SUPERIOR TECNOLÓGICO

VIDA NUEVA

CARRERA:

TECNOLOGÍA EN ELECTROMECÁNICA

DISEÑO Y CONSTRUCCIÓN DE UN ROBOT RESUELVE LABERINTOS

UTILIZANDO EL MÉTODO DE LA MANO DERECHA

MEDIANTE UN CONTROL PID

TRABAJO INTEGRADOR DE GRADO

PRESENTADO POR:

ALBARRASIN CAIZA BYRON DAVID

TUTOR:

ING. TOCA TRUJILO LUIS EDISON

QUITO: 2020

Page 2: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

I

CESIÓN DE DERECHOS DE AUTOR

Yo, ALBARRASIN CAIZA BYRON DAVID portador/a de la cédula de ciudadanía

1721689378, facultado/a de la carrera TECNOLOGÍA EN ELECTROMECÁNICA, au-

tor/a de esta obra certifico y proveo al Instituto Superior Tecnológico Vida Nueva, usar

plenamente el contenido del informe con el tema DISEÑO Y CONSTRUCCIÓN DE UN

ROBOT RESUELVE LABERINTOS UTILIZANDO EL MÉTODO DE LA MANO DE-

RECHA MEDIANTE UN CONTROL PID, con el objeto de aportar y promover la lectura

e investigación, autorizando la publicación de mi proyecto de titulación en la colección

digital del repositorio institucional bajo la licencia de Creative Commons: Atribución-No

Comercial-Sin Derivadas.

En la ciudad de Quito, del mes de Noviembre del 2020.

_________________________________

ALBARRASIN CAIZA BYRON DAVID

C.C.0503775017

Page 3: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

II

CERTIFICACIÓN

En mi calidad de Tutor del Proyecto: DISEÑO Y CONSTRUCCIÓN DE UN ROBOT RE-

SUELVE LABERINTOS UTILIZANDO EL MÉTODO DE LA MANO DERECHA

MEDIANTE UN CONTROL PID en la ciudad de Quito, presentado por el ciudadano AL-

BARRASIN CAIZA BYRON DAVID, para optar por el título de Tecnólogo en

Electromecánica, certifico, que dicho proyecto ha sido revisado en todas sus partes y con-

sidero que reúne los requisitos y méritos suficientes para ser sometido a la presentación

pública y evaluación por parte del tribunal examinador que se designe

En la ciudad de Quito, del mes de Noviembre del 2020.

----------------------------------

TUTOR:

ING. TOCA TUJILLO LUIS EDISON

Page 4: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

III

APROBACIÓN DEL JURADO EXAMINADOR O TRIBUNAL

Los miembros del jurado examinador aprueban el informe de investigación, sobre el tema:

DISEÑO Y CONSTRUCCIÓN DE UN ROBOT RESUELVE LABERINTOS UTILI-

ZANDO EL MÉTODO DE LA MANO DERECHA MEDIANTE UN CONTROL PID en

la ciudad de Quito Del estudiante: Albarrasin Caiza Byron David de la Carrera en Tecno-

logía en Electromecánica

Para constancia firman:

……………………………….. ………………………………..

CI: CI:

……………………………….. ………………………………..

CI: CI:

Page 5: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

IV

DECLARACIÓN DE AUTENTICIDAD

Yo, Albarrasin Caiza Byron David con cédula de ciudadanía 0503775017, estudiante del

Instituto Superior Tecnológico Vida Nueva, declaro que he realizado este trabajo de titula-

ción tomando en consideración citas bibliográficas que se nombran en este texto.

El Instituto Tecnológico Superior Vida Nueva puede utilizar este trabajo de titulación como

una ayuda bibliográfica.

_______________________

ALBARRASIN CAIZA BYRON DAVID

Page 6: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

V

DEDICATORIA

El presente trabajo lo dedico a Dios quien ha sido principalmente mi guía y fortaleza para

llevar a cabo este proceso y así obtener uno de los anhelos más deseados

Con mucho cariño a mis padres, Alfredo Albarrasin, Silvia caiza que me dieron la vida, por

su amor, trabajo, sacrificio y sobre todo por estar conmigo en los momentos difíciles con

sus palabras de aliento y consejos que hicieron de mí una mejor persona gracias a ustedes

he logrado llegar a cumplir un sueño más porque inculcaron en mí el ejemplo de esfuerzo y

valentía, de no temer las adversidades.

A mis hermanos por su cariño y apoyo incondicional, durante todo este proceso, por estar

conmigo en todo momento gracias.

Finalmente quiero dedicar este trabajo a todas las personas que estuvieron a mi alrededor

apoyándome de una u otra manera, extendiéndome su mano en momentos difíciles y por el

amor brindado cada día además de haberme enseñado valores como la, solidaridad y gene-

rosidad.

Page 7: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

VI

AGRADECIMIENTO

El presente trabajo de tesis primero me gustaría agradecerle a Dios por bendecirme para

llegar hasta donde he llegado y poder cumplir con uno de mis objetivos.

A mi familia por apoyarme en cada decisión e incentivarme día a día para cumplir con mis

sueños y por demostrarme que los valores que me inculcaron son muy importantes en cada

proceso de mi vida.

De igual manera agradecer a mi tutor de Tesis de Grado, Ing. Luis Toca por su visión crítica

de muchos aspectos de la vida, por su rectitud en su profesión como docente, por sus con-

sejos, que me ayudaron a formarme como persona y como profesional.

A mi gran amigo Steven Aguirre quien fue un apoyo incondicional durante la carrera.

Son muchas las personas que han formado parte de mi vida a las que me encantaría agrade-

cerles su amistad, consejos, apoyo, ánimo y compañía en los momentos más difíciles de mi

vida. Algunas están aquí conmigo y otras en mis recuerdos y en mi corazón, sin importar en

donde estén quiero darles las gracias por formar parte de mí, por todo lo que me han brin-

dado y por todas sus bendiciones.

Page 8: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

VII

ÍNDICE

ÍNDICE .......................................................................................................................................................... vii

Índice de Figuras ............................................................................................................................................. ix

Índice de tablas ..................................................................................................................................................x

RESUMEN ...................................................................................................................................................... xi

ABSTRACT ................................................................................................................................................... xii

INTRODUCCIÓN ......................................................................................................................................... xiii

CAPÍTULO I .....................................................................................................................................................1

MARCO TEÓRICO ..........................................................................................................................................1

¿Qué es la robótica?.......................................................................................................................................1

Robótica de competencia ...............................................................................................................................2

Robot laberinto ..........................................................................................................................................2

Robot seguidor de línea .............................................................................................................................3

Robot sumo................................................................................................................................................3

Características de un robot laberinto en el País .............................................................................................4

Tipos de Robots laberintos ............................................................................................................................4

Micro Mouse .............................................................................................................................................4

Robot Pi3 ...................................................................................................................................................5

Algoritmos para robot laberinto ....................................................................................................................7

Seguidor de paredes ...................................................................................................................................7

Algoritmo de garantía ................................................................................................................................7

Cadena .......................................................................................................................................................8

Vuelta atrás recursiva ................................................................................................................................8

Algoritmo de Trémaux ..............................................................................................................................8

Estudios previos sobre los robots laberintos en las universidades en Quito-Ecuador ...................................8

Componentes electrónicos .............................................................................................................................9

Arduino Nano V3 ......................................................................................................................................9

Driver Tb6612FNG ................................................................................................................................. 10

Micromotor .............................................................................................................................................. 11

Sensor SHARP GP2Y0A02F7X ............................................................................................................. 12

Batería LiPo ............................................................................................................................................. 13

Controlador PID .......................................................................................................................................... 14

Señal de referencia y señal de error ......................................................................................................... 15

Acción de control Proporcional ............................................................................................................... 15

Acción de control Derivativa ................................................................................................................... 17

Acción de control Integral ....................................................................................................................... 19

Sintonización manual de un controlador PID .......................................................................................... 20

CAPÍTULO II.................................................................................................................................................. 22

Page 9: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

VIII

METODOLOGÍA DEL PROYECTO INTEGRADOR- LA INVESTIGACIÓN ........................................... 22

Diseño metodológico ................................................................................................................................... 22

Variables y definición operacional .............................................................................................................. 22

Técnicas de recolección de datos ................................................................................................................. 22

CAPÍTULO III ................................................................................................................................................ 24

PROPUESTA .................................................................................................................................................. 24

Diseño electrónico y mecánico .................................................................................................................... 24

Circuito electrónico ................................................................................................................................. 24

Diseño de la PCB .................................................................................................................................... 25

Construcción de la PCB ........................................................................................................................... 26

Programación ............................................................................................................................................... 28

Declaración de pines................................................................................................................................ 28

Declaración de Variables PID ................................................................................................................. 29

Programación Void Setup ........................................................................................................................ 30

Programación de Void Loop.................................................................................................................... 30

Programación de la función de motores .................................................................................................. 31

CAPÍTULO IV ................................................................................................................................................ 33

RESULTADOS ........................................................................................................................................... 33

CONCLUSIONES ....................................................................................................................................... 34

RECOMENDACIONES ............................................................................................................................. 34

ANEXOS ......................................................................................................................................................... 35

Anexo 1: Diseño electrónico ....................................................................................................................... 35

Anexo 2: Diseño de la PCB ......................................................................................................................... 36

Anexo 3: Programa implementado .............................................................................................................. 37

Bibliografía ...................................................................................................................................................... 40

Page 10: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

IX

Índice de Figuras

Figura 1. Robot laberinto _______________________________________________________________________________________ 2 Figura 2. Robot seguidor de línea ______________________________________________________________________________ 3 Figura 3. Robot seguidor de línea ______________________________________________________________________________ 3 Figura 4. Robot laberinto _______________________________________________________________________________________ 5 Figura 5. Robot Pi3 _____________________________________________________________________________________________ 7 Figura 6. Arduino Nano ________________________________________________________________________________________ 9 Figura 7. Driver TB6612FNG _________________________________________________________________________________ 10 Figura 8. Micromotor POLOLU ______________________________________________________________________________ 11 Figura 9. Sensor Sharp GP2Y0A02 ___________________________________________________________________________ 13 Figura 10. Bateria LiPo _______________________________________________________________________________________ 14 Figura 11. Controlador PID ___________________________________________________________________________________ 15 Figura 12. Control Proporcional ______________________________________________________________________________ 16 Figura 13. Control Derivativo _________________________________________________________________________________ 18 Figura 14. Control Integral ___________________________________________________________________________________ 20 Figura 15. Circuito de control del robot laberinto ____________________________________________________________ 25 Figura 16. PCB diseñada en ARES ____________________________________________________________________________ 26 Figura 17. PCB en vista en 3D ________________________________________________________________________________ 26 Figura 18. PCB vista posterior de las pistas __________________________________________________________________ 27 Figura 19. PCB vista frontal soldado los elementos __________________________________________________________ 27 Figura 20. PCB terminada ____________________________________________________________________________________ 28 Figura 21. Declaración de pines ______________________________________________________________________________ 29 Figura 22. Declaración de variables del PID _________________________________________________________________ 29 Figura 23. Declaración de variables del PID _________________________________________________________________ 30 Figura 24. Estado igual a uno _________________________________________________________________________________ 31 Figura 25. Estado igual a 0 ___________________________________________________________________________________ 31 Figura 26. Función para el manejo de motores _______________________________________________________________ 32 Figura 27. Circuito completo del robot laberinto _____________________________________________________________ 35 Figura 28. PCB completa del robot laberinto _________________________________________________________________ 36

Page 11: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

X

Índice de tablas

Tabla 1: Características del Arduino Nano V3 _______________________________________________________________ 10 Tabla 2: Características del driver TB6612FNG _____________________________________________________________ 11 Tabla 3: Características del Motorreductor 30:1 _____________________________________________________________ 12 Tabla 4: Características del sensor Sharp ____________________________________________________________________ 13 Tabla 5: Características de la batería LiPo ___________________________________________________________________ 14

Page 12: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

XI

RESUMEN

En el presente proyecto se presenta el diseño y construcción de un robot laberinto el cual

cumple con las características técnicas y estructurales de los concursos de Robótica tanto

Nacionales como Internacionales que se celebran año a año en todos los países. Para la

implementación de este tipo de robot se realizó como primera parte la investigación de los

tipos de robots y sus aplicaciones en la industria y en competencias de robótica. Bajo esta

investigación se realizó un diseño electrónico en el Software Proteus en el cual se obtuvo

un prototipo con los diferentes sensores y actuadores que le permitan desplazarse dentro de

los laberintos sin islas. Después se realizó una investigación de los diferentes algoritmos

para la solución de un laberinto. Con este análisis se programó el robot para que pueda

desplazarse utilizando el método de la mano derecha para solucionar un laberinto y poder

desplazarse sin chocarse con las paredes.

PALABRAS CLAVE:

Arduino

Control Pid

Variables

Motor

Sensor Sharp

Page 13: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

XII

ABSTRACT

This project presents the design and construction of a labyrinth robot which complies with

the technical and structural characteristics of both the National and International Robotics

competitions that are held every year in all countries. For the implementation of this type of

robot, the first part of research was carried out on the types of robots and their applications

in industry and in robotics competitions. Under this investigation, an electronic design was

carried out in the Proteus Software in which a prototype was obtained with the different

sensors and actuators that allow it to move within the labyrinths without islands. Then an

investigation of the different algorithms for the solution of a maze was carried out. With this

analysis, the robot was programmed so that it can move using the right-hand method to solve

a maze and be able to move without colliding with walls.

KEYWORDS

Arduino

Pid control

Variables

Engine

Sharp sensor

Page 14: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

XIII

INTRODUCCIÓN

En el presente proyecto se desarrollará un robot laberinto bajo las normativas de los concur-

sos de robótica Nacionales como Internacionales. Se tendrán en cuenta las dimensiones

permitidas en los concursos y a la vez los tipos de sensores y actuadores necesarios para el

funcionamiento del robot mediante el algoritmo de la mano derecha con un controlador PD.

Como primer capítulo se tendrá un análisis completo de la teoría que fundamenta la cons-

trucción de este tipo de robot además de hacer un análisis de los principales elementos

necesarios para la construcción como Arduino, sensores, drivers y motores.

En el segundo capítulo se presenta la metodología usada en la investigación y las diferentes

técnicas que se pueden aplicar en este tipo de proyectos.

En el tercer capítulo se realiza el análisis del diseño electrónico del robot además del diseño

de la PCB para el ensamblaje del robot. Después se describe el procedimiento para el en-

samblaje del robot y la programación del mismo. Aquí se detalla las funciones y el código

utilizado para la utilización del algoritmo de la mano derecha.

En el último capítulo se presentan los resultados, conclusiones y recomendaciones para la

creación de este tipo de robots de competencia.

Al final se presentan los anexos donde se puede encontrar el diagrama implementado y el

código completo del robot laberinto que funciona con el algoritmo de la mano derecha me-

diante el uso de un controlador PD.

Page 15: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

1

CAPÍTULO I

MARCO TEÓRICO

¿Qué es la robótica?

Desde hace décadas los robots se han insertado en diferentes ámbitos de nuestra cultura y

sociedad. Los hemos visto en el cine, en épicas películas de robots como Terminator, Yo

Robot y por supuesto Transformers, que junto a Mazinger Z fueron aquellos legendarios

dibujos animados de robots japoneses que nos acompañaron en la infancia. El pasado era

ficción, y en el presente, nos encontramos rodeados de diferentes tipos de robots que nos

ofrecen un futuro apasionante. (Zuñiga, 2017)

La implantación de robots en prácticamente todos los ámbitos de la sociedad está avanzando

vertiginosamente. Un selecto grupo de países lideran la instalación de robots a nivel mun-

dial, y son Estados Unidos, China, Japón, Corea del Sur y Alemania.

Su principal objetivo es abaratar los costes de producción, y aunque hasta hace pocos años,

únicamente los veíamos en el sector industrial automatizando puestos de trabajo, ahora tam-

bién disfrutamos de los robots en hoteles, bares, bancos, consultas médicas, ejerciendo de

policías o en catástrofes naturales.

Antes de profundizar con la información más técnica, desde Revista de Robots queremos

resolver el significado de algunas preguntas que no son tan sencillas para el amplio público,

como por ejemplo: (Zuñiga, 2017)

Definición de qué es la robótica y significado de qué es un robot

Para qué sirve un robot en la actualidad

El origen y el idioma del nombre de robot

Page 16: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

2

La Historia de los primeros robots

Tecnología que se emplea para su funcionamiento

Modelos y tipos de robots que existen

Dónde se utiliza la robótica en la actualidad y ejemplos

Robótica de competencia

Actualmente existen diferentes eventos que se están volviendo muy populares en varios

países, las competencias de robots en diversas categorías. Una de las competencias más

populares son las guerras de robots (war robots) para robots de tamaño grande, y para robots

de menor tamaño se pueden encontrar categorías como robots velocistas, robots sumo y

robots resuelve laberintos. A continuación, se mostrará una descripción de los tipos de ro-

bots de competencia más utilizados en el País.

Robot laberinto

En esta categoría, el prototipo es autónomo y debe enfrentarse a la tarea de salir de un labe-

rinto sin islas. El robot se lo ubica en la entrada del laberinto y este debe salir del mismo sin

tocar las paredes y debe ser capaz de salir en el otro extremo en el menor tiempo posible.

En la siguiente figura se muestra una imagen de la construcción de un robot laberinto.

Figura 1. Robot laberinto

Fuente: Pinterest

Page 17: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

3

Robot seguidor de línea

La tarea del robot es seguir una línea negra en un fondo blanco de tal forma que no se salga

de la pista en todo su recorrido, el ganador de la competencia es el robot que atraviesa la

pista en el menor tiempo posible. A continuación, se muestra un robot seguidor de línea en

una pista de competencia.

Figura 2. Robot seguidor de línea

Fuente: Pinterest

Robot sumo

Un sumo-bot es un robot móvil utilizado en combates, en donde dos robots tratan de empu-

jarse el uno al otro afuera del círculo de combate, evitando que el también deje el círculo

antes que su oponente, es un deporte similar a la lucha de sumos, de origen japonés de ahí

viniendo el nombre de Sumo-bot. A continuación se muestra un robot sumo en competencia.

(Zumobot, 2019)

Figura 3. Robot seguidor de línea

Fuente: Pinterest

Page 18: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

4

Características de un robot laberinto en el País

Algunos de los requerimientos y restricciones de los prototipos son:

El robot no podrá tener dimensiones de largo y anchos mayores a 15 cm y altura de 20 cm,

El robot no puede expandir sus dimensiones hacia ninguna dirección durante la competencia

y no existe restricciones de peso.

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.

El robot no puede tener ningún tipo de control externo, es decir, el robot tiene que ser

totalmente autónomo.

Se permite cualquier tipo de sensores para el sistema de navegación del robot, queda prohi-

bido el uso de switches, fines de carrera u otros mecanismos de detección por contacto, por

lo que el robot durante la resolución del laberinto no puede topar las paredes, solamente las

ruedas pueden estar en contacto sobre la pista, el robot no puede dejar marcas o indicios del

camino recorrido.

Queda prohibido el uso de robots enteramente comerciales, sin embargo, se puede utilizar

tarjetas de desarrollo como partes del robot.

Tipos de Robots laberintos

Entre los tipos de robot laberintos existentes en el mercado existe un sin número de prototi-

pos a continuación se detallan dos de los más importantes robots tipo micro Mouse y los

Robots comerciales Pololu.

Micro Mouse

Según Nuñez (2018) el Micromouse es un pequeño robot autónomo construido para resolver

un laberinto. El primer registro del problema “Ratón versus laberinto” puede ser encontrado

en 1950. Este fue presentado por Cloude Shannon, quien construyó la primera máquina para

resolver un laberinto. La competencia de Micromouse comenzó en los 70’s, en donde los

robots fueron puestos a prueba en comparación al desempeño de otros robots. El ratón es

Page 19: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

5

construido para resolver autónomamente un laberinto con el objetivo de llegar al centro de

éste, partiendo desde una de las esquinas del laberinto. A través de sus algoritmos de pro-

gramación y configuración, el Micromouse debe ser capaz de almacenar en memoria el

laberinto, su posición dentro de este, grabar su recorrido por el mismo y optimizar la ruta en

el tiempo para resolverlo.

El Micromouse es un robot móvil que integra las necesidades y características mecánicas

de una plataforma móvil (velocidad, giro sincronizado, entre otras), la capacidad sensorial

para el reconocimiento del entorno y la habilidad de interactuar con éste por medio de in-

formación digitalizada y codificada. El robot usa esa característica para cumplir con el

objetivo de solucionar un laberinto. (Nuñes , Cardenas , & Ramirez , 2018)

El Micromouse es un desarrollo típico del área de robótica con requerimientos dinámicos

(velocidad, giros, entre otros), su diseño incluye técnicas de construcción para el hardware

y software e implementar métodos para interpretar e interactuar con su entorno. Pensando

en la posibilidad de facilitar la construcción de plataformas como el Micromouse para pro-

mover la generación de desarrollo de conocimiento en el área de la robótica. (Nuñes ,

Cardenas , & Ramirez , 2018) A continuación, se muestra una imagen de un robot Micro

mouse.

Figura 4. Robot laberinto

Fuente: Nuñez (2018)

Robot Pi3

El robot Pololu 3pi es una plataforma móvil completa y de alto rendimiento que cuenta con

dos motor reductores micro metálicos, cinco sensores de reflectancia, una pantalla LCD de

Page 20: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

6

8 × 2 caracteres, un zumbador y tres botones de usuario, todos conectados a un microcon-

trolador ATmega328 AVR programable en C. Capaz de alcanzar velocidades superiores a

3 pies por segundo, 3pi es un gran primer robot para principiantes ambiciosos y un segundo

robot perfecto para aquellos que buscan pasar de robots principiantes no programables o

más lentos. (Pololu, 2017)

El robot 3pi está diseñado para sobresalir en competencias de seguimiento de líneas y reso-

lución de laberintos. Tiene un tamaño pequeño (9,5 cm / 3,7 "de diámetro, 83 g / 2,9 oz sin

pilas) y solo necesita cuatro pilas AAA (no incluidas), mientras que un sistema de alimen-

tación único hace funcionar los motores a 9,25 V constantes independientemente de la carga

de la batería. El voltaje regulado permite que el 3pi alcance velocidades de hasta 100 cm /

segundo mientras realiza giros y giros precisos que no varían con el voltaje de la batería.

(Pololu, 2017)

El robot 3pi es una gran plataforma para que las personas con experiencia en programación

C aprendan robótica, y es un entorno divertido para que los principiantes ambiciosos apren-

dan programación C. En su corazón se encuentra un microcontrolador ATmega328P AVR

de Microchip (anteriormente Atmel) que funciona a 20 MHz y cuenta con 32 KB de memo-

ria de programa flash, 2 KB de RAM y 1 KB de memoria EEPROM persistente. El popular

y gratuito compilador GNU C / C ++ funciona perfectamente con 3pi, Atmel Studio propor-

ciona un entorno de desarrollo cómodo y un extenso conjunto de bibliotecas proporcionadas

por Pololu hace que la interfaz con todo el hardware integrado sea muy fácil. El 3pi también

es compatible con la popular plataforma de desarrollo Arduino. Proporcionamos una serie

de programas de muestra para mostrar cómo utilizar los distintos componentes de 3pi, así

como cómo realizar comportamientos más complejos, como el seguimiento de líneas y la

resolución de laberintos. (Pololu, 2017)

Page 21: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

7

Figura 5. Robot Pi3

Fuente: Pololu

Algoritmos para robot laberinto

Un algoritmo para un robot laberinto es un programa o algoritmo que se ejecuta dentro de

su micro controlador el cual permite desplazarse dentro del laberinto sin golpear las paredes

permitiéndole salir en el menor tiempo posible. A continuación, se detallan los principales

algoritmos utilizados para solucionar un laberinto.

Seguidor de paredes

Se trata de un algoritmo para resolver laberintos simples. Consiste en seguir paralelo a una

pared y si se llega a una intersección girar siempre hacia el mismo lado, izquierda o derecha,

pero siempre hacia el mismo. Lógicamente puede no encontrarse el camino más corto. Este

método no funcionará cuando el objetivo del laberinto está en el centro y hay un circuito

cerrado rodeándolo, ya que es muy probable que vuelva al punto de origen sin llegar al

centro. (Jainer, 2020)

Algoritmo de garantía

Es una versión modificada del seguidor de paredes pero que es capaz de saltar entre islas

resolviendo laberintos que el seguidor de paredes no puede resolver. Garantiza la resolución

desde cualquier comienzo desde el perímetro hasta el objetivo en el centro, pero no es capaz

de hacerlo al revés. No necesita marcar o recordar los lugares por los que ha pasado, pero si

contar los giros que hace a derecha o izquierda, de manera que pueda saber que se encuentra

en una isla y pueda saltar a otra zona en la dirección elegida como preferente. (Jainer, 2020)

Page 22: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

8

Cadena

Trata al laberinto como muchos pequeños laberintos encadenados y los resuelve en secuen-

cia. En base utiliza el algoritmo de garantía y por lo tanto el seguidor de paredes. Aunque

puede no encontrar el camino más corto sí que trata de acortarlo ya que compara caminos

alternativos y analiza si ya se ha pasado por un punto o no. (Jainer, 2020)

Vuelta atrás recursiva

Se trata de que el robot resuelve laberintos y debe mapear en memoria las zonas por las que

va pasando. Puede explorar en las cuatro direcciones con la condición de que si ya ha pasado

por un camino evita pasar de nuevo. Siempre encuentra la solución aunque no sea la más

corta. (Jainer, 2020)

Algoritmo de Trémaux

Planteado por el ingeniero francés Charles Trémaux para resolver por personas en el interior

de un laberinto. Es muy similar al método de la vuelta atrás recursiva y hay que seguir las

siguientes normas: no seguir el mismo camino dos veces, tomar cualquier camino si se llega

a una intersección nueva, si un camino nuevo lleva a una intersección conocida o a un ca-

llejón sin salida volver al inicio del camino y, por último, si un camino viejo lleva a una

intersección vieja seguir un camino nuevo, y si no lo hay seguir cualquiera. Siempre resuelve

el laberinto y si se deja al robot en el interior de un laberinto siempre encuentra la salida.

(Jainer, 2020)

Estudios previos sobre los robots laberintos en las universidades en Quito-Ecuador

En nuestro medio algunas de las universidades más importantes de nuestro País han desa-

rrollado investigación en el desarrollo de estos tipos de robots para la participación dentro

de los concursos de robótica Nacionales ya que estos permiten mejorar los conocimientos

tecnológicos y poner en práctica todo lo aprendido dentro de la carrera.

Según Torres (2019) A lo largo de los años, se han desarrollado diferentes técnicas y algo-

ritmos para la resolución del laberinto, estos van desde los más simples; como el algoritmo

de la mano izquierda, hasta los más complejos; como el algoritmo Flood Fill. Estas técnicas

Page 23: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

9

se han ido desarrollando y aplicando en diferentes áreas de investigación, siendo una de

estas la robótica recreacional. A su vez, en dicha área, estos algoritmos son aprovechadas

para obtener los mejores resultados en cuanto al tiempo y distancia del recorrido.

Componentes electrónicos

Los componentes electrónicos son la parte más importante de cualquier tipo de robot ya que

estos permiten al robot tener un sistema principal el cual tendrá el algoritmo para el funcio-

namiento y desarrollo de sus tareas mediante la adquisición de datos de sus sensores que

permitirán el manejo de los actuadores. Todos estos elementos permitirán al robot realizar

la tarea para la cual fue creado permitiendo tomar sus propias decisiones.

Arduino Nano V3

El Arduino Nano es una pequeña y completa placa basada en el ATmega328 (Arduino Nano

3.0) o el ATmega168 en sus versiones anteriores (Arduino Nano 2.x) que se usa conectán-

dose a una protoboard. Tiene más o menos la misma funcionalidad que el Arduino

Duemilanove, pero con una presentación diferente. No posee conector para alimentación

externa, y funciona con un cable USB Mini-B. (Electronilab, 2020)

Figura 6. Arduino Nano

Fuente: Arduino

Page 24: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

10

Tabla 1: Características del Arduino Nano V3

Microcontrolador ATmega328

Arquitectura AVR

Tensión de funcionamiento 5 V

SRAM 2 KB

Velocidad de reloj 16 MHz

Pines analógicos IN 8

EEPROM 1 KB

Corriente CC por pines de E / S 40 mA (pines de E / S)

Voltaje de entrada 7-12 V

Pines de E / S digitales 22 (6 de los cuales son PWM)

Salida PWM 6

Tamaño de PCB 18 x 45 mm

Peso 7 g

Fuente: Elaboración propia

Driver Tb6612FNG

El TB6612FNG es un controlador (driver) de motores que nos permite manejar dos motores

de corriente continua desde Arduino, variando tanto la velocidad como el sentido de giro.

El TB6612FNG puede ser considerado una versión mejorada del L298N. Al igual que esté,

internamente está formado por dos puentes-H, junto con la electrónica necesaria para sim-

plificar su uso, y eliminar posibles cortocircuito por errores de uso. (Llamas, 2016)

Sin embargo, en el caso del TB6612FNG los puentes-H están formados por transistores

MOSFET, en lugar de transistores BJT como en el L298N. Esto permite que el TB6612FNG

tenga mejor eficiencia y menores dimensiones que el L298N. (Llamas, 2016)

El TB6612FNG también permite controlar intensidades de corriente superiores, siendo ca-

paz de suministrar 1.2A por canal de forma continua, y 3.2A de pico. Recordar que el L298N

tiene una intensidad máxima teórica de 2A, pero las pérdidas hace que en la práctica sólo

pueda suministrar 0.8-1A. (Llamas, 2016)

Figura 7. Driver TB6612FNG

Fuente: Breakout

Page 25: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

11

Tabla 2: Características del driver TB6612FNG

Controlador de motor Dual tipo Puente H Puede conducir dos motores de CD o un motor paso a paso bipolar Tensión recomendada del motor (VMOT): 4.5 V a 13.5 Voltaje de alimentación (VCC): 2.7 V a 5.5 V Máximo de corriente de salida: 3 A por canal Corriente de salida continua: 1 A por canal Frecuencia máxima de PWM: 100 kHz Circuito de apagado térmico incorporado

Fuente: Elaboración propia

Micromotor

Micro motorreductores de metal con una sección transversal que mide solo 10 × 12 mm

(0,39 ″ × 0,47 ″), estos pequeños motorreductores de CC con escobillas están disponibles

en una amplia gama de relaciones de engranajes, desde 5: 1 hasta 1000: 1, y con cinco

motores diferentes: alto motores de 6 V de potencia (HP), media (MP) y baja (LP) con

escobillas de metales preciosos, y motores de alta potencia de 6 V y 12 V con escobillas de

carbón de mayor duración (HPCB). Con la excepción de las versiones de relación de trans-

misión de 1000: 1, todos los motorreductores de micro-metal tienen las mismas dimensiones

físicas (aunque el tamaño del terminal y la separación en las versiones HPCB difieren lige-

ramente de las otras versiones), por lo que generalmente es fácil cambiar uno. Versión por

otra si cambian los requisitos de diseño. Las versiones de estos motorreductores también

están disponibles con un eje de motor extendido opcional, que permite la adición de codifi-

cadores. (Pololu, 2019)

Figura 8. Micromotor POLOLU

Fuente: Pololu

Page 26: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

12

Tabla 3: Características del Motorreductor 30:1

Nombre técnico Motorreductor

Marca Pololu

Tamaño: 24 x 10 x 12 mm

Diámetro del eje: 3 mm

Relación de engranajes: 51.45:1

Velocidad sin carga @ 6V: 100 rpm

Corriente sin carga @ 6V: 100 mA

Corriente con carga max @ 6V: 1600 mA

Torque @ 6V: 15 oz·in

Fuente: Elaboración propia

Sensor SHARP GP2Y0A02F7X

Un sensor SHARP es un sensor óptico capaz de medir la distancia entre él y un objeto, para

esto el sensor con la ayuda de un emisor infrarrojo y un receptor miden la distancia usando

triangulación.

El método de triangulación consiste en medir uno de los ángulos que forma el triángulo

emisor-objeto-receptor, el Receptor es un PSD (Position Sensitive Detector) que detecta el

punto de incidencia el cual depende del

La geometría del sensor y de su óptica es la que limita el rango del sensor. El término

SHARP (Agudo) es porque tiene un rango de visión muy reducido, esto porque la luz que

emite es puntual, lo que permite usar el sensor para escanear o mapear áreas, pero teniendo

en cuenta que objetos pequeños serán difíciles de detectar.

También podemos usar varios sensores SHARP para ampliar el rango de visión estos se

pueden poner en diferente dirección e incluso en la misma dirección siempre y cuando las

líneas de visión no queden muy cercanas.

Una ventaja adicional es que no son sensibles a la luz ambiental o el Sol, enemigo de los

sensores infrarrojos, un SHARP usa una luz infrarroja intermitente con una frecuencia de-

terminada, que en el receptor es filtrada y elimina cualquier otra fuente de luz diferente a la

frecuencia emitida. Ángulo y a su vez de la distancia del objeto. (Naylamp MEchatronics,

2018)

Page 27: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

13

Figura 9. Sensor Sharp GP2Y0A02

Fuente: Mechatronics

Tabla 4: Características del sensor Sharp

Nombre técnico Sensor analógico de 4-30 cm

Marca / tipo SHARP GP2Y0A02

Voltaje 4.5-5.5

Amperaje 12mA

Tipo de salida Voltaje analógico

Diferencial de voltaje de salida en el rango de

distancia

2.3 ( Typical)

Periodo de actuación 16.5+/-4ms

Tipo 44.5mm *18.9mm*13.5mm

Peso: 3.5g

Nombre técnico Sensor analógico de 4-30 cm

Fuente: Elaboración propia

Batería LiPo

Las baterías LiPo (abreviatura de Litio y polímero) son baterías recargables compuesta en

ocasiones de múltiples celdas usadas en aplicaciones que requieren corrientes superiores a

1A con bajo peso y tamaño reducido, por ejemplo, sistemas de radio control, como aviones,

helicópteros, drones, cámaras, celulares, linternas, entre otros

La capacidad indica cuánta corriente puede suministrar la batería y se mide en miliamperios

por Hora (mAh). Es una manera de indicar la cantidad de carga medida en miliamperios que

puede suministrar la batería durante 1 hora antes de que se descargue completamente. Por

ejemplo, una batería LiPo de 1000 mAh sería completamente descargada en una hora con

una demanda de 1000 miliamperios. Si esta misma batería tenía una demanda de 500 mili-

amperios tomaría 2 horas para descargarla.

Page 28: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

14

La tasa de descarga es la rapidez con que una batería puede ser descargada de forma segura.

Cuanto más rápido los iones fluyen del ánodo al cátodo indicará la velocidad de la descarga.

Una batería con una tasa de descarga de 10C significa que se descarga a un ritmo de 10

veces la capacidad de la batería, hay que tener en cuenta que la duración de la batería de-

pende de a qué ritmo las descargas.

Figura 10. Bateria LiPo

Fuente: Mechatronics

Tabla 5: Características de la batería LiPo

Capacidad 300mAh

Voltaje 7.4V

Peso 17g

Dimensiones 44x12x17mm

Tipo de Batería(s) / Pila(s) Litio-Polímero

Fuente: Elaboración propia

Controlador PID

Un controlador o regulador PID es un dispositivo que permite controlar un sistema en lazo

cerrado para que alcance el estado de salida deseado. El controlador PID está compuesto de

tres elementos que proporcionan una acción Proporcional, Integral y Derivativa. Estas tres

acciones son las que dan nombre al controlador PID.

Page 29: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

15

Figura 11. Controlador PID

Fuente: Mechatronics

Señal de referencia y señal de error

La señal r(t) se denomina referencia e indica el estado que se desea conseguir en la salida

del sistema y(t). En un sistema de control de temperatura, la referencia r(t) será la tempera-

tura deseada y la salida y(t) será la temperatura real del sistema controlado.

Como puede verse en el esquema anterior, la entrada al controlador PID es la señal de error

e(t). Esta señal indica al controlador la diferencia que existe entre el estado que se quiere

conseguir o referencia r(t) y el estado real del sistema medido por el sensor, señal h(t).

Si la señal de error es grande, significa que el estado del sistema se encuentra lejos del estado

de referencia deseado. Si por el contrario el error es pequeño, significa que el sistema ha

alcanzado el estado deseado. (Tecno Recursos, 2020)

Acción de control Proporcional

Como su nombre indica, esta acción de control es proporcional a la señal de error (t). Inter-

namente la acción proporcional multiplica la señal de error por una constante Kp.

Esta acción de control intenta minimizar el error del sistema. Cuando el error es grande, la

acción de control es grande y tiende a minimizar este error. Aumentar la acción proporcio-

nal Kp tiene los siguientes efectos: (Tecno Recursos, 2020)

1. Aumenta la velocidad de respuesta del sistema.

2. Disminuye el error del sistema en régimen permanente.

Page 30: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

16

3. Aumenta la inestabilidad del sistema.

Los dos primeros efectos son positivos y deseables. El último efecto es negativo y hay que

intentar minimizarlo. Por lo tanto, al aumentar la acción proporcional existe un punto de

equilibrio en el que se consigue suficiente rapidez de respuesta del sistema y reducción del

error, sin que el sistema sea demasiado inestable. Aumentar la acción proporcional más allá

de este punto producirá una inestabilidad indeseable. Reducir la acción proporcional, redu-

cirá la velocidad de respuesta del sistema y aumentará su error permanente. (Tecno

Recursos, 2020)

Figura 12. Control Proporcional

Fuente: Mechatronics

En los gráficos anteriores puede observarse el efecto de aumentar progresivamente la acción

proporcional en un control de posición. (Tecno Recursos, 2020)

Con una acción proporcional pequeña Kp=2, el sistema es lento, tardando 20 segun-

dos en alcanzar la posición deseada y el error de posición es grande, de 50

milímetros. A medida que se aumenta la acción proporcional, el error disminuye y

la velocidad de respuesta aumenta.

Page 31: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

17

Con una ganancia proporcional Kp=20 el sistema es más rápido, tardando 12 segun-

dos en establecerse la posición permanente. Asimismo, el error se ha reducido hasta

una décima parte, solo 5 milímetros. También se puede observar un sobreimpulso

en la respuesta, y el comienzo de cierta inestabilidad.

Con ganancias mayores se consigue disminuir todavía más el error permanente, pero

la velocidad de respuesta no aumenta porque el sistema se vuelve tan inestable que

la posición tarda mucho en establecerse en su estado final.

En este ejemplo la acción proporcional se ha escalado de forma que sus valores se encuen-

tren entre 0 y 100.

Llegado a este punto, puede verse que la acción proporcional no puede mejorar más la res-

puesta del sistema. La mejor opción con Kp=20 presenta un sobreimpulso de unos 30

milímetros y un error permanente de 5 milímetros. Si se desea mejorar esta respuesta hay

que incorporar otro tipo de control. Aquí es donde el control derivativo puede ayudar a

mejorar la respuesta del sistema. (Pololu, 2019)

Acción de control Derivativa

Como su nombre indica, esta acción de control es proporcional a la derivada de la señal de

error (t). La derivada del error es otra forma de llamar a la "velocidad" del error. A conti-

nuación, se verá porqué es tan importante calcular esta velocidad. En las gráficas anteriores,

cuando la posición se encuentra por debajo de 150mm, la acción de control proporcional

siempre intenta aumentar la posición. El problema viene al tener en cuenta las inercias.

Cuando el sistema se mueve a una velocidad alta hacia el punto de referencia, el sistema se

pasará de largo debido a su inercia. Esto produce un sobreimpulso y oscilaciones en torno a

la referencia. Para evitar este problema, el controlador debe reconocer la velocidad a la que

el sistema se acerca a la referencia para poder frenar con antelación a medida que se acerque

a la referencia deseada y evitar que la sobrepase. (Tecno Recursos, 2020)

Aumentar la constante de control derivativa Kd tiene los siguientes efectos:

1. Aumenta la estabilidad del sistema controlado.

2. Disminuye un poco la velocidad del sistema.

Page 32: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

18

3. El error en régimen permanente permanecerá igual.

Esta acción de control servirá por lo tanto para estabilizar una respuesta que oscile dema-

siado.

Figura 13. Control Derivativo

Fuente: Mechatronics

En los gráficos anteriores puede verse cómo, al aumentar la acción derivativa Kd, se consi-

gue disminuir las oscilaciones hasta el punto de que desaparecen para Kd=50. También

puede apreciarse cómo la respuesta se hace un poco más lenta al aumentar la constante de-

rivativa. Con Kd=0 el sistema tarda 1.8 segundos en subir hasta el valor de referencia. Con

Kd=20 el sistema tarda 2 segundos en subir hasta el valor de referencia. En este ejemplo la

acción derivativa se ha escalado de forma que sus valores se encuentren entre 0 y 100.

(Tecno Recursos, 2020)

Un problema que presenta el control derivativo consiste en que amplifica las señales que

varían rápidamente, por ejemplo, el ruido de alta frecuencia. Debido a este efecto, el ruido

de la señal de error aparece amplificado en el accionamiento de la planta. Para poder reducir

este efecto es necesario reducir el ruido de la señal de error mediante un filtro paso bajos

antes de aplicarla al término derivativo. Con este filtro la acción derivativa se encuentra

Page 33: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

19

limitada, por lo que es deseable reducir el ruido de la señal de error por otros medios antes

de recurrir a un filtro paso bajos. (Tecno Recursos, 2020)

Llegado a este punto, el sistema es rápido y estable, pero mantiene todavía un pequeño error

en régimen permanente. Esto significa que la posición real del sistema no es exactamente la

posición deseada. Para poder reducir este error se recurre a la tercera acción del controlador

PID, el control Integral.

Acción de control Integral

Esta acción de control como su nombre indica, calcula la integral de la señal de error e(t).

La integral se puede ver como la suma o acumulación de la señal de error. A medida que

pasa el tiempo pequeños errores se van sumando para hacer que la acción integral sea cada

vez mayor. Con esto se consigue reducir el error del sistema en régimen permanente. La

desventaja de utilizar la acción integral consiste en que esta añade una cierta inercia al sis-

tema y por lo tanto le hace más inestable. (Tecno Recursos, 2020)

Aumentar la acción integral Ki tiene los siguientes efectos:

1. Disminuye el error del sistema en régimen permanente.

2. Aumenta la inestabilidad del sistema.

3. Aumenta un poco la velocidad del sistema.

Esta acción de control servirá para disminuir el error en régimen permanente.

Page 34: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

20

Figura 14. Control Integral

Fuente: Mechatronics

En las gráficas anteriores se ha añadido una señal de error ampliada, de color verde, para

apreciar mejor cómo se reduce el error a medida que aumenta la acción integral. Otro efecto

visible es el aumento de la inestabilidad del sistema a medida que aumenta Ki. Por esta

razón el control integral se suele combinar con el control derivativo para evitar las oscila-

ciones del sistema.

Sintonización manual de un controlador PID

Después de ver las diferentes acciones proporcional, integral y derivativa de un control PID,

se pueden aplicar unas reglas sencillas para sintonizar este controlador de forma manual.

(Tecno Recursos, 2020)

1º - Acción Proporcional.

Se aumenta poco a poco la acción proporcional para disminuir el error (diferencia entre el

estado deseado y el estado conseguido) y para aumentar la velocidad de respuesta.

Si se alcanza la respuesta deseada en velocidad y error, el PID ya está sintonizado.

Si el sistema se vuelve inestable antes de conseguir la respuesta deseada, se debe aumentar

la acción derivativa.

Page 35: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

21

2º - Acción Derivativa.

Si el sistema es demasiado inestable, se aumentará poco a poco la constante derivativa Kd

para conseguir de nuevo estabilidad en la respuesta.

3º - Acción Integral.

En el caso de que el error del sistema sea mayor que el deseado, se aumentará la constante

integral Ki hasta que el error se minimiza con la rapidez deseada.

Si el sistema se vuelve inestable antes de conseguir la respuesta deseada, se debe aumentar

la acción derivativa.

Con estas sencillas reglas es sencillo afinar poco a poco el controlador PID hasta conseguir

la respuesta deseada.

Page 36: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

22

CAPÍTULO II

METODOLOGÍA DEL PROYECTO INTEGRADOR- LA INVESTIGACIÓN

Diseño metodológico

Según lo establecido para la construcción de este trabajo, se utilizará una investigación

experimental basada en recolección de información búsqueda de fuentes teóricas (antece-

dentes) a continuación se procederá a presupuestar y verificar los alcances técnicos y

aportes académicos para futuros trabajos o proyectos.

Se procederá a recolectar información para el diseño de una PCB que permita el soporte de

los motores y sensores, para posteriormente realizar la programación de un control PID

que permita el seguimiento de paredes y mediante un algoritmo de la mano derecha re-

suelva el laberinto y salga del mismo.

Variables y definición operacional

Las variables que se presentarán en este trabajo son de carácter experimental. Una de las

variables más importantes es el tamaño del robot ya que al tener un tamaño reducido evitará

que golpee con las paredes. Otra de las variables es la distancia del robot hacia las paredes

ya que permite el desplazamiento del robot dentro de los callejones.

Técnicas de recolección de datos

En este trabajo se utilizará las técnicas de observación y registros.

Page 37: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

23

La primera técnica (observación) está basada en el conocimiento empírico, es decir, en las

experiencias que se han generado durante las visitas a los concursos de robots, análisis de

los concursos de robótica de países extranjeros y conocimiento adquiridos en los laborato-

rios de electrónica.

La segunda técnica (registro) permite generar búsquedas de estudios académicos realizados

dentro de los últimos diez años con relación a robot laberintos, algoritmos PID y el algo-

ritmo de la mano derecha para el desplazamiento.

Page 38: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

24

CAPÍTULO III

PROPUESTA

Diseño electrónico y mecánico

Dentro de este apartado se presentará el diseño electrónico y mecánico que se realizó para

la implementación del robot laberinto dentro de los parámetros que piden los concursos

Nacionales e Internacionales de Robótica permitiendo a este prototipo participar en cursos

y demostrar su funcionamiento.

Circuito electrónico

Dentro del circuito electrónico como principal elemento se utilizó el Arduino Nano el cual

tendrá el código para el manejo de motores y a la vez la medición de distancia hacia las

paredes mediante sensores infrarrojos.

Como primera parte se tiene un conector J1 el cual permite la conexión de los sensores

Sharp hacia el robot. Este conector tiene disponibles las entradas analógicas, VCC y GND

para la conexión.

Después se tiene los pines para la conexión del TB6612FNG el cual permite el control de

dirección y velocidad de los dos motores del robot. Esta placa tiene seis conexiones hacia

el Arduino Nano, tres de esta son utilizadas para el manejo de un motor, dentro de estos

pines se tiene dos que sirven para el control de dirección y uno que tiene una salida PWM

el cual permite el control de la velocidad. De forma similar se realiza para el otro motor.

En el diseño también se tiene dos conectores llamados MOTOR DERECHO y MOTOR

IZQUIERDO los cuales se conectan a las entradas de los motores.

Page 39: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

25

También se tiene dos pulsadores para el inicio y parada del robot estos son los pines J3 y

J4. Existe un último conector el cual sirve para la conexión del interruptor del robot que va

a permitir el paso de la corriente desde la batería hacia los circuitos electrónicos.

A continuación, se muestra la figura con el diseño electrónico del robot.

Figura 15. Circuito de control del robot laberinto

Fuente: Propia

Diseño de la PCB

Para el diseño de la PCB se utilizó el software ARES el cual permite transferir el circuito

diseñado en ISIS y convertirlo en una PCB. Para esto se configuro el tamaño de pista y una

placa a doble cara. En la siguiente figura se muestra el diseño realizado en ARES

Page 40: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

26

Figura 16. PCB diseñada en ARES

Fuente: Propia

Como trabajo final en el diseño se creó la vista en 3D la cual permite identificar la posición

de cada uno de los elementos de la placa y su acabado final. En la siguiente figura se muestra

el diseño final en 3D de la placa del robot laberinto.

<

Figura 17. PCB en vista en 3D

Fuente: Propia

Construcción de la PCB

Dentro de la construcción de la placa se utilizó el método de la plancha. Para este método

se imprime el circuito en un papel termotransferible y al aplicar calor sobre este papel que

se encuentra encima de la PCB se transfiere las pistas. Después de esto mediante ácido fé-

rrico se quema la placa permitiendo que solo queden las pistas de cobre para las conexiones

de los elementos electrónicos. En la siguiente figura se muestra la placa con las pistas.

Page 41: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

27

Figura 18. PCB vista posterior de las pistas

Fuente: Propia

Después de tener la PCB se procede a la soldadura de los elementos electrónicos como el

Arduino Nano, Tb6612FNG, pulsadores, interruptor y motores como se muestra en la si-

guiente figura.

Figura 19. PCB vista frontal soldado los elementos

Fuente: Propia

Después de haber concluido con la soldadura de los elementos se realiza un soporte para

sostener el sensor Sharp en la parte lateral el cual permitirá la detección de las paredes. A

continuación, se muestra el robot ensamblado completamente.

Page 42: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

28

Figura 20. PCB terminada

Fuente: Propia

Programación

Dentro de la programación se detallar las partes del programa que se realizó para que el

robot se desplace dentro de un laberinto sin chocarse hasta salir del mismo.

Declaración de pines

En la declaración de los pines se debe tener en cuenta los elementos que el robot va a ma-

nejar. Uno de los primeros elementos que se va a usar el TB6612FNG que permite el manejo

de la velocidad y sentido de giro de los motores, Para el motor izquierdo se utiliza los pines

PWMA = 6 el cual envía una señal PWM al driver con rangos entre 0 y 255. Los pines AIN1

y AIN2 permiten el manejo del sentido de giro del motor. De igual forma se configura para

el motor derecho como se muestran en la figura siguiente.

Además, se definen otros dos pines llamados P1 y P2 que permiten el encendido o apagado

del robot ya que con esto permite dar un pulso para que el robot comience a resolver el

laberinto.

Page 43: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

29

Figura 21. Declaración de pines

Fuente: Propia

Declaración de Variables PID

En este apartado como primera instancia se debe escoger un tipo de controlador a usar dentro

del robot laberinto para esto se utiliza un controlador PD ya que no es necesario el uso de la

parte integral porque el robot cambia de dirección según el laberinto.

Para el controlador PD se declara la variable set point la cual permite identificar a la distan-

cia que el robot se encontrará de la pared para evitar un choque.

Después se declara las variables kp y kd las cuales permiten la calibración del controlador

para que el robot se desplace de forma paralela a las paredes del laberinto.

Como última variable se declaró v_crucero la cual define la velocidad a la que el robot

tratará de mantener en todo su recorrido. En la siguiente figura se muestran las variables

declaradas.

Figura 22. Declaración de variables del PID

Fuente: Propia

Page 44: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

30

Programación Void Setup

Dentro de la programación del void setup se configura cuales pines van a funcionar como

salidas (OUTPUT) y que pines funcionan como entradas (INPUT) en la siguiente imagen

se muestra la configuración de los pines para el robot laberinto.

Figura 23. Declaración de variables del PID

Fuente: Propia

Programación de Void Loop

Dentro de la programación del Void Loop se tiene dos partes las cuales se describen a con-

tinuación.

En la primera parte se tiene un variable auxiliar llamado estado y es igual a 1. Esto significa

que el robot ingresa en modo de resolución del laberinto; En este modo el robot como pri-

mera actividad mide la distancia entre él y la pared y después la transforma en centímetros.

Después se programa un algoritmo PD el cual dependiendo de qué tan alejado o cercano de

la pared se encuentre el robot cambia las velocidades de sus llantas para mantenerse paralelo

de la pared.

Page 45: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

31

Figura 24. Estado igual a uno

Fuente: Propia

En la segunda parte cuando la variable estado es igual a cero significa que el robot detenga

sus movimientos aquí se crea una función la cual pone las velocidades de los motores en 0

evitando que el robot pueda desplazarse.

Figura 25. Estado igual a 0

Fuente: Propia

Programación de la función de motores

Para el funcionamiento de los motores se creó una función la cual permitiría manejar de

forma más sencillas las velocidades y direcciones de los dos motores.

Dentro de esta función se debe enviar dos datos el primer el número de motor que puede ser

1 o 2 este número sirve como identificador para conocer que motor va a ser activado.

La segunda variable a enviar es el valor de PWM que está en un rango de -255 a 255.Si el

valor es positivo se configura los pines AIN1 y AIN2 para que giren hacia adelante y se

Page 46: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

32

envía el valor de la PWM. Si el valor de la PWM es menor que cero el programa automáti-

camente multiplica por menos uno y transforma a positivo después configura al motor

mediante los pines AIN1 y AIN2 para ir hacia atrás. En la siguiente figura se muestra la

programación antes descrita.

Figura 26. Función para el manejo de motores

Fuente: Propia

Page 47: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

33

CAPÍTULO IV

RESULTADOS

Al realizar la implementación del robot se tiene que entender el uso y aplicación de

un control PID para el funcionamiento adecuado del robot dentro de la pista.

Al implementarse diferentes tipos de estructuras se identificó que la mejor forma de

crear este tipo de robot es utilizando una tracción diferencial que permite el cambio

de dirección de forma rápida.

Después de realizar un análisis del robot laberinto el uso de sensores Sharp permi-

tieron la mejor detección de obstáculos dentro de un laberinto de competencia.

Page 48: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

34

CONCLUSIONES

● La tracción diferencial es la mejor opción para este tipo de robot ya que al encon-

trarse con un camino cerrado permite que el robot gire dentro de su propio eje

evitando chocarse con las paredes del laberinto.

● La implementación de un controlador PD fue la mejor opción ya que permite la ca-

libración del desplazamiento del robot evitando que este choque y realice

movimientos suaves cuando debe hacer cambios de dirección.

● El uso de un PCB como estructura del robot laberinto permitió la reducción de peso

lo que permite desplazarse de forma perfecta dentro del laberinto. Además de per-

mitir alcanzar mayores velocidades de desplazamiento.

RECOMENDACIONES

● Es recomendable el uso de batería LiPo ya que son pequeñas y puede almacenar gran

cantidad de energía justamente para una aplicación de robótica a pequeña escala.

● Es aconsejable utilizar un driver TB6612FNG ya que este usa MOSFET y evita que

el driver se caliente a la vez este driver es más pequeño que otros que existen en el

mercado.

● Se sugiere que siempre se diseñe la PCB como estructura del motor ya que esto

permite disminuir peso y da mayor agilidad y velocidad al robot dentro del laberinto.

Page 49: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

35

ANEXOS

Anexo 1: Diseño electrónico

Figura 27. Circuito completo del robot laberinto

Fuente: Propia

Page 50: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

36

Anexo 2: Diseño de la PCB

Figura 28. PCB completa del robot laberinto

Fuente: Propia

Page 51: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

37

Anexo 3: Programa implementado

int PWMA = 6;

int AIN2 = 7;

int AIN1 = 8;

int PWMB = 11;

int BIN2 = 10;

int BIN1 = 9;

int p1 = 5;

int p2 = 4;

int sensor = 0;

int error = 0;

int error_a = 0;

int PID = 0;

int vel_d = 0;

int vel_i = 0;

int estado = 0;

int setpoint = 25;

int kp = 0.23;

int kd = 0.34;

int v_crucero = 100;

void setup()

{

pinMode(PWMA, OUTPUT);

pinMode(AIN2, OUTPUT);

pinMode(AIN1, OUTPUT);

pinMode(PWMB, OUTPUT);

pinMode(BIN2, OUTPUT);

pinMode(BIN1, OUTPUT);

pinMode(p1,INPUT);

pinMode(p2,INPUT);

Serial.begin(9600);

}

void loop()

{

if (digitalRead(p1) == HIGH)

{

estado = 1;

}

if (digitalRead(p2) == HIGH)

{

estado = 0;

}

if (estado == 1)

Page 52: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

38

{

int D_cm=distancia(20); //lectura de distancia

sensor = D_cm;

Serial.println(sensor);

error = setpoint - sensor;

PID = kp* error + kd *(error - error_a);

error_a = error;

vel_d = v_crucero - PID;

vel_i = v_crucero + PID;

velocidad(1, vel_d);

velocidad(2, vel_i);

}

if (estado == 0)

{

velocidad(1, 0);

velocidad(2, 0);

}

}

void velocidad(int motor, int pwm)

{

if(motor == 1)

{

if(pwm >= 0)

{

digitalWrite(AIN1, LOW);

digitalWrite(AIN2, HIGH);

analogWrite(PWMA, pwm);

}

if(pwm < 0)

{

pwm = pwm * -1;

digitalWrite(AIN1, HIGH);

digitalWrite(AIN2, LOW);

analogWrite(PWMA, pwm);

}

}

if(motor == 2)

{

if(pwm >= 0)

{

digitalWrite(BIN1, LOW);

digitalWrite(BIN2, HIGH);

analogWrite(PWMB, pwm);

}

if(pwm < 0)

{

pwm = pwm * -1;

digitalWrite(BIN1, HIGH);

digitalWrite(BIN2, LOW);

Page 53: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

39

analogWrite(PWMB, pwm);

}

}

}

float distancia(int n)

{

long suma=0;

for(int i=0;i<n;i++)

{

suma=suma+analogRead(A0);

}

float adc=suma/n;

float distancia_cm = 17569.7 * pow(adc, -1.2062);

return(distancia_cm);

}

Page 54: INSTITUTO SUPERIOR TECNOLÓGICO VIDA NUEVA CARRERA

40

Bibliografía

Electronilab. (2 de Enero de 2020). Arduino nano. Obtenido de

https://electronilab.co/tienda/arduino-nano-v3-atmega328-5v-cable-usb/

Jainer, E. (14 de Marzo de 2020). JuegosRobotica. Obtenido de

https://juegosrobotica.es/robot-resuelve-laberintos/

Llamas, L. (18 de Agosto de 2016). Ingeniería, informatica y diseño . Obtenido de

https://www.luisllamas.es/arduino-motor-dc-tb6612fng/

Naylamp MEchatronics. (12 de Septiembre de 2018). Mechatronics. Obtenido de

https://naylampmechatronics.com/blog/55_tutorial-sensor-de-distancia-sharp.html

Nuñes , M., Cardenas , P., & Ramirez , R. (2018). Diseño y construcción de Micromouse de

alto. Bogotà: Universidad Nacional de Colombia.

Pololu. (25 de Febrero de 2017). Pololu. Obtenido de

https://www.pololu.com/product/975#lightbox-picture0J833

Pololu. (16 de Marzo de 2019). Pololu. Obtenido de

https://www.pololu.com/category/22/motors-and-gearboxes

Tecno Recursos. (13 de Marzo de 2020). Control PID. Obtenido de

https://www.picuino.com/es/arduprog/control-pid.html

Torres, A. (2019). La implementación de un robot resuelve laberintos con algoritmos de

toma de decisiones . Quito: UDLA.

Zumobot. (12 de Enero de 2019). Zumobot. Obtenido de

https://sites.google.com/site/zumobot234/

Zuñiga, A. (2017). Diseño y administración de proyectos de robótica educativa. Revista SE,

6-27.