DE102019117877B4 - Roboterprogrammgenerierungsvorrichtung - Google Patents

Roboterprogrammgenerierungsvorrichtung Download PDF

Info

Publication number
DE102019117877B4
DE102019117877B4 DE102019117877.0A DE102019117877A DE102019117877B4 DE 102019117877 B4 DE102019117877 B4 DE 102019117877B4 DE 102019117877 A DE102019117877 A DE 102019117877A DE 102019117877 B4 DE102019117877 B4 DE 102019117877B4
Authority
DE
Germany
Prior art keywords
robot
workpiece
work
front panel
layout
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
DE102019117877.0A
Other languages
English (en)
Other versions
DE102019117877A1 (de
Inventor
Kozo Inoue
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102019117877A1 publication Critical patent/DE102019117877A1/de
Application granted granted Critical
Publication of DE102019117877B4 publication Critical patent/DE102019117877B4/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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • 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
    • 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/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/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
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40323Modeling robot environment for sensor based robot 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40392Programming, visual robot programming language
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40548Compare measured distances to obstacle with model of environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Roboterprogrammgenerierungsvorrichtung (10) für ein Robotersystem, das wenigstens einen Roboter (52) und eine periphere Vorrichtung (51) aufweist, dadurch gekennzeichnet, dass die Roboterprogrammgenerierungsvorrichtung (10)ein Mittel zur Wahl eines typischen Anordnungsmusters des Robotersystems;ein Mittel zur Wahl von jeweiligen Anordnungselementen, die in dem gewählten Anordnungsmuster angeordnet werden;ein Mittel zum automatischen Generieren eines Layouts (50), bei dem die Anordnungselemente in einem stillstehenden Zustand nicht miteinander kollidieren; ein Mittel zum automatischen Generieren eines Roboterprogramms gemäß einem Arbeitsinhalt, der dem gewählten Anordnungsmuster entspricht, und dem automatisch erzeugten Layout (50);ein Mittel zum Ausführen des automatisch generierten Roboterprogramms in einer virtuellen Umgebung und zum automatischen Berichtigen der Einrichtungspositionen der Anordnungselemente in dem automatisch generierten Layout (50) auf Basis des Vorliegens von Kollisionen im Betriebszustand des Roboters (52) und der Erreichbarkeit von Werkstücken (54) für den Roboter (52); undein Mittel zum Korrigieren des Roboterprogramms auf Basis der automatisch berichtigten Einrichtungspositionen umfasst.

Description

  • Allgemeiner Stand der Technik
  • Die vorliegende Erfindung betrifft eine Roboterprogrammgenerierungsvorrichtung, und betrifft insbesondere eine Roboterprogrammgenerierungsvorrichtung für ein Robotersystem, das wenigstens einen Roboter und eine periphere Vorrichtung umfasst.
  • Für die Erstellung des Layouts eines Robotersystems, die Erstellung von Programmen und die Vornahme von Simulationen, die für eine Offline-Programmierung erforderlich sind, sind viele Kenntnisse im Zusammenhang mit der Programmierung, Kenntnisse hinsichtlich der Simulationsvorrichtung und Kenntnisse hinsichtlich des Roboters erforderlich. Folglich ist für die Vornahme einer abschließenden Simulation viel Zeit nötig. Es wurden verschiedene Techniken offenbart, um den Zeitaufwand für die Simulationen zu verringern.
  • In der Patentoffenlegungsschrift JP 2005-148 789 A ist eine Roboterlehrprogrammbearbeitungsvorrichtung offenbart. In der Programmbearbeitungsvorrichtung werden vorab ein Modell einer Arbeitszelle, in der ein Roboter, ein Werkstück, periphere Geräte und dergleichen provisorisch angeordnet wurden, ein Modell für eine Roboterarbeitsanweisung, und ein Roboterbetriebsbefehl im Zusammenhang mit den Anordnungselementen definiert. Wenn eine Stimmeingabe einer Arbeitsanweisung, die auf dem Satzmuster des Modells der Roboterbetriebsanweisung beruht, eingegeben wird, wird ein Roboterbetriebsbefehl im Zusammenhang mit den Anordnungselementen angezeigt, und auf einem Bildschirm der Roboterbetrieb dargestellt.
  • In der Patentoffenlegungsschrift JP 2008-015 683 A ist eine Roboterprogrammiervorrichtung offenbart. In der Roboterprogrammiervorrichtung sind dreidimensionale Formdaten einer Hand, bei der der Übereinstimmungsgrad der Formcharakteristik in Bezug auf ein neues Werkstück am höchsten ist, gespeichert und kann ein ideales Transportbetriebsprogramm für einen Roboter in Bezug auf das neue Werkstück bei einem geringen Zeitaufwand leicht und sicher erstellt werden.
  • Aus der DE 600 25 683 T2 ist beispielsweise eine Vorrichtung bekannt, die bildschirmbasiert eine Animation mit einem angezeigten Modell eines Roboters beschreibt. Die EP 1 842 631 B1 und EP 1 798 616 A2 offenbaren Vorrichtungen zur Offline-Programmierung, bei denen zum Beispiel eine automatische Wegerstellung eines Roboters bzw. Bestimmung einer Roboterposition erfolgt. EP 1 749 621 B1 beschreibt eine Vorrichtung, die dazu konfiguriert ist, die Bewegungsabläufe mehrerer Roboter zu lernen bzw. zu bestimmen, um Zeit zu sparen. Aus der US 2018/0 036 882 A1 geht eine Vorrichtung zur Layoutbestimmung für einen Roboter in Kombination mit einem peripheren Gerät hervor. Die JP 2017-213 644 A offenbart eine Vorrichtung zur Erstellung einer virtuellen Umgebung für ein Werkstück, das durch einen Roboter herstellt wird.
  • Kurzdarstellung der Erfindung
  • Die Arten und das Layout von Anordnungselementen, die in einer Arbeitszelle angeordnet sind, ändern sich je nach den Wünschen eines Benutzers, der ein Robotersystem einführt, der Umgebung, und dergleichen. Das Layout muss so erstellt werden, dass Kollisionen von Anordnungselementen im stillstehenden Zustand und Kollisionen zwischen dem Roboter und anderen Anordnungselementen im Betriebszustand vermieden werden. Das heißt, das Layout wird durch die Anordnungsposition und die Größe der Anordnungselemente, den dem Anordnungsmuster entsprechenden Arbeitsinhalt und Betriebsbereich des Roboters, die Position und die Lage des Roboters in Bezug auf ein Werkstück, und dergleichen beeinflusst. Der Umstand, dass sich das Layout und das Roboterprogramm somit wechselseitig beeinflussen, ist die Ursache für den Zeitaufwand bei den Simulationen.
  • Daher wird eine Technik gewünscht, wodurch Roboterprogramme für typische Anordnungsmuster durch eine einfache Bildschirmtätigkeit sofort generiert werden.
  • Der Erfindung liegt daher die Aufgabe zu Grunde, eine Roboterprogrammierungsvorrichtung anzugeben, die das Erstellen von einem Layout eines Robotersytems vereinfacht.
  • Erfindungsgemäß wird diese Aufgabe hinsichtlich der Roboterprogrammiervorrichtung durch den Gegenstand des Anspruchs 1 gelöst.
  • Konkret wird die Aufgabe durch eine Roboterprogrammgenerierungsvorrichtung für ein Robotersystem gelöst, das wenigstens einen Roboter und eine periphere Vorrichtung aufweist, die ein Mittel zur Wahl eines typischen Anordnungsmusters des Robotersystems; ein Mittel zur Wahl von jeweiligen Anordnungselementen, die in dem gewählten Anordnungsmuster angeordnet werden; ein Mittel zum automatischen Generieren eines Layouts, bei dem die Anordnungselemente in einem stillstehenden Zustand nicht miteinander kollidieren; ein Mittel zum automatischen Generieren eines Roboterprogramms gemäß einem Arbeitsinhalt, der dem gewählten Anordnungsmuster entspricht, und dem automatisch erzeugten Layout; ein Mittel zum Ausführen des automatisch generierten Roboterprogramms in einer virtuellen Umgebung und zum automatischen Berichtigen der Einrichtungspositionen der Anordnungselemente in dem Layout auf Basis des Vorliegens von Kollisionen im Betriebszustand des Roboters und der Erreichbarkeit von Werkstücken für den Roboter; und ein Mittel zum Korrigieren des Roboterprogramms auf Basis der automatisch berichtigten Einrichtungspositionen umfasst.
  • Figurenliste
    • 1 ist ein Blockdiagramm einer Roboterprogrammgenerierungsvorrichtung nach einer Ausführungsform.
    • 2A ist eine Auswahlbildschirmanzeige zur Wahl eines Anordnungsmusters bei der Ausführungsform.
    • 2B ist eine Auswahlbildschirmanzeige zur Wahl einer peripheren Vorrichtung bei der Ausführungsform.
    • 2C ist eine Auswahlbildschirmanzeige zur Wahl eines Roboters bei der Ausführungsform.
    • 2D ist eine Auswahlbildschirmanzeige zur Wahl einer Hand bei der Ausführungsform.
    • 2E ist eine Auswahlbildschirmanzeige zur Wahl eines Werkstücks bei der Ausführungsform.
    • 3 ist ein Ablaufprogramm einer Roboterprogrammgenerierungssoftware bei der Ausführungsform.
    • 4 ist eine Anzeigebildschirmdarstellung, die ein automatisch generiertes Layout bei der Ausführungsform anzeigt.
    • 5A ist eine erklärende Ansicht, die eine Vorgangsweise für die Bestimmung der Werkstückentnahmelage und der Werkstückabgabelage bei der Ausführungsform zeigt.
    • 5B ist eine erklärende Ansicht, die die Vorgangsweise für die Bestimmung der Werkstückentnahmelage und der Werkstückabgabelage bei der Ausführungsform zeigt.
    • 6 ist ein Ablaufdiagramm, das die Vorgangsweise für die Bestimmung der Werkstückentnahmelage und der Werkstückabgabelage bei der Ausführungsform zeigt.
    • 7 ist eine erklärende Ansicht, die eine Vorgangsweise für die Bestimmung der Werkstückentnahmelage und der Werkstückabgabelage bei einer anderen Ausführungsform zeigt.
    • 8 ist ein Ablaufdiagramm, das die Vorgangsweise für die Bestimmung der Werkstückentnahmelage und der Werkstückabgabelage bei der anderen Ausführungsform zeigt.
  • Ausführliche Erklärung
  • Nachstehend werden unter Bezugnahme auf die beiliegenden Zeichnungen Ausführungsformen der vorliegenden Offenbarung ausführlich erklärt. In den einzelnen Zeichnungen sind gleiche oder ähnliche Elemente mit gleichen oder ähnlichen Bezugszeichen versehen. Die nachstehend beschriebenen Ausführungsformen beschränken den technischen Umfang der in den Patentansprüchen angegebenen Erfindung und die Bedeutung der Fachausdrücke nicht.
  • 1 ist ein Blockdiagramm einer Roboterprogrammgenerierungsvorrichtung 10 nach einer vorliegenden Ausführungsform. Die Roboterprogrammgenerierungsvorrichtung 10 ist durch einen allgemein bekannten Computer, der wenigstens eine CPU 11, einen RAM 12, einen ROM 13, einen nichtflüchtigen Speicher 14, eine Anzeigeeinheit 15, eine Eingabeeinheit 16 und eine Kommunikationssteuereinheit 17 umfasst, gebildet. In dem ROM 13 ist vorab eine Roboterprogrammgenerierungssoftware 20 gespeichert. Die Roboterprogrammgenerierungssoftware 20 ist eine Software zum Generieren eines Roboterprogramms für ein Robotersystem, das einen Roboter, eine periphere Vorrichtung, eine Hand, ein Werkstück, einen Tisch, und dergleichen umfasst, und erzeugt durch eine einfache Assistentenbetätigung sofort ein Roboterprogramm für ein typisches Anordnungsmuster. Die CPU 11 befiehlt das Lesen der Roboterprogrammgenerierungssoftware 20 von dem ROM 13 in den RAM 12 und ihre Ausführung und das Anzeigen von Ausgabedaten an der Anzeigeeinheit 15 wie etwa einer Flüssigkristallanzeigevorrichtung, befiehlt das Eingeben von Eingabedaten in die Eingabeeinheit 16 wie etwa ein Touchpanel oder dergleichen, und befiehlt das Senden des generierten Roboterprogramms oder dergleichen von der Kommunikationssteuereinheit 17 an eine Robotersteuervorrichtung (nicht dargestellt).
  • In dem nichtflüchtigen Speicher sind vorab mehrere Arten von Anordnungsmusterdaten 21, mehrere Arten von Periphervorrichtungsdaten 22, mehrere Arten von Roboterdaten 23, mehrere Arten von Handdaten 24, mehrere Arten von Werkstückdaten 25, mehrere Arten von Arbeitsinhaltsdaten 26 und dergleichen gespeichert. Die Anordnungsmusterdaten 21 umfassen Einrichtungspositionsdaten für verschiedene Anordnungselemente (Roboter, periphere Vorrichtungen, Tische, Werkstücke, und dergleichen), die in typischen Anordnungsmustern angeordnet werden. Die Einrichtungsposition ist als Mittelposition der Einrichtungsfläche eines Anordnungselements definiert. Die Periphervorrichtungsdaten 22 umfassen dreidimensionale Formdaten von verschiedenen Werkzeugmaschinen (zum Beispiel Formdaten von Spritzgussmaschinen, Entladungsbearbeitungsmaschinen, Laserbearbeitungsmaschinen, und dergleichen). Die Roboterdaten 23 umfassen dreidimensionale Formdaten von verschiedenen Industrierobotern, und die Handdaten 24 umfassen dreidimensionale Formdaten von verschiedenen Händen (zum Beispiel Formdaten von Ansaughänden, elektrisch angetriebenen Händen, und dergleichen). Die Werkstückdaten 25 umfassen dreidimensionale Formdaten von verschiedenen Werkstücken (zum Beispiel Würfel, Zylinder, Kugeln, und dergleichen). Die Arbeitsinhaltsdaten 26 umfassen verschiedene Arbeitsabläufe, die vorab gemäß den Anordnungsmustern definiert wurden, und verschiedene Roboterbetriebsbefehle, die den Arbeitsabläufen entsprechen. Als Arbeitsablauf kann beispielsweise das Bewegen eines Werkstücks D durch einen Roboter A gemäß einem Türöffnungssignal von einer Werkstückentnahmeposition einer peripheren Vorrichtung B zu einer Werkstückabgabeposition eines Tischs C, oder dergleichen angeführt werden.
  • 2A bis 2E zeigen Assistentenbildschirmanzeigen der Roboterprogrammgenerierungssoftware. 2A zeigt eine Auswahlbildschirmanzeige 30 zur Wahl des Anordnungsmusters des Robotersystems, wobei in der Auswahlbildschirmanzeige 30 für das Anordnungsmuster mehrere Wahltasten 40, die typische Anordnungsmustern beschreiben, dargestellt sind. 2B zeigt eine Auswahlbildschirmanzeige 31 für die periphere Vorrichtung, die in dem gewählten Anordnungsmuster angeordnet wird, wobei in der Auswahlbildschirmanzeige 31 für die periphere Vorrichtung mehrere Wahltasten 41, die mehrere Arten von peripheren Vorrichtungen beschreiben, und eine Wahltaste 42 für die Wahl einer Türposition der peripheren Vorrichtung dargestellt sind. 2C zeigt eine Auswahlbildschirmanzeige 32 für den Roboter, der in dem gewählten Anordnungsmuster angeordnet wird, wobei in der Auswahlbildschirmanzeige 32 für den Roboter mehrere Wahltasten 43, die mehrere Arten von Robotern beschreiben, dargestellt sind. 2D zeigt eine Auswahlbildschirmanzeige 33 für die Hand, die in dem gewählten Anordnungsmuster angeordnet wird, wobei in der Auswahlbildschirmanzeige 33 für die Hand mehrere Wahltasten 44, die mehrere Arten von Händen beschreiben, dargestellt sind. 2E zeigt eine Auswahlbildschirmanzeige 34 für das Werkstück, das in dem gewählten Anordnungsmuster angeordnet wird, wobei in der Auswahlbildschirmanzeige 34 für das Werkstück mehrere Wahltasten 45, die mehrere Arten von Werkstücken beschreiben, dargestellt sind. Die Wahltasten 45 für das Werkstück weisen eine Wahltaste zur Wahl von CAD-Daten des Werkstücks und Wahltasten zur Wahl von typischen Werkstückformen auf. Andere Ausführungsformen können auch eine Auswahlbildschirmanzeige zur Wahl eines Tischs, auf dem das Werkstück angeordnet wird, aufweisen.
  • 3 ist ein Ablaufdiagramm der Roboterprogrammgenerierungssoftware. Die Roboterprogrammgenerierungssoftware generiert durch Ausführen der nachstehend beschriebenen Schritte automatisch das Layout des Robotersystems und das Roboterprogramm.
  • Schritt S10: Aus mehreren Arten von typischen Anordnungsmustern wird das Anordnungsmuster des Robotersystems gewählt (siehe 2A).
  • Schritt S11: Aus mehreren Arten von peripheren Vorrichtungen, mehreren Arten von Robotern, mehreren Arten von Händen, und mehreren Arten von Werkstücken werden die Anordnungselemente, die in dem gewählten Anordnungsmuster angeordnet werden, gewählt (siehe 2B bis 2E).
  • Schritt S12: Die gewählten Anordnungselemente werden in einem virtuellen Raum angeordnet.
  • Schritt S13: Es wird bestimmt, ob im stillstehenden Zustand Kollisionen von Anordnungselementen vorliegen oder nicht. Die Kollisionsbestimmung kann verschiedene allgemein bekannte Verfahren benutzen.
  • Schritt S14: Wenn Kollisionen von Anordnungselementen im stillstehenden Zustand vorliegen (JA in Schritt S13), werden die Einrichtungspositionen der Anordnungselemente in dem automatisch generierten Layout automatisch berichtigt. Hier wird irgendeine der Einrichtungspositionen der kollidierenden Anordnungselemente (Roboter, periphere Vorrichtung, Werkstück, Tisch, und dergleichen) an eine Position bewegt, an der keine Kollision vorliegt.
  • Schritt S15: Wenn im stillstehenden Zustand keine Kollisionen von Anordnungselementen vorliegen (NEIN in Schritt S13), werden der von dem gewählten Anordnungsmuster abhängende Arbeitsinhalt sowie das Roboterprogramm gemäß dem automatisch generierten Layout automatisch generiert. Hier wird zum Beispiel ein Roboterprogramm generiert, wodurch ein Roboter A ein Werkstück D gemäß einem Türöffnungssignal von einer Werkstückentnahmeposition eines Tischs C zu einer Werkstückabgabeposition einer peripheren Vorrichtung B bewegt.
  • Schritt S16: Das automatisch generierte Roboterprogramm wird in dem virtuellen Raum ausgeführt.
  • Schritt S17: Es wird bestimmt, ob eine Kollision zwischen dem Roboter im Betriebszustand und einem anderen Anordnungselement vorliegt, bzw., ob der Roboter das Werkstück nicht erreicht. Wenn der Roboter im Betriebszustand nicht mit einem anderen Anordnungselement kollidiert, und wenn der Roboter das Werkstück erreicht (NEIN in Schritt S17), wird die automatische Generierung des Layouts und des Roboterprogramms beendet.
  • Schritt S18: Wenn eine Kollision zwischen dem Roboter im Betriebszustand und einem anderen Anordnungselement vorliegt, oder wenn der Roboter das Werkstück nicht erreicht (JA in Schritt S17), werden die Einrichtungspositionen der Anordnungselemente in dem automatisch generierten Layout automatisch berichtigt. Dann wird zu Schritt S15 zurückgekehrt und das Roboterprogramm auf Basis der automatisch berichtigten Einrichtungspositionen automatisch korrigiert (erneut generiert).
  • 4 ist eine Anzeigebildschirmdarstellung, die ein automatisch generiertes Layout 50 anzeigt. Das Layout enthält die Einrichtungspositionsdaten der peripheren Vorrichtung 51, des Roboters 52, der Hand 53, des Werkstücks 54 und des Tischs 55. Aus der Anzeigebildschirmdarstellung des Layouts 50 kann leicht eine Überprüfung der Spezifikationen des Robotersystems gemäß den Wünschen des Benutzers, der Umgebung, und dergleichen vorgenommen werden. Und da das Roboterprogramm des typischen Layouts durch eine einfache Assistentenbetätigung sofort generiert wird, können der Zeitaufwand für die Erstellung des Layouts und der Zeitaufwand für die Erstellung des Roboterprogramms verringert werden.
  • 5A und 5B sind erklärende Ansichten, die die Vorgangsweise für die Bestimmung der Werkstückentnahmelage und der Werkstückabgabelage zeigen. Wenn bei der Werkstückentnahmelage und der Werkstückabgabelage ein Freiheitsgrad besteht, wird in 5A gezeigt eine Frontplatte 56 um eine Achsenlinie Z, die durch einen vorab festgelegten Werkzeugmittelpunkt (TCP) verläuft, bewegt (zum Beispiel gedreht), und wie in 5B gezeigt die Position der Frontplatte 56 in Bezug auf das Werkstück 54, an der ein Abstand zwischen einer Zentrumsposition der Frontplatte 56 und einem Referenzpunkt O (siehe 4), der an einer Fixierungsbasis 57 des Roboters 52 festgelegt ist, am kürzesten wird, als Werkstückentnahmelage oder Werkstückabgabelage bestimmt.
  • 6 ist ein Ablaufdiagramm für die Bestimmung der durch 5 umrissenen Werkstückentnahmelage und Werkstückabgabelage. Die Roboterprogrammgenerierungssoftware bestimmt die Werkstückentnahmelage und die Werkstückabgabelage durch Ausführen der nachstehend beschriebenen Schritte.
  • Schritt S20: Der Roboter wird an die Werkstückentnahmeposition bewegt.
  • Schritt S21: Die Frontplatte 56 des Roboters 52 wird um die Achsenlinie Z, die durch den vorab festgelegten TCP verläuft, bewegt, und die Position der Frontplatte 56 in Bezug auf das Werkstück 54, an der der Roboter 52 im Betriebszustand nicht mit einem anderen Anordnungselement kollidiert und der Abstand zwischen der Zentrumposition der Frontplatte 56 und dem an der Fixierungsbasis 57 des Roboters 52 festgelegten Referenzpunkt O (siehe 4) am kürzesten wird, als Werkstückentnahmelage bestimmt.
  • Schritt S22: Der Roboter wird an die Werkstückabgabeposition bewegt.
  • Schritt S23: Die Frontplatte 56 des Roboters 52 wird um die Achsenlinie Z, die durch den vorab festgelegten TCP verläuft, bewegt, und die Position der Frontplatte 56 in Bezug auf das Werkstück 54, an der der Roboter 52 im Betriebszustand nicht mit einem anderen Anordnungselement kollidiert und der Abstand zwischen der Zentrumposition der Frontplatte 56 und dem an der Fixierungsbasis 57 des Roboters 52 festgelegten Referenzpunkt O (siehe 4) am kürzesten wird, als Werkstückabgabelage bestimmt.
  • Durch das Bestimmen jener Lage, in der der Abstand zwischen der Zentrumposition der Frontplatte 56 und dem an der Fixierungsbasis 57 des Roboters 52 festgelegten Referenzpunkt O am kürzesten wird, als Werkstückentnahmelage und Werkstückabgabelage wird eine unnatürliche Lage des Roboters vermieden, die Zykluszeit optimiert, und kann das Roboterprogramm unter Berücksichtigung von Kollisionszuständen generiert werden.
  • 7 ist eine erklärende Ansicht, die die Vorgangsweise für die Bestimmung der Werkstückentnahmelage und der Werkstückabgabelage bei einer anderen Ausführungsform zeigt. Wenn die Werkstückabgabelage im Voraus festgelegt ist, wird die Frontplatte 56 an der Werkstückentnahmeposition 60 in dem virtuellen Raum um die Achsenlinie Z, die durch den vorab festgelegten TCP verläuft, bewegt, und die Position der Frontplatte 56 in Bezug auf das Werkstück 54, an der der Abstand zwischen der Zentrumposition der Frontplatte 56 und dem an der Fixierungsbasis 57 des Roboters 52 festgelegten Referenzpunkt O am engsten ist, als Werkstückentnahmelage festgelegt und der Roboter 52 in der festgelegten Werkstückentnahmelage in dem virtuellen Raum an die Werkstückabgabeposition 61 bewegt. Wenn die festgelegte Werkstückentnahmelage nicht für die im Voraus festgelegte Werkstückabgabelage geeignet ist, wird jene Position der Frontplatte in Bezug auf das Werkstück 54, an der der Abstand zwischen der Zentrumposition der Frontplatte 56 und dem an der Fixierungsbasis 57 des Roboters 52 festgelegten Referenzpunkt O am zweitengsten ist, neu als Werkstückentnahmelage festgelegt und die gleiche Verarbeitung wiederholt.
  • 8 ist ein Ablaufdiagramm für die Bestimmung der durch 7 umrissenen Werkstückentnahmelage und Werkstückabgabelage. Die Roboterprogrammgenerierungssoftware bestimmt die Werkstückentnahmelage und die Werkstückabgabelage durch Ausführen der nachstehend beschriebenen Schritte.
  • Schritt S30: In i (eine Variable, für die eine ganze Zahl eingegeben wird) wird 1 eingesetzt.
  • Schritt S31: Der Roboter 52 wird in dem virtuellen Raum an die Werkstückentnahmeposition 60 bewegt.
  • Schritt S32: Die Frontplatte 56 des Roboters wird um eine Achsenlinie, die durch einen vorab festgelegten TCP verläuft, bewegt, und die Position der Frontplatte 56 in Bezug auf das Werkstück 57, an der der Roboter 52 im Betriebszustand nicht mit einem anderen Anordnungselement kollidiert und der Abstand zwischen der Zentrumsposition der Frontplatte 56 und dem an der Fixierungsbasis 57 des Roboters 52 festgelegten Referenzpunkt O am engsten wird, als Werkstückentnahmelage festgelegt.
  • Schritt S33: Der Roboter 52 in der festgelegten Werkstückentnahmelage wird in dem virtuellen Raum an die Werkstückabgabeposition bewegt.
  • Schritt S34: i wird um 1 erhöht.
  • Schritt S35: Es wird bestimmt, ob eine Kollision zwischen dem Roboter 52 im Betriebszustand und einem anderen Anordnungselement vorliegt, und, ob die Werkstückentnahmelage nicht für die im Voraus festgelegte Werkstückabgabelage geeignet ist. Für die Bestimmung der Eignung kann vorab ein zulässiger Bereich definiert werden. Wenn eine Kollision zwischen dem Roboter 52 im Betriebszustand und einem anderen Anordnungselement vorliegt, oder wenn die Werkstückentnahmelage nicht für die im Voraus festgelegte Werkstückabgabelage geeignet ist (JA in Schritt S35), wird zu Schritt S31 zurückgekehrt und die Werkstückentnahmelage an der Werkstückentnahmeposition 61 neu festgelegt und die gleiche Verarbeitung (Schritt S31 bis Schritt S35) wiederholt.
  • Schritt S36: Wenn der Roboter nicht mit einem anderen Anordnungselement kollidiert und die Werkstückentnahmelage für die im Voraus festgelegte Werkstückabgabelage geeignet ist (NEIN in Schritt S35), wird die festgelegte Werkstückentnahmelage als Werkstückentnahmelage bestimmt.
  • Durch das Bestimmen, ob die festgelegte Werkstückentnahmelage für die im Voraus festgelegte Werkstückabgabelage geeignet ist, kann ein Werkstück auch dann in einer passenden Lage ohne Kollisionen entnommen werden, wenn die Werkstückabgabelage im Voraus festgelegt wurde.
  • Die Software, die die oben beschriebenen Ablaufdiagramme ausführt, kann auf ein computerlesbares nichtflüchtiges Speichermedium wie zum Beispiel eine CD-ROM oder dergleichen aufgezeichnet bereitgestellt werden.

Claims (3)

  1. Roboterprogrammgenerierungsvorrichtung (10) für ein Robotersystem, das wenigstens einen Roboter (52) und eine periphere Vorrichtung (51) aufweist, dadurch gekennzeichnet, dass die Roboterprogrammgenerierungsvorrichtung (10) ein Mittel zur Wahl eines typischen Anordnungsmusters des Robotersystems; ein Mittel zur Wahl von jeweiligen Anordnungselementen, die in dem gewählten Anordnungsmuster angeordnet werden; ein Mittel zum automatischen Generieren eines Layouts (50), bei dem die Anordnungselemente in einem stillstehenden Zustand nicht miteinander kollidieren; ein Mittel zum automatischen Generieren eines Roboterprogramms gemäß einem Arbeitsinhalt, der dem gewählten Anordnungsmuster entspricht, und dem automatisch erzeugten Layout (50); ein Mittel zum Ausführen des automatisch generierten Roboterprogramms in einer virtuellen Umgebung und zum automatischen Berichtigen der Einrichtungspositionen der Anordnungselemente in dem automatisch generierten Layout (50) auf Basis des Vorliegens von Kollisionen im Betriebszustand des Roboters (52) und der Erreichbarkeit von Werkstücken (54) für den Roboter (52); und ein Mittel zum Korrigieren des Roboterprogramms auf Basis der automatisch berichtigten Einrichtungspositionen umfasst.
  2. Roboterprogrammgenerierungsvorrichtung (10) nach Anspruch 1, ferner umfassend: ein Mittel zum Bewegen einer Frontplatte (56) des Roboters (52) in einem virtuellen Raum an einer Werkstückentnahmeposition (60) um eine Achsenlinie (Z), die durch einen vorab festgelegten Werkzeugmittelpunkt (TCP) verläuft, und zum Bestimmen der Position der Frontplatte (56) in Bezug auf das Werkstück (54), an der der Roboter (52) im Betriebszustand nicht mit einem anderen Anordnungselement kollidiert und ein Abstand zwischen einer Zentrumsposition der Frontplatte (56) und einem an der Fixierungsbasis (57) des Roboters (52) festgelegten Referenzpunkt (O) am kürzesten wird, als Werkstückentnahmelage, und ein Mittel zum Bewegen der Frontplatte (56) in dem virtuellen Raum an einer Werkstückabgabeposition (61) um die Achsenlinie (Z), und zum Bestimmen der Position der Frontplatte (56) in Bezug auf das Werkstück (54), an der der Roboter (52) im Betriebszustand nicht mit einem anderen Anordnungselement kollidiert und ein Abstand zwischen der Zentrumsposition der Frontplatte (56) und dem an der Fixierungsbasis (57) des Roboters (52) festgelegten Referenzpunkt (O) am kürzesten wird, als Werkstückabgabelage.
  3. Roboterprogrammgenerierungsvorrichtung (10) nach Anspruch 2, wobei das Mittel zum Bestimmen der Werkstückentnahmelage dann, wenn die Werkstückabgabelage im Voraus festgelegt ist, ein Mittel zum Bewegen der Frontplatte (56) in dem virtuellen Raum an der Werkstückentnahmeposition (60) um die Achsenlinie (Z), und zum Festlegen der Position der Frontplatte (56) in Bezug auf das Werkstück (54), an der der Roboter (52) im Betriebszustand nicht mit einem anderen Anordnungselement kollidiert und ein Abstand zwischen der Zentrumsposition der Frontplatte (56) und dem an der Fixierungsbasis (57) des Roboters (52) festgelegten Referenzpunkt (O) am kürzesten wird, als Werkstückentnahmelage, ein Mittel zum Bewegen des Roboters (52) in der festgelegten Werkstückentnahmelage an die Werkstückabgabeposition (61), und zum Bestimmen, ob eine Kollision zwischen dem Roboter (52) im Betriebszustand und einem Anordnungselement vorliegt, sowie der Eignung der Werkstückentnahmelage in Bezug auf die im Voraus festgelegte Werkstückabgabelage, und ein Mittel zum Bestimmen der Werkstückentnahmelage durch Wiederholen einer Verarbeitung, bei der die Werkstückentnahmelage an der Werkstückentnahmeposition (60) neu festgelegt wird, wenn der Roboter (52) mit dem Anordnungselement kollidiert oder die festgelegte Werkstückentnahmelage nicht für die im Voraus festgelegte Werkstückabgabelage geeignet ist, aufweist.
DE102019117877.0A 2018-07-06 2019-07-02 Roboterprogrammgenerierungsvorrichtung Active DE102019117877B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018129338A JP6816068B2 (ja) 2018-07-06 2018-07-06 ロボットプログラム生成装置
JP2018-129338 2018-07-06

Publications (2)

Publication Number Publication Date
DE102019117877A1 DE102019117877A1 (de) 2020-01-16
DE102019117877B4 true DE102019117877B4 (de) 2022-11-10

Family

ID=69102513

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019117877.0A Active DE102019117877B4 (de) 2018-07-06 2019-07-02 Roboterprogrammgenerierungsvorrichtung

Country Status (4)

Country Link
US (1) US11345026B2 (de)
JP (1) JP6816068B2 (de)
CN (1) CN110682288B (de)
DE (1) DE102019117877B4 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT16425U1 (de) * 2017-12-14 2019-08-15 Wittmann Kunststoffgeraete Verfahren zur Validierung von programmierten Ablaufsequenzen oder
KR20230043706A (ko) 2021-09-24 2023-03-31 가부시키가이샤 다이헨 작업 프로그램 작성 시스템 및 작업 프로그램 작성 방법
WO2023162164A1 (ja) * 2022-02-25 2023-08-31 三菱電機株式会社 教示支援装置、作業システム、教示支援方法および教示支援プログラム
CN114924529B (zh) * 2022-06-20 2024-06-18 九众九机器人有限公司 一种机器人配对控制方法、装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005148789A (ja) 2003-11-11 2005-06-09 Fanuc Ltd 音声入力によるロボット教示プログラム編集装置
DE60025683T2 (de) 1999-10-12 2006-07-20 Fanuc Ltd. Graphische Anzeigevorrichtung für ein Robotersystem
EP1798616A2 (de) 2005-12-16 2007-06-20 Fanuc Ltd Offline-Programmiervorrichtung
JP2008015683A (ja) 2006-07-04 2008-01-24 Fanuc Ltd ロボットプログラムを作成するための装置、プログラム、記録媒体及び方法
EP1842631B1 (de) 2006-04-03 2008-11-19 ABB Research Ltd Vorrichtung und Verfahren zur Bahnerzeugung für einen Industrieroboter
EP1749621B1 (de) 2005-08-04 2014-01-22 Fanuc Corporation Roboterprogrammiervorrichtung
JP2017213644A (ja) 2016-05-31 2017-12-07 キヤノン株式会社 教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体
US20180036882A1 (en) 2016-08-04 2018-02-08 Canon Kabushiki Kaisha Layout setting method and layout setting apparatus

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470301B1 (en) * 1999-10-08 2002-10-22 Dassault Systemes Optimization tool for assembly workcell layout
JP2006048244A (ja) * 2004-08-02 2006-02-16 Fanuc Ltd 加工プログラム作成装置
JP2008073830A (ja) * 2006-09-25 2008-04-03 Fanuc Ltd ロボット制御装置
JP4302160B2 (ja) * 2007-09-12 2009-07-22 ファナック株式会社 ロボットによるパレタイジング作業のためのロボットプログラミング装置
EP2244866B1 (de) * 2008-02-20 2015-09-16 ABB Research Ltd. Verfahren und system zur optimierung des layouts einer roboterarbeitszelle
JP5386921B2 (ja) * 2008-10-09 2014-01-15 セイコーエプソン株式会社 産業用ロボットの位置教示装置、動作プログラム作成装置、産業用ロボットの位置教示方法およびプログラム
JP5980867B2 (ja) * 2014-10-07 2016-08-31 ファナック株式会社 ロボットをオフラインで教示するロボット教示装置
JP5927310B1 (ja) * 2015-01-14 2016-06-01 ファナック株式会社 ロボットシステムのシミュレーション装置
JP2016215319A (ja) * 2015-05-20 2016-12-22 ライフロボティクス株式会社 ロボットシステム及びロボット装置
US9724826B1 (en) * 2015-05-28 2017-08-08 X Development Llc Selecting physical arrangements for objects to be acted upon by a robot
JP6114361B1 (ja) * 2015-11-02 2017-04-12 ファナック株式会社 オフラインのロボットプログラミング装置
US20180085927A1 (en) * 2016-09-28 2018-03-29 International Business Machines Corporation Optimizing a layout of objects in a space
US20210323800A1 (en) * 2018-06-06 2021-10-21 Beijing Geekplus Technology Co., Ltd. Shelf management method and system, pickup area and stock pickup system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60025683T2 (de) 1999-10-12 2006-07-20 Fanuc Ltd. Graphische Anzeigevorrichtung für ein Robotersystem
JP2005148789A (ja) 2003-11-11 2005-06-09 Fanuc Ltd 音声入力によるロボット教示プログラム編集装置
EP1749621B1 (de) 2005-08-04 2014-01-22 Fanuc Corporation Roboterprogrammiervorrichtung
EP1798616A2 (de) 2005-12-16 2007-06-20 Fanuc Ltd Offline-Programmiervorrichtung
EP1842631B1 (de) 2006-04-03 2008-11-19 ABB Research Ltd Vorrichtung und Verfahren zur Bahnerzeugung für einen Industrieroboter
JP2008015683A (ja) 2006-07-04 2008-01-24 Fanuc Ltd ロボットプログラムを作成するための装置、プログラム、記録媒体及び方法
JP2017213644A (ja) 2016-05-31 2017-12-07 キヤノン株式会社 教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体
US20180036882A1 (en) 2016-08-04 2018-02-08 Canon Kabushiki Kaisha Layout setting method and layout setting apparatus

Also Published As

Publication number Publication date
JP6816068B2 (ja) 2021-01-20
CN110682288A (zh) 2020-01-14
DE102019117877A1 (de) 2020-01-16
US20200009724A1 (en) 2020-01-09
CN110682288B (zh) 2023-07-28
US11345026B2 (en) 2022-05-31
JP2020006472A (ja) 2020-01-16

Similar Documents

Publication Publication Date Title
DE102019117877B4 (de) Roboterprogrammgenerierungsvorrichtung
DE102016012779B4 (de) Offline-Roboterprogrammiervorrichtung
DE102010036499B4 (de) Werkzeugvektor-Anzeigevorrichtung für eine Werkzeugmaschine mit Drehachse
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE10352815B4 (de) Simulationsverfahren für eine Bearbeitung eines Werkstücks durch eine Werkzeugmaschine und korrespondierender Rechner
DE3806966C2 (de)
DE102013010853B4 (de) Numerische Steuervorrichtung, die eine Programmneustartfunktion aufweist
DE102018107864B4 (de) Offline-Programmiervorrichtung und -verfahren mit der Funktion zur Erzeugung eines Programms zur Detektion einer Werkstückposition mittels eines Kontaktsensors
EP0152772B1 (de) Verfahren zum Erzeugen von Werkstückkonturen
DE102017102014B4 (de) Bearbeitungsrobotersystem, in dem eine Bearbeitungsvorrichtung für die Bearbeitung mit einem Roboter verbunden ist
EP3434424A1 (de) Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
DE102016013434A1 (de) Folgesteuerprogrammiervorrichtung, Folgesteuerprogrammierverfahren und Arbeitssystem
DE102011000886B4 (de) Automatik-Programmierverfahren und Vorrichtung zur Erstellung eines Mehrwegeprogramms
DE102020124734A1 (de) Simulationsgerät
DE102015016489B4 (de) Numerische Steuerung
DE4105291A1 (de) Verfahren zum ueberwachen und planen von funktionen einer vorrichtung zur bearbeitung eines werkstueckes, sowie hierfuer geeignete vorrichtung
DE102017220653A1 (de) Leiterprogramm-Verwaltungsvorrichtung
DE102019001970B4 (de) Integriertes Simulationssystem mit verbesserter Bedienbarkeit
DE102014012718A1 (de) Steuereinheit für eine zentralisierte Steuerung durch Gruppieren einer Vielzahl von Wegen
EP0801340A1 (de) Verfahren und Vorrichtung zur Steuerung einer Werkzeugmaschine, insbesondere einer Funkenerosionsmaschine
DE102020103852B4 (de) Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
DE102017201949A1 (de) System zur Steuerung mindestens eines Betriebsmittels zur Herstellung und/oder Montage von Werkstücken
EP2908197A1 (de) Verfahren und Engineering-System zum Laden von Objekten eines Steuerprogramms in ein Automatisierungsgerät
EP1510893B1 (de) Verfahren und Vorrichtung zum Festlegen der Bewegungsbahn eines Handling-systems
DE102012108490B4 (de) Verfahren und Simulationsumgebung zur flexiblen automatisierten Verbindung von Teilmodellen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final