(57)【要約】【課題】コードシンボルの読み取りが失敗した際に、その改善方法をより有効に報知することが可能なコード読取装置及びプログラムを提供する。【解決手段】複数の可動部を有するロボットと、前記ロボットに設けられ、当該ロボット周辺の画像を撮像する撮像部と、前記画像に含まれるコードシンボルを検出し、当該コードシンボルから情報を読み取る読取手段と、前記読取手段が前記情報の読み取りに失敗した場合に、前記コードシンボルの撮像条件に基づいて前記失敗の原因を特定する特定手段と、前記原因に応じた改善方法を音声により報知するとともに、前記可動部を駆動することで前記ロボットの動作により報知する報知手段と、を備える。【選択図】図７
2013152633.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）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、記憶媒体は、コンピュータ或いは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
【００６４】
また、上記実施形態のコード読取装置１で実行されるプログラムをインターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよく、インターネット等のネットワーク経由で提供又は配布するように構成してもよい。
【符号の説明】
【００６５】
１  コード読取装置（ロボット）
２  基部
３  胴体部
４  頭部
５  腕部
６  腕部
１１  撮像部
１２  スピーカー
１３  マイク
１４  モータ
２１  記憶部
２１１、２１１ａ、２１１ｂ  動作パターンデータ
２１２  メッセージデータ
２２  制御部
２２１  画像取得部
２２２  コード読取部
２２３  原因特定部
２２４  報知処理部
２２５  動作制御部
２３  通信部
２４  バスライン
１００  設置台
【先行技術文献】
【特許文献】
【００６６】
【特許文献１】特許第３２１３６６９号公報
【図１】
2013152633.tif 000003
【図２】
2013152633.tif 000004
【図３】
2013152633.tif 000005
【図４】
2013152633.tif 000006
【図５】
2013152633.tif 000007
【図６】
2013152633.tif 000008
【図７】
2013152633.tif 000009
【図８】
2013152633.tif 000010
【図９】
2013152633.tif 000011
【図１０−１】
2013152633.tif 000012
【図１０−２】
2013152633.tif 000013
【図１１】
2013152633.tif 000014