説明

位置検出装置

【課題】 走行距離センサ等を用いることなく、2次元測位時においても高精度の高度を得ることが可能な位置検出装置を提供する。
【解決手段】 この位置検出装置1は、アンテナ2と、GPS受信処理部3と、計時処理部4と、高度情報格納部5と、演算処理部6とを具備する。高度情報格納部5は、演算処理部6によって作成される高度マップを格納する。演算処理部6は、GPS受信処理部が3次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度マップを、3次元測位された現在位置の経度、緯度、及び/又は、高度を用いて更新し、GPS受信処理部3が2次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度マップを用いて高度を算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、現在位置を検出するための位置検出装置に関する。
【背景技術】
【0002】
現在、カーナビゲーション装置等の種々の装置において、人工衛星からの電波を受信することにより現在位置を出力するGPS(Global Positioning System)受信機が広く利用されている。このようなGPS受信機は、複数の人工衛星からそれぞれ送信された電波が自機にそれぞれ到達するまでの所要時間を計測し、これらの所要時間に基づいて複数の人工衛星から自機までの距離を算出し、これらの距離に基づいて現在位置を算出する。
【0003】
GPS受信機が3次元(経度、緯度、及び、高度)測位を行うためには、少なくとも4個の人工衛星からの電波が必要である。建築物等の影響により3個の人工衛星からの電波しか得られない場合には、GPS受信機は、2次元測位しか行うことができず、高度を算出することができない。
このように高度を算出することができない場合であっても、位置を確定することができるGPS航法装置が知られている(例えば、下記特許文献1参照)。
【0004】
特許文献1に掲載されているGPS航法装置は、GPS衛星電波を受信して測位データを算出する手段と、車輌の進行方位を検出する手段と、地図情報を記憶する手段と、中央演算処理装置と、高度データを得るための高度演算手段とを含み、高度演算手段は測位データ算出手段から得られる測位データと地図情報から得られる位置データに基づき自動車の高度を算出し且つこの高度データをデータ記憶手段に記憶し、GPS衛星からの所望の衛星電波が得られない時データ記憶手段からの高度データに基づき自動車の位置を確定することを特徴とする。
【0005】
このGPS航法装置によれば、GPS衛星からの所望の衛星電波が得られない時であっても、データ記憶手段からの高度データに基づき自動車の位置を確定することができる。
しかしながら、このGPS航法装置は、車輌の進行方位を検出する手段と、地図情報を記憶する手段とを必要とする。また、このGPS航法装置においては、2次元測位が継続している間の自動車の走行により自動車の高度が変化すると、データ記憶手段に記憶されている高度データの誤差が大きくなり、位置の誤差が大きくなってしまう。
【0006】
このような問題を解決するものとして、下記特許文献2には、少なくとも4個のGPS衛星から供給される信号に基づいて3次元測位をするとともに車両の高度データを記憶し、3個のGPS衛星から信号が供給された場合に前に記憶された車両の高度データを利用して2次元的に測位を行うGPS受信機を有し、このGPS受信機の測位データを用いて、走行距離センサ及び方位センサにより検出される車両の走行距離データ及び方位データに基づいて得られる車両の位置を補正する位置検出装置において、現在の測位モードが3次元測位モードであるか2次元測位モードであるかの判定信号に基づいて、3次元測位モードから2次元測位モードに切り替わったことを検知した場合に、車両の走行距離データに基づき走行距離の計算を開始する距離計算手段と、距離計算手段により一定走行距離が計算された場合に、2次元測位モードであることが判定されている限り、その後の2次元測位データにより検出される車両の位置のデータを補正のためには不採用とするデータ選別手段とを有することを特徴とするGPS測位方式を利用した位置検出装置が掲載されている。
【0007】
この位置検出装置によれば、3次元測位モードから2次元測位モードに切り替わってからの走行距離が一定距離になるまでは、前に記憶された車両の高度データの精度が十分であるものと考えられるため、この高度データを走行距離センサ及び方位センサにより検出される車両の走行距離データ及び方位データに基づいて得られる車両の位置の補正に利用する。また、3次元測位モードから2次元測位モードに切り替わってからの走行距離が一定距離になった後は、前に記憶された車両の高度データの精度が不十分になったものと考えられるため、この高度データを走行距離センサ及び方位センサにより検出される車両の走行距離データ及び方位データに基づいて得られる車両の位置の補正には不採用とする。
【0008】
しかしながら、この位置検出装置は、GPS受信機の測位データを走行距離センサ及び方位センサにより検出される車両の走行距離データ及び方位データに基づいて得られる車両の位置の補正のために利用するものであり、GPS受信機は、走行距離センサ及び方位センサのいわば補助的な役割を担うものである。すなわち、この位置検出装置は、走行距離センサ及び方位センサを必要とする。また、この位置検出装置は、3次元測位モードから2次元測位モードに切り替わってからの走行距離を計算するための距離計算手段を必要とする。
【0009】
【特許文献1】特開昭63−91583号公報(第1頁、図1)
【特許文献2】特開平4−353783号公報(第1頁、図1)
【発明の開示】
【発明が解決しようとする課題】
【0010】
そこで、上記の点に鑑み、本発明は、走行距離センサ、方位センサ、距離計算手段等を用いることなく、2次元測位時においても高精度の高度を得ることが可能な位置検出装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
以上の課題を解決するため、本発明に係る位置検出装置は、人工衛星からの電波を受信することにより現在位置の経度、緯度、及び/又は、高度を測位するためのGPS(Global Positioning System)受信処理部と、一群のエリアの高度に関する情報をそれぞれ格納するための一群の記録領域を含むデータ構造体を記録する高度情報格納部と、GPS受信処理部が3次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度に関する情報をGPS受信処理部によって測位された現在位置の経度、緯度、及び/又は、高度を用いて更新するとともに、GPS受信処理部によって測位された現在位置の経度、緯度、及び、高度を外部に出力し、GPS受信処理部が2次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度に関する情報を用いて高度を算出し、算出した高度並びにGPS受信処理部によって測位された現在位置の経度及び緯度を外部に出力する演算処理部とを具備する。
【0012】
この位置検出装置において、一群の記録領域の各々が、GPS受信処理部が3次元測位を行っている場合において当該記録領域に対応するエリアに滞在した回数である第1の値を格納するための第1のフィールドと、GPS受信処理部が3次元測位を行っている場合において当該記録領域に対応するエリアに滞在したときにGPS受信処理部によって測位された高度の累計である第2の値を格納するための第2のフィールドと、を含み、演算処理部が、GPS受信処理部が2次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度に関する情報の内の第2の値を当該エリアの高度に関する情報の内の第1の値で除することにより高度を算出するようにしても良い。
【0013】
また、演算処理部が、GPS受信処理部が3次元測位を行っている場合に、GPS受信処理部によって測位された現在位置の高度の誤差が所定の条件を満たすときに、一群のエリアの内の現在位置が属するエリアの高度に関する情報を更新するようにしても良い。
【0014】
また、一群の記録領域の各々が、GPS受信処理部が3次元測位を行っている場合において当該記録領域に対応するエリアに滞在したときにGPS受信処理部によって測位された高度の二乗の累計である第3の値を格納するための第3のフィールドを更に含み、演算処理部が、GPS受信処理部が3次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度に関する情報の内の第1〜第3の値を用いて、GPS受信処理部によって測位された現在位置の高度の誤差が所定の条件を満たすか否かを判断するようにしても良い。
【0015】
また、演算処理部が、一群のエリアの内のいずれかのエリアの高度に関する情報の内の第1の値が所定の閾値に達した場合に、当該エリアを細分化することによって得られる第2群のエリアの高度に関する情報をそれぞれ格納するための第2群の記録領域を含む第2のデータ構造体を高度情報格納部内に作成し、その後、一群のエリアに関して行う処理と同様の処理を第2群のエリアに対しても行うようにしても良い。
【0016】
また、一群の記録領域の各々が、ポインタを格納するための第4のフィールドを更に含み、演算処理部が、第2のデータ構造体を指し示すポインタを一群の記録領域の内の当該エリアに対応する記録領域の第4のフィールドに書き込むようにしても良い。
【0017】
また、第2群の記録領域の各々が、当該記録領域が更新された時刻を格納するための第5のフィールドを更に含み、演算処理部が、第2群の記録領域の内のいずれかの記録領域を更新した場合に、更新した時刻を当該記録領域の第5のフィールドに格納し、第2群の記録領域の全てが所定時間更新されていない場合に、第2のデータ構造体を削除するようにしても良い。
【0018】
また、演算処理部が、一群のエリア外に滞在した回数が所定の第2の閾値に達した場合に、データ構造体を再度作成する処理を行うようにしても良い。
【発明を実施するための最良の形態】
【0019】
以下、図面を参照しながら、本発明を実施するための最良の形態について説明する。なお、同一の構成要素には同一の参照符号を付して、説明を省略する。
図1は、本発明の一実施形態に係る位置検出装置の概要を示す図である。図1に示すように、この位置検出装置1は、アンテナ2と、GPS(Global Positioning System)受信処理部3と、計時処理部4と、高度情報格納部5と、演算処理部6とを具備する。
【0020】
GPS受信処理部3は、アンテナ2を介して人工衛星(GPS衛星)からの電波を受信することにより、2次元測位又は3次元測位を行う。GPS受信処理部3は、3個の人工衛星からの電波を受信している場合には、2次元測位を行う。GPS受信処理部3は、2次元測位時には、現在位置の経度及び緯度、並びに現在の時刻を演算処理部6に出力する。また、GPS受信処理部3は、4個以上の人工衛星からの電波を受信している場合には、3次元測位を行う。GPS受信処理部3は、3次元測位時には、現在位置の経度、緯度、及び、高度、並びに現在の時刻を演算処理部6に出力する。本実施形態においては、GPS受信処理部3は、所定のインターバルで動作するものとする。
【0021】
計時処理部4は、バッテリから電力の供給を受けて時刻を常時計時しているRTC(Real Time Clock)等である。なお、計時処理部4によって計時されている時刻は、適宜、演算処理部6により、GPS受信処理部3から出力される時刻で修正(上書き)される。
【0022】
高度情報格納部5は、演算処理部6によって作成される高度情報(以下、「高度マップ」という)等を格納するための記録媒体である。この高度マップについては、後に詳細に説明する。なお、高度情報格納部5として、不揮発性記録媒体(例えば、EEPROM等)を用いることとしても良いし、バッテリからバックアップ電力の供給を受けた揮発性記録媒体(例えば、RAM等)を用いることとしても良い。
【0023】
演算処理部6は、GPS受信処理部3から出力されるデータに基づいて、高度マップを作成し、高度情報格納部5に格納する。また、演算処理部6は、GPS受信処理部3から出力されるデータ及び/又は高度マップに基づいて、現在位置(経度及び緯度)及び現在高度を含むNMEA(National Marine Electronics Association)−0183フォーマットのパケットを、外部装置に出力する。なお、演算処理部6は、CPUとファームウェア(プログラム)で構成することができる。
【0024】
次に、位置検出装置1の動作について説明する。
図2は、初期時(例えば、位置検出装置1の最初のパワーオン時、リセット時等)における演算処理部6の動作を示すフローチャートである。
【0025】
まず、演算処理部6は、初期位置を取得する(ステップS11)。初期位置としては、例えば、初期時においてGPS受信処理部3によって測位された位置を用いることとしても良いし、ユーザから外部装置等を介して指定された位置(例えば、ユーザの自宅位置等)を用いることとしても良い。また、取得した初期位置は、高度情報格納部5に格納しておくようにしても良い。
【0026】
次に、演算処理部6は、初期位置を囲む複数のエリア(本実施形態においては、4つのエリアとする)の高度に関する情報を格納するためのテーブルである高度マップ(以下、「広域マップ」又は「詳細レベル0マップ」という)を作成し、高度情報格納部5に書き込む(ステップS12)。
【0027】
図3は、広域マップの例を示す図である。本実施形態においては、初期位置を4つのエリアが囲むため、図3に示すように、広域マップは、4つのエリアにそれぞれ対応する4つのレコードを有している。これら4つのレコードの各々は、各エリアにそれぞれ割り当てられた番号であるマップ座標(本実施形態においては、「0」〜「3」)、各エリアに滞在した回数(後に説明する演算処理部6のインターバルの回数)である滞在回数(初期値は「0」)、各エリアに滞在したときに得られた高度の和である累計高度1(初期値は「0」)、各エリアに滞在したときに得られた高度の二乗の和である累計高度2(初期値は「0」)、滞在回数、累計高度1、及び、累計高度2を更新した時刻である更新時刻、及び、ポインタ(初期値は「null」)を格納するためのフィールドを有する。
【0028】
図4は、地表上における初期位置及び初期位置を囲む4つのエリアを表した図である。本実施形態においては、初期位置の北東のエリアのマップ座標を0、初期位置の北西のエリアのマップ座標を1、初期位置の南東のエリアのマップ座標を2、初期位置の南西のエリアのマップ座標を3とする。本実施形態においては、初期位置は、マップ座標0のエリアに含まれるものとする。
【0029】
また、本実施形態においては、初期位置を囲む4つのエリア全体の東西方向の範囲を広域関心領域東西範囲と呼び、初期位置を囲む4つのエリア全体の南北方向の範囲を広域関心領域南北範囲と呼ぶものとする。また、広域関心領域東西範囲の長さ(距離)を広域関心領域東西距離と呼び、広域関心領域南北範囲の長さ(距離)を広域関心領域南北距離と呼ぶものとする。広域関心領域東西範囲及び広域関心領域南北範囲の経度及び緯度、広域関心領域東西距離及び広域関心領域南北距離は、高度情報格納部5にパラメータとして格納されていることとしても良い。
なお、本実施形態においては、広域関心領域東西距離と広域関心領域南北距離は、等しいものとし、以下、「広域関心領域距離」という。
【0030】
図4において、初期位置の経度と広域関心領域東西範囲との間には、x方向を東西方向(東方向を正方向、西方向を負方向)とすると、
(初期位置の経度)
=(広域関心領域東西範囲の東端の経度−広域関心領域東西範囲の西端の経度)/2
・・・(1)
が成立する。また、初期位置の緯度と広域関心領域南北範囲との間には、y方向を南北方向(北方向を正方向、南方向を負方向)とすると、
(初期位置の緯度)
=(広域関心領域南北範囲の北端の緯度−広域関心領域南北範囲の南端の緯度)/2
・・・(2)
が成立する。
【0031】
後に詳細に説明するように、各エリアは、滞在回数が所定の閾値(以下、「詳細エリア生成判断閾値」という)に達すると、4つのエリアに細分化される。そして、細分化された4つのエリアの高度に関する情報を格納するためのテーブルである高度マップ(以下、「詳細レベル1マップ」という)が、高度情報格納部5内に新たに作成される。そして、広域マップ内の4つのレコードの内の初期位置を囲む4つのエリアの内の滞在回数が詳細エリア生成判断閾値に達したエリアに対応するレコードの中のポインタが、nullから詳細レベル1マップの先頭アドレスに更新される。
なお、詳細レベル1の4つのエリアも、滞在回数が詳細エリア生成判断閾値に達すると、更に細分化される。
【0032】
図5は、広域マップ及び詳細レベル1マップの例を示す図である。図5は、初期位置を囲む4つのエリアの内のマップ座標0に対応するエリアが細分化された場合における広域マップ及び詳細レベル1マップの例を示している。
【0033】
詳細レベル1マップの各レコード内の滞在回数フィールドの初期値は「0」となる。詳細レベル1マップが作成された後は、広域マップ(詳細レベル0マップ)内のマップ座標0のレコード内の各フィールドの値は更新されない。また、詳細レベル1のマップ座標0のエリアの総滞在回数は、
(詳細レベル1のマップ座標0のエリアの総滞在回数)
=(詳細レベル0のマップ座標0の滞在回数)×(詳細エリア生成判断閾値)
+(詳細レベル1のマップ座標0のレコード内の滞在回数フィールドの値)
・・・(3)
で求めることができる。詳細レベル1のマップ座標1〜3のエリアの総滞在回数も、同様に求めることができる。
【0034】
また、詳細レベル1マップの各レコード内の累計高度1フィールドの初期値は「0」となり、詳細レベル1マップの各レコード内の累計高度2フィールドの初期値も「0」となる。また、詳細レベル1マップの累計高度1は、
(詳細レベル1のマップ座標0の総累計高度1)
=(詳細レベル0のマップ座標0の累計高度1)×(詳細エリア生成判断閾値)
+(詳細レベル1のマップ座標0のレコード内の累計高度1フィールドの値)
・・・(4)
で求めることができる。詳細レベル1のマップ座標1〜3のエリアの総累計高度1及び総累計高度2も、同様に求めることができる。
【0035】
図6は、地表上における初期位置及び初期位置を囲む4つのエリアと、初期位置を囲む4つのエリアの内のマップ座標0に対応するエリアを細分化した4つのエリアとを表す図である。詳細レベル1の4つのエリア全体の中心位置は、詳細レベル1のマップ座標0のエリアに含まれるものとする。
【0036】
詳細レベル1の4つのエリア全体の東西方向及び南北方向の距離(以下、「基本距離」という)は、
(基本距離)
=(広域関心領域距離)>>(詳細レベルの値) ・・・(5)
で求めることができる。なお、「>>」は、右シフト演算であり、詳細レベル1の基本距離をc、広域関心領域距離をb、詳細レベルの値をaとすると、上記(5)式は、
c=b÷2 ・・・(6)
と同等である。
【0037】
なお、先に説明したように、詳細レベル1の4つのエリアの各々も、滞在回数が所定の回数を超えると、4つのエリア(詳細レベル2)に更に細分化される。この場合にも、上記(5)又は(6)式を用いて、詳細レベル2の基本距離を求めることができる。
【0038】
また、x方向を東西方向(東方向を正方向、西方向を負方向)とした場合に、
(詳細レベル1のx方向の範囲)
={(x方向の広域関心領域東西範囲)>>(詳細レベルの値)}/2
・・・(7)
が成立する。同様に、y方向を南北方向(北方向を正方向、南方向を負方向)とした場合に、
(詳細レベル1のy方向の範囲)
={(y方向の広域関心領域南北範囲)>>(詳細レベルの値)}/2
・・・(8)
が成立する。
【0039】
上記の値を用いて、詳細レベル0のマップ座標0のエリアを細分化した詳細レベル1の4つのエリア全体の中心位置(図6参照)の経度は、
(中心位置の経度)
=(初期位置の経度)+(詳細レベル1のx方向の範囲) ・・・(9)
となる。また、詳細レベル0のマップ座標0のエリアを細分化した詳細レベル1の4つのエリア全体の中心位置の緯度は、
(中心位置の緯度)
=(初期位置の緯度)+(詳細レベル1のy方向の範囲) ・・・(10)
となる。
【0040】
また、詳細レベル0のマップ座標1のエリアを細分化した詳細レベル1の4つのエリア全体の中心位置の経度は、
(中心位置の経度)
=(初期位置の経度)−(詳細レベル1のx方向の範囲) ・・・(11)
となる。また、詳細レベル0のマップ座標1のエリアを細分化した詳細レベル1の4つのエリア全体の中心位置の緯度は、
(詳細レベル1の中心位置の緯度)
=(初期位置の緯度)+(詳細レベル1のy方向の範囲) ・・・(12)
となる。
【0041】
また、詳細レベル0のマップ座標2のエリアを細分化した詳細レベル1の4つのエリア全体の中心位置の経度は、
(中心位置の経度)
=(初期位置の経度)+(詳細レベル1のx方向の範囲) ・・・(13)
となる。また、詳細レベル0のマップ座標2のエリアを細分化した詳細レベル1の4つのエリア全体の中心位置の緯度は、
(詳細レベル1の中心位置の緯度)
=(初期位置の緯度)−(詳細レベル1のy方向の範囲) ・・・(14)
となる。
【0042】
また、詳細レベル0のマップ座標3のエリアを細分化した詳細レベル1の4つのエリア全体の中心位置の経度は、
(中心位置の経度)
=(初期位置の経度)−(詳細レベル1のx方向の範囲) ・・・(15)
となる。また、詳細レベル0のマップ座標3のエリアを細分化した詳細レベル1の4つのエリア全体の中心位置の緯度は、
(詳細レベル1の中心位置の緯度)
=(初期位置の緯度)−(詳細レベル1のy方向の範囲) ・・・(16)
となる。
【0043】
なお、詳細レベル1の4つのエリアが更に細分化された場合(詳細レベル2)にも、上記(7)〜(16)式を用いて、中心位置を求めることができる。
【0044】
図7は、所定のインターバル毎に演算処理部6が実行する動作を示すフローチャートである。このインターバルの値は、高度情報格納部5にパラメータとして格納されていることとしても良い。本実施形態においては、このインターバルはGPS受信処理部3の動作のインターバルと同じであり、演算処理部6とGPS受信処理部3は同期して動作するものとする。
【0045】
まず、演算処理部6は、GPS受信処理部3が3次元測位を行っている(4個以上の人工衛星から電波を受信している)か、2次元測位を行っている(3個の人工衛星から電波を受信している)かをチェックする(ステップS21)。そして、演算処理部6は、GPS受信処理部3が3次元測位を行っている場合には、処理をステップS22に移し、GPS受信処理部3が2次元測位を行っている場合には、処理をステップS30に移す。
【0046】
GPS受信処理部3が3次元測位を行っている場合、演算処理部6は、3次元測位された高度の誤差が所定の条件を満たすか否かをチェックする(ステップS22)。そして、演算処理部6は、3次元測位された高度の誤差が所定の条件を満たす場合には、処理をステップS23に移し、3次元測位された高度の誤差が所定の条件を満たさない場合には、処理をステップS29に移す。なお、3次元測位された高度の誤差が所定の条件を満たすか否かを、例えば、現在位置(3次元測位された位置)が属するエリアに対応するレコード内の累計高度1フィールドの値、累計高度2フィールドの値、及び、滞在回数フィールドの値、並びに、閾値(以下、「異常高度除去判断閾値」という)を用いて、



