DE112020000380T5 - Steuereinrichtung - Google Patents

Steuereinrichtung Download PDF

Info

Publication number
DE112020000380T5
DE112020000380T5 DE112020000380.9T DE112020000380T DE112020000380T5 DE 112020000380 T5 DE112020000380 T5 DE 112020000380T5 DE 112020000380 T DE112020000380 T DE 112020000380T DE 112020000380 T5 DE112020000380 T5 DE 112020000380T5
Authority
DE
Germany
Prior art keywords
predetermined
target
model
control
obstacle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020000380.9T
Other languages
English (en)
Inventor
Mamoru Egi
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of DE112020000380T5 publication Critical patent/DE112020000380T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14073Real time modeling of plc behaviour, display pictogram of system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Feedback Control In General (AREA)

Abstract

Eine Steuereinrichtung ist so konfiguriert, dass ein Ausgang einer Zieleinrichtung servogesteuert wird, um einem vorbestimmten Befehl in einem vorbestimmten Arbeitskoordinatensystem zu folgen. Die Steuereinrichtung enthält: einen Zielmodell-Controller, der ein Zielmodell besitzt, in dem die Zieleinrichtung auf der Grundlage des vorbestimmten Arbeitskoordinatensystems modelliert ist, und einen Ausgang gemäß dem vorbestimmten Arbeitskoordinatensystem unter Verwendung des Zielmodells simuliert und ausgibt; einen modellprädiktiven Controller, der ein Vorhersagemodell besitzt, in dem eine Korrelation zwischen einer vorbestimmten Zustandsvariablen, die sich auf das Zielmodell bezieht, das der Zielmodell-Controller besitzt und auf dem vorbestimmten Arbeitskoordinatensystem basiert, und einer Steuereingabe an den Zielmodell-Controller in Form einer vorbestimmten Zustandsgleichung auf der Grundlage des vorbestimmten Arbeitskoordinatensystems definiert ist; und einen Rechner, der einen Zielbefehl aus der Ausgabe des Zielmodell-Controllers auf der Grundlage des vorbestimmten Arbeitskoordinatensystems für jede Steuerachse und in Übereinstimmung mit einer geometrischen Beziehung einer Maschinenstruktur der Zieleinrichtung errechnet. Die Steuereinrichtung liefert den Zielbefehl an die Zieleinrichtung. Diese Konfiguration kann die modellprädiktive Steuerung bzw. Regelung durchführen, um einen Zielbefehl zuzuführen, um zu bewirken, dass der Ausgang der Zieleinrichtung in geeigneter Weise einem vorbestimmten Befehl folgt.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich auf eine Steuereinrichtung, die einen Zielbefehl liefert, um eine Zieleinrichtung zu veranlassen, einem vorgegebenen Befehl zu folgen.
  • HINTERGRUND DER ERFINDUNG
  • Eine Rückkopplungssteuerung wird typischerweise verwendet, um eine Zieleinrichtung entlang einer Befehlstrajektorie zu bewegen. Beispielsweise verfügen einige Mehrgelenkroboter über eine Robotersteuerung, die Servomotoren einzelner Gelenkachsen derart ansteuert, dass deren Fingerspitzen unter einer Rückkopplungssteuerung eine voreingestellte (eingelernte) Befehlstrajektorie verfolgen d.h. nachfahren. Unter einer typischen Rückkopplungssteuerung neigt die tatsächliche Trajektorie d.h. die Bahn eines Roboters dazu, von der Befehlstrajektorie abzuweichen, da in jedem Servomotor zwangsläufig Reaktionsverzögerungen auftreten. Um die Abweichung von der Befehlstrajektorie zu reduzieren, verwenden einige Robotersteuereinrichtungen eine Technik, die sich mit der modellprädiktiven Steuerung befasst (siehe z. B. Nicht-Patentdokument 1).
  • Wenn sich eine Zieleinrichtung entlang einer Befehlstrajektorie bewegt und ein Hindernis vorhanden ist, das die Bewegung der Zieleinrichtung stören kann, muss die Steuereinrichtung die Zieleinrichtung so steuern, dass die Kollision mit dem Hindernis vermieden wird. Patentdokument 1 offenbart beispielsweise ein Verfahren zum Bilden eines probabilistischen Potentialfeldes auf der Grundlage einer Existenzwahrscheinlichkeit eines Hindernisses um die Zieleinrichtung herum und zum anschließenden Bestimmen einer Route, entlang der die Zieleinrichtung fahren soll, auf der Grundlage des Gradienten des probabilistischen Potentialfeldes. Patentdokument 2 offenbart eine Fahrzeugkollisionsvermeidungssteuerung, die ebenfalls ein probabilistisches Potentialfeld auf der Grundlage einer Existenzwahrscheinlichkeit eines Hindernisses verwendet.
  • DOKUMENTE ZUM STAND DER TECHNIK
  • PATENTDOKUMENTE
    • Patentdokument 1: Japanische ungeprüfte Patentveröffentlichung Nr. 2003-241836
    • Patentdokument 2: Japanische ungeprüfte Patentveröffentlichung Nr. 2011-186878
  • DOKUMENTE DIE NICHT ZUR PATENTLITERATUR GEHÖREN
  • Nicht zur Patentliteratur gehörendes Dokument 1: offset compensation of continuous time model predictive control by disturbance estimation, geschrieben von Yuta Sakurai und Toshiyuki Ohtsuka, in Journal of Society of Systems Control and Information Science, Vol. 25, No. 7, Seiten. 10-18 (2012)
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • PROBLEME DIE DURCH DIE ERFINDUNG GELÖST WERDEN SOLLEN
  • Wenn bei konventionellen Techniken die modellprädiktive Steuerung verwendet wird, um zu bewirken, dass ein Ausgang einer Zieleinrichtung servogesteuert wird, um einem vorbestimmten Befehl zu folgen, stellt eine Steuereinrichtung ein prädiktives Modell ein, das für diese modellprädiktive Steuerung verwendet wird, basierend auf verallgemeinerten Koordinaten, wie z. B. Gelenkkoordinaten eines Antriebsmotors auf einer oder mehreren Steuerachsen der Zieleinrichtung. Es ist möglich, das prädiktive Modell der Zieleinrichtung basierend auf den verallgemeinerten Koordinaten einfach einzustellen; es ist jedoch fraglich, ob die vom Ausgang der Zieleinrichtung verfolgte Trajektorie immer optimiert ist. Dies liegt daran, dass die modellprädiktive Steuerung mit Bezug auf die verallgemeinerten Koordinaten optimiert wird. Kurz gesagt, der Ausgang der Zieleinrichtung, der typischerweise auf der Grundlage eines verallgemeinerten Koordinatensystems für die gesamte Zieleinrichtung definiert wird, kann in Abhängigkeit von einer geometrischen Beziehung der Maschinenstruktur, die mit Antriebsmotoren von Steuerachsen und den Steuerachsen zusammenhängt, kompliziert variieren.
  • Eine andere denkbare Technik verwendet sowohl eine Zustandsgröße eines Arbeitskoordinatensystems einer Zieleinrichtung als auch eine Zustandsgröße eines verallgemeinerten Koordinatensystems in einem Vorhersage- d.h. Prädiktionsmodell und drückt eine Jacobimatrix so aus, dass sie Parameter der verallgemeinerten Koordinaten enthält. Die Jacobimatrix liefert jedoch keine Korrelation zwischen einer Position und einem Winkel. Daher steigt ein Fehler mit dem Fortschreiten der Servosteuerung bzw. -regelung an, was vorteilhafterweise die Nachführbarkeit des Ausgangs der Zieleinrichtung verringert.
  • Die vorliegende Erfindung, die in Anbetracht solcher Nachteile erdacht wurde, zielt darauf ab, eine Technik bereitzustellen, um zu bewirken, dass ein Ausgang einer Zieleinrichtung einem vorbestimmten Befehl unter einer modellprädiktiven Steuerung in geeigneter Weise folgt.
  • MITTEL ZUR LÖSUNG DES PROBLEMS
  • In der vorliegenden Erfindung liefert eine Steuereinrichtung, die die oben beschriebenen Nachteile behebt, an eine Zieleinrichtung einen Befehl, um zu bewirken, dass ein Ausgang der Zieleinrichtung einem vorbestimmten Befehl folgt. Diese Steuereinrichtung verwendet die folgende Konfiguration: eine modellprädiktive Steuerung unter Verwendung eines prädiktiven Modells wird in Übereinstimmung mit einem vorbestimmten Arbeitskoordinatensystem, das sich auf die Zieleinrichtung bezieht, durchgeführt; und ein Zielbefehl, der der Zieleinrichtung zugeführt wird, wird als Zielbefehl in einem verallgemeinerten Koordinatensystem unter Verwendung einer inversen Kinematik des gesteuerten Objekts und basierend auf einer Ausgabe, die von der modellprädiktiven Steuerung erhalten wird, berechnet. Folglich ist es möglich, die Fähigkeit, einem vorbestimmten Befehl zu folgen, in geeigneter Weise zu verbessern.
  • Genauer gesagt handelt es sich bei der vorliegenden Erfindung um eine Steuereinrichtung, die bewirkt, dass ein Ausgang einer Zieleinrichtung servogesteuert wird, um einem vorgegebenen Befehl in einem vorgegebenen Arbeitskoordinatensystem zu folgen. Diese Zieleinrichtung weist eine oder mehrere Steuerachsen auf. Für jede der einen oder mehreren Steuerachsen wird ein unabhängiges verallgemeinertes Koordinatensystem festgelegt und zur Servosteuerung jeder der einen oder mehreren Steuerachsen verwendet. Die Steuereinrichtung enthält einen Zielmodellcontroller, eine Zustandserfassungseinheit, einen modellprädiktiven Controller, einen Rechner und eine Versorgungs- d.h. Zuführungseinheit. Der Zielmodellcontroller besitzt ein Zielmodell, in dem die Zieleinrichtung basierend auf dem vorbestimmten Arbeitskoordinatensystem modelliert ist, und ist konfiguriert, um einen Ausgang gemäß dem vorbestimmten Arbeitskoordinatensystem unter Verwendung des Zielmodells zu simulieren und ein Simulationsergebnis auszugeben. Die Zustandserfassungseinheit ist konfiguriert, um einen Wert einer vorbestimmten Zustandsvariablen basierend auf dem vorbestimmten Arbeitskoordinatensystem zu erfassen, wobei die vorbestimmte Zustandsvariable mit dem Zielmodell in Beziehung steht, das der Zielmodellcontroller besitzt. Der modellprädiktive Controller bzw. Controller besitzt ein prädiktives Modell, in dem eine Korrelation zwischen der vorbestimmten Zustandsvariablen und einer Steuereingabe an den Zielmodellcontroller in Form einer vorbestimmten Zustandsgleichung auf der Basis des vorbestimmten Arbeitskoordinatensystems definiert ist. Dieser modellprädiktive Controller ist so konfiguriert, dass er den vorbestimmten Befehl empfängt, die modellprädiktive Steuerung innerhalb einer prädiktiven Zone mit einer vorbestimmten Zeitbreite in Übereinstimmung mit einer vorbestimmten Auswertungsfunktion und auf der Grundlage des prädiktiven Modells durchführt und einen Wert der Steuereingabe zumindest zu einem Anfangszeitpunkt der prädiktiven Zone als die Steuereingabe an den Zielmodellcontroller ausgibt, wobei die Steuereingabe auf den vorbestimmten Befehl bezogen ist. Der Rechner ist konfiguriert, um einen Zielbefehl für jede Steuerachse aus dem Ausgang des Zielmodellcontrollers zu berechnen, der auf dem vorbestimmten Arbeitskoordinatensystem basiert, wobei der Ausgang des Zielmodellcontrollers durch Eingeben eines Ausgangs des modell-prädiktiven Controllers in das Zielmodell erhalten wird, wobei der Zielbefehl gemäß einer geometrischen Beziehung einer Maschinenstruktur bezogen auf die eine oder mehrere Steuerachsen in der Zieleinrichtung und basierend auf dem verallgemeinerten Koordinatensystem, das für jede der einen oder mehreren Steuerachsen eingestellt ist, erhalten wird. Die Zuführungseinheit ist so konfiguriert, dass sie den Zielbefehl an jede der einen oder mehreren Steuerachsen in der Zieleinrichtung liefert.
  • Die Steuereinrichtung der vorliegenden Erfindung ist eine Steuereinrichtung, die einen Zielbefehl zuführt, um zu bewirken, dass ein Ausgang einer Zieleinrichtung einem vorgegebenen Befehl folgt. Diese Steuereinrichtung umfasst einen Zielmodell-Controller, der ein Zielmodell besitzt, in dem die Zieleinrichtung modelliert ist. Die Zieleinrichtung ist eine Einrichtung mit einer oder mehreren Steuerachsen, die unter der Annahme, dass die Einrichtung eine Maschinenkonfiguration aufweist, miteinander in Beziehung gesetzt werden, wodurch ein Ausgang der Zieleinrichtung selbst erhalten wird. In diesem Fall wird der Ausgang der Zieleinrichtung selbst durch ein vorgegebenes Arbeitskoordinatensystem definiert, das für die gesamte Zieleinrichtung unter Berücksichtigung der Beziehung der einen oder mehreren Steuerachsen angenommen wird. Andererseits wird für jede der einen oder mehreren Steuerachsen, die die Zieleinrichtung bilden, ein unabhängiges verallgemeinertes Koordinatensystem für eine Servosteuerung der Steuerachse festgelegt. Wenn jede Steuerachse einen drehbar angetriebenen Aktuator enthält, kann als Beispiel für das verallgemeinerte Koordinatensystem ein Drehkoordinatensystem verwendet werden, das sich auf einen Drehwinkel jeder Steuerachse bezieht (kann ein Gelenkkoordinatensystem sein, wenn die Zieleinrichtung ein Roboter ist).
  • Der Zielmodell-Controller führt einen Simulationsprozess auf der Zieleinrichtung unter Verwendung des Zielmodells durch. Dann ist der modellprädiktive Controller so konfiguriert, dass er eine modellprädiktive Steuerung unter Verwendung eines prädiktiven Modells durchführt, das eine Korrelation zwischen einer vorbestimmten Zustandsvariablen, die sich auf den Zielmodell-Controller bezieht, und einer Steuereingabe für den Zielmodell-Controller definiert. In diesem Fall setzt der modellprädiktive Controller eine prädiktive Zone mit einer vorbestimmten Zeitbreite zu jedem Steuerzeitpunkt unter der modellprädiktiven Steuerung. Dann führt der modellprädiktive Controller einen vorbestimmten Berechnungsprozess in Übereinstimmung mit einer vorbestimmten Auswertungsfunktion in der prädiktiven Zone durch. Danach erzeugt der modellprädiktive Controller einen zumindest zum Anfangszeitpunkt in der prädiktiven Zone berechneten Steuereingangswert und gibt ihn in Echtzeit aus. Der Zielmodell-Controller empfängt die erzeugte Ausgabe und führt den obigen Simulationsprozess durch. Bei dieser modellprädiktiven Steuerung verschiebt sich die prädiktive Zone mit dem Ablauf der Steuerzeit, und es wird eine so genannte „Receding Horizon“-Steuerung (bzw. -Regelung) durchgeführt. Diese Konfiguration kann eine Steuereingabe zum Folgen eines vorgegebenen Befehls in Echtzeit erzeugen und diese Steuereingabe an die Zieleinrichtung ausgeben.
  • Die obige Steuereinrichtung definiert das prädiktive Modell für die modellprädiktive Steuerung, basierend auf dem vorbestimmten Arbeitskoordinatensystem in Bezug auf die Zieleinrichtung. Daher wird die Optimierung in der modellprädiktiven Steuerung in Übereinstimmung mit der vorbestimmten Auswertungsfunktion auf der Grundlage des vorbestimmten Arbeitskoordinatensystems durchgeführt. Als Ergebnis ist es möglich, die Ausgabe der Zieleinrichtung auf einfache Weise zu veranlassen, dem vorgegebenen Befehl zu folgen. Andererseits, da die modellprädiktive Steuerung in Übereinstimmung mit einem vorbestimmten Arbeitskoordinatensystem durchgeführt wird, ist es unmöglich, als einen Befehlswert ein Signal anzuwenden, das durch einen Simulationsprozess erhalten wurde, der durch den Zielmodell-Controller durchgeführt wurde, der die Ausgabe des modellprädiktiven Controllers empfangen hat, d.h. die Ausgabe des Zielmodell-Controllers auf die eine oder mehrere Steuerachsen, die die Zieleinrichtung bilden, ohne irgendeinen Prozess zu verwenden. Aus diesem Grund führt der Rechner einen Berechnungsprozess zum Umwandeln der Ausgabe des Zielmodell-Controllers in den Zielbefehl jeder Steuerachse basierend auf dem verallgemeinerten Koordinatensystem durch. Dieser Berechnungsprozess wird in Übereinstimmung mit der geometrischen Beziehung der Maschinenstruktur in Bezug auf jede Steuerachse in der Zieleinrichtung durchgeführt. Daher ist es möglich, das Auftreten eines Ausgangsfehlers (Positionsfehlers) der Zieleinrichtung, der durch die Akkumulation von Berechnungsfehlern verursacht werden kann, angemessen zu vermeiden und somit die Zieleinrichtung mit der Fähigkeit auszustatten, einem vorgegebenen Befehl zu folgen.
  • Nachdem der Rechner den Zielbefehl für jede der einen oder mehreren Steuerachsen auf die oben beschriebene Weise berechnet hat, liefert er diesen Zielbefehl über die Zuführungseinheit an die Zieleinrichtung. Der Zielbefehl wird jeder Steuerachse zugeführt und entsprechend an eine Einrichtung wie z. B. einen Servotreiber angelegt. Dadurch kann jede Steuerachse in geeigneter Weise servogesteuert werden, z. B. in Übereinstimmung mit einer darin vorgesehenen Servosteuerstruktur.
  • Die obige Steuereinrichtung kann sowohl das Vorhersagemodell (d.h. Prädiktionsmodell als auch das Zielmodell auf ein Ein-Trägheitsmodell („one-inertia“ Modell) in Bezug auf eine Koordinatenachse in dem vorbestimmten Arbeitskoordinatensystem einstellen. Genauer gesagt, in der Simulation unter Verwendung des Zielmodells, durch die der Rechner schließlich die Ausgabe des Zielmodell-Controllers in einen Zielbefehl für jede Steuerachse umwandelt, wird die geometrische (strukturelle) Beziehung zwischen den Steuerachsen in der tatsächlichen Zieleinrichtung eliminiert, und sowohl das prädiktive Modell als auch das Zielmodell werden unter der Annahme eingestellt, dass jede Steuerachse unabhängig ist. Die Bildung sowohl des prädiktiven Modells als auch des Zielmodells auf diese Weise kann eine mit der modellprädiktiven Steuerung verbundene Prozesslast verringern und so eine ausreichende Nachfolgekapazität der Zieleinrichtung sicherstellen. Die Verwendung dieser Konfiguration kann dazu führen, dass das Vorhersagemodell von der tatsächlichen Konfiguration der Zieleinrichtung abweicht, was die Genauigkeit der Optimierung unter der prädiktiven Modellsteuerung verringert, aber den tatsächlichen Antrieb der Steuereinrichtung nicht wesentlich beeinträchtigt, da die Zuführungseinheit den Zielbefehl (Zieltrajektorie) liefert. Daher kann ein Nachteil der verringerten Optimierungsgenauigkeit in Anbetracht eines Vorteils, der sich aus der oben genannten geringeren Prozesslast ergibt, sehr gering sein.
  • In der obigen Steuereinrichtung kann der Rechner einen Realteil der vorbestimmten komplexen Zahlenlösung als Zielbefehl berechnen, wenn er eine vorbestimmte komplexe Zahlenlösung, die eine imaginäre Zahl enthält, von der Ausgabe des Zielmodell-Controllers in Übereinstimmung mit der geometrischen Beziehung der Maschinenstruktur als dem Zielbefehl erhält. Der Grund, warum der Rechner in der Erfindung der vorliegenden Anmeldung eine vorbestimmte komplexe Zahlenlösung durch den Berechnungsprozess ermittelt, ist, dass der Rechner den Berechnungsprozess in Übereinstimmung mit der Maschinenstruktur der Zieleinrichtung durchführt, nachdem die Ausgabe der Zieleinrichtung in einem vorbestimmten Arbeitskoordinatensystem optimiert wurde. Wenn der Rechner eine vorgegebene komplexe Zahlenlösung erhält, ist die Maschinenstruktur der Zieleinrichtung ratenbestimmend. Somit kann der Rechner die Ausgabe der Zieleinrichtung, die die Ausgabe des modellprädiktiven Controllers erhalten hat, nicht physikalisch realisieren. In diesem Fall berechnet der Rechner, wie oben beschrieben, versuchsweise den Realteil der vorbestimmten komplexen Zahlenlösung als Zielbefehl und fährt damit erfolgreich fort, den Zielbefehl an die Zieleinrichtung zu liefern.
  • Die obige Steuereinrichtung kann ferner einen Integrator enthalten, der so konfiguriert ist, dass er eine Abweichung zwischen dem vorgegebenen Befehl und dem Ausgang des Zielmodell-Controllers empfängt. Darüber hinaus kann der modellprädiktive Controller die modellprädiktive Regelung durchführen, indem er eine Ausgabe des Integrators empfängt, der die Abweichung empfangen hat. Das prädiktive Modell kann einen vorbestimmten Integrationsterm enthalten, der durch ein Produkt aus der Abweichung zwischen dem Ausgang des Zielmodell-Controllers und dem vorbestimmten Befehl und einer vorbestimmten integrierten Verstärkung ausgedrückt wird. Bei Verwendung dieser Konfiguration wird die modellprädiktive Steuerung bzw. Regelung auf der Grundlage der Abweichung durchgeführt. Folglich ist es möglich, eine stationäre Abweichung effektiv zu eliminieren, ohne eine nachfolgende transiente Reaktion auf einen vorbestimmten Befehl unnötig zu verschlechtern. Darüber hinaus zielt die obige Steuereinrichtung darauf ab, eine stationäre Abweichung (eine Abweichung im eingeschwungenen Zustand) zu eliminieren, indem ein vorbestimmter Integrationsterm in das prädiktive Modell aufgenommen wird. Somit kann diese Steuereinrichtung den Aufwand, der für den Entwurf des Steuersystems erforderlich ist, erheblich verringern, wodurch die Zieleinrichtung in geeigneter Weise nachgeregelt wird. Wenn ein Beobachter, der eine Störung schätzt, die eine stetige Abweichung verursachen kann, wie im Stand der Technik verwendet wird, ist es schwierig, die Parameter zu entwerfen, was eine relativ große Rechenlast erzeugt. Unter diesem Gesichtspunkt ist die obige Ausgestaltung der vorliegenden Erfindung ebenfalls effektiv.
  • In der obigen Steuereinrichtung kann, wenn ein Wert der Abweichung in einem vorbestimmten ersten Bereich einschließlich Null enthalten ist, die vorbestimmte integrierte Verstärkung so eingestellt werden, dass sie zunimmt, wenn die Abweichung abnimmt. Wenn der Wert der Abweichung nicht in dem vorbestimmten ersten Bereich enthalten ist, kann die vorbestimmte integrierte Verstärkung auf Null gesetzt werden. Wenn die Abweichung zunimmt, d. h. wenn der Ausgang der Zieleinrichtung stark vom vorgegebenen Sollwert abweicht, wird die vorgegebene integrierte Verstärkung so eingestellt, dass sie einen kleineren Wert annimmt, damit der Integralbetrag in der modellprädiktiven Regelung nicht übermäßig akkumuliert wird. Wenn die Abweichung abnimmt, wird die vorgegebene integrierte Verstärkung auf einen großen Wert eingestellt, so dass die auf dem integrierten Betrag basierende Servosteuerung bzw. -regelung in der modellprädiktiven Steuerung bzw. -Regelung gefördert wird. Die Steuereinrichtung führt die auf dem integrierten Betrag basierende Servoregelung in der modellprädiktiven Regelung, die die Einstellung der vorbestimmten integrierten Verstärkung beinhaltet, nur dann durch, wenn ein Wert der Abweichung in dem vorbestimmten ersten Bereich enthalten ist. Dadurch kann ein Überschwingen während eines Einschwingvorgangs in geeigneter Weise unterdrückt werden. Der vorbestimmte erste Bereich kann auf einen geeigneten Wert eingestellt werden, z. B. unter Berücksichtigung einer Fähigkeit, einem vorbestimmten Befehl und einem zulässigen Überschwingungsbetrag während der Servoregelung zu folgen.
  • Die obige Steuereinrichtung kann ferner eine Erfassungseinheit enthalten, die konfiguriert ist, um eine Position eines Hindernisses relativ zur Zieleinrichtung zu erfassen. Aus der vorbestimmten Auswertungsfunktion berechnete Stufenkosten können Zustandsgrößenkosten enthalten, die auf die vorbestimmte Zustandsvariable bezogene Stufenkosten sind, Steuereingabekosten, die auf die Steuereingabe bezogene Stufenkosten sind, und Hindernisstufenkosten, die auf ein Wahrscheinlichkeit-bezogenes Potentialfeld bezogen ist, das eine Wahrscheinlichkeit darstellt, dass ein Hindernis um die Zieleinrichtung herum vorhanden ist, und die auf der Grundlage einer vorbestimmten Auswerteposition berechnet wird. Wenn sich die Zieleinrichtung und das Hindernis in einem Annäherungszustand befinden, in dem entweder die Zieleinrichtung oder das Hindernis in einem vorbestimmten Annäherungsbereich enthalten ist, der auf die andere der Zieleinrichtung und des Hindernisses zentriert ist, kann der modellprädiktive Controller die Hindernisstufenkosten erzeugen, um die modellprädiktive Regelung durchzuführen. Wenn sich die Zieleinrichtung und das Hindernis nicht in dem Annäherungszustand befinden, kann der modellprädiktive Controller die modellprädiktive Steuerung bzw. Regelung durchführen, ohne die Hindernisstufenkosten zu erzeugen.
  • Wenn die Zieleinrichtung einem vorgegebenen Befehl folgt und sich ein Hindernis in der Nähe der Zieleinrichtung befindet, muss die Steuereinrichtung die Zieleinrichtung veranlassen, diesem Befehl zu folgen und gleichzeitig eine Kollision mit dem Hindernis angemessen vermeiden. Zu diesem Zweck verwendet die Steuereinrichtung die Erfassungseinheit, um die Position des Hindernisses zu ermitteln. Nachdem die Position des Hindernisses bekannt ist, enthält der modellprädiktive Controller zusätzlich zu den Zustandsgrößenkosten und den Steuereingabekosten die auf das Hindernis bezogenen Hindernisstufenkosten in den von der vorgegebenen Auswertungsfunktion für die modellprädiktive Regelung berechneten Stufenkosten. Auf diese Weise ist es möglich, bei der modellprädiktiven Regelung ein probabilistisches d.h. Wahrscheinlichkeits-bezogenes Potentialfeld in der Korrelation mit dem Hindernis zu aktivieren, um einem vorgegebenen Befehl zu folgen. Die Steuereinrichtung erzeugt die Hindernisstufenkosten, um das probabilistische Potentialfeld nur dann zu aktivieren, wenn sich die Zieleinrichtung und das Hindernis in einem Annäherungszustand befinden. Als Ergebnis wirkt eine abstoßende Kraft (eine Aktion des Wegbewegens der Zieleinrichtung), die durch das probabilistische Potentialfeld des Hindernisses gebildet wird, auf die Zieleinrichtung, so dass es möglich ist, die Zieleinrichtung zu veranlassen, das Hindernis zu vermeiden und die Verschlechterung der Nachfolgekapazität der Zieleinrichtung zu steuern, indem verhindert wird, dass die abstoßende Kraft unnötig auf die Zieleinrichtung wirkt.
  • In der obigen Steuereinrichtung kann ein erstes Potentialfeld, das eine Wahrscheinlichkeit repräsentiert, dass das Hindernis um die Zieleinrichtung herum vorhanden ist, für die Zieleinrichtung so eingestellt werden, dass es einer Form eines vorbestimmten Teils der Zieleinrichtung einschließlich eines Ausgangsteils der Zieleinrichtung entspricht und den vorbestimmten Teil umgibt. Das zweite Potentialfeld, das eine Wahrscheinlichkeit darstellt, dass die Zieleinrichtung um das Hindernis herum vorhanden ist, kann für das Hindernis so eingestellt werden, dass es einer Form des Hindernisses entspricht und das Hindernis zumindest teilweise umgibt. Wenn das erste Potentialfeld das zweite Potentialfeld zumindest teilweise überlappt, kann die modellprädiktive Steuerung bestimmen, dass sich die Zieleinrichtung und das Hindernis im Zustand der Nähe befinden, kann das probabilistische Potentialfeld auf jedes des ersten Potentialfeldes und des zweiten Potentialfeldes setzen, die auf der Grundlage der mindestens einen vorbestimmten Auswertungsposition berechnet wurden, die in einem überlappenden Bereich des ersten Potentialfeldes und des zweiten Potentialfeldes enthalten ist, und kann die Hindernisstufenkosten erzeugen, um die modellprädiktive Steuerung durchzuführen. Wenn das erste Potentialfeld das zweite Potentialfeld überhaupt nicht überlappt, kann die modellprädiktive Steuerung feststellen, dass sich das Zieleinrichtung und das Hindernis nicht im Annäherungszustand befinden, und kann die modellprädiktive Steuerung ohne Erzeugung der Hindernisstufenkosten durchführen. In der Offenbarung der vorliegenden Anwendung kann, wenn sie in einer zweidimensionalen Art und Weise eingestellt ist, jedes des ersten Potentialfelds und des zweiten Potentialfelds eine kreisförmige oder elliptische Form aufweisen. Bei einer dreidimensionalen Einstellung können das erste und das zweite Potentialfeld eine kreisförmige oder ellipsenförmige stereoskopische Form haben. Die Einstellung eines jeden Potentialfeldes in kreisförmiger oder elliptischer Form erleichtert die Bestimmung, ob sich die beiden Potentialfelder rechnerisch überschneiden.
  • Durch die Einstellung entsprechender Potentialfelder mit elliptischer Form für die Zieleinrichtung und das Hindernis können Potentialfelder entsprechend der Formen der Zieleinrichtung und des Hindernisses eingestellt werden. Dadurch kann unterdrückt werden, dass die Zieleinrichtung unnötig stark verschoben wird, um einem Hindernis auszuweichen. Darüber hinaus werden die Hindernisstufenkosten auf Basis einer vorgegebenen Auswertungsposition innerhalb eines Überlappungsbereichs erzeugt, in dem sich das erste Potentialfeld zumindest teilweise mit dem zweiten Potentialfeld überlappt. Dadurch kann in geeigneter Weise eine abstoßende Kraft zum Vermeiden einer Kollision mit dem Hindernis erzeugt werden.
  • Abhängig von der relativen Positionsbeziehung zwischen der Zieleinrichtung und dem Hindernis kann die Zieleinrichtung in einen Deadlock-Zustand (d.h. festgefahrenen bzw. blockierten Zustand) eintreten, in dem sie während der Servosteuerung in Bezug auf das Folgen eines vorbestimmten Befehls nicht reibungslos verschoben wird. Im Deadlock-Zustand kann die Zieleinrichtung dem vorbestimmten Befehl im Wesentlichen nicht folgen; daher verlässt die Steuereinrichtung den Deadlock-Zustand vorzugsweise schnell. Aus diesem Grund kann die Steuereinrichtung ferner einen Detektor umfassen, der so konfiguriert ist, dass er erkennt, dass sich die Zieleinrichtung in einem Deadlock-Zustand befindet.
  • Wenn der Detektor den Deadlock-Zustand erkennt, können das erste Potentialfeld und das zweite Potentialfeld oder beide deformiert werden. Dann kann der modellprädiktive Controller die modellprädiktive Regelung auf der Grundlage einer Überlappungsbeziehung zwischen dem verformten ersten Potentialfeld und dem zweiten Potentialfeld durchführen. Alternativ kann, wenn der Detektor den Deadlock-Zustand erkennt, ein oder mehrere neue Potentialfelder zu mindestens einem von der Zieleinrichtung und dem Hindernis hinzugefügt werden, wobei sich das eine oder die mehreren neuen Potentialfelder von dem ersten Potentialfeld oder dem zweiten Potentialfeld unterscheiden. Dann kann der modellprädiktive Controller die modellprädiktive Steuerung auf der Grundlage einer Überlappungsbeziehung zwischen einem neuen ersten Potentialfeld für die Zieleinrichtung und einem neuen zweiten Potentialfeld für das Hindernis durchführen, wobei einige oder alle des einen oder der mehreren neuen Potentialfelder zu dem neuen ersten Potentialfeld hinzugefügt werden und das verbleibende eine oder die verbleibenden des einen oder der mehreren neuen Potentialfelder zu dem neuen zweiten Potentialfeld hinzugefügt werden. Das Anpassen der eingestellten Potentialfelder für die Zieleinrichtung und das Hindernis, bevor und nachdem sich das Zieleinrichtung im Deadlock-Zustand befindet, kann erwartungsgemäß den Deadlock-Zustand auflösen.
  • In der Steuereinrichtung kann der modellprädiktive Controller so konfiguriert sein, dass er wiederholt eine vorbestimmte Operation in Übereinstimmung mit der vorbestimmten Auswertungsfunktion ausführt, um die Ausgabe des modellprädiktiven Controllers während der modellprädiktiven Steuerung zu erhalten. In diesem Fall, wenn die Anzahl der Male, die der modellprädiktive Controller wiederholt eine vorbestimmte Operation ausführt, um eine Ausgabe des modellprädiktiven Controllers während der modellprädiktiven Steuerung zu erhalten, eine Referenzanzahl von Malen überschreitet, kann der Detektor erkennen, dass sich die Zieleinrichtung im Zustand der Blockierung (Deadlock-Zustand) befindet. Die Tatsache, dass die Anzahl der vorbestimmten Operationen die Referenzanzahl überschreitet, bedeutet, dass die gemäß der vorbestimmten Auswertungsfunktion optimierte Steuereingabe in der modellprädiktiven Steuerung nicht zeitnah abgeleitet wird. In diesem Fall wird vernünftigerweise festgestellt, dass sich das Zieleinrichtung im Deadlock-Zustand befindet.
  • Als ein weiteres Verfahren kann der Detektor in der Steuereinrichtung, wenn sich die Zieleinrichtung und das Hindernis im Annäherungszustand befinden, in einem Fall, in dem der Rechner als Zielbefehl eine vorbestimmte komplexe Zahlenlösung, die eine imaginäre Zahl enthält, von der Ausgabe des Zielmodell-Controllers in Übereinstimmung mit der geometrischen Beziehung der Maschinenstruktur erhält, erkennen, dass die Zieleinrichtung in den Deadlock-Zustand versetzt ist. Die Tatsache, dass der Rechner eine vorbestimmte komplexe Zahlenlösung ermittelt, wenn sich die Zieleinrichtung und das Hindernis im Annäherungszustand befinden, bedeutet, dass die Zieleinrichtung aufgrund der geometrischen Beziehung der Maschinenstruktur dem vorbestimmten Befehl nicht ausreichend folgen kann. In diesem Fall wird vernünftigerweise festgestellt, dass die Zieleinrichtung in den Deadlock-Zustand versetzt ist.
  • WIRKUNG DER ERFINDUNG
  • Die modellprädiktive Steuerung ermöglicht die Zuführung eines Zielbefehls, um zu bewirken, dass ein Ausgang einer Zieleinrichtung in geeigneter Weise einem vorgegebenen Befehl folgt.
  • Figurenliste
    • 1(a) ist ein Diagramm einer schematischen Konfiguration eines Steuersystems, das einen Standard-PLC enthält, der als eine Steuereinrichtung dient; 1(b) ist eine schematische Konfiguration eines Roboterarms, der durch das Steuersystem servogesteuert werden soll.
    • 2 ist ein erstes Diagramm, das hauptsächlich eine Steuerungsstruktur des Standard-PLC in einer Ausführungsform darstellt.
    • 3 ist ein erklärendes Diagramm einer geometrischen Beziehung einer Maschinenstruktur eines Roboterarms.
    • 4 ist ein zweites Diagramm, das hauptsächlich die Steuerungsstruktur des Standard-PLC in der Ausführungsform darstellt.
    • 5(a) und 5(b) sind erste Diagramme, die jeweils die Bewegung des Roboterarms veranschaulichen, der gemäß einem Befehl des Standard-PLC gesteuert wird.
    • 6(a) und 6(b) sind zweite Diagramme, die jeweils die Bewegung des Roboterarms veranschaulichen, der gemäß dem Befehl von dem Standard-PLC gesteuert wird.
    • 7(a), 7(b) und 7(c) sind jeweils dritte Diagramme, die die Bewegung des Roboterarms veranschaulichen, der gemäß dem Befehl des Standard-PLC gesteuert wird.
    • 8(a) und 8(b) sind jeweils vierte Diagramme, die die Bewegung des Roboterarms zeigen, der gemäß dem Befehl des Standard-PLC gesteuert wird.
    • 9(a) und 9(b) sind jeweils fünfte Diagramme, die die Bewegung des Roboterarms zeigen, der gemäß dem Befehl des Standard-PLC gesteuert wird.
    • 10 ist ein erklärendes Diagramm zur Einstellung eines probabilistischen Potentialfeldes.
  • AUSFÜHRUNGSFORMEN DER ERFINDUNG
  • <Anwendungsbeispiel>
  • Einige Anwendungsbeispiele einer Steuereinrichtung gemäß einer Ausführungsform werden unter Bezugnahme auf die 1(a) bis 3 beschrieben. 1(a) ist ein schematisches Konfigurationsdiagramm des Steuersystems. Dieses Steuersystem umfasst ein Netzwerk 1, einen Servotreiber 4 und einen standardmäßigen programmierbaren Controller (Programmable Logic Controller, PLC) 5. Der Servotreiber 4 ist eine Servo-Steuereinrichtung, die einen Roboterarm 6 mit zwei Motoren 2a und 2b, die mit zwei Steuerachsen (Gelenken) verbunden sind, servosteuert. Das in 1 dargestellte Steuersystem ist so konfiguriert, dass ein einziger Servotreiber 4 zwei Steuerachsen (Motoren) ansteuern kann. Anstelle dieser Konfiguration kann das Steuersystem auch eine Konfiguration verwenden, bei der der Servotreiber 4 für die jeweiligen Steuerachsen angeordnet und über das Netzwerk 1 miteinander verbunden sind. Der Standard-PLC 5 liefert einen Zielbefehl an den Servotreiber 4, um den Roboterarm 6 anzutreiben und zu steuern. Dabei entspricht der Roboterarm 6 einer Zieleinrichtung und der Standard-PLC 5 einer Steuereinrichtung.
  • In dem obigen Steuersystem steuert der Servotreiber 4 den Roboterarm 6 durch Verwendung eines Zielbefehls, der von dem Standard-PLC 5 zugeführt wird, so, dass eine Ausgabe des Roboterarms 6 einem vorbestimmten Befehl folgt. Nachdem er mit dem Zielbefehl versorgt wurde, empfängt der Servotreiber 4 Rückmeldesignale, die von den an die Motoren 2a und 2b angeschlossenen Encodern ausgegeben werden, und führt Antriebsströme an die Motoren 2a und 2b, so dass der Ausgang des Roboterarms 6 dem vorgegebenen Befehl folgt. Jeder dieser Antriebsströme kann aus Wechselstrom (AC) erzeugt werden, den ein AC-Netzteil an den Servotreiber 4 liefert. In dieser Ausführungsform kann der Servotreiber 4 von einem Typ sein, der einen dreiphasigen Wechselstrom empfängt; er kann jedoch auch von einem Typ sein, der einphasigen Wechselstrom empfängt. In dieser Anwendung ist die Ausbildung der vom Servotreiber 4 durchgeführten Rückkopplungssteuerung bzw. -regelung nicht auf eine bestimmte Ausbildung beschränkt. Da eine Ausgestaltung des Servotreibers 4 nicht Kern der vorliegenden Erfindung ist, wird auf eine detaillierte Offenbarung desselben verzichtet.
  • 1(b) offenbart eine schematische Konfiguration des Roboterarms 6. In dem Roboterarm 6 ist ein Ende eines ersten Arms 3a mit einer Ausgangswelle des Motors 2a gekoppelt, so dass der Motor 2a als ein erstes Gelenk wirkt, das den ersten Arm 3a drehend antreibt. Der Motor 2b ist am anderen Ende des ersten Arms 3a angeordnet, und ein Ende eines zweiten Arms 3b ist mit einer Ausgangswelle des Motors 2b gekoppelt, so dass der Motor 2b als ein zweites Gelenk wirkt, das den zweiten Arm 3b drehend antreibt. Der zweite Arm 3b weist ein Ende 3c auf, das als ein Ausgangsabschnitt des Roboterarms 6 dient und an dem z. B. ein Endeffektor befestigt ist, der ein vorbestimmtes Objekt ergreift. In dem Roboterarm 6 liegen die Rotationsebenen, die durch den ersten Arm 3a und den zweiten Arm 3b gebildet werden, auf einer Ebene. Um die Rotationsebenen zu definieren, werden die Achsen x1 und x2 als orthogonale Koordinaten festgelegt. Diese orthogonalen Koordinaten entsprechen Arbeitskoordinaten bezogen auf den Roboterarm 6, auf denen eine Position des Endes 3c des Roboterarms 6 definiert ist.
  • Jeder der im Roboterarm 6 angeordneten Motoren 2a und 2b kann z. B. ein AC-Servomotor sein. Die Motoren 2a und 2b sind mit Encodern (nicht dargestellt) versehen, die Parametersignale (Positionssignale), die sich auf den Betrieb der Motoren 2a und 2b beziehen, an den Servotreiber 4 übertragen und zurückführen; die Parametersignale werden dort zur Rückkopplungssteuerung verwendet.
  • Anhand von 2 wird eine Steuerungsstruktur des Standard-PLC 5 beschrieben. Der Standard-PLC 5 erzeugt einen Zielbefehl bezüglich der Bewegung des Roboterarms 6 und liefert diesen Zielbefehl an den Servotreiber 4. Der Standard-PLC 5 enthält Funktionseinheiten: einen Befehlsgenerator 50, eine Zustandserfassungseinheit 52, einen modellprädiktiven Controller 53, einen Zielmodell-Controller 56, einen Rechner 57 und eine Zuführungseinheit 58. Diese Funktionseinheiten berechnen und führen einzelne Prozesse mit einer in dem Standard-PLC 5 eingebauten arithmetischen Verarbeitungseinheit aus. In der in 2 dargestellten Steuerungsstruktur erzeugt der Befehlsgenerator 50 einen vorgegebenen Befehl, der mit xf bezeichnet wird; der Zielmodell-Controller 56 empfängt einen Steuereingang, der mit u bezeichnet ist.
  • Der Befehlsgenerator 50 erzeugt den vorbestimmten Befehl xf, der von dem Ende 3c des Roboterarms 6 zu befolgen ist. Der Befehl xf basiert auf dem auf den Roboterarm 6 bezogenen Arbeitskoordinatensystem (siehe 1 (b)) und wird für die modellprädiktive Steuerung verwendet, die von dem nachstehend noch beschriebenen modellprädiktiven Controller 53 durchgeführt wird. Der Zielmodell-Controller 56 weist ein Zielmodell mit einer Trägheit auf, die einem prädiktiven Modell entspricht, in dem der Roboterarm 6 modelliert wird, und verwendet dieses Zielmodell, um einen Ausgang (die Position des Endes 3c usw.) des Roboterarms 6 zu simulieren. Dann gibt der Zielmodell-Controller 56 das Simulationsergebnis aus, das mit y bezeichnet wird. Der Zielmodell-Controller 56 überträgt die Ausgabe y an den Rechner 57, der nachstehend noch beschrieben wird.
  • Nun werden die Zustandserfassungseinheit 52 und der modellprädiktive Controller 53 beschrieben. Die Zustandserfassungseinheit 52 ermittelt eine Zustandsvariable, die in einem Zustand x enthalten ist, der einem Zielmodell (einem Zielmodell, das der Zielmodell-Controller 56 besitzt) in Bezug auf den Roboterarm 6 zugeordnet ist; die Zustandsvariable wird für die modellprädiktive Regelung verwendet, die von dem modellprädiktiven Controller 53 durchgeführt wird. Dieses Zielmodell basiert auf einem Ein-Trägfheitsmodell (one-inertia Modell) in einem Arbeitskoordinatensystem (einem zweidimensionalen Arbeitskoordinatensystem in dem in 1(b) dargestellten Beispiel), das sich auf die Bewegung des Roboterarms 6 bezieht (wenn sich der Roboterarm 6 jedoch dreidimensional bewegt, ist das Arbeitskoordinatensystem ein dreidimensionales Arbeitskoordinatensystem). Diese Zustandsvariable basiert auf dem Arbeitskoordinatensystem (siehe 1 (b)) bezogen auf den Roboterarm 6. Dann verwendet der modellprädiktive Controller 53 den auf den Roboterarm 6 bezogenen Zustand x, den die Zustandserfassungseinheit 52 erfasst hat, und die Steuereingabe u, die der modellprädiktive Controller 53 selbst an den Zielmodell-Controller 56 ausgegeben hat, um die modellprädiktive Steuerung bzw. Regelung (Regelung mit zurückgehendem Horizont; „receding horizon“ Regeliung) durchzuführen.
  • Genauer gesagt weist die modellprädiktive Steuerung 53 ein prädiktives Modell d.h. Vorhersagemodell auf, in dem die Korrelation zwischen dem Zustand x, der sich auf das Zielmodell bezieht, und der Steuereingabe u an den Roboterarm 6 durch die folgende Zustandsgleichung (Gleichung 1) definiert ist. Ähnlich wie das obige Zielmodell gibt das in Gleichung 1 ausgedrückte prädiktive Modell die vorgegebenen physikalischen Eigenschaften des Roboterarms 6 nicht getreu wieder. Vielmehr ist das Vorhersagemodell ein Ein-Trägheits-Modell („one-inertia“ Modell), das auf der Annahme beruht, dass der Roboterarm 6 ein Ein-Trägheitssystem hat, das sich auf jede der Achsen x1 und x2 bezieht, die auf dem obigen Arbeitskoordinatensystem basieren. Kurz gesagt kann dieses Ein-Trägheits-Modell erhalten werden, indem die geometrische (strukturelle) Beziehung zwischen dem ersten Gelenk und dem zweiten Gelenk im Roboterarm 6 eliminiert wird und eine geeignete Einzelmasse gesetzt wird, die den Roboterarm 6 repräsentiert, der auf jeder der Achsen, die das Arbeitskoordinatensystem definieren, angetrieben wird. Dabei kann die geeignete Masse die Gesamtmasse des Roboterarms 6 selbst sein oder auf eine Masse gesetzt werden, die geringfügig größer ist als die Gesamtmasse des Roboterarms 6, um eine Sättigung eines Arbeitsbetrags des Roboterarms 6 während der Servosteuerung zu vermeiden. Das Einstellen eines Ein-Trägheitsmodells in Bezug auf die Arbeitskoordinatenachse sowohl im Zielmodell als auch im Vorhersagemodell auf diese Weise kann eine Prozesslast in Bezug auf die modellprädiktive Steuerung zur Erzeugung einer Zieltrajektorie des Roboterarms 6 verringern.
    [Gleichung 1] x ˙ ( t ) = P ( x ( t ) , u ( t ) ) = [ x ˙ 1 x ˙ 2 x ¨ 1 M x ¨ 2 M ]
    Figure DE112020000380T5_0001
  • In Gleichung 1 steht M für die Gesamtmasse des Roboterarms 6, die der voranstehend beschriebenen „geeigneten Masse“ entspricht.
  • Der modellprädiktive Controller 53 empfängt den auf das Zielmodell bezogenen Zustand x und die Steuereingabe u an den Roboterarm 6 und führt dann die modellprädiktive Steuerung innerhalb der prädiktiven Zone mit einer vorbestimmten Zeitbreite T auf der Grundlage des in Gleichung 1 ausgedrückten prädiktiven Modells und in Übereinstimmung mit der in Gleichung 2 nachstehend ausgedrückten Auswertungsfunktion durch.
    [Gleichung 2] J = φ ( x ( t + T ) ) + t t + T L ( x ( τ ) , u ( τ ) ) d τ
    Figure DE112020000380T5_0002
  • Der erste Term auf der rechten Seite von Gleichung 2 oben ist ein Endkostenwert, während der zweite Term auf der rechten Seite ein Stufenkostenwert ist. Diese Stufenkosten können in Gleichung 3 unten ausgedrückt werden.
    [Gleichung 3] L = 1 2 ( ( x r e f x ) T ( k ) Q ( x r e f x ) ( k ) + ( u r e f u ) T ( k ) R ( u r e f u ) ( k ) )
    Figure DE112020000380T5_0003
    wobei xref(k) eine Soll-Zustandsgröße zum Zeitpunkt k, x(k) eine berechnete Zustandsgröße zum Zeitpunkt k und uref(k) eine stationäre Ziel-Steuereingabe zum Zeitpunkt k, und u(k) eine rechnerische Steuereingabe zum Zeitpunkt k bezeichnen. Außerdem bezeichnet Q einen Koeffizienten (Gewichtskoeffizienten), der das Gewicht der Zustandsgröße in den Stufenkosten darstellt, und R einen Koeffizienten (Gewichtskoeffizienten), der das Gewicht der Steuereingabe darstellt. Daher stellt der erste Term auf der rechten Seite von Gleichung 3 die Stufenkosten dar, die als „Zustandsgrößekosten“ bezeichnet werden und sich auf die Zustandsgröße beziehen, und der zweite Term auf der rechten Seite stellt die Stufenkosten dar, die als „Steuereingangskosten“ bezeichnet werden und sich auf den Steuereingang beziehen.
  • Der modellprädiktive Controller 53 gibt den Wert der Steuereingabe u zum Anfangszeitpunkt t innerhalb der prädiktiven Zone, die unter der modellprädiktiven Regelung auf der Grundlage des Vorstehenden berechnet wird, als die Steuereingabe u an den Zielmodell-Controller 56 aus, die dem Befehl xf zum Zeitpunkt t entspricht. Unter der modellprädiktiven Regelung setzt der modellprädiktive Controller 53 eine prädiktive Zone mit einer vorbestimmten Zeitbreite T zu jedem Steuerzeitpunkt. Dann berechnet der modellprädiktive Controller 53 die Steuereingabe u, die dem Zielmodell-Controller 56 zu jedem Steuerzeitpunkt zugeführt werden soll, in Übereinstimmung mit der Auswertungsfunktion von Gleichung 2 und überträgt dann die Steuereingabe u an den Zielmodell-Controller 56. Die Frage, wie der Betriebsbetrag zu bestimmen ist, um den der Wert der Auswertungsfunktion J in Form von Gleichung 2 optimiert wird, ist eine Frage, die allgemein als optimales Steuerungsproblem bekannt ist. Ein Algorithmus zur Berechnung der numerischen Lösung ist als bekannte Technik offenbart. Ein Beispiel für solche Techniken ist ein kontinuierliches Transformationsverfahren, deren Einzelheiten beispielsweise in dem bekannten Dokument mit dem Titel „a continuation/GMRES method for fast computation of nonlinear receding horizon control‟, verfasst von Toshiyuki Otsuka, in Automatica, Vol. 40, Seiten 563- 574, 2004) offenbart sind.
  • Bei dem kontinuierlichen Transformationsverfahren wird der Eingang U (t) in der modellprädiktiven Steuerung durch Lösen der simultanen linearen Gleichung berechnet, die sich auf den Eingang U (t) bezieht und in Gleichung 4 unten ausgedrückt wird. Genauer gesagt wird Gleichung 4 gelöst und dU/dt wird numerisch integriert, so dass der Eingang U (t) aktualisiert wird. Bei dem kontinuierlichen Transformationsverfahren, wie oben beschrieben, wird die iterative Berechnung nicht durchgeführt; daher kann der Rechenaufwand für die Berechnung des Eingangs U (t) zu jedem Zeitpunkt sofort reduziert werden.
    [Gleichung 4] F U U ˙ = ζ F F x x ˙ F t
    Figure DE112020000380T5_0004
    wobei F und U (t) durch Gleichung 5 unten ausgedrückt werden.
    [Gleichung 5] F ( U ( t ) , x ( t ) , t ) = [ H u ( x 0 ( t ) , u 0 ( t ) , λ 1 ( t ) , μ 0 ( t ) ) C ( x 0 ( t ) , u 0 ( t ) ) H u ( x N _ 1 ( t ) , u N _ 1 ( t ) , λ N ( t ) , μ N _ 1 ( t ) ) C ( x N _ 1 ( t ) , u N _ 1 ( t ) ) ] U ( t ) = [ u 0 ( t ) T , μ 0 ( t ) T , , u N _ 1 ( t ) T , μ N _ 1 ( t ) T ]
    Figure DE112020000380T5_0005
    wobei H den Hamiltonianer, λ einen Co-Zustand (oder gemeinsamen Zustand) und µ den Lagrange-Multiplikator mit der Nebenbedingung C = 0 bezeichnet.
  • Als nächstes wird der Rechner 57 beschrieben. Der Zielmodell-Controller 56 empfängt die Steuereingabe u und erzeugt eine Ausgabe d.h. einen Ausgang y auf der Grundlage des in 1(b) dargestellten Arbeitskoordinatensystems. Andererseits sind die Motoren 2a und 2b, die den Roboterarm 6 bilden, rotationsgetriebene Aktuatoren. Für jeden Motor ist ein rotierendes Koordinatensystem, das ein unabhängiges, vom Arbeitskoordinatensystem verschiedenes Koordinatensystem ist, so eingestellt, dass der Servotreiber 4 die Servosteuerung durchführt. Somit kann der Ausgang y selbst nicht als Zielbefehl für die Ansteuerung der Motoren 2a und 2b verwendet werden. Aus diesem Grund führt der Rechner 57 einen Berechnungsprozess zur Umwandlung des Ausgangs y des Zielmodell-Controllers 56 in einen Zielbefehl basierend auf dem rotierenden Koordinatensystem für jeden Motor durch.
  • Der Rechner 57 führt den Berechnungsvorgang entsprechend der geometrischen Beziehung der Maschinenstruktur des Roboterarms 6 durch. In 3 ist die Maschinenstruktur des Roboterarms 6 dargestellt. In 3 ist zu beachten, dass das erste Gelenk, an dem der Motor 2a angeordnet ist, der einfachen Erklärung halber im Ursprung des Arbeitskoordinatensystems positioniert ist. Wenn die geometrische Beziehung der Maschinenstruktur des Roboterarms 6 unter der Bedingung betrachtet wird, dass die Länge des ersten Arms 3a mit L1 bezeichnet wird, die Länge des zweiten Arms 3b mit L2 bezeichnet wird und die Position des Endes 3c mit (x1, x2) bezeichnet wird, können die Drehwinkel θ1 und θ2 der Motoren 2a und 2b in der folgenden Gleichung 6 ausgedrückt werden. Der Drehwinkel θ1 des Motors 2a ist als der Winkel zwischen der Achse x1 und dem ersten Arm 3a definiert, während der Drehwinkel θ2 des Motors 2b als der Winkel zwischen dem ersten Arm 3a und dem zweiten Arm 3b definiert ist.
    [Gleichung 6] θ 2 = a t a n 2 ( ± ( 2 L 1 L 2 ) 2 { L 0 2 ( L 1 2 + L 2 2 ) } 2 2 L 1 L 2 , L 0 2 ( L 1 2 + L 2 2 ) 2 L 1 L 2 ) mit  L 0 2 = x 1 2 + x 2 2 θ 1 = a t a n 2 ( k s x 1 + k c x 2 k c 2 + k s 2 , k c x 1 + k s x 2 k c 2 + k s 2 ) mit k c = L 1 + L 2 c o s θ 2 k s = L 2 s i n θ 2
    Figure DE112020000380T5_0006
  • In Gleichung 6 ist die Funktion atan2 eine Funktion, durch die das Argument von (x, y) in dem kartesischen Koordinatensystem zurückgegeben wird, wenn die Funktion durch atan2 (x, y) ausgedrückt wird.
  • Auf diese Weise sind θ1 und θ2, die der Rechner 57 aus dem Ausgang y des Zielmodell-Controllers 56 berechnet, Zielbefehle bezüglich der Positionen (Winkel) der jeweiligen Motoren und eignen sich für die Servoregelung der Motoren 2a und 2b. Daher liefert der Rechner 57 das Berechnungsergebnis über die Zuführungseinheit 58 an den Servotreiber 4; dieses Berechnungsergebnis wird dort für die Servorsteuerung (Rückkopplungssteuerung) verwendet. In dem Steuersystem dieser Ausführungsform führt der Standard-PLC 5, wie oben beschrieben, die modellprädiktive Steuerung durch, basierend auf dem auf den Roboterarm 6 bezogenen Arbeitskoordinatensystem. Folglich kann die Ausgabe des Roboterarms 6 einfach und angemessen einem vorgegebenen Befehl xf folgen, der ebenfalls auf dem Arbeitskoordinatensystem basiert. Darüber hinaus führt der Rechner 57 den obigen Berechnungsprozess durch, durch den das Ergebnis der modellprädiktiven Steuerung auf der Basis des Arbeitskoordinatensystems in Zielbefehle umgewandelt wird, die für die Servosteuerung der Motoren 2a und 2b auf der Basis des rotierenden Koordinatensystems geeignet sind. In diesem Fall basiert der Berechnungsprozess auf der geometrischen Beziehung der Maschinenstruktur des Roboterarms 6. Somit kann dieser Berechnungsprozess das Auftreten eines Ausgangsfehlers (Positionsfehlers) des Roboterarms 6, der durch eine Akkumulation von Berechnungsfehlern verursacht werden kann, in geeigneter Weise vermeiden. Dieses Merkmal ist im Hinblick auf eine Nachlauffähigkeit des Roboterarms 6 wesentlich wirksam.
  • <Erstes Konfigurationsbeispiel>
  • Eine Steuerstruktur eines Standard-PLC 5 gemäß diesem Konfigurationsbeispiel wird unter Bezugnahme auf 4 beschrieben. Der Standard-PLC 5 in diesem Konfigurationsbeispiel ähnelt derjenigen in dem obigen Anwendungsbeispiel, indem er einen modellprädiktiven Controller 53 enthält, der eine modellprädiktive Regelung durchführt. In diesem Fall erhält jedoch eine Zustandserfassungseinheit 52 einen Ausgang z des Integrators 51 und verwendet den Ausgang z für die modellprädiktive Regelung. Genauer gesagt empfängt ein Integrator 51 einen vorgegebenen Befehl xf von einem Befehlsgenerator 50 und empfängt auch einen Ausgang y eines Zielmodell-Controllers 56, der von einem Rückkopplungssystem zurückgeführt wird, und liefert dann eine Abweichung e (e = xf - y) zwischen dem Befehl xf und dem Ausgang y. Dann überträgt der Integrator 51 den Ausgang z über die Zustandserfassungseinheit 52 an den modellprädiktiven Controller 53. Auf diese Weise addiert die Zustandserfassungseinheit 52 den Ausgang z zu der obigen, auf den Roboterarm 6 bezogenen Zustandsvariablen; diese Zustandsvariable wird für die von dem modellprädiktiven Controller 53 durchgeführte modellprädiktive Regelung bzw. Steuerung verwendet.
  • Unter Berücksichtigung der Steuer- bzw. Regelstruktur mit dem Integrator 51 kann das prädiktive Modell, über das der modellprädiktive Controller 53 in dieser Konfiguration verfügt, z. B. in Gleichung 7 unten dargestellt werden.
    [Gleichung 7] x ˙ ( t ) = P ( x ( t ) , u ( t ) )             = [ x ˙ 1 x ˙ 2 x ¨ 1 M x ¨ 2 M ( x f 1 x 1 ) K i ( x f 2 x 2 ) K i ]
    Figure DE112020000380T5_0007
  • In Gleichung 7 bezeichnen xf1 und xf2 die Zielpositionen auf den Achsen x1 und x2 in dem Arbeitskoordinatensystem.
  • In Gleichung 7 stellt (Xf - y) die Abweichung e dar. Es kann verstanden werden, dass das obige Vorhersagemodell d.h. Prädiktionsmodell einen integralen Term enthält, der durch das Produkt aus der Abweichung e (Xf - y) und der integrierten Verstärkung Ki dargestellt wird. Die integrierte Verstärkung Ki entspricht einer vorgegebenen integrierten Verstärkung. Unter Verwendung dieser Gleichung kann auf einfache Weise ein integraler Betrag eingestellt werden, der sich auf eine Nachfolgefähigkeit bezieht, die für den im Anwendungsbeispiel beschriebenen vorbestimmten Befehl xf in einem Prozess geeignet ist, den der Standard-PLC 5 unter Verwendung der modellprädiktiven Steuerung ausführt. Auf diese Weise ist es möglich, auf einfache Weise eine Fähigkeit zu verbessern, um dem vorbestimmten Befehl xf mit reduziertem Überschwingen zu folgen, ohne einen konventionellen Störungsbeobachter zu verwenden, der eine schwierige Anpassung erfordert, wie z. B. eine Erweiterung eines Störungsmodells oder eine Auslegung einer Beobachterverstärku ng.
  • Die integrierte Verstärkung Ki des integralen Terms, der in dem in Gleichung 7 ausgedrückten Vorhersagemodell enthalten ist, kann basierend auf der Abweichung e angepasst werden. Wenn z. B. der Betrag der Abweichung e gleich oder größer als ein vorgegebenes e0 ist, wird die integrierte Verstärkung Ki auf Null gesetzt. Wenn die Größe der integrierten Verstärkung Ki im Bereich unter e0 liegt, wird die integrierte Verstärkung Ki auf einen Wert größer als Null und kleiner als Eins gesetzt. Wenn der Betrag der Abweichung e sich Null nähert, kann der Übergang der integrierten Verstärkung Ki so eingestellt werden, dass sich der Wert der integrierten Verstärkung Ki sprunghaft Eins nähert. Wenn der Betrag der Abweichung e Null wird, kann der Übergang der integrierten Verstärkung Ki so eingestellt werden, dass die integrierte Verstärkung Ki 1 wird. Auf diese Weise wird die integrierte Verstärkung Ki auf der Grundlage der Größe der Abweichung e eingestellt. Wenn sich also der Ausgang y des Zielmodell-Controllers 56 relativ stark von dem Befehl xf unterscheidet, wird der Wert der integrierten Verstärkung Ki auf einen kleinen Wert eingestellt. Folglich wird die Einstellung so vorgenommen, dass der integrierte Betrag zur Verbesserung der Nachfolgefähigkeit nicht versehentlich akkumuliert wird. Wenn der Abweichungsbetrag zwischen dem Ausgang y des Zielmodell-Controllers 56 und dem Befehl xf abnimmt, d.h. wenn die Größe der Abweichung e abnimmt, wird der Wert der integrierten Verstärkung Ki stark angepasst, so dass die Nachfolgefähigkeit des Roboterarms 6 wirksam verbessert wird.
  • Es wird nun ein weiterer Aspekt der Einstellung der integrierten Verstärkung Ki beschrieben. In diesem Aspekt wird die integrierte Verstärkung Ki ebenfalls so eingestellt, dass der Wert der integrierten Verstärkung Ki zunimmt, wenn die Größe der Abweichung e abnimmt. Der Integrationsprozess unter Verwendung der integrierten Verstärkung Ki wird jedoch nur durchgeführt, wenn eine vorgegebene Bedingung erfüllt ist.
  • In dieser Ausführungsform wird als die obige vorbestimmte Bedingung, wenn der Wert der Abweichung e in einen vorbestimmten ersten Bereich einschließlich Null fällt, die integrierte Verstärkung Ki eingestellt, und in Übereinstimmung mit der eingestellten integrierten Verstärkung Ki wird der Integrationsprozess durchgeführt. Wenn der Wert der Abweichung e außerhalb des vorbestimmten ersten Bereichs liegt, wird die integrierte Verstärkung Ki auf Null gesetzt, und der Integrationsprozess wird im Wesentlichen nicht durchgeführt. Wenn der Ausgang des Zielmodell-Controllers 56 in einer zweidimensionalen Form vorliegt, kann der vorbestimmte erste Bereich beispielsweise als eine abwärts konvexe Funktion f(x) definiert werden. In diesem Fall wird die obige integrierte Verstärkung Ki in der folgenden Weise eingestellt, so dass die Einstellung der integrierten Verstärkung Ki erreicht wird: K i = α ( | f ( x ) | f ( x ) ) ,
    Figure DE112020000380T5_0008
    wobei α einen vorgegebenen Koeffizienten bezeichnet.
  • Wenn die integrierte Verstärkung Ki auf diese Weise als Funktion ausgedrückt wird, kann der numerische Wert der integrierten Verstärkung Ki (z. B. Ki = 0) eingestellt werden, ohne dass ein Zustandsbestimmungsprozess in einem Programmprozess der modellprädiktiven Steuerung unter Verwendung des obigen kontinuierlichen Transformationsverfahrens durchgeführt wird. Dadurch kann auf einfache Weise ein Programm für die modellprädiktive Regelung gemäß den obigen Gleichungen 4 und 5 erzeugt werden.
  • Alternativ kann der vorgegebene erste Bereich auch durch eine aufwärts konvexe Funktion f(x) definiert werden. In diesem Fall kann die integrierte Verstärkung Ki auf folgende Weise eingestellt werden: K i = α ( | f ( x ) | + f ( x ) ) .
    Figure DE112020000380T5_0009
  • Die obige technische Idee ist auch auf einen Fall anwendbar, in dem die Ausgabe des Zielmodell-Controllers 56 in einer dreidimensionalen oder anderen mehrdimensionalen Form vorliegt.
  • Wenn die Ausgabe d.h. der Ausgang des Zielmodell-Controllers 56 in einer zweidimensionalen Form vorliegt, kann unter der Annahme, dass der vorbestimmte erste Bereich durch einen Kreis mit einem vorbestimmten Radius (r) und einem Mittelpunkt an einer Zielposition auf den Achsen x1 und x2 im Arbeitskoordinatensystem definiert ist, die integrierte Verstärkung Ki gemäß der nachstehen als Beispiel angegebenen Gleichung 8 eingestellt werden.
    [Gleichung 8] K i = 1 2 r 2 ( | ( x f 1 x 1 ) 2 + ( x f 2 x 2 ) 2 r 2 | ( ( x f 1 x 1 ) 2 + ( x f 2 x 2 ) 2 r 2 ) )
    Figure DE112020000380T5_0010
  • Gemäß Gleichung 8 wird die integrierte Verstärkung Ki eingestellt, wenn sich der Ausgang des Zielmodell-Controllers 56 innerhalb eines Kreises befindet, dessen Mittelpunkt eine Zielposition (xf1, xf2) und ein vorgegebener Radius r ist, d. h. wenn die Abweichung e innerhalb des vorgegebenen ersten Bereichs liegt. Wenn der Ausgang des Zielmodell-Controllers 56 außerhalb des Kreises liegt, d. h. wenn die Abweichung e außerhalb des vorgegebenen ersten Bereichs liegt, wird die integrierte Verstärkung Ki auf Null gesetzt. Als Ergebnis wird der Integrationsprozess in der modellprädiktiven Steuerung in einem begrenzten Bereich durchgeführt, was ein Auftreten von Überschwingen, das durch unnötige Akkumulation eines Integralbetrags verursacht werden kann, angemessen unterdrücken kann.
  • In diesem Konfigurationsbeispiel ist eine Erfassungseinheit 54 innerhalb der Steuerstruktur des Standard-PLC 5 gebildet. Wenn der Roboterarm 6 so gesteuert wird, dass er dem Befehl xf folgt, muss der Roboterarm 6 eine Kollision mit dem Hindernis vermeiden, wenn ein Hindernis um den Roboterarm 6 herum vorhanden ist. In diesem Fall kann sich das Hindernis bewegen oder nicht. Zu diesem Zweck erfasst die Erfassungseinheit 54 Informationen, die notwendig sind, um die Kollision zwischen dem Roboterarm 6 und dem Hindernis zu vermeiden. Genauer gesagt erfasst die Erfassungseinheit 54 vorbestimmte Parameter bezüglich des Hindernisses, das aus einem von einer Kamera 8 aufgenommenen Bild erkannt wird. Zu den vorbestimmten Parametern gehören die Position des Hindernisses und die Richtung, in der sich das Hindernis auf den Roboterarm 6 zubewegt. Wenn beispielsweise ein Bereich in einem von der Kamera 8 aufgenommenen Bild im Voraus bekannt ist, kann die Erfassungseinheit 54 eine Position des Hindernisses mit einer konventionellen Technik erfassen, wie z. B. der, das aufgenommene Bild einer Bildverarbeitung zu unterziehen. Um die Bewegungsrichtung des Hindernisses in Richtung des Roboterarms 6 zu bestimmen, berechnet die Erfassungseinheit 54 außerdem die Bewegungsrichtung aus den erfassten vergangenen und aktuellen Positionen des Hindernisses und gewinnt eine Bewegungsrichtung aus einer Korrelation zwischen den Bewegungsrichtungen des Hindernisses und des Roboterarms 6.
  • Um die Kollision zwischen dem Roboterarm 6 und dem Hindernis zu vermeiden, berechnet die modellprädiktive Steuerung 53 ein probabilistisches d.h. Wahrscheinlichkeits-bezogenes Potentialfeld, das eine Wahrscheinlichkeit repräsentiert, dass ein Hindernis um den Roboterarm 6 herum vorhanden ist, basierend auf den von der Erfassungseinheit 54 erfassten Informationen, und reflektiert dann dieses probabilistische Potentialfeld in der modellprädiktiven Steuerung. Das Verfahren zur Berechnung des probabilistischen Potentialfeldes ist eine bekannte Technik: Beispielsweise kann die modellprädiktive Steuerung 53 das probabilistische Potentialfeld mit der in JP-A-2003-241836 beschriebenen Technik berechnen. Genauer gesagt spiegelt der modellprädiktive Controller 53 das obige probabilistische Potentialfeld in den Stufenkosten in der modellprädiktiven Steuerung bzw. Regelung wider (der zweite Term auf der rechten Seite der obigen Gleichung 2 entspricht den Stufenkosten), und zwar gemäß der folgenden Gleichung 9.
    [Gleichung 9] L = 1 2 ( ( x r e f x ) T ( k ) Q ( x r e f x ) ( k ) + ( u r e f u ) T ( k ) R ( u r e f u ) ( k ) + J p ) J p = 0.2 exp ( O D ) O D = ( x d 1 x 1 ) 2 + ( x d 2 x 2 ) 2
    Figure DE112020000380T5_0011
    wobei OD den Abstand zwischen einer Position (xd1, xd2) des Hindernisses und einer Position (x1, x2) des Endes 3c des Roboterarms 6 bezeichnet, Jp das probabilistische Potentialfeld des Hindernisses bezeichnet, und L die Stufenkosten bezeichnet. In den obigen Stufenkosten L entspricht der dritte Term auf der rechten Seite den Stufenkosten des Hindernisses.
  • Auf diese Weise spiegelt der modellprädiktive Controller 53 das dem Hindernis zugeschriebene probabilistische Potentialfeld in einer vorgegebenen Auswertungsfunktion in der modellprädiktiven Regelung wider und ermöglicht dadurch sowohl eine Verbesserung der Nachlauffähigkeit des Roboterarms 6 als auch ein Ausweichen vor dem Hindernis.
  • Nun wird ein weiterer Aspekt beschrieben, wie Hindernisstufenkosten zur Vermeidung von Hindernissen erzeugt werden. In diesem Aspekt verwendet der Modellvorhersage-Controller 53 ebenfalls das oben beschriebene probabilistische Potentialfeld, um Hindernisstufenkosten zu erzeugen, und weicht dann einem Hindernis aus. Allerdings wird ein Prozess zur Erzeugung der Hindernisstufenkosten nur dann durchgeführt, wenn eine vorbestimmte Bedingung erfüllt ist.
  • Die vorbestimmte Bedingung ist, dass sich der Roboterarm 6 und das Hindernis in einem Annäherungszustand befinden, in dem entweder der Roboterarm 6 oder das Hindernis in einem Annäherungsbereich enthalten ist, der auf dem anderen zentriert ist. Daher erzeugt der Modellvorhersage-Controller 53 nur dann die Hindernisstufenkosten, wenn sich der Roboterarm 6 und das Hindernis in dem Annäherungszustand befinden. Andernfalls oder wenn beide ausreichend weit voneinander entfernt sind, erzeugt der Modellvorhersage-Controller 53 nicht die Hindernisstufenkosten zum Ausweichen vor dem Hindernis. Wenn beispielsweise die Ausgabe des Zielmodell-Controllers 56 in einer zweidimensionalen Form vorliegt, setzt der Modellvorhersage-Controller 53 ein probabilistisches Potentialfeld, das durch die Funktion |g(x)| - g(x) repräsentiert wird, auf den Roboterarm 6 oder das Hindernis unter der Bedingung einer abwärts konvexen Funktion, die als g(x) definiert ist. Dann setzt der Modellvorhersage-Controller 53 eine Auswertungsposition für die Berechnung des probabilistischen Potentialfeldes auf den anderen des Roboterarms 6 und des Hindernisses, oder setzt sie an eine Position in der Nähe des Roboterarms 6 und des Hindernisses. Auf diese Weise erzeugt der Modellvorhersage-Controller 53 das probabilistische Potentialfeld nur dann, wenn die Auswertungsposition innerhalb eines Bereichs liegt, der durch | g(x) | - g(x) definiert ist, d.h. wenn sich der Roboterarm 6 und das Hindernis im Annäherungszustand befinden, wodurch die Hindernisstufenkosten erzeugt werden. Wenn die Auswertungsposition außerhalb des obigen Bereichs liegt, wird das probabilistische Potentialfeld Null, und somit werden die Hindernisstufenkosten nicht erzeugt. Folglich ist es möglich, die Hindernisstufenkosten zu erzeugen, ohne den Bedingungsbestimmungsprozess in einem Programmprozess der modellprädiktiven Steuerung durch das oben beschriebene kontinuierliche Transformationsverfahren durchzuführen. Somit ist es möglich, auf einfache Weise ein Programm für die modellprädiktive Steuerung bzw. Regelung in Übereinstimmung mit den obigen Gleichungen 4 und 5 zu erzeugen.
  • Als alternatives Verfahren kann der Modellvorhersage-Controller 53 ein probabilistisches Potentialfeld, das durch die Funktion |g(x)| + g(x) repräsentiert wird, auf dem Roboterarm 6 oder dem Hindernis unter der Bedingung einer aufwärts konvexen Funktion setzen, die als g(x) definiert ist. Dann kann der Modellvorhersage-Controller 53 eine Auswertungsposition für die Berechnung des probabilistischen Potentialfeldes auf dem anderen von Roboterarm 6 und Hindernis einstellen oder kann sie an einer Position in der Nähe des Roboterarms 6 und des Hindernisses einstellen.
  • Wenn die Ausgabe des Zielmodell-Controllers 56 in einer zweidimensionalen Form vorliegt, kann der Modellvorhersage-Controller 53 das probabilistische Potentialfeld für die Berechnung der Hindernisstufenkosten gemäß Gleichung 10 unten als Beispiel einstellen.
    [Gleichung 10] J p = α 2 r 2 ( | ( x c 1 x 1 ) 2 r p 1 2 + ( x c 2 x 2 ) 2 r p 2 2 r 2 | ( ( x c 1 x 1 ) 2 r p 1 2 + ( x c 2 x 2 ) 2 r p 2 2 r 2 ) )
    Figure DE112020000380T5_0012
  • Jp:
    Potenzialfeld
    xc1, xc2:
    zentrale Position des Potentialfeldes
    x1, x2:
    Auswertungsposition des Potentialfeldes
    rp1, rp2:
    Hälfte der Länge des Potentialfeldes entlang jeder Achse
    r:
    Skalierungskoeffizient
    α:
    eine beliebige Konstante für den Maximalwert des Potentialfelds
  • Gemäß Gleichung 10 wird ein probabilistisches Potentialfeld mit einer Länge entlang der Achse x1, die als rp1 bezeichnet wird, und einer Länge entlang der Achse x2, die als rp2 definiert ist, so eingestellt, dass sein Zentrum bei (xc1, xc2) auf dem Roboterarm 6 oder dem Hindernis liegt. Zusätzlich wird eine Auswertungsposition dieses Potentialfeldes auf (x1, x2) gesetzt und in der Nähe eines Hindernisses oder eines Roboterarms 6, auf den das Potentialfeld nicht gesetzt ist, oder beides platziert. Durch diese Einstellung können die Hindernisstufenkosten in der modellprädiktiven Regelung nur dann erzeugt werden, wenn sich der Roboterarm 6 und das Hindernis im Zustand der Nähe befinden. Dadurch wird unterdrückt, dass eine abstoßende Kraft zum Ausweichen vor dem Hindernis steuerungstechnisch unangemessen auf den Roboterarm 6 einwirkt, wodurch eine Absenkung der Nachlauffähigkeit des Roboterarms 6 gesteuert wird.
  • Wenn die Anzahl der Dimensionen der Ausgabe des Zielmodell-Controllers 56 verallgemeinert wird, kann der Modellvorhersage-Controller 53 das probabilistische Potentialfeld zur Berechnung der Hindernisstufenkosten gemäß Gleichung 11 unten als Beispiel einstellen.
    [Gleichung 11] J p = α 2 r 2 ( | i = 1 n ( x c i x i ) 2 r p i 2 r 2 | ( i = 1 n ( x c i x i ) 2 r p i 2 r 2 ) )
    Figure DE112020000380T5_0013
  • Jp:
    Potenzialfeld
    xci:
    zentrale Position des Potentialfeldes
    xi:
    Auswertungsposition des Potentialfeldes
    rpi:
    Hälfte der Länge des Potentialfeldes entlang jeder Achse
    n:
    die Anzahl der Dimensionen
    r:
    Skalierungskoeffizient
    α:
    beliebige Konstante
  • <Zweites Konfigurationsbeispiel>
  • Es wird eine Ausbildung beschrieben, bei der der Standard-PLC 5 einen Zielbefehl liefert, um ein Hindernis gemäß diesem Konfigurationsbeispiel zu umgehen. In diesem Konfigurationsbeispiel, wie in 5 dargestellt, wird für den Roboterarm 6 und ein Hindernis jeweils ein elliptisches Potentialfeld gemäß Gleichung 10 eingestellt. 5 (a) zeigt einen Zustand der Potentialfelder, die für den zu steuernden Roboterarm 6 und einen anderen Roboterarm 60, der ein Hindernis für den Roboterarm 6 sein kann, eingestellt sind; 5 (b) zeigt die Potentialfelder in einer vergrößerten Darstellung. Der andere Roboterarm 60, der im Wesentlichen die gleiche Konfiguration wie der Roboterarm 6 aufweist, weist einen ersten Arm 30a und einen zweiten Arm 30b auf, die durch zwei Gelenke in einer Ebene drehbar angetrieben werden, basierend auf einem Arbeitskoordinatensystem, das durch die Achsen X1 und X2 definiert ist.
  • In diesem Konfigurationsbeispiel wird für den zu steuernden Roboterarm 6 ein erstes Potentialfeld P1 mit einer elliptischen Form eingestellt, entsprechend der Form des zweiten Arms 3b. Genauer gesagt wird das erste Potentialfeld P1 mit einer elliptischen Form so eingestellt, dass seine Hauptachse entlang des zweiten Arms 3b verläuft. Diese Einstellung berücksichtigt die Tatsache, dass es notwendig ist, die Ausgabeeinheit des Roboterarms 6, die an dem Ende 3c des zweiten Arms 3b angeordnet ist, vor einer Kollision mit dem Hindernis zu schützen. Das bedeutet, dass der zweite Arm 3b einem vorgegebenen Teil des Roboterarms 6 entspricht. Ebenso wird ein zweites Potentialfeld P2 für den anderen Roboterarm 60 eingestellt, das eine elliptische Form aufweist, die ein Hindernis für den Roboterarm 6 sein kann, wobei sich seine Hauptachse entlang des zweiten Arms 30b erstreckt. Auch diese Einstellung berücksichtigt die Tatsache, dass es notwendig ist, den zweiten Arm 30b vor einer Kollision mit dem Roboterarm 6 zu schützen, ähnlich wie bei der Einstellung des ersten Potentialfeldes P1. Für ein elliptisches Potentialfeld siehe Gleichung 10 oben. In diesem Fall müssen die eingestellten Potentialfelder für den Roboterarm 6 und den anderen Roboterarm 60 nicht die gleiche Form und Größe haben. Vorzugsweise werden die beiden Potentialfelder passend zu den Formen und Größen der entsprechenden Arme gebildet.
  • Im obigen Fall wird unter der modellprädiktiven Steuerung des Roboterarms 6 eine Auswertungsposition zur Erzeugung von Hindernisstufenkosten als mindestens ein Punkt im Arbeitskoordinatensystem bestimmt, der in einem Überlappungsbereich R1 (ein in 5 (b) dargestellter diagonaler Linienbereich) des ersten Potentialfelds P1 und des zweiten Potentialfelds P2 enthalten ist. Ein Beispiel für die Einstellung der Auswertungsposition wird nachstehend beschrieben. Es sei darauf hingewiesen, dass es sich nachstehend um ein Beispiel handelt und die Auswertungsposition daher an jeder anderen Stelle eingestellt werden kann.
    • (1) Ein Punkt, der in der Nähe der Schnittpunkte p10 und p20 der Außenlinien des ersten Potentialfeldes P1 und des zweiten Potentialfeldes P2 und innerhalb des Überlappungsbereichs liegt
    • (2) Ein Punkt, der am mittleren Punkt der Schnittpunkte p10 und p20 der Außenlinien des ersten Potentialfeldes P1 und des zweiten Potentialfeldes P2 liegt
    • (3) Ein Punkt, der auf einer virtuellen Linie liegt, durch die der in (2) beschriebene mittlere Punkt mit dem zentralen Punkt des zweiten Arms 3b verbunden ist und innerhalb des Überlappungsbereichs liegt.
  • Da in diesem Konfigurationsbeispiel sowohl das erste Potentialfeld P1 als auch das zweite Potentialfeld P2 eine elliptische Form aufweisen, lässt sich leicht feststellen, ob das erste Potentialfeld P1 das zweite Potentialfeld P2 geometrisch überlappt. Darüber hinaus ist es möglich, die Überlappungsbestimmung zu vereinfachen, indem die beiden Potentialfelder so verschoben, gedreht und skaliert werden (siehe auch eine Technik, die in einem nachstehend beschriebenen fünften Konfigurationsbeispiel offenbart wird), dass der Mittelpunkt eines der Potentialfelder bei der Berechnung (einschließlich derjenigen der Schnittpunkte p10 und p20) im Berechnungsursprung liegt. Diese Beschreibung soll jedoch nicht die Form der beiden Potentialfelder auf eine elliptische Form beschränken. Alternativ können die beiden Potentialfelder eine beliebige Form haben oder die Form der beiden Potentialfelder kann unter Berücksichtigung der Bewegung des gesteuerten Objekts und des Hindernisses auf eine dreidimensionale Form festgelegt werden.
  • Das Einstellen der Auswertungsposition auf die obige Weise kann in der modellprädiktiven Steuerung in Bezug auf den Roboterarm 6 Hindernisstufenkosten erzeugen, wenn das erste Potentialfeld P1 das zweite Potentialfeld P2 teilweise überlappt. Kurz gesagt bedeutet die Überlappung der beiden Potentialfelder, dass sich sowohl der Roboterarm 6 als auch der andere Roboterarm 60 in einem Annäherungszustand befinden. In diesem Zustand werden die Hindernisstufenkosten mit den probabilistischen Potentialfeldern erzeugt, die in der modellprädiktiven Steuerung auf das erste Potentialfeld P1 und das zweite Potentialfeld P2 eingestellt sind, um die Kollision zwischen den Roboterarmen 6 und 60 zu vermeiden. Wenn das erste Potentialfeld P1 nicht mit dem zweiten Potentialfeld P2 überlappt, wird die Auswertungsposition nicht gesetzt, in diesem Fall werden die Hindernisstufenkosten in der modellprädiktiven Steuerung nicht erzeugt. Diese Konfiguration kann die Erzeugung einer unzulässigen Abstoßungskraft zur Vermeidung der Kollision unterdrücken. Darüber hinaus ist es möglich, Potentialfelder passend zu den Formen des Roboterarms 6 und des anderen Roboterarms 60 einzustellen, um jeweils ein Potentialfeld entsprechend dem Roboterarm 6 und dem anderen Roboterarm 60 einzustellen. Dadurch kann verhindert werden, dass der Roboterarm 6 unnötig stark verschoben wird, um die Kollision zu vermeiden.
  • Unter Bezugnahme auf 6 werden die Bewegungen des Roboterarms 6 und des anderen Roboterarms 60 beschrieben, wenn der Roboterarm 6 mit einem Zielbefehl zum Ausweichen vor dem Hindernis von dem Standard-PLC 5 gemäß diesem Konfigurationsbeispiel versorgt wird. In 6 (a) und 6 (b) erzeugt der Befehlsgenerator 50 den vorgegebenen Befehl xf, so dass sich das Ende 3c des Roboterarms 6 von einem Startpunkt S1 zu einem Zielpunkt G1 bewegt. In diesem Fall erzeugt der Befehlsgenerator 50 auch einen vorbestimmten Befehl für den anderen Roboterarm 60, der ein Hindernis für den Roboterarm sein kann, so dass sich dessen Ende von einem Startpunkt S2 zu einem Zielpunkt G2 bewegt.
  • 6 (a) veranschaulicht den Zustand, in dem jeder Roboterarm beginnt, sich zu einem ungefähren Mittelpunkt zwischen dem Startpunkt und dem Zielpunkt zu bewegen; 6 (b) veranschaulicht den Zustand, in dem jeder Roboterarm den Zielpunkt erreicht. Eine Ortskurve des Endes 3c des Roboterarms 6 ist durch eine Linie L1 dargestellt, während eine Ortskurve des Endes des anderen Roboterarms 60 durch eine Linie L2 dargestellt ist. Wie oben beschrieben wird die modellprädiktive Steuerung in Bezug auf den Roboterarm 6 auf der Grundlage des Arbeitskoordinatensystems durchgeführt. So bewegt sich das Ende 3c des Roboterarms 6 unmittelbar nach dem Verlassen des Startpunkts S1 entlang einer im Wesentlichen geraden Linie optimiert zum Zielpunkt G1. Wenn sich dann der Roboterarm 6 und der andere Roboterarm 60 im Zustand der Annäherung befinden, wird eine Antriebssteuerung durchgeführt, um die Kollision zwischen ihnen zu vermeiden, und die Ortskurve des Endes 3c wird dadurch gekrümmt. Nachdem die Kollision vermieden wurde, d.h. wenn der Roboterarm 6 und der andere Roboterarm 60 aus dem Annäherungszustand entlassen werden, bewegt sich der Roboterarm 6 entlang einer im Wesentlichen geraden Linie, die von seiner aktuellen Position aus in Richtung des Zielpunkts G1 optimiert ist. Diese Antriebssteuerung gilt auch für die Bewegung des anderen Roboterarms 60. Auf diese Weise wird in diesem Konfigurationsbeispiel eine hohe Nachlauffähigkeit des Roboterarms 6 und eine entsprechende Kollisionsvermeidung erreicht.
  • <Drittes Konfigurationsbeispiel>
  • Nun wird eine Ausbildung beschrieben, bei der der Standard-PLC 5 einen Zielbefehl liefert, um ein Hindernis gemäß diesem Konfigurationsbeispiel zu umgehen. Wie voranstehend offenbart und in 5 dargestellt, veranlasst der Standard-PLC 5 den Rechner 57, den Ausgang y des Zielmodell-Controllers 56 in einen Zielbefehl im rotierenden Koordinatensystem umzuwandeln, das jeder Steuerachse des Roboterarms 6 entspricht, und veranlasst dann die Zuführungseinheit 58, den Zielbefehl an den Servotreiber 4 zu liefern. In diesem Fall berechnet der Rechner 57 den Zielbefehl entsprechend der obigen Gleichung 6 und basierend auf der geometrischen Beziehung der Maschinenstruktur des Roboterarms 6. Als Ergebnis dieser Berechnung kann der Rechner 57 vorgegebene komplexe Zahlenlösungen, die imaginäre Zahlen enthalten, als die Zielbefehle θ1 und θ2 bereitstellen. Dies bedeutet, dass die Maschinenstruktur des Roboterarms 6 ratenbestimmend wird und dass die Ausgabe des Zielmodell-Controllers 56, die durch Eingabe der Ausgabe des modellprädiktiven Controllers 53 erhalten wird, nicht physikalisch realisiert werden kann. In solchen Fällen wird der Realteil der komplexen Zahlenlösung versuchsweise als Zielbefehl berechnet, wie in Gleichung 12 unten ausgedrückt. Dadurch kann verhindert werden, dass die Servosteuerung des Roboterarms 6 unterbrochen wird.
    [Gleichung 12] θ 2 = a t a n 2 ( ± r e a l ( ( 2 L 1 L 2 ) 2 { L 0 2 ( L 1 2 + L 2 2 ) } 2 ) 2 L 1 L 2 , L 0 2 ( L 1 2 + L 2 2 ) 2 L 1 L 2 )
    Figure DE112020000380T5_0014
  • In Gleichung 12 ist die Funktion real eine Funktion, die den Realteil der Lösung der komplexen Zahl XY zurückgibt, wenn sie in real (XY) ausgedrückt wird.
  • Unter Bezugnahme auf 7 wird die Bewegung des Roboterarms 6 beschrieben, wenn der Roboterarm 6 gemäß diesem Konfigurationsbeispiel von dem Standard-PLC 5 mit einem Zielbefehl zum Ausweichen vor dem Hindernis versorgt wird. In diesem Konfigurationsbeispiel liefert die Standard-PLC 5 den Zielbefehl, so dass sich das Ende 3c des Roboterarms 6 vom Startpunkt S1 zum Zielpunkt G1 bewegt. In 7 (a) bis 7 (c) ist kein Hindernis, sondern nur ein zugehöriges zweites Potentialfeld P2 dargestellt. In 7 (a) errechnet der Rechner 57 den Zielbefehl gemäß Gleichung 6. Nachdem Zeit vergangen ist tritt der Roboterarm 6 jedoch in den in 7 (b) dargestellten Zustand ein. In diesem Fall ist der gemäß Gleichung 6 berechnete Zielbefehl eine komplexe Zahlenlösung, die eine imaginäre Zahl enthält. Daher berechnet der Rechner 57 den Realteil der komplexen Zahlenlösung wieder als Zielbefehl, gemäß Gleichung 12. In diesem Fall wird ein Drehwinkel θ2 zwischen dem ersten Arm 3a und dem zweiten Arm 3b zu Null, so dass der Roboterarm 6 in einen Zustand eintritt, in dem er im Wesentlichen gerade ausgerichtet ist, wie in 7 (b) dargestellt. Dann, nachdem Zeit vergangen ist, berechnet der Rechner den Zielbefehl gemäß Gleichung 6. Dieser Zielbefehl ist eine Lösung, die keine imaginäre Zahl enthält. Als Ergebnis befindet sich der Roboterarm 6 in dem in 7 (c) dargestellten Zustand. Auf diese Weise kehrt der Ausgang des Zielmodell-Controllers 56, der durch Eingabe des Ausgangs des modellprädiktiven Controllers 53 erhalten wird, in einen Zustand zurück, in dem der Roboterarm 6 den Ausgang physikalisch realisieren kann. Folglich wird die Servosteuerung des Roboterarms 6 ohne Unterbrechung fortgesetzt und stellt schließlich die Fähigkeit wieder her, dem vorgegebenen Befehl xf zu folgen.
  • <Viertes Konfigurationsbeispiel>
  • Nun wird eine Ausbildung beschrieben, bei der der Standard-PLC 5 einen Zielbefehl liefert, um ein Hindernis gemäß diesem Konfigurationsbeispiel zu vermeiden. In diesem Konfigurationsbeispiel wird ein in 4 dargestellter Detektor 55 beschrieben. Der Detektor 55 erkennt, dass sich der Roboterarm 6 in einem Deadlock-Zustand (d.h. einem Blockierungszustand) befindet. Der Deadlock-Zustand bezieht sich auf einen Zustand, in dem der Roboterarm 6 gemäß einem vorgegebenen Befehl xf servogesteuert wird, aber nicht gleichmäßig verschoben wird. In diesem Konfigurationsbeispiel kann sich der Roboterarm 6 wegen eines anderen Roboterarms 60, der ein Hindernis sein kann, im Deadlock-Zustand befinden.
  • Nachstehend werden zwei Beispiele für eine Ausbildung beschrieben, bei der der Detektor 55 den Deadlock-Zustand erkennt d.h. erfasst.
  • (Ausbildung einer ersten Erkennung)
  • Unter der modellprädiktiven Steuerung ist, wie oben beschrieben, der modellprädiktive Controller 53 so konfiguriert, dass er wiederholt eine vorbestimmte Operation in Übereinstimmung mit der vorbestimmten Auswertungsfunktion, ausgedrückt in Gleichung 2, innerhalb einer voreingestellten prädiktiven Zone mit einer vorbestimmten Zeitbreite ausführt, um eine Steuereingabe u zu erhalten, die die Ausgabe des modellprädiktiven Controllers 53 ist. Die vorbestimmte Operation ist beispielsweise eine Operation zum Suchen nach einer Steuereingabe u, die bewirkt, dass die partielle Ableitung des Hamiltonian H, ausgedrückt in Gleichung 5, sich Null annähert. Wenn sich in diesem Fall der Roboterarm 6 im Deadlock-Zustand befindet, wiederholt die modellprädiktive Steuerung 53 die vorbestimmte Berechnung, kann aber keine entsprechend optimierte Steuereingabe ableiten, die die Auswertungsfunktion erfüllt. In Anbetracht dieser Tatsache kann der Detektor 55 erkennen, dass sich der Roboterarm 6 in dem Deadlock-Zustand befindet, wenn der modellprädiktive Controller 53 die vorbestimmte Berechnung mehr als eine Referenzanzahl von Malen durchführt.
  • (Ausbildung der zweiten Erkennung)
  • Wenn sich in einer anderen Ausbildung der Roboterarm 6 und der andere Roboterarm 60 in dem oben beschriebenen Annäherungszustand befinden, d.h. wenn das erste Potentialfeld P1 das zweite Potentialfeld P2 zumindest teilweise überlappt, kann der Detektor 55 feststellen, dass sich der Roboterarm 6 im Deadlock-Zustand befindet, wenn der Rechner 57 als Zielbefehl eine vorbestimmte komplexe Zahlenlösung, die eine imaginäre Zahl enthält, aus dem Ausgang y der Zielmodellsteuerung 56 erhält. Der Zustand, in dem der Rechner 57 eine komplexe Zahlenlösung erhält, die eine imaginäre Zahl enthält, wenn der Annäherungszustand gebildet wird, wie oben beschrieben, bezieht sich auf den Zustand, in dem die geometrische Beziehung der Maschinenstruktur des Roboterarms 6 ratenbestimmend ist und der Roboterarm 6 daher dem vorbestimmten Befehl xf nicht ausreichend folgt. Aus diesem Grund ist es möglich, den oben beschriebenen Deadlock-Zustand zu erkennen.
  • Dieses Konfigurationsbeispiel soll nicht die Verwendung einer anderen Erkennungsausbildung als der oben genannten verhindern. Beispielsweise kann der Detektor 55 den Deadlock-Zustand anhand der Drehgeschwindigkeiten der beiden Gelenkachsen, aus denen der Roboterarm 6 besteht, erkennen.
  • Wenn der Detektor 55 den Deadlock-Zustand erkennt, passt die modellprädiktive Steuerung 53 die Potentialfelder an, die für den Roboterarm 6 und den anderen Roboterarm 60, der ein Hindernis sein kann, eingestellt wurden, und löst so den Deadlock-Zustand auf. Nachstehend werden zwei Beispiele für die Ausbildung der Freigabe dieses Deadlock-Zustands beschrieben.
  • (Ausbildung einer ersten Freigabe)
  • Eine Ausbildung einer ersten Freigabe wird mit Bezug auf die 8 (a) und 8 (b) beschrieben. 8 (a) zeigt den Roboterarm 6 im Deadlock-Zustand und den anderen Roboterarm 60. In diesem Zustand ist das erste Potentialfeld P1 mit einer elliptischen Form für den Roboterarm 6 entlang des zweiten Arms 3b eingestellt. Außerdem fällt die Erstreckungsrichtung der Hauptachse dieser elliptischen Form im Wesentlichen mit der des zweiten Arms 3b zusammen. Ebenso wird das zweite Potentialfeld P2, das eine elliptische Form aufweist, für den anderen Roboterarm 60 entlang des zweiten Arms 30b eingestellt. Außerdem fällt die Erstreckungsrichtung der Hauptachse dieser elliptischen Form im Wesentlichen mit der des zweiten Arms 30b zusammen.
  • In dem obigen Zustand ändert die modellprädiktive Steuerung 53 das erste Potentialfeld P1, das für den zweiten Arm 3b des Roboterarms 6 eingestellt wurde, wie in 8 (b) dargestellt. Genauer gesagt, obwohl das erste Potentialfeld P1 mit einer elliptischen Form entlang des zweiten Arms 3b eingestellt wurde, ändert die modellprädiktive Steuerung 53 die Form und Größe des ersten Potentialfelds P1 so, dass die Erstreckungsrichtung der Nebenachse der Ellipse im Wesentlichen mit der des zweiten Arms 3b zusammenfällt. Nach dieser Änderung umgibt das veränderte erste Potentialfeld P1 weiterhin den zweiten Arm 3b. Ebenso ändert die modellprädiktive Steuerung 53 die Form und Größe des zweiten Potentialfeldes P2, das für den zweiten Arm 30b des anderen Roboterarms 60 eingestellt wurde. Als Ergebnis wird die Richtung der Hauptachsenrichtung jedes Potentialfelds um 90 Grad im Vergleich zu dem in 8 (a) dargestellten Zustand gedreht. Dadurch ändert sich die Anwendung der abstoßenden Kraft zur Vermeidung der Kollision auf den Roboterarm 6, was erwartungsgemäß den Deadlock-Zustand auflöst. Nach dem Aufheben des Deadlock-Zustands kann die modellprädiktive Steuerung 53 die Form jedes Potentialfelds in die vorherige Form zurückführen oder die Form des geänderten Potentialfelds beibehalten.
  • (Ausbildung einer zweiten Freigabe)
  • Eine Ausbildung einer zweiten Freigabe wird unter Bezugnahme auf 9 (a) und 9 (b) beschrieben. 9 (a) zeigt den Roboterarm 6 im Zustand der Blockierung (Deadlock-Zustand) und den anderen Roboterarm 60; dieser Zustand ist der gleiche wie in 8 (a). In diesem Zustand, wie in 9 (b) dargestellt, setzt die modellprädiktive Steuerung 53 ein neues Potentialfeld P1' für den zweiten Arm 3b des Roboterarms 6 zusätzlich zu dem ersten Potentialfeld P1. Genauer gesagt behält die modellprädiktive Steuerung 53 den Zustand des ersten Potentialfeldes P1 bei und setzt zusätzlich das Potentialfeld P1' mit einer kreisförmigen Form, ausgedrückt durch Gleichung 13 unten, zentriert auf das zweite Gelenk, an dem der Motor 2a des Roboterarms 6 angeordnet ist.
    [Gleichung 13] J p = α 2 r 2 ( | ( x c 1 x 1 ) 2 r p 1 2 + ( x c 2 x 2 ) 2 r p 2 2 r 2 | ( ( x c 1 x 1 ) 2 r p 1 2 + ( x c 2 x 2 ) 2 r p 2 2 r 2 ) ) + J e l b J e l b = β 2 r p 2 ( | ( x e 1 x 1 ) 2 + ( x e 2 x 2 ) 2 r p 2 | ( ( x e 1 x 1 ) 2 + ( x e 2 x 2 ) 2 r p 2 ) )
    Figure DE112020000380T5_0015
  • Jelh:
    Potentialfeld hinzugefügt zum zweiten Gelenk
    xe1, xe2:
    zentrale Position des hinzugefügten Potentialfeldes (Position des zweiten Gelenks)
    x1, x2:
    Auswertungsposition des Potentialfeldes
    rp:
    Radius des hinzugefügten Potentialfeldes
    β:
    beliebige Konstante für den Maximalwert des hinzugefügten Potentialfeldes
  • Das kreisförmige Potentialfeld P1' umgibt ebenfalls den gesamten Roboterarm 6 einschließlich des zweiten Arms 3b. Ebenso setzt die modellprädiktive Steuerung 53 zusätzlich zum zweiten Potentialfeld P2 ein neues kreisförmiges Potentialfeld P2' für den zweiten Arm 30b eines anderen Roboterarms 60, der auf das zweite Gelenk zentriert ist.
  • Als Ergebnis der obigen Ausführungen ändert sich die Anwendung der abstoßenden Kraft zur Vermeidung der Kollision auf den Roboterarm 6, wodurch der Deadlock-Zustand erwartungsgemäß aufgehoben wird. Nach dem Aufheben d.h. dem Freigeben des Deadlock-Zustandes kann die modellprädiktive Steuerung 53 die zusätzlichen Potentialfelder löschen oder die zusätzlichen Potentialfelder beibehalten.
  • <Fünftes Konfigurationsbeispiel>
  • In dem vorangehenden zweiten Konfigurationsbeispiel sind Potentialfelder (erstes Potentialfeld P1 und zweites Potentialfeld P2) für den Roboterarm 6 und ein Hindernis (z. B. einen anderen Roboterarm 6) festgelegt und werden als probabilistische Potentialfelder der vorliegenden Anmeldung verwendet. In diesem Konfigurationsbeispiel wird anstelle des obigen Aspekts ein einziges probabilistisches Potentialfeld auf der Grundlage vorläufiger Potentialfelder in Bezug auf den Roboterarm 6 und das Hindernis erzeugt. Dann wird die modellprädiktive Regelung bzw. Steuerung durchgeführt, indem die Hindernisstufenkosten in Bezug auf dieses probabilistische Potentialfeld reflektiert werden. Nachstehend wird detailliert beschrieben, wie in diesem Konfigurationsbeispiel ein probabilistisches Potentialfeld Jp erzeugt wird.
  • Als Beispiel wird eine Beschreibung anhand des in 5 (a) und 5 (b) dargestellten Paares von Roboterarmen 6 und 60 gegeben. Ein vorläufiges erstes Potentialfeld Jp1, das sich auf den zu steuernden Roboterarm 6 bezieht, ist ein Bereich mit einer elliptischen Form, der so ausgebildet ist, dass er den zweiten Arm 3b entsprechend der Form des zweiten Arms 3b umgibt, und kann durch Gleichung 14 unten definiert werden.
    [Gleichung 14] J p 1 = α 1 2 r 2 ( | i = 1 n ( x c i x i ) 2 r p i 2 r 2 | ( i = 1 n ( x c i x i ) 2 r p i 2 r 2 ) )
    Figure DE112020000380T5_0016
  • Jp1:
    elliptisches Potentialfeld
    xci:
    zentrale Position des elliptischen Potentialfeldes
    xi:
    Auswertungsposition des Potentialfeldes
    rpi:
    Hälfte der Länge des elliptischen Potentialfeldes entlang jeder Achse
    n:
    die Anzahl der Dimensionen
    r:
    Skalierungskoeffizient
    α1:
    beliebige Konstante
  • Ein vorläufiges zweites Potentialfeld Jp2, das sich auf einen anderen Roboterarm 60 bezieht, der ein Hindernis für den Roboterarm 6 sein kann, ist als ein Bereich mit einer kreisförmigen Form definiert, der so geformt ist, dass er den zweiten Arm 30b umgibt, und ist durch Gleichung 15 unten definiert.
    [Gleichung 15] J p 2 = α 2 2 r 2 ( | i = 1 n ( x s c i x i ) 2 r s p 2 r 2 | ( i = 1 n ( x s c i x i ) 2 r s p 2 r 2 ) )
    Figure DE112020000380T5_0017
  • Jp2:
    kreisförmiges Potentialfeld
    xsci:
    zentrale Position des kreisförmigen Potentialfeldes
    xi:
    Auswertungsposition des Potentials
    rsp:
    Hälfte der Länge jeder Achse im elliptischen Potentialfeld entlang jeder Achse
    n:
    die Anzahl der Dimensionen
    r:
    Skalierungskoeffizient
    α2:
    beliebige Konstante
  • Dann ist das probabilistische Potentialfeld Jp in diesem Konfigurationsbeispiel ein Bereich, der durch den Ort des zentralen Punkts des zweiten Potentialfelds Jp2 definiert ist, wenn das zweite Potentialfeld Jp2 auf dem äußeren Umfang des ersten Potentialfelds Jp1 mit einer elliptischen Form verschoben wird. Das probabilistische Potentialfeld Jp kann durch Gleichung 16 unten definiert werden. In der vorliegenden Anwendung ist der Mittelpunkt des zweiten Potentialfeldes Jp2 als geometrischer Schwerpunkt der Form des zweiten Potentialfeldes Jp2 definiert.
    [Gleichung 16] J p = α 1 2 r 2 ( | i = 1 n ( x c i x s c i ) 2 ( r p i + r s p ) 2 r 2 | ( i = 1 n ( x c i x s c i ) 2 ( r p i + r s p ) 2 r 2 ) )
    Figure DE112020000380T5_0018
  • Jp:
    Potenzialfeld
    xsci:
    zentrale Position des kreisförmigen Potentialfeldes (Auswerteposition des Potentials)
    n:
    die Anzahl der Dimensionen
    r:
    Skalierungskoeffizient
    α3:
    beliebige Konstante
  • 10 zeigt ein Bild des probabilistischen Potentialfeldes Jp, das auf der Grundlage von Gleichung 16 definiert wurde. In 10 bezeichnen Jp1 und Jp2, die jeweils durch die abwechselnden langen und kurzen Striche angegeben werden, vorläufige Potentialfelder, die auf der Grundlage der obigen Gleichungen 14 und 15 definiert wurden. Es sei darauf hingewiesen, dass die vorläufigen Potentialfelder Jp1 und Jp2 nicht tatsächlich unter der modellprädiktiven Steuerung eingestellt werden und in 10 lediglich zur Erläuterung der Erzeugung des tatsächlich einzustellenden probabilistischen Potentialfelds Jp dargestellt sind. Der modellprädiktive Controlller 53 verwendet die modellprädiktive Steuerung, um die Kollision zwischen einem gesteuerten Objekt und einem Hindernis auf der Grundlage ihrer Korrelation zu vermeiden. Zu diesem Zweck stellt der modellprädiktive Controller 53 in diesem Konfigurationsbeispiel nicht individuell probabilistische Potentialfelder für das gesteuerte Objekt und das Hindernis ein, um die Hindernisstufenkosten zu berechnen, sondern stellt das probabilistische Potentialfeld Jp nur für das gesteuerte Ziel ein, wodurch eine im Wesentlichen äquivalente modellprädiktive Steuerung bzw. Regelung durchgeführt wird. In dieser Ausbildung kann der modellprädiktive Controller 53 bei der modellprädiktiven Steuerung Hindernisstufenkosten erzeugen, wenn der zentrale Punkt des Hindernisses in dem probabilistischen Potentialfeld Jp enthalten ist, das für das gesteuerte Objekt gesetzt wurde (siehe Gleichung 16), anstatt wenn festgestellt wird, dass das probabilistische Potentialfeld für das gesteuerte Ziel dasjenige für das Hindernis überlappt (siehe z.B. die vorangehende zweite Konfiguration). Folglich ist es möglich, den Rechenaufwand im Zusammenhang mit der modellprädiktiven Regelung effektiv zu verringern.
  • Wenn das vorläufige zweite Potentialfeld Jp2 wie oben beschrieben eine kreisförmige Form aufweist, ist der Abstand zwischen seinem Mittelpunkt und dem Außenumfang immer konstant (rsp). Wenn das vorläufige zweite Potentialfeld Jp2 jedoch eine nicht kreisförmige Form hat, kann der Abstand zwischen seinem Mittelpunkt und dem äußeren Umfang variieren. Auch in diesem Fall ist es möglich, das probabilistische Potentialfeld Jp, basierend auf der oben angegebenen technischen Idee, einzustellen. Genauer gesagt kann das probabilistische Potentialfeld Jp ein Bereich sein, der durch die Ortskurve des zentralen Punktes des zweiten Potentialfeldes Jp2 definiert wird, wenn das zweite Potentialfeld Jp2 auf dem äußeren Umfang des ersten Potentialfeldes Jp1 mit einer elliptischen Form verschoben, während die Lage des zweiten Potentialfeldes Jp2 relativ zu dem ersten Potentialfeld Jp1 so eingestellt wird, dass der Abstand zwischen dem zentralen Punkt des zweiten Potentialfeldes Jp2 und dem äußeren Umfang des ersten Potentialfeldes Jp1 maximal wird. Als weiteres Verfahren kann das probabilistische Potentialfeld Jp ein Bereich sein, der durch die Ortskurve des zentralen Punktes des zweiten Potentialfeldes Jp2 definiert ist, wenn das zweite Potentialfeld Jp2 auf dem äußeren Umfang des ersten Potentialfeldes Jp1 mit einer elliptischen Form verschoben wird, während die Lage des zweiten Potentialfeldes Jp2 relativ zum ersten Potentialfeld Jp1 so eingestellt wird, dass der Abstand zwischen dem zentralen Punkt des zweiten Potentialfeldes Jp2 und dem äußeren Umfang des ersten Potentialfeldes Jp1 minimal wird. In einer weiteren Ausführungsform kann das probabilistische Potentialfeld Jp ein Bereich sein, der durch die Ortskurve des zentralen Punktes des zweiten Potentialfeldes Jp2 definiert ist, wenn das zweite Potentialfeld Jp2 auf dem äußeren Umfang des ersten Potentialfeldes Jp1 mit einer elliptischen Form verschoben wird, während die Lage des zweiten Potentialfeldes Jp2 relativ zum ersten Potentialfeld Jp1 so beibehalten wird, dass der Abstand zwischen dem zentralen Punkt des zweiten Potentialfeldes Jp2 und dem äußeren Umfang des ersten Potentialfeldes Jp1 einen Wert zwischen dem Maximum und dem Minimum annimmt. In jeder der obigen Ausbildungen ist es möglich, eine Rechenlast in Bezug auf die modellprädiktive Steuerung wirksam zu verringern, indem die Hindernisstufenkosten erzeugt werden, wenn der zentrale Punkt des Hindernisses in dem probabilistischen Potentialfeld Jp enthalten ist, das für das Steuerziel unter der modellprädiktiven Steuerung eingestellt wurde.
  • In dem in 10 dargestellten Beispiel sind zweidimensionale Potentialfelder (kreisförmige und elliptische Form) dargestellt; die Abmessungen der einzelnen Potenziale können jedoch z. B. entsprechend den Bewegungen des gesteuerten Objekts und des Hindernisses angemessen eingestellt werden. Wenn beispielsweise die zu steuernden Roboterarme 6 und der Roboterarm 60 so konfiguriert sind, dass sie sich in einem dreidimensionalen Raum bewegen, kann das in 10 dargestellte Potentialfeld mit einer ellipsenförmigen Form ein Potentialfeld mit einer ellipsenförmigen stereoskopischen Form sein, während das Potentialfeld mit einer kreisförmigen Form ein Potentialfeld mit einer kreisförmigen stereoskopischen Form sein kann. Alternativ kann jedes Potentialfeld eine andere Form als eine kreisförmige Form, eine ellipsenförmige Form, eine ellipsenförmige stereoskopische Form oder eine kreisförmige stereoskopische Form aufweisen.
  • <Andere Konfigurationsbeispiele>
  • Die in den obigen Konfigurationsbeispielen verwendeten Stufenkosten L (siehe Gleichung 9) können zusätzlich zu den obigen Zustandsgrößenkosten, Steuereingabekosten und Hindernisstufenkosten auch sättigungsbezogene Kosten Lu enthalten, die sich auf mindestens einen Schwellenwert der oberen und unteren Grenze des Steuereingangs beziehen. Als Beispiel können die Stufenkosten L, die die sättigungsbezogenen Kosten Lu enthalten, als die in Gleichung 17 unten ausgedrückte Funktion definiert werden.
    [Gleichung 17] L = L + L u L u = ( u ( k ) 2 u m a x 2 ) + | ( u ( k ) 2 u m a x 2 ) |
    Figure DE112020000380T5_0019
  • In der obigen Gleichung 17 werden die sättigungsbedingten Kosten Lu als Funktion definiert: Wenn die Steuereingabe ihren Schwellenwert oder einen oberen Grenzwert umax überschreitet, steigen die sättigungsbedingten Kosten Lu mit zunehmender Differenz zwischen der Steuereingabe und dem oberen Grenzwert umax, und wenn die Eingabe kleiner oder gleich dem oberen Grenzwert umax ist, wird der Wert der sättigungsbedingten Kosten Lu auf Null gesetzt. Durch die Berücksichtigung der sättigungsbedingten Kosten Lu in den Stufenkosten bei der prädiktiven Regelung kann verhindert werden, dass der Steuereingang auf einen unnötig großen Wert berechnet wird. Dadurch ist es möglich, den Ausweichort bzw. die Ausweichortskurve des Roboterarms 6 angemessen zu reduzieren, wenn der Roboterarm 6 z. B. einem Hindernis ausweicht, was zur Unterdrückung von Vibrationen des Roboterarms 6 beim Ausweichen beiträgt.
  • <Ergänzende Anmerkung 1>
  • Eine Steuereinrichtung (5) ist konfiguriert, um zu bewirken, dass ein Ausgang einer Zieleinrichtung (6) servogesteuert wird, um einem vorbestimmten Befehl in einem vorbestimmten Arbeitskoordinatensystem zu folgen, wobei die Zieleinrichtung (6) eine oder mehrere Steuerachsen aufweist, wobei ein unabhängiges verallgemeinertes Koordinatensystem für jede der einen oder mehreren Steuerachsen eingestellt wird, wobei die unabhängige verallgemeinerte Koordinate verwendet wird, um jede der einen oder mehreren Steuerachsen servo zu steuern. Die Steuereinrichtung (5) umfasst: einen Zielmodell-Controller (56), eine Zustandserfassungseinheit (52), einen modellprädiktiven Controller, einen Rechner (57), und eine Zuführungseinheit (58). Der Zielmodell-Controller (56) besitzt ein Zielmodell, in dem die Zieleinrichtung (6) basierend auf dem vorbestimmten Arbeitskoordinatensystem modelliert wird, und ist so konfiguriert, dass er eine Ausgabe gemäß dem vorbestimmten Arbeitskoordinatensystem unter Verwendung des Zielmodells simuliert und ein Simulationsergebnis ausgibt. Die Zustandserfassungseinheit (52) ist so konfiguriert, dass sie einen Wert einer vorbestimmten Zustandsvariablen auf der Grundlage des vorbestimmten Arbeitskoordinatensystems erfasst, wobei die vorbestimmte Zustandsvariable mit dem Zielmodell in Beziehung steht, das der Zielmodell-Controller (56) besitzt. Der modellprädiktive Controller besitzt ein prädiktives Modell, in dem eine Korrelation zwischen der vorbestimmten Zustandsvariablen und einer Steuereingabe (u) an den Zielmodell-Controller (56) in Form einer vorbestimmten Zustandsgleichung auf der Grundlage des vorbestimmten Arbeitskoordinatensystems definiert ist, und ist konfiguriert, um den vorbestimmte Befehl zu empfangen, die modellprädiktive Steuerung innerhalb einer prädiktiven Zone mit einer vorbestimmten Zeitbreite in Übereinstimmung mit einer vorbestimmten Auswertungsfunktion und basierend auf dem prädiktiven Modell durchzuführen und einen Wert der Steuereingabe (u) zumindest zu einem Anfangszeitpunkt der prädiktiven Zone als die Steuereingabe (u) an den Zielmodell-Controller (56) auszugeben, wobei die Steuereingabe (u) auf den vorbestimmten Befehl bezogen ist. Der Rechner (57) ist konfiguriert, um einen Zielbefehl für jede Steuerachse aus dem Ausgang des Zielmodell-Controllers (56) zu berechnen, der auf dem vorbestimmten Arbeitskoordinatensystem basiert, wobei der Ausgang des Zielmodell-Controllers (56) durch Eingeben eines Ausgangs des modellprädiktiven Controllers in das Zielmodell erhalten wird, wobei der Zielbefehl gemäß einer geometrischen Beziehung einer Maschinenstruktur bezogen auf die eine oder mehrere Steuerachsen in der Zieleinrichtung (6) und basierend auf dem verallgemeinerten Koordinatensystem, das für jede der einen oder mehreren Steuerachsen eingestellt ist, erhalten wird. Die Zuführungseinheit (58) ist so konfiguriert, dass sie den Zielbefehl an jede der einen oder mehreren Steuerachsen in der Zieleinrichtung liefert.
  • Bezugszeichenliste
  • 1
    Netzwerk
    2a,2b
    Motor
    3a
    erster Arm
    3b
    zweiter Arm
    3c
    Ende
    5
    Standard-PLC
    6
    Roboterarm
    50
    Befehlsgenerator
    51
    Integrator
    52
    Zustandserfassungseinheit
    53
    modellprädiktiver Controller
    54
    Erfassungseinheit
    55
    Detektor
    56
    Zielmodell-Controller
    57
    Rechner
    58
    Zuführungseinheit
    60
    ein weiterer Roboterarm (Hindernis)
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2003241836 A [0057]
  • Zitierte Nicht-Patentliteratur
    • offset compensation of continuous time model predictive control by disturbance estimation, geschrieben von Yuta Sakurai und Toshiyuki Ohtsuka, in Journal of Society of Systems Control and Information Science, Vol. 25, No. 7, Seiten. 10-18 (2012) [0004]
    • „a continuation/GMRES method for fast computation of nonlinear receding horizon control‟, verfasst von Toshiyuki Otsuka, in Automatica, Vol. 40, Seiten 563- 574, 2004) [0038]

