DE69119538T2 - Robotersteuerungsverfahren und Gerät - Google Patents

Robotersteuerungsverfahren und Gerät

Info

Publication number
DE69119538T2
DE69119538T2 DE69119538T DE69119538T DE69119538T2 DE 69119538 T2 DE69119538 T2 DE 69119538T2 DE 69119538 T DE69119538 T DE 69119538T DE 69119538 T DE69119538 T DE 69119538T DE 69119538 T2 DE69119538 T2 DE 69119538T2
Authority
DE
Germany
Prior art keywords
speed
axis
axes
robot
movement
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
DE69119538T
Other languages
English (en)
Other versions
DE69119538D1 (de
Inventor
Atsusi Itoh
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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
Priority claimed from JP29109990A external-priority patent/JPH04163603A/ja
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of DE69119538D1 publication Critical patent/DE69119538D1/de
Publication of DE69119538T2 publication Critical patent/DE69119538T2/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
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34179Variable interpolation speed or resolution
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43203Limitation of speed, permissible, allowable, maximum speed
    • 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)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Robotersteuervorrichtung und ein zugehöriges Verfahren, und insbesondere eine Robotersteuervorrichtung und ein Verfahren, welche Berechnungen von Geschwindigkeitsbefehlen vereinfachen können
  • Ein Beispiel einer im Stand der Technik bekannten Robotersteuervorrichtung ist in Fig. 6 gezeigt, wobei ein Programm- und Daten-Speicherabschnitt 1 dafür verwendet wird, von einem Benutzer geschriebene Programme und durch Lernen oder manuelle Dateneingabe erzeugte Positionsvariablendaten zu speichern. Ein Befehlsdecodiererabschnitt 2 ist angeschlossen zum Decodieren der Befehle eines vom Programmspeicherabschnitt 1 gelesenen Programms und zum Führen decodierter Befehle zu einem Zielpositions- Generatorabschnitt 3, der eine Positionsvariable θid erzeugt, die eine Zielposition darstellt, wenn der decodierte Befehle eine Bewegungsoperation betrifft. Jede Achse i eines Roboters R kann einzeln identifiziert werden, z.B. gilt i = 1, 2, 3, 4, 5, 6 für einen Roboter mit sechs Achsen. Die Bewegung des Roboters entlang jeder Achse wird zum Zwecke einer Erklärung als Drehbewegung spezifiziert, da eine Bewegung normalerweise durch einen Motor erzeugt wird.
  • Eine Positionssteuerung 54, die einen Generatorabschnitt 55 für eine zulässige Achsenbewegungsgeschwindigkeit zum Erzeugen einer zulässigen Achsenbewegungsgeschwindigkeit ωi, einen Geschwindigkeitsbefehls-Generatorabschnitt 56 zum Erzeugen eines Geschwindigkeitsbefehls dθi für jede Achse in Zeitintervallen von Δt und einen Positionsbefehls- Generatorabschnitt 7, der auf den Geschwindigkeitsbefehl dθi antwortet, aufweist, arbeitet zum Erzeugen eines Positionsbefehls θi in Zeitintervallen von Δt. Ein Koordinatenumwandlungsabschnitt 8 wandelt den Positionsbefehl θi, der durch die Positionssteuerung 54 erzeugt wird, in eine geeignete Anzahl von Treibermotorimpulsen Ji jeder Achse des Roboters R um. Ein Positionier-Steuerabschnitt 9 antwortet auf die Anzahl von Treibermotorimpulsen Ji und positioniert jede der entsprechenden i Achsen des Roboters R entsprechend. Ein Subtrahierer 10 antwortet auf den Zielwert θid und einen berechneten Wert θic, der vom Befehlsgeneratorabschnitt 7 ausgegeben wird, um einen Differenz-Bewegungswert Δθi für jede Achse zu erzeugen.
  • Nun wird die Operation der Robotersteuervorrichtung beschrieben. Wenn ein auszuführendes Programm unter einer Vielzahl von Programmen ausgewählt wird, die in der Programmspeichervorrichtung 1 gespeichert sind, initiiert der Befehlsdecodierabschnitt 2 das Decodieren von Befehlen in jenem Programm. Wenn die durch das Befehlsdecodieren erhaltene Information ein Befehl ist, der die Bewegungsoperation des Roboters R betrifft, befiehlt der Befehlsdecodierabschnitt 2 dem Zielpositions- Generatorabschnitt 3, eine Zielposition θid zu erzeugen. Dieser Befehl veranlaßt, daß der Zielpositions- Generatorabschnitt 3 die Zielposition θid erzeugt.
  • Der Generatorabschnitt 55 für eine zulässige Achsenbewegungsgeschwindigkeit in der Positionssteuerung 54 berechnet eine zulässige Achsenbewegungsgeschwindigkeit ωi aus einer maximalen zulässigen Achsenwinkelgeschwindigkeit ωim, die vom Antriebsmotor jeder Achse und einem vorrangigen Faktor Ov "der durch einen Prozentsatz der maximalen zulässigen Winkelgeschwindigkeit bestimmt wird) festgesetzt ist:
  • ωi = Ov ωim ... (1)
  • Der Geschwindigkeitsbefehls-Generatorabschnitt 56 in der Positionssteuerung 54 führt eine Geschwindigkeitssteuerung und eine Qrtssteuerung in bezug auf die Bewegungsoperation des Roboters gemäß der Zielposition θid und der zulässigen Achsenbewegungsgeschwindigkeit ωi durch.
  • Die Geschwindigkeitssteuerung und die ortssteuerung werden durch eine Abtaststeuerung ausgeführt, d.h. die folgende Verarbeitung wird in Intervallen einer bestimmten Zeit Δt unter Erzeugung des Geschwindigkeitsbefehls dθi durchgeführt.
  • Zuerst wird der Bewegungswert Δθi jeder Achse aus der Zielposition θid und einem Befehl θi für eine vorangehende Position (der einfacheren Erklärung halber ist dieser als θic dargestellt) berechnet:
  • Δθi = θid - θic... (2)
  • Eine Bewegungszeit ti jeder Achse wird dann aus dem Bewegungswert Δθi und der zulässigen Achsenbewegungsgeschwindigkeit ωi jeder Achse berechnet:
  • ti = Δθi/ωi ... (3)
  • Danach wird die maximale Bewegungszeit für alle Achsen identifiziert:
  • tm = max(ti) ... (4)
  • In der Zwischenzeit werden zum gleichzeitigen Starten der Bewegung jeder Achse und zum Beenden der Bewegung zur gleichen Zeit alle Achsen mit ihren jeweiligen Bewegungswerten Δθi während jener Bewegungszeit ti bewegt, die ein maximaler Wert ist. Somit wird die zulässige Achsenbewegungsgeschwindigkeit jeder Achse kompensiert, um eine maximale Achseninterpolationsgeschwindigkeit Vi zu berechnen:
  • Vi = ωiti/tm ... (5)
  • Dann wird ein Geschwindigkeitsbefehl θi in der nächsten Zeit Δt aus der gegebenen Beschleunigungsgeschwindigkeit ai und der Abbremsgeschwindigkeit di jeder Achse und der maximalen Achseninterpolationsgeschwindigkeit Vi berechnet. Nimmt man nämlich an, daß die Geschwindigkeit jeder Achse gesteuert wird, wie es in Fig. 7 gezeigt ist, die eine Beschleunigungs-/Abbremssteuerung darstellt, wird der nächste Geschwindigkeitsbefehl dθi dann unter einer Beurteilung aus dem vorangehenden Geschwindigkeitsbefehl dθic und dem restlichen Bewegungswert wie folgt gefunden, wenn der Bereich des nächsten Geschwindigkeitsbefehls dθi ein Beschleunigungsbereich ist:
  • dθi = dθic + ai ... (6)
  • wobei ein Anfangswert Null ist.
  • Wenn jener Bereich ein Bereich konstanter Geschwindigkeit ist, gilt folgendes:
  • dθi = Vi ... (7)
  • Wenn er ein Abbremsbereich ist, gilt folgendes:
  • dθi = dθic = di ... (8)
  • Der Geschwindigkeitsbefehl dθi wird erzeugt, wie es oben beschrieben ist.
  • Der Positionsbefehls-Generatorabschnitt 7 in der Positionssteuerung 54 erzeugt den Positionsbefehl θi jeder Achse in der nächsten Zeit Δt gemäß dem Geschwindigkeitsbefehl dθi folgendermaßen:
  • θi = θic + dθi ...(9)
  • Der Koordinatenumwandlungsabschnitt 8 wandelt den Positionsbefehl θi in die Anzahl von Antriebsmotorimpulsen Ji jeder Achse des Roboters R um und läßt das Ergebnis zum Positionier-Steuerabschnitt 9 durch. Die Positionier- Steuerabschnitt 9 gibt die Anzahl von Antriebsmotorimpulsen Ji jeder Achse zum Motor jeder Achse des Roboters R über einen eingebauten Digital/Analog-Wandler aus. Dies bewegt den Roboter R zu der Position des Positionsbefehls θi.
  • Mit Ausnahme des Ausdrucks (4) gelten alle Ausdrücke (1) bis (9) für eine Vektorberechnung. Das bedeutet, daß insgesamt achtmal pro Abtastung Vektorberechnungen durchgeführt werden. Bei der Robotersteuervorrichtung des Standes der Technik müssen daher um so mehr Berechnungen durchgeführt werden, je größer die Anzahl von gelenkig verbundenen Achsen ist, die der Roboter hat, was viel Verarbeitungszeit benötigt. Ebenso kann der Roboter dort, wo Zielpositionen in einem dreidimensionalen Raum, der durch ein kartesisches Koordinatensystem dargestellt ist, zu erzeugen sind, oder Zielpositionen in einem dreidimensionalen Raum, der durch ein zylindrisches Koordinatensystem dargestellt ist, zu erzeugen sind (Interpolation in einem dreidimensionalen Raumsystem), nicht konsistent gesteuert werden, da die Konzepte von Interpolationsgeschwindigkeiten in solchen Koordinatensystemen voneinander unterschiedlich sind. Weiterhin wird die Steuerung bei einem Gelenkmechanismus schwierig, wo eine Achseninterferenz auftritt.
  • Als weiteren zugehörigen Stand der Technik gibt es ein in der japanischen Patenveröffentlichung Nr. 262212 von 1985 offenbartes Robotersteuerverfahren. Diese Steuerverfahren bestimmt eine Geschwindigkeit durch Multiplizieren einer maximalen zulässigen Geschwindigkeit mit einem Geschwindigkeitsfaktor, der gemäß den Parametern einer Ecke an dem Bewegungspfad eines Roboters berechnet wird. Jedoch ist das Robotersteuerverfahren, das in der japanischen Patentveröffentlichung Nr. 262212 von 1985 offenbart ist, für eine Bewegungsoperation an einer Ecke entwickelt und ist nicht für die Steuerung einer allgemeinen Bewegungsoperation geeignet.
  • Bei der herkömmlichen Robotersteuervorrichtung, deren Aufbau oben beschrieben ist, vermehren sich Berechnungen für Geschwindigkeits- und Positionssteuerungen für einen Roboter mit vielen über ein Gelenk verbundenen Achsen, was viel Verarbeitungszeit benotigt. Weiterhin wird dann, wenn Achsen außerhalb des Roboters (zusätzliche Achsen) wie auch die Achsen des Roboters durch eine einzige Steuervorrichtung zu steuern sind, nicht nur die Anzahl von Berechnungen erhöht, sondern die Bewegungen der Roboterachsen muß mit jenen der zusätzlichen Achsen synchronisiert werden.
  • Gemäß dem Dokument Robotersysteme, Bd. 6, Nr. 3, 1990, Seiten 171 bis 176, L. Beiner, "Time-optimization of point-to-point robotic motions" wird ein nichtlinearer Programmansatz verwendet, um Zeitpunkt-zu-Punkt-Roboterbewegungen gemäß einem trapezförmigen Geschwindigkeitsprofil zu minimieren. Dort ist ein Optimierungsproblem in bezug auf eine Gleichung beschrieben, die die Roboterdynamik beschreibt. Für ein derartiges Optimierungsproblem müssen Zielwerte voreingestellt werden.
  • Es ist demgemäß eine Aufgabe der vorliegenden Erfindung, die Nachteile des Standes der Technik durch Schaffen einer Robotersteuervorrichtung und eines Verfahrens zu überwinden, welche zulassen, daß Berechnungen vereinfacht werden und Geschwindigkeits- und Positionssteuerungen auf einfache Weise ausgeübt werden.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, eine Robotersteuervorrichtung und ein Verfahren zu schaffen, die auch zulassen, daß für zusätzliche Achsen Berechnungen vereinfacht werden und Geschwindigkeits- und Positionssteuerungen auf einfache Weise ausgeführt werden, wenn der Roboter sowohl Roboterachsen als auch solche zusätzlichen Achsen enthält.
  • Das erste Ausführungsbeispiel erreicht eine Robotersteuervorrichtung und ein Verfahren, die die Positionieroperation jeder Achse eines Roboters durch den Eintrag der Zielpositionsinformation jeder Achse vereinfachen, wodurch Geschwindigkeits- und Positionssteuerungen für einen Roboter mit vielen über Gelenke verbundenen Achsen erleichtert werden. Das erste Ausführungsbeispiel enthält eine Positionssteuerung, die den maximalen Wert der maximalen zulässigen Geschwindigkeit jeder Achse des Roboters als Maximalgeschwindigkeitszeichen definiert, den Lastfaktor jeder Achse auf der Basis des Maximalgeschwindigkeitszeichens berechnet, den Bewegungswert jeder Achse aus der Zielpositionsinformation und einem vorangehenden Positionsbefehl jeder Achse berechnet, die Bewegungsentfernung jeder Achse aus dem Bewegungswert und dem Lastfaktor jeder Achse findet, den maximalen Wert der Bewegungsentfernung als typische Bewegungsentfernung definiert, ein Bewegungsgeschwindigkeitszeichen, das für jede Achse gleich ist, aus einer Beschleunigungsgeschwindigkeit und einer Abbremsgeschwindigkeit, die für jede Achse gleich sind, und einer zulässigen Interpolationsbewegungsgeschwindigkeit berechnet, den Geschwindigkeitsbefehl jeder Achse aus dem Bewegungsgeschwindigkeitszeichen und dem Bewegungswert jeder Achse berechnet, und den Positionsbefehl jeder Achse auf der Basis des Geschwindigkeitsbefehls jeder Achse berechnet.
  • Die vorliegende Erfindung erreicht eine Robotersteuervorrichtung und ein Verfahren, wie es in den Ansprüchen 1 bzw. 8 definiert ist, die die Positionieroperation zum Synchronisieren zusätzlicher Achsen mit Roboterachsen vereinfachen, wodurch Geschwindigkeits- und Positionssteuerungen für einen Roboter mit zusätzlichen Achsen neben den Roboterachsen erleichtert. Die Erfindung enthält eine Positionssteuerung, die den Positionsbefehl jeder der Roboterachsen und der zusätzlichen Achsen durch den Eintrag der Zielpositionsinformation jeder Achse ausgibt.
  • Die Erfindung erreicht auch eine Robotersteuervorrichtung, die eine übermäßige Geschwindigkeit in einem Gelenkmechanismus mit sich störenden bzw. beeinträchtigenden Achsen verhindert, wodurch Geschwindigkeits- und Positionssteuerungen erleichtert werden. Die Erfindung enthält eine Achsenlastfaktor-Änderungseinrichtung zum Ändern des Lastfaktors jeder Achse mit einer Vielzahl von Roboterachsen oder Roboterachsen und zusätzlichen Achsen. Die Erfindung enthält auch eine Achsenlastfaktor- Anderungseinrichtung, die den Lastfaktor jeder Operationsachse ändert, die eine beliebige einer Vielzahl von Roboterachsen oder eine Kombination von Roboterachsen und zusätzlichen Achsen ist, auf der Basis von Information über die Achseninterferenz eines Roboters.
  • Die Figuren zeigen:
  • Fig. 1 ein Blockdiagramm einer Robotersteuervorrichtung gemäß einem ersten bevorzugten Ausführungsbeispiel der Erfindung;
  • Fig. 2 ein Blockdiagramm einer Robotersteuervorrichtung gemäß einem zweiten bevorzugten Ausführungsbeispiel der Erfindung;
  • Fig. 3 ein Blockdiagramm einer Robotersteuervorrichtung gemäß einem dritten und einem vierten bevorzugten Ausführungsbeispiel der Erfindung;
  • Fig. 4 eine diagrammäßige Mechanismusansicht einer Achseninterferenz zweier Achsen;
  • Fig. 5 ein Achsengeschwindigkeits-Bezugsdiagramm, wo eine Achseninterferenz stattfindet;
  • Fig. 6 ein Blockdiagramm einer Robotersteuervorrichtung, die im Stand der Technik bekannt ist;
  • Fig. 7 die Beschleunigungs-/Abbremssteuerung der Robotersteuervorrichtung die in Fig. 6 gezeigt ist.
  • Nun wird ein erstes Ausführungsbeispiel der Erfindung unter Bezugnahme auf Fig. 1 beschrieben, wobei Teile, die beim Stand der Technik mit gleichen Bezugszeichen bezeichnet sind, gleiche oder entsprechende Teile zeigen.
  • Fig. 1 ist ein Blockdiagramm, das den Aufbau einer Robotersteuervorrichtung zeigt. In Fig. 1 zeigt das Bezugszeichen 4 eine Positionssteuerung mit einem Maximalgeschwindigkeitszeichen-Generatorabschnitt 11 zum Erzeugen eines Maximalgeschwindigkeitszeichens S, einem Achsenlastfaktor-Generatorabschnitt 12 als Achsenlastfaktor- Berechnungseinrichtung zum Erzeugen des Lastfaktors ni jeder Achse, einem Generatorabschnitt 13 für eine zulässige Interpolationsbewegungsgeschwindigkeit als Einrichtung zum Berechnen einer zulässigen Interpolationsbewegungsgeschwindigkeit U, einem Geschwindigkeitsbefehls-Generatorabschnitt 6 als Geschwindigkeitsbefehls-Berechnungseinrichtung zum Erzeugen eines Geschwindigkeitsbefehls dθi für jede Achse in Zeitintervallen von Δt und einem Positionsbefehls- Generatorabschnitt 7 als Einrichtung zum Berechnen eines gesendeten Befehis zum Erzeugen eines Positionsbefehls θi in Zeitintervallen von Δt auf der Basis des Geschwindigkeitsbefehls dθi. Ein Subtrahierer 10 wird als Bewegungswertberechnungseinheit zum Ausgeben einer Differenz zwischen der Zielpositionsinformation θid (im nachfolgenden "Zielposition" genannt) jeder Achse, die durch einen Zielpositions-Generatorabschnitt 3 erzeugt wird, und dem Positionsbefehl θi jeder Achse, der durch den Positionsbefehls-Generatorabschnitt 7 als Bewegungswert Δθi jeder Achse bei einer entsprechenden Abtastsynchronisierung verwendet wird.
  • Nun wird die Operation der Robotersteuervorrichtung gemäß dem ersten Ausführungsbeispiel beschrieben. Wenn ein auszuführendes Programm unter einer Vielzahl von in einer Programmspeichervorrichtung 1 gespeicherten Programmen ausgewählt ist, initiiert ein Befehlsdecodierabschnitt 2 das Decodieren von Befehlen in jedem Programm. Wenn durch das Befehlsdecodieren erhaltene Information ein Befehl ist, der die Bewegungsoperation des Roboters R betrifft, befiehlt der Befehlsdecodierabschnitt 2 dem Zielpositions- Generatorabschnitt 3, eine Zielposition θid zu erzeugen. Dieser Befehl veranlaßt, daß der Zielpositions- Generatorabschnitt 3 die Zielposition θid als Zielpositionsinformation jeder Achse erzeugt.
  • Der Maximalgeschwindigkeitszeichen-Generatorabschnitt 11 in der Positionssteuerung 4 erhält ein Maximalgeschwindigkeitszeichen S aus dem maximalen Wert einer maximalen zulässigen Achsenwinkelgeschwindigkeit ωim, die für den Antriebsmotor jeder Achse festgesetzt ist.
  • S = max{ωim} ... (10)
  • Der Achsenlastfaktor-Generatorabschnitt 12 in der Positionssteuerung 4 berechnet für jede Achse einen Achsenlastfaktor ni aus der maximalen zulässigen Achsenwinkelgeschwindigkeit ωim und dem Maximalgeschwindigkeitszeichen S.
  • ni = S/ωim ... (11)
  • Der Achsenlastfaktor ni ist eine dimensionslose Größe, die eine Bewegungslast (Schwierigkeit bei einer Bewegung) bei der Bewegung jeder Achse darstellt. Der Lastfaktor wird für die schnellste Achse einen minimalen Wert von 1 haben und wird für langsamere Achsen, die sich mit einer größeren Schwierigkeit bewegen, größere Werte haben.
  • Der Generatorabschnitt 13 für eine zulässige Interpolationsbewegungsgeschwindigkeit in der Positionssteuerung 4 berechnet eine zulässige Interpolationsbewegungsgeschwindigkeit U aus dem Maximalgeschwindigkeitszeichen 5 und einem bestimmten vorrangigen Faktor Ov. Man beachte, daß eine einzige Berechnung relativ einfach ist verglichen mit der Berechnung bei dem Stand der Technik, die erfordert, daß jede Achse beachtet wird.
  • U = Ov S ... (12)
  • Der Geschwindigkeitsbefehls-Generatorabschnitt 6 in der Positionssteuerung 4 führt eine Geschwindigkeitssteuerung und eine Ortssteuerung bezüglich der Bewegungsoperation des Roboters auf der Basis der Zielposition θid, des Achsenlastfaktors ni und der zulässigen Interpolationsbewegungsgeschwindigkeit U durch.
  • Die Geschwindigkeitssteuerung und die Ortssteuerung werden durch eine Abtaststeuerung ausgeübt. Es wird nämlich das folgende Verfahren in Intervallen einer bestimmten Zeit Δt ausgeführt, wobei der Geschwindigkeitsbefehl dθi erzeugt wird. Zuerst wird der Bewegungswert Δθi jeder Achse aus der Zielposition θid und einem vorangehenden Positionsbefehl θic berechnet:
  • Δθi = θid - θic ... (13)
  • Eine Achsenbewegungsentfernung Li wird dann durch Multiplizieren des Bewegungswertes Δθi jeder Achse mit dem Achsenlastfaktor ni berechnet:
  • Li = ni Δθi ... (14)
  • Für einen gegebenen Bewegungswert Δθi wird die Achsenbewegungsentfernung Li größer, wo die Achse eine größere Bewegungslast (Schwierigkeit beimbewegen) hat, wie es durch einen Wert von ni größer 1 angezeigt wird.
  • Dann wird eine typische Bewegungsentfernung Lm erzeugt. Der maximale Wert der Bewegungsentfernung Li jeder Achse wird nämlich als typische Bewegungsentfernung Lm definiert.
  • Lm = max{Li} ... (15)
  • Ein Bewegungsgeschwindigkeitszeichen dV in der nächsten Zeit Δt wird dann aus der gegebenen Beschleunigungsgeschwindigkeit A und der Abbremsgeschwindigkeit D gemeinsam für jede Achse und der zulässigen Interpolationsbewegungsgeschwindigkeit U berechnet. Das bedeutet, daß ein Beschleunigungsbereich, ein Bereich mit konstanter Geschwindigkeit oder ein Abbremsbereich festgestellt wird, und zwar auf der Basis der typischen pro Zeit Δt berechneten Bewegungsentfernung Lm der zulässigen Interpolationsbewegungsgeschwindigkeit U, der Beschleunigungsgeschwindigkeit A und der Abbremsgeschwindigkeit D. Im Beschleunigungsbereich ist das Bewegungsgeschwindigkeitszeichen dV in der nächsten Zeit Δt wie folgt:
  • dV = dVc + A ... (16)
  • wobei ein Anfangswert Null ist.
  • Im Bereich mit konstanter Geschwindigkeit gilt folgendes:
  • dV = U ... (17)
  • Im Abbremsbereich gilt folgendes:
  • dV = dVc - D ... (18)
  • Der Geschwindigkeitsbefehl dθi jeder Achse in der nächsten Zeit Δt, nämlich dθi wird dann aus dem Geschwindigkeitszeichen dV gemeinsam für jede Achse berechnet.
  • dθi = dV Δθi/Lm ... (19)
  • Der Positionsbefehls-Generatorabschnitt 7 in der Positionssteuereinrichtung 4 erzeugt den Positionsbefehl θi jeder Achse in der nächsten Zeit Δt gemäß dem Geschwindigkeitsbefehl dθi:
  • θi = + dθi ... (20)
  • Der Koordinatenumwandlungsabschnitt 8 wandelt den Positionsbefehl θi in die Anzahl von Antriebsmotorimpulsen Ji jeder Achse des Roboters R um und läßt das Ergebnis zum Positioniersteuerabschnitt 9 durch. Der Positioniersteuerabschnitt 9 gibt die Anzahl von Antriebsmotorimpulsen Ji jeder Achse zu jedem Achsenmotor des Roboters R über einen eingebauten Digital/Analog-Wandler aus.
  • Der Roboter R wiederholt die obige Operation, bis die Zielposition erreicht ist, wodurch die Bewegung zu der Zielposition beendet wird.
  • Unter den Ausdrücken (10) bis (20) sind die Ausdrücke (11), (13), (14), (19) und (20) alles Ausdrücke für eine Vektorberechnung, d.h. Vektorberechnungen können insgesamt nur fünfmal pro Achse in Intervallen der Abtastperiode durchgeführt werden. Verglichen mit dem in Fig. 6 gezeigten herkömmlichen Ansatz wird daher die Anzahl von Berechnungen reduziert, was eine kürzere Verarbeitungszeit für einen Roboter mit vielen über Gelenke verbundenen Achsen erfordert.
  • Weiterhin kann der Roboter dort, wo Zielpositionen in einem durch ein kartesisches Koordinatensystem dargestellten dreidimensionalen Raum zu erzeugen sind oder wo Zielpositionen in einem durch ein zylindrisches Koordinatensystem dargestellten dreidimensionalen Raum zu erzeugen ist, und zwar aus dem Zielpositionsgenerator 3 (Interpolation in einem dreidimensionalen Raumsystem) konsistent gesteuert werden.
  • Ein zweites Merkmal der Erfindung wird nun unter Bezugnahme auf Fig. 2 beschrieben. Mit diesem Merkmal können die Achsen innerhalb des Roboters und zusätzliche Achsen, die extern vom Roboter sind, synchronisiert und gemeinsam gesteuert werden.
  • Fig. 2 zeigt den Aufbau eines Ausführungsbeispiels der Erfindung mit dem Merkmal, wobei 3A einen zusätzlichen Achsenzielpositions-Generatorabschnitt zum Erzeugen einer Positionsvariablen θaid anzeigt, die die Zielposition einer zusätzlichen Achse ist. Der Index a zeigt eine Variable oder einen Wert, der die zusätzliche Achse betrifft, und i stellt jede der Roboterachsen und der zusätzlichen Achsen dar, z.B. i in θid = 1, 2, 3, 4, 5, 6 und i in θaid = 1, 2 für einen Roboter mit sechs Achsen mit zwei zusätzlichen Achsen.
  • Die Positionssteuerung 4A umfaßt einen Maximalgeschwindigkeitszeichen-Generatorabschnitt 11A zum Erzeugen eines Maximalgeschwindigkeitszeichens S, einen Achsenlastfaktor-Generatorabschnitt 12A zum Erzeugen des Lastfaktors ni jeder Roboterachse und den Lastfaktor nai jeder zusätzlichen Achse, einen Generatorabschnitt 13 für eine zulässige Interpolationsbewegungsgeschwindigkeit zum Erzeugen einer zulässigen Interpolationsbewegungsgeschwindigkeit U, einen Geschwindigkeitsbefehls-Generatorabschnitt 6A zum Erzeugen eines Geschwindigkeitsbefehls dθi für jede Roboterachse und eines Geschwindigkeitsbefehls dθai für jede zusätzliche Achse in Intervallen der Zeit Δt, einen Positionsbefehls-Generatorabschnitt 7 zum Erzeugen eines Positionsbefehls θi in Intervallen der Zeit Δt auf der Basis des Geschwindigkeitsbefehls dθi und einen Zusatzachsenpositionsbefehls-Generatorabschnitt 7A zum Erzeugen eines Zusatzachsen-Positionsbefehls θai in Intervallen der Zeit Δt auf der Basis des Geschwindigkeitsbefehls dθai Die Positionsbefehls- Berechnungseinrichtung umfaßt den Positionsbefehls- Generatorabschnitt 7 und den Zusatzachsen-Positionsbefehls- Generatorabschnitt 7A.
  • Ein Zusatzachsen-Koordinatenumwandlungsabschnitt 8A wird zum Umwandeln des Zusatzachsen-Positionsbefehls θai, der durch die Positionssteuerung 4A erzeugt wird, in die Anzahl von Antriebsmotorimpulsen Jai jeder zusätzlichen Achse verwendet. Ein Zusatzachsen-Positioniersteuerabschnitt 9A wird zum Positionieren jeder zusätzlichen Achse auf der Basis der Anzahl von Antriebsmotorimpulsen Jai verwendet.
  • Nun wird die Operation der Robotersteuervorrichtung gemäß der vorliegenden Erfindung beschrieben. Unter Bezugnahme auf Fig. 2 startet dann, wenn ein unter einer Vielzahl von in einer Programmspeichervorrichtung 1 gespeicherten Programmen zu laufendes Programm ausgewählt ist, ein Befehlsdecodierabschnitt 2 ein Decodieren von Befehlen in jedem Programm. Wenn Information, die durch das Befehlsdecodieren erhalten wird, ein Befehl ist, der die Bewegungsoperation des Roboters betrifft, befiehlt der Befehlsdecodierabschnitt 2 dem Zielpositions- Generatorabschnitt 3 und dem Zusatzachsen-Zielpositions- Generatorabschnitt 3A, jeweilige Zielpositionen θid und θaid zu erzeugen. Dieser Befehl veranlaßt, daß der Zielpositions- Generatorabschnitt 3 und der Zusatzachsen-Zielpositions- Generatorabschnitt 3A die Zielpositionen θid und θaid erzeugen.
  • Der Maximalgeschwindigkeitszeichen-Generatorabschnitt 11A in der Positionssteuerung 4A erhält ein Maximalgeschwindigkeitszeichen S aus den maximalen Werten einer maximalen zulässigen Achsenwinkelgeschwindigkeit ωim, die vom Antriebsmotor jeder Roboterachse festgesetzt ist, und einer maximalen zulässigen Zusatzachsen-Winkelgeschwindigkeit ωaim, die vom Antriebsmotor jeder Zusatzachse festgesetzt ist.
  • S = max{ωim ωaim} ... (21)
  • Der Achsenlastfaktor-Generatorabschnitt 12 in der Positionssteuereinrichtung 4A berechnet einen Roboterachsenlastfaktor ni und einen Zusatzachsenlastfaktor nai aus der maximalen zulässigen Achsenwinkelgeschwindigkeit ωim, der maximalen zulässigen Zusatzachsen- Winkelgeschwindigkeit ωaim und dem Maximalgeschwindigkeitszeichen S.
  • ni = S/ωim ... (22)
  • nai = S/ωaim ...(23)
  • Die Achsenlastfaktoren ni und nai sind dimensionslose Größen, die jeweils eine Bewegungslast (Schwierigkeit beim Bewegen) bei der Bewegung jeder Achse darstellen.
  • Der Generatorabschnitt 13 für eine zulässige Interpolationsbewegungsgeschwindigkeit in der Positionssteuereinrichtung 4A berechnet eine zulässige Interpolationsbewegungsgeschwindigkeit U aus dem Maximalgeschwindigkeitszeichen S und einem vorrangigen Faktor Ov.
  • U = Ov S ... (24)
  • Der Geschwindigkeitsbefehls-Generatorabschnitt 6A in der Positionssteuereinrichtung 4A führt eine Geschwindigkeitssteuerung und eine Ortssteuerung bezüglich der Bewegungsoperation des Roboters auf der Basis der Zielpositionen θid und θaid der Achsenlastfaktoren ni und nai und der zulässigen Interpolationsbewegungsgeschwindigkeit U durch. Die Geschwindigkeitssteuerung und die Ortssteuerung werden durch eine Abtaststeuerung ausgeführt. Das bedeutet, daß die folgende Verarbeitung in Intervallen einer bestimmten Zeit Δt durchgeführt wird, wodurch die Geschwindigkeitsbefehle dθi, dθai erzeugt werden.
  • Zuerst wird der Bewegungswert Δθi jeder Roboterachse aus der Zielposition θid und einem vorangehenden Positionsbefehl θic berechnet:
  • Δθi = θid - θic ... (25)
  • Gleichermaßen wird auch der Bewegungswert für jede zusätzliche Achse berechnet:
  • Δθai = θaid - θaic ... (26)
  • Jeweilige Achsenbewegungsentfernungen Li, Lai werden dann durch Multiplizieren der Bewegungswerte Δθi, Δθai jeder Achse durch die Achsenlastfaktoren ni, nai berechnet:
  • Li = ni Δθi ... (27)
  • Lai = nai Δθai ... (28)
  • Für gegebene Bewegungswerte Δθi oder Δθai werden die Achsenbewegungsentfernungen Li, Lai größer als die Achsen mit einer größeren Bewegungslast (Schwierigkeit beim Bewegen).
  • Dann wird eine typische Bewegungsentfernung Lm erzeugt.
  • Lm = max{Li, Lai} ... (29)
  • Ein Bewegungsgeschwindigkeitszeichen dV in der nächsten Zeit Δt wird dann aus der gegebenen Beschleunigungsgeschwindigkeit A und Abbremsgeschwindigkeit D jeder Achse und der zulässigen Interpolationsbewegungsgeschwindigkeit U berechnet. Es wird nämlich ein Beschleunigungsbereich, ein Bereich konstanter Geschwindigkeit oder ein Abbremsbereich auf der Basis der typischen Bewegungsentfernung Lm, die pro Zeit Δt berechnet wird, der zulässigen Interpolationsbewegungsgeschwindigkeit U, der Beschleunigungsgeschwindigkeit A und der Abbremsgeschwindigkeit D festgestellt. Im Beschleunigungsbereich ist das Bewegungsgeschwindigkeitszeichen dV in der nächsten Zeit Δt wie folgt:
  • dV = dVc + A ... (30)
  • wobei ein Anfangswert Null ist.
  • Im Bereich mit konstanter Geschwindigkeit gilt folgendes:
  • dV = U ... (31)
  • Im Abbremsbereich gilt folgendes:
  • dV = dVc - D ... (32)
  • Die Bewegungsgeschwindigkeit dθi jeder Achse und die Bewegungsgeschwindigkeit dθai jeder zusätzlichen Achse in der nächsten Zeit Δt werden dann aus dem Geschwindigkeitszeichen dV gemeinsam für jede Achse berechnet:
  • dθi = dV Δθi/Lm ... (33)
  • dgai = dV Δθai/Lm ... (34)
  • Der Positionsbefehls-Generatorabschnitt 7 in der Positionssteuereinrichtung 4 erzeugt den Positionsbefehl θi jeder Achse in der nächsten Zeit Δt gemäß dem Geschwindigkeitsbefehl dθi:
  • θi = θic + dθi ... (35)
  • Gleichermaßen erzeugt der Zusatzachsen-Positionsbefehls- Generatorabschnitt 7A den Zusatzachsen-Positionsbefehl dθai in der nächsten Zeit Δt gemäß dem Zusatzachsen- Geschwindigkeitsbefehl dθai:
  • θai = θaic + dθai ... (36)
  • Der Koordinatenumwandlungsabschnitt 8 wandelt den Positionsbefehl θi in die Anzahl von Treibermotorimpulsen Ji jeder Achse des Roboters um und läßt das Ergebnis zum Positioniersteuerabschnitt 9 durch, der dann die Anzahl von Antriebsmotorimpulsen Ji jeder Achse zu jeder Achse des Roboters über einen eingebauten Digital/Analog-Wandler ausgibt.
  • Gleichermaßen wandelt der Zusatzachsen- Koordinatenumwandlungsabschnitt 8A den Zusatzachsen- Positionsbefehl θai in die Anzahl von Antriebsmotorimpulsen Jai jeder zusätzlichen Achse um und läßt das Ergebnis zum Zusatzachsen-Positioniersteuerabschnitt 9A durch, der dann die Anzahl von Zusatzachsen-Antriebsmotorimpulsen Jai zu jeder zusätzlichen Achse über den eingebauten Digital/Analog- Wandler ausgibt.
  • Die Roboterachsen und die zusätzlichen Achsen wiederholen die obige Operation, bis die Zielpositionen erreicht sind, wodurch die Bewegung zu den Zielpositionen beendet wird.
  • Da das vorliegende Ausführungsbeispiel das Maximalgeschwindigkeitszeichen zur Geschwindigkeitssteuerung hat und den Lastfaktorvektor jeder Operationsachse enthält, der auf der Basis des Maximalgeschwindigkeitszeichens berechnet ist, wie es oben beschrieben ist, können eine typische Bewegungsentfernung Dmax und eine Bewegungsgeschwindigkeit v berechnet werden, und eine Geschwindigkeitsinterpolation kann auf der Basis solcher Berechnungen durchgeführt werden, was nicht nur eine Verarbeitung vereinfacht und eine Verarbeitungszeit reduziert, sondern auch eine Synchronsteuerung der zusätzlichen Achsen mit den Roboterachsen erleichtert, wenn die Roboterachsen und zusätzliche Achsen gleichzeitig zu steuern sind.
  • Weitere Merkmale eines dritten und eines vierten Ausführungsbeispiels werden nun unter Bezugnahme auf die Fig. 3 bis 5 beschrieben. Zusätzlich zu der Robotersteuervorrichtung des in Fig. 1 gezeigten ersten Ausführungsbeispiels enthält das dritte Ausführungsbeispiel einen Achsen-Lastfaktor-Änderungsabschnitt 14 zum Ändern der Achsen-Lastfaktoren ni und/oder nai auf der Basis einer Achseninterferenzinformation, wodurch zugelassen wird, daß eine Steuerung derart ausgeübt wird, daß bei einer Vielzahl von Roboterachsen mit einer Achseninterferenz fertiggeworden wird.
  • Fig. 3 ist ein Blockdiagramm, das den Aufbau einer Robotersteuervorrichtung des dritten Ausführungsbeispiels darstellt. Diese Robotersteuervorrichtung ist unterschiedlich von der in Fig. 1 gezeigten darin, daß Achsenlastfaktoren ni, die durch den Achsen-Lastfaktor-Generatorabschnitt 12B in der Positionssteuereinrichtung 4B erzeugt sind, durch den Achsen- Lastfaktor-Änderungsabschnitt 14 geändert werden, der als Achsen-Lastfaktor-Änderungseinrichtung dient. Eine Achseninterferenzinformation wird in den Achsen-Lastfaktor- Änderungsabschnitt 14 eingegeben.
  • Eine Achseninterferenz findet an einer Verbindungsstelle bzw. einem Gelenk mit einem Mechanismus statt, wie es in Fig. 4 gezeigt ist, welche eine diagrammäßige Mechanismusansicht der Achseninterferenz ist. Unter Bezugnahme auf Fig. 4 zeigt das Bezugszeichen 20 eine u-Achse, 21 einen u-Achsen- Antriebsmotor, 30 eine v-Achse, 31 einen v-Achsen- Antriebsmotor und 32 und 33 Kegelradgetriebe zum Übertragen der Drehung des v-Achsen-Antriebsmotors 31 zu der v-Achse 30.
  • Wenn die u-Achse 20 in der Richtung eines Pfeils 22 im dargestellten Gelenkmechanismus gedreht wird, dreht sich die v-Achse 30 in der Richtung eines Pfeils 34, wenn der v- Achsen-Antriebsmotor 31 bewegungslos gehalten wird. Die Drehung der u-Achse 20 in der Richtung des Pfeils 22 wird nämlich als Drehung der v-Achse 30 in der Richtung des Pfeils 34 addiert. Somit ändert sich eine zulässige Geschwindigkeit zum Drehen der v-Achse 30 durch den v-Achsen-Antriebsmotor 31 gemäß der Geschwindigkeit der u-Achse 20, wie es in einem Achsengeschwindigkeits-Bezugsdiagramm der Fig. 5 gezeigt ist.
  • Das bedeutet, daß die zulässige Geschwindigkeit v der v-Achse 30 unter der Annahme, daß die Richtungen der Pfeile 22 und 34 positiv sind, wie folgt:
  • v = p u ± vo ... (37)
  • wobei p ein Interferenzfaktor ist, u eine u- Achsengeschwindigkeit ist, und vo die zulässige Geschwindigkeit der v-Achse bei der u-Achsengeschwindigkeit von Null ist. p und vo im Ausdruck (37) sind die Achseninterferenzinformation. Es sollte beachtet werden, daß unter der Annahme, daß die zulässige Geschwindigkeit der u- Achse 20 uo ist, eine Geschwindigkeit (u, v) in Fig. 4 innerhalb des Bereichs eines Parallelogramms sein muß.
  • Der Achsen-Lastfaktor-Änderungsabschnitt 14 berechnet Δθi und Lm gemäß des zuvor beschriebenen Ausdrucks (13) :
  • Δθi = θid - θic
  • und des Ausdrucks (15):
  • Lm = max{Li}
  • Weiterhin werden unter der Annahme, daß die Achsenkennung (1) sich beeinträchtigender Achsen α und β sind, die Geschwindigkeitsbefehle u und v der sich beeinträchtigenden Achsen α und β durch die folgenden Ausdrücke berechnet werden:
  • u = 5 Δθα/Lm ... (38)
  • v = 5 Δθβ/Lm ... (39)
  • Dann wird geprüft, ob die berechneten Geschwindigkeitsbefehle u, v innerhalb des Bereichs des in Fig. 4 gezeigten Parallelogramms sind oder nicht. Wenn sie innerhalb des Parallelogrammbereichs sind, werden die Achsen-Lastfaktoren ni nicht geändert. Wenn sie nicht innerhalb des Parallelogrammbereichs sind, werden Geschwindigkeitsbefehle u', v', die in den Parallelogrammbereich fallen, gefunden.
  • Die Geschwindigkeitsbefehle u', v' werden im folgenden Verfahren gefunden. Beispielsweise dann, wenn die Bewegungsgeschwindigkeit so ist, wie es in Fig. 4 durch (u, v) gezeigt ist, wird (u, v) auf Null (0, 0) reduziert, und eine Geschwindigkeit (u', v'), die in den Parallelogrammbereich fällt, wird angenommen. Alternativ dazu wird eine Senkrechte von (u, v) zu der Seite des Parallelogramms gezogen, und eine auf jener Seite angeordnete Geschwindigkeit (u', v') wird angenommen.
  • Dann werden unter der Annahme, daß die Lastfaktoren der sich beeinträchtigenden Achsen α, β jeweils nα und nβ sind, nα' und nβ' durch die folgenden Ausdrücke berechnet:
  • nα' = u/u' nα ... (40)
  • nβ' = v/v' nβ ... (41)
  • Dann wird ein Befehl zu dem Achsen-Lastfaktor- Generatorabschnitt 12 ausgegeben, um die Lastfaktoren nα, nβ, der sich beeinträchtigenden Achsen α, β in nα', nβ' zu ändern.
  • Durch Verwenden der neuen Achsen-Lastfaktoren ni werden die Geschwindigkeitsbefehle dθi die in den Parallelogrammbereich fallen, automatisch erzeugt, und wenn der Roboter sich beeinträchtigende Achsen enthält, kann er auf einfache Weise eine ruhige Geschwindigkeitssteuerung ausführen.
  • Während das vorliegende Ausführungsbeispiel, das oben beschrieben ist, den Achsen-Lastfaktor-Änderungsabschnitt 14 aufweist, der zu der Robotersteuervorrichtung hinzugefügt ist, die in Fig. 1 gezeigt ist, um die Achsen-Lastfaktoren einer Vielzahl von Achsen des Roboters R im Achsen- Lastfaktor-Änderungsabschnitt 14 zu ändern, um mit einer Achseninterferenz fertigzuwerden, kann ein identischer Effekt an einem Roboter erzeugt werden, der zusätzliche Achsen zu den Roboterachsen enthält, wie es in Fig. 2 gezeigt ist, durch das Hinzufügen eines Achsen-Lastfaktor- Änderungsabschnitts für die zusätzlichen Achsen, welcher eine ähnliche Steuerung ausübt.

