Está en la página 1de 29

UNIVERSIDAD ANDINA

“NÉSTOR CÁCERES VELÁSQUEZ”

FACULDAD DE INGENÍERIA Y CIENCIAS PURAS

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA Y


TELECOMUNICACIONES

PROYECTO DE TESIS

DISEÑO E IMPLEMENTACION DE UN PROTOTIPO DE

ROBOT MOVIL EVASOR DE OBSTACULOS BASADO EN

REDES NEURONALES ARTIFICIALES

PROYECTO DE INVESTIGACIÓN PRESENTADO POR:

Bach. JUAN RODRIGO VILLALTA VILCA

PARA OPTAR EL TÍTULO PROFECIONAL DE:

INGENIERO ELECTRÓNICO

ASESOR: Mg. Ing. JORGE JAVIER MENDOZA MONTOYA

JULIACA – PERU

2019
INDICE
1. EL PROBLEMA DE LA INVESTIGACION......................................................................... 1
1.1. PLANTEAMIENTO DEL PROBLEMA ............................................................................ 1
1.1.1. PROBLEMA GENERAL ................................................................................................. 2
1.1.2. PROBLEMA ESPECIFICO ............................................................................................ 2
2. OBJETIVO DE LA INVESTIGACION ................................................................................. 2
2.1. OBJETIVO GENERALES................................................................................................... 2
2.2. OBJETIVO ESPECIFICO ................................................................................................... 2
2.3. JUSTIFICACION DEL ESTUDIO ..................................................................................... 2
3. MARCO TEORICO ................................................................................................................. 3
3.1. ANTECEDENTES DE LA INVESTIGACION ................................................................. 3
3.2. BASES TEORICAS .............................................................................................................. 3
3.3. MARCO CONCEPTUAL .................................................................................................. 21
4. HIPOTESIS ............................................................................................................................. 21
4.1. HIPOTESIS GENERAL..................................................................................................... 21
4.2. HIPOTESIS ESPECIFICO ................................................................................................ 21
4.3. OPERACIÓN DE VARIABLES........................................................................................ 22
5. METODOLOGIA DE LA INVESTIGACION .................................................................... 22
5.1. TIPO DE INVESTIGACION ............................................................................................. 22
5.2. TECNICAS E INSTRUMENTOS ..................................................................................... 22
5.3. PROCEDIMIENTOS.......................................................................................................... 22
5.4. DISEÑO DE LA PRUEBA DE HIPOTESIS .................................................................... 22
5.5. POBLACION Y MUESTRA .............................................................................................. 23
5.6. MATRIZ DE CONSISTENCIA ........................................................................................ 23
6. PRESOPUESTO Y CRONOGRAMA DE ACTIVIDADES ............................................... 23
6.1. PRESOPUESTO.................................................................................................................. 23
6.2. CRONOGRAMA DE ACTIVIDADES ............................................................................. 23
7. ESTRUCTURA TENTATIVA DEL INFORME FINAL .................................................... 24
8. BIBLIOGRAFÍA ..................................................................................................................... 25
INDICE DE ILUSTRACIONES
Ilustración 1 Neurona Artificial y si Relación con una Neurona Biológica ........................... 5
Ilustración 2 Función de Activación Escalón ......................................................................... 8
Ilustración 3 Función de Activación Lineal y Mixta .............................................................. 8
Ilustración 4 Función Tangente Hiperbólica .......................................................................... 9
Ilustración 5 Función Sigmoidal .......................................................................................... 10
Ilustración 6 Función de Activación Gaussiana ................................................................... 10
Ilustración 7 Esquema Básico de una RNA.......................................................................... 11
Ilustración 8 Sensor de Ultrasonido ..................................................................................... 13
Ilustración 9 Medir Distancia ............................................................................................... 14
Ilustración 10 Puente H con Transistores ............................................................................. 15
Ilustración 11 Cambio de Corrientes .................................................................................... 16
Ilustración 12 Circuito Dentro del Chip L298 ...................................................................... 16
Ilustración 13 Ciclo de Trabajo ............................................................................................ 18
Ilustración 14 Ciclo de Trabajo 90 % ................................................................................... 19
Ilustración 15 Ciclo de Trabajo 20% .................................................................................... 20
Ilustración 16 GNU Octave .................................................................................................. 21
1. EL PROBLEMA DE LA INVESTIGACION

1.1. PLANTEAMIENTO DEL PROBLEMA

Esta investigación propone una nueva metodología para resolver problemas complejos
basada en arreglos neuronales evolutivos. Durante la evolución, cada individuo de la
población está formado por más de una red neuronal e intenta resolver el problema con la
participación colectiva de sus miembros y alguna división funcional de la tarea. El
aprendizaje se basa en una estrategia incremental que evalúa la población en varias etapas,
sobre diferentes tareas de complejidad creciente, hasta alcanzar el comportamiento final
deseado.

La evolución incremental es aplicable a problemas que puedan naturalmente descomponerse


en una secuencia de tareas de complejidad creciente.

Problemas como la evasión de obstáculos y el alcance de objetivos representan un verdadero


desafío para las soluciones evolutivas ya que el comportamiento a aprender varía según las
características del entorno. Por tal motivo, ha sido seleccionado para medir los resultados de
esta propuesta.

