COVISE (Collaborative Visualization and Simulation Environment)

Image f. COVISE (Collaborative Visualization and Simulation Environment)

COVISE ist eine erweiterbare, verteilte Softwareumgebung zur nahtlosen Integration von Simulationen, Postprocessing und Visualisierungsfunktionalitäten. COVISE wurde von Anfang an für die kollaborative Arbeit konzipiert und ermöglicht es Ingenieur:innen und Wissenschaftler:innen, sich über eine Netzwerkinfrastruktur zu verteilen. 

In COVISE ist eine Anwendung in mehrere Verarbeitungsschritte unterteilt, die durch COVISE-Module dargestellt werden. Diese Module sind als separate Prozesse implementiert und können beliebig auf verschiedenen heterogenen Maschinenplattformen verteilt werden. Besonderes Augenmerk liegt auf der Nutzung von Hochleistungsinfrastrukturen wie Parallel- und Vektorrechnern und schnellen Netzwerken. 

COVISE Rendering-Module unterstützen virtuelle Umgebungen, die von Werkbänken über Powerwalls und gekrümmte Bildschirme bis hin zu kompletten Kuppeln oder CAVEs reichen. Die Benutzer können so ihre Datensätze intuitiv in einer vollständig immersiven Umgebung analysieren und dabei modernste Visualisierungstechniken wie Volumenrendering und schnelles Sphärenrendering verwenden. Physische Prototypen oder Experimente können durch Augmented-Reality-Techniken in den Analyseprozess einbezogen werden.

COVISE herunterladen

Laden Sie COVISE Snapshots, VRML Exporter für 3ds Max und die neuesten COVISE-Builds für alle unterstützten Betriebssysteme direkt herunter.

COVISE Download

Mailingliste

Bei Fragen zu COVISE benutzen Sie bitte die COVISE-Benutzer-Mailingliste.

 

Das Fenster in Abbildung 1 (siehe unten) zeigt den sogenannten MapEditor, der den Hauptteil der Benutzungsoberfläche darstellt. 

Es handelt sich um ein Qt-basiertes Programm, das die Interaktion mit COVISE ermöglicht. In einer kollaborativen Sitzung gibt es so viele Oberflächen für Benutzer:innen wie es Teilnehmende gibt. Ein/e Benutzer:in ist der Master und hat die vollständige Kontrolle über die Umgebung, während die anderen Sklaven sind und nichts tun können, außer die Masterrolle anzufordern. 

Der große Bereich in der Mitte ist für die Platzierung von Modulen vorgesehen. Verbunden bilden sie eine Flussdiagramm-ähnliche Ausführungspipeline. Durch Klicken auf ein Modul in der Modulliste platzieren Benutzer:innen die gewünschten Module im MapEditor-Fenster. Das Verbinden der Module auf Point-and-Click-Basis definiert den Datenfluss zwischen den Modulen.

Architektur

Die Hauptprozesse sind die Benutzungsoberfläche (UI) namens MapEditor, der Controller, der COVISE Request Broker (CRB) und die Applikationsmodule. (Siehe Abbildung 2, unten.) 

Normalerweise wird COVISE auf dem lokalen Arbeitsplatzrechner gestartet. Auf diesem Rechner erscheint die Benutzeroberfläche und der Controller wird gestartet. Alle anderen Prozesse werden von hier aus erstellt, entweder durch exec-Aufrufe für lokale Prozesse oder durch rexec/rlogin/rsh/ssh für Prozesse auf entfernten Computern. 

Der/die Benutzer:in kann weitere Rechner in eine Sitzung zur Ausführung von Remote-Modulen einbeziehen. Auf jedem Rechner existiert ein gemeinsamer Datenraum, der normalerweise aus gemeinsamem Speicher besteht. Der CRB verwaltet die Nutzung dieses gemeinsamen Datenraums in einer datenbankähnlichen Weise.

Kollaborative Sitzungen

COVISE ermöglicht es mehreren Benutzer:innen, gemeinsam zu arbeiten. Man kann andere Benutzer:innen auf verschiedenen Rechnern zur Teilnahme an der aktuellen COVISE-Sitzung einladen. Der User, der die kollaborative Sitzung initiiert hat, ist der Master. Auf allen Rechnern erscheint eine Benutzungsoberfläche und ein CRB wird gestartet. Anwendungsmodule können auf jedem an der Sitzung beteiligten Rechner gestartet werden. Renderer-Module spielen eine besondere Rolle: In einer kollaborativen Sitzung laufen Renderer lokal auf jedem Rechner. Wenn der/die Master-Benutzer:in die Objekte im Render-Fenster manipuliert, müssen nur kleine Synchronisationsinformationen an die anderen Renderer-Module gesendet werden. Wenn der Master die Szene dreht, wird die neue Transformationsmatrix an den Controller gesendet, der sie wiederum an alle anderen (Slave-) Renderer weiterleitet. Natürlich kann jede/r Benutzer:in die Master-Rolle beantragen. Für Audio- und Videokonferenzen werden in der Regel Standardtools wie InPerson oder die Public Domain MBONE Tools VIC/VAT verwendet.

