DE102016013891A1 - Vermessen einer Bewegungsachse eines Roboters - Google Patents

Vermessen einer Bewegungsachse eines Roboters Download PDF

Info

Publication number
DE102016013891A1
DE102016013891A1 DE102016013891.2A DE102016013891A DE102016013891A1 DE 102016013891 A1 DE102016013891 A1 DE 102016013891A1 DE 102016013891 A DE102016013891 A DE 102016013891A DE 102016013891 A1 DE102016013891 A1 DE 102016013891A1
Authority
DE
Germany
Prior art keywords
robot arm
axis
movement axis
point
movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102016013891.2A
Other languages
English (en)
Inventor
Manfred Hüttenhofer
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.)
KUKA Deutschland GmbH
Original Assignee
KUKA Roboter GmbH
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 KUKA Roboter GmbH filed Critical KUKA Roboter GmbH
Priority to DE102016013891.2A priority Critical patent/DE102016013891A1/de
Priority to PCT/EP2017/001340 priority patent/WO2018091141A1/de
Priority to CN201780071834.3A priority patent/CN109997086A/zh
Priority to EP17803784.2A priority patent/EP3542233A1/de
Publication of DE102016013891A1 publication Critical patent/DE102016013891A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • 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/401Numerical 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 measuring, e.g. calibration and initialisation, measuring workpiece for machining purposes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • 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/37Measurements
    • G05B2219/37067Calibrate work surface, reference markings on object, work surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39051Calibration cooperating manipulators, closed kinematic chain by alignment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39056On line relative position error and orientation error calibration

Abstract

