DE102018114445A1 - Vorrichtung und Verfahren zur Einschätzung einer Position des Schwerpunkts eines Roboters - Google Patents

Vorrichtung und Verfahren zur Einschätzung einer Position des Schwerpunkts eines Roboters Download PDF

Info

Publication number
DE102018114445A1
DE102018114445A1 DE102018114445.8A DE102018114445A DE102018114445A1 DE 102018114445 A1 DE102018114445 A1 DE 102018114445A1 DE 102018114445 A DE102018114445 A DE 102018114445A DE 102018114445 A1 DE102018114445 A1 DE 102018114445A1
Authority
DE
Germany
Prior art keywords
axis
acceleration
during
torque
load
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.)
Granted
Application number
DE102018114445.8A
Other languages
English (en)
Other versions
DE102018114445B4 (de
Inventor
Noritaka TAKAMURA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Publication of DE102018114445A1 publication Critical patent/DE102018114445A1/de
Application granted granted Critical
Publication of DE102018114445B4 publication Critical patent/DE102018114445B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • 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/402Numerical 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 arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35124Calculate center of gravity of object
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40269Naturally compliant robot arm

Landscapes

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

Abstract

Es wird eine Position des Schwerpunkts einer Last eingeschätzt, die einen Industrieroboter belastet. Der Roboter weist einen Roboterarm auf, der horizontal angetrieben wird. Der Roboterarm umfasst eine erste bis vierte Achse. Es wird eine Beschleunigung, die an der zweiten Achse erzeugt wird, während beschleunigten und verzögerten Intervallen von jeder aus drei Betriebsdauern erlangt. In jeder Betriebsdauer wird die zweite Achse derart angetrieben, dass sich der Roboterarm von einer Ausgangsposition zu einer ersten Einschätzungsposition bewegt und von der Einschätzungsposition zu der Ausgangsposition zurückkehrt. Während jeder Betriebsdauer ist für die Last eine bekannte Masse gegeben, die vierte Achse ist in einem voreingestellten Winkel positioniert, und die erste, dritte und vierte Achse sind zwischen der Ausgangs- und Einschätzungsposition an denselben Positionen. Für jede Betriebsdauer wird die Position der vierten Achse zu verschiedenen Winkeln geändert. Basierend auf einer berechneten Beschleunigung und bekannten Faktoren des Roboters und der Last wird die Position des Schwerpunkts der Last eingeschätzt.

Description

  • Hintergrund
  • [Technisches Gebiet]
  • Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zur Einschätzung einer Position des Schwerpunkts bei einer Last, die an dem Armende eines Roboters angebracht ist, und insbesondere die Vorrichtung und das Verfahren, die vorzugsweise an einem Industrieroboter mit einem horizontalen vier-achsigen Aufbau angewendet werden können.
  • [Verwandte Technik]
  • Es ist eine herkömmliche Technik zum Einschätzen der Position des Schwerpunkts eines Werkstücks, bekannt, dass durch das Ende eines Armes eines vertikalen sechs-achsigen Roboterarms gehalten wird. Diese Technik ist beispielsweise in dem japanischen Patent JP 5327722 vorgeschlagen.
  • Bei dem Aufbau des vertikalen sechs-achsigen Roboterarms kann die fünfte Achse aktiviert werden, um einen Zustand zu ändern, bei dem eine Schwerkraft auf ein Werkstück wirkt. Dadurch ist es möglich, die Position des Schwerpunkts des Werkstücks einzuschätzen. Die zuvor genannte Einschätzungstechnik, die in dem japanischen Patent JP 5327722 vorgeschlagen ist, basiert auf der Verwendung einer solchen Änderungstechnik unter Verwendung der fünften Achse, allerdings kann diese Einschätzungstechnik nicht in Robotern verwendet werden, die Roboter mit einem horizontalen vier-achsigen Aufbau sind, aufgrund der Tatsache, dass der Zustand, bei dem eine Schwerkraft auf ein Werkstück wirkt, nicht geändert werden kann.
  • Kurzfassung
  • Im Hinblick auf diesen Nachteil ist es daher gewünscht, ein Verfahren und eine Vorrichtung zu schaffen, welche die Position des Schwerpunkts einer Last, die an dem Ende eines Arms eines Roboters mit einem horizontalen vier-achsigen Aufbaus angebracht ist, einschätzen können.
  • Als eine beispielgebende Ausführungsform gemäß der Offenbarung wird eine Vorrichtung zum Einschätzen einer Position des Schwerpunkts einer Last, die einen Roboter belastet, vorgeschlagen, wobei der Roboter mit einem Roboterarm ausgestattet ist, der horizontal angetrieben wird, und der Roboter vier Achsen umfasst, die als erste bis vierte Achse angeordnet sind, und ein Ende aufweist, das mit der Last belastet ist. Die Vorrichtung ist ausgestattet mit: einer ersten Beschleunigungserlangungseinheit, die dazu ausgestaltet ist, eine Beschleunigung zu erlangen, die während beschleunigten und verzögerten Intervallen einer ersten Betriebsdauer erzeugt werden, in der die zweite Achse derart angetrieben wird, dass sich der Roboterarm von einer ersten Ausgangsposition zu einer ersten Einschätzungsposition bewegt und von der ersten Einschätzungsposition zu der ersten Ausgangsposition zurückkehrt, an der zweiten Achse erzeugt wird, wobei während der ersten Betriebsdauer für die Last eine bekannte Masse gegeben ist, die vierte Achse an einem ersten Winkel θa positioniert ist, und die erste, dritte und vierte Achse zwischen der ersten Ausgangs- und Einschätzungsposition an denselben Positionen sind; einer ersten Drehmomentansammlungseinheit, die dazu ausgestaltet ist, ein Beschleunigungsmoment, das an der vierten Achse während des beschleunigten Intervalls erzeugt wird, und ein Verzögerungsmoment, das an der vierten Achse während des verzögerten Intervalls erzeugt wird, zu erlangen; einer ersten Trägheitsberechnungseinheit, die dazu ausgestaltet ist, eine Trägheit τI4a , die um die vierte Achse erzeugt wird, basierend auf der Beschleunigung sowohl in den beschleunigten als auch in den verzögerten Intervallen, dem Beschleunigungsmoment und dem Verzögerungsmoment zu berechnen; einer zweiten Beschleunigungserlangungseinheit, die dazu ausgestaltet ist, eine Beschleunigung zu erlangen, die während beschleunigten und verzögerten Intervallen einer zweiten Betriebsdauer, in der die zweite Achse ebenfalls derart angetrieben wird, dass sich der Roboterarm von einer zweiten Ausgangsposition zu einer zweiten Einschätzungsposition bewegt und von der zweiten Einschätzungsposition zu der zweiten Ausgangsposition zurückkehrt, an der zweiten Achse erzeugt wird, wobei während der zweiten Betriebsdauer für die Last dieselbe bekannte Masse gegeben ist, die vierte Achse an einem zweiten Winkel θb (≠θa) positioniert ist, und die erste, dritte und vierte Achse zwischen der zweiten Ausgangs- und Einschätzungsposition an denselben Positionen sind; einer zweiten Drehmomentansammlungseinheit, die dazu ausgestaltet ist, ein Beschleunigungsmoment, das an der vierten Achse während des Beschleunigungsintervalls erzeugt wird, und ein Verzögerungsmoment, das an der vierten Achse während dem Verzögerungsintervall erzeugt wird, in der zweiten Betriebsdauer zu erlangen; einer zweiten Trägheitsberechnungseinheit, die dazu ausgestaltet ist, eine Trägheit τI4b , die um die vierte Achse erzeugt wird, basierend auf der Beschleunigung sowohl in den beschleunigten als auch in den verzögerten Intervallen dem Beschleunigungsmoment und dem Verzögerungsmoment in der zweiten Betriebsdauer zu berechnen; einer dritten Beschleunigungserlangungseinheit, die dazu ausgestaltet ist, eine Beschleunigung zu erlangen, die während beschleunigten und verzögerten Intervallen einer dritten Betriebsdauer, in der die zweite Achse ebenfalls derart angetrieben wird, dass sich der Roboterarm einer dritten Ausgangsposition zu einer dritten Einschätzungsposition bewegt und von der dritten Einschätzungsposition zu der dritten Ausgangsposition zurückkehrt, an der zweiten Achse erzeugt wird, wobei während der dritten Betriebsdauer für die Last dieselbe bekannte Masse gegeben ist, die vierte Achse in einem dritten Winkel θc (≠θa, θb) positioniert ist, und die erste, dritte und vierte Achse zwischen der dritten Ausgangs- und Einschätzungsposition an denselben Positionen sind; einer dritten Momentansammlungseinheit, die dazu ausgestaltet ist, ein Beschleunigungsmoment, das an der vierten Achse während des beschleunigten Intervalls erzeugt wird, und ein Verzögerungsmoment, das an der vierten Achse während des verzögerten Intervalls erzeugt wird, in der dritten Betriebsdauer zu erlangen; einer dritten Trägheitsberechnungseinheit, die dazu ausgestaltet ist, eine Trägheit τI4c , die um die vierte Achse erzeugt wird, basierend auf der Beschleunigung sowohl in den beschleunigten als auch verzögerten Intervallen, dem Beschleunigungsmoment und dem Verzögerungsmoment in der dritten Betriebsdauer zu berechnen; und einer Schwerpunktberechnungseinheit, die dazu ausgestaltet ist, eine Position eines Schwerpunkts der Last in einer Ebene basierend auf einem Abstand von der vierten Achse zu der Last, einer Richtung von dem Schwerpunkt zu der vierten Achse, Beträgen der berechneten Trägheit τI4a , τI4b und τI4c und dem ersten bis vierten Winkel θc , θa und θb der vierten Achse zu berechnen.
  • Somit ist es selbst bei dem horizontalen vier-achsigen Industrieroboter möglich, durch einfachere Einschätzungsvorgänge eine Position des Schwerpunkts einer Last, durch die der Roboter in einer Endeffektor-Koordinatenebene belastet wird, einzuschätzen. Dadurch kann diese Positionsinformation in einer Steuerung des Roboterarms wiedergespiegelt werden, wodurch die Armsteuerung auf eine zuverlässigere und präzisere Weise durchgeführt werden kann, selbst wenn Lasten, mit denen der Roboter belastet wird, undefinierte Formen oder unregelmäßige Dichten aufweisen.
  • Es wird bevorzugt, dass bei dem zuvor genannten Aufbau die erste bis dritte Beschleunigungserlangungseinheit als den ersten bis dritten Winkel θc , θa und θb der vierten Achse 0 Grad, 90 Grad und -90 Grad in einem Koordinatensatz für einen Endeffektor bzw. Greifer, der die Last hält, einstellt. Dieser Aufbau ergibt demzufolge eine einfachere und leichtere Beschleunigungserlangung, während ein Berechnungsaufwand, der durch einen Controller oder einen Rechner durchgeführt wird, verringert ist.
  • Es ist ebenso bevorzugt, dass der Roboter an einem Ende, an dem die erste Achse bereitgestellt ist, eine Basis aufweist, wobei eine Basiskoordinate zu der Basis eingestellt ist und eine Z-Achsenrichtung entlang einer Höhenrichtung aufweist; die dritte Achse bereitgestellt ist, um einen zweiten und dritten Arm zu verbinden, die einen Teil des Roboterarms bilden; und jede von der ersten bis zur dritten Beschleunigungserlangungseinheit dazu ausgestaltet ist, die Beschleunigung und Verzögerung mit der dritten Achse in einem Zustand zu berechnen, bei dem die dritte Achse zu einer obersten Position in der Höhenrichtung angetrieben wird. Durch diesen Aufbau kann verhindert werden, dass sich Vibrationen oder schwankenden Bewegungen einer dritten Verbindung, durch welche die dritte Achse realisiert ist, auf die Last übertragen, welche nun Gegenstand der Einschätzung ist, wodurch es möglich wird, eine Positionseinschätzung des Schwerpunkts in einer noch zuverlässigeren Weise durchzuführen.
  • Als eine andere beispielgebende Ausführungsform gemäß dieser Offenbarung wird ein Verfahren zum Einschätzen einer Position des Schwerpunkts einer Last, durch die ein Roboter belastet ist, vorgeschlagen, das ähnliche Merkmale, wie sie oben stehend beschrieben sind, aufweist.
  • Figurenliste
  • In den begleitenden Zeichnungen zeigen:
    • 1 ein Flussdiagramm, das einen Teil des Ablaufs erklärt, wie die Position des Schwerpunkts eines Werkstücks, das an dem Ende eines Roboters mit einem horizontalen vier-achsigen Aufbau angebracht ist, gemäß einer Ausführungsform eingeschätzt wird;
    • 2 ist ein Flussdiagramm, das den verbleibenden Teil des Ablaufs erklärt, wie die Position des Schwerpunkts des Werkstücks eingeschätzt wird;
    • 3 ist eine Darstellung, die erklärt, wie sich der Arm unter Verwendung eines vier-achsigen Armmodells während der ersten Betriebsdauer verhält;
    • 4 ist ein Graph, der eine Geschwindigkeitswellenform der zweiten Achse zeigt;
    • 5 ist ein Graph, der eine Beschleunigungswellenform der zweiten Achse zeigt;
    • 6 ist ein Graph, der eine Drehmomentwellenform an der vierten Achse zeigt;
    • 7 ist eine Erklärung, die unter Verwendung des vier-achsigen Armmodells erklärt, wie sich der Arm während der zweiten Bewegungsdauer verhält;
    • 8 ist eine Darstellung, die unter Verwendung des vier-achsigen Armmodells erklärt, wie sich der Arm während der dritten Bewegungsdauer verhält;
    • 9 ist ein perspektivisches Diagramm, das ein Industrierobotersystem schematisch darstellt; und
    • 10 ist eine Darstellung, die das vier-achsige Armmodell zeigt.
  • Ausführliche Beschreibung der bevorzugten Ausführungsformen
  • Nachstehend wird mit Bezug auf die 1 bis 10 eine bevorzugte Ausführungsform beschrieben, die einer Vorrichtung und einem Verfahren zum Einschätzen der Position des Schwerpunkts einer Last, die an dem Armende eines Industrieroboters angebracht ist, entspricht.
  • Zunächst wird unter Verwendung von 9 ein Gesamtsystem beschrieben. 9 zeigt einen Systemaufbau eines üblicherweise verwendeten Industrieroboters, indem ein Robotersystem 1 bereitgestellt ist. Dieses Robotersystem 1 ist mit einem Industrieroboter 2, einem Controller 3, der Bewegungen des Roboters 2 steuert, und einem Programmiergerät bzw. Bediengerät 4, das mit dem Controller 3 kommunikationsfähig verbunden ist, ausgestattet. Der Controller 3 kann als eine Steuervorrichtung und eine Einschätzvorrichtung zum Einschätzen eines Schwerpunkts einer Last, die an dem Roboter 2 angebracht ist, dienen.
  • Der Roboter 2 ist beispielsweise als ein vier-achsiger horizontaler, mehrgelenkiger Roboter ausgestaltet und er ist mit einer Basis 5, die an einer Installationsoberfläche, beispielsweise einem Boden, fest angebracht ist, einem ersten Arm 6, der auf der Basis 5 drehbar aufbaut, einem zweiten Arm 7, der mit dem ersten Arm 6 gekoppelt ist, und einer Welle 8, die mit dem zweiten Arm 7 verbunden ist, ausgestattet. Zu der Basis 5 ist, wie in 9 gezeigt, eine dreidimensionale Basiskoordinate XTZ eingestellt, in welcher die Z-Achsenrichtung entlang der Höhenrichtung des Roboters 2 verläuft.
  • Insbesondere ist ein Längsendabschnitt des ersten Arms 6 mit der Basis 5 über eine erste Achse J1 drehbar gekoppelt, wodurch es dem ersten Arm 6 ermöglicht ist, sich zu drehen. Die erste Achse J1 weist eine Wellenmitte auf, die entlang der Z-Achsenrichtung ausgerichtet ist, die als eine vertikale Achse zu der Basis 5 eingestellt ist. Ein Längsendabschnitt des zweiten Arms 7 ist mit dem anderen Längsendabschnitt des ersten Arms 6 über eine zweite Achse J2 ebenfalls drehbar gekoppelt, wodurch es dem zweiten Arm 7 möglich ist, sich in Bezug zu dem ersten Arm 6 zu drehen. Die zweite Achse J2 weist ebenfalls eine Wellenmitte auf, die entlang der Z-Achsenrichtung ausgerichtet ist. Die Welle 8 ist durch den verbleibenden Längsendabschnitt des zweiten Arms 7 drehbar und vertikal beweglich angeordnet. Eine dritte Achse J3 ist derart angeordnet, dass sie die Welle 8 in der Z-Achsenrichtung nach oben und unten bewegt, während eine vierte Achse J4 dazu angeordnet ist, eine Drehung der Welle 8 zu ermöglichen. Einem unteren Endabschnitt der Welle 8 ist ein Flansch (oder ein Endeffektor bzw. Greifer) 9 in einer bezüglich der Position anpassbaren Weise lösbar an die Welle 8 angefügt.
  • Eine zweidimensionale Endeffektorkoordinate (ebenso als eine Flanschkoordinate bezeichnet) xy ist auf den Flansch 9 eingestellt.
  • Die Basis 5, der erste Arm 6, der zweite Arm 7, die Welle 8 und der Flansch 9 dienen insgesamt als ein Roboterarm des Roboters 2, sodass der Flansch 9 als ein Roboterarmendabschnitt dient. Daher kann ein Werkzeug oder Werkstück an dem Flansch 9 befestigt werden. Ein solches Werkzeug ist ein luftbetriebenes Spannfutter 10. In der Erklärung, die in 7 gezeigt ist, wird das luftbetriebene Spannfutter 10 eingesetzt, um ein Werkstück 11 anzusaugen, das eine Last für den Roboter darstellt. Das Werkstück 11 weist eine undefinierte Form auf und dessen Dichte ist lokal ungleichmäßig, weshalb die Position des Schwerpunkts in der Endeffektorkoordinate xy überprüft werden muss, um eine Steuerungsgenauigkeit in einer Steuerung der Roboterarmvorgänge zu erhöhen.
  • Die jeweiligen Achsen J1 bis J4, die an dem Roboter 2 bereitgestellt sind, sind tatsächlich durch Mittelachsen der Wellen von elektrischen Motoren (nicht dargestellt) bereitgestellt, die an den Achsen J1 bis J4 jeweils angeordnet sind. Obwohl dies nicht gezeigt ist, ist nahe bei jedem Motor ein Sensor angeordnet, um sowohl einen Drehwinkel als auch eine Drehgeschwindigkeit zu erfassen.
  • Im Allgemeinen werden Industrieroboter gemäß einem vorgegebenem Betriebsprogramm angetrieben, das zuvor über ein Programmierungsgerät erstellt wurde. Der Controller 3 erfüllt die Betriebsprogramme, um ein Antrieb von jedem der Motoren zu regeln und Bewegungen des Arms des Roboters 2 zu steuern.
  • Obwohl dies nicht gezeigt ist, ist der Controller 3 als ein Computeraufbau bereitgestellt, der mit einem Prozessor (wie einer CPU) 3A, die Steuerungsaktionen des Roboters 2 durchführt, einer Speichervorrichtung (wie einem ROM) 3B, und anderen notwendigen Komponenten, wie einem RAM (nicht dargestellt) ausgestattet ist. In der vorliegenden Ausführungsform setzt sich die Speichervorrichtung 3B, die als ein nichtflüchtiges lesbares Computerspeichermedium dient, beispielsweise aus einem Halbleiterspeicherelement zusammen. Nach Aktivierung liest der Prozessor 3A verschiedene Programme aus der Speichervorrichtung 3B aus, in der solche Programme zuvor implementiert wurden, und führt Schritte aus, die in solchen Programmen definiert sind, wodurch die Funktionen, die in dieser Offenbarung dargelegt sind, funktional umgesetzt werden.
  • Das Programmierungsgerät bzw. Bediengerät 4 ist in einer Größe ausgestaltet, die es einem Nutzer erlaubt, dieses in der Hand zu halten oder mit sich zu tragen, sodass das Programmiergerät 4 in einer flachen, im Wesentlichen rechteckigen Plattenform ausgebildet ist. Es sind Schlüsselschalter auf dem Programmierungsgerät 4 für verschiedene Nutzereingabevorgänge an dem Programmierungsgerät 4 angeordnet. Das Programmierungsgerät 4 ist mit dem Controller 3 über ein Kabel kommunikationsfähig verbunden, und ist mit einer Kommunikationsschnittstelle ausgestattet, um eine schnelle Datenübertragung zu und von dem Controller 3 herzustellen. Somit können verschiedene Typen von Informationssignalen, wie Betriebssignale, die durch eine Schlüsselschalterbetätigung des Nutzers gegeben werden, von dem Programmierungsgerät 4 zu dem Controller 3 gesendet werden.
  • Nun wird theoretisch erläutert, wie die Position des Schwerpunkts des Werkstücks 11, welches das Werkzeug umfasst, eingeschätzt wird.
  • 10 zeigt ein vier-achsiges Armmodell des zuvor genannten Roboters 2. In der vorliegenden Ausführungsform wird die Position des Schwerpunkts basierend auf einer Beschleunigung, welche in Reaktion auf eine Bewegung der zweiten Achse des Arms an der vierten Achse auftritt, eingeschätzt. Hierbei wird angenommen, dass die Masse m des Werkstücks 11, die das Werkzeug umfasst, bekannt ist.
  • Wenn der Roboter 2 aktiviert ist, kann ein Betrag des Drehmoments τm, der an jedem der Elektromotoren aufgebracht wird, durch die nachfolgende Formel (1) ausgedrückt werden: τ M = ( τ I + τ f + τ G + F r c ) G e a r ( M I ω ˙ + M v i s ω ) G e a r + M F r c
    Figure DE102018114445A1_0001
    wobei τI: Trägheitsmoment, MI: Trägheit des Motors, τf: Zentrifugalmoment, Mvis: Viskosität des Motors, Gear: Übersetzungsverhältnisse, τG : Schweremoment, MFrc : Reibung des Motors, ω: Winkelgeschwindigkeit des Motors, Frc : Reibungsmoment, ω(dot):=dω/dt: Winkelbeschleunigung des Motors.
  • Nachfolgend kann die Winkelbeschleunigung vereinfacht als Beschleunigung bezeichnet werden.
  • Wenn der Motor basierend auf einem Winkelgeschwindigkeitsmuster angetrieben wird, das in 2 gezeigt ist, wird ein Drehmoment, das an dem Motor während eines beschleunigten Intervalls und eines verzögerten Intervalls auftritt, als τMacc und τMdcc bezeichnet, und eine Differenz zwischen den Drehmomentbeträgen τMacc und τMdcc wird berechnet. Durch diese Differenzberechnung werden Terme, die von τf , Frc , Mvis , und MFrc abhängen, entfernt, sodass Terme τI und MI , die von der Beschleunigung abhängen, stehenbleiben, wie in der Formel (2) gezeigt ist: τ M a c c τ M d e c = τ l a c c τ I d e c G e a r + M I ( ω ˙ a c c ω ˙ d e c ) G e a r
    Figure DE102018114445A1_0002
  • Wenn die zweite Achse angetrieben wird, aber die vierte Achse nicht angetrieben wird, wird eine Winkelbeschleunigung der vierten Achse Null. Daher kann ein Trägheitsmoment τI4 der zweiten Achse durch die Formel (3) ausgedrückt werden: τ I 4 = τ M 4 a c c τ M 4 d e c ( ω ˙ 2 a c c ω 2 d e c ) G e a r = m l h L 2 c o s ( θ 4 + θ h ) + I z 4
    Figure DE102018114445A1_0003
  • In einem Fall, bei dem der Winkel der vierten Achse auf jeden der mutmaßlich unterschiedlichen Winkel θa , θb , und θc eingestellt ist, und in diesem jeweiligen Einstellungszustand der Roboterarm in derselben Bewegung angetrieben wird, können Unterschiede zwischen den Trägheiten Ia , Ib und Ic der vierten Achse durch die Formeln (4) und (5) ausgedrückt werden, sodass: I a I b = m l h L 2 { c o s ( θ a + θ h ) c o s ( θ b + θ h ) } = m l h L 2 { ( c o s θ a c o s θ b ) c o s θ h ( s i n θ a s i n θ b ) s i n θ h }
    Figure DE102018114445A1_0004
    I a I c = m l h L 2 { ( c o s θ a c o s θ c ) c o s θ h ( s i n θ a s i n θ c ) s i n θ h }
    Figure DE102018114445A1_0005
  • Die Positionskoordinaten xcog , ycog des Schwerpunkts des Werkstücks 11, die gewünscht sind, werden durch die Formel (6) ausgedrückt, sodass: x cog = l h cos θ h y cog = l h sin θ h
    Figure DE102018114445A1_0006
  • Unter Verwendung der Formeln (4) und (5) kann diese Formel (6) in die nachfolgenden Formeln (7) und (8) entwickelt werden. l h s i n θ h = ( c o s θ a c o s θ c ) ( I a I b ) ( c o s θ a c o s θ b ) ( I a I c ) { ( c o s θ a c o s θ b ) ( s i n θ a s i n θ c ) ( s i n θ a s i n θ b ) ( c o s θ a c o s θ c ) } m = y c o g
    Figure DE102018114445A1_0007
    l h c o s θ h = ( s i n θ a s i n θ c ) ( I a I b ) ( s i n θ a s i n θ b ) ( I a I c ) { ( c o s θ a c o s θ b ) ( s i n θ a s i n θ c ) ( s i n θ a s i n θ b ) ( c o s θ a c o s θ c ) } m = x c o g
    Figure DE102018114445A1_0008
  • Wenn θa=0, θb=π/2, und θc=-π/2 in die Formeln (7) und (8) substituiert werden, können diese Formeln (7) und (8) wie folgt vereinfacht werden: l h s i n θ h = I c I b m = y c o g
    Figure DE102018114445A1_0009
    l h c o s θ h = 2 I a I b I c m = x c o g
    Figure DE102018114445A1_0010
  • Mit Bezug auf die 1 bis 8 werden nun Vorgänge des Systems übereinstimmend mit der vorliegenden Ausführungsform beschrieben, die auf dem zuvor genannten theoretischen Prinzip basiert.
  • 1 und 2 zeigen Flussdiagramme für einen Ablauf, der zum Einschätzen der Position des Schwerpunkts verwendet wird. Dieser Ablauf wird durch den Controller 3 ausgeführt.
  • Zunächst wird der Arm des Roboters 2 dazu angetrieben, sich von einer ersten Ausgangsposition zu bewegen (Schritt S1). In dem Beispiel, das in 3 gezeigt ist, ist diese erste Ausgangsposition auf (J1, J2, J3, J4) = J(0, -40, 220, 0) eingestellt, wobei die Werte „0, -40, 220, 0“ als „θ-Werte“ ausgedrückt werden (nachstehend wird derselbe Ausdruck eingesetzt) und „J3=220“ zeigt, dass die dritte Achse zu ihrer obersten Endposition bewegt ist, d. h. die oberste zulässige Grenzposition Zmax (vgl. 9) in der Höhe der Z-Achsenrichtung, deren Höhe θa für die vierte Achse bereitstellt.
  • Der Arm wird danach angetrieben, um einen ersten Vorgang zu starten, sodass der Arm dazu angetrieben wird, seine erste Einschätzungsposition einzunehmen, und dazu angetrieben wird, zu der ersten Ausgangsposition zurückzukehren (Schritt S2). Beispielsweise ist die erste Einschätzungsposition gegeben als: J(0, 40, 220, 0).
  • In diesem Zustand wird die vierte Achse auf ihrer Ausgangsposition gehalten, d. h. J4=θa=0.
  • Danach setzt der Ablauf bei Schritt S3 fort, bei dem eine Beschleunigungswellenform an der zweiten Achse und eine Drehmomentwellenform an der vierten Achse während einer ersten Betriebsdauer, die durch eine Dauer der Zeit definiert ist, die erforderlich ist, damit der Arm die erste Einschätzungsposition erreicht (ein Vorgang (1)) und einer Dauer der Zeit, die erforderlich ist, damit der Arm von der ersten Einschätzungsposition zu der ersten Ausgangsposition zurückkehrt (ein Vorgang (2)), ihrem Probevorgang bzw. Samplingvorgang unterzogen. Solche Wellenformen sind in den Figuren (4) und (5) als Beispiele gegeben. Eine Durchschnittswertbildung der Wellenformen in den Vorgängen (1) und (2) während der ersten Betriebsdauer ermöglicht es, eine Wellenform bereitzustellen, bei der ein Reibungskraftfaktor entfernt ist.
  • Danach wird basierend auf der erlangten Beschleunigungswellenform eine Beschleunigung an der zweiten Achse in den beschleunigten und verzögerten Intervallen, die als ω(dot)2aa und ω(dot)2ad bezeichnet wird, durch umgekehrte Umwandlung der erlangten Wellenformen erlangt (Schritt S4). Der Ablauf entspricht bei Schritt S4 funktional einer ersten Beschleunigungserlangungseinheit. Ferner wird basierend auf der erlangten Drehmomentwellenform ein Beschleunigungsmoment der vierten Achse in den beschleunigten und verzögerten Intervallen, die als τ4aa und τ4ad bezeichnet wird, erlangt (Schritt S5). Der Ablauf entspricht bei Schritt S5 funktional einer ersten Drehmomenterlangungseinheit. Die Beschleunigungswerte an der zweiten Achse und die Beschleunigungswerte an der vierten Achse, die in den Schritten S4 und S5 erlangt worden sind, werden in eine Formel (11) substituiert, um eine Trägheit τI4a , an der vierten Achse zu berechnen (Schritt S6). τ I 4 a = τ 4 a a τ 4 a d ( ω ˙ 2 a a ω ˙ 2 a d ) G e a r
    Figure DE102018114445A1_0011
  • Danach wird der Arm dazu angetrieben, sich zu einer zweiten Ausgangsposition zu bewegen (Schritt S7). Diese zweite Ausgangsposition ist als eine Position eingestellt, die durch eine Bewegung von lediglich der vierten Achsenposition von θa zu θb = 90 Grad an der ersten Ausgangsposition definiert ist, d. h. die zweite Ausgangsposition ist beispielsweise J (0, -40, 220, 90).
  • Der Arm wird weiter angetrieben, um einen zweiten Vorgang durchzuführen (Schritt S8). Wie in 7 gezeigt ist, wird eine zweite Einschätzungsposition als eine Position eingestellt, die durch eine Bewegung von lediglich der vierten Achsenposition zu θb=90 Grad an der ersten Einschätzungsposition definiert ist, welche J (0, 40, 220, 90) ist.
  • Äquivalent zu der ersten Betriebsdauer wird eine zweite Betriebsdauer als eine Dauer definiert, die erforderlich ist, damit sich der Arm von der zweiten Einschätzungsposition zu der zweiten Ausgangsposition bewegt.
  • Darauf folgen die Schritte S9 bis S12, die in derselben Weise verarbeitet werden, wie die vorhergehenden Schritte S3 bis S6, allerdings beziehen sie sich auf die zweite Betriebsdauer. Somit stellt der Ablauf bei Schritt S10 Werte der Beschleunigung der zweiten Achse bereit, ω(dot)2ba und ω(dot)2bd , und der Ablauf bei Schritt S11 stellt Werte des Drehmoments der vierten Achse bereit, τ4ba und τ4bd . Der Schritt S10 setzt eine zweite Beschleunigungserlangungseinheit funktional um, während der Schritt S11 eine zweite Drehmomenterlangungseinheit funktional umsetzt. Durch Substituieren des Wertes der Beschleunigung der zweiten Achse, die bei Schritt S10 erlangt wird, und des Wertes des Drehmoments der vierten Achse, der bei Schritt S11 erlangt wird, in die nachfolgende Formel (12), wird eine Trägheit der vierten Achse τI4b berechnet (Schritt S12): τ I 4 b = τ 4 b a τ 4 b d ( ω ˙ 2 b a ω ˙ 2 b d ) G e a r
    Figure DE102018114445A1_0012
  • Der Arm wird ebenfalls dazu angetrieben, sich zu einer dritten Ausgangsposition zu bewegen (Schritt S13). Die dritte Ausgangsposition ist als eine Position eingestellt, die durch eine Bewegung von lediglich der vierten Achsenposition von θa zu θc=-90 Grad an der ersten Ausgangsposition definiert ist, d. h. die dritte Ausgangsposition ist beispielsweise J(0, -40, 220, -90).
  • Der Arm wird ferner dazu angetrieben, einen dritten Vorgang durchzuführen (Schritt S14). Wie in 8 gezeigt ist, ist eine dritte Einschätzungsposition als eine Position eingestellt, die durch eine Bewegung von lediglich der vierten Achsenposition zu θc=-90 Grad an der ersten Einschätzungsposition definiert ist, welche J(0, 40, 220, -90) ist.
  • Äquivalent zu der ersten Betriebsdauer ist eine dritte Betriebsdauer als ein Zeitraum definiert, der erforderlich ist, um den Arm von der dritten Einschätzungsposition zu der dritten Ausgangsposition zu bewegen.
  • Danach folgen die Schritte S15 bis S18, die in derselben Weise verarbeitet werden, wie die vorhergehenden Schritte S3 bis S6, allerdings betreffen sie die dritte Betriebsdauer. Demzufolge stellt der Ablauf bei Schritt S16 Werte der Beschleunigung der zweiten Achse bereit, ω(dot)2ca und ω(dot)2cd , und der Ablauf bei Schritt S14 stellt Werte des Drehmoments der vierten Achse bereit, τ4ca und τ4cd . Der Schritt S16 setzt funktional eine dritte Beschleunigungserlangungseinheit um, während der Schritt S17 eine dritte Drehmomenterlangungseinheit funktional umsetzt. Durch Substituieren des Wertes der Beschleunigung der zweiten Achse, der bei Schritt S16 erlangt wird, und des Wertes des Drehmoments der vierten Achse, der bei Schritt S17 erlangt wird, in die nachfolgende Formel (13), wird eine Trägheit der vierten Achse τI4c berechnet (Schritt S18): τ I 4 c = τ 4 c a τ 4 c d ( ω ˙ 2 c a ω ˙ 2 c d ) G e a r
    Figure DE102018114445A1_0013
  • In der vorliegenden Ausführungsform ist der Bestimmungsvorgang bei Schritt S19 JA, wenn die Winkel θa, θb und θc der vierten Achse als 0 Grad, 90 Grad und -90 Grad jeweils ausgewählt werden. In diesem Fall setzt der Ablauf bei Schritt S20 fort, bei dem die zuvor genannten Formeln (9) und (10) verwendet werden, um Ihcosθh und Ihsinθh zu berechnen. Somit ist es möglich, den Vorgang bei Schritt S21 durchzuführen, bei dem die Formel (6) verwendet wird, um die Position (xcog , ycog ) des Schwerpunkts des Werkstücks 11 zu berechnen.
  • Im Gegensatz zu dem oben genannten wird unterdessen der Bestimmungsvorgang bei Schritt S19 NEIN, wenn die Winkel θa , θb und θc der vierten Achse als 0 Grad, 90 Grad und -90 Grad jeweils ausgewählt werden. In diesem Fall werden die zuvor genannten Formeln (7) und (8) verwendet, um Ihcosθh und IhSinθh zu berechnen (Schritt S22). Ferner wird in derselben Weise wie zuvor genannt, die Formel (6) verwendet, um die Position des Schwerpunkts (xcog , ycog ) des Werkstücks 11 in der Endeffektorkoordinate xy zu berechnen (Schritt S22). Unter Verwendung der Formeln (9) und (10), oder (7) und (8), werden die Beträge der Trägheit der vierten Achse Ia, Ib und Ic durch die Beträge der Trägheit der vierten Achse τI4a , τI4b , und τI4c jeweils ersetzt, die durch die Formeln (11), (12) und (13) berechnet wurden.
  • Somit setzen die Schritte S19 bis S22 eine Schwerpunktpositionsberechnungseinheit funktional um.
  • Falls zwischen der tatsächlichen Position des Schwerpunkts des Werkstücks 11 und der Position des Schwerpunkts (xcog , ycog ), die in der vorliegenden Ausführungsform tatsächlich berechnet wurde, ein Fehler auftritt, könnten Korrekturkoeffizienten in Abhängigkeit eines Betrags des Fehlers zur Korrektur der Position verwendet werden.
  • Wie in der vorliegenden Ausführungsform beschrieben ist, steuert der Controller 3 in einem Zustand, bei dem der Arm des horizontalen vier-achsigen Roboters 2 ein bekanntes Werkstück 11 (mit dessen Masse m) an dessen Ende des Roboters 2 angefügt hat, den Arm an, um die Beschleunigung der zweiten Achse in jedem der beschleunigten und verzögerten Intervalle für die erste Betriebsdauer zu erlangen. Die erste Betriebsdauer ist als eine Dauer definiert, die durch Bewegung der zweiten Achse zum Bewegen von der ersten Ausgangsposition, an der die Position der vierten Achse θa ist, zu der ersten Einschätzungsposition, erforderlich ist, und eine Dauer, die zum Zurückkehren von der ersten Einschätzungsposition zu der ersten Ausgangsposition erforderlich ist.
  • Der Controller 3 erlangt danach ein Beschleunigungsmoment der vierten Achse in dem beschleunigten Intervall und ein Verzögerungsmoment der vierten Achse in dem verzögerten Intervall, und berechnet basierend auf der Beschleunigung sowohl in dem beschleunigten als auch in dem verzögerten Intervall, dem Beschleunigungsmoment und dem Verzögerungsmoment eine Trägheit τI4a um die vierte Achse.
  • Zudem führt der Controller 3 den zweiten Vorgang aus, um die Beschleunigung der zweiten Achse sowohl in dem beschleunigten als auch in dem verzögerten Intervall in der zweiten Betriebsdauer zu erlangen. Der zweite Vorgang ermöglicht es der zweiten Achse, von der zweiten Ausgangsposition aus betrieben zu werden, die durch Änderung der vierten Achsenposition zu θb an der ersten Ausgangsposition umgesetzt wird. Bezüglich der zweiten Betriebsdauer werden durch den Controller 3 Beträge des Beschleunigungs- und Verzögerungsmoments der vierten Achse erlangt, und ein Betrag der Trägheit τI4b um die vierte Achse wird in derselben Weise berechnet, wie das erste Drehmoment erlangt wird.
  • Der Controller 3 führt ferner den dritten Vorgang durch, um die Beschleunigung der zweiten Achse sowohl in dem beschleunigten als auch in dem verzögerten Intervall in der dritten Betriebsdauer zu erlangen. Der dritte Vorgang ermöglicht es der zweiten Achse, von der dritten Ausgangsposition aus betrieben zu werden, die durch Änderung der vierten Achsenposition zu θc an der ersten Ausgangsposition umgesetzt wird. Bezüglich der dritten Betriebsdauer werden durch den Controller 3 Beträge des Beschleunigungs- und Verzögerungsmoments der vierten Achse erlangt, und es wird ein Betrag der Trägheit τI4c um die vierte Achse berechnet. Danach wird durch den Controller 3 basierend auf den zuvor bekannten und berechneten Beträgen von lh , θh , τI4a , τI4b , τI4c , θa , θb , und θc die Position des Schwerpunkts (xcog , ycog ) des Werkstücks 11 berechnet.
  • Mit anderen Worten wird die vierte Achse des Arms, an dem die Last bereitgestellt ist, zu jeder der drei verschiedenen Positionen der vierten Achse bewegt, wodurch die Last in derselben Weise horizontal bewegt wird, was zu einer Beschleunigung an der vierten Achse (d. h. physikalisch an der vierten Verbindung) führt. Basierend auf der Beschleunigung, die an der vierten Achse an jeder der drei verschiedenen Positionen der vierten Achse aufgebracht wird, werden Beträge der Trägheit τI4a τI4b und τI4c berechnet. Diese Trägheitsbeträge τI4a , τI4b und τI4c und die Positionen der vierten Achse θa , θb , und θc sind dann auch Gegenstand zur Erlangung der Position des Schwerpunkts, d. h. der Schwerpunktsposition (xcog , ycog ) des Werkstücks 11. Somit ist es möglich, die Schwerpunktsposition des Werkstücks 11 in der horizontalen Ebene (d. h. die Endeffektorkoordinate xy) in einem Roboter einzuschätzen, der mit einem Armaufbau ausgestaltet ist, der vier Achsen umfasst (d. h. vier Verbindungen). Demzufolge kann selbst bei dem vier-achsigen horizontalen Mehrgelenkroboter der Schwerpunkt eines Werkstücks in Bezug auf dessen Position in zuverlässiger Weise eingeschätzt werden, wodurch es möglich wird, Aktionen des Roboterarms in dessen Betrieb präzise zu steuern.
  • Praktischerweise wird die vierte Achse (d. h. die vierte Verbindung) zu den Winkeln θa=0 Grad, θb=90 Grad, und θc=-90 Grad jeweils bewegt, wodurch es möglich wird, unter Verwendung der Formeln (9) und (10) die Schwerpunktposition (xcog , ycog ) in noch einfacherer Weise zu berechnen, wodurch die Berechnung der Positionseinschätzung vereinfacht wird. Zudem wird die vierte Achse bewegt, während eine Position der dritten Achse (Verbindung) an der oberen Endposition fixiert ist, was dazu führt, dass während einer Armbewegung zu jeder der ersten und zweiten Einschätzungsposition Vibrationen in dem Werkstück unterdrückt werden können, die durch die Dritte Achse verursacht werden. Diese Unterdrückung führt zu einer höheren Einschätzungsgenauigkeit beim Erlangen der Schwerpunktsposition.
  • Die vorliegende Erfindung, die obenstehend beschrieben ist, ist nicht auf die oben beschriebene Ausführungsform beschränkt, sondern kann zu verschiedenen anderen Ausführungsformen entwickelt werden, ohne von dem Kern derselben abzuweichen.
  • Beispielsweise sind die Winkel θa=0 Grad, θb=90 Grad, und θc=-90 Grad zu denen die vierte Achse jeweils bewegt wird, nicht auf ein solches Verhältnis zwischen den Winkelpositionen und den Winkeln beschränkt, sondern kann auf ein anderes Winkelverhältnis geändert werden. Als ein anderes Beispiel können die Winkelbeträge 0 zu anderen Beträgen geändert werden, die in der Ausführungsform beschrieben sind.
  • Ferner können die Ausgangspositionen und Einschätzungspositionen ebenso auf andere Positionen geändert werden.
  • Ebenso muss die dritte Achse (Verbindung) nicht immer auf die obere Endposition eingestellt sein, wenn der Roboter in einem Zustand verwendet wird, bei dem kein oder annähernd kein Einfluss von Vibrationen durch die dritte Achse verursacht wird. In solchen Fällen kann die dritte Achse, d. h. in der Praxis die Welle 8, während der Einschätzungsaktion in die Z-Achsenrichtung abgesenkt werden.
  • Ferner kann die Ausführungsreihenfolge zwischen dem zuvor genannten zweiten und dritten Schritt mit einander vertauscht werden, und in derselben Weise kann die Ausführungsreihenfolge zwischen dem vorhergenannten fünften und sechsten Schritt miteinander vertauscht werden und die Ausführungsreihenfolge des zuvor genannten achten und neunten Schrittes kann ebenso miteinander vertauscht werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 5327722 [0002, 0003]

Claims (8)

  1. Vorrichtung zum Einschätzen einer Position des Schwerpunkts einer Last, die einen Roboter belastet, wobei der Roboter mit einem Roboterarm ausgestattet ist, der horizontal angetrieben wird, und der Roboterarm vier Achsen umfasst, die als eine erste bis vierte Achse ausgestaltet sind, und ein Ende aufweist, das mit der Last belastet ist, wobei die Vorrichtung aufweist: eine erste Beschleunigungserlangungseinheit, die dazu ausgestaltet ist, eine Beschleunigung zu erlangen, die während beschleunigten und verzögerten Intervallen einer ersten Betriebsdauer erzeugt werden, in der die zweite Achse derart angetrieben wird, dass sich der Roboterarm von einer ersten Ausgangsposition zu einer ersten Einschätzungsposition bewegt und von der ersten Einschätzungsposition zu der ersten Ausgangsposition zurückkehrt, an der zweiten Achse erzeugt wird, wobei während der ersten Betriebsdauer für die Last eine bekannte Masse gegeben ist, die vierte Achse an einem ersten Winkel θa positioniert ist, und die erste, dritte und vierte Achse zwischen der ersten Ausgangs- und Einschätzungsposition an denselben Positionen sind; eine erste Drehmomentansammlungseinheit, die dazu ausgestaltet ist, ein Beschleunigungsmoment, das an der vierten Achse während des beschleunigten Intervalls erzeugt wird, und ein Verzögerungsmoment, das an der vierten Achse während des verzögerten Intervalls erzeugt wird, zu erlangen; eine erste Trägheitsberechnungseinheit, die dazu ausgestaltet ist, eine Trägheit τI4a, die um die vierte Achse erzeugt wird, basierend auf der Beschleunigung sowohl in den beschleunigten als auch in den verzögerten Intervallen, dem Beschleunigungsmoment und dem Verzögerungsmoment zu berechnen; eine zweite Beschleunigungserlangungseinheit, die dazu ausgestaltet ist, eine Beschleunigung zu erlangen, die während beschleunigten und verzögerten Intervallen einer zweiten Betriebsdauer, in der die zweite Achse ebenfalls derart angetrieben wird, dass sich der Roboterarm von einer zweiten Ausgangsposition zu einer zweiten Einschätzungsposition bewegt und von der zweiten Einschätzungsposition zu der zweiten Ausgangsposition zurückkehrt, an der zweiten Achse erzeugt wird, wobei während der zweiten Betriebsdauer für die Last dieselbe bekannte Masse gegeben ist, die vierte Achse an einem zweiten Winkel θb (≠θa) positioniert ist, und die erste, dritte und vierte Achse zwischen der zweiten Ausgangs- und Einschätzungsposition an denselben Positionen sind; eine zweite Drehmomentansammlungseinheit, die dazu ausgestaltet ist, ein Beschleunigungsmoment, das an der vierten Achse während des Beschleunigungsintervalls erzeugt wird, und ein Verzögerungsmoment, das an der vierten Achse während dem Verzögerungsintervall erzeugt wird, in der zweiten Betriebsdauer zu erlangen; eine zweite Trägheitsberechnungseinheit, die dazu ausgestaltet ist, eine Trägheit τI4b, die um die vierte Achse erzeugt wird, basierend auf der Beschleunigung sowohl in den beschleunigten als auch in den verzögerten Intervallen dem Beschleunigungsmoment und dem Verzögerungsmoment in der zweiten Betriebsdauer zu berechnen; eine dritte Beschleunigungserlangungseinheit, die dazu ausgestaltet ist, eine Beschleunigung zu erlangen, die während beschleunigten und verzögerten Intervallen einer dritten Betriebsdauer, in der die zweite Achse ebenfalls derart angetrieben wird, dass sich der Roboterarm einer dritten Ausgangsposition zu einer dritten Einschätzungsposition bewegt und von der dritten Einschätzungsposition zu der dritten Ausgangsposition zurückkehrt, an der zweiten Achse erzeugt wird, wobei während der dritten Betriebsdauer für die Last dieselbe bekannte Masse gegeben ist, die vierte Achse in einem dritten Winkel θc (≠θa, θb) positioniert ist, und die erste, dritte und vierte Achse zwischen der dritten Ausgangs- und Einschätzungsposition an denselben Positionen sind; eine dritte Momentansammlungseinheit, die dazu ausgestaltet ist, ein Beschleunigungsmoment, das an der vierten Achse während des beschleunigten Intervalls erzeugt wird, und ein Verzögerungsmoment, das an der vierten Achse während des verzögerten Intervalls erzeugt wird, in der dritten Betriebsdauer zu erlangen; eine dritte Trägheitsberechnungseinheit, die dazu ausgestaltet ist, eine Trägheit τI4c, die um die vierte Achse erzeugt wird, basierend auf der Beschleunigung sowohl in den beschleunigten als auch verzögerten Intervallen, dem Beschleunigungsmoment und dem Verzögerungsmoment in der dritten Betriebsdauer zu berechnen; und eine Schwerpunktberechnungseinheit, die dazu ausgestaltet ist, eine Position eines Schwerpunkts der Last in einer Ebene basierend auf einem Abstand von der vierten Achse zu der Last, einer Richtung von dem Schwerpunkt zu der vierten Achse, Beträgen der berechneten Trägheit τI4a, τI4b und τI4c und dem ersten bis vierten Winkel θc, θa und θb der vierten Achse zu berechnen.
  2. Vorrichtung nach Anspruch 1, wobei die erste bis dritte Beschleunigungserlangungseinheit dazu ausgestaltet sind, für den ersten bis dritten Winkel θc, θa und θb der vierten Achse, 0 Grad, 90 Grad und -90 Grad in einer Koordinateneinstellung für einen Endeffektor, der die Last hält, einzustellen.
  3. Vorrichtung nach Anspruch 1, wobei der Roboter mit einer Basis an einem Ende der ersten Achse ausgestattet ist, eine Basiskoordinate auf die Basis eingestellt ist und eine Z-Achsenrichtung entlang einer Höhenrichtung verläuft; die dritte Achse bereitgestellt ist, um einen zweiten und dritten Arm zu verbinden, die einen Teil des Roboterarms bilden; und jede von der ersten bis dritten Beschleunigungserlangungseinheit dazu ausgestaltet ist, die Beschleunigung und Verzögerung an der dritten Achse in einem Zustand zu berechnen, bei dem die dritte Achse zu einer höchsten Position in der Höhenrichtung angetrieben wird.
  4. Vorrichtung nach Anspruch 2, wobei der Roboter mit einer Basis an einem Ende der ersten Achse ausgestattet ist, eine Basiskoordinate auf die Basis eingestellt ist und eine Z-Achsenrichtung entlang einer Höhenrichtung verläuft; die dritte Achse bereitgestellt ist, um einen zweiten und dritten Arm zu verbinden, die einen Teil des Roboterarms bilden; und jede von der ersten bis dritten Beschleunigungserlangungseinheit dazu ausgestaltet ist, die Beschleunigung und Verzögerung an der dritten Achse in einem Zustand zu berechnen, bei dem die dritte Achse zu einer höchsten Position in der Höhenrichtung angetrieben wird.
  5. Verfahren zum Einschätzen einer Position des Schwerpunkts einer Last, die einen Roboter belastet, wobei der Roboter mit einem Roboterarm ausgestattet ist, der horizontal angetrieben wird, und der Roboterarm vier Achsen umfasst, die als eine erste bis vierte Achse ausgestaltet sind, und ein Ende aufweist, das mit der Last belastet ist, aufweisend: ein erstes Erlangen einer Beschleunigung, die während beschleunigten und verzögerten Intervallen einer ersten Betriebsdauer, in der die zweite Achse derart angetrieben wird, dass sich der Roboterarm von einer ersten Ausgangsposition zu einer ersten Einschätzungsposition bewegt und von der ersten Einschätzungsposition zu der ersten Ausgangsposition zurückkehrt, an der ersten Achse erzeugt wird, wobei während der ersten Betriebsdauer für die Last eine bekannte Masse gegeben ist, die vierte Achse in einem ersten Winkel θa positioniert ist, und die erste, dritte und vierte Achse zwischen der ersten Ausgangs- und Einschätzungsposition an denselben Positionen sind; ein erstes Erlangen eines Beschleunigungsmoments, das an der vierten Achse während des beschleunigten Intervalls erzeugt wird, und einem Verzögerungsmoment, das an der vierten Achse während des verzögerten Intervalls erzeugt wird; ein erstes Berechnen einer Trägheit τI4a, die um die vierte Achse erzeugt wird, basierend auf der Beschleunigung sowohl in den beschleunigten als auch in den verzögerten Intervallen, dem Beschleunigungsmoment und dem Verzögerungsmoment; ein zweites Erlangen einer Beschleunigung, die während beschleunigten und verzögerten Intervallen einer zweiten Betriebsdauer, in der die zweite Achse ebenfalls derart angetrieben wird, dass sich der Roboterarm von einer zweiten Ausgangsposition zu einer zweiten Einschätzungsposition bewegt und von der zweiten Einschätzungsposition zu der zweiten Ausgangsposition zurückkehrt, an der zweiten Achse erzeugt wird, wobei während der zweiten Betriebsdauer für die Last dieselbe bekannte Masse gegeben ist, die vierte Achse in einem zweiten Winkel θb (≠θa) positioniert ist, und die erste, dritte und vierte Achse zwischen der zweiten Ausgangs- und Einschätzungsposition an denselben Positionen sind; ein zweites Ansammeln eines Beschleunigungsmoments, das an der vierten Achse während des beschleunigten Intervalls erzeugt wird, und eines Verzögerungsmoments, das an der vierten Achse während des verzögerten Intervalls erzeugt wird, in der zweiten Betriebsdauer; ein zweites Berechnen einer Trägheit τI4b, die um die vierte Achse erzeugt wird, basierend auf der Beschleunigung sowohl in den beschleunigten als auch verzögerten Intervallen, dem Beschleunigungsmoment und dem Verzögerungsmoment in der zweiten Betriebsdauer; ein drittes Erlangen einer Beschleunigung, die während beschleunigten und verzögerten Intervallen einer dritten Betriebsdauer, in der die zweite Achse ebenfalls derart angetrieben wird, dass sich der Roboterarm von einer dritten Ausgangsposition zu einer dritten Einschätzungsposition bewegt und von der dritten Einschätzungsposition zur dritten Ausgangsposition zurückkehrt, an der zweiten Achse erzeugt wird, wobei während der dritten Betriebsdauer für die Last dieselbe bekannte Masse gegeben ist, die vierte Achse an einem dritten Winkel θc (≠θa, θb) positioniert ist, und die erste, dritte und vierte Achse zwischen der dritten Ausgangs- und Einschätzungsposition an denselben Positionen sind; ein drittes Ansammeln eines Beschleunigungsmoments, das an der vierten Achse während des beschleunigten Intervalls erzeugt wird, und eines Verzögerungsmoments, das an der vierten Achse während des Verzögerungsintervalls erzeugt wird, in der dritten Betriebsdauer; ein drittes Berechnen einer Trägheit τI4c, welche um die vierte Achse erzeugt wird, basierend auf der Beschleunigung sowohl in den beschleunigten als auch verzögerten Intervallen, dem Beschleunigungsmoment und dem Verzögerungsmoment in der dritten Betriebsdauer; und ein Berechnen einer Position eines Schwerpunkts der Last in einer Ebene basierend auf einem Abstand von der vierten Achse zu der Last, einer Richtung von dem Schwerpunkt zu der vierten Achse, Beträgen der berechneten Trägheit τI4a, τI4b und τI4c, und dem ersten bis dritten Winkel θc, θb der vierten Achse.
  6. Verfahren nach Anspruch 5, wobei die ersten bis dritten Beschleunigungserlangungsschritte für den ersten bis dritten Winkel θc, θa und θb der vierten Achse, 0 Grad, 90 Grad und -90 Grad in einer Koordinateneinstellung für einen Endeffektor, der die Last hält, einstellen.
  7. Verfahren nach Anspruch 5, wobei der Roboterarm mit einer Basis an einem Ende der ersten Achse ausgestattet ist, eine Basiskoordinate auf die Basis eingestellt ist und eine Z-Achsenrichtung entlang einer Höhenrichtung verläuft; und die dritte Achse bereitgestellt ist, um einen zweiten und dritten Arm zu verbinden, die einen Teil des Roboterarms bilden, wobei jeder von dem ersten bis dritten Beschleunigungserlangungsschritt die Beschleunigung und Verzögerung an der dritten Achse in einem Zustand, bei dem die dritte Achse zu einer höchsten Position in der Höhenrichtung angetrieben wird, berechnet.
  8. Verfahren nach Anspruch 6, wobei der Roboter mit einer Basis an einem Ende der ersten Achse ausgestattet ist, eine Basiskoordinate auf die Basis eingestellt ist und eine Z-Achsenrichtung entlang einer Höhenrichtung verläuft; und die dritte Achse bereitgestellt ist, um einen zweiten und dritten Arm zu verbinden, die einen Teil des Roboterarms bilden, wobei jeder von dem ersten bis dritten Beschleunigungserlangungsschritt die Beschleunigung und Verzögerung an der dritten Achse in einem Zustand, bei dem die dritte Achse zu einer höchsten Position in der Höhenrichtung angetrieben wird, berechnet.
DE102018114445.8A 2017-06-15 2018-06-15 Vorrichtung und Verfahren zur Einschätzung einer Position des Schwerpunkts eines Roboters Active DE102018114445B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017117669A JP6844434B2 (ja) 2017-06-15 2017-06-15 ロボットの負荷重心位置推定装置及びロボットの負荷重心位置推定方法
JP2017-117669 2017-06-15

Publications (2)

Publication Number Publication Date
DE102018114445A1 true DE102018114445A1 (de) 2018-12-20
DE102018114445B4 DE102018114445B4 (de) 2021-01-14

Family

ID=64457939

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018114445.8A Active DE102018114445B4 (de) 2017-06-15 2018-06-15 Vorrichtung und Verfahren zur Einschätzung einer Position des Schwerpunkts eines Roboters

Country Status (4)

Country Link
US (1) US10906175B2 (de)
JP (1) JP6844434B2 (de)
CN (1) CN109129525B (de)
DE (1) DE102018114445B4 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI642523B (zh) * 2017-09-21 2018-12-01 上銀科技股份有限公司 用於機械臂之負載估測重力補償的方法及其負載估測重力補償系統
CN110027002B (zh) * 2019-04-24 2021-09-17 深圳市智能机器人研究院 一种基于多电机驱动的仿生关节控制系统及方法
US11446825B2 (en) * 2020-04-15 2022-09-20 Shanghai Flexiv Robotics Technology Co., Ltd. Method for estimating a direction of gravity with respect to a robot
JP7473679B2 (ja) 2020-04-15 2024-04-23 上海非夕機器人科技有限公司 ロボットに対する重力方向を推定する方法、ロボットシステム、および非一時的なコンピュータ可読媒体
JP2023069292A (ja) * 2021-11-05 2023-05-18 セイコーエプソン株式会社 ロボットの制御方法およびロボット

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5327722A (en) 1976-08-26 1978-03-15 Honda Motor Co Ltd Intake gas heating apparatus for engine

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6077210A (ja) * 1983-10-05 1985-05-01 Nippon Telegr & Teleph Corp <Ntt> 空間運動機構の制御方法
EP0262600B1 (de) * 1986-09-29 1992-11-25 Asea Ab Verfahren und Vorrichtung zur optimalen Parameterregelung von Reglern, die rotierende und/oder lineare Bewegungen eines Industrieroboters steuern
JP2512327B2 (ja) * 1989-02-03 1996-07-03 三菱電機株式会社 多関節型ロボットの制御方法
JP3328414B2 (ja) * 1994-02-17 2002-09-24 三洋電機株式会社 ロボットハンドの姿勢制御装置
JP4611580B2 (ja) * 2001-06-27 2011-01-12 本田技研工業株式会社 トルク付与システム
JP3754340B2 (ja) * 2001-10-15 2006-03-08 株式会社デンソーウェーブ 位置検出装置
JP3927454B2 (ja) * 2002-06-27 2007-06-06 株式会社不二越 多関節ロボットの負荷重量及び負荷重心位置の自動算出方法
EP1649983B1 (de) * 2003-06-27 2010-09-22 Honda Motor Co., Ltd. Gangerzeugungsvorrichtung für beweglichen roboter mit beinen
JP2010076074A (ja) * 2008-09-29 2010-04-08 Panasonic Corp ロボットの制御方法
JP4957753B2 (ja) * 2009-06-15 2012-06-20 セイコーエプソン株式会社 ロボット、搬送装置、及び慣性センサーを用いた制御方法
JP5327722B2 (ja) 2010-05-07 2013-10-30 株式会社安川電機 ロボットの負荷推定装置及び負荷推定方法
KR101953113B1 (ko) * 2011-05-30 2019-03-05 삼성전자주식회사 로봇 및 그 제어방법
JP5383760B2 (ja) 2011-09-09 2014-01-08 ファナック株式会社 ワーク質量測定機能を備えたロボット
WO2013069291A1 (ja) * 2011-11-10 2013-05-16 パナソニック株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム
JP2013131543A (ja) * 2011-12-20 2013-07-04 Tokyo Electron Ltd 基板処理装置
JP6001282B2 (ja) 2012-03-19 2016-10-05 株式会社イシダ 振り分け装置
GB2518576B (en) * 2012-08-02 2015-09-02 Toshiba Machine Co Ltd Robotic apparatus and control method therefor
US9242376B2 (en) * 2013-03-28 2016-01-26 Denso Wave Incorporated Method of generating path of multiaxial robot and control apparatus for the multiaxial robot
JP5616478B1 (ja) 2013-04-18 2014-10-29 ファナック株式会社 ワークを搬送するロボットを備えるロボットシステム
JP5698789B2 (ja) * 2013-04-18 2015-04-08 ファナック株式会社 ワークを搬送するロボットの制御装置
JP5893665B2 (ja) * 2014-04-14 2016-03-23 ファナック株式会社 作用された力に応じて移動されるロボットを制御するロボット制御装置
KR101575487B1 (ko) * 2014-06-11 2015-12-08 현대자동차주식회사 로봇의 대상물 무게 및 무게중심 산출시스템 및 그 제어방법
JP6166305B2 (ja) * 2015-05-08 2017-07-19 ファナック株式会社 負荷パラメータ設定装置および負荷パラメータ設定方法
JP6881886B2 (ja) * 2015-07-14 2021-06-02 キヤノン株式会社 制御方法、ロボット装置、および駆動装置
CN106926218A (zh) * 2015-12-24 2017-07-07 株式会社捷太格特 辅助装置、摆动关节装置、直动可变刚性单元以及机床
WO2018109968A1 (ja) * 2016-12-16 2018-06-21 パナソニックIpマネジメント株式会社 ロボットの制御方法
JP6568128B2 (ja) * 2017-03-14 2019-08-28 ファナック株式会社 モータ選定装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5327722A (en) 1976-08-26 1978-03-15 Honda Motor Co Ltd Intake gas heating apparatus for engine

Also Published As

Publication number Publication date
CN109129525A (zh) 2019-01-04
US20180361580A1 (en) 2018-12-20
JP6844434B2 (ja) 2021-03-17
CN109129525B (zh) 2022-02-08
JP2019000941A (ja) 2019-01-10
DE102018114445B4 (de) 2021-01-14
US10906175B2 (en) 2021-02-02

Similar Documents

Publication Publication Date Title
DE102018114445A1 (de) Vorrichtung und Verfahren zur Einschätzung einer Position des Schwerpunkts eines Roboters
DE102015001527B4 (de) Robotersystem, das visuelle Rückmeldung verwendet
DE102015009872B4 (de) Steuervorrichtung für Roboter, der seine Arbeit durch Drücken eines Werkzeugs gegen ein Werkstück ausführt
DE102014113268B4 (de) Achswinkelbestimmungsverfahren für einen sechsachsigen Roboter und Steuervorrichtung für einen sechsachsigen Roboter
DE102017130460B4 (de) Verfahren und Vorrichtung zum Korrigieren von Roboterbewegungen
DE112016002797T5 (de) Kalibriervorrichtung und robotersystem, das eine solche verwendet
DE102018001026A1 (de) Robotersystem mit einer lernenden steuerungsfunktion und lernendes steuerungsverfahren
DE102016012065A1 (de) Robotersystem mit Funktion zum Berechnen von Position und Ausrichtung eines Sensors
DE102015004481B4 (de) Robotersteuervorrichtung zum Steuern eines gemäß einer ausgeübten Kraft bewegten Roboters
DE102011011681A1 (de) Roboter mit einer Lernsteuerfunktion
DE102016000754A1 (de) Verfahren und System zur Bahnplanung eines redundanten Roboters
WO2015158334A1 (de) VERFAHREN ZUR VERMESSUNG DER AUßENKONTUR VON DREIDIMENSIONALEN MESSOBJEKTEN UND ZUGEHÖRIGES MESSSYSTEM
DE102016008866A1 (de) Robotersteuervorrichtung mit Kompensation elastischer Deformation eines Stützkörpers
DE102020203636A1 (de) Ermittlung von Sicherheitsbereichen um eine automatisiert arbeitende Maschine
WO2019224288A1 (de) Richtungsabhängige kollisionsdetektion für einen robotermanipulator
DE102022130318A1 (de) Autonome robuste montageplanung
DE102018007842A1 (de) Steuergerät zum Überwachen der Bewegungsrichtung eines Betätigungswerkzeugs
DE102019134666B4 (de) Kalibrieren eines virtuellen Kraftsensors eines Robotermanipulators
DE102019134665B3 (de) Kalibrieren eines virtuellen Kraftsensors eines Robotermanipulators
DE102016120809B4 (de) Verfahren zum robotergestützten Einpassen eines männlichen Bauteils in ein weibliches Bauteil
DE102012022190B4 (de) Inverse Kinematik
AT518498B1 (de) Positionsüberwachung einer Kinematik
DE102021108775A1 (de) Multizentrische impedanzregelung
EP3569367B1 (de) Rechnergestütztes ermitteln einer bewegung einer vorrichtung
EP3444076B1 (de) Verfahren zur absolutpositionsbestimmung eines robotischen gerätes und robotisches gerät

Legal Events

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

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

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final