Integration von eigenen Codes und Dateiformaten

Eigene Simulations- oder Rendering-Codes können als neue Module in COVISE integriert werden, indem einige Aufrufe der COVISE-Bibliotheken zur Erzeugung von COVISE-Objekten aus Daten und zur Kommunikation mit anderen COVISE-Modulen hinzugefügt werden.

Virtuelle und erweiterte Realität 

Der modulare Aufbau von COVISE macht es sehr einfach, darin neue Module für spezielle Aufgaben zu integrieren. Da die dreidimensionale Struktur der Datensätze, die mit COVISE visualisiert werden, sehr komplex ist, haben wir nach fortschrittlicheren Visualisierungstechniken gesucht. Das Ergebnis war ein Virtual-Reality-Rendering-Modul namens COVER (COVISE Virtual Environment), das auf Iris Peformer basiert. COVER wurde durch OpenCOVER ersetzt, das auf OpenSceneGraph basiert. 

Klicken Sie hier, um weitere Informationen über OpenCOVER zu erhalten.

Unterstützte Plattformen 

COVISE verfügt über verschiedene Funktionalitäten, die auf unterschiedlichen Rechnern unterstützt werden. Für eine Einzel- oder Mehrbenutzersitzung benötigen Sie die Benutzungsoberfläche, den Controller, den CRB, die Anwendungsmodule und den OpenInventor-Renderer auf Ihrem System. 

Für die Verteilung von Anwendungsmodulen auf entfernte Rechner (z.B. wenn Sie ein Simulationsmodul auf einem NEC-SX8 Supercomputer laufen lassen wollen) benötigen Sie nur den CRB auf dem entfernten Rechner. 

Das Desktop-Visualisierungsmodul basiert auf OpenInventor. Der Virtual-Reality-Renderer basiert auf OpenSceneGraph. 

Windows 7-11, Server 2008R2, XP, 32 & 64 Bit Versionen 

Mac OS X 10.3-10.6

Linux, Red Hat Enterprise, Fedora, SuSE, Debian, Ubuntu, 32 & 64 bit.

OpenCOVER ist eine Weiterentwicklung von COVER, dem ursprünglichen COVISE-VR-Renderer. Er basiert auf OpenSceneGraph, einem Open-Source-Hochleistungs-3D-Grafik-Toolkit, um die Rendering-Hardware optimal zu nutzen. OpenCOVER steht für "Open COVISE Virtual Environment" und ist ein integraler Bestandteil der COVISE-Visualisierungs- und Simulationsumgebung. Das Design von OpenCOVER wurde entwickelt, um technische und wissenschaftliche Anwendungen zu unterstützen. OpenCOVER unterstützt das Laden von VRML2.0/VRML97-Datensätzen. Detaillierte Informationen zu den unterstützten Funktionen finden Sie in der Kompatibilitätsmatrix.

Tracking-Systeme & 3D-Eingabegeräte

Hier ist eine unvollständige Liste der von OpenCOVER unterstützten Tracking-Systeme: 

  • ART optisches Tracking-System
  • VICON optisches Nachführsystem
  • Ascension Motionsstar / Vogelschwarm
  • FASTRAK System von Polhemus
  • TrackD-Tracker-Bibliothek
  • HTC Vive Verfolgung
  • Tablet PC-Benutzungsoberfläche

Wir haben eine TabetPC-Benutzungsoberfläche für die Interaktion in der CAVE implementiert. 

Interaktion & Feedback

Benutzer:innen interagieren mit der Szene über das 3D-Gerät und ein 3D-Menü. Eine Linie, die aus dem Gerät kommt, deckt sich mit dem Menü und der Szene. In Abhängigkeit von der gewählten Aktion wird ein entsprechender Interaktor gezeichnet. Die Bilder in Abbildung 3 (siehe unten) zeigen einige der Interaktoren. Durch Drücken der Tasten wird ein Menüpunkt oder ein Objekt ausgewählt. Die Bilder auf der linken Seite zeigen einige der Interaktoren, die mit dem Stift verbunden werden können. 

