-
HINTERGRUND
-
Technisches Gebiet
-
Diese Offenbarung bezieht sich auf Robotersysteme und insbesondere auf Systeme zum Bestimmen von Koordinaten einer Endwerkzeugposition eines Knickarmroboters.
-
Beschreibung des Stands der Technik
-
Robotersysteme werden zunehmend zur Herstellung und für andere Prozesse genutzt. Ein Typ eines Knickarmrobotersystems, das weithin verwendet wird, enthält einen „Selective Compliance Articulated Robot Arm“- (SCARA). Solche SCARA-Systeme können typischerweise eine Basis aufweisen, wobei ein erster Armabschnitt mit der Basis drehbar gekoppelt ist und ein zweiter Armabschnitt mit einem Ende des ersten Armabschnitts drehbar gekoppelt ist. In verschiedenen Konfigurationen kann ein Endwerkzeug mit einem Ende des zweiten Armabschnitts gekoppelt sein (z. B. zum Ausführen spezieller Arbeits- und/oder Überprüfungsoperationen). Solche Systeme können Positionssensoren (z. B. Drehwinkelgeber) enthalten, die zum Bestimmen/Steuern der Positionierung der Armabschnitte und dementsprechend der Positionierung des Endwerkzeugs benutzt werden. In verschiedenen Implementierungen können solche Systeme eine Positionierungsgenauigkeit von ungefähr 100 Mikrometern aufweisen, begrenzt durch spezielle Faktoren (z. B. der Leistung des Drehwinkelgebers in Kombination mit der mechanischen Stabilität des Robotersystems usw.).
-
Das
US-Patent Nr. 4,725,965 (das „’965-Patent“), das hier durch Bezugnahme vollständig mit aufgenommen ist, offenbart spezielle Kalibrierungstechniken zum Verbessern der Genauigkeit eines SCARA-Systems. Wie in dem '965-Patent beschrieben ist, ist eine Technik zum Kalibrieren eines Roboters vom SCARA-Typ, der einen ersten drehbaren Armabschnitt und einen zweiten drehbaren Armabschnitt, der ein Endwerkzeug führt, umfasst, bereitgestellt. Die Kalibrierungstechnik steht in Beziehung zu der Tatsache, dass der SCARA-Roboter unter Verwendung eines kinematischen Modells gesteuert werden kann, das, wenn es genau ist, ermöglicht, dass die Armabschnitte in sowohl einer ersten als auch einer zweiten Winkelkonfiguration platziert werden können, wobei das Endwerkzeug, das durch den zweiten Armabschnitt geführt wird, an der gleichen Position bleibt. Um das kinematische Modell zu kalibrieren, werden die Armabschnitte in einer ersten Konfiguration so platziert, dass sich das Endwerkzeug oberhalb eines festen Bezugspunkts befindet. Dann werden die Armabschnitte in einer zweiten Winkelkonfiguration platziert, so dass sich das Endwerkzeug nominell wieder in Deckung mit dem Bezugspunkt befindet. Der Fehler in dem kinematischen Modell wird aus der Verschiebung der Position des Endwerkzeugs von dem Bezugspunkt, wenn die Armabschnitte von der ersten zu der zweiten Winkelkonfiguration umgeschaltet werden, berechnet. Das kinematische Modell wird dann in Übereinstimmung mit dem berechneten Fehler kompensiert. Die Schritte werden wiederholt, bis der Fehler null erreicht, wobei zu dieser Zeit das kinematische Modell des SCARA-Roboters als kalibriert betrachtet wird.
-
Wie in dem '965-Patent ferner beschrieben ist, kann die Kalibrierungstechnik die Verwendung spezieller Kameras enthalten. Beispielsweise kann in einer Implementierung der Bezugspunkt die Mittel des Sichtbereichs einer stationären Fernsehkamera sein (d. h. sich auf dem Boden unterhalb des Endwerkzeugs befinden), und das Ausgangssignal der Kamera kann verarbeitet werden, um die Verschiebung der Position des Endwerkzeugs von der Mitte des Sichtbereichs der Kamera, wenn die Gelenke von der ersten Konfiguration zu der zweiten Konfiguration umgeschaltet werden, zu bestimmen. In einer weiteren Implementierung kann der zweite Armabschnitt eine Kamera führen, und die Technik kann durch Platzieren der Armabschnitte in einer ersten Winkelkonfiguration beginnen, an der ein zweiter vorbestimmter Innenwinkel zwischen den Armabschnitten gemessen wird, um die durch den zweiten Armabschnitt geführte Kamera direkt oberhalb eines festen Bezugspunkts zu zentrieren. Die Armabschnitte werden dann in einer zweiten Winkelkonfiguration platziert, in der ein Innenwinkel, der gleich dem zweiten vorbestimmten Innenwinkel ist, zwischen den Armabschnitten gemessen wird, um die Kamera nominell wieder oberhalb des Bezugspunkts zu platzieren. Das Ausgangssignal der Kamera wird dann verarbeitet, um die Verschiebung der Position des Bezugspunkts, wie sie durch die Kamera gesehen wird, beim Umschalten der Armabschnitte von der ersten auf die zweite Winkelkonfiguration zu berechnen. Der Fehler der bekannten Position der Kamera wird dann in Übereinstimmung mit der Verschiebung der Position des Bezugspunkts, wie sie durch die Kamera gesehen wird, bestimmt. Die Schritte werden dann als Teil des Kalibrierungsprozesses wiederholt, bis sich der Fehler null nähert.
-
Obwohl Techniken wie die in dem '965-Patent beschriebenen zum Kalibrieren eines SCARA-Robotersystems genutzt werden können, kann es in speziellen Anwendungen weniger wünschenswert sein, solche Techniken zu nutzen (die z. B. signifikante Zeit erforderlich können und/oder keinen gewünschten Genauigkeitsgrad für alle möglichen Orientierungen des SCARA-Roboters während spezieller Operationen bereitstellen können, usw.). Ein Robotersystem, das Verbesserungen hinsichtlich solcher Probleme bereitstellen kann, (z. B. zum Erhöhen der Zuverlässigkeit, Reproduzierbarkeit, Geschwindigkeit usw. der Positionsbestimmung während Werkstückmessungen und anderen Prozessen) wären wünschenswert.
-
KURZZUSAMMENFASSUNG
-
Diese Zusammenfassung wird bereitgestellt, um eine Auswahl von Konzepten in vereinfachter Form einzuführen, die nachstehend in der ausführlichen Beschreibung weiter beschrieben sind. Diese Zusammenfassung ist nicht dafür vorgesehen, die Schlüsselmerkmale des beanspruchten Gegenstands zu identifizieren, noch ist sie dafür vorgesehen, als ein Hilfsmittel zum Bestimmen des Schutzbereichs des beanspruchten Gegenstands verwendet zu werden.
-
Es wird ein Robotersystem geschaffen, das einen Knickarmroboter (z. B. einen SCARA-Roboter) und ein System für zusätzliche Messtechnikpositionskoordinaten enthält. Der Knickarmroboter enthält einen ersten und einen zweiten Armabschnitt, eine erste und eine zweite Drehverbindung, ein Bewegungssteuerungssystem und Positionssensoren. Der erste Armabschnitt ist an die erste Drehverbindung an einem nahen Ende des ersten Armabschnitts montiert. Die erste Drehverbindung weist eine Drehachse auf, die entlang einer z-Achsenrichtung ausgerichtet ist, so dass sich der erste Armabschnitt um die erste Drehverbindung in einer x-y-Ebene, die senkrecht zu der z-Achse ist, bewegt. Die zweite Drehverbindung befindet sich an einem entfernten Ende des ersten Armabschnitts. Die zweite Drehverbindung weist ihre Drehachse nominell ausgerichtet entlang der z-Achsenrichtung auf. Der zweite Armabschnitt ist an die zweite Drehverbindung an einem nahen Ende des zweiten Armabschnitts montiert. Der zweite Armabschnitt bewegt sich um die zweite Drehverbindung in einer x-y-Ebene, die nominell senkrecht zu der z-Achse ist. Das Bewegungssteuerungssystem ist konfiguriert, eine Endwerkzeugposition eines Endwerkzeugs (z. B. einer Berührungssonde, einer Abtastsonde, einer Kamera usw. als Teil einer Endwerkzeugkonfiguration, die nahe einem entfernten Ende des zweiten Armabschnitts gekoppelt ist) zu steuern. Die Endwerkzeugposition wird mit einem Genauigkeitsgrad, der als eine Robotergenauigkeit definiert ist, basierend wenigstens teilweise auf dem Erfassen und Steuern der Winkelpositionen des ersten und zweiten Armabschnitts um die erste bzw. zweite Drehverbindung unter Verwendung der Positionssensoren (z. B. Drehwinkelgeber), die in dem Knickarmroboter enthalten sind, gesteuert.
-
Das Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten enthält eine erste Bildaufnahmekonfiguration, eine XY-Skala, einen Bildtriggerabschnitt und einen Messtechnikpositionskoordinatenverarbeitungsabschnitt. Die erste Bildaufnahmekonfiguration enthält eine erste Kamera und weist eine optische Achse auf, die nominell parallel zu der z-Achse ausgerichtet ist und einen Fokusbereich entlang der optischen Achse aufweist. Die XY-Skala enthält ein nominell ebenes Substrat, das nominell senkrecht zu der z-Achse ausgerichtet ist, und mehrere entsprechende abbildungsfähige Merkmale, die auf dem Substrat verteilt sind. Die entsprechenden abbildungsfähigen Merkmale befinden sich an entsprechenden bekannten XY-Skalenkoordinaten auf der XY-Skala. Der Bildtriggerabschnitt ist konfiguriert, wenigstens ein Eingabesignal, das sich auf die Endwerkzeugposition bezieht, einzugeben und die Zeit eines ersten Bildaufnahmetriggersignals basierend auf dem wenigstens einen Eingabesignal zu bestimmen und das erste Bildaufnahmetriggersignal zu der ersten Bildaufnahmekonfiguration auszugeben. Die erste Bildaufnahmekonfiguration ist konfiguriert, ein digitales Bild der XY-Skala zu einer Bilderfassungszeit in Reaktion auf das Empfangen des ersten Bildaufnahmetriggersignals zu erfassen. Der Messtechnikpositionskoordinatenverarbeitungsabschnitt ist konfiguriert, das erfasste Bild einzugeben und wenigstens ein entsprechendes abbildungsfähiges Merkmal der XY-Skala, das in dem erfassten Bild enthalten ist, und den zugehörigen entsprechenden bekannten XY-Skalenkoordinatenort zu identifizieren. In verschiedenen Implementierungen kann die XY-Skala eine inkrementelle oder eine absolute Skala sein.
-
Das Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten ist so konfiguriert, dass eine bewegliche aus der XY-Skala oder der ersten Bildaufnahmekonfiguration mit dem zweiten Armabschnitt nahe dem entfernten Ende des zweiten Armabschnitts gekoppelt ist, wobei der Ort der XY-Skala entlang der z-Achse innerhalb des Fokusbereichs der ersten Bildaufnahmekonfiguration ist. Die stationäre aus der XY-Skala oder der ersten Bildaufnahmekonfiguration definiert eine erste Referenzposition. Das Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten ist ferner so konfiguriert, dass der Messtechnikpositionskoordinatenverarbeitungsabschnitt betrieben werden kann, um eine relative Position zwischen der beweglichen aus der XY-Skala oder der ersten Bildaufnahmekonfiguration und der ersten Referenzposition mit einem Genauigkeitsgrad, der besser als die Robotergenauigkeit ist, basierend auf dem Bestimmen einer Bildposition des identifizierten wenigstens einen entsprechenden abbildungsfähigen Merkmals in dem erfassten Bild zu bestimmen. Die bestimmte relative Position gibt die Messtechnikpositionskoordinaten der Endwerkzeugposition zur Bilderfassungszeit mit einem Genauigkeitsgrad, der besser ist als die Robotergenauigkeit, wenigstens für x-und y-Messtechnikpositionskoordinaten in einer x-y-Ebene, die senkrecht zu der z-Achse ist, an. In verschiedenen Implementierungen ist das Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten konfiguriert, die Messtechnikpositionskoordinaten der Endwerkzeugposition zu der Bilderfassungszeit basierend auf der bestimmten relativen Position und einem bekannten Koordinatenpositionsversatz zwischen der Endwerkzeugposition und der beweglichen aus der XY-Skala oder der ersten Bildaufnahmekonfiguration zu bestimmen.
-
In verschiedenen Implementierungen kann die XY-Skala mit dem zweiten Armabschnitt nahe dem entfernten Ende des zweiten Armabschnitts gekoppelt sein. Die erste Bildaufnahmekonfiguration kann mit dem stationären Element gekoppelt sein. In verschiedenen Implementierungen kann das stationäre Element einen Rahmen umfassen, der oberhalb wenigstens eines Abschnitts eines betriebsfähigen Arbeitsvolumens des Knickarmroboters angeordnet ist. Die erste Bildaufnahmekonfiguration kann an dem Rahmen oberhalb eines Abschnitts des betriebsfähigen Arbeitsvolumens des Knickarmroboters befestigt sein.
-
In verschiedenen Implementierungen kann das Robotersystem in entweder einer Betriebsart mit Roboterpositionskoordinaten oder einer Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten betrieben werden Die Betriebsart mit Roboterpositionskoordinaten kann einer unabhängigen und/oder Standardbetriebsart für den Knickarmroboter entsprechen (z. B. einer Betriebsart, in der der Knickarmroboter unabhängig betrieben wird, wie z. B. wenn ein Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten nicht aktiv ist oder anderweitig nicht bereitgestellt ist). In der Betriebsart mit Roboterpositionskoordinaten werden die Knickarmroboterbewegungen und die entsprechende Endwerkzeugposition mit dem Genauigkeitsgrad, der als die Robotergenauigkeit definiert ist, gesteuert und bestimmt (d. h. unter Nutzung der Positionssensoren, die in dem Knickarmroboter enthalten sind). Umgekehrt kann in der Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten eine relative Position, die die Messtechnikpositionskoordinaten der Endwerkzeugposition zu einer Bilderfassungszeit angibt, durch das Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten mit einen Genauigkeitsgrad, der besser als die Robotergenauigkeit ist (z. B. besser als die Genauigkeit der Positionssensoren, die in dem Knickarmroboter enthalten sind), wenigstens für x- und y-Messtechnikpositionskoordinaten in einer x-y-Ebene, die senkrecht zu der z-Achse ist, bestimmt werden. In verschiedenen Implementierungen können die bestimmten Positionsinformationen (z. B. die bestimmte relative Position, die bestimmten Messtechnikpositionskoordinaten der Endwerkzeugposition und/oder andere zugehörige bestimmte Positionsinformationen) dann zum Ausführen einer festgelegten Funktion benutzt werden (z. B. als Teil von Werkstückmessungen, Positionierungssteuerung des Knickarmroboters usw.).
-
Als ein Beispiel in Bezug auf die Positionierungssteuerung des Knickarmroboters während der Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten kann anstelle der Nutzung der Positionssensoren, die in dem Knickarmroboter enthalten sind, zum Steuern einer Positionierung des Endwerkzeugs eine Ausgabe aus dem Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten zu dem Bewegungssteuerungssystem rückgemeldet oder auf andere Weise benutzt werden, um die Positionierung des Endwerkzeugs zu steuern. In verschiedenen Implementierungen kann ein Hybridbetrieb implementiert sein, wobei die Positionssensoren, die in dem Knickarmroboter enthalten sind, während eines ersten Abschnitts einer Roboterbewegungszeit benutzt werden können (z. B. zum Bestimmen/Steuern der Positionen der Armabschnitte und entsprechenden Endwerkzeugposition als Teil initialer/schneller/grober Bewegungspositionierung). Dann kann, während eines zweiten Abschnitts der Roboterbewegungszeit, anstelle der Nutzung der Positionssensoren des Knickarmroboters eine Ausgabe des Bestimmungssystems für zusätzliche Messtechnikpositionskoordinaten (z. B. die bestimmte relative Positionierung oder zugehörige Positionsinformationen) zu der Bewegungssteuerungssystem rückgemeldet oder auf andere Weise zum Steuern der Positionierung benutzt werden (z. B. zum Bestimmen/Steuern der Positionen der Armabschnitte und der entsprechenden Endwerkzeugposition als Teil einer genaueren endgültigen/langsameren/feinen Bewegungspositionierung).
-
Figurenliste
-
- 1 ist ein Blockdiagramm einer ersten beispielhaften Implementierung eines Robotersystems, das einen Knickarmroboter und ein Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten enthält;
- 2 ist ein isometrisches Diagramm einer zweiten beispielhaften Implementierung eines Robotersystems ähnlich dem Robotersystem von 1, in dem eine erste Bildaufnahmekonfiguration mit einem stationären Element gekoppelt ist;
- 3 ist ein isometrisches Diagramm einer dritten beispielhaften Implementierung eines Robotersystems, in dem eine XY-Skala mit einem stationären Element gekoppelt ist;
- 4 ist ein isometrisches Diagramm einer beispielhaften Implementierung einer inkrementellen XY-Skala;
- 5 ist ein isometrisches Diagramm einer beispielhaften Implementierung einer absoluten XY-Skala;
- 6A und 6B sind Ablaufdiagramme, die beispielhafte Implementierungen von Routinen zum Betreiben eines Robotersystems, das einen Knickarmroboter und ein Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten enthält, darstellen; und
- 7 ist ein Ablaufdiagramm, das eine beispielhafte Implementierung einer Routine zum Bestimmen einer Endwerkzeugposition darstellt, in der Positionssensoren während eines ersten Abschnitts einer Bewegungszeit benutzt werden können und eine bestimmte relative Position eines Bestimmungssystems für zusätzliche Messtechnikpositionskoordinaten während eines zweiten Abschnitts einer Bewegungszeit benutzt werden kann.
-
AUSFÜHRLICHE BESCHREIBUNG
-
1 ist ein Blockdiagramm einer ersten beispielhaften Implementierung eines Robotersystems 100, das einen Knickarmroboter 110 und ein Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten enthält. Der Knickarmroboter 110 enthält einen ersten und einen zweiten Armabschnitt 120 und 130, eine erste und eine zweite Drehverbindungen 125 und 135, Positionssensoren SEN1 und SEN2, eine Endwerkzeugkonfiguration ETCN und ein Roboterbewegungssteuerungs- und -verarbeitungssystem 140. Der erste Armabschnitt 120 ist an der ersten Drehverbindung 125 an einem nahen Ende PE1 des ersten Armabschnitts 120 montiert. Die erste Drehverbindung 125 (die sich z. B. an einem oberen Ende einem tragenden Basisabschnitt BSE befindet) weist eine Drehachse RA1 auf, die entlang einer z-Achsenrichtung ausgerichtet ist, so dass sich der erste Armabschnitt 120 um die erste Drehverbindung 125 in einer x-y-Ebene, die senkrecht zu der z-Achse ist, bewegt. Die zweite Drehverbindung 135 befindet sich an einem entfernten Ende DE1 des ersten Armabschnitts 120. Die zweite Drehverbindung 135 weist ihre Drehachse RA2 nominell ausgerichtet entlang der z-Achsenrichtung auf. Der zweite Armabschnitt 130 ist an die zweite Drehverbindung 135 an einem nahen Ende PE2 des zweiten Armabschnitts 130 montiert, so dass sich der zweite Armabschnitt 130 um die zweite Drehverbindung 135 in einer x-y-Ebene, die nominell senkrecht zu der z-Achse ist, bewegt. In verschiedenen Implementierungen können die Positionssensoren SEN1 und SEN2 (z. B. die Drehwinkelgeber) zum Bestimmen der Winkelpositionen (z. B. in der x-y-Ebene) das ersten und zweiten Armabschnitts 120 und 130 um die erste bzw. zweite Drehverbindung 125 und 135 benutzt werden.
-
In verschiedenen Implementierungen kann die Endwerkzeugkonfiguration ETCN einen Z-Bewegungsmechanismus ZMM, einen Z-Armabschnitt ZARM, einen Positionssensor SEN3 und einen Endwerkzeugkopplungsabschnitt ETCP, der mit einem Endwerkzeug ETL koppelt, enthalten. In verschiedenen Implementierungen kann das Endwerkzeug ETL einen Endwerkzeugabtastabschnitt ETSN und einen Endwerkzeugtaster ETST mit einem Kontaktpunkt CP (z. B. zum Kontaktieren einer Oberfläche eines Werkstücks WP) enthalten. Der Z-Bewegungsmechanismus ZMM befindet sich nahe dem entfernten Ende DE2 des zweiten Armabschnitts 130. Der Z-Bewegungsmechanismus ZMM (z. B. ein linearer Aktor) ist konfiguriert, den Z-Armabschnitt ZARM in der z-Achsenrichtung nach oben und nach unten zu bewegen. In einigen Implementierungen kann der z-Armabschnitt ZARM auch konfiguriert sein, sich um eine Achse parallel zu der z-Achsenrichtung zu drehen. In jedem Fall ist das Endwerkzeug ETL an dem Endwerkzeugkopplungsabschnitt ETCP gekoppelt und weist eine entsprechende Endwerkzeugposition ETP mit entsprechenden Koordinaten (z. B. x-, y- und z-Koordinaten) auf. In verschiedenen Implementierungen kann die Endwerkzeugposition ETP dem entfernten Ende DE3 des Z-Armabschnitts ZARM entsprechen oder ihm nahe sein (z. B. an oder nahe dem Endwerkzeugkopplungsabschnitt ETCP).
-
Das Bewegungssteuerungssystem 140 ist konfiguriert, die Endwerkzeugposition ETP des Endwerkzeugs ETL mit einem Genauigkeitsgrad, der als eine Robotergenauigkeit definiert ist, zu steuern. Insbesondere ist das Bewegungssteuerungssystem 140 allgemein konfiguriert, die x-und y-Koordinaten der Endwerkzeugposition ETP mit der Robotergenauigkeit basierend wenigstens teilweise auf dem Erfassen und Steuern der Winkelpositionen (d. h. in der x-y-Ebene) des ersten und zweiten Armabschnitts 120 und 130 um die erste bzw. zweite Drehverbindung 125 und 135 unter Verwendung der Positionssensoren SEN1 und SEN2 zu steuern. In verschiedenen Implementierungen kann das Bewegungssteuerungs- und -verarbeitungssystem 140 einen ersten und einen zweiten Drehverbindungssteuerungs- und -erfassungsabschnitt 141 und 412 enthalten, die Signale von den Positionssensoren SEN1 bzw. SEN2 zum Erfassen der Winkelpositionen des ersten und des zweiten Armabschnitts 120 und 130 empfangen können und/oder Steuersignale (z. B. für Motoren usw.) in der ersten und zweiten Drehverbindung 125 und 135 zum Drehen des ersten und zweiten Armabschnitts 120 und 130 bereitstellen können.
-
Zusätzlich ist das Bewegungssteuerungssystem 140 allgemein konfiguriert, die z-Koordinate der Endwerkzeugposition ETP mit der Robotergenauigkeit basierend wenigstens teilweise auf dem Erfassen und Steuern der linearen Position (d. h. entlang der z-Achse) des Z-Armabschnitts ZARM unter Verwendung des Z-Bewegungsmechanismus ZMM und des Positionssensors SEN3 zu steuern. In verschiedenen Implementierungen kann das Bewegungssteuerungs- und -verarbeitungssystem 140 einen Z-Bewegungsmechanismussteuerungs- und -erfassungsabschnitt 143 enthalten, der Signale von dem Positionssensor SEN3 zum Erfassen der linearen Position des Z-Armabschnitts ZARM empfangen kann oder Steuersignale für den Z-Bewegungsmechanismus ZMM (z. B. einen linearen Aktor) zum Steuern der Z-Position des Z-Armabschnitts ZARM bereitstellen kann.
-
Das Bewegungssteuerungs- und -verarbeitungssystem 140 kann außerdem Signale von dem Endwerkzeugabtastabschnitt ETSN empfangen. In verschiedenen Implementierungen kann der Endwerkzeugabtastabschnitt ETSN eine Schaltungsanordnung und/oder Konfigurationen enthalten, die zu den Operationen des Endwerkzeugs ETL zum Ertasten eines Werkstücks WP gehören. Wie nachstehend genauer beschrieben wird, kann in verschiedenen Implementierungen das Endwerkzeug ETL (z. B. eine Berührungssonde, eine Abtastsonde, eine Kamera usw.) zum Kontaktieren oder auf andere Weise Erfassen von Oberflächen-Orten/Positionen/Punkten auf einem Werkstück WP, für das verschiedene entsprechende Signale durch den Endwerkzeugabtastabschnitt ETSN empfangen, bestimmt und/oder verarbeitet werden können und das entsprechende Signale für das Bewegungssteuerungs- und -verarbeitungssystem 140 bereitstellen kann, benutzt werden. In verschiedenen Implementierungen kann das Bewegungssteuerungs- und -verarbeitungssystem 140 einen Endwerkzeugsteuerungs- und -erfassungsabschnitt 144 enthalten, der Steuersignale für den Endwerkzeugabtastabschnitt ETSN bereitstellen und/oder Abtastsignale von ihm empfangen kann. In verschiedenen Implementierungen können der Endwerkzeugsteuerungs- und erfassungsabschnitt 144 und der Endwerkzeugabtastabschnitt ETSN zusammengefasst und/oder ununterscheidbar sein. In verschiedenen Implementierungen können der erste und der zweite Drehverbindungssteuerungs- und erfassungsabschnitt 141 und 142, der Z-Bewegungsmechanismussteuerungs- und -erfassungsabschnitt 143 und der Endwerkzeugsteuerungs- und erfassungsabschnitt 144 alle Ausgaben für einen Roboterpositionsverarbeitungsabschnitt 145 bereitstellen und/oder Steuersignale von ihm empfangen, der die gesamte Positionierung des Knickarmroboters 110 und entsprechende Endwerkzeugposition ETP als Teil des Roboterbewegungssteuerungs- und -verarbeitungssystems 140 steuern und/oder bestimmen kann.
-
In verschiedenen Implementierungen kann das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten in dem Knickarmroboter enthalten oder ihm auf andere Weise hinzugefügt sein (z. B. als Teil einer Nachrüstungskonfiguration, die einem existierenden Knickarmroboter 110 hinzugefügt werden kann, usw.). Im Allgemeinen kann das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten benutzt werden, um einen verbesserten Genauigkeitsgrad für die Bestimmung der Endwerkzeugposition ETP bereitzustellen. Insbesondere kann, wie nachstehend genauer beschrieben wird, das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten benutzt werden, um eine relative Position, die die Messtechnikpositionskoordinaten der Endwerkzeugposition ETP angibt, mit einem Genauigkeitsgrad, der besser als die Robotergenauigkeit ist, wenigstens für die x- und y-Messtechnikpositionskoordinaten in einer x-y-Ebene, die senkrecht zu der z-Achse ist, zu bestimmen.
-
Wie in 1 dargestellt ist, enthält das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten eine erste Bildaufnahmekonfiguration 160, eine XY-Skala 170, einen Bildtriggerabschnitt 181 und einen Messtechnikpositionskoordinatenverarbeitungsabschnitt 190. Die erste Bildaufnahmekonfiguration 160 ist mit einem stationären Element STE gekoppelt. In verschiedenen Implementierungen kann das stationäre Element STE einen Rahmen umfassen, der oberhalb wenigstens eines Abschnitts eines betriebsfähigen Arbeitsvolumens OPV des Knickarmroboters 110 angeordnet ist, und wofür die erste Bildaufnahmekonfiguration 160 an dem Rahmen oberhalb eines Abschnitts des betriebsfähigen Arbeitsvolumens OPV befestigt ist. In verschiedenen Implementierungen kann das stationäre Element STE ein oder mehrere Strukturträgerelemente SSP (die sich z. B. von einem Boden, einer Decke usw. erstrecken) zum Halten des stationären Elements STE an einem festen Ort (z. B. mit einer festen Position und/oder Orientierung) relativ zu dem Knickarmroboter 110 enthalten.
-
Die erste Bildaufnahmekonfiguration 160 enthält eine erste Kamera CAM1 und weist eine optische Achse OA1 auf, die nominell parallel zu der z-Achse ausgerichtet ist. Die erste Bildaufnahmekonfiguration 160 weist einen effektiven Fokusbereich REFP entlang ihrer optischen Achse OA1 auf. In verschiedenen Implementierungen kann der Bereich REFP durch eine erste und eine zweite effektive Fokusposition EFP1 und EFP2 begrenzt sein, wie nachstehend genauer beschrieben wird. Zu einer gegebenen Zeit weist die erste Bildaufnahmekonfiguration 160 eine effektive Fokusposition EFP auf, die in den Bereich REFP fällt. In einer Implementierung, in der ein Objektiv mit variabler Brennweite (VFL) verwendet ist, kann der Bereich REFP dem Brennweitenbereich des VFL-Objektivs entsprechen.
-
In verschiedenen Implementierungen kann ein VFL-Objektiv, das benutzt wird, ein Objektiv mit einem Brechungsindex mit einstellbarem akustischem Gradienten (TAG-Objektiv) sein. In Bezug auf die allgemeinen Operationen eines solchen TAG-Objektivs kann in verschiedenen Implementierungen eine Objektivsteuereinheit (wie sie z. B. in dem ersten Bildaufnahmekonfigurations- und Bildverarbeitungsabschnitt 180 enthalten ist) die optische Leistung des TAG-Objektivs periodisch schnell anpassen oder modulieren, um ein Hochgeschwindigkeits-TAG-Objektiv zu erreichen, das zu einer periodischen Modulation (d. h. mit einer TAG-Objektiv-Resonanzfrequenz) von 250 kHz oder 70 kHz oder 30 kHz oder dergleichen fähig ist. In einer solchen Konfiguration kann die effektive Fokusposition EFP der ersten Bildaufnahmekonfiguration 160 innerhalb des Bereichs REFP (z. B. eines Autofokussuchbereichs) (schnell) bewegt werden. Die effektive Fokusposition EFP1 (oder EFPmax) kann einer maximalen optischen Leistung des TAG-Objektivs entsprechen, und die effektive Fokusposition EFP2 (oder EFPmin) kann einer maximalen negativen optischen Leistung des TAG-Objektivs entsprechen. In verschiedenen Implementierungen kann die Mitte des Bereichs REFP als EFPnom bezeichnet sein und kann der optischen Leistung null des TAG-Objektivs entsprechen.
-
In verschiedenen Implementierungen, können ein solches VFL-Objektiv (z. B. ein TAG-Objektiv) und ein entsprechender Bereich REFP vorteilhaft gewählt werden, so dass die Konfiguration die Notwendigkeit makroskopischer mechanischer Einstellungen der ersten Bildaufnahmekonfiguration 160 und/oder Einstellung von Abständen zwischen Komponenten, um die effektive Fokusposition EFP zu ändern, begrenzt oder eliminiert. Beispielsweise in einer Implementierung, in der eine unbekannte Größe der Neigung oder „Durchhängen“ an dem entfernten Ende DE2 des zweiten Armabschnitts 130 auftreten kann (z. B. aufgrund des Gewichts und/oder spezifischer Orientierungen des ersten und zweiten Armabschnitts 120 und 130 usw.) kann der präzise Fokusabstand von der ersten Bildaufnahmekonfiguration 160 zu der XY-Skala 170 unbekannt sein und/oder kann mit unterschiedlichen Orientierungen der Arme variieren, usw. In einer solchen Konfiguration kann es wünschenswert sein, dass ein VFL-Objektiv benutzt wird, das die effektive Fokusposition EFP abtasten oder auf andere Weise einstellen kann, um die XY-Skala 170 zu bestimmen und genau auf sie zu fokussieren.
-
In verschiedenen Implementierungen umfasst die XY-Skala 170 ein nominell ebenes Substrat SUB, das nominell senkrecht zu der z-Achse angeordnet ist, und mehrere entsprechende abbildungsfähige Merkmale, die auf dem Substrat SUB verteilt sind. Die entsprechenden abbildungsfähigen Merkmale befinden sich an entsprechenden bekannten x- und y-Skalenkoordinaten auf der XY-Skala 170. In verschiedenen Implementierungen kann die XY-Skala 170 eine inkrementelle oder absolute Skala sein, wie nachstehend mit Bezug auf die 4 und 5 genauer beschrieben wird.
-
In verschiedenen Implementierungen können der Bildtriggerabschnitt 181 und/oder der Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 als Teil eines externen Steuerungssystems ECS (z. B. als Teil eines externen Computers usw.) enthalten sein. Der Bildtriggerabschnitt 181 kann als Teil eines ersten Bildaufnahmekonfigurations- und -verarbeitungsabschnitts 180 enthalten sein. In verschiedenen Implementierungen ist der Bildtriggerabschnitt 181 konfiguriert, wenigstens ein Eingabesignal einzugeben, das zu der Endwerkzeugposition ETP gehört, und die Zeit eines ersten Bildaufnahmetriggersignals basierend auf dem wenigstens einen Eingabesignal zu bestimmen und das erste Bildaufnahmetriggersignal zu der ersten Bildaufnahmekonfiguration 160 auszugeben. In verschiedenen Implementierungen ist die erste Bildaufnahmekonfiguration 160 konfiguriert, ein digitales Bild der XY-Skala 170 zu einer Bilderfassungszeit in Reaktion auf das Empfangen des ersten Bildaufnahmetriggersignals zu erfassen. In verschiedenen Implementierungen ist der Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 konfiguriert, das erfasste Bild einzugeben und wenigstens ein entsprechendes abbildungsfähiges Merkmal der XY-Skala 170, das in dem erfassten Bild enthalten ist, und den zugehörigen entsprechenden bekannten XY-Skalenkoordinatenort zu identifizieren. In verschiedenen Implementierungen kann das externe Steuerungssystem ECS außerdem einen Abschnitt 147 für Standardbetriebsart mit Roboterpositionskoordinaten und einen Abschnitt 192 für Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten zum Implementieren entsprechender Betriebsarten enthalten, wie nachstehend genauer beschrieben wird.
-
In verschiedenen Implementierungen kann die erste Bildaufnahmekonfiguration 160 eine Komponente (z. B. eine Teilschaltung, Routine usw.) enthalten, die eine Bildintegration der Kamera CAM1 periodisch aktiviert (z. B. mit einem eingestellten Zeitabstand), wofür das erste Bildaufnahmetriggersignal eine Stroboskoplichtzeit oder einen anderen Mechanismus aktivieren kann, um die Bewegung effektiv einzufrieren und dementsprechend eine Belichtung innerhalb der Integrationszeitspanne zu bestimmen. In solchen Implementierungen kann dann, wenn kein erstes Bildaufnahmetriggersignal während einer Integrationszeitspanne empfangen wird, ein resultierendes Bild verworfen werden, wobei dann, wenn ein erstes Bildaufnahmetriggersignal während der Integrationszeitspanne empfangen wird, das resultierende Bild gespeichert und/oder auf andere Weise verarbeitet/analysiert werden kann, um eine relative Position zu bestimmen, wie nachstehend genauer beschrieben wird.
-
In verschiedenen Implementierungen können unterschiedliche Typen von Endwerkzeugen ETL unterschiedliche Typen von Ausgaben, die in Bezug auf den Bildtriggerabschnitt 181 benutzt werden können, bereitstellen. Beispielsweise kann in einer Implementierung, in der das Endwerkzeug ETL eine Berührungssonde ist, die zum Messen eines Werkstücks verwendet wird und die ein Berührungssignal ausgibt, wenn sie das Werkstück berührt, der Bildtriggerabschnitt 181 konfiguriert sein, dieses Berührungssignal oder ein davon abgeleitetes Signal als das wenigstens eine Eingabesignal einzugeben, auf dem basierend die Zeitplanung eines ersten Bildaufnahmetriggersignals bestimmt wird. Als ein weiteres Beispiel kann in einer Implementierung, in dem das Endwerkzeug ETL eine Abtastsonde ist, die zum Messen eines Werkstücks verwendet wird und die entsprechende Werkstückmessprobendaten, die einem entsprechenden Probenzeitsignal entsprechen, bereitstellt, der Bildtriggerabschnitt 181 konfiguriert sein, dieses entsprechende Abtastzeitsignal oder ein davon abgeleitetes Signal als das wenigstens eine Eingabesignal einzugeben. Als ein weiteres Beispiel kann in einer Implementierung, in der das Endwerkzeug ETL eine Kamera ist, die verwendet wird, um ein entsprechendes Werkstückmessbild, das einem entsprechenden Werkstückbilderfassungssignal entspricht, bereitzustellen, der Bildtriggerabschnitt 181 konfiguriert sein, dieses Werkstückbilderfassungssignal oder ein davon abgeleitetes Signal als das wenigstens eine Eingabesignal einzugeben.
-
In der Beispielimplementierung von 1 ist das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten so konfiguriert, dass die XY-Skala 170 mit dem zweiten Armabschnitt 130 nahe dem entfernten Ende DE2 des zweiten Armabschnitts 130 gekoppelt ist und die erste Bildaufnahmekonfiguration 160 mit einem stationären Element STE (z. B. einem Rahmen, der oberhalb des Knickarmroboters 110 angeordnet ist) gekoppelt ist und eine erste Referenzposition REF1 definiert. In einer alternativen Implementierung (wie sie z. B. nachstehend mit Bezug auf 3 genauer beschrieben wird) kann ein Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten so konfiguriert sein, dass die erste Bildaufnahmekonfiguration 160 mit dem zweiten Armabschnitt 130 nahe dem entfernten Ende DE2 des zweiten Armabschnitts 130 gekoppelt ist und die XY-Skala 170 mit einem stationären Element STE gekoppelt ist und eine erste Referenzposition REF1 definiert.
-
In jedem Fall ist, wie nachstehend genauer beschrieben wird, ist der Ort der XY-Skala 170 entlang der z-Achse innerhalb des Fokusbereichs der ersten Bildaufnahmekonfiguration 160 (für die z. B. die Fokusposition durch ein VFL-Objektiv oder auf andere Weise eingestellt werden kann), und das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten ist so konfiguriert, dass der Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 betrieben werden kann, um eine relative Position (die z. B. x- und y-Koordinaten enthält) zwischen der beweglichen aus der XY-Skala 170 oder der ersten Bildaufnahmekonfiguration 160 und der ersten Referenzposition REF1 mit einem Genauigkeitsgrad, der besser als die Robotergenauigkeit ist, basierend auf dem Bestimmen einer Bildposition des identifizierten wenigstens einen entsprechenden abbildungsfähigen Merkmals in dem erfassten Bild zu bestimmen. Die bestimmte relative Position gibt die Messtechnikpositionskoordinaten der Endwerkzeugposition ETP zur Bilderfassungszeit mit einem Genauigkeitsgrad, der besser als die Robotergenauigkeit ist, wenigstens für x-und y-Messtechnikpositionskoordinaten in einer x-y-Ebene, die senkrecht zu der z-Achse ist, an. In verschiedenen Implementierungen kann das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten konfiguriert sein, die Messtechnikpositionskoordinaten der Endwerkzeugposition ETP zur Bilderfassungszeit basierend auf der bestimmten relativen Position und einem bekannten Koordinatenpositionsversatz (x- und y-Koordinatenversatz) zwischen der Endwerkzeugposition ETP und der beweglichen aus der XY-Skala 170 oder der ersten Bildaufnahmekonfiguration 160 zu bestimmen. Es ist zu verstehen, dass ein solches System spezielle Vorteile gegenüber verschiedenen alternativen Systemen aufweisen kann. Beispielsweise kann in verschiedenen Implementierungen ein System wie das hier offenbarte kleiner und/oder weniger teuer sein als alternative Systeme, die Technologien wie z. B. Lasertracker oder Bildvermessung zum Verfolgen von Roboterbewegung/positionen benutzen, und kann in einigen Implementierungen auch eine höhere Genauigkeit aufweisen. Das offenbarte System verbraucht oder verdeckt außerdem keinen Teil des betriebsfähigen Arbeitsvolumens OPV wie z. B. alternative Systeme, die eine Skala oder einen Bezugspunkt auf dem Boden oder dem Objekttisch oder anderweitig in demselben Bereich (z. B. dem betriebsfähigen Arbeitsvolumen), in dem andernfalls Werkstücke bearbeitet oder untersucht werden usw., enthalten können.
-
2 ist ein isometrisches Diagramm einer zweiten beispielhaften Implementierung eines Robotersystems 200 ähnlich dem Robotersystem 100 von 1, in dem die erste Bildaufnahmekonfiguration 160 mit einem stationären Element STE (z. B. dem stationären Element STE von 1) gekoppelt ist. Es ist zu verstehen, dass spezielle nummerierte Komponenten (z. B. 1XX oder 2XX) von 2 gleichen oder ähnlich nummerierten Gegenelementen (z. 1XX) von 1 entsprechen und/oder ähnliche Operationen wie sie aufweisen können und so verstanden werden können, dass sie ihnen ähnlich oder gleich sind, und anderweitig durch Analogie damit und wie andernfalls nachstehend beschrieben verstanden werden können. Dieses Nummerierungsschema, um Elemente anzugeben, die eine analoge und/oder gleiche Konstruktion und/oder Funktion aufweisen, ist auch auf die folgenden 3-5 angewandt.
-
In der Konfiguration von 2 (d. h. ähnlich der Konfiguration von 1) ist die XY-Skala 170 mit dem zweiten Armabschnitt 130 nahe dem entfernten Ende DE2 des zweiten Armabschnitts 130 gekoppelt. In verschiedenen Implementierungen kann, wie vorstehend mit Bezug auf 1 beschrieben ist, das stationäre Element STE, mit dem die erste Bildaufnahmekonfiguration 160 gekoppelt ist, einen Rahmen umfassen, der oberhalb des Knickarmroboters 110 angeordnet ist. In verschiedenen Implementierungen können unterschiedliche Referenzachsen und Linien zum Referenzieren spezieller Bewegungen, Koordinaten und Winkel der Komponenten des Knickarmroboters 110 festgelegt sein. Beispielsweise können der erste und der zweite Armabschnitt 120 und 130 jeweils festgelegte horizontale Mittellinien CL1 bzw. CL2 aufweisen, die durch die Mitten der jeweiligen Armabschnitte verlaufen. Ein Winkel A1 kann so festgelegt sein, dass er zwischen der Mittellinie CL1 des ersten Armabschnitts 120 und einer x-z-Ebene auftritt (z. B. in Übereinstimmung mit einer Größe der Drehung der ersten Drehverbindung 125 um die erste Drehachse RA1). Ein Winkel A2 kann so festgelegt sein, dass er zwischen der horizontalen Mittellinie CL1 des ersten Armabschnitts 120 und der horizontalen Mittellinie CL2 des zweiten Armabschnitts 130 auftritt (z. B. in Übereinstimmung mit einer Größe der Drehung der zweiten Drehverbindung 135 um die zweite Drehachse RA2).
-
In verschiedenen Implementierungen kann die Endwerkzeugkonfiguration ETCN mit dem zweiten Armabschnitt 130 nahe dem entfernten Ende DE2 des zweiten Armabschnitts 130 gekoppelt sein und kann so festgelegt sein, dass sie eine Endwerkzeugachse EA des Endwerkzeugs ETL aufweist, die die Mittellinie CL2 des zweiten Armabschnitts 130 nominell schneidet, und für die allgemein angenommen sein kann, dass die Endwerkzeugachse EA parallel zu der Drehachse RA2 und der z-Achse ist. In verschiedenen Implementierungen durchläuft die Endwerkzeugachse EA die Endwerkzeugposition ETP und weist einen bekannten Koordinatenpositionsversatz (d. h. für die x- und y-Koordinaten) von der XY-Skala 170 auf. Dementsprechend kann ein bekannter Koordinatenpositionsversatz zwischen der Endwerkzeugposition ETP und der XY-Skala 170 vorhanden sein. Beispielsweise kann die XY-Skala 170 einen festgelegten Referenzpunkt aufweisen (z. B. in der Mitte oder am Rand der XY-Skala 170), der einen bekannten Koordinatenpositionsversatz (z. B. einen bekannten Abstand) in einer x-y-Ebene von der Endwerkzeugachse EA und dementsprechend von der Endwerkzeugposition ETP aufweist. In verschiedenen Implementierungen kann ein solcher bekannter Koordinatenpositionsversatz als ein bekannter x-Versatz und ein bekannter y-Versatz ausgedrückt sein.
In verschiedenen Implementierungen kann der bekannte Koordinatenpositionsversatz zwischen der Endwerkzeugposition ETP und der XY-Skala 170 als Teil des Prozesses zum Bestimmen der Messtechnikpositionskoordinaten der Endwerkzeugposition ETP benutzt werden. Insbesondere kann, wie vorstehend erwähnt, das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten so konfiguriert sein, dass der Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 arbeitet, um eine relative Position zwischen der XY-Skala 170 und der ersten Referenzposition REF1 (d. h. wie sie durch die stationäre erste Bildaufnahmekonfiguration 160 definiert ist) basierend auf dem Bestimmen einer Bildposition des identifizierten wenigstens einen entsprechenden abbildungsfähigen Merkmal (d. h. der XY-Skala 170) in dem erfassten Bild zu bestimmen. Das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten kann ferner konfiguriert sein, die Messtechnikpositionskoordinaten der Endwerkzeugposition ETP basierend auf der bestimmten relativen Position und einem bekannten Koordinatenpositionsversatz zwischen der Endwerkzeugposition ETP und der beweglichen XY-Skala 170 zu bestimmen. In einer spezifischen Beispielimplementierung kann der bekannte Koordinatenpositionsversatz (z. B. ausgedrückt als ein bekannter x-Versatz und ein bekannter y-Versatz) zu der bestimmten relativen Position addiert oder auf andere Weise mit ihr kombiniert werden, um die Messtechnikpositionskoordinaten der Endwerkzeugposition ETP zu bestimmen.
-
Als eine spezifische Beispiel-Positionskoordinatenkonfiguration kann die XY-Skala 170 so festgelegt sein, dass sie eine Referenzposition (z. B. einen Ursprungsort) bei X0, Y0, Z0 aufweist (der z. B. für einen Ursprungsort die Werte 0,0,0 aufweisen kann). In einer solchen Konfiguration kann der Referenzort REF1 (d. h. wie er durch die stationäre erste Bildaufnahmekonfiguration 160 definiert ist) an relativen Koordinaten X1, Y1, Z1 sein, und eine Mitte eines entsprechenden Gesichtsfelds FOV1 (das z. B. einem erfassten Bild entspricht), kann an den relativen Koordinaten X1, Y1, Z0 sein. Ein Ort der Endwerkzeugachse EA in einer x-y-Ebene, die sich von der XY-Skala 170 erstreckt, kann so festgelegt sein, dass er die relativen Koordinaten X2, Y2, Z0 aufweist. Die Endwerkzeugposition ETP kann so festgelegt sein, dass sie die Koordinaten X2, Y2, Z2 aufweist. In verschiedenen Implementierungen kann das Endwerkzeug ETL einen Kontaktpunkt CP (z. B. an dem Ende eines Endwerkzeugtasters ETST zum Kontaktieren eines Werkstücks) aufweist, der so festgelegt sein kann, dass er die Koordinaten X3, Y3, Z3 aufweist. In einer Implementierung, in der der Kontaktpunkt CP des Endwerkzeugs ETL in der x- oder y-Richtung relativ zu dem Rest des Endwerkzeugs nicht variiert, können die X3- und Y3-Koordinaten gleich den X2- bzw. Y2-Koordinaten sein.
-
In einer spezifischen Beispielimplementierung kann ein erfasstes Bild durch den Messtechnikpositionskoordinatenverarbeitungsabschnitt
190 analysiert werden, um eine relative Position zu bestimmen (z. B. um die
X1-,
Y1-Koordinaten zu bestimmen, die der Mitte des Gesichtsfelds
FOV1 der stationären ersten Bildaufnahmekonfiguration
160 entsprechen). Eine solche Bestimmung kann in Übereinstimmung mit Standard-Kamera/Skalenbildverarbeitungstechnik vorgenommen werden (z. B. zum Bestimmen eines Orts der Kamera relativ zu der Skala). Verschiedene Beispiele für solche Techniken sind in den
US-Patenten Nr. 6,781,694 ;
6,937,349 ;
5,798,947 ;
6,222,940 ; und
6,640,008 beschrieben, von denen jede vollständig durch Bezugnahme mit aufgenommen ist. In verschiedenen Implementierungen können solche Techniken benutzt werden, um den Ort eines Gesichtsfelds (wie es z. B. einer Position einer Kamera entspricht) innerhalb eines Skalenbereichs (z. B. innerhalb der XY-Skala
170) zu bestimmen, wie nachstehend mit Bezug auf die
4 und
5 genauer beschrieben wird. In verschiedenen Implementierungen kann eine solche Bestimmung Identifizieren wenigstens eines entsprechenden abbildungsfähigen Merkmals der XY-Skala, das in dem erfassten Bild
170 enthalten ist, und des zugehörigen entsprechenden bekannten XY-Skalenkoordinatenorts enthalten. Eine solche Bestimmung kann dem Bestimmen einer relativen Position zwischen der XY-Skala
170 und der ersten Referenzposition
REF1 (d. h. wie sie durch die stationäre erste Bildaufnahmekonfiguration
160 definiert ist) entsprechen. Die relativen
X2-,
Y2-Koordinaten (d. h. der Endwerkzeugposition
ETP) können dann gemäß dem bekannten Koordinatenpositionsversatz zwischen der Endwerkzeugposition
ETP und der XY-Skala
170 bestimmt werden (z. B. Addieren der x-und y-Positionsversatzwerte zu
X1 und
Y1, um
X2 und
Y2 zu bestimmen).
-
In verschiedenen Implementierungen kann das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten ferner eine oder mehrere zusätzliche Bildaufnahmekonfigurationen enthalten. Beispielsweise kann, wie in 2 dargestellt ist, das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten eine zweite Bildaufnahmekonfiguration 160' enthalten, die eine zweite Kamera CAM2 und eine optische Achse OA2, die nominell parallel zu der z-Achse ausgerichtet ist, aufweist. Die zweite Bildaufnahmekonfiguration 160' kann eine zweite Referenzposition REF2 bestimmen (die z. B. relative Koordinaten X1', Y1' und Z1 aufweist) bestimmen. Die zweite Bildaufnahmekonfiguration 160' kann einen effektiven Fokusbereich REFP entlang ihrer optischen Achse OA2 aufweisen. In einer solchen Konfiguration kann der Bildtriggerabschnitt 181 ferner konfiguriert sein, wenigstens ein Eingabesignal, das zu der Endwerkzeugposition ETP gehört, einzugeben und die Zeit eines zweiten Bildaufnahmetriggersignals basierend auf dem wenigstens einen Eingabesignal zu bestimmen und das zweite Bildaufnahmetriggersignal zu der zweiten Bildaufnahmekonfiguration 160' auszugeben. In verschiedenen Implementierungen kann die zweite Bildaufnahmekonfiguration 160' konfiguriert sein, ein digitales Bild der XY-Skala 170 zu einer Bilderfassungszeit in Reaktion auf das Empfangen des zweiten Bildaufnahmetriggersignals zu erfassen. Der Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 kann ferner konfiguriert sein, das erfasste Bild einzugeben und wenigstens ein entsprechendes abbildungsfähiges Merkmal der XY-Skala 170, das in dem erfassten Bild enthalten ist, und den zugehörigen entsprechenden bekannten XY-Skalenkoordinatenort zu identifizieren.
-
In verschiedenen Implementierungen kann der Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 betreibbar sein, um eine relative Position zwischen der XY-Skala 170 und der zweiten Referenzposition REF2 mit einem Genauigkeitsgrad, der besser als die Robotergenauigkeit ist, basierend auf dem Bestimmen einer Bildposition des identifizierten wenigstens einen entsprechenden abbildungsfähigen Merkmals in dem erfassten Bild zu bestimmen. In einer solchen Implementierung gibt die bestimmte relative Position die Messtechnikpositionskoordinaten der Endwerkzeugposition ETP zur Bilderfassungszeit mit einem Genauigkeitsgrad, der besser als die Robotergenauigkeit ist, wenigstens für x- und y-Messtechnikpositionskoordinaten in einer x-y-Ebene, die senkrecht zu der z-Achse ist, an.
-
In verschiedenen Implementierungen enthält das wenigstens eine Eingabesignal, das in den Bildtriggerabschnitt 181 eingegeben wird, ein oder mehrere Signale, die aus dem Bewegungssteuerungssystem 140 abgeleitet sind. In solchen Konfigurationen kann der Bildtriggerabschnitt 181 konfiguriert sein zu bestimmen, ob die XY-Skala 170 an der ersten oder zweiten Bildaufnahmekonfiguration 160 oder 160' ausgerichtet ist, basierend auf dem einen oder den mehreren Signalen, die aus dem Bewegungssteuerungssystem 140 abgeleitet sind. Falls bestimmt wird, dass die XY-Skala 170 an der ersten Bildaufnahmekonfiguration 160 ausgerichtet ist (so dass z. B. ein ausreichender Abschnitt der XY-Skala 170 durch die erste Bildaufnahmekonfiguration 160 aufgenommen wird), ist der Bildtriggerabschnitt 181 konfiguriert, das erste Bildaufnahmetriggersignal auszugeben. Falls andererseits bestimmt wird, dass die XY-Skala 170 an der zweiten Bildaufnahmekonfiguration 160' ausgerichtet ist (so dass z. B. ein ausreichender Abschnitt der XY-Skala 170 durch die zweite Bildaufnahmekonfiguration 160' aufgenommen wird), ist der Bildtriggerabschnitt 181 konfiguriert, das zweite Bildaufnahmetriggersignal auszugeben.
-
3 ist ein isometrisches Diagramm einer dritten beispielhaften Implementierung eines Robotersystems 300, in dem die XY-Skala 170 mit dem stationären Element STE gekoppelt ist und die erste Referenzposition REF1 definiert. In der Konfiguration von 3 ist die erste Bildaufnahmekonfiguration 160 mit dem zweiten Armabschnitt 130 nahe dem entfernten Ende DE2 des zweiten Armabschnitts 130 gekoppelt. In verschiedenen Implementierungen weist die Endwerkzeugachse EA einen bekannten Koordinatenpositionsversatz (d. h. für die x- und y-Koordinaten) gegenüber der ersten Bildaufnahmekonfiguration 160 auf. Dementsprechend kann ein bekannter Koordinatenpositionsversatz zwischen der Endwerkzeugposition ETP und der ersten Bildaufnahmekonfiguration 160 vorhanden sein. Beispielsweise kann die erste Bildaufnahmekonfiguration 160 einen festgelegten Referenzpunkt aufweisen (z. B. in einer Mitte der ersten Bildaufnahmekonfiguration 160), der einen bekannten Koordinatenpositionsversatz (z. B. einen bekannten Abstand) in einer x-y-Ebene von der Endwerkzeugachse EA und dementsprechend von der Endwerkzeugposition ETP aufweist. In verschiedenen Implementierungen kann ein solcher bekannter Koordinatenpositionsversatz als ein bekannter x-Versatz und ein bekannter y-Versatz ausgedrückt sein.
-
In verschiedenen Implementierungen kann der bekannte Koordinatenpositionsversatz zwischen der Endwerkzeugposition ETP und der ersten Bildaufnahmekonfiguration 160 als Teil des Prozesses zum Bestimmen der Messtechnikpositionskoordinaten der Endwerkzeugposition ETP benutzt werden. Insbesondere kann, wie vorstehend erwähnt, das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten so konfiguriert sein, dass der Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 arbeitet, um eine relativen Position zwischen der ersten Bildaufnahmekonfiguration 160 und der ersten Referenzposition REF1 (d. h. wie sie durch die stationäre erste XY-Skala 170 definiert ist) basierend auf dem Bestimmen einer Bildposition eines identifizierten wenigstens einen entsprechenden abbildungsfähigen Merkmals (d. h. der XY-Skala 170) in dem erfassten Bild zu bestimmen. Das Bestimmungssystem 150 für zusätzliche Messtechnikpositionskoordinaten kann ferner konfiguriert sein, die Messtechnikpositionskoordinaten der Endwerkzeugposition ETP basierend auf der bestimmten relativen Position und einem bekannten Koordinatenpositionsversatz zwischen der Endwerkzeugposition ETP und der beweglichen ersten Bildaufnahmekonfiguration 160 zu bestimmen. In einer spezifischen Beispielimplementierung kann der bekannte Koordinatenpositionsversatz (z. B. ausgedrückt als ein bekannter x-Versatz und ein bekannter y-Versatz) zu der bestimmten relativen Position addiert oder auf andere Weise mit ihr kombiniert werden, um die Messtechnikpositionskoordinaten der Endwerkzeugposition ETP zu bestimmen.
-
Als eine spezifische Beispiel-Positionskoordinatenkonfiguration kann die XY-Skala 170 so festgelegt sein, dass sie einen Referenzort REF1 (z. B. einen Ursprungsort) bei X0, Y0, Z0 aufweist (der z. B. für einen Ursprungsort die Werte 0,0,0 aufweisen kann). Die erste Bildaufnahmekonfiguration 160 kann an einem Ort mit den relativen Koordinaten X1, Y1, Z1 sein, und eine Mitte eines entsprechenden Gesichtsfelds FOV1 (wie es z. B. in einem erfassten Bild aufgenommen ist) kann an den relativen Koordinaten X1, Y1, Z0 sein. Ein Ort der Endwerkzeugachse EA in einer x-y-Ebene, die sich von der ersten Bildaufnahmekonfiguration 160 erstreckt, kann so festgelegt sein, dass er die relativen Koordinaten X2, Y2, Z1 aufweist. Die Endwerkzeugposition ETP kann so festgelegt sein, dass sie die Koordinaten X2, Y2, Z2 aufweist. In verschiedenen Implementierungen kann das Endwerkzeug ETL einen Kontaktpunkt CP (z. B. an dem Ende eines Endwerkzeugtasters ETST zum Kontaktieren eines Werkstücks) aufweist, der so festgelegt sein kann, dass er die Koordinaten X3, Y3, Z3 aufweist. In einer Implementierung, in der der Kontaktpunkt CP des Endwerkzeugs ETL in der x- oder y-Richtung relativ zu dem Rest des Endwerkzeugs nicht variiert, können die X3- und Y3-Koordinaten gleich den X2-bzw. Y2-Koordinaten sein.
-
In verschiedenen Implementierungen kann das Robotersystem 300 von 3 spezielle unterschiedliche Konstruktionsüberlegungen und Aspekte im Vergleich zu dem Robotersystem 200 von 2 aufweisen (die sich z. B. auf ein/e mögliche/s vertikale/s Verlagerung oder Durchhängen an den entfernten Enden DE1 und DE2 des ersten und des zweiten Armabschnitts 120 bzw. 130 beziehen). In einer Implementierung, in der ein/e solche/s Verlagerung oder Durchhängen auftreten kann (z. B. aufgrund des Gewichts und/oder unterschiedlichen Orientierungen des Armabschnitte, Bildaufnahmekonfiguration 160 usw.), kann ein besonders unerwünschter Effekt in dem Robotersystem 300 von 3 in Bezug darauf erhalten werden, dass das Gesichtsfeld FOV der ersten Bildaufnahmekonfiguration 160 entsprechend verschoben ist. Insbesondere kann ein/e solche/s vertikale Verlagerung oder Durchhängen eine relativ signifikante Verschiebung/Änderung des Orts des Gesichtsfelds FOV auf der XY-Skala 170 (d. h. wie sie an dem stationären Element STE angebracht ist) verursachen, was zu einem relativ signifikanten Fehler der bestimmten relativen Position und den entsprechenden Messtechnikpositionskoordinaten der Endwerkzeugposition ETP führen kann. Aufgrund solcher Probleme kann in speziellen Implementierungen die Konfiguration des Robotersystems 200 von 2 so betrachtet werden, dass sie die entsprechenden Vorteile gegenüber dem Robotersystem 300 von 3 aufweist.
-
4 ist ein isometrisches Diagramm einer beispielhaften Implementierung einer inkrementellen XY-Skala 170A. Wie in 4 dargestellt ist, enthält die inkrementelle XY-Skala 170A eine Gruppe gleichmäßig beabstandeter inkrementeller abbildungsfähiger Merkmale IIF. In verschiedenen Implementierungen kann die inkrementelle XY-Skala 170A eine Periodizität aufweisen, die kleiner ist als 100 Mikrometer (für die z. B. die periodischen Beabstandungen XSP1 und YSP1 zwischen den inkrementellen abbildungsfähigen Merkmalen IIF entlang der entsprechenden x- und y-Achse jeweils weniger als 100 Mikrometer sein können). In verschiedenen Implementierungen können die Positionsinformationen, die unter Nutzung der inkrementellen XY-Skala 170A bestimmt werden, eine Genauigkeit von wenigstens 10 Mikrometern aufweisen. Im Gegensatz zu einer Robotergenauigkeit, die in speziellen Implementierungen ungefähr 100 Mikrometer sein kann, kann die Genauigkeit, die unter Nutzung einer solchen XY-Skala 170A bestimmt wird, wenigstens 10x die der Robotergenauigkeit sein. In einer spezifischen Beispielimplementierung kann die inkrementelle XY-Skala 170A eine sogar höhere Periodizität von ungefähr 10 Mikrometer aufweisen, für die, falls die Vergrößerung der ersten Bildaufnahmekonfiguration 160 ungefähr 1x ist und Interpolation mit einem Faktor von 10x ausgeführt wird, eine Genauigkeit von etwa 1 Mikrometer erreicht werden kann. Eine solche Konfiguration würde eine Verbesserung der Genauigkeit von ungefähr 100x gegenüber einer Robotergenauigkeit von ungefähr 100 Mikrometern aufweisen.
-
In verschiedenen Implementierungen kann ein Ort eines Gesichtsfelds FOV der ersten Bildaufnahmekonfiguration 160 innerhalb der inkrementellen XY-Skala 170A eine Angabe einer relativen Position zwischen der XY-Skala 170A und der ersten Referenzposition REF1 bereitstellen. In verschiedenen Implementierungen kann die erste Bildaufnahmekonfiguration 160 in Kombination mit der inkrementellen XY-Skala 170A als Teil einer Kamera/Skalenbildverarbeitungskonfiguration benutzt werden. Beispielsweise kann der Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 eine relative inkrementelle Position zwischen der XY-Skala 170A und der ersten Referenzposition REF1 basierend auf dem Ort des Gesichtsfelds FOV innerhalb der inkrementellen XY-Skala 170A, wie er durch den Abschnitt der XY-Skala 170A in dem erfassten Bild angegeben ist, bestimmen und ist in der Technik für Kamera/Skalenbildverarbeitungstechniken bekannt (z. B. wie in den vorstehend aufgenommenen Referenzen beschrieben ist). In verschiedenen Implementierungen kann die inkrementelle XY-Skala 170A von verschiedener Größe relativ zu dem Gesichtsfeld FOV sein (z. B. kann die inkrementelle XY-Skala 170A wenigstens 4x, 10x, 20x usw. größer sein als das Gesichtsfeld FOV).
In verschiedenen Implementierungen kann die durch die XY-Skala 170A angegebene inkrementelle Position mit Positionsinformationen aus dem Knickarmroboter 110 kombiniert werden, um eine relativ präzise und/oder absolute Position zu bestimmen. Beispielsweise können die Sensoren SEN1 und SEN2 (z. B. Drehwinkelgeber) des Knickarmroboters 110 die Endwerkzeugposition ETP mit der Robotergenauigkeit angeben, für die die inkrementelle Position, die durch die XY-Skala 170A angegeben ist, benutzt werden kann, um die bestimmte Endwerkzeugposition ETP weiter zu verfeinern, so dass sie eine Genauigkeit aufweist, die besser als die Robotergenauigkeit ist. In einer solchen Konfiguration kann der Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 konfiguriert sein, ein oder mehrere entsprechende abbildungsfähige Merkmale IIF der XY-Skala 170A, die in dem erfassten Bild enthalten sind, basierend auf den Bildpositionen des einen oder der mehreren abbildungsfähigen Merkmalen IFF in dem erfassten Bild und basierend auf Positionsdaten des Knickarmroboters, die aus dem Bewegungssteuerungssystem 140 entsprechend der Bilderfassungszeit abgeleitet werden, zu identifizieren.
-
In solchen Konfigurationen können die entsprechenden abbildungsfähigen Merkmale IFF der XY-Skala 170A eine Menge ähnlicher abbildungsfähiger Merkmale IFF enthalten, die auf dem Substrat verteilt sind, so dass sie in regelmäßigen Abständen um einen Abstand, der größer ist als ein maximaler Positionsfehler, der innerhalb der Robotergenauigkeit erlaubt ist, voneinander beabstandet sind. Wie in 4 dargestellt ist, sind die abbildungsfähigen Merkmale IFF um mehr als einen maximalen Positionsfehler MPE, wie er durch einen Kreis, der ein repräsentatives abbildungsfähiges Merkmal IFF repräsentiert ist, beabstandet (z. B. an Abständen XSP1 und SSP1). Es ist zu verstehen, dass in einer solchen Konfiguration die Robotergenauigkeit für die Positionsbestimmung ausreichend ist, um den Ort mit einer Genauigkeit, die größer als die Beabstandung zwischen den abbildungsfähigen Merkmalen IFF ist, zu bestimmen. Insbesondere kann in verschiedenen Implementierungen ein einziges abbildungsfähiges Merkmal IFF auf der XY-Skala 170A (d. h. wobei die abbildungsfähigen Merkmale alle an bekannten x- und y-Messtechnikpositionskoordinaten auf der XY-Skala 170A gemäß der gleichmäßigen Beabstandungen über die Skala sind) somit durch die Positionsdaten des Knickarmroboters mit ausreichender Genauigkeit identifiziert werden, so dass keine zwei abbildungsfähigen Merkmale IFF miteinander verwechselt werden können. In einer solchen Konfiguration kann der Ort des einzelnen abbildungsfähigen Merkmals IFF in dem erfassten Bild benutzt werden, um die Endwerkzeugposition ETP weiter zu verfeinern, so dass sie eine Genauigkeit aufweist, die besser als die Robotergenauigkeit ist, wenigstens für x- und y-Messtechnikpositionskoordinaten der Endwerkzeugposition ETP in einer x-y-Ebene, die senkrecht zu der z-Achse ist.
-
Wie vorstehend mit Bezug auf 2 beschrieben ist, kann in einer spezifischen Beispielimplementierung die XY-Skala 170A so festgelegt sein, dass sie eine Referenzposition (z. B. einen Ursprungsort) bei X0, Y0, Z0 aufweist (die z. B. für einen Ursprungsort die Werte 0,0,0 aufweisen kann). In einer solchen Konfiguration kann der Referenzort REF1 (d. h. wie er durch die stationäre erste Bildaufnahmekonfiguration 160 definiert ist) an relativen Koordinaten X1, Y1, Z1 sein, und eine Mitte eines entsprechenden Gesichtsfelds FOV (wie es z. B. in einem erfassten Bild aufgenommen ist), kann an den relativen Koordinaten X1, Y1, Z0 sein. Ein Ort der Endwerkzeugachse EA in einer x-y-Ebene, die sich von der XY-Skala 170 erstreckt, kann so festgelegt sein, dass er die relativen Koordinaten X2, Y2, Z0 aufweist. Die Endwerkzeugposition ETP kann so festgelegt sein, dass sie die Koordinaten X2, Y2, Z2 aufweist.
-
Im Betrieb kann ein erfasstes Bild durch den Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 analysiert werden, um die X1-, Y1-Koordinaten zu bestimmen, die der Mitte des Gesichtsfelds FOV1 der stationären ersten Bildaufnahmekonfiguration 160 entsprechen. In verschiedenen Implementierungen kann eine solche Bestimmung in Übereinstimmung mit Standard-Kamera/Skalenbildverarbeitungstechniken zum Bestimmen eines Orts eines Gesichtsfelds (der z. B. einem Ort einer Kamera entspricht) innerhalb eines Skalenbereichs (z. B. innerhalb der XY-Skala 170A) vorgenommen werden. Es ist zu verstehen, dass es in Übereinstimmung mit Standard-Kamera/Skalenbildverarbeitungstechniken nicht erforderlich ist, dass die/der Referenzposition/Ursprungsort X0, Y0, Z0 in dem Gesichtsfeld FOV ist, damit eine solche Bestimmung vorgenommen werden kann (d. h. die relative Position kann aus den Skaleninformationen an irgendeinem Ort entlang der XY-Skala 170A, wie sie teilweise durch die Skalenelemente bereitgestellt sind, die die gleichmäßig beabstandeten inkrementellen abbildungsfähigen Merkmale IIF umfassen, bestimmt werden). In verschiedenen Implementierungen kann eine solche Bestimmung Identifizieren wenigstens eines entsprechenden abbildungsfähigen Merkmals der XY-Skala 170, das in dem erfassten Bild enthalten ist, und des zugehörigen entsprechenden bekannten XY-Skalenkoordinatenorts enthalten. Eine solche Bestimmung kann dem Bestimmen einer relativen Position zwischen der XY-Skala 170 und der ersten Referenzposition REF1 (d. h. wie sie durch die stationäre erste Bildaufnahmekonfiguration 160 definiert ist) entsprechen. Die relativen X2-, Y2-Koordinaten (d. h. der Endwerkzeugposition ETP) können dann gemäß dem bekannten Koordinatenpositionsversatz zwischen der Endwerkzeugposition ETP und der XY-Skala 170 bestimmt werden (z. B. Addieren der x-und y-Positionsversatzwerte zu X1 und Y1, um X2 und Y2 zu bestimmen).
-
Ein spezifisches erläuterndes Beispiel zum Kombinieren der Positionsinformationen aus dem Knickarmroboter 110 mit den inkrementellen Positionsinformationen, die durch die XY-Skala 170A angegeben sind, um eine relativ präzise und/oder absolute Position zu bestimmen, ist wie folgt. Wie in 4 dargestellt ist, kann das erfasste Bild angeben, dass die Mitte des Gesichtsfelds FOV in der Mitte von vier inkrementellen abbildungsfähigen Merkmalen IIF ist, kann jedoch nicht angeben, welche spezifischen vier inkrementellen abbildungsfähigen Merkmale IIF der XY-Skala 170 in dem Bild enthalten sind. Die Positionsinformationen aus dem Knickarmroboter 110 können genau genug sein, um solche Informationen bereitzustellen, für die die spezifischen vier inkrementellen abbildungsfähigen Merkmale IIF der XY-Skala 170A identifiziert werden können (z. B. teilweise basierend auf den vorstehend genannten Prinzipien, durch die die abbildungsfähigen Merkmale IFF um mehr als einen maximalen Positionsfehler, wie er durch eine repräsentative runde Fläche MPE repräsentiert ist, beabstandet sind, so dass jedes abbildungsfähige Merkmal IFF eindeutig identifiziert werden kann). Das erfasste Bild kann dann durch den Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 analysiert werden, um präzise zu bestimmen, wo die Mitte des Gesichtsfelds (d. h. an den Koordinaten X1, Y1, ZO) innerhalb dieses Teilabschnitts der XY-Skala (d. h. der die spezifischen vier inkrementellen abbildungsfähigen Merkmale IIF enthält) auftritt. Der Prozess kann dann wie vorstehend angegeben fortfahren (z. B. zum entsprechenden Bestimmen der X2- und Y2-Koordinaten der Endwerkzeugposition ETP).
-
5 ist ein isometrisches Diagramm einer beispielhaften Implementierung einer absoluten XY-Skala 170B. In dem Beispiel von 5 enthält, ähnlich der inkrementellen XY-Skala 170A, die absolute XY-Skala 170B eine Gruppe gleichmäßig beabstandeter inkrementeller abbildungsfähiger Merkmale IIF und enthält außerdem eine Menge absoluter abbildungsfähiger Merkmale AIF, die eindeutig identifizierbare Strukturen (z. B. eine 16-Bit-Struktur) aufweisen. Im Betrieb stellt ein Ort eines Gesichtsfelds FOV der ersten Bildaufnahmekonfiguration 160 innerhalb der absoluten XY-Skala 170B (d. h. wie er in einem aufgenommenen Bild enthalten ist) eine Angabe einer absoluten Position zwischen der XY-Skala 170B und der ersten Referenzposition REF1 bereit. In der Implementierung von 5 ist die Menge absoluter abbildungsfähiger Merkmale AIF auf dem Substrat SUB so verteilt, dass sie um weniger als einen Abstand, der einem Abstand über ein Gesichtsfeld FOV der ersten Bildaufnahmekonfiguration 160 entspricht, (z. B. in Abständen XSP2 und YSP2), beabstandet sind (d. h. so dass immer wenigstens ein abbildungsfähiges Merkmal AIF in einem Gesichtsfeld enthalten sein wird). Im Betrieb ist der Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 konfiguriert, wenigstens ein entsprechendes absolutes abbildungsfähiges Merkmal AIF, das in dem erfassten Bild der XY-Skala 170B enthalten ist, basierend auf der eindeutig identifizierbaren Struktur des entsprechenden absoluten abbildungsfähigen Merkmals AIF zu identifizieren. Es ist zu verstehen, dass solche Implementierungen fähig sind, unabhängig eine absolute Position, die die Endwerkzeugposition ETP angibt, mit einer Genauigkeit, die besser als die Robotergenauigkeit ist, wenigstens für die x-und y-Messtechnikpositionskoordinaten der Endwerkzeugposition ETP in einer x-y-Ebene, die zu der z-Achse senkrecht ist, zu bestimmen (und was z. B., im Gegensatz zu der inkrementellen XY-Skala 170B das Kombinieren mit Positionsinformationen aus dem Knickarmroboter 110 nicht erfordern kann, um die absolute Position zu bestimmen).
-
Ein spezifisches erläuterndes Beispiel der Nutzung der absoluten abbildungsfähigen Merkmale AIF zum Bestimmen einer relativ präzisen und absoluten Position ist wie folgt. Wie in 5 dargestellt ist, kann das erfasste Bild angeben, dass die Mitte des Gesichtsfelds FOV in der Mitte einer Anzahl inkrementeller abbildungsfähiger Merkmale IIF ist. Die Positionsinformationen aus den enthaltenen zwei absoluten abbildungsfähigen Merkmalen AIF gibt an, welchen Teilabschnitt der XY-Skala 170B das Bild enthält, für den die enthaltenen inkrementellen abbildungsfähigen Merkmale IIF der XY-Skala 170B ebenfalls identifiziert werden können. Das erfasste Bild kann dementsprechend durch den Messtechnikpositionskoordinatenverarbeitungsabschnitt 190 analysiert werden, um präzise zu bestimmen, wo die Mitte des Gesichtsfelds (d. h. an den Koordinaten X1, Y1, Z0) innerhalb dieses Teilabschnitts der XY-Skala (d. h. der die zwei absoluten abbildungsfähigen Merkmale und die inkrementellen abbildungsfähigen Merkmale IIF enthält) auftritt. Der Prozess kann dann wie vorstehend angegeben fortfahren (z. B. zum entsprechenden Bestimmen der X2- und Y2-Koordinaten der Endwerkzeugposition ETP).
-
6A und 6B sind Ablaufdiagramme, die beispielhafte Implementierungen von Routinen 600A und 600B zum Betreiben eines Robotersystems, das einen Knickarmroboter und ein Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten enthält, darstellen. Wie in 6A gezeigt ist, wird an einem Entscheidungsblock 610 eine Bestimmen vorgenommen, ob das Robotersystem in einer Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten betrieben werden soll. In verschiedenen Implementierungen kann eine Auswahl und/oder Aktivierung einer Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten oder einer Standardbetriebsart mit Roboterpositionskoordinaten durch einen Anwender vorgenommen werden und/oder kann durch das System in Reaktion auf spezielle Operationen und/oder Anweisungen automatisch vorgenommen werden. Beispielsweise kann in einer Implementierung in eine Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten eingetreten werden (z. B. automatisch oder in Übereinstimmung mit einer Auswahl durch einen Anwender), wenn sich der Knickarmroboter in eine spezielle Position bewegt (z. B. ein Endwerkzeug von einem allgemeinen Bereich, in dem Montage oder andere Operationen ausgeführt werden, zu einem spezifischeren Bereich, wo typischerweise Werkstückuntersuchungsoperationen ausgeführt werden und wo die Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten benutzt würde). In verschiedenen Implementierungen können solche Betriebsarten durch ein externes Steuerungssystem ECS implementiert sein (wie z. B. das externe Steuerungssystem ECS von 1, das einen Standardbetriebsartabschnitt 147 mit Roboterpositionskoordinaten und einen Betriebsartabschnitt 192 mit zusätzlichen Messtechnikpositionskoordinaten benutzt). In verschiedenen Implementierungen kann eine Hybridbetriebsart entweder unabhängig oder als Teil einer Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten betrieben werden und/oder kann als ein Umschalten zwischen den Betriebsarten implementiert sein, wie nachstehend mit Bezug auf 7 genauer beschrieben wird.
-
Falls in dem Entscheidungsblock 610 bestimmt wird, dass das Robotersystem nicht in einer Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten betrieben werden soll, fährt die Routine zu einem Block 620 fort, wo das Robotersystem in einer Standardbetriebsart mit Roboterpositionskoordinaten betrieben wird. Als Teil der Standardbetriebsart mit Roboterpositionskoordinaten werden die Positionssensoren (z. B. Drehwinkelgeber) des Knickarmroboters benutzt, um die Bewegungen des Knickarmroboters und entsprechende Endwerkzeugposition mit der Robotergenauigkeit (die z. B. wenigstens teilweise auf der Genauigkeit der Positionssensoren des Knickarmroboters basiert) zu steuern und zu bestimmen. Wie vorstehend erwähnt können der erste und der zweite Drehwinkelgeber die Positionen des ersten und zweiten Armabschnitts mit einem geringeren Genauigkeitsgrad angeben als die Positionsinformationen, die unter Nutzung der XY-Skala bestimmt werden. Im Allgemeinen kann die Betriebsart mit Roboterpositionskoordinaten einer unabhängigen und/oder Standardbetriebsart für den Knickarmroboter entsprechen (z. B. einer Betriebsart, in der der Knickarmroboter unabhängig betrieben wird, wie z. B. wenn ein Bestimmungssystem für zusätzliche Messtechnikpositionskoordinaten nicht aktiv ist oder anderweitig nicht bereitgestellt ist).
-
Falls das Robotersystem in einer Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten betrieben werden soll, fährt die Routine zu einem Block 630 fort, wo wenigstens ein Eingabesignal empfangen wird (d. h. in einem Bildtriggerabschnitt), das zu einer Endwerkzeugposition des Knickarmroboters gehört. Eine Zeit eines ersten Bildaufnahmetriggersignals wird basierend auf wenigstens einem Eingabesignal bestimmt, und das erste Bildaufnahmetriggersignal wird zu einer ersten Bildaufnahmekonfiguration ausgegeben. Die erste Bildaufnahmekonfiguration erfasst ein digitales Bild einer XY-Skala zu einer Bilderfassungszeit in Reaktion auf das Empfangen des ersten Bildaufnahmetriggersignals. In einem Block 640 wird das erfasst Bild empfangen (z. B. in einem Messtechnikpositionskoordinatenverarbeitungsabschnitt), und wenigstens ein entsprechendes abbildungsfähiges Merkmal XY-Skala, das in dem erfassten Bild der enthalten ist, und der zugehörige entsprechende bekannte XY-Skalenkoordinatenort werden identifiziert.
-
In einem Block 650 wird eine relative Position zwischen einer beweglichen aus der XY-Skala oder der ersten Bildaufnahmekonfiguration und der ersten Referenzposition mit einem Genauigkeitsgrad, der besser als eine Robotergenauigkeit ist, basierend auf dem Bestimmen einer Bildposition des identifizierten wenigstens einen abbildungsfähigen Merkmals in dem erfassten Bild bestimmt. Die bestimmte relative Position gibt die Messtechnikpositionskoordinaten der Endwerkzeugposition zur Bilderfassungszeit mit einem Genauigkeitsgrad, der besser als die Robotergenauigkeit ist, wenigstens für x-und y-Messtechnikpositionskoordinaten in einer x-y-Ebene, die senkrecht zu der z-Achse ist, an. In einem Block 660 werden die bestimmten Positionsinformationen (z. B. die bestimmte relative Position, die bestimmten Messtechnikpositionskoordinaten der Endwerkzeugposition und/oder andere zugehörige bestimmte Positionsinformationen) für eine festgelegte Funktion (z. B. zur Werkstückmessung, Positionierungssteuerung des Knickarmroboters usw.) benutzt. Als Teil solcher Operationen oder anderweitig kann die Routine dann zu einem Punkt A fortfahren, wo in verschiedenen Implementierungen die Routine enden kann, oder kann anderweitig fortfahren, wie nachstehend mit Bezug auf 6B genauer beschrieben wird.
-
Wie in 6B angegeben ist, kann die Routine 600B von Punkt A zu einem Block 670 fortfahren. Wie nachstehend genauer beschrieben wird, können als Teil der Routine 600B die bestimmten Positionsinformationen (z. B. aus dem Block 660) dem Bestimmen eines ersten Oberflächenorts auf einem Werkstück entsprechen oder auf andere Weise dafür benutzt werden, und wobei ein zweiter Oberflächenort auf dem Werkstück dann bestimmt werden kann (z. B. als Teil einer Werkstückmessung). In dem Block 670 wird wenigstens ein zweites Eingabesignal empfangen (z. B. in dem Bildtriggerabschnitt), das zu der Endwerkzeugposition gehört, und die Zeit eines zweiten Bildaufnahmetriggersignals wird basierend auf dem wenigstens einen zweiten Eingabesignal bestimmt. Das zweite Bildaufnahmetriggersignal wird zu der ersten Bildaufnahmekonfiguration ausgegeben, wobei die erste Bildaufnahmekonfiguration ein zweites digitales Bild der XY-Skala zu einer zweiten Bilderfassungszeit in Reaktion auf das Empfangen des zweiten Bildaufnahmetriggersignals erfasst.
-
In einem Block 680 wird das erfasst Bild empfangen (z. B. in dem Messtechnikpositionskoordinatenverarbeitungsabschnitt), und wenigstens ein zweites entsprechendes abbildungsfähiges Merkmal der XY-Skala, das in dem zweiten erfassten Bild enthalten ist, und ein zugehöriger entsprechender zweiter bekannter XY-Skalenkoordinatenort werden identifiziert. In einem Block 690 wird eine zweite relative Position zwischen der beweglichen aus der XY-Skala oder der ersten Bildaufnahmekonfiguration und der ersten Referenzposition mit einem Genauigkeitsgrad, der besser als die Robotergenauigkeit ist, basierend auf dem Bestimmen einer zweiten Bildposition des identifizierten wenigstens einen zweiten entsprechenden abbildungsfähigen Merkmals in dem zweiten erfassten Bild bestimmt. Die bestimmte zweite relative Position gibt die Messtechnikpositionskoordinaten der Endwerkzeugposition zu der zweiten Bilderfassungszeit mit einem Genauigkeitsgrad, der besser als die Robotergenauigkeit ist, wenigstens für x- und y-Messtechnikpositionskoordinaten in einer x-y-Ebene, die senkrecht zu der z-Achse ist, an. Die zweite relative Position ist von der ersten relativen Position verschieden und entspricht einem zweiten Oberflächenort auf dem Werkstück, der von dem ersten Oberflächenort verschieden ist.
-
In einem Block 695 werden die ersten und zweiten relativen Positionen und/oder zugehörigen Positionsinformationen benutzt, um eine Abmessung des Werkzeugs zu bestimmen, die einem Abstand zwischen dem ersten und dem zweiten Oberflächenort auf dem Werkzeug entspricht, die den entsprechenden Endwerkzeugpositionen (wie sie z. B. die Kontaktpunktpositionen usw. angeben) zu der ersten und der zweiten Bilderfassungszeit entsprechen. Es ist zu verstehen, dass anstelle der Verwendung der Positionssensoren (z. B. Drehwinkelgeber) des Knickarmroboters, um den ersten und den zweiten Oberflächenort auf dem Werkstück mit der Robotergenauigkeit zu bestimmen, genauere Positionsinformationen unter Benutzung von Techniken, wie sie vorstehend beschrieben sind, bestimmt werden können. Insbesondere ermöglicht die Bestimmung des ersten und des zweiten Oberflächenorts (d. h. wie sie dem ersten und dem zweiten Ort auf der XY-Skala entsprechen, für die ein präziser Abstand zwischen solchen Orten unter Nutzung der vorstehend beschriebenen Techniken in Übereinstimmung der Genauigkeit der XY-Skala bestimmt werden kann), dass die entsprechende Abmessung auf dem Werkstück zwischen dem ersten und dem zweiten Oberflächenort mit einem hohen Genauigkeitsgrad bestimmt wird.
-
7 ist ein Ablaufdiagramm, das eine beispielhafte Implementierung einer Routine 700 zum Bestimmen einer Endwerkzeugposition darstellt, wobei unterschiedliche Techniken während unterschiedlicher Abschnitte einer Bewegungszeit benutzt werden können. Im Allgemeinen werden während der Bewegungszeit ein oder mehrere Armabschnitte des Knickarmroboters von ersten Drehpositionen zu zweiten Drehpositionen bewegt (was z. B. Drehen der Armabschnitte um Drehverbindungen von ersten Drehorientierungen zu einer zweiten Drehorientierung enthalten kann). Wie in 7 gezeigt ist, wird in einem Entscheidungsblock 710 eine Bestimmung vorgenommen, ob eine Hybridbetriebsart zum Bestimmen der Endwerkzeugposition während der Bewegungszeit benutzt wird. In verschiedenen Implementierungen kann eine Hybridbetriebsart auch für einen Prozess repräsentativ sein, der das Umschalten zwischen der Betriebsart mit zusätzlichen Messtechnikpositionskoordinaten und der Standardbetriebsart mit Roboterpositionskoordinaten enthält. Falls die Hybridbetriebsart nicht benutzt werden soll, fährt die Routine zu einem Block 720 fort, wo die Positionssensoren (z. B. Drehwinkelgeber) des Knickarmroboters allein zum Bestimmen der Endwerkzeugposition während der Bewegungszeit benutzt werden.
-
Falls die Hybridbetriebsart benutzt werden soll, fährt die Routine zu einem Block 730 fort, für den während eines ersten Abschnitts einer Bewegungszeit die Positionssensoren, die in dem Knickarmroboter enthalten sind, zum Bestimmen der Endwerkzeugposition benutzt werden. Während solcher Operationen kann eine relative Position eines Bestimmungssystems für zusätzliche Messtechnikpositionskoordinaten nicht bestimmt werden und/oder wird anderweitig nicht benutzt, um die Endwerkzeugposition zu bestimmen. In einem Block 740 wird während eines zweiten Abschnitts der Bewegungszeit, der nach dem ersten Abschnitt der Bewegungszeit stattfindet, eine bestimmte relative Position des Bestimmungssystems für zusätzliche Messtechnikpositionskoordinaten benutzt, um die Endwerkzeugposition zu bestimmen. Es ist zu verstehen, dass solche Operationen ermöglichen, dass das System initiale/schnelle/grobe Bewegung der Endwerkzeugposition während des ersten Abschnitts der Bewegungszeit ausführt und genauere endgültige/langsamere/feine Bewegung der Endwerkzeugposition während des zweiten Abschnitts der Bewegungszeit ausführt.
-
Es ist zu verstehen, dass, obwohl der Elementname „XY-Skala“ in dieser Offenbarung in Bezug auf die Elemente 170, 170A, 170B und dergleichen verwendet worden ist, dieser Elementname nur beispielhaft und nicht einschränkend ist. Es wird darauf als eine „XY-Skala“ in Bezug auf ein kartesisches Koordinatensystem und seine Beschreibung, dass es eine nominell ebenes Substrat umfasst, das nominell senkrecht der z-Achse angeordnet ist, Bezug genommen. Allgemeiner sollte der Elementname XY-Skala jedoch so verstanden werden, dass er sich auf irgendeine Referenzskala bezieht, die mehrere Merkmale oder Markierungen umfasst, die bekannten zweidimensionalen Koordinaten auf dieser Referenzskala (z. B. genauen und/oder genau kalibrierten Orten in zwei Dimensionen) entsprechen, vorausgesetzt, dass die Skala wie hier offenbart funktionieren kann. Beispielsweise können solche Skalenmerkmale so ausgedrückt oder markiert sein, dass sie in einem kartesischen Koordinatensystem auf dieser Referenzskala oder in einem Polarkoordinatensystem oder irgendeinem anderen geeigneten Koordinatensystem sind. Darüber hinaus können solche Merkmale Merkmale umfassen, die gleichmäßig oder ungleichmäßig über einen betriebsfähigen Skalenbereich verteilt sind, und können unterteilte oder nicht unterteilte Skalenmarkierungen umfassen, vorausgesetzt, dass solche Merkmale bekannten zweidimensionalen Koordinaten auf der Skala entsprechen und wie hier offenbart funktionieren können.
-
Es ist zu verstehen, dass, obwohl das hier offenbarte und dargestellte Robotersystem allgemein gezeigt und mit Bezug auf zwei Armabschnitten (z. B. den ersten Armabschnitt 120 und den zweiten Armabschnitt 130.) beschrieben ist, es nicht so eingeschränkt ist. In verschiedenen Implementierungen kann das Robotersystem, unter der Voraussetzung, dass es zwei Armabschnitte wie die hier beschriebenen und/oder beanspruchten enthält, zusätzliche Armabschnitte enthalten, falls gewünscht.
-
Es ist zu verstehen, dass die XY-Skala oder Referenzskala und eine Kamera, die verwendet wird, um die Skala aufzunehmen, eine Drehung relativ zueinander durchlaufen können, abhängig von der Bewegung und/oder Position des Robotersystems. Es ist zu verstehen, dass Verfahren aus dem Stand der Technik (wie sie z. B. in den aufgenommenen Referenzen offenbart sind) verwendet werden können, um irgendeine solche relative Drehung genau zu bestimmen und/oder irgendwelche erforderlichen Koordinatentransformationen auszuführen und/oder die relative Position der Kamera und der Skala gemäß hier offenbarten Prinzipien zu analysieren, trotz solcher relativer Drehungen. Es ist zu versehen, dass die Messtechnikpositionskoordinaten, auf die hier Bezug genommen ist, irgendwelche solchen Drehungen berücksichtigen können. Darüber hinaus ist zu verstehen, dass in einigen Implementierungen die Messtechnikpositionskoordinaten, auf die hier Bezug genommen ist, eine Menge von Koordinaten umfassen können, die eine präzise Bestimmung und/oder Angabe irgendeiner solchen relativen Drehung enthalten, falls gewünscht. Obwohl bevorzugte Implementierungen der vorliegenden Offenbarung dargestellt und beschrieben worden sind, werden basierend auf dieser Offenbarung zahlreiche Variationen der dargestellten und beschriebenen Anordnungen von Merkmalen und Abfolgen von Operationen für einen Fachmann offensichtlich. Verschiedene alternative Formen können verwendet werden, um die hier offenbarten Prinzipien zu implementieren. Zusätzlich können die verschiedenen vorstehend beschriebenen Implementierungen kombiniert werden, um weitere Implementierungen zu schaffen. Alle U.S.-Patente und U.S.-Patentanmeldungen, auf die in dieser Spezifikation Bezug genommen sind, sind hier durch Bezugnahme vollständig mit aufgenommen. Aspekte der Implementierungen können modifiziert werden, falls es notwendig ist, um Konzepte der verschiedenen Patente und Anmeldungen einzusetzen, um noch weitere Implementierungen zu schaffen.
-
Diese und andere Änderungen können an den Implementierungen angesichts der vorstehenden genauen Beschreibung vorgenommen werden. Allgemein sollten in den folgenden Ansprüchen die verwendeten Begriffe nicht so gedeutet werden, dass sie die Ansprüche auf die in der Spezifikation und den Ansprüchen offenbarten spezifischen Implementierungen beschränken, sondern sollten so gedeutet werden, dass sie alle möglichen Implementierungen zusammen mit dem vollständigen Umfang von Äquivalenten, für den solche Ansprüche berechtigt sind, enthalten.
-
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
-
- US 4725965 [0003]
- US 6781694 [0033]
- US 6937349 [0033]
- US 5798947 [0033]
- US 6222940 [0033]
- US 6640008 [0033]