La robótica evolutiva se preocupa por usar evolución biológica simulada para crear
automáticamente controladores para robots, que reduce la cantidad de las pruebas del mundo
real, se utilizan generalmente para acelerar la evolución y proceso. Sin embargo, la creación
de cómo controlar robots con inteligencia es una proceso difícil y lento que requiere grandes
conocimientos. Esta investigación describe el uso de las redes neuronales para actuar como
controlador de sensor de distancia ultrasónico en este robot móvil. El entrenamiento de esta
red neuronal artificial. Los datos adquiridos son evaluados por medios de comparación con
datos de prueba. Finalmente, después de varias pruebas se validan desarrollando un
controlador para evitar obstáculos el robot utilizando las redes neuronales. Los resultados
muestran que las redes neuronales pueden ser utilizadas para adquirir datos de un sensor
ultrasónico en la robótica evolutiva.

pág. 1
En este trabajo se realizará el diseño y la implementación de un robot móvil evasor de
obstáculos, que será implementado en un microcontrolador atmega 328, con el uso de varios
componentes electrónicos como sensores de ultrasonido controladores de motores dc, etc.

El objetivo es que el robot pueda realizar la evasión de obstáculos frente a una trayectoria, el
microcontrolador controlara a los actuadores mediante el entrenamiento de la red

1.1.1. PROBLEMA GENERAL


P.G. ¿Cómo diseñar e implementar un prototipo de robot móvil evasor de obstáculos
basado en redes neuronales artificiales?

1.1.2. PROBLEMA ESPECIFICO


P.E.1 ¿Cómo entrenar una red neuronal artificial?

P.E.2 ¿Cómo implementar una red neuronal artificial en arduino?

2. OBJETIVO DE LA INVESTIGACION

2.1. OBJETIVO GENERALES


O.G. Diseñar e implementacion de un prototipo de robot movil evasor de obstaculos basado
en redes neuronales artificiales

2.2. OBJETIVO ESPECIFICO


O.G.1. mostrar un entrenamiento de una red neuronal artificial

O.G.2. explicar la implementacion de una red neuronal artificial en arduino

2.3. JUSTIFICACION DEL ESTUDIO


El diseño y la implementacion de este prototipo, que permite el entrenamiento de una red
neuronal artificial es una propuesta que se quiere desarrollar en la universidad Andina Nestor
Caceres Velasquez como herramienta para promover en los estudiantes el interés por la
robotica y las teorías de control, buscando por medio de esta motivación, incentivar la
investigación en varias areas de la ingeniería electrónica.

pág. 2
Como propuesta y continuación a proyectos sobre redes neuronales artificiales ya
desarrollados, este estudio se enfoca en el entrenamiento de la red neuronal para el robot
móvil evasor de obtaculos.

3. MARCO TEORICO

3.1. ANTECEDENTES DE LA INVESTIGACION


A Neural Network Ultrasonic Sensor Simulator for Evolutionary Robotics: Se han hecho
grandes avances en los últimos años en el campo de la robótica. Los robots se están volviendo
más baratos, con más capacidades de hardware y computación y más rápida.
El comportamiento de un robot está determinado por un controlador. El controlador recibe
continuamente información de los sensores del robot y da salida en forma de comandos, por
ejemplo velocidades del motor La implementación subyacente de un La creación manual de
un controlador por expertos humanos Es una tarea larga y complicada, que puede ser inviable
debido a la complejidad de la tarea robótica controlador depende del dominio de aplicación
del robot La naturaleza no estructurada, ruidosa y dinámica de lo real entornos mundiales en
los que se requiere que los robots funcionen, se suma a la dificultad de crear controladores
aumentará en el futuro como robótico el hardware continúa avanzando y las tareas requeridas
de los robots se vuelven más complejos (Christiaan J. Pretorius).

Las investigaciones que sirven de base para un modelo artificial van desde la biología,
química, neurología y psicología hasta el estudio de la evolución del sistema nervioso según
la conducta en ambientes naturales o neuroetología; sin contar con los aportes de la
Inteligencia Artificial (IA) son diferentes estudios en ramas multidisciplinares que dan pistas
sobre los comportamientos locales que desembocan en el emergente sistema nervioso y en
una especialización mayor como el cerebro. Por esta razón se hará una revisión de los más
importantes resultados investigativos que describen: tanto detalles que competen a áreas
específicas de la IA basadas en el comportamiento neuronal; como a la IA en sí, estableciendo
criterios generales clave como las propiedades de la vida o la evolución (roanboc, 2016)

3.2. BASES TEORICAS

pág. 3
Inteligencia artificial: Como se ha dicho, la IA es uno de los componentes importantes de
una MI. Otra definición es: “La ciencia que estudia de manera sistemática el comportamiento
inteligente, con el fin de imitar o simular las habilidades humanas mediante la creación y
utilización de máquinas y computadoras” (Daniel Cohen, Enrique Asín, 2014). Basado en
estas definiciones, se describe la “inteligencia” como máquinas con sistemas capaces de
entender el comportamiento de las personas en un determinado ambiente e imitar un
comportamiento similar al que tendría una persona. Dentro de las habilidades humanas que
podría simular una MI se incluyen el razonamiento, el aprendizaje y las capacidades
sensoriales, entre otras. Asimismo, entre sus objetivos la IA tiene el desarrollo de máquinas
con la capacidad de aprender e incluso realizar actividades físicas, coordinadas, así como
emular experiencias en las cuales se requiere la toma de decisiones. La IA, como campo,
tiene que ver con las áreas de robótica, simulación sensorial, agentes inteligentes, lógica
difusa, redes neuronales, sistemas expertos y lenguajes naturales.