Claims (14)

1. Robotersteuervorrichtung mit einer Positionssteuereinrichtung (4) zum Ausgeben von Positionsbefehlen (θi) für jede Achse eines Roboters gemäß der Eingabe der Zielpositionsinformation (θid) für jede Achse, wobei die Positionssteuereinrichtung folgendes aufweist:
eine Achsen-Lastfaktor-Berechnungseinrichtung (11, 12) zum Finden des maximalen Wertes der maximalen zulässigen Geschwindigkeit (ωim) jeder Achse als Maximalgeschwindigkeitszeichen (5) und zum Berechnen eines Verhältnisses der maximalen zulässigen Geschwindigkeit (ωim) jeder Achse zu dem Maximalgeschwindigkeitszeichen (S) als Lastfaktor (ni) jeder Achse;
eine Berechnungseinrichtung (13) für eine zulässige Interpolationsbewegungsgeschwindigkeit zum Berechnen einer zulässigen Interpolationsgeschwindigkeit (U) aus dem Maximalgeschwindigkeitszeichen (S) und einem vorrangigen Faktor (Ov);
eine Bewegungswert-Berechnungseinrichtung (10) zum Berechnen des Bewegungswertes (θid-θic) jeder Achse aus einer Differenz zwischen der Zielposition (θid) und einem vorangehenden Positionsbefehl (θic) jeder Achse;
eine Geschwindigkeitsbefehls-Berechnungseinrichtung (6) zum Finden der Bewegungsentfernung (dθi) jeder Achse als Produkt des Bewegungswertes (θid-θic) und des Lastfaktors (ni) jeder Achse, zum Definieren des maximalen Wertes der Bewegungsentfernung als typische Bewegungsentfernung, zum Berechnen eines Bewegungsgeschwindigkeitszeichens in wenigstens einem Beschleunigungsbereich, einem Bereich konstanter Geschwindigkeit oder einem Abbremsbereich gemeinsam für jede Achse und der zulässigen Interpolationsbewegungsgeschwindigkeit, und zum Berechnen eines Geschwindigkeitsbefehls (dθi) für jede Achse aus einem Verhältnis eines Produkts des Bewegungsgeschwindigkeitszeichens (S) und des Bewegungswertes (θid-θiC) jeder Achse zu der typischen Bewegungsentfernung; und
eine Positionsbefehls-Berechnungseinrichtung (7) zum Berechnen eines Positionsbefehls (θi) für jede Achse aus dem Geschwindigkeitsbefehl (dθi) für jede Achse.
2. Robotersteuervorrichtung nach Anspruch 1, wobei die erste Vielzahl von Achsen Roboterachsen innerhalb eines Roboters und zusätzliche Achsen außerhalb des Roboters sind, und wobei die zusätzlichen Achsen synchron mit den Roboterachsen positionsgesteuert werden (3A, 11A, 12A, 7A, 8A, 9A).
3. Robotersteuervorrichtung nach Anspruch 1 oder 2, die weiterhin eine Achsen-Lastfaktor-Änderungseinrichtung (14) zum Ändern der Lastfaktoren (ni) der Roboterachsen oder der Roboterachsen und der zusätzlichen Achsen, die durch die Achsen-Lastfaktor-Berechnungseinrichtung (12B) berechnet werden, aufweist.
4. Robotersteuervorrichtung nach Anspruch 3, wobei die Achsen-Lastfaktor-Änderungseinrichtung (14) die Lastfaktoren (ni) der ersten Vielzahl von Achsen ändert, wie es durch die Achsen-Lastfaktor-Berechnungseinrichtung (12B) auf der Basis einer Information über die Interferenz (p) der Roboterachsen berechnet ist.
5. Robotersteuervorrichtung nach Anspruch 3 oder 4, wobei die Achsen-Lastfaktor-Änderungseinrichtung (14)
Geschwindigkeitsbefehle (u, v) durch Verwenden des vorangehenden Positionsbefehls (θiC) und der Zielpositionsinformation (θid) kombiniert mit einer Bewegungsentfernung (θid-θiC), dem Maximalgeschwindigkeitszeichen (S) und einer Maximalbewegungsentfernung berechnet, und
prüft, ob die Geschwindigkeitsbefehle (u, v) innerhalb eines Bereichs des ausgewählten Basislinien- Geschwindigkeitsprofils sind oder nicht.
6. Robotersteuervorrichtung nach einem der Ansprüche 3 bis 5, wobei
die Achsen-Lastfaktor-Berechnungseinrichtung (11, 12) die Lastfaktoren (ni) auf der Basis eines ausgewählten Basislinien-Geschwindigkeitsprofils und eines ausgewählten Basislinien-Geschwindigkeitswertes (±Vo, ±Uo) berechnet; und
die Geschwindigkeitsbefehls-Berechnungseinrichtung (6) den Geschwindigkeitsbefehl (dθi) in Antwort auf wenigstens den jeweiligen Lastfaktor (ni) und das Basislinien-Geschwindigkeitsprofil berechnet.
7. Robotersteuervorrichtung nach einem der Ansprüche 3 bis 6, wobei alle Achsen gemäß demselben Geschwindigkeitsprofil gesteuert werden.
8. Verfahren zum Steuern eines Roboters mit einer Vielzahl von Bewegungsachsen, das folgendes aufweist:
Eingeben einer Zielpositionsinformation (θid) für jede einer ersten Vielzahl der Bewegungsachsen;
Berechnen (11) des maximalen Wertes der maximalen zulässigen Geschwindigkeit (ωim) jeder ersten Vielzahl von Achsen als Maximalgeschwindigkeitszeichen (S);
Berechnen (12) eines Verhältnisses der maximalen zulässigen Geschwindigkeit (ωim) jeder ersten Vielzahl von Achsen gegenüber dem Maximalgeschwindigkeitszeichen (S) als den Lastfaktor (ni) jeder der ersten Vielzahl von Achsen;
Berechnen (13) einer zulässigen Interpolationsbewegungsgeschwindigkeit (U) aus dem Maximalgeschwindigkeitszeichen (S) und einem vorrangigen Faktor (Ov);
Berechnen (10) des Bewegungswertes jeder der ersten Vielzahl von Achsen aus einer Differenz zwischen der Zielposition (θid) und einem vorangehenden Positionsbefehl (θiC) jeder Achse;
Bestimmen (6) der Bewegungsentfernung jeder ersten Vielzahl von Achsen als ein Produkt des Bewegungswertes (θid-θiC) und des Lastfaktors (ni) jeder Achse;
Definieren (6) des maximalen Wertes der Bewegungsentfernung als typische Bewegungsentfernung (dθi);
Berechnen (6) eines Bewegungsgeschwindigkeitszeichens in einem Beschleunigungsbereich, einem Bereich konstanter Geschwindigkeit oder einem Abbremsbereich gemeinsam für jede der ersten Vielzahl von Achsen aus einer Beschleunigungsgeschwindigkeit und einer Abbremsgeschwindigkeit gemeinsam für jede Achse und der zulässigen Interpolationsbewegungsgeschwindigkeit;
Berechnen (6) eines Geschwindigkeitsbefehls (dθi) für jede der ersten Vielzahl von Achsen aus einem Verhältnis eines Produkts des Bewegungsgeschwindigkeitszeichens und des Bewegungswertes jeder Achse zu der typischen Bewegungsentfernung;
Berechnen (7) eines Positionsbefehls (θi) für jede der Vielzahl von Achsen aus dem Geschwindigkeitsbefehl (dθi) für jede Achse; und
Ausgeben (7) von Positionsbefehlen (θi) für jede der ersten Vielzahl von Achsen gemäß der eingegebenen Zielpositionsinformation (θid).
9. Verfahren nach Anspruch 8, wobei alle der ersten Vielzahl von Achsen gemäß demselben Geschwindigkeitsprofil gesteuert werden.
10. Verfahren nach Anspruch 8 oder 9, wobei die erste Vielzahl von Bewegungsachsen Bewegungsachsen innerhalb eines Roboters und zusätzliche Achsen außerhalb des Roboters sind, und wobei die eingegebene Zielpositionsinformation jeder Achse arbeitet, um die zusätzlichen Achsen synchron mit den Roboterachsen positionszusteuern (3A, 11A, 12A, 7A, 8A, 9A).
11. Verfahren nach Anspruch 9 oder 10, das weiterhin folgendes aufweist:
Modifizieren (14) des Lastfaktors (ni) auf der Basis einer Interferenz zwischen Achsen.
12. Verfahren nach Anspruch 11, wobei der Schritt zum Modifizieren (14) folgende Schritte aufweist:
Berechnen von Geschwindigkeitsbefehlen (u, v) durch Verwenden des vorangehenden Positionsbefehls (θiC) und der Zielpositionsinformation (θid), kombiniert mit einer Bewegungsentfernung (θid-θiC), dem Maximalgeschwindigkeitszeichen (S) und einer Maximalbewegungsentfernung, und
Prüfen, ob die Geschwindigkeitsbefehle (u, v) innerhalb des Bereichs eines ausgewählten Basislinien- Geschwindigkeitsprofils sind oder nicht.
13. Verfahren nach Anspruch 11 oder 12, wobei
der Schritt zum Berechnen (11, 12) des Achsen- Lastfaktors (ni) auf der Basis eines ausgewählten Basislinien-Geschwindigkeitsprofils und eines ausgewählten Basislinien-Geschwindigkeitswertes (±Vo, ±Uo) durchgeführt wird; und
der Schritt zum Berechnen (6) des Geschwindigkeitsbefehls (dθi) in Antwort auf wenigstens den jeweiligen Lastfaktor (ni) und das Basislinien- Geschwindigkeitsprofil durchgeführt wird.
14. Verfahren nach einem der Ansprüche 8 bis 13, das folgende Schritte aufweist:
Auswählen eines einer ersten Vielzahl der Bewegungsachsen mit einer maximalen Geschwindigkeit; und
Definieren der Geschwindigkeit einer zweiten Vielzahl der Bewegungsachsen in bezug auf die maximale Geschwindigkeit.
DE69119538T 1990-10-29 1991-10-29 Robotersteuerungsverfahren und Gerät Expired - Fee Related DE69119538T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP29109990A JPH04163603A (ja) 1990-10-29 1990-10-29 ロボットの制御装置
JP3252119A JP2643683B2 (ja) 1990-10-29 1991-09-30 ロボットの制御方法

