(57)【要約】  【課題】  走行距離センサ等を用いることなく、２次元測位時においても高精度の高度を得ることが可能な位置検出装置を提供する。  【解決手段】  この位置検出装置１は、アンテナ２と、ＧＰＳ受信処理部３と、計時処理部４と、高度情報格納部５と、演算処理部６とを具備する。高度情報格納部５は、演算処理部６によって作成される高度マップを格納する。演算処理部６は、ＧＰＳ受信処理部が３次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度マップを、３次元測位された現在位置の経度、緯度、及び／又は、高度を用いて更新し、ＧＰＳ受信処理部３が２次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度マップを用いて高度を算出する。【選択図】  図１
2007003195.tif 000002
【特許請求の範囲】
【請求項１】
人工衛星からの電波を受信することにより現在位置の経度、緯度、及び／又は、高度を測位するためのＧＰＳ（Global Positioning System）受信処理部と、
一群のエリアの高度に関する情報をそれぞれ格納するための一群の記録領域を含むデータ構造体を記録する高度情報格納部と、
前記ＧＰＳ受信処理部が３次元測位を行っている場合に、前記一群のエリアの内の現在位置が属するエリアの高度に関する情報を前記ＧＰＳ受信処理部によって測位された現在位置の経度、緯度、及び／又は、高度を用いて更新するとともに、前記ＧＰＳ受信処理部によって測位された現在位置の経度、緯度、及び、高度を外部に出力し、前記ＧＰＳ受信処理部が２次元測位を行っている場合に、前記一群のエリアの内の現在位置が属するエリアの高度に関する情報を用いて高度を算出し、算出した高度並びに前記ＧＰＳ受信処理部によって測位された現在位置の経度及び緯度を外部に出力する演算処理部と、
を具備する位置検出装置。
【請求項２】
前記一群の記録領域の各々が、
前記ＧＰＳ受信処理部が３次元測位を行っている場合において当該記録領域に対応するエリアに滞在した回数である第１の値を格納するための第１のフィールドと、
前記ＧＰＳ受信処理部が３次元測位を行っている場合において当該記録領域に対応するエリアに滞在したときに前記ＧＰＳ受信処理部によって測位された高度の累計である第２の値を格納するための第２のフィールドと、
を含み、
前記演算処理部が、
前記ＧＰＳ受信処理部が２次元測位を行っている場合に、前記一群のエリアの内の現在位置が属するエリアの高度に関する情報の内の前記第２の値を当該エリアの高度に関する情報の内の前記第１の値で除することにより高度を算出する、請求項１記載の位置検出装置。
【請求項３】
前記演算処理部が、
前記ＧＰＳ受信処理部が３次元測位を行っている場合に、前記ＧＰＳ受信処理部によって測位された現在位置の高度の誤差が所定の条件を満たすときに、前記一群のエリアの内の現在位置が属するエリアの高度に関する情報を更新する、請求項１又は２記載の位置検出装置。
【請求項４】
前記一群の記録領域の各々が、
前記ＧＰＳ受信処理部が３次元測位を行っている場合において当該記録領域に対応するエリアに滞在したときに前記ＧＰＳ受信処理部によって測位された高度の二乗の累計である第３の値を格納するための第３のフィールドを更に含み、
前記演算処理部が、
前記ＧＰＳ受信処理部が３次元測位を行っている場合に、前記一群のエリアの内の現在位置が属するエリアの高度に関する情報の内の前記第１〜第３の値を用いて、前記ＧＰＳ受信処理部によって測位された現在位置の高度の誤差が前記所定の条件を満たすか否かを判断する、請求項３記載の位置検出装置。
【請求項５】
前記演算処理部が、
前記一群のエリアの内のいずれかのエリアの高度に関する情報の内の前記第１の値が所定の閾値に達した場合に、当該エリアを細分化することによって得られる第２群のエリアの高度に関する情報をそれぞれ格納するための第２群の記録領域を含む第２のデータ構造体を前記高度情報格納部内に作成し、その後、前記一群のエリアに関して行う処理と同様の処理を前記第２群のエリアに対しても行う、請求項１〜４のいずれか１項に記載の位置検出装置。
【請求項６】
前記一群の記録領域の各々が、
ポインタを格納するための第４のフィールドを更に含み、
前記演算処理部が、
前記第２のデータ構造体を指し示すポインタを前記一群の記録領域の内の当該エリアに対応する記録領域の前記第４のフィールドに書き込む、請求項５記載の位置検出装置。
【請求項７】
前記第２群の記録領域の各々が、
当該記録領域が更新された時刻を格納するための第５のフィールドを更に含み、
前記演算処理部が、
前記第２群の記録領域の内のいずれかの記録領域を更新した場合に、更新した時刻を当該記録領域の前記第５のフィールドに格納し、前記第２群の記録領域の全てが所定時間更新されていない場合に、前記第２のデータ構造体を削除する、請求項６記載の位置検出装置。
【請求項８】
前記演算処理部が、
前記一群のエリア外に滞在した回数が所定の第２の閾値に達した場合に、前記データ構造体を再度作成する処理を行う、請求項１〜７のいずれか１項に記載の位置検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現在位置を検出するための位置検出装置に関する。
【背景技術】
【０００２】
現在、カーナビゲーション装置等の種々の装置において、人工衛星からの電波を受信することにより現在位置を出力するＧＰＳ（Global Positioning System）受信機が広く利用されている。このようなＧＰＳ受信機は、複数の人工衛星からそれぞれ送信された電波が自機にそれぞれ到達するまでの所要時間を計測し、これらの所要時間に基づいて複数の人工衛星から自機までの距離を算出し、これらの距離に基づいて現在位置を算出する。
【０００３】
ＧＰＳ受信機が３次元（経度、緯度、及び、高度）測位を行うためには、少なくとも４個の人工衛星からの電波が必要である。建築物等の影響により３個の人工衛星からの電波しか得られない場合には、ＧＰＳ受信機は、２次元測位しか行うことができず、高度を算出することができない。
このように高度を算出することができない場合であっても、位置を確定することができるＧＰＳ航法装置が知られている（例えば、下記特許文献１参照）。
【０００４】
特許文献１に掲載されているＧＰＳ航法装置は、ＧＰＳ衛星電波を受信して測位データを算出する手段と、車輌の進行方位を検出する手段と、地図情報を記憶する手段と、中央演算処理装置と、高度データを得るための高度演算手段とを含み、高度演算手段は測位データ算出手段から得られる測位データと地図情報から得られる位置データに基づき自動車の高度を算出し且つこの高度データをデータ記憶手段に記憶し、ＧＰＳ衛星からの所望の衛星電波が得られない時データ記憶手段からの高度データに基づき自動車の位置を確定することを特徴とする。
【０００５】
このＧＰＳ航法装置によれば、ＧＰＳ衛星からの所望の衛星電波が得られない時であっても、データ記憶手段からの高度データに基づき自動車の位置を確定することができる。
しかしながら、このＧＰＳ航法装置は、車輌の進行方位を検出する手段と、地図情報を記憶する手段とを必要とする。また、このＧＰＳ航法装置においては、２次元測位が継続している間の自動車の走行により自動車の高度が変化すると、データ記憶手段に記憶されている高度データの誤差が大きくなり、位置の誤差が大きくなってしまう。
【０００６】
このような問題を解決するものとして、下記特許文献２には、少なくとも４個のＧＰＳ衛星から供給される信号に基づいて３次元測位をするとともに車両の高度データを記憶し、３個のＧＰＳ衛星から信号が供給された場合に前に記憶された車両の高度データを利用して２次元的に測位を行うＧＰＳ受信機を有し、このＧＰＳ受信機の測位データを用いて、走行距離センサ及び方位センサにより検出される車両の走行距離データ及び方位データに基づいて得られる車両の位置を補正する位置検出装置において、現在の測位モードが３次元測位モードであるか２次元測位モードであるかの判定信号に基づいて、３次元測位モードから２次元測位モードに切り替わったことを検知した場合に、車両の走行距離データに基づき走行距離の計算を開始する距離計算手段と、距離計算手段により一定走行距離が計算された場合に、２次元測位モードであることが判定されている限り、その後の２次元測位データにより検出される車両の位置のデータを補正のためには不採用とするデータ選別手段とを有することを特徴とするＧＰＳ測位方式を利用した位置検出装置が掲載されている。
【０００７】
この位置検出装置によれば、３次元測位モードから２次元測位モードに切り替わってからの走行距離が一定距離になるまでは、前に記憶された車両の高度データの精度が十分であるものと考えられるため、この高度データを走行距離センサ及び方位センサにより検出される車両の走行距離データ及び方位データに基づいて得られる車両の位置の補正に利用する。また、３次元測位モードから２次元測位モードに切り替わってからの走行距離が一定距離になった後は、前に記憶された車両の高度データの精度が不十分になったものと考えられるため、この高度データを走行距離センサ及び方位センサにより検出される車両の走行距離データ及び方位データに基づいて得られる車両の位置の補正には不採用とする。
【０００８】
しかしながら、この位置検出装置は、ＧＰＳ受信機の測位データを走行距離センサ及び方位センサにより検出される車両の走行距離データ及び方位データに基づいて得られる車両の位置の補正のために利用するものであり、ＧＰＳ受信機は、走行距離センサ及び方位センサのいわば補助的な役割を担うものである。すなわち、この位置検出装置は、走行距離センサ及び方位センサを必要とする。また、この位置検出装置は、３次元測位モードから２次元測位モードに切り替わってからの走行距離を計算するための距離計算手段を必要とする。
【０００９】
【特許文献１】特開昭６３−９１５８３号公報（第１頁、図１）
【特許文献２】特開平４−３５３７８３号公報（第１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
そこで、上記の点に鑑み、本発明は、走行距離センサ、方位センサ、距離計算手段等を用いることなく、２次元測位時においても高精度の高度を得ることが可能な位置検出装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
以上の課題を解決するため、本発明に係る位置検出装置は、人工衛星からの電波を受信することにより現在位置の経度、緯度、及び／又は、高度を測位するためのＧＰＳ（Global Positioning System）受信処理部と、一群のエリアの高度に関する情報をそれぞれ格納するための一群の記録領域を含むデータ構造体を記録する高度情報格納部と、ＧＰＳ受信処理部が３次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度に関する情報をＧＰＳ受信処理部によって測位された現在位置の経度、緯度、及び／又は、高度を用いて更新するとともに、ＧＰＳ受信処理部によって測位された現在位置の経度、緯度、及び、高度を外部に出力し、ＧＰＳ受信処理部が２次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度に関する情報を用いて高度を算出し、算出した高度並びにＧＰＳ受信処理部によって測位された現在位置の経度及び緯度を外部に出力する演算処理部とを具備する。
【００１２】
この位置検出装置において、一群の記録領域の各々が、ＧＰＳ受信処理部が３次元測位を行っている場合において当該記録領域に対応するエリアに滞在した回数である第１の値を格納するための第１のフィールドと、ＧＰＳ受信処理部が３次元測位を行っている場合において当該記録領域に対応するエリアに滞在したときにＧＰＳ受信処理部によって測位された高度の累計である第２の値を格納するための第２のフィールドと、を含み、演算処理部が、ＧＰＳ受信処理部が２次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度に関する情報の内の第２の値を当該エリアの高度に関する情報の内の第１の値で除することにより高度を算出するようにしても良い。
【００１３】
また、演算処理部が、ＧＰＳ受信処理部が３次元測位を行っている場合に、ＧＰＳ受信処理部によって測位された現在位置の高度の誤差が所定の条件を満たすときに、一群のエリアの内の現在位置が属するエリアの高度に関する情報を更新するようにしても良い。
【００１４】
また、一群の記録領域の各々が、ＧＰＳ受信処理部が３次元測位を行っている場合において当該記録領域に対応するエリアに滞在したときにＧＰＳ受信処理部によって測位された高度の二乗の累計である第３の値を格納するための第３のフィールドを更に含み、演算処理部が、ＧＰＳ受信処理部が３次元測位を行っている場合に、一群のエリアの内の現在位置が属するエリアの高度に関する情報の内の第１〜第３の値を用いて、ＧＰＳ受信処理部によって測位された現在位置の高度の誤差が所定の条件を満たすか否かを判断するようにしても良い。
【００１５】
また、演算処理部が、一群のエリアの内のいずれかのエリアの高度に関する情報の内の第１の値が所定の閾値に達した場合に、当該エリアを細分化することによって得られる第２群のエリアの高度に関する情報をそれぞれ格納するための第２群の記録領域を含む第２のデータ構造体を高度情報格納部内に作成し、その後、一群のエリアに関して行う処理と同様の処理を第２群のエリアに対しても行うようにしても良い。
【００１６】
また、一群の記録領域の各々が、ポインタを格納するための第４のフィールドを更に含み、演算処理部が、第２のデータ構造体を指し示すポインタを一群の記録領域の内の当該エリアに対応する記録領域の第４のフィールドに書き込むようにしても良い。
【００１７】
また、第２群の記録領域の各々が、当該記録領域が更新された時刻を格納するための第５のフィールドを更に含み、演算処理部が、第２群の記録領域の内のいずれかの記録領域を更新した場合に、更新した時刻を当該記録領域の第５のフィールドに格納し、第２群の記録領域の全てが所定時間更新されていない場合に、第２のデータ構造体を削除するようにしても良い。
【００１８】
また、演算処理部が、一群のエリア外に滞在した回数が所定の第２の閾値に達した場合に、データ構造体を再度作成する処理を行うようにしても良い。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら、本発明を実施するための最良の形態について説明する。なお、同一の構成要素には同一の参照符号を付して、説明を省略する。
図１は、本発明の一実施形態に係る位置検出装置の概要を示す図である。図１に示すように、この位置検出装置１は、アンテナ２と、ＧＰＳ（Global Positioning System）受信処理部３と、計時処理部４と、高度情報格納部５と、演算処理部６とを具備する。
【００２０】
ＧＰＳ受信処理部３は、アンテナ２を介して人工衛星（ＧＰＳ衛星）からの電波を受信することにより、２次元測位又は３次元測位を行う。ＧＰＳ受信処理部３は、３個の人工衛星からの電波を受信している場合には、２次元測位を行う。ＧＰＳ受信処理部３は、２次元測位時には、現在位置の経度及び緯度、並びに現在の時刻を演算処理部６に出力する。また、ＧＰＳ受信処理部３は、４個以上の人工衛星からの電波を受信している場合には、３次元測位を行う。ＧＰＳ受信処理部３は、３次元測位時には、現在位置の経度、緯度、及び、高度、並びに現在の時刻を演算処理部６に出力する。本実施形態においては、ＧＰＳ受信処理部３は、所定のインターバルで動作するものとする。
【００２１】
計時処理部４は、バッテリから電力の供給を受けて時刻を常時計時しているＲＴＣ（Real Time Clock）等である。なお、計時処理部４によって計時されている時刻は、適宜、演算処理部６により、ＧＰＳ受信処理部３から出力される時刻で修正（上書き）される。
【００２２】
高度情報格納部５は、演算処理部６によって作成される高度情報（以下、「高度マップ」という）等を格納するための記録媒体である。この高度マップについては、後に詳細に説明する。なお、高度情報格納部５として、不揮発性記録媒体（例えば、ＥＥＰＲＯＭ等）を用いることとしても良いし、バッテリからバックアップ電力の供給を受けた揮発性記録媒体（例えば、ＲＡＭ等）を用いることとしても良い。
【００２３】
演算処理部６は、ＧＰＳ受信処理部３から出力されるデータに基づいて、高度マップを作成し、高度情報格納部５に格納する。また、演算処理部６は、ＧＰＳ受信処理部３から出力されるデータ及び／又は高度マップに基づいて、現在位置（経度及び緯度）及び現在高度を含むＮＭＥＡ（National Marine Electronics Association）−０１８３フォーマットのパケットを、外部装置に出力する。なお、演算処理部６は、ＣＰＵとファームウェア（プログラム）で構成することができる。
【００２４】
次に、位置検出装置１の動作について説明する。
図２は、初期時（例えば、位置検出装置１の最初のパワーオン時、リセット時等）における演算処理部６の動作を示すフローチャートである。
【００２５】
まず、演算処理部６は、初期位置を取得する（ステップＳ１１）。初期位置としては、例えば、初期時においてＧＰＳ受信処理部３によって測位された位置を用いることとしても良いし、ユーザから外部装置等を介して指定された位置（例えば、ユーザの自宅位置等）を用いることとしても良い。また、取得した初期位置は、高度情報格納部５に格納しておくようにしても良い。
【００２６】
次に、演算処理部６は、初期位置を囲む複数のエリア（本実施形態においては、４つのエリアとする）の高度に関する情報を格納するためのテーブルである高度マップ（以下、「広域マップ」又は「詳細レベル０マップ」という）を作成し、高度情報格納部５に書き込む（ステップＳ１２）。
【００２７】
図３は、広域マップの例を示す図である。本実施形態においては、初期位置を４つのエリアが囲むため、図３に示すように、広域マップは、４つのエリアにそれぞれ対応する４つのレコードを有している。これら４つのレコードの各々は、各エリアにそれぞれ割り当てられた番号であるマップ座標（本実施形態においては、「０」〜「３」）、各エリアに滞在した回数（後に説明する演算処理部６のインターバルの回数）である滞在回数（初期値は「０」）、各エリアに滞在したときに得られた高度の和である累計高度１（初期値は「０」）、各エリアに滞在したときに得られた高度の二乗の和である累計高度２（初期値は「０」）、滞在回数、累計高度１、及び、累計高度２を更新した時刻である更新時刻、及び、ポインタ（初期値は「ｎｕｌｌ」）を格納するためのフィールドを有する。
【００２８】
図４は、地表上における初期位置及び初期位置を囲む４つのエリアを表した図である。本実施形態においては、初期位置の北東のエリアのマップ座標を０、初期位置の北西のエリアのマップ座標を１、初期位置の南東のエリアのマップ座標を２、初期位置の南西のエリアのマップ座標を３とする。本実施形態においては、初期位置は、マップ座標０のエリアに含まれるものとする。
【００２９】
また、本実施形態においては、初期位置を囲む４つのエリア全体の東西方向の範囲を広域関心領域東西範囲と呼び、初期位置を囲む４つのエリア全体の南北方向の範囲を広域関心領域南北範囲と呼ぶものとする。また、広域関心領域東西範囲の長さ（距離）を広域関心領域東西距離と呼び、広域関心領域南北範囲の長さ（距離）を広域関心領域南北距離と呼ぶものとする。広域関心領域東西範囲及び広域関心領域南北範囲の経度及び緯度、広域関心領域東西距離及び広域関心領域南北距離は、高度情報格納部５にパラメータとして格納されていることとしても良い。
なお、本実施形態においては、広域関心領域東西距離と広域関心領域南北距離は、等しいものとし、以下、「広域関心領域距離」という。
【００３０】
図４において、初期位置の経度と広域関心領域東西範囲との間には、ｘ方向を東西方向（東方向を正方向、西方向を負方向）とすると、
（初期位置の経度）
＝（広域関心領域東西範囲の東端の経度−広域関心領域東西範囲の西端の経度）／２
・・・（１）
が成立する。また、初期位置の緯度と広域関心領域南北範囲との間には、ｙ方向を南北方向（北方向を正方向、南方向を負方向）とすると、
（初期位置の緯度）
＝（広域関心領域南北範囲の北端の緯度−広域関心領域南北範囲の南端の緯度）／２
・・・（２）
が成立する。
【００３１】
後に詳細に説明するように、各エリアは、滞在回数が所定の閾値（以下、「詳細エリア生成判断閾値」という）に達すると、４つのエリアに細分化される。そして、細分化された４つのエリアの高度に関する情報を格納するためのテーブルである高度マップ（以下、「詳細レベル１マップ」という）が、高度情報格納部５内に新たに作成される。そして、広域マップ内の４つのレコードの内の初期位置を囲む４つのエリアの内の滞在回数が詳細エリア生成判断閾値に達したエリアに対応するレコードの中のポインタが、ｎｕｌｌから詳細レベル１マップの先頭アドレスに更新される。
なお、詳細レベル１の４つのエリアも、滞在回数が詳細エリア生成判断閾値に達すると、更に細分化される。
【００３２】
図５は、広域マップ及び詳細レベル１マップの例を示す図である。図５は、初期位置を囲む４つのエリアの内のマップ座標０に対応するエリアが細分化された場合における広域マップ及び詳細レベル１マップの例を示している。
【００３３】
詳細レベル１マップの各レコード内の滞在回数フィールドの初期値は「０」となる。詳細レベル１マップが作成された後は、広域マップ（詳細レベル０マップ）内のマップ座標０のレコード内の各フィールドの値は更新されない。また、詳細レベル１のマップ座標０のエリアの総滞在回数は、
（詳細レベル１のマップ座標０のエリアの総滞在回数）
＝（詳細レベル０のマップ座標０の滞在回数）×（詳細エリア生成判断閾値）
＋（詳細レベル１のマップ座標０のレコード内の滞在回数フィールドの値）
・・・（３）
で求めることができる。詳細レベル１のマップ座標１〜３のエリアの総滞在回数も、同様に求めることができる。
【００３４】
また、詳細レベル１マップの各レコード内の累計高度１フィールドの初期値は「０」となり、詳細レベル１マップの各レコード内の累計高度２フィールドの初期値も「０」となる。また、詳細レベル１マップの累計高度１は、
（詳細レベル１のマップ座標０の総累計高度１）
＝（詳細レベル０のマップ座標０の累計高度１）×（詳細エリア生成判断閾値）
＋（詳細レベル１のマップ座標０のレコード内の累計高度１フィールドの値）
・・・（４）
で求めることができる。詳細レベル１のマップ座標１〜３のエリアの総累計高度１及び総累計高度２も、同様に求めることができる。
【００３５】
図６は、地表上における初期位置及び初期位置を囲む４つのエリアと、初期位置を囲む４つのエリアの内のマップ座標０に対応するエリアを細分化した４つのエリアとを表す図である。詳細レベル１の４つのエリア全体の中心位置は、詳細レベル１のマップ座標０のエリアに含まれるものとする。
【００３６】
詳細レベル１の４つのエリア全体の東西方向及び南北方向の距離（以下、「基本距離」という）は、
（基本距離）
＝（広域関心領域距離）＞＞（詳細レベルの値）  ・・・（５）
で求めることができる。なお、「＞＞」は、右シフト演算であり、詳細レベル１の基本距離をｃ、広域関心領域距離をｂ、詳細レベルの値をａとすると、上記（５）式は、
ｃ＝ｂ÷２ａ  ・・・（６）
と同等である。
【００３７】
なお、先に説明したように、詳細レベル１の４つのエリアの各々も、滞在回数が所定の回数を超えると、４つのエリア（詳細レベル２）に更に細分化される。この場合にも、上記（５）又は（６）式を用いて、詳細レベル２の基本距離を求めることができる。
【００３８】
また、ｘ方向を東西方向（東方向を正方向、西方向を負方向）とした場合に、
（詳細レベル１のｘ方向の範囲）
＝｛（ｘ方向の広域関心領域東西範囲）＞＞（詳細レベルの値）｝／２
・・・（７）
が成立する。同様に、ｙ方向を南北方向（北方向を正方向、南方向を負方向）とした場合に、
（詳細レベル１のｙ方向の範囲）
＝｛（ｙ方向の広域関心領域南北範囲）＞＞（詳細レベルの値）｝／２
・・・（８）
が成立する。
【００３９】
上記の値を用いて、詳細レベル０のマップ座標０のエリアを細分化した詳細レベル１の４つのエリア全体の中心位置（図６参照）の経度は、
（中心位置の経度）
＝（初期位置の経度）＋（詳細レベル１のｘ方向の範囲）  ・・・（９）
となる。また、詳細レベル０のマップ座標０のエリアを細分化した詳細レベル１の４つのエリア全体の中心位置の緯度は、
（中心位置の緯度）
＝（初期位置の緯度）＋（詳細レベル１のｙ方向の範囲）  ・・・（１０）
となる。
【００４０】
また、詳細レベル０のマップ座標１のエリアを細分化した詳細レベル１の４つのエリア全体の中心位置の経度は、
（中心位置の経度）
＝（初期位置の経度）−（詳細レベル１のｘ方向の範囲）  ・・・（１１）
となる。また、詳細レベル０のマップ座標１のエリアを細分化した詳細レベル１の４つのエリア全体の中心位置の緯度は、
（詳細レベル１の中心位置の緯度）
＝（初期位置の緯度）＋（詳細レベル１のｙ方向の範囲）  ・・・（１２）
となる。
【００４１】
また、詳細レベル０のマップ座標２のエリアを細分化した詳細レベル１の４つのエリア全体の中心位置の経度は、
（中心位置の経度）
＝（初期位置の経度）＋（詳細レベル１のｘ方向の範囲）  ・・・（１３）
となる。また、詳細レベル０のマップ座標２のエリアを細分化した詳細レベル１の４つのエリア全体の中心位置の緯度は、
（詳細レベル１の中心位置の緯度）
＝（初期位置の緯度）−（詳細レベル１のｙ方向の範囲）  ・・・（１４）
となる。
【００４２】
また、詳細レベル０のマップ座標３のエリアを細分化した詳細レベル１の４つのエリア全体の中心位置の経度は、
（中心位置の経度）
＝（初期位置の経度）−（詳細レベル１のｘ方向の範囲）  ・・・（１５）
となる。また、詳細レベル０のマップ座標３のエリアを細分化した詳細レベル１の４つのエリア全体の中心位置の緯度は、
（詳細レベル１の中心位置の緯度）
＝（初期位置の緯度）−（詳細レベル１のｙ方向の範囲）  ・・・（１６）
となる。
【００４３】
なお、詳細レベル１の４つのエリアが更に細分化された場合（詳細レベル２）にも、上記（７）〜（１６）式を用いて、中心位置を求めることができる。
【００４４】
図７は、所定のインターバル毎に演算処理部６が実行する動作を示すフローチャートである。このインターバルの値は、高度情報格納部５にパラメータとして格納されていることとしても良い。本実施形態においては、このインターバルはＧＰＳ受信処理部３の動作のインターバルと同じであり、演算処理部６とＧＰＳ受信処理部３は同期して動作するものとする。
【００４５】
まず、演算処理部６は、ＧＰＳ受信処理部３が３次元測位を行っている（４個以上の人工衛星から電波を受信している）か、２次元測位を行っている（３個の人工衛星から電波を受信している）かをチェックする（ステップＳ２１）。そして、演算処理部６は、ＧＰＳ受信処理部３が３次元測位を行っている場合には、処理をステップＳ２２に移し、ＧＰＳ受信処理部３が２次元測位を行っている場合には、処理をステップＳ３０に移す。
【００４６】
ＧＰＳ受信処理部３が３次元測位を行っている場合、演算処理部６は、３次元測位された高度の誤差が所定の条件を満たすか否かをチェックする（ステップＳ２２）。そして、演算処理部６は、３次元測位された高度の誤差が所定の条件を満たす場合には、処理をステップＳ２３に移し、３次元測位された高度の誤差が所定の条件を満たさない場合には、処理をステップＳ２９に移す。なお、３次元測位された高度の誤差が所定の条件を満たすか否かを、例えば、現在位置（３次元測位された位置）が属するエリアに対応するレコード内の累計高度１フィールドの値、累計高度２フィールドの値、及び、滞在回数フィールドの値、並びに、閾値（以下、「異常高度除去判断閾値」という）を用いて、
2007003195.tif 000003
【数１】
2007003195.tif 000004
により、判断するようにしても良い。ここで、異常高度除去判断閾値は、高度情報格納部５にパラメータとして格納されていることとしても良い。また、３次元測位された高度の誤差が所定の条件を満たすか否かを、現在位置が属するエリアに対応するレコード内の累計高度１フィールドの値及び累計高度２フィールドの値から求めた標準偏差を用いて判断するようにしても良い。
【００４７】
なお、上記において、現在位置が属するエリアは、次のようにして求めることができる。
ｘ方向を東西方向（東方向を正方向、西方向を負方向とする）、ｙ方向を南北方向（北方向を正方向、南方向を負方向とする）とし、
Δｘ＝（測位経度）−（エリア内中心経度）  ・・・（１８）
Δｙ＝（測位緯度）−（エリア内中心緯度）  ・・・（１９）
とする。そして、Δｘが基本距離より大きいか又はΔｙが基本距離より大きい場合には、測位位置（現在位置）がエリア外であると判断することができる。また、Δｘが０以上且つΔｙが０以上の場合には、測位位置（現在位置）がマップ座標０のエリア内であると判断することができる。また、Δｘが０より小さく且つΔｙが０以上の場合には、測位位置（現在位置）がマップ座標１のエリア内であると判断することができる。また、Δｘが０以上且つΔｙが０より小さい場合には、測位位置（現在位置）がマップ座標２のエリア内であると判断することができる。また、以上の条件のいずれにも該当しない場合には、測位位置（現在位置）がマップ座標３のエリア内であると判断することができる。
【００４８】
ステップＳ２２においてＧＰＳ受信処理部３によって３次元測位された高度の誤差が一定以下であると判断した場合、演算処理部６は、測位位置（現在位置）が属するエリアに対応するレコード内の滞在回数フィールドの値をインクリメントし（ステップＳ２３）、測位位置（現在位置）が属するエリアに対応するレコード内の累計高度１フィールドの値に測位高度（現在高度）の値を加算し（ステップＳ２４）、測位位置（現在位置）が属するエリアに対応するレコード内の累計高度２フィールドの値に測位高度（現在高度）の二乗を加算し（ステップＳ２５）、測位位置（現在位置）が属するエリアに対応するレコード内の更新時刻フィールドに現在時刻を書き込む（ステップＳ２６）。なお、現在時刻として、計時処理部４によって計時されている時刻を用いることとしても良いし、ＧＰＳ受信処理部３から出力される時刻を用いることとしても良い。
【００４９】
次に、演算処理部６は、現在位置が属するエリアに対応するレコード内の滞在回数フィールドの値が閾値（以下、「詳細エリア生成判断閾値」という）に到達したか否かをチェックする（ステップＳ２７）。そして、現在位置が属するエリアに対応するレコード内の滞在回数フィールドの値が詳細エリア生成判断閾値に到達したと判断した場合には、演算処理部６は、測位位置（現在位置）が属するエリアを４つのエリアに細分化し、新たな４つのエリアにそれぞれ対応する４つのレコードを有する高度マップ（図５参照）を高度情報格納部５内に作成する（ステップＳ２８）。
【００５０】
なお、演算処理部６は、ステップＳ２２においてＧＰＳ受信処理部３によって３次元測位された高度の誤差が一定以下ではないと判断した場合、高度マップ内のデータの精度を下げないため、ステップＳ２３〜Ｓ２８を実行しない。
【００５１】
そして、演算処理部６は、３次元測位された経度、緯度、及び、高度を、ＮＭＥＡパケットとして、外部装置に出力する（ステップＳ２９）。
【００５２】
一方、ＧＰＳ受信処理部３が２次元測位を行っている場合、ＧＰＳ受信処理部３から高度が出力されないため、演算処理部６は、高度を算出する（ステップＳ３０）。具体的には、演算処理部６は、測位位置（現在位置）が属するエリアに対応するレコード内の累計高度１フィールドの値を滞在回数フィールドの値で除することにより、測位位置（現在位置）が属するエリアにおいて過去に３次元測位された高度の平均値を算出する。
【００５３】
そして、演算処理部６は、２次元測位された経度及び緯度、並びにステップＳ３０にて算出した高度を、ＮＭＥＡパケットとして、外部装置に出力する（ステップＳ３１）。
【００５４】
なお、演算処理部６は、次回のインターバル以降、ステップＳ２８における細分化によって得られた新たな４つのエリアに対しても、図７に示す処理を行う。
【００５５】
図８は、所定時（例えば、位置検出装置１の起動時等）に演算処理部６が実行する動作を示すフローチャートである。
【００５６】
まず、演算処理部６は、所定時間更新されていない高度マップを検出する（ステップＳ３１）。これは、例えば、４つのレコードの全てについて
（現在時刻）−（各レコード内の更新時刻）−（電源がオフされていた時間）
＞（高度マップ削除閾値）                                    ・・・（２０）
が成立するか否かにより、検出することとしても良い。なお、現在時刻として、計時処理部４によって計時されている時刻を用いることとしても良いし、ＧＰＳ受信処理部３から出力される時刻を用いることとしても良い。また、電源がオフされていた時間は、現在時刻と電源がオフされる直前にＧＰＳ受信処理部３が出力した時刻との差分を用いて算出しても良いし、計時処理部４によって計時されていた時間を用いることとしても良い。
【００５７】
次に、演算処理部６は、ステップＳ４１にて検索された高度マップを削除し、記録領域を開放（ガベージコレクション）する（ステップＳ４２）。
【００５８】
なお、位置検出装置１のユーザの生活圏が一時的に変化した場合（例えば、旅行等）や完全に変化した場合（例えば、転居等）には、現在位置が広域関心領域外に移動するため、高度マップの更新ができないこととなる。このような場合に、補助的な情報として、広域関心領域外の滞在回数を記録しておく。そして、位置検出装置１の起動時に、起動時の測位位置が広域関心領域外であり且つ広域関心領域外の滞在回数が所定の閾値（「広域関心領域外移動判断閾値」という）に達した場合に、転居等が生じたと判断して、広域マップ（図３参照）を再度作成する処理（図２参照）を行うこととしても良い。広域関心領域外の滞在回数が広域関心領域外移動判断閾値に達していない場合には、旅行等と判断して、広域マップを再度作成する処理を行わず、広域関心領域外の滞在回数の記録を引き続き行うこととしても良い。
【００５９】
以上説明したように、本実施形態によれば、ＧＰＳ受信処理部３が３次元測位を行っている場合に、高度情報格納部５内の広域マップ（図３参照）内の情報が更新される。これにより、ＧＰＳ受信処理部３が２次元測位を行っている場合に、高度情報格納部５内の広域マップ内の情報を用いて高度を算出することができる。
【００６０】
また、ＧＰＳ受信処理部３が３次元測位を行っている場合であっても、ＧＰＳ受信処理部３が出力する情報の誤差が一定以下ではないときには、高度情報格納部５内の広域マップ内の情報は更新されない。これにより、高度情報格納部５内の広域マップ内の情報の精度を維持することができるので、ＧＰＳ受信処理部３が２次元測位を行っている場合に算出する高度の精度を高くすることができる。
【００６１】
また、各エリアの滞在回数が所定の閾値に達した場合に、当該エリアを４つの新たなエリアに細分化し、新たな４つのエリアにそれぞれ対応する４つのレコードを有する高度マップを高度情報格納部５内に作成する（図５参照）。これにより、頻繁に訪れる場所の高度をより高精度に算出することができる。
【００６２】
また、所定時間更新されていない高度マップを削除することにより、高度情報格納部５の記憶容量を有効に利用することができる。
【００６３】
また、広域エリア外の滞在回数が所定の閾値に達した場合に、広域マップを再作成することができる。これにより、ユーザが転居等をした場合にも対応可能である。
【産業上の利用可能性】
【００６４】
本発明は、現在位置を検出する位置検出装置において利用可能である。この位置検出装置は、カーナビゲーション装置等において利用可能である。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態に係る位置検出装置を示すブロック図。
【図２】図１の位置検出装置１の初期時における動作を示すフローチャート。
【図３】図１の高度情報格納部５に記録される高度マップの例を示す図。
【図４】図３の高度マップによって表されるエリアを示す図。
【図５】図１の高度情報格納部５に記録される高度マップの例を示す図。
【図６】図３の高度マップによって表されるエリアを示す図。
【図７】図１の位置検出装置１の所定インターバル毎の動作を示すフローチャート。
【図８】図１の位置検出装置１の起動時における動作を示すフローチャート。
【符号の説明】
【００６６】
１  位置検出装置、  ２  アンテナ、  ３  ＧＰＳ受信処理部、  ４  計時処理部、  ５  高度情報格納部、  ６  演算処理部
【図１】
2007003195.tif 000005
【図２】
2007003195.tif 000006
【図３】
2007003195.tif 000007
【図４】
2007003195.tif 000008
【図５】
2007003195.tif 000009
【図６】
2007003195.tif 000010
【図７】
2007003195.tif 000011
【図８】
2007003195.tif 000012