Robótica: según la RAE, un robot es “una máquina o ingenio electrónico programable, capaz
de manipular objetos y realizar operaciones antes reservadas solo a las personas”. La robótica
es el campo de estudio que se encarga de la imitación del movimiento humano a través de
máquinas, la que es utilizada para apoyar procesos -tales como los que son repetitivos- y
realizarlos de manera precisa. Los robots con IA son aquellos autónomos, capaces de tomar
decisiones basados en los estímulos recibidos por sus sensores físicos; a estos se les llama
MI (Gonzales, 2017).

Red neuronal artificial: La ciencia se ha inspirado de la naturaleza en una gran variedad de


entornos. Podemos observar por ejemplo como las aeronaves utilizan principios de
aerodinámica tomados de la forma en que las aves se mantienen en el aire, las aletas de rana
utilizadas por los buzos para mejorar el desplazamiento en el agua se inspiran en dicho animal,
el funcionamiento de las cámaras se ha ido perfeccionado a través de la imitación de los ojos,
entre otros ejemplos.

La naturaleza provee una potente herramienta para aprender de sus errores a través de la
selección natural y llega a diseños que generan gran eficiencia y adaptación a su entorno y esa
característica hace que muchos de ellos se vuelvan grandes ideas tecnológicamente hablando.

pág. 4
En el campo de la inteligencia artificial tenemos ejemplos de cómo se han adaptado modelos
naturales para crear algoritmos que permitan aprender de sus errores y volverse más eficientes
en su tarea. Estos algoritmos son particularmente útiles para resolver tareas en las que no es
posible hallar una solución matemáticamente pura. Un ejemplo de lo anterior son las redes
neuronales artificiales.

Las redes neuronales artificiales, son algoritmos de software cuyo fundamento se inspira en
el comportamiento de las neuronas del cerebro humano. En nuestro cerebro ocurren millones
de reacciones químicas que comunican nuestras células cerebrales, o neuronas, unas con otras
mediante estructuras especializadas (Soberanis, 2018).

Ilustración 1 Neurona Artificial y si Relación con una Neurona Biológica

Las neuronas se conectan entre sí por medio de conexiones llamadas sinapsis las cuales son
intercambios eléctricos entre el botón sináptico de una neurona (emisora o presináptica) y el
botón dendrítico de otra (receptora o presináptica). Dichas conexiones permiten que una
neurona mande descargas eléctricas a las células con las cuales se encuentra conectada. La
descarga eléctrica viaja desde el cuerpo o soma de una neurona hasta el Axón el cual hace la
función de un cañón eléctrico a través de los neurotransmisores.

Cuando una neurona recibe un estímulo su electroquímica se altera, acumulando energía.


Cuando esa energía se acumula en cierta cantidad la neurona la descarga por medio del Axón
hacia las neuronas vecinas formando una conexión sináptica con ellas. Inspirados en este
mecanismo biológico McCulloch & Pitts crearon un modelo artificial de una neurona en 1943.
Más tarde esta idea fue retomada por Rosenblatt quien creó una estructura llamada perceptrón.

pág. 5
El perceptrón es una estructura la cual posee una o varias entradas, una función de activación
y una salida (Soberanis, 2018).

Elementos de una red neuronal: Las redes neuronales artificiales (RNA) son modelos que
intentan reproducir el comportamiento del cerebro. Como tal modelo, realiza una
simplificación, averiguando cuáles son los elementos relevantes del sistema, bien porque la
cantidad de información de que se dispone es excesiva o bien porque es redundante. Una
elección adecuada de sus características, más una estructura conveniente, es
el procedimiento convencional utilizado para construir redes capaces de realizar determinada
tarea.

1. Se conoce como capa o nivel a un conjunto de neuronas cuyas entradas provienen de


la misma fuente y cuyas salidas se dirigen al mismo destino.
2. Unidad de proceso: La neurona Artificial. Existen tres tipos de unidades en cualquier
sistema: entradas, salidas y ocultas. Las unidades de entrada reciben señales desde el
entorno; las de salida envían la señal fuera de la red, y las unidades ocultas son aquellas
cuyas entradas y salidas se encuentran dentro del sistema.
3. Estado de Activación. Los estados del sistema en un tiempo t se representan por un
vector A(t). Los valores de activación pueden ser continuos o discretos, limitados o
ilimitados. Si son discretos, suelen tomar un conjunto discreto de valores binarios, así
un estado activo se indicaría con un 1 y un estado pasivo se representaría por un cero.
En otros modelos se considera un conjunto de estados de activación, en
cuyo valor entre [0,1], o en el intervalo [-1,1], siendo una función sigmoidal.
4. Función de Salida o de Transferencia. Asociada con cada unidad hay una función de
salida, que transforma el estado actual de activación en una señal de salida.

Existen cuatro funciones de transferencia típicas que determinan distintos tipos de neuronas:

 Función Escalón
 Función Lineal y Mixta
 Función Sigmoidal
 Función Tangente hiperbólica
 Función Gaussiana

pág. 6
Conexiones entre neuronas. Las conexiones que unen a las neuronas que forman una RNA
tiene asociado un peso, que es el que hace que la red adquiera conocimiento. Se considera
que el efecto de cada señal es aditivo, de tal forma que la entrada neta que recibe una neurona
es la suma del producto de cada señal individual por el valor de la sinapsis que conecta ambas
neuronas y es lo que se conoce como red de propagación. Se utiliza una matriz W con todos
los pesos, Si wji es positivo indica que la relación entre las neuronas es excitadora, es decir,
siempre que la neurona i esté activada, la neurona j recibirá una señal que tenderá a activarla.
Si wji es negativo, la sinapsis será inhibidora. En este caso si i está activada, enviará una
señal que desactivará a j. Finalmente si wji es 0 se supone que no hay conxión entre ambas.
Función o Regla de Activación. Se requiere una regla que combine las entradas con el estado
actual de la neurona para producir un nuevo estado de activación. Esta función F produce un
nuevo estado de activación en una neurona a partir del estado que existía y la combinación
de las entradas con los pesos de las conexiones. Esa F es denominada función de activación,
y las salidas que se obtienen en una neurona para las diferentes formas de F serán:
 Función de Activación Escalón
 Función de Activación Identidad
 Función de Activación Lineal -Mixta

Regla de Aprendizaje. El aprendizaje puede ser comprendido como la modificación de


comportamiento inducido por la interacción con el entorno y como resultado de experiencias
conduce al establecimiento de nuevos modelos de respuesta a estímulos externos. En el
cerebro humano el conocimiento se encuentra en la sinapsis. En el caso de las RNA el
conocimiento se encuentra en los pesos de las conexiones entre neuronas. Todo proceso de
aprendizaje implica cierto número de cambios en estas conexiones. En realidad, puede
decirse que se aprende modificando los valores de lo pesos de la red (jc2589, 2014).

Función escalón: La función de activación escalón se asocia a neuronas binarias en las cuales,
cuando la suma de las entradas es mayor o igual que el umbral de la neurona, la activación
es 1; si es menor, la activación es 0 (o -1) (Cruz, 2010, pág. 200).

pág. 7
Ilustración 2 Función de Activación Escalón

Función lineal y mixta: La función lineal o identidad responde a la expresión Fk (u) 5 u. En


las neuronas con función mixta, si la suma de las señales de entrada es menor que un límite
inferior, la función se defi ne como 0 (o -1). Si dicha suma es mayor o igual que el límite
superior, entonces la activación es 1. Si la suma de entrada está comprendida entre los dos
límites, entonces la activación es 1. Si la suma de entrada está comprendida entre ambos
límites, superior e inferior, entonces la activación se defi ne como una función lineal de la
suma de las señales de entrada (Cruz, 2010, pág. 200).

Ilustración 3 Función de Activación Lineal y Mixta

pág. 8
Función tangente hiperbolica: La función de activación tangente hiperbólica se emplea en los
casos que presentan variaciones suaves de valores positivos y negativos de la señal a clasifi
car. Como se puede ver en su descripción en la fi gura 3.4, es una de las funciones más
empleadas en entrenamientos supervisados, como en el caso del entrenamiento de
retropropagación del error. Debe tenerse cuidado de emplear esta fi gura entre los umbrales
postivos y negativos antes de la saturación, de otra forma la salida siempre generara valores
saturados iguales a 1 y -1 (Cruz, 2010, pág. 201).

Ilustración 4 Función Tangente Hiperbólica

Función sigmoidal: Con la función sigmoidal el valor dado por la función es cercano a uno
de los valores asintóticos. Esto hace que en la mayoría de los casos, el valor de salida esté
comprendido en la zona alta o baja del sigmoide. De hecho, cuando la pendiente es elevada,
esta función tiende a la función escalón. Sin embargo, la importancia de la función sigmoidal
es que su derivada siempre es positiva y cercana a cero para los valores grandes positivos o
negativos; además, toma su valor máximo cuando x 5 0. Esto hace que se puedan utilizar
reglas de aprendizaje defi nidas para las funciones escalón, con la ventaja, respecto a esta
función, de que la derivada está defi nida en todo el intervalo (Cruz, 2010, pág. 201).

pág. 9
Ilustración 5 Función Sigmoidal

Función gauss Los mapeos ocultos algunas veces pueden realizarse con un solo nivel de
neuronas mediante el uso de funciones de activación tipo Gauss, en lugar de funciones tipo
sigmoidales (Cruz, 2010, pág. 202).

Ilustración 6 Función de Activación Gaussiana

Elementos de una red neuronal: Una RNA consta de un conjunto de elementos de procesamiento
conectados entre sí y entre los que se envían información a través de conexiones. Un esquema básico
de una red neuronal artificial se observa en la figura, la cual presenta las diferentes capas que tiene
esta topología, que es una estructura que se conoce con el nombre de feed-forward (hacia delante)
debido al flujo de la información (Cruz, 2010, pág. 202).

pág. 10
Ilustración 7 Esquema Básico de una RNA

Arduino: Arduino es una plataforma de creación de electrónica de código abierto, la cual


está basada en hardware y software libre, flexible y fácil de utilizar para los creadores y
desarrolladores. Esta plataforma permite crear diferentes tipos de microordenadores de una
sola placa a los que la comunidad de creadores puede darles diferentes tipos de uso.

Para poder entender este concepto, primero se tiene que entender los conceptos de hardware
libre y el software libre. El hardware libre son los dispositivos cuyas especificaciones y
diagramas son de acceso público, de manera que cualquiera puede replicarlos. Esto quiere
decir que Arduino ofrece las bases para que cualquier otra persona o empresa pueda crear sus
propias placas, pudiendo ser diferentes entre ellas, pero igualmente funcionales al partir de
la misma base.

