シンボル読取装置及びプログラム
【課題】シンボルの読み取り精度を高めることである。
【解決手段】ハンディターミナル1は、シンボルをスキャンするスキャナ部16と、3次元の加速度を検出する加速度センサと、情報をユーザに通知する表示部14及びブザーと、スキャナ部16によりシンボルをスキャンさせてデコードするとともに、シンボル読み取りに適切な自装置の傾き角度である基点角度を取得し、加速度センサにより検出された加速度を用いて自装置の傾き角度を装置角度として算出し、前記基点角度と前記装置角度との差分が限界角度を超えているか否かを判別し、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を表示部14及びブザーに通知させる制御部と、を備える。
【解決手段】ハンディターミナル1は、シンボルをスキャンするスキャナ部16と、3次元の加速度を検出する加速度センサと、情報をユーザに通知する表示部14及びブザーと、スキャナ部16によりシンボルをスキャンさせてデコードするとともに、シンボル読み取りに適切な自装置の傾き角度である基点角度を取得し、加速度センサにより検出された加速度を用いて自装置の傾き角度を装置角度として算出し、前記基点角度と前記装置角度との差分が限界角度を超えているか否かを判別し、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を表示部14及びブザーに通知させる制御部と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シンボル読取装置及びプログラムに関する。
【背景技術】
【0002】
従来、商品等に付されたシンボルとしてのバーコードを読み取るバーコード読取装置(スキャナ)が知られている。バーコード読取装置としては、スーパーマーケット、コンビニエンスストア、個人商店、倉庫等において使用され、バーコード読取機能を有するハンディターミナル等の機器が知られている。
【0003】
バーコード読取装置としては、バーコードをスキャンする場合において、バーコードに対するバーコード読取装置の相対角度(傾き角度)を得るために、傾き(傾斜)センサを備えるものがあった。例えば、傾斜センサにより得られた自装置の傾き角度により自装置の状態を推定し、推定した状態に応じて、露光時間、アンプの利得、焦点距離、照明の明るさの読み取り制御条件や、2値化アルゴリズム、デコードするコード種を適切なものに切り替えるバーコード読取装置が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−309412号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記傾き角度に応じて読み取り制御条件等を切り替えるバーコード読取装置を含む従来のバーコード読取装置において、バーコードに対するバーコード読取装置の傾き角度には、限界角度があった。ユーザがこの限界角度よりもきつい傾き角度でバーコードの読み取りを行おうとすると、読み取りに失敗したり、誤読が発生する危険性があった。しかし、この限界角度は、一般的には理解されていない。このため、ユーザは、この限界角度を意識せずにバーコード読取装置を使用していることが多かった。
【0006】
そのため、バーコードに対してバーコード読取装置を傾けすぎた状態で読取が行われていることがあった。このような原因により、バーコードの誤読が発生することがあるが、ユーザは傾き角度が限界角度よりもきついために失敗しているとは気が付かないため、読み取り精度を改善できなかった。
【0007】
本発明の課題は、シンボルの読み取り精度を高めることである。
【課題を解決するための手段】
【0008】
上記課題を解決するために、請求項1に記載の発明のシンボル読取装置は、
シンボルをスキャンするスキャナ部と、
3次元の加速度を検出する加速度センサと、
情報をユーザに通知する通知部と、
シンボル読み取りに適切な自装置の傾き角度である基点角度を取得し、前記加速度センサにより検出された加速度を用いて自装置の傾き角度を装置角度として算出し、前記装置角度と前記基点角度との差分が限界角度を超えているか否かを判別し、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を前記通知部に通知させる制御部と、を備える。
【0009】
請求項2に記載の発明は、請求項1に記載のシンボル読取装置において、
前記通知部は、表示部、音出力部及び光点灯部の少なくとも一つを有し、
前記制御部は、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を、前記表示部による色表示と、前記表示部によるメッセージ表示と、前記音出力部による音出力と、前記光点灯部による光点灯との少なくとも一つにより、前記通知部に通知させる。
【0010】
請求項3に記載の発明は、請求項1又は2に記載のシンボル読取装置において、
前記制御部は、前記加速度センサにより検出された加速度データを用いて自装置の傾き角度を基点角度として算出して取得する。
【0011】
請求項4に記載の発明のプログラムは、
シンボル読取装置に搭載されたコンピュータを、
シンボルをスキャンするスキャナ部、
3次元の加速度を検出する加速度センサ、
情報をユーザに通知する通知部、
シンボル読み取りに適切な自装置の傾き角度である基点角度を取得し、前記加速度センサにより検出された加速度を用いて自装置の傾き角度を装置角度として算出し、前記装置角度と前記基点角度との差分が限界角度を超えているか否かを判別し、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を前記通知部に通知させる制御部、
として機能させる。
【発明の効果】
【0012】
本発明によれば、ユーザが限界角度内でシンボルを読み取らせることができ、シンボルの読み取り精度を高めることができる。
【図面の簡単な説明】
【0013】
【図1】本発明に係る実施の形態のハンディターミナルによるバーコードの読み取りを示す斜視図である。
【図2】ハンディターミナルの機能構成を示すブロック図である。
【図3】基点角度の相対位置関係のハンディターミナル及びバーコードの上面図である。
【図4】基点角度の相対位置関係のハンディターミナル及びバーコードの第1の側面図である。
【図5】基点角度の相対位置関係のハンディターミナル及びバーコードの第2の側面図である。
【図6】基点角度のハンディターミナルにおける3軸の傾き角度を示す斜視図である。
【図7】基点角度から傾けたハンディターミナルの3軸の傾き角度を示す斜視図である。
【図8】スキャン教示処理を示すフローチャートである。
【図9】第1のスキャン実行処理を示すフローチャートである。
【図10】基点角度入力処理を示すフローチャートである。
【図11】第2のスキャン実行処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して本発明に係る実施の形態及び変形例を順に詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【0015】
図1〜図9を参照して、本発明に係る実施の形態を説明する。先ず、図1及び図2を参照して、本実施の形態の装置構成を説明する。本実施の形態は、シンボルとして、1つの一次元バーパターンからなる一次元バーコードを読み取る構成である。先ず、図1〜図3を参照して、本実施の形態の装置構成を説明する。図1に、本実施の形態のハンディターミナル1によるバーコード30の読み取りを示す。図2に、ハンディターミナル1の機能構成を示す。
【0016】
本実施の形態のシンボル読取装置としてのハンディターミナル1は、コンビニエンスストア、スーパーマーケット、個人商店等の小売業の店舗等において使用され、商品等に付されたシンボルとしての1次元バーコードを読み取る機能を有する携帯端末である。
【0017】
図1に示すように、ハンディターミナル1は、例えば、1次元バーコードであるバーコード30を読み取る。バーコード30は、バーコード紙面40に印刷されているものとする。ハンディターミナル1は、ケース2と、トリガキー12Aと、各種キー12Bと、表示部14と、スキャナ部16と、を備える。
【0018】
ケース2は、ハンディターミナル1の本体ケースであり、(略)直方体の形状を有する。ケース2の正面を正面2Aとする。ケース2の長手方向の先端側の側面に、バーコード30を読み取るスキャナ部16が設けられている。スキャナ部16は、読み取り方向がケース2の正面2Aの長手方向に平行な方向に設けられているものとする。
【0019】
トリガキー12Aは、ケース2の正面2Aに設けられ、スキャナ部16によるバーコードのスキャン実行のためのトリガキーである。各種キー12Bは、ケース2の正面2Aに設けられ、文字、数字等の入力キーや、各種機能キー等を含む。表示部14は、ケース2の正面2Aに設けられ、各種表示情報を表示する。
【0020】
バーコード30の長手方向の中央における重力方向の軸を軸aとする。また、軸aに垂直な、バーコード30の短手方向の中央における水平方向の軸を軸bとする。また、スキャナ部16の読み取り範囲の中心に位置し且つ読み取り方向の軸を軸eとする。
【0021】
次いで、図2を参照して、ハンディターミナル1の内部の機能構成を説明する。図2に示すように、ハンディターミナル1は、制御部としてのCPU11と、操作部12と、RAM(Random Access Memory)13と、通知部(表示部)としての表示部14と、ROM(Read Only Memory)15と、スキャナ部16と、フラッシュメモリ17と、I/F(Inter Face)部18と、加速度センサ19と、通知部(音出力部)としてのブザー20と、通知部(光点灯部)としてのLED(Light Emitting Diode)21と、電源部22と、を備える。ハンディターミナル1の各部は、バス23を介して接続されている。
【0022】
CPU11は、ハンディターミナル1の各部を制御する。CPU11は、ROM15に記憶されているシステムプログラム及びアプリケーションプログラムのうち、指定されたプログラムを読み出してRAM13に展開し、RAM13に展開されたプログラムとの協働で、各種処理を実行する。
【0023】
CPU11は、スキャン教示プログラム151に従い、スキャン教示の際に、スキャナ部16によりバーコードをスキャンさせてデコードするとともに、バーコード読み取りに適切な基点角度を取得し、加速度センサ19により検出された加速度データを用いて自装置の装置角度を算出し、基点角度と装置角度との差分が限界角度を超えているか否かを判別する。そして、CPU11は、前記差分が限界角度を超えている場合に、限界角度を超えている旨を、ブザー20及び表示部14により出力する。
【0024】
また、CPU11は、第1のスキャン実行プログラム152に従い、スキャナ部16によりバーコードをスキャンさせ、デコードして読み取る。
【0025】
操作部12は、トリガキー12A、各種キー12Bを含むキーパッドを備える。操作部12は、キーパッドの各キーの操作入力を受け付け、操作入力に応じた操作情報をCPU11に出力する。
【0026】
RAM13は、情報を一時的に記憶する揮発性のメモリである。RAM13は、各種データ及びプログラムを格納するワークエリアを有する。
【0027】
表示部14は、LCD(Liquid Crystal Display)、ELD(Electro-Luminescent Display)等により構成される。表示部14は、CPU11から入力される表示情報に応じて各種表示を行う。また、表示部14は、カラー表示が可能な表示部、あるいはバックライトの色(赤色、青色等)を変更可能な表示部であるものとする。更に、表示部14は、CPU11の指示に応じて、メッセージ表示を行う。
【0028】
ROM15は、読み出し専用の情報を記憶しているメモリである。ROM15には、スキャン教示プログラム151、第1のスキャン実行プログラム152、が記憶されている。
【0029】
スキャナ部16は、シンボルとしてのバーコードをスキャンするレーザスキャナである。スキャナ部16は、例えば、発光部と、バイブレーションミラーと、受光部と、ゲイン部と、2値化部とを備える。スキャナ部16において、発光部から出射されたレーザ光は、バイブレーションミラーで反射されて左右に振られてバーコードに照射される。バーコードで反射されたレーザ光の反射光は、受光部で受光されて電気信号に変換される。この電気信号は、ゲイン部で増幅されて、2値化部で白のスペースと黒のバーとの長さの2値化データに変換されてCPU11に出力される。
【0030】
フラッシュメモリ17は、情報を読み書き自在に記憶する半導体メモリである。また、フラッシュメモリ17には、予め、ハンディターミナル1(ケース2)の限界角度(Xmax,Ymax,Zmax)が記憶されているものとする。限界角度(Xmax,Ymax,Zmax)は、詳細に後述される。
【0031】
I/F部18は、所定の機器と接続可能であり、接続された機器との通信を介する接続部である。I/F部18は、例えば、ハンディターミナル1が載置されるクレードルに接続され、このクレードルを介して管理サーバ等の機器に通信接続される。
【0032】
加速度センサ19は、3次元の加速度センサである。加速度センサ19は、ハンディターミナル1(ケース2)に対応する3軸方向の加速度を検出して3軸方向の加速度データとしてCPU11に出力する。
【0033】
ブザー20は、CPU11の指示に応じて、音を出力する音出力部である。ブザー20は、後述する正常完了通知音、異常傾き検出音のように、異なる音を出力可能である。
【0034】
LED21は、CPU11の指示に応じて、光を点灯、消灯、点滅する光出力部である。
【0035】
電源部22は、ハンディターミナル1の各部に電源を供給する電源である。電源部22は、例えば、リチウム電池等の二次電池である。
【0036】
次に、図3〜図9を参照して、ハンディターミナル1の動作を説明する。先ず、図3〜図7を参照して、ハンディターミナル1(ケース2)の傾き角度を説明する。図3に、基点角度の相対位置関係のハンディターミナル1及びバーコード30の上面構成を示す。図4に、基点角度の相対位置関係のハンディターミナル1及びバーコード30の正面2A長手方向側の側面構成を示す。図5に、基点角度の相対位置関係のハンディターミナル1及びバーコード30の正面2A後端側の側面構成を示す。図6に、基点角度のハンディターミナル1における3軸c、d、eの傾き角度を示す。図7に、基点角度から傾けたハンディターミナル1の3軸c、d、eの傾き角度を示す。
【0037】
図1のハンディターミナル1及びバーコード30は、基準の傾き角度としての基点角度である相対位置関係の状態にあるものとする。ハンディターミナル1は、基点角度の状態でバーコード読取が行われるのが最良である。つまり、基点角度は、バーコード読み取りを行うと、読み取りの失敗及び誤読が最も少なくなる傾き角度である。
【0038】
基点角度の状態では、図3に示すように、ハンディターミナル1の軸eとバーコード30の軸bとの交わる角度が90度である。また、基点角度の状態では、図4に示すように、ハンディターミナル1の軸eとバーコード30の軸aとの交わる角度が90度である。また、基点角度の状態では、図5に示すように、バーコード30の軸aと軸bとの交わる角度が90度であり、軸aと軸bとの交点がハンディターミナル1の軸eと交わる。
【0039】
図6に示すように、ハンディターミナル1の基点角度は、3つの軸c,d,eの周りの角度である基点角度(X,Y,Z)で表される。軸cは、ハンディターミナル1(ケース2)の正面2Aに垂直な軸である。Xは、軸cの周りのハンディターミナル1(ケース2)の回転角度である。また、Xは、バーコードの読み取り角度のピッチ角である。
【0040】
軸dは、ハンディターミナル1(ケース2)の正面2Aに平行で長手方向側の側面に垂直な軸である。Yは、軸dの周りのハンディターミナル1の回転角度である。また、Yは、バーコードの読み取り角度のスキュー角である。Zは、軸eの周りのハンディターミナル1(ケース2)の回転角度である。また、Zは、バーコードの読み取り角度のチルト角である。また、軸c,d,eは、一点で互いに直交している。
【0041】
図7を参照して、ハンディターミナル1(ケース2)を基点角度(X,Y,Z)から傾けた状態を考える。基点角度(X,Y,Z)から所定角度傾けた状態のハンディターミナル1における軸c,d,eの周りの傾き角度を装置角度(X’,Y’,Z’)として表す。装置角度(X’,Y’,Z’)は、X’=X+Xmove、Y’=Y+Ymove、Z’=Z+Zmoveで表される。但し、Xmoveは、装置角度X’と基点角度Xとの差分である。Ymoveは、装置角度Y’と基点角度Yとの差分である。Zmoveは、装置角度Z’と基点角度Zとの差分である。
【0042】
また、限界角度(Xmax,Ymax,Zmax)が予め設定されている。限界角度(Xmax,Ymax,Zmax)は、ハンディターミナル1(ケース2)をこれを超えて傾けるとバーコードの読み取りが失敗する若しくは誤読が発生する、又はその可能性が高い、基点角度(X,Y,Z)からの装置角度(X’,Y’,Z’)の差分の角度である。
【0043】
次いで、図8及び図9を参照して、ハンディターミナル1で実行される処理を説明する。図8に、スキャン教示処理を示す。図9に、第1のスキャン実行処理を示す。
【0044】
図8を参照して、ハンディターミナル1で実行されるスキャン教示処理を説明する。スキャン教示処理は、ユーザに対してハンディターミナル1におけるバーコード読み取りの姿勢の教示を行い、基点角度と装置角度との差分が限界角度よりも大きく傾けると警告を行う処理である。予め、ハンディターミナル1がユーザに把持され基点角度の姿勢にされているものとする。また、ユーザから操作部12を介する入力に応じてスキャン教示を行うためのスキャン教示モードに設定されているものとする。通常のスキャン実行を行うためのスキャン実行モードでは、バーコードの読み取り(デコード)に成功すると終了するが、スキャン教示モードでは、バーコードの読み取り(デコード)に成功しても処理が継続される。
【0045】
そして、ハンディターミナル1において、例えば、ユーザからのトリガキー12Aの押下入力が受け付けられたことをトリガとして、ROM15から読み出されて適宜RAM13に展開されたスキャン教示プログラム151とCPU11との協働で、スキャン教示処理が実行される。
【0046】
先ず、スキャナ部16によるバーコードスキャンが開始される(ステップS11)。ステップS11では、スキャナ部16における発光、レーザ光を左右に振ること、受光、電気信号の増幅及び2値化の一連の繰り返し動作が開始される。ユーザがトリガキー12Aを押し続ける間に、スキャン教示が行われるものとする。
【0047】
そして、加速度センサ19から3軸の加速度データが取得され、この加速度データに応じて、ハンディターミナル1(ケース2)の基点角度(X,Y,Z)が算出されて取得されRAM13に記憶される(ステップS12)。そして、トリガキー12Aが離された(押下されていない)か否かが判別される(ステップS13)。
【0048】
トリガキー12Aが離された場合(ステップS13;YES)、スキャン教示処理が終了する。トリガキー12Aが離されていない場合(ステップS13;NO)、スキャナ部16から2値化データが取得され、この2値化データを用いてデコードが実行される(ステップS14)。そして、加速度センサ19から3軸の加速度データが取得され、この加速度データに応じて、ハンディターミナル1(ケース2)の装置角度(X’,Y’,Z’)が算出されて取得されRAM13に記憶される(ステップS15)。
【0049】
そして、フラッシュメモリ17から限界角度Xmaxが読み出され、ステップS12,S15で取得されたX,X’を用いて、|X−X’|>Xmaxであるか否かが判別される(ステップS16)。|X’−X|>Xmaxでない場合(ステップS16;NO)、ピッチ角について基点角度からの差分が限界角度Xmaxを超えておらず、フラッシュメモリ17から限界角度Ymaxが読み出され、ステップS12,S15で取得されたY,Y’を用いて、|Y’−Y|>Ymaxであるか否かが判別される(ステップS17)。|Y’−Y|>Ymaxでない場合(ステップS17;NO)、スキュー角について基点角度からの差分が限界角度Ymaxを超えておらず、フラッシュメモリ17から限界角度Zmaxが読み出され、ステップS12,S15で取得されたZ,Z’を用いて、|Z’−Z|>Zmaxであるか否かが判別される(ステップS18)。
【0050】
|Z’−Z|>Zmaxでない場合(ステップS18;NO)、チルト角について基点角度からの差分が限界角度Zmaxを超えておらず、ステップS14で実行されたデコードが成功(OK)であるか否かが判別される(ステップS19)。デコードが失敗した場合(ステップS19;NO)、ステップS13に移行される。デコードが成功した場合(ステップS19;YES)、成功したデコードに対応するバーコードの読取結果が表示部14に青色で表示され(ステップS20)、ステップS13に移行される。この青色は、ハンディターミナル1(ケース)の傾きが正常である場合のデコード成功を示す色であるとする。また、この青色は、表示部14のメッセージの表示色又はバックライトの色である。
【0051】
|X’−X|>Xmaxである場合(ステップS16;YES)、ピッチ角について基点角度からの差分が限界角度Xmaxを超えており、ブザー20により異常傾き検出音が出力される(ステップS21)。この異常傾き検出音は、ハンディターミナル1(ケース2)の傾きが限界角度を超えたことを示す音である。|Y’−Y|>Ymaxである場合(ステップS17;YES)、スキュー角について基点角度からの差分が限界角度Zmaxを超えており、ステップS21に移行される。|Z’−Z|>Zmaxである場合(ステップS18;YES)、チルト角について基点角度からの差分が限界角度Zmaxを超えており、ステップS21に移行される。異常傾き検出音は、ピッチ角X’、スキュー角Y’、チルト角Z’の異常で共通の音としてもよく、どの角度の異常かを知らせるため、ピッチ角X’、スキュー角Y’、チルト角Z’の異常で互いに異なる音としてもよい。
【0052】
そして、ステップS14で実行されたデコードが成功(OK)であるか否かが判別される(ステップS22)。デコードが失敗した場合(ステップS22;NO)、ステップS13に移行される。デコードが成功した場合(ステップS22;YES)、成功したデコードに対応するバーコードの読取結果が表示部14に赤色で表示され(ステップS23)、ステップS13に移行される。この赤色は、ハンディターミナル1(ケース)の傾きが異常である場合のデコード成功を示す色であるとする。また、この赤色は、表示部14のメッセージの表示色又はバックライトの色である。
【0053】
次いで、図9を参照して、ハンディターミナル1で実行される第1のスキャン実行処理を説明する。第1のスキャン実行処理は、スキャン教示処理によりユーザに適宜スキャンの教示が行われた後、実際にバーコード読み取りを実行する処理である。予め、ハンディターミナル1がユーザに把持され、ユーザから操作部12を介する入力に応じてスキャン実行モードに設定されているものとする。
【0054】
そして、ハンディターミナル1において、例えば、ユーザからのトリガキー12Aの押下入力が受け付けられたことをトリガとして、ROM15から読み出されて適宜RAM13に展開された第1のスキャン実行プログラム152とCPU11との協働で、第1のスキャン教示処理が実行される。
【0055】
先ず、スキャナ部16によるバーコードスキャンが開始される(ステップS31)。ユーザは、スキャン実行の間に、トリガキー12Aを押し続けるものとする。そして、トリガキー12Aが離された(押下されていない)か否かが判別される(ステップS32)。
【0056】
トリガキー12Aが離された場合(ステップS32;YES)、第1のスキャン実行処理が終了する。トリガキー12Aが離されていない場合(ステップS32;NO)、スキャナ部16から2値化データが取得され、この2値化データを用いてデコードが実行される(ステップS33)。そして、ステップS33で実行されたデコードが成功(OK)であるか否かが判別される(ステップS34)。デコードが失敗した場合(ステップS34;NO)、ステップS32に移行される。
【0057】
デコードが成功した場合(ステップS34;YES)、ブザー20により正常完了通知音が出力される(ステップS35)。この正常完了通知音は、デコードが成功して完了したことを示す音である。そして、成功したデコードに対応するバーコードの読取結果が表示部14に青色で表示され(ステップS36)、ステップS13に移行される。
【0058】
以上、本実施の形態によれば、ハンディターミナル1は、スキャン教示の際に、スキャナ部16によりシンボルをスキャンさせてデコードするとともに、バーコード読み取りに適切な基点角度(X,Y,Z)を取得し、加速度センサ19により検出された加速度データを用いて自装置の装置角度(X’,Y’,Z’)を算出し、基点角度(X,Y,Z)と装置角度(X’,Y’,Z’)との差分が限界角度(Xmax,Ymax,Zmax)を超えているか否かを判別する。そして、ハンディターミナル1は、前記差分が限界角度(Xmax,Ymax,Zmax)を超えている場合に、限界角度(Xmax,Ymax,Zmax)を超えている旨を、ブザー20及び表示部14により出力する。このため、ユーザが限界角度(Xmax,Ymax,Zmax)を超えている旨を確認できるので、ユーザがハンディターミナル1を動かして限界角度内でバーコードを読み取らせることができ、バーコードの読み取り精度を高めることができる。
【0059】
また、異常傾き時に、ブザー20により正常時の正常完了通知音と異なる異常傾き検出音を出力し、読取結果を表示部14に正常時の青色表示と異なる赤色表示する。このため、ユーザが限界角度(Xmax,Ymax,Zmax)を超えている旨を視覚及び聴覚を通じて確実に確認できる。
【0060】
また、ハンディターミナル1は、加速度センサ19により検出された加速度データを用いて基点角度を算出して設定する。このため、ユーザが任意の基点角度を設定できる。例えば、図3〜図5で説明した配置のバーコードと異なり、長手方向が水平面に対して平行でない配置のバーコードにも、基点角度を容易に合せて設定することができる。
【0061】
また、ハンディターミナル1は、前記差分が限界角度(Xmax,Ymax,Zmax)を超えており且つデコードが成功した場合に、差分が限界角度を超えて且つデコードが成功した旨を読み取り結果とともに表示部14に赤色表示する。このため、差分が限界角度を超えて且つデコードが成功した場合に、ユーザがバーコードの誤読の可能性が高い旨を視覚を通じて確実に確認できる。
【0062】
(変形例)
図10及び図11を参照して、上記実施の形態の変形例を説明する。図10に、基点角度入力処理を示す。図11に、第2のスキャン実行処理を示す。
【0063】
上記実施の形態では、スキャン教示時に、ハンディターミナル1の基点角度と装置角度との差分が限界角度を超えたことをユーザに通知する構成であった。これに対し、本変形例では、スキャン実行時に、ハンディターミナル1の基点角度と装置角度との差分が限界角度を超えたことをユーザに通知する構成である。
【0064】
本変形例の装置構成は、上記実施の形態と同じくハンディターミナル1を用いた構成である。但し、ROM15には、スキャン教示プログラム151及び第1のスキャン実行プログラム152に代えて、後述する基点角度入力プログラム及び第2のスキャン実行プログラムが記憶されているものとする。また、各種キー12Bには、基点角度入力のトリガキーである基点角度入力キーが含まれているものとする。
【0065】
次に、本変形例におけるハンディターミナル1の動作を説明する。先ず、図10を参照して、ハンディターミナル1で実行される基点角度入力処理を説明する。上記実施の形態では、基点角度(X,Y,Z)は、一時的にしか使用しないため、スキャン教示処理実行中に取得しRAM13に記憶されているものとした。これに対し、本変形例では、基点角度は一度入力したものを繰り返し使用するため、基点角度入力処理とスキャン実行処理は別々の処理にわかれている。本変形例の基点角度入力処理は、スキャン実行の前に、当該スキャン実行で用いる基点角度をユーザが入力して設定する処理である。
【0066】
予め、ハンディターミナル1がユーザに把持され、ユーザによりハンディターミナル1が所望の基点角度にしたい姿勢(傾き)にされているものとする。そして、ハンディターミナル1において、例えば、ユーザからの各種キー12Bの基点角度入力キーの押下入力が受け付けられたことをトリガとして、ROM15から読み出されて適宜RAM13に展開された基点角度入力プログラムとCPU11との協働で、基点角度入力処理が実行される。
【0067】
先ず、加速度センサ19から3軸の加速度データが取得され、この加速度データに応じて、ハンディターミナル1(ケース2)の基点角度(X,Y,Z)が算出されて取得されてフラッシュメモリ17に記憶され(ステップS41)、基点角度入力処理が終了する。
【0068】
次いで、図11を参照して、ハンディターミナル1で実行される第2のスキャン実行処理を説明する。第2のスキャン実行処理は、ハンディターミナル1の基点角度と装置角度との差分が限界角度を超えたことをユーザに通知するとともに、実際にバーコード読み取りを実行する処理である。予め、ハンディターミナル1がユーザに把持され、ユーザから操作部12を介する入力に応じてスキャン実行モードに設定されているものとする。
【0069】
そして、ハンディターミナル1において、例えば、ユーザからのトリガキー12Aの押下入力が受け付けられたことをトリガとして、ROM15から読み出されて適宜RAM13に展開された第2のスキャン実行プログラムとCPU11との協働で、第1のスキャン実行処理が実行される。
【0070】
先ず、スキャナ部16によるバーコードスキャンが開始される(ステップS51)。ユーザは、スキャン実行の間に、トリガキー12Aを押し続けるものとする。そして、基点角度入力処理で記憶されたフラッシュメモリ17に記憶されている、ハンディターミナル1(ケース2)の基点角度(X,Y,Z)が読み出されて取得される(ステップS52)。
【0071】
ステップS53〜S60は、それぞれ順に、スキャン教示処理のステップS13〜S20と同様である。ステップS60の実行後、ブザー20により正常完了通知音が出力され(ステップS61)、第2のスキャン実行処理が終了する。ステップS62〜S64は、それぞれ順に、スキャン教示処理のステップS21〜S23と同様である。
【0072】
以上、本変形例によれば、上記実施の形態と同様に、スキャン実行の際に、ユーザが限界角度(Xmax,Ymax,Zmax)を超えている旨を確認できるので、ユーザがハンディターミナル1を動かして限界角度内でバーコードを読み取らせることができ、バーコードの読み取り精度を高めることができる。
【0073】
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてROM15を使用した例を開示したが、この例に限定されない。
その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ17等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することが可能である。
また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0074】
なお、上記実施の形態における記述は、本発明に係るシンボル読取装置及びプログラムの一例であり、これに限定されるものではない。
【0075】
例えば、上記実施の形態及び変形例を適宜組み合わせる構成としてもよい。また、上記実施の形態及び変形例では、ハンディターミナル1(ケース2)の基点角度と装置角度との差分が限界角度を超えた異常傾き時に、異常傾き検出音を通知部としてのブザー20から出力し、同じく限界角度を超えずにデコードが成功して完了した場合に、正常完了通知音をブザー20から出力したが、これに限定されるものではない。例えば、通知部としての表示部14による表示、通知部としてのLED21による点灯、点滅の仕方、点灯色等を変更して、異常傾きの検出や、正常傾き時のデコードの正常完了をユーザに通知する構成としてもよい。
【0076】
また、上記実施の形態及び変形例では、ハンディターミナル1(ケース2)の基点角度と装置角度との差分が限界角度を超えた異常時に、読取結果を表示部14で青色表示し、同じく限界角度を超えずにデコードが成功して完了した場合に、読取結果を表示部14で赤色表示したが、これに限定されるものではない。例えば、表示色は、他の色でもよい。また、異常傾き時又は正常傾き時に、その旨のメッセージとともに読取結果を表示部14で表示する構成としてもよい。また、ハンディターミナル1が通知部(音出力部)としてのスピーカを備え、異常傾き時である旨とともに読取結果をスピーカで音声出力し、正常傾き時である旨とともに読取結果をスピーカで音声出力する構成としてもよい。また、上記の表示部14によるメッセージ表示、表示部14による色分け表示、ブザー20による音出力、LED21による点灯(点滅)、色分け点灯、スピーカによる音声出力等の少なくとも2つを組み合わせる構成としてもよい。
【0077】
また、上記実施の形態及び変形例では、基点角度をユーザ入力により自在に設定した構成であったが、これに限定されるものではない。例えば、バーコードの基点角度が常に決まっていれば、その基点角度が予め設定されてフラッシュメモリ17等に記憶されており、スキャン教示やスキャン実行の際に、基点角度の入力を行うことなく、フラッシュメモリ17等に記憶された基点角度が読み出されることとしてもよい。
【0078】
また、上記実施の形態及び変形例では、ハンディターミナル1が、レーザスキャナであるスキャナ部16により、シンボルとして一次元バーコードを読み取る構成としたが、これに限定されるものではない。例えば、ハンディターミナル1が、イメージスキャナ等、他のスキャナ部を備る構成としてもよい。例えば、このイメージスキャナにより、一次元バーコードや、スタック型2次元コード、QRコード等の2次元コード等、他のシンボルを読み取る構成としてもよい。
【0079】
また、上記各実施の形態では、シンボル読取装置としてハンディターミナルを用いる構成としたが、これに限定されるものではない。シンボル読取装置としては、携帯電話機、PHS(Personal Handyphone System)、PDA(Personal Digital Assistant)等、他のシンボル読取機能を有する装置を用いることとしてもよい。
【0080】
また、上記実施の形態及び変形例におけるハンディターミナル1の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【符号の説明】
【0081】
1 ハンディターミナル
2 ケース
2A 正面
11 CPU
12 操作部
12A トリガキー
12B 各種キー
13 RAM
14 表示部
15 ROM
16 スキャナ部
17 フラッシュメモリ
18 I/F部
19 加速度センサ
20 ブザー
21 LED
22 電源部
23 バス
【技術分野】
【0001】
本発明は、シンボル読取装置及びプログラムに関する。
【背景技術】
【0002】
従来、商品等に付されたシンボルとしてのバーコードを読み取るバーコード読取装置(スキャナ)が知られている。バーコード読取装置としては、スーパーマーケット、コンビニエンスストア、個人商店、倉庫等において使用され、バーコード読取機能を有するハンディターミナル等の機器が知られている。
【0003】
バーコード読取装置としては、バーコードをスキャンする場合において、バーコードに対するバーコード読取装置の相対角度(傾き角度)を得るために、傾き(傾斜)センサを備えるものがあった。例えば、傾斜センサにより得られた自装置の傾き角度により自装置の状態を推定し、推定した状態に応じて、露光時間、アンプの利得、焦点距離、照明の明るさの読み取り制御条件や、2値化アルゴリズム、デコードするコード種を適切なものに切り替えるバーコード読取装置が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−309412号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記傾き角度に応じて読み取り制御条件等を切り替えるバーコード読取装置を含む従来のバーコード読取装置において、バーコードに対するバーコード読取装置の傾き角度には、限界角度があった。ユーザがこの限界角度よりもきつい傾き角度でバーコードの読み取りを行おうとすると、読み取りに失敗したり、誤読が発生する危険性があった。しかし、この限界角度は、一般的には理解されていない。このため、ユーザは、この限界角度を意識せずにバーコード読取装置を使用していることが多かった。
【0006】
そのため、バーコードに対してバーコード読取装置を傾けすぎた状態で読取が行われていることがあった。このような原因により、バーコードの誤読が発生することがあるが、ユーザは傾き角度が限界角度よりもきついために失敗しているとは気が付かないため、読み取り精度を改善できなかった。
【0007】
本発明の課題は、シンボルの読み取り精度を高めることである。
【課題を解決するための手段】
【0008】
上記課題を解決するために、請求項1に記載の発明のシンボル読取装置は、
シンボルをスキャンするスキャナ部と、
3次元の加速度を検出する加速度センサと、
情報をユーザに通知する通知部と、
シンボル読み取りに適切な自装置の傾き角度である基点角度を取得し、前記加速度センサにより検出された加速度を用いて自装置の傾き角度を装置角度として算出し、前記装置角度と前記基点角度との差分が限界角度を超えているか否かを判別し、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を前記通知部に通知させる制御部と、を備える。
【0009】
請求項2に記載の発明は、請求項1に記載のシンボル読取装置において、
前記通知部は、表示部、音出力部及び光点灯部の少なくとも一つを有し、
前記制御部は、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を、前記表示部による色表示と、前記表示部によるメッセージ表示と、前記音出力部による音出力と、前記光点灯部による光点灯との少なくとも一つにより、前記通知部に通知させる。
【0010】
請求項3に記載の発明は、請求項1又は2に記載のシンボル読取装置において、
前記制御部は、前記加速度センサにより検出された加速度データを用いて自装置の傾き角度を基点角度として算出して取得する。
【0011】
請求項4に記載の発明のプログラムは、
シンボル読取装置に搭載されたコンピュータを、
シンボルをスキャンするスキャナ部、
3次元の加速度を検出する加速度センサ、
情報をユーザに通知する通知部、
シンボル読み取りに適切な自装置の傾き角度である基点角度を取得し、前記加速度センサにより検出された加速度を用いて自装置の傾き角度を装置角度として算出し、前記装置角度と前記基点角度との差分が限界角度を超えているか否かを判別し、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を前記通知部に通知させる制御部、
として機能させる。
【発明の効果】
【0012】
本発明によれば、ユーザが限界角度内でシンボルを読み取らせることができ、シンボルの読み取り精度を高めることができる。
【図面の簡単な説明】
【0013】
【図1】本発明に係る実施の形態のハンディターミナルによるバーコードの読み取りを示す斜視図である。
【図2】ハンディターミナルの機能構成を示すブロック図である。
【図3】基点角度の相対位置関係のハンディターミナル及びバーコードの上面図である。
【図4】基点角度の相対位置関係のハンディターミナル及びバーコードの第1の側面図である。
【図5】基点角度の相対位置関係のハンディターミナル及びバーコードの第2の側面図である。
【図6】基点角度のハンディターミナルにおける3軸の傾き角度を示す斜視図である。
【図7】基点角度から傾けたハンディターミナルの3軸の傾き角度を示す斜視図である。
【図8】スキャン教示処理を示すフローチャートである。
【図9】第1のスキャン実行処理を示すフローチャートである。
【図10】基点角度入力処理を示すフローチャートである。
【図11】第2のスキャン実行処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して本発明に係る実施の形態及び変形例を順に詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【0015】
図1〜図9を参照して、本発明に係る実施の形態を説明する。先ず、図1及び図2を参照して、本実施の形態の装置構成を説明する。本実施の形態は、シンボルとして、1つの一次元バーパターンからなる一次元バーコードを読み取る構成である。先ず、図1〜図3を参照して、本実施の形態の装置構成を説明する。図1に、本実施の形態のハンディターミナル1によるバーコード30の読み取りを示す。図2に、ハンディターミナル1の機能構成を示す。
【0016】
本実施の形態のシンボル読取装置としてのハンディターミナル1は、コンビニエンスストア、スーパーマーケット、個人商店等の小売業の店舗等において使用され、商品等に付されたシンボルとしての1次元バーコードを読み取る機能を有する携帯端末である。
【0017】
図1に示すように、ハンディターミナル1は、例えば、1次元バーコードであるバーコード30を読み取る。バーコード30は、バーコード紙面40に印刷されているものとする。ハンディターミナル1は、ケース2と、トリガキー12Aと、各種キー12Bと、表示部14と、スキャナ部16と、を備える。
【0018】
ケース2は、ハンディターミナル1の本体ケースであり、(略)直方体の形状を有する。ケース2の正面を正面2Aとする。ケース2の長手方向の先端側の側面に、バーコード30を読み取るスキャナ部16が設けられている。スキャナ部16は、読み取り方向がケース2の正面2Aの長手方向に平行な方向に設けられているものとする。
【0019】
トリガキー12Aは、ケース2の正面2Aに設けられ、スキャナ部16によるバーコードのスキャン実行のためのトリガキーである。各種キー12Bは、ケース2の正面2Aに設けられ、文字、数字等の入力キーや、各種機能キー等を含む。表示部14は、ケース2の正面2Aに設けられ、各種表示情報を表示する。
【0020】
バーコード30の長手方向の中央における重力方向の軸を軸aとする。また、軸aに垂直な、バーコード30の短手方向の中央における水平方向の軸を軸bとする。また、スキャナ部16の読み取り範囲の中心に位置し且つ読み取り方向の軸を軸eとする。
【0021】
次いで、図2を参照して、ハンディターミナル1の内部の機能構成を説明する。図2に示すように、ハンディターミナル1は、制御部としてのCPU11と、操作部12と、RAM(Random Access Memory)13と、通知部(表示部)としての表示部14と、ROM(Read Only Memory)15と、スキャナ部16と、フラッシュメモリ17と、I/F(Inter Face)部18と、加速度センサ19と、通知部(音出力部)としてのブザー20と、通知部(光点灯部)としてのLED(Light Emitting Diode)21と、電源部22と、を備える。ハンディターミナル1の各部は、バス23を介して接続されている。
【0022】
CPU11は、ハンディターミナル1の各部を制御する。CPU11は、ROM15に記憶されているシステムプログラム及びアプリケーションプログラムのうち、指定されたプログラムを読み出してRAM13に展開し、RAM13に展開されたプログラムとの協働で、各種処理を実行する。
【0023】
CPU11は、スキャン教示プログラム151に従い、スキャン教示の際に、スキャナ部16によりバーコードをスキャンさせてデコードするとともに、バーコード読み取りに適切な基点角度を取得し、加速度センサ19により検出された加速度データを用いて自装置の装置角度を算出し、基点角度と装置角度との差分が限界角度を超えているか否かを判別する。そして、CPU11は、前記差分が限界角度を超えている場合に、限界角度を超えている旨を、ブザー20及び表示部14により出力する。
【0024】
また、CPU11は、第1のスキャン実行プログラム152に従い、スキャナ部16によりバーコードをスキャンさせ、デコードして読み取る。
【0025】
操作部12は、トリガキー12A、各種キー12Bを含むキーパッドを備える。操作部12は、キーパッドの各キーの操作入力を受け付け、操作入力に応じた操作情報をCPU11に出力する。
【0026】
RAM13は、情報を一時的に記憶する揮発性のメモリである。RAM13は、各種データ及びプログラムを格納するワークエリアを有する。
【0027】
表示部14は、LCD(Liquid Crystal Display)、ELD(Electro-Luminescent Display)等により構成される。表示部14は、CPU11から入力される表示情報に応じて各種表示を行う。また、表示部14は、カラー表示が可能な表示部、あるいはバックライトの色(赤色、青色等)を変更可能な表示部であるものとする。更に、表示部14は、CPU11の指示に応じて、メッセージ表示を行う。
【0028】
ROM15は、読み出し専用の情報を記憶しているメモリである。ROM15には、スキャン教示プログラム151、第1のスキャン実行プログラム152、が記憶されている。
【0029】
スキャナ部16は、シンボルとしてのバーコードをスキャンするレーザスキャナである。スキャナ部16は、例えば、発光部と、バイブレーションミラーと、受光部と、ゲイン部と、2値化部とを備える。スキャナ部16において、発光部から出射されたレーザ光は、バイブレーションミラーで反射されて左右に振られてバーコードに照射される。バーコードで反射されたレーザ光の反射光は、受光部で受光されて電気信号に変換される。この電気信号は、ゲイン部で増幅されて、2値化部で白のスペースと黒のバーとの長さの2値化データに変換されてCPU11に出力される。
【0030】
フラッシュメモリ17は、情報を読み書き自在に記憶する半導体メモリである。また、フラッシュメモリ17には、予め、ハンディターミナル1(ケース2)の限界角度(Xmax,Ymax,Zmax)が記憶されているものとする。限界角度(Xmax,Ymax,Zmax)は、詳細に後述される。
【0031】
I/F部18は、所定の機器と接続可能であり、接続された機器との通信を介する接続部である。I/F部18は、例えば、ハンディターミナル1が載置されるクレードルに接続され、このクレードルを介して管理サーバ等の機器に通信接続される。
【0032】
加速度センサ19は、3次元の加速度センサである。加速度センサ19は、ハンディターミナル1(ケース2)に対応する3軸方向の加速度を検出して3軸方向の加速度データとしてCPU11に出力する。
【0033】
ブザー20は、CPU11の指示に応じて、音を出力する音出力部である。ブザー20は、後述する正常完了通知音、異常傾き検出音のように、異なる音を出力可能である。
【0034】
LED21は、CPU11の指示に応じて、光を点灯、消灯、点滅する光出力部である。
【0035】
電源部22は、ハンディターミナル1の各部に電源を供給する電源である。電源部22は、例えば、リチウム電池等の二次電池である。
【0036】
次に、図3〜図9を参照して、ハンディターミナル1の動作を説明する。先ず、図3〜図7を参照して、ハンディターミナル1(ケース2)の傾き角度を説明する。図3に、基点角度の相対位置関係のハンディターミナル1及びバーコード30の上面構成を示す。図4に、基点角度の相対位置関係のハンディターミナル1及びバーコード30の正面2A長手方向側の側面構成を示す。図5に、基点角度の相対位置関係のハンディターミナル1及びバーコード30の正面2A後端側の側面構成を示す。図6に、基点角度のハンディターミナル1における3軸c、d、eの傾き角度を示す。図7に、基点角度から傾けたハンディターミナル1の3軸c、d、eの傾き角度を示す。
【0037】
図1のハンディターミナル1及びバーコード30は、基準の傾き角度としての基点角度である相対位置関係の状態にあるものとする。ハンディターミナル1は、基点角度の状態でバーコード読取が行われるのが最良である。つまり、基点角度は、バーコード読み取りを行うと、読み取りの失敗及び誤読が最も少なくなる傾き角度である。
【0038】
基点角度の状態では、図3に示すように、ハンディターミナル1の軸eとバーコード30の軸bとの交わる角度が90度である。また、基点角度の状態では、図4に示すように、ハンディターミナル1の軸eとバーコード30の軸aとの交わる角度が90度である。また、基点角度の状態では、図5に示すように、バーコード30の軸aと軸bとの交わる角度が90度であり、軸aと軸bとの交点がハンディターミナル1の軸eと交わる。
【0039】
図6に示すように、ハンディターミナル1の基点角度は、3つの軸c,d,eの周りの角度である基点角度(X,Y,Z)で表される。軸cは、ハンディターミナル1(ケース2)の正面2Aに垂直な軸である。Xは、軸cの周りのハンディターミナル1(ケース2)の回転角度である。また、Xは、バーコードの読み取り角度のピッチ角である。
【0040】
軸dは、ハンディターミナル1(ケース2)の正面2Aに平行で長手方向側の側面に垂直な軸である。Yは、軸dの周りのハンディターミナル1の回転角度である。また、Yは、バーコードの読み取り角度のスキュー角である。Zは、軸eの周りのハンディターミナル1(ケース2)の回転角度である。また、Zは、バーコードの読み取り角度のチルト角である。また、軸c,d,eは、一点で互いに直交している。
【0041】
図7を参照して、ハンディターミナル1(ケース2)を基点角度(X,Y,Z)から傾けた状態を考える。基点角度(X,Y,Z)から所定角度傾けた状態のハンディターミナル1における軸c,d,eの周りの傾き角度を装置角度(X’,Y’,Z’)として表す。装置角度(X’,Y’,Z’)は、X’=X+Xmove、Y’=Y+Ymove、Z’=Z+Zmoveで表される。但し、Xmoveは、装置角度X’と基点角度Xとの差分である。Ymoveは、装置角度Y’と基点角度Yとの差分である。Zmoveは、装置角度Z’と基点角度Zとの差分である。
【0042】
また、限界角度(Xmax,Ymax,Zmax)が予め設定されている。限界角度(Xmax,Ymax,Zmax)は、ハンディターミナル1(ケース2)をこれを超えて傾けるとバーコードの読み取りが失敗する若しくは誤読が発生する、又はその可能性が高い、基点角度(X,Y,Z)からの装置角度(X’,Y’,Z’)の差分の角度である。
【0043】
次いで、図8及び図9を参照して、ハンディターミナル1で実行される処理を説明する。図8に、スキャン教示処理を示す。図9に、第1のスキャン実行処理を示す。
【0044】
図8を参照して、ハンディターミナル1で実行されるスキャン教示処理を説明する。スキャン教示処理は、ユーザに対してハンディターミナル1におけるバーコード読み取りの姿勢の教示を行い、基点角度と装置角度との差分が限界角度よりも大きく傾けると警告を行う処理である。予め、ハンディターミナル1がユーザに把持され基点角度の姿勢にされているものとする。また、ユーザから操作部12を介する入力に応じてスキャン教示を行うためのスキャン教示モードに設定されているものとする。通常のスキャン実行を行うためのスキャン実行モードでは、バーコードの読み取り(デコード)に成功すると終了するが、スキャン教示モードでは、バーコードの読み取り(デコード)に成功しても処理が継続される。
【0045】
そして、ハンディターミナル1において、例えば、ユーザからのトリガキー12Aの押下入力が受け付けられたことをトリガとして、ROM15から読み出されて適宜RAM13に展開されたスキャン教示プログラム151とCPU11との協働で、スキャン教示処理が実行される。
【0046】
先ず、スキャナ部16によるバーコードスキャンが開始される(ステップS11)。ステップS11では、スキャナ部16における発光、レーザ光を左右に振ること、受光、電気信号の増幅及び2値化の一連の繰り返し動作が開始される。ユーザがトリガキー12Aを押し続ける間に、スキャン教示が行われるものとする。
【0047】
そして、加速度センサ19から3軸の加速度データが取得され、この加速度データに応じて、ハンディターミナル1(ケース2)の基点角度(X,Y,Z)が算出されて取得されRAM13に記憶される(ステップS12)。そして、トリガキー12Aが離された(押下されていない)か否かが判別される(ステップS13)。
【0048】
トリガキー12Aが離された場合(ステップS13;YES)、スキャン教示処理が終了する。トリガキー12Aが離されていない場合(ステップS13;NO)、スキャナ部16から2値化データが取得され、この2値化データを用いてデコードが実行される(ステップS14)。そして、加速度センサ19から3軸の加速度データが取得され、この加速度データに応じて、ハンディターミナル1(ケース2)の装置角度(X’,Y’,Z’)が算出されて取得されRAM13に記憶される(ステップS15)。
【0049】
そして、フラッシュメモリ17から限界角度Xmaxが読み出され、ステップS12,S15で取得されたX,X’を用いて、|X−X’|>Xmaxであるか否かが判別される(ステップS16)。|X’−X|>Xmaxでない場合(ステップS16;NO)、ピッチ角について基点角度からの差分が限界角度Xmaxを超えておらず、フラッシュメモリ17から限界角度Ymaxが読み出され、ステップS12,S15で取得されたY,Y’を用いて、|Y’−Y|>Ymaxであるか否かが判別される(ステップS17)。|Y’−Y|>Ymaxでない場合(ステップS17;NO)、スキュー角について基点角度からの差分が限界角度Ymaxを超えておらず、フラッシュメモリ17から限界角度Zmaxが読み出され、ステップS12,S15で取得されたZ,Z’を用いて、|Z’−Z|>Zmaxであるか否かが判別される(ステップS18)。
【0050】
|Z’−Z|>Zmaxでない場合(ステップS18;NO)、チルト角について基点角度からの差分が限界角度Zmaxを超えておらず、ステップS14で実行されたデコードが成功(OK)であるか否かが判別される(ステップS19)。デコードが失敗した場合(ステップS19;NO)、ステップS13に移行される。デコードが成功した場合(ステップS19;YES)、成功したデコードに対応するバーコードの読取結果が表示部14に青色で表示され(ステップS20)、ステップS13に移行される。この青色は、ハンディターミナル1(ケース)の傾きが正常である場合のデコード成功を示す色であるとする。また、この青色は、表示部14のメッセージの表示色又はバックライトの色である。
【0051】
|X’−X|>Xmaxである場合(ステップS16;YES)、ピッチ角について基点角度からの差分が限界角度Xmaxを超えており、ブザー20により異常傾き検出音が出力される(ステップS21)。この異常傾き検出音は、ハンディターミナル1(ケース2)の傾きが限界角度を超えたことを示す音である。|Y’−Y|>Ymaxである場合(ステップS17;YES)、スキュー角について基点角度からの差分が限界角度Zmaxを超えており、ステップS21に移行される。|Z’−Z|>Zmaxである場合(ステップS18;YES)、チルト角について基点角度からの差分が限界角度Zmaxを超えており、ステップS21に移行される。異常傾き検出音は、ピッチ角X’、スキュー角Y’、チルト角Z’の異常で共通の音としてもよく、どの角度の異常かを知らせるため、ピッチ角X’、スキュー角Y’、チルト角Z’の異常で互いに異なる音としてもよい。
【0052】
そして、ステップS14で実行されたデコードが成功(OK)であるか否かが判別される(ステップS22)。デコードが失敗した場合(ステップS22;NO)、ステップS13に移行される。デコードが成功した場合(ステップS22;YES)、成功したデコードに対応するバーコードの読取結果が表示部14に赤色で表示され(ステップS23)、ステップS13に移行される。この赤色は、ハンディターミナル1(ケース)の傾きが異常である場合のデコード成功を示す色であるとする。また、この赤色は、表示部14のメッセージの表示色又はバックライトの色である。
【0053】
次いで、図9を参照して、ハンディターミナル1で実行される第1のスキャン実行処理を説明する。第1のスキャン実行処理は、スキャン教示処理によりユーザに適宜スキャンの教示が行われた後、実際にバーコード読み取りを実行する処理である。予め、ハンディターミナル1がユーザに把持され、ユーザから操作部12を介する入力に応じてスキャン実行モードに設定されているものとする。
【0054】
そして、ハンディターミナル1において、例えば、ユーザからのトリガキー12Aの押下入力が受け付けられたことをトリガとして、ROM15から読み出されて適宜RAM13に展開された第1のスキャン実行プログラム152とCPU11との協働で、第1のスキャン教示処理が実行される。
【0055】
先ず、スキャナ部16によるバーコードスキャンが開始される(ステップS31)。ユーザは、スキャン実行の間に、トリガキー12Aを押し続けるものとする。そして、トリガキー12Aが離された(押下されていない)か否かが判別される(ステップS32)。
【0056】
トリガキー12Aが離された場合(ステップS32;YES)、第1のスキャン実行処理が終了する。トリガキー12Aが離されていない場合(ステップS32;NO)、スキャナ部16から2値化データが取得され、この2値化データを用いてデコードが実行される(ステップS33)。そして、ステップS33で実行されたデコードが成功(OK)であるか否かが判別される(ステップS34)。デコードが失敗した場合(ステップS34;NO)、ステップS32に移行される。
【0057】
デコードが成功した場合(ステップS34;YES)、ブザー20により正常完了通知音が出力される(ステップS35)。この正常完了通知音は、デコードが成功して完了したことを示す音である。そして、成功したデコードに対応するバーコードの読取結果が表示部14に青色で表示され(ステップS36)、ステップS13に移行される。
【0058】
以上、本実施の形態によれば、ハンディターミナル1は、スキャン教示の際に、スキャナ部16によりシンボルをスキャンさせてデコードするとともに、バーコード読み取りに適切な基点角度(X,Y,Z)を取得し、加速度センサ19により検出された加速度データを用いて自装置の装置角度(X’,Y’,Z’)を算出し、基点角度(X,Y,Z)と装置角度(X’,Y’,Z’)との差分が限界角度(Xmax,Ymax,Zmax)を超えているか否かを判別する。そして、ハンディターミナル1は、前記差分が限界角度(Xmax,Ymax,Zmax)を超えている場合に、限界角度(Xmax,Ymax,Zmax)を超えている旨を、ブザー20及び表示部14により出力する。このため、ユーザが限界角度(Xmax,Ymax,Zmax)を超えている旨を確認できるので、ユーザがハンディターミナル1を動かして限界角度内でバーコードを読み取らせることができ、バーコードの読み取り精度を高めることができる。
【0059】
また、異常傾き時に、ブザー20により正常時の正常完了通知音と異なる異常傾き検出音を出力し、読取結果を表示部14に正常時の青色表示と異なる赤色表示する。このため、ユーザが限界角度(Xmax,Ymax,Zmax)を超えている旨を視覚及び聴覚を通じて確実に確認できる。
【0060】
また、ハンディターミナル1は、加速度センサ19により検出された加速度データを用いて基点角度を算出して設定する。このため、ユーザが任意の基点角度を設定できる。例えば、図3〜図5で説明した配置のバーコードと異なり、長手方向が水平面に対して平行でない配置のバーコードにも、基点角度を容易に合せて設定することができる。
【0061】
また、ハンディターミナル1は、前記差分が限界角度(Xmax,Ymax,Zmax)を超えており且つデコードが成功した場合に、差分が限界角度を超えて且つデコードが成功した旨を読み取り結果とともに表示部14に赤色表示する。このため、差分が限界角度を超えて且つデコードが成功した場合に、ユーザがバーコードの誤読の可能性が高い旨を視覚を通じて確実に確認できる。
【0062】
(変形例)
図10及び図11を参照して、上記実施の形態の変形例を説明する。図10に、基点角度入力処理を示す。図11に、第2のスキャン実行処理を示す。
【0063】
上記実施の形態では、スキャン教示時に、ハンディターミナル1の基点角度と装置角度との差分が限界角度を超えたことをユーザに通知する構成であった。これに対し、本変形例では、スキャン実行時に、ハンディターミナル1の基点角度と装置角度との差分が限界角度を超えたことをユーザに通知する構成である。
【0064】
本変形例の装置構成は、上記実施の形態と同じくハンディターミナル1を用いた構成である。但し、ROM15には、スキャン教示プログラム151及び第1のスキャン実行プログラム152に代えて、後述する基点角度入力プログラム及び第2のスキャン実行プログラムが記憶されているものとする。また、各種キー12Bには、基点角度入力のトリガキーである基点角度入力キーが含まれているものとする。
【0065】
次に、本変形例におけるハンディターミナル1の動作を説明する。先ず、図10を参照して、ハンディターミナル1で実行される基点角度入力処理を説明する。上記実施の形態では、基点角度(X,Y,Z)は、一時的にしか使用しないため、スキャン教示処理実行中に取得しRAM13に記憶されているものとした。これに対し、本変形例では、基点角度は一度入力したものを繰り返し使用するため、基点角度入力処理とスキャン実行処理は別々の処理にわかれている。本変形例の基点角度入力処理は、スキャン実行の前に、当該スキャン実行で用いる基点角度をユーザが入力して設定する処理である。
【0066】
予め、ハンディターミナル1がユーザに把持され、ユーザによりハンディターミナル1が所望の基点角度にしたい姿勢(傾き)にされているものとする。そして、ハンディターミナル1において、例えば、ユーザからの各種キー12Bの基点角度入力キーの押下入力が受け付けられたことをトリガとして、ROM15から読み出されて適宜RAM13に展開された基点角度入力プログラムとCPU11との協働で、基点角度入力処理が実行される。
【0067】
先ず、加速度センサ19から3軸の加速度データが取得され、この加速度データに応じて、ハンディターミナル1(ケース2)の基点角度(X,Y,Z)が算出されて取得されてフラッシュメモリ17に記憶され(ステップS41)、基点角度入力処理が終了する。
【0068】
次いで、図11を参照して、ハンディターミナル1で実行される第2のスキャン実行処理を説明する。第2のスキャン実行処理は、ハンディターミナル1の基点角度と装置角度との差分が限界角度を超えたことをユーザに通知するとともに、実際にバーコード読み取りを実行する処理である。予め、ハンディターミナル1がユーザに把持され、ユーザから操作部12を介する入力に応じてスキャン実行モードに設定されているものとする。
【0069】
そして、ハンディターミナル1において、例えば、ユーザからのトリガキー12Aの押下入力が受け付けられたことをトリガとして、ROM15から読み出されて適宜RAM13に展開された第2のスキャン実行プログラムとCPU11との協働で、第1のスキャン実行処理が実行される。
【0070】
先ず、スキャナ部16によるバーコードスキャンが開始される(ステップS51)。ユーザは、スキャン実行の間に、トリガキー12Aを押し続けるものとする。そして、基点角度入力処理で記憶されたフラッシュメモリ17に記憶されている、ハンディターミナル1(ケース2)の基点角度(X,Y,Z)が読み出されて取得される(ステップS52)。
【0071】
ステップS53〜S60は、それぞれ順に、スキャン教示処理のステップS13〜S20と同様である。ステップS60の実行後、ブザー20により正常完了通知音が出力され(ステップS61)、第2のスキャン実行処理が終了する。ステップS62〜S64は、それぞれ順に、スキャン教示処理のステップS21〜S23と同様である。
【0072】
以上、本変形例によれば、上記実施の形態と同様に、スキャン実行の際に、ユーザが限界角度(Xmax,Ymax,Zmax)を超えている旨を確認できるので、ユーザがハンディターミナル1を動かして限界角度内でバーコードを読み取らせることができ、バーコードの読み取り精度を高めることができる。
【0073】
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてROM15を使用した例を開示したが、この例に限定されない。
その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ17等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することが可能である。
また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0074】
なお、上記実施の形態における記述は、本発明に係るシンボル読取装置及びプログラムの一例であり、これに限定されるものではない。
【0075】
例えば、上記実施の形態及び変形例を適宜組み合わせる構成としてもよい。また、上記実施の形態及び変形例では、ハンディターミナル1(ケース2)の基点角度と装置角度との差分が限界角度を超えた異常傾き時に、異常傾き検出音を通知部としてのブザー20から出力し、同じく限界角度を超えずにデコードが成功して完了した場合に、正常完了通知音をブザー20から出力したが、これに限定されるものではない。例えば、通知部としての表示部14による表示、通知部としてのLED21による点灯、点滅の仕方、点灯色等を変更して、異常傾きの検出や、正常傾き時のデコードの正常完了をユーザに通知する構成としてもよい。
【0076】
また、上記実施の形態及び変形例では、ハンディターミナル1(ケース2)の基点角度と装置角度との差分が限界角度を超えた異常時に、読取結果を表示部14で青色表示し、同じく限界角度を超えずにデコードが成功して完了した場合に、読取結果を表示部14で赤色表示したが、これに限定されるものではない。例えば、表示色は、他の色でもよい。また、異常傾き時又は正常傾き時に、その旨のメッセージとともに読取結果を表示部14で表示する構成としてもよい。また、ハンディターミナル1が通知部(音出力部)としてのスピーカを備え、異常傾き時である旨とともに読取結果をスピーカで音声出力し、正常傾き時である旨とともに読取結果をスピーカで音声出力する構成としてもよい。また、上記の表示部14によるメッセージ表示、表示部14による色分け表示、ブザー20による音出力、LED21による点灯(点滅)、色分け点灯、スピーカによる音声出力等の少なくとも2つを組み合わせる構成としてもよい。
【0077】
また、上記実施の形態及び変形例では、基点角度をユーザ入力により自在に設定した構成であったが、これに限定されるものではない。例えば、バーコードの基点角度が常に決まっていれば、その基点角度が予め設定されてフラッシュメモリ17等に記憶されており、スキャン教示やスキャン実行の際に、基点角度の入力を行うことなく、フラッシュメモリ17等に記憶された基点角度が読み出されることとしてもよい。
【0078】
また、上記実施の形態及び変形例では、ハンディターミナル1が、レーザスキャナであるスキャナ部16により、シンボルとして一次元バーコードを読み取る構成としたが、これに限定されるものではない。例えば、ハンディターミナル1が、イメージスキャナ等、他のスキャナ部を備る構成としてもよい。例えば、このイメージスキャナにより、一次元バーコードや、スタック型2次元コード、QRコード等の2次元コード等、他のシンボルを読み取る構成としてもよい。
【0079】
また、上記各実施の形態では、シンボル読取装置としてハンディターミナルを用いる構成としたが、これに限定されるものではない。シンボル読取装置としては、携帯電話機、PHS(Personal Handyphone System)、PDA(Personal Digital Assistant)等、他のシンボル読取機能を有する装置を用いることとしてもよい。
【0080】
また、上記実施の形態及び変形例におけるハンディターミナル1の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【符号の説明】
【0081】
1 ハンディターミナル
2 ケース
2A 正面
11 CPU
12 操作部
12A トリガキー
12B 各種キー
13 RAM
14 表示部
15 ROM
16 スキャナ部
17 フラッシュメモリ
18 I/F部
19 加速度センサ
20 ブザー
21 LED
22 電源部
23 バス
【特許請求の範囲】
【請求項1】
シンボルをスキャンするスキャナ部と、
3次元の加速度を検出する加速度センサと、
情報をユーザに通知する通知部と、
前記スキャナ部によりシンボルをスキャンさせてデコードするとともに、シンボル読み取りに適切な自装置の傾き角度である基点角度を取得し、前記加速度センサにより検出された加速度を用いて自装置の傾き角度を装置角度として算出し、前記基点角度と前記装置角度との差分が限界角度を超えているか否かを判別し、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を前記通知部に通知させる制御部と、を備えるシンボル読取装置。
【請求項2】
前記通知部は、表示部、音出力部及び光点灯部の少なくとも一つを有し、
前記制御部は、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を、前記表示部による色表示と、前記表示部によるメッセージ表示と、前記音出力部による音出力と、前記光点灯部による光点灯との少なくとも一つにより、前記通知部に通知させる請求項1に記載のシンボル読取装置。
【請求項3】
前記制御部は、前記加速度センサにより検出された加速度データを用いて自装置の傾き角度を基点角度として算出して取得する請求項1又は2に記載のシンボル読取装置。
【請求項4】
前記制御部は、前記差分が限界角度を超えており且つ前記デコードが成功した場合に、前記差分が限界角度を超えて且つデコードが成功した旨を前記通知部に通知させる請求項1から3のいずれか一項に記載のシンボル読取装置。
【請求項5】
シンボル読取装置に搭載されたコンピュータを、
シンボルをスキャンするスキャナ部、
3次元の加速度を検出する加速度センサ、
情報をユーザに通知する通知部、
前記スキャナ部によりシンボルをスキャンさせてデコードするとともに、シンボル読み取りに適切な自装置の傾き角度である基点角度を取得し、前記加速度センサにより検出された加速度を用いて自装置の傾き角度を装置角度として算出し、前記基点角度と前記装置角度との差分が限界角度を超えているか否かを判別し、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を前記通知部に通知させる制御部、
として機能させるためのプログラム。
【請求項1】
シンボルをスキャンするスキャナ部と、
3次元の加速度を検出する加速度センサと、
情報をユーザに通知する通知部と、
前記スキャナ部によりシンボルをスキャンさせてデコードするとともに、シンボル読み取りに適切な自装置の傾き角度である基点角度を取得し、前記加速度センサにより検出された加速度を用いて自装置の傾き角度を装置角度として算出し、前記基点角度と前記装置角度との差分が限界角度を超えているか否かを判別し、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を前記通知部に通知させる制御部と、を備えるシンボル読取装置。
【請求項2】
前記通知部は、表示部、音出力部及び光点灯部の少なくとも一つを有し、
前記制御部は、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を、前記表示部による色表示と、前記表示部によるメッセージ表示と、前記音出力部による音出力と、前記光点灯部による光点灯との少なくとも一つにより、前記通知部に通知させる請求項1に記載のシンボル読取装置。
【請求項3】
前記制御部は、前記加速度センサにより検出された加速度データを用いて自装置の傾き角度を基点角度として算出して取得する請求項1又は2に記載のシンボル読取装置。
【請求項4】
前記制御部は、前記差分が限界角度を超えており且つ前記デコードが成功した場合に、前記差分が限界角度を超えて且つデコードが成功した旨を前記通知部に通知させる請求項1から3のいずれか一項に記載のシンボル読取装置。
【請求項5】
シンボル読取装置に搭載されたコンピュータを、
シンボルをスキャンするスキャナ部、
3次元の加速度を検出する加速度センサ、
情報をユーザに通知する通知部、
前記スキャナ部によりシンボルをスキャンさせてデコードするとともに、シンボル読み取りに適切な自装置の傾き角度である基点角度を取得し、前記加速度センサにより検出された加速度を用いて自装置の傾き角度を装置角度として算出し、前記基点角度と前記装置角度との差分が限界角度を超えているか否かを判別し、前記差分が前記限界角度を超えている場合に、限界角度を超えている旨を前記通知部に通知させる制御部、
として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−48599(P2011−48599A)
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2009−196161(P2009−196161)
【出願日】平成21年8月27日(2009.8.27)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願日】平成21年8月27日(2009.8.27)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]