AT406313B - Flexible sensor system for industrial robots - Google Patents

Flexible sensor system for industrial robots Download PDF

Info

Publication number
AT406313B
AT406313B AT113695A AT113695A AT406313B AT 406313 B AT406313 B AT 406313B AT 113695 A AT113695 A AT 113695A AT 113695 A AT113695 A AT 113695A AT 406313 B AT406313 B AT 406313B
Authority
AT
Austria
Prior art keywords
point
robot
sensor
coordinates
tcp
Prior art date
Application number
AT113695A
Other languages
German (de)
Other versions
ATA113695A (en
Original Assignee
Koch Reinhard
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 Koch Reinhard filed Critical Koch Reinhard
Priority to AT113695A priority Critical patent/AT406313B/en
Publication of ATA113695A publication Critical patent/ATA113695A/en
Application granted granted Critical
Publication of AT406313B publication Critical patent/AT406313B/en

Links

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

The invention relates to a method which has the object of providing the robot having an external sensor system 2 with the point of incidence 5 of the sensor in the form of the absolute robot coordinates, although the distance sensor 2 is mounted in any desired way on the robot and the robot knows neither the mounting position, nor the mounting direction, nor the factor length unit per measured value. The offset between sensor zero point 14 and the TCP 3, the measuring direction of the sensor 4 and the factor length unit per measured value are determined by means of two search excursions over a reference workpiece which has two edges, and stored in the computer 9 as coordinates in the TCP coordinate system. This information is loaded when the measured value from the sensor is transformed into the absolute coordinates in the robot coordinate system of the point of incidence 5, and is sent to the robot via the serial interface 11. If the system is employed dynamically, that is to say a search excursion over a workpiece to be measured is programmed, then the result is a topographic image of the workpiece in the robot coordinate system, and the robot can be sent process-relevant values, such as gap, length, burr shape etc., in the form of robot coordinates which can easily be processed by the robot. <IMAGE>

Description

AT 406 313 BAT 406 313 B

FLEXIBLES SENSORIKSYSTEM FÜR INDUSTRIEROBOTERFLEXIBLE SENSOR SYSTEM FOR INDUSTRIAL ROBOTS

Dieses Sensorsystem wird im Bereich der Industrieroboter eingesetzt und betrifft auch Schweißroboter und Brennschneidroboter und ist flexibel bezüglich der Montage und der Art des Abstandsensors. Diesem System, bestehend aus einem Abstandsmesskopf, einem Auswerterechner und einer Schnittstelle zur Robotersteuerung, ist weder der Nullpunkt des Abstandsmesskopfes im Roboterkoordinatensystem, noch der Montagewinkel und auch der Faktor Längeneinheit pro Ausgangswert (Strom oder Spannung) bekannt und soll als externes System ohne Kenntnisse der Robotergeometrie oder Anzahl der Achsen auskommen.This sensor system is used in the field of industrial robots and also affects welding robots and flame cutting robots and is flexible with regard to the assembly and the type of distance sensor. This system, consisting of a distance measuring head, an evaluation computer and an interface to the robot control, is not aware of the zero point of the distance measuring head in the robot coordinate system, the mounting angle and the length unit factor per output value (current or voltage) and is intended as an external system without knowledge of the robot geometry or number of axes.

Die derzeitigen Sensorsysteme, grob eingeteilt, sind: - Einfache Systeme zur Lokalisierung des Werkstücks, welche keine absolute Messungen am Werkstück vornehmen können. Diese Verfahren werden von der Robotersteuerung, welche alle Informationen bezüglich der Geometrie und der Kinematik des Roboters gespeichert hat, ausgeführt. - Laserscannerkameras, welche parallel zur Schweißpistole montiert werden und sich auf den TCP nur mit dem Χ,Υ Z Offset referenzieren. Dieser Offset muß mittels händischer Messung ermittelt werden und ist zeitaufwendig. Diese können absolute Messungen am Werkstück vornehmen und z. B. während des Schweißens die Naht verfolgen und so den Verzug korrigieren, ferner prozessrelevante Messungen, wie Nahtvolumen, ermitteln. Diese Systeme besitzen eine eigene externe Steuerung, welche an die Art des Sensorkopfes gebunden ist und welcher die Information bezüglich Sensorkopfmontage und einiger Roboterdaten händisch eingegeben werden muss.The current sensor systems, roughly classified, are: - Simple systems for localizing the workpiece, which cannot take absolute measurements on the workpiece. These processes are carried out by the robot controller, which has stored all information relating to the geometry and the kinematics of the robot. - Laser scanner cameras, which are mounted parallel to the welding gun and only refer to the TCP with the Χ, Υ Z offset. This offset has to be determined by manual measurement and is time-consuming. These can make absolute measurements on the workpiece and z. B. track the seam during welding and thus correct the distortion, also determine process-relevant measurements such as seam volume. These systems have their own external control, which is tied to the type of sensor head and which the information regarding sensor head mounting and some robot data must be entered manually.

Die einzigen derzeit verfügbaren Systeme, welche absolute Messungen vornehmen können, sind die Laserscannerkameras. Bei den meisten Anwendungen, auch beim Schweißen, verzieht sich das Werkstück während des Prozesses nicht. Hier wäre eine Kreuzung eines Systems, welches nur lokalisieren kann und eines Systems, welches auch absolute Messungen am Werkstück vornehmen kann gefragt. Da solch ein System nicht unbedingt, im Gegensatz zu einer Scannerkamera, parallel zur z. B. Schweißpistole des Roboters montiert werden muß, sollten Verfahren gefunden werden, welche es erlauben, den Sensor an einer beliebigen Stelle und in einer beliebigen Orientierung am Roboter befestigen zu können und Suchfahrten frei von Einschränkungen, wie die Orientierung der Achse zu programmieren, und trotzdem absolute Messungen durchführen zu können. Einem externen flexiblen System müssen die Sensorparameter Längeneinheit pro Messwert, Offsetvektor Sensomullpunkt zum TCP und die Messrichtung bekannt sein. Da es sich hier um sieben Parameter handelt (x y z Offset, Messrichtung im Raum und Längeneinheit pro Messwert) und nicht wie bei einer parallel montierten Scannerkamera nur um drei Werte (x y z Offeet) handelt, ist eine automatische Bestimmung notwendig, da eine händische Bestimmung mit viel Zeitaufwand und teuren Lehren nicht sinnvoll ist. Dieses Verfahren bestimmt diese Parameter automatisch in einem Zeitaufwand von 30s.The only systems currently available that can take absolute measurements are the laser scanner cameras. In most applications, including welding, the workpiece does not warp during the process. A cross between a system that can only localize and a system that can also make absolute measurements on the workpiece would be required here. Since such a system is not necessarily, in contrast to a scanner camera, parallel to the z. B. welding gun of the robot must be installed, methods should be found which allow the sensor to be able to be attached to the robot at any point and in any orientation and search runs free of restrictions, such as programming the orientation of the axis, and still to be able to carry out absolute measurements. An external flexible system must know the sensor parameters length unit per measured value, offset vector sensor zero point to TCP and the measurement direction. Since there are seven parameters here (xyz offset, measuring direction in space and length unit per measured value) and not, as with a scanner camera mounted in parallel, only three values (xyz offset), an automatic determination is necessary, since a manual determination with a lot Time and expensive teaching is not useful. This procedure automatically determines these parameters in 30 seconds.

Die Bestimmung der Sensorparameter muss nur einmal, beziehungsweise nach einer Neumontage oder einer Roboterkollision vorgenommen werden. Die Bestimmung der Sensorparameter ist automatisierbar, wenn der Roboter so programmiert wird, dass dieser zum Beispiel nach jeder Schicht das Programm für die Bestimmung der Sensorparameter abarbeitet und so Langzeittoleranzen der Sensoren und AD Wandler kompensiert. Die Bestimmung der Sensorparameter dauert etwa 30s. Müssen die Sensorparameter händisch bestimmt werden, wie eben bei den derzeit bekannten Systemen, so ist mit einem Zeitaufwand von etwa 6 Stunden zu rechnen und muss unbedingt von qualifizierten Personal vorgenommen werden, da hier sieben Parameter bestimmt werden müssen. Bei Systemen, die bei der Montage und der Wahl des Sensorkopfes nicht so flexibel sind, müssen nur drei Parameter, x y z Offset, bestimmt werden, was einen vertretbaren Zeitaufwand bei der händischen Bestimmung erfordert. Ferner gibt es derzeit keinen Sensor, welcher prozessrelevante Messungen in beengter Umgebung durchführen kann, da die Laserscannerkameras für solche Aufgaben zu groß und in der Montage zu unflexibel sind.The determination of the sensor parameters only has to be carried out once, or after a new assembly or a robot collision. The determination of the sensor parameters can be automated if the robot is programmed so that it processes the program for determining the sensor parameters after each shift, for example, and thus compensates for long-term tolerances of the sensors and AD converters. The determination of the sensor parameters takes about 30s. If the sensor parameters have to be determined manually, as with the currently known systems, a time expenditure of about 6 hours can be expected and must be carried out by qualified personnel, since seven parameters have to be determined here. For systems that are not so flexible in the assembly and selection of the sensor head, only three parameters, x y z offset, need to be determined, which requires a reasonable amount of time for manual determination. Furthermore, there is currently no sensor that can carry out process-relevant measurements in a confined space, since the laser scanner cameras are too large for such tasks and too inflexible in assembly.

Das Patent WO 94 / 04968 A1 beschreibt ein Verfahren, wie ein Laserbrennschneider über die Oberfläche des Werkstückes bewegt wird und der Anstellwinkel beliebig verändert werden kann. Die Koordinaten des Brennstrahlfokus werden händisch bestimmt und über die Winkel der 4ten und 5ten Achse in das Roboterkoordinatensystem transformiert. Die Linearachsen werden so 2Patent WO 94/04968 A1 describes a method of how a laser flame cutter is moved over the surface of the workpiece and the angle of attack can be changed as desired. The coordinates of the focal beam focus are determined manually and transformed into the robot coordinate system via the angles of the 4th and 5th axes. The linear axes become 2

AT 406 313 B angesteuert, daß der Auftreffpunkt des Schneidstrahlfokus bei einer Anstellungsänderung konstant bleibt und so ein konstanter Abstand zwischen Brennerdüse und Werkstück eingehalten wird. Es wird ein neues Koordinatensystem, dessen Ursprung der Fokus ist, eingeführt und das Schnittprogramm wird in diesem neuen Koordinatensystem programmiert. So kann die Orientierung des Werkstückes kompensiert werden. Das jetzt präsentierte Verfahren unterscheidet sich von dem Verfahren, beschrieben im Patent WO 94 / 04968, in folgenden Punkten:AT 406 313 B controlled that the point of incidence of the cutting beam focus remains constant in the event of a change in position, and thus a constant distance between the torch nozzle and the workpiece is maintained. A new coordinate system, the origin of which is the focus, is introduced and the cutting program is programmed in this new coordinate system. In this way the orientation of the workpiece can be compensated. The method now presented differs from the method described in patent WO 94/04968 in the following points:

Aufgabenstellung:Task:

Das Verfahren, beschrieben im Patent WO 94 / 04968 A1 bestimmt die Orientierung des Werkstückes und hält den Abstand während des Prozesses konstant.The method described in patent WO 94/04968 A1 determines the orientation of the workpiece and keeps the distance constant during the process.

Das jetzt präsentierte Verfahren lokalisiert ein Werkstück und kompensiert die Orientierung und die Verschiebung. Ferner werden prozessrelevante Werte, wie Nahtlänge Spalt Gratform etc., gemessen.The method now presented localizes a workpiece and compensates for the orientation and the displacement. Process-relevant values such as seam length, gap, ridge shape, etc. are also measured.

Art des Sensorkopfes:Type of sensor head:

Das Verfahren, beschrieben im Patent WO 94 / 04968 A1 braucht einen Sensorkopf, dessen Messachse in Verlängerung der letzten Roboterachse verläuft.The method described in patent WO 94/04968 A1 requires a sensor head whose measuring axis extends in the extension of the last robot axis.

Das jetzt präsentierte Verfahren hat diese Einschränkung nicht. Die Messachse kann in beliebiger Orientierung zur Verlängerung jener Achse verlaufen, an der der Sensor montiert ist. Rücktransformation:The method now presented does not have this limitation. The measuring axis can run in any orientation to extend the axis on which the sensor is mounted. Reverse transformation:

Das Verfahren, beschrieben im Patent WO 94 / 04968A1 verwendet die Achswinkel der 4. und 5. Achse um den Fokus und die Programmpunkte in das Roboterkoordinatensystem zu transformieren. Ferner muss für die Kompensation der Orientierung des Werkstückes ein neues Koordinatensystem, dessen Ursprung im Fokus liegt, händisch definiert werden.The method described in patent WO 94 / 04968A1 uses the axis angles of the 4th and 5th axes to transform the focus and the program points into the robot coordinate system. Furthermore, to compensate for the orientation of the workpiece, a new coordinate system, the origin of which is in focus, must be defined manually.

Das jetzt präsentierte Verfahren verwendet die Rotationsmatrix des TCP Koordinatensystems, welches bei jedem Standardroboter vorhanden ist, den Sensomullpunkt und die Orientierung der Messlinie für die Rücktransformation. Das jetzt präsentierte Verfahren benötigt kein eigens zu definierendes Koordinatensystem.The method now presented uses the rotation matrix of the TCP coordinate system, which is available with every standard robot, the sensor zero point and the orientation of the measuring line for the back transformation. The method now presented does not require a coordinate system to be defined specifically.

Bestimmung des Sensors:Determination of the sensor:

Das Verfahren, beschrieben im Patent WO 94 / 04968 A1 setzt eine händische Bestimmung des Fokus voraus.The method described in patent WO 94/04968 A1 requires a manual determination of the focus.

Das jetzt präsentierte Verfahren bestimmt alle für die Rücktransformation notwendigen Sensorparameter automatisch.The method now presented automatically determines all the sensor parameters required for the reverse transformation.

Das Patent GB 2 232 504 A beschreibt Verfahren zur Hebung des Programmierkomforts eines Industrieroboters, indem neue Koordinatensysteme eingeführt werden und die Bewegung des Roboters in diesen neuen Koordinatensystemen ausgeführt werden. Die Rücktransformation der anzufahrenden Punkte erfolgt mittels der Rotationsmatrix des neuen Koordinatensystems. Die Berechnung erfolgt in der Robotersteuerung, welcher alle Informationen bezüglich der Robotergeometrie und Kinematik bekannt sind. Das jetzt präsentierte Verfahren verwendet neben der Orientierung der Messlinie und den Koordinaten des Sensomullpunktes und anderer Berechnungen, auch die Rotationsmatrix des TCP Koordinatensystems, wie im Patent GB 2 232 504 A beschrieben. Mit dieser Berechnungsmethode werden aber komplett andere Ziele verfolgt wie im Patent GB 2 232 504 A beschrieben. Ferner wird für die Art der Berechnung kein Schutz begehrtThe patent GB 2 232 504 A describes methods for increasing the programming convenience of an industrial robot by introducing new coordinate systems and the movement of the robot in these new coordinate systems. The points to be moved back are transformed using the rotation matrix of the new coordinate system. The calculation takes place in the robot controller, which knows all information regarding the robot geometry and kinematics. In addition to the orientation of the measuring line and the coordinates of the sensor zero point and other calculations, the method now presented also uses the rotation matrix of the TCP coordinate system, as described in patent GB 2 232 504 A. With this calculation method, however, completely different goals are pursued as described in patent GB 2 232 504 A. Furthermore, no protection is sought for the type of calculation

FIGURENÜBERSICHTFIGURE OVERVIEW

Fig.1 zeigt das Gesamtsystem, bestehend aus einem Abstandsensor (2), montiert auf der letzten Roboterachse mit einer Schweißpistole (1) als Beispiel, einer Sensorauswerteeinheit (7), welche eine Analogspannung proportional der Entfernung ausgibt einem A/D Wandler (10), einem Rechner (9) für die mathematische Auswertung und Kommunikation mit dem Roboterrechner (12) über die serielle Schnittstelle (11) und einem digitalen Ausgang (46) des Roboterrechners mittels digital I/O Interface (45). 31 shows the overall system, consisting of a distance sensor (2), mounted on the last robot axis with a welding gun (1) as an example, a sensor evaluation unit (7) which outputs an analog voltage proportional to the distance to an A / D converter (10) , a computer (9) for the mathematical evaluation and communication with the robot computer (12) via the serial interface (11) and a digital output (46) of the robot computer by means of a digital I / O interface (45). 3rd

AT 406 313 BAT 406 313 B

Fig.2 zeigt Den Abstandsensor (2) mit den für die Berechnung des Schnittpunktes (5) der Messrichtung (4) mit der Werkstückoberfläche (16) notwendigen Vektoren (13)(15) und den Nullpunkt (14) des Sensors.2 shows the distance sensor (2) with the vectors (13) (15) necessary for calculating the intersection (5) of the measuring direction (4) with the workpiece surface (16) and the zero point (14) of the sensor.

Fig.3 zeigt den Vorgang der Bestimmung der Sensormontage mittels Suchfahrten über den Kanten (33) eines Referenzwerkstückes. Der TCP (3) bewegt sich auf den Geraden (23) und (24) und der Laserstrahl tastet das Werkstück entlang der Linien (17) und (18) ab.3 shows the process of determining the sensor assembly by means of search runs over the edges (33) of a reference workpiece. The TCP (3) moves on the straight lines (23) and (24) and the laser beam scans the workpiece along the lines (17) and (18).

Fig.4 zeigt die Vektoren für die Berechnung der Sensormontage nach Suchfahrt (18)4 shows the vectors for the calculation of the sensor assembly after the search run (18)

Fig.5 zeigt die Vektoren für die Berechnung der Sensormontage nach Suchfahrt (17)5 shows the vectors for the calculation of the sensor assembly after the search run (17)

Fig.6 zeigt die graphische Darstellung der Sensormesswerte und des digitalen6 shows the graphic representation of the sensor measured values and the digital one

Roboterausganges am Bildschirm (37) des PC (9).Robot output on the screen (37) of the PC (9).

Fig.7 zeigt die graphische Darstellung der Sensormesswerte und des digitalen7 shows the graphic representation of the sensor measured values and the digital one

Roboterausganges am Bildschirm (37) des PC (9) nach einer Suchfahrt über einen Grat einer Kante. Für die Verifizierung des Messverfahrens wird ein Laserabstandsmesskopf (2) mit einer Auswerteeinheit (7), welche den Messkopf über das Sensorkabel (6) ansteuert und eine Analogspannung ausgibt, verwendet. Die Auswerteeinheit ist mit dem Kabel (8) mit einer A/D Wandler PC-Einschubkarte (10) verbunden. Die digitalen Werte werden im PC (9) weiterverarbeitet. Der PC (9) kommuniziert über die serielle Schnittstelle (11) mit dem Roboterrechner (12). Der digitale Ausgang (46) des Roboterrechners (12) wird mit einer digitalen Eingangskarte (45) verbunden.Robot output on the screen (37) of the PC (9) after a search run over a ridge of an edge. A laser distance measuring head (2) with an evaluation unit (7), which controls the measuring head via the sensor cable (6) and outputs an analog voltage, is used to verify the measuring method. The evaluation unit is connected with the cable (8) to an A / D converter PC plug-in card (10). The digital values are processed in the PC (9). The PC (9) communicates with the robot computer (12) via the serial interface (11). The digital output (46) of the robot computer (12) is connected to a digital input card (45).

Bevor mit der eigentlichen Vermessung der Lage des Werkstückes begonnen wird, muss der Offsetvektor (13) des Sensomullpunktes (14), der Messrichtungsvektor (15) und der Faktor Längeneinheit pro Ausgangswert (Strom oder Spannung) bestimmt werden.Before the actual measurement of the position of the workpiece is started, the offset vector (13) of the sensor zero point (14), the measurement direction vector (15) and the factor length unit per output value (current or voltage) must be determined.

Vorgangsweise:Procedure:

Ermitteln der Sensorparameter, diese sind Sensormessrichtungsvektor (15), des Offsetvektors (13) des Sensomullpunktes (14) und des Faktors Längeneinheit pro Messwert:Determine the sensor parameters, these are the sensor measurement direction vector (15), the offset vector (13) of the sensor zero point (14) and the factor length unit per measured value:

Schritt 1:Step 1:

Der Roboter wird so programmiert, dass er dem PC (9) die Koordinaten des TCP (3) und die Anstellung des TCP (3) am Beginn und am Ende der Suchbewegung senden kann. Ferner wird der Roboter so programmiert, dass er die Suchfahrt in vier gleichlange Strecken zerlegt und am Übergang von einer Strecke zur anderen Strecke einen digitalen Ausgang(46) invertiert. Ist der Ausgang gesetzt wird er zurückgesetzt, ist der Ausgang zurückgesetzt wird er gesetzt.The robot is programmed so that it can send the coordinates of the TCP (3) and the employment of the TCP (3) to the PC (9) at the beginning and at the end of the search movement. Furthermore, the robot is programmed so that it divides the search run into four routes of equal length and inverts a digital output (46) at the transition from one route to the other. If the output is set it is reset, if the output is reset it is set.

Schritt 2:Step 2:

Ein Referenzwerkstück, welches zwei für den Sensor erkennbare Kanten hat, wird im Roboterarbeitsbereich fix angebrachLA reference workpiece, which has two edges that can be recognized by the sensor, is permanently attached in the robot work area

Schritt 3:Step 3:

Definition der Kanten des Referenzwerkstückes:Definition of the edges of the reference workpiece:

Es werden die Koordinaten im Robotersystem des Eckpunktes (34), sowie zwei Punkte (35,36) auf den Kanten (33) selbst dem PC eingegeben. Dieser speichert die Werte ab.The coordinates in the robot system of the corner point (34) and two points (35, 36) on the edges (33) themselves are entered into the PC. This saves the values.

Schritt 4:Step 4:

Es wird ein Roboterschrittprogramm erstellt, das den Sensor mittels zwei verschiedene Suchfahrten über das Referenzwerkstück bewegt. Die Suchfahrten müssen parallel zu der Fläche des Referenzwerkstückes ausgeführt werden und der Sensormesspunkt muss beide Kanten erfassen können. Die Orientierung der Messrichtung (4) des Sensorkopfes (2) ist frei wählbar.A robot step program is created that moves the sensor over the reference workpiece using two different search runs. The search runs must be carried out parallel to the surface of the reference workpiece and the sensor measuring point must be able to detect both edges. The orientation of the measuring direction (4) of the sensor head (2) can be freely selected.

Schritt 5:Step 5:

Suchfahrten:Search trips:

Nun sendet der Robotenrechner (12) die Koordinaten und die Anstellung des TCP (3) am Beginn und am Ende der Suchfahrt mittels serieller Schnittstelle (11) zum PC (9), und die 4Now the robot computer (12) sends the coordinates and the setting of the TCP (3) at the beginning and at the end of the search run via serial interface (11) to the PC (9), and the 4th

AT 406 313 BAT 406 313 B

Suchfahrt selbst wird gestartet. Der Laserstrahl tastet das Referenzwerkstück entlang der Linie (17) ab. Dazu bewegt sich der TCP (3) auf der Geraden (23) im Raum. Während der Suchfahrt wird der Messwert des Sensors und der Zustand des digitalen Ausganges (46) eingelesen. Die zweite Suchfahrt auf der Geraden (24) folgt unmittelbar der ersten Suchfahrt. Das ergibt somit zwei Zeilenbilder (38)(39) des Referenzwerkstückes. Diese Zeilenbilder können auch graphisch am Bildschirm (37) dargestellt werden. In Fig.5 sieht man die graphische Darstellung der zwei Abtastungen (38)(39) und den Wert (44) des digitalen Roboterausganges (46). Die Aufzeichnung der Werte beginnt mit der steigenden Flanke, welche am Beginn der Suchfahrt gesetzt wird, und endet an der zweiten fallenden Flanke des digitalen Ausganges (46), welche das Ende der Suchfahrt markiert. Die über die serielle Schnittstelle übertragenen Koordinaten sind die Koordinaten des TCP (3) an jenen Stellen, wo der digitale Ausgang (46) die erste steigende Flanke und die zweite fallende Flanke schaltet.Search run itself is started. The laser beam scans the reference workpiece along the line (17). To do this, the TCP (3) moves on the straight line (23) in space. The measured value of the sensor and the status of the digital output (46) are read in during the search run. The second search run on the straight line (24) immediately follows the first search run. This results in two line images (38) (39) of the reference workpiece. These line images can also be displayed graphically on the screen (37). 5 shows the graphical representation of the two samples (38) (39) and the value (44) of the digital robot output (46). The recording of the values begins with the rising edge, which is set at the start of the search run, and ends at the second falling edge of the digital output (46), which marks the end of the search run. The coordinates transmitted via the serial interface are the coordinates of the TCP (3) at those points where the digital output (46) switches the first rising edge and the second falling edge.

Schritt 6:Step 6:

Berechnung der Punkte (25) (26) (27) (28):Calculation of points (25) (26) (27) (28):

Die Koordinaten des TCP (3) an jenen Stellen, an den der Ausgang (46) die erste fallende Flanke und die zweite steigende Flanke schaltet, werden berechnet. Da die Koordinaten der ersten und letzten Flanke bekannt sind, ist dies sehr einfach. Der PC sucht in den beiden Zeilenbildern (38)(39) die Kantenpunkte (40) (41) (42) (43) des Referenzwerkstückes. Mittels Interpolation der Koordinaten der Flanken des Signals (44) können leicht jene Koordinaten (25) (26) (27) (28) berechnet werden, welche der TCP(3) hatte, als der Laserstrahl die Kantenpunkte (19) (20) (21) (22) des Referenzwerkstückes getroffen hat.The coordinates of the TCP (3) at those points at which the output (46) switches the first falling edge and the second rising edge are calculated. Since the coordinates of the first and last flanks are known, this is very easy. The PC looks for the edge points (40) (41) (42) (43) of the reference workpiece in the two line images (38) (39). By interpolating the coordinates of the edges of the signal (44), those coordinates (25) (26) (27) (28) that the TCP (3) had when the laser beam reached the edge points (19) (20) ( 21) (22) of the reference workpiece.

Schritt 7:Step 7:

Berechnung der Koordinaten der Punkte (19) (20) (21) (22):Calculation of the coordinates of the points (19) (20) (21) (22):

Die Strecken zwischen den Punkten (25) und (27) sowie den Punkten (26) (28) sind gleich lang wie die Strecken zwischen den Punkten (19) und (21) und den Punkten (20) (22), wenn die Suchfahrt parallel zur Oberfläche des Referenzwerkstückes war. Mit der Länge und den Punkten (34) (35) (36) lassen sich die Koordinaten der Punkte (19) (20) (21) (22) berechnen aus den Dreiecken, gebildet aus den Punkten (34) (19) (21) und (34) (20) (22).The distances between points (25) and (27) and points (26) (28) are the same length as the distances between points (19) and (21) and points (20) (22) when the search run was parallel to the surface of the reference workpiece. With the length and the points (34) (35) (36), the coordinates of the points (19) (20) (21) (22) can be calculated from the triangles, formed from the points (34) (19) (21 ) and (34) (20) (22).

Schritt 8:Step 8:

Berechnung des Offsetvektors (13), dem Messrichtungsvektor (15) und dem Faktor Längeneinheit pro Messwert:Calculation of the offset vector (13), the measuring direction vector (15) and the factor length unit per measured value:

Fig. 4 zeigt das Vektorenmodell für Punkt C1 (19). Vektor (32) zeigt vom Koordinatenursprung (30) zu Punkt T1 (25) und ist ident mit den errechneten Koordinaten von Schritt 6. Vektor (31) zeigt vom Koordinatenursprung zu Punkt C1 (19) und ist ident mit den errechneten Koordinaten von Schritt 7.Fig. 4 shows the vector model for point C1 (19). Vector (32) points from the coordinate origin (30) to point T1 (25) and is identical to the calculated coordinates from step 6. Vector (31) points from the coordinate origin to point C1 (19) and is identical to the calculated coordinates from step 7 .

Fig. 5 zeigt das Vektorenmodell für Punkt C2 (20). Vektor (48) zeigt vom Koordinatenursprung (30) zu Punkt T2 (26) und ist ident mit den errechneten Koordinaten von Schritt 6. Vektor (47) zeigt vom Koordinatenursprung zu Punkt C2 (20) und ist ident mit den errechneten Koordinaten von Schritt 7.5 shows the vector model for point C2 (20). Vector (48) points from the coordinate origin (30) to point T2 (26) and is identical to the calculated coordinates from step 6. Vector (47) points from the coordinate origin to point C2 (20) and is identical to the calculated coordinates from step 7 .

Mit den in den Schritten 6 und 7 errechneten Koordinaten, welche Vektoren vom Robotemullpunkt (30) sind, wird nun Vektor A (13), Messrichtungs Vektor b (15) und der Faktor Längeneinheit pro Messwert V errechnet werden. Die Vektoren (29) und (49) ergeben sich aus der Multiplikation von Einheitsvektor b (15) mit dem Messwert M mal Faktor V ist gleich der Längeneinheit pro Messwert.With the coordinates calculated in steps 6 and 7, which vectors are from the robot zero point (30), vector A (13), measuring direction vector b (15) and the factor length unit per measured value V will now be calculated. The vectors (29) and (49) result from the multiplication of unit vector b (15) by the measurement value M times the factor V is equal to the length unit per measurement value.

Berechnung von A, b und V: Für die Berechnung werden C1 (19) und C2 (20), sowie T1 (25) und T2 (26) herangezogen.Calculation of A, b and V: C1 (19) and C2 (20), as well as T1 (25) and T2 (26) are used for the calculation.

Der Ansatz A + V M b = C1 - T1 Fig. 4 A + VMb = C2-T2 Fig.5 bx bx + by by + bz bz = 1 b ist Einheitsvektor M.......Messwert des Sensors liefert die Lösung: V = +/- SQRT(((C1x - Cx2 -Tx1 + Tx2)(C1x - Cx2 -Tx1 + Tx2) + (Cly - Cy2 -Ty1 + Ty2)(C1y - Cy2 -Ty1 + Ty2) + 5The approach A + VM b = C1 - T1 Fig. 4 A + VMb = C2-T2 Fig. 5 bx bx + by by + or bz = 1 b is unit vector M ....... The measured value of the sensor provides the solution : V = +/- SQRT (((C1x - Cx2 -Tx1 + Tx2) (C1x - Cx2 -Tx1 + Tx2) + (Cly - Cy2 -Ty1 + Ty2) + (C1y - Cy2 -Ty1 + Ty2) + 5

AT 406 313 B (C1z - Cy2 -Tz1 + Tz2)(C1z - Cz2 -Tz1 + Tz2)) / (M1-M2) (M1-M2)) bx = (C1x - Cx2 -Tx1 + Tx2) / V (M1 - M2) by = (C1y - Cy2 -Ty1 + Ty2) / V (M1 - M2) bz = (C1z-Cz2-Tz1 +Tz2)/V(M1 - M2) A = C1 - TI -VMbAT 406 313 B (C1z - Cy2 -Tz1 + Tz2) (C1z - Cz2 -Tz1 + Tz2)) / (M1-M2) (M1-M2)) bx = (C1x - Cx2 -Tx1 + Tx2) / V (M1 - M2) by = (C1y - Cy2 -Ty1 + Ty2) / V (M1 - M2) or = (C1z-Cz2-Tz1 + Tz2) / V (M1 - M2) A = C1 - TI -VMb

Das Vorzeichen ist die Hauptrichtung des Laserstrahls im Roboterkoordinatensystem und muß bekannt sein. Z.B. Richtung +Z dann Vorzeichen plus, Richtung -Z dann Vorzeichen minus. Vektor A (13) und b (15) sind nun Vektoren im Roboterkoordinatensystem. Wird nun ein Werkstück vermessen, muss die Orientierung des TCP (3) gleich der Orientierung der bisherigen Suchfahrten sein. Dies ist jedoch eine Einschränkung, welches das Sensorsystem für die Praxis untauglich macht. Dieses Problem wird gelöst, wenn die Vektoren A (13) und b (15) in das TCP (3) Koordinatensystem transformiert werden. Im Schritt 5 wurde bereits die Anstellung des TCP (3) zum PC gesendet. Diese Anstellung ist die Rotationsmatrix R des TCP Koordinatensystems im Roboterkoordinatensystem oder wird aus der übertragenen Orientierung errechnet.The sign is the main direction of the laser beam in the robot coordinate system and must be known. E.g. Direction + Z then sign plus, direction -Z then sign minus. Vector A (13) and b (15) are now vectors in the robot coordinate system. If a workpiece is now measured, the orientation of the TCP (3) must be the same as the orientation of the previous search runs. However, this is a limitation that makes the sensor system unsuitable for practical use. This problem is solved if the vectors A (13) and b (15) are transformed into the TCP (3) coordinate system. In step 5 the employment of the TCP (3) was already sent to the PC. This position is the rotation matrix R of the TCP coordinate system in the robot coordinate system or is calculated from the transmitted orientation.

Asx = Ax R11 + Ay R21 + Az R31 Asy = Ax R12 + Ay R22 + Az R32 Asz = Ax R13 + Ay R23 + Az R33 bsx = bx R11 + by R21 + bz R31 bsy = bx R12 + by R22 + bz R32 bsz = bx R13 + by R23 + bz R33Asx = Ax R11 + Ay R21 + Az R31 Asy = Ax R12 + Ay R22 + Az R32 Asz = Ax R13 + Ay R23 + Az R33 bsx = bx R11 + by R21 + or R31 bsy = bx R12 + by R22 + or R32 bsz = bx R13 + by R23 + or R33

Vektor As und bs sind somit von der Anstellung der bisher gemachten Suchfahrten entkoppelt und auf den TCP (3) bezogen. Vektor As, bs und Faktor V werden abgespeichert. Mit diesem Vorgang hat man auch den Nullpunktoffset, sowie den Übersetzungsfaktor (Volt oder mA) pro Bit des A/D Wandlers automatisch mitbestimmt. Solch eine Bedienerfreundlichkeit bietet derzeit kein anderes Verfahren.Vector As and bs are thus decoupled from the previous search runs and refer to the TCP (3). Vector As, bs and factor V are saved. With this process, the zero point offset and the translation factor (volt or mA) per bit of the A / D converter are also automatically determined. No other method currently offers such ease of use.

Ermittlung der Koordinaten des Laserauftreffpunktes (5) im Roboterfcoordinatensystem ohne Suchfahrt, um Punkte an der Werkstückoberfläche (16) im Roboter weiterzuverarbeiten:Determination of the coordinates of the laser impact point (5) in the robot coordinate system without a search run in order to further process points on the workpiece surface (16) in the robot:

Diese Punkte können verwendet werden, um eine Füllstandsmessung vorzunehmen oder die Höhe des Werkstückes zu ermitteln, oder mit drei Punkten die Orientierung einer Oberfläche zu bestimmen.These points can be used to carry out a level measurement or to determine the height of the workpiece, or to determine the orientation of a surface with three points.

Schritt 1:Step 1:

Der Roboter wird so programmiert, dass er die Koordinaten und die Orientierung des TCP(3) dem PC (9) über die serielle Schnittstelle (11) sendet.The robot is programmed so that it sends the coordinates and the orientation of the TCP (3) to the PC (9) via the serial interface (11).

Schritt 2:Step 2:

Der PC (9) hat nun die Orientierung R und die Koordinaten TCP empfangen.The PC (9) has now received the orientation R and the coordinates TCP.

Schritt 3:Step 3:

Die Vektoren As und bs und der Faktor V werden geladen.The vectors As and bs and the factor V are loaded.

Schritt 4:Step 4:

Pr(5) = As(13) + bs(15) V M Fig.2 V.....Übersetzungsfaktor des Sensors (Längeneinheit / Messwert M) M......MesswertPr (5) = As (13) + bs (15) V M Fig. 2 V ..... translation factor of the sensor (length unit / measured value M) M ...... measured value

Pr (5) ist somit der Auftreffpunkt des Laserstrahls im TCP Koordinatensystem an der Werkstückoberfläche( 16).Pr (5) is thus the point of incidence of the laser beam in the TCP coordinate system on the workpiece surface (16).

Schritt 5:Step 5:

Nun wird Pr(5) mit der Rotationsmatrix R in das Roboterkoordinatensystem transformiert.Now Pr (5) is transformed with the rotation matrix R into the robot coordinate system.

Px = TCPx R11 + TCPy R12 + TCPz R13 + TCPx Py = TCPx R21 + TCPy R22 + TCPz R23 + TCPy 6Px = TCPx R11 + TCPy R12 + TCPz R13 + TCPx Py = TCPx R21 + TCPy R22 + TCPz R23 + TCPy 6

Claims (4)

AT 406 313 B Pz = TCPx R31 + TCPy R32 + TCPz R33 + TCPz Schritt 6: Die Koordinaten von P(5) werden über die serielle Schnittstelle (11) dem Roboter gesendet. Ermittlung der Koordinaten und der Höhe eines Grates mittels einer Suchfahrt: Schritt 1: Der Roboter wird so programmiert, dass der Sensorkopf über das Werkstück geführt wird, wobei die Orientierung der Messrichtung und die Suchfahrtrichtung frei wählbar ist. Am Beginn der Suchfahrt sendet der Roboter dem PC die Koordinaten und die Orientierung des Anfangs und Endpunktes. SchrittAT 406 313 B Pz = TCPx R31 + TCPy R32 + TCPz R33 + TCPz Step 6: The coordinates of P (5) are sent to the robot via the serial interface (11). Determination of the coordinates and the height of a burr by means of a search run: Step 1: The robot is programmed so that the sensor head is guided over the workpiece, the orientation of the measurement direction and the search travel direction being freely selectable. At the start of the search run, the robot sends the PC the coordinates and the orientation of the start and end point. step 2: Nach der Suchfahrt werden die Koordinaten der Punkte (50) (51) (52) im Zeilenbild mit Hilfe des Signals des Roboterausganges (46) errechnet. Es wird die selbe Methode angewendet, welche bei der Ermittlung der Sensorparameter Schritt 6 verwendet wurde. Die drei Koordinaten sind die Koordinaten des TCP an der Stelle, an der der Laserstrahl die Punkte (50) (51) (52) an dem Werkstück getroffen hat. Schritt2: After the search run, the coordinates of the points (50) (51) (52) in the line image are calculated with the aid of the signal from the robot output (46). The same method is used which was used in the determination of the sensor parameters step 6. The three coordinates are the coordinates of the TCP at the point where the laser beam hit the points (50) (51) (52) on the workpiece. step 3: Diese Koordinaten werden nun in Auftreffpunkte transformiert. Es ist die selbe Methode, angewendet bei der Ermittlung des Auftreffpunktes Schritt 3 Schritt 4 und Schritt 5. Schritt3: These coordinates are now transformed into impact points. It is the same method used in determining the point of impact step 3 step 4 and step 5 4: Die Koordinaten der drei Auftreffpunkte des Laserstrahls, vor auf und nach dem Grat, werden dem Roboter gesendet. Patentansprüche: 1. Verfahren zur Bestimmung der absoluten Koordinaten des Auftreffpunktes eines Abstandsensors, montiert an einem Roboter, an einer Werkstückoberfläche mit Hilfe eines Sensorsystems, welches mit der Robotersteuerung kommuniziert und die Position und die Orientierung des TCP (3) ermitteln kann und Koordinatentransformationen mit Hilfe der Rotationsmatrix errechnet, dadurch gekennzeichnet, dass ein Referenzwerkstück, welches zwei für den Sensor erkennbare Kanten hat im Roboterarbeitsbereich fix angebracht wird und die Koordinaten im Robotersystem des Eckpunktes (34), sowie zwei Punkte (35)(36) auf den Kanten (33) der Sensorsteuerung eingegeben und abgespeichert werden, dass danach der Abstandsensor, welcher am Roboter beliebig bezüglich des Offsets des Nullpunktes des Sensors zum TCP (3) und bezüglich der Orientierung der Messrichtung des Sensors montiert ist, mittels zweier verschiedener Suchfahrten, welche parallel zu der Referenzwerkstückoberfläche sind, welche ferner so programmiert sind, dass der Auftreffpunkt des Sensors beide Kanten (33) des Referenzwerkstückes überstreicht, über das Referenzwerkstück bewegt wird und dabei die Sensorwerte zugleich mit den Koordinaten des TCP (3) von der Sensorsteuerung eingelesen und abgespeichert werden, um nach den Suchfahrten jene Koordinaten des TCP (3) zu berechnen wo der Sensorpunkt genau die Kante des Referenzwerkstückes während der Suchfahrten getroffen hat, um aus der Länge zwischen dem Punkt (25) und dem Punkt (27), dem Punkt (34) dem Punkt (35) und dem Punkt (36), die Koordinaten des Punktes (19) zu berechnen, und um aus der Länge zwischen dem Punkt (26) und dem Punkt (28), dem Punkt (34) dem Punkt (35) und dem Punkt (36), die Koordinaten des Punktes (20) zu berechnen, danach den Punkt (19) den Punkt (20) den Punkt (25) und den Punkt (26) in die Beziehung Vektor (13) + Längeneinheit pro Messwert * Messwert * Einheitsvektor (15) = Punkt (19) - Punkt (25) und in die Beziehung Vektor (13) + Längeneinheit pro Messwert * Messwert * Einheitsvektor (15) = Punkt (20) - Punkt (26) eingesetzt wird, um daraus den Faktor Längeneinheit pro Messwert, den Vektor (13) und den Einheitsvektor (15) in der Sensorsteuerung zu berechnen und mit der Rotationsmatrix des TCP (3) die Vektoren (13) und (15) in das Koordinatensystem des TCP (3) zu transformieren und abzuspeichem, um bei der Bestimmung der absoluten Koordinaten des Auftreffpunktes (5) des Abstandsensors (2) an einer Werkstückoberfläche (16) geladen zu werden, und dass danach der Messwert des Sensors in die Beziehung Punkt (5) = Vektor (13) + Vektor (15) * Längeneinheit pro Messwert * Messwert eingesetzt wird, welche den Auftreffpunkt Punkt 7 AT 406 31 3 B (5) als Ergebnis im TCP (3) Koordinatensystem liefert und nun mit Hilfe der Rotationsmatrix des TCP (3) in das Roboterkoordinatensystem transformiert wird und dem Roboter gesendet wird. Hiezu 3 Blatt Zeichnungen 84: The coordinates of the three points of impact of the laser beam, before and after the ridge, are sent to the robot. Claims: 1. Method for determining the absolute coordinates of the point of impact of a distance sensor, mounted on a robot, on a workpiece surface using a sensor system that communicates with the robot controller and can determine the position and orientation of the TCP (3) and coordinate transformations with the help of the rotation matrix, characterized in that a reference workpiece which has two edges recognizable for the sensor is fixedly attached in the robot work area and the coordinates in the robot system of the corner point (34), and two points (35) (36) on the edges (33) The sensor control can be entered and saved so that the distance sensor, which is mounted on the robot as required with regard to the offset of the sensor's zero point to the TCP (3) and with regard to the orientation of the measuring direction of the sensor, is then carried out using two different search runs, which are parallel to the reference workpiece surface , wel are also programmed so that the point of impact of the sensor sweeps over both edges (33) of the reference workpiece, is moved over the reference workpiece and the sensor values are simultaneously read in and stored by the sensor controller with the coordinates of the TCP (3) in order to search for the search to calculate those coordinates of the TCP (3) where the sensor point exactly hit the edge of the reference workpiece during the search runs, in order to use the length between the point (25) and the point (27), the point (34) and the point (35) and the point (36) to calculate the coordinates of the point (19) and, from the length between the point (26) and the point (28), the point (34), the point (35) and the point (36 ) to calculate the coordinates of the point (20), then the point (19) the point (20) the point (25) and the point (26) in the relationship vector (13) + unit of length per measured value * measured value * unit vector ( 15) = point (19) - point (25) and in the relationship vector (13) + length unit per measured value * measured value * unit vector (15) = point (20) - point (26) is used to derive the factor length unit per measured value, the vector (13) and the unit vector (15) in the sensor control calculate and with the rotation matrix of the TCP (3) transform the vectors (13) and (15) into the coordinate system of the TCP (3) and save them in order to determine the absolute coordinates of the point of impact (5) of the distance sensor (2) a workpiece surface (16), and that the measured value of the sensor is then used in the relationship point (5) = vector (13) + vector (15) * length unit per measured value * measured value, which is the point of impact point 7 AT 406 31 3 B (5) returns the result in the TCP (3) coordinate system and is now transformed into the robot coordinate system using the rotation matrix of the TCP (3) and sent to the robot. Including 3 sheets of drawings 8
AT113695A 1995-07-04 1995-07-04 Flexible sensor system for industrial robots AT406313B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AT113695A AT406313B (en) 1995-07-04 1995-07-04 Flexible sensor system for industrial robots

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AT113695A AT406313B (en) 1995-07-04 1995-07-04 Flexible sensor system for industrial robots

Publications (2)

Publication Number Publication Date
ATA113695A ATA113695A (en) 1999-08-15
AT406313B true AT406313B (en) 2000-04-25

Family

ID=3507382

Family Applications (1)

Application Number Title Priority Date Filing Date
AT113695A AT406313B (en) 1995-07-04 1995-07-04 Flexible sensor system for industrial robots

Country Status (1)

Country Link
AT (1) AT406313B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015110247B3 (en) * 2015-06-25 2016-11-10 IST Industrie Service & Technik GmbH Modular clamping system, machine tool and process for the reproducible, positionally precise clamping of different clamping jaws

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2232504A (en) * 1989-05-23 1990-12-12 Honda Motor Co Ltd Method of teaching a robot
WO1994004968A1 (en) * 1992-08-14 1994-03-03 Lumonics Corporation Robotic movement of object over a workpiece surface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2232504A (en) * 1989-05-23 1990-12-12 Honda Motor Co Ltd Method of teaching a robot
WO1994004968A1 (en) * 1992-08-14 1994-03-03 Lumonics Corporation Robotic movement of object over a workpiece surface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015110247B3 (en) * 2015-06-25 2016-11-10 IST Industrie Service & Technik GmbH Modular clamping system, machine tool and process for the reproducible, positionally precise clamping of different clamping jaws

Also Published As

Publication number Publication date
ATA113695A (en) 1999-08-15

Similar Documents

Publication Publication Date Title
DE60127644T2 (en) Teaching device for a robot
DE102015000587B4 (en) A robot programming device for creating a robot program for taking an image of a workpiece
EP1447770B1 (en) Method and apparatus for visualization of computer-based information
DE19618332A1 (en) Spline interpolation function for numerical control
DE102012220882B4 (en) System and method using a machining initialization block in a part program machining environment in a machine vision system
DE3344633A1 (en) METHOD AND DEVICE FOR CONTROLLING A ROBOT
DE102018200240B4 (en) Robot control device
DE102012108963A1 (en) Numerical control with a representation of the tool trajectory
WO2000066973A1 (en) Method for optically detecting the shape of objects
DE102005045854B3 (en) Method and system for calibrating a camera in production machines
DE102006055652A1 (en) Method for processing three-dimensional data and apparatus for processing three-dimensional data
DE102018112403A1 (en) ROBOTIC SYSTEM DISPLAYING INFORMATION FOR ASSISTING AN ROBOT
DE102005037841B4 (en) Method and arrangement for determining the relative position of a first object with respect to a second object, and a corresponding computer program and a corresponding computer-readable storage medium
DE102013102656B4 (en) CUTTING DISTANCE CALCULATION DEVICE FOR A MULTI-AXIS MACHINE TOOL
DE3133866C2 (en) Process for visual simulation
EP2500148A1 (en) Method and apparatus for controlling a robot using a virtual model of the robot
DE10011890C2 (en) Method for determining the state variables of a moving rigid body in space
DE19805155B4 (en) Method for generating control data for coordinate measuring machines
AT406313B (en) Flexible sensor system for industrial robots
EP1915239B1 (en) Method for generating an environmental image
EP0411498B1 (en) System for manipulation in non-accessible work rooms
DE102005060980B4 (en) Method and system for determining a collision-free three-dimensional space volume along a movement path with respect to a real environment
DE102017100885B4 (en) METHOD AND DEVICE FOR GENERATING AND PROJECTING A 3D THERMOGRAM COMPLETE WITH DATA ON THE RECORDING CONDITIONS
DE102020123255A1 (en) Robot control device
DE102018124208B4 (en) Method and device for monitoring a laser machining process on a workpiece and the associated laser machining system

Legal Events

Date Code Title Description
ELJ Ceased due to non-payment of the annual fee