Skip to content

Unity project that aims to create a digital replica of the Colivri laboratory at Uniandes

License

Notifications You must be signed in to change notification settings

imagine-uniandes/ColivriDigitalTwin

Repository files navigation

Colivri Digital Twin

About the Project

Colivri Digital Twin is a Unity-based project that aims to create a digital replica of the Colivri laboratory at the University of Los Andes. The project facilitates experimentation and the development of new technologies, emphasizing virtual and augmented reality, simulators, and human-robot interfaces. This initiative is led by a team of students as part of their degree project within the Systems Engineering program at the university.

Organization of Objects and Naming Conventions in Unity

In this project, the organization of objects should be structured hierarchically for easy navigation and maintenance. We utilize the UpperCamelCase convention, which applies to all objects, classes, and structures within Unity. Please adhere to this convention when contributing to the project.

Naming Scheme: UpperCamelCase

The UpperCamelCase convention implies that the first letter of each word is capitalized without spaces.

Example

UpperCamelCaseExample

Object Organization

Objects within Unity are organized in a clear hierarchical structure. In the example provided above, FirstFloor is a prefab, and Floor, Column1, Walls are child objects.

Objectives

The primary objectives of the project are as follows:

  1. Creating a precise virtual replica of the Colivri Laboratory in Unity.
  2. Detailed representation of equipment, devices, and spaces within the laboratory.
  3. Developing realistic and functional interactions with the television screens, allowing users to interact with them as a control center for the digital twin.
  4. Exploring and optimizing the use of various virtual, augmented, and digital reality platforms for experiencing the Digital Twin.
  5. Critically evaluating the effectiveness and utility of virtual television screens as essential components of the Digital Twin, particularly in terms of learning and simulation for students, professionals, and users of the Colivri Laboratory in the realm of virtual and augmented reality.

Functionality

The ColivriDigitalTwin project offers the following key functionalities:

Quick control of the laboratory

From a large format control panel, users can have a quick overview of all activities happening in the laboratory. This functionality enables:

  • Intuitive control.
  • Safety visualization.
  • Functional simulation (audio).

Show future configurations

The project also facilitates the display of future configurations, particularly on the screens, allowing:

  • Intuitive control.
  • Viewing from various platforms.

AR - Adding information to the real world

In the context of Augmented Reality, the project enables users to view additional information about the equipment in the laboratory, including:

  • Historical and real-time information viewing.
  • Identification of points with critical information.
  • Intuitive control.

Getting Started

To get started with the project, please refer to the official development documentation for detailed information on the project structure, setup instructions, and development guidelines.

Control Center (TVs Scene) Configuration

This section provides specific configurations for the Control Center (TVs Scene) in Unity. Follow these instructions to set up the Control Center environment effectively.

1. FMOD instructions for audio simulation

We have added FMOD to the gitignore to avoid conflicts with other scenes or devices. If you are running or building the TVs scene, follow these steps:

  • Install the FMOD plugin from the Unity Package Manager.
  • Follow the setup dialog window that FMOD suggests.
  • Install the FMOD editor and link a project file with the 4 audio events for the audio screen.

2. Displays configuration information

To configure multiple displays in the Unity editor for the 8-display setup, follow these steps:

  • Arrange displays in Unity as follows:
    • Display 2 in 1.1.
    • Display 3 in 1.2.
    • Display 4 in 1.3.
    • Display 5 in 2.1.
    • Display 6 in 2.2.
    • Display 1 in 2.3.
    • Display 7 in 3.1.
    • Display 8 in 3.2.
  • Recommend having an additional monitor for virtual arranging of Unity editor game undocked windows.
  • Use the Unity editor on your main monitor.
  • At build, ensure you have the real 8 displays, and Unity will open automatically on each display with a specific camera.

Unity Display Arrangement:

   +---+---+---+
   | 2 | 5 | 7 |
   +---+---+---+
   | 3 | 6 | 8 |
   +---+---+---+
   | 4 | 1 | X |
   +---+---+---+

3. Using the Space Mouse Compact Controller with the TVs Screen

To use the Space Mouse Compact Controller with the TV screens in the ColivriDigitalTwin project, follow these steps:

  1. Download the drivers of the device from the official website: 3Dconnexion Drivers.
  2. Download vJoy, a virtual joystick driver, from the following link: vJoy on SourceForge.
  3. Follow the instructions provided in the GitHub repository for the integration: Sx2vJoy-test GitHub Repository.
  4. Disable the 3Dconnexion KMJ Emulator to prevent conflicts with executions. You can find a guide on how to disable it in this tutorial.
  5. Configure the buttons on the 3Dconnexion controller as follows: set the left button as "M" and the right button as "Enter" for optimal functionality.

Meta Quest 2 Integration

This section provides guidance on integrating the ColivriDigitalTwin project with Meta Quest 2 for an immersive experience.

Prerequisites

Oculus Integration Package . Meta Quest 2 headset.

Installation

Clone this repository to your local machine. Open the project in Unity. Install the Oculus Integration package via the Unity Package Manager. Configuring Oculus Integration In Unity, navigate to Window > Package Manager. Find "Oculus Integration" and install the latest version. Follow the Oculus Integration documentation for configuring your project settings, including setting up the Oculus App ID.

Universal Render Pipeline (URP) Settings

Open the Graphics settings in Unity (Edit > Project Settings > Graphics). Set the Scriptable Render Pipeline Settings to the URP Asset in your project. Shadow Settings Disable cast shadows to improve performance on the Meta Quest 2:

Navigate to the object that needs its shadows disabled. In the Inspector window, uncheck "Cast Shadows." Quality Settings Adjust the quality settings to match the capabilities of the Meta Quest 2:

Open the Quality settings in Unity (Edit > Project Settings > Quality). Create a new quality level specifically for Meta Quest 2. Adjust settings such as anti-aliasing, texture quality, and anisotropic filtering to optimize performance.

Development Team

The ColivriDigitalTwin project is being developed by a dedicated team, including:

Pablo Figueroa Forero Vivian Gómez Cubillos Juan Esteban Rodríguez
Melissa Lizeth Contreras Rojas Juan Sebastián Alegría Zúñiga Julian Camilo Mora Valbuena
Nicolas Falla Bernal Valentina Uribe Abel Arismendy

License

License