Echtzeitsimulation für Mehrkörpersysteme in einer Virtuelle Realität Anlage

Virtual Reality Environment

Beschreibung

Das primäre Ziel unserer Virtual Reality (VR) Anwendungen ist es, dem Benutzer zu ermöglichen so natürlich wie möglich mit mechanischen Systemen zu interagieren. Der Benutzer interagiert mit den angezeigten Bilder, bewegt und manipuliert virtuelle Objekte und führt andere Aktionen auf eine Weise aus, als ob man Teil der simulierten Umgebung ist. Die virtuelle Realität Bereich war in den letzten Jahren Gegenstand intensiver Forschung. Die behandelten Themen in diesem Bereich reichen von Hardware-Komponenten über Software-Architekturen und Mensch-Computer-Interaktion.

In der vorliegenden Arbeit wird COVISE als modulare Software für virtuelle Realität eingesetzt. COVISE benutzt COVER (Covise Virtual Environment Renderer) um spezielle Eingabegeräte für virtuelle Realität und intuitive Interaktion zu unterstützen. Es wird von der VISENSO GmbH für diesen Zweck entwickelt. COVISE steht für kooperative visuellen Simulationsumgebung. Es ist eine erweiterbare verteilte Software-Umgebung, um Simulationen, post-processing und Visualisierung in einer nahtlosen Art und Weise zu integrieren.

Visualization of a Multibody System Consisting of Rigid and Elastic Elements

COVER kann auch unabhängig von COVISE gestartet werden und wie ein Betrachter für 3D-Geometrien verwendet werden. Die Funktionalität der COVER können durch Plugins erweitert werden. Ein Plugin ist eine dynamische Bibliothek mit einer bestimmten Schnittstelle. Während der Ausführung einer geladenen Bibliothek führt COVER die Funktionen aus, die in den dynamischen Bibliotheken bereitgestellt sind. Plugins können entweder verwendet werden, um Wechselwirkungen mit anderen COVISE Modulen zu implementieren (auch als Rückkopplung), beispielsweise zum Lenken eines Simulationsmodells, oder zur Erweiterung der Funktionalität von COVER als VR Betrachter. Der Plugin-Programmierer muss mindestens zwei Funktionen (eine, die aufgerufen wird, wenn das Plugin geladen wird und eine, wenn sie entladen ist) liefern, kann aber bis zu 12 weitere Funktionen bereitstellen, die durchgeführt werden während COVER ausgeführt wird. Vranim ist ein spezielles Plugin, das vor allem in unserem Institut für die Visualisierung von entwickelt wird. Es hat eine objekt-orientierte Architektur (C++ Programmiersprache) und nutzt die Grafik-Bibliothek OpenGL Performer.

Modules of Vranim

Converter: 
Die Mehrkörpersystem Software SIMPACK ist eine Allzweck-Software im Bereich der Mehrkörperdynamik und wird in der Automobil-, Bahn-, Luft-und Raumfahrt und im Maschinenbau verwendet. Derzeit speichert SIMPACK das komplette Modelle mit Geometrie der Körper als Ergebnis der Integration in das eigene Format eines SBR (SIMPACK Binary Ergebnisse).

Hier im Institut haben wir gemeinsam mit der INTEC GmbH (Entwicklerfirma von SIMPACK) eine Konverter-Software entwickelt, der die exportierten Daten von SIMPACK für unsere Vranim Software umwandelt. Der Konverter liest eine SBR-Datei eines SIMPACK Modells und generiert die erforderlichen Daten für die Visualisierung in der virtuellen Umgebung. Wenn die Integration abgeschlossen ist, schreibt SIMPACK die SBR-Datei im Ausgabeverzeichnis dieses Modells. Der Konverter liest die SBR-Datei und extrahiert alle gespeicherten Informationen einschließlich der Integration Ergebnisse (abhängig von den Optionen im Konfigurationsfenster von Messungen in SIMPACK ausgewählt) und der Geometrie von Körpern.

Interaction Concept

Cosimulation between SIMPACK and Vranim: 
Heute, dank der enorme Verbesserung der PC-Leistung bei der Rechen- und Graphikleistung, können komplexe Mehrkörpersysteme in Echtzeit simuliert werden. Echtzeit-Simulation ermöglicht das virtuelle System mit der realen Welt zu interagieren. Viele Forscher haben mit der Interaktion Möglichkeit, vielfältige Anwendungsmöglichkeiten für die virtuelle Realität zu entwickeln.

Das am häufigsten verwendete Modell im Bau verteilter Anwendungen ist die Client / Server Variante. Hier fordern Client-Anwendungen Dienste von einem Server-Prozess. Dies impliziert eine Asymmetrie in der eine Verbindung zwischen dem Client und dem Server. In unserer Arbeit wirkt SIMPACK als Server. So wird eine Verbindung geöffnet und auf den Interaktionsprozess gewartet. Anschließend öffnet der Interaktions-Prozess auch eine Verbindung und wartet darauf dass die VR Prozesse sich verbinden und Daten austauschen. Um eine schnelle und gute Kommunikation zu gewährleisten, muss jeder der Prozesse, bestimmten Aufgaben folgen. Die Wechselwirkung basiert auf Interprozess-Kommunikation in einem Master / Slave-Modell. Die Ausgangsdaten werden von SIMPACK (Slave) auf die Interaktions Schnittstelle (Master) gesendet, die sie den beiden Rechnern der VR-Anlage sendet, wo sie visualisiert werden.

Der erste Teil des Kommunikationssystems (SIMPACK-Interface) verwendet vordefinierte Funktionen aus C INTEC die spezifisch für Kosimulation in SIMPACK vorgesehen sind. Der zweite Teil verwendet Sockets als Application Programming Interface (API), die auch die benötigten Bibliotheken beinhalten, die für Anwendungen in der Programmiersprache C benötigt werden. In der anderen Richtung der Interaktion, werden die Benutzereingaben der VR-Anlage an die Interaktions-Schnittstelle gesendet. Diese sendet die Daten weiter an SIMPACK als U-input Vektor. SIMPACK führt dann die numerische Integration aus und sendet die neuen Ausgaben zurück.

Weitere Seiten zu diesem Thema

Ansprechpartner

Dieses Bild zeigt Peter Eberhard

Peter Eberhard

Prof. Dr.-Ing. Prof. E.h.
Zum Seitenanfang