Publications (2)

Publication Number Publication Date
DE69119538D1 DE69119538D1 (de) 1996-06-20
DE69119538T2 true DE69119538T2 (de) 1996-10-10

Family

ID=26540557

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69119538T Expired - Fee Related DE69119538T2 (de) 1990-10-29 1991-10-29 Robotersteuerungsverfahren und Gerät

Country Status (4)

Country Link
US (2) US5327523A (de)
EP (1) EP0483756B1 (de)
JP (1) JP2643683B2 (de)
DE (1) DE69119538T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10251600A1 (de) * 2002-11-06 2004-05-27 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Bewegungen bei Handhabungsgeräten

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4123323C2 (de) * 1991-07-13 1994-02-10 Andreas Ehlerding Werkzeugträger
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
US5740327A (en) * 1994-12-27 1998-04-14 Nec Corporation Method of and apparatus for robot tip trajectory control
US5710490A (en) * 1996-01-02 1998-01-20 Samsung Electronics Co., Ltd. Method of reducing execution time for position command in position servo system
JP2006055901A (ja) * 2004-08-23 2006-03-02 Fanuc Ltd レーザ加工装置
FR2918477A1 (fr) * 2007-07-04 2009-01-09 Aldebaran Robotics Soc Par Act Procede d'edition de mouvements d'un robot
DE102010044175A1 (de) * 2010-11-19 2012-05-24 Mag Ias Gmbh Verfahren und Fertigungseinheit zur Herstellung von Faserverbundmaterial-Bauteilen

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2039078B (en) * 1978-12-27 1982-11-24 Ibm Sampled data servo positioning system
JPS57139810A (en) * 1981-02-20 1982-08-30 Shin Meiwa Ind Co Ltd Controlling method of industrial robot and its device
US4404505A (en) * 1981-03-03 1983-09-13 Swanson Systems, Inc. Programmable multiple position machine
JPS5845886A (ja) * 1981-09-08 1983-03-17 新明和工業株式会社 産業用ロボツト
JPS5856785A (ja) * 1981-09-30 1983-04-04 株式会社三協精機製作所 工業用ロボツトの動作制御装置
JPS58177287A (ja) * 1982-04-05 1983-10-17 株式会社日立製作所 ロボットの制御方法
JPS59231607A (ja) * 1983-06-14 1984-12-26 Mitsubishi Electric Corp ロボツトの制御装置
JPS6039204A (ja) * 1983-08-11 1985-03-01 Fujitsu Ltd 多関節ロボツトの速度制御方法
JPS60108283A (ja) * 1983-11-15 1985-06-13 富士通株式会社 多関節型ロボツトの駆動制御方法
US4689756A (en) * 1984-06-29 1987-08-25 Shin Meiwa Industry Co., Ltd. Robot interpolation control method
JPS6142004A (ja) * 1984-08-06 1986-02-28 Toyota Central Res & Dev Lab Inc 追従ロボツト装置
US4648026A (en) * 1984-12-20 1987-03-03 Tektronix, Inc. Microprocessor stepper motor drive
JPS62162109A (ja) * 1986-01-10 1987-07-18 Kobe Steel Ltd 多軸ロボツトの速度制御方法
US4773025A (en) * 1986-11-20 1988-09-20 Unimation, Inc. Multiaxis robot control having curve fitted path control
US4868474A (en) * 1986-11-20 1989-09-19 Westinghouse Electric Corp. Multiprocessor position/velocity servo control for multiaxis digital robot control system
JPH02256483A (ja) * 1989-03-29 1990-10-17 Kobe Steel Ltd 産業用ロボットの速度制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10251600A1 (de) * 2002-11-06 2004-05-27 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Bewegungen bei Handhabungsgeräten

