DE102020103852B4 - Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator - Google Patents

Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator Download PDF

Info

Publication number
DE102020103852B4
DE102020103852B4 DE102020103852.6A DE102020103852A DE102020103852B4 DE 102020103852 B4 DE102020103852 B4 DE 102020103852B4 DE 102020103852 A DE102020103852 A DE 102020103852A DE 102020103852 B4 DE102020103852 B4 DE 102020103852B4
Authority
DE
Germany
Prior art keywords
values
control program
parameters
program
execution
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.)
Active
Application number
DE102020103852.6A
Other languages
English (en)
Other versions
DE102020103852A1 (de
Inventor
Jose Ramon Medina Hernandez
Andreas Spenninger
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.)
Franka Emika GmbH
Original Assignee
Franka Emika GmbH
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 Franka Emika GmbH filed Critical Franka Emika GmbH
Priority to DE102020103852.6A priority Critical patent/DE102020103852B4/de
Priority to PCT/EP2021/053128 priority patent/WO2021160634A1/de
Publication of DE102020103852A1 publication Critical patent/DE102020103852A1/de
Application granted granted Critical
Publication of DE102020103852B4 publication Critical patent/DE102020103852B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1656Programme controls characterised by programming, planning systems for manipulators
    • 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/32Operator till task planning
    • G05B2219/32137Configure, connect, combine different program modules
    • 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/33Director till display
    • G05B2219/33111Graphic configuration control, connect pictures, objects to each other
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36174Program divided into modules
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36253Generate machining program from previous test run
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

Verfahren zum Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator (1), aufweisend die Schritte:- Auswählen (S1) von strukturell vorgegebenen Programmabschnitten und Zusammensetzen der ausgewählten Programmabschnitte zur strukturellen Definition des Steuerprogramms durch eine Steuereinheit (3) des Robotermanipulators (1),- Vorgeben (S2) eines initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte, wobei die ausgewählten und zusammengesetzten Programmabschnitte mit ihren Parametern das Steuerprogramm bilden,- automatisches, wiederholtes Ausführen (S3) des Steuerprogramms unter Variationen von Werten von zumindest einem Teil der Parameter durch die Steuereinheit (3),- Ermitteln (S4) einer Qualität eines jeweiligen Ergebnisses der jeweiligen Ausführung des Steuerprogramms, und- Abspeichern (S5) von ausgewählten variierten Werten des zumindest einen Teils der Parameter in der Steuereinheit (3), wobei die abzuspeichernden Werte des Teils der Parameter gemäß der ermittelten Qualität nach einem vorgegebenen Gütekriterium ausgewählt werden.

