Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La Habana, Cuba
2020
1
ÍNDICE
PENSAMIENTO…………………………………………………………………….…V
DECLARACIÓN DE AUTORÍA……………..…………………………………….…VI
AGRADECIMIENTOS…………………………………………………………….…VII
DEDICATORIA…………………………………………………………………...…VIII
RESUMEN……………………………………………………………….……………IX
ÍNDICE DE TABLAS……………………...…………………………………………..XI
ÍNDICE DE FIGURAS………………………………………………………………..XII
LISTA DE LAS ABREVIATURAS UTILIZADAS………………………………......XV
INTRODUCCIÓN.................................................................................................1
I
1.3.1 Fundamentos teóricos de una RNA……………………..……………21
1.3.2 El modelo de Mc Culloch & Pitts………………………………………23
1.3.3 Redes monocapa………………………………………………………26
1.3.4 Redes multicapa ………………………………………….……………27
1.3.5 Redes feedforward………………………………………..……………28
1.3.6 Redes recurrentes………………………………………..……………28
1.3.7 Aprendizaje en las redes neuronales artificiales…….………………28
1.3.7.1 Aprendizaje supervisado……………………………………………31
1.3.7.2 Aprendizaje no-supervisado……………………….……………….32
1.3.8 Nivel de aplicación…………………………………...………………...33
1.4 Vehículos autónomos ………………………………..………………….37
1.4.1 Uso de los VA…………………………………….…………………….37
1.4.2 Utilización de los VA en la Agricultura………………………………..38
1.4.3 Desventajas de los VA…………………………………………………38
1.5 Arquitectura de CURIOSO………………………………………………40
1.6 Conclusiones del Capítulo……………………………………………….43
2.1 Introducción……………………………………….……………………...44
2.2 Procesado de la imagen…………………………………………………44
2.2.1 Escala de grises………………………………………….………….…44
2.2.2 Escala de Blanco y Negro. …………………………………………...45
2.2.3 Invertir la escala de Blanco y Negro………….……………………….46
2.2.4 Reducción del tamaño de la foto…………………………………...…46
2.3 Red Neuronal Artificial…………………………...………………………47
2.3.1 Arquitectura………………………………………………………….…47
2.3.2 Neuronas Convolucionales……………………………………………48
2.3.3 Neuronas de Reducción de Muestreo……………….……………….48
2.3.4 Neuronas de Clasificación…………………………………………….49
2.3.5 Aplicaciones………………………………………..…………………..50
2.3.6 Entrenamiento …………………………………………………………50
2.3.7 Clasificación de imágenes…………………………...………….…….51
II
2.4 Conclusiones del Capítulo……………………………………………….52
3.1 Introducción……………………………………………………..………..54
3.2 Requisitos y funciones del Vehículo Autónomo ………………….……54
3.3 Selección de los elementos que conforman a CURIOSO…………….55
3.3.1 Sensor ultrasónico (HCR-04)…………………………………………55
3.3.2 Transceptor NRF24L01………………………………………………..57
3.3.3 Módulo de bluetooth (HC-05)…………………………………………58
3.3.4 Cámara OV7670…………………………………………………….…60
3.3.5 Servomotores………………………………………………………..…62
3.3.5.1 Características…………………………………………………….....63
3.3.5.2 Funcionamiento……………………………………………..……….64
3.3.5.3 Uso de Driver L298N para servomotores…………………………65
3.3.5.4 Control de un motor paso a paso bipolar…………………………..67
3.3.6 Motores de DC…………………………………………………………68
3.3.6.1 Principio de funcionamiento………………………………………...69
3.3.6.2 Uso del Driver L298N para motores DC……………………………69
3.3.6.3 Uso de un módulo de relés……………………………….…………70
3.3.6.3.1 Esquema del circuito del módulo de relés. ………………...……71
3.3.7 Procesadores de información…………………………………………72
3.4 Esquema de conexión de los elementos del VA……………….….…..73
3.4.1 Esquema de conexión del sensor ultrasónico……………………….73
3.4.2 Esquema de conexión del transceptor NRF24L01………………….74
3.4.3 Esquema de conexión del servomotor………………………………74
3.4.4 Esquema de conexión de los motores de DC……………..……….75
3.4.4.1 Motores de DC controlados por módulo de relés……………..…75
3.4.5 Esquema de conexión del módulo de bluetooth……………………76
3.5 Diseño de sistema para la alimentación del VA………………………76
3.6 Conclusiones del Capítulo……………………………………………….77
III
4.1 Introducción………………………………………………………........…78
4.2 Consideraciones generales del software del VA………………………78
4.2.1 Consideraciones del software para el primer punto propuesto…….79
4.2.2 Consideraciones del software para el segundo punto propuesto....81
4.3 Diseño de la aplicación usando el Software Processing……………...83
4.4 Diseño de la aplicación usando el Software App Inventor………...….85
4.5 Conclusiones del Capítulo……………………………………………....89
5. 1 Introducción…………………………………………………………...…91 .
CONCLUSIONES……………………………….………………………………….100
RECOMENDACIONES…………………………...………………………………..101
BIBLIOGRAFÍA……………………………………………………………………..102
IV
PENSAMIENTOS
El ver de nada me sirve, si no está la explicación de lo que veo, si mi
entendimiento no convierte en elemento de juicio la visión.
José Martí
V
DECLARACIÓN DE AUTORÍA
Declaro que soy el autor de este Trabajo de tesis y que autorizo al ISPJAE, a
hacer uso del mismo con fines educativos e investigativos, siempre que se haga
la debida referencia a su autor.
Para que así conste, firmamos la presente a los ___ días del mes de __________
del año __________.
________________________
Silvia Campanioni Morfi
_________________________
Dr. C. Juan Carlos Cruz Hurtado
VI
AGRADECIMIENTOS
A mis padres, abuelos y hermana, por todo el trabajo y estrés que les he
ocasionado a lo largo de mis años de estudio.
VII
DEDICATORIA
Quiero dedicar este trabajo a todas las personas que me han inspirado a
Cuán lejos hemos llegado abuela…. y lo mejor aún está por venir.
VIII
RESUMEN
IX
ABSTRACT
X
ÍNDICE DE TABLAS
XI
ÍNDICE DE FIGURAS
XII
Figura 1.22: Redes Neuronales Recurrentes. (b) Monocapa con unidades de
contexto.............................................................................................................29
Figura 1.23: Esquema representativo del aprendizaje supervisado...................31
Figura 1.24: Aprendizaje no-supervisado...........................................................33
Figura 1.25: Bloques funcionales de CURIOSO.................................................41
Figura 1.26: Esquema de etapas de desarrollo para el procesamiento de la
imagen..............................................................................................................42.
Figura 2.1: Imagen llevada a escala de grises…………………………………….45.
Figura 2.2: Ejemplo de imagen “Binarizada”……………………………………....45
Figura 2.3: Ejemplo de imagen convertida a escala de blanco y negro………….46
Figura 2.4: Ejemplo de imagen invertida…………………………………………...46
Figura 2.5: Imagen llevada a la resolución deseada……………………………....47
Figura 2.6: Muestra de dígitos que se utilizaron en el entrenamiento de la RN...51
Figura 2.7: Muestra del entrenamiento de la RN.................................................51
Figura 2.8: Clasificación de una imagen realizada en el Paint............................52
Figura 3.1: Diagrama en bloques del vehículo autónomo...................................55
Figura 3.2: Tiempo que tarda el pulso en ir y volver............................................56
Figura 3.3: Pines de conexión del HCR-04 y explicación de los mismos.............57
Figura 3.4: NRF24L01 con antena interna y con antena externa........................57
Figura 3.5: Vista trasera del módulo HC-05........................................................59
Figura 3.6: Imagen del módulo OV7670.............................................................60
Figura 3.7: Imagen de un servomotor.................................................................63
Figura 3.8: Curvas características de un servomotor..........................................64
Figura 3.9: Driver L298N....................................................................................66
Figura 3.10: Ilustración de las vías de alimentación............................................66
Figura 3.11: Esquema de conexión utilizando un Arduino Uno...........................68
Figura 3.12: Esquema de conexión de un motor DC...........................................69
Figura 3.13: Esquema de conexión de un motor de DC para controlar su
velocidad............................................................................................................70
Figura 3.14: Módulo de relés..............................................................................71
Figura 3.15: Esquema de un módulo de relés…………………………………….71
Figura 3.16: Vista superior de un Arduino MEGA................................................73
Figura 3.17: (a) Diagrama de conexión…………………………………………….74
Figura 3.17: (b) Diagrama esquemático de conexión..........................................74
XIII
Figura 3.18: (a) Diagrama de conexión del NRF24L01.......................................74
Figura 3.18: (b) Diagrama esquemático de conexión del NRF24L01..................74
Figura 3.19: (a) Diagrama de conexión del servomotor......................................75
Figura 3.19: (b) Diagrama esquemático de conexión del servomotor.................75
Figura 3.20: (a) Diagrama de conexión de los motores de DC............................75
Figura 3.20: (b) Diagrama esquemático de conexión de los motores de DC.......75
Figura 3.21: Diagrama esquemático de conexión del módulo de relés...............76
Figura 3.22: a) Diagrama de conexión del módulo de Bluetooth.........................76
Figura 3.22: (b) Diagrama esquemático de conexión del módulo de Bluetooth...76
Figura 3.23: Sistema de alimentación diseñado en Proteus para el VA..............77
Figura 4.1: Diagrama de flujo del primer proceso…………………………………80.
Figura 4.2: Diagrama de flujo del segundo proceso……………………………...82.
Figura 4.3: Interfaz que muestra la imagen y sus diversas transformaciones…84.
Figura 4.4: Interfaz que muestra el pequeño radar………………………………85.
Figura 4.5: Ícono para acceder a la aplicación…………………………………….86.
Figura 4.6: Ventana inicial de la aplicación……………………………………….87.
Figura 4.7: Sección de identificación…………………………………………...….88.
Figura 4.8: Sección de autentificación…………………………………………….88.
Figura 4.9: Menú de control de CURIOSO…………………………………...……89.
Figura 5.1: Transceptor NRF24L01……………………………………………….91.
Figura 5.2: (a) NRF24L01 sin modificar…..……………………………………....92. r
XIV
LISTA DE LAS ABREVIATURAS UTILIZADAS
VA Vehículo Autónomo
RNA Red Neuronal Artificial
RN Red Neuronal
TLU Threshold Logic Unit
PC Computadora Personal
DC Corriente Directa
SPI Serial Peripheral Interface
RF Radiofrecuencia
RFID Radio Frequency Identification
ISM Industrial Scientific and Medical
CMOS Complementary Metal-Oxide-Semiconductor
VGA Video Graphics Array
PWM (Pulse-Width Modulation)
Rx Recepción
SCCB Bus de Control de Cámara Serial
Tx Transmisión
PS Puerto Serie
XV
INTRODUCCIÓN
1
información a los productores, para que se apliquen tratamientos y riego de
fertilizantes en los lugares de manera precisa. [3]. Mediante estos, se puede
realizar la recolección de muestras, así como la obtención de imágenes, las
cuales podrán ser analizadas para prevenir el deterioro de los cultivos. En este
punto, juega un papel importante el procesamiento de imágenes con el objetivo
de mejorar el aspecto de las fotografías, y que sean más evidentes en ellas
ciertos detalles que se desean hacer notar. Este procesado se puede realizar por
medio de métodos ópticos, o bien por medio de métodos digitales, en una
computadora. [4]
1
proyecto. Además de que dentro de los 11 programas priorizados para el
período 2021-2025 en Cuba, se encuentran la producción de alimentos y la
agroindustria.
Problema a resolver:
En la actualidad en Cuba no se cuenta con un sistema automático que sea capaz
de clasificar el estado de los cultivos en tiempo real.
Objeto de estudio:
Agricultura de precisión.
Campo de acción:
Procesamiento de imágenes, obtenidas por vehículos autónomos para el
reconocimiento de daños en los cultivos.
Objetivo general:
- Implementar un sistema que permita determinar el estado de los cultivos
de forma automática mediante imágenes obtenidas utilizando vehículos
autónomos, de manera que sería posible aplicar tratamientos y protección
anticipada, al detectar en una etapa temprana las enfermedades, así
como sus agentes causales.
Objetivos Específicos:
- Diseñar y construir un vehículo autónomo capaz de obtener las imágenes
necesarias para el análisis del estado de los cultivos.
- Diseñar, implementar y validar un software que permita el reconocimiento
de los daños causados en los cultivos por hierbas y plagas no deseadas.
Tareas:
- Buscar y consultar la literatura especializada que trate sobre agricultura
de precisión, vehículos autónomos, procesamiento de imágenes y redes
neuronales.
2
- Obtener información en relación al diseño de redes neuronales artificiales
(RNA) vinculadas a la agricultura de precisión y las decisiones tomadas
frecuentemente en los entrenamientos.
- Diseñar y construir un vehículo autónomo capaz de adquirir las muestras
necesarias para la confección de la base de datos.
- Diseñar, entrenar y validar una RNA para clasificar el estado de los
cultivos a partir de un conjunto finito de muestras.
- Elaboración de la propuesta correspondiente.
Métodos de trabajo:
Para el desarrollo de la investigación se emplearon métodos teóricos y
empíricos.
- Método histórico-lógico: revisar el estado del arte de las investigaciones
sobre agricultura de precisión, las RNA y las aplicaciones de los vehículos
autónomos a problemas relacionados con la agricultura.
- Métodos cuantitativos y cualitativos: determinar el desempeño del
vehículo autónomo y la red neuronal en cuanto a los indicadores que
utilizan otros investigadores sobre el tema.
- Método de observación: evaluar la efectividad del sistema propuesto tanto
en las simulaciones como en condiciones reales.
- Método de criterio de expertos: consultar las metodologías utilizadas por
los autores en el tema, y las soluciones finales que estos proponen.
Resultados obtenidos:
o Se creó un vehículo autónomo capaz de recorrer las parcelas y trasmitir
las imágenes obtenidas a una aplicación en la PC.
o Se creó un circuito de alimentación, capaz de alternar la fuente de energía
entre un panel solar y una batería, para brindare autonomía al vehículo.
o Se modificó la antena del transceptor NRF24L01, obteniendo mayor
ángulo de radiación, sin afectar los demás parámetros del mismo.
o A través de las aplicaciones diseñadas para los sistemas operativos
Windows y Android, se puede interactuar con CURISO. En ellas se
muestra y controla todas las funciones que puede realizar el vehículo.
3
o El sistema es de fácil manejo, las interfaces desarrolladas son amigables,
con la finalidad de lograr un sistema de iguales prestaciones que los
existentes en el mercado.
o Se diseñó una red neuronal capaz de clasificar imágenes. Debido a no
contar con una base de datos referida a la identificación de plagas en la
agricultura, para entrenar la red, se utilizó una base de datos que consiste
en 10 000 números distribuidos del 0 al 9.
4
software. Además, se detallan los diagramas de flujo de las subrutinas que
satisfacen las necesidades del mismo. También se implementa la aplicación que
permitirá al usuario el trabajo con el procesamiento y “CURIOSO”.
5
CAPÍTULO 1 ASPECTOS GENERALES Y FUNDAMENTOS TEÓRICOS DE
LOS SISTEMAS DE RECONOCIMIENTO DE IMÁGENES OPTENIDAS POR
VEHÍCULOS AUTÓNOMOS.
1.1 Introducción
6
- Eliminar ruido: eliminar aquellos píxeles cuyo nivel de intensidad es muy
diferente al de sus vecinos y cuyo origen puede estar tanto en el proceso
de adquisición de la imagen como en el de transmisión.
- Realzar bordes: destacar los bordes que se localizan en una imagen.
- Detectar bordes: detectar los píxeles donde se produce un cambio brusco
en la función intensidad.
Por tanto, se consideran los filtros como operaciones que se aplican a los
píxeles de una imagen digital para perfeccionarla, y enfatizar cierta información,
o conseguir un efecto especial en ella. El proceso de filtrado puede llevarse a
cabo sobre los dominios de frecuencia o tiempo.
Donde:
𝐹(𝑢,𝑣) : transformada de Fourier de la imagen original.
𝐻(𝑢,𝑣) : filtro atenuador de frecuencias.
7
como un filtro temporal. En la siguiente imagen (Figura 1.1) se pueden observar
las etapas del proceso de filtrado en el dominio de la frecuencia. Lo que brinda
una idea de cómo se realiza el mismo.
- Filtro pasa bajo: atenúa las frecuencias altas y mantiene sin variaciones
las bajas. El resultado en el dominio del tiempo es equivalente al de un
filtro de suavizado, donde las altas frecuencias que son filtradas se
corresponden con los cambios fuertes de intensidad. Consigue reducir el
ruido suavizando las transiciones existentes.
- Filtro pasa alto: atenúa las frecuencias bajas manteniendo invariables las
frecuencias altas. Puesto que las altas frecuencias corresponden en las
imágenes a cambios bruscos de densidad, este tipo de filtro es usado,
porque entre otras ventajas, ofrece mejoras en la detección de bordes en
el dominio del tiempo, ya que estos contienen gran cantidad de dichas
frecuencias. Refuerza los contrastes que se encuentran en la imagen.
- Filtro pasa banda: atenúa frecuencias muy altas o muy bajas manteniendo
una banda de rango medio. Mantiene una banda de rango intermedio, por
lo que reduce ruido y refuerza contrastes, pero no con igual intensidad
que los anteriores filtros por separado.
8
Figura 1.2: Filtros en el dominio de la frecuencia.
Ventajas:
- Método simple y sencillo de implementar.
- Fácil asociación del concepto de frecuencia con ciertas características de
la imagen; cambios de tonalidad suaves implican frecuencias bajas y
cambios bruscos coinciden con las frecuencias altas.
- Proporciona flexibilidad en el diseño de soluciones de filtrado.
- Rapidez en el filtrado al utilizar el Teorema de la “Convolución”.
Desventajas:
- Se necesitan conocimientos en varios campos para desarrollar una
aplicación para el procesamiento de imágenes.
- El ruido no puede ser eliminado completamente.
9
que podrían ser utilizados en futuras acciones o procesos de trabajo sobre ella.
[10-12] Los filtros en el dominio del tiempo pueden clasificarse en:
10
𝑔(𝑥,𝑦) = ∑ ∑ 𝑓(𝑖,𝑗) 𝑤(𝑖,𝑗) Ecuación 1.3
Donde:
𝑓(𝑖,𝑗) : kernel.
𝑤(𝑖,𝑗) : pixeles contiguos.
Generalmente se divide sobre cierto valor constante para normalizar que suele
obtenerse de la suma de los valores del kernel empleado.
11
o Realce de bordes por desplazamiento y diferencia: se sustrae
de la imagen original una copia desplazada de la misma. Así,
es posible localizar y hacer resaltar los bordes existentes y que
se quieran obtener según el modelo de kernel aplicado
(Horizontal, Vertical. Diagonal).
1.2.2 “Binarización”
12
resto de la imagen. Es decir, se puede separar el fondo de la imagen de los
objetos que se desea analizar. [7,8, 10,11]
Se dice que existe un punto aislado cuando el tono de gris de un píxel tiene
diferencia significativa con el de los píxeles vecinos. A continuación, en las
figuras 1.5 y 1.6 se muestra un ejemplo de máscara para el cálculo de un punto
aislado. Si al aplicar esta máscara sobre un pixel es mayor o igual que cierto
valor de umbral entonces es un punto aislado.
13
Figura 1.5: Máscara para el cálculo del punto aislado.
14
dentro de las imágenes. Dentro de la segmentación se utiliza la detección de
bordes para la extracción de datos en las áreas [8,10, 11]. Los filtros que se
utilizan para detectar los bordes son los siguientes:
o Filtro Roberts
o Filtro Prewitt
o Filtro Sobel
o Filtro Canny
Se puede definir como borde de una imagen a los cambios en los niveles de
gris entre dos regiones (ver figura 1.8). Para la detección de bordes se utilizan
aproximaciones de la primera y segunda derivada de los niveles de grises de la
imagen. En el caso de funciones bidimensionales 𝑓(𝑥,𝑦) , la derivada es un vector
que apunta en la dirección de la máxima variación de 𝑓(𝑥,𝑦) y cuyo módulo es
proporcional a dicha variación [8,10]. Este vector se denomina gradiente y se
define como:
𝜕𝑓(𝑥,𝑦)
∆𝑓(𝑥,𝑦) = 𝜕𝑥
𝜕𝑓(𝑥,𝑦) Ecuación 1.4
𝜕𝑦
𝜕𝑓(𝑥,𝑦)
≈ ∆𝑥 𝑓(𝑥,𝑦) = 𝑓(𝑥,𝑦) − 𝑓(𝑥−1 , 𝑦) [−1 1]
𝜕𝑥 Ecuación 1.5
𝜕𝑓(𝑥,𝑦) −1
≈ ∆𝑦 𝑓(𝑥,𝑦) = 𝑓(𝑥,𝑦) − 𝑓(𝑥 , 𝑦−1) [ ]
𝜕𝑦 1 Ecuación 1.6
15
Figura 1.8: Ejemplo de detección de bordes.
El Operador Roberts (ver figura 1.9) utiliza una máscara de 2x2 para aplicarla
sobre el eje 𝑥 de un píxel y otra máscara de la misma dimensión sobre el eje
𝑦 del mismo píxel. Esta máscara aplicada a cada eje es en realidad una
aproximación de la aplicación de la derivada. La desventaja de este operador
para la detección de bordes se da debido al uso de una máscara pequeña, lo
que hace que el resultado sea sensible al ruido. [8,12]
16
El operador Prewitt detecta dos tipos de bordes: los horizontales, y los
verticales. Los bordes se calculan mediante el uso de diferencia entre
intensidades de los píxeles correspondientes de una imagen. Las máscaras que
se utilizan, se conocen también como máscaras de derivados las cuales deben
tener las siguientes propiedades:
−1 0 1 −1 −1 −1
[−1 0 1] [0 0 0]
−1 0 1 1 1 1
Figura 1.10: a) Máscara Vertical b) Máscara Horizontal.
17
1.2.3.1.3 Operador Sobel
El Operador Sobel es también una máscara que se utiliza para detectar dos
tipos de bordes en una imagen ya sea en dirección Vertical u Horizontal. La
diferencia con el Operador Prewitt es que en este operador los coeficientes de
máscaras no son fijos y se pueden ajustar de acuerdo al requerimiento, a menos
que no cumplan con las propiedades de máscaras derivados [8], como se puede
observar el las figuras 1.12 a), b) y 1.13 a), b), c)).
−1 0 1 −1 −5 −1
[−2 0 2] [0 0 0]
−1 0 1 1 5 1
Figura 1.12: a) Máscara Vertical b) Máscara Horizontal.
El operador Canny (ver figura 1.14) marca la mayor cantidad de bordes reales
que sea posible, estos deben estar lo más cerca del borde en la imagen. Un
borde debe ser marcado solo una vez, y el ruido presente en la imagen no
debería crear bordes [8,11]. Este operador consta de cuatro fases para su
detección:
18
- Obtención del gradiente: se debe suavizar la imagen, aplicando un filtro
Gaussiano. Se calcula el kernel gaussiano para poder calcular el
gradiente. Se obtienen las componentes 𝑋 y 𝑌 del gradiente, y la magnitud
de los bordes. Además, se escoge la orientación de la norma de los
bordes.
19
1.2.3.2 “Umbralización”
20
límite antes de propagarse a otra neurona. Estos sistemas aprenden y se forman
a sí mismos, en lugar de ser programados de forma explícita, y sobresalen en
áreas donde la detección de soluciones o características es difícil de expresar
con la programación convencional. [15-21]
21
Figura 1.16: Ejemplo de neurona.
Una de las características que diferencian a las neuronas del resto de células
vivas, es su capacidad de comunicación. En términos generales, las dendritas y
el cuerpo celular reciben señales de entrada, el cuerpo celular las combina e
integra y emite señales de salida. El axón transporta esas señales a sus
terminales, los cuales se encargan de distribuir la información a un nuevo
conjunto de neuronas. Una neurona recibe información de miles de otras
neuronas y, a su vez, envía información a miles de neuronas más. Se estima que
en el cerebro humano existen en el orden de 1015 conexiones. El procesamiento
de información de esta máquina maravillosa es en esencia en paralelo. En la
Tabla 1.1 se muestra un análisis comparativo entre un computador secuencial
tipo Von Neumann y un sistema biológico neuronal. [15]
22
Instrucciones almacenadas en
Programas
Confiabilidad Muy vulnerable ante fallos Robusto ante fallos
Ambiente de Bien definido Puede ser ambiguo
operación
En la figura 1.17, las entradas 𝑥1, 𝑥2, . . . , 𝑥𝑛 simulan las dendritas y la salida
𝑓 , la señal que viaja a través del axón. Dependiendo de la función de activación
(en la figura 1.18 se pueden observar varios ejemplos) de la neurona, puede ser
lineal o no-lineal. Es decir, se genera un 𝑓 = 1 en la salida si:
23
Figura 1.18: Funciones de activación del tipo escalón, lineal o sigmoidal.
25
comparten el mismo tipo de información, por lo que formalmente se
denominan capas ocultas. Las neuronas de estas capas pueden estar
interconectadas de diferentes maneras, lo que determina, junto con su
número, las distintas arquitecturas de redes neuronales.
- Salida: conjunto de neuronas que transfieren la información que la red ha
procesado, hacia el exterior.
Figura 1.19: Estructura de una Red Multinivel con todas las Conexiones hacia
adelante.
26
Por esta razón no se considera formalmente como una capa, únicamente sirve
de interfaz entre los datos de entrada y las siguientes capas de neuronas. [15,16]
En este caso (ver figura 1.21), la red tiene un nivel de entrada con n neuronas
y una capa de salida de m neuronas; cuyo comportamiento es similar al descrito
en la red mono-capa. La diferencia sustancial, es que se incluye una nueva capa
intermedia entre la entrada y la salida. Esta última es la que se denomina “Capa
Oculta”, que está conformada por h neuronas. [15-17]
27
Como en el caso anterior, la información fluye en una única dirección, de la
entrada a la capa oculta y finalmente, a la capa de salida, además existe
conectividad total entre ellas. En la figura 1.21, aparece una única capa oculta,
pero una red puede tener más de una capa intermedia, la cual no tiene contacto
con los datos que modelan el mundo real, es decir, los datos de entrada y salida.
28
la figura 1.22(a), hay conexión desde la neurona 𝑗 − é𝑠𝑖𝑚𝑎, hacia las 𝒎
neuronas, menos a la misma neurona 𝑗 − é𝑠𝑖𝑚𝑎. [17, 21]
29
al estudio, la experiencia o la enseñanza. Este proceso da origen a cambios
permanentes, que son susceptibles de ser medidos y que, generalmente,
modifican el comportamiento del individuo.
31
Generalmente, en los procesos de aprendizaje se usa un conjunto de patrones
de entrenamiento, que está conformado por un conjunto de vectores de entrada
𝑿 y su correspondiente conjunto de vectores de salida 𝑫.
1
𝐸𝑝 = ∑𝑃𝑝=1 ∑𝐽𝑗=1(𝑑𝑝𝑗 − 𝑦𝑝𝑗)2 Ecuación 1.10
2𝑃
Donde:
𝑗: número de neuronas en la capa de salida
𝑝: números de patrones de entrenamiento
𝐸𝑝: error global
32
que permite obtener el conocimiento que se desea representar con la red. El
esquema de este tipo de aprendizaje se presenta en la figura 1.24. [21,22]
33
- Capacidad de generalización: Cuando se usan las redes neuronales
artificiales se necesita que ellas sean capaces de extender su respuesta
adecuada a eventos o datos que no han sido utilizados en la fase de
aprendizaje, a esta característica se le denomina generalización. Esta
propiedad de los humanos, permite extender un conocimiento adquirido
bajo ciertas circunstancias, a situaciones similares, pero no exactas. Esta
propiedad también la tienen las redes neuronales, si los datos son
representativos del problema. Lo que se busca es que la red aprenda la
relación entre la entrada y la salida usando algunos ejemplos y, luego, a
la red ya entrenada, si se le suministra un conjunto de entradas del mismo
contexto del problema, la salida generada debe ser la correcta.
34
- Aprendizaje Adaptativo: Aprenden a realizar algunas tareas gracias a un
proceso de entrenamiento utilizando ejemplos lo suficientemente
ilustrativos para ello, por lo que no se requiere de modelos a priori, del
sistema o problema que se desea solucionar. Pero el nivel de emulación
no se limita a este importante hecho, sino que las RNA son capaces de
modificar su propia estructura de pesos sinápticos para adaptarse a
nuevas situaciones que se presenten en el sistema y modifiquen su
desempeño. Visto desde otra perspectiva, una misma arquitectura de red
neuronal puede aprender diferentes problemas modificando su matriz de
pesos para adaptarse a las diferentes tareas que se le pedirá que sean
solucionadas.
35
simplicidad, se puede asegurar que la ejecución total de una red, se hace
en un tiempo lo suficientemente corto como para garantizar las
restricciones de tiempo real para aplicaciones típicas, como de filtrado,
control, identificación de sistemas, entre otras.
36
- Control: en las industrias hay procesos donde han sido usadas con éxito
las redes neuronales para el modelado y control de los mismos.
37
- Gestión de riesgos y desastres naturales (incendios, etc.)
- Exploración de lugares de difícil acceso: cuevas, precipicios, etc.
- Monitorización de sistemas de energía eólica.
- Filmación de películas y fotografía deportiva.
- Control medioambiental.
- Investigación de la vida salvaje.
- Movilidad y Tráfico.
- Control y análisis de multitudes: Manifestaciones, conciertos, etc.
- Agricultura.
Inconvenientes técnicos
- El enlace puede ser “hackeado” y de esta forma, romperse el canal de
comunicaciones entre el operador y el VA e interceptar sus datos.
- Retraso entre la emisión de instrucciones y su recepción, para su proceso
y ejecución, lo que en condiciones críticas puede ser fatal para el vehículo.
- Influencia en su funcionamiento por los fenómenos físicos, como la
actividad solar, mal tiempo, tormentas de rayos, la cual produce cambios
en la ionosfera.
- Capacidad de desplazamiento limitada por el tipo de combustible, fuente
de energía, tamaño, alcance y su sistema de navegación.
Inconvenientes éticos
- Su comercialización no controlada, traería como consecuencia el ser
adquirido por personas o grupos de dudosa ética.
39
- Algunas personas pueden ser grabadas y fotografiadas de forma ilegal,
tanto en espacios privados como públicos, constituyendo tal motivo una
seria amenaza a la inviolabilidad de la privacidad personal.
Desventajas económicas
- El alto coste de su adquisición (a gran escala) lo que dificulta
enormemente su uso para empresas privadas y compañías, pues es un
diseño relativamente nuevo en el desarrollo de la tecnología.
- Actuador: este bloque está compuesto por motores de DC, por motores
paso a paso, driver de control para los motores y leds.
40
- Bloque Transceptor: su función es establecer conexión para transmitir y
recibir información, como por ejemplo comandos para controlar CURIOSO
o los vectores que se envían a la aplicación en la PC.
1. Toma de la foto.
2. Envío de la misma segmentada en vectores hacia la PC.
3. Conformación de la imagen en la PC. Construyendo la matriz con los
vectores recibidos.
4. Procesamiento de la imagen, aplicación de filtrado.
5. Introducción de la imagen mejorada y simplificada a la red neuronal.
6. Muestra de los resultados en la PC.
41
Figura 1.26: Esquema de etapas de desarrollo para el procesamiento de la
imagen.
42
1.6 Conclusiones del capítulo
43
CAPÍTULO 2 PROCESADO DE LA IMAGEN Y DISEÑO DE LA RED
NEURONAL.
2.1 Introducción.
44
Figura 2.1: Imagen llevada a escala de grises.
45
Figura 2.3: Ejemplo de imagen convertida a escala de blanco y negro.
Como la base de datos que se utilizará para entrenar la red neuronal tiene las
imágenes de los números en color blanco con el fondo en negro, es necesario
invertir los valores de los ceros y los unos. El objetivo es transformar la imagen
a similitud de las imágenes que se utilizaron para entrenar, para que la
clasificación de la misma sea lo más certera posible. En la figura 2.4 se observa
una imagen que le fueron invertidos el blanco por el negro.
46
que no se pierda información necesaria o esencial. Para ello se utilizó la
interpolación del vecino próximo, que permite reducir la imagen perdiendo un
mínimo de información imprescindible.
2.3.1 Arquitectura
Donde la salida 𝒀𝒋 de una neurona j es una matriz que se calcula por medio de
la combinación lineal de las salidas 𝒀𝒊 de las neuronas en la capa anterior, cada
una de ellas operadas con el núcleo de convolución 𝑲𝒊𝒋 correspondiente a esa
conexión. Esta cantidad es sumada a una influencia 𝒃𝒋 y luego se pasa por una
función de activación 𝑔(∗) no-lineal.
49
Donde la salida 𝒚𝒋 de una neurona 𝒋 es un valor que se calcula por medio de
la combinación lineal de las salidas 𝒚𝒊 de las neuronas en la capa anterior, cada
una de ellas multiplicadas con un peso 𝒘𝒊𝒋 correspondiente a esa conexión. Esta
cantidad es sumada a una influencia 𝒃𝒋 y luego se pasa por una función de
activación 𝑔(∗) no-lineal.
2.3.5 Aplicaciones
2.3.6 Entrenamiento
50
Figura 2.6: Muestra de dígitos que se utilizaron en el entrenamiento de la
RN.
52
2- Se entrena la red neuronal convolucional con 10 000 imágenes, 1 000 de
cada dígito del 0 al 9. Se usan 750 imágenes de cada categoría para
entrenar y 250 para validar.
3- Se logra un porciento de aceptabilidad del 99.99% para las imágenes que
se usaron para entrenar y del 98.15% para imágenes que no se usaron ni
durante el entrenamiento, ni en la validación.
53
CAPÍTULO 3 DISEÑO DEL HARDWARE DEL VEHÍCULO AUTÓNOMO.
3.1 Introducción.
Una vez expuestos los requisitos y funciones del VA, se propone como solución
para el hardware, un circuito de procesamiento de la información, al cual se le
acopla un transceptor de radiofrecuencia para la comunicación. Las etapas se
pueden agrupar a manera de diagrama en bloques funcionales, tal como se
muestra en la figura 3.1.
54
Figura 3.1: Diagrama en bloques del vehículo autónomo.
- Voltaje de alimentación: 5𝑉 de DC
- Corriente de trabajo: 15 𝑚𝐴
55
- Rangos de distancia: 2 𝑐𝑚 a 400 𝑐𝑚
- Resolución: 0.3 𝑐𝑚
- Ángulo de medida: 30°
- Frecuencia de ultrasonido: 40 𝐾𝐻𝑧
𝑇𝑖𝑒𝑚𝑝𝑜 (𝜇𝑠)
𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎(𝑐𝑚) = Ecuación 3.1
29.2 𝑥 2
Tiempo de ida
Tiempo de retorno
El sensor cuenta con 4 pines: 𝑉𝑐𝑐, 𝑇𝑟𝑖𝑔, 𝐸𝑐ℎ𝑜 y 𝐺𝑛𝑑, los cuales se muestran
en la figura 3.3, así como la explicación del funcionamiento de los mismos.
56
Figura 3.3: Pines de conexión del HCR04 y explicación de los mismos.
57
Tabla 3.1 Terminales del módulo NRF24L01, su función y descripción.
# Nombre Función Descripción
1 𝐶𝐸 Entrada Digital Habilitación del chip, activa 𝑅𝑥 o 𝑇𝑥.
2 𝐶𝑆𝑁 Entrada Digital Selección del chip SPI
3 𝑆𝐶𝐾 Entrada Digital Reloj SPI.
4 𝑀𝑂𝑆𝐼 Entrada Digital Entrada de datos del esclavo SPI
5 Salida de dato del Esclavo SPI, con opción
𝑀𝐼𝑆𝑂 Salida Digital
de 3er. estado.
6 𝐼𝑅𝑄 Salida Digital Interrupción enmascarable. Activa en bajo.
7 𝑉𝐷𝐷 Alimentación Fuente de Alimentación (1.9 𝑉 ~ 3.6 𝑉 DC)
8 𝑉𝑆𝑆 Alimentación Tierra (0 𝑉)
Existen dos versiones de módulos que acoplan el NRF24L01, uno con antena
integrada en forma de zigzag con un alcance máximo de 90 a 100 metros, y la
versión de alta potencia que incorpora amplificador y antena externa, con un
alcance máximo de 700 a 1000 metros. En este trabajo se utiliza la versión de
antena integrada ya que su alcance es suficiente para que el vehículo establezca
comunicación con la red. En la siguiente tabla se muestra el consumo de
corriente del NRF24L01 en sus distintos modos.
Tabla 3.2 Consumo de corriente para los diversos estados del NRF24l01.
Parámetro Valor Unidades
en modo sleep 900 𝑛𝐴
en modo reposo 126 µ𝐴
en modo 𝑇𝑥 (0𝑑𝐵𝑚) 11.3 𝑚𝐴
Intensidad en modo 𝑅𝑥 a 2𝑀𝑏𝑝𝑠 13.5 𝑚𝐴
en modo 𝑅𝑥 a 1𝑀𝑏𝑝𝑠 13.1 𝑚𝐴
en modo 𝑅𝑥 a 250𝐾𝑏𝑝𝑠 12.6 𝑚𝐴
58
Este módulo (ver figura 3.5) se utilizará para comunicar a CURIOSO con un
celular o tableta, para casos donde el vehículo autónomo no posea comunicación
con la WSN o en tareas de mantenimiento. Este dispositivo se configura a través
de comandos AT desde un ordenador o cualquier dispositivo que posea una
comunicación en serie (𝑇𝑥/𝑅𝑥). A diferencia del módulo HC-06 (módulo de
bluetooth similar) tiene disponible el pin 𝐾𝐸𝑌, que permite ponerlo en modo de
configuración AT por lo que admite muchos más comandos; esto hace que pueda
cambiar entre modo esclavo y maestro, por lo que el HC-06 solo puede actuar
como esclavo. En el modo esclavo es el dispositivo el que se conecta al módulo,
mientras que en modo maestro es el módulo el que se conecta con un
dispositivo. [28] En la tabla 3.3 se describen brevemente los pines de este
módulo.
59
- Frecuencia: 2.4𝐺𝐻𝑧 banda ISM.
- Potencia de transmisión: 4 𝑑𝐵𝑚, Clase 2.
- Sensibilidad: −84 𝑑𝐵𝑚 en 0.1% BER.
- Velocidad asíncrona: 2.1𝑀𝑏𝑝𝑠 (𝑀á𝑥. ) / 160 𝑘𝑏𝑝𝑠.
- Velocidad síncrona: 1𝑀𝑏𝑝𝑠/1𝑀𝑏𝑝𝑠.
- Seguridad: Autentificación y encriptación.
- Alimentación: +3.3 𝑉 DC 50 𝑚𝐴.
- Temperatura de trabajo: – 5 ~ + 45 º𝐶.
- Distancia bluetooth: 10 𝑚.
El módulo OV7670 (ver figura 3.6) proporciona imágenes y video digital. Puede
funcionar con sistemas como Arduino, Raspberry Pi entre otros.
Este módulo posee un sensor de imagen CMOS VGA OV7670, fabricado por
Omnivision, capaz de trabajar a un máximo de 30 𝑓𝑝𝑠 (cuadros por segundo) a
una resolución de 640 𝑥 480 píxeles. Es un SoC (sistema en chip) por lo que se
puede realizar procesamiento de imágenes, como: control de exposición gamma,
balance de blancos, saturación de color, control de tono. Estos parámetros son
configurables mediante la interfaz SCCB (Bus de Control de Cámara Serial). El
sensor incluye filtros propios de eliminación de ruido eléctrico, fixed pattern
noise(FPN), smearing, blooming, etc. [29]
60
Especificaciones Técnicas:
Funcionalidades:
61
- Parámetros configurables: Saturación de color, Tono, gamma, sharpness
(mejora de bordes) y anto-blooming.
- ISP incluye reducción de ruido y corrección de defectos.
- Compatible con luz LED y strobe
- Soporta escalamiento
- Corrección de sombra de lente.
- Autodetección de Flicker (50/60 𝐻𝑧)
- Autoajustes de nivel de saturación (𝑈𝑉)
3.3.5 Servomotores
62
Se podría decir que un servomotor es un motor, pero con características
especiales. La principal propiedad es que cuenta con un sistema de
realimentación (“encoder”), el cual le indica al servo drive (controlador del
servomotor) la posición en la que se encuentra el eje del servomotor y le corrija
la posición, en caso que no fuese la correcta. De este modo, puede enmendar
(en tiempo real) los errores de posición, y obtener una muy alta precisión. En la
figura 3.7 se puede observar un ejemplo de servomotor. [30]
3.3.5.1 Características
63
𝑇=𝐼∗𝑎 Ecuación 3.2
Donde:
𝑇: torque (newton-metro 𝑁𝑚)
𝐼: momento de inercia (kilogramo-metro cuadrado kg-𝑚2 )
𝑎: aceleración angular (radián por segundo al cuadrado rad/𝑠𝑒𝑔2 )
En esta relación, se logra ver que, para una aceleración mayor con el mismo
nivel de carga, se precisaría más torque para poder mover la misma carga. En
la figura 3.8 se pueden observar las curvas del torque de un servomotor.
3.3.5.2 Funcionamiento
64
Para ello, existen distintos métodos de control. El más común y utilizado (por
su sencillez) es el control por pulso y frecuencia. Por lo general, se habla de
milímetros, pulgadas, metros, etcétera, pero el servo-drive no entiende qué
significan estas magnitudes, ya que solo interpreta los pulsos que recibe y con
qué velocidad los recibe (frecuencia).
Suponiendo que el sistema mecánico avanza cien milímetros (por cada vuelta
del motor) y el motor da una vuelta cada mil pulsos recibidos, o sea, que, si le
entregan mil pulsos al servo-drive, desde un controlador superior como puede
ser un controlador lógico programable, el motor hará que la carga avance cien
milímetros. Ahora bien, si precisamos que avance doscientos milímetros (200
mm), se tendrían que enviar dos mil pulsos al servo drive. De este modo, se
estará controlando la posición del servomotor de una manera muy sencilla.
Por otro lado, solo haría falta controlar la velocidad del servomotor. Esta tarea
es simple, porque únicamente se necesita modificar la frecuencia con la que se
entregan los pulsos. Si la frecuencia con la que se generan los pulsos es mayor,
la carga logrará la posición deseada rápidamente. A diferencia, si la frecuencia
es menor, la carga tardará más tiempo en alcanzar la posición. De esta manera,
se logra controlar un servomotor con tan solo una línea de programación,
consiguiendo toda la precisión y velocidad que el servo puede brindar.
Este módulo basado en el chip L298N permite controlar un motor paso a paso
bipolar de hasta 2 amperes. El módulo cuenta con todos los componentes
necesarios para funcionar sin necesidad de elementos adicionales, entre ellos
diodos de protección y un regulador LM7805 que suministra 5𝑉 a la parte lógica
del integrado L298N. Cuenta con “jumpers” de selección para habilitar cada una
de las salidas del módulo (A y B). Como se aprecia en la figura 3.9, la salida A
está conformada por OUT1 y OUT2 y la salida B por OUT3 y OUT4 y los pines
de habilitación son ENA y ENB respectivamente. En la parte inferior se
encuentran los pines de control del módulo, marcados como IN1, IN2, IN3 e IN4.
[31]
65
Figura 3.9: Driver L298N.
66
funcionando, se conecta el pin de +5 𝑉 a una tensión de 5 𝑉 para alimentar la
parte lógica del L298N. Usualmente esta tensión es la misma de la parte de
control, ya sea un microcontrolador o Arduino. El fabricante recomienda nunca
conectar una tensión de entrada al pin de + 5 𝑉, cuando el jumper de selección
de 5 𝑉 se encuentre activado. Esto provocaría un corto y podría dañar
permanentemente el módulo. [31]
Características técnicas:
Los motores paso a paso pueden ser bipolares o unipolares. En este trabajo
se utilizó un motor paso a paso bipolar, sin embargo, este driver es capaz de
controlar un motor paso a paso unipolar si se conecta en configuración bipolar,
obviando los cables del tap-central de las bobinas del motor. El máximo consumo
permitido es de 2 amperios. En la figura 3.11 se muestra en el esquema de
conexión.
67
Figura 3.11: Esquema de conexión utilizando un Arduino Uno.
68
escobillas o carbones al entrar en contacto con las delgas. Algunas aplicaciones
especiales de estos motores son los motores lineales, cuando ejercen tracción
sobre un riel, servomotores y motores paso a paso.
Donde:
𝐹: Fuerza en newtons
𝐼: Intensidad que recorre el conductor en amperios
𝐿: Longitud del conductor en metros
𝐵: Densidad de campo magnético o densidad de flujo teslas
𝜑: Ángulo que forma I con B
Este módulo basado en el chip L298N permite controlar hasta dos motores de
corriente continua. Como demostración en la figura 3.12, se conecta un motor de
DC a través de la salida B del módulo. El pin ENB se conecta con el jumper a
+ 5 𝑉.
69
Si se desea controlar la velocidad del motor se aplica el PWM a los pines de
activación de cada salida o pines ENA y ENB respectivamente, por tanto, los
“jumpers” de selección no serán usados, como se muestra en la imagen 3.13.
70
Figura 3.14: Módulo de relés.
71
cuando el transistor del optoacoplador conduce al ser “iluminado” por su diodo,
con lo que se introduce corriente en la base de Q1 a través de R2. Finalmente,
Q1 está conectado en una típica configuración emisor común, con su emisor a
masa (GND) y la bobina del relé como carga en el colector. Cuando circula
corriente por la base desde el opto, Q1 se satura permitiendo el paso de la
corriente a través de la bobina del relé, lo que produce que se cierren los
contactos del mismo (común con normal abierto). El diodo D1 protege al
transistor de la tensión que aparece en la bobina del relé cuando deja de circular
corriente por la misma. En síntesis, al ponerse la entrada a nivel BAJO se lleva
a la saturación el transistor Q1 a través del optoacoplador con lo que se cierra el
contacto normal abierto del relé. [32]
72
el microcontrolador Atmega 82U/16U2 ICSP ya que cumple con las necesidades
y es de costo reducido. Además, se puede encontrar en una placa Arduino
MEGA lo que facilita la interconexión con los sensores, actuadores, los sistemas
de comunicación inalámbricos y la cámara.
El Arduino MEGA que se muestra en la figura 3.16, es una placa que posee
como procesador un microcontrolador Atmega 82U/16U2. Cuenta con 54 pines
de entrada/salidas digitales, de los cuales 16 pueden ser PWM (Pulse-Width
Modulation), con 16 entradas analógicas y un oscilador de 16 𝑀𝐻𝑧. Se alimenta
con 5 𝑉, ya sea por baterías o adaptadores de corriente directa. Posee un botón
de reinicio y puede conectarse directamente con la PC por medio de un cable
USB. Sus 70 terminales de entrada/salida soportan cargas de corriente de hasta
20 𝑚𝐴. [33]
73
Figura 3.17: a) Diagrama de conexión. b) Diagrama esquemático de conexión.
3.4.3 Servomotor
74
Figura 3.19: a) Diagrama de conexión. b) Diagrama esquemático de conexión.
3.4.4 Motores de DC
Por no contar con las cantidades necesarias de Driver L298N, se tiene que
incorporar al diagrama un módulo de relés. Como se observa en la figura 3.21
aparece la conexión entre el Módulo de Relés, el Motor de DC y el Arduino
MEGA.
75
. Figura 3.21: Diagrama esquemático de conexión.
76
sistema con dos relés y una lógica bastante simple. En la figura 3.23 se puede
observar el diseño de este sistema.
77
CAPÍTULO 4 DISEÑO DEL SOFTWARE DEL VA.
4.1 Introducción.
78
3- Una aplicación para el sistema operativo Windows y Android, a través de
la cual el usuario ejecuta acciones específicas sobre el VA, puede
observar el comportamiento del mismo y ver los datos recolectados por
esta. Dicha información se le envía o recibe por vía NRF24L01 o
bluetooth.
79
Figura 4.1: Diagrama de flujo del primer proceso.
80
1- Se inicia con la inclusión de las bibliotecas y la declaración de las
funciones que se utilizarán.
2- Se procede a la declaración e inicialización de las variables globales y
la inicialización de los sensores.
3- Se configuran las entradas y salidas del Arduino.
4- Se configura la interrupción que atenderá la recepción por RF.
5- Se realiza la configuración del módulo de radio frecuencia NRF24L01.
Se crean los dos canales, uno para transmisión (𝑇𝑥) y otro para la
recepción (𝑅𝑥). Además, se define la cantidad de intentos a realizar
cuando la información a enviar no llega correctamente a su destino, así
como el intervalo de tiempo entre un intento y otro. También, se configura
al módulo en modo 𝑅𝑥 para recibir cualquier información.
82
También, se configura al módulo en modo 𝑅𝑥 para recibir cualquier
información.
Requerimientos técnicos:
En las figuras 4.3 y 4.4 se puede observar la ejecución de esta interfaz dando
cumplimiento a las tareas planteadas.
84
Figura 4.4: Interfaz que muestra el pequeño radar.
85
descarga y se instala en un dispositivo Android o también se puede probar en el
emulador que proporciona App Inventor [34,35].
Requerimientos técnicos:
En las figuras 4.5, 4.6, 4.7, 4.8 y 4.9 se puede observar la realización de esta
interfaz. Para el icono de la aplicación se seleccionó el cuerno de la abundancia
(como se puede observar en la figura 4.5), porque representa las metas de este
proyecto: que es lograr una mejor producción de alimentos.
En la ventana inicial (figura 4.6) se puede observar una imagen del cuerno de
la abundancia, además de los logos de la CUJAE, la Facultad de
Telecomunicaciones y Electrónica, y el CIME (Centro de Investigaciones en
86
Microelectrónica) que fueron las identidades presentes en la realización de este
proyecto. Así como dos botones una para salir de la aplicación y otro para iniciar.
En la segunda pantalla (figura 4.7) que aparece una vez se oprime el botón de
inicio, se le brinda la opción al usuario de autentificarse. Esto, para prevenir que
personal no autorizado pueda controlar el vehículo autónomo.
87
Figura 4.7: Sección de identificación.
88
Una vez escrito el usuario y la contraseña correcta la app remitirá para la cuarta
pantalla (figura 4.9). En esta, primero hay que pulsar el botón conectar con
CURIOSO, para establecer la comunicación con el vehículo vía bluetooth.
Después ya estará todo listo para controlar el vehículo de forma manual.
90
CAPÍTULO 5 RESULTADOS EXPERIMENTALES DEL RECONOCIMIENTO
DE IMÁGENES OBTENIDAS POR VEHÍCULOS AUTÓNOMOS.
5. 1 Introducción.
Este capítulo tiene como objetivo verificar las funcionalidades esenciales del
reconocimiento de imágenes obtenidas por CURIOSO. La comprobación se
realizó integrando el hardware junto con el software que lo complementa y
habilita, para cumplir con los requisitos fundamentales del sistema. En la
comprobación experimental del sistema se utiliza el VA y el software hecho para
el control del mismo, así como el programa para el procesamiento de las
imágenes con el objetivo de demostrar que el sistema realiza las funciones
fundamentales para las que fueron creados.
El NRF24L01 cuenta con una antena de tipo PAFI (por sus siglas en inglés,
Planar Inverted F Antenna), como se puede observar en la figura 5.1. Pero en
las pruebas prácticas realizadas con los nodos para establecer la comunicación
de los mismos, estas tuvieron un desempeño bastante malo. Teniéndose que
direccionar demasiado los nodos, además, son incapaces de detectar a los
nodos que se encuentran en dirección contraria de donde apunta la antena. [36]
Este último elemento es un impedimento para este proyecto puesto que es
necesario que la comunicación entre él VA y la red pueda realizarse en todo
momento y en cualquier posición en que se encuentre CURIOSO. Debido a
estos impedimentos se decidió modificar la antena del NRF24L01.
91
Para lograr esto se decidió utilizar los cambios que se realiza al NRF24L01 en
[36], donde se propone modificar la antena y convertirla en un dipolo simple. En
la figura 5.2, se pueden observar las mejoras introducidas transceptor en
conceptos de direccionalidad. Cabe destacar que los cambios realizados no
afectan el alcance, ni la velocidad de transmisión.
1- El alcance de los NRF24L01 se mantuvo igual, entre los 100 m y los 120
m con visibilidad directa. Aproximadamente el mismo alcance reflejado en
la hoja de datos (100 m). Y entre 30 y 60 metros con obstáculos, por lo
que es muy importante que la red que usa curioso no presente puntos
ciegos de cobertura.
92
2- La velocidad se mantuvo sin variaciones; para los dos modos de trabajo
utilizados a 1 𝑀𝑏𝑝𝑠 y 2 𝑏𝑀𝑝𝑠.
3- La altura necesaria para establecer la comunicación disminuyó desde los
2 m (para el NRF sin modificar), hasta los 1.2 m (para el NRF modificado).
En el caso de CURIOSO la antena se encuentra a unos 20 cm del suelo,
aun así, se mantuvo la comunicación, solo con un ligero aumento del
renvió de los mensajes.
4- Aumento del renvío de los datos, los cuales se incrementaron ligeramente
pasando de 1 renvió cada 100 transmisiones a 9 renvió cada 100
transmisiones. Aunque estos resultados no comprometen la funcionalidad
del proyecto ya que la velocidad de comunicación entre el VA y la red es
lo suficientemente rápida como para soportar este incremento de reenvío
de los mensajes.
Este modo de manejo se ideó para el control del vehículo a la hora de darle
mantenimiento o en el traslado a un lugar determinado donde la red no está
presente. Las pruebas realizadas arrojaron los siguientes resultados:
95
simple. Esto no se hizo porque se consideró que para el método de trabajo
por esta vía eran más que suficiente con esas prestaciones.
Para cumplir con el objetivo de que el VA posea una buena autonomía y pueda
realizar todas sus tareas durante el día se sometió a una serie de pruebas para
medir su consumo. Obteniendo los siguientes resultados:
96
2- El consumo activo (en movimiento, moviendo el servomotor de la cámara
y tomando fotos) osciló entre los 678.23 𝑚𝐴 y los 790.65 𝑚𝐴. Para un
promedio de 733.98 𝑚𝐴.
3- El VA, utilizando una batería de 12𝑉, 4500 𝑚𝐴ℎ y trabajando a máximo
consumo obtuvo una autonomía de aproximadamente unas 6 horas. Esto
combinado con la lógica de carga del panel solar y teniendo en cuenta
que la vida útil de estas baterías es de unos dos años, se puede asumir
que el VA puede trabajar un mínimo de 6 horas diarias y dependiendo del
estado del tiempo alargar durante unas 7 horas. Siempre y cuando la
batería se cargue diariamente.
97
Tipo Cantidad Precio/Unidad Precio Total
Driver L298N 4 4.5 € 18.0 €
Subtotal 18.0 €
Otros Implementos
Tipo Cantidad Precio/Unidad Precio Total
LED (rojo) 1 0.26 € 0.26 €
LED (verde) 1 0.26 € 0.26 €
7805 1 0.5 € 0.5 €
Capacitor (1µF) 1 1.4 € 1.4 €
Capacitor (0.1µF) 1 1.4 € 1.4 €
Relé (12 V de DC) 2 8.33 € 16.66 €
Batería (12 V de DC) 1 16.6 € 16.6 €
Panel Solar (12V de DC) 1 79.81 € 79.81 €
Diodo 4 0.3 € 1.2 €
Fusibles 2 0.25 € 0.5 €
Subtotal 118.59 €
Software
Tipo Precio Instalación Precio Total
SRR v1.2(para Windows) 20 € 5€ 25 €
SRR v1.2(para Android) 10 € 5€ 15 €
Subtotal 40 €
Instalación
Tipo Precio
Instalación y conexión de los elementos. 1500 €
Documentación, puesta en marcha, entrega al usuario. 200 €
Subtotal 1700 €
Total 1899.83€
98
5.7 Conclusiones del Capítulo.
99
CONCLUSIONES
100
RECOMENDACIONES
1. Realizar otro grupo de pruebas en una zona rural que se asemeje más a
las condiciones donde se trabajará.
2. Aumentar las prestaciones de las aplicaciones en Windows y Android,
logrando que sea aún más amigable y sencilla de operar.
3. El cambio del módulo de la cámara (OV7670) por otro más sencillo de
operar, más rápido y que utilice menos pines de Arduino para poder
realizar un futuro aumento de las prestaciones del VA.
4. Aumentar el número de pruebas a la red neuronal. Así como el
entrenamiento de otra, que permita la clasificación de al menos 10 plagas.
5. Buscar componentes de bajo consumo para aumentar la autonomía del
VA.
101
BIBLIOGRAFIA
102
[14]. Acharya, T., A. K. Ray. Image Processing. Principles and Applications.
ISBN-13 978-0-471-71998-4, USA: John Wiley & Sons, 2005.
[15]. Gonzalez, R. C., R. E. Woods. Digital Image Processing Using MATLAB.
ISBN 81-7758-898-2, USA: Pearson Educational, 2006.
[16]. Dr. Sergio Ledesma, Las Redes Neuronales implementación y
consideraciones prácticas. México: MICAI, 2018.
[17]. Eduardo Francisco Caicedo B., Jesús Alfonso López S., UNA
APROXIMACIÓN PRÁCTICA A LAS REDES NEURONALES ARTIFICIALES.
Santiago de Cali, Colombia: Programa Editorial Universidad del Valle, 2017.
[18]. Dr. Juan Carlos Cuevas Tello, Apuntes de Redes Neuronales Artificiales
Handouts for Artificial Neural Networks. Universidad Autónoma de San Luis
Potosí, 2017.
[19]. Khoshhal A, Dakhel AA, Etemadi A and Zereshki S. Artificial Neural Network
Modeling of Apple Drying Process. Journal Food Process Engineering, 2010.
[20]. Lin WC and Hill BD. Neural network modelling to predict weekly yields of
sweet peppers in a commercial greenhouse. Can. J. Plant Sci., 2008.
[21]. Zu-iga A, Mora M, Oyarce M and Fredes C Grape maturity estimation based
on seed images and neural networks. Engineering Applications of Artificial
Intelligence, 2014.
[22]. Zarifneshat S, Rohani A, Ghassemzadeh HR, Sadeghi M, Ahmadi E and
Zarifneshat M. Predictions of apple bruise volume using artificial
neural network. Computers of Electronics in Agriculture, 2012.
[23]. Daniel Santiago Cañadas Ortiz, «DISEÑO DE UN ALGORITMO MEDIANTE
REDES NEURONALES PARA EL CONTROL DE UN VEHÍCULO EN LÍNEA
RECTA», Universidad Internacional SEK, 2019.
[24]. Flores, M., Proaño, A. Evolución Artificial y Robótica Autónoma desarrollada
en el Robot P3-DX con Aproximación basada en Comportamientos. Sangolquí:
ESPE, 2013.
[25]. Díaz, J. (2015). Estudio de Índices de vegetación a partir de imágenes
aéreas tomadas desde UAS/RPAS y aplicaciones de estos a la agricultura de
precisión.
[26]. Rodarte D. J., Paz G., Pérez B. R,” Red de detectores pasivos infrarrojos
enlazados por radiofrecuencia, como sistema de alarma de seguridad de bajo
costo” Universidad Autónoma de Ciudad Juárez. ISSN: 1692-7257 _Volumen 2
103
[27]. Nordic Semicondutor, "Datasheet: nRF24L01 Single Chip 2.4GHz
TransceiverProduct Specification",2007.
[28]. Semiconductor, "Product Datasheet: HC-05 y HC-06".2014.
[29]. Semiconductor, "Product Datasheet: OV7670".2016.
[30]. Servo motor SG90, "Datasheet: SG90".2008.
[31]. Semiconductor, "Product Datasheet: L298N".2018
[32]. Nordic Semicondutor, "Datasheet: Module of Relay",2017.
[33]. Arduino Mega (USA ONLY), 2014[Citado en: mayo de 2019].
[34]. Fajardo Márquez Ariel, Máster en Diseño de Sistemas Electrónicos,
«DISEÑO E IMPLEMENTACIÓN DE UN PROTOTIPO DE SISTEMA
DOMÓTICO BÁSICO», Universidad Tecnológica de La Habana «José Antonio
Echeverría», la Habana, Cuba, 2018.
[35]. App Inventor <<appinventor.mit.edu/explore>> [Citado en: junio de 2019].
Disponible:http://appinventor.mit.edu/explore/ai2/support/blocks.html.
[36]. Mario Manuel Rivera López, «Diseño e implementación de una red de
sensores auto-configurable utilizando transceptores NRF24L01.», ISPJAE, La
Habana, CUBA, 2020.
104
105