JP5300676B2 - 読取装置及びコンピュータプログラム及び読取方法 - Google Patents
読取装置及びコンピュータプログラム及び読取方法 Download PDFInfo
- Publication number
- JP5300676B2 JP5300676B2 JP2009219131A JP2009219131A JP5300676B2 JP 5300676 B2 JP5300676 B2 JP 5300676B2 JP 2009219131 A JP2009219131 A JP 2009219131A JP 2009219131 A JP2009219131 A JP 2009219131A JP 5300676 B2 JP5300676 B2 JP 5300676B2
- Authority
- JP
- Japan
- Prior art keywords
- response
- slots
- slot
- unit
- identification data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
最初からスロットの数を十分多くしておけば、1回でほとんどすべての識別データを正しく受信することができるが、スロットとして時分割されたタイムスロットを用いる場合、スロットの数を多くすると、通信にかかる時間が長くなる。このため、応答装置と通信するための時間が足りなくなる場合がある。
この課題を解決するため、前回の応答時における空きスロットの数や衝突の発生数などに基づいて、次回のスロット数を算出する方式がある。
この発明は、例えば上記のような課題を解決するためになされたものであり、適切なスロット数を算出することにより、多数の応答装置の識別データを読み取るのにかかる時間を短くすることを目的とする。
複数の応答装置の各応答装置が複数のスロットのなかから選択したスロットにより送信した応答装置自身を識別する識別データを受信して、上記複数の応答装置をそれぞれ識別する複数の識別データを読み取る読取装置において、
上記複数の応答装置に対してデータを送信する送信装置と、上記複数の応答装置からデータを受信する受信装置と、データを処理する処理装置と、応答受信部と、スロット判定部と、応答数推定部と、スロット数決定部と、スロット数送信部とを有し、
上記応答受信部は、上記受信装置を用いて、上記複数のスロットの各スロットにおいて、上記応答装置が送信した識別データを受信し、
上記スロット判定部は、上記応答受信部が識別データの受信に成功したか否かに基づいて、上記処理装置を用いて、上記複数のスロットの各スロットについて、識別データを送信した応答装置が存在しない空きスロットであるか、1つの応答装置が識別データを送信した読取スロットであるか、2以上の応答装置が識別データを送信した競合スロットであるかを判定し、
上記応答数推定部は、上記スロット判定部が判定した判定結果に基づいて、上記処理装置を用いて、識別データを送信した応答装置の数を推定して推定応答数とし、
上記スロット数決定部は、上記応答数推定部が推定した推定応答数に基づいて、上記処理装置を用いて、上記応答装置が選択し得るスロットの数を決定してスロット数とし、
上記スロット数送信部は、上記送信装置を用いて、上記スロット数決定部が決定したスロット数を上記応答装置に対して送信することを特徴とする。
実施の形態1について、図1〜図13を用いて説明する。
読取システム800は、ホストコンピュータ850、読取装置100(リーダ装置)、複数のアンテナ810a,810b、ベルトコンベア820、赤外線照射装置831、赤外線受光装置832を有する。
物品群200は、複数の物品210からなる。物品210は、例えば、工場から出荷される製品である。物品210は、例えば、ベルトコンベア820の進行方向に5列、高さ方向に6段、幅方向に2行というように規則正しく積み上げられている。この例では、1つの物品群200が、5×6×2=120個の物品210からなる。しかし、1つの物品群200に含まれる物品210の数は、その都度異なる可能性がある。以下、複数の物品210を区別する必要がある場合には、幅方向奥側から数えた行数x、進行方向前側から数えた列数y、高さ方向下側から数えた段数zを用いて「(x,y,z)」のように表記する。また、例えば、z段目の物品210すべてに言及したい場合は、行数x及び列数yを問わないという意味で「*」を用いて「(*,*,z)」のように表記する。
それぞれの物品210には、ICタグ220(応答装置)が付けられている。ICタグ220は、読み取りやすいように、例えば、物品群200の幅方向外側に付けられている。すなわち、幅方向奥側の物品210(1,*,*)には奥側に、幅方向手前側の物品210(2,*,*)には手前側に、それぞれICタグ220が付けられている。
読取装置100がアンテナ810aを介してICタグ220と通信する場合、通信範囲710aのなかにあるICタグ220が応答する。また、読取装置100がアンテナ810bを介してICタグ220と通信する場合、通信範囲710bのなかにあるICタグ220が応答する。例えば、物品群200が図示した位置にある場合、幅方向奥側・進行方向3列目〜5列目の物品210(1,3,*)(1,4,*)(1,5,*)に付けられた18個のICタグ220が、アンテナ810aを介して通信可能である。幅方向手前側・進行方向3列目〜5列目の物品210(2,3,*)(2,4,*)(2,5,*)に付けられた18個のICタグ220が、アンテナ810bを介して通信可能である。
なお、通信範囲は、電波の強度などの条件によって定まるものであり、厳密なものではない。ICタグ220が通信範囲のなかにあっても応答しない場合があるし、逆に、ICタグ220が通信範囲の外にあっても応答する場合がある。
読取装置100は、例えば、処理装置(以下「CPU」と呼ぶ。)911、バス912、不揮発性記憶装置(以下「ROM」と呼ぶ。)913、揮発性記憶装置(以下「RAM」と呼ぶ。)914、固定ディスク装置(以下「HDD」と呼ぶ。)920、液晶表示装置(以下「LCD」と呼ぶ。)901、キーボード(以下「K/B」と呼ぶ。)902、ネットワーク通信装置915、無線通信装置916、アンテナ選択装置917、物体検出装置918を有する。
バス912は、CPU911・ROM913・RAM914・HDD920・ネットワーク通信装置915・無線通信装置916・アンテナ選択装置917・物体検出装置918などを接続する。
ROM913・RAM914・HDD920(記憶装置)は、CPU911が実行するプログラムやCPU911が処理するデータを記憶する。
LCD901は、CPU911による制御にしたがい、CPU911が出力したデータなどを表示する。
K/B902は、CPU911による制御にしたがい、利用者の操作を入力し、入力した操作を表わすデータをCPU911に通知する。
ネットワーク通信装置915は、CPU911による制御にしたがい、CPU911が出力したデータをホストコンピュータ850に対して送信し、ホストコンピュータ850が送信したデータを受信してCPU911に通知する。
アンテナ選択装置917は、CPU911による制御にしたがい、複数のアンテナ810a,810bのなかから、ICタグ220との通信に使用するアンテナを1つ選択する。複数のアンテナ810a,810bの通信範囲には重なっている部分があるので、複数のアンテナ810a,810bを同時に使用すると、混信してICタグ220と正常に通信できない可能性がある。複数のアンテナ810a,810bを同時に使用せず、同時に使用するアンテナを1つに限ることにより、正常にICタグ220と通信できる。なお、複数のアンテナのなかに通信範囲が重なっていないアンテナがある場合には、通信範囲が重なっていないアンテナを同時に使用する構成としてもよい。
無線通信装置916(送信装置・受信装置)は、CPU911による制御にしたがい、アンテナ選択装置917が選択したアンテナを介して、CPU911が出力したデータをICタグ220に対して送信し、ICタグ220が送信したデータを受信してCPU911に通知する。
物体検出装置918は、CPU911による制御にしたがい、赤外線照射装置831・赤外線受光装置832を制御して、物品群200の存否を検出し、検出結果を表わすデータをCPU911に通知する。
読取装置100は、開始判定部111、アンテナ切替部112、完了判定部113、スロット数決定部120、要求送信部131、応答受信部132、了解送信部133、識別出力部134、スロット判定部140、応答数推定部150を有する。
ICタグ220は、要求受信部221、スロット選択部222、識別送信部223、了解受信部224、了解記憶部225を有する。
要求送信部131(スロット数送信部)は、スロット数決定部120が決定したスロット数に基づいて、CPU911を用いて、ICタグ220に対して識別データの送信を要求するデータ(以下「識別要求メッセージ」と呼ぶ。)を生成する。識別要求メッセージは、スロット数決定部120が決定したスロット数を含む。要求送信部131は、CPU911を用いて、無線通信装置916を制御し、生成した識別要求メッセージをICタグ220に対して送信する。
通信範囲のなかには通常複数のICタグ220があるので、識別要求メッセージに対する応答としてICタグ220が送信した識別データが混信しないようにする必要がある。スロットは複数あり、それぞれのICタグ220が異なるスロットを使用して識別データを送信すれば、混信せず、ICタグ220が送信した識別データを読取装置100が正しく受信することができる。例えば、時分割多重化方式であれば、スロットは、ICタグ220が識別データを送信するタイミングである。なお、多重化方式は、時分割多重化方式に限らず、例えば周波数多重化方式など、他の多重化方式であってもよい。多重化方式が周波数多重化方式であれば、スロットは、ICタグ220が識別データを送信する電波の周波数である。
識別送信部223は、スロット選択部222が選択したスロットを使用して、ICタグ220自身の識別データを送信する。
上述したように、あるスロットを選択したICタグ220が1つだけなら、応答受信部132は、ICタグ220が送信した識別データを正しく受信するが、2つ以上のICタグ220が同じスロットを選択した場合、応答受信部132は、識別データを正しく受信できない。ICタグ220は、他のICタグ220と話し合ってスロットを選択するのではないから、あるICタグ220が他のICタグ220と異なるスロットを選択するか否かは、確率的な問題である。スロット数が多ければ多いほど、あるICタグ220が他のICタグ220と異なるスロットを選択する確率は高くなる。また、通信範囲のなかにあるICタグ220の数が多ければ、その分、あるICタグ220が他のICタグ220と同じスロットを選択する確率が高くなるので、スロット数を多くする必要がある。しかし、時分割多重化されたスロットを用いる場合、スロット数を多くすると1回の通信にかかる時間が長くなる。この例のように、物品群200が一定の速度で移動している場合、ICタグ220の識別データを読み取るためにかけられる時間が限られている。このため、スロット数をむやみに多くすることはできない。
これにより、ICタグ220の識別データを読取装置100が正しく受信した場合、ICタグ220は、次回以降の識別要求メッセージに対して識別データを送信しない。こうして、識別データを送信するICタグ220の数が徐々に減っていく。
なお、了解記憶部225は、ある程度の時間のみ、了解メッセージを受信したことの記憶を保持し、それ以上の時間が経過した場合、了解メッセージを受信したことを忘れる。了解メッセージを受信したことの記憶を了解記憶部225が保持する時間は、少なくとも、1回のサイクルにかかる時間よりも長く、了解記憶部225は、一連の通信の間、了解メッセージを受信したことの記憶を保持する。これにより、読取装置100との一連の通信が終わり、また新たに識別要求メッセージを受信した場合、ICタグ220は、識別データを送信する。例えば、ICタグ220が受信した電波からエネルギーを得て動作するパッシブ型である場合、了解記憶部225は、揮発性メモリを用いて、了解メッセージを受信したことを記憶する。ICタグ220が通信範囲の外に出てエネルギーの供給が絶たれ、所定の時間が経過すると、揮発性メモリが記憶したデータは消去されるので、了解記憶部225は、了解メッセージを受信したことを忘れる。
なお、識別出力部134が識別データを通知するタイミングは、例えば、応答受信部132が識別データを正しく受信するたびに五月雨式に通知する構成であってもよいし、識別データの読み取りが完了したのちにまとめて通知する構成であってもよい。
スロット数決定部120は、1回目のサイクルにおいて、例えばあらかじめ定められた所定の数をスロット数とする。これに対し、スロット数決定部120は、2回目以降のサイクルにおいて、前回のサイクルにおいて応答数推定部150が推定した推定応答数に基づいて、CPU911を用いて、今回のサイクルにおいて識別要求メッセージに応答するICタグ220の数を予測し、予測した数(以下「予測応答数n−」と呼ぶ。)に基づいて、最適なスロット数を算出する。
応答数推定部150は、総数計数部151、空き計数部152、読取計数部153、推定テーブル記憶部155、推定値算出部156を有する。
スロット数決定部120は、経過時間算出部121、増加数算出部122、予測値算出部123、最大残数算出部124、上限応答数算出部125、予測応答数算出部126、スロット数算出部127、増加率記憶部171、最大総数記憶部172、最大応答数記憶部173、スロット数テーブル記憶部174を有する。
空き計数部152は、スロット判定部140が判定した判定結果に基づいて、CPU911を用いて、今回の識別要求メッセージに対する応答における空きスロットの数(以下「空きスロット数E」と呼ぶ。)を数える。
読取計数部153は、スロット判定部140が判定した判定結果に基づいて、CPU911を用いて、今回の識別要求メッセージに対する応答における読取スロットの数(以下「読取スロット数R」と呼ぶ。)を数える。
なお、今回の識別要求メッセージに対する応答における競合スロットの数(以下「競合スロット数C」と呼ぶ。)と、空きスロット数Eと、読取スロット数Rと、総スロット数Sとの間には、S=E+R+Cという関係が成り立つ。このため、例えば空き計数部152に代えて、競合計数部と空き算出部とを設け、空き計数部152が空きスロット数Eを数える代わりに、競合計数部が競合スロット数Cを数え、空き算出部が、総スロット数Sから読取スロット数Rと競合スロット数Cとの合計を差し引いた差S−(R+C)を算出して、空きスロット数Eとする構成としてもよい。
空きスロット数611は、空きスロット数Eを表わす。総スロット数612は、総スロット数Sを表わす。推定応答数613は、空きスロット数Eが左端の空きスロット数611と一致し、総スロット数Sが上端の総スロット数612と一致する場合における推定応答数を表わす。
例えば、空きスロット数Eが7、総スロット数Sが16である場合、推定応答数は13となる。また、空きスロット数Eが30、総スロット数Sが64である場合、推定応答数は48となる。
なお、総スロット数Sと空きスロット数Eとから推定応答数を算出するための構成は、推定応答数テーブルを用いる構成に限らず、他の構成であってもよい。例えば、総スロット数Sと空きスロット数Eとから推定応答数を算出する数式・関数・サブルーチンなどを用いる構成としてもよい。
なお、上述したように、応答数nは、アンテナの通信範囲のなかにあるICタグ220の数に比例しないので、増加数算出部122は、推定応答数n*を使用せず、経過時間tと応答増加率ρとの積を算出して増加数Δnとする構成としてもよい。あるいは、総経過時間算出部と総読取数算出部とを設け、総経過時間算出部が、ICタグ220の識別データの読み取りを開始してからの経過時間(以下「総経過時間T」と呼ぶ。)を算出し、総読取数算出部が、ICタグ220の識別データの読み取りを開始してから正しく受信できた識別データの総数(以下「総読取数ΣR」と呼ぶ。)を算出し、増加数算出部122が、総読取数ΣRを総経過時間Tで割った商に、経過時間tと応答増加率ρとの積を乗じた積ΣR・ρ・t/Tを算出して、増加数Δnとする構成としてもよい。
最大総数は、読取システム800の運用上定められた値であり、総読取数ΣRは、実際に識別データを読み取ったICタグ220の数であるから、物品群200に含まれるICタグ220のうち、まだ識別データを読み取られていないICタグ220の数は、最大残数以下である。したがって、今回の識別要求メッセージに対して、最大残数を超える数のICタグ220が応答することはあり得ない。
予測応答数621は、予測応答数n−の範囲の下限を表わす。スロット数622は、予測応答数n−が、左端の予測応答数621以上である場合におけるスロット数を表わす。
なお、予測応答数n−からスロット数を算出するための構成は、スロット数テーブルを用いる構成に限らず、他の構成であってもよい。例えば、予測応答数n−からスロット数を算出する数式・関数・サブルーチンなどを用いる構成であってもよい。
読取処理S500において、読取装置100は、物品群200に含まれるすべてのICタグ220の識別データを読み取る。読取装置100は、開始判定工程S511、アンテナ切替工程S512、スロット数決定工程S520、要求送信工程S541、応答受信工程S542、スロット判定工程S543、了解送信工程S544、終了判定工程S545、スロット更新工程S546、完了判定工程S547、応答数推定工程S550を実行する。また、ICタグ220は、要求受信工程S581、了解判定工程S582、スロット選択工程S583、スロット待ち工程S584、識別送信工程S585、了解受信工程S586、了解記憶工程S587を実行する。
所定の位置に物品群200が存在すると開始判定部111が判定した場合、読取装置100は、ICタグ220の識別データの読み取りを開始するため、アンテナ切替工程S512へ進む。
所定の位置に物品群200が存在しない開始判定部111がと判定した場合、読取装置100は、開始判定工程S511を繰り返し、物品群200の到着を待つ。
アンテナが3つ以上ある場合は、例えば、使用する順序をあらかじめ定めておく。その前に使用していたアンテナが1番目のアンテナである場合、アンテナ切替部112は、使用するアンテナを2番目のアンテナに切り替える。その前に使用していたアンテナが2番目のアンテナである場合、アンテナ切替部112は、使用するアンテナを3番目のアンテナに切り替える。その前に使用していたアンテナが最後のアンテナである場合、アンテナ切替部112は、使用するアンテナを1番目のアンテナに切り替える。
なお、ICタグ220との通信を開始した直後の場合、最初に使用するアンテナをあらかじめ定めておき、その前に使用していたアンテナにかかわらず、アンテナ切替部112は、使用するアンテナをあらかじめ定めたアンテナに切り替える構成としてもよい。
また、総数計数部151は、RAM914を用いて、総スロット数Sとして0を記憶する。空き計数部152は、RAM914を用いて、空きスロット数Eとして0を記憶する。読取計数部153は、RAM914を用いて、読取スロット数Rとして0を記憶する。
スロット判定部140による判定の結果にかからわず、総数計数部151は、CPU911を用いて、総スロット数Sに1を加え、RAM914を用いて記憶する。
現在のスロットが空きスロットであるとスロット判定部140が判定した場合、空き計数部152は、CPU911を用いて、空きスロット数Eに1を加え、RAM914を用いて記憶する。
現在のスロットが読取スロットであるとスロット判定部140が判定した場合、読取計数部153は、CPU911を用いて、読取スロット数Rに1を加え、RAM914を用いて記憶する。
また、現在のスロットが読取スロットであるとスロット判定部140が判定した場合、読取装置100は、了解送信工程S544へ進む。
現在のスロットが読取スロット以外であるとスロット判定部140が判定した場合、読取装置100は、終了判定工程S545へ進む。
現在のスロットが最後のスロットであるとスロット判定部140が判定した場合、読取装置100は、完了判定工程S547へ進む。
現在のスロットが最後のスロットでないとスロット判定部140が判定した場合、読取装置100は、スロット更新工程S546へ進む。
その後、読取装置100は、応答受信工程S542に戻り、ICタグ220からの応答を受信する。
なお、1つのスロット当たりの時間があらかじめ定まっている場合には、時間の経過により自動的に次のスロットに移るので、スロット更新工程S546はなくてもよい。
ICタグ220の識別データの読み取りが完了したと完了判定部113が判定した場合、読取装置100は、読取処理S500を終了する。
ICタグ220の識別データの読み取りが完了していないと完了判定部113が判定した場合、読取装置100は、応答数推定工程S550へ進む。
その後、読取装置100は、アンテナ切替工程S512に戻り、アンテナを切り替えて、以上の処理を繰り返す。
アンテナ切替部112がアンテナを切り替えず同じアンテナを使用する場合、スロット数決定部120は、直前の識別要求メッセージに対する応答に基づいて応答数推定部150が推定した推定応答数n*に基づいて、スロット数を決定する。
また、アンテナ切替部112がアンテナを切り替えて他のアンテナを使用したのち一巡して元のアンテナに戻ってきた場合、スロット数決定部120は、前回同じアンテナを使用したときの最後の識別要求メッセージに対する応答ではなく、前回同じアンテナを使用したときの最初の識別要求メッセージに対する応答に基づいて応答数推定部150が推定した推定応答数n*に基づいて、スロット数を決定する。
読取装置100がICタグ220自身の識別データを既に正しく受信しているとスロット選択部222が判定した場合、ICタグ220は、今回の処理を終了する。
読取装置100がICタグ220自身の識別データをまだ正しく受信していないとスロット選択部222が判定した場合、ICタグ220は、スロット選択工程S583へ進む。
その了解メッセージの宛先がICタグ220自身であると了解受信部224が判定した場合、ICタグ220は、了解記憶工程S587へ進む。
その了解メッセージの宛先がICタグ220自身でないと了解受信部224が判定した場合、ICタグ220は、今回の処理を終了し、要求受信部221が次の識別要求メッセージを受信するのを待つ。
なお、読取装置100が識別データを正しく受信できず、了解メッセージを送信しない場合もある。そのため、了解受信部224が了解メッセージを受信する前に要求受信部221が識別要求メッセージやスロット更新メッセージを受信した場合も同様に、ICタグ220は、今回の識別要求メッセージに対する処理を終了する。
その後、ICタグ220は、今回の識別要求メッセージに対する処理を終了する。
スロット数決定工程S520は、サイクル判定工程S521、既定値設定工程S522、アンテナ判定工程S523、経過時間算出工程S524、増加数算出工程S525、予測値算出工程S526、最大残数算出工程S527、上限応答数算出工程S528、予測応答数算出工程S529、スロット数算出工程S530を有する。
現在のサイクルが最初のサイクルであるとスロット数決定部120が判定した場合、読取装置100は、既定値設定工程S522へ進む。
現在のサイクルが2回目以降のサイクルであるとスロット数決定部120が判定した場合、読取装置100は、経過時間算出工程S524へ進む。
現在のアンテナが最初のアンテナであるとスロット数決定部120が判定した場合、すなわち、ICタグ220の識別データの読み取りを開始したが、まだ要求送信部131が識別要求メッセージを送信していない場合、読取装置100は、スロット数算出工程S530へ進む。
現在のアンテナが2番目以降のアンテナであるとスロット数決定部120が判定した場合、すなわち、ICタグ220の識別データの読み取りを開始したのち、別のアンテナを介して要求送信部131が識別要求メッセージ送信したことがある場合、読取装置100は、最大残数算出工程S527へ進む。
その後、読取装置100は、スロット数決定工程S520を終了する。
スロット数決定工程S520は、図9で説明した工程に加えて、経過時間算出工程S524b、増加数算出工程S525b、予測値算出工程S526bを有する。
例えば、複数のアンテナのうち、あるアンテナ(以下「アンテナ810c」と呼ぶ。)は、物品群200の下側1段目〜3段目の物品210(*,*,1)(*,*,2)(*,*,3)と主に通信する通信範囲を有すると仮定する。別のアンテナ(以下「アンテナ810d」と呼ぶ。)は、物品群200の上側4段目〜6段目の物品210(*,*,4)(*,*,5)(*,*,6)と主に通信する通信範囲を有すると仮定する。
物品群200における積み上げ段数が2段以下である場合、アンテナ810cを介した通信に応答するICタグ220の数は、積み上げ段数が3段以上である場合よりも少ない。物品群200における積み上げ段数が2段以下である場合、アンテナ810dを介した通信に応答するICタグ220は、ほとんどないと予測できる。
例えば、アンテナ810cを介した通信に対する応答に基づいて応答数推定部150が推定した推定応答数n*を所定の閾値と比較し、推定応答数n*が閾値より小さい場合、スロット数決定部120は、アンテナ810dを介した通信に応答するICタグ220の予測応答数n−を0あるいは通常よりも小さい値として、スロット数を決定する。
分子の「SCE」は、S個のスロットのなかからE個の空きスロットを選択する組み合わせの数を表わす。
分子の「N1(S−E,n)」は、残る(S−E)個のスロットのなかから重複を許してn個のICタグ220が使用するスロットを順に選択し、(S−E)個のスロットすべてが少なくとも1回は選択される順列の数を表わす。関数N1(r,n)は、次の漸化式で与えられる。
横軸は、応答数nを表わす。縦軸は、空きスロット数の期待値E*を表わす。曲線721〜726は、スロット数Sがそれぞれ4、8、16、32、64、128の場合を表わす。
図6に示した推定応答数テーブルは、逆関数fS −1の値を前もって計算したものである。
分子の「S−ECR」は、残る(S−E)個のスロットのなかからR個の読取スロットを選択する組み合わせの数を表わす。
分子の「nPR」は、n個のICタグ220のなかから重複を許さずR個の読取スロットそれぞれを使用するICタグ220を選択する順列の数を表わす。
分子の「N2(S−(E+R),n−R)」は、残る(S−(E+R))個の競合スロットのなかから重複を許して残る(n−R)個のICタグ220が使用するスロットを選択し、(S−(E+R))個の競合スロットすべてが少なくとも2回は選択される順列の数を表わす。関数N2(c,m)は、次の漸化式で与えられる。
横軸は、応答数nを表わす。縦軸は、読取スロット数の期待値R*を表わす。曲線731〜735は、スロット数Sがそれぞれ4、8、16、32、64の場合を表わす。
また、スロット数Sを固定して考えると、応答数nが大きすぎても小さすぎても読取スロット数の期待値R*は小さくなり、応答数nがちょうどスロット数Sに一致する場合に、読取スロット数の期待値R*が最大になる。
このため、単位時間当たりで、識別データを読み取ることができるICタグ220の数が最大になるスロット数Sを求めるには、読取スロット数の期待値R*をスロット数Sで割った商を比較すればよい。
横軸は、応答数nを表わす。縦軸は、読取スロット数の期待値R*をスロット数Sで割った商を表わす。曲線741〜745は、スロット数Sがそれぞれ4、8、16、32、64の場合を表わす。
例えば、スロット数Sを4・8・16・32・64のなかから選択する場合であれば、単位時間当たりで識別データを読み取れるICタグ220の数を最大にする選択方式は、以下のとおりである。すなわち、応答数nが5以下のときは、スロット数Sを4にする。応答数nが6以上11以下のときは、スロット数Sを8にする。応答数nが12以上22以下のときは、スロット数Sを16にする。応答数nが23以上44以下のときは、スロット数Sを32にする。応答数nが45以上のときは、スロット数Sを64にする。
したがって、スロット数決定部120は、このようにして求めたスロット数に基づいて、予測応答数n−からスロット数Sを決定する構成としてもよい。
スロット数Sが大き過ぎると、時間がかかるので多少効率は悪くなるかもしれないが、図12に示したように、少なくとも、スロット数Sが小さ過ぎる場合よりも多くのICタグ220から識別データを読み取ることができる。また、応答数nに対してスロット数Sが大きい場合のほうが、スロット数Sが小さい場合よりも、空きスロット数Eや読取スロット数Rが大きくなるので、応答数nの推定精度が高くなる。したがって、次回だけでなく、その次の回の効率も合わせて考えると、スロット数Sとして理論値よりも少し大きめの値を採用するほうが望ましい。
スロット数がS、応答数がnの場合において、あるスロットが空きスロットである確率P3 S,nは、次の式で与えられる。
したがって、空きスロット数の期待値E*を求める式として数13に示した式を用いる方式のほうが、より正確に応答数を推定することができ、望ましい。
上記読取装置100は、上記複数の応答装置に対してデータを送信する送信装置(無線通信装置916)と、上記複数の応答装置からデータを受信する受信装置(無線通信装置916)と、データを処理する処理装置(CPU911)と、応答受信部132と、スロット判定部140と、応答数推定部150と、スロット数決定部120と、スロット数送信部(要求送信部131)とを有する。
上記応答受信部132は、上記受信装置を用いて、上記複数のスロットの各スロットにおいて、上記応答装置が送信した識別データを受信する。
上記スロット判定部140は、上記応答受信部132が識別データの受信に成功したか否かに基づいて、上記処理装置を用いて、上記複数のスロットの各スロットについて、識別データを送信した応答装置が存在しない空きスロットであるか、1つの応答装置が識別データを送信した読取スロットであるか、2以上の応答装置が識別データを送信した競合スロットであるかを判定する。
上記応答数推定部150は、上記スロット判定部140が判定した判定結果に基づいて、上記処理装置を用いて、識別データを送信した応答装置の数を推定して推定応答数n*とする。
上記スロット数決定部120は、上記応答数推定部150が推定した推定応答数n*に基づいて、上記処理装置を用いて、上記応答装置が選択し得るスロットの数を決定してスロット数とする。
上記スロット数送信部は、上記送信装置を用いて、上記スロット数決定部120が決定したスロット数を上記応答装置に対して送信する。
上記送信装置(無線通信装置916)は、上記アンテナ選択装置917が選択したアンテナを介して、上記複数の応答装置に対してデータを送信する。
上記受信装置(無線通信装置916)は、上記アンテナ選択装置917が選択したアンテナを介して、上記複数の応答装置からデータを受信する。
上記アンテナ切替部112は、上記アンテナ選択装置917を用いて、使用するアンテナを切り替える。
上記スロット数決定部120は、上記アンテナ切替部112が切り替えたアンテナを介して上記応答受信部132が前回受信した識別データに基づいて上記応答数推定部150が推定した推定応答数n*に基づいて、上記処理装置を用いて、スロット数を決定する。
この実施の形態における読取装置100としてコンピュータを機能させるコンピュータプログラムによれば、スロット判定部140が判定した判定結果に基づいて応答数推定部150が推定した推定応答数n*に基づいて、スロット数決定部120がスロット数を決定するので、スロット数を、応答装置の数に適した値にすることができ、制限時間内にすべての応答装置の識別データを読み取る読取装置100を実現することができる。
上記受信装置(無線通信装置916)が、上記複数のスロットの各スロットにおいて、上記応答装置が送信した識別データを受信する。
上記受信装置が識別データの受信に成功したか否かに基づいて、上記処理装置(CPU911)が、上記複数のスロットの各スロットについて、識別データを送信した応答装置が存在しない空きスロットであるか、1つの応答装置が識別データを送信した読取スロットであるか、2以上の応答装置が識別データを送信した競合スロットであるかを判定する。
上記処理装置が判定した判定結果に基づいて、上記処理装置が、識別データを送信した応答装置の数を推定して推定応答数とする。
上記処理装置が推定した推定応答数に基づいて、上記処理装置が、上記応答装置が選択し得るスロットの数を決定してスロット数とする。
上記送信装置(無線通信装置916)が、上記処理装置が決定したスロット数を上記応答装置に対して送信する。
タグ集団は、例えば、台車の上にタグが貼付された荷物が多数置かれているものである。1つのタグ集団には、例えば20行×6列=120個のタグが存在する。タグ集団は、例えば台車に乗せられ、2つのアンテナ810aとアンテナ810bとの間を通過する。
タグ数予測部は、予測回路(推定値算出部156、増加数算出部122、予測値算出部123、予測応答数算出部126)を有し、タグの残数情報TRemain(最大残数)、アンテナ毎の前回のInventoryTagsの第1ラウンドのタグ数情報TPreviousFirstRound(推定応答数n*)、タグ数関数テーブル(推定応答数テーブル)を記憶している。最大残数算出部124は、総タグ数の上限TTotalMax(最大総数)から、それまで読まれたすべてのタグ数を減算して、タグの残数情報TRemainを算出する。
第1サイクルの第1ラウンドのタグ数予測において、予測回路は、初期タグ数TFirst(A)と、読み取り可能タグ数TMaxと、タグの残数情報TRemainをアンテナ数NAで割った商とのうちの最小値を、予測タグ数とする。
第2サイクル以降の第1ラウンドのタグ数予測において、予測回路は、前回のInventoryTagsの第1ラウンドのタグ数情報TPreviousFirstRoundと、読み取り可能タグ数TMaxと、タグの残数情報TRemainをアンテナ数NAで割った商とのうちの最小値を、予測タグ数とする。
第2ラウンド以降のタグ数予測において、予測回路は、前ラウンドの総スロット数Sと、前ラウンドの空きスロット数Eとに基づいて、タグ数関数テーブルを用いて、前ラウンドのタグ数を推定する。予測回路は、前ラウンドの総スロット数Sに所定の係数ρSを乗じた積と、前ラウンドの読取スロット数Rに所定の係数ρRを乗じた積との和を算出して、タグ数増加TINCとする。予測回路は、前ラウンドのタグ数から前ラウンドでの読み取りタグ数Rを差し引いた差にタグ数増加TINCを加えた和を算出する。予測回路は、算出した和と、読み取り可能タグ数TMaxと、タグの残数情報TRemainをアンテナ数NAで割った商とのうちの最小値を、予測タグ数とする。
コマンド列を受けた無線通信部は、通信コマンドを無線に乗せる信号に変換する。アンテナ切替え部は、この信号を、複数のアンテナケーブルのいずれかに接続する。アンテナケーブルは、それぞれ、1つのアンテナに接続されている。すなわち、切り替え部を切り替えることにより、複数のアンテナ810a,810bのうちの一つを使用して、タグ集団と通信をする。通信はInventoryTagsと呼ばれるリーダとタグ集団間のやりとりを複数回発行することで行われる。
1回のラウンド処理を終了するたびに、無線通信部が読み出したタグの情報を通信制御部に返す。無線通信部は、読めたタグ数R、総スロット数S、空スロット数Eをタグ数予測部に送信する。これらの情報は、次のタグ数予測のデータとなる。
タグ集団のすべてのタグを読み切ったとき、通信制御部は、そのすべてのIDを格納する。ネットワークインタフェース部21は、これらのID番号を、ネットワークを伝搬する信号に変換し、ネットワークを経由してホストコンピュータ850に伝える。
アンテナ数NAは、RFIDリーダ装置に接続されたアンテナの数であり、例えば2である。
読み取らなければならない総タグ数の上限TTotalMaxは、1台の台車に積む可能性のある最大数である。例えば、1台の台車に1〜200個のタグが積まれる可能性がある場合、TTotalMaxは200に設定する。
読み取り可能最大タグ数TMaxは、対象となるシステムにおいて、一つのアンテナで1回のラウンドで一括読み取りすることになりうる最大数を表わす。例えば、1台の台車につき全部で200個のタグを読むとしても、アンテナの電波送信範囲やタグの密度から考えて、一度に通信できるタグの数は、それよりも少なく、例えばたかだか40個程度である。その場合、TMaxは40に設定する。
アンテナ毎の初期タグ数TFirst(A)は、第1サイクルにおける各アンテナのInventoryTagsの第1ラウンドで読まれると想定されるタグ数を表わす。なお、Aはアンテナ番号を表わす。最初から多数のタグを読む場合、TFirst(A)は大きい値に設定し、最初は少数のタグしか読まない場合、TFirst(A)は小さい値に設定する。
タグ数増加パラメータ(ρS,ρR)は、総スロット数と読まれたタグ数から次ラウンドに新たに通信可能になるタグを予測するためのパラメータである。タグ集団は移動しているので、1回のラウンド処理をしていると、その時間内に新たなタグがアンテナの通信範囲に入り、リーダ装置と通信可能となる。ラウンド処理にかかる時間は、総スロット数Sと読まれたタグ数Rに依存し、例えば40kbps程度の通信性能であれば「ラウンド処理にかかる時間=S×1ミリ秒+R×7ミリ秒」である。
新たに通信可能となるタグ数がラウンド処理にかかる時間に比例すると看做すと、新たに通信可能となるタグ数TINCは、「TINC=S×ρS+R×ρR」で求めることができる。ここで、ρS、ρRは運用で決まるパラメータであり、例えば、アンテナ数が2ならρS=0.05、ρR=0.35、アンテナ数が4ならρS=0.03、ρR=0.17程度の数値になる。
この処理は、例えば、EPC Globalが既定するC1G2(Class1 Generation2)と呼ばれるリーダ装置とタグ集団との間のコマンドを使って実現する。
一例として、アンテナ数NA=2、第3サイクルのInventoryTagsについて説明する。なお、前回のサイクルのInventoryTagsの第1ラウンドで読めたタグ数TPreviousFirstRound(A)=20、実在するタグ=34、読み取り可能最大タグ数TMax=40、タグ数の残数TRemain=100、ρS=0.05、ρR=0.35とする。
スロット数算出部は、予測タグ数20より、第1ラウンドのスロット数(例えば32)を算出する。
リーダ装置は、スロット番号Kを1に、読んだタグ数Rを0に、衝突スロット数Cを0に初期化する。
リーダ装置は、Queryコマンドを送信する。ここから、最初のスロットが始まる。
タグからの応答があった場合、リーダ装置は、ACKコマンドを送信し、タグはそれにIDを応答する。リーダ装置は、読まれたタグ数Rをカウントアップして1を加える。
タグからHandleNumberが返ってこないときは、ふたつのケースがある。ひとつは、どのタグも応答しなかったケースである。もう一つが、複数のタグが応答し、衝突を起こしたケースである。後者の場合、衝突スロットカウンタCをインクリメントして1を加える。
リーダ装置は、スロット番号Kと、このラウンドで実行すべきスロット数とを比較する。
スロット番号Kのほうが小さい場合、リーダ装置は、スロット番号Kをインクリメントして1を加え、タグからの応答待ちに戻る。
スロット番号Kがスロット数に達した場合、リーダ装置は、このラウンドを終了する。
両方とも0である場合、リーダ装置は、1回のInventoryTagsの処理を終了する。
いずれかが0でない場合、リーダ装置は、今回のラウンドのタグ数Rを、RPreviousRoundとして保存する。リーダ装置は、次のラウンドのスロット数を算出する。
リーダ装置は、算出した予測タグ数14.4より、次のラウンドのスロット数(例えば16)を算出する。その後、リーダ装置は、ラウンド処理に戻り、Queryコマンドを送信して、次のラウンドを開始する。
なお、読み取り可能な最大タグ数TMaxを40、読み取らなければならない総タグ数TTotalMaxを200とする。
アンテナ切り替え部がアンテナケーブルを接続し、アンテナ810aが電波を送信する。
リーダ装置は、アンテナ810aを使用して、第1回目のInventoryTagsを実行する。
タグ集団では、アンテナ810aに近い側の列のタグが主に応答する。
例えば、第1回目のInventoryTagsで35個のタグが読めたとする。リーダ装置は、アンテナ810aを使用して35個のタグが読めたことを記憶する。リーダ装置は、読めたタグIDを蓄積する。リーダ装置は、読み取り残数TRemainを更新する。リーダ装置は、読み取り残数200から読めたタグ数35を差し引いて、読み取り残数TRemain=200−35=165とする。
読み残したタグがあると判定した場合、リーダ装置は、使用するアンテナを切り替えて、次のInventoryTagsを実行する。これを、読み残したタグがないと判定するまで繰り返す。
タグ集団では、アンテナ810bに近い側の列のタグが主に応答する。なお、第1回目のInventoryTagsで既に読まれたタグは応答しない。
例えば、第2回目のInventoryTagsで31個のタグが読めたとする。リーダ装置は、読めたタグIDを蓄積する。リーダ装置は、読み取り残数TRemainを更新して、読み取り残数TRemain=165−31=134とする。
例えば、第3回目のInventoryTagsで20個のタグが読めたとする。リーダ装置は、読めたタグIDを蓄積する。リーダ装置は、読み取り残数TRemainを更新して、読み取り残数TRemain=134−20=114とする。
第9回目のInventoryTagsで読めたタグ数が0であるとすると、第8回目のInventoryTagsで読めたタグ数も0なので、リーダ装置は、読み残したタグがないと判定して、読み取り処理を終了する。
例えば、ある段階で、総タグ数TTotalMax=200に対して、それまでに読み取ったタグ数が190であるとすると、読み取り残数TRemainは10になる。その場合、まだ読めていないタグの数は10以下なので、前のラウンドに応答したタグ数がどんなに多くても、タグ数予測部は、予測タグ数として10より大きい数を算出することはない。スロット数算出部は、この予測タグ数に基づいて、例えばスロット数を16にする。これにより、スロット数として適切な値を設定することができる。
アンテナ切替部112は、4つのアンテナを所定の順序で切り替える。例えば、アンテナ切替部112は、上段左側→下段左側→上段右側→下段右側のように、同じ側が連続する順序で切り替える構成としてもよいし、下段左側→上段右側→上段左側→下段右側のように、1回ごとに左右が変化する順序で切り替える構成としてもよい。なお、1回ごとに左右が変化する順序で切り替える構成のほうが、読み落としの確率が減り、望ましい。
実施の形態2について、図14〜図17を用いて説明する。
なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
応答数推定部150は、実施の形態1で説明したブロックに加えて、更に、競合計数部154を有する。
競合計数部154は、スロット判定部140が判定した判定結果に基づいて、CPU911を用いて、競合スロットの数(競合スロット数C)を数える。
なお、実施の形態1で述べたように、総スロット数Sと空きスロット数Eと読取スロット数Rと競合スロット数Cとの間には、S=E+R+Cという関係が成り立つので、競合計数部154に代えて、競合算出部を設け、競合算出部が、総スロット数Sから空きスロット数Eと読取スロット数Rとの和を差し引いた差S−(E+R)を算出して競合スロット数Cとする構成としてもよい。
指標値614は、値Dを表わす。総スロット数612は、総スロット数Sを表わす。推定応答数613は、値Dが左端の指標値614と一致し、総スロット数Sが上端の総スロット数612と一致する場合における推定応答数を表わす。
例えば、値Dが−6、総スロット数Sが16である場合、推定応答数は28となる。また、値Dが30、総スロット数Sが64である場合、推定応答数は35となる。
ここで、競合スロット数Cは、C=S−(E+R)であることから、値Dの期待値D*を求めると、以下の式を得る。
横軸は、応答数nを表わす。縦軸は、値Dの期待値D*を表わす。曲線751〜755は、スロット数Sがそれぞれ4、8、16、32、64の場合を表わす。
横軸は、空きスロット数E及び値Dを表わす。縦軸は、その発生確率を表わす。曲線761〜765は、スロット数Sが64の場合において応答数nがそれぞれ50、55、60、65、70の場合の空きスロット数Eが発生する確率を表わす。曲線771〜775は、スロット数Sが64の場合において応答数がそれぞれ50、55、60、65、70の場合の値Dが発生する確率を表わす。
一見してわかるように、空きスロット数Eの確率分布は、応答数nが変化しても移動量が小さく、グラフの重なりが大きいのに対して、値Dの確率分布は、応答数nの変化に対する移動量が大きく、グラフの重なりが小さい。換言すると、応答数nがn1である場合の期待値と応答数nがn2である場合の期待値との差で、応答数nがn1である場合の標準偏差を割った商を比較すると、値Dの場合のほうが、空きスロット数Eの場合よりも大きい。
例えば、実施の形態1における応答数推定部150は、空きスロット数EがE1である場合、推定応答数n*を60と算出するが、実際の応答数nが55あるいは65である可能性も少なからずあり、50あるいは70である可能性も否定できない。これに対し、この実施の形態における応答数推定部150は、値DがD1である場合、推定応答数n*を60と算出するが、実際の応答数nが55あるいは65である可能性は低く、50あるいは70である可能性はほとんどない。
すなわち、この実施の形態における応答数推定部150のほうが、実施の形態1における応答数推定部150よりも、応答数の推定精度が高い。
実施の形態3について、図18〜図23を用いて説明する。
なお、実施の形態1または実施の形態2と共通する部分については、同一の符号を付し、説明を省略する。
なお、事前確率記憶部157は、各アンテナについて事前確率P−(i)を記憶する。
スロット数決定部120は、推定応答数n*ではなく、事後確率P+(i)に基づいて、予測応答数n−を算出する点が、実施の形態1と異なる。
その場合、スロット数決定部120は、実施の形態1で説明した構成と同じ構成でよい。
なお、スロット数算出部127は、実施の形態1で説明したように、読取スロット数の期待値R*だけでなく、次回の応答数の推定の精度も加味してスロット数を決定する構成としてもよい。例えば、スロット数算出部127は、CPU911を用いて、スロット数の候補と応答数との組から応答数の推定精度を算出し、読取スロット数の期待値R*と応答数の推定精度とに基づいて評価値を算出し、算出した評価値が最も大きい候補をスロット数として決定する。
このように、予測応答数算出部126が算出した予測応答数n−の確率分布をフィードバックして、事前確率記憶部157が事前確率P−(i)として記憶することにより、次回の事後確率P+(i)の精度を高めることができる。
なお、予測応答数算出部126が算出した予測応答数n−の確率分布をフィードバックせず、予測応答数算出部126は、最初に記憶した事前確率P−(i)をそのまま記憶しておく構成としてもよい。これにより、予測応答数算出部126による予測応答数n−の予測精度が悪い場合に、事後確率P+(i)の精度が逆に低下するのを防ぐことができる。
応答数推定工程S550は、初期化工程S551、2つの仮応答数選択工程S552,S556、確率算出工程S553、確率加算工程S554、2つの仮応答数判定工程S555,S558、事後確率算出工程S557を有する。
仮応答数選択工程S552において、事後確率算出部158は、CPU911を用いて、0以上かつ最大応答数以下の整数のなかから順に整数を1つ選択して、整数iとする。
確率算出工程S553において、事後確率算出部158は、総数計数部151が数えた総スロット数Sと、空き計数部152が数えた空きスロット数Eと、読取計数部153が数えた読取スロット数Rと、仮応答数選択工程S552で選択した整数iとに基づいて、CPU911を用いて、確率P5 S(E,R,i)を算出する。事後確率算出部158は、RAM914を用いて、仮応答数選択工程S552で選択した整数iについて算出した確率P5 S(E,R,i)を記憶する。
確率加算工程S554において、事後確率算出部158は、CPU911を用いて、確率算出工程S553で算出した確率P5 S(E,R,i)を総和Σに加え、RAM914を用いて記憶する。
仮応答数判定工程S555において、事後確率算出部158は、CPU911を用いて、仮応答数選択工程S552で選択すべき整数iがまだ残っているか否かを判定する。
仮応答数選択工程S552で選択すべき整数iがまだあると事後確率算出部158が判定した場合、読取装置100は、仮応答数選択工程S552に戻り、事後確率算出部158が次の整数iを選択する。
仮応答数選択工程S552で選択すべき整数iをすべて選択したと事後確率算出部158が判定した場合、読取装置100は、仮応答数選択工程S556へ進む。
事後確率算出工程S557において、事後確率算出部158は、仮応答数選択工程S556で選択した整数iについて確率算出工程S553で算出した確率P5 S(E,R,i)を、総和Σで割った商を算出する。事後確率算出部158は、RAM914を用いて、仮応答数選択工程S556で選択した整数iについての事後確率P+(i)として、算出した商を記憶する。
仮応答数判定工程S558において、事後確率算出部158は、CPU911を用いて、仮応答数選択工程S556で選択すべき整数iがまだ残っているか否かを判定する。
仮応答数選択工程S556で選択すべき整数iがまだあると事後確率算出部158が判定した場合、読取装置100は、仮応答数選択工程S556に戻り、事後確率算出部158が次の整数iを選択する。
仮応答数選択工程S556で選択すべき整数iをすべて選択したと事後確率算出部158が判定した場合、読取装置100は、応答数推定工程S550を終了する。
スロット数決定工程S520は、サイクル判定工程S521、アンテナ判定工程S523、経過時間算出工程S524、2つの最大残数算出工程S527,S527b、2つの上限応答数算出工程S528,S528b、初期確率分布算出工程S539、確率分布算出工程S560、スロット数算出工程S530を有する。
現在のサイクルが最初のサイクルであるとスロット数決定部120が判定した場合、読取装置100は、アンテナ判定工程S523へ進む。
現在のサイクルが2回目以降のサイクルであるとスロット数決定部120が判定した場合、読取装置100は、経過時間算出工程S524へ進む。
現在のアンテナが最初のアンテナであるとスロット数決定部120が判定した場合、読取装置100は、上限応答数算出工程S528bへ進む。
現在のアンテナが2番目以降のアンテナであるとスロット数決定部120が判定した場合、読取装置100は、最大残数算出工程S527bへ進む。
その後、読取装置100は、スロット数算出工程S530へ進む。
その後、読取装置100は、スロット数決定工程S520を終了する。
確率分布算出工程S560は、確率分布初期化工程S561、仮応答数選択工程S562、仮増加数選択工程S563、増加確率算出工程S564、予測値算出工程S565、予測応答数算出工程S566、確率加算工程S567、仮増加数判定工程S568、仮応答数判定工程S569を有する。
仮増加数選択工程S563でまだ選択していない仮増加数があると増加数算出部122が判定した場合、増加数算出部122は、仮増加数選択工程S563に戻り、次の仮増加数を選択する。
仮増加数選択工程S563でまだ選択していない仮増加数がないと増加数算出部122が判定した場合、読取装置100は、仮応答数判定工程S569へ進む。
仮応答数選択工程S562でまだ選択していない仮応答数があると予測応答数算出部126が判定した場合、予測応答数算出部126は、仮応答数選択工程S562に戻り、次の仮応答数を選択する。
仮応答数選択工程S562でまだ選択していない仮応答数がないと予測応答数算出部126が判定した場合、読取装置100は、確率分布算出工程S560を終了する。
スロット数算出工程S530は、評価値初期化工程S531、仮スロット数選択工程S532、仮予測数選択工程S533、評価値算出工程S534、評価値加算工程S535、仮予測数判定工程S536、仮スロット数判定工程S537、評価値比較工程S538を有する。
仮予測数選択工程S533でまだ選択していない仮予測数があるとスロット数算出部127が判定した場合、スロット数算出部127は、仮予測数選択工程S533に戻り、次の仮予測数を選択する。
仮予測数選択工程S533でまだ選択していない仮予測数がないとスロット数算出部127が判定した場合、読取装置100は、仮スロット数判定工程S537へ進む。
仮スロット数選択工程S532でまだ選択していない仮スロット数があるとスロット数算出部127が判定した場合、スロット数算出部127は、仮スロット数選択工程S532に戻り、次の仮スロット数を選択する。
仮スロット数選択工程S532でまだ選択していない仮スロット数がないとスロット数算出部127が判定した場合、読取装置100は、評価値比較工程S538へ進む。
その後、読取装置100は、スロット数算出工程S530を終了する。
三角形781〜785は、総スロット数Sが64、応答数nがそれぞれ50、55、60、65、70の場合を表わす。各三角形の頂点Eは、空きスロット数Eが総スロット数Sに一致する場合を表わす。頂点Eの対辺は、空きスロット数Eが0である場合を表わす。頂点Rは、読取スロット数Rが総スロット数Sに一致する場合を表わす。頂点Rの対辺は、読取スロット数Rが0である場合を表わす。頂点Cは、競合スロット数Cが総スロット数Sに一致する場合を表わす。頂点Cの対辺は、競合スロット数Cが0である場合を表わす。三角形内の点は、その点の位置が表わす空きスロット数E、読取スロット数R、競合スロット数Cが発生する確率を表わし、点の大きさが大きいほど発生確率が高いことを表わす。
したがって、推定応答数n*(もしくはその確率分布)の算出には、空きスロット数E・読取スロット数R・競合スロットCのうちいずれか2つを変数とする2変数関数を用いるほうが精度の高い推定が可能となる。
これに対して、推定応答数n*の算出に2変数関数を用いる場合、応答数nを変数とする関数の逆関数を用いる簡便な方式を取ることは難しい。
例えば、応答数推定部150は、CPU911を用いて、総数計数部151が数えた総スロット数Sと、空き計数部152が数えた空きスロット数Eとに基づいて、0以上かつ上限応答数以下の整数iそれぞれについて、空きスロット数がEかつ応答数nがiとなる確率P1 S,i(E)を算出する。応答数推定部150は、確率P1 S,i(E)と事前確率P−(i)との積を算出することにより、事後確率P+(i)を算出して、応答数の確率分布を求める。
上記スロット数決定部120は、上記応答数推定部150が算出した確率分布に基づいて、上記処理装置を用いて、スロット数を決定する。
Claims (9)
- 複数の応答装置の各応答装置が複数のスロットのなかから選択したスロットにより送信した応答装置自身を識別する識別データを受信して、上記複数の応答装置をそれぞれ識別する複数の識別データを読み取る読取装置において、
上記複数の応答装置に対してデータを送信する送信装置と、上記複数の応答装置からデータを受信する受信装置と、データを処理する処理装置と、応答受信部と、スロット判定部と、応答数推定部と、スロット数決定部と、スロット数送信部とを有し、
上記応答受信部は、上記受信装置を用いて、上記複数のスロットの各スロットにおいて、上記応答装置が送信した識別データを受信し、
上記スロット判定部は、上記応答受信部が識別データの受信に成功したか否かに基づいて、上記処理装置を用いて、上記複数のスロットの各スロットについて、識別データを送信した応答装置が存在しない空きスロットであるか、1つの応答装置が識別データを送信した読取スロットであるか、2以上の応答装置が識別データを送信した競合スロットであるかを判定し、
上記応答数推定部は、上記スロット判定部が判定した判定結果に基づいて、上記処理装置を用いて、識別データを送信した応答装置の数を推定して推定応答数として算出する推定部であり、上記複数のスロットのうち、空きスロットであると上記スロット判定部が判定したスロットの数を計数して空きスロット数Eとし、競合スロットであると上記スロット判定部が判定したスロットの数を計数して競合スロット数Cとし、上記空きスロット数Eから上記競合スロット数Cを差し引いた値D=E−Cを算出し、上記応答装置が選択し得たスロットの総数Sと、上記値Dとに基づいて、推定応答数を算出し、
上記スロット数決定部は、上記応答数推定部が推定した推定応答数に基づいて、上記処理装置を用いて、上記応答装置が選択し得るスロットの数を決定してスロット数とし、
上記スロット数送信部は、上記送信装置を用いて、上記スロット数決定部が決定したスロット数を上記応答装置に対して送信することを特徴とする読取装置。 - 複数の応答装置の各応答装置が複数のスロットのなかから選択したスロットにより送信した応答装置自身を識別する識別データを受信して、上記複数の応答装置をそれぞれ識別する複数の識別データを読み取る読取装置において、
上記複数の応答装置に対してデータを送信する送信装置と、上記複数の応答装置からデータを受信する受信装置と、データを処理する処理装置と、応答受信部と、スロット判定部と、応答数推定部と、スロット数決定部と、スロット数送信部とを有し、
上記応答受信部は、上記受信装置を用いて、上記複数のスロットの各スロットにおいて、上記応答装置が送信した識別データを受信し、
上記スロット判定部は、上記応答受信部が識別データの受信に成功したか否かに基づいて、上記処理装置を用いて、上記複数のスロットの各スロットについて、識別データを送信した応答装置が存在しない空きスロットであるか、1つの応答装置が識別データを送信した読取スロットであるか、2以上の応答装置が識別データを送信した競合スロットであるかを判定し、
上記応答数推定部は、上記スロット判定部が判定した判定結果に基づいて、上記処理装置を用いて、識別データを送信した応答装置の数を推定して推定応答数として算出する推定部であり、上記複数のスロットのうち、空きスロットであると上記スロット判定部が判定したスロットの数を計数して空きスロット数Eとし、競合スロットであると上記スロット判定部が判定したスロットの数を計数して競合スロット数Cとし、上記空きスロット数Eに所定の定数αを乗じた積αEと、上記競合スロット数Cに所定の定数βを乗じた積βCとを合計した値D=αE+βCを算出し、上記応答装置が選択し得たスロットの総数Sと、上記値Dとに基づいて、推定応答数を算出し、
上記スロット数決定部は、上記応答数推定部が推定した推定応答数に基づいて、上記処理装置を用いて、上記応答装置が選択し得るスロットの数を決定してスロット数とし、
上記スロット数送信部は、上記送信装置を用いて、上記スロット数決定部が決定したスロット数を上記応答装置に対して送信することを特徴とする読取装置。 - 複数の応答装置の各応答装置が複数のスロットのなかから選択したスロットにより送信した応答装置自身を識別する識別データを受信して、上記複数の応答装置をそれぞれ識別する複数の識別データを読み取る読取装置において、
上記複数の応答装置に対してデータを送信する送信装置と、上記複数の応答装置からデータを受信する受信装置と、データを処理する処理装置と、応答受信部と、スロット判定部と、応答数推定部と、スロット数決定部と、スロット数送信部とを有し、
上記応答受信部は、上記受信装置を用いて、上記複数のスロットの各スロットにおいて、上記応答装置が送信した識別データを受信し、
上記スロット判定部は、上記応答受信部が識別データの受信に成功したか否かに基づいて、上記処理装置を用いて、上記複数のスロットの各スロットについて、識別データを送信した応答装置が存在しない空きスロットであるか、1つの応答装置が識別データを送信した読取スロットであるか、2以上の応答装置が識別データを送信した競合スロットであるかを判定し、
上記応答数推定部は、上記スロット判定部が判定した判定結果に基づいて、上記処理装置を用いて、識別データを送信した応答装置の数を推定して推定応答数として算出する推定部であり、読取スロットであると上記スロット判定部が判定したスロットの数を計数して読取スロット数Rとし、競合スロットであると上記スロット判定部が判定したスロットの数を計数して競合スロット数Cとし、上記応答装置が選択し得たスロットの総数Sと、上記読取スロット数Rと、上記競合スロット数Cとに基づいて推定応答数を算出し、
上記スロット数決定部は、上記応答数推定部が推定した推定応答数に基づいて、上記処理装置を用いて、上記応答装置が選択し得るスロットの数を決定してスロット数とし、
上記スロット数送信部は、上記送信装置を用いて、上記スロット数決定部が決定したスロット数を上記応答装置に対して送信することを特徴とする読取装置。 - 上記読取装置は、更に、複数のアンテナのなかから使用するアンテナを選択するアンテナ選択装置と、アンテナ切替部とを有し、
上記送信装置は、上記アンテナ選択装置が選択したアンテナを介して、上記複数の応答装置に対してデータを送信し、
上記受信装置は、上記アンテナ選択装置が選択したアンテナを介して、上記複数の応答装置からデータを受信し、
上記アンテナ切替部は、上記アンテナ選択装置を用いて、使用するアンテナを切り替え、
上記スロット数決定部は、上記アンテナ切替部が切り替えたアンテナを介して上記応答受信部が前回受信した識別データに基づいて上記応答数推定部が推定した推定応答数に基づいて、上記処理装置を用いて、スロット数を決定することを特徴とする請求項1乃至請求項3のいずれかに記載の読取装置。 - 上記スロット数決定部は、上記アンテナ切替部が切り替える前のアンテナを介して上記応答受信部が受信した識別データに基づいて上記応答数推定部が推定した推定応答数に基づいて、上記処理装置を用いて、スロット数を決定することを特徴とする請求項4に記載の読取装置。
- データを送信する送信装置とデータを受信する受信装置とデータを処理する処理装置とを有するコンピュータが実行することにより、上記コンピュータが請求項1乃至請求項5のいずれかに記載の読取装置として機能することを特徴とするコンピュータプログラム。
- データを送信する送信装置とデータを受信する受信装置とデータを処理する処理装置とを有する読取装置が、複数の応答装置の各応答装置が複数のスロットのなかから選択したスロットを用いて送信する応答装置自身を識別する識別データを受信して、上記複数の応答装置をそれぞれ識別する複数の識別データを読み取る読取方法において、
上記受信装置が、上記複数のスロットの各スロットにおいて、上記応答装置が送信した識別データを受信し、
上記受信装置が識別データの受信に成功したか否かに基づいて、上記処理装置が、上記複数のスロットの各スロットについて、識別データを送信した応答装置が存在しない空きスロットであるか、1つの応答装置が識別データを送信した読取スロットであるか、2以上の応答装置が識別データを送信した競合スロットであるかを判定し、
上記処理装置が判定した判定結果に基づいて、上記処理装置が、上記複数のスロットのうち、空きスロットであると判定したスロットの数を計数して空きスロット数Eとし、競合スロットであると判定したスロットの数を計数して競合スロット数Cとし、上記空きスロット数Eから上記競合スロット数Cを差し引いた値D=E−Cを算出し、上記応答装置が選択し得たスロットの総数Sと、上記値Dとから、識別データを送信した応答装置の数を推定して推定応答数とし、
上記処理装置が推定した推定応答数に基づいて、上記処理装置が、上記応答装置が選択し得るスロットの数を決定してスロット数とし、
上記送信装置が、上記処理装置が決定したスロット数を上記応答装置に対して送信することを特徴とする読取方法。 - データを送信する送信装置とデータを受信する受信装置とデータを処理する処理装置とを有する読取装置が、複数の応答装置の各応答装置が複数のスロットのなかから選択したスロットを用いて送信する応答装置自身を識別する識別データを受信して、上記複数の応答装置をそれぞれ識別する複数の識別データを読み取る読取方法において、
上記受信装置が、上記複数のスロットの各スロットにおいて、上記応答装置が送信した識別データを受信し、
上記受信装置が識別データの受信に成功したか否かに基づいて、上記処理装置が、上記複数のスロットの各スロットについて、識別データを送信した応答装置が存在しない空きスロットであるか、1つの応答装置が識別データを送信した読取スロットであるか、2以上の応答装置が識別データを送信した競合スロットであるかを判定し、
上記処理装置が判定した判定結果に基づいて、上記処理装置が、上記複数のスロットのうち、空きスロットであると判定したスロットの数を計数して空きスロット数Eとし、競合スロットであると判定したスロットの数を計数して競合スロット数Cとし、上記空きスロット数Eに所定の定数αを乗じた積αEと、上記競合スロット数Cに所定の定数βを乗じた積βCとを合計した値D=αE+βCを算出し、上記応答装置が選択し得たスロットの総数Sと、上記値Dとから、識別データを送信した応答装置の数を推定して推定応答数とし、
上記処理装置が推定した推定応答数に基づいて、上記処理装置が、上記応答装置が選択し得るスロットの数を決定してスロット数とし、
上記送信装置が、上記処理装置が決定したスロット数を上記応答装置に対して送信することを特徴とする読取方法。 - データを送信する送信装置とデータを受信する受信装置とデータを処理する処理装置とを有する読取装置が、複数の応答装置の各応答装置が複数のスロットのなかから選択したスロットを用いて送信する応答装置自身を識別する識別データを受信して、上記複数の応答装置をそれぞれ識別する複数の識別データを読み取る読取方法において、
上記受信装置が、上記複数のスロットの各スロットにおいて、上記応答装置が送信した識別データを受信し、
上記受信装置が識別データの受信に成功したか否かに基づいて、上記処理装置が、上記複数のスロットの各スロットについて、識別データを送信した応答装置が存在しない空きスロットであるか、1つの応答装置が識別データを送信した読取スロットであるか、2以上の応答装置が識別データを送信した競合スロットであるかを判定し、
上記処理装置が判定した判定結果に基づいて、上記処理装置が、読取スロットであると判定したスロットの数を計数して読取スロット数Rとし、競合スロットであると判定したスロットの数を計数して競合スロット数Cとし、上記応答装置が選択し得たスロットの総数Sと、上記読取スロット数Rと、上記競合スロット数Cとから、識別データを送信した応答装置の数を推定して推定応答数とし、
上記処理装置が推定した推定応答数に基づいて、上記処理装置が、上記応答装置が選択し得るスロットの数を決定してスロット数とし、
上記送信装置が、上記処理装置が決定したスロット数を上記応答装置に対して送信することを特徴とする読取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009219131A JP5300676B2 (ja) | 2009-09-24 | 2009-09-24 | 読取装置及びコンピュータプログラム及び読取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009219131A JP5300676B2 (ja) | 2009-09-24 | 2009-09-24 | 読取装置及びコンピュータプログラム及び読取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011070298A JP2011070298A (ja) | 2011-04-07 |
JP5300676B2 true JP5300676B2 (ja) | 2013-09-25 |
Family
ID=44015549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009219131A Expired - Fee Related JP5300676B2 (ja) | 2009-09-24 | 2009-09-24 | 読取装置及びコンピュータプログラム及び読取方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5300676B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102836550B (zh) * | 2012-09-25 | 2015-07-15 | 陈本惠 | 一种棋牌桌及其计分方法 |
US9715604B2 (en) * | 2013-05-31 | 2017-07-25 | Nec Corporation | RFID tag reading device, RFID tag reading program, and RFID tag reading method |
JP6406004B2 (ja) * | 2014-12-26 | 2018-10-17 | 株式会社デンソーウェーブ | 無線タグ通信システム、タグリーダ |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11282975A (ja) * | 1998-03-31 | 1999-10-15 | Toshiba Corp | 情報識別システム、情報識別システムの制御装置、情報識別システムの応答装置、及びタイムスロット管理方法 |
JP2006238381A (ja) * | 2005-02-28 | 2006-09-07 | Nippon Telegr & Teleph Corp <Ntt> | 無線タグシステム、無線タグ識別方法及びその識別プログラム |
JP4247754B2 (ja) * | 2006-06-09 | 2009-04-02 | オムロン株式会社 | 通信処理装置、情報処理装置、通信システム、通信処理方法、情報処理方法、およびプログラム |
JP4291350B2 (ja) * | 2006-10-18 | 2009-07-08 | 東芝テック株式会社 | 無線通信装置 |
JP4820734B2 (ja) * | 2006-11-14 | 2011-11-24 | 株式会社日立製作所 | リーダ・ライタのコマンド制御方法、プログラム、リーダ・ライタ、およびコンピュータ |
-
2009
- 2009-09-24 JP JP2009219131A patent/JP5300676B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011070298A (ja) | 2011-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10996329B2 (en) | Distance estimating system | |
Xie et al. | Efficient tag identification in mobile RFID systems | |
CA2642208C (en) | Wireless asset identification and location | |
US9213873B2 (en) | Determining movement of a radio frequency identification tag using a phase difference/frequency model | |
CN101517599B (zh) | 用于集成的读取器和标签的装置和方法 | |
JP5300676B2 (ja) | 読取装置及びコンピュータプログラム及び読取方法 | |
JP2006238381A (ja) | 無線タグシステム、無線タグ識別方法及びその識別プログラム | |
Lin et al. | Efficient estimation and collision-group-based anticollision algorithms for dynamic frame-slotted ALOHA in RFID networks | |
EP2261688A1 (en) | Wireless hardware device for detecting relations of distance, and system for monitoring relations of distance between wireless hardware devices | |
EP2341361A1 (en) | Method and system for locating a hand-held terminal | |
US20110090063A1 (en) | Apparatus and method using histogram-based techniques for avoiding overpolling | |
US20180268177A1 (en) | Systems and Methods for Estimation of a Population of Passive RFID Sensors | |
CN108200534B (zh) | 一种对终端进行定位的方法及设备 | |
WO2008067107A2 (en) | System and method for rfid tag communication | |
Xiao et al. | Multi-sensor scheduling for reliable target tracking in wireless sensor networks | |
Kim et al. | Improved 4-ary query tree algorithm for anti-collision in RFID system | |
Hamouda et al. | Metadata-based adaptive sampling for energy-efficient collaborative target tracking in wireless sensor networks | |
EP4092649A1 (en) | Base wireless device and communication method of base wireless device | |
JP4050260B2 (ja) | Rfid管理装置、rfid管理方法およびrfid管理プログラム | |
Vahedi et al. | Analytical modeling of RFID generation-2 protocol using absorbing Markov chain theorem | |
JP4291350B2 (ja) | 無線通信装置 | |
EP3726735B1 (en) | Communication system and communication method | |
Larionov et al. | A stochastic model for the analysis of session and power switching effects on the performance of UHF RFID system with mobile tags | |
JP6236616B2 (ja) | 電波干渉防止機能を備えた通信装置及びその制御方法 | |
CN103826262A (zh) | 无线通信系统、无线通信方法、发送终端和接收终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120201 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20121207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130402 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130425 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130618 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |