(57)【要約】【課題】コードシンボルの読み取りを、より効率的に行うことが可能なコード読取装置及びプログラムを提供する。【解決手段】上下左右方向に回動可能な可動部を少なくとも有する構造体と、前記可動部に設けられ、前記構造体周辺の画像を撮像する撮像部と、前記画像に含まれるコードシンボルを検出し、当該コードシンボルから情報を読み取る読取手段と、前記読取手段が前記情報の読み取りに失敗した場合に、前記コードシンボルの各端部に存在する余白部分の大きさを算出し、この余白部分の大きさが所定量未満の端部方向を特定する特定手段と、前記特定手段で特定された端部方向に基づいて、当該端部方向の余白部分を拡大する方向に前記可動部を回動させる撮像範囲変更手段と、を備える。【選択図】図７
2013152638.tif 000002
【特許請求の範囲】
【請求項１】
上下左右方向に回動可能な可動部を少なくとも有する構造体と、
前記可動部に設けられ、前記構造体周辺の画像を撮像する撮像部と、
前記画像に含まれるコードシンボルを検出し、当該コードシンボルから情報を読み取る読取手段と、
前記読取手段が前記情報の読み取りに失敗した場合に、前記コードシンボルの各端部に存在する余白部分の大きさを算出し、この余白部分の大きさが所定量未満の端部方向を特定する特定手段と、
前記特定手段で特定された端部方向に基づいて、当該端部方向の余白部分を拡大する方向に前記可動部を回動させる撮像範囲変更手段と、
を備えるコード読取装置。
【請求項２】
前記撮像範囲変更手段は、前記特定手段で所定量未満と判定された余白部分の大きさに応じて、前記可動部を回動させる角度を決定する請求項１に記載のコード読取装置。
【請求項３】
前記構造体は、前記撮像部が設けられ上下左右方向に回動可能な本体部と、当該本体部に連結された左右一対の腕部とを前記可動部として有し、
前記撮像範囲変更手段は、前記特定手段で特定された端部方向に基づいて、当該端部方向の余白部分を拡大する方向に前記本体部を回動させる請求項１又は２に記載のコード読取装置。
【請求項４】
前記特定手段により、前記コードシンボルの各端部に存在する余白部分の大きさが所定量を満たすと判定された場合に、前記読み取り失敗に応じた音声を出力するとともに、当該読み取り失敗に応じた動作を前記可動部に実行させる報知手段を更に備える請求項１〜３の何れか一項に記載のコード読取装置。
【請求項５】
前記報知手段は、前記読取手段による情報の読み取りが成功した場合に、当該読み取り成功に応じた音声を出力するとともに、当該読み取り成功に応じた動作を前記可動部に実行させる請求項１〜４の何れか一項に記載のコード読取装置。
【請求項６】
上下左右方向に回動可能な可動部を少なくとも有する構造体と、前記構造体に設けられ、周辺の画像を撮像する撮像部と、を備えたコード読取装置のコンピュータを、
前記画像に含まれるコードシンボルを検出し、当該コードシンボルから情報を読み取る読取手段と、
前記読取手段が前記情報の読み取りに失敗した場合に、前記コードシンボルの各端部に存在する余白部分の大きさを算出し、この余白部分の大きさが所定量未満の端部方向を特定する特定手段と、
前記特定手段で特定された端部方向に基づいて、当該端部方向の余白部分を拡大する方向に前記可動部を回動させる撮像範囲変更手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、コード読取装置及びプログラムに関する。
【背景技術】
【０００２】
従来、スーパーマーケット等では、商品等に付されたバーコード等のコードシンボルをＣＣＤカメラ等のイメージセンサによって撮像し、撮像した画像からバーコードに保持された情報を読み取るコード読取装置が用いられている。また、従来、コードシンボルが付された対象物の高さや位置、大きさ、形状に基づいてイメージセンサの焦点距離を可変とする技術が提案されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、コードシンボルの読み取りを行う場合、利用者はコードシンボルが付された商品等をコード読取装置に提示することになるが、コードシンボルの端部に存在する余白部分が所定量確保されていないと読み取りに失敗する可能性がある。このような場合、利用者はコードシンボルの提示位置を変更することになるが、その操作は利用者にとって煩わしく、読み取り効率が低下する可能性があった。
【課題を解決するための手段】
【０００４】
実施の形態のコード読取装置は、構造体と、撮像部と、読取手段と、特定手段と、撮像範囲変更手段と、を備える。構造体は、上下左右方向に回動可能な可動部を少なくとも有する。撮像部は、可動部に設けられ、前記構造体周辺の画像を撮像する。読取手段は、画像に含まれるコードシンボルを検出し、当該コードシンボルから情報を読み取る。特定手段は、読取手段が情報の読み取りに失敗した場合に、コードシンボルの各端部に存在する余白部分の大きさを算出し、この余白部分の大きさが所定量未満の端部方向を特定する。撮像範囲変更手段は、特定手段で特定された端部方向に基づいて、当該端部方向の余白部分を拡大する方向に可動部を回動させる。
【図面の簡単な説明】
【０００５】
【図１】図１は、実施形態に係るコード読取装置の外観を示す斜視図である。
【図２】図２は、実施形態に係るコード読取装置の外観の一部を示す正面図である。
【図３】図３は、実施形態に係るコード読取装置の外観を示す底面図である。
【図４】図４は、実施形態に係るコード読取装置の外観を示す側面図であって、腕部が回動した状態を示す図である。
【図５】図５は、実施形態に係るコード読取装置の頭部の外観を示す平面図である。
【図６】図６は、実施形態に係るコード読取装置の頭部の外観を示す側面図である。
【図７】図７は、実施形態に係るコード読取装置の構成を示す図である。
【図８】図８は、原因特定部の動作を説明するための図である。
【図９】図９は、動作パターンデータの一例を模式的に示す図である。
【図１０】図１０は、本実施形態のコード読取装置が行うコード読取処理の手順を示すフローチャートである。
【発明を実施するための形態】
【０００６】
図１は、実施形態に係るコード読取装置の外観を示す図である。同図に示すように、このコード読取装置１は、マスコットロボット等と称される人型や動物型のロボットとして実現されている。コード読取装置１は、一例として、ショッピングセンター等に設けられた設置台１００に設置される。なお、コード読取装置１の駆動電源は、内蔵するバッテリパックや外部（商用電源）から供給されるものとする。
【０００７】
コード読取装置１は、基部２と、本体部としての胴体部３及び頭部４と、左右の腕部５、６とを備えている。胴体部３、頭部４及び腕部５、６は、詳しくは後述するが、基部２に対して相対動（回動）可能となっている。胴体部３、頭部４及び腕部５、６は、可動部の一例である。
【０００８】
基部２は、図１や図２に示すように、基部ハウジング２ａと、左右の足部２ｂとを有している。左右の足部２ｂは、基部ハウジング２ａに一体形成されている。コード読取装置１が設置台１００（図１）に設置された状態では、基部ハウジング２ａの底部と左右の足部２ｂの底部とが設置台１００に当接している。
【０００９】
胴体部３は、図１や図２に示すように、基部２の上方に配置されている。胴体部３は、胴体ハウジング３ａを有している。胴体部３は、連結機構（図示せず）によって、回動軸Ａ１（図２、図４）回りに回動可能に基部２に連結されている。連結機構は、別の言い方をすると例えば関節部である。胴体部３の可動範囲は、図３に示すように、基準姿勢に対して左右に規定の規定角度α１ずつとなっている。図３中の矢印Ｂ１は、胴体部３の回動方向を示している。胴体部３は、第１のモータ１４１（図７）に連結されており、第１のモータ１４１によって回動軸Ａ１回りに回動駆動される。胴体部３の回動軸Ａ１回りの回動動作は、腰振り動作とも称される。
【００１０】
また、図１〜図６では図示を省略しているが、胴体部３には、音声によるメッセージや報知音等を出力するためのスピーカー１２（図７参照）や、利用者の音声を収音するためのマイク１３（図７参照）が設けられている。
【００１１】
左右の腕部５、６は、図１に示すように、胴体部３の側方に配置されて、胴体部３の胴体ハウジング３ａを挟む位置に位置する。左（一方）の腕部５の構成と右（他方）の腕部６の構成とは、左右対称であるので、以下では左の腕部５について詳細に説明し、右の腕部６について重複する説明は省略する。
【００１２】
腕部５は、図２や図４に示すように、概略円板状に形成されるとともに、外周部から内周部に向かうにつれて厚さが厚くなっている。腕部５は、連結機構７によって、胴体部３の上部に連結されている。腕部５は、連結機構７によって、回動軸Ａ２（図１）回りに回動可能に基部２に連結されている。詳しくは、腕部５は、上下に回動可能であって、閉位置（図１）と開位置（図２）との間で回動可能となっている。胴体部３の回動軸Ａ２回りの可動範囲は、図２に示すように、基準姿勢に対して上方に規定の規定角度α２となっている。図１、図２中の矢印Ｂ２は、回動軸Ａ２回りの胴体部３の回動方向を示している。腕部５は、第２のモータ１４２（図７）に連結されており、第２のモータ１４２によって回動軸Ａ２回りに回動駆動される。腕部５の回動軸Ａ２回りの回動動作は、羽ばたき動作とも称される。なお、右の腕部６の羽ばたき動作用のモータは、第３のモータ１４３（図７）である。つまり、各腕部５、６に、羽ばたき動作用のモータが設けられている。
【００１３】
また、腕部５は、連結機構７によって、回動軸Ａ３（図１）回りに回動可能に基部２に連結されている。詳しくは、腕部５は、前後に回動可能である。回動軸Ａ３回りの胴体部３の可動範囲は、図４に示すように、基準姿勢に対して一方向（前方）に規定の規定角度α３、基準姿勢に対して他方向（後方）に規定の規定角度α４となっている。図１、図４中の矢印Ｂ３は、回動軸Ａ３回りの胴体部３の回動方向を示している。腕部５は、第４のモータ１４４（図７）に連結されており、第４のモータ１４４によって回動軸Ａ３回りに回動駆動される。腕部５の回動軸Ａ３回りの回動動作は、腕振り動作とも称される。なお、右の腕部６の腕振り動作用のモータは、第５のモータ１４５（図７）である。つまり、各腕部５、６毎に、腕振り動作用のモータが設けられている。
【００１４】
頭部４は、図１や図４に示すように、胴体部３の上方に配置されている。頭部４は、頭部ハウジング４ａを有している。頭部ハウジング４ａの正面の目（左目）に相当する位置には、ＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等の撮像素子を有した撮像部１１が設けられている。撮像部１１は、オートフォーカス機能を有し、制御部２２の制御に従い撮像を行う。
【００１５】
コード読取装置１の利用者は、コードシンボルが付された商品等をコード読取装置１に正対させて頭部４にかざすことで、そのコードシンボルが撮像部１１により撮像される。なお、本実施形態では、一台の撮像部１１を設ける構成としたが、両目部分に一対の撮像部１１を設ける形態としてもよい。
【００１６】
また、頭部４は、連結機構（図示せず）によって、回動軸Ａ４（図４）回りに回動可能に胴体部３に連結されている。詳しくは、頭部４は、左右に回動可能となっている。図５に示すように、頭部４の回動軸Ａ４回りの可動範囲は、基準姿勢に対して左右に規定角度α５ずつとなっている。図５中の矢印Ｂ４は、胴体部３の回動軸Ａ４回りの回動方向を示している。頭部４は、第６のモータ１４６（図７）に連結されており、第６のモータ１４６によって回動軸Ａ４回りに回動駆動される。頭部４の回動軸Ａ４回りの回動動作は、首横振り動作とも称される。
【００１７】
また、頭部４は、連結機構（図示せず）によって、回動軸Ａ５（図５）回りに回動可能に胴体部３に連結されている。詳しくは、頭部４は、上下に回動可能となっている。図６に示すように、頭部４の回動軸Ａ５回りの可動範囲は、基準姿勢に対して上下に規定の規定角度α６ずつとなっている。図６中の矢印Ｂ５は、胴体部３の回動軸Ａ５回りの回動方向を示している。頭部４は、第７のモータ１４７（図７）に連結されており、第７のモータ１４７によって回動軸Ａ５回りに回動駆動される。頭部４の回動軸Ａ５回りの回動動作は、首縦振り動作とも称される。
【００１８】
可動部（胴体部３、頭部４、左右の腕部５、６）を駆動する第１〜第７のモータ１４１〜１４７は、胴体ハウジング３ａに収容されて、胴体ハウジング３ａに固定されている。第１〜第７のモータ１４１〜１４７は、可動部を駆動する駆動部（アクチュエータ）の一例である。第１〜第７のモータ１４１〜１４７は、基部２および可動部（胴体部３、頭部４、左右の腕部５、６）とともに、構造体を構成している。なお、以下では、便宜上、第１のモータ１４１〜第７のモータ１４７を、単にモータ１４と称することもある。
【００１９】
また、コード読取装置１は、図７に示すように、記憶部２１と、制御部２２と、通信部２３とを備えている。
【００２０】
記憶部２１は、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）等の記憶媒体であって、一例として胴体ハウジング３ａに収容されている。記憶部２１は、後述するＣＰＵ（Central  Processing  Unit）が実行する各種プログラムや各種設定データを記憶している。また、記憶部２１は、後述するコード読取処理に係るデータとして、動作パターンデータ２１１と、メッセージデータ２１２とを記憶している。
【００２１】
動作パターンデータ２１１には、コードシンボルの読取成功時や読取失敗時等に実現されるコード読取装置１の動作パターンが登録されている。なお、動作パターンデータ２１１の具体例については後述する。
【００２２】
メッセージデータ２１２には、コード読取装置１が発する音声に係るデータが予め登録されている。このメッセージデータ２１２には、例えば読取成功や読取失敗等の所定の事象に応じたメッセージ等が含まれる。なお、メッセージデータ２１２に登録されるデータは、音声データであってもよいし、音声合成用のテキストデータであってもよい。
【００２３】
制御部２２は、ＣＰＵ、プログラムや設定情報を格納したＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含むコンピュータであって、一例として胴体ハウジング３ａに収容されている。ＣＰＵは、ＲＯＭ又は記憶部２１に記憶されたプログラムと協働することで、コード読取装置１の動作を統括的に制御する。
【００２４】
制御部２２には、バスライン２４等を介して、撮像部１１、スピーカー１２、マイク１３、第１〜第７のモータ１４１〜１４７、記憶部２１、通信部２３等が接続されている。通信部２３は、一例としてＰＯＳ（Point  Of  Sales）端末や商品マスタ等の外部装置と通信を行う。
【００２５】
制御部２２は、撮像部１１やスピーカー１２、マイク１３等を用いて、利用者へのアシスト処理を行う。一例として、制御部２２は、マイク１３を介して入力される音声を認識し、その音声に応じてコードシンボルの読み取りを開始する。
【００２６】
また、制御部２２は、後述するコード読取処理に係る機能部として、画像取得部２２１と、コード読取部２２２と、原因特定部２２３と、撮像範囲変更部２２４と、報知処理部２２５と、動作制御部２２６とを備えている。これら機能部は、ＣＰＵとＲＯＭ又は記憶部２１に記憶された所定のプログラムとの協働により実現されるソフトウェア構成であってもよいし、専用のプロセッサ等で構成されるハードウェア構成であってもよい。
【００２７】
画像取得部２２１は、撮像部１１で撮像された画像を取得する。なお、画像取得部２２１は、撮像部１１で撮像されたフレーム毎の画像を順次取得する形態としてもよいし、所定の時間間隔（例えば２秒等）毎に取得する形態としてもよい。
【００２８】
コード読取部２２２は、画像取得部２２１で取得された画像を解析することで、バーコードや二次元コード等のコードシンボルを検出し、そのコードシンボルに保持された情報を読み取る。
【００２９】
具体的に、コード読取部２２２は、画像取得部２２１で取得された画像を二値化し、この二値化した画像からコードシンボルを表す識別パターンを探すことを、コードシンボルを検出する。ここで、識別パターンとは、例えば、バーコードの場合には白黒の縞模様や、ＱＲコード（登録商標）の場合には３隅の四角い切り出しシンボル（位置検出パターン、ファインダパターン）等である。コード読取部２２２は、画像中からコードシンボルを検出すると、そのコードシンボルを読み取り、所定の方式でデコードすることで、コードシンボルに保持された情報を取得する。
【００３０】
なお、コードシンボルの読み取りに成功した場合には、コード読取部２２２は、読み取り成功を示す信号を報知処理部２２５に出力する。また、コードシンボルの読み取りに失敗した場合には、コード読取部２２２は、読み取り失敗を示すエラー信号を原因特定部２２３に出力する。
【００３１】
原因特定部２２３は、コード読取部２２２からエラー信号を受け付けると、コードシンボルが撮像（検出）された画像から、読み取りが失敗した原因を特定し、その原因を示した原因情報を報知処理部２２５に出力する。
【００３２】
ここで、図８を参照し、原因特定部２２３の動作について説明する。なお、以下ではコードシンボルとしてＪＡＮ（Japanese  Accepted  Name）のバーコードを用いて説明するが、コードシンボルの種別はこれに限らないものとする。
【００３３】
一般に、バーコードを正しく読み取るためには、バーコードの縞模様の両端部にある余白部分（マージン）の大きさが、所定量（例えば、バーコードの最も細いバーの幅の１０倍以上）保持されていることが条件となる。例えば、図８に示すように、画像Ｇ１内においてバーコードＢＣが右寄りに撮像されていた場合、左端部の余白部分の大きさに比べ、右端部の余白部分の大きさは小領域となるが、この右端部の余白部分の大さが所定量を満たさないと、バーコードＢＣ自体を検出できたとしても読み取りに失敗する可能性がある。
【００３４】
そこで、原因特定部２２３は、コード読取部２２２からエラー信号を受け付けると、コード読取部２２２で検出されたバーコードＢＣの画像Ｇ１内での配置位置や大きさ等から、バーコードＢＣの両端部に存在する余白部分の大きさを算出する。そして、原因特定部２２３は、何れかの端部の余白部分の大きさが所定量に満たない場合に、この余白部分の不足が読み取り失敗の原因と特定し、この原因を示す原因情報を報知処理部２２５に出力する。例えば、図８に示す条件の場合、原因特定部２２３は、バーコードＢＣの右端部を示す端部方向“右”や、その端部の余白部分の大きさ（例えば、ｍｍ単位やピクセル単位）を示した原因情報を報知処理部２２５に出力する。なお、ここで端部方向は、コード読取装置１から見た方向である。
【００３５】
上記例では、バーコードを用いた例を説明したが、ＱＲコード（登録商標）等の二次元コードの場合であっても同様に原因を特定することができる。但し、二次元コードの場合には、上下左右の４端部について余白部分の大きさを判定するものとする。なお、余白部分の判定において、全ての端部の余白部分が所定量を満たす場合には、読み取り失敗を示すエラー信号を報知処理部２２５に出力する。
【００３６】
撮像範囲変更部２２４は、原因特定部２２３から、特定の端部方向の余白部分の不足を示した原因情報を受け付けると、この端部方向に基づいて、余白部分を拡大させる自装置の回動方向を決定する。例えば、図８に示すようにバーコードＢＣ右端部の余白部分の大きさが所定量を満たしていない場合、撮像部１１の撮像範囲を右方向にずらすことで、その余白部分を拡大することができる。そこで、撮像範囲変更部２２４は、余白部分が不足と判断された端部方向を、余白部分を拡大させる自装置の回動方向として決定する。なお、撮像部１１の光学系において鏡像反転が行われるような場合には、余白部分が不足と判断された端部方向とは逆の方向が回動方向となる。
【００３７】
また、撮像範囲変更部２２４は、回動方向を決定すると、その回動方向への回動を指示する指示信号を動作制御部２２６に出力することで、決定した回動方向へ胴体部３や頭部４を所定角度回動させる。これにより、撮像部１１の撮像範囲が余白部分が不足した端部方向にずれるため、原因特定部２２３で特定された原因を改善することができる。なお、回動させる角度は、１０度等の固定値としてもよいし、原因特定部２２３で特定された原因の程度、つまり余白部分の大きさに応じて決定する形態としてもよい。
【００３８】
報知処理部２２５は、コード読取部２２２又は原因特定部２２３から入力される信号に基づき、この信号内容をコード読取装置１の動作（アクション）や、音声出力により報知する。ここで、報知処理部２２５は、動作方向に応じたコード読取装置１の動作を、記憶部２１に記憶された動作パターンデータ２１１を用いて決定する。
【００３９】
図９は、動作パターンデータ２１１の一例を示す図である。動作パターンデータ２１１には、読取成功や読取失敗等のイベント毎に当該イベントに応じた動作パターンが関連付けて登録されている。ここで、図９に示す動作パターンデータ２１１では、読取成功時に、頭部４を首縦振り動作させることが定義されており、読取失敗時に、頭部４を首横振り動作させることが定義されている。
【００４０】
報知処理部２２５は、コード読取部２２２から読み取り成功を示す信号を受け付けると、動作パターンデータ２１１からイベント名“読取成功”に対応する動作パターンを読み出し、その動作パターンの実行を指示した指示情報を動作制御部２２６に出力することで、この動作パターンに応じた動作をコード読取装置１に行わせる。また、報知処理部２２５は、記憶部２１に記憶されたメッセージデータ２１２を用いることで、イベント名“読取成功”に応じたメッセージ等（例えば「読み取りが成功しました」等）をスピーカー１２から出力させる。
【００４１】
一方、報知処理部２２５は、原因特定部２２３から読み取り失敗を示すエラー信号を受け付けた場合、動作パターンデータ２１１からイベント名“読取失敗”に対応する動作パターンを読み出し、その動作パターンの実行を指示した指示情報を動作制御部２２６に出力することで、この動作パターンに応じた動作をコード読取装置１に行わせる。また、報知処理部２２５は、記憶部２１に記憶されたメッセージデータ２１２を用いることで、イベント名“読取失敗”に応じたメッセージ等（例えば「コードシンボルの配置位置、配置角度を変更して下さい」等）をスピーカー１２から出力させる。
【００４２】
なお、動作パターンデータ２１１に設定される動作パターンは、上記の例に限らないものとする。例えば、各可動部の回動角度を直接指定する形態としてもよい。また、同一の報知方向に複数の動作パターンを登録することで、コード読取装置１にダンス等の連続した動作を行わせる形態としてもよい。
【００４３】
動作制御部２２６は、報知処理部２２５から入力される指示情報に従い、コード読取装置１のモータ１４（第１〜第７のモータ１４１〜１４７）を駆動することで、指示された動作パターンをコード読取装置１に行わせる。
【００４４】
次に、コード読取装置１が行うコード読取処理について説明する。図１０は、コード読取装置１が行うコード読取処理の手順を示すフローチャートである。なお、本処理の実行タイミングは特に問わず、撮像部１１が画像を撮像する毎に実行する形態としてもよいし、所定時間毎（例えば１０秒毎）に実行する形態としてもよい。また、音声入力等によりコードシンボルの読み取りが指示されている間、常時又は所定時間毎に実行する形態としてもよい。
【００４５】
まず、画像取得部２２１は、撮像部１１が撮像した画像を取得する（ステップＳ１１）。続いて、コード読取部２２２は、ステップＳ１１で取得された画像を解析し、画像中にコードシンボルが存在するか否かを判定する（ステップＳ１２）。ここで、コードシンボルが存在しない場合（ステップＳ１２；Ｎｏ）、ステップＳ１１に再び戻る。
【００４６】
また、ステップＳ１２において、画像中からコードシンボルを検出した場合（ステップＳ１２；Ｙｅｓ）、コード読取部２２２は、このコードシンボルの読み取りを行う。ここで、コードシンボルの読み取りに成功した場合（ステップＳ１３；Ｙｅｓ）、コード読取部２２２は読み取り成功を示す信号を報知処理部２２５に出力する。
【００４７】
報知処理部２２５は、コード読取部２２２から読み取り成功を示す信号を受け付けると、動作パターンデータ２１１からイベント名“読取成功”に対応する動作パターンを読み出し、動作制御部２２６と協働することで、この動作パターンに応じた動作をコード読取装置１に行わせる（ステップＳ１４）。また、報知処理部２２５は、メッセージデータ２１２を用いて、読取成功に応じたメッセージ等をスピーカー１２から音声出力する（ステップＳ１５）。次いで、制御部２２は、コード読取部２２２で読み取られた情報を用いて所定の処理を実行し（ステップＳ１６）、本処理を終了する。
【００４８】
ここで、ステップＳ１６の処理内容は特に問わず、読み取られた情報の内容や使用環境等に応じて、任意の処理を実行させることが可能であるとする。例えば、商品に付されたバーコードからその商品に関する商品コード等の情報の読み取りを行う場合には、読み取った商品コードを、ＰＯＳ端末等の外部装置に出力してもよいし、この商品コードに関連付けられた商品名や単価等の商品情報を商品マスタ等から読み出して、音声出力してもよい。
【００４９】
一方、ステップＳ１３において、コードシンボルの読み取りに失敗した場合（ステップＳ１３；Ｎｏ）、コード読取部２２２は、エラー信号を原因特定部２２３に出力する。原因特定部２２３では、コード読取部２２２からエラー信号を受け付けると、画像内でのコードシンボルの配置位置から、該コードシンボルの各端部に存在する余白部分の大きさを算出する（ステップＳ１７）。次いで、原因特定部２２３は、各端部の余白部分の大きさが所定量を満たすか否かを判定する（ステップＳ１８）。
【００５０】
ステップＳ１８において、余白部分の大きさが所定量未満の端部が存在する場合（ステップＳ１８；Ｎｏ）、原因特定部２２３は、その端部方向や余白部分の大きさを示した原因情報を報知処理部２２５に出力する。撮像範囲変更部２２４は、特定の端部方向の余白部分の不足を示した原因情報を受け付けると、この端部方向に基づいて、余白部分を拡大させる自装置の回動方向を決定する（ステップＳ１９）。次いで、撮像範囲変更部２２４は、動作制御部２２６と協働することで、ステップＳ１９で決定した回動方向へ胴体部３や頭部４を所定角度回動させ（ステップＳ２０）、ステップＳ１１に再び戻る。
【００５１】
また、ステップＳ１８において、全端部の余白部分の大きさが所定量を満たした場合（ステップＳ１８；Ｙｅｓ）、原因特定部２２３は、読み取り失敗を示すエラー信号を報知処理部２２５に出力する。
【００５２】
報知処理部２２５は、原因特定部２２３から読み取り失敗を示す信号を受け付けると、動作パターンデータ２１１からイベント名“読取失敗”に対応する動作パターンを読み出し、動作制御部２２６と協働することで、この動作パターンに応じた動作をコード読取装置１に行わせる（ステップＳ２１）。また、報知処理部２２５は、メッセージデータ２１２を用いて、コードシンボルの配置位置や配置角度の変更を促すメッセージをスピーカー１２から音声出力し（ステップＳ２２）、本処理を終了する。
【００５３】
以上のように、本実施形態によれば、コードシンボルを読み取ることができない場合に、読み取り失敗の発生原因として余白部分の大きさが所定量を満たさない端部方向を特定し、特定した端部方向に基づいて、この端部方向の存在する余白部分の大きさを拡大する方向に自装置を回動させることで、コードシンボルの撮像範囲を変更する。これにより、余白部分の不足を自動で改善することができるため、利用者の手間を軽減することができるとともに、コードシンボルの読み取り効率を向上させることができる。
【００５４】
また、コード読取部２２２による読取成功時や読取失敗時に、そのイベントに応じた音声を出力するとともに、当該読み取り成功に応じた動作を前記可動部に実行させる。これにより、コードシンボルの読み取りが成功したことや読み取りが失敗したことを、利用者に報知することができるため、利用者の利便性を向上させることができる。
【００５５】
以上、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、追加等を行うことができる。また、上記実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００５６】
上記実施形態では、コード読取装置１が画像取得部２２１、コード読取部２２２、原因特定部２２３、撮像範囲変更部２２４、報知処理部２２５及び動作制御部２２６の機能部を備える構成としたが、これに限らず、これら各機能部の一部又は全てを設置台１００等の外部装置に備え、当該外部装置から有線又は無線通信等により、コード読取装置１の動作を制御する構成としてもよい。
【００５７】
また、上記実施形態では、コード読取部２２２の読み取り対象を、バーコードや二次元コードとしたが、これに限らず、値引きシール等のサービスラベルであってもよい。なお、サービスラベルの読み取りを行う場合には、サービスラベルの識別パターン（例えば図案や模様等）を検出し、検出したサービスラベルに対応する情報（例えば値引き額等）を記憶部２１や図示しない記憶装置から読み出すものとする。
【００５８】
また、上記実施形態のコード読取装置１で実行されるプログラムは、コード読取装置１が備える記憶媒体（ＲＯＭ又は記憶部２１）に予め組み込んで提供するものとするが、これに限らず、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、記憶媒体は、コンピュータ或いは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
【００５９】
また、上記実施形態のコード読取装置１で実行されるプログラムをインターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよく、インターネット等のネットワーク経由で提供又は配布するように構成してもよい。
【符号の説明】
【００６０】
１  コード読取装置
２  基部
３  胴体部
４  頭部
５  腕部
６  腕部
１１  撮像部
１２  スピーカー
１３  マイク
１４  モータ
２１  記憶部
２１１  動作パターンデータ
２１２  メッセージデータ
２２  制御部
２２１  画像取得部
２２２  コード読取部
２２３  原因特定部
２２４  撮像範囲変更部
２２５  報知処理部
２２６  動作制御部
２３  通信部
２４  バスライン
１００  設置台
【先行技術文献】
【特許文献】
【００６１】
【特許文献１】特許第３２１３６６９号公報
【図１】
2013152638.tif 000003
【図２】
2013152638.tif 000004
【図３】
2013152638.tif 000005
【図４】
2013152638.tif 000006
【図５】
2013152638.tif 000007
【図６】
2013152638.tif 000008
【図７】
2013152638.tif 000009
【図８】
2013152638.tif 000010
【図９】
2013152638.tif 000011
【図１０】
2013152638.tif 000012