以下、本発明の実施形態について、図面を参照しつつ詳細に説明する。以下の実施形態は、本発明を説明するための例示であり、本発明をその実施形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。さらに、当業者であれば、以下に述べる各要素を均等なものに置換した実施形態を採用することが可能であり、かかる実施形態も本発明の範囲に含まれる。
本発明の実施形態に係る情報処理装置は目的地までの経路(以下、経路案内を行う際に、ユーザに提示する経路を「ルート」ともいう。)を案内する機能や、ユーザの位置に関する情報を、地図上において歩行者が通過することが想定される歩行者ネットワーク上や、ルート上に表示させる機能を有している。
本実施形態において、ルート及び歩行者ネットワークには、道路、広場、並びに屋内及び地下の廊下などに設定される、ユーザが移動可能なあらゆる経路が含まれる。
図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、マッチング部114、表示制御部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内に構築され、携帯端末10の動き(携帯端末10を保持するユーザの動き)の情報を所定の間隔(例えば、1秒毎)で検知するように、センサ16を制御する。
また、自律航法測位部113は、検知された携帯端末10の動きの情報に基づいて、センサ16が前回検知した時点から今回検知した時点までの間における、ユーザが移動した歩数及び方向を特定する。そして、自律航法測位部113は、特定した歩数及び方向に基づいて、前回の検知時点から今回の検知時点までの相対的な移動距離及び移動角度を算出し出力する。このとき、自律航法測位部113は、移動距離を算出する際に、例えば人の歩行時の標準的な歩幅(例えば、65cm。もしくは、予め測定された携帯端末10のユーザの歩幅。)に、上述した特定された歩数を乗ずることとしてもよい。
ここで、以下の説明においては、自律航法測位部113が出力する、センサ16の前回の検知時点から今回の検知時点までの移動距離及び移動角度を、「相対的な移動距離及び移動角度」ということにする。
さらに、自律航法測位部113は、信号測位部112が測位した所定の位置(以下、「基準位置」ともいう。)からの移動距離及び移動角度の情報に基づいて、携帯端末10の基準位置からの相対的な現在位置を測位し、検知位置の情報として出力することも可能である。なお、自律航法測位部113は検知位置の情報を検知時間の情報とともに出力することが好ましい。また、自律航法測位部113は、センサ16により検知された標高の情報に基づいて、垂直方向の移動距離を算出することも可能である。
基準位置として、例えば、信号測位部112の測位処理により取得した絶対位置(緯度経度により示される位置)や、ユーザの入力により取得した位置を用いる。また、後述するマッチング部114によりルート上において特定された推定位置を基準位置として用いてもよい。
なお、自律航法測位部113により出力される検知位置の情報は、携帯端末10がGPS信号やアクセスポイントからの信号を受信できないとき(例えば、携帯端末10を携帯するユーザが屋内や地下にいるとき)に有効となる。また、携帯端末10が上記各信号を受信できるが信号測位部112による測位精度が低いと考えられるとき(例えば、携帯端末10を携帯するユーザが屋外の高層ビルに囲まれた場所にいるとき)にも自律航法測位部113により出力される検知位置の情報は有効となる。そのため、携帯端末10は、例えば、GPS信号やアクセスポイントからの信号の受信状況に応じて、信号測位部112及び自律航法測位部113のどちらにより測位を行うかを切り替えることができる。
なお、以下の説明では、例示的に、自律航法測位部113は、基準位置として絶対位置を用い、信号測位部112が測位処理を行う度に、基準位置を更新することとする。この場合、自律航法測位部113は、より高精度な検知位置の出力が可能となる。
マッチング部114は、上記の基準位置から、案内中のルート又は歩行者ネットワークに沿って、自律航法測位部113により特定された相対的な移動距離だけ進めた位置を、携帯端末10の推定位置(又は携帯端末10のユーザの推定位置)として特定する。なお、基準位置からルート又は歩行者ネットワークに沿って進めるときの進行方向が不明であるときには、自律航法測位部113により出力された相対的な移動角度に最も近い方向に位置を進める。
図3を参照して、マッチング部114がユーザの推定位置を特定する方法の一例を説明する。L1、L2、L3、L4は、自律航法測位部113により特定された相対的な移動距離である。図3には、経路案内部111により提示された経路R(ルート)上に、基準位置A0が示されている。マッチング部114は、基準位置A0から経路Rに沿ってL1だけ進めた位置B1を、時刻t1におけるユーザの推定位置として特定する。同様に、マッチング部114は、推定位置B1から経路Rに沿ってL2だけ進めた位置B2、位置B2から経路Rに沿ってL3だけ進めた位置B3、位置B3から経路Rに沿ってL4だけ進めた位置B4を、それぞれ時刻t2、t3、t4におけるユーザの推定位置として特定する。
マッチング部114により特定された推定位置は、特定されたそれぞれの時刻におけるユーザの位置として、表示部15に表示される。例えば、表示部15に表示された地図上の対応する位置にユーザの位置が表示される。
以上のように本実施形態によれば、マッチング部114は、自律航法測位部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として特定(ルートマッチング)すると、時間の経過とともに、ルートマッチングされた結果のユーザの移動距離と、ユーザの実際の移動距離との間の誤差が累積されていくことになる。
これに対し、本実施形態によれば、マッチング部114は、自律航法測位部113による検知位置をルート上の最も近い位置にマッチングさせるのではなく、ユーザの相対的な移動距離に基づいたルート上の位置に、ユーザの位置を特定(マッチング)する。その結果、図4を参照して説明したような誤差の累積は生じない。それゆえ、より高い精度で携帯端末10の位置(又は携帯端末10のユーザの位置)を測位することができる。
なお、マッチング部114は、ユーザの相対的な移動距離に基づいたマッチングの機能に加え、自律航法測位部113による検知位置をルート上の最も近い位置にマッチングさせる機能を有していてもよい。すなわち、マッチング部114は、自律航法測位部113により特定された検知位置の情報に基づいて、任意の方法によりユーザの位置(推定位置)を特定することとしてもよい。
また、上記の誤差の累積をさらに低減させるためには、マッチング部114よる上記の処理で用いられる基準位置が所定のタイミングで更新されることが望ましい。基準位置の更新のタイミングが高頻度であるほど、上記の誤差の累積は低減されることになる。
さらに自律航法測位部113による処理のために、センサ16により検知された携帯端末10のユーザの動きの情報の蓄積期間に応じたタイムラグ(例えば、1秒又は2秒)が生じている場合に、マッチング部114は、この蓄積期間に応じた距離で補正した位置を推定位置として出力することができる。例えば、マッチング部114は、蓄積期間が1秒である場合、特定された位置からユーザの移動方向に向かって、当該蓄積期間で徒歩により移動することが想定される距離(例えば10cm)の分だけさらに進めた位置を推定位置として出力することができる。
図2の説明に戻る。方向変更検知部116は、自律航法測位部113が出力した相対的な移動角度を、所定の期間累積した累積値に基づいて、ユーザが曲折移動を行ったか否かを判定する。この累積値(相対的な移動角度の累積値)は、前回の移動角度(移動方向)と今回の移動角度(移動方向)との差分の角度を、所定の期間、累積して求める。ここで、曲折移動とは、移動方向を所定角度以上変更しながら移動することをいう。
曲折移動には、カーブしたルートを当該カーブに沿って水平方向(右又は左)に旋回しながら進む移動、及びルート上の交差点を右折又は左折しながら進む移動が含まれる。また、曲折移動には、水平方向の移動後、エレベータ又はエスカレータに乗って上方若しくは下方に移動すること、又は階段若しくはスロープ上を移動することにより、上方又は下方に移動することが含まれる。
上記相対的な移動角度を累積する際の所定の期間は、例えば、所定数(例えば、10か所)の位置が検知されるのに要する時間、又は所定の距離(例えば、1m)を移動するのに要する時間を考慮して任意に設定することができる。
方向変更検知部116は、自律航法測位部113から出力される相対的な移動角度の累積値が、所定の角度(以下、「曲折角度」ともいう。例えば30度)以上になった場合に、ユーザが曲折移動したことを検知する。
補正部117は、地図情報を参照し、マッチング部114により特定されたユーザの推定位置が、後述する移動方向変更地点に到達したときに、方向変更検知部116により曲折移動が検知されるまで、ユーザの推定位置を移動方向変更地点とするように調整(補正)する。なお、以下において、補正部117による調整(補正)処理を「待ち合わせ処理」ともいう。
ここで、上記移動方向変更地点は、ルートに沿って移動したときに移動方向が変わるルート上の地点である。移動方向変更地点には、水平方向に移動方向が変わる地点として、例えば、ルート上のカーブが存在する地点、又は目的地まで探索されたルート上において右折又は左折する交差点が含まれる。
また、垂直方向に移動方向が変わる移動方向変更地点として、ルート上のエレベータ、エスカレータ、階段、又はスロープが存在する地点が含まれる。補正部117は、データベース110又は図示しない外部装置の記憶部に記憶された地図データを参照することによって、ルート上の移動方向変更地点を特定する。
また、補正部117は、マッチング部114により特定されたユーザの推定位置が移動方向変更地点に到達した後、所定の期間内に曲折移動が検知されない場合に、ユーザの推定位置を移動方向変更地点とする上記の調整を解除することができる。
ここで、上記の所定の期間として、例えば自律航法測位部113が出力した相対的な移動距離の累積値が、所定の距離(以下、「待ち合わせ距離」ともいう。例えば3m)に到達するまでの期間や、センサ16からの出力回数の累積値が所定の回数に到達するまでの期間を用いることができる。この待ち合わせ距離は、任意に設定することができる。例えば、ユーザが移動中であるルートの幅が広いほど、待ち合わせ距離を長く設定し、移動中であるルートの幅が狭いほど、待ち合わせ距離を短く設定することができる。
図5及び図6を参照し、方向変更検知部116による携帯端末10のユーザの曲折移動の検知、及び補正部117によるユーザの推定位置の調整方法の一例について説明する。
図5において、位置D1〜位置D10は、センサ16がユーザの動きの情報を検知した時点でのユーザの実際の位置を、検知の順(検知時間の経過の順)に示している。方向変更検知部116は、位置D1から位置D10について、隣接する(矢線で結ばれた)2つの位置間における相対的な移動角度を累積し、当該累積角度が曲折角度(例えば、30度)以上となるかどうかを判定する。この累積角度は、隣接する一方の位置における移動角度(移動方向)と他方の位置における移動角度(移動方向)との差分の角度を順次累積して求める。
この例においては、方向変更検知部116は、位置D8の位置のときに累積角度が曲折角度以上であると判定することとする。つまり、方向変更検知部116は、累積角度が曲折角度以上となった位置D8の位置において、ユーザが曲折移動を行ったと検知する。
図6には、地図上の通路に対して設定され、経路案内部111による出発地から目的地までの探索の結果特定されたルートR1が示されている。X1は、ルートR1上の移動方向変更地点を示している。
図6(a)の移動方向変更地点X1における位置P1は、携帯端末10のユーザが、図5の位置D3で検知されたときに、マッチング部114により特定されたユーザの推定位置を示している。すなわち、この例では、方向変更検知部116によりユーザの曲折移動が検知される前に、マッチング部114により特定されたユーザの推定位置が移動方向変更地点X1内に到達している。
このとき、補正部117は、マッチング部114によりその後特定されるユーザの推定位置に関わらず(すなわち、自律航法測位部113によりその後特定される相対的な移動距離及び移動角度に関わらず)、方向変更検知部116によりユーザの曲折移動が検知されるまでユーザの推定位置を移動方向変更地点X1とするように調整(補正)する。
方向変更検知部116によりユーザの曲折移動が検知されたとき(図5の位置D8において検知が行なわれたとき)、補正部117は、ユーザの推定位置を移動方向変更地点X1とするようにする調整を解除する。具体的に、方向変更検知部116は、図5の位置D8において検知が行なわれたときの位置から、その後の律航法測位部113による相対的な移動距離及び移動角度に応じた位置に、ユーザの推定位置を進めるように変更する。
例えば、位置D8で曲折移動が検知されたときからの自律航法測位部113による位置D9の変位(すなわち、位置D8と位置D9との間の距離)が50cmである場合、補正部117は、曲折移動が検知された時点のユーザの推定位置から50cmだけ進めたルートR1上の位置をユーザの推定位置とするように変更する。
図6(b)における位置P2は、位置D8において方向変更検知部116により曲折移動が検知された後に、自律航法測位部113から出力された相対的な移動距離に応じて変更されたユーザの推定位置を示している。つまり、位置P2は、図5の位置D9の測位が行なわれたときに対応するユーザの推定位置である。
図2の説明に戻る。オフルート判定部118は、ユーザがルートから外れているか(オフルートしたか)否かを判定する。オフルート判定部118は、オフルートした旨をユーザに通知することもできる。オフルート判定部118の判定方法について、以下に具体的に説明する。
オフルート判定部118は、移動方向変更地点において、所定の期間内に方向変更検知部116が曲折移動を検知しなかった場合や、直線のルートにおいて方向変更検知部116が曲折移動を検知した場合に、ユーザがオフルートしたと判定することができる。
また、オフルート判定部118は、推定位置が案内中のルート上に特定された場合であってもオフルートしたと判定することができる。例えば、自律航法測位部113により出力される検知位置又は信号測位部112により測位された現在位置が、ルートから所定の距離以上離れた場合に、オフルート判定部118は、ユーザがオフルートしたと判定する。
ユーザの推定位置が案内中のルートからオフルートした場合、オフルート判定部118は、自律航法測位部113により出力される検知位置又は信号測位部112により測位された現在位置を用い、新たなルートを探索することができる。この場合、オフルート判定部118は、これらの検知位置や現在位置を、ユーザの位置として表示させることが好ましい。なお、ここでいう新たなルートとは、元のルートから外れた歩行者ネットワーク上の他の経路をいう。
図7及び図8を参照し、方向変更検知部116によって曲折移動が検知されずにオフルートした場合に、補正部117がユーザの推定位置を補正する際の一例について説明する。
図7において、位置E1〜位置E10は、センサ16がユーザの動きの情報を検知した時点でのユーザの実際の位置を、検知の順(検知時間の経過の順)に示している。この例では、位置E1から位置E10について、位置E1の位置における携帯端末10のユーザの進行方向を基準としたときに、隣接する(矢線で結ばれた)2つの位置間における進行方向の変化に基づく累積角度が曲折角度(例えば30度)以上にはならない。従って、位置E1から位置E10までのユーザの移動については、方向変更検知部116は曲折移動であるとは判定しない。
図8(a)には、地図上の通路に対して設定され、経路案内部111による出発地から目的地までの探索の結果特定されたルートR2が示されている。X2は、ルートR2上の移動方向変更地点を示している。移動方向変更地点X2における位置P3は、携帯端末10のユーザが、図7の位置E3で検知されたときに、マッチング部114により特定されたユーザの推定位置を示している。
このとき、補正部117は、マッチング部114により特定されたユーザの推定位置が移動方向変更地点X2に到達した後、方向変更検知部116による曲折移動の検知の有無を監視する。そして、自律航法測位部113から出力された相対的な移動距離の累積値が待ち合わせ距離以内である間に曲折移動が検知されない場合に、補正部117は、ユーザの推定位置を移動方向変更地点X2とする上記の調整を解除する。
さらに、補正部117は、ユーザの推定位置が移動方向変更地点X2に到達した後に自律航法測位部113から出力された相対的な移動距離に基づくルートR2外の位置に、ユーザの推定位置を変更する。
図8(b)には、図8(a)の例におけるユーザの推定位置を移動方向変更地点X2とする補正部117による上記の調整が解除された後に、変更されたユーザの推定位置となる位置P4が示されている。位置P4は、ユーザの推定位置が移動方向変更地点X2に到達した後に自律航法測位部113から出力された相対的な移動距離(例えば、測位位置E3からE7への変位)に基づいた位置であり、ルートR2とは異なる歩行者ネットワーク上の位置である。
ユーザの推定位置が位置P4に変更されるとき、オフルート判定部118は、ユーザがルートR2を外れて移動している(すなわち、ルートR2に沿って曲がるべき交差点を曲がらずに進行している)と判断し、ルートR2を外れている(オフルートした)旨をユーザに通知する。
図2の説明に戻る。禁止/解禁制御部119は、以下に説明する禁止/解禁処理を行う。禁止/解禁制御部119は、オフルート判定部118による判定を禁止する区間として設定された判定禁止区間内にユーザの推定位置が進入した場合に、オフルート判定部118による判定を禁止する。また、禁止/解禁制御部119は、ユーザの推定位置が判定禁止区間から退出した場合に、オフルート判定部118による判定の禁止を解除する。判定禁止区間は、例えば、地図データに付随するデータとして予め設定することとしてもよいし、ユーザに提示するルートを決定する際に設定することとしてもよい。
ここで、曲がり角が連続する区間や螺旋階段上などをユーザが移動する場合、曲がった回数を正確に検知できないことや、累積角度が曲折角度以上にならずに曲折移動を検知できないことなどを要因として、ユーザがオフルートしたと誤判定されることがある。このような曲がり角が連続する区間や螺旋階段などを、判定禁止区間に設定することで、ユーザがオフルートしたと誤判定される可能性を低減させることができる。
図9を参照して判定禁止区間を設定する際の一例について説明する。図9には、地図上の通路に対して設定され、経路案内部111による出発地から目的地までの探索の結果特定されたルートR3が示されている。
X3は、ルートR3上のP5とP10との間に設定された判定禁止区間を示している。判定禁止区間X3にあるP5は、判定禁止区間X3への進入点である。進入点P5は、曲がった先に、所定の第1距離(例えば5m)以上の直進ルートが続いていない曲がり地点である。図9では、進入点P5と曲がり地点P6との間の距離が、第1距離未満となる。
判定禁止区間X3にあるP10は、判定禁止区間X3からの退出点である。退出点P10は、曲がった先に、所定の第2距離(例えば20m)以上となる直進ルートが続いている曲がり地点である。図9では、退出点P10を曲がった先に続くルートが、第2距離以上の直進ルートとなる。
判定禁止区間は、進入点と退出点とに基づいて、任意に設定(定義)することができる。進入点と退出点との間に一つ以上の他の曲がり地点を含めることができる。
図9では、進入点P5と退出点P10との間に、他の曲がり地点として4つの曲がり地点P6、P7、P8、P9が含まれている。図9では、曲がり地点P6と曲がり地点P7との間、曲がり地点P7と曲がり地点P8との間、曲がり地点P8と曲がり地点P9との間、曲がり地点P9と退出点P10との間の距離は、全て第1距離未満となっている。
なお、他の曲がり地点間、及び他の曲がり地点と退出点との間の距離は、第1距離未満であることに限定されず、第1距離以上第2距離未満であってもよい。
ここで、禁止/解禁制御部119は、判定禁止区間内にユーザの推定位置が進入したことを、ユーザの推定位置が進入点P5に到達したか否かで判定することとしてもよい。また、禁止/解禁制御部119は、ユーザの推定位置が判定禁止区間から退出したことを、ユーザの推定位置が退出点P10に到達したか否かで判定することとしてもよい。
つまり、禁止/解禁制御部119は、ユーザの推定位置が、進入点P5に到達した場合に、オフルート判定部118による判定を禁止する一方、ユーザの推定位置が、退出点P10に到達した場合に、オフルート判定部118による判定の禁止を解除することができる。
なお、禁止/解禁制御部119は、ユーザの推定位置が、退出点P10に到達し、かつ、退出点P10の先に続く直進ルートを所定の第3距離(例えば、2〜3m)以上直進した位置に特定された場合に、オフルート判定部118による判定の禁止を解除することとしてもよい。
また、禁止/解禁制御部119は、オフルート判定部118による判定を禁止する際に、補正部117による調整をあわせて禁止することとしてもよく、この場合、オフルート判定部118による判定の禁止を解除する際に、補正部117による調整の禁止をあわせて解除することとすればよい。
図2の説明に戻る。表示制御部115は、表示部15に対する各種情報及び画像の表示の制御を行う。例えば、表示制御部115は、マッチング部114により特定されたユーザの推定位置又は補正部117により変更されたユーザの推定位置を表示部15に表示するように制御する。例えば、表示制御部115は、地図画像中のユーザの推定位置を示す位置に画像(例えば、丸形状又は三角形状の画像)を表示することができる。
次に、図10を参照して、携帯端末10において実行される禁止/解禁処理のフローについて、その一例を説明する。なお、以下に説明する処理フローに含まれる各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して又は並列に実行することができるとともに、各処理ステップ間に他のステップを追加してもよい。また、便宜上1ステップとして記載されているステップは、複数ステップに分けて実行することができる一方、便宜上複数ステップに分けて記載されているものは、1ステップとして把握することができる。また、各処理ステップは、制御部11において、CPU11aが記憶部13等に記憶されたプログラムをメモリ11bに展開して実行することにより行われる。
最初に、制御部11は、自律航法を開始する(ステップS101)と、前回の検知時点から今回の検知時点までの相対的な移動距離及び移動角度をセンサモジュールから取得する(ステップS102)。
続いて、制御部11は、上記ステップS102で取得した相対的な移動距離及び移動角度に基づいて、ユーザの推定位置を特定する(ステップS103)。
続いて、制御部11は、上記ステップS103で特定したユーザの推定位置が判定禁止区間内であるか否かを判定する(ステップS104)。この判定がNOである場合(ステップS104;NO)には、上記ステップS102に処理を戻す。
一方、上記ステップS104の判定でユーザの推定位置が判定禁止区間内であると判定した場合(ステップS104;YES)に、制御部11は、オフルートの判定を禁止する(ステップS105)。
続いて、制御部11は、前回の検知時点から今回の検知時点までの相対的な移動距離及び移動角度をセンサモジュールから取得する(ステップS106)。
続いて、制御部11は、上記ステップS106で取得した相対的な移動距離及び移動角度に基づいて、ユーザの推定位置を特定する(ステップS107)。
続いて、制御部11は、上記ステップS107で特定したユーザの推定位置が判定禁止区間外であるか否かを判定する(ステップS108)。この判定がNOである場合(ステップS108;NO)には、上記ステップS106に処理を戻す。
一方、上記ステップS108の判定でユーザの推定位置が判定禁止区間外であると判定した場合(ステップS108;YES)に、制御部11は、オフルートの判定の禁止を解除する(ステップS109)。そして、上記ステップS102に処理を戻す。
上述したように、本実施形態における携帯端末10によれば、センサモジュールから所定の間隔で出力される、前回の検知時点から今回の検知時点までのユーザの相対的な移動距離及び移動角度に基づいて、出発地から目的地までのルート上におけるユーザの推定位置を特定し、ユーザがオフルートしたか否かを判定(オフルート判定)することができるとともに、ユーザの推定位置が判定禁止区間に進入した場合には、オフルート判定を禁止する一方、ユーザの推定位置が判定禁止区間から退出した場合には、オフルート判定の禁止を解除することができる。
これにより、例えば、曲がり角が連続する区間や螺旋階段などを判定禁止区間として予め設定しておくことで、曲がり角が連続する区間や螺旋階段などをユーザが移動している際に誤ってオフルートしたと判定される可能性を低減させることができる。すなわち、オフルートの判定精度を向上させることが可能となる。
本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。
また、本発明のプログラムは、CD−ROM等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。