DE69634034T2 - Verfahren zur kurveninterpolation bei einer geschwindigkeitssteuerung eines roboters während eines überschleifvorganges - Google Patents

Verfahren zur kurveninterpolation bei einer geschwindigkeitssteuerung eines roboters während eines überschleifvorganges Download PDF

Info

Publication number
DE69634034T2
DE69634034T2 DE69634034T DE69634034T DE69634034T2 DE 69634034 T2 DE69634034 T2 DE 69634034T2 DE 69634034 T DE69634034 T DE 69634034T DE 69634034 T DE69634034 T DE 69634034T DE 69634034 T2 DE69634034 T2 DE 69634034T2
Authority
DE
Germany
Prior art keywords
movement
function
connection
curve
speed control
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.)
Expired - Fee Related
Application number
DE69634034T
Other languages
English (en)
Other versions
DE69634034D1 (de
Inventor
Hidetoshi Kumiya
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE69634034D1 publication Critical patent/DE69634034D1/de
Application granted granted Critical
Publication of DE69634034T2 publication Critical patent/DE69634034T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34098Slope fitting, fairing contour, curve fitting, transition
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34169Coarse interpolator, path calculator delivers position, speed, acceleration blocks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34175Overlap, between two blocks, continuous, smooth speed change, movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39242Velocity blending, change in a certain time from first to second velocity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42207Generate points between start and end position, linear interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45083Manipulators, robot

Landscapes

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

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Kurveninterpolation zum Durchführen einer Geschwindigkeitsregelung eines Industrieroboters, insbesondere auf ein Verfahren zum Durchführen einer Kurveninterpolation zum glatten Verbinden zweier Bewegungswege zeitlich parallel zu einer Geschwindigkeitsregelung längs der verbundenen Wege gemäß einem gegebenen Wegeplan.
  • In Anwendungen von Robotern, z. B. wie einem Dichtungs-Roboter oder einem Lichtbogenschweiß-Roboter, ist es oft notwendig, wenn der Roboter dazu gebracht wird, fortlaufend eine geradlinige Bewegung oder eine bogenförmige Bewegung auszuführen, dass Bewegungswege mit einer glatten Verbindungskurve verbunden werden und dass eine Geschwindigkeitsregelung für die Roboter-Bewegung längs der Verbindungskurve durchgeführt wird. Es sind bereits verschiedene Vorschläge für die Kurve zum Verbinden der Wege gleichförmiger geradliniger Bewegungen, die mit einer Geschwindigkeitsregelung der Bewegung auf einer derartigen Verbindungskurve einhergehen, gemacht worden. Es hat jedoch keinerlei Interpolations-Verfahren gegeben, durch das eine glatte Geschwindigkeitsregelung in solchen Fällen verwirklicht werden kann, in denen eine oder beide von Bewegungen, die zu verbinden sind, bogenförmige Bewegungen sind, bei denen die Beschleunigung nicht Null sein kann (Nichtnull-Beschleunigungsbewegung), so dass die Geschwindigkeitsregelung solcher Bewegungen aufgegeben worden ist. Dies war bisher ein Haupthindernis für die Konstruktion eines Systems zur Steuerung oder zum Einlernen eines Roboters.
  • Ein allgemeines Verfahren zur Interpolation gemäß dem Oberbegriff des vorliegenden Anspruchs 1 ist in der Druckschrift DE-A-4213927 offenbart.
  • Eine Aufgabe der vorliegenden Erfindung besteht darin, ein Interpolations-Verfahren zu schaffen, das selbst für eine Verbindungsbewegung eines Roboters, die nicht nur geradlinige Bewegungen, sondern auch Bewegungen mit einer Nicht-null-Beschleunigung, wie bogenförmige Bewegungen, mit sich bringt, die Erzeugung einer Verbindungskurve, die zwei Bewegungen verbindet, während zur gleichen Zeit eine Geschwindigkeitsregelung ausgeführt wird, mit hoher Genauigkeit ermöglicht. Mit dieser Fähigkeit kann die vorliegende Erfindung die Belastung des System-Aufbaus vermindern und das Einlernen des Roboters für verschiedene Anwendungen, wie Anwendungen für einen Dichtungs-Roboter, einen Lichtbogenschweiß-Roboter usw., erleichtern.
  • Die vorliegende Erfindung sieht ein Kurveninterpolations-Verfahren vor, das ermöglicht, eine Geschwindigkeitsregelung während einer Verbindungsbewegung eines Roboters zum Verbinden erster und zweiter Bewegungen, die mit einer Bewegung längs eines Wegs einhergehen, beim Erstellen eines Bewegungswegeplans in Übereinstimmung mit einem Betriebsprogramm in einer Roboter-Steuerenrichtung durch Software-Verarbeitung zu bewirken.
  • Die Erfindung ist durch den vorliegenden Anspruch 1 angegeben.
  • Die grundlegendste Variation der Geschwindigkeitsregelung, die während einer Verbindungsbewegung angewendet wird, ist die "Konstant-Geschwindigkeitsregelung", die durch Einsatz eines Interpolations-Verfahrens erzielt werden kann, wie dies im folgenden beschrieben wird.
  • In einem solche Fall umfasst ein Interpolations-Verfahren gemäß der vorliegenden Erfindung Schritte zum
    • (a1) Versehen einer Gleichung, die eine Verbindungskurve repräsentiert zum glatten Verbinden eines ersten Verbindungspunkts, der auf einem Weg der ersten Bewegung bestimmt ist, und eines zweiten Verbindungspunkts, der auf einem Weg der zweiten Bewegung bestimmt ist, mit einem Parameter q(t), der auf der Zeit t basiert, und
    • (b1) periodischen Setzen eines Interpolationspunkts in einem dreidimensionalen Raum unter Benutzung des Parameters q(t).
  • In dem zuvor genannten Schritt (a1) wird eine Funktion p(T, t) die eine Grenzbedingung erfüllt, die einer Ck-Klasse (wobei k eine positive ganze Zahl ist) der Glätte entspricht, die für die Verbindungsbewegung erforderlich ist, als eine Gleichung gewonnen, die einen unbekannten Parameter T enthält, der einer Zeitperiode für die Verbindung entspricht, und es wird ein Berechnungsprozess durchgeführt, um einen Wert von T, T = T0, zu gewinnen, mit dem die Geschwindigkeit zumindest ungefähr durch Optimieren einer Bewertungsfunktion ε(T) zum Bewerten einer Abweichung eines partiellen Differentials der Zeit in der Funktion p(T, t) von einem Referenzwert über die Verbindungsbewegung hinweg konstant gehalten wird.
  • Der Referenzwert für die partielle Ableitung der Zeit in der Funktion p(T, t) entspricht der Geschwindigkeit der ersten Bewegung bei dem ersten Verbindungspunkt.
  • In Schritt (b1) wird eine Interpolation in einem dreidimensionalen Raum unter Benutzung von q(t) = p(T0, t) als die Parameter-Darstellung q(t) durchgeführt, wodurch die Geschwindigkeit über die Verbinidungsbewegung hinweg auf einen konstanten Wert geregelt wird.
  • Die Funktion p(T, t), die in Schritt (a1) gewonnen ist, kann eine polynomische Gleichung für t sein, die den unbekannten Parameter T enthält, welcher der Verbindungs-Zeitperiode entspricht. Eine typische Klasse der Glätte, die für Verbindungsbewegungen erforderlich ist, ist die C2-Klasse. Die C2-Klassen-Glätte stellt die Stetigkeit von Position, Geschwindigkeit und Beschleunigung innerhalb eines Verbindungsintervalls sicher, das die zwei Verbindungspunkte enthält. Das Interpolations-Verfahren für eine derartige Konstant-Gesschwindigkeitsregelung ist auch auf eine Nichtnull-Beschleunigungsbewegung anwendbar, bei der eine oder beide der ersten und zweiten Bewegungen bogenförmige Bewegungen sind.
  • Das Interpolations-Verfahren für die "Konstant-Gesschwindigkeitsregelung" kann derart modifiziert werden, wie dies später beschrieben wird, dass die Geschwindigkeit während einer Verbindungsbewegung variiert werden kann.
  • In einem solchen Fall umfasst eine weitere Variation des Interpolations-Verfahren gemäß der vorliegenden Erfindung Schritte zum
    • (a2) Erstellen einer Gleichung, die eine glatte Kurve repräsentiert, die einen ersten Verbindungspunkt, der auf einem Weg der ersten Bewegung bestimmt ist, und einen zweiten Verbindungspunkt, der auf einem Weg der zweiten Bewegung bestimmt ist, verbindet, mittels einer Parameter-Darstellung s(t), die auf auf einem Zeitpunkt t basiert, und
    • (b2) periodischen Setzen eines Interpolationspunkts in einem dreidimensionalen Raum unter Benutzung des Parameters s(t).
  • In Schritt (a2) wird eine Funktion p(T, t), die eine Grenzbedingung erfüllt, die einer Ck-Klasse entspricht (wobei k eine positive ganze Zahl ist und dies bei jedem anderen Auftreten von k gilt) einer Glätte, die für die Verbindungsbewegung erforderlich ist, als eine Gleichung gewonnen, die einen unbekannten Parameter T enthält, der einer Verbindungs-Zeitperiode entspricht, und es wird ein Berechnungsprozess durchgeführt, um einen Wert von T, T = T0, zu gewinnen, mit dem die Geschwindigkeit durch Optimieren einer Bewertungsfunktion ε(T) zum Bewerten einer Abweichung eines partiellen Differentials der Zeit in der Funktion p(T, t) von einem Referenzwert über die Verbindungsbewegung hinweg zumindest ungefähr konstant gehalten wird. Der Referenzwert für das partielle Differential der Zeit in der Funktion p(T, t) entspricht der Geschwindigkeit der ersten Bewegung bei dem ersten Verbindungspunkt.
  • In Schritt (b2) werden s(t) = (qOf)(t), eine zusammengesetzte Funktion q(t) = p(T0, t) und eine Einstellfunktion f(t) als die Parameter-Darstellung s(t) benutzt. Die Einstellfunktion f(t) hat die Ck-Klassen-Glätte und ist derart vorab bestimmt worden, dass die Geschwindigkeit einem gewünschten Übergang über die Verbindungsbewegung hinweg unterzogen wird.
  • Wie im Falle der "Konstant-Gesschwindigkeitsregelung" kann die Funktion p(T, t), die in Schritt (a2) gewonnen ist, eine polynomische Gleichung für t sein, die den unbekannten Parameter T enthält, welcher der Verbindungs-Zeitperiode entspricht. Eine typische Klasse der Glätte, die für Verbindungsbewegungen erforderlich ist, ist die C2-Klasse. Die C2-Klassen-Glätte stellt die Stetigkeit von Position, Geschwindigkeit und Beschleunigung innerhalb eines Verbindungsintervalls sicher, das die zwei Verbindungspunkte enthält. Auf diese Weise kann die gewünschte Geschwindigkeitsregelung sogar im Falle einer Nichtnull-Beschleunigungsbewegung, bei der eine oder beide der ersten und zweiten Bewegungen bogenförmige Bewegungen sind, während der Verbindungsbewegung erreicht werden.
  • Während einer Bewegung des Roboters längs eines Wegs wird in der Roboter-Steuereinrichtung ein Bewegungswegeplan gebildet, um durch Software-Verarbeitung in Übereinstimmung mit dem Betriebsprogramm zu wirken. Bei der Bewegungswegeplanung wird zunächst eine Interpolation in einem dreidimensionalen Raum geplant. Gemäß der vorliegenden Erfindung ist ein technisches Mittel zum Gewinnen einer Interpolationsformel, die in der Stufe der Interpolation anwendbar ist, für die Geschwindigkeitsregelung während einer Bewegung zum Verbinden zweier Bewegungen, wie einer geradlinigen Bewegung und einer bogenförmigen Bewegung, vorgesehen.
  • Um eine Interpolationsformel zu gewinnen, die während einer Verbindungsbewegung anwendbar ist, ist es nur notwendig, eine Formel mit einem Parameter, der auf einem Zeitpunkt t basiert, zu beschreiben, die eine Kurve repräsentiert, die zwei Verbindungspunkte glatt verbindet. In dem Fall, in dem die "Konstant-Geschwindigkeitsregelung" gewünscht ist, wird eine Funktion p(T, t), die eine Grenzbedingung erfüllt, die einer Ck-Klasse (wobei k eine positive ganze Zahl ist) der Glätte entspricht, die für die Verbindungsbewegung erforderlich ist, als eine polynomische Gleichung oder dgl. gewonnen, die einen unbekannten Parameter T enthält, welcher der Verbindungs-Zeitperiode entspricht, und es wird ein Berechnungsprozess ausgeführt, um einen Wert von T, T = T0, zu gewinnen, mit dem die Geschwindigkeit durch Optimieren einer Bewertungsfunktion ε(T) zum Bewerten einer Abweichung des partiellen Differentials der Zeit in der Funktion p(T, t) von einem Referenzwert über die Verbindungsbewegung hinweg zumindest ungefähr konstant gehalten wird.
  • Der Referenzwert für das partielle Differential der Zeit in der Funktion p(T, t) entspricht der Anfangsgeschwindigkeit der Verbindungsbewegung. Dann wird unter Benutzung von q(t) = p(T0, t) als die Parameter-Darstellung eine Interpolation in einem dreidimensionalen Raum durchgeführt, wodurch die Geschwindigkeit über die Verbindungsbewegung hinweg auf einen konstanten Wert geregelt wird.
  • Auch in dem Fall, in dem die gewünschte Regelung eine derartige ist, bei welcher der Geschwindigkeit gestattet ist, sich einem gewünschten Übergang zu unterziehen, wird eine Funktion p(T, t), die eine Grenzbedingung erfüllt, die einer Ck-Klasse (wobei k eine positive ganze Zahl ist) der Glätte entspricht, die für die Verbindungsbewegung erforderlich ist, als eine polynomische Gleichung oder dgl. gewonnen, die den unbekannten Parameter T enthält, welcher der Verbindungs-Zeitperiode entspricht, und es wird ein Berechnungsprozess ausgeführt, um einen Wert von T, T = T0, zu gewinnen, mit dem die Geschwindigkeit durch Optimieren der Bewertungsfunktion ε(T) zum Bewerten einer Abweichung der partiellen Ableitung der Zeit in der Funktion p(T, t) von einem Referenzwert über die Verbindungsbewegung hinweg zumindest ungefähr konstant gehalten wird.
  • Der Referenzwert für die partielle Ableitung der Zeit in der Funktion p(T, t) entspricht der Anfangsgeschwindigkeit der Verbindungsbewegung.
  • Anstelle des direkten Benutzens von q(t) = p(T0, t) als die Parameter-Darstellung werden s(t) = (qof)(t), eine zusammengesetzte Funktion q(t) = p(T0, t) und eine Einstellfunktion f(t) als Parameter-Darstellung s(t) benutzt. Für die Einstellfunktion f(t) wird eine Funktion ausgewählt, die im engeren Sinn eine Ck-Klassen-Glätte hat und eine gleichförmige Zunahme veranlasst.
  • Wenn t innerhalb eines Bereichs von 0 ≤ t ≤ f–1(T0) geändert wird, überlappt die zusammengesetzte Funktion s(t) = (qof)(t) den Weg von q(t) = p(T0, t), [0 ≤ t ≤ T0]. Die Geschwindigkeit längs des Wegs kann andererseits durch Auswahl der Funktion f(t) frei variiert werden.
  • Mehr im einzelnen kann die Funktion f(t) so betrachtet werden, dass sie eine Funktion zum Einstellen (Expandieren Komprimieren) des Ablaufs der Zeit hat. Aus diesem Grund ist f(t) in der vorliegenden Beschreibung "Einstellfunktion" genannt.
  • 1 zeigt ein Blockschaltbild, das eine typische Konfiguration eines Hauptteils einer Roboter-Steuerein richtung darstellt, auf die ein Ausführungsbeispiel der vorliegenden Erfindung angewendet ist.
  • 2 zeigt ein Blockschaltbild, das schematisch ein Verarbeitungssystem darstellt, das für eine Roboter-Steuerung benutzt wird.
  • 3 zeigt ein Diagramm, das eine Verbindungsbewegung zum glatten Verbinden der Wege zweier bogenförmiger Bewegungen veranschaulicht.
  • 4 zeigt ein Diagramm des Ergebnisses einer Berechnung eines Übergangs einer Geschwindigkeit (absoluter Wert des Ergebnisses der zeitbasierten partiellen Differentiation einer Position) unter Benutzung eines bestimmten numerischen Werts gemäß einem Ausführungsbeispiel, das einem Fall [1] entspricht.
  • 5 zeigt ein Diagramm, das eine Verbindungskurve S und Bewegungswege, die derselben vorhergehen und folgen, darstellt, welche Verbindungskurve in dem Ausführungsbeispiel gewonnen ist, das einem Fall gemäß 4 entspricht.
  • 6 zeigt ein Flussdiagramm, das schematisch einen Interpolationsprozess zum Aufrechterhalten einer konstanten Geschwindigkeit längs einer Verbindungskurve darstellt.
  • 7 zeigt ein Diagramm, das den Übergang einer Einstellfunktion f(t) darstellt, die in dem Ausführungsbeispiel benutzt wird.
  • 8 zeigt ein Diagramm, das den Übergang eines Differentials von t erster Ordnung in einer zusammengesetzten Funktion (gof)(t) darstellt, die eine Einstellfunktion f(t) benutzt, deren Übergang in 7 ge zeigt ist.
  • 9 zeigt ein Flussdiagramm, das schematisch einen Interpolationsprozess zum Regeln der Geschwindigkeit längs der Verbindungskurve auf einen Wert darstellt, der abhängig von der Einstellfunktion f(t) variiert.
  • Um ein Interpoltionsverfahren gemäß der vorliegenden Erfindung während einer Wegeplanung auszuführen, kann eine Roboter-Steuereinrichtung benutzt werden, die eine gewöhnliche Hardware-Konfiguration hat. 1 zeigt ein Blockschaltbild, das ein Beispiel für eine typische Konfiguration eines Hauptteils einer solchen Steuereinrichtung darstellt.
  • Wie in 1 gezeigt ist eine Roboter-Steuereinrichtung 30 mit einer Prozessor-Karte 31 versehen, auf der ein Mikroprozessor, der als eine zentrale Verarbeitungseinheit (CPU) 31a dient, ein ROM 31b und ein RAM 31c montiert sind.
  • Die CPU 31a steuert umfassend die Gesamtheit der Roboter-Steuereinrichtung in Übereinstimmung mit einem Systemprogramm, das in dem ROM 31b gespeichert ist. Ein beträchtlicher Teil des RAM 31c bildet einen nichtflüchtigen Speicherbereich zum Speichern eingelernter Daten, Positionsdaten, verschiedener gesetzter Werte, Betriebsprogramme usw.. Außerdem wird ein Teil des RAM 31c zur vorübergehenden Speicherung von Daten für durch die CPU 31a auszuführende Berechnungen usw. benutzt.
  • Die Prozessor-Karte 31 ist mit einem Bus 37 verbunden, so dass Befehle und Daten mit anderen anderen Teilen der Roboter-Steuereinrichtung mittels der Busverbindung ausgetauscht werden können. Um genauer zu sein sei angemerkt, dass mit der Prozessor-Karte 31 eine digitale Servosteuerschaltung 32 verbunden ist, wodurch Servomotoren 51 bis 56 in Reaktion auf die Befehle von der CPU 31a über einen Ser voverstärker 33 getrieben werden. Die Servomotoren 51 bis 56, die jeweilige Achsen betätigen, sind in einen Roboter RB eingebaut.
  • Mit dem Bus 37 sind außerdem serielle Anschlüsse 34 verbunden, die ihrerseits mit einem Einlern-Steuerfeld 57, das mit einer Flüssigkristall-Anzeige ausgestattet ist, und einer RS-232C-Einrichtung (Kommunikations-Schnittstelle) 58 verbunden sind. Das Einlern-Steuerfeld 57 wird für die Eingabe von Programmen, wie Betriebsprogrammen, Positionsdaten und anderen notwendigen gesetzten Werten usw, benutzt. Zusätzlich sind eine digitale Signaleingabe/Ausgabe-Einrichtung (digitale I/0) 35 und eine analoge Signaleingabe/Ausgabe-Einrichtung (analoge I/0) 36 mit dem Bus 37 verbunden.
  • 2 zeigt ein Blockschaltbild, das schematisch ein Verarbeitungssystem darstellt, das für die Roboter-Steuerung benutzt wird. Zuerst wird ein Betriebsprogramm gelesen und interpretiert (dekodiert), wodurch ein eingelernter Weg, Geschwindigkeitsbefehle und dgl. bestimmt werden.
  • Bei der nachfolgenden Bewegungswegeplanung wird ein Bewegungswegeplan in bezug auf die bestimmten Einzelheiten (eingelernter Weg, Geschwindigkeitsbefehle, usw.) gebildet. Während dieser Bewegungswegeplanung werden Interpolationspunkte in einem dreidimensionalen Raum berechnet, und dann werden Interpolationspunkte für die einzelnen Achsen mittels inverser Bewegungen bestimmt. Die Interpolationspunkte, die auf diese Weise bestimmt sind, werden in vorbestimmten Zeitintervallen zu Servosteuersystemen der jeweiligen Achsen übertragen, wodurch die Servomotoren der jeweiligen Achsen einer Servosteuerung unterzogen werden.
  • Hardbetriebsmäßig betrachtet ist es gängige Praxis, dass eine Reihe von Prozessen von der Interpretation des Programms bis zur Bestimmung von Interpolationspunkten für die einzelnen Achsen durch eine Haupt-CPU 31a der Roboter-Steu ereinrichtung 30 ausgeführt werden, dass eine Servo-CPU in der digitalen Servosteuerschaltung 32 die Information bezüglich der Interpolationspunkte über einen gemeinsam benutzten RAM empfängt und eine Servosteuerung der Servomotoren 51 bis 56 der jeweiligen Achsen ausführt.
  • Die Aufgabe der vorliegenden Erfindung wird durch eine neuartige Berechnungsprozedur für die Berechnung von Interpolationspunkten in einem dreidimensionalen Raum für einen gegebenen Block der "Bewegungswegeplanung" gelöst. Diese Berechnungsprozedur wird im folgenden unter Bezugnahme auf ein Beispiel für einen Fall erklärt, das in 3 gezeigt ist.
  • In 3 repräsentieren die Zeichen G u. H jeweils Wege zweier bogenförmiger Bewegungen. Diese Bewegungen sind so eingetragen, dass sie den Nullpunkt 0 eines dreidimensionalen orthogonalen Koordinatensystem 0 – xyz durchlaufen. Für dieses Ausführungsbeispiel wird die Berechnungsprozedur für den Interpolationsprozess für ein glattes Verbinden von Punkten a(0) u. b(0) auf den bogenförmigen Wegen G u. H durch eine Verbindungskurve S unter Bezugnahme auf einen Fall [1], wobei eine Geschwindigkeitsregelung durchgeführt wird, so dass die Geschwindigkeit längs der Verbindungskurve, die eine C2-Klassen-Glätte hat, konstant gehalten wird, einen Fall [2], wobei eine Geschwindigkeitsregelung durchgeführt wird, so dass die Geschwindigkeit längs der Verbindungskurve konstant gehalten wird, die eine gewöhnliche Ck-Klassen-Glätte hat (wobei k eine positive ganze Zahl ist), und einen Fall [3] beschrieben, wobei eine gewöhnliche Geschwindigkeitsregelung durchgeführt wird, so dass die Geschwindigkeit längs der Verbindungskurve variiert wird. Verschiedene Zeichen, die in der folgenden Beschreibung und in 3 auftreten, haben die Bedeutungen, die im folgen aufgelistet sind. Zeichen, die nicht in der folgenden Liste enthalten sind, werden – wenn nötig – erklärt.
    • a(0): Positionsvektor, der den Beginnpunkt der Verbindungskurve S repräsentiert.
    • b(0): Positionsvektor, der den Endpunkt der Verbindungskurve S repräsentiert.
    • a(1): Vektor (Geschwindigkeitsvektor), der die Bewegungsgeschwindigkeit des Roboters bei dem Beginnpunkt der Verbindungskurve S repräsentiert.
    • b(1): Vektor, der die Geschwindigkeit des Roboters bei dem Endpunkt der Verbindungskurve S repräsentiert.
    • a(2): Vektor, der die Beschleunigung des Roboters bei dem Beginnpunkt der Verbindungskurve S repräsentiert.
    • b(2): Vektor, der die Beschleunigung des Roboters bei dem Endpunkt der Verbindungskurve S repräsentiert.
    • p(T, t): Eine Funktion, welche die Verbindungskurve S unter Benutzung eines Parameters t repräsentiert, der einen Zeitpunkt repräsentiert, wobei der Wert desselben eine Vektormenge ist.
  • Der Parameter t kann irgendeinen Wert haben, der in einen Bereich 0 ≤ t ≤ T fällt, wobei t = 0 einen Zeitpunkt angibt, der dem Beginnpunkt der Verbindungskurve S entspricht, und t = T einen Zeitpunkt angibt, der dem Endpunkt der Verbindungskurve S entspricht. T repräsentiert eine Zeitperiode (Verbindunszeitperiode), die für das Durchlaufen der Verbindungskurve S erforderlich ist. Die zuvor angegebene Schreibweise wird benutzt, um der Tatsache Rechnung zu tragen, dass der Wert (positive reale Zahl) von T vor einer Berechnung unbekannt ist.
  • Fall [1], in dem die Geschwindigkeitsregelung derart durchgeführt wird, dass die Geschwindigkeit längs einer Verbindungskurve, welche die C2-Klassen-Glätte hat, konstant gehalten wird:
  • In diesem Fall wird angenommen, dass die Geschwindigkeiten a(1) u. b(1) bei den sich gegenüberliegenden Enden (d. h. dem Endpunkt des Wegs G der ersten bogenförmigen Bewegung und dem Beginnpunkt des Wegs H der zweiten bogenförmigen Bewegung) der Verbindungskurve S in ihrer Größe gleich sind, und dies wird im folgenden durch Gl. (1) angegeben. Diese Annahme ist im Hinblick auf die Bedingungen angemessen, dass die zwei Bewegungen glatt verbunden werden sollten und dass die Geschwindigkeit konstant gehalten werden sollte. Eine Geschwindigkeit v, die als ein Referenzwert für die Geschwindigkeitsregelung benutzt wird, ist natürlich eine skalare Größe.
  • Figure 00130001
  • Es ist eine Interpolationsformel zum Bestimmen der Interpolationspunkte auf der Verbindungskurve S derart einzuführen, dass die Geschwindigkeit längs der Verbindungskurve zu zumindest einem ungefähr konstanten Wert v wird und auch, dass die C2-Klassen-Glätte in bezug auf den Parameter t gewonnen werden kann, der den Zeitpunkt repräsentiert. Damit die Verbindungskurve S die C2-Klassen-Glätte in bezug auf den Zeitpunkt t hat, muss die zuvor erwähnte Funktion p(T, t), welche die Verbindungskurve S mittels des Parameters repräsentiert, Grenzbedingungen (2) bis (7) erfüllen, die im folgenden angegeben sind. p(T, T) = a(0) (2) p(T, T) = b(0) (3)
  • Figure 00130002
  • Es ist eine Anzahl von Funktionen p(T, t), die diese Bedingungen erfüllen, denkbar. In diesem Ausführungsbeispiel wird jedoch eine polynomische Gleichung für t benutzt. Optionen, die anders als die polynomische Gleichung sind, enthalten z. B. eine Fouriersche Reihe. In dem Fall, in dem eine polynomische Gleichung benutzt wird, ist zumindest eine polynomische Gleichung fünften Grades erforderlich, um alle der zuvor genannten Grenzbedingungen zu erfüllen. In diesem Beispiel kommt die unten stehende Gl. (8) als eine polynomische Gleichung zum Einsatz, welche die Funktion p(T, t) repräsentiert. p(T, t) = a(0) + (t/T)3{10 – 15·(t/T) + 6(t/T)2}(b(0) – a(0)) + T(1 – t/T)3(t/T)(1 + 3·(t/T)}a(1) – T(1 – t/T)(t/T)3{4 – 3·(t/T)}b(1) + (T2/2)(1 – t/T)3(t/T)2a(2) + (T2/2)(1 – t/T)2(t/T)3b(2) (8)
  • Das Polynom, das durch Gl. (8) angegeben ist, wird durch Annahme der untenstehenden Gl. (9) als die Beschleunigung gemäß der Funktion p(T, t) und Anwenden der Grenzbedingungen (2) bis (7) gewonnen. In der untenstehenden Gleichung repräsentieren c0, c1, c2 u. c3 jeweils ein konstantes Vektorglied. Die Gleichungen (8) u. (9) haben eine polynomische Form in bezug auf (t/T), und diese Größe (t/T) entspricht einer Variablen (der Rate einer Bewegung längs der Verbindungskurve, die auf der Zeit basiert), die durch Normierung des Zeitpunkts t mittels einer unbekannten Verbindungs-Zeitperiode T gewonnen ist.
  • Figure 00140001
  • In dieser Stufe verbleibt der Parameter T, der die Verbindungs-Zeitperiode repräsentiert, unbestimmt, und daher ist die Verbindungskurve S noch nicht spezifisch bestimmt. In dem gegenwärtigen Fall [1] muss der Parameter T, der durch die zuvor angegebene Gleichung (1) definiert ist, da die gewünschte Regelung derart durchgeführt wird, dass die Geschwindigkeit bei dem konstanten Wert v gehalten wird, derart für die Funktion p(T, t), die durch Gl. (8) angegeben ist, gesetzt werden, dass die Geschwindigkeit so nahe wie möglich bei v gehalten wird, während t innerhalb des Bereichs 0 ≤ t ≤ T variiert.
  • Um dies zu erreichen, ist eine Abweichung der Geschwindigkeit von dem konstanten Wert v unter Benutzung irgendeiner geeigneten Bewertungsfunktion ε(T) zu bewerten, und der Parameter T ist derart zu bestimmen, dass die Bewertungsfunktion ε(T) optimiert werden kann. Es können verschiedene Funktionen, wie eine solche Bewertungsfunktion, zum Einsatz kommen. In diesem Beispiel wird jedoch eine Funktion ε(T) benutzt, die durch die untenstehende Gl. (10) angegeben ist.
  • Figure 00150001
  • Die Berechnung zum Bestimmen des Parameters T kann auf das Optimierungsproblem bezüglich der zuvor genannten Bewertungsfunktion ε(T) reduziert werden, wenn a(0), b(0), a(1), b(1), a(2), b(2) u. v jeweils als bestimmte Werte gegeben sind. In diesem Fall muss ein Minimierungsproblem bezüglich ε(T), das durch die untenstehende Gl. (11) angegeben ist, gelöst werden. ε(T) → min (11)
  • Hierbei werden bestimmte Werte, die durch die folgenden Gleichungen (12) bis (18) angegeben sind, als Beispiele angenommen, wobei a(0) = [–250(2 – √2), 0, 250√2] (12)b(0) = [0, 250(2 – √2), 250√2] (13)a(1) = [500√2, 0 –500√2)] (14) b(1) = [0, 500√2, 500√2)]] (15) a(2) = [–1000√2, 0 –1000√2)] (16) b(2) = [0, 1000√2, –1000√2)] (17) v = 1000 (18) ε(T) = 0 (19),
  • Eine Gleichung, die durch Ersetzen von "min" durch "0" in Gl. (11) gewonnen wird, ergibt eine bedeutsame Lösung (T > 0), die T = T0 = ungefähr 0,270 (20)lautet.
  • Unter der Bedingung gemäß Gl. (20) wird, wenn der Übergang der Geschwindigkeit (die Größe, die durch Unterziehen der Position einer zeitbasierten partiellen Differentiation gewonnen wird) innerhalb des Bereichs 0 ≤ t ≤ T0 berechnet wird, ein Diagramm gewonnen, das in 4 gezeigt ist.
  • 5 zeigt die Verbindungskurve S, die durch p(T, t) repräsentiert ist, und die Bewegungswege, die derselben vorhergehen und nachfolgen. Wie in dem Diagramm gemäß 4, angegeben, ist die relative Abweichung der Geschwindigkeit. von v = 1000 längs der Verbindungskurve S(0 ≤ t ≤ T0) sehr klein. Genauer ausgedrückt beträgt der maximale Wert der Abweichung in positiver (+) Richtung 1.8%, und der maximale Wert der Abweichung in negativer (–) Richtung beträgt 1.1%, vorausgesetzt, dass die Konstant-Gesschwindigkeitsregelung mit guter Näherung erreicht ist.
  • Aus dem Vorstehenden folgt, dass durch Durchführen der Interpolation in einem dreidimensionalen Raum mittels der Funktion p(T0, t), die auf dem Zeitpunkt t basiert, der durch die zuvor beschriebene Berechnung beim Erstellen der Bewegungswegeplanung für die Bewegung längs des Wegs von dem Punkt a(0) bis zu dem Punkt b(0) bestimmt ist, eine derartige Regelung erreicht werden kann, dass sich der Roboter mit einer konstanten Geschwindigkeit längs einer Kurve bewegt, welche die Punkte a(0) u. b(0) glatt verbandet. Die Interpolationsverarbeitung, die auf der Funktion p(T0, t) basiert, wird nach der Verarbeitung für die bogenförmige Bewegung G ausgeführt. Ein Überblick über die Interpolationsverarbeitung ist in dem Flussdiagramm gemäß 6 gezeigt.
  • Zuerst wird ein Block, der eine Bewegungsdarstellung für eine Verbindungsbewegung enthält, die den Roboter veranlasst, sich mit einer konstanten Geschwindigkeit längs einer Kurve zu bewegen, welche die Punkte a(0) u. b(0) glatt verbindet, aus dem Betriebsprogramm ausgelesen (Schritt M1). Dann wird auf der Grundlage der zuvor angegeben Gleichungen (8) u. (10) die Bewertungsfunktion ε(T) berechnet (Schritt M2), und es wird ein Optimierungsproblem bezüglich der Bewertungsfunktion ε(T) gelöst, um einen optimalen Wert T0 des Parameters T zu gewinnen (Schritt M3).
  • Die Berechnungen, die in den Schritten M2 u. M3 durchzuführen sind, erfordern die Daten bezüglich der Positionen der Verbindungspunkte, der Geschwindigkeit und der Beschleunigung, nämlich a(0), b(0), a(1), b(1), a(2) u. b(2). Für diese Datenwörter können Programmdaten, die sich auf die bogenförmigen Bewegungen G u. H beziehen, oder Daten, die für die Bewegungswegeplanung für die bogenförmigen Bewegungen G u. H definiert sind, benutzt werden.
  • Nachdem der optimale Wert T0 gewonnen ist, wird die Berechnung von Interpolationspunkten gestartet. Die Interpolationspunkte werden durch Wiederholen der Berechnung der zuvor angegebenen Gl. (8) unter der Bedingung T = T0 durch graduelles Erhöhen von t für jeden Vearbeitungszyklus Δt, bis t T0 erreicht, bestimmt (Schritte M4 bis M6).
  • Die Interpolationspunkte, die auf diese Weise bestimmt sind, werden durch eine Invers-Transformationsberechnung, die aus dem Stand der Technik bekannt ist, in Impulse (Bewegungsbefehle) umgewandelt, welche die Interpolationspunkte für die einzelnen Achsen repräsentieren, und die Impulse, die auf diese Weise gewonnen sind, werden zu den Servosteuersystemen übertragen, die den jeweiligen Achsen zugeordnet sind. Die Servosteuersysteme der jeweiligen Achsen steuern die entsprechenden Servomotoren des Roboters in Übereinstimmung mit den empfangenen Bewegungsbefehlen. Als Ergebnis kann ein derartiger Steuerbetrieb erreicht werden, dass der Roboter mit einer konstanten Geschwindigkeit v längs der Verbindungskurve S, welche die Verbindungspunkte a(0) u. b(0) glatt verbindet und die durch p(T0, t) ausgedrückt ist, bewegt wird.
  • Fall [2], bei dem die Geschwindigkeitsregelung derart durchgeführt wird, dass die Geschwindigkeit längs einer Verbindungskurve, welche die gewöhnliche Ck-Klassen-Glätte hat (wobei k eine positive ganze Zahl ist), konstant gehalten wird:
  • Das Verfahren, das zuvor unter Bezugnahme auf den Fall [1] (Konstant-Gesschwindigkeitsregelung für die C2-Klasse) beschrieben wurde, wird an den Fall [2] angepasst erweitert und verallgemeinert, wie dies im folgenden beschrieben wird.
  • Das Erste, was zu tun ist, ist es möglich zu machen, eine Verbindungskurve, welche eine Ck-Klassen-Glätte (k ist eine positive ganze Zahl) in bezug auf den Zeitpunkt t hat, und mit einer (ungefähr) konstanten Geschwindigkeit v (>0) zu bilden. Die Grenzbedingungen für die Verbindungskurve können algemein durch Gleichungen (21) bis (23), die im folgenden angegeben sind, gegeben sein. Für ∀i ∈ {0, ..., k} (21),
    Figure 00190001
    wobei a(1) u. b(1) Werte sind, die vorab durch Programmdaten oder dgl. gegeben sein sollten und die folgenden Bedingungen (24) bis (26) erfüllen müssen: a(i), b(i) ∈ Rn (24)(wobei Rn ein n-dimensionaler realer Vektorraum ist) |a(1)| = |b(1)| = v (25) n ist eine positive ganze Zahl (üblicherweise ist n = 3) (26)
  • Selbst wenn eine Funktion p(T, t), die diese Grenzbedingungen erfüllt und auch eine Ck-Klassen-Glätte in bezug auf den Zeitpunkt t zur Verfügung stellt, gefunden werden kann, ist es im allgemeinen in dieser Stufe unmöglich, die Geschwindigkeit, d. h. die Größe des partiellen Differentials von t in der Funktion p(T, t), genügend nahe an dem konstanten Wert v innerhalb des Intervalls 0 ≤ t ≤ T einzustellen. Daher sollte in Betracht gezogen werden, den Wert des unbekannten Parameters T wie in dem Fall [1] anzupassen. Um dies zu erreichen, muss eine geeignete Bewertungsfunktion ε(T) gegeben sein, und es muss ein Optimierungsproblem bezüglich dieser Funktion, d. h. ε(T) → min (27),für T gelöst werden. Beispiele für eine solche Bewertungsfunktion sind durch die folgenden Gleichungen (28) bis (31) g gezeigt.
  • Figure 00200001
  • Dieses Problem kann analytisch oder näherungsweise durch folgende Prozedur, die ähnlich derjenigen ist, die in dem Fall [1] zum Einsatz kommt, gelöst werden, um p(T, t) zu finden. In dem Fall, in dem eine polynomische Gleichung für p(T, t) eingesetzt wird, wird die Zahl des Grades 1 derselben auf einen Wert gesetzt, der größer als ein vorbestimmter Wert oder gleich diesem ist, welcher Wert abhängig von k bestimmt wird (in dem Fall k = 2; der zuvor erwähnt ist, wird 1 zu 5), wodurch eine polynomische Gleichung, welche die Grenzbedingungen (21) bis (23) erfüllt, gewonnen werden kann.
  • Bei der Bewegungswegeplanung für die Bewegung längs des Wegs von dem Punkt a(0) zu dem Punkt b(0) kann, wenn eine Interpolation in einem dreidimensionalen Raum unter Benutzung der Funktion p(T, t), wobei T = T0 (Lösung des Optimierungsproblems), vorgenommen wird, eine Regelung derart, dass der Roboter mit einer konstanten Geschwindigkeit längs einer Kurve bewegt wird, welche die Punkte a(0) u. b(0) mit der Ck-Klassen-Glätte verbindet, realisiert werden. Der Interpolationsprozess, der auf der Funktion p(T0, t) basiert, ist identisch mit demjenigen, der in dem Fall [1] ausgeführt wird (s. das Flussdiagramm gemäß 6), und demzufolge ist eine Beschreibung desselben fortgelassen.
  • Fall [3], bei dem eine gewöhnliche Geschwindigkeitsregelung durch Variieren der Geschwindigkeit längs der Verbindungskurve durchgeführt wird:
  • An dieser Stelle wird erörtert, dass anstelle der Bedingung, derzufolge die Geschwindigkeit längs der Verbindungskurve konstant gehalten wird, die Bedingung auferlegt ist, dass die Geschwindigkeit in einer gewünschten Weise längs der Verbindungskurve geregelt wird. In diesem Fall ist es jedoch erforderlich, dass die zu gewinnende Verbindungskurve die Ck-Klassen-Glätte einhält (k ist eine positive ganze Zahl).
  • Zuerst wird der Prozedur folgend, die zuvor unter Bezugnahme auf den Fall [1] oder [2] beschrieben ist, ein optimaler. Wert T0 des Parameters T gewonnen, und es wird eine optimierte Funktion p(T0, t) bestimmt. Bezüglich dieser Funktion, bei der T auf T0 festgelegt ist, wird im folgenden auf q(t) verwiesen.
  • Figure 00210001
  • Für q(t) wird eine Einstellfunktion f(t) gewonnen, welche die folgenden Bedingungen (33) bis (37) erfüllt, und es wird eine zu benutzende zusammengesetzte Funktion (qof)(t) als eine Grundlage für die Interpolationsformel eingeführt, wodurch es möglich wird, eine gewöhnliche Geschwindigkeitsregelung durchzuführen. Hierbei wird das Zeichen O benutzt, das eine zusammengesetzte. Funktion repräsentiert, und die zusammengesetzte Funktion (qof)(t) wird alternativ durch s(t) angegeben, wo dies passend ist. f: R → R (33)(R repräsentiert einen realen Zahlenkörper.) f ist die Ck-Klasse in R (34) f ist im engeren Sinne eine monotone Zunahme (35) f(0) = 0 (36)
  • Für einen bestimmten positiven Wert erfüllt t0 f(t) f(t0) = T0 (37)
  • Wenn f(t) = t als ein spezieller Fall betrachtet wird, der eine von Funktionen darstellt, welche die zuvor angegebenen Bedingungen (33) bis (37) erfüllt, ist s(t) = (qOf)(t) selbst gleich q(t), und dieser Fall fällt mit dem Fall [1] oder [2] zusammen. Wenn eine Interpolation auf der Grundlage dieser Beziehung durchgeführt wird, kann natürlich eine Regelung für eine konstante Geschwindigkeit V realisiert werden.
  • Bei Benutzung einer solchen zusammengesetzten Funktion s(t) = (qOf)(t) als eine Grundlage der Interpolationsformel können die Vorteile, die in folgenden erwähnt sind, gleichzeitig erreicht werden.
    • 1. Der Weg von q(t) = p(T0, t) [0 ≤ t ≤ T0] fällt mit dem Weg der zusammengesetzten Funktion s(t) = (qof)(t) [0 ≤ t ≤ f–1(T0)] zusammen.
    • 2. Die Geschwindigkeit, die durch die untenstehende Gl. (38) gegeben ist, kann andererseits durch Auswahl der Einstellfunktion f(t) frei variiert werden. Das bedeutet, dass die Funktion f so betrachtet werden kann, als habe sie die Fähigkeit, die Zeitspanne einzustellen (zu dehnen und zu komprimieren).
  • Figure 00220001
  • Als ein bestimmtes Beispiel für das Variieren der Geschwindigkeit längs der Verbindungskurve wird ein Interpolations-Verfahren, das eine "Verbindungsbewegung, bei welcher eine Verzögerung von einer Anfangsgeschwindigkeit ||a(1)|| = v bis zu einer Endgeschwindigkeit ||b(1)|| = v/2 längs der Verbindungskurve S durchgeführt wird" erlaubt, unter Bezugnahme auf den Fall [1] (s. 4 bis 6 und die darauf bezogene Erklärung) auf Grundlage der Verbindungsbewegung erklärt, bei der die Geschwindigkeit auf eine konstante Geschwindigkeit geregelt wird. In diesem Fall sei angenommen, dass die erforderlich Glätte für die Verbindungskurve S wie in dem Fall [1] von der C2-Klasse ist. Die C2-Klassen-Glätte stellt the Stetigkeit von Position, Geschwindigkeit und Beschleunigung sicher, und ist eine zweckmäßige, fundamentale Bedingung, damit der Roboter veranlasst wird, eine glatte Bewegung (besonders in der Nähe der Verbindungspunkte) auszuführen.
  • In diesem Beispiel wird die im folgenden beschriebene Prozedur eingesetzt, um eine Einstellfunktion zu gewinnen f(t), welche die C2-Klassen-Glätte nicht zunichtemacht.
  • Zunächst sind eine Funktion g(t) und Konstanten T1 u. T2 gegeben, welche die untenstehenden Bedingungen (39) bis (42) erfüllen. Dann erfüllt die Funktion f(t), die auf diese Weise gewonnen und durch Gl. (43) repräsentiert ist, alle der zuvor angegeben Bedingungen (33) bis (37) (in diesem Beispiel ist k = 2). g: R – R (39)(R repräsentiert einen realen Zahlenkörper.)
    Figure 00230001
    T1 > 0, T2 > 0 (41) T1 > T2 (42)
  • Figure 00240001
  • Für willkürlich gegebene T1 u. T2 und die Einstellfunktion f(t), die auf diese Weise gewonnen ist, gilt die folgende Gleichung: f(T1 + T2) = (3/4)(T1 + T2) (44)Demzufolge, wenn die Konstanten T1 u. T2 derart ausgewählt werden, dass T1 + T2 = (4/3)T0 (45)gelten wird, kann f(T1 + T2) = T0 (46)gewonnen werden.
  • Die Diagramme gemäß 7 und 8 zeigen jeweils den Übergang der Einstellfunktion f(t) und den Übergang der Größe des Differentials erster Ordnung von t in der zusammengesetzten Funktion (qof)(t)in dem zuvor beschriebenen Fall. In diesem Fall offenbaren die Figuren, dass die Verzögerungs-Zeitperiode und die Verbindungs-Zeitperiode mit einander zusammenfallen, was der zuvor angegebenen Gl. (46) entspricht. Die Form oder die Kurve (in diesem Fall das Verzögerungsmuster), die in dem Diagramm gemäß 8 gezeigt ist, kann durch Auswahl der Kombination von T1 u. T2 geändert werden. Das bedeutet, dass der Übergang der Geschwindigkeit des Roboters steuerbar ist.
  • Wie aus dem Vorstehenden zu ersehen kann durch Durchführen der Interpolation in einem dreidimensionalen Raum, was auf der zuvor angegeben Funktion (qof) beruht, während der Bewegungswegeplanung für die Bewegung längs des Wegs von dem Punkt a(0) bis zu dem Punkt b(0) eine Regelung in einer Weise erreicht werden, dass der Roboter längs einer Kurve bewegt wird, welche die Punkte a(0) u. b(0) glatt verbindet, während zur gleichen Zeit ermöglicht ist, die Geschwindigkeit desselben in Übereinstimmung mit dem Muster, das mittels der Einstellfunktion f(t) bestimmt ist, zu variieren. Der Interpolationsprozess, der auf der Funktion (qof)(t) basiert, wird dem Prozess für die bogenförmige Bewegung G nachfolgend ausgeführt, und ein Überblich über denselben ist in dem Flussdiagramm gemäß 9 gezeigt. Daten (Verhältnis von T1 zu T2 usw.), die sich auf die Einstellfunktion f(t) beziehen, werden vorab in dem Speicher der Roboter-Steuereinrichtung gespeichert.
  • Zuerst wird ein Block, der eine Bewegungsdarstellung zum Ausführen einer Verbindungsbewegung enthält, die den Roboter veranlasst, sich mit einer konstanten Geschwindigkeit längs einer Kurve zu bewegen, welche die Punkte a(0) u. b(0) glatt verbindet, aus dem Betriebsprogramm ausgelesen (Schritt W1). Dann wird basierend auf den zuvor angegebenen Gleichungen (8) u. (10) oder auf Gl. (8) und einer der Gleichungen (28) bis (31) die Bewertungsfunktion ε(T) berechnet (Schritt W2), und es wird ein Optimierungsproblem für die Bewertungsfunktion ε(T) gelöst, um einen optimalen Wert T0 des Parameters T zu gewinnen (Schritt W3).
  • Für die Berechnungen in den Schritten W2 u. W3 werden die gleichen Daten a(0), b(0), a(1), b(1), a(2) u. b(2) wie diejenigen benutzt, die in dem Fall [1] benutzt werden. Es sei hier angemerkt, dass obwohl die Daten a(0), a(1) u. a(2), welche die Position, die Geschwindigkeit und die Beschleunigung bei dem Beginnpunkt der Verbindungskurve repräsentieren, und die Daten b(0), welche die Position des Endpunkts der Verbindungskurve repräsentieren, reale Daten sind, die Daten b(1) u. b(2), welche die Geschwindigkeit und die Beschleunigung bei dem Endpunkt der Verbindungskurve repräsentieren, keine realen Daten sind und von der zuvor angegebenen Bedingungsgleichung (1) usw. abhängen. Der Grund dafür ist, dass die Funktion p(T0, t) zum Berechnen von (qOf)(t), welcher Ausdruck schließlich auf die Interpolationsformel anzuwenden ist, unter der Bedingung gemäß Gl. (1) gewonnen wird.
  • Nachdem der optimale Wert T0 gewonnen ist, wird die Berechnung der Interpolationspunkte gestartet. Die Interpolationspunkte werden durch wiederholtes Berechnen des Werts der zusammengesetzten Funktion (qOf)(t) bestimmt, während t graduell für jeden Vearbeitungszyklus Δt erhöht wird, bis t f–1(T0) erreicht (Schritte W4 bis W6). Die Definition der zusammengesetzten Funktion (qOf)(t) ist diejenige, wie sie bereits zuvor erklärt wurde. Für f(t) kann die Definition, die auf Gl. (43) basiert, unter Benutzung von g(t) eingesetzt werden.
  • Die Interpolationspunkte, die auf diese Weise erzeugt sind, werden in Impulse (Bewegungsbefehle), welche die Interpolationspunkte für die einzelnen Achsen repräsentieren, durch eine Invers-Transformationsberechnung umgewandelt, die aus dem Stand der Technik bekannt ist, und die Impulse, die durch die Umwandlung erzeugt sind, werden zu den Servosteuersystemen übertragen, die den jeweiligen Achsen zugeordnet sind. Die Servosteuersysteme der jeweiligen Achsen steuern die entsprechenden Servomotoren des Roboters in Überein stimmung mit dem empfangenen Bewegungsbefehlen.
  • Folglich kann eine Steuerung derart ausgeführt werden, dass sich der Roboter mit einer Geschwindigkeit, die abhängig von der Einstellfunktion f(t) variiert, längs der Verbindungskurve S bewegt, welche die Verbindungspunkte a(0) u. b(0) glatt verbindet. In diesem Fall ist der Parameter der Verbindungskurve S, der den Zeitpunkt t benutzt, nicht p(T0, t), sondern (qof)(t). Das bedeutet, dass (qof)(t) die Verbindungsbewegung repräsentiert, die dem gleichen Weg wie p(T0, t) folgt, und dass die Geschwindigkeit derselben in Übereinstimmung mit der Einstellfunktion f(t) geregelt wird.
  • Die vorstehende Beschreibung ist hauptsächlich auf den Fall gerichtet, in dem bogenförmig Bewegungen mit einer Ck-Klassen-Glätte (k = 2) verbunden werden. Selbst in Fällen, in denen eine bogenförmige Bewegung und eine geradlinige Bewegung oder zwei geradlinige Bewegungen miteinander zu verbinden sind, kann jedoch selbstverständlich eine Interpolation für eine solche Verbindungsbewegung zusammen mit einer Geschwindigkeitsregelung unter Benutzung der zuvor beschriebenen technischen Idee gemäß der vorliegenden Erfindung durchgeführt werden. Ferner kann selbst in Fällen, in denen die erforderliche Klasse der Glätte anders als k = 2, p(T, t), f(t), usw. ist, diese gemäß der technischen Idee, die in der zuvor gegebenen Beschreibung erklärt ist, in geeigneter Weise ausgewählt werden, so dass die zwei Punkte durch eine Kurve verbunden werden können, die eine Glätte der Ck-Klasse hat (k = 1, 3, 4, ...) hat.
  • Gemäß der vorliegenden Erfindung ist es möglich, zwei Bewegungen (geradlinige Bewegungen oder bogenförmige Bewegungen) durch eine glatte Verbindungskurve miteinander zu verbinden, während ein Steuerbetrieb bei variierender Geschwindigkeit in Übereinstimmung mit einem gewünschten Übergangsmuster, das einen Steuerbetrieb bei konstanter Geschwindigkeit enthält, durchgeführt wird. Als Resultat ist es bei verschiedenen Anwendungen eines Roboters, wie eines Dichtungs-Roboters, eines Lichtbogenschweiß-Roboters usw., möglich, die Belastung des Systemaufbaus oder des Einlernvorgangs zu verringern.