Claims (18)

  1. Steuereinrichtung, die bewirkt, dass ein Ausgang einer Zieleinrichtung servogesteuert wird, um einem vorbestimmten Befehl in einem vorbestimmten Arbeitskoordinatensystem zu folgen, wobei die Zieleinrichtung eine oder mehrere Steuerachsen aufweist, wobei ein unabhängiges verallgemeinertes Koordinatensystem für jede der einen oder mehreren Steuerachsen eingestellt ist, wobei das unabhängige verallgemeinerte Koordinatensystem verwendet wird, um jede der einen oder mehreren Steuerachsen servo zu steuern, wobei die Steuereinrichtung umfasst: einen Zielmodell-Controller, der ein Zielmodell besitzt, in dem die Zieleinrichtung basierend auf dem vorbestimmten Arbeitskoordinatensystem modelliert ist, wobei der Zielmodell-Controller so konfiguriert ist, dass er eine Ausgabe gemäß dem vorbestimmten Arbeitskoordinatensystem unter Verwendung des Zielmodells simuliert und ein Simulationsergebnis ausgibt; eine Zustandserfassungseinheit, die so konfiguriert ist, dass sie einen Wert einer vorbestimmten Zustandsvariablen auf der Grundlage des vorbestimmten Arbeitskoordinatensystems erfasst, wobei die vorbestimmte Zustandsvariable auf das Zielmodell bezogen ist, das der Zielmodell-Controller besitzt; einen modellprädiktiven Controller, der ein prädiktives Modell besitzt, in dem eine Korrelation zwischen der vorbestimmten Zustandsvariablen und einer Steuereingabe an den Zielmodellregler in Form einer vorbestimmten Zustandsgleichung auf der Grundlage des vorbestimmten Arbeitskoordinatensystems definiert ist, wobei der modellprädiktive Regler konfiguriert ist, um den vorbestimmten Befehl zu empfangen den vorbestimmten Befehl zu empfangen, um die modellprädiktive Steuerung innerhalb einer prädiktiven Zone mit einer vorbestimmten Zeitbreite in Übereinstimmung mit einer vorbestimmten Auswertungsfunktion und basierend auf dem prädiktiven Modell durchzuführen und einen Wert der Steuereingabe zumindest zu einem Anfangszeitpunkt der prädiktiven Zone als die Steuereingabe an den Zielmodell-Controller auszugeben, wobei die Steuereingabe auf den vorbestimmten Befehl bezogen ist; einen Rechner, der so konfiguriert ist, dass er einen Zielbefehl für jede Steuerachse aus dem Ausgang des Zielmodell-Controllers berechnet, der auf dem vorbestimmten Arbeitskoordinatensystem basiert, wobei der Ausgang des Zielmodell-Controllers durch Eingeben eines Ausgangssignals des modellprädiktiven Controllers in das Zielmodell erhalten wird, wobei der Zielbefehl einer geometrischen Beziehung einer Maschinenstruktur entspricht, die sich auf die eine oder mehrere Steuerachsen in der Zieleinrichtung bezieht, und auf dem verallgemeinerten Koordinatensystem basiert, das für jede der einen oder mehreren Steuerachsen eingestellt ist; und eine Zuführungseinheit, die so konfiguriert ist, dass sie den Zielbefehl an jede der einen oder mehreren Steuerachsen zu der Zieleinrichtung liefert.
  2. Steuereinrichtung nach Anspruch 1, wobei jedes von dem prädiktiven Modell und dem Zielmodell als ein auf eine Koordinatenachse in dem vorbestimmten Arbeitskoordinatensystem bezogenes Ein-Trägheitsmodell eingestellt ist.
  3. Steuereinrichtung nach Anspruch 1 oder 2, wobei der Rechner beim Erhalten einer vorbestimmten komplexen Zahlenlösung, die eine imaginäre Zahl enthält, von dem Ausgang des Zielmodell-Controllers gemäß der geometrischen Beziehung der Maschinenstruktur als Zielbefehl einen Realteil der vorbestimmten komplexen Zahlenlösung berechnet.
  4. Steuereinrichtung nach einem der Ansprüche 1 bis 3, wobei jede der einen oder mehreren Steuerachsen einen rotierend angetriebenen oder linear angetriebenen Aktuator enthält, und das verallgemeinerte Koordinatensystem ein rotierendes Koordinatensystem, das sich auf einen Rotationswinkel jeder der einen oder mehreren Steuerachsen bezieht, oder ein lineares Koordinatensystem, das sich auf einen linearen Bewegungsbetrag jeder der einen oder mehreren Steuerachsen bezieht, ist.
  5. Steuereinrichtung nach einem der Ansprüche 1 bis 4, ferner umfassend einen Integrator, der so konfiguriert ist, dass er eine Abweichung zwischen dem vorgegebenen Befehl und dem Ausgang des Zielmodell-Controllers empfängt, wobei der modellprädiktive Controller die modellprädiktive Regelung ausführt, indem er eine Ausgabe des Integrators empfängt, der die Abweichung empfangen hat, und das prädiktive Modell einen vorbestimmten Integrationsterm enthält, der durch ein Produkt aus der Abweichung zwischen dem Ausgang des Zielmodell-Controllers und dem vorbestimmten Befehl und einer vorbestimmten integrierten Verstärkung ausgedrückt wird.
  6. Steuereinrichtung nach Anspruch 5, wobei wenn ein Wert der Abweichung in einem vorbestimmten ersten Bereich einschließlich Null enthalten ist, die vorbestimmte integrierte Verstärkung so eingestellt wird, dass sie zunimmt, wenn die Abweichung abnimmt, und wenn der Wert der Abweichung nicht in dem vorgegebenen ersten Bereich enthalten ist, die vorgegebene integrierte Verstärkung auf Null gesetzt wird.
  7. Steuereinrichtung nach Anspruch 5, wobei der Ausgang des Zielmodell-Controllers ein mehrdimensionaler Ausgang ist, der vorbestimmte erste Bereich als eine abwärts konvexe Funktion f(x) definiert ist, und die vorgegebene integrierte Verstärkung als Funktion von |f(x)| - f(x) ausgedrückt.
  8. Steuereinrichtung nach Anspruch 5, wobei der Ausgang des Zielmodell-Controllers ein mehrdimensionaler Ausgang ist, der vorbestimmte erste Bereich als eine aufwärts konvexe Funktion f(x) definiert ist, und die vorgegebene integrierte Verstärkung als Funktion von |f(x)| + f(x) ausgedrückt wird.
  9. Steuereinrichtung nach einem der Ansprüche 1 bis 8, ferner umfassend eine Erfassungseinheit, die konfiguriert ist, um eine Position eines Hindernisses relativ zu der Zieleinrichtung zu erfassen, wobei aus der vorbestimmten Auswertungsfunktion berechnete Stufenkosten Zustandsgrößenkosten, die auf die vorbestimmte Zustandsvariable bezogene Stufenkosten sind, Steuereingabekosten, die auf die Steuereingabe bezogene Stufenkosten sind, und Hindernisstufenkosten, die auf ein probabilistisches Potentialfeld bezogen ist, das eine Wahrscheinlichkeit darstellt, dass ein Hindernis um die Zieleinrichtung herum vorhanden ist, und das basierend auf einer vorbestimmten Auswertungsposition berechnet wird, enthalten, wenn die Zieleinrichtung und das Hindernis in einem Annäherungszustand sind, in dem entweder die Zieleinrichtung oder das Hindernis in einem vorbestimmten Annäherungsbereich enthalten ist, der auf die andere der Zieleinrichtung und das Hindernis zentriert ist, der modellprädiktive Controller die Hindernisstufenkosten erzeugt, um die modellprädiktive Steuerung durchzuführen, und wenn sich die Zieleinrichtung und das Hindernis nicht im Zustand der Annäherung befinden, der modellprädiktive Controller die modellprädiktive Steuerung durchführt, ohne die Hindernisstufenkosten zu erzeugen.
  10. Steuereinrichtung nach Anspruch 9, wobei der Ausgang des Zielmodell-Controllers ein mehrdimensionaler Ausgang ist, und wenn eine abwärts konvexe Funktion als g(x) definiert ist, das probabilistische Potentialfeld, das durch eine Funktion |g(x)| - g(x) ausgedrückt wird, für eine von der Zieleinrichtung und dem Hindernis eingestellt wird, und die vorbestimmte Auswertungsposition für die bzw. das andere von der Zieleinrichtung und dem Hindernis oder in der Nähe sowohl der Zieleinrichtung als auch des Hindernisses eingestellt wird.
  11. Steuereinrichtung nach Anspruch 9, wobei der Ausgang des Zielmodellreglers ein mehrdimensionaler Ausgang ist, und wenn eine aufwärts konvexe Funktion als g(x) definiert ist, das probabilistische Potentialfeld, das durch eine Funktion |g(x)| + g(x) ausgedrückt wird, für eines von der Zieleinrichtung und dem Hindernis eingestellt wird, und die vorbestimmte Auswertungsposition für die bzw. das andere von der Zieleinrichtung - und dem Hindernis
  12. Steuereinrichtung nach Anspruch 9, wobei ein erstes Potentialfeld, das eine Wahrscheinlichkeit darstellt, dass das Hindernis um die Zieleinrichtung herum vorhanden ist, für die Zieleinrichtung so eingestellt wird, dass es einer Form eines vorbestimmten Teils der Zieleinrichtung einschließlich eines Ausgangsteils der Zieleinrichtung entspricht und das vorbestimmte Teil umgibt, ein zweites Potentialfeld, das eine Wahrscheinlichkeit darstellt, dass die Zieleinrichtung um das Hindernis herum vorhanden ist, für das Hindernis so eingestellt wird, dass es einer Form des Hindernisses entspricht und das Hindernis zumindest teilweise umgibt, wenn das erste Potentialfeld zumindest teilweise das zweite Potentialfeld überlappt, der modellprädiktive Controller bestimmt, dass sowohl die Zieleinrichtung als auch das Hindernis sich in dem Annäherungszustand befinden, das probabilistische Potentialfeld auf jedes des ersten Potentialfeldes und des zweiten Potentialfeldes setzt, das auf der Grundlage der zumindest einen vorbestimmten Auswertungsposition berechnet wird, die in einem Überlappungsbereich des ersten Potentialfeldes und des zweiten Potentialfeldes enthalten ist, und die Hindernisstufenkosten erzeugt, um die modellprädiktive Steuerung durchzuführen, und wenn das erste Potentialfeld das zweite Potentialfeld überhaupt nicht überlappt, der modellprädiktive Controller bestimmt, dass sich die Zieleinrichtung und das Hindernis nicht in dem Annäherungszustand befinden, und die modellprädiktive Steuerung durchführt, ohne die Hindernisstufenkosten zu erzeugen.
  13. Steuereinrichtung nach Anspruch 12, ferner umfassend einen Detektor, der so konfiguriert ist, dass er erkennt, dass sich die Zieleinrichtung in einem Deadlock-Zustand befindet, in dem die Zieleinrichtung während der Servosteuerung, die mit dem Nachfolgen des vorbestimmten Befehls zusammenhängt, nicht gleichmäßig verschoben wird, wobei wenn der Detektor den Deadlock-Zustand detektiert, eines oder beide des ersten Potentialfeldes und des zweiten Potentialfeldes verformt werden, und der modellprädiktive Controller die modellprädiktive Steuerung auf der Grundlage einer Überlappungsbeziehung zwischen dem verformten ersten Potentialfeld und dem zweiten Potentialfeld durchführt.
  14. Steuereinrichtung nach Anspruch 12, ferner umfassend einen Detektor, der so konfiguriert ist, dass er erkennt, dass sich die Zieleinrichtung in einem Deadlock-Zustand befindet, in dem die Zieleinrichtung während der Servosteuerung, die mit dem Nachfolgen des vorbestimmten Befehls zusammenhängt, nicht gleichmäßig verschoben wird, wobei wenn der Detektor den Deadlock-Zustand detektiert, ein oder mehrere neue Potentialfelder zu mindestens einem von der Zieleinrichtung und dem Hindernis hinzugefügt werden, wobei sich das eine oder die mehreren neuen Potentialfelder von dem ersten Potentialfeld oder dem zweiten Potentialfeld unterscheiden, und der modellprädiktive Controller die modellprädiktive Steuerung auf der Grundlage einer Überlappungsbeziehung zwischen einem neuen ersten Potentialfeld für die Zieleinrichtung und einem neuen zweiten Potentialfeld für das Hindernis durchführt, wobei einige oder alle des einen oder der mehreren neuen Potentialfelder zu dem neuen ersten Potentialfeld hinzugefügt werden, wobei das verbleibende eine oder die verbleibenden des einen oder der mehreren neuen Potentialfelder zu dem neuen zweiten Potentialfeld hinzugefügt werden.
  15. Steuereinrichtung nach Anspruch 13 oder 14, wobei der modellprädiktive Controller so konfiguriert ist, dass er wiederholt eine vorbestimmte Operation in Übereinstimmung mit der vorbestimmten Auswertungsfunktion ausführt, um die Ausgabe des modellprädiktiven Controllers während der modellprädiktiven Steuerung zu erhalten, und wenn die Anzahl der Male, die der modellprädiktive Controller wiederholt eine vorbestimmte Operation ausführt, um eine Ausgabe des modellprädiktiven Controllers in der modellprädiktiven Steuerung zu erhalten, eine Referenzanzahl von Malen überschreitet, der Detektor erkennt, dass sich die Zieleinrichtung in dem Deadlock-Zustand befindet.
  16. Steuereinrichtung nach Anspruch 13 oder 14, wobei, wenn sich die Zieleinrichtung und das Hindernis in dem Annäherungszustand befinden, in einem Fall, in dem der Rechner als Zielbefehl eine vorbestimmte komplexe Zahlenlösung, die eine imaginäre Zahl enthält, aus dem Ausgang des Zielmodell-Controllers gemäß der geometrischen Beziehung der Maschinenstruktur erhält, der Detektor erkennt, dass sich die Zieleinrichtung in dem Deadlock-Zustand befindet.
  17. Steuereinrichtung nach Anspruch 9, wobei unter der Annahme, dass ein zweites Potentialfeld auf einem äußeren Umfang eines ersten Potentialfeldes verschoben wird, das probabilistische Potentialfeld durch einen Ort eines zentralen Punktes des zweiten Potentialfeldes definiert wird, wobei das erste Potentialfeld repräsentativ für eine Wahrscheinlichkeit ist, dass das Hindernis um die Zieleinrichtung herum vorhanden ist und so geformt ist, dass es mit einer Form eines vorbestimmten Teils der Zieleinrichtung einschließlich eines Ausgangsteils der Zieleinrichtung übereinstimmt und das vorbestimmte Teil umgibt, wobei das zweite Potentialfeld repräsentativ für eine Wahrscheinlichkeit ist, dass die Zieleinrichtung um das Hindernis herum vorhanden ist und so geformt ist, dass es mit einer Form des Hindernisses übereinstimmt und das Hindernis zumindest teilweise umgibt, die vorgegebene Auswertungsposition auf eine zentrale Position des zweiten Potentialfeldes gesetzt wird, wenn die zentrale Position des zweiten Potentialfeldes innerhalb eines Bereiches des probabilistischen Potentialfeldes positioniert ist, der modellprädiktive Controller bestimmt, dass sich die Zieleinrichtung und das Hindernis in dem Annäherungszustand befinden, und die Hindernisstufenkosten in Bezug auf das probabilistische Potentialfeld erzeugt, um die modellprädiktive Steuerung durchzuführen, und wenn die zentrale Position des zweiten Potentialfelds außerhalb des Bereichs des probabilistischen Potentialfelds positioniert ist, der modellprädiktive Controller bestimmt, dass sich die Zieleinrichtung und das Hindernis nicht im Zustand der Nähe befinden, und die modellprädiktive Steuerung durchführt, ohne die Hindernisstufenkosten zu erzeugen.
  18. Steuereinrichtung nach einem der Ansprüche 9 bis 17, wobei die aus der vorbestimmten Auswertungsfunktion berechneten Stufenkosten weiterhin sättigungsbezogene Kosten enthalten, die sich auf mindestens einen der oberen und unteren Schwellenwerte des Steuereingangs beziehen, und die sättigungsbezogenen Kosten als eine Funktion definiert sind, in der, wenn ein Wert des Steuereingangs den Schwellenwert überschreitet, ein Wert der sättigungsbezogenen Kosten auf einen größeren Wert gesetzt wird, wenn eine Differenz zwischen der Steuereingabe und dem Schwellenwert zunimmt, und, wenn die Steuereingabe gleich oder kleiner als der Schwellenwert ist, der Wert der sättigungsbezogenen Kosten auf Null gesetzt wird.