Description

  • Die Erfindung betrifft ein Verfahren zum Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator sowie eine Steuereinheit zum Erzeugen und Optimieren eines Steuerprogramms für den Robotermanipulator.
  • Aufgabe der Erfindung ist es, das Erzeugen eines Steuerprogramms und das Optimieren des Steuerprogramms für einen Robotermanipulator zu verbessern.
  • Im Stand der Technik sind verschiedenste Verfahren zur Ermittlung eines Steuerprogramms für einen Robotermanipulator bekannt.
  • So betrifft die DE 10 2018 204 740 A1 eine Aktionsinformations-Lernvorrichtung, umfassend: eine Zustandsinformation-Erfassungseinheit zum Erfassen von Zustandsformation eines Roboters in einem Fall, bei dem der Roboter ein Werkstück, das aus einem Werkstücklagerplatz erfasst wird, an einen Bediener, innerhalb eines Werkstückübergabebereichs, welches ein Bereich ist, in welchem das Werkstück zu übergeben ist, übergibt; eine Aktionsinformations-Ausgabeeinheit zum Ausgeben von Aktionsinformation, die Justierinformation für die Zustandsinformation ist; eine Vergütungsrecheneinheit zum Erfassen von Bestimmungsinformation, die Information zu einer Übergabezeit ist, welche sich auf die Übergabe des Werkstücks bezieht, und Berechnen eines Vergütungswertes beim Verstärkungslernen, basierend auf der so erfassten Bestimmungsinformation; und eine Wertefunktions-Aktualisierungseinheit zum Aktualisieren einer Wertefunktion mittels des Durchführens des Verstärkungslernens, basierend auf einem Vergütungswert, welcher durch die Vergütungsrecheneinheit berechnet wird, der Zustandsinformation und der Aktionsinformation.
  • Die DE 10 2016 010 945 B3 betrifft ein Optimierungsverfahren zur Berechnung einer optimierten Bewegungsbahn eines Beschichtungsroboters, der ein Applikationsgerät über eine zu beschichtende Bauteiloberfläche führt, mit den folgenden Schritten: a) Definition von aufeinander folgenden Bahnpunkten der Bewegungsbahn durch Bahnpunktdaten, wobei die Bahnpunktdaten für den jeweiligen Bahnpunkt a1) zum einen die räumliche Position eines Referenzpunkts des Applikationsgeräts an dem jeweiligen Bahnpunkt mindestens teilweise definieren, insbesondere eines Farbauftreffpunkts, und a2) zum anderen die räumliche Ausrichtung des Applikationsgeräts an dem jeweiligen Bahnpunkt mindestens teilweise definieren, und b) Berechnung möglicher Roboterkonfigurationen für die einzelnen Bahnpunkte der Bewegungsbahn, b1) wobei jede Roboterkonfiguration jeweils alle Achsstellungen aller Roboterachsen umfasst und b2) zumindest einige der Bahnpunkte jeweils wahlweise durch mehrere verschiedene Roboterkonfigurationen erreichbar sind, gekennzeichnet durch folgenden Schritt: c) Berechnung eines bahnpunktbezogenen Qualitätswerts jeweils einzeln für die verschiedenen möglichen Roboterkonfigurationen der einzelnen Bahnpunkte, so dass jeder Roboterkonfiguration jeweils ein Qualitätswert zugeordnet ist, und d) Auswahl einer der möglichen Roboterkonfigurationen für die einzelnen Bahnpunkte in Abhängigkeit von dem bahnpunktbezogenen Qualitätswert der verschiedenen möglichen Roboterkonfigurationen.
  • Die DE 10 2015 204 641 A1 betrifft ein Verfahren zur Programmierung eines Roboters, insbesondere eines Roboters umfassend einen Roboterarm, wobei, vorzugsweise in einem Roboterprogramm, mit einer vordefinierten Bewegungsschablone eine auszuführende Roboterbewegung eingerichtet wird, wobei die Bewegungsschablone aus einer mehrere Bewegungsschablonen umfassenden Datenbank selektiert wird, wobei die Bewegungsschablone ein oder mehrere parametrierbare Ausführungsmodule und mindestens ein Lernmodul umfasst, wobei das Ausführungsmodul bzw. die Ausführungsmodule zur Planung und/oder Durchführung der Roboterbewegung oder einer Teilbewegung der Roboterbewegung verwendet wird bzw. werden, wobei das Lernmodul in einem Initialisierungsprozess, insbesondere in Form eines Teach-Prozesses, eine oder mehrere Konfigurationen des Roboters aufzeichnet, und wobei das Lernmodul basierend auf den aufgezeichneten Konfigurationen, vorzugsweise unter Verwendung eines maschinellen Lernverfahrens, Parameter für das Ausführungsmodul bzw. die Ausführungsmodule berechnet.
  • Die DE 10 2014 112 639 B4 betrifft ein System zum Erstellen von Steuerungsdatensätzen für vernetzte Roboter, aufweisend mehrere Roboter Ri, mit i = 1, 2, 3,..., n, und n ≥ 2, einen Optimierer OE und eine Datenbank DB, die über ein Datennetz miteinander vernetzt sind, wobei - jeder Roboter Ri zumindest aufweist: eine Steuereinheit SEi zur Steuerung und oder Regelung des Roboters Ri; eine Speichereinheit SPEi zur Speicherung von Steuerungsdatensätzen SDi, die jeweils die Steuerung des Roboters Ri entsprechend einer vorgegebenen Aufgabe Ak ermöglichen, mit k = 0, 1, 2,..., m; eine Einheit EEi zur Vorgabe einer neuen Aufgabe Am+1 für den Roboter Ri, wobei gilt Am+1 ≠ Ak; eine Einheit EHi zur Ermittlung eines Steuerungsdatensatzes SDi zur Ausführung der Aufgabe Am+1 durch den Roboter Ri, eine Bewertungseinheit BEi, die den von der Einheit EHi ermittelten Steuerungsdatensatz SDi hinsichtlich zumindest eines Parameters P1 mit der Kennzahl KP1) bewertet, und eine Kommunikationseinheit KEi zur Kommunikation mit dem Optimierer OE und/oder der Datenbank DB und/oder anderen Robotern Rji≠i, - der Optimierer OE, dazu ausgeführt und eingerichtet ist, nach Anforderung durch einen Roboter Ri zumindest hinsichtlich eines vorgegebenen Parameters P2 einen optimierten Steuerungsdatensatz SDi,P2 zu ermitteln, wobei die Anforderung durch den Roboter Ri dann erfolgt, sofern die Kennzahl KP1) einer vorgegebenen Bedingung nicht genügt, und - die Datenbank DB, die den vom Optimierer OE optimierten Steuerungsdatensatz SDi,P2 speichert und zur Ausführung der Aufgabe Am+1 an den Roboter Ri bereitstellt.
  • Die DE 10 2011 082 800 B4 betrifft ein Verfahren zum automatisierten, computergestützten Erzeugen von Arbeitsablaufplänen für die Behandlung oder Bearbeitung eines Werkstücks mit einem Werkzeug durch einen Industrieroboter das Verfahren umfasst: Bereitstellen eines Ausgangsplanes umfassend eine Vielzahl von Werkzeugbahnen für ein Werkstück in einer bestimmten Soll-Lage und für bestimmte, die Behandlung bzw. Bearbeitung beeinflussende Prozessparameter, wobei eine Werkzeugbahn die Soll-Bewegung des Werkzeugs entlang des Werkstücks festlegt; Definieren eines Zustandsraumes, der variable, die Behandlung bzw. Bearbeitung beeinflussende Parameterwerte beschreibt, wobei jeder Punkt des Raumes eine konkrete Kombination von möglichen Parameterwerten darstellt; Diskretisieren des Raumes in einzelne Zustände; Simulieren der Behandlung bzw. Bearbeitung des Werkstücks unter Verwendung des Ausgangsplanes für einen oder mehrere diskrete Zustände und Bewerten des simulierten Bearbeitungs- bzw. Behandlungsergebnisses entsprechend einem vorgebbaren Kriterium; Iteratives Modifizieren des Ausgangsplanes, anschließendes Simulieren der Behandlung bzw. Bearbeitung des Werkstücks unter Verwendung des modifizierten Planes für mindestens einen diskreten Zustand und Bewerten des simulierten Bearbeitungs- bzw. Behandlungsergebnisses entsprechend einer vorgebbaren Kostenfunktion; Durchführen der Iteration solange bis die Kostenfunktion ein Minimum erreicht oder einen Schwellwert unterschreitet und somit ein optimierter Plan für den jeweiligen Zustand gefunden ist.
  • Die DE 10 2010 012 598 A1 betrifft eine Prozessmodulbibliothek zur Programmierung eines Manipulatorprozesses, insbesondere eines Montageprozesses, mit einer Mehrzahl von parametrierbaren Prozessmodulen“, „peg_in_hole“, „gear“, „screw“) zur Durchführung je eines, insbesondere für verschiedene Manipulatorprozesse gemeinsamen, Teilprozesses, wobei die Prozessmodule jeweils eine Mehrzahl von Basisbefehlen eines gemeinsamen Basisbefehlssatzes zur Durchführung einer, insbesondere atomaren oder molekularen, Basisoperation umfassen, wobei ein Prozessmodul mit einem weiteren Prozessmodul und/oder einem Basisbefehl, insbesondere mathematisch, verknüpfbar ist.
  • Die Erfindung ergibt sich aus den Merkmalen der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der abhängigen Ansprüche.
  • Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator, aufweisend die Schritte:
    • - Auswählen von strukturell vorgegebenen Programmabschnitten und Zusammensetzen der ausgewählten Programmabschnitte zur strukturellen Definition des Steuerprogramms durch eine Steuereinheit des Robotermanipulators,
    • - Vorgeben eines initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte, wobei die ausgewählten und zusammengesetzten Programmabschnitte mit ihren Parametern das Steuerprogramm bilden,
    • - automatisches, wiederholtes Ausführen des Steuerprogramms unter Variationen von Werten von zumindest einem Teil der Parameter durch die Steuereinheit,
    • - Ermitteln einer Qualität eines jeweiligen Ergebnisses der jeweiligen Ausführung des Steuerprogramms, und
    • - Abspeichern von ausgewählten variierten Werten des zumindest einen Teils der Parameter in der Steuereinheit, wobei die abzuspeichernden Werte des Teils der Parameter gemäß der ermittelten Qualität nach einem vorgegebenen Gütekriterium ausgewählt werden.
  • Die strukturell vorgegebenen Programmabschnitte bestimmen einen strukturellen Ablauf des Steuerprogramms für den Robotermanipulator, ohne jedoch Werte für Parameter zu beinhalten. Die Parameter sind daher in den strukturell vorgegebenen Programmabschnitten noch nicht enthalten, da diese für die jeweilige individuelle Aufgabe anzupassen sind. Der prinzipielle Aufbau des Steuerprogramms wird jedoch durch die strukturell vorgegebenen Programmabschnitte im Sinne einer Folge von logischen Programmabschnitten definiert.
  • In dem ersten Schritt des Verfahrens werden daher aus einer Vielzahl von strukturell vorgegebenen Programmabschnitten bestimmte ausgewählt. Dies erfolgt bevorzugt durch das Auswählen eines Anwenders, der den prinzipiellen Ablauf des Steuerprogramms damit definiert. Die vorgegebenen Programmabschnitte sind insbesondere modular ausgestaltet und weisen gegebenenfalls Schnittstellen auf, sodass sie seriell hintereinander schaltbar sind. Dies entspricht dem Zusammensetzen der ausgewählten Programmabschnitte, sodass durch die Gesamtheit aller ausgewählten Programmabschnitte ein insgesamt ausführbarer Ablauf des Steuerprogramms entsteht.
  • Beispiele für die vorgegebenen Programmabschnitte sind das Schließen eines Greifers, das Bewegen eines Endeffektors von einem vorgegebenen Startpunkt zu einem vorgegebenen Zielpunkt, das Zurückfahren des Robotermanipulators in seine Ausgangspose, das Anfahren von vorgegebenen Orten in einer Umgebung des Robotermanipulators, das Wiederholen einer oder mehrerer vorangegangener Programmabschnitte, das Aufbringen einer vorgegebenen Kraft oder eines vorgegebenen Moments auf eine Umgebung des Robotermanipulators, das Umschalten in einen anderen Regelungsmodus, beispielsweise von einer Kraftregelung in eine Impedanzregelung oder eine Positionsregelung oder jeweils umgekehrt, oder Ähnliches.
  • Wird beispielsweise als Steuerprogramm das Verfahren des Robotermanipulators zu einem Objekt, mit dem anschließenden Greifen des Objekts, und mit dem Transportieren des Objekts zu einem vorgegebenen Zielpunkt vorgegeben, so können die einzelnen Schritte als strukturell vorgegebene Programmabschnitte zunächst definiert werden, dabei ist jedoch noch nicht festgelegt, mit welcher Geschwindigkeit das Transportieren erfolgen soll, mit welcher Kraft das Greifen erfolgen soll, etc.. Dies wird durch die Werte der Parameter für solche ausgewählte und zusammengesetzte Programmabschnitte festgelegt, wobei die Parameter dann die Beschleunigungen, Geschwindigkeiten, Kräfte, etc. darstellen.
  • Dabei wird ein initialer Satz von Werten für die Parameter der ausgewählten und zusammengesetzten Programmabschnitte vorgegeben. Ist die Struktur des Steuerprogramms durch die zusammengesetzten strukturell vorgegebenen Programmabschnitte definiert, und sind anschließend für diesen Satz der Programmabschnitte auch entsprechende Parameter mit Werten konkret definiert, liegt ein ausführbares Steuerprogramm vor. Dieses Steuerprogramm wird automatisch durch die Steuereinheit wiederholt ausgeführt, wobei zumindest ein Teil der Parameter des so erzeugten Steuerprogramms in jeder der wiederholten Ausführungen variiert wird.
  • Es ergibt sich damit ein automatisiertes Suchverfahren zur Verbesserung der initial vorgegebenen Werte der Parameter. Es müssen dabei nicht notwendigerweise sämtliche der vorgegebenen Werte von Parameter variiert werden; unter Umständen ist es gewünscht, dass vom Anwender vorgegebene Parameter gerade nicht variiert werden. Im obigen Beispiel können Parameter, die nicht variiert werden sollen, die Transportgeschwindigkeit des gegriffenen Objekts sein, während die Greifkraft zum Halten des Objekts variiert wird, um die minimal nötige Kraft zum Halten des Objekts zu finden, ohne es dabei unnötig zu quetschen.
  • Ferner erfolgt nach jedem Durchgang des wiederholt ausgeführten Steuerprogramms eine automatische Ermittlung einer Qualität eines jeweiligen Ergebnisses. Die Qualität beinhaltet insbesondere, ob die mit dem Steuerprogramm assoziierte Aufgabe überhaupt abgeschlossen wurde, und wenn die Aufgabe abgeschlossen wurde, mit welchen für eine qualitative Einordnung relevanten Werten von Prozessdaten das Steuerprogramm durchgeführt wurde. Ob die Aufgabe erfolgreich abgeschlossen wurde, wird dabei bevorzugt vom Anwender vorgegeben. Die Prozessdaten betreffen insbesondere ein Schadensmaß oder ein Maß für eine Abnutzung, die bei der Ausführung des Steuerprogramms am Robotermanipulator und/oder am Objekt aus der Umgebung des Robotermanipulators entsteht. Ein weiterer Faktor für die Qualität der Ausführung des Steuerprogramms betrifft die für die Ausführung benötigte Zeit, da es grundsätzlich wünschenswert ist, die durch ein Steuerprogramm zu lösende Aufgabe in möglichst kurzer Zeit zu bewerkstelligen.
  • Während dieser automatischen Suche nach verbesserten Werten für die Parameter der zusammengesetzten Programmabschnitte in Zusammenschau mit der jeweiligen ermittelten Qualität der von den Werten des parameterabhängigen Ergebnisses der jeweiligen Ausführung des Steuerprogramms erfolgt daher eine begründete und eine auf empirische Analyse basierende Auswahl von Werten der variierten Parameter, mit denen die Qualität des jeweiligen Ergebnisses bei der Durchführung des Steuerprogramms optimiert wird. Dies erfolgt insbesondere durch einen Vergleich der jeweiligen ermittelten Qualität nach einem vorgegebenen Kriterium, bevorzugt einem Grenzwert für einen numerisch ausgedrückten Kennwert der Qualität. Die Qualität wird daher insbesondere durch eine Kostenfunktion oder invers dazu durch eine Gütefunktion ausgedrückt. Je nachdem, welche Formulierung für die Qualität des jeweiligen Ergebnisses verwendet wird, richtet sich das Vorzeichen bzw. die Definition des Grenzwertes oder der anderweitig verwendeten Metrik als Gütekriterium.
  • Es ist daher eine vorteilhafte Wirkung der Erfindung, dass die Steuereinheit, insbesondere eine Steuereinheit des Robotermanipulators selbst, selbst dazu in der Lage ist, ein strukturell vorgegebenes Steuerprogramm mit initialen Werten von Parametern des Steuerprogramms empirisch zu optimieren, sodass diese Aufgabe des optimierende Steuerprogramms dem Anwender zumindest zu einem Teil abgenommen wird. Das Erzeugen und Optimieren eines Steuerprogramms erfolgt daher vorteilhaft sehr schnell und zuverlässig mit der Tendenz zu einer schnellen Konvergenz zu global optimalen Werten der Parameter des Steuerprogramms.
  • Gemäß einer vorteilhaften Ausführungsform erfolgt das Auswählen der strukturell vorgegebenen Programmabschnitte für das Steuerprogramm durch Ziehen und Loslassen von grafischen Elementen durch einen Anwender, wobei die grafischen Elemente auf einem Bildschirm dargestellt werden und jedes der grafischen Elemente einem der strukturell vorgegebenen Programmabschnitte zugeordnet ist, wobei das automatisch wiederholte Ausführen des Steuerprogramms auf eine Eingabe des Anwenders hin, insbesondere durch Aktivieren eines am Bildschirm angezeigten grafischen Wiederholungselements, erfolgt. Der Bildschirm ist bevorzugt ein berührempfindlicher Bildschirm, da hier vorteilhaft das Ziehen und Loslassen der grafischen Elemente besonders intuitiv erfolgen kann. Durch die Aneinanderreihung der grafischen Elemente auf dem Bildschirm ergibt sich damit insbesondere direkt die Reihenfolge der strukturell vorgegebenen Programmabschnitte, die durch das Ziehen aus einer Liste mit einer Vielzahl möglicher auswählbarer Programmabschnitte ausgewählt werden. Bevorzugt werden die grafischen Elemente auch in derjenigen Reihenfolge ausgeführt, wie sie vom Anwender auf dem Bildschirm angeordnet werden. Jedes der grafischen Elemente repräsentiert eines der strukturell vorgegebenen Programmabschnitte, für die ein prinzipieller Programmablauf in der Steuereinheit abgespeichert ist. Insbesondere weisen die grafischen Elemente eine entsprechende farbliche, bildliche, oder auch schriftliche Kennzeichnung auf, sodass es für den Anwender besonders einfach ist, die strukturell vorgegebenen Programmabschnitte zu finden und ihm einen entsprechenden Sinngehalt zuzuordnen. Das grafische Wiederholungselement ist dabei insbesondere ein am Bildschirm angeordneter Funktionsknopf, oder ein Bildelement (auch genannt „Icon“). Beim Aktivieren dieses Wiederholungselements, das insbesondere durch Antippen des Wiederholungselements auf einen berührungsempfindlichen Bildschirm oder das Anklicken andernfalls erfolgt, wird insbesondere das wiederholte Ausführen des Steuerprogramms zusammen mit der automatisierten Variation der Werte des zumindest einen Teils der Parameter gestartet. Vorteilhaft steht damit dem Anwender eine besonders intuitive und einfache Möglichkeit zur Verfügung, den prinzipiellen Ablauf durch das Zusammenfügen der vorgegebenen Programmabschnitte zu bestimmen, sowie das automatisierte Verfahren zum Verbessern der Werte der Parameter zu initiieren.
  • Gemäß einer weiteren vorteilhaften Ausführungsform weist das Verfahren weiterhin den Schritt auf:
    • - Ausführen des Steuerprogramms mit den abgespeicherten Werten der Parameter.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist jedes der grafischen Elemente einem der strukturell vorgegebenen Programmabschnitte und einer vordefinierten rückwärtigen Ausführung des jeweiligen Programmabschnitts zugeordnet, wobei von der Steuereinheit aus der Kombination der ausgewählten grafischen Elemente und mittels der den grafischen Elementen zugeordneten rückwärtigen Ausführungen eine Umkehrung des Steuerprogramms ermittelt wird, wobei die Umkehrung des Steuerprogramms strukturell derart ermittelt wird, dass sich der Robotermanipulator nach Ausführung des Steuerprogramms und anschließender Ausführung der Umkehrung des Steuerprogramms in seinem Anfangszustand wie vor Ausführung des Steuerprogramms befindet. Insbesondere dadurch, dass das Steuerprogramm automatisch wiederholt ausgeführt wird, ist ein wiederholter Start von einem Ausgangspunkt notwendig. Es wird unter Rücksichtnahme dieser Notwendigkeit vorteilhaft zunächst eine rückwärtige Ausführung des jeweiligen Programmabschnitts definiert. Weiterhin ermittelt die Steuereinheit aus der Gesamtheit der jeweiligen rückwärtigen Ausführungen der jeweiligen Programmabschnitte eine vollständige Umkehrung des Steuerprogramms. Die vollständige Umkehrung des Steuerprogramms entspricht daher nicht notwendigerweise nur der Aneinanderreihung der rückwärtigen Ausführungen der jeweiligen Programmabschnitte, vielmehr betrachtet die Steuereinheit zusätzlich insbesondere die Schnittstellen zwischen den rückwärtigen Ausführungen der jeweiligen Programmabschnitte, und daher insbesondere die Kompatibilität zwischen den rückwärtigen Ausführungen zueinander. Vorteilhaft wird dadurch sichergestellt, dass jede Wiederholung der Ausführung des Steuerprogramms durch vollständig zurückgeführte Zustände des Robotermanipulator erfolgt, sodass vorteilhaft nicht die einzelnen Ausführungen des Steuerprogramms miteinander wechselwirken und das Ergebnis bei der Überprüfung der Qualität der jeweiligen Ausführung des Steuerprogramms verfälschen.
  • Gemäß einer weiteren vorteilhaften Ausführungsform wird die ermittelte Qualität des jeweiligen Ergebnisses der jeweiligen Ausführung des Steuerprogramms zusammen mit dem Steuerprogramm und/oder zusammen mit bei der Ausführung des Steuerprogramms erfassten Prozessdaten an eine zentrale Recheneinheit übermittelt, wobei von der zentralen Recheneinheit zumindest eine aus den folgenden Funktionen bzw. Werte überprüft wird:
    • - die absoluten Werte der ermittelten Qualität,
    • - der Zusammenhang zwischen einem absoluten Wert der ermittelten Qualität und den Werten der Parameter der Programmabschnitte,
    • - die Sensitivität zwischen einer Änderung der Werte der Parameter der Programmabschnitte und der Änderung der ermittelten Qualität,
    • - während der Ausführung des Steuerprogramms als Prozessdaten erfassten Kräfte und/oder Momente zwischen dem Robotermanipulator und der Umgebung des Robotermanipulators,
    und wobei bei einer festgestellten Anomalie in den überprüften Funktionen bzw. Werten eine Warnung an eine Ausgabeeinheit des Robotermanipulators für den Anwender übermittelt wird und an der Ausgabeeinheit des Robotermanipulators ausgegeben wird. Die zentrale Recheneinheit ist insbesondere ein beim Hersteller des Robotermanipulators angeordneter Server, sodass die zentrale Recheneinheit insbesondere für eine Vielzahl von Steuereinheiten einer Vielzahl von Robotermanipulatoren die durch diese ausgeführten Steuerprogramme auf Anomalien überprüft. Vorteilhaft liefert dabei auch die zentrale Recheneinheit den initialen Satz von Werten der Parameter für die Programmabschnitte, sodass dieser initiale Satz von Werten der Parameter an in der Vergangenheit festgestellte Anomalien angepasst werden kann. Dies erhöht vorteilhaft die Effizienz bei der Optimierung der Werte der Parameter des Steuerprogramms, indem verbesserte Startwerte als besserer Ausgangspunkt zum Finden eines globalen Optimums der Werte des Steuerprogramms verwendet werden können.
  • Gemäß einer weiteren vorteilhaften Ausführungsform sind die ausgewählten variierten Werte der Parameter aktuelle Werte nach einem Abbruch der wiederholten Ausführungen des Steuerprogramms, wobei die wiederholten Ausführungen des Steuerprogramms abgebrochen werden, wenn die aktuell ermittelte Qualität des Ergebnisses der aktuellen Ausführung dem vorgegebenen Gütekriterium entspricht. Gemäß dieser Ausführungsform wird die ermittelte Qualität des Ergebnisses laufend im Verhältnis gegenüber dem vorgegebenen Gütekriterium bewertet. Entspricht nach einer Vielzahl von Änderungen der Werte der Parameter des Steuerprogramms das aktuelle Ergebnis bei der Ausführung des Steuerprogramms erstmalig dem vorgegebenen Gütekriterium, so wird vorteilhaft gemäß dieser Ausführungsform die wiederholte Ausführung des Steuerprogramms abgebrochen und die aktuell verwendeten Werte der Parameter des Steuerprogramms übernommen und abgespeichert.
  • Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Vorgeben des initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte durch Erfassen einer Vorgabe oder einer Eingabe eines Anwenders an der Steuereinheit. Insbesondere erfolgt die Vorgabe der initialen Werte von Parametern durch Eingabe von numerischen Werten an einem entsprechenden Eingabeelement der Steuereinheit. Die Eingabe des Anwenders unmittelbar an der Steuereinheit erfolgt dagegen bevorzugt durch manuelles Führen des Robotermanipulators, wobei hier insbesondere Parameterwerte wie eine Geschwindigkeit, eine Beschleunigung oder eine Pose des Robotermanipulators vorgegeben werden können. Vorteilhaft entspricht gemäß dieser Ausführungsform der initiale Satz von Werten der Parameter direkt den Vorstellungen des Anwenders, ohne auch dafür weiter weg liegende Standardwerte zurückgreifen zu müssen.
  • Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Vorgeben des initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte durch Erfassen einer Vorgabe der zentralen Recheneinheit an der Steuereinheit. Die zentrale Recheneinheit ist bevorzugt mit einer zentralen Steuereinheit eines Experimentalrobotermanipulators verbunden. Dieser zentrale Experimentalroboter führt vorteilhaft eine Vielzahl von Aufgaben aus, für die entsprechende Programmabschnitte verwendet werden. Für diese verwendeten Programmabschnitte werden bevorzugt durch den Experimentalrobotermanipulator durch die zentrale Recheneinheit initiale Werte der Parameter bereits empirisch ausgelegt, sodass mit hoher Wahrscheinlichkeit am verwendeten Robotermanipulator gute Startwerte für die Parameter der einzelnen Programmabschnitte verwendet werden. Die zentrale Recheneinheit übermittelt dabei die vom Experimentalroboter ermittelten Werte für die einzelnen Programmabschnitte und übermittelt sie an die Steuereinheit des jeweiligen verwendeten Robotermanipulators, wo sie als Initialsatz von Werten für die Parameter der ausgewählten und zusammengesetzten Programmabschnitte verwendet werden.
  • Gemäß einer weiteren vorteilhaften Ausführungsform weist das Verfahren weiterhin den Schritt auf:
    • - Ermitteln von Grenzwerten bezüglich Prozessdaten, wobei die Grenzwerte zum Ermitteln von Fehlerfällen bei der späteren Ausführungen im späteren Betrieb des Robotermanipulators dienen und Abspeichern der ermittelten Grenzwerte in der Steuereinheit.
  • Prozessdaten sind insbesondere durch Sensoren selbst oder auf Basis von Sensorsignalen ermittelte Werte, die beim aktuellen und späteren Ausführen des Steuerprogramms erfasst werden können. Dies betrifft insbesondere Geschwindigkeiten, Beschleunigungen, Gelenkwinkelmomente, oder andere Daten über den Robotermanipulator selbst während der Ausführung der Aufgabe durch Ausführen des Steuerprogramms, sowie insbesondere Kräfte und/oder Momente, die zwischen einem Teil des Robotermanipulators und einem Objekt aus der Umgebung des Robotermanipulators wirken. Sind sämtliche strukturellen Vorgaben bezüglich des Steuerprogramms abgeschlossen, und anschließend auch die Werte der Parameter für das Steuerprogramm festgelegt, so ist das Steuerprogramm grundsätzlich ausführbar. Diese Ausführung des Steuerprogramms beinhaltet jedoch nicht die an ein Steuerprogramm oder an eine Situation angepassten Überwachungswerte zum Ermitteln einer unerwünschten Kollision, eines Fehlerfalls, eines Schadensfalls, oder anderes. Vorteilhaft wird durch diese Ausführungsform bei der wiederholten Ausführung des Steuerprogramms einer oder ein ganzer Satz von Grenzwerten bezüglich der Prozessdaten festgelegt, die auf eine nominale Ausführung des Steuerprogramms schließen lassen. Dies erfolgt ebenfalls insbesondere aus den empirischen Daten, das heißt insbesondere aus den empirisch ermittelten Prozessdaten, wobei insbesondere über die ermittelte Qualität für jede einzelne Ausführung des Steuerprogramms abgeleitet werden kann, ob ein Fehlerfall, eine Störung oder Ähnliches (siehe oben) bei der Ausführung des Steuerprogramms vorlag.
  • Gemäß einer weiteren vorteilhaften Ausführungsform werden die Variationen der Werte des zumindest einen Teils der Parameter durch eine in einer zentralen Recheneinheit ausgeführten Optimierung ermittelt. Gemäß dieser Ausführungsform werden die Variationen der Werte des zumindest einen Teils der Parameter systematisch, zumindest algorithmisch systematisch, ermittelt. Eine direkte Systematik ergibt sich bei der Ermittlung durch Ausführen einer nichtlinearen Optimierung in der zentralen Recheneinheit durch deterministische Methoden wie einem gradientenbasierten Verfahren oder der quadratischen Optimierung. Solche Methoden ändern die Werte der Parameter insbesondere so, dass eine möglichst schnelle Änderung der Parameterwerte in Richtung eines globalen Optimums zu einer optimalen Qualität der Ausführung des Steuerprogramms ermöglicht wird. Dagegen beinhalten indirekt systematische, insbesondere algorithmisch systematische nichtlineare Optimierungsalgorithmen, die auf der zentralen Recheneinheit ausgeführt werden, das Verwenden von Zufallsfunktionen, wie beispielsweise bei genetischen Algorithmen oder Evolutionsalgorithmen. Die Konvergenzrate kann bei einer solchen nichtlinearen Optimierung nicht deterministisch vorhergesagt werden, jedoch bieten die Algorithmen eine konsistente Ausführung einer nichtlinearen Optimierung. Vorteilhaft wird gemäß dieser Ausführungsform die unter Umständen verfügbare erhöhte Rechenkapazität der zentralen Recheneinheit ausgenutzt, sowie weiterhin vorteilhaft eine Vielzahl von Steuerprogrammen aus einer Vielzahl von Robotermanipulatoren zentral optimiert, sodass Synergie-Effekte an der zentralen Recheneinheit dabei ausgenutzt werden können.
  • Ein weiterer Aspekt der Erfindung betrifft eine Steuereinheit zum Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator, wobei die Steuereinheit ausgeführt ist zum:
    • - Auswählen von strukturell vorgegebenen Programmabschnitten und Zusammensetzen der ausgewählten Programmabschnitte zur strukturellen Definition des Steuerprogramms des Robotermanipulators,
    • - Vorgeben eines initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte, wobei die ausgewählten und zusammengesetzten Programmabschnitte mit ihren Parametern das Steuerprogramm bilden,
    • - automatischen, wiederholten Ausführen des Steuerprogramms unter Variationen von Werten von zumindest einem Teil der Parameter,
    • - Ermitteln einer Qualität eines jeweiligen Ergebnisses der jeweiligen Ausführung des Steuerprogramms, und
    • - Abspeichern von ausgewählten variierten Werten des zumindest einen Teils der Parameter, wobei die Steuereinheit dazu ausgeführt ist, die abzuspeichernden Werte des Teils der Parameter gemäß der ermittelten Qualität nach einem vorgegebenen Gütekriterium auszuwählen.
  • Vorteile und bevorzugte Weiterbildungen der vorgeschlagenen Steuereinheit ergeben sich durch eine analoge und sinngemäße Übertragung der im Zusammenhang mit dem vorgeschlagenen Verfahren vorstehend gemachten Ausführungen.
  • Weitere Vorteile, Merkmale und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung, in der - gegebenenfalls unter Bezug auf die Zeichnung - zumindest ein Ausführungsbeispiel im Einzelnen beschrieben ist. Gleiche, ähnliche und/oder funktionsgleiche Teile sind mit gleichen Bezugszeichen versehen.
  • Es zeigen:
    • 1 ein Verfahren um Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator gemäß einem Ausführungsbeispiel der Erfindung,
    • 2 grafische Elemente auf einem Bildschirm gemäß einem Ausführungsbeispiel der Erfindung, und
    • 3 eine Steuereinheit zum Ausführen des Verfahrens nach 1.
  • Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.
  • 1 zeigt ein Verfahren zum Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator 1. In einem ersten Schritt erfolgt das Auswählen S1 von strukturell vorgegebenen Programmabschnitten und Zusammensetzen der ausgewählten Programmabschnitte zur strukturellen Definition des Steuerprogramms. Die Steuereinheit 3 des Robotermanipulators 1 erfasst die Reihenfolge der durch Ziehen und Loslassen von grafischen Elementen 7 durch einen Anwender ausgewählten grafischen Elemente 7, wobei die grafischen Elemente 7 auf einem Bildschirm 5 dargestellt werden und jedes der grafischen Elemente 7 einem der strukturellen vorgegebenen Programmabschnitte zugeordnet ist. Ein solcher Bildschirm 5 mit den jeweiligen grafischen Elementen 7 ist in der 2 dargestellt. Die Bezugszeichen der hier gemachten Erläuterungen können dabei direkt auf die 2 bezogen werden. Auf dem Bildschirm 5 sind zwei Bereiche voneinander abgegrenzt, wobei der untere Bereich ein Reservoir von möglichen und auswählbaren grafischen Elementen 7 beinhaltet, die die Gesamtheit der durch die Steuereinheit 3 des Robotermanipulators 1 ausführbaren Programmabschnitte auflistet. Durch Ziehen und Loslassen in den oberen Bereich in einer entsprechend gewünschten Reihenfolge wird strukturell das Steuerprogramm definiert. Außerdem ist jedes der grafischen Elemente 7 einer vordefinierten rückwärtigen Ausführung des jeweiligen Programmabschnitts zugeordnet, wobei von der Steuereinheit 3 aus der Kombination der ausgewählten grafischen Elemente 7 und mittels der den grafischen Elementen 7 zugeordneten rückwärtigen Ausführungen eine Umkehrung des Steuerprogramms ermittelt wird, wobei die Umkehrung des Steuerprogramms strukturell derart ermittelt wird, dass sich der Robotermanipulator 1 nach Ausführung des Steuerprogramms und anschließender Ausführung der Umkehrung des Steuerprogramms in seinem Anfangszustand wie vor Ausführung des Steuerprogramms befindet. Im weiteren Schritt erfolgt das Vorgeben S2 eines initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte, wobei die ausgewählten und zusammengesetzten Programmabschnitte mit ihren Parametern das Steuerprogramm bilden. Das Vorgeben des initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte erfolgt hierbei durch Erfassen einer Eingabe eines Anwenders in Form einer haptischen Geste mittelbar an der Steuereinheit 3, die die manuellen Bewegungen beim Führen des Robotermanipulators 1 durch den Anwender aufzeichnet. Es folgt hierauf, auf eine Eingabe des Anwenders hin, nämlich durch Aktivieren des am Bildschirm 5 angezeigten grafischen Wiederholungselements 9, das automatisch wiederholte Ausführen S3 des Steuerprogramms unter Variationen von Werten von zumindest einem Teil der Parameter durch die Steuereinheit 3, wobei die Variationen der Werte des zumindest einen Teils der Parameter durch eine in einer zentralen Recheneinheit 13 ausgeführten Optimierung ermittelt werden. Diese zentralen Recheneinheit 13 ist in der 3 dargestellt. Das Ermitteln S4 einer Qualität eines jeweiligen Ergebnisses der jeweiligen Ausführung des Steuerprogramms erfolgt durch Prüfung, ob das Steuerprogramm zur vollständigen Ausführung einer Aufgabe geführt hat, was durch die externe Anwendereingabe bezüglich des Erfolgs erfolgt, sowie, in welcher Zeit die Ausführung des Steuerprogramms erfolgt und ob dabei ein Abnutzungsgrad am Robotermanipulator 1 unter einem vorgegebenen Grenzwert verblieben ist. Im weiteren Schritt erfolgt das Abspeichern S5 von ausgewählten variierten Werten des zumindest einen Teils der Parameter in der Steuereinheit 3, wobei die abzuspeichernden Werte des Teils der Parameter gemäß der ermittelten Qualität nach einem vorgegebenen Gütekriterium ausgewählt werden. Im weiteren Schritt erfolgt das Ermitteln S6 von Grenzwerten bezüglich Prozessdaten, wobei die Grenzwerte zum Ermitteln von Fehlerfällen bei der späteren Ausführungen im späteren Betrieb des Robotermanipulators dienen und das Abspeichern der ermittelten Grenzwerte in der Steuereinheit 3 zum späteren Gebrauch.
  • 2 zeigt die in 1 erwähnten grafischen Elemente 7 sowie das grafische Wiederholungselement 9, welche allesamt auf dem Bildschirm 5 dargestellt werden. Ein solcher Bildschirm 5 ist auch in der 3 dargestellt. Daher wird auf die Beschreibungen der 1 sowie der 3 verwiesen.
  • 3 zeigt eine Steuereinheit 3 zum Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator 1. Auf dieser Steuereinheit 3 wird das Steuerprogramm und das gesamte Verfahren, wie unter 1 beschrieben ausgeführt. Der Bildschirm 5 ist dabei der Bildschirm 5 eines Anwenderrechners, der direkt mit der Steuereinheit 3 des Robotermanipulators 1 verbunden ist. Die Steuereinheit 3 ist dabei eine vom Anwenderrechner separierte Recheneinheit, die einer Basis des Robotermanipulators 1 angeordnet ist. Die Steuereinheit 3 ist ausgeführt zum:
    • - Auswählen von strukturell vorgegebenen Programmabschnitten und Zusammensetzen der ausgewählten Programmabschnitte zur strukturellen Definition des Steuerprogramms des Robotermanipulators 1,
    • - Vorgeben eines initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte, wobei die ausgewählten und zusammengesetzten Programmabschnitte mit ihren Parametern das Steuerprogramm bilden,
    • - automatisches, wiederholtes Ausführen des Steuerprogramms unter Variationen von Werten von zumindest einem Teil der Parameter,
    • - Ermitteln einer Qualität eines jeweiligen Ergebnisses der jeweiligen Ausführung des Steuerprogramms, und
    • - Abspeichern von ausgewählten variierten Werten des zumindest einen Teils der Parameter, wobei die Steuereinheit 3 dazu ausgeführt ist, die abzuspeichernden Werte des Teils der Parameter gemäß der ermittelten Qualität nach einem vorgegebenen Gütekriterium auszuwählen.
  • Hier wird die ermittelte Qualität des jeweiligen Ergebnisses zusammen mit dem Steuerprogramm und/oder zusammen mit bei der Ausführung des Steuerprogramms erfassten Prozessdaten an die zentrale Recheneinheit 13 übermittelt, wobei von der zentralen Recheneinheit 13 zumindest eine aus den folgenden Funktionen bzw. Werte überprüft wird:
    • - die absoluten Werte der ermittelten Qualität,
    • - der Zusammenhang zwischen einem absoluten Wert der ermittelten Qualität und den Werten der Parameter der Programmabschnitte,
    • - die Sensitivität zwischen einer Änderung der Werte der Parameter der Programmabschnitte und der Änderung der ermittelten Qualität,
    und wobei bei einer festgestellten Anomalie in den überprüften Funktionen bzw. Werten eine Warnung an den als Ausgabeeinheit 11 fungierenden Bildschirm 5 für den Anwender übermittelt wird und an der Ausgabeeinheit 11 ausgegeben wird.
  • Bezugszeichenliste
  • 1
    Robotermanipulator
    3
    Steuereinheit
    5
    Bildschirm
    7
    Elemente
    9
    Wiederholungselement
    11
    Ausgabeeinheit
    13
    zentrale Recheneinheit
    S1
    Auswählen
    S2
    Vorgeben
    S3
    Ausführen
    S4
    Ermitteln
    S5
    Abspeichern
    S6
    Ermitteln

