DE102007056773A1 - Verfahren zum automatischen Bestimmen eines virtuellen Arbeitspunktes - Google Patents

Verfahren zum automatischen Bestimmen eines virtuellen Arbeitspunktes Download PDF

Info

Publication number
DE102007056773A1
DE102007056773A1 DE200710056773 DE102007056773A DE102007056773A1 DE 102007056773 A1 DE102007056773 A1 DE 102007056773A1 DE 200710056773 DE200710056773 DE 200710056773 DE 102007056773 A DE102007056773 A DE 102007056773A DE 102007056773 A1 DE102007056773 A1 DE 102007056773A1
Authority
DE
Germany
Prior art keywords
mess
measuring
sens
rob
coordinate system
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
DE200710056773
Other languages
English (en)
Other versions
DE102007056773B4 (de
Inventor
wird später genannt werden Erfinder
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 Laboratories 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 Laboratories GmbH filed Critical KUKA Laboratories GmbH
Priority to DE102007056773.3A priority Critical patent/DE102007056773B4/de
Publication of DE102007056773A1 publication Critical patent/DE102007056773A1/de
Application granted granted Critical
Publication of DE102007056773B4 publication Critical patent/DE102007056773B4/de
Expired - Fee Related 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
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39024Calibration of manipulator

Abstract

Die Erfindung betrifft ein Verfahren zum Bestimmen der Lage eines virtuellen Arbeitspunktes bezüglich eines bekannten Koordinatensystems eines Roboters, der einen Mess-Sensor zur geometrischen Vermessung von Objekten aufweist. Um die Lage des virtuellen TCPs allein durch Messvorgänge und Berechnungen bestimmen zu können, ohne dass der virtuelle TCP mit der Mess-Stelle in eine übereinstimmende Lage gebracht werden muss, wird vorgeschlagen mindestens einer Mess-Stelle einer Kalibriervorrichtung mit bekannter Lage im Koordinatensystem des Roboters mittels des Mess-Sensors im Sensorkoordinatensystem zu Vermessen, die Lage der Mess-Stelle im Koordinatensystem des Roboters mittels der bekannten Achsstellungen des Roboters zu bestimmen und Lage des virtuellen Arbeitspunktes bezüglich des bekannten Koordinatensystems des Roboters aus der bekannten Lage des virtuellen Arbeitspunktes im Sensorkoordinatensystem und der im Sensorkoordinatensystem vermessenen und im Koordinatensystem des Roboters bestimmten Lage der Mess-Stelle zu bestimmen. Die Erfindung umfasst auch eine diesbezügliche Steuerungseinrichtung und eine zugehörige Kalibriervorrichtung.

Description

  • Die Erfindung betrifft ein Verfahren zum Bestimmen eines virtuellen Arbeitspunktes bezüglich eines bekannten Koordinatensystems eines Roboters, der einen Mess-Sensor zur geometrischen Vermessung von Objekten aufweist, sowie eine diesbezügliche Steuerungseinrichtung und eine zugehörige Kalibriervorrichtung.
  • Ein virtueller Arbeitspunkt kann auch als virtuelle Tool-Center-Points (TCP) bezeichnet werden, dessen Raumkoordinaten und Orientierungen beispielsweise außerhalb von realen Körpern, wie einem Werkzeug liegen. Solche Punkte liegen frei im Raum und können wegen ihres fehlenden Bezugs zu realen Körpern nicht unmittelbar durch berührende Messung in ihrer Lage bestimmt werden. So liegt beispielsweise bei einer Schweißbearbeitung mittels Roboter mit einer Sensoreinrichtung zur Nahtverfolgung ein virtueller TCP im Messfenster der Sensoreinrichtung. Der virtuelle TCP kann dabei in einem Arbeitspunkt eines robotergeführten Scheißwerkzeuges liegen. Der Arbeitspunkt kann beispielsweise das Drahtende einer Schutzgasschweißdüse sein. Zur Nahtverfolgung werden vorzugsweise 2D-Sensoren, insbesondere Lichtschnitt-Sensoren eingesetzt.
  • Lichtschnitt-Sensoren werden zum Erfassen von Oberflächen mittels statischer Triangulation eingesetzt. Dabei erzeugt ein Halbleiterlaser mittels einer Linienoptik, wie einer Zylinderlinse, einen flächig aufgefächerten Laserstrahl in Form eines Lichtvorhangs, der auf ein Messobjekt auftrifft und unter dem sogenannten Triangulationswinkel auf eine Kamera mit Signalverarbeitung, wie ein CCD-Array, reflektiert wird. Ein Signalprozessor bestimmt aus den vom Messobjekt reflektierten Laserlinien die räumliche Lage des Messobjekts und eventuelle Kantenübergänge. Der Lichtschnitt-Sensor kann dadurch Abstandsmesswerte und Profilschnitte des Messobjekts zur Verfügung stellen.
  • Um die vom Lichtschnitt-Sensor zur Verfügung gestellten Werte zur Steuerung eines Roboters bzw. zur Korrektur dessen Roboterprogramms oder allgemein einer Maschine verwenden zu können, sind die vom Lichtschnitt-Sensor zunächst in dessen Sensorkoordinatensystem zur Verfügung gestellten Messwerte dem Roboter in dessen Roboterkoordinatensystem oder auch im mit diesem in bekannter Weise in Relation stehenden Weltkoordinatensystem zur Verfügung zu stellen. Dabei wird ein virtueller Sensor-Tool-Center Point – Sensor-TCP – definiert, dessen Position im Sensorkoordinatensystem definiert ist. Neben den bekannten Lichtschnitt-Sensorn, die im allgemeinen nur zweidimensional arbeiten, können zunehmend auch andere Sensoren, insbesondere auch optische 3D-Sensoren zur Anwendung kommen.
  • Bei allen Sensoren besteht dabei das Problem, dass nach einer Demontage und erneuter Wiedermontage des Sensors vom Roboterarm, beispielsweise nach Ausfall eines defekten Sensors und/oder allgemeiner, wenn die Montageposition nicht eindeutig definiert ist, die Lage des Sensor-TCPs bezüglich des Roboter- bzw. Weltkoordinatensystems verloren geht, da die genaue Position des Sensors bzw. des Sensorkoordinatensystems bezüglich des Roboters bzw. des Roboterkoordinatensystems nicht ohne weiteres wiedergefunden werden kann. Diese Positionsverschiebung zwischen Sensor und Roboter ist zunächst nicht bekannt und soll erfindungsgemäß mit einfachen Mitteln bestimmt werden.
  • Ein diesbezügliches Verfahren ist aus der DE 10 2005 048 136 A1 bekannt. Dort wird vorgeschlagen, die Lage des virtuellen Tool-Center-Points bezüglich des bekannten Koordinatensystems des Roboters aus der bekannten Lage des virtuellen Tool-Center-Points bezüglich eines Sensor-Koordinatensystems und einer Ermittlung der Roboterachsstellungen für eine Roboterposition zu bestimmen, in welcher der virtuelle Tool-Center-Point in einer Mess-Stelle eines Referenzbauteils liegt. Dazu ist es jedoch erforderlich den Tool-Center-Point genau an die Mess-Stelle des Referenzbauteils zu fahren. Dieses Anfahren der Mess-Stelle kann jedoch nicht automatisch erfolgen, da die Lage des Tool-Center-Points bezüglich des bekannten Koordinatensystems des Roboters gerade nicht bekannt ist. Deshalb ist dort ein Anzeigemittel zur visuellen Unterstützung des Benutzers erforderlich. Das dortige Verfahren bedarf insoweit eines steuernden Eingriffs des Benutzers. Dies hat den Nachteil, dass dieses Verfahren nicht vollautomatisiert durchgeführt werden kann, sondern eine Hilfestellung durch den Benutzer erfordert.
  • Die US 6,044,308 beschreibt ein Verfahren und eine Vorrichtung zum Kalibrieren eines Werkzeugkoordinatensystems eines Roboters. Der Ursprung des dortigen Koordinatensystems S kann als virtueller TCP betrachtet werden. Die Lage des Ursprungs des dortigen Koordinatensystems S kann bezüglich des bekannten Koordinatensystems G des Roboters bestimmt werden, indem die Roboterachsstellungen ermittelt werden und für die bekannte Lage des Ursprungs des Koordinatensystems S im Sensorkoordinatensystem eine Transformation in das Koordinatensystem G des Roboters durchgeführt wird. Dies setzt jedoch voraus, dass die Lage des Sensorkoordinatensystem bezüglich des Koordinatensystems G des Roboters bekannt ist. In der US 6,044,308 wird dazu eine Haltevorrichtung benötigt, wie in den dortigen 6a und 6b gezeigt, welche die eindeutige Zuordnung der Lage zwischen Roboterhandflansch (Roboterkoordinatensystem) und Sensor (Sensorkoordinatensystem) sicherstellt. Nachteilig ist es jedoch, eine derartig exakt vorgefertigte Haltevorrichtung bereitstellen zu müssen.
  • Erfindungsgemäß soll weiterhin eine einfache Befestigung, beispielsweise durch ein einfaches Anschrauben des Sensors an den Handflansch des Roboters genügen. Dabei ist jedoch stets davon auszugehen, dass nach einem Auswechseln des Sensors die Lage von Roboterhandflansch (Roboterkoordinatensystem) und Sensor (Sensorkoordinatensystem) verstellt ist. Aufgabe der Erfindung ist es, eine solche Verstellung von Roboterhandflansch (Roboterkoordinatensystem) und Sensor (Sensorkoordinatensystem) ermitteln zu können. Dieses Problem stellt sich in der US 6,044,308 gar nicht, da die dort vorgeschlagene Haltevorrichtung die genaue Zuordnung von Roboterhandflansch (Roboterkoordinatensystem) und Sensor (Sensorkoordinatensystem) gewährleistet. In der DE 10 2005 048 136 A1 ist zur Feststellung des Lageunterschieds ein manuelles Eingreifen erforderlich, da der Sensor-TCP in die Mess-Stelle bewegt werden muss.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, mit dem die Lage eines virtuellen Sensor-TCPs bezüglich des Roboter- oder Weltkoordinatensystems in einfacher Weise bestimmt werden kann. Mit der erfindungsgemäßen Lösung kann die Lage des virtuellen TCPs allein durch Messvorgänge und Berechnungen bestimmt werden, ohne dass der virtuelle TCP mit der Mess-Stelle in eine übereinstimmende Lage gebracht werden muss. Folglich kann eine Anzeige entfallen und ein manuelles Eingreifen durch den Benutzer ist nicht mehr erforderlich. Im Ergebnis ergibt sich der Vorteil, dass die Bestimmung des virtuellen TCPs vollautomatisiert erfolgen kann. Dies vereinfacht den Kalibriervorgang und trägt zu einer positionsgenaueren Bestimmung der Lage des virtuellen TCPs bei.
  • Als Lage wird zumindest die örtliche Position innerhalb eines bekannten Koordinatensystems bspw. X, Y, Z verstanden. Diese kann auch die Orientierungen im Raum wie bspw. die Rotationen A, B, C um die Achsen X, Y, Z umfassen.
  • Erfindungsgemäß wird die Aufgabe bei einem Verfahren der eingangs genannten Art durch die folgenden Schritte gelöst:
    • – Vermessen im Sensorkoordinatensystem mindestens einer Mess-Stelle einer Kalibriervorrichtung mit bekannter Lage im Koordinatensystem des Roboters mittels des Mess-Sensors,
    • – Bestimmen der Lage der Mess-Stelle im Koordinatensystem des Roboters mittels der bekannten Achsstellungen des Roboters,
    • – Bestimmen der Lage des virtuellen Arbeitspunktes bezüglich des bekannten Koordinatensystems des Roboters aus der bekannten Lage des virtuellen Arbeitspunktes im Sensorkoordinatensystem und der im Sensorkoordinatensystem vermessenen und im Koordinatensystem des Roboters bestimmten Lage der Mess-Stelle.
  • Benötigt wird eine im Raum in einem Bezugskoordinatensystem d. h. als „Base” vermessene Kalibrierplatte. Die Lage von Merkmalen, d. h. Mess-Stellen auf der Kalibrierplatte sind also absolut bekannt. Durch gezielte Messbewegungen und Messungen des Mess-Sensors können alle Koordinaten des Vektors zwischen Roboterflansch und virtuellem TCP bestimmt werden, wobei der erste Schritt darin bestehen kann, dass der Anwender den Sensor grob über die Kalibrierplatte verfahren soll. Für das Kontrollieren bzw. Rekalibrieren kann dieser Startpunkt aber auch automatisch anfahrbar sein. Der Schritt zwei kann darin bestehen, eine erste Messung über einem parallelen Spalt der Kalibrierplatte durchzuführen, um die Werte für Y, Z und C des virtuellen TCPs zu bestimmen. In einem dritten Schritt kann B bestimmt werden. In einem vierten Schritt 4 kann A bestimmt werden und in einem fünften Schritt 5 kann X bestimmt werden. Dies als beispielhafte Reihenfolge von durchzuführenden Messungen. Die Möglichkeiten, die Reihenfolge der Messungen zu vertauschen oder die Abhängigkeit der Messreihenfolgen ist in einer Tabelle der 2 näher erläutert. Durch mehrfaches Ausführen der Messroutinen kann zudem die Genauigkeit verbessert werden.
  • In einer ersten Konkretisierung der Erfindung kann die Lage des virtuellen TCPs durch die folgenden Schritte bestimmt werden:
    • – Bestimmen eines ersten Positionswertes und eines zweiten Positionswertes der Lage des virtuellen Arbeitspunktes auf Grundlage einer Vermessung eines bekannten Punktes einer Mess-Stelle an einer Kalibriervorrichtung mittels des Mess-Sensors,
    • – Bestimmen einer ersten Orientierung und einer zweiten Orientierung der Lage des virtuellen Arbeitspunktes auf Grundlage einer Vermessung einer bekannten Ebene der Kalibriervorrichtung mittels des Mess-Sensors,
    • – Bestimmen einer dritten Orientierung der Lage des virtuellen Arbeitspunktes auf Grundlage einer Vermessung einer bekannten Streckenlänge auf der Kalibriervorrichtung mittels des Mess-Sensors,
    • – Bestimmen eines dritten Positionswertes der Lage des virtuellen Arbeitspunktes auf Grundlage einer Vermessung einer bekannten Streckenlängenänderung auf der Kalibriervorrichtung mittels des Mess-Sensors.
  • Für die Bestimmen der dritten Orientierung ist die Form des Merkmals d. h. der Mess-Stelle in diesem Kalibrierschritt prinzipiell egal. Es wäre auch eine bekannte Position auf dem variablen Spalt möglich. Die Qualität dieses Schrittes hängt teilweise vom Winkel B ab, da sich B im Abstand Z ab bildet. Zudem kann sie abhängig sein von der Lage der Kalibrierplatte und von der Oberflächenqualität der Kalibrierplatte. Diese wirkt sich auf die Wiederholgenauigkeit beim Erkennen der Lage des Spaltes aus.
  • In einer zweiten Konkretisierung der Erfindung kann die Lage des virtuellen TCPs durch die folgenden Schritte bestimmt werden:
    • – Positionieren einer Messebene des Mess-Sensors an eine erste Mess-Stelle einer Kalibriervorrichtung,
    • – Messen eines ersten Positionswertes (Y_MESSSENS) und eines zweiten Positionswertes (Z_MESSSENS) der ersten Mess-Stelle bezüglich eines Sensorkoordinatensystems,
    • – Messen einer ersten Orientierung (C_MESSSENS) um die Flächennormale der Ebene des Mess-Sensors bezüglich der Kalibriervorrichtung,
    • – Bestimmen des ersten Positionswertes (Y_MESSTCP), des zweiten Positionswertes (Z_MESSTCP) und der ersten Orientierung (C_MESSTCP) der ersten Mess-Stelle bezüglich des virtuellen Arbeitspunktes aus den im Sensorkoordinatensystem bekannten Lagewerten des virtuellen Arbeitspunktes und der Mess-Stelle,
    • – Bestimmen des ersten Positionswertes (Y_MESSROB), des zweiten Positionswertes (Z_MESSROB) und der ersten Orientierung (C_MESSROB) der ersten Mess-Stelle bezüglich des Koordinatensystems des Roboters aus dem bekannten Lageunterschied von Roboterkoordinatensystem und Kalibriervorrichtung,
    • – Bestimmen des ersten Positionswertes (Y_TCPROB), des zweiten Positionswertes (Z_TCPROB) und der ersten Orientierung (C_TCPROB) des virtuellen Arbeitspunktes im Roboterkoordinatensystem aus dem ersten Positionswert (Y_MESSROB), dem zweiten Positionswert (Z_MESSROB), der ersten Orientierung (C_MESSROB) der ersten Mess-Stelle im Roboterkoordinatensystem und dem ersten Positionswert (Y_MESSTCP), des zweiten Positionswertes (Z_MESSTCP) und der ersten Orientierung (C_MESSTCP) der ersten Mess-Stelle bezüglich des virtuellen Arbeitspunktes,
    • – Messen eines ersten Abstandes (dZ1_MESSSENS) zwischen Mess-Sensor und einer Ebene der Kalibriervorrichtung in einer ersten Position (Z1ROB) des Mess-Sensors,
    • – Messen eines zweiten Abstandes (dZ2_MESSSENS) zwischen Mess-Sensor und einer Ebene der Kalibriervorrichtung in einer zweiten Position (Z2ROB) des Mess-Sensors, die sich in einem von der ersten Position (Z1ROB) unterschiedlichen Höhenabstand von der Ebene der Kalibriervorrichtung befindet,
    • – Bestimmen oder Messen einer zweiten Orientierung (B_TCPROB) des virtuellen Arbeitspunktes auf Grundlage einer zweiten Orientierung (BSENS, B_MESSSENS, B_TCPSENS,) der Messebene,
    • – Messen eines dritten Abstands (GAP_MESS) zweier Mess-Punkte, die einen bekannten Abstand (GAP_MIN) zweier parallel verlaufender Linienmerkmale repräsentieren,
    • – Bestimmen oder Messen einer dritten Orientierung (ASENS, A_MESSSENS, A_TCPROB) des virtuellen Arbeitspunktes auf Grundlage einer dritten Orientierung (ASENS) der Messebene,
    • – Bestimmen eines dritten Positionswertes (X_TCPROB) des virtuellen Arbeitspunktes im Roboterkoordinatensystem aus der Lage des Schnittpunktes (X_MESS, X_MESSSENS, X_MESSROB), der bekannten Lagewerte von Messebene des Mess-Sensors und Kalibriervorrichtung.
  • Zur Bestimmung des ersten Positionswertes (Y_TCPROB), des zweiten Positionswertes (Z_TCPROB) und der ersten Orientierung (C_TCPROB) des virtuellen Arbeitspunktes im Roboterkoordinatensystem wird zunächst als neue Zielbase B1 eine Position auf einem konstanten Spalt angegeben. Da diese Position gleichzeitig Startposition für den nächsten Kalibrierschritt sein kann und dabei eine Bewegung der Laserlinie entlang des Spaltes stattfindet, ist es sinnvoll eine der vorderen oder hinteren Messpositionen zu wählen.
  • Zur Bestimmung oder Messung einer zweiten Orientierung (B_TCPROB) des virtuellen Arbeitspunktes wird mit Hilfe einer Abstandsänderung des Sensors (Bewegung des Roboters in Z-Richtung der Base) und dem Vergleich mit der gemessenen Höhenänderung durch den Sensor auf die Fehlstellung des Winkels B geschlossen. Dazu wird der Sensor über dem konstanten Spalt (vorherige Base kann beibehalten werden) um einen bestimmten Winkel B „vorgespannt” d. h. gedreht angestellt und zwar mindestens soweit, dass in der Richtung der Vorspannbewegung ein spitzer Winkel von höchstens 75° zwischen Laserlinie und Sensorgehäuse und Bauteil entsteht. Dadurch ist sichergestellt, dass eine nachfolgende Höhenänderung von max. 50% des möglichen Messbereichs zu einer messbaren Abstandsänderung führt. Da die Form des Merkmals in diesem Kalibrierschritt prinzipiell egal ist, wäre auch eine bekannte Position auf dem variablen Spalt möglich. Allerdings ist es hier wichtig, dass der Abstand zur Oberfläche genau bestimmt wird. Es ist deshalb anzustreben, dass ein möglichst großer Bereich der Laserlinie auf der Kalibrierplattenoberfläche auftrifft. Eine Benutzung des variablen Spaltes ist damit eher ungünstig. Die Qualität dieses Kalibrierschrittes hängt von keinem anderen Schritt ab und ist somit unabhängig durchführbar. Die Oberflächenqualität der Kalibrierplatte hat Einfluss auf die absolute Genauigkeit der Abstandsmesswerte und zwar speziell bei starker Anstellung von B.
  • Zur Bestimmung oder Messung der dritten Orientierung (ASENS, A_MESSSENS, A_TCPROB) des virtuellen Arbeitspunktes ist vorzugsweise ein Base zu wählen, welches genau in der Mitte der Längenausdehnung des Spaltes liegt, um den maximalen Drehwinkel für A ausnutzen zu können. Es wird durch ein Verdrehen des Sensors um A über dem konstanten Spalt der möglichst schräg gemessene Spalt direkt in den Korrekturwert abgebildet. Damit existiert eine direkte Abhängigkeit zwischen der Oberflächenqualität und der Spaltmaßgenauigkeit sowie Parallelität der Kalibrierplatte zum Ergebnis. Der Verdrehwinkel sollte höchstens so groß sein, dass der Spalt noch im Messfenster des Mess-Sensors abgebildet werden kann. Dabei ist zu beachten, dass links und rechts vom Spalt ein genügend großer Bereich, von beispielsweise ca. 5 mm sichtbar sein sollte. Die Qualität dieses Kalibrierschrittes hängt theoretisch von keinem anderen Schritt ab und ist somit unabhängig durchführbar. Praktisch dürfte die Genauigkeit des Spaltmaßes am höchsten bei genau senkrechter Positionierung des Sensors in Abhängigkeit von B, C und der Lage des Merkmals im optimalen Messpunkt sein, die wiederum abhängig ist von Y und Z.
  • Zur Bestimmung eines dritten Positionswertes (X_TCPROB) des virtuellen Arbeitspunktes im Roboterkoordinatensystem kann eine Base auf dem variablen Spalt ausgewählt werden, dessen Spaltbreite unterhalb der abstandsabhängigen Breite des Messfensters liegt. Es ist nicht notwendig die Base im Ursprung des variablen Spaltes anzufahren und danach eine Relativbewegung um X auszuführen. Wichtig ist die Bestimmbarkeit der tatsächlichen Laserlinienposition auf der Kalibrierplatte anhand des gemessenen Spaltes. Daraus ist erkennbar, dass die Qualität dieser Messung vom Winkel A, von der Oberflächenqualität und der Fertigungsgenauigkeit des variablen Spaltes der Kalibrierplatte abhängt.
  • In einer ersten Variante kann das Bestimmen oder Messen der zweiten Orientierung (B_TCPROB) des virtuellen Arbeitspunktes auf Grundlage einer zweiten Orientierung (BSENS, B_MESSSENS, B_TCPSENS,) der Messebene, durch eine Bestimmung aus der Messung des ersten Abstands (dZ1_MESSSENS) und des zweiten Abstands (dZ2_MESSSENS) des Mess-Sensors von der Ebene der Kalibriervorrichtung erfolgen.
  • In einer zweiten Variante kann das Bestimmen oder Messen einer dritten Orientierung (ASENS, A_MESSSENS, A_TCPROB) des virtuellen Arbeitspunktes auf Grundlage einer dritten Orientierung (ASENS) der Messebene, durch eine Bestimmung aus der Messung des dritten Abstands (GAP_MESS) und des bekannten Abstands (GAP_MIN) erfolgen.
  • Zur Vorbereitung einer anschließenden Messung können vor dem Bestimmen des dritten Positionswertes (X_TCPROB) des virtuellen Arbeitspunktes im Roboterkoordinatensystem aus der Lage des Schnittpunktes (X_MESS, X_MESSSENS, X_MESSROB), der bekannten Lagewerte von Messebene des Mess-Sensors und Kalibriervorrichtung die folgenden Verfahrenschritte durchgeführt werden:
    • – Umorientieren der Messebene des Mess-Sensors, so dass die dritte Orientierung (ASENS) der Messebene bezüglich einer an der Kalibriervorrichtung angebrachten zweiten Mess-Stelle mit einem Linienmerkmal ausgerichtet ist, das in bekannter Winkellage zu der Kalibriervorrichtung verläuft,
    • – Bewegen der Messebene des Mess-Sensors in das Linienmerkmal,
    • – Messen oder Bestimmen der Lage des Schnittpunktes (X_MESS, X_MESSSENS, X_MESSROB).
  • Dabei schneidet die Messebene des Mess-Sensors das Linienmerkmal in einem Punkt. In dem ersten Schritt wird noch keine wirkliche Messung ausgeführt, da die Markierungen der Kalibrierplatte sich störend auf die Messung auswirken können. Theoretisch wäre eine Zusammenlegung dieses ersten Schrittes mit dem zweiten Schritt möglich. Für den logischen Ablauf und für eine spätere Fehlersuche ist es allerdings von Vorteil den ersten Schritt zwischenzuschalten. Ein weiterer Aspekt ist, dass hier keine automatische Bewegung stattfinden muss und durch eine grobe manuelle Vorbesetzung der Startposition bei den späteren Bewegungen die Kollisionsgefahr gesenkt werden kann.
  • Das Messen oder Bestimmen der Lage des Schnittpunktes (X_MESS, X_MESSSENS, X_MESSROB) kann durch eine Spaltbreitenmessung erfolgt. Dazu ist es nicht notwendig, dass der Messwert Y vorbekannt ist.
  • Das Messen oder Bestimmen der Lage des Schnittpunktes (X_MESS, X_MESSSENS, X_MESSROB) kann durch eine Messung des Schnittpunkts von Messebene des Mess-Sensors und Linienmerkmal erfolgt. Dazu ist es jedoch erforderlich, dass der Messwert Y vorbekannt ist.
  • Die Messung des ersten Abstandes (dZ1_MESSSENS) und des zweiten Abstandes (dZ2_MESSSENS) kann in einer gegenüber der Senkrechten zur Ebene der Kalibriervorrichtung angestellten Winkellage (βROB) der Messebene des Mess-Sensors durchgeführt werden. Dabei ist es nicht erforderlich, dass der erste Abstandes (dZ1_MESSSENS) und der zweitn Abstandes (dZ2_MESSSENS) in der selben Winkellage (βROB) der Messebene des Mess-Sensors gemessen wird. Unterschiedliche Winkellagen (βROB1, βROB2) können rechnerisch berücksichtigt werden. Gleichwohl kann eine Messung für beide Abstände in der selben Winkellage (βROB) stattfinden, so dass eine rechnerische Berücksichtigung entfallen kann.
  • Die Messung des zweiten Abstandes (dZ2_MESSSENS) kann in einer gegenüber der ersten Höhenposition zur Messung des ersten Abstandes (dZ1_MESSSENS) von der Kalibriervorrichtung weiter entfernten zweiten Höhenposition durchgeführt wird.
  • Dies hat den Vorteil, dass der Mess-Sensor ausgehend von seiner ersten Höhenposition bei einer Bewegung in die zweite Höhenposition sich von der Kalibriervorrichtung wegbewegt. Dies vermindert eine Kollisionsgefahr des Sensors mit der Kalibriervorrichtung während der automatisierten Messung.
  • Erfindungsgemäß wird eine Steuerungsvorrichtung eines Roboters beansprucht, die ein Ablaufmodul zum automatisierten Bewegen des Roboters gemäß einem der Verfahren nach den Ansprüchen 1 bis 10 aufweist. Die beschriebenen Verfahren zur Bestimmung der Lage eines virtuellen Arbeitspunktes können in verschiedensten Fertigungs- und Montageaufgaben angewandt werden, so z. B. im Rahmen einer Trennschweiß- oder Laserschweißvorrichtung. Gleichwohl können die erfindungsgemäßen Verfahren besonders sinnvoll in Verbindung mit einem frei programmierbaren Roboter, insbesondere einem Industrieroboter mit mehr als 3 Achsen angewandt werden.
  • Die Erfindung umfasst auch eine Kalibriervorrichtung, die zur Verwendung in einem Verfahren nach den Ansprüchen 1 bis 10 ausgebildet ist. Die benötigten Merkmale auf der Kalibriervorrichtung können unterschiedlich gestaltet sein. Im Folgenden werden jedoch konstruktive Gestaltungen der Kalibriervorrichtung vorgeschlagen, die zur Verwendung in Verbindung mit den erfindungsgemäßen Verfahren optimiert sind.
  • Die Kalibriervorrichtung kann durch eine Grundplatte mit einem lagedefinierten punktförmigen ersten Merkmal, einem zweiten linienförmigen Streckenlängenmerkmal und einem eine Streckenlängenänderung aufweisenden dritten Merkmal gebildet werden.
  • In einer ersten Konkretisierung der Kalibriervorrichtung kann das zweite linienförmige Streckenlängenmerkmal eine Nut, Erhebung oder Stufe in der Ebene der Grundplatte mit zwei parallel in einem definierten Abstand zueinander verlaufender Kanten sein.
  • In einer zweiten Konkretisierung der Kalibriervorrichtung kann das eine Streckenlängenänderung aufweisende dritte Merkmal eine V-förmigen Vertiefung oder V-förmige Erhebung in der Ebene der Grundplatte sein.
  • Die Erfindung ist anhand der folgenden Figuren näher erläutert. Es zeigen:
  • 1 eine Darstellung eines Roboters mit einem an der Roboterhand angebrachten Lichtschnitt-Mess-Sensor;
  • 2 eine Tabelle betreffend Möglichkeiten, die Reihenfolge der Messungen zu vertauschen;
  • 3a, 3b Detailansichten des Lichtschnitt-Mess-Sensors;
  • 4a, 4b eine Frameverkettung entsprechend den erfindungsgemäßen Verfahrensschritte;
  • 5 eine erfindungsgemäße Kalibriervorrichtung in perspektivischer Ansicht;
  • 6 die Kalibriervorrichtung nach 5 in einer Draufsicht;
  • 7 eine Seitenansicht der Ebene der Kalibriervorrichtung zur Messung der Orientierung B;
  • 8 eine Draufsicht auf die zweite Mess-Stelle der Kalibriervorrichtung zur Messung der Orientierung A;
  • 9 eine Draufsicht auf die dritte Mess-Stelle der Kalibriervorrichtung zur Messung der Position X.
  • Ein Industrieroboter 1 weist in bekannter Weise einen Sockel 2, ein um eine vertikale A1-Achse drehbares Karussell 3, eine um eine horizontale A2-Achse verschwenkbare Schwinge 4, einen an deren freien Ende gelenkig um eine horizontale A3-Achse verschwenkbaren Roboterarm 5 mit einer an dessen freien Ende angeordneten Hand 6 mit drei Drehachsen A4 bis A6 auf. Das freie Ende der Hand 6 wird durch einen Flansch 7 gebildet. Die A6-Achse stimmt bei Verschwenken der Hand um die A5-Achse nicht mehr mit der A4-Achse überein, wie es lediglich für den Sonderfall der in der Zeichnung dargestellten gestreckten Position gegeben ist.
  • Der Flansch 7 dient zur Befestigung von Werkzeugen. In der 1 ist an ihm ein Lichtschnitt-Mess-Sensor 8 befestigt. Der des Lichtschnitt-Mess-Sensors 8 weist eine einen von seiner Y-Z-Ebene flächig aufgefächerten Laserstrahl, einen Lichtvorhang 9, erzeugende Lichtquelle, vorzugsweise in Form eines Halbleiterlasers, sowie einen Detektor, wie eine Kamera, vorzugsweise in Form eines CCD-Arrays, auf.
  • Der Lichtschnitt-Mess-Sensor 8 hat sein eigenes Koordinatensystem. Die Y-Richtung Y_MESSSENS und die Z-Richtung Z_MESSSENS im Sensor-Koordinatensystem sind in den Figuren dargestellt, während die X-Richtung X_MESSSENS bei der dargestellten Ausrichtung senkrecht fest zur Blattebene ausgerichtet ist. Dem Sensor ist ein virtueller Tool-Center-Point – TCP 15 – am Ort X_TCPSENS, Y_TCPSENS, Z_TCPSENS im Sensorkoordinatensystem zugeordnet.
  • In 2 sind die Abhängigkeiten der Kalibrierschritte untereinander dargestellt.
  • Das Zeichen ? besagt, dass eine relevante Abhängigkeit nur besteht, wenn bei Messung Merkmal nicht sauber gefunden werden konnte. Das Zeichen Q bedeutet eine prinzipielle Unabhängigkeit. Wenn der Vorgangswert jedoch bekannt ist, kann eine Erhöhung der Qualität der Messung erreicht werden.
  • Das Zeichen X weist auf eine echte Abhängigkeit hin, d. h. die Kenntnis des Vorgangswertes ist notwendige Bedingung zur folgenden Messung. Das Zeichen o bezeichnet den eigenen Mess-Schritt.
  • Aus der Tabelle nach 1 last sich Folgendes ableiten: Regel 1: Setzt man voraus, dass in jedem Kalibrierschritt das notwendige Merkmal im Sichtfeld des Sensors liegt, kann man die Reihenfolge (bis auf Schritt „X”) beliebig vertauschen.
  • Regel 2: Speziell bei den Kipp- und Drehbewegungen dürfte die Voraussetzung der Regel 1 nicht zutreffen. Neben dem Verlassen des Sichtfeldes besteht erhöhte Kollisionsgefahr. Daher sollte der Schritt „Preset” immer zuerst erfolgen.
  • Regel 3: Die Sensormesswerte sind am genauesten, wenn sie im optimalen Messpunkt erfolgen (Merkmal liegt im optimalen Messpunkt). Daher ist es qualitätsoptimal die Mess-Schritte für „Y”, „Z” und „C” immer als ersten Schritt auszuführen. Regel 4: Die Messung oder Bestimmung von „X” muss immer nach der Messung oder Bestimmung von „A” durchgeführt werden. Sie kann also nicht als erstes durchgeführt werden.
  • In 3a ist der Lichtschnitt-Mess-Sensor in einer Seitenansicht und in 3b in einer Frontansicht gezeigt und beschrieben.
  • In 4a ist der Lichtschnitt-Mess-Sensor in einer Seitenansicht und in 4b in einer Frontansicht an der Kalibriervorrichtung 10 gezeigt. Ziel ist es, T1 genau beim virtuellen TCP (VirtualTCP) enden zu lassen. Gesucht ist daher der Korrekturframe dT1. Der virtuelle TCP beschreibt die Lage des Sensorkoordinatensystems in Bezug auf den Messwert. Er macht somit den Messwert im Sensormessfenster interpretierbar. Der virtuelle TCP sollte Idealerweise an der optimalen Messposition (OptPosFrame) des Sensors liegen. Der DirCorrFrame={0, 0, 0, 0, 0, 180} ist dafür verantwortlich, die Stoßrichtung des Tools zu korrigieren (Z+ nach unten), der OffsCorrFrame={0, dY, dZ, 0, 0, 0} dafür, dem Anwender eine kleine Verschiebung des optimalen Messpunktes zu ermöglichen. Wichtig ist, dass vor Auslesen des $POS_ACT T1 und B1 korrekt gesetzt sind.
  • 5 zeigt die Kalibriervorrichtung 10 in perspektivischer Ansicht. 6 zeigt die Kalibriervorrichtung in einer Draufsicht. Als bekannte Ebene 11 dient die Oberfläche der Kalibriervorrichtung 10. Die Kalibriervorrichtung 10 trägt eine Anzahl von Punkten 12, deren Lage auf der Ebene 11 der Kalibriervorrichtung 10 bekannt ist. Eine bekannte Streckenlänge 13 wird durch einen definierten Abstand d zweier parallel verlaufender ersten Kanten 14a und 14b gebildet. Eine bekannte Streckenlängenänderung bilden zwei in einem Winkel w zueinander ausgerichteter zweiten Kanten 16a und 16b. Zunächst wird die Kalibriervorrichtung 10 von dem Lichtschnitt-Mess-Sensor 8 angefahren.
  • Dieses Vorpositionieren definiert sich folgendermaßen:
    Tool und Base definieren:
    T1=$NULLFRAME (d. h. $POS_ACT zeigt auf den Flansch)
    B1=StartBase (d. h. bekannte Position der Markierungen auf Kalibrierplatte)
  • Messwert setzen:
    MWraw=VirtualTCP:DirCorrFrame
    → MW=$NULLFRAME:DirCorrFrame (d. h. vortäuschen, dass Merkmal genau im virtuellen TCP liegt)
  • Neues Tool berechnen:
    dT1=INV_POS($NULLFRAME:DirCorrFrame:$POS_ACT)
    T1_neu=T1:dT1
    Master_T1=T1_neu (nur bei allererster Messung; bei Konfiguration „Mastern” oder erwartetes T1 als Frame eingeben)
  • Genauigkeitung/Abweichung bestimmen:
    dT=ABS(T1_neu-Master_T1), (d. h. absoluter Fehler)
    dT mit maxdT vergleichen, (maxdT muss in Konfiguration für Kalibration und Prüfung vorgegeben werden)
  • Anschließend erfolgt eine erste Messung von „Y”, „Z” und „C” an einem Merkmal, das bspw. ein Punkt 12 nach 5 oder 6 sein kann mittels einer Frameverkettung, wie in 4b dargestellt. Dieses Messung von „Y”, „Z” und „C” definiert sich folgendermaßen:
    Tool und Base definieren:
    T1=T1_neu
    B1=BaseLautKonfiguration (d. h. bekannte Position auf Kalibrierplatte)
  • Bewegung ausführen:
    LIN {0, 0, 0, 0, 0, 0} (d. h. genau an Base-Tool-Position, Dir-Corr-Frame beachten)
  • Messwert setzen:
    MW=MesswertVomSensorHolen
  • Messwert auf Sinnfälligkeit prüfen:
    Evtl., ob <>0 und innerhalb des Messfensters
  • Neues Tool berechnen:
    dT1=INV_POS(MW:$POS_ACT)
    T1_neu=T1:dT1
  • Genauigkeitung/Abweichung bestimmen:
    dT=ABS(T1_neu-Master_T1)
    dT mit maxdT vergleichen
  • Die 7 veranschaulicht die Messung von „B”. Dieses Messung von „B” definiert sich folgendermaßen:
    Figure 00230001
  • Tool und Base definieren:
    T1=T1_neu
    B1=BaseLautKonfiguration (d. h. bekannte Position auf Kalibrierplatte)
  • Relativbewegung ausführen:
    LIN_REL {0, 0, MovingValues.Z, 0, MovingValues.B, 0} (d. h. zuerst vorspannen und nach oben bewegen MovingValues müssen als Frame im Konfigurations-Plugin festgelegt werden)
  • Oberen Messwert holen:
    MWu=MesswertVomSensorHolen
  • Relativbewegung ausführen:
    LIN_REL {0, 0, -MovingValues.Z, 0, 0, 0} (d. h. nach unten bewegen)
  • Unteren Messwert holen:
    MWd=MesswertVomSensorHolen
  • Messwerte auf Sinnfälligkeit prüfen:
    (MWu.Z-MWd.Z) > 0 (d. h. der Abstandsmesswert an der oberen Position ist größer als der unten)
    ABS(MWu.Z-MWd.Z) > ABS(MovingValues.Z) (d. h. die gemessene Abstandsdifferenz muss größer sein, als die gefahrene Differenz)
  • Neues Tool berechnen:
    dT1={0, 0, 0, 0, ACOS(MovingValues.Z/(MWu.Z-MWd.Z))-MovingValues.B, 0}
    T1_neu=T1:dT1
  • Genauigkeitung/Abweichung bestimmen:
    dT=ABS(T1_neu-Master_T1)
    dT mit maxdT vergleichen
  • Die 8 veranschaulicht die Messung von „A”. Dieses Messung von „A” definiert sich folgendermaßen: cos(α) = GAP_MIN / GAP_MESS mit α = αROB + dα α = arccos GAP_MIN / GAP_MESS => dα = arccos GAP_MIN / GAP_MESS – αROB wobei GAP_MESS = GAP_MIN/cos(α)
  • Tool und Base definieren:
    T1=T1_neu
    B1=BaseLautKonfiguration (d. h. bekannte Position auf Kalibrierplatte)
  • Relativbewegung ausführen:
    LIN_REL {0, 0, 0, MovingValues.A, 0, 0} (d. h. über dem Spalt verdrehen; MovingValues müssen Konfigurations-Plugin festgelegt werden)
  • Messwert holen:
    MW=MesswertVomSensorHolen
  • Messwerte auf Sinnfälligkeit prüfen:
    MW.Gap>ConstGap_b (d. h. der gemessene Spalt muss größer sein, als der Spalt auf der Platte)
  • Neues Tool berechnen:
    dT1={0, 0, 0, ACOS(ConstGap_b/MW.Gap)-MovingValues.A, 0, 0}
    T1_neu=T1:dT1
  • Genauigkeitung/Abweichung bestimmen:
    dT=ABS(T1_neu-Master_T1)
    dT mit maxdT vergleichen
  • Die 9 veranschaulicht die Messung von „X”. Dieses Messung von „X” definiert sich folgendermaßen:
    Figure 00260001
  • Tool und Base definieren:
    T1=T1_neu
    B1=BaseLautKonfiguration (d. h. bekannte Position auf Kalibrierplatte)
  • Bewegung ausführen:
    LIN {0, 0, 0, 0, 0, 0} (d. h. über dem variablen Spalt an bekannte Position)
  • Messwert holen:
    MW=MesswertVomSensorHolen
  • Messwerte auf Sinnfälligkeit prüfen:
    MW.Gap>=Min(CalPlateMeasDataVarGap[n]) (d. h. der gemessene Spalt muss größer oder gleich den Spaltbreiten auf der Platte sein)
  • Neues Tool berechnen:
    dT1={(MW.Gap/(2·TAN(VarGap_A/2))-CalPlateMeasDataVarGap[m].dX), 0, 0, 0, 0, 0}
    T1_neu=T1:dT1
  • Genauigkeitung/Abweichung bestimmen:
    dT=ABS(T1_neu-Master_T1)
    dT mit maxdT vergleichen
  • Die folgenden Zusammenhänge gelten grundsätzlich:
    Figure 00270001
  • Wobei z. B. „T1:dT1” eine Transformationsmatrizen-Multiplikation bedeutet, nach der Vorschrift:
    Figure 00280001
    wobei die 3×3-Matrix (r11 bis r33) sich folgendermaßen beschreiben lässt:
    Figure 00280002
  • 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
    • DE 102005048136 A1 [0006, 0008]
    • US 6044308 [0007, 0007, 0008]

Claims (15)

  1. Verfahren zum Bestimmen der Lage eines virtuellen Arbeitspunktes bezüglich eines bekannten Koordinatensystems eines Roboters, der einen Mess-Sensor zur geometrischen Vermessung von Objekten aufweist, gekennzeichnet durch die folgenden Schritte: – Vermessen im Sensorkoordinatensystem mindestens einer Mess-Stelle einer Kalibriervorrichtung mit bekannter Lage im Koordinatensystem des Roboters mittels des Mess-Sensors, – Bestimmen der Lage der Mess-Stelle im Koordinatensystem des Roboters mittels der bekannten Achsstellungen des Roboters, – Bestimmen der Lage des virtuellen Arbeitspunktes bezüglich des bekannten Koordinatensystems des Roboters aus der bekannten Lage des virtuellen Arbeitspunktes im Sensorkoordinatensystem und der im Sensorkoordinatensystem vermessenen und im Koordinatensystem des Roboters bestimmten Lage der Mess-Stelle.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch die folgenden Schritte: – Bestimmen eines ersten Positionswertes und eines zweiten Positionswertes der Lage des virtuellen Arbeitspunktes auf Grundlage einer Vermessung eines bekannten Punktes einer Mess-Stelle an einer Kalibriervorrichtung mittels des Mess-Sensors, – Bestimmen einer ersten Orientierung und einer zweiten Orientierung der Lage des virtuellen Arbeitspunktes auf Grundlage einer Vermessung einer bekannten Ebene der Kalibriervorrichtung mittels des Mess-Sensors, – Bestimmen einer dritten Orientierung der Lage des virtuellen Arbeitspunktes auf Grundlage einer Vermessung einer bekannten Streckenlänge auf der Kalibriervorrichtung mittels des Mess-Sensors, – Bestimmen eines dritten Positionswertes der Lage des virtuellen Arbeitspunktes auf Grundlage einer Vermessung einer bekannten Streckenlängenänderung auf der Kalibriervorrichtung mittels des Mess-Sensors.
  3. Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch die folgenden Schritte: – Positionieren einer Messebene des Mess-Sensors an eine erste Mess-Stelle einer Kalibriervorrichtung, – Messen eines ersten Positionswertes (Y_MESSSENS) und eines zweiten Positionswertes (Z_MESSSENS) der ersten Mess-Stelle bezüglich eines Sensorkoordinatensystems, – Messen einer ersten Orientierung (C_MESSSENS) um die Flächennormale der Ebene des Mess-Sensors bezüglich der Kalibriervorrichtung, – Bestimmen des ersten Positionswertes (Y_MESSTCP), des zweiten Positionswertes (Z_MESSTCP) und der ersten Orientierung (C_MESSTCP) der ersten Mess-Stelle bezüglich des virtuellen Arbeitspunktes aus den im Sensorkoordinatensystem bekannten Lagewerten des virtuellen Arbeitspunktes und der Mess-Stelle, – Bestimmen des ersten Positionswertes (Y_MESSROB), des zweiten Positionswertes (Z_MESSROB) und der ersten Orientierung (C_MESSROB) der ersten Mess-Stelle bezüglich des Koordinatensystems des Roboters aus dem bekannten Lageunterschied von Roboterkoordinatensystem und Kalibriervorrichtung, – Bestimmen des ersten Positionswertes (Y_TCPROB), des zweiten Positionswertes (Z_TCPROB) und der ersten Orientierung (C_TCPROB) des virtuellen Arbeitspunktes im Roboterkoordinatensystem aus dem ersten Positionswert (Y_MESSROB), dem zweiten Positionswert (Z_MESSROB), der ersten Orientierung (C_MESSROB) der ersten Mess-Stelle im Roboterkoordinatensystem und dem ersten Positionswert (Y_MESSTCP), des zweiten Positionswertes (Z_MESSTCP) und der ersten Orientierung (C_MESSTCP) der ersten Mess-Stelle bezüglich des virtuellen Arbeitspunktes, – Messen eines ersten Abstandes (dZ1_MESSSENS) zwischen Mess-Sensor und einer Ebene der Kalibriervorrichtung in einer ersten Position (Z1ROB) des Mess-Sensors, – Messen eines zweiten Abstandes (dZ2_MESSSENS) zwischen Mess-Sensor und einer Ebene der Kalibriervorrichtung in einer zweiten Position (Z2ROB) des Mess-Sensors, die sich in einem von der ersten Position (Z1ROB) unterschiedlichen Höhenabstand von der Ebene der Kalibriervorrichtung befindet, – Bestimmen oder Messen einer zweiten Orientierung (B_TCPROB) des virtuellen Arbeitspunktes auf Grundlage einer zweiten Orientierung (BSENS, B_MESSSENS, B_TCPSENS,) der Messebene, – Messen eines dritten Abstands (GAP_MESS) zweier Mess-Punkte, die einen bekannten Abstand (GAP_MIN) zweier parallel verlaufender Linienmerkmale repräsentieren, – Bestimmen oder Messen einer dritten Orientierung (ASENS, A_MESSSENS, A_TCPROB) des virtuellen Arbeitspunktes auf Grundlage einer dritten Orientierung (ASENS) der Messebene, – Bestimmen eines dritten Positionswertes (X_TCPROB) des virtuellen Arbeitspunktes im Roboterkoordinatensystem aus der Lage des Schnittpunktes (X_MESS, X_MESSSENS, X_MESSROB), der bekannten Lagewerte von Messebene des Mess-Sensors und Kalibriervorrichtung.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das Bestimmen oder Messen der zweiten Orientierung (B_TCPROB) des virtuellen Arbeitspunktes auf Grundlage einer zweiten Orientierung (BSENS, B_MESSSENS, B_TCPSENS,) der Messebene, durch eine Bestimmung aus der Messung des ersten Abstands (dZ1_MESSSSENS) und des zweiten Abstands (dZ2_MESSSENS) des Mess-Sensors von der Ebene der Kalibriervorrichtung erfolgt.
  5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass das Bestimmen oder Messen einer dritten Orientierung (ASENS, A_MESSSENS, A_TCPROB) des virtuellen Arbeitspunktes auf Grundlage einer dritten Orientierung (ASENS) der Messebene, durch eine Bestimmung aus der Messung des dritten Abstands (GAP_MESS) und des bekannten Abstands (GAP_MIN) erfolgt.
  6. Verfahren nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass vor dem Bestimmen des dritten Positionswertes (X_TCPROB) des virtuellen Arbeitspunktes im Roboterkoordinatensystem aus der Lage des Schnittpunktes (X_MESS, X_MESSSENS, X_MESSROB), der bekannten Lagewerte von Messebene des Mess-Sensors und Kalibriervorrichtung die folgenden Verfahrenschritte durchgeführt werden: – Umorientieren der Messebene des Mess-Sensors, so dass die dritte Orientierung (ASENS) der Messebene bezüglich einer an der Kalibriervorrichtung angebrachten zweiten Mess-Stelle mit einem Linienmerkmal ausgerichtet ist, das in bekannter Winkellage zu der Kalibriervorrichtung verläuft, – Bewegen der Messebene des Mess-Sensors in das Linienmerkmal, – Messen oder Bestimmen der Lage des Schnittpunktes (X_MESS, X_MESSSENS, X_MESSROB).
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass das Messen oder Bestimmen der Lage des Schnittpunktes (X_MESS, X_MESSSENS, X_MESSROB) durch eine Spaltbreitenmessung erfolgt.
  8. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass das Messen oder Bestimmen der Lage des Schnittpunktes (X_MESS, X_MESSSENS, X_MESSROB) durch eine Messung des Schnittpunkts von Messebene des Mess-Sensors und Linienmerkmal erfolgt.
  9. Verfahren nach einem der Ansprüche 3 bis 8, dadurch gekennzeichnet, dass die Messung des ersten Abstandes (dZ1_MESSSENS) und des zweiten Abstandes (dZ2_MESSSENS) in einer gegenüber der Senkrechten zur Ebene der Kalibriervorrichtung angestellten, insbesondere in der selben, Winkellage (βROB) der Messebene des Mess-Sensors durchgeführt wird.
  10. Verfahren nach einem der Ansprüche 3 bis 9, dadurch gekennzeichnet, dass die Messung des zweiten Abstandes (dZ2_MESSSENS) in einer gegenüber der ersten Höhenposition zur Messung des ersten Abstandes (dZ1_MESSSENS) von der Kalibriervorrichtung weiter entfernten zweiten Höhenposition durchgeführt wird.
  11. Steuerungsvorrichtung eines Roboters aufweisend ein Ablaufmodul zum automatisierten Bewegen des Roboters gemäß einem der Verfahren nach den Ansprüchen 1 bis 10.
  12. Kalibriervorrichtung, die zur Verwendung in einem Verfahren nach den Ansprüchen 1 bis 10 ausgebildet ist.
  13. Kalibriervorrichtung nach Anspruch 12, gekennzeichnet durch eine Grundplatte mit einem lagedefinierten punktförmigen ersten Merkmal, einem zweiten linienförmigen Streckenlängenmerkmal und einem eine Streckenlängenänderung aufweisenden dritten Merkmal.
  14. Kalibriervorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass das zweite linienförmige Streckenlängenmerkmal eine Nut, Erhebung oder Stufe in der Ebene der Grundplatte mit zwei parallel in einem definierten Abstand zueinander verlaufender Kanten ist.
  15. Kalibriervorrichtung nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass das eine Streckenlängenänderung aufweisende dritte Merkmal eine V-förmigen Vertiefung oder V-förmige Erhebung in der Ebene der Grundplatte ist.
DE102007056773.3A 2007-11-23 2007-11-23 Verfahren zum automatischen Bestimmen eines virtuellen Arbeitspunktes Expired - Fee Related DE102007056773B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102007056773.3A DE102007056773B4 (de) 2007-11-23 2007-11-23 Verfahren zum automatischen Bestimmen eines virtuellen Arbeitspunktes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102007056773.3A DE102007056773B4 (de) 2007-11-23 2007-11-23 Verfahren zum automatischen Bestimmen eines virtuellen Arbeitspunktes

Publications (2)

Publication Number Publication Date
DE102007056773A1 true DE102007056773A1 (de) 2012-12-20
DE102007056773B4 DE102007056773B4 (de) 2015-08-13

Family

ID=47228136

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007056773.3A Expired - Fee Related DE102007056773B4 (de) 2007-11-23 2007-11-23 Verfahren zum automatischen Bestimmen eines virtuellen Arbeitspunktes

Country Status (1)

Country Link
DE (1) DE102007056773B4 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015162334A1 (en) * 2014-04-22 2015-10-29 Lappeenrannan Teknillinen Yliopisto A method and a system for generating data for calibrating a robot
CN113001535A (zh) * 2019-12-18 2021-06-22 财团法人工业技术研究院 机器人工件坐标系自动校正系统与方法
DE102020102916A1 (de) 2020-02-05 2021-08-05 Carl Cloos Schweißtechnik Gesellschaft mit beschränkter Haftung Verfahren zur Sicherheitssteuerung einer, an einem mehrachsigen Manipulator angeordneten Strahlquelle sowie zugeordnete Vorrichtung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044308A (en) 1997-06-13 2000-03-28 Huissoon; Jan Paul Method and device for robot tool frame calibration
DE102005048136A1 (de) 2005-10-06 2007-04-26 Kuka Roboter Gmbh Verfahren zum Bestimmen eines virtuellen Tool-Center-Points

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10118514B4 (de) * 2001-04-16 2005-08-18 Vmt Bildverarbeitungssysteme Gmbh Verfahren zur Arbeitspunktstabilisierung bei berührungsloser 3D- Positionserkennung eines zu vermessenden Objektes mittels Digitalkameras
DE10143753B4 (de) * 2001-09-06 2005-04-14 Deutsches Zentrum für Luft- und Raumfahrt e.V. Kalibrierverfahren für einen Roboterarm
EP1345099B1 (de) * 2002-03-04 2011-11-02 VMT Vision Machine Technic Bildverarbeitungssysteme GmbH Verfahren zur Bestimmung der Lage eines Objektes und eines Werkstücks im Raum zur automatischen Montage des Werkstücks am Objekt
DE10242769C1 (de) * 2002-09-14 2003-12-18 Thomas Pagel Verfahren zur Vermessung der Lage von robotergeführten Werkstücken und Messeinrichtung hierzu
JP3733364B2 (ja) * 2003-11-18 2006-01-11 ファナック株式会社 教示位置修正方法
DE102004010312B8 (de) * 2004-03-03 2009-07-30 Advintec Gmbh Verfahren zum Einmessen eines Arbeitspunktes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044308A (en) 1997-06-13 2000-03-28 Huissoon; Jan Paul Method and device for robot tool frame calibration
DE102005048136A1 (de) 2005-10-06 2007-04-26 Kuka Roboter Gmbh Verfahren zum Bestimmen eines virtuellen Tool-Center-Points

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015162334A1 (en) * 2014-04-22 2015-10-29 Lappeenrannan Teknillinen Yliopisto A method and a system for generating data for calibrating a robot
CN113001535A (zh) * 2019-12-18 2021-06-22 财团法人工业技术研究院 机器人工件坐标系自动校正系统与方法
US11433541B2 (en) 2019-12-18 2022-09-06 Industrial Technology Research Institute Automated calibration system and method for a workpiece coordinate frame of a robot
CN113001535B (zh) * 2019-12-18 2022-11-15 财团法人工业技术研究院 机器人工件坐标系自动校正系统与方法
DE102020102916A1 (de) 2020-02-05 2021-08-05 Carl Cloos Schweißtechnik Gesellschaft mit beschränkter Haftung Verfahren zur Sicherheitssteuerung einer, an einem mehrachsigen Manipulator angeordneten Strahlquelle sowie zugeordnete Vorrichtung

Also Published As

Publication number Publication date
DE102007056773B4 (de) 2015-08-13

Similar Documents

Publication Publication Date Title
EP1931503B1 (de) Verfahren zum bestimmen eines virtuellen tool-center-points
DE3911307C2 (de) Verfahren zum Feststellen, ob zwei hintereinander angeordnete Wellen hinsichtlich ihrer Mittelachse fluchten oder versetzt sind
EP2093537B1 (de) Verfahren und Vorrichtung zur Ermittlung einer Ausrichtung von zwei drehbar gelagerten Maschinenteilen
EP2166510B1 (de) Verfahren zum Ermitteln der Position und der Orientierung einer in einem Fahrzeug angeordneten Kamera
EP1342050B1 (de) Ermittlung von korrekturparametern einer dreh- schwenkeinheit mit messendem sensor ( koordinatenmessgerät ) über zwei parameterfelder
EP1764579A1 (de) Verfahren zur Bestimmung der Rechtwinkligkeit zwischen den Achsen eines 3D-Koordinatenmessgerätes
DE102006015792A1 (de) Verfahren und System zur Formmessung einer reflektierenden Oberfläche
EP2933600B1 (de) Verfahren zum ermitteln der ausrichtung einer ersten riemenscheibe eines riemenantriebs in bezug auf eine zweite riemenscheibe des riemenantriebs
EP2037227A1 (de) Verfahren und Vorrichtung zum Bestimmen der Position eines Fahrzeugs
DE2923346A1 (de) Vorrichtung zum messen der einstellung von raedern eines kraftfahrzeugs und verfahren zum einjustieren der vorrichtung auf das fahrzeug
DE102006018558A1 (de) Vorrichtung zum automatischen Aufbringen oder Erzeugen und Überwachen einer auf einem Substrat aufgebrachten Struktur mit Ermittlung von geometrischen Abmessungen sowie ein entsprechendes Verfahren hierfür
EP2423639B1 (de) Verfahren zur Ermittlung von Spaltmaß und/oder Bündigkeit von Karosserieteilen eines Kraftfahrzeugs und Steuerungsprogramm
EP0564535B1 (de) Bestimmung der relativen position von messpunkten
DE69927597T2 (de) Verfahren und Vorrichtung zur Falzwinkelmessung eines Blattes in einer Falzmaschine
EP0734305B1 (de) Verfahren zum einstellen von reibahlen und dergleichen
DE102007056773B4 (de) Verfahren zum automatischen Bestimmen eines virtuellen Arbeitspunktes
EP3707569A1 (de) Kalibrierung eines stationären kamerasystems zur positionserfassung eines mobilen roboters
DE10115043A1 (de) Verfahren und Vorrichtung zur Kalibrierung eines Kamerasystems, insbesondere eines auf einem Fahrzeug angeordneten Kamerasystems
DE19949834A1 (de) Verfahren zum Ermitteln der Ausrichtung eines zylindrischen Körpers bezüglich einer Referenzrichtung
WO2005071434A1 (de) Verfahren und vorrichtung zur winkeljustage eines sensors in einem kraftfahrzeug
DE102007058293A1 (de) Kalibriervorrichtung und Verfahren zum Abgleichen eines Roboterkoordinatensystems
DE10117390A1 (de) Vorrichtung zur quantitativen Beurteilung der räumlichen Lage zweier Maschinenteile, Werkstücke oder anderer Gegenstände relativ zueinander
DE102005020844B3 (de) Genauigkeitsverbesserung von Robotern
DE202008011332U1 (de) Vorrichtung zum Vermessen und/oder Einstellen eines Werkzeugs
DE102020130746B4 (de) Vorrichtung und Verfahren zur Untersuchung einer Fläche

Legal Events

Date Code Title Description
R009 Remittal by federal patent court to dpma for new decision or registration
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R082 Change of representative

Representative=s name: FUNK & BOESS GBR, DE

R081 Change of applicant/patentee

Owner name: KUKA ROBOTER GMBH, DE

Free format text: FORMER OWNER: KUKA LABORATORIES GMBH, 86165 AUGSBURG, DE

Effective date: 20150505

Owner name: KUKA ROBOTER GMBH, DE

Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE

Effective date: 20110331

R082 Change of representative

Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE

Effective date: 20150505

Representative=s name: FUNK & BOESS GBR, DE

Effective date: 20150505

R020 Patent grant now final
R082 Change of representative

Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE

Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE

R081 Change of applicant/patentee

Owner name: KUKA DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE

R082 Change of representative

Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE

Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE

R082 Change of representative

Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee