Dre Sat FG 0620 Memoria
Dre Sat FG 0620 Memoria
Junio 2020
Esta obra está sujeta a una licencia de
Reconocimiento-NoComercial-
SinObraDerivada 3.0 España de Creative
Commons
FICHA DEL TRABAJO FINAL
The aim of the project is the development of a quadruped robot with wireless
control through WIFI connection.
The system is based on the embedded system MSP432 produced by Texas
Instruments, which is improved with connectivity through the expansion board
CC3100 built by the same company, additionally there are different sensors
included to acquire relevant data from the environment.
The final product includes a physical structure with four legs with three degrees of
freedom each, which by parameterization of the relative positions of the
servomotors, it can move in various defined configurations.
Through an Android application for mobile devices, the user has the possibility to
choose among various operating modes or perform manual control, while viewing
the parameters of the sensors incorporated in the robot.
Development has followed a project methodology in order to split the different
single tasks into concrete and fully documented phases, with temporary and risk
evaluation
The result has been a fully functional prototype that meets the design
specifications
Índice
1. Introducción.................................................................................................. 1
1.1 Contexto y justificación del trabajo ............................................................ 1
1.2 Descripción del trabajo .............................................................................. 1
1.3 Objetivos del TFG ..................................................................................... 2
1.4 Requerimientos del producto ..................................................................... 2
1.5 Enfoque y método seguido ........................................................................ 3
1.6 Planificación del trabajo............................................................................. 4
1.6.1 Definición fases del proyecto ............................................................ 4
1.6.2 Planificación alto nivel del proyecto. ................................................. 5
1.6.3 Desglose de tareas. .......................................................................... 6
1.6.4 Planificación de riesgos .................................................................... 7
1.6.5 Desviaciones sobre la planificación. ................................................. 7
1.7 Recursos empleados ................................................................................. 9
1.7.1 Recursos de propósito general. ........................................................ 9
1.7.2 Recursos de Software. .................................................................... 10
1.7.3 Recursos de Hardware. .................................................................. 10
1.8 Productos obtenidos ................................................................................ 14
1.9 Breve descripción de los otros capítulos de la memoria.......................... 16
2. Antecedentes .............................................................................................. 17
2.1 Estado del arte ........................................................................................ 17
2.2 Estudio de mercado ................................................................................ 19
3. Descripción funcional ................................................................................ 21
3.1 Robot cuadrúpedo con control inalámbrico ............................................. 21
3.1.1 Descripción del sistema. ................................................................. 21
3.1.2 Diagrama funcional de alto nivel ..................................................... 21
3.1.3 Protocolo de comunicaciones. ........................................................ 22
3.2 Modulo Robot .......................................................................................... 24
3.2.1 Estructura física. ............................................................................. 24
3.2.3 Estructura de software embebido. .................................................. 26
3.3 Modulo aplicación cliente ........................................................................ 27
3.3.1 Interfaz de usuario. ......................................................................... 28
3.3.2 Estructura de software App Android. .............................................. 29
4. Descripción detallada ................................................................................ 30
4.1 Estructura física ....................................................................................... 30
4.1.1 Estudio físico del sistema................................................................ 30
4.1.2 Definición de orden de marcha. ...................................................... 32
4.2 Módulos de hardware .............................................................................. 36
4.2.1 Esquema general. ........................................................................... 36
4.2.2 Alimentación. .................................................................................. 37
4.2.3 Movilidad. ........................................................................................ 38
4.2.4 Periféricos ....................................................................................... 38
4.2.5 Control. ........................................................................................... 39
4.3 Módulos de software sistema embebido ................................................. 40
4.3.1 Estrategia modular en tiempo real .................................................. 40
4.3.2 Modulo control ................................................................................ 41
4.3.3 Modulo comunicaciones.................................................................. 43
4.3.4 Modulo movimientos ....................................................................... 44
4.3.5 Modulo temperatura ........................................................................ 45
4.3.6 Modulo distancia ............................................................................. 46
4.3.7 Modulo iluminación ......................................................................... 47
4.3.8 Modulo pantalla ............................................................................... 47
4.3.9 Modulo sonido................................................................................. 48
4.4 Módulos de software aplicación Android ................................................. 49
4.4.1 Interfaz gráfica. ............................................................................... 49
4.4.2 Modulo envío órdenes. ................................................................... 49
4.4.3 Modulo recepción información. ....................................................... 50
5. Viabilidad técnica ....................................................................................... 51
6. Valoración económica ............................................................................... 52
6.1 Coste fabricación prototipo. ..................................................................... 52
6.2 Escenario de producción en masa y comercialización. ........................... 52
7.Conclusiones ............................................................................................... 54
7.1 Lecciones aprendidas.............................................................................. 54
7.2 Autoevaluación. ....................................................................................... 54
7.3 Líneas de trabajo futuras ......................................................................... 55
8. Glosario ....................................................................................................... 56
9. Bibliografía.................................................................................................. 57
10. Anexos ...................................................................................................... 58
10.1 Datos técnicos Servomotor SG90 ......................................................... 58
10.2 Datos técnicos AMS1117 ...................................................................... 59
10.3 Datos técnicos UBEC 8A....................................................................... 60
10.4 Datos técnicos Sensor HC-SR04 .......................................................... 61
10.5 Datos técnicos DHT11........................................................................... 62
10.6 Datos técnicos KY018 ........................................................................... 63
10.7 Datos técnicos LCD1602 ....................................................................... 64
10.8 Esquema eléctrico ................................................................................. 65
10.9 Modulo software Android ....................................................................... 66
Lista de figuras
El presente capítulo desarrolla los conceptos generales del proyecto que se aborda, desde los
hechos que han motivado su realización, pasando por los objetivos y enfoque seguido, hasta los
puntos generales de planificación y gestión del producto a conseguir.
Además de los elementos de software y hardware que incluye cualquier sistema IoT, es
necesario evaluar otro tipo de factores físicos que intervienen en el desarrollo, como resistencia
de materiales, torque y velocidad de los servomotores, control del centro de gravedad, puntos de
estabilidad y orden de marcha, por nombrar algunos de ellos.
Hoy en día es muy común ver todo tipo de drones o sistemas terrestres basados en plataformas
con ruedas debido a los bajos precios y sencillez de uso, pero todavía no es tan común el uso
de dispositivos que son capaces de adaptarse a la orografía y superar barreras arquitectónicas,
que en función de sus características pueden cubrir necesidades también muy interesantes.
El producto final desarrollado consiste en un robot cuadrúpedo que se mueve libremente por
superficies y a su vez recoge datos del entorno para poder interactuar en tiempo real, todo el
sistema es controlado desde un dispositivo móvil para dotar al sistema de total independencia.
Dentro de la configuración básica del sistema se definen varios modos de funcionamiento, tanto
manuales como automáticos, fácilmente ampliables en futuras actualizaciones de software, así
como el control y monitorización de variables físicas del entorno
El proyecto se puede dividir en tres grandes bloques, basados en la estructura física del robot,
integración de hardware y desarrollo de software con las funcionalidades previstas en el alcance
del prototipo.
1
Con relación a la estructura física, el esqueleto se basado en modelos 3D de terceros, disponibles
en repositorios en la red, al que se han realizado las modificaciones necesarias para integrar los
elementos de hardware previstos y con el objetivo de que el sistema sea lo más ligero posible
para minimizar problemas de estabilidad y compatibilizarlo con el funcionamiento de los
servomotores seleccionados.
Como resultado del análisis y descripción del proyecto se definen los siguientes objetivos
generales del proyecto:
1
Entorno de desarrollo Code Composer Studio, disponible en http://www.ti.com/tool/CCSTUDIO
2
Entorno de diseño aplicaciones Android desarrollada por MIT, disponible en línea https://appinventor.mit.edu/
2
o Automático: El robot deambulara de forma aleatoria detectando y evitando
obstáculos.
o Reacción a movimiento: El robot reaccionara a la detección de presencia en el
campo de acción del sensor volumétrico
o Reacción a iluminación: El robot reaccionara a la detección de incrementos de
iluminación en el campo de acción del sensor.
o Manual: Se realizarán movimientos indicados a través app en dispositivo móvil.
Existen diversas estrategias para el desarrollo del objetivo, pero se estima que para obtener un
resultado optimo en cuanto a costes y tiempo la mejor estrategia es intentar aprovechar los
elementos disponibles en el mercado, en vez de desarrollar desde cero los elementos que lo
componen, un enfoque muy acorde con la situación de mercado actual y en línea con las nuevas
tendencias de Fast-innovation3.
Una vez definido el alcance del proyecto, se plantea un enfoque en cuatro grandes bloques,
claramente diferenciados, que se enumeran a continuación y se planifican en los siguientes
puntos siguiendo una temporización que permita la ejecución en paralelo de algunas actividades.
- Estudio teórico del proyecto, donde se definen las funcionalidades y se identifica que
elementos de hardware y software serán necesarios, la estructura física donde ira
implementado y los efectos físicos implicados, así como la planificación temporal y
económica para evaluar si podrá ser alcanzable.
- Desarrollo estructura física, partiendo de la idea teórica, se localiza y adapta una estructura
compatible con la finalidad del objetivo, para lo cual se aprovechan desarrollos de terceros
reduciendo los tiempos de implementación.
3
Estrategias de innovación rápida, https://paugarciamila.video/conferencia-pau-garcia-mila-tedx-esade-fast-innovation/
3
bloques de hardware que cumplen con los requerimientos, también se estima conveniente el
uso de bloques ya existentes en vez de desarrollarlos desde cero por la complejidad de estos.
- Desarrollo de software, teniendo en cuenta en los elementos anteriores y con el foco en los
objetivos a conseguir se desarrolla el software necesario para que el sistema realice de la
forma más eficiente posible las funciones definidas, teniendo en cuenta siempre un sistema
basado en ejecución en tiempo real y con planteamiento modular que pueda soportar un
horizonte de ampliación de funcionalidades.
Dentro del método de trabajo definido se establecen varias fases de desarrollo y pruebas
funcionales sobre plataforma de software en primera instancia y sobre la plataforma física
posteriormente ya que pueden existir potenciales desviaciones al llevar al mundo real los
diferentes módulos.
Para lograr los objetivos marcados realiza el siguiente desglose en tareas, divididas en las
distintas fases del proyecto.
Fase 0
- Investigación y planificación del proyecto.
- Búsqueda de documentación teórica y técnica.
- Selección de materiales y componentes.
- Selección de plataformas de desarrollo.
Fase 1
- Montaje de estructura física y hardware
- Parametrización teórica de movimientos de un cuadrúpedo.
- Planificación de sistema basado en RTOS
- Diseño rutinas gestión de elementos de hardware para movimiento
- Diseño rutinas gestión de elementos de hardware para monitorización variables físicas
- Diseño rutinas gestión de elementos de hardware para envío respuestas externas
4
Metodología de desarrollo de proyectos que requieran flexibilidad y rapidez, https://www.scrum.org/
4
Fase 2
- Diseño rutinas gestión de conexión inalámbrica y colas de mensajes.
- Creación de modo básico de funcionamiento
o Automático: Deambulando de forma aleatoria y evitando obstáculos
- Control inalámbrico por conexión WIFI a través de App en dispositivo móvil.
o Monitorización eventos a través de App
o Modo manual: Atendiendo a las instrucciones dadas desde el dispositivo móvil
o Selección de modos de funcionamiento a través de App
Fase 3
- Modo reacción movimiento: Detección de presencia y reacción a ella.
- Modo reacción iluminación: Detección de iluminación y reacción a ella.
- Alarmas sonoras relacionadas con eventos.
- Visualización en pantalla del prototipo de información monitorizada y otros eventos.
Fase 4
- Documentación del proyecto
Fase 5
- Presentación y defensa del proyecto
Una vez definidas las fases del proyecto se realiza una planificación a alto nivel de los recursos
necesarios para completar cada una de las fases.
5
1.6.3 Desglose de tareas.
Relacionadas con las distintas fases del proyecto se plantea una lista de tareas definidas a
completar en cada una de ellas.
Recursos Recursos
Hito Descripción Tipo %
plan reales
Fase 0 Selección proyecto Documentación 2 2 100%
Investigación Documentación 18 18 100%
Planificación Documentación 10 10 100%
Documentación Documentación 30 30 100%
6
1.6.4 Planificación de riesgos
Se realiza el análisis de los riesgos más comunes a la hora de desarrollar un proyecto, los
desarrollos principales están basados en software y los riesgos más notables pueden sobrevenir
por problemas en la planificación temporal y disponibilidad de recursos para la ejecución del
proyecto.
Para esto se realiza la evaluación mediante una matriz que combina probabilidad de ocurrencia
e impacto en el proyecto.
De acuerdo con esta definición se procede a evaluar los riesgos con detalle de las acciones y
resultado en caso de producirse.
Dentro del desarrollo del proyecto se han podido finalizar todos los objetivos planificados, pero
se han detectado problemas relacionados con la definición inicial, en los que ha sido necesario
tomar decisiones sobre cambios en el alcance del proyecto, para que continúe siendo viable, no
ha provocado una merma de calidad en el producto entregado, pero ha supuesto un aumento
7
del tiempo de desarrollo el cual ha sido asumido mediante el tiempo de reserva planificado en la
gestión de riesgos.
En un primer momento se define el desarrollo del sistema mediante el uso de FreeRTOS 5 y CCS,
pero al realizar las pruebas de implementación se vieron grandes dificultades para gestionar el
módulo de conexión inalámbrica CC3100 junto con el sistema embebido MSP432, ya que todos
los ejemplos y desarrollos disponibles están enfocados al modelo más actual del fabricante, el
CC3200, por lo que después de emplear muchos recursos con distintas pruebas no se consiguió
un funcionamiento viable para el proyecto.
Las opciones disponibles eran cambio de hardware o software, en vista de las dificultades de
conseguir el hardware necesario y en previsión de continuar teniendo problemas de integración
se consideró conveniente el cambio de plataforma de software, esta se encuentra disponible
inmediatamente y simplifica los tiempos de desarrollo, por lo que se opta por cambiar la
plataforma de desarrollo a Energía6, que si dispone de elementos compatibles con CC3100 y
sigue siendo válido conceptualmente al utilizarse como RTOS.
En una primera definición se planta el desarrollo del módulo de control de temperatura y humedad
mediante el uso de librerías externas dedicadas a este recurso que simplifican enormemente el
desarrollo de la aplicación.
- Elementos de hardware
Para completar la adquisición de señales externas y conseguir una representación del entorno
más amplia se incorpora adicionalmente un sensor de iluminación, este ya se encontraba entre
el hardware disponible.
En la última fase se plantea como objetivo adicional la implementación de una pantalla OLED de
0.96 pulgadas para la representación de información en el propio robot. Al existir problemas de
5
Plataforma de desarrollo de software tiempo real, https://www.freertos.org/
6
Plataforma de desarrollo de software de Texas instuments para desarrollo rápido de prototipos, https://energia.nu/
8
suministro del hardware, se ha opta por sustituirla por una pantalla LCD que se encontraba
disponible, a nivel de software y hardware no supone una gran diferencia salvo por las
limitaciones en cuanto a la información que se puede representar.
- Estructura física.
Después de las pruebas físicas de movimiento se detectan algunos fallos de diseño de la base
y las patas del robot relacionadas con la estabilidad del sistema, así como de la situación del
sensor volumétrico, por lo que se realiza la impresión de las piezas modificadas, la desviación
en tiempo es asumible y entra dentro de la planificación general.
En una fase posterior se realiza el cambio de alcance relacionado con la pantalla de visualización
de datos, debido al elevado peso de la nueva pantalla es necesario crear una nueva estructura
para soportarla y cambiar la disposición de los elementos de hardware existentes, en conjunto
supone un aumento del 10% en el peso, que supone un gran reto al aproximarse al límite de
torque que pueden manejar los servomotores, principalmente en el momento de arranque hasta
que se coloca en la posición de pie.
Se relacionan los elementos de propósito general utilizados para el desarrollo del presente
proyecto.
7
Impresora 3D del fabricante Anycubic, https://www.anycubic.com/products/anycubic-i3-mega
9
1.7.2 Recursos de Software.
Respecto a los elementos de hardware que conforman el sistema encontramos los que se
describen a continuación, para aquellos que ha sido necesaria documentación técnica para el
desarrollo, se incluyen como anexos las hojas de características.
8
Desarrollo de Texas Instruments, http://www.ti.com/tool/MSP-EXP432P401R#1
9
Desarrollo de Texas Instruments, http://www.ti.com/tool/CC3100BOOST
10
- Batería LIPO 7,4V
Teniendo en cuenta la gran demanda de energía por parte de los servomotores es necesario
incorporar en el prototipo de un sistema de alimentación que sea capaz de entregar altos picos
de intensidad y con un peso contenido, el modelo seleccionado pertenece al fabricante Hubsan
y entre sus principales características se encuentran una capacidad de 610mAh con un
coeficiente de descarga 15C, lo que garantiza entregas de hasta 9A.
11
- Servomotor SG90S
Para la realización de los movimientos del robot se han seleccionado los servomotores del tipo
SG90S, se trata de un modelo muy estándar en el mercado para el que existen infinidad de
fabricantes.
Entre sus características técnicas tenemos una rotación de 180º, un rango de tensión entre 4,8
a 6 V y un torque elevado de 1,5 Kg-cm.
Puede ser manejado con las librerías estándar que se pueden encontrar en los entornos de
desarrollo mediante el uso de señales PWM con un periodo de 20 ms y estableciendo el ciclo de
trabajo entre 1 y 2 ms en función de la rotación requerida
12
- Sensor de iluminación KY-018
Se trata de un módulo que incluye una resistencia fotosensible que reduce su resistencia
proporcionalmente a la iluminación, por lo que conocido el voltaje de alimentación es posible
determinar, mediante la lectura del valor de la caída de tensión a través de uno de los puertos
del sistema, el nivel de iluminación.
- Altavoz pasivo
Como último elemento se incorpora un altavoz pasivo para representar alarmas del sistema, al
ser un sistema pasivo la forma de onda se genera mediante la conexión a una salida PWM y
usando la función tone() que permite crear formas de onda de frecuencia y tiempo definidos.
13
1.8 Productos obtenidos
Como resultado final del proyecto se obtiene un prototipo completamente funcional que cumple
con todos los requerimientos y objetivos marcados en el proyecto.
14
Figura 15 - Robot cuadrúpedo vista lateral
15
1.9 Breve descripción de los otros capítulos de la memoria
El capítulo 2 trata una visión del estado tecnológico actual de los desarrollos usados y posibles
soluciones existentes similares a la propuesta, indicando también el posible nicho de mercado al
que podría enfocarse y las alternativas que propone la competencia para este segmento.
El capítulo 3 describe con una visión de alto nivel la idea general del proyecto, desarrollando a
nivel conceptual los bloques del sistema y la relación entre ellos, pretende ser una introducción
sobre el diseño del producto que ofrezca una visión general y permita al lector abordar los
detalles técnicos en los que se profundiza en el siguiente capítulo.
El capítulo 4 explica detalladamente los desarrollos técnicos realizados tanto a nivel de software
como de hardware, presentado una visión a bajo nivel del producto y la interacción e
interconexión entre los distintos módulos.
En los capítulos 5 y 6 se realiza una reflexión sobre la viabilidad técnica del producto y sus
posibilidades de mercado teniendo en cuenta los costes de desarrollo y producción del prototipo
así como la posibilidad de comercialización y producción en masa.
Por último en el capítulo 7 se analizan las conclusiones generales del proyecto a nivel académico
y las posibles líneas de desarrollo futuro en base a las experiencias adquiridas.
16
2. Antecedentes
El mundo de IoT y la robótica está en continuo auge, en los últimos años ha habido un verdadero
boom de dispositivos y recursos que están disponibles para el gran público.
De hecho se está impulsando de manera notable el uso de este tipo de recursos en el mundo de
la educación, haciendo que desde edades tempranas la población se introduzca no solo en el
uso de los productos sino también en el desarrollo de ellos, haciendo que de manera natural se
aprendan conceptos de programación y ejecución de proyectos.
Entre los sistemas embebidos podemos encontrar plataformas completas y sencillas de muchos
fabricantes, con multitud de documentación y ejemplos, como dispositivos del tipo MSP432,
Arduino, Raspberry, Beaglebone entre otros, cada uno de ellos con características distintas y
que serán adecuados según el tipo de proyecto a desarrollar.
Unido a esto, en los tiempos actuales, tiene cada vez más sentido poder dotar a estos con
sistemas de comunicaciones inalámbricas, permitiendo el control y monitorización en remoto a
través de sistemas informáticos o dispositivos móviles, otro gran avance en este campo ha sido
el desarrollo de plataformas de diseño de aplicaciones móviles accesibles para casi cualquiera y
con bajos requerimientos de conocimiento a nivel programación o de bajo nivel.
17
Figura 19 - Alternativas conectividad inalámbrica
Este abanico de posibilidades ofrece al usuario la elección de la tecnología que más se adecue
al producto donde se va a aplicar, desde comunicaciones de campo cercano, conexiones directas
de medio alcance o incluso en cualquier punto del planeta mediante el uso de comunicaciones a
través de internet.
La existencia de estándares internacionales para la mayoría de ellos hace que sea posible la
utilización de plataformas y dispositivos sin tener que emplear esfuerzos en integrar distintas
tecnologías, ejemplo de ello pueden ser los protocolos HTTP o MQTT entre otros, ambos válidos
para el proyecto, aunque a priori el estándar MQTT se adapta mejor a un tipo de dispositivos IoT
al ser más liviano, con menor tasa de transmisión y permite trabajar con total independencia al
emisor y receptor mediante el uso de un intermediario, no son características determinantes para
el proyecto en curso, por el contrario, aunque el HTTP requiere mayores recursos, es menos
flexible y la complejidad del protocolo es mayor, se disponen de bibliotecas y ejemplos
funcionales totalmente disponibles en el entorno de programación de Texas instruments.
Y no menos importante es el campo de la robótica, hasta hace no mucho tiempo este campo
estaba reservado solamente para grandes corporaciones y empresas tecnológicas debido a las
grandes inversiones necesarias para desarrollar un sistema, hoy en día es posible encontrar en
casi cualquier parte del mundo sistemas modulares con los que poder crear sistemas robóticos
para cubrir las necesidades más ingeniosas.
18
2.2 Estudio de mercado
Como se ha mencionado anteriormente existen en la actualidad multitud de desarrollos con
objetivos parecidos, que básicamente buscan crear dispositivos que se puedan mover de forma
autónoma y salvando irregularidades del terreno.
Estos equipos tienen un gran abanico de potenciales usuarios según las características de
diseño, pero el punto más relevante viene relacionado con la calidad de los materiales empleados
y las prestaciones que estos pueden ofrecer.
Dia a día se realizan avances muy importantes en las características de los elementos que los
componen que permiten realizar nuevas funciones y aproximarse cada vez más a imitar la gran
variedad de movimientos que puede realizar un ser vivo.
Entre los más avanzados podemos encontrar Legged Squad Support System (LS3)10
desarrollado por el ejército de EEUU capaz de correr y saltar obstáculos, otros a medio camino
como el PhantomX AX Metal Hexapod Mark III Kit 11, modelos más comerciales de coste
asequible como Alienbot12 o plataformas DIY como Freenove13, se incluye comparativa de
distintos modelos
PhantomX AX Metal
Alienbot Freenove Robot cuadrúpedo
Hexapod Mark III Kit
10 https://www.xatakaciencia.com/robotica/el-primer-robot-cuadrupedo-que-corre-y-salta-obstaculos-sin-perder-el-equilibrio
11 https://www.trossenrobotics.com/phantomx-ax-hexapod.aspx
12https://es.aliexpress.com/item/33038918270.html?spm=a2g0o.productlist.0.0.2041125dz4gg0X&algo_pvid=15caeea3-d5cc-4677-84f4-
83eddc654190&algo_expid=15caeea3-d5cc-4677-84f4-83eddc654190-
31&btsid=0be3769015889530269337116ed3c7&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
13https://www.amazon.es/Freenove-Quadruped-Raspberry-Crawling-
Detailed/dp/B071HDJMJ4/ref=sr_1_98?__mk_es_ES=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=robot+DIY
&qid=1588953462&s=toys&sr=1-98&swrs=0B99D1ABF575EBEC64C35B11ABE1E949
19
El prototipo del proyecto en su estado actual podría competir en un segmento de mercado
intermedio o bajo, más dedicado a un juguete o como kit de desarrollo para aficionados, como
se verá en los capítulos 5 y 6 para llegar a otros perfiles de consumidores sería necesario
incrementar las funcionalidades y principalmente la calidad de los servomotores, donde se
encuentra el punto más diferenciador entre sistemas, así como algún tipo de plataforma donde
se puedan realizar actualizaciones del software incluyendo nuevas funcionalidades u ofrecer
expansiones del sistema.
En cualquier caso, incluso en el segmento en el que se puede enmarcar este producto la gama
de productos disponibles no es muy amplia, por lo que incluyendo algunos cambios de diseño,
principalmente estéticos, haría que fuera una alternativa interesante.
20
3. Descripción funcional
En este capítulo se introduce el proyecto realizado desde un punto de vista funcional y de alto
nivel, tratara de explicar las características del sistema en su conjunto, los distintos módulos del
sistema y como se relacionan los distintos elementos entre ellos, así como los protocolos de
comunicaciones.
Como se indicaba en los capítulos de introducción los requerimientos generales del proyecto son
crear un robot cuadrúpedo que sea capaz de recrear movimientos de manera estable y continua,
a su vez tendrá disponibles una serie de funciones predefinas que completaran la experiencia de
usuario, por lo que el sistema funcionalmente cubre los siguientes requisitos:
Mediante todas estas funciones el usuario puede tener un control total de los movimientos del
sistema o usar los modos de funcionamiento automáticos en los que el robot reaccionara a
estímulos externos.
Para lograr los objetivos el sistema se divide en dos grandes bloques funcionales, uno de control
y otro de ejecución, que actúan de manera independiente y se comunican entre ellos mediante
el uso de protocolos de internet.
21
Cada uno de ellos hace uso de plataformas de hardware independientes, un dispositivo móvil
Android para el bloque de control y un sistema embebido basado en MSP432 y CC3100 para el
robot.
De esta forma el usuario enlazará ambos dispositivos en el arranque y a partir de ese momento
podrá seleccionar el funcionamiento deseado a través de la interfaz gráfica del dispositivo móvil,
y a su vez recibiendo información de los parámetros físicos monitorizados por el robot.
Para poder realizar la comunicación entre módulos se establece la conexión de ambos equipos
a una red local mediante conexión inalámbrica Wifi, desde el punto de vista conceptual la
comunicación está basada en el modelo OSI, haciendo uso de las funcionalidades de capa de
red según las recomendaciones X.200 14 sobre interconexión de sistemas abiertos de ITU.
14 https://www.itu.int/rec/T-REC-X.200-199407-I/es
22
Cada equipo negocia la conexión con el router siguiendo los protocolos y definidos en el estándar
y se le asigna una dirección IP dentro del sistema, lo que posibilitara la intercomunicación dentro
y fuera de la red. A nivel practico debido al uso de librerías integradas en el software de ambos
equipos podemos abstraernos de la configuración y gestión de las conexiones de comunicación
y usar para ello los métodos definidos, ya que están fuera del alcance del proyecto, y de esta
manera centrar los esfuerzos simplemente en la funcionalidad.
El módulo CC3100 incorpora todas las características de conectividad sobre Wifi 15 necesarias
para actuar como servidor Web y liberar al resto del sistema del robot de estas tareas, en la
siguiente figura se indican los protocolos utilizados por este para cada una de las capas
relevantes del modelo OSI
15 https://www.ti.com/lit/wp/swry019a/swry019a.pdf?&ts=1589105615220
16 https://datatracker.ietf.org/doc/draft-ietf-httpbis-messaging/?include_text=1
17 https://developer.mozilla.org/es/docs/Web/HTTP/Messages
23
3.2 Modulo Robot
En el presente apartado se detallan las características del módulo del robot, desde su estructura
física en la que se basa su construcción hasta los bloques de hardware y software utilizados.
Existen multitud de modelos 3D de estructuras físicas que pueden ser utilizadas como soporte
para la construcción de un robot cuadrúpedo, con la premisa de la utilización de servomotores
SG90 se parte de un modelo compatible con las funcionalidades buscadas.
También es necesario tener en cuenta las características técnicas de los servomotores usados
ya que tienen limitaciones físicas, principalmente con el torque máximo que pueden ofrecer en
relación con la distancia de actuación y el peso del sistema, por encima de las cuales harían el
sistema inviable.
Con toda esta información se abordan cambios de diseño en algunos componentes para cumplir
con los requisitos del proyecto y adaptarlo a los componentes de hardware elegidos, también
como resultado de los estudios de movimiento y estabilidad del sistema.
18 https://www.thingiverse.com/thing:1677703
24
3.2.2 Estructura de hardware.
Para cumplir todas las funcionalidades descritas es necesario incorporar al prototipo una serie
de elementos de hardware, todos ellos están disponibles en el mercado de forma independiente
y trabajan como periféricos alrededor del sistema de proceso principal que es el MCU.
En función del tipo de periférico es necesario aplicar un tipo de alimentación diferente y realizar
la conexión al MCU al tipo de entrada/salida más adecuado, pudiendo ser entradas o salidas
analógicas, digitales o PMW.
El desarrollo así como el diagrama eléctrico de conexiones se explica con detalle en el siguiente
capítulo.
25
3.2.3 Estructura de software embebido.
- Robot Cuadrúpedo: Modulo de control principal del sistema, se ocupa de la inicialización del
sistema y en función de la información que recibe como mensajes desde el Web Server envía
órdenes mediante eventos a los módulos operativos para que ejecuten las acciones necesarias.
- Web Server: Modulo de comunicaciones, establece la conexión con el router y trabaja como
servidor web, una vez recibida la conexión del cliente envía un mensaje al módulo principal con
la información relevante y sigue a la escucha. hace uso de librerías externas para el control de
hardware.
26
- Pantalla: Modulo pasivo, permanece bloqueado hasta que recibe un evento desde el módulo
de control para que ejecute una representación en pantalla, hace uso de librerías externas para
el control de hardware.
- Buzzer: Modulo pasivo, permanece bloqueado hasta que recibe un evento desde el módulo de
control para que ejecute la reproducción de un sonido.
- Temperatura: Modulo activo, realiza la adquisición de datos del hardware de temperatura cada
cierto tiempo, al ser un parámetro físico con variaciones lentas el refresco se hace menos
frecuentemente, permanece bloqueado el resto del tiempo.
- Iluminación: Modulo activo, realiza la adquisición de datos del hardware de iluminación cada
cierto tiempo, al ser un parámetro físico con variaciones medias el refresco se hace
frecuentemente, permanece bloqueado el resto del tiempo.
- Distancia: Modulo activo, realiza la adquisición de datos del hardware de distancia cada cierto
tiempo, al ser un parámetro físico con variaciones rápidas el refresco se hace muy
frecuentemente, permanece bloqueado el resto del tiempo.
- Movimiento: Modulo pasivo, realiza el control de los servomotores y envía a estos las
instrucciones necesarias para completar los movimientos configurados en función del tipo de
modo en el que se esté trabajando, una vez completada la rutina, la ejecución del módulo queda
bloqueada hasta recibir nuevo evento.
Todo el desarrollo se hace haciendo uso de la aplicación para diseño indicada en capítulos
anteriores, el APP-Inventor desarrollado por el MIT.
En este caso no se describe el hardware necesario, un dispositivo móvil con software Android y
conectividad inalámbrica para su ejecución, ya que se encuentra fuera del alcance del proyecto.
27
3.3.1 Interfaz de usuario.
Respecto a la interfaz gráfica se plantea un diseño limpio y que pueda estar autocontenido en
una sola pantalla para evitar desplazamientos, en ella se incluyen varios bloques para el control
del funcionamiento.
- Área conexión: Debido a que no se ha definido una IP fija al robot para permitir la conexión
sencilla en otras redes inalámbricas es necesario indicar a la aplicación la IP asignada en cada
conexión, esta es visible en la pantalla del robot al iniciar la conexión.
- Área movimiento manual: Mediante unas sencillas fechas en usuario puede seleccionar los
movimientos que quiere que realice el robot.
- Área de funciones: Mediante la pulsación de los diferentes botones se selecciona cada una de
las funcionalidades disponibles.
- Área visualización: Los datos obtenidos por el robot están disponibles para ser visualizados con
una frecuencia de refresco de 1 segundo.
Para hacer más atractiva la experiencia de usuario se han asignado una serie de sonidos
asociados a la pulsación de cada uno de los botones.
28
3.3.2 Estructura de software App Android.
- Entorno gráfico: Cada uno de los botones tiene asociado un evento que desencadena una
petición HTTP GET hacia el servidor del robot, en la cual se incluye una codificación para que
este pueda interpretar la opción seleccionada.
- Tarea programada: Se planifica una ejecución de petición de información en segundo plano que
se ejecuta cada segundo y desencadena una petición HTTP GET hacia el servidor del robot, en
cuya respuesta se incluyen los valores de los parámetros físicos obtenidos por el robot.
Todos los procesos de comunicaciones están cubiertos por las funcionalidades usadas en la
programación, por lo que podemos abstraernos de ellas y enfocar el proyecto solamente a las
tareas definidas en el alcance.
29
4. Descripción detallada
Una vez realizado un estudio de los modelos 3D disponibles en los repositorios que pudieran
encajar con las necesidades del proyecto se analizan una serie de puntos para asegurar que el
diseño seleccionado es capaz de cumplir con los requerimientos planteados.
Los potenciales problemas podrían presentarse por superar el peso máximo del conjunto que los
servomotores son capaces de gestionar y definir que estrategias de movimiento para sistemas
cuadrúpedos son más convenientes para los modos planeados.
Como punto de partida se establece como requisito que el robot sea capaz de mantenerse
estable en posiciones con solamente dos o tres patas sobre la superficie y que pueda de levantar
su peso desde una posición de reposo y mantenerlo en una posición de estabilidad.
Al partir de una base simétrica, para garantizar el punto de estabilidad, solo es necesario distribuir
el peso de los elementos de hardware uniformemente y realizar un cálculo correcto de las
posiciones de los servomotores para que en todos los escenarios mantengan el centro de
gravedad en unos márgenes dentro de la proyección para no provocar inestabilidad.
30
Los servomotores ofrecen una fuerza de 1,5Kg a un centímetro de su eje, cuanto más alejado
está el punto donde se ejerce, la fuerza disponible desciende proporcionalmente, por lo que
teniendo en cuenta la longitud de los brazos tenemos.
Siendo el peso del conjunto 0,6 Kg se determina que el modelo no es viable, la fuerza de los
servomotores, principalmente en el segmento intermedio, no es suficiente para mantener el
conjunto de pie al realizar algún movimiento y perder alguno de los puntos de apoyo, no siendo
posible tampoco mantener ninguna posición estable sobre dos patas debido al diseño de la
terminación de la pata.
Se realiza una modificación de diseño acortando la longitud del último tramo e implementado una
superficie a 2 cm del servomotor con base plana, para facilitar mantener posiciones de
movimiento sobre dos patas, esto además modifica las posiciones relativas del segmento anterior
que hace que en posiciones de reposo el sistema se soporte por la propia estructura , exigiendo
una fuerza mínima al servo y evitando tenerlo activo continuamente, que adicionalmente supone
un ahorro significativo de energía.
31
Figura 33 - Modificaciones modelo físico
Para una correcta identificación cada uno de los segmentos recibe un nombre relacionado con
su posición en el robot.
Ponerse de pie:
Partiendo de una posición de reposo donde las cuatro patas están en posición horizontal es
necesario mantener las articulaciones del primer segmento (H) en posición de 45º y girar los
segmentos (B) y (M) 90 grados de forma coordinada para repartir el esfuerzo entre los servos,
especialmente (B) que son los que principalmente ejecutan la acción.
32
Andar hacia delante / Detrás
Se definen una serie de movimientos que completan un paso hacia adelante, quedando el robot
colocado en la posición de reposo al finalizar, para realizar un paso continuo se deben ejecutar
una sola vez el paso inicial y el final, y repetir los intermedios tantas veces como sea requerido.
En las figuras se identifican en rojo las partes en las que se produce movimiento en cada fase.
Paso inicial:
Fase 1:
Fase 2:
33
Fase 3:
Fase 4:
Fase 5:
Fase 6:
34
Fase 7:
Fase 8:
Para los giros a izquierda y derecha se parametriza una serie de movimientos para completar un
giro de 30º, al igual que en la secuencia anterior se repetirán en secuencia para completar giros
más amplios, en este caso solamente se detallan las posiciones.
Los servos ensamblados tienen una velocidad angular suficiente (0.12ms/60º) para alcanzar las
posiciones definidas con suficiente rapidez para que no sea necesario plantear posiciones
intermedias por desviaciones en el centro de gravedad.
35
4.2 Módulos de hardware
4.2.1 Esquema general.
36
4.2.2 Alimentación.
El módulo de alimentación del sistema está formado por varios bloques que dan soporte a los
distintos requisitos de tensión y potencia de los módulos:
Para conseguir la suficiente autonomía y picos de entrega de intensidad se utiliza como fuente
de alimentación una batería LiPo de 7,4 V 610 mAH 15C, este factor indica que la entrega de
intensidad puede ser hasta 15 veces el nominal, por lo que puede entregar hasta 9A
El sistema embebido requiere una alimentación de 3,3V, por lo que se incluye un nuevo regulador
a esa tensión y con una intensidad máxima de 1A.
37
4.2.3 Movilidad.
El control de estos se realiza mediante una señal PWM, configurándola con periodo de 20ms es
posible controlar la posición del eje mediante un ciclo de trabajo de entre 1ms a 2ms
aproximadamente, siendo el centro la posición de 0º y los extremos +90º y -90º.
Los servos tienen tres pines de conexión, dos para alimentación que se conectan al regulador
independiente para ellos y otro de control que se conecta a una de las salidas PWM del sistema
embebido.
4.2.4 Periféricos
El resto de los periféricos del sistema van igualmente conectados al módulo de alimentación
independiente incorporado para ellos y los pines de E/S están conectados a los pines
correspondientes del sistema embebido en función de las necesidades.
Como se detalla en apartado anteriores se han utilizado diferentes dispositivos para cubrir las
necesidades del proyecto, todos ellos se han incorporado como módulos independientes, lo que
facilita su sustitución en caso de avería o mal funcionamiento.
38
El consumo máximo de estos no supera el margen ofrecido por el regulador por lo que funcionan
de forma estable, todos los detalles técnicos sobre ellos se pueden encontrar en los anexos a
este documento.
4.2.5 Control.
El control del sistema está basado en dos componentes, el sistema embebido MSP432 y el
módulo de conexión inalámbrica CC3100 ambos de Texas instruments.
39
Respecto al MSP432 se trata de un sistema basado en un microcontrolador ARM con
arquitectura de 32 bits, una velocidad de reloj de 48 MHz, y una memoria de 256KB. La versión
utilizada es el modelo Launchpad, que incorpora un emulador que permite su programación y
depuración sin necesidad de incluir hardware adicional.
El presente apartado pretende desglosar desde un punto de vista funcional los distintos módulos
de software que se han implementado en la solución así como la estrategia de diseño seguida.
Como uno de los requisitos del proyecto tenemos el diseño de una solución de software que
corra en tiempo real. Para este propósito existen varias soluciones a nivel de software facilitadas
por varios desarrolladores.
El sistema por sí mismo realiza una división del tiempo asignado a cada tarea y hace los cambios
de contexto necesarios en caso de tener que interrumpir una tarea a mitad de proceso por una
solicitud de prioridad superior.
19 https://www.freertos.org/RTOS-task-states.html
40
Con todas estas premisas se desarrolla el proyecto dividiendo el software en tareas
independientes, cada una relacionada con un ámbito concreto del dispositivo y con un sistema
de comunicación entre ellas mediante eventos.
En los siguientes puntos se desglosa desde un punto de vista teórico la funcionalidad que debe
cumplir cada módulo y que recursos gestiona.
41
Todo el sistema de control está enfocado en dos estrategias concretas, un sistema de disparo
de tareas en función de eventos y una cola de mensajes.
-Evento.waitfor(): Este método bloquea la tarea por tiempo indefinido en este punto esperando
recibir el número de evento fijado, el módulo permanecerá en escucha en los tiempos de
ejecución determinados por el RTOS.
La variable que se pasa al método es un numero codificado en binario, por lo que pueden
gestionarse 32 estados diferentes o la combinación de estos.
La gestión de cola de mensajes está basada en la biblioteca de terceros “Mailbox.h 21”, una vez
inicializada la cola con el número de elementos necesarios se utilizan los siguientes métodos
para su gestión.
20 https://embeddedcomputing.weebly.com/exploring-rtos-with-galaxia.html
21 https://embeddedcomputing.weebly.com/exploring-rtos-with-galaxia.html
42
El primer bloque se encarga de inicializar el dispositivo en una secuencia lógica para evitar
tiempo de proceso y gasto de energía innecesario, todos los módulos permanecen a la espera
del evento de arranque hasta que el módulo de comunicaciones esta correctamente conectado
a la red, una vez disponible la conexión se arrancan el resto de los eventos y se ejecutan según
la planificación.
El bloque de gestión permanece a la espera de mensajes en la cola, una vez recibido evalúa su
valor y lanza eventos al resto de módulos para que ejecuten las acciones necesarias.
También están definidos al final del módulo las rutinas de ejecución continua perteneciente a los
módulos automático, reacción a movimiento y reacción a iluminación, una vez recibido el mensaje
de lanzamiento de la acción permanecen en ejecución hasta que un nuevo mensaje cambia el
tipo de funcionamiento.
-WiFi.begin(ssid, password): Negocia la conexión con el router que radia el SSID dado.
22 https://energia.nu/guide/#_core_functions
43
Una vez recibido el mensaje se realiza una lectura del contenido para encontrar el patrón de
comunicación definido donde se encuentra codificada la acción a realizar, "GET /RX", siendo X
una serie de valores definidos.
Una vez capturado este valor se coloca en la cola de mensajes para que el módulo de control
pueda actuar en consecuencia.
Además de esto en cada llamada del cliente se incluye como contenido de la cabecera de
respuesta HTTP los valores de los sensores del dispositivo para que puedan ser utilizados por
el cliente a su conveniencia.
23 https://energia.nu/guide/#_core_functions
44
Una vez configurados todos los servos necesarios se procede a definir las listas de movimientos
necesarios para completar las acciones, y estas se ejecutan mediante la utilización de dos
rutinas.
El módulo temperatura se encarga de gestionar el hardware DHT11, que está conectado a una
entrada analógica, una vez configurado e inicializado ejecuta la lectura de los parámetros del
dispositivo siguiendo los tiempos de proceso dados por el fabricante
El módulo solicita lectura de datos mediante la transmisión de una señal definida y el hardware
responde mediante una secuencia de 40 bits transmitida de forma secuencial siguiendo el
protocolo de comunicaciones, estos 40 bit contienen los valores de temperatura y humedad así
como un bit de control para comprobar que la lectura ha sido correcta.
24 https://www.mouser.com/datasheet/2/758/DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf
45
El método de comunicaciones se ejecuta mediante una comunicación serie de dos vías, por lo
que es necesario ir alternado la función del pin conectado entre entrada y salida.
Se envía un pulso de longitud conocida por el pin Trigger y se mide el tiempo que tarda en
recibirlo en pin echo, almacenando el resultado en variable global cm, El tiempo recibido se
convierte en distancia teniendo en cuenta la velocidad del sonido y que la onda recorre el camino
de ida y vuelta.
46
4.3.7 Modulo iluminación
El valor recibido, al realizar la lectura analógica del pin, es interpretado usando el conversor
analógico-digital, se obtiene un valor con una resolución de 10 bits, que va desde 0 - iluminación
total a 1023 - ausencia de iluminación.
El módulo pantalla se encarga de gestionar el hardware LCD1602, que se basa en una pantalla
LCD de 16 caracteres por 2 columnas con un sistema de control mediante protocolo I2C, para
esta gestión hace uso de los métodos disponibles en la biblioteca “LiquidCrystal_I2C.h 25”, como
son:
-LiquidCrystal_I2C lcd(address, columns, rows): Crea un objeto con la dirección I2C seleccionada
y un número determinado de filas y columnas
25 //wiki.dfrobot.com/I2C_TWI_LCD1602_Module__SKU__TOY0046_
47
-lcd.setCursor(0,0): Coloca el puntero en una posición concreta de la matriz
El uso de esta biblioteca y los métodos permiten al desarrollador obviar de la configuración del
dispositivo y la comunicación I2C, para centrar los esfuerzos en el uso del dispositivo para la
representación de información.
En función de los eventos recibidos desde el módulo de control se ejecutan distintas secuencias
de representación de información en pantalla.
El módulo sonido se encarga de gestionar el altavoz pasivo, que donde se representan distintas
formas de onda con frecuencia y duración definidas mediante el uso del método tone(), al igual
que los módulos anteriores ejecuta distintas secuencias de sonidos en función del evento que le
llega desde el módulo de control.
48
4.4 Módulos de software aplicación Android
El presente apartado realiza una explicación a nivel funcional de los distintos elementos que
forman el módulo de software diseñado en la plataforma Appinventor y que se utiliza como control
inalámbrico del dispositivo.
Haciendo uso del diseño por bloques ofrecido por Appinventor se realiza un diseño de pantalla
acorde con las necesidades.
El sistema de diseño es bastante amigable y solo es necesario arrastrar los elementos necesarios
para después modificar las propiedades para que se adapten al diseño buscado, en este punto
también es posible añadir elementos no visibles como sonidos y temporizadores que ejecutaran
tareas cuando sea requerido.
Para cada uno de los botones de función se programa una tarea que se dispara con cada
pulsación, al igual que en ejemplos anteriores, Appinventor nos abstrae de todo tipo de
configuración y solamente es necesario indicarle que acciones se quieren ejecutar.
En la siguiente figura se puede ver el ejemplo de una de las funciones, donde se indica que al
hacer clic en el botón se haga una llamada a la URL capturada de la pantalla añadiendo al final
la codificación necesaria para el proyecto en curso.
49
Figura 53 - Función envío orden software app
Internamente el software genera todas las acciones necesarias para realizar una conexión al
servidor web y enviar el mensaje HTTP en las condiciones adecuadas.
Una vez recibido el mensaje de respuesta HTTP se extrae la información enviada con los valores
de los sensores que se encuentran en posiciones fijas del mensaje.
50
5. Viabilidad técnica
Una vez realizado el análisis detallado de la propuesta el proyecto se estima como viable en
plazo y presupuesto.
Para el desarrollo de software, del sistema embebido y la aplicación Android, es posible contar
con suficiente documentación y herramientas informáticas para su realización.
El proyecto también cuenta con puntos débiles como son la durabilidad y características técnicas,
especialmente de los servomotores, que debido a su precio no tienen calidad suficiente para
asegurar un periodo de funcionamiento suficiente para su comercialización, así como la precisión
de los sensores incorporados.
En caso de querer abordar una fabricación a gran escala será necesario un replanteamiento de
la estructura física y los elementos móviles que cumplan con los estándares de calidad y
normativas existentes.
51
6. Valoración económica
Una vez finalizada la propuesta técnica del proyecto se realiza un análisis financiero de la
solución para conocer el coste de producción por unidad y plantear un posible escenario de
comercialización en la que se tengan en cuenta todos los aspectos necesarios para su
homologación, fabricación, distribución y servicio post-venta.
Se incluye una relación de todos los costes relacionados con la fabricación del prototipo al que
se refiere el proyecto actual, para el coste de mano de obra se toma el salario medio de un
ingeniero establecido en 50000€ brutos/año y una jornada anual de 1920 horas, por lo que el
precio hora queda determinado como 26€ brutos/hora.
52
En la siguiente tabla se estima una serie de conceptos necesarios para implementación definitiva
y homologación.
En vista de los resultados obtenidos se estima que el negocio puede ser rentable a partir de una
producción y comercialización de 2000 unidades.
Debido a las características del producto y los rápidos avances tecnológicos se realiza una
proyección con un horizonte de vida del prototipo de un año, por lo que se estima que será
necesario crear nuevas versiones frecuentemente y los costes de desarrollo se mantendrán en
el tiempo.
53
7.Conclusiones
En general la calidad del producto es bastante buena, pero para un desarrollo a gran escala y
poder explotar todas las posibilidades será necesario incorporar cambios de diseño en cuanto al
hardware, con servomotores que soporten mayor peso y sensores con mayor sensibilidad, y de
diseño para hacerlo comercialmente atractivo.
El prototipo es funcional y probablemente tenga cierta aceptación en el mercado, pero para que
sea realmente atractivo es necesario incorporar otro tipo de características que hagan que los
potenciales clientes lo elijan, como superación de obstáculos, vista en primera persona o control
gestual.
7.2 Autoevaluación.
Se incluye una lista de los objetivos planteados, los cuales se han cumplido completamente.
En la siguiente tabla se muestra la dedicación a cada una de las fases del proyecto.
En cuanto a la planificación temporal se han tomado todas las medidas correctoras necesarias
para mantener la viabilidad del proyecto al enfrentarse a situaciones más o menos esperadas en
cuanto a fallos de diseño, incompatibilidades de software, o previsión de disponibilidad de
54
recursos reducida durante la última fase, aun así se ha producido una desviación del 10% sobre
el tiempo planificado, pero dentro de los márgenes previstos en la planificación de riesgos.
Ha sido necesario realizar varios cambios de alcance por incompatibilidades de hardware o falta
de disponibilidad, pero se han podido resolver adecuadamente utilizando soluciones alternativas
que encajan con la finalidad del prototipo.
Como se ha comentado antes la idea es claramente mejorable para que tenga un impacto
relevante en los posibles clientes.
Dentro de las tendencias actuales de la tecnología y el estado del arte se antoja muy conveniente
continuar el desarrollo explorando las siguientes líneas de trabajo.
- Control de movimiento mediante gestos con un control acoplado en las manos, u otro tipo de
dispositivos que sean capaces de interpretar señales corporales.
55
8. Glosario
Definición de los términos y acrónimos más relevantes utilizados dentro del documento.
56
9. Bibliografía
57
10. Anexos
26
http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf
58
10.2 Datos técnicos AMS111727
27 http://www.advanced-monolithic.com/pdf/ds1117.pdf
59
10.3 Datos técnicos UBEC 8A28
28
http://www.henge-rc.com/UploadFiles/201751721654.pdf
60
10.4 Datos técnicos Sensor HC-SR0429
29 https://www.electroschematics.com/wp-content/uploads/2013/07/HCSR04-datasheet-version-1.pdf
61
10.5 Datos técnicos DHT1130
30
https://www.mouser.com/datasheet/2/758/DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf
62
10.6 Datos técnicos KY01831
31 http://www.electronicapty.com/modulo-fotoresistor-ky-018-para-arduino-detail?tmpl=component&format=pdf
63
10.7 Datos técnicos LCD160232
32 https://www.openhacks.com/uploadsproductos/eone-1602a1.pdf
64
10.8 Esquema eléctrico
65
10.9 Modulo software Android
66