Ein erfindungsgemäßes Verfahren zum Vermessen einer Bewegungsachse (q; q) eines Roboters (10), der einen Roboterarm (11) aufweist, umfasst die Schritte:Anfahren (S10) eines Punktes (P) mit dem Roboterarm durch Bewegen des Roboterarms in eine erste Pose, wobei die Bewegungsachse eine erste Stellung (q) aufweist;Verstellen (S30) der Bewegungsachse in wenigstens eine weitere Stellung (q, q; q) und Anfahren des Punktes (P) mit dem Roboterarm durch Bewegen des Roboterarms in eine weitere Pose, wobei die Bewegungsachse diese weitere Stellung aufweist; undErmitteln (S40) einer Orientierung (D) der Bewegungsachse auf Basis der Posen des Roboterarms.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und ein Mittel zum Vermessen einer Bewegungsachse eines Roboters, der einen Roboterarm aufweist, sowie ein Computerprogrammprodukt zur Durchführung des Verfahrens.
  • Insbesondere zur Bahnplanung, Steuerung und Überwachung von Robotern mit Roboterarmen und Zusatzachsen sind kinematische Modelle bekannt, die Stellungen der Zusatzachsen, gegebenenfalls zusammen mit Stellungen von Roboterarmachsen bzw. -posen, und Positionen von Punkten relativ zum Roboterarm miteinander verknüpfen.
  • So ist beispielsweise bei einem in 1 gezeigten Roboter 10, der einen Roboterarm 11 mit einer umgebungsfesten Basis 14 und eine Zusatzachse qr zum Rotieren eines Drehtisches 13 aufweist, ein kinematisches Modell zweckmäßig, das Stellungen der Zusatzachse qr und Positionen von Punkten P auf dem Drehtisch 13 relativ zum Roboterarm 11 miteinander verknüpft, beispielsweise, um mit einem roboterarmgeführten Werkzeug 12 einen bestimmten drehtischfesten Punkt anzufahren.
  • Bei einem in 3 gezeigten Roboter 10, dessen Roboterarm 11 durch eine Zusatzachse qt relativ zur Umgebung U verfahrbar ist, kann insbesondere ein kinematisches Modell zweckmäßig sein, das Stellungen der Zusatzachse qt und Posen des Roboterarms 11 mit Positionen des Werkzeugs 12 relativ zu(Punkten P de)r Umgebung verknüpft, beispielsweise in Form einer sogenannten Vorwärtskinematik bzw. -transformation Stellungen und Posen auf Positionen oder invers in Form einer sogenannten Rückwärtskinematik bzw. -transformation Positionen auf Stellungen und Posen abbildet.
  • Solche kinematischen Modelle weisen allgemein eine oder mehrere Transformationen zwischen Koordinatensystemen auf, die jeweils zwei Koordinatensysteme ineinander überführen, insbesondere umgebungsfeste Koordinatensysteme, durch die Zusatzachse bewegte Koordinatensysteme und/oder roboterarmfeste, insbesondere roboterarmbasis-, roboterarmspitzen- bzw. -endflanschfeste und/oder werkzeugfeste Koordinatensysteme. Im Beispiel der 1 kann das kinematische Modell beispielsweise eine Transformation zwischen einem drehtischfesten und einem umgebungs- oder roboterarmbasisfesten Koordinatensystem aufweisen, insbesondere nur diese Transformation oder zusätzlich eine damit verknüpfte Transformation zwischen diesem umgebungs- bzw. roboterarmbasisfesten Koordinatensystem und einem werkzeug- oder roboterarmspitzenfesten Koordinatensystem, im Beispiel der 2 beispielsweise eine Transformation zwischen einem umgebungs- und einem roboterarmbasisfesten Koordinatensystem, insbesondere nur diese Transformation oder zusätzlich eine damit verknüpfte Transformation zwischen diesem roboterarmbasisfesten Koordinatensystem und einem werkzeug- oder roboterarmspitzenfesten Koordinatensystem.
  • Oft werden solche Koordinatensysteme so gewählt, dass die Bewegungsachse mit einer Koordinatenachse fluchtet. Bei rotatorischen Bewegungsachsen verbleiben damit zwei frei wählbare Freiheitsgrade für das entsprechende Koordinatensystem (Drehung um und Verschiebung längs der Bewegungsachse), bei translatorischen Bewegungsachsen vier frei wählbare Freiheitsgrade (dreidimensionale Lage des Koordinaten(system)ursprungs zur Bewegungsachse, Drehung um die Bewegungsachse), die in der Regel - ebenso wie die Orientierung und gegebenenfalls Lage seiner mit der Bewegungsachse fluchtenden Koordinatenachse - auf Basis von theoretischen Soll-Werten, beispielsweise Konstruktionsmaßen oder dergleichen, für den Roboter, insbesondere die Bewegungsachse, vorgegeben bzw. gewählt werden. Ein bekanntes Beispiel stellen etwa Denavit-Hartenberg-Parameter dar.
  • Stimmt nun die Orientierung und gegebenenfalls Lage der Bewegungsachse, die eine Transformation eines kinematischen Modells abbildet, aufgrund von Fertigungs- und/oder Montagefehlern, Kollisionen, thermischen Veränderungen oder dergleichen nicht mit der Realität überein, verschlechtert sich die Qualität des kinematischen Modells und damit einer darauf basierenden Bahnplanung, Steuerung, Überwachung oder dergleichen.
  • Eine Aufgabe der vorliegenden Erfindung ist es daher, ein kinematisches Modell und insbesondere eine darauf basierende Bahnplanung, Steuerung und/oder Überwachung eines Roboters zu verbessern.
  • Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 11, 12 stellen ein Mittel bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
  • Nach einer Ausführung der vorliegenden Erfindung weist ein Roboter einen ein- oder mehrachsigen Roboterarm auf, der in einer Weiterbildung wenigstens vier, insbesondere wenigstens sechs, insbesondere wenigstens sieben, insbesondere aktuierte bzw. angetriebene, Achsen bzw. Gelenke, insbesondere Drehachsen bzw. - gelenke, aufweist.
  • Nach einer Ausführung der vorliegenden Erfindung weist der Roboter, insbesondere zusätzlich zu dem Roboterarm, wenigstens eine (weitere) Bewegungsachse, insbesondere wenigstens eine sogenannte Zusatzachse auf.
  • Nach einer Ausführung der vorliegenden Erfindung wird diese (Zusatz- bzw. weitere Bewegungs)achse vermessen, insbesondere durch ein Mittel nach einer Ausführung der vorliegenden Erfindung, das hierzu, insbesondere hard- und/oder software-, insbesondere programmtechnisch, eingerichtet ist bzw. verwendet wird.
  • Das Verfahren weist nach einer Ausführung der vorliegenden Erfindung die Schritte auf:
    • - Anfahren eines Punktes mit dem Roboterarm durch Bewegen des Roboterarms in eine erste Pose, wobei die Bewegungsachse eine erste Stellung aufweist;
    • - Verstellen der Bewegungsachse in wenigstens eine weitere Stellung und (jeweils) Anfahren des Punktes mit dem Roboterarm durch Bewegen des Roboterarms in eine weitere Pose, wobei die Bewegungsachse diese weitere Stellung aufweist; und
    • - Ermitteln einer, insbesondere zweidimensionalen, Orientierung der Bewegungsachse auf Basis der Posen des Roboterarms.
  • Das Mittel zum Vermessen einer bzw. der Bewegungsachse weist entsprechend nach einer Ausführung der vorliegenden Erfindung auf:
    • - Mittel zum Anfahren des Punktes mit dem Roboterarm durch Bewegen des Roboterarms in eine bzw. die erste Pose, wobei die Bewegungsachse eine bzw. die erste Stellung aufweist;
    • - Mittel zum Verstellen der Bewegungsachse in (die) wenigstens eine weitere Stellung und (jeweils) Anfahren des Punktes mit dem Roboterarm durch Bewegen des Roboterarms in (die) eine weitere Pose, wobei die Bewegungsachse diese weitere Stellung aufweist; und
    • - Ermitteln einer bzw. der Orientierung der Bewegungsachse auf Basis der Posen des Roboterarms.
  • Hierdurch wird in einer Ausführung vorteilhaft der Roboterarm selber zur Vermessung der Bewegungsachse, insbesondere Ermitteln einer (zweidimensionalen) Orientierung, verwendet, wodurch in einer Weiterbildung ein externes Messsystem entfallen kann.
  • In einer Ausführung ist die Bewegungsachse eine (Zusatz)Achse, durch die ein Maschinenteil, insbesondere ein Werkzeug oder Werkstück, insbesondere ein sogenannter Positionier, an dem das Werkzeug bzw. Werkstück zum Zusammenwirken mit dem Roboterarm, insbesondere einem von diesem geführten Werkstück oder Werkzeug, insbesondere lösbar, befestigbar ist bzw. befestigt wird bzw. der hierzu eingerichtet ist bzw. verwendet wird, relativ zu dem Roboterarm, insbesondere einer Basis des Roboterarms, bewegbar ist bzw. bewegt wird bzw. die hierzu eingerichtet ist bzw. verwendet wird.
  • In einer Ausführung ist die Bewegungsachse eine (Zusatz)Achse, durch die der Roboterarm, insbesondere eine Basis des Roboterarms, relativ zu einer, insbesondere intertialen bzw. ortsfesten, Umgebung, insbesondere einer Arbeitszelle, einem Boden, einer Wand, Decke oder dergleichen, bewegbar ist bzw. bewegt wird bzw. die hierzu eingerichtet ist bzw. verwendet wird.
  • Insbesondere zur Vermessung solcher Bewegungs- bzw. (Zusatz)Achsen ist ein erfindungsgemäßes Verfahren bzw. Mittel besonders geeignet.
  • In einer Ausführung ist der mit dem Roboterarm mehrfach angefahrene Punkt relativ zu dem Roboterarm, insbesondere einer Basis des Roboterarms, durch die bzw. durch Verstellen der Bewegungsachse bewegbar.
  • In einer Weiterbildung kann der Punkt umgebungsfest sein, insbesondere, wenn der Roboterarm durch die Bewegungsachse relativ zur Umgebung bewegbar ist bzw. bewegt wird, da durch eine Bewegung des Roboterarms relativ zur Umgebung umgekehrt auch ein umgebungsfester Punkt relativ zu dem Roboterarm bewegt wird.
  • Gleichermaßen kann der Punkt in einer Weiterbildung roboterfest sein, insbesondere, wenn durch die Bewegungsachse ein Maschinenteil relativ zu dem Roboterarm bewegbar ist bzw. bewegt wird, insbesondere also ein positionierfester Punkt.
  • In einer Ausführung ist der Punkt durch eine geometrische Gestaltung, insbesondere Vertiefung oder Erhöhung, insbesondere eine Kante, Ecke, einen Absatz oder dergleichen vorgegeben. Dies kann das Anfahren mit dem Roboterarm erleichtern.
  • In einer Ausführung wird die Orientierung der Bewegungsachse derart bzw. dadurch ermittelt, dass eine Abweichung zwischen Änderungen einer Position des Punktes relativ zu dem Roboterarm in den eingenommenen Posen des Roboterarms und theoretischen Änderungen dieser Position infolge einer Verstellung der Bewegungsachse in die entsprechenden Stellungen der Bewegungsachse minimiert wird.
  • In einer Ausführung ist die Bewegungsachse eine rotatorische bzw. Drehachse.
  • Dann ändert sich die Position des Punktes infolge einer Verstellung der Bewegungsachse, d.h. einer Drehung um die Bewegungsachse, theoretisch längs eines Kreises. Entsprechend kann die Orientierung der Bewegungsachse so ermittelt werden, dass tatsächliche Positionen des Punktes, die auf Basis der beim Anfahren mit der Roboterarm ermittelten Posen ermittelt werden, möglichst nahe an einem Kreis um die entsprechend orientierte Bewegungsachse liegen.
  • In einer Ausführung ist die Bewegungsachse eine translatorische bzw. Linearachse.
  • Dann ändert sich die Position des Punktes infolge einer Verstellung der Bewegungsachse, d.h. einer Verschiebung längs bzw. in der Bewegungsachse, theoretisch längs einer Geraden. Entsprechend kann die Orientierung der Bewegungsachse so ermittelt werden, dass Änderungen der tatsächlichen Positionen des Punktes, die auf Basis der beim Anfahren mit der Roboterarm ermittelten Posen ermittelt werden, möglichst parallel zu der entsprechend orientierten Bewegungsachse liegen.
  • Allgemein werden daher in einer Ausführung auf Basis der ermittelten Posen Positionen des Punktes relativ zum Roboterarm ermittelt und die Orientierung der Bewegungsachse auf Basis dieser Positionen (und somit auf Basis der ermittelten Posen) ermittelt.
  • In einer Ausführung, insbesondere, falls die Bewegungsachse eine rotatorische Achse ist, weist das Verfahren den Schritt auf: Ermitteln einer Lage der Bewegungsachse, insbesondere einer zweidimensionalen Lage, insbesondere senkrecht zu der Bewegungsachse, auf Basis der Posen des Roboterarms, insbesondere also auf Basis der Positionen des Punktes relativ zum Roboterarm, die ihrerseits auf Basis der ermittelten Posen des Roboterarms ermittelt werden.
  • Bei einer rotatorischen Achse bestimmt nicht nur die Orientierung diese Achse, sondern auch ihre zweidimensionale Lage in zwei zu ihr senkrechten Richtungen die Bewegung des Punktes. Entsprechend wird in einer Ausführung (auch) die Lage der Bewegungsachse derart ermittelt, dass eine Abweichung zwischen Änderungen einer Position des Punktes relativ zu dem Roboterarm in dessen eingenommenen Posen und theoretischen Änderungen dieser Position infolge einer Verstellung der Bewegungsachse in deren entsprechende Stellungen minimiert wird.
  • Eine Lage im Sinne der vorliegenden Erfindung kann insbesondere jeweils eine ein-, zwei- oder dreidimensionale Lage, insbesondere eine kartesische Lage sein, d.h. von einem Abstand, insbesondere zu einer Referenz, insbesondere einem Koordinatensystem(ursprung), in einer, zwei bzw. drei Richtungen abhängen, insbesondere ein(en) solchen Abstand angeben, insbesondere sein. In einer Ausführung kann eine Lage im Sinne der vorliegenden Erfindung eine, insbesondere zwei- oder dreidimensionale und/oder kartesische, Position angeben bzw. umfassen, insbesondere sein und/oder eine Position im Sinne der vorliegenden Erfindung in einer Ausführung eine, insbesondere zwei- oder dreidimensionale und/oder kartesische, Lage angeben bzw. umfassen, insbesondere sein.
  • In einer Ausführung weist das Verfahren den Schritt auf: Kalibrieren eines, insbesondere auf Basis von Soll-Werten, vorgegebenen kinematischen Modells, das Stellungen der Bewegungsachse und Positionen des Punktes relativ zu dem Roboterarm miteinander verknüpft, auf Basis der ermittelten Orientierung und/oder Lage der Bewegungsachse, in einer Weiterbildung derart, dass bei den Stellungen der Bewegungsachse, in denen der Punkt angefahren wurde, dessen hierfür auf Basis der Posen des Roboterarms ermittelten Positionen möglichst gut mit Positionen übereinstimmen, die das kalibrierte kinematische Modell mit diesen Stellungen verknüpft.
  • Wie bereits einleitend erläutert, kann das vorgegebene kinematische Modell eine von der Stellung der Bewegungsachse abhängige Transformation zwischen einem ersten und zweiten Koordinatensystem aufweisen, die in einer Weiterbildung in an sich bekannter Weise mit einer oder mehreren weiteren Transformationen zwischen weiteren Koordinatensystemen verknüpft sein kann, insbesondere in an sich bekannter Weise additiv und/oder multiplikativ, beispielsweise durch Hintereinanderschalten von Verschiebungen und/oder Verdrehungen.
  • In einer Ausführung wird diese Transformation des vorgegebenen kinematischen Modells zwischen dem ersten und zweiten Koordinatensystem zum Kalibrieren des kinematischen Modells durch eine ebenfalls von der Stellung der Bewegungsachse abhängige kalibrierte Transformation zwischen dem ersten und einem kalibrierten Koordinatensystem ersetzt, bzw. das kinematische Modell dadurch kalibriert, wobei das kalibrierte Koordinatensystem aus dem zweiten Koordinatensystem hervorgeht durch:
    • - Positionieren eines bezüglich der Stellung der Bewegungsachse invarianten Punktes, insbesondere eines Koordinatenursprungs, des zweiten Koordinatensystems auf der Bewegungsachse, insbesondere durch eine kleinstmögliche Verschiebung; und/oder, insbesondere anschließendes,
    • - Ausrichten einer bezüglich der Stellung der Bewegungsachse invarianten Achse, insbesondere einer Koordinatenachse, des zweiten Koordinatensystems parallel zu der Orientierung der Bewegungsachse, insbesondere durch eine kleinstmögliche Rotation.
  • Hierdurch wird in einer Ausführung das ursprüngliche zweite Koordinatensystem, das insbesondere in an sich bekannte, eingangs beschriebener Weise auf Basis von theoretischen Soll-Werten für den Roboter vorgegeben sein kann, so weit wie möglich beibehalten und nur insofern modifiziert, insbesondere so wenig wie möglich um eine Drehachse verdreht und gegebenenfalls so wenig wie möglich senkrecht zur Bewegungsachse verschoben, bis die (kalibrierte) Transformation bzw. das (kalibrierte) kinematischen Modell die ermittelte Orientierung und gegebenenfalls Lage der Bewegungsachse optimal abbilden, während die übrigen Freiheitsgrade, die bei der Auswahl bzw. Vorgabe des zweiten Koordinatensystems genutzt wurden, möglichst unverändert bleiben.
  • In einer Ausführung wird die Bewegungsachse in wenigstens zwei, insbesondere wenigstens drei, weitere Stellungen verstellt und jeweils der Punkt mit dem Roboterarm durch Bewegen des Roboterarms in eine weitere Pose angefahren, wobei die Bewegungsachse diese weitere Stellung aufweist, und die Orientierung und/oder Lage der Bewegungsachse auf Basis der Posen des Roboterarms, insbesondere auf Basis der auf Basis der Posen ermittelten Positionen des Punktes relativ zum Roboterarm, mittels eines Mittelungsverfahrens, insbesondere eines leastsquares-Verfahrens oder dergleichen, ermittelt.
  • Theoretisch kann eine (zweidimensionale) Orientierung einer translatorischen Achse bereits auf Basis von zwei Positionen ermittelt werden, indem sie parallel zu einer Verbindung dieser Positionen bzw. einer entsprechenden Änderung der Position des durch Verstellen der translatorischen Bewegungsachse bewegten Punktes ausgerichtet wird. Durch die Berücksichtigung von mehr als zwei Stellungen bzw. Positionen mittels eines Mittelungsverfahrens können Messfehler und dergleichen minimiert und entsprechend die Präzision der Vermessung erhöht werden.
  • Analog kann theoretisch eine (zweidimensionale) Lage und eine (zweidimensionale) Orientierung einer rotatorischen Achse bereits auf Basis von drei Positionen ermittelt werden, indem sie senkrecht zu einer Ebene durch diese Positionen so angeordnet wird, dass die Positionen möglichst nah an einem Kreis um die Achse liegen. Durch die Berücksichtigung von mehr als drei Stellungen bzw. Positionen mittels eines Mittelungsverfahrens können auch hier Messfehler und dergleichen minimiert und entsprechend die Präzision der Vermessung erhöht werden.
  • In einer Ausführung wird der Punkt mit einem Arbeitswerkzeug angefahren, das, insbesondere lösbar, an dem Roboterarm, insbesondere dessen Spitze bzw. Endflansch, angeordnet ist. Hierdurch kann vorteilhaft ohne Werkzeugwechsel vermessen, insbesondere das kinematische Modell direkt im Arbeitsprozess kalibriert werden.
  • In einer Ausführung wird der Punkt mit einem speziell hierzu, insbesondere lösbar, an dem Roboterarm, insbesondere dessen Spitze bzw. Endflansch, angeordneten Messwerkzeug angefahren, das nicht zum Bearbeiten und/oder Transportieren von Werkstücken eingerichtet ist bzw. verwendet wird. Hierdurch kann insbesondere das Anfahren verbessert werden.
  • Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU) und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die CPU kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die CPU die Schritte solcher Verfahren ausführen kann und damit insbesondere die Bewegungsachse vermessen, insbesondere diese verstellen, den Roboterarm bewegen und dessen Posen ermitteln kann.
  • In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das Mittel zum Vermessen der Bewegungsachse bzw. seine Mittel.
  • In einer Ausführung weist das das Mittel zum Vermessen der Bewegungsachse auf:
    • - Mittel zum Ermitteln der Orientierung der Bewegungsachse derart, dass eine Abweichung zwischen Änderungen einer Position des Punktes relativ zu dem Roboterarm in dessen eingenommenen Posen und theoretischen Änderungen dieser Position infolge einer Verstellung der Bewegungsachse in deren entsprechende Stellungen minimiert wird;
    • - Mittel zum Ermitteln einer Lage der Bewegungsachse auf Basis der Posen des Roboterarms;
    • - Mittel zum Ermitteln der der Bewegungsachse derart ermittelt, dass eine Abweichung zwischen Änderungen einer Position des Punktes relativ zu dem Roboterarm in dessen eingenommenen Posen und theoretischen Änderungen dieser Position infolge einer Verstellung der Bewegungsachse in deren entsprechende Stellungen minimiert wird;
    • - Mittel zum Kalibrieren eines, insbesondere auf Basis von Soll-Werten, vorgegebenen kinematischen Modells, das Stellungen der Bewegungsachse und Positionen des Punktes relativ zu dem Roboterarm miteinander verknüpft, auf Basis der ermittelten Orientierung und/oder Lage der Bewegungsachse;
    • - Mittel zum Kalibrieren des vorgegebene kinematische Modell, das eine von der Stellung der Bewegungsachse abhängige Transformation zwischen einem ersten und zweiten Koordinatensystem aufweist, durch Ersetzen dieser Transformation mit bzw. durch eine(r) von der Stellung der Bewegungsachse abhängige(n) kalibrierte(n) Transformation zwischen dem ersten und einem kalibrierten Koordinatensystem, das aus dem zweiten Koordinatensystem hervorgeht durch:
      • Positionieren eines bezüglich der Stellung der Bewegungsachse invarianten Punktes, insbesondere eines Koordinatenursprungs, des zweiten Koordinatensystems auf der Bewegungsachse, insbesondere durch eine kleinstmögliche Verschiebung; und/oder, insbesondere anschließendes, Ausrichten einer bezüglich der Stellung der Bewegungsachse invarianten Achse, insbesondere einer Koordinatenachse, des zweiten Koordinatensystems parallel
      zu der Orientierung der Bewegungsachse, insbesondere durch eine kleinstmögliche Rotation;
    • - Mittel zum Verstellen der Bewegungsachse in wenigstens zwei, insbesondere wenigstens drei, weitere Stellungen und jeweils Anfahren des Punktes mit dem Roboterarm durch Bewegen des Roboterarms in eine weitere Pose, wobei die Bewegungsachse diese weitere Stellung aufweist; und/oder
    • - Mittel zum Ermitteln der Orientierung und/oder Lage der Bewegungsachse auf Basis der Posen des Roboterarms mittels eines Mittelungsverfahrens.
  • Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert,:
    • 1: einen Roboter und ein Mittel zum Vermessen einer Bewegungsachse des Roboters nach einer Ausführung der vorliegenden Erfindung;
    • 2: ein Kalibrieren eines kinematischen Modells nach dieser Ausführung;
    • 3: einen Roboter und ein Mittel zum Vermessen einer Bewegungsachse des Roboters nach einer weiteren Ausführung der vorliegenden Erfindung;
    • 4: ein Kalibrieren eines kinematischen Modells nach dieser Ausführung; und
    • 5: ein Verfahren zum Vermessen der Bewegungsachse des Roboters nach beiden Ausführungen.
  • 1 zeigt einen Roboter 10 mit einem sechsachsigen Roboterarm 11, dessen Basis 14 bezüglich einer Umgebung U ortsfest ist. An dem Roboterarm 11 ist ein Werkzeug oder Taster 12 befestigt.
  • Ein Drehtisch 13 ist um eine Zusatzachse des Roboters 10 in Form einer rotatorischen Bewegungsachse qr relativ zur Umgebung U und damit dem Roboterarm 11, insbesondere dessen Basis 14, drehbar, beispielsweise, um ein Werkstück durch den Roboter 10 bzw. Roboterarm 11 bzw. das von diesem geführte Werkzeug 12 zu bearbeiten.
  • Eine Steuerung 2 des Roboters 10 führt ein nachfolgend mit Bezug auf 1, 2 und 5 erläutertes Verfahren zum Vermessen dieser Bewegungsachse qr durch.
  • In einem Schritt S10 wird ein ausgezeichneter, beispielsweise durch eine Vertiefung oder dergleichen vorgegebene, Punkt P auf dem Drehtisch 13 mit dem Werkzeug bzw. Taster 12 angefahren, indem der Roboterarm 11 in eine entsprechende Pose bewegt wird, und die dabei eingenommene Pose abgespeichert. In einem Schritt S20 wird überprüft, ob bereits eine vorgegebene Anzahl von Posen eingenommen wurde, im Ausführungsbeispiel beispielsweise wenigstens drei Posen.
  • Solange dies nicht der Fall ist (S20: „N“), wird in einem Schritt S30 die Bewegungsachse qr in eine weitere Stellung verstellt und anschließend Schritt S10 wiederholt, in dem der Punkt P auf dem Drehtisch 13 erneut mit dem Werkzeug bzw. Taster 12 angefahren und die dabei eingenommene weitere Pose abgespeichert wird.
  • Wurde die vorgegebene Anzahl von Posen eingenommen und abgespeichert, fährt das Verfahren bzw. die Steuerung 2 mit Schritt S40 fort.
  • In diesem werden aus den abgespeicherten Posen die entsprechenden Positionen des drehtischfesten Punktes P relativ zu dem Roboterarm 11 ermittelt. In einer Abwandlung können in Schritt S10 anstelle der Posen auch direkt die Positionen ermittelt und abgespeichert werden.
  • 1 zeigt hierzu exemplarisch in ausgezogenen Linien eine erste Pose des Roboterarms 11, in der er den Punkt P bei einer ersten Stellung q1 der Bewegungsachse qr anfährt, und in gestrichelten Linien eine weitere, zweite Pose des Roboterarms 11, in der er den Punkt P bei einer weiteren, zweiten Stellung q2 der Bewegungsachse qr anfährt, 2 die ermittelten Positionen P(q1), P(q2) des Punktes P sowie eine weitere, dritte Position P(q3) des Punktes P bei einer weiteren, dritten Stellung q3 der Bewegungsachse qr und einer entsprechenden weiteren, in 1 nicht gezeigten, dritten Pose des Roboterarms 11 relativ zu dem Roboterarm 11, wie in 2 durch ein roboterarmbasisfestes Koordinatensystem {Xrob, Yrob, Zrob} angedeutet.
  • Aus den Positionen P(q1) - P(q3) wird in Schritt S40 ein drehtischfestes Koordinatensystem {xax, yax, zax} erstellt, dessen z-Achse zax auf einer Ebene durch P(q1), P(q2) und P(q3) senkrecht steht und in dieser mittels eines least-squares-Verfahrens so angeordnet ist, dass die Summe der Quadrate der Abstände der Positionen P(q1), P(q2) und P(q3) zu einem in 2 gestrichelt angedeuteten Kreis um zax minimal ist. Die x-Achse xax des Koordinatensystems {xax, yax, zax} fluchtet mit einem Lot von der Position P(q1) auf diese z-Achse zax, seine y-Achse yax bildet mit der x- und der z-Achse ein Rechtssystem bzw. das kartesische Koordinatensystem {xax, yax, zax}.
  • Die z-Achse zax fluchtet somit mit der Bewegungsachse qr, deren zweidimensionale Lage (in der Zeichenebene der 2) und zweidimensionale Orientierung relativ zum roboterarmbasisfesten Koordinatensystem {xrob, yrob, zrob} damit in Schritt S40 ermittelt wurde.
  • Ein kinematisches Modell, das Stellungen q1, q2, q3 der Bewegungsachse qr auf Positionen P(q1), P(q2) bzw. P(q3) des Punktes P relativ zu dem Roboterarm 11, insbesondere dessen Koordinatensystem {xrob, yrob, zrob}, oder invers Positionen auf Stellungen abbildet, wurde zunächst auf Basis theoretischer Soll-Maßangaben insbesondere des Drehtisches 13, vorgegeben.
  • Hierzu weist das kinematische Modell eine Transformation zwischen dem roboterarmbasisfesten (ersten) Koordinatensystem {xrob, yrob, zrob} und einem drehtischfesten (zweiten) Koordinatensystem {xmod, ymod, zmod} auf, die von der Stellung der Bewegungsachse qr abhängt.
  • Dieses drehtischfeste Koordinatensystem {xmod, ymod, zmod} des kinematischen Modells ist in üblicher Weise so gewählt, dass seine z-Achse zmod mit der theoretischen Drehachse des Drehtisches 13 fluchtet.
  • Auch die Lage seines Ursprungs sowie die Orientierung seiner x- und y-Achse relativ zum roboterarmbasisfesten Koordinatensystem {xrob, yrob, zrob} sind auf Basis der theoretischen Soll-Maßangaben gewählt.
  • Aufgrund von Abweichungen zu diesen theoretischen Soll-Maßangaben weicht jedoch die Lage und Orientierung der theoretischen Drehachse zmod von der tatsächlichen Bewegungsachse qr ab, wie in 2 zur Verdeutlichung übertrieben groß angedeutet.
  • Daher wird in Schritt S50 zunächst eine kleinstmögliche Verschiebung d (vgl. 2) ermittelt, die den Ursprung des Koordinatensystems {xmod, ymod, zmod} des kinematischen Modells bzw. seiner Transformation auf die ermittelte Bewegungsachse qr bzw. die z-Achse zax des Koordinatensystems {xax, yax, zax} verschiebt. Diese kleinstmögliche Verschiebung d ergibt sich aus dem Lot von dem Ursprung des Koordinatensystems {xmod, ymod, zmod} auf die z-Achse zax.
  • Anschließend wird in Schritt S50 eine kleinstmögliche Verdrehung D ermittelt (vgl. hierzu 4), die die z-Achse zmod des Koordinatensystems {xmod, ymod, zmod} parallel zur Bewegungsachse qr bzw. z-Achse zax des Koordinatensystems {xax, yax, zax} ausrichtet. Die Drehachse dieser Verdrehung D ergibt sich aus dem Kreuz- bzw. Vektorprodukt der z-Achse zmod und der Bewegungsachse qr bzw. z-Achse zax (im Ausführungsbeispiel ist sie antiparallel zur x-Achse xmod), der Drehwinkel ist gleich dem Winkel zwischen diesen beiden Achsen.
  • Durch diese kleinstmögliche Verschiebung d und anschließende kleinstmögliche Verdrehung D geht aus dem (zweiten) Koordinatensystem {xmod, ymod, zmod} des auf Basis der theoretischen Soll-Maßangaben vorgegebenen kinematischen Modells ein kalibriertes Koordinatensystem {xcal, ycal, zcal} hervor.
  • Indem die Transformation zwischen dem roboterarmbasisfesten (ersten) Koordinatensystem {xrob, yrob, zrob} und dem drehtischfesten (zweiten) Koordinatensystem {xmod, ymod, zmod} des ursprünglich vorgegebenen kinematischen Modells durch eine kalibrierte Transformation zwischen dem roboterarmbasisfesten (ersten) Koordinatensystem {xrob, yrob, zrob} und dem kalibrierten Koordinatensystem {xcal, ycal, zcal} ersetzt wird, wird in Schritt S50 das kinematisch Modell bezüglich der ermittelten tatsächlichen Bewegungsachse qr kalibriert.
  • Man erkennt, dass dabei nur die (zweidimensionale) Lage des Ursprungs des Koordinatensystems {xmod, ymod, zmod} relativ zur z-Achse zax und die (zweidimensionale) Orientierung seiner z-Achse zmod, die ursprünglich auf Basis der theoretischen Soll-Maßangaben gewählt wurden, an die ermittelte tatsächliche Bewegungsachse qr angepasst wurde, während in den beiden restlichen der sechs Freiheitsgraden, d.h. der (eindimensionalen) Lage des Ursprungs auf der Bewegungsachse qr und der (eindimensionalen) Orientierung von x- und y-Achse um die Bewegungsachse qr, diese ursprüngliche Wahl auf Basis der theoretischen Soll-Maßangaben beibehalten wurde.
  • Hierdurch ergibt sich ein vorteilhaftes kalibriertes kinematisches Modell, das die tatsächliche Bewegungsachse qr gut abbildet und zugleich die ursprüngliche Wahl auf Basis der theoretischen Soll-Maßangaben so weit wie möglich beibehält.
  • 3 bis 5 zeigen in 1, 2 und 5 entsprechender Weise einen Roboter 10 und ein (Mittel 2 zum) Vermessen einer Bewegungsachse dieses Roboters nach einer weiteren Ausführung der vorliegenden Erfindung. Einander entsprechende Merkmale sind durch identische Bezugszeichen identifiziert, so dass auf die vorstehende Beschreibung Bezug genommen und nachfolgend nur auf Unterschiede eingegangen wird.
  • In der weiteren Ausführung der 3 bis 5 ist die Zusatzachse eine translatorische Achse qt zum Bewegen der Basis 14 des Roboterarms 11 relativ zur Umgebung U.
  • In Schritt S10 wird ein ausgezeichneter, beispielsweise durch eine Vertiefung oder dergleichen vorgegebene, umgebungsfester Punkt P mit dem Werkzeug bzw. Taster 12 angefahren, indem der Roboterarm 11 in eine entsprechende Pose bewegt wird, und die dabei eingenommene Pose abgespeichert.
  • In Schritt S20 beträgt die vorgegebene Anzahl von Posen beispielsweise fünf Posen. In Schritt S30 wird die Bewegungsachse qt jeweils in eine weitere Stellung verstellt.
  • In Schritt S40 werden aus den abgespeicherten Posen die entsprechenden Positionen des umgebungsfesten Punktes P relativ zu dem Roboterarm 11 bzw. dessen Basis 14' ermittelt. In einer Abwandlung können in Schritt S10 anstelle der Posen auch direkt diese Positionen ermittelt und abgespeichert werden.
  • 3 zeigt hierzu exemplarisch in ausgezogenen Linien eine erste Pose des Roboterarms 11, in der er den umgebungsfesten Punkt P bei einer ersten Stellung q1 der Bewegungsachse qt anfährt, und in gestrichelten Linien eine weitere, fünfte Pose des Roboterarms 11, in der er den Punkt P bei einer weiteren, fünften Stellung q5 der Bewegungsachse qt anfährt, 4 die ermittelten Positionen P(q1), P(q5) des Punktes P sowie in Form ausgefüllter Kreise drei dazwischenliegende weitere Positionen des Punktes P bei entsprechenden weiteren Stellungen der Bewegungsachse qt und entsprechenden weiteren, in 3 nicht gezeigten, weiteren Posen des Roboterarms 11 relativ zu dem Roboterarm 11, wie durch das roboterarmbasisfeste Koordinatensystem {xrob, yrob, zrob} angedeutet.
  • Aus den Positionen P(q1) - P(q5) wird in Schritt S40 ein umgebungsfestes Koordinatensystem {xax, yax, zax} erstellt, dessen z-Achse zax mittels eines leastsquares-Verfahrens so angeordnet ist, dass die Summe der Quadrate der Abstände der Positionen P(q1) - P(q5) zur z-Achse zax minimal ist und die x- und y-Achse damit ein Rechtssystem bzw. das kartesische Koordinatensystem {xax, yax, zax} bilden, wobei deren Orientierung um die z-Achse ebenso wie die Lage des Ursprungs in Richtung der z-Achse zax beliebig ist.
  • Die z-Achse zax fluchtet somit wiederum mit der Bewegungsachse qt , deren (zweidimensionale) Orientierung relativ zum roboterarmbasisfestes Koordinatensystem {xrob, yrob, zrob} damit in Schritt S40 ermittelt wurde.
  • Ein kinematisches Modell, das Stellungen q1 - q5 der Bewegungsachse qt sowie Stellungen der Achsen des Roboterarms 11, die dessen Pose bestimmen, mit Positionen P(q1) - P(q5) des umgebungsfesten Punktes P relativ zu dem Roboterarm 11, insbesondere dessen Werkzeug bzw. Taster 12, verknüpft, also beispielsweise diese Stellungen auf eine Position des Werkzeugs bzw. Tasters 12 relativ zur Umgebung und damit - jedenfalls indirekt auch - relativ zu dem umgebungsfesten Punkt P oder inverse eine solche Position des an dem Roboterarm angeordneten Werkzeugs bzw. Tasters 12 relativ zur Umgebung und damit - jedenfalls indirekt auch - Positionen des umgebungsfesten Punkt P relativ zu dem Roboterarm auf entsprechende Stellungen abbildet wurde zunächst auf Basis theoretischer Soll-Maßangaben insbesondere der Linearführung der Bewegungsachse qt , vorgegeben.
  • Hierzu weist das kinematische Modell eine Transformation zwischen dem roboterarmbasisfesten (ersten) Koordinatensystem {xrob, yrob, zrob} und einem werkzeug- bzw. tasterfesten Koordinatensystem sowie eine hiermit verknüpfte Transformation zwischen dem roboterarmbasisfesten (ersten) Koordinatensystem {xrob, yrob, zrob} und einem umgebungsfesten (zweiten) Koordinatensystem {xmod, ymod, zmod} auf, welche von der Stellung der Bewegungsachse qt abhängt.
  • Dieses umgebungsfeste (zweite) Koordinatensystem {xmod, ymod, zmod} des kinematischen Modells ist in üblicher Weise so gewählt, dass seine z-Achse zmod mit der theoretischen Linear- bzw. Zusatzachse zum Verfahren der Basis 14 des Roboterarms 11 fluchtet.
  • Auch die dreidimensionale Lage seines Ursprungs sowie die eindimensionale Orientierung seiner x- und y-Achse relativ zum roboterarmbasisfesten Koordinatensystem {xrob, yrob, zrob}, d.h. die vier Freiheitsgrade, die bei mit der Linearachse fluchtendem Koordinatensystem noch frei wählbar sind, sind auf Basis der theoretischen Soll-Maßangaben gewählt.
  • Aufgrund von Abweichungen zu den theoretischen Soll-Maßangaben weicht jedoch die Lage und Orientierung der theoretischen Drehachse zmod von der tatsächlichen Bewegungsachse qt ab. Wie bereits in 2 ist auch in 4 diese Abweichung zur Verdeutlichung übertrieben groß dargestellt.
  • In Schritt S50 wird (nur, d.h. ohne vorhergehende (kleinstmögliche) Verschiebung) die kleinstmögliche Verdrehung D ermittelt, die die z-Achse zmod des Koordinatensystems {xmod, ymod, zmod} parallel zur Bewegungsachse qt bzw. z-Achse zax des Koordinatensystems {xax, yax, zax} ausrichtet. Die Drehachse dieser Verdrehung D ergibt sich aus dem Kreuz- bzw. Vektorprodukt der z-Achse zmod und der Bewegungsachse qt bzw. z-Achse zax (im Ausführungsbeispiel ist sie antiparallel zur y-Achse ymod'), der Drehwinkel ist gleich dem Winkel zwischen diesen beiden Achsen.
  • Durch diese kleinstmögliche Verdrehung D geht aus dem (zweiten) Koordinatensystem {xmod, ymod, zmod} des auf Basis der theoretischen Soll-Maßangaben vorgegebenen kinematischen Modells wieder das kalibrierte Koordinatensystem {xcal, ycal, zcal} hervor.
  • Indem die Transformation zwischen dem roboterarmbasisfesten (ersten) Koordinatensystem {xrob, yrob, zrob} und dem umgebungsfesten (zweiten) Koordinatensystem {xmod, ymod, zmod} des ursprünglich vorgegebenen kinematischen Modells durch eine kalibrierte Transformation zwischen dem roboterarmbasisfesten (ersten) Koordinatensystem {xrob, yrob, zrob} und dem kalibrierten Koordinatensystem {xcal, ycal, zcal} ersetzt wird, wird in Schritt S50 das kinematisch Modell bezüglich der ermittelten tatsächlichen Bewegungsachse qt kalibriert.
  • Man erkennt, dass dabei nur die (zweidimensionale) Orientierung der z-Achse zmod des Koordinatensystems {xmod, ymod, zmod}, die ursprünglich auf Basis der theoretischen Soll-Maßangaben gewählt wurde, an die ermittelte tatsächliche Bewegungsachse qt angepasst wurde, während in den vier restlichen der sechs Freiheitsgraden, d.h. der dreidimensionalen Lage des Ursprungs und der Orientierung von x- und y-Achse des Koordinatensystems um die Bewegungsachse qt , diese ursprüngliche Wahl auf Basis der theoretischen Soll-Maßangaben beibehalten wurde.
  • Hierdurch ergibt sich wiederum ein vorteilhaftes kalibriertes kinematisches Modell, das die tatsächliche Bewegungsachse qt gut abbildet und zugleich die ursprüngliche Wahl auf Basis der theoretischen Soll-Maßangaben so weit wie möglich beibehält.
  • Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist.
  • So wurde im Ausführungsbeispiel der 3, 4 die Orientierung der Bewegungsachse qt mittels eines Mittelungsverfahrens ermittelt, wobei theoretisch bereits zwei Positionen ausreichen würden. Umgekehrt kann auch im Ausführungsbeispiel der 1, 2 die Lage und Orientierung der Bewegungsachse qr mittels eines Mittelungsverfahrens aus mehr als 3 Positionen ermittelt werden.
  • Zusätzlich oder alternativ kann auch im Ausführungsbeispiel der 1, 2 zusätzlich oder alternativ eine translatorische Achse und/oder im Ausführungsbeispiel der 3, 4 zusätzlich oder alternativ eine rotatorische Achse vorliegen.
  • Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.
  • Bezugszeichenliste
  • 2
    Steuerung
    10
    Roboter
    11
    Roboterarm
    12
    Werkzeug/Taster
    13
    Drehtisch
    14
    Roboterarmbasis
    qr
    rotatorische Bewegungsachse
    qt
    translatorische Bewegungsachse
    x, y, z
    Koordinatensystemachsen
    P
    Punkt(position)
    U
    Umgebung

Claims (12)

  1. Verfahren zum Vermessen einer Bewegungsachse (qr; qt) eines Roboters (10), der einen Roboterarm (11) aufweist, mit den Schritten: - Anfahren (S10) eines Punktes (P) mit dem Roboterarm durch Bewegen des Roboterarms in eine erste Pose, wobei die Bewegungsachse eine erste Stellung (q1) aufweist; - Verstellen (S30) der Bewegungsachse in wenigstens eine weitere Stellung (q2, q3; q5) und Anfahren des Punktes (P) mit dem Roboterarm durch Bewegen des Roboterarms in eine weitere Pose, wobei die Bewegungsachse diese weitere Stellung aufweist; und - Ermitteln (S40) einer Orientierung (D)[KF2]der Bewegungsachse auf Basis der Posen des Roboterarms.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Bewegungsachse eine Achse (qr) zum Bewegen eines Maschinenteils, insbesondere Werkzeugs oder Werkstücks, relativ zu dem Roboterarm oder eine Achse (qt) zum Bewegen des Roboterarms relativ zu einer Umgebung (U) ist.
  3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Orientierung der Bewegungsachse derart ermittelt wird, dass eine Abweichung zwischen Änderungen einer Position des Punktes relativ zu dem Roboterarm in dessen eingenommenen Posen und theoretischen Änderungen dieser Position infolge einer Verstellung der Bewegungsachse in deren entsprechende Stellungen minimiert wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch den Schritt: - Ermitteln (S40) einer Lage (d) der Bewegungsachse auf Basis der Posen des Roboterarms.
  5. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die Lage der Bewegungsachse derart ermittelt wird, dass eine Abweichung zwischen Änderungen einer Position des Punktes relativ zu dem Roboterarm in dessen eingenommenen Posen und theoretischen Änderungen dieser Position infolge einer Verstellung der Bewegungsachse in deren entsprechende Stellungen minimiert wird.
  6. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch den Schritt: - Kalibrieren (S50) eines, insbesondere auf Basis von Soll-Werten, vorgegebenen kinematischen Modells, das Stellungen der Bewegungsachse und Positionen des Punktes relativ zu dem Roboterarm miteinander verknüpft, auf Basis der ermittelten Orientierung und/oder Lage der Bewegungsachse.
  7. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass das vorgegebene kinematische Modell eine von der Stellung der Bewegungsachse abhängige Transformation zwischen einem ersten Koordinatensystem ({xrob, yrob, zrob}) und zweiten Koordinatensystem ({xmod, ymod, zmod}) aufweist, die zum Kalibrieren des kinematischen Modells durch eine von der Stellung der Bewegungsachse abhängige kalibrierte Transformation zwischen dem ersten und einem kalibrierten Koordinatensystem ({xcal, ycal, zcal}) ersetzt wird, das aus dem zweiten Koordinatensystem hervorgeht durch: - Positionieren eines bezüglich der Stellung der Bewegungsachse invarianten Punktes, insbesondere eines Koordinatenursprungs, des zweiten Koordinatensystems auf der Bewegungsachse, insbesondere durch eine kleinstmögliche Verschiebung (d); und/oder, insbesondere anschließendes, - Ausrichten einer bezüglich der Stellung der Bewegungsachse invarianten Achse, insbesondere einer Koordinatenachse (zmod), des zweiten Koordinatensystems parallel zu der Orientierung der Bewegungsachse, insbesondere durch eine kleinstmögliche Rotation (D).
  8. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch die Schritte: - Verstellen (S30) der Bewegungsachse in wenigstens zwei, insbesondere wenigstens drei, weitere Stellungen und jeweils Anfahren des Punktes mit dem Roboterarm durch Bewegen des Roboterarms in eine weitere Pose, wobei die Bewegungsachse diese weitere Stellung aufweist; und - Ermitteln (S40) der Orientierung und/oder Lage der Bewegungsachse auf Basis der Posen des Roboterarms mittels eines Mittelungsverfahrens.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Bewegungsachse eine translatorische Achse (qr) oder eine rotatorische Achse (qt) ist.
  10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Punkt (P) mit einem Arbeits- oder Messwerkzeug (12) angefahren wird, das an dem Roboterarm (11) angeordnet ist.
  11. Mittel (2) zum Vermessen einer Bewegungsachse (qr; qt) eines Roboters, der einen Roboterarm (11) aufweist, das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist: - Mittel zum Anfahren eines Punktes (P) mit dem Roboterarm (11) durch Bewegen des Roboterarms in eine erste Pose, wobei die Bewegungsachse eine erste Stellung (q1) aufweist; - Mittel zum Verstellen der Bewegungsachse in wenigstens eine weitere Stellung (q2, q3; q5) und Anfahren des Punktes mit dem Roboterarm durch Bewegen des Roboterarms in eine weitere Pose, wobei die Bewegungsachse diese weitere Stellung aufweist; und - Mittel zum Ermitteln einer Orientierung (D) der Bewegungsachse auf Basis der Posen des Roboterarms.
  12. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche.
DE102016013891.2A 2016-11-21 2016-11-21 Vermessen einer Bewegungsachse eines Roboters Pending DE102016013891A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102016013891.2A DE102016013891A1 (de) 2016-11-21 2016-11-21 Vermessen einer Bewegungsachse eines Roboters
PCT/EP2017/001340 WO2018091141A1 (de) 2016-11-21 2017-11-16 Vermessen einer bewegungsachse eines roboters
CN201780071834.3A CN109997086A (zh) 2016-11-21 2017-11-16 机器人的运动轴的测量
EP17803784.2A EP3542233A1 (de) 2016-11-21 2017-11-16 Vermessen einer bewegungsachse eines roboters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016013891.2A DE102016013891A1 (de) 2016-11-21 2016-11-21 Vermessen einer Bewegungsachse eines Roboters

Publications (1)

Publication Number Publication Date
DE102016013891A1 true DE102016013891A1 (de) 2018-05-24

Family

ID=60450575

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016013891.2A Pending DE102016013891A1 (de) 2016-11-21 2016-11-21 Vermessen einer Bewegungsachse eines Roboters

Country Status (4)

Country Link
EP (1) EP3542233A1 (de)
CN (1) CN109997086A (de)
DE (1) DE102016013891A1 (de)
WO (1) WO2018091141A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3115482A1 (fr) * 2020-10-26 2022-04-29 Le Creneau Industriel Procédé d’étalonnage d’une cellule notamment robotique et cellule associée

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7396829B2 (ja) * 2019-07-31 2023-12-12 ファナック株式会社 ロボット座標系を設定する装置、ロボット制御装置、ロボットシステム、及び方法
CN114211484B (zh) * 2021-12-01 2023-08-18 北京长木谷医疗科技有限公司 前端工具位姿同步方法、电子设备及存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19826395A1 (de) * 1998-06-12 1999-12-23 Amatec Gmbh Verfahren zum Erfassen und Kompensieren von kinematischen Veränderungen eines Roboters
DE19854011A1 (de) * 1998-11-12 2000-05-25 Knoll Alois Einrichtung und Verfahren zum Vermessen von Mechanismen und ihrer Stellung
DE19924511A1 (de) * 1999-05-28 2000-12-21 Bernd Scheibner Vermessungverfahren für eine Handhabungsvorrichtung
DE19931676A1 (de) * 1999-07-08 2001-01-18 Kuka Schweissanlagen Gmbh Verfahren zum Vermessen von Werkstücken und Bearbeitungsstation
DE10229293A1 (de) * 2002-06-29 2004-01-29 Tecmedic Gmbh Verfahren zur Bestimmung der relativen Orientierung einer Roboter-Verfahrachse gegenüber einem Roboter-Koordinatensystem
US20090228144A1 (en) * 2006-05-31 2009-09-10 Yoshiyuki Okazaki Method For Calculating Rotation Center Point And Axis Of Rotation, Method For Generating Program, Method For Moving Manipulator And Positioning Device, And Robotic System
DE102009041734A1 (de) * 2009-09-16 2011-03-17 Kuka Roboter Gmbh Vermessung eines Manipulators
DE102009054421A1 (de) * 2009-11-24 2011-06-01 Kuka Roboter Gmbh Verfahren zum Erstellen eines Robotermodells und Industrieroboter
DE102010010920A1 (de) * 2010-03-10 2011-09-15 Eisenmann Ag Verfahren zum Kalibrieren eines Roboters
JP2012139761A (ja) * 2010-12-28 2012-07-26 Kawasaki Heavy Ind Ltd ロボットの外部軸の計測方法、ロボットの教示データ作成方法、およびロボットのコントローラ
DE202013101050U1 (de) * 2013-03-11 2014-08-05 Deutsches Zentrum für Luft- und Raumfahrt e.V. Führungssystem für eine Roboteranordnung
DE102014226239A1 (de) * 2014-12-17 2016-06-23 Kuka Roboter Gmbh Verfahren zum sicheren Einkoppeln eines Eingabegerätes
DE102015103451A1 (de) * 2015-03-10 2016-09-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen, Computerprogrammprodukt und Vorrichtung zur Durchführung eines derartigen Verfahrens

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0271691B2 (de) * 1986-11-17 1998-11-11 Siemens Aktiengesellschaft Verfahren zum Steuern der dreidimensionalen Relativbewegung eines Roboters gegenüber einem an einem Werkstückträger befestigten Werkstück
AT510292B1 (de) * 2011-04-11 2012-03-15 Siemens Vai Metals Tech Gmbh Bestimmung der position eines kontaktstabes an einem sondenhalter einer hüttentechnischen sonde
DE102011084412A1 (de) * 2011-10-13 2013-04-18 Kuka Roboter Gmbh Robotersteuerungsverfahren
DE102012207336A1 (de) * 2012-05-03 2013-11-07 Carl Zeiss Industrielle Messtechnik Gmbh Verfahren zur Bestimmung der Achse eines Drehtisches bei einem Koordinatenmessgerät.
US9958854B2 (en) * 2013-06-10 2018-05-01 The Boeing Company Systems and methods for robotic measurement of parts
DE102013218823A1 (de) * 2013-09-19 2015-04-02 Kuka Laboratories Gmbh Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19826395A1 (de) * 1998-06-12 1999-12-23 Amatec Gmbh Verfahren zum Erfassen und Kompensieren von kinematischen Veränderungen eines Roboters
DE19854011A1 (de) * 1998-11-12 2000-05-25 Knoll Alois Einrichtung und Verfahren zum Vermessen von Mechanismen und ihrer Stellung
DE19924511A1 (de) * 1999-05-28 2000-12-21 Bernd Scheibner Vermessungverfahren für eine Handhabungsvorrichtung
DE19931676A1 (de) * 1999-07-08 2001-01-18 Kuka Schweissanlagen Gmbh Verfahren zum Vermessen von Werkstücken und Bearbeitungsstation
DE10229293A1 (de) * 2002-06-29 2004-01-29 Tecmedic Gmbh Verfahren zur Bestimmung der relativen Orientierung einer Roboter-Verfahrachse gegenüber einem Roboter-Koordinatensystem
US20090228144A1 (en) * 2006-05-31 2009-09-10 Yoshiyuki Okazaki Method For Calculating Rotation Center Point And Axis Of Rotation, Method For Generating Program, Method For Moving Manipulator And Positioning Device, And Robotic System
DE102009041734A1 (de) * 2009-09-16 2011-03-17 Kuka Roboter Gmbh Vermessung eines Manipulators
DE102009054421A1 (de) * 2009-11-24 2011-06-01 Kuka Roboter Gmbh Verfahren zum Erstellen eines Robotermodells und Industrieroboter
DE102010010920A1 (de) * 2010-03-10 2011-09-15 Eisenmann Ag Verfahren zum Kalibrieren eines Roboters
JP2012139761A (ja) * 2010-12-28 2012-07-26 Kawasaki Heavy Ind Ltd ロボットの外部軸の計測方法、ロボットの教示データ作成方法、およびロボットのコントローラ
DE202013101050U1 (de) * 2013-03-11 2014-08-05 Deutsches Zentrum für Luft- und Raumfahrt e.V. Führungssystem für eine Roboteranordnung
DE102014226239A1 (de) * 2014-12-17 2016-06-23 Kuka Roboter Gmbh Verfahren zum sicheren Einkoppeln eines Eingabegerätes
DE102015103451A1 (de) * 2015-03-10 2016-09-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen, Computerprogrammprodukt und Vorrichtung zur Durchführung eines derartigen Verfahrens

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3115482A1 (fr) * 2020-10-26 2022-04-29 Le Creneau Industriel Procédé d’étalonnage d’une cellule notamment robotique et cellule associée

Also Published As

Publication number Publication date
CN109997086A (zh) 2019-07-09
EP3542233A1 (de) 2019-09-25
WO2018091141A1 (de) 2018-05-24

Similar Documents

Publication Publication Date Title
EP1602456B1 (de) Verfahren und Vorrichtung zum Steuern von Handhabungsgeräten
DE60129009T2 (de) Bewegungskorrektur eines industrieroboters
DE102015107436B4 (de) Lernfähige Bahnsteuerung
EP3463766A1 (de) Verfahren zur orientierung eines industrieroboters und industrieroboter
EP1604789A2 (de) Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
DE102015219141A1 (de) Verfahren und Vorrichtung zur Vermessung einer numerisch gesteuerten Werkzeugmaschine
EP3221094B1 (de) Verfahren und system zur korrektur einer bearbeitungsbahn eines robotergeführten werkzeugs
DE102016107397B4 (de) Bahnanzeigevorrichtung zur darstellung der bahn einer werkzeugachse
DE102019001207A1 (de) Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks
DE102014018518A1 (de) Numerische Steuerung mit Korrekturfunktion für arbeitsbedingte Verschiebungen
DE102016013891A1 (de) Vermessen einer Bewegungsachse eines Roboters
DE102015104582A1 (de) Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens
EP3471928B1 (de) Konfigurieren und/oder steuern einer roboteranordnung
EP3441200A1 (de) Referenzierverfahren und vorrichtung für industrieroboter
DE102015205793A1 (de) Verfahren und Vorrichtung zum Steuern einer Werkzeugmaschine
DE102005051533B4 (de) Verfahren zur Verbesserung der Positioniergenauigkeit eines Manipulators bezüglich eines Serienwerkstücks
DE102012022190A1 (de) Inverse Kinematik
DE102015008188B3 (de) Abfahren einer vorgegebenen Bahn mit einem Roboter
WO2009094983A1 (de) Verfahren zum einmessen von bauteilen
DE102017010244A1 (de) Verfahren und Steuermittel zum Steuern einer Roboteranordnung
DE102015104587A1 (de) Verfahren zum Kalibrieren eines Roboters an einem Arbeitsbereich und System zum Durchführen des Verfahrens
DE102011084353B4 (de) Verfahren und Computerprogramm zum Einrichten eines Greifroboters, sowie Greifroboter
EP3810377A1 (de) Verfahren und system zum überführen eines endeffektors eines roboters zwischen einer endeffektorpose und einer weiteren endeffektorpose
DE102018005283B4 (de) Numerische Steuervorrichtung
DE102022126199B4 (de) Unterbetätigtes Fügesystem für sich bewegende Montagelinie

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication