Objetivo 5.
Enseñar a los alumnos conceptos de electrónica, informática y físicos a través de un prototipo de sistema automatizado basado en Industria 4.0 y Realidad Mixta
Actividad 5.1.
Diseño de la maqueta Industria 4.0.
Se pretende diseñar una maqueta modelo de industria 4.0 basada en PLC Siemens S7/1200, pantalla HMI y Scada para que el alumnado de Formación Profesional de Mantenimiento electrónico pueda entender el concepto de digitalización Industrial.
En esta actividad se establecerá las características que debe incluir el prototipo, como modos de funcionamiento, aspecto, conexionado, comunicaciones, etc.
Actividad 5.2.
Montaje y construcción de la maqueta Industria 4.0.
Se pretende montar y construir la maqueta modelo de industria 4.0 para que sirva como dispositivo experimental para su uso en los talleres de los centros educativos. Se prevé que se realicen las siguientes fases de proceso de construcción: (i) Monteje de las etapas mecánicas, electrónicas y de comunicaciones; (ii) implementación del diseño de control; (iii) desarrollo de un sistema de supervisión y control del proceso; (iv) puesta en marcha del sistema en su conjunto y verificación final
Recursos necesarios:
Un S7/1200 y la pantalla HMI, cableado y los sensores.
Actividad 5.3.
Elaboración de material didáctico para enseñar el funcionamiento de la maqueta Industria 4.0 utilizando técnicas de realidad mixta.
Se desarrollará un guion que explique el funcionamiento del módulo de control, sensórica, buses de comunicaciones, planos y esquemas de montaje. Asimismo, se describirán las diferentes etapas de diseño y construcción.
Este material didáctico se desarrollará en un formato capaz de acceder a él con gafas de realidad virtual y/o aumentada.
Recursos necesarios:
1 Ordenador.
Las gafas de realidad mixta
Actividad 5.4. Elaboración de un video tutorial.
Elaboración de un vídeo tutorial que muestre de manera didáctica el diseño, desarrollo y funcionamiento del prototipo.
Recursos necesarios:
1 Ordenador.
REALIDAD AUMENTADA PARA LA VISUALIZACIÓN E INTERACCIÓN CON OBJETOS 3D EN UNITY
Desarrollo de una aplicación para asistencia remota con realidad aumentada
Compruebe si tiene Microsoft HoloLens. HoloLens es necesario para poder utilizar Dynamics 365 Guides.
Regístrese sobre la versión de prueba de Dynamics 365 Guides.
Descargue la aplicación Aplicación Dynamics 365 Guides de Microsoft Store, disponible en HoloLens y en equipos con Windows 10.
Para acceder a otros recursos o al servicio de soporte técnico, visite Dynamics 365 Comunidad y Documentación Comunidad de Dynamics 365 Guides.
Las Microsoft HoloLens poseen la principal característica de ofrecernos una realidad aumentada/mixta adaptable a nuestro entorno. Mediante el uso de sensores IMU y cámaras de profundidad, realizan un mapeo espacial de nuestro alrededor para posicionarse y reconocer el lugar donde nos encontremos. Esto permite, entre otras cosas, colocar hologramas sobre elementos físicos y mantenerlos en esa posición.
Este dispositivo funciona como un elemento completamente independiente, es decir, no requiere de ningún tipo de hardware externo para funcionar. Como sistema operativo dispone de un Windows 10 que ejecuta únicamente aplicaciones universales de Windows.
Podéis encontrar más detalle de las especificaciones técnicas en este enlace.
Antes de empezar, debemos cumplir unos requerimientos mínimos a nivel de hardware y software. Serían los siguientes:
Procesador de 4 núcleos
8GB de memoria RAM
Windows 10 Pro-Enterprise-Education de 64 bits (la versión Home no nos vale debido a que no soporta Hyper-V y lo necesitaremos para poder ejecutar el emulador)
Recomendable disponer de una GPU dedicada (con la tarjeta integrada del procesador se puede mover el emulador, pero tendríamos un rendimiento muy limitado)
Visual Studio 2017 con el SDK de UWP y las “Visual Studio Tools for Unity”
Unity 2017 o 5.6
Emulador de las HoloLens (podéis descargároslo aquí)
No es estrictamente necesario utilizar Unity para desarrollar sobre HoloLens, ya que podemos hacer una aplicación 3D utilizando otro motor o consumiendo directamente la API de DirectX.
Una vez preparado el entorno, vamos a realizar paso a paso una aplicación muy básica que nos servirá para conocer las bases del desarrollo para este dispositivo de Microsoft. A esta aplicación la llamaremos «HoloWorld», y gracias a ella seremos capaces de visualizar un cubo con las HoloLens. Para desarrollar esta aplicación usaremos la versión de Unity 2017.1.0p5 y Visual Studio 2017.
Abrimos Unity y pulsamos “New” para crear un nuevo proyecto (yo lo llamaré “KabelHoloWorld”). Si están activos, deshabilitamos los Unity Analitics, puesto que no nos van a hacer falta para esta aplicación tan básica que vamos a hacer. Pulsamos sobre «Create Project” cuando lo tengamos listo.
Una vez cargado el IDE de Unity, haremos una serie de cambios mínimos que expondremos a continuación (dichos cambios son más o menos comunes en la mayoría de aplicaciones que tengamos que desarrollar para las HoloLens).
3.1.1. Ajustes de la escena
La cámara es uno de los elementos más importantes. En el panel Hierarchy, buscamos el objeto Main Camera y lo pulsamos para acceder a sus componentes y propiedades. Dado que un proyecto puede tener n escenas, tendremos que hacer estos cambios con cada nueva escena que creemos:
En el componente Transform, modificamos la posición a (0, 0, 0). Por defecto, la posición viene establecida a (0, 1, -10). Es necesario hacer esto para que el punto de inicio sea el centro.
En el componente Camera, cambiamos la propiedad Clear Flags a «Solid Color» y el Background a RGBA (0, 0, 0, 0). Esto lo hacemos así dado que no nos interesa generar ningún tipo de fondo (ponemos el color negro porque en las HoloLens éste se representa transparente).
Cambiamos en Clipping Planes el valor Near. Por defecto aparece en 0.3, pero nosotros lo pondremos en 0.85. Esta propiedad establece la distancia mínima a la que un holograma se podrá ver.
Debería quedar algo así:
3.1.2. Ajustes del proyecto
Sólo tenemos que realizar estos cambios una vez por proyecto, con el objetivo de poder ofrecer una experiencia óptima. El framerate es muy importante en las HoloLens, por lo que tendremos que hacer algunos ajustes en la calidad gráfica. Seleccionamos en el menú superior Edit>Project Settings>Quality, clicamos en la flecha inferior al logo de UWP y ponemos «Very Low”. Éste es un ajuste de calidad inicial que podremos cambiar dependiendo de los requerimientos de la aplicación.
Como próximo paso, le indicaremos a Unity que estamos creando una aplicación holográfica en lugar de una clásica en 2D. Para ello, nos dirigimos a Edit>Project Settings>Player, pulsamos la pestaña con el logo de UWP, buscamos «Other Settings» y seleccionamos «Virtual Reality Supported”.
Una vez realizados estos ajustes iniciales, podremos añadir nuestro cubo a la escena. Para ello, pulsamos el botón «Create» que hay en el panel de Hierachy y seleccionamos 3D Object>Cube. Al igual que hicimos antes con la cámara, pulsamos el nuevo cubo generado y cambiamos su posición, esta vez a (0, 0, 2). Además, le damos una rotación de (45, 0, 45). De este modo, estaremos colocando el cubo que hemos rotado a 2 metros enfrente del usuario.
Si nos vamos a la pestaña Game, deberíamos estar viendo algo así:
Una vez tengamos nuestro cubo, guardamos los cambios haciendo clic en File>Save Scene (o con CTRL+S). Yo he llamado a la escena “HoloWorldScene”.
El siguiente paso será visualizar nuestro cubo sobre el dispositivo. Disponemos de dos opciones para hacer esto:
3.3.1. Holographic Remoting Player
Esta opción únicamente se puede realizar sobre unas HoloLens (no emulador) que se encuentren en la misma red que el equipo de desarrollo. Esta opción funciona a modo de preview (con limitaciones), permitiéndonos apreciar cómo se vería nuestra aplicación en las HoloLens.
Instalamos la app Holographic Remoting Player desde el Windows Store de las HoloLens. La arrancamos y esperamos a que muestre la IP del dispositivo.
Una vez obtengamos dicha IP, nos vamos a Unity, abrimos Window>Holographic Emulation, establecemos el Emulation Mode a «Remote to Device”, introducimos la IP obtenida y hacemos clic en «Connect». En caso de no conseguir conectarnos, probamos a reducir el bitrate máximo.
Estando ya conectados, pulsamos sobre el icono de reproducción de Unity para visualizar nuestra escena directamente sobre las HoloLens.
3.3.2. Build Solution
A diferencia de la primera opción, ésta es menos rápida pero más fiable de cara a cómo se va a ver la aplicación.
El proceso consiste en generar una solución UWP de Visual Studio y realizar un deploy de dicha solución, ya sea en el emulador o en las HoloLens.
Para ello, nos vamos a File>Build Settings y, pulsando el botón «Switch Platform», nos cambiamos a Universal Windows Platform. Una vez hecho el cambio, modificamos sus parámetros tal como aparecen en la siguiente imagen.
Una vez configurada la Build, pulsamos el botón «Build» y seleccionamos la carpeta donde queremos generar la solución. Ya generada, la abrimos desde Visual Studio.
Tendremos que configurar la arquitectura a x86 y seleccionar el emulador (o las HoloLens en caso de disponer de unas conectadas).
Pulsando el icono de reproducción se ejecutará el emulador y nuestra aplicación se desplegará en el mismo, abriéndose por sí sola cuando el proceso termine. Si todo ha ido bien, veremos el cubo blanco.
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Button_1 : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
public void OnPointerDown(PointerEventData eventData)
{
Debug.Log("detecto el click");
Application.OpenURL("https://sites.google.com/ieslafuensanta.es/proyectosme/proyectos-2022/maqueta-industria-4-0");
}
public void OnPointerUp(PointerEventData eventData)
{
Debug.Log("Dejo de pulsar el boton");
}
}