-
Bezugnahme auf verwandte Anmeldungen
-
Die
vorliegende Anmeldung ist eine Teilfortsetzungsanmeldung (CIP; continuation-in-part)
unter 37 C.F.R. § 1.53(b) und beansprucht den Vorteil der Priorität
und 35 U.S.C § 120 der U.S.-Patentanmeldung Seriennummer
11/753,508 (Anwaltsaktenzeichen 10041390-06) mit dem Titel „SYSTEM
FOR SENSING AN ABSOLUTE POSITION IN TWO DIMENSIONS USING A TARGET
PATTERN", eingereicht am 24. Mai 2007, die eine Fortsetzung des
U.S.-Patents 7,230,727 ist.
Sowohl die Anmeldung als auch das Patent, auf das Bezug genommen
wird, sind der vorliegenden Anmelderin zugewiesen, Agilent Technologies,
Inc. Die Offenbarungen der Patentanmeldung und des Patents, auf
die Bezug genommen wird, sind hierin durch Bezugnahme spezifisch aufgenommen.
-
Beschreibung
-
Bei
zahlreichen Anwendungen besteht ein Bedarf zum genauen Messen des
Orts oder der Position eines Objekts. Zum Beispiel erfordern viele Herstellungsprozesse
die präzise Positionierung einer sich bewegenden Plattform
(Stufe) oder eines Objekts. Es wurden mehrere Techniken zum Bestimmen
der Position eines beweglichen Objekts entwickelt. Einiger dieser
Techniken werden nachfolgenden erörtert.
-
Ein
Verfahren zum Bestimmen der Position der beweglichen Stufe umfasst
ein optisches Codieren. Bei bestimmten, bekannten optischen Codierungsarchitekturen
fällt Licht aus einer Lichtquelle auf ein Zielmuster auf
dem Objekt ein. Ein optischer Sensor erfasst ein Bild des Zielmusters
und aus diesem Bild wird die Position des Objekts bestimmt.
-
Leider
sind bekannte optische Codierer vergleichsweise groß, was
ihre Implementierung bei bestimmten Gegebenheiten einschränkt.
Ferner kann eine Wärmeausdehnung bei diesen vergleichsweise großen
optischen Codierern einen Messfehler verursachen, der größer
ist als die Dimension (Abmessung), die gemessen wird. Zusätzlich
dazu ist es in vielen Messumgebungen hilfreich, eine Verschmutzung
des optischen Codierers aufgrund von Umgebungselementen (z. B. Staub
und Schmutz) durch Einschließen des Codierers in ein geeignetes
Gehäuse zu verhindern. Wie offensichtlich ist, erhöht der
Zusatz des Gehäuses ferner die Größe
des Codierers.
-
Zusätzlich
zu Nachteilen, die auf die Größe bezogen sind,
sind viele bekannte zweidimensionale optische Codierer durch vergleichsweise
langsame Rechengeschwindigkeiten eingeschränkt. Zum Beispiel
muss bei bestimmten optischen Codierern der Standort des Objekts
in jeder Dimension sequentiell bestimmt werden. Wie offensichtlich
ist, reduziert dies die Verarbeitungsgeschwindigkeit von Messdaten.
Bei vielen Gegebenheiten sind vergleichsweise langsame Verarbeitungsgeschwindigkeiten
eine Behinderung.
-
Es
besteht daher ein Bedarf nach einer Systemarchitektur für
einen optischen Codierer, die zumindest den Nachteil bekannter optischer
Codierer überwindet, der oben erörtert wurde.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Standortsystem,
ein Standortsystem auf einem Chip und ein Verfahren zum Bestimmen
eines Standorts mit verbesserten Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch ein Standortsystem gemäß Anspruch
1, ein Standortsystem auf einem Chip gemäß Anspruch
13 und ein Verfahren zum Bestimmen eines Standorts gemäß Anspruch 23
gelöst.
-
Bei
einem darstellenden Ausführungsbeispiel umfasst ein Standortsystem
(Ortssystem) einen Bildsensor, der angepasst ist, um ein Bild eines
Teilsatzes eines Zielmusters zu erfassen. Das Standortsystem umfasst
ferner ein programmierbares logisches Bauelement (PLD; programmable
logic device), das wirksam ist, um einen ersten Bildvektor, der
Summierungen von Zeilen aus Pixelwerten von dem Bild darstellt,
und einen zweiten Bildvektor, der Summierungen aus Spalten aus Pixelwerten
von dem Bild darstellt, zu erzeugen. Das PLD ist konfiguriert, um
aus den Bildvektoren eine absolute Position des Teilsatzes in zumindest
zwei Dimensionen im Hinblick auf einen Ursprung des Zielmusters
zu bestimmen.
-
Bei
einem anderen, repräsentativen Ausführungsbeispiel
umfasst ein Standortsystem auf einem Chip (LSoC; location system
an a chip) einen Bildsensor, der angepasst ist, um ein Bild eines
Teilsatzes eines Zielmusters zu erfassen. das LSOC umfasst ferner
ein programmierbares, logisches Bauelement (PLD), das wirksam ist,
um einen ersten Bildvektor, der Summierungen von Zeilen aus Pixelwerten
von dem Bild darstellt, und einen zweiten Bildvektor, der Summierungen
aus Spalten aus Pixelwerten von dem Bild darstellt, zu erzeugen.
Das PLD ist konfiguriert, um eine absolute Position des Teilsatzes
im Hinblick auf einen Ursprung des Zielmusters in zumindest zwei
Dimensionen zu bestimmen.
-
Bei
einem wiederum anderen, repräsentativen Ausführungsbeispiel
umfasst ein Verfahren zum Bestimmen eines Standorts das Beleuchten
eines Ziels, das ein zweidimensionales Zielmuster aufweist, und
das Erfassen eines Bildes eines Teilsatzes des Zielmusters. Das
Verfahren umfasst ferner, bei einem feldprogrammierbaren Gatearray
(FPGA; field programmable gate array): Erzeugen eines ersten Bildvektors,
der Summierungen von Zeilen aus Pixelwerten von dem Bild darstellt,
und eines zweiten Bildvektors, der Summierungen von Spalten aus
Pixelwerten von dem Bild darstellt; und das Bestimmen einer absoluten
Position des Teilsatzes im Hinblick auf einen Ursprung des Zielmusters
in zumindest zwei Dimensionen.
-
Die
vorliegenden Lehren sind am besten aus der nachfolgenden detaillierten
Beschreibung verständlich, wenn sie zusammen mit den beiliegenden Zeichnungsfiguren
gelesen wird. Die Merkmale sind nicht notwendigerweise maßstabsgetreu
gezeichnet. Wo immer möglich, beziehen sich gleiche Bezugszeichen
auf gleiche Merkmale.
-
Bevorzugte
Ausführungsbeispiele der vorliegenden Erfindung werden
nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher
erläutert. Es zeigen:
-
1 ein
vereinfachtes schematisches Diagramm eines Standortsystems gemäß einem
darstellenden Ausführungsbeispiel;
-
2 eine
Entwurfsansicht eines Objekts, das Standortsysteme passiert, gemäß einem
darstellenden Ausführungsbeispiel;
-
3A ein
vereinfachtes Blockdiagramm eines LSoC gemäß einem
darstellenden Ausführungsbeispiel;
-
3B eine
perspektivische Ansicht eines gepackten LSoC gemäß einem
darstellenden Ausführungsbeispiel;
-
4 eine
perspektivische Ansicht eines Standortsystems gemäß einem
darstellenden Ausführungsbeispiel; und
-
5 ein
Flussdiagramm eines Verfahrens zum Bestimmen eines Standorts gemäß einem
darstellenden Ausführungsbeispiel.
-
In
der nachfolgenden, detaillierten Beschreibung werden zu Zwecken
der Erklärung und nicht der Einschränkung darstel lende
Ausführungsbeispiele, die spezifische Details offenbaren,
ausgeführt, um ein tief greifendes Verständnis
der vorliegenden Lehren zu geben. Beschreibungen von bekannten Vorrichtungen,
Hardware, Software, Firmware, Verfahren und Systemen können
weg gelassen werden, um ein Verunklaren der Beschreibung der beispielhaften Ausführungsbeispiele
zu vermeiden. Trotzdem kann solche Hardware, Software, Firmware,
Vorrichtungen, Verfahren und Systeme, die in dem Bereich eines Fachmanns
auf dem Gebiet liegen, gemäß darstellenden Ausführungsbeispielen
verwendet werden.
-
Die
nachfolgende, detaillierte Beschreibung stellt Verfahren dar, die
durch Abläufe und symbolische Darstellungen von Operationen
von Datenbits innerhalb eines computerlesbaren Mediums, zugeordneter
Prozessoren/Controller, und programmierbarer logischer Bauelemente
(PLDs) verkörpert sein können. Ein Verfahren wird
hier und im Allgemeinen als eine Reihe von Schritten oder Handlungen
betrachtet, die zu einem gewünschten Ergebnis führen, und
umfasst als solches Ausdrücke wie z. B. „Algorithmus", „Routine", „Programm", „Objekte", „Funktionen", „Unterroutinen"
und „Verfahren".
-
Im
Hinblick auf die Software, die bei den hierin beschriebenen Ausführungsbeispielen
nützlich ist, werden Fachleute auf dem Gebiet erkennen,
dass eine Vielzahl von Plattformen und Sprachen zum Erzeugen einer
Software zum Ausführen der beschriebenen rechentechnischen
Prozesse existiert. Bestimmte darstellende Ausführungsbeispiele
können unter Verwendung einer beliebigen einer Anzahl von bekannten
Maschinensprachen implementiert sein, die bei den verschiedenen
Komponenten des Standortsystems und LSoC nützlich sind.
Fachleute auf dem Gebiet werden jedoch ferner erkennen, dass die Auswahl
der genauen Plattform und Sprache häufig durch die Spezifitäten
des tatsächlichen aufgebauten Systems vorgegeben ist, so
dass, was für eine Systemart funktioniert, für
eine andere Systemart möglicherweise nicht effizient ist.
Zusätzlich dazu kann bei bestimmten Ausführungsbeispielen
eine handelsübliche Software, die zur Verwendung mit Modulen
(austauschbar hierin als weicher Kern (softcore) oder nur „Kern"
(core) bezeichnet) des PLD und anderer Komponenten des Standortsystems
angepasst ist, implementiert sein, um bestimmte vorteilhafte Aspekte
zu realisieren. Eine handelsübliche Software ist zu darstellenden
Zwecken angegeben.
-
1 ist
ein vereinfachtes, schematisches Diagramm eines Standortsystems 100 gemäß einem darstellenden
Ausführungsbeispiel. Das System umfasst ein PLD 101,
einen digitalen Bildsensor 102 und eine Beleuchtungsquelle 103.
Das PLD 101 umfasst darstellend einen Controller (Steuerung) 104 und
einen oder mehrere Kerne 105 (oder Module), die in Software
instanziiert sind, wie hierin nachfolgend ausführlicher
beschrieben wird. Das System 100 liefert einen Ort (Standort)
eines Zielmusters auf einem Objekt 106. Es wird betont,
dass das Objekt 106 und das Zielmuster darauf normalerweise
nicht als Teil des Systems 100 des darstellenden Ausführungsbeispiels
betrachtet werden.
-
In
Betrieb liefert die Beleuchtungsquelle
103 Licht zu dem
Zielmuster des Objekts
106 auf intermittierende Weise.
Zum Beispiel kann die Quelle
103 eine oder mehrere lichtemittierende
Dioden (LEDs) oder Laser aufweisen, die auf intermittierende Weise beleuchten
(z. B. Strobe). Der digitale Bildsensor
102 erfasst Bilder
107 des
Zielmusters an jedem Intervall der Beleuchtung des Zielmusters.
Bilddaten
108 werden von dem Sensor
102 zu jeweiligen
Kernen
105 des PLD
101 geliefert. Die Kerne
105 weisen
eine Software auf, die angepasst ist, um das Verfahren der Stammanmeldung
und des
U.S.-Patents 7,230,727 ,
auf das Bezug genommen wurde, auszuführen, um absolute
Standort-(Positions-)Daten
109 des Objekts
106 zu
bestimmen. Die Standortdaten
109 werden dann zu einem Benutzer
(nicht gezeigt) zur weiteren Verwendung geliefert.
-
Bei
einem repräsentativen Ausführungsbeispiel und
durch ein oder mehrere Verfahren, die in der Stammanmeldung und
dem Patent, auf das Bezug genommen wird, beschrieben sind, wird
nach dem Empfangen der Bilddaten 108 das PLD 101 angepasst,
um einen ersten Bildvektor zu erzeugen, der Summierungen von Zeilen
aus Pixelwerten von dem Bild 107 darstellt; und um einen
zweiten Bildvektor zu erzeugen, der Summierungen von Spalten aus
Pixelwerten von dem Bild 107 darstellt. Nachdem die Bildvektoren
berechnet sind, ist das PLD 101 konfiguriert, um aus den
Bildvektoren eine absolute Position des Teilsatzes in zwei Dimensionen
im Hinblick auf einen Ursprung des Zielmusters zu bestimmen. Es wird
betont, dass die Bestimmung einer absoluten Position in mehr als
zwei Dimensionen durch die vorliegenden Lehren berücksichtigt
wird.
-
Zusätzlich
zu dem Bestimmen der absoluten Position und unter anderen Funktionen
liefert das PLD 101 eine Steuerfunktion zur Zielmusterbeleuchtung
und Bilderfassung. Zum Beispiel kann das PLD 101 ein Signal
von dem Bildsensor 102 empfangen, das seinen Status zum
Empfangen von Bildern anzeigt. Wenn der Sensor 102 signalisiert,
dass sein Status in einem Empfangszustand ist, liefert das PLD 101 Steuersignale
zu der Beleuchtungsquelle 103 zum intermittierenden Beleuchten
(strobe; blinkend beleuchten) des Zielmusters, so dass ein Bild
erfasst werden kann. Alternativ kann das PLD 101 Steuersignale
liefern, um die Quelle 103 blinkend zu beleuchten (Strobe)
und Steuersignale zu dem Bildsensor 102 zu liefern, um
das Blinken des Lichts mit dem Erfassen von Bildern durch den Sensor 102 zu
synchronisieren.
-
Bei
darstellenden Ausführungsbeispielen ist das PLD 101 ein
feldprogrammierbares Gatearray (FPGA) und die Steuerung 104 ist
in Software darin instanziiert. Alternativ kann die Steuerung 104 eine separate
Komponente aus dem FPGA sein. Unabhängig davon sind einige
der Kerne 105 angepasst, um Standortdaten des Zielmusters
zu bestimmen und um eine absolute Position des Zielmusters zu liefern.
Bei einem Ausführungsbeispiel ist jeder Kern 105 angepasst,
um die Position in einer jeweiligen der Messdimensionen zu bestim men.
Wenn es z. B. nützlich ist, die Position des Objekts in
einem dreidimensionalen, kartesischen Koordinatensystem zu bestimmen
(d. h. x, y, z), wären drei Kerne 105 erforderlich,
mit einem Kern für jede Messdimension. Abweichungen von
der angegebenen Konfiguration des FPGA werden durch die vorliegenden
Lehren berücksichtigt. Zum Beispiel können die
Kerne 105 anstelle von oder zusätzlich zu dem
Berechnen des Standorts des Objekts 106 angepasst sein,
um die Drehung, oder die Steigung, oder die Neigung, oder das Gieren
des Objekts 106 zu berechnen oder eine Kombination daraus.
Allgemeiner kann das PLD 101 konfiguriert sein, um auf
die Verfahren oder Algorithmen der Stammanmeldung und des Patent,
auf das Bezug genommen wird, aufzubauen, um eine Vielzahl von Positionsberechnungen
zu bewirken. Aufgrund der vergleichsweise zugänglichen
Konfiguration des PLD kann eine große Vielzahl von Dimensionsberechnungen
durch Modifikationen der Software der Kerne 105 oder zusätzlicher
Kerne oder von beidem realisiert werden. Ferner, und wie vorangehend angedeutet
wurde, können die Kerne des FPGA angepasst sein, um die
Berechnungen der Positionsdaten in jeder Dimension gleichzeitig
auszuführen. Wie offensichtlich ist, ermöglicht
dies eine verbesserte Rechengeschwindigkeit des Systems 100 im
Vergleich zu vielen bekannten Systemen.
-
Bei
einem spezifischen Ausführungsbeispiel ist das PLD 101 ein
handelsüblich erhältliches Xilinx® Spartan
III FPGA und die Kerne sind in der Xilinx® ISE-Software
instanziiert, um das FPGA zu synthetisieren. Wie angegeben wurde,
ist die Software der Kerne 105 angepasst, um das Verfahren
der Stammanmeldung und des Patents, auf das Bezug genommen wird,
auszuführen. Das Programmieren der Kerne, um das Verfahren
auszuführen, liegt innerhalb des Bereichs eines Durchschnittsfachmanns
auf dem Gebiet und wird hier nicht detailliert beschrieben, um ein
Verunklaren der Beschreibung der darstellenden Ausführungsbeispiele
zu vermeiden.
-
Bei
anderen repräsentativen Ausführungsbeispielen
kann das PLD 101 eine anwendungsspezifische integrierte
Schaltung (ASIC; application specific integrated circuit) aufweisen,
die angepasst ist, um die Funktionen der Steuerung 104 und
der Kerne 105 auszuführen. Alternativ kann mehr
als ein PLD in dem System implementiert sein. Zum Beispiel ist bei einem
Ausführungsbeispiel, das in Verbindung mit 4 ausführlicher
beschrieben ist, das System in zwei Teilen vorgesehen, wobei ein
Teil den digitalen Bildsensor 102, die Beleuchtungsquelle 103 und
ein PLD umfasst; und der andere Teil umfasst ein anderes PLD und
eine Steuerung. Die PLDs der alternativen Ausführungsbeispiele,
auf die Bezug genommen wurde, können eines oder mehrere
einer Vielzahl von PLDs sein, die einem Durchschnittsfachmann auf dem
Gebiet bekannt sind.
-
Bei
einem repräsentativen Ausführungsbeispiel ist
der digitale Bildsensor 102 ein aktiver Pixelsensor (APS;
active pixel sensor), der aus einer integrierten Schaltung besteht,
die ein Array aus Pixelsensoren umfasst, wobei jedes einen Photodetektor enthält
und mit einer aktiven Transistor-Rücksetz- und -Auslese-Schaltung
verbunden ist. Vorteilhafterweise weist der Sensor 102 Charakteristika
von vergleichsweise hoher Geschwindigkeit und hoher Empfindlichkeit
auf. Bei einem Ausführungsbeispiel umfasst der Sensor 102 eine
Fenstertechnik, die die selektive Verwendung einer bestimmten Matrix
aus Pixeln erlaubt. Bei einem anderen Ausführungsbeispiel ist
der Sensor 102 eine kundenspezifische integrierte Schaltung
mit einer ausgewählten Anzahl von Pixeln, die zum ordnungsgemäßen
Erfassen des Bildes des Zielmusters benötigt werden.
-
Wie
vorangehend erwähnt wurde, kann die Steuerung 104 in
das PLD 101 integriert sein oder kann eine separate Komponente
des Systems 100 sein. Unabhängig von der Implementierung
liefert die Steuerung 104 eine Steuerfunktion zu dem Sensor 102 durch
Senden von Steuerdaten 110 zu dem Sensor 102.
Diese Daten 110 können Konfigurationsdaten sein,
wie z. B. Gewinn, Anzahl der Pixel, die betrachtet werden sollen
und die Bitreihenfolge der Daten, die durch den Bildsensor zu dem
PLD 101 geliefert werden. Zusätzlich dazu liefert
die Steuerung 104 Steuerdaten zu und empfängt
bestimmte Daten von Kernen 105 des FPGA. Auf darstellende
Weise können während der Berechnung der Standortdaten 109 die
Kerne 105 bestimmte parametrische Daten berechnen und solche
Daten zu der Steuerung 104 liefern. Die Steuerung 104 kann
angepasst sein, um eine diagnostische Analyse dieser Daten auszuführen
und eine Gegenmaßnahme in Echtzeit zu unternehmen. Zum
Beispiel können die Parameter von den Kernen 105 anzeigen,
dass der Sensor 102 falsch ausgerichtet oder nicht ordnungsgemäß gedreht
ist. Alternativ oder zusätzlich können die parametrischen
Daten, die von den Kernen 105 empfangen werden, anzeigen,
dass der Beleuchtungspegel zu niedrig oder zu hoch ist; oder dass
der Sensor 102 nicht richtig fokussiert ist. Unter Verwendung
dieser Daten ist die Steuerung 104 angepasst, die erforderlichen
Einstellungen zu bestimmen und Steuerbefehle zu senden, um die notwendigen
Einstellungen von Ausrichtung oder Beleuchtung oder Fokus nach Bedarf
auszuführen. Alternativ oder zusätzlich können die
Diagnosedaten zu dem Benutzer für eine entsprechende Handlung
geliefert werden.
-
Zusätzlich
dazu kann die Steuerung 104 angepasst sein, um eine Eingabe
von einem Benutzer zu empfangen. Die Steuerung 104 liefert
dann die Eingabe zu dem PLD 101 zur Ausführung.
Zum Beispiel kann bei einem Ausführungsbeispiel, bei dem die
Steuerung 104 in dem PLD 101 implementiert ist, der
Benutzer Eingangsparameter zu der Steuerung 104 einstellen,
die die Parameter zu den Kernen 105 liefert.
-
Bestimmte
nützliche Parametereinstellungen werden hier in Verbindung
mit darstellenden Ausführungsbeispielen beschrieben. Es
wird betont, dass diese nur die Funktionalität des Systems 100 darstellen
sollen und auf keine Weise den Schutzbereich der vorliegenden Lehren
einschränken sollen. Bei einem darstellenden Ausführungsbeispiel
umfasst die Einstellung der Eingangsparameter das Liefern eines neuen
Codes zu einem Speicher (nicht gezeigt) des Systems 100.
Dieser Speicher kann ein Flash-Speicher oder ein anderer geeigneter
Speicher sein. Dieser neue Code kann eine neue Vektorsequenz liefern oder
einen neuen Sensorstandort oder eine Ausgabeauflösung programmieren.
Im Hinblick auf Letzteres gibt die Umgebung der Anwendung des Systems 100 häufig
die Auflösungsanforderungen vor. Das System 100 ermöglicht,
dass die Auflösung für die bestimmte Anwendung
eingestellt wird. Zum Beispiel kann bei einigen Anwendungen die
Auflösung im Bereich von 1,0 μm eingestellt sein,
wohingegen bei anderen Anwendungen die Auflösung im Bereich
von 100,0 nm eingestellt sein kann. Es wird darauf hingewiesen,
dass ein Einstellen der Auflösung bis hinunter zu ungefähr
0,1 nm möglich ist.
-
Bei
einem anderen repräsentativen Ausführungsbeispiel
umfasst die Einstellung der Eingangsparameter das Liefern eines
neuen Codes zu dem PLD 101, um das Sensorfenster einzustellen,
und dadurch den Ort des Bilderwerbs durch den Sensor 102 von
dem Objekt 106.
-
Bei
wiederum anderen Ausführungsbeispielen umfasst die Einstellung
von Eingangsparametern: Einstellung des Ursprungs des Testmusters, das
bei der Berechnung der Standortvektoren und Standortdaten verwendet
werden soll; Typen und Schwellenpegel von Fehlern, die berichtet
werden sollen; und Anweisungen, wann in einen Diagnosemodus eingetreten
werden soll, um nur einige zu nennen. Wie offensichtlich ist, ist
die Eingabe von Benutzerparametern in das System 101 vergleichsweise
einfach, aufgrund der Einfachheit, mit der PLDs (insbesondere FPGAs)
der repräsentativen Ausführungsbeispiele konfiguriert
werden können.
-
2 ist
eine Entwurfsansicht eines Objekts 201 (auch bezeichnet
als Stufe), das die Standortsysteme 202 passiert, gemäß einem
repräsentativen Ausführungsbeispiel. Die Standortsysteme 202 sind so,
wie vorangehend in Verbindung mit 1 beschrieben
wurde oder wie später in Verbindung mit 3A bis 4 hierin
beschrieben wird. Das Objekt 201 umfasst ein Zielmuster 203,
das auf einer oder mehreren Oberflächen des Objekts angeordnet ist.
In der Praxis sind normalerweise nur ein Standortsystem 202 und
ein Zielmuster 203 auf einer der Oberflächen vorgesehen.
Die vorliegende Entwurfsansicht stellt nur zwei mögliche
Implementierungen des Standortsystems 202 dar.
-
Das
Objekt 201 bewegt sich auf darstellende Weise entlang der
Richtung 204, was bei dem darstellenden Ausführungsbeispiel
in der y-Richtung ist. Wie in der Stammanmeldung und in dem Patent,
auf das Bezug genommen wird, ausführlich beschrieben ist,
werden Bilder des Zielmusters 203 durch den Sensor 102 erfasst
und Daten von dem Sensor 102 werden zu dem PLD 101 geliefert,
das angepasst ist, um Bildvektoren zu berechnen. Aus den Bildvektoren bestimmt
das PLD 101 eine absolute Position eines Teilsatzes des
Zielmusters 203 in zumindest zwei Dimensionen im Hinblick
auf einen Ursprung 205 des Zielmusters.
-
3A ist
ein vereinfachtes Blockdiagramm eines LSoC 300 gemäß einem
darstellenden Ausführungsbeispiel. Die Komponenten des
LSoC 300 sind im Wesentlichen identisch zu jenen des Standortsystems 100,
das in Verbindung mit 1 beschrieben wurde. Die Beschreibung
dieser Komponenten und ihre Funktion wird der Kürze halber
nicht wiederholt.
-
Wie
vorangehend beschrieben wurde, besteht ein Bedarf zum Bereitstellen
eines Standortsystems einer vergleichsweise geringen physischen Größe.
Das LSoC 300 kann in integrierter Form unter Verwendung
einer einer Vielzahl von Techniken bereitgestellt sein. Zum Beispiel
können die individuellen Komponenten als individuell gepackte
bzw. gehäuste Bauelemente bereitgestellt sein, die häufig Halbleiterbauelemente
sind. Diese individuell gepackten Bauelemente sind vergleichsweise
klein und können auf einem geeigneten Substrat vorgesehen sein.
Ein LSoC, das eine vollständig integrierte Schaltung aufweist,
die die angegebenen Komponenten umfasst, ist ebenfalls denkbar.
Zu diesem Zweck kann das LSoC 300 ein vollständiges
System auf einem Chip sein, wobei alle Komponenten darin durch bekannte
Verfahren integriert sind. Wie offensichtlich ist, kann das LSoC 300 im
Vergleich zu vielen bekannten Systemen in einer wesentlich reduzierten
Größe realisiert sein. Vorteilhafterweise ermöglicht
dies die Integration eines Standortsystems in vielen Umgebungen.
-
3B ist
eine perspektivische Ansicht eines gepackten LSoC (Paket bzw. Gehäuse) 301,
das über dem Objekt 201 gemäß einem
darstellenden Ausführungsbeispiel angeordnet ist. Das Paket 301 umfasst
ein LsoC, sowie es in Verbindung mit 3A beschrieben
ist. Das Paket 301 kann aus einem oder mehreren einer Vielzahl
von Materialien hergestellt sein, die geeignet für die
bestimmte Mess-Anwendung oder -Umgebung sind. Da das gepackte LSoC 301 für
eine Verwendung in einer großen Vielzahl von Messanwendungen
gedacht ist, ist der Bereich der Materialien ebenfalls stark variierend.
Zu rein darstellenden Zwecken kann das Paket aus einem bekannten
Kunststoffmaterial hergestellt sein.
-
Das
Paket 301 ist mit einem Kabel 302 verbunden, das
Verbindungen zu und von dem LSoC liefert, was Signal- und Leistungsverbindungen
umfasst. Bei einem darstellenden Ausführungsbeispiel ist
das gepackte LSoC 301 im Wesentlichen abgedichtet und daher
nicht besonders anfällig für eine Verschmutzung
aus Umgebungselementen. Vorteilhafterweise ermöglicht dies
die Implementierung des LSoC in vielen Umgebungen (z. B. Herstellung),
wo Umgebungsverschmutzungen vorherrschen und die Funktionalität
von Standortsystemen beeinträchtigen können.
-
Zusätzlich
dazu, dass sie ein vergleichsweise kleines und gut geschütztes
Standortsystem bereitstellen, sind das LSoC 300 und das
gepackte LSoC 301 auch weniger anfällig für
Fehler aufgrund einer Wärmeausdehnung als größere
Systeme.
-
Wie
oben angegeben wurde, können die vergleichsweise großen,
bekannten Standortsysteme einen Messfehler verursachen, der größer
ist als die Messdimensionen. Im Gegensatz dazu begünstigt die
vergleichsweise geringe Größe der Systeme der repräsentativen
Ausführungsbeispiele einen vergleichsweise geringen Messfehler
aus der Wärmeausdehnung.
-
Die
vergleichsweise geringe Größe des gepackten LSoC 301 unterstützt
dessen Anpassbarkeit an eine vergleichsweise große Vielzahl
von Messanwendungen. Zum Beispiel kann bei bestimmten Ausführungsbeispielen
das LSoC-Paket 301 innerhalb einer vergleichsweise kleinen
Stufe vorgesehen sein oder im Wesentlichen von derselben umgeben
sein, was ermöglicht, dass die Messdaten gespeichert werden.
Unter Verwendung bekannter Standortsysteme wäre eine solche
Messansammlung nicht praktizierbar oder möglich, da bekannte
Codierer zu groß sind, um eine Bewegung der Stufe zu ermöglichen. Vorteilhafterweise
ermöglicht die vergleichsweise geringe physische Größe
des Pakets 301, dass Standortdaten aus vergleichsweise
kleinen Stufen angesammelt werden.
-
Ein
anderer nützlicher Aspekt des LSoC-Pakets 301 ist
dessen einfache Verwendung in existierenden Systemen. Genauer gesagt
ermöglicht die vergleichsweise geringe Größe
des Pakets 301, dass dasselbe in existierende Systeme nachgerüstet
wird und einen klobigen Codierer ersetzt.
-
4 ist
eine perspektivische Ansicht eines Standortsystems 400 gemäß einem
darstellenden Ausführungsbeispiel. Das System 400 umfasst
viele der Komponenten und Merkmale von vorangehend beschriebenen
Ausführungsbeispielen. Viele der Details dieser Komponenten
und Merkmale werden nicht wiederholt, um ein Verunklaren der Beschreibung
der vorliegend beschriebenen Ausführungsbeispiele zu vermeiden.
-
Das
System 400 umfasst einen ersten Teil 401 und einen
zweiten Teil 402 und eine Verbindung (z. B. ein Kabel oder einen
Bus) 403 zwischen dem ersten und dem zweiten Teil 401, 402.
Bei einem Ausführungsbeispiel umfasst der erste Teil 401 den digitalen
Bildsensor 102 und die Beleuchtungsquelle 103;
und der zweite Teil 402 umfasst das PLD 101, das
beispielhaft ein FPGA ist. Bei darstellenden Ausführungsbeispielen
sind der erste und der zweite Teil 401, 402 Pakete,
die die genannten Komponenten umfassen. Die Pakete sind beispielsweise ähnlich
zu jenen, die in Verbindung mit dem gepackten LSoC 301 beschrieben
wurden.
-
Wie
vorangehend beschrieben wurde, ist es häufig vorteilhaft,
eine Wärmeausdehnung in dem Standortsystem so weit wie
möglich zu verringern. Bei dem vorliegenden Ausführungsbeispiel
sind die Komponenten, die zum Beleuchten und Erfassen des Ziels
benötigt werden, in dem ersten Teil 401 vorgesehen;
und die Komponenten, die zum Berechnen der absoluten Position und
zum Steuern der verschiedenen Komponenten des Systems 400 benötigt werden,
sind in dem zweiten Teil 402 vorgesehen. Dadurch sind die
elektronischen Komponenten, die die Hauptquellen einer Wärmeerzeugung
sind, getrennt, um die Auswirkung einer Wärmeausdehnung auf
die Messpräzision zu verringern.
-
Bei
einem anderen Ausführungsbeispiel umfasst der erste Teil 401 den
digitalen Bildsensor 102, die Beleuchtungsquelle 103 und
ein erstes PLD. Der zweite Teil 402 umfasst ein zweites
PLD. Das erste PLD ist angepasst, um bestimmte Berechnungen des Verfahrens
auszuführen, beschrieben in der Stammanmeldung und dem
U.S.-Patent, auf das Bezug genommen wird. Als Veranschaulichung
kann das erste PLD Softwaremodule zum Ausführen bestimmter
Datenakkumulationen umfassen, wie z. B. der Summierungen von Zeilen
und Spalten von Pixeln von erfassten Bildern. Das zweite PLD kann
dann jeweilige Bildvektoren erzeugen, die die Summierungen von Zeilen
und Spalten von Pixelwerten von dem Bild darstellen; und die absolute
Position des Teilsatzes des Zielmusters relativ zu dem Ursprung
bestimmen. Zusätzlich dazu kann das zweite PLD auch die Steuerfunktionalität
umfassen, die in Verbindung mit dem PLD 101 bei anderen
Ausführungsbeispielen beschrieben ist.
-
Es
wird darauf hingewiesen, dass die PLDs des vorliegend beschriebenen
Ausführungsbeispiels eines oder mehrere einer Vielzahl
von PLDs sein können, wie vorangehend beschrieben wurde.
Darstellend können die PLDs FPGAs sein, die mit Softwaremodulen
(Kernen) instanziiert sind, um Funktionen des Standortsystems 400 auszuführen.
Ferner soll die beschriebene Unterteilung der Funktionalität der
PLDs ausschließlich darstellend sein. Es wird betont, dass
ein Fachmann auf dem Gebiet ohne weiteres andere Unterteilungen
der Funktionalität zwischen den PLDs erkennt, sowie die
Verwendung von mehr als 2 PLDs in dem System.
-
5 ist
ein Flussdiagramm eines Verfahrens 500 zum Bestimmen eines
Standorts gemäß einem darstellenden Ausführungsbeispiel.
Das Verfahren 500 kann in den verschiedenen, vorangehend
beschriebenen Standortsystemen implementiert sein.
-
Bei
Schritt 501 wird ein Objekt mit einem zweidimensionalen
Zielmuster beleuchtet. Diese Beleuchtung wird durch die Beleuchtungsquelle 103 ausgeführt,
die oben beschrieben wurde. Es wird betont, dass das Verfahren erweitert
werden kann, um absolute Standorte eines Teilsatzes eines Zielmusters
in mehr als zwei Dimensionen zu bestimmen. Details einer Bestimmung
eines Zielorts in mehr als zwei Dimensionen werden nicht beschrieben,
um ein Verunklaren der Beschreibung der vorliegenden Ausführungsbeispiele
zu vermeiden.
-
Bei
Schritt 502 wird ein Bild eines Teilsatzes des Zielmusters
erfasst, wie z. B. durch den digitalen Bildsensor 103.
Wie vorangehend beschrieben wurde, wird die Synchronisation der
Beleuchtung und Bilderfassung durch das PLD 101 gesteuert.
-
Bei
Schritt 503, nachdem die Bilddaten 108 von dem
digitalen Bildsensor 103 zu dem PLD 101 geliefert
werden, werden ein erster Bildvektor und ein zweiter Bildvektor
erzeugt. Die Erzeugung der Bildvektoren wird z. B. in entsprechenden
Kernen 105 des PLD 101 ausgeführt. Alternativ
kann bei Ausführungsbeispielen, wie z. B. in Verbindung
mit 4 beschrieben ist, die Erzeugung von Bildvektoren
in dem ersten PLD oder dem zweiten PLD oder einer Kombination derselben
ausgeführt werden. Spezifische Details des Verfahrens zum
Erzeugen der Bildvektoren werden in Verbindung mit den obigen, darstellenden
Ausführungsbeispielen beschrieben und in der Stammanmeldung
und dem Patent, auf das Bezug genommen wird, gegeben.
-
Bei
Schritt 504, nachdem die Bildvektoren erzeugt sind, wird
eine absolute Position eines Standorts des Teilsatzes eines Zielmusters
relativ zu einem Ursprung des Zielmusters bestimmt. Wiederum wird die
Bestimmung des Standorts in jeweiligen Kernen des (der) PLD(s) der
darstellenden Ausführungsbeispiele und durch Verfahren
ausgeführt, die in der Stammanmeldung und dem Patent, auf
das Bezug genommen wird, beschrieben sind. Diese Daten werden zu
den Benutzern als Standortdaten 109 geliefert.
-
Im
Hinblick auf diese Offenbarung wird darauf hingewiesen, dass die
verschiedenen Verfahren und Vorrichtungen, die hierin beschrieben
sind, in Hardware und in Software implementiert sein können.
Ferner sind die verschiedenen Verfahren und Parameter ausschließlich
beispielhaft und nicht in einem einschränkenden Sinn aufgenommen.
Im Hinblick auf diese Offenbarung können Fachleute auf dem
Gebiet die vorliegenden Lehren beim Bestimmen ihrer eigenen Techniken
und benötigten Ausrüstung zum Implementieren dieser
Techniken implementieren, während sie innerhalb des Schutzbereichs
der beiliegenden Ansprüche verbleiben.
-
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 7230727 [0001, 0024]