A CIMENTACIONES DE OBRAS DE CONSTRUCCIÓN ABAJO FINAL …

130
Trabajo realizado por: Jorge Luis Ramos Hurtado Dirigido por: Francisco Javier Mora e Ignacio Valero Grado en: Ingeniería de Obras Públicas Barcelona, Octubre 2019 Departamento de Ingeniería Civil y Ambiental TRABAJO FINAL DE GRADO REALIDAD AUMENTADA APLICADA A CIMENTACIONES DE OBRAS DE CONSTRUCCIÓN

Transcript of A CIMENTACIONES DE OBRAS DE CONSTRUCCIÓN ABAJO FINAL …

Trabajo realizado por:

Jorge Luis Ramos Hurtado

Dirigido por:

Francisco Javier Mora e Ignacio Valero

Grado en:

Ingeniería de Obras Públicas

Barcelona, Octubre 2019

Departamento de Ingeniería Civil y Ambiental

TR

AB

AJO

FIN

AL

DE

GR

AD

O

REALIDAD AUMENTADA APLICADA A CIMENTACIONES DE OBRAS DE CONSTRUCCIÓN

Octubre 2019

JORGE LUIS RAMOS HURTADO 1

Octubre 2019

JORGE LUIS RAMOS HURTADO 2

Resumen

Actualmente, en el sector de la Arquitectura, Ingeniería y Construcción, la revolución tecnológica

es menor debido a la complejidad y el dinamismo de los distintos recursos, especialmente,

durante la fase de construcción.

La realidad aumentada (RA) es una de las tecnologías en investigación por parte del sector para

su implementación, y así, mejorar la eficiencia en los distintos procesos constructivos. El

potencial de esta tecnología es mayúsculo ya que su aplicabilidad puede llegar a ser de gran

utilidad, no solo en fase de diseño como la realidad virtual (RV), sino también en fase de

explotación y mantenimiento.

Esta tesina pretende enfocarse en la aplicación de la realidad aumentada en la construcción,

concretamente, en el proceso de ejecución de las armaduras y, además, de cómo ayudar en obra

a la prevención de riesgos laborales (PRL) para esta actividad. Para ello se barajan distintos

dispositivos que permiten la visualización de los elementos necesarios, como bien puede ser un

teléfono móvil, una tableta o unas gafas de realidad aumentada.

El desarrollo de aplicaciones en RA para la visualización de elementos de obra conlleva un

aprendizaje de las distintas plataformas que intervienen y un análisis del contexto de la

tecnología actual. Además, se ha de realizar un estudio de los procesos de ejecución actuales

para poder diseñar mejoras en un futuro próximo. En el caso de la prevención de riesgos

laborales, se debe de hacer un análisis de zonas de peligro y sus localizaciones, y posteriormente

identificarlas y mostrar las medidas a tomar para su correcta ejecución.

Una vez se estudia los distintos softwares informáticos disponibles, se determina que las gafas

de realidad aumentada (Magic Leap One) son el dispositivo con el que se realiza esta

experiencia. Seguidamente, se adquiere el conocimiento necesario para el diseño de la

aplicación en RA para poder aplicarlo en una obra de construcción real.

Finalmente, no se da la oportunidad de aplicabilidad en obra, pero se sientan las bases para el

desarrollo de una app en RA, se describen los casos en los que se percibe un mayor progreso

con su implementación y se extraen conclusiones de todo ello.

Octubre 2019

JORGE LUIS RAMOS HURTADO 3

Abstract

Currently, the technology revolution in the Architecture, Engineering and Construction (AEC)

sector is being minoritized due to the complexity and the dynamism of the various resources.

Specifically, during the construction phases.

Augmented reality (AR) is one of the systems that is being investigated by the AEC sector to

implement it and enhance the distinct construction processes efficiencies, inter alia.

The potential of this technology is immense on account of the various applications that could

have, not only in design as the virtual reality (VR), but also in operation and maintenance

phases.

Therefore, this bachelor thesis pretends to aim at the AR application, particularly, on the steel

framework construction. And also, how to aid in construction site safety in this particular

activity. This can be done with multiple devices like a mobile phone, tablet or AR glasses that

allows you to visualize required elements.

Development in AR application that visualizes construction site elements entails learning about

the software’s platforms involved and current technological context analysis. Furthermore,

research is needed on the current procedures of the various construction works to design

improvements shortly. In terms of constructions safety, an analysis of the dangerous locations

is required to identify them and make appropriate decisions.

Once the analysis of the different platforms is done, the determined device to continue this AR

experience is the Magic Leap One glasses. Afterwards, research on how this device works is

needed to create an AR experience and implement it on a real construction site.

In the end, there is not an opportunity to apply the experience, nevertheless, it provides the

basis of an AR application development. Different applications modes with enormous potential

are created and then there is a conclusion extraction about the made process.

Octubre 2019

JORGE LUIS RAMOS HURTADO 4

Agradecimientos

En primer lugar, agradecer a mis tutores Francisco Javier Mora e Ignacio Valero por haberme

brindado la oportunidad de realizar esta tesina y por haber incentivado un gran interés en mí

acerca de las nuevas tecnologías, en especial de la realidad aumentada. Por su paciencia y

dedicación, y por el constante seguimiento para la realización de este trabajo.

Al Centro Internacional de Métodos Numéricos en Ingeniería (CIMNE), por dejarme utilizar sus

instalaciones y material, que, sin él esta tesina no hubiera sido posible. Agradecer también a

todos los integrantes, del centro mencionado, que han resuelto dudas y han aportado

conceptos.

Agradecer a la empresa CROMSA CONSTRUCCIÓN Y MEDIOAMBIENTE por permitirme utilizar el

diseño de las cimentaciones de uno de sus proyectos. Y por darme la oportunidad de formar

parte de su extraordinario equipo humano. Por todas las experiencias vividas y todo el

conocimiento aportado.

A mi familia por haberme dado la oportunidad de poder avanzar en un país que nos ha llenado

de grandes oportunidades. Por su guía, paciencia y sobre todo el sacrificio realizado.

Y, por último, a mis amigos y compañeros que han hecho que esta etapa sea fructífera y

complaciente.

Octubre 2019

JORGE LUIS RAMOS HURTADO 5

Motivación

Hoy en día, vivimos en una época donde el avance de la tecnología está teniendo un papel

fundamental en nuestra manera de vivir y de pensar. Esta nos rodea y nos facilita una nueva vía

para afrontar los retos en las distintas áreas de la vida.

La investigación de nuevas tecnologías en las industrias existentes nos lleva a una mejor

eficiencia en los procesos de diseño y fabricación que, en el caso del sector de la Arquitectura,

Ingeniería y Construcción (AIC) ha sido menor en comparación a otros sectores como, por

ejemplo, el automovilístico. Esta poca industrialización en la que se encuentra el sector es

debida a diversos aspectos, como que el espacio de trabajo se encuentra en cambio continuo y

no es fijo. Además, esto comporta una desventaja frente a otros sectores en cuanto a la

maquinaria tecnológica que ha de ser transportada al lugar de ejecución.

Por ello, se hace atractiva la idea de crear e investigar nuevas tecnologías que permitan avanzar

al sector de la AIC. En mi caso, siento la gran curiosidad de conocer a fondo las nuevas

metodologías y tecnologías que existen en el sector, en especial acerca de la metodología BIM

(Building Information Modeling) y de sus distintos softwares informáticos.

La metodología BIM es un sistema de trabajo donde los agentes involucrados en un proyecto

colaboran para su creación y gestión. Y, a su vez, se centraliza toda la información, tanto

geométrica como temporal, de costes, ambiental y de mantenimiento, en formato digital.

Esta nueva metodología ayuda también a reducir imprevistos en obra, ya que se tiene un mayor

control de los elementos que intervienen en un proyecto. Sin embargo, este mayor control que

se llega a obtener no se ve reflejado en materia de PRL, ya que el número de accidentes es

notablemente mayor al de otros sectores más industrializados.

Por ello, la gran cantidad de avances tecnológicos no solo han de mejorar los procesos y

metodologías actuales, sino que también han de proteger y garantizar la seguridad de los

trabajadores. La revolución tecnológica ha de ser complementaria con la investigación en

prevención de riesgos laborales, siendo de esperar una repercusión positiva en la reducción del

número de accidentes.

Por todas estas razones, nace la motivación de aprender y poder aportar mejoras al sector

mediante la investigación nuevas tecnologías.

Octubre 2019

JORGE LUIS RAMOS HURTADO 6

Visión

A lo largo de esta tesina, se han visto las capacidades y el potencial que tiene la RA en el ámbito

de la ingeniería civil. Y, a la hora de basar la decisión, acerca de hacia dónde dirigir esta tesina,

es inevitable imaginar cómo será el futuro de la construcción con la RA.

En consecuencia, estos pensamientos llevan a un estado en el que uno visiona e imagina nuevas

metodologías que se transcriben en las siguientes visiones acerca del futuro que depara esta

tecnología.

- “Veo a un encargado del control de calidad realizando una inspección con la ayuda de

la RA de forma exhaustiva y con un esfuerzo significativamente menor.”

- “Veo a un trabajador seguro y con la certeza de que cualquier peligro que ocurra en la

obra sea percibido y solucionado con antelación gracias a la RA.”

- “Visualizo el deslizamiento de una ladera antes que ocurra gracias a la gestión de datos

en tiempo real.”

- “Veo a un trabajador conociendo en todo momento la ubicación de los elementos

móviles en una obra y así evitar colisiones.”

- “Veo a todos los trabajadores con gafas de RA para un mejor desarrollo de sus tareas.

- “Veo a un prevencionista más seguro conociendo la localización de los trabajadores y

sabiendo los peligros a tiempo real dentro de una obra.”

- “Veo a un trabajador visualizando las armaduras, antes de ser montadas en su posición

final.”

- “Visualizo un mantenimiento más elaborado gracias a la visualización en la posición real

de los componentes internos de una estructura.”

- “Visualizo una metodología más robusta que fortalece el sistema BIM gracias a la

cooperación entre los distintos agentes.”

- “Veo a un sector avanzado e industrializado gracias a la implementación de esta

tecnología. “

El pensamiento de estas visiones es esencial para idear aplicaciones en RA que ayuden al sector

de la AIC y para dar pie a futuras líneas de investigación.

Octubre 2019

JORGE LUIS RAMOS HURTADO 7

Octubre 2019

JORGE LUIS RAMOS HURTADO 8

Índice

Resumen ........................................................................................................................................ 2

Abstract ......................................................................................................................................... 3

Agradecimientos ........................................................................................................................... 4

Motivación .................................................................................................................................... 5

Visión ............................................................................................................................................. 6

Índice ............................................................................................................................................. 8

Índice de esquemas ..................................................................................................................... 10

Índice de ilustraciones ................................................................................................................. 11

1. PLANTEAMIENTO .................................................................................................................... 14

1.1. Introducción ................................................................................................................ 14

1.2. Objetivos ..................................................................................................................... 15

1.3. Metodología ................................................................................................................ 16

2. Contexto de la Tecnología Actual ....................................................................................... 17

2.1. Building Information Modeling (BIM) ......................................................................... 17

2.2. Realidad Mixta ............................................................................................................. 19

2.3. Unity: Plataforma de desarrollo 3D............................................................................. 27

2.4. VUFORIA: Plataforma de Realidad Aumentada .......................................................... 31

2.5. ARCore: Plataforma de Realidad Aumentada ............................................................. 33

2.6. Magic Leap: Gafas de realidad aumentada ................................................................ 36

3. Diseño ................................................................................................................................. 46

3.1. Modelado de las armaduras en Revit .......................................................................... 46

3.2. Adaptación de la plataforma de Unity para trabajar con Magic Leap One: configuraciones y descargas previas ....................................................................................... 58

3.3. Creación del proyecto dentro de Unity ....................................................................... 63

3.4. Diseño de la aplicación en Unity ................................................................................. 65

3.5. Instalación de la aplicación en las Magic Leap One .................................................... 89

4. Caso de Estudio .................................................................................................................. 90

4.1. Modo Control de Calidad (CC) ..................................................................................... 90

4.2. Modo Prevención de Riesgos Laborales (PRL) ............................................................ 93

Octubre 2019

JORGE LUIS RAMOS HURTADO 9

4.3. Modo de Mantenimiento ............................................................................................ 96

4.4. Modo Ayudas a la Construcción de Armaduras (CAC) ................................................ 97

4.5. Análisis del proceso seguido ....................................................................................... 99

5. Conclusiones y futuras líneas de investigación ................................................................ 101

5.1. Conclusiones.............................................................................................................. 101

5.2. Futuras líneas de investigación ................................................................................. 103

Bibliografía ................................................................................................................................ 104

Anejos ........................................................................................................................................ 104

Configuración inicial en Unity para la creación de una App en Magic Leap ......................... 106

RayCastVisual ........................................................................................................................ 116

Menu Handler ....................................................................................................................... 121

Initial Instructions Panel Handler .......................................................................................... 124

Mode 2 Options Menu Handler ............................................................................................ 126

Miixing Handler ..................................................................................................................... 128

Octubre 2019

JORGE LUIS RAMOS HURTADO 10

Índice de esquemas

Esquema 1: Diagrama de los componentes de la realidad mixta. Fuente: (Microsoft, 2018).................... 19 Esquema 2: Componentes principales para la creación de una app en RA con sus distintas plataformas

más populares. Fuente: propia. ......................................................................................................... 29 Esquema 3: Plataformas investigadas compatibles con Unity. Enmarcado en rojo se muestran las 2

plataformas designadas para el desarrollo de esta tesina. ............................................................... 35 Esquema 4: Funciones principales de las Magic Leap One. Fuente: propia. .............................................. 39 Esquema 5: Procedimiento para la creación del archivo del modelo 3D aceptado por Unity. .................. 47 Esquema 6: Plataformas y elementos utilizados para el desarrollo de la aplicación en RA con sus

respectivas versiones. ........................................................................................................................ 60

Octubre 2019

JORGE LUIS RAMOS HURTADO 11

Índice de ilustraciones

Ilustración 1: Dimensiones del BIM. ........................................................................................................... 18 Ilustración 2: Distintas plataformas que favorecen la metodología BIM. .................................................. 19 Ilustración 3: Ivan Sutherland con el primer dispositivo de realidad aumentada. ..................................... 20 Ilustración 4: Aplicación del Pokemon Go. ................................................................................................. 21 Ilustración 5: Aplicación en el ámbito del aprendizaje. .............................................................................. 21 Ilustración 6: Determinación de la red de saneamiento mediante gafas de realidad aumentada. Fuente:

ColonialWebb Contractors Company. ................................................................................................ 23 Ilustración 7: Implantación del modelo tridimensional en un plano bidimensional. Fuente: doka.com ... 23 Ilustración 8: Visualización en RA de las instalaciones previo a su colocación. Fuente: Daqri Smart

Glasses. .............................................................................................................................................. 24 Ilustración 9: Oscar utilizando las gafas de RA Micorsoft HoloLens. Fuente: ¡Error! No se encuentra el

origen de la referencia. (deCoss Henning, 2017) ............................................................................... 24 Ilustración 10: Precisión final en las armaduras de un pilar. Fuente: [2] (Chavarri de Lemos, 2018) ........ 25 Ilustración 11: Deformación de una viga visualizada en realidad virtual. Fuente: [3] (Claure Soliz, Febrero

2019) .................................................................................................................................................. 26 Ilustración 12: Muestra una aplicación instructiva de mantenimiento mediante videollamada. Fuente:

Microsoft.com .................................................................................................................................... 26 Ilustración 13: Componente principal de las Magic Leap Ones, las gafas. Fuente: propia. ....................... 27 Ilustración 14: Ejemplos de las fases de renderizado de una vivienda. Fuente: Unity ............................... 28 Ilustración 15: Plataformas informáticas compatibles con Unity. Fuente: Unity ....................................... 28 Ilustración 16: Organización de las principales ventanas en Unity. Fuente: propia. .................................. 28 Ilustración 17: Ejemplo de acceso a información de datos BIM mediante un recorrido virtual por la

infraestructura. Fuente: Unity ........................................................................................................... 30 Ilustración 18: Ejemplos de aplicaciones desarrolladas con Vuforia. Manufacturación (izquierda) y

mantenimiento (derecha). Fuente: (Vuforia) .................................................................................... 31 Ilustración 19: Resultado de la aplicación realizada con Vuforia. Fuente: propia. ..................................... 32 Ilustración 20: Web inicial de ARCore para trabajar con Unity. Fuente: ARCore ....................................... 34 Ilustración 21: Creación del primer prototipo en 2014 (izquierda) y del segundo en 2015 (derecha).

Fuente: Magic Leap. .......................................................................................................................... 36 Ilustración 22: Componentes de las Magic Leap One en su caja de origen. Fuente: propia. ..................... 37 Ilustración 23: Chips fotónicos en las lentes de las gafas. Fuente: propia. ................................................ 37 Ilustración 24: Componentes internos del LightWear y LightPack. Fuente: (IFIXIT) .................................. 38 Ilustración 25: Manual de colocación de las gafas y del LightPack. ........................................................... 38 Ilustración 26: Disposición para la carga del LightWear y el Control. ........................................................ 38 Ilustración 27: Visualización del Control en una experiencia en RA. Fuente: propia. ................................ 40 Ilustración 28: Visualización de la mano dentro de Magic Leap. Fuente: magic-leap.reality.news........... 41 Ilustración 29: Menú principal de la escena InputModule. Fuente: propia. ............................................... 41 Ilustración 30: Permanencia de l modelo de las cimentaciones en el entorno real. .................................. 42 Ilustración 31: Colocación de esferas virtuales en el entorno real. Fuente: propia. .................................. 43 Ilustración 32: Reconocimiento del entorno real y visualización mediante la creación del mallado. ........ 43 Ilustración 33: Primeras impresiones de la experiencia en realidad aumentada....................................... 44 Ilustración 34: Comparativa del campo de visión entre las Magic Leap, HoloLens y las gafas de RV de Play

Station. Fuente: (Beat) ....................................................................................................................... 45 Ilustración 35: Ubicación de la construcción de la Nave A (abajo a la derecha), dentro del polígono

industrial existente. ........................................................................................................................... 46 Ilustración 36: Archivo original de la nave A, donde se muestra la ubicación de las cimentaciones y los

detalles constructivos de éstas. Fuente: CROMSA ............................................................................ 47 Ilustración 37: Archivo AutoCad de las cimentaciones de la nave A modificado para el anclaje del dibujo

