以下に図面を参照して、本発明にかかる制御プログラム、制御方法、および情報処理装置の実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかる制御方法の一実施例を示す説明図である。図1において、情報処理装置101は、デバイス102を接続可能であり、接続されたデバイス102に記憶されたデータを取得するコンピュータである。情報処理装置101は、例えば、PC、タブレットPCなどの汎用演算装置であってもよく、また、デバイス102からデータを取得するための専用装置であってもよい。
デバイス102は、携帯可能なコンピュータであり、例えば、ユーザが携帯するウェアラブルデバイスである。ユーザは、例えば、工場や倉庫で作業を行う作業者である。また、デバイス102は、受信したデータを記憶する第1の記憶部110を有する。具体的には、例えば、デバイス102は、発信機から定期的に発信されるデータを受信すると、受信したデータを第1の記憶部110に記憶する。発信機は、例えば、自機の識別情報を含む無線信号(いわゆる、ビーコン)を定期的に発信するビーコン発信機(例えば、後述の図2に示すビーコン発信機B1〜Bm)である。
ここで、工場や倉庫内の要所に発信機を設置し、作業者が携帯するウェアラブルセンサが受信したデータ(ビーコン)を蓄積し、ウェアラブルセンサに蓄積されたデータを収集して動線解析を行うことがある。動線解析とは、人の動きを解析することである。例えば、工場や倉庫で働く作業者の動きを可視化することで、作業者の労働時間、エリア滞在時間、作業分布などを管理者が確認することができ、倉庫管理、生産性向上、労働管理などの計画や管理を容易にすることができる。
ウェアラブルセンサに蓄積されたデータは、例えば、終業時や休憩時に、作業者がウェアラブルセンサをPCに接続することでPC側に送信される。この際、全てのデータが、PC側に送信されてPC内で保存されると、PCからウェアラブルセンサにデータ削除指示を送信することで、ウェアラブルセンサに蓄積されたデータを削除することができる。
ところが、PCの近くに発信機があると、PCに接続中のウェアラブルセンサが発信機から発信されるデータを受信して、ウェアラブルセンサにデータが蓄積されてしまうことがある。この場合、始業時や休憩明けに、作業者がウェアラブルセンサを身に付けたときに、夜間や休憩時間中に受信したデータがウェアラブルセンサに蓄積されており、動線解析の正確性を確保することができない。
なお、ウェアラブルセンサは、ON/OFFスイッチなどを有していないことが多い。したがって、ウェアラブルセンサは、発信機からのデータを常時受信可能であり、データを受信すると、そのデータを保存することになる。また、ウェアラブルセンサ側でPCとの接続の切断を検知して、センサ内のデータを削除することも考えられるが、データの削除処理に時間がかかり、動線解析に必要なデータを蓄積できないおそれがある。
そこで、本実施の形態では、情報処理装置101に接続中のデバイス102に定期的にデータの削除指示を送信することで、動線解析に不要なデータがデバイス102に蓄積されることを抑制する制御方法について説明する。以下、情報処理装置101の処理例について説明する。
(1)情報処理装置101は、デバイス102の自装置への接続を検出すると、データの送信指示をデバイス102に出力する。ここで、データの送信指示は、デバイス102が有する第1の記憶部110に記憶されたデータを情報処理装置101側に送信するよう指示するものである。
(2)デバイス102は、データの送信指示を受信すると、第1の記憶部110に記憶されたデータを情報処理装置101に送信する。具体的には、例えば、デバイス102は、第1の記憶部110からデータを読み出して、読み出したデータを情報処理装置101に順次送信する。
(3)情報処理装置101は、出力した送信指示に応じてデバイス102から送信されたデータを受信すると、受信したデータを第2の記憶部120に記憶する。第2の記憶部120は、情報処理装置101が有する記憶装置である。
(4)情報処理装置101は、デバイス102の自装置への接続を検出してから、デバイス102と自装置との接続が切断されるまで、特定の時間の経過を検出するたびに、第1の記憶部110に記憶されたデータの削除指示をデバイス102に出力する。特定の時間は、任意に設定可能であり、例えば、10分程度の時間に設定される。
(5)デバイス102は、データの削除指示を受信するたびに、第1の記憶部110に記憶されたデータを削除する。
このように、情報処理装置101によれば、自装置に接続中のデバイス102に定期的にデータの削除指示を送信することで、第1の記憶部110の記憶内容を定期的にクリアすることができる。このため、動線解析に不要なデータがデバイス102に蓄積されることを抑制することができる。例えば、情報処理装置101の近くに発信機があったとしても、始業時や休憩明けに、作業者がデバイス102を身に付けたときに、デバイス102にデータがほぼ蓄積されていないことになるため、動線解析の正確性を確保することができる。
(データ収集システム200のシステム構成例)
つぎに、実施の形態にかかるデータ収集システム200のシステム構成例について説明する。
図2は、データ収集システム200のシステム構成例を示す説明図である。図2において、データ収集システム200は、情報処理装置101と、センサC1〜Cnと、ビーコン発信機B1〜Bmと、を含む。以下の説明では、センサC1〜Cnのうちの任意のセンサを「センサCi」と表記する場合がある(i=1,2,…,n)。また、ビーコン発信機B1〜Bmのうちの任意のビーコン発信機を「ビーコン発信機Bj」と表記する場合がある(j=1,2,…,m)。
情報処理装置101は、センサCiを接続可能な複数のUSB(Universal Serial Bus)ポートを有し、センサCiとUSBによって接続される。情報処理装置101は、例えば、エリアAR内の事務所に設置される。エリアARは、例えば、作業者Wが作業を行う工場、倉庫などである。
また、情報処理装置101は、アンカー管理情報DB(Database)210およびセンサDB220を有する。アンカー管理情報DB210およびセンサDB220の記憶内容については、図5および図6を用いて後述する。図1に示した第2の記憶部120は、例えば、センサDB220に相当する。
センサCiは、作業者Wが携帯するコンピュータであり、ビーコン発信機Bjから発信されるビーコンを受信可能である。センサCiは、例えば、作業者Wが身に付けることができるバッチ型やペンダント型などのウェアラブルデバイスである。図1に示したデバイス102は、例えば、センサCiに相当する。
センサCiは、ビーコン発信機Bjから発信されるビーコンを受信すると、受信したビーコン(ビーコンID)を含むセンサデータを、後述の図4に示すメモリ402に記憶する。センサデータには、例えば、ビーコンの受信時刻や受信信号強度を示す情報が含まれる。
ビーコン発信機Bjは、自機のビーコンIDを含むビーコン(無線信号)を定期的に送信するコンピュータである。ビーコンIDとしては、例えば、ビーコン発信機BjのMAC(Media Access Control)アドレスを用いることができる。ビーコン発信機Bjから発信されるビーコンの電波到達範囲は、例えば、数m〜10m程度である。
ビーコン発信機B1〜Bmは、エリアAR内の要所にそれぞれ設置される。ビーコン発信機Bjは、故障や経年劣化等により撤去されることがある。また、新たなビーコン発信機BがエリアAR内に設置されることがある。したがって、エリアAR内のビーコン発信機Bの数は増減する。
データ収集システム200において、作業者Wは、例えば、終業時や休憩時に、事務所に設置された情報処理装置101のUSBポートに自分のセンサCiを差し込んで、センサCiを情報処理装置101に接続する。この結果、センサCiから情報処理装置101にセンサデータが送信されるとともに、センサCiが充電される。そして、作業者Wは、始業時や休憩明けに、情報処理装置101から自分のセンサCiを抜いて、作業を開始する。
(情報処理装置101のハードウェア構成例)
図3は、情報処理装置101のハードウェア構成例を示すブロック図である。図3において、情報処理装置101は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、I/F(Interface)305と、ディスプレイ306と、入力装置307と、を有する。また、各構成部はバス300によってそれぞれ接続される。
ここで、CPU301は、情報処理装置101の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
I/F305は、通信回線を通じてネットワークに接続され、ネットワークを介して外部のコンピュータに接続される。そして、I/F305は、ネットワークと装置内部のインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。ネットワークは、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
ディスプレイ306は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ306としては、液晶ディスプレイ、CRT(Cathode Ray Tube)などを採用することができる。
入力装置307は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置307は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。なお、情報処理装置101は、例えば、SSD(Solid State Drive)を有することにしてもよい。
(センサCiのハードウェア構成例)
図4は、センサCiのハードウェア構成例を示すブロック図である。図4において、センサCiは、CPU401と、メモリ402と、ビーコン受信機403と、を有する。また、各構成部は、バス400によってそれぞれ接続される。
ここで、CPU401は、センサCiの全体の制御を司る。メモリ402は、例えば、ROM、RAMを有する。具体的には、例えば、ROMが各種プログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることで、コーディングされている処理をCPU401に実行させる。
ビーコン受信機403は、ビーコン発信機Bjから発信されるビーコン(無線信号)を受信する。具体的には、例えば、ビーコン受信機403は、ビーコンを受信するアンテナと、アンテナによって受信されたアナログ信号をデジタル信号に変換してバス400に出力する信号処理部と、を有する。
なお、センサCiは、例えば、バッテリにより駆動する。また、センサCiは、上述した構成部のほかに、例えば、表示パネル、操作ボタン等を有することにしてもよい。また、図示は省略するが、図2に示したビーコン発信機Bjは、CPUとメモリとビーコン送信機とを有する。ビーコン発信機Bjは、例えば、一次電池あるいは二次電池(バッテリ)により駆動する。
(アンカー管理情報DB210の記憶内容)
つぎに、情報処理装置101が有するアンカー管理情報DB210の記憶内容について説明する。アンカー管理情報DB210は、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。アンカー管理情報DB210は、例えば、エリアARごとに設けられる。
図5は、アンカー管理情報DB210の記憶内容の一例を示す説明図である。図5において、アンカー管理情報DB210は、アンカー番号、表示順、グループ名、作業内容、アンカー座標および画像IDのフィールドを有する。各フィールドに情報を設定することで、管理情報(例えば、管理情報500−1〜500−4)がレコードとして記憶される。
ここで、アンカー番号は、エリアARに設置されるビーコン発信機Bjの識別番号である。アンカー番号として使用可能な数字は、例えば、1〜255である。表示順は、エリアAR内に設置されるビーコン発信機Bjの表示順である。表示順は、エリアARにビーコン発信機Bjが設置された順に基づき、昇順となるように設定される。
例えば、表示順は、エリアARの画像データ上にビーコン発信機Bjを表すアイコン等を表示する際の優先度を示す。ここでは、表示順が遅いほど、エリアARの画像データ上に表示する際の優先度が高いことを示す。したがって、エリアARの画像データ上で、ある表示順のビーコン発信機Bは、当該表示順より前の表示順のビーコン発信機Bよりも前面に表示される。グループ名は、ビーコン発信機Bjが属するグループの名称である。グループ名としては、例えば、エリアARの名称が設定される。
作業内容は、エリアARで行われる作業の内容である。アンカー座標は、エリアAR内に設置されるビーコン発信機Bjの位置を示す座標(x,y)である。画像IDは、エリアARの画像データを識別する識別子である。画像IDとしては、例えば、エリアARの画像データのファイル名が設定される。
(センサDB220の記憶内容)
つぎに、情報処理装置101が有するセンサDB220の記憶内容について説明する。センサDB220は、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。
図6は、センサDB220の記憶内容の一例を示す説明図である。図6において、センサDB220は、センサID、受信時刻、受信信号強度およびビーコンIDのフィールドを有し、各フィールドに情報を設定することで、センサデータ(例えば、センサデータ600−1,600−2)をレコードとして記憶する。
ここで、センサIDは、センサCiを一意に識別する識別子である。センサIDとしては、例えば、センサCiのMACアドレスを用いることができる。受信時刻は、ビーコン発信機Bjから発信されたビーコンが、センサCiによって受信された日時である。受信信号強度は、センサCiが受信したビーコン(無線信号)の強度を示す指標値である。
受信信号強度としては、例えば、RSSI値(単位:dBm)を用いることができる。ビーコンIDは、センサCiが受信したビーコンを発信したビーコン発信機Bjを一意に識別する識別子である。なお、ビーコンIDは、例えば、ビーコン発信機Bjのアンカー番号と対応付けて管理されることにしてもよい。
(情報処理装置101の機能的構成例)
図7は、情報処理装置101の機能的構成例を示すブロック図である。図7において、情報処理装置101は、表示制御部701と、受付部702と、特定部703と、更新部704と、検出部705と、入出力制御部706と、を含む構成である。表示制御部701〜入出力制御部706は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
表示制御部701は、エリアARに設置されるビーコン発信機Bに関する管理情報を登録または削除するための操作画面を表示する制御を行う。具体的には、例えば、表示制御部701は、後述の図8に示すようなアンカー管理画面MSを、図3に示したディスプレイ306に表示する。
ここで、アンカー管理画面MSは、エリアARの画像データを含む。エリアARの画像データは、例えば、エリアARを一定の割合で縮小し、記号、図形、文字などを用いて平面上に表したマップを表示するための情報である。なお、どのエリアARについてのアンカー管理画面MSを表示するかは、任意に選択可能である。また、エリアARごとの画像データは、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
受付部702は、エリアAR内に設置される新たなビーコン発信機Bの登録指示を受け付ける。具体的には、例えば、受付部702は、アンカー管理画面MS(例えば、図8参照)において、図3に示した入力装置307を用いたユーザの操作入力により、新たなビーコン発信機Bの登録指示を受け付ける。
特定部703は、新たなビーコン発信機Bの登録指示を受け付けたことに応じて、他のビーコン発信機Bに使用されていない最小のアンカー番号(識別番号)を特定する。具体的には、例えば、特定部703は、アンカー管理情報DB210(例えば、図5参照)を参照して、アンカー番号フィールドに設定されていない最小のアンカー番号を特定する。
図5の例では、アンカー管理情報DB210内のアンカー番号フィールドに設定されていない最小のアンカー番号「5」が特定される。なお、特定された最小のアンカー番号は、表示制御部701により、例えば、アンカー管理画面MS上に表示される。
また、特定部703は、新たなビーコン発信機Bの登録指示を受け付けたことに応じて、他のビーコン発信機Bに使用されていない最小の表示順を特定することにしてもよい。具体的には、例えば、特定部703は、アンカー管理情報DB210を参照して、表示順フィールドに設定されていない最小の表示順を特定する。なお、表示順フィールドに設定されていない最小の表示順は、「最後尾の表示順+1」である。
図5の例では、アンカー管理情報DB210内の表示順フィールドに設定されていない最小の表示順「5」が特定される。なお、特定された最小の表示順は、表示制御部701により、例えば、アンカー管理画面MS上に表示される。
更新部704は、特定された最小のアンカー番号と、登録指示されたビーコン発信機Bの位置情報とを対応付けた管理情報を記憶する。ビーコン発信機Bの位置情報は、エリアAR内に設置されるビーコン発信機Bの位置を示す座標(x,y)である。ビーコン発信機Bの位置情報は、例えば、アンカー管理画面MSにおいて指定される。
具体的には、例えば、更新部704は、特定された最小のアンカー番号と、特定された最小の表示順と、グループ名と、作業内容と、登録指示されたビーコン発信機Bの位置情報と、を対応付けた管理情報を、アンカー管理情報DB210に記憶する。また、管理情報には、エリアARの画像データの画像IDが含まれる。グループ名および作業内容は、例えば、アンカー管理画面MSにおいて指定される。
これにより、エリアAR内に設置される新たなビーコン発信機Bの管理情報を、アンカー管理情報DB210に新規登録することができる。
また、受付部702は、エリアARに設置されたビーコン発信機B1〜Bmのいずれかのビーコン発信機Bjの削除指示を受け付ける。ビーコン発信機Bjの削除指示は、例えば、故障や経年劣化等によりビーコン発信機Bjを撤去する場合に行われる。具体的には、例えば、受付部702は、アンカー管理画面MS(例えば、図9参照)において、入力装置307を用いたユーザの操作入力により、ビーコン発信機Bjの削除指示を受け付ける。
更新部704は、ビーコン発信機Bjの削除指示を受け付けたことに応じて、削除指示されたビーコン発信機Bjに対応する管理情報を削除する。具体的には、例えば、更新部704は、アンカー管理情報DB210から、削除指示に含まれるビーコン発信機Bjのアンカー番号に対応する管理情報を削除する。
また、更新部704は、ビーコン発信機Bjの削除指示を受け付けたことに応じて、記憶された管理情報を参照して、削除指示されたビーコン発信機Bjの表示順以降の表示順をそれぞれ繰り上げる。具体的には、例えば、更新部704は、アンカー管理情報DB210内の削除指示されたビーコン発信機Bjの表示順以降の表示順をそれぞれ1つ前に変更する。
なお、アンカー管理情報DB210の記憶内容の更新例については、図11を用いて後述する。
検出部705は、センサCiの自装置への接続を検出する。具体的には、例えば、検出部705は、自装置が有するUSBポートへのセンサCiの接続を検出する。以下の説明では、情報処理装置101が有するUSBポートへのセンサCiの接続を、単に「USB接続」と表記する場合がある。
入出力制御部706は、センサCiの自装置への接続が検出されると、接続されたセンサCiにデータ送信指示を出力する。ここで、データ送信指示は、センサCiのメモリ402に記憶されたセンサデータを送信するよう指示するコマンドである。データ送信指示には、例えば、メモリ402に記憶されたセンサデータの送信が完了したら、メモリ402に記憶されたセンサデータを削除するよう指示するコマンドが含まれていてもよい。
センサCiは、情報処理装置101からデータ送信指示を受信すると、メモリ402に記憶されたセンサデータを情報処理装置101に送信する。具体的には、例えば、センサCiは、メモリ402に記憶されたセンサデータを含むセンサデータファイルを情報処理装置101に送信する。
センサデータファイルは、例えば、CSV(Comma−Separated Value)形式のファイルである。センサデータファイルには、例えば、センサCiのセンサIDが含まれる。また、データ送信指示に、メモリ402に記憶されたセンサデータを削除するよう指示するコマンドが含まれる場合には、センサCiは、メモリ402に記憶されたセンサデータの送信が完了したら、メモリ402に記憶されたセンサデータを削除する。
また、入出力制御部706は、出力したデータ送信指示に応じてセンサCiから送信されたセンサデータを受信すると、受信したセンサデータを記憶する。具体的には、例えば、入出力制御部706は、センサデータファイルを受信すると、センサデータファイルに含まれるセンサデータを、当該センサデータファイルに含まれるセンサIDと対応付けて、図6に示したセンサDB220に記憶する。
これにより、センサCiを携帯する作業者Wについての動線解析に用いるセンサデータを収集することができる。
以下の説明では、情報処理装置101からセンサCiに出力されるデータ送信指示を「データ取得コマンド」と表記する場合がある。データ取得コマンドには、例えば、メモリ402に記憶されたセンサデータの送信が完了したら、メモリ402に記憶されたセンサデータを削除するよう指示するコマンドが含まれる。
また、入出力制御部706は、センサCiの自装置への接続を検出してから、センサCiと自装置との接続が切断されるまで、一定時間Tの経過を検出するたびに、データ削除指示をセンサCiに出力する。ここで、データ削除指示は、メモリ402に記憶されたセンサデータを削除するよう指示するコマンドである。一定時間Tは、図1で説明した「特定の時間」に相当し、10分程度の時間に設定される。
具体的には、例えば、入出力制御部706は、センサCiから送信されるセンサデータのセンサDB220への保存が完了すると、センサCiと自装置との接続が切断されるまで、一定時間Tの経過を検出するたびに、データ削除指示をセンサCiに出力する。なお、センサCiと自装置との接続の切断は、検出部705によって検出される。
センサCiは、情報処理装置101からデータ削除指示を受信すると、メモリ402に記憶されたセンサデータを削除する。これにより、情報処理装置101に接続中のセンサCiのメモリ402に記憶されたセンサデータを定期的にクリアすることができる。
以下の説明では、情報処理装置101からセンサCiに出力されるデータ削除指示を「クリアコマンド」と表記する場合がある。
また、入出力制御部706は、センサCiの自装置への接続が検出されると、接続されたセンサCiに、データ取得対象デバイスに固有の特定のコマンドを出力することにしてもよい。データ取得対象デバイスとは、センサデータの取得対象となるデバイスである。特定のコマンドは、データ取得対象デバイスのみが解釈可能なコマンドである。
特定のコマンドとして、例えば、データ取得対象デバイスに固有の時刻補正コマンドを用いることができる。時刻補正コマンドは、センサCiの時刻を、情報処理装置101の時刻と同期させるためのコマンドである。時刻補正コマンドによれば、センサCiの時刻を、情報処理装置101の時刻に合わせて補正することができる。
そして、入出力制御部706は、出力した特定のコマンドの実行が正常に完了した場合に、接続されたセンサCiにデータ取得コマンドを出力することにしてもよい。具体的には、例えば、入出力制御部706は、特定のコマンドに対するセンサCiからの実行完了応答を受信した場合に、特定のコマンドの実行が正常に完了したと判断して、センサCiにデータ取得コマンドを出力する。
これにより、データ取得対象デバイスとは異なるデバイスが情報処理装置101に接続されたときに、そのデバイスに対してデータ取得コマンドが出力されるのを防ぐことができる。また、比較的短時間で実行が完了する時刻補正コマンドを利用して、データ取得対象デバイスであるセンサCiを判別しつつ、センサCiの時刻を、情報処理装置101の時刻に合わせて補正することができる。
(アンカー管理画面MSの画面例)
つぎに、図8〜図10を用いて、情報処理装置101のディスプレイ306に表示されるアンカー管理画面MSの画面例について説明する。また、図11を用いて、アンカー管理情報DB210の記憶内容の更新例について説明する。
以下の説明では、アンカー管理画面MSにおいてボックス、ボタン、アイコン等を選択する操作として、「クリック操作」を例に挙げて説明する。
図8〜図10は、アンカー管理画面MSの画面例を示す説明図である。また、図11は、アンカー管理情報DB210の記憶内容の更新例を示す説明図である。図8において、アンカー管理画面MSは、エリアARに設置されるビーコン発信機Bに関する管理情報を登録または削除するための操作画面である。
アンカー管理画面MSには、エリアARの画像データ810が表示されている。なお、画像指定ボタン820をクリックすると、アンカー管理画面MSに表示するエリアARの画像データを選択することができる。
画像データ810上には、エリアARに設置されたビーコン発信機B1〜B3それぞれを表すアイコン811〜813が表示されている。アイコン811〜813には、ビーコン発信機B1〜B3それぞれのアンカー番号が表示されている。ここでは、エリアARに新たなビーコン発信機B4を設置する場合を想定する。
アンカー管理画面MSにおいて、入力装置307を用いたユーザの操作入力により、新たなビーコン発信機B4を設置する場所に対応する画像データ810上の位置をクリックすると、新たなビーコン発信機B4の登録指示が入力される。
この結果、画像データ810上のクリックされた位置に、ビーコン発信機B4を表すアイコン814が表示される。この際、アイコン814には、特定部703によって特定されるビーコン発信機B4のアンカー番号が表示される。また、ボックス831,832には、特定部703によって特定されるビーコン発信機B4のアンカー番号および表示順がそれぞれ表示される。ここでは、アイコン814およびボックス831には、他のビーコン発信機Bに使用されていない最小のアンカー番号「4」が表示される。ボックス832には、他のビーコン発信機Bに使用されていない最小の表示順「4」が表示される。また、ボックス835,836には、ビーコン発信機B4の位置を示す座標(x,y)が表示される。
アンカー管理画面MSにおいて、ボックス833をクリックすると、グループ名を入力することができる。ここでは、ボックス833には、グループ名「ピッキングエリア」が入力されている。また、アンカー管理画面MSにおいて、ボックス834をクリックすると、作業内容を入力することができる。ここでは、ボックス834には、作業内容「ピッキング」が入力されている。
アンカー管理画面MSにおいて、確定ボタン837をクリックすると、登録指示されたビーコン発信機B4の管理情報を、アンカー管理情報DB210に登録することができる。具体的には、図11の(11−1)に示すように、エリアAR内に設置される新たなビーコン発信機B4の管理情報500−4が、アンカー管理情報DB210に新規登録されている。
また、アンカー管理画面MSにおいて、画像データ810上のいずれかのアイコンを選択した状態で削除ボタン838をクリックすると、選択したアイコンに対応するビーコン発信機Bの削除指示を入力することができる。
例えば、アイコン812を選択した状態で削除ボタン838がクリックされると、ビーコン発信機B2の削除指示を入力することができる。この結果、図9に示すように、画像データ810からアイコン812が削除される。また、アンカー管理情報DB210から、削除指示されたビーコン発信機B2の管理情報が削除される。
具体的には、図11の(11−2)に示すように、アンカー管理情報DB210からビーコン発信機B2の管理情報500−2が削除される。この際、アンカー管理情報DB210内の削除指示されたビーコン発信機B2の表示順「2」以降の表示順がそれぞれ1つ前に変更される。
つぎに、エリアARに新たなビーコン発信機B5を設置する場合を想定する。
アンカー管理画面MSにおいて、新たなビーコン発信機B5を設置する場所に対応する画像データ810上の位置をクリックすると、新たなビーコン発信機B5の登録指示が入力される。この結果、画像データ810上のクリックされた位置に、ビーコン発信機B5を表すアイコン815が表示される。この際、アイコン815には、特定部703によって特定されるビーコン発信機B5のアンカー番号が表示される。
また、ボックス831,832には、特定部703によって特定されるビーコン発信機B5のアンカー番号および表示順がそれぞれ表示される。ここでは、アイコン815およびボックス831には、他のビーコン発信機Bに使用されていない最小のアンカー番号「2」が表示される。ボックス832には、他のビーコン発信機Bに使用されていない最小の表示順「4」が表示される。また、ボックス835,836には、ビーコン発信機B5の位置を示す座標(x,y)が表示される。
なお、エリアARにおいて、新たなビーコン発信機B5は、設置済みのビーコン発信機B3に近い場所に設置される。このため、画像データ810において、アイコン815は、アイコン813と重なっている。ただし、設置済みのビーコン発信機B3の表示順「2」は、新たなビーコン発信機B5の表示順「4」よりも前である。したがって、画像データ810において、新たなビーコン発信機B5に対応するアイコン815は、設置済みのビーコン発信機B3に対応するアイコン813よりも前面に表示される。
アンカー管理画面MSにおいて、ボックス833をクリックすると、グループ名を入力することができる。ここでは、ボックス833には、グループ名「ピッキングエリア」が入力されている。また、アンカー管理画面MSにおいて、ボックス834をクリックすると、作業内容を入力することができる。ここでは、ボックス834には、作業内容「ピッキング」が入力されている。
アンカー管理画面MSにおいて、確定ボタン837をクリックすると、登録指示されたビーコン発信機B5の管理情報を、アンカー管理情報DB210に登録することができる。具体的には、図11の(11−3)に示すように、エリアAR内に設置される新たなビーコン発信機B5の管理情報500−5が、アンカー管理情報DB210に新規登録されている。
(情報処理装置101のアンカー管理処理手順)
つぎに、図12を用いて、情報処理装置101のアンカー管理処理手順について説明する。
図12は、情報処理装置101のアンカー管理処理手順の一例を示すフローチャートである。図12のフローチャートにおいて、まず、情報処理装置101は、アンカー管理画面MSをディスプレイ306に表示する(ステップS1201)。
つぎに、情報処理装置101は、アンカー管理画面MSにおいて、入力装置307を用いたユーザの操作入力により、新たなビーコン発信機Bの登録指示を受け付けたか否かを判断する(ステップS1202)。ここで、新たなビーコン発信機Bの登録指示を受け付けた場合(ステップS1202:Yes)、情報処理装置101は、アンカー管理情報DB210を参照して、アンカー番号フィールドに設定されていない最小のアンカー番号を特定する(ステップS1203)。
つぎに、情報処理装置101は、アンカー管理情報DB210を参照して、表示順フィールドに設定されていない最小の表示順を特定する(ステップS1204)。そして、情報処理装置101は、特定した最小のアンカー番号、最小の表示順、およびアンカー座標を、アンカー管理画面MSに表示する(ステップS1205)。
なお、アンカー管理画面MSにおいて、ユーザは、グループ名および作業内容の入力や、新たなビーコン発信機Bの位置の変更等を行うことができる。
つぎに、情報処理装置101は、アンカー管理画面MSにおいて、確定ボタン837(例えば、図8参照)がクリックされたか否かを判断する(ステップS1206)。ここで、情報処理装置101は、確定ボタン837がクリックされるのを待つ(ステップS1206:No)。
そして、確定ボタン837がクリックされると(ステップS1206:Yes)、情報処理装置101は、登録指示されたビーコン発信機Bの管理情報を、アンカー管理情報DB210に登録する(ステップS1207)。つぎに、情報処理装置101は、アンカー管理画面MSの表示が終了したか否かを判断する(ステップS1208)。
ここで、アンカー管理画面MSの表示が終了していない場合(ステップS1208:No)、情報処理装置101は、ステップS1202に戻る。そして、ステップS1202において、新たなビーコン発信機Bの登録指示を受け付けていない場合(ステップS1202:No)、情報処理装置101は、ビーコン発信機Bjの削除指示を受け付けたか否かを判断する(ステップS1209)。
ここで、ビーコン発信機Bjの削除指示を受け付けていない場合(ステップS1209:No)、情報処理装置101は、ステップS1202に戻る。一方、ビーコン発信機Bjの削除指示を受け付けた場合(ステップS1209:Yes)、情報処理装置101は、アンカー管理情報DB210から、削除指示されたビーコン発信機Bjに対応する管理情報を削除する(ステップS1210)。
つぎに、情報処理装置101は、アンカー管理情報DB210内の削除指示されたビーコン発信機Bjの表示順以降の表示順をそれぞれ1つ前に変更して(ステップS1211)、ステップS1208に移行する。そして、ステップS1208において、アンカー管理画面MSの表示が終了した場合(ステップS1208:Yes)、情報処理装置101は、本フローチャートによる一連の処理を終了する。
これにより、エリアAR内に設置された新たなビーコン発信機Bの管理情報をアンカー管理情報DB210に新規登録したり、エリアARから撤去されたビーコン発信機Bの管理情報をアンカー管理情報DB210から削除したりすることができる。
(情報処理装置101の制御処理手順)
つぎに、図13を用いて、情報処理装置101の制御処理手順について説明する。
図13は、情報処理装置101の制御処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、情報処理装置101は、自装置へのUSB接続を検出したか否かを判断する(ステップS1301)。ここで、情報処理装置101は、自装置へのUSB接続を検出するのを待つ(ステップS1301:No)。
そして、情報処理装置101は、自装置へのUSB接続を検出した場合(ステップS1301:Yes)、時刻補正コマンドを出力する(ステップS1302)。つぎに、情報処理装置101は、出力した時刻補正コマンドの実行が正常に完了したか否かを判断する(ステップS1303)。
ここで、時刻補正コマンドの実行が正常に完了しなかった場合(ステップS1303:No)、情報処理装置101は、本フローチャートによる一連の処理を終了する。一方、時刻補正コマンドの実行が正常に完了した場合(ステップS1303:Yes)、情報処理装置101は、データ取得コマンドを出力する(ステップS1304)。
つぎに、情報処理装置101は、USB接続されたセンサCiからセンサデータファイルを受信したか否かを判断する(ステップS1305)。ここで、情報処理装置101は、センサデータファイルを受信するのを待つ(ステップS1305:No)。
そして、情報処理装置101は、センサデータファイルを受信した場合(ステップS1305:Yes)、受信したセンサデータファイルに含まれるセンサデータを、当該センサデータファイルに含まれるセンサIDと対応付けて、センサDB220に保存する(ステップS1306)。これにより、センサCiを携帯する作業者Wについての動線解析に用いるセンサデータを収集することができる。
つぎに、情報処理装置101は、データ取得コマンドの完了通知を出力する(ステップS1307)。具体的には、例えば、情報処理装置101は、センサCiのセンサIDと対応付けて、データ取得コマンドの実行が完了したことを示す通知画面をディスプレイ306に表示することにしてもよい。これにより、作業者Wは、センサCiについてのデータ取得コマンドの実行が完了したか否かを確認することができる。
つぎに、情報処理装置101は、ステップS1307において完了通知を出力、または、ステップS1310においてクリアコマンドを出力してから、一定時間Tが経過したか否かを判断する(ステップS1308)。ここで、一定時間Tが経過していない場合(ステップS1308:No)、情報処理装置101は、センサCiの自装置へのUSB接続の切断を検出したか否かを判断する(ステップS1309)。
ここで、USB接続の切断を検出していない場合(ステップS1309:No)、情報処理装置101は、ステップS1308に戻る。そして、ステップS1308において、一定時間Tが経過した場合(ステップS1308:Yes)、情報処理装置101は、USB接続されたセンサCiにクリアコマンドを出力して(ステップS1310)、ステップS1309に移行する。
そして、ステップS1309において、USB接続の切断を検出した場合(ステップS1309:Yes)、情報処理装置101は、本フローチャートによる一連の処理を終了する。これにより、情報処理装置101にUSB接続されたセンサCiのメモリ402に記憶されたセンサデータを定期的にクリアすることができる。
以上説明したように、実施の形態にかかる情報処理装置101によれば、センサCiの自装置への接続を検出すると、センサCiにデータ取得コマンドを出力することができる。そして、情報処理装置101によれば、出力したデータ取得コマンドに応じてセンサCiから送信されたセンサデータを受信すると、受信したセンサデータをセンサDB220に記憶することができる。これにより、情報処理装置101に接続されたセンサCiから、センサCiを携帯する作業者Wについての動線解析に用いるセンサデータを収集することができる。
また、情報処理装置101によれば、センサCiの自装置への接続を検出してから、センサCiと自装置との接続が切断されるまで、一定時間Tの経過を検出するたびに、クリアコマンドをセンサCiに出力することができる。これにより、情報処理装置101に接続中のセンサCiのメモリ402に記憶されたセンサデータを定期的にクリアすることができる。このため、作業者Wの動線解析に不要なセンサデータがセンサCiに蓄積されることを抑制することができる。例えば、情報処理装置101の近くにビーコン発信機Bjがあったとしても、始業時あるいは休憩明けに、作業者がセンサCiを携帯したときに、センサCiにセンサデータがほぼ蓄積されていないことになり、動線解析の正確性を確保することができる。
また、情報処理装置101によれば、ビーコン発信機Bjの削除指示を受け付けたことに応じて、アンカー管理情報DB210から削除指示されたビーコン発信機Bjに対応する管理情報を削除することができる。これにより、故障や経年劣化等によりエリアARから撤去されたビーコン発信機Bjの管理情報をアンカー管理情報DB210から削除することができる。
また、情報処理装置101によれば、ビーコン発信機Bjの削除指示を受け付けたことに応じて、アンカー管理情報DB210内の削除指示されたビーコン発信機Bjの表示順以降の表示順をそれぞれ繰り上げることができる。これにより、故障や経年劣化等によりビーコン発信機Bjが撤去されたとしても、エリアARに設置された順に基づき、残りのビーコン発信機Bの表示順が昇順となるように補正されるため、管理がしやすくなる。例えば、管理者は、最後尾の表示順から、エリアARに何個のビーコン発信機Bが設置されているのかを容易に判断することができる。
また、情報処理装置101によれば、新たなビーコン発信機Bの登録指示を受け付けたことに応じて、アンカー管理情報DB210を参照して、他のビーコン発信機Bに使用されていない最小のアンカー番号および最小の表示順を特定することができる。そして、情報処理装置101によれば、特定した最小のアンカー番号および最小の表示順と、登録指示されたビーコン発信機Bの位置情報とを対応付けた管理情報を、アンカー管理情報DB210に記憶することができる。
これにより、エリアAR内に設置される新たなビーコン発信機Bの管理情報を、アンカー管理情報DB210に新規登録することができる。また、アンカー番号の空き番号を自動で埋めることができるため、使用可能な数字が制限されるようなアンカー番号を有効活用することができる。また、多数のビーコン発信機Bを設置した場合に、ビーコン発信機Bの追加や削除を繰り返すと、アンカー番号の空き番号が分かりにくくなって、ユーザのストレスとなるおそれがある。これに対して、情報処理装置101によれば、アンカー番号の空き番号を自動で埋めることができるため、ユーザの利便性を向上させストレスを回避することができる。また、新たなビーコン発信機Bがアンカー管理画面MS上で最前面に表示されるように表示順が設定されるため、新規に追加したビーコン発信機Bが他のビーコン発信機Bの後ろに隠れて選択しにくくなることを防ぐことができる。
また、情報処理装置101によれば、センサCiの自装置への接続を検出すると、データ取得対象デバイスに固有の時刻補正コマンドを出力することができる。そして、情報処理装置101によれば、出力した時刻補正コマンドの実行が正常に完了した場合に、センサCiにデータ取得コマンドを出力することができる。
これにより、データ取得対象デバイスとは異なるデバイスが情報処理装置101に接続されたときに、そのデバイスに対してデータ取得コマンドが出力されるのを防ぐことができる。また、比較的短時間で実行が完了する時刻補正コマンドを利用して、データ取得対象デバイスであるセンサCiを判別しつつ、センサCiの時刻を、情報処理装置101の時刻に合わせて補正することができる。
なお、本実施の形態で説明した制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本制御プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disk)、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本制御プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)受信したデータを記憶する第1の記憶部を有するデバイスの情報処理装置への接続を検出すると、前記第1の記憶部に記憶されたデータの送信指示を前記デバイスに出力し、
出力した前記送信指示に応じて前記デバイスから送信されたデータを受信すると、受信した前記データを第2の記憶部に記憶し、
前記デバイスの前記情報処理装置への接続を検出してから、前記デバイスと前記情報処理装置との接続が切断されるまで、特定の時間の経過を検出するたびに、前記第1の記憶部に記憶されたデータの削除指示を前記デバイスに出力する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
(付記2)前記第1の記憶部に記憶されるデータは、所定のエリアに設置された発信機から定期的に発信されるデータであって、前記デバイスによって受信されたデータである、ことを特徴とする付記1に記載の制御プログラム。
(付記3)前記所定のエリアに設置された複数の発信機のいずれかの発信機の削除指示に応じて、前記複数の発信機それぞれの識別番号と位置情報とを対応付けた管理情報を記憶する第3の記憶部から、前記削除指示された発信機に対応する管理情報を削除し、
前記所定のエリアに設置される新たな発信機の登録指示に応じて、前記第3の記憶部を参照して、他の発信機に使用されていない最小の識別番号を特定し、
特定した前記識別番号と前記登録指示された発信機の位置情報とを対応付けた管理情報を前記第3の記憶部に記憶する、
処理を前記コンピュータに実行させることを特徴とする付記2に記載の制御プログラム。
(付記4)前記第3の記憶部は、前記複数の発信機それぞれの識別番号と位置情報と、前記複数の発信機それぞれが前記所定のエリアに設置された順に基づき設定される表示順と、を対応付けた管理情報を記憶しており、
前記削除指示された発信機に対応する管理情報が削除されたことに応じて、前記第3の記憶部に記憶された、前記削除指示された発信機の表示順以降の表示順をそれぞれ繰り上げる、処理を前記コンピュータに実行させることを特徴とする付記3に記載の制御プログラム。
(付記5)前記デバイスの前記情報処理装置への接続を検出すると、データ取得対象デバイスに固有の特定のコマンドを前記デバイスに出力する、処理を前記コンピュータに実行させ、
前記送信指示を出力する処理は、
前記特定のコマンドの実行が正常に完了した場合に、前記送信指示を前記デバイスに出力する、ことを特徴とする付記1または2に記載の制御プログラム。
(付記6)第1の表示順の発信機は、前記第1の表示順より前の表示順の発信機よりも前面に表示される、ことを特徴とする付記4に記載の制御プログラム。
(付記7)受信したデータを記憶する第1の記憶部を有するデバイスの情報処理装置への接続を検出すると、前記第1の記憶部に記憶されたデータの送信指示を前記デバイスに出力し、
出力した前記送信指示に応じて前記デバイスから送信されたデータを受信すると、受信した前記データを第2の記憶部に記憶し、
前記デバイスの前記情報処理装置への接続を検出してから、前記デバイスと前記情報処理装置との接続が切断されるまで、特定の時間の経過を検出するたびに、前記第1の記憶部に記憶されたデータの削除指示を前記デバイスに出力する、
処理をコンピュータが実行することを特徴とする制御方法。
(付記8)受信したデータを記憶する第1の記憶部を有するデバイスの情報処理装置への接続を検出すると、前記第1の記憶部に記憶されたデータの送信指示を前記デバイスに出力し、
出力した前記送信指示に応じて前記デバイスから送信されたデータを受信すると、受信した前記データを第2の記憶部に記憶し、
前記デバイスの前記情報処理装置への接続を検出してから、前記デバイスと前記情報処理装置との接続が切断されるまで、特定の時間の経過を検出するたびに、前記第1の記憶部に記憶されたデータの削除指示を前記デバイスに出力する、
制御部を有することを特徴とする情報処理装置。