Interaktive integrierte Starrkörperdynamik- und

Werbung
Interaktive integrierte
Starrkörperdynamik- und Schüttgutsimulation
Prof. Dr.-Ing. Jürgen Roßmann
Dr.-Ing. Michael Schluse
Dipl.-Inform. Thomas Josef Jung
Dipl.-Phys. Malte Rast
Institut für Mensch-Maschine-Interaktion, RWTH Aachen
Ahornstraße 55, D-52074 Aachen
Tel.: 0241 80-26101
Fax: 0241 80-22308
{rossmann;schluse;jung;rast}@mmi.rwth-aachen.de
Zusammenfassung
Die Entwicklung von Algorithmen zur realitätsnahen Simulation dynamischer virtueller
Welten hat im letzten Jahrzehnt große Fortschritte gemacht – im Gegensatz zur realitätsnahen Simulation von Schüttgut. Standardmethoden wie Partikel- oder Starrkörpersimulationen sind auf dieses Problem nur beschränkt anwendbar, da die für eine überzeugende Simulation notwendige große Anzahl von Elementen in Echtzeit nicht zu
bewältigen ist. Die hier vorgestellte Schüttgutsimulation verwendet eine spezielle Variante 3-dimensionaler zellulärer Automaten, mit der große Mengen von Elementen auf
Kosten einer räumlichen Diskretisierung behandelt werden können. Neben einer realitätsnahen Schüttgutsimulation ist die dynamische Starrkörpersimulation ein weiterer
wichtiger Aspekt der Simulation von Baustellenfahrzeugen. Die Kombination beider
Verfahren erlaubt die interaktive, physikalisch plausible und realitätsnahe Simulation
der Interaktion zwischen Starrkörperdynamik und Schüttgutverhalten. Diese Arbeit
führt diese Verfahren zu einem neuen integrierten Simulationsverfahren zusammen.
Schlüsselwörter
Starrkörperdynamiksimulation, Schüttgutsimulation, zelluläre Automaten, Fahrzeugsimulation
Seite 32
1
J. Roßmann, M. Schluse, T. J. Jung, M.Rast
Motivation für die Kombination von Schüttgutsimulation
mit Verfahren der Starrkörperdynamik
Die Entwicklung von Algorithmen zur realitätsnahen Simulation dynamischer virtueller
Welten hat im letzten Jahrzehnt große Fortschritte gemacht. Dadurch wurde die Simulation großer Starrkörpersysteme mit flexiblen Elementen oder virtueller Menschenmassen möglich, um nur zwei Beispiele zu nennen. Aber ein Teilbereich fehlt bisher –
selbst in modernen offline animierten Filmen – die realitätsnahe Simulation von Schüttgut. Bis jetzt finden fast alle VR-Anwendungen auf entsprechend texturiertem starrem
Untergrund statt. Insbesondere für die realitätsnahe Simulation von Baumaschinen oder
von Fahrzeugen für lunare bzw. planetare Erkundungsmissionen ist die Schüttgutsimulation allerdings ein entscheidender Baustein.
Aber wie kann diese Lücke geschlossen werden? Standardmethoden wie Partikel- oder
Starrkörpersimulationen sind auf dieses Problem nur beschränkt anwendbar; die für eine
überzeugende Simulation notwendige große Anzahl von Elementen ist in Echtzeit nicht
zu bewältigen. Für die hier vorgestellte Schüttgutsimulation wird eine spezielle Variante
3-dimensionaler zellulärer Automaten verwendet, mit der große Mengen von Elementen
auf Kosten einer räumlichen Diskretisierung behandelt werden können.
Der zweite neben der Schüttgutsimulation wichtige Aspekt einer realitätsnahen Simulation von Baufahrzeugen ist die dynamische Starrkörpersimulation. Daher führt die vorliegende Arbeit diese beiden prinzipbedingt völlig unterschiedlich arbeitenden Simulationskomponenten zu einem neuen integrierten Simulationsverfahren zusammen und
ermöglicht so eine überzeugende Wechselwirkung der beiden Systeme für die Realisierung neuer überzeugender Simulationsanwendungen.
2
Stand der Technik im Bereich der Simulation von Starrkörperdynamik
Die Starrkörperdynamik basiert auf den Sätzen der Erhaltung des Impulses und des
Drehimpulses von Newton und Euler. Eine echte Herausforderung bedeutet Simulation
von Starrkörperdynamik erst dann, wenn das physikalische Verhalten über Gelenke
verbundener Körper bzw. kollidierender Körper simuliert werden soll.
Bei der Anwendung für VR-Applikationen werden üblicherweise Vollkoordinatenansätze verfolgt. Hierbei werden die einzelnen Körper zunächst in allen sechs Freiheitsgraden unabhängig voneinander simuliert. Das Verhalten an Gelenken und Kontakten
und bei Kollisionen muss zusätzlich betrachtet werden. Hierzu existieren heute im Wesentlichen zwei konkurrierende Methoden: Die Verfahren mit Lagrange-FaktorenFormulierungen (LF-) und rein impulsbasierte Verfahren. Grundlegende Idee ersterer
Verfahren ist es, sämtliche Kräfte im System, die zur Einhaltung gewisser Zwangsbedingungen („Constraints“) erforderlich sind, explizit zu berechnen. Zwangsbedingungen
werden durch Gelenke und Kontakte impliziert. Hierzu werden sämtliche Bedingungen
Interaktive integrierte Starrkörperdynamik- und Schüttgutsimulation
Seite 33
eines Mehrkörperdynamik-Problems in eine mathematische Formulierung gefasst, typischerweise ein sogenanntes (gemischtes) lineares Komplementaritätsproblem
((M)LCP). Die Lösung dieses Problems liefert alle unbekannten Kräfte im System,
womit die Simulation des Mehrkörperproblems nach den Bewegungsgesetzen nach
Newton und Euler möglich ist. Ein bekannter Vertreter dieses Verfahrens ist die Open
Dynamics Engine [ODE-ol], eine Open Source Bibliothek für die Starrkörperdynamik.
Das Verfahren ist vielfach beschrieben worden, einen besonders umfassenden und detaillierten Ein- und Überblick liefert [Erl05]. Schnelle Lösungsverfahren für zwei unterschiedliche LF-Formulierungen wurden vorgestellt von David Baraff ([Bar94],
[Bar96]). Stewart und Trinkle [Ste95] verbanden das Verfahren erstmalig mit einem
impliziten Integrationsschritt, so dass die Lösung ihrer Formulierung nicht auf Kräfte
und Beschleunigungen, sondern viel mehr auf Impulse und Geschwindigkeiten führt.
Der zweite Ansatz für Vollkoordinaten-Dynamiksimulation wird gemeinhin der impulsbasierte Ansatz genannt. Grundlegende Idee ist nicht, alle Umstände des Mehrkörpersystems in eine mathematische Formulierung zu fassen, sondern die einzelnen
Zwangsbedingungen z.B. iterativ unabhängig voneinander zu lösen. Die hier vorgestellten Verfahren zur Kombination von Starrkörperdynamik und Schüttgutsimulation beruhen auf einer LF-Methode, wobei das im Rahmen dieser Arbeit eingesetzte, am Institut
für Mensch-Maschine-Interation (MMI) entwickelte Dynamiksimulationsframework
beide Verfahren einsetzt.
Das folgende Kapitel liefert einen kurzen Einblick in eine LF-Formulierung, da hierin
wichtige Grundlagen für die Integration der Schüttgutsimulation gelegt werden.
2.1
Grundlagen der Starrkörperdynamik-Simulation mit LagrangeFaktoren
Die Bewegungsgleichungen
eines Mehrkörpersystems lassen sich in der Form
r
v
r&
M v (t ) = f C + f ext formulieren. Hierin sind:
v
⎛ v&1 (t ) ⎞
⎜v
⎟
⎜ ω&1 (t ) ⎟
v
v& (t ) = ⎜⎜ (..) ⎟⎟ ∈ R 6 n
⎜ vv&n (t ) ⎟
⎜⎜ v&
⎟⎟
⎝ ω n (t ) ⎠
⎡ M1
⎢ 0
⎢
M =⎢ 0
⎢
⎢ 0
⎢ 0
⎣
die als ein Spaltenvektor geschriebenen
Schwerpunkts- und Drehbeschleunigungen aller beteiligten n Körper,
0
I1
0
0
0
0
0
(..)
0
0
0
0
0
Mn
0
0 ⎤
0 ⎥⎥
0 ⎥ ∈ R 6 n×6 n
⎥
0 ⎥
I n ⎥⎦
die in einer Matrix zusammengefassten Mas0⎤
senmatrizen
mi 0 ⎥⎥, mi : Masse Kör0 mi ⎥⎦
per i) und Trägheitstensoren I i ∈ R 3×3 aller be⎡mi
( M i = ⎢⎢ 0
⎢⎣ 0
teiligten n Körper,
0
Seite 34
J. Roßmann, M. Schluse, T. J. Jung, M.Rast
r
f ext ∈ R 6 n
der Vektor der externen Kräfte und Drehmomente und
r
f C ∈ R 6n
der Vektor der Zwangskräfte und -momente,
hervorgerufen durch die Zwangsbedingungen.
r
In dieser Vorschrift findet sich nur eine unbekannte Größe: f C , der Vektor der Zwangskräfte und -momente, die zur Erfüllung unterschiedlicher Zwangsbedingungen innerhalb des Mehrkörpersystems notwendig sind.
Zwangsbedingungen werden z.B. durch Gelenke und Kontakte impliziert. Sie können
sich auf die Positionen, auf die Geschwindigkeiten oder auf die Beschleunigungen der
beteiligten Körper beziehen. Dabei gilt, dass man Zwangsbedingungen, die sich wie
z.B. Gelenkbedingungen auf die Positionen beziehen, durch Ableitung in geschwindigkeits- oder beschleunigungsrelevante Zwangsbedingungen umwandeln kann. Dieses
Konzept wird z. B. in [Wag01] ausführlich behandelt.
Im Folgenden wird davon ausgegangen, dass die Zwangsbedingungen auf der Ebene der
Körpergeschwindigkeiten definiert sind. In diesem Fall lassen sich diese in eine einheitv v
liche, mathematische Formulierung bringen: Jv ≥ b . Hierin sind:
J ∈ R m× 6 n
v
b ∈ Rm
v
⎛ v1 (t ) ⎞
⎜v
⎟
⎜ ω1 (t ) ⎟
v
v (t ) = ⎜ (..) ⎟ ∈ R 6 n
⎜v
⎟
⎜ v n (t ) ⎟
⎜v
⎟
⎝ ω n (t ) ⎠
die sog. Jacobi-Matrix. Sie enthält für jede der m Zwangsbedingungen im System eine Zeile und bei n Körpern 6n Spalten,
die rechten Seiten der Zwangsbedingungs-(un-)Gleichungen. Für
Gelenk- und Kontaktbedingungen sind die Einträge typischerweise
0 (z.B.: „Die Geschwindigkeit der Körper im Kontaktpunkt entlang
der Kontaktnormalen ist größer gleich Null“) und
die als ein Spaltenvektor geschriebenen Schwerpunkts- und Drehgeschwindigkeiten aller beteiligten n Körper.
Bewegungsgleichungen und Zwangsbedingungen müssen gleichzeitig erfüllt sein. Dazu
fehlt ein wichtiger Zusammenhang: Entsprechend dem d’Alembertschen Prinzip der virtuellen Arbeit gilt für die Zwangskräfte, dass sie in genau die gleichen Richtungen zeigen müssen,
in denen das System durch die Zwangsbedingungen eingeschränkt ist. Dar
v
v
her gilt f C = J T λ , wobei der Vektor λ ∈ R m die Beträge der Zwangskräfte zur Erfüllung
der einzelnen Zwangsbedingungen enthält – die Lagrange Faktoren.
Eine Variante zur Zusammenfassung von Bewegungsgleichungen und Zwangsbedingungen setzt die diskretisierten Bewegungsgleichungen, umgestellt nach den Körpergeschwindigkeiten im nächsten Zeitschritt,
Interaktive integrierte Starrkörperdynamik- und Schüttgutsimulation
M
r
r
v r
v (t + Δt ) − v (t )
= J T λ + f ext
Δt
r
v
r
r
v (t + Δt ) = v (t ) + M −1 J T λ Δt + M −1 f ext Δt
Seite 35
(Gl. 1)
ein in die Vorschrift für die Zwangsbedingungen:
v
v
Jv ( t + Δ t ) ≥ b
r
v
v
r
JM −1 J T λ Δt ≥ b − J v (t ) − M −1 f ext Δt
(
(Gl. 2)
)
Die Lagrange Faktoren werden zusätzlich eingeschränkt durch obere und untere Grenv
v v
zen λlow ≤ λ ≤ λhigh . Diese Einschränkungen sind notwendig zur korrekten Formulierung
z.B. von Nicht-Durchdringungs-Zwangsbedingungen oder drehmomentbegrenzten Motorbedingungen. So kann die Zwangskraft, die ein Kontakt hervorruft, die beteiligten
Körper zwar auseinander drücken, sie jedoch nicht zusammenhalten. Daher gilt, dass
der entsprechende Lagrange-Faktor größer gleich null sein muss ( 0 ≤ λi ≤ ∞ ).
v
Die Lösung dieses Systems nach λ unter Berücksichtigung der Grenzwerte liefert die
noch unbekannten Größen der Zwangskräfte. Damit sind alle Beschleunigungen im
Mehrkörpersystem unter Berücksichtigung der Zwangsbedingungen bestimmbar und
die physikalisch korrekte Simulation ist möglich.
3
Schüttgutsimulation
In [ER04] wird der Stand der Technik im Gebiet der Schüttgutsimulation mittels zellulärer Automaten beschrieben. So wurden beispielsweise bereits in [Bax90] und [Kal98]
zelluläre Automaten zur Beschreibung von grobgranularen Schüttgütern verwendet.
Hier wurde allerdings der Schwerpunkt auf die physikalisch fundierte Formulierung von
Stoffgesetzen als Regelsystem eines zellulären Automaten gelegt und Vergleiche zwischen zweidimensionalen Modellen und Experimenten bzgl. Schüttguts in Silos durchgeführt. Der hier vorgestellte Ansatz zielt dagegen auf eine physikalisch plausible, echtzeitfähige, interaktive dreidimensionale Simulation von Schüttgut, beispielsweise für
Fahrertraining auf Baufahrzeugen.
Wie kann man granulare Materialien für die Simulation von Baufahrzeugen oder von
Fahrzeugen für lunare bzw. planetare Erkundungsmissionen modellieren? Die dafür
notwendigen großen Schüttgutvolumina sind mit Starrkörpersimulationen oder Partikelsimulationen wie [ZB05], [SOH98], [ON03] nicht in Echtzeit zu bewältigen. Eine Diskretisierung des Raums und geschickte Definition aktiver Bereiche macht die notwendige
Menge von Elementen erst beherrschbar. Diese Arbeit schlägt daher in einem neuen
Ansatz die Verwendung zellulärer Automaten zur Modellierung von Schüttgut vor, die
hierzu allerdings geeignet abgewandelt bzw. erweitert werden müssen. Ein auf den ersten Blick ähnlicher Ansatz wurde in [Pla08] vorgestellt, beschränkt sich aber bisher auf
die Modellierung des Untergrundes ohne Möglichkeit zum Aushub.
Seite 36
3.1
J. Roßmann, M. Schluse, T. J. Jung, M.Rast
Zelluläre Automaten
Zelluläre Automaten wurden von S. Ulam und J. v. Neumann in den 40er Jahren ursprünglich als Modelle für selbstreproduzierende biologische Systeme eingeführt. Heute
werden zelluläre Automaten z.B. für Reaction-Diffusion-Modelle, Gitter-Gas-Modelle
für Flüssigkeitsströmungen oder zur Simulation von Verkehr verwendet [Wei98].
Ein zellulärer Automat (ZA) ist durch folgende Komponenten definiert:
• Ein zellulärer (diskreter) Raum S
• Eine endliche Nachbarschaft N
• Eine Menge von Zuständen Q
• Eine lokale Übergangsfunktion δ : Q N → Q
Solche zellulären Automaten eignen sich insbesondere zur Beschreibung von Ausbreitungs- und evolutionärer Prozesse, wie z.B. Populationen einfacher Lebensformen,
Kristallwachstum oder Temperaturverteilungen in Feuersimulationen. Aber wie verhält
es sich mit einer echtzeitfähigen Schüttgutsimulation?
3.2
Ein zellulärer Automat zur Schüttgutsimulation
In einem herkömmlichen zellulären Automaten fluktuiert die Zahl der belegten Zellen
üblicherweise sehr stark. Für eine Schüttgutsimulation muss allerdings die Erhaltung
der Masse – d.h. eine konstante Anzahl belegter Zellen – garantiert sein. Dafür müssten
die theoretisch 23⋅3⋅3 ≈ 1.3 ⋅108 möglichen Übergangsregeln für eine 3-dimensionale
Nachbarschaft sorgfältig gewählt werden. Die Berücksichtigung von BenutzerInteraktion wie die Bewegung eines Werkzeugs durch den ZA würde die Komplexität
eines solchen Regelwerks weiter erhöhen. Aus diesem Grund werden die Beschränkungen aus obiger Definition gelockert und hier eine etwas abgewandelte Definition verwendet:
3
• S = [0, X max ] ⊗ [0, Ymax ] ⊗ [0, Z max ] ⊂ Z
• N = NF&K = 6 über Flächen und 8 über Kanten benachbarte Zellen und die
Zelle selbst = 15 Nachbarn. Dies ist nur eine Wahl, andere Nachbarschaftskonfigurationen sind möglich.
• Die Zellen können besetzt oder leer sein QC = {1,0}. Besetzte Zellen sind mit
einem Element assoziiert, das wiederum mehrere Unterzustände haben
kann, z. B. Q E = QS ⊗ Q D , wobei QS = {aktiv, inaktiv} zur Optimierung des Algorithmus und Q D = {oben, innen, fallend} für die Visualisierung verwendet
wird.
• Anstatt einer Übergangsfunktion für den Zustand QC jeder Zelle wird eine
Übergangsfunktion für die Position p jedes Elements in einer besetzten Zel-
Interaktive integrierte Starrkörperdynamik- und Schüttgutsimulation
Seite 37
le definiert δ' ( N) = Δp . Des Weiteren werden die Übergänge nicht parallel,
sondern sequentiell ausgeführt. Dies garantiert eine konstante Anzahl Elemente, d.h. ein konstantes gefülltes Volumen. Die Übergangsfunktion für
die Unterzustände der Elemente δ' ' ( N) = q E ∈ Q E entspricht wieder der Standarddefinition.
Damit enthält dieser ZA bewegliche, unsterbliche Elemente statt unbeweglicher, kurzlebiger Elemente, was wiederum den Anforderungen viel besser gerecht wird. Auf den
ersten Blick geht der Vorteil verloren, dass im ursprünglichen ZA jeder Zellübergang
prinzipiell parallel berechnet werden konnte. Allerdings ist die Übergangsfunktion immer noch lokal, sodass die Abarbeitung eines ZA auch weiterhin leicht parallelisiert
werden kann, indem man den Zellraum S in passende Unterräume teilt.
3.3
Implementierung
Der Zellraum S wird durch einen 3D-Array von Element-Objekten beschrieben. Um das
Verhalten des ZA zu veranschaulichen, werden die Elemente zunächst als farbige Würfel dargestellt, wobei die Farbe den Zustand ∈ QS anzeigt. Eine realitätsnahe Visualisierungsvariante wird für die Anwendungsbeispiele in Abschnitt 4 verwendet.
3.3.1 Schwerkraft
Die erste Regel, die der ZA befolgen soll, dient der Simulation der Schwerkraft:
• δ'GRAV ( N) : Für alle unbesetzten Nachbarn n ∈ N wird zunächst die Projektion der Schwerkraft auf deren Richtung berechnet:
⎞ Aus allen Nachbarn mit wPROJ > wThreshold wird zu⎛ → ⎞ ⎛ →
⎜ g ⎟ ⎜ Δp(n ) ⎟
w PROJ = ⎜ → ⎟ • ⎜ →
⎟ fällig einer als Zielposition ausgewählt, wobei
⎜ | g | ⎟ ⎜ | Δp(n ) | ⎟
⎠ wPROJ zur Gewichtung verwendet wird.
⎠ ⎝
⎝
Diese gewichtete Zufallsverteilung ermöglicht eine quasi-kontinuierliche Schwerkraft.
Der ZA, der beispielsweise die Ladefläche eines Kipplasters repräsentiert, kann sich relativ zum Weltkoordinatensystem frei bewegen, was in einem sich kontinuierlich drehenden Gravitationsvektor im Koordinatensystem des ZA resultiert. Mit dem Parameter
wThreshold ≥ 0 kann der Winkel eingestellt werden, ab dem ein Gefälle ins Rutschen gerät.
Unterschiedliche Nachbarschaftskonfigurationen und weitere Regeln verändern das
Verhalten des ZA und den Böschungswinkel stabiler Konfigurationen. Allerdings sind
aufgrund des diskreten Zellraums S nur diskrete Böschungswinkel möglich.
Aus Gründen der Effizienz sollen weder in jedem Takt alle Zellen noch alle Elemente
prozessiert werden. Die Verwaltung von Listen aktiver und inaktiver Elemente ermöglicht einen effizienten Algorithmus. Wird ein Element bewegt, aktiviert es alle Nachbarn vor und nach der Bewegung. Wenn ein aktives Element nicht bewegt werden kann,
wird es inaktiv. Wenn S eine stabile Konfiguration erreicht hat, sind alle Elemente inak-
Seite 38
J. Roßmann, M. Schluse, T. J. Jung, M.Rast
tiv und es wird keine Rechenzeit verbraucht. Wenn ein ZA relativ zum Weltkoordinatensystem bewegt wird, werden alle Elemente reaktiviert (s. Bild 1).
Bild 1:
Verkippung eines Schüttgutbehälters (aktive Elemente hell-, inaktive
dunkelgrün)
3.3.2 Hindernisse
Zur Beschreibung von Hindernissen innerhalb eines ZA wird ein weiterer Zustand fest
zu QS hinzugefügt: QS = {aktiv, inaktiv, fest} . Feste Elemente besetzen Zellen und werden
ansonsten nicht in Berechnungen mit einbezogen. Solche Hindernisse werden verwendet um beispielsweise die Geometrie einer Schaufel im Zellraum S eines ZA nachzubilden (s. Bild 2).
Bild 2:
Links: Verhalten an Hindernissen / Rechts: Detailmodellierung der
Schaufelgeometrie im Zellraum
Interaktive integrierte Starrkörperdynamik- und Schüttgutsimulation
Seite 39
3.3.3 Bewegung externer Objekte durch den ZA
Um ein Werkzeug zu simulieren, welches einen Sandhaufen formt, wird ein Mechanismus benötigt, der Elemente aus Zellen verdrängt, in die das Werkzeug bewegt wird:
• Für alle Werkzeug-Objekte wird eine kombinierte Bounding-Box ihrer
− KS
Ausdehnung im aktuellen und letzten Simulationsschritt BB Werkzeug
bet −1,t
rechnet, ausgerichtet am Koordinatensystem des Werkzeugs. Schneidet diese keinen ZA, wird sie verworfen.
• Für alle ZA, die eine dieser Bounding-Boxen schneiden, wird aus
− KS
− KS
BBWerkzeug
eine Bounding-Box BB tZA
berechnet, die am Zellraum S
−1, t
t −1, t
ausgerichtet ist.
− KS
• Für alle besetzten Zellen in BBZA
⊂ S wird überprüft, ob sie in
t −1, t
Werkzeug − KS
BBt −1, t
liegen und daraufhin das Element in Bewegungsrichtung des
Werkzeugs Δp Werkzeug
bewegt.
t −1, t
• Die Zielposition kann natürlich belegt sein. Ist dies der Fall, wird versucht
das Element auf die andere Seite des vor dem Werkzeug befindlichen Volumens zu bewegen. Ist dies aufgrund von Hindernissen oder dem Ende des
ZA nicht möglich, wird das Element oberhalb des Volumens platziert. Dies
resultiert in Verschiebungs- und Aufhäufungseffekten, die realistischer aussehen als die Beschreibung der Methodik vermuten lässt (siehe auch Kapitel
5).
Im Gegensatz zu obiger Annahme ist das vom Werkzeug überstrichene Volumen keine
Box. Wenn allerdings der Simulationsschritt klein genug und folglich der Drehwinkel
des Werkzeugs pro Schritt klein genug ist, kann dieser Fehler vernachlässigt werden.
Bild 3 zeigt ein Beispiel eines durch einen ZA bewegten Objekts.
Bild 3:
Objekt bewegt sich durch einen ZA und verdrängt kollidierende
Elemente.
Seite 40
J. Roßmann, M. Schluse, T. J. Jung, M.Rast
3.3.4 Be- und Entladen einer Schaufel
Um das Schüttgutvolumen in der Schaufel eines Radladers be- und entladen zu können,
werden ein zweiter ZA für die Umgebung eingeführt und Regeln für die Interaktion
zweier ZA definiert. Betrachten wir einen „kleinen“ ZA1 (Schaufel) innerhalb eines
„großen“ ZA2 (Umgebung). Wenn ein Element in ZA1 den Rand von ZA1 erreicht,
wird der Nachbar, der außerhalb von ZA1, aber innerhalb von ZA2 frei ist, als potentielle Zielposition betrachtet. Nun können Elemente von einem ZA in einen anderen analog
zu den inneren Bewegungen überführt werden (s. Bild 4).
Über eine Kollisionserkennung analog zu Kapitel 3.3.3 können die Elemente aus dem
großen stationären ZA2 in den kleinen beweglichen ZA1 zurückgeführt werden (s. Bild
5):
Bild 4:
Entladen einer Schaufel
− KS
eines beweg• Für alle stationären ZASTAT, die eine Bounding-Box BB BEW
t
BEW − KS
− KS
lichen ZABEW schneiden, wird aus BB t
eine Bounding-Box BBSTAT
t
berechnet, die am Zellraum S ausgerichtet ist.
− KS
• Für alle besetzten Zellen in BBSTAT
⊂ SSTAT wird überprüft, ob die Position
t
des Elements in ZABEW frei ist und daraufhin wird das Element dorthin bewegt. Andernfalls belegen zwei Elemente in verschiedenen ZA die gleiche
Position. Daraufhin wird ZABEW wie ein kollidierendes Objekt behandelt
und verschiebt das Element in dessen Bewegungsrichtung Δp BEW
t −1, t wie in Abschnitt 3.3.3 beschrieben.
Bild 5:
Beladen einer Schaufel
Interaktive integrierte Starrkörperdynamik- und Schüttgutsimulation
Seite 41
3.3.5 Visualisierung
Zur realitätsnahen Visualisierung wird aus dem ZA eine texturierte Oberfläche mit entsprechenden Normalen generiert (s. Bild 6). Die Verwaltung einer Kopie des Unterraums S' ⊂ S , welcher nur die obersten Elemente aus S enthält, erlaubt eine effiziente
Aktualisierung der Oberfläche. Oben ist dabei durch eine ausgewählte Achse des Zellraums definiert. Die Positionen der Elemente in S' werden direkt als Vertices zur Visualisierung der Oberfläche verwendet. Jetzt finden die zusätzlichen Zustände bzw. Darstellungstypen Q D = {oben, innen, fallend} aus Abschnitt 3.2 Verwendung. Jedes sich
bewegende Objekt aktualisiert seinen Darstellungstyp und vor und nach der Bewegung
die Typen der darüber und darunter liegenden Nachbarn. Wann immer ein Element als
oben gesetzt wird, wird seine Kopie in S' aktualisiert. Dem Zustand aktiv der Elemente
in S' wird eine neue Bedeutung zugewiesen. Wenn ein Element in S' aktualisiert wird,
aktiviert das Element sich selbst und seine direkten Nachbarn ( Δx = ±1 oder Δy = ±1 ). Am
Ende jedes Simulationsschrittes werden die Vertexnormalen der aktiven Elemente aktualisiert und die Elemente deaktiviert. Die aktualisierten Vertices und Normalen werden dann an die Grafik-Engine übergeben. Fallende Elemente werden als texturierte
Billboards dargestellt.
aktiv oben
aktiv innen
inaktiv oben
inaktiv innen
fallend
Bild 6:
4
Links: Visualisierung von Schüttgutvolumina / Rechts: Illustration der
Darstellungstypen
Integration von Starrkörper- und Schüttgutsimulation
Die Integration von Starrkörper- und Schüttgutsimulation erfordert einen bidirektionalen Datenaustausch zwischen den beiden Simulationskomponenten. Die Rückwirkung
der Starrkörper- auf die Schüttgutsimulation ist mit den grundlegenden Algorithmen des
hier vorgestellten neuen Verfahrens zur Schüttgutsimulation bereits abgedeckt. Die
Seite 42
J. Roßmann, M. Schluse, T. J. Jung, M.Rast
durch die Starrkörpersimulation bewegten zellulären Automaten reagieren automatisch
mit ihren Schwerkraftbewegungen (siehe Abschnitt 3.3.1) bzw. auf durch sie hindurch
bewegte Körper (siehe Abschnitte 3.3.3 und 3.3.4). Eine Bewegung der Elemente eines
ZA aufgrund ihrer Trägheit bei externer Bewegung des ZA ist angedacht, allerdings
aufgrund der im Rahmen der aktuellen Anwendungsbereiche üblicherweise auftretenden
geringen Beschleunigungen noch nicht implementiert.
Auf der anderen Seite können Kollisionen von Starrkörpern mit simulierten Schüttgutsystemen aus Sicht der Starrkörpersimulation nicht mit den üblichen Methoden zur Auflösung von Kollisionen behandelt werden. Stattdessen muss die Methodik z. B. ein Eintauchen einer Schaufel in einen Sandhaufen zur Aufnahme von Schüttgut ermöglichen.
Daher wurde der Ansatz gewählt, dass Schüttgutsysteme verzögernde Kräfte in die
Starrkörpersimulation einbringen können.
4.1
Robustes Aufbringen einer verzögernden Kraft aus der Schüttgutsimulation auf einen Körper des Mehr-Starrkörpersystems
Eine verzögernde Kraft, die aus einer Schüttgutsimulation auf das Mehrkörpersystem
angewandt werden soll, ist definiert durch ihren Betrag, ihre Richtung und ihren Angriffspunkt an den Starrkörpern der Mehrkörpersimulation.
Grundsätzlich bestehen zwei Wege, eine weitere Kraftkomponente in das System zur
Mehrkörpersimulation
einzubringen. Der offensichtliche ist der Vektor der externen
r
Kräfte f ext – hierin ist z. B. die Gravitationskraft enthalten. Hier könnten sehr einfach
weitere Kräfte und Momente eingebracht werden. Doch eine verzögernde Kraft aus der
Schüttgutsimulation ist in Wahrheit eben nicht extern – sie hängt z. B. von der Geschwindigkeit ab, mit der eine Schaufel durch einen Sandhaufen getrieben werden soll.
An der diskretisierten Form der Bewegungsgleichungen (s. Gl. 1) wird das resultierende Problem deutlich: Wird eine Schaufel mit hoher Geschwindigkeit in einen Sandhaufen getrieben, tritt kurzzeitig eine sehr große verzögernde Kraft auf – aber eben nur sehr
kurzzeitig. Die Geschwindigkeit der Schaufel wird dadurch sehr schnell reduziert und
damit sinkt auch die verzögernde Kraft schnell wieder ab. In der Animation der diskretisierten Bewegungsgleichungen wirkt eine externe Kraft jedoch über einen ganzen, diskreten Zeitschritt hinweg. Damit könnte die aufgewendete Kraft nicht nur verzögernd,
sondern sogar entgegen der Bewegungsrichtung beschleunigend wirken und die Schaufel aus dem Sandhaufen hinausdrücken. Dieser Weg ist daher nicht sinnvoll.
p(t)
s(t)
Bild 7:
Modell eines Starrkörpers
f
Interaktive integrierte Starrkörperdynamik- und Schüttgutsimulation
Seite 43
Die bessere Alternative ist die Einbringung einer entsprechenden Zwangsbedingung in
das System. In der oben beschriebenen mathematischen Formulierung muss die
v
Zwangsbedingung eine Zielgeschwindigkeit für einen Angriffspunktpunkt p auf dem
v v
zu verzögernden Körper, eine Kraftwirkrichtung f , f = 1 sowie den Betrag der maximal
einzusetzenden Verzögerungskraft f max vorgeben. Aus diesen Komponenten wird wie
folgt eine entsprechende Zwangsbedingung formuliert:
v
Ausgehend von seiner Schwerpunktposition s (t ) , der Geschwindigkeit seines Schwerv
v
v
punkts v (t ) , seiner gegenwärtigen Rotationsgeschwindigkeit ω(t ) und dem Vektor p(t )
vom Schwerpunkt des Körpers zum Angriffspunkt der Kraft ergibt sich die Geschwindigkeit des Angriffspunkts zu
v
v
v
v
s& (t ) + p& (t ) =v (t ) + p& (t )
v
v
v
=v (t ) + ω (t ) × p (t )
v
v
v
=v (t ) − p (t ) × ω (t )
Da die verzögernde Kraft nur in eine bestimmte Richtung wirken soll, soll auch nur der
Teil der Punktgeschwindigkeit verzögert werden, der in diese Richtung verläuft. Der in
Kraftrichtung verlaufende Teil der Geschwindigkeit des Angriffspunktes ist:
v v
f • (v (t ) −
v v
= f • v (t ) −
v v
= f • v (t ) −
v
v
p (t ) × ω (t ) )
v v
v
f • p (t ) × ω (t )
v v
v
f × p (t ) • ω (t )
Der Eintrag in der Jacobimatrix J aus Gl. 2 für diese Zwangsbedingung in oben beschriebener Formulierung ist damit:
...
v
f0
v
f1
v
f2
(
)
v v
− f × p (t ) 0
(
)
(
)
v v
v v
− f × p(t ) 1 − f × p (t ) 2 ...
Für die Zielgeschwindigkeit und damit auch für das zu dieser Bedingung gehörende
v
Element im Vektor b gilt, dass sie größer gleich Null sein müssen. Das bedeutet, die
Zwangsbedingung greift nicht, wenn die Schaufel bereits aus dem Haufen hinausgezogen wird.
Ebenso gilt für die Größe der verzögernden Kraft, dass sie nur positiv im Sinne ihrer
Wirkrichtung sein kann. Denn die Schaufel wird zwar verzögert, wenn sie weiter in den
Haufen eindringt, kann jedoch nicht festgehalten werden, wenn sie aus dem Haufen hiv
v
naus gezogen wird. Damit gilt für die Lagrange Faktoren: λlow = 0, λhigh = f max Δt , da in der
oben beschriebenen Formulierung ebenfalls die Lagrange Faktoren multipliziert mit der
Zeitschrittweite Δt bestimmt werden.
Seite 44
4.2
J. Roßmann, M. Schluse, T. J. Jung, M.Rast
Robustes Aufbringen eines verzögernden Drehmoments aus der
Schüttgutsimulation auf einen Körper des Mehr-Starrkörpersystem
Analog zum Aufbringen einer verzögernden Kraft wird auch ein verzögerndes Drehmoment durch eine Zwangsbedingung in das System eingebracht. Der maximale Betrag
des verzögernden Moments sei τ max , seine Wirkrichtung sei τv, τv = 1 .
v
v
v
Die Aussagen für die Grenzwerte λlow , λhigh sowie für den Eintrag im Vektor b zur
Zwangsbedingung für eine verzögernde Kraft gelten unverändert auch für ein verzögerndes Moment. Lediglich der Eintrag in der Jacobi Matrix ist anzupassen, da sich ein
Drehmoment lediglich auf die Rotationsgeschwindigkeit, nicht aber auf die lineare Geschwindigkeit des Starrkörpers auswirkt.
Der Drehimpuls eines Starrkörpers ist definiert als Produkt aus seinem Trägheitstensor
I und seiner Winkelgeschwindigkeit ω . Das Drehmoment entspricht der zeitlichen Änderung des Drehimpulses:
τ=
d (Iω ) &
= Iω + Iω&
dt
Vereinfachend wird an dieser Stelle für den Starrkörper ein rotationsunabhängiger
Trägheitstensor angenommen, wie ihn eine Kugel mit homogener Dichteverteilung besitzt. Dadurch fällt der erste Summand weg und für das Drehmoment gilt: τ = Iω& . Für
den vereinfachend angenommenen Trägheitstensor einer Kugel gilt außerdem, dass alle
Elemente der Hauptdiagonalen gleich und alle sonstigen Elemente des Tensors gleich
Null sind. Das bedeutet für diesen vereinfachten Fall, dass das Drehmoment und die resultierende Winkelbeschleunigung in dieselbe Richtung zeigen.
Mit diesen Annahmen lässt sich leicht der notwendige Eintrag in der Jacobi-Matrix aus
Gl. 2 vornehmen:
... 0 0 0 τ 0 τ 1 τ 2 ...
4.3
Rückwirkung der Schüttgutsimulation auf die Starrkörperdynamik
Aus Sicht der Schüttgutsimulation muss für diese Vorgehensweise zunächst die Masse,
die durch die Elemente eines ZA repräsentiert wird, bestimmt werden. Dazu wird dem
Schüttgut eine Dichte zugewiesen (z.B. 1,5g/cm3 für feuchten Sand). Entsprechend der
Schrittweite der Diskretisierung lässt sich daraus den Elementen eine Masse zuweisen.
Damit kann die Masse des zellulären Automaten, der beispielsweise den Inhalt der
Schaufel eines Radladers repräsentiert und in die Starrkörpersimulation integriert ist, am
Ende jedes Taktes aktualisiert werden. Eine Aktualisierung des Schwerpunktes ist ebenfalls möglich, allerdings wurde hierauf aufgrund des zusätzlichen Rechenaufwandes zunächst verzichtet.
Interaktive integrierte Starrkörperdynamik- und Schüttgutsimulation
Seite 45
Der zweite Schritt ist dann die Rückführung einer abbremsenden Kraft beim Eintreten
eines Starrkörpers, z. B. der Schaufel eines Radladers, in einen Sandhaufen. Dafür werden in jedem Schritt aus den Ergebnissen der in den Kapiteln 3.3.3 und 3.3.4 eingeführten Kollisionsbetrachtung mittels heuristischer Regeln die für die Verdrängung der einzelnen Elemente notwendigen Kräfte sowie ihre Ansatzpunkte bestimmt. Diese werden
zu einer Gesamtkraft und einem Gesamtdrehmoment aufsummiert und wie oben beschrieben, auf die Dynamik des die Schaufel repräsentierenden Starrkörpers und damit
implizit auf das gesamte simulierte Mehrkörpersystem angewandt.
5
Anwendungsbeispiele
Die in Abschnitt 3.3 vorgestellten Methoden wurden in unser 3D-Echtzeit-Simulationsund VR-System VEROSIM® integriert. Dadurch konnte das in dieser Arbeit vorgestellte neue Verfahren zur Schüttgutsimulation mit den in dort bereits zur Verfügung stehenden modernen Verfahren zur Starrkörpersimulation, zur verteilten Simulation sowie
zur flexiblen Anbindung von Interaktions- und Steuerungshardware zur Realisierung
neuer Virtual-Reality-Anwendungen kombiniert werden. Der erste Anwendungsbereich
ist die realistische Simulation von Baumaschinen. Die folgenden Bilder zeigen einige
typische Beispielszenarien.
Bild 8 zeigt einen Kipplaster, der Schüttgut ablädt. Dafür werden zwei 3-dimensionale
zelluläre Automaten verwendet, welche die Ladefläche sowie die Umgebung repräsentieren. Sobald der Laster seine Ladfläche kippt, gerät die Ladung ins rutschen. Die Elemente, die die Ladefläche verlassen, fallen in den umgebenden zellulären Automaten.
Wenn der Laster anfährt, planiert die Klappe den Sandhaufen am Boden.
Bild 8:
Links: Kipplaster beim Abladen / Rechts: Planierraupe beim Einebnen
Seite 46
J. Roßmann, M. Schluse, T. J. Jung, M.Rast
Bild 9:
Links: Radlader belädt Kipplaster / Rechts: Bagger beim Ausheben
Das Beladen eines Kipplasters mit einem Radlader ist in Bild 9, links dargestellt. Hierbei wird das Schüttgut in der Szene durch einen statischen ZA – Umgebung – und zwei
bewegliche ZA in der Ladefläche des Lasters und der Schaufel des Radladers beschrieben. Die anspruchsvollste Anwendung in diesem Bereich ist das Ausbaggern. Der Zellraum der Umgebung rechts in Bild 9 enthält 7,5 Mio. Zellen, wobei 3,75 Mio. Zellen
mit Elementen belegt sind. Da der Zellraum durch den Ausgrabungsprozess nur lokal
beeinflusst wird und mit der beschriebenen Methodik optimiert werden kann, ist eine
Echtzeitsimulation problemlos möglich.
6
Fazit
Es wurde ein neuer Ansatz zur realitätsnahen Simulation von Schüttgut für unterschiedliche Anwendungen vorgestellt. Dafür wurde eine neue Methode zur Simulation von
Vielteilchensystemen basierend auf einer speziellen Variante zellulärer Automaten entwickelt. Die Kombination mit einer modernen Starrkörperdynamiksimulation im Simulationssytem VEROSIM® ermöglicht die interaktive und physikalisch plausible Simulation z. B. für Baumaschinen. Die Algorithmen wurden stark optimiert, sodass auch die
Simulation großer Schüttvolumen mit mehreren Millionen Elementen problemlos in
Echtzeit möglich ist.
Die vorgestellten Methoden sind ein wichtiger Ansatzpunkt für weitere Anwendungen,
wie z.B. die Simulation autonomer Rover und Laufroboter auf der Mond- und Marsoberfläche. Daher soll in einem nächsten Schritt das Modell der Wechselwirkung zwischen Starrkörperdynamik und der Schüttgutsimulation durch an entsprechenden Mockups gewonnene Messwerte optimiert und weiter verfeinert werden.
Zusätzlich zu den beiden Bausteinen Starrkörperdynamik- und Schüttgutsimulation ist
die Integration einer Partikelsimulation (siehe z. B. [ZB05]) und eines Modells für deformierbare Körper nach [Tes04] geplant, sowie ein Vergleich des vorgestellten Verfahrens und der Partikelsimulation hinsichtlich Realitätsnähe und Leistungsfähigkeit. Ein
Übergang zwischen Partikelsimulation und dem vorgestellten zellulären Automaten
würde die Möglichkeit bieten, kleine bewegte Volumina als Partikel und große stabile
Volumina mit der beschriebenen Methode zu behandeln. Verfahren zur Simulation de-
Interaktive integrierte Starrkörperdynamik- und Schüttgutsimulation
Seite 47
formierbarer Körper könnten auf den Untergrund angewandt werden. Eine geschickte
Kombination dieser Verfahren sollte eine detaillierte Simulation von Erosions- und
Verdichtungseffekten sowie weiteren Fahrzeug-Terrain-Wechselwirkungen, welche insbesondere auch im Bereich der Agrar- und Forstwirtschaft interessant sind, ermöglichen. Die resultierende Kombination aus Starrkörperdynamik, zellulären Automaten,
deformierbaren Körpern und Partikelsimulation stellt dann einen leistungsfähigen
Werkzeugkasten für eine große Bandbreite unterschiedlicher Anwendungen dar.
Literatur
[Bar94]
BARAFF, D.: Fast Contact Force Computation for Nonpenetrating Rigid Bodies. In:
Proceedings of the 21st annual conference on Computer graphics and interactive
techniques, 1994.
[Bar96]
BARAFF, D.: Linear-time dynamics using Lagrange multipliers. In: Proceedings of
the 23rd Annual Conference on Computer Graphics and interactive Techniques
SIGGRAPH '96. ACM, New York, NY, 137-146, 1996.
[ER04]
EISENBERG, W., RENNER, U.: Zur Beschreibung grobgranularer Schüttgüter mit zellulären Automaten, ACRS 2004 – organic and pervasive computing, S. 247 – 252,
(2004)
[Erl05]
ERLEBEN, K.: Stable, Robust, and Versatile Multibody Dynamics Animation. Dissertation, Universität von Kopenhagen, Departement of Computer Science, 2005.
[Hah88]
HAHN, J. K.: Realistic Animation of Rigid Bodes. In: Proceedings of the 15th annual
conference on Computer graphics and interactive techniques, 1988.
[Kal98]
KALDENHOFF, M.: Simulation von grobgranularen Schüttgütern mit Hilfe Zellulärer
Automaten, Diss. TU Braunschweig (1998)
[ODE-ol]
OPEN DYNAMICS ENGINE. unter: http://www.ode.org, Ferbruar 2009
[ON03]
ONOUE, K., NISHITA, T.: Virtual Sandbox, Pacific Graphics (2003)
[Pla08]
PLA-CASTELLS, M. et al.: Physically-Based Interactive Sand Simulation, poster at
the EUROGRAPHICS’08 Conference Crete, Greece (2008)
[SOH98]
SUMNER R.W., O’BRIEN, J. F., HODGINS, J. K.: Animating sand, mud and snow,
Graphics Interface (1998)
[ST95]
STEWART, D.; TRINKLE, J.: An Implicit Time-Stepping Scheme For Rigid Body Dynamics With Inelastic Collisions And Coulomb Friction. International Journal of
Numerical Methods in Engineering, eingereicht 1995.
[Tes04]
TESCHNER, M. et al.: A Versatile and Robust Model for Geometrically Complex Deformable Solids, Computer Graphics International (2004)
[Wag01]
WAGNER, F.: Konzepte und Methoden zu allgemeinen, physikalisch basierten Animationssystemen auf der Grundlage der Lagrange-Faktoren-Methode. Dissertation,
Universität Rostock, 2001
[Wei98]
WEIMAR, J.R.: Simulation with Cellular Automata. Logos Verlag Berlin ISBN 9783-89722-026-3 (1998)
[ZB05]
ZHU, Y., BRIDSON, R.: Animating Sand as a fluid, ACM SIGGRAPH (2005)
Seite 48
J. Roßmann, M. Schluse, T. J. Jung, M.Rast
Autoren
Prof. Dr.-Ing. Jürgen Roßmann ist Leiter des Institutes für Mensch-MaschineInteraktion an der RWTH Aachen und Mitglied des Vorstandes der Dortmunder Initiative zur Rechnerintegrierten Fertigung (RIF e.V.).
Dr.-Ing. Michael Schluse ist Oberingenieur am Institut für Mensch-MaschineInteraktion an der RWTH Aachen.
Dipl.-Inform. Thomas Josef Jung studierte Technische Informatik an der Universität
Dortmund und ist seit 2006 Mitarbeiter am Institut für Mensch-Maschine-Interaktion
der RWTH Aachen.
Dipl.-Phys. Malte Rast hat Physik an der Universität Bonn studiert und ist seit 2008
Mitarbeiter am Institut für Mensch-Maschine-Interaktion der RWTH Aachen.
Herunterladen