DE112007001096T5 - Auto-Einlern-System - Google Patents

Auto-Einlern-System Download PDF

Info

Publication number
DE112007001096T5
DE112007001096T5 DE112007001096T DE112007001096T DE112007001096T5 DE 112007001096 T5 DE112007001096 T5 DE 112007001096T5 DE 112007001096 T DE112007001096 T DE 112007001096T DE 112007001096 T DE112007001096 T DE 112007001096T DE 112007001096 T5 DE112007001096 T5 DE 112007001096T5
Authority
DE
Germany
Prior art keywords
optical system
point
learning
scanning
programming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112007001096T
Other languages
English (en)
Inventor
Simon B. Bonney Lake Johnson
Lev M. Kirkland Bolotin
Bradley Morris Edmonds Johnson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Data IO Corp
Original Assignee
Data IO Corp
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 Data IO Corp filed Critical Data IO Corp
Publication of DE112007001096T5 publication Critical patent/DE112007001096T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/401Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for measuring, e.g. calibration and initialisation, measuring workpiece for machining purposes
    • G05B19/4015Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for measuring, e.g. calibration and initialisation, measuring workpiece for machining purposes going to a reference at the beginning of machine cycle, e.g. for calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45063Pick and place manipulator

Landscapes

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

Abstract

Auto-Einlern-System (700), das Folgendes umfasst:
Bereitstellen einer ersten Referenz (306) in einer ersten Richtung (302);
Bereitstellen einer zweiten Referenz (308) in einer zweiten Richtung (304); und
Scannen eines optischen Systems (222) über die erste Referenz (306) und die zweite Referenz (308), um einen Einlern-Punkt (300) zu ermitteln.