【数1】


により、判断するようにしても良い。ここで、異常高度除去判断閾値は、高度情報格納部5にパラメータとして格納されていることとしても良い。また、3次元測位された高度の誤差が所定の条件を満たすか否かを、現在位置が属するエリアに対応するレコード内の累計高度1フィールドの値及び累計高度2フィールドの値から求めた標準偏差を用いて判断するようにしても良い。
【0047】
なお、上記において、現在位置が属するエリアは、次のようにして求めることができる。
x方向を東西方向(東方向を正方向、西方向を負方向とする)、y方向を南北方向(北方向を正方向、南方向を負方向とする)とし、
Δx=(測位経度)−(エリア内中心経度) ・・・(18)
Δy=(測位緯度)−(エリア内中心緯度) ・・・(19)
とする。そして、Δxが基本距離より大きいか又はΔyが基本距離より大きい場合には、測位位置(現在位置)がエリア外であると判断することができる。また、Δxが0以上且つΔyが0以上の場合には、測位位置(現在位置)がマップ座標0のエリア内であると判断することができる。また、Δxが0より小さく且つΔyが0以上の場合には、測位位置(現在位置)がマップ座標1のエリア内であると判断することができる。また、Δxが0以上且つΔyが0より小さい場合には、測位位置(現在位置)がマップ座標2のエリア内であると判断することができる。また、以上の条件のいずれにも該当しない場合には、測位位置(現在位置)がマップ座標3のエリア内であると判断することができる。
【0048】
ステップS22においてGPS受信処理部3によって3次元測位された高度の誤差が一定以下であると判断した場合、演算処理部6は、測位位置(現在位置)が属するエリアに対応するレコード内の滞在回数フィールドの値をインクリメントし(ステップS23)、測位位置(現在位置)が属するエリアに対応するレコード内の累計高度1フィールドの値に測位高度(現在高度)の値を加算し(ステップS24)、測位位置(現在位置)が属するエリアに対応するレコード内の累計高度2フィールドの値に測位高度(現在高度)の二乗を加算し(ステップS25)、測位位置(現在位置)が属するエリアに対応するレコード内の更新時刻フィールドに現在時刻を書き込む(ステップS26)。なお、現在時刻として、計時処理部4によって計時されている時刻を用いることとしても良いし、GPS受信処理部3から出力される時刻を用いることとしても良い。
【0049】
次に、演算処理部6は、現在位置が属するエリアに対応するレコード内の滞在回数フィールドの値が閾値(以下、「詳細エリア生成判断閾値」という)に到達したか否かをチェックする(ステップS27)。そして、現在位置が属するエリアに対応するレコード内の滞在回数フィールドの値が詳細エリア生成判断閾値に到達したと判断した場合には、演算処理部6は、測位位置(現在位置)が属するエリアを4つのエリアに細分化し、新たな4つのエリアにそれぞれ対応する4つのレコードを有する高度マップ(図5参照)を高度情報格納部5内に作成する(ステップS28)。
【0050】
なお、演算処理部6は、ステップS22においてGPS受信処理部3によって3次元測位された高度の誤差が一定以下ではないと判断した場合、高度マップ内のデータの精度を下げないため、ステップS23〜S28を実行しない。
【0051】
そして、演算処理部6は、3次元測位された経度、緯度、及び、高度を、NMEAパケットとして、外部装置に出力する(ステップS29)。
【0052】
一方、GPS受信処理部3が2次元測位を行っている場合、GPS受信処理部3から高度が出力されないため、演算処理部6は、高度を算出する(ステップS30)。具体的には、演算処理部6は、測位位置(現在位置)が属するエリアに対応するレコード内の累計高度1フィールドの値を滞在回数フィールドの値で除することにより、測位位置(現在位置)が属するエリアにおいて過去に3次元測位された高度の平均値を算出する。
【0053】
そして、演算処理部6は、2次元測位された経度及び緯度、並びにステップS30にて算出した高度を、NMEAパケットとして、外部装置に出力する(ステップS31)。
【0054】
なお、演算処理部6は、次回のインターバル以降、ステップS28における細分化によって得られた新たな4つのエリアに対しても、図7に示す処理を行う。
【0055】
図8は、所定時(例えば、位置検出装置1の起動時等)に演算処理部6が実行する動作を示すフローチャートである。
【0056】
まず、演算処理部6は、所定時間更新されていない高度マップを検出する(ステップS31)。これは、例えば、4つのレコードの全てについて
(現在時刻)−(各レコード内の更新時刻)−(電源がオフされていた時間)
>(高度マップ削除閾値) ・・・(20)
が成立するか否かにより、検出することとしても良い。なお、現在時刻として、計時処理部4によって計時されている時刻を用いることとしても良いし、GPS受信処理部3から出力される時刻を用いることとしても良い。また、電源がオフされていた時間は、現在時刻と電源がオフされる直前にGPS受信処理部3が出力した時刻との差分を用いて算出しても良いし、計時処理部4によって計時されていた時間を用いることとしても良い。
【0057】
次に、演算処理部6は、ステップS41にて検索された高度マップを削除し、記録領域を開放(ガベージコレクション)する(ステップS42)。
【0058】
なお、位置検出装置1のユーザの生活圏が一時的に変化した場合(例えば、旅行等)や完全に変化した場合(例えば、転居等)には、現在位置が広域関心領域外に移動するため、高度マップの更新ができないこととなる。このような場合に、補助的な情報として、広域関心領域外の滞在回数を記録しておく。そして、位置検出装置1の起動時に、起動時の測位位置が広域関心領域外であり且つ広域関心領域外の滞在回数が所定の閾値(「広域関心領域外移動判断閾値」という)に達した場合に、転居等が生じたと判断して、広域マップ(図3参照)を再度作成する処理(図2参照)を行うこととしても良い。広域関心領域外の滞在回数が広域関心領域外移動判断閾値に達していない場合には、旅行等と判断して、広域マップを再度作成する処理を行わず、広域関心領域外の滞在回数の記録を引き続き行うこととしても良い。
【0059】
以上説明したように、本実施形態によれば、GPS受信処理部3が3次元測位を行っている場合に、高度情報格納部5内の広域マップ(図3参照)内の情報が更新される。これにより、GPS受信処理部3が2次元測位を行っている場合に、高度情報格納部5内の広域マップ内の情報を用いて高度を算出することができる。
【0060】
また、GPS受信処理部3が3次元測位を行っている場合であっても、GPS受信処理部3が出力する情報の誤差が一定以下ではないときには、高度情報格納部5内の広域マップ内の情報は更新されない。これにより、高度情報格納部5内の広域マップ内の情報の精度を維持することができるので、GPS受信処理部3が2次元測位を行っている場合に算出する高度の精度を高くすることができる。
【0061】
また、各エリアの滞在回数が所定の閾値に達した場合に、当該エリアを4つの新たなエリアに細分化し、新たな4つのエリアにそれぞれ対応する4つのレコードを有する高度マップを高度情報格納部5内に作成する(図5参照)。これにより、頻繁に訪れる場所の高度をより高精度に算出することができる。
【0062】
また、所定時間更新されていない高度マップを削除することにより、高度情報格納部5の記憶容量を有効に利用することができる。
【0063】
また、広域エリア外の滞在回数が所定の閾値に達した場合に、広域マップを再作成することができる。これにより、ユーザが転居等をした場合にも対応可能である。
【産業上の利用可能性】
【0064】
本発明は、現在位置を検出する位置検出装置において利用可能である。この位置検出装置は、カーナビゲーション装置等において利用可能である。
【図面の簡単な説明】
【0065】
【図1】本発明の一実施形態に係る位置検出装置を示すブロック図。
【図2】図1の位置検出装置1の初期時における動作を示すフローチャート。
【図3】図1の高度情報格納部5に記録される高度マップの例を示す図。
【図4】図3の高度マップによって表されるエリアを示す図。
【図5】図1の高度情報格納部5に記録される高度マップの例を示す図。
【図6】図3の高度マップによって表されるエリアを示す図。
【図7】図1の位置検出装置1の所定インターバル毎の動作を示すフローチャート。
【図8】図1の位置検出装置1の起動時における動作を示すフローチャート。
【符号の説明】
【0066】
1 位置検出装置、 2 アンテナ、 3 GPS受信処理部、 4 計時処理部、 5 高度情報格納部、 6 演算処理部