DE112020000380.9T 2019-01-11 2020-01-10 Steuereinrichtung Pending DE112020000380T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019-003607 2019-01-11
JP2019003607 2019-01-11
PCT/JP2020/000749 WO2020145403A1 (ja) 2019-01-11 2020-01-10 制御装置

Publications (1)

Publication Number Publication Date
DE112020000380T5 true DE112020000380T5 (de) 2021-09-23

Family

ID=71521353

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020000380.9T Pending DE112020000380T5 (de) 2019-01-11 2020-01-10 Steuereinrichtung

Country Status (5)

Country Link
US (1) US20220075333A1 (de)
JP (1) JP7088318B2 (de)
CN (1) CN113260928B (de)
DE (1) DE112020000380T5 (de)
WO (1) WO2020145403A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003241836A (ja) 2002-02-19 2003-08-29 Keio Gijuku 自走移動体の制御方法および装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2610996B2 (ja) * 1989-05-26 1997-05-14 株式会社神戸製鋼所 多関節ロボット制御装置
JP3666578B2 (ja) * 2000-08-18 2005-06-29 株式会社安川電機 予測制御装置
CA2458979C (en) * 2001-08-31 2010-09-28 George Danko Coordinated joint motion control system
JP4054984B2 (ja) * 2001-12-20 2008-03-05 株式会社安川電機 ロボットの制御装置および制御方法
DE60336519D1 (de) * 2002-04-26 2011-05-05 Honda Motor Co Ltd Selbstpositionsabschätzvorrichtung für mobile Roboter mit Beinen
JP4697139B2 (ja) * 2004-07-27 2011-06-08 株式会社安川電機 サーボ制御装置
JP2007076807A (ja) * 2005-09-14 2007-03-29 Institute Of Physical & Chemical Research パワーアシスト装置とその適応モデル予測制御方法
US8036776B2 (en) * 2005-11-16 2011-10-11 Abb Ab Method and device for controlling motion of an industrial robot with a position switch
KR100986215B1 (ko) * 2009-04-15 2010-10-07 한국해양연구원 원격제어 수중로봇팔의 작업공간 구동 및 자동 제어 마스터 시스템
CN102681489B (zh) * 2012-06-01 2014-01-15 南京航空航天大学 多轴联动数控系统运动平稳性和轮廓加工精度控制方法
CN105103437B (zh) * 2013-03-29 2018-05-15 松下知识产权经营株式会社 电动机驱动装置的伺服调整方法
JP5910647B2 (ja) * 2014-02-19 2016-04-27 トヨタ自動車株式会社 移動ロボットの移動制御方法
JP6421683B2 (ja) * 2015-04-14 2018-11-14 トヨタ自動車株式会社 最適制御装置、最適制御方法及び最適制御プログラム
JP6443311B2 (ja) * 2015-11-30 2018-12-26 オムロン株式会社 制御装置、制御プログラムおよび記録媒体
JP6519457B2 (ja) * 2015-11-30 2019-05-29 オムロン株式会社 補正装置、補正装置の制御方法、情報処理プログラム、および記録媒体
JP6606442B2 (ja) 2016-02-24 2019-11-13 本田技研工業株式会社 移動体の経路計画生成装置
US11014247B2 (en) * 2016-04-29 2021-05-25 Softbank Robotics Europe Mobile robot with enhanced balanced motion and behavior capabilities
JP2018041150A (ja) * 2016-09-05 2018-03-15 オムロン株式会社 モデル予測制御装置、モデル予測制御装置の制御方法、情報処理プログラム、および記録媒体
JP6930150B2 (ja) 2017-03-14 2021-09-01 オムロン株式会社 制御装置、制御プログラムおよび制御システム
DE102017114731A1 (de) * 2017-06-30 2019-01-03 Technische Universität Dortmund Verfahren zum regeln eines mechatronischen systems, regelungseinheit für ein mechatronisches system und mechatronisches system
JP7003623B2 (ja) 2017-12-15 2022-01-20 オムロン株式会社 制御システム
JP2019136817A (ja) 2018-02-09 2019-08-22 国立大学法人京都大学 多脚ロボットの登攀動作制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003241836A (ja) 2002-02-19 2003-08-29 Keio Gijuku 自走移動体の制御方法および装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
„a continuation/GMRES method for fast computation of nonlinear receding horizon control‟, verfasst von Toshiyuki Otsuka, in Automatica, Vol. 40, Seiten 563- 574, 2004)
offset compensation of continuous time model predictive control by disturbance estimation, geschrieben von Yuta Sakurai und Toshiyuki Ohtsuka, in Journal of Society of Systems Control and Information Science, Vol. 25, No. 7, Seiten. 10-18 (2012)