El software libre son los programas informáticos cuyo código es accesible por
cualquiera para que quien quiera pueda utilizarlo y modificarlo. Arduino ofrece la plataforma
Arduino IDE (Entorno de Desarrollo Integrado), que es un entorno de programación con el
que cualquiera puede crear aplicaciones para las placas Arduino, de manera que se les puede
dar todo tipo de utilidades.

pág. 11
El proyecto nació en 2003, cuando varios estudiantes del Instituto de Diseño Interactivo de
Ivrea, Italia, con el fin de facilitar el acceso y uso de la electrónico y programación. Lo
hicieron para que los estudiantes de electrónica tuviesen una alternativa más económica a las
populares BASIC Stamp, unas placas que por aquel entonces valían más de cien dólares, y
que no todos se podían permitir.

El resultado fue Arduino, una placa con todos los elementos necesarios para conectar
periféricos a las entradas y salidas de un microcontrolador, y que puede ser programada tanto
en Windows como macOS y GNU/Linux. Un proyecto que promueve la filosofía 'learning
by doing', que viene a querer decir que la mejor manera de aprender es cacharreando (FM,
2018).

Sensor de ultrasonido: Un sensor de ultra sonidos es un dispositivo para medir distancias.


Su funcionamiento se base en el envío de un pulso de alta frecuencia, no audible por el ser
humano. Este pulso rebota en los objetos cercanos y es reflejado hacia el sensor, que dispone
de un micrófono adecuado para esa frecuencia.

Midiendo el tiempo entre pulsos, conociendo la velocidad del sonido, podemos estimar la
distancia del objeto contra cuya superficie impacto el impulso de ultrasonidos

Los sensores de ultrasonidos son sensores baratos, y sencillos de usar. El rango de medición
teórico del sensor HC-SR04 es de 2cm a 400 cm, con una resolución de 0.3cm. En la práctica,
sin embargo, el rango de medición real es mucho más limitado, en torno a 20cm a 2 metros.

Los sensores de ultrasonidos son sensores de baja precisión. La orientación de la superficie


a medir puede provocar que la onda se refleje, falseando la medición. Además, no resultan
adecuados en entornos con gran número de objetos, dado que el sonido rebota en las
superficies generando ecos y falsas mediciones. Tampoco son apropiados para el
funcionamiento en el exterior y al aire libre.

Pese a esta baja precisión, que impide conocer con precisión la distancia a un objeto, los
sensores de ultrasonidos son ampliamente empleados. En robótica es habitual montar uno o

pág. 12
varios de estos sensores, por ejemplo, para detección de obstáculos, determinar la posición
del robot, crear mapas de entorno, o resolver laberintos.

En aplicaciones en que se requiera una precisión superior en la medición de la distancia,


suelen acompañarse de medidores de distancia por infrarrojos y sensores ópticos. (llamas,
MEDIR DISTANCIA CON ARDUINO Y SENSOR DE ULTRASONIDOS HC-SR04,
2015).

Ilustración 8 Sensor de Ultrasonido

¿Cómo funciona un sensor de ultrasonidos?

El sensor se basa simplemente en medir el tiempo entre el envío y la recepción de un pulso


sonoro. Sabemos que la velocidad del sonido es 343 m/s en condiciones de temperatura 20
ºC, 50% de humedad, presión atmosférica a nivel del mar. Transformando unidades resulta

𝑚 𝑐𝑚 1 𝑠 1 𝑐𝑚
343 ∗ 100 ∗ =
𝑠 𝑚 1000000 𝑢𝑠 29.2 𝑢𝑠

Es decir, el sonido tarda 29,2 microsegundos en recorrer un centímetro. Por tanto, podemos
obtener la distancia a partir del tiempo entre la emisión y recepción del pulso mediante la
siguiente ecuación

𝑡𝑖𝑒𝑚𝑝𝑜(𝑢𝑠)
𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 (𝑐𝑚) =
29.2 ∗ 2

pág. 13
El motivo de divir por dos el tiempo (además de la velocidad del sonido en las unidades
apropiadas, que hemos calculado antes) es porque hemos medido el tiempo que tarda el pulso
en ir y volver, por lo que la distancia recorrida por el pulso es el doble de la que queremos
medir (llamas, MEDIR DISTANCIA CON ARDUINO Y SENSOR DE ULTRASONIDOS
HC-SR04, 2015).

Ilustración 9 Medir Distancia

Puente H L293N: El L298N es un controlador (driver) de motores, que permite encender y


controlar dos motores de corriente continua desde Arduino, variando tanto la dirección como
la velocidad de giro.

Como comentamos frecuentemente Arduino, y en general todos los autómatas, no disponen


de potencia suficiente para mover actuadores. De hecho, la función de un procesador no debe
ser ejecutar acciones si no mandar ejecutar acciones a drivers que realicen el “trabajo
pesado”. El L298N también puede controlar un único motor de paso a paso aunque, en
general, se prefiere usar dispositivos específicamente diseñados para motores paso a paso.

La corriente máxima que el L298N puede suministrar a los motores es, en teoría, 2A por
salida (hasta 3A de pico) y una tensión de alimentación de 3V a 35V.