Claims (10)

  1. Verfahren zum Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator (1), aufweisend die Schritte: - Auswählen (S1) von strukturell vorgegebenen Programmabschnitten und Zusammensetzen der ausgewählten Programmabschnitte zur strukturellen Definition des Steuerprogramms durch eine Steuereinheit (3) des Robotermanipulators (1), - Vorgeben (S2) eines initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte, wobei die ausgewählten und zusammengesetzten Programmabschnitte mit ihren Parametern das Steuerprogramm bilden, - automatisches, wiederholtes Ausführen (S3) des Steuerprogramms unter Variationen von Werten von zumindest einem Teil der Parameter durch die Steuereinheit (3), - Ermitteln (S4) einer Qualität eines jeweiligen Ergebnisses der jeweiligen Ausführung des Steuerprogramms, und - Abspeichern (S5) von ausgewählten variierten Werten des zumindest einen Teils der Parameter in der Steuereinheit (3), wobei die abzuspeichernden Werte des Teils der Parameter gemäß der ermittelten Qualität nach einem vorgegebenen Gütekriterium ausgewählt werden.
  2. Verfahren nach Anspruch 1, wobei das Auswählen der strukturell vorgegebenen Programmabschnitte für das Steuerprogramm durch Ziehen und Loslassen von grafischen Elementen (7) durch einen Anwender erfolgt, wobei die grafischen Elemente (7) auf einem Bildschirm (5) dargestellt werden und jedes der grafischen Elemente (7) einem der strukturellen vorgegebenen Programmabschnitte zugeordnet ist, wobei das automatisch wiederholte Ausführen des Steuerprogramms auf eine Eingabe des Anwenders hin, insbesondere durch Aktivieren eines am Bildschirm (5) angezeigten grafischen Wiederholungselements (9), erfolgt.
  3. Verfahren nach Anspruch 2, wobei jedes der grafischen Elemente (7) einem der strukturell vorgegebenen Programmabschnitte und einer vordefinierten rückwärtigen Ausführung des jeweiligen Programmabschnitts zugeordnet ist, wobei von der Steuereinheit (3) aus der Kombination der ausgewählten grafischen Elemente (7) und mittels der den grafischen Elementen (7) zugeordneten rückwärtigen Ausführungen eine Umkehrung des Steuerprogramms ermittelt wird, wobei die Umkehrung des Steuerprogramms strukturell derart ermittelt wird, dass sich der Robotermanipulator (1) nach Ausführung des Steuerprogramms und anschließender Ausführung der Umkehrung des Steuerprogramms in seinem Anfangszustand wie vor Ausführung des Steuerprogramms befindet.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die ermittelte Qualität des jeweiligen Ergebnisses zusammen mit dem Steuerprogramm und/oder zusammen mit bei der Ausführung des Steuerprogramms erfassten Prozessdaten an eine zentrale Recheneinheit (13) übermittelt wird, wobei von der zentralen Recheneinheit (13) zumindest eine aus den folgenden Funktionen bzw. Werte überprüft wird: - die absoluten Werte der ermittelten Qualität, - der Zusammenhang zwischen einem absoluten Wert der ermittelten Qualität und den Werten der Parameter der Programmabschnitte, - die Sensitivität zwischen einer Änderung der Werte der Parameter der Programmabschnitte und der Änderung der ermittelten Qualität, - während der Ausführung des Steuerprogramms als Prozessdaten erfassten Kräfte und/oder Momente zwischen dem Robotermanipulator (1) und der Umgebung des Robotermanipulators (1), und wobei bei einer festgestellten Anomalie in den überprüften Funktionen bzw. Werten eine Warnung an eine Ausgabeeinheit (11) des Robotermanipulators (1) für den Anwender übermittelt wird und an der Ausgabeeinheit (11) des Robotermanipulators (1) ausgegeben wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die ausgewählten variierten Werte der Parameter aktuelle Werte nach einem Abbruch der wiederholten Ausführungen des Steuerprogramms sind, wobei die wiederholten Ausführungen des Steuerprogramms abgebrochen werden, wenn die aktuell ermittelte Qualität des Ergebnisses der aktuellen Ausführung dem vorgegebenen Gütekriterium entspricht.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Vorgeben des initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte durch Erfassen einer Vorgabe oder einer Eingabe eines Anwenders an der Steuereinheit (3) erfolgt.
  7. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Vorgeben des initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte durch Erfassen einer Vorgabe der zentralen Recheneinheit (13) an der Steuereinheit (3) erfolgt.
  8. Verfahren nach einem der vorhergehenden Ansprüche, weiterhin aufweisend den Schritt: - Ermitteln (S6) von Grenzwerten bezüglich Prozessdaten, wobei die Grenzwerte zum Ermitteln von Fehlerfällen bei der späteren Ausführungen im späteren Betrieb des Robotermanipulators dienen und Abspeichern der ermittelten Grenzwerte in der Steuereinheit (3).
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Variationen der Werte des zumindest einen Teils der Parameter durch eine in einer zentralen Recheneinheit (13) ausgeführten Optimierung ermittelt werden.
  10. Steuereinheit (3) zum Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator (1), wobei die Steuereinheit (3) ausgeführt ist zum: - Auswählen von strukturell vorgegebenen Programmabschnitten und Zusammensetzen der ausgewählten Programmabschnitte zur strukturellen Definition des Steuerprogramms des Robotermanipulators (1), - Vorgeben eines initialen Satzes von Werten von Parametern für die ausgewählten und zusammengesetzten Programmabschnitte, wobei die ausgewählten und zusammengesetzten Programmabschnitte mit ihren Parametern das Steuerprogramm bilden, - automatisches, wiederholtes Ausführen des Steuerprogramms unter Variationen von Werten von zumindest einem Teil der Parameter, - Ermitteln einer Qualität eines jeweiligen Ergebnisses der jeweiligen Ausführung des Steuerprogramms, und - Abspeichern von ausgewählten variierten Werten des zumindest einen Teils der Parameter, wobei die Steuereinheit (3) dazu ausgeführt ist, die abzuspeichernden Werte des Teils der Parameter gemäß der ermittelten Qualität nach einem vorgegebenen Gütekriterium auszuwählen.