en REVIT. ............................................................................................................................................ 48 Ilustración 38: Proceso para la designación de las unidades de proyecto en AutoCAD. ............................ 48 Ilustración 39: Paso 1: Selección de todo el dibujo y con el comando _MOVE y se determina el origen del

dibujo. En este caso es la esquina inferior derecha del encepado con denominación 11G. ............. 49

Octubre 2019

JORGE LUIS RAMOS HURTADO 12

Ilustración 40: Paso2: Inserción manual numérica de las coordenadas (0,0). ........................................... 49 Ilustración 41: Pasos iniciales para la creación de un proyecto en Revit. .................................................. 50 Ilustración 42: Guía para anclar un dibujo de AutoCAD en Revit. .............................................................. 51 Ilustración 43: Indicaciones para visualizar el punto base de proyecto en Revit. ...................................... 52 Ilustración 44: Modelado de las zapatas existentes. .................................................................................. 53 Ilustración 45: Modelado de la familia: Encepados – Pilotes. .................................................................... 53 Ilustración 46: Modelado de las riostras existentes. .................................................................................. 54 Ilustración 47: Modelado de los muretes-riostras. .................................................................................... 54 Ilustración 48: Modelado de las armaduras de los Muretes-Riostras. ....................................................... 55 Ilustración 49: Modelado de las armaduras de los encepados y pilotes. ................................................... 55 Ilustración 50: Modelado de las columnas existentes y de nueva construcción. ....................................... 56 Ilustración 51: Modelado de elementos no estructurales de nueva construcción: paredes, puerta

enrollable de la nave y puerta de entrada. ........................................................................................ 56 Ilustración 52: Ubicación de la opción de exportación al archivo FBX. ...................................................... 57 Ilustración 53: Apartado en página web de Unity para iniciar experiencias con Magic Leap. ................... 58 Ilustración 54: Panel principal del Magic Leap Package Manager. ............................................................ 59 Ilustración 55: Notificación donde se comenta la incompatibilidad de las funciones MLInputModel y

MLInputRaycaster con la última versión del Unity Package (0.22.0). ............................................... 59 Ilustración 56: Apartado Learn de la página web principal dónde se encuentra la documentación paso a

paso para crear una aplicación de Magic leap en Unity. ................................................................... 61 Ilustración 57: Estado final de la creación del certificado de desarrollo. Fuente: propia. ......................... 62 Ilustración 58: Paso 6: Configuración de Lumin dentro de Unity > Player Settings.................................... 63 Ilustración 59: Paso 7: Configuración del Bundle Identifier dentro de Unity > Player Settings. ................. 64 Ilustración 60: Paso 8: Configuración del Api Compatibility Level dentro de Unity > Player Settings. ....... 64 Ilustración 61: Organización inicial de las carpetas. ................................................................................... 65 Ilustración 62: Implantación del modelo en la escena mediante su arrastre a Hierarchy (izquierda) y

desagrupado del modelo (derecha)................................................................................................... 66 Ilustración 63: Estructuración de las carpetas en Hierarchy (superior) y eliminación de los elementos

dispensables (en azul). ....................................................................................................................... 67 Ilustración 64: Creación de los materiales de las distintas barras, y descarga de nuevos materiales desde

el Asset Store. .................................................................................................................................... 67 Ilustración 65: Pasos para la asignación de materiales. ............................................................................. 68 Ilustración 66: Resultado final de la asignación de materiales al modelo. ................................................. 68 Ilustración 67: Pasos iniciales para la creación del menú........................................................................... 70 Ilustración 68: Pasos para crear EmptyGameObjects de los modos y adhesión del script MenuHandler.. 71 Ilustración 69: Pasos iniciales para la creación del modo control de calidad. ............................................ 72 Ilustración 70: Creación del Panel de Instrucciones utilizado para todos los modos. ................................ 73 Ilustración 71: Creación del menú interno del modo control de calidad. .................................................. 75 Ilustración 72: Guía del proceso para la creación de los elementos necesarios para la implantación del

modelo virtual en el entorno real. ..................................................................................................... 76 Ilustración 73: Disposición de las variables públicas para el componente en forma de script

RaycastVisual. .................................................................................................................................... 76 Ilustración 74: Transcurso de la aplicación en el modo control de calidad. ............................................... 78 Ilustración 75: Panel instructivo del modo PRL. ......................................................................................... 79 Ilustración 76: Configuración del menú interno del modo PRL. ................................................................. 80 Ilustración 77: Pasos a seguir para la adhesión de los elementos de obra. ............................................... 83 Ilustración 78:Resultado de la asignación de los boxes colliders a los elementos determinados. ............. 84 Ilustración 79: Responsable realizando el control de calidad de las armaduras. ....................................... 91 Ilustración 80: Riesgo de colisión con la pala de la excavadora (izquierda). Y caída dentro de la zanja

(derecha). Fuente: Yanet Caldes, Seguridad en excavaciones y Zanjas, SLIDESHARE. ...................... 94 Ilustración 81: Puntos ciegos de una hormigonera. ................................................................................... 94 Ilustración 82: Detección real de la hormigonera mediante la función Box Collider, y posterior aviso.

Fuente: propia ................................................................................................................................... 95 Ilustración 83: Grietas en una viga por origen desconocido. Fuente: Quora.com ..................................... 96

Octubre 2019

JORGE LUIS RAMOS HURTADO 13

Ilustración 84: Ejemplos de armadura compleja donde la importancia de una buena colocación es fundamental en cimentaciones. Fuente: (GeotechTips) ................................................................... 98

Ilustración 85: Desviación del pilar debido a insuficiencia de armadura de espera. Fuente: (ESCALESA) 98 Ilustración 86: Medición manual y repetitiva de la disposición de las armaduras. Fuente: ...................... 98 Ilustración 87: Operario durante el montaje de la armadura. ................................................................... 99 Ilustración 88: Paso 1: Creación de un nuevo proyecto en Unity. ............................................................ 106 Ilustración 89: Paso 2: Selección del tipo de proyecto en Unity. ............................................................. 107 Ilustración 90: Paso 3: Instalación de XR Legacy Input Helpers ................................................................ 108 Ilustración 91: Paso 4: Ubicación del Lumin SDK dentro de Unity............................................................ 109 Ilustración 92: Paso 5: Cambio de plataforma a Lumin desde Build Settings. .......................................... 110 Ilustración 93: Paso 6: Configuración en la plataforma Lumin dentro de Player Settings. ...................... 111 Ilustración 94: Paso 7: Cambios de configuración en el apartado XR Settings. ........................................ 112 Ilustración 95: Paso 8: Importación del Magic Leap Unity Package......................................................... 113 Ilustración 96: Paso 9: Configuración de la cámara principal del proyecto. ............................................. 114 Ilustración 97: Paso 10: Copia del archivo manifest.xml .......................................................................... 115

Octubre 2019

JORGE LUIS RAMOS HURTADO 14

1. PLANTEAMIENTO

1.1. Introducción

En estas últimas décadas, donde la revolución tecnológica está teniendo un papel fundamental

en los distintos sectores, está habiendo una gran optimización de los distintos recursos. Sin

embargo, el sector de la AIC siempre ha sido un tanto reacio a los grandes cambios. La

investigación actual es visible en diversas áreas tecnológicas, pero la implementación de éstas

se hace más difícil de llevar a cabo, debido a la poca inversión en tecnología en comparación a

otros sectores.

Para la aplicación que se realiza en esta tesina, se ha de tener en cuenta los aspectos

metodológicos actuales que se llevan a cabo en el sector. Y, además, se debe realizar un estudio

de las tecnologías actuales.

En este primer aspecto, se analiza la situación actual de las metodologías en la fase de

construcción de armaduras y, también, las posibles mejoras en materia de PRL. Y en el aspecto

tecnológico se realiza una revisión del contexto de las tecnologías en materia de realidad

aumentada para la creación de la aplicación. Para ello, se requiere de conceptos de

programación y conocimiento de plataformas informáticas como Unity, Vuforia, Revit, etc., que

se explican más adelante.

Mediante todos estos conceptos, se tiene una base de conocimiento adecuada para la creación

de una aplicación de realidad aumentada.

En la actualidad, al trabajar en la empresa constructora CROMSA CONSTRUCCIÓN Y

MEDIOAMBIENTE, SA, se tiene la oportunidad de conocer los retos que conlleva una obra de

construcción y que sin duda aportan ideas para la realización de esta tesina.

Debido a los de esta empresa, se ha abierto un abanico de posibilidades para conocer dónde la

RA puede ser de gran ayuda. Siendo de gran interés personal, las instalaciones, las

cimentaciones y las ayudas en materia de PRL.

Después de analizar las posibilidades de implantación en obra, se decanta finalmente por las

cimentaciones debido a que se le ve un gran potencial para poder implantar la RA. A lo largo de

esta tesina se argumentan los beneficios que se pueden conseguir, y posteriormente, se crea

Octubre 2019

JORGE LUIS RAMOS HURTADO 15

una aplicación de RA que sea aplicable para la mejora de procesos constructivos, además

teniendo en cuenta las posibles ayudas en PRL para esta actividad constructiva.

1.2. Objetivos

El objetivo principal de esta tesina es el diseño e implementación de una aplicación en realidad

aumentada para la supervisión de cimentaciones y de los procedimientos de PRL, como casos

de uso del potencial de la RA en la construcción.

La determinación de este objetivo, es crucial para el rumbo de esta tesina, es por ello que a

continuación, se determinan los objetivos generales y específicos.

1.2.1. Objetivos Generales

Los objetivos generales de este trabajo, son los siguientes:

- Obtener un conocimiento de las tecnologías actuales en RA pudiendo realizar un análisis

sobre qué alternativa se adecua más al desarrollo de esta experiencia.

- Aprender acerca de la implementación de la RA.

- Crear una aplicación de RA para que los procesos constructivos sean más eficientes, más

precisos y consecuentemente más económicos.

- Conocimiento de uso de las plataformas informáticas que intervienen, para poder

explorar la extensión del desarrollo y otros tipos de aplicación.

- Analizar posibles mejoras en materia de PRL gracias a la RA.

- Implantar y desarrollar una metodología más digital y menos dependiente del papel.

1.2.2. Objetivos Específicos

Los objetivos específicos son los siguientes:

- Aprender el uso de una plataforma de creación de experiencias de RV y RA, como Unity

3D.

- Obtener un conocimiento de programación en lenguaje C#.

- Lograr un conocimiento profundo de las gafas de RA (Magic Leap One).

- Realizar una prueba de campo, donde poder extraer conclusiones más robustas acerca

de la implantación de esta tecnología.

- Alimentarse de información acerca de la complementación de distintas plataformas

informáticas.

- Ampliar el conocimiento acerca de los dispositivos aptos para aplicaciones en RA.

Octubre 2019

JORGE LUIS RAMOS HURTADO 16

1.3. Metodología

La metodología a seguir para la creación de la aplicación requiere de dos grandes campos:

aprendizaje e investigación.

La primera consistirá en el aprendizaje del uso del software informático, dónde son necesarias

diversas plataformas que se complementan y hacen posible la creación de aplicaciones en RA.

El aprendizaje de estas plataformas conlleva al acceso de grandes fuentes de información para

conocer las funciones más significativas para dicha aplicación.

En cuanto al campo de investigación consiste en analizar los distintos procesos constructivos y

controles de calidad actuales en armaduras para idear mejoras con ayuda de la RA. Por ello, se

ha de idear un nuevo método que fortalezca las principales carencias actuales para, en un futuro

poder sustituir de manera firme las prácticas anteriores, con la muestra de evidentes mejoras

en estos procesos.

Dentro de este campo también se realiza el aprendizaje con las gafas de RA (Magic Leap), las

cuales son de creación reciente (2018) y con una presencia escasa en Europa. Este hecho implica

la no existencia de trabajos de referencia con este dispositivo. Situación que comporta un

análisis exhaustivo de las funciones de las gafas para establecer una metodología robusta y que

sirva de referencia para futuras investigaciones.

En términos de RA y RV, se toma como referencia trabajos de investigación de alumnos y

exalumnos de la Escuela de Caminos Canales y Puertos de Barcelona, (deCoss Henning, 2017),

(Navarro, 2018) (Chavarri de Lemos, 2018). Los trabajos citados, determinan una ruta para una

revolución tecnológica en el sector de la construcción en materia de aplicabilidades de la RA.

Octubre 2019

JORGE LUIS RAMOS HURTADO 17

2. Contexto de la Tecnología Actual

Para una mejor comprensión de las posibilidades y los límites de la tecnología actual, es vital

realizar una revisión del contexto de la tecnología en materia de RA.

Por ello se realiza un análisis de las plataformas existentes necesarias para esta aplicación, y se

determina cuáles son las más favorables para el diseño e implantación de aplicaciones en

construcción, en particular de las armaduras en cimentaciones.

2.1. Building Information Modeling (BIM)

BIM, Building Information Modeling, es una metodología que se basa en la gestión de datos de

los distintos elementos constructivos para una obra de edificación o de infraestructura. Estos

elementos constructivos se modelan desde una plataforma informática, la cual te permite

acceder a cualquier atributo del elemento durante todo el ciclo de vida de la obra en cuestión.

Además, se basa en la cooperación, desde el inicio, de los distintos agentes que intervienen en

el ciclo de vida de una edificación o infraestructura. Esta colaboración y participación mejora la

eficiencia en la toma de decisiones y tiene como objetivo eliminar la pérdida de información que

sucede cuando el agente que se encarga del diseño no tiene en cuenta la presencia del agente

que se encarga de la construcción.

Esta dinámica de trabajo se basa en 7 grandes aspectos o, como se denomina mayoritariamente,

dimensiones. En la Ilustración 1, se muestran los componentes de cada una.

Octubre 2019

JORGE LUIS RAMOS HURTADO 18

Ilustración 1: Dimensiones del BIM.

Pese a que se establecen 7 dimensiones, hay opiniones acerca de la existencia de la octava

dimensión que contempla los aspectos relacionados con la seguridad y salud en la obra.

Uno de los grandes objetivos de esta metodología es la de reducir costes a partir de la mejora

de flujos de trabajo. Actualmente su ineficiencia repercute desfavorablemente en el sector por

una cantidad de 450 mil millones de dólares anuales según un estudio realizado por la empresa

de software informático (VERITY).

Por todas estas ventajas que supone para el sector, el desarrollo realizado en esta tesina ha de

ser compatible con la metodología BIM para facilitar la interpretación e interoperabilidad de los

datos.

Existen diversas plataformas informáticas que permiten la modelización 3D de la infraestructura

y/o la gestión de sus datos. En la Ilustración 2, se muestra la cantidad de plataformas en los

distintos campos de esta metodología, como pueden ser programas de diseño 2D y 3D (AutoCAD

y Revit); creación de experiencias en RA y RV (Unity), gestión de datos (BIM 360), de detección

de intersecciones entre objetos (NavisWorks), etc.

Octubre 2019

JORGE LUIS RAMOS HURTADO 19

Ilustración 2: Distintas plataformas que favorecen la metodología BIM.

2.2. Realidad Mixta

Según Microsoft, una de las empresas más dedicadas a la realidad mixta (RM), la define como

“Una mezcla de contenido real y virtual en entornos híbridos donde coexisten e interactúan

objetos físicos y digitales.” (Microsoft, 2018). Y en efecto, se trata de la interacción entre los dos

entornos al que se le añade el componente humano que es participe de la visualización de esta

interacción. En el Esquema 1, se muestra el diagrama de los componentes que intervienen en la

RM.

Esquema 1: Diagrama de los componentes de la realidad mixta. Fuente: (Microsoft, 2018)

Octubre 2019

JORGE LUIS RAMOS HURTADO 20

Sin embargo, existe una definición más profunda acerca de dos realidades donde intervienen la

interacción humana y digital.

- Realidad aumentada: experiencia que permite la interacción entre objetos/gráficos

virtuales y el entorno real. Se permite la extracción de información por parte del usuario

y modificar estos objetos como si pertenecieran en la realidad.

- Realidad virtual: experiencia donde el entorno visualizado es completamente virtual.

Existe la interacción entre el usuario y este entorno, pero el entorno virtual no se

complementa con el real.

Otra de las definiciones que se le otorga a la RA consiste en la existencia del entorno

convencional que conocemos como realidad, al cual se le añaden objetos virtuales o información

gráfica que llenan y “aumentan” esta realidad convencional, dando origen al nombre de realidad

aumentada.

Debido a que la experiencia de esta tesina se desarrolla en el ámbito de la RA, nos centraremos

en descubrir sus características.

2.2.1. Realidad Aumentada

La realidad aumentada es una tecnología que se ha desarrollado en la década de los 60 pese que

se piensa que es más reciente. Esto es debido a que no ha tenido un gran impacto en el mercado

global hasta, prácticamente, este último siglo donde el gran avance de las tecnologías ha

permitido su implementación en el mercado obteniendo grandes resultados. De hecho, el

primer dispositivo de realidad aumentada fue creado en 1968 por el profesor de Harvard

University, Ivan Sutherland junto a su alumno Bob Sproull. Este dispositivo permitía la

visualización de objetos virtuales a través de dos lentes.

Ilustración 3: Ivan Sutherland con el primer dispositivo de realidad aumentada.

Octubre 2019

JORGE LUIS RAMOS HURTADO 21

En la actualidad, la realidad aumentada tiene múltiples aplicaciones como puede ser el conocido

juego Pokemo Go, en el cual se implantan dibujos animados virtuales en las calles [Ilustración

4]. También existen aplicaciones en el campo de la enseñanza, donde se proporciona una mayor

inmersión y comprensión del objeto de estudio [Ilustración 5]:

Ilustración 4: Aplicación del Pokemon Go.

Ilustración 5: Aplicación en el ámbito del aprendizaje.

En el ámbito ingenieril, también existen gran variedad de aplicaciones. Cada vez son más los

sectores que se benefician de esta tecnología obteniendo grandes resultados. En la actualidad,

el sector que más inversión dedica y prevé dedicar a la RA, es el automovilístico tal y como se

muestra en el Gráfico 1.

Octubre 2019

JORGE LUIS RAMOS HURTADO 22

Gráfico 1: Inversión en RA de distintos sectores en el año 2017 y su previsión en el año 2020. Fuente:

PWC 2017 Global Digital IQ Survey, datos de 2.216 empresas y ejecutivos de las tecnologías de la

información y comunicación, de 53 países.

En cambio, en el sector de la AIC su inversión es menor, lo cual dificulta un desarrollo elaborado

de posibles aplicaciones a implementar. Sin embargo, se han realizado primeras aplicaciones

que demuestran su capacidad de extracción de información y facilidad de visualización de

elementos complejos. Por ejemplo, el uso para la visualización de la red de saneamiento, o la

comprensión de planos mediante su levantamiento en 3D.

Octubre 2019

JORGE LUIS RAMOS HURTADO 23

Ilustración 6: Determinación de la red de saneamiento mediante gafas de realidad aumentada. Fuente: ColonialWebb Contractors Company.

Ilustración 7: Implantación del modelo tridimensional en un plano bidimensional. Fuente: doka.com

El mayor uso de la RA en la construcción, es la visualización del modelo virtual de las

instalaciones en su emplazamiento final. Esta aplicación ha supuesto un gran avance ya que

comporta una mayor eficiencia en su instalación. Además, reduce drásticamente la existencia

de errores de colocación ya que en todo momento se conoce la red completa, la posición de las

conexiones y su compatibilidad con los demás sistemas de una infraestructura.

Octubre 2019

JORGE LUIS RAMOS HURTADO 24

Ilustración 8: Visualización en RA de las instalaciones previo a su colocación. Fuente: Daqri Smart

Glasses.

También cabe destacar las investigaciones realizadas acerca de la RA en la Universidad

Politécnica de Catalunya (UPC), en la Escuela Técnica Superior de Ingeniería de Caminos, Canales

y Puertos de Barcelona (ETSECCPB), en colaboración con CIMNE.

Estas investigaciones se han llevado a cabo por los exalumnos Óscar de [6], cuyo trabajo se

centra en la aplicación de la RA en la construcción y realiza un análisis exhaustivo de la tecnología

actual en el momento dentro del ámbito de la RA.

Ilustración 9: Oscar utilizando las gafas de RA Micorsoft HoloLens. Fuente: ¡Error! No se encuentra el

origen de la referencia. (deCoss Henning, 2017)

Octubre 2019

JORGE LUIS RAMOS HURTADO 25

El trabajo de Gerardo Chavarri [2], el cual se centra en la visualización en RA de modelos BIM y

realiza una experiencia para la visualización de las armaduras con la plataforma ARKit. En esta

experiencia determina que la precisión de la implantación es de aproximadamente de 5 cm

cuando el origen se encuentra a 4,5 metros.

Ilustración 10: Precisión final en las armaduras de un pilar. Fuente: [2] (Chavarri de Lemos, 2018)

Y, por último, Rolando Chacón, profesor e investigador en la ETSECCPB y que ha liderado

investigaciones sobre el desarrollo de aplicaciones inmersivas de realidad aumentada y realidad

virtual para ensayos de estructuras de acero inoxidable. Como en la tesis de máster elaborada

por Ruth Claure [3].

Octubre 2019

JORGE LUIS RAMOS HURTADO 26

Ilustración 11: Deformación de una viga visualizada en realidad virtual. Fuente: [3] (Claure Soliz, Febrero 2019)

Los dispositivos más interesantes en esta disciplina son las gafas de RA que en la actualidad

coexisten diversos modelos y marcas.

Las más destacadas, son la Microsoft HoloLens, desarrolladas en EUA y que permiten una

experiencia inmersiva que está muy avanzada, ya que en la actualidad ya se ha desarrollado la

segunda versión: Microsoft Holo Lens 2. Estas gafas son las más comercializadas alrededor del

mundo, siendo de destacar la última venta de 100.000 unidades al ejército americano.

Ilustración 12: Muestra una aplicación instructiva de mantenimiento mediante videollamada. Fuente:

Microsoft.com

Octubre 2019

JORGE LUIS RAMOS HURTADO 27

Las Magic Leap One de la compañía Magic Leap, que lleva una década con el desarrollo de su

primera versión y que se muestra como la gran competencia de las HoloLens.

En el desarrollo de esta tesina se describen sus componentes y funciones principales.

Ilustración 13: Componente principal de las Magic Leap Ones, las gafas. Fuente: propia.

2.3. Unity: Plataforma de desarrollo 3D

Tal y como se indica en la página web oficial, Unity, se describe a sí misma como “una plataforma

de desarrollo 3D en tiempo real “, y que, además, permite el desarrollo de aplicaciones en RA y

RV. Fundada en Dinamarca en el año 2004, su inversión ha ido en auge debido a las múltiples

prestaciones que ofrece.

Según los datos publicados por Unity, esta plataforma es la más empleada por los creadores de

aplicaciones en RA para dispositivos móviles. Esto es en gran parte debido a la capacidad de

renderizados avanzados y, sobre todo, de la gran compatibilidad con otras plataformas de

software informático como Windows, Apple, Android, Magic Leap, ARCore, ARKit y Vuforia entre

otras.

Octubre 2019

JORGE LUIS RAMOS HURTADO 28

Ilustración 14: Ejemplos de las fases de renderizado de una vivienda. Fuente: Unity

Ilustración 15: Plataformas informáticas compatibles con Unity. Fuente: Unity

A continuación, en la Ilustración 16, se describe la organización de la plataforma y sus principales

funciones. Esta información se muestra con más detalle en la web oficial de Unity.

Ilustración 16: Organización de las principales ventanas en Unity. Fuente: propia.

Octubre 2019

JORGE LUIS RAMOS HURTADO 29

Como se observa, existen 4 ventanas principales con una función específica, organizadas de una

manera determinada. Esta organización es modificable desde la barra de menús superior

Window > Layouts. Sus funciones, se describen a continuación:

1. Ventana Project: Desde esta ventana se accede y se organizan los distintos

componentes y elementos de una aplicación, en Unity denominados Assets.

2. Ventana Scene: Trata de la visualización del entorno que se está creando y permite

interactuar y modificar con los elementos que lo componen.

3. Ventana Hierarchy: Contiene la lista de todos los objetos (GameObjects) que se

encuentran en la Scene de trabajo. Una de las ventajas es que permite crear

dependencias entre objetos para múltiples utilidades.

4. Ventana Inspector: Muestra información detallada del elemento seleccionado. Esta

información está organizada por componentes como pueden ser scripts, materiales,

renderizados, textos, etc.

Se realizan pruebas, en diferentes plataformas compatibles con Unity, para el conocimiento de

las capacidades de éstas, y así, poder extraer conclusiones acerca de cuál es más óptima para la

creación de una app en RA. Las pruebas realizadas se hacen con las plataformas de VUFORIA,

ARCore y Magic Leap.

En el siguiente esquema, se muestran los componentes necesarios para la realización de una

aplicación en RA.

Unity

Unreal

Godot

ARCore

ARKit

Vuforia

Magic Leap

Móviles

Tablets

Gafas de RA

Esquema 2: Componentes principales para la creación de una app en RA con sus distintas plataformas más

populares. Fuente: propia.

Octubre 2019

JORGE LUIS RAMOS HURTADO 30

Recientemente, Unity ha desarrollado una colaboración con la plataforma de diseño 2D y 3D,

Autodesk, para el traspaso de datos BIM y así facilitar su gestión para la creación de aplicaciones.

Este desarrollo permite acceder a estos datos de manera instantánea, y así, favorecer una

colaboración más inmersiva donde todos los agentes intervinientes tienen acceso a ellos y, así,

se puedan tomar decisiones más ágiles y acertadas.

Estas funciones solo están disponibles para la versión profesional de Unity, que tiene un precio

de 125 $ al mes. Las posibilidades de esta versión son más amplias, ya que permiten exportar

datos BIM en formato IFC (Industry Foundation Classes).

IFC es un formato estándar que permite la interoperabilidad entre programas BIM, ya que tiene

la capacidad de almacenar datos relacionados con el diseño, construcción, mantenimiento y

operaciones de obra civil.

Sin embargo, no se importan directamente en la plataforma de Unity. Para la resolución de este

problema, la plataforma danesa ofrece un paquete informático: PiXYZ Plugin. Este paquete se

ha desarrollado en colaboración la empresa de software informático PiXYZ que sí permite la

importación en Unity de archivos IFC a través de este Plugin.

Los resultados de esta colaboración es la de tener acceso a los datos BIM desde Unity y poder

darles el uso que uno desee. En la Ilustración 17, se muestra un ejemplo de los resultados de

esta compatibilidad entre las plataformas descritas.

Ilustración 17: Ejemplo de acceso a información de datos BIM mediante un recorrido virtual por la infraestructura. Fuente: Unity

Octubre 2019

JORGE LUIS RAMOS HURTADO 31

2.4. VUFORIA: Plataforma de Realidad Aumentada

Vuforia es una plataforma de realidad aumentada compatible con Unity, que permite la creación

de apps en RA mediante el reconocimiento de marcadores (imágenes o patrones) en el entorno

real.

Una de las aplicaciones más extendidas es la de ayudas mediante paneles al manejo de

maquinaria industrial, instrucciones de montaje, mantenimiento, marketing y todo tipo de

acceso instantáneo a información.

Ilustración 18: Ejemplos de aplicaciones desarrolladas con Vuforia. Manufacturación (izquierda) y

mantenimiento (derecha). Fuente: (Vuforia)

Tal y cómo realizó (Chavarri de Lemos, 2018) en su tesis, se realiza el modelo tridimensional de

la estructura de un proyecto de CROMSA (proceso explicado en 3.3 Creación del proyecto dentro

de Unity) y se realiza la implementación en el espacio real mediante marcadores QR que en este

caso trata del carnet UPC. Debido a la gran envergadura del modelo 3D se tuvo que realizar la

prueba a una escala menor debido a la poca potencia del teléfono móvil que no soportaba un

modelo de gran tamaño. El resultado, se puede observar en la ilustración siguiente.

Octubre 2019

JORGE LUIS RAMOS HURTADO 32

Ilustración 19: Resultado de la aplicación realizada con Vuforia. Fuente: propia.

Debido a que los entornos de una obra de construcción son amplios y el reconocimiento de

marcadores es preciso en posición, pero no en direccionamiento, ya que es difícil ser preciso en

dirección con un marcador de pequeñas dimensiones. Por esta razón, se descarta esta

plataforma debido a la necesidad de precisión para la aplicación a realizar.

La precisión de rotación es poco robusta para la experiencia requerida para esta tesina. Sin

embargo, esta opción puede ser muy sólida para la visualización de modelos más pequeños, que

no requieran de gran precisión de direccionamiento, como por ejemplo la visualización de

componentes pequeños en el sector del automóvil.

Octubre 2019

JORGE LUIS RAMOS HURTADO 33

2.5. ARCore: Plataforma de Realidad Aumentada

ARCore, (Augmented Reality Core) es una plataforma de realidad aumentada creada por Google

y que está disponible gratuitamente para poder trabajar desde Android con Unity. Ésta ofrece

una inmersión y una interacción equivalente a la plataforma de RA de Apple, ARKit. Estas

plataformas combinan el entorno virtual y el real de manera muy avanzada, lo cual ayuda a la

comprensión del entorno de realidad mixta.

Esta plataforma también permite trabajar con dispositivos de la marca Apple, para competir con

la plataforma de ARKit que es de desarrollo exclusivo para el sistema iOS de Apple.

Seguidamente se muestra de manera general los inicios para la creación del entorno ARCore

dentro de Unity.

Para la creación de aplicaciones en iOS se precisa del Entorno de Desarrollo Integrado (IDE, en

sus siglas en inglés) Xcode. El cual permite desarrollar aplicaciones combinando las plataformas

de ARCore y Unity. Esta plataforma solo está disponible para ordenadores con el sistema

operativo de Apple.

Al no disponer de un ordenador con el sistema operativo mencionado, se opta por realizar una

prueba con Unity, ARCore y la plataforma de programación Visual Studio 2017 necesaria para la

realización de scripts dentro de Unity.

Para crear una aplicación de RA en Unity, primero, se debe descargar el SDK de ARCore para

Unity que se encuentra disponible en el apartado Developers de la web de ARCore. En la

siguiente ilustración, se encuentra el portal web donde se proporciona una guía de cómo

descargar los SDK que en el caso de esta tesina trata de un dispositivo Android.

Octubre 2019

JORGE LUIS RAMOS HURTADO 34

Ilustración 20: Web inicial de ARCore para trabajar con Unity. Fuente: ARCore

Una vez los SDK’s de ARCore están descargados, se procede a preparar el entorno para la

aplicación de RA en Unity. Descargando los Plugins necesarios para la compatibilidad entre Unity

y ARCore.

Este proceso de adaptación de la plataforma en Unity se detalla dentro de la web de ARCore, el

cual una vez se realiza se procede a la creación del proyecto dentro de Unity.

Después de desarrollar una aplicación con esta plataforma se observaron varios problemas de

compatibilidad con el dispositivo el cual se iba a implementar, que en este caso trata del teléfono

Blackview A30. Además, ARCore como requisito exige las últimas versiones del sistema

operativo Android, que en el caso de esta tesina no se poseían.

En consecuencia, por la falta de las últimas versiones y de la no posibilidad de uso de dispositivos

suficientemente potentes, se dificulta el desarrollo en esta plataforma y se continua en la

búsqueda de otras alternativas.

Por ello, se toma la decisión de no seguir con esta plataforma. Y se prosigue con otro dispositivo,

ya que se presenta la oportunidad de trabajar con unas gafas de realidad aumentada, las Magic

Leap One, propiedad de CIMNE, y desarrolladas por la compañía Magic Leap ubicada en Florida,

EUA.

Se decide usar estas gafas pues se trata de uno de los dispositivos más interesantes y completos

del mercado, el cual poca gente ha tenido la ocasión de probar.

Octubre 2019

JORGE LUIS RAMOS HURTADO 35

En el Esquema 3, se muestra el estado actual de esta tesina. Donde finalmente, las plataformas

utilizadas son Unity junto a Magic Leap.

Esquema 3: Plataformas investigadas compatibles con Unity. Enmarcado en rojo se muestran las 2 plataformas designadas para el desarrollo de esta tesina.

Octubre 2019

JORGE LUIS RAMOS HURTADO 36

2.6. Magic Leap: Gafas de realidad aumentada

Magic Leap es una compañía americana, concretamente de Plantation, Florida, que se dedica

en su totalidad al desarrollo tecnológico en materia de realidad aumentada. En agosto del 2018

sale a la venta las Magic Leap One, unas gafas de RA destinada exclusivamente al mercado

americano.

Estas gafas, permiten el desarrollo de aplicaciones en RA a través de distintas plataformas

informáticas de desarrollo 3D (Unreal Engine, Unity y Lumin Web Platform) o directamente

mediante lenguajes de programación (C/C++ y JavaScript).

Debido a la compatibilidad con Unity, se opta por esta plataforma ya que proporciona grandes

fuentes de información para el aprendizaje dentro de su página web oficial, y ha sido con la que

se ha practicado desde un inicio para la realización de esta tesina.

El desarrollo de este producto ha requerido de un largo proceso. En el año 2014 se obtuvieron

los primeros resultados, fecha en la que Magic Leap, muestra su primer prototipo. El capital de

inversores privados ha sido fundamental para obtener el modelo actual. En total, la compañía

americana ha conseguido 2,6 mil millones de dólares en financiamiento, lo que es una buena

muestra de la expectación que ha generado.

Ilustración 21: Creación del primer prototipo en 2014 (izquierda) y del segundo en 2015 (derecha).

Fuente: Magic Leap.

En este apartado se explicarán los componentes de las Magic Leap One, sus características más

destacadas, así como sus mayores defectos de esta primera versión.

Cabe destacar que este producto está a la venta exclusivamente en EUA para desarrolladores.

Por lo que su existencia en Europa es prácticamente escasa; y en España su presencia es todavía

menor. Así, esta tesina es de las primeras investigaciones que se realiza en España acerca de las

Magic Leap y de su aplicabilidad en el campo de la ingeniería civil.

Octubre 2019

JORGE LUIS RAMOS HURTADO 37

2.6.1. Magic Leap: Componentes

Las Magic Leap One están compuestas por diversos dispositivos con una función específica

(Mercé Gotsens, 2019). A continuación, se describen las funciones principales de cada

componente.

Ilustración 22: Componentes de las Magic Leap One en su caja de origen. Fuente: propia.

- LightWear: Es el componente principal, las gafas. Con dos chips fotónicos que funcionan

como pantallas que dejan pasar la luz a través para permitir la percepción del entorno

real. Además, contiene un micrófono, 3 sensores y un indicador de estado.

- LightPack: Es el componente circular, que contiene la CPU (Central Processing Unit), GPU

(Graphics Processing Unity), una memoria RAM de 8GB, un almacenamiento de 95 GB y

una batería con capacidad hasta 3 horas.

- Control: Componente principal que permite la interacción entre el entorno real y el

virtual. Con 3 botones y un panel táctil que permiten dar instrucciones y funcionalidad

en las aplicaciones.

- Lightpack Charger: Accesorio para la carga del dispositivo.

- Control Charger: Accesorio para la carga del Control.

Ilustración 23: Chips fotónicos en las lentes de las gafas. Fuente: propia.

Octubre 2019

JORGE LUIS RAMOS HURTADO 38

Ilustración 24: Componentes internos del LightWear y LightPack. Fuente: (IFIXIT)

La manipulación y la correcta colocación de los distintos componentes se describen

detalladamente en el manual. Las gafas han de estar ligeramente inclinadas en la cabeza para

evitar un mayor confort como se muestra en la siguiente ilustración.

Ilustración 25: Manual de colocación de las gafas y del LightPack.

La disposición para la carga de los componentes es la siguiente:

Ilustración 26: Disposición para la carga del LightWear y el Control.

Octubre 2019

JORGE LUIS RAMOS HURTADO 39

2.6.2. Funciones principales y características

Una vez analizado el producto, se analiza su compatibilidad con Unity y se procede a la creación

de aplicaciones sencillas para el conocimiento de las capacidades de este dispositivo.

Su instalación y adaptaciones necesarias para la creación de aplicaciones en RA se describen

detalladamente en el apartado: 3. Diseño.

Una vez se ha configura correctamente Unity para el desarrollo de aplicaciones de Magic Leap,

se observan diversos ejemplos que vienen incluidos en la descarga del paquete informático,

Magic Leap Package. Estos muestran las capacidades y funciones principales de las gafas. En

este apartado se recogen las primeras impresiones y se buscan las características y funciones

más interesantes para poder diseñar una aplicación en RA aplicada en cimentaciones.

En el Esquema 4, se muestran las funciones principales de las gafas.

2.6.2.1. Controller: Operabilidad y posicionamiento del Control

Esta función consiste en el conocimiento de la posición del Control. El dispositivo es de gran

ayuda para poder interactuar con los elementos/objetos virtuales en el entorno real. Además,

Funciones principales: Magic Leap

One

Controller

Input Module

Raycast

Placement

Persistance

Hand Tracking

