-
GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft das Gebiet der Verschiebungssimulation
eines virtuellen Gelenkobjekts in einer virtuellen Umgebung. Insbesondere
betrifft die Erfindung das Vermeiden von Kollisionen zwischen den
Gelenkelementen des Gelenkobjekts und dem übrigen Gelenkobjekt.
-
ALLGEMEINER STAND DER TECHNIK
-
In
zahlreichen Industrien, wie zum Beispiel in der Luft- und Raumfahrt,
werden häufig
Modellierungen in virtueller Realität herangezogen. Man verwendet
zum Beispiel oft ein digitales Modell, um die Wechselwirkungen zwischen
verschiedenen Teilen zu beurteilen.
-
Ebenso
kann das Modellieren verwendet werden, um Aktionen des Menschen
oder von Robotern in einer definierten Umgebung zu simulieren, um
zum Beispiel die Bewegungen anzuzeigen, die ein Techniker oder Roboter
ausführen
muß, um
diese Aktionen durchzuführen.
Das ist von Nutzen, um die Zugänglichkeit bestimmter
Teile einer Vorrichtung, wie zum Beispiel eines Flugzeugmotors,
die regelmäßige Inspektionen
und Wartungseingriffe erfordern, zu bestätigen und optimieren.
-
Die
Zugangsleichtigkeit zu den verschiedenen Elementen einer Vorrichtung
kann daher virtuell ab der Modellierung dieser Elemente dank einer
Simulierung mittels eines virtuellen Gelenkobjekts geprüft werden.
-
Ein
virtuelles Gelenkobjekt ist eine Gesamtheit digitaler Daten, die
ein kinematisches System definieren, das durch mehrere Gelenkelemente
gemäß einer
Vielzahl von Freiheitsgraden charakterisiert ist.
-
In
einem gegebenen Augenblick kann das virtuelle Gelenkobjekt daher
durch seine Position und Ausrichtung in einem metrischen Raum und
durch die Freiheitsgradwerte dieser Gelenke definiert werden. Diese Daten
sowie Parameter, die die Umgebung des virtuellen Gelenkobjekts definieren,
können
in einem digitalen Datenträger
gespeichert werden.
-
Der
Einsatz eines virtuellen Gelenkobjekts für diese Art von Anwendung existiert
bereits.
-
Ein
Beispiel wird nämlich
in dem Artikel von Chedmail, Damay und Le Roy mit dem Titel „Réalité virtuelle,
maquette numérique
du produit, outils de distribution et partage de la conception" (Journées Priméca, La
Plagne 7.–9.
April 1999) angegeben.
-
Dieser
Artikel schlägt
ein Verfahren zum Bestätigen
der Zugänglichkeit
zur Montage/Demontage eines Objekts in einer stark belegten Umgebung
unter Einsatz eines Verschiebungsmodells zweier virtueller Gelenkarme
oder eines virtuellen Mannequins in einer virtuellen Umgebung vor.
-
Dieses
Verfahren erlaubt es dem Mannequin, sich in einer Umgebung zu bewegen,
die mit Hindernissen verlegt ist, ohne mit diesen Hindernissen in
Kollision zu geraten.
-
Hingegen
kann die Haltung des Mannequins bei seiner Verschiebung beliebig
sein, was eine Kollision zwischen einem gegebenen Glied des Mannequins
und den anderen Gliedern des Mannequins verursachen kann. Das verringert
die Präzision
der Modellierung der Verschiebung des Mannequins.
-
Ein
weiteres Beispiel ist aus dem Artikel von Kuffner et al. mit dem
Titel „Self-Collision
Detection and Prevention for Humanoid Robots", Proc. IEEE International Conference
an Robotics and Automation, Washington DC, USA, Mai 2002 bekannt.
Dieser Artikel schlägt
ein Verfahren vor, um einen Roboter gemäß einer Aufeinanderfolge elementarer
Bewegungen zu verschieben und dabei interne Kollisionen dank Berechnungen von
Interaktionsdistanzen zwischen den verschiedenen Elementen des Roboters
zu vermeiden. Dieses Verfahren ist rechnerisch sehr aufwendig, denn
es erfordert die Berechnung einer sehr großen Anzahl von Interaktionsdistanzen.
-
AUFGABE UND KURZDARSTELLUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung zielt darauf ab, den oben genannten Nachteilen
abzuhelfen, indem sie ein Verfahren vorschlägt, das es erlaubt, das Verschieben
oder die Handhabung eines Gelenkobjekts unter Vermeiden der Kollision
zwischen einem gegebenen Gelenkelement und den anderen Gelenkelementen
des Gelenkobjekts und mit einer optimalen Berechnungszeit zu simulieren.
-
Eine
weitere Aufgabe der Erfindung besteht darin, interne Kollisionen
zwischen allen Gelenkelementen des Gelenkobjekts zu vermeiden, indem
man die verschiedenen Gelenkelemente aufeinander gleiten läßt.
-
Diese
Aufgaben werden mittels eines Verschiebungsverfahrens eines virtuellen
Gelenkobjekts in einer virtuellen Umgebung gemäß einer Aufeinanderfolge elementarer
Bewegungen verwirklicht, wobei das Gelenkobjekt eine Gesamtheit
von Gelenkelementen aufweist, die untereinander durch eine Gesamtheit
von Gelenken verbunden sind, wobei die relativen Positionen der
Gelenkelemente durch eine Vielzahl von Gelenkwinkeln gemäß einer
Vielzahl von Freiheitsgraden definiert sind, wobei das Verfahren
die folgenden Schritte aufweist:
- – Berechnen
einer Interaktionsdistanz zwischen einem gegebenen Gelenkelement
und den anderen Gelenkelementen des Gelenkobjekts,
- – Extrahieren
der Interaktionsdistanz eines ersten Punkts, der dem gegebenen Gelenkelement
angehört, und
eines zweiten Punkts, der einem der anderen Gelenkelemente des Gelenkobjekts
angehört,
- – Definieren
eines Einheitsextraktionsvektors aus dem ersten und zweiten Punkt,
und
- – Entfernen
des gegebenen Gelenkelements von den anderen Gelenkelementen des
Gelenkobjekts gemäß einer
Bewegung, die in Abhängigkeit
von dem Einheitsextraktionsvektor definiert wird und auf die Freiheitsgrade
des Gelenkobjekts einwirkt, um eine Kollision zwischen dem gegebenen
Gelenkelement und den anderen Gelenkelementen zu vermeiden.
-
Das
erfindungsgemäße Verfahren
vermeidet daher die Kollision zwischen einem gegebenen Gelenkelement
des Gelenkobjekts und den anderen Gelenkelementen des Gelenkobjekts
unter Einsatz einer einzigen Interaktionsdistanzberechnung.
-
Das
erlaubt ein Modellieren des Verschiebens des Gelenkobjekts mit einer
großen
Präzision
und innerhalb einer optimalen Berechnungszeit.
-
Vorteilhaft
werden die Schritte des Berechnens einer Interaktionsdistanz, des
Extrahierens des ersten und zweiten Punkts, des Definierens des
Extraktionsvektors und Entfernens des Gelenkelements für jedes
der Gelenkelemente des Gelenkobjekts wiederholt, um eine Kollision
zwischen jedem Gelenkelement und dem übrigen Gelenkobjekt zu vermeiden.
-
Die
verschiedenen Gelenkelemente gleiten daher ohne interne Kollisionen
aufeinander.
-
Das
erfindungsgemäße Verfahren
weist ferner einen Schritt auf, der nach jeder elementaren Bewegung
der Aufeinanderfolge elementarer Bewegungen bestimmt, ob eine Kollision
zwischen dem gegebenen Gelenkelement und den anderen Gelenkelementen
des Gelenkobjekts eingetreten ist.
-
Gemäß einer
ersten Ausführungsform
der Erfindung entspricht die Interaktionsdistanz einer Eindringtiefe,
so daß der
Extraktionsvektor gleich den Koordinaten des zweiten Punkts weniger
jenen des ersten Punkts ist, wobei die Eindringtiefe, die das Verschieben
des Gelenkobjekts mit einer beschränkten Kollision erlaubt, zwischen
seinen Gelenkelementen gesteuert wird.
-
Gemäß einer
zweiten Ausführungsform
der Erfindung entspricht die Interaktionsdistanz einer Mindestdistanz,
so daß der
Extraktionsvektor gleich den Koordinaten des ersten Punkts weniger
jenen des zweiten Punkts ist, wobei die Mindestdistanz das Verschieben
des Gelenkobjekts ohne Kollision zwischen seinen Gelenkelementen
erlaubt.
-
Das
Verfahren weist ferner einen Annullierungsschritt der letzten Elementarbewegung
der Aufeinanderfolge elementarer Bewegungen auf, wenn eine Kollision
zwischen dem gegebenen Gelenkelement und den anderen Gelenkelementen
des Gelenkobjekts eingetreten ist.
-
Vorteilhafterweise
werden die Schritte des Extrahierens des ersten und zweiten Punkts,
des Definierens des Extraktionsvektors und des Entfernens des Gelenkelements
nicht ausgeführt,
wenn zwischen dem gegebenen Gelenkelement und den anderen Gelenkelementen
des Gelenkobjekts keine Kollision eingetreten ist.
-
Das
Entfernen des gegebenen Gelenkelements von den anderen Gelenkelementen
des Gelenkobjekts kann in einer Gelenkdrehbewegung erfolgen, die
im Bereich jedes der Gelenke wirkt, die einer Gelenkkette angehören, die
dem gegebenen Gelenkelement vorangestellt sind, wobei die Gelenkdrehbewegung,
die im Bereich eines gegebenen Gelenks jedes der Gelenke wirkt,
die folgenden Schritte aufweist:
- – Definieren
eines ersten Vektors zwischen dem Gelenkzentrum des gegebenen Gelenks
und dem Ursprung des Extraktionsvektors,
- – Definieren
eines zweiten Vektors zwischen dem Gelenkzentrum des gegebenen Gelenks
und dem Ende des Extraktionsvektors,
- – Berechnen
eines Drehwinkels, der den ersten Vektor mit dem zweiten Vektor
zusammenfallen läßt,
- – Berechnen
eines oder mehrerer elementarer Gelenkdrehwinkel, wobei der Drehwinkel
entlang der Achse oder Achsen zerlegt wird, die den oder die Freiheitsgrade
definiert/definieren, die dem gegebenen Gelenk entsprechen, und
- – Drehen
des Gelenkelements im Bereich des gegebenen Gelenks gemäß einem
oder mehreren Winkeln proportional zu dem oder den elementaren Gelenkwinkeln.
-
Der
Drehwinkel kann mittels eines vektoriellen Produkts zwischen dem
ersten und dem zweiten Vektor berechnet werden.
-
Der
oder die elementaren Gelenkwinkel können mittels eines oder mehrerer
Skalarprodukte zwischen dem vektoriellen Produkt und der oder den
Freiheitsgradachsen des gegebenen Gelenks berechnet werden.
-
Gemäß einer
besonderen Ausführungsform
der Erfindung kann das Entfernen des Gelenkelements von den anderen
Gelenkelementen des Gelenkobjekts mittels eines inneren Gleitmittels
durchgeführt
werden, das auf die Vielzahl von Freiheitsgraden des Gelenkobjekts
einwirkt.
-
Vorteilhaft
kann das Gelenkobjekt in der virtuellen Umgebung durch eine globale
Position und eine globale Ausrichtung erfaßt werden, so daß das Bewegen
des Gelenkobjekts mittels eines Anziehungsmittels ausgeführt wird,
das auf eine globale Position und/oder globale Ausrichtung und/oder
die Vielzahl von Freiheitsgraden des Gelenkobjekts einwirkt.
-
Das
Verfahren kann ferner einen Schritt des Verschiebens des Gelenkobjekts
in Echtzeit durch einen Bediener mittels eines Bedienermittels aufweisen,
das auf die Position und/oder die Ausrichtung und/oder die Vielzahl
von Graden des Gelenkobjekts einwirkt.
-
Gemäß einer
Besonderheit der Erfindung ist das Gelenkobjekt ein virtuelles Mannequin,
das sich auf einem Boden der virtuellen Umgebung bewegt, wobei das
Mannequin durch eine Position auf dem virtuellen Boden, durch eine
Ausrichtung um eine Vertikalachse senkrecht zum Boden, die durch
den Schwerpunkt des Mannequins verläuft, und die Vielzahl von Gelenkwinkeln,
die die Gesamtheit ihrer Gelenkelemente definieren, definiert ist.
-
Die
Erfindung zielt auch auf ein Computerprogramm ab, das konzipiert
ist, um das oben beschriebene Verfahren auszuführen, wenn es von einem Computer
ausgeführt
wird.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Weitere
Besonderheiten und Vorteile des erfindungsgemäßen Verfahrens und Systems
ergeben sich besser bei der Lektüre
der folgenden Beschreibung, die beispielhaft und nicht einschränkend ist
und sich auf die anliegenden Zeichnungen bezieht, auf welchen:
-
1 eine
perspektivische Ansicht der materiellen Mittel ist, die bei dem
erfindungsgemäßen System oder
Verfahren umgesetzt werden,
-
2A sehr
schematisch ein virtuelles Gelenkobjekt veranschaulicht, das eine
Gesamtheit erfindungsgemäßer Gelenkelemente
aufweist,
-
2B eine
Variante der 2A ist,
-
3A sehr
schematisch einen Extraktionsvektor veranschaulicht, der bei einem
Mindestdistanzmodus gemäß der Erfindung
definiert wird,
-
3B sehr
schematisch einen Extraktionsvektor veranschaulicht, der bei einem
erfindungsgemäßen Tiefeneindringmodus
definiert wird,
-
4 sehr
schematisch eine Entfernungsbewegung veranschaulicht, die im Bereich
eines gegebenen Gelenks des erfindungsgemäßen Gelenkobjekts wirkt,
-
5A ein
Organigramm ist, das die Hauptschritte des Verschiebens des erfindungsgemäßen Gelenkobjekts
veranschaulicht,
-
5B eine
Variante der 5A ist, und
-
6 sehr
schematisch einen Aufbau eines Multimittelsystems veranschaulicht,
das zum Verschieben des erfindungsgemäßen Gelenkobjekts verwendet
wird.
-
AUSFÜHRLICHE BESCHREIBUNG BEVORZUGTER
AUSFÜHRUNGSFORMEN
-
1 stellt
ein System dar, das zum Modellieren des Verschiebens eines Gelenkobjekts
verwendet werden kann. Dieses System weist einen Arbeitsposten oder
Computer 1 auf, der über
gute grafische Kapazitäten
verfügt,
der zum Ausführen
eines EDV-Programms verwendet wird, das konzipiert wurde, um das
erfindungsgemäße Verfahren
umzusetzen.
-
Der
Computer 1 weist die materiellen Mittel auf, die man bei
dieser Art von Gerät
gewöhnlich
findet. Insbesondere weist der Computer eine Zentraleinheit 2 auf,
die die Anweisungsabfolgen des Programms gemäß dem erfindungsgemäßen Verfahren
ausführt,
einen zentralen Speicher 3, der die Daten und Programme, die
sich in Ausführung
befinden, speichert, Datenträger
für digitale
Daten (Festplatte, CD 4, Diskette usw.), die dauerhaft
die gehandhabten Daten und Programme wahren, Eingabeperipheriegeräte (Tastatur 5, „2D"- oder „3D"-Maus 6,
Joystick usw.) sowie Ausgabeperipheriegeräte (Bildschirm 7,
Kopfhörer
oder stereoskopische Brillen usw.), um das Verschieben eines Gelenkobjekts
anzuzeigen.
-
Um
die Rechenkapazität
zu steigern, kann die erfindungsgemäße Modellierung natürlich auf
mehreren Workstations, die parallel funktionieren, ausgeführt werden.
-
2A veranschaulicht
sehr schematisch ein virtuelles Gelenkobjekt 10, das eine
Gesamtheit von Gelenkelementen 11 aufweist, die untereinander
durch eine Gesamtheit von Gelenken 12 verbunden sind.
-
Ferner
ist das Gelenkobjekt 10 durch eine verzweigte Gelenkkette
gekennzeichnet, so daß die
Gelenkelemente 11 und die Gelenke 12 wie bekannt
in mehreren Gelenkketten eingestuft werden können.
-
Jedes
Gelenk 12 kann mehrere Achsen aufweisen, die mehrere Gelenkfreiheitsgrade
definieren und es daher erlauben, den inneren Zustand des Gelenkobjekts 10 durch
mehrere Freiheitsgrade zu bestimmen. Beispielhaft zeigt 2A ein
Gelenk 12a, das drei Achsen aufweist, die drei Freiheitsgrade
definieren, die zu diesem Gelenk 12a gehören.
-
Die
relativen Positionen der Gelenkelemente 11 können daher
jederzeit durch mehrere Gelenkwinkel gemäß der Vielzahl von Freiheitsgraden
des Gelenkobjekts 10 definiert werden.
-
Ferner
kann mit Letzterem eine lokale Erfassung, deren Ursprung der Schwerpunkt
G des Gelenkobjekts 10 ist, verbunden werden.
-
Insbesondere
kann das lokale Kennzeichen eine einzige Achse Z ⇀ aufweisen, die durch
den Schwerpunkt G des Gelenkobjekts 10 verläuft.
-
Das
Gelenkobjekt 10 kann sich in einer virtuellen Umgebung 13 bewegen,
die durch eine bestimmte Anzahl von Objekten oder Hindernissen 13a, 13b und 13c verlegt
sein kann, mit welchen das Gelenkobjekt 10 wie bekannt
eine Kollision während
seines Verschiebens vermeiden kann.
-
Das
Gelenkobjekt 10 sowie seine Umgebung können daher in einem metrischen
Raum (O; x, y, z) definiert werden, in Bezug auf welchen die Position
und die Ausrichtung des Gelenkobjekts 10 sowie die verschiedenen
Objekte 13a, 13b und 13c seiner Umgebung 13 auf
einfache Weise erfaßt
werden können.
-
Zusätzlich zur
relativen Position der Gesamtheit der Gelenkelemente 11,
kann das Gelenkobjekt 10 auch in jedem Augenblick in der
Umgebung 13 durch eine globale Position und eine globale
Ausrichtung erfaßt werden.
-
Die
globale Position des Gelenkobjekts 10 kann nämlich durch
die kartesischen Koordinaten entlang der Achsen x, y, z seines Schwerpunkts
G definiert werden.
-
Die
globale Ausrichtung kann wie bekannt durch drei Winkel erfaßt werden,
die die Ausrichtung der Achse Z ⇀, die mit dem Gelenkobjekt verbunden
ist, in Bezug auf die Achsen x, y, z definieren.
-
Natürlich müssen auch
die Parameter oder Auflagen berücksichtigt
werden, die von den Gelenkgrenzen und von den physikalischen Verbindungen
zwischen den verschiedenen Gliedern oder Elementen 11 dieses
Gelenkobjekts 10 auferlegt werden.
-
Diese
Daten und Variablen, die das Gelenkobjekt 10 definieren,
sowie Parameter, die seine Umgebung 13 definieren, sind
in dem digitalen Datenträger 3 des
EDV-Systems 1 gespeichert.
-
2B zeigt,
daß das
Gelenkobjekt insbesondere ein virtuelles Mannequin 10a sein
kann, das sich auf einem Boden der virtuellen Umgebung 13 bewegt.
-
In
diesem Fall kann das Mannequin 10a durch mehrere Gelenkwinkel
definiert werden, die die Gesamtheit seiner Gelenkelemente, seine
Position auf dem virtuellen Boden und seine Ausrichtung um eine
Vertikalachse Z1 ⇀ senkrecht zu dem Boden definieren und durch den Schwerpunkt
G des Mannequins 10a verlaufen.
-
Wie
bekannt, kann das Gelenkobjekt 10, wie zum Beispiel das
Mannequin 10a, in der virtuellen Umgebung 13 gemäß einer
Aufeinanderfolge elementarer Bewegungen verschoben werden, um zum
Beispiel ein Ziel 13c zu erreichen.
-
Um
daher eine Bahn zu erzeugen, die es dem Gelenkobjekt 10 erlaubt,
sein Ziel 13c zu erreichen, kann man auf die globale Position
des Gelenkobjekts 10 gemäß einem vordefinierten Verschiebungsschritt
in Position und/oder die globale Ausrichtung des Gelenkobjekts gemäß einem
vordefinierten Verschiebungsschritt in Ausrichtung und/oder die
Vielzahl von Freiheitsgraden des Gelenkobjekts gemäß einem
vordefinierten Verschiebungsschritt in Gelenk Δa einwirken.
-
Um
interne Kollisionen zwischen einem gegebenen Gelenkobjekt und den
anderen Gelenkelementen 11 des Gelenkobjekts 10 zu
vermeiden, ist es erforderlich, ein Kollisionskriterium festzulegen.
-
Wie
bekannt, kann ein Kollisionskriterium zwischen zwei beliebigen Objekten
durch das Berechnen einer Interaktionsdistanz zwischen diesen zwei
Objekten definiert werden. Dieses Kollisionskriterium kann auch die
Punkte liefern, die diese Interaktionsdistanz bilden.
-
Zu
bemerken ist, daß die
Interaktionsdistanz einer Mindestdistanz oder einer Eindringtiefe
zwischen den zwei Objekten entsprechen kann.
-
Die 3A und 3B veranschaulichen
nämlich
das Erkunden der Interaktionsdistanz zwischen einem gegebenen Gelenkelement 11c des
Gelenkobjekts 10 und einem der anderen Gelenkelemente 11d des Gelenkobjekts 10.
-
Das
Beispiel der 3A veranschaulicht insbesondere
das Kriterium der Mindestentfernung zwischen dem gegebenen Gelenkelement 11c und
einem der anderen Gelenkelemente 11d des Gelenkobjekts
sowie die Punkte P1 und P2, die diese Mindestentfernung bilden.
-
Ferner
veranschaulicht das Beispiel der 3B das
Eindringtiefenkriterium zwischen dem gegebenen Gelenkelement 11c und
einem der anderen Gelenkelemente 11d des Gelenkobjekts 10 sowie
die Punkte P1 und P2, die diese Eindringtiefe bilden.
-
Das
Berechnen der Interaktionsdistanz erlaubt es daher, einen Punkt
P1 zu extrahieren, der in der Folge der Beschreibung „erster
Punkt" genannt wird
und dem gegebenen Gelenkelement 11c des Gelenkobjekts 10 angehört, und
einen weiteren Punkt, P2, der in der Folge der Beschreibung „zweiter
Punkt" genannt wird, der
einem der anderen Gelenkelemente 11d des Gelenkobjekts 10 angehört.
-
Es
ist daher möglich,
ausgehend von diesem ersten Punkt P1 und dem zweiten Punkt P2 einen
Einheitsextraktionsvektor V ⇀ zu definieren.
-
Gemäß dem auf
der Berechnung einer Mindestdistanz (3A) basierenden
Modus entspricht der Extraktionsvektor V ⇀ hingegen den Koordinaten
des ersten Punkts P1 weniger jenen des zweiten Punkts P2. Mit anderen
Worten, ist der zweite Punkt P2 der Ursprung des Extraktionsvektors V ⇀,
und der erste Punkt P1 ist das Ende des Extraktionsvektors V ⇀.
-
Gemäß dem auf
der Berechnung einer Eindringtiefe (3B) basierenden
Modus entspricht der Extraktionsvektor V ⇀ den Koordinaten des zweiten
Punkts P2 weniger jenen des ersten Punkts P1. Mit anderen Worten
ist der Punkt P1 der Ursprung des Extraktionsvektors V ⇀, und der zweite
Punkt P2 ist das Ende des Extraktionsvektors V ⇀.
-
Um
eine Kollision zwischen dem gegebenen Gelenkelement 11c und
den anderen Gelenkelementen 11 des Gelenkobjekts 10 zu
vermeiden, kann dieses gegebene Gelenkelement 11c schließlich von
den anderen Gelenkelementen 11 gemäß einer Bewegung entfernt werden,
die in Abhängigkeit
von dem Einheitsextraktionsvektor V ⇀ definiert wird und auf die Freiheitsgrade
des Gelenkobjekts 10 einwirkt.
-
4 veranschaulicht
eine Entfernungsbewegung des gegebenen Gelenkelements 11c von
den anderen Gelenkelementen 11 des Gelenkobjekts 10 gemäß dem Mindestdistanzmodus,
aber das Konzept ist natürlich
gemäß dem Tiefeneindringmodus
gleich.
-
Diese
Entfernungsbewegung ist eine Gelenkdrehbewegung, die im Bereich
von Freiheitsgraden des Gelenkobjekts 10 wirkt.
-
Zu
bemerken ist, daß das
Entfernen des gegebenen Gelenkelements 11c von den anderen
Gelenkelementen 11 des Gelenkobjekts 10 gemäß einer
Gelenkdrehbewegung erfolgt, die im Bereich jedes der Gelenke 12 wirkt,
die einer Gelenkkette angehören,
die dem Element 11c des Gelenkobjekts 10, dem
der erste Punkt P1, der oben definiert wurde, angehört, vorangestellt
ist. Gemäß diesem
Beispiel gehört
der zweite Punkt P2 einem der anderen von 11d erfaßten Gelenkelemente
an.
-
Beispielhaft
entspricht die Gelenkkette dem Ellbogen, der Schulter und dem Schlüsselbein,
wenn das Gelenkobjekt ein virtuelles Mannequin 10a ist,
und wenn die Interaktionsdistanz zwischen dem gegebenen Gelenkelement 11c und
den anderen Gelenkelementen 11 des Gelenkobjekts 10 aus
einem ersten Punkt P1 auf dem Unterarm besteht. Mit anderen Worten,
wird die Gelenkdrehbewegung so berechnet, daß sie auf alle Gelenke 12 des
Arms, die dem Unterarm vorangestellt werden, zu wirkt. Wenn der
erste Punkt P1 ferner dem Arm angehört, umfaßt die Gelenkkette nur die
Gelenke der Schulter und des Schlüsselbeins. Wenn der erste Punkt P1
der Hand angehört,
würden
alle anderen Gelenke 12 des Arms berücksichtigt, das heißt, daß die Gelenkkette
das Handgelenk, den Ellbogen, die Schulter und das Schlüsselbein
umfassen würde.
-
Für ein gegebenes
Gelenkobjekt 10 hängt
daher die Gelenkkette von dem Gelenkelement des Gelenkobjekts 10,
das den ersten Punkt P1 umfaßt,
ab.
-
Insbesondere
zeigt das Beispiel der 4 die Gelenkdrehbewegung, die
im Bereich eines gegebenen Gelenks 12a, das einer Gelenkkette 12a, 12b und 12c angehört, wirkt.
-
Diese
Gelenkdrehbewegung, die im Bereich eines gegebenen Gelenks 12a wirkt,
kann nämlich
gemäß den folgenden
Schritten bestimmt werden.
-
Ein
erster Vektor V1 ⇀ wird zwischen dem Gelenkzentrum des gegebenen Gelenks 12a und
dem Ursprung des Extraktionsvektors V ⇀ definiert. Gemäß diesem
Beispiel ist der Ursprung des Extraktionsvektors V ⇀ der zweite Punkt
P2, bei einem Eindringtiefenmodus wäre er aber der erste Punkt
P1.
-
Ebenso
wird ein zweiter Vektor V2 ⇀ zwischen dem Gelenkzentrum des gegebenen
Gelenks 12a und dem Ende P1 des Extraktionsvektors V ⇀ definiert.
-
Dann
wird ein Drehwinkel θ ⇀ berechnet, bei dem der erste Vektor V1 ⇀ mit dem
zweiten Vektor V2 ⇀ zusammenfällt.
Der Drehwinkel θ ⇀ kann mittels eines vektoriellen Produkts zwischen
dem ersten Vektor V1 ⇀ und dem zweiten V1 ⇀ gemäß der folgenden Formel berechnet
werden:
-
Dieser
Drehwinkel θ ⇀ wird in einen oder mehrere elementare Gelenkdrehwinkel θi je nach der oder den Achsen zerlegt, die
den oder die Freiheitsgrade definieren, der/die dem gegebenen Gelenk 12a des
Gelenkobjekts 10 entsprechen.
-
Gemäß diesem
Beispiel wird der Drehwinkel θ ⇀ in drei elementare Gelenkdrehwinkel θi entlang den Achsen X ⇀a, Y ⇀a, Z ⇀a zerlegt.
-
Der
oder die elementaren Gelenkdrehwinkel θi können mittels
eines oder mehrerer Skalarprodukte zwischen dem oben berechneten
vektoriellen Produkt und der oder den Freiheitsgradachsen des gegebenen Gelenks 12a berechnet
werden.
-
Schließlich wird
das Gelenkelement im Bereich des gegebenen Gelenks gemäß einem
oder mehreren Winkeln αi gedreht, die zu dem oder den elementaren
Gelenkwinkeln θi proportional sind.
-
Die
elementaren Gelenkwinkel θi werden nämlich durch die entsprechenden
Werte des Verschiebungsschritts in Gelenk Δa normalisiert.
-
Das
Gelenkelement wird im Bereich des gegebenen Gelenks
12a gemäß einem
oder mehreren Winkeln α
i gedreht, die durch die folgende Formel
gegeben werden:
-
Natürlich müssen die
gleichen Schritte wie oben für
alle Gelenke 12a, 12b und 12c, die die
betreffende Gelenkkette bilden, ausgeführt werden.
-
Der
Einsatz eines Einheitsextraktionsvektors V ⇀, der ausgehend von einer
Mindestdistanz oder einer Eindringtiefe berechnet wird, erlaubt
es, die Kollision zwischen einem gegebenen Gelenkelement 11c und
den anderen Gelenkelementen 11 des Gelenkobjekts 10 zu
vermeiden und verbessert daher die Präzision des Verschiebens des
Gelenkobjekts 10 mit einer optimalen Rechnungsanzahl.
-
Die
vorliegende Erfindung verwendet nämlich eine einzige Mindestdistanz-
oder Eindringtiefenberechnung, um ein gegebenes Gelenkelement 11c von
den anderen Gelenkelementen 11 des Gelenkobjekts 10 zu entfernen.
-
Um
ferner eine Kollision zwischen jedem Gelenkelement 11 und
dem übrigen
Gelenkobjekt 10 zu vermeiden, werden die vorhergehenden
Schritte des Berechnens einer Interaktionsdistanz, des Extrahierens
des ersten und des zweiten Punkts, des Definieren eines Extraktionsvektors
und des Entfernens des Gelenkelements schließlich für jedes der Gelenkelemente 11 des
Gelenkobjekts 10 wiederholt.
-
Insbesondere
kann das gegebene Gelenkelement 11c aus einer gegebenen
Untereinheit der Gelenkelemente 11, die das Gelenkobjekt 10 bilden,
ausgewählt
werden.
-
In
der Tat können
die Gelenkelemente untereinander derart korreliert werden, daß ihre relativen
Bewegungen untereinander abhängig
sind und nicht miteinander in Kollision geraten. In diesem Fall
reicht es, das gegebene Gelenkelement aus einer Untereinheit auszuwählen, die
die Gelenkelemente umfaßt,
die voneinander unabhängige
Bewegungen aufweisen.
-
Beispielhaft
kann man in dem Fall eines Mannequins 10a davon ausgehen,
daß die
Beine miteinander verbunden sind, und daß nur die Arme miteinander
oder mit dem übrigen
Mannequin 10a in Kollision geraten können.
-
5A ist
ein Organigramm, das die Hauptschritte veranschaulicht, die das
Verschieben des Gelenkobjekts 10 unter Vermeiden der inneren
Kollisionen zwischen seinen Gelenkelementen 11 modelliert.
-
Der
Schritt S0 ist eine Initialisierung des Organigramms, bei der unterschiedliche
Parameter definiert werden. Ein Taktzähler der Impulse oder Rechenschritte
der Modellierung wird zum Beispiel initialisiert.
-
Ebenso
können
die elementaren Bewegungen oder Verschiebungsschritte in Position,
Ausrichtung und Gelenk Δa
im Schritt S0 definiert werden. Man kann zum Beispiel je nach Beschaffenheit
des Gelenks 12 unterschiedliche Schritte zuweisen. Man
kann auch einen konstanten optimalen Schritt für alle Gelenke 12 und entlang
der ganzen Bewegung des Gelenkobjekts 10 auswählen.
-
Im
Schritt S1 erfolgt eine Berechnung einer elementaren Bewegung des
Gelenkobjekts 10.
-
Der
Schritt S2 ist ein Test, um zu bestimmen, ob zwischen dem gegebenen
Gelenkelement und einem der anderen Gelenkelemente des Gelenkobjekts 10 eine
Kollision eintritt oder nicht. Das Kollisionskriterium hängt von
dem Wert der Interaktionsdistanz ab.
-
Mit
anderen Worten kann man bei dem auf der Mindestdistanz basierenden
Modus davon ausgehen, daß eine
Kollision eingetreten ist, wenn diese Mindestdistanz kleiner oder
gleich einer Schwellenmindestdistanz ist, die gleich Null sein kann,
um das Verschieben des Gelenkobjekts 10 ohne Kollision
zwischen dem gegebenen Gelenkelement und den anderen Gelenkelementen
des Gelenkobjekts 10 zu gestatten.
-
Bei
dem auf der Eindringtiefe basierendem Modus kann man hingegen davon
ausgehen, daß eine
Kollision eingetreten ist, wenn diese Tiefe größer oder gleich einer Schwelleneindringtiefe
ist.
-
Je
nach Auswahl dieses Schwellenwerts kann man einerseits das Verschieben
des Gelenkobjekts 10 ohne innere Kollisionen oder andererseits
das Verschieben des Gelenkobjekts 10 mit einer eingeschränkten und
kontrollierten Kollision zwischen seinen Gelenkelementen erlauben.
Dieser letztere Fall erlaubt es, eine bestimmte Plastizität zwischen
den Gelenkelementen zu modellieren, wenn sie miteinander in Berührung stehen.
-
Wenn
gemäß dem Kriterium
des vorhergehenden Schritts S2 keine Kollision eintritt, zeigt man
in Schritt S3 zum Beispiel auf dem Bildschirm 7 des Computers 1 das
Verschieben des Gelenkelements 10, das in Schritt S1 berechnet
wurde, an, bevor man zu diesem Schritt S1 zurückkehrt, um eine darauf folgende
elementare Verschiebung zu berechnen.
-
In
dem Schritt S3 werden daher die Schritte des Extrahierens des ersten
und zweiten Punkts, des Definierens des Extraktionsvektors und des
Entfernens des Gelenkelements nicht ausgeführt.
-
Tritt
hingegen eine Kollision ein, annulliert man im Schritt S4 die im
Schritt S1 berechnete elementare Verschiebung.
-
Schließlich berechnet
man im Schritt S5 die Bewegung, die in Abhängigkeit von dem Einheitsextraktionsvektor
definiert ist, und wirkt auf die Freiheitsgrade des Gelenkobjekts
ein, um das gegebene Gelenkelement von den anderen Gelenkelementen
des Gelenkobjekts 10 zu entfernen, bevor man mit dem Schritt
S1 verschleift.
-
5B ist
eine Variante der 5A, die nur in dem Rechenmodus
gilt, der die Eindringtiefe verwendet.
-
Das
Organigramm dieser Fig. ist gleich wie das der 5A,
außer
daß der
Schritt S4 nicht mehr existiert.
-
Wenn
daher in Schritt 52 eine Kollision eintritt, geht man sofort
auf den Schritt S5 mit dem Entfernen des gegebenen Gelenkelements
von den anderen Gelenkelementen des Gelenkobjekts weiter, ohne die
letzte elementare Verschiebung zu annullieren, was ein leichtes
Eindringen zwischen dem gegebenen Gelenkelement und den anderen
Gelenkelementen des Gelenkobjekts erlaubt.
-
Das
Verschieben des virtuellen Gelenkobjekts 10 in einer virtuellen
Umgebung 13 kann mittels eines „Multimittel"-Systems oder mit
einem anderen bekannten System erfolgen.
-
8 veranschaulicht nämlich sehr schematisch einen
Aufbau eines Multimittel-Systems 50,
der zum Modellieren des Verfahrens eines Gelenkobjekts 10 verwendet
werden kann. Dieses Multimittel-System 50 besteht aus einer
Gesamtheit aktiver Elemente oder Mittel 20, 21, 22, 23, 30, 31, 32, 33, 34 und 35,
die auf passive Objekte (Elemente 11 und Gelenke 12)
einwirken, die das Gelenkobjekt 10 in Abhängigkeit
von seiner Umgebung bilden.
-
Die
Daten oder Variablen, die das Gelenkobjekt 10 und seine
Umgebung definieren, sind gemeinsame Daten 15, anhand welcher
die verschiedenen Mittel miteinander in Wechselwirkung treten.
-
Der
Aufbau des Multimittel-Systems kann in mehreren Stufen oder Ebenen
organisiert werden, in Pyramidenform, so daß die Basiselemente zu den
Aktionen derer beitragen, die sich auf einem höheren Niveau befinden.
-
Bei
diesem Beispiel weist das Multimittel-System 50 ein erstes
Niveau 51, ein zweites Niveau 52 und ein drittes
Niveau 53 auf.
-
Das
erste Niveau 51 veranschaulicht die Aktion oder den globalen
Beitrag zu dem Gelenkobjekt 10 und weist den Beitrag eines
ersten globalen Mittels 20 und den Beitrag eines zweiten
globalen Mittels 30 auf, die auf das Gelenkobjekt 10 über die
gemeinsamen Daten 15 einwirken.
-
Das
erste globale Mittel 20 wirkt auf die Position und Ausrichtung
des Gelenkobjekts 10 ein, und das zweite globale Mittel 30 wirkt
auf die inneren Gelenkfreiheitsgrade 12 des Gelenkobjekts 10 ein.
-
Das
zweite Niveau 52 veranschaulicht unterschiedliche Beiträge, die
von den verschiedenen Mitteltypen stammen, die Beiträge der ersten
und zweiten globalen Mittel 20 und 30 durch Wechselwirkung über die gemeinsamen
Daten 15 bewirken.
-
Das
Verschieben des Gelenkobjekts 10 kann daher mittels eines
Anziehungsmittels umgesetzt werden, das auf die globale Position
und/oder auf die globale Ausrichtung und/oder die Vielzahl von Freiheitsgraden
des Gelenkobjekts einwirkt.
-
Ferner
kann das Entfernen des gegebenen Gelenkelements von den anderen
Gelenkelementen 11 des Gelenkobjekts 10 anhand
eines inneren Gleitmittels umgesetzt werden, das auf die Vielzahl
von Freiheitsgraden des Gelenkobjekts einwirkt.
-
Ferner
kann das Entfernen des Gelenkobjekts 10 von seiner Umgebung
wie bekannt anhand eines Gleitmittels umgesetzt werden, das auf
die globale Position und/oder die globale Ausrichtung und/oder die
Vielzahl von Freiheitsgraden des Gelenkobjekts einwirkt.
-
Daher
kann das zweite Niveau 52 des Multimittel-Systems 50 ein
abstoßendes
Gleitmittel 21 aufweisen, das auf die Position und/oder
die globale Ausrichtung des Gelenkobjekts 10 einwirkt,
ein Anziehungsmittel 22, das auf die Position und/oder
die globale Ausrichtung des Gelenkobjekts 10 einwirkt,
ein kinematisches Gleitmittel 31, das auf die inneren Freiheitsgrade
des Gelenks 12 des Gelenkobjekts 10 einwirkt,
und ein kinematisches Anziehungsmittel 32, das auf die
inneren Freiheitsgrade des Gelenks 12 des Gelenkobjekts 10 einwirkt.
-
Das
dritte Niveau kann ein inneres Gleitmittel 34 und ein Gleitmittel 35 auf
Hindernis aufweisen, die über
gemeinsame Daten 15 in Wechselwirkung treten, um die Beiträge zu dem
kinematischen Gleitmittel 31 zu erzeugen.
-
Das
Gleitmittel 35 auf Hindernis vermeidet die Kollision zwischen
dem Gelenkelement und der Umgebung, indem es auf die Vielzahl von
Freiheitsgraden des Gelenkobjekts 10 einwirkt.
-
Das
innere Gleitmittel 34 erlaubt es daher, die Nicht-Kollision
oder das Fehlen von zu großem
Eindringen zwischen einem gegebenen Element und den anderen Elementen
des Gelenkobjekts sicherzustellen, indem auf die Vielzahl von Freiheitsgraden
des Gelenkobjekts 10 eingewirkt wird.
-
Bei
dem Mindestdistanzmodus und in dem Fall einer unmittelbaren Nähe, wird
die Nicht-Kollision ausgeführt,
indem das gegebene Gelenkelement von den anderen Gelenkelementen
des Gelenkobjekts nach dem Annullieren der Verschiebung, die zu
einer Kollision führt,
entfernt wird.
-
Bei
dem Eindringtiefenmodus und in dem Fall eines leichten Eindringens,
kann das Entfernen des gegebenen Gelenkelements von den anderen
Gelenkelementen des Gelenkobjekts ohne Annullieren der Verschiebung,
die zu dem leichten Eindringen führt,
erfolgen. Das erlaubt es, eine Plastizität des Mantels des Gelenkobjekts
zu modellieren. Bei einem Mannequin kann man daher eine bestimmte
Biegsamkeit des Fleischs des Mannequins modellieren.
-
Ferner
kann das Gelenkobjekt 10 in Echtzeit von einem Bediener
anhand eines Bedienermittels verschoben werden, das auf die Position
und/oder die Ausrichtung und/oder die mehreren Freiheitsgrade des Gelenkobjekts
einwirkt.
-
Das
zweite Niveau
52 des Multimittel-Systems
50 kann
daher ein globales Bedienermittel
23 aufweisen, das auf
die Position und/oder die globale Ausrichtung des Gelenkobjekts
10 einwirkt,
und ein inneres Bedienermittel
33, das auf die inneren
Freiheitsgrade des Gelenks
12 des Gelenkobjekts
10 einwirkt. ÜBERSETZUNG
DES TEXTES IN DEN FIGUREN FIG. 5A/5B
S0 | Initialisierung |
S1 | Elementares
Verschieben |
S2 | Kollision |
oui | Ja |
non | Nein |
S3 | Anzeige
des elementaren Verschiebens |
S4 | Annullieren
des elementaren Verschiebens |
S5 | Entfernen |