Claims (7)

  1. Verfahren zur Kurveninterpolation zum Durchführen einer Geschwindigkeitsregelung während einer Bewegung zum Verbinden einer ersten Bewegung (G) und einer zweiten Bewegung (H) mit einer Wegbewegung eines Roboters beim Schaffen eines Bewegungswegeplans in Übereinstimmung mit einem Betriebsprogramm durch Software-Verarbeitung in einer Roboter-Steuereinrichtung (30), welches Kurveninterpolations-Verfahren gekennzeichnet ist durch Schritte zum (a) Bestimmen einer Gleichung, die eine Verbindungskurve (S) repräsentiert, die einen ersten Verbindungspunkt, der auf einem Weg der ersten Bewegung (G) bestimmt ist, und einen zweiten Verbindungspunkt, der auf einem Weg der zweiten Bewegung (H) bestimmt ist, mittels einer Parameter-Darstellung, die einen Zeitpunkt t enthält, glatt verbindet, und (b) periodischen Erzeugen eines Interpolationspunkts in einem dreidimensionalen Raum unter Benutzung der Parameter-Darstellung, wobei eine Funktion p(T, t), die eine Grenzbedingung in Übereinstimmung mit einer Ck-Klasse (wobei k eine positive ganze Zahl ist) einer Glätte erfüllt, die für die Verbindungsbewegung (S) erforderlich ist, erstellt wird, welche Funktion einen unbekannten Parameter T enthält, der einer Verbindungs-Zeitperiode entspricht, ein Berechnungsprozess durchgeführt wird, um einen Wert T = T0 zu gewinnen, mit dem die Geschwindigkeit durch die Verbindungsbewegung (S) durch Optimieren einer Bewertungsfunktion ε(T) zum Bewerten einer Abweichung eines partiellen Differentials der Funktion p(T, t) in bezug auf die Zeit von einem Referenzwert in Schritt im wesentlichen konstant (a) gehalten wird, und q(t) = p(T0, t) in Schritt (b) als die Parameter-Darstellung benutzt wird oder in dieser enthalten ist.
  2. Verfahren zur Kurveninterpolation zum Durchführen einer Geschwindigkeitsregelung während einer Verbindungsbewegung eines Roboters nach Anspruch 1, wobei q(t) in Schritt (b) als die Parameter-Darstellung benutzt wird, wodurch die Geschwindigkeit während der Verbindungsbewegung auf einen konstanten Wert geregelt wird.
  3. Verfahren zur Kurveninterpolation zum Durchführen einer Geschwindigkeitsregelung während einer Verbindungsbewegung eines Roboters nach Anspruch 1, das derart beschaffen ist, dass die Geschwindigkeit in den Schritten (a) u. (b) während der Verbindungsbewegung durch Benutzung als die zuvor genannte Parameter-Darstellung einem gewünschten Übergang unterzogen wird, wobei eine Parameter-Darstellung s(t) = (q0f)(t) eine zusammengesetzte Funktion aus der zuvor genannten Beziehung q(t) = p(T0, t) und einer Einstellfunktion f(t) ist und wobei die Einstellfunktion f(t) eine Ck-Klassen-Glätte hat und vorab bestimmt ist.
  4. Verfahren zur Kurveninterpolation zum Durchführen einer Geschwindigkeitsregelung während einer Verbindungsbewegung eines Roboters nach einem der vorhergehenden Ansprüche, wobei die Funktion p(T, t) als eine Gleichung erstellt wird.
  5. Verfahren zur Kurveninterpolation zum Durchführen einer Geschwindigkeitsregelung während einer Verbindungsbewegung eines Roboters nach Anspruch 1, 2 oder 3, wobei die Funktion p(T, t) als ein Polynom in bezug auf t erstellt wird.
  6. Verfahren zur Kurveninterpolation zum Durchführen einer Geschwindigkeitsregelung während einer Verbindungsbewegung eines Roboters nach einem der vorhergehenden Ansprüche, wobei die Klasse der Glätte, die für die Verbindungsbewegung erforderlich ist, die C2-Klasse ist.
  7. Verfahren zur Kurveninterpolation zum Durchführen einer Geschwindigkeitsregelung während einer Verbindungsbewegung eines Roboters nach einem der vorhergehenden Ansprüche, wobei zumindest eine von erster und zweiter Bewegung (G, H) eine bogenförmige Bewegung ist.
