(58)【調査した分野】(Int.Cl.,DB名)
ユーザの動きを検知するセンサモジュールから出力される、前回の検知時点から今回の検知時点までの間における、ユーザの移動距離及び移動角度に基づいて、ルート上において、前記ユーザの推定位置を特定するマッチング部と、
所定の期間において前記移動角度を累積した累積角度に基づいて、前記ユーザが曲折移動を行ったことを検知する方向変更検知部と、
を備え、
前記方向変更検知部は、
前記累積角度が所定の値以上となった場合に、前記曲折移動を行ったと判定し、
前記累積角度が前記所定の値未満である場合に、前記累積角度を拡大した拡大角度が前記所定の値以上であるか否かの判定を行い、前記拡大角度が前記所定の値以上である場合に、前記曲折移動を行った可能性があると判定し、
前記マッチング部は、
前記方向変更検知部が前記曲折移動を行ったと判定した第1の場合に、前記ルートの移動方向が変化する方向変更点が、現在の推定位置から進行方向のルート上の所定の範囲内に存在するか否かを判定し、存在すると判定した場合には、前記移動距離に基づいて、前記進行方向における前記方向変更点以降のルートに沿って次の推定位置を特定し、存在しないと判定した場合には、前記ユーザがルートを外れたと判定し、
前記方向変更検知部が前記曲折移動を行った可能性があると判定した第2の場合には、前記方向変更点が現在の推定位置から進行方向のルート上の所定の範囲内に存在するか否かを判定し、存在すると判定した場合には、前記移動距離に基づいて、前記進行方向における前記方向変更点以降のルートに沿って次の推定位置を特定し、存在しないと判定した場合には、取得した前記移動距離に基づいて、次の推定位置を特定し、
前記方向変更検知部が前記曲折移動を行ったとの判定及び前記曲折移動を行った可能性があるとの判定のいずれもしなかった第3の場合には、前記移動距離に基づいて、次の推定位置を特定する、
情報処理装置。
ユーザの動きを検知するセンサモジュールから出力される、前回の検知時点から今回の検知時点までの間における、ユーザの移動距離及び移動角度に基づいて、ルート上において、前記ユーザの推定位置を特定するマッチング部と、
所定の期間において前記移動角度を累積した累積角度に基づいて、前記ユーザが曲折移動を行ったことを検知する方向変更検知部と、
を備え、
前記方向変更検知部は、
前記センサモジュールから取得した移動角度に基づいて、前記累積角度が第1閾値以上となった場合に、前記曲折移動を行ったと判定し、
前記センサモジュールから取得した移動角度に基づいて、前記累積角度が前記第1閾値より小さい第2閾値以上前記第1閾値未満となった場合に、前記曲折移動を行った可能性があると判定し、
前記マッチング部は、
前記方向変更検知部が前記曲折移動を行ったと判定した第1の場合に、前記ルートの移動方向が変化する方向変更点が、現在の推定位置から進行方向のルート上の所定の範囲内に存在するか否かを判定し、存在すると判定した場合には、前記移動距離に基づいて、前記進行方向における前記方向変更点以降のルートに沿って次の推定位置を特定し、存在しないと判定した場合には、前記ユーザがルートを外れたと判定し、
前記方向変更検知部が前記曲折移動を行った可能性があると判定した第2の場合には、前記方向変更点が現在の推定位置から進行方向のルート上の所定の範囲内に存在するか否かを判定し、存在すると判定した場合には、前記移動距離に基づいて、前記進行方向における前記方向変更点以降のルートに沿って次の推定位置を特定し、存在しないと判定した場合には、取得した前記移動距離に基づいて、次の推定位置を特定し、
前記方向変更検知部が前記曲折移動を行ったとの判定及び前記曲折移動を行った可能性があるとの判定のいずれもしなかった第3の場合には、前記移動距離に基づいて、次の推定位置を特定する、
情報処理装置。
【発明を実施するための形態】
【0015】
[第1実施形態]
以下、本発明の実施形態について、図面を参照しつつ詳細に説明する。ただし、発明の範囲をこれらに限定するものではない。本発明の一実施形態に係る情報処理装置は目的地までの経路(以下、経路案内を行う際に、ユーザに提示する経路を「ルート」とも呼ぶ。)を案内する機能や、ユーザの位置に関する情報を、地図上において歩行者が通過することが想定される歩行者ネットワーク上や、ルート上に表示させる機能を有している。
【0016】
本実施形態において、ルート及び歩行者ネットワークは複数のノードと、複数のノード同士を接続する複数のリンクから構成される。また、ルート及び歩行者ネットワークには、道路、広場、並びに屋内及び地下の廊下などに設定される、ユーザが移動可能なあらゆるリンクが含まれる。
【0017】
図1を参照して、一実施形態に係る情報処理装置のハードウェア構成について説明する。情報処理装置である携帯端末10は、携帯電話機(スマートフォンを含む)、タブレット端末、PDA(Personal Digital Assistants)、ナビゲーション装置、パーソナルコンピュータ、サーバコンピュータなどにより構成される。携帯端末10は、制御部11、通信部12、記憶部13、操作部14、表示部15、センサ16及びスピーカ17を主に備える。制御部11は、CPU(Central Processing Unit)11a及びメモリ11bを主に備えて構成される。
【0018】
制御部11では、CPU11aは、記憶部13等に記憶されたプログラムをメモリ11bに展開して実行することにより、携帯端末10が備える各種構成の動作を制御し、また、各種処理の実行を制御する。制御部11において実行される処理の詳細は後述する。
【0019】
通信部12は、外部装置と通信するための通信インタフェースである。通信部12は、例えば、外部装置からデータやコマンドを受信したり、携帯端末10による処理結果を外部へ送信する。
【0020】
記憶部13は、不揮発性の記憶装置であり、例えば、半導体メモリ等により構成される。記憶部13は、制御部11における処理の実行に必要な各種プログラムや各種の情報を記憶する。
【0021】
操作部14は、携帯端末10のユーザの指示を受け付け、制御部11へ出力するためのユーザインタフェースである。操作部14は、例えば、操作キー、及びタッチパネルなどにより構成される。
【0022】
表示部15は、携帯端末10による処理結果を表示するためのユーザインタフェースである。表示部15は、液晶、又はLED(Light Emitting Diode)などを用いた表示装置により構成される。
【0023】
センサ16は、各種のセンサにより構成される。センサ16は、例えば、ジャイロセンサ、加速度センサ、地磁気センサ、及び気圧センサ等を含むことができる。センサ16は、携帯端末10を携帯するユーザの各種の動作を検知することができる。
【0024】
スピーカ17は、制御部11による処理制御に応じて、音声、音楽及び効果音など、各種の音を出力する。
【0025】
なお、本実施形態では、単一の情報処理装置により携帯端末10を構成しているが、これに限定せず、相互に通信可能な複数の情報処理装置により、携帯端末10が有する構成及び機能を実現してもよい。
【0026】
図2を参照して、一実施形態に係る携帯端末10の機能構成を説明する。携帯端末10は、機能構成として、データベース110、経路案内部111、信号測位部112、自律航法測位部113、マッチング部115、表示制御部116、方向変更検知部117、及び補正部118を主に備える。これらの機能は、例えば、制御部11において、CPU11aが、記憶部13等に記憶されたプログラムをメモリ11bに展開して実行することにより実現される。以下に、携帯端末10が備える各機能構成の詳細を説明する。
【0027】
データベース110は、携帯端末10において実行される処理に必要な情報、及び当該処理により生成された情報など、各種情報を記憶する。例えばデータベース110には、地図情報や歩行者ネットワークの情報が記憶されている。
【0028】
経路案内部111は、入力された経路探索条件に従った出発地から目的地までの最適経路の情報を取得し、表示部15を介して当該最適経路を提示すること等により、ユーザに対して経路案内を行う。
【0029】
最適経路の探索に関し、経路案内部111は、例えば、ユーザにより入力された経路探索条件に従って、データベース110に記憶された(または通信部12を介して外部装置から取得した)地図データ等を参照し、経路探索を実行することにより、最適経路の情報を取得する。もしくは、入力された経路探索条件に従った経路探索の処理を外部装置により行い、経路案内部111は、当該経路探索の処理結果を取得することとしてもよい。経路探索の手法としてはラベル確定法やダイクストラ法など、任意の手法を利用することができる。なお、最適な経路とは、出発地点から目的地点までのコスト情報が最小であることをいう。リンクのコスト情報は、距離、所要時間、料金、その他のパラメータ、及び各種パラメータを任意に組み合わせたもの等、目的に応じて設定可能である。
【0030】
また、経路案内部111は、経路案内のために、表示部15を介した経路の提示と共に、後述する処理により特定されたユーザの現在地の情報の表示及びスピーカ17を介した音声案内の出力を行うこともできる。
【0031】
信号測位部112は、GPS受信機(図示せず)により受信したGPS衛星信号に基づいて、携帯端末10(又は携帯端末10のユーザ)の現在位置を測位し、測位した位置の情報(例えば、緯度及び経度の情報)を測位時間の情報と共に出力する。また、信号測位部112は、携帯端末10の近くに設置されたアクセスポイントから受信した信号に応じて、携帯端末10の現在位置を測位することができる。また、携帯端末10は、RFID(Radio Frequency Identifier)やBluetooth(登録商標)等の無線信号の発信装置の信号を受信し、当該受信した信号に応じて、携帯端末10の現在位置を測位することもできる。信号測位部112は、任意のタイミング及び時間間隔(例えば、1秒毎)で測位の処理を行う。以下、本実施形態において、このようにGPS衛星信号、アクセスポイントからの信号、及びRFIDの無線信号など、外部装置から受信した信号に応じて実施される測位処理を信号測位と称する。
【0032】
自律航法測位部113(センサモジュールの一例である。)は、センサ16内に構築され、センサ16を、所定の間隔で携帯端末10の動き(即ち、携帯端末10を保持するユーザの動きである。以下、単に「携帯端末10の動き」と言った場合には、携帯端末10のユーザの動きを指す。)の情報を検知するように制御する。自律航法測位部113は、検知された携帯端末10の動きの情報に基づいて、センサ16が前回検知した時点から今回検知した時点までの間における、ユーザの移動の歩数を特定する。そして、自律航法測位部113は、特定した移動の歩数に基づいて、前回の検知時点から今回の検知時点までの相対的な移動距離を算出し出力する。このとき、自律航法測位部113は、移動距離を、例えば人の歩行時の標準的な歩幅(例えば、65cm。もしくは、予め測定された携帯端末10のユーザの歩幅。)に対して、上述した特定された歩数を乗じることによって算出することができる。また、自律航法測位部113は、検知された携帯端末10の動きの情報に基づいて、前回の移動方向と今回の移動方向との方向の差分の角度である移動角度を出力する。以下の説明において、自律航法測位部113が出力する、センサ16の前回の検知時点から今回の検知時点までの移動距離及び移動角度を指す場合には、相対的な移動距離及び移動角度と呼ぶものとする。
【0033】
さらに自律航法測位部113は、信号測位部112が測位した所定の位置(以下、「基準位置」とも呼ぶ。)からの移動距離の情報に基づいて、携帯端末10の基準位置からの相対的な現在位置を測位して、検知位置の情報として出力することも可能である。なお、自律航法測位部113は検知位置の情報を検知時間の情報とともに出力することが好ましい。また、自律航法測位部113は、センサ16により検知された標高の情報に基づいて、垂直方向の移動距離を算出することも可能である。
【0034】
基準位置は、例えば、信号測位部112の測位処理により取得した絶対位置(緯度経度により示される位置)や、ユーザの入力により取得した位置である。また、後述するマッチング部115によってルート上において特定された推定位置を基準位置として用いてもよい。
【0035】
なお、自律航法測位部113による検知位置の情報の出力は、携帯端末10がGPS信号やアクセスポイントからの信号を受信できないとき(例えば、携帯端末10を携帯するユーザが屋内や地下にいるとき)に有効である。もしくは、携帯端末10が上記信号を受信できるが信号測位部112による測位精度が低いと考えられるとき(例えば、携帯端末10を携帯するユーザが屋外の高層ビルに囲まれた場所にいるとき)にも自律航法測位部113による測位は有効である。そのため、携帯端末10は、例えば、GPS信号やアクセスポイントからの信号の受信状況に応じて、信号測位部112及び自律航法測位部113のどちらにより測位を行うかを切り替えることができる。
【0036】
なお、以下の説明では、一例として、自律航法測位部113は、基準位置として絶対位置を用いており、さらに、信号測位部112が測位処理を行う度に、自律航法測位部113は基準位置を更新する構成とする。この場合には、自律航法測位部113は、より高精度な検知位置の出力が可能になる。
【0037】
方向変更検知部117は、所定の期間において、自律航法測位部113が出力した相対的な移動角度を累積した累積値に基づいて、ユーザの曲折移動を検知する。携帯端末10が、方向変更検知部117を備えることによって、方向変更点におけるユーザの曲折移動を適切に検知することができる。なお、方向変更点とは、地図上の曲がり角に対応し、ユーザの進行方向が変更するノードをいう。例えば方向変更点は、互いに異なる方向に設けられた2つのリンクに接続されたノードである。また、曲折移動とは、移動方向を所定角度以上変更しながらの移動である。
【0038】
曲折移動には、カーブしたルートを当該カーブに沿って水平方向(右又は左)に旋回しながら進む移動、及びルート上の交差点を右折又は左折しながら進む移動が含まれる。また、曲折移動には、水平方向の移動後、エレベータ又はエスカレータに乗って上方若しくは下方に移動すること、又は階段若しくはスロープ上を移動することにより、上方又は下方に移動することが含まれる。
【0039】
本実施形態に係る方向変更検知部117は、累積角度と、当該累積角度を所定の倍率(例えば1.2倍)に拡大した拡大角度が所定の閾値(以下、「検知角度」とも呼ぶ。)に到達するか否かに応じて曲折移動の判定を行う。方向変更検知部117が、累積角度と拡大角度との2種類の角度を用いて曲折移動を判定することによって、曲がり角において、急な角度で曲折移動を行うユーザだけでなく、緩やかな角度で曲折移動を行うユーザについても、曲折移動を漏れなく検知することができる。
【0040】
なお、検知角度は、方向変更点の曲折角度に応じて、方向変更点ごとに設定されることが好ましい。方向変更点の曲折角度は、例えば方向変更点(ノード)の前後に接続されたリンクの方向の差分の角度である。例えば、方向変更検知部117は、ルートにおいて進行方向上の次の方向変更点に設定された検知角度を用いて曲折移動の判定を行うことができる。
【0041】
方向変更検知部117の処理について具体的に説明する。
まず、方向変更検知部117は、所定の期間における累積角度が検知角度以上となった場合(累積角度≧検知角度)には、ユーザが曲折移動を行ったと判定する。このとき、方向変更検知部117は、曲折移動を検知した旨の通知を後述するマッチング部115に行う。
【0042】
他方で、所定の期間における累積角度が検知角度以上にならなかった場合には、方向変更検知部117は、累積角度を所定の倍率で拡大して拡大角度を算出し、拡大角度が検知角度以上になったか否かを判定する。方向変更検知部117は、拡大角度が検知角度に満たない場合(拡大角度<検知角度)には、ユーザが曲折移動を行っていないと判定する。即ち、この場合、方向変更検知部117は、曲折移動を検知しない。他方で、方向変更検知部117は、拡大角度が検知角度以上となった場合には、ユーザが曲折移動を行ったと仮定する。このとき、方向変更検知部117は、例えば曲折移動を検知した可能性がある旨の通知を後述するマッチング部115に行う。方向変更検知部117は、この通知を、例えば曲折移動を検知した旨の通知に所定のフラグを立てて行う構成でもよい。
【0043】
補正部118は、後述するマッチング部115により特定されたユーザの前回の推定位置と今回の推定位置との間に方向変更点が存在しているにも関わらず、方向変更検知部117により曲折移動が行われた判定がされていない場合に、所定の待ち合わせ期間、ユーザの推定位置を方向変更点とするように調整(補正)する、待ち合わせ処理を行う。
【0044】
また、補正部118は、所定の待ち合わせ期間内に、方向変更検知部117が、曲折移動が行われた判定をしなかった場合には、待ち合わせ処理を解除することができる。このとき補正部118は、後述するマッチング部115に待ち合わせ処理を解除した旨の通知を行う。補正部118は、方向変更検知部117の処理を監視することによって、曲折移動の判定が行われたことを検知することが好ましいが、これに限定されず、例えば、方向変更検知部117やマッチング部115から通知を受ける構成でもよい。
【0045】
ここでいう所定の待ち合わせ期間は、例えば自律航法測位部113が出力した相対的な移動距離の累積値が所定の距離(以下、「待ち合わせ距離」とも呼ぶ。例えば、待ち合わせ距離は3mである。)に到達するまでの期間や、センサ16からの出力回数の累積値が所定の回数に到達するまでの期間である。なお、上述の待ち合わせ距離の値は、任意に設定することができる。例えば、ユーザが移動中であるルートの幅が広いほど、待ち合わせ距離を長く設定し、移動中であるルートの幅が狭いほど、待ち合わせ距離を短く設定することができる。
【0046】
マッチング部115は、案内中のルート上に、ユーザの推定位置を特定する(ルートマッチ)。具体的には、マッチング部115は、前回の推定位置(初回の場合は基準位置)から案内経路に沿って、目的地の方向に所定の距離だけ進めた位置を携帯端末10の推定位置として特定する。ここでの所定の距離は、自律航法測位部113によって出力される測位情報に基づいて決定される。例えば、測位情報に含まれる移動距離を所定の距離として用いてもよい。また、測位情報に含まれる歩数に予め設定された歩幅を乗じた値を所定の距離としてもよい。
【0047】
またマッチング部115は、案内経路上で、携帯端末10の前回の推定位置と今回の推定位置の間に方向変更点がある場合には、方向変更検知部117からの通知に基づいて、携帯端末10が曲がり角を通過したか否かを判断し、判断結果に基づいて推定位置を特定する。
【0048】
マッチング部115の処理の詳細について、以下の3つの場合について、説明する。
(1)方向変更検知部117及び補正部118から通知を受けない場合、又は補正部118から待ち合わせ処理を解除した旨の通知を受けた場合
(2)方向変更検知部117から曲折移動を検知した旨の通知を受けた場合
(3)方向変更検知部117から曲折移動を検知した可能性がある旨の通知を受けた場合
【0049】
(1)方向変更検知部117及び補正部118から通知を受けない場合、又は補正部118から待ち合わせ処理を解除した旨の通知を受けた場合
マッチング部115は、ルートに沿って推定位置を特定する。ただし、現在の推定位置が方向変更点上に特定されている(待ち合わせ処理が行われている)場合であって、補正部118から待ち合わせ処理を解除した旨の通知を受けた場合には、マッチング部115は、ユーザがオフルートしたことを判定する。
【0050】
(2)方向変更検知部117から曲折移動を検知した旨の通知を受けた場合
マッチング部115は、現在の推定位置から進行方向に向かって最も近い方向変更点(以下、単に「直近の方向変更点」とも呼ぶ。)が、現在の推定位置から進行方向に向かって所定の範囲内(例えば20m以内)に存在するか否かを判定する、マッチング処理を行う。
【0051】
直近の方向変更点が、現在の推定位置から進行方向に向かって所定の範囲内に存在した場合(マッチングに成功した場合)には、マッチング部115は、進行方向における直近の方向変更点以降のルートに沿って、方向変更検知部117が曲折移動を検知したときの推定位置を特定する。即ち、この場合、マッチング部115は、相対的な移動距離に応じて、マッチング処理によって特定した直近の方向変更点、又は、当該方向変更点の先のリンクに、次の推定位置を特定する。特にマッチング部115は、現在の推定位置から進行方向に向かって所定の範囲内に存在した直近の方向変更点の曲折角度が、ユーザの累積角度と類似している場合に、マッチングに成功したと判定することが好ましい。
【0052】
なお、推定位置が方向変更点に特定されている場合(補正部118が待ち合わせ処理を行っている場合)には、マッチング部115は、さらに補正部118に待ち合わせ処理を解除させることが好ましい。
【0053】
他方で、上述の直近の方向変更点が、現在の推定位置から進行方向に向かって所定の範囲内に存在しない場合(マッチングに失敗した場合)には、マッチング部115は、ルート上に推定位置を特定せず、ユーザがオフルートしたと判定する。
【0054】
(3)方向変更検知部117から曲折移動を検知した可能性がある旨の通知を受けた場合
マッチング部115は、この場合も、「(2)方向変更検知部117から曲折移動を検知した旨の通知を受けた場合」の場合と同様に、上述のマッチング処理を行い、マッチングに成功した場合には、進行方向における直近の方向変更点以降のルートに沿って、方向変更検知部117が曲折移動を検知したときの推定位置を特定する。この場合も、補正部118が待ち合わせ処理を行っている間に、曲折移動を検知した可能性がある旨の通知を受けた場合には、マッチング部115は、補正部118に待ち合わせ処理を解除させる。
【0055】
ただし、この場合において、マッチングに失敗した場合には、マッチング部115は、オフルートしたとは判定しない。この場合にはマッチング部115は、ユーザが曲折移動しなかったと判断し、直近の方向変更点までのリンク(現在の推定位置が特定されているリンク)に沿って推定位置を特定する。
【0056】
このように、本実施形態に係る携帯端末10によると、ユーザが、累積角度が検知角度に到達しないような緩やかな角度で曲折移動を行った場合でも、累積角度を拡大した拡大角度を用いて曲折移動の判定を行うため、ユーザの曲折移動を検知することができる。さらに拡大角度が検知角度以上となった場合でもルートマッチに失敗した場合には、マッチング部115は、ユーザはルートに沿って移動したと判定する。これによって、ユーザが、拡大角度を用いて曲折移動の判定を行う場合に想定される誤判定、即ち、実際には直進しているのに誤って曲折移動を行ったと判定することを防ぐことができる。
【0057】
表示制御部116は、表示部15に対する各種情報及び画像の表示の制御を行う。例えば、表示制御部116は、マッチング部115により特定されたユーザの推定位置又は補正部118により変更されたユーザの推定位置を表示部15に表示するように制御する。例えば、表示制御部116は、地図画像中のユーザの推定位置を示す位置に画像(例えば、丸形状又は三角形状の画像)を表示することができる。
【0058】
すなわち、本実施形態によれば、携帯端末10はユーザの推定位置を表示する表示装置として機能する。また、表示制御部116は、センサ16により検知されたユーザの動きの情報に基づいて自律航法測位部113により取得されたユーザの位置の情報である検知位置の情報と、センサ16により検知されたユーザの動きの情報に基づいて方向変更検知部117により取得されたユーザの移動方向の変更角度の情報とに応じて、ユーザの推定位置を示す画像を表示部15に表示する。
【0059】
具体的として、表示制御部116は、地図におけるルート上の位置であって、自律航法測位部113により出力された検知位置の情報に基づいてマッチング部115により特定された第1の位置に画像(ユーザの推定位置を示す画像)を表示するように制御する。マッチング部115により特定された第1の位置が方向変更点である場合、自律航法測位部113により出力された検知位置の情報に関わらず、表示制御部116は、ユーザの移動方向の変更角度の累積値が所定角度以上になるまで画像(ユーザの推定位置を示す画像)を方向変更点上に表示するように制御する。
【0060】
[処理フロー]
次に、
図3を参照して、携帯端末10において実行される処理のフローの一例を説明する。なお、以下に説明する処理フローに含まれる各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して又は並列に実行することができるとともに、各処理ステップ間に他のステップを追加してもよい。また、便宜上1ステップとして記載されているステップは、複数ステップに分けて実行することができる一方、便宜上複数ステップに分けて記載されているものは、1ステップとして把握することができる。また、各処理ステップは、制御部11において、CPU11aが記憶部13等に記憶されたプログラムをメモリ11bに展開して実行することにより行われる。
【0061】
まず、ステップS10において、自律航法測位部113は、センサ16からの情報に基づいてユーザの動きの情報を取得し、相対的な移動距離及び移動角度を出力する。自律航法測位部113は、当該処理を継続して(例えば、1秒ごとに)行う。方向変更検知部117は、自律航法測位部113が出力する移動角度の累積値が、検知角度に到達するか否かを判定する。
【0062】
累積角度が検知角度以上になった場合(S10:YES)には、方向変更検知部117は、ユーザが曲折移動したと判定する(S11)。このとき方向変更検知部117は、曲折移動を検知した旨の通知をマッチング部115に行う。通知を受けると、マッチング部115は、マッチング処理を行う(S12)。
【0063】
マッチングに失敗した場合(S12:CASE 失敗)には、マッチング部115は、ユーザがオフルートしたと判定する(S13)。他方で、マッチングに成功した場合(S113:CASE 成功)には、マッチング部115は、直近の方向変更点以降のルートに沿ってユーザの推定位置を特定する(S14)。
【0064】
S10において、累積角度が検知角度未満である場合(S10:NO)には、方向変更検知部117は、累積角度を所定の倍率に拡大した拡大角度を算出する(S21)。拡大角度が検知角度以上になった場合(S22:YES)には、方向変更検知部117は、ユーザが曲折移動した可能性がある旨の通知をマッチング部115に行う。通知を受けたマッチング部115はマッチング処理を行う(S23)。マッチングに失敗した場合(S23:CASE 失敗)には、マッチング部115は、直近の方向変更点までのルートに沿ってユーザの推定位置を特定する(S24)。他方で、マッチングに成功した場合(S23:CASE 成功)には、マッチング部115は、直近の方向変更点以降のルートに沿ってユーザの推定位置を特定する(S25)。
【0065】
他方で、S22において、拡大角度が検知角度未満である場合(S22:NO)には、方向変更検知部117は、曲折移動をしたと判定しない(S31)。この場合において、待ち合わせ処理が行われていない場合(S32:NO)には、マッチング部115は、ルートに沿って推定位置を特定する(S33)。他方で、待ち合わせ処理が行われている場合(S32:YES)であって、待ち合わせ期間を経過している場合(S34:YES)には、マッチング部115は、オフルートしたと判定する(S35)。
【0066】
以上のように本実施形態によれば、方向変更検知部117は累積角度と、累積角度を拡大した拡大角度との2種類の角度を用いてユーザの曲折移動の判定を行う。これによって、急な角度で曲折移動を行うユーザだけでなく、緩やかな角度で曲折移動を行うユーザについても、適切に曲折移動を検知することができる。
【0067】
[第2実施形態]
第2実施形態以降では第1実施形態と共通の事柄についての記述を省略し、異なる点についてのみ説明する。特に、同様の構成による同様の作用効果については実施形態毎には逐次言及しない。
【0068】
本実施形態に係る方向変更検知部117は、第1閾値と第2閾値(第1閾値>第2閾値)との2つの閾値を用いて曲折移動の判定を行う。例えば、第1閾値は急な角度による曲折移動を判定するための指標となる値であり、第2閾値は緩やかな角度による曲折移動を判定するための指標である。方向変更検知部117が2段階の閾値を用いて曲折移動を判定することによって、曲がり角において、急な角度で曲折移動を行うユーザだけでなく、緩やかな角度で曲折移動を行うユーザについても、曲折移動を漏れなく検知することができる。
【0069】
なお、第1閾値と第2閾値とは、方向変更点の曲折角度に応じて、方向変更点ごとに設定されることが好ましい。例えば、方向変更検知部117は、ルートにおいて進行方向上の次の方向変更点に設定された第1閾値と第2閾値とを用いて曲折移動の判定を行うことができる。
【0070】
方向変更検知部117の処理について具体的に説明する。
まず、方向変更検知部117は、所定の期間における累積角度が第2閾値に満たない場合(累積角度<第2閾値)には、ユーザが曲折移動を行っていないと判定する。即ち、この場合、方向変更検知部117は、曲折移動を検知しない。
【0071】
次に、方向変更検知部117は、所定の期間における累積角度が第1閾値以上となった場合(累積角度≧第1閾値)には、ユーザが曲折移動を行ったと判定する。このとき、方向変更検知部117は、曲折移動を検知した旨の通知を後述するマッチング部115に行う。
【0072】
さらに、方向変更検知部117は、所定の期間における累積角度が第2閾値以上となったがまだ第1閾値に満たない場合(第2閾値≦累積角度<第1閾値)には、ユーザが曲折移動を行ったと仮定する。このとき、方向変更検知部117は、例えば曲折移動を検知した可能性がある旨の通知を後述するマッチング部115に行う。方向変更検知部117は、この通知を、例えば曲折移動を検知した旨の通知に所定のフラグを立てて行う構成でもよい。
【0073】
このように、本実施形態に係る携帯端末10によると、ユーザが、累積角度が第1閾値に到達しないような緩やかな角度で曲折移動を行った場合にも、ユーザの曲折移動を検知することができる。さらに累積角度が第2閾値以上第1閾値未満となった場合でもルートマッチに失敗した場合には、マッチング部115は、ユーザはルートに沿って移動したと判定する。これによって、ユーザが、第2閾値を用いて曲折移動の判定を行う場合に想定される誤判定、即ち、実際には直進しているのに誤って曲折移動を行ったと判定することを防ぐことができる。
その他の携帯端末10の機能は第1実施形態と同様である。
【0074】
次に、
図4を参照して、本実施形態における携帯端末10において実行される処理のフローの一例を説明する。まず、ステップS101において、自律航法測位部113は、センサ16からの情報に基づいてユーザの動きの情報を取得し、相対的な移動距離及び移動角度を出力する。自律航法測位部113は、当該処理を継続して(例えば、1秒ごとに)行う。方向変更検知部117は、自律航法測位部113が出力する移動角度の累積値が、第1閾値又は第2閾値に到達するか否かを判定する。
【0075】
累積角度が第1閾値以上になった場合(S101:CASE 第1閾値以上)には、方向変更検知部117は、ユーザが曲折移動したと判定する(S112)。このとき方向変更検知部117は、曲折移動を検知した旨の通知をマッチング部115に行う。通知を受けると、マッチング部115は、マッチング処理を行う(S113)。
【0076】
マッチングに失敗した場合(S113:CASE 失敗)には、マッチング部115は、ユーザがオフルートしたと判定する(S114)。他方で、マッチングに成功した場合(S113:CASE 成功)には、マッチング部115は、直近の方向変更点以降のルートに沿ってユーザの推定位置を特定する(S115)。
【0077】
S101において、累積角度が第2閾値未満である場合(S101:CASE 第2閾値未満)には、方向変更検知部117は、曲折移動をしたと判定しない(S122)。この場合において、待ち合わせ処理が行われていない場合(S123:NO)には、マッチング部115は、ルートに沿って推定位置を特定する(S124)。他方で、待ち合わせ処理が行われている場合(S123:YES)であって、待ち合わせ期間を経過している場合(S125:YES)には、マッチング部115は、オフルートしたと判定する(S126)。
【0078】
さらにS101において、累積角度が第2閾値以上第1閾値未満である場合(S101:CASE 第2閾値以上第1閾値未満)には、方向変更検知部117は、ユーザが曲折移動した可能性がある旨の通知をマッチング部115に行う。通知を受けたマッチング部115はマッチング処理を行う(S132)。マッチングに失敗した場合(S132:CASE 失敗)には、マッチング部115は、直近の方向変更点までのルートに沿ってユーザの推定位置を特定する(S133)。他方で、マッチングに成功した場合(S132:CASE 成功)には、マッチング部115は、直近の方向変更点以降のルートに沿ってユーザの推定位置を特定する(S134)。
【0079】
以上のように本実施形態によれば、方向変更検知部117は2段階の閾値を用いてユーザの曲折移動の判定を行う。これによって、急な角度で曲折移動を行うユーザだけでなく、緩やかな角度で曲折移動を行うユーザについても、適切に曲折移動を検知することができる。
【0080】
以上、本発明の例示的な実施形態について説明した。本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。
【0081】
また、本発明のプログラムは、CD−ROM等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。