DE102020103852.6A 2020-02-14 2020-02-14 Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator Active DE102020103852B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102020103852.6A DE102020103852B4 (de) 2020-02-14 2020-02-14 Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
PCT/EP2021/053128 WO2021160634A1 (de) 2020-02-14 2021-02-10 Erzeugen und optimieren eines steuerprogramms für einen robotermanipulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020103852.6A DE102020103852B4 (de) 2020-02-14 2020-02-14 Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator

Publications (2)

Publication Number Publication Date
DE102020103852A1 DE102020103852A1 (de) 2021-08-19
DE102020103852B4 true DE102020103852B4 (de) 2022-06-15

Family

ID=74853609

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020103852.6A Active DE102020103852B4 (de) 2020-02-14 2020-02-14 Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator

Country Status (2)

Country Link
DE (1) DE102020103852B4 (de)
WO (1) WO2021160634A1 (de)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010012598A1 (de) 2010-02-26 2011-09-01 Kuka Laboratories Gmbh Prozessmodulbibliothek und Programmierumgebung zur Programmierung eines Manipulatorprozesses
DE102015204641A1 (de) 2014-06-03 2015-12-03 ArtiMinds Robotics GmbH Verfahren und System zur Programmierung eines Roboters
DE102011082800B4 (de) 2011-09-15 2016-04-14 Convergent Information Technologies Gmbh System und Verfahren zur automatisierten Erstellung von Roboterprogrammen
DE102016010945B3 (de) 2016-09-09 2017-10-26 Dürr Systems Ag Optimierungsverfahren für einen Beschichtungsroboter und entsprechende Beschichtungsanlage
DE102014112639B4 (de) 2014-09-02 2018-02-08 Cavos Bagatelle Verwaltungs Gmbh & Co. Kg System zum Erstellen von Steuerungsdatensätzen für Roboter
DE102018204740A1 (de) 2017-03-31 2018-10-04 Fanuc Corporation Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010092981A1 (ja) * 2009-02-12 2010-08-19 三菱電機株式会社 産業用ロボットシステム
DE102017202439B4 (de) * 2017-02-15 2022-03-31 Festo Se & Co. Kg Eingabeeinrichtung, Verfahren zur Bereitstellung von Bewegungsbefehlen an einen Aktor und Aktorsystem
US10828778B2 (en) * 2017-11-30 2020-11-10 Abb Schweiz Ag Method for operating a robot
EP3784451A1 (de) * 2018-06-15 2021-03-03 Google LLC Tiefenverstärkungslernen für robotische manipulation
DE202019101831U1 (de) * 2019-04-01 2019-05-13 Franka Emika Gmbh System zum Entwickeln von Steuerprogrammen für Robotermanipulatoren

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010012598A1 (de) 2010-02-26 2011-09-01 Kuka Laboratories Gmbh Prozessmodulbibliothek und Programmierumgebung zur Programmierung eines Manipulatorprozesses
DE102011082800B4 (de) 2011-09-15 2016-04-14 Convergent Information Technologies Gmbh System und Verfahren zur automatisierten Erstellung von Roboterprogrammen
DE102015204641A1 (de) 2014-06-03 2015-12-03 ArtiMinds Robotics GmbH Verfahren und System zur Programmierung eines Roboters
DE102014112639B4 (de) 2014-09-02 2018-02-08 Cavos Bagatelle Verwaltungs Gmbh & Co. Kg System zum Erstellen von Steuerungsdatensätzen für Roboter
DE102016010945B3 (de) 2016-09-09 2017-10-26 Dürr Systems Ag Optimierungsverfahren für einen Beschichtungsroboter und entsprechende Beschichtungsanlage
DE102018204740A1 (de) 2017-03-31 2018-10-04 Fanuc Corporation Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren

Also Published As

Publication number Publication date
WO2021160634A1 (de) 2021-08-19
DE102020103852A1 (de) 2021-08-19

Similar Documents

Publication Publication Date Title
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE112010000775B4 (de) Industrierobotersystem
DE112009003656B4 (de) Verfahren und System zur In-Produktionsoptimierung der Parameter eines zur Montage verwendeten Roboters
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102015002348B4 (de) Robotersteuerung mit der Funktion, den Lehrvorgang zu vereinfachen und die Bewegungsfähigkeit des Roboters zu verbessern
DE102017003943A1 (de) Zellensteuervorrichtung zum Optimieren von Bewegungen eines Produktionssystems, das Industriemaschinen umfasst
DE102019118637B4 (de) Automatische pfadgenerierungsvorrichtung
DE102008008500B3 (de) Verfahren zur rechnergestützten Konfiguration eines technischen Systems
DE102019006725A1 (de) Steuereinrichtung und Steuersystem
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
EP3374135B1 (de) Verfahren zum vereinfachten ändern von applikationsprogrammen zur steuerung einer industrieanlage
WO2021001312A1 (de) Durchführen einer applikation mithilfe wenigstens eines roboters
DE102019120633B4 (de) Verfahren zur automatischen Bewegung eines Arbeitsgeräts sowie Arbeitsgerät
EP3760390A1 (de) Durchführen einer vorgegebenen aufgabe mithilfe wenigstens eines roboters
DE112019007889T5 (de) Bearbeitungsprogramm-umwandlungseinrichtung, numerische-steuereinrichtung und bearbeitungsprogramm-umwandlungsverfahren
DE202014010055U1 (de) Akustische Teach-Hilfe zum leichten Erkennen von Arbeitsraumgrenzen und singulären Stellungen
EP1302828A2 (de) Verfahren und Programmsteuersystem zur Steuerung einer Beschichtungsanlage
DE102020103852B4 (de) Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
EP3710900A1 (de) Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls
DE112019007579T5 (de) Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät
DE102020200165A1 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102019128583B4 (de) Optimierungsmodi für Steuerprogramme eines Robotermanipulators
DE112008003870T5 (de) Verfahren und System zum Steuern eines Industrieroboters in Übereinstimmung mit einem Bewegungssteuerungs-Parametersatz
DE102018216561A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Strategie eines Agenten
EP3710207B1 (de) Qualitätssicherung eines prozesses

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final