Description

  • BEZUG ZU VERWANDTEN ANMELDUNGEN
  • Die vorliegende Erfindung enthält Gegenstände, die mit einer ebenfalls anhängigen US-Patentanmeldung Nr. 11/467,087 verwandt sind. Data I/O Corporation ist Inhaberin dieser verwandten Anmeldung.
  • Die vorliegende Erfindung enthält Gegenstände, die mit einer ebenfalls anhängigen US-Patentanmeldung Nr. 11/676,733 verwandt ist. Data I/O Corporation ist Inhaberin dieser verwandten Anmeldung.
  • Die vorliegende Erfindung enthält Gegenstände, die mit einer ebenfalls anhängigen US-Patentanmeldung Nr. 11/381,696 verwandt ist. Data I/O Corporation ist Inhaberin dieser verwandten Anmeldung.
  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft im Allgemeinen Auto-Einlern-Systeme, und insbesondere automatisierte Programmiersysteme, die Auto-Einlern-Systeme verwenden.
  • STAND DER TECHNIK
  • Im Allgemeinen umfasst eine Einlege-Maschine, auch als "Pick-und-Place-Maschine" bekannt, eine Düse zum Aufnehmen und Platzieren von Komponenten. Diese Düse ist üblicherweise an einem bewegbaren Kopf montiert, der oft als "Pick-und-Place-Kopf" bezeichnet wird und der es gestattet, die Komponenten zwischen unterschiedlichen Orten innerhalb des Arbeitsraumes eines Roboters zu transportieren. Der Ort der Düse ist durch die Verwendung von Encodern bzw. Kodierern, die den Ort der Düse durch ein zweidimensionales Koordinatensystem (X und Y) verfolgen, zu jeder Zeit bekannt. Damit die Komponenten in dem Arbeitsraum der Pick-und-Place-Maschine präzise aufgenommen und abgelegt werden können, müssen die Orte absolut bekannt sein. Gegenwärtig lernen die meisten Systeme die Orte dadurch, dass eine Bedienperson dem Modul manuell Aufnahmepositionen und Ablagepositionen beibringt, d. h. die Maschine einlernt.
  • Der Referenzpunkt für einen jeden Encoder ist die Grundposition. Die Grundposition wird ermittelt, indem eine jede Achse in Richtung der Grundposition-Flag bewegt wird, bis ein Grundpositions-Detektionssensor aktiviert wird. Dieser Prozess liefert einen Referenzpunkt für sämtliche Bewegungen des Kopfes. Obwohl die Grundposition einen Referenzpunkt bereitstellt, ist sie lediglich ein Referenzpunkt relativ zu anderen Positionen.
  • Obwohl die Grundposition recht genau detektiert werden kann, sind die Orte von Modulen, wie beispielsweise von Hohlräumen von Eingabe-/Ausgabe-Modulen und Programmiermodulen innerhalb des Arbeitsraums des Roboters nur bis zu einen näherungsweisen Wert bekannt. Dementsprechend sind die Orte dieser Modul-Hohlräume für die Pick-und-Place-Operationen nicht genau genug bekannt.
  • Gegenwärtig benötigen die meisten Pick-und-Place-Operationen ein manuelles Einlernen des exakten Orts eines Modul-Hohlraums durch eine Bedienperson. Dies ist ein sehr zeitaufwendiger Prozess, der die folgenden Schritte benötigt: Ermitteln des Grundpositions-Ortes, des ungefähren Orts des Hohlraums, des exakten Orts einer Komponente und das Speichern von Koordinaten. Zuerst muss eine Bedienperson das Grundpositions-Koordinatensystem lokalisieren, indem sie den Roboter mit Grundpositions-Detektionssensoren für eine jede Koordinatenachse (d. h. X und Y) ausrichtet. Als nächstes präpositioniert die Bedienperson den Roboter an dem ungefähren Ort des Modul-Hohlraums. Dann "schubst" die Bedienperson den Pick-und-Place-Kopf mit abgesenkter Düse, bis die Düse auf ein Referenzmerkmal bzw. -element trifft, wie beispielsweise eine Komponente oder den Mittelpunkt eines Hohlraums.
  • Nachdem die Bedienperson in einer visuellen Überprüfung sichergestellt hat, dass die Düse an dem richtigen Zielort positioniert ist, instruiert die Bedienperson den Roboter, sich die gegenwärtigen Koordinaten (Encoderwerte) zu merken. Diese Prozedur wird wiederholt, bis sämtliche Referenzmerkmale bzw. -elemente durch das Koordinatensystem ermittelt wurden. Dieser Prozess ist nicht nur kostenintensiv und zeitaufwendig, sondern er ist außerdem dem Risiko eines menschlichen Fehlers ausgesetzt, beispielsweise während der visuellen Identifikation durch eine ungeübte Bedienperson. Bei automatisierten Programmiersystemen, bei denen die Module verhältnismäßig häufig ausgewechselt werden müssen, wird darüber hinaus die Produktivität erheblich durch die Zeit verringert, die durch zusätzliche Einrichtungsschritte der Maschine und die Lernkurve der Bedienperson aufgewandt wird.
  • Auf dem Gebiet der Pick-und-Place-Systeme werden einige automatisierte Einlern-Operationen verwendet, aber diese basieren üblicherweise auf Sichtsystemen, die auf dem Roboterarm oder dem Rahmen der Maschine installiert sind. Üblicherweise sind diese Sichtsysteme in der Lage, die benötigte Genauigkeit zu liefern, um die Koordinaten für ein jedes Referenzmerkmal bzw. -element zu ermitteln, aber sie sind sehr empfindlich gegenüber der Qualität und der Konsistenz des bereitgestellten Lichtes. Dementsprechend sind sie sehr teuer. Darüber hinaus ist es in vielen Gegenden der Welt schwierig, die notwendige Konsistenz in der elektrischen Stromversorgung bereitzustellen, um die benötigte Qualität der Lichtquelle bereitzustellen.
  • Dementsprechend besteht immer noch ein Bedarf für eine zuverlässige und robuste Pick-und-Place-Maschine, die einen Auto-Einlern-Mechanismus verwendet. In Anbetracht der zunehmenden Notwendigkeit, Kosten zu sparen und Effizienzen zu verbessern, ist es zunehmend dringend, dass Antworten für diese Probleme gefunden werden.
  • Lösungen für diese Probleme wurden lange gesucht, aber frühere Entwicklungen haben keine Lösungen gelehrt oder vorgeschlagen, somit wurden Lösungen für diese Probleme von Fachleuten noch nicht gefunden.
  • OFFENBARUNG DER ERFINDUNG
  • Die vorliegende Erfindung stellt eine Auto-Einlern-System bereit, welches das Bereitstellen einer ersten Referenz in einer ersten Richtung 302 umfasst, das Bereitstellen einer zweiten Referenz in einer zweiten Richtung 304 und das Scannen eines optischen Systems über eine erste Referenz und eine zweite Referenz umfasst, um einen Einlern-Punkt zu ermitteln.
  • Bestimmte Ausführungsformen der vorliegenden Erfindung haben andere Aspekte zusätzlich zu oder anstelle der oben genannten. Diese Aspekte werden dem Fachmann nach Lektüre der folgenden detaillierten Beschreibung einleuchten, wenn diese im Zusammenhang mit den beigefügten Zeichnungen betrachtet wird.
  • KURZE BESCHREIBUNG DER FIGUREN
  • 1 ist eine isometrische Ansicht eines automatisierten Programmiersystems gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 2 ist eine isometrische Ansicht eines automatisierten Programmiersystems, bei dem ein Teil einer Abdeckung entfernt ist, gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 3 ist eine Draufsicht auf Einlern-Ziele, die verwendet werden, um einen Einlern-Punkt zu lokalisieren, gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 4 ist eine Sequenz von Bewegungen einer Optik, die einen Einlern-Punkt gemäß einer Ausführungsform der vorliegenden Erfindung definieren;
  • 5 ist eine Abfolge von Bewegungen einer Optik, die einen Einlern-Punkt definieren, gemäß einer anderen Ausführungsform der vorliegenden Erfindung;
  • 6 ist eine Darstellung des erfassten Ortes eines Einlern-Ziel-Punkts gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 7 ist ein Überblick über ein Auto-Einlern-System gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 8 ist ein Flussdiagramm für ein automatisiertes Programmiersystem zum Herstellen des automatisierten Programmiersystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • BESTE ART, DIE ERFINDUNG AUSZUFÜHREN
  • Die folgenden Ausführungsformen werden in ausreichendem Detail beschrieben, um den Fachmann in die Lage zu versetzen, die Erfindung zu verwenden, und es versteht sich, dass andere Ausführungsformen ausgehend von der vorliegenden Offenbarung evident sind und dass Änderungen an dem Prozess oder mechanische Änderungen vorgenommen werden können, ohne den Rahmen der Erfindung zu verlassen.
  • In der folgenden Beschreibung werden verschiedene spezifische Details angegeben, um ein gründliches Verständnis der Erfindung zu vermitteln. Es versteht sich jedoch, dass die Erfindung auch ohne diese spezifischen Details umgesetzt werden kann. Um die Erfindung nicht zu verschleiern, wurden einige wohlbekannte Systemkonfigurationen und Verfahrensschritte nicht im Detail offenbart. Ebenso sind die Figuren, die Ausführungsformen der Erfindung zeigen, nur diagrammatisch und nicht maßstabsgetreu, und insbesondere sind manche Abmessungen zum Zwecke der Klarheit der Darstellung in den Figuren vergrößert dargestellt. Soweit mehrere Ausführungsformen offenbart und beschrieben sind, die einige Merkmale gemeinsam haben, werden zum Zwecke der Klarheit, der Einfachheit der Darstellung, der Beschreibung und des Verständnisses ähnliche oder gleiche Merkmale mit gleichen Bezugszeichen bezeichnet.
  • Der Begriff "horizontal", wie er hier verwendet wird, ist definiert als eine Ebene parallel zu der Ebene oder Oberfläche bzw. Oberseite eines automatisierten Programmiersystems, unabhängig von dessen Orientierung. Der Begriff "vertikal" bezieht sich auf eine Richtung senkrecht zu der soeben definierten Horizontalen. Begriffe wie "auf", "über", "unter", "unten", "oben", "seitlich" oder "Seit-" (wie in "Seitenwand"), "höher", "tiefer", "oberer", "über" und "unter" sind unter Bezugnahme auf die horizontale Ebene definiert.
  • Unter Bezugnahme auf 1 ist eine isometrische Ansicht eines automatisierten Programmiersystems 100 gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Das automatisierte Programmiersystem 100 umfasst einen Rahmen 102, einen Monitor 104, eine Abdeckung 106, ein Eingangsmodul bzw. Eingabemodul 108, ein Ausgangsmodul bzw. Ausgabemodul 110, Programmiermodule 112, eine Steuerungselektronik 114 und einen Statusanzeiger 116. Zur Veranschaulichung könnte das automatische Programmiersystem 100 ein auf einer Arbeitsfläche zu verwendendes Handhabungssystem, auch Desktop-Handhabungssystem genannt, mit einem Einlegemechanismus umfassen, der im Folgenden auch als Pick-und-Place-Mechanismus bezeichnet wird. Das Desktop-Handhabungssystem ist ein tragbares Programmiersystem. Um die Tragbarkeit des Desktop-Handhabungssystems zu erleichtern, können Handgriffe eingebaut sein.
  • Der Rahmen 102 bildet das Hauptgehäuse, welches sämtliche Elemente zusammenhält und strukturellen Halt gibt. Der Monitor 104 kann an einer feststehenden Position der Abdeckung 106 montiert sein. Beispielsweise kann der Monitor 104 ein Touchscreen-Nutzerschnittstellensystem enthalten, welches dem Bediener visuelle Rückmeldung gibt, ohne jedoch auf eine solche Ausführungsform beschränkt zu sein.
  • Die Abdeckung 106 ist auf dem Rahmen 102 montiert und bedeckt den Arbeitsraum des Gerätes. Die Abdeckung 106 bietet dem Eingabemodul 108, dem Ausgabemodul 110 und den Programmiermodulen 112 Schutz von Staub und Schmutz in der Arbeitsumgebung. Darüber hinaus schützt die Abdeckung 106 den Bediener vor unbeabsichtigten Sicherheitsrisiken während des Betriebs.
  • Geräte bzw. Bausteine (Device) und/oder Medien können in das automatisierte Programmiersystem 100 über entnehmbare Module eingeführt und aus diesem ausgeführt werden, wie beispielsweise über das Eingabemodul 108 oder das Ausgabemodul 110. Alternativ können die Geräte und/oder Medien in das automatisierte Programmiersystem 100 eingebracht bzw. aus diesem entnommen werden, ohne das Eingabemodul 108 und das Ausgabemodul 110 aus diesem zu entnehmen. Beispielsweise können das Eingabemodul 108 und das Ausgabemodul 110 so ausgebildet sein, dass sie Laden, Tabletts oder andere Aufnahmen unterbringen, die mit den Joint Electron Device Engineering Council(JEDEC)-Standards übereinstimmen. Es versteht sich jedoch, dass die vorliegende Erfindung nicht auf solche Ausgestaltungen beschränkt ist. Gemäß der vorliegenden Erfindung können das Eingabemodul 108 und das Ausgabemodul 110 irgendeine Geräteaufnahme beherbergen.
  • Die Programmiermodule 112 stellen die Kern-Prozessschnittstelle für das automatisierte Programmiersystem 100 bereit. Die Programmiermodule 112 umfassen ein oder mehrere entnehmbare Module, die eine Schnittstelle mit dem automatisierten Programmiersystem 100 bilden. Ein jedes der Module 112 kann auch so ausgestaltet sein, dass es Aufnahmen beherbergt, die mit den JEDEC-Standards übereinstimmen. Diese Aufnahmen können Socket-Adapter (die in 2 mehr im Detail beschrieben werden), einen oder mehrere Aktuatoren (im Detail beschrieben in 2) und einen Ausschussbehälter (in 2 im Detail beschrieben) enthalten, um Geräte aufzunehmen. Nachdem die Geräte, wie beispielsweise nicht programmierte programmierbare Medien, innerhalb der Socket-Adapter angeordnet sind, schließen die Aktuatoren die Sockets bzw. Fassungen, so dass die Geräte auf geeignete Weise mit den Programmiermodulen 112 des automatisierten Programmiersystems 100 verbunden sind. Darüber hinaus können die Programmiermodule 112 durch das automatisierte Programmiersystem 100 gesteuert werden, um die Einrichtung, das so genannte "Setup", der Konfiguration und manuelle Operationen zu erleichtern, wie beispielsweise das Platzieren und Entfernen von programmierbaren Medien.
  • Darüber hinaus kann beispielsweise ein jedes der Module innerhalb des automatisierten Programmiersystems 100 ein Modul-Steuerungssystem enthalten, welches es gestattet, dass das Modul zum Zwecke der Programmierung, Konfiguration und Identifikation eingerichtet wird. Alternativ kann das Modul-Steuersystem und dessen Funktion als Teil des Touchscreen-Nutzerschnittstellensystems integriert sein, welches von dem Monitor 104 angezeigt wird, anstatt das Modul-Steuersystem als Teil eines jeden Moduls vorzusehen.
  • Die Steuerelektronik 114 ist ebenfalls auf dem Rahmen 102 montiert. Die Steuerelektronik 114 stellt eine elektrische Schnittstelle für das automatisierte Programmiersystem 100 bereit. Beispielsweise kann die Steuerelektronik 114 einen EIN/AUS-Schalter für die Leistung und/oder digitale Eingangs/Ausgangs-Karten umfassen, die mit externen Sensoren verbunden sind. Man beachte, dass das automatisierte Programmiersystem 100 nicht von einem externen Vakuumsystem abhängt, wodurch die Tragbarkeit der Maschine stark erhöht wird. Das automatisierte Programmiersystem 100 verfügt über ein gerätinternes Vakuumsystem, welches durch elektrischen Strom mit Leistung versorgt wird, so dass das automatisierte Programmiersystem 100 ein autarkes System ist, welches lediglich elektrische Leistung für seinen Betrieb benötigt. Darüber hinaus können auf der Rückseite des automatisierten Programmiersystems 100 zusätzliche Leistungsmodule vorgesehen sein.
  • Der Status-Anzeiger 116 ist ebenfalls auf dem Rahmen 102 montiert. Der Status-Anzeiger 116 stellt eine visuelle Rückmeldung über ein textfreies Fehlersignal bezüglich des Status des Geräts an den Nutzer bereit. Beispielsweise könnte der Status-Anzeiger 116 ein mehrfarbiges Schema verwenden, welches mehr als eine Lichtkombination verwendet. Die jeweilige Kombination kann so ausgeführt sein, dass beispielsweise ein grünes Licht anzeigt, dass das Gerät im Betrieb ist, ein gelbes Licht anzeigt, dass in Kürze Aufmerksamkeit erfordert wird und ein rotes Licht anzeigt, dass ein Problem vorliegen kann und das Gerät angehalten wird, oder dass der Auftrag normal beendet wurde. Es versteht sich jedoch, dass ein anderes Farbschema verwendet werden kann, um die genannten Nachrichten bezüglich Betriebsbereitschaft, benötigter Aufmerksamkeit und Betriebsabbruch zu übermitteln.
  • In 2 ist eine isometrische Ansicht des automatisierten Programmiersystems 100 gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt, bei dem ein Teil der Abdeckung 106 entfernt ist. Das automatisierte Programmiersystem 100 umfasst einen Rahmen 102, einen Monitor 104, ein Eingabemodul 108, ein Ausgabemodul 110, Programmiermodule 112, eine Steuerelektronik 114, einen Status-Anzeiger 116, ein Robotersystem 200, eine Eingangsvorrichtungs-Aufnahme 202, Socket-Adapter 204, Aktuatoren 206, eine Ausgangsvorrichtungs-Aufnahme 208, einen Ausschussbehälter 210, einen Ausleger 212, der auch als "Gantry" bezeichnet wird, eine Schiene 214, einen Arm 216, ein Kopf-System 218, Düsen 220 und ein optisches System 222.
  • Das Robotersystem 200 und das automatisierte Programmiersystem 100 im Allgemeinen kann über ein Nutzer-Schnittstellensystem gesteuert werden, wie beispielsweise ein graphisches textfreies Nutzer-Schnittstellensystem. Gemäß der Lesart der vorliegenden Erfindung verwendet ein textfreies Nutzer-Schnittstellensystem nur Zahlen und Symbole, um einem Bediener Informationen zu vermitteln, aber keine geschriebenen Wörter. Das Nutzer-Schnittstellensystem kann dem Bediener Rückmeldung über visuelle oder akustische Signale vermitteln.
  • Das Nutzer-Schnittstellensystem, welches durch den Monitor 104 dargestellt wird, stellt ein Abbild des Arbeitsraums (d. h., die Systemkonfiguration) in Echtzeit bereit. Der Arbeitsraum umfasst das Eingabemodul 108, das Ausgabemodul 110, die Programmiermodule 112, die Eingangsgeräte-Aufnahme 202, die Socket-Adapter 208, die Aktuatoren 206, die Ausgangsgeräte-Aufnahme 208 und den Ausschussbehälter 210. Obwohl dies nicht gezeigt ist, kann die vorliegende Erfindung ein zusätzliches Modul, wie beispielsweise ein Markierungsmodul umfassen, welches die Fähigkeit hat, ein Gerät gemäß seines Programmierstatus zu markieren. Beispielsweise kann ein Gerät, welches erfolgreich bearbeitet wurde, mit einem grünen Punkt markiert werden, um gute Teile von schlechten oder nicht programmierten zu unterscheiden. Durch Modellieren der Echtzeit-Repräsentation des Arbeitsraums hilft der Monitor 104 dem Bediener, Fehler während des Einrichtens des automatisierten Programmiersystems 100 zu vermeiden. Darüber hinaus kann das Echtzeit-Abbild auf dem Monitor 104 aufgrund dessen genauer Repräsentation des Arbeitsraums die Produktivität des Bedieners erhöhen.
  • Das Nutzer-Schnittstellensystem zeigt nicht nur ein Echtzeit-Abbild des Arbeitsraums an, sondern es kann außerdem Information bezüglich des Programmier-Setups und des Status bereitstellen. Im Allgemeinen enthält das Nutzer-Schnittstellensystem der vorliegenden Erfindung die folgenden Kategorien, um ein Programmiersystem zu steuern: Aufgabenauswahl (Job-Auswahl), Programmieren, Geräte- und Hardwaredetektion und statistische Job-Rückmeldung. Diese Kategorien werden über eine Vielzahl von Funktionen gesteuert, wie beispielsweise Job-Status-Anfragen, Job-Steuerung, Job-Werkzeuge, Socketverwendung, Job-Auswahl, Aufnahmen-Abbildung und Messen einer Aufnahme. Diese Funktionen stellen eine taugliche Nutzerschnittstelle für das automatisierte Programmiersystem 100 bereit, welche keine Textrepräsentation benötigt, und daher eine globale Verwendung der Nutzerschnittstelle gestattet.
  • Darüber hinaus kann das Nutzer-Schnittstellensystem für einen fernbedienten Betrieb konfiguriert werden, ebenso wie für einen Diagnosezugang von Ferne.
  • Während des Betriebs nimmt das Robotersystem 200, welches ein Pick-und-Place-System umfasst, ein oder mehrere Geräte (nicht gezeigt) aus der Eingangsgeräte-Aufnahme 202, die über dem Eingabemodul 108 angeordnet ist. Das Robotersystem 200 transportiert dann das Gerät bzw. die Geräte zu den Programmiermodulen 112, die die Socket-Adapter 204 und die Aktuatoren 206 umfassen. Sobald die Socket-Adapter 204 sich mit den Geräten in Eingriff befinden, kann das Programmieren beginnen. Sobald das Programmieren beendet ist, transportiert das Robotersystem 200 die guten Geräte zu der Ausgangsgeräte-Aufnahme 208, die über dem Ausgabemodul 110 angeordnet ist, und transportiert die schlechten Geräte zu dem Ausschussbehälter 210.
  • Das Robotersystem 200 ist an einem L-förmigen Grundteil befestigt, welches Teil des Rahmens 102 ist. Das L-förmige Grundteil stellt eine starre, leichtgewichtige, gegossene Plattform für das Robotersystem 200 bereit. Darüber hinaus gestattet das L-förmige Grundteil einen einfachen Zugang zu dem Arbeitsraum des automatisierten Programmiersystems 100. Das L-förmige Grundteil kann ein so genanntes "Smart-Interface-System" für das Bilden einer Schnittstelle mit intelligenten Modulen enthalten.
  • Das Robotersystem 200 umfasst einen Ausleger (so genanntes Gantry) 212, eine Schiene 214, einen Arm 216, ein Kopf-System 218, Düsen 220 und ein optisches System 222. Der Ausleger 212 gleitet über die Schiene 214 hin und her (in X-Richtung). Das Kopf-System 218, die Düsen 220 und das optische System 222 gleiten (in Y-Richtung) über den Arm 216, der von dem Ausleger 212 getragen wird. Das Kopf-System 218 kann zusätzlich nach oben und unten (in Z-Richtung) bewegt werden und sich drehen (in einer Richtung entsprechend eines Winkels theta).
  • Das Kopf-System 218 kann beispielsweise ein Pick-und-Place-Kopf-System umfassen, welches unterschiedliche Designkonfigurationen aufweisen kann, wie beispielsweise das Multi-Proben-Design, ohne darauf beschränkt zu sein. Das Kopf-System 218 ist ein leichtes System geringer Größe, um schnelle und genaue Bewegungen zu erleichtern, insbesondere Bewegungen in vertikaler Richtung. Ungenaue Bewegungen des Kopf-Systems 218 werden durch einen eingebauten nachgiebigen Mechanismus aufgefangen. Der eingebaute nachgiebige Mechanismus kann auf mechanischen Prinzipien beruhen, beispielsweise auf einer Feder, oder auf elektrischen Prinzipien.
  • Um die Größe und das Gewicht des Kopf-Systems 218 weiter zu verringern, verwenden bestimmte Ausführungsformen der Erfindung eine beschränkte theta- bzw. Drehbewegung für eine Auf- und Ab-Position bzw. Z-Position.
  • Das Kopf-System 218 kann durch einen elektrischen Stimulus, einen pneumatischen Stimulus oder irgendeinen anderen Stimulus angetrieben werden, der das gewünschte Resultat bezüglich der Bewegung des Kopf-Systems 218 hervorruft. Bemerkenswerterweise hängen die Düsen 220 des Kopf-Systems 218 nicht von einer externen Luftversorgung ab. Wenn die Düsen 220 pneumatisch betrieben werden, wird dies über ein gerätinternes Vakuumsystem bereitgestellt. Daher kann das automatisierte Programmiersystem 100 so ausgelegt sein, dass es für seinen Betrieb lediglich elektrischen Strom benötigt. Aufgrund der Tatsache, dass nicht jede potentielle Betriebseinrichtung eine saubere und speziell vorgesehene externe Luftversorgung zu haben braucht, wird das automatisierte Programmiersystem 100 tragbar und universell verwendbar.
  • Ferner grenzt an das Kopf-System 218 ein optisches System 220 an, welches aufgrund seiner Befestigung an dem Kopf-System 218 verschiebbar ist. Das optische System 222 gestattet es dem Robotersystem 200, die physischen Charakteristika der Module automatisch aufzunehmen bzw. abzubilden. Beispielsweise können diese Module das Eingabemodul 108, das Ausgabemodul 110, die Programmiermodule 112 und den Ausschussbehälter 210 umfassen. Genauer kann das optische System 222 automatisch die physischen Eigenschaften und die Geometrie einer Aufnahme messen, welche über einem Modul angeordnet ist. Für eine jede Aufnahme kann das optische System 222 die Anzahl von Zeilen, die Anzahl von Spalten, den Zeilenversatz, den Zeilenabstand, den Spaltenversatz und den Spaltenabstand ermitteln bzw. abbilden. Darüber hinaus kann das optische System 222 die Socket-Adapter 204 und die Aktuatoren 206 der Programmiermodule 112 ermitteln bzw. abbilden.
  • Diese automatischen Messungen stellen Information bezüglich der exakten Koordinaten (bezüglich X, Y, Z und/oder theta-Richtungen) für ein jedes Element innerhalb des Arbeitsraums des Robotersystems 200 bereit. Die vorliegende Erfindung kann ein ein-, zwei-, drei- oder vierdimensionales Koordinatensystem verwenden. Darüber hinaus kann ein jedes Merkmal bzw. Element beispielsweise den Schwerpunkt, den Schwerpunkt eines Socket-Adapters und/oder den Mittelpunkt einer Komponente, wie beispielsweise eines Gerätes oder eines Mediums umfassen, ohne dass die Erfindung auf eine solche Ausführungsform beschränkt wäre. Darüber hinaus kann eine Aufnahme ein zweidimensionales Array der Größe M × N von Elementen oder Merkmalen umfassen, wobei M und N positive ganze Zahlen sind.
  • Das optische System 222 verwendet optische Methoden, die auf Änderungen eines Zustands basieren, wie beispielsweise der Reflektivität, und speziell entwickelte Algorithmen, um die exakten Koordinaten für ein jedes Element zu berechnen. Das System ist so ausgelegt, dass der Bediener nicht mehr die exakten Koordinaten eines jeden Elements manuell bestimmen muss, was dem Bediener Zeit spart und Eingabefehler des Bedieners verhindert.
  • In 3 ist eine Draufsicht auf Einlern-Ziele gezeigt, die verwendet werden, um einen Einlern-Punkt 300 gemäß einer Ausführungsform der vorliegenden Erfindung zu lokalisieren. Der Einlern-Punkt 300 ist der gemeinsame Referenzpunkt für alle weiteren Orte innerhalb des Koordinatensystems eines Moduls. Mit anderen Worten werden alle Orte innerhalb des Koordinatensystems in Bezug auf den Einlern-Punkt 300 definiert. Beispielsweise könnte der Einlern-Punkt 300 durch einen Socket-Adapter oder die Ecke einer Aufnahme, beispielsweise die obere linke Ecke, gebildet sein. Jedoch versteht es sich, dass die Erfindung nicht auf diese Beispiele beschränkt ist. Im Rahmen der vorliegenden Erfindung kann der Einlern-Punkt 300 irgendeinen gemeinsamen Referenzpunkt umfassen, der für alle Orte innerhalb des Koordinatensystems zugänglich ist.
  • In dieser Ausführungsform ist der Einlern-Punkt 300 durch Einlern-Ziele definiert, die in einer ersten Richtung 302 und einer zweiten Richtung 304 gebildet sind, wobei die erste Richtung 302 und die zweite Richtung 304 unterschiedliche Richtungen sind, beispielsweise zueinander orthogonale Richtungen. Beispielsweise können die Einlern-Ziele eine erste Refe renz 306 umfassen, die in der ersten Richtung 302 ausgebildet ist, und eine zweite Referenz 308, die in der zweiten Richtung 304 ausgebildet ist. Die Einlern-Ziele können einfach erzeugt werden, indem eine nicht-reflektive Markierung auf einer reflektiven Oberfläche angeordnet wird, oder umgekehrt. In dieser speziellen Ausführungsform sind die erste Referenz 306 und die zweite Referenz 308 nicht-reflektive Markierungen, die auf einem reflektiven Hintergrund angeordnet sind.
  • Sobald der Einlern-Punkt 300 bestimmt ist, können Merkmale bzw. Elemente, wie beispielsweise Hohlräume, Socket-Adapter und Komponenten in Bezug auf den Einlern-Punkt 300 abgebildet bzw. kartographiert werden (d. h., ihre Orte in X, Y, Z und theta-Koordinaten werden bestimmt. Der Ort eines Merkmals kann als ein Versatz gegenüber dem Einlern-Punkt 300 bestimmt werden. Beispielsweise kann ein installiertes Modul dem automatisierten Programmiersystem 100 von 1 gegenüber kommunizieren, dass Socket #1 um 36,5 mm in X-Richtung und 22,6 mm in Y-Richtung von den zugehörigen Einlern-Zielen entfernt ist. Sobald der absolute Ort des Einlern-Punkts 300 gefunden ist (Xa, Ya), kann der absolute Ort für Socket #1 definiert werden als (Xa + 36,50, Ya + 22,60). Im Allgemeinen liefert der Einlern-Punkt 300 die Basis für ein relatives Koordinatensystem für Elemente oder Merkmale innerhalb des Arbeitsraums. Der Prozess zum Ermitteln des Einlern-Punkts 300 wird näher in 4 beschrieben.
  • In 4 ist eine Abfolge von Bewegungen der Optik gezeigt, die den Einlern-Punkt 300 gemäß einer Ausführungsform der vorliegenden Erfindung definieren. Im Allgemeinen führt diese Abfolge von Bewegungen der Optik ein Auto-Einlern-Verfahren zum Ermitteln von Orten aus, wie beispielsweise Modulorten innerhalb eines Pick-und-Place-Systems. Genauer gesagt ermittelt dieses Auto-Einlern-Verfahren den Einlern-Punkt 300, der als Referenzpunkt bei der Ermittlung der Orte anderer Elemente oder Merkmale innerhalb des Pick-und-Place-Systems verwendet wird.
  • Die erste Referenz 306 und die zweite Referenz 308 sind nicht-reflektive Markierungen, die über einem Substrat 400, wie beispielsweise einem reflektiven Modul, aufgebracht sind. Die erste Referenz 306 und die zweite Referenz 308 können aber ebenso reflektive Markierungen sein, die über einem nicht-reflektiven Substrat aufgebracht sind. Die erste Referenz 306 kann in der ersten Richtung 302 ausgebildet sein und die zweite Referenz 308 kann in der zweiten Richtung 304 ausgebildet sein, wobei die erste Richtung 302 und die zweite Richtung 304 unterschiedliche Richtungen sind. Beispielsweise können die erste Richtung 302 und die zweite Richtung 304 orthogonal zueinander sein.
  • Ein Kreis 402 kann den Ausgangsort des optischen Systems 222 von 2 repräsentieren. Eine erste Abtastrichtung (bzw. Scan-Richtung) 404, eine zweite Abtastrichtung 406, eine dritte Abtastrichtung 408 und eine vierte Abtastrichtung 410 zeigen die Richtung der Verschiebung des optischen Systems 220 während des Auto-Einlern-Betriebs an.
  • Beispielsweise kann das optische System 222 seine Abtastbewegung von oberhalb des Substrats 400, und genauer, von oberhalb des Kreises 402, beginnen. Es versteht sich jedoch, dass das optische System 222 die Abtastbewegung von irgendeinem Ort beginnen kann, der zu einem Schnitt mit der ersten Referenz 306 und der zweiten Referenz 308 führt. Beispielsweise kann eine horizontale Abtastbewegung ausgehend von irgendeinem Ort beginnen, der zu einem Schnitt mit einer vertikalen Linie führt, und eine vertikale Abtastbewegung kann von irgendeinem Ort beginnen, der zu einem Schnitt mit einer horizontalen Linie führt.
  • Anfänglich kann sich das optische System 222 in der Richtung der ersten Abtastrichtung 404 bewegen, welche senkrecht zu der ersten Referenz 306 ist. Wenn das optische System 222 einen führenden Rand der ersten Referenz 306 passiert (die nicht-reflektiv ist), bemerken Sensoren, die in dem optischen System 222 vorgesehen sind, eine Änderung in der Reflektivität und zeichnen diese auf. Wenn das optische System 222 entlang des Weges der ersten Abtastrichtung 404 weiterläuft, überquert es einen nachlaufenden Rand der ersten Referenz 306, und die Sensoren erfassen wiederum die Änderung in der Reflektivität und zeichnen diese auf.
  • Nachdem das optische System 222 sich auf dem Weg gemäß der ersten Abtastrichtung 404 um eine ausreichende Strecke über die erste Referenz 306 hinaus bewegt hat, um festzustellen, dass sich das optische System 222 über dem Substrat 400 befindet, stoppt es und beginnt, sich in entgegengesetzter Richtung zurück über die erste Referenz 306 zu bewegen, die ebenfalls rechtwinkelig zur ersten Referenz 306 ist. Während das optische System 222 sich entlang dieses Weges bewegt, erfasst es die Änderung in der Reflektivität, wenn es die erste Referenz 306 überquert, und zeichnet diese auf. Das optische System 222 hält an, sobald es zu dem Ausgangsort, dem Kreis 402, zurückgekehrt ist.
  • Durch diese Abfolge von Abtastbewegungen wurde der Ort der ersten Referenz 306 definiert. Als Nächstes muss der Ort der zweiten Referenz 308 definiert werden. Ausgehend von dem Kreis 402 kann sich das optische System 222 in Richtung der dritten Abtastrichtung 408 bewegen, welche im rechten Winkel zu der zweiten Referenz 308 steht. Wenn das optische System 222 einen führenden Rand der zweiten Referenz 308 (die nicht-reflektiv ist) passiert, erfassen die Sensoren die Änderung der Reflektivität und zeichnen diese auf. Wenn das optische System 222 entlang des Weges gemäß der dritten Abtastrichtung 408 weiterläuft, überquert es einen nachlaufenden Rand der zweiten Referenz 308, und die Sensoren erfassen wiederum die Änderungen in der Reflektivität und zeichnen diese auf.
  • Nachdem das optische System 222 um eine ausreichende Strecke auf dem Weg der dritten Abtastrichtung 408 über die zweite Referenz 308 hinaus bewegt wurde, um sicherzustellen, dass es sich über dem Substrat 400 befindet, hält es an und beginnt, sich in entgegengesetzter Richtung zurück über die zweite Referenz 308 zu bewegen. Das optische System bewegt sich nun in der Richtung der vierten Abtastrichtung 410, die ebenfalls im rechten Winkel zur zweiten Referenz 308 steht. Wenn das optische System 222 sich entlang dieses Pfades bewegt, erfasst es die Änderung in der Reflektivität, wenn es die zweite Referenz 308 überquert, und zeichnet diese auf. Das optische System 222 hält an, sobald es zu seiner Ausgangsposition, dem Kreis 402, zurückgekehrt ist. Durch diese Abfolge von Abtastungen wird die zweite Referenz 308 definiert.
  • Das optische System 222 verwendet einen Mechanismus zum Messen der Änderung in der Reflektivität, wenn das optische System 222 eine nicht-reflektive Markierung von einer reflektiven Fläche kommend oder auf dem Weg zu einer reflektierenden Fläche überquert. Wenn das optische System 222 die Änderung der Reflektivität registriert, empfangt eine Motorsteuerung einen Wert von einem Encoder, der die Koordinate für die zugehörige Achse ermittelt. Es gibt eine geringfügige Verzögerung zwischen dem Zeitpunkt, zu dem das optische System 222 die Änderung der Reflektivität registriert und dem Zeitpunkt, zu dem der überwachende Mikrocontroller die Encoder-Koordinate liest, was an der Zeit liegt, die die Überwachungselektronik für ihre Antwort benötigt. Dementsprechend führt diese Verzögerung eine geringfügige Verschiebung in dem erfassten Ort sowohl der ersten Referenz 306 als auch der zweiten Referenz 308 ein. 6 beschreibt die geringfügige Verschiebung in den erfassten Orten der Einlern-Ziele und das Verfahren, das zur Korrektur derartiger Verschiebungen vorgesehen ist, mehr im Detail.
  • 5 zeigt eine ähnliche Konfiguration wie diejenige, die in 4 gezeigt ist, und dementsprechend werden nur Unterschiede zwischen den Figuren beschrieben, um Redundanzen zu vermeiden.
  • 5 zeigt eine Abfolge von Bewegungen der Optik, die den Einlern-Punkt 300 gemäß einer anderen Ausführungsform der vorliegenden Erfindung definiert. Bei dieser Ausführungsform dient ein Objekt 500 als Referenzmarkierung. Beispielsweise kann das Objekt 500 eine Aufnahme innerhalb des automatisierten Programmiersystems 100 von 1 und 2 umfassen. Das Objekt 500 kann über einem Substrat 400 angeordnet sein, wie beispielsweise dem Eingabemodul 108 von 1 und 2. Wie bei der vorhergehenden Ausführungsform kann das Objekt 500 reflektiv und das Substrat 400 nicht-reflektiv sein, oder umgekehrt.
  • Anders als bei der vorhergehenden Ausführungsform sind die erste Referenz 306 und die zweite Referenz 308 keine Markierungen mehr, die über oder auf einem Substrat 400 angeordnet sind. Bei dieser Ausführungsform sind die erste Referenz 306 und die zweite Referenz 308 nun Teile des Objekts 500. Beispielsweise kann die erste Referenz 306 gegenüberliegenden Seiten des Objekts 500 und die zweite Referenz 308 einem anderen Satz von gegenüberliegenden Seiten des Objekts 500 entsprechen. Gemäß diesem Beispiel wird die erste Referenz 306 in der ersten Richtung 302 und die zweite Referenz 308 in der zweiten Richtung 304 gebildet, wenn die erste Richtung 302 und die zweite Richtung 304 unterschiedliche Richtungen sind.
  • Wie in der vorhergehenden Ausführungsform überqueren die erste Abtastrichtung 404 und die zweite Abtastrichtung 406 die erste Referenz 306, und die dritte Abtastrichtung 408 und die vierte Abtastrichtung 410 überqueren die zweite Referenz 308. Nach dem Abtasten kann der Einlern-Punkt 300 berechnet werden.
  • Obwohl die vorliegende Ausführungsform das Objekt 500 als Quadrat anzeigt, versteht es sich, dass das Objekt 500 irgendeine Form annehmen kann. Wenn das Objekt 500 beispielsweise rund oder länglich wäre, könnte die Abfolge von optischen Bewegungen, wie sie oben beschrieben wurde, immer noch den Einlern-Punkt 300 des Objekts 500 ermitteln.
  • In 6 ist eine Darstellung des erfassten Ortes eines Einlern-Zielpunktes gemäß einer Ausführungsform der vorliegenden Erfindung dargestellt. Das optische System 222, welches in 2 gezeigt ist, misst eine Änderung in der Reflektivität, während sie ein Einlern-Ziel überquert, wie beispielsweise die erste Referenz 306, wie in 4 und 5 gezeigt ist, oder die zweite Referenz 308, wie ebenfalls in 4 und 5 gezeigt ist. Aufgrund der geringfügigen Verzögerung zwischen dem Zeitpunkt, zu dem eine Motorsteuerung die Änderung in der Reflektivität von dem optischen System 222 registriert und dem Zeitpunkt, zu dem die Motorsteuerung die Encoder-Koordinate liest, kommt es zu einer geringfügigen Verschiebung in dem zugewiesenen Wert. Diese Verschiebung in dem zugewiesenen Wert wird durch das folgende Verfahren kompensiert.
  • Die Ausführungsform zeigt die erste Abtastrichtung 404, eine Linie 602, die den erfassten Ort der ersten Abtastung repräsentiert (im Folgenden kurz „erfasste Ortslinie" genannt), eine reflektive Fläche 604, eine nicht-reflektive Fläche 606, einen erfassten führenden Rand der ersten Abtastrichtung 608, die zweite Abtastrichtung 406, eine erfasste Ortslinie 612 der zweiten Abtastung, einen erfassten führenden Rand der zweiten Abtastrichtung 614 und ein tatsächliches Einlern-Ziel 616. Die erfasste Ortslinie 602 der ersten Abtastung verläuft entlang der ersten Abtastrichtung 404. Die erfasste Ortslinie 602 der ersten Abtastung verläuft anfangs über die reflektive Fläche 604 und dann über die nicht-reflektive Fläche 606. Der erfasste führende Rand der ersten Abtastrichtung 608 markiert die von der Motorsteuerung erfasste Änderung der Reflektivität.
  • Die erfasste Ortslinie 612 der zweiten Abtastung verläuft entlang der zweiten Abtastrichtung 406, die der ersten Abtastrichtung 404 entgegengesetzt ist. Die erfasste Ortslinie 612 der zweiten Abtastung verläuft anfänglich über der reflektiven Fläche 604 und dann über der nicht-reflektiven Fläche 606. Der erfasste führende Rand der zweiten Abtastrichtung 614 markiert die von der Motorsteuerung erfasste Änderung in der Reflektivität.
  • Diese Ausführungsform zeigt, wie der erfasste führende Rand der ersten Abtastrichtung 698 und der erfasste führende Rand der zweiten Abtastrichtung 614 gegenüber dem wahren Ort des tatsächlichen Einlern-Ziels 616 verschoben sind. Darüber hinaus ist erkennbar, dass der Mittelpunkt der erfassten Ortslinie 602 der ersten Abtastung und der Mittelpunkt der erfassten Ortslinie 612 der zweiten Abtastung zu einem fehlerhaften Mittelpunkts-Wert für das tatsäch liche Einlern-Ziel 616 führt. Jedoch kann ein akkurater Mittelpunkt für das tatsächliche Einlern-Ziel durch die folgende Formel ermittelt werden: Mittelpunkt = (X1 + X2)/2
  • Der Mittelpunkt kann im Allgemeinen als Mitte des tatsächlichen Einlern-Ziels 616 definiert werden, X1 kann der Motorsteuerungs-Wert sein, der dem erfassten führenden Rand der ersten Abtastrichtung 608 zugewiesen ist, und X2 kann der Motorsteuerungs-Wert sein, der dem erfassten führenden Ende der zweiten Abtastrichtung 614 zugewiesen ist. Die obige Formel kann verwendet werden, um den Mittelpunkt sämtlicher Einlern-Ziele zu ermitteln, wie beispielsweise denjenigen der ersten Referenz 306 und denjenigen der zweiten Referenz 308. Durch Berechnen des Mittelpunkts der ersten Referenz 306 und der zweiten Referenz 308 kann der Schnittpunkt (d. h., der Einlern-Punkt 300 von 3, 4 und 5) der ersten Referenz 306 und der zweiten Referenz 308 ermittelt werden.
  • In 7 ist ein Überblick über ein Auto-Einlern-System 700 gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Das Auto-Einlern-System 700 umfasst ein optisches System 222, die erste Referenz 306, die zweite Referenz 308, eine Aufnahme 702, einen optischen Pfad 704, eine Motorsteuerung bzw. Encodersteuerung 706 und eine Verarbeitungseinheit 708. Das optische System bewegt sich vor und zurück über der Aufnahme 702, die eine reflektive Fläche umfassen kann, und tastet bzw. scannt sie dabei ab. Obwohl die erste Referenz 306 und die zweite Referenz 308 als separate Referenzmarkierungen dargestellt sind, können sie Teil des Objekts 500 sein, wie in 5 gezeigt ist.
  • Während das optische System 222 die Aufnahme 702 abtastet, kann der optische Pfad 704 durch die erste Referenz 306 oder die zweite Referenz 308 unterbrochen werden. Diese Unterbrechung im optischen Pfad 704 wird als Änderung in der Reflektivität durch einen Sensor innerhalb des optischen Systems 222 registriert. Ein Signal, welches die Änderung in der Reflektivität repräsentiert, wird dann an den Motor-Encoder bzw. Motor-Controller 706 gesendet. Der Motor-Encoder/Controller 706 weist diesem Signal eine Koordinatenposition zu. Der Motor-Encoder/Controller 706 sendet dann die Koordinatenposition an die Verarbeitungseinheit 708. Die Verarbeitungseinheit 708 speichert die Information für spätere Manipulation, wie beispielsweise die Ermittlung des Einlern-Punkts 300 von 3, 4 und 5 und die Abbildung des Ortes und/oder der Aufnahme.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird eine Verschiebung, die mit dem erfassten Ort der Einlern-Ziele assoziiert ist, minimiert, indem das optische System 222 eng mit dem Motor-Encoder/Controller 706 gekoppelt wird.
  • In 8 ist ein Flussdiagramm für ein Auto-Einlern-System 800 gezeigt, welches das Auto-Einlern-System 700 gemäß einer Ausführungsform der vorliegenden Erfindung verwendet. Das Auto-Einlern-System 800 umfasst das Bereitstellen einer ersten Referenz in einer ersten Richtung in einem Block 802, das Bereitstellen einer zweiten Referenz in einer zweiten Richtung in einem Block 804, und das Scannen eines optischen Systems über die erste Referenz und die zweite Referenz, um in einem Block 806 einen Einlern-Punkt zu ermitteln.
  • Aus der obigen Beschreibung wird deutlich, dass die vorliegende Erfindung auf Gegenstände anwendbar ist, die als "Geräte" oder "Medien" bezeichnet werden können. Geräte und/oder Medien umfassen einen weiten Bereich von elektronischen und mechanischen Geräten. Die bevorzugte Ausführungsform beschreibt die Programmierung von Geräten und/oder Medien, die Flashspeicher, mehrfach programmierbare Nur-Lese-Speicher (sogenannte EEPROMs), programmierbare logische Bausteine (PLDs, programmable logic devices), Field Programmable Gate Arrays (FPGAs) und Mikrocontroller umfassen, ohne auf diese beschränkt zu sein. Die vorliegende Erfindung umfasst ferner das Programmieren für sämtliche elektronischen, mechanischen, hybriden oder andere Geräte oder Medien, die das Testen, Messen von Gerätecharakteristika, die Kalibration und andere Programmieroperationen umfassen. Beispielsweise können diese Arten von Geräten und/oder Medien Mikroprozessoren, integrierte Schaltungen (ICs), anwendungsspezifische integrierte Schaltkreise (application specific integrated circuits, ASICs), mikro-mechanische Maschinen, mikro-elektrische mechanische Geräte (MEMs), Mikromodule und fluidische Systeme umfassen, ohne auf diese beschränkt zu sein.
  • Es wurde festgestellt, dass die vorliegende Erfindung eine Vielzahl von Aspekten aufweist. Ein grundsätzlicher Aspekt besteht darin, dass die gegenwärtigen manuellen Einlern-Techniken für die Ermittlung einer Grundposition fortfallen. Die vorliegende Erfindung verwendet ein Auto-Einlern-System, welches automatisch die Grundposition und/oder den Einlern-Punkt ermittelt, was dabei hilft, Fehler durch den Bediener zu vermeiden.
  • Ein weiterer Aspekt der vorliegenden Erfindung betrifft die Fähigkeit, die Mittelpunktsposition einer Referenz korrekt zu berechnen, indem die Verschiebungsfehler infolge einer Signalverzögerung berücksichtigt werden.
  • Diese und weitere wertvolle Aspekte der vorliegenden Erfindung entwickeln den Stand der Technik zumindest bis zu einer nächsten Stufe.
  • Es wurde somit festgestellt, dass das Auto-Einlern-System der vorliegenden Erfindung wichtige und bisher unbekannte nicht verfügbare Lösungen, Fähigkeiten und funktionelle Aspekte bereitstellt. Beispielsweise verwendet die vorliegende Erfindung ein Auto-Einlern-System, welches automatisch und akkurat den Ort einer Grundposition und/oder eines Einlern-Punktes bestimmt, wodurch Fehler durch den Betreiber verringert werden können. Die resultierenden Prozesse und Konfigurationen sind einfach umzusetzen, kosteneffizient, unkompliziert, sehr vielseitig und effektiv und sie können durch die Anpassung bekannter Technologien implementiert werden und sind daher sehr geeignet für eine effiziente und ökonomische Herstellung.
  • Obwohl die Erfindung in Verbindung mit einer bevorzugten Ausführungsform beschrieben wurde, versteht es sich, dass Alternativen, Modifikationen und Abwandlungen dem Fachmann im Lichte der vorhergehenden Beschreibung offensichtlich sind. Dementsprechend ist es beabsichtigt, sämtliche solcher Alternativen, Modifikationen und Abwandlungen mit zu umfassen, die in den Rahmen der beigefügten Ansprüche fallen. Sämtliche Gegenstände, die hier erwähnt wurden oder in den beigefügten Zeichnungen gezeigt wurden, sind als rein illustrativ und nicht beschränkend aufzufassen.
  • ZUSAMMENFASSUNG
  • Ein Auto-Einlern-System (700), welches das Bereitstellen einer ersten Referenz (306) in einer ersten Richtung (302), das Bereitstellen einer zweiten Referenz (308) in einer zweiten Richtung (304) und das Scannen eines optischen Systems (222) über die erste Referenz (306) und die zweite Referenz (308) umfasst, um einen Einlern-Punkt (300) zu ermitteln.

Claims (10)

  1. Auto-Einlern-System (700), das Folgendes umfasst: Bereitstellen einer ersten Referenz (306) in einer ersten Richtung (302); Bereitstellen einer zweiten Referenz (308) in einer zweiten Richtung (304); und Scannen eines optischen Systems (222) über die erste Referenz (306) und die zweite Referenz (308), um einen Einlern-Punkt (300) zu ermitteln.
  2. System nach Anspruch 1, bei dem das Scannen des optischen Systems (222) das Ermitteln eines gemeinsamen Bezugspunkts umfasst, der für alle Orte innerhalb eines Koordinatensystems als Einlern-Punkt (300) zugänglich ist.
  3. System nach Anspruch 1, bei dem das Scannen des optischen Systems (222) das Erfassen und Aufzeichnen von Änderungen in der Reflektivität der ersten Referenz (306) umfasst.
  4. System nach Anspruch 3, bei dem das Scannen des optischen Systems (222) das Erfassen und Aufzeichnen von Änderungen in der Reflektivität der zweiten Referenz (308) umfasst.
  5. System nach Anspruch 1, bei dem das Scannen des optischen Systems (222) zum Ermitteln des Einlern-Punkts (300) außerdem das Berücksichtigen einer geringfügigen Verschiebung in dem erfassten Ort umfasst.
  6. Auto-Einlern-System (700), das Folgendes umfasst: eine erste Referenz (306) in einer ersten Richtung (302) zum Definieren eines Einlern-Punktes (300); eine zweite Referenz (308) in einer zweiten Richtung (304) zum Definieren des Einlern-Punktes (300); und ein optisches System (222) zum Scannen über die erste Referenz (306) und die zweite Referenz (308), um den Einlern-Punkt (300) zu ermitteln.
  7. System nach Anspruch 6, bei dem der Einlern-Punkt (300) irgendeinen gemeinsamen Referenzpunkt umfasst, der für alle Orte innerhalb eines Koordinatensystems zugänglich ist.
  8. System nach Anspruch 6, bei dem das optische System (222) den Einlern-Punkt (300) durch Änderungen in der Reflektivität der ersten Referenz (306) und der zweiten Referenz (308) ermittelt.
  9. System nach Anspruch 6, bei dem die erste Referenz (306) und die zweite Referenz (308) nicht-reflektive Markierungen sind.
  10. System nach Anspruch 6, bei dem der Einlern-Punkt (300) ermittelt wird, indem eine geringfügige Verschiebung in dem erfassten Ort berücksichtigt wird.
DE112007001096T 2006-05-03 2007-03-29 Auto-Einlern-System Withdrawn DE112007001096T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/381,532 2006-05-03
US11/381,532 US20070271638A1 (en) 2006-05-03 2006-05-03 Auto-teaching system
PCT/US2007/065555 WO2007130760A1 (en) 2006-05-03 2007-03-29 Auto-teaching system

Publications (1)

Publication Number Publication Date
DE112007001096T5 true DE112007001096T5 (de) 2009-04-30

Family

ID=38668096

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112007001096T Withdrawn DE112007001096T5 (de) 2006-05-03 2007-03-29 Auto-Einlern-System

Country Status (4)

Country Link
US (1) US20070271638A1 (de)
CN (1) CN101432672A (de)
DE (1) DE112007001096T5 (de)
WO (1) WO2007130760A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063531B2 (en) * 2006-05-03 2015-06-23 Data I/O Corporation Automated programming system employing smart interfaces
AT504327B8 (de) * 2006-09-08 2008-09-15 Knapp Logistik Automation Tablettenabfüllvorrichtung
KR100857603B1 (ko) * 2007-03-29 2008-09-09 삼성전자주식회사 전자부품 검사 시스템 및 그 제어방법
WO2020102222A1 (en) * 2018-11-12 2020-05-22 Bpm Microsystems, Inc. Automated teaching of pick and place workflow locations on an automated programming system

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6132113A (ja) * 1984-07-23 1986-02-14 Seiko Instr & Electronics Ltd ロボツト制御方式
US4604715A (en) * 1984-10-19 1986-08-05 General Electric Company Robotic inspection system
US5040059A (en) * 1987-08-03 1991-08-13 Vexcel Corporation Method and apparatus of image mensuration with selectively visible and invisible reseau grid marks
US4887016A (en) * 1987-09-21 1989-12-12 Viking Systems International, Inc. Portable robot with automatic set-up
US5428658A (en) * 1994-01-21 1995-06-27 Photoelectron Corporation X-ray source with flexible probe
EP0658831B1 (de) * 1993-11-18 1997-08-06 Siemens Aktiengesellschaft Rechnergestütztes Entwurfsverfahren für ein programmierbares Automatisierungssystem
US6085407A (en) * 1997-08-21 2000-07-11 Micron Technology, Inc. Component alignment apparatuses and methods
US6202031B1 (en) * 1998-04-08 2001-03-13 Mcms, Inc. Method of calibrating an automated placement machine
US6071060A (en) * 1998-04-08 2000-06-06 Mcms, Inc. Calibration jig for an automated placement machine
US6195165B1 (en) * 1998-08-04 2001-02-27 Cyberoptics Corporation Enhanced sensor
US6230067B1 (en) * 1999-01-29 2001-05-08 Bp Microsystems In-line programming system and method
US6487623B1 (en) * 1999-04-30 2002-11-26 Compaq Information Technologies Group, L.P. Replacement, upgrade and/or addition of hot-pluggable components in a computer system
US6538244B1 (en) * 1999-11-03 2003-03-25 Cyberoptics Corporation Pick and place machine with improved vision system including a linescan sensor
US7068833B1 (en) * 2000-08-30 2006-06-27 Kla-Tencor Corporation Overlay marks, methods of overlay mark design and methods of overlay measurements
US6591160B2 (en) * 2000-12-04 2003-07-08 Asyst Technologies, Inc. Self teaching robot
US6466841B2 (en) * 2001-02-14 2002-10-15 Xerox Corporation Apparatus and method for determining a reference position for an industrial robot
US6898484B2 (en) * 2002-05-01 2005-05-24 Dorothy Lemelson Robotic manufacturing and assembly with relative radio positioning using radio based location determination
US6825485B1 (en) * 2002-05-08 2004-11-30 Storage Technology Corporation System and method for aligning a robot device in a data storage library
US7049577B2 (en) * 2002-09-30 2006-05-23 Teradyne, Inc. Semiconductor handler interface auto alignment
JP4137711B2 (ja) * 2003-06-16 2008-08-20 東京エレクトロン株式会社 基板処理装置及び基板搬送手段の位置合わせ方法
US7151591B2 (en) * 2004-09-28 2006-12-19 Asml Netherlands B.V. Alignment system, alignment method, and lithographic apparatus
US20060118459A1 (en) * 2004-12-07 2006-06-08 Christensen David M System and method for locating components on a tray

Also Published As

Publication number Publication date
CN101432672A (zh) 2009-05-13
WO2007130760A1 (en) 2007-11-15
US20070271638A1 (en) 2007-11-22

Similar Documents

Publication Publication Date Title
DE102017123877B4 (de) Robotersystem
DE102013021917B4 (de) Robotersystemanzeigevorrichtung
DE102016114337B4 (de) System und verfahren zum verknüpfen von koordinatenräumen maschinellen sehens in einer umgebung angeleiteten zusammenbaus
DE112007002538T5 (de) Verbesserte Kalibrierung eines Substrathandhabungsroboters
DE102018213985B4 (de) Robotersystem
DE102018109774B4 (de) Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm
EP2227356B1 (de) Verfahren und system zum hochpräzisen positionieren mindestens eines objekts in eine endlage im raum
DE60127644T2 (de) Lehrvorrichtung für einen Roboter
DE102015000587B4 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
DE102009012590A1 (de) Vorrichtung zum Ermitteln der Stellung eines Roboterarms mit Kamera zur Durchführung von Aufnahmen
DE102008050969A1 (de) Werkstückgreifeinrichtung und Werkstücktransportvorrichtung unter Verwendung von dieser
EP3285061B1 (de) Verfahren und vorrichtung zur härteprüfung
DE102013017007B4 (de) Roboter mit einem Endmanipulatorarm mit Endeffektor sowie Verfahren zur Bestimmung eines Kraft- und Drehmomenteintrages auf einen Endeffektor eines Roboters
DE102007030390A1 (de) Koordinaten-Messmaschine und Verfahren zur Kalibrierung der Koordinaten-Messmaschine
EP2693218B1 (de) Verfahren und Vorrichtung zum Erfassen bzw. Überprüfen einer Anordnung von Laborartikeln auf einem Arbeitsfeld einer Labor-Arbeitsstation
DE102019118342A1 (de) Objektprüfvorrichtung, Objektprüfsystem, und Verfahren zum Einstellen der Prüfposition
DE102018007287B4 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE102020110252A1 (de) Vibrationsanzeigeeinrichtung, Betriebsprogrammerstellungseinrichtung und System
DE112007001096T5 (de) Auto-Einlern-System
DE102021209178A1 (de) Verfahren und Vorrichtung zum Bestimmen von Relativposen und zur Kalibrierung bei einem Koordinatenmessgerät oder Roboter
DE102019102927B4 (de) Verfahren und Vorrichtung zum Bestimmen von dimensionalen und/oder geometrischen Eigenschaften eines Messobjekts
DE112007001112T5 (de) Automatisiertes Verarbeitungssystem, das intelligente Module verwendet
DE112020004852T5 (de) Steuerungsverfahren, steuerungsvorrichtung, robotersystem, programm und aufzeichnungsmedium
DE102017128332B4 (de) Mit einer Formungsmaschine und einer Formproduktentnahmevorrichtung versehenes Formungssystem
DE112007001115T5 (de) Automatisiertes Programmiersystem, das eine textfreie Nutzerschnittstelle verwendet

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee