(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024159530
(43)【公開日】2024-11-08
(54)【発明の名称】読取システム
(51)【国際特許分類】
G06K 7/015 20060101AFI20241031BHJP
G06K 7/14 20060101ALI20241031BHJP
H04N 23/695 20230101ALI20241031BHJP
H04N 23/69 20230101ALI20241031BHJP
H04N 23/63 20230101ALI20241031BHJP
G06K 7/10 20060101ALI20241031BHJP
【FI】
G06K7/015
G06K7/14 060
H04N23/695
H04N23/69
H04N23/63 100
G06K7/10 408
G06K7/14 017
【審査請求】有
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2024047658
(22)【出願日】2024-03-25
(31)【優先権主張番号】P 2023072164
(32)【優先日】2023-04-26
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】390033318
【氏名又は名称】日本圧着端子製造株式会社
(74)【代理人】
【識別番号】100092956
【弁理士】
【氏名又は名称】古谷 栄男
(74)【代理人】
【識別番号】100101018
【弁理士】
【氏名又は名称】松下 正
(72)【発明者】
【氏名】高木 義一
(72)【発明者】
【氏名】和田 明生
(72)【発明者】
【氏名】丸山 舞
(72)【発明者】
【氏名】三宅 良尚
【テーマコード(参考)】
5C122
【Fターム(参考)】
5C122EA06
5C122EA42
5C122EA55
5C122EA66
5C122FA16
5C122FE02
5C122FH11
5C122FH14
5C122FK37
5C122FK38
5C122FK40
5C122FL03
5C122GD06
5C122HA13
5C122HA35
5C122HA75
5C122HA82
5C122HB01
5C122HB05
5C122HB09
(57)【要約】 (修正有)
【課題】棚卸し処理や在庫処理に用いられる効率の良い読取システムを提供する。
【解決手段】読取システムにおいて、制御装置6は、第1画像取得処理8において、この第1画像を取得する。操作者は、この第1画像に映し出された複数の読出符号M1~Mnから一つを選択する。たとえば、読出符号M1を選択した場合、読取符号選択処理10は、操作者が選択した読出符号M1を特定する。方向制御処理12は、駆動機構4を制御し、選択した読出符号M1の方向をカメラ2が撮像するように、カメラ2の向きを変化させる。第2画像取得処理14は、読出符号M1の方向を向いたカメラ2の撮像倍率を上げ、読出符号M1を復号するために十分な精度の第2画像を取得する。復号処理16は、第2画像に基づいて読出符号M1を復号する。以上のようにして、読出符号M1が復号される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
駆動機構によって撮像方向を変更できるカメラと、
カメラおよび駆動機構を制御する制御装置と、
を備えた読取システムであって、
前記制御装置は、
読取符号の付された複数の対象物を撮像したカメラから、第1撮像画像を取得し、
取得した第1撮像画像において読取符号が選択されると、前記カメラの撮像方向が当該読取符号の方向となるように前記駆動機構を制御し、
前記読取符号に向いたカメラの撮像倍率を上げて撮像した、第2撮像画像を取得し、
前記第2撮像画像に基づいて、前記読取符号を復号化することを特徴とする読取システム。
【請求項2】
少なくとも一つのプロセッサと、
当該少なくとも一つのプロセッサによって実行されるように構成された少なくとも一つの制御プログラムを記録するメモリと、
を備えた制御装置であって、
前記少なくとも一つの制御プログラムは、
読取符号の付された複数の対象物を撮像したカメラから、第1撮像画像を取得し、
取得した第1撮像画像において読取符号が選択されると、前記カメラの撮像方向が当該読取符号の方向となるようにカメラの撮像方向を変える駆動機構を制御し、
前記読取符号に向いたカメラの撮像倍率を上げて撮像した、第2撮像画像を取得し、
前記第2撮像画像に基づいて、前記読取符号を復号化するための命令を備える制御装置。
【請求項3】
少なくとも一つのプロセッサによって実行されるように構成された少なくとも一つの制御プログラムであって、
読取符号の付された複数の対象物を撮像したカメラから、第1撮像画像を取得し、
取得した第1撮像画像において読取符号が選択されると、前記カメラの撮像方向が当該読取符号の方向となるようにカメラの撮像方向を変える駆動機構を制御し、
前記読取符号に向いたカメラの撮像倍率を上げて撮像した、第2撮像画像を取得し、
前記第2撮像画像に基づいて、前記読取符号を復号化するための命令を備える制御プログラム。
【請求項4】
請求項1のシステム、請求項2の装置または請求項3のプログラムにおいて、
前記カメラの撮像方向を変える制御は、前記カメラと対象物との距離を計測する計測器による計測距離と、前記選択された読取符号の前記第1撮像画像上における位置とに基づいて行われることを特徴とするシステム、装置またはプログラム。
【請求項5】
請求項1のシステム、請求項2の装置または請求項3のプログラムにおいて、
前記制御装置は、
前記駆動機構によってカメラの撮像方向を変更し、少なくとも2つの方向において、前記カメラと対象物との距離を計測する計測器によって距離を計測し、
当該少なくとも2つの方向における計測距離に基づいて、前記カメラの撮像方向が前記対象物の撮像面の法線に近づくように前記駆動機構を制御するシステム、装置またはプログラム。
【請求項6】
請求項1のシステム、請求項2の装置または請求項3のプログラムにおいて、
前記第1撮像画像における読取符号の選択は、前記第1撮像画像を表示したディスプレイ上において、操作者によってなされることを特徴とするシステム、装置またはプログラム。
【請求項7】
請求項6のシステム、装置またはプログラムにおいて、
前記ディスプレイは、タッチパネルディスプレイであり、
前記タッチパネルディスプレイに表示された読取符号を操作者が操作することで選択することを特徴とするシステム、装置またはプログラム。
【請求項8】
請求項7のシステム、装置またはプログラムにおいて、
前記読取の選択は、前記第1撮像画面を拡大した状態にて行われることを特徴とするシステム、装置またはプログラム。
【請求項9】
請求項1のシステム、請求項2の装置または請求項3のプログラムにおいて、
前記第1撮像画像における読取符号の選択は、制御装置が、前記第1撮像画像中から読取符号を抽出することで行われることを特徴とするシステム、装置またはプログラム。
【請求項10】
請求項1のシステム、請求項2の装置または請求項3のプログラムにおいて、
前記制御装置は、前記第1撮像画像において、既に復号化した読取符号について、まだ復号化を行っていない読取符号と区別可能なように表示することを特徴とするシステム、装置またはプログラム。
【請求項11】
請求項1のシステム、請求項2の装置または請求項3のプログラムにおいて、
前記制御装置は、前記第1撮像画像において、対象物の特徴点を抽出し、既に撮像して記録した対象物の特徴点と比較し、既に撮像した対象物であることを表示することを特徴とするシステム、装置またはプログラム。
【請求項12】
請求項1のシステム、請求項2の装置または請求項3のプログラムにおいて、
前記制御装置は、前記読取符号を復号化して得た情報を、予め記録された基本情報と照合し、不一致を生じた場合には、当該読取り符号を含む撮像画像を表示することを特徴とするシステム、装置またはプログラム。
【請求項13】
請求項1のシステム、請求項2の装置または請求項3のプログラムにおいて、
前記駆動機構には、初期状態において設定した方向を維持するためのジンバルを備えていることを特徴とするシステム、装置またはプログラム。
【請求項14】
請求項1のシステム、請求項2の装置または請求項3のプログラムにおいて、
前記カメラおよび制御装置は、移動体に搭載されていることを特徴とするシステム、装置またはプログラム。
【請求項15】
カメラと、
当該カメラを制御する制御装置と、
を備えた読取システムであって、
前記制御装置は、
読取符号の付された複数の対象物を撮像したカメラから、撮像画像を取得し、
前記読取符号を復号化し、
前記撮像画像において、既に復号化した読取符号について、まだ復号化を行っていない読取符号と区別可能なように表示することを特徴とする読取システム。
【請求項16】
少なくとも一つのプロセッサと、
当該少なくとも一つのプロセッサによって実行されるように構成された少なくとも一つの制御プログラムを記録するメモリと、
を備えた制御装置であって、
前記少なくとも一つの制御プログラムは、
読取符号の付された複数の対象物を撮像したカメラから、撮像画像を取得し、
前記読取符号を復号化し、
前記撮像画像において、既に復号化した読取符号について、まだ復号化を行っていない読取符号と区別可能なように表示することを特徴とする制御装置。
【請求項17】
少なくとも一つのプロセッサによって実行されるように構成された少なくとも一つの制御プログラムであって、
前記少なくとも一つの制御プログラムは、
読取符号の付された複数の対象物を撮像したカメラから、撮像画像を取得し、
前記読取符号を復号化し、
前記撮像画像において、既に復号化した読取符号について、まだ復号化を行っていない読取符号と区別可能なように表示することを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、製品・部品に付された符号化コード等を読み取る読取システムに関するものである。
【背景技術】
【0002】
製品・部品の棚卸しの際などに、製品・部品に付されたバーコートやQRコード(商標)を読み取って復号化し、製品・部品を特定することが行われている。これにより、製品・部品などの棚卸しを効率よく進めることができるが、製品・部品の数が多くなると、作業が繁雑になっていた。
【0003】
これを解決するため、特許文献1には、2つのバーコードを一度に撮像して、同時に復号化するシステムが開示されている。このシステムによれば、処理時間を短縮して、効率よく読取処理を行うことができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許公開2021/312150号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1のような従来技術では、製品・部品などの対象物が多数積まれているような場合には、バーコード読み取り可能な場所まで近づいて読みとりを行い、順次、2つのバーコードを読み取っていくことで処理を行うことになる。このため、処理が煩雑であるという問題があった。
【0006】
また、読み飛ばしや、重複した読取りを生じる可能性もあった。
【0007】
この発明は、上記のいずれかの問題点を解決して、効率の良い読取システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
この発明の独立して適用可能な特徴を以下に列挙する。
【0009】
(1)(2)(3)この発明に係る読取システムは、駆動機構によって撮像方向を変更できるカメラと、カメラおよび駆動機構を制御する制御装置とを備えた読取システムであって、前記制御装置は、読取符号の付された複数の対象物を撮像したカメラから、第1撮像画像を取得し、取得した第1撮像画像において読取符号が選択されると、前記カメラの撮像方向が当該読取符号の方向となるように前記駆動機構を制御し、前記読取符号に向いたカメラの撮像倍率を上げて撮像した、第2撮像画像を取得し、前記第2撮像画像に基づいて、前記読取符号を復号化することを特徴としている。
【0010】
したがって、読取り符号を順次、正確に読み取ることができる。
【0011】
(4)この発明に係る読取システムにおいては、カメラの撮像方向を変える制御は、前記カメラと対象物との距離を計測する計測器による計測距離と、前記選択された読取符号の前記第1撮像画像上における位置とに基づいて行われることを特徴としている。
【0012】
したがって、精度よく選択された読取符号に向けてカメラの撮像方向を変えることができる。
【0013】
(5)この発明に係る読取りシステムにおいては、制御装置が、前記駆動機構によってカメラの撮像方向を変更し、少なくとも2つの方向において、前記カメラと対象物との距離を計測する計測器によって距離を計測し、当該少なくとも2つの方向における計測距離に基づいて、前記カメラの撮像方向が前記対象物の撮像面の法線に近づくように前記駆動機構を制御することを特徴としている。
【0014】
したがって、より精度良く、カメラの撮像方向を制御することができる。
【0015】
(6)この発明に係る読取りシステムにおいては、第1撮像画像における読取符号の選択は、前記第1撮像画像を表示したディスプレイ上において、操作者によってなされることを特徴としている。
【0016】
したがって、操作者が確認しながら読取符号を選択することができる。
【0017】
(7)この発明に係る読取システムにおいては、ディスプレイは、タッチパネルディスプレイであり、タッチパネルディスプレイに表示された読取符号を操作者が操作することで選択することを特徴としている。
【0018】
したがって、操作者による読取符号の選択が容易である。
【0019】
(8)この発明に係る読取りシステムにおいては、読取の選択は、前記第1撮像画面を拡大した状態にて行われることを特徴としている。
【0020】
したがって、選択が容易である。
【0021】
(9)この発明に係る読取システムにおいては、第1撮像画像における読取符号の選択は、制御装置が、前記第1撮像画像中から読取符号を抽出することで行われることを特徴としている。
【0022】
したがって、操作者が選択しなくとも自動的に読取符号を選択することができる。
【0023】
(10)この発明に係る読取システムにおいては、制御装置は、前記第1撮像画像において、既に復号化した読取符号について、まだ復号化を行っていない読取符号と区別可能なように表示することを特徴としている。
【0024】
したがって、復号化の処理済みか否かを容易に判別することができる。
【0025】
(11)この発明に係る読取りシステムにおいては、制御装置が、前記第1撮像画像において、対象物の特徴点を抽出し、既に撮像して記録した対象物の特徴点と比較し、既に撮像した対象物であることを表示することを特徴としている。
【0026】
したがって、既に処理済みの対象物であるか否かを容易に判断することができる。
【0027】
(12)この発明に係る読取りシステムにおいては、制御装置が、前記読取符号を復号化して得た情報を、予め記録された基本情報と照合し、不一致を生じた場合には、当該読取り符号を含む撮像画像を表示することを特徴としている。
【0028】
したがって、不一致の生じた読取符号を容易に把握することができる。
【0029】
(13)この発明に係る読取システムにおいては、駆動機構には、初期状態において設定した方向を維持するためのジンバルを備えていることを特徴としている。
【0030】
したがって、カメラの支持が不安定であっても、精度よく読み取りを行うことができる。
【0031】
(14)この発明に係る読取システムは、カメラおよび制御装置が、移動体に搭載されていることを特徴としている。
【0032】
したがって、移動体の移動可能な場所であれば読取りを行うことができる。
【0033】
(15)(16)(17)この発明に係る読取システムは、カメラと、当該カメラを制御する制御装置とを備えた読取システムであって、前記制御装置は、読取符号の付された複数の対象物を撮像したカメラから、撮像画像を取得し、前記読取符号を復号化し、前記撮像画像において、既に復号化した読取符号について、まだ復号化を行っていない読取符号と区別可能なように表示することを特徴としている。
【0034】
したがって、復号化の処理済みか否かを容易に判別することができる。
【0035】
「装置」とは、1台のコンピュータによって構成されるものだけでなく、ネットワークなどを介して接続された複数のコンピュータによって構成されるものも含む概念である。したがって、本発明の手段(あるいは手段の一部でもよい)が複数のコンピュータに分散されている場合、これら複数のコンピュータが装置に該当する。
【0036】
「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム、オペレーティングシステムと協働してその機能を発揮するプログラム等を含む概念である。
【図面の簡単な説明】
【0037】
【
図1】この発明の一実施形態による読取システムの全体構成である。
【
図4】スマートフォン20のハードウエア構成である。
【
図5】ロボットアーム24のハードウエア構成である。
【
図6a】読取プログラム(制御プログラム)48のフローチャートである。
【
図6b】他の例による読取プログラム(制御プログラム)48のフローチャートである。
【
図9】二次元バーコードMの印刷されたラベルLの例である。
【
図10】対象物B2とスマートフォン20との距離を示す図である。
【
図11】選択された二次元バーコードM2の全体画像中における位置を示す図である。
【
図12】スマートフォン20の向きの算出を説明するための図である。
【
図13】スマートフォン20の向きを変えたときの画像である。
【
図14】ズームを行った際の画像(第2撮像画像)である。
【
図17】支持棒23によってスマートフォン20を支持する他の例である。
【
図18】カメラの撮像方向と対象物表面の法線方向との関係を示す図である。
【
図19a】カメラの撮像方向を法線方向に合致させるための処理フローチャートである。
【
図19b】カメラの撮像方向を法線方向に合致させるための処理フローチャートである。
【
図19c】カメラの撮像方向を法線方向に合致させるための処理フローチャートである。
【
図20】カメラの撮像方向と対象物表面の法線方向との関係を示す図である。
【
図21】第二の実施形態による読取システムの全体構成である。
【
図22】読取プログラム48のフローチャートである。
【
図23】終了マーク96の付された全体画像を示す図である。
【発明を実施するための形態】
【0038】
1.第1の実施形態
1.1機能的構成
図1に、この発明の一実施形態による読取システムの機能的構成を示す。n個の対象物には、それぞれQRコード(商標)などの読取符号M1、M2、M3・・・Mnが付されている。カメラ2は、これら全ての読取符号M1、M2、M3・・・Mnを撮像し、第1画像を出力する。
【0039】
制御装置6は、第1画像取得処理8において、この第1画像を取得する。操作者は、この第1画像に映し出された複数の読出符号から一つを選択する。たとえば、読出符号M1が選択されたものとする。読取符号選択処理10においては、操作者によって選択された読出符号M1を特定する。
【0040】
方向制御処理12においては、駆動機構4を制御し、選択された読出符号M1の方向にカメラ2が撮像をするように、カメラ2の向きを変化させる。
【0041】
第2画像取得処理14においては、読出符号M1の方向を向いたカメラ2をズーミングし、読出符号M1を復号するために十分な精度の第2画像を取得する。復号処理16においては、第2画像に基づいて読出符号M1を復号する。
【0042】
以上のようにして、読出符号M1が復号され、棚卸し処理や在庫処理に用いられる。
【0043】
続いて、操作者が第1画像から読取符号M2を選択すると、制御装置6は、上記と同様にして、カメラ2を読取符号M2に向け、読取符号M2の第2画像を取得して、復号化する。
【0044】
以後、同様にして、第1画像に映し出された全ての読取符号が順次、復号化されることになる。
【0045】
以上のように、この実施形態によれば、第1画像に映し出された読出符号を操作者が順次選択するだけで、読み取りと復号化が行われるので、作業が簡素化され間違いが少なく効率的である。
【0046】
1.2外観およびシステム構成
図2に、この発明の一実施形態による読取システムの外観を示す。パレット26の上には、商品を収納した箱B1、B2・・・が積み上げられている。各箱には、収納されている商品の情報(商品コード、個数など)を示す二次元バーコード(QRコード(商標))が付けられている。
【0047】
積み上げられた箱B1、B2・・・から所定距離離れた位置に、スマートフォン20がセットされている。スマートフォン20のカメラによって箱B1、B2・・・全体が撮像可能となる位置にセッティングされている。箱B1、B2・・・と向き合う面とは反対側の面に、スマートフォン20のタッチディスプレイが位置するように配置されている。
【0048】
スマートフォン20は、三脚22の上に、駆動機構4であるロボットアーム24を介して固定されている。この実施形態では、スマートフォン20が、カメラ2および制御装置6を構成している。
【0049】
図3に、ロボットアーム24の機構を示す。把持片25とスライド片27によって把持部が構成されている。スライド片27は、A方向にスライド可能となっており、バネなどによって閉じる方向に付勢されている。したがって、
図3に示すように、スマートフォン20を挟み込んで保持することができる。
【0050】
スマートフォン20を保持する把持片25は、モータ(図示せず)によって、軸29を中心として、上下方向Bに回動可能に構成されている。同様に、他のモータ(図示せず)によって水平方向Cに回動可能に構成されている。また、これらモータは、内部に収納された制御回路(図示せず)によって、その駆動が制御される。
【0051】
1.3ハードウエア構成
図4に、スマートフォン20のハードウエア構成を示す。この実施形態においては、スマートフォン20とロボットアーム24を備えてシステムが構成されている。
【0052】
CPU30には、メモリ32、タッチディスプレイ34、不揮発性メモリ36、カメラ38、通信回路40、近距離通信回路42、レーザ測距装置44が接続されている。通信回路40は、インターネットに接続するための回路である。近距離通信回路42は、ブルーツース(商標)などの通信回路である。近距離通信回路42を介して、CPU30はロボットアーム24を制御することができる。レーザ測距回路44は、たとえばLiDarなどのレーザを照射しその反射を受信するまでの時間によって対象物までの距離を計測するものである。
【0053】
不揮発性メモリ36には、オペレーティングシステム46、制御プログラムである読取プログラム48が記録されている。読取プログラム48は、オペレーティングシステム46と協働してその機能を発揮するものである。
【0054】
図5に、ロボットアーム24のハードウエア構成を示す。CPU50には、メモリ52、近距離通信回路54、不揮発性メモリ56、モータ58、60が接続されている。
【0055】
近距離通信回路54は、ブルーツース(商標)などによってスマートフォン20と通信するための回路である。モータ58は、保持したスマートフォン20を、
図3の上下方向Bに回転させるためのものである。モータ60は、保持したスマートフォン20を、
図3の水平方向Cに回転させるためのものである。
【0056】
不揮発性メモリ56には、オペレーティングシステム62、制御プログラム64が記録されている。制御プログラム64は、オペレーティングシステム62と協働してその機能を発揮するものである。CPU50は、制御プログラム64にしたがって、モータ58、60を制御する。
【0057】
1.4読取り処理
図6aに、読取プログラム48のフローチャートを示す。CPU30は、まず、不揮発性メモリ36から在庫データを取得する(ステップS1)。在庫データは、日々の商品の入荷出荷データに基づいて計算上算出されたデータである。この在庫データは、通信回路40を介してサーバ装置から不揮発性メモリ36に記録することができる。または、SDカードなどの記録媒体を介して不揮発性メモリ36に記録することができる。
【0058】
図7に在庫データの例を示す。各箱に収納された製品の型番、ロット、数量が記録されている。型番は製品を特定する識別子であり、ロットは製造ロットを特定する識別子であり、数量は当該箱に収納されている製品の数を示すものである。たとえば、5行目においては、対象となる箱に、型番SQS-A03GF-P-Pの、ロット241220B-0169とロット241220B-0170にて製造された製品が、13,000個収納されていることが示されている。
【0059】
続いて、CPU30は、カメラ38から全体の撮像画像を取得してタッチディスプレイ34に表示する(ステップS3)。表示された撮像画像を、
図8に示す(ステップS3)。積み上げられた箱B1~B15の全体が撮像されるように、操作者によって三脚22の位置が調整されている。
【0060】
図8において、箱B2、B3・・・B15には、商品ラベルL2、L3・・・L15が貼り付けられている。箱B1などには、商品ラベルが撮像されていないが、これは異なる面に商品ラベルが付されているためである。
【0061】
商品ラベルL2の詳細を
図9に示す。型番70、数量72、ロット番号74が読めるように表示されている他、これらをコード化した二次元バーコードMが印刷されている。
【0062】
図8に示す全体撮像画像では、二次元バーコードM2、M3・・・M15までの10個のバーコードが撮像されている。しかし、全体画像における二次元バーコードM2、M3・・・M15は小さく、このままでは復号化することはできない。そこで、この実施形態では以下のようにして二次元バーコードM2、M3・・・M15を復号化するようにしている。
【0063】
操作者は、タッチディスプレイ34に表示された
図8の全体画像において、読み取りたい二次元バーコード(たとえばM2)を指でタップする(ステップS4)。なお、CPU30は、全体画像において操作者が最初にタップを行った際に、当該全体画像を撮像している撮像方向、ズーム率などを初期設定として記録する。CPU30は、画面上でタップされたポイント(二次元バーコードM2)の方向を算出する(ステップS5)。方向の算出は以下のようにして行われる。
【0064】
まず、CPU30は、レーザ測距回路44によって、対象物である箱までの距離DSを算出する。
図10の平面図に示すように、スマートフォン20と箱までの垂直距離DSを算出することになる。続いて、CPU30は、
図11に示すように、タッチディスプレイ34の画面上において、画面の中央点CP(カメラ38の撮像方向に対応する)と二次元バーコードM2との間のX軸方向の距離IX、Y軸方向の距離IYを算出する。なお、距離IX、距離IYの算出は、スマートフォン20において用意されている座標算出のためのライブラリプログラムを用いることで実現できる。
【0065】
箱における実際のX軸方向の距離DXと画面上の距離IXとの比率は、垂直距離DSによって予め定まるものである。同様に、実際のY軸方向の距離DYと画面上の距離IYとの比率も、垂直距離DSによって予め定まる。したがって、CPU30は、画面上の距離IX、IYに基づいて、実際の距離DX、DYを算出することができる。なお、実際の距離DX、DYと画面上の距離IX、IYの比率は、垂直距離DSによって変化する。したがって、垂直距離DSと比率との関係を予め実測して、テーブルなどとして記録しておくことが好ましい。
【0066】
あるいは、画面上に表示された対象物の長さ(たとえば、段ボール箱の高さや幅など)が既知であれば、その画面上の長さを算出して、比率を算出するようにしてもよい。
【0067】
図12に示すように、垂直距離DS、距離DXに基づいて、二次元バーコードM2の方向に撮像方向を向けるために、カメラ38の撮像方向をX軸方向に振るべき角度θxを算出することができる。同様に、垂直距離DS、距離DYにに基づいて、Y軸方向に振るべき角度θyを算出できる。
【0068】
上記のように角度θx、θyを算出すると、CPU30は、当該角度に基づいてロボットアーム24を制御し、カメラ38の撮像方向が二次元バーコードM2に向くように制御する(ステップS6)。これにより、
図13に示すように、カメラ38の撮像画像は、二次元バーコードM2を中心とした画像となる。
【0069】
上記のようにして撮像方向を二次元バーコードM2に向けると、CPU30は、カメラ38を光学ズームするように制御する(ステップS7)。この実施形態では、二次元バーコードM2が復号化可能となる程度までズーム(撮像倍率を上げる)を行う。たとえば、二次元バーコードM2が所定個数以上のピクセルによって表現されるようになるまでズームを行う。これにより、
図14に示すような撮像画像を得ることができる。なお、ズームにおいては、二次元バーコードM2が復号化可能となればよいので、光学的ズームであっても、ディジタル的ズームであってもよい。ただし、ディジタル的ズームを行うと画質劣化により復号化できなくなるような場合には、光学的ズームを用いる。
【0070】
CPU30は、この撮像画像に基づいて二次元バーコードを復号化する(ステップS8)。これにより、たとえば、
図15に示すような読取データを得ることができる。
【0071】
続いて、CPU30は、計算上算出されている在庫データ(
図7)と、実際に存在する製品の読取データ(
図15)との照合を行う(ステップS9)。すなわち、
図15の読取データが、
図7の在庫データ中に存在するかどうかを確認する。
図15の読取データは、
図7の5行目のデータと合致するので、
図16に示すように照合欄に「OK」を記録する。
【0072】
次に、CPU30は、記録されている初期設定の撮像方向に基づいてロボットアーム24を制御し、記録されている初期設定のズーム率に設定する。これにより、再び、全体撮像画像がタッチディスプレイ34に表示される(ステップS3)。
【0073】
全体撮像画像において、操作者が次の二次元バーコード(たとえばM3)をタップすると、CPU30は、上記と同じようにして二次元バーコードM3を読取り、在庫データとの照合を行う(ステップS4~S9)。
【0074】
以後、全体撮像画像中の全ての二次元バーコードについての読み取りを行うと、CPU30は処理を終了する(ステップS2~S10)。
【0075】
操作者は、続いて、他の方向や他の場所にスマートフォン20をセットして、二次元バーコードの読み取りを行う。
【0076】
以上のようにして、在庫データと読取データとの照合を行う。したがって、在庫データと読取データが合致する、読取データが在庫データにない、在庫データに対応する読取データがない等を判断して、在庫データを正しく修正することができる。
【0077】
1.5変形例(その他)
(1)上記実施形態では、タッチディスプレイ34に表示された全体画面(
図8)において、操作者が順次、二次元バーコードをタップして指定するようにしている。しかし、CPU30が、全体画面中から順次、二次元バーコードを見いだすようにしてもよい。たとえば、YOLOアルゴリズムを用いて、二次元バーコードを全体画像中から見いだすように学習した学習済モデルによって、二次元バーコードの位置を推定することができる。この場合には、タッチディスプレイ34は、必ずしも必要でない。
【0078】
上記のようにすれば、操作者が二次元バーコードを選択する必要なく、自動的に読取り処理を行うことができる。
【0079】
上記のように自動的に読取り位置を決定する場合のフローチャートを
図6bに示す。この例では、CPU30は、全体画像を撮像した後(ステップS3a)、その中に含まれる二次元バーコードを特定し、計測した距離に基づいて各二次元バーコードの角度を算出して記録する(ステップS3b)。その後、CPU30は、距離に基づいて二次元バーコードが所定の大きさとなるようにカメラ38のズームを行う(ステップS7a)。以下、CPU30は、ステップS3bにて特定した二次元バーコードと方向を用いて、二次元バーコードを順次読み取っていく(ステップS6)。
【0080】
なお、上記における二次元バーコードの読取り順序は、カメラ38の角度制御時間がトータルとして最小となるように(すなわち、二次元バーコードを読み取るための軌跡長が最小となるように)CPU30が設定することが好ましい。
【0081】
また、上記のように自動化した場合であっても、
図6aに示すように、次の二次元バーコード読取りまでの間に、一旦、カメラ38を全体画像撮像の角度、倍率まで戻すようにしてもよい。
【0082】
さらに、
図6aのフローチャートにおいては、一旦全体画像に戻ってから、操作者が次の二次元バーコードを指定するようにしている。しかし、最初に全体画像を表示した際に、操作者が、二次元バーコードの位置と読取り順序を指定するようにしてもよい。このようにすれば、二次元バーコードを読み取るごとに、全体画像に戻るという処理を行う必要がなくなる。
【0083】
(2)上記実施形態では、読み取り対象である読取符号として二次元バーコードを用いている。しかし、一次元のバーコードやその他の符号化コードを対象としてもよい。また、人間(及びCPU30)が読み取ることのできる文字や符号を読取符号としてもよい。
【0084】
(3)上記実施形態では、スマートフォン20に在庫データを取得し、スマートフォン20にて読み取ったデータを照合するようにしている。しかし、スマートフォン20にて読み取ったデータをサーバ装置に送信し、サーバ装置にて在庫データとの照合を行うようにしてもよい。
【0085】
(4)上記実施形態では、スマートフォン20を用いている。しかし、カメラ、通信回路、制御装置などを別個に設けるようにしてもよい。
【0086】
(5)上記実施形態では、スマートフォン20を安定して固定できるように三脚22を用いている。しかし、
図17に示すように、三脚22に代えて、支持棒23を用いてもよい。たとえば、支持棒23の下端23Aを床に付けて、操作者が支持棒23を手で支えて用いることができる。あるいは、下端23Aを床に付けずに、支持棒23を手で支えて用いることもできる。このようにすれば、三脚22を置くスペースがない場合であっても、読み取りを行うことができる。
【0087】
ただし、手で支えるとスマートフォン20のカメラ38の撮像方向がぶれてしまう。そこで、
図17の例では、支持棒23とロボットアーム24との間に3軸ジンバル90を設けている。
【0088】
使用する際には、操作者は支持棒23を支えてカメラ38にて全体画像が撮像されるように位置決めを行う。この状態で、三軸ジンバル90を操作し、撮像方向をロックする。これにより、支持棒23が確実に固定されていなくとも、撮像画像が一定に保たれることになる。以後の処理は、上記で説明した処理と同様である。
【0089】
上記では三軸ジンバルを用いているが、二軸ジンバルや他の多軸ジンバルを用いるようにしてもよい。
【0090】
(6)上記実施形態では、一つの二次元バーコードを選択してズームすることで読み取りを行っている。しかし、複数の二次元バーコードを選択してズームを行い、複数の二次元バーコードを同時に読み取るようにしてもよい。
【0091】
(7)上記実施形態では、カメラ38を固定して撮像を行うようにしている。しかし、ドローン(UAV)などの移動体にカメラ38、制御装置6を搭載し、予め飛行ルート(移動ルート)を設定しておいて、撮像を行うようにしてもよい。この場合、1カ所における撮像と読取りが終了すると、次の箇所に飛行(移動)を行うように設定しておくことが好ましい。
【0092】
ドローン(移動体)を静止させ、全体画像を撮像して、角度を変えてズームをして二次元バーコードを読み取る点は上記の実施形態と同様である。
【0093】
ドローンを用いることで、高く積み上げられた対象物や危険な箇所などにおいても、読み取りを行うことが可能となる。また、移動体として移動ロボット(平面または空間を移動するもの)を用いれば、人が入り込めない低い空間、床に近い箇所・隙間などについても読み取りを行うことができる。
【0094】
なお、飛行ルート(移動ルート)は予め設定せずに、現場での状況に応じて移動体が自らの判断で動くようにしてもよい。あるいは、操作者の操作によって移動させるようにしてもよい。
【0095】
(8)上記実施形態では、作業者が設定したスマートフォン20の撮像方向を初期状態として制御を行うようにしている。ここで、スマートフォン20の撮像方向は、対象物である箱の撮像面(二次元バーコートが貼り付けられている面)の法線方向と合致することが好ましい。
図18Aに示すように、撮像方向が法線方向に合致していると、撮像方向と箱Bの表面が交わる点が、撮像範囲の中心と合致する。したがって、上記ロボットアーム24の制御が正確に行われることになる。
【0096】
しかし、
図18Bに示すように、カメラの撮像方向と法線方向が異なると、上記ロボットアーム24の制御に誤差が生じてしまう。
【0097】
そこで、撮像方向を法線方向に合致させるように、制御プログラム64が制御を行うようにしてもよい。
【0098】
図19aに、スマートフォン20の撮像方向の初期状態設定のフローチャートを示す。CPU30は、対象物までの距離DS1をレーザ測距回路44によって計測し記録する(ステップS11)。続いて、CPU30はロボットアーム24を制御し、上下方向に所定角度(たとえば、上方向10度)だけ向きを変える(ステップS12)。このときの対象物までの距離DS2をレーザ測距回路44によって計測し記録する(ステップS13)。さらに、CPU30はロボットアーム24を制御し、上下方向に所定角度(たとえば、さらに上方向10度)だけ向きを変える(ステップS14)。このときの対象物までの距離DS3をレーザ測距回路44によって計測し記録する(ステップS15)。
【0099】
CPU30は、上記3カ所の距離DS1、DS2、DS3に基づいて、法線方向に合致する撮像方向を算出し、ロボットアーム24を制御して当該撮像方向になるようにする(ステップS16、S17)。
【0100】
なお、上記では、複数箇所(少なくとも2カ所)の計測距離に基づいて法線方向に合致する撮像方向を算出し、これに基づいてロボットアーム24を制御するようにしている。しかし、ロボットアーム24を制御して上下方向に角度を変更し、最も計測距離が短くなる点を探し出して、法線方向に合致した撮像方向として決定するようにしてもよい。
【0101】
この場合のフローチャートを
図19b、
図19cに示す。
図19bのステップS21~S26により、カメラの撮像方向を上方向に向ければ法線方向に合致するか、下方向に向ければ法線方向に合致するかを判断する。カメラを上向きにするか下向きにするかを決めると、それにしたがってカメラの向きを単位角度だけ変更する。計測距離が短くなれば、法線方向に近づいているということであるから、さらに単位角度だけ向きを変更する(ステップS34、S39)。これを繰り返して法線方向を過ぎると、計測距離が長くなる。
【0102】
これを検知すると(ステップS34、S39)、カメラを反対向きに角度変更する。ただし、法線方向に近づいているので、向きを変える単位角度を1/2(小さく)にする。これにより、より精度良く法線方向に近づける。
【0103】
以上の処理を繰り返し、単位角度が十分小さくなれば(しきい値を下回れば)法線方向に十分近づいたと判定し、その向きにカメラを固定する(ステップS42)。
【0104】
上記では、上下方向の角度調整について説明したが、左右方向についても同様である。
【0105】
(9)上記実施形態では、垂直距離DSと比率(実際の距離DX、DYと画面上の距離IX、IYの比率)との関係を予め実測して、テーブルなどとして記録しておくようにしている。しかし、垂直距離DSと比率との関係を、次式のようにして算出するようにしてもよい。
【0106】
比率=実際の距離DX/画面上の距離IX
実際の距離DX=1素子サイズ×((対象までの距離/焦点距離)-1)×対象の画素数/カメラ倍率
たとえば、スマートフォン20の画面の横幅は既知であるからこれを画面上の距離IXとし、これに対応する実際の距離DXを算出すれば比率を算出することができる。
【0107】
1素子のサイズは既知であり、焦点距離も既知である。対象の画素数、すなわちスマートフォン20の画面の横方向の画素数も既知である。カメラ倍率は、スマートフォン20のカメラの現在のカメラ倍率であり、カメラアプリより取得することができる。対象までの距離は、レーザ測距回路44によって計測することができる。
【0108】
(10)上記実施形態では、タッチディスプレイ34に表示された
図8の全体画像において、読み取りたい二次元バーコード(たとえばM2)を指でタップするようにしている。しかし、二次元バーコードが小さい場合にはタップがしづらい。
【0109】
そこで、ピンチアウト操作などで画像を拡大し、二次元バーコードを大きくしてタップするようにしてもよい。この場合、読取プログラム48は、拡大された箇所が、元の全体画像のいずれの位置に対応するかに基づいて、タップされた二次元バーコードが全体画像におけるいずれの二次元バーコードであるかを判定する。その後、読取プログラム48の処理または操作者の操作によって、拡大画像から全体画像に戻されて、処理が進められる。
【0110】
(11)上記実施形態では、在庫データと読取データとの照合を行い、合致した場合には照合欄にOKを記録するようにしている。しかし、全体画像などにおいて、不一致となった二次元バーコードに重ねて、不一致を示す画像を表示するようにしてもよい。
【0111】
(12)上記実施形態では、ステップS3において全体撮像画像を表示するようにしている。この際に、すでに読み取りが終了した段ボール箱については、その画像上の位置に基づいて、読み取り完了の画像を重ねて表示するようにしてもよい。
【0112】
たとえば、
図6aのステップS8やS9が終了した時点で、当該二次元バーコードの表示されている段ボール箱の画像的な特徴点を抽出し記録する。ステップS3で撮像した段ボール箱の特徴点を抽出し、同じ特徴点を有する段ボール箱が記録されていれば、読み取り完了済の表示を行う。このようにすることで、二重読み取りを防ぐことができる。
【0113】
(13)上記変形例は互いに組み合わせて実施可能である。また、他の実施形態・変形例と組み合わせて実施可能である。
【0114】
2.第2の実施形態
2.1機能的構成
図21に、第2の実施形態による読取システムの機能的構成を示す。n個の対象物には、それぞれQRコード(商標)などの読取符号M1、M2、M3・・・Mnが付されている。カメラ2は、これら全ての読取符号M1、M2、M3・・・Mnを撮像し、第1画像を出力する。
【0115】
制御装置6は、第1画像取得8において、この第1画像を取得する。さらに、読取符号選択10において、この第1画像中の読取符号M1、M2、M3・・・Mnのいずれかを選択する。読取符号の選択は、第1の実施形態のように操作者が行ってもよいし、制御装置6が行ってもよい。
【0116】
制御装置6は、復号処理16において、選択された読取符号の復号化を行う。読取符号の復号化は、第1の実施形態のようにズームした後に行ってもよいし、精度が十分であれば第1画像を拡大するなどして行ってもよい。
【0117】
制御装置6は、第1画像表示処理18において、復号化の完了した読取符号と、復号化の完了していない読取符号を区別可能なように、第1画像を表示する。
【0118】
以上のように、この実施形態によれば、第1画像を見ることで、いずれの読取符号について復号化処理が完了したかを容易に知ることができる。
【0119】
2.2外観およびシステム構成
外観およびシステム構成は、第1の実施形態における
図2、
図3と同様である。
【0120】
2.3ハードウエア構成
ハードウエア構成は、第1の実施形態における
図4、
図5と同様である。
【0121】
2.4読取・表示処理
図22に、この実施形態における読取プログラム48のフローチャートを示す。以下では、二次元バーコードの読取処理を第1の実施形態と同じ手法にて行う場合について説明する。しかし、読取処理は、必ずしも第1の実施形態と同じでなくともよい。
【0122】
図22のフローチャートにおいて、ステップS1、S2、S4~S10は、第1の実施形態と同じである。ステップS31が特徴的に異なっている。
【0123】
CPU30は、ステップS31において、ステップS8において読み取った二次元バーコードにマークを付して全体撮像画像を表示する。たとえば、
図23に示すような全体画像を、タッチディスプレイ34に表示する。図に示すように、読取りが終了した二次元バーコードM2、M3の近傍には、終了マーク96が表示されている。これにより、操作者が重複なく、読み飛ばしなく、次の二次元バーコードを選択することができる。
【0124】
2.5変形例(その他)
(1)上記実施形態では、全体画面において、操作者が選択した二次元バーコードを光学的にズームして生成した画像に基づいて読み取りを行っている。しかし、全体画像を拡大するなど(あるいはそのままで)して、二次元バーコードを読み取るようにしてもよい。
【0125】
(2)上記実施形態では、読取りを終了した二次元バーコードの周囲に終了マーク96を表示している。しかし、読取りが終了していない二次元バーコードの周囲に未終了マークを表示するようにしてもよい。
【0126】
(3)上記実施形態では、読取符号である二次元バーコードの周囲に終了マークを表示している。しかし、二次元バーコードの付された対象物全体に終了マークを付すようにしてもよい。
【0127】
(4)上記変形例は互いに組み合わせて実施可能である。また、他の実施形態・変形例と組み合わせて実施可能である。