【特許請求の範囲】
【請求項1】
人工衛星からの電波を受信することにより現在位置の経度、緯度、及び/又は、高度を測位するためのGPS(Global Positioning System)受信処理部と、
一群のエリアの高度に関する情報をそれぞれ格納するための一群の記録領域を含むデータ構造体を記録する高度情報格納部と、
前記GPS受信処理部が3次元測位を行っている場合に、前記一群のエリアの内の現在位置が属するエリアの高度に関する情報を前記GPS受信処理部によって測位された現在位置の経度、緯度、及び/又は、高度を用いて更新するとともに、前記GPS受信処理部によって測位された現在位置の経度、緯度、及び、高度を外部に出力し、前記GPS受信処理部が2次元測位を行っている場合に、前記一群のエリアの内の現在位置が属するエリアの高度に関する情報を用いて高度を算出し、算出した高度並びに前記GPS受信処理部によって測位された現在位置の経度及び緯度を外部に出力する演算処理部と、
を具備する位置検出装置。
【請求項2】
前記一群の記録領域の各々が、
前記GPS受信処理部が3次元測位を行っている場合において当該記録領域に対応するエリアに滞在した回数である第1の値を格納するための第1のフィールドと、
前記GPS受信処理部が3次元測位を行っている場合において当該記録領域に対応するエリアに滞在したときに前記GPS受信処理部によって測位された高度の累計である第2の値を格納するための第2のフィールドと、
を含み、
前記演算処理部が、
前記GPS受信処理部が2次元測位を行っている場合に、前記一群のエリアの内の現在位置が属するエリアの高度に関する情報の内の前記第2の値を当該エリアの高度に関する情報の内の前記第1の値で除することにより高度を算出する、請求項1記載の位置検出装置。
【請求項3】
前記演算処理部が、
前記GPS受信処理部が3次元測位を行っている場合に、前記GPS受信処理部によって測位された現在位置の高度の誤差が所定の条件を満たすときに、前記一群のエリアの内の現在位置が属するエリアの高度に関する情報を更新する、請求項1又は2記載の位置検出装置。
【請求項4】
前記一群の記録領域の各々が、
前記GPS受信処理部が3次元測位を行っている場合において当該記録領域に対応するエリアに滞在したときに前記GPS受信処理部によって測位された高度の二乗の累計である第3の値を格納するための第3のフィールドを更に含み、
前記演算処理部が、
前記GPS受信処理部が3次元測位を行っている場合に、前記一群のエリアの内の現在位置が属するエリアの高度に関する情報の内の前記第1〜第3の値を用いて、前記GPS受信処理部によって測位された現在位置の高度の誤差が前記所定の条件を満たすか否かを判断する、請求項3記載の位置検出装置。
【請求項5】
前記演算処理部が、
前記一群のエリアの内のいずれかのエリアの高度に関する情報の内の前記第1の値が所定の閾値に達した場合に、当該エリアを細分化することによって得られる第2群のエリアの高度に関する情報をそれぞれ格納するための第2群の記録領域を含む第2のデータ構造体を前記高度情報格納部内に作成し、その後、前記一群のエリアに関して行う処理と同様の処理を前記第2群のエリアに対しても行う、請求項1〜4のいずれか1項に記載の位置検出装置。
【請求項6】
前記一群の記録領域の各々が、
ポインタを格納するための第4のフィールドを更に含み、
前記演算処理部が、
前記第2のデータ構造体を指し示すポインタを前記一群の記録領域の内の当該エリアに対応する記録領域の前記第4のフィールドに書き込む、請求項5記載の位置検出装置。
【請求項7】
前記第2群の記録領域の各々が、
当該記録領域が更新された時刻を格納するための第5のフィールドを更に含み、
前記演算処理部が、
前記第2群の記録領域の内のいずれかの記録領域を更新した場合に、更新した時刻を当該記録領域の前記第5のフィールドに格納し、前記第2群の記録領域の全てが所定時間更新されていない場合に、前記第2のデータ構造体を削除する、請求項6記載の位置検出装置。
【請求項8】
前記演算処理部が、
前記一群のエリア外に滞在した回数が所定の第2の閾値に達した場合に、前記データ構造体を再度作成する処理を行う、請求項1〜7のいずれか1項に記載の位置検出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2007−3195(P2007−3195A)
【公開日】平成19年1月11日(2007.1.11)
【国際特許分類】
【出願番号】特願2005−180124(P2005−180124)
【出願日】平成17年6月21日(2005.6.21)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】