DE602004007744T2 - Bewegung eines virtuellen mit Gelenken ausgestatteten Objektes in einer virtuellen Umgebung mit Selbtkollisionsvermeidung zwischen den Gelenken des Objektes - Google Patents

Bewegung eines virtuellen mit Gelenken ausgestatteten Objektes in einer virtuellen Umgebung mit Selbtkollisionsvermeidung zwischen den Gelenken des Objektes Download PDF

Info

Publication number
DE602004007744T2
DE602004007744T2 DE602004007744T DE602004007744T DE602004007744T2 DE 602004007744 T2 DE602004007744 T2 DE 602004007744T2 DE 602004007744 T DE602004007744 T DE 602004007744T DE 602004007744 T DE602004007744 T DE 602004007744T DE 602004007744 T2 DE602004007744 T2 DE 602004007744T2
Authority
DE
Germany
Prior art keywords
joint
given
elements
vector
collision
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE602004007744T
Other languages
English (en)
Other versions
DE602004007744D1 (de
Inventor
Bruno Maille
Edouard Ramstein
Patrick Chedmail
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Safran Aircraft Engines SAS
Original Assignee
SNECMA SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SNECMA SAS filed Critical SNECMA SAS
Publication of DE602004007744D1 publication Critical patent/DE602004007744D1/de
Application granted granted Critical
Publication of DE602004007744T2 publication Critical patent/DE602004007744T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39096Self-collision, internal collison, collision between links of one robot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Manipulator (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Numerical Control (AREA)
  • Tires In General (AREA)

Description

  • 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:
    Figure 00130001
  • 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:
    Figure 00130002
  • 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

Claims (15)

  1. Verfahren zum Verschieben eines virtuellen Gelenkobjekts (10) in einer virtuellen Umgebung (13) gemäß einer Aufeinanderfolge von elementaren Bewegungen, wobei das Gelenkobjekt (10) eine Gesamtheit von Gelenkelementen (11) umfaßt, die miteinander durch eine Gesamtheit von Gelenken (12) verbunden sind, wobei die relativen Positionen der Gelenkelemente (11) durch eine Vielzahl von Gelenkwinkeln gemäß einer Vielzahl von Freiheitsgraden definiert sind, wobei das Verfahren einen Schritt umfaßt, um eine Interaktionsdistanz zwischen einem gegebenen Gelenkelement (11c) und den anderen Gelenkelementen (11) des Gelenkobjekts (10) zu berechnen, dadurch gekennzeichnet, daß das Verfahren ferner die folgenden Schritte umfaßt: – Extrahieren aus der Interaktionsdistanz eines ersten Punktes (P1), der dem gegebenen Gelenkelement (11c) angehört, und eines zweiten Punktes (P2), der einem der anderen Gelenkelemente (11d) des Gelenkobjekts angehört; – Definieren eines Einheitsextraktionsvektors (V →) aus dem ersten und zweiten Punkt; und – Entfernen des gegebenen Gelenkelements (11c) von den anderen Gelenkelementen des Gelenkobjekts gemäß einer Bewegung, die in Abhängigkeit vom Einheitsextraktionsvektor (V →) definiert wird und auf die Freiheitsgrade des Gelenkobjekts (10) einwirkt, um eine Kollision zwischen dem gegebenen Gelenkelement (11c) und den anderen Gelenkobjekten zu vermeiden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Schritte des Berechnens einer Interaktionsdistanz, des Extrahierens des ersten und zweiten Punktes, des Definierens des Extraktionsvektors (V →) und des Entfernens des gegebenen Gelenkelements für jedes der Gelenkelemente (11) des Gelenkobjekts (10) wiederholt werden, um eine Kollision zwischen jedem Gelenkelement und dem übrigen Gelenkobjekt zu vermeiden.
  3. Verfahren nach einem der Ansprüche 1 und 2, dadurch gekennzeichnet, daß es ferner einen Schritt umfaßt, der nach jeder elementaren Bewegung der Aufeinanderfolge von elementaren Bewegungen bestimmt, ob eine Kollision zwischen dem gegebenen Gelenkelement (11c) und den anderen Gelenkelementen des Gelenkobjekts (10) eingetreten ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Interaktionsdistanz einer Eindingtiefe entspricht, so daß der Extraktionsvektor (V →) gleich den Koordinaten des zweiten Punktes (P2) weniger jenen des ersten Punktes (P1) ist, wobei die Eindringtiefe, die die Verschiebung des Gelenkobjekts (10) mit einer begrenzten Kollision ermöglicht, zwischen seinen Gelenkelementen kontrolliert wird.
  5. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Interaktionsdistanz einer Mindestdistanz entspricht, so daß der Extraktionsvektor (V →) gleich den Koordinaten des ersten Punktes (P1) weniger jenen des zweiten Punktes (P2) ist, wobei die Mindestdistanz die Verschiebung des Gelenkelements ohne Kollision zwischen seinen Gelenkelementen ermöglicht.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß es ferner einen Schritt des Aufhebens der letzten elementaren Bewegung der Aufeinanderfolge von elementaren Bewegungen umfaßt, wenn eine Kollision zwischen dem gegebenen Gelenkelement (11c) und den anderen Gelenkelementen (11) des Gelenkobjekts (10) eingetreten ist.
  7. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Schritts des Extrahierens des ersten und zweiten Punktes (P1, P2), des Definierens des Extraktionsvektors (V →) und des Entfernens des gegebenen Gelenkelements (11c) nicht ausgeführt werden, wenn keine Kollision zwischen dem gegebenen Gelenkelement und den anderen Gelenkelementen des Gelenkobjekts eingetreten ist.
  8. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die Entfernung des gegebenen Gelenkelements (11c) von den anderen Gelenkelementen des Gelenkobjekts (10) gemäß einer Gelenkdrehbewegung erfolgt, die im Bereich jedes der Gelenke (12), die einer Gelenkkette angehören, die dem gegebenen Gelenkelement vorangestellt ist, wirkt, wobei die Gelenkdrehbewegung im Bereich eines gegebenen Gelenks (12a) jedes der Gelenke wirkt, umfassend die folgenden Schritte: – Definieren eines ersten Vektors (V1 →) zwischen dem Gelenkzentrum des gegebenen Gelenks (12a) und dem Ursprung des Extraktionsvektors (V →); – Definieren eines zweiten Vektors (V2 →) zwischen dem Gelenkzentrum des gegebenen Gelenks (12a) und dem Ende des Extraktionsvektors (V →); – 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(n) zerlegt wird, die den oder die Freiheitsgrade definieren, die dem gegebenen Gelenk entsprechen; und – Drehen des Gelenkelements im Bereich des gegebenen Gelenks (12a) gemäß eines oder mehrerer Winkel(s) proportional zu dem oder den elementaren Gelenkwinkel(n).
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß der Drehwinkel mit Hilfe eines vektoriellen Produktes zwischen dem ersten und dem zweiten Vektor berechnet wird.
  10. Verfahren nach einem der Ansprüche 8 und 9, dadurch gekennzeichnet, daß der oder die elementaren Gelenkwinkel mit Hilfe eines oder mehrerer Skalarprodukte zwischen dem vektoriellen Produkt und der oder den Freiheitsgradachsen des gegebenen Gelenks berechnet werden.
  11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß die Entfernung des Gelenkelements von den anderen Gelenkelementen des Gelenkobjekts mit Hilfe eines inneren Gleitmittels (34) durchgeführt wird, das auf die Vielzahl von Freiheitsgraden des Gelenkobjekts einwirkt.
  12. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß das Gelenkobjekt in der virtuellen Umgebung durch eine globale Position und eine globale Ausrichtung erfaßt wird, so daß die Verschiebung des Gelenkobjekts mit Hilfe eines Anziehungsmittels ausgeführt wird, das auf eine globale Position und/oder globale Ausrichtung und/oder die Vielzahl von Freiheitsgraden des Gelenkobjekts einwirkt.
  13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß das Verfahren ferner einen Schritt der Verschiebung des Gelenkobjekts in Echtzeit durch einen Bediener mit Hilfe eines Bedienermittels umfaßt, das auf die Position und/oder die Ausrichtung und/oder die Vielzahl von Graden des Gelenkobjekts einwirkt.
  14. Verfahren nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, daß das Gelenkobjekt ein virtuelles Mannequin (10a) ist, das sich auf einem Boden der virtuellen Umgebung bewegt, wobei das Mannequin durch eine Position auf dem virtuellen Boden, 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.
  15. Computerprogramm, dadurch gekennzeichnet, daß es derart konzipiert ist, daß es das Verfahren nach einem der Ansprüche 1 bis 14 realisiert, wenn es von einem Computer (1) ausgeführt wird.
DE602004007744T 2003-10-29 2004-09-17 Bewegung eines virtuellen mit Gelenken ausgestatteten Objektes in einer virtuellen Umgebung mit Selbtkollisionsvermeidung zwischen den Gelenken des Objektes Expired - Lifetime DE602004007744T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0312640 2003-10-29
FR0312640A FR2861857B1 (fr) 2003-10-29 2003-10-29 Deplacement d'un objet articule virtuel dans un environnement virtuel en evitant les collisions internes entre les elements articules de l'objet articule

Publications (2)

Publication Number Publication Date
DE602004007744D1 DE602004007744D1 (de) 2007-09-06
DE602004007744T2 true DE602004007744T2 (de) 2008-06-05

Family

ID=34429707

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004007744T Expired - Lifetime DE602004007744T2 (de) 2003-10-29 2004-09-17 Bewegung eines virtuellen mit Gelenken ausgestatteten Objektes in einer virtuellen Umgebung mit Selbtkollisionsvermeidung zwischen den Gelenken des Objektes

Country Status (10)

Country Link
US (1) US7403880B2 (de)
EP (1) EP1537960B1 (de)
JP (1) JP4283752B2 (de)
CN (1) CN100474343C (de)
CA (1) CA2483077C (de)
DE (1) DE602004007744T2 (de)
ES (1) ES2290648T3 (de)
FR (1) FR2861857B1 (de)
RU (1) RU2308762C2 (de)
UA (1) UA88757C2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008016604B4 (de) * 2008-04-01 2014-07-17 Kuka Laboratories Gmbh Verfahren und Vorrichtung zur Eigenkollisionsüberwachung eines Manipulators

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8467904B2 (en) 2005-12-22 2013-06-18 Honda Motor Co., Ltd. Reconstruction, retargetting, tracking, and estimation of pose of articulated systems
US7859540B2 (en) * 2005-12-22 2010-12-28 Honda Motor Co., Ltd. Reconstruction, retargetting, tracking, and estimation of motion for articulated systems
US8924021B2 (en) * 2006-04-27 2014-12-30 Honda Motor Co., Ltd. Control of robots from human motion descriptors
JP4986543B2 (ja) * 2006-08-31 2012-07-25 キヤノン株式会社 情報処理方法、情報処理装置
CN101005661B (zh) * 2006-11-15 2010-11-03 深圳凯虹移动通信有限公司 具有数据、菜单隐形功能的移动终端及其加密隐藏方法
EP1972416B1 (de) * 2007-03-23 2018-04-25 Honda Research Institute Europe GmbH Roboter mit Verstopfungsvermeidungsfunktion
EP1972415B1 (de) 2007-03-23 2019-01-02 Honda Research Institute Europe GmbH Roboter mit Kollisionsvermeidungsfunktion
EP1974869A1 (de) * 2007-03-26 2008-10-01 Honda Research Institute Europe GmbH Vorrichtung und Verfahren zur Erzeugung eines Roboters und zur Steuerung seiner Bewegung
CN101719285B (zh) * 2009-12-28 2013-01-02 电子科技大学 一种多层次虚拟群体的避碰方法
AU2011201024A1 (en) 2011-03-08 2012-09-27 Canon Kabushiki Kaisha Shape parameterisation for editable document generation
CN102157008B (zh) * 2011-04-12 2014-08-06 电子科技大学 一种大规模虚拟人群实时绘制方法
ITTO20110994A1 (it) * 2011-10-31 2013-05-01 Comau Spa Metodo per il controllo di almeno due robot aventi rispettivi spazi di lavoro includenti almeno una regione in comune
WO2014121365A1 (ru) * 2013-02-11 2014-08-14 Mytnik Vyacheslav Georgievich Способ управления объектом
US9424378B2 (en) * 2014-02-03 2016-08-23 Siemens Product Lifecycle Management Software Inc. Simulation using coupling constraints
CN104776968B (zh) * 2015-04-03 2018-03-20 华东师范大学 一种多关节模型穿透深度的计算方法
US10525355B2 (en) * 2016-11-01 2020-01-07 Htc Corporation Method, device, and non-transitory computer readable storage medium for interaction to event in virtual space
US10937218B2 (en) * 2019-07-01 2021-03-02 Microsoft Technology Licensing, Llc Live cube preview animation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625577A (en) * 1990-12-25 1997-04-29 Shukyohojin, Kongo Zen Sohonzan Shorinji Computer-implemented motion analysis method using dynamics
WO1997040471A1 (en) * 1996-04-04 1997-10-30 Katrix, Inc. Limb coordination system for interactive computer animation of articulated characters with blended motion data
US7472047B2 (en) * 1997-05-12 2008-12-30 Immersion Corporation System and method for constraining a graphical hand from penetrating simulated graphical objects
JP2000277039A (ja) * 1999-03-26 2000-10-06 Toshiba Corp 画像表示装置およびその製造方法
US6853964B1 (en) * 2000-06-30 2005-02-08 Alyn Rockwood System for encoding and manipulating models of objects
US6856319B2 (en) * 2002-06-13 2005-02-15 Microsoft Corporation Interpolation using radial basis functions with application to inverse kinematics
US7168748B2 (en) * 2002-09-26 2007-01-30 Barrett Technology, Inc. Intelligent, self-contained robotic hand
US20040169656A1 (en) * 2002-11-15 2004-09-02 David Piponi Daniele Paolo Method for motion simulation of an articulated figure using animation input

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008016604B4 (de) * 2008-04-01 2014-07-17 Kuka Laboratories Gmbh Verfahren und Vorrichtung zur Eigenkollisionsüberwachung eines Manipulators

Also Published As

Publication number Publication date
FR2861857B1 (fr) 2006-01-20
CN1612167A (zh) 2005-05-04
US20050096890A1 (en) 2005-05-05
US7403880B2 (en) 2008-07-22
RU2308762C2 (ru) 2007-10-20
JP4283752B2 (ja) 2009-06-24
CN100474343C (zh) 2009-04-01
FR2861857A1 (fr) 2005-05-06
ES2290648T3 (es) 2008-02-16
CA2483077C (fr) 2014-08-19
UA88757C2 (uk) 2009-11-25
JP2005202927A (ja) 2005-07-28
EP1537960A1 (de) 2005-06-08
EP1537960B1 (de) 2007-07-25
RU2004131049A (ru) 2006-04-10
DE602004007744D1 (de) 2007-09-06
CA2483077A1 (fr) 2005-04-29

Similar Documents

Publication Publication Date Title
DE602004007744T2 (de) Bewegung eines virtuellen mit Gelenken ausgestatteten Objektes in einer virtuellen Umgebung mit Selbtkollisionsvermeidung zwischen den Gelenken des Objektes
DE102019002898B4 (de) Robotersimulationsvorrichtung
DE102015002760B4 (de) Robotersimulationssystem, das den Prozess des Entnehmens von Werkstücken simuliert
DE69130438T2 (de) Graphischer Computer und Verfahren zum Darstellen von Bewegung eines Multi-Gelenkobjekts
DE102021121063A1 (de) Effiziente datengenerierung für das greifenlernen mit allgemeinen greifern
DE102010021607B4 (de) Kontaktzustandsschätzung für Roboterhände mit mehreren Fingern unter Verwendung von Partikel-Filtern
EP3463766A1 (de) Verfahren zur orientierung eines industrieroboters und industrieroboter
DE202017105598U1 (de) System zum tiefen Verstärkungslernen für Robotermanipulation
DE102019109624B4 (de) Roboterbewegungseinlernvorrichtung, Robotersystem und Robotersteuerung
DE102016008576A1 (de) Robotersimulationsvorrichtung für ein menschliches Eingreifen umfassendes Robotersystem
EP2353802A2 (de) Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters
DE112019001256B3 (de) Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
DE102021107568A1 (de) Adaptive planung von zugriffen zum aufheben von behältern
DE202008014481U1 (de) Tragbares Roboterkontrollgerät zum Kontrollieren einer Bewegung eines Roboters
DE102018001360B4 (de) Simulationsvorrichtung, simulationsverfahren und computerprogramm für ein robotersystem
DE102014011012A1 (de) Verfahren und Mittel zum Auslegen und/oder Betreiben eines Roboters
DE102019102803B4 (de) Ausrichten zweier Roboterarme zueinander
DE112018007729B4 (de) Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem
DE102017007359B4 (de) Verfahren und System zum Überprüfen und/oder Modifizieren eines Arbeitsprozesses eines Roboters
DE102022130652A1 (de) Anlernen eines roboters durch vorführen mit visualservoing
DE102022130341A1 (de) Punktmengen-störungsprüfung
DE102012022190A1 (de) Inverse Kinematik
EP3530418A1 (de) Verfahren und vorrichtung zum bestimmen eines optimierten bewegungsablaufs einer robotereinrichtung
DE102018004326B4 (de) Robotereinlernvorrichtung zum Einstellen von Einlernpunkten basierend auf einem Bewegtbild eines Werkstücks
DE102019220619B3 (de) Bewegen einer roboterfesten Referenz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition