DE102014104220B9 - Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter - Google Patents

Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter Download PDF

Info

Publication number
DE102014104220B9
DE102014104220B9 DE102014104220.4A DE102014104220A DE102014104220B9 DE 102014104220 B9 DE102014104220 B9 DE 102014104220B9 DE 102014104220 A DE102014104220 A DE 102014104220A DE 102014104220 B9 DE102014104220 B9 DE 102014104220B9
Authority
DE
Germany
Prior art keywords
end effector
robot
path
speed
axis
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
DE102014104220.4A
Other languages
English (en)
Other versions
DE102014104220B4 (de
DE102014104220A1 (de
Inventor
c/o DENSO WAVE INCORPORATED Iwasaki Yoshirou
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 DE102014104220A1 publication Critical patent/DE102014104220A1/de
Application granted granted Critical
Publication of DE102014104220B4 publication Critical patent/DE102014104220B4/de
Publication of DE102014104220B9 publication Critical patent/DE102014104220B9/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39407Power metrics, energy efficiency
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40527Modeling, identification of link parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43062Maximum acceleration, limit
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43093Speed pattern, table together with timing data in ram
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43203Limitation of speed, permissible, allowable, maximum speed

Landscapes

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

Abstract

Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters (1) mit einer Mehrzahl von bewegbaren Achsen (J1, J2), die durch eine Mehrzahl von Verbindungen (AM1, AM2) und einer Mehrzahl von Gelenken (JT1, JT2) konfiguriert sind, wobei ein an einem äußersten Ende der Mehrzahl von Verbindungen angebrachten Endeffektors (EF) verwendet wird, und wobei das Verfahren die Schritte aufweist: Spezifizieren, in einer Steuereinheit (9), von Positionen eines Startpunkts und eines Endpunkts eines Pfades im dreidimensionalen Raum, in ...

Description

  • HINTERGRUND DER ERFINDUNG
  • [Technisches Gebiet der Erfindung]
  • Die vorliegende Erfindung betrifft ein Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters bzw. zum Erzeugen eines Pfades, um die Bewegungsgeschwindigkeit eines mehrachsigen Roboters zu beschleunigen, und betrifft eine Steuervorrichtung für den mehrachsigen Roboter.
  • [Stand der Technik]
  • In letzter Zeit wird bei Standorten auf der grünen Wiese, wie z. B. einer produktiven Anlage, eine große Vielfalt von Industrierobotern verwendet. Solche Industrieroboter enthalten sogenannte mehrachsige Roboter mit einer Mehrzahl von Gelenken (Achsen). Solche mehrachsige Roboter werden für Schweißarbeiten, Beschichtungsarbeiten, den Zusammenbau von Teilen, zum Transport von Teilen und dergleichen verwendet. Bei einem solchen mehrachsigen Roboter ist es durch seinen Charakter erforderlich, dessen Zeitdauer von einem Startpunkt zu einem Endpunkt zu reduzieren, d. h. erforderlich, um eine Bewegungsgeschwindigkeit zu erhöhen.
  • Verfahren zum Steuern der Beschleunigung/Verzögerung der Bewegung eines mehrachsigen Roboters zum Erhöhen der Bewegungsgeschwindigkeit sind bekannt. Beispielsweise wird gemäß einem von solchen Verfahren ein Basisbewegungsgeschwindigkeitsmuster in einer Trapezform ausgebildet, um eine maximale Beschleunigung gemäß der Stellung des Roboters gefolgt durch eine Korrektur des Geschwindigkeitsmusters zu berechnen. Gemäß einem weiteren Verfahren wird ein mehrachsiger Roboter unter einer Zweipunktregelung (bang-bang-control) unter Verwendung eines maximalen Drehmomentmusters bewegt, das auf einem maximalen Prinzip basiert.
  • In diesem trapezförmigen Geschwindigkeitsmuster ist die Beschleunigung bei einer Zeitdauer konstant, die jedem der Schulterabschnitte entspricht. Allerdings verändert, da sich die tatsächliche Stellung des mehrachsigen Roboters von Moment zu Moment ändert, sich die maximale Beschleunigung auf eine nicht-lineare Weise. Mit anderen Worten, obwohl eine maximale Beschleunigung auf eine nicht-lineare Weise ursprünglich erreicht werden kann, wird die Beschleunigung in dem vorstehenden Bewegungsgeschwindigkeitsmuster auf eine lineare Weise durchgeführt. Daher sind die Motoren nicht in der Lage, ihre Leistung auszuüben. Bezüglich des letzten Verfahrens werden, obwohl es tatsächliche Randbedingungen gibt, die durch die obere Grenze der Bewegungsgeschwindigkeit (Randbedingungen) auferlegt werden, solche Randbedingungen ignoriert. Als Stand der Technik betreffend der Steuerung der vorstehend erwähnten Beschleunigung/Verzögerung sind die in den Patentdokumenten JP 2000-094 371 A , JP 2002-132 349 A , JP 2002-321 178 A , JP H11-53 021 A , US 5 811 952 A und US 7 039 494 B2 offenbarten Steuerverfahren bekannt.
  • Die in den vorstehend dargelegten Patentdokumenten offenbarten Übersichten und Probleme der Steuerverfahren werden nachstehend erläutert.
  • Das Patentdokument JP 2000-094 371 A offenbart ein Steuerverfahren, in dem eine Beschleunigung bei dem trapezförmigen Geschwindigkeitsmuster gemäß dem Gewicht eines Werkstücks und der Trägheit verändert wird. Allerdings wird gemäß dieser Steuerung die Beschleunigung bei einer konstanten Rate basierend auf der beim Zeitpunkt des Anbringens/Lösens des Werkstücks berechneten Beschleunigung erhöht. Demgemäß kann die Beschleunigung nicht über die durch die Eigenschaften des trapezförmigen Geschwindigkeitsmusters auferlegten Beschränkungen übersteigen.
  • Das in dem Patentdokument JP 2002-132 349 A offenbarte Steuerverfahren erwähnt auch die Zeitdauer der Durchführung der Beschleunigung/Verzögerung basierend auf dem trapezförmigen Geschwindigkeitsmuster. Insbesondere wird bei der Zeitdauer eine tatsächliche Beschleunigungskurve so eingestellt, dass sie so gut wie möglich in Übereinstimmung mit einer voreingestellten Grenzgeschwindigkeitskurve ist, um eine Ausgabe einer großen Beschleunigung zu ermöglichen.
  • Allerdings ist in diesem Patentdokument unklar, wie die voreingestellte Grenzbeschleunigungskurve berechnet wird. Ferner wird die Kurve als ein Parameter für jede der Achsen, jede der Bewegungsrichtungen und jede der Beschleunigungen/Verzögerungen bereitgestellt. Demgemäß sind bei diesem Steuerverfahren: (1) eine Mehrzahl von Parametern vorgesehen und dadurch ist die Steuerung mühsam; zudem (2) können die Parameter, die diskrete Werte sind, nicht präzise mit der Beschleunigungskurve in Übereinstimmung sein; ferner wird (3), obwohl eine maximale Beschleunigung von der Stellung des Roboters abhängt, dieser Punkt nicht berücksichtigt. Daher wird dieses Steuerverfahren nicht als allgemeines Verfahren betrachtet.
  • Das Patentdokument JP 2002-321 178 A offenbart ein Steuerverfahren, in dem eine dynamische Gleichung unter Berücksichtigung der Bewegungsdynamik jedes der Achsen eines Roboters bei dem Startpunkt der Bewegung, dem Endpunkt einer Beschleunigung, dem Startpunkt der Verzögerung und dem Endpunkt der Bewegung gelöst wird, um dadurch die Beschleunigungszeit und die Verzögerungszeit zu minimieren. Allerdings kann mit diesem Steuerverfahren eine Beschleunigung/Verzögerung bei anderen Aktionspunkten als die vorstehend erwähnten Aktionspunkte minimiert werden.
  • Das Patentdokument JP H11-53 021 A offenbart ein Verfahren, um Beschleunigungs- und Verzögerungsmuster für Industrieroboter unter Berücksichtigung von Drehmomenten zu generieren.
  • Das Patentdokument US 5 811 952 A offenbart ein Verfahren, um eine Beschleunigungs-/Verzögerungsbewegung für einen Roboter festzulegen, wobei ein Drehmoment des Roboters effizient verwendet werden kann, ohne dass eine Sättigung eintritt.
  • Das Patentdokument US 7 039 494 B2 offenbart einen Controller, um eine Maschine zu steuern, welche durch einen Servomotor bewegbare Antriebsachsen hat, wobei der Controller einen Fehler eliminiert, der durch die Beschleunigungs-/Verzögerungssteuerung entsteht.
  • KURZFASSUNG DER ERFINDUNG
  • Es wird daher gewünscht, ein Verfahren zum Steuern eines Antriebs eines mehrachsigen Roboters vorzusehen, um die Zeitdauer der Bewegung des Endeffektors des Roboters zu verkürzen und eine Steuervorrichtung für den Roboter in einer kürzeren Zeitdauer seines Endeffektors vorzusehen.
  • Die der Erfindung zugrunde liegende Aufgabe wird durch das Verfahren gemäß Anspruch 1 gelöst. Vorteilhafte Weiterentwicklungen und Ausführungsformen sind Gegenstand der weiteren nebengeordneten und abhängigen Ansprüche.
  • Als eine beispielhafte Ausführungsform als Lösung für oben beschriebene Aufgabe ist im Detail ein Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters mit einer Mehrzahl von bewegbaren Achsen vorgesehen, die durch eine Mehrzahl von Verbindungen und eine Mehrzahl von Gelenken konfiguriert sind, wobei ein bei dem äußersten Ende der Mehrzahl der Verbindungen angebrachten Endeffektors verwendet wird, und wobei das Verfahren die Schritte aufweist: Spezifizieren, in einer Steuereinheit, von Positionen eines Startpunkts und eines Endpunkts eines Pfades im dreidimensionalen Raum, in welchem es der Mehrzahl von bewegbaren Achsen möglich ist sich dreidimensional zu bewegen, wobei der Endeffektor derart eingerichtet ist, dass sich dieser auf dem Pfad von dem Startpunkt zu dem Endpunkt bewegt, wenn die bewegbaren Achsen tatsächlich angetrieben werden; und Erzeugen von Geschwindigkeitsmustern von ersten und zweiten Gelenken pro Gelenk, um die entsprechenden ersten und zweiten Gelenke aus der Mehrzahl der Gelenke basierend auf dem spezifizierten Positionen der Start- und Endpunkte anzutreiben, wobei die zweite Verbindung näher zu dem Endeffektor positioniert ist als die erste Verbindung, und wobei die Geschwindigkeitsmuster eine Bewegung der zweiten Verbindung ermöglichen, um i) eine Reaktion zum Erhöhen einer durch das erste Gelenk erzeugten Beschleunigungskraft zu bewirken, wenn begonnen wird, dass sich der Endeffektor von dem Startpunkt in Richtung des Endpunkts bewegt, und um ii) eine Reaktion zum Erhöhen einer Verzögerungskraft zu bewirken, die durch das erste Gelenk erzeugt wird, wenn der Endeffektor bei dem Endpunkt gestoppt wird, wobei das Geschwindigkeitsmuster für das erste Gelenk einen Bereich eines Musters einer beschleunigten Bewegung, der vorgesehen ist, wenn der Endeffektor gestartet wird, sich von dem Starpunkt an zu bewegen, einen Bereich eines Musters einer verzögerten Bewegung, der vorgesehen ist, wenn der Endeffektor zu dem Endpunkt hin stoppt, und einen Bereich eines Musters einer gleichmäßigen Bewegung, der zwischen den Bereichen der Muster für die beschleunigte Bewegung und die verzögerte Bewegung liegt, aufweist; wobei, um die Reaktion zu erzeugen, die zweite Verbindung in eine Richtung bewegt wird, die einer Richtung entgegengesetzt ist, in welche die Mehrzahl der bewegbaren Achsen bewegt wird; und wobei die ersten und zweiten Gelenke jeweils basierend auf denjenigen zugewiesenen Geschwindigkeitsmustern angetrieben werden, wenn der Roboter derart angetrieben wird, dass der Endeffektor tatsächlich entlang des Pfades in dem dreidimensionalen Raum bewegt wird.
  • Es wird bevorzugt, dass der Geschwindigkeitsmustererzeugungsschritt einen Schritt zum Berechnen des Geschwindigkeitsmusters unter Berücksichtigung von Randbedingungen beim Betätigen der ersten und zweiten Gelenke enthält. Vorzugsweise enthalten die Randbedingungen eine Beschleunigungsbedingung, die aus einer maximalen Beschleunigung und einer maximalen Verzögerung jedes der ersten und zweiten Gelenke besteht, und eine Geschwindigkeitsbedingung, die aus einer maximalen Geschwindigkeit und einer minimalen Geschwindigkeit jedes der ersten und der zweiten Gelenke besteht.
  • Es wird auch bevorzugt, dass das Verfahren einen Schritt zum Einstellen einer Mehrzahl von anfänglichen Durchgangspunkten zwischen dem spezifizierten Startpunkt und Endpunkt enthält, wobei der Geschwindigkeitsmustererzeugungsschritt das Geschwindigkeitsmuster einer kürzesten Zeit erzeugt, während die Positionen der anfänglichen Durchgangspunkte aktualisiert werden. In diesem Fall ist vorzugsweise die Mehrzahl der anfänglichen Durchgangspunkte drei an der Zahl.
  • Bei einer weiteren beispielhaften Ausführungsform wird eine Steuervorrichtung vorgeschlagen, die einem mehrachsigen Roboter mit einer Mehrzahl von bewegbaren Achsen steuert, die durch eine Mehrzahl von Verbindungen und eine Mehrzahl von Gelenken konfiguriert sind, aufweisend: eine Positionsspezifizierungseinrichtung zum Spezifizieren von Positionen eines bei einem äußersten Ende der Mehrzahl der Verbindungen angebrachten Endeffektors, wobei die Positionen ein Startpunkt und ein Endpunkt sind; eine Geschwindigkeitsmustererzeugungseinrichtung zum Erzeugen (oder Herstellen) von Geschwindigkeitsmustern eines ersten und eines zweiten Gelenks, um entsprechend erste und zweite Gelenke aus der Mehrzahl von Gelenken basierend auf den spezifizierten Positionen der Start- und Endpunkte anzutreiben, wobei die zweite Verbindung näher zu dem Endeffektor positioniert ist als die erste Verbindung, die Geschwindigkeitsmuster eine Bewegung der zweiten Verbindung ermöglichen, i) eine Reaktion zum Erhöhen einer durch das erste Gelenk erzeugten Beschleunigungskraft zu bewirken, wenn begonnen wird, den Endeffektor von dem Startpunkt in Richtung des Endpunkts zu bewegen, und ii) eine Reaktion zum Erhöhen einer Verzögerungskraft zu bewirken, die durch das erste Gelenk erzeugt wird, wenn der Endeffektor bei dem Endpunkt gestoppt wird; und eine Steuereinrichtung zum Steuern der Betätigung des ersten und des zweiten Gelenks basierend auf dem Geschwindigkeitsmuster.
  • Bei der Steuerung eines herkömmlichen mehrachsigen Roboters wird eine Achse, deren Bewegungsbetrag sich nicht zwischen den Start- und Endpunkten ändert, immer noch einfach funktionieren, die auf einem Greif- und Platziermuster basiert. Wenn eine solche Achse in einer Position verbleibt, wird einem Endeffektor-Seitenarm (zweite Verbindung) lediglich eine Last auf einem Basisseitenarm (erste Verbindung) auferlegt. Die Last auf dem Basisseitenarm ist so groß, dass die Last die Bewegungsgeschwindigkeit des Roboters vom Erhöht werden verhindert.
  • Andererseits bewegt sich, wenn ein Pfad, wie vorstehend beschrieben, erzeugt wird, der Endeffektor-Seitenarm auf einer Endseite des Basisseitenarms, so dass eine Reaktion bei dem Basisseitenarm bewirkt wird. Dementsprechend kann der, wie vorstehend beschrieben, erzeugte Pfad die Beschleunigung erhöhen, die für das Starten des Endeffektors erforderlich ist, und die Verzögerung erhöhen, die für das Stoppen des Endeffektors erforderlich ist. Demgemäß wird die Bewegungsgeschwindigkeit des Endeffektors von dem Startpunkt zum Endpunkt erhöht, um die Zeitdauer des Roboters zu verringern. In diesem Fall bestehen nachfolgende Beziehungen: (Maximale Gelenksbeschleunigung) = (Maximales Gelenksdrehmoment + Stördrehmoment)/Trägheit (A) (Maximale Gelenksgeschwindigkeit) = (Maximale Motorgeschwindigkeit)/(Untersetzungsverhältnis) (B)
  • Beispielsweise berücksichtigt die Zweipunktregelung (bang-bang-control) lediglich, dass irgendeine der Achsen ein maximales Drehmoment ausgeben würde, jedoch nicht die obere Grenze der Geschwindigkeit berücksichtigen. Bei einer solchen Steuerung wird die Trägheit des Faltens bzw. Klappens der Arme basierend auf der Beziehung (A) reduziert. Demgemäß wird die Beschleunigung des Roboters erhöht und daher wird erwartet, dass die Zeitdauer verkürzt wird.
  • Allerdings weisen die meisten der seit kurzer Zeit verbreiteten Roboter ein hohes Untersetzungsverhältnis auf. Demgemäß ist die maximale Gelenksbeschleunigung eines solchen Roboters basierend auf der Beziehung (B) gering und daher ermöglicht der vorstehende Betrieb der Gelenksgeschwindigkeit ihre obere Geschwindigkeitsgrenze in einer kürzeren Zeit zu erreichen. Daher ist die einzige Art und Weise die Zeitdauer zu verkürzen, eine steile Beschleunigung/Verzögerung zu erhalten.
  • Es wird verstanden werden, dass, um die Beschleunigung/Verzögerung des Roboters zu erhöhen, es wirksam ist, die Trägheit basierend auf der Beziehung (A) zu reduzieren und dem Vorzeichen des Stördrehmomentterms zu gestatten, mit dem Vorzeichen des Gelenkdrehmoments übereinzustimmen (d. h. dem Stördrehmoment zu ermöglichen, das Gelenkdrehmoment zu unterstützen). Mit anderen Worten bei einer Bewegung des Roboters wird dem Endeffektor-Seitenarm, wenn er beschleunigt/verzögert wird, ermöglicht, in eine entgegengesetzte Richtung zu der Bewegungsrichtung des Basisseitenarms zu pendeln.
  • In diesem Fall kann die gestörte Achse des Basisseitenarms eine Beschleunigung erhalten, die das maximale Drehmoment des Motors übersteigt, der die gestörte Achse rotiert. Demgemäß kann die Zeitdauer verkürzt werden. Im Gegenzug kann, wenn der Roboter in der gleichen Zeitdauer wie das Verfahren basierend auf eine herkömmliche Art und Weise bewegt wird, lediglich ein kleineres Motordrehmoment der Ausgabe der gleichen Beschleunigung wie bei der herkömmlichen Art und Weise erreicht werden. Dies kann die Motorkapazität verkleinern und daher dazu beitragen, die Größe und Kosten des Roboters zu verringern. Ferner wird der vorstehend beschriebene Pfad als ein Ergebnis der Berechnung basierend auf den Motordynamiken eines mehrachsigen Roboters erzeugt. Demgemäß kann der auf diese Weise berechnete Pfad die Geschwindigkeit innerhalb eines Bereichs der Erfüllung der Randbedingung des Roboters maximieren. Dadurch kann ein praktischer nutzbarer Pfad erzeugt werden.
  • KURZE BESCHREIBUNG DER FIGUREN
  • Bei den begleitenden Figuren zeigt:
  • 1 ein Diagramm, das schematisch Schritte der Berechnung eines Bewegungspfads einer minimalen Zeit für einen Roboter darstellt, der in den Ausführungsformen der vorliegenden Erfindung ausgeführt wird;
  • 2 durch (a) bis (d) Diagramme, die ein Prinzip eines Verfahrens zum Steuern der Bewegung eines Arms eines Roboters gemäß der Ausführungsformen verglichen mit einem Beispiel des Standes der Technik darstellt;
  • 3 durch (a) eine allgemeine schematische perspektivische Ansicht eines Roboters, der in einer ersten Ausführungsform der vorliegenden Erfindung veranschaulicht wird, und durch (b) eine X-Y-Ebene, auf der physikalische Parameter (dynamische Parameter) eines Roboters angezeigt werden;
  • 4 ein elektrisches und funktionales Blockdiagramm, das ein Steuersystem des Roboters gemäß der ersten Ausführungsform darstellt;
  • 5 ein Flussdiagramm, das Schritte zum Erzeugen eines Geschwindigkeitsmusters darstellt, das durch eine Steuereinheit gemäß der in 1 gezeigten Schritte ausgeführt wird;
  • 6 ein Flussdiagramm, das Einzelheiten eines Teils der Schritte des Erzeugens des Geschwindigkeitsmusters, wie in 5 gezeigt, unter Verwendung des Bobrow's Verfahrens und unter Berücksichtigung von Randbedingungen darstellt;
  • 7 durch (a) und (b) ein Diagramm, das ein Rechte-Hand-System und ein Linke-Hand-System eines Roboterarms darstellt;
  • 8 ein Diagramm, das die Gründe darstellt, warum ein Geschwindigkeitsmuster durch Umwandlung von Koordinatenpositionen eines Endeffektors zu einem Winkel jeder der Achse berechnet wird;
  • 9 ein beispielhaftes Diagramm, das die Randbedingung der Pfadbeschleunigung darstellt;
  • 10 durch (a) bis (e) ein Pfad, in dem sich Koordinaten einer ersten Achse, einer zweiten Achse und eines Endeffektors auf einer X-Y-Ebene verändern;
  • 11 durch (a) ein Diagramm, auf dem gleichzeitig die fünf Positionen des Endeffektors aufgetragen sind, die durch (a) bis (e) von 10 gezeigt sind, und 11 durch (b) ein Diagramm, das Veränderungen eines Winkels, einer Winkelgeschwindigkeit, einer Winkelbeschleunigung und eines Drehmoments jeder der ersten und zweiten Achsen während einer Bewegung von einem Startpunkt zu einem Endpunkt darstellt;
  • 12 ein Flussdiagramm, das einen Prozess eines Geschwindigkeitsmusters darstellt, das durch die Steuereinheit der zweiten Ausführungsform der vorliegenden Erfindung ausgeführt wird;
  • 13 ein Flussdiagramm, das einen detaillierten Prozess des Vorbereiten eines Geschwindigkeitsmusters gemäß dem Bobrow's Verfahren darstellt, der Randbedingungen berücksichtigt, wobei der Prozess als ein Teil des in 12 gezeigten Prozesses ausgeführt wird;
  • 14 ein schematisches Diagramm, das einen dreiachsigen Armroboter gemäß einer Abwandlung darstellt;
  • 15 ein Diagramm, das eine Simulation darstellt, wenn das Verfahren zum Erzeugen eines Pfads der vorliegenden Erfindung auf den dreiachsigen Roboter angewandt wird;
  • 16 ein Diagramm, das eine TN-Kurve eines in einem mehrachsigen Roboter verwendeten Motors gemäß einer weiteren Abwandlung darstellt;
  • 17 ein schematisches Diagramm, das einen zweiachsigen XR-Roboter gemäß einer noch weiteren Abwandlung darstellt; und
  • 18 ein schematisches Diagramm, das die Wirkungen des Verfahrens des Erzeugens eines Pfads der vorliegenden Erfindung bei dem XR-Roboter darstellt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Mit Bezug auf die begleitenden Figuren werden nachstehend verschiedene Ausführungsformen einer Technik zum Erzeugen (oder Herstellen) eines Pfads eines mehrachsigen Roboters der vorliegenden Erfindung und eine Steuervorrichtung für den mehrachsigen Roboter beschrieben.
  • [Erste Ausführungsform]
  • Bezugnehmend auf die 1 bis 11 werden nachstehend ein Verfahren zum Erzeugen eines Pfads (oder Kurvenbahn) eines mehrachsigen Roboters und eine Steuervorrichtung für den mehrachsigen Roboter gemäß einer ersten Ausführungsform der vorliegenden Erfindung beschrieben.
  • Bevor spezifisch ein Beispiel des mehrachsigen Roboters mit Bezug auf die 1 und 2 beschrieben wird, wird eine Übersicht eines Steuerverfahrens des mehrachsigen Roboters der vorliegenden Ausführungsform beschrieben. Zunächst wird mit Bezugnahme auf (a) bis (e) von 2 das Steuerverfahren der vorliegenden Ausführungsform, verglichen mit einem Steuerverfahren basierend auf dem Stand der Technik, beschrieben.
  • Wie in 2(a), angenommen ein einfacher zweiachsiger Roboter (mit den Achsen J1 und J2), in dem ein erster und ein zweiter Arm (Verbindungen) AM1 und AM2 in einem Arm kombiniert sind, um jeweils über zwei Gelenke JT1 und JT2 bewegbar sein. Ein Endeffektor EF des Roboters wird auf der X-Y-Ebene von einer Winkelposition (J1, J2) = (0°, 0°) zu einer Winkelposition (J1, J2) = (90°, 0°) bewegt.
  • Wie in 2(b) gezeigt, ist das einfachste Verfahren in diesem Fall, lediglich den ersten Arm AM1 (d. h. die erste Achse J1) um 90° ohne Bewegen des zweiten Arms AM2 (d. h. die zweite Achse J2) zu rotieren. Mit diesem Verfahren leidet der erste Arm AM1 stark von einer unverhältnismäßig großen auffälligen Last, da lediglich der erste Arm AM1 bewegt wird. Ferner weist mit diesem Verfahren der Arm als Ganzes einen konstanten maximalen Bewegungsradius auf, der eine große Trägheit verursacht. Daher wirft dies ein Problem auf, dass die Bewegungsgeschwindigkeit gering ist.
  • 2(c) zeigt eine Bewegung basierend auf der vorstehend erwähnten Zweipunktregelung (bang-bang-control). Auf diese Weise wird die Bewegung des zweiten Arms AM2 zusätzlich zu der Bewegung des ersten Arms AM1 gefaltet. Demgemäß wird die Trägheit reduziert, um eine hohe Geschwindigkeitsbewegung zu ermöglichen. Allerdings werden keine Randbedingungen, wie z. B. eine auf den Roboter auferlegte Geschwindigkeitsrandbedingung, in diesem Fall berücksichtigt. Dadurch ist es unmöglich, den Roboter auf diese Weise zur Reduktion der Zeitdauer tatsächlich zu bewegen.
  • Bei der vorliegenden Ausführungsform wird der Bewegungspfad, wie schematisch in 2(d) gezeigt, realisiert. Insbesondere wird, wenn die erste Bewegung des Endeffektors EF gestartet wird, der erste Arm AM1 (erste Achse J1) rotiert zunächst in eine Richtung eines Endpunkts (bezogen auf Pfeil A) rotiert, während der zweite Arm AM2 (zweite Achse J2) in eine entgegengesetzte Richtung zu dem Endpunkt (bezogen auf Pfeil A') rotiert. In diesem Fall basiert die Konfiguration des Arms auf einem sogenannten Linke-Hand-System.
  • Danach wird beim gleichen Drehpunkt des ersten Arms AM1 (bezogen auf Pfeil A) dem zweiten Arm AM2 ermöglicht, in dessen Drehrichtung (bezogen auf Pfeil B') zu pendeln, so dass bei Betrachtung mit Bezug auf den ersten Arm AM1 der Endeffektor EF (die Position eines Endes des zweiten Arms AM2) dem Endpunkt sich annähert, der einem Ende des ersten Arms AM1 vorangeht. In diesem Fall basiert die Konfiguration des Arms auf einem sogenannten Rechte-Hand-System.
  • Insbesondere werden bei der in 2(b) gezeigten Bewegung der zweite Arm AM2 und der Endeffektor EF ständig auf dem auf dem ersten Arm AM1 zentrierten Kreisradius positioniert. Andererseits wird bei der in 2(d) gezeigten Bewegung der zweite Arm AM1 zunächst in eine Richtung des Startpunkts (dem Pfeil A') rotiert, um eine Verzögerung der Bewegung des Endeffektors EF1 zu ermöglichen. Allerdings wird danach der zweite Arm AM2 vorangehend des ersten Arms AM1 in Richtung des Endpunkts rotiert. Mit anderen Worten, der Endeffektor EF geht dem ersten Arm AM1 voraus.
  • Auf diese Weise kann die zusammenwirkende Bewegung der zwei Arme AM1 und AM2 (erste und zweite Achsen) die auf die Motoren der zwei Gelenke JT1 und JT2 auferlegte Last verglichen mit der in 2(b) gezeigten Bewegung verteilt werden. Ferner wird, da der Arm leicht gefaltet wird, die Trägheit kleiner, um dadurch die auf die Motoren auferlegte Last zu reduzieren.
  • Zudem bewirkt die Bewegung des zweiten Arms AM2 eine die Reaktion in dem ersten Arm AM1, d. h. der ersten Achse J1, begleitende Kraft. Insbesondere wird, wenn der Endeffektor EF sich von dem Startpunkt bewegt, eine Vorspannkraft auf den ersten Arm AM1 aufgebracht, wie durch den Pfeil A'' gezeigt, der die Reaktion der vorübergehenden Rückwärtsdrehung (der Pfeil A') des zweiten Arms AM2 begleitet. Die Vorspannkraft AA'' wird in eine Richtung des Erhöhens der Rotation des Arms AM1 in Richtung des Endpunkts aufgebracht. Im Gegenzug wird, wenn der Endeffektor EF sich dem Endpunkt nähert, eine unterdrückende Kraft auf den ersten Arm AM1 aufgebracht, wie durch den Pfeil B'' gezeigt, die die Reaktion gegenüber der vorgehenden Bewegung (der Pfeil B') in Drehrichtung des zweiten Arms AM2 bis dahin begleitet. Mit anderen Worten, die unterdrückende Kraft B'' wird auf eine Richtung der Unterdrückung der Rotation (der Pfeil A) des ersten Arms AM1 bis dahin aufgebracht.
  • Auf diese Weise werden die Beschleunigung und die Verzögerung der Rotation des ersten Arms AM1 positiv durch die Reaktionskräfte unterstützt, d. h. die Vorspannkraft oder die unterdrückende Kraft, was durch die zeitlichen Bewegungen des zweiten Arms AM2 bewirkt wird, wenn der Endeffektor EF seine Rotation startet oder beendet. Demgemäß wird die für die Bewegung des Endeffektors EF von der Winkelposition (J1, J2) = (0°, 0°) zu der Winkelposition (J1, J2) = (90°, 0°), verglichen mit der Steuerung ohne der vorstehend beschriebenen Unterstützung, bemerkenswert verkürzt.
  • Um die Bewegung der Arme auf diese Weise zu erreichen, ist es erforderlich, vorab ein Geschwindigkeitsmuster zum Rotieren der Arme, d. h. der Motoren der entsprechenden Achsen, zu erzeugen. Bei der Erzeugung des Geschwindigkeitsmusters wird ein Verfahren, das später spezifisch beschrieben wird, verwendet, um einen effizienten Bewegungspfad auf der Prämisse auszuwählen, dass die Randbedingungen des Roboters erfüllt werden.
  • 1 stellt Diagramme dar, die schematische Schritte zum Durchführen des in 2(d) bewegten Bewegungspfads darstellen. Zunächst wird eine Mehrzahl von Durchgangspunkten vorübergehend festgelegt, während der Endeffektor EF des Roboters von dem Startpunkt zu dem Endpunkt (1(a)) bewegt wird. Anschließend wird das Bobrow's Verfahren verwendet, um einen Pfad des Endeffektors EF zu berechnen. Daher wird ein Geschwindigkeitsmuster berechnet, das eine maximale Geschwindigkeit der Bewegung des Endeffektors EF über die Durchgangspunkte (1(b)) ausführen kann. Beim Durchführen der Berechnung gemäß dem Bobrow's Verfahren wird eine Gleichung entsprechend der tatsächlichen Bewegung des Roboters (diese Gleichung wird nachstehend als eine Bewegungsgleichung bezeichnet) berücksichtigt. Daher wird ein maximales Geschwindigkeitsmuster auf der Erfüllung der Randbedingungen des Roboters berechnet, wobei die Randbedingungen die Grenzen der Bewegungsgeschwindigkeit und des Drehmoments jeder Achse enthalten.
  • Nach der Berechnung des Geschwindigkeitsmusters wird eine Zeitdauer berechnet, die für den Roboter erforderlich ist, um sich von einem vorbestimmten Startpunkt zu einem vorbestimmten Endpunkt gemäß dem Geschwindigkeitsmuster (1(c)) zu bewegen. Anschließend werden beim Aktualisieren der Durchgangspunkte (1(d)) die vorstehend beschriebenen Schritte wiederholend ausgeführt. Wenn bestimmt wird, dass die Zeitdauer zu einem Minimum konvergiert wurde, werden die Serien der Schritte beendet. Die Serien der Schritte werden für jede Achse des mehrachsigen Roboters ausgeführt. Der resultierende Pfad wird der eine sein, der die Randbedingungen des Roboters erfüllt (d. h. die obere Grenze der Geschwindigkeit und des Drehmoments bei jedem der Gelenke des Roboters) und ermöglicht dem Endeffektor EF, sich von dem Startpunkt zu dem Endpunkt in kürzester Zeit zu bewegen. Die Information bezüglich dem Geschwindigkeitsmuster für jede Achse (d. h. Pfadinformation), die auf diese Weise erhalten wird, wird in einem Speicher (nicht gezeigt) in einem Roboter-Controller RC (bezogen auf 4) für die Verwendung in der tatsächlichen Steuerung des mehrachsigen Roboters gespeichert. Der Roboter-Controller RC fungiert daher als Steuervorrichtung für den Roboter.
  • Bezugnehmend auf 3 bis 11 werden nachstehend insbesondere ein Verfahren zum Erzeugen der Pfadinformation des vorstehend beschriebenen mehrachsigen Roboters und ein Beispiel einer Steuervorrichtung für den mehrachsigen Roboter unter Verwendung der Pfadinformationen beschrieben. 3(a) zeigt ein schematisches Diagramm, das allgemein einen Vierachsenroboter 1 (mehrachsigen Roboter) darstellt. Der Roboter 1 enthält eine lineare Bewegungsschiene 2. Die lineare Bewegungsschiene 2 unterstützt über deren unteren Oberfläche einen bewegbaren Körper 2a (Basisseitenarm) als eine erste Verbindung, so dass der bewegbare Körper 2a sich linear entlang einer X-Richtung bewegen kann, die die erste Achse (X-Achse) ist. Die lineare Bewegungsschiene 2 enthält einen Antriebsmechanismus, der den bewegbaren Körper 2a frei bewegen kann. Obwohl nicht spezifisch gezeigt, setzt sich der Antriebsmechanismus aus einem an dem Ende der linearen Bewegungsschiene 2 angebrachten linearen Bewegungsmotor 3 und einem nicht-gezeigten Kugelumlaufspindelmechanismus zusammen.
  • Der bewegbare Körper 2a weist einen unteren Oberflächenabschnitt auf, der mit einer Armunterstützungsbasis 4 verbunden ist. Die Armunterstützungsbasis 4 weist eine untere Oberfläche auf, auf der ein in horizontaler Richtung erstreckender horizontaler Dreharm 5 (Endeffektor-Seitenarm) montiert ist. Insbesondere weist der horizontale Dreharm 5 als zweite Verbindung einen Endabschnitt auf einer Basisendseite auf, durch die der Arm 5 zu der unteren Oberfläche der Armunterstützungsbasis 4 montiert ist, so dass der Arm 5 sich in eine R-Richtung um eine zweite Achse (vertikale Achse, R-Achse) drehen kann. Der horizontale Dreharm 5 weist den anderen Endabschnitt (Endfläche) auf einer gegenüberliegenden Seite zu der Basisendseite bezüglich der vertikalen Achse auf. Die Endfläche des Arms 5 ist mit einem Hebekörper 6 als eine dritte Verbindung montiert, die vertikal bewegbar ist (dritte Achse, Z-Achse). Der Hebekörper 6 weist eine untere Oberfläche auf, auf der ein Gelenk 7 als vierte Verbindung montiert ist, um koaxial um eine vertikale Achse (vierte Achse, T-Achse) drehbar zu sein. Das Gelenk 7 ist derart konfiguriert, dass ein Arbeitswerkzeug, wie z. B. ein Futter (Hand) zum Halten eines Werkzeugs, lösbar daran angebracht wird.
  • Der horizontale Dreharm 5 ist in horizontale Richtung durch einen Arm-Rotiermotor 8 (siehe 4) und einen Drehübertragungsmechanismus endlos rotierbar (drehbar). Der Arm-Rotiermotor 8 ist innerhalb der Armunterstützungsbasis 4 angebracht, um als eine Antriebsquelle zu dienen. Der Hebekörper 6 wird vertikal an einem Ende des horizontalen Dreharms 5 durch einen Motor und einen in dem horizontalen Dreharm 5 aufgenommenen Zahnstangenmechanismus bewegt. Das Gelenk 7 wird koaxial durch einen in dem Hebekörper 6 aufgenommenen Motor rotiert.
  • Es wird sichergestellt, dass die Bewegungen des Roboters 1 (Motoren der entsprechenden Achsen, die den linearen Bewegungsmotor 3 enthalten) durch eine Steuereinheit 9 (Steuervorrichtung) eines Roboter-Controllers RC basierend auf einem solchen Bearbeitungsprozessprogramms gesteuert werden, wie in 4 gezeigt. Die Steuereinheit 9 enthält eine CPU, einen ROM und einen RAM und ist mit einem Programmierhandgerät 10 verbunden. Das Programmierhandgerät 10 enthält eine Gruppe von Schaltern 11 und eine Anzeige 12 als eine Anzeigeeinrichtung.
  • 3(b) zeigt eine X-Y-Ebene, auf der physikalische Parameter (dynamische Parameter) des Roboters 1 angezeigt werden. Die Y-Achse liegt orthogonal zur X-Achse. Die Frontseite des in 3(a) gezeigten Roboters 1 entspricht der positiven Seite der Koordinate. In 3(b) zeigen Referenzen m1, m2 und m3 jeweils eine Masse der ersten Verbindung [kg], eine Masse der zweiten Verbindung [kg] und eine Gesamtmasse [kg] der ”dritten und vierten Verbindungen und der Lasten”. Die Referenzen lg2 zeigen einen Abstand [m] von der Achsposition der ersten Verbindung zu dem Schwerpunkt der zweiten Verbindung. Die Referenz l2 zeigt eine Länge [m] der zweiten Verbindung an. Die Referenz I2 zeigt eine Trägheit [kgm2] um den Schwerpunkt der zweiten Verbindung an. Die Referenz I4 zeigt eine Trägheit [kgm2] um die dritte und vierte Verbindung und einen Gesamtschwerpunkt an. Die Referenz θ1 zeigt eine Verbindungsposition der ersten Achse und die Referenz θ2 zeigt einen Verbindungswinkel der zweiten Achse an.
  • Der vorstehend beschriebene mehrachsige Roboter 1 weist vier Achsen auf. Das Verfahren zum Erzeugen eines Pfads und das Steuerverfahren gemäß der vorliegenden Ausführungsform kann bezüglich einer Mehrzahl von Achsen, d. h. zwei oder drei Achsen oder mehr, aus vier Achsen ausführen. Allerdings werden zur Klarstellung der Beschreibung auf das Prinzip der Erzeugung des Pfades und der Steuerung lediglich die ersten und zweiten Achsen unterzogen, um bei der nachfolgenden Beschreibung berechnet zu werden. Auf Basis der nachstehend dargelegten Beschreibung wird ein Beispiel einer Pfaderzeugung, die drei oder mehrere Achsen enthält, und eine Steuerung nachstehend beschrieben.
  • Hier werden bezüglich der Quantitäten θ und λ folgende Definitionen angegeben:
  • θ:
    Position eines durch einen Gelenkwinkel jedes Axialgelenks gezeigten Roboters [rad],
    θ':
    Geschwindigkeit eines durch eine Winkelgeschwindigkeit jedes Axialgelenks gezeigten Roboters [rad/s],
    θ'':
    Beschleunigung eines durch eine Winkelbeschleunigung jedes axialen Gelenks gezeigten Roboters [rad/s2],
    λ:
    Jede Position eines Pfads, die auf einen Pfadparameter bezogen wird,
    λ':
    Gradient jeder Position auf einem Pfad, die auf einen Geschwindigkeitspfad gezogen wird, und
    λ'':
    Krümmung einer jeden Position auf einem Pfad, die auf eine Pfadbeschleunigung bezogen wird.
  • Die Bewegungsgleichung des vorstehend beschriebenen mehrachsigen Roboters 1 wird allgemein durch die nachstehende Formel (1) ausgedrückt:
    Figure DE102014104220B9_0002
    wobei τ einen Drehmomentvektor darstellt. Die physikalischen Parameter des Roboters 1 werden auf eine Trägheitsmatrix H und eine Matrix h, die die Zentrifugal- und Coriolis-Kräfte anzeigen, in Formel (1) reflektiert.
  • Figure DE102014104220B9_0003
  • Ferner stellt in Formel (1) B eine Reibung dar und g stellt die Schwerkraft dar. Allerdings werden diese in der nachfolgenden Beschreibung ignoriert.
  • Bezüglich der Details der Bewegungsgleichung eines Roboters wird auf das nachfolgende Dokument 1 Bezug genommen:
    • Dokument 1: Proceedings of the 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems October 9–15, 2006, Beijing China ”Time-Optimal Path Generation of Fast-Motion Planar Parallel Manipulator” by Yanjie Liu, Chenqi Wan, Juan Li, Lining Sun
  • 5 zeigt ein Flussdiagramm, das die durch die Steuereinheit 9 ausgeführten Schritte entsprechend jenen, die in 1 dargestellt sind, darstellt.
  • Zunächst liest die Steuereinheit 9 einen Startpunkt und einen Endpunkt des Endeffektors des Roboters 1 (Schritt S1). Beispielsweise werden die Start- und Endpunkte beispielsweise als Einlernpunkte durch den Operator vergeben. Anschließend bestimmt ansprechend auf einen Operatorbefehl oder die Steuereinheit 9 automatisch drei Punkte zwischen den Start- und Endpunkten für die Verwendung als anfängliche Durchgangspunkte (Interpolationspunkte) (Schritt S2). Bei Bestimmung dieser anfänglichen Durchgangspunkte wird die lineare Interpolation oder dergleichen verwendet. Beispielsweise wird, wenn die Koordinaten des Startpunkts (0, 0) ist und die Koordinate des Endpunkts (30, 100) ist, bestimmt, dass die anfänglichen Durchgangspunkte (7, 5, 25), (15, 50) und (22,5, 75) sind.
  • Anschließend führt die Steuereinheit 9 beispielsweise eine Spline-Interpolation aus, um zwischen dem Startpunkt, dem Endpunkt und den drei anfänglichen Durchgangspunkte (Schritt S3) zu interpolieren. Bezüglich des aus der Spline-Interpolation ergebenden Pfads bereitet die Steuereinheit 9 ein Geschwindigkeitsmuster, das die Zeitdauer minimiert, unter Verwendung des Bobrow's Verfahren (Schritt S4) vor.
  • Bezugnehmend auf das Bobrow's Verfahren wird auf die nachfolgenden Dokumente 2 und 3 Bezug genommen.
    • Dokument 2: The International Journal of Robotics Research, Vol. 4. No. 3, Fall 1985 pp. 3–17 ”Time-Optimal Control of Robotic Manipulators Along Specified Paths” by J. E. Bobrow, S. Dubowsky, J. S. Gibson
    • Dokument 3: IEEE JOURNAL OF ROBOTICS AND AUTOMATION, Vol. 4, No. 4, August 1988 pp. 443–450 ”Optimal Robot Path Planning Using the Minimum-Time Criterion” by James E. Bobrow
  • Anschließend berechnet die Steuereinheit 9 eine Zeitdauer bei dem Fall, bei dem der Aktuator (das Ende der zweiten Achse, d. h. der zweite Arm in dem vorliegenden Beispiel) des Roboters 1 entlang dem interpolierten Pfad gemäß dem vorbereiteten Geschwindigkeitsmuster (Schritt S5) bewegt wird. Anschließend berechnet die Steuereinheit 9 den Unterschied zwischen der Zeitdauer zu der vorher berechneten Zeitdauer. Anschließend bestimmt die Steuereinheit 9, ob der Unterschied zwischen den zwei Zeitdauern kleiner als ein vorbestimmter Schwellwert ist (z. B. 0,001 s) (Schritt S6). Falls eine negative Bestimmung erfolgte (NEIN bei Schritt S6), werden die bei Schritt S2 errechneten Durchgangspunkte unter Verwendung eines Downward-Simplex-Verfahren oder dergleichen (Schritt S7) aktualisiert. Selbstverständlich können hier andere Verfahren, z. B. Gradientenverfahren oder allgemeine Algorithmen, verwendet werden.
  • Nach dem Aktualisieren der Durchgangspunkte kehrt der Prozess der Steuereinheit 9 zu Schritt S3 zurück und Schritt S3 und die anschließenden Schritte bis zu Schritt S7 werden wiederholend ausgeführt. Anschließend wird, falls der Unterschied der Zeitdauer zwischen der Zeit und der vorherigen Zeit weniger als der vorbestimmte Schwellenwert ist (JA bei Schritt S6), die Serien der Schritte der Berechnung eines Bewegungspfads beendet.
  • Bezugnehmend auf 6 wird nachstehend die Berechnung gemäß dem bei Schritt S5 ausgeführten Bobrow's Verfahren beschrieben. Zunächst wird unter Verwendung der nachfolgenden Formel (3), die den Pfad des Endeffektors ausdrückt, der bei Schritt S3 bestimmt wurde, ein Pfadbarometer λ zu einer Endeffektorposition X (Vektor) auf dem Pfad (Schritt S11) umgewandelt. x = f(λ) (3)
  • Es sollte erkannt werden, dass die zu den Formeln designierten Anzahlen in Übereinstimmung mit jenen ist, die gegebenenfalls in Dokument 1 angegeben werden. Wenn der Pfad f(λ) beispielsweise mit einer dreidimensionalen Spline-Funktion interpoliert wird, wird die nachfolgende Formel (3a) eingerichtet: f(λ) = aλ3 + bλ2 + cλ + d (3a) wobei λ eine Variable der Koordinaten darstellt, die von Inkremente bzw. Stufen in dem Pfad von dem Startpunkt zu dem Endpunkt abhängen.
  • Anschließend wird basierend auf der inversen Kinematik die Endeffektorposition x zu einem Winkel q jeder Achse (Arm) (Schritt S12) umgewandelt. q = p–1(f(λ)) (4) wobei p eine Funktion darstellt, die eine Vorwärtskinematik angibt. Der Grund, warum die Endeffektorposition x zu einem Winkel q umgewandelt wird, ist, dass ein Pfad des Endeffektors ohne Begrenzen des Handsystems, d. h. die Konfiguration des Arms des Roboters 1, berechnet wird (7(a) zeigt ein Linke-Hand-System und 7(b) zeigt ein Rechte-Hand-System).
  • Insbesondere wird, wie mit Bezug auf 8 beschrieben wird, wenn die Berechnung von 6 unter Verwendung der Koordinatenpositionen ausgeführt wird, vorausgesetzt, dass die Konfiguration des Arms bei einigen Punkten des Pfads verändert wird (siehe (a) und (b) von 8), die Randbedingungen diskontinuierlich bei dem Punkt, bei dem die Konfiguration verändert wird, und daher werden keine Ergebnisse der Berechnung erhalten werden. Dadurch wird erforderlich, dass die Berechnung unter Verwendung der Koordinatenposition ausgeführt wird, ohne verändernde Konfiguration des Arms. (In den Dokumenten 2 und auch 3 wird ein Geschwindigkeitsmuster, das eine maximale Geschwindigkeit erreichen kann, ohne Veränderung der Konfiguration des Arms des Roboters von der anfänglichen bestimmten Konfiguration berechnet.)
  • Dagegen wird bei der vorliegenden Ausführungsform ein Bewegungspfad durch Umwandeln der Koordinatenposition vorab in die Winkel der individuellen Achsen berechnet. Demgemäß wird bei dem Fall, bei dem die Konfiguration des Arms bei manchen Punkten des Pfads verändert wird, die Randbedingungen nicht diskontinuierlich werden und daher können die Ergebnisse der Berechnung erhalten werden. Auf diese Weise wird ein Geschwindigkeitsmuster berechnet, das eine maximale Geschwindigkeit erreichen kann, ohne durch die Konfiguration des Arms eingeschränkt zu werden.
  • Daher wird, wenn die Formel (4) in die Formel (1) substituiert wird, wobei Formel (5) wie folgt (Schritt S13) erhalten wird: τ = a1(λ)λ .. + a2(λ)λ .2 + a3(λ)λ . + a4(λ) a1 = Hj–1f' a2 = HJ–1(f'' – J .(q, J–1f')J–1f') + h(q, J–1f') a3 = BJ–1f' a4 = g (5) wobei J eine Jakobi-Matrix darstellt. Ferner sind in Formel (5) die Terme a3 und a4 d. h. die Parameter, die die Reibung B und die Schwerkraft g enthalten, gleich Null.
  • Anschließend berechnet bei Schritt S14 die Steuereinheit 9 eine maximale Beschleunigung λ''max und eine maximale Verzögerung λ''min aus der Formel (5) (bezüglich dem wird auf die Formeln (8) bis (10) von Dokument 1 bezogen). Das an λ angehängte Symbol '' ersetzt die Doppelpunkte, die die Beschleunigung in Dokument 1 angeben. Die maximale Beschleunigung λ''max und die maximale Verzögerung λ''min, die hier berechnet werden, sind zur Beschleunigung der Bewegung des Roboters 1 zugeordnete Randbedingungen.
  • Anschließend berechnet die Steuereinheit 9 eine nächste Position λ und eine Geschwindigkeit λ' aus den Formeln (11) und (12) unter Verwendung der maximalen Beschleunigung λ''max (oder der maximalen Verzögerung λ''min) (Schritt S15). In diesen Formeln ist die Zeit t eine Abtastzeit (z. B. 1ms). Ferner geben die Symbole λ0 und λ'0 jeweils eine aktuelle Position und Geschwindigkeit an. Das an λ angehängte Symbol ' gibt eine Differenzierung erster Ordnung an und ersetzt den Punkt, der die Geschwindigkeit in Dokument 1 angibt. λ = 0.5λ''maxt2 + λ't (11) λ' = λ''maxt (12)
  • Anschließend bestimmt die Steuereinheit 9, ob die Geschwindigkeit λ' und die Beschleunigung (Verzögerung) λ'' des Pfadparameters λ die Randbedingungen (Schritt S16) erfüllen. Insbesondere bestimmt die Steuereinheit 9, ob beide der nachfolgenden Bedingungen: λ'min ≤ λ' ≤ λ'max (13) λ''min(λ, λ') ≤ λ'' ≤ λ''max(λ, λ') (14) gleichzeitig erfüllt sind oder nicht. Abhängig davon, ob der Roboter beschleunigt oder verzögert, wird λ'min oder λ'max und λ''min oder λ''max verwendet.
  • 9 zeigt basierend auf der vorstehend dargelegten 2 von Dokument (2) ein schematisches Diagramm. Insbesondere zeigt 9 einen Erfüllungsbereich der Randbedingungen bezüglich der Beschleunigung (Verzögerung) λ'' der Pfadparameter λ eines zweiachsigen Roboters. Insbesondere ist ein zulässiger Bereich λ''min bis λ''max unter AND-Bedingungen innerhalb eines Bereichs von einer maximalen Beschleunigung zu einer maximalen Verzögerung festgelegt, die zu jeder Achse spezifiziert sind (Motor, der bei jedem Gelenk angebracht ist).
  • Ferner sind kritische Werte λ'min und λ'max der Randbedingungen bezüglich der Geschwindigkeit λ' des Pfadparameters wie folgt: λ'min = max(q'min/f'(λ)) (15) λ'max = min(q'max/f'(λ)) (16) wobei f(λ) einen Pfad angibt, und q'min und q'max jeweils minimale und maximale Gelenkgeschwindigkeiten angeben, die in Abhängigkeit der Spezifikation des Roboters bestimmt werden.
  • Die Geschwindigkeitsbedingung und die Beschleunigungs-(Drehmoment)-Bedingung sind minimale Bedingungen, die für die Randbedingungen notwendig sind. Abhängig von der Situation können andere Bedingungen hinzugefügt werden.
  • Bei dem vorstehend erwähnten Schritt S16 aktualisiert, falls die Geschwindigkeit λ' und die Beschleunigung (Verzögerung) λ'' des Pfadparameters λ sowohl die Randbedingungen der Formeln (13) und (14) (JA bei Schritt S16) erfüllen, die Steuereinheit 9 die Position λ auf den bei Schritt S15 (Schritt 17) errechneten Wert. Anschließend bestimmt die Steuereinheit 9, ob die Position λ ein End-λend (Schritt S18) erreicht hat oder nicht. Falls eine negative Bestimmung erfolgt (NEIN bei Schritt S18), kehrt der Prozess zu Schritt S14 zurück. Falls eine positive Bestimmung erfolgt (JA bei Schritt S18) wird der Prozess beendet.
  • Andererseits führt bei Schritt S16, falls die Geschwindigkeit λ' und die Beschleunigung (Verzögerung) λ'' nicht wenigstens eine der Randbedingungen der Formeln (13) und (14) erfüllen (NEIN bei Schritt S16), die Steuereinheit 9 den Schritt S19 aus. Insbesondere subtrahiert, wenn der Roboter in einem Beschleunigungszustand ist, die Steuereinheit 9 eine willkürliche Konstante ”a” von der maximalen Beschleunigung λ''max, um den resultierenden Wert als eine neue maximale Beschleunigung λ''max zu verwenden. Andererseits subtrahiert, wenn der Roboter in einem Verzögerungszustand ist, die Steuereinheit 9 die willkürlich konstante ”a” von der maximalen Verzögerung λ''min, um den resultierenden Wert als eine maximale Verzögerung λ''min zu verwenden. Danach kehrt der Prozess zu Schritt S15 zurück, bei dem die Position λ und die Geschwindigkeit λ', d. h. Pfadparameter, erneut berechnet werden.
  • Wenn der in 6 gezeigte Prozess abgeschlossen ist, wird ein Geschwindigkeitsmuster erhalten, das eine maximale Bewegungsgeschwindigkeit erreichen kann. mit diesem Geschwindigkeitsmuster wird eine maximale Bewegungsgeschwindigkeit erreicht, wenn sich der Endeffektor des Roboters 1 entlang dem durch die Interpolation bei Schritt S3 von 5 erhaltenen Pfad bewegt, wobei die Randbedingungen der Geschwindigkeit und Beschleunigung (Drehmoment) erfüllt werden. Mit anderen Worten, da der Berechnungsprozess gemäß dem Bobrow's Verfahren basierend auf den Bewegungsdynamiken des Roboters 1 ausgeführt wird, können die Randbedingungen des Roboters 1 erfüllt werden.
  • Obwohl nicht gezeigt, wird die Zeitdauer gemäß den Schritten S4 und S5 tatsächlich für Vorwärts- und Rückwärts-Geschwindigkeitsmuster zwischen dem Start- und Endpunkt berechnet. Das bedeutet, dass der in Schritt S4 dargelegte Algorithmus auf eine Berechnung des Vorwärts-Geschwindigkeitsmusters von dem Startpunkt zu dem Endpunkt aufgebracht wird, und anschließend auf eine Berechnung des Rückwärts-Beschleunigungsmusters von dem Endpunkt zu dem Startpunkt aufgebracht wird. Danach werden das Vorwärts-Beschleunigungsmuster und das Rückwärts-Beschleunigungsmuster kombiniert und eine Zeitdauer wird für das kombinierte Muster berechnet.
  • Die 10 und 11 zeigen ein Beispiel eines Pfads, der wie vorstehend für die Minimierung der Bewegungsgeschwindigkeit des Endeffektors des Roboters 1 berechnet wird. 10(a) zeigt ein Diagramm, das mit einer durchgezogenen Linie einen Pfad, d. h. Veränderungen in den Koordinaten, auf der X-Y-Ebene der ersten und zweiten Achsen und des Endeffektors darstellt. Wie in der Figur gezeigt, ist die Koordinate bei dem Startpunkt (–0,3, 0,3) und die Koordinate bei dem Endpunkt ist (0,3, 0,3). 11(b) zeigt ein Diagramm, das Veränderungen des Winkels, der Winkelgeschwindigkeit, Winkelbeschleunigung und Drehmoment der ersten und zweiten Achse während der Bewegung von dem Startpunkt zu dem Endpunkt darstellt.
  • Die erste Achse bewegt sich linear von der X-Achse von –0,3 [m] (siehe 10(a)) bis 0,3 [m] (siehe 10(e)). Dies entspricht der Bewegung des bewegbaren Körpers 2a entlang der linearen Bewegungsschiene 2. Die zweite Achse weist einen Rotationswinkel θ2 auf (Rotationswinkel des horizontalen Dreharms 5), der 0 [rad] bei dem Start- und Endpunkt und bei einem Mittelpunkt auf der X-Achse ist. Allerdings ist, wie in 10(b) gezeigt, die zweite Achse in einem rotierenden Zustand um 0,6 [rad] in entgegengesetzte Richtung zu der Richtung des Endpunkts. Daher ist die X-Achsenkoordinate des Endeffektors eine negative Seite bezüglich der Koordinate des bewegbaren Körpers 2a. Dieser Zustand entspricht dem Rechte-Hand-System im Lichte der Konfiguration des Arms des Roboters 1. Dagegen ist, wie in 10(d) gezeigt, die zweite Achse in einem rotierenden Zustand um –0,6 [rad] in Richtung des Startpunkts. Dadurch ist die X-Achse der Position des Endeffektors eine positive Seite bezüglich der Koordinate des bewegbaren Körpers 2a. Dieser Zustand entspricht dem Linke-Hand-System im Lichte der Konfiguration des Arms des Roboters 1.
  • In Übereinstimmung mit der vorstehenden Bewegung erreicht die Winkelgeschwindigkeit der zweiten Achse einen positiven Seitenhöchstwert (10 rad/s, Höchstwert V2) genau nach der Bewegung weg von dem Startpunkt (V1). Anschließend verändert sich von diesem Höchstwert die Winkelgeschwindigkeit linear in Richtung des negativen Seitenhöchstwerts (–10 rad/s, Höchstwert V3) bei einem Mittelpunkt. Ferner verändert sich auch linear die Winkelgeschwindigkeit von dem Mittelpunkt in Richtung des positiven Seitenhöchstwerts (10 rad/s, Höchstwert V4) genau vor dem Endpunkt. Mit anderen Worten, wie in 11(b) gezeigt, wird ein symmetrisches Geschwindigkeitsmuster zentrierend um den Mittelpunkt aufgespannt.
  • Die Winkelbeschleunigung entsprechend dem vorstehenden Winkelgeschwindigkeitsmuster wird wie folgt ein Muster aufweisen. Insbesondere erreicht die Winkelbeschleunigung einen positiven Seitenhöchstwert 400 rad/s2 von 0 bei dem Startpunkt V1, der sich zu einem negativen Wert von ungefähr –50 rad/s2 bei Höchstwert V2 verändert und den negativen Wert von ungefähr –50 rad/s2 bis zu dem Höchstwert V3 bei dem Mittelpunkt beibehält. Ferner wird, wenn die Winkelbeschleunigung zu einem positiven Wert von 50 rad/s2 bei dem Höchstwert V3 bei dem Mittelpunkt sich verändert, der Wert bei dem Höchstwert V4 beibehalten. Anschließend erreicht die Winkelbeschleunigung einen negativen Seitenhöchstwert –400 rad/s2 bei dem Höchstwert V4 und kehrt zu 0 bei dem Endpunkt V5 zurück.
  • Die Bewegung der zweiten Achse, wie vorstehend beschrieben, übt die nachfolgenden Wirkungen aus. Insbesondere verändert beim Start der Bewegung von dem Startpunkt die zweite Achse deren Winkel θ2 von 0 [rad] → 0,6 [rad] → 0 [rad] bevor sie den Mittelpunkt der X-Achse erreicht. Dadurch pendelt der Endeffektor des Roboters 1, der vormals in eine positive Rotationsrichtung pendelte, zurück in eine negative Rotationsrichtung. In Reaktion auf eine diese Bewegung begleitende Reaktion wird der bewegbare Körper 2a bewegt, um eine Beschleunigungskraft für die Beschleunigung der Bewegung des ersten Arms zu erzeugen, wenn die Bewegung begonnen wird. Diese Vorspannkraft unterstützt (beeinflusst bzw. vorspannen) die Bewegung des ersten und des zweiten Arms in die Richtung des Endpunkts.
  • Andererseits verändert die zweite Achse ihren Winkel θ2 von 0 [rad] → –0,6 [rad] → 0 [rad] bevor sie den Endpunkt von dem Mittelpunkt der X-Achse erreicht. Dadurch pendelt der Endeffektor des Roboters 1, der vormals in eine negative Rotationsrichtung pendelte, zurück in eine positive Rotationsrichtung. Auch in diesem Fall wird eine die Bewegung begleitende Reaktion in dem bewegbaren Körper 2a bewirkt, um als eine Verzögerungskraft zu arbeiten. Die Verzögerungskraft unterstützt (unterdrückt) die Verzögerungsbewegung der zweiten Achse bevor sie den Endpunkt erreicht und ihre Bewegung stoppt.
  • Als Ergebnis der Bewegung der zweiten Achse, wie vorstehend beschrieben, wird die Zeit für den Endeffektor des Roboters 1 verkürzt, um sich von dem Startpunkt zu dem Endpunkt zu bewegen verglichen mit der Zeit, die für die einfache Bewegung eines mehrachsigen Roboters basierend auf dem Stand der Technik erforderlich ist. Die gestrichelten Linien in 10 zeigen einen Pfad bei dem Fall an, bei dem die erste Achse ohne Rotieren der zweiten Achse überhaupt bewegt wird. Wenn die Bewegung des Roboters 1 basierend auf diesen gestrichelten Linienpfad simuliert wurde, war die Zeitdauer 536 ms, während eine Simulation basierend auf dem Pfad, der durch die durchgezogene Linie angezeigt wird, eine Zeitdauer von 514 ms ergab. Daher hat der durchgezogene Linienpfad eine Verringerungswirkung der Zeitdauer um 4% oder mehr. Demgemäß kann, wenn ermöglicht wird, dass der Roboter 1 eine Zeitdauer gleich zu der des Standes der Technik aufweist, der Roboter 1 mit weniger Energie als der Stand der Technik bewegt werden, wodurch dies zur Energieeinsparung beiträgt. Ferner kann beispielsweise bei Reduzieren der Ausgabe der Motoren das Niveau des Stromverbrauchs der Motoren verringert werden, was zur Reduktion der Größe und Kosten des Roboters 1 führt.
  • 11(a) ist ein Diagramm, bei dem gleichzeitig die fünf Positionen des in (a) bis (e) von 10 dargestellten Endeffektors aufgezeichnet sind. Diese fünf Positionen entsprechen den fünf Punkten (V1 bis V5), die auf den Winkelgeschwindigkeitsmuster der in 11(b) gezeigten zweiten Achse aufgezeichnet sind, d. h. entspricht den Umkehrpunkten der Winkelgeschwindigkeit oder der Winkelbeschleunigung. Wie vorstehend beschrieben, werden bei Schritt S2 von 5 drei anfängliche Durchgangspunkte zwischen dem Start- und Endpunkt festgelegt. Diese drei anfänglichen Durchgangspunkte werden so ausgewählt, dass sie den drei Umkehrpunkten der Winkelgeschwindigkeit oder der Winkelbeschleunigung, die in 11 gezeigt sind, entsprechen. Dies ist, weil die Auswahl der drei anfänglichen Durchgangspunkte auf diese Weise als vorteilhaft beim Erhöhen der Effizienz der Berechnung betrachtet wird.
  • Beispielsweise kann, wie aus 4 von Dokument 3 und der zugehörigen Beschreibung darin verständlich wird, in dem Bobrow's Verfahren eine große Anzahl von Durchgangspunkten zum Suchen eines Pfads eine größere Wirkung beim Reduzieren der Zeitdauer ausüben. Allerdings führt die Zunahme der Anzahl der Durchgangspunkte direkt zu der Erhöhung der für die Berechnung benötigten Zeit. Daher ist eine unbegrenzte Zunahme der Anzahl der Durchgangspunkte nicht praktisch.
  • Auf diese Weise wird bei der vorliegenden Ausführungsform die Anzahl der anfänglichen Durchgangspunkte auf drei unter Berücksichtigung des Gleichgewichts zwischen Reduktion der Zeitdauer und der Unterdrückung der Zunahme der Berechnungszeit festgelegt. Es ist nicht erforderlich, dass die Auswahl der anfänglichen Durchgangspunkte strikt ausgeführt werden muss. Wie vorstehend beschrieben, können die drei anfänglichen Punkte bestimmt werden, wie z. B. durch einfaches Teilen der linearen Abschnitte zwischen den Start- und Endpunkten in vier. Im Laufe der Wiederholung der in 1 oder 5 gezeigten Schritte wird ein neuer Pfad mit der Aktualisierung der Durchgangspunkte berechnet, um eine Optimierung zu erreichen.
  • Daher wird ein Pfad ausgewählt, der die Zeitdauer bei einem Bewegungsmuster minimieren würde, wie z. B. einem Greif- und Platziermuster. Die Auswahl eines solchen Pfads hängt von den Koordinantenpositionen der drei Durchgangspunkte als die drei Umkehrpunkte, wie in 11(a) gezeigt, der Winkelgeschwindigkeit oder der Winkelbeschleunigung der zweiten Achse ab. Auf diese Weise kann, wenn die Anzahl der anfänglichen Durchgangspunkte auf drei eingestellt wird, ein Pfad, der die Zeitdauer minimiert, berechnet werden, während die Zunahme der Berechnungszeit unterdrückt wird.
  • Wie vorstehend beschrieben, ist das zu bewegende Objekt gemäß der vorliegenden Ausführungsform der Mehrachsenroboter 1, der den bewegbaren Körper 2a enthält, der auf der Basisseite und dem horizontalen Dreharm 5 positioniert ist, der dazu an der Endeffektorseite des bewegbaren Körpers 2a verbunden ist. Die Steuereinheit 9 erzeugt einen Pfad, so dass beim Bewegen des Endeffektors von dem Startpunkt der Reaktion die bei dem bewegbaren Körper 2a durch die Bewegung des horizontalen Dreharms 5 verursachte Reaktion die Beschleunigungskraft erhöhen kann, die durch die Bewegung des bewegbaren Körpers 2a entlang dessen Basisachse bewirkt wird, welche die lineare Bewegungsschiene 2 ist. Außerdem erzeugt die Steuereinheit 9 den Pfad, so dass beim Stoppen des Endeffektors bei dem Endpunkt die Reaktion die bei dem bewegbaren Körper 2a durch die Bewegung des horizontalen Dreharms 5 verursachte Reaktion die Verzögerungskraft erhöhen kann, die durch die Bewegung des bewegbaren Körpers 2a bewirkt wird.
  • Bei der Steuerung eines mehrachsigen Roboters basierend auf dem Stand der Technik funktioniert eine Achse, deren Bewegungsbetrag sich nicht zwischen dem Start- und Endzeitpunkten verändern, immer noch auf einfache Weise basierend auf dem Greif- und Platziermuster oder dergleichen. Mit anderen Worten, der Roboter weist das Bewegungsmuster auf, das durch die gestrichelte Linie in 10 angezeigt wird. Mit dem vollständig ausgestreckten Arm würde die zweite Achse fortfahren nutzlos ein Haltedrehmoment auszugeben, so dass der Arm auf der Endeffektorseite nicht durch das Trägheitsdrehmoment bewegt werden würde, das durch die hohe Beschleunigung der ersten Achse (Fahrachse) bewirkt wird. Demgemäß wird lediglich das nutzlose Haltedrehmoment auf eine Last auf dem Basisseitenarm auferlegt.
  • Andererseits bewegt sich, wenn ein Pfad, wie bevorstehend beschrieben, erzeugt wird, der horizontale Dreharm 5, so dass er eine Reaktion auf den bewegbaren Körper 2a bewirkt. Der Pfad kann sowohl durch die Beschleunigungskraft, die beim Aktivieren des Endeffektors erforderlich ist, als auch der Verzögerungskraft, die beim Stoppen des Endeffektors erforderlich ist, erhöhen. Dadurch wird die Bewegungsgeschwindigkeit des Endeffektors von dem Startpunkt zu dem Endpunkt erhöht, um dadurch die Zeitdauer des Endeffektors zu reduzieren. Insbesondere wird irgendwann bzw. bei einem gewissen Punkt der Bewegung des Endeffektors der horizontale Dreharm 5 leicht rotiert, um dadurch die Trägheit zu reduzieren, die bei der linearen Bewegung des bewegbaren Körpers 2a bewegt wird. Demgemäß kann der Endeffektor mit wenig Energie bewegt werden. Dadurch kann, wenn der Roboter 1 bei einer gleichen Zeitdauer zu der eines Pfads basierend auf einem herkömmlichen Verfahren bewegt wird, der Roboter 1 energiesparender als bei dem Stand der Technik bewegt werden.
  • Der vorstehend beschriebene Pfad wird als ein Ergebnis der Berechnung basierend auf den Bewegungsdynamiken des mehrachsigen Roboters 1 erzeugt. Demgemäß kann ein auf diese Weise berechneter Pfad die Bewegungsgeschwindigkeit innerhalb eines Erfüllungsbereichs der Randbedingung des Roboters maximieren. Dadurch kann ein optimierter Pfad für den praktischen Nutzen erzeugt werden. Zudem werden bei der Berechnung eines Geschwindigkeitsmusters unter Verwendung des Bobrow's Verfahrens Positionen auf dem Pfad zu Winkel umgewandelt. Dementsprechend ist die Konfiguration des Arms des Roboters 1 nicht auf das Linke-Hand-System noch auf das Rechte-Hand-System beschränkt. Dadurch wird ein Geschwindigkeitsmuster, das eine maximale Geschwindigkeit erreichen kann, sowohl unter Verwendung des Linke- als auch dem Rechte-Hand-Systems berechnet werden.
  • Ferner wird, wenn der Endeffektor von dem Startpunkt bewegt wird, der bewegbare Körper 2a in Richtung des Endpunkts bewegt, während der horizontale Dreharm 5 rotiert wird, so dass sich dessen Ende in eine entgegengesetzte Richtung der Richtung des Endpunkts bewegt. Danach wird das Ende des horizontalen Dreharms 5 in die Richtung des Endpunkts rotiert. Auf diese Weise kommt die durch die Bewegung des horizontalen Dreharms 5 verursachte Reaktion zum Unterstützen der Beschleunigungskraft bei dem Zeitpunkt der Aktivierung des Roboters 1 zu unterstützten.
  • Ferner wird der Pfad erzeugt, so dass beim Stoppen des Endeffektors bei dem Endpunkt der horizontale Dreharm 5 bei einer Position, bei der deren Ende, oder der Endeffektor über den Endpunkt hinaus geht, davon in Richtung des Startpunkts bewegt wird. Mit anderen Worten, der Pfad wird erzeugt, so dass dem Ende des horizontalen Dreharms 5 oder des Endeffektors ermöglicht wird, zurück in Richtung des Startpunkts zu pendeln und zu stoppen. In diesem Fall kommt die Reaktion, die durch die Bewegung des horizontalen Dreharms 5 bewirkt wird zum Unterstützen der Verzögerungskraft bei dem Zeitpunkt des Stoppens des Roboters 1. Mit anderen Worten, der auf diese Weise erzeugte Pfad ermöglicht dem horizontalen Dreharm 5 sich so zu bewegen, dass er eine Reaktion auf den bewegbaren Körper 2a bewirkt.
  • Drei Durchgangspunkte sind zwischen dem Start- und Endpunkt festgelegt und es wird sichergestellt, dass eine für die Durchgangspunkte berechnete geeignete Zeitdauer wird, während die Positionen der drei Durchgangspunkte verändert werden. Insbesondere ist es erforderlich, um den einen Pfad zu erzeugen, der die Zeitdauer des Endeffektors minimiert, dass der Pfad optimiert wird. Um den Pfad zu optimieren, ist es erforderlich, dass einer oder mehrere Durchgangspunkte zwischen dem Start- und Endpunkt festgelegt werden, und es ist erforderlich, dass die berechnete Bewegungsgeschwindigkeit, wenn die Position der Durchgangspunkte verändert werden, mit der Bewegungsgeschwindigkeit vor der Veränderung verglichen werden.
  • Angenommen, dass der horizontale Dreharm 5, wie vorstehend beschrieben, bewegt wird, wird der bewegbare Körper 2a, der eine Achse basierend auf der Basisseite bezüglich dem horizontalen Dreharm 5 ist, aufweisen: einen Zeitpunkt, bei dem eine Beschleunigung dazu direkt nach der Aktivierung gegeben wird; einen Zeitpunkt, bei dem die Richtung der Beschleunigung an gewissen Punkten der Bewegung umgekehrt wird; und einen Zeitpunkt, bei dem die Beschleunigung direkt vor dem Stopp0 ist. Im Zuge der Optimierung des Pfads wird als wichtig betrachtet, dass wenigstens die Durchgangspunkte entsprechend den vorstehenden drei Zeitpunkten optimiert werden. Demgemäß wird, wenn die Durchgangspunkte entsprechend den vorstehenden drei Zeitpunkten eingestellt werden, ein Pfad, der die Zeitdauer minimiert, wirksam erzeugt werden, während der Berechnungsbetrag unterdrückt wird. Auf diese Weise kann ein optimierter und praktisch nützlicher Pfad erhalten werden. Zur gleichen Zeit kann mit einem solchen Pfad das Potential der Motoren oder der Aktuatoren maximal herausgezogen werden, was nicht durch das Verfahren basierend auf dem Stand der Technik aufgrund der Begrenzung des Verfahrens erreicht werden würde.
  • [Zweite Ausführungsform]
  • Bezugnehmend auf die 12 und 13 wird nachstehend eine zweite Ausführungsform betreffend ein Verfahren zum Erzeugen eines Pfads eines mehrachsigen Roboters und einer Steuervorrichtung für den mehrachsigen Roboter beschrieben.
  • Bei der zweiten und den nachfolgenden Ausführungsformen werden den Komponenten, die identisch oder ähnlich zu jenen bei der Steuervorrichtung der ersten Ausführungsform sind, die gleichen Bezugszeichen zum Zwecke des Verzichtens oder Vereinfachen der Erläuterung gegeben.
  • Bei dem Verfahren zum Erzeugen eines Pfads eines mehrachsigen Roboters und einer Steuervorrichtung für den mehrachsigen Roboter gemäß der zweiten Ausführungsform gibt es eine Veränderung bei dem Zeitpunkt des Durchführens des Umwandlungsschritts der Position x eines Endeffektors zu einem Winkel q jeder Achse. Insbesondere wird bei der vorstehend beschriebenen ersten Ausführungsform die Position x des Endeffektors zu einem Winkel q jeder Achse durch Lösen der inversen Kinematiken (bezugnehmend auf Schritt S12) umgewandelt. Diesbezüglich wird in der zweiten Ausführungsform die Umwandlung zu dem Winkel q bei einer Stufe vor der Vorbereitung eines kürzesten Geschwindigkeitsmusters ausgeführt, d. h. bei der Stufe der Interpolation der Durchgangspunkte. Daher kann auf die Berechnung basierend auf den inversen Kinematiken verzichtet werden, so dass die Berechnungslast erheblich reduziert wird.
  • Bezugnehmend auf 12 und 13 wird nachstehend ein Prozess zum Vorbereiten eines Geschwindigkeitsmusters beschrieben, das durch die Steuereinheit 9 ausgeführt wird.
  • Die Steuereinheit 9 liest Informationen, die einen Startpunkt und einen Endpunkt zeigen, die beispielsweise durch einen Operator (Schritt S1 in 12) vergeben werden, und erzeugt drei anfängliche Durchgangspunkte (Schritt S2). Anschließend wandelt die Steuereinheit 9 die Start-, End- und anfängliche Durchgangspunkte in den Endeffektorraum um, so dass die Winkel in dem Gelenksraum (Schritt S2A) entsprechen. Nach dieser Umwandlung schreitet die Steuereinheit 9 zu Schritt S3 fort, bei dem die Interpolation für den Startpunkt, den Endpunkt und den drei anfänglichen Durchgangspunkten ausgeführt wird, um einen Pfad x = f(λ) zu erzeugen. Als Reaktion werden bei Schritt S4A, Schritt S13A und Schritt S14 bis S19, wie in 3 gezeigt, ausgeführt. Bei Schritt S13A aus diesen Schritten wird der Winkel q in die Bewegungsgleichung des Roboters substituiert.
  • In diesem Fall wird der Interpolationswinkel q ausgedrückt durch: q = f(λ), q' = f'λ', q'' = f'λ'' + f''λ''2 (17)
  • Dies wird durch die Bewegungsgleichung des Roboters in einem Gelenkraum wie folgt ausgedrückt: T = a1(λ)λ'' + a2(λ)λ'2 + a3(λ)λ' + a4(λ) a1 = Hf', a2 = Hf'' + h(q, f'), a3 = Bf', a4 = q (18)
  • In 12 und 13 sind andere Schritte wie die vorstehenden ähnlich zu jenen der ersten Ausführungsform.
  • Dadurch wird gemäß der zweiten Ausführungsform der Pfad x zu dem Gelenkwinkel q vor der Stufe der Interpolation des Pfads x = f(λ) umgewandelt. Die kann den Prozess des Lösens der Gleichung der vorstehend erwähnten inversen Kinematiken beseitigen, d. h. Schritte S11 und S12 der vorstehend beschriebenen 6. Mit anderen Worten, lediglich die Bewegungsgleichungen (Vorwärtskinematiken) müssen bei einem Gelenksraumwinkel gelöst werden, was dementsprechend zur Reduktion der Berechnungslast führt.
  • Die in der ersten Ausführungsform erhaltenen Operationen und Vorteile können in dieser zweiten Ausführungsform erhalten werden.
  • [Abwandlungen]
  • Die vorliegende Erfindung ist nicht auf die vorstehend beschriebene oder in den Figuren dargestellte Ausführungsform beschränkt, sondern kann wie folgt abgewandelt oder erweitert werden.
  • Die Anzahl der Durchgangspunkte können vier oder mehr sein.
  • Ein anderes Verfahren als das Bobrow's Verfahren kann bei der Berechnung eines Pfads zum Maximieren der Geschwindigkeit des mehrachsigen Roboters basierend auf den Bewegungsdynamiken des Roboters verwendet werden.
  • Der Basisseitenarm und der Effektorseitenarm werden basierend auf der Positionsbeziehung der Arme bestimmt. Beispielsweise kann ein mehrachsiger Roboter einen mit einem Ende eines zweiten Arms verbundenen dritten Arm aufweisen. In diesem Fall werden, wenn der erste Arm als ein ”Basisseitenarm” bezeichnet wird, der zweite und dritte Arm als ”Endeffektorseitenarme” bezeichnet. Zudem wird, wenn der zweite Arm als ein ”Basisseitenarm” bezeichnet wird, der dritte Arm als ein ”Endeffektorseitenarm” bezeichnet werden.
  • Als ein Beispiel zeigt 14 einen dreiachsigen Roboterarm. Dieser dreiachsige Arm weist Arme AM1, AM2 und AM3 auf, die jeweils mit Gelenken JT1, JT2 und JT3 verbunden sind. Beim Bewegen des Endeffektors EF des dreiachsigen Roboters von einem Startpunkt zu einem gewünschten Endpunkt kann das Verfahren zum Erzeugen eines Pfads und das Steuerverfahren, die in der ersten und zweiten Ausführungsform beschrieben werden, auf einfache Weise angewandt werden. In diesem Fall können, wenn die Verbindungswinkel der Gelenke JT1, JT2 und JT3 jeweils durch θ1, θ2 und θ3 dargestellt werden, Formel (1) unter Verwendung des nachfolgenden Winkels q als dreidimensionaler Vektor verarbeitet werden: q = [θ1, θ2, θ3] (19)
  • Daher wurde der dreiachsige Roboterarm wie in dem in 15 gezeigten Beispiel angezeigt. Demgemäß wurde bei der Bewegung der Position der drei Achsen (J1, J2 und J3) von einem Startpunkt von (0, 0, 0) Grad zu einem Endpunkt von (90, 45, 90) Grad eine Wirkung der Erhöhung der Beschleunigungskraft und der Verzögerungskraft bestätigt, um die Reaktion des Endeffektorseitenarms zu erhalten. Mit anderen Worten, verglichen mit dem Ort eines Pfads (Strich-Punkt-Punkt-Linie in 15) des Standes der Technik, wurde bestätigt, dass die Zeitdauer verkürzt wird.
  • Die Anmeldung der vorliegenden Erfindung ist nicht auf einen mehrachsigen Roboter beschränkt, der eine Fahrachse enthält, die mit einer Rotationsachse kombiniert ist. Stattdessen kann die vorliegende Erfindung auf einen mehrachsigen Roboter mit unterschiedlichen Kombinationen von Achsen angewandt werden.
  • Bei den vorstehend beschriebenen Ausführungsformen werden die oberen Grenzen λ'min und λ'max der Geschwindigkeit der Randbedingungen als konstant betrachtet. Allerdings können diese Werte variable Werte sein. Zwei Beispiele sind hierfür hier bereitgestellt.
  • Bei dem ersten Beispiel wird der Fokus auf die Beziehung zwischen der Geschwindigkeit und dem Drehmoment jedes Motors des Roboters der vorliegenden Erfindung gelegt. Insbesondere betrifft das erste Beispiel eine Funktion eines Variierens der oberen Grenze der Beschleunigung als eine der Randbedingungen. 16 zeigt ein Diagramm, das eine TN-Kurve eines allgemein bekannten Motors darstellt. Es ist bekannt, dass, wenn ein Motor dessen Geschwindigkeit erhöht, das ausgegebene maximale Drehmoment sich verringert. Dadurch wird in diesem Beispiel die Randbedingung des Motors betreffend das Drehmoment wie folgt unter Berücksichtigung der vorstehenden Beziehung ausgedrückt: λ''min(λ, q'/f) ≤ λ''(λ, q'/f) ≤ λ''max(λ, q'/f) (20)
  • Unter Verwendung der in 16 gezeigten TN-Kurve wird ein maximales Drehmoment entsprechend der aktuellen Geschwindigkeit q' berechnet, um eine Bestimmung basierend auf der Formel (20) durchzuführen. Dadurch wird das maximale Drehmoment gemäß der Geschwindigkeit variiert.
  • Das zweite Beispiel betrifft eine Funktion der Änderung einer oberen Grenzgeschwindigkeit als eine der Randbedingungen bei einem XR-Roboter, der eine Fahrachse, wie z. B. einer Kugelumlaufspindel, aufweist.
  • Der in 17 dargestellte XR-Roboter enthält eine Kugelumlaufspindel 20, eine direkt wirkende Achse J1 (X-Achse), eine bewegbare Bühne 23, und einen Arm 25. Die direkt wirkende Achse J1 weist Enden auf, die mit einer fixierten Basis 22 über eine Fixiereinrichtung 21 fixiert ist. Die bewegbare Stufe 23 wird bewegbar durch die direkt wirkende Achse J1 gehalten. Der Arm 25 wird durch die Bühne 23 über ein Gelenk 24 bewegbare gehalten. Der Arm 25 dient als eine Rotationsachse (R-Achse) J2. Der zweiachsige XR-Roboter ist auf diese Weise konfiguriert. Bei der Erzeugung des Pfads der zwei Achsen J1 und J2 wird die Konfiguration gemäß der vorliegenden Erfindung implementiert, um dadurch die Beschleunigungskraft und die Verzögerungskraft zu erhöhen.
  • Bei einer einzelnen Achse, wie z. B. einer Kugelumlaufspindel, wird deren obere Grenzgeschwindigkeit (sogenannte Grenzgeschwindigkeit oder kritische Geschwindigkeit) eingerichtet. Der Wert der oberen Grenzgeschwindigkeit variiert jedoch in Abhängigkeit der Position der Achsen von deren fixierten Enden. Wenn ein solcher Roboter mit dem herkömmlichen trapezförmigen Geschwindigkeitsmuster angetrieben wird, wurde der obere Rand (obere Grenzgeschwindigkeit) des Trapezes auf einen konstanten Wert eingestellt, der ein Wert unter Berücksichtigung eines Sicherheitsfaktors ist.
  • In diesem Beispiel kann das Verfahren zum Erzeugen eines Pfads gemäß der vorliegenden Ausführungsform auf den XR-Roboter angewandt werden, um die obere Grenzgeschwindigkeit gemäß einer Position P der bewegbaren Bühne 23 entlang der direkt wirkenden Achse J1 zu verändern. Wie aus der Formel (13) verstanden wird, wird die Randbedingung λ'min ≤ λ' ≤ λ'max der Geschwindigkeit durch die Position λ (d. h. Winkel) und der maximalen Geschwindigkeit q' bestimmt. Dadurch kann die obere Grenzgeschwindigkeit entsprechend der Position P der Achse J1 variiert werden. Dadurch kann, wie schematisch durch den schraffierten Bereich in 18 angezeigt, der Geschwindigkeitsbereich, der nicht vollständig beim Stand der Technik genutzt wird, wirksam verwendet werden, um weiter die Zeitdauer zu verkürzen.
  • Die vorliegende Erfindung kann in verschiedenen anderen Ausbildungen ohne von deren Erfindungsgedanken abzuweichen verkörpert werden. Die soweit beschriebenen Ausführungsformen und Abwandlungen beabsichtigen daher, lediglich darzustellen und nicht beschränkend zu sein, da der Umfang der Erfindung vielmehr durch die beigefügten Ansprüche als durch die vorstehende Beschreibung definiert wird. Alle Abänderungen, die innerhalb dem Bereich und der Grenze der Ansprüche fallen oder Äquivalente dieser Bereiche oder Grenzen, werden daher beabsichtigt, dass diese von den Ansprüchen umfasst sind.

Claims (6)

  1. Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters (1) mit einer Mehrzahl von bewegbaren Achsen (J1, J2), die durch eine Mehrzahl von Verbindungen (AM1, AM2) und einer Mehrzahl von Gelenken (JT1, JT2) konfiguriert sind, wobei ein an einem äußersten Ende der Mehrzahl von Verbindungen angebrachten Endeffektors (EF) verwendet wird, und wobei das Verfahren die Schritte aufweist: Spezifizieren, in einer Steuereinheit (9), von Positionen eines Startpunkts und eines Endpunkts eines Pfades im dreidimensionalen Raum, in welchem es der Mehrzahl von bewegbaren Achsen (J1, J2) möglich ist sich dreidimensional zu bewegen, wobei der Endeffektor (EF) derart eingerichtet ist, dass sich dieser auf dem Pfad von dem Startpunkt zu dem Endpunkt bewegt, wenn die bewegbaren Achsen tatsächlich angetrieben werden; und Erzeugen von Geschwindigkeitsmustern von ersten und zweiten Gelenken (JT1, JT2) pro Gelenk, um entsprechende erste und zweite Gelenke (JT1, JT2) aus der Mehrzahl der Gelenke (JT1, JT2) basierend auf den spezifizierten Positionen der Start- und Endpunkte anzutreiben, wobei die zweite Verbindung (AM2) näher zu dem Endeffektor (EF) positioniert ist als die erste Verbindung (AM1), und wobei die Geschwindigkeitsmuster eine Bewegung der zweiten Verbindung (AM2) ermöglichen, um i) eine Reaktion zum Erhöhen einer durch das erste Gelenk (JT1) erzeugten Beschleunigungskraft zu bewirken, wenn begonnen wird, dass sich der Endeffektor (EF) von dem Startpunkt in Richtung des Endpunkts bewegt, und um ii) eine Reaktion zum Erhöhen einer durch das erste Gelenk (JT1) erzeugten Verzögerungskraft zu bewirken, wenn der Endeffektor (EF) bei dem Endpunkt gestoppt wird, wobei das Geschwindigkeitsmuster für das erste Gelenk (JT1) einen Bereich eines Musters einer beschleunigten Bewegung, der vorgesehen ist, wenn der Endeffektor (EF) gestartet wird, sich von dem Starpunkt an zu bewegen, einen Bereich eines Musters einer verzögerten Bewegung, der vorgesehen ist, wenn der Endeffektor zu dem Endpunkt hin stoppt, und einen Bereich eines Musters einer gleichmäßigen Bewegung, der zwischen den Bereichen der Muster für die beschleunigte Bewegung und die verzögerte Bewegung liegt, aufweist; wobei, um die Reaktion zu erzeugen, die zweite Verbindung (AM2) in eine Richtung bewegt wird, die einer Richtung entgegengesetzt ist, in welche die Mehrzahl der bewegbaren Achsen (J1, J2) bewegt wird; und wobei die ersten und zweiten Gelenke (JT1, JT2) jeweils basierend auf denjenigen zugewiesenen Geschwindigkeitsmustern angetrieben werden, wenn der Roboter (1) derart angetrieben wird, dass der Endeffektor (EF) tatsächlich entlang des Pfades in dem dreidimensionalen Raum bewegt wird.
  2. Verfahren nach Anspruch 1, wobei der Geschwindigkeitsmustererzeugungsschritt einen Schritt zum Berechnen des Geschwindigkeitsmusters unter Berücksichtigung von Randbedingungen beim Betätigen des ersten und zweiten Gelenks (JT1, JT2) enthält.
  3. Verfahren nach Anspruch 2, wobei die Randbedingungen eine Beschleunigungsbedingung enthält, die eine maximale Beschleunigung und eine maximale Verzögerung jedes der ersten und zweiten Gelenke (JT1, JT2) umfasst, und eine Geschwindigkeitsbedingung eine maximale Geschwindigkeit und eine minimale Geschwindigkeit jedes der ersten und zweiten Gelenke (JT1, JT2) umfasst.
  4. Verfahren nach Anspruch 2, aufweisend den Schritt: Einstellen einer Mehrzahl von anfänglichen Durchgangspunkten zwischen dem spezifizierten Startpunkt und Endpunkt, wobei der Geschwindigkeitsmustererzeugungsschritt das Geschwindigkeitsmuster einer kürzesten Zeit erzeugt, während die Positionen der anfänglichen Durchgangspunkte aktualisiert werden.
  5. Verfahren nach Anspruch 2, wobei die Mehrzahl der anfänglichen Durchgangspunkte drei an der Zahl sind.
  6. Steuervorrichtung, die einen mehrachsigen Roboter (1) mit einer Mehrzahl von beweglichen Achsen (J1, J2) steuert, die durch eine Mehrzahl von Verbindungen (AM1, AM2) und eine Mehrzahl von Gelenken (JT1, JT2) konfiguriert sind, aufweisend: eine Positionsspezifiziereinrichtung zum Spezifizieren von Positionen eines Startpunktes eines Pfades und eines Endpunktes eines Pfades im dreidimensionalen Raum, in welchem es der Mehrzahl von bewegbaren Achsen (J1, J2) möglich ist sich dreidimensional zu bewegen, einen Endeffektor (EF), der bei einem äußersten Ende der Mehrzahl von Verbindungen (AM1, AM2) angebracht ist und der derart eingerichtet ist, dass sich dieser auf dem Pfad von dem Startpunkt zu dem Endpunkt bewegt, wenn die bewegbaren Achsen tatsächlich angetrieben werden; eine Geschwindigkeitsmustererzeugungseinrichtung zum Erzeugen von Geschwindigkeitsmustern von ersten und zweiten Gelenken (JT1, JT2) pro Gelenk, um entsprechend erste und zweite Gelenke (JT1, JT2) aus der Mehrzahl von Gelenken (JT1, JT2) basierend auf den spezifizierten Positionen der Start- und Endpunkte anzutreiben, wobei die zweite Verbindung näher an dem Endeffektor (EF) positioniert ist als die erste Verbindung, und wobei die Geschwindigkeitsmuster eine Bewegung der zweiten Verbindung ermöglichen, um i) eine Reaktion zum Erhöhen einer durch die erste Verbindung erzeugten Beschleunigungskraft zu bewirken, wenn begonnen wird, den Endeffektor (EF) von dem Startpunkt in Richtung des Endpunkts zu bewegen, und um ii) eine Reaktion zum Erhöhen einer durch das erste Gelenk (JT1) erzeugten Verzögerungskraft zu bewirken, wenn der Endeffektor (EF) bei dem Endpunkt stoppt; und wobei das Geschwindigkeitsmuster für das erste Gelenk (JT1) einen Bereich eines Musters einer beschleunigten Bewegung, der vorgesehen ist, wenn der Endeffektor (EF) gestartet wird, sich von dem Starpunkt an zu bewegen, einen Bereich eines Musters einer verzögerten Bewegung, der vorgesehen ist, wenn der Endeffektor zu dem Endpunkt hin stoppt, und einen Bereich eines Musters einer gleichmäßigen Bewegung, der zwischen den Bereichen der Muster für die beschleunigte Bewegung und die verzögerte Bewegung liegt, aufweist; wobei, um die Reaktion zu erzeugen, die zweite Verbindung (AM2) in eine Richtung bewegt wird, die einer Richtung entgegengesetzt ist, in welche die Mehrzahl der bewegbaren Achsen (J1, J2) bewegt wird; und eine Steuereinrichtung zum Steuern der Betätigung der ersten und zweiten Gelenke (JT1, JT2) basierend auf dem Geschwindigkeitsmuster.
