(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
次に、本発明を実施するための形態について、図面を参照して詳細に説明する。
実施の形態
【0014】
以下、本発明の実施形態について、図面を参照しつつ詳細に説明する。ただし、発明の範囲をこれらに限定するものではない。
【0015】
図1は、本発明の実施の形態による携帯端末(情報処理装置)10のハードウェア構成を示すブロック図である。携帯端末10は、携帯電話機(スマートフォンを含む)、タブレット端末、PDA(Personal Digital Assistants)、ナビゲーション専用端末、パーソナルコンピュータなどである。
図1に示すように、携帯端末10は、制御部11、通信部12、記憶部13、操作部14、表示部15、センサ16及びスピーカ17を備えている。制御部11は、CPU(Central Processing Unit)11a及びメモリ11bを備えている。
【0016】
制御部11では、CPU11aは、記憶部13等に記憶されたプログラムをメモリ11bに展開して実行することにより、携帯端末10が備える各種構成の動作を制御し、また、各種処理の実行を制御する。制御部11において実行される処理の詳細は後述する。
【0017】
通信部12は、外部装置と通信するための通信インタフェースである。通信部12は、例えば、外部装置からデータやコマンドを受信したり、携帯端末10による処理結果を外部へ送信する。
【0018】
記憶部13は、不揮発性の記憶装置であり、例えば、半導体メモリ等により構成される。記憶部13は、制御部11における処理の実行に必要な各種プログラムや各種の情報を記憶する。
【0019】
操作部14は、携帯端末10のユーザの指示を受け付け、制御部11へ出力するためのユーザインタフェースである。操作部14は、例えば、操作キー、及びタッチパネルなどにより構成される。
【0020】
表示部15は、携帯端末10による処理結果を表示するためのユーザインタフェースである。表示部15は、液晶、又はLED(Light Emitting Diode)などを用いた表示装置により構成される。
【0021】
センサ16は、各種のセンサにより構成される。センサ16は、例えば、ジャイロセンサ、加速度センサ、地磁気センサ、及び気圧センサ等を含むことができる。センサ16は、携帯端末10を携帯するユーザの各種の動作を検知することができる。
【0022】
スピーカ17は、制御部11による処理制御に応じて、音声、音楽及び効果音など、各種の音を出力する。
【0023】
なお、本実施形態では、単一の情報処理装置により携帯端末10を構成しているが、これに限定せず、相互に通信可能な複数の情報処理装置により、携帯端末10が有する構成及び機能を実現してもよい。
【0024】
図2は、携帯端末10の機能構成を示すブロック図である。携帯端末10は、機能構成として、データベース110、経路案内部111、信号測位部112、自律航法測位部113、測位情報取得部114、位置推定部115、表示制御部116を備える。データベース110は、記憶部13によって実装される。また、経路案内部111、信号測位部112、自律航法測位部113、測位情報取得部114、位置推定部115、および表示制御部116の機能は、制御部11において、CPU11aが、記憶部13等に記憶されたプログラムをメモリ11bに展開して実行することにより実現される。以下に、携帯端末10が備える各機能構成の詳細を説明する。
【0025】
データベース110は、携帯端末10において実行される処理に必要な情報、及び当該処理により生成された情報など、各種情報を記憶する。
【0026】
経路案内部111は、入力された経路探索条件に従った出発地から目的地までの案内経路の情報を取得し、表示部15を介して当該案内経路を提示すること等により、ユーザに対して経路案内を行う。本実施形態において、案内経路には、道路、広場、並びに屋内及び地下の廊下などに設定される、ユーザが移動可能なあらゆる経路が含まれる。
【0027】
案内経路の探索に関し、経路案内部111は、例えば、ユーザにより入力された経路探索条件に従って、データベース110に記憶された(または通信部12を介して外部装置から取得した)地図データ等を参照し、経路探索を実行することにより、案内経路の情報を取得する。もしくは、入力された経路探索条件に従った経路探索の処理を外部装置により行い、経路案内部111は、当該経路探索の処理結果を取得することとしてもよい。経路探索の手法としてはラベル確定法やダイクストラ法など、任意の手法を利用することができる。なお、最適な経路とは、出発地点から目的地点までのコスト情報が最小であることをいう。リンクのコスト情報は、距離、所要時間、料金、その他のパラメータ、及び各種パラメータを任意に組み合わせたもの等、目的に応じて設定可能である。
【0028】
また、経路案内部111は、経路案内のために、表示部15を介した経路の提示と共に、後述する処理により特定されたユーザの現在地の情報の表示及びスピーカ17を介した音声案内の出力を行うこともできる。
【0029】
信号測位部112は、GPS受信機(図示せず)により受信したGPS衛星信号に基づいて、携帯端末10(又は携帯端末10のユーザ)の現在位置を測位し、測位した位置の情報(例えば、緯度及び経度の情報)を測位時間の情報と共に出力する。また、信号測位部112は、携帯端末10の近くに設置されたアクセスポイントから受信した信号に応じて、携帯端末10の現在位置を測位することができる。また、携帯端末10は、RFID(Radio Frequency Identifier)やBluetooth(登録商標)等の無線信号の発信装置の信号を受信し、当該受信した信号に応じて、携帯端末10の現在位置を測位することもできる。信号測位部112は、任意のタイミング及び時間間隔(例えば、1秒毎)で測位の処理を行う。以下、本実施形態において、このようにGPS衛星信号、アクセスポイントからの信号、及びRFIDの無線信号など、外部装置から受信した信号に応じて実施される測位処理を信号測位と称する。
【0030】
自律航法測位部113は、センサ16により検知された携帯端末10のユーザの動きの情報に基づいて、携帯端末10(又は携帯端末10のユーザ)の移動距離や移動方向、位置情報(緯度及び経度の情報)を自律航法により測定し、測位情報として測位時間の情報と共に出力する。自律航法測位部113は、任意のタイミング及び時間間隔(例えば、1秒毎)で測位の処理を行う。自律航法測位部113による測位は、センサ16等を用いた任意の自律航法技術を採用することができる。
【0031】
測位を行うために、自律航法測位部113は、例えば、センサ16により検知されたユーザの動きによりユーザの歩行移動時における基準位置(前回の測位時点で特定された測位位置)からの移動の歩数及び移動方向を特定し、特定された歩数及び移動方向に基づいて、基準位置からの相対的な移動距離及び移動方向の情報を算出する。当該相対的な移動距離は、例えば、人の歩行時の標準的な歩幅(若しくは予め測定された携帯端末10のユーザの歩幅)(例えば、65cm)に対して、上記特定された歩数を乗じることによって算出される。移動方向の情報は、前回の測位時点からの相対的な移動方向(角度)の変位を示している。
【0032】
自律航法測位部113は、基準位置からの当該算出された移動距離及び移動方向の情報に基づいて携帯端末10の現在位置を測位する。なお、信号測位部112の測位処理により基準位置を取得することにより、より正確な現在位置を特定するようにしてもよい。
【0033】
また、自律航法測位部113は、センサ16(気圧センサ)によって計測された時間経過に伴う気圧値の変化量に基づいて、エスカレータ、エレベータ、または階段等の利用による昇降移動の有無を判断する。昇降移動の有無の判断は、気圧センサを用いた自律航法技術を採用することができる。例えば、自律航法測位部113は、各々の測位時点の間に気圧値の上昇または下降が検知された場合には、昇降移動が検出されたことを示す測位情報を出力する。
【0034】
自律航法測位部113は、上記のようにして特定した携帯端末10の測位情報を任意のタイミング及び時間間隔(例えば、1秒毎)で出力する。測位情報には、前回の測位時点からの相対的な移動距離及び移動方向の情報、前回の測位時点からの歩数の情報、現在位置の情報(緯度及び経度の情報)、昇降移動の検出の有無の情報等が含まれる。
【0035】
なお、自律航法測位部113による測位は、携帯端末10がGPS信号やアクセスポイントからの信号を受信できないとき(例えば、携帯端末10を携帯するユーザが屋内や地下にいるとき)に有効である。もしくは、携帯端末10が上記信号を受信できるが信号測位部112による測位精度が低いと考えられるとき(例えば、携帯端末10を携帯するユーザが屋外の高層ビルに囲まれた場所にいるとき)にも自律航法測位部113による測位は有効である。そのため、携帯端末10は、例えば、GPS信号やアクセスポイントからの信号の受信状況に応じて、信号測位部112及び自律航法測位部113のどちらにより測位を行うかを切り替えることができる。
【0036】
測位情報取得部114は、自律航法測位部113から測位情報が出力される毎に測位情報を受信し、位置推定部115に供給する。
【0037】
位置推定部115は、測位情報に基づいて、案内経路上に携帯端末10の推定位置(又は携帯端末10のユーザの推定位置)を特定するルートマッチングを行う。具体的には、位置推定部115は、前回の推定位置(初回の場合は起点位置)から案内経路に沿って、目的地の方向に所定の距離だけ進めた位置を携帯端末10の推定位置として特定する。ここでの所定の距離は、自律航法測位部113によって出力される測位情報に基づいて決定される。例えば、測位情報に含まれる移動距離を所定の距離として用いてもよい。また、測位情報に含まれる歩数に予め設定された歩幅を乗じた値を所定の距離としてもよい。
【0038】
また、位置推定部115は、ルートマッチングが失敗した場合にはマップマッチングを行う。ルートマッチングが失敗した場合とは携帯端末10が案内経路から外れた(オフルート)と判断された場合である。例えば、測位情報に含まれる移動方向の情報に基づいて、携帯端末10が案内経路の進行方向とは異なる方向に進んだと判断された場合に案内経路から外れたと判断される。具体的には、測位情報に含まれる移動方向または所定回数分の測位情報に含まれる移動方向の累積値が、案内経路の進行方向と一定角度以上異なる場合に、案内経路の進行方向とは異なる方向に進んだと判断することができる。
【0039】
また、ルートマッチングが失敗したと判断される他の例として、測位情報に含まれる緯度・経度情報が示す携帯端末10の現在位置が案内経路上から外れており、携帯端末10の現在位置と案内経路との最短距離(携帯端末10の現在位置から案内経路に下した垂線の長さ)が一定値以上の場合には、案内経路から外れたと判断するようにしてもよい。
【0040】
マップマッチングでは、ルートマッチングのように、測位情報に基づいて案内経路上に推定位置を特定するのではなく、測位情報に基づいて、案内経路上であるか否かに関わらず地図データに登録されている道路ネットワーク上の任意の位置に推定位置を特定する。
【0041】
本実施形態では、位置推定部115は、ルートマッチングに失敗したら、まず、マップマッチングの基準となる案内経路上の分岐点を検出する。分岐点は、案内経路上から案内経路外の道路ネットワークに入ることができる曲がり角等である。位置推定部115は、まず、最後にルートマッチングに成功した時の推定位置から最も近い案内経路上の分岐点を検出し、検出した分岐点が、所定の条件を満たすか否かを判定する。所定の条件とは、例えば、最後にルートマッチングに成功した時の推定位置から一定距離以内(例えば、10m以内、15m以内、20m以内等)にあるか否かである。分岐点が条件を満たす場合には、その分岐点を基準としてマップマッチングを行う。位置推定部115は、検出した分岐点から、測位情報に含まれる移動方向に、測位情報に含まれる移動距離だけ進めた位置を仮の推定位置として特定し、さらに、仮の推定位置を地図データに登録されている道路ネットワーク上に引き込むことでマップマッチングによる推定位置を特定する。なお、仮の推定位置を道路ネットワーク上に引き込むことができない場合には、道路ネットワークから外れた地点に推定位置を特定してもよい。
【0042】
また、位置推定部115は、まず、最後にルートマッチングに成功した時の推定位置から一定距離以内にある1つ以上の分岐点を検出するようにしてもよい。さらに、このような条件を満たす分岐点が複数検出された場合には、位置推定部115は、測位情報に含まれる移動方向との差分が一定値以下(例えば、5度以下、10度以下、15度以下等)の方角に案内経路から分岐している分岐点であることをさらなる条件として追加するようにしてもよい。あるいは、案内経路からの分岐の方角が、測位情報に含まれる移動方向に最も近い分岐点を選ぶようにしてもよい。なお、分岐点は、最後にルートマッチングに成功した時の推定位置よりも先の方にあってもよいし、手前にあってもよい。また、推定位置の手前と先の両方に分岐点がある場合には、手前にある分岐点を優先的に選択するようにしてもよい。一般に、ユーザ(歩行者)が案内経路から外れて移動する場合、案内経路に沿って移動するよりも移動距離が長くなることが予想されるため、ルートマッチングによる推定位置は、ユーザの実際の位置よりも先の方に特定されることが想定される。このため、分岐点が推定位置の手前と先の両方にある場合には、あえて手前の分岐点を優先的に選択するようにしてもよい。
【0043】
なお、特定した分岐点が所定の条件を満たさない場合には、最後にルートマッチングに成功した時の推定位置を基準としてマップマッチングを行う。すなわち、最後にルートマッチングに成功した時の推定位置から、測位情報に含まれる移動方向に、測位情報に含まれる移動距離だけ進めた位置を仮の推定位置として特定し、さらに、仮の推定位置を地図データに登録されている道路ネットワーク上に引き込むことでマップマッチングによる推定位置を特定する。
【0044】
位置推定部115は、ルートマッチングが成功した場合には、推定位置をオンルートの結果として表示制御部116に表示させる。一方、ルートマッチングが失敗し、マップマッチングによって推定位置を特定した場合には、推定位置をオフルートの結果として表示制御部116に表示させる。
【0045】
なお、案内経路上の起点位置としては、携帯端末10のユーザが移動を開始した案内経路上の位置が設定される。また、起点位置の情報は、実際にユーザが移動を開始した位置の情報としてなるべく信頼性の高い情報が設定されることが望ましい。例えば、信号測位部112による測位の精度が高いとき(例えば、受信したGPS信号の強度が強いとき)には、信号測位部112が測位した携帯端末10の位置を起点位置として設定することができる。
【0046】
また、位置推定部115は、信号測位部112による測位の精度が高いとき(例えば、受信したGPS信号の強度が強いとき)には、信号測位部112が測位した携帯端末10の位置を携帯端末10の推定位置として特定することもできる。
【0047】
表示制御部116は、表示部15に対する各種情報及び画像の表示の制御を行う。例えば、表示制御部116は、位置推定部115により特定された案内経路上のユーザの推定位置を表示部15に表示するように制御する。
【0048】
(経路案内処理)
次に、携帯端末10において実行される経路案内処理について
図3のフローチャートを用いて説明する。
【0049】
まず、ステップS11において、経路案内部111は、携帯端末10のユーザにより入力された経路探索条件に従って、データベース110に記憶された地図データ等を参照し、経路探索を実行することにより、出発地から目的地までの案内経路の情報を取得する。
【0050】
次に、ステップS12において、位置推定部115は、ステップS11で探索された案内経路上における携帯端末10の起点位置を設定する。
【0051】
次に、ステップS13において、自律航法測位部113は、センサ16により検知された携帯端末10のユーザの歩数等の情報に基づいて、携帯端末10の移動距離及び移動方向の測位等を行う。
【0052】
次に、ステップS14において、自律航法測位部113は、携帯端末10の移動距離及び移動方向の情報、現在位置の情報(緯度及び経度の情報)、昇降移動の有無の情報等を含む測位情報を測位情報取得部114に出力する。
【0053】
次に、ステップS15において、位置推定部115は、自律航法測位部113によって出力された測位情報を測位情報取得部114から取得し、前回の推定位置(初回の場合は起点位置)から案内経路に沿って、自律航法測位部113によって出力された携帯端末10の移動距離だけ進めた位置を携帯端末10の推定位置として特定する(ルートマッチング)。
【0054】
次にステップS16において、位置推定部115は、ステップS15で実行したルートマッチングが成功したか否かを判定する。判定の結果、成功したと判定された場合(YES)には、ステップS22に移行する。一方、失敗したと判定された場合(NO)には、ステップS17に移行する。
【0055】
ステップS17において、位置推定部115は、最後にルートマッチングに成功した時の推定位置から案内経路上で最も近い分岐点を検索する。
【0056】
ステップS18において、位置推定部115は、ステップS17で検出した分岐点が最後にルートマッチングに成功した時の推定位置から一定距離以内の位置にあるか否かを地図データ等の情報に基づいて判定する。判定の結果、所定の距離以内にあると判断された場合(YES)には、ステップS19に進む。一方、判定の結果、所定の距離以内には無いと判断された場合(NO)には、ステップS20に進む。
【0057】
ステップS19において、位置推定部115は、ステップS17で検出した分岐点を基準としてマップマッチングを行う。すなわち、位置推定部115は、検出した分岐点から、測位情報に含まれる移動方向に、測位情報に含まれる移動距離だけ進めた位置を仮の推定位置として特定し、さらに、仮の推定位置を地図データに登録されている道路ネットワーク上に引き込むことでマップマッチングによる推定位置を特定する。
【0058】
ステップS20において、位置推定部115は、最後にルートマッチングに成功した時の推定位置を基準としてマップマッチングを行う。すなわち、位置推定部115は、最後にルートマッチングに成功した時の推定位置から、測位情報に含まれる移動方向に、測位情報に含まれる移動距離だけ進めた位置を仮の推定位置として特定し、さらに、仮の推定位置を地図データに登録されている道路ネットワーク上に引き込むことでマップマッチングによる推定位置を特定する。
【0059】
ステップS21において、位置推定部115は、ステップS19またはステップS20で実行したマップマッチングによる携帯端末10の推定位置をマップマッチングの結果(オフルート)として表示制御部116に表示させる。
【0060】
ステップS22において、位置推定部115は、ステップS15で実行したルートマッチングによる携帯端末10の推定位置をルートマッチングの結果(オンルート)として表示制御部116に表示させる。
【0061】
次に、ステップS23において、経路案内部111は、携帯端末10の推定位置が案内経路の目的地に到達しているか否かを判定し、到達していない場合(NO)にはステップS13に移行する。一方、目的地に到達している場合(YES)には処理を終了する。
【0062】
図4は、本実施形態による携帯端末10の推定位置の特定方法を説明する図である。図中、線(U)はユーザの動きを示しており、R1、R2、R3は、それぞれ時刻t1、t2、t3におけるユーザの実際の位置を示している。また、X1、X2、X3は、時刻t1、t2、t3において位置推定部115が特定したユーザの推定位置を示している。推定位置が「●」で示されている場合は、ルートマッチングの結果(オンルート)であることを示し、「◆」で示されている場合は、マップマッチングの結果(オフルート)であることを示す。
【0063】
図4に示すように、時刻t1では、ユーザは案内経路Rに沿って進んでおり、測位情報に基づいて行ったルートマッチングが成功したため、位置推定部115によって推定位置X1(オンルート)が特定される。
【0064】
時刻t2においては、ユーザは案内経路Rにほぼ沿って進んでいる。この時点では、測位情報に含まれる移動方向の累積値が案内経路Rの進行方向と大きく違わないため、測位情報に基づくルートマッチングは成功し、位置推定部115によって推定位置X2(オンルート)が特定される。しかし、図に示すように、この時点でユーザの実際の位置R2と推定位置X2にはずれが生じている。
【0065】
さらに、時刻t3においては、ユーザの実際の位置R3は案内経路Rに沿った道路W1から外れて道路W2に入ってしまっている。この時点では、測位情報に含まれる移動方向の累積値は案内経路Rの進行方向とは大きくずれているため、ルートマッチングは失敗と判断される。この時、位置推定部115は、前回のルートマッチングによる推定位置X2に最も近い分岐点C1を検出し、分岐点C1を基準としてまず仮の推定位置X3'を設定する。さらに、仮の推定位置X3'を道路W2に引き込む処理を行い、マップマッチングによる推定位置X3(オフルート)を特定する。
【0066】
以上のように、本実施形態によれば、位置推定部115は測位情報に基づいて行ったルートマッチングが失敗と判断された場合には、最後にルートマッチングに成功した時の推定位置から一定距離以内にある分岐点を検出し、検出された分岐点を基準としてマップマッチングを行うようにした。これにより、ユーザが案内経路から外れた方向へ進んだ可能性の高い地点を基準としてマップマッチングを行うことができるので、正確なマップマッチングを行うことができる。また、まず最後にルートマッチングに成功した時の推定位置から最も近い案内経路上の分岐点を検出し、検出された分岐点が、最後にルートマッチングに成功した時の推定位置から一定距離以内にある場合に、検出された分岐点を基準としてマップマッチングを行うことにより、正確なマップマッチングを効率よく行うことができる。
【0067】
また、位置推定部115は、最後にルートマッチングに成功した時の推定位置から一定距離以内にある分岐点が検出されない場合には、最後にルートマッチングに成功した時の推定位置から所定の方向に所定の距離だけ進めた位置をマップマッチングによる推定位置として特定するようにしたので、分岐点を基準としてマップマッチングを行うことが適切か否かを判断し、正確なマップマッチングを行うことができる。
【0068】
また、位置推定部115は、最後にルートマッチングに成功した時の推定位置から一定距離以内にあり、かつ、測位情報に含まれる移動方向との差分が一定角度以下の方角に案内経路から分岐している分岐点を選択するようにした。これにより、より適切な分岐点を選択し、正確なマップマッチングを行うことができる。
【0069】
また、測位情報に含まれる移動方向の情報に基づいて、携帯端末10が案内経路の進行方向とは異なる方向に進んだと判断された場合には、ルートマッチングが失敗したと判断するようにしたので、ユーザが曲がり角で間違った道の方に入ってしまった場合などに、案内経路を外れたことを判断することができる。
【0070】
また、測位情報に含まれる緯度・経度情報が示す携帯端末10の現在位置が案内経路上から外れており、携帯端末10の現在位置と案内経路との最短距離が一定値以上の場合には、ルートマッチングが失敗したと判断するようにしたので、曲がり角があるか否かに関わらず案内経路を外れたことを判断することができる。
【0071】
本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。
【0072】
また、上記の処理フローに含まれる各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して又は並列に実行することができるとともに、各処理ステップ間に他のステップを追加してもよい。また、便宜上1ステップとして記載されているステップは、複数ステップに分けて実行することができる一方、便宜上複数ステップに分けて記載されているものは、1ステップとして把握することができる。
【0073】
また、本発明のプログラムは、CD−ROM等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。