DE69634034T 1995-08-31 1996-09-02 Verfahren zur kurveninterpolation bei einer geschwindigkeitssteuerung eines roboters während eines überschleifvorganges Expired - Fee Related DE69634034T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP24510995A JP3476287B2 (ja) 1995-08-31 1995-08-31 ロボットの接続動作時に速度制御を行なうための曲線補間方法
JP24510995 1995-08-31
PCT/JP1996/002472 WO1997008596A1 (fr) 1995-08-31 1996-09-02 Procede d'interpolation de courbes pour la regulation de vitesse a l'occasion d'une jonction robotisee

Publications (2)

Publication Number Publication Date
DE69634034D1 DE69634034D1 (de) 2005-01-20
DE69634034T2 true DE69634034T2 (de) 2005-05-19

Family

ID=17128762

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69634034T Expired - Fee Related DE69634034T2 (de) 1995-08-31 1996-09-02 Verfahren zur kurveninterpolation bei einer geschwindigkeitssteuerung eines roboters während eines überschleifvorganges

Country Status (5)

Country Link
US (1) US5988850A (de)
EP (1) EP0795804B1 (de)
JP (1) JP3476287B2 (de)
DE (1) DE69634034T2 (de)
WO (1) WO1997008596A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10235580A (ja) * 1997-02-26 1998-09-08 Seiko Seiki Co Ltd 位置・力目標軌道生成器
JPH11149306A (ja) * 1997-11-14 1999-06-02 Fanuc Ltd 加工機の制御装置
DE19939137A1 (de) * 1999-08-18 2001-03-08 Bosch Gmbh Robert Vorrichtung und Verfahren zur Erzeugung eines Sollwerts für die Ansteuerung eines Antriebs
US6757583B2 (en) * 2002-06-27 2004-06-29 Joe Giamona Interpolated motion control over a serial network
US20040225382A1 (en) * 2003-05-09 2004-11-11 Phil Brown Jerk profile, vector motion control and real time position capture in motion control systems
KR100586994B1 (ko) * 2004-09-07 2006-06-08 삼성전자주식회사 로봇제어장치 및 그 제어방법
US8000837B2 (en) 2004-10-05 2011-08-16 J&L Group International, Llc Programmable load forming system, components thereof, and methods of use
GB0508273D0 (en) * 2005-04-25 2005-06-01 Renishaw Plc Method for scanning the surface of a workpiece
US8214415B2 (en) * 2008-04-18 2012-07-03 Motion Engineering Incorporated Interpolator for a networked motion control system
US8768492B2 (en) * 2012-05-21 2014-07-01 Tait Towers Manufacturing Llc Automation and motion control system
CN104238458A (zh) * 2013-06-08 2014-12-24 沈阳高精数控技术有限公司 一种nurbs曲线高速前瞻插补方法
JP2015100867A (ja) * 2013-11-22 2015-06-04 トヨタ自動車株式会社 ロボットの3次元軌道生成方法
US9429926B2 (en) 2014-05-16 2016-08-30 Tait Towers Manufacturing, LLC Automation and motion control system
CN106444635B (zh) * 2015-08-04 2019-09-13 深圳市雷赛智能控制股份有限公司 一种运动控制***的非对称s曲线加减速控制方法和装置
CN109407621A (zh) * 2018-01-30 2019-03-01 武汉呵尔医疗科技发展有限公司 一种取样机械臂插补中s型加减速运动控制方法
CN109884979B (zh) * 2019-01-31 2020-02-21 北京华航唯实机器人科技股份有限公司 设备运动点的处理方法及装置
CN111722591B (zh) * 2020-06-05 2021-10-08 浙江工业大学 一种商标模切机高精度联动插补的方法
CN112077851B (zh) * 2020-09-17 2021-06-25 南京埃斯顿自动化股份有限公司 一种基于混合空间的工业机器人过渡轨迹规划方法
CN112975992B (zh) * 2021-05-21 2021-08-13 武汉瀚迈科技有限公司 一种误差可控的机器人轨迹同步优化方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59180604A (ja) * 1983-03-31 1984-10-13 Hitachi Ltd ロボツトの連続軌道生成装置
JPS60193016A (ja) * 1984-03-14 1985-10-01 Toyota Motor Corp ロボツト装置
JP2648815B2 (ja) * 1987-02-23 1997-09-03 洋 牧野 軌跡補間制御装置
US5222198A (en) * 1988-05-06 1993-06-22 Kabushiki Kaisha Yaskawa Denki Seisakusho Control method and apparatus for a robot having multi-rotating axes
JPH02113305A (ja) * 1988-10-24 1990-04-25 Fanuc Ltd スプライン補間方法
DE4213927A1 (de) * 1992-04-28 1993-11-04 Festo Kg Verfahren zur steuerung einer werkzeugmaschine, insbesondere eine fraesmaschine
JPH0764622A (ja) * 1993-08-26 1995-03-10 Matsushita Electric Ind Co Ltd ロボットの軌道補間装置
US5602968A (en) * 1994-05-02 1997-02-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Task space angular velocity blending for real-time trajectory generation

