(58)【調査した分野】(Int.Cl.,DB名)
補正手段は、自機の進行方向を示す直線を移動させた直線と、前記コース情報におけるコースとの接点の位置に前記位置情報における位置を補正することを特徴とする請求項1に記載の情報処理装置。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を用いて説明する。
【0010】
図1は、本発明の一実施形態の情報処理装置に係るリスト端末のハードウェアの構成を示すブロック図である。
リスト端末1は、例えばスマートウォッチ等の時計装置として構成される。
【0011】
リスト端末1は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、バス14と、入出力インターフェース15と、GPS部16と、センサ部17と、入力部18と、出力部19と、記憶部20と、通信部21と、ドライブ22と、を備えている。
【0012】
CPU11は、ROM12に記録されているプログラム、又は、記憶部20からRAM13にロードされたプログラムに従って各種の処理を実行する。
【0013】
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0014】
CPU11、ROM12及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インターフェース15も接続されている。入出力インターフェース15には、GPS部16、センサ部17、入力部18、出力部19、記憶部20、通信部21及びドライブ22が接続されている。
【0015】
GPS部16は、アンテナを含み複数のGPS(Global Positioning System)用衛星からのGPS信号を受信して、リスト端末1の位置情報を取得する。
センサ部17は、XYZ軸方向のリスト端末1の移動やリスト端末1の振動を測定可能に構成される。センサ部17は、例えば、GPSを補完する加速度センサ、地磁気センサで構成される。
【0016】
入力部18は、各種釦等で構成され、ユーザの指示操作に応じて各種情報を入力する。
出力部19は、ディスプレイ、スピーカ、バイブレータ等で構成され、画像、アラーム音を含む音声、振動を出力する。アラーム音や振動に関しては、例えば、コースを外れた場合に、警告的に動作する。
記憶部20は、ハードディスク或いはDRAM(Dynamic Random Access Memory)等で構成され、各種画像のデータを記憶する。
通信部21は、インターネットを含むネットワークを介して他の装置(図示せず)との間で行う通信を制御する。通信部21は、例えば、近距離無線通信規格のBT(Bluetooth)(登録商標),BLE(Bluetooth Low Energy)(登録商標),シリアルバス規格のUSB(Universal Serial Bus)により構成される。
【0017】
ドライブ22には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア31が適宜装着される。ドライブ22によってリムーバブルメディア31から読み出されたプログラムは、必要に応じて記憶部20にインストールされる。また、リムーバブルメディア31は、記憶部20に記憶されている画像のデータ等の各種データも、記憶部20と同様に記憶することができる。
【0018】
このように構成されるリスト端末1では、ランニング時に腕などに装着し、ランナーの走行距離や移動軌跡を計測して、出力部19において、ランニングコースを含んだマップを表示出力し、当該マップ上にリアルタイムに実際に走った履歴をプロットして表示出力することができる機能を有する。履歴のプロットに際しては、取得するGPS値には誤差があるため、誤差を加味して履歴をコース上にプロットする。コースから外れて走っている場合には、コースから外れたと判断した地点から遡及して履歴を修正するように構成される。
なお、リスト端末1は、ランニング中は腕に装着してGPS部16による位置情報の計測、センサ部17計測を毎秒間隔で行う。位置測位は、ランニングの時は毎秒、ウォーキングの時は、間欠等アルゴリズムで自在に測位間隔を設定できるものとのする。
【0019】
また、本実施形態においては、以下に示すようなランニングコースの管理が行われている。
図2は、ランニングのコース管理システムを示すシステム構成図である。
ランニングのコースは、リスト端末1で、リアルタイムにランニング時の現在位置と走行軌跡の表示を行う際に、用いられる。リスト端末1では、コースデータに基づいて、位置の補正や表示を行う。
コース情報は、例えば、
図2に示すように、予め、PC(Personal Computer)、スマートフォン、タブレット等の外部装置2で地図等に基づいて作成され、ネットワークNを介して、クラウドのサーバ3へ登録される。
ランニングをする際には、リスト端末1においては、予め登録したコース情報をサーバ3から外部装置2を介して取得する。
なお、コース情報をサーバ3に登録する方法は、上述したように予め地図等をガイドとして作成して登録する方法もあるが、リスト端末1を装着して実際に走行した時のGPSによる軌跡データに基づいて作成し登録(以下、「試走登録」という。)することも可能である。このような試走登録による方法を用いる場合は、リスト端末1で取得した軌跡データを地図の道路ネットワークデータを利用して補正し、道路に沿ったコースへ経路情報を補正することが可能になる。本実施形態においては、リスト端末1のメモリ的な制約から道路ネットワークデータを利用することができないため、コース情報を用いて、GPSで捕捉した位置情報の補正、移動距離の補正を行う。
【0020】
次に、本実施形態のリスト端末1におけるリアルタイム走行軌跡表示について説明する。
「リアルタイム走行軌跡表示」とは、現在走行中のユーザが装着するリスト端末1で逐次取得されるGPS信号から得られた位置情報やセンサ情報等から、マップと共に、マップ上に走行軌跡をプロットして表示するものである。このリアルタイム走行軌跡表示では、走行軌跡において、コースを走っていると判定された場合には、取得した位置情報に基づいて、設定したコースに合うように補正する。位置情報のGPSの即位における誤差を考慮して、コースに合うように補正(以下、「コースマッチング」という。)する。また、コースから外れた場合には、取得した位置情報を採用する。
【0021】
次に、本実施形態におけるコースマッチングについて説明する。
図3は、本実施形態におけるコースマッチングの例を示す図である。なお、図中において、「A」は、設定したコースを示し、「A‘」及び「A‘‘」は、GPSの誤差範囲を示す。このGPSの誤差範囲は、GPS衛星電波の受信状況により変動するが、ここでは便宜的に一定であるとする。また、「X」は位置情報を示し、「N」は、表示される位置情報を示し、( )内の数字は、取得順を示す。以下、コースマッチングを示した図についても同様とする。
【0022】
本実施形態においては、取得した位置情報がGPSの誤差範囲内である場合には、コース上にあるとされる。これに対して、取得した位置情報がGPSの誤差範囲外である場合には、すぐさまコースから外れたとせず、一旦、コース上であるとして表示し、その後に取得した他の位置情報がさらにGPSの誤差範囲外である場合に、コースから外れたとして修正されて、コース上の表示から、位置情報の位置に再表示される。即ち、GPSの誤差範囲外である場合には、その後の位置情報を取得するまで、仮にコース上に表示され、その後、取得された位置情報に応じて、そのままコース上に表示されるか、位置情報の位置に表示されるかが決定される。
【0023】
また、
図3では、コース上を移動し続けている例を示している。
図3(a)の例では、直進するコースを走行した場合を示している。例えば、位置情報X(1)は、「A」から外れているが、「A」と「A‘」との間(GPSの誤差範囲内)に位置しているために、コース上を走っていると判定されて、「A」のライン上の位置に位置情報N(1)として補正される。位置情報X(2)についても同様である。
【0024】
ここで、位置情報Xから位置情報Nへの補正は、位置情報Xに対応するセンサ情報(位置情報取得時のセンサ情報)のうち、地磁気センサ等から取得した進行方向のベクトルを用いる。進行方向のベクトルと、「A」に平行移動させた接点を位置情報Nとする。直線の場合は、位置情報Xを単に「A」に平行移動させた位置を位置情報Nとする。
具体的には、例えば、位置情報X(2)の場合には、進行方向のベクトルがR2方向であるため、そのままコースA上に平行移動して、位置情報N(2)の位置となる。なお、図において、その他、特段ベクトルRを示さない場合には、R2のようにコースと同一の方向のベクトルであるとする。
【0025】
また、位置情報X(3)については、「A‘‘」よりも外側にあるにも関わらず、「A」のライン上の位置に位置情報N(3)として補正している。これは、位置情報X(3)の後の位置情報X(5)において、「A‘」及び「A‘‘」の内側であるため、位置情報X(3)の時点でもコース内であったことが事後的にわかるために、「A」のライン上の位置に位置情報N(3)としている。なお、位置情報X(4)及び(5)が取得されていない時点では、コースを外れているか、コース内にいるかの判定が点かないために、位置情報X(3)は仮位置として、位置情報X(3)と同じ位置に位置情報N(3)が設定される。
【0026】
このようにして、位置情報Xと地磁気センサより得られた進行方向のベクトルから、コースに対する位置に補正をより正確に行うことができる。位置情報がGPSの誤差範囲内の場合も同様の方法で補正して位置情報Nを得ることができる。
【0027】
図3(b)の例では、角を曲がるコースを走行した場合を示している。
図3(b)の例でも、
図3(a)の例と同様に、例えば、位置情報X(1)は、「A」から外れているが、「A」と「A‘」との間に位置しているために、コース上を走っていると判定されて、「A」のライン上の位置に位置情報N(1)として補正される。また、位置情報X(3)は、「A‘‘」よりも外側にあるが、位置情報X(3)の後の位置情報X(5)において、「A‘」及び「A‘‘」の内側であるため、「A」のライン上の位置に位置情報N(3)としている。
したがって、
図3の例では、GPSの誤差範囲内にある場合には、コース上に位置情報Nが補正され、GPSの誤差範囲外の場合でも、その後の位置情報においてGPSの誤差範囲内にあるために、コース上に位置情報Nが補正される。詳細には、GPSの誤差範囲外の場合でも、取得時点では、コース上に位置情報Nが補正されるが、その後の位置情報においてGPSの誤差範囲内にあるために、確定的にコース上に位置情報Nが補正されることになる。
【0028】
図4は、本実施形態におけるコースマッチングの他の例を示す図であり、
図3の例と同様のコースにおいて途中でコースを外れて走行した場合について説明する図である。
図4の例では、実際の走行ではZ地点でコースからB方向に外れた場合を示している。
図4(a)及び
図4(b)の例では、位置情報X(1)において、GPSの誤差範囲外となり、位置情報X(2)では、GPSの誤差範囲外となり、その後の位置情報X(3)及び(4)においてもGPSの誤差範囲外となる。
このような場合、まず、位置情報X(1)の取得時点では、GPSの誤差範囲外であるが、コースを外れたかの判定はできないため、表示はコース上の仮の位置情報PN(1)に暫定的に補正する。位置情報X(2)は、GPSの誤差範囲内であるため、コース上の仮の位置情報PN(2)に暫定的に補正する。位置情報X(3)及び(4)では明らかに、コースのGPS誤差範囲から逸脱しているので、位置情報X(1)まで遡って、表示させる位置情報を補正し直し、位置情報N(1)及び(2)を、位置情報(1)及び(2)として採用する。
なお、その後の位置情報X(2)及び(3)においてGPSの誤差範囲内であった場合には、仮の位置情報PN(1)の位置を、位置情報N(1)とする。
【0029】
図4(b)の例でも、
図4(a)と同様に、位置情報X(1)及び(2)の取得時点では、コース上の仮の位置情報PN(2)に暫定的に補正し、位置情報X(3)及び(4)の取得により、コースから外れているとして、位置情報X(1)まで遡って、表示させる位置情報を補正し直し、遡及して、位置情報N(1)及び(2)を、位置情報(1)及び(2)として採用する。
【0030】
ここで、
図3及び
図4の例では、直線か直角に曲がるコースにおいてコース上に位置情報を設定する場合について説明したが、
図5では、コースがカーブしている場合について説明する。
図5は、本実施形態におけるコースマッチングの他の例を示す図である。
例えば、位置情報X(1)は、「A」から外れているが、「A」と「A‘‘」との間(GPSの誤差範囲内)に位置しているために、コース上を走っていると判定されて、「A」のライン上の位置に位置情報N(1)として補正される。詳細には、位置情報Xの即位時のセンサ情報のうち、地磁気センサ等から取得した進行方向のベクトルR1を「A」に平行移動させた直線Q1と、コース「A」の接点を位置情報N(1)とする。
なお、位置情報XがGPSの誤差範囲外である場合でも、コースから外れていないと判断されているときには、コース上に位置情報Nを補正するが、その際にも上述したコースマッチングと同様の手法で補正を行う。
【0031】
図6は、このようなリスト端末1の機能的構成のうち、リアルタイム走行軌道表示処理を実行するための機能的構成を示す機能ブロック図である。
「リアルタイム走行軌道表示処理」とは、取得した位置情報に基づいて、リアルタイムにコース上の現在位置及び過去の走行ルートを表示するまでの処理をいう。
【0032】
リアルタイム走行軌道表示処理は、
図6に示すように、CPU11において、コース情報取得部51と、走行軌跡設定処理部52と、距離算出部53と、出力制御部54と、が機能する。
【0033】
また、記憶部20の一領域には、コース情報記憶部71と、位置情報記憶部72と、設定位置情報記憶部73と、が設定される。
【0034】
コース情報記憶部71には、外部機器から取得したコース情報が記憶される。取得されるコース情報は、マップとコースの情報を含むものであり、外部機器からマップ及びコースの情報を取得するように構成してもよいし、マップの情報だけ外部機器から取得して、コースの情報をユーザが任意に設定するように構成してもよい。
【0035】
位置情報記憶部72は、GPS部16及びセンサ部17から取得した位置情報及び進行方向のベクトルの情報(以下、「ベクトル情報」という。)が記憶される。
【0036】
設定位置情報記憶部73は、取得された位置情報及びベクトル情報に基づいて設定された位置情報が記憶される。当該位置情報がコースを含んだマップ上にプロットされて、出力部19に表示出力されることになる。
【0037】
コース情報取得部51は、通信部21を介して外部機器からコース情報を取得する。また、コース情報取得部51は、取得したコース情報をコース情報記憶部71に記憶させ、位置情報及びベクトル情報を位置情報記憶部72に記憶させる。
【0038】
走行軌跡設定処理部52は、取得した位置情報及びベクトル情報を取得し、現在位置及び走行履歴を設定する処理を行う。走行軌跡設定処理部52は、GPS部16から位置情報を取得し、センサ部17から当該位置情報が取得された際のベクトル情報を取得する。その後、取得された位置情報のGPSの誤差範囲から、コース内かコースから外れたかを判定して、位置情報を設定する。
また、走行軌跡設定処理部52は、設定した位置情報を設定位置情報記憶部73に記憶させる。
【0039】
また、走行軌跡設定処理部52は、コースマッチング処理部91と、コース判定処理部92と、を備える。
【0040】
コースマッチング処理部91は、コースマッチング処理を実行する。
「コースマッチング処理」とは、取得した位置情報におけるGPSの誤差を考慮して、設定されたコース上に位置情報をマッチングする処理である。
詳細には、コースマッチング処理部91は、取得した位置情報はGPSの取得誤差により、そのまま位置で表示してしまうとコースから外れてしまっている場合があるため、位置情報に基づいてコース上に配置されるように位置を補正する。具体的には、コースマッチング処理部91は、進行方向のベクトルを平行移動させてコースと合致する地点を位置情報とする補正を行う。
【0041】
コース判定処理部92は、コース判定処理を実行する。
「コース判定処理」とは、取得した位置情報がコースから外れたものであるか否かを判定して、コース内である場合には、コース上に位置情報を採用するようにし、コース外である場合には、取得した位置情報を位置情報として採用する処理である。
詳細には、コース判定処理部92は、取得した位置情報がGPSの誤差範囲外である場合に、当該誤差がコースから外れたものなのか否かを判定する。具体的には、コース判定処理部92は、GPSの誤差範囲外とされた位置情報から後の位置情報において所定の回数以上GPSの誤差範囲外とされた場合に、コースから外れたとして判定する。
なお、コースから外れたとする判定は、複数の位置情報の取得を待たないと行えないため、リアルタイムに現在位置及び走行履歴を表示させる本例では、未確定の位置情報については暫定的にコース内であるとしてコース上に位置情報を採用する。即ち、未確定の位置情報については仮に補正を行って位置情報が設定されて表示されることになる。その後、位置が確定してから、改めて、判定結果に基づいて、位置が修正されることになる。このため、判定結果に基づいた位置情報の採用は、過去に設定した仮の位置情報に遡及して行うこととなる。
【0042】
また、コース判定処理部92は、置き換え処理を実行する。
「置き換え処理」とは、コースを外れているとされた位置情報に対応する位置情報を、コース上の位置から位置情報の位置に置き換える処理である。
【0043】
距離算出部53は、走行軌跡設定処理部52により設定された位置情報に基づいて、位置情報間の距離を算出する。具体的には、距離算出部53は、取得時期が隣り合う位置情報間の距離を算出する。
【0044】
出力制御部54は、走行軌跡設定処理部52により設定された位置情報及び距離算出部53により算出された距離を、マップ上にコースと共に表示出力するように出力部19を制御する。
【0045】
図7は、
図6の機能的構成を有する
図1のリスト端末1が実行するリアルタイム走行軌道表示処理の流れを説明するフローチャートである。
なお、以下、
図7、
図9及び
図10のフローチャートは、
図8を例に説明する。
図8は、本実施形態におけるコースマッチングの例を示す図である。
図8の例では、コース「A」を走行中に、途中でZ地点からコースを外れて「B」方向へ走行する。このように走行する
図8の例では、走行中に位置情報X(1)乃至(6)を取得する。
【0046】
リアルタイム走行軌道表示処理は、ユーザによる入力部18へのリアルタイム走行軌道表示処理開始の操作により開始される。
【0047】
ステップS11において、コース情報取得部51は、コース情報を取得する。詳細には、コース情報取得部51は、外部機器から通信部21を介してコース情報を取得する。コース情報取得部51は、取得してコース情報をコース情報記憶部71に記憶させる。
なお、コース情報の取得は、リアルタイム走行軌道表示処理が実行される前に、予め行うように構成してもよい。
【0048】
ステップS12において、走行軌跡設定処理部52は、前の位置情報Nを前の位置情報を示す位置情報Mとしてメモリに保持する。
【0049】
ステップS13において、走行軌跡設定処理部52は、次の位置情報Xを取得する。詳細には、走行軌跡設定処理部52は、GPS部16から位置情報を取得し、センサ部17からベクトル情報を取得する。
走行軌跡設定処理部52は、取得したら位置情報及びベクトル情報を位置情報記憶部72に記憶させる。
【0050】
ステップS14において、走行軌跡設定処理部52は、コースの誤差範囲と、位置情報Xと、を比較する。即ち、走行軌跡設定処理部52は、コースを中心として設定されたコースの誤差範囲と、取得された位置情報との位置を比較する。
【0051】
ステップS15において、走行軌跡設定処理部52は、位置情報XがGPSの誤差範囲内であるか否かを判定する。即ち、走行軌跡設定処理部52は、比較されたコースの誤差範囲と、位置情報Xの結果から、位置情報XがGPSの誤差範囲内か否かを判定する。
位置情報XがGPSの誤差範囲内である場合には、ステップS15においてYESと判定されて、処理はステップS16に進む。
【0052】
ステップS16において、走行軌跡設定処理部52のうちコースマッチング処理部91は、コースマッチング処理を実行する。コースマッチング処理の詳細な流れについては、後述する。
【0053】
ステップS17において、走行軌跡設定処理部52は、位置情報Xを補正して位置情報Nとして設定する。即ち、走行軌跡設定処理部52は、コースマッチング処理で採用された位置情報Nを位置情報Xに代えて設定する。
具体的には、
図8の例に示すように、位置情報X(1)をコース上に補正して、位置情報N(1)として設定する。
走行軌跡設定処理部52は、設定した位置情報Nを設定位置情報記憶部73に記憶させる。
その後、処理はステップS21に進む。ステップS21以降の処理は後述する。
【0054】
これに対して、位置情報XがGPSの誤差範囲外である場合には、ステップS15においてNOと判定されて、処理はステップS18に進む。
【0055】
ステップS18において、走行軌跡設定処理部52のうちコース判定処理部92は、コース判定処理を実行する。コース判定処理の詳細な流れについては、後述する。
【0056】
ステップS19において、走行軌跡設定処理部52は、コースから外れたか否かを判定する。即ち、走行軌跡設定処理部52コース判定処理での判定結果により、コースから外れたか否かを判定する。
コースから外れていない、即ち、コース内である場合には、ステップS19においてNOと判定されて、処理はステップS16に戻る。
コースから外れた場合には、ステップS19においてYESと判定されて、処理はステップS20に進む。
【0057】
ステップS20において、走行軌跡設定処理部52は、コース判定処理においての採用に基づいて、位置情報Xを位置情報Nとして設定する。
具体的には、
図8の例に示すように、位置情報X(3)を位置情報N(1)として設定する。
走行軌跡設定処理部52は、設定した位置情報Nを設定位置情報記憶部73に記憶させる。
【0058】
ステップS21において、距離算出部53は、今回設定された位置情報Nと、前回設定された位置情報Mとの距離dを算出する。
具体的には、
図8の例に示すように、位置情報N(2)と、位置情報N(2)の前の位置情報N(1)との間の距離dを算出する。
【0059】
ステップS22において、出力制御部54は、走行軌跡設定処理部52により設定された位置情報と、距離算出部53により算出された距離dを、コース情報上にプロットして、リアルタイム走行軌跡として表示出力するように出力部19を制御する。
具体的には、
図8の例に示すように、コース「A」と、図中白丸で示した位置情報N(1)及び(2)と、図中黒丸で示した位置情報N(3)乃至(6)が図示しないマップ上に表示されることとなる。
その後、リアルタイム走行軌跡処理は終了する。
【0060】
次に、リアルタイム走行軌道表示処理のうちコースマッチング処理の流れについて説明する。
図9は、リアルタイム走行軌道表示処理のうちコースマッチング処理の詳細な流れを説明するフローチャートである。
【0061】
ステップS51において、コースマッチング処理部91は、位置情報Xをメモリに格納する。
【0062】
ステップS52において、コースマッチング処理部91は、位置情報Xに対応するベクトル情報の進行方向のベクトルRからコースA上の接点を算出する。
具体的には、
図8の例に示すように、位置情報X(2)のベクトルR(2)を平行移動させたコースAとの位置情報N(2)となる接点を算出する。
【0063】
ステップS53において、コースマッチング処理部91は、コースAとの接点を位置情報Nとして採用する。その後、コースマッチング処理は、終了する。
これにより、GPSの誤差が生じても、コース上に位置が表示されることになる。
【0064】
次に、リアルタイム走行軌道表示処理のうちコースマッチング処理の流れについて説明する。
図10は、リアルタイム走行軌道表示処理のうちコース判定処理の詳細な流れを説明するフローチャートである。
【0065】
ステップS71において、コース判定処理部92は、位置情報Xをメモリに格納する。
【0066】
ステップS72において、コース判定処理部92は、コースの誤差範囲と、位置情報Xと、を比較する。即ち、コース判定処理部92は、コースを中心として設定されたコースの誤差範囲と、取得された位置情報との位置を比較する。
【0067】
ステップS73において、コース判定処理部92は、位置情報XがGPSの誤差範囲内であるか否かを判定する。即ち、コース判定処理部92は、比較されたコースの誤差範囲と、位置情報Xの結果から、位置情報XがGPSの誤差範囲内か否かを判定する。
位置情報XがGPSの誤差範囲内である場合には、ステップS73においてYESと判定されて、処理はステップS74に進む。
【0068】
ステップS74において、コース判定処理部92は、コースマッチング処理を行う。即ち、コース判定処理部92は、コースマッチング処理により、位置情報Xをコース上に位置させる補正を行い、位置情報Nに採用する。本ステップのコースマッチング処理では、位置情報Nの設定も行う。
このため、
図8の例に示すように、例えば、次の位置情報X(2)を取得して位置情報N(2)を設定した場合や、次の位置情報X(3)を取得して仮の位置情報PN(3)を暫定的に設定することとなる。
その後、処理は、ステップS78に進む。ステップS78の処理は後述する。
【0069】
ステップS75において、コース判定処理部92は、「t=t+1」をカウントする。即ち、コース判定処理部92は、位置情報XがGPSの誤差範囲外である場合に、連続何回の位置情報XにおいてGPSの誤差範囲外であるかをカウントする。
具体的には、
図8の例に示すように、位置情報X(3)においてGPSの誤差範囲外であるため、「t=1」とカウントされる。その後、位置情報X(4)及び(5)もGPSの誤差範囲外であるため、「t=2」,「t=3」とカウントされる。
【0070】
ステップS76において、コース判定処理部92は、tが閾値(T)回数以上であるか否かを判定する。なお、本実施形態においては、閾値(T)は、3として設定される。
具体的には、
図8の例では、位置情報X(3)及び(4)の場合は、「t=1」,「t=2」であるため、閾値(T)3以上でないと判定され、位置情報X(5)で閾値(T)以上であると判定される。
tが閾値(T)回数以上でない場合には、ステップS77においてNOと判定されて、処理はステップS74に戻る。
tが閾値(T)回数以上である場合には、ステップS77においてYESと判定されて、処理はステップS77に進む。
【0071】
ステップS77において、コース判定処理部92は、閾値(T)を超えているためにコースから外れたと判定されているため、置き換え処理を実行する。置き換え処理の詳細な流れについては後述する。
【0072】
ステップS78において、コース判定処理部92は、GPSの計測が終了したか否かを判定する。
GPSの計測が終了していない場合には、ステップS78においてNOと判定されて、処理はステップS79に戻る。
【0073】
ステップS79において、コース判定処理部92は、次の位置情報Xを取得する。詳細には、コース判定処理部92は、GPS部16から位置情報を取得し、センサ部17からベクトル情報を取得する。その後、処理はステップS71に戻る。
【0074】
これに対して、GPSの計測が終了した場合には、コース判定処理を終了する。
【0075】
次に、コース判定処理のうち置き換え処理の流れについて説明する。
図11は、リアルタイム走行軌道表示処理のうち置き換え処理の詳細な流れを説明するフローチャートである。
【0076】
ステップS91において、コース判定処理部92は、遡るrよりもtが大きいか否かを判定する(「r<t?」)。例えば、閾値(T)3である本実施形態においては、t=3回分遡ることになるため、遡るrがtよりも値が大きいかを判定する。
【0077】
ステップS92において、コース判定処理部92は、該当位置情報Nを位置情報Xに置き換える。
具体的には、
図8の例の場合、仮の位置情報PN(4)を位置情報X(4)に置き換えて位置情報N(4)とする。
【0078】
ステップS92において、コース判定処理部92は、rをインクリメントする。即ち、1つ前に遡る対象とする。その後、処理はステップS91に戻る。
具体的には、
図8の例の場合、置き換えた位置情報N(4)の1つ前の仮の位置情報PN(3)と対象とする。
【0079】
これに対して、rよりもtが小さい場合には、ステップS91においてNOと判定されて置き換え処理は終了する。
【0080】
上述したコースマッチングの例では、コースを走行して、その後コースから外れる例について説明したが、以下においては、コースから外れて走行し、その後コースに戻る(復帰する)例について説明する。
【0081】
図12は、本実施形態におけるコースマッチングの他の例を示す図である。
位置情報X(1)乃至(3)は、
図12に示すように、GPSの誤差範囲外であるため、コースから外れ居ていると判定されて、当該位置が位置情報N(1)乃至(3)として採用されている。位置情報X(4)においては、GPSの誤差範囲内に入ったため、コース内である(コースに戻った)と判定されて、仮の位置情報PN(3)とされる。その後、位置情報X(5)乃至(6)がGPSの誤差範囲内であるため、コース内であると判定されて、仮の位置情報PN(3)が位置情報N(3)に確定する。位置情報X(5)乃至(6)についても、位置情報N(5)乃至(6)に補正される。
【0082】
このようなコースを外れていた状態から、コースに戻る場合には、リアルタイム走行軌道表示処理のうち、コース判定処理が異なる。
図13は、リアルタイム走行軌道表示処理のうち他のコース判定処理の詳細な流れを説明するフローチャートである。
【0083】
ステップS111において、コース判定処理部92は、前の位置情報Nを前の位置情報を示す位置情報Mとしてメモリに保持する。
【0084】
ステップS112において、コース判定処理部92は、コースの誤差範囲と、位置情報Xと、を比較する。即ち、コース判定処理部92は、コースを中心として設定されたコースの誤差範囲と、取得された位置情報との位置を比較する。
【0085】
ステップS113において、コース判定処理部92は、位置情報XがGPSの誤差範囲内であるか否かを判定する。即ち、コース判定処理部92は、比較されたコースの誤差範囲と、位置情報Xの結果から、位置情報XがGPSの誤差範囲内か否かを判定する。
位置情報XがGPSの誤差範囲内である場合には、ステップS113においてYESと判定されて、処理はステップS114に進む。
これに対して、位置情報XがGPSの誤差範囲外である場合には、ステップS113においてNOと判定されて、処理はステップS119に進む。ステップS119以降の処理は後述する。
【0086】
ステップS114において、コース判定処理部92は、qが閾値(Q)回数以上であるか否かを判定する。なお、本実施形態においては、閾値(Q)は、3として設定される。
具体的には、
図11の例では、位置情報X(4)及び(5)の場合は、「q=1」,「q=2」であるため、閾値(Q)3以上でないと判定され、位置情報X(6)で閾値(Q)以上であると判定される。
qが閾値(Q)回数以上でない場合には、ステップS114においてNOと判定されて、処理はステップS117に進む。ステップS117以降の処理については後述する。
tが閾値(Q)回数以上である場合には、ステップS114においてYESと判定されて、処理はステップS115に進む。
【0087】
ステップS114において、コース判定処理部92は、コースマッチング処理を行う。即ち、コース判定処理部92は、コースマッチング処理により、位置情報Xをコース上に位置させる補正を行い、位置情報Nに採用する。本ステップのコースマッチング処理では、位置情報Nの設定も行う。
このため、
図11の例に示すように、例えば、次の位置情報X(5)を取得して位置情報N(5)を設定した場合となる。
【0088】
ステップS116において、コース判定処理部92は、位置情報Xを補正して、コースマッチング処理で採用されたコース上の位置情報Nとして設定する。コース判定処理部92は、設定した位置情報を設定位置情報記憶部73に記憶させる。
その後、処理はステップS120に進む。ステップS120以降の処理は後述する。
【0089】
ステップS117において、コース判定処理部92は、位置情報Xを位置情報Nとして設定する。コース判定処理部92は、設定した位置情報を設定位置情報記憶部73に記憶させる。
【0090】
ステップS118において、コース判定処理部92は、「q=q+1」をカウントする。即ち、コース判定処理部92は、位置情報XがGPSの誤差範囲外である場合に、連続何回の位置情報XにおいてGPSの誤差範囲外であるかをカウントする。
具体的には、
図11の例に示すように、位置情報X(4)においてGPSの誤差範囲外であるため、「q=1」とカウントされる。その後、位置情報X(5)及び(6)もGPSの誤差範囲外であるため、「q=2」,「q=3」とカウントされる。
【0091】
ステップS119において、コース判定処理部92は、位置情報Xを位置情報Nとして設定する。コース判定処理部92は、設定した位置情報を設定位置情報記憶部73に記憶させる。
【0092】
ステップS120において、コース判定処理部92は、コース内か否かを判定する。
コース外である場合には、ステップS120においてNOと判定されて、処理はステップS121に進む。
【0093】
ステップS120において、コース判定処理部92は、次の位置情報Xを取得する。その後、処理はステップS111に戻る。
【0094】
これに対して、コース内である場合には、ステップS120においてYESと判定されて、コース判定処理を終了する。
【0095】
したがって、リスト端末1においては、緯度経度高度情報を含んだコース情報を登録するようにしたことで、一般的な地図の道路ネットワークデータを利用したマップマッチングで必要なリッチで高度なハードウェア構成ではなく、少ないメモリと低速度の演算装置などの制約が多いハードウェアでも正確な軌跡情報を得ることができる。
また、コースマッチング方法をGPSの誤差を考慮した処理を行って位置情報の補正を行うようにしたことにより、GPSの誤差成分を含んだ補正を行う従来方法より正確な位置情報の補正が可能となる。
さらに、正確な位置情報からランニングの軌跡地点情報を算出することで、GPSの位置測位のみから算出する走行距離よりも正確な走行距離を算出することができる。
【0096】
以上のように構成されるリスト端末1は、コース情報取得部51と、走行軌跡設定処理部52と、を備える。
コース情報取得部51は、移動予定の経路を示す経路情報であるコース情報を取得する。
走行軌跡設定処理部52は、GPS衛星から受信した信号に基づいてGPS部16から位置情報を取得する。また、走行軌跡設定処理部52は、コース情報取得部51により取得されたコース情報においてGPSの誤差範囲内に、取得された位置情報があるか否かを判定する。また、走行軌跡設定処理部52は、判定手段により位置情報がGPSの誤差範囲内であると判定された場合に経路情報に基づいて、位置を補正する。また、走行軌跡設定処理部52は、補正された位置を自機の位置として設定する。
これにより、リスト端末1においては、GPSの誤差範囲内である場合には、例えば、コース上の位置に自機の位置を設定するために、GPSの誤差を考慮したルート補正を行ことができる。
【0097】
また、走行軌跡設定処理部52は、自機の進行方向を示す直線を移動させた直線と、コース情報におけるコースとの接点の位置に位置情報を補正する。
これにより、リスト端末1においては、GPSの誤差範囲内である場合には、例えば、コース上の位置に自機の位置を設定するために、GPSの誤差を考慮したルート補正を行ことができる。
【0098】
また、走行軌跡設定処理部52は、取得された一の位置情報がGPSの誤差範囲内でないと判定した場合に、その後複数回において取得した位置情報についてGPSの誤差範囲内あるか否かを判定する。また、走行軌跡設定処理部52は、その後複数回において取得した位置情報についても設定されたGPSの誤差範囲外であると判定された場合には、経路情報における経路から外れてしまったとして、取得した一の位置情報に基づいて自機の位置を設定する。
これにより、リスト端末1においては、複数回GPSの誤差範囲外であると判定した場合には、コースから外れていると判定し、取得した位置情報を自機の位置として設定するために、GPSの誤差を考慮したルート補正を行ことができる。
【0099】
また、走行軌跡設定処理部52は、その後複数回において取得した位置情報について設定手段により設定されたGPSの誤差範囲内であると判定された場合には、一の位置情報をコース情報に基づいて補正し、補正された一の位置情報に基づく位置を自機の位置として設定する。
これにより、リスト端末1においては、未確定な部分においても、仮に確定しておけるために、リアルタイムに自機の位置を出力することができる。
【0100】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0101】
上述の実施形態では、先の2つポイント、即ち、閾値(T,Q)3で、コース上かを判定しているが、GPS衛星電波の受信状況により変動する閾値は測位精度に依存し実験値より算出される。
【0102】
また、上述の実施形態では、本発明が適用される情報処理装置は、リスト端末1を例として説明したが、特にこれに限定されない。
例えば、本発明は、リアルタイム走行軌道表示処理機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、ノート型のパーソナルコンピュータ、プリンタ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、スマートフォン、ポータブルゲーム機等に適用可能である。
【0103】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、
図6の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能がリスト端末1に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に
図6の例に限定されない。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【0104】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0105】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される
図1のリムーバブルメディア31により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア31は、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk),Blu−ray Disc(ブルーレイディスク)(登録商標)等により構成される。光磁気ディスクは、MD(Mini−Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている
図1のROM12や、
図1の記憶部20に含まれるハードディスク等で構成される。
【0106】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段などより構成される全体的な装置を意味するものとする。
【0107】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0108】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
コース情報を取得する第1の取得手段と、
GPS衛星から受信した信号に基づいて位置情報を取得する第2の取得手段と、
前記第1の取得手段により取得された前記コース情報におけるGPSの誤差範囲内に、前記第2の取得手段により取得された前記位置情報があるか否かを判定する判定手段と、
前記判定手段により前記位置情報が前記GPSの誤差範囲内であると判定された場合に前記コース情報に基づいて、位置を補正する補正手段と、
前記補正手段により、補正された位置を自機の位置として設定する設定手段と、
を備えることを特徴とする情報処理装置。
[付記2]
補正手段は、自機の進行方向を示す直線を移動させた直線と、前記コース情報におけるコースとの接点の位置に前記位置情報を補正することを特徴とする付記1に記載の情報処理装置。
[付記3]
前記判定手段は、前記第2の取得手段により取得された一の位置情報が前記GPSの誤差範囲内でないと判定した場合に、その後複数回において取得した位置情報について前記GPSの誤差範囲内であるか否かを判定し、
前記設定手段は、前記判定手段により、その後複数回において取得した位置情報についても前記設定手段により設定された前記GPSの誤差範囲外であると判定された場合には、前記コース情報におけるコースから外れてしまったとして、前記一の位置情報に基づく位置を自機の位置として設定する、
ことを特徴とする付記1又は2に記載の情報処理装置。
[付記4]
前記補正手段は、前記判定手段により、その後複数回において取得した位置情報について前記設定手段により設定された前記GPSの誤差範囲内であると判定された場合には、前記一の位置情報を前記コース情報に基づいて補正し、
前記設定手段は、前記補正手段によって補正された前記一の位置情報に基づく位置を自機の位置として設定する、
ことを特徴とする付記3に記載の情報処理装置。
[付記5]
コース情報を取得する第1の取得ステップと、
GPS衛星から受信した信号に基づいて位置情報を取得する第2の取得ステップと、
前記第1の取得ステップにより取得された前記コース情報におけるGPSの誤差範囲内に、前記第2の取得ステップにより取得された前記位置情報があるか否かを判定する判定ステップと、
前記判定ステップにより前記位置情報が前記GPSの誤差範囲内であると判定された場合に前記コース情報に基づいて、位置を補正する補正ステップと、
前記補正ステップにより、補正された位置を自機の位置として設定する設定ステップと、
を含むことを特徴とする情報処理方法。
[付記6]
情報処理装置を制御するコンピュータを、
コース情報を取得する第1の取得手段と、
GPS衛星から受信した信号に基づいて位置情報を取得する第2の取得手段、
前記第1の取得手段により取得された前記コース情報におけるGPSの誤差範囲内に、前記第2の取得手段により取得された前記位置情報があるか否かを判定する判定手段、
前記判定手段により前記位置情報が前記GPSの誤差範囲内であると判定された場合に前記コース情報に基づいて、位置を補正する補正手段、
前記補正手段により、補正された位置を自機の位置として設定する設定手段、
として機能させることを特徴とするプログラム。