移動端末及び移動経路算出プログラム
【課題】移動経路の算出精度を維持しつつ、消費電力を低減する。
【解決手段】絶対位置検出部30が移動端末100のアンカーポイントを検出し、リンク情報生成部22が、移動端末が曲がるまでの間に移動した線分(リンク)を取得し、移動経路算出部24が、リンク情報生成部22が取得したリンク上を移動端末が移動している間に絶対位置検出部30で検出されたアンカーポイントに基づいて、リンクの角度(所定方向)を算出するとともに、当該リンクの角度と直進距離とから移動端末の移動経路を算出する。そして、移動端末が1つのリンク上を移動している間に、絶対位置検出部においてアンカーポイントが複数検出された場合に、移動経路算出部は、遅いタイミングで検出されたアンカーポイントほどリンクの角度の算出において複数のアンカーポイントそれぞれの重み係数kjを大きくする。
【解決手段】絶対位置検出部30が移動端末100のアンカーポイントを検出し、リンク情報生成部22が、移動端末が曲がるまでの間に移動した線分(リンク)を取得し、移動経路算出部24が、リンク情報生成部22が取得したリンク上を移動端末が移動している間に絶対位置検出部30で検出されたアンカーポイントに基づいて、リンクの角度(所定方向)を算出するとともに、当該リンクの角度と直進距離とから移動端末の移動経路を算出する。そして、移動端末が1つのリンク上を移動している間に、絶対位置検出部においてアンカーポイントが複数検出された場合に、移動経路算出部は、遅いタイミングで検出されたアンカーポイントほどリンクの角度の算出において複数のアンカーポイントそれぞれの重み係数kjを大きくする。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、移動端末及び移動経路算出プログラムに関する。
【背景技術】
【0002】
近年、GPS(Global Positioning System)と自律航法を組み合わせたナビゲーションシステムが普及してきている。最近では、当該システムが搭載された携帯電話などの移動端末も出現してきている。
【0003】
特許文献1には、位置を時系列に測位し、地図上での移動方向の方位を特定する方位特定装置が開示されている。この方位特定装置では、測位して得られた測位データ(GPSや地磁気センサなど)に基づいて地図上の位置を推定するとともに、推定した位置及び地図情報に基づいて、自己の位置を地図上の道路に特定し、当該特定した位置の道路方位を自己の移動方向の方位として特定するものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−150724号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
1つの側面では、本発明は、精度よく移動経路を算出することが可能な移動端末及び移動経路算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本明細書に記載の移動端末は、移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部で検出された前記絶対位置に基づいて、前記所定方向を算出するとともに、当該算出された方向と前記線分情報に含まれる直進距離とから前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記移動端末が前記ある地点から前記所定方向に移動している間に、前記絶対位置検出部において前記絶対位置が複数検出された場合には、前記移動経路算出部は、遅いタイミングで検出された絶対位置ほど前記所定方向の算出において前記複数の絶対位置それぞれの重みを大きくする移動端末である。
【発明の効果】
【0007】
本明細書に記載の移動端末及び移動経路算出プログラムは、精度よく移動経路を算出することができるという効果を奏する。
【図面の簡単な説明】
【0008】
【図1】一実施形態に係る移動端末の構成を概略的に示す図である。
【図2】移動端末のハードウェア構成図である。
【図3】図1の制御部の機能ブロック図である。
【図4】移動端末で実行される処理の全体的な流れを示すフローチャートである。
【図5】ステップS12のリンク取得処理のサブルーチンを示す図である。
【図6】リンクデータベースを示す図である。
【図7】GPSデータベースを示す図である。
【図8】図4のステップS20のサブルーチンを示す図である。
【図9】図9(a)は、図8のステップS72の処理を説明するための図であり、図9(b)は、図8のステップS74の処理を説明するための図である。
【図10】重み付けを行う理由について説明するための図である。
【図11】図11(a)は重み付け係数を用いない場合に算出されるリンク角度の一例を示す図であり、図11(b)は重み付け係数を用いた場合に算出されるリンク角度の一例を示す図である。
【図12】重み付け係数を用いてリンク角度を算出する場合に関し、効果が発揮される状況の例を示す図である。
【発明を実施するための形態】
【0009】
以下、移動端末の一実施形態について、図1〜図12に基づいて詳細に説明する。図1には、移動端末100がブロック図にて示されている。本実施形態では、移動端末100として、例えば、携帯電話、PHS(Personal Handy-phone System)、スマートフォン、PDA(Personal Digital Assistant)などの携帯型の端末が採用されているものとする。なお、これに限らず、移動端末100としてはポータブルナビゲーションシステムや、GPSロガーなどを採用することもできる。
【0010】
移動端末100は、図1に示すように、絶対位置検出部30と、地磁気情報検出部40と、加速度情報検出部50と、表示画面60と、入力インタフェース62と、制御部20と、を備える。なお、移動端末100は、通話機能や、メール、インターネットなどの通信機能、撮影機能などの各種機能を備える場合もあるが、図1では、これらの機能を実現するための構成についての図示は省略している。
【0011】
絶対位置検出部30は、本実施形態では、GPS受信機であり、上空に存在する複数個のGPS衛星からの信号を受けて、絶対位置(緯度・経度で示される位置)に関する情報を得るものである。
【0012】
地磁気情報検出部40は、方位センサとも呼ばれ、3軸座標系上での地磁気の検出が可能な地磁気センサ、すなわち磁気方位センサである。なお、地磁気センサに代えて、ジャイロセンサ(角速度センサ)を用いることとしても良い。加速度情報検出部50は、例えば、3軸方向の加速度を検出するセンサである。
【0013】
表示画面60は、制御部20の指示の下、各種情報を表示するものであり、例えば、移動端末100を保持するユーザが移動したルートの情報を、表示する。入力インタフェース62は、キーボードやタッチパネルなどを含む。
【0014】
図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との通信を行う入出力ポートである。
【0015】
図3は、図1の制御部20のCPU90によって実現される、移動経路算出に関する機能を示す機能ブロック図である。図3に示すように、制御部20は、検出制御部21、取得部としてのリンク情報生成部22、情報記憶部23、移動経路算出部24、及び表示制御部25等として機能する。
【0016】
検出制御部21は、リンク情報生成部22からの情報に基づいて、絶対位置検出部30の起動タイミング、絶対位置検出部30の検出タイミングを決定し、当該検出タイミングで、絶対位置検出部30に絶対位置計測を実行させる。なお、本実施形態では、検出タイミングとして、移動端末100を保持するユーザが所定距離(例えば30m)だけ移動したタイミングを採用することとしている。
【0017】
リンク情報生成部22は、地磁気情報検出部40と加速度情報検出部50との検出結果に基づいて、移動端末100が直線移動している間(曲がり(曲がり角)と曲がり(曲がり角)との間)の距離の情報を含む線分情報を生成する。すなわち、リンク情報生成部22は、移動端末100がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を生成し取得する。以下においては、この線分情報をリンク情報と呼ぶものとする。なお、リンク情報生成部22は、移動端末100を保持するユーザが歩き始めたときからリンク情報の生成を開始し、入力インタフェース62を介してユーザから入力される歩行終了のコマンドを受け付けたときに、リンク情報の生成を終了する。また、リンク情報生成部22は、入力インタフェース62から入力される、GPSアプリケーションを終了するコマンドを受け付けたときに、検出制御部21に対して絶対位置検出部30による検出を中止すべき旨の指示を出す。
【0018】
情報記憶部23は、リンク情報生成部22で生成されたリンク情報や絶対位置検出部30で検出されたGPS計測結果を、データベースにて記憶する。移動経路算出部24は、移動端末100が直進移動している間に絶対位置検出部30で検出されたGPS計測結果に基づいて、移動方向所定方向を算出するとともに、当該移動方向とリンク情報に含まれる直進距離とから移動端末100の移動経路を算出する。移動経路算出部24は、リンク情報やGPS計測結果を情報記憶部23から読み出す。なお、情報記憶部23にて記憶されているデータベースの詳細な内容については、後述する。
【0019】
表示制御部25は、移動経路算出部24で取得された移動経路を取得して、表示画面60上に表示する。
【0020】
次に、上記のように構成される移動端末100における処理について、図4〜図12に基づいて、詳細に説明する。図4は、移動経路算出処理において、移動端末100が実行する処理の一連の流れを示すフローチャートである。なお、図4の処理の前提として、移動経路を算出するためのアプリケーションが、ユーザの指示の下、既に起動されているものとする。
【0021】
図4の処理では、まず、リンク情報生成部22が、ステップS10において、加速度情報検出部50が起動したか否かを判断する。このステップS10の判断が肯定された場合には、ステップS11、S12の処理、及びステップS14〜S28の処理に移行する。ステップS11、S12の処理、及びステップS14〜S28の処理は同時並行的に行われる。以下、各処理について、具体的に説明する。
【0022】
(ステップS11、S12の処理について)
ステップS11では、リンク情報生成部22が、曲がりを検出したか否かを判断する。ここで、曲がりとは、移動端末100を保持するユーザが進行方向を変更することを意味する。リンク情報生成部22は、例えば、地磁気情報検出部40で検出される地磁気の変化量が所定値以上になったときに、曲がりがあったことを検出する。
次いで、ステップS12では、リンク情報取得処理のサブルーチンを実行する。このステップS12のリンク取得処理のサブルーチンは、図5のフローチャートに沿って行われる。具体的には、まず、図5のステップS32において、リンク情報生成部22は、直線移動した距離(リンク長)を次式(1)に基づいて算出する。
リンク長=(曲がりを検出したときの通算歩数
−前回曲がりを検出したときの通算歩数)×歩幅 …(1)
【0023】
ここで、歩数は、加速度情報検出部50により検出される加速度の変化から取得される値であり、歩幅は、ユーザにより設定される値である。なお、ユーザは歩幅に代えて、身長を入力することとしてもよく、この場合には、リンク情報生成部22は、入力された身長から、おおよその歩幅を算出する。なお、歩き始めた後、最初の曲がりを検出したときには、リンク情報生成部22は、直線移動した距離(リンク長)を次式(1)’に基づいて算出する。
リンク長=(曲がりを検出したときの通算歩数)×歩幅 …(1)’
【0024】
次いで、ステップS34では、リンク情報生成部22が、移動経路算出用のデータとして、上式(1)又は(1)’に基づいて算出されたリンク長を情報記憶部23に格納されているリンクデータベース(図6参照)に登録する。ここで、リンクデータベースには、図6に示すように、リンクの通し番号である「リンクNo.」、曲がりを検出したときのユーザの通算の歩数である「曲がり時歩数」、所定方向(例えば、北)を基準とした角度(反時計回りの角度)である「リンク角度」、リンクの始点の座標である「リンク始点(x)」、「リンク始点(y)」、リンクの終点の座標である「リンク終点(x)」、「リンク終点(y)」の項目を含んでいる。なお、ステップS20が行われる直前の段階(リンクNo.が「2」のリンクが取得された段階)では、リンクNo.2の「リンク角度」、「リンク終点(x)」、「リンク終点(y)」の項目は空白のままとなる。なお、リンクNo.2の「リンク始点(x)」、「リンク始点(y)」は、リンクNo.1の「リンク終点(x)」、「リンク終点(y)」と同一の値となる。
【0025】
以上のようにしてステップS12の処理が終了すると、図4のステップS11に戻り、リンク情報生成部22が曲がりを検出するたびにリンク情報を取得する。そして、ステップS11、S12の処理は、ステップS28の判断が肯定されるまで(歩行終了となるまで)、継続される。
【0026】
(ステップS14〜S28の処理について)
次に、上記ステップS11、S12の処理と同時並行的に行われる、ステップS14〜S28の処理について説明する。ステップS14では、検出制御部21が、ユーザが所定距離(ここでは、30mとする)歩行したか否かを判断する。ここで、検出制御部21は、30m歩行したか否かの判断を、加速度情報検出部50により検出される歩数と、歩幅との積から算出した値に基づいて行うものとする。ただし、これに限らず、検出制御部21は、一般的にユーザが30m歩行するのに要する時間(例えば、23秒)が経過したか否かに基づいて、30m歩行したか否かの判断を行うこととしても良い。なお、30m歩行するのに要する時間は、予め設定されていても良いが、検出制御部21が過去に取得された歩数に関するデータなどから自動的に設定することとしても良い。ステップS14の判断が肯定されると、ステップS15に移行する。
【0027】
ステップS15では、検出制御部21が、絶対位置検出部30を介して絶対位置(アンカーポイントと呼ぶ)を取得する。なお、以下においては、アンカーポイントを「G(n)」と表し、アンカーポイントを取得した際のリンク上の地点を「P(n)」と表すものとする(例えば、図9(a)、図9(b)参照)。
【0028】
次いで、ステップS16では、検出制御部21が、ステップS15が行われるまでの間にリンク情報生成部22のステップS12の処理が少なくとも1回行われ、少なくとも1つのリンクが情報が取得されているか否かを判断する。ここでの判断が否定された場合には、ステップS14に戻り、以降は、ユーザが所定距離歩行するたびに、アンカーポイントの取得を行う。一方、ステップS16の判断が肯定された場合には、ステップS20に移行する。なお、アンカーポイントのデータは、情報格納部23が保有する、図7に示すようなGPSデータベースに格納される。図7のGPSデータベースは、アンカーポイントの計測が行われたときに取得中であったリンクの通し番号である「リンクNo.」、GPS測位結果を示す「緯度」、「経度」、GPS取得時までに歩き始めからユーザが歩いた歩数を示す「GPS取得時歩数」の項目を有している。なお、図7では、リンクNo.が「2」のリンクに対するアンカーポイントの取得が完了した状態が示されている。
【0029】
図4に戻り、ステップS20では、移動経路算出部24が、ステップS12(リンク取得処理)で取得された1つのリンク情報と、ステップS15(GPS取得処理)で取得されたアンカーポイントの情報を用いて、リンク角度算出処理を行う。以下、ステップS20のリンク角度算出処理について、図8のフローチャートに沿って説明する。
【0030】
(リンク角度算出処理(ステップS20)について)
図8は、ステップS20の処理の流れを示すフローチャートである。図8の処理では、まず、ステップS70では、移動経路算出部24が、ステップS12においてリンク情報生成部22が1つのリンク情報を取得している間に、絶対位置検出部30が複数のアンカーポイントを取得したか否か、すなわち、ステップS12を1回行うまでの間に、ステップS15が複数回行われたか否か、を判断する。ここでの判断が否定された場合には、ステップS72に移行し、判断が肯定された場合には、ステップS74に移行する。
【0031】
ステップS72に移行した場合には、移動経路算出部24は、リンクが、前のリンクの終端を起点として取得したアンカーポイントを通過するような角度を、リンク角度として決定する。具体的には、図9(a)に示すように、前のリンクの終点Fを始点として、アンカーポイントG(1)をリンクが通るような角度を、リンク角度(例えば北を基準とした角度)αとして決定する。
【0032】
一方、ステップS74に移行した場合には、移動経路算出部24は、各アンカーポイントの重み付けを行って、リンク角度α’を決定する。以下、図9(b)に示すように、3つのアンカーポイントが取得された場合のリンク角度α’の決定方法について説明する。
【0033】
図9(b)の場合、前のリンクの終端Fを始点として、アンカーポイントG(1)、G(2)、G(3)が取得されており、各アンカーポイントG(1)、G(2)、G(3)を取得されたときのリンク上の位置(P(1)、P(2)、P(3))も取得されているものとする。この場合、次式(2)にて表される値εが最小となるような、P(1)、P(2)、P(3)を求める。
【0034】
【数1】
【0035】
ここで、上式(2)は、点G(j)と点P(j)との間に各点を結ぶバネ(バネ定数kj)が存在していると想定して、各バネが最も安定する状態、すなわち、エネルギが最小となる状態を最適な状態であると推定する理論(Kamada,Kawaiのモデル)に基づく式である。なお、本実施形態では、バネ定数kjをアンカーポイントの重みに応じて変更するので、以下においては、kjを「重み係数」と呼ぶものとする。
【0036】
上式(2)において、本実施形態では、重み係数kjを、前のリンクの終端F(現リンクの始点)からの距離が遠いアンカーポイントほど(すなわち、検出タイミングが遅いアンカーポイントほど)、大きい値とする。例えば、重み係数kjは、前のリンクの終端F(現リンクの始点)からの距離に比例する値に設定する。このように、重み係数kjを、距離が遠いアンカーポイントほど大きい値とするのは、図10に示すように、リンクの始点からアンカーポイントまでの距離が近いほど、リンクの始点とGPSの誤差範囲とを通るリンクの角度範囲aが大きくなるからである。すなわち、リンクの始点からの距離が近いアンカーポイントほど、リンク角度への影響が大きく(図10の左図参照)、リンク角度の取り得る範囲を広くしてしまい、リンク角度の誤差への影響が大きいため、当該影響をなるべく小さくする必要があるからである。したがって、本実施形態のように、前のリンクの終端F(現リンクの始点)からの距離が遠いアンカーポイントほど重み係数kjを大きくして、リンク角度の算出において影響が大きくなるようにすることで、リンク角度として適切な角度が算出されるようにしているのである。
【0037】
図11(a)には、重み係数を用いないとする(又は重み係数kjを固定値とする)場合における、正解のリンク角度と、移動経路算出部24が算出するリンク角度の一例が示されている。また、図11(b)には、重み係数を用いた場合(すなわち重み係数kjを可変にした場合)における正解のリンク角度と、移動経路算出部24が算出するリンク角度の一例が示されている。なお、図11(a)、図11(b)では、周辺の建物(鉄筋等)などの影響で、アンカーポイントが実際の位置から一定の方向にずれて検出される場合について示されている。
【0038】
これら図11(a)、図11(b)を比較するとわかるように、図11(b)のように可変の重み係数を用いた方が、移動経路算出部24が算出するリンク角度を、正解のリンク角度に近づけることができる。また、リンク角度とリンクの長さから決定されるリンクの終点を、実際のリンクの終点に近づけることが可能となる。
【0039】
なお、本実施形態では、例えば、図12に示すように、リンクの始点が実際の始点からずれているような場合にも、重み係数をリンクの始点からの距離に応じて大きくすることにより、算出したリンク角度を、正解のリンク角度に近づけることができる。また、リンク角度とリンクの長さから決定されるリンクの終点を、実際のリンクの終点に近づけることが可能となる。
【0040】
なお、上記のようにしてリンク角度α又はα’が決まると、図6のリンクデータベースのうち、項目「リンク角度」への登録が可能となる。また、リンク角度α又はα’が決まることで、リンク終点(x),(y)の項目への登録も可能となる。
【0041】
以上のようにしてステップS72又はステップS74の処理が行われた後は、図4のステップS22に移行する。
【0042】
図4に戻り、ステップS22では、移動経路算出部24が、移動経路を算出する。具体的には、移動経路算出部24は、これまでに求められている移動経路に対して、ステップS20で求められたリンク角度のリンクを連結したものを、新たな移動経路として算出する。
【0043】
そして、ステップS26では、表示制御部25が、移動経路を表示画面60上に出力する。これにより、表示画面60上には、これまでにユーザが歩行した経路が、ほぼリアルタイムで表示されることになる。
【0044】
次いで、ステップS28では、リンク情報生成部22が歩行終了か否かを判断する。ここでの判断が否定された場合には、ステップS11及びステップS14に戻る。なお、ステップS28において歩行終了と判断される場合とは、例えば、加速度情報検出部50が所定時間ユーザの歩行を検出しなかったような場合や、ユーザが入力インタフェース62から、歩行終了のコマンドを入力した場合などである。一方、ステップS28の判断が肯定された場合には、図4の全処理を終了する。
【0045】
以上、詳細に説明したように、本実施形態によると、絶対位置検出部30が移動端末100のアンカーポイント(絶対位置)を検出し、リンク情報生成部22が、移動端末100が曲がるまでの間に移動した線分(リンク)を取得し、移動経路算出部24が、リンク情報生成部22が取得したリンク上を移動端末100が移動している間に絶対位置検出部30で検出されたアンカーポイントに基づいて、リンクの角度(方向)を算出するとともに、当該リンクの角度とリンクの直進距離とから移動端末100の移動経路を算出する。この場合において、移動端末100が1つのリンク上を移動している間に、絶対位置検出部30においてアンカーポイントが複数検出された場合には、移動経路算出部24は、遅いタイミングで検出されたアンカーポイントほどリンクの角度の算出において複数のアンカーポイントそれぞれの重み係数kjを大きくする。これにより、本実施形態では、リンクの角度を決定する際に誤差に対する影響の小さい、リンクの始点から遠いアンカーポイント(遅いタイミングで検出されたアンカーポイント)ほど重みを大きくすることで、リンクの角度を正解の角度に近づけることができる。したがって、地図情報等を用いなくとも精度よく移動経路を算出することが可能となる。また、本実施形態によると、絶対位置を頻繁に取得し続けなくてもよいため、装置の消費電力を低減することができる。また、本実施形態では、移動端末100を保有するユーザが曲がり角等を曲がる度に移動経路が変更されるので、ほぼリアルタイムで移動経路が更新され、使い勝手がよい。
【0046】
また、本実施形態では、移動経路算出部24は、複数のアンカーポイント(絶対位置)それぞれの重みを、各アンカーポイントが取得されたときに移動端末100がリンク上を移動していた距離(すなわち、リンクの始点からの距離)に比例した値に決定する。これにより、本実施形態のように、アンカーポイントの取得タイミングを距離(歩数×歩幅)で決定している場合には、その距離を重み係数の決定に流用することができる。これにより簡易に重み係数を決定することができる。
【0047】
なお、上記実施形態では、アンカーポイントを取得したときのリンクの始点からの距離に比例した値で、各アンカーポイントの重み付けを行うこととしたが、これに限らず、例えば、リンク上を移動端末100が移動している間に絶対位置検出部30が検出した順序(各リンクに対応する絶対位置の取得順序)に比例した値で重み付けを行うこととしてもよい。この場合にも、上記実施形態のように距離を用いて重み付けを行う場合と同様、簡易に重み付けを行うことができる。
【0048】
なお、上記実施形態では、アンカーポイントの取得タイミングを距離(歩数×歩幅)で決定する場合について説明したが、これに限られるものではない。例えば、タイマーを用いて計測される所定時間ごとに、アンカーポイントを取得することとしてもよい。
【0049】
なお、上記実施形態及び上記変形例では、アンカーポイントG(i)と、これに対応するP(i)との距離の二乗和を利用して、移動経路を算出する場合について説明したが、これに限られるものではない。例えば、アンカーポイントG(i)と、リンクとの距離(最短距離)の二乗和が最小値となるようなリンクの角度を、最適値とすることとしても良い。
【0050】
なお、上記実施形態では、GPSデータベースにおける位置を、緯度、経度で表す場合について説明したが、緯度、経度をその他の値(例えば、出発点を原点とする距離)であらわすこととしても良い。この場合、x座標の正方向を東方向、y座標の正方向を北方向などとすることができる。
【0051】
なお、上記実施形態では、移動経路を移動端末100内で算出する場合について説明したが、これに限られるものではない。例えば、移動端末100では、絶対位置検出部30、地磁気情報検出部40、加速度情報検出部50の検出結果を、外部のサーバ等に送信することとしても良い。サーバに、図3の制御部20と同様の機能を持たせることで、サーバにおいて、移動経路や移動経路を算出することができる。また、サーバからは、算出された移動経路や移動経路を移動端末100に送信することとしても良い。
【0052】
なお、上記実施形態では、絶対位置検出部30として、GPSセンサを用いる場合について説明したが、これに限らず、その他の装置を用いることとしても良い。絶対位置検出手段としては、例えば、RFIDシステムなどを採用することができる。また、上記実施形態では、地磁気情報検出部40としては、地磁気センサに代えて、その他の方位センサ、例えば、ジャイロセンサなどを用いることとしても良い。
【0053】
なお、本実施形態における制御部20の処理機能は、コンピュータによって実現することができる。その場合、制御部20が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0054】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0055】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0056】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0057】
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) 移動端末の絶対位置を検出する絶対位置検出部と、移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部で検出された前記絶対位置に基づいて、前記所定方向を算出するとともに、当該算出された方向と前記線分情報に含まれる直進距離とから前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記移動端末が前記ある地点から前記所定方向に移動している間に、前記絶対位置検出部において前記絶対位置が複数検出された場合には、前記移動経路算出部は、遅いタイミングで検出された絶対位置ほど前記所定方向の算出において前記複数の絶対位置それぞれの重みを大きくすることを特徴とする移動端末。
(付記2) 前記移動経路算出部は、前記複数の絶対位置それぞれの重みを、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部が検出した順序に比例した値にすることを特徴とする付記1に記載の移動端末。
(付記3) 前記移動経路算出部は、前記複数の絶対位置それぞれの重みを、前記各絶対位置が取得されたときに前記移動端末が前記ある地点から移動していた距離に比例した値にすることを特徴とする付記1に記載の移動端末。
(付記4) 移動端末の絶対位置を検出する絶対位置検出部から前記端末の絶対位置を取得し、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得し、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部で検出された前記絶対位置に基づいて、前記所定方向を算出するとともに、当該算出された方向と前記線分情報に含まれる直進距離とから前記移動端末の移動経路を算出する処理を、コンピュータに実行させ、前記移動端末が前記ある地点から前記所定方向に移動している間に、前記取得する処理において前記絶対位置が複数検出された場合には、前記移動経路を算出する処理では、遅いタイミングで検出された絶対位置ほど前記所定方向の算出において前記複数の絶対位置それぞれの重みを大きくすることを特徴とする移動経路算出プログラム。
(付記5) 前記移動経路を算出する処理では、前記コンピュータに、前記複数の絶対位置それぞれの重みを、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部が検出した順序に比例した値にさせることを特徴とする付記4に記載の移動経路算出プログラム。
(付記6) 前記移動経路を算出する処理では、前記コンピュータに、前記複数の絶対位置それぞれの重みを、前記各絶対位置が取得されたときに前記移動端末が前記ある地点から移動していた距離に比例した値にさせることを特徴とする付記1に記載の移動経路算出プログラム。
【符号の説明】
【0058】
10 移動端末
22 リンク情報生成部(リンク取得部)
24 移動経路算出部
30 絶対位置検出部
【技術分野】
【0001】
本件は、移動端末及び移動経路算出プログラムに関する。
【背景技術】
【0002】
近年、GPS(Global Positioning System)と自律航法を組み合わせたナビゲーションシステムが普及してきている。最近では、当該システムが搭載された携帯電話などの移動端末も出現してきている。
【0003】
特許文献1には、位置を時系列に測位し、地図上での移動方向の方位を特定する方位特定装置が開示されている。この方位特定装置では、測位して得られた測位データ(GPSや地磁気センサなど)に基づいて地図上の位置を推定するとともに、推定した位置及び地図情報に基づいて、自己の位置を地図上の道路に特定し、当該特定した位置の道路方位を自己の移動方向の方位として特定するものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−150724号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
1つの側面では、本発明は、精度よく移動経路を算出することが可能な移動端末及び移動経路算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本明細書に記載の移動端末は、移動端末の絶対位置を検出する絶対位置検出部と、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部で検出された前記絶対位置に基づいて、前記所定方向を算出するとともに、当該算出された方向と前記線分情報に含まれる直進距離とから前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記移動端末が前記ある地点から前記所定方向に移動している間に、前記絶対位置検出部において前記絶対位置が複数検出された場合には、前記移動経路算出部は、遅いタイミングで検出された絶対位置ほど前記所定方向の算出において前記複数の絶対位置それぞれの重みを大きくする移動端末である。
【発明の効果】
【0007】
本明細書に記載の移動端末及び移動経路算出プログラムは、精度よく移動経路を算出することができるという効果を奏する。
【図面の簡単な説明】
【0008】
【図1】一実施形態に係る移動端末の構成を概略的に示す図である。
【図2】移動端末のハードウェア構成図である。
【図3】図1の制御部の機能ブロック図である。
【図4】移動端末で実行される処理の全体的な流れを示すフローチャートである。
【図5】ステップS12のリンク取得処理のサブルーチンを示す図である。
【図6】リンクデータベースを示す図である。
【図7】GPSデータベースを示す図である。
【図8】図4のステップS20のサブルーチンを示す図である。
【図9】図9(a)は、図8のステップS72の処理を説明するための図であり、図9(b)は、図8のステップS74の処理を説明するための図である。
【図10】重み付けを行う理由について説明するための図である。
【図11】図11(a)は重み付け係数を用いない場合に算出されるリンク角度の一例を示す図であり、図11(b)は重み付け係数を用いた場合に算出されるリンク角度の一例を示す図である。
【図12】重み付け係数を用いてリンク角度を算出する場合に関し、効果が発揮される状況の例を示す図である。
【発明を実施するための形態】
【0009】
以下、移動端末の一実施形態について、図1〜図12に基づいて詳細に説明する。図1には、移動端末100がブロック図にて示されている。本実施形態では、移動端末100として、例えば、携帯電話、PHS(Personal Handy-phone System)、スマートフォン、PDA(Personal Digital Assistant)などの携帯型の端末が採用されているものとする。なお、これに限らず、移動端末100としてはポータブルナビゲーションシステムや、GPSロガーなどを採用することもできる。
【0010】
移動端末100は、図1に示すように、絶対位置検出部30と、地磁気情報検出部40と、加速度情報検出部50と、表示画面60と、入力インタフェース62と、制御部20と、を備える。なお、移動端末100は、通話機能や、メール、インターネットなどの通信機能、撮影機能などの各種機能を備える場合もあるが、図1では、これらの機能を実現するための構成についての図示は省略している。
【0011】
絶対位置検出部30は、本実施形態では、GPS受信機であり、上空に存在する複数個のGPS衛星からの信号を受けて、絶対位置(緯度・経度で示される位置)に関する情報を得るものである。
【0012】
地磁気情報検出部40は、方位センサとも呼ばれ、3軸座標系上での地磁気の検出が可能な地磁気センサ、すなわち磁気方位センサである。なお、地磁気センサに代えて、ジャイロセンサ(角速度センサ)を用いることとしても良い。加速度情報検出部50は、例えば、3軸方向の加速度を検出するセンサである。
【0013】
表示画面60は、制御部20の指示の下、各種情報を表示するものであり、例えば、移動端末100を保持するユーザが移動したルートの情報を、表示する。入力インタフェース62は、キーボードやタッチパネルなどを含む。
【0014】
図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との通信を行う入出力ポートである。
【0015】
図3は、図1の制御部20のCPU90によって実現される、移動経路算出に関する機能を示す機能ブロック図である。図3に示すように、制御部20は、検出制御部21、取得部としてのリンク情報生成部22、情報記憶部23、移動経路算出部24、及び表示制御部25等として機能する。
【0016】
検出制御部21は、リンク情報生成部22からの情報に基づいて、絶対位置検出部30の起動タイミング、絶対位置検出部30の検出タイミングを決定し、当該検出タイミングで、絶対位置検出部30に絶対位置計測を実行させる。なお、本実施形態では、検出タイミングとして、移動端末100を保持するユーザが所定距離(例えば30m)だけ移動したタイミングを採用することとしている。
【0017】
リンク情報生成部22は、地磁気情報検出部40と加速度情報検出部50との検出結果に基づいて、移動端末100が直線移動している間(曲がり(曲がり角)と曲がり(曲がり角)との間)の距離の情報を含む線分情報を生成する。すなわち、リンク情報生成部22は、移動端末100がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を生成し取得する。以下においては、この線分情報をリンク情報と呼ぶものとする。なお、リンク情報生成部22は、移動端末100を保持するユーザが歩き始めたときからリンク情報の生成を開始し、入力インタフェース62を介してユーザから入力される歩行終了のコマンドを受け付けたときに、リンク情報の生成を終了する。また、リンク情報生成部22は、入力インタフェース62から入力される、GPSアプリケーションを終了するコマンドを受け付けたときに、検出制御部21に対して絶対位置検出部30による検出を中止すべき旨の指示を出す。
【0018】
情報記憶部23は、リンク情報生成部22で生成されたリンク情報や絶対位置検出部30で検出されたGPS計測結果を、データベースにて記憶する。移動経路算出部24は、移動端末100が直進移動している間に絶対位置検出部30で検出されたGPS計測結果に基づいて、移動方向所定方向を算出するとともに、当該移動方向とリンク情報に含まれる直進距離とから移動端末100の移動経路を算出する。移動経路算出部24は、リンク情報やGPS計測結果を情報記憶部23から読み出す。なお、情報記憶部23にて記憶されているデータベースの詳細な内容については、後述する。
【0019】
表示制御部25は、移動経路算出部24で取得された移動経路を取得して、表示画面60上に表示する。
【0020】
次に、上記のように構成される移動端末100における処理について、図4〜図12に基づいて、詳細に説明する。図4は、移動経路算出処理において、移動端末100が実行する処理の一連の流れを示すフローチャートである。なお、図4の処理の前提として、移動経路を算出するためのアプリケーションが、ユーザの指示の下、既に起動されているものとする。
【0021】
図4の処理では、まず、リンク情報生成部22が、ステップS10において、加速度情報検出部50が起動したか否かを判断する。このステップS10の判断が肯定された場合には、ステップS11、S12の処理、及びステップS14〜S28の処理に移行する。ステップS11、S12の処理、及びステップS14〜S28の処理は同時並行的に行われる。以下、各処理について、具体的に説明する。
【0022】
(ステップS11、S12の処理について)
ステップS11では、リンク情報生成部22が、曲がりを検出したか否かを判断する。ここで、曲がりとは、移動端末100を保持するユーザが進行方向を変更することを意味する。リンク情報生成部22は、例えば、地磁気情報検出部40で検出される地磁気の変化量が所定値以上になったときに、曲がりがあったことを検出する。
次いで、ステップS12では、リンク情報取得処理のサブルーチンを実行する。このステップS12のリンク取得処理のサブルーチンは、図5のフローチャートに沿って行われる。具体的には、まず、図5のステップS32において、リンク情報生成部22は、直線移動した距離(リンク長)を次式(1)に基づいて算出する。
リンク長=(曲がりを検出したときの通算歩数
−前回曲がりを検出したときの通算歩数)×歩幅 …(1)
【0023】
ここで、歩数は、加速度情報検出部50により検出される加速度の変化から取得される値であり、歩幅は、ユーザにより設定される値である。なお、ユーザは歩幅に代えて、身長を入力することとしてもよく、この場合には、リンク情報生成部22は、入力された身長から、おおよその歩幅を算出する。なお、歩き始めた後、最初の曲がりを検出したときには、リンク情報生成部22は、直線移動した距離(リンク長)を次式(1)’に基づいて算出する。
リンク長=(曲がりを検出したときの通算歩数)×歩幅 …(1)’
【0024】
次いで、ステップS34では、リンク情報生成部22が、移動経路算出用のデータとして、上式(1)又は(1)’に基づいて算出されたリンク長を情報記憶部23に格納されているリンクデータベース(図6参照)に登録する。ここで、リンクデータベースには、図6に示すように、リンクの通し番号である「リンクNo.」、曲がりを検出したときのユーザの通算の歩数である「曲がり時歩数」、所定方向(例えば、北)を基準とした角度(反時計回りの角度)である「リンク角度」、リンクの始点の座標である「リンク始点(x)」、「リンク始点(y)」、リンクの終点の座標である「リンク終点(x)」、「リンク終点(y)」の項目を含んでいる。なお、ステップS20が行われる直前の段階(リンクNo.が「2」のリンクが取得された段階)では、リンクNo.2の「リンク角度」、「リンク終点(x)」、「リンク終点(y)」の項目は空白のままとなる。なお、リンクNo.2の「リンク始点(x)」、「リンク始点(y)」は、リンクNo.1の「リンク終点(x)」、「リンク終点(y)」と同一の値となる。
【0025】
以上のようにしてステップS12の処理が終了すると、図4のステップS11に戻り、リンク情報生成部22が曲がりを検出するたびにリンク情報を取得する。そして、ステップS11、S12の処理は、ステップS28の判断が肯定されるまで(歩行終了となるまで)、継続される。
【0026】
(ステップS14〜S28の処理について)
次に、上記ステップS11、S12の処理と同時並行的に行われる、ステップS14〜S28の処理について説明する。ステップS14では、検出制御部21が、ユーザが所定距離(ここでは、30mとする)歩行したか否かを判断する。ここで、検出制御部21は、30m歩行したか否かの判断を、加速度情報検出部50により検出される歩数と、歩幅との積から算出した値に基づいて行うものとする。ただし、これに限らず、検出制御部21は、一般的にユーザが30m歩行するのに要する時間(例えば、23秒)が経過したか否かに基づいて、30m歩行したか否かの判断を行うこととしても良い。なお、30m歩行するのに要する時間は、予め設定されていても良いが、検出制御部21が過去に取得された歩数に関するデータなどから自動的に設定することとしても良い。ステップS14の判断が肯定されると、ステップS15に移行する。
【0027】
ステップS15では、検出制御部21が、絶対位置検出部30を介して絶対位置(アンカーポイントと呼ぶ)を取得する。なお、以下においては、アンカーポイントを「G(n)」と表し、アンカーポイントを取得した際のリンク上の地点を「P(n)」と表すものとする(例えば、図9(a)、図9(b)参照)。
【0028】
次いで、ステップS16では、検出制御部21が、ステップS15が行われるまでの間にリンク情報生成部22のステップS12の処理が少なくとも1回行われ、少なくとも1つのリンクが情報が取得されているか否かを判断する。ここでの判断が否定された場合には、ステップS14に戻り、以降は、ユーザが所定距離歩行するたびに、アンカーポイントの取得を行う。一方、ステップS16の判断が肯定された場合には、ステップS20に移行する。なお、アンカーポイントのデータは、情報格納部23が保有する、図7に示すようなGPSデータベースに格納される。図7のGPSデータベースは、アンカーポイントの計測が行われたときに取得中であったリンクの通し番号である「リンクNo.」、GPS測位結果を示す「緯度」、「経度」、GPS取得時までに歩き始めからユーザが歩いた歩数を示す「GPS取得時歩数」の項目を有している。なお、図7では、リンクNo.が「2」のリンクに対するアンカーポイントの取得が完了した状態が示されている。
【0029】
図4に戻り、ステップS20では、移動経路算出部24が、ステップS12(リンク取得処理)で取得された1つのリンク情報と、ステップS15(GPS取得処理)で取得されたアンカーポイントの情報を用いて、リンク角度算出処理を行う。以下、ステップS20のリンク角度算出処理について、図8のフローチャートに沿って説明する。
【0030】
(リンク角度算出処理(ステップS20)について)
図8は、ステップS20の処理の流れを示すフローチャートである。図8の処理では、まず、ステップS70では、移動経路算出部24が、ステップS12においてリンク情報生成部22が1つのリンク情報を取得している間に、絶対位置検出部30が複数のアンカーポイントを取得したか否か、すなわち、ステップS12を1回行うまでの間に、ステップS15が複数回行われたか否か、を判断する。ここでの判断が否定された場合には、ステップS72に移行し、判断が肯定された場合には、ステップS74に移行する。
【0031】
ステップS72に移行した場合には、移動経路算出部24は、リンクが、前のリンクの終端を起点として取得したアンカーポイントを通過するような角度を、リンク角度として決定する。具体的には、図9(a)に示すように、前のリンクの終点Fを始点として、アンカーポイントG(1)をリンクが通るような角度を、リンク角度(例えば北を基準とした角度)αとして決定する。
【0032】
一方、ステップS74に移行した場合には、移動経路算出部24は、各アンカーポイントの重み付けを行って、リンク角度α’を決定する。以下、図9(b)に示すように、3つのアンカーポイントが取得された場合のリンク角度α’の決定方法について説明する。
【0033】
図9(b)の場合、前のリンクの終端Fを始点として、アンカーポイントG(1)、G(2)、G(3)が取得されており、各アンカーポイントG(1)、G(2)、G(3)を取得されたときのリンク上の位置(P(1)、P(2)、P(3))も取得されているものとする。この場合、次式(2)にて表される値εが最小となるような、P(1)、P(2)、P(3)を求める。
【0034】
【数1】
【0035】
ここで、上式(2)は、点G(j)と点P(j)との間に各点を結ぶバネ(バネ定数kj)が存在していると想定して、各バネが最も安定する状態、すなわち、エネルギが最小となる状態を最適な状態であると推定する理論(Kamada,Kawaiのモデル)に基づく式である。なお、本実施形態では、バネ定数kjをアンカーポイントの重みに応じて変更するので、以下においては、kjを「重み係数」と呼ぶものとする。
【0036】
上式(2)において、本実施形態では、重み係数kjを、前のリンクの終端F(現リンクの始点)からの距離が遠いアンカーポイントほど(すなわち、検出タイミングが遅いアンカーポイントほど)、大きい値とする。例えば、重み係数kjは、前のリンクの終端F(現リンクの始点)からの距離に比例する値に設定する。このように、重み係数kjを、距離が遠いアンカーポイントほど大きい値とするのは、図10に示すように、リンクの始点からアンカーポイントまでの距離が近いほど、リンクの始点とGPSの誤差範囲とを通るリンクの角度範囲aが大きくなるからである。すなわち、リンクの始点からの距離が近いアンカーポイントほど、リンク角度への影響が大きく(図10の左図参照)、リンク角度の取り得る範囲を広くしてしまい、リンク角度の誤差への影響が大きいため、当該影響をなるべく小さくする必要があるからである。したがって、本実施形態のように、前のリンクの終端F(現リンクの始点)からの距離が遠いアンカーポイントほど重み係数kjを大きくして、リンク角度の算出において影響が大きくなるようにすることで、リンク角度として適切な角度が算出されるようにしているのである。
【0037】
図11(a)には、重み係数を用いないとする(又は重み係数kjを固定値とする)場合における、正解のリンク角度と、移動経路算出部24が算出するリンク角度の一例が示されている。また、図11(b)には、重み係数を用いた場合(すなわち重み係数kjを可変にした場合)における正解のリンク角度と、移動経路算出部24が算出するリンク角度の一例が示されている。なお、図11(a)、図11(b)では、周辺の建物(鉄筋等)などの影響で、アンカーポイントが実際の位置から一定の方向にずれて検出される場合について示されている。
【0038】
これら図11(a)、図11(b)を比較するとわかるように、図11(b)のように可変の重み係数を用いた方が、移動経路算出部24が算出するリンク角度を、正解のリンク角度に近づけることができる。また、リンク角度とリンクの長さから決定されるリンクの終点を、実際のリンクの終点に近づけることが可能となる。
【0039】
なお、本実施形態では、例えば、図12に示すように、リンクの始点が実際の始点からずれているような場合にも、重み係数をリンクの始点からの距離に応じて大きくすることにより、算出したリンク角度を、正解のリンク角度に近づけることができる。また、リンク角度とリンクの長さから決定されるリンクの終点を、実際のリンクの終点に近づけることが可能となる。
【0040】
なお、上記のようにしてリンク角度α又はα’が決まると、図6のリンクデータベースのうち、項目「リンク角度」への登録が可能となる。また、リンク角度α又はα’が決まることで、リンク終点(x),(y)の項目への登録も可能となる。
【0041】
以上のようにしてステップS72又はステップS74の処理が行われた後は、図4のステップS22に移行する。
【0042】
図4に戻り、ステップS22では、移動経路算出部24が、移動経路を算出する。具体的には、移動経路算出部24は、これまでに求められている移動経路に対して、ステップS20で求められたリンク角度のリンクを連結したものを、新たな移動経路として算出する。
【0043】
そして、ステップS26では、表示制御部25が、移動経路を表示画面60上に出力する。これにより、表示画面60上には、これまでにユーザが歩行した経路が、ほぼリアルタイムで表示されることになる。
【0044】
次いで、ステップS28では、リンク情報生成部22が歩行終了か否かを判断する。ここでの判断が否定された場合には、ステップS11及びステップS14に戻る。なお、ステップS28において歩行終了と判断される場合とは、例えば、加速度情報検出部50が所定時間ユーザの歩行を検出しなかったような場合や、ユーザが入力インタフェース62から、歩行終了のコマンドを入力した場合などである。一方、ステップS28の判断が肯定された場合には、図4の全処理を終了する。
【0045】
以上、詳細に説明したように、本実施形態によると、絶対位置検出部30が移動端末100のアンカーポイント(絶対位置)を検出し、リンク情報生成部22が、移動端末100が曲がるまでの間に移動した線分(リンク)を取得し、移動経路算出部24が、リンク情報生成部22が取得したリンク上を移動端末100が移動している間に絶対位置検出部30で検出されたアンカーポイントに基づいて、リンクの角度(方向)を算出するとともに、当該リンクの角度とリンクの直進距離とから移動端末100の移動経路を算出する。この場合において、移動端末100が1つのリンク上を移動している間に、絶対位置検出部30においてアンカーポイントが複数検出された場合には、移動経路算出部24は、遅いタイミングで検出されたアンカーポイントほどリンクの角度の算出において複数のアンカーポイントそれぞれの重み係数kjを大きくする。これにより、本実施形態では、リンクの角度を決定する際に誤差に対する影響の小さい、リンクの始点から遠いアンカーポイント(遅いタイミングで検出されたアンカーポイント)ほど重みを大きくすることで、リンクの角度を正解の角度に近づけることができる。したがって、地図情報等を用いなくとも精度よく移動経路を算出することが可能となる。また、本実施形態によると、絶対位置を頻繁に取得し続けなくてもよいため、装置の消費電力を低減することができる。また、本実施形態では、移動端末100を保有するユーザが曲がり角等を曲がる度に移動経路が変更されるので、ほぼリアルタイムで移動経路が更新され、使い勝手がよい。
【0046】
また、本実施形態では、移動経路算出部24は、複数のアンカーポイント(絶対位置)それぞれの重みを、各アンカーポイントが取得されたときに移動端末100がリンク上を移動していた距離(すなわち、リンクの始点からの距離)に比例した値に決定する。これにより、本実施形態のように、アンカーポイントの取得タイミングを距離(歩数×歩幅)で決定している場合には、その距離を重み係数の決定に流用することができる。これにより簡易に重み係数を決定することができる。
【0047】
なお、上記実施形態では、アンカーポイントを取得したときのリンクの始点からの距離に比例した値で、各アンカーポイントの重み付けを行うこととしたが、これに限らず、例えば、リンク上を移動端末100が移動している間に絶対位置検出部30が検出した順序(各リンクに対応する絶対位置の取得順序)に比例した値で重み付けを行うこととしてもよい。この場合にも、上記実施形態のように距離を用いて重み付けを行う場合と同様、簡易に重み付けを行うことができる。
【0048】
なお、上記実施形態では、アンカーポイントの取得タイミングを距離(歩数×歩幅)で決定する場合について説明したが、これに限られるものではない。例えば、タイマーを用いて計測される所定時間ごとに、アンカーポイントを取得することとしてもよい。
【0049】
なお、上記実施形態及び上記変形例では、アンカーポイントG(i)と、これに対応するP(i)との距離の二乗和を利用して、移動経路を算出する場合について説明したが、これに限られるものではない。例えば、アンカーポイントG(i)と、リンクとの距離(最短距離)の二乗和が最小値となるようなリンクの角度を、最適値とすることとしても良い。
【0050】
なお、上記実施形態では、GPSデータベースにおける位置を、緯度、経度で表す場合について説明したが、緯度、経度をその他の値(例えば、出発点を原点とする距離)であらわすこととしても良い。この場合、x座標の正方向を東方向、y座標の正方向を北方向などとすることができる。
【0051】
なお、上記実施形態では、移動経路を移動端末100内で算出する場合について説明したが、これに限られるものではない。例えば、移動端末100では、絶対位置検出部30、地磁気情報検出部40、加速度情報検出部50の検出結果を、外部のサーバ等に送信することとしても良い。サーバに、図3の制御部20と同様の機能を持たせることで、サーバにおいて、移動経路や移動経路を算出することができる。また、サーバからは、算出された移動経路や移動経路を移動端末100に送信することとしても良い。
【0052】
なお、上記実施形態では、絶対位置検出部30として、GPSセンサを用いる場合について説明したが、これに限らず、その他の装置を用いることとしても良い。絶対位置検出手段としては、例えば、RFIDシステムなどを採用することができる。また、上記実施形態では、地磁気情報検出部40としては、地磁気センサに代えて、その他の方位センサ、例えば、ジャイロセンサなどを用いることとしても良い。
【0053】
なお、本実施形態における制御部20の処理機能は、コンピュータによって実現することができる。その場合、制御部20が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0054】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0055】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0056】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0057】
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) 移動端末の絶対位置を検出する絶対位置検出部と、移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部で検出された前記絶対位置に基づいて、前記所定方向を算出するとともに、当該算出された方向と前記線分情報に含まれる直進距離とから前記移動端末の移動経路を算出する移動経路算出部と、を備え、前記移動端末が前記ある地点から前記所定方向に移動している間に、前記絶対位置検出部において前記絶対位置が複数検出された場合には、前記移動経路算出部は、遅いタイミングで検出された絶対位置ほど前記所定方向の算出において前記複数の絶対位置それぞれの重みを大きくすることを特徴とする移動端末。
(付記2) 前記移動経路算出部は、前記複数の絶対位置それぞれの重みを、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部が検出した順序に比例した値にすることを特徴とする付記1に記載の移動端末。
(付記3) 前記移動経路算出部は、前記複数の絶対位置それぞれの重みを、前記各絶対位置が取得されたときに前記移動端末が前記ある地点から移動していた距離に比例した値にすることを特徴とする付記1に記載の移動端末。
(付記4) 移動端末の絶対位置を検出する絶対位置検出部から前記端末の絶対位置を取得し、前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得し、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部で検出された前記絶対位置に基づいて、前記所定方向を算出するとともに、当該算出された方向と前記線分情報に含まれる直進距離とから前記移動端末の移動経路を算出する処理を、コンピュータに実行させ、前記移動端末が前記ある地点から前記所定方向に移動している間に、前記取得する処理において前記絶対位置が複数検出された場合には、前記移動経路を算出する処理では、遅いタイミングで検出された絶対位置ほど前記所定方向の算出において前記複数の絶対位置それぞれの重みを大きくすることを特徴とする移動経路算出プログラム。
(付記5) 前記移動経路を算出する処理では、前記コンピュータに、前記複数の絶対位置それぞれの重みを、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部が検出した順序に比例した値にさせることを特徴とする付記4に記載の移動経路算出プログラム。
(付記6) 前記移動経路を算出する処理では、前記コンピュータに、前記複数の絶対位置それぞれの重みを、前記各絶対位置が取得されたときに前記移動端末が前記ある地点から移動していた距離に比例した値にさせることを特徴とする付記1に記載の移動経路算出プログラム。
【符号の説明】
【0058】
10 移動端末
22 リンク情報生成部(リンク取得部)
24 移動経路算出部
30 絶対位置検出部
【特許請求の範囲】
【請求項1】
移動端末の絶対位置を検出する絶対位置検出部と、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、
前記移動端末が前記所定方向に移動している間に前記絶対位置検出部で検出された前記絶対位置に基づいて、前記所定方向を算出するとともに、当該算出された方向と前記線分情報に含まれる直進距離とから前記移動端末の移動経路を算出する移動経路算出部と、
を備え、
前記移動端末が前記ある地点から前記所定方向に移動している間に、前記絶対位置検出部において前記絶対位置が複数検出された場合には、
前記移動経路算出部は、遅いタイミングで検出された絶対位置ほど前記所定方向の算出において前記複数の絶対位置それぞれの重みを大きくすることを特徴とする移動端末。
【請求項2】
前記移動経路算出部は、前記複数の絶対位置それぞれの重みを、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部が検出した順序に比例した値にすることを特徴とする請求項1に記載の移動端末。
【請求項3】
前記移動経路算出部は、前記複数の絶対位置それぞれの重みを、前記各絶対位置が取得されたときに前記移動端末が前記ある地点から移動していた距離に比例した値にすることを特徴とする請求項1に記載の移動端末。
【請求項4】
移動端末の絶対位置を検出する絶対位置検出部から前記端末の絶対位置を取得し、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得し、
前記移動端末が前記所定方向に移動している間に前記絶対位置検出部で検出された前記絶対位置に基づいて、前記所定方向を算出するとともに、当該算出された方向と前記線分情報に含まれる直進距離とから前記移動端末の移動経路を算出する処理を、コンピュータに実行させ、
前記移動端末が前記ある地点から前記所定方向に移動している間に、前記取得する処理において前記絶対位置が複数検出された場合には、
前記移動経路を算出する処理では、遅いタイミングで検出された絶対位置ほど前記所定方向の算出において前記複数の絶対位置それぞれの重みを大きくすることを特徴とする移動経路算出プログラム。
【請求項1】
移動端末の絶対位置を検出する絶対位置検出部と、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得する取得部と、
前記移動端末が前記所定方向に移動している間に前記絶対位置検出部で検出された前記絶対位置に基づいて、前記所定方向を算出するとともに、当該算出された方向と前記線分情報に含まれる直進距離とから前記移動端末の移動経路を算出する移動経路算出部と、
を備え、
前記移動端末が前記ある地点から前記所定方向に移動している間に、前記絶対位置検出部において前記絶対位置が複数検出された場合には、
前記移動経路算出部は、遅いタイミングで検出された絶対位置ほど前記所定方向の算出において前記複数の絶対位置それぞれの重みを大きくすることを特徴とする移動端末。
【請求項2】
前記移動経路算出部は、前記複数の絶対位置それぞれの重みを、前記移動端末が前記所定方向に移動している間に前記絶対位置検出部が検出した順序に比例した値にすることを特徴とする請求項1に記載の移動端末。
【請求項3】
前記移動経路算出部は、前記複数の絶対位置それぞれの重みを、前記各絶対位置が取得されたときに前記移動端末が前記ある地点から移動していた距離に比例した値にすることを特徴とする請求項1に記載の移動端末。
【請求項4】
移動端末の絶対位置を検出する絶対位置検出部から前記端末の絶対位置を取得し、
前記移動端末がある地点から所定方向に移動する場合に、該ある地点から移動方向が該所定方向から変更される地点までの間を結ぶ線分情報を取得し、
前記移動端末が前記所定方向に移動している間に前記絶対位置検出部で検出された前記絶対位置に基づいて、前記所定方向を算出するとともに、当該算出された方向と前記線分情報に含まれる直進距離とから前記移動端末の移動経路を算出する処理を、コンピュータに実行させ、
前記移動端末が前記ある地点から前記所定方向に移動している間に、前記取得する処理において前記絶対位置が複数検出された場合には、
前記移動経路を算出する処理では、遅いタイミングで検出された絶対位置ほど前記所定方向の算出において前記複数の絶対位置それぞれの重みを大きくすることを特徴とする移動経路算出プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−198147(P2012−198147A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2011−63276(P2011−63276)
【出願日】平成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 ]