Also Published As

Publication number Publication date
EP0483756A2 (de) 1992-05-06
EP0483756A3 (en) 1992-12-02
EP0483756B1 (de) 1996-05-15
US5327523A (en) 1994-07-05
JPH05197419A (ja) 1993-08-06
US5467430A (en) 1995-11-14
JP2643683B2 (ja) 1997-08-20
DE69119538D1 (de) 1996-06-20

Similar Documents

Publication Publication Date Title
DE69216167T2 (de) Gerät zur Steuerung eines Industrieroboters zur Durchführung koordinierter Arbeitsvorgänge unter Verwendung eines Playbackteachingverfahrens und dies-bezügliches Verfahren
DE102018122376B3 (de) Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
DE68927138T2 (de) Handhabungssteuerungsverfahren und -system
DE69417323T2 (de) Verfahren zur Optimierung der Bewegung eines Mehr-Achsen-Roboters
DE69826808T2 (de) Maschinensteuerung
DE3789374T2 (de) Steuergerät für einen Manipulator.
EP0762250B1 (de) Verfahren zur Steuerung von Koordinatenmessgeräten
EP0062159B1 (de) Numerische Bahnsteuerung für eine Werkzeugmaschine
DE3750333T2 (de) Durch iterative splinefunktion gesteuerter positionierungsmechanismus.
DE69024854T2 (de) Verfahren zur Steuerung von Roboterbewegungen
DE3786860T2 (de) Regelvorrichtung für einen roboter.
DE68922684T2 (de) Profilsteuersystem für eine gegebene gekrümmte Fläche.
DE102015103451B4 (de) Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen und Computerprogrammprodukt
DE3545795C2 (de) Vorrichtung zur numerischen Steuerung
DE3886748T2 (de) Geschwindigkeitsregelanordnung.
DE19841716A1 (de) Steuerungsverfahren und numerische Steuerung zur Bewegungsführung von industriellen Bearbeitungsmaschinen
DE3344633A1 (de) Verfahren und vorrichtung zur steuerung eines roboters
EP0419706B1 (de) Verfahren zur numerischen Positions- oder Bahnsteuerung
DE69119538T2 (de) Robotersteuerungsverfahren und Gerät
EP0506990A1 (de) Verfahren zur Beschleunigungs- und Geschwindigkeitsführung mindestens einer steuerbaren Achse einer Werkzeugmaschine oder eines Roboters
DE3854233T2 (de) Verfahren zur regelung der geschwindigkeit für servomotoren.
DE69420170T2 (de) Verfahren und Vorrichtung für eine numerisch gesteuerte Industriemaschine
DE69122185T2 (de) Verfahren und Vorrichtung zum Steuern eines Gelenkroboters mit Redundanz
WO2009062826A1 (de) Industrieroboter und verfahren zum steuern der bewegung eines industrieroboters
EP0184075B1 (de) Einrichtung und Verfahren zum Regeln eines Industrieroboters

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee