DE102022124067A1 - Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs, Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbares Medium - Google Patents

Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs, Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbares Medium Download PDF

Info

Publication number
DE102022124067A1
DE102022124067A1 DE102022124067.3A DE102022124067A DE102022124067A1 DE 102022124067 A1 DE102022124067 A1 DE 102022124067A1 DE 102022124067 A DE102022124067 A DE 102022124067A DE 102022124067 A1 DE102022124067 A1 DE 102022124067A1
Authority
DE
Germany
Prior art keywords
robot
work process
data
computing device
electronic computing
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
DE102022124067.3A
Other languages
English (en)
Inventor
Johannes Klepsch
Yannick van Dijk
Philipp ROSS
Andre Luckow
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.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
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 Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102022124067.3A priority Critical patent/DE102022124067A1/de
Priority to PCT/EP2023/074160 priority patent/WO2024061602A2/de
Publication of DE102022124067A1 publication Critical patent/DE102022124067A1/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41875Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by quality surveillance of production
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • 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/32352Modular modeling, decompose large system in smaller systems to simulate

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Ermitteln wenigstens eines von wenigstens einem Roboter auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils. Mittels einer elektronischen Recheneinrichtung werden Produktdaten ermittelt, welche das wenigstens eine mittels des Roboters bei dem wenigstens einen Arbeitsvorgang zu bearbeitende Bauteil charakterisieren. Mittels der elektronischen Recheneinrichtung: werden Anlagendaten ermittelt, welche eine zumindest den Roboter umfassende Anlage zum Ausführen des wenigstens einen Arbeitsvorgangs charakterisieren. Mittels der elektronischen Recheneinrichtung wird ein die Anlage und das Bauteil nachbildendes Simulationsmodells auf Basis der Produktdaten und der Anlagendaten erzeugt. Mittels der elektronischen Recheneinrichtung wird einer Simulation mittels des Simulationsmodells durchgeführt, wodurch mittels der elektronischen Recheneinrichtung Prozessdaten ermittelt werden, welche mehrere Schrittgruppen beschreiben, wobei die jeweilige Schrittgruppen mehrere, voneinander unterschiedliche Teilschritte des Arbeitsvorgangs umfasst. Mittels der elektronischen Recheneinrichtung wird eine Zielfunktion eines Optimierungsproblems erstellt, dessen Zielfunktion die Teilschritte der Schrittgruppen als Parameter umfasst.

Description

  • Die Erfindung betrifft ein Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils. Die Erfindung betrifft auch ein Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs zum Bearbeiten eines Bauteils. Die Erfindung betrifft auch eine Vorrichtung zur Datenverarbeitung, ein Computerprogramm und ein computerlesbares Medium.
  • Die DE 10 2012 218 297 B4 offenbart ein Verfahren zum Optimieren einer Steuerung einer Maschine. Aus der US 8 886 359 B2 ist ein Roboter bekannt. Die JP 6457473 B2 offenbart eine Einrichtung zum maschinellen Lernen, ein Robotersystem und ein Verfahren zum maschinellen Lernen. Aus der JP 2013-99815 A ist ein Offline-Roboter-Programmiergerät bekannt. Außerdem ist der DE 10 2014 216 514 B3 ein Verfahren zum Programmieren eines Industrieroboters als bekannt zu entnehmen. Ferner ist aus der EP 3 685 968 A1 ein Optimierungsverfahren bekannt.
  • Aufgabe der vorliegenden Erfindung ist es, ein Verfahren, eine Vorrichtung, ein Computerprogramm und ein computerlesbares Medium zu schaffen, so dass Produkte zeit- und kostengünstig hergestellt werden können.
  • Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Patentanspruchs 1, durch ein Verfahren mit den Merkmalen des Patentanspruchs 7, durch eine Vorrichtung mit den Merkmalen des Patentanspruchs 8, durch ein Computerprogramm mit den Merkmalen des Patentanspruchs 9 sowie durch ein computerlesbares Medium mit den Merkmalen des Patentanspruchs 10 gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der abhängigen Ansprüche.
  • Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Ermitteln wenigstens eines von einem Roboter auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils. Beispielsweise ist der Arbeitsvorgang ein Arbeitsvorgang zum Herstellen eines Produkts, welches beispielsweise aus dem Bauteil durch Bearbeiten des Bauteils hergestellt wird. Unter dem Ermitteln des Arbeitsvorgangs kann insbesondere ein Ermitteln eines einfach auch als Programm bezeichneten Computerprogramms verstanden werden, gemäß welchem der Roboter betrieben werden kann, derart, dass der Roboter den Arbeitsvorgang ausführt und dadurch das Bauteil bearbeitet, insbesondere das Produkt herstellt. Mit anderen Worten kann der Arbeitsvorgang durch ein einfach auch als Programm bezeichnetes Computerprogramm beschrieben oder charakterisiert werden, wobei das Computerprogramm Befehle umfasst, die bewirken, dass der Roboter den Arbeitsvorgang ausführt, insbesondere wenn das Computerprogramm durch einen Computer ausgeführt wird, wobei der Computer beispielsweise durch Ausführen des Computerprogramms den Roboter ansteuert. Ferner kann der Computer Bestandteil des Roboters sein.
  • Bei einem ersten Schritt des Verfahrens werden mittels einer elektronischen Recheneinrichtung, welche beispielsweise den zuvor genannten Computer und/oder einen anderen, weiteren Computer umfassen kann, Produktdaten ermittelt, welche das wenigstens eine mittels des Roboters bei dem wenigstens einen Arbeitsvorgang zu bearbeitende Bauteil charakterisieren beziehungsweise beschreiben. Die Produktdaten werden beispielsweise derart ermittelt, dass die elektronische Recheneinrichtung die Produktdaten aus einem, insbesondere elektronischen, Datenspeicher abruft. Dies kann automatisch oder in Abhängigkeit von wenigstens einer insbesondere durch eine Person bewirkten Eingabe in die elektronische Recheneinrichtung erfolgen. Insbesondere wird das Verfahren mittels der elektronischen Recheneinrichtung durchgeführt, welche vorzugsweise ein anderer Computer als der Computer ist, der das zuvor genannte Roboterprogramm ausführt.
  • Bei einem zweiten Schritt des Verfahrens werden mittels der elektronischen Recheneinrichtung Anlagendaten ermittelt, welche eine zumindest den Roboter umfassende und auch als Herstellanlage bezeichnete Anlage zum Ausführen des wenigstens einen Arbeitsvorgangs charakterisieren. Die Anlagendaten können beispielsweise derart ermittelt werden, dass die elektronische Recheneinrichtung die Anlagendaten aus dem genannten Datenspeicher und/oder aus einem anderen, weiteren Datenspeicher abruft. Dies kann automatisch oder in Abhängigkeit von wenigstens einer durch die Person bewirkten Eingabe in die elektronische Recheneinrichtung erfolgen.
  • Bei einem dritten Schritt des Verfahrens werden mittels der elektronischen Recheneinrichtung Prozessdaten ermittelt, welche den wenigstens einen Arbeitsvorgangs charakterisieren. Die Prozessdaten können beispielsweise derart ermittelt werden, dass die elektronische Recheneinrichtung die Prozessdaten aus dem genannten Datenspeicher und/oder aus dem weiteren Datenspeicher und/oder aus einem wieder anderen, dritten Datenspeicher abruft. Dies kann automatisch oder in Abhängigkeit von wenigstens einer durch die Person bewirkten Eingabe in die elektronische Recheneinrichtung erfolgen.
  • Bei einem vierten Schritt des Verfahrens wird mittels der elektronischen Recheneinrichtung ein Simulationsmodell auf Basis der Produktdaten und der Anlagendaten und der Prozessdaten erzeugt, das heißt berechnet, wobei das Simulationsmodell zumindest die Anlage und das Bauteil nachbildet. Es ist erkennbar, dass die Produktdaten, die Anlagendaten und die Prozessdaten Eingangsdaten für oder in die Simulation sind.
  • Bei einem fünften Schritt des Verfahrens wird mittels der elektronischen Recheneinrichtung mittels des Simulationsmodells eine Simulation durchgeführt, wodurch mittels der elektronischen Recheneinrichtung Simulationsdaten ermittelt, insbesondere berechnet, werden, welche mehrere Schrittgruppen beschreiben oder charakterisieren, wobei die jeweilige Schrittgruppe mehrere, voneinander unterschiedliche Teilschritte des Arbeitsvorgangs umfasst. Es ist erkennbar, dass die Simulationsdaten Ausgangsdaten oder ein Ergebnis der Simulation sind. Insbesondere charakterisieren oder beschreiben beispielsweise die Simulationsdaten wenigstens eine jeweilige Eigenschaft des jeweiligen Teilschritts. Die jeweilige Eigenschaft des jeweiligen Teilschritts kann beispielsweise eine auch als Zeitspanne bezeichnete Dauer sein, die erforderlich ist, damit die Anlage, insbesondere der Roboter, den jeweiligen Teilschritt durchführt beziehungsweise ausführt. Mit anderen Worten ist die jeweilige Zeitspanne eine jeweilige Zeit des jeweiligen Teilschritts, wobei die Anlage, insbesondere der Roboter, die jeweilige Zeit benötigt, um den jeweiligen, zur jeweiligen Zeit gehörenden Teilschritt auszuführen. Dabei ist der Arbeitsvorgang erzeugbar, indem aus der jeweiligen, einfach auch als Gruppe bezeichneten Schrittgruppe genau einer der jeweiligen Teilschritte der jeweiligen Schrittgruppe ausgewählt wird und die ausgewählten Teilschritte aneinandergereiht werden. Führt also die Anlage, insbesondere der Roboter, die aneinandergereihten Teilschritte sukzessive aus, so führt der Roboter den Arbeitsvorgang aus, da die aneinandergereihten Teilschritte, insbesondere in Summe, den Arbeitsvorgang ergeben.
  • Bei einem sechsten Schritt des Verfahrens wird mittels der elektronischen Recheneinrichtung eine Zielfunktion eines Optimierungsproblems erstellt oder erzeugt, wobei die Zielfunktion die Teilschritte der Schrittgruppen als Parameter umfasst. Beispielsweise ist oder beschreibt die Zielfunktion eine Summe aller Zeitspannen der Teilschritte oder der Kombinationen der Teilschritte, wobei diese Funktion, mithin die Zielfunktion minimiert werden soll, um dadurch beispielsweise den Arbeitsvorgang hinsichtlich seiner Taktzeit zu optimieren, mithin eine oder die Kombination der Teilschritte aus den Schrittgruppe zu ermitteln, die dazu führt, dass der Arbeitsvorgang so kurz oder schnell wie möglich durchgeführt werden kann. Mit anderen Worten ermittelt die Simulation die Möglichkeiten oder die Kombination der Teilschritte aus den Schrittgruppen, um mittels der Anlage unter Berücksichtigung der Produktdaten den Arbeitsvorgang auszuführen. Aus diesen Möglichkeiten wird dann, insbesondere durch das Minimieren der Teilfunktion, beispielswiese die Variante, das heißt die Kombination oder die Möglichkeit gewählt, welche die geringste Zeit in Anspruch nimmt, mithin welche zu der geringsten Zeit, die für den Arbeitsvorgang, das heißt für dessen Durchführung erforderlich ist, führt. Die jeweilige Kombination oder Möglichkeit umfasst dabei beispielsweise aus der jeweiligen Schrittgruppe, insbesondere aus allen Schrittgruppen, genau einen der jeweiligen Teilschritte der jeweiligen Schrittgruppe.
  • Bei einem siebten Schritt des Verfahrens wird mittels der elektronischen Recheneinrichtung die Zielfunktion minimiert, wodurch aus der jeweiligen Schrittgruppe, insbesondere genau, einer der jeweiligen Teilschritte der jeweiligen Schrittgruppe ausgewählt wird und die ausgewählten Teilschritte aneinandergereiht werden, wodurch der Arbeitsvorgang gebildet, das heißt ermittelt, insbesondere berechnet, wird. Hintergrund der Erfindung ist insbesondere, dass der Arbeitsvorgang auf unterschiedliche Weisen durchgeführt, das heißt erstellt und durchgeführt werden kann, wobei sich die Weisen insbesondere dadurch voneinander unterscheiden, dass der Arbeitsvorgang aus den unterschiedlichen Teilschritten zusammengesetzt werden kann. Beispielsweise ist jeder Teilschritt für sich alleine betrachtet von der Anlage, insbesondere von dem Roboter, ausführbar, wofür die Anlage die jeweilige, genannte Zeitspanne benötigt. Die jeweiligen Teilschritte der jeweiligen Schrittgruppe unterscheiden sich beispielsweise dadurch voneinander, dass die jeweiligen Teilschritte der jeweiligen Schrittgruppe auf unterschiedliche Weisen ausgeführt werden können, insbesondere um das gleiche Ergebnis des jeweiligen Teilschritts zu erreichen. Ein Beispiel hierfür ist, dass beispielsweise eine auch als erste Roboterachse bezeichneter, erster Roboterarm des Roboters relativ zu einem auch als zweite Roboterachse bezeichneten, zweiten Roboterarm des Roboters beispielsweise ausgehend von einer Ausgangsstellung um eine Drehachse um 270 Grad in eine um die Drehachse verlaufende, erste Drehrichtung oder um 90 Grad in eine um die Drehachse verlaufende und der ersten Drehrichtung entgegengesetzte, zweite Drehrichtung gedreht werden kann. Die Drehung des ersten Roboterarms um 270 Grad in die erste Drehrichtung ist beispielsweise ein erster der Teilschritte einer ersten der Schrittgruppen, wobei beispielsweise die Drehung des ersten Roboterarms um 90 Grad in die zweite Drehrichtung ein zweiter der Teilschritte der ersten Schrittgruppe ist. Der erste Teilschritt und der zweite Teilschritt führen beispielsweise zum gleichen Ergebnis, welches insbesondere eine Position eines Werkzeugs des Roboters, insbesondere eines Punkts des Werkzeugs des Roboters, sein kann. Es ist erkennbar, dass je nach Anzahl der jeweiligen Teilschritte der jeweiligen Schrittgruppe und je nach Anzahl der Schrittgruppen eine hohe Anzahl von Kombinationsmöglichkeiten bestehen kann, auf die die jeweiligen Teilschritte miteinander kombiniert, das heißt aneinandergereiht werden können, um den Arbeitsvorgang zu bilden.
  • Das Optimierungsproblem und somit die Zielfunktion beschreiben eine beispielsweise als Minimierungsaufgabe ausgebildete und zu lösende Optimierungsaufgabe, welche durch Minimieren der Zielfunktion gelöst wird. Insbesondere kann beispielsweise die Zielfunktion derart ausgebildet oder derart ausgeprägt sein, dass durch Minimieren der Zielfunktion der Arbeitsvorgang aus den Teilschritten der Zielgruppen derart gebildet wird, dass der Arbeitsvorgang so schnell wie möglich durchgeführt wird, das heißt, dass eine zur Durchführung des Arbeitsvorgangs von der Anlage benötigte Zeitspanne so gering wie möglich ist. Die Minimierung der Zielfunktion und somit des Optimierungsproblems muss jedoch nicht notwendigerweise darin bestehen, dass der jeweils kürzeste Teilschritt der jeweiligen Schrittgruppe ausgewählt und somit die jeweils kürzesten Teilschritte aneinandergereiht werden, dass denkbar ist, dass wenn der Arbeitsvorgang insgesamt nicht mehr durchgeführt werden kann, wenn beispielsweise die Ausführung des kürzesten Teilschritts einer der Schrittgruppen die Ausführung des kürzesten Teilschritts einer anderen der Schrittgruppen nicht ermöglicht. Somit ergibt die Minimierung der Zielfunktion den Arbeitsvorgang, welcher ausführbar ist und beispielsweise bezogen auf alle möglichen, aus den Teilschritten zusammensetzbaren und durchführbaren Arbeitsvorgänge der kürzeste ist. Die Erfindung ermöglicht es somit, den Arbeitsvorgang gemäß der Zielfunktion zeit- und kostengünstig zu ermitteln und in der Folge beispielsweise das zuvor genannte, auch als Roboter bezeichnete Computerprogramm zeit- und kostengünstig zu ermitteln, insbesondere zu berechnen. Der Arbeitsvorgang ist oder beschreibt beispielsweise wenigstens einen Pfad, entlang welchem zumindest ein Teil des Roboters beim Ausführen des Arbeitsvorgangs zu bewegen ist oder bewegt wird. Somit ist das Verfahren eine Möglichkeit, eine auch als Roboterpfadplanung bezeichnete Pfadplanung zum Ermitteln des Arbeitsvorgangs und somit zum Ermitteln des Pfads besonders zeit- und kostengünstig sowie insbesondere zumindest teilautomatisiert, insbesondere vollautomatisiert, durchzuführen.
  • Nach erfolgter Roboterpfadplanung, das heißt nach dem Ermitteln des Arbeitsvorgangs, welcher besonders zeit- und kostengünstig ermittelt und somit geplant werden kann, kann mittels der Anlage und somit mittels des Roboters der Arbeitsvorgang tatsächlich ausgeführt werden, um dadurch das Bauteil zu bearbeiten und somit beispielsweise das zuvor genannte Produkt herzustellen. Somit ermöglicht die Erfindung eine zeit- und kostengünstige Herstellung des Produkts beziehungsweise von Produkten, insbesondere im Rahmen einer Serienfertigung.
  • Um das Bauteil besonders zeit- und kostengünstig bearbeiten und somit beispielsweise das Produkt besonders zeit- und kostengünstig herstellen zu können, ist es in weiterer Ausgestaltung der Erfindung vorgesehen, dass der Roboter mittels der elektronischen Recheneinrichtung oder mittels einer anderen, weiteren elektronischen Recheneinrichtung derart angesteuert und somit derart betrieben, insbesondere geregelt, wird, dass der Roboter den ermittelten Arbeitsvorgang ausführt.
  • Eine weitere Ausführungsform zeichnet sich dadurch aus, dass die Produktdaten eine, insbesondere äußere, Geometrie des Bauteils und/oder eine von dem Roboter zu meidende Störgeometrie charakterisieren. Unter der Störgeometrie ist eine Stelle oder sind Stellen zu verstehen, an die der Roboter beziehungsweise die Anlage nicht bewegt werden sollte oder kann, so dass unerwünschte Kollisionen vermieden werden können. Durch Berücksichtigung der Geometrie des Bauteils und/oder der Störgeometrie kann der Arbeitsvorgang besonders zeit- und kostengünstig ermittelt werden.
  • Bei einer weiteren, besonders vorteilhaften Ausführungsform der Erfindung ist es vorgesehen, dass die Anlagendaten gelenkig miteinander verbundene, auch als Roboterachsen bezeichnete Roboterarme des beispielsweise als Industrieroboter ausgebildeten Roboters charakterisieren. Die gelenkig miteinander verbundenen und somit beispielsweise rotatorisch und/oder translatorisch relativ zueinander bewegbaren Roboterarme ermöglichen eine Durchführung auf unterschiedliche Weisen, so dass durch Berücksichtigung der Roboterarme ein großer Lösungsraum geschaffen werden kann, innerhalb dessen der Arbeitsvorgang hinsichtlich der Zielfunktion besonders vorteilhaft ermittelt werden kann.
  • Eine weitere Ausführungsform zeichnet sich dadurch aus, dass die Anlagendaten wenigstens ein mittels des Roboters relativ zu dem Bauteil und insbesondere im Raum bewegbares und zum Ausführen des Arbeitsvorgangs vorgesehenes Werkzeug des Roboters charakterisieren. Durch Berücksichtigung des Werkzeugs kann der Arbeitsvorgang besonders präzise und ausführbar ermittelt werden.
  • Beispielsweise umfasst der Arbeitsvorgang, dass mittels des Roboters wenigstens eine beispielsweise als Kunststoffnaht ausgebildete und beispielsweise als Abdicht- und/oder Klebenaht ausgebildete Naht auf das Bauteil aufgebracht wird. Bei der Naht kann es sich um eine PVC-Naht (PVC - Polyvinylchlorid) handeln. Alternativ oder zusätzlich kann der Arbeitsvorgang erfassen, dass mittels des Roboters wenigstens eine Schweißung durchgeführt wird. Bei der Schweißung kann es sich um eine Punktschweißung handeln, oder bei der Schweißung wird eine Schweißnaht hergestellt. Durch die Schweißung wird das Bauteil beispielsweise mit wenigstens einem weiteren Bauteil verbunden. Das Werkzeug kann somit beispielsweise ein Applikationswerkzeug sein, um die zuvor genannte Naht, mithin einen die Naht bildenden Stoff wie beispielsweise einen Dichtstoff und/oder einen Klebstoff auf das Bauteil aufzubringen. Ferner kann das Werkzeug ein Schweißwerkzeug zum Durchführen der Schweißung sein. Der jeweilige Teilschritt wird auch als jeweilige Applikation bezeichnet.
  • Schließlich hat es sich als besonders vorteilhaft gezeigt, wenn die Prozessdaten wenigstens eine Trajektorie, entlang welcher zumindest ein Teil des Roboters zu bewegen ist, und/oder wenigstens eine Geschwindigkeit beschreiben oder charakterisieren, mit welcher zumindest ein Teil des Roboters insbesondere entlang der Trajektorie bewegbar ist. Beispielsweise kann es sich bei der Trajektorie um den zuvor genannten Pfad oder um einen Teil des Pfads handeln. Hintergrund dieser Ausführungsform ist, dass mehrere Trajektorien existieren können, entlang derer zumindest ein Teil des Roboters bewegt werden kann, um den jeweiligen Teilschritt und somit den Arbeitsvorgang auszuführen. Dabei muss nicht notwendigerweise die kürzeste Trajektorie diejenige sein, die dazu führt, dass der Arbeitsvorgang so kurz wie möglich dauert. Die Erfindung ermöglicht es, die Teilschritte und somit die Trajektorien derart aneinanderzureihen und somit derart aneinander zusammenzusetzen, dass der Arbeitsvorgang durch die Anlage ausführbar ist, wobei die Minimierung der Zielfunktion dazu führt, dass der ermittelte Arbeitsvorgang von dem grundsätzlich von der Anlage ausführbaren Arbeitsvorgang beispielsweise der kürzeste ist. Dadurch kann das Bauteil besonders zeit- und kostengünstig bearbeitet werden, so dass das Produkt besonders zeit- und kostengünstig hergestellt werden kann.
  • Ein zweiter Aspekt der Erfindung betrifft ein Verfahren zum Ermitteln und Prüfen wenigstens eines von einer Anlage auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils. Insbesondere umfasst die Anlage beispielsweise wenigstens einen Roboter. Bei dem Verfahren des zweiten Aspekts der Erfindung sind in wenigstens einem Datenspeicher Konstruktionsdaten gespeichert, welche mehrere voneinander unterschiedliche Produkte charakterisieren. In dem Datenspeicher sind auch Anlagendaten gespeichert, welche mehrere, voneinander unterschiedliche Anlagen zum Durchführen von Herstellschritten charakterisieren. Mittels einer elektronischen Recheneinrichtung wird in Abhängigkeit von beispielsweise durch eine Person bewirkte Eingaben in die elektronische Recheneinrichtung aus den Konstruktionsdaten eine erste Teilmenge der Konstruktionsdaten ausgewählt, wobei die erste Teilmenge, insbesondere genau, eines der Produkte charakterisiert. Insbesondere können die folgende und vorigen Ausführungen zu den Produktdaten auf die Konstruktionsdaten übertragen werden und umgekehrt. Außerdem wird in Abhängigkeit von den Eingaben aus den Anlagendaten eine zweite Teilmenge der Anlagendaten ausgewählt, wobei die zweite Teilmenge, insbesondere genau, eine der Anlagen charakterisiert. Bei dem zweiten Aspekt der Erfindung wird mittels der elektronischen Recheneinrichtung in Abhängigkeit von der ersten Teilmenge wenigstens ein zum Herstellen des durch die erste Teilmenge charakterisierten Produkts erforderliche Arbeitsvorgang automatisch berechnet und dadurch ermittelt. Hierunter ist insbesondere zu verstehen, dass der Arbeitsvorgang mittels der elektronischen Recheneinrichtung, insbesondere ausschließlich, auf Basis der ausgewählten Konstruktionsdaten, mithin auf Basis der Konstruktionsdaten der ausgewählten, ersten Teilmenge berechnet wird, so dass zumindest im Hinblick auf die Ermittlung des Arbeitsvorgangs eine Automatisierung vorgesehen ist. Außerdem wird bei dem zweiten Aspekt der Erfindung mittels der elektronischen Recheneinrichtung in Abhängigkeit von der zweiten Teilmenge geprüft, ob die durch die zweite Teilmenge charakterisierte Anlage in der Lage, mithin dazu ausgebildet ist, den berechneten Arbeitsvorgang durchzuführen. Beispielsweise führt die elektronische Recheneinrichtung auf Basis der ersten Teilmenge und der zweiten Teilmenge eine Simulation durch. Insbesondere wird die Simulation mittels eines Simulationsmodells durchgeführt, welches die durch die zweite Teilmenge charakterisierte Anlage und das durch die erste Teilmenge charakterisierte Produkt nachbildet. Bei der Simulation wird mittels der elektronischen Recheneinrichtung simuliert, ob oder dass der Arbeitsvorgang durch die Anlage durchgeführt wird. Wird durch die Simulation gefunden, dass die Anlage den gesamten, ermittelten Arbeitsvorgang durchführen kann, so wird erkannt, dass die Anlage in der Lage ist, den Arbeitsvorgang durchzuführen. Wird jedoch durch die Simulation ermittelt, dass die Anlage zumindest einen Teil des ermittelten Arbeitsvorgangs oder den gesamten Arbeitsvorgang nicht ausführen kann, so wird ermittelt, dass die Anlage nicht in der Lage ist, den ermittelten Arbeitsvorgang auszuführen. Somit kann der Arbeitsvorgang besonders zeit- und kostengünstig ermittelt und geprüft werden.
  • Der Erfindung liegen insbesondere die folgenden Erkenntnisse und Überlegungen zugrunde: Roboter kommen zum Herstellen von Produkten zum Einsatz, um die Produkte zeit- und kostengünstig herstellen zu können. Insbesondere werden Roboter in der Automobilindustrie zum Herstellen von Fahrzeugen verwendet, um die Fahrzeuge zumindest teilautomatisiert und somit zeit- und kostengünstig herzustellen. Arbeitsvorgänge wie zum Beispiel Kleben, Schweißen und Lackieren werden üblicherweise zumindest größtenteils automatisiert durch Roboter wie beispielsweise Industrieroboter ausgeführt. Bevor ein Roboter in der Lage ist, einen solchen, auch als Aufgabe bezeichneten Arbeitsvorgang auszuführen, wird der Roboter beziehungsweise eine elektronische Recheneinrichtung zum Betreiben des Roboters programmiert. Üblicherweise wird dem Roboter die Ausführung des Arbeitsvorgangs Schritt für Schritt angelernt. Diese Programmierung kann direkt in der den Roboter umfassenden Anlage und somit online, oder in einer virtuellen Umgebung und somit offline, durchgeführt werden. Die Offline-Programmierung hat als Vorteil, dass die Produktion nicht oder nur geringfügig unterbrochen werden muss, um Änderungen bezüglich des Arbeitsvorgangs durchzuführen. Oft bieten Roboterhersteller ein eigenes Software-Produkt an, um die Offline-Programmierung durchzuführen. Ferner existieren Software-Lösungen, mittels welchen die Offline-Programmierung herstellerübergreifend durchgeführt werden kann.
  • Beispiele für solche Software-Produkte von Roboterherstellern sind beispielsweise RobotStudio, Roboguide und KUKA.Sim. Herstellerübergreifende Software-Lösungen sind zum Beispiel RoboDK, OCTOPUZ und Process Simulate. Üblicherweise gilt für jede Software, dass in einem ersten Schritt eine virtuelle Umgebung einer den Roboter umfassenden Roboterzeller manuell und somit von einer Person aufzubauen ist. Dieser Prozess ist zeitintensiv und anfällig für Bedienungsfehler. In der Regel lassen sich die Daten der aufzubauenden virtuellen Umgebung in drei Kategorien einteilen:
    1. 1. Anlagendaten (Roboter, Fördertechnik, Materialversorgung, etc.)
    2. 2. Produktdaten (Geometrische Darstellung des Bauteils beziehungsweise des Produkts)
    3. 3. Prozessdaten (Auflistung von Roboter-Aufgaben nach Produkt inklusive Prozessparameter)
  • Üblicherweise ist bei Änderungen dieser Daten eine manuelle Befähigung oder Nachtrag in der Software durchzuführen. Dies führt wiederum zu einem erhöhten Zeitaufwand und steht kurzen Entwicklungszyklen im Weg. Derartige Nachteile können durch die Erfindung vermieden werden. Herkömmliche Software-Lösungen ermöglichen es, Aufgaben von einem Roboter auf einen anderen Roboter zu übertragen, oder eine Reihenfolge eines Aufgabenablaufs zu ändern. Jedoch muss üblicherweise jede von solchen Änderungen manuell und somit von einer Person durchgeführt werden. Das Roboterprogramm muss üblicherweise im Nachhinein oftmals überarbeitet werden, um Bewegungen des Roboters zwischen den Aufgaben lauffähig und kollisionsfrei zu gestalten. Dies führt dazu, dass viel Aufwand und Zeit investiert werden müssen, um ein Roboterprogramm optimal in Bezug auf Taktzeit auszulegen.
  • Insbesondere wurden zwei Nachteile von herkömmlichen Lösungen identifiziert. Ein erster der Nachteile ist, dass eine Durchgängigkeit zwischen Eingangsdaten und dem Roboterprogramm fehlt. Ein zweiter der Nachteile ist, dass eine Möglichkeit zur automatisierten Optimierung von Roboterprogrammen fehlt. Diese Probleme führen zu folgenden Nachteilen:
    • - erhöhte Kosten aufgrund eines Aufwands einer manuellen Programmierung
    • - lange Entwicklungszeit des Produkts, da die Hardware erst nach Abschluss der manuellen Programmierung abgesichert werden kann
    • - ungenutztes Potential hinsichtlich einer Effizienz einer Anlage, da aufgrund der manuellen Programmierung nur eine Teilmenge des Lösungsraums der Produktionsabläufe untersucht werden kann, und so das globale Optimum nicht garantiert identifiziert wird
    • - Aufgrund des ungenutzten Potentials wird das theoretisch mögliche Produktionsvolumen unterschritten.
  • Die Erfindung ermöglicht eine zeit- und kostengünstige Taktzeitoptimierung durch eine Optimierung des Arbeitsvorgangs beziehungsweise des Roboterprogramms insbesondere mittels einer automatisierten Datenbereitstellung, um die zuvor genannten Nachteile zu vermeiden.
  • Beispielsweise wird ein digitales Abbild der auch als Roboteranlage bezeichneten und den Roboter umfassenden Anlage insbesondere inklusive aller Störkonturen erstellt. Dieses digitale Abbild wird beispielsweise als ein Rechenmodell, Modell oder Simulationsmodell erstellt, wobei das digitale Abbild beispielsweise auf Basis der Anlagendaten und der Produktdaten erstellt wird. Insbesondere daran anschließend erfolgt eine Interpretation von Roboteraufgaben, mithin wenigstens einer durch den Roboter durchzuführenden oder auszuführenden Aufgabe. Bei der Aufgabe handelt es sich beispielsweise um den genannten Arbeitsvorgang, welcher ein Kleben und/oder Schweißen umfassen kann. Alternativ oder zusätzlich kann der Arbeitsvorgang ein Aufbringen eines Klebstoffs und/oder eines beispielsweise als Kunststoff, insbesondere als PVC, gebildeten Abdichtmaterials auf das Bauteil umfassen. Insbesondere daran anschließend erfolgt beispielsweise eine Optimierung, in deren Rahmen der Arbeitsvorgang ermittelt und insbesondere optimiert wird, insbesondere durch das beschriebene Minimieren der Zielfunktion. Daran anschließend wird beispielsweise der optimierte Arbeitsvorgang, mithin der ermittelte Arbeitsvorgang (Roboterprogramm) ausgegeben.
  • Ein weiterer Schritt kann eine Validierung des optimierten Roboterprogramms (Arbeitsvorgang) insbesondere in Bezug auf Kollisionen und Lauffähigkeit mit reduzierter Geschwindigkeit des Roboters umfassen. Ein weiterer Schritt kann eine Nutzung des ermittelten und somit optimierten Arbeitsvorgangs (Roboterprogramm) einem Produktionsprozess umfassen, in welchem beispielsweise der Roboter gemäß dem ermittelten Arbeitsvorgang betrieben wird und somit das Bauteil bearbeitet.
  • Um eine Aktualität des Roboterprogramms so gut wie möglich gewährleisten zu können, ist es von Vorteil, wenn die Anlagen-, Produkt- und Prozessdaten automatisiert in eine Generierung des Roboterprogramms einfließen. Hierfür wird beispielsweise eine insbesondere datentechnische, auch als Pipeline bezeichnete Leitung aufgebaut. Beispielsweise wird die elektronische Recheneinrichtung beziehungsweise eine Software zum Ermitteln des Arbeitsvorgangs, insbesondere gemäß dem ersten Aspekt der Erfindung, mit unterschiedlichen Datenbanken und Informationsquellen verbunden, um daraus Informationen insbesondere über die Anlage, ganz insbesondere über Änderungen der Anlage, und/oder über das Bauteil, insbesondere über Änderungen des Bauteils, abgreifen zu können. Durch eine Anwendung des so genannte Single-Source-of-Truth-Prinzips sind Eingangsdaten, auf deren Basis der Arbeitsvorgang optimiert ermittelt wird, immer auf dem letzten Stand. Insbesondere ist es denkbar, dass eine Änderung der Eingangsdaten, mithin eine Änderung der Produktdaten und/oder der Anlagendaten, insbesondere automatisiert beziehungsweise automatisch, eine insbesondere erneute, optimierte Ermittlung des Arbeitsvorgangs anstößt, so dass beispielsweise für jede Änderung der Produktdaten und/oder Anlagendaten der Arbeitsvorgang als optimierter Arbeitsvorgang, insbesondere automatisch oder automatisiert, ermittelt wird.
  • Im Hinblick auf das digitale Abbild der Anlage, insbesondere inklusive der Störkonturen lassen sich ein Positionieren und Konfigurieren des Roboters in einer virtuellen Welt über eine knotenbasierte Nutzeroberfläche durchführen. Mittels der Benutzeroberfläche wählt beispielsweise eine auch als Nutzer bezeichnete Person den Roboter, das heißt ein Modell des Roboters aus einem Katalog aus und importiert das ausgewählte Modell zu der virtuellen Welt, insbesondere mittels Drag-and-Drop. Eine Positionierung des Roboters insbesondere in der virtuellen Welt findet beispielsweise per Eingabe von sechs Werten statt. Drei der Werte sind beispielsweise Koordinaten, insbesondere bezüglich eines insbesondere kartesischen Koordinatensystems, wobei eine erste der Koordinaten beispielsweise eine x-Koordinate, eine zweite der Koordinaten eine y-Koordinate und eine dritte der Koordinaten eine z-Koordinate ist. Drei weitere der Werte können beispielsweise ein Rollen (Roll), ein Nicken (Pitch) und ein Gieren (Yaw) beschreiben. Die Konfiguration des Roboters wird beispielsweise anhand eines Roboter-Backups durchgeführt. Dazu leitet der Nutzer das einfach auch als Backup bezeichnete Roboter-Backup aus und verbindet es mit dem Roboter über die knotenbasierte Benutzeroberfläche. Falls der reale Roboter (noch) nicht vorhanden ist, werden Standardwerte angenommen. Die Störkonturen werden ähnlich zu dem Roboter in der realen Welt positioniert. Beispiele dafür sind Sicherheitszäune, Fördertechnik und Gehänge.
  • Die Produktdaten beschreiben insbesondere eine geometrische Darstellung des zu bearbeitenden, insbesondere des zu fertigenden, Bauteils beziehungsweise Produkts. Die Produktdaten können Fahrzeugdaten sein oder umfassen, welche beispielsweise von Konstrukteuren eines Fahrzeugs in einem Konstruktionsprogramm wie beispielsweise CATIA erstellt werden. Sollte die Anlage in der Realität noch nicht existieren oder sollte das Bauteil beziehungsweise das Produkt physisch noch nicht vorhanden sein, so wird das Bauteil beziehungsweise Produkt in der virtuellen Welt in einer idealen Lage positioniert. Wenn ein Messprotokoll, das beispielsweise eine Ist-Aufnahme einer realen Lage eines Produkts in der Anlage charakterisiert, vorhanden ist, wird das Bauteil beziehungsweise Produkt in der virtuellen Welt auf einer realen Stelle in der Anlage positioniert. Ein automatisierter Aufbau der Anlage, insbesondere Roboterzelle, ist über eine Schnittstelle mit einer Auslegungssoftware der Anlage realisierbar. Hierfür kann beispielsweise Automation ML oder Auto ML verwendet werden. Auch bei dieser Vorgehensweise wird das virtuelle Robotermodell mit einem realen Roboter-Backup ausgestattet, wenn dies vorhanden ist.
  • Im Hinblick auf die Interpretation der Roboter-Aufgabe kann beispielsweise dann, wenn ein zu optimierendes Roboterprogramm bereits vorhanden ist, dieses bereits vorhandene Roboterprogramm in der knotenbasierten Nutzeroberfläche importiert werden und mit dem zutreffenden Roboter verknüpft werden. Eine bestimmte Applikationsart wie beispielsweise Schweißen, Kleben, Abdichten, etc. wird, insbesondere durch den Nutzer, ausgewählt, um die Software zu instruieren, wie das verknüpfte Roboterprogramm zu interpretieren ist. Beispielsweise mittels vorab festgelegter, auch als Templates bezeichneter Vorlagen können wertschöpfende Anteile (anstatt von Bewegungen zwischen zwei Roboteraufgaben) aus dem Roboterprogramm extrahiert werden. Somit kann die Bearbeitung von diesen wertschöpfenden Anteilen in einem Folgeschritt optimiert werden. Eine Prämisse für dieses Vorgehen kann sein, dass die manuelle Roboterprogrammierung nach der Vorlagenlogik durchgeführt worden ist.
  • Für den Fall, dass noch kein Roboterprogramm vorhanden ist, wird beispielsweise die Programmierung auf Basis der Prozessdaten durchgeführt. Hier wird grundsätzlich zwischen zwei Arten von Applikationen unterschieden: Punktapplikation und Bahnapplikation. Bei Punktapplikationen findet die Roboter-Aufgabe an einer konkreten Stelle statt. Ein Beispiel hierfür ist das Punktschweißen, bei dem an einer Stelle, insbesondere genau, ein Schweißpunkt hergestellt, das heißt gesetzt ist. Jedoch ist es oft der Fall, dass der Roboter eine letzte kurze Strecke auf dem Weg zu einer Punktapplikation in einer oder durch eine lineare Bewegung macht oder machen soll. Das Gleiche gilt für eine erste Strecke nach einer Punktapplikation. Dies führt dazu, dass auch Vorlagen für Punktapplikationen aus mehreren Bewegungsbefehlen existieren können, meistens derer drei. Bei Bahnapplikationen findet die Applikation statt, während sich der Roboter bewegt. Das Template (die Vorlage) für Bahnapplikationen kann dem entsprechend mindestens zwei Bewegungsbefehle enthalten. Eine PVC-Applikation, das heißt eine Aufbringung einer insbesondere als Naht ausgebildeten oder eine Naht bildenden Bahn eines beispielsweise flüssigen oder pastösen Materials, beispielsweise zur Abdichtung des Bauteils, ist eine Art von Bahnapplikation, wobei es sich bei dem Material beispielsweise um einen Kunststoff, insbesondere um PVC, handeln kann. Von Vorteil ist es, wenn die oben beschriebenen Prozessdaten alle Informationen enthalten, die erforderlich sind, um die zutreffenden Vorlagen (Templates) befüllen zu können und somit eine geeignete Roboterprogrammierung durchführen zu können. Werte, die nicht in den Prozessdaten vorhanden sind, können mit einem Standardwert befüllt werden. Eine Automatisierung lässt sich auch hier realisieren, indem die Roboterprogramme in einer Datenbank gespeichert werden. Die Software greift auf diese Datenbank zu und prüft, ob neue Roboterprogramme dazugekommen sind. Wenn dies der Fall ist, wird die Optimierung durchgeführt und das optimierte Programm wird in die Datenbank abgelegt. Die gleiche Vorgehensweise kann angewendet werden, wenn die Erstellung des Roboterprogramms auf Basis von Prozessdaten durchgeführt wird. In diesem Fall wird die Software an die Datenbank, in der die Prozessdaten abgelegt sind, angebunden. Wenn die Prozessdaten sich ändern, kann eine Aktualisierung des Roboterprogramms durchgeführt werden, insbesondere automatisch oder automatisiert.
  • Bei der Durchführung der Optimierung des Roboterprogramms, das heißt insbesondere bei dem Minimieren der Zielfunktion kann auf Basis der erstellten Daten, mithin beispielsweise auf Basis der Prozessdaten, der Anlagendaten und der Produktdaten ein System zur Optimierung mit einem oder mehreren Algorithmen ausgeführt werden, wobei das System, insbesondere das Minimieren der Zielfunktion, die Roboter-Aufgaben, mithin Arbeitsvorgang, beispielsweise im Hinblick auf die Taktzeit optimiert, insbesondere ohne dabei Validierungskriterien zu verletzen. Insbesondere kann die Zielfunktion durch herkömmliche Lösungs- beziehungsweise Minimierungsverfahren, insbesondere durch herkömmliche, kommerzielle und/oder, insbesondere frei und/oder kommerziell, verfügbare Solver wie beispielsweise Concorde, GLNS, Greedy, CPLEX Optimization Suite gelöst beziehungsweise minimiert werden. Im Laufe der Optimierung des Roboterprogramms (Arbeitsvorgang) können beispielsweise folgende Variablen angepasst werden:
    • - Ändern der Reihenfolge, in der die einzelnen Teilschritte (Roboter-Aufgaben) ausgeführt werden
    • - Auswahl eines anderen Werkzeugs für die Ausführung eines Teilschritts
    • - Auswahl einer anderen Linearposition für die Ausführung eines Teilschritts
    • - Auswahl einer anderen Roboter-Konfiguration für die Ausführung des Teilschritts
    • - Ändern einer Verteilung von Teilschritten (Roboter-Aufgaben) auf verfügbare Roboter
    • - Insbesondere bei einer Bahn-Applikation: Anpassen beziehungsweise Ändern einer Richtung, entlang welcher zumindest ein Teil des Roboters eine Bewegungsbahn abfährt, um den Arbeitsvorgang auszuführen.
  • Somit ist es denkbar, dass die Anlage mehrere Roboter, nämlich den genannten Roboter sowie wenigstens einen weiteren, zweiten Roboter aufweist. Somit charakterisieren die Anlagendaten die mehreren Roboter der Anlagen. Somit können sich beispielsweise die jeweiligen Teilschritte der jeweiligen Schrittgruppe dahingehend voneinander unterscheiden, dass einer der Teilschritte mittels des ersten Roboters und ein anderer der Teilschritte mittels des zweiten Roboters durchgeführt wird oder durchgeführt werden kann. Durch Berücksichtigung der mehreren, zur Verfügung stehenden Roboter der Anlage kann der Arbeitsvorgang besonders vorteilhaft ermittelt werden.
  • Es ist erkennbar, dass eine Anzahl der auch als Variablen bezeichneten Parameter der Zielfunktion sehr hoch sein kann, was das zugrundeliegende, zu lösende Optimierungsproblem komplex und hochdimensional machen kann. Daher können sich je nach Struktur des Optimierungsproblems unterschiedliche heuristische Lösungsverfahren eigenen, um das Optimierungsproblem lösen und hierfür die Zielfunktion zeit- und kostengünstig minimieren zu können. Es können unterschiedliche Lösungsalgorithmen existieren, um das Optimierungsproblem zu lösen. Genutzt werden kann beispielsweise ein System mit einer modularen Architektur, welches es erlaubt, neue Algorithmen zum Lösen des Optimierungsproblems effizient hinzuzufügen. Daraus entstehende Ensembles von Algorithmen können anschließend in einem automatisierten Prozess parallel mit einer gegebenen Probleminstanz gestartet werden und so lange ausgeführt werden, bis alle Algorithmen konvergieren oder eine Abbruchbedingung, zum Beispiel eine maximale Gesamtlaufzeit oder gewünschte Taktzeit, erreicht wurde. Im Anschluss werden die Ergebnisse des Ensembles zentral gesammelt und ausgewertet. Beispielsweise wird die Lösung mit der niedrigsten Taktzeit zurückgegeben und als der Arbeitsvorgang verwendet.
  • Es ist somit möglich, unterschiedliche Algorithmen mit unterschiedlichen Stärken (zum Beispiel Greedy, Simulated/Quantum Annealing oder GLNS) automatisiert zu starten, mit den benötigten Daten zu beliefern und im Nachhinein die Ergebnisse zu evaluieren. Mit anderen Worten können beispielsweise unterschiedliche Lösungsalgorithmen zum Lösen des gleichen Optimierungsproblems unterschiedliche Ergebnisse, das heißt unterschiedliche Arbeitsvorgänge bereitstellen, wobei aus diesen unterschiedlichen, bereitgestellten Arbeitsvorgängen beispielsweise, genau, einer der bereitgestellten Arbeitsvorgänge beispielsweise in Abhängigkeit von einem vorgebbaren oder vorgegebenen Kriterium ausgewählt wird. Das Kriterium umfasst beispielsweise, dass aus den mehreren, ermittelten beziehungsweise berechneten Arbeitsvorgängen der Arbeitsvorgang ausgewählt wird, welcher das Kriterium erfüllt. Das Kriterium umfasst beispielsweise, dass die auch als Taktzeit bezeichnete Zeit, die von der Anlage benötigt wird, um den jeweiligen Arbeitsvorgang auszuführen, die geringste Zeit ist, so dass beispielsweise aus den mehreren, bereitgestellten Arbeitsvorgängen der Arbeitsvorgang mit der geringsten Taktzeit ausgewählt wird. Dies vereinfacht den Prozess der Optimierung bei gleichzeitiger Erhöhung der Ergebnisqualität, da der Nutzer zusammen mit dem Datensatz nur wenige Parameter spezifizieren muss. Zudem können die Laufzeit und die Hardware-Auslastung verbessert werden. Beispielsweise werden während der Optimierung viele unterschiedliche Roboter-Pfade beziehungsweise Teilschritte simuliert, um den Lösungsraum abzutasten. Für eine erfolgreiche Optimierung ist es von Vorteil, dass die Simulation mit jeweiligen, virtuellen Roboter-Steuerungen des jeweiligen Roboter-Herstellers durchgeführt wird. Ansonsten könnte der reale Roboter-Pfad von dem simulierten Roboter-Pfad abweichen.
  • Bei der Ausgabe des optimierten Roboterprogramms, mithin des ermittelten Arbeitsvorgangs wird beispielsweise, nachdem die Verteilung der Roboter-Aufgaben beziehungsweise Teilschritte bestimmt und deren Reihenfolge optimiert worden ist, das gefundene Roboterprogramm insbesondere mittels des Optimierungssystems exportiert. Je nach Wunsch des Nutzers können beispielsweise die Roboterprogramme mehr oder weniger automatisiert zum Einsatz gebracht werden. Zum einen existiert die Möglichkeit, das Roboterprogramm, insbesondere den ermittelten Arbeitsvorgang auf einem Datenserver abzulegen, wo ein Betreiber das Roboterprogramm abgreifen und Folgeschritte manuell ausführen kann. Eine andere Möglichkeit ist, das Roboterprogramm direkt auf dem Roboter beziehungsweise dessen Steuerung zu speichern. Somit sind weniger manuelle Schritte erforderlich, um das optimierte und gefundene Roboterprogramm, mithin den ermittelten Arbeitsvorgang zu validieren. Wenn die Roboterprogramme zusätzlich in einer Datenbank abgelegt werden, kann eine Änderungshistorie ausgewertet werden. Somit wird es möglich, einen zeitlichen Verlauf der Taktzeit des Produkts auszuwerten. Auf Basis dessen können frühzeitig Risiken in einem Produktentstehungsprozess identifiziert werden, zum Beispiel, wenn die Kapazität einer Roboterzelle an ihre Grenze kommt.
  • Eine Validierung des optimierten Roboterprogramms kann Folgendes umfassen: Im Normalfall wird das optimierte Roboterprogramm mit einer geringen Geschwindigkeit mit dem Roboter abgefahren, um zu prüfen oder zu bestätigen, dass es zu keiner Kollision kommt. Danach kann eine Applikation eingeschaltet werden, und das Roboterprogramm wird mit normaler Geschwindigkeit abgefahren, um eine Qualität des Roboterprogramms festzustellen. Fehlstellen im Roboterprogramm können per Hand korrigiert werden. Ein Beispiel dafür wäre eine Verschiebung eines Applikationspunkts um einige Millimeter. Eine Nutzung des optimierten Roboterprogramms in einem Produktionsprozess kann Folgendes umfassen: Nachdem das Roboterprogramm validiert worden ist, kann das Roboterprogramm in einem Produktionsprozess eingesetzt werden.
  • Die Erfindung ermöglicht insbesondere die Realisierung zumindest der folgenden Vorteile: Durch die automatisierte Pipeline von Daten beziehen sich die generierten Roboterprogramme stets auf den letzten Stand des Produkts und das Programm wird ständig für die Taktzeit hin optimiert ausgelegt. Generell lassen sich die Vorteile wie folgt beschreiben:
    • - Einsparung von Kosten aufgrund von Automatisierung durch Wegfall von manuellen Programmierschritten
    • - Planungsflexibilität durch frühzeitige Aussagefähigkeit bezüglich der möglichen Taktzeit
    • - Beurteilungskompetenz bezüglich der Kapazität von vorhandenen Robotern für neue Produkte
    • - Kontinuierliche Aussagefähigkeit über eine Herstellbarkeit des Produkts
    • - Ganzheitliche Optimierung von Roboterstraßen zur Erhöhung des Produktionsvolumens
    • - Einsparung von Energiekosten durch vorteilhafte, insbesondere optimale, Nutzung von Flexibilität in der Auslegung der Roboterpfade auf verschiedenen Anlagen
    • - Einsparung von zusätzlichen Roboterzellen durch vorteilhafte, insbesondere optimale, Nutzung der vorhandenen Infrastruktur
    • - Minimierung von Fehlerquellen durch Reduzierung manueller Anpassungen des Roboterprogramms
  • Im Folgenden wird eine Umsetzung des erfindungsgemäßen Verfahrens anhand eines Beispiels einer PVC-Applikation beschrieben. Bei der PVC-Applikation wird eine Bahn aus einem insbesondere flüssigen oder pastösen Material auf das Bauteil aufgebracht. Die Bahn ist beispielsweise eine Naht oder bildet eine Naht. Das Material ist beispielsweise ein Kunststoff, insbesondere PVC. Beispielsweise kann das Bauteil mittels der Bahn gegen ein anderes, weiteres Bauteil abgedichtet werden. Bei dem Beispiel wird angenommen, dass eine neue Produktionslinie geplant wird und infrage gestellt wird, ob eine geplante Anzahl von Robotern hinsichtlich einer Produktionskapazität ausreichend ist. Um die Kapazität bewerten zu können, wird das erfindungsgemäße, zuvor beschriebene Verfahren angewendet. Eine Erstellung der virtuellen Produktionslinie, das heißt, eine Erstellung eines virtuellen Abbilds der neuen Produktionslinie geschieht beispielsweise automatisch auf Basis einer Planungssoftware, in welcher die neue Produktionslinie geplant wird. Somit sind korrekte Robotermodelle auf oder in der oder an der richtigen Stelle in der virtuellen Welt, mithin in dem virtuellen Abbild positioniert. Über die zuvor genannte, knotenbasierte Benutzeroberfläche werden Roboter-Backups der Roboter aus einer existierenden Produktionslinie verknüpft. Die Produktdaten des beispielsweise als Fahrzeug ausgebildeten, relevanten Produkts beziehungsweise des Bauteils werden direkt aus einer Datenbank für Produktdaten importiert und in der virtuellen Welt (virtuelles Abbild) auf eine geplante Position dargestellt. Dafür wird beispielsweise nur eine Auswahl des relevanten Produkts aus einer Dropdown-Liste durchgeführt. Angemerkt sei, dass die Produktdaten stets auf dem letzten freigegebenen Konstruktionsstand sind, weil die Software beispielsweise direkt auf die Datenbank zugreift. Schließlich werden Nahtinformationen über die Naht aus der Datenbank von einer PVC-Konstruktion eingelesen. Hier gilt beispielsweise, dass die relevante Naht oder relevante Nähte für das zutreffende Produkt (Fahrzeug) automatisch ausgewählt werden. Diese Auswahl findet statt auf Basis eines Beziehungswissens zwischen Produkt- und Prozessdaten. Nachdem alle Daten erfolgreich eingelesen worden sind, findet die eigentliche, tatsächliche Optimierung statt, die sich anschließend im exportierten Roboterprogramm widerspiegelt, mithin den optimierten, ermittelten Arbeitsvorgang ausgibt. Der Vorteil der automatisierten Datenpipeline ist, dass das Roboterprogramm ohne manuelle Aufwände aktualisiert wird, sobald eine Änderung in den Anlagendaten und/oder Produktdaten und/oder Prozessdaten durchgeführt wird. Ob die Kapazität der neuen Produktionslinie ausreicht, um das relevante Produkt (Fahrzeug) herzustellen, kann der Taktzeit oder den Taktzeiten des optimierten Roboterprogramms entnommen werden.
  • Ein dritter Aspekt der Erfindung betrifft eine insbesondere als elektronische Recheneinrichtung ausgebildete Vorrichtung zur Datenverarbeitung, welche Mittel zur Ausführung des Verfahrens gemäß dem ersten Aspekt der Erfindung und/oder dem zweiten Aspekt der Erfindung umfasst. Vorteile und vorteilhafte Ausgestaltungen des ersten Aspekts und des zweiten Aspekts der Erfindung sind als Vorteile und vorteilhafte Ausgestaltungen des dritten Aspekts der Erfindung anzusehen und umgekehrt.
  • Ein vierter Aspekt der Erfindung betrifft ein auch als Computerprogrammprodukt bezeichnetes Computerprogramm, umfassend Befehle, die bei einer Ausführung des Computerprogramms durch einen Computer den Computer veranlassen, das Verfahren gemäß dem ersten Aspekt der Erfindung und/oder gemäß dem zweiten Aspekt der Erfindung auszuführen. Vorteile und vorteilhafte Ausgestaltungen des ersten Aspekts, des zweiten Aspekts und des dritten Aspekts der Erfindung sind als Vorteile und vorteilhafte Ausgestaltungen des vierten Aspekts der Erfindung anzusehen und umgekehrt.
  • Schließlich betrifft ein fünfter Aspekt der Erfindung ein computerlesbares Medium, auf dem das Computerprogramm gemäß dem vierten Aspekt der Erfindung gespeichert ist. Vorteile und vorteilhafte Ausgestaltungen des ersten Aspekts, des zweiten Aspekts, des dritten Aspekts und des vierten Aspekts der Erfindung sind als Vorteile und vorteilhafte Ausgestaltungen des fünften Aspekts der Erfindung anzusehen und umgekehrt.
  • Weitere Einzelheiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines bevorzugten Ausführungsbeispiels mit der zugehörigen Zeichnung. Dabei zeigt die einzige 1 ein Flussdiagramm zum Veranschaulichen eines Verfahrens zum Ermitteln wenigstens eines von einem Roboter auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils.
  • Im Folgenden wird anhand von 1 ein Verfahren zum Ermitteln, insbesondere zum Berechnen, wenigstens eines von einem Roboter auszuführenden und auch als Roboterprogramm bezeichneten Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils erläutert. Das Bauteil ist ein Produkt oder kann Bestandteil eines Produkts sein, wobei das Produkt beispielsweise durch den Arbeitsvorgang hergestellt wird. Der Arbeitsvorgang kann aus mehreren, aneinandergereihten, das heißt zeitlich aufeinanderfolgenden Teilschritten zusammengesetzt sein, so dass dann, wenn der Roboter die einzelnen Teilschritte nacheinander ausführt, der Roboter den Arbeitsvorgang insgesamt ausführt. Wieder mit anderen Worten ausgedrückt bilden beispielsweise die zeitlich aufeinanderfolgenden Teilschritte, insbesondere in Summe, den Arbeitsvorgang.
  • In 1 sind durch einen Block 1 Produktdaten veranschaulicht, welche mittels einer elektronischen Recheneinrichtung, mittels welcher das Verfahren durchgeführt wird, ermittelt werden. Die Produktdaten charakterisieren das wenigstens eine, mittels des Roboters bei dem wenigstens einen Arbeitsvorgang zu bearbeitende Bauteil. Durch einen Block 2 sind Anlagendaten veranschaulicht, die mittels der elektronischen Recheneinrichtung ermittelt werden und eine zumindest den Roboter umfassende Anlage zum Ausführen des wenigstens einen Arbeitsvorgangs charakterisieren. Der Roboter ist durch einen Block 3 veranschaulicht. Mit anderen Worten veranschaulicht beispielsweise der Block 3 einen ersten Teil der Anlagendaten, wobei der erste Teil der Anlagendaten den Roboter beschreiben. Ein Block 4 veranschaulicht Störkonturen. Die durch den Block 4 veranschaulichten Störkonturen können beispielsweise durch einen zweiten Teil der Produktdaten und/oder durch einen ersten Teil der Anlagendaten charakterisiert sein. Bei den Störkonturen handelt es sich um Stellen, an die oder zu denen der Roboter beim Ausführen des Arbeitsvorgangs nicht bewegt werden sollte, da es ansonsten zu unerwünschten Kollisionen kommen könnte. Die Störkonturen können beispielsweise durch das Bauteil beziehungsweise das Produkt und/oder durch Elemente der Anlage gebildet sein. Bei den Elementen der Anlage handelt es sich beispielsweise um Sicherheitszäune oder andere Objekte. Ein Block 5 veranschaulicht die zuvor genannte Geometrie des Bauteils, dessen Geometrie beispielsweise durch einen zweiten Teil der Produktdaten charakterisiert, das heißt beschrieben ist. Ein Block 6 veranschaulicht beispielsweise eine Positionierung des Bauteils, insbesondere während des Ausführens des Arbeitsvorgangs. Beispielsweise ist die Positionierung durch einen dritten Teil der Produktdaten charakterisiert, das heißt beschrieben. Ein Block 7 veranschaulicht eine Positionierung des Roboters, insbesondere bei dem Ausführen des Arbeitsvorgangs, wobei die Positionierung des Roboters beispielsweise durch einen dritten Teil der Anlagendaten beschrieben oder charakterisiert ist. Ein Block 8 veranschaulicht ein Roboter-Backup, welches beispielsweise durch einen vierten Teil der Anlagendaten beschrieben ist. Ein Block 9 veranschaulicht eine Geometrie des Roboters, dessen Geometrie beispielsweise durch einen fünften Teil der Anlagendaten beschrieben ist. Ein Block 10 veranschaulicht eine kinematische Beschreibung des Roboters, ein Block 11 veranschaulicht eine Aufstellung von einfach auch als Achsen bezeichneten Roboterachsen des Roboters, und ein Block 12 veranschaulicht Grenzwerte. Es ist erkennbar, dass aus der Aufstellung der Achsen (Block 11) und aus den Grenzwerten (Block 12) die kinematische Beschreibung (Block 10) resultieren kann beziehungsweise dass diese zusammenhängt. Beispielsweise sind die Aufstellung der Achsen, die Grenzwerte und die kinematische Beschreibung durch einen sechsten Teil der Anlagendaten beschrieben. Das durch den Block 8 veranschaulichte Roboter-Backup hängt beispielsweise mit durch einen Block 13 veranschaulichten Werkobjekten und mit durch einen Block 14 veranschaulichten Werkzeug-Informationen zusammen, wobei beispielsweise die Werkobjekte und die Werkzeug-Informationen durch einen siebten Teil der Anlagendaten beschrieben sind. Insbesondere sind die Werkzeug-Informationen Informationen über wenigstens ein Werkzeug des Roboters, mittels welchem das Werkzeug bei dem Durchführen oder Ausführen des Arbeitsvorgangs relativ zu dem Bauteil bewegt wird, um den Arbeitsvorgang auszuführen, mithin um das Werkzeug zu bearbeiten. Mit anderen Worten beschreiben beispielsweise die Werkzeug-Informationen das genannte Werkzeug, mittels welchem beispielsweise bei dem Arbeitsvorgang ein insbesondere flüssiges oder pastöses Material auf das Bauteil aufgebracht und/oder das Bauteil mit wenigstens einem weiteren Bauteil verschweißt wird, mithin wenigstens eine Schweißung des Bauteils durchgeführt wird.
  • Durch einen Block 24 sind Prozessdaten veranschaulicht, welche den Arbeitsvorgang charakterisieren und mittels der elektronischen Recheneinrichtung ermittelt werden.
  • Durch einen Block 15 ist veranschaulicht, dass mittels der elektronischen Recheneinrichtung ein auch als virtuelle Welt bezeichnetes, virtuelles Abbild der Anlage und des Bauteils erzeugt wird. Das virtuelle Abbild ist ein Simulationsmodell oder durch ein Simulationsmodell beschrieben, welches die Anlage und das Bauteil nachbildet und mittels der elektronischen Recheneinrichtung auf Basis der Produktionsdaten und der Produktdaten und der Anlagendaten, welche auch als Anlagedaten bezeichnet werden, erzeugt, insbesondere erstellt, wird.
  • Ein Block 16 veranschaulicht ein Interpretieren von insbesondere von dem Roboter beziehungsweise der Anlage durchzuführenden und auch als Roboter-Aufgaben bezeichneten Aufgaben.
  • Ein Block 17 veranschaulicht eine Optimierung oder eine optimierte Erstellung. Insbesondere veranschaulicht der Block 17, dass mittels der elektronischen Recheneinrichtung eine Simulation mittels des Simulationsmodells durchgeführt wird. Durch die Simulation werden Simulationsdaten ermittelt, die mehrere Schrittgruppen beschreiben oder charakterisieren, wobei die jeweilige Schrittgruppe mehrere, voneinander unterschiedliche Teilschritte des Arbeitsvorgangs umfasst. Aus den durch die Simulation ermittelten, insbesondere berechneten, Teilschritten der Schrittgruppen könnte der Arbeitsvorgang oder könnten unterschiedliche Kombinationen oder Varianten des Arbeitsvorgangs derart erzeugt werden, dass aus der jeweiligen Schrittgruppe jeweils genau einer der jeweiligen Teilschritte ausgewählt wird, und dass die ausgewählten Teilschritte aneinandergereiht werden, so dass dann, wenn der Roboter die ausgewählten und aneinandergereihten Teilschritte ausführt, der Roboter den Arbeitsvorgang ausführt. Die Simulationsdaten sind durch einen Block 41 veranschaulicht.
  • Beispielsweise wird, insbesondere bei dem Block 17, mittels der elektronischen Recheneinrichtung eine Zielfunktion eines Optimierungsproblems erstellt, dessen Zielfunktion die Teilschritte der Schrittgruppen als Parameter beziehungsweise Variablen umfasst. Mittels der elektronischen Recheneinrichtung wird bei der Optimierung die Zielfunktion minimiert, wodurch aus der jeweiligen Schrittgruppe, insbesondere genau, einer der jeweiligen Teilschritte der jeweiligen Schrittgruppe ausgewählt wird. Die ausgewählten Teilschritte werden aneinandergereiht, wodurch der Arbeitsvorgang, mithin der optimierte Arbeitsvorgang, ermittelt wird. Die Zielfunktion beziehungsweise deren Lösung liefert als Ergebnis beispielsweise eine solche Aneinanderreihung der ausgewählten Teilschritte, dass der daraus resultierende beziehungsweise dadurch gebildete Arbeitsvorgang einerseits von der Anlage ausgeführt werden kann und andererseits bezogen auf alle möglichen, aus den Teilschritten der Schrittgruppen bildbaren Arbeitsvorgänge die geringste Taktzeit aufweist, die von der Anlage benötigt wird, um den Arbeitsvorgang auszuführen.
  • Ein Block 18 veranschaulicht eine Rückgabe oder Ausgabe des bei dem Block 17 ermittelten, optimierten Arbeitsvorgangs, welcher auch als optimiertes Roboterprogramm bezeichnet wird. Ein Block 19 veranschaulicht beispielsweise eine Übersetzung zu einer Robotersprache, und ein Block 20 veranschaulicht beispielsweise eine Übertragung an eine OLP-Software.
  • Insbesondere bei dem Block 16 können die Prozessdaten beispielsweise anhand wenigstens einer oder mehrerer, bereits existierender Roboterprogramme ermittelt werden, oder, wenn ein solches, bereits existierendes Roboterprogramm noch nicht vorhanden ist, auf andere Weise. Bei einem Block 21 wird beispielsweise entschieden, ob wenigstens ein Roboterprogramm bereits vorhanden ist. Ein Zweig 22 veranschaulicht ein Vorgehen, das durchgeführt wird, wenn bereits ein Roboterprogramm vorhanden ist. Ein Zweig 23 veranschaulicht ein Vorgehen, welches durchgeführt wird, wenn noch kein Roboterprogramm vorhanden ist. Ein Block 25 des Zweigs 22 veranschaulicht ein Ein- und Ausschalten einer Applikationstechnik. Ein Block 26 des Zweigs 22 veranschaulicht eine punktuelle Applikation, und ein Block 27 des Zweigs 22 veranschaulicht eine Bahnapplikation. Ein Block 28 veranschaulicht ein Einlesen eines beziehungsweise des bereits vorhandenen Roboterprogramms, und ein Block 29 des Zweigs 22 veranschaulicht ein Übersetzen des eingelesenen Roboterprogramms in ein generelles Format. Ein Block 30 des Zweigs 23 veranschaulicht eine beispielsweise als Fahrzeugauslegung ausgebildete Auslegung des beispielsweise als Fahrzeug ausgebildeten Produkts, ein Block 31 veranschaulicht eine Datenbank und ein Block 32 des Zweigs 23 veranschaulicht Planungsdaten. Ein die Optimierung (Block 17) näher veranschaulichender Zweig 33 umfasst Blöcke 34, 35, 36, 37, 38, 39 und 40, welche beispielsweise weitere Variablen der Zielfunktion sein können. So veranschaulicht Block 34 beispielsweise eine inverse Richtung. Der Block 35 veranschaulicht eine Auswahl des Werkzeugs. Ein Block 36 veranschaulicht eine Roboterkonfiguration des Roboters, und ein Block 37 veranschaulicht eine Position des Roboters auf einer Linear-Achse. Ein Block 39 veranschaulicht eine Applikationsweise, ein Block 40 veranschaulicht eine Reihenfolge, insbesondere der Teilschritte, und ein Block 38 veranschaulicht beispielsweise eine Verteilung der zum Durchführen des Arbeitsvorgangs durchzuführenden Teilschritte auf mehrere Roboter der Anlage, wenn diese als zuvor genannten Roboter neben dem als ersten Roboter wenigstens einen zweiten Roboter aufweist.
  • Bezugszeichenliste
  • 1
    Block
    2
    Block
    3
    Block
    4
    Block
    5
    Block
    6
    Block
    7
    Block
    8
    Block
    9
    Block
    10
    Block
    11
    Block
    12
    Block
    13
    Block
    14
    Block
    15
    Block
    16
    Block
    17
    Block
    18
    Block
    19
    Block
    20
    Block
    21
    Block
    22
    Zweig
    23
    Zweig
    24
    Block
    25
    Block
    26
    Block
    27
    Block
    28
    Block
    29
    Block
    30
    Block
    31
    Block
    32
    Block
    33
    Zweig
    34
    Block
    35
    Block
    36
    Block
    38
    Block
    39
    Block
    40
    Block
    41
    Block
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102012218297 B4 [0002]
    • US 8886359 B2 [0002]
    • JP 6457473 B2 [0002]
    • JP 2013099815 A [0002]
    • DE 102014216514 B3 [0002]
    • EP 3685968 A1 [0002]