Sin embargo, el L298N tiene una eficiencia baja. La electrónica supone una caída de tensión
de unos 3V, es decir, la tensión que recibe el motor es unos 3V inferior a la tensión de
alimentación.

pág. 14
Estas pérdidas se disipan en forma de calor lo que se traduce en que, a efectos prácticos, es
difícil que podamos obtener más de 0.8-1A por fase sin exceder el rango de temperatura de
funcionamiento.

El L298N incorpora protecciones contra efectos que pueden producirse al manejar motores
de corriente continua. Dispone de protecciones contra sobre intensidad, sobre temperatura, y
diodos de protección contra corrientes inducidas (flyback).

El controlador L298N es ampliamente usado en proyectos electrónicos y robótica, por su


sencillez de uso, bajo coste, y buena calidad precio.

¿Cómo funciona un L298N?

un L298N consiste en dos puentes-H, uno para la salida A y otro para la salida B.

Un puente-H es un componente ampliamente utilizado en electrónica para alimentar una


carga de forma que podemos invertir el sentido de la corriente que le atraviesa.

Internamente un puente-H es una formación de 4 transistores, conectados entre Vcc y GND,


con la carga a alimentar entre ellos. Dibujado en esquema el conjunto tiene forma de “H”, de
la que recibe su nombre.

Ilustración 10 Puente H con Transistores

Actuando sobre los 4 transistores, activando los transistores opuestos en diagonal de cada
rama, podemos variar el sentido en el que la corriente atraviesa la carga Conectando

pág. 15
simultáneamente los transistores superiores o inferiores, podemos poner la carga Vcc o Gnd
respectivamente, configuración que usaremos como freno.

Ilustración 11 Cambio de Corrientes

Por último, nunca debemos encender ambos transistores de un mismo ramal (izquierda o
derecha), ya que estaremos provocando un cortocircuito entre Vcc y GND.

La placa L298N incorpora electrónica que simplifica la conexión al puente H, agrupando las
conexiones en 3 pines accesibles (por cada salida) y eliminando la posibilidad de generar un
cortorcuito (llamas, CONTROLAR MOTORES DE CORRIENTE CONTINUA CON
ARDUINO Y L298N, 2016).

Ilustración 12 Circuito Dentro del Chip L298

pág. 16
Motores DC: El motor de corriente continua (motor DC) es una máquina que convierte la
energía eléctrica en mecánica, provocando un movimiento rotatorio. En algunas
modificaciones, ejercen tracción sobre un riel. Estos motores se conocen como motores
lineales.

Una máquina de corriente continua (generador o motor) se compone principalmente de dos


partes, un estator que da soporte mecánico al aparato y tiene un hueco en el centro
generalmente de forma cilíndrica. En el estator además se encuentran los polos, que pueden
ser de imanes permanentes o devanados con hilo de cobre sobre núcleo de hierro. El rotor es
generalmente de forma cilíndrica, también devanado y con núcleo, al que llega la corriente
mediante dos escobillas.

Partes de un motor de corriente directa:

El sentido de giro de un motor de corriente continua depende del sentido relativo de las
corrientes circulantes por los devanados inductor e inducido. La inversión del sentido de giro
del motor de corriente continua se consigue invirtiendo el sentido del campo magnético o de
la corriente del inducido. Si se permuta la polaridad en ambos bobinados, el eje del motor
gira en el mismo sentido.

Los cambios de polaridad de los bobinados, tanto en el inductor como en el inducido se


realizarán en la caja de bornes de la máquina, y además el ciclo combinado producido por el
rotor produce la fuerza magneto-motriz (geekbotelectronics, 2015).

Pwm (pulse-width modulation): El PWM es un tipo de señal de tensión que usamos en


electrónica con muchos objetivos distintos y para muchas tareas distintas. Vivimos rodeados
de dispositivos que usan PWM para realizar alguna operación.

Qué es PWM y cómo funciona la modulación de ancho de pulso: PWM son siglas en
inglés que significan Pulse Width Modulation y que lo podemos traducir a español como
Modulación de ancho de pulso. Puede ser que esto no te diga nada de momento.

La modulación de ancho de pulso está formada por una señal de onda cuadrada que no
siempre tiene la misma relación entre el tiempo que está en alto y el tiempo que está en bajo.

pág. 17
En la siguiente imagen vemos una señal que varía entre 5 voltios y 0 voltios. A lo largo del
tiempo la señal varía entre dos valores de tensión. Durante un tiempo determinado la señal
se encuentra en el nivel alto (en este caso 5v) y durante otro periodo de tiempo se encuentra
en el segundo valor de tensión (en este caso 0v).

Ilustración 13 Ciclo de Trabajo

El tiempo que la señal se encuentra en el nivel alto (5 voltios) lo denominamos como tiempo
on (Ton) mientras que el tiempo que está en nivel bajo lo denominamos tiempo off (Toff).
La suma del tiempo on y el tiempo off es el periodo de la señal (T).
Y como en toda señal periódica, el inverso de del periodo (1 / T) es la frecuencia de la señal.
¿Cómo funciona el PWM? Variando su valor de tensión entre dos valores conocidos, por
ejemplo, Vcc y GND en periodos concretos de tiempo y con una frecuencia fija. Estos
periodos reciben nombres especiales.

Ciclo de trabajo o Duty Cycle: La variación de ancho de pulso consiste en variar los tiempos
de encendido y apagado, es decir Ton y Toff. Al cambiar el valor de un PWM, en realidad se
están modificando estos tiempos.

