DE102020122847A1 - Steuersystem, steuerapparatur und roboter - Google Patents

Steuersystem, steuerapparatur und roboter Download PDF

Info

Publication number
DE102020122847A1
DE102020122847A1 DE102020122847.3A DE102020122847A DE102020122847A1 DE 102020122847 A1 DE102020122847 A1 DE 102020122847A1 DE 102020122847 A DE102020122847 A DE 102020122847A DE 102020122847 A1 DE102020122847 A1 DE 102020122847A1
Authority
DE
Germany
Prior art keywords
robot
singularity
unit
posture
control apparatus
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
DE102020122847.3A
Other languages
English (en)
Inventor
Kazutaka IMANISHI
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 DE102020122847A1 publication Critical patent/DE102020122847A1/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/1628Programme controls characterised by the control loop
    • B25J9/1643Programme controls characterised by the control loop redundant control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4086Coordinate conversions; Other special calculations
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35252Function, machine codes G, M
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36547Use binary code to avoid program tampering
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39081Inexact solution for orientation or other DOF with relation to type of task
    • 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/40333Singularity, at least one movement not possible, kinematic redundancy
    • 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/42Servomotor, servo controller kind till VSS
    • G05B2219/42192Each axis drive has own queue of commands, executed in synchronism

Landscapes

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

Abstract

