以下、図面を参照して、実施形態に係る無線タグ読取装置及びプログラムについて説明する。以下では、無線タグの一例であるRFIDタグの読み取りを行う無線タグ読取装置について説明する。なお、以下に説明する実施形態により、この発明が限定されるものではない。
(第1の実施形態)
図1は、本実施形態に係るRFIDタグ読取装置の構成の一例を示す図である。RFIDタグ読取装置10は、RFIDタグTGが記憶するタグデータを非接触で読み取ることが可能な無線タグ読取装置の一例である。
RFIDタグTGは、例えば商品等の物品Gに付され、図示しない記憶媒体にタグデータを記憶する。タグデータには、RFIDタグTG自身を識別可能なタグ識別子、RFIDタグTGが付された物品Gの種別を識別可能な物品識別子、CRC(Cyclic Redundancy Code)等が含まれる。
また、本実施形態のRFIDタグ読取装置10は、ハンディタイプの無線タグ読取装置であり、操作者が携帯することが可能となっている。例えば、RFIDタグ読取装置10は、操作者により物品Gが載置された棚等にむけられることで、物品Gの各々に付されたRFIDタグTGからタグデータの読み取りを行う。
次に、RFIDタグ読取装置10のハードウェア構成について説明する。図2は、RFIDタグ読取装置10のハードウェア構成の一例を示す図である。
図2に示すように、RFIDタグ読取装置10は、CPU11、ROM12、RAM13、記憶部14等を備えている。CPU11は、プロセッサの一例であり、RFIDタグ読取装置10の動作を統括的に制御する。ROM12は、各種プログラムを記憶する。RAM13は、各種データを展開するためのワーキングメモリとして使用される。また、RAM13は、RFIDタグTGから読み取られたタグデータを記憶するための読取バッファBFを保持する。
CPU11、ROM12、RAM13及び記憶部14は、バス等を介して接続される。ここで、CPU11、ROM12及びRAM13は、制御部100を構成する。制御部100は、CPU11がROM12や記憶部14に記憶されたプログラムに従って動作することによって、後述する処理を実行する。
記憶部14は、電源を切っても記憶情報を保持するフラッシュメモリ等の不揮発性メモリで構成される。記憶部14は、各種のプログラムや設定情報を記憶する。
また、制御部100には、バス等を介して、読取部15と、通信部16とが接続される。読取部15は、アンテナ151と、送信部152と、受信部153とを有する。送信部152は、アンテナ151から電波を放射させるための電力をアンテナ151に供給する。受信部153は、アンテナ151を介してRFIDタグTGから送信される電波を受信する。読取部15は、制御部100の制御の下、RFIDタグTGを読み取るための電波を放射し、当該電波を受けた無線タグが発する電波を受信することで、RFIDタグTGに記憶されたタグデータを読み取る。
通信部16は、例えばBluetooth(登録商標)や無線LAN等の無線通信規格に準拠した通信インタフェースである。通信部16は、制御部100の制御の下、携帯端末やサーバ装置等の外部装置と無線通信を行う。
また、制御部100には、バス等を介して、表示部17と、操作部18とが接続される。表示部17は、例えば液晶パネル等で形成されており、操作者に対して各種の情報を表示する。操作部18は、例えば各種操作ボタンやタッチパネル等の入力デバイスを有し、操作者による操作を受け付ける。
次に、図3を用いて、RFIDタグ読取装置10が備えるRFIDタグ読取機能について説明する。なお、RFIDタグ読取装置10は、ISO18000−63(EPC global Gen2)のエアインタフェースに準拠したRFIDタグ読取機能を備えているものとする。
図3は、RFIDタグ読取装置10がRFIDタグTGの読み取りを行う際のRFIDタグTGの状態遷移図である。なお、図3では、RFIDタグTGの状態遷移のうち、主要な部分を示している。
まず、RFIDタグ読取装置10の移動等に伴い、電源OFF状態31であるRFIDタグTGがアンテナ151の交信領域に入ると、RFIDタグTGはスタンバイ状態32に遷移する。RFIDタグ読取装置10は、交信領域内に存在するRFIDタグTGに対し、Q値を含むQueryコマンドを送信する。
ここで、Queryコマンドは、アンテナ151の交信領域内に存在するRFIDタグTGを検索(探索)するためのコマンドである。RFIDタグTGがスタンバイ状態32にあるとき、RFIDタグ読取装置10からQueryコマンドを受信すると、RFIDタグTGは調停状態33に遷移する。なお、RFIDタグTGは、調停状態33にあるとき、RFIDタグ読取装置10に対し同時に応答しないように調停を行う。
また、Q値は、RFIDタグTGの読み取り単位となるタイムスロット(以下、スロットともいう)を規定するためのパラメータである。RFIDタグ読取装置10は、アンテナ151の交信領域内に存在するRFIDタグTGに対し、特定のビット(1〜2Q:Qは1以上の整数)をスロットとして指定する。このような方式は、タイムスロット方式(スロットアロハ方式)のアンチコリジョンとして一般に用いられている。
RFIDタグ読取装置10は、Queryコマンドの送信後、当該Queryコマンドで設定した各スロットでRFIDタグTGを読み取るため、Query Repコマンドの送信をスロット数分繰り返す。
調停状態33のRFIDタグTGは、RFIDタグ読取装置10からQuery Repコマンド又は後述するQuery Adjustコマンドを受信すると、応答状態34に遷移する。応答状態34にあるとき、対象となるRFIDタグTGは、16ビットの乱数であるRN16を生成してRFIDタグ読取装置10に送信する。
例えば、スロットが2ビット(Q=1)であった場合、RFIDタグTGは、2ビットの乱数“00”、“01”、“10”、“11”の何れかを生成する。そして、RFIDタグTGは、生成した乱数に一致したタイミングのスロットを利用してRFIDタグ読取装置10に応答を返す。
このとき、1つのスロットに対して1つのRFIDタグTGしか応答を返さなかった場合には、RFIDタグ読取装置10は、そのRFIDタグTGのRN16を含むAckコマンドを送信する。一方、1つのスロットに対して複数のRFIDタグTGが同時に応答を返した場合には、RFIDタグ読取装置10は、コリジョンが発生したものと判断する。コリジョンが発生したRFIDタグTGでは、再度乱数を生成し、生成した乱数に一致したタイミングのスロットを利用してRFIDタグ読取装置10に応答を返す。
RFIDタグTGは、応答状態34にあるとき、RFIDタグ読取装置10から送信された、RN16を含む応答信号であるAckコマンドを受信すると、そのAckコマンドの中に、自身が送信したRN16が含まれているかを検出する。そして、RN16が含まれていることが検出されると、RFIDタグTGは承認状態35に遷移する。承認状態35にあるとき、RFIDタグTGは、自身が記憶するタグ識別子の一例であるEPC(Electronic Product Code)等を含んだタグデータを送信する。
なお、調停状態33と、応答状態34と、承認状態35とは、複数のRFIDタグTGを読み取る際に、データ読み取りの衝突を回避してそれぞれのタグデータを読み取る、いわゆるアンチコリジョンを実現するためのインベントリ処理36を構成する。
続いて、RFIDタグ読取装置10は、先のQueryコマンドで得られたRFIDタグTGの応答状況に基づいてQ値を調整する。具体的には、RFIDタグ読取装置10は、スロット数に対してRFIDタグTGからの応答が適切か、スロット数に対してRFIDタグTGからの応答が多いか、又はスロット数に対してRFIDタグTGからの応答が少ないか等の応答状況に応じてQ値を自動的に調整する。なお、Q値の自動調整は、公知の技術を用いることができる。
続いて、RFIDタグ読取装置10は、調整後のQ値を含んだQuery Adjustコマンドを送信する。Query Adjustコマンドは、先のQueryコマンドに応答したRFIDタグTGのうち、読み取りが完了したRFIDタグTG以外の未読取のRFIDタグTGへのQueryコマンドとして機能する。つまり、Query Adjustコマンドで読み取り可能なRFIDタグTGは、先行するQueryコマンドに応答したRFIDタグTGの範囲内に制限される。そのため、Query Adjustコマンドでは、Queryコマンドに応答したRFIDタグTG以外の新規のRFIDタグTGを読み取ることはできないが、Queryコマンドに応答した既存のRFIDタグTGを読み切る場合に有効となる。
RFIDタグ読取装置10は、Query Adjustコマンドの送信後、上述したQueryコマンドと同様にQuery Repコマンドを順次送信することで、RFIDタグTGからタグデータの読み取りを行う。
そして、RFIDタグ読取装置10は、所定の終了条件を満たすまで、Q値の自動調整と、Query Adjustコマンド(Query Repコマンド)の送信とを繰り返し実行することで、RFIDタグTGの各々からタグデータの読み取りを行う。
Query Adjustコマンド送信の終了条件は、任意に設定することが可能である。例えば、Q値の自動調整でQ=2が設定されたことを条件としてもよい。また、Query Adjustコマンドの送信回数が閾値(例えば5回)に達したことを条件としてもよい。また、Q値の自動調整の中でタグ応答無しの状態が所定回数(例えば3回)続いたことを条件としてもよい。また、終了条件は、これらの条件を組み合わせたものであってもよい。
なお、RFIDタグTGは、承認状態35にあるとき、RFIDタグ読取装置10からReq_RNコマンドを受信すると、オープン状態37に遷移する。
RFIDタグTGは、オープン状態37にあるとき、RFIDタグ読取装置10からSelectコマンドを受信すると、スタンバイ状態32に遷移する。また、RFIDタグTGは、オープン状態37にあるとき、RFIDタグ読取装置10からKillコマンドを受信すると、機能停止状態39に遷移する。さらに、RFIDタグTGは、オープン状態37にあるとき、RFIDタグ読取装置10からAccessコマンドを受信すると、セキュア状態38に遷移する。
RFIDタグTGがセキュア状態38にあるとき、RFIDタグ読取装置10からSelectコマンドを受信すると、RFIDタグTGはスタンバイ状態32に遷移する。また、RFIDタグTGがセキュア状態38にあるとき、RFIDタグ読取装置10からKillコマンドを受信すると、RFIDタグTGは機能停止状態39に遷移する。そして、RFIDタグTGが機能停止状態39にあるとき、RFIDタグTGがアンテナ151の交信領域から外れると、RFIDタグTGは電源OFF状態31に遷移する。
RFIDタグ読取装置10は、RFIDタグTGと連携して上述した一連の処理、つまりQueryコマンド→Query Adjustコマンドの送信処理を行うことによって、複数のRFIDタグTGからタグデータを一括で読み取ることができる。
ところで、RFIDタグ読取装置10では、法的な制約又は温度上昇等の要因により、電波を連続して送信する期間は数秒程度に制限される。そのため、RFIDタグ読取装置10では、例えば4秒間の間電波を放射した後、所定時間の放射を休止することで、RFIDタグTGを間欠的に読み取ることが行われている。以下、電波を連続して放射する期間を「読取期間」、電波の放射を休止する期間を「休止期間」ともいう。
図4は、RFIDタグ読取装置10が行う間欠読取動作を説明するための図である。ここで、横軸は、経過時間、縦軸は、読み取り可能なRFIDタグTGの枚数を意味する。
図4に示すように、RFIDタグ読取装置10は、読取期間T1の間電波を放射した後、休止期間T2(但しT1>T2)の間電波の放射を休止する動作を繰り返し実行することで、RFIDタグTGの読み取りを間欠的に行う。
RFIDタグ読取装置10は、読取期間T1を開始したタイミングtaでQueryコマンドを送信する第1の読取動作を実行する。そのため、第1の読取動作(Queryコマンドの送信)は、読取期間T1+休止期間T2のタイミング毎に周期的に送信される。また、第1の読取動作後に行われるQuery Adjustコマンドを用いた読取動作(以下、第2の読取動作ともいう)も、この読取期間T1内に実行される。つまり、第1の読取動作と第2の読取動作とは、読取期間T1に順次実行される。
また、タイミングtaでの読み取り可能なRFIDタグTGの枚数は、Queryコマンドに含めたQ値、つまりスロット数に応じた値となる。例えば、Queryコマンドに含めるQ値を、後述する最大値(Qmax)とした場合、読み取り可能枚数の理論値は2Qmax枚となる。
なお、実際には様々な要因により理論値どおりとはならない。タイムスロット方式を用いる場合、無線タグの応答のないスロットや、複数の無線タグが応答してしまうスロットも存在するため、全てのスロットで無線タグを読み取ることはできない。また、読取期間T1毎に、読み取り可能枚数も変化することになる。
また、RFIDタグ読取装置10は、タイミングtaの後、Queryコマンドに対するRFIDタグTGの応答状況に応じたタイミングtbで、最初のQuery Adjustコマンドを送信する。このとき、読み取り可能なRFIDタグTGの枚数は、Queryコマンドで読み取られたRFIDタグTG以外のRFIDタグTGの個数となるため、タイミングtaの時よりも小さくなる。さらに、RFIDタグTGの枚数は、Query Adjustコマンドが繰り返し送信される毎に減少する傾向にある。なお、Query Adjustコマンドによるタグデータの読み取りは所定の終了条件を満たすまで、又は読取期間T1が終了するタイミングtcまで継続される。
ところで、本実施形態のRFIDタグ読取装置10の構成では、操作者は携帯したRFIDタグ読取装置10を移動させながらRFIDタグTGの読み取りを行うことができる。RFIDタグ読取装置10を移動させながら読み取りを行う場合、RFIDタグ読取装置10の移動に伴い交信領域も変化することになるが、上述したコマンドの送信タイミングによっては、交信領域内に入った新規のRFIDタグTGを読み取ることができず読みこぼしが発生する可能性がある。
例えば、タイミングtaでQueryコマンドが送信された後や、タイミングtbでQuery Adjustコマンドが送信された後にRFIDタグ読取装置10が移動されると、交信領域に入ってくる新たなRFIDタグTGはQueryコマンドを受けていないため、Query Adjustコマンドで読み取ることができない。そのため、Queryコマンドと、Query Adjustコマンドとを併用するRFIDタグ読取装置10では、RFIDタグ読取装置10を移動させながらRFIDタグTGの読み取りを行うような場合に読みこぼしが発生する可能性があった。
そこで、本実施形態のRFIDタグ読取装置10では、上述した問題に関してRFIDタグTGの読み取りを効率的に行うための機能を備えている。以下、図5を参照して、RFIDタグ読取装置10が備える機能構成について説明する。
図5は、RFIDタグ読取装置10の機能構成の一例を示す図である。図5に示すように、RFIDタグ読取装置10は、読取処理部101と、読取動作制御部102と、読取結果処理部103とを機能部として備える。
RFIDタグ読取装置10が備える機能部の一部又は全ては、RFIDタグ読取装置10のプロセッサ(例えばCPU11)とメモリ(例えばROM12、記憶部14)に記憶されたプログラムとの協働により実現されるソフトウェア構成であってもよい。また、RFIDタグ読取装置10が備える機能部の一部又は全ては、RFIDタグ読取装置10に搭載された専用回路等で実現されるハードウェア構成であってもよい。
読取処理部101は、読取手段の一例である。読取処理部101は、読取部15と協働することで、RFIDタグTGからタグデータの読み取りを行う。具体的には、読取処理部101は、図3で説明した一連の読取動作を行うことで、アンテナ151の交信領域にあるRFIDタグTGからタグデータを読み取る。
例えば、読取処理部101は、上述した読取期間T1の開始時にQueryコマンドを送信することで、交信領域内に存在するRFIDタグTGを検索し、検索したRFIDタグTGからタグデータを読み取る第1の読取動作を実行する。また、読取処理部101は、Queryコマンドに対するRFIDタグTGの応答状況に応じて、RFIDタグTGの読み取りに係るQ値を調整する。そして、読取処理部101は、続くインベントリ処理36において、調整後のQ値を指定したQuery Adjustコマンドを送信してタグデータの読み取りを行う第2の読取動作を行う。
また、読取処理部101は、読取動作制御部102の制御の下、上述したQuery Adjustコマンドの送信に代えてQueryコマンドを再度送信することで第1の読取動作を連続して実行することもできる。つまり、読取処理部101は、インベントリ処理36において、第1の読取動作と第2の読取動作とを選択的に実行することが可能となっている。
なお、読取処理部101は、予め設定された最小値(Qmin)から最大値(Qmax)までの範囲内でQ値を調整することが可能であるとする。例えば、読取処理部101は、読取期間T1の最初に設定するQ値の初期値としてQmaxを設定してもよい。
読取動作制御部102は、制御手段の一例である。読取動作制御部102は、読取処理部101の読取動作を制御する。具体的には、読取動作制御部102は、操作者がRFIDタグTGの読み取りを行う読取方法に基づいて、Queryコマンドの送信後のインベントリ処理36で、Query Adjustコマンドを送信する第2の読取動作を読取処理部101に実行させるか否かを制御する。
ここで、RFIDタグTGの読取方法は、例えば、RFIDタグ読取装置10を移動させながらRFIDタグTGを読み取る第1の読取方法と、RFIDタグ読取装置10を静止させた状態でRFIDタグTGを読み取る第2の読取方法とが挙げられる。
RFIDタグ読取装置10を移動させながらRFIDタグTGの読み取りを行う第1の読取方法の場合、RFIDタグ読取装置10の移動に伴いアンテナ151の交信領域も移動(変化)するため、新規のRFIDタグTGが交信領域内に入る可能性が高くなる。この場合、読取動作制御部102は、インベントリ処理36において、読取処理部101に第1の読取動作を実行させることで、Queryコマンドを用いてRFIDタグTGの読み取りを行わせる。これにより、RFIDタグ読取装置10は、交信領域に入った新規のRFIDタグTGを読み取りの対象に含めることができるため、交信領域内に存在するRFIDタグTGの読み取りを効率的に行うことができる。
一方、RFIDタグ読取装置10を静止した状態でRFIDタグTGを読み取る第2の読取方法の場合、アンテナ151の交信領域は固定された状態となるため、新規のRFIDタグTGが交信領域内に入る可能性は低くなる。この場合、読取動作制御部102は、インベントリ処理36において、読取処理部101に第2の読取動作を実行させることで、Query Adjustコマンドを用いてRFIDタグTGの読み取りを行わせる。これにより、RFIDタグ読取装置10では、先行する第1の読取動作での読取結果に基づき、残りのRFIDタグTGの読み取りをインベントリ処理36で行うことができるため、交信領域内に存在するRFIDタグTGの読み取りを効率的に行うことができる。
なお、読取方法の指定方法は、種々の形態を採用することが可能である。例えば、操作部18を介して読取方法が指定される構成としてもよい。かかる構成では、RFIDタグ読取装置10の操作者は、RFIDタグ読取装置10を移動させながらRFIDタグTGの読み取りを行うような場合に、第1の読取方法を選択するための操作を行う。また、RFIDタグ読取装置10を静止させた状態でRFIDタグTGの読み取りを行う場合に、第2の読取方法を選択するための操作を行う。そして、読取動作制御部102は、操作部18を介して指定された読取方法に応じて、第1の読取動作及び第2の読取動作の何れか一方が、インベントリ処理36で実行されるよう読取処理部101を制御する。
読取結果処理部103は、読取処理部101で読み取られたタグデータに基づき所定の処理を実行する。具体的には、読取結果処理部103は、読取処理部101で読み取られたタグデータを読取バッファBFに登録する。ここで、読取結果処理部103は、新たなタグデータが読取処理部101で読み取られる毎に、当該タグデータに含まれるタグ識別子と、読取バッファBFに登録されたタグデータのタグ識別子とを比較する。そして、読取結果処理部103は、タグ識別子が重複した場合に、読み取られたタグデータを破棄する重複チェックを実行する。これにより、同一のタグ識別子を含むタグデータが読取バッファBFに重複して登録されてしまうことを抑制することができる。
また、読取結果処理部103は、読み取られたタグデータを読取バッファBFに登録する毎に報知を行う。例えば、読取結果処理部103は、タグデータを読み取ったことを表す画像やメッセージ、タグデータに含まれた物品識別子等を表示部17に表示させることで報知を行う。また、例えば、読取結果処理部103は、RFIDタグ読取装置10が備えるスピーカ等の音声出力装置(図示せず)からビープ音等の音声を出力させることで報知を行う。これにより、RFIDタグ読取装置10を操作する操作者は、報知の頻度や回数等に基づき、現在の位置でのRFIDタグTGの読み取り状況を把握することができる。したがって、RFIDタグ読取装置10は、他の位置に交信領域を移動するタイミング等を操作者に認識させることができるため、RFIDタグTGの読取作業に係る利便性を向上させることができる。
また、読取結果処理部103は、外部装置からの送信指示や、所定の時間間隔で、読取バッファBFに登録されたタグデータを、通信部16を介して外部装置に送信する。なお、読取結果処理部103は、同一のタグデータを重複して送信しないよう、送信済のタグデータと未送信のタグデータとを分別して送信処理を行うものとする。
以下、RFIDタグ読取装置10の動作例について説明する。図6は、RFIDタグ読取装置10が実行する処理の一例を示すフローチャートである。なお、本処理の前提として、第1の読取方法及び第2の読取方法の何れか一方が操作部18を介して指定されているものとする。また、本処理は、読取期間T1毎に実行される処理内容を示している。
まず、読取処理部101は、読取期間T1の計時を開始する(ステップS11)。次いで、読取動作制御部102は、何れの読取方法が指定されているかを判定する(ステップS12)。
ここで、第1の読取方法が指定されている場合(ステップS12;第1)、読取動作制御部102は、第1の読取動作を実現するための第1の読取処理を読取処理部101に実行させる(ステップS13)。また、第2の読取方法が指定されている場合(ステップS12;第2)、読取処理部101は、第2の読取動作を実現するための第2の読取処理を読取処理部101に実行させる(ステップS14)。
図7は、第1の読取処理の一例を示すフローチャートである。まず、読取処理部101は、初期値であるQ値を含んだQueryコマンドを送信する(ステップS21)。次いで、読取処理部101は、応答したRFIDタグTGからタグデータの読み取りを行う(ステップS22)。なお、読取結果処理部103は、ステップS22で読み取られたタグデータに基づき報知等の処理を実行する。
続いて、読取処理部101は、終了条件を満たすか否かを判定する(ステップS23)。ここで、終了条件を満たさないと判定した場合(ステップS23;No)、読取処理部101は、計時中のタイマ値に基づき読取期間T1が終了したか否かを判定する(ステップS24)。ここで、読取期間T1が終了したと判定した場合(ステップS24;Yes)、読取処理部101は、図6の処理に戻ることで処理を終了する。
一方、読取期間T1が終了していないと判定した場合(ステップS24;No)、読取処理部101は、RFIDタグTGの応答状況に基づいてQ値を調整する(ステップS25)。次いで、読取処理部101は、調整後のQ値を含んだQueryコマンドを送信し(ステップS26)、ステップS22に処理を戻す。そして、ステップS23で終了条件を満たすと判定した場合(ステップS23;Yes)、読取処理部101は、図5の処理に戻ることで処理を終了する。
また、図7は、第2の読取処理の一例を示すフローチャートである。なお、第2の読取処理のステップS31〜S35は、上述した第1の読取処理のステップS21〜S25と同様であるため説明を省略する。
読取処理部101は、ステップS35でQ値を調整すると、調整後のQ値を含んだQuery Adjustコマンドを送信し(ステップS36)、ステップS32に処理を戻す。そして、ステップS33で終了条件を満たすと判定した場合(ステップS33;Yes)、読取処理部101は、図5の処理に戻ることで処理を終了する。
以上のように、RFIDタグ読取装置10では、アンテナ151の交信領域内に存在するRFIDタグTGを検索し、検索したRFIDタグTGからタグデータを読み取る第1の読取動作を実行する。また、RFIDタグ読取装置10では、RFIDタグTGの読取方法に基づいて、第1の読取動作後のインベントリ処理36で、第2の読取動作を実行させるか否かを制御する。
これにより、RFIDタグ読取装置10では、RFIDタグTGの読取方法に適した読取動作で、交信領域内に存在するRFIDタグTGの読み取りを行うことができるため、RFIDタグTGの読み取りを効率的に行うことができる。
以上説明した実施形態は、上述のRFIDタグ読取装置10が有する構成又は機能の一部を変更することで、適宜に変形して実施することも可能である。そこで、以下では、上述した実施形態に係るいくつかの変形例を他の実施形態として説明する。なお、以下では、上述した実施形態と異なる点を主に説明することとし、既に説明した内容と共通する点については詳細な説明を省略する。また、以下で説明する変形例は、個別に実施されてもよいし、適宜組み合わせて実施されてもよい。
(変形例)
上述の実施形態では、第1の読取動作と第2の読取動作とを選択的に実行させることで、第2の読取動作を実行させるか否かを制御する形態を説明した。本変形例では、他の方法を用いて、第2の読取動作を実行させるか否かを制御する形態について説明する。
図4で説明したように、RFIDタグ読取装置10は、読取期間T1の間に第1の読み取動作と、第2の読取動作とを順次実行する。具体的には、RFIDタグ読取装置10は、タイミングtaでQueryコマンドを送信した後、タイミングtbで最初のQuery Adjustコマンドを送信する。
この場合、読取期間T1の時間長を、タイミングtaからタイミングtbまでの時間長より短く設定すると、Query Adjustコマンドの送信が行われる前に読取期間T1が終了することになる。
そこで、本変形例の読取動作制御部102は、読取期間T1の時間長を制御することで、第2の読取動作を実行させるか否かを制御する。具体的には、読取動作制御部102は、読取期間T1をタイミングtaからタイミングtb未満の時間長(以下、第1の時間長)とすることで、第2の読取動作が実行されないように読取処理部101を制御する。また、読取動作制御部102は、読取期間T1をタイミングtaからタイミングtcまでのデフォルトの時間長(以下、第2の時間長)とすることで、第2の読取動作が実行されるように読取処理部101を制御する。ここで、タイミングtbは、タイミングtaで送信するQueryコマンドのQ値に依存するため、当該Q値に応じて第1の時間長を決定することが好ましい。
なお、読取期間T1の時間長は、上述した実施形態と同様、操作部18を介して操作に応じて切り替える構成としてもよい。この場合、読取動作制御部102は、操作部18を介して第1の読取方法が指定されると、読取期間T1に第1の時間長を設定する。また、読取動作制御部102は、操作部18を介して第2の読取方法が指定されると、読取期間T1に第2の時間長を設定する。
RFIDタグ読取装置10を移動させながらRFIDタグTGの読み取りを行う第1の読取動作の場合、RFIDタグ読取装置10の移動に伴いアンテナ151の交信領域も移動(変化)するため、新規のRFIDタグTGが交信領域内に入る可能性が高くなる。この場合、読取動作制御部102は、読取期間T1を第1の時間長とすることで、第2の読取動作が実行されないよう読取処理部101を制御する。これにより、RFIDタグ読取装置10は、交信領域に入った新規のRFIDタグTGを読み取りの対象に含めることができるため、交信領域内に存在するRFIDタグTGの読み取りを効率的に行うことができる。
一方、RFIDタグ読取装置10を静止させた状態でRFIDタグTGの読み取りを行う第2の読取方法の場合、アンテナ151の交信領域は略固定された状態となるため、新規のRFIDタグTGが交信領域内に入る可能性は低くなる。この場合、読取動作制御部102は、読取期間T1を第2の時間長とすることで、読取処理部101に第2の読取動作を実行させる。これにより、RFIDタグ読取装置10では、先行する第1の読取動作での読取結果に基づき、残りのRFIDタグTGの読み取りをインベントリ処理36で行うことができるため、交信領域内に存在するRFIDタグTGの読み取りを効率的に行うことができる。
次に、図9を参照して、本変形例に係るRFIDタグ読取装置10の動作例について説明する。図9は、本変形例のRFIDタグ読取装置10が実行する処理の一例を示すフローチャートである。
まず、読取動作制御部102は、操作部18を介して指定された読取方法に基づき、読取期間T1の時間長を変更する(ステップS41)。
続いて、読取処理部101は、読取期間T1を計時するタイマを開始すると(ステップS42)、ステップS43〜ステップS48の処理を実行する。ここで、ステップS43〜ステップS48の処理は、上述した図7のステップS21〜S26の処理と同様であるため説明を省略する。なお、ステップS41で第1の時間長が選択された場合には、ステップS48でQuery Adjustコマンドが送信される前にステップS46で読取期間T1が終了したと判定されるため、第2の読取動作は実行されないことになる。
以上のように、本変形に係るRFIDタグ読取装置10では、上述した実施形態と同様の効果を奏することができるため、RFIDタグTGの読み取りを効率的に行うことができる。
(第2の実施形態)
次に、第2の実施形態について説明する。なお、第1の実施形態と同様の構成要素については同一の符号を付与し、説明を省略する。
図10は、本実施形態に係るRFIDタグ読取装置20のハードウェア構成の一例を示す図である。図10に示すように、RFIDタグ読取装置20は、CPU11、ROM12、RAM13、記憶部14等を備えている。ここで、CPU11、ROM12及びRAM13は、制御部200を構成する。
また、制御部200には、バス等を介して、読取部15と、通信部16と、表示部17と、操作部18とが接続される。さらに、制御部200には、バス等を介して、センサ部21が接続される。
センサ部21は、RFIDタグ読取装置10の移動や傾き等、RFIDタグ読取装置10の「動き」を検出することが可能なセンサ装置である。センサ部21のセンサ種別やセンシング方法は特に問わず、種々のセンサ装置を用いることができる。例えば、センサ部21は、加速度センサやジャイロセンサとしてもよい。この場合、センサ部21は、RFIDタグ読取装置10の動きを加速度や角速度等の物理量として検出する。また、例えば、センサ部21は、CCD(Charge Coupled Device)やCMOS(Complementary MOS)等のイメージセンサとしてもよい。この場合、センサ部21は、RFIDタグ読取装置10の動き量を表す画像データ(動画像)を撮像によって取得する。
図11は、RFIDタグ読取装置20の機能構成の一例を示す図である。図10に示すように、RFIDタグ読取装置20は、読取処理部101と、動き量算出部201と、読取動作制御部202と、読取結果処理部103とを機能部として備える。
RFIDタグ読取装置20が備える機能部の一部又は全ては、RFIDタグ読取装置20のプロセッサ(例えばCPU11)とメモリ(例えばROM12、記憶部14)に記憶されたプログラムとの協働により実現されるソフトウェア構成であってもよい。また、RFIDタグ読取装置10が備える機能部の一部又は全ては、RFIDタグ読取装置20に搭載された専用回路等で実現されるハードウェア構成であってもよい。
動き量算出部201は、算出手段の一例である。動き量算出部201は、センサ部21と協働することで、RFIDタグ読取装置10の動き量を算出(推定)する。例えば、センサ部21が加速度センサの場合、動き量算出部201は、センサ部21によって検出される加速度の大きさから、RFIDタグ読取装置20の動き量を算出する。また、センサ部21がジャイロセンサの場合、動き量算出部201は、センサ部21によって検出される角速度の大きさから、RFIDタグ読取装置20の動き量を算出する。また、センサ部21がイメージセンサの場合、動き量算出部201は、センサ部21によって撮像された画像データ(動画像)を解析することで、RFIDタグ読取装置20の動き量を算出する。なお、動画像からの動き量の算出は、動きベクトルの検出等、公知の技術を用いることができる。
読取動作制御部202は、判定手段及び制御手段の一例である。読取動作制御部202は、読取動作制御部102と同様、読取処理部101が行うインベントリ処理36において、第2の読取動作を実行させるか否かを制御する。具体的には、読取動作制御部202は、動き量算出部201で算出されたRFIDタグ読取装置10の動き量に基づき、上述した第1の読取動作と第2の読取動作とを選択的に実行させる。
より詳細には、読取動作制御部202は、RFIDタグ読取装置20の動き量が閾値以上となる場合、RFIDタグTGの読取方法が第1の読取方法と判定する。この場合、読取動作制御部202は、インベントリ処理36において、読取処理部101に第1の読取動作を実行させることで、Queryコマンドを用いてRFIDタグTGの読み取りを行わせる。また、読取動作制御部202は、RFIDタグ読取装置20の動き量が閾値未満の場合、RFIDタグTGの読取方法が第2の読取方法と判定する。この場合、読取動作制御部202は、インベントリ処理36において、読取処理部101に第2の読取動作を実行させることで、Query Adjustコマンドを用いてRFIDタグTGの読み取りを行わせる。これにより、上述した実施形態と同様の効果を奏することができる。
なお、動き量の閾値は任意に設定可能とするが、少なくともRFIDタグ読取装置20が移動している状態と、停止している状態とを区分することが可能な値が設定されるものとする。
次に、図12を参照して、RFIDタグ読取装置20の動作例について説明する。図12は、RFIDタグ読取装置20が実行する処理の一例を示すフローチャートである。
まず、読取処理部101は、読取期間T1を計時するタイマを開始する(ステップS51)。次いで、動き量算出部201は、センサ部21のセンシング結果に基づき、RFIDタグ読取装置10の動き量を算出する(ステップS52)。
続いて、読取動作制御部202は、ステップS52で算出された動き量が閾値以上か否かを判定する(ステップS53)。ここで、動き量が閾値以上と判定した場合(ステップS53;Yes)、読取動作制御部202は、第1の読取動作を実現するための第1の読取処理を読取処理部101に実行させる(ステップS54)。なお、ステップS54の第1の読取処理は、図7で説明した第1の読取処理と同様であるため説明を省略する。
一方、動き量が閾値未満と判定した場合(ステップS53;No)、読取動作制御部202は、第2の読取動作を実現するための第2の読取処理を読取処理部101に実行させる(ステップS55)。なお、ステップS55の第2の読取処理は、図8で説明した第2の読取処理と同様であるため説明を省略する。
以上のように、本実施形態に係るRFIDタグ読取装置20では、上述した第1の実施形態と同様の効果を奏することができるため、RFIDタグTGの読み取りを効率的に行うことができる。また、RFIDタグ読取装置20では、RFIDタグ読取装置10の動きに応じて読取処理部101が、Query Adjustコマンドを使用するか否かを自動で切り替えることができる。したがって、RFIDタグ読取装置20では、操作者による読取方法の指定操作を省くことができるため、操作性や利便性の向上を図ることができる。
以上説明した実施形態は、上述のRFIDタグ読取装置20が有する構成又は機能の一部を変更することで、適宜に変形して実施することも可能である。そこで、以下では、上述した実施形態に係るいくつかの変形例を他の実施形態として説明する。なお、以下では、上述した実施形態と異なる点を主に説明することとし、既に説明した内容と共通する点については詳細な説明を省略する。また、以下で説明する変形例は、個別に実施されてもよいし、適宜組み合わせて実施されてもよい。
(変形例)
上述の実施形態では、RFIDタグ読取装置20の動き量に基づき、第1の読取動作と第2の読取動作とを切り替えることで、第2の読取動作を実行させるか否かを制御する形態を説明した。しかしながら、第2の実施形態においても第1の実施形態の変形例と同様に読取期間T1の時間長を変更することで、第2の読取動作を実行させるか否かを制御してもよい。
具体的には、読取動作制御部202は、動き量算出部201で算出された動き量が閾値以上の場合に、RFIDタグTGの読取方法が第1の読取方法と判定する。この場合、読取動作制御部202は、読取期間T1の時間長を上述した第1の時間長に設定する。また、読取動作制御部202は、動き量算出部201で算出された動き量が閾値未満の場合に、RFIDタグTGの読取方法が第2の読取方法と判定する。この場合、読取動作制御部202は、読取期間T1の時間長を上述した第2の時間長に設定する。
これにより、本変形例に係るRFIDタグ読取装置20は、上述した実施形態と同様の効果を奏することができるため、RFIDタグTGの読み取りを効率的に行うことができる。また、本変形例に係るRFIDタグ読取装置20では、操作者による読取方法の指定を省くことができるため、操作性や利便性の向上を図ることができる。
上述した各実施形態の各装置で実行されるプログラムは、ROM等に予め組み込まれて提供される。上述の各実施形態の各装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、上述した各実施形態の各装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述した各実施形態の各装置で実行されるプログラムをインターネット等のネットワーク経由で提供又は配布するように構成してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。