位置算出方法及び位置算出装置
【課題】慣性測位用ユニット及び衛星測位用ユニットそれぞれの計測結果を併用して、位置をより正確に算出するための手法の提案。
【解決手段】位置算出装置1において、移動体に設置された慣性測位用ユニット2の計測結果を用いて、少なくとも移動体の位置を演算する第1の演算処理が第1の演算処理部5により実行される。また、第1の演算処理の結果と、移動体に設置された衛星測位用ユニット3の計測結果とを用いて、移動体の位置を演算する第2の演算処理が第2の演算処理部7により実行される。そして、第1の演算処理の結果と、第2の演算処理の結果とを用いて、第1の演算処理に係る演算係数が演算係数調整部9により調整される。
【解決手段】位置算出装置1において、移動体に設置された慣性測位用ユニット2の計測結果を用いて、少なくとも移動体の位置を演算する第1の演算処理が第1の演算処理部5により実行される。また、第1の演算処理の結果と、移動体に設置された衛星測位用ユニット3の計測結果とを用いて、移動体の位置を演算する第2の演算処理が第2の演算処理部7により実行される。そして、第1の演算処理の結果と、第2の演算処理の結果とを用いて、第1の演算処理に係る演算係数が演算係数調整部9により調整される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、慣性測位用ユニット及び衛星測位用ユニットそれぞれの計測結果を併用した位置算出方法等に関する。
【背景技術】
【0002】
いわゆるシームレス測位やモーションセンシング、姿勢制御など様々な分野において、慣性センサーの活用が注目されている。慣性センサーとしては、加速度センサーやジャイロセンサー、圧力センサー、地磁気センサーなどが広く知られている。慣性センサーの検出結果を利用して慣性航法演算を行う慣性航法システム(以下、「INS(Inertial Navigation System)」と称する。)も考案されている。
【0003】
INSでは、慣性センサーの検出結果に含まれ得る種々の誤差成分に起因して位置算出の正確性が低下するという問題があり、位置算出の正確性を向上させるための様々な技術が考案されている。例えば、特許文献1には、INS演算結果を、GPS(Global Positioning System)を利用して補正する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2010/0019963号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
GPSを利用してINS演算結果を補正する技術は、GPS演算結果が正しいことを前提としている。特許文献1に開示された技術も同様である。しかし、GPS演算結果は、GPS衛星から受信したGPS衛星信号の信号強度、受信環境、GPS衛星の天空配置、マルチパスといった種々の要因により、演算結果の精度が低下する場合がある。
【0006】
GPS演算結果の精度が低下しているにも関わらず、特許文献1の技術のようにGPS演算結果を用いてINS演算結果を補正してしまうと、位置算出の正確性が低下するという問題があった。
【0007】
本発明は上述した課題に鑑みて為されたものであり、衛星測位用ユニット及び慣性測位用ユニットそれぞれの計測結果を併用して、位置をより正確に算出するための手法を提案することを目的とする。
【課題を解決するための手段】
【0008】
以上の課題を解決するための第1の形態は、移動体に設置された慣性測位用ユニットの計測結果を用いて、少なくとも前記移動体の位置を演算する第1の演算処理を実行することと、前記第1の演算処理の結果と、前記移動体に設置された衛星測位用ユニットの計測結果とを用いて、前記移動体の位置を演算する第2の演算処理を実行することと、前記第1の演算処理の結果と、前記第2の演算処理の結果とを用いて、前記第1の演算処理に係る演算係数を調整することと、を含む位置算出方法である。
【0009】
また、他の形態として、移動体に設置された慣性測位用ユニットの計測結果を用いて、少なくとも前記移動体の位置を演算する第1の演算処理を実行する第1の演算処理部と、前記第1の演算処理の結果と、前記移動体に設置された衛星測位用ユニットの計測結果とを用いて、前記移動体の位置を演算する第2の演算処理を実行する第2の演算処理部と、前記第1の演算処理の結果と、前記第2の演算処理の結果とを用いて、前記第1の演算処理に係る演算係数を調整する調整部と、を備えた位置算出装置を構成してもよい。
【0010】
この第1の形態等によれば、移動体に設置された慣性測位用ユニットの計測結果を用いて、少なくとも移動体の位置を演算する第1の演算処理を実行する。また、第1の演算処理の結果と、移動体に設置された衛星測位用ユニットの計測結果とを用いて、移動体の位置を演算する第2の演算処理を実行する。そして、第1の演算処理の結果と、第2の演算処理の結果とを用いて、第1の演算処理に係る演算係数を調整する。
【0011】
演算処理には、慣性測位用ユニットの計測結果を用いた第1の演算処理と、第1の演算処理の結果及び衛星測位用ユニットの計測結果を用いた第2の演算処理とがある。そして、第1の演算処理の結果と、第2の演算処理の結果とを用いて、第1の演算処理に係る演算係数を調整することで、第1の演算処理における位置算出の正確性を向上させることができる。
【0012】
また、第2の形態として、第1の形態の位置算出方法において、前記慣性測位用ユニットの計測結果には慣性測位位置が含まれ、前記第1の演算処理は、演算した第1の演算位置に内在する第1の位置誤差を推定する所定の誤差推定演算を含み、前記調整することは、前記第1の位置誤差と、前記第2の演算処理で求めた第2の演算位置とを用いて、前記慣性測位位置に内在する慣性測位誤差を推定することと、前記慣性測位誤差を用いて前記演算係数を調整することと、を含む、位置算出方法を構成することとしてもよい。
【0013】
この第2の形態によれば、所定の誤差推定演算を行って、第1の演算処理で演算した第1の演算位置に内在する第1の位置誤差を推定する。そして、第1の位置誤差と、第2の演算処理で求めた第2の演算位置とを用いて、慣性測位用ユニットの計測結果に含まれる慣性測位位置に内在する慣性測位誤差を推定する。第1の位置誤差と併せて第2の演算位置を用いることで、慣性測位誤差を適切に推定することができる。そして、当該慣性測位誤差を用いて第1の演算処理に係る演算係数を調整することで、第1の演算処理における位置算出の正確性を向上させることができる。
【0014】
また、第3の形態として、第2の形態の位置算出方法において、前記推定することは、前記慣性測位位置と前記第2の演算位置との差分を算出することと、前記第1の位置誤差と前記差分とを平均処理して前記慣性測位誤差を算出することと、を含む、位置算出方法を構成することとしてもよい。
【0015】
この第3の形態によれば、慣性測位位置と第2の演算位置との差分を算出する。そして、第1の位置誤差と当該差分とを平均処理することで、慣性測位誤差を適切に推定することができる。
【0016】
また、第4の形態として、第3の形態の位置算出方法において、前記平均処理は、測位環境と前記衛星測位用ユニットの計測結果の信頼性とのどちらか又は両方に基づいて、前記第1の位置誤差と前記差分との重みを設定して加重平均する処理である、位置算出方法を構成することとしてもよい。
【0017】
この第4の形態によれば、平均処理において、測位環境と衛星測位用ユニットの計測結果の信頼性とのどちらか又は両方に基づいて、第1の位置誤差と差分との重みを設定して加重平均する。これにより、測位環境や衛星測位用ユニットの計測結果の信頼性に基づいて、慣性測位誤差をより正確に推定することができる。
【0018】
また、第5の形態として、第1〜第4の何れかの形態の位置算出方法において、前記慣性測位用ユニットの計測結果には慣性測位位置が含まれ、前記第1の演算処理は、前記慣性測位位置を入力とするカルマンフィルター処理である、位置算出方法を構成することとしてもよい。
【0019】
この第5の形態によれば、第1の演算処理として慣性測位位置を入力とするカルマンフィルター処理を行うことで、移動体の位置等を簡易且つ適切に求めることができる。
【0020】
また、第6の形態として、第5の形態の位置算出方法において、前記衛星測位用ユニットの計測結果には速度が含まれ、前記カルマンフィルター処理は、前記速度を観測量とする処理である、位置算出方法を構成してもよい。
【0021】
この第6の形態によれば、第5の形態のカルマンフィルター処理において、さらに衛星測位用ユニットの計測結果に含まれる速度を観測量とすることで、移動体の位置等をより正確に求めることができる。
【0022】
また、第7の形態として、第1〜第6の何れかの形態の位置算出方法において、前記衛星測位用ユニットの計測結果には衛星測位位置が含まれ、前記第2の演算処理は、前記第1の演算処理の結果を入力とし、前記衛星測位位置を観測量とするカルマンフィルター処理である、位置算出方法を構成することとしてもよい。
【0023】
この第7の形態によれば、第2の演算処理として、第1の演算処理の結果を入力とし、衛星測位用ユニットの計測結果に含まれる衛星測位位置を観測量とするカルマンフィルター処理を実行することで、移動体の位置を簡易且つ適切に求めることができる。
【図面の簡単な説明】
【0024】
【図1】位置算出装置の構成図。
【図2】第1の位置算出装置の構成図。
【図3】第1のカルマンフィルター処理の入出力データの説明図。
【図4】第1の重み設定条件の説明図。
【図5】第2の重み設定条件の説明図。
【図6】位置算出を行った実験結果の一例を示す図。
【図7】位置算出を行った実験結果の一例を示す図。
【図8】ナビゲーションシステムのシステム構成図。
【図9】カーナビゲーション装置の機能構成を示すブロック図。
【図10】ナビゲーション処理の流れを示すフローチャート。
【図11】INS演算誤差推定処理の流れを示すフローチャート。
【発明を実施するための形態】
【0025】
1.原理
1−1.構成
図1は、本実施形態における位置算出装置1の主要構成図である。位置算出装置1は、移動体に備えられ、当該移動体の位置を算出する装置(システム)である。移動体は、自動車やオートバイ、自転車、船、電車といった物の他、人間自体であってもよい。人間が位置算出装置1を携帯し、人間自身が位置算出装置1を備えることとしてもよい。
【0026】
本明細書で参照する図面では、ユニット(モジュール)を二重線で図示し、ユニットの計測結果を利用して演算処理を行う処理ブロックを一重線で図示することで、両者を区別する。
【0027】
位置算出装置1には、ユニット(モジュール)として、慣性測位用ユニット2と、衛星測位用ユニット3とが含まれる。また、位置算出装置1は、主要な処理ブロックとして、第1の演算処理部5と、第2の演算処理部7と、演算係数調整部9とを有する。なお、ユニットと処理ブロックとで位置算出装置1を構成してもよいし、ユニットを除外して処理ブロックのみで位置算出装置1を構成してもよい。
【0028】
慣性測位用ユニット2は、慣性航法を利用して測位を行うためのユニットである。慣性測位用ユニット2は、加速度センサーやジャイロセンサー等の慣性センサーや、慣性センサーをパッケージ化した慣性計測ユニット(IMU(Inertial Measurement Unit))、慣性計測ユニット及び演算処理部をパッケージ化した慣性航法システム(INS(Inertial Navigation System))等を適用したユニットである。
【0029】
衛星測位用ユニット3は、衛星測位システムを利用して測位を行うためのユニットであり、例えば衛星測位システムの一種であるGPS(Global Positioning System)を適用可能である。
【0030】
第1の演算処理部5は、慣性測位用ユニット2の計測結果と、所与の観測量とを併用して、予め定められた第1の演算処理を行って、少なくとも移動体の位置を算出する。本実施形態において、第1の演算処理に好適な適用例は、カルマンフィルター処理である。
【0031】
第2の演算処理部7は、第1の演算処理部5の演算結果である第1の演算結果と、衛星測位用ユニット3の計測結果とを用いて、予め定められた第2の演算処理を行って、移動体の位置を算出する。本実施形態において、第2の演算処理に好適な適用例は、カルマンフィルター処理やシグマポイントフィルター処理、回帰フィルター処理である。
【0032】
演算係数調整部9は、第1の演算処理部5から入力した第1の演算結果と、第2の演算処理部7から入力した第2の演算結果とを用いて、第1の演算処理に係る演算係数を調整する。第1の演算処理部5は、演算係数調整部9により調整された演算係数を用いて第1の演算処理を行う。
【0033】
図2は、図1の位置算出装置1を適用した第1の位置算出装置1Aの構成図である。第1の位置算出装置1Aは、INSユニット2Aと、GPSユニット3Aと、第1のカルマンフィルター処理部5Aと、第2のカルマンフィルター処理部7Aと、カルマンフィルター係数調整部9Aとを有する。
【0034】
第1の位置算出装置1Aは、慣性測位用ユニット2としてINSユニット2Aを適用し、衛星測位用ユニット3としてGPSユニット3Aを適用したシステムである。また、第1及び第2の演算処理部5,7として、第1及び第2のカルマンフィルター処理部5A,7Aをそれぞれ適用したシステムである。
【0035】
INSユニット2Aは、IMUがローカル座標系で計測した加速度や角速度等のINSメジャメント情報を出力可能に構成されている。また、INSユニット2Aは、INSメジャメント情報を用いた慣性航法演算を行って、移動体の位置や速度、姿勢角を演算して出力可能に構成されている。本実施形態では、INSユニット2Aは、INS演算位置(慣性測位位置)、INS演算速度及びINS演算姿勢角を絶対座標系で演算して出力する。
【0036】
GPSユニット3Aは、GPS衛星から発信されているGPS衛星信号を受信して、コード位相やドップラー周波数、擬似距離、擬似距離変化率等のGPSメジャメント情報を計測して出力可能に構成されている。また、GPSユニット3Aは、GPSメジャメント情報を用いたGPS演算を行って、移動体の位置や速度を演算して出力可能に構成されている。本実施形態では、GPSユニット3Aは、GPS演算位置(衛星測位位置)及びGPS演算速度を絶対座標系で演算して出力する。
【0037】
ローカル座標系は、INSユニット2Aが有する慣性センサーに対応付けられたローカルな座標系(センサー座標系)である。それに対し、絶対座標系は、移動体の移動空間を定める座標系である。例えば、北東下座標系として知られるNED(North East Down)座標系や、東北上座標系として知られるENU(East North Up)座標系、地球中心地球固定座標系として知られるECEF(Earth Centered Earth Fixed)座標系といった座標系を適用可能である。
【0038】
以下の数式では、INSユニット2Aは、移動体の位置、速度及び姿勢角をENU座標系で演算して出力し、GPSユニット3Aは、移動体の位置及び速度をECEF座標系で演算して出力するものとして説明する。また、第1及び第2のカルマンフィルター処理では、ENU座標系で演算するものとして説明する。また、加速度や速度といった諸量は、実際には大きさ及び方向を持ったベクトルとして表される。しかし、本明細書では、ベクトルの文言を省略して、簡単に加速度や速度として説明する。
【0039】
第1のカルマンフィルター処理部5Aは、カルマンフィルターの理論に基づく演算処理を行って、移動体の位置や速度、姿勢角等を演算する。例えば、INSユニット2Aから入力したINS演算位置、INS演算速度及びINS演算姿勢角を入力U(制御入力)とする。また、GPSユニット3Aから入力したGPS演算速度や、移動体の運動モデルに基づき定められる所与の制約条件を観測量Zとする。そして、カルマンフィルターの予測演算(時刻更新)及び補正演算(観測更新)を行って、状態推定値を求める。
【0040】
第1のカルマンフィルター処理では、推定対象とする移動体の状態“X”を、例えば次式(1)及び(2)のように設定する。
【数1】
【数2】
【0041】
式(1)で表される状態“X1”において、“(δVE,δVN,δVU)”は、ENU座標系で演算したINS演算速度の誤差である。“(Ψx,Ψy,Ψz)”は、ローカル座標系で演算したINS演算姿勢角の誤差である。“(bax,bay,baz)”は、ローカル座標系で計測した加速度のバイアスである。“(bgx,bgy,bgz)”は、ローカル座標系で計測した角速度のバイアスである。また、“d”は、GPSユニット3Aの内部クロックのドリフト(クロックドリフト)である。
【0042】
また、式(2)で表される状態“X2”において、“(δPE,δPN,δPU)”は、ENU座標系で演算したINS演算位置の誤差である。
【0043】
式(1)及び(2)から分かるように、本実施形態における第1のカルマンフィルター処理は、INSユニット2Aの演算結果に含まれる誤差を推定する誤差推定型のカルマンフィルター処理である。つまり、INSユニット2Aの演算結果に含まれる誤差を、状態“X1”及び“X2”として推定する。
【0044】
また、第1のカルマンフィルター処理では、状態“X1”の各成分の誤差の共分散を含む誤差共分散行列“P11”と、状態“X2”の各成分の誤差の共分散を含む誤差共分散行列“P22”と、状態“X1”の各成分に対する状態“X2”の各成分の誤差の共分散を含む誤差共分散行列“P21”と、状態“X2”の各成分に対する状態“X1”の各成分の誤差の共分散を含む誤差共分散行列“P12”と、を併せて演算する。
【0045】
第1のカルマンフィルター処理の補正演算では、GPSユニット3Aにより演算された速度(以下、「GPS演算速度」と称す。)を観測量“Z”として、予測演算で予測された状態“X”を補正する。
【0046】
具体的には、例えば次式(3)で与えられる観測量“Z”を用いて補正演算を行う。
【数3】
但し、“(VE,VN,VU)INS”は、INSユニット2AがENU座標系で演算したINS演算速度である。また、“(VX,VY,VZ)GPS”は、GPSユニット3AがECEF座標系で演算したGPS演算速度である。また、“CECEFENU”は、ECEF座標系からENU座標系への座標変換行列である。
【0047】
さらに、第1のカルマンフィルター処理では、GPS演算速度とは別に、移動体の運動モデルに基づく制約条件を観測量“Z”として適用可能に構成されている。具体的には、移動体の停止時における速度制約条件である「停止時速度制約条件」と、移動体の移動時における速度制約条件である「移動時速度制約条件」との2種類の速度制約条件を適用可能である。
【0048】
停止時速度制約条件(第1の制約条件)は、移動体の停止時に適用可能な制約条件である。移動体が停止しているのであれば、理想的には移動体の速度はゼロである。従って、移動体が停止していると判定した場合は「移動体の各軸の速度成分=0」を観測量“Z”として与えることができる。
【0049】
移動時速度制約条件(第2の制約条件)は、移動体の移動時に適用可能な制約条件である。例えば、移動体として四輪自動車を想定した場合、通常、四輪自動車はジャンプや横滑りすることはないと仮定することができる。従って、移動体が移動していると判定した場合は「移動体の縦横方向の速度成分=0」を観測量“Z”として与えることができる。四輪自動車以外の移動体についても、当該移動体の移動方向や速度の大きさに関する制約に基づいて、移動時制約条件を適宜設定可能である。
【0050】
第1のカルマンフィルター処理で求めた状態“X1”について、その速度誤差“(δVE,δVN,δVU)”を用いてINS演算速度を補正し、その結果を第1の演算速度として第2のカルマンフィルター処理部7Aに出力する。クロックドリフト“d”は、第1の演算クロックドリフトとして第2のカルマンフィルター処理部7Aに出力する。
【0051】
また、加速度バイアス“(bax,bay,baz)”及び角速度バイアス“(bgx,bgy,bgz)”をINSユニット2Aにフィードバックする。INSユニット2Aは、第1のカルマンフィルター処理部5Aから入力した加速度バイアス“(bax,bay,baz)”及び角速度バイアス“(bgx,bgy,bgz)”を用いて、加速度センサー及びジャイロセンサーを補償(キャリブレーション)する。
【0052】
また、第1のカルマンフィルター処理で求めた状態“X2”について、その位置誤差“(δPE,δPN,δPU)”を用いてINS演算位置を補正し、その結果を第1の演算位置として出力する。第1の演算位置は、最終的な移動体の位置として、各種のアプリケーション処理に利用される。
【0053】
また、第1のカルマンフィルター処理では、所定の誤差推定演算を行って、第1の演算位置に内在する第1の演算位置誤差を推定する。具体的には、例えば次式(4)に従って第1の演算位置誤差“P1err”を算出・推定する。
【数4】
【0054】
式(4)において、“Δt”は、第1のカルマンフィルター処理の演算時間間隔である。状態“X1”の第1〜第3成分である速度誤差“(δVE,δVN,δVU)”に演算時間間隔“Δt”を乗算することで、その演算時間間隔での位置誤差の変化分を求める。そして、当該変化分を状態“X2”の位置誤差“(δPE,δPN,δPU)”に加算することで、第1の演算位置誤差“P1err”を算出する。
【0055】
第2のカルマンフィルター処理部7Aは、第1のカルマンフィルター処理部5Aから入力した第1の演算速度及び第1の演算クロックドリフトを入力Uとし、GPSユニット3Aから入力したGPS演算位置を観測量“Z”として、移動体の位置を演算する。第2のカルマンフィルター処理部7Aにより演算された位置は、第2の演算位置として加減算部8に出力される。
【0056】
第2のカルマンフィルター処理では、推定対象とする移動体の状態“X”を、例えば次式(5)のように設定する。
【数5】
但し、“(PE,PN,PU)”は、ENU座標系で表した移動体の位置である。“d”はクロックドリフトである。
【0057】
また、第2のカルマンフィルター処理では、観測量“Z”を、例えば次式(6)のように設定する。
【数6】
但し、“(PX,PY,PZ)GPS”は、ECEF座標系で表したGPS演算位置である。
【0058】
本実施形態において特徴的であるのは、第1のカルマンフィルター処理では、GPS演算位置を観測量“Z”とせず、GPS演算速度を観測量“Z”としている点である。その代わり、GPS演算位置は、第2のカルマンフィルター処理の観測量“Z”とする。これは、GPSでは種々の誤差要因が存在するため、GPS演算位置に大きな誤差が含まれ得ることを想定したためである。その典型例はマルチパス環境である。
【0059】
マルチパス環境でGPS演算を行うと、演算される位置の正確性が低下する。そのため、GPS演算位置とINS演算位置とを単純にカップリングしてしまうと、GPS演算位置の誤差に引きずられて、演算位置の正確性が低下するおそれがある。そこで、位置演算を、第1の演算処理(第1のカルマンフィルター処理)と第2の演算処理(第2のカルマンフィルター処理)とに分離し、第1の演算処理では、GPS演算位置を用いずに移動体の位置を演算することとした。
【0060】
また、GPSでは、移動体の位置と併せて、移動体の速度も演算することができる。速度は位置と比べてマルチパスの影響を受けにくく、INS演算結果とのカップリングにそれほど大きな影響を与えない。そこで、第1のカルマンフィルター処理では、GPS演算速度を観測量として用いて移動体の位置を演算することとした。
【0061】
加減算部8は、第2のカルマンフィルター処理部7Aから出力された第2の演算位置と、INSユニット2Aから出力されたINS演算位置との差分を算出する。便宜的に、この差分のことを「第2の演算位置誤差」と呼称する。加減算部8により算出された第2の演算位置誤差“P2err”は、カルマンフィルター係数調整部9Aに出力される。
【0062】
カルマンフィルター係数調整部9Aは、INS演算誤差推定部91及びフィルター係数算出部93を有し、第1のカルマンフィルター処理に係るフィルター係数を調整する。本実施形態では、フィルター係数算出部93を、第1のカルマンフィルター処理部5Aの機能部として図示・説明する。
【0063】
フィルター係数算出部93は、INS演算誤差推定部91により推定されたINS演算誤差を利用して、第1のカルマンフィルター処理に係るフィルター係数を算出する。調整するフィルター係数は、例えば、状態“X1”,“X2”、及び、誤差共分散行列“P11”,“P22”,“P21”,“P12”である。フィルター係数の調整方法については詳細に後述する。
【0064】
INS演算誤差推定部91は、INS演算結果に含まれる誤差であるINS演算誤差を推定する機能部であり、例えば、位置誤差加重平均部911と、重み設定部913と、誤差変換部915とを有する。
【0065】
位置誤差加重平均部911は、重み設定部913により設定された重みを用いて、第1の演算位置誤差“P1err”と第2の演算位置誤差“P2err”とを加重平均して、INSユニット2Aの演算位置誤差(慣性測位誤差)を算出する。具体的には、例えば次式(7)に従って平均位置誤差“avePerr”を算出する。
【数7】
但し、“α”は、第1の演算位置誤差“P1err”に対する重みであり、“0≦α≦1”である。第2の演算位置誤差“P2err”に対する重みは“1−α”である。
【0066】
重み設定部913は、測位環境やGPSユニット3Aの計測結果の信頼性といった複数の要素に基づいて、位置誤差加重平均部911の加重平均の重み“α”を設定する。重み設定方法については詳細に後述する。
【0067】
誤差変換部915は、第1のカルマンフィルター処理部5Aから入力した誤差共分散“P”を用いて、位置誤差加重平均部911から入力した平均位置誤差“avePerr”をINS演算誤差に変換する。INS演算誤差の変換方法についても詳細に後述する。
【0068】
図3は、第1のカルマンフィルター処理部5Aの入出力データの説明図である。状態“X”と、入力“U”と、観測量“Z”との対応関係のテーブルを図示している。カップリングには種々の方式が存在する。その中でも、ルーズカップリング(疎結合)と呼ばれる方式と、タイトカップリング(密結合)と呼ばれる方式とが一般的に用いられる。
【0069】
ルーズカップリング方式は、GPSとINSとの結び付きが比較的弱いカップリング方式である。この方式では、例えば、状態“X”をINS演算誤差(INS演算位置誤差、INS演算速度誤差、INS演算姿勢角誤差、INS加速度バイアス、INS角速度バイアス、クロックバイアス等)とする。また、入力“U”をINS演算結果(INS演算位置、INS演算速度、INS演算姿勢角等)とし、観測量“Z”をGPS演算結果(GPS演算速度等)や運動モデルに基づく制約条件(停止時又は移動時)とする。
【0070】
タイトカップリング方式は、GPSとINSとの結び付きが比較的強いカップリング方式である。この方式では、例えば、入力“U”及び状態“X”を上記と同様とし、観測量“Z”をGPSメジャメント情報(擬似距離変化率等)や運動モデルに基づく制約条件とする。
【0071】
上記の状態“X”、入力“U”、観測量“Z”の各成分は、適宜追加/削除可能である。例えば、状態“X”について、バイアス成分を削除して、INS演算位置誤差、INS演算速度誤差及びINS演算姿勢角誤差を状態“X”の成分としてもよい。また、観測量“Z”について、GPS演算速度又は擬似距離変化率と、運動モデルに基づく制約条件とを併用することとしてもよいし、何れか一方のみを用いることとしてもよい。
【0072】
1−2.重み設定方法
次に、重み“α”の設定方法を説明する。本実施形態では、比較的高い値として定められた高設定値“αhigh”と、中程度の値として定められた中設定値“αmiddle”と、比較的低い値として定められた低設定値“αlow”との3種類の値の何れかを重み“α”に設定する。これらの具体的な値は、適宜定めることとしてよい。重み“α”は「0〜1」の範囲で、「αhigh=0.9,αmiddle=0.5,αlow=0.1」といった値や、「αhigh=0.75,αmiddle=0.5,αlow=0.25」といった値を定めておくことができる。
【0073】
図4は、重み設定に係る第1の重み設定条件を定めた第1の重み設定条件テーブルの一例を示す図である。第1の重み設定条件テーブルには、低重み設定条件と、高重み設定条件とが対応付けて定められている。低重み設定条件は、重み“α”に低設定値“αlow”を設定するための条件である。高重み設定条件は、重み“α”に高設定値“αhigh”を設定するための条件である。低重み設定条件及び高重み設定条件の何れの条件も成立しない場合は、重み“α”に中設定値“αmiddle”を設定する。
【0074】
第1の重み設定条件は、測位環境に基づき定められた条件である。低重み設定条件には、測位環境がマルチパス環境であることが定められており、高重み設定条件には、測位環境がオープンスカイ環境であることが定められている。
【0075】
測位環境がマルチパス環境である場合は、間接波の影響により、観測される擬似距離に誤差が生ずる。そのため、GPSユニット3Aにより演算される位置の正確性が低下する。第2のカルマンフィルター処理部7AではGPS演算位置を観測量“Z”とするため、GPS演算位置の正確性が低いと、第2の演算位置にもその影響が現れる。
【0076】
この場合、第2の演算位置とINS演算位置との差分として算出される第2の演算位置誤差“P2err”は、マルチパスの影響を含む値となる。従って、測位環境がマルチパス環境である場合は、マルチパスの影響が顕著に反映された第2の演算位置誤差“P2err”を重視するために第2の演算位置誤差“P2err”に対する重み“1−α”を大きくする。これは、第1の演算位置誤差“P1err”に対する重み“α”を小さくすることに相当する。
【0077】
図5は、重み設定に係る第2の重み設定条件を定めた第2の重み設定条件テーブルの一例を示す図である。第2の重み設定条件テーブルには、条件の番号である条件Noと、低重み設定条件と、高重み設定条件とが対応付けて定められている。
【0078】
条件“A”は、GPS演算位置の信頼性に関する条件である。低重み設定条件には「GPS演算位置の信頼性=低」が定められており、高重み設定条件には「GPS演算位置の信頼性=高」が定められている。
【0079】
GPS演算位置の信頼性が低いと、第2のカルマンフィルター処理部7Aで演算される第2の演算位置の正確性が低下する。そのため、第2の演算位置とINS演算位置との差分として算出される第2の演算位置誤差“P2err”には、その影響が顕著に反映される。そこで、GPS演算位置の信頼性が低い場合には、第2の演算位置誤差“P2err”を重視するために、第1の演算位置誤差“P1err”に対する重み“α”を小さくする。
【0080】
GPS演算位置の信頼性は、GPS衛星信号の受信環境や信号強度、GPS衛星の天空配置、位置の急激な変化の検出といった複数の要素を総合的に考慮して判定することができる。例えば、GPS衛星の天空配置が良好でない場合(例えばDOP(Dilution Of Precision)値が大きい場合)や、大きな位置飛び(真の位置から大きく離れた位置が演算結果として得られること)が発生した場合、高度方向の急激な位置変化が発生した場合に、GPS演算位置の信頼性が低いと判定することができる。
【0081】
条件“B”は、GPSメジャメント情報の信頼性に関する条件である。低重み設定条件には「GPSメジャメント情報の信頼性=低」が定められており、高重み設定条件には「GPSメジャメント情報の信頼性=高」が定められている。GPSメジャメント情報の信頼性が低いと、演算されるGPS演算位置の信頼性が低下する。従って、この場合は条件“A”と同様に、第1の演算位置誤差“P1err”に対する重み“α”を小さくする。
【0082】
例えば、アーバンキャニオン環境等においてGPSメジャメント情報に突発的に異常値が混入したような場合や、擬似距離変化率(レンジレート)と擬似距離(シュードレンジ)との相関関係に矛盾が生じている場合に、GPSメジャメント情報の信頼性は低いと判定する。
【0083】
条件“C”は、第2の演算位置の信頼性に関する条件である。低重み設定条件には「第2の演算位置の信頼性=低」が定められており、高重み設定条件には「第2の演算位置の信頼性=高」が定められている。第2のカルマンフィルター処理で演算された第2の演算位置の信頼性が低い場合は、第2の演算位置とINS演算位置との差分として算出される第2の演算位置誤差“P2err”を重視するように、第1の演算位置誤差“P1err”に対する重み“α”を小さくする。
【0084】
例えば、移動体の速度はゼロであるか微小値であるにも関わらず第2の演算位置が不連続的に変化している場合や、第2の演算位置に突発的な位置飛びが発生した場合に、第2の演算位置の信頼性は低いと判定する。
【0085】
条件“D”は、時刻情報の信頼性に関する条件である。低重み設定条件には「時刻情報の信頼性=高」が定められており、高重み設定条件には「時刻情報の信頼性=低」が定められている。時刻情報の信頼性が低いと、GPSユニット3Aにより演算されるGPS演算位置の信頼性が低下する。そのため、条件“A”と同様に、第1の演算位置誤差“P1err”に対する重み“α”を小さくする。
【0086】
例えば、GPSの時刻同期誤差が所定の閾値を超えている(或いは閾値以上)場合に、時刻情報の信頼性は低いと判定する。
【0087】
上記の複数の条件を用いて重み“α”を設定する。まず、複数の条件それぞれについて、判定項目の信頼性を数値化する。例えば、判定項目の信頼性が最も低い状態を信頼度“0”、信頼性が最も高い状態を信頼度“1”として、各判定項目の信頼度を「0〜1」の範囲で数値化する。
【0088】
そして、例えば次式(8)に従って、重み設定指標値“W”を算出する。
【数8】
但し、“k=kA,kB,kC,・・・”は、各々の条件“A,B,C,・・・”の信頼度に対する重みであり、“kA+kB+kC+・・・=Σk=1”である。単純化するのであれば“kA=kB=kC=・・・=1/N”としてもよい。但し、“N”は、重み設定に用いる条件の総数である。
【0089】
重み設定指標値“W”に基づいて、設定する重み“α”を決定する。例えば、重み設定指標値“W”が第1の閾値“θ1”よりも小さい(又は以下)場合は、重み“α”を低設定値とする(α=αlow)。また、重み設定指標値“W”が第2の閾値“θ2(>θ1)”よりも大きい(又は以上)場合は、重み“α”を高設定値とする(α=αhigh)。また、上記以外の場合には、重み“α”を中設定値とする(α=αmiddle)。
【0090】
図4の第1の重み設定条件と、図5の第2の重み設定条件とは、それぞれ単体で用いてもよいし、併用してもよい。つまり、測位環境に基づいて重みを設定して加重平均することも可能であるし、GPSユニット3Aの計測結果の信頼性等に基づいて重みを設定して加重平均することも可能であるし、これらの条件を併用して重みを設定して加重平均することも可能である。条件を併用する場合は、第1の重み設定条件の判定結果と第2の重み設定条件の判定結果とをAND条件又はOR条件として、重み“α”を設定することとしてもよい。
【0091】
また、第1の重み設定条件を第2の重み設定条件に含めて判定を行うことも可能である。具体的には、例えば、測位環境が最も良好な状態(例えばオープンスカイ環境)を“1”、測位環境が最も悪い状態(例えばアーバンキャニオン環境)を“0”として、測位環境の良否を数値化する。そして、数値化した測位環境の良否を含めて、式(8)の重み設定指標値“W”を算出することとしてもよい。
【0092】
1−3.INS演算誤差推定方法
次に、INS演算誤差の推定方法を説明する。平均位置誤差をINS演算誤差に変換する方法としては、例えばカルマンフィルターを用いることができる。
【0093】
最初に、次式(9)に従って、観測量“Z2”と予測した観測量“H22X2”との差分“V2”を算出する。
【数9】
【0094】
式(9)において、観測量“Z2”は平均位置誤差“avePerr”である。すなわち、“Z2=avePerr”である。また、“H22X2”は観測量“Z2”の予測値であり、平均位置誤差“avePerr”の予測値に相当する。つまり、式(2)で与えられる状態“X2”に観測行列“H22”を作用させて平均位置誤差“avePerr”を予測することを示す式である。観測行列“H22”は、状態“X2”から観測量“Z2”への変換行列である。
【0095】
次に、次式(10)及び(11)に従って、カルマンゲイン“K12”及び“K22”を算出する。
【数10】
【数11】
【0096】
“K12”は差分“V2”から状態“X1”を演算するためのカルマンゲインであり、“K22”は差分“V2”から状態“X2”を演算するためのカルマンゲインである。また、“R2”は観測量“Z2”の観測誤差(観測ノイズ)である。
【0097】
そして、上記のカルマンゲイン“K12”及び“K22”を用いて、状態“X1”及び“X2”を、次式(12)及び(13)に従って算出する。
【数12】
【数13】
【0098】
式(12)に従って算出された状態“X1”の成分のうち、速度誤差及び姿勢角誤差を、推定速度誤差“Verr”及び推定姿勢角誤差“Aerr”として第1のカルマンフィルター処理部5Aにフィードバックする。また、式(13)に従って算出された状態“X2”の成分である位置誤差を、推定位置誤差“Perr”として第1のカルマンフィルター処理部5Aにフィードバックする。また、カルマンゲイン“K12”及び“K22”を第1のカルマンフィルター処理部5Aにフィードバックする。
【0099】
1−4.フィルター係数調整方法
次に、フィルター係数の調整方法を説明する。フィルター係数算出部93は、INS演算誤差推定部91から入力したINS演算誤差(推定位置誤差“Perr”、推定速度誤差“Verr”及び推定姿勢角誤差“Aerr”)やカルマンゲイン“K12”及び“K22”を用いて、フィルター係数を算出する。
【0100】
第1に、フィルター係数算出部93は、INS演算誤差推定部91から入力した推定速度誤差“Verr”及び推定姿勢角誤差“Aerr”を、状態“X1”のうちの対応する成分(速度誤差“(δVE,δVN,δVU)”、姿勢角誤差“(Ψx,Ψy,Ψz)”)に加味して、状態“X1”を算出・更新する。また、INS演算誤差推定部91から入力した推定位置誤差“Perr”を状態“X2”の各成分(位置誤差“(δPE,δPN,δPU)”)に加味して、状態“X2”を算出・更新する。
【0101】
第2に、フィルター係数算出部93は、カルマンゲイン“K12”及び“K22”を用いて、例えば次式(14)〜(17)に従って誤差共分散行列“P11”,“P22”,“P21”,“P12”をそれぞれ算出・更新する。
【数14】
【数15】
【数16】
【数17】
【0102】
2.実験結果
図6及び図7は、上記の位置算出方法を用いて位置算出を行った実験結果の一例を示す図である。第1の位置算出装置1Aを自動車に設置し、都市部の道路を自動車で走行する実験を行った。走行した都市部は高層ビルが数多く存在するマルチパス環境である。図6及び図7の都市部の道路を反時計回りに周回して位置を算出し、その軌跡を描いてみた。スタート,ゴール地点は、図面中央下部である。
【0103】
図6(1)は、自動車の真の軌跡(参照軌跡)である。図6(2)は、GPSユニット3Aの出力であるGPS演算位置の軌跡である。図6(3)は、第2のカルマンフィルター処理部7Aの出力である第2の演算位置の軌跡である。
【0104】
図7(1)は、演算係数の調整を行わない場合の第1のカルマンフィルター処理部5Aの出力である第1の演算位置の軌跡(演算係数調整なし)である。図7(2)は、演算係数の調整は行ったが、重み“α”の設定を行わなかった場合の第1の演算位置の軌跡(演算係数調整あり、重み設定なし)である。図7(3)は、演算係数の調整及び重み“α”の設定を両方とも行った場合の第1の演算位置の軌跡(演算係数調整あり、重み設定あり)である。
【0105】
最初に、図6(2)のGPS演算位置の軌跡を見ると、所々に大きく蛇行しており、位置誤差が非常に大きくなっていることがわかる。これは、マルチパスの影響によりGPSの演算精度が低下したことによるものである。図6(3)の第2の演算位置の軌跡を見ると、GPS演算位置の軌跡と比べると滑らかな軌跡を描いているが、それでもやはり、図6(1)の真の軌跡に沿った軌跡とはなっていない。
【0106】
次に、図7(1)の第1の演算位置の軌跡(演算係数調整なし)を見ると、点線部分S1において、真の軌跡に対してバイアスがかかったような軌跡が得られている。これに本実施形態の演算係数の調整を追加すると、図7(2)の結果が得られる。この図7(2)の第1の演算位置の軌跡(演算係数調整あり、重み設定なし)を見ると、演算係数の調整により位置算出精度が改善されていることがわかる。しかし、それでもなお、点線部分S2において真の軌跡からの位置ズレが生じている。
【0107】
これにさらに本実施形態の重み“α”の設定を追加すると、図7(3)の結果が得られる。この図7(3)の第1の演算位置の軌跡(演算係数調整あり、重み設定あり)を見ると、図6(1)の真の軌跡に沿った正確な軌跡が得られていることがわかる。特に、図7(1)の点線部分S1や図7(2)の点線部分S2に対応する部分についても位置算出精度が改善されている。この実験結果から、本実施形態の位置算出方法が有効であることが実証された。
【0108】
3.実施例
次に、上記の位置算出装置を備えた電子機器の実施例について説明する。ここでは、位置算出装置を具備するカーナビゲーション装置の実施例を説明する。但し、本発明を適用可能な実施例が以下説明する実施例に限定されるわけではないことは勿論である。
【0109】
3−1.システム構成
図8は、本実施例におけるナビゲーションシステム1000のシステム構成の説明図である。ナビゲーションシステム1000は、移動体の一種である四輪自動車(以下、単に「自動車」と称す。)に、位置算出装置1を具備したカーナビゲーション装置100が設置されてなる。
【0110】
カーナビゲーション装置100は、自動車に設置され、自動車の運転者に対するナビゲーションを行う電子機器である。カーナビゲーション装置100は、INSユニット2Aと、GPSユニット3Aとを備える。
【0111】
カーナビゲーション装置100は、INSユニット2Aから入力したINS演算結果と、GPSユニット3Aから入力したGPS演算結果とを用いて、原理で説明した位置算出方法に従って自動車の位置を算出する。そして、算出位置をプロットしたナビゲーション画面を生成して、表示部30であるディスプレイに表示させる。
【0112】
3−2.機能構成
図9は、カーナビゲーション装置100の機能構成の一例を示すブロック図である。カーナビゲーション装置100は、INSユニット2Aと、GPSユニット3Aと、処理部10と、操作部20と、表示部30と、通信部40と、記憶部50とを備える。
【0113】
処理部10は、記憶部50に記憶されているシステムプログラム等の各種プログラムに従ってカーナビゲーション装置100の各部を統括的に制御する制御装置であり、CPU(Central Processing Unit)等のプロセッサーを有して構成される。処理部10は、記憶部50に記憶されたナビゲーションプログラム51に従ってナビゲーション処理を行い、自動車の現在位置を指し示した地図を表示部30に表示させる。
【0114】
操作部20は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号を処理部10に出力する。この操作部20の操作により、目的地の入力等の各種指示入力がなされる。
【0115】
表示部30は、LCD(Liquid Crystal Display)等により構成され、処理部10から入力される表示信号に基づいた各種表示を行う表示装置である。表示部30には、ナビゲーション画面等が表示される。
【0116】
通信部40は、処理部10の制御に従って、装置内部で利用される情報をインターネット等の通信ネットワークを介して外部とやりとりするための通信装置である。この通信には、公知の無線通信技術を適用可能である。
【0117】
記憶部50は、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の記憶装置によって構成され、カーナビゲーション装置100のシステムプログラムや、ナビゲーション機能等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【0118】
記憶部50には、プログラムとして、処理部10により読み出され、ナビゲーション処理(図10参照)として実行されるナビゲーションプログラム51が記憶されている。ナビゲーションプログラム51は、INS演算誤差推定処理(図11参照)として実行されるINS演算誤差推定プログラム511をサブルーチンとして含む。
【0119】
また、記憶部50には、データとして、例えば、重み設定条件テーブル53と、INS演算結果55と、GPS演算結果56と、第1の演算結果57と、第2の演算結果58と、演算係数59とが記憶される。
【0120】
重み設定条件テーブル53は、第1の重み設定条件テーブル(図4参照)や第2の重み設定条件テーブル(図5参照)といった重み設定用の条件が定められたテーブルである。
【0121】
3−3.処理の流れ
図10は、処理部10が、記憶部50に記憶されたナビゲーションプログラム51に従って実行するナビゲーション処理の流れを示すフローチャートである。
【0122】
先ず、処理部10は、INSユニット2A及びGPSユニット3Aから、INS演算結果55及びGPS演算結果56の取得を開始する(ステップA1)。そして、処理部10は、第1のカルマンフィルター処理を実行する(ステップA3)。
【0123】
第1のカルマンフィルター処理では、前回のINS演算誤差推定処理(ステップA9)の推定結果を用いてフィルター係数を調整し、記憶部50の演算係数59を更新する。具体的には、原理で説明したように、推定したINS演算誤差を用いて状態“X”を調整するとともに、例えば式(14)〜(17)に従って誤差共分散“P”を調整する。そして、調整したフィルター係数を用いてカルマンフィルター処理を行い、その演算結果で記憶部50の第1の演算結果57を更新する。
【0124】
次いで、処理部10は、第1のカルマンフィルター処理で演算した演算位置に対するマップマッチング処理等を行い、その結果で表示部30のナビゲーション画面を表示更新する(ステップA5)。
【0125】
その後、処理部10は、第2のカルマンフィルター処理を実行する(ステップA7)。処理部10は、第2のカルマンフィルター処理の演算結果で記憶部50の第2の演算結果58を更新する。そして、処理部10は、記憶部50に記憶されたINS演算誤差推定プログラム511に従ってINS演算誤差推定処理を行う(ステップA9)。
【0126】
図11は、INS演算誤差推定処理の流れを示すフローチャートである。
先ず、処理部10は、重み設定処理を行う(ステップB1)。具体的には、記憶部50に記憶されている重み設定条件テーブル53を参照して、原理で説明した手法に従って重み“α”を設定する。
【0127】
次いで、処理部10は、位置誤差加重平均処理を行う(ステップB3)。具体的には、第1のカルマンフィルター処理で演算した第1の演算位置誤差“P1err”と、第2のカルマンフィルター処理で演算した第2の演算位置誤差“P2err”とを、ステップB1で設定した重み“α”を用いて式(7)に従って加重平均して、平均位置誤差“avePerr”を算出する。
【0128】
その後、処理部10は、誤差変換処理を行う(ステップB5)。具体的には、ステップB3で算出した平均位置誤差“avePerr”を、式(9)〜式(13)に従ってINS演算誤差に変換する。そして、処理部10は、INS演算誤差推定処理を終了する。
【0129】
図10のナビゲーション処理に戻り、INS演算誤差推定処理を行った後、処理部10は、処理を終了するか否かを判定する(ステップA11)。例えば、操作部20を介してユーザーによりナビゲーションの終了指示操作がなされた場合に、ナビゲーション処理を終了すると判定する。
【0130】
処理を終了しないと判定した場合は(ステップA11;No)、処理部10は、ステップA3に戻る。また、処理を終了すると判定した場合は(ステップA11;Yes)、ナビゲーション処理を終了する。
【0131】
4.作用効果
本実施形態によれば、位置算出装置1において、移動体に設置された慣性測位用ユニット2の計測結果を用いて、少なくとも移動体の位置を演算する第1の演算処理が第1の演算処理部5により実行される。また、第1の演算処理の結果と、移動体に設置された衛星測位用ユニット3の計測結果とを用いて、移動体の位置を演算する第2の演算処理が第2の演算処理部7により実行される。そして、第1の演算処理の結果と、第2の演算処理の結果とを用いて、第1の演算処理に係る演算係数が演算係数調整部9により調整される。
【0132】
例えば、位置算出装置1を適用した第1の位置算出装置1Aでは、第1のカルマンフィルター処理部5Aにおいて、INSユニットの演算結果(INS演算結果)を入力とし、GPSユニット3Aの演算速度(GPS演算速度)を観測量とするカルマンフィルター処理が実行される。また、第2のカルマンフィルター処理部7Aにおいて、第1のカルマンフィルター処理部5Aの演算結果(第1の演算結果)を入力とし、GPSユニット3Aの演算位置(GPS演算位置)を観測量とするカルマンフィルター処理が実行される。
【0133】
加減算部8では、INS演算位置と第2の演算位置との差分が、第2の演算位置誤差として算出される。INS演算誤差推定部91では、重み設定部913により、第1の演算位置誤差と第2の演算位置誤差とを加重平均する際の重みが設定される。そして、第1の演算位置誤差と第2の演算位置誤差とが、位置誤差加重平均部911により加重平均される。そして、加重平均結果である平均位置誤差を用いて、誤差変換部915により平均位置誤差がINS演算誤差に変換され、その変換結果が第1のカルマンフィルター処理部5Aにフィードバックされる。
【0134】
重み設定部913は、例えば、測位環境に基づき定められた第1の重み設定条件や、GPS演算位置の信頼性、GPSメジャメント情報の信頼性、第2の演算位置の信頼性、時刻情報の信頼性といった複数の要素に基づき定められた第2の重み設定条件に従って、加重平均の重みを設定する。これにより、加重平均の重みを適正化し、INS演算位置に含まれる誤差を適切に推定することができる。
【0135】
また、誤差変換部915は、第1のカルマンフィルター処理部5Aから入力した誤差共分散と、位置誤差加重平均部911から入力した平均位置誤差とを用いて、カルマンフィルターを利用した変換演算を行って、INS演算誤差を推定する。カルマンフィルターを利用することで、平均位置誤差からINS演算誤差を適切に推定することができる。
【0136】
また、フィルター係数算出部93は、INS演算誤差推定部91により推定されたINS演算誤差やカルマンゲインを用いて、第1のカルマンフィルター処理で用いるフィルター係数を算出・調整する。例えば、第1のカルマンフィルター処理で用いる状態(状態ベクトル)や誤差共分散(誤差共分散行列)を算出・調整する。このようにして調整したフィルター係数を用いて第1のカルマンフィルター処理を行うことで、移動体の位置を高い正確性で求めることが可能となる。
【0137】
5.変形例
本発明を適用可能な実施例は、上記の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明するが、上記の実施例と同一の構成要素については同一の符号を付して説明を省略し、上記の実施例とは異なる部分を中心に説明する。
【0138】
5−1.ユニット
上記の実施形態では、衛星測位用ユニット3として、GPSを適用したGPSユニット3Aを例に挙げて説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星測位システムを適用したユニットとしてもよいことは勿論である。
【0139】
また、上記の実施形態では、慣性測位用ユニット2として、INSユニット2Aを適用した場合を例に挙げて説明したが、INSメジャメント情報(加速度や角速度)を計測する慣性センサーや慣性計測ユニット(IMU)を慣性測位用ユニット2としてもよい。この場合は、慣性測位用ユニット2により計測されたINSメジャメント情報を入力Uとして、第1の演算処理部5が第1の演算処理を行うように構成すればよい。
【0140】
5−2.演算処理
第1の演算処理部5及び第2の演算処理部7が行う演算処理は、カルマンフィルター処理に限定されるわけではない。例えば、第2の演算処理について、シグマ点(シグマポイント)を利用したシグマポイントフィルター処理や、回帰フィルター処理を適用することとしてもよい。
【0141】
5−3.座標系
上記の実施形態では、INSユニット2Aは、移動体の位置、速度及び姿勢角をENU座標系で演算するものとして説明したが、NED座標系や、ECEF座標系で演算することとしてもよいことは勿論である。また、第1の演算処理や第2の演算処理についても、ENU座標系で演算するのではなく、NED座標系やECEF座標系で演算してもよい。
【0142】
5−4.重み設定条件
上記の実施形態で例示した重み設定条件はあくまでも一例であり、適宜追加/削除可能である。例えば、INSユニット2Aの演算結果の信頼性に基づく条件を定めておいてもよい。INSユニット2Aが有する慣性センサー(ジャイロセンサーや加速度センサー)の計測結果に大きな誤差が混入すると、INSユニット2Aの演算精度が低下する。この場合、INS演算結果を入力とする第1の演算処理の演算精度が低下する。
【0143】
その結果、第1の演算処理で演算される第1の演算位置誤差“P1err”には、その影響が顕著に現れる。そこで、INSユニット2Aの演算結果の信頼性が低い場合は、第1の演算位置誤差“P1err”を重視して加重平均するように、第1の演算位置誤差“P1err”に対する重み“α”を大きくすると効果的である。この場合は、高重み設定条件として「INSユニットの信頼性=低」を定めておけばよい。
【0144】
また、上記の実施形態では、第2の重み設定条件に関して、複数の条件“A,B,C,D,・・・”を組み合わせて重み“α”を設定する方法を説明した。しかし、複数の条件“A,B,C,D,・・・”をそれぞれ単体で用いて重み“α”を設定するといったことも当然に可能である。
【0145】
5−5.処理主体
上記の実施形態では、INSユニット2AがINS演算を行い、GPSユニット3AがGPS演算を行うものとして説明した。しかし、電子機器の処理部10がINS演算やGPS演算を実行する構成としてもよい。
【0146】
この場合は、INSユニット2Aは、INSメジャメント情報(加速度や角速度等)を出力する。また、GPSユニット3Aは、GPSメジャメント情報(コード位相やドップラー周波数、擬似距離、擬似距離変化率等)を出力する。
【0147】
そして、電子機器の処理部10は、INSユニット2Aから入力したINSメジャメント情報を用いてINS演算を行うとともに、GPSユニット3Aから入力したGPSメジャメント情報を用いてGPS演算を行う。そして、処理部10は、INS演算結果及びGPS演算結果を用いて、第1及び第2の演算処理を行う。
【0148】
5−6.電子機器
上記の実施例では、四輪自動車に搭載するナビゲーション装置に本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、二輪自動車に搭載するナビゲーション装置に適用してもよいし、携帯型ナビゲーション装置に適用することとしてもよい。
【0149】
また、ナビゲーション以外の用途の電子機器についても本発明を同様に適用可能であることは勿論である。例えば、携帯型電話機やパソコン、PDA(Personal Digital Assistant)といった他の電子機器についても本発明を同様に適用して、当該電子機器の位置算出を実現することが可能である。
【符号の説明】
【0150】
1、1A 位置算出装置、 2 慣性測位用ユニット、 2A INSユニット、 3 衛星測位用ユニット、 3A GPSユニット、 5 第1の演算処理部、 5A 第1のカルマンフィルター処理部、 7 第2の演算処理部、 7A 第2のカルマンフィルター処理部、 9 演算係数調整部、 9A カルマンフィルター係数調整部、 10 処理部、 20 操作部、 30 表示部、 40 通信部、 50 記憶部、 100 カーナビゲーション装置、 1000 ナビゲーションシステム
【技術分野】
【0001】
本発明は、慣性測位用ユニット及び衛星測位用ユニットそれぞれの計測結果を併用した位置算出方法等に関する。
【背景技術】
【0002】
いわゆるシームレス測位やモーションセンシング、姿勢制御など様々な分野において、慣性センサーの活用が注目されている。慣性センサーとしては、加速度センサーやジャイロセンサー、圧力センサー、地磁気センサーなどが広く知られている。慣性センサーの検出結果を利用して慣性航法演算を行う慣性航法システム(以下、「INS(Inertial Navigation System)」と称する。)も考案されている。
【0003】
INSでは、慣性センサーの検出結果に含まれ得る種々の誤差成分に起因して位置算出の正確性が低下するという問題があり、位置算出の正確性を向上させるための様々な技術が考案されている。例えば、特許文献1には、INS演算結果を、GPS(Global Positioning System)を利用して補正する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2010/0019963号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
GPSを利用してINS演算結果を補正する技術は、GPS演算結果が正しいことを前提としている。特許文献1に開示された技術も同様である。しかし、GPS演算結果は、GPS衛星から受信したGPS衛星信号の信号強度、受信環境、GPS衛星の天空配置、マルチパスといった種々の要因により、演算結果の精度が低下する場合がある。
【0006】
GPS演算結果の精度が低下しているにも関わらず、特許文献1の技術のようにGPS演算結果を用いてINS演算結果を補正してしまうと、位置算出の正確性が低下するという問題があった。
【0007】
本発明は上述した課題に鑑みて為されたものであり、衛星測位用ユニット及び慣性測位用ユニットそれぞれの計測結果を併用して、位置をより正確に算出するための手法を提案することを目的とする。
【課題を解決するための手段】
【0008】
以上の課題を解決するための第1の形態は、移動体に設置された慣性測位用ユニットの計測結果を用いて、少なくとも前記移動体の位置を演算する第1の演算処理を実行することと、前記第1の演算処理の結果と、前記移動体に設置された衛星測位用ユニットの計測結果とを用いて、前記移動体の位置を演算する第2の演算処理を実行することと、前記第1の演算処理の結果と、前記第2の演算処理の結果とを用いて、前記第1の演算処理に係る演算係数を調整することと、を含む位置算出方法である。
【0009】
また、他の形態として、移動体に設置された慣性測位用ユニットの計測結果を用いて、少なくとも前記移動体の位置を演算する第1の演算処理を実行する第1の演算処理部と、前記第1の演算処理の結果と、前記移動体に設置された衛星測位用ユニットの計測結果とを用いて、前記移動体の位置を演算する第2の演算処理を実行する第2の演算処理部と、前記第1の演算処理の結果と、前記第2の演算処理の結果とを用いて、前記第1の演算処理に係る演算係数を調整する調整部と、を備えた位置算出装置を構成してもよい。
【0010】
この第1の形態等によれば、移動体に設置された慣性測位用ユニットの計測結果を用いて、少なくとも移動体の位置を演算する第1の演算処理を実行する。また、第1の演算処理の結果と、移動体に設置された衛星測位用ユニットの計測結果とを用いて、移動体の位置を演算する第2の演算処理を実行する。そして、第1の演算処理の結果と、第2の演算処理の結果とを用いて、第1の演算処理に係る演算係数を調整する。
【0011】
演算処理には、慣性測位用ユニットの計測結果を用いた第1の演算処理と、第1の演算処理の結果及び衛星測位用ユニットの計測結果を用いた第2の演算処理とがある。そして、第1の演算処理の結果と、第2の演算処理の結果とを用いて、第1の演算処理に係る演算係数を調整することで、第1の演算処理における位置算出の正確性を向上させることができる。
【0012】
また、第2の形態として、第1の形態の位置算出方法において、前記慣性測位用ユニットの計測結果には慣性測位位置が含まれ、前記第1の演算処理は、演算した第1の演算位置に内在する第1の位置誤差を推定する所定の誤差推定演算を含み、前記調整することは、前記第1の位置誤差と、前記第2の演算処理で求めた第2の演算位置とを用いて、前記慣性測位位置に内在する慣性測位誤差を推定することと、前記慣性測位誤差を用いて前記演算係数を調整することと、を含む、位置算出方法を構成することとしてもよい。
【0013】
この第2の形態によれば、所定の誤差推定演算を行って、第1の演算処理で演算した第1の演算位置に内在する第1の位置誤差を推定する。そして、第1の位置誤差と、第2の演算処理で求めた第2の演算位置とを用いて、慣性測位用ユニットの計測結果に含まれる慣性測位位置に内在する慣性測位誤差を推定する。第1の位置誤差と併せて第2の演算位置を用いることで、慣性測位誤差を適切に推定することができる。そして、当該慣性測位誤差を用いて第1の演算処理に係る演算係数を調整することで、第1の演算処理における位置算出の正確性を向上させることができる。
【0014】
また、第3の形態として、第2の形態の位置算出方法において、前記推定することは、前記慣性測位位置と前記第2の演算位置との差分を算出することと、前記第1の位置誤差と前記差分とを平均処理して前記慣性測位誤差を算出することと、を含む、位置算出方法を構成することとしてもよい。
【0015】
この第3の形態によれば、慣性測位位置と第2の演算位置との差分を算出する。そして、第1の位置誤差と当該差分とを平均処理することで、慣性測位誤差を適切に推定することができる。
【0016】
また、第4の形態として、第3の形態の位置算出方法において、前記平均処理は、測位環境と前記衛星測位用ユニットの計測結果の信頼性とのどちらか又は両方に基づいて、前記第1の位置誤差と前記差分との重みを設定して加重平均する処理である、位置算出方法を構成することとしてもよい。
【0017】
この第4の形態によれば、平均処理において、測位環境と衛星測位用ユニットの計測結果の信頼性とのどちらか又は両方に基づいて、第1の位置誤差と差分との重みを設定して加重平均する。これにより、測位環境や衛星測位用ユニットの計測結果の信頼性に基づいて、慣性測位誤差をより正確に推定することができる。
【0018】
また、第5の形態として、第1〜第4の何れかの形態の位置算出方法において、前記慣性測位用ユニットの計測結果には慣性測位位置が含まれ、前記第1の演算処理は、前記慣性測位位置を入力とするカルマンフィルター処理である、位置算出方法を構成することとしてもよい。
【0019】
この第5の形態によれば、第1の演算処理として慣性測位位置を入力とするカルマンフィルター処理を行うことで、移動体の位置等を簡易且つ適切に求めることができる。
【0020】
また、第6の形態として、第5の形態の位置算出方法において、前記衛星測位用ユニットの計測結果には速度が含まれ、前記カルマンフィルター処理は、前記速度を観測量とする処理である、位置算出方法を構成してもよい。
【0021】
この第6の形態によれば、第5の形態のカルマンフィルター処理において、さらに衛星測位用ユニットの計測結果に含まれる速度を観測量とすることで、移動体の位置等をより正確に求めることができる。
【0022】
また、第7の形態として、第1〜第6の何れかの形態の位置算出方法において、前記衛星測位用ユニットの計測結果には衛星測位位置が含まれ、前記第2の演算処理は、前記第1の演算処理の結果を入力とし、前記衛星測位位置を観測量とするカルマンフィルター処理である、位置算出方法を構成することとしてもよい。
【0023】
この第7の形態によれば、第2の演算処理として、第1の演算処理の結果を入力とし、衛星測位用ユニットの計測結果に含まれる衛星測位位置を観測量とするカルマンフィルター処理を実行することで、移動体の位置を簡易且つ適切に求めることができる。
【図面の簡単な説明】
【0024】
【図1】位置算出装置の構成図。
【図2】第1の位置算出装置の構成図。
【図3】第1のカルマンフィルター処理の入出力データの説明図。
【図4】第1の重み設定条件の説明図。
【図5】第2の重み設定条件の説明図。
【図6】位置算出を行った実験結果の一例を示す図。
【図7】位置算出を行った実験結果の一例を示す図。
【図8】ナビゲーションシステムのシステム構成図。
【図9】カーナビゲーション装置の機能構成を示すブロック図。
【図10】ナビゲーション処理の流れを示すフローチャート。
【図11】INS演算誤差推定処理の流れを示すフローチャート。
【発明を実施するための形態】
【0025】
1.原理
1−1.構成
図1は、本実施形態における位置算出装置1の主要構成図である。位置算出装置1は、移動体に備えられ、当該移動体の位置を算出する装置(システム)である。移動体は、自動車やオートバイ、自転車、船、電車といった物の他、人間自体であってもよい。人間が位置算出装置1を携帯し、人間自身が位置算出装置1を備えることとしてもよい。
【0026】
本明細書で参照する図面では、ユニット(モジュール)を二重線で図示し、ユニットの計測結果を利用して演算処理を行う処理ブロックを一重線で図示することで、両者を区別する。
【0027】
位置算出装置1には、ユニット(モジュール)として、慣性測位用ユニット2と、衛星測位用ユニット3とが含まれる。また、位置算出装置1は、主要な処理ブロックとして、第1の演算処理部5と、第2の演算処理部7と、演算係数調整部9とを有する。なお、ユニットと処理ブロックとで位置算出装置1を構成してもよいし、ユニットを除外して処理ブロックのみで位置算出装置1を構成してもよい。
【0028】
慣性測位用ユニット2は、慣性航法を利用して測位を行うためのユニットである。慣性測位用ユニット2は、加速度センサーやジャイロセンサー等の慣性センサーや、慣性センサーをパッケージ化した慣性計測ユニット(IMU(Inertial Measurement Unit))、慣性計測ユニット及び演算処理部をパッケージ化した慣性航法システム(INS(Inertial Navigation System))等を適用したユニットである。
【0029】
衛星測位用ユニット3は、衛星測位システムを利用して測位を行うためのユニットであり、例えば衛星測位システムの一種であるGPS(Global Positioning System)を適用可能である。
【0030】
第1の演算処理部5は、慣性測位用ユニット2の計測結果と、所与の観測量とを併用して、予め定められた第1の演算処理を行って、少なくとも移動体の位置を算出する。本実施形態において、第1の演算処理に好適な適用例は、カルマンフィルター処理である。
【0031】
第2の演算処理部7は、第1の演算処理部5の演算結果である第1の演算結果と、衛星測位用ユニット3の計測結果とを用いて、予め定められた第2の演算処理を行って、移動体の位置を算出する。本実施形態において、第2の演算処理に好適な適用例は、カルマンフィルター処理やシグマポイントフィルター処理、回帰フィルター処理である。
【0032】
演算係数調整部9は、第1の演算処理部5から入力した第1の演算結果と、第2の演算処理部7から入力した第2の演算結果とを用いて、第1の演算処理に係る演算係数を調整する。第1の演算処理部5は、演算係数調整部9により調整された演算係数を用いて第1の演算処理を行う。
【0033】
図2は、図1の位置算出装置1を適用した第1の位置算出装置1Aの構成図である。第1の位置算出装置1Aは、INSユニット2Aと、GPSユニット3Aと、第1のカルマンフィルター処理部5Aと、第2のカルマンフィルター処理部7Aと、カルマンフィルター係数調整部9Aとを有する。
【0034】
第1の位置算出装置1Aは、慣性測位用ユニット2としてINSユニット2Aを適用し、衛星測位用ユニット3としてGPSユニット3Aを適用したシステムである。また、第1及び第2の演算処理部5,7として、第1及び第2のカルマンフィルター処理部5A,7Aをそれぞれ適用したシステムである。
【0035】
INSユニット2Aは、IMUがローカル座標系で計測した加速度や角速度等のINSメジャメント情報を出力可能に構成されている。また、INSユニット2Aは、INSメジャメント情報を用いた慣性航法演算を行って、移動体の位置や速度、姿勢角を演算して出力可能に構成されている。本実施形態では、INSユニット2Aは、INS演算位置(慣性測位位置)、INS演算速度及びINS演算姿勢角を絶対座標系で演算して出力する。
【0036】
GPSユニット3Aは、GPS衛星から発信されているGPS衛星信号を受信して、コード位相やドップラー周波数、擬似距離、擬似距離変化率等のGPSメジャメント情報を計測して出力可能に構成されている。また、GPSユニット3Aは、GPSメジャメント情報を用いたGPS演算を行って、移動体の位置や速度を演算して出力可能に構成されている。本実施形態では、GPSユニット3Aは、GPS演算位置(衛星測位位置)及びGPS演算速度を絶対座標系で演算して出力する。
【0037】
ローカル座標系は、INSユニット2Aが有する慣性センサーに対応付けられたローカルな座標系(センサー座標系)である。それに対し、絶対座標系は、移動体の移動空間を定める座標系である。例えば、北東下座標系として知られるNED(North East Down)座標系や、東北上座標系として知られるENU(East North Up)座標系、地球中心地球固定座標系として知られるECEF(Earth Centered Earth Fixed)座標系といった座標系を適用可能である。
【0038】
以下の数式では、INSユニット2Aは、移動体の位置、速度及び姿勢角をENU座標系で演算して出力し、GPSユニット3Aは、移動体の位置及び速度をECEF座標系で演算して出力するものとして説明する。また、第1及び第2のカルマンフィルター処理では、ENU座標系で演算するものとして説明する。また、加速度や速度といった諸量は、実際には大きさ及び方向を持ったベクトルとして表される。しかし、本明細書では、ベクトルの文言を省略して、簡単に加速度や速度として説明する。
【0039】
第1のカルマンフィルター処理部5Aは、カルマンフィルターの理論に基づく演算処理を行って、移動体の位置や速度、姿勢角等を演算する。例えば、INSユニット2Aから入力したINS演算位置、INS演算速度及びINS演算姿勢角を入力U(制御入力)とする。また、GPSユニット3Aから入力したGPS演算速度や、移動体の運動モデルに基づき定められる所与の制約条件を観測量Zとする。そして、カルマンフィルターの予測演算(時刻更新)及び補正演算(観測更新)を行って、状態推定値を求める。
【0040】
第1のカルマンフィルター処理では、推定対象とする移動体の状態“X”を、例えば次式(1)及び(2)のように設定する。
【数1】
【数2】
【0041】
式(1)で表される状態“X1”において、“(δVE,δVN,δVU)”は、ENU座標系で演算したINS演算速度の誤差である。“(Ψx,Ψy,Ψz)”は、ローカル座標系で演算したINS演算姿勢角の誤差である。“(bax,bay,baz)”は、ローカル座標系で計測した加速度のバイアスである。“(bgx,bgy,bgz)”は、ローカル座標系で計測した角速度のバイアスである。また、“d”は、GPSユニット3Aの内部クロックのドリフト(クロックドリフト)である。
【0042】
また、式(2)で表される状態“X2”において、“(δPE,δPN,δPU)”は、ENU座標系で演算したINS演算位置の誤差である。
【0043】
式(1)及び(2)から分かるように、本実施形態における第1のカルマンフィルター処理は、INSユニット2Aの演算結果に含まれる誤差を推定する誤差推定型のカルマンフィルター処理である。つまり、INSユニット2Aの演算結果に含まれる誤差を、状態“X1”及び“X2”として推定する。
【0044】
また、第1のカルマンフィルター処理では、状態“X1”の各成分の誤差の共分散を含む誤差共分散行列“P11”と、状態“X2”の各成分の誤差の共分散を含む誤差共分散行列“P22”と、状態“X1”の各成分に対する状態“X2”の各成分の誤差の共分散を含む誤差共分散行列“P21”と、状態“X2”の各成分に対する状態“X1”の各成分の誤差の共分散を含む誤差共分散行列“P12”と、を併せて演算する。
【0045】
第1のカルマンフィルター処理の補正演算では、GPSユニット3Aにより演算された速度(以下、「GPS演算速度」と称す。)を観測量“Z”として、予測演算で予測された状態“X”を補正する。
【0046】
具体的には、例えば次式(3)で与えられる観測量“Z”を用いて補正演算を行う。
【数3】
但し、“(VE,VN,VU)INS”は、INSユニット2AがENU座標系で演算したINS演算速度である。また、“(VX,VY,VZ)GPS”は、GPSユニット3AがECEF座標系で演算したGPS演算速度である。また、“CECEFENU”は、ECEF座標系からENU座標系への座標変換行列である。
【0047】
さらに、第1のカルマンフィルター処理では、GPS演算速度とは別に、移動体の運動モデルに基づく制約条件を観測量“Z”として適用可能に構成されている。具体的には、移動体の停止時における速度制約条件である「停止時速度制約条件」と、移動体の移動時における速度制約条件である「移動時速度制約条件」との2種類の速度制約条件を適用可能である。
【0048】
停止時速度制約条件(第1の制約条件)は、移動体の停止時に適用可能な制約条件である。移動体が停止しているのであれば、理想的には移動体の速度はゼロである。従って、移動体が停止していると判定した場合は「移動体の各軸の速度成分=0」を観測量“Z”として与えることができる。
【0049】
移動時速度制約条件(第2の制約条件)は、移動体の移動時に適用可能な制約条件である。例えば、移動体として四輪自動車を想定した場合、通常、四輪自動車はジャンプや横滑りすることはないと仮定することができる。従って、移動体が移動していると判定した場合は「移動体の縦横方向の速度成分=0」を観測量“Z”として与えることができる。四輪自動車以外の移動体についても、当該移動体の移動方向や速度の大きさに関する制約に基づいて、移動時制約条件を適宜設定可能である。
【0050】
第1のカルマンフィルター処理で求めた状態“X1”について、その速度誤差“(δVE,δVN,δVU)”を用いてINS演算速度を補正し、その結果を第1の演算速度として第2のカルマンフィルター処理部7Aに出力する。クロックドリフト“d”は、第1の演算クロックドリフトとして第2のカルマンフィルター処理部7Aに出力する。
【0051】
また、加速度バイアス“(bax,bay,baz)”及び角速度バイアス“(bgx,bgy,bgz)”をINSユニット2Aにフィードバックする。INSユニット2Aは、第1のカルマンフィルター処理部5Aから入力した加速度バイアス“(bax,bay,baz)”及び角速度バイアス“(bgx,bgy,bgz)”を用いて、加速度センサー及びジャイロセンサーを補償(キャリブレーション)する。
【0052】
また、第1のカルマンフィルター処理で求めた状態“X2”について、その位置誤差“(δPE,δPN,δPU)”を用いてINS演算位置を補正し、その結果を第1の演算位置として出力する。第1の演算位置は、最終的な移動体の位置として、各種のアプリケーション処理に利用される。
【0053】
また、第1のカルマンフィルター処理では、所定の誤差推定演算を行って、第1の演算位置に内在する第1の演算位置誤差を推定する。具体的には、例えば次式(4)に従って第1の演算位置誤差“P1err”を算出・推定する。
【数4】
【0054】
式(4)において、“Δt”は、第1のカルマンフィルター処理の演算時間間隔である。状態“X1”の第1〜第3成分である速度誤差“(δVE,δVN,δVU)”に演算時間間隔“Δt”を乗算することで、その演算時間間隔での位置誤差の変化分を求める。そして、当該変化分を状態“X2”の位置誤差“(δPE,δPN,δPU)”に加算することで、第1の演算位置誤差“P1err”を算出する。
【0055】
第2のカルマンフィルター処理部7Aは、第1のカルマンフィルター処理部5Aから入力した第1の演算速度及び第1の演算クロックドリフトを入力Uとし、GPSユニット3Aから入力したGPS演算位置を観測量“Z”として、移動体の位置を演算する。第2のカルマンフィルター処理部7Aにより演算された位置は、第2の演算位置として加減算部8に出力される。
【0056】
第2のカルマンフィルター処理では、推定対象とする移動体の状態“X”を、例えば次式(5)のように設定する。
【数5】
但し、“(PE,PN,PU)”は、ENU座標系で表した移動体の位置である。“d”はクロックドリフトである。
【0057】
また、第2のカルマンフィルター処理では、観測量“Z”を、例えば次式(6)のように設定する。
【数6】
但し、“(PX,PY,PZ)GPS”は、ECEF座標系で表したGPS演算位置である。
【0058】
本実施形態において特徴的であるのは、第1のカルマンフィルター処理では、GPS演算位置を観測量“Z”とせず、GPS演算速度を観測量“Z”としている点である。その代わり、GPS演算位置は、第2のカルマンフィルター処理の観測量“Z”とする。これは、GPSでは種々の誤差要因が存在するため、GPS演算位置に大きな誤差が含まれ得ることを想定したためである。その典型例はマルチパス環境である。
【0059】
マルチパス環境でGPS演算を行うと、演算される位置の正確性が低下する。そのため、GPS演算位置とINS演算位置とを単純にカップリングしてしまうと、GPS演算位置の誤差に引きずられて、演算位置の正確性が低下するおそれがある。そこで、位置演算を、第1の演算処理(第1のカルマンフィルター処理)と第2の演算処理(第2のカルマンフィルター処理)とに分離し、第1の演算処理では、GPS演算位置を用いずに移動体の位置を演算することとした。
【0060】
また、GPSでは、移動体の位置と併せて、移動体の速度も演算することができる。速度は位置と比べてマルチパスの影響を受けにくく、INS演算結果とのカップリングにそれほど大きな影響を与えない。そこで、第1のカルマンフィルター処理では、GPS演算速度を観測量として用いて移動体の位置を演算することとした。
【0061】
加減算部8は、第2のカルマンフィルター処理部7Aから出力された第2の演算位置と、INSユニット2Aから出力されたINS演算位置との差分を算出する。便宜的に、この差分のことを「第2の演算位置誤差」と呼称する。加減算部8により算出された第2の演算位置誤差“P2err”は、カルマンフィルター係数調整部9Aに出力される。
【0062】
カルマンフィルター係数調整部9Aは、INS演算誤差推定部91及びフィルター係数算出部93を有し、第1のカルマンフィルター処理に係るフィルター係数を調整する。本実施形態では、フィルター係数算出部93を、第1のカルマンフィルター処理部5Aの機能部として図示・説明する。
【0063】
フィルター係数算出部93は、INS演算誤差推定部91により推定されたINS演算誤差を利用して、第1のカルマンフィルター処理に係るフィルター係数を算出する。調整するフィルター係数は、例えば、状態“X1”,“X2”、及び、誤差共分散行列“P11”,“P22”,“P21”,“P12”である。フィルター係数の調整方法については詳細に後述する。
【0064】
INS演算誤差推定部91は、INS演算結果に含まれる誤差であるINS演算誤差を推定する機能部であり、例えば、位置誤差加重平均部911と、重み設定部913と、誤差変換部915とを有する。
【0065】
位置誤差加重平均部911は、重み設定部913により設定された重みを用いて、第1の演算位置誤差“P1err”と第2の演算位置誤差“P2err”とを加重平均して、INSユニット2Aの演算位置誤差(慣性測位誤差)を算出する。具体的には、例えば次式(7)に従って平均位置誤差“avePerr”を算出する。
【数7】
但し、“α”は、第1の演算位置誤差“P1err”に対する重みであり、“0≦α≦1”である。第2の演算位置誤差“P2err”に対する重みは“1−α”である。
【0066】
重み設定部913は、測位環境やGPSユニット3Aの計測結果の信頼性といった複数の要素に基づいて、位置誤差加重平均部911の加重平均の重み“α”を設定する。重み設定方法については詳細に後述する。
【0067】
誤差変換部915は、第1のカルマンフィルター処理部5Aから入力した誤差共分散“P”を用いて、位置誤差加重平均部911から入力した平均位置誤差“avePerr”をINS演算誤差に変換する。INS演算誤差の変換方法についても詳細に後述する。
【0068】
図3は、第1のカルマンフィルター処理部5Aの入出力データの説明図である。状態“X”と、入力“U”と、観測量“Z”との対応関係のテーブルを図示している。カップリングには種々の方式が存在する。その中でも、ルーズカップリング(疎結合)と呼ばれる方式と、タイトカップリング(密結合)と呼ばれる方式とが一般的に用いられる。
【0069】
ルーズカップリング方式は、GPSとINSとの結び付きが比較的弱いカップリング方式である。この方式では、例えば、状態“X”をINS演算誤差(INS演算位置誤差、INS演算速度誤差、INS演算姿勢角誤差、INS加速度バイアス、INS角速度バイアス、クロックバイアス等)とする。また、入力“U”をINS演算結果(INS演算位置、INS演算速度、INS演算姿勢角等)とし、観測量“Z”をGPS演算結果(GPS演算速度等)や運動モデルに基づく制約条件(停止時又は移動時)とする。
【0070】
タイトカップリング方式は、GPSとINSとの結び付きが比較的強いカップリング方式である。この方式では、例えば、入力“U”及び状態“X”を上記と同様とし、観測量“Z”をGPSメジャメント情報(擬似距離変化率等)や運動モデルに基づく制約条件とする。
【0071】
上記の状態“X”、入力“U”、観測量“Z”の各成分は、適宜追加/削除可能である。例えば、状態“X”について、バイアス成分を削除して、INS演算位置誤差、INS演算速度誤差及びINS演算姿勢角誤差を状態“X”の成分としてもよい。また、観測量“Z”について、GPS演算速度又は擬似距離変化率と、運動モデルに基づく制約条件とを併用することとしてもよいし、何れか一方のみを用いることとしてもよい。
【0072】
1−2.重み設定方法
次に、重み“α”の設定方法を説明する。本実施形態では、比較的高い値として定められた高設定値“αhigh”と、中程度の値として定められた中設定値“αmiddle”と、比較的低い値として定められた低設定値“αlow”との3種類の値の何れかを重み“α”に設定する。これらの具体的な値は、適宜定めることとしてよい。重み“α”は「0〜1」の範囲で、「αhigh=0.9,αmiddle=0.5,αlow=0.1」といった値や、「αhigh=0.75,αmiddle=0.5,αlow=0.25」といった値を定めておくことができる。
【0073】
図4は、重み設定に係る第1の重み設定条件を定めた第1の重み設定条件テーブルの一例を示す図である。第1の重み設定条件テーブルには、低重み設定条件と、高重み設定条件とが対応付けて定められている。低重み設定条件は、重み“α”に低設定値“αlow”を設定するための条件である。高重み設定条件は、重み“α”に高設定値“αhigh”を設定するための条件である。低重み設定条件及び高重み設定条件の何れの条件も成立しない場合は、重み“α”に中設定値“αmiddle”を設定する。
【0074】
第1の重み設定条件は、測位環境に基づき定められた条件である。低重み設定条件には、測位環境がマルチパス環境であることが定められており、高重み設定条件には、測位環境がオープンスカイ環境であることが定められている。
【0075】
測位環境がマルチパス環境である場合は、間接波の影響により、観測される擬似距離に誤差が生ずる。そのため、GPSユニット3Aにより演算される位置の正確性が低下する。第2のカルマンフィルター処理部7AではGPS演算位置を観測量“Z”とするため、GPS演算位置の正確性が低いと、第2の演算位置にもその影響が現れる。
【0076】
この場合、第2の演算位置とINS演算位置との差分として算出される第2の演算位置誤差“P2err”は、マルチパスの影響を含む値となる。従って、測位環境がマルチパス環境である場合は、マルチパスの影響が顕著に反映された第2の演算位置誤差“P2err”を重視するために第2の演算位置誤差“P2err”に対する重み“1−α”を大きくする。これは、第1の演算位置誤差“P1err”に対する重み“α”を小さくすることに相当する。
【0077】
図5は、重み設定に係る第2の重み設定条件を定めた第2の重み設定条件テーブルの一例を示す図である。第2の重み設定条件テーブルには、条件の番号である条件Noと、低重み設定条件と、高重み設定条件とが対応付けて定められている。
【0078】
条件“A”は、GPS演算位置の信頼性に関する条件である。低重み設定条件には「GPS演算位置の信頼性=低」が定められており、高重み設定条件には「GPS演算位置の信頼性=高」が定められている。
【0079】
GPS演算位置の信頼性が低いと、第2のカルマンフィルター処理部7Aで演算される第2の演算位置の正確性が低下する。そのため、第2の演算位置とINS演算位置との差分として算出される第2の演算位置誤差“P2err”には、その影響が顕著に反映される。そこで、GPS演算位置の信頼性が低い場合には、第2の演算位置誤差“P2err”を重視するために、第1の演算位置誤差“P1err”に対する重み“α”を小さくする。
【0080】
GPS演算位置の信頼性は、GPS衛星信号の受信環境や信号強度、GPS衛星の天空配置、位置の急激な変化の検出といった複数の要素を総合的に考慮して判定することができる。例えば、GPS衛星の天空配置が良好でない場合(例えばDOP(Dilution Of Precision)値が大きい場合)や、大きな位置飛び(真の位置から大きく離れた位置が演算結果として得られること)が発生した場合、高度方向の急激な位置変化が発生した場合に、GPS演算位置の信頼性が低いと判定することができる。
【0081】
条件“B”は、GPSメジャメント情報の信頼性に関する条件である。低重み設定条件には「GPSメジャメント情報の信頼性=低」が定められており、高重み設定条件には「GPSメジャメント情報の信頼性=高」が定められている。GPSメジャメント情報の信頼性が低いと、演算されるGPS演算位置の信頼性が低下する。従って、この場合は条件“A”と同様に、第1の演算位置誤差“P1err”に対する重み“α”を小さくする。
【0082】
例えば、アーバンキャニオン環境等においてGPSメジャメント情報に突発的に異常値が混入したような場合や、擬似距離変化率(レンジレート)と擬似距離(シュードレンジ)との相関関係に矛盾が生じている場合に、GPSメジャメント情報の信頼性は低いと判定する。
【0083】
条件“C”は、第2の演算位置の信頼性に関する条件である。低重み設定条件には「第2の演算位置の信頼性=低」が定められており、高重み設定条件には「第2の演算位置の信頼性=高」が定められている。第2のカルマンフィルター処理で演算された第2の演算位置の信頼性が低い場合は、第2の演算位置とINS演算位置との差分として算出される第2の演算位置誤差“P2err”を重視するように、第1の演算位置誤差“P1err”に対する重み“α”を小さくする。
【0084】
例えば、移動体の速度はゼロであるか微小値であるにも関わらず第2の演算位置が不連続的に変化している場合や、第2の演算位置に突発的な位置飛びが発生した場合に、第2の演算位置の信頼性は低いと判定する。
【0085】
条件“D”は、時刻情報の信頼性に関する条件である。低重み設定条件には「時刻情報の信頼性=高」が定められており、高重み設定条件には「時刻情報の信頼性=低」が定められている。時刻情報の信頼性が低いと、GPSユニット3Aにより演算されるGPS演算位置の信頼性が低下する。そのため、条件“A”と同様に、第1の演算位置誤差“P1err”に対する重み“α”を小さくする。
【0086】
例えば、GPSの時刻同期誤差が所定の閾値を超えている(或いは閾値以上)場合に、時刻情報の信頼性は低いと判定する。
【0087】
上記の複数の条件を用いて重み“α”を設定する。まず、複数の条件それぞれについて、判定項目の信頼性を数値化する。例えば、判定項目の信頼性が最も低い状態を信頼度“0”、信頼性が最も高い状態を信頼度“1”として、各判定項目の信頼度を「0〜1」の範囲で数値化する。
【0088】
そして、例えば次式(8)に従って、重み設定指標値“W”を算出する。
【数8】
但し、“k=kA,kB,kC,・・・”は、各々の条件“A,B,C,・・・”の信頼度に対する重みであり、“kA+kB+kC+・・・=Σk=1”である。単純化するのであれば“kA=kB=kC=・・・=1/N”としてもよい。但し、“N”は、重み設定に用いる条件の総数である。
【0089】
重み設定指標値“W”に基づいて、設定する重み“α”を決定する。例えば、重み設定指標値“W”が第1の閾値“θ1”よりも小さい(又は以下)場合は、重み“α”を低設定値とする(α=αlow)。また、重み設定指標値“W”が第2の閾値“θ2(>θ1)”よりも大きい(又は以上)場合は、重み“α”を高設定値とする(α=αhigh)。また、上記以外の場合には、重み“α”を中設定値とする(α=αmiddle)。
【0090】
図4の第1の重み設定条件と、図5の第2の重み設定条件とは、それぞれ単体で用いてもよいし、併用してもよい。つまり、測位環境に基づいて重みを設定して加重平均することも可能であるし、GPSユニット3Aの計測結果の信頼性等に基づいて重みを設定して加重平均することも可能であるし、これらの条件を併用して重みを設定して加重平均することも可能である。条件を併用する場合は、第1の重み設定条件の判定結果と第2の重み設定条件の判定結果とをAND条件又はOR条件として、重み“α”を設定することとしてもよい。
【0091】
また、第1の重み設定条件を第2の重み設定条件に含めて判定を行うことも可能である。具体的には、例えば、測位環境が最も良好な状態(例えばオープンスカイ環境)を“1”、測位環境が最も悪い状態(例えばアーバンキャニオン環境)を“0”として、測位環境の良否を数値化する。そして、数値化した測位環境の良否を含めて、式(8)の重み設定指標値“W”を算出することとしてもよい。
【0092】
1−3.INS演算誤差推定方法
次に、INS演算誤差の推定方法を説明する。平均位置誤差をINS演算誤差に変換する方法としては、例えばカルマンフィルターを用いることができる。
【0093】
最初に、次式(9)に従って、観測量“Z2”と予測した観測量“H22X2”との差分“V2”を算出する。
【数9】
【0094】
式(9)において、観測量“Z2”は平均位置誤差“avePerr”である。すなわち、“Z2=avePerr”である。また、“H22X2”は観測量“Z2”の予測値であり、平均位置誤差“avePerr”の予測値に相当する。つまり、式(2)で与えられる状態“X2”に観測行列“H22”を作用させて平均位置誤差“avePerr”を予測することを示す式である。観測行列“H22”は、状態“X2”から観測量“Z2”への変換行列である。
【0095】
次に、次式(10)及び(11)に従って、カルマンゲイン“K12”及び“K22”を算出する。
【数10】
【数11】
【0096】
“K12”は差分“V2”から状態“X1”を演算するためのカルマンゲインであり、“K22”は差分“V2”から状態“X2”を演算するためのカルマンゲインである。また、“R2”は観測量“Z2”の観測誤差(観測ノイズ)である。
【0097】
そして、上記のカルマンゲイン“K12”及び“K22”を用いて、状態“X1”及び“X2”を、次式(12)及び(13)に従って算出する。
【数12】
【数13】
【0098】
式(12)に従って算出された状態“X1”の成分のうち、速度誤差及び姿勢角誤差を、推定速度誤差“Verr”及び推定姿勢角誤差“Aerr”として第1のカルマンフィルター処理部5Aにフィードバックする。また、式(13)に従って算出された状態“X2”の成分である位置誤差を、推定位置誤差“Perr”として第1のカルマンフィルター処理部5Aにフィードバックする。また、カルマンゲイン“K12”及び“K22”を第1のカルマンフィルター処理部5Aにフィードバックする。
【0099】
1−4.フィルター係数調整方法
次に、フィルター係数の調整方法を説明する。フィルター係数算出部93は、INS演算誤差推定部91から入力したINS演算誤差(推定位置誤差“Perr”、推定速度誤差“Verr”及び推定姿勢角誤差“Aerr”)やカルマンゲイン“K12”及び“K22”を用いて、フィルター係数を算出する。
【0100】
第1に、フィルター係数算出部93は、INS演算誤差推定部91から入力した推定速度誤差“Verr”及び推定姿勢角誤差“Aerr”を、状態“X1”のうちの対応する成分(速度誤差“(δVE,δVN,δVU)”、姿勢角誤差“(Ψx,Ψy,Ψz)”)に加味して、状態“X1”を算出・更新する。また、INS演算誤差推定部91から入力した推定位置誤差“Perr”を状態“X2”の各成分(位置誤差“(δPE,δPN,δPU)”)に加味して、状態“X2”を算出・更新する。
【0101】
第2に、フィルター係数算出部93は、カルマンゲイン“K12”及び“K22”を用いて、例えば次式(14)〜(17)に従って誤差共分散行列“P11”,“P22”,“P21”,“P12”をそれぞれ算出・更新する。
【数14】
【数15】
【数16】
【数17】
【0102】
2.実験結果
図6及び図7は、上記の位置算出方法を用いて位置算出を行った実験結果の一例を示す図である。第1の位置算出装置1Aを自動車に設置し、都市部の道路を自動車で走行する実験を行った。走行した都市部は高層ビルが数多く存在するマルチパス環境である。図6及び図7の都市部の道路を反時計回りに周回して位置を算出し、その軌跡を描いてみた。スタート,ゴール地点は、図面中央下部である。
【0103】
図6(1)は、自動車の真の軌跡(参照軌跡)である。図6(2)は、GPSユニット3Aの出力であるGPS演算位置の軌跡である。図6(3)は、第2のカルマンフィルター処理部7Aの出力である第2の演算位置の軌跡である。
【0104】
図7(1)は、演算係数の調整を行わない場合の第1のカルマンフィルター処理部5Aの出力である第1の演算位置の軌跡(演算係数調整なし)である。図7(2)は、演算係数の調整は行ったが、重み“α”の設定を行わなかった場合の第1の演算位置の軌跡(演算係数調整あり、重み設定なし)である。図7(3)は、演算係数の調整及び重み“α”の設定を両方とも行った場合の第1の演算位置の軌跡(演算係数調整あり、重み設定あり)である。
【0105】
最初に、図6(2)のGPS演算位置の軌跡を見ると、所々に大きく蛇行しており、位置誤差が非常に大きくなっていることがわかる。これは、マルチパスの影響によりGPSの演算精度が低下したことによるものである。図6(3)の第2の演算位置の軌跡を見ると、GPS演算位置の軌跡と比べると滑らかな軌跡を描いているが、それでもやはり、図6(1)の真の軌跡に沿った軌跡とはなっていない。
【0106】
次に、図7(1)の第1の演算位置の軌跡(演算係数調整なし)を見ると、点線部分S1において、真の軌跡に対してバイアスがかかったような軌跡が得られている。これに本実施形態の演算係数の調整を追加すると、図7(2)の結果が得られる。この図7(2)の第1の演算位置の軌跡(演算係数調整あり、重み設定なし)を見ると、演算係数の調整により位置算出精度が改善されていることがわかる。しかし、それでもなお、点線部分S2において真の軌跡からの位置ズレが生じている。
【0107】
これにさらに本実施形態の重み“α”の設定を追加すると、図7(3)の結果が得られる。この図7(3)の第1の演算位置の軌跡(演算係数調整あり、重み設定あり)を見ると、図6(1)の真の軌跡に沿った正確な軌跡が得られていることがわかる。特に、図7(1)の点線部分S1や図7(2)の点線部分S2に対応する部分についても位置算出精度が改善されている。この実験結果から、本実施形態の位置算出方法が有効であることが実証された。
【0108】
3.実施例
次に、上記の位置算出装置を備えた電子機器の実施例について説明する。ここでは、位置算出装置を具備するカーナビゲーション装置の実施例を説明する。但し、本発明を適用可能な実施例が以下説明する実施例に限定されるわけではないことは勿論である。
【0109】
3−1.システム構成
図8は、本実施例におけるナビゲーションシステム1000のシステム構成の説明図である。ナビゲーションシステム1000は、移動体の一種である四輪自動車(以下、単に「自動車」と称す。)に、位置算出装置1を具備したカーナビゲーション装置100が設置されてなる。
【0110】
カーナビゲーション装置100は、自動車に設置され、自動車の運転者に対するナビゲーションを行う電子機器である。カーナビゲーション装置100は、INSユニット2Aと、GPSユニット3Aとを備える。
【0111】
カーナビゲーション装置100は、INSユニット2Aから入力したINS演算結果と、GPSユニット3Aから入力したGPS演算結果とを用いて、原理で説明した位置算出方法に従って自動車の位置を算出する。そして、算出位置をプロットしたナビゲーション画面を生成して、表示部30であるディスプレイに表示させる。
【0112】
3−2.機能構成
図9は、カーナビゲーション装置100の機能構成の一例を示すブロック図である。カーナビゲーション装置100は、INSユニット2Aと、GPSユニット3Aと、処理部10と、操作部20と、表示部30と、通信部40と、記憶部50とを備える。
【0113】
処理部10は、記憶部50に記憶されているシステムプログラム等の各種プログラムに従ってカーナビゲーション装置100の各部を統括的に制御する制御装置であり、CPU(Central Processing Unit)等のプロセッサーを有して構成される。処理部10は、記憶部50に記憶されたナビゲーションプログラム51に従ってナビゲーション処理を行い、自動車の現在位置を指し示した地図を表示部30に表示させる。
【0114】
操作部20は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号を処理部10に出力する。この操作部20の操作により、目的地の入力等の各種指示入力がなされる。
【0115】
表示部30は、LCD(Liquid Crystal Display)等により構成され、処理部10から入力される表示信号に基づいた各種表示を行う表示装置である。表示部30には、ナビゲーション画面等が表示される。
【0116】
通信部40は、処理部10の制御に従って、装置内部で利用される情報をインターネット等の通信ネットワークを介して外部とやりとりするための通信装置である。この通信には、公知の無線通信技術を適用可能である。
【0117】
記憶部50は、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の記憶装置によって構成され、カーナビゲーション装置100のシステムプログラムや、ナビゲーション機能等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【0118】
記憶部50には、プログラムとして、処理部10により読み出され、ナビゲーション処理(図10参照)として実行されるナビゲーションプログラム51が記憶されている。ナビゲーションプログラム51は、INS演算誤差推定処理(図11参照)として実行されるINS演算誤差推定プログラム511をサブルーチンとして含む。
【0119】
また、記憶部50には、データとして、例えば、重み設定条件テーブル53と、INS演算結果55と、GPS演算結果56と、第1の演算結果57と、第2の演算結果58と、演算係数59とが記憶される。
【0120】
重み設定条件テーブル53は、第1の重み設定条件テーブル(図4参照)や第2の重み設定条件テーブル(図5参照)といった重み設定用の条件が定められたテーブルである。
【0121】
3−3.処理の流れ
図10は、処理部10が、記憶部50に記憶されたナビゲーションプログラム51に従って実行するナビゲーション処理の流れを示すフローチャートである。
【0122】
先ず、処理部10は、INSユニット2A及びGPSユニット3Aから、INS演算結果55及びGPS演算結果56の取得を開始する(ステップA1)。そして、処理部10は、第1のカルマンフィルター処理を実行する(ステップA3)。
【0123】
第1のカルマンフィルター処理では、前回のINS演算誤差推定処理(ステップA9)の推定結果を用いてフィルター係数を調整し、記憶部50の演算係数59を更新する。具体的には、原理で説明したように、推定したINS演算誤差を用いて状態“X”を調整するとともに、例えば式(14)〜(17)に従って誤差共分散“P”を調整する。そして、調整したフィルター係数を用いてカルマンフィルター処理を行い、その演算結果で記憶部50の第1の演算結果57を更新する。
【0124】
次いで、処理部10は、第1のカルマンフィルター処理で演算した演算位置に対するマップマッチング処理等を行い、その結果で表示部30のナビゲーション画面を表示更新する(ステップA5)。
【0125】
その後、処理部10は、第2のカルマンフィルター処理を実行する(ステップA7)。処理部10は、第2のカルマンフィルター処理の演算結果で記憶部50の第2の演算結果58を更新する。そして、処理部10は、記憶部50に記憶されたINS演算誤差推定プログラム511に従ってINS演算誤差推定処理を行う(ステップA9)。
【0126】
図11は、INS演算誤差推定処理の流れを示すフローチャートである。
先ず、処理部10は、重み設定処理を行う(ステップB1)。具体的には、記憶部50に記憶されている重み設定条件テーブル53を参照して、原理で説明した手法に従って重み“α”を設定する。
【0127】
次いで、処理部10は、位置誤差加重平均処理を行う(ステップB3)。具体的には、第1のカルマンフィルター処理で演算した第1の演算位置誤差“P1err”と、第2のカルマンフィルター処理で演算した第2の演算位置誤差“P2err”とを、ステップB1で設定した重み“α”を用いて式(7)に従って加重平均して、平均位置誤差“avePerr”を算出する。
【0128】
その後、処理部10は、誤差変換処理を行う(ステップB5)。具体的には、ステップB3で算出した平均位置誤差“avePerr”を、式(9)〜式(13)に従ってINS演算誤差に変換する。そして、処理部10は、INS演算誤差推定処理を終了する。
【0129】
図10のナビゲーション処理に戻り、INS演算誤差推定処理を行った後、処理部10は、処理を終了するか否かを判定する(ステップA11)。例えば、操作部20を介してユーザーによりナビゲーションの終了指示操作がなされた場合に、ナビゲーション処理を終了すると判定する。
【0130】
処理を終了しないと判定した場合は(ステップA11;No)、処理部10は、ステップA3に戻る。また、処理を終了すると判定した場合は(ステップA11;Yes)、ナビゲーション処理を終了する。
【0131】
4.作用効果
本実施形態によれば、位置算出装置1において、移動体に設置された慣性測位用ユニット2の計測結果を用いて、少なくとも移動体の位置を演算する第1の演算処理が第1の演算処理部5により実行される。また、第1の演算処理の結果と、移動体に設置された衛星測位用ユニット3の計測結果とを用いて、移動体の位置を演算する第2の演算処理が第2の演算処理部7により実行される。そして、第1の演算処理の結果と、第2の演算処理の結果とを用いて、第1の演算処理に係る演算係数が演算係数調整部9により調整される。
【0132】
例えば、位置算出装置1を適用した第1の位置算出装置1Aでは、第1のカルマンフィルター処理部5Aにおいて、INSユニットの演算結果(INS演算結果)を入力とし、GPSユニット3Aの演算速度(GPS演算速度)を観測量とするカルマンフィルター処理が実行される。また、第2のカルマンフィルター処理部7Aにおいて、第1のカルマンフィルター処理部5Aの演算結果(第1の演算結果)を入力とし、GPSユニット3Aの演算位置(GPS演算位置)を観測量とするカルマンフィルター処理が実行される。
【0133】
加減算部8では、INS演算位置と第2の演算位置との差分が、第2の演算位置誤差として算出される。INS演算誤差推定部91では、重み設定部913により、第1の演算位置誤差と第2の演算位置誤差とを加重平均する際の重みが設定される。そして、第1の演算位置誤差と第2の演算位置誤差とが、位置誤差加重平均部911により加重平均される。そして、加重平均結果である平均位置誤差を用いて、誤差変換部915により平均位置誤差がINS演算誤差に変換され、その変換結果が第1のカルマンフィルター処理部5Aにフィードバックされる。
【0134】
重み設定部913は、例えば、測位環境に基づき定められた第1の重み設定条件や、GPS演算位置の信頼性、GPSメジャメント情報の信頼性、第2の演算位置の信頼性、時刻情報の信頼性といった複数の要素に基づき定められた第2の重み設定条件に従って、加重平均の重みを設定する。これにより、加重平均の重みを適正化し、INS演算位置に含まれる誤差を適切に推定することができる。
【0135】
また、誤差変換部915は、第1のカルマンフィルター処理部5Aから入力した誤差共分散と、位置誤差加重平均部911から入力した平均位置誤差とを用いて、カルマンフィルターを利用した変換演算を行って、INS演算誤差を推定する。カルマンフィルターを利用することで、平均位置誤差からINS演算誤差を適切に推定することができる。
【0136】
また、フィルター係数算出部93は、INS演算誤差推定部91により推定されたINS演算誤差やカルマンゲインを用いて、第1のカルマンフィルター処理で用いるフィルター係数を算出・調整する。例えば、第1のカルマンフィルター処理で用いる状態(状態ベクトル)や誤差共分散(誤差共分散行列)を算出・調整する。このようにして調整したフィルター係数を用いて第1のカルマンフィルター処理を行うことで、移動体の位置を高い正確性で求めることが可能となる。
【0137】
5.変形例
本発明を適用可能な実施例は、上記の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明するが、上記の実施例と同一の構成要素については同一の符号を付して説明を省略し、上記の実施例とは異なる部分を中心に説明する。
【0138】
5−1.ユニット
上記の実施形態では、衛星測位用ユニット3として、GPSを適用したGPSユニット3Aを例に挙げて説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星測位システムを適用したユニットとしてもよいことは勿論である。
【0139】
また、上記の実施形態では、慣性測位用ユニット2として、INSユニット2Aを適用した場合を例に挙げて説明したが、INSメジャメント情報(加速度や角速度)を計測する慣性センサーや慣性計測ユニット(IMU)を慣性測位用ユニット2としてもよい。この場合は、慣性測位用ユニット2により計測されたINSメジャメント情報を入力Uとして、第1の演算処理部5が第1の演算処理を行うように構成すればよい。
【0140】
5−2.演算処理
第1の演算処理部5及び第2の演算処理部7が行う演算処理は、カルマンフィルター処理に限定されるわけではない。例えば、第2の演算処理について、シグマ点(シグマポイント)を利用したシグマポイントフィルター処理や、回帰フィルター処理を適用することとしてもよい。
【0141】
5−3.座標系
上記の実施形態では、INSユニット2Aは、移動体の位置、速度及び姿勢角をENU座標系で演算するものとして説明したが、NED座標系や、ECEF座標系で演算することとしてもよいことは勿論である。また、第1の演算処理や第2の演算処理についても、ENU座標系で演算するのではなく、NED座標系やECEF座標系で演算してもよい。
【0142】
5−4.重み設定条件
上記の実施形態で例示した重み設定条件はあくまでも一例であり、適宜追加/削除可能である。例えば、INSユニット2Aの演算結果の信頼性に基づく条件を定めておいてもよい。INSユニット2Aが有する慣性センサー(ジャイロセンサーや加速度センサー)の計測結果に大きな誤差が混入すると、INSユニット2Aの演算精度が低下する。この場合、INS演算結果を入力とする第1の演算処理の演算精度が低下する。
【0143】
その結果、第1の演算処理で演算される第1の演算位置誤差“P1err”には、その影響が顕著に現れる。そこで、INSユニット2Aの演算結果の信頼性が低い場合は、第1の演算位置誤差“P1err”を重視して加重平均するように、第1の演算位置誤差“P1err”に対する重み“α”を大きくすると効果的である。この場合は、高重み設定条件として「INSユニットの信頼性=低」を定めておけばよい。
【0144】
また、上記の実施形態では、第2の重み設定条件に関して、複数の条件“A,B,C,D,・・・”を組み合わせて重み“α”を設定する方法を説明した。しかし、複数の条件“A,B,C,D,・・・”をそれぞれ単体で用いて重み“α”を設定するといったことも当然に可能である。
【0145】
5−5.処理主体
上記の実施形態では、INSユニット2AがINS演算を行い、GPSユニット3AがGPS演算を行うものとして説明した。しかし、電子機器の処理部10がINS演算やGPS演算を実行する構成としてもよい。
【0146】
この場合は、INSユニット2Aは、INSメジャメント情報(加速度や角速度等)を出力する。また、GPSユニット3Aは、GPSメジャメント情報(コード位相やドップラー周波数、擬似距離、擬似距離変化率等)を出力する。
【0147】
そして、電子機器の処理部10は、INSユニット2Aから入力したINSメジャメント情報を用いてINS演算を行うとともに、GPSユニット3Aから入力したGPSメジャメント情報を用いてGPS演算を行う。そして、処理部10は、INS演算結果及びGPS演算結果を用いて、第1及び第2の演算処理を行う。
【0148】
5−6.電子機器
上記の実施例では、四輪自動車に搭載するナビゲーション装置に本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、二輪自動車に搭載するナビゲーション装置に適用してもよいし、携帯型ナビゲーション装置に適用することとしてもよい。
【0149】
また、ナビゲーション以外の用途の電子機器についても本発明を同様に適用可能であることは勿論である。例えば、携帯型電話機やパソコン、PDA(Personal Digital Assistant)といった他の電子機器についても本発明を同様に適用して、当該電子機器の位置算出を実現することが可能である。
【符号の説明】
【0150】
1、1A 位置算出装置、 2 慣性測位用ユニット、 2A INSユニット、 3 衛星測位用ユニット、 3A GPSユニット、 5 第1の演算処理部、 5A 第1のカルマンフィルター処理部、 7 第2の演算処理部、 7A 第2のカルマンフィルター処理部、 9 演算係数調整部、 9A カルマンフィルター係数調整部、 10 処理部、 20 操作部、 30 表示部、 40 通信部、 50 記憶部、 100 カーナビゲーション装置、 1000 ナビゲーションシステム
【特許請求の範囲】
【請求項1】
移動体に設置された慣性測位用ユニットの計測結果を用いて、少なくとも前記移動体の位置を演算する第1の演算処理を実行することと、
前記第1の演算処理の結果と、前記移動体に設置された衛星測位用ユニットの計測結果とを用いて、前記移動体の位置を演算する第2の演算処理を実行することと、
前記第1の演算処理の結果と、前記第2の演算処理の結果とを用いて、前記第1の演算処理に係る演算係数を調整することと、
を含む位置算出方法。
【請求項2】
前記慣性測位用ユニットの計測結果には慣性測位位置が含まれ、
前記第1の演算処理は、演算した第1の演算位置に内在する第1の位置誤差を推定する所定の誤差推定演算を含み、
前記調整することは、
前記第1の位置誤差と、前記第2の演算処理で求めた第2の演算位置とを用いて、前記慣性測位位置に内在する慣性測位誤差を推定することと、
前記慣性測位誤差を用いて前記演算係数を調整することと、
を含む、
請求項1に記載の位置算出方法。
【請求項3】
前記推定することは、
前記慣性測位位置と前記第2の演算位置との差分を算出することと、
前記第1の位置誤差と前記差分とを平均処理して前記慣性測位誤差を算出することと、
を含む、
請求項2に記載の位置算出方法。
【請求項4】
前記平均処理は、測位環境と前記衛星測位用ユニットの計測結果の信頼性とのどちらか又は両方に基づいて、前記第1の位置誤差と前記差分との重みを設定して加重平均する処理である、
請求項3に記載の位置算出方法。
【請求項5】
前記慣性測位用ユニットの計測結果には慣性測位位置が含まれ、
前記第1の演算処理は、前記慣性測位位置を入力とするカルマンフィルター処理である、
請求項1〜4の何れか一項に記載の位置算出方法。
【請求項6】
前記衛星測位用ユニットの計測結果には速度が含まれ、
前記カルマンフィルター処理は、前記速度を観測量とする処理である、
請求項5に記載の位置算出方法。
【請求項7】
前記衛星測位用ユニットの計測結果には衛星測位位置が含まれ、
前記第2の演算処理は、前記第1の演算処理の結果を入力とし、前記衛星測位位置を観測量とするカルマンフィルター処理である、
請求項1〜6の何れか一項に記載の位置算出方法。
【請求項8】
移動体に設置された慣性測位用ユニットの計測結果を用いて、少なくとも前記移動体の位置を演算する第1の演算処理を実行する第1の演算処理部と、
前記第1の演算処理の結果と、前記移動体に設置された衛星測位用ユニットの計測結果とを用いて、前記移動体の位置を演算する第2の演算処理を実行する第2の演算処理部と、
前記第1の演算処理の結果と、前記第2の演算処理の結果とを用いて、前記第1の演算処理に係る演算係数を調整する調整部と、
を備えた位置算出装置。
【請求項1】
移動体に設置された慣性測位用ユニットの計測結果を用いて、少なくとも前記移動体の位置を演算する第1の演算処理を実行することと、
前記第1の演算処理の結果と、前記移動体に設置された衛星測位用ユニットの計測結果とを用いて、前記移動体の位置を演算する第2の演算処理を実行することと、
前記第1の演算処理の結果と、前記第2の演算処理の結果とを用いて、前記第1の演算処理に係る演算係数を調整することと、
を含む位置算出方法。
【請求項2】
前記慣性測位用ユニットの計測結果には慣性測位位置が含まれ、
前記第1の演算処理は、演算した第1の演算位置に内在する第1の位置誤差を推定する所定の誤差推定演算を含み、
前記調整することは、
前記第1の位置誤差と、前記第2の演算処理で求めた第2の演算位置とを用いて、前記慣性測位位置に内在する慣性測位誤差を推定することと、
前記慣性測位誤差を用いて前記演算係数を調整することと、
を含む、
請求項1に記載の位置算出方法。
【請求項3】
前記推定することは、
前記慣性測位位置と前記第2の演算位置との差分を算出することと、
前記第1の位置誤差と前記差分とを平均処理して前記慣性測位誤差を算出することと、
を含む、
請求項2に記載の位置算出方法。
【請求項4】
前記平均処理は、測位環境と前記衛星測位用ユニットの計測結果の信頼性とのどちらか又は両方に基づいて、前記第1の位置誤差と前記差分との重みを設定して加重平均する処理である、
請求項3に記載の位置算出方法。
【請求項5】
前記慣性測位用ユニットの計測結果には慣性測位位置が含まれ、
前記第1の演算処理は、前記慣性測位位置を入力とするカルマンフィルター処理である、
請求項1〜4の何れか一項に記載の位置算出方法。
【請求項6】
前記衛星測位用ユニットの計測結果には速度が含まれ、
前記カルマンフィルター処理は、前記速度を観測量とする処理である、
請求項5に記載の位置算出方法。
【請求項7】
前記衛星測位用ユニットの計測結果には衛星測位位置が含まれ、
前記第2の演算処理は、前記第1の演算処理の結果を入力とし、前記衛星測位位置を観測量とするカルマンフィルター処理である、
請求項1〜6の何れか一項に記載の位置算出方法。
【請求項8】
移動体に設置された慣性測位用ユニットの計測結果を用いて、少なくとも前記移動体の位置を演算する第1の演算処理を実行する第1の演算処理部と、
前記第1の演算処理の結果と、前記移動体に設置された衛星測位用ユニットの計測結果とを用いて、前記移動体の位置を演算する第2の演算処理を実行する第2の演算処理部と、
前記第1の演算処理の結果と、前記第2の演算処理の結果とを用いて、前記第1の演算処理に係る演算係数を調整する調整部と、
を備えた位置算出装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−237606(P2012−237606A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2011−105614(P2011−105614)
【出願日】平成23年5月10日(2011.5.10)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願日】平成23年5月10日(2011.5.10)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]