Brussels / 30 & 31 January 2016


From gamers to tango dancers

Bridging Games Engines and Distributed Control System Frameworks for Virtual Reality (VR) based scientific simulations

In this lecture some insight on the use of Game Engine based Virtual Reality (VR) simulations for the validation of mission critical Command, Control and Communication (C3) software systems will be provided. Starting from the experience gained developing a VR simulation of a planetary exploration mission, where a C3 system prototype has been built on top of the Tango Distributed Control System (DCS) framework, we will present our plans on keep exploring the possibilities of using game engines for scientific simulations integrating them with DCS frameworks.

Crewed missions, such as planetary exploration, or urban search-and-rescue missions are characterized as complex and highly-demanding. The overall system supporting such missions must be able to integrate many modules, including sensors, graphical interfaces and navigation software. We will refer to this system as the Command, Control and Communication (C3) system. In supporting crewed missions, C3 will be facing all the issues associated with monitoring, assessing, and controlling heterogeneous multi-component and multi-degree-of-freedom systems. The Development, and much more the Testing and Validation of such a mission critical system will represent a major challenge and simulators can play an important role in this respect. In this scenario, the recent development such as virtual and augmented reality, has provided an effective and versatile way to implement such simulators. In particular, Virtual Reality (VR) allows simulating environments that are not possible or very difficult to reproduce. The simulations that can be realized in VR environments allows also to avoid all the possible unsafe situations for the user. In VR, a model of any future mission in an extreme simulated environment can be created. VR simulations are so flexible that specific and reiterated tests could be performed several times in a row.

Modern Game Engines directly support more and more VR devices (such as VR Headsets or haptic sensors), thus allowing the implementation of Virtual Reality Simulations.

C3 systems can be best developed using one of the common and standardized framework available on the well established and large domain of distributed network-based industrial control that we will refer as Distributed Control System (DCS). The services that constitute the core of most DCS frameworks are: - Communication: allows for the components (control servers and clients) of the distributed system to communicate amongst themselves - Online database: refers to the possibility to access online any data point of the DCS - Configuration database: keeps and manages the configuration data - Logging: collects the logs from all over the system and presents it to the operator - Recording & Replay: recording of real-time data for offline analysis and/or tactical replay In addition to these core services, DCS often rely on services such as Alarm Systems or Data Archives.

The communication service constitutes the foundations of a Framework and can be identified as a specific layer of software (middleware) between clients and control server processes. The Communication Middleware implements what can be referred to as a “Framework Software Bus”. All C3 applications use the Software Bus to communicate with each other and are oblivious to the underlying communications mechanism.

Allowing the possibility to integrate a C3 System with VR simulations imply being able to bridge a DCS Framework with a Game Engine. This bridging is mostly constituted by the implementation of the communication interface between the Game Engine and the Framework Software Bus.

In the past, for the V-ERAS project ( we have bridged the Blender Game Engine with the Tango DCS Framework ( Unfortunately the Blender Game Engine seems not mature enough to support sophisticated VR simulations and the available support of VR devices is still incomplete.

For faster and more effective VR simulation development we are currently exploring the use of the Unity Game Engine. We've recently begun the next step in this transition, which entails the integration of Unity with Tango.


Photo of Franco Carbognani Franco Carbognani