[english version]

Das SiLVIA-Team
Andreas Kerzmann Bastian Kleineidam Christian Lennerz Rainer Schmid Joachim Reichel Elmar Schömer Thomas Warken
 
     
SiLVIA Logo

Simulation Library for
Virtual Reality
and Interactive Applications

 
Beispiele
Holzpuzzles
Kreisel
Kontaktkräfte



Dokumentation
Programmaufbau
 

Zielsetzung

Die Softwarebibliothek SiLVIA (Simulation Library for Virtual Reality and Interactive Applications)
dient der Simulation des dynamischen Verhaltens von Systemen aus starren Körpern und der interaktiven Manipulation dieser Körper in virtuellen Umgebungen.

Zur Modellierung der Körperoberflächen sollen nicht nur Polygone benutzt werden, sondern auch gekrümmte Flächenstücke von Kugeln, Zylindern, Kegeln und Tori, weil diese beim Design mechanischer Teile eine besondere Bedeutung haben. Alle geometrischen Algorithmen müssen dementsprechend konzipiert sein. Bei der Verwendung der Algorithmen sollen eigene und aus der Literatur bekannte Resultate aus den Bereichen Computational Geometry und Computational Mechanics eingehen. Dabei spielt der Trade-Off zwischen der Robustheit und der Effizienz der verwendeten Methoden eine zentrale Rolle.

Das Hauptaugenmerk bei der Simulation soll auf dem Verhalten eines Systems von starren Körpern liegen, die in Kontakt zueinander treten oder sich bereits in Kontakt befinden. In diesem Zusammenhang erweist sich die Erkennung von Kollisionen als laufzeitkritischer Faktor, und zur wirklichkeitsgetreuen Simulation von physikalischen Effekten wie Stößen, Gleiten, Haften und Rollen sollte die Reibung berücksichtigt werden.

Die im Rahmen von Diplomarbeiten erstellte Software und die zugehörige Dokumentation der verwendeten Datenstrukturen und Algorithmen sollen frei verfügbar sein. Beim Entwurf der Software wird auf größtmögliche Portabilität Wert gelegt, indem nur Plattform unabhängige Standardpakete Verwendung finden.

Die Einsatzmöglichkeiten von SiLVIA liegen im Bereich (Distributed) Virtual Reality zur Erhöhung der Realitätstreue simulierter Abläufe, z.B. bei virtuellen Einbau- und Ergonomieuntersuchungen sowie im Bereich der Robotik, z.B. zur Telemanipulation von weit entfernten Robotern.

Datenstrukturen

  • Datenstruktur zur topologischen und geometrischen Repräsentation von Objekten mit Begrenzungsflächen, die Abschnitte von Quadriken oder dem Torus darstellen, und mit Kegelschnittkurven als Begrenzungskanten.
  •  Datenstruktur zur hierarchischen Approximation von Objekten mittels Hüllkörpern und zur hierarchischen Raumpartitionierung
Geometrische Algorithmen
  • Typische CAD-Operationen zur Modellierung von Objekten, z.B. das Generieren von Projektions-, Rotations- und Schlauchkörpern, das Verrunden von Ecken und Kanten, Boolesche Operationen (Schnitt, Vereinigung, Differenz)
  •  Die Berechnung von Momenten (Masse, Schwerpunkt, Trägheitsmatrix) aus der geometrischen Beschreibung
  •  Abstands- und Schnittberechnungen sowie Kollisionserkennung
  •  Effizienzsteigerung durch Hüllkörper- und Raumpartitionierungsheuristiken
  •  Parallelisierung der Kollisionserkennung
Simulation
  • Kinematik und Dynamik starrer (gelenkig verbundener) Körper
  •  uni- und bilaterale Kontakte zwischen starren Körpern
  •  Integration verschiedener Ansätze zur Modellierung von plastischen/elastischen Stößen
  •  Behandlung von Reibung
Software
  • Objektorientierte Programmiersprache C++
  •  Visualisierung mittels OpenGL
  •  Benutzeroberflächen realisiert mit Qt
  •  Debugging mit Insure++ von
  •  Verwendung von standardisierten Dateiformaten zur Objektbeschreibung (ACIS) und zur Szenenbeschreibung und Animationssequenzen (VRML)
Anwendungen

Peanuts comic
Lehrstuhl für angewandte Mathematik, Prof. Hotz, Seite erstellt vom Webmaster