Esquema 4: Funciones principales de las Magic Leap One. Fuente: propia.

Octubre 2019

JORGE LUIS RAMOS HURTADO 40

contiene mecanismos como botones (Bumper, Trigger y HomeButton) y el pad, que nos permite

dar Inputs dentro de la aplicación.

Para poder hacer uso del Control es necesario conocer su posición y su estado operativo, por lo

que se han de desarrollar scripts que controlen su operabilidad y su estado de funcionamiento.

Es por ello que dentro del Unity Package existen diferentes scripts con sus respectivas funciones.

A continuación, se comentan los diferentes scripts y su función:

- Controller Connection Handler: Script que maneja toda la información acerca de la

conectividad del Control. Esta conectividad puede ser modificada durante la ejecución

del aplicativo, por lo que es importante conocer el estado de operabilidad e informar de

cualquier evento que suceda.

- Controller Visualizer: Script que se encarga de poder visualizar el Input que se genera en

el Control dentro de la aplicación.

- Controller Transform: Script que calcula la posición y la rotación del Control.

Ilustración 27: Visualización del Control en una experiencia en RA. Fuente: propia.

2.6.2.2. Hand Tracking: Reconocimiento de gestos manuales

Esta función muestra la capacidad por parte de las gafas, de reconocer gestos manuales.

Esta detección se realiza mediante la función interna MLHands API (función de programación

integrada), que realiza un escaneado de las manos mediante los sensores y devuelve los puntos

clave (KeyPoints). Estos puntos son algunas articulaciones de los dedos, sus extremos, el centro

de la palma y la muñeca.

Para la visualización de los puntos en la app es necesario el script Hand Tracking Visualizer. Este

script detecta los puntos clave e implementa esferas en ellos. Además, los puntos se unen

mediante líneas renderizadas, que permiten identificar de manera esquelética una mano.

Octubre 2019

JORGE LUIS RAMOS HURTADO 41

En la Ilustración, se muestra la imagen del rastreo de estos puntos clave.

Ilustración 28: Visualización de la mano dentro de Magic Leap. Fuente: magic-leap.reality.news

2.6.2.3. Input Module: Interacción

Esta función nos permite, mediante un script, imponer Inputs a través del Controller, LightWear

o mediante reconocimiento ocular. El uso del menú principal para el desarrollo de una aplicación

puede servir de plantilla para la creación de un menú principal. Este componente ya contiene

los códigos de programación que permiten la detección del puntero láser y la selección de

botones mediante los pulsadores del Control.

Ilustración 29: Menú principal de la escena InputModule. Fuente: propia.

Octubre 2019

JORGE LUIS RAMOS HURTADO 42

2.6.2.4. Persistence: Persistencia de objetos virtuales en el entorno real

Esta función permite a cualquier objeto, al que se le asigne el script correspondiente,

permanecer en el espacio real. Esto se realiza mediante el cálculo constante de la posición del

objeto respecto un sistema de coordenadas general. El código de programación en concreto

tiene el nombre de Persistance Behaviour.

Ilustración 30: Permanencia de l modelo de las cimentaciones en el entorno real.

2.6.2.5. Placement: Colocación de objetos virtuales en el espacio real

En este caso, la función Placement, permite la implantación de objetos virtuales en un punto del

entorno real. El script que realiza esta función, emite una serie de rayos virtuales que detectan

los puntos del espacio real. Haciendo posible la ubicación de un modelo respecto a uno de los

puntos detectados.

Los códigos de programación necesarios para esta función son:

- MLSpatialMapper: se encarga del reconocimiento del entorno a través de la emisión de

rayos virtuales.

- Placement: se usa para la implantación del modelo virtual en el entorno real

previamente creado.

- Placement Visualizer: se encarga de la visualización de esta implantación.

Octubre 2019

JORGE LUIS RAMOS HURTADO 43

Ilustración 31: Colocación de esferas virtuales en el entorno real. Fuente: propia.

2.6.2.6. Raycast: Emisión de rayos virtuales

Esta función, mencionada previamente, se realiza a través de 3 sensores ubicados en las gafas

que detectan todo objeto con el que colisionen.

Estos rayos virtuales permiten realizar un reconocimiento del entorno real y así poder

interactuar con él y obtener una experiencia más realística. En la siguiente Ilustración, se

muestra un ejemplo de esta detección del entorno y una creación del mallado para su

visualización.

Ilustración 32: Reconocimiento del entorno real y visualización mediante la creación del mallado.

Octubre 2019

JORGE LUIS RAMOS HURTADO 44

2.6.2.7. Magic Leap One: Características positivas

En este apartado, se describen las características positivas más destacables de las Magic Leap

One.

En cuanto al diseño de las gafas, se puede sentir su ligereza y su compacidad. Esto, en gran parte,

es debido a que la mayor parte del hardware y la batería está concentrada en el LightPack, el

cual libera de peso a las gafas, favoreciendo la comodidad del usuario.

Otra gran característica es la potencia escogida del hardware, el cual te permite ejecutar

aplicaciones de gran tamaño.

Las primeras impresiones han sido muy positivas. Estas gafas ofrecen una inmersión muy realista

en la que uno percibe que los componentes virtuales se encuentran en adecuada armonía con

el resto de componentes reales.

Ilustración 33: Primeras impresiones de la experiencia en realidad aumentada.

2.6.2.8. Magic Leap One: Características mejorables

A continuación, se determinan los puntos mejorables de las gafas.

- Campo de visión reducido: característica común en gafas de RA

- Incompatibilidad de utilizarlas con gafas graduadas.

- Calentamiento notable de las gafas a partir de los 10 minutos.

- Resecamiento de los ojos debido al calentamiento de las lentes fotónicas.

- Sensación de mareo en algunas personas.

Octubre 2019

JORGE LUIS RAMOS HURTADO 45

Ilustración 34: Comparativa del campo de visión entre las Magic Leap, HoloLens y las gafas de RV de Play Station. Fuente: (Beat)

Octubre 2019

JORGE LUIS RAMOS HURTADO 46

3. Diseño

Una vez se han analizado las funciones más interesantes para el desarrollo de la aplicación, en

este capítulo se describe el proceso del diseño a realizar. La guía contiene las fases siguientes:

- Diseño de las cimentaciones en Revit.

- Descargas previas para el funcionamiento de Unity.

- Configuraciones de la plataforma de Unity para poder trabajar con Magic Leap,

- Diseño de la aplicación para los distintos modos de ayuda al usuario.

A continuación, se describen los procesos empleados para el modelado tridimensional de los

distintos componentes.

3.1. Modelado de las armaduras en Revit

Debido a que las armaduras son de una obra ejecutada por CROMSA CONSTRUCCIÓN Y

MEIDOAMBIENTE S.A. se consultan los planos de las cimentaciones. Estos se encuentran en un

archivo AutoCAD, por lo que se ha de proceder al modelado tridimensional de la estructura en

Revit.

Hay que recalcar, que la obra consiste en una ampliación de unas naves industriales ya

existentes, y que se hallan varias zonas de actuación. La zona escogida trata de la ampliación de

una nave. De manera que ésta, denominada en proyecto Nave A, contiene en su contorno parte

de cimentación existente y parte de nueva construcción.

Ilustración 35: Ubicación de la construcción de la Nave A (abajo a la derecha), dentro del polígono industrial existente.

Octubre 2019

JORGE LUIS RAMOS HURTADO 47

En los siguientes apartados, se muestra los pasos a continuar para el modelado. Primeramente,

se ha de adecuar el archivo de AutoCAD, y posteriormente, realizar el levantamiento en Revit

para poder exportarlo a FBX (archivo de interoperabilidad admitido por Unity).

3.1.1. Pasos previos en AutoCAD

Para el modelado 3D, primero se abre el archivo AutoCAD original y se observa, que contiene

información en referencia a detalles constructivos. Esta información es fundamental, ya que

contiene la disposición de las armaduras y secciones de los diversos elementos estructurales.

Pero, para el modelado de las cimentaciones, se requiere exclusivamente de las medidas de

estos elementos de hormigón. En consecuencia, el archivo que se ha ancla en REVIT solo

contiene el contorno y la forma en planta de las cimentaciones.

Ilustración 36: Archivo original de la nave A, donde se muestra la ubicación de las cimentaciones y los detalles constructivos de éstas. Fuente: CROMSA

AutoCAD Revit Archivo FBX

ExportaciónLevantamiento tridimensional

Esquema 5: Procedimiento para la creación del archivo del modelo 3D aceptado por Unity.

Octubre 2019

JORGE LUIS RAMOS HURTADO 48

Ilustración 37: Archivo AutoCad de las cimentaciones de la nave A modificado para el anclaje del dibujo en REVIT.

Para el anclaje del plano de las cimentaciones, primero se ha de configurar las unidades del

archivo AutoCAD a las mismas en las que se vaya a desarrollar el modelo REVIT. En esta tesina,

se emplea como unidad principal el metro.

Ilustración 38: Proceso para la designación de las unidades de proyecto en AutoCAD.

Una vez designadas las unidades del proyecto, se ha determinar el origen del proyecto en el

dibujo, ya que, posteriormente, en REVIT el modelo se implanta en referencia a este punto.

Además, debido a esta disposición se determina como dirección principal la línea vertical que

pasa por el origen. Para ello se siguen los pasos siguientes:

Octubre 2019

JORGE LUIS RAMOS HURTADO 49

Ilustración 39: Paso 1: Selección de todo el dibujo y con el comando _MOVE y se determina el origen del

dibujo. En este caso es la esquina inferior derecha del encepado con denominación 11G.

Ilustración 40: Paso2: Inserción manual numérica de las coordenadas (0,0).

Seguidamente, se guarda el proyecto en la ubicación deseada y se procede a abrir el proyecto

en REVIT.

3.1.2. Creación del proyecto en REVIT

En este apartado, se detalla la guía para la creación de un proyecto en REVIT, concretamente,

para el modelado de las cimentaciones de una estructura. Este proceso se ha realizado con la

versión 2020 de este programa.

Octubre 2019

JORGE LUIS RAMOS HURTADO 50

En primer lugar, se ha de abrir el programa y crear un nuevo proyecto con la plantilla estructural

llamada “Structural Template”. En la Ilustración 41, se muestran estos pasos.

Ilustración 41: Pasos iniciales para la creación de un proyecto en Revit.

Inmediatamente después, se procede al anclaje del dibujo en AutoCAD. Dicho proceso, se realiza

desde la barra de menú en Insert > Link CAD.

1. Clic en la pestaña Insert de barra de menú.

2. Clic en la opción Link CAD.

3. Se abre la ventana Link CAD formats. Se procede a la búsqueda del archivo CAD

realizado previamente.

4. Se configura las opciones a Color: Black and White, Layers/Levels: All, Import Units:

meter, Positioning: Auto: Origin to Origin y Place at: Level 1.

5. Clic en Open.

Octubre 2019

JORGE LUIS RAMOS HURTADO 51

Ilustración 42: Guía para anclar un dibujo de AutoCAD en Revit.

Una vez se ancla el dibujo, se debe comprobar si el origen del proyecto en Revit (Punto Base de

Proyecto) coincide con el origen designado en AutoCAD. Este paso es necesario ya que, por

defecto, este punto se encuentra en modo oculto. Estas opciones se encuentran en la pestaña

View > Visbility / Graphics.

1. Clic en la pestaña View de la barra de menús.

2. Clic en la opción Visbility / Graphics.

3. Aparece la ventana de Visibilidad y Gráficos para el nivel en el que se encuentra el

archivo CAD.

4. Se busca el apartado Site y dentro se asegura que la caja de verificación de Project

Base Point está marcada.

5. Seguidamente, se da clic a Ok.

Octubre 2019

JORGE LUIS RAMOS HURTADO 52

Ilustración 43: Indicaciones para visualizar el punto base de proyecto en Revit.

Estas indicaciones, muestran los importantes pasos previos antes de iniciar el modelado. Por

ello, se detalla para el conocimiento común. En la elaboración del modelado, se ha tenido que

aprender a utilizar este programa, ya que no se poseían grandes conocimientos al inicio.

Sin embargo, en el siguiente proceso de modelado, se muestran imágenes de la creación de los

objetos, pero no de todos los pasos seguidos al detalle; ya que esta tesina no tiene como objetivo

mostrar el funcionamiento de Revit, sino de sistematizar la creación de una aplicación en RA,

aprovechando un modelo tridimensional realizado previamente por el/la proyectista, y a su vez,

proporcionar una herramienta que favorezca la metodología BIM.

A continuación, se muestran imágenes del proceso del levantamiento de los elementos

estructurales:

Octubre 2019

JORGE LUIS RAMOS HURTADO 53

Ilustración 44: Modelado de las zapatas existentes.

Ilustración 45: Modelado de la familia: Encepados – Pilotes.

Octubre 2019

JORGE LUIS RAMOS HURTADO 54

Ilustración 46: Modelado de las riostras existentes.

Ilustración 47: Modelado de los muretes-riostras.

Octubre 2019

JORGE LUIS RAMOS HURTADO 55

Ilustración 48: Modelado de las armaduras de los Muretes-Riostras.

Ilustración 49: Modelado de las armaduras de los encepados y pilotes.

Octubre 2019

JORGE LUIS RAMOS HURTADO 56

Ilustración 50: Modelado de las columnas existentes y de nueva construcción.

Ilustración 51: Modelado de elementos no estructurales de nueva construcción: paredes, puerta enrollable de la nave y puerta de entrada.

Una vez realizado el modelado en Revit, se procede al exportado de la estructura en el archivo

de interoperabilidad FBX (Filmbox). Este proceso se realiza desde File > Export > FBX. Las

indicaciones de este paso se muestran en Ilustración 52.

Octubre 2019

JORGE LUIS RAMOS HURTADO 57

Ilustración 52: Ubicación de la opción de exportación al archivo FBX.

En esta fase de la presente tesina, ya se ha configurado Unity para trabajar con Magic Leap, y se

ha realizado el modelo tridimensional de las cimentaciones. Por lo que el siguiente suceso, es el

diseño de la app dentro de Unity.

Como se ha descrito anteriormente, los conocimientos previos acerca de esta plataforma, eran

escasos. Añadiendo dificultad a los procesos seguidos, sobre todo en la creación de las

armaduras, ya que trata de un proceso muy manual y complejo; que con la falta de experiencia

han supuesto un reto y un valioso aprendizaje.

Octubre 2019

JORGE LUIS RAMOS HURTADO 58

3.2. Adaptación de la plataforma de Unity para trabajar con Magic Leap

One: configuraciones y descargas previas

Para poder trabajar con las gafas en la plataforma de Unity se precisan de diversos requisitos

fundamentales. Estos requerimientos, consisten en la descarga de varios archivos informáticos

que habilitan el desarrollo de aplicaciones y experiencias en RA. En este apartado se mencionan

los procesos más destacados a realizar. Esta guía se puede encontrar en la página web principal

de Magic Leap, en el apartado Creator Portal.

Ilustración 53: Apartado en página web de Unity para iniciar experiencias con Magic Leap.

Para iniciar esta adaptación primero se ha de realizar la descarga del Magic Leap Manager.

Archivo que se encuentra disponible en la web de Magic Leap.

3.2.1. Descarga del Magic Leap Package Manager.

El Magic Leap Package Manager consiste en un programa externo que da acceso a las descargas

necesarias para poder trabajar en el entorno y la plataforma deseada.

Para la descarga del ejecutable se ha de ir a la web principal de Magic Leap / Creator Portal /

Downloads (Package Manager). Una vez se ejecuta el archivo descargado, se siguen las

instrucciones hasta que haya finalizado la descarga. Una vez descargado, se abre el archivo de

acceso directo y se encuentra el siguiente panel de la Ilustración 54.

Octubre 2019

JORGE LUIS RAMOS HURTADO 59

Ilustración 54: Panel principal del Magic Leap Package Manager.

Para poder trabajar en la plataforma de Unity, se ha de descargar dos componentes:

- Magic Leap Unity Package: Este paquete contiene ejemplos de aplicaciones creadas, así

como ejemplos de código que son necesarios para el funcionamiento de los elementos

dentro de la aplicación. Más adelante se mencionan los ejemplos de código utilizados.

Al observar la última versión de este Package (0.22.0), se observa la notificación en la

Ilustración 55:

Ilustración 55: Notificación donde se comenta la incompatibilidad de las funciones MLInputModel y MLInputRaycaster con la última versión del Unity Package (0.22.0).

Octubre 2019

JORGE LUIS RAMOS HURTADO 60

Como se observa, en esta versión no es compatible las funciones de

MLInputModule, que proporciona las herramientas necesarias para poder

manipular el Control de Magic Leap; y la función de MLInputRaycaster, que es

necesaria para poder detectar puntos del entorno real.

Debido a la necesidad de estas dos funciones para detectar el entorno real de

una obra de construcción, se opta por utilizar la versión anterior del Package, la

versión 0.21.0.

- Lumin SDK (Software Development Kit): Este SDK contiene todas las herramientas

necesarias para el desarrollo de aplicaciones con Magic Leap. Existen varias versiones,

y la utilizada en esta tesina, es la versión Lumin SDK 0.21.0. Esto es debido a que la

versión (0.21.0) del Package Manager, tiene como dependencia esta versión de Lumin.

Además, se observa que esta versión solo es compatible con la versión 2019.1 de Unity,

por lo que para esta tesina se opta por el uso de estos tres elementos con sus versiones

correspondientes.

Esquema 6: Plataformas y elementos utilizados para el desarrollo de la aplicación en RA con sus respectivas versiones.

Configuración Unity-Magic

Leap

Lumin SDK 0.21.0

Unity 2019.1.

14f1. Magic LeapPackageManager

0.21.0

Octubre 2019

JORGE LUIS RAMOS HURTADO 61

3.2.2. Configuraciones previas dentro de Unity

En este apartado, se describen las configuraciones necesarias dentro de Unity para

compatibilizarlo con Magic Leap.

Este proceso se encuentra en la web de Magic Leap > Creator Portal > Learn > Guides > Develop

> Unity > Creating Unity Projects. En la página web existe documentación de cómo realizar una

aplicación desde cero, en las diversas plataformas existentes. Dentro se escoge la plataforma

con la que se trabaja, en el caso de esta tesina con Unity. En la Ilustración 56 se muestra el lugar

dónde se encuentra este proceso.

Ilustración 56: Apartado Learn de la página web principal dónde se encuentra la documentación paso a

paso para crear una aplicación de Magic leap en Unity.

La descripción de este proceso se describe en el anejo, apartado (Configuración inicial en Unity

para la creación de una App en Magic Leap). En él, se encuentra la guía paso a paso para la