Feedback ist eine ganz besondere Art der Interaktion: Es ist eine Interaktion mit anderen COVISE-Modulen wie laufenden numerischen Simulationen und Nachbearbeitungsschritten. Derzeit können Sie Folgendes interaktiv einstellen:

  • die Startpunkte für einen Partikel-Tracer, indem Sie einfach auf die Stelle zeigen, an der sie beginnen sollen, und dann die Taste drücken 
  • die neue Position einer Schnittebene oder eines Schnittgeometriemoduls 
  • die neue Position eines Isosurface-Moduls 
  • der Winkel eines Rotorblatts, der durch das Transformationsmodul erzeugt wird

Kollaboratives Arbeiten

Als COVISE-Renderer-Modul unterstützt OpenCOVER auch das kollaborative Arbeiten. Es wurden drei Modi für die Zusammenarbeit implementiert: Lose Kopplung, Enge Kopplung und Master/Slave-Kopplung. Kegelförmige Markierungen können in der 3D-Szene platziert werden, um auf interessante Positionen hinzuweisen, und eine direkte Verbindung zu Microsoft Office ermöglicht schnelle Besprechungsprotokolle, einschließlich Schnappschüssen und Ansichten der 3D-Welt, die im Dokument enthalten sind. 

Unterstützte VR-Umgebungen

OpenCOVER wurde ursprünglich für die erste virtuelle Umgebung am HLRS entwickelt, die aus einer großen Rückprojektionsleinwand von TAN und einem Electrohome-Projektor bestand. Mittlerweile läuft es in allen Umgebungen, die auf Rückprojektionsbildschirmen basieren, einschließlich Immersadesks, Responsive Workbenches, CAVEs und Domes, sowie auf LED- oder Displaywänden. Die Größe und Form des Bildschirms kann über eine Konfigurationsdatei konfiguriert werden. Stereoskopisches Rendering wird durch Quad-Buffer- oder Multichannel-Rendering auf einzelnen GPUs, mehreren GPUs und sogar Clustern mit mehreren GPUs unterstützt. Postprocessing-Shader ermöglichen Software-Edge-Blending und Warping auf sphärischen oder unebenen Projektionsflächen.

Durch OpenVR unterstützt OpenCOVER nun auch alle wichtigen VR-Headmounted-Displays, wie die HTC Vive, Oculus Rift und Microsoft MR-Headsets.

Lizenz

Seit 2015 sind COVISE und OpenCOVER nun Open Source (LGPL2+).

Source code 

ist verfügbar auf GitHub.

Online-Dokumentation

COVISE Online-Dokumentation

Einige Tipps und Tricks finden Sie auf der

COVISE Wiki

Tutorial

HTML
PDF Download (0.8 MB)

User's Guide

HTML
PDF Download (3.0 MB)

Modulreferenz

HTML
PDF Download (5.5 MB)

Programmierguide

HTML
PDF Download (0.7 MB)

COVER Installierung & Konfigurierung

HTML
PDF Download (1.0 MB)

API Dokumentation (Doxygen)

COVISE
OpenCOVER
OpenThreads
OpenSceneGraph

Folien zum Workshop

Dokumentation zur COVISE Benutzung

Workshop Slides 
(Deutsch, 3.4 MB)

Dokumentation zur COVISE Programmierung

Workshop Slides 
(Deutsch, 0.6 MB)

Dokumentation zur COVISE Installierung

Workshop Slides 
(Deutsch, 0.2 MB)

Dokumentation zur COVISE Konfigurierung

Workshop Slides 
(Deutsch, 1.7 MB)

Dokumentation zum kollaborativen COVISE MapEditor

Workshop Slides 
(Deutsch, 0.6 MB)

Dokumentation zur COVISE VR

Workshop Slides 
(Deutsch, 0.4 MB)

Dokumentation zu COVISE Advanced Features

Workshop Slides 
(Deutsch, 2.8 MB)

Information zu COVISE CovRemote

Workshop Übersichtsslides 
(Deutsch, 0.4 MB)

Abbildungen

Zum Vergrößern auf die Bilder klicken.

Abbildung 1.

Der COVISE MapEditor, ein Hauptbestandteil der Benutzungsoberfläche.

Abbildung 2.

Eine schematische Darstellung der COVISE-Architektur, einschließlich der Beziehung zwischen lokalen und entfernten Arbeitsstationen, die in einem gemeinsamen Datenraum zusammenarbeiten.

Abbildung 3.

Screenshot der grafischen Benutzungsoberfläche von OpenCOVER.

Uwe Wössner

Abteilungsleiter, Visualisierung

+49 711 685-65790 uwe.woessner(at)hlrs.de