Also Published As

Publication number Publication date
US20220075333A1 (en) 2022-03-10
JP7088318B2 (ja) 2022-06-21
CN113260928A (zh) 2021-08-13
JPWO2020145403A1 (ja) 2021-11-18
WO2020145403A1 (ja) 2020-07-16
CN113260928B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
DE102017129665B3 (de) Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
EP2563553B1 (de) Verfahren und steuermittel zum steuern eines roboters
EP2954986B1 (de) Vorrichtung und Verfahren zum Steuern und Regeln eines Mehrkörpersystems
EP1366867B1 (de) Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten
DE112021001104T5 (de) Bewegungsplanungsverfahren mit kollisionsvermeidung für industrieroboter
EP3623116A1 (de) Verfahren und vorrichtung zur kollisionsfreien bewegungsplanung eines manipulators
EP3556521B1 (de) Bremswegüberwachung einer kinematik
DE69028041T2 (de) Profilsteuerungssystem für Roboter
WO2006063945A1 (de) Verfahren und einrichtung zur bewegungsführung eines bewegbaren maschinenelements einer numerisch gesteuerten maschine
DE602004003855T2 (de) Verfahren und Vorrichtung zur Steuerung eines Flugzeuges
DE102021107495A1 (de) Erzeugung eines anfangsbezuges zur optimierung der bewegungsplanung von robotern
WO2007074025A1 (de) Ermittlungsverfahren für eine lagegeführt abzufahrende grobbahn
WO2010085944A1 (de) Verfahren zur vermeidung von kollisionen gesteuert beweglicher teile einer anlage
EP2070665A2 (de) Verfahren und Vorrichtung zur Bereichsüberwachung eines Manipulators
DE102019003286A1 (de) Numerische Steuerung
DE102022122663A1 (de) Verfahren zur dynamischen geschwindigkeitsändrung für ein robotiksystem
EP2208584B1 (de) Verfahren zur Steuerung von Industrierobotern
EP3115857A1 (de) Trajektorienbestimmungsverfahren für nebenzeitbewegungen
DE69213664T2 (de) Verfahren zur Erzeugung einer Bewegungsbahn für ein robotisiertes System
DE102012022190B4 (de) Inverse Kinematik
DE69207018T2 (de) Verfahren zur Führung eines Roboterarmes durch definieren von Ersatzstrecken
EP0184075A1 (de) Einrichtung und Verfahren zum Regeln eines Industrieroboters
EP4056331A1 (de) Sicherer betrieb einer mehrachskinematik
EP3569367A1 (de) Rechnergestütztes ermitteln einer bewegung einer vorrichtung
EP2016471B1 (de) Verfahren zum koordinieren von antriebsanordnungen einer werkzeugmaschine, bahnplanungseinheit und zugehörige werkzeugmaschine

Legal Events

Date Code Title Description
R012 Request for examination validly filed