DE19914245B4 - Roboter-Steuervorrichtung - Google Patents

Roboter-Steuervorrichtung Download PDF

Info

Publication number
DE19914245B4
DE19914245B4 DE19914245A DE19914245A DE19914245B4 DE 19914245 B4 DE19914245 B4 DE 19914245B4 DE 19914245 A DE19914245 A DE 19914245A DE 19914245 A DE19914245 A DE 19914245A DE 19914245 B4 DE19914245 B4 DE 19914245B4
Authority
DE
Germany
Prior art keywords
joint
time
torque
calculated
sampling time
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
DE19914245A
Other languages
English (en)
Other versions
DE19914245A1 (de
Inventor
Koji Kariya Kamiya
Shinji Kariya Iida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Publication of DE19914245A1 publication Critical patent/DE19914245A1/de
Application granted granted Critical
Publication of DE19914245B4 publication Critical patent/DE19914245B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

Steuervorrichtung für einen Roboter mit zumindest einem Gelenk, umfassend:
eine Positionsberechnungseinrichtung, die nach Ablauf jeder Abtastzeit eine Position des Gelenks berechnet, die zu einem Endzeitpunkt einer nächsten Abtastzeit auf Grundlage eines Geschwindigkeitsmusters auftritt,
eine Drehmomentberechnungseinrichtung zum Berechnen eines Antriebsdrehmoments, aufgrund dessen das Gelenk in die durch die Positionsberechnungseinrichtung berechnete Position bewegt wird,
eine Abtastzeitänderungseinrichtung zum Berechnen eines Geschwindigkeitsänderungsverhältnisses (R), aufgrund dessen das Antriebsdrehmoment verringert wird, wenn das durch die Drehmomentberechnungseinrichtung berechnete Antriebsdrehmoment einen vorbestimmten Grenzwert gleich einem maximal zulässigen Drehmoment des Motors (10) überschreitet, und zum Berechnen einer korrigierten Abtastzeit (STk = R·ST) auf Grundlage des berechneten Geschwindigkeitsänderungsverhältnisses, wobei die korrigierte Abtastzeit kürzer als eine normale Abtastzeit (ST) ist,
eine Einrichtung zum in die Lage Versetzen der Positionsberechnungseinrichtung, eine Position des Gelenks unter Verwendung der korrigierten Abtastzeit (STk) zu berechnen, welche durch die Abtastzeitänderungseinrichtung als die nächste Abtastzeit berechnet wurde, und zum Einstellen der Position, die...

Description

  • Die vorliegende Erfindung betrifft allgemein eine Steuervorrichtung für einen Roboter. Insbesondere betrifft die Erfindung eine Vorrichtung, die so ausgelegt ist, daß ein Motor zur Betätigung eines Gelenks in einem Roboter genutzt wird, die Bewegung des Roboters zu steuern.
  • Ein typischer Industrie-Mehrgelenkroboter weist mehrere bewegliche Abschnitte auf, die durch Gelenke verbunden sind. Die beweglichen Abschnitte oder die Gelenke sind über Kraftübertragungsmechanismen mit Betätigungsorganen, wie etwa Gleichstrom-Servomotoren verbunden. Die beweglichen Abschnitte oder Gelenke können durch Antriebsdrehmomente in Drehung versetzt werden, die ausgehend von den Motoren übertragen werden. Der typische Roboter weist ein Funktions- bzw. Betriebsende auf. Eine Bewegung des Roboter-Betriebsendes ergibt sich als resultierende von Bewegungen der beweglichen Abschnitte. Die Motoren werden durch eine Schaltung auf Computerbasis gesteuert, welche in Übereinstimmung mit einem Betriebsprogramm (Steuerprogramm) arbeitet bzw. aktiv ist. Das Betriebsprogramm ist dazu ausgelegt, daß eine Bewegung des Roboter-Betriebsendes mit der gewünschten oder programmierten Bewegung übereinstimmt.
  • Die Drehsteuerung eines Gelenks in einem Roboter gemäß dem Stand der Technik gestaltet sich wie folgt. Ein Drehkodierer, welcher der Abtriebswelle eines Gelenkantriebsmotors zugeordnet ist, gibt ein Signal aus, welches die aktuelle Winkelposition des Gelenks darstellt. Der Gelenkantriebsmotor wird ansprechend auf das Ausgangssignal des Drehkodierers und eines Instruktionssignal gesteuert, welches eine Winkelbefehlsposition (eine gewünschte Winkelposition) des Gelenks darstellt. Die Informa tion über die aktuelle Winkelposition des Gelenks wird als Rückkopplungssignal bei der Steuerung des Gelenkantriebsmotors genutzt. Die Steuerung des Gelenkantriebsmotors basiert auf einer Rückkopplung derart, daß die aktuelle Winkelposition des Gelenks gleich seiner Winkelbefehlsposition sein kann.
  • Diese Rückkopplungssteuerung wird über eine Steuereinheit (eine Schaltung auf Computerbasis) implementiert, welche in Übereinstimmung mit einem Betriebsprogramm arbeitet. Für die Rückkopplungssteuerung führt die Steuereinheit die folgenden Schritte aus.
  • Die Steuereinheit ermittelt ein Geschwindigkeitsmuster auf Grundlage von Parametern, die aus dem Betriebsprogramm ausgelesen werden. Wenn jegliche Abtastzeitperiode abgelaufen ist, berechnet die Steuereinheit eine Winkelposition des Gelenks aus dem Geschwindigkeitsmuster, das zum Zeitpunkt folgend auf den aktuellen Zeitpunkt durch eine Abtastperiode auftritt. Die Steuereinheit stellt die berechnete Winkelposition als Winkelbefehlsposition für das Gelenk ein. Die Steuereinheit wird über die aktuelle Winkelposition des Gelenks durch den Drehkodierer informiert. Die Steuereinheit vergleicht die aktuelle Winkelposition des Gelenks und seine Winkelbefehlsposition. Die Steuereinheit stellt die Drehzahl des Gelenkantriebsmotors ansprechend auf ein Ergebnis des Vergleichs derart ein, daß das Gelenk die Winkelbefehlsposition erreicht, nachdem die Einheitsteuerzeit gleich lang ist wie die Abtastperiode. Infolge dieses Einstellvorgangs arbeitet das Gelenk in Übereinstimmung mit einem Drehzahl- bzw. Geschwindigkeitsmuster ähnlich zu dem Drehzahl- bzw. Geschwindigkeitsmuster, das in Übereinstimmung mit dem Betriebsprogramm ermittelt wird.
  • Die Drehung von jedem der anderen Gelenke in dem Roboter wird in ähnlicher Weise gesteuert. Ein Betriebsende des Roboters bewegt sich demnach in Übereinstimmung mit dem Betriebsprogramm.
  • Ein üblicher Roboter ist so ausgelegt, daß dann, wenn ein Lastdrehmoment eines Gelenkantriebsmotors einen Grenzwert, wie etwa einen maximal zulässigen Wert übersteigt, der Motor zu seinem Schutz ausgeschaltet wird. Während eines Lehrprozesses beim Erzeugen eines Betriebsprogramms für den Roboter werden deshalb Betriebsgeschwindigkeiten bzw. -drehzahlen der Gelenke so eingestellt, daß verhindert wird, daß Gelenkantriebsmotoren einer Überlastung unterliegen. Es ist mühsam, einen Lehrprozeß auszuführen, während Lastdrehmomentgrenzen der jeweiligen Gelenkantriebsmotoren berücksichtigt werden. Der Lehrprozeß neigt deshalb dazu, in ineffizienter Weise implementiert zu werden. Da die Betriebsgeschwindigkeiten bzw. -drehzahlen der Gelenke so eingestellt werden, daß die Gelenkantriebsmotoren davor geschützt werden, überlastet zu werden, bleiben die Drehmomente der Motoren unter den maximal zulässigen Werten und der nahezu sämtlichen Betriebsbedingungen für den Roboter. In diesem Fall neigen die Drehmomente der Motoren jedoch dazu, signifikant niedriger zu sein als die maximal zulässigen Werte. Mittlere Betriebs- bzw. Arbeitsgeschwindigkeiten bzw. -drehzahlen der Gelenke sind deshalb relativ niedrig, und die Arbeit des Roboters neigt dazu, eine relativ lange Zeit (eine relativ lange Taktzeit) zu dauern.
  • Die japanische veröffentlichte ungeprüfte Patentanmeldung JP 5-138563 A offenbart eine Steuervorrichtung für einen Roboter, die dazu ausgelegt ist, dieses Problem zu überwinden. Die Last auf einem Gelenkantriebsmotor nimmt zu einem Zeitpunkt nahe zum Ende der Beschleunigung des Motors oder dem Start seiner Verzögerung einen Spitzenwert ein. Um zu verhindern, daß das Lastdrehmoment des Motors einen Grenzwert zu Zeitpunkten nahe zum Ende der Beschleunigung und dem Start der Verzögerung überschreitet, werden gemäß der japanischen Anmeldung JP 5-138563 A die Beschleunigungs- und Verzögerungsgrade des Motors entsprechend Lastbedingungen des Motors in seinen Positionen entsprechend dem Ende der Beschleunigung und dem Start der Verzögerung ermittelt bzw. festgelegt.
  • Da in er Steuervorrichtung gemäß der japanischen Anmeldung JP 5-138563 A die Beschleunigungs- und Verzögerungsgrade des Motors in der Beschleunigungsendposition und der Verzögerungsstartposition ermittelt werden, stellt der Motor nicht jederzeit seine maximalen Fähigkeiten zur Verfügung. Andererseits besteht abgesehen von der Beschleunigungsendposition und der Verzögerungsstartposition eine Chance dafür, daß die Fähigkeiten des Motors einen maximalen Pegel bzw. ein maximales Niveau übersteigen.
  • In der Steuervorrichtung gemäß der japanischen Anmeldung 5-138563 werden die Beschleunigungs- und Verzögerungsgrade eines Gelenkantriebsmotors in einer Beschleunigungsendposition und einer Verzögerungsstartposition für jedes der Gelenke ermittelt bzw. festgelegt. Dieses Verfahren ist für einen Prozeß (einen PTP-Prozeß) zum Einstellen bzw. Festlegen eines Drehzahl- bzw. Geschwindigkeitsmusters von Gelenk zu Gelenk geeignet. Dieses Verfahren kann jedoch nicht auf den Fall angewendet werden, bei welchem die Bewegungsbahn bzw. die Trajektorie (die Ortskurve) eines Betriebsendes eines Roboters eingestellt wird. Wenn es hierzu angewendet wird, weicht das Betriebsende des Roboters von einer programmierten Trajektorie oder einer gewünschten Trajektorie ab.
  • Die japanische veröffentlichte ungeprüfte Patetanmeldung JP 64-7105 A entsprechend der PCT-Anmeldung WO 89/00305 A1 offenbart ein Steuersystem für einen Roboter, bei welchem ein Antriebsmotor für einen Arm des Roboters unter vorbestimmten Betriebsbedin gungen gesteuert wird. Mehr im einzelnen werden die Betriebsbedingungen ermittelt, und Daten, welche diese anzeigen, werden in einem Speicher gespeichert, bevor der Antriebsmotor aktiviert wird, um den Roboterarm zu betätigen. In dem Steuersystem gemäß der japanischen Anmeldung JP 64-7105 A umfassen die vorbestimmten Betriebsbedingungen eine Geschwindigkeits- bzw. Drehzahlbedingung und eine Zeitkonstante. Während der Ermittlung der Betriebsbedingungen, die vor dem tatsächlichen Betrieb des Rotobers implementiert werden, wird ein Verhältnis zwischen einem Lastdrehmoment und einem maximalen Ausgangsdrehmoment des Motors berechnet. Wenn das berechnete Verhältnis ungefähr gleich "1" ist, werden eine ursprüngliche Geschwindigkeits- bzw. Drehzahlbedingung und eine ursprüngliche Zeitkonstante in den Betriebsbedingungen direkt genutzt. Wenn das berechnete Verhältnis "1" merklich übersteigt, wird zumindest die Drehzahl- bzw. die Geschwindigkeitsbedingung oder die Zeitkonstante in Richtung zum Verringern des Verhältnisses geändert. Infolge davon entsprechen die Geschwindigkeits- bzw. Drehzahlbedingung und die Zeitkonstante, die schließlich in den Betriebsbedingungen genutzt werden, einem Zustand, bei welchem das Lastdrehmoment und das maximale Ausgangsdrehmoment des Motors ungefähr gleich zueinander sind.
  • Aus der DE 35 87 288 T2 ist eine Steuervorrichtung für einen Roboter mit mehreren Gelenken bekannt, umfassend:
    eine Positionsberechnungseinrichtung, die nach Ablauf jeder Abtastzeit eine Position des Gelenks berechnet, die zu einem Endzeitpunkt einer nächsten Abtastzeit auf Grundlage eines Geschwindigkeitsmusters auftritt;
    eine Drehmomentberechnungseinrichtung zum Berechnen eines Antriebsdrehmoments, aufgrund dessen das Gelenk in die durch die Positionsberechnungseinrichtung berechnete Position bewegt wird;
    eine Einrichtung zum Berechnen eines Geschwindigkeitsänderungsverhältnisses, aufgrund dessen das Antriebsdrehmoment verringert wird, wenn das durch die Drehmomentberechnungseinrichtung berechnete Antriebsdrehmoment einen vorbestimmten Grenzwert gleich einem maximal zulässigen Drehmoment des Motors überschreitet,
    eine Einrichtung zum Einstellen der Position, die durch die Positionsberechnungseinrichtung als Befehlsposition und zum Steuern des Gelenks berechnet wird, damit dieses innerhalb einer vorbestimmten Steuereinheitszeit in die Befehlsposition bewegt wird.
  • WO 97/29890 A1 beschreibt ein Verfahren zur Steuerung der Bewegung eines Industrieroboters entlang einer vorgegebenen Bahn, wobei der Roboter mehrere Gelenke aufweist. Dabei werden zur Steuerung diejenigen Achsenwinkel berechnet, welche zum Erreichen der nächsten Position benötigt werden. In Abhängigkeit von den berechneten Achsenwinkeln und einem mathematischen Modell, welches die statischen und dynamischen Eigenschaften des Roboters beschreibt, wird für jede der Bewegungsachsen das erforderliche Drehmoment berechnet. Wenn das berechnete Drehmoment einen Grenzwert überschreitet, wird die Geschwindigkeit reduziert.
  • EP 0 794 475 A1 beschreibt ein Steuerverfahren für einen Roboter, mit welchem eine Überhitzung eines Servomotors zum Antrieb der Achsen des Roboters vermieden werden kann.
  • US 5 994 864 A beschreibt eine Steuervorrichtung für einen Roboter, welcher Arbeitsschritte ausführt, während zwischen einer Positionierungssteuerung und einer Überwachungssteuerung geschaltet wird.
  • US 5 323 309 A beschreibt ein Positionierungssystem für einen Roboter.
  • EP 0 530 033 A2 beschreibt ein Zuführraten-Steuerverfahren und eine Vorrichtung in einem numerischen Steuersystem.
  • Eine erste Aufgabe der Erfindung besteht darin, eine Steuervorrichtung für einen Roboter zu schaffen, die in der Lage ist, die Fähigkeiten einer Energiequelle (beispielsweise eines Motors) zur Betätigung eines Gelenks, falls erforderlich, maximal zu nutzen. Eine zweite Aufgabe der Erfindung besteht darin, eine Steuervorrichtung für einen Roboter zu schaffen, die den Betrieb eines Gelenks steuern kann, oder einen Fehler bezüglich der Trajektorie (der Ortskurve) eines Betriebsendes des Roboters zu verursachen.
  • Gelöst wird die Aufgabe durch einen der unabhängigen Ansprüche.
  • Gemäß einem ersten Aspekt schafft die vorliegende Erfindung demnach eine Steuervorrichtung für einen Roboter mit (zumindest) einem Gelenk. Die Steuervorrichtung umfaßt eine Positionsberechnungseinrichtung umfassend eine Positionsberechnungseinrichtung zum Berechnen in dem Fall, daß jegliche Abtastzeit abgelaufen ist, einer Position des Gelenks, die zu einem Endzeitpunkt einer nächsten Abtastzeit auf Grundlage eines Geschwindigkeitsmusters auftritt, eine Drehmomentberechnungseinrichtung zum Berechnen eines Antriebsdrehmoments, das dazu ausgelegt bzw. bestimmt ist, das Gelenk in die durch die Positionsberechnungseinrichtung berechnete Position zu bewegen, eine Abtastzeitänderungseinrichtung zum, in dem Fall, daß das durch die Drehmomentberechnungseinrichtung berechnete Antriebsdrehmoment einen vorbestimmten Grenzwert überschreitet, Berechnen eines Geschwindigkeitsänderungsverhältnisses, das dazu ausgelegt bzw. bestimmt ist, das Antriebsdrehmoment zu verringern, und zum Berechnen einer korrigierten Abtastzeit auf Grundlage des berechneten Geschwindigkeitsänderungsverhältnisses, wobei die korrigierte Abtastzeit kürzer als eine normale Abtastzeit ist, eine Einrichtung zum, in den Fällen, wenn das durch die Drehmomentberechnungseinrichtung berechnete Antriebsdrehmoment den vorbestimmten Grenzwert nicht übersteigt, Einstellen der Position, die durch die Positionsberechnungseinrichtung berechnet wird, als Befehlsposition und zum Steuern des Gelenks, damit dieses sich in die Befehlsposition bewegt, nachdem eine vorbestimmte Steuereinheitszeit abgelaufen ist, und eine Einrichtung zum, in den Fallen, in welchen das durch die Drehmomentberechnungseinrichtung berechnete Antriebsdrehmoment den vorbestimmten Grenzwert übersteigt, in die Lage Versetzen der Positionsberechnungseinrichtung, eine Position des Gelenks zu berechnen unter Verwendung der korrigierten Abtastzeit, berechnet durch die Abtastzeitänderungseinrichtung als die nächste Abtastzeit und zum Einstellen der Position, die durch die Positionsberechnungseinrichtung berechnet wurde als Befehlsposition und zum Steuern des Gelenks, damit dieses sich in die Befehlsposition bewegt, nachdem die vorbestimmte Steuereinheitszeit abgelaufen ist.
  • Gemäß einem zweiten Aspekt schafft die Erfindung eine Steuervorrichtung für einen Roboter mit einem Gelenk, umfassend: Eine Positionsberechnungseinrichtung zum Berechnen in dem Fall, daß jegliche Abtastzeit abgelaufen ist, Berechnen einer Position des Gelenks, die zu einem Endzeitpunkt einer nächsten Abtastzeit auf Grundlage eines Geschwindigkeitsmusters auftritt, eine Drehmomentberechnungseinrichtung zum Berechnen eines Drehmoments, das dazu ausgelegt bzw. bestimmt ist, das Gelenk in die durch die Positionsberechnungseinrichtung berechnete Position zu bewegen, eine Geschwindigkeitsänderungsverhältnisberechnungseinrichtung zum, in denjenigen Fällen, in welchen das durch die Drehmomentberechnungseinrichtung berechnete Antriebsdrehmoment einen vorbestimmten Grenzwert übersteigt, Berechnen eines Geschwindigkeitsänderungsverhältnisses, das dazu ausgelegt ist bzw. dient, das Antriebsdrehmoment zu verringern, eine Einrichtung zum, in den Fällen, wenn das durch die Drehmomentberechnungseinrichtung berechnete Antriebsdrehmoment den vorbestimmten Grenzwert nicht übersteigt, Einstellen der Position, die durch die Positionsberechnungseinrichtung berechnet wird, als Befehlsposition und zum Steuern des Gelenks, damit dieses sich in die Befehlsposition bewegt, nachdem eine vorbestimmte Steuereinheitszeit abgelaufen ist, und eine Einrichtung zum, in denjenigen Fällen, in welchen das durch die Drehmomentberechnungseinrichtung berechnete Antriebsdrehmoment den vorbestimmten Grenzwert übersteigt, Einstellen der Steuereinheitszeit auf einen längeren Wert als eine normale Steuereinheitszeit auf Grundlage des Geschwindigkeitsänderungsverhältnisses, berechnet durch die Geschwindigkeitsänderungsverhältnisberechnungseinrichtung, und zum Einstellen der durch die Positionsberech nungseinrichtung berechneten Position als Befehlsposition und zum Steuern des Gelenks, damit dieses sich in die Befehlsposition bewegt, nachdem die Steuereinheitszeit, die länger eingestellt ist, abgelaufen ist.
  • Gemäß einem dritten Aspekt schafft die Erfindung einen Roboter, umfassend ein Gelenk, einen Motor zum Antreiben des Gelenks, eine erste Einrichtung zum Berechnen einer Drehmomentausgabe des Motors, eine zweite Einrichtung zum Entscheiden, ob oder ob nicht die durch die erste Einrichtung berechnete Drehmomentausgabe eine vorbestimmte Grenze übersteigt, und eine dritte Einrichtung zum Reduzieren der Drehmomentausgabe des Motors in denjenigen Fällen, in welchen die zweite Einrichtung entscheidet, daß die durch die erste Einrichtung berechnete Drehmomentausgabe die vorbestimmte Grenze überschreitet.
  • Nachfolgend wird die Erfindung anhand der Zeichnung beispielhaft näher erläutert; es zeigen:
  • 1 eine perspektivische Ansicht eines Roboters, der mit einer Steuervorrichtung gemäß einer Ausführungsform der Erfindung versehen ist,
  • 2 ein Blockdiagramm eines elektrischen Abschnitts der Steuervorrichtung gemäß der Ausführungsform der Erfindung,
  • 3 ein Diagramm eines Beispiels eines Geschwindigkeits- bzw. Drehzahlmusters, das in der Steuervorrichtung von 2 zur Anwendung gelangt,
  • 4 ein Zeit-Domänen-Diagramm eines Beispiels eines Betriebswinkels (Drehwinkels) in der Steuervorrichtung von 2, und
  • 5 ein Flußdiagramm eines Segments eines Programms für eine CPU der Steuervorrichtung von 2.
  • Wie in 1 gezeigt, weist ein Roboter einen Körper (Roboterkörper) 1, eine Steuereinheit 2 und ein Befehlsgabe- bzw. Lehr-Hängetableau 3 auf. Die Steuereinheit 2 ist elektrisch mit dem Roboterkörper 1 verbunden. Die Steuereinheit 2 ist dazu ausgelegt, den Roboterkörper 1 zu steuern. Das Lehr-Hängetableau ist elektrisch mit der Steuereinheit 2 verbunden.
  • Bei dem Roboterkörper 1 handelt es sich beispielsweise um einen vertikalen Mehrfachgelenkkörper, der für Montagearbeiten ausgelegt ist. Der Roboterkörper 1 umfaßt eine Basis 4, einen Schulterabschnitt 5, einen Unterarm 6, einen Oberarm 7 und ein Handgelenk 8. Der Schulterabschnitt 5 ist auf der Basis 4 über ein Gelenk angebracht. Der Schulterabschnitt 5 vermag relativ zu der Basis 4 sich um eine Vertikalachse zu drehen. Der Unterarm 6 ist mit dem Schulterabschnitt 5 über ein Gelenk verbunden. Der Unterarm 6 vermag sich relativ zu dem Schulterabschnitt 5 um eine Längsachse oder Horizontalachse des Schulterabschnitts 5 zu drehen. Der Oberarm 7 ist mit dem Unterarm 6 über ein Gelenk verbunden. Der Oberarm 7 vermag sich relativ zu dem Unterarm 6 um eine Horizontalachse zu drehen. Außerdem vermag sich der Oberarm 7 relativ zum Unterarm 6 um eine Längsachse des Oberarms 7 zu verdrehen. Das Handgelenk 8 ist auf dem Oberarm 7 über ein Gelenk angebracht. Das Handgelenk 8 vermag sich relativ zu dem Oberarm 7 um eine Achse zu drehen, die sich horizontal erstreckt, wenn der Oberarm 7 sich in seiner nicht-verdrehten Position befindet.
  • Das Handgelenk 8 weist ein mit einem Flansch 9 versehenes Ende auf. Ein Gelenk befindet sich in Verbindung zwischen dem Flansch 9 und einem Hauptabschnitt des Handgelenks 8. Der Flansch 9 vermag sich relativ zu dem Handgelenk 8 um eine Achse des Flansches 9 zu verdrehen. Eine (nicht gezeigte) Hand zum Ergreifen eines Arbeitswerkzeugs oder eines Werkstücks kann mit dem Flansch 9 verbunden sein.
  • Gelenke sind in den Verbindungen zwischen der Basis 4, dem Schulterabschnitt 5, dem Unterarm 6, dem Oberarm 7, dem Handgelenk 8 und dem Flansch 9 vorgesehen. Die Gelenke sind mit Betätigungsorganen, wie etwa Gleichstrom-Servomotoren über (nicht gezeigte) Energieübertragungsmechanismen verbunden. Drehantreiben der Gelenke durch die Betätigungsorgane führt zu einer Drehung des Schulterabschnitts 5, einer Drehung des Unterarms 6, einer Drehung des Oberarms 7, einer Drehung des Handgelenks 8 und einer Drehung des Flansches 9. Die Betätigungsorgane stellen Antriebsquellen oder Energiequellen dar.
  • 2 zeit einen Motor 10 als einen der Motore der Betätigungsorgane. Die Ausgangs- bzw. Abtriebswelle des Motors 10 ist mit einem der Gelenke oder einem beweglichen Abschnitt des Roboterkörpers 1 gekuppelt bzw. verbunden, bei dem es sich um den Schulterabschnitt 5, den Unterarm 6, den Oberarm 7, das Handgelenk 8 oder den Flansch 9 handelt.
  • Wie in 2 gezeigt, umfaßt die Steuereinheit 2 eine Kombination aus einer CPU 11, einer Treiberschaltung 12, einer Positionsermittlungsschaltung 13, einem ROM 14, einem RAM 15 und einer Schnittstelle 16. Die Antriebs- bzw. Treiberschaltung 12 ist elektrisch mit dem Motor 10 verbunden. Die Treiberschaltung 12 versorgt den Motor 10 mit Energie bzw. Strom. Die Positionsermittlungsschaltung 13 wirkt mit einem Drehkodierer 17 zusammen, um einen Positionsermittlungsprozeß zu implementieren. Der ROM 14 speichert ein Systemprogramm für den gesamten Roboter. Der RAM 15 speichert ein Betriebsprogramm (ein Steuerprogramm) für den Roboterkörper 1. Das Lehr-Hängetableau 3 (siehe 1) ist mit der Schnittstelle 16 verbunden. Während des Lehrprozesses bzw. -vorgangs, der vor dem tatsächlichen Betrieb des Roboters implementiert wird, wird das Lehr-Hängetableau 3 zum Ein geben verschiedener Informationsteile in die Steuereinheit 2 genutzt.
  • Der Drehkodierer 17 ist elektrisch mit der Positionsermittlungsschaltung 13 verbunden. Dem Drehkodierer 17 ist die Ausgangswelle des Motors 10 zugeordnet. Der Drehkodierer 17 erzeugt ein Impulssignal, abhängig vom Drehwinkel (der Drehstellung) der Ausgangswelle des Motors 10. Der Drehkodierer 17 gibt das Impulssignal an die Positionsermittlungsschaltung 13 aus. Die Positionsermittlungsschaltung 13 erhält die aktuelle Winkelposition (die vorherrschende Winkelposition) der Ausgangswelle des Motors 10 von dem Ausgangssignal des Drehkodierers 17. Die aktuelle Winkelposition der Ausgangswelle des Motors 10 entspricht der aktuellen Winkelposition (der vorherrschenden Winkelposition) eines entsprechenden Gelenks. Die Positionsermittlungsschaltung 13 erzeugt Information bezüglich der aktuellen Winkelposition der Ausgangswelle des Motors 10, d. h. der aktuellen Winkelposition des entsprechenden Gelenks. Die Positionsermittlungsschaltung 13 führt die Positionsinformation der Treiberschaltung 12 und der CPU 11 zu.
  • Die CPU 11 erzeugt Information bezüglich einer Drehbefehlsposition (einem Drehbefehlswinkel) der Ausgangswelle des Motors 10. Die CPU 11 führt die Positionsbefehlsinformation der Treiberschaltung 12 zu. Die Treiberschaltung 12 vergleicht den Drehbefehlswinkel mit dem aktuellen Drehwinkel und gewinnt daraus eine Differenz. Die Treiberschaltung 12 erzeugt einen Strom abhängig von der gewonnenen Differenz. Die Treiberschaltung 12 führt den erzeugten Strom dem Motor 10 zu und treibt den Motor 10 in Übereinstimmung mit dem erzeugten Strom an. Die Motoren (Betätigungsorgane) für die anderen Gelenke werden in ähnlicher Weise gesteuert. Ein Zentralabschnitt des Flansches 9, bei dem es sich um das Roboterbetriebsende handelt, bewegt sich entlang einer Trajektorie, die in Übereinstimmung mit dem Betriebspro gramm ermittelt ist. Die Bewegung des Roboterbetriebsendes implementiert beispielsweise eine Montagearbeit.
  • Für jede Bewegung (jeden Betrieb) des Roboters sind Parameter, wie etwa eine Bewegungsendposition, ein Geschwindigkeitskoeffizient und ein Beschleunigungs/Verzögerung-Koeffizient in dem Betriebsprogramm aufgezeichnet. Der Geschwindigkeitskoeffizient und der Beschleunigungs/Verzögerungs-Koeffizient betreffen eine maximale Geschwindigkeit und eine maximale Beschleunigung/Verzögerung beim Betrieb oder der Bewegung, in Übereinstimmung mit Raten unter bezug auf die maximal zulässige Geschwindigkeit bzw. Drehzahl und eine maximal zulässige Beschleunigung/Verzögerung. Die maximal zulässige Geschwindigkeit und die maximal zulässige Beschleunigung/Verzögerung sind im Hinblick auf die Fähigkeiten des Motors 10 derart eingestellt, daß das Lastdrehmoment des Motors 10 ein maximal zulässiges Drehmoment nicht übersteigt.
  • Die CPU 11 liest die Parameter aus dem Betriebsprogramm aus. Die CPU 11 ermittelt ein Geschwindigkeitsmuster auf Grundlage der Parameter durch Anwendung eines trapezförmigen Musters. Die CPU 11 berechnet einen gewünschten Drehwinkel für das Gelenk zu jedem Abtastzeitpunkt durch Bezugnahme auf das Geschwindigkeitsmuster. Die CPU 11 informiert die Treiberschaltung 12 von dem gewünschten Drehwinkel als Winkelbefehlswert.
  • 3 zeigt ein trapezförmiges Geschwindigkeitsmuster, ermittelt durch die CPU 11. Das trapezförmige Geschwindigkeitsmuster besteht aus einem ersten Abschnitt entsprechend einer Beschleunigungsstufe, einem zweiten Abschnitt, entsprechend einem Zustand konstanter Geschwindigkeit mit maximaler Geschwindigkeit Vmax, und einem dritten Abschnitt entsprechend einer Verzögerungsstufe. Ein Muster eines Betriebswinkels (eines Drehwin kels), das einem trapezförmigen Geschwindigkeitsmuster entspricht, hat die in 4 gezeigte Form.
  • Der Winkel des Gelenks, der zum Zeitpunkt "tn" auftritt, ist mit θn bezeichnet. Der Winkel des Gelenks, der zu einem Zeitpunkt "t(n + 1)" auftritt, ist mit θ(n + 1) bezeichnet. Der Zeitpunkt "t(n + 1)" folgt auf den Zeitpunkt "tn". Die Winkelgeschwindigkeit (Winkeldrehzahl) des Gelenks, die zum Zeitpunkt "t(n + 1)" auftritt, ist mit V(n + 1) bezeichnet. In Übereinstimmung mit dem Winkelmuster von 4 haben der Winkel θn, der Winkel θ(n + 1) und die Winkelgeschwindigkeit V(n + 1) die folgende Beziehung: V(n + 1)·Δt = θ(n + 1) – θn (1)wobei "Δt" das Zeitintervall zwischen dem Zeitpunkt "t(n + 1)" und dem Zeitpunkt "tn" bezeichnet, das beispielsweise gleich einer gegebenen Abtastzeitperiode (einer gegebenen Abtastzeit) ist. Die Gleichung (1) wird wie folgt in eine Gleichung (2) überführt. θ(n + 1) = θn + V(n + 1)·Δt (2)
  • Der Winkel θ(n + 1) des Gelenks, der während des Zeitintervalls "Δt" nach dem Zeitpunkt "tn" auftritt, kann aus dem Winkel θn der Winkelgeschwindigkeit V(n + 1) und dem Zeitintervall "Δt" unter bezug auf die Gleichung (2) berechnet werden. Während des Zeitintervalls zwischen einem Bewegungsstartzeitpunkt und einem Bewegungsendzeitpunkt kann der Winkel des Gelenks, der auftritt, wenn jede Abtastperiode "Δt" abgelaufen ist, in der folgenden Weise berechnet werden. Immer dann, wenn eine Abtastperiode "Δt" nach dem Bewegungsstartzeitpunkt abläuft, wird die Geschwindigkeit, die im nächsten Abtastzeitpunkt (einem Zeitpunkt des Zeitintervalls "Δt" nach dem aktuellen Zeitpunkt) auftritt, in Übereinstimmung mit dem Geschwindigkeitsmuster berechnet. Die berechnete Geschwindigkeit wird mit der Abtastperiode "Δt" multipliziert. Die vorausgehenden und die letzten Multiplikationsergebniswerte werden addiert. Das Ergebnis der Addition bezeichnet den berechneten Winkel des Gelenks, der immer dann auftritt, wenn eine Abtastzeitperiode "Δt" abläuft. Information bezüglich des berechneten Winkels des Gelenks wird der Treiberschaltung 12 als Befehlswinkel zugeführt, und das Gelenk wird in Übereinstimmung mit dem Geschwindigkeitsmuster bewegt.
  • In dem Roboter in 1 wird Information bezüglich einer gewünschten Trajektorie (einer gewünschten Ortskurve) des Roboterbetriebsendes in dem Betriebsprogramm eingestellt bzw. angeordnet, und die Gelenke werden derart gesteuert, daß das Roboterbetriebsende in Übereinstimmung mit der gewünschten Trajektorie bewegt wird. Im Falle einer Steuerung einer Bewegung (eines Betriebsablaufs) des Roboters liest die CPU 11 die Parameter aus dem Betriebsprogramm aus und ermittelt das Geschwindigkeitsmuster auf Grundlage der Parameter. Zu jedem Abtastpunkt berechnet die CPU 11 eine Position des Roboterbetriebsendes, die im nächsten Abtastpunkt auftritt, in Übereinstimmung mit dem Geschwindigkeitsmuster. Daraufhin berechnet die CPU 11 Winkel der jeweiligen Gelenke aus der berechneten Position des Roboterbetriebsendes.
  • 5 zeigt ein Flußdiagramm eines Programmsegments zum Steuern der CPU 11. Bezüglich des Programmsegments in 5 ist die Abtastperiode "Δt" definiert als Additionszeitausmaß bzw. -größe STk. Die abgelaufene Zeit zwischen dem Bewegungsstartzeitpunkt und dem aktuellen Abtastpunkt ist als Betriebsbe fehlszeit "ti" definiert. Ein Zeitintervall zum Steuern und Bewegen des Gelenks (des Motors 10) ausgehend vom aktuellen Winkel zu einem Befehlswinkel ist als Steuereinheitszeit "tu" definiert. Unter normalen Bedingungen ist das Zusatzzeitausmaß STk auf eine vorbestimmte konstante Zeitperiode oder einen Normalwert eingestellt, der durch das Zeichen ST bezeichnet ist. Wenn andererseits erwartet wird, daß das Antriebsdrehmoment zum Bewegen des Gelenks zu dem Befehlswinkel einen Grenzwert (gleich dem maximal zulässigen Drehmoment des Motors 10) übersteigt, wird das Zusatzzeitausmaß STk als eine Zeit gewählt, die kürzer ist als die vorstehend genannte vorbestimmte konstante Periode (der vorausgehend genannte Normalwert) ST. Die Steuereinheitszeit "tu" bleibt gleich einer vorbestimmten Zeit entsprechend einer Abtastperiode.
  • Das Programmsegment in 5 wird immer dann gestartet, wenn die Ausführung einer Bewegung des Roboters erforderlich ist. Ein erster Schritt S1 des Programmsegments in 5 liest Information bezüglich Parameter aus dem Betriebsprogramm aus. Die Parameter umfassen eine Bewegungsendposition und Geschwindigkeits- sowie Beschleunigungs/Verzögerungs-Koeffizienten. Der Schritt S1 ermittelt ein Geschwindigkeitsmuster auf Grundlage der Parameter, wie nachfolgend erläutert.
  • Der Schritt S1 liest Information bezüglich der maximal zulässigen Beschleunigung des Motors 10, Information bezüglich der maximal zulässigen Verzögerung des Motors 10 und Information bezüglich der maximal zulässigen Geschwindigkeit des Motors 10 aus dem Betriebsprogramm aus. Außerdem gewinnt der Schritt S1 Information bezüglich der Bewegungsstartposition (der aktuellen Position des Motors 10) aus dem Ausgangssignal der Positionsermittlungsschaltung 13.
  • Der Schritt S1 berechnet eine Beschleunigung "α" und eine Verzögerung "β" aus der maximal zulässigen Beschleunigung des Motors 10, der maximal zulässigen Verzögerung des Motors 10 und dem Beschleunigungs/Verzögerungs-Koeffizienten. Insbesondere sind die Beschleunigung "α" und die Verzögerung "β" gleich der maximal zulässigen Beschleunigung und Verzögerung, multipliziert mit dem Beschleunigungs/Verzögerungs-Koeffizienten. Außerdem berechnet der Schritt S1 eine maximale Geschwindigkeit Vmax aus der maximal zulässigen Geschwindigkeit des Motors 10 und dem Geschwindigkeits-Koeffizienten. Insbesondere ist die maximale Geschwindigkeit Vmax gleich der maximal zulässigen Geschwindigkeit, multipliziert mit dem Geschwindigkeits-Koeffizienten. Ferner berechnet der Schritt S1 die Distanz L, die durch das Roboterbetriebsende, ausgehend von der Bewegungsstartposition zu der Bewegungsendposition durchlaufen wird. Auf die Distanz L wird als Bewegungsausmaß L bezug genommen.
  • Der Schritt S1 ermittelt das Geschwindigkeitsmuster auf Grundlage des Bewegungsausmaßes L, der Beschleunigung "α" der maximalen Geschwindigkeit Vmax und der Verzögerung "β" durch Anwendung des trapezförmigen Musters in 3.
  • Ein Schritt S2, der auf den Schritt S1 folgt, berechnet Betriebsparameter, welche das Geschwindigkeitsmuster bilden. Die Betriebsparameter umfassen die Zeit t1, die für die Beschleunigungsstufe erforderlich ist, die Zeit t2, die für die Verzögerungsstufe erforderlich ist, und die Zeit T, die von dem Bewegungsstart zu dem Bewegungsende erforderlich ist (siehe 3). Es wird bemerkt, daß die maximale Geschwindigkeit Vmax in den Betriebsparametern enthalten ist. Insbesondere werden die Zeit t1 für die Beschleunigungsstufe, die Zeit t2 für die Verzögerungsstufe und die Zeit T für die Bewegung in Übereinstimmung mit den folgenden Gleichungen berechnet. t1 = Vmax/α (3) t2 = Vmax/β (4) T = (L/Vmax) + Vmax·(1/α + 1/β)2 (5)
  • Ein Schritt S3 folgend auf den Schritt S2 initialisiert die Betriebsbefehlszeit "ti" bis "0". Mit anderen Worten führt der Schritt S3 die Initialisierungseinstellung als "ti = 0" aus. Diese Initialisierung sorgt dafür, daß der aktuelle Zeitpunkt in den Ursprung (den Bewegungsstartpunkt) bezüglich der Zeitachse (der Zeitbasis) in dem Geschwindigkeitsmuster von 3 eingestellt wird. Nach dem Schritt S3 schreitet das Programm zu einem Schritt S4 weiter.
  • Der Schritt S4 initialisiert das Zusatzzeitausmaß STk auf einen vorbestimmten Zeitwert ST. Nach dem Schritt S4 schreitet das Programm zu einem Schritt S5 weiter.
  • Der Schritt S5 berechnet die Position des Roboterbetriebsendes, die zu einem Zeitpunkt folgend auf die aktuelle Zeit "ti" durch das bzw. mit dem Zusatzzeitausmaß STk auftritt. Die Bewegungsstartposition des Roboterbetriebsendes ist durch dreidimensionale Koordinaten (Xs, Ys, Zs) und Neigungswinkel (αs, βs, γs) in bezug auf die drei Achsen der dreidimensionalen Koordinaten gegeben. Die Bewegungsendposition des Roboterbetriebsendes ist durch dreidimensionale Koordinaten (Xe, Ye, Ze) und Neigungswinkel (αe, βe, γe) in bezug auf die drei Achsen der dreidimensionalen Koordinaten gegeben. Komponenten bzw. Bestandteile der maximalen Geschwindigkeit Vmax des Roboterbetriebsendes in geraden Richtungen entlang der drei Achsen der dreidimensionalen Koordinaten sind als "(Vmx, Vmy, Vmz)" ausgedrückt. Komponenten bzw. Bestandteile der maximalen Geschwindigkeit Vmax des Roboterbetriebsendes in Kreisrichtungen oder Umfangsrichtungen um die drei Achsen der dreidimensionalen Koordinaten herum sind als "(Vmα, Vmβ, Vmγ)" ausgedrückt. Die Position des Roboterbetriebsendes, die zu einem Zeitpunkt "t" auftritt, ist durch dreidimensionale Koordinaten (Xt, Vt, Zt) und Neigungswinkel (αt, βt, γt) in bezug auf die drei Achsen der dreidimensionalen Koordinaten gegeben. Die Positionskomponente Xt ist wie folgt festgelegt.
    Figure 00210001
    wobei Ta das Zeitintervall zwischen dem Bewegungsstartzeitpunkt und dem Punkt zwischen der Konstant-Geschwindigkeitsstufe und der Beschleunigungsstufe bezeichnet, wie in 3 gezeigt. Die Positionskomponenten Yt und Zt und die Neigungswinkelkomponenten αt, βt und γt sind in ähnlicher Weise festgelegt. Die Position des Roboterbetriebsendes, die zu einem Zeitpunkt folgend auf den aktuellen Zeitpunkt "ti" durch bzw. zusätzlich mit dem Zusatzzeitausmaß STk auftritt, wird in Übereinstimmung mit den Positionskomponenten Xt, Yt und Zt und den Neigungswinkelkomponenten αt, βt und γt berechnet.
  • Für jedes der Gelenke berechnet ein auf den Schritt S5 folgender Schritt S6 die Position des Gelenks, die zu einem Zeitpunkt "(ti + STk)" auftritt, auf Grundlage der Roboterbetriebsendposition, berechnet durch den Schritt S5. Der Schritt S6 legt die berechnete Position des Gelenks als vorläufigen Befehlswinkel des Gelenks fest.
  • Für jedes der Gelenke berechnet ein auf den Schritt S6 folgender Schritt S7 ein Antriebsdrehmoment (ein Lastdrehmoment des Motors 10), das für eine Bewegung des Gelenks von der aktuellen Position zu dem vorübergehenden bzw. provisorischen Gelenkbefehlswinkel während des Zusatzzeitausmaßes STk erforderlich ist. Das berechnete Antriebsdrehmoment wird auch als provisorisches bzw. vorübergehendes Gelenkantriebsdrehmoment bezeichnet.
  • In dem Fall eines Roboters mit "n" (n = 1, 2, ..., i, ...) Gelenken wird das Antriebsdrehmoment "τi" für ein i-tes Gelenk in Übereinstimmung mit der folgenden Gleichung berechnet.
    Figure 00220001
    wobei "θj" den Winkel eines j-ten Gelenks bezeichnet, wobei "θ .j" die Winkelgeschwindigkeit des j-ten Gelenks bezeichnet, wobei "θ ..j" die Winkelbeschleunigung des j-ten Gelenks bezeichnet, wobei "fj" eine vorbestimmte Funktion für das j-te Gelenk bezeichnet, und wobei "gi" eine vorbestimmte Funktion für das i-te Gelenk bezeichnet. Auf der rechten Seite von Gleichung (9) stellt der erste Ausdruck einen Faktor proportional zur Winkelbeschleunigung von jedem der Gelenke dar, der zweite Ausdruck stellt einen Faktor proportional zu dem Produkt aus den Winkelgeschwindigkeiten von zwei Gelenken dar, ein dritter Ausdruck stellt einen Faktor proportional zu der Winkelgeschwindigkeit des i-ten Gelenks dar, und der vierte Ausdruck stellt einen konstanten Faktor dar. In dem Fall, daß das Gewicht der Hand oder das Gewicht des Werkzeugs oder des Werkstücks, das durch die Hand ergriffen wird, nicht vernachlässigbar ist, ist es bevorzugt, einen betreffenden Gewichtsfaktor in die Gleichung (9) einzubauen, um eine genauere Berechnung des Antriebsdrehmoments zu ermöglichen.
  • Für jedes der Gelenke vergleicht ein auf den Schritt S7 folgender Schritt S8 das provisorische Gelenkantriebsdrehmoment mit einem vorbestimmten Grenzwert gleich dem maximal zulässigen Drehmoment des Motors 10. Wenn das provisorische Gelenkantriebsdrehmoment gleich oder kleiner als der vorbestimmte Grenzwert ist, d. h. wenn das provisorische Gelenkantriebsdrehmoment gleich oder kleiner als das maximal zulässige Drehmoment des Motors 10 ist, schreitet das Programm vom Schritt S8 zu einem Schritt S9 weiter. Anderweitig schreitet das Programm von dem Schritt S8 zu einem Schritt S13 weiter.
  • Für jedes der Gelenke überträgt der Schritt S9 Information bezüglich des provisorischen Gelenkbefehlswinkels zu einem Puffer als Anzeige eines endgültigen Gelenkbefehlswinkels. Der Puffer umfaßt beispielsweise einen Akkumulator in der CPU 11.
  • Ein Schritt S10 folgend auf den Schritt S9 vergleicht die Befehlsbetriebszeit "ti" mit der Zeit T der Bewegung, um zu entscheiden, ob oder ob nicht die Bewegung beendet wurde. Wenn die Befehlsbetriebszeit "ti" kleiner oder kürzer als die Zeit T der Bewegung (ti < T) ist, d. h., wenn die Bewegung noch nicht beendet wurde, schreitet das Programm von dem Schritt S10 zu einem Schritt S11 weiter. Anderweitig wird das Programm am Schritt S10 verlassen und der aktuelle Ausführungszyklus des Programmsegments endet.
  • Für jedes der Gelenke überträgt der Schritt S11 die Information bezüglich des endgültigen Befehlswinkels von dem Puffer zu der Antriebsschaltung 12 (siehe 2).
  • Ein Schritt S12 folgend auf den Schritt S11 aktualisiert die Befehlsbetriebszeit "ti". Insbesondere inkrementiert der Schritt S12 die Befehlsbetriebszeit "ti" mit dem Zusatzzeitausmaß STk in Übereinstimmung mit der Progammfestlegung "ti = ti + STk". Nach dem Schritt S12 kehrt das Programm zu dem Schritt S4 zurück. Unter normalen Bedingungen wird die Abfolge des Schritts S4 und der nachfolgenden Schritte bis zum Ende der Zeit T der Bewegung iteriert.
  • Die folgenden Prozesse werden insbesondere iteriert. Wenn jede Steuereinheitszeit "tu" abgelaufen ist, berechnet die CPU 11 einen provisorischen Befehlswinkel für jedes der Gelenke, der mit dem Zusatzzeitausmaß STk danach in einer Weise ähnlich wie in der vorstehend geführten Weise auftritt. Vorausgesetzt, daß betreffende provisorische Gelenkantriebsdrehmoment ist gleich oder kleiner als der Grenzwert, führt die CPU 11 Information bezüglich des provisorischen Gelenkbefehlswinkels der Treiberschaltung 12 als Anzeige des endgültigen Befehlswinkels zu.
  • Die Treiberschaltung 12 wird demnach von einem Befehlswinkel für jeden bzw. von jedem der Gelenke informiert, wenn jede Steuereinheitszeit "tu" abgelaufen ist. Die Treiberschaltung 12 dividiert die Steuereinheitszeit "tu" in "n" unter Steuereinheitszeiten "tu/n" und berechnet Befehlswinkel für das Gelenk für die jeweiligen Untersteuereinheitszeiten "tu/n", wobei "n" eine vorbestimmte natürliche Zahl bezeichnet. Für jede der Untersteuereinheitszeiten "tu/n" gewinnt die Treiberschaltung 12 den tatsächlichen aktuellen Winkel von jedem der Gelenke aus dem Ausgangssignal der Positionsermittlungsschaltung 13. Für jede der Untersteuereinheitszeiten "tu/n" vergleicht die Treiberschaltung 12 den Befehlswinkel von jedem der Gelenke mit seinem tatsächlichen aktuellen Winkel und berechnet die Differenz dazwischen und erzeugt einen Strom in Übereinstimmung mit der berechneten Differenz. Die Treiberschaltung 12 führt den erzeugten Strom dem betreffenden Motor 10 derart zu, daß der tatsächliche Winkel von jedem der Gelenke gleich seinem Befehlswinkel ist. Da das Zusatzzeitausmaß STk und die Steuereinheitszeit "tu" unter normalen Bedingungen gleich sind, werden die tatsächliche Winkelgeschwindigkeit von jedem der Gelenke und die tatsächliche Winkelgeschwindigkeit des Roboterbetriebsendes in Übereinstimmung mit dem Geschwindigkeitsmuster gebracht, das im Schritt S1 von 5 ermittelt ist.
  • Wenn der Schritt S8 ermittelt, daß das provisorische Gelenkantriebsdrehmoment das maximal zulässige Drehmoment des Motors 10 für zumindest eines der Gelenke übersteigt, schreitet das Programm von dem Schritt S8 zu dem Schritt S13 weiter.
  • Der Schritt S13 berechnet eine korrigierte Winkelgeschwindigkeit θ .j' des j-ten Gelenks und eine korrigierte Winkelbeschleunigung θ ..j' des j-ten Gelenks unter Bezugnahme auf die folgenden Gleichung. θ .j' = Rθ .j (10)
    Figure 00250001
    wobei "θ .jpr" die Winkelgeschwindigkeit des j-ten Gelenks bezeichnet, die zu einem Zeitpunkt auftritt, welcher dem aktuellen Zeitpunkt mit einer Abtastperiode vorausgeht; wobei R eine Winkelgeschwindigkeitsänderungsrate bezeichnet, und wobei ΔT die Abtastperiodenzeitdauer bezeichnet. Die Winkelgeschwindigkeitsänderungsrate R wird auch als Geschwindigkeitsänderungsverhältnis R bezeichnet. Der Schritt S13 ersetzt die korri gierte Winkelgeschwindigkeit θ .j' des j-ten Gelenks und die korrigierte Winkelbeschleunigung θ ..j' des j-ten Gelenks für die Winkelgeschwindigkeit θ .j des j-ten Gelenks und die Winkelbeschleunigung θ ..j des j-ten Gelenks in der Gleichung (9). Der Schritt S13 berechnet das Geschwindigkeitsänderungsverhältnis R, mit welchem das Antriebsdrehmoment den Grenzwert "τimax" nicht überschreitet.
  • Das Ersetzen der korrigierten Winkelgeschwindigkeit θ .j' und der korrigierten Winkelbeschleunigung θ ..j' durch die Winkelgeschwindigkeit θ .j und die Winkelbeschleunigung θ ..j in der Gleichung (9) führt zu der folgenden Gleichung. C1·R2 + C2·R + C3 = 0 (13)
  • In der Gleichung (13) sind C1, C2 und C3 wie folgt festgelegt:
    Figure 00260001
    wobei "τimax" das Grenzdrehmoment des Motors 10 für das i-te Gelenk bezeichnet. Der Schritt S13 löst die Gleichung (13) und gewinnt damit das Geschwindigkeitsänderungsverhältnis R, welches durch die folgende Beziehung gegeben ist.
    Figure 00260002
  • Wie durch die Beziehung (17) gezeigt, gibt es positive und negative Geschwindigkeitsänderungsverhältnisse R. Der Schritt S13 nutzt ein Positives als Endgeschwindigkeitsänderungsverhältnis R. Das Endgeschwindigkeitsänderungsverhältnis R liegt im Bereich von 0 bis 1.
  • Ein auf den Schritt S13 folgender Schritt S14 aktualisiert oder korrigiert das Additions- bzw. Zusatzzeitausmaß STk. Insbesondere erniedrigt der Schritt S14 das Zusatzzeitausmaß STk unter den Normalwert ST. Mehr im einzelnen stellt der Schritt S14 ein korrigiertes Zusatzzeitausmaß (ein aus der Korrektur resultierendes Zusatzzeitausmaß) STk auf das Produkt des vorstehend genannten Normalwerts ST mit dem Endgeschwindigkeitsänderungsverhältnis R ein. Mit anderen Worten führt der Schritt S14 die Berechnung "STk = R·ST" durch. Nach dem Schritt S14 kehrt das Programm zu dem Schritt S5 zurück.
  • Der Schritt S5 berechnet die Position des Roboterbetriebsendes, die zu einem Zeitpunkt folgend auf den aktuellen Zeitpunkt "ti" vermehrt um das aus der Korrektur resultierende Zusatzzeitausmaß STk (= R·ST) auftritt. Daraufhin berechnet der Schritt S6 einen provisorischen Befehlswinkel für jedes der Gelenke, ansprechend auf das aus der Korrektur resultierende Zusatzzeitausmaß STk in einer Weise ähnlich zu der vorstehend genannten Weise.
  • Daraufhin berechnet der Schritt S7 ein provisorisches Antriebsdrehmoment für jedes der Gelenke. Als nächstes vergleicht der Schritt S8 das provisorische Gelenkantriebsdrehmoment mit dem vorbestimmten Grenzwert. Wenn das provisorische Gelenkantriebsdrehmoment gleich oder kleiner als der vorbestimmte Grenzwert ist, scheidet das Programm vom Schritt S8 zu dem Schritt S9 weiter. Für jedes der Gelenke überträgt der Schritt S9 Informa tion des provisorischen Gelenkbefehlswinkels zu dem Puffer als Anzeige des Endgelenkbefehlswinkels. In dem Fall, daß das Programm vom Schritt S9 zum Schritt S11 über den Schritt S10 weiterschreitet, überträgt der Schritt S11 die Information über den endgültigen Befehlswinkel für jedes der Gelenke von dem Puffer zu der Antriebsschaltung 12 (siehe 2).
  • In diesem Fall entspricht der endgültige Befehlswinkel bzw. der Endbefehlswinkel dem aus der Korrektur resultierenden Zusatzzeitausmaß STk (= R·ST). Da das aus der Korrektur resultierende Zusatzzeitausmaß STk kleiner als der Normalwert ST ist, liegt der endgültige Befehlswinkel für jedes der Gelenke näher an dem aktuellen Winkel als der nicht korrigierte Befehlswinkelwert. Der endgültige Befehlswinkel von jedem der Gelenke entspricht einer kleineren Winkelbewegung des Gelenks. Andererseits verringert die Treiberschaltung 12 die Steuereinheitszeit "tu" nicht, sondern hält sie gleich dem Normalwert ST. Außerdem implementiert die Treiberschaltung 12 die kleinere Winkelbewegung von jedem der Gelenke zu dem Befehlswinkel während der Steuereinheitszeit "tu", die ungeändert bleibt. Die tatsächliche Winkelgeschwindigkeit bzw. die tatsächliche Winkelbeschleunigung von jedem der Gelenke wird deshalb derart verringert, daß das Antriebsdrehmoment für jedes der Gelenke gleich oder kleiner als der Grenzwert sein kann.
  • Wie vorstehend erwähnt, wird der provisorische Gelenksteuerwinkelwert berechnet und auch das provisorische Gelenkantriebsdrehmoment wird berechnet, wenn das jeweilige Zusatzzeitausmaß STk abgelaufen ist. In dem Fall, daß das provisorische Gelenkbefehlsantriebsdrehmoment den Grenzwert überschreitet, wird der provisorische Gelenkbefehlswinkel derart korrigiert, daß das provisorische Gelenkbefehlsantriebsdrehmoment gleich oder kleiner als der Grenzwert wird. Die tatsächlichen Geschwindigkeiten und die tatsächlichen Beschleunigungen/Verzögerungen der Ge lenke werden so gesteuert, daß sie gleich oder kleiner als ihre Grenzwerte selbst dann sind, wenn der Geschwindigkeitskoeffizient und der Beschleunigungs/Verzögerungs-Koeffizient während eines Lehrprozesses relativ groß eingestellt sind. Es ist deshalb nicht erforderlich, den Geschwindigkeits-Koeffizienten und den Beschleunigungs/Verzögerungs-Koeffizienten einzustellen, wenn berücksichtigt wird, zu verhindern, daß der Motor 10 in einen Überlastungszustand fällt. Es ist deshalb möglich, den Lehrprozeß problemlos auszuführen. Die Fähigkeiten des Motors 10 können maximal genutzt werden, wenn die maximale Geschwindgkeit Vmax oder die Beschleunigung/Verzögerung groß eingestellt ist. Demnach ist es möglich, die Zeit (die Taktzeit) der Arbeit durch den Roboter zu verkürzen.
  • In dem Fall, daß das provisorische Gelenkbefehlsantriebsdrehmoment den Grenzwert übersteigt, wird das Zusatzzeitausmaß Stk derart korrigiert, daß das provisorische Gelenkbefehlsantriebsdrehmoment gleich oder kleiner als der Grenzwert wird. Infolge hiervon werden die tatsächlichen Geschwindigkeiten und die tatsächlichen Beschleunigungen/Verzögerungen der Gelenke so gesteuert, daß sie gleich oder kleiner als ihre Grenzwerte sind. Obwohl die tatsächlichen Geschwindigkeiten und die tatsächlichen Beschleunigungen/Verzögerungen der Gelenke niedriger bzw. kleiner sind als die Geschwindigkeiten und Beschleunigungen/Verzögerungen, die aus dem Geschwindigkeitsmuster gewonnen werden, bewegen sich die Gelenke um Winkel, die aus dem Geschwindigkeitsmuster gewonnen werden, während die Verringerungen der Geschwindigkeiten und der Beschleunigungen/Verzögerungen der Gelenke den gleichen Raten entsprechen. Die tatsächliche Trajektorie (die tatsächliche Ortskurve) des Roboterbetriebsendes stimmt damit mit der programmierten Trajektorie oder der gewünschten Trajektorie überein.
  • Eine erste Modifikation der vorstehend genannten Ausführungsform gemäß dieser Erfindung ist wie folgt ausgelegt. Das maximal zulässige Drehmoment des Motors 10 ist als oberer Grenzwert gewählt, während ein Drehmoment geringfügig kleiner als das maximal zulässige Drehmoment als unterer Grenzwert gewählt ist. In dem Fall, daß das provisorische Gelenkantriebsdrehmoment unter den unteren Grenzwert abnimmt, wird das Zusatzzeitausmaß STk länger eingestellt als der Normalwert ST, um den Befehlswinkel zu korrigieren. In Übereinstimmung mit dieser Modifikation können die Fähigkeiten des Motors 10 zusätzlich bzw. länger genutzt werden, und die Taktzeit kann verkürzt werden.
  • Eine zweite Modifikation der vorstehend genannten Ausführungsform gemäß dieser Erfindung ist wie folgt ausgelegt. Das Zusatzzeitausmaß STk bleibt ungeachtet dessen, ob oder ob nicht das provisorische Gelenkantriebsdrehmoment den Grenzwert übersteigt, konstant. Andererseits nimmt die Steuereinheitszeit "tu" zu, um die Winkelgeschwindigkeit von jedem der Gelenke in dem Fall zu reduzieren, daß das provisorische Gelenkantriebsdrehmoment den Grenzwert übersteigt.
  • Im Fall einer PTP-Steuerung, bei welcher eine gewünschte Trajektorie (eine gewünschte Ortskurve) eines Roboterbetriebsendes nicht programmiert, sondern ein Geschwindigkeitsmuster für jedes der Gelenke ermittelt bzw. festgelegt wird, wird ein provisorischer Befehlswinkel für jedes der Gelenke berechnet. Wenn ein provisorisches Gelenkantriebsdrehmoment seinen Grenzwert für zumindest eines der Gelenke übersteigt, wird ein Geschwindigkeitsänderungsverhältnis für das in Rede stehende Gelenk berechnet. Das berechnete Geschwindigkeitsänderungsverhältnis wird auf die Steuerung sämtlicher Gelenke angewendet und ein Zusatzzeitausmaß oder eine Steuereinheitszeit wird korrigiert. In diesem Fall kann die tatsächliche Trajektorie (die tatsächliche Ortskurve) des Roboterbetriebsendes mit einer program mierten Trajektorie oder einer gewünschten Trajektorie übereinstimmen.

Claims (3)

  1. Steuervorrichtung für einen Roboter mit zumindest einem Gelenk, umfassend: eine Positionsberechnungseinrichtung, die nach Ablauf jeder Abtastzeit eine Position des Gelenks berechnet, die zu einem Endzeitpunkt einer nächsten Abtastzeit auf Grundlage eines Geschwindigkeitsmusters auftritt, eine Drehmomentberechnungseinrichtung zum Berechnen eines Antriebsdrehmoments, aufgrund dessen das Gelenk in die durch die Positionsberechnungseinrichtung berechnete Position bewegt wird, eine Abtastzeitänderungseinrichtung zum Berechnen eines Geschwindigkeitsänderungsverhältnisses (R), aufgrund dessen das Antriebsdrehmoment verringert wird, wenn das durch die Drehmomentberechnungseinrichtung berechnete Antriebsdrehmoment einen vorbestimmten Grenzwert gleich einem maximal zulässigen Drehmoment des Motors (10) überschreitet, und zum Berechnen einer korrigierten Abtastzeit (STk = R·ST) auf Grundlage des berechneten Geschwindigkeitsänderungsverhältnisses, wobei die korrigierte Abtastzeit kürzer als eine normale Abtastzeit (ST) ist, eine Einrichtung zum in die Lage Versetzen der Positionsberechnungseinrichtung, eine Position des Gelenks unter Verwendung der korrigierten Abtastzeit (STk) zu berechnen, welche durch die Abtastzeitänderungseinrichtung als die nächste Abtastzeit berechnet wurde, und zum Einstellen der Position, die durch die Positionsberechnungseinrichtung als Befehlsposition und zum Steuern des Gelenks berechnet wird, damit dieses innerhalb einer vorbestimmten Steuereinheitszeit (tu) in die Befehlsposition bewegt wird.
  2. Steuervorrichtung für einen Roboter mit zumindest einem Gelenk, umfassend: eine Positionsberechnungseinrichtung, die nach Ablauf jeder Abtastzeit eine Position des Gelenks berechnet, die zu einem Endzeitpunkt einer nächsten Abtastzeit auf Grundlage eines Geschwindigkeitsmusters auftritt, eine Drehmomentberechnungseinrichtung zum Berechnen eines Antriebsdrehmoments, aufgrund dessen das Gelenk in die durch die Positionsberechnungseinrichtung berechnete Position bewegt wird, eine Geschwindigkeitsänderungsverhältnisberechnungseinrichtung zum Berechnen eines Geschwindigkeitsänderungsverhältnisses (R), aufgrund dessen das Antriebsdrehmoment verringert wird, wenn das durch die Drehmomentberechnungseinrichtung berechnete Antriebsdrehmoment einen vorbestimmten Grenzwert gleich einem maximal zulässigen Drehmoment des Motors (10) überschreitet, eine Einrichtung zum Einstellen einer Steuereinheitszeit auf einen längeren Wert als eine normale Steuereinheitszeit (tu) auf Grundlage des Geschwindigkeitsänderungsverhältnisses (R), welches durch die Geschwindigkeitsänderungsverhältnisberechnungseinrichtung berech net wurde, und zum Einstellen der Position, die durch die Positionsberechnungseinrichtung als Befehlsposition und zum Steuern des Gelenks berechnet wird, damit dieses innerhalb einer vorbestimmten Steuereinheitszeit, die länger eingestellt ist, in die Befehlsposition bewegt wird.
  3. Roboter mit einer Steuereinrichtung für einen Roboter mit zumindest einem Gelenk nach Anspruch 1 oder 2.
DE19914245A 1998-03-30 1999-03-29 Roboter-Steuervorrichtung Expired - Fee Related DE19914245B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10084175A JPH11277468A (ja) 1998-03-30 1998-03-30 ロボットの制御装置
JP10-84175 1998-03-30

Publications (2)

Publication Number Publication Date
DE19914245A1 DE19914245A1 (de) 1999-10-07
DE19914245B4 true DE19914245B4 (de) 2009-05-07

Family

ID=13823162

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19914245A Expired - Fee Related DE19914245B4 (de) 1998-03-30 1999-03-29 Roboter-Steuervorrichtung

Country Status (3)

Country Link
US (1) US6127792A (de)
JP (1) JPH11277468A (de)
DE (1) DE19914245B4 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286387B1 (en) * 1999-03-03 2001-09-11 Suzuki Motor Corporation Three-dimensional input manipulator
US10820949B2 (en) 1999-04-07 2020-11-03 Intuitive Surgical Operations, Inc. Medical robotic system with dynamically adjustable slave manipulator characteristics
JP3715850B2 (ja) * 1999-11-08 2005-11-16 キヤノン株式会社 モータ制御装置及び該装置を用いたプリンタ
KR100494385B1 (ko) * 2002-10-14 2005-06-13 삼성전자주식회사 로봇의 속도제어시스템 및 그 속도제어방법
US6900608B2 (en) * 2003-04-17 2005-05-31 Automated Assemblies Corporation Apparatus for controlling a motor
US6911792B2 (en) * 2003-05-20 2005-06-28 Hewlett-Packard Development Company, L.P. System and method for controlling movement
JP4323263B2 (ja) * 2003-08-26 2009-09-02 三菱電機株式会社 寿命評価装置
JP3946753B2 (ja) * 2005-07-25 2007-07-18 ファナック株式会社 ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
JP4508164B2 (ja) * 2006-06-26 2010-07-21 トヨタ自動車株式会社 多関節ロボット及びその制御プログラム
JP2009012132A (ja) * 2007-07-05 2009-01-22 Denso Wave Inc 多関節型ロボットおよびワーク受け渡し方法
DE102008029657A1 (de) 2008-06-24 2009-12-31 Technische Universität Carolo-Wilhelmina Zu Braunschweig Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen
JP5161124B2 (ja) * 2009-01-21 2013-03-13 ファナック株式会社 5軸加工機の数値制御装置
EP2390064A4 (de) * 2009-01-22 2013-03-27 Panasonic Corp Vorrichtung und verfahren zur steuerung eines roboterarms, roboter, programm zur steuerung des roboterarms und integrierter elektronischer schaltkreis
KR101749515B1 (ko) * 2010-10-27 2017-06-21 삼성전자 주식회사 모터 속도 제어 장치 및 그 방법
CN103025492B (zh) * 2010-12-08 2015-07-22 松下电器产业株式会社 机器人的控制装置以及控制方法、机器人
DE102011111758A1 (de) 2011-08-24 2013-02-28 Dürr Systems GmbH Steuerverfahren für einen Roboter
CN103056879B (zh) * 2012-12-31 2016-04-20 东莞艾尔发自动化机械有限公司 一种五轴数控机械手臂的制备方法及五轴数控机械手臂
US20140316571A1 (en) * 2013-04-22 2014-10-23 Quanta Storage Inc. Articulation module for a robot and control method for the same
DE102014103370B4 (de) * 2014-03-12 2017-08-24 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators
CN106068175B (zh) * 2014-03-14 2020-04-28 索尼公司 机器人手臂设备、机器人手臂控制方法及程序
CN110313124B (zh) * 2017-02-09 2023-03-21 株式会社富士 马达控制装置及供料器
KR102093476B1 (ko) * 2017-11-14 2020-03-25 한국과학기술원 자동 타임 워핑에 기반한 온라인 궤적 최적화 시스템 및 방법
JP7267688B2 (ja) * 2018-05-31 2023-05-02 キヤノン株式会社 ロボットシステム、ロボットアームの制御方法、物品の製造方法、駆動装置および駆動装置の制御方法
WO2021187378A1 (ja) * 2020-03-18 2021-09-23 ファナック株式会社 制御装置及びプログラム
US20220297293A1 (en) * 2021-03-22 2022-09-22 X Development Llc Dynamic torque saturation limits for robot actuator(s)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS647105A (en) * 1987-06-30 1989-01-11 Fanuc Ltd Optimum movement control system for industrial articulated robot
EP0530033A2 (de) * 1991-08-30 1993-03-03 Makino Milling Machine Co. Ltd. Verfahren und Vorrichtung zur Überwachung des Vorschubes in numerisch gesteuerten Systemen
JPH05138563A (ja) * 1991-11-13 1993-06-01 Mitsubishi Electric Corp ロボツトの制御装置
DE3587288T2 (de) * 1984-04-27 1993-11-04 Matsushita Electric Ind Co Ltd Verfahren zur steuerung eines roboters mit mehrfachem gelenk.
US5323309A (en) * 1992-01-30 1994-06-21 Siemens Industrial Automation, Inc. Algorithm for optimizing data sampling in a discrete periodic system with a bounded rate of change for the discrete system periods
WO1997029890A1 (en) * 1996-02-14 1997-08-21 Asea Brown Boveri Ab A method for control of an industrial robot along a given track
EP0794475A1 (de) * 1995-09-26 1997-09-10 Fanuc Ltd Funktionsbasierendes minimalzeitsteuerungsverfahren für roboter
US5994864A (en) * 1995-09-11 1999-11-30 Kabushiki Kaisha Yaskawa Denki Robot controller

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4807153A (en) * 1986-11-20 1989-02-21 Unimation Inc. Multiaxis digital robot control having a backup velocity monitor and protection system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3587288T2 (de) * 1984-04-27 1993-11-04 Matsushita Electric Ind Co Ltd Verfahren zur steuerung eines roboters mit mehrfachem gelenk.
JPS647105A (en) * 1987-06-30 1989-01-11 Fanuc Ltd Optimum movement control system for industrial articulated robot
EP0530033A2 (de) * 1991-08-30 1993-03-03 Makino Milling Machine Co. Ltd. Verfahren und Vorrichtung zur Überwachung des Vorschubes in numerisch gesteuerten Systemen
JPH05138563A (ja) * 1991-11-13 1993-06-01 Mitsubishi Electric Corp ロボツトの制御装置
US5323309A (en) * 1992-01-30 1994-06-21 Siemens Industrial Automation, Inc. Algorithm for optimizing data sampling in a discrete periodic system with a bounded rate of change for the discrete system periods
US5994864A (en) * 1995-09-11 1999-11-30 Kabushiki Kaisha Yaskawa Denki Robot controller
EP0794475A1 (de) * 1995-09-26 1997-09-10 Fanuc Ltd Funktionsbasierendes minimalzeitsteuerungsverfahren für roboter
WO1997029890A1 (en) * 1996-02-14 1997-08-21 Asea Brown Boveri Ab A method for control of an industrial robot along a given track

Also Published As

Publication number Publication date
JPH11277468A (ja) 1999-10-12
DE19914245A1 (de) 1999-10-07
US6127792A (en) 2000-10-03

Similar Documents

Publication Publication Date Title
DE19914245B4 (de) Roboter-Steuervorrichtung
EP2212753B1 (de) Verfahren zum abfahren einer vorgegebenen bahn durch einen manipulator, sowie steuervorrichtung zur durchführung eines solchen verfahrens
DE69936073T2 (de) Robotersteuerung
DE102012104194B4 (de) Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
DE102009049172B4 (de) Verfahren und Vorrichtung zur Steuerung eines Manipulators
DE102006036601A1 (de) Robotersteuerung und Robotersteuerverfahren, welche eine Spline-Interpolation verwenden
EP2698234B1 (de) Vorrichtung und verfahren zum automatisierten entnehmen von in einem behälter angeordneten werkstücken
DE102008062622B9 (de) Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators
DE60319787T2 (de) Montageverfahren und -vorrichtung
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
DE102015114013B4 (de) Verfahren und Vorrichtung zur Steuerung des Betriebs eines Roboters
DE102006056051B4 (de) Roboter mit Steuerung für Zusatzachsen
EP2303521B1 (de) Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
DE69933849T2 (de) Manipulatorsteuerung
DE3317263A1 (de) Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung
EP1591209A2 (de) Verfahren zum Steuern einer Maschine, insbesondere eines Industrieroboters
DE10296748T5 (de) Roboter
DE102015004481B4 (de) Robotersteuervorrichtung zum Steuern eines gemäß einer ausgeübten Kraft bewegten Roboters
DE102009019633B4 (de) Bewegung eines Menschen durch einen Manipulator
EP2851162A2 (de) Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
DE60016190T2 (de) Vorrichtung und steuerung eines industriellen robotors und verfahren zur programmierung und/ oder einstellung der bewegungen des robotors
DE102018133349A1 (de) Verfahren und Vorrichtung zur Momentschätzung
EP0530401A1 (de) Verfahren zum Auslösen von positionsbezogenen Schaltvorgängen während eines von einem Roboter oder einer Werkzeugmaschine ausgeführten Bearbeitungsvorganges
DE102018112370B4 (de) Richtungsabhängige Kollisionsdetektion für einen Robotermanipulator
EP4147102B1 (de) Betreiben einer wenigstens zweiachsigen werkzeugmaschine

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: B25J 1300 20060101

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20121002