(57)【特許請求の範囲】
【請求項１】
移動端末の絶対位置を検出する絶対位置検出部と、
前記移動端末の加速度を検出する加速度検出部と、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される他の地点までの間を結ぶ線分の長さを、検出された前記加速度の変化に基づいて算出する線分長算出部と、
前記ある地点から前記他の地点までの移動中に検出した前記絶対位置と、算出した前記線分の長さとに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、
を備え、
前記移動経路算出部は、
検出した前記絶対位置と、算出した前記線分の長さと、与えられた前記線分の方向の初期角度とに基づき、前記線分の始点及び終点の各座標を算出し、
前記線分の始点及び終点の各座標から、前記絶対位置に対応する前記線分上の点の座標を算出し、
前記ある地点から前記他の地点までの移動中に検出した前記絶対位置の各々と、前記絶対位置の各々に対応する前記線分上の点との距離に関する指標に基づき、前記線分の長さを補正するための補正パラメータと前記線分の方向とを算出することを特徴とする移動端末。
【請求項２】
前記移動経路算出部は、前記ある地点から前記他の地点までの移動中に検出した前記絶対位置の各々と、前記絶対位置の各々に対応する前記線分上の点との各距離を算出し、これらの二乗和を最小とする前記補正パラメータと前記線分の方向を算出することを特徴とする請求項１に記載の移動端末。
【請求項３】
前記移動経路算出部は、前記絶対位置に対応する前記線分上の点の座標として、検出した前記絶対位置と、検出した前記加速度の変化から算出される移動距離とに基づく前記線分上の点の座標、または前記線分上で前記絶対位置と最も近い点の座標を算出することを特徴とする請求項１または２に記載の移動端末。
【請求項４】
前記線分長算出部がｉ番目（ｉは自然数）に長さを算出した線分に対応する前記絶対位置が１つ、（ｉ＋１）番目に長さを算出した線分に対応する前記絶対位置が０、（ｉ＋２）番目に長さを算出した線分に対応する前記絶対位置が１つ、であった場合には、
前記移動経路算出部は、
前記ｉ番目、（ｉ＋１）番目、（ｉ＋２）番目の線分から２つの線対称な移動経路を算出し、前記２つの線対称な移動経路のうちの１つを、真の移動経路として選択することを特徴とする請求項１〜３のいずれか一項に記載の移動端末。
【請求項５】
前記移動経路算出部は、前記２つの線対称な移動経路のうち、（ｉ−１）番目の線分とｉ番目の線分とのなす角が９０°に近い方の移動経路、又は、（ｉ＋２）番目の線分と（ｉ＋３）番目の線分とのなす角が９０°に近い方の移動経路を、前記真の移動経路として選択することを特徴とする請求項４に記載の移動端末。
【請求項６】
前記移動経路算出部は、前記ｉ番目、（ｉ＋１）番目、（ｉ＋２）番目の線分から２つの線対称な移動経路を算出し、道路の情報に基づいて、前記２つの線対称な移動経路のうちの１つを真の移動経路として選択することを特徴とする請求項４または５に記載の移動端末。
【請求項７】
移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される他の地点までの間を結ぶ線分の長さを、前記移動端末の加速度の変化に基づいて算出し、
前記ある地点から前記他の地点までの移動中に検出した前記絶対位置と、算出した前記線分の長さとに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、
前記移動経路を算出する処理では、
検出した前記絶対位置と、算出した前記線分の長さと、与えられた前記線分の方向の初期角度とに基づき、前記線分の始点及び終点の各座標を算出し、
前記線分の始点及び終点の各座標から、前記絶対位置に対応する前記線分上の点の座標を算出し、
前記ある地点から前記他の地点までの移動中に検出した前記絶対位置の各々と、前記絶対位置の各々に対応する前記線分上の点との距離に関する指標に基づき、前記線分の長さを補正するための補正パラメータと前記線分の方向とを算出することを特徴とする移動経路算出プログラム。
【請求項８】
前記線分の長さを算出する処理でｉ番目（ｉは自然数）に長さを算出した線分に対応する前記絶対位置が１つ、（ｉ＋１）番目に長さを算出した線分に対応する前記絶対位置が０、（ｉ＋２）番目に長さを算出した線分に対応する前記絶対位置が１つ、であった場合には、
前記移動経路を算出する処理では、前記ｉ番目、（ｉ＋１）番目、（ｉ＋２）番目の線分から２つの線対称な移動経路を算出し、道路の情報に基づいて、前記２つの線対称な移動経路のうちの１つを真の移動経路として選択することを特徴とする請求項７に記載の移動経路算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、移動端末及び移動経路算出プログラムに関する。
【背景技術】
【０００２】
近年、ＧＰＳ（Global Positioning System）と自律航法を組み合わせたナビゲーションシステムが普及してきている。最近では、当該システムが搭載された携帯電話などの移動端末も出現してきている。
【０００３】
特許文献１に記載の技術は、直進時におけるＧＰＳ出力位置の軌跡の連続性や直進性を維持しつつ、右折時や左折時等におけるＧＰＳ出力位置の追従性の問題を解消するため、ＧＰＳ測位を頻繁に行うとともに、ジャイロセンサで進行方向曲がりを検出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１１５５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＧＰＳは地磁気センサなどの端末内センサに比べて消費電力が大きいため、特許文献１のようにＧＰＳ測位を頻繁に行う方法を用いるのは現実的でない。一方、端末内センサを用いると、センサの計測誤差が累積的に蓄積される可能性が高い。
【０００６】
１つの側面では、本発明は、移動経路を精度よく算出することが可能な移動端末及び移動経路算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本明細書に記載の移動端末は、移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末の加速度を検出する加速度検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される他の地点までの間を結ぶ線分の長さを、検出された前記加速度の変化に基づいて算出する線分長算出部と、前記ある地点から前記他の地点までの移動中に検出した前記絶対位置と、算出した前記線分の長さとに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記移動経路算出部は、検出した前記絶対位置と、算出した前記線分の長さと、与えられた前記線分の方向の初期角度とに基づき、前記線分の始点及び終点の各座標を算出し、前記線分の始点及び終点の各座標から、前記絶対位置に対応する前記線分上の点の座標を算出し、前記ある地点から前記他の地点までの移動中に検出した前記絶対位置の各々と、前記絶対位置の各々に対応する前記線分上の点との距離に関する指標に基づき、前記線分の長さを補正するための補正パラメータと前記線分の方向とを算出する。
【０００８】
本明細書に記載の移動経路算出プログラムは、移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される他の地点までの間を結ぶ線分の長さを、前記移動端末の加速度の変化に基づいて算出し、前記ある地点から前記他の地点までの移動中に検出した前記絶対位置と、算出した前記線分の長さとに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、前記移動経路を算出する処理では、検出した前記絶対位置と、算出した前記線分の長さと、与えられた前記線分の方向の初期角度とに基づき、前記線分の始点及び終点の各座標を算出し、前記線分の始点及び終点の各座標から、前記絶対位置に対応する前記線分上の点の座標を算出し、前記ある地点から前記他の地点までの移動中に検出した前記絶対位置の各々と、前記絶対位置の各々に対応する前記線分上の点との距離に関する指標に基づき、前記線分の長さを補正するための補正パラメータと前記線分の方向とを算出する移動経路算出プログラムである。
【発明の効果】
【０００９】
本明細書に記載の移動端末及び移動経路算出プログラムは、移動経路を精度よく算出することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る移動端末の構成を概略的に示す図である。
【図２】移動端末のハードウェア構成図である。
【図３】図１の制御部の機能ブロック図である。
【図４】移動端末で実行される処理の全体的な流れを示すフローチャートである。
【図５】図５（ａ）は、ステップＳ１２のリンク情報取得処理のサブルーチンを示す図であり、図５（ｂ）は、リンクデータベースを示す図である。
【図６】図６（ａ）、図６（ｂ）は、ステップＳ１４のＧＰＳ取得処理のサブルーチンを示す図である。
【図７】図７（ａ）は、ステップＳ４０〜Ｓ４８の処理を経たときの、アンカーポイント取得状況を示す図であり、図７（ｂ）は、ＧＰＳアプリの停止コマンドが入力された直後のアンカーポイント取得状況を示す図である。
【図８】図６（ａ）のステップＳ５０のサブルーチンを示すフローチャートである。
【図９】ＧＰＳデータベースを示す図である。
【図１０】図１０（ａ）〜図１０（ｃ）は、アンカーポイントの取得方法を示す図（その１）である。
【図１１】図１１（ａ），図１１（ｂ）は、アンカーポイントの取得方法を示す図（その２）である。
【図１２】図１２（ａ），図１２（ｂ）は、アンカーポイントの取得方法を示す図（その３）である。
【図１３】ステップＳ２０のサブルーチンを示すフローチャートである。
【図１４】最適化処理を示す図（その１）である。
【図１５】ステップＳ１５２のサブルーチンである。
【図１６】対応点座標Ｐiの求め方を説明するための図である。
【図１７】図１７（ａ）は、鏡像関係にある２つの移動経路を示す図であり，図１７（ｂ）は、地図とのマッチングにより真の移動経路を選択する例について説明するための図である。
【図１８】図１８（ａ）は図１３のステップＳ１６２を説明するための図であり、図１８（ｂ）は、図４のステップＳ２２を説明するための図である。
【図１９】図１９（ａ）、図１９（ｂ）は、マップマッチングについて説明するための図である。
【図２０】図２０（ａ）〜図２０（ｆ）は、変形例に係る係数ｋの設定方法を説明するための図である。
【図２１】変形例に係る最適化処理を示す図である。
【発明を実施するための形態】
【００１１】
以下、移動端末の一実施形態について、図１〜図２１に基づいて詳細に説明する。図１には、移動端末１００がブロック図にて示されている。本実施形態では、移動端末１００は、例えば、携帯電話、ＰＨＳ（Personal Handy-phone System）、スマートフォン、ＰＤＡ（Personal Digital Assistant）などの携帯型の端末である。
【００１２】
移動端末１００は、図１に示すように、絶対位置検出部３０と、地磁気情報検出部４０と、加速度情報検出部５０と、表示画面６０と、入力インタフェース６２と、制御部２０と、を備える。なお、移動端末１００は、通話機能や、メール、インターネットなどの通信機能、撮影機能などの各種機能を備える場合もあるが、図１では、これらの機能を実現するための構成についての図示は省略している。
【００１３】
絶対位置検出部３０は、本実施形態では、ＧＰＳ受信機であり、上空に存在する複数個のＧＰＳ衛星からの信号を受けて、絶対位置（緯度・経度で示される位置）情報を得るものである。
【００１４】
地磁気情報検出部４０は、方位センサとも呼ばれ、３軸座標系上での地磁気の検出が可能な地磁気センサ、すなわち磁気方位センサである。加速度情報検出部５０は、例えば、３軸方向の加速度を検出するセンサである。
【００１５】
表示画面６０は、制御部２０の指示の下、各種情報を表示するものであり、例えば、移動端末１００を保持するユーザが移動したルートの情報を、表示する。入力インタフェース６２は、キーボードやタッチパネルなどを含む。
【００１６】
図２には、制御部２０のハードウェア構成が示されている。この図２に示すように、制御部２０は、ＣＰＵ（Central Processing Unit）９０、ＲＯＭ（Read Only Memory）９１、ＲＡＭ（Random Access Memory）９２、記憶部（ここではＨＤＤ（Hard Disk Drive）とする）９３、入出力部９４等を備えており、制御部２０の構成各部は、バス９５を介して接続されている。制御部２０では、ＣＰＵ９０がＲＡＭ９２又はＨＤＤ９３に格納された移動経路算出プログラムを実行することで、図３に示す各処理部の機能を実現する。また、ＨＤＤ９４は、制御部２０内で得られたデータなどを記憶し、図３の情報記憶部２３として機能する。入出力部９４は、表示画面６０や入力インタフェース６２との通信を行う入出力ポートである。
【００１７】
図３は、図１の制御部２０の機能ブロック図である。この図３に示すように、制御部２０は、ＣＰＵ９０が移動経路算出プログラムを実行することにより、制御部としての検出制御部２１、取得部としてのリンク情報生成部２２、情報記憶部２３、移動経路算出部２４、表示制御部２５、及び計時部２６等の機能を実現している。
【００１８】
検出制御部２１は、リンク情報生成部２２からの情報、及び計時部２６からの情報に基づいて、絶対位置検出部３０の起動タイミング、すなわち検出タイミングを決定する。そして、検出制御部２１は、決定した検出タイミングで、絶対位置検出部３０に絶対位置計測を実行させる。
【００１９】
リンク情報生成部２２は、地磁気情報検出部４０と加速度情報検出部５０との検出結果に基づいて、移動端末１００が直線移動している間（移動端末１００がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間）の距離の情報を含む線分情報（「リンク情報」と呼ぶ）を生成する。なお、リンク情報生成部２２は、移動端末１００を保持するユーザが歩き始めたときからリンク情報の生成を開始する。一方、リンク情報生成部２２は、入力インタフェース６２を介してユーザから入力される歩行終了のコマンドを受け付けたときに、リンク情報の生成を終了する。また、リンク情報生成部２２は、入力インタフェース６２から入力される、ＧＰＳアプリケーションを終了するコマンドを受け付けたときに、検出制御部２１に対して絶対位置検出部３０による検出を中止すべき旨の指示を出す。
【００２０】
情報記憶部２３は、リンク情報生成部２２で生成されたリンク情報や絶対位置検出部３０で検出されたＧＰＳ計測結果を、データベースにて記憶する。移動経路算出部２４は、移動端末１００が直進移動している間に絶対位置検出部３０で検出されたＧＰＳ計測結果に基づいて、移動方向所定方向を算出するとともに、当該移動方向とリンク情報に含まれる直進距離とから移動端末１００の移動経路を算出する。移動経路算出部２４は、リンク情報やＧＰＳ計測結果を情報記憶部２３から読み出す。なお、情報記憶部２３にて記憶されているデータベースの詳細な内容については、後述する。
【００２１】
表示制御部２５は、移動経路算出部２４で取得された移動経路を取得して、表示画面６０上に表示する。計時部２６は、例えば、リアルタイムクロックを含み、所定時間間隔（例えば、３分間隔）で、後述する仮の検出タイミングが到来したことを、検出制御部２１に通知する。
【００２２】
次に、上記のように構成される移動端末１００における処理について、図４〜図１９に基づいて、詳細に説明する。図４は、移動端末１００で実行される処理の全体的な流れを示すフローチャートである。
【００２３】
図４の処理では、ステップＳ１０において、リンク情報生成部２２が、加速度情報検出部５０が起動したか否かを判断する。このステップＳ１０の判断が肯定された場合には、ステップＳ１２及びステップＳ１４に移行する。ステップＳ１２、Ｓ１４の各ステップは同時並行的に処理されるステップであり、ステップＳ１２ではリンク情報取得処理が行われ、ステップＳ１４ではＧＰＳ取得処理が行われる。以下、リンク情報取得処理（ステップＳ１２）及びＧＰＳ取得処理（ステップＳ１４）について、具体的に説明する。
【００２４】
（Ａ）リンク情報取得処理（ステップＳ１２）
ステップＳ１２のリンク情報取得処理のサブルーチンは、図５（ａ）のフローチャートに沿って行われる。具体的には、まず、ステップＳ３０において、リンク情報生成部２２が、曲がりを検出したか否かを判断する。ここで、曲がりとは、移動端末１００を保持するユーザが進行方向を変更することを意味する。リンク情報生成部２２は、例えば、地磁気情報検出部４０で検出される地磁気の変化量が所定値以上になったときに、曲がりがあったことを検出する。
【００２５】
ステップＳ３０の判断が肯定されると、ステップＳ３２に移行し、リンク情報生成部２２は、直線移動した距離（リンク長）を次式（１）に基づいて算出する。
リンク長＝（曲がりを検出したときの通算歩数
−前回曲がりを検出したときの通算歩数）×歩幅      …（１）
【００２６】
ここで、歩数は、加速度情報検出部５０により検出される加速度の変化から取得される値であり、歩幅は、ユーザにより設定される値である。なお、ユーザは歩幅に代えて、身長を入力することとしてもよく、この場合には、リンク情報生成部２２は、入力された身長から、おおよその歩幅を算出する。なお、本実施形態では、上記のように歩数と予め入力された歩幅からリンク長を算出するため、リンク長が実際の歩行距離とは異なる値を示すおそれがある。
【００２７】
ステップＳ１２の処理が終了すると、図４のステップＳ１６に移行する。ステップＳ１６では、リンク情報生成部２２が、移動経路算出用のデータとして、上式（１）に基づいて算出されたリンク長を情報記憶部２３に格納されているリンクデータベース（図５（ｂ）参照）の「補正前リンク長」に登録する。ここで、リンクデータベースには、図５（ｂ）に示すように、リンクの通し番号である「リンクＮｏ．」、曲がりを検出したときのユーザの通算の歩数である「曲がり時歩数」、曲がり時歩数と歩幅とから算出される「補正前リンク長」、及び補正前リンク長が補正された後のリンク長を示す「補正後リンク長」、所定方向（例えば、東）を基準とした角度（反時計回りの角度）である「リンク角度」、リンクの始点の座標である「リンク始点（ｘ）」、「リンク始点（ｙ）」、リンクの終点の座標である「リンク終点（ｘ）」、「リンク終点（ｙ）」の項目を含んでいる。なお、ステップＳ１６の段階では、「リンク角度」、「リンク始点（ｘ）」、「リンク始点（ｙ）」、「リンク終点（ｘ）」、「リンク終点（ｙ）」の項目は空白のままとなる。
【００２８】
そして、ステップＳ１８では、リンク情報生成部２２が歩行終了か否かを判断し、ここでの判断が否定された場合には、ステップＳ１２に戻る。なお、ステップＳ１８において歩行終了と判断される場合とは、例えば、加速度情報検出部５０が所定時間ユーザの歩行を検出しなかったような場合や、ユーザが入力インタフェース６２から、歩行終了のコマンドを入力した場合などである。
【００２９】
なお、ステップＳ１２の処理により得られるリンク長を含む線分の情報は、リンク又はリンク情報と呼ばれる。リンク情報は、始点と終点との間の長さの情報を含んでいるが、始点から終点まで延びる方向（東に対する角度）についての情報は含んでいない。各リンクには、取得順にリンクＮｏ．が付与される。
【００３０】
なお、以下においては、端末が現に移動しているリンクを「現在リンク」と呼ぶ。ただし、現在リンクを直進している間は、現在リンクの情報は、リンク情報生成部２２では取得されないもので、次に曲がりが検出されたときにはじめて生成されるものである。また、現在リンクの前に生成されたリンク、すなわち、直近の曲がり検出が行われたときに生成されたリンクを、「１つ前のリンク」と呼ぶ（図１１（ａ）等参照）。また、現在リンクの前の前に生成されたリンクを、「２つ前のリンク」と呼ぶ（図１１（ａ）等参照）。
【００３１】
（Ｂ）ＧＰＳ取得処理（ステップＳ１４）
次に、上記（Ａ）リンク情報取得処理と同時並行的に行われる、ステップＳ１４のＧＰＳ取得処理のサブルーチンについて、図６（ａ），図６（ｂ）のフローチャートに沿って説明する。これら図６（ａ）の処理と、図６（ｂ）の処理も、同時並行的に行われる。なお、図６（ａ）の処理については、以下において、「ステップＳ１４（１）」と記述し、図６（ｂ）の処理については、以下において、「ステップＳ１４（２）」と記述するものとする。
【００３２】
図６（ａ）のステップＳ１４（１）では、ステップＳ４０において、検出制御部２１が、ユーザにより、ＧＰＳ計測用のアプリケーション（以下、「ＧＰＳアプリ」と呼ぶ）が起動されたか否かを判断する。ユーザは、ＧＰＳアプリを起動するためのコマンドを、入力インタフェース６２から入力する。ここでの判断が肯定されると、検出制御部２１は、ステップＳ４２に移行する。
【００３３】
ステップＳ４２では、検出制御部２１の指示の下、計時部２６が、タイマーを起動する。次いで、ステップＳ４４では、検出制御部２１が、絶対位置検出部３０を介して、ＧＰＳ計測を行う。ＧＰＳ計測では、移動端末１００の絶対位置（緯度、経度）が検出されることになる。なお、以下においては、ステップＳ１２のリンク情報取得処理と並行して行うＧＰＳ計測（取得）を、「アンカーポイント取得」とも呼ぶものとする。また、アンカーポイントの位置情報についても、単に「アンカーポイント」と呼ぶものとする。
【００３４】
ここまでのステップＳ４０〜ステップＳ４４の処理では、ＧＰＳアプリが起動された直後に、アンカーポイントが取得（アンカーポイントの位置情報が取得）されていることになる。
【００３５】
次いで、ステップＳ４６では、検出制御部２１が、ユーザが３０ｍ歩行したか否かを判断する。ここで、検出制御部２１は、３０ｍ歩行したか否かの判断を、加速度情報検出部５０により検出される歩数と、歩幅との積から算出した値に基づいて行うものとする。ただし、これに限らず、検出制御部２１は、一般的にユーザが３０ｍ歩行するのに要する時間（例えば、２３秒）が経過したか否かに基づいて、３０ｍ歩行したか否かの判断を行うこととしても良い。なお、３０ｍ歩行するのに要する時間は、予め設定されていても良いが、検出制御部２１が過去に取得された歩数に関するデータなどから自動的に設定することとしても良い。ステップＳ４６の判断が肯定されると、ステップＳ４８に移行する。
【００３６】
ステップＳ４８では、検出制御部２１が、再度アンカーポイントを取得する。本実施形態では、上記のようにステップＳ４０〜Ｓ４８の処理を経ることで、図７（ａ）に示すように、ＧＰＳアプリを起動した位置（始点）から歩行を開始した後において、２つのアンカーポイントが取得されることになる。なお、図７（ａ）では、アンカーポイントを「Ｇn」で示し、アンカーポイントを取得した際のリンク上の位置（点）を「Ｐn」で示している。ここで、図７（ａ）において、始点から３０ｍ歩行した位置と、アンカーポイントを取得したときのリンク上の位置とが異なっている。このように位置が異なるのは、絶対位置検出部３０では、その起動からアンカーポイントの検出までの間に、若干の遅れが生じることに起因している。なお、上記のように、検出制御部２１が、始点から歩行を開始した後において２つのアンカーポイントを取得するのは、歩き始めの段階で、どちらの方向に向かって歩いているのかを取得しておくことで、後に行われる移動経路の算出精度を向上することができるからである。
【００３７】
その後、検出制御部２１は、ステップＳ５０の通常処理に移行する。なお、ステップＳ５０の処理については後述する。
【００３８】
上記図６（ａ）の処理と同時並行的に行われる図６（ｂ）のステップＳ１４（２）では、検出制御部２１は、ステップＳ６０において、ＧＰＳアプリがユーザにより停止されるまで待機する。ユーザが、入力インタフェース６２を介して、ＧＰＳアプリの停止コマンドを入力すると、ステップＳ６０の判断が肯定され、ステップＳ６２に移行する。ステップＳ６２では、検出制御部２１が、アンカーポイントを取得し、その後、図４のステップＳ１６に移行する。なお、ステップＳ６２では、図７（ｂ）に示すように、ＧＰＳアプリの停止コマンドが入力された直後に、アンカーポイントＧfinalが取得されることになる。
【００３９】
次に、図６（ａ）のステップＳ５０における「通常処理」のサブルーチンについて、図８に基づいて、詳細に説明する。なお、図８の処理が開始されると同時に、計時部２６による計時を開始、すなわち、タイマーをスタートする。
【００４０】
図８では、まず、ステップＳ７０において、検出制御部２１が、計時部２６のタイマーを参照して、所定時間経過したか否かを判断する。ここでの判断が肯定された場合にはステップＳ７２に移行するが、否定された場合にはステップＳ８０に移行する。なお、所定時間とは、ＧＰＳ計測を間欠的に行う間隔を意味し、予め定められた時間（例えば３分）であるものとする。なお、所定時間が経過するタイミングは、絶対位置を検出するための、仮の検出タイミングであるともいえる。仮の検出タイミングとは、ステップＳ７４において判断が否定されることで、真の検出タイミングになるタイミングのことをいう。
【００４１】
ステップＳ７０の判断が肯定されて、ステップＳ７２に移行した場合、検出制御部２１は、現在リンクにおいてＧＰＳ計測（アンカーポイント取得）が既に行われているか否かの検索を行う。このステップＳ７２では、検出制御部２１は、情報記憶部２３内に格納されている図９のようなＧＰＳデータベースを検索する。ＧＰＳデータベースは、図９に示すように、アンカーポイントの計測が行われたときに取得中であったリンクの通し番号である「リンクＮｏ．」、ＧＰＳ測位結果を示す「緯度」、「経度」、ＧＰＳ取得時までに歩き始めからユーザが歩いた歩数を示す「ＧＰＳ取得時歩数」、及び「フラグ」の項目を有している。図９では、例えば、リンクの通し番号が「１０」や「９」のときには、ＧＰＳ計測が行われたことを示しているが、リンクの通し番号が「８」や「７」のときには、ＧＰＳデータベースのリンクＮｏ．の項目に、「８」や「７」が存在していないので、ＧＰＳ計測が行われていないことを示している。
【００４２】
次のステップＳ７４では、検出制御部２１が、ステップＳ７２の検索の結果に基づいて、現在リンクで既にＧＰＳ計測が行われたか否かを判断する。ここでの判断が否定された場合には、ステップＳ７８に移行し、検出制御部２１は、絶対位置検出部３０を用いて、アンカーポイントを取得する。その後は、検出制御部２１は、ステップＳ９６において、計時部２６のタイマーをリセットして、ステップＳ７０に戻る。
【００４３】
すなわち、図１０（ａ）に示すように、現在リンクにおいて、未だアンカーポイントを取得していない場合には、検出制御部２１は、所定時間経過後に絶対位置検出部３０を起動して、位置Ｐiにてアンカーポイントを取得する。換言すると、１つのリンクにおいては、２回以上アンカーポイントを取得しないようにする。このようにするのは、１つのリンクにおいて２回以上アンカーポイントを取得しても、移動経路の算出精度にさほど寄与することがない一方で、絶対位置検出部３０の検出回数を減らすことで、電力消費量を低減することができるからである。
【００４４】
一方、ステップＳ７４の判断が肯定された場合、すなわち、図１０（ｂ）に示すように、現在リンクでＧＰＳが既に取得されていた場合には、ステップＳ７６に移行する。このステップＳ７６では、検出制御部２１が、フラグを立てる、つまり図９のＧＰＳデータベースの「フラグ」の項目に１を設定する。その後、検出制御部２１は、ステップＳ８０に移行する。
【００４５】
ステップＳ８０では、検出制御部２１が、曲がり検出したか否かを判断する。ここでの判断が否定された場合には、ステップＳ７０に戻るが、判断が肯定された場合には、ステップＳ８２に移行する。
【００４６】
ステップＳ８２では、検出制御部２１が、過去２リンクを検索する。この検索の際には、ステップＳ７２と同様、検出制御部２１は、図９（ａ）のデータベースを検索する。すなわち、検出制御部２１は、例えば、現在取得中のリンクの通し番号が「１０」であるならば、通し番号「９」と「８」のリンクを検索する。
【００４７】
次いで、ステップＳ８４では、検出制御部２１が、過去１リンク（１つ前のリンク）にフラグが立っているか否かを判断する。ここでの判断が肯定された場合、すなわち、１つ前のリンクにフラグ「１」が設定されている場合には、ステップＳ９４に移行する。ステップＳ９４に移行した場合、前述したのと同様、検出制御部２１は、絶対位置検出部３０を用いて、アンカーポイントを取得する。そして、検出制御部２１は、ステップＳ９６において、計時部２６のタイマーをリセットして、ステップＳ７０に戻る。すなわち、図１０（ｃ）に示すように、フラグが立った後に、曲がり検出がされた場合には、当該曲がり検出の直後に、アンカーポイントが取得されることになる。このように、曲がりが検出された直後にアンカーポイントを取得するのは、前述したように同一リンク上で２回以上絶対位置が取得されるのを回避した一方で、あまりにも長い間、絶対位置の取得が行われないとすると、移動経路の算出精度が低下するおそれがあるからである。
【００４８】
これに対し、ステップＳ８４の判断が否定された場合には、ステップＳ８６において、検出制御部２１が、２リンク前に、すなわち２つ前のリンクにおいてＧＰＳが取得されているか否かを判断する。ここでの判断が肯定された場合には、ステップＳ７０に戻る。すなわち、２リンク前にＧＰＳが取得されていた場合には、図１１（ａ）、図１１（ｂ）に示すように、１つ前のリンクにおいてＧＰＳが取得されていたか否かにかかわらず、今回の曲がり検出後には、アンカーポイントを取得しない。このようにするのは、図１１（ｂ）のように連続するリンクでアンカーポイントを取得しなくても、リンクの角度を決定するのに支障はないためである。また、２本のリンクにおいてアンカーポイントを取得しなくても、次のリンクでアンカーポイントが取得できれば、リンクの角度を決定するのに支障はないためである。更に、アンカーポイントを取得しないこととすることで、絶対位置検出部３０の検出回数を減らすことができ、これにより、電力消費量を低減することができるからである。
【００４９】
一方、ステップＳ８６の判断が否定された場合には、ステップＳ８８に移行し、検出制御部２１は、１リンク前、すなわち、１つ前のリンクにおいてＧＰＳ、すなわちアンカーポイントが取得されていたか否かを判断する。
【００５０】
ここでの判断が肯定された場合には、ステップＳ９４に移行して、検出制御部２１は、絶対位置検出部３０を用いて、アンカーポイントを取得する。そして、検出制御部２１は、ステップＳ９６において、計時部２６のタイマーをリセットして、ステップＳ７０に戻る。すなわち、図１２（ａ）に示すように、２リンク前にアンカーポイントが取得されておらず、１リンク前にアンカーポイントが取得されている場合には、アンカーポイントを取得する。なお、このタイミングでアンカーポイントを取得するのは、図１２（ａ）のＰiにおいてアンカーポイントを取得しておかないと、移動経路算出に支障が出る（移動経路の一部が反転（左右対称）してしまう）おそれがあるからである。
【００５１】
一方、ステップＳ８８の判断が否定された場合には、ステップＳ９０に移行する。このステップＳ９０では、検出制御部２１が、絶対位置検出部３０を用いて、アンカーポイントを取得し、その後、ステップＳ９２において、ユーザが３０ｍ歩行したと判断されるまで待機する。そして、ステップＳ９２において、ユーザが３０ｍ歩行したことを、検出制御部２１が判断した段階で、ステップＳ９４に移行する。このステップＳ９４では、検出制御部２１が、絶対位置検出部３０を用いて、アンカーポイントを再度取得する。すなわち、この場合、図１２（ｂ）に示すように、曲がり検出後、３０ｍの間隔を空けて、２つのアンカーポイントが取得されることになる。このようにアンカーポイントを続けて２回計測するのは、当該２回の計測により、現在リンクの方向がほぼ決まるので、これにより、その前の２つのリンクの方向を、反転なく、大まかに決めることができるからである。その後、検出制御部２１は、ステップＳ９６において、計時部２６のタイマーをリセットして、ステップＳ７０に戻る。
【００５２】
以上の処理が繰り返し行われることで、アンカーポイントが間欠的に取得されることになる。なお、図８の繰り返し処理は、図６（ｂ）のステップＳ６０における判断が肯定された段階で、強制的に終了する。
【００５３】
図４に戻り、ステップＳ１４の後に行われるステップＳ１６では、検出制御部２１が、移動経路算出用のデータとして、アンカーポイントの情報（ＧＰＳ計測結果）を、情報記憶部２３のＧＰＳデータベースに保存する。そして、ステップＳ１８に移行すると、検出制御部２１は、歩行終了か否かを判断する。ここでの判断が肯定されると、検出制御部２１は、ステップＳ２０に移行する。以下、ステップＳ２０の具体的な処理内容について、図１３、図１５のフローチャートに基づいて、説明する。
【００５４】
（Ｃ）リンク角度・補正パラメータ算出処理（ステップＳ２０）
図１３は、ステップＳ２０の処理の全体的な流れを示すフローチャートであり、図１５は、図１３のステップＳ１５２の処理内容を具体的に示すフローチャートである。なお、本ステップＳ２０は、登録された歩幅の値に誤差があったり、実際の歩幅のばらつきがあったりするなどして、リンクの長さが正確でないことに起因して生じる移動経路の誤差の発生を抑制する処理である。また、本ステップＳ２０は、アンカーポイントを間欠的に取得することにより実際の移動経路とは異なる（鏡像関係の）移動経路が算出されることを抑制する処理である。
【００５５】
図１３の処理では、まず、ステップＳ１４０において、移動経路算出部２４が、最適化処理を行う最初のリンクをリンク(ｉ)とする。ここで、最適化処理とは、図１４のように連続する３本のリンク（ここでは、それぞれにおいてアンカーポイントが取得されているものとする）と、各リンクに対応するアンカーポイントを用いて、３本のうちで最も過去に取得されたリンクの角度（ｔ1）の最適値と、リンクの長さの補正パラメータｒ1の最適値を算出するというものである。なお、ここでは、ｉ＝１であるものとする。
【００５６】
次のステップＳ１４２では、移動経路算出部２４が、最適化処理に用いるリンクの番号を示すパラメータｊの値をｉと同一に設定するとともに、リンク取得数を示すパラメータＣの値を０に設定する。すなわち、ここでは、移動経路算出部２４は、ｊ＝１、Ｃ＝０とする。
【００５７】
次いで、ステップＳ１４４では、移動経路算出部２４が、リンク（ｊ）を取得する。すなわち、リンク（ｊ）を最適化処理に用いるリンクとする。次いで、ステップＳ１４６では、Ｃを１インクリメント（Ｃ←Ｃ＋１、ここではＣ←１）した後、ステップＳ１４８に移行する。次いで、ステップＳ１４８では、移動経路算出部２４が、Ｃ＝Ｎであるか否かを判断する。この場合の値Ｎは、最適化に用いるべき、アンカーポイント取得が行われたリンク、すなわち、アンカーポイントが対応付けられたリンク、の本数である。なお、ここでは、Ｎ＝３であるものとして説明する。このステップＳ１４８の判断が否定されると、ステップＳ１５０に移行し、移動経路算出部２４が、ｊを１インクリメントする（ｊ←ｊ＋１、ここでは、ｊ←２）。その後、ステップＳ１４４に戻り、Ｎ本（ここでは３本）のリンクが取得されるまで、移動経路算出部２４は、ステップＳ１４４〜Ｓ１５０の処理判断を繰り返す。
【００５８】
そして、ステップＳ１４８の判断が肯定された段階で、ステップＳ１５２に移行する。
【００５９】
このようにステップＳ１５２に移行する段階では、リンク（ｉ）（ここでは、リンク（１））を最適化するために用いるリンクとして、図１４に示す、リンク（１）〜リンク（３）が取得されたことになる。
【００６０】
次のステップＳ１５２では、最適化処理のサブルーチンが実行される。具体的には、図１５の処理が実行される。図１５の処理では、まず、ステップＳ１６０において、移動経路算出部２４が、各リンクの初期角度を決定する。このステップＳ１６０では、例えば、Ｎ本（ここでは３本）の角度ｔ1、ｔ2、t3の初期値を、ランダムに設定する。なお、これに限らず、ｔ1の初期値を０°、ｔ2の初期値を９０°、ｔ3の初期値を１８０°というように、９０°刻みで設定しても良い。また、ｔ1の初期値を０°、ｔ2の初期値を４５°、ｔ3の初期値を９０°というように、４５°刻みで設定しても良い。あるいは、その他の角度刻みで設定しても良い。
【００６１】
次いで、ステップＳ１６２では、移動経路算出部２４が、対応点座標Ｐjを算出する。ここで、対応点座標Ｐjとは、アンカーポイントを取得したときに移動端末１００が位置していたリンク上の１点（位置座標）を意味する。ここで、図１６に示すように、ｊ番目のリンクの始点をＣj-1、終点をＣj、長さ（リンク長）をｌjし、図１４の始点Ｃ0の座標を（ｘ0，ｙ0）とすると、図１４のＣ1〜Ｃ3は、次式（２）〜（４）にて表すことができる。
Ｃ1＝Ｃ0＋ｒ1×ｌ1×（cos（ｔ1），sin（ｔ1））      …（２）
Ｃ2＝Ｃ1＋ｒ2×ｌ2×（cos（ｔ2），sin（ｔ2））      …（３）
Ｃ3＝Ｃ2＋ｒ3×ｌ3×（cos（ｔ3），sin（ｔ3））      …（４）
【００６２】
なお、上式（２）〜（４）のｒjは、リンク長（又は設定されている歩幅）を補正するための変数である補正パラメータである。なお、パラメータｒjの範囲は、予め設定されているものとする。例えば、ｒjの範囲は、３／４≦ｒj≦５／４とする。ただし、当該範囲は、ユーザが入力インタフェース６２を介して調整することが可能であるものとする。これにより、ユーザは、表示画面６０に表示される移動経路（経路）がより正しい経路となるように、ｒjの範囲を調整することが可能となる。
【００６３】
また、始点Ｃj-1から終点Ｃjまで移動する間の時間に対する、始点Ｃj-1からアンカーポイントを取得するまでの間の時間の割合をｍj（図１６参照）とすると、対応点座標Ｐjは、次式（５）にて表すことができる。
Ｐj＝Ｃj-1＋ｍj×（Ｃj−Ｃj-1）      …（５）
【００６４】
次いで、ステップＳ１６４では、移動経路算出部２４が、ＧＰＳ座標（アンカーポイント）Ｇjと、対応点座標Ｐjの距離の２乗和を算出する。具体的には、次式（６）により、算出される。
【００６５】
【数１】
0005768426.tif 000002
ここで、距離の２乗和を算出するのは、点Ｇjと点Ｐjとの間に、各点を結ぶバネ（バネ定数ｋは一定であるものとする）が存在していると想定して、各バネが最も安定する状態、すなわち、エネルギが最小となる状態が最適な状態であると推定する理論（Kamada,Kawaiのモデル）に基づく。
【００６６】
次いで、ステップＳ１６６では、移動経路算出部２４が、角度ｔ1、ｔ2、t3、及び補正パラメータｒ1、ｒ2、ｒ3の値を変更しつつ、距離の２乗和を算出することで、距離の２乗和が最小となるｔ1、ｔ2、t3、ｒ1、ｒ2、ｒ3を算出する。そして、そのうちのｔ1、ｒ1の値を、リンク(１)の角度及びリンク（１）の補正パラメータとして、算出する。なお、図１４では、ステップＳ１６６において角度及び補正パラメータが最適化されたリンク（１）のみを実線にて示している。その後は、図１３のステップＳ１５４に移行する。
【００６７】
その後、図１３のステップＳ１５４に移行すると、移動経路算出部２４は、リンク（ｉ＋２）以降にリンクが存在しているか否かを判断する。ここでの判断が否定された場合には、ステップＳ１５６に移行して、リンク（ｉ）、リンク（ｉ＋１）、リンク（ｉ＋２）を確定する。すなわち、リンク（ｉ）、リンク（ｉ＋１）、リンク（ｉ＋２）のリンク角度ｔi、ｔi+1、ｔi+2と、補正パラメータｒi、ｒi+1、ｒi+2を確定する。一方、ステップＳ１５４の判断が肯定された場合には、ステップＳ１５８に移行する。
【００６８】
ステップＳ１５８では、移動経路算出部２４が、リンク（ｉ）以降のアンカーポイントの取得数が、１つ，０，１つの順に並んでいるか否かを判断する。ここでの判断が肯定された場合には、ステップＳ１６０に移行し、移動経路算出部２４は、鏡像のリンクを検証する。具体的には、リンク（ｉ）以降のアンカーポイントの取得数が、１つ，０，１つの順に並んでいる場合、図１７（ａ）に示すように、実線で示す移動経路と、これと鏡像（線対称）の関係にある破線にて示す移動経路とが得られる。したがって、移動経路算出部２４は、これら２つの移動経路から真の移動経路を選択する必要がある。当該選択の方法としては、例えば、リンク（ｉ）とリンク（ｉ−１）との角度が９０°に近い方の移動経路を真の移動経路として選択する方法を採用することができる。これは、道路の曲がり角は、一般的には９０°に近い角度で曲がっている場合が多いという道路情報に基づくものであり、リンク（ｉ）とリンク（ｉ−１）との角度が９０°に近い方が、正しい移動経路である可能性が高いからである。
【００６９】
なお、リンク（ｉ）がリンク（１）である場合には、リンク（ｉ−１）が存在しない。このような場合には、移動経路算出部２４は、リンク（ｉ＋２）とリンク（ｉ＋３）との角度が９０°に近い方の移動経路を、真の移動経路として選択することとしてもよい。ただし、これに限らず、リンク（ｉ）がリンク（１）でなくとも、リンク（ｉ＋２）とリンク（ｉ＋３）との角度が９０°に近い方の移動経路を、真の移動経路として選択することとしてもよい。
【００７０】
なお、真の移動経路の選択方法は、上記方法に限られるものではない。例えば、図１７（ｂ）に示すように、２つの移動経路を道路情報としての地図（移動端末１００の位置周辺の地図）とマッチングさせて、地図（道路）との合致度が高い（又は道路との乖離度が低い）ほうを真の移動経路とすることとしてもよい。なお、図１７（ｂ）では、図１７（ａ）において破線で示す移動経路が、真の移動経路として選択されることになる。なお、これらの方法に限らず、その他、道路の情報に基づいて鏡像関係にある２つの移動経路から、真の移動経路を選択する方法を採用することとしてもよい。
【００７１】
図１３に戻り、上記のようにしてステップＳ１６０の処理が行われた後は、ステップＳ１６２に移行し、移動経路算出部２４は、リンク（ｉ）（ここでは、リンク（１））を確定する。なお、角度ｔ1が確定すると、図５（ｂ）のデータベースの「リンク角度」の項目への登録が可能となる。また、補正パラメータｒ1が決まると、図５（ｂ）の「補正後リンク長」への登録が可能となる。また、ｔ1、ｒ1が決まることで、リンク始点（ｘ），（ｙ）、リンク終点（ｘ），（ｙ）の項目への登録も可能となる。
【００７２】
一方、ステップＳ１５８の判断が否定された場合には、ステップＳ１６０を経ずにステップＳ１６２に移行し、リンク（ｉ）を確定する。その後は、ステップＳ１６４に移行して、ｉを１インクリメント（ｉ←ｉ＋１）した後に、ステップＳ１４２に戻る。そして、全てのリンクについての角度が決定（リンクが確定）するまで、ステップＳ１４２〜Ｓ１６４の処理・判断を繰り返す。なお、図１３の処理が２回目に行われるときには、図１８（ａ）に示すように、リンク（２），（３），（４）を用いて、リンク（２）の角度ｔ2を算出することになる。この場合、リンクの角度ｔ2，ｔ3，ｔ4の初期値としては、前回の最適化処理（角度ｔ1を最適化した処理）で算出された、ｔ2やｔ3の値を、初期値として用いることとしても良い。なお、新たに初期値を設定する角度（図１８（ａ）の角度ｔ4）については、ランダムに、又は角度ｔ3との差が９０°、４５°となるように設定することとしても良い。以上のようにして、図１３の全処理が終了すると、図４のステップＳ２２に移行する。このように、ステップＳ２２に移行する段階では、図１８（ｂ）に示す角度ｔ1、ｔ2、ｔ3、ｔ4…の値及び補正パラメータｒ1、ｒ2、ｒ3、ｒ4…が最適化された状態となる。
【００７３】
図４に戻り、ステップＳ２２では、移動経路算出部２４が、移動経路を算出する。具体的には、移動経路算出部２４は、ステップＳ２０で求められた角度ｔ1、ｔ2、ｔ3、ｔ4…及び補正パラメータｒ1、ｒ2、ｒ3、ｒ4…で、各リンクを連結したものを、移動経路として算出する。次いで、ステップＳ２４では、移動経路算出部２４が、マップマッチング処理を行う。例えば、ステップＳ２２において、図１９（ａ）のような移動経路が算出された場合には、移動経路算出部２４は、算出された移動経路と、情報記憶部２３に記憶されている地図データとをマップマッチングする。そして、移動経路算出部２４は、図１９（ｂ）に太線で示すような、地図データ上での移動経路を生成する。
【００７４】
次いで、図４のステップＳ２６では、表示制御部２５が、ステップＳ２４にて生成された移動経路を、表示画面６０上に出力する。
【００７５】
以上のようにすることで、表示画面６０上には、ユーザが歩行した経路が、表示されることになる。
【００７６】
以上、詳細に説明したように、絶対位置検出部３０が移動端末１００の絶対位置を検出した結果と、リンク情報生成部２２が取得した、移動端末１００がある地点から所定方向に移動したときの、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶリンク情報と、に基づいて、移動経路算出部２４が移動経路を算出する。この場合、移動経路算出部２４は、リンク情報が示すリンクの長さを補正するための補正パラメータ（ｒ1、ｒ2、ｒ3、…）と、リンクの方向（（角度ｔ1、ｔ2、ｔ3、…））とを絶対位置と、当該絶対位置を検出したときに移動端末１００が移動していたリンク上の点との距離に基づいて算出する。すなわち、リンクの長さの補正パラメータと角度が絶対位置と移動端末１００が移動していたリンクとの距離から適切な値に決定されるので、リンクの長さに誤差が含まれるような場合でも、移動経路算出部２４は、補正パラメータで補正されたリンクの長さと方向とを用いて移動経路を算出することができる。これにより、絶対位置を間欠的に取得することとしても、移動経路の算出精度を高い精度に維持することができる。すなわち、本実施形態によれば、移動経路の算出精度を高く維持しつつ、絶対位置を間欠的に取得することで消費電力の低減を図ることができる。
【００７７】
ここで、特開２００９―９２５０６号公報には、省電力化の観点から、ナビゲーション開始当初にＧＰＳによる測位を行うとともに測位された現在位置から目的地までの距離又はルートに基づいて次の測位タイミングまでの歩数を算出し、その後、算出された歩数歩行した段階でＧＰＳ測位を行うとともに次の測位タイミングまでの歩数を算出するという方法が開示されている。しかしながら、この方法では、ルートが予め定められていなければ、ＧＰＳ計測回数を減らすことはできない。これに対し、本実施形態では、ルートを予め定めておく必要がないため、ルートを定めずに移動経路を算出する場合において特に有用である。
【００７８】
また、本実施形態では、移動経路算出部２４は、絶対位置検出部３０が検出した絶対位置と、この絶対位置を検出したときに移動端末１００が位置していた線分上の点（位置）と、の距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータ（ｒ1、ｒ2、ｒ3、…）とリンクの方向（角度ｔ1、ｔ2、ｔ3、…）を算出するので、適切な演算により、移動経路の算出精度を高く維持することが可能となる。
【００７９】
また、本実施形態では、リンク（ｉ）に対応する絶対位置が１つ、リンク（ｉ＋１）に対応する絶対位置が０、リンク（ｉ＋２）に対応する絶対位置が１つ、であった場合に、移動経路算出部２４は、リンク（ｉ）〜リンク（ｉ＋２）から２つの線対称な移動経路を算出し、道路の情報に基づいて、２つの移動経路のうちの１つを、真の移動経路として選択する。このため、鏡像関係にある２つの移動経路が算出されてしまうような状況下でも、移動経路算出部２４は、道路の情報に基づいて真の移動経路を選択することで、適切な移動経路を算出することができる。なお、本実施形態では、リンク（ｉ−１）とリンク（ｉ）とのなす角が９０°に近い方の移動経路、又は、リンク（ｉ＋２）とリンク（ｉ＋３）とのなす角が９０°に近い方の移動経路を、真の移動経路として選択することとしている。このため、道路の情報として、曲がり角の角度は９０°に近い場合が多いという情報がある場合に、真の移動経路として、正しい移動経路（実際の移動経路と一致する移動経路）を高い確率で選択することができる。また、移動経路算出部２４が、２つの移動経路のうち、道路地図との合致度が高い方を、真の移動経路として選択する場合には、道路情報として道路地図を用いることで、高い確率で真の移動経路を選択することができる。
【００８０】
なお、上記実施形態では、上式（６）を用いて、ＧjとＰjの距離の二乗和を算出し、その最小値から、リンクの角度の最適値を求める場合について説明した。しかしながらこれに限られるものではなく、Kamada,Kawaiモデルそのものを用いて、ＧiとＰiとの間の仮想的なバネのエネルギが最も小さくなるような各リンクの角度を、最適値として求めることとしても良い。この場合、次式（７）が最小になるようにすれば良い。
【００８１】
【数２】
0005768426.tif 000003
【００８２】
なお、上式（７）においては、エネルギの式の係数（１／２）を省略している。また、ｋjの値は、図２０（ａ）〜図２０（ｆ）に示すような手法を用いて決定することとすれば良い。例えば、図２０（ａ）、図２０（ｂ）に示すように、アンカーポイントを取得したときの、絶対位置検出部３０による検出の信頼度が低かった場合、すなわち、通信できたＧＰＳ衛星の数が少なかった場合には、ｋを小さくする。一方、信頼度が高かった場合、すなわち、通信できたＧＰＳ衛星の数が多かった場合には、ｋを大きくする。なお、図２０（ａ）〜図２０（ｆ）では、円の大きさが小さいほどｋが大きいことを意味する。
【００８３】
また、例えば、図２０（ｃ）に示すように、アンカーポイント間の距離が近い場合には、ｋが小さいと、破線で示すように２つのアンカーポイント内を通る直線の誤差を示す角度が大きくなる（角度ａ）。このため、図２０（ｃ）に示すように、角度が小さくするべく（角度ｂ）、円を小さく、すなわちｋを大きくする。これに対し、図２０（ｄ）に示すように、アンカーポイント間の距離が遠い場合には、円を大きく、すなわちｋを小さくする。また、例えば、図２０（ｅ）に示すように、始点からアンカーポイントまでの距離が近い場合には、図２０（ｃ）の場合と同様、ｋを大きくする。これに対し、図２０（ｆ）に示すように、始点からアンカーポイントまでの距離が遠い場合には、図２０（ｄ）の場合と同様、ｋを小さくする。
【００８４】
このようにすることで、信頼性や、アンカーポイント間の距離などが考慮された、適切な移動経路の算出が可能となる。
【００８５】
なお、上記実施形態及び上記変形例では、アンカーポイントと、これに対応するとの距離の二乗和を利用して、移動経路を算出する場合について説明したが、これに限られるものではない。例えば、図２１に示すようにアンカーポイントＧと、リンク（ｉ）との距離、すなわち、アンカーポイントＧとリンクのうちアンカーポイントＧに最も近い１点との距離、の二乗和が最小値となるようなリンクの角度を、最適値とすることとしても良い。
【００８６】
なお、上記実施形態では、ＧＰＳデータベースにおける位置を、緯度、経度で表す場合について説明したが、緯度、経度をその他の値（例えば、出発点を原点とする距離）であらわすこととしても良い。この場合、ｘ座標の正方向を東方向、ｙ座標の正方向を北方向などとすることができる。
【００８７】
なお、上記実施形態では、移動経路を移動端末１００内で算出する場合について説明したが、これに限られるものではない。例えば、移動端末１００では、絶対位置検出部３０、地磁気情報検出部４０、加速度情報検出部５０の検出結果を、外部のサーバ等に送信することとしても良い。サーバに、図３の制御部２０と同様の機能を持たせることで、サーバにおいて、移動経路や移動経路を算出することができる。また、サーバからは、算出された移動経路や移動経路を移動端末１００に送信することとしても良い。
【００８８】
なお、上記実施形態では、絶対位置検出部３０として、ＧＰＳセンサを用いる場合について説明したが、これに限らず、その他の装置を用いることとしても良い。絶対位置検出手段としては、例えば、ＲＦＩＤシステムなどを採用することができる。また、上記実施形態では、地磁気情報検出部４０としては、地磁気センサに代えて、その他の方位センサ、例えば、ジャイロセンサなどを用いることとしても良い。
【００８９】
なお、本実施形態における制御部２０の処理機能は、コンピュータによって実現することができる。その場合、制御部２０が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【００９０】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００９１】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００９２】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００９３】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得する取得部と、検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記移動経路算出部は、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出することを特徴とする移動端末。
（付記２）  前記移動経路算出部は、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が位置していた線分上の点と、の距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向を算出することを特徴とする付記１に記載の移動端末。
（付記３）  前記移動経路算出部は、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が移動していた線分上で前記絶対位置と最も近い点との距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向とを算出することを特徴とする付記１に記載の移動端末。
（付記４）  前記取得部がｉ番目（ｉは自然数）に取得した線分に対応する絶対位置が１つ、（ｉ＋１）番目に取得した線分に対応する絶対位置が０、（ｉ＋２）番目に取得した線分に対応する絶対位置が１つ、であった場合には、前記移動経路算出部は、前記ｉ番目、（ｉ＋１）番目、（ｉ＋２）番目の線分から２つの線対称な移動経路を算出し、前記２つの移動経路のうちの１つを、真の移動経路として選択することを特徴とする付記１〜３のいずれかに記載の移動端末。
（付記５）  前記移動経路算出部は、前記２つの移動経路のうち、（ｉ−１）番目の線分とｉ番目の線分とのなす角が９０°に近い方の移動経路、又は、（ｉ＋２）番目の線分と（ｉ＋３）番目の線分とのなす角が９０°に近い方の移動経路を、前記真の移動経路として選択することを特徴とする付記４に記載の移動端末。
（付記６）  前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路算出部は、前記２つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択することを特徴とする付記４に記載の移動端末。
（付記７）  移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、前記絶対位置検出部で検出した前記絶対位置と、前記取得部によって取得された前記線分情報とに基づいて、前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記取得部がｉ番目（ｉは自然数）に取得した線分に対応する絶対位置が１つ、（ｉ＋１）番目に取得した線分に対応する絶対位置が０、（ｉ＋２）番目に取得した線分に対応する絶対位置が１つ、であった場合には、前記移動経路算出部は、前記ｉ番目、（ｉ＋１）番目、（ｉ＋２）番目の線分から２つの線対称な移動経路を算出し、道路の情報に基づいて、前記２つの移動経路のうちの１つを真の移動経路として選択することを特徴とする移動端末。
（付記８）  前記移動経路算出部は、前記２つの移動経路のうち、（ｉ−１）番目の線分とｉ番目の線分とのなす角が９０°に近い方の移動経路、又は、（ｉ＋２）番目の線分と（ｉ＋３）番目の線分とのなす角が９０°に近い方の移動経路を、前記真の移動経路として選択することを特徴とする付記７に記載の移動端末。
（付記９）  前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路算出部は、前記２つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択することを特徴とする付記７に記載の移動端末。
（付記１０）  移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から、移動方向が該所定方向から別の方向に変更される地点までの間を結ぶ線分の線分情報を取得し、検出した前記絶対位置と、取得した前記線分情報とに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、前記移動経路を算出する処理では、取得した前記線分情報が示す前記線分の長さを補正するための補正パラメータと前記線分情報が示す前記線分の方向とを、前記絶対位置と当該絶対位置を検出したときの前記移動端末の前記線分上の位置との距離に基づいて算出することを特徴とする移動経路算出プログラム。
（付記１１）  前記移動経路を算出する処理では、前記コンピュータに、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が位置していた線分上の点と、の距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向を算出させることを特徴とする付記１０に記載の移動経路算出プログラム。
（付記１２）  前記移動経路を算出する処理では、前記コンピュータに、前記絶対位置検出部が検出した前記絶対位置と、前記絶対位置を検出したときに前記移動端末が移動していた線分上で前記絶対位置と最も近い点との距離を複数の絶対位置において算出し、これらの二乗和を最小とする補正パラメータと線分の方向とを算出させることを特徴とする付記１０に記載の移動経路算出プログラム。
（付記１３）  前記取得する処理で、ｉ番目（ｉは自然数）に取得した線分に対応する絶対位置が１つ、（ｉ＋１）番目に取得した線分に対応する絶対位置が０、（ｉ＋２）番目に取得した線分に対応する絶対位置が１つ、であった場合には、前記移動経路を算出する処理では、前記コンピュータに、前記ｉ番目、（ｉ＋１）番目、（ｉ＋２）番目の線分から２つの線対称な移動経路を算出させ、前記２つの移動経路のうちの１つを、真の移動経路として選択させることを特徴とする付記１０〜１２のいずれかに記載の移動経路算出プログラム。
（付記１４）  前記移動経路を算出する処理では、前記コンピュータに、前記２つの移動経路のうち、（ｉ−１）番目の線分とｉ番目の線分とのなす角が９０°に近い方の移動経路、又は、（ｉ＋２）番目の線分と（ｉ＋３）番目の線分とのなす角が９０°に近い方の移動経路を、前記真の移動経路として選択させることを特徴とする付記１３に記載の移動経路算出プログラム。
（付記１５）  前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路を算出する処理では、前記コンピュータに、前記２つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択させることを特徴とする付記１３に記載の移動経路算出プログラム。
（付記１６）  移動端末の絶対位置を検出する絶対位置検出部の検出結果を取得し、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得し、前記絶対位置検出部の検出結果と、前記線分情報とに基づいて、前記移動端末の移動経路を算出する、処理をコンピュータに実行させ、前記線分情報を取得する処理でｉ番目（ｉは自然数）に取得した線分に対応する絶対位置が１つ、（ｉ＋１）番目に取得した線分に対応する絶対位置が０、（ｉ＋２）番目に取得した線分に対応する絶対位置が１つ、であった場合には、前記移動経路を算出する処理では、前記ｉ番目、（ｉ＋１）番目、（ｉ＋２）番目の線分から２つの線対称な移動経路を算出し、道路の情報に基づいて、前記２つの移動経路のうちの１つを真の移動経路として選択することを特徴とする移動経路算出プログラム。
（付記１７）  前記移動経路を算出する処理では、前記コンピュータに、前記２つの移動経路のうち、（ｉ−１）番目の線分とｉ番目の線分とのなす角が９０°に近い方の移動経路、又は、（ｉ＋２）番目の線分と（ｉ＋３）番目の線分とのなす角が９０°に近い方の移動経路を、前記真の移動経路として選択させることを特徴とする付記１６に記載の移動経路算出プログラム。
（付記１８）  前記道路の情報は、前記移動端末が移動する付近の道路地図であり、前記移動経路を算出する処理では、前記コンピュータに、前記２つの移動経路のうち、前記道路地図との合致度が高い方を、前記真の移動経路として選択させることを特徴とする付記１６に記載の移動経路算出プログラム。
【符号の説明】
【００９４】
２２  リンク情報生成部（取得部）
２４  移動経路算出部
３０  絶対位置検出部
１００  移動端末
【図１】
0005768426.tif 000004
【図２】
0005768426.tif 000005
【図３】
0005768426.tif 000006
【図４】
0005768426.tif 000007
【図５】
0005768426.tif 000008
【図６】
0005768426.tif 000009
【図７】
0005768426.tif 000010
【図８】
0005768426.tif 000011
【図９】
0005768426.tif 000012
【図１０】
0005768426.tif 000013
【図１１】
0005768426.tif 000014
【図１２】
0005768426.tif 000015
【図１３】
0005768426.tif 000016
【図１４】
0005768426.tif 000017
【図１５】
0005768426.tif 000018
【図１６】
0005768426.tif 000019
【図１７】
0005768426.tif 000020
【図１８】
0005768426.tif 000021
【図１９】
0005768426.tif 000022
【図２０】
0005768426.tif 000023
【図２１】
0005768426.tif 000024