Zur einfachen Erstellung eines Roboter-Bewegungsprogramms ohne die Notwendigkeit, eine Singularität zu berücksichtigen. Ein Steuersystem 1 umfasst eine Steuerapparatur 100 und eine Robotersteuerung 200. Die Steuerapparatur 100 umfasst eine Operationseinheit 110, die dem Roboter 200 eine Position beibringt, und eine Haltungswechsel-Instruktionseinheit 124, die eine Positionsänderung für den Fall anweist, dass der Roboter 200 bei seiner Bewegung eine Singularität oder deren Umgebung durchläuft, eine Singularitätsdurchlaufsbewegungs-Anforderungseinheit 125, die den Roboter 200 anweist, seine Haltung so zu ändern, dass der Roboter 200 die Singularität oder deren Umgebung durchläuft, eine Roboterantriebsinformations-Anforderungseinheit 129, die Roboterantriebsinformationen erfasst, und eine Roboter-G-Code-Erzeugungseinheit 130, die einen G-Code für den Roboter 200 aus den Roboterantriebsinformationen in ein Programm einfügt. Der Roboter 200 umfasst eine Antriebssteuereinheit 212, die den Roboter 200 antreibt, eine Singularitäts-Bestimmungseinheit 213, die den Durchgang durch die Singularität oder deren Umgebung bestimmt, eine Singularitäts-Durchlaufmuster-Erzeugungseinheit 215, die einen Bewegungsplan für den Durchgang durch die Singularität oder deren Umgebung auf der Grundlage der geänderten Haltung zum Antreiben des Roboters 200 erzeugt, und eine Roboterantriebsinformations-Ausgabeeinheit 219, die die Roboterantriebsinformationen an die Steuerapparatur 100 überträgt.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Steuersystem, eine Steuerapparatur und einen Roboter.
  • Verwandte Technik
  • Bei der Bearbeitung mit einer Werkzeugmaschine wurde ein Roboter beispielsweise für einen Arbeitsgang zum Anbringen/Entfernen von Werkstücken zum Zwecke der Automatisierung eingesetzt. In diesem Fall ist es notwendig, dem Roboter eine vorgegebene Arbeitsbewegung beizubringen. Obwohl eine Lernoperation für den Roboter mit Hilfe einer Robotersteuerung für den Roboter durchgeführt wird, ist ein Benutzer der Werkzeugmaschine nicht an die Handhabung der Robotersteuerung gewöhnt, und in einigen Fällen ist es für den Benutzer schwierig, eine solche Operation selbst durchzuführen.
  • Beispielsweise wurde ein integriertes System aus einem Roboter und einer Werkzeugmaschine offenbart, wobei das integrierte System in der Lage ist, den Roboter durch eine Steuereinheit der Werkzeugmaschine zu betreiben. Siehe beispielsweise Patentdokument 1.
  • Patentdokument 1: Japanische ungeprüfte Patentanmeldung, Veröffentlichung Nr. 2001-154717
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Bei der Lernoperation für den Roboter wird der Vorgang ausgeführt, den Roboter in eine gewünschte Position zu bewegen, während eine Taste zur Angabe einer Roboterbewegungsrichtung, d.h. der Jog-Betrieb, gedrückt wird, wobei die Taste auf der Lern-Steuertafel angeordnet ist. Ein solches Verfahren für den Jog-Betrieb umfasst einen orthogonalen Jog-Betrieb und einen Jog-Betrieb für jede Achse. Der orthogonale Jog-Betrieb ist die Operation, bei der dem Roboter eine gewünschte Position beigebracht wird, in die sich der Roboter auf Grundlage der Richtungen einer X-Achse, einer Y-Achse und einer Z-Achse eines am Roboter befestigten orthogonalen Koordinatensystems bewegt. In diesem Fall führt der Roboter zum Bewegen der Handspitze des Roboters in die eingelernte Position nicht nur eine Translationsbewegung in den Richtungen der X-Achse, der Y-Achse und der Z-Achse aus, sondern auch die haltungsverändernde Bewegung des Drehens der Handspitze des Roboters um jede Achse. Andererseits ist der Jog-Betrieb für jede Achse die Operation, bei der dem Roboter die gewünschte Bewegungszielposition durch Bewegen des Roboters in eine Richtung um die Achse jeder Robotergelenkachse beigebracht wird. Der orthogonale Jog-Betrieb ist eine Operation, die auf dem orthogonalen Koordinatensystem basiert, das für einen Menschen leicht verständlich ist, und daher führt der Benutzer die Lernoperation für den Roboter oft durch den orthogonalen Jog-Betrieb aus.
  • Wenn die Bewegungsrichtung der Handspitze des Roboters durch die orthogonale Jog-Operation vorgegeben und eine Zielposition gemäß dieser Operation erzeugt wird, wird der Drehwinkel jeder Gelenkachse aus der Zielposition auf Grundlage der inversen kinematischen Berechnung berechnet. Basierend auf dem berechneten Drehwinkel wird jede Gelenkachse so gesteuert, dass sich die Handspitze des Roboters in die Zielposition bewegt. In einem Fall, in dem die Lösung der inversen kinematischen Berechnung nicht aus der Zielposition gewonnen werden kann, ist es jedoch schwierig, den Roboter zu steuern. Beispielsweise können bei einer Zielposition, bei der sich der Roboter in einer solchen Haltung befindet, dass die Drehachsen von zwei oder mehr Gelenkachsen in einer Linie liegen, die Drehwinkel dieser Gelenkachsen nicht eindeutig festgelegt werden, und aus diesem Grund wird eine solche Position als „Singularität“ bezeichnet, und der Roboter kann nicht in eine solche Singularität bewegt werden. Insbesondere ist es oft notwendig, dass der Roboter die Singularität durchläuft, wenn er in die Werkzeugmaschine einfährt, um eine An- und Abhebebewegung auszuführen. In diesem Fall kann der Roboter nicht durch den orthogonalen Jog-Betrieb betrieben werden, und wenn der Roboter die Singularität durchläuft und diese durchquert, muss der orthogonale Jog-Betrieb auf den Jog-Betrieb für jede Achse umgeschaltet werden, ohne dass die inverse kinematische Berechnung erforderlich ist.
  • Für den an den Roboter ungewohnten Benutzer der Werkzeugmaschine ist es jedoch schwierig, die Singularität zu erfassen und den Roboter zu bedienen.
  • Aus diesem Grund gab es eine Nachfrage nach einem Roboter-Bewegungsprogramm, das leicht zu erstellen ist, ohne dass die Singularität berücksichtigt werden muss.
    • (1) Ein Aspekt eines Steuersystems (1) der vorliegenden Offenbarung ist ein Steuersystem (1), das eine Steuerapparatur (100), die eine Roboterposition lehren kann, und einen Roboter (200) umfasst, der gemäß der Positionslehre betrieben werden soll. Die Steuerapparatur (100) umfasst eine Operationseinheit (110), die dem Roboter (200) die Position auf Grundlage der Bedienung durch einen Benutzer beibringt, eine Haltungswechsel-Instruktionseinheit (124), die den Roboter (200) anweist, die Haltung zu ändern, falls er von dem Roboter (200) eine Mitteilung erhält, dass der Roboter (200) eine Singularität oder deren Umgebung durchläuft, wenn er sich in die gelernte Position bewegt, eine Singularitätsdurchlaufsbewegungs-Anforderungseinheit (125), die die Anweisung zum Ändern der Haltung an den Roboter (200) überträgt, so dass der Roboter (200) die Singularität oder deren Umgebung in der von der Haltungswechsel-Instruktionseinheit (124) angewiesenen Haltung durchläuft, eine Roboterantriebsinformations-Anforderungseinheit (129), die den Roboter (200) auffordert, Roboterantriebsinformationen bereitzustellen, die einen Antriebsstatus des Roboters (200) anzeigen, wenn der Roboter (200) die Singularität oder deren Umgebung durchläuft und die Roboterantriebsinformationen erfasst, und eine Roboter-G-Code-Erzeugungseinheit (130), die auf Grundlage der von der Roboterantriebsinformations-Anforderungseinheit (129) erfassten Roboterantriebsinformationen einen der Bewegung des Roboters (200) entsprechenden G-Code erzeugt und den erzeugten G-Code in ein Programm einfügt. Der Roboter (200) umfasst eine Antriebssteuereinheit (212), die den Roboter (200) antreibt, eine Singularitäts-Bestimmungseinheit (213), die bestimmt, ob der Roboter (200) die Singularität oder deren Umgebung durchläuft oder nicht, wenn er sich in die von der Steuerapparatur (100) gelehrte Position bewegt, und die eine Meldung, dass der Roboter (200) die Singularität oder deren Umgebung durchläuft, an die Steuerapparatur (100) sendet, in einem Fall, in dem der Roboter (200) die Singularität oder deren Umgebung durchläuft, eine Singularitäts-Durchlaufmuster-Erzeugungseinheit (215), die erzeugt, im Falle des Empfangens der Anweisung zum Ändern der Haltung des Roboters (200) von der Steuervorrichtung (100), einen Bewegungsplan, der auf der geänderten Haltung basiert, so dass der Roboter (200) die Singularität oder die Umgebung davon durchläuft und die Antriebssteuereinheit (212) veranlasst, den Roboter (200) basierend auf dem erzeugten Bewegungsplan anzutreiben, und eine Roboterantriebsinformations-Ausgabeeinheit (219), die die Roboterantriebsinformation an die Steuervorrichtung (100) überträgt, im Falle des Empfangens einer Anforderung für die Roboterantriebsinformation von der Steuervorrichtung (100).
    • (2) Ein Aspekt einer Steuerapparatur (100) der vorliegenden Offenbarung umfasst eine Operationseinheit (110), die einem Roboter (200) als Steuerziel eine auf der Bedienung durch einen Benutzer basierende Position beibringt, eine Haltungswechsel-Instruktionseinheit (124), die den Roboter (200) anweist, die Haltung im Falle des Empfangens vom Roboter (200) zu ändern, eine Mitteilung, dass der Roboter (200) eine Singularität oder deren Umgebung durchläuft, wenn er sich in die gelehrte Position bewegt, eine Singularitätsdurchlaufsbewegungs-Anforderungseinheit (125), die die Anweisung zum Ändern der Haltung an den Roboter (200) überträgt, so dass der Roboter (200) die Singularität oder deren Umgebung in der von der Haltungswechsel-Instruktionseinheit (124) angewiesenen Haltung durchläuft, eine Roboterantriebsinformations-Anforderungseinheit (129), die den Roboter (200) auffordert, Roboterantriebsinformationen bereitzustellen, die einen Antriebsstatus des Roboters (200) anzeigen, wenn der Roboter (200) die Singularität oder deren Umgebung durchläuft und die Roboterantriebsinformationen erfasst, und eine Roboter-G-Code-Erzeugungseinheit (130), die auf Grundlage der von der Roboterantriebsinformations-Anforderungseinheit (129) erfassten Roboterantriebsinformationen einen dem Roboter (200) entsprechenden G-Code erzeugt und den erzeugten G-Code in ein Programm einfügt.
    • (3) Ein Aspekt eines Roboters (200) der vorliegenden Offenbarung ist ein Roboter (200), der gemäß einer Positionslehre durch eine Steuerapparatur (100) arbeitet, die die Position des Roboters (200) lehren kann. Der Roboter (200) umfasst eine Antriebssteuereinheit (212), die den Roboter (200) antreibt, eine Singularitäts-Bestimmungseinheit (213), die bestimmt, ob der Roboter (200) eine Singularität oder deren Umgebung durchläuft oder nicht, wenn er sich in die von der Steuerapparatur (100) gelehrte Position bewegt, und die eine Meldung, dass der Roboter (200) die Singularität oder deren Umgebung durchläuft, an die Steuerapparatur (100) überträgt, wenn der Roboter (200) die Singularität oder deren Umgebung durchläuft, eine Singularitäts-Durchlaufmuster-Erzeugungseinheit (215), die im Falle des Empfangs einer Anweisung zur Änderung der Haltung des Roboters (200) von der Steuerapparatur (100) erzeugt, einen Bewegungsplan, der auf der veränderten Haltung basiert, so dass der Roboter (200) die Singularität oder deren Umgebung durchläuft und die Antriebssteuereinheit (212) veranlasst, den Roboter (200) basierend auf dem erzeugten Bewegungsplan anzutreiben, und eine Roboterantriebsinformations-Ausgabeeinheit (219), die Roboterantriebsinformationen an die Steuervorrichtung (100) im Falle des Empfangs einer Anforderung der Roboterantriebsinformationen von der Steuervorrichtung (100) überträgt, wobei die Roboterantriebsinformationen einen Antriebsstatus des Roboters (200) anzeigen, wenn der Roboter (200) die Singularität oder deren Umgebung durchläuft.
  • Gemäß einem Aspekt kann das Roboter-Bewegungsprogramm leicht erstellt werden, ohne dass die Singularität berücksichtigt werden muss.
  • Figurenliste
    • 1 ist ein funktionales Blockschaltbild, das ein funktionales Konfigurationsbeispiel eines Steuersystems gemäß einer Ausführungsform zeigt;
    • 2 ist eine Ansicht, die ein Beispiel eines Programms zeigt, in das ein G-Code eingefügt wird, der entsprechend der Bewegung eines Roboters durch eine Roboter-G-Code-Erzeugungseinheit erzeugt wird;
    • 3 ist eine Ansicht, die ein Beispiel für einen Bildschirm zum Erlernen der Roboterposition zeigt;
    • 4 ist eine Ansicht, die ein Beispiel des Roboters zeigt;
    • 5 ist ein Flussdiagramm zur Beschreibung der Lernverarbeitung durch das Steuersystem; und
    • 6 ist ein Flussdiagramm zur Beschreibung der Unterrichtsverarbeitung durch das Steuersystem.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • <Eine Ausführungsform>
  • Zunächst wird der Umriss der vorliegenden Ausführungsform beschrieben. In der vorliegenden Ausführungsform umfasst ein Steuersystem eine Steuerapparatur und einen Roboter. Die Steuerapparatur bringt dem Roboter eine Position bei, die auf der Operation des Benutzers beruht, und weist ihn an, seine Haltung zu ändern, falls er vom Roboter eine Mitteilung erhält, dass er die Singularität oder deren Umgebung durchläuft, wenn er sich in die eingelernte Position bewegt. Die Steuerapparatur fordert den Roboter auf, die Singularität oder deren Umgebung in der angewiesenen Haltung zu durchlaufen. Die Steuerapparatur erfasst Roboterantriebsinformationen, die einen Roboterantriebsstatus anzeigen, wenn der Roboter die Singularität oder deren Umgebung durchläuft, erzeugt auf Grundlage der erfassten Roboterantriebsinformationen einen dem Roboter entsprechenden G-Code und fügt den erzeugten G-Code in ein Programm ein.
  • Mit dieser Konfiguration ist es gemäß der gegenwärtigen Ausführungsform möglich, das oben beschriebene Problem zu lösen, dass „ein Roboter-Bewegungsprogramm, das leicht hergestellt werden kann, ohne dass die Singularität berücksichtigt werden muss“.
  • Die Umrisse der gegenwärtigen Ausführungsform wurden oben beschrieben.
  • Als nächstes wird die Konfiguration der gegenwärtigen Ausführungsform unter Bezugnahme auf die Zeichnungen im Detail beschrieben.
  • Zu beachten ist, dass, sofern nicht anders angegeben, eine Singularität oder die Umgebung einer Singularität in der nachfolgenden Beschreibung auch als „Umgebung einer Singularität“ bezeichnet wird.
  • 1 ist ein funktionales Blockschaltbild, das ein funktionales Konfigurationsbeispiel für ein Steuersystem 1 gemäß einer Ausführungsform zeigt.
  • Das Steuersystem 1 weist eine Steuerapparatur 100 und einen Roboter 200 auf. Die Steuerapparatur 100 und der Roboter 200 können über eine nicht abgebildete Verbindungsschnittstelle direkt miteinander verbunden werden. Zu beachten ist, dass die Steuerapparatur 100 und der Roboter 200 über ein nicht gezeigtes Netzwerk wie ein lokales Netzwerk (LAN) oder das Internet miteinander verbunden sein können. In diesem Fall umfassen die Steuerapparatur 100 und der Roboter 200 umfassende, nicht abgebildete Kommunikationseinheiten, die über eine solche Verbindung miteinander kommunizieren.
  • <Steuerapparatur 100>
  • Die Steuerapparatur 100 ist eine numerische Steuerung, die die Position des Roboters 200 lehren kann und ein Bewegungsprogramm für den Roboter 200 gemäß der Positionslehre erzeugt.
  • Wie in 1 dargestellt, weist die Steuerapparatur 100 eine Handgriff-Operationseinheit 110, eine Steuereinheit 120 und eine Anzeigeeinheit 140 auf. Ferner hat die Steuereinheit 120 eine Interpolations-Berechnungseinheit 121, eine Zielpositions-Übertragungseinheit 122, eine Singularitäts-Informationserfassungseinheit 123, eine Haltungswechsel-Instruktionseinheit 124, eine Singularitäts-Durchlaufsbewegungs-Anforderungseinheit 125, eine Roboter-Koordinaten-Nachfolge-Anforderungseinheit 126, eine Koordinaten-Empfangseinheit 127, eine Nachfolge-Ausführungseinheit 128, eine Roboterantriebsinformations-Anforderungseinheit 129 und eine Roboter-G-Code-Erzeugungseinheit 130.
  • Die Handgriff-Operationseinheit 110 weist einen Handgriff für die manuelle Operation durch den Benutzer auf, wobei der Handgriff zum Einstellen jeder der Positionen mehrerer im später beschriebenen Roboter 200 enthaltener Gelenkachsen, beispielsweise in einem orthogonalen Koordinatensystem einer X-Achse, einer Y-Achse und einer Z-Achse, vorgesehen ist. Die Handgriff-Operationseinheit 110 gibt beispielsweise ein Signal einer Impulsfolge aus, die der Anzahl der Umdrehungen des Drehgriffs entspricht. Wie oben beschrieben, wird die Handgriff-Operationseinheit 110 verwendet, damit ein Benutzer einer Werkzeugmaschine den Roboter 200 im gewohnten orthogonalen Koordinatensystem bedienen kann.
  • Es ist zu beachten, dass eine einzige Handgriff-Operationseinheit 110 für die mehreren Gelenkachsen des Roboters 200 oder mehrere Handgriff-Operationseinheiten 110 für die mehreren Gelenkachsen in Eins-zu-Eins-Entsprechung, d.h. jeweils für jede der mehreren Gelenkachsen, vorgesehen werden können.
  • Die Steuereinheit 120 weist eine CPU, ein ROM, ein RAM, einen CMOS-Speicher usw. auf, und diese Komponenten sind den Fachleuten bekannt und über einen Bus miteinander kommunizierbar konfiguriert.
  • Die CPU ist ein Prozessor, der die Steuerapparatur 100 als Ganzes steuert. Die CPU liest über den Bus ein Systemprogramm und ein Anwendungsprogramm, die im ROM gespeichert sind, und steuert so die Gesamtheit der Steuerapparatur 100 gemäß dem Systemprogramm und dem Anwendungsprogramm. Mit dieser Konfiguration ist die Steuereinheit 120, wie in 1 dargestellt, so konfiguriert, dass sie die Funktionen der Interpolations-Berechnungseinheit 121, der Zielpositions-Übertragungseinheit 122, der Singularitäts-Informationserfassungseinheit 123, der Haltungswechsel-Instruktionseinheit 124, der Singularitäts-Durchlaufsbewegungs-Anforderungseinheit 125, der Roboter-Koordinaten-Empfangs-Anforderungseinheit 126, der Koordinaten-Empfangseinheit 127, der Nachfolge-Ausführungseinheit 128, der Roboter-Antriebsinformations-Anforderungseinheit 129 und der Roboter-G-Code-Erzeugungseinheit 130 implementiert. Im RAM werden verschiedene Arten von Daten wie temporäre Berechnungsdaten und Anzeigedaten gespeichert. Der CMOS-Speicher wird durch eine nicht abgebildete Batterie gesichert und ist als nichtflüchtiger Speicher konfiguriert, der auch dann einen Speicherzustand hält, wenn die Steuerapparatur 100 ausgeschaltet ist.
  • Die Interpolations-Berechnungseinheit 121 berechnet eine Zielposition (eine Lernoperation) des Roboters 200 auf Grundlage des Impulsfolgensignals, das von der Handgriff-Operationseinheit 110 empfangen wird.
  • Die Zielpositions-Übertragungseinheit 122 überträgt die von der Interpolations-Berechnungseinheit 121 berechnete Zielposition an den Roboter 200.
  • Die Singularitäts-Informationserfassungseinheit 123 erhält eine Mitteilung, dass der Roboter 200 die Umgebung der Singularität durchläuft, wenn eine Singularitäts-Bestimmungseinheit 213 des später beschriebenen Roboters 200 festgestellt hat, dass der Roboter 200 die Umgebung der Singularität durchläuft, wenn der Roboter 200 sich zu der von der Zielpositions-Übertragungseinheit 122 übertragenen Zielposition bewegt.
  • Zu beachten ist, dass die Umgebung der Singularität ein voreingestellter vorbestimmter Bereich um die Singularität als Zentrum ist.
  • Die Haltungswechsel-Instruktionseinheit 124 zeigt eine Meldung des oben beschriebenen Hinweises auf der später beschriebenen Anzeigeeinheit 140 in einem Fall an, in dem der Hinweis, dass der Roboter 200 die Umgebung der Singularität durchläuft, von der Singularitäts-Informationserfassungseinheit 123 empfangen wurde. Darüber hinaus zeigt die Haltungswechsel-Instruktionseinheit 124 auf der Anzeigeeinheit 140 eine Meldung an, die den Roboter 200 auffordert, seine Körperhaltung so zu ändern, dass der Roboter 200 die Umgebung der Singularität durchläuft. Die Haltungswechsel-Instruktionseinheit 124 empfängt eine Anweisung zur Änderung der Körperhaltung des Roboters 200 durch eine Operation des Benutzers über eine (nicht abgebildete), in der Steuerapparatur 100 enthaltene Eingabevorrichtung (nicht abgebildet), wie beispielsweise ein Touchpanel. Zu beachten ist, dass die Anzeige der Meldung, der Inhalt der Anweisung zur Änderung der Körperhaltung des Roboters 200 usw. später beschrieben wird.
  • Die Singularitätsdurchlaufsbewegungs-Anforderungseinheit 125 überträgt die Anweisung zur Änderung der Körperhaltung an den Roboter 200, so dass der Roboter 200 die Umgebung der Singularität in der von der Haltungswechsel-Instruktionseinheit 124 angewiesenen Körperhaltung durchläuft. Darüber hinaus empfängt die Singularitätsdurchlaufsbewegungs-Anforderungseinheit 125 vom Roboter 200 eine Abschlussmeldung, die den Abschluss des Durchlaufs durch die Singularität anzeigt, wenn der Roboter 200 die Nähe der Singularität durchlaufen hat.
  • Die Roboter-Koordinaten-Nachfolgeanfrage-Einheit 126 sendet eine Nachfolgeanfrage an den Roboter 200 in einem Fall, in dem die Singularitäts-Durchlaufsbewegungs-Anforderungs-Einheit 125 die Fertigstellungsmeldung gezeigt hat. Danach erhält die Roboter-Koordinaten-Nachfolgeanfrage-Einheit 126 vom Roboter 200 eine Fertigmeldung, die anzeigt, dass die Übertragung von Koordinateninformationen bezüglich des für den Roboter 200 festgelegten Koordinatensystems abgeschlossen ist.
  • Die Koordinaten-Empfangseinheit 127 empfängt die oben beschriebenen Koordinateninformationen vom Roboter 200.
  • Die Nachfolge-Ausführungseinheit 128 aktualisiert einen Koordinatenwert des Roboters 200 auf Grundlage der Koordinateninformation, die von der Koordinaten-Empfangseinheit 127 empfangen wurde, in einem Fall, in dem die Roboter-Koordinaten-Nachfolgeanfrage-Einheit 126 die Fertigmeldung gezeigt hat.
  • Die Roboterantriebsinformations-Anforderungseinheit 129 fordert den Roboter 200 auf, Roboterantriebsinformationen zu liefern, die einen Antriebsstatus des Roboters 200 anzeigen, wenn der Roboter 200 die Umgebung der Singularität durchläuft.
  • Die Roboterantriebsinformationen umfassen ein Formular („form“), das die Haltung des Roboters 200, die Anzahl der Umdrehungen der Gelenkachse, die dem Handgelenk des Roboters 200 entspricht, das eingestellte Koordinatensystem und den Koordinatenwert, der die Haltung des Roboters 200 anzeigt, anzeigt.
  • Die Roboter-G-Code-Erzeugungseinheit 130 erzeugt auf Grundlage der von der Roboterantriebsinformations-Anforderungseinheit 129 erfassten Roboterantriebsinformationen einen G-Code, der der Bewegung des Roboters 200 entspricht, und fügt den erzeugten G-Code in ein Programm ein.
  • 2 zeigt ein Beispiel für ein Programm, in das der G-Code, der entsprechend der Bewegung des Roboters 200 durch die Roboter-G-Code-Erzeugungseinheit 130 erzeugt wurde, eingefügt wird.
  • Wie in 2 dargestellt, gibt „O0001“ in einer ersten Zeile eine Programmnummer an.
  • „G00“ in einer zweiten Zeile ist ein Befehl zur Positionierung eines Startpunktes. „X100 Y100 Z100“ gibt die Bewegung zu den Koordinaten (X, Y, Z) = (100, 100, 100) an.
  • „G200“ in einer dritten Reihe ist ein Befehl, der den Roboter 200 veranlasst, die Umgebung der Singularität zu durchlaufen. „J1, J2, J3, J4, J5, J6“ zeigt einen Fall an, in dem der Roboter 200 ein sechsachsiger vertikaler Gelenkroboter ist und der Wert des Drehwinkels jeder der sechs Achsen in den Roboterantriebsinformationen festgelegt ist, wenn sich der Roboter 200 in die Zielposition bewegt. Mit anderen Worten, der G-Code, der von der Roboter-G-Code-Erzeugungseinheit 130 erzeugt wird und den Roboter 200 veranlasst, die Umgebung der Singularität zu durchfahren, wird von einem orthogonalen Modus in der zweiten Reihe in einen Modus für jede Achse geändert. Mit dieser Konfiguration kann der Roboter 200 die Umgebung der Singularität auch in einem Fall durchlaufen und durchqueren, in dem die Lösung der inversen kinematischen Berechnung nicht erreicht werden kann.
  • Die letzten Zeichen „i j k“ sind Parameter, die jeweils die Form angeben, die die Haltung des Roboters 200 nach dem Durchgang durch die Singularität, die Anzahl der Umdrehungen der Gelenkachse, die dem Handgelenk des Roboters 200 entspricht, und die Krümmung der Bewegung der Handspitze des Roboters 200 gemäß den Roboterantriebsinformationen angibt. Die Krümmung k der Bewegung wird beispielsweise auf einen Wert von „1%“ bis „100%“ eingestellt, und die Handspitze des Roboters 200 bewegt sich mit zunehmendem Einstellwert mit einer glatteren Kurve.
  • „M99“ in einer vierten Reihe ist ein Befehl zum Beenden des Programms von 2.
  • Bei dieser Konfiguration fügt die Steuerapparatur 100 den G-Code für den Roboter 200 ein, so dass auch ein Benutzer einer Werkzeugmaschine, der keine Erfahrung mit einem Roboter hat, das Roboter-Bewegungsprogramm leicht erstellen kann.
  • Es ist zu beachten, dass „G200“ als der Befehl zu verzeichnen ist, der den Roboter 200 veranlasst, die Umgebung der Singularität zu durchlaufen, aber die vorliegende Offenbarung ist nicht auf eine solche Konfiguration beschränkt. Ein optionaler G-Code kann zugewiesen werden.
  • Darüber hinaus kann die Roboter-G-Code-Erzeugungseinheit 130 in einem Fall, in dem der Roboter 200 beim Anfahren der Zielposition die Singularität nicht durchläuft, den G-Code im orthogonalen Modus erzeugen, um den erzeugten G-Code in das Programm einzufügen. Zum Beispiel kann die Roboter-G-Code-Erzeugungseinheit 130 einen G-Code von „G01 X100.0 Y0.0 Z200.0 A0.0 A0.0 B-45.0 C0.0“ für den (linearen) Schneidevorschub im orthogonalen Modus erzeugen und den G-Code in das Programm einfügen. Die hier beschriebenen A, B und C geben die Rotationswinkel um die X-Achse, die Y-Achse und die Z-Achse an. Alternativ kann die Roboter-G-Code-Erzeugungseinheit 130 einen G-Code von „G01 J1 100,0 J2 30,0 J3 95,5 J4 10,2 J5 45,0 J6 0,0“ für den (linearen) Schnittvorschub im Modus jeder Achse erzeugen.
  • Die Anzeigeeinheit 140 ist beispielsweise eine Flüssigkristallanzeige und zeigt verschiedene Arten von Informationen gemäß der Steuerung durch die Steuereinheit 120 an. Die Anzeigeeinheit 140 zeigt beispielsweise einen Roboterpositions-Lehrbildschirm 145 an.
  • 3 ist eine Ansicht, die ein Beispiel für den Bildschirm 145 zum Einlernen der Roboterposition zeigt.
  • Wie in 3 dargestellt, weist der Bildschirm zum Erlernen der Roboterposition 145 einen Koordinatenanzeigebereich 300 auf, der die Position des Roboters 200 im orthogonalen Koordinatensystem und ein Koordinatensystem für jede Achse anzeigt, sowie einen Editoranzeigebereich 310, der einen Programmeditor zum Erstellen/Bearbeiten des Programms anzeigt. Darüber hinaus weist der Roboterpositions-Lehrbildschirm 145 einen Eingabeanzeigebereich 320 auf, der beispielsweise den G-Code und den in den Programmeditor eingegebenen Sollwert anzeigt, sowie einen Koordinatenumschalttasten-Anzeigebereich 330, der Koordinatenumschalttasten zum Ändern des Koordinatensystems für den Roboter 200 aufweist. Darüber hinaus hat der Bildschirm 145 zum Erlernen der Roboterposition einen Haltungswechsel-Anzeigebereich 340, der die Haltungswechsel-Tastensymbole 341 bis 343 zum Empfangen der Anweisung zum Ändern der Haltung des Roboters 200 auf Grundlage der Benutzerbedienung anzeigt, und einen Auswahltasten-Anzeigebereich 350, der Auswahltasten zum Auswählen einer Achse anzeigt, die von der Handgriff-Operationseinheit 110 für den manuellen Betrieb (den Jog-Betrieb) vorgesehen ist. Darüber hinaus weist der Bildschirm 145 zum Einlernen der Roboterposition einen Einlern-Anzeigebereich 360 auf, der Positions-Teaching-Tasten zum Importieren der Position (X, Y, Z) und Haltung (A, B, C) des Roboters 200, eine Taste zum Einstellen einer Bewegungsgeschwindigkeit, Tasten zum Einstellen des Öffnens/Schließens der Hand, die an der Handspitze des Roboters 200 vorgesehen sind, und eine Zeile spezifizierende Taste zum Spezifizieren einer Programmzeile, die vom Programmeditor erstellt/bearbeitet werden soll, aufweist. Darüber hinaus weist der Bildschirm 145 zum Erlernen der Roboterposition einen Softkey-Anzeigebereich 370 auf, der mehrere Softkeys anzeigt.
  • Wie oben beschrieben, kann in einem Fall, in dem der Hinweis, dass der Roboter 200 die Umgebung der Singularität durchläuft, von der Singularitäts-Informationserfassungseinheit 123 empfangen wurde, die Haltungswechsel-Instruktionseinheit 124 eine Meldung des Hinweises, wie beispielsweise „NÄHERKOMMENDE SINGULARITÄT“, auf der Anzeigeeinheit 140 anzeigen, wobei die Meldung auf dem Roboterpositions-Lehrbildschirm 145 von 3 überlagert wird. In diesem Fall kann die Haltungswechsel-Instruktionseinheit 124 auf der Anzeigeeinheit 140 eine Meldung wie „BITTE ROBOTERPOSITIONSÄNDERUNG FÜR DURCHGANG DURCH SINGULARITÄT AUSWÄHLEN“ anzeigen, wobei die Meldung auf dem Bildschirm 145 zum Erlernen der Roboterposition überlagert wird. Darüber hinaus veranlasst die Haltungswechsel-Instruktionseinheit 124 den Benutzer, eines der Haltungswechsel-Schlüsselsymbole 341 bis 343, die auf dem Haltungswechsel-Anzeigebereich 340 des Roboterstellungs-Lehrbildschirms 145 angezeigt werden, über die Eingabevorrichtung (nicht abgebildet) der Steuerapparatur 100 auszuwählen und dadurch die Anweisung zur Änderung der Haltung des Roboters 200 zu empfangen.
  • Mit dieser Konfiguration kann die Steuerapparatur 100, wenn sich der Roboter 200 während des Positionslehrens für den Roboter 200 im orthogonalen Koordinatensystem der Singularität nähert, ohne dass der Benutzer es ausprobieren muss, den Roboter 200 zu einer Bewegung veranlassen, so dass der Roboter 200 die Umgebung der Singularität durchläuft und durchquert, die Operationsfähigkeit verbessert und die Belastung des Benutzers verringert werden kann.
  • Es ist zu beachten, dass das Symbol 341 für die Taste zum Ändern der Haltung ein Symbol ist, mit dem die Gelenkachse des Handgelenks des später beschriebenen Roboters 200 angewiesen wird, von einer Aufwärtsorientierung in eine Abwärtsorientierung oder von der Abwärtsorientierung in die Aufwärtsorientierung zu wechseln. Darüber hinaus ist das Symbol für die Haltungsänderungstaste 342 ein Symbol, mit dem die Gelenkachse des Ellbogens des Roboters 200 angewiesen wird, von einer Aufwärtsorientierung in eine Abwärtsorientierung oder von der Abwärtsorientierung in die Aufwärtsorientierung zu wechseln. Ferner ist das Symbol 343 für die Taste zum Ändern der Haltung ein Symbol, mit dem der Roboter 200 angewiesen wird, seine Ausrichtung von einer Vorwärtsorientierung in eine Rückwärtsorientierung oder von der Rückwärtsorientierung in die Vorwärtsorientierung zu ändern.
  • Da der Koordinatenumschalttasten-Anzeigebereich 330 die Koordinatenumschalttasten für die Umschaltung des Koordinatensystems des Roboters 200 in eines der folgenden Koordinatensysteme anzeigt: „Koordinatensystem für jede Achse“, „Welt-Koordinatensystem“, „Benutzer-Koordinatensystem“, „Werkzeug-Koordinatensystem 1“ und „Werkzeug-Koordinatensystem 2“, kann ein Code für die Umschaltung des Koordinatensystems des Roboters 200 im Voraus als G-Code vorbereitet werden, der von der Roboter-G-Code-Erzeugungseinheit 130 generiert wird. In diesem Fall kann beispielsweise „G201“ das Koordinatensystem jeder Achse als Koordinatensystem des Roboters 200 angeben. Darüber hinaus kann „G202“ das Welt-Koordinatensystem als Koordinatensystem des Roboters 200 angeben. Außerdem kann „G203“ das Werkzeug-Koordinatensystem 1 als Koordinatensystem des Roboters 200 angeben. Darüber hinaus kann „G204“ das Werkzeug-Koordinatensystem 2 als Koordinatensystem des Roboters 200 angeben. Darüber hinaus kann „G205“ das Benutzer-Koordinatensystem als Koordinatensystem des Roboters 200 angeben.
  • <Roboter 200>
  • 4 ist eine Ansicht, die ein Beispiel des Roboters 200 zeigt.
  • Wie in 4 dargestellt, ist der Roboter 200 beispielsweise ein sechsachsiger vertikaler Gelenkroboter und weist sechs Gelenkachsen 230(1) bis 230(6) und Armteile 240 auf, die durch die Gelenkachsen 230(1) bis 230(6) miteinander gekoppelt sind. Der Roboter 200 treibt auf Grundlage eines Antriebsbefehls von der Steuerapparatur 100 einen Servomotor (nicht abgebildet) an, der an jeder der Gelenkachsen 230(1) bis 230(6) angeordnet ist und dadurch bewegliche Elemente wie die Armteile 240 antreibt. Darüber hinaus ist ein End-Effektor 250, wie beispielsweise eine Greifhand, an einem Spitzen-Endabschnitt des beweglichen Elements des Roboters 200 angebracht, wie beispielsweise einem Spitzen-Endabschnitt der Gelenkachse 230(6).
  • Die hier beschriebene Gelenkachse 230(1) ist ein Gelenk zum Drehen der Ausrichtung des Roboters 200. Darüber hinaus ist die Gelenkachse 230(3) ein Gelenk, das dem Ellenbogen des Roboters 200 entspricht. Ferner ist die Gelenkachse 230(5) ein Gelenk, das dem Handgelenk des Roboters 200 entspricht.
  • Zu beachten ist, dass der Roboter 200 als sechsachsiger vertikaler Gelenkroboter ausgewiesen ist, jedoch ein anderer vertikaler Gelenkroboter als der sechsachsige vertikale Gelenkroboter sein kann oder beispielsweise ein horizontaler Gelenkroboter oder ein Parallelverbindungsroboter sein kann.
  • Darüber hinaus werden in einem Fall, in dem es nicht notwendig ist, die Gelenkachsen 230(1) bis 230(6) voneinander zu unterscheiden, diese Achsen im Folgenden zusammenfassend als „Gelenkachsen 230“ bezeichnet.
  • 4 zeigt das Welt-Koordinatensystem als dreidimensionales orthogonales Koordinatensystem der X-Achse, der Y-Achse und der Z-Achse, das Werkzeug-Koordinatensystem als dreidimensionales orthogonales Koordinatensystem einer X-Achse, einer Y-Achse und einer Z-Achse des End-Effektors 250, der an der Spitze der Gelenkachse 230(6) des Roboters 200 angebracht ist, und das Benutzer-Koordinatensystem als dreidimensionales orthogonales Koordinatensystem einer Xu-Achse, einer Yu-Achse und einer Zu-Achse. In der vorliegenden Ausführungsform wird eine Positionskorrelation zwischen dem Welt-Koordinatensystem, dem Werkzeug-Koordinatensystem und dem Benutzer-Koordinatensystem durch bekannte Kalibrierung im Voraus bereitgestellt. Mit dieser Konfiguration kann die oben beschriebene Steuerapparatur 100 die Position des Spitzen-Endabschnitts, an dem der End-Effektor 250 angebracht ist, des Roboters 200 sogar über die Position steuern, die durch das Welt-Koordinatensystem, das Werkzeug-Koordinatensystem und das Benutzer-Koordinatensystem definiert ist.
  • Zu beachten ist, dass A, B und C in 4 die Drehwinkel um die X-Achse, die Y-Achse und die Z-Achse angeben.
  • Wie in 1 dargestellt, weist der Roboter 200 eine Robotersteuerung 210 auf. Des Weiteren verfügt die Steuereinheit 210 über eine Zielpositions-Empfangseinheit 211, eine Antriebssteuereinheit 212, die Singularitäts-Bestimmungseinheit 213, eine KinematikSteuereinheit 214, eine Singularitäts-Durchlaufmuster-Erzeugungseinheit 215, eine Koordinatensystem-Steuereinheit 216, eine Roboter-Koordinaten-Nachfolgeeinheit 217, eine Koordinaten-Übertragungseinheit 218 und eine Roboterantriebsinformations-Ausgabeeinheit 219.
  • Die Steuereinheit 210 weist eine CPU, ein ROM, ein RAM, einen CMOS-Speicher usw. auf, und diese Komponenten sind den Fachleuten bekannt und über einen Bus miteinander kommunizierbar konfiguriert.
  • Die CPU ist ein Prozessor, der den Roboter 200 als Ganzes steuert. Die CPU liest über den Bus ein Systemprogramm und ein im ROM gespeichertes Anwendungsprogramm und steuert damit die Gesamtheit des Roboters 200 gemäß dem Systemprogramm und dem Anwendungsprogramm. Mit dieser Konfiguration ist die Steuereinheit 210, wie in 1 dargestellt, so konfiguriert, dass sie die Funktionen der Zielpositions-Empfangseinheit 211, der Antriebssteuereinheit 212, der Singularitäts-Bestimmungseinheit 213, der Kinematiksteuereinheit 214, der Singularitäts-Durchlaufmuster-Erzeugungseinheit 215, der Koordinatensystem-Steuereinheit 216, der Roboter-Koordinaten-Nachfolgeeinheit 217, der Koordinaten-Übertragungseinheit 218 und der Roboterantriebsinformations-Ausgabeeinheit 219 implementiert.
  • Die Zielpositions-Empfangseinheit 211 empfängt die von der Zielpositions-Übertragungseinheit 122 der Steuerapparatur 100 übertragene Zielposition.
  • Die Antriebssteuerung 212 treibt den Servomotor (nicht abgebildet) jeder Gelenkachse 230 des Roboters 200 so an, dass sich der Roboter 200 in die von der Empfangseinheit 211 empfangene Zielposition bewegt.
  • Die Singularitäts-Bestimmungseinheit 213 bestimmt, ob der Roboter 200 die Nähe der Singularität durchläuft oder nicht, wenn er sich zu der von der Steuerapparatur 100 eingelernten Zielposition bewegt, und sendet in einem Fall, in dem der Roboter 200 die Nähe der Singularität durchläuft, eine Meldung, dass der Roboter 200 in der Nähe der Singularität ist, an die Steuerapparatur 100.
  • Konkret bestimmt die Singularitäts-Bestimmungseinheit 213 auf Grundlage des Drehwinkels jeder Gelenkachse 230, der in einem Berechnungsergebnis der später beschriebenen Kinematiksteuereinheit 214 enthalten ist, ob der Roboter 200 in eine solche Haltung gebracht wird, dass die Drehachsen von zwei oder mehr Gelenkachsen 230 beispielsweise beim Anfahren der Zielposition in einer Linie liegen. In einem Fall, in dem der Roboter 200 in eine solche Haltung gebracht wird, dass die Drehachsen von zwei oder mehr Gelenkachsen 230 in einer Linie liegen, bestimmt dann die Singularitäts-Bestimmungseinheit 213, dass der Roboter 200 die Umgebung der Singularität durchläuft. Die Singularitäts-Bestimmungseinheit 213 sendet an die Steuerapparatur 100 die Meldung, dass sich der Roboter 200 in der Nähe der Singularität befindet.
  • Die Kinematiksteuereinheit 214 berechnet den Drehwinkel jeder Gelenkachse 230 aus der empfangenen Zielposition auf Grundlage der inversen kinematischen Berechnung. Die Kinematiksteuereinheit 214 gibt das Berechnungsergebnis an die Singularitäts-Bestimmungseinheit 213, die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 und die Roboterantriebsinformations-Ausgabeeinheit 219 aus.
  • Im Falle des Empfangs der Anweisung zur Änderung der Haltung des Roboters 200 von der Steuerapparatur 100 erzeugt die Singularitätsdurchlaufmuster-Erzeugungseinheit 215 einen Bewegungsplan auf Grundlage der geänderten Haltung des Roboters 200, so dass der Roboter 200 die Umgebung der Singularität durchläuft, und veranlasst die Antriebssteuereinheit 212, den Roboter 200 auf Grundlage des erzeugten Bewegungsplans anzutreiben.
  • Konkret erfasst die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 beim Empfang der Haltungswechsel-Instruktionseinheit 215 Informationen einschließlich des für den Roboter 200 festgelegten Koordinatensystems, des Formulars, das die Haltung des Roboters 200 angibt, der Anzahl der Umdrehungen jeder der Gelenkachsen 230(4) bis 230(6), die dem Handgelenk des Roboters 200 entsprechen, und der Position der Singularität von der Kinematiksteuereinheit 214 und der Koordinatensystem-Steuereinheit 216. Unter Verwendung der erfassten Informationen erzeugt die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 einen Plan für die Interpolation durch den Roboter 200 und die Bewegung im Modus jeder Achse auf Grundlage der veränderten Haltung des Roboters 200, so dass der Roboter 200 die Umgebung der Singularität durchläuft. Die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 veranlasst die Antriebssteuerungseinheit 212, den Roboter 200 auf Grundlage des erzeugten Bewegungsplans anzutreiben. Im Falle der Bewegung des Roboters 200 in die Zielposition durch Interpolation durch den Roboter 200 und den Modus mit jeder Achse sendet die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 eine Beendigungsmeldung an die Steuerapparatur 100, die den Abschluss des Durchlaufs durch die Singularität anzeigt.
  • Zu beachten ist, dass sich die veränderte Haltung des Roboters 200 von der vom Benutzer der Steuerapparatur 100 angewiesenen Haltung unterscheiden kann. Beispielsweise kann selbst in einem Fall, in dem der Benutzer das Haltungswechsel-Tastensymbol 341 auf dem Bildschirm 145 zum Erlernen der Roboterposition drückt, um eine Anweisung zur Änderung der Gelenkachse 230(5) des Handgelenks des Roboters 200 von der Aufwärtsorientierung in die Abwärtsorientierung oder von der Abwärtsorientierung in die Aufwärtsorientierung auszuwählen, die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 eine solche Haltung auswählen, dass die Gelenkachse 230(3) des Ellenbogens des Roboters 200 von der Aufwärtsorientierung in die Abwärtsorientierung oder von der Abwärtsorientierung in die Aufwärtsorientierung wechselt. Alternativ kann die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 eine solche Haltung wählen, dass die Gelenkachse 230(1) der Orientierung des Roboters 200 von der Vorwärtsorientierung in die Rückwärtsorientierung oder von der Rückwärtsorientierung in die Vorwärtsorientierung wechselt.
  • Das heißt, es ist für einen Benutzer einer Werkzeugmaschine, der nicht gewohnt ist, mit einer Lern-Steuertafel für einen Roboter umzugehen, schwierig zu bestimmen, ob der Roboter 200 die Singularität durchlaufen kann oder nicht, indem er den Roboter 200 in eine beliebige Haltung bringt. Aus diesem Grund bestimmt die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 auf Grundlage der von der Kinematiksteuereinheit 214 und der später beschriebenen Koordinatensystem-Steuereinheit 216 erfassten Informationen eine für den Durchgang durch die Singularität optimale Haltung. Mit dieser Konfiguration kann die Belastung des Benutzers reduziert werden.
  • Die Koordinatensystem-Steuereinheit 216 steuert das für den Roboter 200 eingestellte Koordinatensystem.
  • Im Falle des Empfangs der Folgeanforderung von der Steuerapparatur 100 erfasst die Roboter-Koordinaten-Nachfolgeanfrage-Einheit 217 die Koordinaten-Informationen bezüglich des für den Roboter 200 eingestellten Koordinatensystems von der Koordinatensystem-Steuereinheit 216, wodurch die erfassten Koordinaten-Informationen für die Koordinaten-Übertragungs-Einheit 218 eingestellt und der Steuerapparatur 100 die erfassten Koordinaten-Informationen mitgeteilt werden. Die Roboterkoordinaten-Nachfolgeeinheit 217 gibt für die Steuerapparatur 100 eine Fertigmeldung aus, die anzeigt, dass die Übertragung der Koordinateninformationen abgeschlossen ist.
  • Die Koordinatenübertragungseinheit 218 überträgt die von der Roboterkoordinaten-Nachfolgeeinheit 217 eingestellten Koordinateninformationen an die Steuerapparatur 100.
  • Im Falle des Empfangs einer Roboterantriebsinformations-Anforderung von der Steuerapparatur 100 bezieht die Roboterantriebsinformations-Ausgabeeinheit 219 die Informationen (die Form, die Anzahl der Umdrehungen, das Koordinatensystem) von der Kinematiksteuereinheit 214 und der Koordinatensystem-Steuereinheit 216. Die Roboterantriebsinformations-Ausgabeeinheit 219 teilt der Steuerapparatur 100 die erfassten Informationen als Roboterantriebsinformationen mit.
  • <Lernverarbeitung durch Steuersystem 1 >
  • Als nächstes wird die Operation gemäß der Lernverarbeitung durch das Steuersystem 1 gemäß der vorliegenden Ausführungsform beschrieben.
  • Die 5 und 6 sind Flussdiagramme zur Beschreibung der Lernverarbeitung durch das Steuersystem 1. Der hier beschriebene Ablauf wird jedes Mal wiederholt ausgeführt, wenn der Benutzer der Steuerapparatur 100 dem Roboter 200 die Zielposition beibringt.
  • Im Schritt S101 berechnet die Interpolations-Berechnungseinheit 121 der Steuerapparatur 100 durch Betätigung der Handgriff-Operationseinheit 110 durch den Benutzer der Steuerapparatur 100 die Zielposition des Roboters 200 auf Grundlage des von der Handgriff-Operationseinheit 110 empfangenen Impulsfolgensignals.
  • In Schritt S102 überträgt die Zielpositions-Übertragungseinheit 122 die in Schritt S101 berechnete Zielposition an den Roboter 200.
  • Im Schritt S201 treibt die Antriebssteuereinheit 212 des Roboters 200 den Servomotor (nicht abgebildet) jeder Gelenkachse 230 des Roboters 200 so an, dass der Roboter 200 sich auf die Zielposition bewegt, die von der Zielpositions-Empfangseinheit 211 empfangen wird.
  • Im Schritt S202 bestimmt die Singularitäts-Bestimmungseinheit 213 auf Grundlage des Drehwinkels jeder Gelenkachse 230, wenn sich der Roboter 200 in die Zielposition bewegt, die durch die inverse kinematische Berechnung durch die Kinematiksteuereinheit 214 berechnet wurde, ob der Roboter 200 die Umgebung der Singularität durchläuft oder nicht. In einem Fall, in dem der Roboter 200 die Nähe der Singularität durchläuft, fährt die Verarbeitung mit Schritt S203 fort. In einem Fall, in dem der Roboter 200 nicht die Nähe der Singularität durchläuft, geht die Verarbeitung zu Schritt S207 über.
  • Im Schritt S203 sendet die Singularitäts-Bestimmungseinheit 213 an die Steuerapparatur 100 die Meldung, dass der Roboter 200 die Umgebung der Singularität durchläuft.
  • Im Schritt S103 stellt die Bestimmungsinformationserfassungseinheit 123 der Steuerapparatur 100 fest, ob der Hinweis, dass der Roboter 200 die Umgebung der Singularität durchläuft, von dem Roboter 200 erfasst wurde oder nicht. In einem Fall, in dem die Singularitätsinformation erfasst wurde, fährt die Verarbeitung mit Schritt S104 fort. In einem Fall, in dem die Singularitätsinformationen nicht erfasst wurden, geht die Verarbeitung zu Schritt S107 über.
  • Wenn in Schritt S104 der Hinweis, dass der Roboter 200 die Umgebung der Singularität durchläuft, in Schritt S103 erfasst wurde, zeigt die Haltungswechsel-Instruktionseinheit 124 die Meldung des Hinweises auf der Anzeigeeinheit 140 an und erhält die Anweisung zur Änderung der Haltung des Roboters 200 vom Benutzer der Steuerapparatur 100.
  • Im Schritt S105 überträgt die Singularitätsdurchlaufsbewegungs-Anforderungseinheit 125 die Anweisung zum Haltungswechsel an den Roboter 200, so dass der Roboter 200 die Singularität in der im Schritt S104 angewiesenen Haltung durchläuft.
  • Im Schritt S204 erzeugt die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 des Roboters 200 im Falle des Empfangs der Anweisung zur Änderung der Haltung des Roboters 200 von der Steuerapparatur 100 den Plan für die Interpolation durch den Roboter 200 und die Bewegung im Einzelachsenmodus auf Grundlage der geänderten Haltung des Roboters 200, so dass der Roboter 200 die Umgebung der Singularität durchläuft.
  • In Schritt S205 veranlasst die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 die Antriebssteuereinheit 212, den Roboter 200 auf Grundlage des in Schritt S204 erzeugten Bewegungsplans anzutreiben.
  • Im Schritt S206 überträgt die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 in einem Fall, in dem der Roboter 200 durch Interpolation durch den Roboter 200 und den Modus für jede Achse in die Zielposition bewegt wurde, an die Steuerapparatur 100 die Fertigmeldung, die den Abschluss des Durchlaufs durch die Singularität anzeigt.
  • Im Schritt S106 erhält die Singularitätsdurchlaufsbewegungs-Anforderungseinheit 125 der Steuerapparatur 100 vom Roboter 200 die Fertigmeldung, die den Abschluss des Durchlaufs durch die Singularität anzeigt.
  • In einem Fall, in dem die Fertigstellungsmeldung in Schritt S107 erhalten wurde, sendet die Roboter-Koordinaten-Nachfolgeanfrage-Einheit 126 in Schritt S106 die Nachfolgeanfrage an den Roboter 200.
  • Im Schritt S207 empfängt die Roboter-Koordinaten-Nachfolgeeinheit 217 des Roboters 200 die Nachfolgeanfrage von der Steuerapparatur 100. Die Roboterkoordinaten-Nachfolgeeinheit 217 erfasst von der Koordinatensystem-Steuereinheit 216 die Koordinateninformationen bezüglich des für den Roboter 200 eingestellten Koordinatensystems, wodurch die erfassten Koordinateninformationen für die Koordinatenübertragungseinheit 218 eingestellt werden.
  • In Schritt S208 überträgt die Koordinaten-Übertragungseinheit 218 die in Schritt S207 eingestellten Koordinateninformationen an die Steuerapparatur 100.
  • Im Schritt S108 empfängt die Koordinaten-Empfangseinheit 127 der Steuerapparatur 100 die Koordinateninformationen vom Roboter 200.
  • In Schritt S209 überträgt in einem Fall, in dem die Koordinateninformationen in Schritt S208 an die Steuerapparatur 100 übertragen wurden, die Roboterkoordinaten-Nachfolgeeinheit 217 des Roboters 200 die Fertigmeldung an die Steuerapparatur 100, die anzeigt, dass die Übertragung der Koordinateninformationen abgeschlossen ist.
  • Im Schritt S109 erhält die Roboter-Koordinaten-Nachfolgeanfrage-Einheit 126 der Steuerapparatur 100 vom Roboter 200 die Fertigmeldung, dass die Übertragung der Koordinaten-Informationen abgeschlossen ist.
  • In Schritt S110 von 6 aktualisiert die Nachfolge-Ausführungseinheit 128 als Reaktion auf den Empfang der Fertigmeldung in Schritt S109 den Koordinatenwert des Roboters 200 auf Grundlage der in Schritt S108 erhaltenen Koordinateninformationen.
  • Im Schritt S111 überträgt die Roboterantriebsinformations-Anforderungseinheit 129 die Anforderung der Roboterantriebsinformation an den Roboter 200.
  • Im Schritt S210 erfasst die Roboterantriebsinformations-Ausgabeeinheit 219 des Roboters 200 als Reaktion auf den Empfang der Roboterantriebsinformations-Anforderung von der Steuerapparatur 100 die Roboterantriebsinformationen von der KinematikSteuereinheit 214 und der Koordinatensystem-Steuereinheit 216.
  • In Schritt S211 überträgt die Roboterantriebsinformations-Ausgabeeinheit 219 die in Schritt S210 erfassten Roboterantriebsinformationen an die Steuerapparatur 100.
  • Im Schritt S112 empfängt die Roboterantriebsinformations-Anforderungseinheit 129 der Steuerapparatur 100 die Roboterantriebsinformationen vom Roboter 200.
  • Im Schritt S113 erzeugt die Roboter-G-Code-Erzeugungseinheit 130 den der Bewegung des Roboters 200 entsprechenden G-Code auf Grundlage der im Schritt S112 erfassten Roboterantriebsinformationen und fügt den erzeugten G-Code in das Programm ein.
  • Bei der oben beschriebenen Konfiguration überträgt die Steuerapparatur 100 einer Ausführungsform die Zielposition des Roboters 200 an den Roboter 200, die auf Grundlage des Impulsfolgensignals berechnet wird, das durch die Operation der Handgriff-Operationseinheit 110 durch den Benutzer der Steuerapparatur 100 empfangen wird. Im Falle des Empfangs der Meldung vom Roboter 200, dass der Roboter 200 die Nähe der Singularität durchläuft, wenn er sich zur übertragenen Zielposition bewegt, zeigt die Steuervorrichtung 100 die Meldung der Meldung auf der Anzeigeeinheit 140 an und empfängt die Anweisung zur Änderung der Haltung des Roboters 200 vom Benutzer der Steuerapparatur 100. Die Steuerapparatur 100 sendet die Anweisung zur Änderung der Haltung an den Roboter 200, so dass der Roboter 200 die Singularität in der angewiesenen Haltung durchläuft. Die Steuerapparatur 100 erfasst die Antriebsinformationen des Roboters, die den Antriebsstatus des Roboters 200 anzeigen, wenn der Roboter 200 die Singularität durchläuft. Die Steuerapparatur 100 erzeugt den der Bewegung des Roboters 200 entsprechenden G-Code auf Grundlage der erfassten Roboterantriebsinformationen und fügt den erzeugten G-Code in das Programm ein.
  • Mit dieser Konfiguration kann die Steuerapparatur 100 auf einfache Weise das Roboter-Bewegungsprogramm erzeugen, ohne dass die Singularität berücksichtigt werden muss.
  • Eine Ausführungsform ist oben beschrieben worden, aber das Steuersystem 1, die Steuerapparatur 100 und der Roboter 200 sind nicht auf die oben beschriebene Ausführungsform beschränkt. Variationen, Modifikationen usw., die in einem Umfang vorgenommen wurden, der ein erreichbares Ziel umfasst, sind umfassend enthalten.
  • In der oben beschriebenen Ausführungsform erhält die Steuerapparatur 100 als Anweisung zur Änderung der Haltung vom Benutzer die Anweisung zur Änderung der Gelenkachse 230(5) des Handgelenks des Roboters 200 von der Aufwärtsorientierung in die Abwärtsorientierung oder von der Abwärtsorientierung in die Aufwärtsorientierung, die Anweisung zum Ändern der Gelenkachse 230(3) des Ellenbogens des Roboters 200 von der Aufwärtsausrichtung in die Abwärtsausrichtung oder von der Abwärtsausrichtung in die Aufwärtsausrichtung oder die Anweisung zum Ändern der Ausrichtung des Roboters 200 von der Aufwärtsausrichtung in die Abwärtsausrichtung oder von der Abwärtsausrichtung in die Aufwärtsausrichtung, aber die vorliegende Offenbarung ist nicht auf eine solche Konfiguration beschränkt. Beispielsweise kann die Steuerapparatur 100 vom Benutzer lediglich die Anweisung zur Änderung der Haltung erhalten.
  • Das liegt daran, dass die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 des Roboters 200, wie oben beschrieben, die optimale Haltung beim Durchgang durch die Singularität auf Grundlage der von der Kinematiksteuereinheit 214 und der Koordinatensystem-Steuereinheit 216 erfassten Informationen bestimmt. Somit kann sich die veränderte Haltung des Roboters 200 in einigen Fällen von der durch die Steuerapparatur 100 angewiesenen Haltung unterscheiden. Darüber hinaus ist es für den Benutzer der Werkzeugmaschine, der nicht an die Handhabung der Lern-Steuertafel für den Roboter gewöhnt ist, schwierig, die optimale Haltung zu bestimmen, wenn der Roboter 200 die Singularität durchläuft. Aus diesen Gründen gibt der Benutzer lediglich die Anweisung zum Ändern der Haltung, so dass die Belastung des Benutzers weiter reduziert werden kann.
  • Es ist zu beachten, dass jede Funktion, die das Steuersystem 1, die Steuerapparatur 100 und den Roboter 200 in einer Ausführungsform umfasst, durch Hardware, Software oder eine Kombination davon implementiert werden kann. Implementierung durch die hier beschriebene Software bedeutet, dass jede Funktion durch Lesen und Ausführen eines Programms durch einen Computer implementiert wird.
  • Das Programm kann auf verschiedenen Arten von nicht vorübergehenden computerlesbaren Medien gespeichert und dem Computer zugeführt werden. Die nicht vorübergehenden computerlesbaren Medien umfassen verschiedene Arten von greifbaren Speichermedien. Beispiele für nicht-transitorische computerlesbare Medien umfassen magnetische Aufzeichnungsmedien (beispielsweise eine flexible Platte, ein Magnetband und ein Festplattenlaufwerk), magnetisch-optische Aufzeichnungsmedien (beispielsweise eine magnetisch-optische Platte), einen CD-Schreib-Lese-Speicher (CD-ROM), eine CD-R, eine CD-R/W und Halbleiterspeicher (beispielsweise ein Masken-ROM, ein programmierbares ROM (PROM), ein löschbares PROM (EPROM), ein Flash-ROM und ein RAM). Das Programm kann dem Computer über verschiedene Arten von vorübergehenden computerlesbaren Medien zur Verfügung gestellt werden. Beispiele für vorübergehende computerlesbare Medien umfassen ein elektrisches Signal, ein optisches Signal und eine elektromagnetische Welle. Das vorübergehende computerlesbare Medium kann dem Computer das Programm über einen verdrahteten Kommunikationspfad wie einen elektrischen Draht oder eine optische Faser oder über einen drahtlosen Kommunikationspfad liefern.
  • Zu beachten ist, dass der Schritt der Beschreibung des auf dem Aufzeichnungsträger aufgezeichneten Programms selbstverständlich nicht nur eine in chronologischer Reihenfolge durchgeführte Verarbeitung umfasst, sondern auch eine Verarbeitung, die nicht unbedingt in chronologischer Reihenfolge, sondern parallel oder einzeln ausgeführt wird.
  • Mit anderen Worten, das Steuersystem, die Steuerapparatur und der Roboter der vorliegenden Offenbarung können als verschiedene Ausführungsformen mit den folgenden Konfigurationen dargestellt werden.
  • (1) Das Steuersystem 1 der vorliegenden Offenbarung ist ein Steuersystem, das eine Steuerapparatur 100, die eine Roboterposition lehren kann, und einen Roboter 200 umfasst, der gemäß der Positionslehre zu betreiben ist. Die Steuerapparatur 100 umfasst eine Operationseinheit 110, die dem Roboter 200 eine auf der Bedienung durch einen Benutzer basierende Position beibringt, eine Haltungswechsel-Instruktionseinheit 124, die den Roboter 200 anweist, die Haltung zu ändern, wenn er von dem Roboter 200 eine Meldung erhält, dass der Roboter 200 eine Singularität oder deren Umgebung durchläuft, wenn er sich in die gelernte Position bewegt, eine Singularitätsdurchlaufsbewegungs-Anforderungseinheit 125, die die Anweisung zum Ändern der Haltung an den Roboter 200 überträgt, so dass der Roboter 200 die Singularität oder deren Umgebung in der von der Haltungswechsel-Instruktionseinheit 124 angewiesenen Haltung durchläuft, eine Roboterantriebsinformations-Anforderungseinheit 129, die den Roboter 200 auffordert, Roboterantriebsinformationen bereitzustellen, die einen Antriebsstatus des Roboters 200 anzeigen, wenn der Roboter 200 die Singularität oder deren Umgebung durchläuft und die Roboterantriebsinformationen erfasst, und eine Roboter-G-Code-Erzeugungseinheit 130, die auf Grundlage der von der Roboterantriebsinformations-Anforderungseinheit 129 erfassten Roboterantriebsinformationen einen der Bewegung des Roboters 200 entsprechenden G-Code erzeugt und den erzeugten G-Code in ein Programm einfügt. Der Roboter 200 umfasst eine Antriebssteuereinheit 212, die den Roboter 200 antreibt, eine Singularitäts-Bestimmungseinheit 213, die bestimmt, ob der Roboter 200 die Singularität oder deren Umgebung durchläuft oder nicht, wenn er sich in die von der Steuerapparatur 100 eingelernte Position bewegt, und in einem Fall, in dem der Roboter 200 die Singularität oder deren Umgebung durchläuft, eine Meldung an die Steuerapparatur 100 sendet, dass der Roboter 200 die Singularität oder deren Umgebung durchläuft, eine Singularitäts-Durchlaufmuster-Erzeugungseinheit 215, die erzeugt, im Falle des Empfangens der Anweisung zum Ändern der Haltung des Roboters 200 von der Steuerapparatur 100 einen Bewegungsplan, der auf der geänderten Haltung basiert, so dass der Roboter 200 die Singularität oder deren Umgebung durchläuft und die Antriebssteuereinheit 212 veranlasst, den Roboter 200 auf Grundlage des erzeugten Bewegungsplans anzutreiben, und eine Roboterantriebsinformations-Ausgabeeinheit 219, die die Roboterantriebsinformationen an die Steuerapparatur 100 überträgt, falls eine Anforderung der Roboterantriebsinformationen von der Steuerapparatur 100 empfangen wird.
  • Gemäß dem Steuersystem 1 kann ein Roboter-Bewegungsprogramm leicht erstellt werden, ohne dass die Singularität berücksichtigt werden muss.
  • (2) In dem Steuersystem 1 gemäß (1) veranlasst die Singularitäts-Durchlaufmuster-Erzeugungseinheit 215 die Antriebssteuereinheit 212, den Roboter 200 in einem orthogonalen Modus anzutreiben, wenn der Roboter 200 die Singularität oder deren Umgebung nicht durchläuft, wenn er sich in die eingelernte Position bewegt, und veranlasst die Antriebssteuereinheit 212, den Roboter 200 in einem Modus für jede Achse anzutreiben, wenn der Roboter 200 die Singularität oder deren Umgebung durchläuft.
  • Mit dieser Konfiguration kann das Steuersystem 1 in einem Fall, in dem sich der Roboter 200 während des Positions-Teachings für den Roboter 200 in einem orthogonalen Koordinatensystem in der Singularität oder in deren Nähe befindet, das orthogonale Koordinatensystem zu einem Jede-Achsen-Koordinatensystem umschalten, so dass der Roboter 200 die Singularität oder deren Umgebung durchlaufen und durchqueren kann.
  • (3) In dem Steuersystem 1 gemäß (1) oder (2) umfassen die Roboterantriebsinformationen ein Formular, das die Haltung des Roboters 200, die Anzahl der Umdrehungen jeder der Gelenkachsen 230(4) bis 230(6) entsprechend dem Handgelenk des Roboters 200, ein festgelegtes Koordinatensystem und einen Koordinatenwert, der die Position und die Haltung des Roboters 200 angibt, anzeigt.
  • Mit dieser Konfiguration ermöglicht es das Steuersystem 1 selbst einem Benutzer einer Werkzeugmaschine, der keine Erfahrung mit einem Roboter hat, das Roboter-Bewegungsprogramm auf einfache Weise zu erstellen.
  • (4) Im Steuersystem 1 gemäß einem der Punkte (1) bis (3) ist die durch die Haltungswechsel-Instruktionseinheit 124 angewiesene Haltungsänderung eine Änderung der Ausrichtung des Handgelenks oder des Ellenbogens des Roboters 200 von einer Aufwärtsorientierung in eine Abwärtsorientierung oder von der Abwärtsorientierung in die Aufwärtsorientierung, eine Änderung in der Ausrichtung des Roboters 200 von einer Vorwärts-Ausrichtung in eine Rückwärts-Ausrichtung oder von der Rückwärts-Ausrichtung in die Vorwärts-Ausrichtung, oder eine Änderung in der Ausrichtung des Roboters 200 von einer Links-Ausrichtung in eine Rechts-Ausrichtung oder von der Rechts-Ausrichtung in die Links-Ausrichtung.
  • Mit dieser Konfiguration kann das Steuersystem 1, wenn der Roboter 200 beim Positions-Teaching für den Roboter 200 im orthogonalen Koordinatensystem die Singularität erreicht oder sich der Singularität nähert, ohne Versuch und Irrtum des Benutzers bewirken, dass der Roboter 200 eine Bewegung ausführt, so dass der Roboter 200 die Singularität oder deren Umgebung durchläuft und durchquert, die Operationsfähigkeit verbessert und die Belastung des Benutzers verringert werden kann.
  • (5) Die Steuerapparatur 100 dieser Offenbarung umfasst eine Steuerapparatur 110, die einem Roboter 200 als Steuerziel eine auf der Bedienung durch einen Benutzer basierende Position beibringt, eine Haltungswechsel-Instruktionseinheit 124, die den Roboter 200 anweist, seine Haltung zu ändern, wenn er von dem Roboter 200 empfängt, eine Meldung, dass der Roboter 200 eine Singularität oder deren Umgebung durchläuft, wenn er sich in die eingelernte Position bewegt, eine Singularitätsdurchlaufsbewegungs-Anforderungseinheit 125, die die Anweisung zum Ändern der Haltung an den Roboter 200 überträgt, so dass der Roboter 200 die Singularität oder deren Umgebung in der von der Haltungswechsel-Instruktionseinheit 124 angewiesenen Haltung durchläuft, eine Roboterantriebsinformations-Anforderungseinheit 129, die den Roboter 200 auffordert, Roboterantriebsinformationen bereitzustellen, die einen Antriebsstatus des Roboters 200 anzeigen, wenn der Roboter 200 die Singularität oder deren Umgebung durchläuft und die Roboterantriebsinformationen erfasst, und eine Roboter-G-Code-Erzeugungseinheit 130, die auf Grundlage der von der Roboterantriebsinformations-Anforderungseinheit 129 erfassten Roboterantriebsinformationen einen dem Roboter 200 entsprechenden G-Code erzeugt und den erzeugten G-Code in ein Programm einfügt.
  • Gemäß der Steuerapparatur 100 können vorteilhafte Effekte ähnlich denen von (1) bereitgestellt werden.
  • (6) Der Roboter 200 der vorliegenden Offenbarung ist ein Roboter, der gemäß einer Positionslehre durch eine Steuerapparatur 100 arbeitet, die die Position des Roboters (200) lehren kann. Der Roboter 200 umfasst eine Antriebssteuereinheit 212, die den Roboter 200 antreibt, eine Singularitäts-Bestimmungseinheit 213, die bestimmt, ob der Roboter 200 eine Singularität oder deren Umgebung durchläuft oder nicht, wenn er sich in die von der Steuerapparatur 100 eingelernte Position bewegt, und eine Mitteilung an die Steuerapparatur 100 sendet, dass der Roboter 200 die Singularität oder deren Umgebung durchläuft, sowie eine Singularitäts-Durchlaufmuster-Erzeugungseinheit 215, die im Falle des Empfangs einer Anweisung zur Änderung der Haltung des Roboters 200 von der Steuerapparatur 100 eine Haltungswechsel-Instruktionseinheit 215 erzeugt, einen Bewegungsplan, der auf der veränderten Haltung basiert, so dass der Roboter 200 die Singularität oder deren Umgebung durchläuft und die Antriebssteuereinheit 212 veranlasst, den Roboter 200 auf Grundlage des erzeugten Bewegungsplans anzutreiben, und eine Roboterantriebsinformations-Ausgabeeinheit 219, die Roboterantriebsinformationen an die Steuerapparatur 100 im Falle des Empfangs einer Anforderung der Roboterantriebsinformationen von der Steuerapparatur 100 überträgt, wobei die Roboterantriebsinformationen einen Antriebsstatus des Roboters 200 anzeigen, wenn der Roboter 200 die Singularität oder deren Umgebung durchläuft.
  • Gemäß dem Roboter 200 können vorteilhafte Effekte ähnlich denen von (1) erzielt werden.
  • Bezugszeichenliste
  • 1
    Steuersystem
    100
    Steuerapparatur
    110
    Handgriff-Operationseinheit
    124
    Haltungswechsel-Instruktionseinheit
    125
    Singularitätsdurchlaufsbewegungs-Anforderungseinheit
    129
    Roboterantriebsinformations-Anforderungseinheit
    130
    Roboter-G-Code-Erzeugungseinheit
    200
    Roboter
    215
    Singularitäts-Durchlaufmuster-Erzeugungseinheit
    219
    Roboterantriebsinformations-Ausgabeeinheit
  • 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
    • JP 2001154717 [0004]

Claims (6)

  1. Steuersystem (1), das eine Steuerapparatur (100) umfasst, die in der Lage ist, eine Roboterposition zu lehren, und einen Roboter (200), der gemäß Positionslehre zu betreiben ist, wobei das Steuersystem umfasst: wobei die Steuerapparatur (100) umfasst eine Operationseinheit (110), die dem Roboter (200) eine auf der Operation durch einen Benutzer basierende Position beibringt, eine Haltungswechsel-Instruktionseinheit (124), die den Roboter (200) anweist, eine Haltung zu ändern, falls er von dem Roboter (200) eine Mitteilung erhält, dass der Roboter (200) eine Singularität oder eine Umgebung davon durchläuft, wenn er sich in die unterrichtete Position bewegt, eine Singularitätsdurchlaufsbewegungs-Anforderungseinheit (125), die eine Anweisung zum Ändern der Haltung an den Roboter (200) überträgt, so dass der Roboter (200) die Singularität oder deren Umgebung in der von der Haltungswechsel-Instruktionseinheit (124) angewiesenen Haltung durchläuft, eine Roboterantriebsinformations-Anforderungseinheit (129), die den Roboter (200) auffordert, Roboterantriebsinformationen bereitzustellen, die einen Antriebsstatus des Roboters (200) anzeigen, wenn der Roboter (200) die Singularität oder deren Umgebung durchläuft und die Roboterantriebsinformationen erfasst, und eine Roboter-G-Code-Erzeugungseinheit (130), die auf Grundlage der von der Roboterantriebsinformations-Anforderungseinheit (129) erfassten Roboterantriebsinformationen einen der Bewegung des Roboters (200) entsprechenden G-Code erzeugt und den erzeugten G-Code in ein Programm einfügt, und wobei der Roboter (200) umfasst eine Antriebssteuereinheit (212), die den Roboter (200) steuert, eine Singularitäts-Bestimmungseinheit (213), die bestimmt, ob der Roboter (200) die Singularität oder deren Umgebung durchläuft oder nicht, wenn er sich in die von der Steuerapparatur (100) gelehrte Position bewegt, und die eine Mitteilung, dass der Roboter (200) die Singularität oder deren Umgebung durchläuft, an die Steuerapparatur (100) sendet, falls der Roboter (200) die Singularität oder deren Umgebung durchläuft, eine Singularitäts-Durchlaufmuster-Erzeugungseinheit (215), die in einem Fall des Empfangens der Anweisung zum Ändern der Haltung des Roboters (200) von der Steuerapparatur (100) einen Bewegungsplan auf Grundlage der geänderten Haltung erzeugt, so dass der Roboter (200) die Singularität oder deren Umgebung durchläuft und die Antriebssteuereinheit (212) veranlasst, den Roboter (200) auf Grundlage des erzeugten Bewegungsplans anzutreiben, und eine Roboterantriebsinformations-Ausgabeeinheit (219), die die Roboterantriebsinformationen an die Steuerapparatur (100) überträgt, wenn sie eine Anforderung für die Roboterantriebsinformationen von der Steuerapparatur (100) empfängt.
  2. Steuersystem (1) nach Anspruch 1, wobei die Singularitäts-Durchlaufmuster-Erzeugungseinheit (215) die Antriebssteuereinheit (212) veranlasst, den Roboter (200) in einem orthogonalen Modus in einem Fall anzutreiben, in dem der Roboter (200) die Singularität oder deren Umgebung nicht durchläuft, wenn er sich in die eingelernte Position bewegt, und die Antriebssteuereinheit (212) veranlasst, den Roboter (200) in einem Modus für jede Achse in einem Fall anzutreiben, in dem der Roboter (200) die Singularität oder deren Umgebung durchläuft.
  3. Steuersystem (1) gemäß Anspruch 1 oder 2, wobei die Roboterantriebsinformationen ein Formular umfassen, das die Haltung des Roboters (200), die Anzahl der Umdrehungen jeder der Gelenkachsen (230(4) bis 230(6)), die einem Handgelenk des Roboters (200) entsprechen, ein festgelegtes Koordinatensystem und einen Koordinatenwert anzeigt, der eine Position und die Haltung des Roboters (200) angibt.
  4. Steuersystem (1) gemäß einem der Ansprüche 1 bis 3, wobei die von der Haltungswechsel-Instruktionseinheit (124) angewiesene Haltungsänderung eine Änderung der Ausrichtung des Handgelenks oder eines Ellenbogens des Roboters (200) von einer Aufwärtsorientierung in eine Abwärtsorientierung oder von der Abwärtsorientierung in die Aufwärtsorientierung ist, eine Änderung der Ausrichtung des Roboters (200) von einer Vorwärts-Ausrichtung in eine Rückwärts-Ausrichtung oder von der Rückwärts-Ausrichtung in die Vorwärts-Ausrichtung, oder eine Änderung der Ausrichtung des Roboters (200) von einer Links-Ausrichtung in eine Rechts-Ausrichtung oder von der Rechts-Ausrichtung in die Links-Ausrichtung.
  5. Steuerapparatur (100), umfassend: eine Operationseinheit (110), die einem Roboter (200) als Steuerungsziel eine auf der Operation durch einen Benutzer basierende Position beibringt; eine Haltungswechsel-Instruktionseinheit (124), die den Roboter (200) anweist, eine Haltung zu ändern, falls er von dem Roboter (200) eine Mitteilung erhält, dass der Roboter (200) eine Singularität oder eine Umgebung davon durchläuft, wenn er sich in die unterrichtete Position bewegt; eine Singularitätsdurchlaufsbewegungs-Anforderungseinheit (125), die eine Anweisung zum Ändern der Haltung an den Roboter (200) überträgt, so dass der Roboter (200) die Singularität oder deren Umgebung in der von der Haltungswechsel-Instruktionseinheit (124) angewiesenen Haltung durchläuft; eine Roboterantriebsinformations-Anforderungseinheit (129), die den Roboter (200) auffordert, Roboterantriebsinformationen bereitzustellen, die einen Antriebsstatus des Roboters (200) anzeigen, wenn der Roboter (200) die Singularität oder deren Umgebung durchläuft und die Roboterantriebsinformationen erfasst; und eine Roboter-G-Code-Erzeugungseinheit (130), die auf Grundlage der von der Roboterantriebsinformations-Anforderungseinheit (129) erfassten Roboterantriebsinformationen einen dem Roboter (200) entsprechenden G-Code erzeugt und den erzeugten G-Code in ein Programm einfügt.
  6. Roboter (200), der gemäß einer Positionslehre durch eine Steuerapparatur (100) arbeitet, die in der Lage ist, eine Position des Roboters (200) zu lehren, wobei der Roboter umfasst: eine Antriebssteuereinheit (212), die den Roboter (200) steuert; eine Singularitäts-Bestimmungseinheit (213), die bestimmt, ob der Roboter (200) eine Singularität oder deren Umgebung durchläuft oder nicht, wenn er sich in die von der Steuerapparatur (100) gelehrte Position bewegt, und die eine Meldung, dass der Roboter (200) die Singularität oder deren Umgebung durchläuft, an die Steuerapparatur (100) sendet, falls der Roboter (200) die Singularität oder deren Umgebung durchläuft; eine Singularitäts-Durchlaufmuster-Erzeugungseinheit (215), die in einem Fall des Empfangens einer Anweisung zum Ändern einer Haltung des Roboters (200) von der Steuerapparatur (100) einen Bewegungsplan auf Grundlage der geänderten Haltung erzeugt, so dass der Roboter (200) die Singularität oder deren Umgebung durchläuft und die Antriebssteuereinheit (212) veranlasst, den Roboter (200) auf Grundlage des erzeugten Bewegungsplans anzutreiben; und eine Roboterantriebsinformations-Ausgabeeinheit (219), die Roboterantriebsinformationen an die Steuerapparatur (100) in einem Fall des Empfangens einer Anforderung für die Roboterantriebsinformationen von der Steuerapparatur (100) überträgt, wobei die Roboterantriebsinformationen einen Antriebsstatus des Roboters (200) anzeigen, wenn der Roboter (200) die Singularität oder deren Umgebung durchläuft.
DE102020122847.3A 2019-10-15 2020-09-01 Steuersystem, steuerapparatur und roboter Pending DE102020122847A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019188337A JP7294980B2 (ja) 2019-10-15 2019-10-15 制御システム、制御装置、及びロボット
JP2019-188337 2019-10-15

Publications (1)

Publication Number Publication Date
DE102020122847A1 true DE102020122847A1 (de) 2021-04-15

Family

ID=75155908

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020122847.3A Pending DE102020122847A1 (de) 2019-10-15 2020-09-01 Steuersystem, steuerapparatur und roboter

Country Status (4)

Country Link
US (1) US11806876B2 (de)
JP (1) JP7294980B2 (de)
CN (1) CN112659157A (de)
DE (1) DE102020122847A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020215904B3 (de) 2020-12-15 2022-03-31 Kuka Deutschland Gmbh Verfahren und System zum Betreiben eines Roboters

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210370503A1 (en) * 2020-05-29 2021-12-02 Wipro Limited Method and system for providing dynamic cross-domain learning

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000015593A (ja) * 1998-06-30 2000-01-18 Toshiba Corp マニピュレータ軌道生成装置及びマニピュレータ軌道生成プログラムを記録した記録媒体
JP2001154717A (ja) 1999-09-13 2001-06-08 Fanuc Ltd ロボットと機械の結合システム
JP5283541B2 (ja) * 2009-03-05 2013-09-04 株式会社神戸製鋼所 ロボットの動作経路生成方法
BR112014007077A2 (pt) * 2011-09-28 2017-04-11 Universal Robots As "método para calibração de robôs e método para converter um programa de trabalho"
JP5893665B2 (ja) * 2014-04-14 2016-03-23 ファナック株式会社 作用された力に応じて移動されるロボットを制御するロボット制御装置
JP2017007023A (ja) * 2015-06-19 2017-01-12 ライフロボティクス株式会社 ロボット装置及びモータ制御装置
US11167384B2 (en) * 2015-07-02 2021-11-09 Serenity Data Security, Llc Hard drive non-destructive dismantling system
US20200139546A1 (en) * 2018-11-02 2020-05-07 Park Industries, Inc. Robotic saw and water jet control
JP2020171989A (ja) * 2019-04-10 2020-10-22 国立大学法人 名古屋工業大学 ロボット教示システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020215904B3 (de) 2020-12-15 2022-03-31 Kuka Deutschland Gmbh Verfahren und System zum Betreiben eines Roboters

Also Published As

Publication number Publication date
US11806876B2 (en) 2023-11-07
US20210107148A1 (en) 2021-04-15
CN112659157A (zh) 2021-04-16
JP7294980B2 (ja) 2023-06-20
JP2021062445A (ja) 2021-04-22

Similar Documents

Publication Publication Date Title
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE69735269T2 (de) Steuerverfahren zum schrittbetrieb eines roboters
EP2546711B1 (de) Verfahren zum Programmieren eines Roboters
DE102010036499B4 (de) Werkzeugvektor-Anzeigevorrichtung für eine Werkzeugmaschine mit Drehachse
AT398050B (de) Schweissroboter
DE4291619C2 (de) Verfahren zum Betreiben einer mehrachsigen computernumerisch gesteuerten Werkzeugmaschine
DE602006000648T2 (de) Offline-Lehrgerät für einen Roboter
DE102018009023B4 (de) Einlernvorrichtung zum Ausführen von Robotereinlernvorgängen und Einlernverfahren
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
EP2987592A2 (de) Verfahren zum programmieren eines industrieroboters und zugehöriger industrieroboter
DE4411426B4 (de) Multitask-Steuersystem
DE102010045529A1 (de) Interaktives Robotersteuerungssystem und Verwendungsverfahren
DE112016004725T5 (de) Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung
EP1591209A2 (de) Verfahren zum Steuern einer Maschine, insbesondere eines Industrieroboters
DE102020122847A1 (de) Steuersystem, steuerapparatur und roboter
DE102010039540B4 (de) Handbediengerät zum manuellen Bewegen eines Roboterarms
DE112016005595T5 (de) Robotersystem und ein Betriebsverfahren dafür
DE102015105687A1 (de) Roboter
DE102018009025A1 (de) Robotersteuervorrichtung zum Einstellen eines Bewegungskoordinatensystems
DE102018208600A1 (de) Robotersteuerung und Produktionssystem
DE112021007017T5 (de) Numerik-Steuervorrichtung und Numerik-Steuersystem
DE112020006647B4 (de) Ursprungsrückführvorrichtung
EP2927764A1 (de) Numerische Steuerung mit Anzeige einer Vorschau bei Änderungen des Teileprogramms
DE102018201589A1 (de) Verfahren zur Programmierung der Steuerung eines Industrieroboters, Verfahren zum Betreiben eines Industrieroboters, Programmiervorrichtung sowie Industrierobotersystem mit einer solchen Programmiervorrichtung
DE102006036490A1 (de) Verfahren und Vorrichtung zum Steuern eines Handhabungsgeräts

Legal Events

Date Code Title Description
R012 Request for examination validly filed