移動端末及び移動経路算出プログラム
【課題】移動経路の算出精度を維持しつつ、消費電力を低減する。
【解決手段】絶対位置検出部30が移動端末100の絶対位置を検出した結果と、リンク情報生成部22が移動端末の直進距離を示す線分(リンク)を生成した結果と、に基づいて、移動経路算出部24が移動経路を算出する。この場合に、移動経路算出部は、移動経路を算出する際に、リンク情報生成部22が取得したリンクの長さを補正するための補正パラメータr1、r2、r3、…、と、リンクの方向(角度t1、t2、t3、…)とを絶対位置検出部30が検出した絶対位置と、絶対位置を検出したときに移動端末が移動していたリンク上の点との距離に基づいて算出する。
【解決手段】絶対位置検出部30が移動端末100の絶対位置を検出した結果と、リンク情報生成部22が移動端末の直進距離を示す線分(リンク)を生成した結果と、に基づいて、移動経路算出部24が移動経路を算出する。この場合に、移動経路算出部は、移動経路を算出する際に、リンク情報生成部22が取得したリンクの長さを補正するための補正パラメータr1、r2、r3、…、と、リンクの方向(角度t1、t2、t3、…)とを絶対位置検出部30が検出した絶対位置と、絶対位置を検出したときに移動端末が移動していたリンク上の点との距離に基づいて算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、移動端末及び移動経路算出プログラムに関する。
【背景技術】
【0002】
近年、GPS(Global Positioning System)と自律航法を組み合わせたナビゲーションシステムが普及してきている。最近では、当該システムが搭載された携帯電話などの移動端末も出現してきている。
【0003】
特許文献1に記載の技術は、直進時におけるGPS出力位置の軌跡の連続性や直進性を維持しつつ、右折時や左折時等におけるGPS出力位置の追従性の問題を解消するため、GPS測位を頻繁に行うとともに、ジャイロセンサで進行方向曲がりを検出する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−115514号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、GPSは地磁気センサなどの端末内センサに比べて消費電力が大きいため、特許文献1のようにGPS測位を頻繁に行う方法を用いるのは現実的でない。一方、端末内センサを用いると、センサの計測誤差が累積的に蓄積される可能性が高い。
【0006】
1つの側面では、本発明は、移動経路を精度よく算出することが可能な移動端末及び移動経路算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本明細書に記載の移動端末は、移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得する取得部と、検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記移動経路算出部は、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出する。
【0008】
本明細書に記載の移動端末は、移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、前記絶対位置検出部で検出した前記絶対位置と、前記取得部によって取得された前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記取得部がi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、
前記移動経路算出部は、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、道路の情報に基づいて、前記2つの移動経路のうちの1つを真の移動経路として選択する。
【発明の効果】
【0009】
本明細書に記載の移動端末及び移動経路算出プログラムは、移動経路を精度よく算出することができるという効果を奏する。
【図面の簡単な説明】
【0010】
【図1】一実施形態に係る移動端末の構成を概略的に示す図である。
【図2】移動端末のハードウェア構成図である。
【図3】図1の制御部の機能ブロック図である。
【図4】移動端末で実行される処理の全体的な流れを示すフローチャートである。
【図5】図5(a)は、ステップS12のリンク情報取得処理のサブルーチンを示す図であり、図5(b)は、リンクデータベースを示す図である。
【図6】図6(a)、図6(b)は、ステップS14のGPS取得処理のサブルーチンを示す図である。
【図7】図7(a)は、ステップS40〜S48の処理を経たときの、アンカーポイント取得状況を示す図であり、図7(b)は、GPSアプリの停止コマンドが入力された直後のアンカーポイント取得状況を示す図である。
【図8】図6(a)のステップS50のサブルーチンを示すフローチャートである。
【図9】GPSデータベースを示す図である。
【図10】図10(a)〜図10(c)は、アンカーポイントの取得方法を示す図(その1)である。
【図11】図11(a),図11(b)は、アンカーポイントの取得方法を示す図(その2)である。
【図12】図12(a),図12(b)は、アンカーポイントの取得方法を示す図(その3)である。
【図13】ステップS20のサブルーチンを示すフローチャートである。
【図14】最適化処理を示す図(その1)である。
【図15】ステップS152のサブルーチンである。
【図16】対応点座標Piの求め方を説明するための図である。
【図17】図17(a)は、鏡像関係にある2つの移動経路を示す図であり,図17(b)は、地図とのマッチングにより真の移動経路を選択する例について説明するための図である。
【図18】図18(a)は図13のステップS162を説明するための図であり、図18(b)は、図4のステップS22を説明するための図である。
【図19】図19(a)、図19(b)は、マップマッチングについて説明するための図である。
【図20】図20(a)〜図20(f)は、変形例に係る係数kの設定方法を説明するための図である。
【図21】変形例に係る最適化処理を示す図である。
【発明を実施するための形態】
【0011】
以下、移動端末の一実施形態について、図1〜図21に基づいて詳細に説明する。図1には、移動端末100がブロック図にて示されている。本実施形態では、移動端末100は、例えば、携帯電話、PHS(Personal Handy-phone System)、スマートフォン、PDA(Personal Digital Assistant)などの携帯型の端末である。
【0012】
移動端末100は、図1に示すように、絶対位置検出部30と、地磁気情報検出部40と、加速度情報検出部50と、表示画面60と、入力インタフェース62と、制御部20と、を備える。なお、移動端末100は、通話機能や、メール、インターネットなどの通信機能、撮影機能などの各種機能を備える場合もあるが、図1では、これらの機能を実現するための構成についての図示は省略している。
【0013】
絶対位置検出部30は、本実施形態では、GPS受信機であり、上空に存在する複数個のGPS衛星からの信号を受けて、絶対位置(緯度・経度で示される位置)情報を得るものである。
【0014】
地磁気情報検出部40は、方位センサとも呼ばれ、3軸座標系上での地磁気の検出が可能な地磁気センサ、すなわち磁気方位センサである。加速度情報検出部50は、例えば、3軸方向の加速度を検出するセンサである。
【0015】
表示画面60は、制御部20の指示の下、各種情報を表示するものであり、例えば、移動端末100を保持するユーザが移動したルートの情報を、表示する。入力インタフェース62は、キーボードやタッチパネルなどを含む。
【0016】
図2には、制御部20のハードウェア構成が示されている。この図2に示すように、制御部20は、CPU(Central Processing Unit)90、ROM(Read Only Memory)91、RAM(Random Access Memory)92、記憶部(ここではHDD(Hard Disk Drive)とする)93、入出力部94等を備えており、制御部20の構成各部は、バス95を介して接続されている。制御部20では、CPU90がRAM92又はHDD93に格納された移動経路算出プログラムを実行することで、図3に示す各処理部の機能を実現する。また、HDD94は、制御部20内で得られたデータなどを記憶し、図3の情報記憶部23として機能する。入出力部94は、表示画面60や入力インタフェース62との通信を行う入出力ポートである。
【0017】
図3は、図1の制御部20の機能ブロック図である。この図3に示すように、制御部20は、CPU90が移動経路算出プログラムを実行することにより、制御部としての検出制御部21、取得部としてのリンク情報生成部22、情報記憶部23、移動経路算出部24、表示制御部25、及び計時部26等の機能を実現している。
【0018】
検出制御部21は、リンク情報生成部22からの情報、及び計時部26からの情報に基づいて、絶対位置検出部30の起動タイミング、すなわち検出タイミングを決定する。そして、検出制御部21は、決定した検出タイミングで、絶対位置検出部30に絶対位置計測を実行させる。
【0019】
リンク情報生成部22は、地磁気情報検出部40と加速度情報検出部50との検出結果に基づいて、移動端末100が直線移動している間(移動端末100がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間)の距離の情報を含む線分情報(「リンク情報」と呼ぶ)を生成する。なお、リンク情報生成部22は、移動端末100を保持するユーザが歩き始めたときからリンク情報の生成を開始する。一方、リンク情報生成部22は、入力インタフェース62を介してユーザから入力される歩行終了のコマンドを受け付けたときに、リンク情報の生成を終了する。また、リンク情報生成部22は、入力インタフェース62から入力される、GPSアプリケーションを終了するコマンドを受け付けたときに、検出制御部21に対して絶対位置検出部30による検出を中止すべき旨の指示を出す。
【0020】
情報記憶部23は、リンク情報生成部22で生成されたリンク情報や絶対位置検出部30で検出されたGPS計測結果を、データベースにて記憶する。移動経路算出部24は、移動端末100が直進移動している間に絶対位置検出部30で検出されたGPS計測結果に基づいて、移動方向所定方向を算出するとともに、当該移動方向とリンク情報に含まれる直進距離とから移動端末100の移動経路を算出する。移動経路算出部24は、リンク情報やGPS計測結果を情報記憶部23から読み出す。なお、情報記憶部23にて記憶されているデータベースの詳細な内容については、後述する。
【0021】
表示制御部25は、移動経路算出部24で取得された移動経路を取得して、表示画面60上に表示する。計時部26は、例えば、リアルタイムクロックを含み、所定時間間隔(例えば、3分間隔)で、後述する仮の検出タイミングが到来したことを、検出制御部21に通知する。
【0022】
次に、上記のように構成される移動端末100における処理について、図4〜図19に基づいて、詳細に説明する。図4は、移動端末100で実行される処理の全体的な流れを示すフローチャートである。
【0023】
図4の処理では、ステップS10において、リンク情報生成部22が、加速度情報検出部50が起動したか否かを判断する。このステップS10の判断が肯定された場合には、ステップS12及びステップS14に移行する。ステップS12、S14の各ステップは同時並行的に処理されるステップであり、ステップS12ではリンク情報取得処理が行われ、ステップS14ではGPS取得処理が行われる。以下、リンク情報取得処理(ステップS12)及びGPS取得処理(ステップS14)について、具体的に説明する。
【0024】
(A)リンク情報取得処理(ステップS12)
ステップS12のリンク情報取得処理のサブルーチンは、図5(a)のフローチャートに沿って行われる。具体的には、まず、ステップS30において、リンク情報生成部22が、曲がりを検出したか否かを判断する。ここで、曲がりとは、移動端末100を保持するユーザが進行方向を変更することを意味する。リンク情報生成部22は、例えば、地磁気情報検出部40で検出される地磁気の変化量が所定値以上になったときに、曲がりがあったことを検出する。
【0025】
ステップS30の判断が肯定されると、ステップS32に移行し、リンク情報生成部22は、直線移動した距離(リンク長)を次式(1)に基づいて算出する。
リンク長=(曲がりを検出したときの通算歩数
−前回曲がりを検出したときの通算歩数)×歩幅 …(1)
【0026】
ここで、歩数は、加速度情報検出部50により検出される加速度の変化から取得される値であり、歩幅は、ユーザにより設定される値である。なお、ユーザは歩幅に代えて、身長を入力することとしてもよく、この場合には、リンク情報生成部22は、入力された身長から、おおよその歩幅を算出する。なお、本実施形態では、上記のように歩数と予め入力された歩幅からリンク長を算出するため、リンク長が実際の歩行距離とは異なる値を示すおそれがある。
【0027】
ステップS12の処理が終了すると、図4のステップS16に移行する。ステップS16では、リンク情報生成部22が、移動経路算出用のデータとして、上式(1)に基づいて算出されたリンク長を情報記憶部23に格納されているリンクデータベース(図5(b)参照)の「補正前リンク長」に登録する。ここで、リンクデータベースには、図5(b)に示すように、リンクの通し番号である「リンクNo.」、曲がりを検出したときのユーザの通算の歩数である「曲がり時歩数」、曲がり時歩数と歩幅とから算出される「補正前リンク長」、及び補正前リンク長が補正された後のリンク長を示す「補正後リンク長」、所定方向(例えば、東)を基準とした角度(反時計回りの角度)である「リンク角度」、リンクの始点の座標である「リンク始点(x)」、「リンク始点(y)」、リンクの終点の座標である「リンク終点(x)」、「リンク終点(y)」の項目を含んでいる。なお、ステップS16の段階では、「リンク角度」、「リンク始点(x)」、「リンク始点(y)」、「リンク終点(x)」、「リンク終点(y)」の項目は空白のままとなる。
【0028】
そして、ステップS18では、リンク情報生成部22が歩行終了か否かを判断し、ここでの判断が否定された場合には、ステップS12に戻る。なお、ステップS18において歩行終了と判断される場合とは、例えば、加速度情報検出部50が所定時間ユーザの歩行を検出しなかったような場合や、ユーザが入力インタフェース62から、歩行終了のコマンドを入力した場合などである。
【0029】
なお、ステップS12の処理により得られるリンク長を含む線分の情報は、リンク又はリンク情報と呼ばれる。リンク情報は、始点と終点との間の長さの情報を含んでいるが、始点から終点まで延びる方向(東に対する角度)についての情報は含んでいない。各リンクには、取得順にリンクNo.が付与される。
【0030】
なお、以下においては、端末が現に移動しているリンクを「現在リンク」と呼ぶ。ただし、現在リンクを直進している間は、現在リンクの情報は、リンク情報生成部22では取得されないもので、次に曲がりが検出されたときにはじめて生成されるものである。また、現在リンクの前に生成されたリンク、すなわち、直近の曲がり検出が行われたときに生成されたリンクを、「1つ前のリンク」と呼ぶ(図11(a)等参照)。また、現在リンクの前の前に生成されたリンクを、「2つ前のリンク」と呼ぶ(図11(a)等参照)。
【0031】
(B)GPS取得処理(ステップS14)
次に、上記(A)リンク情報取得処理と同時並行的に行われる、ステップS14のGPS取得処理のサブルーチンについて、図6(a),図6(b)のフローチャートに沿って説明する。これら図6(a)の処理と、図6(b)の処理も、同時並行的に行われる。なお、図6(a)の処理については、以下において、「ステップS14(1)」と記述し、図6(b)の処理については、以下において、「ステップS14(2)」と記述するものとする。
【0032】
図6(a)のステップS14(1)では、ステップS40において、検出制御部21が、ユーザにより、GPS計測用のアプリケーション(以下、「GPSアプリ」と呼ぶ)が起動されたか否かを判断する。ユーザは、GPSアプリを起動するためのコマンドを、入力インタフェース62から入力する。ここでの判断が肯定されると、検出制御部21は、ステップS42に移行する。
【0033】
ステップS42では、検出制御部21の指示の下、計時部26が、タイマーを起動する。次いで、ステップS44では、検出制御部21が、絶対位置検出部30を介して、GPS計測を行う。GPS計測では、移動端末100の絶対位置(緯度、経度)が検出されることになる。なお、以下においては、ステップS12のリンク情報取得処理と並行して行うGPS計測(取得)を、「アンカーポイント取得」とも呼ぶものとする。また、アンカーポイントの位置情報についても、単に「アンカーポイント」と呼ぶものとする。
【0034】
ここまでのステップS40〜ステップS44の処理では、GPSアプリが起動された直後に、アンカーポイントが取得(アンカーポイントの位置情報が取得)されていることになる。
【0035】
次いで、ステップS46では、検出制御部21が、ユーザが30m歩行したか否かを判断する。ここで、検出制御部21は、30m歩行したか否かの判断を、加速度情報検出部50により検出される歩数と、歩幅との積から算出した値に基づいて行うものとする。ただし、これに限らず、検出制御部21は、一般的にユーザが30m歩行するのに要する時間(例えば、23秒)が経過したか否かに基づいて、30m歩行したか否かの判断を行うこととしても良い。なお、30m歩行するのに要する時間は、予め設定されていても良いが、検出制御部21が過去に取得された歩数に関するデータなどから自動的に設定することとしても良い。ステップS46の判断が肯定されると、ステップS48に移行する。
【0036】
ステップS48では、検出制御部21が、再度アンカーポイントを取得する。本実施形態では、上記のようにステップS40〜S48の処理を経ることで、図7(a)に示すように、GPSアプリを起動した位置(始点)から歩行を開始した後において、2つのアンカーポイントが取得されることになる。なお、図7(a)では、アンカーポイントを「Gn」で示し、アンカーポイントを取得した際のリンク上の位置(点)を「Pn」で示している。ここで、図7(a)において、始点から30m歩行した位置と、アンカーポイントを取得したときのリンク上の位置とが異なっている。このように位置が異なるのは、絶対位置検出部30では、その起動からアンカーポイントの検出までの間に、若干の遅れが生じることに起因している。なお、上記のように、検出制御部21が、始点から歩行を開始した後において2つのアンカーポイントを取得するのは、歩き始めの段階で、どちらの方向に向かって歩いているのかを取得しておくことで、後に行われる移動経路の算出精度を向上することができるからである。
【0037】
その後、検出制御部21は、ステップS50の通常処理に移行する。なお、ステップS50の処理については後述する。
【0038】
上記図6(a)の処理と同時並行的に行われる図6(b)のステップS14(2)では、検出制御部21は、ステップS60において、GPSアプリがユーザにより停止されるまで待機する。ユーザが、入力インタフェース62を介して、GPSアプリの停止コマンドを入力すると、ステップS60の判断が肯定され、ステップS62に移行する。ステップS62では、検出制御部21が、アンカーポイントを取得し、その後、図4のステップS16に移行する。なお、ステップS62では、図7(b)に示すように、GPSアプリの停止コマンドが入力された直後に、アンカーポイントGfinalが取得されることになる。
【0039】
次に、図6(a)のステップS50における「通常処理」のサブルーチンについて、図8に基づいて、詳細に説明する。なお、図8の処理が開始されると同時に、計時部26による計時を開始、すなわち、タイマーをスタートする。
【0040】
図8では、まず、ステップS70において、検出制御部21が、計時部26のタイマーを参照して、所定時間経過したか否かを判断する。ここでの判断が肯定された場合にはステップS72に移行するが、否定された場合にはステップS80に移行する。なお、所定時間とは、GPS計測を間欠的に行う間隔を意味し、予め定められた時間(例えば3分)であるものとする。なお、所定時間が経過するタイミングは、絶対位置を検出するための、仮の検出タイミングであるともいえる。仮の検出タイミングとは、ステップS74において判断が否定されることで、真の検出タイミングになるタイミングのことをいう。
【0041】
ステップS70の判断が肯定されて、ステップS72に移行した場合、検出制御部21は、現在リンクにおいてGPS計測(アンカーポイント取得)が既に行われているか否かの検索を行う。このステップS72では、検出制御部21は、情報記憶部23内に格納されている図9のようなGPSデータベースを検索する。GPSデータベースは、図9に示すように、アンカーポイントの計測が行われたときに取得中であったリンクの通し番号である「リンクNo.」、GPS測位結果を示す「緯度」、「経度」、GPS取得時までに歩き始めからユーザが歩いた歩数を示す「GPS取得時歩数」、及び「フラグ」の項目を有している。図9では、例えば、リンクの通し番号が「10」や「9」のときには、GPS計測が行われたことを示しているが、リンクの通し番号が「8」や「7」のときには、GPSデータベースのリンクNo.の項目に、「8」や「7」が存在していないので、GPS計測が行われていないことを示している。
【0042】
次のステップS74では、検出制御部21が、ステップS72の検索の結果に基づいて、現在リンクで既にGPS計測が行われたか否かを判断する。ここでの判断が否定された場合には、ステップS78に移行し、検出制御部21は、絶対位置検出部30を用いて、アンカーポイントを取得する。その後は、検出制御部21は、ステップS96において、計時部26のタイマーをリセットして、ステップS70に戻る。
【0043】
すなわち、図10(a)に示すように、現在リンクにおいて、未だアンカーポイントを取得していない場合には、検出制御部21は、所定時間経過後に絶対位置検出部30を起動して、位置Piにてアンカーポイントを取得する。換言すると、1つのリンクにおいては、2回以上アンカーポイントを取得しないようにする。このようにするのは、1つのリンクにおいて2回以上アンカーポイントを取得しても、移動経路の算出精度にさほど寄与することがない一方で、絶対位置検出部30の検出回数を減らすことで、電力消費量を低減することができるからである。
【0044】
一方、ステップS74の判断が肯定された場合、すなわち、図10(b)に示すように、現在リンクでGPSが既に取得されていた場合には、ステップS76に移行する。このステップS76では、検出制御部21が、フラグを立てる、つまり図9のGPSデータベースの「フラグ」の項目に1を設定する。その後、検出制御部21は、ステップS80に移行する。
【0045】
ステップS80では、検出制御部21が、曲がり検出したか否かを判断する。ここでの判断が否定された場合には、ステップS70に戻るが、判断が肯定された場合には、ステップS82に移行する。
【0046】
ステップS82では、検出制御部21が、過去2リンクを検索する。この検索の際には、ステップS72と同様、検出制御部21は、図9(a)のデータベースを検索する。すなわち、検出制御部21は、例えば、現在取得中のリンクの通し番号が「10」であるならば、通し番号「9」と「8」のリンクを検索する。
【0047】
次いで、ステップS84では、検出制御部21が、過去1リンク(1つ前のリンク)にフラグが立っているか否かを判断する。ここでの判断が肯定された場合、すなわち、1つ前のリンクにフラグ「1」が設定されている場合には、ステップS94に移行する。ステップS94に移行した場合、前述したのと同様、検出制御部21は、絶対位置検出部30を用いて、アンカーポイントを取得する。そして、検出制御部21は、ステップS96において、計時部26のタイマーをリセットして、ステップS70に戻る。すなわち、図10(c)に示すように、フラグが立った後に、曲がり検出がされた場合には、当該曲がり検出の直後に、アンカーポイントが取得されることになる。このように、曲がりが検出された直後にアンカーポイントを取得するのは、前述したように同一リンク上で2回以上絶対位置が取得されるのを回避した一方で、あまりにも長い間、絶対位置の取得が行われないとすると、移動経路の算出精度が低下するおそれがあるからである。
【0048】
これに対し、ステップS84の判断が否定された場合には、ステップS86において、検出制御部21が、2リンク前に、すなわち2つ前のリンクにおいてGPSが取得されているか否かを判断する。ここでの判断が肯定された場合には、ステップS70に戻る。すなわち、2リンク前にGPSが取得されていた場合には、図11(a)、図11(b)に示すように、1つ前のリンクにおいてGPSが取得されていたか否かにかかわらず、今回の曲がり検出後には、アンカーポイントを取得しない。このようにするのは、図11(b)のように連続するリンクでアンカーポイントを取得しなくても、リンクの角度を決定するのに支障はないためである。また、2本のリンクにおいてアンカーポイントを取得しなくても、次のリンクでアンカーポイントが取得できれば、リンクの角度を決定するのに支障はないためである。更に、アンカーポイントを取得しないこととすることで、絶対位置検出部30の検出回数を減らすことができ、これにより、電力消費量を低減することができるからである。
【0049】
一方、ステップS86の判断が否定された場合には、ステップS88に移行し、検出制御部21は、1リンク前、すなわち、1つ前のリンクにおいてGPS、すなわちアンカーポイントが取得されていたか否かを判断する。
【0050】
ここでの判断が肯定された場合には、ステップS94に移行して、検出制御部21は、絶対位置検出部30を用いて、アンカーポイントを取得する。そして、検出制御部21は、ステップS96において、計時部26のタイマーをリセットして、ステップS70に戻る。すなわち、図12(a)に示すように、2リンク前にアンカーポイントが取得されておらず、1リンク前にアンカーポイントが取得されている場合には、アンカーポイントを取得する。なお、このタイミングでアンカーポイントを取得するのは、図12(a)のPiにおいてアンカーポイントを取得しておかないと、移動経路算出に支障が出る(移動経路の一部が反転(左右対称)してしまう)おそれがあるからである。
【0051】
一方、ステップS88の判断が否定された場合には、ステップS90に移行する。このステップS90では、検出制御部21が、絶対位置検出部30を用いて、アンカーポイントを取得し、その後、ステップS92において、ユーザが30m歩行したと判断されるまで待機する。そして、ステップS92において、ユーザが30m歩行したことを、検出制御部21が判断した段階で、ステップS94に移行する。このステップS94では、検出制御部21が、絶対位置検出部30を用いて、アンカーポイントを再度取得する。すなわち、この場合、図12(b)に示すように、曲がり検出後、30mの間隔を空けて、2つのアンカーポイントが取得されることになる。このようにアンカーポイントを続けて2回計測するのは、当該2回の計測により、現在リンクの方向がほぼ決まるので、これにより、その前の2つのリンクの方向を、反転なく、大まかに決めることができるからである。その後、検出制御部21は、ステップS96において、計時部26のタイマーをリセットして、ステップS70に戻る。
【0052】
以上の処理が繰り返し行われることで、アンカーポイントが間欠的に取得されることになる。なお、図8の繰り返し処理は、図6(b)のステップS60における判断が肯定された段階で、強制的に終了する。
【0053】
図4に戻り、ステップS14の後に行われるステップS16では、検出制御部21が、移動経路算出用のデータとして、アンカーポイントの情報(GPS計測結果)を、情報記憶部23のGPSデータベースに保存する。そして、ステップS18に移行すると、検出制御部21は、歩行終了か否かを判断する。ここでの判断が肯定されると、検出制御部21は、ステップS20に移行する。以下、ステップS20の具体的な処理内容について、図13、図15のフローチャートに基づいて、説明する。
【0054】
(C)リンク角度・補正パラメータ算出処理(ステップS20)
図13は、ステップS20の処理の全体的な流れを示すフローチャートであり、図15は、図13のステップS152の処理内容を具体的に示すフローチャートである。なお、本ステップS20は、登録された歩幅の値に誤差があったり、実際の歩幅のばらつきがあったりするなどして、リンクの長さが正確でないことに起因して生じる移動経路の誤差の発生を抑制する処理である。また、本ステップS20は、アンカーポイントを間欠的に取得することにより実際の移動経路とは異なる(鏡像関係の)移動経路が算出されることを抑制する処理である。
【0055】
図13の処理では、まず、ステップS140において、移動経路算出部24が、最適化処理を行う最初のリンクをリンク(i)とする。ここで、最適化処理とは、図14のように連続する3本のリンク(ここでは、それぞれにおいてアンカーポイントが取得されているものとする)と、各リンクに対応するアンカーポイントを用いて、3本のうちで最も過去に取得されたリンクの角度(t1)の最適値と、リンクの長さの補正パラメータr1の最適値を算出するというものである。なお、ここでは、i=1であるものとする。
【0056】
次のステップS142では、移動経路算出部24が、最適化処理に用いるリンクの番号を示すパラメータjの値をiと同一に設定するとともに、リンク取得数を示すパラメータCの値を0に設定する。すなわち、ここでは、移動経路算出部24は、j=1、C=0とする。
【0057】
次いで、ステップS144では、移動経路算出部24が、リンク(j)を取得する。すなわち、リンク(j)を最適化処理に用いるリンクとする。次いで、ステップS146では、Cを1インクリメント(C←C+1、ここではC←1)した後、ステップS148に移行する。次いで、ステップS148では、移動経路算出部24が、C=Nであるか否かを判断する。この場合の値Nは、最適化に用いるべき、アンカーポイント取得が行われたリンク、すなわち、アンカーポイントが対応付けられたリンク、の本数である。なお、ここでは、N=3であるものとして説明する。このステップS148の判断が否定されると、ステップS150に移行し、移動経路算出部24が、jを1インクリメントする(j←j+1、ここでは、j←2)。その後、ステップS144に戻り、N本(ここでは3本)のリンクが取得されるまで、移動経路算出部24は、ステップS144〜S150の処理判断を繰り返す。
【0058】
そして、ステップS148の判断が肯定された段階で、ステップS152に移行する。
【0059】
このようにステップS152に移行する段階では、リンク(i)(ここでは、リンク(1))を最適化するために用いるリンクとして、図14に示す、リンク(1)〜リンク(3)が取得されたことになる。
【0060】
次のステップS152では、最適化処理のサブルーチンが実行される。具体的には、図15の処理が実行される。図15の処理では、まず、ステップS160において、移動経路算出部24が、各リンクの初期角度を決定する。このステップS160では、例えば、N本(ここでは3本)の角度t1、t2、t3の初期値を、ランダムに設定する。なお、これに限らず、t1の初期値を0°、t2の初期値を90°、t3の初期値を180°というように、90°刻みで設定しても良い。また、t1の初期値を0°、t2の初期値を45°、t3の初期値を90°というように、45°刻みで設定しても良い。あるいは、その他の角度刻みで設定しても良い。
【0061】
次いで、ステップS162では、移動経路算出部24が、対応点座標Pjを算出する。ここで、対応点座標Pjとは、アンカーポイントを取得したときに移動端末100が位置していたリンク上の1点(位置座標)を意味する。ここで、図16に示すように、j番目のリンクの始点をCj-1、終点をCj、長さ(リンク長)をljし、図14の始点C0の座標を(x0,y0)とすると、図14のC1〜C3は、次式(2)〜(4)にて表すことができる。
C1=C0+r1×l1×(cos(t1),sjn(t1)) …(2)
C2=C1+r2×l2×(cos(t2),sjn(t2)) …(3)
C3=C2+r3×l3×(cos(t3),sjn(t3)) …(4)
【0062】
なお、上式(2)〜(4)のrjは、リンク長(又は設定されている歩幅)を補正するための変数である補正パラメータである。なお、パラメータrjの範囲は、予め設定されているものとする。例えば、rjの範囲は、3/4≦rj≦5/4とする。ただし、当該範囲は、ユーザが入力インタフェース62を介して調整することが可能であるものとする。これにより、ユーザは、表示画面60に表示される移動経路(経路)がより正しい経路となるように、rjの範囲を調整することが可能となる。
【0063】
また、始点Cj-1から終点Cjまで移動する間の時間に対する、始点Cj-1からアンカーポイントを取得するまでの間の時間の割合をmj(図16参照)とすると、対応点座標Pjは、次式(5)にて表すことができる。
Pj=Cj-1+mj×(Cj−Cj-1) …(5)
【0064】
次いで、ステップS164では、移動経路算出部24が、GPS座標(アンカーポイント)Gjと、対応点座標Pjの距離の2乗和を算出する。具体的には、次式(6)により、算出される。
【0065】
【数1】
ここで、距離の2乗和を算出するのは、点Gjと点Pjとの間に、各点を結ぶバネ(バネ定数kは一定であるものとする)が存在していると想定して、各バネが最も安定する状態、すなわち、エネルギが最小となる状態が最適な状態であると推定する理論(Kamada,Kawaiのモデル)に基づく。
【0066】
次いで、ステップS166では、移動経路算出部24が、角度t1、t2、t3、及び補正パラメータr1、r2、r3の値を変更しつつ、距離の2乗和を算出することで、距離の2乗和が最小となるt1、t2、t3、r1、r2、r3を算出する。そして、そのうちのt1、r1の値を、リンク(1)の角度及びリンク(1)の補正パラメータとして、算出する。なお、図14では、ステップS166において角度及び補正パラメータが最適化されたリンク(1)のみを実線にて示している。その後は、図13のステップS154に移行する。
【0067】
その後、図13のステップS154に移行すると、移動経路算出部24は、リンク(i+2)以降にリンクが存在しているか否かを判断する。ここでの判断が否定された場合には、ステップS156に移行して、リンク(i)、リンク(i+1)、リンク(i+2)を確定する。すなわち、リンク(i)、リンク(i+1)、リンク(i+2)のリンク角度ti、ti+1、ti+2と、補正パラメータri、ri+1、ri+2を確定する。一方、ステップS154の判断が肯定された場合には、ステップS158に移行する。
【0068】
ステップS158では、移動経路算出部24が、リンク(i)以降のアンカーポイントの取得数が、1つ,0,1つの順に並んでいるか否かを判断する。ここでの判断が肯定された場合には、ステップS160に移行し、移動経路算出部24は、鏡像のリンクを検証する。具体的には、リンク(i)以降のアンカーポイントの取得数が、1つ,0,1つの順に並んでいる場合、図17(a)に示すように、実線で示す移動経路と、これと鏡像(線対称)の関係にある破線にて示す移動経路とが得られる。したがって、移動経路算出部24は、これら2つの移動経路から真の移動経路を選択する必要がある。当該選択の方法としては、例えば、リンク(i)とリンク(i−1)との角度が90°に近い方の移動経路を真の移動経路として選択する方法を採用することができる。これは、道路の曲がり角は、一般的には90°に近い角度で曲がっている場合が多いという道路情報に基づくものであり、リンク(i)とリンク(i−1)との角度が90°に近い方が、正しい移動経路である可能性が高いからである。
【0069】
なお、リンク(i)がリンク(1)である場合には、リンク(i−1)が存在しない。このような場合には、移動経路算出部24は、リンク(i+2)とリンク(i+3)との角度が90°に近い方の移動経路を、真の移動経路として選択することとしてもよい。ただし、これに限らず、リンク(i)がリンク(1)でなくとも、リンク(i+2)とリンク(i+3)との角度が90°に近い方の移動経路を、真の移動経路として選択することとしてもよい。
【0070】
なお、真の移動経路の選択方法は、上記方法に限られるものではない。例えば、図17(b)に示すように、2つの移動経路を道路情報としての地図(移動端末100の位置周辺の地図)とマッチングさせて、地図(道路)との合致度が高い(又は道路との乖離度が低い)ほうを真の移動経路とすることとしてもよい。なお、図17(b)では、図17(a)において破線で示す移動経路が、真の移動経路として選択されることになる。なお、これらの方法に限らず、その他、道路の情報に基づいて鏡像関係にある2つの移動経路から、真の移動経路を選択する方法を採用することとしてもよい。
【0071】
図13に戻り、上記のようにしてステップS160の処理が行われた後は、ステップS162に移行し、移動経路算出部24は、リンク(i)(ここでは、リンク(1))を確定する。なお、角度t1が確定すると、図5(b)のデータベースの「リンク角度」の項目への登録が可能となる。また、補正パラメータr1が決まると、図5(b)の「補正後リンク長」への登録が可能となる。また、t1、r1が決まることで、リンク始点(x),(y)、リンク終点(x),(y)の項目への登録も可能となる。
【0072】
一方、ステップS158の判断が否定された場合には、ステップS160を経ずにステップS162に移行し、リンク(i)を確定する。その後は、ステップS164に移行して、iを1インクリメント(i←i+1)した後に、ステップS142に戻る。そして、全てのリンクについての角度が決定(リンクが確定)するまで、ステップS142〜S164の処理・判断を繰り返す。なお、図13の処理が2回目に行われるときには、図18(a)に示すように、リンク(2),(3),(4)を用いて、リンク(2)の角度t2を算出することになる。この場合、リンクの角度t2,t3,t4の初期値としては、前回の最適化処理(角度t1を最適化した処理)で算出された、t2やt3の値を、初期値として用いることとしても良い。なお、新たに初期値を設定する角度(図18(a)の角度t4)については、ランダムに、又は角度t3との差が90°、45°となるように設定することとしても良い。以上のようにして、図13の全処理が終了すると、図4のステップS22に移行する。このように、ステップS22に移行する段階では、図18(b)に示す角度t1、t2、t3、t4…の値及び補正パラメータr1、r2、r3、r4…が最適化された状態となる。
【0073】
図4に戻り、ステップS22では、移動経路算出部24が、移動経路を算出する。具体的には、移動経路算出部24は、ステップS20で求められた角度t1、t2、t3、t4…及び補正パラメータr1、r2、r3、r4…で、各リンクを連結したものを、移動経路として算出する。次いで、ステップS24では、移動経路算出部24が、マップマッチング処理を行う。例えば、ステップS22において、図19(a)のような移動経路が算出された場合には、移動経路算出部24は、算出された移動経路と、情報記憶部23に記憶されている地図データとをマップマッチングする。そして、移動経路算出部24は、図19(b)に太線で示すような、地図データ上での移動経路を生成する。
【0074】
次いで、図4のステップS26では、表示制御部25が、ステップS24にて生成された移動経路を、表示画面60上に出力する。
【0075】
以上のようにすることで、表示画面60上には、ユーザが歩行した経路が、表示されることになる。
【0076】
以上、詳細に説明したように、絶対位置検出部30が移動端末100の絶対位置を検出した結果と、リンク情報生成部22が取得した、移動端末100がある地点から所定方向に移動したときの、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶリンク情報と、に基づいて、移動経路算出部24が移動経路を算出する。この場合、移動経路算出部24は、リンク情報が示すリンクの長さを補正するための補正パラメータ(r1、r2、r3、…)と、リンクの方向((角度t1、t2、t3、…))とを絶対位置と、当該絶対位置を検出したときに移動端末100が移動していたリンク上の点との距離に基づいて算出する。すなわち、リンクの長さの補正パラメータと角度が絶対位置と移動端末100が移動していたリンクとの距離から適切な値に決定されるので、リンクの長さに誤差が含まれるような場合でも、移動経路算出部24は、補正パラメータで補正されたリンクの長さと方向とを用いて移動経路を算出することができる。これにより、絶対位置を間欠的に取得することとしても、移動経路の算出精度を高い精度に維持することができる。すなわち、本実施形態によれば、移動経路の算出精度を高く維持しつつ、絶対位置を間欠的に取得することで消費電力の低減を図ることができる。
【0077】
ここで、特開2009―92506号公報には、省電力化の観点から、ナビゲーション開始当初にGPSによる測位を行うとともに測位された現在位置から目的地までの距離又はルートに基づいて次の測位タイミングまでの歩数を算出し、その後、算出された歩数歩行した段階でGPS測位を行うとともに次の測位タイミングまでの歩数を算出するという方法が開示されている。しかしながら、この方法では、ルートが予め定められていなければ、GPS計測回数を減らすことはできない。これに対し、本実施形態では、ルートを予め定めておく必要がないため、ルートを定めずに移動経路を算出する場合において特に有用である。
【0078】
また、本実施形態では、移動経路算出部24は、絶対位置検出部30が検出した絶対位置と、この絶対位置を検出したときに移動端末100が位置していた線分上の点(位置)と、の距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータ(r1、r2、r3、…)とリンクの方向(角度t1、t2、t3、…)を算出するので、適切な演算により、移動経路の算出精度を高く維持することが可能となる。
【0079】
また、本実施形態では、リンク(i)に対応する絶対位置が1つ、リンク(i+1)に対応する絶対位置が0、リンク(i+2)に対応する絶対位置が1つ、であった場合に、移動経路算出部24は、リンク(i)〜リンク(i+2)から2つの線対称な移動経路を算出し、道路の情報に基づいて、2つの移動経路のうちの1つを、真の移動経路として選択する。このため、鏡像関係にある2つの移動経路が算出されてしまうような状況下でも、移動経路算出部24は、道路の情報に基づいて真の移動経路を選択することで、適切な移動経路を算出することができる。なお、本実施形態では、リンク(i−1)とリンク(i)とのなす角が90°に近い方の移動経路、又は、リンク(i+2)とリンク(i+3)とのなす角が90°に近い方の移動経路を、真の移動経路として選択することとしている。このため、道路の情報として、曲がり角の角度は90°に近い場合が多いという情報がある場合に、真の移動経路として、正しい移動経路(実際の移動経路と一致する移動経路)を高い確率で選択することができる。また、移動経路算出部24が、2つの移動経路のうち、道路地図との合致度が高い方を、真の移動経路として選択する場合には、道路情報として道路地図を用いることで、高い確率で真の移動経路を選択することができる。
【0080】
なお、上記実施形態では、上式(6)を用いて、GjとPjの距離の二乗和を算出し、その最小値から、リンクの角度の最適値を求める場合について説明した。しかしながらこれに限られるものではなく、Kamada,Kawaiモデルそのものを用いて、GiとPiとの間の仮想的なバネのエネルギが最も小さくなるような各リンクの角度を、最適値として求めることとしても良い。この場合、次式(7)が最小になるようにすれば良い。
【0081】
【数2】
【0082】
なお、上式(7)においては、エネルギの式の係数(1/2)を省略している。また、kjの値は、図20(a)〜図20(f)に示すような手法を用いて決定することとすれば良い。例えば、図20(a)、図20(b)に示すように、アンカーポイントを取得したときの、絶対位置検出部30による検出の信頼度が低かった場合、すなわち、通信できたGPS衛星の数が少なかった場合には、kを小さくする。一方、信頼度が高かった場合、すなわち、通信できたGPS衛星の数が多かった場合には、kを大きくする。なお、図20(a)〜図20(f)では、円の大きさが小さいほどkが大きいことを意味する。
【0083】
また、例えば、図20(c)に示すように、アンカーポイント間の距離が近い場合には、kが小さいと、破線で示すように2つのアンカーポイント内を通る直線の誤差を示す角度が大きくなる(角度a)。このため、図20(c)に示すように、角度が小さくするべく(角度b)、円を小さく、すなわちkを大きくする。これに対し、図20(d)に示すように、アンカーポイント間の距離が遠い場合には、円を大きく、すなわちkを小さくする。また、例えば、図20(e)に示すように、始点からアンカーポイントまでの距離が近い場合には、図20(c)の場合と同様、kを大きくする。これに対し、図20(f)に示すように、始点からアンカーポイントまでの距離が遠い場合には、図20(d)の場合と同様、kを小さくする。
【0084】
このようにすることで、信頼性や、アンカーポイント間の距離などが考慮された、適切な移動経路の算出が可能となる。
【0085】
なお、上記実施形態及び上記変形例では、アンカーポイントと、これに対応するとの距離の二乗和を利用して、移動経路を算出する場合について説明したが、これに限られるものではない。例えば、図21に示すようにアンカーポイントGと、リンク(i)との距離、すなわち、アンカーポイントGとリンクのうちアンカーポイントGに最も近い1点との距離、の二乗和が最小値となるようなリンクの角度を、最適値とすることとしても良い。
【0086】
なお、上記実施形態では、GPSデータベースにおける位置を、緯度、経度で表す場合について説明したが、緯度、経度をその他の値(例えば、出発点を原点とする距離)であらわすこととしても良い。この場合、x座標の正方向を東方向、y座標の正方向を北方向などとすることができる。
【0087】
なお、上記実施形態では、移動経路を移動端末100内で算出する場合について説明したが、これに限られるものではない。例えば、移動端末100では、絶対位置検出部30、地磁気情報検出部40、加速度情報検出部50の検出結果を、外部のサーバ等に送信することとしても良い。サーバに、図3の制御部20と同様の機能を持たせることで、サーバにおいて、移動経路や移動経路を算出することができる。また、サーバからは、算出された移動経路や移動経路を移動端末100に送信することとしても良い。
【0088】
なお、上記実施形態では、絶対位置検出部30として、GPSセンサを用いる場合について説明したが、これに限らず、その他の装置を用いることとしても良い。絶対位置検出手段としては、例えば、RFIDシステムなどを採用することができる。また、上記実施形態では、地磁気情報検出部40としては、地磁気センサに代えて、その他の方位センサ、例えば、ジャイロセンサなどを用いることとしても良い。
【0089】
なお、本実施形態における制御部20の処理機能は、コンピュータによって実現することができる。その場合、制御部20が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0090】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0091】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0092】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0093】
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) 移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得する取得部と、検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記移動経路算出部は、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出することを特徴とする移動端末。
(付記2) 前記移動経路算出部は、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が位置していた線分上の点と、の距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向を算出することを特徴とする付記1に記載の移動端末。
(付記3) 前記移動経路算出部は、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が移動していた線分上で前記絶対位置と最も近い点との距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向とを算出することを特徴とする付記1に記載の移動端末。
(付記4) 前記取得部がi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、前記移動経路算出部は、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、前記2つの移動経路のうちの1つを、真の移動経路として選択することを特徴とする付記1〜3のいずれかに記載の移動端末。
(付記5) 前記移動経路算出部は、前記2つの移動経路のうち、(i−1)番目の線分とi番目の線分とのなす角が90°に近い方の移動経路、又は、(i+2)番目の線分と(i+3)番目の線分とのなす角が90°に近い方の移動経路を、前記真の移動経路として選択することを特徴とする付記4に記載の移動端末。
(付記6) 前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路算出部は、前記2つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択することを特徴とする付記4に記載の移動端末。
(付記7) 移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、前記絶対位置検出部で検出した前記絶対位置と、前記取得部によって取得された前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記取得部がi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、前記移動経路算出部は、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、道路の情報に基づいて、前記2つの移動経路のうちの1つを真の移動経路として選択することを特徴とする移動端末。
(付記8) 前記移動経路算出部は、前記2つの移動経路のうち、(i−1)番目の線分とi番目の線分とのなす角が90°に近い方の移動経路、又は、(i+2)番目の線分と(i+3)番目の線分とのなす角が90°に近い方の移動経路を、前記真の移動経路として選択することを特徴とする付記7に記載の移動端末。
(付記9) 前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路算出部は、前記2つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択することを特徴とする付記7に記載の移動端末。
(付記10) 移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得し、検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、前記移動経路を算出する処理では、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出することを特徴とする移動経路算出プログラム。
(付記11) 前記移動経路を算出する処理では、前記コンピュータに、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が位置していた線分上の点と、の距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向を算出させることを特徴とする付記10に記載の移動経路算出プログラム。
(付記12) 前記移動経路を算出する処理では、前記コンピュータに、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が移動していた線分上で前記絶対位置と最も近い点との距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向とを算出させることを特徴とする付記10に記載の移動経路算出プログラム。
(付記13) 前記取得する処理で、i番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、前記移動経路を算出する処理では、前記コンピュータに、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出させ、前記2つの移動経路のうちの1つを、真の移動経路として選択させることを特徴とする付記10〜12のいずれかに記載の移動経路算出プログラム。
(付記14) 前記移動経路を算出する処理では、前記コンピュータに、前記2つの移動経路のうち、(i−1)番目の線分とi番目の線分とのなす角が90°に近い方の移動経路、又は、(i+2)番目の線分と(i+3)番目の線分とのなす角が90°に近い方の移動経路を、前記真の移動経路として選択させることを特徴とする付記13に記載の移動経路算出プログラム。
(付記15) 前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路を算出する処理では、前記コンピュータに、前記2つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択させることを特徴とする付記13に記載の移動経路算出プログラム。
(付記16) 移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得し、前記絶対位置検出部の検出結果と、前記線分情報とに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、前記線分情報を取得する処理でi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、前記移動経路を算出する処理では、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、道路の情報に基づいて、前記2つの移動経路のうちの1つを真の移動経路として選択することを特徴とする移動経路算出プログラム。
(付記17) 前記移動経路を算出する処理では、前記コンピュータに、前記2つの移動経路のうち、(i−1)番目の線分とi番目の線分とのなす角が90°に近い方の移動経路、又は、(i+2)番目の線分と(i+3)番目の線分とのなす角が90°に近い方の移動経路を、前記真の移動経路として選択させることを特徴とする付記16に記載の移動経路算出プログラム。
(付記18) 前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路を算出する処理では、前記コンピュータに、前記2つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択させることを特徴とする付記16に記載の移動経路算出プログラム。
【符号の説明】
【0094】
22 リンク情報生成部(取得部)
24 移動経路算出部
30 絶対位置検出部
100 移動端末
【技術分野】
【0001】
本件は、移動端末及び移動経路算出プログラムに関する。
【背景技術】
【0002】
近年、GPS(Global Positioning System)と自律航法を組み合わせたナビゲーションシステムが普及してきている。最近では、当該システムが搭載された携帯電話などの移動端末も出現してきている。
【0003】
特許文献1に記載の技術は、直進時におけるGPS出力位置の軌跡の連続性や直進性を維持しつつ、右折時や左折時等におけるGPS出力位置の追従性の問題を解消するため、GPS測位を頻繁に行うとともに、ジャイロセンサで進行方向曲がりを検出する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−115514号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、GPSは地磁気センサなどの端末内センサに比べて消費電力が大きいため、特許文献1のようにGPS測位を頻繁に行う方法を用いるのは現実的でない。一方、端末内センサを用いると、センサの計測誤差が累積的に蓄積される可能性が高い。
【0006】
1つの側面では、本発明は、移動経路を精度よく算出することが可能な移動端末及び移動経路算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本明細書に記載の移動端末は、移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得する取得部と、検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記移動経路算出部は、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出する。
【0008】
本明細書に記載の移動端末は、移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、前記絶対位置検出部で検出した前記絶対位置と、前記取得部によって取得された前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記取得部がi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、
前記移動経路算出部は、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、道路の情報に基づいて、前記2つの移動経路のうちの1つを真の移動経路として選択する。
【発明の効果】
【0009】
本明細書に記載の移動端末及び移動経路算出プログラムは、移動経路を精度よく算出することができるという効果を奏する。
【図面の簡単な説明】
【0010】
【図1】一実施形態に係る移動端末の構成を概略的に示す図である。
【図2】移動端末のハードウェア構成図である。
【図3】図1の制御部の機能ブロック図である。
【図4】移動端末で実行される処理の全体的な流れを示すフローチャートである。
【図5】図5(a)は、ステップS12のリンク情報取得処理のサブルーチンを示す図であり、図5(b)は、リンクデータベースを示す図である。
【図6】図6(a)、図6(b)は、ステップS14のGPS取得処理のサブルーチンを示す図である。
【図7】図7(a)は、ステップS40〜S48の処理を経たときの、アンカーポイント取得状況を示す図であり、図7(b)は、GPSアプリの停止コマンドが入力された直後のアンカーポイント取得状況を示す図である。
【図8】図6(a)のステップS50のサブルーチンを示すフローチャートである。
【図9】GPSデータベースを示す図である。
【図10】図10(a)〜図10(c)は、アンカーポイントの取得方法を示す図(その1)である。
【図11】図11(a),図11(b)は、アンカーポイントの取得方法を示す図(その2)である。
【図12】図12(a),図12(b)は、アンカーポイントの取得方法を示す図(その3)である。
【図13】ステップS20のサブルーチンを示すフローチャートである。
【図14】最適化処理を示す図(その1)である。
【図15】ステップS152のサブルーチンである。
【図16】対応点座標Piの求め方を説明するための図である。
【図17】図17(a)は、鏡像関係にある2つの移動経路を示す図であり,図17(b)は、地図とのマッチングにより真の移動経路を選択する例について説明するための図である。
【図18】図18(a)は図13のステップS162を説明するための図であり、図18(b)は、図4のステップS22を説明するための図である。
【図19】図19(a)、図19(b)は、マップマッチングについて説明するための図である。
【図20】図20(a)〜図20(f)は、変形例に係る係数kの設定方法を説明するための図である。
【図21】変形例に係る最適化処理を示す図である。
【発明を実施するための形態】
【0011】
以下、移動端末の一実施形態について、図1〜図21に基づいて詳細に説明する。図1には、移動端末100がブロック図にて示されている。本実施形態では、移動端末100は、例えば、携帯電話、PHS(Personal Handy-phone System)、スマートフォン、PDA(Personal Digital Assistant)などの携帯型の端末である。
【0012】
移動端末100は、図1に示すように、絶対位置検出部30と、地磁気情報検出部40と、加速度情報検出部50と、表示画面60と、入力インタフェース62と、制御部20と、を備える。なお、移動端末100は、通話機能や、メール、インターネットなどの通信機能、撮影機能などの各種機能を備える場合もあるが、図1では、これらの機能を実現するための構成についての図示は省略している。
【0013】
絶対位置検出部30は、本実施形態では、GPS受信機であり、上空に存在する複数個のGPS衛星からの信号を受けて、絶対位置(緯度・経度で示される位置)情報を得るものである。
【0014】
地磁気情報検出部40は、方位センサとも呼ばれ、3軸座標系上での地磁気の検出が可能な地磁気センサ、すなわち磁気方位センサである。加速度情報検出部50は、例えば、3軸方向の加速度を検出するセンサである。
【0015】
表示画面60は、制御部20の指示の下、各種情報を表示するものであり、例えば、移動端末100を保持するユーザが移動したルートの情報を、表示する。入力インタフェース62は、キーボードやタッチパネルなどを含む。
【0016】
図2には、制御部20のハードウェア構成が示されている。この図2に示すように、制御部20は、CPU(Central Processing Unit)90、ROM(Read Only Memory)91、RAM(Random Access Memory)92、記憶部(ここではHDD(Hard Disk Drive)とする)93、入出力部94等を備えており、制御部20の構成各部は、バス95を介して接続されている。制御部20では、CPU90がRAM92又はHDD93に格納された移動経路算出プログラムを実行することで、図3に示す各処理部の機能を実現する。また、HDD94は、制御部20内で得られたデータなどを記憶し、図3の情報記憶部23として機能する。入出力部94は、表示画面60や入力インタフェース62との通信を行う入出力ポートである。
【0017】
図3は、図1の制御部20の機能ブロック図である。この図3に示すように、制御部20は、CPU90が移動経路算出プログラムを実行することにより、制御部としての検出制御部21、取得部としてのリンク情報生成部22、情報記憶部23、移動経路算出部24、表示制御部25、及び計時部26等の機能を実現している。
【0018】
検出制御部21は、リンク情報生成部22からの情報、及び計時部26からの情報に基づいて、絶対位置検出部30の起動タイミング、すなわち検出タイミングを決定する。そして、検出制御部21は、決定した検出タイミングで、絶対位置検出部30に絶対位置計測を実行させる。
【0019】
リンク情報生成部22は、地磁気情報検出部40と加速度情報検出部50との検出結果に基づいて、移動端末100が直線移動している間(移動端末100がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間)の距離の情報を含む線分情報(「リンク情報」と呼ぶ)を生成する。なお、リンク情報生成部22は、移動端末100を保持するユーザが歩き始めたときからリンク情報の生成を開始する。一方、リンク情報生成部22は、入力インタフェース62を介してユーザから入力される歩行終了のコマンドを受け付けたときに、リンク情報の生成を終了する。また、リンク情報生成部22は、入力インタフェース62から入力される、GPSアプリケーションを終了するコマンドを受け付けたときに、検出制御部21に対して絶対位置検出部30による検出を中止すべき旨の指示を出す。
【0020】
情報記憶部23は、リンク情報生成部22で生成されたリンク情報や絶対位置検出部30で検出されたGPS計測結果を、データベースにて記憶する。移動経路算出部24は、移動端末100が直進移動している間に絶対位置検出部30で検出されたGPS計測結果に基づいて、移動方向所定方向を算出するとともに、当該移動方向とリンク情報に含まれる直進距離とから移動端末100の移動経路を算出する。移動経路算出部24は、リンク情報やGPS計測結果を情報記憶部23から読み出す。なお、情報記憶部23にて記憶されているデータベースの詳細な内容については、後述する。
【0021】
表示制御部25は、移動経路算出部24で取得された移動経路を取得して、表示画面60上に表示する。計時部26は、例えば、リアルタイムクロックを含み、所定時間間隔(例えば、3分間隔)で、後述する仮の検出タイミングが到来したことを、検出制御部21に通知する。
【0022】
次に、上記のように構成される移動端末100における処理について、図4〜図19に基づいて、詳細に説明する。図4は、移動端末100で実行される処理の全体的な流れを示すフローチャートである。
【0023】
図4の処理では、ステップS10において、リンク情報生成部22が、加速度情報検出部50が起動したか否かを判断する。このステップS10の判断が肯定された場合には、ステップS12及びステップS14に移行する。ステップS12、S14の各ステップは同時並行的に処理されるステップであり、ステップS12ではリンク情報取得処理が行われ、ステップS14ではGPS取得処理が行われる。以下、リンク情報取得処理(ステップS12)及びGPS取得処理(ステップS14)について、具体的に説明する。
【0024】
(A)リンク情報取得処理(ステップS12)
ステップS12のリンク情報取得処理のサブルーチンは、図5(a)のフローチャートに沿って行われる。具体的には、まず、ステップS30において、リンク情報生成部22が、曲がりを検出したか否かを判断する。ここで、曲がりとは、移動端末100を保持するユーザが進行方向を変更することを意味する。リンク情報生成部22は、例えば、地磁気情報検出部40で検出される地磁気の変化量が所定値以上になったときに、曲がりがあったことを検出する。
【0025】
ステップS30の判断が肯定されると、ステップS32に移行し、リンク情報生成部22は、直線移動した距離(リンク長)を次式(1)に基づいて算出する。
リンク長=(曲がりを検出したときの通算歩数
−前回曲がりを検出したときの通算歩数)×歩幅 …(1)
【0026】
ここで、歩数は、加速度情報検出部50により検出される加速度の変化から取得される値であり、歩幅は、ユーザにより設定される値である。なお、ユーザは歩幅に代えて、身長を入力することとしてもよく、この場合には、リンク情報生成部22は、入力された身長から、おおよその歩幅を算出する。なお、本実施形態では、上記のように歩数と予め入力された歩幅からリンク長を算出するため、リンク長が実際の歩行距離とは異なる値を示すおそれがある。
【0027】
ステップS12の処理が終了すると、図4のステップS16に移行する。ステップS16では、リンク情報生成部22が、移動経路算出用のデータとして、上式(1)に基づいて算出されたリンク長を情報記憶部23に格納されているリンクデータベース(図5(b)参照)の「補正前リンク長」に登録する。ここで、リンクデータベースには、図5(b)に示すように、リンクの通し番号である「リンクNo.」、曲がりを検出したときのユーザの通算の歩数である「曲がり時歩数」、曲がり時歩数と歩幅とから算出される「補正前リンク長」、及び補正前リンク長が補正された後のリンク長を示す「補正後リンク長」、所定方向(例えば、東)を基準とした角度(反時計回りの角度)である「リンク角度」、リンクの始点の座標である「リンク始点(x)」、「リンク始点(y)」、リンクの終点の座標である「リンク終点(x)」、「リンク終点(y)」の項目を含んでいる。なお、ステップS16の段階では、「リンク角度」、「リンク始点(x)」、「リンク始点(y)」、「リンク終点(x)」、「リンク終点(y)」の項目は空白のままとなる。
【0028】
そして、ステップS18では、リンク情報生成部22が歩行終了か否かを判断し、ここでの判断が否定された場合には、ステップS12に戻る。なお、ステップS18において歩行終了と判断される場合とは、例えば、加速度情報検出部50が所定時間ユーザの歩行を検出しなかったような場合や、ユーザが入力インタフェース62から、歩行終了のコマンドを入力した場合などである。
【0029】
なお、ステップS12の処理により得られるリンク長を含む線分の情報は、リンク又はリンク情報と呼ばれる。リンク情報は、始点と終点との間の長さの情報を含んでいるが、始点から終点まで延びる方向(東に対する角度)についての情報は含んでいない。各リンクには、取得順にリンクNo.が付与される。
【0030】
なお、以下においては、端末が現に移動しているリンクを「現在リンク」と呼ぶ。ただし、現在リンクを直進している間は、現在リンクの情報は、リンク情報生成部22では取得されないもので、次に曲がりが検出されたときにはじめて生成されるものである。また、現在リンクの前に生成されたリンク、すなわち、直近の曲がり検出が行われたときに生成されたリンクを、「1つ前のリンク」と呼ぶ(図11(a)等参照)。また、現在リンクの前の前に生成されたリンクを、「2つ前のリンク」と呼ぶ(図11(a)等参照)。
【0031】
(B)GPS取得処理(ステップS14)
次に、上記(A)リンク情報取得処理と同時並行的に行われる、ステップS14のGPS取得処理のサブルーチンについて、図6(a),図6(b)のフローチャートに沿って説明する。これら図6(a)の処理と、図6(b)の処理も、同時並行的に行われる。なお、図6(a)の処理については、以下において、「ステップS14(1)」と記述し、図6(b)の処理については、以下において、「ステップS14(2)」と記述するものとする。
【0032】
図6(a)のステップS14(1)では、ステップS40において、検出制御部21が、ユーザにより、GPS計測用のアプリケーション(以下、「GPSアプリ」と呼ぶ)が起動されたか否かを判断する。ユーザは、GPSアプリを起動するためのコマンドを、入力インタフェース62から入力する。ここでの判断が肯定されると、検出制御部21は、ステップS42に移行する。
【0033】
ステップS42では、検出制御部21の指示の下、計時部26が、タイマーを起動する。次いで、ステップS44では、検出制御部21が、絶対位置検出部30を介して、GPS計測を行う。GPS計測では、移動端末100の絶対位置(緯度、経度)が検出されることになる。なお、以下においては、ステップS12のリンク情報取得処理と並行して行うGPS計測(取得)を、「アンカーポイント取得」とも呼ぶものとする。また、アンカーポイントの位置情報についても、単に「アンカーポイント」と呼ぶものとする。
【0034】
ここまでのステップS40〜ステップS44の処理では、GPSアプリが起動された直後に、アンカーポイントが取得(アンカーポイントの位置情報が取得)されていることになる。
【0035】
次いで、ステップS46では、検出制御部21が、ユーザが30m歩行したか否かを判断する。ここで、検出制御部21は、30m歩行したか否かの判断を、加速度情報検出部50により検出される歩数と、歩幅との積から算出した値に基づいて行うものとする。ただし、これに限らず、検出制御部21は、一般的にユーザが30m歩行するのに要する時間(例えば、23秒)が経過したか否かに基づいて、30m歩行したか否かの判断を行うこととしても良い。なお、30m歩行するのに要する時間は、予め設定されていても良いが、検出制御部21が過去に取得された歩数に関するデータなどから自動的に設定することとしても良い。ステップS46の判断が肯定されると、ステップS48に移行する。
【0036】
ステップS48では、検出制御部21が、再度アンカーポイントを取得する。本実施形態では、上記のようにステップS40〜S48の処理を経ることで、図7(a)に示すように、GPSアプリを起動した位置(始点)から歩行を開始した後において、2つのアンカーポイントが取得されることになる。なお、図7(a)では、アンカーポイントを「Gn」で示し、アンカーポイントを取得した際のリンク上の位置(点)を「Pn」で示している。ここで、図7(a)において、始点から30m歩行した位置と、アンカーポイントを取得したときのリンク上の位置とが異なっている。このように位置が異なるのは、絶対位置検出部30では、その起動からアンカーポイントの検出までの間に、若干の遅れが生じることに起因している。なお、上記のように、検出制御部21が、始点から歩行を開始した後において2つのアンカーポイントを取得するのは、歩き始めの段階で、どちらの方向に向かって歩いているのかを取得しておくことで、後に行われる移動経路の算出精度を向上することができるからである。
【0037】
その後、検出制御部21は、ステップS50の通常処理に移行する。なお、ステップS50の処理については後述する。
【0038】
上記図6(a)の処理と同時並行的に行われる図6(b)のステップS14(2)では、検出制御部21は、ステップS60において、GPSアプリがユーザにより停止されるまで待機する。ユーザが、入力インタフェース62を介して、GPSアプリの停止コマンドを入力すると、ステップS60の判断が肯定され、ステップS62に移行する。ステップS62では、検出制御部21が、アンカーポイントを取得し、その後、図4のステップS16に移行する。なお、ステップS62では、図7(b)に示すように、GPSアプリの停止コマンドが入力された直後に、アンカーポイントGfinalが取得されることになる。
【0039】
次に、図6(a)のステップS50における「通常処理」のサブルーチンについて、図8に基づいて、詳細に説明する。なお、図8の処理が開始されると同時に、計時部26による計時を開始、すなわち、タイマーをスタートする。
【0040】
図8では、まず、ステップS70において、検出制御部21が、計時部26のタイマーを参照して、所定時間経過したか否かを判断する。ここでの判断が肯定された場合にはステップS72に移行するが、否定された場合にはステップS80に移行する。なお、所定時間とは、GPS計測を間欠的に行う間隔を意味し、予め定められた時間(例えば3分)であるものとする。なお、所定時間が経過するタイミングは、絶対位置を検出するための、仮の検出タイミングであるともいえる。仮の検出タイミングとは、ステップS74において判断が否定されることで、真の検出タイミングになるタイミングのことをいう。
【0041】
ステップS70の判断が肯定されて、ステップS72に移行した場合、検出制御部21は、現在リンクにおいてGPS計測(アンカーポイント取得)が既に行われているか否かの検索を行う。このステップS72では、検出制御部21は、情報記憶部23内に格納されている図9のようなGPSデータベースを検索する。GPSデータベースは、図9に示すように、アンカーポイントの計測が行われたときに取得中であったリンクの通し番号である「リンクNo.」、GPS測位結果を示す「緯度」、「経度」、GPS取得時までに歩き始めからユーザが歩いた歩数を示す「GPS取得時歩数」、及び「フラグ」の項目を有している。図9では、例えば、リンクの通し番号が「10」や「9」のときには、GPS計測が行われたことを示しているが、リンクの通し番号が「8」や「7」のときには、GPSデータベースのリンクNo.の項目に、「8」や「7」が存在していないので、GPS計測が行われていないことを示している。
【0042】
次のステップS74では、検出制御部21が、ステップS72の検索の結果に基づいて、現在リンクで既にGPS計測が行われたか否かを判断する。ここでの判断が否定された場合には、ステップS78に移行し、検出制御部21は、絶対位置検出部30を用いて、アンカーポイントを取得する。その後は、検出制御部21は、ステップS96において、計時部26のタイマーをリセットして、ステップS70に戻る。
【0043】
すなわち、図10(a)に示すように、現在リンクにおいて、未だアンカーポイントを取得していない場合には、検出制御部21は、所定時間経過後に絶対位置検出部30を起動して、位置Piにてアンカーポイントを取得する。換言すると、1つのリンクにおいては、2回以上アンカーポイントを取得しないようにする。このようにするのは、1つのリンクにおいて2回以上アンカーポイントを取得しても、移動経路の算出精度にさほど寄与することがない一方で、絶対位置検出部30の検出回数を減らすことで、電力消費量を低減することができるからである。
【0044】
一方、ステップS74の判断が肯定された場合、すなわち、図10(b)に示すように、現在リンクでGPSが既に取得されていた場合には、ステップS76に移行する。このステップS76では、検出制御部21が、フラグを立てる、つまり図9のGPSデータベースの「フラグ」の項目に1を設定する。その後、検出制御部21は、ステップS80に移行する。
【0045】
ステップS80では、検出制御部21が、曲がり検出したか否かを判断する。ここでの判断が否定された場合には、ステップS70に戻るが、判断が肯定された場合には、ステップS82に移行する。
【0046】
ステップS82では、検出制御部21が、過去2リンクを検索する。この検索の際には、ステップS72と同様、検出制御部21は、図9(a)のデータベースを検索する。すなわち、検出制御部21は、例えば、現在取得中のリンクの通し番号が「10」であるならば、通し番号「9」と「8」のリンクを検索する。
【0047】
次いで、ステップS84では、検出制御部21が、過去1リンク(1つ前のリンク)にフラグが立っているか否かを判断する。ここでの判断が肯定された場合、すなわち、1つ前のリンクにフラグ「1」が設定されている場合には、ステップS94に移行する。ステップS94に移行した場合、前述したのと同様、検出制御部21は、絶対位置検出部30を用いて、アンカーポイントを取得する。そして、検出制御部21は、ステップS96において、計時部26のタイマーをリセットして、ステップS70に戻る。すなわち、図10(c)に示すように、フラグが立った後に、曲がり検出がされた場合には、当該曲がり検出の直後に、アンカーポイントが取得されることになる。このように、曲がりが検出された直後にアンカーポイントを取得するのは、前述したように同一リンク上で2回以上絶対位置が取得されるのを回避した一方で、あまりにも長い間、絶対位置の取得が行われないとすると、移動経路の算出精度が低下するおそれがあるからである。
【0048】
これに対し、ステップS84の判断が否定された場合には、ステップS86において、検出制御部21が、2リンク前に、すなわち2つ前のリンクにおいてGPSが取得されているか否かを判断する。ここでの判断が肯定された場合には、ステップS70に戻る。すなわち、2リンク前にGPSが取得されていた場合には、図11(a)、図11(b)に示すように、1つ前のリンクにおいてGPSが取得されていたか否かにかかわらず、今回の曲がり検出後には、アンカーポイントを取得しない。このようにするのは、図11(b)のように連続するリンクでアンカーポイントを取得しなくても、リンクの角度を決定するのに支障はないためである。また、2本のリンクにおいてアンカーポイントを取得しなくても、次のリンクでアンカーポイントが取得できれば、リンクの角度を決定するのに支障はないためである。更に、アンカーポイントを取得しないこととすることで、絶対位置検出部30の検出回数を減らすことができ、これにより、電力消費量を低減することができるからである。
【0049】
一方、ステップS86の判断が否定された場合には、ステップS88に移行し、検出制御部21は、1リンク前、すなわち、1つ前のリンクにおいてGPS、すなわちアンカーポイントが取得されていたか否かを判断する。
【0050】
ここでの判断が肯定された場合には、ステップS94に移行して、検出制御部21は、絶対位置検出部30を用いて、アンカーポイントを取得する。そして、検出制御部21は、ステップS96において、計時部26のタイマーをリセットして、ステップS70に戻る。すなわち、図12(a)に示すように、2リンク前にアンカーポイントが取得されておらず、1リンク前にアンカーポイントが取得されている場合には、アンカーポイントを取得する。なお、このタイミングでアンカーポイントを取得するのは、図12(a)のPiにおいてアンカーポイントを取得しておかないと、移動経路算出に支障が出る(移動経路の一部が反転(左右対称)してしまう)おそれがあるからである。
【0051】
一方、ステップS88の判断が否定された場合には、ステップS90に移行する。このステップS90では、検出制御部21が、絶対位置検出部30を用いて、アンカーポイントを取得し、その後、ステップS92において、ユーザが30m歩行したと判断されるまで待機する。そして、ステップS92において、ユーザが30m歩行したことを、検出制御部21が判断した段階で、ステップS94に移行する。このステップS94では、検出制御部21が、絶対位置検出部30を用いて、アンカーポイントを再度取得する。すなわち、この場合、図12(b)に示すように、曲がり検出後、30mの間隔を空けて、2つのアンカーポイントが取得されることになる。このようにアンカーポイントを続けて2回計測するのは、当該2回の計測により、現在リンクの方向がほぼ決まるので、これにより、その前の2つのリンクの方向を、反転なく、大まかに決めることができるからである。その後、検出制御部21は、ステップS96において、計時部26のタイマーをリセットして、ステップS70に戻る。
【0052】
以上の処理が繰り返し行われることで、アンカーポイントが間欠的に取得されることになる。なお、図8の繰り返し処理は、図6(b)のステップS60における判断が肯定された段階で、強制的に終了する。
【0053】
図4に戻り、ステップS14の後に行われるステップS16では、検出制御部21が、移動経路算出用のデータとして、アンカーポイントの情報(GPS計測結果)を、情報記憶部23のGPSデータベースに保存する。そして、ステップS18に移行すると、検出制御部21は、歩行終了か否かを判断する。ここでの判断が肯定されると、検出制御部21は、ステップS20に移行する。以下、ステップS20の具体的な処理内容について、図13、図15のフローチャートに基づいて、説明する。
【0054】
(C)リンク角度・補正パラメータ算出処理(ステップS20)
図13は、ステップS20の処理の全体的な流れを示すフローチャートであり、図15は、図13のステップS152の処理内容を具体的に示すフローチャートである。なお、本ステップS20は、登録された歩幅の値に誤差があったり、実際の歩幅のばらつきがあったりするなどして、リンクの長さが正確でないことに起因して生じる移動経路の誤差の発生を抑制する処理である。また、本ステップS20は、アンカーポイントを間欠的に取得することにより実際の移動経路とは異なる(鏡像関係の)移動経路が算出されることを抑制する処理である。
【0055】
図13の処理では、まず、ステップS140において、移動経路算出部24が、最適化処理を行う最初のリンクをリンク(i)とする。ここで、最適化処理とは、図14のように連続する3本のリンク(ここでは、それぞれにおいてアンカーポイントが取得されているものとする)と、各リンクに対応するアンカーポイントを用いて、3本のうちで最も過去に取得されたリンクの角度(t1)の最適値と、リンクの長さの補正パラメータr1の最適値を算出するというものである。なお、ここでは、i=1であるものとする。
【0056】
次のステップS142では、移動経路算出部24が、最適化処理に用いるリンクの番号を示すパラメータjの値をiと同一に設定するとともに、リンク取得数を示すパラメータCの値を0に設定する。すなわち、ここでは、移動経路算出部24は、j=1、C=0とする。
【0057】
次いで、ステップS144では、移動経路算出部24が、リンク(j)を取得する。すなわち、リンク(j)を最適化処理に用いるリンクとする。次いで、ステップS146では、Cを1インクリメント(C←C+1、ここではC←1)した後、ステップS148に移行する。次いで、ステップS148では、移動経路算出部24が、C=Nであるか否かを判断する。この場合の値Nは、最適化に用いるべき、アンカーポイント取得が行われたリンク、すなわち、アンカーポイントが対応付けられたリンク、の本数である。なお、ここでは、N=3であるものとして説明する。このステップS148の判断が否定されると、ステップS150に移行し、移動経路算出部24が、jを1インクリメントする(j←j+1、ここでは、j←2)。その後、ステップS144に戻り、N本(ここでは3本)のリンクが取得されるまで、移動経路算出部24は、ステップS144〜S150の処理判断を繰り返す。
【0058】
そして、ステップS148の判断が肯定された段階で、ステップS152に移行する。
【0059】
このようにステップS152に移行する段階では、リンク(i)(ここでは、リンク(1))を最適化するために用いるリンクとして、図14に示す、リンク(1)〜リンク(3)が取得されたことになる。
【0060】
次のステップS152では、最適化処理のサブルーチンが実行される。具体的には、図15の処理が実行される。図15の処理では、まず、ステップS160において、移動経路算出部24が、各リンクの初期角度を決定する。このステップS160では、例えば、N本(ここでは3本)の角度t1、t2、t3の初期値を、ランダムに設定する。なお、これに限らず、t1の初期値を0°、t2の初期値を90°、t3の初期値を180°というように、90°刻みで設定しても良い。また、t1の初期値を0°、t2の初期値を45°、t3の初期値を90°というように、45°刻みで設定しても良い。あるいは、その他の角度刻みで設定しても良い。
【0061】
次いで、ステップS162では、移動経路算出部24が、対応点座標Pjを算出する。ここで、対応点座標Pjとは、アンカーポイントを取得したときに移動端末100が位置していたリンク上の1点(位置座標)を意味する。ここで、図16に示すように、j番目のリンクの始点をCj-1、終点をCj、長さ(リンク長)をljし、図14の始点C0の座標を(x0,y0)とすると、図14のC1〜C3は、次式(2)〜(4)にて表すことができる。
C1=C0+r1×l1×(cos(t1),sjn(t1)) …(2)
C2=C1+r2×l2×(cos(t2),sjn(t2)) …(3)
C3=C2+r3×l3×(cos(t3),sjn(t3)) …(4)
【0062】
なお、上式(2)〜(4)のrjは、リンク長(又は設定されている歩幅)を補正するための変数である補正パラメータである。なお、パラメータrjの範囲は、予め設定されているものとする。例えば、rjの範囲は、3/4≦rj≦5/4とする。ただし、当該範囲は、ユーザが入力インタフェース62を介して調整することが可能であるものとする。これにより、ユーザは、表示画面60に表示される移動経路(経路)がより正しい経路となるように、rjの範囲を調整することが可能となる。
【0063】
また、始点Cj-1から終点Cjまで移動する間の時間に対する、始点Cj-1からアンカーポイントを取得するまでの間の時間の割合をmj(図16参照)とすると、対応点座標Pjは、次式(5)にて表すことができる。
Pj=Cj-1+mj×(Cj−Cj-1) …(5)
【0064】
次いで、ステップS164では、移動経路算出部24が、GPS座標(アンカーポイント)Gjと、対応点座標Pjの距離の2乗和を算出する。具体的には、次式(6)により、算出される。
【0065】
【数1】
ここで、距離の2乗和を算出するのは、点Gjと点Pjとの間に、各点を結ぶバネ(バネ定数kは一定であるものとする)が存在していると想定して、各バネが最も安定する状態、すなわち、エネルギが最小となる状態が最適な状態であると推定する理論(Kamada,Kawaiのモデル)に基づく。
【0066】
次いで、ステップS166では、移動経路算出部24が、角度t1、t2、t3、及び補正パラメータr1、r2、r3の値を変更しつつ、距離の2乗和を算出することで、距離の2乗和が最小となるt1、t2、t3、r1、r2、r3を算出する。そして、そのうちのt1、r1の値を、リンク(1)の角度及びリンク(1)の補正パラメータとして、算出する。なお、図14では、ステップS166において角度及び補正パラメータが最適化されたリンク(1)のみを実線にて示している。その後は、図13のステップS154に移行する。
【0067】
その後、図13のステップS154に移行すると、移動経路算出部24は、リンク(i+2)以降にリンクが存在しているか否かを判断する。ここでの判断が否定された場合には、ステップS156に移行して、リンク(i)、リンク(i+1)、リンク(i+2)を確定する。すなわち、リンク(i)、リンク(i+1)、リンク(i+2)のリンク角度ti、ti+1、ti+2と、補正パラメータri、ri+1、ri+2を確定する。一方、ステップS154の判断が肯定された場合には、ステップS158に移行する。
【0068】
ステップS158では、移動経路算出部24が、リンク(i)以降のアンカーポイントの取得数が、1つ,0,1つの順に並んでいるか否かを判断する。ここでの判断が肯定された場合には、ステップS160に移行し、移動経路算出部24は、鏡像のリンクを検証する。具体的には、リンク(i)以降のアンカーポイントの取得数が、1つ,0,1つの順に並んでいる場合、図17(a)に示すように、実線で示す移動経路と、これと鏡像(線対称)の関係にある破線にて示す移動経路とが得られる。したがって、移動経路算出部24は、これら2つの移動経路から真の移動経路を選択する必要がある。当該選択の方法としては、例えば、リンク(i)とリンク(i−1)との角度が90°に近い方の移動経路を真の移動経路として選択する方法を採用することができる。これは、道路の曲がり角は、一般的には90°に近い角度で曲がっている場合が多いという道路情報に基づくものであり、リンク(i)とリンク(i−1)との角度が90°に近い方が、正しい移動経路である可能性が高いからである。
【0069】
なお、リンク(i)がリンク(1)である場合には、リンク(i−1)が存在しない。このような場合には、移動経路算出部24は、リンク(i+2)とリンク(i+3)との角度が90°に近い方の移動経路を、真の移動経路として選択することとしてもよい。ただし、これに限らず、リンク(i)がリンク(1)でなくとも、リンク(i+2)とリンク(i+3)との角度が90°に近い方の移動経路を、真の移動経路として選択することとしてもよい。
【0070】
なお、真の移動経路の選択方法は、上記方法に限られるものではない。例えば、図17(b)に示すように、2つの移動経路を道路情報としての地図(移動端末100の位置周辺の地図)とマッチングさせて、地図(道路)との合致度が高い(又は道路との乖離度が低い)ほうを真の移動経路とすることとしてもよい。なお、図17(b)では、図17(a)において破線で示す移動経路が、真の移動経路として選択されることになる。なお、これらの方法に限らず、その他、道路の情報に基づいて鏡像関係にある2つの移動経路から、真の移動経路を選択する方法を採用することとしてもよい。
【0071】
図13に戻り、上記のようにしてステップS160の処理が行われた後は、ステップS162に移行し、移動経路算出部24は、リンク(i)(ここでは、リンク(1))を確定する。なお、角度t1が確定すると、図5(b)のデータベースの「リンク角度」の項目への登録が可能となる。また、補正パラメータr1が決まると、図5(b)の「補正後リンク長」への登録が可能となる。また、t1、r1が決まることで、リンク始点(x),(y)、リンク終点(x),(y)の項目への登録も可能となる。
【0072】
一方、ステップS158の判断が否定された場合には、ステップS160を経ずにステップS162に移行し、リンク(i)を確定する。その後は、ステップS164に移行して、iを1インクリメント(i←i+1)した後に、ステップS142に戻る。そして、全てのリンクについての角度が決定(リンクが確定)するまで、ステップS142〜S164の処理・判断を繰り返す。なお、図13の処理が2回目に行われるときには、図18(a)に示すように、リンク(2),(3),(4)を用いて、リンク(2)の角度t2を算出することになる。この場合、リンクの角度t2,t3,t4の初期値としては、前回の最適化処理(角度t1を最適化した処理)で算出された、t2やt3の値を、初期値として用いることとしても良い。なお、新たに初期値を設定する角度(図18(a)の角度t4)については、ランダムに、又は角度t3との差が90°、45°となるように設定することとしても良い。以上のようにして、図13の全処理が終了すると、図4のステップS22に移行する。このように、ステップS22に移行する段階では、図18(b)に示す角度t1、t2、t3、t4…の値及び補正パラメータr1、r2、r3、r4…が最適化された状態となる。
【0073】
図4に戻り、ステップS22では、移動経路算出部24が、移動経路を算出する。具体的には、移動経路算出部24は、ステップS20で求められた角度t1、t2、t3、t4…及び補正パラメータr1、r2、r3、r4…で、各リンクを連結したものを、移動経路として算出する。次いで、ステップS24では、移動経路算出部24が、マップマッチング処理を行う。例えば、ステップS22において、図19(a)のような移動経路が算出された場合には、移動経路算出部24は、算出された移動経路と、情報記憶部23に記憶されている地図データとをマップマッチングする。そして、移動経路算出部24は、図19(b)に太線で示すような、地図データ上での移動経路を生成する。
【0074】
次いで、図4のステップS26では、表示制御部25が、ステップS24にて生成された移動経路を、表示画面60上に出力する。
【0075】
以上のようにすることで、表示画面60上には、ユーザが歩行した経路が、表示されることになる。
【0076】
以上、詳細に説明したように、絶対位置検出部30が移動端末100の絶対位置を検出した結果と、リンク情報生成部22が取得した、移動端末100がある地点から所定方向に移動したときの、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶリンク情報と、に基づいて、移動経路算出部24が移動経路を算出する。この場合、移動経路算出部24は、リンク情報が示すリンクの長さを補正するための補正パラメータ(r1、r2、r3、…)と、リンクの方向((角度t1、t2、t3、…))とを絶対位置と、当該絶対位置を検出したときに移動端末100が移動していたリンク上の点との距離に基づいて算出する。すなわち、リンクの長さの補正パラメータと角度が絶対位置と移動端末100が移動していたリンクとの距離から適切な値に決定されるので、リンクの長さに誤差が含まれるような場合でも、移動経路算出部24は、補正パラメータで補正されたリンクの長さと方向とを用いて移動経路を算出することができる。これにより、絶対位置を間欠的に取得することとしても、移動経路の算出精度を高い精度に維持することができる。すなわち、本実施形態によれば、移動経路の算出精度を高く維持しつつ、絶対位置を間欠的に取得することで消費電力の低減を図ることができる。
【0077】
ここで、特開2009―92506号公報には、省電力化の観点から、ナビゲーション開始当初にGPSによる測位を行うとともに測位された現在位置から目的地までの距離又はルートに基づいて次の測位タイミングまでの歩数を算出し、その後、算出された歩数歩行した段階でGPS測位を行うとともに次の測位タイミングまでの歩数を算出するという方法が開示されている。しかしながら、この方法では、ルートが予め定められていなければ、GPS計測回数を減らすことはできない。これに対し、本実施形態では、ルートを予め定めておく必要がないため、ルートを定めずに移動経路を算出する場合において特に有用である。
【0078】
また、本実施形態では、移動経路算出部24は、絶対位置検出部30が検出した絶対位置と、この絶対位置を検出したときに移動端末100が位置していた線分上の点(位置)と、の距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータ(r1、r2、r3、…)とリンクの方向(角度t1、t2、t3、…)を算出するので、適切な演算により、移動経路の算出精度を高く維持することが可能となる。
【0079】
また、本実施形態では、リンク(i)に対応する絶対位置が1つ、リンク(i+1)に対応する絶対位置が0、リンク(i+2)に対応する絶対位置が1つ、であった場合に、移動経路算出部24は、リンク(i)〜リンク(i+2)から2つの線対称な移動経路を算出し、道路の情報に基づいて、2つの移動経路のうちの1つを、真の移動経路として選択する。このため、鏡像関係にある2つの移動経路が算出されてしまうような状況下でも、移動経路算出部24は、道路の情報に基づいて真の移動経路を選択することで、適切な移動経路を算出することができる。なお、本実施形態では、リンク(i−1)とリンク(i)とのなす角が90°に近い方の移動経路、又は、リンク(i+2)とリンク(i+3)とのなす角が90°に近い方の移動経路を、真の移動経路として選択することとしている。このため、道路の情報として、曲がり角の角度は90°に近い場合が多いという情報がある場合に、真の移動経路として、正しい移動経路(実際の移動経路と一致する移動経路)を高い確率で選択することができる。また、移動経路算出部24が、2つの移動経路のうち、道路地図との合致度が高い方を、真の移動経路として選択する場合には、道路情報として道路地図を用いることで、高い確率で真の移動経路を選択することができる。
【0080】
なお、上記実施形態では、上式(6)を用いて、GjとPjの距離の二乗和を算出し、その最小値から、リンクの角度の最適値を求める場合について説明した。しかしながらこれに限られるものではなく、Kamada,Kawaiモデルそのものを用いて、GiとPiとの間の仮想的なバネのエネルギが最も小さくなるような各リンクの角度を、最適値として求めることとしても良い。この場合、次式(7)が最小になるようにすれば良い。
【0081】
【数2】
【0082】
なお、上式(7)においては、エネルギの式の係数(1/2)を省略している。また、kjの値は、図20(a)〜図20(f)に示すような手法を用いて決定することとすれば良い。例えば、図20(a)、図20(b)に示すように、アンカーポイントを取得したときの、絶対位置検出部30による検出の信頼度が低かった場合、すなわち、通信できたGPS衛星の数が少なかった場合には、kを小さくする。一方、信頼度が高かった場合、すなわち、通信できたGPS衛星の数が多かった場合には、kを大きくする。なお、図20(a)〜図20(f)では、円の大きさが小さいほどkが大きいことを意味する。
【0083】
また、例えば、図20(c)に示すように、アンカーポイント間の距離が近い場合には、kが小さいと、破線で示すように2つのアンカーポイント内を通る直線の誤差を示す角度が大きくなる(角度a)。このため、図20(c)に示すように、角度が小さくするべく(角度b)、円を小さく、すなわちkを大きくする。これに対し、図20(d)に示すように、アンカーポイント間の距離が遠い場合には、円を大きく、すなわちkを小さくする。また、例えば、図20(e)に示すように、始点からアンカーポイントまでの距離が近い場合には、図20(c)の場合と同様、kを大きくする。これに対し、図20(f)に示すように、始点からアンカーポイントまでの距離が遠い場合には、図20(d)の場合と同様、kを小さくする。
【0084】
このようにすることで、信頼性や、アンカーポイント間の距離などが考慮された、適切な移動経路の算出が可能となる。
【0085】
なお、上記実施形態及び上記変形例では、アンカーポイントと、これに対応するとの距離の二乗和を利用して、移動経路を算出する場合について説明したが、これに限られるものではない。例えば、図21に示すようにアンカーポイントGと、リンク(i)との距離、すなわち、アンカーポイントGとリンクのうちアンカーポイントGに最も近い1点との距離、の二乗和が最小値となるようなリンクの角度を、最適値とすることとしても良い。
【0086】
なお、上記実施形態では、GPSデータベースにおける位置を、緯度、経度で表す場合について説明したが、緯度、経度をその他の値(例えば、出発点を原点とする距離)であらわすこととしても良い。この場合、x座標の正方向を東方向、y座標の正方向を北方向などとすることができる。
【0087】
なお、上記実施形態では、移動経路を移動端末100内で算出する場合について説明したが、これに限られるものではない。例えば、移動端末100では、絶対位置検出部30、地磁気情報検出部40、加速度情報検出部50の検出結果を、外部のサーバ等に送信することとしても良い。サーバに、図3の制御部20と同様の機能を持たせることで、サーバにおいて、移動経路や移動経路を算出することができる。また、サーバからは、算出された移動経路や移動経路を移動端末100に送信することとしても良い。
【0088】
なお、上記実施形態では、絶対位置検出部30として、GPSセンサを用いる場合について説明したが、これに限らず、その他の装置を用いることとしても良い。絶対位置検出手段としては、例えば、RFIDシステムなどを採用することができる。また、上記実施形態では、地磁気情報検出部40としては、地磁気センサに代えて、その他の方位センサ、例えば、ジャイロセンサなどを用いることとしても良い。
【0089】
なお、本実施形態における制御部20の処理機能は、コンピュータによって実現することができる。その場合、制御部20が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0090】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0091】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0092】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0093】
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) 移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得する取得部と、検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記移動経路算出部は、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出することを特徴とする移動端末。
(付記2) 前記移動経路算出部は、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が位置していた線分上の点と、の距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向を算出することを特徴とする付記1に記載の移動端末。
(付記3) 前記移動経路算出部は、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が移動していた線分上で前記絶対位置と最も近い点との距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向とを算出することを特徴とする付記1に記載の移動端末。
(付記4) 前記取得部がi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、前記移動経路算出部は、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、前記2つの移動経路のうちの1つを、真の移動経路として選択することを特徴とする付記1〜3のいずれかに記載の移動端末。
(付記5) 前記移動経路算出部は、前記2つの移動経路のうち、(i−1)番目の線分とi番目の線分とのなす角が90°に近い方の移動経路、又は、(i+2)番目の線分と(i+3)番目の線分とのなす角が90°に近い方の移動経路を、前記真の移動経路として選択することを特徴とする付記4に記載の移動端末。
(付記6) 前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路算出部は、前記2つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択することを特徴とする付記4に記載の移動端末。
(付記7) 移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、前記絶対位置検出部で検出した前記絶対位置と、前記取得部によって取得された前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記取得部がi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、前記移動経路算出部は、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、道路の情報に基づいて、前記2つの移動経路のうちの1つを真の移動経路として選択することを特徴とする移動端末。
(付記8) 前記移動経路算出部は、前記2つの移動経路のうち、(i−1)番目の線分とi番目の線分とのなす角が90°に近い方の移動経路、又は、(i+2)番目の線分と(i+3)番目の線分とのなす角が90°に近い方の移動経路を、前記真の移動経路として選択することを特徴とする付記7に記載の移動端末。
(付記9) 前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路算出部は、前記2つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択することを特徴とする付記7に記載の移動端末。
(付記10) 移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得し、検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、前記移動経路を算出する処理では、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出することを特徴とする移動経路算出プログラム。
(付記11) 前記移動経路を算出する処理では、前記コンピュータに、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が位置していた線分上の点と、の距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向を算出させることを特徴とする付記10に記載の移動経路算出プログラム。
(付記12) 前記移動経路を算出する処理では、前記コンピュータに、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が移動していた線分上で前記絶対位置と最も近い点との距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向とを算出させることを特徴とする付記10に記載の移動経路算出プログラム。
(付記13) 前記取得する処理で、i番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、前記移動経路を算出する処理では、前記コンピュータに、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出させ、前記2つの移動経路のうちの1つを、真の移動経路として選択させることを特徴とする付記10〜12のいずれかに記載の移動経路算出プログラム。
(付記14) 前記移動経路を算出する処理では、前記コンピュータに、前記2つの移動経路のうち、(i−1)番目の線分とi番目の線分とのなす角が90°に近い方の移動経路、又は、(i+2)番目の線分と(i+3)番目の線分とのなす角が90°に近い方の移動経路を、前記真の移動経路として選択させることを特徴とする付記13に記載の移動経路算出プログラム。
(付記15) 前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路を算出する処理では、前記コンピュータに、前記2つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択させることを特徴とする付記13に記載の移動経路算出プログラム。
(付記16) 移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得し、前記絶対位置検出部の検出結果と、前記線分情報とに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、前記線分情報を取得する処理でi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、前記移動経路を算出する処理では、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、道路の情報に基づいて、前記2つの移動経路のうちの1つを真の移動経路として選択することを特徴とする移動経路算出プログラム。
(付記17) 前記移動経路を算出する処理では、前記コンピュータに、前記2つの移動経路のうち、(i−1)番目の線分とi番目の線分とのなす角が90°に近い方の移動経路、又は、(i+2)番目の線分と(i+3)番目の線分とのなす角が90°に近い方の移動経路を、前記真の移動経路として選択させることを特徴とする付記16に記載の移動経路算出プログラム。
(付記18) 前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路を算出する処理では、前記コンピュータに、前記2つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択させることを特徴とする付記16に記載の移動経路算出プログラム。
【符号の説明】
【0094】
22 リンク情報生成部(取得部)
24 移動経路算出部
30 絶対位置検出部
100 移動端末
【特許請求の範囲】
【請求項1】
移動端末の絶対位置を検出する絶対位置検出部と、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得する取得部と、
検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、
を備え、
前記移動経路算出部は、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出することを特徴とする移動端末。
【請求項2】
前記移動経路算出部は、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が位置していた線分上の点と、の距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向を算出することを特徴とする請求項1に記載の移動端末。
【請求項3】
前記移動経路算出部は、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が移動していた線分上で前記絶対位置と最も近い点との距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向とを算出することを特徴とする請求項1に記載の移動端末。
【請求項4】
前記取得部がi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、
前記移動経路算出部は、
前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、前記2つの移動経路のうちの1つを、真の移動経路として選択することを特徴とする請求項1〜3のいずれか一項に記載の移動端末。
【請求項5】
前記移動経路算出部は、前記2つの移動経路のうち、(i−1)番目の線分とi番目の線分とのなす角が90°に近い方の移動経路、又は、(i+2)番目の線分と(i+3)番目の線分とのなす角が90°に近い方の移動経路を、前記真の移動経路として選択することを特徴とする請求項4に記載の移動端末。
【請求項6】
移動端末の絶対位置を検出する絶対位置検出部と、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、
前記絶対位置検出部で検出した前記絶対位置と、前記取得部によって取得された前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、
を備え、
前記取得部がi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、
前記移動経路算出部は、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、道路の情報に基づいて、前記2つの移動経路のうちの1つを真の移動経路として選択することを特徴とする移動端末。
【請求項7】
移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得し、
検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、
前記移動経路を算出する処理では、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出することを特徴とする移動経路算出プログラム。
【請求項8】
移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得し、
前記絶対位置検出部の検出結果と、前記線分情報とに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、
前記線分情報を取得する処理でi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、
前記移動経路を算出する処理では、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、道路の情報に基づいて、前記2つの移動経路のうちの1つを真の移動経路として選択することを特徴とする移動経路算出プログラム。
【請求項1】
移動端末の絶対位置を検出する絶対位置検出部と、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得する取得部と、
検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、
を備え、
前記移動経路算出部は、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出することを特徴とする移動端末。
【請求項2】
前記移動経路算出部は、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が位置していた線分上の点と、の距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向を算出することを特徴とする請求項1に記載の移動端末。
【請求項3】
前記移動経路算出部は、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が移動していた線分上で前記絶対位置と最も近い点との距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向とを算出することを特徴とする請求項1に記載の移動端末。
【請求項4】
前記取得部がi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、
前記移動経路算出部は、
前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、前記2つの移動経路のうちの1つを、真の移動経路として選択することを特徴とする請求項1〜3のいずれか一項に記載の移動端末。
【請求項5】
前記移動経路算出部は、前記2つの移動経路のうち、(i−1)番目の線分とi番目の線分とのなす角が90°に近い方の移動経路、又は、(i+2)番目の線分と(i+3)番目の線分とのなす角が90°に近い方の移動経路を、前記真の移動経路として選択することを特徴とする請求項4に記載の移動端末。
【請求項6】
移動端末の絶対位置を検出する絶対位置検出部と、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、
前記絶対位置検出部で検出した前記絶対位置と、前記取得部によって取得された前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、
を備え、
前記取得部がi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、
前記移動経路算出部は、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、道路の情報に基づいて、前記2つの移動経路のうちの1つを真の移動経路として選択することを特徴とする移動端末。
【請求項7】
移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得し、
検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、
前記移動経路を算出する処理では、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出することを特徴とする移動経路算出プログラム。
【請求項8】
移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得し、
前記絶対位置検出部の検出結果と、前記線分情報とに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、
前記線分情報を取得する処理でi番目(iは自然数)に取得した線分に対応する絶対位置が1つ、(i+1)番目に取得した線分に対応する絶対位置が0、(i+2)番目に取得した線分に対応する絶対位置が1つ、であった場合には、
前記移動経路を算出する処理では、前記i番目、(i+1)番目、(i+2)番目の線分から2つの線対称な移動経路を算出し、道路の情報に基づいて、前記2つの移動経路のうちの1つを真の移動経路として選択することを特徴とする移動経路算出プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2012−198146(P2012−198146A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2011−63265(P2011−63265)
【出願日】平成23年3月22日(2011.3.22)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願日】平成23年3月22日(2011.3.22)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]