DE102015114013B4 - Verfahren und Vorrichtung zur Steuerung des Betriebs eines Roboters - Google Patents

Verfahren und Vorrichtung zur Steuerung des Betriebs eines Roboters Download PDF

Info

Publication number
DE102015114013B4
DE102015114013B4 DE102015114013.6A DE102015114013A DE102015114013B4 DE 102015114013 B4 DE102015114013 B4 DE 102015114013B4 DE 102015114013 A DE102015114013 A DE 102015114013A DE 102015114013 B4 DE102015114013 B4 DE 102015114013B4
Authority
DE
Germany
Prior art keywords
speed
virtual
angular velocity
duty cycle
calculated
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
DE102015114013.6A
Other languages
English (en)
Other versions
DE102015114013A1 (de
Inventor
Satoshi Ide
Daisuke Kawase
Naoya Kagawa
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.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Publication of DE102015114013A1 publication Critical patent/DE102015114013A1/de
Application granted granted Critical
Publication of DE102015114013B4 publication Critical patent/DE102015114013B4/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
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Vorrichtung (30) zur Steuerung eines Roboters (10), welcher einen Arm mit einer Mehrzahl von Drehelementen (13, 15, 16A, 16B, 17), einer Mehrzahl von Gelenken (JT1, JT2, JT3), die jeweils zwei benachbarte Drehelemente der Drehelemente (13, 15, 16A, 16B, 17) drehbar miteinander verbinden, und einer Mehrzahl von elektrischen Servomotoren, welche die Gelenke (JT1, JT2, JT3) entsprechend antreiben, um die Drehelemente (13, 15, 16A, 16B, 17) zu rotieren, besitzt, wobei die Vorrichtung (30) aufweist:Winkelgeschwindigkeits-Berechnungsmittel (S14) zum Berechnen einer Winkelgeschwindigkeit bei jedem Betriebszyklus, mit welcher jeder der Servomotoren anzutreiben ist;Geschwindigkeits-Berechnungsmittel (S 13-S 17) zum Berechnen einer Geschwindigkeit eines Überwachungsabschnitts, welcher bei jedem der Drehelemente eingerichtet ist;Ermittlungsmittel (S 18, S19) zum Ermitteln, ob die durch die Geschwindigkeits-Berechnungsmittel berechnete Geschwindigkeit bei dem Überwachungsabschnitt kleiner oder gleich einer Referenzgeschwindigkeit ist;Winkelgeschwindigkeits-Reduktionsmittel (S20-S22) zum Anweisen, dass sich die Winkelgeschwindigkeit von jedem der Servomotoren in einer Art und Weise reduziert, dass die Geschwindigkeit bei jedem der Überwachungsabschnitte, welche durch die Geschwindigkeits-Berechnungsmittel berechnet wird, gleich der Referenzgeschwindigkeit oder niedriger als die Referenzgeschwindigkeit wird, wenn durch die Ermittlungsmittel ermittelt wird, dass sich die Geschwindigkeit bei dem Überwachungsabschnitt über der Referenzgeschwindigkeit befindet; und Antriebsmittel (S23) zum Antreiben der Servomotoren mit der Winkelgeschwindigkeit, welche durch die Winkelgeschwindigkeits-Reduktionsmittel reduziert wurde,wobei die Winkelgeschwindigkeits-Reduktionsmittel (S14) derart konfiguriert sind, dass diese die Reduktion der Winkelgeschwindigkeiten der Servomotoren basierend auf Verhältnissen zwischen einer Maximalgeschwindigkeit aus den Geschwindigkeiten der Überwachungsabschnitte, welche durch die Geschwindigkeits-Berechnungsmittel (S13-S17) berechnet werden, und der Referenzgeschwindigkeit anweisen.

Description

  • Die vorliegende Erfindung betrifft eine Vorrichtung zur Steuerung des Betriebs eines Roboters, und insbesondere die Vorrichtung zur Steuerung des Betriebs eines Industrieroboters.
  • Herkömmlich ist eine Technologie bekannt, bei welcher, wenn die Bewegungsgeschwindigkeit bei einem Steuerpunkt eines Roboters während eines manuellen Betriebs des Roboters eine Referenzgeschwindigkeit überschreitet, der Roboter in einer Art und Weise betätigt wird, dass eine Betriebs-Zielposition korrigiert wird, um die Bewegungsgeschwindigkeit auf die Referenzgeschwindigkeit oder niedriger einzustellen (siehe die JP 3 994 487 B2 ).
  • Jedoch kann, auch wenn die Bewegungsgeschwindigkeit des Spitzenabschnitts eines Arms, welcher als der Steuerpunkt des Roboters eingestellt ist, auf die Referenzgeschwindigkeit oder niedriger gesteuert wird, die Bewegungsgeschwindigkeit des Arms nicht ausreichend unterdrückt werden. Die Erfinder der vorliegenden Anmeldung konzentrierten sich auf dieses Problem.
  • Ferner offenbart die DE 10 2008 027 754 A1 eine Steuervorrichtung zum Steuern eines Roboterkörpers mit einem Gelenk, das durch einen in den Roboterkörper installierten Servomotor angetrieben werden kann, wobei der Servomotor mechanisch durch eine in den Roboterkörper installierte Power-Off-Bremse gebremst wird, wenn der Servomotor entregt ist, wobei die Steuervorrichtung aufweist: eine erste Schaltereinheit, die ausgebildet ist, um eine elektrische Verbindung zwischen der Power-Off-Bremse und einer Leistungsquelle hierfür herzustellen, wenn der Servomotor erregt ist, wobei die hergestellte elektrische Verbindung zwischen der Power-Off-Bremse und der Leistungsquelle bewirkt, dass die Power-Off-Bremse gelöst wird; eine zweite Schaltereinheit, die manuell bedienbar und zwischen der Power-Off-Bremse und der Leistungsquelle vorgesehen ist, wobei die zweite Schaltereinheit eine elektrische Verbindung zwischen der Power-Off-Bremse und der Leistungsquelle herstellt, wenn sie manuell bedient wird, während der Servomotor entregt ist; eine Berechnungseinheit, die ausgebildet ist, um eine Antriebsgeschwindigkeit des Gelenks durch den Servomotor zu berechnen; eine Bestimmungseinheit, die ausgebildet ist, um zu bestimmen, ob die berechnete Antriebsgeschwindigkeit des Gelenks größer als eine vorbestimmte Schwellengeschwindigkeit ist; und eine Unterbrechereinheit, die ausgebildet ist, um eine Zufuhr einer elektrischen Leistung von der Leistungsquelle zur Power-Off-Bremse durch die durch die zweite Schaltereinheit hergestellte elektrische Verbindung zu unterbrechen, wenn bestimmt wird, dass die berechnete Antriebsgeschwindigkeit des Gelenks größer als die vorbestimmte Schwellengeschwindigkeit ist.
  • Die DE 698 38 934 T2 offenbart eine Roboter-Steuervorrichtung zum Steuern eines Roboters, der durch eine Anzahl von Roboterachsen gemäß einem Bewegungsprogramm angetrieben wird, wobei jede Roboterachse einen Positionsdetektor aufweist, umfassend: Vorrichtung zum Erzeugen eines Fehlbewegungserfassungsindexes, mit der ein Fehlbewegungserfassungsindex erzeugt wird zum Erfassen einer anormalen Bewegung eines Punktes, der eine Position des Roboters im Raum veranschaulicht, und zwar auf der Basis der aktuellen Positionsdaten der Roboterachsen, die von Ausgängen der Positionsdetektoren für die Roboterachsen erhalten werden, während der Roboter in Bewegung ist; und Bestimmungsvorrichtung zum Vergleichen des Fehlbewegungserfassungsindexes mit einer festgelegten Fehlbewegungserfassungsreferenz, und zum Bestimmen einer anormalen Bewegung, wenn der Fehlbewegungserfassungsindex größer ist als die festgelegte Fehlbewegungserfassungsreferenz; wobei die Roboter-Steuervorrichtung ferner aufweist: eine Vorrichtung zur Bestimmung des Bewegungstyps, mit der bestimmt wird, ob ein durch das Bewegungsprogramm vorgeschriebener Bewegungstyp eine Weg-Steuerbewegung ist, die eine Wegsteuerung eines am Roboter befestigten Endeffektors benötigt, oder ein entsprechende Achsenbewegung, die keine Wegsteuerung des Endeffektors benötigt; eine Vorrichtung zum Einstellen der Fehlbewegungserfassungsreferenz, mit der die festgelegte Fehlbewegungserfassungsreferenz für den Endeffektor, für den durch die Vorrichtung zur Bestimmung des Bewegungstyps bestimmten Bewegungstyp, auf der Basis der Daten im Bewegungsprogramm eingestellt wird; wobei: die Vorrichtung zum Erzeugen eines Fehlbewegungserfassungsindexes so angeordnet ist, dass sie einen Fehlbewegungserfassungsindex erzeugt, mit dem eine anormale Bewegung des Endeffektors für den durch die Vorrichtung zur Bestimmung des Bewegungstyps bestimmten Bewegungstyp erfasst wird; die Vorrichtung zum Bestimmen einer anormalen Bewegung so angeordnet ist, dass der erzeugte Fehlbewegungserfassungsindex des Endeffektors mit der festgelegten Fehlbewegungserfassungsreferenz für den Endeffektor verglichen wird, und eine anormale Bewegung des Endeffektors bestimmt wird, wenn dessen Fehlbewegungserfassungsindex größer ist als die eingestellte festgelegte Fehlbewegungserfassungsreferenz für den Endeeffektor; und Anhaltevorrichtungen zum sofortigen Anhalten der Bewegung des Roboters, wenn eine anormale Bewegung des Endeffektors durch die Vorrichtung zum Bestimmen der anormalen Bewegung erfasst wird.
  • Die EP 2 684 649 A1 offenbart eine Steuer- bzw. Regeleinheit eines Gelenkroboters zum Steuern bzw. Regeln des Gelenkroboters, wobei der Gelenkroboter enthält: ein erstes Gelenkantriebssystem mit einem Arbeitsteil, der sich entlang einer Arbeitslinie eines Werkstücks an einem oberen Ende davon bewegt, und drei Antriebswellen, die sequentiell bzw. nacheinander angeordnet sind, mit dem Arbeitsteil verbunden sind und die Haltung bzw. Lage des Arbeitsteils ändern, und ein zweites Gelenkantriebssystem mit zumindest drei Antriebswellen, die mit dem ersten Gelenkantriebssystem verbunden sind und die Position des ersten Gelenkantriebssystems ändern, wobei die Einheit umfasst: Interpolationsdatenberechnungsmittel zum Berechnen von Daten, die die Position und Lage des Arbeitsteils an jedem einer Mehrzahl interpolierter Punkten beschreiben, die auf einem vorherigen Lehrpfad liegen, der den Arbeitsstartpunkt und die Lage zu dem Arbeitsendpunkt und Lage des Arbeitsteils verbindet, in einem Basiskoordinatensystem des Gelenkroboters; Winkelberechnungsmittel zum Berechnen der Winkel aller Antriebswellen in dem ersten Gelenkantriebssystem und dem zweiten Gelenkantriebssystem, wobei die Winkel die Position und die Lage des Arbeitsteils an jedem der interpolierten Punkte darstellen, durch Finden einer Lösung für ein inverses Kinematikproblem aus den bzw. anhand der Daten, die durch die Interpolationsdatenberechnungsmittel berechnet werden; Drehzahlberechnungsmittel zum Berechnen der Drehzahlen und/oder Beschleunigung von zwei Antriebswellen, die sich an beiden Enden des ersten Gelenkantriebssystems befinden, wenn die Lage des Arbeitsteils zu dem nächsten interpolierten Punkt bewegt wird, und zwar auf der Basis einer Differenz zwischen dem Winkel jeder der Antriebswellen des ersten Gelenkantriebssystems an einem aktuellen interpolierten Punkt und dem Winkel an dem nächsten interpolierten Punkt, die durch die Winkelberechnungsmittel berechnet werden; Haltungs- bzw. Lagedatenumwandlungsmittel zum Umwandeln der durch die Interpolationsdatenberechnungsmittel berechneten Daten in Haltungs- bzw. Lagedaten, die die Haltung bzw. Lage des Arbeitsteils in einem Arbeitskoordinatensystem beschreiben, das eine Achse, die sich in einer Bewegungsrichtung des Arbeitsteils erstreckt, eine Achse, die sich in einer Richtung senkrecht zu der Achse in der Bewegungsrichtung erstreckt, und eine Achse senkrecht zu jeder der beiden Achsen aufweist; Neuberechnungsmittel zum, wenn die Drehzahl und/oder Beschleunigung von zumindest einer der beiden Antriebswellen, die sich an beiden der Enden des ersten Gelenkantriebssystems befinden und durch die Drehzahlberechnungsmittel berechnet werden, außerhalb eines vorbestimmten zulässigen Bereichs liegt, Neuberechnen der Winkel der Antriebswellen des ersten Gelenkantriebssystems, so dass die Drehzahlen und/oder Beschleunigungen der beiden Antriebswellen, die sich an beiden der Enden des ersten Gelenkantriebssystems befinden, innerhalb des zulässigen Bereichs liegen, ohne die Bewegungsgeschwindigkeit des Arbeitsteils zu ändern und die Winkel der Antriebswellen des zweiten Gelenkantriebssystems neu zu berechnen, und zwar auf der Basis der berechneten Winkel der Antriebswellen des ersten Gelenkantriebssystems und der Position des Arbeitsteils, die durch die Interpolationsdatenberechnungsmittel berechnet wird; und Antriebsinstruktionsmittel zum, falls die Drehzahlen und/oder Beschleunigungen der beiden Antriebswellen, die sich an beiden Enden des ersten Gelenkantriebssystems befinden und durch die Drehzahlberechnungsmittel berechnet werden, innerhalb des zulässigen Bereichs liegen, Antreiben des Gelenkroboters auf der Basis der Winkel der Antriebswellen, die durch die Winkelberechnungsmittel berechnet werden, und, falls die Drehzahl und/oder Beschleunigung von zumindest einer der beiden Antriebswellen, die sich an beiden Enden des ersten Gelenkantriebssystems befinden und durch die Drehzahlberechnungsmittel berechnet werden, außerhalb des zulässigen Bereichs liegen, Antreiben des Gelenkroboters auf der Basis der Winkel der Antriebswellen, die durch die Neuberechnungsmittel berechnet werden, wobei das Neuberechnungsmittel enthält: Winkelkandidatenberechnungsmittel zum Berechnen, auf der Basis des Winkels jeder der Antriebswellen des ersten Gelenkantriebssystems an dem aktuellen interpolierten Punkt, einer Mehrzahl von Kandidaten des Winkels von zumindest einer von die Antriebswellen, so dass sich der Winkel der Antriebswelle auf den Winkel an dem nächsten interpolierten Punkt bezieht und diesem folgt, der durch die Winkelberechnungsmittel berechnet wird, und zusätzlich die Drehzahlen und/oder Beschleunigungen von zwei Antriebswellen, die sich an beiden Enden des ersten Gelenkantriebssystems an dem nächsten interpolierten Punkt befinden, innerhalb des zulässigen Bereichs liegen, wobei, wenn die Drehzahl und/oder die Beschleunigung von zumindest einer der beiden Antriebswellen, die sich an beiden Enden des ersten Gelenkantriebssystems befinden und durch die Drehzahlberechnungsmittel berechnet werden, außerhalb des vorbestimmten zulässigen Bereichs liegt, das Berechnen der Mehrzahl von Kandidaten des Winkels jeder der Antriebswellen umfasst: Berechnen, auf der Basis des Winkels der zumindest einen der beiden Antriebswellen, die sich an beiden Enden des ersten Gelenkantriebssystems an dem aktuellen interpolierten Punkt befinden, einer Mehrzahl von Kandidaten des Winkels für die zumindest eine der beiden Antriebswellen, die sich an beiden Enden des ersten Gelenkantriebssystems befinden, die dem Winkel an dem nächsten interpolierten Punkt folgen und die erlauben, dass die Drehzahl und/oder Beschleunigung von zumindest einer der beiden Antriebswellen, die sich an beiden Enden des ersten Gelenkantriebssystems befinden, innerhalb des zulässigen Bereichs liegt bzw. liegen; und Berechnen der Winkel der anderen Antriebswellen des Gelenkroboters an dem nächsten interpolierten Punkt entsprechend jedem der berechneten Kandidaten des Winkels der zumindest einen der beiden Antriebswellen, die sich an beiden Enden des ersten Gelenkantriebssystems befinden, Haltungs- bzw. Lagedatenberechnungsmittel zum Berechnen von Haltungs- bzw. Lagedaten, die die Haltung bzw. Lage des Arbeitsteils an dem nächsten interpolierten Punkt in dem Arbeitskoordinatensystem definieren, wenn jeder der Kandidaten des durch die Winkelkandidatenberechnungsmittel berechneten Winkels verwendet wird, und Winkelauswahlmittel zum Auswählen, aus der Mehrzahl von Lagedaten, die durch die Lagedatenberechnungsmittel berechnet werden, von Lagedaten mit der geringsten Differenz von einer oder zwei bestimmten Komponenten aus den Lagedaten des Arbeitsteils an dem nächsten interpolierten Punkt, der durch die Lagedatenumwandlungsmittel umgewandelt wird, und Auswählen des Winkels entsprechend den Lagedaten als den Winkel der Antriebswellen; wobei, nachdem das Drehzahlzulässigkeits- bzw. Höchstdrehzahlbestimmungsmittel bestimmt, dass eine Antriebswelle außerhalb des zulässigen Bereichs vorhanden ist, das Antriebsinstruktionsmittel den Antrieb des Gelenkroboters auf der Basis der Winkel der Antriebswellen instruiert, die durch die Neuberechnungsmittel berechnet werden, wobei, falls danach eine Differenz zwischen dem Winkel des ersten Gelenkantriebssystems, der durch die Winkelberechnungsmittel berechnet wird, und dem Winkel des ersten Gelenkantriebssystems, der durch die Neuberechnungsmittel berechnet wird, kleiner oder gleich einem vorbestimmten Wert ist, das Antriebsinstruktionsmittel den Antrieb des Gelenkroboters auf der Basis der Winkel der Antriebswellen, die durch die Winkelberechnungsmittel berechnet werden, anstelle der Winkel der Antriebswellen instruiert, die durch die Neuberechnungsmittel berechnet werden.
  • Die EP 1 724 072 B1 offenbart einen Industrieroboter, umfassend: einen an dem Roboter angebrachten Beschleunigungsmesser und eine mit dem Roboter verbundene Steuerung zum Überwachen der Bewegung einer an einem Endeffektor des Roboters angebrachten Werkzeugbaugruppe und zum Anhalten der Bewegung des Roboters, wenn die Bewegung der Werkzeugbaugruppe während des Durchführungs-Belehrens des Roboters ein vorbestimmtes Kriterium für Sicherheitsüberwachungszwecke überschreitet.
  • Zudem offenbart die JP 2010- 167 515 A einen mehrachsigen Roboter, umfassend eine Vielzahl von Kopplungselementen, die mit einer Basis verbunden sind und an deren Spitzen ein Werkzeugelement befestigt ist, wobei die Basis und die Vielzahl von Kopplungselementen relativ zueinander rotieren können. Der Roboter enthält einen Geschwindigkeitscontroller zur Steuerung der Winkelgeschwindigkeit jeder Drehachse, wenn sich das Werkzeugelement bewegt. Der Geschwindigkeitscontroller wird so gesteuert, dass die Winkelgeschwindigkeit der Rotationsachse so erhalten wird, dass die höchste Bewegungsgeschwindigkeit auf einer Vielzahl von vorgegebenen Oberflächenbereichen zu einer vorbestimmten Grenzbewegungsgeschwindigkeit in der Vielzahl von Kopplungselementen und dem Werkzeugelement wird.
  • Die Aufgabe der vorliegenden Erfindung liegt somit darin, eine Vorrichtung zur Steuerung eines Roboters vorzusehen, welche eine ausreichende Unterdrückung der Bewegungsgeschwindigkeit eines Arms ermöglicht.
  • Die vorstehende Aufgabe wird durch den Gegenstand von Anspruch 1 gelöst. Vorteilhafte Weiterbildungen der Erfindung sind Gegenstand der sich daran anschließenden abhängigen Ansprüche.
  • Ein erläuternder Aspekt der vorliegenden Offenbarung entspricht einer Vorrichtung zur Steuerung eines Roboters, welcher einen Arm mit einer Mehrzahl von Drehelementen, einer Mehrzahl von Gelenken, die jeweils zwei benachbarte Drehelemente der Drehelemente drehbar miteinander verbinden, und einer Mehrzahl von elektrischen Servomotoren, welche die Gelenke jeweils antreiben, um die Drehelemente zu rotieren, besitzt. Die Vorrichtung weist Winkelgeschwindigkeits-Berechnungsmittel bzw. eine Winkelgeschwindigkeits-Berechnungseinrichtung zum Berechnen einer Winkelgeschwindigkeit bei jedem Betriebszyklus, mit welcher jeder der Servomotoren anzutreiben ist; Geschwindigkeits-Berechnungsmittel zum Berechnen einer Geschwindigkeit eines Überwachungsabschnitts, welcher bei jedem der Drehelemente eingerichtet ist; Ermittlungsmittel zum Ermitteln, ob die durch die Geschwindigkeits-Berechnungsmittel berechnete Geschwindigkeit bei dem Überwachungsabschnitt kleiner oder gleich einer Referenzgeschwindigkeit ist; Winkelgeschwindigkeits-Reduktionsmittel zum Anweisen, dass sich die Winkelgeschwindigkeit von jedem der Servomotoren in einer Art und Weise reduziert, dass die Geschwindigkeit bei jedem der Überwachungsabschnitte, welche durch die Geschwindigkeits-Berechnungsmittel berechnet wird, gleich der Referenzgeschwindigkeit oder niedriger als die Referenzgeschwindigkeit wird, wenn durch die Ermittlungsmittel ermittelt wird, dass sich die Geschwindigkeit bei dem Überwachungsabschnitt über der Referenzgeschwindigkeit befindet; und Antriebsmittel zum Antreiben der Servomotoren bei der Winkelgeschwindigkeit, welche durch die Winkelgeschwindigkeits-Reduktionsmittel reduziert wurde.
  • Bei der vorstehend beschriebenen Konfiguration umfasst der Arm des Roboters eine Mehrzahl von Drehelementen. Die Drehelemente sind durch ein Gelenk drehbar miteinander verbunden. Die Winkelgeschwindigkeit, mit welcher jeder Servomotor bei jedem Betriebszyklus anzutreiben ist, wird berechnet. Jedes Drehelement wird durch jeden bzw. je einen Servomotor angetrieben, der mit der Winkelgeschwindigkeit angetrieben wird.
  • Hierbei kann, auch wenn die Bewegungsgeschwindigkeit des Spitzen-Endabschnitts des Arms, welcher als der Steuerpunkt des Roboters eingestellt ist, auf die Referenzgeschwindigkeit oder niedriger gesteuert ist, die Bewegungsgeschwindigkeit eines Abschnitts des Arms, welcher sich von dem Steuerpunkt unterscheidet, in Abhängigkeit der Haltung bzw. Stellung des Arms (Roboters) höher sein als die Referenzgeschwindigkeit. Die Erfinder der vorliegenden Anmeldung haben sich auf dieses Problem konzentriert.
  • Diesbezüglich wird die Geschwindigkeit des bei jedem Drehelement eingerichteten Überwachungsabschnitts berechnet. Die Winkelgeschwindigkeit jedes Servomotors wird dann in einer Art und Weise reduziert, dass die berechnete Geschwindigkeit jedes Überwachungsabschnitts gleich der Referenzgeschwindigkeit oder niedriger wird. Als die Überwachungsabschnitte der Drehelemente sind beispielsweise Abschnitte mit einem Abschnitt eingestellt bzw. eingerichtet, welcher von dem Gelenk, das als die Rotationsmitte dient, wenn ein Drehelement rotiert wird, am weitesten entfernt liegt. Jeder Servomotor wird dann mit der reduzierten Winkelgeschwindigkeit von jedem Servomotor angetrieben. Folglich kann die Geschwindigkeit des bei jedem Drehelement eingerichteten Überwachungsabschnitts zusätzlich zu der Geschwindigkeit bei dem Steuerpunkt des Roboters auf die Referenzgeschwindigkeit oder niedriger eingestellt werden. Die Bewegungsgeschwindigkeit des Arms kann ausreichend unterdrückt werden.
  • Bei einer Ausführungsform sind Winkel-Berechnungsmittel zum Berechnen des Winkels von jedem Servomotor bei jedem Betriebszyklus vorgesehen. Die Geschwindigkeits-Berechnungsmittel berechnen die Geschwindigkeit des bei jedem der Drehelemente eingerichteten Überwachungsabschnitts basierend auf dem aktuellen Winkel von jedem Servomotor bei jedem Betriebszyklus, dem Winkel jedes Servomotors, welcher durch die Winkel-Berechnungsmittel berechnet wird, und der Größe (beispielsweise einer Länge von einer Achsenlinie zu jedem Überwachungsabschnitt) von jedem Drehelement.
  • Bei der vorstehend beschriebenen Konfiguration wird der Winkel von jedem Servomotor bei jedem Betriebszyklus berechnet. Die Geschwindigkeit des Überwachungsabschnitts, welcher bei jedem Drehelement eingerichtet ist, kann dann basierend auf dem aktuellen Winkel von jedem Servomotor, dem bei jedem Betriebszyklus berechneten Winkel jedes Servomotors und der Größe jedes Drehelements berechnet werden.
  • Insbesondere kann, wie bei einem weiteren Beispiel, die nachfolgende Konfiguration verwendet werden. Das heißt, die Geschwindigkeits-Berechnungsmittel berechnen die aktuelle Position von jedem Überwachungsabschnitt basierend auf dem aktuellen Winkel jedes Servomotors und der Größe jedes Drehelements. Die Geschwindigkeits-Berechnungsmittel berechnen bei jedem Betriebszyklus die Position jedes Überwachungsabschnitts basierend auf den Winkel jedes Servomotors, der bei jedem Betriebszyklus durch die Winkel-Berechnungsmittel berechnet wird, und der Größe jedes Drehelements. Die Geschwindigkeits-Berechnungsmittel berechnen dann die Geschwindigkeit durch Dividieren der Strecke ausgehend von der aktuellen Position hin zu der Position jedes Überwachungsabschnitts, welche vorgesehen ist, wenn der aktuelle Betriebszyklus verstreicht, durch den Betriebszyklus.
  • Bei einem weiteren Beispiel sind Abschnitte einschließlich eines Abschnitts, welcher von dem Gelenk am weitesten entfernt liegt, das als die Rotationsmitte dient, wenn ein Drehelement rotiert wird, als die Überwachungsabschnitte der Drehelemente eingestellt.
  • Bei der vorstehend beschriebenen Konfiguration sind Abschnitte einschließlich des Abschnitts, welcher von dem Gelenk am weitesten entfernt liegt, das als die Rotationsmitte dient, wenn ein Drehelement rotiert wird, als die Überwachungsabschnitte der Drehelemente eingestellt bzw. eingerichtet. Daher kann bei jedem Drehelement ein Abschnitt als der Überwachungsabschnitt eingestellt sein, welcher sehr wahrscheinlich die höchste Geschwindigkeit aufweist. Die Bewegungsgeschwindigkeit des Arms kann ausreichend unterdrückt werden.
  • Bei einem weiteren Beispiel reduzieren die Winkelgeschwindigkeits-Reduktionsmittel die Winkelgeschwindigkeit jedes Servomotors basierend auf dem Wert eines Verhältnisses einer Maximalgeschwindigkeit und der Referenzgeschwindigkeit. Die Maximalgeschwindigkeit entspricht der höchsten Geschwindigkeit aus den Geschwindigkeiten der Überwachungsabschnitte, welche durch die Geschwindigkeits-Berechnungsmittel berechnet werden.
  • Bei der vorstehend beschriebenen Konfiguration wird die Winkelgeschwindigkeit jedes Servomotors basierend auf dem Wert des Verhältnisses der Maximalgeschwindigkeit aus den berechneten Geschwindigkeiten der Überwachungsabschnitte und der Referenzgeschwindigkeit reduziert. Daher kann die Winkelgeschwindigkeit jedes Servomotors geeignet reduziert werden, so dass die Geschwindigkeit des Überwachungsabschnitts mit der höchsten Geschwindigkeit gleich der Referenzgeschwindigkeit oder niedriger wird. Der Wert des Verhältnisses der Maximalgeschwindigkeit und der Referenzgeschwindigkeit entspricht einem Wert, welcher dadurch erhalten wird, dass die Maximalgeschwindigkeit durch die Referenzgeschwindigkeit dividiert wird (Verhältniswert = Maximalgeschwindigkeit/Referenzgeschwindigkeit).
  • Bei einem weiteren Beispiel reduzieren die Winkelgeschwindigkeits-Reduktionsmittel die Winkelgeschwindigkeit jedes Servomotors durch Dividieren der durch die Winkelgeschwindigkeits-Berechnungsmittel berechneten Winkelgeschwindigkeit jedes Servomotors durch den Verhältniswert.
  • Bei der vorstehend beschriebenen Konfiguration wird die Winkelgeschwindigkeit jedes Servomotors dadurch reduziert, dass die berechnete Winkelgeschwindigkeit jedes Servomotors durch den Verhältniswert dividiert wird. Daher kann die Winkelgeschwindigkeit jedes Servomotors einfach und geeignet reduziert werden.
  • Bei einem weiteren Beispiel sind Berechnungsmittel für einen virtuellen Winkel und Berechnungsmittel für eine virtuelle Geschwindigkeit vorgesehen. Die Berechnungsmittel für einen virtuellen Winkel berechnen einen virtuellen Winkel jedes Servomotors bei jedem virtuellen Betriebszyklus. Die Berechnungsmittel für eine virtuelle Geschwindigkeit berechnen eine virtuelle Geschwindigkeit des bei jedem Drehelement eingerichteten Überwachungsabschnitts basierend auf dem aktuellen Winkel jedes Servomotors, dem durch die Berechnungsmittel für den virtuellen Winkel bei jedem virtuellen Betriebszyklus berechneten virtuellen Winkel jedes Servomotors und der Größe jedes Drehelements. Wenn die Maximalgeschwindigkeit aus den virtuellen Geschwindigkeiten der Überwachungsabschnitte, wie durch die Berechnungsmittel für die virtuelle Geschwindigkeit berechnet, höher als die Referenzgeschwindigkeit ist, verkürzen die Winkelgeschwindigkeits-Reduktionsmittel den virtuellen Betriebszyklus durch Dividieren des virtuellen Betriebszyklus durch den Verhältniswert. Wenn die Maximalgeschwindigkeit niedriger als eine Ermittlungsgeschwindigkeit ist, berechnet die Winkelgeschwindigkeit die Winkelgeschwindigkeit jedes Servomotors derart, dass jeder Servomotor bei dem Betriebszyklus zu dem virtuellen Winkel jedes Servomotors, wie durch die Berechnungsmittel für den virtuellen Winkel berechnet, angetrieben wird.
  • Bei der vorstehend beschriebenen Konfiguration wird der virtuelle Winkel jedes Servomotors bei jedem virtuellen Betriebszyklus berechnet. Die virtuelle Geschwindigkeit des bei jedem Drehelement eingerichteten Überwachungsabschnitts kann basierend auf dem aktuellen Winkel jedes Servomotors, dem berechneten virtuellen Winkel jedes Servomotors, welcher vorgesehen ist, wenn der aktuelle virtuelle Betriebszyklus verstreicht, und der Größe jedes Drehelements berechnet werden.
  • Hierbei wird, wenn die Maximalgeschwindigkeit aus den berechneten virtuellen Geschwindigkeiten der Überwachungsabschnitte höher als die Referenzgeschwindigkeit ist, der virtuelle Betriebszyklus dadurch verkürzt, dass der virtuelle Betriebszyklus durch den Verhältniswert dividiert wird. Daher wird der virtuelle Winkel jedes Servomotors bei dem verkürzten virtuellen Betriebszyklus neu berechnet. Wenn die Maximalgeschwindigkeit aus den virtuellen Geschwindigkeiten der Überwachungsabschnitte, die basierend auf den virtuellen Winkeln neu berechnet werden, niedriger als die Referenzgeschwindigkeit ist, wird die Winkelgeschwindigkeit jedes Servomotors derart berechnet, dass jeder Servomotor bei jedem Betriebszyklus zu dem virtuellen Winkel jedes Servomotors angetrieben wird. Daher wird der Winkel, durch welchen jeder Servomotor bei jedem Betriebszyklus angetrieben wird, klein und die Winkelgeschwindigkeit jedes Servomotors kann wesentlich reduziert werden. Darüber hinaus können infolge der Verkürzung des virtuellen Betriebszyklus die Winkelgeschwindigkeiten sämtlicher Servomotoren kollektiv reduziert werden. Wenn der virtuelle Betriebszyklus ausgehend von dem Betriebszyklus nicht verkürzt ist, wird die Winkelgeschwindigkeit jedes Servomotors aufrechterhalten.
  • Zusätzlich kann bei einer Konfiguration, bei welcher eine Betriebs-Zielposition korrigiert wird, wie beim Stand der Technik, die Bewegungsbahn verändert werden, wenn die Betriebs-Bewegungsbahn einer Kurve entspricht. Diesbezüglich kann bei der Konfiguration, bei welcher der virtuelle Betriebszyklus verkürzt ist, wie vorstehend beschrieben, die Betriebs-Bewegungsbahn aufrechterhalten werden. Die Ermittlungsgeschwindigkeit kann der gleichen Geschwindigkeit wie die Referenzgeschwindigkeit, einer etwas höheren Geschwindigkeit als die Referenzgeschwindigkeit oder dergleichen entsprechen.
  • Bei einem weiteren Beispiel sind Antriebs-Verhinderungsmittel vorgesehen. Wenn das Verkürzen des virtuellen Betriebszyklus dadurch, dass der virtuelle Betriebszyklus durch den Verhältniswert dividiert wird, durch die Winkelgeschwindigkeits-Reduktionsmittel häufiger als eine vorbestimmte Anzahl wiederholend durchgeführt wird, verhindem die Antriebs-Verhinderungsmittel das Antreiben jedes Servomotors durch die Antriebsmittel.
  • Die Steuerungsvorrichtung eines Roboters ist erforderlich, um die Winkelgeschwindigkeit jedes Servomotors und dergleichen zu berechnen und einen Befehl während des Betriebszyklus auszugeben. Diesbezüglich ist bei der vorstehend beschriebenen Konfiguration, wenn das Verkürzen des virtuellen Betriebszyklus dadurch, dass der virtuelle Betriebszyklus durch den Verhältniswert dividiert wird, häufiger als eine vorbestimmte Anzahl durchgeführt wird, das Antreiben jedes Servomotors verhindert. Daher kann das Antreiben der Servomotoren verhindert werden, wenn die Winkelgeschwindigkeit jedes Servomotors und dergleichen während des Betriebszyklus nicht berechnet werden kann.
  • Bei einem weiteren Beispiel sind Winkel-Berechnungsmittel zum Berechnen des Winkels jedes Servomotors bei jedem Betriebszyklus vorgesehen. Wenn die Maximalgeschwindigkeit aus den Geschwindigkeiten der Überwachungsabschnitte, wie durch die Geschwindigkeits-Berechnungsmittel berechnet, höher als die Referenzgeschwindigkeit ist, erweitern die Winkelgeschwindigkeits-Reduktionsmittel den Betriebszyklus durch Multiplizieren des Betriebszyklus mit dem Verhältniswert. Die Winkelgeschwindigkeits-Reduktionsmittel reduzieren die Winkelgeschwindigkeit jedes Servomotors in einer Art und Weise, dass jeder Servomotor bei dem erweiterten Betriebszyklus zu dem Winkel jedes Servomotors angetrieben wird, welcher durch die Winkel-Berechnungsmittel berechnet wird.
  • Bei der vorstehend beschriebenen Konfiguration wird der Betriebszyklus dadurch erweitert, dass der Betriebszyklus mit dem Verhältniswert multipliziert wird, wenn die Maximalgeschwindigkeit aus den berechneten Geschwindigkeiten der Überwachungsabschnitte höher als die Referenzgeschwindigkeit ist. Die Winkelgeschwindigkeit jedes Servomotors wird derart reduziert, dass jeder Servomotor bei dem erweiterten Betriebszyklus zu dem berechneten Winkel jedes Servomotors angetrieben wird. Daher können in Folge davon, dass der Betriebszyklus erweitert ist und jeder Servomotor zu dem berechneten Winkel jedes Servomotors angetrieben wird, die Winkelgeschwindigkeiten sämtlicher Servomotoren kollektiv reduziert werden.
  • Zusätzlich kann bei der Konfiguration, bei welcher die Betriebs-Zielposition korrigiert wird, wie beim Stand der Technik, die Bewegungsbahn verändert werden, wenn die Betriebs-Bewegungsbahn einer Kurve entspricht. Diesbezüglich kann bei der Konfiguration, bei welcher der Betriebszyklus ausgedient ist, wie vorstehend beschrieben, die Betriebs-Bewegungsbahn aufrechterhalten werden.
  • In den beigefügten Abbildungen sind:
    • 1 eine Abbildung einer Übersicht eines Systems, welches mit einem Roboter, einer Steuerungsvorrichtung und einem Lehranhänger vorgesehen ist, wobei das System eine Steuerungsvorrichtung gemäß der vorliegenden Erfindung umfasst;
    • 2 eine Vorderansicht einer spezifischen Stellung des Roboters;
    • 3 ein Flussdiagramm eines Vorgangs für eine Geschwindigkeits-Unterdrückungssteuerung eines Arms gemäß der ersten Ausführungsform;
    • 4 ein Diagramm eines Winkelgeschwindigkeitsmusters eines Servomotors;
    • 5 ein Flussdiagramm eines Vorgangs für eine Geschwindigkeits-Unterdrückungssteuerung eines Arms gemäß einer zweiten Ausführungsform; und
    • 6 ein Flussdiagramm eines Vorgangs für eine Geschwindigkeits-Unterdrückungssteuerung eines Arms gemäß einer dritten Ausführungsform.
  • (Erste Ausführungsform)
  • Eine erste Ausführungsform, welche eine Steuerungsvorrichtung gemäß der vorliegenden Erfindung für einen Roboter realisiert, ist nun mit Bezug auf die Abbildungen beschrieben. Der in der vorliegenden Ausführungsform beispielhaft beschriebene Roboter entspricht beispielsweise einem senkrechten Gelenkroboter, welche in einem Montagesystem in einem mechanischen Montagewerk verwendet wird.
  • Zunächst ist mit Bezug auf 1 eine Übersicht eines Roboters 10 beschrieben, welcher als ein senkrechter Gelenkroboter vorgesehen ist.
  • Wie in 1 gezeigt ist, entspricht der Roboter 10 einem Sechsachsenroboter, welcher eine erste Achsenlinie J1, eine zweite Achsenlinie J2, eine dritte Achsenlinie J3, eine vierte Achsenlinie J4, eine fünfte Achsenlinie J5 und eine sechste Achsenlinie J6 besitzt. Die erste Achsenlinie J1 bis zu der sechsten Achsenlinie J6 dienen als die Rotationsmitten-Achsenlinien von jeweiligen Gelenken, die Drehelemente (oder Armelemente) miteinander verbinden. Die Bezugszeichen JT1, JT2 und JT3 in 1 zeigen konzeptionell Gelenke, welche entsprechend die ersten, zweiten und dritten Achsenlinien J1, J2 und J3 vorsehen. Obwohl nicht gezeigt, gilt dies auch für die vierten, fünften und sechsten Achsenlinien J4, J5 und J6.
  • Der Betriebswinkel jedes Abschnitts der Achsenlinien wird durch Antreiben durch eine Antriebsquelle und eine Verzögerung durch einen Verzögerer oder dergleichen angepasst. Die Antriebsquelle ist aus einem elektrischen Servomotor oder dergleichen aufgebaut. Die Servomotoren sind jeweils in der Lage, in sowohl Vorwärts- als auch Rückwärtsrichtungen zu rotieren. Jedes Drehelement wird durch das Antreiben des Servomotors mit Bezug auf eine Ausgangspunktposition betätigt (angetrieben). Jeder Servomotor ist mit einer elektromagnetischen Bremse und einem Codierer vorgesehen. Die elektromagnetische Bremse bremst die Ausgangsachse des Servomotors. Der Codierer gibt basierend auf dem Drehwinkel der Ausgangsachse ein Impulssignal aus.
  • Der Roboter 10 ist auf dem Boden aufgestellt. Die erste Achsenlinie J1 erstreckt sich in einer vertikalen Richtung. Eine Basis 11 des Roboters 10 besitzt einen festgelegten Abschnitt 12, welcher auf dem Boden oder dergleichen fixiert ist. Die Basis 11 besitzt ebenso eine Rotationsbasis 13 (ein erstes Drehelement oder ein erstes Armelement), welches oberhalb des fixierten Abschnitts 12 vorgesehen ist. Die Rotationsbasis 13 ist in der Lage, mit der ersten Achsenlinie J1 als die Rotationsmitte in der horizontalen Richtung zu rotieren. Mit anderen Worten, die Rotationsbasis 13 erstreckt sich in der Richtung der ersten Achsenlinie J1 und ist durch den fixierten Abschnitt 12 in einer Art und Weise getragen, dass diese um die erste Achsenlinie J1 rotieren kann.
  • Ein unterer Arm 15 (ein zweites Drehelement oder ein zweites Armelement) ist in einer Art und Weise verbunden bzw. angekoppelt, dass dieser in der Lage ist, mit der zweiten Achsenlinie J2 als die Rotationsmitte in der Richtung im Uhrzeigersinn oder entgegen dem Uhrzeigersinn zu rotieren. Die zweite Achsenlinie J2 erstreckt sich in der horizontalen Richtung. Mit anderen Worten, der untere Arm 15 erstreckt sich in der Richtung von der zweiten Achsenlinie J2 weg, die in einer Ebene senkrecht zu der ersten Achsenlinie J1 enthalten ist. Zusätzlich ist der untere Arm 15 durch die Rotationsbasis 13 getragen, um in der Lage zu sein, um die zweite Achsenlinie J2 zu rotieren. Der untere Arm 15 erstreckt sich in einer Grundstellung in der vertikalen Richtung.
  • Ein oberer Arm 16 ist mit dem oberen Endabschnitt des unteren Arms 15 verbunden. Der obere Arm 16 ist in der Lage, mit der dritten Achsenlinie J3 als die Rotationsmitte in der Richtung im Uhrzeigersinn oder entgegen dem Uhrzeigersinn zu rotieren. Die dritte Achsenlinie J3 erstreckt sich in der horizontalen Richtung. Mit anderen Worten, der obere Arm 16 erstreckt sich in der Richtung von der dritten Achsenlinie J3 weg, welche sich parallel zu der zweiten Achsenlinie J2 befindet. Zusätzlich ist der obere Arm 16 durch den unteren Arm 15 getragen, um in der Lage zu sein, um die dritte Achsenlinie J3 zu rotieren. Der obere Arm 16 erstreckt sich in einer Grundstellung in der horizontalen Richtung.
  • Der obere Arm 16 ist derart konfiguriert, dass dieser auf zwei Armabschnitte auf der Basis-Endseite (auf der Seite des Gelenks, welches während der Rotation um die dritte Achsenlinie J3 rotiert) und der Spitzen-Endseite aufgeteilt ist. Der Armabschnitt auf der Basis-Endseite entspricht einem ersten oberen Arm 16A (einem dritten Drehelement oder einem dritten Armelement). Der Armabschnitt auf der Spitzen-Endseite entspricht einem zweiten oberen Arm 16B (einem vierten Drehelement oder einem vierten Armelement). Der zweite obere Arm 16B ist in der Lage, mit Bezug auf den ersten oberen Arm 16A mit der vierten Achsenlinie J4 als die Rotationsmitte in einer Verdrehungsrichtung zu rotieren. Die vierte Achsenlinie J4 erstreckt sich in der Längsrichtung des ersten oberen Arms 16A. Mit anderen Worten, der zweite obere Arm 16B erstreckt sich in der Richtung der vierten Achsenlinie J4, welche in einer Ebene senkrecht zu der dritten Achsenlinie J3 enthalten ist. Zusätzlich ist der zweite obere Arm 16B durch den ersten oberen Arm 16A getragen, um in der Lage zu sein, um die vierte Achsenlinie J4 zu rotieren.
  • Ein Handgelenkabschnitt 17 (ein fünftes Drehelement oder ein fünftes Armelement) ist bei dem Spitzen-Endabschnitt des oberen Arms 16 (insbesondere des zweiten oberen Arms 16B) vorgesehen. Der Handgelenkabschnitt 17 ist in der Lage, mit Bezug auf den zweiten oberen Arm 16B mit der fünften Achsenlinie J5 als die Rotationsmitte zu rotieren. Die fünfte Achsenlinie J5 erstreckt sich in der horizontalen Richtung. Mit anderen Worten, der an Handgelenkabschnitt 17 erstreckt sich in einer Richtung von der fünften Achsenlinie J5 weg, welche sich senkrecht zu der vierten Achsenlinie J4 befindet. Zusätzlich ist der Handgelenkabschnitt 17 durch den zweiten oberen Arm 16B getragen, um in der Lage zu sein, um die fünfte Achsenlinie J5 zu rotieren.
  • Ein Handabschnitt 18 (ein sechstes Drehelement oder ein sechstes Armelement) zum Anbringen eines Werkstücks, eines Werkzeugs oder dergleichen ist bei dem Spitzen-Endabschnitt des Handgelenkabschnitts 17 vorgesehen. Der Handabschnitt 18 ist in der Lage, mit der sechsten Achsenlinie J6 als die Rotationsmitte in einer Drehrichtung zu rotieren. Die sechste Achsenlinie J6 entspricht der Mittellinie des Handabschnitts 18. Mit anderen Worten, der Handabschnitt 18 erstreckt sich in der Richtung der sechsten Achsenlinie J6, welche sich senkrecht zu der fünften Achsenlinie J5 befindet. Zusätzlich ist der Handabschnitt 18 durch den Handgelenkabschnitt17 getragen, um in der Lage zu sein, um die sechste Achsenlinie J6 zu rotieren. Wie vorstehend beschrieben ist, besteht der Arm des Roboters 10 aus der Rotationsbasis 13, dem unteren Arm 15, dem oberen Arm 16, dem Handgelenkabschnitt 17 und dem Handabschnitt 18.
  • Eine Steuerungsvorrichtung 30 umfasst eine zentrale Verarbeitungseinheit (CPU), einen Nurlesespeicher (ROM), einen Direktzugriffsspeicher (RAM), eine Antriebsschaltung, eine Positions-Erfassungsschaltung und dergleichen. Der ROM speichert darin ein Systemprogramm, ein Betriebsprogramm und dergleichen des Roboters 10. Der RAM speichert darin Parameterwerte und dergleichen, wenn die Programme in dem ROM laufen. Die Positions-Erfassungsschaltung empfängt Eingänge von Erfassungssignalen von jedem Codierer. Die Positions-Erfassungsschaltung erfasst den Drehwinkel des bei jedem Gelenk JT1 (JT2, JT3, ...) vorgesehenen Servomotors basierend auf dem Erfassungssignal von jedem Codierer. Die CPU führt das im Vorhinein eingestellte Betriebsprogramm (Programm) aus. Folglich führt die CPU eine Feedback- bzw. Rückkopplungssteuerung durch, um den Drehwinkel (Armstellung bzw.-haltung) von jedem Gelenk in dem Arm des Roboters 10 auf einen Ziel-Drehwinkel (Zielstellung) zu steuern, basierend auf Positionsinformationen, welche von der Positions-Erfassungsschaltung eingegeben werden. Gemäß der vorliegenden Ausführungsform führt die Steuerungsvorrichtung 30 eine Geschwindigkeits-Unterdrückungssteuerung durch, um die Bewegungsgeschwindigkeit des Arms des Roboters 10 während des Lernens (manueller Betrieb) des Roboters 10 auf eine Referenzgeschwindigkeit oder niedriger zu bringen bzw. zu drücken. Die Referenzgeschwindigkeit ist beispielsweise basierend auf Standards, wie japanischen Industriestandards (JIS) oder Standards der Internationalen Organisation für Normung (ISO), als 250 mm/s vorgeschrieben bzw. festgesetzt.
  • Ein Lehranhänger 40 (Betätigungseinheit) umfasst einen Mikrocomputer mit einer CPU, einem ROM und einem RAM. Der Lehranhänger 40 umfasst außerdem verschiedene manuelle Bedientasten, eine Anzeige 42 und dergleichen. Der Anhänger 40 ist mit der Steuerungsvorrichtung 30 verbunden und ist in der Lage, mit dieser zu kommunizieren. Ein Bediener (Nutzer) kann durch manuelles Bedienen des Anhängers 40 Betriebsprogramme für den Roboter 10 schaffen, korrigieren und eintragen, sowie verschiedene Parameter einstellen. Beim Lernen, welches durchgeführt wird, um ein Betriebsprogramm und dergleichen zu korrigieren, gibt der Bediener eine Anweisung hinsichtlich eines Anweisungspunkts (Positionskoordinaten) vor, durch welchen ein Mittelpunkt 18a (Steuerpunkt) des Handabschnitts 18 des Arms während des Betriebs läuft. Der Bediener kann anschließend den Roboter 10 basierend auf dem gelehrten Steuerprogramm über die Steuerungsvorrichtung 30 betätigen. Mit anderen Worten, die Steuerungsvorrichtung 30 steuert den Betrieb des Arms des Roboters 10 basierend auf dem im Vorhinein eingestellten Betriebsprogramm und der Betätigung des Anhängers 40.
  • Hierbei haben sich die Erfinder der vorliegenden Anmeldung auf die nachfolgenden Aspekte konzentriert. Während des Lernens (manueller Betrieb) des Roboters 10 kann die Bewegungsgeschwindigkeit eines anderen Abschnitts des Arms wie dem Handabschnitt 18 in Abhängigkeit der In-Betriebsstellung des Roboters 10 höher sein als die Referenzgeschwindigkeit, auch wenn die Bewegungsgeschwindigkeit des Handabschnitts 18 (insbesondere des Mittelpunkts 18a) des Arms auf die Referenzgeschwindigkeit oder niedriger gesteuert wird. Wenn sich der Roboter 10 beispielsweise in der in 2 gezeigten Stellung bzw. Position befindet und die Rotationsbasis 13 rotiert wird, ist die Bewegungsgeschwindigkeit des Mittelpunkts 18a (Punkt C5) des Handabschnitts 18 ausreichend niedriger als die Referenzgeschwindigkeit. Die Bewegungsgeschwindigkeiten des Spitzenabschnitts (Punkt C2) des unteren Arms 15 und eines Endabschnitts (Punkt C3) des oberen Arms 16 können jedoch höher als die Referenzgeschwindigkeit sein.
  • Bei der vorliegenden Ausführungsform sind unter Betrachtung des Vorstehenden Überwachungsabschnitte (Punkte) C1 bis C5, die punktähnliche Bereiche darstellen, bei den zweiten bis sechsten Drehelementen eingerichtet oder zugeordnet. Wenn der Roboter in Betrieb ist, werden die Überwachungsabschnitte C1 bis C5 dazu verwendet, um die Rotationsgeschwindigkeiten dort zu überwachen, und die Geschwindigkeits-Überwachungsinformationen werden beim Erzeugen von Pfaden der Armelemente reflektiert. Die Überwachungsabschnitte können bei beiden Enden eines Drehelements (das heißt, jedes Armelements), welches durch ein bestimmtes Gelenk rotiert wird, das für die Rotation angetrieben wurde, als Punkte (oder punktähnliche Bereiche) definiert sein.
  • Basierend auf dieser Definition können, wenn die zweite Achsenlinie J2 (das heißt, das zweite Gelenk JT2) für die Rotation angetrieben wird, zwei Überwachungsabschnitte C1 und C2 bei beiden Enden des unteren Arms 15 in dessen Längsrichtung eingestellt bzw. eingerichtet sein (Bezug auf 2). Von diesen Überwachungsabschnitten C1 und C2 befindet sich ein Überwachungsabschnitt C1 hinsichtlich der Position näher an der zweiten Achsenlinie J2 als diese des anderen Überwachungsabschnitts C2 zu der zweiten Achsenlinie J2. Das heißt, der andere Überwachungsabschnitt C2 liegt von der zweiten Achsenlinie J2 am weitesten entfernt. Wenn in ähnlicher Art und Weise die dritte Achsenlinie (das heißt, das Gelenk JT3) für die Rotation angetrieben wird, sind bei beiden Endpunkten des oberen Arms 16 in der Längsrichtung davon zwei Überwachungsabschnitte C3 und C4 eingestellt bzw. eingerichtet (Bezug auf 2). Wenn die dritte Achsenlinie J3 rotiert wird, ist der untere Arm 15 selbst mit der Rotation der dritten Achsenlinie J3 nicht befasst bzw. beteiligt, die vorgehenden Überwachungsabschnitte C1 und C2 müssen beim Steuern der Überwachung der Geschwindigkeiten des oberen Arms 16, das heißt, beim Antreiben des Gelenks JT3, nicht enthalten sein.
  • Wenn eine weitere Komponente (ein End-Effektor bzw. End-Roboter-Wirkglied) an einem Drehelement befestigt ist, wie dem oberen Arm 16, kann bei dem Spitzen-Endabschnitt oder dergleichen der angebrachten Komponente ein Überwachungsabschnitt C5 eingerichtet sein. Bei der vorliegenden Ausführungsform ist der Überwachungsabschnitt C5 derart eingerichtet, wie in 2 gezeigt ist.
  • Wie vorstehend beschrieben, sind bei der vorliegenden Ausführungsform mit Ausnahme der Rotationsbasis 13, welche als das erste Drehelement dient, die Überwachungsabschnitte C1 bis C5 bei dem unteren Arm 15, welcher als das zweite Drehelement dient, dem oberen Arm 16, welcher als die dritten und vierten Drehelemente dient, dem an Handgelenkabschnitt 17, welcher als das fünfte Drehelement dient, und dem Handabschnitt 18, welcher als das sechste Drehelement dient, eingerichtet. Von diesen Überwachungsabschnitten C1 bis C5 wird der unterste Überwachungsabschnitt C1 während des Betriebs des Roboters keine maximale Rotationsgeschwindigkeit vorsehen, so dass der Überwachungsabschnitt C1 von den überwachten Abschnitten weggelassen werden kann. Dabei verändern sich in Abhängigkeit von Robotertypen und verschiedenen Stellungen, welche durch den Roboter eingenommen werden, Längsenden von Armen, welche mit einer Maximalgeschwindigkeit oder höheren Geschwindigkeiten rotieren sollen, in hohem Maße, und es ist vorzuziehen, solche Armbewegungen zu berücksichtigen. Daher ist es vorzuziehen, Rotationsgeschwindigkeiten bei zumindest den drei beschriebenen Überwachungsabschnitten C2 bis C4 zu überwachen.
  • Auf welche Art und Weise die Positionen der Überwachungsabschnitte einzurichten sind, ist nicht auf die vorstehende Technologie beschränkt, sondern es kann jede Technologie angewendet werden, solange verstanden wird, dass sich Arm-Rotationsgeschwindigkeiten während des Betriebs eines Roboters in Abhängigkeit von Robotertypen und Armstellungen stets verändern, und Armabschnitte, welche mit einer Maximalgeschwindigkeit oder höheren Geschwindigkeiten rotiert werden, überwacht werden können. Das heißt, die vorstehende Definition zum Einrichten der Überwachungsabschnitte ist bei der vorliegenden Ausführungsform inhärent. Ein Bediener kann solche Überwachungsabschnitte bei gewünschten Armpositionen einrichten und eine Computersimulation kann für ein solches Einrichten verwendet werden.
  • Bei der vorliegenden Ausführungsform wird die Winkelgeschwindigkeit jedes Servomotors unterdrückt, so dass die Bewegungsgeschwindigkeiten sämtlicher Überwachungsabschnitte C1 bis C5 kleiner oder gleich der vorbestimmten Referenzgeschwindigkeit gehalten werden.
  • 3 ist ein Flussdiagramm eines Vorgangs für eine Geschwindigkeits-Unterdrückungssteuerung, um die Bewegungsgeschwindigkeit des Arms des Roboters 10 auf die Referenzgeschwindigkeit oder niedriger zu bringen bzw. zu drücken. Die Abfolge von Vorgängen wird bei einem Betriebszyklus Tr (das heißt, bei Intervallen von Tr), bei welchem der Arm betätigt wird, durch die Steuerungsvorrichtung 30 wiederholend durchgeführt. Der Betriebszyklus Tr entspricht beispielsweise 8 ms. Obwohl die vorliegende Ausführungsform in einer Art und Weise beschrieben ist, dass dieser Vorgang während des Lernens (das heißt, manuellen Betätigungen für den Roboter) durchgeführt wird, kann der Vorgang auf einen tatsächlichen Betrieb des Roboters bei einem Aufstellort angewendet werden.
  • Zunächst stellt die Steuerungsvorrichtung 30 einen virtuellen Betriebszyklus Tv auf den Betriebszyklus Tr ein (S11). Mit anderen Worten, die Steuerungsvorrichtung 30 stellt den Betriebszyklus Tr als einen Initialwert des virtuellen Betriebszyklus Tv ein. Bei der vorliegenden Ausführungsform kann der virtuelle Betriebszyklus Tv als ein Betriebszyklus bezeichnet werden, welcher dazu verwendet wird, um den Pfad bzw. die Bahn von jedem der Armelemente des Roboters zu erzeugen. Wenn der Geschwindigkeits-Reduktionsvorgang nicht durchgeführt wird, wird die Beziehung virtueller Betriebszyklus Tv = tatsächlicher Betriebszyklus Tr (das heißt, tatsächlicher Steuerzyklus) realisiert.
  • Nachfolgend erfasst die Steuerungsvorrichtung 30 einen aktuellen Winkel θk jedes Servomotors (S12). Insbesondere veranlasst die Steuerungsvorrichtung 30, dass die Positions-Erfassungsschaltung den aktuellen Winkel θk jedes Servomotors basierend auf dem Erfassungssignal von dem bei jedem Servomotor vorgesehenen Codierer erfasst. k bezeichnet eine Anzahl von 1 bis 6, welche jeweils der ersten Achsenlinie J1 bis zu der sechsten Achsenlinie J6 entsprechen.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 eine aktuelle Position Pi jedes Überwachungsabschnitts (S13). Die Steuerungsvorrichtung 30 berechnet die aktuelle Position Pi jedes Überwachungsabschnitts basierend auf dem aktuellen Winkel θk jedes Servomotors und der Größe jedes Drehelements. Der Index i bezeichnet eine Anzahl von 1 bis 5, welche jeweils den Punkten C1 bis C5 entsprechen. Die Größe jedes Drehelements ist beispielsweise durch eine Länge (oder eine Strecke) ausgehend von der Achsenlinie eines Gelenks hin zu einem Überwachungsabschnitt ausgedrückt. Die Steuerungsvorrichtung 30 berechnet insbesondere die Strecke ausgehend von der Rotationsmitte jedes Drehelements hin zu dem Überwachungsabschnitt basierend auf der Größe jedes Drehelements und der Position, bei welcher jeder Überwachungsabschnitt eingerichtet ist. Anschließend berechnet die Steuerungsvorrichtung 30 die Position jedes Punktes C1 bis C5 durch Kombinieren des aktuellen Winkels θk jedes Servomotors und der Größe jedes Drehelements.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 eine Winkelgeschwindigkeit ωk jedes Servomotors (S14). Der Zielwinkel jedes Servomotors wird insbesondere basierend auf dem Anweisungspunkt berechnet, bezüglich welchem eine Anweisung als der Punkt ausgegeben wurde, durch welchen der Mittelpunkt 18a des Handabschnitts 18 des Arms während des Lernens läuft. Wie in 4 gezeigt, ist beispielsweise das Muster der Winkelgeschwindigkeit ωk, wenn jeder Servomotor zu dem Zielwinkel angetrieben wird, eingestellt. Die Steuerungsvorrichtung 30 berechnet die aktuelle Winkelgeschwindigkeit ωk jedes Servomotors basierend auf dem Muster der Winkelgeschwindigkeit ωk, welches eingestellt wurde. k bezeichnet eine Anzahl von 1 bis 6, welche jeweils der ersten Achsenlinie J1 bis zu der sechsten Achsenlinie J6 entsprechen.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 einen virtuellen Winkel θvk nach dem virtuellen Betriebszyklus Tv jedes Servomotors (S15). Die Steuerungsvorrichtung 30 berechnet den virtuellen Winkel θvk insbesondere unter Verwendung eines Ausdrucks θvk=θk+ωk×Tv.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 eine virtuelle Position Pvi nach dem virtuellen Betriebszyklus Tv jedes Überwachungsabschnitts (S16). Die Steuerungsvorrichtung 30 berechnet insbesondere in einer ähnlichen Art und Weise zu dem Vorgang bei S13 die virtuelle Position Pvi nach dem virtuellen Betriebszyklus Tv jeder Überwachungseinheit basierend auf dem virtuellen Winkel θvk nach dem virtuellen Betriebszyklus Tv jedes Servomotors und der Größe jedes Drehelements.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 eine Geschwindigkeit Vi jedes Überwachungsabschnitts (S17). Die Steuerungsvorrichtung 30 berechnet die Geschwindigkeit Vi insbesondere durch Dividieren der Strecke zwischen der aktuellen Position Pi und der virtuellen Position Pvi nach dem virtuellen Betriebszyklus Tv jedes Überwachungsabschnitts durch den Betriebszyklus Tr. i bezeichnet eine Anzahl von 1 bis 5, welche jeweils den Punkten C1 bis C5 entsprechen.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 eine Maximalgeschwindigkeit Vmx, welche der höchsten Geschwindigkeit Vi aus den Geschwindigkeiten Vi der Überwachungsabschnitte entspricht (S18). Die Steuerungsvorrichtung 30 ermittelt anschließend, ob die Maximalgeschwindigkeit Vmx höher als eine Referenzgeschwindigkeit Vlm ist (S19). Wenn durch die Ermittlung ermittelt wird, dass die Maximalgeschwindigkeit Vmx höher als die Referenzgeschwindigkeit Vlm ist (Ja bei S19), berechnet die Steuerungsvorrichtung 30 einen Wert α, welcher dem Verhältnis der Maximalgeschwindigkeit Vmx und der Referenzgeschwindigkeit Vlm entspricht (S20). Mit anderen Worten, die Steuerungsvorrichtung 30 berechnet den Verhältniswert α unter Verwendung eines Ausdrucks α=Vmx/Vlm (α>1).
  • Nachfolgend stellt die Steuerungsvorrichtung 30 einen Wert als den neuen virtuellen Betriebszyklus Tv ein, welcher durch Dividieren des virtuellen Betriebszyklus Tv durch den Verhältniswert α erhalten wird (S21). Mit anderen Worten, die Steuerungsvorrichtung 30 verkürzt den virtuellen Betriebszyklus Tv ausgehend von dem aktuellen virtuellen Betriebszyklus Tv (dem Initialwert, welcher dem Betriebszyklus Tr entspricht). Anschließend führt die Steuerungsvorrichtung 30 die Vorgänge ausgehend von S15 unter Verwendung des verkürzten virtuellen Betriebszyklus Tv erneut durch.
  • Wenn durch die Ermittlung bei S19 hingegen ermittelt wird, dass die Maximalgeschwindigkeit Vmx nicht höher als die Referenzgeschwindigkeit Vlm ist (Nein bei S19), berechnet die Steuerungsvorrichtung 30 die Winkelgeschwindigkeit ωk jedes Servomotors basierend auf dem virtuellen Betriebszyklus Tv (S22). Die Steuerungsvorrichtung 30 berechnet die Winkelgeschwindigkeit ωk insbesondere unter Verwendung eines Ausdrucks ωk ← ωk×Tv/Tr. Mit anderen Worten, die Steuerungsvorrichtung 30 berechnet die Winkelgeschwindigkeit ωk jedes Servomotors derart, dass der Servomotor zu dem virtuellen Winkel θvk jedes Servomotors nach dem Betriebszyklus Tr angetrieben wird. Wenn der virtuelle Betriebszyklus Tv ausgehend von dem Betriebszyklus Tr nicht verkürzt ist, wird die Winkelgeschwindigkeit ωk aufrechterhalten.
  • Nachfolgend treibt die Steuerungsvorrichtung 30 jeden Servomotor mit der berechneten Winkelgeschwindigkeit ωk jedes Servomotors an (S23). Die Steuerungsvorrichtung 30 wartet dann vorübergehend mit dieser Abfolge von Schritten ab, bis der nächste Betriebszyklus eintritt.
  • Der Schritt bei S14 entspricht einem Vorgang (Winkelgeschwindigkeits-Berechnungsschritt) als Winkelgeschwindigkeits-Berechnungsmittel. Der Schritt bei S15 entspricht einem Vorgang als Berechnungsmittel für einen virtuellen Winkel (Winkel-Berechnungsmittel). Die Schritte bei S13 bis S17 entsprechen einem Vorgang (Geschwindigkeits-Berechnungsschritt) als Berechnungsmittel für eine virtuelle Geschwindigkeit (Geschwindigkeits-Berechnungsmittel). Die Schritte S18 und S19 entsprechen Ermittlungsmitteln bzw. einer Ermittlungseinrichtung (Ermittlungsschritt). Die Schritte bei S20, S21 und S22 entsprechen einem Vorgang (Winkelgeschwindigkeits-Reduktionsschritt) als Winkelgeschwindigkeits-Reduktionsmittel. Der Schritt bei S23 entspricht einem Vorgang (Antriebsschritt) als Antriebsmittel.
  • Gemäß der vorstehend detailliert beschriebenen vorliegenden Ausführungsform werden die nachfolgenden Vorteile erreicht.
    • • Die Geschwindigkeit Vi des Überwachungsabschnitts (Punkte C1 bis C5), welcher bei jedem Drehelement eingerichtet ist, wird berechnet. Die Winkelgeschwindigkeit ωk jedes Servomotors wird reduziert, so dass die berechnete Geschwindigkeit Vi jedes Überwachungsabschnitts gleich der Referenzgeschwindigkeit Vlm oder niedriger wird. Jeder Servomotor wird mit der reduzierten Winkelgeschwindigkeit ωk jedes Servomotors angetrieben. Folglich kann die Geschwindigkeit Vi des bei jedem Drehelement eingerichteten Überwachungsabschnitts zusätzlich zu der Geschwindigkeit eines Steuerpunkts des Roboters 10 auf die Referenzgeschwindigkeit oder niedriger eingestellt werden. Die Bewegungsgeschwindigkeit des Arms kann ausreichend unterdrückt werden.
    • • Der virtuelle Winkel θvk (Winkel θak) jedes Servomotors nach dem virtuellen Betriebszyklus Tv (Betriebszyklus Tr) wird berechnet. Die Geschwindigkeit Vi des bei jedem Drehelement eingerichteten Überwachungsabschnitts kann dann basierend auf dem aktuellen Winkel θk jedes Servomotors, dem berechneten virtuellen Winkel θvk nach dem virtuellen Betriebszyklus Tv jedes Servomotors und der Größe jedes Drehelements berechnet werden. Insbesondere kann die aktuelle Position Pi jedes Überwachungsabschnitts basierend auf dem aktuellen Winkel θk jedes Servomotors und der Größe jedes Drehelements berechnet werden. Die virtuelle Position Pvi (Position Pai) nach dem virtuellen Betriebszyklus Tv (Betriebszyklus Tr) jedes Überwachungsabschnitts kann basierend auf dem virtuellen Winkel θvk nach dem virtuellen Betriebszyklus Tr jedes Servomotors und der Größe jedes Drehelements berechnet werden. Anschließend kann die Geschwindigkeit Vi durch Dividieren der Strecke zwischen der aktuellen Position Pi und der virtuellen Position Pvi nach dem virtuellen Betriebszyklus Tv jedes Überwachungsabschnitts durch den Betriebszyklus Tr berechnet werden.
    • • Der Abschnitt, welcher von dem Gelenk (Drehzentrum-Achsenlinie) am weitesten entfernt liegt, welches als das Drehzentrum dient, wenn jedes Drehelement rotiert wird, ist als der Überwachungsabschnitt jedes Drehelements eingerichtet. Daher können für jedes Drehelement Abschnitte einschließlich eines Abschnitts, welcher sehr wahrscheinlich die höchste Geschwindigkeit besitzt, als der Überwachungsabschnitt eingestellt bzw. eingerichtet sein. Die Bewegungsgeschwindigkeit des Arms kann ausreichend unterdrückt werden.
    • • Die Winkelgeschwindigkeit ωk jedes Servomotors wird basierend auf dem Wert α des Verhältnisses der Maximalgeschwindigkeit Vmx und der Referenzgeschwindigkeit Vlm reduziert, wobei der Maximalwert Vmx der höchsten Geschwindigkeit aus den berechneten Geschwindigkeiten Vi der Überwachungsabschnitte entspricht. Daher kann die Winkelgeschwindigkeit ωk jedes Servomotors geeignet reduziert werden, so dass die Geschwindigkeit Vi des Überwachungsabschnitts mit der höchsten Geschwindigkeit zu der Referenzgeschwindigkeit Vlm oder niedriger wird.
    • • Wenn die Maximalgeschwindigkeit Vmx aus den berechneten Geschwindigkeiten Vi der Überwachungsabschnitte höher als die Referenzgeschwindigkeit Vlm ist, wird der virtuelle Betriebszyklus Tv dadurch verkürzt, dass der virtuelle Betriebszyklus Tr durch den Verhältniswert α dividiert wird. Daher wird der virtuelle Winkel θvk nach dem reduzierten virtuellen Betriebszyklus Tv jedes Servomotors neu berechnet. Wenn die Maximalgeschwindigkeit Vmx aus den Geschwindigkeiten Vi der Überwachungsabschnitte, welche basierend auf den virtuellen Winkeln θvk neu berechnet wurden, niedriger als die Referenzgeschwindigkeit Vlm ist, wird die Winkelgeschwindigkeit ωk jedes Servomotors derart reduziert, dass jeder Servomotor zu dem virtuellen Winkel θvk jedes Servomotors nach dem Betriebszyklus Tr angetrieben wird. Daher wird der Winkel θak, um welchen jeder Servomotor nach dem Betriebszyklus Tr angetrieben wird, kleiner und die Winkelgeschwindigkeit ωk jedes Servomotors kann essenziell reduziert werden. Darüber hinaus kann infolge der Reduktion des virtuellen Betriebszyklus Tv die Winkelgeschwindigkeit ωk sämtlicher Servomotoren kollektiv reduziert werden.
    • • Bei einer Konfiguration, bei welcher eine Betriebs-Zielposition korrigiert wird, wie beim Stand der Technik, kann die Bewegungsbahn verändert werden, wenn die Betriebs-Bewegungsbahn einer Kurve entspricht. Diesbezüglich kann bei der Konfiguration, bei welcher der virtuelle Betriebszyklus Tv verkürzt ist, wie vorstehend beschrieben, die Betriebs-Bewegungsbahn aufrechterhalten werden.
  • (Zweite Ausführungsform)
  • Gemäß der ersten Ausführungsform führt der Roboter 10 einen Punkt-Zu-Punkt (PTP)-Betrieb durch. Gemäß einer zweiten Ausführungsform führt der Roboter 10 jedoch einen Betrieb eines durchgehenden Pfades (CP) bzw. einen Bahn-Betrieb durch. Nachfolgend ist im Wesentlichen der Unterschied zu der ersten Ausführungsform beschrieben.
  • 5 ist ein Flussdiagramm eines Vorgangs für einige Geschwindigkeits-Unterdrückungssteuerung, bei welcher die Bewegungsgeschwindigkeit des Arms des Roboters 10 auf die Referenzgeschwindigkeit oder niedriger gebracht bzw. gedrückt wird. Diese Abfolge von Vorgängen wird durch die Steuerungsvorrichtung 30 bei dem Betriebszyklus Tr, über welchen der Arm betätigt wird, wiederholend durchgeführt.
  • Zunächst stellt die Steuerungsvorrichtung 30 den virtuellen Betriebszyklus Tv auf den Betriebszyklus Tr ein (S31). Mit anderen Worten, die Steuerungsvorrichtung 30 stellt den Betriebszyklus Tr als den Initialwert des virtuellen Betriebszyklus Tv ein.
  • Nachfolgend erfasst die Steuerungsvorrichtung 30 die aktuelle Position und Stellung bzw. Haltung PP des Steuerpunkts (des Mittelpunkts 18a des Handabschnitts 18) des Arms (S32). Bei dem CP-Betrieb, bei welchem der Steuerpunkt entlang der gelehrten Bewegungsbahn bewegt wird, werden die aktuelle Position und Stellung bzw. Haltung PP berechnet.
  • Nachfolgend erfasst die Steuerungsvorrichtung 30 den aktuellen Winkel θk jedes Servomotors (S33). Die Steuerungsvorrichtung 30 berechnet anschließend die aktuelle Position Pi jedes Überwachungsabschnitts (S34). Die Vorgänge bei S33 und S34 sind gleich den Vorgängen bei S12 und S13 in 3.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 die Geschwindigkeit PV bei der Position und Stellung des Steuerpunkts des Arms (S35). Die Steuerungsvorrichtung 30 berechnet insbesondere eine Zielposition und eine Zielstellung des Steuerpunkts basierend auf der Bewegungsbahn des Steuerpunkts, von welcher eine Anweisung während des Lernens angegeben wurde. Anschließend wird basierend auf der Zielposition des Steuerpunkts und der Zielstellung die Geschwindigkeit PV bei der Position und der Stellung des Steuerpunkts berechnet.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 die virtuelle Position und Stellung PPv des Steuerpunkts nach dem virtuellen Betriebszyklus (S36). Die Steuerungsvorrichtung 30 berechnet die virtuelle Position und Stellung PPv insbesondere unter Verwendung eines Ausdrucks PPv=PP+PV×Tv.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 den virtuellen Winkel θvk nach dem virtuellen Betriebszyklus Tv jedes Servomotors (S37). Die Steuerungsvorrichtung 30 berechnet den virtuellen Winkel θvk nach dem virtuellen Betriebszyklus Tv jedes Servomotors insbesondere basierend auf der virtuellen Position und Stellung PPv des Steuerpunkts nach dem virtuellen Betriebszyklus Tv.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 die virtuelle Position nach dem virtuellen Betriebszyklus Tv jedes Überwachungsabschnitts (S38) und dieser berechnet die Geschwindigkeit Vi jedes Überwachungsabschnitts (S39). Die Steuerungsvorrichtung 30 berechnet dann die Maximalgeschwindigkeit Vmx, welche der höchsten Geschwindigkeit Vi aus den Geschwindigkeiten Vi der Überwachungsabschnitte entspricht (S40). Die Steuerungsvorrichtung 30 ermittelt, ob die Maximalgeschwindigkeit Vmx höher als die Referenzgeschwindigkeit Vlm ist (S41). Die Vorgänge bei S38 bis S41 sind gleich den Vorgängen bei S 16 bis S 19 in 3.
  • Wenn durch die Ermittlung bei S41 ermittelt wird, dass die Maximalgeschwindigkeit Vmx höher als die Referenzgeschwindigkeit Vlm ist (Ja bei S41), berechnet die Steuerungsvorrichtung 30 den Wert α des Verhältnisses der Maximalgeschwindigkeit Vmx und der Referenzgeschwindigkeit Vlm (S42). Die Steuerungsvorrichtung 30 stellt den durch Dividieren des virtuellen Betriebszyklus Tv durch den Verhältniswert α erhaltenen Wert als den neuen virtuellen Betriebszyklus Tv ein (S43). Die Vorgänge bei S42 und S43 sind gleich den Vorgängen bei S20 und S21 in 3. Die Steuerungsvorrichtung 30 führt anschließend den Vorgang von S36 unter Verwendung des verkürzten virtuellen Betriebszyklus Tv erneut durch.
  • Wenn durch die Ermittlung bei S41 hingegen ermittelt wird, dass die Maximalgeschwindigkeit Vmx nicht höher als die Referenzgeschwindigkeit Vlm ist (Nein bei S41), berechnet die Steuerungsvorrichtung 30 die Winkelgeschwindigkeit ωk, mit welcher jeder Servomotor von dem aktuellen Winkel θk zu dem virtuellen Winkel θvk angetrieben wird (S44). Die Steuerungsvorrichtung 30 berechnet die Winkelgeschwindigkeit ωk insbesondere unter Verwendung eines Ausdrucks ωk←(θvk-θk)/Tr. Mit anderen Worten, die Steuerungsvorrichtung 30 berechnet die Winkelgeschwindigkeit ωk jedes Servomotors derart, dass jeder Servomotor zu dem virtuellen Winkel θvk jedes Servomotors nach dem Betriebszyklus Tr angetrieben wird.
  • Nachfolgend treibt die Steuerungsvorrichtung 30 jeden Servomotor mit der Winkelgeschwindigkeit ωk jedes Servomotors an, welche berechnet wurde. Die Steuerungsvorrichtung 30 beendet anschließend diese Abfolge von Schritten temporär bis zu dem nächsten Betriebszyklus (Ende).
  • Der Vorgang bei S37 entspricht einem Vorgang als Berechnungsmittel für einen virtuellen Winkel (Winkel-Berechnungsmittel). Die Vorgänge bei S34 bis S39 entsprechen einem Vorgang (Geschwindigkeits-Berechnungsschritt) als Berechnungsmittel für eine virtuelle Geschwindigkeit (Geschwindigkeits-Berechnungsmittel). Die Vorgänge bei S42, S43 und S44 entsprechen einem Vorgang (Winkelgeschwindigkeits-Reduktionsschritt) als Winkelgeschwindigkeits-Reduktionsmittel. Der Vorgang bei S45 entspricht einem Vorgang (Antriebsschritt) als Antriebsmittel.
  • Gemäß der vorstehend detailliert beschriebenen vorliegenden Ausführungsform, werden die nachfolgenden Vorteile erreicht. Hierbei sind lediglich Vorteile beschrieben, welche sich von diesen gemäß der ersten Ausführungsform unterscheiden.
    • • Der virtuelle Winkel θvk (Winkel θak) nach dem virtuellen Betriebszyklus Tv jedes Servomotors kann basierend auf der virtuellen Position und Stellung PPv des Steuerpunkts nach dem virtuellen Betriebszyklus Tv (Betriebszyklus Tr) berechnet werden.
    • • Wenn die Maximalgeschwindigkeit Vmx aus den berechneten Geschwindigkeiten Vi der Überwachungsabschnitte höher als die Referenzgeschwindigkeit Vlm ist, wird der virtuelle Betriebszyklus Tv verkürzt, wobei der virtuelle Betriebszyklus Tv durch den Verhältniswert α dividiert wird. Daher können die virtuelle Position und Stellung PPv des Steuerpunkts unter Verwendung des verkürzten virtuellen Betriebszyklus Tv neu berechnet werden. Folglich kann die Bewegungsgeschwindigkeit des Arms ungeachtet davon, ob ein PTP-Betrieb oder ein CP-Betrieb durchgeführt wird, ausreichend unterdrückt werden.
  • Die erste Ausführungsform und die zweite Ausführungsform können mit den nachfolgenden Modifikationen ausgeführt werden.
    • • Wenn das Verkürzen des virtuellen Betriebszyklus Tv dadurch, dass der virtuelle Betriebszyklus Tv durch den Verhältniswert α dividiert wird (S21 und S43), häufiger als eine vorbestimmte Anzahl wiederholend durchgeführt wird, kann die Steuerungsvorrichtung 40 (Antriebs-Verhinderungsmittel) das Antreiben jedes Servomotors verhindern. Die Steuerungsvorrichtung 30 (Steuerungsvorrichtung) des Roboters 10 soll die Winkelgeschwindigkeit ωk und dergleichen jedes Servomotors berechnen und während des Betriebszyklus Tr einen Befehl ausgeben. Diesbezüglich kann bei den vorstehend beschriebenen Konfigurationen, wenn die Steuerungsvorrichtung 30 nicht in der Lage ist, die Winkelgeschwindigkeit ωk und dergleichen jedes Servomotors während des Betriebszyklus Tr zu berechnen, das Antreiben der Servomotoren verhindert werden. Die vorbestimmte Anzahl, wie vorstehend erwähnt, kann beispielsweise auf etwa fünf eingestellt sein.
    • • Bei S19 in 3 und S41 in 5 wird ermittelt, ob die Maximalgeschwindigkeit Vmx höher als die Referenzgeschwindigkeit Vlm ist. Es kann jedoch ermittelt werden, ob die Maximalgeschwindigkeit Vmx höher als eine Ermittlungsgeschwindigkeit ist, die etwas höher als die Referenzgeschwindigkeit Vlm eingestellt ist. In diesem Fall kann die Geschwindigkeits-Unterdrückungssteuerung des Arms schnell abgeschlossen werden.
    • • Bei S21 in 3 und S43 in 5 wird der virtuelle Betriebszyklus Tv dadurch verkürzt, dass der virtuelle Betriebszyklus Tv durch den Verhältniswert α dividiert wird. Der virtuelle Betriebszyklus Tv kann jedoch dadurch verkürzt werden, dass der virtuelle Betriebszyklus Tv durch einen Wert dividiert wird, welcher etwas höher als der Verhältniswert α ist. Auch in diesem Fall kann die Geschwindigkeits-Unterdrückungssteuerung des Arms schnell abgeschlossen werden.
    • • Als die Referenzgeschwindigkeit Vlm werden 250 mm/s verwendet, was durch Standards, wie JIS oder ISO, vorgeschrieben ist. Als die Referenzgeschwindigkeit Vlm kann j edoch eine Geschwindigkeit verwendet werden, die etwas niedriger ist, wie 230 mm/s. In diesem Fall kann die Bewegungsgeschwindigkeit des Arms einfacher und zuverlässiger auf unter 250 mm/s reduziert werden.
  • (Dritte Ausführungsform)
  • Gemäß der ersten Ausführungsform und der zweiten Ausführungsform wird die Winkelgeschwindigkeit ωk jedes Servomotors dadurch reduziert, dass der virtuelle Betriebszyklus Tv verkürzt wird. Gemäß einer dritten Ausführungsform wird die Winkelgeschwindigkeit ωk jedes Servomotors jedoch dadurch reduziert, dass der Betriebszyklus Tr ausgedehnt wird. Nachfolgend ist im Wesentlichen der Unterschied zu der ersten Ausführungsform beschrieben.
  • 6 ist ein Flussdiagramm des Vorgangs für eine Geschwindigkeits-Unterdrückungssteuerung, bei welcher die Bewegungsgeschwindigkeit des Arms des Roboters 10 auf die Referenzgeschwindigkeit oder niedriger gebracht bzw. gedrückt wird. Diese Abfolge von Vorgängen wird durch die Steuerungsvorrichtung 30 bei dem Betriebszyklus Tr wiederholend durchgeführt, über welchen der Arm betätigt wird. Gemäß der vorliegenden Ausführungsform ist der Betriebszyklus Tr variabel.
  • Zunächst stellt die Steuerungsvorrichtung 30 einen korrigierten Betriebszyklus Ta auf den Betriebszyklus Tr ein (S51). Mit anderen Worten, die Steuerungsvorrichtung 30 stellt den Betriebszyklus Tr vor der Korrektur als den Initialwert des korrigierten Betriebszyklus Ta ein.
  • Nachfolgend erfasst die Steuerungsvorrichtung 30 den aktuellen Winkel θk jedes Servomotors (S52) und berechnet die aktuelle Position Pi jedes Überwachungsabschnitts (S53). Die Steuerungsvorrichtung 30 berechnet anschließend die Winkelgeschwindigkeit ωk jedes Servomotors (S54). Die Vorgänge bei S52 bis S54 sind gleich den Vorgängen bei S12 bis S14 in 3.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 den Winkel θa nach dem Betriebszyklus Tr jedes Servomotors (S55). Die Steuerungsvorrichtung 30 berechnet den Winkel θa nach dem Betriebszyklus Tr insbesondere unter Verwendung eines Ausdrucks θak=θk+ωk×Tr.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 die Position Pai nach dem Betriebszyklus Tr jedes Überwachungsabschnitts (S56). In einer ähnlichen Art und Weise zu dem Vorgang bei S13 in 3 berechnet die Steuerungsvorrichtung 30 die Position Pai nach dem Betriebszyklus Tr jedes Überwachungsabschnitts insbesondere basierend auf dem Winkel θak nach dem Betriebszyklus Tr jedes Servomotors und der Größe jedes Drehelements.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 die Geschwindigkeit Vi jedes Überwachungsabschnitts (S57). Die Steuerungsvorrichtung 30 berechnet die Geschwindigkeit Vi insbesondere durch Dividieren der Strecke zwischen der aktuellen Position Pi jedes Überwachungsabschnitts und der Position Pai nach dem Betriebszyklus Tr durch den Betriebszyklus Tr.
  • Nachfolgend berechnet die Steuerungsvorrichtung 30 die Maximalgeschwindigkeit Vmx, welche der höchsten Geschwindigkeit Vi aus den Geschwindigkeiten Vi der Überwachungsabschnitte entspricht (S58). Die Steuerungsvorrichtung 30 ermittelt, ob die Maximalgeschwindigkeit Vmx höher als die Referenzgeschwindigkeit Vlm ist (S59). Die Vorgänge bei S58 und S59 sind gleich den Vorgängen bei S18 und S19 in 3.
  • Wenn durch die Ermittlung bei S59 ermittelt wird, dass die Maximalgeschwindigkeit Vmx höher als die Referenzgeschwindigkeit Vlm ist (Ja bei S59), berechnet die Steuerungsvorrichtung 30 den Wert α des Verhältnisses der Maximalgeschwindigkeit Vmx und der Referenzgeschwindigkeit Vlm (S60). Die Steuerungsvorrichtung 30 stellt als den korrigierten Betriebszyklus Ta einen Wert ein, welcher durch Multiplizieren des Betriebszyklus Tr mit dem Verhältniswert α erhalten wird. Anschließend führt die Steuerungsvorrichtung 30 unter Verwendung des korrigierten Betriebszyklus Ta, welcher länger als der Betriebszyklus Tr ist, den Vorgang bei S62 durch.
  • Wenn durch die Ermittlung bei S59 hingegen ermittelt wird, dass die Maximalgeschwindigkeit Vmx nicht höher als die Referenzgeschwindigkeit Vlm ist (Nein bei S59), führt die Steuerungsvorrichtung 30 den Vorgang bei S62 durch. Die Steuerungsvorrichtung 30 berechnet die Winkelgeschwindigkeit ωk jedes Servomotors basierend auf dem korrigierten Betriebszyklus Ta (S62). Die Steuerungsvorrichtung 30 berechnet die Winkelgeschwindigkeit ωk insbesondere unter Verwendung eines Ausdrucks ωk←ωk×Tr/Ta. Mit anderen Worten, die Steuerungsvorrichtung 30 berechnet die Winkelgeschwindigkeit ωk jedes Servomotors derart, dass jeder Servomotor zu dem Winkel θak jedes Servomotors nach dem korrigierten Betriebszyklus Ta angetrieben wird. Wenn der korrigierte Betriebszyklus Ta ausgehend von dem Betriebszyklus Tr nicht ausgedehnt ist, wird die Winkelgeschwindigkeit ωk aufrechterhalten.
  • Nachfolgend treibt die Steuerungsvorrichtung 30 jeden Servomotor bei dem korrigierten Betriebszyklus Ta mit der berechneten Winkelgeschwindigkeit ωk jedes Servomotors an (S63). Die Steuerungsvorrichtung 30 beendet dann temporär diese Abfolge von Vorgängen (Ende).
  • Der Vorgang bei S54 entspricht einem Vorgang (Winkelgeschwindigkeits-Berechnungsschritt) als Winkelgeschwindigkeits-Berechnungsmittel. Der Vorgang bei S55 entspricht einem Vorgang als Winkel-Berechnungsmittel. Die Vorgänge bei S53 bis S57 entsprechen einem Vorgang (Geschwindigkeits-Berechnungsschritt) als Geschwindigkeits-Berechnungsmittel. Die Vorgänge bei S60, S61 und S62 entsprechen einem Vorgang (Winkelgeschwindigkeits-Reduktionsschritt) als Winkelgeschwindigkeits-Reduktionsmittel. Der Vorgang bei S63 entspricht einem Vorgang (Antriebsschritt) als Antriebsmittel.
  • Gemäß der vorstehend detailliert beschriebenen vorliegenden Ausführungsform werden die nachfolgenden Vorteile erreicht. Hier sind lediglich Vorteile beschrieben, welche sich von diesen gemäß der ersten Ausführungsform unterscheiden.
    • • Der Winkel θak jedes Servomotors nach dem Betriebszyklus Tr wird berechnet. Anschließend kann die Geschwindigkeit Vi des bei jedem Drehelement eingerichteten Überwachungsabschnitts basierend auf dem aktuellen Winkel θk jedes Servomotors, dem berechneten Winkel θak nach dem Betriebszyklus Tr jedes Servomotors und der Größe jedes Drehelements berechnet werden. Die aktuelle Position Pi jedes Überwachungsabschnitts kann insbesondere basierend auf dem aktuellen Winkel θk jedes Servomotors und der Größe jedes Drehelements berechnet werden. Die Position Pai nach dem Betriebszyklus Tr jedes Überwachungsabschnitts kann basierend auf dem Winkel θak nach dem Betriebszyklus Tr jedes Servomotors und der Größe jedes Drehelements berechnet werden. Die Geschwindigkeit Vi kann dadurch berechnet werden, dass die Strecke zwischen der aktuellen Position Pi jedes Überwachungsabschnitts und der Position Pai nach dem Betriebszyklus Tr durch den Betriebszyklus Tr dividiert wird.
    • • Wenn die Maximalgeschwindigkeit Vmx aus den berechneten Geschwindigkeiten Vi der Überwachungsabschnitte höher als die Referenzgeschwindigkeit Vlm ist, wird der Betriebszyklus Tr hin zu dem korrigierten Betriebszyklus Ta ausgedehnt, welcher dadurch erhalten wird, dass der Betriebszyklus Tr mit dem Verhältniswert α multipliziert wird. Dann wird die Winkelgeschwindigkeit ωk jedes Servomotors derart reduziert, dass jeder Servomotor zu dem berechneten Winkel θak jedes Servomotors nach dem korrigierten Betriebszyklus Ta angetrieben wird. Daher kann als Folge davon, dass der Betriebszyklus ausgedehnt wird und die Servomotoren zu dem berechneten Winkel θak jedes Servomotors angetrieben werden, welcher berechnet wurde, die Winkelgeschwindigkeiten ωk sämtlicher Servomotoren kollektiv reduziert werden.
    • • Im Wesentlichen kann die Winkelgeschwindigkeit ωk jedes Servomotors einfach und geeignet reduziert werden, da die Winkelgeschwindigkeit ωk jedes Servomotors dadurch reduziert wird, dass die berechnete Winkelgeschwindigkeit ωk jedes Servomotors durch den Verhältniswert α dividiert wird.
    • • Bei einer Konfiguration, bei welcher eine Betriebs-Zielposition korrigiert wird, wie beim Stand der Technik, kann die Bewegungsbahn verändert werden, wenn die Betriebs-Bewegungsbahn einer Kurve entspricht. Diesbezüglich kann bei der Konfiguration, bei welcher der Betriebszyklus ausgedehnt ist, wie vorstehend beschrieben, die Betriebs-Bewegungsbahn aufrechterhalten werden.
  • Die Dritte Ausführungsform kann mit den nachfolgenden Modifikationen ausgeführt werden.
  • Bei S61 in 6 wird der Betriebszyklus Tr dadurch ausgedehnt, dass der Betriebszyklus Tr mit dem Verhältniswert α multipliziert wird. Der Betriebszyklus Tr kann jedoch dadurch ausgedehnt werden, dass der Betriebszyklus Tr mit einem Wert multipliziert wird, welcher etwas höher als der Verhältniswert α ist. Zusätzlich werden als die Referenzgeschwindigkeit Vlm 250 mm/s verwendet, was durch Standards, wie JIS oder ISO, vorgeschrieben ist. Als die Referenzgeschwindigkeit Vlm kann jedoch eine Geschwindigkeit verwendet werden, die etwas niedriger ist, wie 230 mm/s. In diesen Fällen kann die Bewegungsgeschwindigkeit des Arms leichter und zuverlässiger auf unter 250 mm/s reduziert werden.
  • Gemäß jeder Ausführungsform kann anstelle des vertikalen Gelenkroboters 10 ein horizontaler Gelenkroboter oder dergleichen verwendet werden.

Claims (4)

  1. Vorrichtung (30) zur Steuerung eines Roboters (10), welcher einen Arm mit einer Mehrzahl von Drehelementen (13, 15, 16A, 16B, 17), einer Mehrzahl von Gelenken (JT1, JT2, JT3), die jeweils zwei benachbarte Drehelemente der Drehelemente (13, 15, 16A, 16B, 17) drehbar miteinander verbinden, und einer Mehrzahl von elektrischen Servomotoren, welche die Gelenke (JT1, JT2, JT3) entsprechend antreiben, um die Drehelemente (13, 15, 16A, 16B, 17) zu rotieren, besitzt, wobei die Vorrichtung (30) aufweist: Winkelgeschwindigkeits-Berechnungsmittel (S14) zum Berechnen einer Winkelgeschwindigkeit bei jedem Betriebszyklus, mit welcher jeder der Servomotoren anzutreiben ist; Geschwindigkeits-Berechnungsmittel (S 13-S 17) zum Berechnen einer Geschwindigkeit eines Überwachungsabschnitts, welcher bei jedem der Drehelemente eingerichtet ist; Ermittlungsmittel (S 18, S19) zum Ermitteln, ob die durch die Geschwindigkeits-Berechnungsmittel berechnete Geschwindigkeit bei dem Überwachungsabschnitt kleiner oder gleich einer Referenzgeschwindigkeit ist; Winkelgeschwindigkeits-Reduktionsmittel (S20-S22) zum Anweisen, dass sich die Winkelgeschwindigkeit von jedem der Servomotoren in einer Art und Weise reduziert, dass die Geschwindigkeit bei jedem der Überwachungsabschnitte, welche durch die Geschwindigkeits-Berechnungsmittel berechnet wird, gleich der Referenzgeschwindigkeit oder niedriger als die Referenzgeschwindigkeit wird, wenn durch die Ermittlungsmittel ermittelt wird, dass sich die Geschwindigkeit bei dem Überwachungsabschnitt über der Referenzgeschwindigkeit befindet; und Antriebsmittel (S23) zum Antreiben der Servomotoren mit der Winkelgeschwindigkeit, welche durch die Winkelgeschwindigkeits-Reduktionsmittel reduziert wurde, wobei die Winkelgeschwindigkeits-Reduktionsmittel (S14) derart konfiguriert sind, dass diese die Reduktion der Winkelgeschwindigkeiten der Servomotoren basierend auf Verhältnissen zwischen einer Maximalgeschwindigkeit aus den Geschwindigkeiten der Überwachungsabschnitte, welche durch die Geschwindigkeits-Berechnungsmittel (S13-S17) berechnet werden, und der Referenzgeschwindigkeit anweisen.
  2. Vorrichtung nach Anspruch 1, wobei die Winkelgeschwindigkeits-Reduktionsmittel (14) derart konfiguriert sind, dass diese die Reduktion der Winkelgeschwindigkeiten der Servomotoren durch Dividieren der berechneten Winkelgeschwindigkeiten der Servomotoren durch die Verhältnisse anweisen.
  3. Vorrichtung nach Anspruch 1 oder 2, aufweisend Berechnungsmittel (S15) für einen virtuellen Winkel zum Berechnen eines virtuellen Winkels von jedem der Servomotoren bei jedem virtuellen Betriebszyklus; und Berechnungsmittel (S13-S17) für eine virtuelle Geschwindigkeit zum Berechnen einer virtuellen Geschwindigkeit des Überwachungsabschnitts von jedem der Drehelemente basierend auf dem aktuellen Winkel von jedem der Servomotoren, dem virtuellen Winkel von jedem der Servomotoren, welcher vorgesehen ist, wenn der aktuelle virtuelle Betriebszyklus verstreicht, und welcher durch die Berechnungsmittel für den virtuellen Winkel berechnet wird, und einer Größe von jedem der Drehelemente, wobei die Ermittlungsmittel (S18, S19) derart konfiguriert sind, dass diese ermitteln, ob eine Maximalgeschwindigkeit der virtuellen Geschwindigkeiten bei den Überwachungsabschnitten kleiner oder gleich der Referenzgeschwindigkeit ist, und die Winkelgeschwindigkeits-Reduktionsmittel (S20-S22) derart konfiguriert sind, dass diese den virtuellen Betriebszyklus durch Dividieren des virtuellen Betriebszyklus durch die Verhältnisse verkürzen, wenn ermittelt wird, dass die Maximalgeschwindigkeit höher als die Referenzgeschwindigkeit ist, und die Servomotoren anweisen, bei jedem Betriebszyklus zu den durch die Berechnungsmittel (S 15) für den virtuellen Winkel berechneten virtuellen Winkeln angetrieben zu werden, wenn ermittelt wird, dass die Maximalgeschwindigkeit niedriger als die Referenzgeschwindigkeit ist.
  4. Vorrichtung nach Anspruch 3, mit Antriebs-Verhinderungsmitteln (30) zum Verhindern, dass die Antriebsmittel die Servomotoren antreiben, wenn die Winkelgeschwindigkeits-Reduktionsmittel das Verkürzen des virtuellen Betriebszyklus häufiger als eine vorbestimmte Anzahl wiederholen.
DE102015114013.6A 2014-08-22 2015-08-24 Verfahren und Vorrichtung zur Steuerung des Betriebs eines Roboters Active DE102015114013B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014169893A JP6379853B2 (ja) 2014-08-22 2014-08-22 ロボットの制御装置及び制御方法
JP2014-169893 2014-08-22

Publications (2)

Publication Number Publication Date
DE102015114013A1 DE102015114013A1 (de) 2016-02-25
DE102015114013B4 true DE102015114013B4 (de) 2024-06-27

Family

ID=55274087

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015114013.6A Active DE102015114013B4 (de) 2014-08-22 2015-08-24 Verfahren und Vorrichtung zur Steuerung des Betriebs eines Roboters

Country Status (4)

Country Link
US (1) US10265860B2 (de)
JP (1) JP6379853B2 (de)
CN (1) CN105382840B (de)
DE (1) DE102015114013B4 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6423816B2 (ja) * 2016-04-11 2018-11-14 ファナック株式会社 制御用cpuを追加できる制御システム
USD834627S1 (en) * 2016-11-29 2018-11-27 Abb Schweiz Ag Teaching pendant protective jacket
CN107349013B (zh) * 2017-05-19 2020-08-04 浙江工业大学 基于数据驱动控制框架的外科手术机器的力控制方法
JP6514273B2 (ja) 2017-06-19 2019-05-15 ファナック株式会社 速度を表示するロボットシステム
EP3680072B1 (de) 2017-09-08 2024-05-01 NTN Corporation Arbeitsvorrichtung mit verwendung eines parallelverbindungsmechanismus
JP6466536B1 (ja) * 2017-09-08 2019-02-06 Ntn株式会社 パラレルリンク機構を用いた作業装置
JP7047525B2 (ja) * 2018-03-26 2022-04-05 日本電産株式会社 ロボット制御装置、ロボット制御方法、プログラム
WO2020170306A1 (ja) * 2019-02-18 2020-08-27 三菱電機株式会社 ロボット制御装置
JP7384005B2 (ja) * 2019-11-27 2023-11-21 セイコーエプソン株式会社 制御方法およびロボットシステム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3994487B2 (ja) 1997-10-06 2007-10-17 株式会社安川電機 ロボット制御装置の速度制御方法
DE69838934T2 (de) 1997-03-25 2009-01-08 Fanuc Ltd. Roboterkontrolleinrichtung
DE102008027754A1 (de) 2007-06-12 2009-01-29 Denso Wave Inc. Steuervorrichtung zum Steuern eines Roboterkörpers mit einer Power-Off-Bremse
EP1724072B1 (de) 2005-05-20 2009-03-11 ABB Research Ltd. Beschleunigungsmesser zur Bewegungsregelung eines an einem Roboter-Endeffektor befestigten Werkzeugs
JP2010167515A (ja) 2009-01-21 2010-08-05 Kawasaki Heavy Ind Ltd 多軸ロボット及びその速度制御装置
EP2684649A1 (de) 2011-03-08 2014-01-15 Kabushiki Kaisha Kobe Seiko Sho Steuereinheit, steuerverfahren und steuerprogramm für einen gelenkroboter

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS635404A (ja) 1986-06-26 1988-01-11 Mitsubishi Electric Corp ロボツトの移動速度制御装置
JP2000194421A (ja) * 1998-12-25 2000-07-14 Makino Milling Mach Co Ltd サ―ボ制御方法及び装置
JP4606256B2 (ja) * 2005-06-15 2011-01-05 株式会社神戸製鋼所 産業用ロボットの制御装置
CN102372042A (zh) * 2011-09-07 2012-03-14 广东工业大学 一种双足机器人的运动规划***
JP5382148B2 (ja) * 2012-01-11 2014-01-08 株式会社デンソーウェーブ ロボットの動作制御装置及びその動作制御方法
CN103495969A (zh) * 2013-09-28 2014-01-08 北京工业大学 一种基于接触式传感器的柔性铰链并联机器人控制装置
CN103984327B (zh) * 2014-05-29 2017-04-12 北京信息科技大学 一种基于模糊控制的小型数字舵机***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69838934T2 (de) 1997-03-25 2009-01-08 Fanuc Ltd. Roboterkontrolleinrichtung
JP3994487B2 (ja) 1997-10-06 2007-10-17 株式会社安川電機 ロボット制御装置の速度制御方法
EP1724072B1 (de) 2005-05-20 2009-03-11 ABB Research Ltd. Beschleunigungsmesser zur Bewegungsregelung eines an einem Roboter-Endeffektor befestigten Werkzeugs
DE102008027754A1 (de) 2007-06-12 2009-01-29 Denso Wave Inc. Steuervorrichtung zum Steuern eines Roboterkörpers mit einer Power-Off-Bremse
JP2010167515A (ja) 2009-01-21 2010-08-05 Kawasaki Heavy Ind Ltd 多軸ロボット及びその速度制御装置
EP2684649A1 (de) 2011-03-08 2014-01-15 Kabushiki Kaisha Kobe Seiko Sho Steuereinheit, steuerverfahren und steuerprogramm für einen gelenkroboter

Also Published As

Publication number Publication date
DE102015114013A1 (de) 2016-02-25
CN105382840B (zh) 2018-06-22
CN105382840A (zh) 2016-03-09
US20160052141A1 (en) 2016-02-25
JP6379853B2 (ja) 2018-08-29
US10265860B2 (en) 2019-04-23
JP2016043452A (ja) 2016-04-04

Similar Documents

Publication Publication Date Title
DE102015114013B4 (de) Verfahren und Vorrichtung zur Steuerung des Betriebs eines Roboters
DE102018116053B4 (de) Robotersystem und Roboterlernverfahren
EP2851162B1 (de) Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
DE102014222809B3 (de) Event-basierte Redundanzwinkelkonfiguartion für Gelenkarmroboter
DE102008027008B4 (de) Verfahren und Vorrichtung zum Steuern eines Manipulators
DE69925204T2 (de) Robotersteuerung
EP2698234B1 (de) Vorrichtung und verfahren zum automatisierten entnehmen von in einem behälter angeordneten werkstücken
EP2303521B1 (de) Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
DE102015211865B3 (de) Verfahren zum redundanzoptimierten Planen eines Betriebs eines mobilen Roboters
EP3323026A1 (de) Ermitteln eines eingabebefehls für einen roboter, der durch manuelles ausüben einer kraft auf den roboter eingegeben wird
DE102019126465B4 (de) Verfahren und Vorrichtung zur Trajektorienbestimmung für serielle Manipulatoren
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE102005061618B4 (de) System und Verfahren zur Ausrichtungs- und Lagekontrolle eines Roboterwerkzeugs
DE19914245B4 (de) Roboter-Steuervorrichtung
DE102007059480B4 (de) Verfahren und Vorrichtung zur Posenüberwachung eines Manipulators
DE10255037A1 (de) Verfahren und Vorrichtung zum Bearbeiten eines Werkstücks
EP1591209A2 (de) Verfahren zum Steuern einer Maschine, insbesondere eines Industrieroboters
DE3741632A1 (de) Verfahren und vorrichtung zum erkennen und ansteuern eines raumzieles
EP3112094B1 (de) Verfahren zum steuern eines manipulatorsystems
DE102011005513A1 (de) Roboter und Verfahren zum Betreiben eines Roboters
EP0232548A2 (de) Bearbeitungsstation für grosse Werkstücke
WO2016005379A1 (de) Maschine und verfahren zum betreiben einer maschine
WO2018010842A1 (de) Redundanzauflösung für einen redundanten manipulator
DE102014226787B3 (de) Sicherer Roboter mit Bahnfortschrittsvariablen

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