-
Hintergrund der Erfindung
-
Das
Gebiet dieser Erfindung betrifft Daten-Lese-Systeme. Insbesondere
werden hierin ein Verfahren und ein Gerät zum Detektieren von Objekten
mit einer optischen Lese-Einheit, wie beispielsweise einem Barcode-Scanner,
beschrieben.
-
Ob
stationär,
per Hand gehalten oder eine Kombination aus stationär und per
Hand gehalten, Daten-Lese-Vorrichtungen sind nützlich zum Lesen eines breiten
regelmäßigen Anordnung
von auf Verbraucher- und Industrie-Produkten zu findenden Indizien,
wie beispielsweise traditionelle lineare oder eindimensionale Barcodes,
zweidimensionale Symbologien, Matrix-Gruppen-Symbole, Muster und
Logos, Unterschriften und andere Bilder. In eine beliebige Anzahl
von verschiedenen kodierten Formaten kodierte Information kann dann
für zahlreiche
Anwendungen verwendet werden, einschließlich Einzelhandelskasse, Lagerhaltung,
Materialbearbeitung, Fertigung und Paket-Sortierung und -Transport.
-
Gegenwärtige Daten-Leser
können
Techniken zum automatischen Detektieren eines Objekts sowie Beginnen
und Beenden von Abtast- und Dekodier-Operationen enthalten. Beispielsweise
hat ein Angestellter an einem Kassenschalter unter Verwendung eines
per Hand gehaltenen Scanners, der die heutigen automatischen Lese-Techniken
enthält,
nun die Möglichkeit,
den Scanner in einem Ständer
aufzustellen, was vorzugsweise einen freihändigen Betrieb ermöglicht,
oder den Trigger manuell zu betätigen, um
den Daten-Aufnahme-Vorgang zu beginnen.
-
Trotz
ihrer offensichtlichen Vorteile haben gegenwärtige automatisierte Techniken
zur Objekt-Detektion sowie zum Symbol-Abtasten und Dekodieren ihre
Nachteile. Die meisten Techniken zur Objekt-Detektion erfordern
die Verwendung von einem oder mehr zusätzlichen Schaltkreisen, wie
beispielsweise die aktiven und passiven Schaltkreise, die in beispielsweise
US Patent Nr. 5,525,789 erteilt an Rockstein et al. beschrieben
wurden. Solche Schaltkreise enthalten typischerweise zusätzliche Komponenten,
die aufweisen können
eine Infrarot-Lichtquelle, eine Ultraschall-Energiequelle, Fokussierlinsen
und/oder separate Photodioden, wie beispielsweise die in dem vorangegangenen
Patent beschriebenen, welche die Kosten, Größe und Wartungskosten des Daten-Lesers
erhöhen.
-
Darüber hinaus
sind gegenwärtige
Objekt-Detektions-Techniken typischerweise ineffektiv. Falsches
Detektieren von Objekten und/oder Ziel-Indizien ist ein häufiges Problem
bei gegenwärtigen Objekt-Detektions-Techniken,
da diese versäumen, das
innerhalb eines Scanners inhärente
Zufallsrauschen und das fundamentale Prinzip, dass Oberflächen-Eigenschaften
von Ziel-Materialien verschiedene Grade des Reflexionsvermögens zeigen,
zu berücksichtigen.
Beispielsweise beschreibt US Patent Nr. 5,525,789 eine allgemein
verbreitete Technik, die ermittelt, ob ein Ziel detektiert wird,
indem ein empfangenes Signal mit einem emittierten Signal innerhalb
eines festen Zeitlimits verglichen wird. Ein voreingestelltes Zeitlimit
oder eine festgelegte Trigger-Schwelle nimmt jedoch unrichtig an,
dass ein Scanner kein innerhalb des Schaltkreises inhärentes, von
Teil-Toleranzen, Temperatur, etc. verursachtes Zufallsrauschen produziert,
und nimmt unrichtig an, dass alle Oberflächen-Eigenschaften der Ziel-Materialien
den selben Grad des Reflexionsvermögens haben. Im Gegensatz dazu
können
Zufallsrauschen und variierende Grade des Reflexionsvermögens eine
räumliche
Zeit-Abweichung zwischen einem emittierten Signal und einem empfangenen
Signal verursachen und diese Frequenzbereichs-Antwort kann nicht
mit einem festen Zeitlimit oder einer festen Trigger-Schwelle in
Einklang gebracht werden. Anderes anzunehmen produziert Trigger-Sensitivitäts-Probleme,
wie beispielsweise einen verringerten Trigger-Punkt-Abstand oder
ein kontinuierliches erneutes Triggern des Scanners, wenn die feste Schwelle
unpassend festgelegt wird. Obwohl diese Probleme minimiert oder
reduziert werden können, indem
das feste Zeitlimit oder die feste Trigger-Schwelle zurückgesetzt
werden, ist solch eine Modifikation sehr hinderlich für den Nutzer.
-
Eine
verbesserte automatisierte Technik, die viel Widerstandsfähigkeit
gegen falsch detektierte Ziele auf Grund von Zufallsrauschen innerhalb
des Scanner-Schaltkreises bereitstellt, ist in US Patent Nr. 5,260,554
erteilt an Grodevant offenbart. Dieses Patent, gegen welches die
unabhängigen
Ansprüche abgegrenzt
sind, offenbart eine Technik, bei der ein Lichtstrahl in Richtung
eines Reflektors, wie beispielsweise ein an der Basis eines zum
Tragen der Abtast-Einheit verwendeten Ständers anhaftendes reflektierendes
Band, pulsiert wird. Die Gegenwart eines Objekts wird detektiert,
wenn die Anzahl an emittierten Pulsen zwei Mal die Anzahl an empfangenen
Pulsen während
eines vorgegebenen Zeitintervalls übersteigt. Die Erfinder haben
die Notwendigkeit für
ein verbessertes System zum Detektieren von Objekten mit einem optischen
Leser erkannt, der auf Zufallsrauschen innerhalb eines Scanner-Schaltkreises
in Echtzeit reagiert, variierende Grade des Reflexionsvermögens der
Zielmaterialien in Einklang bringt und weder eine zusätzliche
Schaltung noch ein reflektierendes Band benötigt, um ein Objekt genau zu
detektieren.
-
In
US 5,777,315 wird ein System
und ein Verfahren zum Programmieren der Funktions-Parameter programmierbarer
Barcode-Symbol-Leser und -Scanner offenbart, während die Notwendigkeit vermieden
wird, den Daten-Kommunikations-Anschluss eines
Funktions-Parameter-Computersystems und den zu konfigurierenden
programmierbaren Barcode-Symbol-Leser zu koppeln.
-
Ein(e)
optische(s) Informations-Lese-Verfahren und -Vorrichtung ist in
US 5,426,288 offenbart, welches
die Erzeugung von Falsch-Lesung mittels Spezifizierens eines zuverlässigen Lesebereichs
für einen
Barcode oder ähnliche
Information verhindert. Darin berechnet ein Mikrocomputer den Abstand
zwischen der Position einer Reflexion von Laserlicht von dem Barcode
und einer Position, bei der der gleiche Laserstrahl die Abtast-Einheit
betritt, basierend auf einer Zeit-Differenz zwischen der Emission
des Laserlichts und dem Empfang des reflektierten Laserlichts.
-
In
US 5,408,080 ist ein automatischer
elektronisch getriggerter Scanner offenbart, der einen Photo-Sensor
zum Lesen von Barcode-Daten und dann zum Feststellen aufweist, ob
die Barcode-Daten gültig
sind. Ferner wird nachfolgend dem Lesen und Dekodieren eines gültigen Barcodes
das weitere Dekodieren der Barcode-Daten mittels des Scanners solange
verhindert, bis eine vorher festgelegte Bedingung erfüllt wird,
um sicher zu stellen, dass der gerade gelesene Barcode (der gültige Daten
bereitgestellt hat) nicht erneut gelesen wird.
-
Zusammenfassung der Erfindung
-
Die
bevorzugten Ausführungsbeispiele
betreffen ein System und Verfahren zum Detektieren eines Objekts
innerhalb des Blickfelds eines optischen Lesers, wie beispielsweise
einem Barcode-Scanner. Optische Detektion wird von einem Software-Algorithmus veranlasst,
der in einer Hardware-Komponente des Scanners, wie beispielsweise
eine Kontroller oder Mikroprozessor, eingebettet sein kann. Der Objekt-Detektions-Software-Algorithmus
verwendet eine gegenwärtige
Trigger-Schwelle,
um zu ermitteln, ob es eine Veränderung
in der Menge an reflektierter Lichtenergie gibt, die ausreichend
ist, die Gegenwart von Bewegung in dem Scanner-Blickfeld anzuzeigen.
-
In
einem bevorzugten Ausführungsbeispiel wird
eine gegenwärtige
Trigger-Schwelle festgesetzt, indem eine Laserdiode gepulst wird,
ein Signal der zurückkehrenden
Lichtenergie erzeugt wird, das Signal abgetastet wird, bis ein Übergang
des Signals auftritt, und die Menge an Zeit gemessen wird, ab wann
der Puls aufhörte
bis wann der Übergang
auftrat. Der Zählwert
der gegenwärtige
Trigger-Schwelle wird
dann vorzugsweise um eine konfigurierbare Menge abgeändert, um
einen gegenwärtigen
Trigger-Schwellenbereich zu erhalten. Ein gegenwärtiger Abtast-Durchschnitt
kann dann mit dem gegenwärtigen
Trigger-Schwellenbereich zum Zwecke des Detektierens einer Trigger-Bedingung
und Ermöglichens
des Systems zum Scannen und Dekodieren verglichen werden.
-
Ein
in Übereinstimmung
mit dem oben beschriebenen Verfahren betriebener Scanner kann eine
Abtast-Maschine mit einer Lichtquelle, die eingerichtet ist, moduliert
zu werden, eine optische Schnittstelle zum Empfangen von Information
und einen Prozessor zum Aufbereiten der empfangenen Information
und zum Ermitteln, ob ein Objekt detektiert wird, aufweisen. Vorzugsweise
wird der effektive Bereich eines das oben beschriebene Verfahren
verwendenden Scanners vergrößert, da
ein Abtast-Ereignis basierend auf einer relativ kleinen Zeit-Veränderung
getriggert wird. Darüber
hinaus normalisiert das oben beschriebene Verfahren Zufallsrauschen innerhalb
eines Scanners ohne zusätzliche
Schaltung oder reflektierendes Band. Zahlreiche andere Ausführungsbeispiele
können
einige, jedoch nicht alle der obigen Elemente verwenden oder können zusätzliche
Verfeinerungen aufweisen, während
sie den Vorteil einer genauen Objekt-Detektion erhalten.
-
Kurzbeschreibung der Zeichnungen
-
Die
zahlreichen Aufgaben, Merkmale und Vorteile dieser Erfindung können besser
verstanden werden, indem die unten befindliche detaillierte Beschreibung
bevorzugter Ausführungsbeispiele
zusammen mit den anhängenden
Figuren geprüft
werden, wobei:
-
1 ein
Blockdiagramm ist, das vier grundlegende Blöcke eines vereinfachten optischen
Lesers darstellt, die zum Illustrieren bestimmter Aspekte gemäß einem
bevorzugten Ausführungsbeispiel nützlich sind;
-
2 ein
detaillierteres Blockdiagramm ist, das relevante Komponenten eines
bestimmte Aspekte illustrierenden optischen Lesers aufweist;
-
3 ein
illustrativer teilweiser Teilschnitt eines per Hand gehaltenen Scanners
gemäß einem oder
mehrerer Aspekte ist;
-
4 ein
illustrativer Schaltkreis ist, der innerhalb eines Kontroll- und
Dekodier-Maschinen-Blocks gemäß einem
oder mehrerer Aspekte enthalten sein kann;
-
5 ein
Signal-Antwort-Diagramm ist, das das Zeit-Verhältnis
zwischen einem emittierten Signal und einem empfangenen Signal illustriert,
wie dargestellt mit einem Weißpapier-Ziel
bei 1–3'';
-
6 ein
Signal-Antwort-Diagramm ist, das das Zeit-Verhältnis
zwischen einem emittierten Signal und einem empfangenen Signal illustriert,
wie dargestellt mit einem Weißpapier-Ziel
bei 6'';
-
7 ein
Signal-Antwort-Diagramm ist, das das Zeit-Verhältnis
zwischen einem emittierten Signal und einem empfangenen Signal illustriert,
wie dargestellt mit einem Weißpapier-Ziel
bei 16'' und größer;
-
8 ein
Signal-Antwort-Diagramm ist, das den Bereich der Trigger-Schwellen
basierend auf der gegenwärtigen
Position eines Objekts von einer optischen Lese-Einheit gemäß einem oder mehrerer Aspekte
illustriert;
-
9a ein
Flussdiagramm des Software-Betriebs eines Objekt-Detektions-Algorithmus gemäß einem
bevorzugten Ausführungsbeispiel
ist;
-
9b ein
Flussdiagramm einer Daten-Sammel-Routine des in 9a dargestellten Software-Betriebs
ist;
-
10 ein
Blockdiagramm eines Objekt-Detektions-Einleitungs-Systems gemäß einem
bevorzugten Ausführungsbeispiel
ist;
-
11 ein
Flussdiagramm des Software-Betriebs des in 10 dargestellten
Objekt-Detektions-Einleitungs-Systems ist; und
-
12 ein
Flussdiagramm des Software-Betriebs eines logischen Dekodier-Systems
gemäß einem
bevorzugten Ausführungsbeispiel
ist.
-
Detaillierte Beschreibung
bevorzugter Ausführungsbeispiele
-
Die
bevorzugten Ausführungsbeispiele
werden nun mit Bezug auf die Zeichnungen beschrieben. Zur Erleichterung
der Beschreibung repräsentiert
ein beliebiges Bezugszeichen, das in einer Figur ein Element identifiziert,
das gleiche Element, wenn es in einer beliebigen anderen Figur verwendet
wird.
-
1 stellt
vier grundlegende Blöcke
eines vereinfachten optischen Lesers dar, der zum Illustrieren bestimmter
Aspekte bevorzugter Ausführungsbeispiele
nützlich
ist. Insbesondere illustriert 1 einen
Abtast-Maschinen-Block 102, einen Kontroll- und Dekodier-Maschinen-Block 104,
einen Host-Schnittstellen-Block 106 und
einen Energieversorgungs-Block 108. Die nachfolgende Beschreibung
fokussiert sich auf den Abtast-Maschinen-Block 102 und
den Kontroll- und Dekodier-Maschinen-Block 104,
die insbesondere relevant für
ein Verfahren und Gerät
gemäß den bevorzugten
Ausführungsbeispielen
zum Detektieren von Objekten mit einer optischen Lese-Einheit, wie
beispielsweise einem Barcode-Scanner,
sind.
-
Der
Abtast-Maschinen-Block 102 weist typischerweise eine Beleuchtungsquelle
zum Beleuchten eines Ziels oder Objekts auf, wohingegen des Kontroll-
und Dekodier-Maschinen-Block 104 typischerweise einen Photosensor
zum Aufsammeln des gebrochenen und/oder reflektierten Lichts von
dem Ziel, einen Signal-Prozessor zum Aufbereiten der empfangenen
Information und einen Dekodierer aufweist. Die künstliche Beleuchtungsquelle
kann beispielsweise eine Laserdiode, eine regelmäßige Anordnung von Licht-emittierenden
Dioden (LEDs), ein Glücklicht
oder eine beliebige andere geeignete Lichtquelle aufweisen. Der
Photosensor kann beispielsweise eine Photodetektor-Diode, einen
Festkörper-Bildsensor
wie beispielsweise einen linearen Sensor aus einer Ladungs-gekoppelten Vorrichtung (CCD
= charge-coupled device), eine zweidimensionale regelmäßige CCD-Anordnung
oder eine lineare oder mehrdimensionale regelmäßige CMOS-Anordnung (wie beispielsweise
in dem ebenfalls anhängigen
US Patent 6,155,488, Anmeldenummer 08/697,408, eingereicht am 23.08.1996
beschrieben) oder jede beliebige andere geeignete Detektions-Vorrichtung
aufweisen. Der Signal-Prozessor kann beispielsweise einen analogen
Signal-Prozessor und einen Analog-Digital-Umsetzer oder einen anderen
geeigneten Prozessor zum Aufbereiten der empfangenen Information
aufweisen. Ein Mikrokontroller kann optional in Kommunikations-Verbindung mit
dem Signal-Prozessor und dem Dekodierer zum Empfangen und weiteren
Verarbeiten der empfangenen Information oder Daten stehen.
-
2 stellt
ein detaillierteres Blockdiagramm dar, das relevante Komponenten
eines bestimmte Aspekte bevorzugter Ausführungsbeispiele illustrierenden
optischen Lesers aufweist. Der optische Leser kann eine künstliche
Beleuchtungsquelle 202, einen Photosensor 204,
einen Kontroller 206, einen Signal-Aufbereitungs- und -Verarbeitungs-Block 208,
einen Speicher-Puffer 210 (z.B. einen FIFO-Speicher 212),
einen Speicher 214, einen Dekodierer 216 und eine
Eingabe-/Ausgabe-(E/A)Schnittstelle 218 aufweisen. Der
optische Leser kann derart konfiguriert sein, dass er Information
in mehr als einem Datenformat liest und erkennt. Solch ein optischer
Leser ist in US Patent 6,176,429, Anmeldenummer 09/118,228, eingereicht
am 17.07.1998 beschrieben.
-
Während des
Betriebs ist die künstliche
Beleuchtungsquelle 202 aktiviert, um ein zu lesendes Ziel 220 zu
beleuchten. Von dem Ziel 220 reflektiertes Licht wird von
dem Photosensor 204 detektiert, welcher ein Signal 222 ausgibt,
welches hellere und dunklere Abschnitte des Ziels 220 anzeigt.
Das Photosensor-Ausgabe-Signal 222 wird dem Signal-Aufbereitungs- und -Verarbeitungs-Block 208 zugeführt, welcher
es aufbereitet und die Abschnitte des Signals 222 identifiziert,
welche den relativ helleren und dunkleren Abschnitten des Ziels 220 entsprechen. Der
Signal-Aufbereitungs- und -Verarbeitungs-Block 208 kann
Betriebs-Parameter aufweisen, die von dem Kontroller 206 dynamisch
ausgewählt
werden. Der Signal-Aufbereitungs- und -Verarbeitungs-Block 208 gibt
Daten aus, welche die relativ hellen und dunklen Abschnitte des
Ziels 220 angeben, und diese Daten werden von dem Kontroller 206 in
dem FIFO 212 zum weiteren Verarbeiten gespeichert.
-
Der
Dekodierer 216 liest die Daten aus dem FIFO 212 und
verarbeitet die Daten, um zu ermitteln, ob die Daten interpretiert
werden können.
Der Dekodierer 216 kann gemäß einem in dem Speicher 210 gespeicherten
Programm betrieben werden. Der Speicher 210 kann beispielsweise
einen Flash-basierten
programmierbaren Nur-Lese-Speicher (PROM) aufweisen und kann auch
einen statischen Direktzugriffsspeicher (RAM) aufweisen, der als
ein Notizblock-Speicher (Zwischenspeicher) verwendet werden kann.
Der Dekodierer 216 gibt über die E/A-Schnittstelle 218 Daten an
einen Host-Computer oder ein anderes System aus, welches die dekodierte Information
nutzt. Der Dekodierer 216 braucht nicht in der gleichen
Vorrichtung wie die anderen in 2 dargestellten
Komponenten resident sein, kann aber alternativ in einem Host-System
lokalisiert sein.
-
Das
System gemäß den bevorzugten
Ausführungsbeispielen
detektiert ein Objekt innerhalb des Blickfeldes eines optischen
Lesers, wie beispielsweise eines Barcode-Scanners 300.
Der Scanner 300 kann aus einem leichtgewichtigen Kunststoff-Gehäuse mit
einem Kopf-Abschnitt 302 und einem Pistolengriff-artigen
Griff-Abschnitt 304 konstruiert sein. Der Kopf-Abschnitt 302 kann
ein entfernbares Scan-Modul oder einen entfernbaren Scan-Aufbau
aufweisen, das/der einen optischen und elektrischen Aufbau aufweist.
Der optische und elektrische Aufbau kann eine gedruckte Leiterplatte 306,
einen Sammelspiegel 308, einen eine Laserdiode 310 aufweisenden
Laserdioden-Aufbau, einen Photodetektor- und Abtast-Motor-Aufbau 312 und
einen Strahl-Ablenker in der Form eines oszillierenden oder zitternden
Spiegels 314 aufweisen.
-
Die
Laserdiode 310 erzeugt einen Lichtstrahl, welcher entlang
eines ersten Pfades 316 zu einem ersten Abtast-Mechanismus
oder einer ersten Abtast-Facette 318 projiziert wird. Die
Facette 318 kann nach oben gekippt sein, um den Strahl
entlang eines zweiten Pfades 320 zu dem Spiegel 312 zu projizieren.
Der Spiegel 312 kann leicht nach unten gekippt sein, um
den Ausgangsstrahl entlang eines dritten Pfades 322 durch
das Fenster 324 hindurch in Richtung des zu detektierenden
Objekts und eines zu dekodierenden Datensymbols, falls vorhanden,
zu projizieren.
-
Das
System gemäß den bevorzugten
Ausführungsbeispielen
passt insbesondere für
die Verwendung mit einem per Hand gehaltenen Scanner, wie beispielsweise
dem in 3 dargestellten und in US Patent 5,260,554 offenbarten
Scanner 300. Der in 3 dargestellte
Scanner 300 dient lediglich Illustrationszwecken und darf
nicht als den Typ des Scanners, der ein beliebiges der bevorzugten
Ausführungsbeispiele
verwendet, beschränkend
angesehen werden. Als solches kann das System mit einem festen Scanner
verwendet werden (wie beispielsweise den in US Patent 6,047,889,
eingereicht am 07.07.1996, offenbarten festen Scannern), oder mit einem
per Hand gehaltenen Scanner oder einer beliebigen Kombination davon
(wie beispielsweise dem in 3 illustrierten
per Hand gehaltenen Scanner 300, der auf einem Ständer montiert
werden kann) verwendet werden.
-
Bei
einem bevorzugten Ausführungsbeispiel, wie
hierin offenbart, wird Objekt-Detektion mittels eines Software-Algorithmus durchgeführt, welcher
in einer Hardware-Komponente
einer Schaltung des Scanners, wie beispielsweise dem in 2 dargestellten
Mikroprozessor oder Kontroller 206, eingebettet sein kann.
Ein Beispiel eines Mikroprozessors, der derart modifiziert werden
kann, dass er einen Software-Algorithmus gemäß bestimmten Aspekten der bevorzugten
Ausführungsbeispiele
aufweist, ist in US Patent 5,237,161 offenbart und dort in 14 illustriert. Wie im Detail weiter unten
beschrieben ist, verwendet der Objekt-Detektions-Software-Algorithmus eine
gegenwärtige
Trigger-Schwelle
zum Ermitteln, ob eine Änderung
in der Menge an reflektierter Lichtenergie ausreichend ist, die
Anwesenheit einer Bewegung in dem Blickfeld des Scanners anzuzeigen.
-
Zur
Illustration wird nun unter Bezugnahme auf 1 bis 3 der
grundlegende Betrieb bestimmter Aspekte beschrieben. Wenn Energie
dem Scanner, z.B. Scanner 300, zugeführt wird, versorgt ein Mikrokontroller,
wie beispielsweise der in 2 illustrierte
Kontroller 206, über
ein MODULE_EN-Signal 112 die Abtast-Maschine 102 mit
Energie, welche mit Energie versorgt bleibt, bis die Energie von
dem Scanner entfernt wird. Ein BRAKE_EN-Signal 110 auf
aktiv festgesetzt wird, wird eine Spiegel-Bremse (wie beispielsweise
der in US Patent 6,547,145, eingereicht am 14.09.1998, und US Patent
6,152,372, Anmeldenummer 08/934,487, eingereicht am 19.06.1997 offenbarte
Brems-Mechanismus)
mit Energie versorgt, was den Spiegel der Abtast-Maschine (wie beispielsweise
den in 3 dargestellten Spiegel 314) in einer
relativ festen oder neutralen Position hält. Die Laserdiode, beispielsweise
Diode 310, wird unter Verwendung eines LASER_EN-Signals 116 vorzugsweise
bei einer Rate von 1 Millisekunde (ms) einmal alle 25 ms moduliert.
Diese Modulation erzeugt einen schwachen aber sichtbaren Lichtpunkt, der
auf in der Strahllinie lokalisierten Objekten detektiert werden
kann. Das von dem Objekt 220 weg reflektierte Licht wird
mittels des optischen Systems 102 der Abtast-Maschine kollimiert
und vorzugsweise mittels eines optischen Band-limitierten Photodetektors,
wie beispielsweise des Photodetektors 204, in ein elektrisches
Signal 222 konvertiert.
-
Wie
in 5 bis 7 dargestellt, weist dieses
elektrische Signal 222 (siehe 2) einen
Puls mit einer Amplitude und einer Anstiegszeit auf, welche eine
Funktion der reflektierten Lichtenergie von dem Objekt 220 und
des Abstandes des Objekts 220 von der Laser-Lichtquelle 202 ist.
Unter Bezugnahme im Detail auf 4, wird
das von dem Photosensor oder der Photodiode 204 erzeugte
Rückkehr-Signal 222 vorzugsweise
in einem Verstärker 402 verstärkt und
an einen festen Spannungspegel (VREF) 404 geklemmt. Dieses
Amplitudensignal 406 wird dann an einen Schaltkreis, wie
beispielsweise Schaltkreis 408, angelegt, welcher einen
Komparator 410 zum Vergleichen des verstärkten Signals 406 mit
der gleichen festen Referenz-Spannung 404 verwendet. Der Schaltkreis 408 ist
vorzugsweise als ein Nulldurchgangs-Detektor konfiguriert, der eine Ausgabe
hat, die eine logische Null ist, wenn die Polarität des Eingangssignals
positiv bezüglich
der festen Referenz 404 ist, und eine logische Eins, wenn
das Eingangssignal negativ bezüglich
der gleichen Referenz-Spannung 404 ist. Dieses abhängige, binäre oder
digitalisierte Signal wird in 1 und 4 bis 8 als
OBS_BAR-Signal 114 illustriert.
-
Bezug
nehmend auf 5 bis 7 existiert zwischen
der erlöschenden
Laserdiode 310 über LASER_EN 116 und
dem Punkt, an dem der Energiepegel des reflektierten Pulses unter
den festen Referenzpegel 404 abfällt, angezeigt durch einen
positiven Übergang
des OBS_BAR-Signals 114, ein Zeit-Verhältnis.
Diese Periode variiert mit variierender reflektierter optischer
Energie von dem Objekt 220, wie jeweilig in 5 bis 7 mit
einem Weißpapier-Ziel
bei 2,54 bis 7,62 cm (1 bis 3 Zoll) oder 15,24 cm (6 Zoll) oder
40,64 cm (16 Zoll) und größer illustriert,
und die entsprechende Änderung
der Zeit oder das Zeit-Delta (Δ)
beträgt
1,1 ms, 1,6 ms bzw. 2,2 ms.
-
Wie
in 5 bis 7 dargestellt, sind die Oberflächen-Eigenschaften des
Objekts oder Ziels 220 ein integraler Bestandteil des Verhältnisses
der Signale 114, 116. Wenn die Ziel-Oberfläche basierend
auf ihrer Farbe, Struktur, etc. ein geringes Reflexionsvermögen zeigt,
ist die entsprechende Energie-Änderung über das
gesamte Blickfeld der Abtast-Maschine
hinweg gering, was eine kleine Zeit-Abweichung (typischerweise ein Δ von 200
Mikrosekunden (μs)
von Fernfeld zu Nahfeld) in dem Verhältnis der Signale 114, 116 verursacht.
Ein anderer Faktor, der dieses Verhältnis beeinflusst, ist die Variabilität der Abtast-Maschinen
selbst. Die Abtast-Maschinen-Variabilität manifestiert sich als eine Zunahme
oder Abnahme des dynamischen Gesamtbereichs des Zeit-Deltas Δ. Beispielsweise
unter Verwendung eines weißen
Ziels kann der dynamische Gesamtbereich des Signals von 1,5 ms bis
900 μs von
Fernfeld bis Nahfeld für
verschiedene Abtast-Maschinen variieren. Es wird jedoch darauf hingewiesen,
dass solche Parameter des Zeit-Verhältnisses
nur während
der oben beschriebenen Periode und unter den oben beschriebenen
Bedingungen gültig
sein können.
Andere Faktoren, wie beispielsweise Temperatur, können den
dynamischen Bereich dieses Zeit-Verhältnisses der Signale 114, 116 beeinflussen.
Wenn die Abtast-Maschine geheizt oder gekühlt wird, kann die Effizienz
des Photodetektors und der zugehörigen
Schaltung variieren, wodurch der dynamische Gesamtbereich des Zeit-Verhältnisses vergrößert oder
verkleinert wird.
-
Ein
festes Zeitlimit oder eine feste Trigger-Schwelle versäumt dementsprechend,
sich in Übereinstimmung
mit dem dynamischen Gesamtbereich des oben beschriebenen Zeit- Verhältnisses
zu verändern,
was Trigger-Sensitivitäts-Probleme verursacht,
die zu ineffektiver oder ungenauer Objekt-Detektion führen. Der
Objekt-Detektions-Software-Algorithmus
gemäß den hierin
offenbarten bevorzugten Ausführungsbeispielen
ist nicht von einer festen Schwelle abhängig. Im Gegensatz dazu produzieren die
bevorzugten Ausführungsbeispiele
ein Trigger-Ereignis basierend auf einer gegenwärtigen Trigger-Schwelle, welche
auf Grund der Eingabe des empfangenen Signals, wie beispielsweise
des OBS_BAR-Signals 114,
ermittelt wurde. Der Objekt-Detektions-Software-Algorithmus kann vorzugsweise Abtast-Maschinen-Variationen
normalisieren, die aus Prozess- und Temperatur-Variationen resultieren.
Der effektive Bereich des Scanners kann vergrößert werden, da ein Abtast-Zyklus
oder Abtast-Ereignis basierend auf einer relativ kleinen Änderung der
Zeit, in 8 als Zeitbereich α dargestellt,
was eine konfigurierbare Abweichung von der gegenwärtigen OBS_BAR-Position 150,
die vorzugsweise aus dem Zeit-Verhältnis einer Mehrzahl von gegenwärtig empfangenen
Signalen ermittelt wurde, sein kann, getriggert wird.
-
Nun
im Detail der 9a zuwendend beginnt die Objekt-Detektions-Software 500 gemäß einem
bevorzugten Ausführungsbeispiel
mit dem Schritt „Start" 502 und
dann dem Schritt „Halte
Motor an und aktiviere Bremse" 504.
Der Mikroprozessor, wie beispielsweise Kontroller 206,
kann diesen Schritt 504 durchführen, indem er das MODULE_EN-Signal 112 und
das BRAKE_EN-Signal 110 kontinuierlich ausgibt. Der Hintergrund
des Blickfelds des Scanners wird dann in dem Schritt „Sammle
den Durchschnitt von 16(N) OBS_BAR-Positionen zum Festlegen des
Hintergrunds" 506 ermittelt.
Daten zu der gegenwärtigen
OBS_BAR-Position 150 werden über eine Daten-Sammel-Routine, wie beispielsweise
die in 9b dargestellte, gesammelt.
-
Wie
in 9b dargestellt, hat ein bevorzugtes Ausführungsbeispiel
der Daten-Sammel-Routine ein Pulsieren oder Modulieren der Lichtquelle
für eine vorherbestimmte
Zeitdauer zur Folge. Ein Pulsieren der Lichtquelle wird vorzugsweise
bewirkt, indem das LASER_EN-Signal 116 für 1 ms alle
25 ms aktiviert wird, was einen Laserpunkt auf dem Ziel produziert, wie
in den Schritten „Verzögere um
25 ms" 552, „Schalte
Laser ein" 554 und „Verzögere um
1 ms" 556 dargestellt.
-
Wenn
das LASER_EN-Signal 116 nach dem Schritt „Lösche Laser
ein" 558 freigegeben
wird, wird die OBS_BAR-Leitung 114 von dem Kontroller 206 abgetastet.
Abtasten wird vorzugsweise alle 20 μs bei dem Schritt „Verzögere 20 μs" 564 durchgeführt, bis
ein Übergang,
wie beispielsweise Übergang 115, in
dem OBS_BAR-Signal 114 bei dem Schritt „Hat OBS_BAR einen Übergang" 560 auftritt.
Wie in 5 bis 7 dargestellt, ist der positive Übergang 115 ein
Nulldurchgang des verstärkten
Photodetektor-Signals 460, wenn es unter den festen Referenz-Spannungspegel 404 fällt. Somit
zeigt ein Übergang
eine Änderung
der reflektierten Lichtenergie an. Wie in 9b dargestellt,
wenn innerhalb der konfigurierbaren Zeitspanne von 20 μs kein Übergang
detektiert wird, wird die Zeit einer solchen Auflösungs-Abtast-Schleife
bei dem Schritt „Erhöhe Zeit" 516 in
einem Speicher gespeichert und der Schritt „Hat OBS_BAR einen Übergang" 560 wird
wiederholt. Wenn ein Übergang
detektiert wird, wird die Gesamtsumme an Zeit oder die Gesamtanzahl
an Auflösungs-Abtast-Schleifen
zusammengezählt
und in dem Schritt „Speichere
gegenwärtige
Anzahl" 566 gespeichert.
Sobald eine „Anzahl" oder ein „Zählwert", die/der eine Menge
an Zeit von wann der Laserpuls beendet wurde bis zu wann ein Übergang
detektiert wurde (z.B. bis zum Abfall) angibt, ermittelt ist, endet
die Daten-Sammel-Routine
bei dem Schritt „Ende" 568.
-
Nun
wieder im Detail zu 9a zurückkehrend kann die Daten-Sammel-Routine eine
Anzahl von Malen ausgeführt
werden, um den Hintergrund des Blickfelds des Scanners zu ermitteln.
Wie in 9a bei dem Schritt „Sammle
den Durchschnitt von 16(N) OBS_BAR-Positionen zum Festlegen des Hintergrunds" 506 dargestellt,
wurde die Daten-Sammel-Routine 16 Mal ausgeführt, wobei 16 verschiedene
Zählwerte
in dem Speicher, wie beispielsweise dem in 2 dargestellten
Speicher 210, gespeichert werden und zusammen gemittelt
werden, um einen durchschnittlichen Zählwert der Zeitdauer zu definieren,
die es braucht, damit 16 aufeinander folgende Übergänge in dem Signal 114 auftreten.
-
Solch
ein durchschnittlicher Zählwert
oder eine gegenwärtige
Zeitposition des OBS_BAR-Übergangs
wird vorzugsweise verwendet, um die gegenwärtige Trigger-Schwelle oder
den gegenwärtigen Hintergrund
des Scanners festzusetzen. Wie in dem Signal-Antwort-Diagramm der 8 dargestellt,
wird die gegenwärtige
OBS_BAR-Position 150 als zwischen dem Nahfeld oder Minimalbereich 152 (wo
die maximale Energie zurückkommt)
und dem Fernfeld oder Maximalbereich 154 (wo die geringste
Menge an Energie zurückkommt)
des Scanners liegend illustriert. Während der Aufnahme der ersten
Abtastungen oder Zählwerte,
die zum Erhalten der gegenwärtigen
OBS_BAR-Position 150 verwendet
werden, werden keine Trigger-Ereignisse
zugelassen.
-
Sobald
die gegenwärtige
OBS_BAR-Position 150 erreicht ist, d.h. sobald die gegenwärtige Triggerschwelle
oder der gegenwärtige
Hintergrund wie in Schritt 506 der 9a dargestellt
festgesetzt ist, wird die gegenwärtige
Trigger- Schwelle
mit einer anderen Zähl-Abtastung
verglichen, um zu ermitteln, ob eine Trigger-Bedingung vorliegt.
Eine Trigger-Bedingung
liegt vor, wenn der Zählwert
der gegenwärtigen Trigger-Schwelle
oder des Hintergrunds verschieden zu dem Zählwert einer letzten gegenwärtigen Abtastung
ist. Wenn die Veränderung
in der Übergangszeit oder
die Veränderung
in dem Zählwert
zwischen dem Hintergrund und der gegenwärtigen Abtastung ausreichend
ist, um die Präsenz
eines Objektes anzuzeigen, ist eine gültige Trigger-Bedingung vorhanden.
-
Wie
in 9a dargestellt, ist die gegenwärtige Abtastung vorzugsweise
ein Durchschnitt einer Anzahl von aufeinander folgenden Zählwerten,
die über
eine Daten-Sammel-Routine, wie beispielsweise die in 9b dargestellte
Routine, gesammelt wurden, und besonders bevorzugt ein Durchschnitt aus
vier letzten Zählwerten,
um einen gegenwärtigen Abtast-Durchschnitt zu definieren,
wie in dem Schritt „Sammle
den Durchschnitt von 4(N) OBS_BAR-Positionen zum Festlegen der gegenwärtigen" 508 illustriert
ist. Der gegenwärtige
Abtast-Durchschnitt
wird dann mit der gegenwärtigen
Trigger-Schwelle oder dem Hintergrund in dem Schritt „Vergleiche
gegenwärtige
mit Hintergrund" 510 verglichen,
um zu ermitteln, ob die Veränderung
in den Übergangszeiten ausreichend
ist, eine gültige
Trigger-Bedingung anzuzeigen. Eine gültige Trigger-Bedingung existiert vorzugsweise,
wenn die Größenordnung
des Unterschieds zwischen dem Hintergrund oder der gegenwärtigen Trigger-Schwelle
und der gegenwärtigen Abtastung
größer als
die Größenordnung
eines konfigurierbaren Deltas ist, wie in dem Schritt „Ist (Hintergrund – gegenwärtige Abtastung) > (konfigurierbares Delta)" 512 dargestellt.
Wenn die Größenordnung des
Unterschieds zwischen dem Zählwert
des Hintergrunds und dem Zählwert
der gegenwärtigen
Abtastung größer als
die Größenordnung
eines konfigurierbaren Deltas ist, dann erscheint bei dem Schritt „gültige Trigger- Bedingung" 514 eine
gültige
Trigger-Bedingung. Wenn somit die Größenordnung des Unterschieds
zwischen dem Zählwert
des Hintergrunds und dem Zählwert
der gegenwärtigen
Abtastung nicht größer als
die Größenordnung
eine konfigurierbaren Deltas ist, ist eine gültige Trigger-Bedingung nicht
vorhanden und der Prozess wiederholt sich von selbst bei dem Schritt „Sammle
den Durchschnitt von 4(N) OBS_BAR-Positionen zum Festlegen der gegenwärtigen" 508.
-
8 illustriert
das Zeit-Verhältnis
des konfigurierbaren Deltas und der gegenwärtigen Trigger-Schwelle. Wie
darin dargestellt, weicht die gegenwärtige Trigger-Schwelle oder
die gegenwärtige OBS_BAR-Position 150 um
eine konfigurierbare Menge (vorzugsweise ±3 Zählimpulse) ab, um einen gegenwärtige Trigger-Schwellenbereich
zu erhalten. Solch ein gegenwärtiger
Trigger-Schwellenbereich ist als ein Bereich α in 8 dargestellt,
welcher von einer gegenwärtigen
unteren Trigger-Schwelle 156 und
einer gegenwärtigen
oberen Trigger-Schwelle 158 definiert wird. Eine gültige Trigger-Bedingung, wie
beispielsweise die in Schritt 512 auftretende, existiert,
wenn der gegenwärtige
Abtast-Durchschnitt außerhalb
des gegenwärtigen
Trigger-Schwellenbereichs α fällt.
-
Wenn
eine gültige
Trigger-Bedingung existiert, kann ein Abtast-Ereignis ausgelöst (getriggert) werden.
Vorzugsweise wird, wie in 9b bei
dem Schritt „Erhöhe die Anzahl
an gefundenen Triggern" 516 dargestellt,
kein Abtast-Ereignis ausgelöst,
es sei denn, eine Anzahl an gewünschten
Trigger-Bedingungen
hat bei dem Schritt „Ist
die Anzahl an Triggern gleich der gewünschten Anzahl an Triggern" 518 vorgelegen.
Sollte der gegenwärtige
Abtast-Durchschnitt ausreichend oft zum Erfüllen des Schrittes 518 außerhalb
des gegenwärtigen
Trigger-Schwellenbereichs α fallen,
wird ein Abtast-Ereignis ausgelöst
und dem System wird ermöglicht, Dekodieren
wie in dem Schritt „Ermögliche dem
System das Dekodieren" 520 dargestellt
durchzuführen, und
der Objekt-Detektions-Algorithmus
endet bei dem Schritt „Ende" 522. Wenn
die gewünschte
Anzahl an Triggern bei Schritt 518 nicht vorgelegen hat, wiederholt
sich der Prozess von selbst bei dem Schritt „Sammle den Durchschnitt von
4(N) OBS_BAR-Positionen
zum Festlegen der gegenwärtigen" 508.
-
Wenn
ein Abtast-Ereignis ausgelöst
wird, gibt der Mikrokontroller das BRAKE_EN-Signal 110 frei
und schaltet über
das LASER_EN-Signal 116 die Laser-Lichtquelle vollständig ein.
Der Abtast-Mechanismus (wie beispielsweise der Zitterspiegel 312) wird
dann aktiviert, wobei eine Abtast-Linie erzeugt wird, und eine Symbol-Dekodier-Sequenz
wird initiiert. Dieser Abtast-Zustand oder Abtast-Modus wird mittels
einer von zwei Bedingungen angeregt, nämlich ein erfolgreiches Dekodier-Lesen
oder kein Dekodier-Lesen, das innerhalb eines konfigurierbaren Zeit-Intervalls,
das vorzugsweise einen Standardwert von zwei Sekunden aufweist,
auftritt. Auf das Anregen des Abtast-Modus hin kehrt das System
wie in 9 dargestellt in den Objekt-Detektions-Modus zurück, d.h.
bevor ein anderes Abtast-Ereignis ausgelöst wird, der Motor wird angehalten
und die Bremse wird in Schritt 502 festgesetzt und ein
anderer aufeinander folgender Abtast-Durchschnitt der OBS_BAR-Position 150 wird
berechnet, um die Echtzeit-Trigger-Schwelle bei Schritt 520 zurückzusetzen, welche
dann mit einem gegenwärtigen
Abtast-Durchschnitt
in Schritt 524 verglichen wird.
-
Obwohl
ein Scanner, der ein bevorzugtes Ausführungsbeispiel verwendet, lediglich
einen Bruchteil der zum Betreiben eines Objekt-Detektions-Systems,
das kontinuierlich ein Ziel hinsichtlich der Präsenz eines Barcodes abtastet,
benötigten
Energie verwendet, wie beispielsweise das in US Patent 4,933,538
beschriebene Barcode-Abtast-System, kann das System optional eine
Aufwach-Eigenschaft zum Initialisieren des in 9 dargestellten
Objekt-Detektions-Modus 500 aufweisen. Auf diese Weise
startet der Scanner bevorzugt seinen Objekt-Detektions-Modus 500 des Pulsens
oder Modulierens einer Laserdiode erst nachdem ein Aufwach-Ereignis
auftritt.
-
Solch
eine Aufwach-Eigenschaft ist in 10 illustriert,
die einen passiven Sensor-Block 602 darstellt, der zum
Reduzieren von Betriebsströmen
und Bewahren des Lebens der Abtast-Komponenten entwickelt wurde. Insbesondere
stellt 10 ein thermisch betriebenes
System mit niedrigerer Energie dar, welches einen mittels thermischer
Energie, wie beispielsweise der von der Wärme einer Hand eines Angestellten
erzeugten thermischen Energie, während
der/die Angestellte das zu lesende Symbol in das Blickfeld des Scanners
bringt, betriebenen passiven thermisches-Element- oder pyroelektrisches-Element-Block 602 aufweist.
Alternativ kann das passive thermische Element oder pyroelektrische
Element ein kapazitiver Schalter sein, wie beispielsweise ein herkömmlich mit
Berührungs-Dimmer-Lampen
verbundener kapazitiver Berührungs-Schalter.
Unabhängig
von dem Typ des verwendeten passiven Sensors sendet der passive-Sensor-Block 602 vorzugsweise
Daten an einen Signal-Prozessor 604, der die thermische-Energie-Daten
verarbeitet und ermittelt, ob ein thermisches Aktivierungs-Signal 606 an
den Mikrokontroller 608 freigegeben wird, welcher daraufhin
ein LASER_EN-Signal 116 und ein MODULE_EN-Signal 112 an
die Abtast-Maschine 610 gemäß bestimmten Aspekten freigibt.
-
Nun
im Detail der 11 zuwendend, kann ein Aufwach-
oder Objekt-Detektions-Initiierungs-Algorithmus mit dem Schritt „Scanner
in Laser-Wahrnehm-Modus" 620 anfangen.
Wenn der Scanner über
ein konfigurierbares Zeitlimit wie in Schritt „Scanner-Inaktivitäts-Zeitgeber
abgelaufen" 622 dargestellt
inaktiv bleibt, wird der Schritt „thermischer Detektions-Modus bei niedrigerer
Energie" 624 initiiert,
bis bei „thermische
Veränderung
detektiert" 626 eine
thermische Veränderung
detektiert wird und der Zeitgeber bei „Inaktivitäts-Zeitgeber zurücksetzen" 628 zurückgesetzt
wird, wobei der Prozess sich selbst bei „Scanner in Laser-Wahrnehm-Modus" 620 wiederholt.
-
Um
zu verhindern, dass ein Scanner, der ein bevorzugtes Ausführungsbeispiel
verwendet, das gleiche Symbol oder den gleichen Barcode, das/der in
dem Abtastfeld vorhanden ist, kontinuierlich dekodiert, kann eine
Etikett-weg- oder Doppel-Lese-Funktion
optional an dem Ende der in 9 dargestellten Objekt-Detektions-Funktion 500 hinzugefügt werden. Nun
im Detail der 12 zuwendend beginnt solch ein
logischer Lese-Algorithmus
vorzugsweise mit dem letzten Schritt des Objekt-Detektions-Schritts „Ermögliche dem System das Dekodieren" 530 (dargestellt
in 12 als „Ermögliche dem
System das Dekodieren. Löse
die Bremse. Schalte Laser vollständig
ein. Beginne abzutasten. Initialisiere Abtast-Auszeit."). Sobald die Bremse
gelöst
ist, der Laser vollständig
eingeschaltet ist und eine Abtastung begonnen wurde, werden in „Lese Daten" 702 Daten gelesen
und bei „Sind
die Daten dekodierbar?" 704 wird
versucht, diese zu dekodieren. Wenn die Daten nicht gelesen sind,
bevor die Abtast-Auszeit-Periode bei Schritt „Abtast-Auszeit-Periode abgelaufen?" 706 abgelaufen
ist, wird der Schritt 502 des Objekt-Detektions-Algorithmus
wiederholt. Wenn die Daten nicht dekodierbar sind und die Abtast-Auszeit-Periode bei „Abtast-Auszeit-Periode
abgelaufen?" 703 abgelaufen
ist, wird Schritt 502 des Objekt-Detektions-Algorithmus wiederholt.
Wenn nicht, wird der „Lese
Daten" Schritt 702 wiederholt.
-
Wenn
die Daten innerhalb der Abtast-Auszeit-Periode dekodierbar sind,
werden die Daten bei „Dekodiere
Etikett. Speichere Etikett-Daten. Sende Daten an Schnittstellen-Kommando. Initialisiere
Abtast-Auszeit." 708 dekodiert,
gespeichert und an ein Schnittstellen-Kommando gesendet, der Etikett-weg-Zeitgeber
wird bei „Initialisiere
Etikett-weg-Zeitgeber" 710 initialisiert
und die Daten werden bei „Lese
Daten" 712 gelesen.
Sollte die Abtast-Auszeit-Periode bei dem Schritt „Abtast-Auszeit-Periode
abgelaufen?" 720 ablaufen,
bevor die Daten gelesen werden können,
wird der Schritt 502 des Objekt-Detektions-Algorithmus
wiederholt. Wenn die Daten bei „Sind die Daten dekodierbar?" 714 dekodierbar
sind, die Daten die gleichen Daten wie zuvor bei „Sind die
Etikett-Daten die
gleichen wie die vorherigen Etikett-Daten" 716 sind und der Etikett-weg-Zeitgeber
bei „Etikett-weg-Zeitgeber
abgelaufen?" 718 nicht
abgelaufen ist, wird der „Lese
Daten" Schritt 712 wiederholt.
Wenn der Etikett-weg-Zeitgeber bei Schritt 718 abgelaufen
war, wird Schritt 708 wiederholt. Somit kann es ein Scanner,
der eine logische Dekodier-Routine wie beispielsweise die in 12 dargestellte
verwendet, in Verbindung mit einer Objekt-Detektions-Technik eines
bevorzugten Ausführungsbeispiels
vorzugsweise einem Scanner ermöglichen,
ein Objekt automatisch zu detektieren und ein Symbol zu dekodieren, ohne
kontinuierlich das gleiche in dem Abtast-Feld vorhandene Symbol
zu dekodieren.