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