Also Published As

Publication number Publication date
US5988850A (en) 1999-11-23
WO1997008596A1 (fr) 1997-03-06
DE69634034D1 (de) 2005-01-20
JPH0969006A (ja) 1997-03-11
EP0795804A4 (de) 2001-03-28
JP3476287B2 (ja) 2003-12-10
EP0795804B1 (de) 2004-12-15
EP0795804A1 (de) 1997-09-17

Similar Documents

Publication Publication Date Title
DE69634034T2 (de) Verfahren zur kurveninterpolation bei einer geschwindigkeitssteuerung eines roboters während eines überschleifvorganges
DE102017008475B4 (de) Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms
DE19618332A1 (de) Numerische Steuervorrichtung mit Spline-Interpolationsfunktion
DE102013002516B4 (de) Numerische Steuerung mit Bearbeitungskurvenerzeugungsfunktion
DE102004026979B4 (de) Vielfacheingabe- /Vielfachausgabe-Steuer-/Regelblöcke mit nichtlinearen Vorhersagefähigkeiten
DE10362408B3 (de) Integrierte modellbasierte prädikative Steuerung und Optimierung innerhalb eines Prozesssteuerungssystems
DE10127788B4 (de) Integrierte Optimalmodell-Vorhersagesteuerung in einem Prozeßsteuerungssystem
DE69826808T2 (de) Maschinensteuerung
DE3688095T2 (de) Regeleinrichtung fuer ein nichtlineares mechanisches system mit mehreren freiheitsgraden.
DE2735012C2 (de)
DE3750333T2 (de) Durch iterative splinefunktion gesteuerter positionierungsmechanismus.
DE102004059966B3 (de) Verfahren und Einrichtung zur Bewegungsführung eines bewegbaren Maschinenelements einer numerisch gesteurten Maschine
DE102009024130B4 (de) Verfahren zur echtzeitfähigen Bahnplanung kontinuierlicher, rucksprungfreier Sollwerttrajektorien
EP0998700B1 (de) Verfahren zur generierung von ankopplungsbahnen, verwendbar zur führung eines fahrzeugs zu einer vorgegebenen zielbahn
EP0165436B1 (de) Verfahren zur speicherplatzsparenden Programmierung von Roboterbewegungen
DE102020124734A1 (de) Simulationsgerät
EP3818420B1 (de) Zeitoptimierte bewegungsführung zwischen bahnabschnitten
DE10255585A1 (de) Verfahren zum Bestimmen zulässiger Geschwindigkeit eines Objektes und Steuern des Objektes
EP3321754A1 (de) Verfahren zur optimierung von bewegungsprofilen, computerprogrammprodukt, steuereinrichtung und anlage oder roboter
EP0184075B1 (de) Einrichtung und Verfahren zum Regeln eines Industrieroboters
DE60217487T2 (de) Regler und verfahren zum regeln einer vorrichtung
DE3742686A1 (de) Vorrichtung zur modellgefuehrten steuerung eines roboters
EP0417337B1 (de) Verfahren zum Betrieb einer numerisch gesteuerten Werkzeugmaschine oder eines Roboters
EP0750239B1 (de) Vorrichtung zur Lage- und gegebenenfalls Positionsregelung eines Raumfahrzeuges sowie zugehöriges Verfahren
EP1229411B1 (de) Steuerungsverfahren sowie Regelungsstruktur zur Bewegungsführung, Vorsteuerung und Feininterpolation von Objekten in einem Drehzahlreglertakt, der schneller als der Lagereglertakt ist

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee