DE102022130318A1 - Autonome robuste montageplanung - Google Patents

Autonome robuste montageplanung Download PDF

Info

Publication number
DE102022130318A1
DE102022130318A1 DE102022130318.7A DE102022130318A DE102022130318A1 DE 102022130318 A1 DE102022130318 A1 DE 102022130318A1 DE 102022130318 A DE102022130318 A DE 102022130318A DE 102022130318 A1 DE102022130318 A1 DE 102022130318A1
Authority
DE
Germany
Prior art keywords
controller
simulation
parameters
assembly
simulations
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.)
Pending
Application number
DE102022130318.7A
Other languages
English (en)
Inventor
Yu Zhao
Tetsuaki Kato
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102022130318A1 publication Critical patent/DE102022130318A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • 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
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23PMETAL-WORKING NOT OTHERWISE PROVIDED FOR; COMBINED OPERATIONS; UNIVERSAL MACHINE TOOLS
    • B23P21/00Machines for assembling a multiplicity of different parts to compose units, with or without preceding or subsequent working of such parts, e.g. with programme control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/08Gripping heads and other end effectors having finger members
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

Ein Verfahren zum Abstimmen der Kraftregelparameter für einen allgemeinen robotergestützten Montagevorgang. Bei dem Verfahren wird eine numerische Optimierung verwendet, um verschiedene Kombinationen der Parameter für einen Kraftregler eines Roboters in einer Simulationsumgebung zu bewerten, die auf der Grundlage einer realen Einrichtung des Roboters aufgebaut ist. Bei diesem Verfahren wird eine autonome Abstimmung für Montageaufgaben auf der Grundlage der Simulation einer Kraftregelung mit geschlossenem Regelkreis durchgeführt, wobei Zufallsstichproben aus einer Verteilung von Kraftregelparameterwerten bewertet werden und die Optimierungsroutine die Parameterverteilung iterativ neu festlegt, um optimale Werte der Parameter zu finden. Jede simulierte Montage wird unter Verwendung mehrerer Simulationen bewertet, die zufällige Teilepositionierungsunsicherheiten umfassen. Das Abschneiden jeder simulierten Montage wird anhand des Durchschnitts der Simulationsergebnisse bewertet, wodurch sichergestellt wird, dass die ausgewählten Regelparameter unter den meisten möglichen Bedingungen gut abschneiden. Nachdem die Parameter optimiert wurden, werden sie zur Durchführung des wirklichen Montagevorgangs auf reale Roboter angewendet.

