以下、図面に基づいて実施形態を説明する。
<端末装置の概略構成例>
図1は、端末装置の機能構成の一例を示す図である。図1に示す端末装置10は、読み取り部の一例としてのタグリーダ11と、識別情報取得部の一例としてのタグID取得部12と、慣性センサ13と、動き情報抽出部14と、設計データ取得部15と、機能割り当て部の一例としてのタグ配置対応関係設定部16と、タグ配置対応関係保存部17と、記憶部18とを有する。記憶部18は、機能割り当て済みタグ配置設計データ21と、機能割り当て済みタグ配置対応関係データ22とを有する。
タグリーダ11は、例えば、現場等で行われる点検作業等において、各点検対象物やその付近に設置されている無線タグ等の基準物からの情報を読み取る。無線タグは、例えばNFCタグやRadio Frequency Identification(RFID)タグ、Integrated Circuit(IC)タグ等の非接触によるデータ通信を実現するものであるが、これに限定されるものではない。
タグリーダ11は、例えば微量を電力を生み出すことができる電波を無線タグに放射し、無線タグがその電波から得た電力で送信した識別情報等を有する電波を受信する。なお、タグリーダ11は、書き込み機能を有していてもよく、その場合には、タグリーダ11から無線タグに対してデータを書き込むことができる。
なお、上述した基準物は、無線タグに限定されるものではなく、例えば一次元又は二次元のバーコードやマーカ等、所定の領域内に所定の模様や文字等のパターンが形成された画像や物体等でもよい。この場合、タグリーダ11は、例えばカメラ等の撮像部により周辺を撮影し、撮影された画像や映像に含まれる基準物(例えば、バーコードやマーカ等)の認識を行い、基準物に対応する情報(例えば、識別情報等)を取得する。なお、以下の説明では、基準物の一例としてタグを用いた例について説明する。
タグID取得部12は、タグリーダ11により無線タグ等から読み取った識別情報に対応するID(例えば、タグID)等を取得する。
慣性センサ13は、端末装置10の動きを検出するセンサである。慣性センサ13は、端末装置10の移動速度や加速度、角速度等を計測することができる。また、慣性センサ13は、方位や姿勢等を計測してもよい。慣性センサ13は、例えば3軸ジャイロセンサや3軸加速度センサ等であるが、これに限定されるものではない。また、慣性センサ13は、1つだけでなく複数のセンサを設けていてもよい。
動き情報抽出部14は、慣性センサ13から得られる情報に基づいて、動き情報の抽出を行う。例えば、動き情報抽出部14は、慣性センサ13から抽出できる動き情報としては、例えば加速度の2重積分により求められる相対位置変化を利用することや、加速度の主成分分析で分散が大きい方向を抽出することにより求められる移動方向等を抽出する。
つまり、本実施形態では、タグリーダ11の動き情報として慣性センサ13から得られる加速度情報の処理により計算される移動方向を用いる。この移動方向は、例えば慣性センサ13から得られる加速度情報等により計算される位置変化を用いることができるが、これに限定されるものではない。
また、動き情報抽出部14は、例えば、慣性センサ13における加速度センサとジャイロセンサを組み合わせ等により端末装置10の姿勢を推定してもよい。この場合、動き情報抽出部14は、例えば重力加速度成分の除去や、タグの配置の入力に利用した座標系とセンサ座標系との変換等を事前に行うことが必要である。
設計データ取得部15は、記憶部18から機能割り当て済みタグ配置設計データ21(以下、必要に応じて「設計データ」という)を取得する。また、設計データ取得部15は、設計データを設定したり、変更したりすることができ、設定や変更等がされた設計データを記憶部18に記憶することができる。設計データ取得部15は、記憶部18から取得した設計データをタグ配置対応関係設定部16に出力する。
ここで、機能割り当て済み配置設計データ21は、例えば予めユーザ等が無線タグを設置する対象物(例えば、計測メータ等の各種計器等)を含む環境を撮影した画像に対して、設置するタグの位置を指定したときのタグの位置を識別する識別情報(位置ID)、位置座標、機能等を有するが、これに限定されるものではない。位置座標は、画像を基準にした二次元座標系(x,y)でもよく、実空間上の三次元座標系(x,y,z)でもよい。機能とは、ユーザに提供するサービス等であり、例えばタグIDに割り当てられた対象物の操作方法や注意事項等の関連情報(ガイダンス情報)等を端末装置10の画面に表示したり、音声メッセージ等により出力する。また、機能とは、例えば対象物に対する情報(例えば、計器から取得した計測結果)等を入力するための画面に遷移する等の各種サービスであるが、これに限定されるものではない。これらの情報が設計データ(設計時の入力情報)として機能割り当て済みタグ配置設計データ21に記憶される。
タグ配置対応関係設定部16は、タグID取得部12から取得した複数のタグID及びその複数のタグIDを取得したタイミングに基づき動き情報抽出部14から得られた端末装置10の動き情報と、設計データ取得部15により得られる設計データとに基づいてタグ配置対応関係を計算する。
例えば、タグ配置対応関係設定部16は、端末装置10で計測した移動方向と読み取ったタグIDの時間関係に基づいてタグIDの位置の順列を絞り込んでいくことでタグIDの位置を特定する。例えば、端末装置10等に設けられたタグリーダ11によりユーザ(作業員)等が、実際の現場で実際のタグを適当な順番で読み取っていく場合に、読み取った順にタグIDのシーケンスが得られる。また、各タグ間を移動する際に端末装置10がどのように動いたかという動き情報が得られるため、その動き情報と、上述した設計データとを照合することで、どのタグIDのタグがどの位置に対応するかを評価し、適切な位置IDとタグDとの対応付けを行う。また、位置IDには、機能が割り当て済みであるため、結果としてタグIDに対する機能の割り当ても行うことができる。
タグ配置対応関係設定部16は、上述したタグの位置関係の評価を、タグの位置の候補と移動方向とから算出される角度を用いて行うことができるが、これに限定されるものではない。
タグ配置対応関係保存部17は、タグ配置対応関係設定部16で得られたタグ配置対応関係を機能割り当て済みタグ配置対応関係データ22に記憶する。機能割り当て済みタグ配置対応関係データ22は、例えば位置IDとタグIDとが対応付けられているが、これに限定されるものではない。
端末装置10は、例えばスマートフォンやタブレット端末等であるが、これに限定されるものではなく、ゲーム機器やノート型Personal Computer(PC)等を用いてもよい。
上述した端末装置10の構成により、タグと機能との対応付け(紐付け)を効率化することができる。例えば、本実施形態では、機能に関する情報が対応付けられた複数のタグの配置情報と、実際に対象物に取り付けられたタグを読み取る際のタグリーダ11の時間に基づく動き情報及びタグIDの検出情報とを照合することでタグIDと入力された配置情報との対応を特定することができ、効率的に機能をタグに割り当てることができる。
<端末装置10のハードウェア構成例>
次に、端末装置10のハードウェア構成例について図を用いて説明する。図2は、端末装置のハードウェア構成の一例を示す図である。図2の例において、端末装置10は、マイクロフォン(以下、「マイク」という)31と、スピーカ32と、表示部33と、操作部34と、センサ部35と、電力部36と、無線部37と、近距離通信部38と、補助記憶装置39と、主記憶装置40と、CPU41と、ドライブ装置42とを有し、これらはシステムバスBで相互に接続されている。
マイク31は、ユーザが発した音声や、その他の音を入力する。スピーカ32は、タグIDに対応する音声メッセージを出力したり、通話相手先の音声を出力したり、着信音等の音を出力する。マイク31及びスピーカ32は、例えば、通話機能等により通話相手と会話するとき等に用いることができるが、これに限定されるものではなく、音声による情報の入出力に用いることができる。
表示部33は、ユーザに対してOperating System(OS)や各種アプリケーションで設定された画面を表示する。例えば、表示部33は、タグIDに対応する機能に関連する画面(例えばメッセージ画面、入力画面)等を表示する。また、表示部33は、画面上にアプリ実行結果やコンテンツやアイコン、カーソル等を表示することができる。
表示部33は、タッチパネルディスプレイ等でもよく、その場合には表示部33は、入出力部としての機能を有する。表示部33は、例えばLiquid Crystal Display(LCD)や有機Electro Luminescence(EL)等のディスプレイである。
操作部34は、表示部33の画面に表示された操作ボタンや端末装置10の外部に設けられた操作ボタン等である。操作ボタンは、例えば電源ボタンや音量調整ボタンでもよく、所定の順番で配列された文字入力用の操作キー等でもよい。ユーザは、例えば表示部33の画面上で所定の操作を行ったり、上述した操作ボタンを押すことで、表示部33により画面上のタッチ位置が検出される。
センサ部35は、端末装置10のある時点又は継続的な動きを検出する。センサ部35は、例えば上述した慣性センサ13の一例に対応する。センサ部35は、例えば端末装置10の傾き角度、加速度、方向、位置等を検出するが、これに限定されるものではない。なお、センサ部35としては、例えば加速度センサ、ジャイロセンサ等であるが、これに限定されるものではなく、例えばGlobal Positioning System(GPS)や姿勢(傾き)センサ等であってもよい。
電力部36は、端末装置10の各構成に対して電力を供給する。電力部36は、例えばバッテリ等の内部電源であるが、これに限定されるものではない。電力部36は、電力量を常時又は所定の時間間隔で検出し、電力量の残量等を監視することもできる。
無線部37は、例えばアンテナ等を用いて基地局からの無線信号(通信データ)を受信したり、アンテナを介して無線信号を基地局に送信する通信データの送受信部である。無線部37により、通信ネットワークを介して基地局等からサーバ等とデータの送受信を行うことができる。
近距離通信部38は、例えば対象物等に設置された無線タグと通信を行い、タグID等の情報を取得する。また、近距離通信部38は、例えば赤外線通信やWi−Fi(登録商標)、Bluetooth(登録商標)等の通信手法を用いて、他の端末装置10等のコンピュータと近距離通信を行ってもよい。上述した無線部37及び近距離通信部38は、他のコンピュータとのデータの送受信を可能とする通信インタフェースである。
補助記憶装置39は、例えばHard Disk Drive(HDD)やSolid State Drive(SSD)等のストレージ手段である。補助記憶装置39は、各種のプログラム等を記憶し、必要に応じてデータの入出力を行う。
主記憶装置40は、CPU41からの指示により補助記憶装置39から読み出された実行プログラム等を格納したり、プログラム実行中に得られる各種情報等を記憶する。主記憶装置40は、例えばRead Only Memory(ROM)やRandom Access Memory(RAM)等であるが、これに限定されるものではない。
CPU41は、例えばOS等の制御プログラム、及び主記憶装置40に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御することで、表示制御における各処理を実現する。
具体的には、CPU41は、例えば操作部34等から得られるプログラムの実行指示等に基づき、補助記憶装置39にインストールされたプログラムを実行させることにより、主記憶装置40上でプログラムに対応する処理を行う。例えば、CPU41は、機能割り当てプログラムを実行させることで、タグID取得部12による無線タグのIDの取得、動き情報抽出部14による端末装置10の動き情報の取得、設計データ取得部15による設計時における入力情報の取得等の処理を行う。また、CPU41は、機能割り当てプログラムを実行させることで、タグ配置対応関係設定部16による位置IDとタグIDとの対応関係の割り当て、タグ配置対応関係保存部17による対応関係の保存等の処理を行う。CPU41における処理内容は、上述した内容に限定されるものではない。CPU41により実行された内容は、必要に応じて補助記憶装置39等に記憶される。
ドライブ装置42は、例えば記録媒体43等を着脱自在にセットすることができ、セットした記録媒体43に記録された各種情報を読み込んだり、所定の情報を記録媒体43に書き込むことができる。ドライブ装置42は、例えば媒体装填スロット等であるが、これに限定されるものではない。
記録媒体43は、上述したように実行プログラム等を格納するコンピュータで読み取り可能な記録媒体である。記録媒体43は、例えばフラッシュメモリ等の半導体メモリであってもよい。また、記録媒体43は、Universal Serial Bus(USB)メモリ等の可搬型記録媒体であってもよいが、これに限定されるものではない。
本実施形態では、上述したコンピュータ本体のハードウェア構成に実行プログラム(例えば、機能割り当てプログラム等)をインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態における機能割り当て処理等を実現することができる。
また、上述した機能割り当て処理に対応する機能割り当てプログラムは、例えば装置上で常駐している状態であってもよく、起動指示により起動させてもよい。
<機能割り当て処理の一例>
次に、機能割り当て処理の一例について説明する。図3は、機能割り当て処理の一例を示すフローチャートである。図3の例において、機能割り当て処理は、まず最初にタグの配置情報を入力する(S01)。なお、S01の処理では、任意の座標系(例えば、パネルの左下角を原点としてパネルの横方向をx軸、縦方向をy軸とするような座標系)を考え、タグを設置させたときの位置座標を設定する。また、S01の処理では、異なる位置に設置された無線タグを識別するための位置IDを設定して位置座標を設計データとして記憶する。
次に、端末装置10のタグリーダ11で実際に対象物又は対象物付近に取り付けられたタグの情報を読み取り、読み取ったタグ情報に含まれるID情報(識別情報)と、端末装置10の慣性センサ13により計測された動き情報とを取得する(S02)。S02の処理では、例えば作業員等が、タグリーダ11と慣性センサ13とを内蔵している端末装置10を手に持ち、対象物に設置された複数のタグを適当な順番で読み取っていき、読み取ったタグのID列と、タグ間を移動した際の動き情報列とを取得する。なお、読み取り動作は、端末装置10を用いた一連の移動動作により行われるが、これに限定されるものではない。
ここで、端末装置10の動き情報には、加速度から端末装置10の移動方向ベクトルを推定したものを用いる。この場合、タグの読み取り直後をスタートとして、次のタグを読み取るまでを加速度情報に区分して処理する。また、タグを読み取っていく場合には、タグ間はできるだけ直線的に動かす。
また、S02の処理では、ローパスフィルタで高周波ノイズを除去してもよい。また、S02の処理では、加速度の分散の大きい方向が端末装置10を移動させた方向とみなせるため、3軸加速度の主成分分析で主軸を抽出したり、主軸上の加速度の最初のピークで移動の正負方向を判定する等の処理を行ってもよい。また、同じID情報が連続した場合は、読み取り時の動作のぶれで重複して検出した可能性が高いため、重複したID情報と、その間の動き情報とは保存せず無視する。
次に、端末装置10のタグ配置対応関係設定部16は、タグの位置の順列を絞り込むため、タグID取得部12から得られたタグのID列から最初のID情報を取り出す(S03)。取り出した最初のID情報は、設計データに含まれる全ての位置IDのうちの何れかに対応し、その確率は均等に存在する。そのため、タグ配置対応関係設定部16は、各位置ID(各ノード)の評価値を1としてタグの読み取り順の候補を表すツリーを初期化する(S04)。
次に、タグ配置対応関係設定部16は、読み取ったタグのID列の次からID情報と、動き情報列の動き情報とを1つずつ取り出して、各ノード(位置IDの読み取り順の候補)の評価値を計算していく。ID情報は、既に取り出されたIDと比較することで遷移する子ノードの限定に利用することができ、例えば可能性のある順列を制限することができる。
次に、タグのID列から次のID情報があるか否かを判断し(S05)、次のID情報がある場合(S05において、YES)、タグ配置対応関係設定部16は、次のID情報を取り出し、矛盾する候補を除外するように末端ノードの子ノードを作成してツリーを拡張する(S06)。
次に、タグ配置対応関係設定部16は、動き情報列から動き情報を1つ取り出し、末端ノードの評価値を計算する(S07)。本実施形態における動き情報は、各ノードの評価値の計算に利用する。例えば、タグ配置対応関係設定部16は、親ノードの評価値に動き情報から計算される評価値を乗算することで、子ノードの評価値とする。
ここで、動き情報は、方向ベクトルで表される。そのため、タグ配置対応関係設定部16は、この方向ベクトルと、親ノードと子ノードとの位置を結ぶベクトルとの角度差が少ない場合に、タグ間の動きの計測と、タグの位置関係とが整合するため、高評価とする。
また、タグ配置対応関係設定部16は、角度差に対する評価値を、例えば角度差が0°のときを最大値とし、角度差が大きくなるほど直線的に小さくなるような単純な関数を用いて計算する。なお、上述したような関数を予め設定しておくのではなく、角度差に対する評価値を事前に統計的に設定しておく方法も考えられる。その場合は、様々な方向に端末装置10を動かした際の実際の方向と、計測された方向との角度差のヒストグラム等を用いて、計測誤差として角度差が生じる確率を求め、その結果を評価値としてもよい。
また、S05の処理において、タグのID列に、次のID情報がない場合(S05において、NO)、上述した評価値が最も高い末端ノードが表すタグの読み取り順に確定し(S08)、タグIDと位置IDとの対応からタグIDに機能を割り付ける(S09)。次に、割り付けたタグ配置の対応関係データの情報を記憶部18の機能割り当て済みタグ配置対応関係データ22等に記憶する(S19)。
<具体例>
次に、上述したタグと機能との割り当て方法について具体的に説明する。本実施形態では、予め設計時に、各タグを設置する位置に対応する位置IDに機能を割り当てておき、、実際に読み取った複数のタグから得られるタグIDと位置IDとの位置関係を特定し、タグIDに機能を割り当てる。
<設計時>
上述した設計時には、例えばエンジニア等の作業員が、現場環境をカメラ等の撮像手段で撮影し、撮影した画像(写真)等からタグを配置する位置と、その位置に対応して割り当てる機能とを設定する。なお、設計時には、設置するタグのおおよその位置(位置座標)と、割り当てる機能とを有する設計データを作成する。この段階では、実際に現場で取り付けられている無線タグのID(実ID)は分からないため、タグの位置座標に識別のための情報(位置ID)を設定しておく。
ここで、図4は、設計時の入力情報の一例を示す図である。図4の例では、点検作業を行う対象物(例えば、各計測メータや点検パネル等)50が撮影された画像に対して、タグ51〜54が設定されている。各タグ51〜54には、「位置ID」、「位置」、「機能」等の情報が設定される。また、図4の例では、「機能」として、端末装置10に圧力を入力する画面を表示させる「圧力入力機能」、水量を入力する画面を表示させる「水量入力機能」、水温状態を入力する画面を表示させる「水温状態入力機能」、排水状態を入力する画面を表示させる「排水状態入力機能」等が設定されている。これらの各機能は、各無線タグ51〜54のそれぞれに設置された計器(例えば、圧力計55、水量計56,水温状態出力部57,排水状態出力部58)等に対応する機能が設定される。水温状態出力部57や排水状態出力部58は、各状態が予め設定された基準に基づき正常であるか又は異常であるか等を所定のランプ(例えば、Light Emitting Diode(LED)等)による色や音声等により出力する。なお、機能については、これに限定されるものではなく、タグの数や種類についてもこれに限定されるものではない。
図4の例では、現場の画像(写真)等を用いてタグのおおよその配置と機能とを設定してもよく、Computer Aided Design(CAD)ソフト等により設計された環境に対応する対象物の図面を用いて設定してもよい。また、タグの位置情報については、、各タグ同士の相対的な位置関係を利用するため、座標系は二次元座標系でも三次元でもよく、自由に決めることができる。これらの情報は、機能割り当て済みタグ配置設計データ21として記憶部18に記憶される。
次に、実際に取り付けられた複数の無線タグを読み取る場合には、実際の現場で作業員が端末装置10を用いて複数の無線タグを適当な順番で読み取っていく。図5は、読み取り時に得られる情報の一例を示す図である。
端末装置10は、実空間(作業環境)上に存在する図4に示すような対象物50に対して無線タグ61〜64が実際に取り付けられている。なお、無線タグ61〜64の対象物50への取り付けは、粘着性物質を用いた貼り付けでもよく、ネジ等の固定部材を用いた取り付けでもよいが、これに限定されるものではない。
無線タグ61〜64には、各無線タグを識別する識別情報(タグID)が、記憶されており、端末装置10内のタグリーダ11が各無線タグ61〜64からタグIDを取得する。
端末装置10は、対象物50に対して図5(A)〜(E)に示す順序で各無線タグ61〜64のタグIDを取得する。本実施形態では、読み取った順に無線タグ61〜64のタグID(実ID)のシーケンス(タグのID列)が得られ、また慣性センサ13により、そのときの端末装置10の動きを計測することで、各タグ間を移動する際に端末装置10がどう動いたかという情報を得ることができる。
例えば、図5(A)から図5(B)においては、無線タグ63からのタグ情報(タグID:0002)を取得してから無線タグ64のタグ情報(タグID:0005)を取得するまでの動き情報としてv1を取得することができる。このように、各タグ情報を取得するまでの端末装置10の移動において、次のタグ情報を取得したときの動き情報を取得することができる。
なお、図5の例では、図5(A)に示す1回目に取得するタグ情報(タグID:0002)と、図5(D)に示す4回目に取得するタグ情報(タグID:0002)とが同じであり、その他は各回で違うタグを読み取ったというような順列に対する制約が得られる。これらの情報と、上述した設計時の入力情報を比較することで、どのタグIDのタグが、どの位置IDに対応しそうであるかを評価し、その評価結果に基づいて位置IDとタグIDとの対応を設定することができる。
また、位置IDには、機能が割り当て済みであるため、結果としてタグIDへの機能の割り当てを行うことができる。
図6は、設計時の入力情報とタグ読み取り時の計測情報とを用いた機能の割り当てを説明するための図である。本実施形態では、図6に示すように、設計時の入力情報では、上述した図4に示すように設計データとして各位置ID:p1〜p4に対して、それぞれ位置情報と機能とが割り当てられている。また、図5に示すように、実際に端末装置10による無線タグ61〜64の読み取り時の計測情報から、タグのID列("0002"⇒"0005"⇒"0003"⇒"0002"⇒"0007")と、動き情報列(v1⇒v2⇒v3⇒v4)とが得られる。
したがって、設計時のタグの位置情報と、タグの読み取り時の計測情報とから時間に基づく移動方向の対応関係を自動計算することで、端末装置10を操作するユーザは、タグを読み取るだけで、そのタグに対する機能の割り当てを行うことができる。割り当てられた情報は、機能割り当て済みタグ配置対応関係データ22として記憶部18に記憶される。
本実施形態によれば、タグを読み取る順番も決める必要がないため、ユーザの負担やミスが少なく、機能との対応付けにおいて人が判断する部分がないため人為的なミスが起きない。なお、上述した実施形態では、タグ読み取り時のタグリーダ11を備えた端末装置10の動きの計測については慣性センサ13を用いているが、これに限定されるものではなく、例えば対象物付近に設置されたレーザトラッカやカメラ等のデバイスで直接端末装置10の位置をトラッキングする方法を用いてもよい。なお、これらのデバイスは、比較的高価であり、また環境に設置するコストが大きい。一方で、慣性センサ13は、比較的安価であるが、位置の変化を正確に求めることはできない。そこで、本実施形態では、位置を直接計測するのではなく、設計時に入力したタグのおおよその配置と慣性センサ13から得られるタグリーダ11のおおよその動き情報とから尤もらしい対応関係を決定する。
これにより、本実施形態では、環境に割り当てる機能の設計フェーズと、対応付けのフェーズとを分けることができるため、機能について詳しく知っているエンジニアを現場に派遣しなくても機能割り当てが可能なため低コストですむ。例えば、タグの交換の際等にも現場の作業者だけで対応できるためメンテナンス性がよい。
また、例えば同じタグ配置の点検パネルを複数作成する場合等には、設計データを使い回して簡単な端末装置10の操作で量産が可能である。また、動き情報において、加速度の2重積分で求められる相対位置変化は誤差が大きくなることが多く対応を間違えやすい。これに対して、加速度の主成分分析により求められる移動方向は、積分等の処理を行わないため、比較的少ない誤差で求めることができる。
移動方向から対応付けの評価を行う場合は、タグ配置の入力情報のスケールによらずに評価できるため、現場の画像等を見て、タグ配置を入力する場合に、縮尺を気にせず位置関係のみを合わせるように入力できる。
<データ例>
次に、本実施形態で適用されるデータ例について、図を用いて説明する。図7は、タグの読み取り時に得られるデータの一例の示す図である。図7に示すデータ例は、項目として「タグ検出時刻(秒)」、「タグID(文字列)」、「移動方向(方向ベクトル)」等があるが、これに限定されるものではない。
「タグ検出時刻」は、実際に対象物に設置された複数の無線タグ(例えば、NFCタグ等)のうち、最初の無線タグを検出した時間を基準として、各タグが検知されるまでの相対時間を示している。また、「タグID」は、その時間に検知されたタグの識別情報である。時刻やタグIDは、タグID取得部12により得られる情報である。
「移動方向」は、端末装置10の移動方向であり、次の無線タグに移動したときの3軸(X,Y,Z)の移動方向のベクトル値を示している。「移動方向」は、動き情報抽出部14により得られる情報である。タグ配置対応関係設定部16は、図7に示すような時系列で得られるデータと、記憶部18に記憶された機能割り当てタグ配置設計データ21とを用いてタグ配置の対応関係の設定を行う。
<移動方向の正負方向の判定>
ここで、上述した移動方向(方向ベクトル)には、正負の方向が存在するため、この正負方向を判定する必要がある。図8は、移動方向の正負方向の判定例を示す図である。図8の例では、縦軸を加速度(m/s2)とし、横軸を時間(s)としたときの加速度の変化の様子を示している。また、図8では、対象物又は対象物付近に取り付けられた無線タグを検知してから、次の無線タグを検知するための主軸上での加速度変化を示している。
本実施形態では、例えば3軸加速度の主成分分析で求めた主軸上の加速度のうち、最初のピークが加速度の正負のどちらであるかを基準として、移動の正負方向を判定する。例えば、図8の例では、最初のピークの加速度の値が負であるため、主軸上で負方向への移動と判定できる。動き情報抽出部14は、上述した判定を行って、上述した図7に示すように、各軸に対して正負の符号を付加した移動方向を抽出する。
<S07:評価計算例>
次に、上述した図3に示す機能割り当て処理におけるS07の評価計算処理の具体例について、図を用いて説明する。図9は、タグ間の移動候補に対する評価計算例を示す図である。図9の例では、計測した端末装置10の移動方向と、タグ配置から求まる端末移動方向とのずれから評価値の計算を行う。
例えば、図9(A)に示すように、設計データとして3個のタグ(位置ID:p1〜p3)が設定され、それぞれのタグ位置(位置座標)はX1〜X3で設定されているとする。また、慣性センサ13等を用いて計測したデータから端末装置10の移動方向がvであったとする。このとき、例えば、位置IDがp1のタグを基準(親ノード)として、次のノード(子ノード)が、位置IDがp2のタグか、p3のタグかを評価計算により判断する。
例えば、評価値E=f(θ)(fは、角度差から評価値を求める関数の一例)とすると、位置IDがp1のタグからp2のタグに移動した評価値E12は、
E12=f(θ12)
θ12=acos((X2−X1)・v/||X2−X1||・||v||)
として求めることができる。また、位置IDがp1のタグからp3のタグに移動した評価値E13は、
E13=f(θ13)
θ13=acos((X3−X1)・v/||X3−X1||・||v||)
として求めることができる。なお、上述した数式は一例であり、本実施形態においてはこれに限定されるものではない。
上述した角度差θ12、θ13の値を、例えば図9(B)に示すような評価値の関数に対応させると、θ12の方がθ13よりも評価値が高いため、位置IDがp1の位置からp3の位置に移動したと判断することができる。
また、本実施形態では、更に子ノードが存在する場合に、親の評価値に対して子コードの評価値を乗算する。例えば、3回目までに読み取ったタグ位置の候補がp1⇒p2⇒p3の順であるとした場合のノードの評価値E(p1⇒p2⇒p3)は、2回目までの親ノードの評価値E(p1⇒p2)に、p3に対する評価値を乗算して、例えばE(p1⇒p2⇒p3)=E(p1⇒p2)*f(θ23)として計算することができる。また、このときの端末装置10の動き情報v2とすると、θ23は、上述した数式を用いて
θ23=acos((X3−X2)・v2/||X3−X2||・||v2||)
として計算することができる。
このような計算を用いて動き情報を1つずつ取り出し、末端のノードまでの最終的な評価値を計算する。したがって、各ノード(タグ)の評価値計算は、親子関係に基づくツリー構造となる。
なお、図9(A)、(B)の例では、位置IDがP1のタグを親ノードとして計算した例を示しているが、実際には位置IDがp1,p2,p3のそれぞれを親ノードとして、全ての組み合わせに対して評価値を計算する必要がある。そして、最終的に評価値の高い末端ノードが表すタグの読み取り順(ツリー)に確定する。
なお、処理量を減らすために計算途中で、ある1つの動き情報から各段のノードの評価値が決定した段階で、評価値が著しく低い候補(ノード)を除外していってもよい。この場合、例えば最も高い評価値の候補と比較して評価値が100分の1以下の候補等のように、予め設定した閾値以下の候補を除外する等の処理を行うことができるが、これに限定されるものではない。
例えば、タグ配置対応関係設定部16は、読み取ったタグのID列から次のID情報と、動き情報列の次の動き情報とを1つずつ取り出して、各ノード(位置IDの読み取り順の候補)の評価値を計算する。このときID情報は、既に取り出されたIDと比較することで遷移する子ノードの限定に利用することができ、例えば可能性のある順列を制限することができる。例えば、3回目のID情報は、1回目、2回目のID情報とは異なるため、位置IDがp1⇒p2⇒p1等ように、その情報と矛盾する候補(ノード)は除外して以降の計算を省略することができる。また、同様に4回目のID情報は、1回目と同じなので、p1⇒p2⇒p4⇒p2のようにその情報と矛盾する候補(ノード)は除外できる。
<タグ読み取り順の確定手順例>
図10は、タグ読み取り順の確定手順の一例を示す図である。図10の例において、括弧[ ]は評価値Eを示している。また、図10の例において、「・・・」は、子ノードのツリー表記の省略を示す。また、「×」マークは、ID情報列の順列の制限により除外されたことを示す。
図10の例では、1回目に読み取られたタグの候補p1〜P4から5回目に読み取られたタグの候補までの評価値を計算した結果を示している。1回目に読み取られたタグの評価値は、移動方向がないため、評価値は全て1.0である。なお、評価値の計算は、上述した数式等を用いることができる。図10の例では、末端ノードで評価値=0.52が最も評価値が高いため、最終的に絞り込まれた順列として、読み取り順をp3⇒p4⇒p1⇒p3⇒p2で確定することができる。
また、本実施形態では、確定した読み取り順に無線タグのID(実ID)と設計データによる位置IDとの対応が決定するため、事前に位置IDに割り当てられた機能に関する情報を対応する実IDに割り当てることができる。これにより、例えば実IDと位置IDとの関係を、p1=0003,p2=0007,p3=0002,p4=0005等と対応付けることができ、設計時に位置IDに割り当てられた機能に関する情報を、実IDに割り当てることができる。
なお、本実施形態では、例えば、実際にタグIDの読み取りを実施してから、まとめて処理を行う方法について説明したが、これに限定されるものではない。例えば、タグ配置対応関係設定部16は、1つのタグIDを読み取る毎に評価値の計算を行い、候補が1つになるか、最大の評価値と、その次に値の大きい評価値(次点の評価値)との差が予め設定した閾値(例えば、100倍)以上の場合に、その段階でタグIDの位置の順列(読み取り順)を確定し、ユーザに終了を通知するようにしてもよい。
<全ての動き情報からタグ読み取り順の候補を予め絞り込む方法>
ここで、端末装置10から得られる全ての動き情報からタグ読み取り順の候補を予め絞り込む方法について、図を用いて説明する。図11は、全ての動き情報からタグ読み取り順の候補を予め絞り込む方法を説明するための図である。
例えば、本実施形態では、タグIDを取得する各回の動き情報から移動前後のタグを絞り込むことができる。例えば、図11(A)に示す無線タグ61〜64の位置の設計データ(位置ID:p1〜P4)に対して、n回目のタグ間の移動で動作情報として「移動前のタグID:0002」、「移動後のタグID:0005」、「動き情報:下向き」が得られたとする。この場合、位置IDがp3,p4の無線タグ63,64は、下方向にはタグが存在しないため、移動前のタグID:0002の候補は、位置IDがp1,p2の無線タグ61,62に絞られる。また、同様に位置IDがp1,p2の無線タグ61,62は、上方向にタグが存在しない(上から下向きに移動してくることがない)ため、移動後のタグID:0005の候補は、p3,p4の無線タグ63,64に絞られる。
なお、タグの位置情報から全タグ位置のペアに関して移動可能な方向ベクトルを求めておき、動き情報で得られた方向ベクトルに対してそれぞれ角度差を計算する。全ての角度差が予め設定した閾値以上の場合に、そのタグ位置を候補から外すことができる。
また、例えば、図11(B)に示すように位置IDがp1〜p4の無線タグ61〜64が、横一列に配置されている場合において、タグIDと動き情報とを取得する。その結果、例えば、時刻1〜4の時系列に対して、
「時刻1 タグID:0001 動き情報:右方向」
「時刻2 タグID:0002 動き情報:右方向」
「時刻3 タグID:0003 動き情報:右方向」
「時刻4 タグID:0004」
が得られたとする。次に、上述した動き情報からタグ位置のタグIDに対する候補を絞り込む。その結果、時刻1に対して、
0001の候補:[p1,p2,p3]
0002の候補:[p2,p3,p4]
時刻2に対して、
0002の候補:[p1,p2,p3]
0003の候補:[p2,p3,p4]
時刻3に対し、
0003の候補:[p1,p2,p3]
0004の候補:[p2,p3,p4]
となるため、複数の情報があるタグIDについて積集合を考慮して情報をまとめると、
0001の候補:[p1,p2,p3]
0002の候補:[p2,p3]
0003の候補:[p2,p3]
0004の候補:[p2,p3,p4]
の情報が得られる。
ここで、可能なタグ読み取り遷移列を全て抽出すると、
候補1:p1⇒p2⇒p3⇒p4
候補2:p1⇒p3⇒p2⇒p4
となり、この時点で2つまで絞られる。したがって、この2つの候補のみに着目して各タグ読み取り遷移列の候補について動き情報により上述した評価して最終的な対応を決定する。これにより、短時間で、0001:p1,0002:p2,0003:p3,0004:p4等の割り当てを設定することができる。
<直線移動ができなかった場合の一例>
上述した実施形態では、移動方向(方向ベクトル)の評価により読み取り順を確定するため、タグ間の移動は、直線移動であることが好ましい。しかしながら、障害物等の影響で、タグ間を直線移動できない場合がある。ここで、本実施形態において、タグ間を端末装置10が障害物等の影響で直線移動ができなかった場合の例について、図を用いて説明する。図12は、タグ間を直線移動できない場合の対応例を説明するための図である。例えば、図12(A)に示すように、障害物70等の影響で、対象物又は対象物付近に無線タグ61と無線タグ62との間で端末装置10が直線移動できない場合がある。そのような場合には、図12(B)に示すように、移動の途中で停止点を設け、その停止点を中継して端末装置10を移動させる。
例えば、端末装置10は、慣性センサ13から得られるセンサ情報を、図12(B)に示す各停止点(図12(B)の例では、停止点1,停止点2)を基準にそれぞれ分割し、各区間で移動方向vi(図12(B)の例では、v0,v1,v2)を求める。また、停止点は一定時間の加速度の分散が閾値以下になったことを基準として抽出することができる。区間毎の移動方向を各区間の移動時間ti(図12(B)の例では、t0,t1,t2)加速度の積分値等で重み付けして加算することで、タグ間の全体の動き情報v(例えば、v=Σitivi/Σiti)を取得することができる。これにより、無線タグ61から無線タグ62までの移動方向(方向ベクトル)を取得することができ、この移動方向を用いて上述したような評価値等の計算を行うことができる。なお、設計データについては、障害物に関係なく位置座標や機能等等を設定できるため、その情報をそのまま用いて適切な割り付けを実現することができる。
また、直線ではなく、曲線で移動した場合の判断基準について説明する。例えば、端末装置10を直線軌道ではなく曲線軌道で移動させた場合、3軸加速度のノルムが大小に変化する回数が多くなるため、その回数を利用して曲線移動を判断することができる。図13は、直線軌道と曲線軌道の加速度ノルムの一例を示す図である。
図13において、縦軸は加速度のノルムを示し、横軸はタグ間に慣性センサ13等により計測された動き情報のサンプル数を示している。図13に示すように、直線軌道の方が、曲線軌道の方よりもノルムが大小に変化する回数が少ない。これを利用して、例えばピーク数が予め設定された閾値(例えば、ピーク数5)以下の場合には、直線軌道で移動しているものとし、上述した端末装置10の動き情報を用いて移動方向を取得する。また、閾値より大きい場合には、曲線軌道により移動しているものとして、例えば加速度の2重積分による測定やカメラによる測定により得られる相対位置変化情報等を用いて移動方向を取得してもよく、他の手法により移動方向を取得してもよい。
<他の実施形態>
上述した本実施形態では、端末装置10内に上述した機能割り当て処理を行う全ての構成を設けた例について説明したが、これに限定されるものではなく、例えばタグ配置の対応関係の設計処理等をサーバ等の情報処理装置で実行してもよく、タグリーダ11や慣性センサ13等を端末装置10とは別の装置(例えば、腕時計型やブレスレット型、指輪型のウェアラブルデバイス等)に設けた構成にしてもよい。そこで、上述した他の実施形態における機能割り当てシステムの概略構成例について、図を用いて説明する。
図14〜図16は、機能割り当てシステムの構成例を示す図(その1〜その3)である。なお、以下のシステム構成において、上述した端末装置10に設けられた各構成とほぼ同様の処理を行う構成については、同一の符号を付するものとし、ここでの具体的な説明は省略する。
図14の例に示す機能割り当てシステム80aは、端末装置81と、サーバ82とを有している。端末装置81と、サーバ82とは、例えばインターネットやLocal Area Network(LAN)等に代表される通信ネットワークによりデータの送受信が可能な状態で接続されている。
端末装置81は、タグリーダ11と、タグID取得部12と、慣性センサ13と、動き情報抽出部14とを有する。また、サーバ82は、設計データ取得部15と、タグ配置対応関係設定部16と、タグ配置対応関係保存部17と、記憶部18とを有する。記憶部18は、機能割り当て済みタグ配置設計データ21と、機能割り当て済みタグ配置対応関係データ22とを有する。
端末装置81は、上述したように、タグリーダ11から取得した時間情報を含むタグのID列と、慣性センサ13の計測データから得られる動き情報列とをサーバ82に送信する。サーバ82は、端末装置81から得られる情報と、上述した設計データ取得部15により取得した設計データとを用いてタグID(実ID)と位置IDとの対応関係を設定し、位置IDに事前に割り当てられた機能をタグIDに割り当てる(対応付ける)ことができる。
図15の例に示す機能割り当てシステム80bは、ウェアラブルデバイス83と、端末装置84とを有する。ウェアラブルデバイス83と、端末装置84とは、例えば上述した通信ネットワークによりデータの送受信が可能な状態で接続されている。
ウェアラブルデバイス83は、ユーザの腕等に装着することができる装置であり軽量であるため、ユーザは簡単に移動させることができる。ウェアラブルデバイス83は、タグリーダ11と、慣性センサ13とを有する。端末装置84は、タグID取得部12と、動き情報抽出部14と、設計データ取得部15と、タグ配置対応関係設定部16と、タグ配置対応関係保存部17と、記憶部18とを有する。記憶部18は、機能割り当て済みタグ配置設計データ21と、機能割り当て済みタグ配置対応関係データ22とを有する。
ユーザは、ウェアラブルデバイス83を装着した腕を移動させて、対象物又は対象付近に設置された複数の無線タグからの情報をタグリーダ11により順番に読み取る。ウェアラブルデバイス83は、タグリーダ11で読み取られたタグ情報と、慣性センサ13で得られるタグ読み取り時の計測データとを端末装置84に送信する。端末装置84は、ウェアラブルデバイス83からのタグ情報をタグID取得部12で入力し、ウェアラブルデバイス83からの計測データを動き情報抽出部14で入力して、上述したように、タグのID列と、動き情報列と、設計データ取得部15により取得した設計データとを用いてタグID(実ID)と位置IDとの対応関係を設定し、位置IDに事前に割り当てられた機能をタグIDに割り当てる(対応付ける)ことができる。
図16の例に示す機能割り当てシステム80cは、ウェアラブルデバイス85と、端末装置86と、サーバ87とを有する。ウェアラブルデバイス85と、端末装置86と、サーバ87とは、例えば上述した通信ネットワークによりデータの送受信が可能な状態で接続されている。
ウェアラブルデバイス85は、タグリーダ11と、慣性センサ13とを有する。端末装置86は、タグID取得部12と、動き情報抽出部14とを有する。サーバ87は、設計データ取得部15と、タグ配置対応関係設定部16と、タグ配置対応関係保存部17と、記憶部18とを有する。記憶部18は、機能割り当て済みタグ配置設計データ21と、機能割り当て済みタグ配置対応関係データ22とを有する。
ウェアラブルデバイス85は、タグリーダ11で読み取られたタグ情報と、慣性センサ13で得られるタグ読み取り時の計測データとを端末装置86に送信する。端末装置86は、ウェアラブルデバイス85からのタグ情報をタグID取得部12で入力し、ウェアラブルデバイス85からの計測データを動き情報抽出部14で入力して、上述したように、タグのID列と、動き情報列とを取得してサーバ87に送信する。
サーバ87は、端末装置86から得られる情報と、上述した設計データ取得部15により取得した設計データとを用いてタグID(実ID)と位置IDとの対応関係を設定し、位置IDに事前に割り当てられた機能をタグIDに割り当てる(対応付ける)ことができる。
上述した機能割り当てシステム80a、80cに示すようにサーバを有することで、複数の端末装置81、86からの情報をまとめて処理を行ったり、統計的な処理を行うこともできる。また、機能割り当てシステム80b、80cに示すようにウェアラブルデバイス83,85を用いることで、デバイスを容易に移動させることができる。また、端末装置84,86は、複数のウェアラブルデバイスから得られる情報をまとめて処理を行ったり、統計的な処理を行うことができる。
上述したように他の実施形態の例では、タグを読み取る各種の読み取り装置(ガジェット)が、その装置の操作方向を計測できることを前提として、計器(の付近)に貼り付けた複数タグを、装置を操作して一連の動作で読み取る。そして、サーバ等は、ガジェット等の外部装置で読み取られたタグIDとガジェットの移動方向と、時間関係とに基づいてタグIDの位置関係を絞り込み、それぞれの位置に対応する機能を特定したIDを対応付けることで、タグIDに機能を割り当てることの効率化を実現することができる。
上述したように本実施形態によれば、タグ等の基準物と機能との対応付け(紐付け)を効率化することができる。例えば、現場の保守、点検作業の支援等を実現することができる。例えば、現場の設置された計器等の対象物又はその付近にタグを取り付けておき、そのタグを読み取ったら、計器に関するガイダンス情報(操作方法等)を作業者の端末装置を通して作業者に知らせたりすることができる。これにより、適切な作業支援を行うことができる。
また、本実施形態では、点検作業等の例について説明したが、これはタグが取り付けられた実世界の物体をタッチするという直感的な操作で、その対象物に関係する様々なサービスが簡単に受けられるというユーザインタフェースの応用例の1つにすぎない。
したがって、本実施形態を適用して、例えば紙媒体のポスターや広告の主要なポイントとなる場所毎にタグを取り付けておき、そのタグを読み取ると、その対象物に対応する項目に関する詳細情報を、ユーザが得られるようにすることで、ユーザが情報に簡単にアクセスすることができる。
また、例えば通信ネットワークを介して操作できる家電が複数ある家庭において、対象物である家電の配置図にタグを取り付けておき、ユーザがタグを読み取ることで、各家電を操作できるようにすることもできる。これにより、ユーザは、直感的に家電を操作することができる。
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、上述した実施例の一部又は全部を組み合わせることも可能である。
なお、以上の実施例に関し、更に以下の付記を開示する。
(付記1)
端末装置が、
対象物に対して設置する複数の基準物の位置と、該位置毎に対応付けた機能とを記憶部に記憶しておき、
端末装置の一連の移動により前記対象物に設置された複数の基準物から識別情報を読み取り、
前記識別情報の読み取り時に得られる基準物間の移動方向と、前記識別情報を読み取った時間情報とに基づいて、前記記憶部に記憶された前記基準物の位置の順列を絞り込んでいくことで基準物の位置を特定し、
特定した前記基準物の位置に対応付けられている前記機能を前記識別情報に割り当てることを特徴とする機能割り当て方法。
(付記2)
前記基準物の位置の順列を絞り込むときの前記基準物の位置の評価を、前記記憶部に記憶された複数の基準物の位置情報と、前記移動方向とから算出される角度を用いて行うことを特徴とする付記1に記載の機能割り当て方法。
(付記3)
前記記憶部に記憶された複数の基準物のそれぞれを候補として基準物間の移動毎に得られる移動方向に基づき、前記基準物の位置の評価を行い、前記評価が最も高くなる基準物の順列に対応付けて、基準物毎に対応する機能を割り付けることを特徴とする付記2に記載の機能割り当て方法。
(付記4)
前記評価の値が予め設定した閾値以下の基準物を候補から除外することを特徴とする付記3に記載の機能割り当て方法。
(付記5)
前記端末装置が、基準物間を直線移動できない場合に、基準物間の移動途中に設定した停止点を基準に分割し、分割した区間毎の移動方向に基づいて、前記基準物間の移動方向を取得することを特徴とする付記1乃至4の何れか1項に記載の機能割り当て方法。
(付記6)
対象物に対して設置する複数の基準物の位置と、該位置毎に対応付けた機能とを記憶部に記憶しておき、
端末装置の一連の移動により前記対象物に設置された複数の基準物から識別情報を読み取り、
前記識別情報の読み取り時に得られる基準物間の移動方向と、前記識別情報を読み取った時間情報とに基づいて、前記記憶部に記憶された前記基準物の位置の順列を絞り込んでいくことで基準物の位置を特定し、
特定した前記基準物の位置に対応付けられている前記機能を前記識別情報に割り当てる、処理をコンピュータに実行させる機能割り当てプログラム。
(付記7)
対象物に対して設置する複数の基準物の位置と、該位置毎に対応付けた機能とを記憶する記憶部と、
一連の移動により前記対象物に設置された複数の基準物から識別情報を読み取り、前記識別情報の読み取り時に得られる基準物間の移動方向と、前記識別情報を読み取った時間情報とに基づいて、前記記憶部に記憶された前記基準物の位置の順列を絞り込んでいくことで基準物の位置を特定し、特定した前記基準物の位置に対応付けられている前記機能を前記識別情報に割り当てる機能割り当て部とを有する端末装置。
(付記8)
対象物に対して設置する複数の基準物の位置と、該位置毎に対応付けた機能とを記憶する記憶部と、
外部装置の一連の移動により得られる、前記対象物に設置された複数の基準物から読み取られた識別情報と、前記識別情報の読み取り時に得られる基準物間の移動方向と、前記識別情報を読み取った時間情報とに基づいて、前記記憶部に記憶された前記基準物の位置の順列を絞り込んでいくことで基準物の位置を特定し、特定した前記基準物の位置に対応付けられている前記機能を前記識別情報に割り当てる機能割り当て部とを有する情報処理装置。