configuración de las dos plataformas. Este proceso también se encuentra en la web oficial de

Magic Leap, y en el anexj se halla la traducción de este documento en castellano.

Octubre 2019

JORGE LUIS RAMOS HURTADO 62

3.2.3. Descarga del certificado de desarrollo de Apps con Magic Leap

En este apartado se describe un paso esencial para la descarga de Apps en las Magic Leap One.

Se trata del certificado de desarrolladores que permite la publicación de la app creada en el

dispositivo personal.

En caso que se requiera de una publicación a la plataforma de distribución digital de

aplicaciones, Magic Leap World, se debe de poseer un certificado Submission, el cual permite

distribuir la aplicación en cualquier dispositivo Magic Leap One a nivel global. En esta tesina no

se requiere de ello, en consecuencia, se empelará el certificado de desarrollador (Development

Certificate).

Para la descarga del archivo de los certificados, es necesario poseer una cuenta de Magic Leap.

Para esta tesina, se emplea la cuenta de CIMNE. Seguidamente, este proceso se encuentra en

Creator Portal > Publish > Certificates.

Para el desarrollo de esta tesina se crea el certificado “cimne – jorge” desde la opción Add new.

El archivo zip que se descarga, se ha de almacenar en un lugar conocido para su posterior uso

dentro de Unity. El estado final de este proceso se muestra en la ilustración siguiente:

Ilustración 57: Estado final de la creación del certificado de desarrollo. Fuente: propia.

Octubre 2019

JORGE LUIS RAMOS HURTADO 63

3.3. Creación del proyecto dentro de Unity

En este apartado, se describen los procesos iniciales necesarios para la creación de un proyecto

en Unity. Este proceso se puede encontrar también en la página web principal de Magic Leap

(Create First Unity App). A continuación, se muestra la misma guía traducida al castellano.

1. Antes de comenzar, es necesario que se hayan realizado los procesos comentados en

apartados anteriores (Véase: 3.2 Adaptación de la plataforma de Unity para trabajar con Magic

Leap One: configuraciones y descargas previas).

2. Clic en Edit > Project Settings. Se abre la ventana de Project Settings.

3. Se dirige a Magic Leap > Manifest Settings.

4. Selecciona la siguiente configuración:

5. Se acude a Project > Player.

6. Clic en la barra de Lumin . Aparece la configuración de Lumin.

Ilustración 58: Paso 6: Configuración de Lumin dentro de Unity > Player Settings.

7. Se dirige a Other Settings > Identification y después se configura el Bundle Identifier en letras

minúsculas siguiendo el siguiente criterio: com.company.test.

Octubre 2019

JORGE LUIS RAMOS HURTADO 64

Ilustración 59: Paso 7: Configuración del Bundle Identifier dentro de Unity > Player Settings.

8. Se acude a Other Settings > Configuration, y después se configura el Api Compatibility Level

a .Net 4.x.

Ilustración 60: Paso 8: Configuración del Api Compatibility Level dentro de Unity > Player Settings.

9. Se dirige a Publishing Settings y después se busca el archivo del certificado descargado

previamente desde el Magic Leap Creator Portal. (Véase: 3.2.3 Descarga del certificado de

desarrollo de Apps con Magic Leap).

Octubre 2019

JORGE LUIS RAMOS HURTADO 65

3.4. Diseño de la aplicación en Unity

Para el diseño de la aplicación en Unity se debe conocer, antes de todo, cuáles son los propósitos

de la app, de qué manera se va ayudar al sector de la AIC y cómo se repercute en la app. Por

ello, se explican brevemente cuáles son los distintos campos, dentro de la ingeniería civil, en los

que se va aplicar estas experiencias en RA. En el apartado (4. Caso de Estudio) se describe

detalladamente estos modos de ayuda y se argumenta el porqué de su elección.

Como se describía al inicio de esta tesina, existe una gran competencia en el sector de la AIC y,

además, poca intención de adaptación a las nuevas tecnologías. Por ello, los modos de ayuda

con RA han de ejemplificar un gran avance respecto a los métodos actuales. Han de

argumentarse de manera que suponga una evidencia para su futura implantación. Por

consiguiente, se plantean y se describe brevemente los modos de ayuda a crear:

- Modo de Control de Calidad: en este modo se pretende implantar el modelo real de las

cimentaciones en el lugar final de obra. Obteniendo una comparación de la ejecución

real de las armaduras con la ejecución virtual de proyecto.

- Modo de Prevención de Riesgos Laborales: en este modo se pretende ofrecer ayudas a

los operarios para detectar riesgos difíciles de detectar, anular sus propias imprudencias

e informar y asegurar que los operarios llevan los Elementos de Protección Individual

(EPI) necesarios.

Antes de iniciar el proceso indicado, es recomendable organizar los distintos elementos que van

ser partícipes de las aplicaciones. En consecuencia, se crea una organización con carpetas para

almacenar los distintos componentes de manera ordenada. Para la creación de una carpeta, se

realiza clic derecho en la ventana de Project > Create > Folder.

Para esta tesina, se dispone de la organización que se muestra en la siguiente ilustración:

Ilustración 61: Organización inicial de las carpetas.

Octubre 2019

JORGE LUIS RAMOS HURTADO 66

3.4.1. Asignación de materiales a los elementos

Antes de asignar los materiales, se ha de importar el elemento FBX realizado previamente. Para

ello, se realizan los siguientes pasos:

1. En la ventana de Project dentro de la carpeta creada: Cimentaciones Revit, se clica el botón

derecho, se selecciona Import New Asset y se busca el archivo de FBX.

2. Se arrastra el prefab a la ventana Hierarchy. Acto seguido, se realiza clic derecho en el prefab

y se selecciona Unpack Prefab Completely.

Ilustración 62: Implantación del modelo en la escena mediante su arrastre a Hierarchy (izquierda) y

desagrupado del modelo (derecha).

Seguidamente, se estructuran los distintos elementos en Hierarchy y se eliminan aquellos

elementos que no son necesarios para esta experiencia y que se han exportado por defecto.

Como, por ejemplo, sus niveles, simbología y la cámara 3D.

Octubre 2019

JORGE LUIS RAMOS HURTADO 67

Ilustración 63: Estructuración de las carpetas en Hierarchy (superior) y eliminación de los elementos

dispensables (en azul).

Una vez se tiene el prefab del modelo listo, se procede a la creación de materiales. Esto se realiza

dentro de la carpeta TFG > Materials, clic derecho Create > Material. Se selecciona el material,

y se le asigna el color deseado desde la ventana Inspector > Main Maps > Albedo. Se le

denomina de la manera deseada, en este caso, para la diferenciación de los diámetros de barras.

Además, desde la pestaña Asset Store, se da la posibilidad de buscar materiales más sofisticados

como el hormigón o paneles metálicos.

Ilustración 64: Creación de los materiales de las distintas barras, y descarga de nuevos materiales desde el Asset Store.

Octubre 2019

JORGE LUIS RAMOS HURTADO 68

Para la asignación de los materiales creados, a los objetos existentes en Unity, se procede a los

pasos siguientes:

1. Selección en la ventana Hierarcy, de los elementos que han de tener el mismo material.

2. Se dirige al Inspector > Mesh Renderer > Materials > Element 0, y se clica en el círculo de la

derecha.

3. Se busca el material a asignar. Este paso también se puede realizar arrastrando el material

desde la ventana Project al recuadro de Element 0.

4. Visualización de los cambios en la ventana Scene.

Ilustración 65: Pasos para la asignación de materiales.

Ilustración 66: Resultado final de la asignación de materiales al modelo.

Octubre 2019

JORGE LUIS RAMOS HURTADO 69

3.4.2. Diseño del menú principal

En este subapartado, se describe el procedimiento paso a paso para la creación de elementos

de dirección y orientación de la app.

El primer paso, consiste en crear el menú principal donde se encuentran las distintas opciones

de la aplicación. Para ello, se aprovecha una aplicación del Package de Unity llamado Input

Module. Los pasos a seguir son los siguientes y se muestra en la Ilustración 67.

1. Desde la ventana Project, se abre la dirección Assets > Magic Leap > Examples > Scenes >

InputModule.

2. Se arrastra esta Scene a la ventana de Hierarchy y se despliegan los elementos.

3. Se selecciona el Canvas y se arrastra, dentro de Hierarchy, a la Scene TFG-CIMNE&UPC.

Dentro del Canvas, se observan distintos elementos:

- Header: contiene el título del menú. En este caso, Menú Principal.

- Buttons: son los botones de las distintas opciones.

- Text: son los textos de cada Button.

4. Se selecciona, en la Scene: InputModule > [CONTENT], los elementos de a continuación, que

se han de arrastrar a la Scene: TFG-CIMNE&UPC:

- Input Example, que contiene el script para ejecutar los Inputs del Controller.

- Controller, que posee los elementos tridimensionales del Control y scripts para la

visualización en la aplicación.

5. Se clica en, Hierarchy > InputModule el elemento EventSystem, que se encarga de dirigir los

distintos eventos que suceden con el Controller, y se arrastra al Hierarchy > TFG-CIMNE&UPC.

6. Se modifica los textos de Header y de los Buttons desde la ventana de Inspector. Este proceso,

también se puede realizar mediante un script que se desarrolla más adelante.

Octubre 2019

JORGE LUIS RAMOS HURTADO 70

Ilustración 67: Pasos iniciales para la creación del menú.

El texto y los Inputs de los botones del Menú, pueden ser modificados manualmente desde

el Inspector. Y en el caso de necesitar el mismo formato del menú, pero con otros Inputs y

textos, se tendría que realizar otro panel con los nuevos textos e Inputs.

Debido a que en esta tesina se va a precisar de otro menú, y, además, para obtener una

mejor eficiencia del programa, se opta por desarrollar un script el cual modifica los textos y

los Inputs dependiendo del modo en el que se encuentra la app. Este script se muestra

explicado en el Anejo con el título Script: MenuHandler.

Este script se añadirá como componente desde el Inspector > Add Component > New Script

> MenuHandler. Una vez creado y añadido, se rellenan las variables públicas con los

EmptyGameObjects de los modos, previamente creados. A continuación, se muestran los

pasos seguidos. En la Ilustración 68 ,se puede observar el resultado.

Octubre 2019

JORGE LUIS RAMOS HURTADO 71

1. Creación de los EmptyGameObjects para organizar los distintos modos. Esto se realiza

con clic derecho en el Hierarchy > CreateEmpty, y se cambia al nombre de los distintos

modos.

2. Clic en AddComponent y se busca el script MenuHandler.

3. Asignar las variables públicas del MenuHandler a los EmptyGameObjects de los

modos.

Ilustración 68: Pasos para crear EmptyGameObjects de los modos y adhesión del script MenuHandler.

A continuación, se describe la creación de los modos realizados en esta tesina.

3.4.3. Modo Control de Calidad: componentes principales en Unity

En este apartado, se especifica la guía para crear este modo. Como se detalla en el inicio de este

capítulo, el modo control de calidad pretende permitir la superposición del modelo virtual en el

entorno real con precisión de milímetros.

El primer paso, se fundamenta en crear un método, en el cual se escoge un punto del entorno

real mediante el puntero láser de las gafas, y acto seguido implantar el modelo con origen en

este punto. Además, se le proporciona una dirección con la detección de un segundo punto del

entorno. Para ello, se crea un EmptyGameObject que contenga todos los elementos necesarios.

A continuación, se describen los pasos y una ilustración de ellos (Ilustración 69).

Octubre 2019

JORGE LUIS RAMOS HURTADO 72

1. Creación del EmptyGameObject denominado RaycastMethod.

2. Selección del Add Component y adhesión de los siguientes elementos:

3. Mesh Filter: se clica el círculo de la derecha en el que se busca el Mesh: Cursor.

También se puede arrastrar desde la ubicación Assets > MagicLeap > Examples >

Models > Cursor > Meshes.

4. Mesh Renderer: se clica en Element 0, y se busca el material con nombre

GreenCursor. También en la ubicación Assets > MagicLeap > Examples > Models >

Cursor > Materials.

5. Mesh Collider: donde se deja la configuración por defecto.

6. Scripts: Raycast Object y Raycast Visual: Encargados de las funciones de implantación

de los modelos. Su explicación se detalla en el anejo con nombre Script: Raycast Object

y Script: Raycast Visual.

Ilustración 69: Pasos iniciales para la creación del modo control de calidad.

Octubre 2019

JORGE LUIS RAMOS HURTADO 73

Estos scripts, realizan la implantación del objeto y contiene variables públicas para el

funcionamiento de la app. Más adelante, se designan las variables y se detalla su explicación;

antes, se ha de crear unas instrucciones iniciales para cada método.

3.4.3.1. Creación del panel de instrucciones iniciales

Para la realización de estas instrucciones, se ha de visualizar mediante un panel que se sitúa

dentro del objeto previamente creado, Canvas. A continuación, se describe la guía para este

proceso.

1. Creación del Panel InitialInstrPanel, dentro del Canvas.

2. Creación de los textos Header, que contiene el título del modo, y de Instruction, que

describe la experiencia a realizar. Creación, a su vez, del botón UnderstoodButton, que

da el permiso para comenzar la aplicación.

3. Adhesion del script InitialInstructionsPanel_Handler. Este script organiza los cambios

del título y de las instrucciones, dependiendo del modo en el que se halle. Su explicación

se detalla en el anejo.

Ilustración 70: Creación del Panel de Instrucciones utilizado para todos los modos.

Octubre 2019

JORGE LUIS RAMOS HURTADO 74

3.4.3.2. Creación del menú interno

Posteriormente, se crea el menú interno del modo 1, en el que se encuentran opciones como la

activación y desactivación de las armaduras. Los pasos a seguir, son los siguientes:

1. Creación del panel de menú M1OptionsPanel, utilizando la plantilla de menú que se

ha visto anteriormente.

2. Nombramiento de los botones:

- ActArmButton: Botón que activa la visualización de la armadura.

- DesArmButton: Botón que desactiva su visualización

- Placement Button: Botón que inicia el proceso de implantación del modelo.

- BackButton: Botón que devuelve al menú principal.

2.1. Creación del EmptyGameObject, que contiene todos los componentes

necesarios para la implantación del modelo. En la siguiente guía de los pasos, se

describen los componentes de este objeto.

3. Creación de un texto guía de ayuda, HelpText; y de la imagen que ayuda a localizar el

punto de origen de la estructura, Image. Esta imagen se añade dentro del Inspector >

Image > Source Image.

Octubre 2019

JORGE LUIS RAMOS HURTADO 75

Ilustración 71: Creación del menú interno del modo control de calidad.

3.4.3.3. Creación del método de implantación del modelo en el entorno real.

Seguidamente, se explica el componente que más complejidad ha presentado debido a la

cantidad de conceptos nuevos de programación. Se trata de la creación de la función, que

permite la implantación del modelo en el entorno real. Es por ello, que se hace un inciso en la

creación de este objeto. Los pasos se detallan a continuación y en la Ilustración 72:

1. Denominación del nuevo EmptyGameObject a RayCastMethod.

2. Adhesión del componente Mesh Filter y asignación del Mesh al elemento Cursor que

se encuentra dentro de Assets > MagicLeap > Examples > Models > Cursor > Meshes.

3. Adhesión del componente Mesh Renderer y asignación del Element 0 al elemento

GreenCursor ubicado en Assets > MagicLeap > Examples > Models > Cursor > Materials.

4. Adhesión del componente Mesh Collider con la configuración por defecto.

5. Adhesión del script denominado RaycastObject y configuración según la Ilustración

73.

Octubre 2019

JORGE LUIS RAMOS HURTADO 76

6. Adhesión del script denominado RaycastVisual, que proporciona las directrices

necesarias para la implantación del modelo virtual en el entorno real, y que organiza las

instrucciones a visualizar, dentro del proceso implantación. El detalle de este

componente, se describe detalladamente en el anejo.

Ilustración 72: Guía del proceso para la creación de los elementos necesarios para la implantación del modelo virtual en el entorno real.

Ilustración 73: Disposición de las variables públicas para el componente en forma de script RaycastVisual.

Octubre 2019

JORGE LUIS RAMOS HURTADO 77

3.4.3.4. Funcionamiento del modo Control de Calidad

Finalmente, el proceso para la implantación del modelo, es el siguiente:

1. Selección del modo Control de Calidad

2. Información acerca de este modo.

3. Aparición del menú interno de este modo.

4. Colocación del puntero verde en el origen de la estructura del entorno real.

5. Colocación del segundo punto para determinar la dirección del modelo.

6. Implantación del modelo realizado.

7. Iniciación de la inspección de las armaduras.

1

4 3

2

Octubre 2019

JORGE LUIS RAMOS HURTADO 78

Ilustración 74: Transcurso de la aplicación en el modo control de calidad.

5 6

7

Octubre 2019

JORGE LUIS RAMOS HURTADO 79

3.4.4. Modo Prevención de Riesgos Laborales: componentes principales en Unity

Una vez creado el primer modo, se prosigue a la creación del modo PRL, donde el objetivo es

crear sistemas de ayuda al operario para la detección de riesgos en obra. Además, se le ha de

recordar los elementos de protección individual (EPI’s) a utilizar según la tarea.

En el transcurso de esta experiencia, el operario, sigue los siguientes procesos:

- Instrucción inicial del modo PRL.

- Elección de la fase de ejecución de cimentaciones: Excavado, Ferrallado o

Hormigonado.

- Preguntas iniciales acerca de la utilización de EPI’s necesarios, según la actividad

que se dispone a realizar.

- Viabilidad del operario para ejercer su trabajo teniendo avisos de los principales

riesgos.

3.4.4.1. Instrucción inicial del modo PRL

Para añadir el panel que da a pie a la instrucción de este modo, se aprovecha el realizado

previamente en el modo CC. Para modificar el texto, se realiza mediante el script previamente

citado InitialInstrHandler. Este script modifica el título, el texto y el ouput del botón entendido.

EL nuevo texto tendrá la siguiente instrucción:

"El modo PRL permite al usuario prever los riesgos mediante ayudas incorporadas dentro de la

experiencia y recordarle el uso obligatorio de EPI’s. Por favor seleccione entendido para

continuar. “

Ilustración 75: Panel instructivo del modo PRL.

Octubre 2019

JORGE LUIS RAMOS HURTADO 80

Una vez el operario selecciona entendido, aparece el menú interno de este modo.

3.4.4.2. Menú interno

Para la realización del menú interno, utilizamos la plantilla que ya se ha utilizado para el menú

