以下、本発明の実施形態について、図面を参照しつつ詳細に説明する。ただし、発明の範囲をこれらに限定するものではない。本発明の一実施形態に係る情報処理装置は目的地までの経路(以下、経路案内を行う際に、ユーザに提示する経路を「ルート」とも呼ぶ。)を案内する機能や、ユーザの位置に関する情報を、地図上において歩行者が通過することが想定される歩行者ネットワーク上や、ルート上に表示させる機能を有している。
本実施形態において、ルート及び歩行者ネットワークは複数のノードと、複数のノード同士を接続する複数のリンクから構成される。また、ルート及び歩行者ネットワークには、道路、広場、並びに屋内及び地下の廊下などに設定される、ユーザが移動可能なあらゆるリンクが含まれる。
図1を参照して、一実施形態に係る情報処理装置のハードウェア構成について説明する。情報処理装置である携帯端末10は、携帯電話機(スマートフォンを含む)、タブレット端末、PDA(Personal Digital Assistants)、ナビゲーション装置、パーソナルコンピュータ、サーバコンピュータなどにより構成される。携帯端末10は、制御部11、通信部12、記憶部13、操作部14、表示部15、センサ16及びスピーカ17を主に備える。制御部11は、CPU(Central Processing Unit)11a及びメモリ11bを主に備えて構成される。
制御部11では、CPU11aは、記憶部13等に記憶されたプログラムをメモリ11bに展開して実行することにより、携帯端末10が備える各種構成の動作を制御し、また、各種処理の実行を制御する。制御部11において実行される処理の詳細は後述する。
通信部12は、外部装置と通信するための通信インタフェースである。通信部12は、例えば、外部装置からデータやコマンドを受信したり、携帯端末10による処理結果を外部へ送信する。
記憶部13は、不揮発性の記憶装置であり、例えば、半導体メモリ等により構成される。記憶部13は、制御部11における処理の実行に必要な各種プログラムや各種の情報を記憶する。
操作部14は、携帯端末10のユーザの指示を受け付け、制御部11へ出力するためのユーザインタフェースである。操作部14は、例えば、操作キー、及びタッチパネルなどにより構成される。
表示部15は、携帯端末10による処理結果を表示するためのユーザインタフェースである。表示部15は、液晶、又はLED(Light Emitting Diode)などを用いた表示装置により構成される。
センサ16は、各種のセンサにより構成される。センサ16は、例えば、ジャイロセンサ、加速度センサ、地磁気センサ、及び気圧センサ等を含むことができる。センサ16は、携帯端末10を携帯するユーザの各種の動作を検知することができる。
スピーカ17は、制御部11による処理制御に応じて、音声、音楽及び効果音など、各種の音を出力する。
なお、本実施形態では、単一の情報処理装置により携帯端末10を構成しているが、これに限定せず、相互に通信可能な複数の情報処理装置により、携帯端末10が有する構成及び機能を実現してもよい。
図2を参照して、一実施形態に係る携帯端末10の機能構成を説明する。携帯端末10は、機能構成として、データベース110、経路案内部111、信号測位部112、自律航法測位部113、マッチング部115、表示制御部116、方向変更検知部117、補正部118及びオフルート判定部119を主に備える。これらの機能は、例えば、制御部11において、CPU11aが、記憶部13等に記憶されたプログラムをメモリ11bに展開して実行することにより実現される。以下に、携帯端末10が備える各機能構成の詳細を説明する。
データベース110は、携帯端末10において実行される処理に必要な情報、及び当該処理により生成された情報など、各種情報を記憶する。例えばデータベース110には、地図情報や歩行者ネットワークの情報が記憶されている。
経路案内部111は、入力された経路探索条件に従った出発地から目的地までの最適経路の情報を取得し、表示部15を介して当該最適経路を提示すること等により、ユーザに対して経路案内を行う。
最適経路の探索に関し、経路案内部111は、例えば、ユーザにより入力された経路探索条件に従って、データベース110に記憶された(または通信部12を介して外部装置から取得した)地図データ等を参照し、経路探索を実行することにより、最適経路の情報を取得する。もしくは、入力された経路探索条件に従った経路探索の処理を外部装置により行い、経路案内部111は、当該経路探索の処理結果を取得することとしてもよい。経路探索の手法としてはラベル確定法やダイクストラ法など、任意の手法を利用することができる。なお、最適な経路とは、出発地点から目的地点までのコスト情報が最小であることをいう。リンクのコスト情報は、距離、所要時間、料金、その他のパラメータ、及び各種パラメータを任意に組み合わせたもの等、目的に応じて設定可能である。
また、経路案内部111は、経路案内のために、表示部15を介した経路の提示と共に、後述する処理により特定されたユーザの現在地の情報の表示及びスピーカ17を介した音声案内の出力を行うこともできる。
信号測位部112は、GPS受信機(図示せず)により受信したGPS衛星信号に基づいて、携帯端末10(又は携帯端末10のユーザ)の現在位置を測位し、測位した位置の情報(例えば、緯度及び経度の情報)を測位時間の情報と共に出力する。また、信号測位部112は、携帯端末10の近くに設置されたアクセスポイントから受信した信号に応じて、携帯端末10の現在位置を測位することができる。また、携帯端末10は、RFID(Radio Frequency Identifier)やBluetooth(登録商標)等の無線信号の発信装置の信号を受信し、当該受信した信号に応じて、携帯端末10の現在位置を測位することもできる。信号測位部112は、任意のタイミング及び時間間隔(例えば、1秒毎)で測位の処理を行う。以下、本実施形態において、このようにGPS衛星信号、アクセスポイントからの信号、及びRFIDの無線信号など、外部装置から受信した信号に応じて実施される測位処理を信号測位と称する。
自律航法測位部113(センサモジュールの一例である。)は、センサ16内に構築され、センサ16を、所定の間隔で携帯端末10の動き(即ち、携帯端末10を保持するユーザの動きである。以下、単に「携帯端末10の動き」と言った場合には、携帯端末10のユーザの動きを指す。)の情報を検知するように制御する。自律航法測位部113は、検知された携帯端末10の動きの情報に基づいて、センサ16が前回検知した時点から今回検知した時点までの間における、ユーザの移動の歩数を特定する。そして、自律航法測位部113は、特定した移動の歩数に基づいて、前回の検知時点から今回の検知時点までの相対的な移動距離を算出し出力する。このとき、自律航法測位部113は、移動距離を、例えば人の歩行時の標準的な歩幅(例えば、65cm。もしくは、予め測定された携帯端末10のユーザの歩幅。)に対して、上述した特定された歩数を乗じることによって算出することができる。また、自律航法測位部113は、検知された携帯端末10の動きの情報に基づいて、前回の移動方向と今回の移動方向との方向の差分の角度である移動角度を出力する。なお、以下の説明において、自律航法測位部113が出力する、センサ16の前回の検知時点から今回の検知時点までの移動距離及び移動角度を指す場合には、相対的な移動距離及び移動角度と呼ぶものとする。
さらに自律航法測位部113は、信号測位部112が測位した所定の位置(以下、「基準位置」とも呼ぶ。)からの移動距離及び移動角度の情報に基づいて、携帯端末10の基準位置からの相対的な現在位置を測位して、検知位置の情報として出力することも可能である。なお、自律航法測位部113は検知位置の情報を検知時間の情報とともに出力することが好ましい。また、自律航法測位部113は、センサ16により検知された標高の情報に基づいて、垂直方向の移動距離を算出することも可能である。
基準位置は、例えば、信号測位部112の測位処理によって取得した絶対位置(緯度経度により示される位置)や、ユーザの入力により取得した位置である。また、後述するマッチング部115によってルート上において特定された推定位置を基準位置として用いてもよい。
なお、自律航法測位部113による検知位置の情報の出力は、携帯端末10がGPS信号やアクセスポイントからの信号を受信できないとき(例えば、携帯端末10を携帯するユーザが屋内や地下にいるとき)に有効である。もしくは、携帯端末10が上記信号を受信できるが信号測位部112による測位精度が低いと考えられるとき(例えば、携帯端末10を携帯するユーザが屋外の高層ビルに囲まれた場所にいるとき)にも自律航法測位部113による測位は有効である。そのため、携帯端末10は、例えば、GPS信号やアクセスポイントからの信号の受信状況に応じて、信号測位部112及び自律航法測位部113のどちらにより測位を行うかを切り替えることができる。
なお、以下の説明では、一例として、自律航法測位部113は、基準位置として絶対位置を用いており、さらに、信号測位部112が測位処理を行う度に、自律航法測位部113は基準位置を更新する構成とする。この場合には、自律航法測位部113は、より高精度な検知位置の出力が可能になる。
マッチング部115は、上記の基準位置から、案内中のルート又は歩行者ネットワークに沿って、自律航法測位部113により特定された相対的な移動距離だけ進めた位置を、携帯端末10の推定位置(又は携帯端末10のユーザの推定位置)として特定する。なお、基準位置からルート又は歩行者ネットワークに沿って進めるときの進行方向が不明であるときは、自律航法測位部113により出力された相対的な移動角度に最も近い方向に位置を進める。
さらに、マッチング部115は、地図情報を参照し、スキップリンクに関する情報を取得する。スキップリンクは、スキップリンクへの進入点に領域外から接続するリンクを第1リンクとし、スキップリンクからの脱出点に領域外から接続されるリンクを第2リンクとした場合、第1リンクと第2リンクとの方向差が第2閾値以下となるリンクである。さらに、スキップリンクの進入点は、後述する補正部118が待ち合わせ処理を行う方向変更点に対応する。
また、第1リンクと第2リンクとの幅は所定の値以下であることが好ましい。ここで、第1リンクと第2リンクとの幅とは、例えば進入点から第2リンクの延長線に下した垂線の長さ、又は脱出点から第1リンクの延長線に下した垂線の長さである。また、所定の値は、例えば後述する待ち合わせ距離である。なお、スキップリンクは複数のリンクから構成されてもよい。マッチング部115は、このようなスキップリンクの進入点と脱出点とを同一ノードとみなして、ルート上に推定位置を特定することができる(以下、スキップ処理とも呼ぶ。)。
スキップ処理について、マッチング部115が、第1リンク上に特定された推定位置(第1推定位置)の次に特定される推定位置(第2推定位置)を第2リンク上に特定する場合を例に説明する。マッチング部115は、第1推定位置からの相対的な移動距離を第1リンクに沿って進めた位置が、スキップリンクへの進入点を超えるか否かを判定する。進入点を超えた場合、マッチング部115は、この進入点から超過した距離分を、第2リンクに沿って脱出点から進めた位置に第2推定位置を特定することで、ユーザの推定位置をスキップリンクからスキップさせる。マッチング部115がこのようなスキップ処理を行うことによって、後述するオフルート判定部119の処理によって誤ってオフルートと判定することを抑制することができる。なお、スキップ処理の詳細については図9を用いて後述する。
図3を参照して、マッチング部115によりユーザの推定位置の特定方法の例について説明する。図3には、経路案内部111により提示された経路R(ルート)上に、基準位置A0が示されている。マッチング部115は、基準位置A0から経路Rに沿ってL1だけ進めた位置B1を、時刻t1におけるユーザの推定位置として特定する。同様に、マッチング部115は、推定位置B1から経路Rに沿ってL2だけ進めた位置B2、推定位置B2から経路Rに沿ってL3だけ進めた位置B3、推定位置B3から経路Rに沿ってL4だけ進めた位置B4をそれぞれ時刻t2、t3、t4におけるユーザの推定位置として特定する。
マッチング部115により特定された推定位置は、特定されたそれぞれの時刻におけるユーザの位置として、表示部15に表示されるように(例えば、表示部15に表示された地図上の対応する位置にユーザの位置を表示するように)制御することができる。
以上のように本実施形態によれば、マッチング部115は、自律航法測位部113による検知位置をルート上又は歩行者ネットワーク上の最も近い位置にマッチングさせる等するのではなく、自律航法測位部113により出力されたユーザの相対的な移動距離に基づいて、案内中のルート上又は歩行者ネットワーク上の位置に、ユーザの位置を特定する。
図4を参照して、本実施形態によるユーザの位置の特定方法の意義について説明する。図4には、基準位置A0、自律航法測位部113によって出力される検知位置A1、A2、A3、A4が示されている。また、C1、C2、C3、C4は、経路R上において、検知位置A1、A2、A3、A4のそれぞれから最も近い位置を示している。さらに、この例では、自律航法測位部113による測位の開始の時点でユーザの移動方向の特定に誤差があったことにより、時間の経過とともに、ユーザが実際に移動している経路Rから、自律航法測位部113による検知位置が離れていくことが示されている。このような場合において、検知位置A1、A2、A3、A4のそれぞれに対応するユーザの位置を位置C1、C2、C3、C4として特定(ルートマッチング)すると、時間の経過とともに、ルートマッチングされた結果のユーザの移動距離と、ユーザの実際の移動距離との間の誤差が累積されていくことになる。
これに対し、本実施形態によれば、マッチング部115は、自律航法測位部113による検知位置をルート上の最も近い位置にマッチングさせる等するのではなく、ユーザの相対的な移動距離に基づいたルート上の位置に、ユーザの位置を特定(マッチング)する。その結果、図4を参照して説明したような誤差の累積は生じない。その結果、より高い精度で携帯端末10の位置(又は携帯端末10のユーザの位置)を測位することができる。なお、マッチング部115は、ユーザの相対的な移動距離に基づいたマッチングの機能に加えて、自律航法測位部113による検知位置をルート上の最も近い位置にマッチングさせる機能を有していてもよい。すなわち、マッチング部115は、自律航法測位部113により特定された検知位置の情報に基づいて、任意の方法によりユーザの位置(推定位置)を特定することができる。
また、上記の誤差の累積をさらに低減させるためには、マッチング部115よる上記の処理で用いられる基準位置が所定のタイミングで更新されることが望ましい。基準位置の更新のタイミングが高頻度であるほど、上記の誤差の累積は低減される。
さらに自律航法測位部113による処理のために、センサ16により検知された携帯端末10のユーザの動きの情報の蓄積期間に応じたタイムラグ(例えば、1秒又は2秒)が生じている場合において、マッチング部115は、この蓄積期間に応じた距離で補正した位置を推定位置として出力することができる。例えば、マッチング部115は、蓄積期間が1秒である場合、特定された位置からユーザの移動方向に向かって当該蓄積期間で徒歩により移動することが想定される距離(例えば10cm)進めた位置を推定位置として出力することができる。
方向変更検知部117は、自律航法測位部113が出力した相対的な移動角度を所定の期間累積した累積値に基づいて、ユーザが曲折移動を行ったか否かを判定する。ここで、曲折移動とは、移動方向を所定角度以上変更しながらの移動である。曲折移動には、カーブしたルートを当該カーブに沿って水平方向(右又は左)に旋回しながら進む移動、及びルート上の交差点を右折又は左折しながら進む移動が含まれる。また、曲折移動には、水平方向の移動後、エレベータ又はエスカレータに乗って上方若しくは下方に移動すること、又は階段若しくはスロープ上を移動することにより、上方又は下方に移動することが含まれる。
方向変更検知部117は、自律航法測位部113から出力される相対的な移動角度の累積値が、所定の角度(以下、「曲折角度」とも呼ぶ。例えば、曲折角度は30度である。)以上になった場合に、ユーザが曲折移動を行ったと判定することができる。
補正部118は、地図上の曲がり角の地点(以下、地図上の曲がり角に対応するルート上のノードを「方向変更点」とも呼ぶ。)において、方向変更検知部117により曲折移動が行われていると判定されるまで、ユーザの推定位置を方向変更点に位置させるように調整(補正)する。なお、以下の説明では、補正部118による調整(補正)処理を待ち合わせ処理とも呼ぶ。
方向変更点は、例えば、水平方向に移動方向が変わるノードとして、ルート上のカーブ、又は目的地まで探索されたルート上において右折又は左折する交差点が含まれる。また、垂直方向に移動方向が変わる方向変更点として、ルート上のエレベータ、エスカレータ、階段、又はスロープへの進入点が含まれる。補正部118は、データベース110又は図示しない外部装置の記憶部に記憶された地図データを参照することによって、ルート上の方向変更点の位置を特定することができる。
また、補正部118は、マッチング部115により特定されたユーザの推定位置が方向変更点に特定された後、所定の期間内に曲折移動が検知されない場合、ユーザの推定位置を方向変更点上とする上記の調整を解除することができる。ここで、所定の期間は、例えば自律航法測位部113が出力した相対的な移動距離の累積値が所定の距離(以下、「待ち合わせ距離」とも呼ぶ。例えば、待ち合わせ距離は3mである。)に到達するまでの期間や、センサ16からの出力回数の累積値が所定の回数に到達するまでの期間である。この待ち合わせ距離の値は、任意に設定することができる。例えば、ユーザが移動中であるルートの幅が広いほど、待ち合わせ距離を長く設定し、移動中であるルートの幅が狭いほど、待ち合わせ距離を短く設定することができる。
なお、上述のスキップリンクにおいては、補正部118は待ち合わせ処理を行わないことが好ましい。
オフルート判定部119は、ユーザがオフルートしたか否かを判定する。また、オフルート判定部119は、オフルートした旨をユーザに通知することも可能である。オフルート判定部119は、例えば、方向変更点において、所定の期間内に方向変更検知部117が曲折移動を検知しなかった場合や、直線のルートにおいて方向変更検知部117が曲折移動を検知した場合にユーザがオフルートしたことを判定することができる。
また、オフルート判定部119は、推定位置が案内中のルート上に特定された場合であってもユーザがオフルートしたと判定することができる。例えば、自律航法測位部113により出力される検知位置又は信号測位部112により測位された現在位置が、ルートから所定の距離以上離れた場合には、オフルート判定部119は、ユーザがオフルートしたと判定することができる。
ユーザの推定位置が案内中のルートからオフルートした場合には、オフルート判定部119は、例えば自律航法測位部113により出力される検知位置又は信号測位部112により測位された現在位置を用いて、新たなルートを探索することができる。例えばオフルート判定部119は、これらの検知位置や現在位置をユーザの位置として表示させることが好ましい。なお、ここでいう新たなルートとは、元のルートから外れた歩行者ネットワーク上の他の経路をいう。
ここで、図5乃至図8を参照して、方向変更検知部117及び補正部118の処理について詳細に説明する。まず、図5及び図6を参照して、方向変更検知部117による携帯端末10のユーザの曲折移動の検知と、補正部118によるユーザの推定位置の調整方法の一例について説明する。
図5において、点D1〜点D10は、センサ16がユーザの動きの情報を検知した時点でのユーザの実際の位置を検知の順(検知時間の経過の順)に示している。方向変更検知部117は、位置D1からD10について、隣接する(矢線で結ばれた)2つの位置間における相対的な移動角度(例えば点D5と点D6とを結ぶベクトルの方向と、点D6と点D7とを結ぶベクトルの方向との差分の角度)を累積し、当該累積角度が曲折角度(例えば、30度)以上となるときを特定する。この例においては、方向変更検知部117は、位置D8の位置のときに累積角度が曲折角度以上であると特定するものとする。方向変更検知部117は、累積角度が曲折角度以上となったときである位置D8の位置においてユーザが曲折移動を行ったと判定する。
図6には、地図上の通路に対して設定され、経路案内部111による出発地から目的地までの探索の結果特定されたルートR1が示されている。点X1は、ルートR1上の方向変更点を示している。
図6(a)の点X1上に特定されている、星形で示す点P1は、図5の例において、携帯端末10のユーザをセンサ16が位置D3で検知した時点で、マッチング部115により特定されたユーザの推定位置を示している。すなわち、この例では、方向変更検知部117によりユーザの曲折移動が検知される前に、マッチング部115により特定されたユーザの推定位置が点X1上に特定されている。このとき、補正部118は、マッチング部115によりその後特定されるユーザの推定位置に関わらず(すなわち、自律航法測位部113によりその後特定される相対的な移動距離及び移動角度に関わらず)、方向変更検知部117によりユーザの曲折移動が検知されるまでユーザの推定位置を点X1上とするように調整(補正)する。
方向変更検知部117によりユーザの曲折移動が検知されたとき、補正部118は、当該曲折移動が検知された後(図5の位置D8において検知が行なわれたとき)からの自律航法測位部113によるその後の相対的な移動距離及び移動角度に応じた位置にユーザの推定位置を進めるように変更する(すなわち、ユーザの推定位置を点X1上とするようにする調整を解除する)。例えば、曲折移動が検知されたときからの自律航法測位部113による位置D9の変位(すなわち、位置D8−D9間の距離)が50cmである場合、補正部118は、曲折移動が検知された時点のユーザの推定位置から50cmだけ進めたルートR1上の位置をユーザの推定位置とするように変更する。
図6(b)において点P2は、方向変更検知部117により曲折移動が検知された後(図5の位置D8において検知が行われたとき)に、自律航法測位部113に出力された相対的な移動距離に応じて変更されたユーザの推定位置を示している。位置P2は、図5の位置D9の測位が行なわれたときに対応するユーザの推定位置である。
次に、図7及び図8を参照して、方向変更検知部117によって曲折移動が検知されずにオフルートした場合において、補正部118がユーザの推定位置補正する場合の処理の一例を説明する。
図7において、点E1〜点E10は、センサ16がユーザの動きの情報を検知した時点でのユーザの実際の位置を検知の順(検知時間の経過の順)に示している。なお、この例では、位置E1からE10について、位置E1の位置における携帯端末10のユーザの進行方向を基準としたときに、隣接する(矢線で結ばれた)2つの位置間における進行方向の変化の累積角度が曲折角度(例えば、30度)以上とはならない。従って、位置E1からE10からユーザの移動については、方向変更検知部117は曲折移動であるとは判定しない。
図8(a)には、地図上の通路に対して設定され、経路案内部111による出発地から目的地までの探索の結果特定されたルートR2が示されている。点X2は、ルートR2上の方向変更点を示している。点X2上に特定されている、星形で示す点P3は、図7の例において、携帯端末10のユーザを位置E3で検知した時点でマッチング部115により特定されたユーザの推定位置を示している。
このとき、補正部118は、まず、マッチング部115により特定されたユーザの推定位置が点X2上に特定された後、方向変更検知部117による曲折移動の検知を監視する。自律航法測位部113に出力された相対的な移動距離の累積値が待ち合わせ距離以内である間に曲折移動が検知されない場合、補正部118は、ユーザの推定位置を点X2上とする上記の調整を解除する。そして、補正部118は、ユーザの推定位置が点X2上に特定されたときからの自律航法測位部113に出力された相対的な移動距離に基づいたルートR2外の位置にユーザの推定位置を変更する。
図8(b)には、図8(a)の例におけるユーザの推定位置を点X2上とする補正部118による上記の調整の解除後、変更されたユーザの推定位置である位置P4(図8(b)においては星形で示す位置である。)が示されている。位置P4は、ユーザの推定位置が点X2上に特定されたときからの自律航法測位部113に出力された相対的な移動距離(例えば、測位位置E3からE7への変位)に基づいた位置であり、ルートR2とは異なるルートR3上の位置である。ルートR3は、ユーザの移動がルートR2から外れたことにより通路上に新たに設定されたルートであり、ユーザが点X2上に特定されたときの進行方向に延びるルートである。なお、このとき、オフルート判定部119は、ユーザは、ルートR2を外れて移動している(すなわち、ルートR2に沿って曲がるべき交差点を曲がらずに直進している)と判断し、ルートR2を外れている(オフルートした)旨をユーザに通知する。
次に、図9を用いて上述のスキップ処理の詳細について説明する。図9(A)(B)において、破線は、3つのリンクS1、リンクS2、リンクS3から構成されたルートR10の一部を示している。また、領域Aは、スキップリンクを示している。
図9(A)の点P5はリンクS1とリンクS2との接続点(ノード)であり、点P6はリンクS2とリンクS3との接続点である。即ち、点P5がスキップリンクAへの進入点であり、点P6がスキップリンクAからの脱出点である。
スキップリンクAは、少なくとも1つ以上のリンク(図9(A)の例は単一のリンクS2)から構成されている。また、スキップリンクAへの進入点P5に領域外から接続されるリンクS1の方向と、スキップリンクAからの脱出点P6に領域外から接続されるリンクS3の方向との差が第2閾値以下である。第2閾値は、例えば45度程度であることが好ましい。この場合、スキップ処理を行った場合に、移動方向に誤差が生じることを低減することができる。また、リンクS1からリンクS3までの距離は、待ち合わせ距離以下であることが好ましい。リンクS1からリンクS3までの距離は、例えば点P5からリンクS3の延長線へ下した垂線の長さ、または点P6からリンクS1の延長線へ下した垂線の長さ(図9の例では点P5から点P6までの距離)をいう。なお、図9(A)の例では、スキップリンクは単一のリンクから構成されるがこれに限定されない。スキップリンクは複数のリンクから構成されてもよい。
図9(A)(B)を参照して、このようなスキップリンクにユーザが進入した際、仮に携帯端末10が上述のスキップ処理を行わない場合に生じうる不具合について説明する。上述のとおりスキップリンクは長さが第1閾値以下の距離の短い領域である。このような領域を実際に歩行する場合、ユーザはリンクに沿った経路では移動しない場合がある。例えば、ユーザは、図9(B)に示すように、リンクS2を経由せずにリンクS1からリンクS3へとショートカットして移動することが想定される。
このとき、補正部118が待ち合わせ処理を行った場合、ユーザがリンクS1からリンクS3へとショートカットして移動するため、ユーザの移動角度の累積値は所定の曲折角度には到達しない。その結果、方向変更検知部117は曲折移動を検知しないため、補正部118が点P5において待ち合わせ処理を続けてしまい、最終的にオフルート判定部119が誤ってユーザがオフルートしたと判定してしまう。
本実施形態に係るマッチング部115は、スキップリンクの進入点と脱出点とは同一ノードであるとみなして、推定位置を特定する。例えば、推定位置が図9(A)における地点U1に特定された後に、図9(B)に示すように、ユーザがリンクS1からリンクS3へとショートカットを行った場合における、自律航法測位部113が出力した相対的な移動距離がL1であったとする。このときマッチング部115は、距離L1から、地点U1から点P5までの距離L2を引いた距離(L1−L2)をリンクS3に沿って点P6に足した位置に、ユーザの推定位置点U2を特定する。このとき補正部118は待ち合わせ処理を行わない。これによって、オフルート判定部119の誤判定を抑制することができる。
図2に戻って、携帯端末10の機能の続きを説明する。
表示制御部116は、表示部15に対する各種情報及び画像の表示の制御を行う。例えば、表示制御部116は、マッチング部115により特定されたユーザの推定位置又は補正部118により変更されたユーザの推定位置を表示部15に表示するように制御する。例えば、表示制御部116は、地図画像中のユーザの推定位置を示す位置に画像(例えば、丸形状又は三角形状の画像)を表示することができる。
すなわち、本実施形態によれば、携帯端末10はユーザの推定位置を表示する表示装置として機能する。また、表示制御部116は、センサ16により検知されたユーザの動きの情報に基づいて自律航法測位部113により取得されたユーザの位置の情報である検知位置の情報と、センサ16により検知されたユーザの動きの情報に基づいて方向変更検知部117により取得されたユーザの移動方向の変更角度の情報とに応じて、ユーザの推定位置を示す画像を表示部15に表示する。
具体的として、表示制御部116は、地図におけるルート上の位置であって、自律航法測位部113により出力された検知位置の情報に基づいてマッチング部115により特定された第1の位置に画像(ユーザの推定位置を示す画像)を表示するように制御する。マッチング部115により特定された第1の位置が方向変更点上に特定された場合、自律航法測位部113により出力された検知位置の情報に関わらず、表示制御部116は、ユーザの移動方向の変更角度の累積値が所定角度以上になるまで画像(ユーザの推定位置を示す画像)を方向変更点上に表示するように制御する。
[処理フロー]
次に、図10を参照して、携帯端末10において実行されるスキップ処理のフローの一例を説明する。なお、以下に説明する処理フローに含まれる各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して又は並列に実行することができるとともに、各処理ステップ間に他のステップを追加してもよい。また、便宜上1ステップとして記載されているステップは、複数ステップに分けて実行することができる一方、便宜上複数ステップに分けて記載されているものは、1ステップとして把握することができる。また、各処理ステップは、制御部11において、CPU11aが記憶部13等に記憶されたプログラムをメモリ11bに展開して実行することにより行われる。なお、各処理ステップの処理の詳細は、図2を参照して既に説明しているため省略する。
まず、ステップS11において、自律航法測位部113は、センサ16からの情報に基づいてユーザの動きの情報を取得し、相対的な移動距離及び移動角度を出力する。自律航法測位部113は、当該処理を継続して(例えば、1秒ごとに)行う。
ステップS12において、マッチング部115は、ステップS11で出力された相対的な移動距離及び移動角度に基づいて、ユーザの位置(推定位置)を特定する。マッチング部115は、当該推定位置の特定の処理をセンサ16によって動きの情報が取得される度に継続して行う。
ステップS13において、マッチング部115は、地図情報を参照して、ステップS12で特定された携帯端末10のユーザの推定位置がスキップリンクへの進入点近傍に位置していることを検知する。
ステップS14において、マッチング部115は、スキップリンクの進入点と脱出点とを同一ノードとみなして、ユーザの推定位置を特定する。
以上のように本実施形態によれば、マッチング部115は、スキップリンクへの進入点と、スキップリンクからの脱出点とを同一ノードとみなして、ルート上に推定位置を特定する。その結果、スキップリンクにおいて、ユーザがオフルートしたと誤判定することを抑制し、より高い精度でユーザの位置を測位することが可能となる。
本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。
また、本発明のプログラムは、CD−ROM等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。