pág. 18
Uno de las características más importantes de una señal PWM es su ciclo de trabajo o Duty
Cycle, en inglés, ya que este es el que varía en un PWM.

El ciclo de trabajo no es otra cosa que la relación entre el tiempo de encendido y el periodo
o tiempo total del PWM.

𝑇𝑜𝑛
𝐷𝐶 =
𝑇

Cuanto mayor sea el duty cycle, mayor tiempo estará la señal de tensión en alto, sin variar el
periodo. Por consecuencia, como el periodo no vario y la suma de Ton y Toff, si el tiempo
de encendido aumenta, el tiempo de apagado disminuye.

Este es el motivo por el cual se llama modulación de ancho de pulso, porque literalmente se
varía el ancho del pulso de niveles alto.

Normalmente el valor de ciclo de trabajo se expresa en porcentaje y para ello solo debemos
multiplicar por 100.

𝑇𝑜𝑛
𝐷𝐶 = ∗ 100
𝑇

Cuando el ciclo de trabajo es 90%, como en la siguiente imagen, la señal está en nivel alto
durante el 90% del periodo.

Ilustración 14 Ciclo de Trabajo 90 %

Cuando el ciclo es de 20%, como en la siguiente imagen, la señal estará el 20% del tiempo
en nivel alto y el 80% en nivel bajo (Gómez, 2017).

pág. 19
Ilustración 15 Ciclo de Trabajo 20%

Octave: GNU Octave es un lenguaje de alto nivel, destinado principalmente a cálculos


numéricos. Proporciona una interfaz de línea de comandos conveniente para resolver
problemas lineales y no lineales numéricamente, y para realizar otros experimentos
numéricos utilizando un lenguaje que es principalmente compatible con Matlab. También se
puede usar como un lenguaje orientado a lotes.

Octave tiene amplias herramientas para resolver problemas comunes de álgebra lineal
numérica, encontrar las raíces de ecuaciones no lineales, integrar funciones ordinarias,
manipular polinomios e integrar ecuaciones diferenciales y algebraicas diferenciales
ordinarias. Es fácilmente extensible y personalizable a través de funciones definidas por el
usuario escritas en el propio lenguaje de Octave, o utilizando módulos cargados
dinámicamente escritos en C ++, C, Fortran u otros idiomas.

GNU Octave también es un software redistribuible libremente. Puede redistribuirlo y / o


modificarlo según los términos de la Licencia Pública General de GNU ( GPL ) publicada
por la Free Software Foundation (Eaton, 2007).

pág. 20
Ilustración 16 GNU Octave

3.3. MARCO CONCEPTUAL


AI: es la combinación de algoritmos planteados con el propósito de crear máquinas que
presenten las mismas capacidades que el ser humano. Una tecnología que todavía nos resulta
lejana y misteriosa, pero que desde hace unos años está presente en nuestro día a día a todas
horas (iberdrola.com, 2019).

MI: maquinas inteligentes

RAE: real academia española

Sinapsis: Las neuronas no forman redes continuas, sino que existe un pequeño espacio entre
ellas (sinapsis) que debe atravesar el impulso nervioso para pasar de una neurona a otra
(pignatelli, s.f.).

Dendrítico: Que es densa y tiene ramificaciones regulares

4. HIPOTESIS

4.1. HIPOTESIS GENERAL


H.G. El prototipo de robot movil evadira los obstaculos que se le presente en su trayectoria

4.2. HIPOTESIS ESPECIFICO


H.E.1. Reslizar una explicacion de como se debe de entranar una res neuronal artificial

pág. 21
H.E.2. Realizar la explicacion de como implementar una red neural artificial en arduino

4.3. OPERACIÓN DE VARIABLES


Variables independientes: Red neuronal artificial

Variables dependientes: Entrenamiento de la red neuronal artificial

5. METODOLOGIA DE LA INVESTIGACION
Se usa la metodología comparativa, los datos seran analizados y comparados en el punto
neutro de estabilidad.

5.1. TIPO DE INVESTIGACION


Investigación experimental cuantitativa

5.2. TECNICAS E INSTRUMENTOS


Observación, análisis y deducción

5.3. PROCEDIMIENTOS
Adquisición de señales del sensor ultrasonido

Procesar los datos adquiridos

Filtrar los datos

Aplicar el entrenamiento

Comprobar resultados

5.4. DISEÑO DE LA PRUEBA DE HIPOTESIS


∑ 𝑥 2 + ∑ 𝑦 2 + ∑ 𝑑2
𝑅𝑠 =
2√∑ 𝑥 2 ∗ ∑ 𝑦 2

pág. 22
X = datos del sensor ultrasonido

Y = datos analizados

5.5. POBLACION Y MUESTRA


Por ser el proyecto experimental no costa de población y muestra

5.6. MATRIZ DE CONSISTENCIA

6. PRESOPUESTO Y CRONOGRAMA DE ACTIVIDADES

6.1. PRESOPUESTO
ITEM DESCRIPSION CANTIDAD ENVIO/UNIDAD COSTO TOTAL
1 Arduino 1 10 S/. 60.00 S/. 60.00
2 modulo drive l298 3 S/. 30.00 S/. 90.00
3 batería de litio 1 S/. 150.00 S/. 150.00
4 motores dc 3 S/. 150.00 S/. 150.00
5 cables 20 metros S/. 0.50 S/. 50.00
6 cargador de batería 1 S/. 200.00 S/. 200.00
7 internet horas 500 horas S/. 1.00 S/. 500.00
8 bibliografía 3 S/. 200 S/. 200.00
14 accesorios varios 1 S/ 500.00 S/. 500.00
COSTO TOTAL
APROX. S/. 1900.00

6.2. CRONOGRAMA DE ACTIVIDADES


SEMANAS
ACTIVIDADES
1 2 3 4 5 6 7 8 9 10 11 12
REVISION BIBLIOGRAFICA
INVESTIGACION TEORICA
FORMULACION DEL MARCO
TERICO

pág. 23
ADQUISICIÓN DE DISPOSITIVOS
Y MATERIALES
INMPLEMENTACIÓN DEL
SISTEMA DE CONTROL
REALIZACION DE PRUEBAS Y
RESULTADOS

7. ESTRUCTURA TENTATIVA DEL INFORME FINAL

TITULO
DEDICATORIA
AGRADECIMIENTO
ÍNDICE GENERAL, ÍNDICE DE FIGURAS, ÍNDICE DE TABLAS
RESUMEN, ABSTRACT
INTRODUCCIÓN
CAPITULO I : EL PROBLEMA
1.1. Análisis de la situación problemática
1.2. Planteamiento del Problema
1.2.1. Problema general o pregunta general
1.2.2. Problemas específicos o preguntas específicas
1.3. Objetivos de la investigación
1.3.1. Objetivo general
1.3.2. Objetivos específicos
1.3.3. Justificación del estudio
1.4. Hipótesis
1.4.1. Hipótesis general
1.4.2. Hipótesis específicas
1.4.3. Variables
1.4.4. Operacionalización de las variables

CAPITULO II : MARCO TEÓRICO


pág. 24
2.1. Antecedentes del estudio
2.2. Bases teóricas
2.3. Conceptual

CAPITULO III : METODOLOGÍA DE LA INVESTIGACIÓN


3.1. Tipo de investigación
3.2. Técnicas e instrumentos
3.3. Procedimientos
3.4. Diseño de la prueba de hipótesis
3.5. Población y muestra
3.6. Matriz de consistencia

8. BIBLIOGRAFÍA
(21 de abril de 2015). Obtenido de geekbotelectronics:
http://www.geekbotelectronics.com/motores-de-dc/

Christiaan J. Pretorius, M. C. (s.f.). A Neural Network Ultrasonic Sensor Simulator for Evolutionary
Robotics. The Second International Conference on Advanced Communications and
Computation. Nelson Mandela Metropolitan University, South Africa.

Cruz, P. P. (2010). inteligencia artificial con aplicaciones a la ingenieria. mexico: alfaomega.

Eaton, J. W. (14 de agosto de 2007). Sobre Octave. Obtenido de


https://web.archive.org/web/20070814014432/http://www.gnu.org/software/octave/ab
out.html

FM, Y. (21 de julio de 2018). Xataka Basics. Obtenido de https://www.xataka.com/basics/que-


arduino-como-funciona-que-puedes-hacer-uno

Gómez, E. (19 de diciembre de 2017). Que es PWM y para que sirve. Obtenido de
https://www.rinconingenieril.es/que-es-pwm-y-para-que-sirve/

Gonzales, S. M. (2017). Maquinas inteligentes (Smart Machines). investiga TEC, 14-15.

iberdrola.com. (2019). Obtenido de https://www.iberdrola.com/innovacion/que-es-inteligencia-


artificial

jc2589. (24 de enero de 2014). redes neuronales. Obtenido de Elementos de una Red Neuronal
Artificial: https://redesneuronales1.wordpress.com/2014/01/24/elementos-de-una-red-
neuronal-artificial-2/

pág. 25
llamas, l. (16 de junio de 2015). MEDIR DISTANCIA CON ARDUINO Y SENSOR DE ULTRASONIDOS
HC-SR04. Obtenido de Ingeniería, informática y diseño: https://www.luisllamas.es/medir-
distancia-con-arduino-y-sensor-de-ultrasonidos-hc-sr04/

llamas, l. (26 de mayo de 2016). CONTROLAR MOTORES DE CORRIENTE CONTINUA CON ARDUINO
Y L298N. Obtenido de Ingeniería, informática y diseño:
https://www.luisllamas.es/arduino-motor-corriente-continua-l298n/

pignatelli, r. (s.f.). sistema nervioso. Obtenido de


http://agrega.educacion.es/repositorio/14062013/46/es_2013061412_9103939/SistemaN
ervioso/la_sinapsis.html

roanboc. (20 de noviembre de 2016). PROTOTIPO DE UNA RED NEURONAL ARTIFICIAL CON
ARQUITECTURA dinámica basada en el proceso de neurogénesis de redes neuronales
maduras. Obtenido de https://roanboc.wordpress.com/2016/11/20/prototipo-de-una-
red-neuronal-artificial-con-arquitectura-dinamica-basada-en-el-proceso-de-neurogenesis-
de-redes-neuronales-maduras/#_Toc232495067

Soberanis, M. C. (13 de febrero de 2018). Inspiración biológica de las redes neuronales artificiales.
Obtenido de https://medium.com/@mario.campos.soberanis/inspiraci%C3%B3n-
biol%C3%B3gica-de-las-redes-neuronales-artificiales-9af7d7b906a

pág. 26