(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】スキャンされた対象物までの測定された距離に基づいて別々の光パターンシーケンスを利用するスキャニングデバイス
(51)【国際特許分類】
G06K 7/10 20060101AFI20241106BHJP
G06K 7/12 20060101ALI20241106BHJP
【FI】
G06K7/10 404
G06K7/10 376
G06K7/10 436
G06K7/12
【外国語出願】
(21)【出願番号】P 2023130834
(22)【出願日】2023-08-10
【審査請求日】2023-08-10
(32)【優先日】2022-08-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100189555
【氏名又は名称】徳山 英浩
(74)【代理人】
【識別番号】100172236
【氏名又は名称】岩木 宣憲
(72)【発明者】
【氏名】モディン,ミッチ
(72)【発明者】
【氏名】ドリスコール,トーマス
(72)【発明者】
【氏名】グリーン,コベ
【審査官】後藤 彰
(56)【参考文献】
【文献】特開2020-170366(JP,A)
【文献】特開平08-263583(JP,A)
【文献】特開2009-169931(JP,A)
【文献】米国特許出願公開第2011/0008035(US,A1)
【文献】特表2020-532815(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 7/10
G06K 7/12
(57)【特許請求の範囲】
【請求項1】
距離センサと、
複数の光源と、
1以上のプロセッサと、
前記1以上のプロセッサに結合され、前記1以上のプロセッサによって実行されるように構成された1以上のプログラムを保存する、メモリと
を備える装置であって、
前記1以上のプログラムは、
前記距離センサを介して、対象物と前記装置との間の距離を判定するための命令と、
前記対象物と前記装置との間の前記距離が複数の所定の距離範囲のうちの第1距離範囲内にあるという判定に従って、前記第1距離範囲に対応する照明パターンの第1シーケンスを有効化して、前記複数の光源を介して前記対象物を照明するための命令と
、
画像センサと
を備え
、
前記1以上のプログラムが、
前記対象物の画像が前記画像センサによってキャプチャされるまで、前記判定および前記有効化のステップを繰り返すための命令をさらに含み、
前記照明パターンの第1シーケンスが、複数の照明パターンを含み、
前記1以上のプログラムは、
前記判定および前記有効化のステップを繰り返す過程において、前記有効化のステップでは、前記対象物の画像がキャプチャされたときに有効化された照明パターンを第1照明パターンと判定するための命令と、
前記装置の後続の動作中に、前記第1照明パターンが最初に有効化されるように、前記照明パターンの第1シーケンスにおける前記複数の照明パターンを再順序付けするための命令と
をさらに含む、装置。
【請求項2】
前記対象物の1以上の画像を取得するための、レンズおよび画像センサを有するカメラをさらに備える、請求項1に記載の装置。
【請求項3】
前記照明パターンの第1シーケンスは、複数の照明パターンを含み、前記複数の照明パターンの各々は、光源および/または照明特性の異なる組み合わせを用いて前記対象物を照明し、
前記1以上のプログラムは、
それぞれの照明パターンが前記対象物の明るい部分と暗い部分との間にコントラストを作り出す確率に基づいて、所定の順序に従って前記複数の照明パターンを有効化するための命令を備える、請求項1に記載の装置。
【請求項4】
前記所定の順序は、確率の降順に基づいている、請求項
3に記載の装置。
【請求項5】
前記複数の光源は、長距離光源、低角度光源、および/または、ドーム光源を含む、請求項1に記載の装置。
【請求項6】
前記複数の光源は、内向き光源と外向き光源とを含む、請求項1に記載の装置。
【請求項7】
前記複数の光源は、
第1色を有する第1光源と、
前記第1色とは異なる第2色を有する第2光源と
を含む、請求項1に記載の装置。
【請求項8】
前記複数の距離範囲は、ニアフィールド距離範囲と、ミディアムフィールド距離範囲と、ファーフィールド距離範囲とを含む、請求項1に記載の装置。
【請求項9】
前記複数の距離範囲の各距離範囲は、照明パターンの固有のシーケンスに対応する、請求項
8に記載の装置。
【請求項10】
前記距離センサは、タイムオブフライトセンサ、超音波センサ、レーダーセンサ、または、LiDARセンサの1つである、請求項1に記載の装置。
【請求項11】
距離センサと複数の光源を有する装置によって実行される方法であって、
前記距離センサを介して、対象物と前記装置との間の距離を判定することと、
前記対象物と前記装置との間の前記距離が複数の所定の距離範囲のうちの第1距離範囲内にあるという判定に従って、前記第1距離範囲に対応する照明パターンの第1シーケンスを有効化して、前記複数の光源を介して前記対象物を照明することと
を備え
、
前記装置が画像センサをさらに含み、
前記方法は、
前記対象物の画像が前記画像センサによってキャプチャされるまで、前記判定および前記有効化のステップを繰り返すことをさらに備え、
前記照明パターンの第1シーケンスが、複数の照明パターンを含み、
前記方法は、
前記判定および前記有効化のステップを繰り返す過程において、前記有効化のステップでは、前記対象物の画像がキャプチャされたときに有効化された照明パターンを第1照明パターンと判定することと、
前記装置の後続の動作中に、前記第1照明パターンが最初に有効化されるように、前記照明パターンの第1シーケンスにおける前記複数の照明パターンを再順序付けすることと
をさらに備える、方法。
【請求項12】
前記照明パターンの第1シーケンスは、複数の照明パターンを含み、前記複数の照明パターンの各々は、光源および/または照明特性の異なる組み合わせを用いて前記対象物を照明し、
前記方法は、
それぞれの照明パターンが前記対象物の明るい部分と暗い部分との間にコントラストを作り出す確率に基づいて、所定の順序に従って前記複数の照明パターンを有効化することをさらに備える、請求項
11に記載の方法。
【請求項13】
前記所定の順序は、確率の降順に基づいている、請求項
12に記載の方法。
【請求項14】
前記複数の光源は、長距離光源、低角度光源、および/または、ドーム光源を含む、請求項
11に記載の方法。
【請求項15】
前記複数の距離範囲は、ニアフィールド距離範囲と、ミディアムフィールド距離範囲と、ファーフィールド距離範囲とを含む、請求項
11に記載の方法。
【請求項16】
システムであって、
距離センサと、
複数の光源と、
1以上のプロセッサと、
前記1以上のプロセッサに結合され、前記1以上のプロセッサによって実行されるように構成された1以上のプログラムを保存する、メモリであって、前記1以上のプログラムは、
前記距離センサを介して、対象物と前記
システムとの間の距離を判定するための命令と、
前記対象物と前記
システムとの間の前記距離が複数の所定の距離範囲のうちの第1距離範囲内にあるという判定に従って、前記第1距離範囲に対応する照明パターンの第1シーケンスを有効化して、前記複数の光源を介して前記対象物を照明するための命令と
を備える、メモリと、
前記対象物の1以上の画像をキャプチャするためのカメラと
を備え
、
前記1以上のプログラムが、
前記対象物の画像が前記カメラによってキャプチャされるまで、前記判定および前記有効化のステップを繰り返すための命令をさらに含み、
前記照明パターンの第1シーケンスが複数の照明パターンを含み、
前記1以上のプログラムは、
前記判定および前記有効化のステップを繰り返す過程において、前記有効化のステップでは、前記対象物の画像がキャプチャされたときに有効化された照明パターンを第1照明パターンと判定するための命令と、
前記システムの後続の動作中に、前記第1照明パターンが最初に有効化されるように、前記照明パターンの第1シーケンスにおける前記複数の照明パターンを再順序付けするための命令と
をさらに含む、システム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本出願は以下の出願に関連しており、各出願は参照によりその全体が本明細書に組み込まれる。
・(i)米国特許出願番号 (Attorney Docket No. 121866-5123-US)、2022年8月25日出願、発明の名称「目標距離に基づくシンボロジーまたはフレームレートの変更(Symbology or Frame Rate Changes Based on Target Distance)」
・(ii)米国特許出願番号 (Attorney Docket No. 121866-5124-US)、2022年8月25日出願、発明の名称「プレゼンテーションモードに入るタイミングを判定するための距離センサデルタの使用(Using Distance Sensor Delta to Determine When to Enter Presentation Mode)」
・(iii)米国特許出願番号13/233,535、2011年9月15日出願、発明の名称「拡散光を提供する方法(Methods for Providing Diffuse Light)」、現米国特許第8,224,174号、2012年6月27日発行
・(iv)米国特許出願番号14/298,659、2014年6月6日出願、発明の名称「コンビネーション暗視野および明視野イルミネータ(Combination Dark Field and Bright Field Illuminator」、現米国特許第8,989,569号、2015年3月24日発行
【0002】
開示された実施態様は、一般に光学データ読み取り装置(例えば、スキャニングデバイス)に関し、より具体的には、シンボルを読み取り、デコードするためのシステム、装置および方法に関する。
【背景技術】
【0003】
光学データ読み取りシステムおよび装置(例えば、スキャニングデバイス)は、部分に含まれるシンボル(例えば、バーコード、ラベル、または部品マーキング)の二次元画像をキャプチャし、その画像を分析してシンボルに含まれる情報を抽出することにより、部分の識別および追跡を可能にする。
【発明の概要】
【0004】
光学データ読み取りシステムにおける課題の一つは、デコード可能な高品質の画像を得ることである。例えば、自動車産業で使用されるシンボルは、サイズおよび表面(例えば、平滑、粗面、反射、光沢、くすみ、または、波形など)の異なる部分を直接フライス加工、パンチング、または、エッチングする傾向がある。場合によっては、隣接する部分が、シンボルをスキャンし読み取ることを難しくする影効果を作り出し得る。寸法および表面の範囲が広いため、光学データ読み取りシステムのカメラ設定(例えば、照明のタイプ、露光(exposure)、および/または、ゲイン設定)は、画像化される部分に固有である傾向がある。
【0005】
光学読み取りシステムにおけるもう一つの課題は、リードサイクルの有効化(activation)である。多くの場合、システムは連続キャプチャ/リードモードで動作し、これにより画像システムは、近傍に対象物および/またはシンボルがない場合でも画像を連続的に取得して、画像内のデータラベルを探す。その結果、このモードで動作するシステムは不必要な電力を消費し、多くの熱を発生する。さらに、ユーザーはカメラの連続的な点滅を不快に感じることもある。
【0006】
従って、ユーザーの満足度を向上させながら、バーコードの高画質画像を高い効率でキャプチャできる、改良された装置、方法およびシステムが必要とされている。
【0007】
本開示は、装置および目標対象物(例えば、バーコードを含む部品)間の距離を測定することによって、画像キャプチャの有効性を高めるスキャニングデバイスを説明する。
【0008】
いくつかの実施形態によれば、開示されたデバイスは、測定された距離に対応する距離範囲に対して構成された照明パターンシーケンスを自動的に選択し、照明パターンシーケンスを用いて目標対象物を照明する。いくつかの実施形態では、照明パターンシーケンスは、読み取りが成功する確率(例えば、減少する確率)に従って配置される1以上の照明パターンを含む。いくつかの実施形態では、開示された装置が、前のリード(読み取り)サイクルで良好な読み取り(good read)を取得し、現在のリードサイクルが前の読み取りサイクルと同じ距離範囲にあると判定する場合、装置は、前のサイクルで良好な読み取りを取得するために使用された照明パターンで開始する。
【0009】
いくつかの実施形態によれば、測定された距離に基づいて、開示される装置は、所定のシンボロジータイプから、測定距離に対応するシンボロジータイプのサブセットを自動的に識別する。開示される装置は、対象物の画像を取得し、シンボロジータイプのサブセットを使用して画像をデコードする。
【0010】
いくつかの実施形態によれば、連続的なキャプチャ/リードモードでの動作の代わりに、開示されるデバイスは、デフォルトのアイドル状態(例えば、プレゼンテーションモード)にある。開示されるデバイスは、測定された距離が変化する(例えば、ベースライン深度から変化する)場合に、リードサイクルを有効化し、測定された距離が実質的に元のベースライン深度に戻ったことを検出すると、リードサイクルを非有効化する。
【0011】
従って、本明細書に開示される装置および/または方法は、以下の方法で装置およびその動作を有利に改善する。
【0012】
第一に、目標距離に基づいて個別の照明パターンシーケンスを自動的に有効化することにより、開示される装置は、シーケンスにおいて照明パターンが特定の距離範囲に対して調整されるため、より多くのラベルマーキングを読み取ることができる。これは、より高い生産性およびより高いユーザーの満足度につながる。
【0013】
第2に、シンボロジータイプの候補をシンボロジータイプのサブセットに減らすことが、デバイスの性能を向上させることにつながり得る。なぜなら、デバイスで有効になっている全てのシンボロジータイプは、(例えば、マーキングをデコードするためにプロセッサが識別および/または照合する必要のあるデータ量を増加させることによって)有限の処理時間を使用するからである。従って、シンボロジータイプの数を減らすことで、より多くの処理能力をパイプラインの画像キャプチャおよびデコード部分に向けることができる。
【0014】
第3に、開示される装置をアイドル状態に保ち、視界内に対象物がある場合にリードサイクルを有効化することにより、開示される装置は、より少ない電力を使用し、過熱し難い。ユーザーが画像キャプチャシステムからの連続的な点滅光に対処する必要がなくなるため、ユーザー体験も向上する。
【0015】
本開示の装置および方法は、それぞれいくつかの革新的な態様を有しており、そのうちの1つだけが本明細書に開示された望ましい特性の原因ではない。
【0016】
本開示のいくつかの実施形態によれば、装置は、距離センサと、複数の光源と、1以上のプロセッサと、1以上のプロセッサに結合されたメモリとを含む。メモリは、1以上のプロセッサによって実行されるように構成された1以上のプログラムを記憶する。1以上のプログラムは、距離センサを介して、対象物および装置間の距離を判定するための命令を含む。1以上のプログラムは、対象物および装置間の距離が、複数の所定の距離範囲のうちの第1距離範囲内にある場合、第1距離範囲に対応する、照明パターンの第1シーケンスを有効化し、複数の光源を介して対象物を照明するための命令を含む。
【0017】
いくつかの実施形態では、装置は、画像センサをさらに含む。1以上のプログラムは、対象物の画像が画像センサによってキャプチャされるまで、判定するステップおよび有効化するステップを繰り返すための命令をさらに含む。
【0018】
いくつかの実施形態では、照明パターンの第1シーケンスは、複数の照明パターンを含む。1以上のプログラムは、対象物の画像がキャプチャされた場合に、複数の照明パターンのうちの第1照明パターンが有効化されることを判定するための命令をさらに含む。1以上のプログラムは、装置の後続の動作中に、第1照明パターンが最初に起動されるように、照明パターンの第1シーケンスにおいて複数の照明パターンを再順序付けする。
【0019】
いくつかの実施形態では、請求項1の装置は、対象物の1以上の画像を取得するための、レンズおよび画像センサを有するカメラをさらに含む。
【0020】
いくつかの実施形態では、照明パターンの第1シーケンスは、複数の照明パターンを含む。照明パターンの各々は、光源および/または照明特性の明確な組合せを使用し、対象物を照明する。1以上のプログラムは、所定の順序に従って複数の照明パターンを有効化するための命令を含む。所定の順序は、それぞれの照明パターンが対象物の明るい部分と暗い部分との間にコントラストを作り出す確率に基づいている。
【0021】
いくつかの例では、所定の順序は、確率の降順に基づいている。
【0022】
いくつかの実施形態では、複数の光源は、長距離光源(long range light source)、低角度光源(low angle light source)、および/または、ドーム光源(dome light source)を含む。
【0023】
いくつかの実施形態では、複数の光源は、内向きの光源と外向きの光源とを含む。
【0024】
いくつかの実施形態では、複数の光源は、第1色を有する第1光源と、第1色とは異なる第2色を有する第2光源とを含む。
【0025】
いくつかの実施形態では、複数の距離範囲は、近位領域距離範囲、中位領域距離範囲、および、遠位領域距離範囲を含む。
【0026】
いくつかの実施形態では、複数の距離範囲の各距離範囲は、照明パターンの固有のシーケンスに対応する。
【0027】
いくつかの実施形態では、距離センサは、タイムオブフライトセンサ、超音波センサ、レーダーセンサ、または、LiDARセンサのいずれかである。
【0028】
いくつかの実施形態によれば、方法は装置によって実行される。装置は、距離センサと複数の光源とを有する。方法は、距離センサを介して、対象物および装置間の距離を判定することを含む。方法は、対象物および装置間の距離が、複数の所定の距離範囲のうちの第1距離範囲内にある場合に、照明パターンの第1シーケンスを有効化することを含む。照明パターンの第1シーケンスは、第1距離範囲に対応する。照明パターンの第1シーケンスは、複数の光源を介して対象物を照明する。
【0029】
いくつかの実施形態では、装置は画像センサを含む。方法は、対象物の画像が画像センサによってキャプチャされるまで、決定するステップおよび有効化するステップを繰り返すことを含む。
【0030】
いくつかの実施形態では、照明パターンの第1シーケンスは、複数の照明パターンを含む。方法は、対象物の画像がキャプチャされる場合に、複数の照明パターンのうちの第1照明パターンが有効化されることを判定することを含む。方法は、装置の後続の動作中に、第1照明パターンが最初に有効化されるように、照明パターンの第1シーケンスにおいて複数の照明パターンを再順序付けすることを含む。
【0031】
いくつかの実施形態では、照明パターンの第1シーケンスは、複数の照明パターンを含む。照明パターンの各々は、光源および/または照明特性の明確な組合せを使用して、対象物を照明する。方法は、それぞれの照明パターンが対象物の明るい部分と暗い部分との間にコントラストを作り出す確率に基づいて、所定の順序に従って複数の照明パターンを有効化することを含む。
【0032】
本開示のいくつかの実施形態によれば、システムは、距離センサと、複数の光源と、1以上のプロセッサと、1以上のプロセッサに結合されたメモリとを備える。メモリは、1以上のプロセッサによって実行されるように構成された1以上のプログラムを記憶する。1以上のプログラムは、距離センサを介して、対象物およびシステム間の距離を判定するための命令を含む。1以上のプログラムは、対象物およびシステム間の距離が複数の所定の距離範囲のうちの第1距離範囲内にある場合、第1距離範囲に対応する、照明パターンの第1シーケンスを有効化して、複数の光源を介して対象物を照明するための命令を含む。システムは、対象物の1以上の画像をキャプチャするためのカメラを含む。
【0033】
本開示のいくつかの実施形態によれば、装置は、距離センサと、画像センサと、1以上のプロセッサと、1以上のプロセッサに結合されたメモリとを含む。メモリは、1以上のプロセッサによる実行のために構成された1以上のプログラムを記憶する。1以上のプログラムは、距離センサを介して、対象物および装置間の距離を判定するための命令を含む。1以上のプログラムは、対象物および装置間の距離が複数の所定の距離範囲のうちの第1距離範囲内にある場合に、複数の所定のシンボロジータイプから、第1距離範囲に対応するシンボロジータイプのサブセットを識別するための命令を含む。1以上のプログラムはまた、対象物の1以上の画像を取得し、識別されたシンボロジータイプのサブセットに基づいて1以上の画像をデコードするための命令を含む。
【0034】
いくつかの実施形態では、複数の距離範囲は、近位領域距離範囲、中位領域距離範囲、および、遠位領域距離範囲のうちの2以上を含む。
【0035】
いくつかの実施形態では、1以上のプログラムは、装置と対象物との間の距離に基づいて、1以上の画像を取得するための画像取得速度を調整するための命令をさらに含む。
【0036】
いくつかの実施形態では、画像取得率を調整するための指示は、装置と対象物との間の距離が増加した場合に画像取得率を増加させるための指示を含む。
【0037】
いくつかの実施形態では、識別されたシンボロジータイプのサブセットに基づいて1以上の画像をデコードするための命令は、1以上の画像から1以上の対象物の特徴を識別するための命令と、対象物の特徴をシンボロジータイプのサブセットにおけるシンボロジータイプのそれぞれの特徴と比較するための命令と、比較に従って、対象物がシンボロジータイプのサブセットにおける第1シンボロジータイプに対応することを判定するための命令と、第1シンボロジータイプに基づいて1以上の対象物の特徴をデコードするための命令とを含む。
【0038】
いくつかの実施形態では、距離センサは、タイムオブフライトセンサ、超音波センサ、レーダーセンサ、または、LiDARセンサのいずれかである。
【0039】
いくつかの実施形態では、装置は、複数の光源を含む。1以上のプログラムは、対象物と装置との間の距離が、複数の所定の距離範囲のうちの第1距離範囲内にある場合に、第1距離範囲に対応する、照明パターンの第1シーケンスを有効化して、複数の光源を介して対象物を照明するための命令をさらに含む。
【0040】
いくつかの実施形態では、複数のシンボロジータイプは装置にローカルに保存される。
【0041】
いくつかの実施形態では、複数のシンボルタイプは、装置とは別のコンピュータデバイスに保存される。
【0042】
いくつかの実施形態では、画像センサはカメラの一部である。カメラはさらにレンズを含む。
【0043】
いくつかの実施形態では、複数のシンボルタイプは、線形(ライナー)シンボロジーと二次元(2D)シンボロジーを含む。
【0044】
本開示のいくつかの実施形態によれば、方法は装置によって実行される。装置は、距離センサと画像センサとを含む。方法は、距離センサを介して、対象物と装置との間の距離を判定することを含む。方法は、対象物と装置との間の距離が複数の所定の距離範囲のうちの第1距離範囲内にある場合に、複数の所定のシンボロジータイプから、第1距離範囲に対応するシンボロジータイプのサブセットを識別することを備える。方法は、対象物の1以上の画像を取得することを備える。方法は、シンボロジータイプの識別されたサブセットに基づいて1以上の画像をデコードすることを備える。
【0045】
いくつかの実施形態では、方法は、装置と対象物との間の距離に基づいて、1以上の画像を取得するための画像取得レートを調整することをさらに含む。
【0046】
いくつかの例では、画像取得率を調整することは、装置と対象物との間の距離が増加する場合に画像取得率を増加させること(例えば、装置と対象物との間の距離が減少する場合に画像取得率を減少させること)を含む。
【0047】
いくつかの実施形態では、シンボロジータイプの識別されたサブセットに基づいて1以上の画像をデコードすることは、(i)1以上の画像から1以上の対象物の特徴を識別することと、(ii)対象物の特徴を、シンボロジータイプのサブセットにおけるシンボロジータイプのそれぞれの特徴と比較することと、(iii)比較に従って、対象物がシンボロジータイプのサブセットにおける第1シンボロジータイプに対応することを判定することと、(iv)第1シンボロジータイプに基づいて1以上の対象物の特徴を復号化することと、を含む。
【0048】
いくつかの実施形態では、装置は、複数の光源を含む。方法は、対象物と装置との間の距離が複数の所定の距離範囲のうちの第1距離範囲内にある場合に、第1距離範囲に対応する、照明パターンの第1シーケンスを有効化して、複数の光源を介して対象物を照明することをさらに含む。
【0049】
本開示のいくつかの実施形態によれば、方法は装置によって実行される。装置は、距離センサ、画像センサ、1以上のプロセッサ、および、メモリを含む。方法は、ベースライン深度を測定することを含む。方法は、ベースライン深度を測定した後、第1深度を測定することを含む。方法は、第1深度がベースライン深度と異なると判定することを含む。方法は、判定に応答して、リードサイクルを有効化することを含む。方法は、リードサイクルの有効化に続いて、第2深度を測定することを含む。方法は、第2深度がベースライン深度の閾値範囲内にあることを検出することを含む。方法はまた、検出に応答して、リードサイクルを非有効化することを含む。
【0050】
いくつかの実施形態では、第1深度はベースライン深度より小さい。
【0051】
いくつかの実施形態では、方法は、リードサイクルが有効化されている間に、画像センサを用いて画像をキャプチャすることをさらに含む。
【0052】
いくつかの実施形態では、キャプチャされた画像は、バーコードを有する画像を含む。いくつかの実施形態では、バーコードは1次元(1D)バーコードを含む。いくつかの実施形態では、バーコードは2次元(2D)バーコードを含む。
【0053】
いくつかの実施形態において、方法は、バーコードをデコード化することをさらに含む。
【0054】
いくつかの実施形態では、閾値範囲は、ベースライン深度に関するパーセンテージ範囲に基づく間隔を含む。
【0055】
いくつかの実施形態では、閾値範囲は、ベースライン深度に関する絶対的な範囲に基づく間隔を含む。
【0056】
いくつかの実施形態では、閾値範囲は有限の下限を有し、上限を有していない。
【0057】
いくつかの実施形態では、リードサイクルを非有効化することは、画像センサを非有効化することを含む。
【0058】
いくつかの実施形態では、方法は、ベースライン深度から第1深度までの変化率を判定することをさらに含む。リードサイクルを有効化することは、変化率が最小変化率を超えるという判定にさらに従っている。
【0059】
いくつかの実施形態では、変化率は所定の期間にわたって判定される。
【0060】
本開示のいくつかの実施形態によれば、装置は、距離センサと、画像センサと、1以上のプロセッサと、1以上のプロセッサに結合されたメモリとを含む。メモリは、1以上のプロセッサによる実行のために構成された1以上のプログラムを記憶する。1以上のプログラムは、ベースライン深度を測定するための命令を含む。1以上のプログラムは、ベースライン深度の測定に続いて、第1深度を測定するための命令を含む。1以上のプログラムは、第1深度がベースライン深度と異なることを判定するための命令を含む。1以上のプログラムは、判定に応答して、リードサイクルを有効化するための命令を含む。1以上のプログラムは、リードサイクルの有効化に続いて、第2深度を測定するための命令を含む。1以上のプログラムは、第2深度がベースライン深度の閾値範囲内にあることを検出するための命令を含む。1以上のプログラムはまた、検出に応答して、リードサイクルを非有効化するための命令を含む。
【0061】
いくつかの実施形態では、1以上のプログラムは、リードサイクルが有効化されている間に画像センサを使用して画像をキャプチャするための命令を含む。
【0062】
いくつかの実施形態では、1以上のプログラムは、バーコード(例えば、1次元バーコードまたは2次元バーコード)をデコードするための命令を含む。
【0063】
いくつかの実施形態では、リードサイクル非有効化するための指示は、画像センサを非有効化するための指示を含む。
【0064】
いくつかの実施形態では、1以上のプログラムは、ベースライン深度から第1深度への変化率を判定するための命令を含む。リードサイクルの有効化は、変化率が最小変化率を超えるという判定にさらに従っている。
【0065】
いくつかの実施形態では、距離センサは、タイムオブフライトセンサ、超音波センサ、赤外線(IR)センサ、レーダーセンサ、および、LiDARセンサの1つである。
【0066】
いくつかの実施形態では、装置はスタンドに取り付けられている。
【0067】
いくつかの実施形態では、装置はラベルスキャニングステーションの一部である。
【0068】
いくつかの実施形態によれば、電子デバイスは、1以上のプロセッサと、メモリと、メモリに保存された1以上のプログラムとを含む。プログラムは、1以上のプロセッサによって実行されるように構成される。1以上のプログラムは、本明細書に記載の方法のいずれかを実行するための命令を含む。
【0069】
いくつかの実施形態によれば、非一過性のコンピュータ可読記憶媒体は、1以上のプロセッサおよびメモリを有する電子デバイスによって実行されるように構成された1以上のプログラムを記憶する。1以上のプログラムは、本明細書に記載の方法のいずれかを実行するための命令を含む。
【0070】
このように、バーコードスキャナの最適な設計、実行および性能を可能にする方法、システム、装置が開示されている。
【0071】
上述した様々な実施形態は、本明細書に記載した他の実施形態と組み合わせることができる。本明細書に記載された特徴および利点は、全てを包含するものではなく、特に、多くの追加の特徴および利点が、図面、明細書、および特許請求の範囲を鑑みて、当業者には明らかであろう。さらに、本明細書で使用される文言は、主として読みやすさと説明のために選択されたものであり、発明的主題を画定または包囲するために選択されたものではない場合がある。
【図面の簡単な説明】
【0072】
【
図1】
図1は、いくつかの実施形態による装置の斜視図である。
【
図2】
図2は、いくつかの実施形態による装置の光源を示す図である。
【
図3】
図3は、いくつかの実施形態による装置のブロック図である。
【
図4A】
図4Aは、いくつかの実施形態に従ってコンピューティングデバイスに表示されるグラフィカルユーザインタフェースを示す。
【
図4B】
図4Bは、いくつかの実施形態に従ってコンピューティングデバイスに表示されるグラフィカルユーザインタフェースを示す。
【
図5】
図5は、いくつかの実施形態による装置の距離フィールドと距離範囲とを示す図である。
【
図6A】
図6Aは、いくつかの実施形態による装置の例示的な動作を示す。
【
図6B】
図6Bは、いくつかの実施形態による装置の例示的な動作を示す。
【
図7A】
図7Aは、いくつかの実施形態による方法のフローチャートである。
【
図7B】
図7Bは、いくつかの実施形態による方法のフローチャートである。
【
図8A】
図8Aは、いくつかの実施形態による方法のフローチャートである。
【
図8B】
図8Bは、いくつかの実施形態による方法のフローチャートである。
【
図9A】
図9Aは、いくつかの実施形態による方法のフローチャートである。
【
図9B】
図9Bは、いくつかの実施形態による方法のフローチャートである。 添付の図面に例示されている実施形態を参照する。以下の説明では、本発明を十分に理解するために、多数の具体的な詳細を記載する。しかしながら、本発明がこれらの具体的な詳細を必要とせずに実施され得ることは、当業者には明らかであろう。
【発明を実施するための形態】
【0073】
図1は、いくつかの実施形態による装置100(例えば、電子装置)の斜視図である。本開示のいくつかの実施形態によれば、装置100はスキャニングデバイスである。いくつかの実施形態では、装置100は、コードリーダ、バーコードスキャナ、ラベルスキャナ、光学スキャナ、または画像キャプチャシステムとも呼ぶことができる。いくつかの実施形態では、装置100はハンドヘルドデバイスである。いくつかの実施形態では、装置100はスタンドに取り付けられている。いくつかの実施形態では、装置100は、光学データ読み取りシステム(例えば、ラベルスキャニングステーション)の一部である。
【0074】
図1は、装置100が、装置100の内部に配置される構成要素を保護するためのハウジング101(例えば、ボディまたは外装ケース)を含むことを示す。いくつかの実施形態では、ハウジング101は、内部構成要素を所定の位置に保持するための一体化された部品(fittings)またはブラケット(brackets)を含む。
図1はまた、装置100が、装置100の前端に位置するカバー102(例えば、透明カバーまたは部分的に透明なカバー)を含むことを示す。
【0075】
本開示のいくつかの実施形態によれば、装置100は、装置100内に位置する1以上の距離センサ104(例えば、内部距離センサ)を含む。例えば、
図1は、装置100の内部に位置し(例えば、カバー102に隣接している)、装置100の前端に面している距離センサ104を示す。
【0076】
いくつかの実施形態では、距離センサ104は、タイムオブフライト(TOF)センサである。TOFセンサは、センサからの信号(例えば、波動パルス、LEDパルス、レーザパルス、または、赤外線)の放射から、対象物に反射してセンサに戻ってくるまでの経過時間を測定する。距離は、空気中の光速と信号の送受信間の時間とを用いて算出される。
【0077】
いくつかの実施形態では、距離センサ104は超音波センサである。超音波センサまたはソナーセンサは、高周波音波を発することで対象物までの距離を検出する。超音波センサは目標対象物に向けて高周波音波を放射し、タイマがスタートする。目標対象物は音波をセンサに向かって反射する。レシーバが反射波をピックアップし、タイマを停止させる。波が戻ってくるまでの時間が音速に基づいて算出され、到達距離を判定する。
【0078】
いくつかの実施形態では、距離センサ104はレーダーセンサである。レーダーセンサ(例えば、レーダー距離センサ)は、高周波電波(例えば、マイクロ波)を送信し、対象物からの電波の反射を測定することで対象物までの距離を算出する。
【0079】
いくつかの実施形態では、距離センサ104は、(例えば、電波または音波の代わりに)レーザからの光波を通じて目標対象物の距離を測定するLiDARセンサである。
【0080】
いくつかの実施形態では、距離センサ104は、赤外線(IR)距離センサである。IR距離センサは三角測量の原理で動作し、反射ビームの角度に基づいて距離を測定する。
【0081】
いくつかの実施形態では、装置100は、それぞれが同じタイプの2以上の距離センサ104を含む(例えば、2以上の距離センサのそれぞれがTOFセンサである)。いくつかの実施形態では、装置100は、異なるタイプの2以上の距離センサを含む(例えば、装置100は、TOF距離センサおよびレーダーセンサを含む)。
【0082】
図1は、装置100が、装置100を有効化(起動)する(例えば、1以上の光源110を有効化してリードサイクルを開始する)ためのボタン106(例えば、トリガ)を含むことを示す。
【0083】
図2は、いくつかの実施形態による装置100の光源(例えば、ライティングソース(lighting sources)、イルミネーションソース(illumination sources)、または、イルミネータ(illuminators))を示す。
【0084】
いくつかの実施形態では、光源110は装置100の照明システムの一部であり、明視野イルミネータおよび暗視野イルミネータなどのイルミネータ、リフレクタ、および、ライティングモジュールをも含む。明視野イルミネータおよび暗視野イルミネータ、リフレクタ、および、ライティングモジュールの詳細は、2014年6月6日に出願された「コンビネーション暗視野および明視野イルミネータ」を発明の名称とする米国特許出願第14/298,659号(現米国特許第8,989,569号、2015年3月24日発行)に記載されており、その全体が参照により本明細書に組み込まれる。
【0085】
いくつかの実施形態では、光源110は、LED光源、レーザ光源、または、LCD光などの1以上の照明タイプを有する。各照明タイプは、色(青、赤または緑)および/または強度など、それぞれの照明特性を有する。
【0086】
いくつかの実施形態では、
図2に示すように、光源110は、装置100内(例えば、カバー102の後ろ)に位置するプリント回路基板(例えば、PCB)111に取り付けられる(例えば、はんだ付けされる)。PCB111は、装置100の前端に面するフロントサイド112と、装置100の後端に面するバックサイド114とを含む。
図2は、PCBのフロントサイド112が、長距離光源116(例えば、116-1、116-2)と、低角度光源118(例えば、118-1、118-2)とを含むことを示す。PCBのバックサイド114はドーム光源120を含む。
【0087】
いくつかの実施形態では、長距離光源116は、遠位領域距離範囲(例えば、距離センサ104を使用して判定される)を照明するために使用される。いくつかの実施形態では、遠位領域距離範囲は、例えば、≧50mm、≧60mm、50mm~300mm、または、60mm~250mmの距離を含む。
【0088】
図2は、長距離光源が、PCBのフロントサイド112の左側に位置する第1長距離光源116-1と、PCBのフロントサイド112の右側に位置する第2長距離光源116-2を含むことを示す。いくつかの実施形態では、第1長距離光源116-1および第2長距離光源116-2は、同じ照明タイプを備える(例えば、両方とも同じ色、強度および/または照明特性を有するLED光である)。いくつかの実施形態では、第1長距離光源116-1および第2長距離光源116-2は、それぞれ独自の色および/または強度を有する異なる照明タイプを備える(例えば、第1長距離光源116-1が青色LEDであり、第2長距離光源116-2が赤色LEDであるか、または、第1長距離光源116-1がLED光であり、第2長距離光源116-2がLCD光である)。
【0089】
いくつかの実施形態では、第1長距離光源116-1および第2長距離光源116-2の照明特性は、独立して(例えば、アプリケーション230を介して)調整することができる。いくつかの実施形態では、第1長距離光源116-1および第2長距離光源116-2は、所定の(例えば、固定されており、調整できない)(例えば、ハードウェアまたはユーザー仕様によって事前に決定される)強度を有する。いくつかの実施形態では、第1長距離光源116-1および第2長距離光源116-2は、共に有効化または非有効化(例えば、オンまたはオフ)される。
【0090】
いくつかの実施形態では、光源110は低角度光源118を含む。
図2は、低角度光源118が、PCBのフロントサイド112の上半分に位置する低角度ノース光源(low angle north light sources)118-1と、PCBのフロントサイド112の下半分に位置する低角度サウス光源(low angle south light sources)118-2とを含むことを示す。低角光源118は、暗視野イルミネータとしても知られている。暗視野イルミネータの詳細は、2014年6月6日に出願された「コンビネーション暗視野および明視野イルミネータ」を発明の名称とする米国特許出願第14/298,659号(現米国特許第8,989,569号、2015年3月24日発行)に記載されており、その全体が参照により本明細書に組み込まれる。
【0091】
低角度光源118は、比較的低い入射角(例えば、10度、15度または30度)で光を照射し、反射光の大部分はカメラ211内に反射されない。カメラに偶然反射する個々の表面のディテールの消えた散乱光が、機能特有(feature-specific)のコントラストを生成する。いくつかの実装形態では、低角度光源118は、鏡面反射面の欠陥を効果的に検査したり、標準的な明視野照明を使用して読み取り不可能なプラスチックカバーなどの鏡面反射面の下のバーコードを読み取ったり/検証したりすることに用いられ得る。
【0092】
図2は、いくつかの実施形態において、光源110がPCBのバックサイド120に取り付けられたドーム光源120を含むことを示す。いくつかの実施形態において、装置100は、湾曲した反射面を有するカーブドリフレクタを含む。ドーム光源120からの入射光は装置100のカーブドリフレクタに向けられ、リフレクタから反射された光は目標対象物を照明するために使用される。リフレクタの詳細は、2014年6月6日に出願された「コンビネーション暗視野および明視野イルミネータ」を発明の名称とする米国特許出願第14/298,659号(現米国特許第8,989,569号、2015年3月24日発行)に記載されており、その全体が参照により本明細書に組み込まれる。
【0093】
例示的な実施形態では、長距離光源116は2つのLEDを有し、一方は第1長距離光源116-1に対応し、他方は第2長距離光源116-2に対応する。第1長距離光源および第2長距離光源は両方とも同時に有効化または非有効化される。
【0094】
いくつかの実施形態では、低角度ノース光源118-1は複数のLED(例えば、4、6または8)を含み、それらのすべてが同時に有効化または非有効化される。
【0095】
いくつかの実施形態では、低角度サウス光源118-2は複数のLED(例えば、4、6または8)を含み、それらのすべてが同時に有効化または非有効化される。
【0096】
いくつかの実施形態では、ドーム光源120は複数のLED(例えば、6、8または10)を含み、それらのすべてが同時に有効化または非有効化される。
【0097】
図3は、いくつかの実施形態による装置100のブロック図を示す。
【0098】
装置100は、
図1に関して前述したように、1以上の距離センサ104を含む。いくつかの実施形態では、1以上の距離センサは、タイムオブフライトセンサ、超音波センサ、レーダーセンサ、または、LiDARセンサの1以上を含む。
【0099】
いくつかの実施形態では、装置100は、近接センサが動作するように設計された感知領域内に対象物があるか否かを感知(例えば、検出)するための1以上の近接センサを含む。
【0100】
いくつかの実施形態では、装置100は、画像焦点ファインダ、アナログトゥデジタル変換(ADC)、および/または、デジタルトゥアナログ変換(DAC)などの距離測定技術を使用して、目標対象物および装置100巻の距離を判定する。
【0101】
装置100は光源110を含む。いくつかの実施形態では、光源110は、
図2および2014年6月6日に出願された「コンビネーション暗視野および明視野イルミネータ」を発明の名称とする米国特許出願第14/298,659号(現米国特許第8,989,569号、2015年3月24日発行、その全体が参照により本明細書に組み込まれる。)に記載されているように、長距離光源116、低角度光源118、および/または、ドーム光源120を含む。
【0102】
いくつかの実施形態では、装置100は、バーコードに含まれるデータをデコードし、そのデータをコンピュータデバイス(例えば、
図4Aおよび4Bのコンピューティングデバイス300)に送信するためのデコーダ214を含む。いくつかの実施形態では、デコーダ214はソフトウェアアプリケーション(例えば、
図3のアプリケーション230)の一部である。デコーダ214の詳細は、2014年6月6日に出願された「コンビネーション暗視野および明視野イルミネータ」を発明の名称とする米国特許出願第14/298,659号(現米国特許第8,989,569号、2015年3月24日発行)に記載されており、その全体が参照により本明細書に組み込まれる。
【0103】
いくつかの実施形態では、装置100は、
図1のボタン106など、ユーザー入力を容易にするための1以上の入力インターフェース210を含む。いくつかの実施形態では、装置100は、バッテリで動作するデバイスであり、充電可能なバッテリを含む。この場合、入力インターフェース216は、バッテリを充電するための充電ポートを含むことができる。
【0104】
いくつかの実施形態では、装置100は、イメージセンサ212およびレンズ213を含むカメラ211を含む。レンズ213は、光線の経路を方向付け、光線をイメージセンサ212上に集中させて、イメージセンサ上に可能な限り正確に画像を再作成する。画像センサ212は、光(例えば、光子)を装置100が解釈可能な電気信号に変換する。いくつかの実施形態では、レンズ213は光学レンズであり、ガラスまたは他の透明な材料から作られる。いくつかの実施形態では、レンズ213は、光学液体材料で構成され、電流または電圧が液体レンズに印加される場合にその形状、焦点距離および/または作動距離が変化する液体レンズである。いくつかの実施形態では、装置100は(例えば、1以上のプロセッサ202を介して)距離センサ104で取得された距離情報を使用して、画像に含まれるバーコードデータをデコードするために最適な焦点距離を有するように液体レンズ213に印加する最適な電流または電圧を決定する。
【0105】
いくつかの実施形態では、カメラ211は、カラーで画像をキャプチャするように構成されている。いくつかの実施形態では、カメラ211は白黒で画像をキャプチャするように構成されている。
【0106】
装置100はまた、1以上のプロセッサ(例えば、CPU)202、1以上の通信インターフェース204(例えば、ネットワークインターフェース)、メモリ206、および、これらのコンポーネント(チップセットと呼ばれることもある)を相互接続するための1以上の通信バスを含む。
【0107】
いくつかの実施形態では、装置100はラジオ220を含む。ラジオ220は、1以上の通信ネットワークを可能にし、装置100がコンピュータデバイス(例えば、
図4Aおよび
図4Bのコンピューティングデバイス300)またはサーバなどの他のデバイスと通信できるようにする。
いくつかの実装形態では、ラジオ220は、様々なカスタムまたは標準ワイヤレスプロトコル(例えば、IEEE802.15.4、Wi-Fi、ZigBee、6LoWPAN、Thread、Z-Wave、Bluetooth Smart、ISA100.5A、WirelessHART、MiWi、Ultrawide Band(UWB)、および/または、software defined radio(SDR))、カスタムまたは標準のワイヤードプロトコル(例えば、EthernetまたはHomePlug)、および/または、本願の出願日現在、未開発の通信プロトコルを含むその他の適切な通信プロトコルのいずれかを使用してデータ通信することができる。
【0108】
メモリ206は、DRAM、SRAM、DDR RAM、または、他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含む。いくつかの実施形態では、メモリは、1以上の磁気ディスクストレージデバイス、1以上の光ディスクストレージデバイス、1以上のフラッシュメモリデバイス、または、1以上の他の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含む。いくつかの実施形態では、メモリ206は、1以上のプロセッサ202から遠隔に位置する1以上のストレージデバイスを含む。メモリ206またはメモリ206内の不揮発性メモリは、非一時的なコンピュータ可読記憶媒体を含む。いくつかの実施形態では、メモリ206またはメモリ206の非一時的なコンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットまたはスーパーセットを記憶する。
・様々な基本的なシステムサービスを処理し、ハードウェアに依存するタスクを実行するための手順を含む、動作ロジック222。
・1以上の通信インターフェース204(例えば、有線または無線)を介して1以上の通信ネットワークに結合された他のネットワークデバイス(例えば、インターネット接続を提供するルータなどのローカルネットワーク、ネットワーク化されたストレージデバイス、ネットワークルーティングデバイス、サーバシステム、コンピューティングデバイス300、および/または、他の接続されたデバイス)に接続され通信する、通信モジュール224(例えば、ラジオ通信モジュール)。
・ラベル(例えば、バーコード)を含む画像を取得し、ラベルをデコードし、判定された目の状態(determined state of the eye)に従って、装置100の1以上のコンポーネントおよび/または他の接続されたデバイスを制御する、アプリケーション230。いくつかの実施形態では、アプリケーション230は下記の構成を備える。
・現在のリードサイクルに対する1以上の光源110および/または照明パターン234のシーケンスを(例えば、距離センサ104からの直接測定または間接測定などの距離測定に基づいて)選択し、展開する、照明モジュール232。いくつかの実施形態では、距離センサ104は、照明モジュール232によって監視される。ユーザーが現在のリードサイクルを開始すると、距離センサ104は、目標対象物の位置に対応する距離フィールド(例えば、ニアフィールド、ミディアムフィールドまたはファーフィールド)を識別する。照明モジュール232は、実行のために、距離フィールドに対応する照明シーケンスを選択する。前のリードサイクル(例えば、ニアフィールド照明シーケンスの第3照明パターン)で良好な読み取りが達成され、現在のリードサイクルが前のリードサイクルと同じ距離フィールドを有する場合、アプリケーション230は、照明シーケンスを開始する前に、最初から、先の良好な読み取りの値(例えば、ニアフィールド照明パターンの第3照明パターン、前の焦点位置、露光および/またはゲイン)を使用して、現在のリードサイクルを開始する。ここでの考え方は、ユーザーは通常、多くの同様の部分を読み取っており、最後のデコードから既知の良好な設定で開始すると、装置はより早く良好な読み取りを達成できるということである。前の設定で良好な読み取りが得られなかった場合、現在の距離フィールドの照明シーケンスが最初から開始され、キャプチャごとに各シーケンスが繰り返される。
・1以上の距離センサ104からの距離測定値に基づいて、現在のリードサイクル中にどの焦点距離のシーケンスを使用するかを決定する(例えば、選択する)、距離モジュール236。
・カメラ211によってキャプチャされた画像244からサンプルを抽出する、露光およびゲインモジュール238。いくつかの実施形態では、露光およびゲインモジュール238は、「明るさ」および/または「鮮明さ」についての所定の属性範囲内に収まらない画像を拒絶する(例えば、拒絶された画像は、画像取得および処理モジュール240によって処理されない)。いくつかの実施形態では、露光およびゲインモジュール238は、画像処理に最適な「明るさ」を提供するために、次回の画像キャプチャのための画像取得設定(露光およびゲインなど)を更新する。
・画像を取得および処理する、画像取得および処理モジュール240。
・バーコードに含まれるデータをデコードし、そのデータをコンピュータデバイス(例えば、
図4Aおよび4Bのコンピューティングデバイス300)に送信するためのデコーダ214。
・装置100のデータ242。以下を含むがこれらに限定されない。
・画像データ244(例えば、カメラデータ)。
・シンボロジーデータ246(例えば、バーコードなどのコードの種類)。
・装置100のデバイス設定248。例えば、デフォルトオプション、画像取得設定(例えば、露光およびゲイン設定)、および、好ましいユーザー設定。
・ユーザー設定250。例えば、好ましい湿度レベル、および/または、レンズ108(例えば、フォトクロミックレンズ)の好ましいシェード。
・距離センサ104および/または装置100に含まれ得る他のセンサから取得される(例えば、測定される)センサデータ252。
【0109】
いくつかの実施形態では、(例えば、カメラ211を使用して)画像がキャプチャされた後、装置100は(例えば、アプリケーション230を介して)取得された画像の品質を評価する。例えば、装置100は、画像のシャープネス値、平均ライト平均値、および/または、平均ダーク平均値を読み取り(例えば、判定し)、画像を適格とするか拒絶するかを判定する。結果が所定の目標値を満たさない、または、超えない場合、画像は拒絶され、別の画像が再キャプチャされる。結果が所定の目標値を満たすか超える場合、画像は処理される(例えば、画像取得および処理モジュール240によって)。
【0110】
一例として、いくつかの実施形態では、良質の画像は、100~170(0~255中)のライト平均スコアを有し、20~80(0~255中)のダーク平均スコアを有し、6000(0~約12,000中)を超えるシャープネススコアを有する画像サンプルである。
【0111】
いくつかの実施形態では、画像サンプリング(例えば、評価)中に収集されたデータがキャプチャされ、追加される(例えば、データ242として)。
【0112】
いくつかの実施形態では、画像を適格とした後、装置100は(例えば、アプリケーション230を介して)次の画像のために露光またはゲイン設定を(例えば、ライト平均補正パスまたはダーク平均補正パスを使用して)調整するかどうかを決定する。そうすることを決定した場合、装置100は、比較のための目標ライト平均値および目標ダーク平均値を収集し、比例積分(PI)コントローラ伝達関数を展開し、次の画像の理想的な露光を得るために露光に対する必要な変更をコンピュータで計算する。
【0113】
いくつかの実施形態では、画像のデコードが成功すると、露光値、ゲイン値およびフォーカス値がアプリケーション230にフィードバックされる。次のリードサイクルで、アプリケーション230は、これらのデコード設定が保留中であるか否かをチェックする。そうである場合、装置100は、次の設定構成を計算するのではなく、カメラ設定および任意の前の設定をロードしようと試みる。前のデコード設定が使用される場合、アプリケーション230はデータの画像からサンプルを抽出するが、フィードバックコントローラの値は調整しない。
【0114】
上記で特定された実行可能なモジュール、アプリケーションまたは手順のセットのそれぞれは、前述のメモリデバイスのうちの1以上に記憶され得、上記の機能を実行するための命令のセットに対応する。上記で特定されたモジュールまたはプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、手順またはモジュールとして実装される必要はなく、これらのモジュールの様々なサブセットは、様々な実装形態において組み合わせられ得るか、そうでなければ再配置され得る。いくつかの実装形態では、メモリ206は、上記で特定されたモジュールおよびデータ構造のサブセットを保存する。さらに、メモリ206は、上記で説明されていない追加のモジュールまたはデータ構造を保存することができる。いくつかの実施形態では、メモリ206に保存されたプログラム、モジュールおよび/またはデータのサブセットは、サーバシステムおよび/または外部デバイス(例えば、コンピューティングデバイス300)に保存され、および/または、サーバシステムおよび/または外部デバイスによって実行される。
【0115】
図4Aおよび4Bは、いくつかの実施形態に従ってコンピューティングデバイス300に表示されるグラフィカルユーザインタフェース302を示す。コンピューティングデバイス300は、装置100に通信可能に接続される。コンピューティングデバイス300は、タブレット、携帯電話、ラップトップ、ディスプレイアシスタントデバイス、または、表示画面を含む任意の電子デバイスであり得る。グラフィカルユーザインタフェース302は、コンピューティングデバイス300で実行されるアプリケーションプログラムの一部である。
図4Aは、いくつかの実施形態において、グラフィカルユーザインタフェース302が、装置100により取得された(例えば、デコードされた)バーコードの画像304(例えば、画像304-1~304-5)を表示することを示す。いくつかの実施形態では、画像304は、画像304を取得するために装置100によって使用される(例えば、有効化される)1以上の光源110のそれぞれのインディケーション306(例えば、インディケーション306-1~306-5)を含む。
図4Bは、いくつかの実施形態において、グラフィカルユーザインタフェース302が、リードサイクルを設定するために使用され、カメラ設定および照明設定などの設定を変更するために使用されることを示している。設定(例えば、ユーザ入力)は、装置100による実行のためにコンピューティングデバイス300から装置100に送られる。いくつかの実施形態では、装置100は、ファクトリーパラメータおよび構成設定がプリロードされる。ユーザーは、グラフィカルユーザインタフェース302を介して設定を変更できる。
【0116】
(目標距離に基づく個別の照明パターンシーケンス)
部品マーキングをデコードする課題の1つは、マーキングをうまく照明し、マーキングを含む画像を取得するために、非常に特殊なスキャナ設定(例えば、露光および/またはゲイン設定)を必要とすることである。最新のスキャニングデバイスは、特徴を近くで強調する助けとなる、異なる光源および/またはイルミネータを備える。ただし、異なる光源が設けられている場合でも、スキャニングデバイスは「接触時」読み取り(例えば、部品がスキャナのすぐ隣にある場合)でのみ良好に機能する傾向がある。これらの性能は、対象物およびデバイス間の距離が増加すると低下する。
【0117】
本開示のいくつかの態様は、装置と目標対象物との間の距離を判定するための1以上の距離センサ104を含むスキャニングデバイス100を提供することで、技術的問題に対する技術的解決を提供する。測定された距離に応じて、スキャニングデバイスは、自動的かつユーザーが介在することなしに、目標対象物までの特定の距離範囲用に設計されたそれぞれの照明パターンシーケンスを投影(例えば、有効化または選択)する。
【0118】
いくつかの実施形態では、照明パターンシーケンスは、所定の順序に従って配置された1以上の照明パターンを含む。いくつかの実施形態では、所定の順序は、成功した読み取りが得られる確率(例えば、減少する確率)に基づく。
【0119】
1つの使用シナリオでは、スキャニングデバイスは、デバイスと目標対象物との間の距離が「接触時」における読み取り(例えば、ニアフィールド)に対応すると判定すると、デバイスは、「離れた場所」での読み取り(例えば、ファーフィールド)用に設計された光源の使用を回避する(例えば、有効化しない)。デバイスは、成功した読み取りが得られる確率が最も高い照明パターンから始まる、照明パターンの「接触時」照明シーケンスを有効化する。これが画像データの成功した抽出につながらない場合、次に可能性の高い照明パターンが試行される。これは、照明パターンの「接触時」照明シーケンスのすべての照明パターンが試行される(例えば、確率の降順で)まで継続する。いくつかの実施形態では、「接触時」照明シーケンスを一度試みた後、スキャニングデバイスは同じ照明シーケンスを繰り返す。いくつかの実施形態では、照明シーケンスを一度試みた後、スキャニングデバイスは、デバイスと目標対象物との間の距離を(例えば、距離センサを使用して)測定し、測定された距離に対応する照明パターンシーケンスを選択する。
【0120】
いくつかの実施形態では、デバイスが、前のリードサイクルで良好な読み取りを取得し、現在のリードサイクルが前のリードサイクルと同じ距離フィールドを有すると判定する場合、デバイスは、良好な読み取りを取得するのに使用された照明パターンで開始する。一例として、「接触時」距離に対応する前のリードサイクルでは、デバイスは、照明パターンA、照明パターンBおよび照明パターンCの順の照明パターンを含む「接触時」照明シーケンスの照明パターンBを使用して、良好な読み取りを取得する。デバイスが現在のリードサイクルも「接触中」であると判定する場合、デバイスは照明パターンBで開始します。ここでの考え方は、ユーザーはおそらく多くの同様の部分を読み取っており、先回のデコードから既知の良好な設定で開始すると、装置はより早く良好な読み取りを達成できるということである。
【0121】
ターゲット距離に基づいて個別の照明パターンシーケンスを有効化することは、いくつかの利点を有する。第1に、特定の距離範囲に最適化された照明パターンシーケンスを自動的に選択することで、スキャニングデバイスは、より多くの「良好な読み取り」を生成でき、より高い生産性およびより大きなユーザー満足度につながる。第二に、前のリードサイクルで良好な読み取りを得るために使用された照明パターンから開始することにより、良好な読み取りを達成する可能性が高まる。これは、より高い生産性およびより大きなユーザー満足度にもつながる。第三に、照明パターンシーケンスが距離フィールドに対して予め決定されているため、ユーザーは現在の測定距離に対して最適化されていない照明パターンを選択することを避けることができる。これは、時間を節約し、ユーザーの満足度を改善する。
【0122】
図5は、いくつかの実施形態による装置100の距離フィールドおよび距離範囲を示す。
【0123】
いくつかの実施形態では、装置100は、複数の距離フィールドで動作するように構成される。距離フィールドは、それぞれの距離範囲(例えば、ワーキング距離範囲)に対応する。
図5は、いくつかの実施形態において、装置100が、ニアフィールド距離範囲292に対応するニアフィールドで動作するように構成されていることを示す。ニアフィールドの典型的な範囲は、0~10mm、0~20mmまたは0~25mmである。
【0124】
図5は、いくつかの実施形態において、装置100が、ミディアムフィールド距離範囲294に対応するミディアムフィールドで動作するように構成されていることを示す。ミディアムフィールドの典型的な範囲は、10mm~40mm、20mm~50mmまたは20mm~60mmである。
【0125】
図5はまた、いくつかの実施形態において、装置100が、ファーフィールド距離範囲296に対応するファーフィールドで動作するように構成されていることを示している。ファーフィールド距離の典型的な範囲は、50mm~300mm、>60mmまたは60mm~250mmである。
【0126】
いくつかの実施形態では、カメラ211は、距離フィールドに対応する1以上の所定の焦点位置を有する。例えば、いくつかの実施形態では、ニアフィールドは、0mm、5mm、10mm、15mmおよび/または20mmのカメラ焦点位置に対応する。いくつかの実施形態では、ミディアムフィールドは、40mm、50mmおよび/または距離センサによって測定された距離よりも15mm大きいカメラ焦点位置に対応する。
【0127】
図5は3つの距離フィールドを示しているが、装置100が、それぞれの距離範囲に対応する任意の数の距離フィールド(例えば、2、3、5または6)を含むことができることは当業者には明らかであろう。
【0128】
いくつかの実施形態では、距離フィールドおよびそれらに対応する距離範囲は、カメラの仕様および/またはユーザーの仕様に基づいて変更できる。
【0129】
本開示のいくつかの実施形態によれば、次の画像キャプチャのために画像キャプチャ設定が準備される場合、装置100は、距離センサ104を利用して、装置100と目標対象物との間の距離を測定する。いくつかの実施形態では、装置100は、測定された距離を複数の所定の距離フィールドおよび/または距離範囲と相関させ(例えば、マッピングまたは比較し)、測定された距離が対応する距離フィールドおよび/または距離範囲を識別する。
【0130】
いくつかの実施形態では、距離フィールド(例えば、距離範囲)は、それぞれの(例えば、固有または別個の)照明パターンシーケンス(例えば、照明パターン234)を有する。
【0131】
いくつかの実施形態では、「ニアフィールド」において、装置100は、例えば、以下の証明パターンを有するニアフィールド証明パターンシーケンスを実行する。(i)Dome(例えば、ドーム光源120)-レッド(色)、(ii)Dome-ブルー、(iii)Low Angle(Southのみ)(例えば、低角度サウス光源118-2)、(iv)Low Angle(NorthとSouthの両方)(例えば、低角度ノース光源118-1および低角度サウス光源118-2)、および、(v)Domeレッドと組み合わせたLow Angle(NorthとSouthの両方)(例えば、低角度ノース光源118-1、低角度サウス光源118-2および赤色のドーム光源)。
【0132】
いくつかの実施形態では、「ミディアムフィールド」において、装置100は、例えば、(i)Low Angle(Southのみ)、(ii)Low Angle(NorthとSouthの両方)、および、(iii)Long Rangeの照明パターンを有するミディアムフィールド照明パターンシーケンスを実行する。
【0133】
いくつかの実施形態では、「ファーフィールド」において、装置100は、照明パターン:Long rangeのみ(例えば、長距離光源116)を有するファーフィールド照明パターンシーケンスを実行する。
【0134】
いくつかの実施形態では、照明シーケンスにおける照明パターンの順序は、画像をデコードする可能性が最も高いものから最も可能性が低いものまで本質的にランク付けされる。
【0135】
いくつかの実施形態では、照明パターンについて、画像を取得するための平均時間は約35ミリ秒であり、画像を処理するための平均時間は約100ミリ秒である。従って、5つの照明パターンを有するニアフィールド照明パターンシーケンスを反復処理するための平均時間は約675ミリ秒である。
【0136】
いくつかの実施形態では、ドーム光源120および低角度光源118(例えば、低角度ノース光源118-1および低角度サウス光源118-2)は、(例えば、プロセッサ202によって)同時に有効化され、丸みを帯びた表面上にある可能性がある非常に大きなコードを読み取る。ドーム光源120および低角度光源118の組み合わせは、画像全体にわたってより均一な照明を生成し、成功した読み取りを得る可能性を高める。これは、ユーザーが、成功した読み取りを得ることができる照明フットプリント内でコードを完全に位置合わせする必要がなくなるため、よりよりユーザーの満足度につながる。
【0137】
(ターゲットの距離に基づいてシンボロジーまたはフレームレートが変化する)
本開示のいくつかの態様は、バーコードに含まれるデータを読み取り、デコードするために使用されるスキャニングデバイス(例えば、装置100)に向けられている。バーコードは、それぞれのシンボロジータイプ(例えば、バーコードタイプまたはバーコードシンボロジータイプ)に関連付けられる。シンボロジータイプの例は、Code39(リニアバーコード)、Code128(例えば、英字および数字の両方をサポート)、UPC(Universal Product Code)、DotCode(別名Dot-Peen)、Data Matrix、および、Direct Part Marking(DPM)/Automotiveを含む。自動車産業で使用されるDPMは、異なるサイズおよび表面の部品に、直接平削りされ、打ち抜かれ、または、エッチングされる傾向がある。
【0138】
装置100で有効にされる全てのシンボロジータイプは、有限量の処理時間を使用する(例えば、デコードに到達する前にプロセッサ202が識別および/または照合する必要があるデータの量を増やすことによって)。
【0139】
実際的に言えば、シンボロジータイプは、スキャニングデバイスと目標対象物との間の距離と相関させることができる。これは、ラベル内の画像の詳細および要素を解像(resolve)するカメラの能力が、スキャニングデバイスが動作できる目標対象物からの距離に物理的な制限を課すからである。この物理的な制限を超えると、通常はサイズが小さくなるシンボロジーを無効にすることが合理的である。例えば、面積が1平方センチメートル未満であり得るシンボロジータイプであるMicroQRコードは、通常、商品パレットの側面に印刷されるラベルシンボロジーとしては選択されないが、小型電子機器または電子部品には理想的であろう。従って、スキャニングデバイスが長距離(ロングレンジ)で動作している場合、MicroQRコードタイプは、無効にされ、コードリーダの全体的なパフォーマンスを向上させることができる(例えば、データ処理を削減し、無意味なコードタイプを回避することによって)。
【0140】
いくつかの実施形態によれば、スキャニングデバイス100は1以上の距離センサを含む。デバイスは、目標対象物とデバイスとの間の距離を測定し、測定された距離が(例えば、所定の)距離フィールドおよび/または距離範囲に対応することを判定する。デバイスは、複数の所定のシンボロジータイプ(例えば、シンボロジーデータ246)から、判定された距離フィールドおよび/または距離範囲に対応するシンボロジータイプのサブセットを(例えば、自動的かつユーザーの介在なしに)識別する。デバイスは対象物の画像を取得し、シンボロジータイプのサブセットを使用して画像をデコードする。
【0141】
いくつかの実施形態では、距離に基づいてシンボロジータイプを減らすことには、処理時間を低減するという利点があり、その結果、より高速でより高性能なデバイスがもたらされる。
【0142】
本開示のいくつかの態様によれば、スキャニングデバイス100は、デバイスと目標対象物との間の距離に基づいて画像取得速度(例えば、フレームレート)を変更するように構成される。いくつかの実施形態では、デバイスは、デバイスと目標対象物との間の距離が増加する場合(例えば、目標対象物がデバイスから遠ざかる場合)、画像取得速度を増加させる。いくつかの実施形態では、デバイスは、デバイスと目標対象物との間の距離が減少する場合(例えば、目標対象物が装置に接近する場合)、画像取得速度を減少させる。
【0143】
例えば、デバイスが長距離(例えば、100mm以上)で画像を取得する場合、シンボルが占める画像の領域は、より短い距離(たとえば、20mm以下)で取得された画像と比較して、通常小さい(例えば、50%未満)。シンボルサイズ、スキャンデバイスおよび目標対象物間の距離、および、読み取れるデータ量のバランスには制限がある。デバイスを目標対象物からさらに移動させる場合、ラベルの要素サイズが小さくなる。カメラは固定された解像度を有し、長距離ではラベルの要素サイズが小さくなるため、カメラが長距離でラベルの個々の要素を解像するのは困難な場合がある。この関係は、ユーザーを製品に非常に大きなラベルを印刷する際におけるデータ量の削減に導く。長距離で取得した画像から画像データを処理し抽出することは容易であるため、デバイスと目標対象物との間の距離が減少する場合、画像取得速度が増加する。
【0144】
対照的に、近距離読み取り中(例えば、ニアフィールド)、要素サイズは非常に大きくなる可能性がある。例えば、シンボルが画像フレームの90%以上を占める場合がある。従って、デバイスがラベルを近くで読み取る場合、カメラセンサがデンスコード(dense code)のより小さな要素を解像するのに十分な時間を確保できるように、画像取得速度が遅くなる可能性がある。
【0145】
(距離センサのデルタを使用してプレゼンテーションモードに入るときを決定する)
本開示のいくつかの態様は、デバイスと対象物との間の距離を測定するスキャニングデバイスに向けられている。デバイスは、測定された距離に基づいて、動作モード(例えば、連続読み取りモードまたはプレゼンテーションモード)を有効化または非有効化する。
【0146】
スキャニングデバイスは、連続キャプチャ/リードモードおよびプレゼンテーションモードで動作するように構成できる。連続キャプチャ/リードモードでは、デバイスは継続的に画像を取得して、画像内のデータラベルを探す(デバイスの近くに対象物および/またはバーコードがないかもしれない場合でも)。従って、連続キャプチャ/リードモードは多量の熱を生成し、不要な電力を消費する。ユーザーの視点から見ると、デバイスの画像キャプチャシステムからの光が常に点滅しており、ユーザーの目に不快感を与える可能性があるため、連続キャプチャ/リードモードは煩わしい場合がある。対照的に、プレゼンテーションモードでは、デバイスは、デバイスの視野において対象物を検出するまでアイドル状態になる。対象物が視野から離れた後、デバイスはアイドル状態に戻る。
【0147】
いくつかの実施形態によれば、スキャニングデバイス100は内部距離センサを含む。スキャニングデバイスは、距離センサを介して、デバイスの視野に対象物(例えば、パーツ、コンポーネント、または、部品マーキング)があるかどうかを判定する。例えば、いくつかの実施形態では、デバイスは(例えば、距離センサによって)ベースライン深度を測定する。ベースライン深度の測定に続いて、デバイスは(例えば、距離センサによって)第1深度を測定する。デバイスは、第1深度がベースライン深度と異なる場合(例えば、差が閾値差を超える)、対象物が視野内にあると判定する。デバイスは、判定に応答してリードサイクルを有効化する。いくつかの実施形態では、リードサイクルを有効化した後、デバイスは第2深度を測定する。デバイスは、第2深度がベースライン深度の閾値範囲内にあることを検出する。検出に応答して、デバイスはリードサイクルを非有効化する(例えば、デバイスは、対象物がデバイスのフィールドにないと判定する)。
【0148】
従って、本明細書に開示されるデバイスおよび/または方法は、デバイスおよびその動作を有利に改善する。具体的には、デバイスをアイドル状態に保ち、視野内に対象物がある場合にリードサイクルを有効化することで、デバイスがより少ない電力を使用し、過熱する傾向が少なくなる。また、ユーザーが画像キャプチャシステムからの継続的な点滅光に対処する必要がなくなるため、ユーザーエクスペリエンスが向上する。
【0149】
図6Aおよび6Bは、いくつかの実施形態による装置100の例示的な動作を示す。
【0150】
図6Aは、面402に面する(例えば、面402に向けられる)装置100を示す。装置100は、(例えば、実質的に)静止位置にある。例えば、装置100は、ユーザーによって保持されるか、または固定され得る(例えば、取り付けられ得る)(例えば、スタンドに搭載され得る)。面402は、テーブルトップなどの固定された表面であり得る。
図6Aは、装置100の視野に対象物がないことを示す。いくつかの実施形態では、装置100は「非読み取り状態」(例えば、プレゼンテーションモード)にある。要素404は、装置100と面402との間の距離(例えば、距離センサ104によって測定される)を表す。いくつかの実施形態では、距離404は、「リターントゥホーム」距離またはベースライン深度とも呼ばれる。
【0151】
図6Bは、装置100の視野内の対象物406を示す。いくつかの例では、対象物406は、ユーザーによる対象物406の移動により装置100の視野内に入る。いくつかの例では、対象物406は、装置100の移動により装置100の視野内に入る。
【0152】
いくつかの実施形態では、装置100は、距離センサ104を介して、装置100と対象物406との間の距離408を検出する。装置100は、測定された距離(例えば、距離404から距離408まで)に変化(例えば、減少)があることを判定する。
【0153】
いくつかの実施形態では、距離の変化は「立ち上がりエッジ(rising edge)が検出された」イベントを表す。対象物が現れる前の距離(例えば、距離404)は、「リターントゥホーム」距離またはベースライン深度として記録される。距離404または距離404の所定の閾値が(例えば、距離センサ104によって)再び検出されると、装置100は、対象物が視野から除去されたと判定し、読み取りを停止する。
【0154】
いくつかの実施形態では、測定された距離の変化に応答して、装置100はリードサイクルを有効化する(例えば、装置100は読み取り状態に入る)。装置100の視野に現れる対象物がラベルマーキングを有する場合、ラベルマーキングがデコードされる。「読み取り終了」タイマがリセットされ、ラベルマーキングを再度(たとえば、繰り返し)読み取ることができるようになる。
【0155】
いくつかの実施形態では、リードサイクルの終わりにコードが読み取られない(例えば、検出されない)場合、装置100は画像をキャプチャすることを停止し、非読み取り状態(例えば、プレゼンテーションモード)に戻る。これはまた、対象物が誤って装置の視野に置かれ、読み取り状態を無期限に引き起こす状況を回避する。
【0156】
いくつかの実施形態では、対象物406が装置100の視野にもはやない場合(例えば、対象物406または装置100のいずれかが移動された場合)、距離センサ104は、
図6Aで捕捉された距離404(例えば、または、距離404の閾値内の距離)を報告する。距離404(または距離404の閾値内の距離)が報告される場合、装置100は「非読み取り」状態(例えば、プレゼンテーションモード)に移行し、画像キャプチャおよび画像処理を停止する。いくつかの実施形態では、装置100の視野からの対象物406の除去は、非読み取り状態への「立ち下がりエッジ(falling edge)」状態遷移を引き起こす。
【0157】
いくつかの実施形態では、装置100は、ユーザーによって保持され、未だにプレゼンテーションモードから読み取り状態に移行できる場合がある。例えば、ユーザーは、装置100を保持し、装置100を対象物に近づけて、リードサイクルを有効化する「立ち上がりエッジ」または距離減少を引き起こすことができる。または、ユーザーは、装置100を保持し、対象物を装置100に近づけて、リードサイクルを有効化することができる。
【0158】
いくつかの実施形態では、「リターントゥホーム」距離404に適用される許容誤差(例えば、2%、3%、2mmまたは5mm)がある。例えば、「リターントゥホーム距離」が100mmであり、装置100が98mm以上を読み取る場合、これは装置の動作を停止するのに十分である場合がある。
【0159】
いくつかの実施形態では、装置100は、現在の距離(例えば、距離センサ104によって測定される)が、記録された「リターントゥホーム」距離の所定の近傍内(例えば、記録されたホーム距離の5mm以内)にある場合、リードサイクルを終了する。いくつかの実施形態では、装置100(例えば、1以上のプロセッサ202)は、「リターントゥホーム」距離を監視する場合、5mmを現在の距離に追加する。これは、報告された値を整数形式にする場合、距離センサは、2つの値の間で切り替えることができるためである。
【0160】
いくつかの実施形態では、装置100は、距離センサ104が「リターントゥホーム」よりも大きい距離、または、距離センサ104の限界よりも大きい距離を検出する場合、リードサイクルを終了する。
【0161】
いくつかの実施形態では、距離センサの代わりに(またはそれに加えて)、装置100は、「立ち上がりエッジ」または「立ち下がりエッジ」イベントを検出するための画像処理アルゴリズムを含む。例えば、装置は、表面402を含むベースライン画像を取得し、対象物408を含む画像を取得し、画像減算技術を使用して「立ち上がりエッジ」または「立ち下がりエッジ」イベントを検出することができる(例えば、画像からの表面402および対象物406間の距離を測定することによって)。
【0162】
いくつかの実施形態では、「立ち上がりエッジ」または「立ち下がりエッジ」イベントは、カメラ(例えば、カメラ211)の焦点の変化を介して検出され得る。例えば、装置100は、カメラのジオプター焦点の変化を介して対象物を検出できる。
【0163】
(フローチャート)
図7Aおよび7Bは、方法700のフローチャートを提供する。方法700は、プロセスとも呼ばれる。方法700は、1以上の距離センサ104、複数の光源110、1以上のプロセッサ202(例えば、プロセッサ回路)およびメモリ206を有する装置100(例えば、電子デバイスまたはスキャナ)によって実行される(例えば、装置100で実行される、または、装置100を使用して実行される)。メモリ206は、1以上のプロセッサ202によって実行されるように構成された1以上のプログラムを保存する。いくつかの実施形態では、
図1、2、3、4A、4B、5、6Aおよび6Bに示される動作は、メモリ206または他の非一時的なコンピュータ可読記憶媒体に保存された命令に対応する。コンピュータ可読記憶媒体は、磁気または光ディスクストレージデバイス、フラッシュメモリなどのソリッドステートストレージデバイス、または、1以上の他の不揮発性メモリデバイスを含み得る。コンピュータ可読記憶媒体に保存された命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、または、1以上のプロセッサによって解釈される他のインストラクションフォーマットのうちの1以上を含み得る。方法700の一部の操作を結合することができる、および/または、一部の操作の順序を変更することができる。
【0164】
いくつかの実施形態では、距離センサ104は、タイムオブフライト(TOF)センサ、超音波センサ、レーダーセンサ、または、LiDARセンサのうちの1つである。
【0165】
いくつかの実施形態では、複数の光源110は、長距離光源116、低角度光源118(例えば、暗視野光源)、および/または、ドーム光源120を含む。いくつかの実施形態では、光源は、照明の色および均一性などの1以上のそれぞれの照明特性を含む。いくつかの実施形態では、複数の光源は、1つの色(例えば、青または赤)を有するLEDである光源を含む。いくつかの実施形態では、複数の光源は、対象物を照明するために選択的に有効化され得る2以上の色(例えば、青および赤)を組み合わせるLEDである光源を含む。
【0166】
いくつかの実施形態では、光源のそれぞれは、米国特許第8,989,569号「コンビネーション暗視野および明視野イルミネータ」(その全体が参照により本明細書に組み込まれる)に記載されているように、内部光源または外部光源として分類され得る。’569特許で説明されているように、用語「内部」および「外部」は、それぞれの光源がイルミネータ内またはイルミネータ上に取り付けられる場所を指すのではなく、むしろ光源が光を発する一般的な方向を指す。「内部」光源は一般にリフレクタの内部に向かって光を発し、「外部」光源はリフレクタの内部に向かう以外の方向に光を発する。
【0167】
いくつかの実施形態では、複数の光源は、内向き光源(例えば、装置110の画像センサ212に向けられる)および外向き光源(例えば、画像センサから離れる方向に向けられる)を含む。
【0168】
いくつかの実施形態では、複数の光源は、第1色(例えば、赤、赤外、青または緑)を有する第1光源と、第1色とは異なる第2色を有する第2光源とを含む。
【0169】
いくつかの実施形態では、装置100は画像センサ212を含む。
【0170】
いくつかの実施形態では、装置100は、レンズを有するカメラ211を含む。カメラは、目標対象物の1以上の画像を取得するために使用される。いくつかの実施形態では、画像センサはカメラの一部である。
【0171】
図7Aを参照すると、装置100は、距離センサ104を介して、対象物(例えば、ラベル、バーコード、コード)と装置100(例えば、距離センサ)との間の距離を(例えば、直接的に)判定する(702)。いくつかの実施形態では、対象物は、ラベル、バーコード、コード、または、部品マーキングを含む部分(例えば、コンポーネント)である。いくつかの実施形態では、対象物は、任意の材料および/または面(例えば、反射する面、ダル肌面(dull surface)、滑らかな面、または粗い面)である。
【0172】
いくつかの実施形態では、装置100は、距離センサ104からの直接的な測定により、対象物と装置100との間の距離を判定する。
【0173】
いくつかの実施形態では、装置100は、間接的な測定により対象物と装置100との間の距離を判定する。例えば、装置100は、画像焦点ファインダ、アナログトゥデジタル変換(ADC)、および/または、デジタルトゥアナログ変換(DAC)などの距離測定技術を使用して、対象物と装置100との間の距離を判定することができる。
【0174】
対象物と装置との間の距離(例えば、間隔)が、複数の所定の距離範囲のうちの第1距離範囲内にある場合、装置100は、第1距離範囲に対応する(例えば、特有の)証明パターンの第1シーケンスを(自動的かつユーザーの介在なしに)有効化(例えば、使用、選択および展開)し、複数の光源を介して対象物を照明する。
【0175】
いくつかの実施形態では、照明パターンの第1シーケンスにおける照明パターンは、所定の順序を有する。
【0176】
いくつかの実施形態では、第1照明シーケンスは、複数の照明シーケンスのうちの1つである。複数の照明シーケンスの各照明シーケンスは、それぞれの距離範囲に対応する。
【0177】
いくつかの実施形態では、複数の距離範囲は、ニアフィールド距離範囲、ミディアムフィールド距離範囲、および、ファーフィールド距離範囲を含む(706)。例えば、いくつかの実施形態では、ニアフィールド距離範囲の対象物は、装置100から0mm~20mmに位置する。いくつかの実施形態では、ミディアムフィールド距離範囲の対象物は、装置100から約20mm~60mmに位置する。いくつかの実施形態では、ファーフィールド距離範囲の対象物は、装置100から60mmを超えて(例えば、60mm~250mmまたは60mm~300mm)位置する。
【0178】
いくつかの実施形態では、複数の距離範囲の各距離範囲は、照明パターンの固有のシーケンスに対応する(708)。
【0179】
例えば、いくつかの実施形態では、ニアフィールド距離範囲は、下記の照明パターンのシーケンスに対応する。(i)ドーム光源(赤)、(ii)ドーム光源(青)、(iii)低角度光源(サウスのみ)、(iv)低角度光源(ノースおよびサウスの両方)、および、(v)ドーム光源(赤)と組み合わせた低角度光源(ノースおよびサウスの両方)。いくつかの実施形態では、ミディアムフィールド距離範囲では、照明パターンのシーケンスは、(i)低角度(サウスのみ)、(ii)低角度(ノースおよびサウスの両方)、および、(iii)長距離である。いくつかの実施形態では、ファーフィールド距離範囲では、照明パターンのシーケンスは長距離のみである。
【0180】
いくつかの実施形態では、照明パターンの第1シーケンスは、複数の照明パターンを含む(710)。例えば、上述したように、ミディアムフィールド距離範囲に対応する照明パターンのシーケンスは、3つの照明パターン、(i)低角度(サウスのみ)、(ii)低角度(ノースおよびサウスの両方)、および、(iii)長距離を含む。
【0181】
いくつかの実施形態では、照明パターンの各照明パターンは、光源および/または照明特性(例えば、強度、均一性、強度および/または照明の角度)の別個の組み合わせを使用する(712)。例えば、上述したように、ニアフィールド距離範囲に対応する照明パターンのシーケンスは、5つの照明パターン(上記(i)~(v)の番号が付けられている)を含む。第1照明パターン(例えば、ドーム光源(赤))は、ドーム光源120および赤色光(例えば、赤色LED)を使用する。第2照明パターン(例えば、ドーム光源(青))は、ドーム光源120および青色光(例えば、青色LED)を使用する。
【0182】
いくつかの実施形態では、照明パターンの第1シーケンスは、外部光源(例えば、環境光源(ambient light source))を利用する照明パターンを含む。
【0183】
いくつかの実施形態では、光源の照明特性は、ユーザーによって調整され得る。例えば、ユーザーは光源の照明の強度および/または角度を変更できる。いくつかの実施形態では、照明特性/設定はシステムによって予め定められており、ユーザーによって変更され得ない。
【0184】
引き続き
図7Aを参照すると、いくつかの実施形態では、装置100は、各照明パターンが対象物の明るい部分と暗い部分との間にコントラストを作り出す(例えば、それぞれの照明パターンが、光を対象物から装置100の画像センサに反射させる)確率に基づいて、所定の順序に従って複数の照明パターンを有効化する(714)。
【0185】
いくつかの実施形態では、所定の順序は、確率の降順に基づく(716)。
【0186】
いくつかの実施形態では、装置100は、対象物の画像が画像センサによってキャプチャされるまで、判定および有効化のステップを繰り返す(718)。
【0187】
例えば、いくつかの実施形態では、対象物と装置100との間の距離が第1距離範囲内にある場合、装置100は、対象物の画像の取得に成功するまで、第1距離範囲に対応する照明パターンの第1シーケンスを何度も繰り返す。
【0188】
いくつかの実施形態では、装置100は、対象物と装置との間の距離を(例えば、時間t=0において)検出(例えば、判定)し、検出された距離範囲に対応する照明パターンを有効化するように構成される。1またはいくつか(例えば、3または5)の照明パターンサイクルの終わりに、装置100は、装置100と対象物との間の距離を再度チェックする。対象物と装置との間の距離が依然として前に判定された距離範囲内にあると装置が判定する場合、装置は、前に(そして現在)判定された距離範囲に対応する照明パターンのシーケンスを繰り返す。対象物と装置との間の距離が、前に判定されたものとは異なる距離範囲に対応すると装置が判定する場合、装置は、新たに判定された距離範囲に対応する別の照明パターンのシーケンスを有効化して、対象物を照明する。
【0189】
いくつかの実施形態では、装置のオペレータが(装置を移動させて対象物をスキャンしようとする代わりに)装置をホールドして対象物をスキャンするように訓練された後、距離センサ104は距離を1回検出し、第1距離範囲を得る。次いで、装置は、距離範囲に対応する照明パターンのシーケンスを(例えば、距離を再確立することなく)繰り返し有効化する。
【0190】
いくつかの実施形態では、装置100は、対象物の画像がキャプチャされる場合(例えば、対象物の画像が第1照明パターンを用いて対象物を照明することによりキャプチャされる場合)、複数の照明パターンのうちの第1照明パターンが有効化されると判定する(720)。装置のその後の動作中に、装置100は、第1照明パターンが最初に有効化されるように、照明パターンの第1シーケンスにおける複数の照明パターンを再順序付けする(722)。
【0191】
図8Aおよび8Bは、方法800のフローチャートを提供する。方法800は、1以上の距離センサ104、複数の光源110、1以上のプロセッサ202およびメモリ206を有する装置100により(例えば、装置100で、または、装置100を用いて)実行される。メモリ206は、1以上のプロセッサ202によって実行されるように構成された1以上のプログラムを保存する。いくつかの実施形態では、
図1、2、3、4A、4B、5、6Aおよび6Bに示される動作(オペレーション)は、メモリ206または他の非一時的なコンピュータ可読記憶媒体に記憶された命令に対応する。コンピュータ可読記憶媒体は、磁気または光ディスクストレージデバイス、フラッシュメモリなどのソリッドステートストレージデバイス、または、1以上の他の不揮発性メモリデバイスを含んでもよい。コンピュータ可読記憶媒体に記憶された命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、または、1以上のプロセッサによって解釈される他の命令フォーマットのうちの1以上を含んでもよい。方法800におけるいくつかの動作は結合されてもよい、および/または、いくつかの動作の順序を変更してもよい。
【0192】
装置100は、距離センサ104により、対象物(例えば、ラベル、バーコードまたはコード)と装置との間の距離を判定する(802)。
【0193】
対象物と装置100との間の距離(例えば、間隔)が、複数の所定の距離範囲のうちの第1距離範囲内にある場合、装置100は、第1距離範囲に対応する、複数の所定のシンボロジータイプからの1以上のシンボロジータイプのサブセット(例えば、バーコードタイプまたはバーコードシンボロジータイプ)を識別する(例えば、自動的かつユーザーの介在なしに判定する)(804)。
【0194】
いくつかの実施形態では、複数の距離範囲は、ニアフィールド距離範囲(例えば、0~20mm)、ミディアムフィールド距離範囲(例えば、20mm~60mm)、および、ファーフィールド距離範囲(例えば、>60mmまたは60mm~250mm)の2以上を含む。
【0195】
いくつかの実施形態では、複数のシンボロジータイプは装置100にローカルに保存される(808)。
【0196】
いくつかの実施形態では、複数のシンボロジータイプは、装置とは別のコンピュータデバイス(例えば、装置100に通信可能に結合される)に保存される(810)。
【0197】
いくつかの実施形態では、複数のシンボロジータイプは、線形(例えば、1次元)シンボロジーおよび2Dシンボロジー(例えば、QRコード)を含む(812)。
【0198】
いくつかの実施形態では、対象物と装置100との間の距離が第1距離範囲内にある場合、装置100は、第1距離範囲に対応する照明パターンの第1シーケンスを(例えば、自動的に、ユーザーの介入なしに)有効化し、複数の光源を介して対象物を証明する(814)。いくつかの実施形態では、照明パターンの第1シーケンスにおける照明パターンは、所定の順序を有する。照明パターンおよび照明パターンのシーケンスの詳細は、
図7Aおよび7Bを参照して説明されており、簡潔さのために繰り返さない。
【0199】
いくつかの実施形態では、装置100は、対象物の1以上の画像を取得する(816)(例えば、キャプチャする)。
【0200】
いくつかの実施形態では、装置100は、装置および対象物間の距離に基づいて、1以上の画像を取得するための画像取得速度(例えば、フレームレート)を調整する(例えば、変更する、判定する、または、所定の速度から選択する)(818)。
【0201】
いくつかの例では、装置100は、装置と対象物との間の距離が増加する場合、画像取得速度を増加させる(820)。
【0202】
例えば、いくつかの実施形態では、コードに含まれるデータがより少ないと予期されるので、画像取得速度がより長い距離で増加する(例えば、より速くなる)。いくつかの実施形態では、コードがより大きいサイズの要素を有し、それによって処理時間がより早くなるため、画像取得速度はより長い距離で増加する。
【0203】
いくつかの実施形態では、装置100は、装置と対象物との間の距離が減少する場合、画像取得速度を低下させる。例えば、フレームレートは、装置100の近くでラベルを読み取る間、イメージセンサが密なコードのより小さな要素を解像するため低下する(例えば、より遅くなる)。
【0204】
図8Bを続けて参照すると、装置100は、シンボロジータイプの識別されたサブセットに基づいて1以上の画像をデコードする(822)。例えば、装置100は、ラインの存在およびラインに対応する厚さなど、対象物の詳細、対象物内の要素または特徴を含む、対象物に関する情報を会場解像する。
【0205】
いくつかの実施形態では、複数のシンボロジータイプからシンボロジータイプのサブセットを識別することは、判定された距離に対して通常は使用されない複数のシンボロジータイプから1以上の他のシンボロジータイプを無効にする(例えば、テストしない)ことを含む。
【0206】
例えば、いくつかの状況では、長距離読み取り(ロングレンジリーディング)が必要なアプリケーションでは、特定のシンボロジーが見つからないことがある。一例として、MicroQRコードは、通常、商品パレットの側面に印刷されるラベルシンボロジーとしては選択されないが、小型の電子機器または電子部品には適している。従って、いくつかの実施形態では、装置と対象物との間の距離が長距離(例えば、ファーフィールドレンジ)である場合、装置100は、可能なシンボロジー候補のリストからMicroQRコードタイプを除外する。
【0207】
別の例として、非常に幅の広い(または非常に長い)コードを有するコードタイプに対して、装置100は、コード全体がイメージセンサ212の視野にフィットできるように、コードから十分に離れて配置される必要がある。従って、装置100が対象物の近くに(例えば、ニアフィールドレンジに)位置する場合、ロングコードまたはワイドコードに関連付けられたシンボロジータイプは、除外され得る。
【0208】
いくつかの実施形態では、シンボロジータイプの識別されたサブセットに基づいて1以上の画像をデコードすることは、1以上の画像から1以上の対象物の特徴を識別することを含む(824)。例えば、いくつかの実施形態では、対象物はバーコードであり、対象物の特徴は、バーコードのバーの幅、バーコードのバー間のスペースの幅、バーコードの長さ、バーコードの幅、および/または、バーコードの長さと幅の間の比率が含まれる。
【0209】
いくつかの実施形態では、デコードすることは、対象物の特徴をシンボロジータイプのサブセットにおけるシンボロジータイプのそれぞれの特徴と比較すること(826)、その比較に従って、対象物がシンボロジータイプのサブセットにおける第1シンボロジータイプに対応することを判定すること(828)、および、第1シンボロジータイプに基づいて1以上の対象物の特徴をデコードすること(830)を含む。
【0210】
図9Aおよび9Bは、方法900のフローチャートを提供する。方法900は、1以上の距離センサ104、画像センサ212、1以上のプロセッサ202、および、メモリ206を有する装置100によって(例えば、装置100で、または、装置100を用いて)実行される。メモリ206は、1以上のプロセッサ202によってように構成された1以上のプログラムを保存する。いくつかの実施形態では、
図1、2、3、4A、4B、5、6Aおよび6Bに示される動作は、メモリ206または他の非一時的なコンピュータ可読記憶媒体に記憶された命令(インストラクション)に対応する。コンピュータ可読記憶媒体は、磁気または光ディスクストレージデバイス、フラッシュメモリなどのソリッドステートストレージデバイス、または、他の不揮発性メモリデバイスを含み得る。コンピュータ可読記憶媒体に記憶された命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、または、1以上のプロセッサによって解釈される他のインストラクションフォーマットの1以上を含み得る。方法900のいくつかの動作は結合されてもよい、および/または、いくつかの動作の順序は変更されてもよい。
【0211】
いくつかの実施形態では、距離センサ104は、タイムオブフライトセンサ、超音波センサ、赤外線(IR)センサ、レーダーセンサ、または、LiDARセンサの1つである。
【0212】
いくつかの実施形態では、装置100はスタンドに取り付けられる(901)。いくつかの実施形態では、装置100はラベルスキャニングステーションの一部である。
【0213】
装置100は、(例えば、距離センサを使用して)ベースライン深度を測定(例えば、取得)する(902)。いくつかの実施形態では、ベースライン深度は、「距離」または「リターントゥホーム」距離とも呼ばれる。例えば、ベースライン深度は、100mm、150mm、220mm、または、250mmの場合がある。
【0214】
ベースライン深度の測定に続いて、装置100は(例えば、距離センサ104を使用して)第1深度を測定する(904)。
【0215】
装置100は、第1深度がベースライン深度と異なると判定する(906)。
【0216】
いくつかの実施形態では、第1深度はベースライン深度よりも小さい(907)(例えば、ベースライン深度は100mmであり、第1深度は20mmである)。いくつかの実施形態では、報告される距離の減少は、「立ち上がりエッジが検出された(rising edge detected)」イベントを表す。
【0217】
判定に応答して、装置100はリードサイクルを有効化する(908)。
【0218】
いくつかの実施形態では、リードサイクルが有効化されている間、装置100は画像センサを使用して画像をキャプチャする(910)。例えば、装置100は、画像センサ212を含むカメラ211を使用して、画像センサの視野内にある対象物の画像をキャプチャする。
【0219】
いくつかの実施形態では、キャプチャされた画像は、バーコード(例えば、ラベルまたは部分マーキング)を有する画像を含む(912)。
【0220】
いくつかの実施形態では、リードサイクルにおいて、装置100は画像をキャプチャし、画像の品質を評価する。画質に応じて、装置は画像を処理(たとえば、デコード)するか、または、別の画像をリキャプチャ(recapture)する。
【0221】
いくつかの実施形態では、方法900は、バーコードをデコードすることをさらに含む(914)。
【0222】
いくつかの実施形態では、装置100は、(例えば、距離センサ104からの信号に従って)ベースライン深度から第1深度までの変化率を判定する(916)。リードサイクルを有効化することは、さらに、変化率が最小変化率を超える(または、少なくとも最小変化率に等しい)(例えば、10mm/秒以上)という判定に従う。
【0223】
いくつかの実施形態では、装置100は、ベースライン深度から第1深度までの変化率を判定する。リードサイクルを有効化することは、さらに、ベースライン深度から第1深度までの変化率が閾値範囲(例えば、20mm/秒および100mm/秒の間)内(例えば、閾値範囲の間)にあるという判定に従う。
【0224】
いくつかの実施形態では、変化率は、所定の期間にわたって(例えば、装置100によって)判定される(918)。例えば、いくつかの実施形態では、距離センサ104は、所定の時間間隔(例えば、30ミリ秒ごとまたは50ミリ秒ごと)で距離を測定するように構成される。所定の時間間隔にわたる変化率が小さい場合(例えば、ユーザーが対象物を装置に非常にゆっくりと移動させる場合)、リードサイクルは開始されない。一方、所定の時間間隔にわたる変化率が大きすぎる場合、ユーザーが誤って装置が取り付けられたテーブルを叩いてしまったなど、他の理由に起因するかもしれない。
【0225】
図9Bを続けて参照すると、いくつかの実施形態では、リードサイクルを有効化することに続いて、装置100は第2深度を測定する(920)。
【0226】
装置100は、第2深度がベースライン深度の閾値範囲内にあることを検出する(924)。
【0227】
いくつかの実施形態では、閾値範囲は、ベースライン深度に関するパーセンテージ範囲(例えば、±2%、±3%、±5%、または、±8%)に基づく間隔を含む(926)。
【0228】
いくつかの実施形態では、閾値範囲は、ベースライン深度まわりの絶対範囲(例えば、±2mmまたは±5mm)に基づく間隔を含む(928)。
【0229】
いくつかの実施形態では、閾値範囲は有限の下限を有し、上限は無い(930)。例えば、閾値範囲は片側(one-sided)であってもよい(例えば、片側範囲を有する)(例えば、95mm以上、または99mm以上)。
【0230】
検出に応答して、装置100は読み取りリードサイクルを非有効化する(930)。
【0231】
いくつかの実施形態では、リードサイクルを非有効化することは、画像センサを非有効化すること(932)を含む。
【0232】
いくつかの実施形態では、リードサイクルは、所定の時間量または所定のサイクル数(例えば、1、3または10)を有することができる。
【0233】
いくつかの実施形態では、リードサイクルは、カメラが評価および/または処理のために画像を連続的にキャプチャする連続リードサイクル(例えば、連続モード)を含む。
【0234】
いくつかの実施形態では、リードサイクルは、装置が1つの画像を取得し、画像を評価し、評価に基づいて画像を処理するかまたは無視するかを判定する、ワンタイムループ(one-time loop)を備える。
【0235】
上記で特定された実行可能なモジュール、アプリケーションまたは手順のセットのそれぞれは、前述のメモリデバイスの1以上に保存され得、上記の機能を実行するための命令のセットに対応する。上記で特定されたモジュールまたはプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、手順、または、モジュールとして実装される必要はなく、従って、これらのモジュールの様々なサブセットは、様々な実装において結合されるか、そうでなければ再配置され得る。いくつかの実装形態では、メモリ206は、上記で特定されたモジュールおよびデータ構造のサブセットを保存する。さらに、メモリ206は、上記で説明されていない追加のモジュールまたはデータ構造を保存してもよい。
【0236】
本明細書の本発明の説明で使用される用語は、特定の実装を説明することのみを目的としており、本発明を限定することを意図したものではない。本発明の説明および添付の特許請求の範囲で使用される単数形「a」、「an」、および「the」は、文脈上明確な別段の指示がある場合を除いて、複数形も含むものとする。また、本明細書で使用される「および/または」という用語は、関連する列挙された項目の1以上のあらゆる可能な組み合わせを指し、包含することも理解されよう。さらに、「comprises」および「comprising」(備える)という用語は、本明細書で使用される場合、記載された特徴、ステップ、動作、要素、および/または、コンポーネントの存在を特定するが、他の特徴、ステップ、動作、要素、コンポーネント、および/または、それらのグループの1以上の存在または追加を排除するものではないことも理解されるであろう。
【0237】
本明細書で使用される場合、「に基づいて(based on)」という語句は、特に明記されていない限り、「のみに基づいて」という意味ではない。言い換えれば、「に基づいて」という語句は、「にのみ基づいて(based only on 」および「少なくともに基づいて(based at least on)」の両方を表す。
【0238】
本明細書で使用される「例示的な」という用語は、「イグザンプル(example)、インスタンス(instance)、または、イラストレーション(illustration)として機能する」ことを意味し、他の構成または実装に対するこの例の優先または優位性を必ずしも示すものではない。
【0239】
本明細書で使用される場合、用語「および/または」は、列挙された要素の任意の組み合わせを包含する。例えば、「A、B、および/または、C」には、次の要素のセットが含まれる。Aのみ、Bのみ、Cのみ、Cを含まないAおよびB、Bを含まないAおよびC、Aを含まないBおよびC、および、A、BおよびCの3つの要素全ての組み合わせ。
【0240】
上記の説明は、説明の目的で、特定の実装を参照して説明された。しかし、上記の例示的な議論は、完全なものであること、または、本発明を開示された正確な形態に限定することを意図したものではない。上記の教示を考慮して、多くの修正および変形が可能である。これらの実施形態は、本発明の原理とその実際の応用を最もよく説明するために選択され、説明されており、それによって他の当業者が本発明と、企図される特定の用途に適した様々な修正を加えた様々な実装とを最大限に利用できるようにする。