DE102014104220.4A 2013-03-28 2014-03-26 Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter Active DE102014104220B9 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/852,337 2013-03-28
US13/852,337 US9242376B2 (en) 2013-03-28 2013-03-28 Method of generating path of multiaxial robot and control apparatus for the multiaxial robot

Publications (3)

Publication Number Publication Date
DE102014104220A1 DE102014104220A1 (de) 2014-10-02
DE102014104220B4 DE102014104220B4 (de) 2015-12-10
DE102014104220B9 true DE102014104220B9 (de) 2016-01-28

Family

ID=51519979

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014104220.4A Active DE102014104220B9 (de) 2013-03-28 2014-03-26 Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter

Country Status (3)

Country Link
US (1) US9242376B2 (de)
JP (1) JP6167770B2 (de)
DE (1) DE102014104220B9 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6123595B2 (ja) * 2013-09-10 2017-05-10 株式会社デンソーウェーブ 2軸ロボットの速度制御方法
JP6455019B2 (ja) * 2014-08-21 2019-01-23 株式会社デンソーウェーブ ロボットの制御装置及び制御方法
JP6499273B2 (ja) * 2015-03-20 2019-04-10 株式会社Fuji ティーチング装置及び制御情報の生成方法
DE102015106227B3 (de) * 2015-04-22 2016-05-19 Deutsches Zentrum für Luft- und Raumfahrt e.V. Steuern und/oder Regeln von Motoren eines Roboters
US9925662B1 (en) * 2015-06-28 2018-03-27 X Development Llc Generating a trained robot path based on physical manipulation of the robot and based on training user interface input(s) associated with the physical manipulation
JP6339534B2 (ja) * 2015-07-17 2018-06-06 ファナック株式会社 最大で二つのワークを把持するハンドを備えたロボットの制御方法およびロボット制御装置
JP6601155B2 (ja) * 2015-10-28 2019-11-06 株式会社デンソーウェーブ ロボット制御システム
CN109328124A (zh) * 2016-04-21 2019-02-12 休恩登·杰拉德·托马斯 执行操作的机器人系统
US9981381B1 (en) * 2016-06-08 2018-05-29 X Development Llc Real time generation of phase synchronized trajectories
US10207404B2 (en) 2017-02-09 2019-02-19 X Development Llc Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
JP6844434B2 (ja) * 2017-06-15 2021-03-17 株式会社デンソーウェーブ ロボットの負荷重心位置推定装置及びロボットの負荷重心位置推定方法
CN107450431B (zh) * 2017-08-14 2020-04-10 广州耐奇电气科技有限公司 一种能源综合管理系统
US11565412B2 (en) * 2017-09-15 2023-01-31 Google Llc Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
JP2019126850A (ja) * 2018-01-22 2019-08-01 ファナック株式会社 ロボットの制御方法および制御装置
US11458626B2 (en) * 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus
JP7225560B2 (ja) * 2018-04-26 2023-02-21 セイコーエプソン株式会社 制御装置、ロボットシステム、及び表示制御方法
DE102018209870B3 (de) * 2018-06-19 2019-07-04 Kuka Deutschland Gmbh Verfahren und System zum Überführen eines Endeffektors eines Roboters zwischen einer Endeffektorpose und einer weiteren Endeffektorpose
WO2020028356A1 (en) * 2018-07-30 2020-02-06 Intuitive Surgical Operations, Inc. Hard stop protection system and method
SG11202102121UA (en) * 2018-09-26 2021-04-29 Ihi Corp Acceleration-determination device and method
JP7028196B2 (ja) * 2019-01-15 2022-03-02 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
GB2588629B (en) * 2019-10-29 2024-01-03 Cmr Surgical Ltd Robotic joint control
CN111775148B (zh) * 2020-06-15 2022-03-08 珠海格力电器股份有限公司 一种机器人控制方法、装置、存储介质及机器人
CN116197917B (zh) * 2023-04-28 2023-08-01 苏州艾利特机器人有限公司 自适应最大加速度计算方法、装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5811952A (en) * 1995-06-29 1998-09-22 Fanuc Ltd. Method of setting accelerating/decelerating motion of robot
JPH1153021A (ja) * 1997-08-05 1999-02-26 Yaskawa Electric Corp 産業用ロボットの加減速パターン生成方法
JP2000094371A (ja) * 1998-09-18 2000-04-04 Yaskawa Electric Corp ロボットの最短時間制御装置
JP2002132349A (ja) * 2000-10-18 2002-05-10 Fanuc Ltd 加減速制御方法
JP2002321178A (ja) * 2001-04-20 2002-11-05 Yaskawa Electric Corp ロボットの加減速時間決定方法
US7039494B2 (en) * 2003-08-05 2006-05-02 Fanuc Ltd Controller for machine

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5294873A (en) * 1992-10-27 1994-03-15 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Kinematic functions for redundancy resolution using configuration control
US6216058B1 (en) * 1999-05-28 2001-04-10 Brooks Automation, Inc. System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes
JP2006198716A (ja) * 2005-01-20 2006-08-03 Amada Co Ltd 回転制御方法およびその装置並びにそれを用いた板材加工機の板材位置決め方法および装置
JP5076824B2 (ja) * 2007-11-15 2012-11-21 株式会社デンソーウェーブ 吊り型ロボット
JP4942672B2 (ja) * 2008-01-25 2012-05-30 三菱電機株式会社 ロボット軌道制御装置及びロボット軌道制御方法
WO2009110242A1 (ja) * 2008-03-06 2009-09-11 パナソニック株式会社 マニピュレータおよびその制御方法
CN102510793B (zh) * 2010-06-04 2015-01-28 中国科学院自动化研究所 加速度连续的机器人轨迹生成系统和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5811952A (en) * 1995-06-29 1998-09-22 Fanuc Ltd. Method of setting accelerating/decelerating motion of robot
JPH1153021A (ja) * 1997-08-05 1999-02-26 Yaskawa Electric Corp 産業用ロボットの加減速パターン生成方法
JP2000094371A (ja) * 1998-09-18 2000-04-04 Yaskawa Electric Corp ロボットの最短時間制御装置
JP2002132349A (ja) * 2000-10-18 2002-05-10 Fanuc Ltd 加減速制御方法
JP2002321178A (ja) * 2001-04-20 2002-11-05 Yaskawa Electric Corp ロボットの加減速時間決定方法
US7039494B2 (en) * 2003-08-05 2006-05-02 Fanuc Ltd Controller for machine

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
J.E. Bobrow, S. Dubowsky, J.S. Gibson; "Time-Optimal Control of Robotic Manipulators Anlong Specified Paths", The International Journal of Robotics Research, Vol. 4, Nr. 3, Fall 1985 pp. 3 -17 *
J.E. Bobrow; "Optimal Robot Path Planing Using the Minimum-Time Criterion", IEEE Journal of robotics and automation, Vol. 4, Nr. 4, August 1988. pp. 443-450 *
Yanjie Liu, Chenqi Wan, Juan Li, Lining Sun: "Time-Optimal Path Generaton of Fast-Motin Planar Parallel Manipulator", International Conference on Intelligent Robots and Systems, October 9-15, 2006 Beijing China; IEEE/RSJ *

Also Published As

Publication number Publication date
JP2014193519A (ja) 2014-10-09
US20140297030A1 (en) 2014-10-02
JP6167770B2 (ja) 2017-07-26
DE102014104220B4 (de) 2015-12-10
DE102014104220A1 (de) 2014-10-02
US9242376B2 (en) 2016-01-26

Similar Documents

Publication Publication Date Title
DE102014104220B9 (de) Verfahren zum Steuern des Antriebs eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
DE102014104226B4 (de) Verfahren zur Erzeugung eines Pfades eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
DE602005005306T2 (de) Steuerung der Bahn eines Greifers
EP2954986B1 (de) Vorrichtung und Verfahren zum Steuern und Regeln eines Mehrkörpersystems
EP2563553B1 (de) Verfahren und steuermittel zum steuern eines roboters
DE69636447T2 (de) Verfahren und vorrichtung zum steuern der bewegung eines redundanten manipulators
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
DE4291619C2 (de) Verfahren zum Betreiben einer mehrachsigen computernumerisch gesteuerten Werkzeugmaschine
EP2546711B1 (de) Verfahren zum Programmieren eines Roboters
EP2303521B1 (de) Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
DE102006055359A1 (de) Roboter und Verfahren zur Vermeidung einer Interferenz bei vielen Robotern
DE102014226936B3 (de) Ganzkörperimpedanz für mobile Roboter
DE102013222456A1 (de) Verfahren zum Programmieren von Bewegungsabläufen eines redundanten Industrieroboters und zugehöriger Industrieroboter
DE102015103451B4 (de) Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen und Computerprogrammprodukt
EP1591209A2 (de) Verfahren zum Steuern einer Maschine, insbesondere eines Industrieroboters
WO2009149805A1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
EP2218556B1 (de) Steuerung und Steuerungsverfahren für einen Manipulator
EP1920892B1 (de) Robotersteuerung, Roboter und Verfahren zum Steuern eines Roboters
DE19810341C2 (de) Verfahren zur automatischen Kollisionsvermeidung eines Manipulators in einem durch Hindernisse beschränkten Arbeitsraum
EP1529605B1 (de) Verfahren und Vorrichtung zum Steuern von Robotern
WO2019029870A1 (de) Handhabungseinrichtung mit einem roboter sowie verfahren und computerprogramm
EP2681016A1 (de) Parallelroboter und steuerungsverfahren
EP2504741B1 (de) Verfahren zum erstellen eines robotermodells und industrieroboter
EP3965999A1 (de) Verfahren und system zur bestimmung von optimierten programmparametern für ein roboterprogramm
EP3652104B1 (de) Steuerungseinrichtung für ein hebezeug und verfahren zu dessen betrieb

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: KUHNEN & WACKER PATENT- UND RECHTSANWALTSBUERO, DE

R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final