Claims (10)

  1. Verfahren zum Ermitteln wenigstens eines von wenigstens einem Roboter auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils, mit den Schritten: - mittels einer elektronischen Recheneinrichtung: Ermitteln von Produktdaten, welche das wenigstens eine mittels des Roboters bei dem wenigstens einen Arbeitsvorgang zu bearbeitende Bauteil charakterisieren; - mittels der elektronischen Recheneinrichtung: Ermitteln von Anlagendaten, welche eine zumindest den Roboter umfassende Anlage zum Ausführen des wenigstens einen Arbeitsvorgangs charakterisieren; - mittels der elektronischen Recheneinrichtung: Ermitteln von Prozessdaten, welche den wenigstens einen Arbeitsvorgangs charakterisieren; - mittels der elektronischen Recheneinrichtung: Erzeugen eines zumindest die Anlage und das Bauteil nachbildenden Simulationsmodells auf Basis der Produktdaten, der Anlagendaten und der Prozessdaten; - mittels der elektronischen Recheneinrichtung: Durchführen einer Simulation mittels des Simulationsmodells, wodurch mittels der elektronischen Recheneinrichtung Simulationsdaten ermittelt werden, welche mehrere Schrittgruppen beschreiben, wobei die jeweilige Schrittgruppen mehrere, voneinander unterschiedliche Teilschritte des Arbeitsvorgangs umfasst; - mittels der elektronischen Recheneinrichtung: Erstellen einer Zielfunktion eines Optimierungsproblems, dessen Zielfunktion die Teilschritte der Schrittgruppen als Parameter umfasst; und - mittels der elektronischen Recheneinrichtung: Minimieren der Zielfunktion, wodurch aus der jeweiligen Schrittgruppe einer der jeweiligen Teilschritte der jeweiligen Schrittgruppe ausgewählt wird und die ausgewählten Teilschritte aneinandergereiht werden, wodurch der Arbeitsvorgang ermittelt wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Roboter mittels der elektronischen Recheneinrichtung oder mittels einer anderen, weiteren elektronischen Recheneinrichtung derart angesteuert wird, dass der Roboter den ermittelten Arbeitsvorgang ausführt.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Produktdaten eine Geometrie des Bauteils und/oder eine von dem Roboter zu meidende Störgeometrie charakterisieren.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Anlagendaten gelenkig miteinander verbundene Roboterarme des Roboters charakterisieren.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Anlagendaten wenigstens ein mittels des Roboters relativ zu dem Bauteil bewegbares und zum Ausführen des Arbeitsvorgangs vorgesehenes Werkzeug des Roboters charakterisieren.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Prozessdaten charakterisieren: - wenigstens eine Trajektorie, entlang welcher zumindest ein Teil des Roboters zu bewegen ist; und/oder - wenigstens eine Geschwindigkeit, mit welcher zumindest der Teil des Roboters zu bewegen ist; und/oder - ein Applikationsabstand zwischen einem zum Ausführen des Arbeitsvorgangs vorgesehenen Werkzeug des Roboters und dem Bauteil; - einen Überschleifparameter, welcher eine Art, auf welche Punkte einer Bewegungsbahn, entlang welcher zumindest ein Teil des Roboters bewegt wird, um die Arbeitsvorgang auszuführen, abgefahren und/oder interpoliert werden; und/oder - wenigstens einen den Arbeitsvorgang charakterisierenden Applikationsparameter.
  7. Verfahren zum Ermitteln und Prüfen wenigstens eines von einer Anlage auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils, wobei: - in wenigstens einem Datenspeicher: ◯ Konstruktionsdaten gespeichert sind, welche mehrere, voneinander unterschiedliche Produkte charakterisieren; und ◯ Anlagendaten gespeichert sind, welche mehrere, voneinander unterschiedliche Anlagen zum Durchführen von Herstellschritten charakterisieren; - mittels einer elektronischen Recheneinrichtung in Abhängigkeit von Eingaben in die elektronische Recheneinrichtung: ◯ aus den Konstruktionsdaten eine erste Teilmenge der Konstruktionsdaten ausgewählt wird, wobei die erste Teilmenge eines der Produkte charakterisiert; und ◯ aus den Anlagendaten eine zweite Teilmenge der Anlagendaten ausgewählt wird, wobei die zweite Teilmenge eine der Anlagen charakterisieren; und - mittels der elektronischen Recheneinrichtung in Abhängigkeit von der ersten Teilmenge wenigstens ein zum Herstellen des durch die erste Teilmenge charakterisierten Produkts erforderlicher Arbeitsvorgang automatisch berechnet und dadurch ermittelt wird; und - mittels der elektronischen Recheneinrichtung in Abhängigkeit von der zweiten Teilmenge geprüft wird, ob die durch die zweite Teilmenge charakterisierte Anlage in der Lage ist, den berechneten Arbeitsvorgang durchzuführen.
  8. Vorrichtung zur Datenverarbeitung, umfassend Mittel zur Ausführung des Verfahrens nach einem der vorhergehenden Ansprüche.
  9. Computerprogramm, umfassend Befehle, die bei einer Ausführung des Computerprogramms durch einen Computer den Computer veranlassen, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.
  10. Computerlesbares Medium, auf dem das Computerprogramm nach Anspruch 9 gespeichert ist.
DE102022124067.3A 2022-09-20 2022-09-20 Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs, Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbares Medium Pending DE102022124067A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022124067.3A DE102022124067A1 (de) 2022-09-20 2022-09-20 Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs, Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbares Medium
PCT/EP2023/074160 WO2024061602A2 (de) 2022-09-20 2023-09-04 Verfahren zum ermitteln eines von einem roboter auszuführenden arbeitsvorgangs, verfahren zum ermitteln und prüfen eines von einer anlage auszuführenden arbeitsvorgangs, vorrichtung zur datenverarbeitung, computerprogramm und computerlesbares medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022124067.3A DE102022124067A1 (de) 2022-09-20 2022-09-20 Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs, Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbares Medium

Publications (1)

Publication Number Publication Date
DE102022124067A1 true DE102022124067A1 (de) 2024-03-21

Family

ID=87929307

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022124067.3A Pending DE102022124067A1 (de) 2022-09-20 2022-09-20 Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs, Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbares Medium

Country Status (2)

Country Link
DE (1) DE102022124067A1 (de)
WO (1) WO2024061602A2 (de)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013099815A (ja) 2011-11-08 2013-05-23 Fanuc Ltd ロボットプログラミング装置
US8886359B2 (en) 2011-05-17 2014-11-11 Fanuc Corporation Robot and spot welding robot with learning control function
DE102012218297B4 (de) 2011-10-13 2015-07-16 GM Global Technology Operations, LLC (n.d. Ges. d. Staates Delaware) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE102014216514B3 (de) 2014-08-20 2015-09-10 Kuka Roboter Gmbh Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter
JP6457473B2 (ja) 2016-12-16 2019-01-23 ファナック株式会社 ロボットおよびレーザスキャナの動作を学習する機械学習装置,ロボットシステムおよび機械学習方法
EP3685968A1 (de) 2019-01-22 2020-07-29 Bayerische Motoren Werke Aktiengesellschaft Roboterbewegungsplanung bei der herstellung

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59149677A (ja) 1983-01-25 1984-08-27 日産自動車株式会社 コネクタハウジング
GB2582932B (en) * 2019-04-08 2022-07-27 Arrival Ltd System and method for flexible manufacturing
US11213947B2 (en) * 2019-06-27 2022-01-04 Intel Corporation Apparatus and methods for object manipulation via action sequence optimization
TW202146189A (zh) * 2020-01-22 2021-12-16 美商即時機器人股份有限公司 於多機器人操作環境中之機器人之建置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886359B2 (en) 2011-05-17 2014-11-11 Fanuc Corporation Robot and spot welding robot with learning control function
DE102012218297B4 (de) 2011-10-13 2015-07-16 GM Global Technology Operations, LLC (n.d. Ges. d. Staates Delaware) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
JP2013099815A (ja) 2011-11-08 2013-05-23 Fanuc Ltd ロボットプログラミング装置
DE102014216514B3 (de) 2014-08-20 2015-09-10 Kuka Roboter Gmbh Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter
JP6457473B2 (ja) 2016-12-16 2019-01-23 ファナック株式会社 ロボットおよびレーザスキャナの動作を学習する機械学習装置,ロボットシステムおよび機械学習方法
EP3685968A1 (de) 2019-01-22 2020-07-29 Bayerische Motoren Werke Aktiengesellschaft Roboterbewegungsplanung bei der herstellung

Also Published As

Publication number Publication date
WO2024061602A2 (de) 2024-03-28
WO2024061602A3 (de) 2024-05-10

Similar Documents

Publication Publication Date Title
DE112009003656B4 (de) Verfahren und System zur In-Produktionsoptimierung der Parameter eines zur Montage verwendeten Roboters
EP1901149B1 (de) Vorrichtung und Verfahren zur Simulation eines Ablaufs zur Bearbeitung eines Werkstücks an einer Werkzeugmaschine
DE10352815B4 (de) Simulationsverfahren für eine Bearbeitung eines Werkstücks durch eine Werkzeugmaschine und korrespondierender Rechner
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE112008003963B4 (de) System und Verfahren zur Off-line-Programmierung eines Industrieroboters
DE102015015093B4 (de) Roboterprogrammiervorrichtung zum Instruieren eines Roboters für eine Bearbeitung
DE102008027475A1 (de) Vorrichtung und Verfahren zur rechnergestützten Generierung einer Manipulatorbahn
DE19639424A1 (de) Entwurfsverfahren für die Anlagentechnik und rechnergestütztes Projektierungssystem zur Verwendung bei diesem Verfahren
EP3434424A1 (de) Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
DE4431315A1 (de) Steuerungsverfahren und Steuerungsvorrichtung für Fabrik-Automatisierungssystem
WO2007036466A2 (de) Verfahren zur simulation eines steuerungs- und/oder maschinenverhaltens einer werkzeugmaschine oder einer produktionsmaschine
WO2017005783A1 (de) Computerimplementiertes verfahren zur bearbeitung von datenobjektvarianten
DE10231675A1 (de) Simulationssystem für die Maschinensimulation und Datenausgabe von Steuerdaten für ein Automatisierungssystem
DE112016007339T5 (de) Simulationsvorrichtung
EP4121825A1 (de) Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage
DE102022124067A1 (de) Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs, Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbares Medium
WO2008113305A1 (de) Vorrichtung zur erstellung von bearbeitungsprogrammen für eine bearbeitungsmaschine
EP1430370B1 (de) System und verfahren zur programmierung eines automatisierungssystems basierend auf impulsdiagrammen
DE112008003870T5 (de) Verfahren und System zum Steuern eines Industrieroboters in Übereinstimmung mit einem Bewegungssteuerungs-Parametersatz
DE102020103852B4 (de) Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
DE102004019432A1 (de) Verfahren und System zur virtuellen Inbetriebsetzung einer technischen Anlage mit bevorzugter Verwendung
DE10134940B4 (de) Entwicklungssystem und Entwicklungsverfahren für ein reales Steuerungssystem
DE112016007216B4 (de) Numerische Steuervorrichtung
DE102007007601B4 (de) Verfahren zur Optimierung eines Steuerprogramms und mehrachsige Maschine
DE102023130596A1 (de) Verfahren zur Inbetriebnahme einer Produktionsmaschine, Computerprogramm und Datenträger

Legal Events

Date Code Title Description
R163 Identified publications notified