principal e interno del modo CC. Éste, se modifica para que haya 4 opciones que representan las

3 fases de ejecución y el botón que devuelve al menú principal. La configuración se muestra en

la Ilustración 76.

Ilustración 76: Configuración del menú interno del modo PRL.

Para la organización de las distintas opciones y de las funciones a realizar por cada botón, se

crea un script: Mode2OptionsMenuHandler; el cual da las directrices para la funcionalidad del

panel. Este script se muestra en su totalidad en el anejo.

Seguidamente, en cuanto el operario escoge la fase en la que se encuentra, se procede a la

aparición de unas cuestiones iniciales acerca de las EPI’s a utilizar en la fase en concreto.

3.4.4.3. Cuestiones iniciales

En este instante, dentro de la aplicación, se plantean las cuestiones en materia de EPI’s.

Las cuestiones principales se rigen por el Estudio de Seguridad y Salud del proyecto, el cual exige

los siguientes aspectos en las distintas fases:

- Fase de excavación:

Octubre 2019

JORGE LUIS RAMOS HURTADO 81

o “El operario usará en todo momento casco, guantes, mono de trabajo,

botas de seguridad de cuero en terreno seco o botas de goma en

presencia de lodos.”

o “En caso de usar el martillo neumático, además, usará muñequeras,

protectores auditivos y mandil.”

o “Debe procurarse la mínima presencia de trabajadores alrededor de las

máquinas.”

o “Debe prohibirse la presencia de trabajadores en el radio de giro de la

retroexcavadora, prohibición que debe señalizarse en la parte exterior

de la cabina del conductor.”

- Fase de ferrallado:

o “Los operarios que realicen la colocación de las armaduras en la zanja

deberán usar casco de seguridad, guantes de cuero, mono de trabajo y

botas de cuero de seguridad.”

- Fase de hormigonado:

o “El operario que realice el vertido del hormigón y posterior vibrado

deberá usar casco de seguridad, guantes de neopreno, mono de trabajo

y botas de goma de seguridad de caña alta.”

Con estas indicaciones, se plantean las siguientes cuestiones para cualquiera de las 3 fases.

1. ¿Lleva puesto el casco de seguridad?

2. ¿Lleva puesto el mono de trabajo y el chaleco reflectante?

Y dependiendo de la fase en cuestión, se añadirán las siguientes preguntas:

- Fase de excavación:

1. ¿Lleva botas de seguridad de cuero, si el terreno está seco? En caso que este

mojado, ¿lleva botas de goma?

2. ¿Lleva los guantes?

- Fase de ferrallado:

1. ¿Lleva guantes de cuero?

- Fase de hormigonado:

1. ¿Lleva guantes de neopreno?

2. ¿Lleva botas de goma de caña alta?

Octubre 2019

JORGE LUIS RAMOS HURTADO 82

Para la visualización de estas cuestiones, se aprovecha el panel de Instrucciones Iniciales, ya que

este script: InitialInstPanel, permite modificar el texto. Este proceso nos permite una mayor

eficiencia de la aplicación ya que se emplean menos elementos de Unity que, a la hora de

procesar toda la información, puede generar una gran exigencia al procesador de las Magic

Leap, repercutiendo en los tiempos de ejecución de la app.

3.4.4.4. Creación de elementos de obra

En este apartado, se muestra la inserción de los modelos de obra para su visualización en el

entorno real.

Primero de todo, se determina los elementos necesarios para las distintas fases. Se distingue

dos grupos de elementos a colocar en esta app:

- Elementos móviles: como, por ejemplo, la maquinaria de obra necesaria para la

ejecución del ferrallado: excavadora, para la fase de excavación; y hormigonera

para la de hormigonado.

- Elementos fijos: consisten en elementos de protección colectiva que son las

mallas perimetrales alrededor de las zanjas, vallas de obra y pasarelas

provisionales.

Estos elementos, se descargan desde el Asset Store de Unity. Seguidamente, se detallan los

pasos.

1. Descarga desde Asset Store los elementos de la hormigonera, excavadora, vallas de obra y

pasarela provisional. Y, también, de los materiales como la malla de obra que se asigna a objetos

cúbicos con las dimensiones de una valla.

2. Adhesión de estos elementos en la ventana Hierarchy, asignación de los materiales en el caso

de las vallas y de la pasarela.

3. Ajuste de la ubicación desde la pestaña Scene.

Octubre 2019

JORGE LUIS RAMOS HURTADO 83

Ilustración 77: Pasos a seguir para la adhesión de los elementos de obra.

3.4.4.5. Asignación de la función Box Collider

Como el objetivo planteado es poder detectar estos elementos en obra, se precisa de un proceso

similar al del control de calidad. Ya que se ha de poder implantar los modelos en su posición

exacta. Por ello, se realiza los mismos pasos descritos anteriormente (véase: 3.4.3 Modo Control

de Calidad: componentes principales en Unity).

Seguidamente, se necesita de algún método para poder detectar los peligros cuando uno se

encuentra en las inmediaciones. Para ello, se emplea la función de los objetos llamada Box

Collider. Esta función permite generar acciones cuando dos objetos colisionan. En el caso de

esta experiencia, se asigna esta función a las gafas (Main Camera, en Hierarchy) y a los

elementos que supongan un riesgo para los operarios como caídas en altura en las zanjas,

atropellos por parte del camión, excavadora, etc.

En la Ilustración 78, se muestra el resultado de la asignación de la función Box Collider. Estos

paralelepípedos que delimitan la zona de colisión, se han de modificar desde la ventana de

Inspector > Box Collider > Edit Collider.

Octubre 2019

JORGE LUIS RAMOS HURTADO 84

Ilustración 78:Resultado de la asignación de los boxes colliders a los elementos determinados.

En el caso de esta experiencia, se asigna esta función a las mallas que rodean las zanjas, la

hormigonera y la excavadora.

Una vez, creadas estas funciones, el siguiente paso consiste en la creación de alertas en el

momento que se accede dentro de la zona de riesgo delimitada por los Box Collider.

3.4.4.6. Creación de las alertas

Para dar a conocer la peligrosidad de la posición del operario, se crea un script con nombre

OnTrigger_Handler. Este script, detecta la colisión de la cámara con los otros elementos que

indican riesgo, y emite una alerta en forma de panel rojo que indica el peligro. Para la emisión

del panel, se aprovecha el panel de Instrucciones Iniciales existente (InitialInstrPanel) y se

modifica el título, el texto y el color del panel mediante códigos de programación. Las alertas

son las siguientes:

- Alerta por proximidad a la zanja: con el aviso “¡Riesgo de caída en altura! Aléjese

de la zona excavada.

- Alerta por proximidad de la excavadora: con el aviso “Excavadora cerca. Aléjese

por su bien.”.

- Alerta por proximidad de la excavadora: con el aviso “Hormigonera cerca.

Aléjese por su bien.”

Una función a tener en cuenta, es que, Magic Leap One, permite el apareamiento de dispositivos

móviles mediante su aplicación de móvil (Magic Leap App). La posición de este dispositivo es

rastreable dentro de Unity. Por lo que se puede asignar cualquier objeto virtual a un dispositivo,

Octubre 2019

JORGE LUIS RAMOS HURTADO 85

y así, obtener en todo momento su posición real exacta. Por ejemplo, aparear un dispositivo a

la excavadora para rastrear su posición en todo momento y emitir un aviso en cuanto se acerque

a algún operario.

Esto supone ciertas limitaciones, ya que el dispositivo ha de estar permanentemente conectado,

y su rango de detección es limitado. Sin embargo, se evidencia la posibilidad de detectar y

asignar objetos virtuales a objetos móviles reales para una experiencia más tangible.

Finalmente, una vez realizado este procedimiento, se prosigue a la visualización dentro del

modo Prevención de Riesgos Laborales.

3.4.4.7. Funcionamiento del modo PRL

A continuación, se muestra el resultado de la experiencia dentro de la aplicación realizada en el

simulador.

1. Menú principal.

2. Instrucción inicial.

3. Selección de la fase.

4. Inicio de la implantación del modelo.

5. Selección del primer punto.

6. Selección del segundo punto.

7. Implantación realizada.

8. Primera pregunta en todas las fases

9. Segunda pregunta en todas las fases.

10. Tercera pregunta en fase de hormigonado.

11. Cuarta pregunta en fase de hormigonado.

12. Tercera pregunta en fase de ferrallado.

13. Tercera pregunta en fase de excavación.

14. Cuarta pregunta en fase de excavación.

15. Operario en la zona de la hormigonera.

16. Alerta de peligrosa cercanía a la hormigonera.

17. Alerta de peligrosa cercanía a la zanja.

Octubre 2019

JORGE LUIS RAMOS HURTADO 86

1 2

3 4

5 6

Octubre 2019

JORGE LUIS RAMOS HURTADO 87

7 8

9 10

11 12

Octubre 2019

JORGE LUIS RAMOS HURTADO 88

13 14

15 16

17

Octubre 2019

JORGE LUIS RAMOS HURTADO 89

3.5. Instalación de la aplicación en las Magic Leap One

Una vez, se ha desarrollado la aplicación en Unity, se deben realizar unos sencillos pasos para su

descarga en las Magic Leap One.

Para ello, es indispensable tener descargado el certificado de desarrollador (véase: 3.2.3

Descarga del certificado de desarrollo de Apps con Magic Leap).

Para la descarga del .mpk (archivo exportable a Magic Leap) se han de seguir los siguientes

pasos.

1. Se conecta las gafas al ordenador mediante el cable USB.

2. Dentro de Unity, se clica en File > Build and Run.

3. Se guarda el .mpk en una ubicación conocida dentro de la carpeta del proyecto.

4. Se coloca las gafas para visualizar la aplicación.

5. Si es la primera vez que se crea una aplicación dentro del dispositivo, se debe aceptar el

certificado en las gafas.

6. Esperar a que se inicie la aplicación, que se abre con el panel de Made with Unity.

En el caso de querer eliminar la aplicación, se debe seleccionar en el menú principal, presionar

el panel táctil del Control durante 3 segundos y, seguidamente, seleccionar el símbolo de la

papelera y presionar el botón tirgger.

Octubre 2019

JORGE LUIS RAMOS HURTADO 90

4. Caso de Estudio

En este apartado se describe la razón de ser de los distintos modos creados en esta tesina.

Se han realizado por separado pero su implementación en el futuro ha de ser combinable. Esto

significa que mientras se realiza el control de calidad en RA, se ha de poder detectar los peligros

existentes en una obra.

A continuación, se describen los dos modos realizados en Unity, y se describen dos modos más,

los cuales se argumenta el uso de RA en ellos.

4.1. Modo Control de Calidad (CC)

Este modo consiste en obtener una mejora en los procesos de control de calidad de las

armaduras. Además, este control permite al responsable del control de calidad agilizar los

procesos de supervisión y obtener una mayor precisión de las características geométricas del

ferrallado.

El modo Control de Calidad superpone el modelo virtual de las armaduras al modelo realmente

ejecutado para extraer conclusiones más robustas de si la ejecución está realizada

correctamente.

Este proceso queda contemplado en la EHE-08, Anejo 21: Documentación de suministro y

control. En este documento se expone que se han de realizar los siguientes controles a la

geometría de las armaduras pasivas.

- Comprobación de las características geométricas de las barras suministradas.

- Comprobación del número de elementos y de las distancias entre barras.

Teniendo estos conceptos en cuenta se describe el método actual del control de calidad de las

armaduras y el método que se propone con RA.

4.1.1. Método actual.

Actualmente la realización de este proceso se realiza de manera manual. El responsable del

control se asegura que las distancias entre barras sean las indicadas en proyecto y que el atado

de las armaduras sea lo suficientemente robusta mediante herramientas como el pie de rey,

libreta y flexómetro.

Octubre 2019

JORGE LUIS RAMOS HURTADO 91

Ilustración 79: Responsable realizando el control de calidad de las armaduras.

Este proceso, sobre todo puede llegar a consumir grandes períodos de tiempo en el caso de una

obra con un gran volumen de armado y de gran complejidad. Esto puede repercutir

negativamente en los flujos de trabajo de esta actividad ya que, si hay prisas, puede hacerse

rápido y mal. No es inusual que se den prácticas donde, por ejemplo, no se acaben de

inspeccionar la totalidad de las distancias.

Conversando con responsables de este proceso, comentan que en la actualidad no se hace un

control riguroso de las disposiciones. En ocasiones, los errores de ejecución de las armaduras no

tienen graves consecuencias, pero pueden llegar a comprometer y comportar grandes costes de

mantenimiento en un futuro.

Es bien sabido que en la actualidad la mano de obra es un componente que consume gran parte

del capital de una empresa. La optimización de los recursos y la industrialización de los sectores

pretenden reducir estos costes. Por todo esto la creación de nuevos métodos ha de tener

presente esta línea de eficiencia, y así, lograr una reducción de costes del total de una obra de

construcción.

La propuesta mediante RA pretende ayudar a inspeccionar de manera exhaustiva, y a la vez ágil,

la disposición del ferrallado. Es por ello, que se ha visto la necesidad de crear un nuevo método

en RA que ayude a inspeccionar de manera exhaustiva, y a la vez, ágil la disposición del

ferrallado.

4.1.2. Método en RA

Este nuevo método ha de solucionar las carencias que posee el método actual, y por lo que debe

proporcionar una gran exactitud en la implantación del modelo virtual para poder ser

comparado con el ejecutado.

Octubre 2019

JORGE LUIS RAMOS HURTADO 92

Para ello, como se ha visto en el apartado (3.4.3 Modo Control de Calidad: componentes

principales en Unity), se ha desarrollado un aplicación la cual permite implantar el modelo

tridimensional de la estructura, en su disposición final, ofreciendo una gran capacidad de análisis

de las disposiciones geométricas.

Asimismo, tal y como se ha visto anteriormente se permite el traspaso y visualización de datos

BIM a la plataforma de Unity, lo que ofrece una gran capacidad de análisis a la hora de

inspeccionar las barras. Por ejemplo, en el caso de identificar una barra defectuosa, esta función

permitiría saber el suministrador y si se han realizado ensayos del material.

Lamentablemente, este método no se ha podido validar aún en obra. Por lo que no se ha podido

obtener unos resultados que corroboren estas mejoras. No obstante, en nivel de laboratorio se

deja en evidencia su gran precisión y potencial.

Con las pruebas realizadas, se puede confirmar que la comparación entre los dos componentes

genera un beneficio a la hora de visualizar si una armadura está correctamente en su sitio. Se

determina que es más sencillo una comparación visual que una comparación que se basa en la

consulta de los valores de distancia, y la posterior comprobación con un medidor.

La tarea de visualización de datos en los planos y comprobación puede llegar a ser muy

repetitiva. Es más, el ferrallado puede llegar a tener geometrías complejas que hagan de la

inspección de las armaduras una labor tediosa. Todo ello repercutiendo en la exhaustividad de

la inspección.

Debido a que la implantación de las armaduras con RA es un método que permite la visualización

de la correcta ejecución, se determina que su uso es perfectamente viable para la fase de

construcción del ferrallado. Es decir, que este método no sólo es válido para el control de

calidad, sino que también para las ayudas de construcción de armaduras. Esta posible aplicación

se describe como caso de estudio más adelante.

La implementación de la RA en la ejecución de las armaduras comporta que las diferencias que

pueda haber entre la ejecución realizada y la dictada por el proyecto sean mínimas. En el caso

que se consiguiese este hito, la comprobación de su ejecución seguiría siendo necesaria, pero

mediante un enfoque distinto.

Esta reflexión medita un cambio en la manera de ejecutar y controlar esta actividad. Es por ello

que a continuación, se describe la visión de este proceso al añadir el componente de la RA.

Octubre 2019

JORGE LUIS RAMOS HURTADO 93

4.1.3. Visión de la ejecución y control de las armaduras con RA

La detección de estos objetos mediante RA es precisa pero mejorable. Una mejora en este

aspecto, lo cual es perfectamente factible, comportaría la posibilidad de realizar un escaneo de

gran precisión y completo del entorno.

Se ve viable que cuando la tecnología sea suficientemente robusta se pueda llegar a escanear la

forma exacta de las armaduras. Esto conlleva que el escaneo pueda generar objetos con las

superficies detectadas. Siendo estos nuevos objetos creados una copia muy exacta de la

realidad. En ese caso, se obtienen dos tipos de modelos virtuales, el diseñado digitalmente, y el

creado a partir del modelo real.

Si se obtienen dos modelos virtuales que representan un mismo objeto pero que tienen orígenes

diferentes, se ve factible que su identidad geométrica pueda llegar a ser comprobada

informáticamente. Es decir, establecer la existencia de un control geométrico informatizado de

gran precisión, que permita deliberar si la ejecución de las armaduras se ha efectuado de manera

correcta o no.

Se conoce que las herramientas necesarias para este método existen en la actualidad. El

detonante de su creación, es que se investigue y se ejemplifique su robustez en el ámbito de la

ingeniería civil.

4.2. Modo Prevención de Riesgos Laborales (PRL)

Como se menciona en el apartado de diseño, este modo pretende ofrecer ayudas a la prevención

de riesgos laborales, con la visualización de avisos de alerta y recordatorios en materia de EPI’s.

Además, se contempla el rastreo de elementos móviles, como puede ser una hormigonera, y

así, proporcionar un mayor control de los elementos más peligrosos en una obra.

En la actualidad, los métodos de avisos de los riesgos en una obra se realizan mediante señales

luminosas y carteles pasivos. Sin embargo, estos avisos pueden pasar desapercibidos debido a

la concentración/pasividad del operario o por otras causas diversas. Es por ello, que este método

se basa en la detección de estos riegos de manera que el operario es directamente alertado

mediante un aviso del peligro y, así, que pueda actuar de manera anticipada.

Octubre 2019

JORGE LUIS RAMOS HURTADO 94

La aplicación realizada se aplica en 3 fases de ejecución:

- Excavación: en la que el principal peligro, es la presencia de la excavadora.

- Ferrallado: donde existe el peligro de caídas en altura dentro de la zanja.

- Hormigonado: donde el principal peligro es la hormigonera

Ilustración 80: Riesgo de colisión con la pala de la excavadora (izquierda). Y caída dentro de la zanja (derecha). Fuente: Yanet Caldes, Seguridad en excavaciones y Zanjas, SLIDESHARE.

Ilustración 81: Puntos ciegos de una hormigonera.

Mediante esta aplicación, la detección de los riesgos es efectiva y de precisión suficiente para

implementar su uso.

En este caso de estudio se puede determinar que en un futuro las gafas puedan ser un elemento

de uso habitual en obra, interconectadas entre sí y, por consiguiente, proporcionar una

herramienta que mejore la detección de riesgos en una obra de construcción.

Otro de los aspectos a destacar es que la detección de elementos móviles puede significar la

eliminación del problema de los puntos ciegos. Para ello, los elementos móviles, como la

hormigonera, deberían llevar también un sistema de aviso el cuál permita rastrear el

posicionamiento de un operario mediante las gafas. En cuanto al operario, también podría

percibir la existencia de una hormigonera en un punto ciego, y así evitar una colisión con ella.

Octubre 2019

JORGE LUIS RAMOS HURTADO 95

Esto supondría una reducción considerable de los atropellos en obra, que, por desgracia es un

evento que sucede. A continuación, se muestra una ilustración de la situación que supone la

detección de elementos móviles.

Ilustración 82: Detección real de la hormigonera mediante la función Box Collider, y posterior aviso. Fuente: propia

Esta experiencia se considera como una de las más robustas para su implementación en obras

de construcción. Esto es debido a que muestra soluciones contundentes a la problemática de la

alta accidentalidad en el sector.

Bien es sabido la insuficiente implicación de las empresas en materia de PRL. Su control en las

obras requiere de un esfuerzo añadido. El empleo de herramientas necesarias como la planteada

pueden facilitar la gestión de prevención, lo que es fundamental para una buena acogida de

nuevos métodos.

Es por ello que la visión de esta tecnología es que pueda adaptarse cómodamente a las funciones

diarias de un operario. En el momento que sea posible, los métodos pueden comportar un gran

cambio. Esto supone la localización constante de las personas que intervienen en una obra, lo

que daría lugar a una primera medida preventiva con la generación de alertas.

Otra de las visiones ideadas es que, al obtener una localización precisa de todos los integrantes

y de los objetos necesarios, se pueda llegar a generar una simulación real de obra, en la que no

solo se visualice el progreso de la infraestructura, sino que además se refleje el estado de los

Octubre 2019

JORGE LUIS RAMOS HURTADO 96

trabajadores. Esta simulación debería ser accesible por parte de los responsables se seguridad y

salud, que tomaran las medidas pertinentes en función de la situación. Este responsable deberá

tener la posibilidad de comunicarse a través de las gafas con el trabajador, y tener la facilidad

de emitir instrucciones o alertas en forma de paneles informativos.

Todo este manejo y visualización de la obra permitiría obtener un mayor control en las

actividades que se han de realizar. Obteniendo, además, una herramienta que permite el

conocimiento del modus operandi de los integrantes. Y en el caso de malas prácticas por parte

de los trabajadores, poder corroborar con justificaciones sólidas las decisiones tomadas por ellos

mismos.

4.3. Modo de Mantenimiento

El método de mantenimiento, pretende proporcionar un análisis inicial de cualquier fallo o

anomalía en una estructura. Este análisis tiene como objetivo descartar primeros posibles

motivos de fallo, pudiendo acceder a la visualización del proyecto as Built. Y así observar si la

anomalía es debida a una mala ejecución del armado, o no.

Ilustración 83: Grietas en una viga por origen desconocido. Fuente: Quora.com

Actualmente, este proceso se realiza mediante unos análisis de posibles fallos, para averiguar el

motivo y el origen de éstas. En el caso de no poder llegar a una conclusión firme, uno de los

posibles procedimientos a realizar es la extracción de catas. Estas muestras, permiten saber si la

ejecución y/o el diseño se han desempeñado de manera adecuada.

En el caso que se haya ejecutado conforme a un proyecto mal diseñado, la visualización de las

armaduras en RA permitiría detectar si la anomalía es debida a este suceso. Esta implementación

en RA permitiría identificar si la zona del fallo coincide exactamente con la zona mal diseñada,

siendo innecesaria la realización de la cata.

Octubre 2019

JORGE LUIS RAMOS HURTADO 97

Un posible caso sería la incorrecta realización de un proyecto, el cual se diseñan 4 barras

longitudinales de diámetro 15 mm en una viga. Se ejecuta tal y como la define proyecto y al cabo

de unos meses aparece una grieta en la viga.

Si el encargado del mantenimiento visualiza el modelo del AsBuilt en RA, podrá llegar a la

conclusión que esas vigas han sido mal diseñadas ya que eran necesarias un número o diámetro

mayor de barras, y realizará las operaciones de mantenimiento necesarias sin la necesidad de

catas.

4.4. Modo Ayudas a la Construcción de Armaduras (CAC)

Este caso consiste en la implementación de un nuevo método de trabajo para el montaje en

obra, o en taller, que tenga como herramienta de ayuda principal la RA. Para este caso de

estudio, se han de analizar los métodos actuales del montaje en obra de la ferralla.

4.4.1. Método actual

En la actualidad, en obra, los trabajos más habituales del ferrallado son:

- Descarga del material en zonas previamente asignadas.

- Manipulación y elaboración de la ferralla. Donde se da la forma asignada a las distintas

armaduras.

- Montaje de armaduras. En la disposición final o, premontado en zona asignada, por

secciones de elementos.

Este caso de estudio se enfoca en el montaje de las armaduras, tanto el montaje in situ, como

el premontaje en obra.

Hoy en día el montaje de las armaduras se realiza de manera manual. Es un proceso bastante

artesanal ya que se han de ir midiendo una a una las distancias entre las barras. Obteniendo

rendimientos bajos que son mejorables si se implementa un método más rápido en el que no se

precise de una medición manual y repetitiva por parte del operario.

Otro aspecto a tener en cuenta en elementos de ferralla complejos, es la correcta disposición

de las esperas, ya que es muy frecuente la mala de la disposición de ellas debido a una mala

ejecución de la ferralla. También errores en las distancias de solape suelen ser frecuentes en el

montaje, además de excesos y defectos en el recubrimiento por la mala colocación de la ferralla.

Octubre 2019

JORGE LUIS RAMOS HURTADO 98

Ilustración 84: Ejemplos de armadura compleja donde la importancia de una buena colocación es fundamental en cimentaciones. Fuente: (GeotechTips)

Ilustración 85: Desviación del pilar debido a insuficiencia de armadura de espera. Fuente: (ESCALESA)

Ilustración 86: Medición manual y repetitiva de la disposición de las armaduras. Fuente:

Octubre 2019

JORGE LUIS RAMOS HURTADO 99

Ilustración 87: Operario durante el montaje de la armadura.

4.4.2. Método con RA

Debido a las carencias mencionadas anteriormente, se propone la idea de un nuevo método que

permita una mayor eficiencia del montaje. Este método se propone mediante la elaboración de

una aplicación en RA mediante las Magic Leap One.

En esta app en RA, se implanta el modelo virtual de las armaduras en el lugar exacto donde van

situadas. De esta forma, el error de montaje es menor ya que la ejecución del proceso es más

exacta. También se muestra una leyenda del diámetro de barras para ayudar al operario a

determinar la barra correcta, algoritmos que permitan visualizar las mediciones, cálculos que

justifiquen la disposición del ferrallado, posibilidad de comprobaciones mediante RA, etc.

4.5. Análisis del proceso seguido

Para la elaboración de esta tesina, se ha tenido que adoptar gran cantidad de conocimientos

nuevos que han supuesto una dificultad añadida pero apasionante.

En el ámbito de la programación, se ha tenido que aprender desde el inicio el lenguaje C Sharp.

Este proceso ha sido largo pero muy enriquecedor ya que el hilo de las ordenes que sigue un

ordenador es distinto al humano, y esto ha hecho posible la ampliación de nuevas vías de

razonamiento.

También se ha tenido que aprender de nuevos softwares informáticos como Revit, Unity, ARCore

y Vuforia. Para la comprensión de su funcionamiento se ha tenido que seguir numerosas guías,

Octubre 2019

JORGE LUIS RAMOS HURTADO 100

ayudas y tutoriales ya que estos programas contienen una gran cantidad de nuevos conceptos

esenciales para su funcionamiento.

En cuanto a Magic Leap, ha sido un verdadero reto aprender a entender las funciones integradas

de este dispositivo. Existen variedad de ejemplos de aplicaciones, sin embargo, todavía hay poco

material para la ayuda al desarrollo de nuevas apps. Es por ello que ha habido fases de esta

tesina en las que se ha dedicado un gran tiempo en la comprensión de su funcionamiento. La

elaboración de funciones mediante códigos de programación ha sido relativamente sencilla una

vez se tienen los conceptos básicos. Pero su implementación para poder trabajar con Magic Leap

ha sido un reto mayúsculo. Cada nuevo desafío que se ha sabido sobrellevar, ha sido una fuente

de ánimo y de empuje a seguir investigando y aprendiendo.

En cuanto a la aplicabilidad de la RA en el campo de la ingeniería civil, es un aspecto que tiene

un gran camino por delante. Actualmente la revolución tecnológica también está teniendo

impacto en el sector, pero su implementación requiere de inversiones que, a veces, no es capaz

de asumir. La hoja de ruta, es la de seguir investigando acerca de su implementación y así acabar

perfeccionándola y evidenciar su uso al sector y mostrar sus grandes ventajas.

Como estudiante en el campo de la ingeniería civil, todo este proceso ha tenido grandes

repercusiones positivas, se han añadido nuevas capacidades que, sin duda, en el futuro

tecnológico en el que se encuentra el mundo actual, serán de gran ayuda. En cuanto, al

desarrollo de profesionales en este sector, en materia de uso tecnológico, se limita al

aprendizaje de uso de los programas informáticos, pero no de un conocimiento profundo de su

funcionamiento interno, quizás por qué no es el objetivo primordial. Pero desde mi punto de

vista, su conocimiento permitiría modificar internamente su desarrollo teniendo conocimientos

no solo en el campo de la informática, sino del ámbito de la ingeniería civil, lo cual puede tener

un componente añadido a la hora de desarrollo de nuevas aplicaciones informáticas.

Octubre 2019

JORGE LUIS RAMOS HURTADO 101

5. Conclusiones y futuras líneas de investigación

5.1. Conclusiones

En la realización de esta experiencia se concluye, de manera general, que la realidad aumentada

es una tecnología que ha de estar presente en el sector de la AIC, por su gran potencial y la gran

cantidad de aplicaciones posibles.

Además, se ha visto que es capaz de agilizar los procesos existentes en una obra de construcción,

pese a no poder realizar una prueba de campo.

En cuanto a la combinación de la metodología BIM con esta tecnología, se observa que supone

una gran ayuda, al poder acceder de forma instantánea y visual a ciertos datos BIM. Además,

las gafas de RA sirven como herramienta que fomenta la colaboración entre los distintos agentes

al poder realizar experiencias colaborativas interconectado varios dispositivos

simultáneamente.

Hay que añadir, que la implementación de esta tecnología en el campo de la prevención de

riesgos laborales, obtiene resultados muy favorables que, sin duda, en cuanto se implante esta

tecnología, será de una gran ayuda.

En cuanto al desarrollo de la aplicación, se ha visto una gran dificultad debido al

desconocimiento de Unity y sobre todo de las Magic Leap One. Situación que ha llevado a la

elaboración completa de la app un tiempo de 3 meses. Sin embargo, con las bases que se han

dado y con experiencia en Unity, desarrollar una aplicación similar podría tomar unas 1 o 2

semanas.

El uso de la aplicación desarrollada, va destinada a todo al personal que tenga conocimientos

básicos en construcción. En el caso del control de las armaduras, iría orientado hacia los

responsables de control de calidad y de los operarios que se encargan del montaje. En cuanto al

modo de prevención de riesgos laborales, se dirige a todos los trabajadores en colaboración con

el coordinador de seguridad y salud.

La incorporación de esta tecnología en el flujo de trabajo tendría una repercusión positiva, ya

que se obtendrían procesos más eficientes que reducirían los tiempos de ejecución. La RA sería

capaz de ofrecer una repercusión económica positiva gracias a la rapidez de las nuevas

metodologías.

Octubre 2019

JORGE LUIS RAMOS HURTADO 102

Se determina que, para la creación de este tipo de aplicaciones, se necesita de potentes

dispositivos electrónicos que permitan un desarrollo ágil. Un ordenador con especificaciones

determinadas sería conveniente para la creación en Unity, y unas gafas de realidad aumentada

como las Magic Leap o HoloLens serían los recursos necesarios para esta experiencia.

En cuanto al aprendizaje es necesario obtener conceptos de programación e ingenieriles ya que

no solo se ha de crear la aplicación, sino que también se ha de idearla para determinar las

mejores opciones.

Se concluye también, que la tecnología ha de seguir avanzando en el desarrollo de los

componentes. Haciendo que estos sean más ligeros y aptos para su uso diario en obra. Este

proceso es cuestión de esperar ya que hoy en día la tecnología avanza a pasos agigantados.

Por último, se concluye que la elaboración de esta tesina, ha sido provechosa y enriquecedora

ya que ha evidenciado las mejoras que conlleva la implementación de la RA en sector de la AIC.

Su implementación es cuestión de tiempo, pero para cuando llegue el momento, las aplicaciones

han de estar listas para que el sector se convenza de toda la capacidad que posee.

Octubre 2019

JORGE LUIS RAMOS HURTADO 103

5.2. Futuras líneas de investigación

Las futuras líneas de investigación han de seguir buscando la complementación de la

metodología BIM con la realidad mixta.

Además, se propone la creación de visualización de los datos BIM en cualquiera de las fases de

una obra de construcción. Investigar acerca de su exportación y analizar qué datos son

relevantes en cada fase puede ser el componente diferencial para la razón de uso de esta

tecnología.

También se ve interesante la visualización de los flujos de trabajo mediante el modelo virtual.

Ya que esta visualización puede ayudar a comprender en cómo mejorar la optimización de las

actividades existentes. Fomentar el trabajo colaborativo será esencial para que la visualización

de este flujo, pueda suponer un avance.

Otra de las líneas a seguir, es poder implantar estas aplicaciones en obra, ya que solo así, se

podrá convencer al sector de la necesidad de su uso.

Octubre 2019

JORGE LUIS RAMOS HURTADO 104

Bibliografía

[1] Beat, Venture. Venture Beat. [En línea] [Citado el: 16 de Setiembre de 2019.] https://venturebeat.com/2018/07/31/magic-leap-ones-field-of-view-leak-signals-another-ar-disappointment/.

[2] Chavarri de Lemos, Miguel Gerardo. 2018. La realidad aumentada como medio de visualización del modelo BIM en la construcción. Departamento de Ingeniería Civil y Ambiental, UPC & CIMNE. Barcelona : s.n., 2018. Tesis de Máster.

[3] Claure Soliz, Ruth Fabiola. Febrero 2019. Desarrollo de aplicaciones inmersivas de Realidad Virtual y Aumentada para ensayos de estructuras de acero inoxidable. Departamento de Ingeniería Estructural y de la Construcción. s.l. : UPC, Febrero 2019. TFM.

[4] Create First Unity App, Magic Leap. Creator Portal - Learn - Guides. [En línea] [Citado el: 12 de Junio de 2019.] https://creator.magicleap.com/learn/guides/gsg-create-your-first-unity-app.

[5] Creating Unity Projects, Magic Leap. [En línea] [Citado el: 2 de Setiembre de 2019.] https://creator.magicleap.com/learn/guides/unity-project-sdk-20.

[6] deCoss Henning, Oscar. 2017. Realidad Aumentada Aplicada en la Construcción. Departamento de Ingeniería Civil y Ambiental, UPC & CIMNE. Barcelona : s.n., 2017. Tesis de Máster.

[7] ESCALESA. ESCALESA. [En línea] [Citado el: 15 de Setiembre de 2019.] https://escalesa.com/2013/02/06/armadura-de-espera-en-pilares-insuficiente-errores-de-ejecucion/.

[8] Fomento, Ministerio de. 2008. EHE-08 Instrucción de hormigón estructural. Madrid : Centro de Publicaciones Secretaría General Técnica Ministerio de Fomento, 2008.

[9] GeotechTips. [En línea] [Citado el: 16 de Setiembre de 2019.] https://twitter.com/geotechtips/status/774246298853793792.

[10] Google. ARCore - developers. [En línea] https://developers.google.com/ar.

[11] IFIXIT. iFixIt - Guía - Desmontaje. [En línea] [Citado el: 16 de Setiembre de 2019.] https://es.ifixit.com/Gu%C3%ADa/Desmontaje+del+Magic+Leap+One/112245.

[12] Jeniffer Andrea, Nogales Irahola. 2018. La digitalitzación en la fase de ejecución de proyectos constructivos. Departamento de Ingeniería Civil y Ambiental, CIMNE & UPC. Barcelona : s.n., 2018. Tesis de Máster.

[13] Leap, Magic. Creator Portal. [En línea] https://creator.magicleap.com/home.

[14] Mercé Gotsens, Raimon. 2019. Documentación Magic Leap. CIMNE. Barcelona : s.n., 2019.

[15] Microsoft. 2018. developers.microsoft.com. Microsoft - Mixed reality. [En línea] Microsoft, 2018. [Citado el: 29 de Mayo de 2019.] https://docs.microsoft.com/es-es/windows/mixed-reality/.

[16] —. Holo Lens. [En línea]

[17] Milgram, P. , & Kishino, F. 1994. A Taxonomy of Mixed Reality Visual Displays. s.l. : IEICE Transactions on Information Systems, 1994. 77 (12).

Octubre 2019

JORGE LUIS RAMOS HURTADO 105

[18] Navarro, Marc Arnau. 2018. Virtual Reality to enhance safety and health in construction. Departamento de Ingeniería Civil y Ambiental, UPC & CIMNE. Barcelona : s.n., 2018. Tesina de Grado.

[19] Package Manager, Magic Leap. Magic Leap Package Manager download. [En línea] [Citado el: 2 de Setiembre de 2019.] https://creator.magicleap.com/downloads/lumin-sdk/overview.

[20] Unity. Learn. [En línea] https://unity.com/learn.

[21] VERITY. Topconpositioning. [En línea] [Citado el: 20 de Septiembre de 2019.] https://www.topconpositioning.com/sites/default/files/product_files/2018_verity_brochure_v1.pdf.

[22] Vuforia. Develop Portal. [En línea] https://developer.vuforia.com/.

Octubre 2019

JORGE LUIS RAMOS HURTADO 106

Anejos

Configuración inicial en Unity para la creación de una App en Magic Leap

1. Abrir Unity Hub.

2. Seleccionar Projects y clicar New.

Ilustración 88: Paso 1: Creación de un nuevo proyecto en Unity.

3. Especificar la versión de Unity para el proyecto. Seguidamente, aparece la ventana de Create

a new Project with Unity <version>.