Description

  • STAND DER TECHNIK
  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich allgemein auf ein Verfahren zum Abstimmen der Parameter, die bei einem kraftgeregelten robotergestützten Montagevorgang verwendet werden, und insbesondere auf ein Verfahren zum Abstimmen der Kraftregelparameter für die robotergestützte Montage, bei dem eine physikalische Simulation des Montageprozesses mitsamt numerischer Optimierung verwendet wird, um verschiedene Kombinationen der Kraftregelparameter in Simulationen zu erproben, die zufällige Posenunsicherheiten beinhalten, und die Optimierung zu einem Parametersatz konvergiert, der gegenüber den Unsicherheiten am robustesten ist.
  • Erörterung des Standes der Technik
  • Die Verwendung von Industrierobotern zur wiederholten Durchführung eines breiten Spektrums von Herstellungs- und Montagevorgängen ist gut bekannt. Allerdings werden einige Arten von Montagevorgängen, wie beispielsweise das Anbringen einer Autotür mit Scharnierstiften an einer Karosserie mit Scharnierstiftlöchern, immer noch von Hand durchgeführt, wobei eine Maschine das Gewicht der Tür anhebt und eine menschliche Arbeitskraft die Scharnierstifte mit den Löchern ausrichtet und die Tür in Position absenkt. Andere Montagevorgänge sind ebenfalls problematisch für Roboter - wie das Einstecken eines elektrischen Steckverbinders in einen Gegenstecker oder jede sonstige Montage eines straff sitzenden Bauteils in ein anderes. Derartige Vorgänge werden noch oft von Hand ausgeführt, weil Roboter Schwierigkeiten haben, die komplexen Fehlausrichtungen zu erkennen und zu korrigieren, die bei Montageaufgaben mit engen Toleranzen auftreten können. Das heißt, dass der Roboter wegen geringfügiger Abweichungen der Teileposen aufgrund von sowohl Greif- als auch Einspannunsicherheiten ein Teil nicht einfach in seine nominale Einbauposition bewegen kann, sondern die Ausrichtung und Passung eines Teils mit dem anderen Teil bzw. in das andere Teil „ertasten“ muss.
  • Um Montageaufgaben robust gegenüber diesen unvermeidlichen Positionierungsunsicherheiten zu machen, wird bei Robotersystemen normalerweise auf Funktionen auf der Basis der Kraftregelung zurückgegriffen, um unerwünschte Abweichungen auszugleichen. Eine herkömmliche Methode zur Einrichtung und Abstimmung für robotergestützte Montageaufgaben ist die händische Abstimmung, bei der eine menschliche Arbeitskraft ein reales Robotersystem für die Montageaufgabe programmiert, das Programm ausführt und die Kraftregelparameter nach der Versuch-und-Irrtum-Methode vorsichtig anpasst (z. B. jeweils Änderungen von weniger als 10 %). Allerdings ist das Abstimmen und Einrichten dieser Kraftregelungsfunktionen mithilfe physischer Tests zeitaufwändig und teuer, da ein händisches Ausprobieren vorgenommen werden muss und auch, wenn die Abstimmung an realen Systemen durchgeführt wird, eine Umgestaltung erforderlich sein kann, wenn das reale System Anforderungen nicht erfüllt. Die Parameterabstimmung an realen physischen Testsystemen ist auch gefährlich, da Roboter nicht nachgiebig sind und ein unerwarteter Kontakt zwischen Teilen somit zu einer Beschädigung des Roboters, der Teile oder umliegender Spannzeuge oder Strukturen führen kann.
  • Es gibt Systeme für die Abstimmung der Kraftregelparameter für die robotergestützte Montage in einer Simulationsumgebung, doch weisen diese existierenden Systeme mehrere Beschränkungen auf. Einige dieser Systeme sind darauf ausgelegt, nur eine bestimmte Art von Montageaufgabe zu simulieren - wie z. B. Bolzen-in-Loch-Montage oder Einbau eines Planarteils -, und können nicht auf allgemeine Montageaufgaben angewendet werden, da die Techniken vorprogrammierte Bewegungsstrategien beinhalten, die für die jeweilige Art von Montageaufgabe bestimmt sind. Andere existierende Systeme für die Parameterabstimmung in einer Simulationsumgebung erfordern immer noch beträchtliche menschliche Erfahrung und Sachkenntnis, um die Auswahl der in den Simulationen verwendeten Kraftregelparameter zu leiten.
  • In Anbetracht der oben beschriebenen Umstände besteht ein Bedarf an einer verbesserten Technik für die autonome Abstimmung von Kraftregelparametern für allgemeine robotergestützte Montagevorgänge.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Die folgende Offenbarung beschreibt ein Verfahren zum Abstimmen der Kraftregelparameter, die für einen allgemeinen robotergestützten Montagevorgang benötigt werden, wobei bei dem Verfahren numerische Optimierung verwendet wird, um verschiedene Kombinationen der Parameter für einen Kraftregler eines Roboters in einer Simulationsumgebung zu bewerten, die auf der Grundlage einer realen Einrichtung des Roboters aufgebaut ist. Bei diesem Verfahren wird eine autonome Abstimmung für Montageaufgaben auf der Grundlage der Simulation einer Kraftregelung mit geschlossenem Regelkreis durchgeführt, wobei Zufallsstichproben aus einer Verteilung von Kraftregelparameterwerten ausgewählt und bewertet werden und die Optimierungsroutine die Parameterverteilung iterativ neu festlegt, um optimale Werte der Parameter zu finden. Um die Übertragung von Simulationsergebnissen in den Betrieb unter realen Bedingungen zu verbessern und das Planungsergebnis robust gegenüber Unsicherheiten zu machen, wird jedes hypothetische Montageprogramm mithilfe mehrerer Simulationen bewertet, bei denen für jede Simulationsinstanz zufällige Unsicherheiten (z. B. Einspannposenfehler) verwendet werden. Das Abschneiden jeder simulierten Montage wird anhand des Durchschnitts der Simulationsergebnisse bewertet, wodurch sichergestellt wird, dass die ausgewählten Regelparameter unter den meisten möglichen Bedingungen gut abschneiden. Das Abstimmen der Parameter in einer Simulation ist schneller, kostengünstiger und sicherer als das Abstimmen der Parameter in einer physischen Testumgebung. Nachdem die Parameter durch die Simulation gelernt wurden, werden sie zur Durchführung des wirklichen Montagevorgangs auf reale Roboter angewendet.
  • Weitere Merkmale der vorliegenden Offenbarung werden aus der nachstehenden Beschreibung und den beigefügten Patentansprüchen in Verbindung mit den begleitenden Zeichnungen ersichtlich.
  • Figurenliste
    • 1 ist eine Darstellung eines mit Teilen mit engen Toleranzen durchgeführten robotergestützten Montagevorgangs, die mehrere Quellen einer Teilepositionierungsunsicherheit zeigt, die bei robotergestützten Montagevorgängen Herausforderungen darstellen;
    • 2 ist eine Darstellung von Teilen, die mit Roboterunterstützung zusammengebaut werden, wobei die Teile eine Ausrichtung in einer Weise erfordern, die bedingt, dass der Roboter eine Lochsuche in einer zur Einführachse senkrechten Ebene durchführt;
    • 3 ist eine Darstellung von Teilen, die mit Roboterunterstützung zusammengebaut werden, wobei die Teile eine Ausrichtung in einer Weise erfordern, die bedingt, dass der Roboter eine Taktsuche durchführt, um eine passende Drehorientierung um die Einführachse zu finden;
    • 4 ist eine Blockdiagrammdarstellung eines Simulationssystems, das gemäß einer Ausführungsform der vorliegenden Offenbarung für die Simulation einer Rückkopplungsregelung eines robotergestützten Montagevorgangs eingerichtet ist, einschließlich der Fähigkeit, die Wirksamkeit gegebener Kraftregelparameter zu bestimmen;
    • 5 ist eine Querschnittsdarstellung eines robotergestützten Montagevorgangs, die die Montageschritte und die Kraftregelparameter zeigt, die im Simulationssystem von 4 gemäß einer Ausführungsform der vorliegenden Offenbarung verwendet werden;
    • 6 ist eine Querschnittsdarstellung des robotergestützten Montagevorgangs von 5, wobei der Vorgang gemäß einer Ausführungsform der vorliegenden Offenbarung mehrere Male unter Verwendung eines Teilepositionierungsvariationsbereichs simuliert wird und jede Simulation unter Verwendung einer Verlustfunktion bewertet wird;
    • 7 ist eine Querschnittsdarstellung des robotergestützten Montagevorgangs der 5 und 6, wobei gemäß einer Ausführungsform der vorliegenden Offenbarung mehrere Simulationsgruppen die Teilepositionierungsvariation wie in 6 bewerten, wobei jede der Gruppen andere Werte von Kraftregelparametern aus einer Verteilung verwendet und die Verteilung in einem Optimierungsprozess aktualisiert wird, um optimale Werte der Parameter zu finden;
    • 8 ist eine Konzeptdarstellung der Parametersuche und Konvergenz in einem zweidimensionalen Raum unter Verwendung numerischer Optimierung, wie im Stand der Technik bekannt;
    • 9 ist ein Flussdiagramm eines Verfahrens zum autonomen Abstimmen der Parameter für einen allgemeinen robotergestützten Montagevorgang unter Verwendung numerischer Optimierung in Verbindung mit einer physikalischen Simulation gemäß einer Ausführungsform der vorliegenden Offenbarung; und
    • 10 ist eine Darstellung eines Systems für die autonome Parameterabstimmung durch das Verfahren von 9, wobei die abgestimmten Parameter von einer Robotersteuerung in einem entsprechenden realen robotergestützten Montagevorgang gemäß einer Ausführungsform der vorliegenden Offenbarung verwendet werden.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Die folgende Erörterung der Ausführungsformen der Offenbarung, die ein Verfahren zum Abstimmen der für einen robotergestützten kraftgeregelten Montagevorgang erforderlichen Parameter betrifft, bei dem eine Simulation mit numerischer Optimierung verwendet wird, um verschiedene Kombinationen der Parameter zu bewerten, und eine Teilepositionierungsunsicherheit in die Simulationen einbezogen wird, ist nur beispielhafter Natur und soll die offenbarten Techniken oder ihre Anwendungen und Verwendungen in keiner Weise beschränken.
  • Die Verwendung von Industrierobotern für eine große Vielfalt von Herstellungs- und Montagevorgängen ist gut bekannt. Die vorliegende Offenbarung ist auf die Überwindung der Herausforderungen gerichtet, denen man bei vielen robotergestützten Montagevorgängen begegnet.
  • 1 ist eine Darstellung eines mit Teilen mit engen Toleranzen durchgeführten robotergestützten Montagevorgangs, die mehrere Quellen einer Teilepositionierungsunsicherheit zeigt, die bei robotergestützten Montagevorgängen Herausforderungen darstellen. Ein Roboter 100 mit einem Greifer 102 greift ein erstes Teil 110, das mit einem zweiten Teil 120 zusammengebaut werden soll. In diesem Beispiel ist das erste Teil 110 ein Bolzenteil, und das zweite Teil 120 ist ein Lochgebilde. Das Bolzenteil 110 soll in ein Loch im Lochgebilde 120 eingeführt werden. Die Toleranzen der Teile sind bei einer Bolzen-in-Loch-Montage normalerweise recht eng, damit die Baugruppe nach dem Zusammenbau ohne übermäßige Lockerheit betrieben werden kann. Bei einigen Bolzen-in-Loch-Montagen gibt es zwei koaxiale Bolzen an einem Teil, die gleichzeitig in zwei Löcher in dem anderen Teil eingeführt werden müssen, was den Montagevorgang noch schwieriger macht. Viele andere Arten von Gegenstückanordnungen - wie elektrische Steckverbinder, komplexe planare Formen usw. - weisen ähnlich enge Toleranzen auf.
  • Die oben beschriebenen Arten von Montagevorgängen werden noch oft von Hand ausgeführt, weil Roboter Schwierigkeiten haben, die komplexen Fehlausrichtungen zu erkennen und zu korrigieren, die bei Montageaufgaben mit engen Toleranzen auftreten können. Das heißt, dass der Roboter wegen geringfügiger Abweichungen der Teileposen ein Teil nicht einfach in seine nominale Einbauposition bewegen kann, sondern die Ausrichtung und Passung eines Teils mit dem anderen Teil bzw. in das andere Teil „ertasten“ muss. Es gibt viele mögliche Quellen von Fehlern und Unsicherheit bei Teileposen. Erstens kann die exakte Position und Orientierung (zusammen „Pose“) des Bolzenteils 110, wie es im Greifer 102 gegriffen wird, in geringem Umfang von der erwarteten Pose abweichen. Gleichermaßen kann die exakte Pose des gesamten Teils 120 in seinem Spannzeug ebenfalls von der erwarteten Pose abweichen. Bei Systemen, bei denen eine Kamera 130 verwendet wird, um Bilder der Arbeitsraumszene zur Ortsbestimmung bereitzustellen, kann ein Wahrnehmungsfehler auch zur Unsicherheit der relativen Teilepositionierung beitragen. Zudem können Kalibrierungsfehler beim Aufstellen des Roboters 100 und der Spannvorrichtung, die das Teil 120 hält, im Arbeitsraum und geringfügige Variationen der Robotergelenkposition sämtlich weiter zur Teilepositionierungsunsicherheit beitragen.
  • 2 ist eine Darstellung von Teilen, die mit Roboterunterstützung zusammengebaut werden, wobei die Teile eine Ausrichtung in einer Weise erfordern, die bedingt, dass der Roboter eine Lochsuche in einer zur Einführachse senkrechten Ebene durchführt. Ein Greifer 202 greift ein Teil 210, das in derselben Weise, wie in 1 gezeigt, in ein Loch 220 eingeführt werden muss. Ein Abstand 230, der aus Gründen der Sichtbarkeit übertrieben ist, stellt die Unsicherheit bei der lateralen Position des Teils 210 relativ zum Loch 220 dar. Um die richtige Ausrichtung des Teils 210 mit dem Loch 220 zu finden, kann es erforderlich sein, dass der Roboter eine Lochsuche durchführt, bei der der Greifer 202 das Teil 210 nach einem ZickzackMuster 240 in einer zur Achse des Teils 210 senkrechten Ebene vor und zurück bewegt.
  • 3 ist eine Darstellung von Teilen, die mit Roboterunterstützung zusammengebaut werden, wobei die Teile eine Ausrichtung in einer Weise erfordern, die bedingt, dass der Roboter eine Taktsuche durchführt, um eine passende Drehorientierung um die Einführachse zu finden. Ein Greifer 302 greift ein erstes Teil 310, das mit einem zweiten Teil 320 zusammengepasst werden muss. In diesem Fall sind das erste und das zweite Teil 310/320 Zahnräder mit Zähnen, die genau ausgerichtet sein müssen. Um die richtige Ausrichtung des Teils 310 zum Teil 320 zu finden, kann es erforderlich sein, dass der Roboter eine Taktsuche durchführt, bei der der Greifer 302 die Drehposition des Teils 310 um seine Drehachse fein justiert, während er versucht, das Teil 310 in Position und Eingriff mit dem Teil 320 abzusenken.
  • Obwohl die oben beschriebenen Lochsuch- und Taktsuchfähigkeiten bei Robotersystemen vorhanden sind, können sie ineffizient sein, und sie sind oft unwirksam, wenn die Teilemontage etwas Komplexeres als eine einfache Lochausrichtung oder Drehausrichtung einbegreift.
  • Um Montageaufgaben robust gegenüber diesen unvermeidlichen Positionsunsicherheiten zu machen, wird bei Robotersystemen normalerweise auf Funktionen auf der Basis der Kraftregelung zurückgegriffen, um die richtige Teilepassung zu „ertasten“. Eine herkömmliche Methode zur Einrichtung für robotergestützte Montageaufgaben ist die händische Abstimmung, bei der eine menschliche Arbeitskraft ein reales Robotersystem für die Montageaufgabe programmiert, das Programm ausführt und die Kraftregelparameter nach der Versuch-und-Irrtum-Methode anpasst. Allerdings ist das Abstimmen und Einstellen dieser Kraftregelungsfunktionen mithilfe physischer Tests wegen des händischen Ausprobierens, das durchgeführt werden muss, zeitaufwändig und teuer. Die Parameterabstimmung an realen physischen Testsystemen ist auch gefährlich, da Roboter nicht nachgiebig sind und ein unerwarteter Kontakt zu einer Beschädigung der Roboter oder umliegenden Spannzeuge oder Strukturen führen kann.
  • Es gibt Systeme für die Abstimmung der Kraftregelparameter für die robotergestützte Montage in einer Simulationsumgebung, doch weisen diese existierenden Systeme mehrere Beschränkungen auf. Einige dieser Systeme sind darauf ausgelegt, nur eine bestimmte Art von Montageaufgabe zu simulieren - wie eine der in den 1 bis 3 gezeigten -, und können nicht auf allgemeine Montageaufgaben angewendet werden, da die Techniken vorprogrammierte Bewegungsstrategien beinhalten, die für die jeweilige Art der Montageaufgabe bestimmt sind. Andere existierende Systeme für die Parameterabstimmung in einer Simulationsumgebung erfordern immer noch beträchtliche menschliche Erfahrung und Sachkenntnis, um die Auswahl der in den Simulationen verwendeten Kraftregelparameter zu leiten.
  • Die vorliegende Offenbarung beschreibt ein Verfahren zum autonomen Abstimmen der Kraftregelparameter für eine generische robotergestützte Montage, das die Beschränkungen existierender Techniken überwindet. Bei dem Verfahren wird eine High-Fidelity-Simulation der Kraftregelung mit geschlossenem Regelkreis des Roboters mit Kontaktdynamiken zwischen den Teilen, die zusammengebaut werden, verwendet. Die Montageaufgabe wird segmentiert und parametrisiert, und eine Optimierungsroutine bewertet die Simulationen, um die Parameterwerte zu finden, die bei der Montage am besten abschneiden. Jeder bewertete Parametersatz wird mehrmals mit zufällig variierender Teileposenunsicherheit simuliert, und die Parametersätze, die gegenüber der Posenunsicherheit am robustesten sind, werden am höchsten bewertet. Die Technik wird unten im Einzelnen erörtert.
  • 4 ist eine Blockdiagrammdarstellung eines Simulationssystems 400, das gemäß einer Ausführungsform der vorliegenden Offenbarung für die Simulation einer Rückkopplungsregelung eines robotergestützten Montagevorgangs eingerichtet ist, einschließlich der Fähigkeit, die Wirksamkeit gegebener Kraftregelparameter zu bestimmen. Ein Computer 410 ist dazu eingerichtet, ein Simulationssystem 420 auszuführen, das ein Roboterdefinitionsmodell 430 und eine Physik-Engine 440 umfasst. Das Simulationssystem 420 führt eine Simulation der Kraftregelung mit geschlossenem Regelkreis eines Montagevorgangs durch, die Kontaktdynamiken zwischen den Teilen beinhaltet, die bei der Simulation zusammengebaut werden. Der simulierte Montagevorgang verhält sich entsprechend Kraftregelparametern, die als Eingabe in das Roboterdefinitionsmodell 430 festgelegt sind. Die Prüfung der Ergebnisse jeder Simulation (Wurden die Teile vollständig und richtig zusammengebaut?) ermöglicht die Bewertung der Wirksamkeit verschiedener Werte der Kraftregelparameter.
  • Das Roboterdefinitionsmodell 430 umfasst einen Kraftregler 432. Im Gegensatz zu Robotersteuerungen, die für Bewegungssteuerungsanwendungen wie Spritzlackieren, Laserschweißen oder Platzieren von Teilen auf einem Förderband verwendet werden (wo ein Kontakt zwischen dem Werkzeug am Ende des Roboterarms und der Umgebung streng vermieden wird), sorgt der Kraftregler 432 für eine nachgiebige Bewegung des Roboters auf der Grundlage des Widerstands, auf den beim Kontakt mit anderen Objekten getroffen wird. Dies geschieht mithilfe einer Form der Admittanzregelung.
  • Die Impedanzregelung (oder Admittanzregelung) ist ein Konzept der dynamischen Regelung in Bezug auf Kraft und Position. Sie wird oft bei Anwendungen eingesetzt, bei denen ein Manipulator mit einer Umgebung interagiert und die Kraft-Positions-Beziehung von Bedeutung ist. Die mechanische Impedanz ist das Verhältnis von Kraftausgabe zu Bewegungseingabe. Ein virtuelles Masse-Feder-Dämpfer-System wird verwendet, um diese Beziehungen zu definieren. Die Impedanz eines Mechanismus zu regeln, bedeutet, die Kraft des Widerstands gegen externe Bewegungen zu regeln, die durch die Umgebung auferlegt werden. Die mechanische Admittanz ist das Gegenteil der Impedanz - sie definiert die Bewegungen, die aus einer Krafteingabe resultieren. Die Theorie hinter dem Impedanz-/Admittanzregelungsverfahren besteht darin, die Umgebung als Admittanz und den Manipulator als Impedanz zu behandeln.
  • Der Kraftregler 432 funktioniert wie oben beschrieben und empfängt als Eingabe eine Sollkraft (oder „Wunschkraft“) Fd und stellt als Ausgabe eine resultierende Bewegung (Geschwindigkeit) Vd bereit. Die Variablen Fd und Vd sind Vektoren, die alle sechs Freiheitsgrade (drei translatorische und drei rotatorische) im kartesischen Raum umfassen. Der Kraftregler 432 berechnet die resultierende Bewegung Vd unter Verwendung der oben beschriebenen Admittanzregelungsberechnungen auf der Grundlage der Differenz zwischen der Sollkraft Fd und einer Ist-Kontaktkraft F, die auf das Werkstück ausgeübt wird. Die Berechnungen für das Kraft- und Momentengleichgewicht und die Bewegung werden in der Regel bezogen auf den Werkstückschwerpunkt durchgeführt. Die Beziehung zwischen Fd und Vd und die Abstimmung von Fd zum Erreichen einer effizienten Montage werden weiter unten erörtert.
  • Wie vorstehend bereits gesagt, ist die resultierende Bewegung Vd, die vom Kraftregler 432 als Ausgabe bereitgestellt wird, ein kartesischer Geschwindigkeitsvektor, der alle sechs Bewegungsfreiheitsgrade (drei translatorische Geschwindigkeiten und drei rotatorische Geschwindigkeiten) des Schwerpunkts des Teils beinhaltet. Ein Kinematikblock 434 berechnet entsprechende Robotergelenkgeschwindigkeiten V, die benötigt werden, um zu bewirken, dass das Werkzeug am Ende des Roboterarms (Greifer) den Teileschwerpunkt mit der Geschwindigkeit Vd bewegt. Der Kinematikblock 434 führt die Berechnungen der Gelenkgeschwindigkeit auf der Grundlage der bekannten Roboterkinematik mithilfe einer Inverskinematik-Berechnung durch, wie im Stand der Technik bekannt. Zusätzlich zur Umwandlung der Sollgeschwindigkeit Vd im kartesischen Raum in V im Gelenkraum, umfasst der Kinematikblock 434 auch einen Tiefpassfilter, um die Gleichmäßigkeit und Realisierbarkeit der Sollgeschwindigkeit im Gelenkraum sicherzustellen, die als V ausgegeben wird. Ein Integralblock 436 integriert die Gelenkgeschwindigkeit V, um einen Gelenkpositionsvektor P zu erhalten, der eine Roboterpose bei der Simulation definiert, die in einer definierten Greiferbewegung resultiert.
  • Bekannte Eigenschaften und Fähigkeiten einer Robotersteuerung 450 werden verwendet, um den Kraftregler 432, die Inverskinematik-Berechnungen im Block 434 und die Integralrechnung im Block 436 zu simulieren. Bekannte Eigenschaften eines bestimmten Roboters 460 (Kinematik, Motormoment-/Drehzahleigenschaften) werden ebenfalls verwendet, um das Roboterdefinitionsmodell 430 zu erstellen.
  • Die Physik-Engine 440 simuliert die physische Interaktion der Teile, die robotergestützt zusammengebaut werden. Die durch den Gelenkpositionsvektor P definierten Roboterbewegungen werden bei Block 442 bereitgestellt und in einem Kontaktdynamiken-Modell 444 verwendet, um den Kontakt zwischen den Teilen zu simulieren. Drei verschiedene Teilemontagebeispiele werden auf der rechten Seite der 4 gezeigt, die Beispiele von Simulationen veranschaulichen, die durchgeführt wurden und das offenbarte Verfahren für die autonome Parameterabstimmung erfolgreich unter Beweis gestellt haben.
  • In Kasten 470 wird ein komplexes planares Teil 472 robotergestützt in eine passende Öffnung in einem fixierten Teil 474 eingeführt. In Kasten 480 wird ein Teil 482 mit zwei Bolzen robotergestützt in ein passendes fixiertes Teil 484 mit zwei Löchern eingeführt. In Kasten 490 wird ein elektrischer Steckverbinder 492 (z.B. ein Stecker) robotergestützt in einen passenden fixierten elektrischen Steckverbinder 494 (z.B. eine Buchse) eingeführt. Diese Beispiele zeigen Montagevorgänge, die an verschiedenen Arten von Teilen durchgeführt wurden, wobei alle Beispiele empfindlich gegenüber einer translatorischen Positionsausrichtung in beiden lateralen Richtungen sind und die Beispiele unterschiedliche Empfindlichkeiten gegenüber einer Drehposition um eine vertikale Achse (Takt) und einer Neigungsposition der vertikalen Achse aufweisen. Somit wird erwartet, dass jede Art von Montage bei Verwendung unterschiedlicher Kraftregelparameter im Kraftregler 432 optimal abschneidet. Es ist die autonome Abstimmung der Kraftregelparameter, die durch die Techniken der vorliegenden Offenbarung bereitgestellt wird.
  • Für jeden gegebenen Teilemontagevorgang, der simuliert wird, werden dem Kontaktdynamiken-Modell 444 CAD-Modelle der Teile bereitgestellt. Um beispielsweise Simulationen für die im Kasten 480 gezeigten Teile durchzuführen, werden ein CAD-Modell des Teils 482 mit zwei Bolzen und ein CAD-Modell des Teils 484 mit zwei Löchern bereitgestellt. Das Teil 482 mit zwei Bolzen wird in dem Robotergreifer in einer bekannten Pose relativ zum Roboter gegriffen, und das Teil 484 mit zwei Löchern ist im 3D-Simulationsraum fixiert. Im Hinblick auf die exakte Position und Orientierung des fixierten Teils 484 mit zwei Löchern im 3D-Simulationsraum werden Variationen der nominalen Position und Orientierung vorgenommen, um die zuvor erörterten Unsicherheiten in der realen Welt zu simulieren.
  • Das Kontaktdynamiken-Modell 444 in der Physik-Engine 440 simuliert die Bewegung des Teils im Robotergreifer (z.B. des Teils 482) auf der Grundlage der Roboterbewegung von Block 442. Wenn das Teil im Robotergreifer (z.B. das Teil 482) das fixierte Teil (z.B. das Teil 484) im Simulationsraum berührt, werden die resultierenden Kontaktkräfte und -momente vom Kontaktdynamiken-Modell 444 einem Krafterfassungsblock 446 bereitgestellt, wo sie wiederum als Rückkopplungskraft F dem Kraftregler 432 bereitgestellt werden. Die Rückkopplungskraft F ist, wie die Sollkraft Fd, ein 6x1-Vektor, der drei Kräfte und drei Momente umfasst - also alle sechs Koordinatenrichtungen des 3D-Simulationsraums. Wenn die abgestimmten Kraftregelparameter bei einem realen robotergestützten Montagevorgang verwendet werden (siehe 9), werden die Kontaktkräfte und -momente von einem Kraftsensor bereitgestellt, der in den Robotergreifer eingebaut ist.
  • Das Simulationssystem 400 von 4 stellt eine realistische Simulation eines robotischen Systems mit Kraftregler bereit, das einen Montagevorgang mit zwei geometrisch definierten Teilen ausführt. Der Erfolg des simulierten Montagevorgangs hängt von den Kraftregelparametern ab, die als Eingabe in den Kraftregler 432 definiert sind. Das Simulationssystem 400 kann dann bei einer rekursiven Optimierungsberechnung verwendet werden, um die Kraftregelparameter für eine erfolgreiche Montage autonom abzustimmen, einschließlich der zufälligen Änderung der Positionsunsicherheit des fixierten Teils, um die Bedingungen der realen Welt besser zu simulieren.
  • 5 ist eine Querschnittsdarstellung eines robotergestützten Montagevorgangs, die die Montageschritte und die Kraftregelparameter zeigt, die im Simulationssystem von 4 gemäß einer Ausführungsform der vorliegenden Offenbarung verwendet werden. Um unter Verwendung numerischer Optimierung das beste Montageprogramm zu suchen, wird das Montageprogramm parametrisiert. Die Parametrisierung kann vom Benutzer in jeder geeigneten Weise gestaltet werden. Eine Möglichkeit zur Durchführung der Parametrisierung besteht darin, das Montageprogramm in mehrere Schritte einer Nachgiebigkeitsregelung aufzuteilen. Bei einem Ausführungsbeispiel werden vier Schritte verwendet. Die Soll- oder Wunschkraft Fd wird dem Kraftregler als Eingabe in Form eines 6x1-Vektors für jeden der Montageschritte bereitgestellt. Für jeden Schritt kann die Robotergreifergeschwindigkeit (in kartesischen Koordinaten) mit Vd, Fd, F, D bestimmt werden, wobei F die oben beschriebene Rückkopplungskontaktkraft (auch ein 6x1-Vektor) ist und D eine Kraftregler-Verstärkungsmatrix ist. D ist eine 6x6-Matrix, und in einer bevorzugten Ausführungsform ist sie eine Diagonalmatrix. Die Geschwindigkeitsberechnung kann in Form einer Matrizenmultiplikation (unter Ausklammerung der Matrizendivision) mit Vd = inv(D) - (Fd - F) ausgedrückt werden.
  • Bei einer bevorzugten Ausführungsform sind die Kraftregler-Verstärkungsmatrix D und die Ausführungszeit T von jedem Schritt als Konstanten festgelegt, und der Sollkraftvektor Fd ist der Parameter, der optimiert wird. Bei anderen Ausführungsformen könnten D und T allerdings Parameter sein, die variabel sind und optimiert werden. Auf der Grundlage des Vektors Fd der Soll- oder Wunschkraft, der dem Kraftregler für jeden Schritt als Eingabe bereitgestellt wird, wird sich der Roboter mit der Geschwindigkeit Vd = inv(D) - (Fd) bewegen, wenn das Teil im Robotergreifer nicht in Kontakt mit der Umgebung kommt; andernfalls wird der Roboter die Kontaktkraft F = Fd beibehalten.
  • In dem Szenario von 5 muss ein Bolzen 510 in eine Öffnung in einem Lochteil 520 eingeführt werden. Das Lochteil 520 ist in seiner Position fixiert, und der Bolzen 510 wird von einem Roboter (nicht dargestellt) gehandhabt. Es sei angenommen, dass es in dem Montageprogramm vier Schritte gibt, wie in der Darstellung von 5 gezeigt. Für jeden Schritt i wird der Sollkraftvektor F d i
    Figure DE102022130318A1_0001
    als Eingabe bereitgestellt, und dieser Sollkraftvektor F d i
    Figure DE102022130318A1_0002
    wird für eine Zeitdauer T beibehalten, während der Roboter versucht, den Bolzen 510 in seine montierte Position zu bewegen. Am Ende des Schritts (nach der Zeitdauer T) wird der Sollkraftvektor F d i + 1
    Figure DE102022130318A1_0003
    für den Schritt i + 1 bereitgestellt, und dies wiederholt sich für alle vier Schritte, wobei jeder Schritt für die Zeitdauer T läuft.
  • Die Anfangswerte, die beim Sollkraftvektor F d i
    Figure DE102022130318A1_0004
    zu verwenden sind (um die Optimierung zu starten, die dann F d i
    Figure DE102022130318A1_0005
    für beste Ergebnisse abstimmen wird), können wie folgt gewählt werden. Betrachtet sei der Fall, dass sich der Bolzen 510 nominell direkt über der Öffnung in dem Lochteil 520 befindet, wobei die positive z-Achse des Arbeitsraumkoordinatenrahmens nach oben gerichtet ist. In diesem Fall wird die Weglänge jedes Schritts (stepDist) bestimmt, indem der anfängliche Abstand zwischen Bolzen und Loch durch vier (für vier Schritte) geteilt und ein kleiner Wert (wie etwa 2%) dazu addiert wird. Dann wird der Sollgeschwindigkeitsvektor für jeden Schritt ( V d i )
    Figure DE102022130318A1_0006
    berechnet als V d i = [ 0,0 s t e p D i s t T ,0,0,0 ] T .
    Figure DE102022130318A1_0007
    Das heißt, dass der Sollgeschwindigkeitsvektor vertikal nach unten (in der negativen z-Richtung) gerichtet ist, ohne x-, y- oder rotatorische Komponenten. Die Sollkraft für Schritt i wird dann mit der oben beschriebenen Gleichung als F d i = D V d i
    Figure DE102022130318A1_0008
    berechnet.
  • Wie zuvor erörtert, sind F d i  und  V d i
    Figure DE102022130318A1_0009
    beide 6×1-Vektoren (Kraft und Geschwindigkeit in allen sechs kartesischen Freiheitsgraden). Wenn F d i
    Figure DE102022130318A1_0010
    für eine Anzahl von Montageschritten N (wie etwa N = 4) bereitgestellt wird, wird der Montagepfad 0 = { F d 1 ,   F d 2 , , F d N } ,
    Figure DE102022130318A1_0011
    wobei jeder der Vektoren F d i
    Figure DE102022130318A1_0012
    wie oben beschrieben berechnet wird. Der Montagepfad θ und die Zeitschrittdauer T sind die Eingaben in den Kraftregler des Roboters.
  • Die vorstehende Erörterung beschreibt, wie der Sollkraftvektor F d i
    Figure DE102022130318A1_0013
    anfangs für den simulierten Montageprozess von 5 festgelegt wird. Es wird auch eine statistische Verteilung (Varianz) für die Werte des Sollkraftvektors F d i
    Figure DE102022130318A1_0014
    bestimmt. Die Optimierung wird dann über viele simulierte Montagevorgänge hinweg verwendet, um die Sollkraftvektorparameter abzustimmen, um einen robusten Montageerfolg bei Vorliegen von zufälligen Posenfehlern zu erzielen.
  • 6 ist eine Querschnittsdarstellung des robotergestützten Montagevorgangs von 5, wobei der Vorgang gemäß einer Ausführungsform der vorliegenden Offenbarung mehrere Male unter Verwendung eines Teilepositionierungsvariationsbereichs simuliert wird und jede Simulation unter Verwendung einer Verlustfunktion bewertet wird. Bei 610 wird ein Montageprozess wie oben in Bezug auf 5 erörtert festgelegt - umfassend ein fixiertes Teil, ein Teil, das von einem Roboter gegriffen wird und mit dem fixierten Teil zusammengebaut werden soll, und einen Sollkraft-Montagepfad θ = { F d 1 ,   F d 2 , , F d N } .
    Figure DE102022130318A1_0015
    Dann wird ein Posenfehlerbereich 620 definiert, um Teilepositionierungsvariationen der mit Bezug auf 1 erörterten Arten Rechnung zu tragen. Beispielsweise kann bei einer Anwendung die Teilepositionierungsunsicherheit auf +/-3 mm festgelegt werden, und die Teileorientierungsunsicherheit kann auf +/-2° festgelegt werden. Selbstverständlich können gegebenenfalls höhere oder niedriger Werte verwendet werden.
  • Bei 630 werden mehrere Montagesimulationen durchgeführt, die jeweils denselben Sollkraft-Montagepfad θ = { F d 1 ,   F d 2 , , F d N }
    Figure DE102022130318A1_0016
    verwenden, und jede Simulation verwendet andere Posenfehler 620, die aus den Teilepositionierungsunsicherheitsbereichen ausgewählt werden. Die Posenfehler 620 werden auf die Position des fixierten Teils relativ zu seiner Nominalposition im Arbeitsraumkkoordinatenrahmen angewendet. Die Posenfehler 620 können als „Delta“-Werte in allen sechs Freiheitsgraden festgelegt werden, wie {Δx,Δy, Δz, ΔW, ΔP, ΔR}, wobei W, P und R Gieren, Nicken beziehungsweise Rollen sind. In dieser Weise werden mehrere Simulationen durchgeführt. Bei einer Simulation 632 werden der Sollkraftpfad θ und eine aus den Unsicherheitsbereichen ausgewählte Menge von Posenfehlern (wie {Δx = 0.5, Δy = -1.3, Δz = 1.7, ΔW = -0.9, ΔP = 1.9, ΔR = 0.1}) verwendet. Bei einer zweiten Simulation 634 werden derselbe Sollkraftpfad θ und eine andere Menge von aus dem Teilepositionierungsunsicherheitsbereichen ausgewählten zufälligen Posenfehlern (wie {-1.5, -0.6, 1.1, 0.6,1.2, -0.71) verwendet. Bei einer dritten Simulation 636 werden derselbe Sollkraftpfad θ und noch eine andere Menge von zufälligen Posenfehlern verwendet, und so weiter. Die Anzahl der Simulationen, bei denen derselbe Sollkraftpfad und unterschiedliche zufällige Posenfehler verwendet werden, kann so gewählt werden, dass sie sich für die Anwendung eignet. In einem nicht einschränkenden Beispiel liegt die Anzahl der Simulationen bei 630 in einem Bereich von fünf bis zehn. In 6 werden lediglich aus Gründen der Klarheit nur drei Posenfehlersimulationen dargestellt.
  • Jede der Simulationen bei 630 endet mit einem finalen Montageposenfehler nach dem letzten Schritt. Im Falle einer Bolzen-und-Loch-Montage könnte der finale Posenfehler der 3D-Abstand zwischen der unteren Spitze des Bolzens und der Sollposition am Boden des Lochs sein. Es ist wünschenswert, dass dieser Abstand, der finale Posenfehler, minimiert wird. Wenn der Kraftregler den Bolzen erfolgreich in das Loch einführt und den Bolzen absenkt, wird der finale Posenfehler sehr klein sein (wie etwa weniger als ein mm). Wenn es dem Kraftregler jedoch nicht gelingt, den Bolzen in das Loch einzuführen (beispielsweise schiebt er die Spitze des Bolzens seitab des Lochteils), dann wird der finale Posenfehler groß sein (wie etwa 20 mm). Wie bei 640 gezeigt, wird eine Verlustfunktion für den finalen Posenfehler für jede der Simulationen bei 630 berechnet. Der Verlustfunktionswert kann einfach der finale Posenfehler in physikalischen Abstandseinheiten sein, oder er kann beispielsweise auf eine Teilgröße normiert werden. Jedenfalls zeigt ein niedriger Verlustfunktionswert eine erfolgreiche simulierte Montage an.
  • Bei Kasten 650 wird ein durchschnittlicher Verlustfunktionswert für alle Simulationen bei 630 berechnet. Werden beispielsweise fünf Simulationen durchgeführt, bei denen jeweils derselbe Sollkraftpfad θ und verschiedene Werte für den zufälligen Posenfehler verwendet werden, dann wird bei Kasten 650 die durchschnittliche Verlustfunktion für die fünf Simulationen berechnet. Die durchschnittliche Verlustfunktion ist ein Indikator dafür, wie gut die simulierte Montage bei Verwendung des eingegebenen Sollkraftpfads θ (der die parametrisierten Sollkraftwerte beinhaltet) abschneidet. Dieser Verlustfunktionswert wird später in einem Optimierungsprozess verwendet, um die parametrisierten Sollkraftwerte autonom abzustimmen.
  • 7 ist eine Querschnittsdarstellung des robotergestützten Montagevorgangs der 5 und 6, wobei gemäß einer Ausführungsform der vorliegenden Offenbarung mehrere Simulationsgruppen die Teilepositionierungsvariation wie in 6 bewerten, wobei jede der Simulationsgruppen oder -reihen andere Werte von Kraftregelparametern aus einer Verteilung verwendet und die Verteilung in einem Optimierungsprozess aktualisiert wird, um optimale Werte der Parameter zu finden. Ein initialer Sollkraftpfad θ wird bei 710 in der oben mit Bezug auf 5 beschriebenen Weise festgelegt. Im Falle von perfekt ausgerichteten Teilen (ohne jeden Posenfehler) würde der Bolzen direkt in das Loch sinken, wie bei 710 gezeigt. Aufgrund von Teilepositionierungsunsicherheiten ist jedoch die perfekte Ausrichtung des von einem Roboter gehandhabten Teils zum fixierten Teil äußerst unwahrscheinlich, und die Kraftregelparameter müssen daher so gewählt werden, dass sie gegenüber Teileposenfehlern robust sind.
  • Eine statistische Verteilung 720 wird für die parametrisierten Werte im Sollkraftpfad θ definiert. In einem Beispiel ist die statistische Verteilung 720 eine Gauß- oder Normalverteilung. Gegebenenfalls können andere Arten von Verteilungen definiert werden. Werte des Sollkraftpfads θ werden zufällig aus der statistischen Verteilung 720 ausgewählt, und für jede Simulationsreihe 730, 732, ... 738 wird ein anderer Sollkraftpfad θ verwendet. Die Anzahl dieser Simulationsreihen kann so gewählt werden, dass sie sich für die Anwendung eignet; in 7 werden nur zur Veranschaulichung fünf gezeigt. Für jede der Simulationsreihen 730-738 werden mehrere Montagesimulationen durchgeführt, wobei bei jeder Simulation andere Posenfehler 610 verwendet werden, die aus den Teilepositionierungsunsicherheitsbereichen ausgewählt werden, wie in Bezug auf 6 beschrieben. Jeder Sollkraftpfad θ besteht aus einem 6×1-Sollkraftvektor F d i
    Figure DE102022130318A1_0017
    für jeden der Schritte (z.B. vier).
  • Betrachtet sei beispielsweise die Simulationsreihe 730. Bei der Simulationsreihe 730 wird ein Sollkraftpfad θ730, verwendet, der zufällig aus der statistischen Verteilung 720 ausgewählt wird. Die Simulationsreihe 730 umfasst die Simulationen 740, 742 und 744 (und wahrscheinlich mehr, nicht dargestellt). Bei jeder der Simulationen 740, 742 und 744 wird derselbe Sollkraft-Montagepfad θ730 verwendet, und bei jeder Simulation werden andere Posenfehler verwendet, die aus den Teilepositionierungsunsicherheitsbereichen ausgewählt werden. Ein durchschnittlicher Verlustfunktionswert 750 wird für alle Simulationen in der Simulationsreihe 730 berechnet, wie oben in Bezug auf 6 erörtert. Der durchschnittliche Verlustfunktionswert 750 ist ein Indikator dafür, wie gut der Montagevorgang bei Vorliegen einer Teilepositionierungsunsicherheit bei Verwendung des Sollkraftpfads θ730 abschneidet. Jede der anderen Simulationsreihen 732-738 wird in derselben Weise bewertet, wobei jede Simulationsreihe einen durchschnittlichen Verlustfunktionswert erbringt.
  • Die am besten abschneidenden Simulationsreihen (die mit dem niedrigsten Verlustfunktionswert) werden ausgewählt und in einem Optimierungsalgorithmus verwendet, um eine neue statistische Verteilung 760 für den Sollkraftpfad θ zu definieren. In einem nicht einschränkenden Beispiel werden die drei besten Simulationsreihen ausgewählt - dargestellt als die Simulationsreihen 730, 734 und 736 in 7. Die Werte der am besten abschneidenden Sollkraft-Montagepfade (θ730, θ734, θ736) werden verwendet, um die neue statistische Verteilung 760 zu definieren. Wenn die statistische Verteilung 760 ein die Qualität der Montageergebnisse betreffendes Konvergenzkriterium nicht erfüllt, dann wird bei Pfeil 770 die neue statistische Verteilung 760 verwendet, um die statistische Verteilung 720 zu ersetzen, und es werden neue Simulationsreihen festgelegt. Dieser Prozess wird rekursiv fortgesetzt, bis die Konvergenzkriterien bei Pfeil 780 erfüllt werden. Die finalen Mittelwerte ( θ f i n a l = { F d 1 ,   F d 2 , , F d N } )
    Figure DE102022130318A1_0018
    der statistischen Verteilung 760 werden bei 790 ausgegeben, und von diesen Kraftregelparametern θfinal weiß man, dass sie eine robuste robotergestützte Montage der Teile bei Vorliegen einer Teilepositionierungsunsicherheit bieten.
  • 8 ist eine Konzeptdarstellung der Parametersuche und Konvergenz in einem zweidimensionalen Raum unter Verwendung numerischer Optimierung, wie im Stand der Technik bekannt. Ein numerischer Optimierungsalgorithmus kann zum automatischen Abstimmen von Parametern verwendet werden, um beste Ergebnisse zu erzielen. Ein Beispiel ist die Evolutionsstrategie zur Adaptation der Kovarianzmatrix (Covariance Matrix Adaptation Evolution Strategy, CMA-ES), für die ein Satz von Parametern aus einer Verteilung (z.B. einer Gauß-Verteilung) stichprobenweise ausgewählt wird und jeder dieser Parameter bewertet wird (unter Verwendung einer Simulation). Die Gauß-Verteilung wird dann in der Art und Weise einer gerichteten Optimierung aktualisiert, um die Wahrscheinlichkeit zu erhöhen, gut abschneidende Parameter auszuwählen.
  • Kasten 810 zeigt einen initialen (erste Generation) Satz einzelner Parameterstichproben aus einer 2D-Verteilung 812, wobei jede Stichprobe durch einen Punkt dargestellt wird. Es versteht sich, dass die in 8 gezeigte gerichtete Optimierungstechnik auf mehrere Dimensionen angewendet werden kann; das Konzept wird aus Gründen der bildlichen Anschaulichkeit mit zwei Dimensionen dargestellt. Jede der Stichproben aus der Verteilung 812 wird in einer Simulation verwendet, die in einer Leistungskennzahl resultiert (wie etwa dem oben beschriebenen Verlustfunktionswert). Die in einer Region 814 enthaltenen Stichproben haben von allen Stichproben in der Verteilung 812 am besten abgeschnitten. Auf dieser Grundlage wird bei Kasten 820 eine zweite Generation von Parameterstichproben mit einer Verteilung 822 generiert. Die Verteilung 822 wird vom CMA-ES-Algorithmus in Richtung der am besten abschneidenden Stichproben erweitert und verlängert. Die Stichproben aus der Verteilung 822 werden in Simulationen verwendet, was in einer Leistungskennzahl für jede resultiert. Die in einer Region 824 enthaltenen Stichproben haben von allen Stichproben in der Verteilung 822 am besten abgeschnitten.
  • Bei Kasten 830 wird eine dritte Generation von Parameterstichproben mit einer Verteilung 832 generiert. Die Verteilung 832 wird neuerlich in Richtung der am besten abschneidenden Stichproben aus der Region 824 erweitert und verlängert. Die Stichproben aus der Verteilung 832 werden in Simulationen verwendet, und es wird festgestellt, dass die Stichproben in einer Region 834 am besten abschneiden. Der gerichtete Optimierungsprozess wird für eine vierte Generation bei Kasten 840 fortgesetzt, wobei eine Verteilung 842 kleiner und im Wesentlichen konzentrisch mit der Verteilung 832 ist, weil die am besten abschneidende Region 834 im Wesentlichen innerhalb der Verteilung 832 zentriert war. Mit anderen Worten hat die Verteilung 842 ungefähr die gleichen Mittelwerte wie die Verteilung 832, aber eine kleinere Standardabweichung. Eine fünfte Generation von Stichproben bei Kasten 850 hat eine Verteilung 852 mit ungefähr dem gleichen Mittelwert und einer noch kleineren Standardabweichung im Vergleich zur vierten Generation. Eine sechste Generation von Stichproben bei Kasten 860 hat eine Verteilung 862 mit ungefähr dem gleichen Mittelwert und einer noch kleineren Standardabweichung im Vergleich zur fünften Generation, und es wird davon ausgegangen, dass die Verteilung 862 die Konvergenzkriterien erfüllt hat.
  • Der in 8 dargestellte gerichtete Optimierungsprozess veranschaulicht deutlich, wie der Optimierungsalgorithmus auf die Simulationen von 7 angewendet wird - Festlegen einer initialen Parameterverteilung (für den Sollpfad θ, der Werte für den Sollkraftvektor F d i
    Figure DE102022130318A1_0019
    bei jedem Schritt beinhaltet), Durchführen einer Vielzahl von Simulationsreihen, Auswählen der am besten abschneidenden Simulationsreihen, um eine neue Parameterverteilung festzulegen, und Fortsetzen dieses Prozesses, bis die Konvergenzkriterien erfüllt werden. Die Covariance Matrix Adaptation Evolution Strategy (CMA-ES) ist eine bevorzugte Optimierungstechnik und wurde bei der Entwicklung der hier offenbarten Verfahren verwendet. Doch könnten auch andere Optimierungslösungen verwendet werden, einschließlich der Partikelschwarmoptimierung und der Bayes'schen Optimierung.
  • 9 ist ein Flussdiagramm 900 eines Verfahrens zum autonomen Abstimmen der Parameter für einen allgemeinen robotergestützten Montagevorgang unter Verwendung numerischer Optimierung in Verbindung mit einer physikalischen Simulation gemäß einer Ausführungsform der vorliegenden Offenbarung. Bei Kasten 910 werden ein Simulationsmodell eines Roboters mit einem Kraftregler und Volumenmodelle von Teilen, die zusammengebaut werden, bereitgestellt. Dieser Schritt wurde bei der Erörterung von 4 im Einzelnen beschrieben. Bei Kasten 920 wird eine statistische Verteilung von Kraftregelparametern bereitgestellt, einschließlich Nennwerten und Standardabweichungen. Dies beinhaltet den 6θ1-Sollkraftvektor F d i
    Figure DE102022130318A1_0020
    für jeden Schritt in der Montagesimulation - wie zuvor in Bezug auf die 5-7 erörtert. Bei Kasten 930 wird eine erste Vielzahl von Stichproben zufällig aus der Verteilung ausgewählt. Bei einer Ausführungsform liegt die erste Vielzahl in einem Bereich von fünf bis zehn Stichproben.
  • Bei Kasten 940 wird eine Reihe von Simulationen für jede der ausgewählten Stichproben durchgeführt, wobei jede Simulationsreihe eine zweite Vielzahl von Simulationen umfasst. Bei jeder Simulation in einer Simulationsreihe werden dieselbe ausgewählte Stichprobe von Kraftregelparametern und verschiedene zufällig zugewiesene Teileposenfehlerwerte verwendet. Bei einer Ausführungsform liegt die zweite Vielzahl in einem Bereich von fünf bis zehn Simulationen. Somit umfasst eine Simulationsreihe fünf bis zehn Simulationen, wobei bei jeder Simulation dieselbe ausgewählte Stichprobe von Kraftregelparametern verwendet wird und wobei bei jeder Simulation ein unterschiedlicher Teileposenfehler verwendet wird. Bei Kasten 950 wird ein Verlustfunktionswert für jede der Simulationen mitsamt einem durchschnittlichen Verlustfunktionswert für jede Simulationsreihe berechnet. Der Verlustfunktionswert für jede Simulation wird auf der Grundlage eines Abstandsfehlers zwischen einer finalen Teileposition nach der Simulation und einer Soll-Position berechnet.
  • Bei Kasten 960 wird die statistische Verteilung von Kraftregelparametern auf der Grundlage einer Anzahl der Simulationsreihen, die die niedrigsten Werte des durchschnittlichen Verlustfunktionswerts aufweisen, neu festgelegt. Bei einer Ausführungsform werden die drei Simulationsreihen (von den fünf bis zehn Reihen) ausgewählt, die am besten abschneiden, und die Verteilung wird auf der Grundlage der in diesen drei Reihen verwendeten Kraftregelparameter neu festgelegt. Die Neufestlegung der Parameterverteilung wird vom Optimierungsalgorithmus gesteuert. Bei der Entscheidungsraute 970 wird bestimmt, ob ein Konvergenzkriterium erfüllt wurde. Das Konvergenzkriterium könnte auf dem Änderungsbetrag von einer Verteilung zur nächsten basieren, oder das Kriterium könnte auf dem Anteil erfolgreicher Montagesimulationen basieren.
  • Wenn das Konvergenzkriterium bei der Entscheidungsraute 970 nicht erfüllt wird, kehrt der Algorithmus für die gerichtete Optimierung zu Kasten 930 zurück, um zufällig Stichproben aus der neu festgelegten Verteilung auszuwählen, gefolgt von der Durchführung der Simulationsreihen und der erneuten Neufestlegung der Verteilung, bis das Konvergenzkriterium erfüllt wird. Wenn das Konvergenzkriterium erfüllt wird, werden die Mittelwerte einer finalen Verteilung als optimale Werte der Kraftregelparameter verwendet. Die optimalen Werte der Kraftregelparameter werden einer realen Robotersteuerung zur Verwendung bei robotergestützten Montagevorgängen in der realen Welt, die den durchgeführten simulierten Montagen entsprechen, bereitgestellt.
  • 10 ist eine Darstellung eines Systems 1000 zum autonomen Abstimmen der Parameter durch das Verfahren von 9, wobei die abgestimmten Parameter von einer Robotersteuerung in einem entsprechenden realen robotergestützten Montagevorgang gemäß einer Ausführungsform der vorliegenden Offenbarung verwendet werden. Ein Computer 1010 hat einen Prozessor und einen Speicher, der mit einem Algorithmus zum Ausführen des Verfahrens für die autonome Parameterabstimmung von 9 eingerichtet ist. Kasten 1020 veranschaulicht, dass der Computer 1010 die Simulation und die Optimierungsberechnungen von 7 durchführt, einschließlich der Simulation einer robotergestützten Montage, die in Bezug auf die 4-6 beschrieben wurde. Dies beinhaltet die Verwendung eines Optimierungssolvers, um Kraftregelparameterwerte zu finden, die bei Vorliegen einer Teilepositionierungsunsicherheit eine optimale Teilemontageleistung bieten.
  • Nachdem die Parameteroptimierungssimulationen konvergiert sind, werden die optimalen Werte der Kraftregelparameter vom Computer 1010 einer Robotersteuerung 1030 bereitgestellt. Die Steuerung 1030 steuert einen Roboter 1040, der die Aufgabe hat, den Montagevorgang auszuführen, der auf dem Computer 1010 simuliert und optimiert wurde. Im gezeigten Beispiel umfasst der Roboter 1040 einen Greifer 1050, der ein Bolzenteil 1060 greift, wobei das Bolzenteil 1060 in ein Lochteil 1070 eingeführt werden soll. Bei einer üblichen Ausführungsform ist der Roboter 1040 ein sechsachsiger Gelenkroboter. Ein Kraft-/Drehmomentsensor 1080 ist zwischen einen äußeren Arm des Roboters 1040 und den Greifer 1050 gekoppelt. Der Kraft-/Drehmomentsensor 1080 stellt der Steuerung 1030 ein Rückkopplungs-Kraft-/Drehmomentsignal bereit, sodass die Kraftregler-Berechnungen wie in Bezug auf 4 erörtert durchgeführt werden können.
  • Der Roboter 1040 arbeitet in einem Arbeitsraum mit einem ortsfesten Koordinatenrahmen. Die Steuerung 1030 kennt die Position und Orientierung des Greifers 1050 und des gegriffenen Teils 1060 jederzeit auf der Grundlage der Roboterkinematik und der Gelenkzustandsdaten. Das Lochteil 1070 wird in einer Halte- oder Spannvorrichtung festgehalten und hat eine Position und Orientierung in dem ortsfesten Koordinatenrahmen, die innerhalb eines bestimmten Genauigkeitsgrads bekannt sind. Wie oben erörtert, ist die Steuerung 1030 nach den Simulationen auf dem Computer 1010 mit Kraftregelparametern konfiguriert, die optimiert sind, um eine robuste Montage der Teile 1060/1070 durch den Roboter 1040 auch bei Vorliegen einer Variation der Pose des eingespannten Teils 1070, einer Variation der Pose des gegriffenen Teils 1060 usw. zu ermöglichen.
  • Die oben beschriebenen Techniken wurden mithilfe von drei Teilemontagesimulationen getestet, wie in 4 dargestellt: Einführen eines komplex geformten planaren Teils, Einführen von zwei Bolzen in zwei Löcher und Einführen eines elektrischen Steckverbinders. In jedem Fall lag die Montageerfolgsquote mit abgestimmten Parametern (unter Verwendung der offenbarten Techniken) über der Erfolgsquote ohne Abstimmung, und in vielen Fällen war die Verbesserung drastisch (> 90% Erfolg mit Parameterabstimmung gegenüber < 20% ohne Abstimmung). Zwei der Teilemontagevorgänge (Einführen von zwei Bolzen in zwei Löcher und Einführen eines elektrischen Steckverbinders) wurden auch unter Verwendung eines realen Roboters und realer Teile getestet, wobei die Robotersteuerungen mit den abgestimmten Kraftregelparametern konfiguriert wurden. Diese Versuche unter realen Bedingungen bestätigten die Fähigkeit der Steuerung und des Roboters, die Teile effizient zusammenzubauen, auch bei Vorliegen einer Teilepositionierungsunsicherheit.
  • Die oben offenbarte Technik für die autonome Parameterabstimmung bietet gegenüber existierenden Verfahren mehrere Vorteile. Im Gegensatz zu Parameteroptimierungstechniken, bei denen reale Experimente herangezogen werden, kann die Simulation auf Computern viel schneller durchgeführt werden.. Ein weiterer Vorteil besteht darin, dass die Simulation für jeden Versuch leicht zurückgesetzt werden kann, während es bei realen Experimenten zeitaufwändig ist, den Roboter und die Steuerung zurückzusetzen, insbesondere wenn der vorherige Versuch fehlschlägt. Lässt man darüber hinaus Roboter wiederholt kontaktreiche Aufgaben ausführen, könnten die Werkstücke beschädigt werden, insbesondere mit Parametern, die nicht gut abgestimmt sind. Außerdem nutzen Werkstücke beim Kontakt leicht ab, wodurch zwischen anfänglichen Versuchen und späteren Versuchen während des Lernens der Parameter Modellunterschiede eingeführt werden könnten. In der simulierten Umgebung hingegen verursachen die Simulationsversuche keinerlei Schäden an Werkstücken oder Robotern. Die Parameterabstimmung mithilfe einer Simulation führt auch nicht zu Sicherheitsproblemen für menschliche Arbeitskräfte.
  • Zudem arbeiten die offenbarten Techniken autonom und benötigen nur ein Modell des Reglers und des Roboters sowie Volumenmodelle der Teile, die zusammengebaut werden. Es bedarf keiner fachkundigen Person, um die Simulationen dabei „anzuleiten“, die richtige Lösung zu finden. Vielmehr findet die Kombination aus Simulation und Optimierung, wobei die Teilepositionierungsunsicherheit in die Auswahl der Kraftregelparameter eingeschlossen ist, auf der Grundlage der tatsächlichen Teilemontagekontaktdynamiken automatisch optimale Werte der Parameter. Beispielsweise konvergiert die Montage des Teils mit zwei Bolzen eigenständig zu translatorischen und rotatorischen Verstärkungen des Kraftreglers, die sich stark von denen unterscheiden, die für den Montagevorgang für den elektrischen Steckverbinder ausgewählt werden.
  • Es wird darauf hingewiesen, dass für bestimmte Teilemontageanwendungen mehr oder andere Parameter bewertet und optimiert werden können. Die oben erörterten Parameter - die sich alle auf die beim Montageprozess verwendeten eingegebenen Sollkraftwerte beziehen - stellen lediglich eine bevorzugte Ausführungsform dar. Die gleiche Art von Optimierungsroutine könnte mit demselben physikalischen Simulationsmodell verwendet werden, um Werte anderer Parameter wie Steifigkeits- und Dämpfungswerte, die in Kontaktdynamiken verwendet werden, oder anderer Parameter, die im Nachgiebigkeitsregler verwendet werden, zu optimieren.
  • In der gesamten vorstehenden Erörterung werden verschiedene Computer und Steuerungen beschrieben und vorausgesetzt. Es versteht sich, dass die Softwareanwendungen und -module dieser Computer und Steuerungen auf einer oder mehreren Rechenvorrichtungen ausgeführt werden, die einen Prozessor und ein Speichermodul haben. Dies schließt insbesondere einen Prozessor in der Robotersteuerung 1030, die den Roboter 1040 steuert, der die robotergestützte Montageaufgabe ausführt, wie in 10 gezeigt, sowie den Computer 410 (4) und den Computer 1010 (10) mit einem oder mehr Prozessoren ein, die dazu eingerichtet sind, das oben erörterte Verfahren für die autonome Parameterabstimmung für robotergestützte Montagevorgänge unter Verwendung numerischer Optimierung in Verbindung mit physikalischer Simulation auszuführen.
  • Die vorstehende Erörterung offenbart und beschreibt nur beispielhafte Ausführungsformen der vorliegenden Offenbarung. Ein Fachmann kann aus dieser Erörterung und den beigefügten Zeichnungen und Patentansprüchen unschwer erkennen, dass vielfältige Änderungen, Modifikationen und Abwandlungen daran vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung, wie sie durch die nachstehenden Patentansprüchen definiert wird, abzuweichen.

Claims (25)

  1. Verfahren zum autonomen Abstimmen von Reglerparametern für einen robotergestützten Montagevorgang, bei dem ein Roboter ein erstes Teil in eine Position manipuliert, in der es mit einem zweiten Teil zusammengebaut ist, wobei das Verfahren umfasst: Initialisieren einer Verteilung der abzustimmenden Reglerparameter; Bereitstellen einer Vielzahl von Zufallsstichproben der Reglerparameter aus der Verteilung; Ausführen einer Reihe von Simulationen des Montagevorgangs für jede der Stichproben in der Vielzahl auf einem Computer mit einem Prozessor und einem Speicher, wobei die Simulationen ein Nachgiebigkeitsreglermodell eines den Montagevorgang ausführenden Roboters umfasst, wobei jede Simulationsreihe eine Vielzahl von Simulationen umfasst, bei denen jeweils eine andere festgelegte Posenabweichung des zweiten Teils verwendet wird; Berechnen eines Verlustfunktionswerts für jede der Simulationen und eines durchschnittlichen Verlustfunktionswerts für jede der Simulationsreihen; und Ausführen einer numerischen Optimierung, um Werte der Reglerparameter zu optimieren, umfassend: Neufestlegen der Verteilung von Reglerparametern auf der Grundlage einer Anzahl der Simulationsreihen mit den niedrigsten durchschnittlichen Verlustfunktionswerten; Zurückgehen zum Bereitstellen der ersten Vielzahl von Zufallsstichproben der Reglerparameter aus der neu festgelegten Verteilung, wenn die numerische Optimierung nicht konvergiert ist, und Verwenden von Mittelwerten der Verteilung von Reglerparametern als die finalen abgestimmten Parameter, wenn die numerische Optimierung konvergiert ist.
  2. Verfahren nach Anspruch 1, wobei das Initialisieren einer Verteilung von Reglerparametern das Definieren einer Normalverteilung mit einem Mittelwert und einer Standardabweichung für jeden der Parameter umfasst.
  3. Verfahren nach Anspruch 1, wobei die abzustimmenden Reglerparameter einen in das Nachgiebigkeitsreglermodell eingegebenen Sollkraftvektor in sechs Freiheitsgraden für jeden Schritt eines Mehrschritt-Montagepfads umfassen.
  4. Verfahren nach Anspruch 1, wobei die Simulationen das Nachgiebigkeitsreglermodell umfassen, das auf der Grundlage einer Differenz zwischen einem eingegebenen Sollkraftvektor und einem Rückkopplungskontaktkraftvektor Roboterbewegungen berechnet.
  5. Verfahren nach Anspruch 4, wobei die Simulationen Kontaktdynamiken zwischen dem ersten und dem zweiten Teil umfassen, die Volumenmodelle der Teile verwenden, und der Rückkopplungskontaktkraftvektor aus den Kontaktdynamiken berechnet wird.
  6. Verfahren nach Anspruch 1, wobei die festgelegte Posenabweichung des zweiten Teils zufällig aus einem Bereich von Posenabweichungen ausgewählt wird und eine Kombination von drei orthogonalen Positionsabweichungen und drei orthogonalen Orientierungsabweichungen umfasst.
  7. Verfahren nach Anspruch 1, wobei der Verlustfunktionswert auf der Grundlage eines finalen Fehlers der montierten Position nach jeder Simulation berechnet wird, wobei ein niedrigerer Verlustfunktionswert einen kleineren finalen Fehler der montierten Position ausweist.
  8. Verfahren nach Anspruch 1, wobei die numerische Optimierung konvergiert ist, wenn ein Prozentsatz der Simulationen, die ein Verlustfunktionshöchstwert-Kriterium erfüllen, einen vorgegebenen Schwellenwert überschreitet.
  9. Verfahren nach Anspruch 1, wobei das Ausführen einer numerischen Optimierung das Verwenden einer Covariance Matrix Adaptation Evolution Strategy (CMA-ES) Optimierung, einer Partikelschwarmoptimierung oder einer Bayes'schen Optimierung umfasst.
  10. Verfahren nach Anspruch 1, wobei das Neufestlegen der Verteilung von Reglerparametern das Auswählen der Anzahl der Simulationsreihen mit den niedrigsten durchschnittlichen Verlustfunktionswerten und das Festlegen eines neuen Mittelwerts und einer neuen Standardabweichung für jeden der Reglerparameter auf der Grundlage der Reglerparameter in der Anzahl von Reihen, die ausgewählt wurden, umfasst.
  11. Verfahren nach Anspruch 1, wobei der robotergestützte Montagevorgang eines von einem Einfügen eines nicht achsensymmetrischen planaren Teils in eine passende Öffnung, einem Zusammenbauen eines Teils mit zwei Bolzen mit einem Teil mit zwei Löchern oder einem Einfügen eines elektrischen Steckverbinders in einen Gegenstecker umfasst.
  12. Verfahren nach Anspruch 1, ferner umfassend das Verwenden der finalen abgestimmten Parameter in einer Robotersteuerung, die mit einem Nachgiebigkeitsregler konfiguriert ist, um einen realen Montagevorgang auszuführen.
  13. Computerimplementiertes Verfahren zum autonomen Abstimmen von Reglerparametern für einen robotergestützten Montagevorgang, wobei das Verfahren das Verwenden eines numerischen Optimierungsalgorithmus zum Optimieren von Werten der Reglerparameter umfasst, wobei eine Vielzahl von Zufallsstichproben aus einer Verteilung der Reglerparameter ausgewählt wird und eine Reihe von Simulationen des Montagevorgangs für jede der Stichproben in der Vielzahl ausgeführt wird, wobei jede Simulationsreihe eine Vielzahl von Simulationen umfasst, die jeweils eine andere Posenabweichung eines fixierten Teils verwenden, und wobei die Verteilung der Reglerparameter auf der Grundlage einer Untergruppe der Simulationsreihen, die bei der Montage am besten abschneiden, neu festgelegt wird, bis ein Konvergenzkriterium erfüllt ist.
  14. Verfahren nach Anspruch 13, wobei die abzustimmenden Reglerparameter einen in das Nachgiebigkeitsreglermodell eingegebenen Sollkraftvektor in sechs Freiheitsgraden für jeden Schritt eines Mehrschritt-Montagepfads umfassen, wobei die Simulationen das Nachgiebigkeitsreglermodell umfassen, das auf der Grundlage einer Differenz zwischen dem eingegebenen Sollkraftvektor und einem Rückkopplungskontaktkraftvektor Roboterbewegungen berechnet, und wobei die Simulationen Kontaktdynamiken zwischen Teilen, die zusammengebaut werden, umfassen, die Volumenmodelle der Teile verwenden, und der Rückkopplungskontaktkraftvektor aus den Kontaktdynamiken berechnet wird.
  15. System zum Ausführen eines robotergestützten Vorgangs zum Zusammenbauen eines ersten Teils mit einem zweiten Teil, wobei das System umfasst: einen Computer mit einem Prozessor und einem Speicher, wobei der Computer zum autonomen Abstimmen von Reglerparametern für den robotergestützten Montagevorgang eingerichtet ist, das das Verwenden eines numerischen Optimierungsalgorithmus zum Optimieren von Werten der Reglerparameter umfasst, wobei eine Vielzahl von Zufallsstichproben aus einer Verteilung der Reglerparameter ausgewählt wird und eine Reihe von Simulationen des Montagevorgangs für jede der Stichproben in der Vielzahl ausgeführt wird, wobei jede Simulationsreihe eine Vielzahl von Simulationen umfasst, die jeweils eine andere festgelegte Posenabweichung des zweiten Teils verwenden, und wobei die Verteilung der Reglerparameter auf der Grundlage einer Untergruppe der Simulationsreihen, die bei der Montage am besten abschneiden, neu festgelegt wird, bis ein Konvergenzkriterium erfüllt ist; und eine Robotersteuerung, die einen Roboter steuert, wobei die Steuerung mit einem Nachgiebigkeitsregler konfiguriert ist, um den robotergestützten Montagevorgang auszuführen, wobei der Nachgiebigkeitsregler die optimierten Werte der Reglerparameter vom Computer verwendet.
  16. System nach Anspruch 15, wobei die Simulationen ein Nachgiebigkeitsreglermodell eines Roboters umfassen, der den Montagevorgang ausführt.
  17. System nach Anspruch 16, wobei die abzustimmenden Reglerparameter einen in das Nachgiebigkeitsreglermodell eingegebenen Sollkraftvektor in sechs Freiheitsgraden für jeden Schritt eines Mehrschritt-Montagepfads umfassen.
  18. System nach Anspruch 17, wobei das Nachgiebigkeitsreglermodell auf der Grundlage einer Differenz zwischen dem eingegebenen Sollkraftvektor und einem Rückkopplungskontaktkraftvektor Roboterbewegungen berechnet.
  19. System nach Anspruch 18, wobei die Simulationen Kontaktdynamiken zwischen dem ersten und dem zweiten Teil umfassen, die Volumenmodelle der Teile verwenden, und der Rückkopplungskontaktkraftvektor aus den Kontaktdynamiken berechnet wird.
  20. System nach Anspruch 15, wobei die festgelegte Posenabweichung des zweiten Teils zufällig aus einem Bereich von Posenabweichungen ausgewählt wird und eine Kombination von drei orthogonalen Positionsabweichungen und drei orthogonalen Orientierungsabweichungen umfasst.
  21. System nach Anspruch 15, wobei die Untergruppe der Simulationsreihen, die bei der Montage am besten Abschneiden, von einem Verlustfunktionswert bestimmt wird, der auf der Grundlage eines finalen Fehlers der montierten Position nach jeder Simulation berechnet wird, wobei ein niedrigerer Verlustfunktionswert einen kleineren Fehler ausweist.
  22. System nach Anspruch 15, wobei das Konvergenzkriterium erfüllt ist, wenn ein Prozentsatz der Simulationen, die ein Verlustfunktionshöchstwert-Kriterium erfüllen, einen vorgegebenen Schwellenwert überschreitet.
  23. System nach Anspruch 15, wobei das Verwenden eines numerischen Optimierungsalgorithmus das Verwenden einer Covariance Matrix Adaptation Evolution Strategy (CMA-ES) Optimierung umfasst.
  24. System nach Anspruch 15, wobei die Verteilung der Reglerparameter neu festgelegt wird, indem eine Anzahl der Simulationsreihen mit den niedrigsten durchschnittlichen Verlustfunktionswerten ausgewählt wird und ein neuer Mittelwert und eine neue Standardabweichung für jeden der Reglerparameter auf der Grundlage der Reglerparameter in der Anzahl von Reihen, die ausgewählt wurden, festgelegt werden.
  25. System nach Anspruch 15, wobei der robotergestützte Montagevorgang eines von einem Einfügen eines nicht achsensymmetrischen planaren Teils in eine passende Öffnung, einem Zusammenbauen eines Teils mit zwei Bolzen mit einem Teil mit zwei Löchern oder einem Einfügen eines elektrischen Steckverbinders in einen Gegenstecker umfasst.
DE102022130318.7A 2021-12-06 2022-11-16 Autonome robuste montageplanung Pending DE102022130318A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/457,753 2021-12-06
US17/457,753 US11938633B2 (en) 2021-12-06 2021-12-06 Autonomous robust assembly planning

Publications (1)

Publication Number Publication Date
DE102022130318A1 true DE102022130318A1 (de) 2023-06-07

Family

ID=86382323

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022130318.7A Pending DE102022130318A1 (de) 2021-12-06 2022-11-16 Autonome robuste montageplanung

Country Status (4)

Country Link
US (1) US11938633B2 (de)
JP (1) JP2023084107A (de)
CN (1) CN116214498A (de)
DE (1) DE102022130318A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117349990A (zh) * 2023-12-05 2024-01-05 武汉科技大学 一种机器人快速标定的方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6977686B2 (ja) * 2018-08-06 2021-12-08 オムロン株式会社 制御システムおよび制御装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805581B2 (en) * 2012-02-21 2014-08-12 GM Global Technology Operations LLC Procedural memory learning and robot control
US11524410B2 (en) * 2020-06-12 2022-12-13 Hexagon Metrology, Inc. Robotic alignment method for workpiece measuring systems
US20220118618A1 (en) * 2020-10-16 2022-04-21 Mark Oleynik Robotic kitchen hub systems and methods for minimanipulation library adjustments and calibrations of multi-functional robotic platforms for commercial and residential enviornments with artificial intelligence and machine learning
US11565406B2 (en) * 2020-11-23 2023-01-31 Mitsubishi Electric Research Laboratories, Inc. Multi-tentacular soft robotic grippers

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117349990A (zh) * 2023-12-05 2024-01-05 武汉科技大学 一种机器人快速标定的方法及系统
CN117349990B (zh) * 2023-12-05 2024-02-13 武汉科技大学 一种机器人快速标定的方法及系统

Also Published As

Publication number Publication date
JP2023084107A (ja) 2023-06-16
CN116214498A (zh) 2023-06-06
US20230173673A1 (en) 2023-06-08
US11938633B2 (en) 2024-03-26

Similar Documents

Publication Publication Date Title
DE102022130318A1 (de) Autonome robuste montageplanung
DE112017007028B4 (de) Positionskontrollvorrichtung und Positionskontrollverfahren
DE602005005306T2 (de) Steuerung der Bahn eines Greifers
DE102017128652B4 (de) Robotersystem mit einer mehrzahl von robotern, robotersteuerung und robotersteuerverfahren
DE112017002498B4 (de) Robotervorgang-auswertungseinrichtung, robotervorgang-auswertungsverfahren und robotersystem
EP2563553B1 (de) Verfahren und steuermittel zum steuern eines roboters
DE102016116404B4 (de) Objektstellungsberechnungssystem
DE102013113165A1 (de) Kalibrierungsverfahren für Robotersystem
DE102021109332B4 (de) Vorrichtung und Verfahren zum Steuern eines Roboters zum Einsetzen eines Objekts in eine Einsetzstelle
DE102022122818A1 (de) Zugriffserzeugung für maschinenbeschickung
DE102021109334B4 (de) Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102022129008A1 (de) Verfahren zur behandlung von kollisionen bei der griffgenerierung
DE102018114445A1 (de) Vorrichtung und Verfahren zur Einschätzung einer Position des Schwerpunkts eines Roboters
EP3328595A2 (de) Verfahren und system zum steuern eines roboters
DE102016120809B4 (de) Verfahren zum robotergestützten Einpassen eines männlichen Bauteils in ein weibliches Bauteil
DE102012022190B4 (de) Inverse Kinematik
DE102022107227A1 (de) Greifenlernen unter verwendung modularisierter neuronaler netze
DE102021109195A1 (de) Auf demontage basierende montageplanung
DE102006005344A1 (de) Verfahren zur Simulation eines Montagevorgangs für ein Anbauteil
DE102022130341A1 (de) Punktmengen-störungsprüfung
DE102021108775A1 (de) Multizentrische impedanzregelung
DE102021109333B4 (de) Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102020209866B3 (de) Verfahren und System zum Betreiben eines Roboters
DE102020103854B4 (de) Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung
DE112019003058T5 (de) Apparat zum Bearbeiten eines Objekts