4. Especifica el Template: 3D, el Project Name (nombre del proyecto) y la Location (ubicación),

y clicar Create (crear).

Octubre 2019

JORGE LUIS RAMOS HURTADO 107

Ilustración 89: Paso 2: Selección del tipo de proyecto en Unity.

Se abre el editor de Unity.

5. Instalar el Unity XR Legacy Input Helpers:

1. En el menú principal del editor de Unity, ir a Window > Package Manager. Se abre el

diálogo del Package.

2. Desde el listado de los Packages, seleccionar XR Legacy Input Helpers.

3. Clicar Install.

Octubre 2019

JORGE LUIS RAMOS HURTADO 108

Ilustración 90: Paso 3: Instalación de XR Legacy Input Helpers

4. Cerrar el cuadro de diálogo del Package.

6. Ubicar el Lumin SDK:

1. Id a Edit > Preferences. El cuadro de diálogo de Preferences se abre.

2. Dentro del cuadro diálogo, clicar a External Tools.

3. En la parte baja del cuadro de diálogo, en el apartado de Lumin SDK, clicar Browse, y

seguidamente seleccionamos el Lumin SDK con su versión, descargado previamente. La

ubicación de este archivo se encuentra en la carpeta de MagicLeap/mlsdk/v0.21.0 (por

defecto).

Octubre 2019

JORGE LUIS RAMOS HURTADO 109

Ilustración 91: Paso 4: Ubicación del Lumin SDK dentro de Unity.

4. Cerrad el cuadro de diálogo de Preferences.

7. Cambiar la plataforma a Lumin, en Build Settings:

1. Id a File > Build Settings.

2. En la lista de plataformas, escoged Lumin y seguidamente clicar Switch Platform.

Octubre 2019

JORGE LUIS RAMOS HURTADO 110

Ilustración 92: Paso 5: Cambio de plataforma a Lumin desde Build Settings.

3. Cerrad el cuadro de diálogo Build Settings.

8. Configuración para la plataforma Lumin en Player Settings:

1. Id a Edit > Project Settings.

2. Seleccionad Player.

3. Clicad en el icono de Magic Leap – Lumin.

4. En el apartado Other Settings, cambiad el Color Space a Linear.

Octubre 2019

JORGE LUIS RAMOS HURTADO 111

Ilustración 93: Paso 6: Configuración en la plataforma Lumin dentro de Player Settings.

5. En el apartado XR Settings, seleccionad la casilla de verificación de Virtual Reality

Supported, y después cambiar el Stereo Rendering Mode a Single Pass Instanced.

Octubre 2019

JORGE LUIS RAMOS HURTADO 112

Ilustración 94: Paso 7: Cambios de configuración en el apartado XR Settings.

6. Ya se puede cerrar el Project Settings.

9. Importar el Magic Leap Unity Package, descargado previamente (véase el apartado: 3.2.1

Descarga del Magic Leap Package Manager.)

1. Id a Assets > Import Package, y acto seguido clicad Custom Package.

2. En el cuadro de diálogo del Import Package, buscad el archivo

MagicLeap.unitypackage ubicado por defecto dentro de la carpeta

MagicLeap/tools/unity/v0.21.0.

3. En el cuadro de diálogo Import Unity Package, clicad All y seguidamente clicad

Import.

Octubre 2019

JORGE LUIS RAMOS HURTADO 113

Ilustración 95: Paso 8: Importación del Magic Leap Unity Package.

10. Para la creación de un nuevo proyecto, es indispensable utilizar como cámara principal Main

Camera, la proporcionada dentro del Unity Package:

1. En la ventana de Hierarchy, se elimina la Main Camera dentro de la Sample Scene.

2. Selección de la ventana del proyecto e id a Assets > MagicLeap > Core > Prefabs, y

después arrastrar la Main Camera dentro del Sample Scene en la ventana Hierarchy.

Octubre 2019

JORGE LUIS RAMOS HURTADO 114

Ilustración 96: Paso 9: Configuración de la cámara principal del proyecto.

11. Copia del archivo manifest.xml desde la carpeta de Examples a los Assets de tu proyecto.

1. En la ventana del proyecto id a Assets > Magic Leap > Examples > Plugins > Lumin.

2. Clic derecho en manifest y después clicad a Show in Explorer.

Octubre 2019

JORGE LUIS RAMOS HURTADO 115

Ilustración 97: Paso 10: Copia del archivo manifest.xml

3. Utilizando el Windows Explorer, copiad el archivo manifest.xml en tu proyecto de

Unity en la carpeta Assets/Plugins/Lumin. Si esta carpeta no existe, has de crearla.

Estos son los pasos que realizar para desarrollar aplicaciones de Magic Leap en Unity.

Octubre 2019

JORGE LUIS RAMOS HURTADO 116

RayCastVisual

using UnityEngine;

using UnityEngine.XR.MagicLeap;

using UnityEngine.UI;

public class RaycastVisual : MonoBehaviour

{

#region Variables

//Se declaran las variables

[SerializeField, Tooltip("El objeto referente de la clase que da los resultados")]

private BaseRaycast _raycast = null;

private bool _hit = false;

private Renderer _render = null;

public MLPersistentBehavior persistentBehavior;

public GameObject objToPlace = null;

public Text helpText;

public GameObject actarm, desarm, placementbutton, crossImage;

private MLInputController _controller;

private GameObject _camera;

private float secondsCount;

private int lastPressed = 0;

private Vector3 angle;

private Vector3 rotangle;

private Vector3 firstpoint, p1;

private Vector3 secondpoint, p2;

#endregion

#region Public Properties

Octubre 2019

JORGE LUIS RAMOS HURTADO 117

public bool Hit

{

get

{

return _hit;

}

}

#endregion

#region Unity Methods

private void Start()

{

_camera = GameObject.Find("Main Camera");

MLInput.Start();

_controller = MLInput.GetController(MLInput.Hand.Left);

helpText.text = "Con las gafas, apunta al origen de la estructura que contiene la imagen siguiente. Seguidamente, pulsa el 'Bumper'";

}

void Awake()

{

// Check if the Layer is set to Default and disable any child colliders.

if (gameObject.layer == LayerMask.NameToLayer("Default"))

{

Collider[] colliders = GetComponentsInChildren<Collider>();

// Disable any active colliders.

foreach (Collider collider in colliders)

{

collider.enabled = false;

}

// Warn user if any colliders had to be disabled.

if (colliders.Length > 0)

{

Debug.LogWarning("Colliders have been disabled on this RaycastVisualizer.\nIf this is undesirable, change this object's layer to something other than Default.");

Octubre 2019

JORGE LUIS RAMOS HURTADO 118

}

}

if (_raycast == null)

{

Debug.LogError("Error: RaycastVisualizer._raycast is not set, disabling script.");

enabled = false;

return;

}

_render = GetComponent<Renderer>();

if (_render == null)

{

Debug.LogError("Error: RaycastVisualizer._render is not set, disabling script.");

enabled = false;

return;

}

}

private void OnDestroy()

{

MLInput.Stop();

}

#endregion

#region Event Handlers

public void OnRaycastHit(MLWorldRays.MLWorldRaycastResultState state, RaycastHit result, float confidence)

{

if (state != MLWorldRays.MLWorldRaycastResultState.RequestFailed && state != MLWorldRays.MLWorldRaycastResultState.NoCollision)

{

// Este código, actualiza la poisicón del puntero, igualando la posición al punto detectado, direccionándolo perpendicularmente a la superfície de contacto.

transform.position = result.point;

transform.LookAt(result.normal + result.point);

transform.localScale = new Vector3 (0.5f , 0.5f, 0.5f);

Octubre 2019

JORGE LUIS RAMOS HURTADO 119

//se crea un contador

secondsCount += Time.deltaTime;

// Si el botón es presionado por primiera vez.

if (_controller.IsBumperDown == true && lastPressed == 0)

{

//El texto de ayuda cambia para proprocionar las instrucciones.

Debug.Log("Objeto posicionado");

helpText.text = "Selecciona el segundo punto de orientación en obra, también con la misma señal en verde.";

//Resultado del punto.

firstpoint = result.point;

Debug.Log("firstpoint" + firstpoint);

lastPressed = 1;

//Se transforma la posición del modelo tridimensional al punto detectado en el entorno real.

objToPlace.transform.position = firstpoint;

// Se deja el temporizador a zero.

secondsCount = 0;

Debug.Log(secondsCount);

//crossImage.GetComponent<Image>().defaultMaterial.color.g;

}

//Si el botón es presionado por segunda vez, y se hace 2 segundos después de presionar el primero.

if (_controller.IsBumperDown == true && lastPressed == 1 && secondsCount >= 2)

{

Debug.Log("Segundo Presionado");

Debug.Log("firstpoint" + firstpoint);

//Detección del segundo punto

secondpoint = result.point;

//Anulación del componente y en los vectores posición de los dos puntos.

secondpoint.y = 0;

firstpoint.y = 0;

Debug.Log("secondpoint" + secondpoint);

//Angulo de rotación del vector que une los dos puntos. Al no tener componente y, este vector direccional se encuentra en el plano xy.

var targetRot = Quaternion.LookRotation(firstpoint - secondpoint);

Octubre 2019

JORGE LUIS RAMOS HURTADO 120

Debug.Log("Angulo rotación:" + targetRot);

//Se iguala la rotación en xy de los dos puntos, con la rotación del modelo.

objToPlace.transform.rotation = targetRot;

//Se modifica el texto y se activan los botones de activación y descativación de armaduras.

helpText.text = "Modelo implantado correctamente. Para comenzar con la inspección, haga uso del menú.";

actarm.SetActive(true);

desarm.SetActive(true);

placementbutton.SetActive(false);

lastPressed = 2;

Debug.Log("Segundo Presionado");

}

//Una vez implantado el modelo se entra en este apartado.

if (lastPressed == 2)

{

//Se activa la visualización del modelo.

objToPlace.SetActive(true);

//Se actualiza la posición en el entorno para su permanente visualización.

persistentBehavior.UpdateBinding();

lastPressed = 3;

}

_hit = true;

}

}

#endregion

}

Octubre 2019

JORGE LUIS RAMOS HURTADO 121

Menu Handler

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

public class MenuHandler : MonoBehaviour

{

#region Variables

//Se declaran las variables públicas a designar.

public Button option1, option2, option3, option4;

public GameObject initialPanel;

public Text header, instruction;

public GameObject Mode1, Mode2, Mode3, Mode4;

#endregion

#region Unity Methods

void Start()

{

//Antes de iniciar, se ha de asegurar, que todos los modos estan deshabilitados.

Mode1.SetActive(false);

Mode2.SetActive(false);

Mode3.SetActive(false);

Mode4.SetActive(false);

//Llamadas a las funciones que realiza cada botón.

option1.onClick.AddListener(GetMode1);

option2.onClick.AddListener(GetMode2);

option3.onClick.AddListener(GetMode3);

option4.onClick.AddListener(GetMode4);

}

#endregion

#region Event Handlers

Octubre 2019

JORGE LUIS RAMOS HURTADO 122

//Funciones del modo1

void GetMode1()

{

Debug.Log("dentro");

//Se desactiva el panel actual y se activa el panel de instrucciones iniciales.

Mode1.SetActive(true);

initialPanel.SetActive(true);

//Se designa el título y el texto de cada modo.

header.text = "Modo Control de Calidad";

instruction.text = "El modo Control de Calidad, permite al usuario implantar " +

"el modelo Tridimensional de la estructura, y realizar una comparativa " +

"de las armaduras ya colocadas con las dise󣧡s en proyecto. \n" +

"Para iniciar la implantación del modelo en el espacio real, presione entendido";

//Mensaje de comprobación.

Debug.Log("Mode 1 activated");

//Se desactiva el menu principal

gameObject.SetActive(false);

}

//En el modo 2 se realizan las misma funciones que en el modo 1.

void GetMode2()

{

Mode2.SetActive(true);

initialPanel.SetActive(true);

header.text = "Modo de Prevención de Riesgos Laborales";

instruction.text = "El modo PRL permite al usuario preveer los riesgos " +

"mediante ayudas incorporadas dentro de la experiencia. Por favor al " +

"seleccionar entendido, seguidamente indique su código de trabajador.";

Debug.Log("Mode2 activated");

Octubre 2019

JORGE LUIS RAMOS HURTADO 123

gameObject.SetActive(false);

}

//Se describe el modo 3 pese ano haber creado la aplicación.

void GetMode3()

{

Mode3.SetActive(true);

initialPanel.SetActive(true);

header.text = "Modo de Mantenimiento";

instruction.text = "El modo de Mantenimienot, permite implantar un modelo ya " +

"construido que ha fallado o deteriorado por causas desconocidas. La " +

"visualización del interior permite detectar errores de proyecto, y así," +

" evitar la realización de una cata";

Debug.Log("Mode3 activated");

gameObject.SetActive(false);

}

//Se describe la ayuda acerca de estas aplicaciones en RA.

void GetMode4()

{

Mode4.SetActive(true);

initialPanel.SetActive(true);

header.text = "Ayuda";

instruction.text = "Esta aplicación está desarrollada para ayudar y optimizar" +

"procesos en distintos entornos de obra" + "\n Los distintos entornos " +

"de esta experiencia son los siguintes: \n -Modo Control de Calidad \n" +

"-Modo de Prevención de Riesgos Laborales \n -Modo de mantenimiento";

Debug.Log("Mode4 activated");

gameObject.SetActive(false);

}

#endregion

}

Octubre 2019

JORGE LUIS RAMOS HURTADO 124

Initial Instructions Panel Handler

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

using UnityEngine.SceneManagement;

public class InitialIntructionsPanel_Handler : MonoBehaviour

{

#region Variables

//Se declaran las variables.

public Button entendidobutton;

public GameObject mode1, mode2, mode3, mode4, m1OptionsPanel, m2OptionsPanel, helpText;

public Text header, coreText;

public Button afirmativeBttn;

private int lastPressed = 0;

#endregion

#region Unity Methods

void Start()

{

//En el caso que uno de los modos esté activado, en cuanto se clique

//el botón entendido, se procede al inciio de las aplicaciones.

Debug.Log("InitialInstrPanel_Handler has started");

if (mode1.activeSelf == true)

{

entendidobutton.onClick.AddListener(TaskOnClick1);

}

if (mode2.activeSelf == true)

{

entendidobutton.onClick.AddListener(TaskOnClick2);

}

if (mode3.activeSelf == true)

{

entendidobutton.onClick.AddListener(TaskOnClick3);

}

if (mode4.activeSelf == true)

{

Octubre 2019

JORGE LUIS RAMOS HURTADO 125

entendidobutton.onClick.AddListener(TaskOnClick4);

}

}

//Se inicia el modo1

void TaskOnClick1()

{

//Se activa el panel de texto de ayuda dentro la app.

helpText.SetActive(true);

//Se activa el menú interno de las funciones.

m1OptionsPanel.SetActive(true);

//Se desactiva el panel de instrucciones.

gameObject.SetActive(false);

Debug.Log("Button entendido apretado");

}

void TaskOnClick2()

{

//Se activa el menú interno del modo 2.

m2OptionsPanel.SetActive(true);

//Se desactiva el panel de instrucciones.

gameObject.SetActive(false);

Debug.Log("Button entendido apretado");

}

void TaskOnClick3()

{

//Se deja el mensaje que esté modo no está desarrollado.

Debug.Log("Modo no desarrollado");

}

public void TaskOnClick4()

{

//Se inicia elc ontador y en cunato supera los 2 segundos, la scena se reinicia.

var counter = Time.deltaTime;

if (counter > 2)

{

SceneManager.LoadScene("TFG-CIMNE&UPC");

}

}

#endregion

}

Octubre 2019

JORGE LUIS RAMOS HURTADO 126

Mode 2 Options Menu Handler

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

public class M2OptionsMenu_Handler : MonoBehaviour

{

//Se declaran las variables

public GameObject initialPanel, constructionElements;

public Text header, coreText;

public Button excavationBtn, reinforcementBtn, concreteBtn, okButton;

public Text buttonText;

private int lastPressed = 0;

//En cuanto de selecciona la fase, llama a la función de las preguntas inicailes.

void Start()

{

excavationBtn.onClick.AddListener(QuestionsHandler);

reinforcementBtn.onClick.AddListener(QuestionsHandler);

concreteBtn.onClick.AddListener(QuestionsHandler);

}

public void QuestionsHandler()

{

//Se realizan las instrucciones iniciales a las preguntas.

initialPanel.SetActive(true);

header.text = "Preguntas Previas";

coreText.text = "Antes de acceder a obra, es necesario comprobar que se cumple" +

" con los criterios descritos en el PSS en materia de EPI's. A continuación," +

" se le reailzaran diversas preguntas acerca de ello; Una vez tenga el EPI " +

"puesto, presione entendido.";

okButton.onClick.AddListener(Questions2);

gameObject.SetActive(false);

}

Octubre 2019

JORGE LUIS RAMOS HURTADO 127

//Se realizan las preguntas

void Questions2()

{

if (lastPressed == 0)

{

coreText.text = "¿Lleva puesto el casco de seguridad?";

lastPressed = 1;

}

if (lastPressed == 1)

{

coreText.text = "¿Lleva puesto el mono de trabajo y el chaleco reflectante?";

buttonText.text = "Comenzar";

okButton.onClick.AddListener(PlaceObjects);

}

}

//Se activan los objetos requeridos.

void PlaceObjects()

{

constructionElements.SetActive(true);

gameObject.SetActive(false);

}

}

Octubre 2019

JORGE LUIS RAMOS HURTADO 128

Mixing Handler

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

//Script que realiza los movimientos del camión cuba.

public class ConcreteMixerhandler : MonoBehaviour

{

// Se declaran los componentes del camión.

public GameObject shiftingA, shiftingB, mixingDrum;

public float speedRotation = 15f;

public float angleToRotate = -30f;

//Función que realiza los giros.

void Update()

{

//Rota los grados indicados el brazo mecanico.

transform.rotation = Quaternion.Slerp(transform.transform.rotation, Quaternion.Euler(angleToRotate+5, 0, 0), Time.deltaTime * speedRotation);

//Rota los grados indicados el segundo brazo mecánico.

shiftingB.transform.localRotation = Quaternion.Slerp(shiftingB.transform.localRotation, Quaternion.Euler(angleToRotate - 60, 0, 0), Time.deltaTime * speedRotation/3);

//Giro constante del tambor de mezcla.

mixingDrum.transform.Rotate(Vector3.forward * Time.deltaTime * 30);

} }

Octubre 2019

JORGE LUIS RAMOS HURTADO 129