JP3412261B2 - In-vehicle positioning device - Google Patents
In-vehicle positioning deviceInfo
- Publication number
- JP3412261B2 JP3412261B2 JP15014294A JP15014294A JP3412261B2 JP 3412261 B2 JP3412261 B2 JP 3412261B2 JP 15014294 A JP15014294 A JP 15014294A JP 15014294 A JP15014294 A JP 15014294A JP 3412261 B2 JP3412261 B2 JP 3412261B2
- Authority
- JP
- Japan
- Prior art keywords
- azimuth
- routine
- gyro
- correction
- equation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Navigation (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、自動車等の車両上にて
車両の位置を測位し、現在位置情報を知らせる車載用測
位装置に関する。
【0002】
【従来の技術】例えば、特開昭61−137009号公
報及び特開昭61−167886号公報等に開示されて
いるように、グローバルポジショニングシステム(Grob
al Positioning System ;以下GPSと称す)を利用し
た自動車用測位装置の技術が従来より提案されている。
GPSは複数の衛星を備える。衛星は、正確な時刻,軌
道の関数,及び情報の精度を示すデータを電波に乗せて
所定のタイミングで地上に送信している。地上では、衛
星から得た時刻と軌道の関数から衛星の位置を知ること
ができ、衛星の時刻と受信点の時刻との差、即ち電波の
伝搬遅延時間に基づいて、衛星から受信点までの距離を
知ることができる。互いに異なる3つの衛星のそれぞれ
について、衛星の位置と衛星から受信点までの距離がわ
かれば、3元連立方程式を解くことにより、未知数であ
る受信点の3次元位置を求めることができる。但し、通
常、受信点の時刻には比較的大きな誤差が含まれるの
で、受信点の時計の誤差を補償するためには、同時に4
つの衛星の情報が必要になる。
【0003】また、受信点の高度が殆ど変化しないもの
と仮定すれば、3つの衛星の情報から受信点の地表上の
2次元位置を求めることができる。
【0004】しかしながら、実際に存在するGPSの衛
星の数は限られているし、自動車は、例えばトンネルの
中やビルの影では電波が遮断され、同時に3つ或いは4
つの衛星から電波を受信することが困難な場合がある。
そこで、特開昭61−137009号公報の技術では、
光ファイバージャイロを用いて自車の方位変化を検出す
ると共に、車速センサを用いて自車の移動距離を検出
し、これらの検出情報を補助的に仕様して1衛星から電
波しか受信できない場合でも、自車の位置検出を可能に
している。また、特開昭61−167887号公報の技
術では、自動車に搭載した磁気方位計と距離計を補助的
に用いることにより、2衛星からの電波しか受信できな
い場合でも、自車の位置検出を可能にしている。
【0005】
【発明が解決しようとする課題】しかし、ジャイロは温
度等のドリフトの影響がある。ドリフトがあると方位角
にドリフト分のずれが累積加算され、方位角の誤差が時
間とともに増大していまう。また、車速センサについて
も、通常は車輪の回転軸の回転を測定するものであり、
車輪のスリップ等により誤差が発生する可能性が高く、
積算距離の誤差が時間とともに増大してしまう。そこ
で、ジャイロのドリフトを減らすよう設計したり、地面
と車両間の絶対速度を超音波等で測定したり、スリップ
率を求めて車輪速を補正したりすることが考えられる
が、各々のセンサの値段が上がってしまい、装置全体の
コストが上がってしまう。
【0006】そこで、本発明においては、このようなド
リフトの生じやすい回転角速度センサや誤差の大きい車
速センサを用いても、精度のよい測位ができるようにす
ることを課題とする。
【0007】
【課題を解決するための手段】上記の課題を解決するた
めに請求項1に記載の発明においては、車両の位置を検
出する位置センサ;複数の衛星が発射する信号からそれ
ぞれの衛星と車両との相対位置を検出する衛星情報検出
手段;位置センサ又は衛星情報検出手段の出力の少なく
とも一方から車両の絶対位置を測位する測位手段;衛星
からの情報に基づき位置センサの検出位置を補正するセ
ンサ出力補正手段;を備える車載用測位装置において、
前記方位角補正手段は、ジャイロの方位と衛星情報から
求めた方位の差を補正量とし、該補正量を積算した補正
量和を求め、該補正量和が少ないとき、時間あたりのジ
ャイロの方位変化量と時間あたりの衛星情報から求めた
方位変化量との関連を求め、前記方位角計算手段の計算
定数を補正するとともに、前記補正量和が多いとき、時
間あたりのジャイロの方位変化量と時間あたりの衛星情
報から求めた方位変化量との関連をカルマンフィルター
を用いて求め、前記方位角計算手段の計算定数を補正す
るようにした。
【0008】
【0009】
【0010】
【0011】
【0012】
【0013】
【0014】【作用】請求項1
に記載した発明によれば、ジャイロは
車両の方位偏差を検出する。車速センサは車両の速度を
検出する。相対速度検出手段複数の衛星が発射する信号
からそれぞれの衛星と車両との相対速度を検出する。方
位角計算手段はジャイロの出力から車両の方位角を求め
る。積算距離計算手段は車速センサの出力から車両の積
算距離を求める。測位手段は車両の方位角,積算距離,
衛星との相対速度の内いずれかを用いて測位する。方位
角補正手段は衛星からの情報に基づき方位角計算手段の
計算定数を補正する。積算距離補正手段は衛星からの情
報に基づき積算距離計算手段の計算定数を補正する。よ
って、ドリフトが発生するジャイロや車輪のスリップに
より距離が狂いやすい車速センサを使っても精度の良い
測位ができ、安価なセンサーが使用できる。
【0015】
【実施例】以下、本発明を図面を参照して説明する。図
1は車載用測位装置の実施例を示しす。この装置は、自
動車に搭載されており、受信アンテナ10,GPS受信
機11,GPS復調器12,表示装置13,車速センサ
14,圧電振動ジャイロ15,高度センサ16,及び電
子制御ユニット17を備える。GPSの各衛星からは
1.57542GHzの電波が送られている。GPS受
信機11は受信アンテナ10を介してGPSの各衛星か
らの電波を受信する。受信した信号はGPS復調器12
に送られる。GPS復調器12は、電波に乗った情報、
即ち衛星の軌道を示す関数,時刻,及び情報の精度を示
すコードを復調し、電子制御ユニット17に出力する。
車速センサ14は自動車の車輪軸の回転に応じてパルス
信号を電子制御ユニット17に出力するものである。車
速センサ14は、例えば、自動車のトランスミッション
の出力軸,又はこれと同期して回転する軸の回りに設け
られた磁石と、この磁石近傍に設けられたリードスイッ
チから構成し、車輪の回転に伴い、リードスイッチがオ
ン・オフするよう構成すればよい。圧電振動ジャイロ1
5は、自動車に固定されており、自動車の垂直軸を中心
とする回転角速度ωに比例したレベルのアナログ信号を
電子制御ユニット17に出力するものである。圧電振動
ジャイロ15は0〜5ボルトの電圧の出力が可能であ
り、2.5ボルトを中心に、右回転の場合2.5ボルト
以上の電圧を、左回転の場合、2.5ボルト以下の信号
を出力するよう調整されている。高度センサ16は、気
圧の変化、即ち高度変化に応じてレベルが変化するアナ
ログ信号を電子制御ユニット17に出力するものであ
る。表示装置13は自動車の存在する緯度,経度,高度
等を表示するものであり、電子制御ユニット17からの
情報を受け表示を行う。
【0016】電子制御ユニット17は、マイクロコンピ
ュータ19,入出力インターフェース(I/O)18,
及びアナログ・デジタル変換器(A/D変換器)20を
備える。入出力インターフェース(I/O)18は、G
PS受信機11,GPS復調器12,及び車速センサ1
4からの信号をマイクロコンピュータ19に送ると共
に、マイクロコンピュータ19からの情報を表示装置1
3に送る。アナログ・デジタル変換器(A/D変換器)
20は圧電振動ジャイロ15,及び高度センサ16から
のアナログ信号をデジタル信号にA/D変換し、マイク
ロコンピュータ19に送る。車速センサ14からの信号
はマイクロコンピュータ19の外部割り込み端子に接続
されている。
【0017】マイクロコンピュータ19は図2のフロー
チャートに沿って作動する。マイクロコンピュータ19
に電源が入りスタートすると、まず、ステップ30にて
初期化が行われる。ここでは、入出力ポートの設定や、
メモリの初期化、割り込みの設定が行われる。割り込み
は、一定時間毎に実行されるタイマー割り込みと、外部
割り込み端子のレベル変化に応じて実行される外部割り
込みを設定する。これ以後、一定時間毎にメインルーチ
ンの処理を一時中断し、ステップ54のジャイロ方位算
出ルーチンを実行する。本実施例では、10mS毎に割
り込みを行っている。また、外部割り込み端子がレベル
変化する毎にメインルーチンの処理を一時中断し、ステ
ップ55の積算距離計算ルーチンを実行する。初期化ス
テップが終わると、ステップ31にて、3衛星以上復調
終了したか否かを判断する。ここで、復調終了した衛星
の数が3以上であれば、ステップ32の航法方程式1ル
ーチンにて航法方程式を設定し、ステップ33の測位推
定誤差計算ルーチンにて測位推定誤差を計算する。次
に,ステップ34にて、測位推定誤差が予め設定された
上限(例えば300m)より小であるか否かを判断す
る。測位推定誤差が上限より小であれば、ステップ35
の測位ルーチンにて測位を行い、ステップ36の高度補
正ルーチンにて高度の補正を行い、更に、ステップ37
のジャイロ補正ルーチンにてジャイロと車速の補正を行
う。その後、ステップ38にて現在位置情報(緯度,経
度,高度等)を表示装置13に対して出力する。次に、
ステップ39にてジャイロ方位が表示可能かどうか判断
する。ジャイロ方位が表示可能であれば、ステップ40
にてジャイロ方位を表示装置13に対して出力する。そ
の後、ステップ41のジャイロ0点補正ルーチンにてジ
ャイロの補正を行い、ステップ31に戻る。
【0018】ステップ31にて、復調可能な衛星が2以
下の場合,又は、ステップ34にて測位推定誤差が上限
より大の場合、ステップ42にて2衛星以上復調終了し
たか否かを判断する。ここで、復調終了した衛星の数が
2であれば、ステップ43にて方位推定誤差が予め設定
された上限(例えば30°)より小であるか否かを判断
する。後述するが、方位推定誤差はタイマー割り込みの
ジャイロ方位算出ルーチン内で計算される。この方位推
定誤差が上限より小である場合、ステップ44の航法方
程式2ルーチンにて航法方程式を設定し、ステップ45
の測位推定誤差計算ルーチンにて測位推定誤差を計算す
る。次に,ステップ46にて、測位推定誤差が予め設定
された上限(例えば300m)より小であるか否かを判
断する。
【0019】測位推定誤差が上限より小であれば、ステ
ップ47の測位ルーチンにて測位を行い、ステップ36
の高度補正ルーチンにて高度の補正を行う。その後、ス
テップ38に跳ぶ。
【0020】ステップ42にて、復調可能な衛星が1以
下の場合、又は、ステップ43にて方位推定誤差が上限
より大の場合、又は、ステップ46にて測位推定誤差が
上限より大の場合、ステップ48にて方位推定誤差が予
め設定された上限(例えば30°)より小であるか否か
を判断する。方位推定誤差が上限より小である場合、ス
テップ49にて積算距離推定誤差STEPerror を計算
する。積算距離推定誤差STEPerror は後述する積算
距離算出ルーチン内で取り込んだ一定時間内のパルス数
と、後述の数値補正ルーチンで求めた回転誤差ROLLerro
r をかけて求める。ステップ50ではこの積算距離推定
誤差STEPerror が予め設定された上限(例えば10
0m)より小であるか否かを判断する。積算距離推定誤
差STEPerror がが上限より小である場合、ステップ
51の航法方程式3ルーチンにて航法方程式を設定し、
ステップ52の測位推定誤差計算ルーチンにて測位推定
誤差を計算する。次に,ステップ53にて、測位推定誤
差が予め設定された上限(例えば300m)より小であ
るか否かを判断する。測位推定誤差が上限より小であれ
ば、ステップ47の測位ルーチンに跳ぶ。
【0021】ステップ48にて方位推定誤差が上限より
大の場合、又は、ステップ50にて積算距離推定誤差が
上限より大の場合、又は、ステップ53にて測位推定誤
差が上限より大の場合、ステップ41に跳ぶ。
【0022】以下、各サブルーチンの詳細を説明する。
【0023】図3はジャイロ方位算出ルーチンのフロー
チャートである。ここでは、まず、ステップ56にて方
位偏差Δθを次式に従って求める。
【0024】
【数1】Δθ=Δθ+ADA(ADG−ADC)
ここで、ADGは圧電振動ジャイロ15のアナログ出力
をデジタル変換した値であり、ADA,ADCは変換係
数である。係数ADCは回転角速度ωがゼロの時のアナ
ログ電圧値(2.5ボルト)をデジタル変換した値がセ
ットされている。
【0025】係数ADAは、圧電振動ジャイロ15のア
ナログ出力をデジタル変換した値を更に角度に変換する
ように設定された値である。数1式の計算はタイマー割
り込みの周期毎に行われるので、Δθは単位時間あたり
の方位偏差量を示す。次に、ステップ57にて車速がゼ
ロか否かを判断し、車速がゼロであれば、ステップ58
にてジャイロ方位誤差turnを数2式に基づき更新し、ま
たステップ59にてジャイロのオフセット値offsetを数
3式に基づき更新する。ステップ57にて車速がゼロで
なければステップ58,59をとばして次へ進む。
【0026】
【数2】turn=turn+ADAerror (ADG−ADC)
【0027】
【数3】offset=offset+ADCerror
ここで、ADAerror は圧電振動ジャイロの出力の傾き
のずれを表す変換係数であり、ADCerror は圧電振動
ジャイロのゼロ点からのずれを示す変換係数である。
【0028】次に、ステップ60にて基準方位が有効で
あるか否かを判断する。基準方位が有効であれば、ステ
ップ62へ進む。基準方位が有効でなければ、表示用誤
差上限又はそれ以上の値を方位推定誤差ψerror にセッ
トする。
【0029】次に、ステップ64にて圧電振動ジャイロ
15の割り込み用出力値和ADS1にデジタル出力値A
DGが加算されて、割り込み用出力値和ADS1が更新
される。次に、ステップ65にて測位解出力タイミング
か否かを判断する。このタイミングは本実施例では1秒
毎としている。測位解出力タイミングであれば、ステッ
プ62以降を実行し、測位解出力タイミングでなければ
ジャイロ方位算出ルーチンを終了する。ステップ62で
は割り込み用方位ψ1に方位偏差Δθが加算されて、割
り込み用方位ψ1が更新される。次に、ステップ63に
て割り込み用方位ψ1rawに方位偏差Δθが加算され
て、割り込み用方位ψ1rawが更新される。次に、ス
テップ66では方位推定誤差計算ルーチンを実行し、本
位誤差を求める。次にステップ67にて、割り込み用方
位ψ1に補正量を加える。次にステップ68にて、方位
ψに割り込み用方位ψ1を代入し、方位ψrawに割り
込み用方位ψ1rawを代入し、出力値和ADSに割り
込み用出力値和ADS1を代入する。次に、ステップ6
9にて高度センサ16の出力の遅延データを更新する。
高度センサ16の出力の遅延データには、3秒前の高度
H〔−3〕,2秒前の高度H〔−2〕,1秒前の高度H
〔−1〕,現時点の高度H〔0〕の4つの出力データを
備えている。ここでは、2秒前の高度H〔−2〕を3秒
前の高度H〔−3〕に、1秒前の高度H〔−1〕を2秒
前の高度H〔−2〕に、現時点の高度H〔0〕を1秒前
の高度H〔−1〕に、高度センサ16の出力を現時点の
高度H〔0〕に、それぞれ更新する。次に、ステップ7
0にて圧電振動ジャイロ15の出力の遅延データを更新
する。圧電振動ジャイロ15の方位の遅延データには、
3秒前の方位ψ〔−3〕,2秒前の方位ψ〔−2〕,1
秒前の方位ψ〔−1〕,現時点の方位ψ〔0〕の4つの
出力データを備えている。ここでは、2秒前の方位ψ
〔−2〕を3秒前の方位ψ〔−3〕に、1秒前の方位ψ
〔−1〕を2秒前の方位ψ〔−2〕に、現時点の方位ψ
〔0〕を1秒前の方位ψ〔−1〕に、ステップ63で得
た方位ψを現時点の方位ψ〔0〕に、それぞれ更新す
る。次に、ステップ71にて車速センサ14の一定時間
中のパルス数の遅延データを更新する。
【0030】パルス数の遅延データには、3秒前のパル
ス数P〔−3〕,2秒前のパルス数P〔−2〕,1秒前
のパルス数P〔−1〕,現時点のパルス数P〔0〕の4
つの出力データを備えている。ここでは、2秒前のパル
ス数P〔−2〕を3秒前のパルス数P〔−3〕に、1秒
前のパルス数P〔−1〕を2秒前のパルス数P〔−2〕
に、現時点のパルス数P〔0〕を1秒前のパルス数P
〔−1〕に、高度センサ16の出力を現時点のパルス数
P〔0〕に、それぞれ更新する。ステップ66が終了す
るとジャイロ方位算出ルーチンを終了する。
【0031】図4は方位推定誤差計算ルーチンのフロー
チャートである。ここでは、まず、ステップ72にて、
フラグsignが1か否かを判定し、フラグsignが1であれ
ばステップ73を、フラグsignが1でなければステップ
74を実行する。このフラグsignは車両が右回転してい
るか左回転しているかを示すものであり、初期値は1に
設定してある。ステップ73では方位偏差RLにジャイ
ロ方位誤差turnを加算する。ステップ74では方位偏差
RLにジャイロ方位誤差turnを減算する。次に、ステッ
プ75にて方位偏差RLがゼロより上か否かを判断し、
ゼロ以下であれば、ステップ76にて、方位偏差RLの
符号を反転し、ステップ77にてフラグsignの状態を変
更(1であれば0に、0であれば1に変更)する。次に
ステップ78にて方位絶対値の補正があるか否かを判断
し、方位絶対値の補正があれば、ステップ79にてオフ
セット値offsetにGPS推定誤差GPSerror を代入
し、ステップ80にて回転方向信号RLをゼロとする。
その後、ステップ81にて方位偏差推定誤差Δθerror
を数4式に従って求め、方位推定誤差計算ルーチンを終
了する。この処理により、オフセットの誤差量を加味し
た方位推定誤差Δθerror が求められる。
【0032】
【数4】Δθerror =RL+offset
図5は積算距離算出ルーチンのフローチャートである。
ここでは、まず、ステップ82にて一定時間中のパルス
数を取り込む。次に、ステップ83にて一定時間中のパ
ルス数に変数ROLLをかけて、積算距離STEPを求め
る。変数ROLLはタイヤの有効半径や車速センサ14の出
力特性を加味して求めた変数で、車速センサ14のパル
ス数を距離に変換するためのものである。ステップ83
を終了すると、積算距離算出ルーチンを終了する。
【0033】図6は航法方程式1ルーチンのフローチャ
ートである。ここでは、まず、ステップ84にて4衛星
以上復調終了したか否かを判断する。4衛星以上復調終
了していれば、ステップ86にて表1中の方程式1をセ
ットし、ステップ89にてσm 2 計算ルーチンを実行し
てσm 2 (σm 2 は各衛星の予測誤差を示す。m は復調
終了した衛星の数を示し、1〜4番目の衛星に対してそ
れぞれσ1 2 ,σ2 2,σ3 2 ,σ4 2 が計算される)
を求めた後、ステップ93にて表2中の行列式1に従っ
て測定値の予測誤差を示す行列Σεi+1 (i は前回まで
の測位の回数を示す。i+1 は今回の測位となる。)を定
めて、このルーチンを終了する。ここで、航法方程式は
AX=Lの形で表されている。AはLm ,Mm ,Nm (
m は復調終了した衛星の数でm =1〜4)を備える4×
4の行列,Xは〔Δx Δy Δz cΔt〕T ,Lは
1×4の行列で表されている。
【0034】
【表1】
【0035】図27に示すように、(Lm ,Mm ,
Nm )はm番目の衛星から前回位置(前回測位した時の
測位点)へ向かうベクトルを示す。このベクトルは衛星
からの情報から得られる。(Δx,Δy,Δz)は前回
位置から測位点に向かうベクトルを示す。Δtは前回位
置における時刻と測位点に達したときの時刻の時間差を
示す。cは光速を示す。ここでは、4衛星以上復調終了
しているので、m =1〜4の4つの衛星から前回位置へ
向かうベクトルの要素を用いて行列Aが表されている。
また、行列Lは〔ΔL1 ΔL2 ΔL3 ΔL4〕T で表され
る。このΔL1,ΔL2,ΔL3,ΔL4はそれぞれ1〜4番目
の衛星と測位点との間の距離Lm (m =1〜4)から1
〜4番目の衛星と前回位置との間の距離L0mを引いた距
離を示す。この航法方程式1を解くことによって、4つ
の衛星から得た情報から3次元の相対位置(Δx,Δ
y,Δz)を求めることができる。
【0036】図6において、ステップ84にて復調終了
した衛星の数が3の場合、ステップ85が実行される。
ステップ85では高度データがある否かを判断する。高
度データがあれば、ステップ87にて表1中の方程式2
をセットし、ステップ90にてσm 2 計算ルーチンを実
行して3つの衛星に対するσ1 2 ,σ2 2 ,σ3 2 を求
め、ステップ92にてσa 2 計算ルーチンを実行してσ
a 2 (σa 2 は高度に対する予測誤差を示す。)を求め
た後、ステップ94にて表2中の行列式2に従って測定
値の予測誤差を示す行列Σεi+1 を定めて、このルーチ
ンを終了する。
【0037】
【表2】
【0038】ここで、航法方程式2は、航法方程式1と
同様に、AX=Lの形で表されている。ここでは、3衛
星が復調終了しているので、m =1〜3の3つの衛星か
ら前回位置へ向かうベクトルの要素を用いて行列Aが表
されている。また、行列Lは〔ΔL1 ΔL2 ΔL3 Δ
h〕T で表される。このΔhは高度センサ16により求
めた測位点の高度と前回位置の高度との差を示す。この
航法方程式2を解くことによって、3つの衛星から得た
情報と高度センサから得た高度差Δhから3次元の相対
位置(Δx,Δy,Δz)を求めることができる。
【0039】ステップ85において、高度データがなけ
れば、ステップ88にて表1中の方程式3をセットし、
ステップ91にてσm 2 計算ルーチンを実行して3つの
衛星に対するσ1 2 ,σ2 2 ,σ3 2 を求めた後、ステ
ップ95にて表2中の行列式3に従って測定値の予測誤
差を示す行列Σεi+1 を定めて、このルーチンを終了す
る。ここで、航法方程式3は、航法方程式1と同様に、
AX=Lの形で表されている。ここでは、3衛星が復調
終了しているので、m =1〜3の3つの衛星から前回位
置へ向かうベクトルの要素を用いて行列Aが表されてい
る。また、行列Lは〔ΔL1 ΔL2 ΔL3 0〕T で表さ
れる。高さ方向の差Δzはゼロと仮定している。この航
法方程式3を解くことによって、3つの衛星から得た情
報から2次元相対位置(Δx,Δy)を求めることがで
きる。
【0040】図7は航法方程式2ルーチンのフローチャ
ートである。ここでは、まず、ステップ96にて高度デ
ータがある否かを判断する。高度データがあれば、ステ
ップ97にて表1中の方程式4をセットし、ステップ9
9にてσm 2 計算ルーチンを実行して2つの衛星に対す
るσ1 2 ,σ2 2 を求め、ステップ101にてσa 2計
算ルーチンを実行してσa 2 を求め、ステップ102に
てσG 2 計算ルーチンを実行してσG 2 (σG 2 は圧電
振動ジャイロの出力の予測誤差を示す。)を求めた後、
ステップ104にて表2中の行列式4に従って測定値の
予測誤差を示す行列Σεi+1 を定めて、このルーチンを
終了する。ここでは、2衛星が復調終了しているので、
m =1〜2の2つの衛星から前回位置へ向かうベクトル
の要素と、Gx及びGyを用いて行列Aが表されてい
る。Δx及びΔyとGx及びGyとの間には次の関係が
ある。
【0041】
【数5】
Δy/Δx=sin(180°−ψ)/cos(180°−ψ)
=Gx/Gy
また、行列Lは〔ΔL1 ΔL2 Δh 0〕T で表され
る。数3式を用いて航法方程式4を解くことによって、
2つの衛星から得た情報,圧電振動ジャイロから得た方
位ψ及び高度センサから得た高度差Δhから3次元相対
位置(Δx,Δy,Δz)を求めることができる。
【0042】ステップ96にて高度データがなければ、
ステップ98にて表1中の方程式5をセットし、ステッ
プ100にてσm 2 計算ルーチンを実行して2つの衛星
に対するσ1 2 ,σ2 2 を求め、ステップ103にてσ
G 2 計算ルーチンを実行してσG 2 を求めた後、ステッ
プ105にて表2中の行列式5に従って測定値の予測誤
差を示す行列Σεi+1 を定めて、このルーチンを終了す
る。ここでは、2衛星が復調終了しているので、m =1
〜2の2つの衛星から前回位置へ向かうベクトルの要素
と、Gx及びGyを用いて行列Aが表されている。ま
た、行列Lは〔ΔL1 ΔL2 0 0〕T で表される。高
さ方向の差Δzはゼロと仮定している。数3式を用いて
航法方程式5を解くことによって、2つの衛星から得た
情報及び圧電振動ジャイロから得た方位ψから2次元相
対位置(Δx,Δy)を求めることができる。
【0043】図8は航法方程式3ルーチンのフローチャ
ートである。ここでは、まず、ステップ106にて1衛
星以上復調終了したか否かを判断する。1衛星以上復調
終了していれば、ステップ107が実行される。ステッ
プ107では高度データがある否かを判断する。高度デ
ータがあれば、ステップ109にて表1中の方程式6を
セットし、ステップ113にてσm 2 計算ルーチンを実
行して1つの衛星に対するσ1 2 を求め、ステップ11
5にてσδx 2 ,σδy 2 計算ルーチンを実行してσδ
x 2 ,σδy 2 (σδx 2 ,σδy 2 は車速センサと圧
電振動ジャイロの出力から求まる2次元位置のX座標及
びY座標の予測誤差を示す。)を求め、ステップ119
にてσa 2 計算ルーチンを実行してσa 2 を求めた後、
ステップ121にて表2中の行列式6に従って測定値の
予測誤差を示す行列Σεi+1 を定めて、このルーチンを
終了する。ここでは、1衛星が復調終了しているので、
m=1の1つの衛星から前回位置へ向かうベクトルの要
素を用いて行列Aが表されている。また、行列Lは〔Δ
L1 δx δy Δh〕T で表される。この内、δx 及
びδy は次式により、後述の測位推定誤差計算ルーチン
の中で求められる。
【0044】
【数6】δx =STEP・cos(180−ψ)
δy =STEP・sin(180−ψ)
数6式を用いて航法方程式6を解くことによって、1つ
の衛星から得た情報,圧電振動ジャイロから得た方位
ψ,車速センサから得た積算距離STEP,及び高度セ
ンサから得た高度差Δhから3次元相対位置(Δx,Δ
y,Δz)を求めることができる。
【0045】ステップ107にて高度データがない場
合、ステップ110にて表1中の方程式7をセットし、
ステップ114にてσm 2 計算ルーチンを実行して1つ
の衛星に対するσ1 2 を求め、ステップ116にてσδ
x 2 ,σδy 2 計算ルーチンを実行してσδx 2 ,σδ
y 2 を求めた後、ステップ122にて表2中の行列式7
に従って測定値の予測誤差を示す行列Σεi+1 を定め
て、このルーチンを終了する。ここでは、1衛星が復調
終了しているので、m =1の1つの衛星から前回位置へ
向かうベクトルの要素を用いて行列Aが表されている。
また、行列Lは〔ΔL1 δx δy 0〕T で表され
る。高さ方向の差Δzはゼロと仮定している。
【0046】数6式を用いて航法方程式7を解くことに
よって、1つの衛星から得た情報,圧電振動ジャイロか
ら得た方位ψ及び車速センサから得た積算距離STEP
から2次元相対位置(Δx,Δy)を求めることができ
る。
【0047】ステップ106にて復調終了した衛星の数
がない場合、ステップ108が実行される。ステップ1
08では高度データがある否かを判断する。高度データ
があれば、ステップ111にて表1中の方程式8をセッ
トし、ステップ117にてσδx 2 ,σδy 2 計算ルー
チンを実行してσδx 2 ,σδy 2 を求め、ステップ1
20にてσa 2 計算ルーチンを実行してσa 2 を求めた
後、ステップ123にて表2中の行列式8に従って測定
値の予測誤差を示す行列Σεi+1 を定めて、このルーチ
ンを終了する。ここでは、復調終了している衛星はない
ので、行列Aは単位行列で表されている。また、行列L
は〔δx δy Δh 0〕T で表される。数6式を用
いて航法方程式8を解くことによって、圧電振動ジャイ
ロから得た方位ψ,車速センサから得た積算距離STE
P,及び高度センサから得た高度差Δhから3次元相対
位置(Δx,Δy,Δz)を求めることができる。
【0048】ステップ108にて高度データがない場
合、ステップ112にて表1中の方程式9をセットし、
ステップ118にてσδx 2 ,σδy 2 計算ルーチンを
実行してσδx 2 ,σδy 2 を求めた後、ステップ12
4にて表2中の行列式9に従って測定値の予測誤差を示
す行列Σεi+1 を定めて、このルーチンを終了する。こ
こでは、復調終了している衛星はないので、行列Aは単
位行列で表されている。
【0049】また、行列Lは〔δx δy 0 0〕T
で表される。高さ方向の差Δzはゼロと仮定している。
数6式を用いて航法方程式9を解くことによって、圧電
振動ジャイロから得た方位ψ及び車速センサから得た積
算距離STEPから2次元相対位置(Δx,Δy)を求
めることができる。
【0050】図9はσm 2 計算ルーチンのフローチャー
トである。ここでは、まず、ステップ125にてUER
E計算ルーチンを実行し、i=1〜4番目の衛星の内、
復調終了したそれぞれの衛星のUERE(UEREは衛
星の配置によらない1σ誤差量を示す。)を求める。次
に、ステップ126にて、それぞれの衛星について次式
に基づきσm 2 を求める。
【0051】
【数7】σm 2 =UERE2
この計算の後、このルーチンを終了する。
【0052】図10はσa 2 計算ルーチンのフローチャ
ートである。ここでは、まず、ステップ127にて誤差
用のUERE及びVDOP(VDOPは高度に対する誤
差指標を示す。)があるか否かを判断する。誤差用のU
ERE及びVDOPがあれば、ステップ128にて(V
DOP×UERE)2 をσa 2 に代入して、このルーチ
ンを終了する。誤差用のUERE及びVDOPがなけれ
ば、ステップ129にて所定の定数const2 をσa
2 に代入して、このルーチンを終了する。
【0053】図11はσG 2 計算ルーチンのフローチャ
ートである。ここでは、まず、ステップ130にて積算
距離STEPをメモリーから読みだす。次に、ステップ
131にて方位推定誤差計算ルーチンにて計算した方位
偏差推定誤差Δθerror を取り出し、ステップ132に
て次式に基づきσG 2 を計算する。
【0054】
【数8】
σG 2 =(n×STEP×sinΔθerror )2
ここでnは定数である。上記計算をした後、このルーチ
ンを終了する。
【0055】図12はσδx 2 ,σδy 2 計算ルーチン
のフローチャートである。ここでは、まず、ステップ1
33にてEψx ,Eψy 計算ルーチンを実行して、Eψ
x 及びEψy (Eψx 及びEψy は圧電振動ジャイロに
よるX座標及びY座標の誤差を示す。)を求める。次
に、ステップ134にて積算距離推定誤差STEPerro
r を求める。積算距離推定誤差STEPerror は前述の
積算距離算出ルーチン内で取り込んだ一定時間内のパル
ス数と、後述の数値補正ルーチンで求めた回転誤差ROLL
error をかけて求める。次に、ステップ135及びステ
ップ136にて次式に基づきσδx 2 及びσδy 2 を計
算する。
【0056】
【数9】σδx 2 =(Eψx +STEPerror ・cos
(180°−ψ))2
σδy 2 =(Eψy +STEPerror ・sin(180
°−ψ))2
ここで、ψはジャイロ方位算出ルーチンで得た方位であ
る。上記計算をした後、このルーチンを終了する。
【0057】図13はEψx ,Eψy 計算ルーチンのフ
ローチャートである。ここでは、まず、ステップ137
にてジャイロ方位算出ルーチンで得た方位ψを取り出
す。次に、ステップ138にて方位推定誤差計算ルーチ
ンで得た方位推定誤差ψerrorを取り出す。次に、ステ
ップ139にて積算距離算出ルーチンで得た積算距離S
TEPを取り出す。次に、ステップ140にて数10式
によりψT を求める。次に、ステップ141及び142
にて数11式に基づきEψx 及びEψy を計算する。
【0058】
【数10】ψT =ψ−ψerror
【0059】
【数11】Eψx =STEP〔cos(180°−ψ)
−cos(180°−ψT )〕
Eψy =STEP〔sin(180°−ψ)−sin
(180°−ψT )〕
上記計算をした後、このルーチンを終了する。
【0060】図14は測位推定誤差計算ルーチンのフロ
ーチャートである。ここでは、まず、ステップ143に
て基準方位があるか否かを判断し、基準本位が有ればス
テップ145へ、無ければステップ144に進む。ステ
ップ144では1回目の測位か否かを判断する。1回目
の測位であればステップ145を実行し、2回目以降の
測位であればステップ146以下を実行する。ステップ
145では次式に基づきΣX1 を計算する。
【0061】
【数12】ΣX1 =(A1 T Σε1 -1 A1 )-1
ここで、A1 は1回目の測位の時点における航法方程式
の左辺の行列Aである。
【0062】Σε1 は1回目の測位の時点における表2
の行列式より求めた測定値の予測誤差を示す行列Σε
i+1 (i=0) である。ΣXi+1 は次に示す数13式
により定められた誤差を表す行列であり、ΣX1 は1回
目の測位の時点のものである。ステップ156では、数
12式及び数13式から求まったσx 2 及びσy 2 を用
いて、数14式に従って測位推定誤差を計算して、この
ルーチンを終了する。
【0063】
【数13】
【0064】
【数14】測位推定誤差=(σx 2 +σy 2 )1/2
2回目以降の測位においては、まず、ステップ146に
て積算距離STEPを読みだし、ステップ147にて方
位ψを読みだす。次に、ステップ148にて、数6式に
従ってδx 及びδy を求める。次に、ステップ149に
て数15式に従って行列Yi+1 を定義する。
【0065】
【数15】Yi+1 =〔δx δy 0 0〕T
次に、ステップ150にて、前述のσδx 2 ,σδy 2
計算ルーチンを実行し、σδx 2 及びσδy 2 を得る。
次に、ステップ151にてσa1 2 を定数const2に設定す
る。次に、ステップ152にて、数16式に示すように
予想誤差モデルを示す行列ΣUiを定義する。
【0066】
【数16】
【0067】次に、ステップ153にて、1回前(i回
目)の情報から求めた推定誤差行列ΣXi ,行列ΣUi
から、推定誤差の予測値を示す行列ΣYi+1 を数17式
に従って計算する。
【0068】
【数17】ΣYi+1 =ΣXi +ΣUi
次に、ステップ154にて、カルマンゲインを示す行列
Kgを数18式に従って計算する。ここで、Ai+1 は表
1に基づき航法方程式1〜3ルーチンにてそれぞれ設定
した方程式1〜9の左辺の行列であり、Σεi+1 は表2
に基づきそれぞれ定義した行列である。
【0069】
【数18】Kg=ΣYi+1 Ai+1 T 〔Σεi+1 +Ai+1
ΣYi+1 Ai+1 T 〕-1
次に、ステップ155にて、数19式に基づき今回の推
定誤差行列ΣXi+1 を求める。ここで、Iは4×4の単
位行列である。
【0070】
【数19】
ΣXi+1 =2・〔I−Kg・Ai+1 〕ΣYi+1
この後、ステップ156にて、数19式を計算し数13
式に当てはめて求まったσx 2 及びσy 2 を用いて、数
14式に従って測位推定誤差を計算して、このルーチン
を終了する。
【0071】このルーチンでの推定誤差行列ΣXi+1 の
計算方法はカルマンフィルターと呼ばれる最適フィルタ
ーを適用したものであり、測位解を求めるカルマンフィ
ルターによる誤差の分散・共分散行列(ΣXi+1 )の1
1成分(σx 2 )と22成分(σy 2 )の和を平方根と
した。必要であれば、33成分(σz 2 )も加えて平方
根としてもよい。
【0072】図15は測位ルーチンのフローチャートで
ある。ここでは、まず、ステップ157にて2回目以降
の測位か否かを判断する。1回目の測位であればステッ
プ161を実行し、2回目以降の測位であればステップ
158〜160を実行する。
【0073】ステップ161では次式に基づきX1 を計
算する。
【0074】
【数20】X1 =A1 -1L1
ここで、A1 は1回目の測位の時点における航法方程式
の左辺の行列Aである。
【0075】L1 は1回目の測位の時点における航法方
程式の右辺の行列Lである。X1 は1回目の測位の時点
における求める解を示すものである。ステップ162で
は、求めた解(XYZ座標)を緯度,経度及び高度に変
換してこのルーチンを終了する。
【0076】ステップ157にて、2回目以降の測位の
場合にはステップ158にて、測位推定誤差計算ルーチ
ンにて求めた解の予測値を示す行列Yi+1 を取り出す。
次に、ステップ159にて、改善量を示す行列Dを数2
1式に基づいて計算する。
【0077】
【数21】D=Li+1 −Ai+1 Yi+1
ここで、Ai+1 は今回の測位における航法方程式の左辺
の行列Aである。Li+1は今回の測位における航法方程
式の右辺の行列Lである。次に、ステップ160にて今
回の測位の測位解を示す行列Xi+1 を数22式に基づい
て計算する。
【0078】
【数22】Xi+1 =Yi+1 +Kg・D
ここで、Kgは前述の測位推定誤差計算ルーチンにて数
18式に従って計算したカルマンゲインを示す行列であ
る。この後、ステップ162にて、求めた解(XYZ座
標)を緯度,経度及び高度に変換してこのルーチンを終
了する。
【0079】このルーチンの計算方法はカルマンフィル
ターと呼ばれる最適フィルターを適用したものであり、
異常な解の変化を抑制するものである。圧電振動ジャイ
ロと車速センサーの出力を用いた解が方程式の解の予想
を与えるようになっているので、衛星の異常等で測位解
が大きく変動する場合の歯止めとなる。特に、車速=0
の場合は解の予想として移動なしとなり、予想誤差も0
となるため停車中の解のふらつきを抑制する効果があ
る。
【0080】図16は高度補正ルーチンのフローチャー
トである。ここでは、まず、ステップ163にてVDO
PがVDOP上限より低いか否かを判断する。VDOP
がVDOP上限より低ければステップ164へ跳び、V
DOPがVDOP上限より高ければ何もせずこのルーチ
ンを終了する。ステップ164では、測位により得られ
た高度と高度センサにより得られた高度の差をとり補正
量を得る。ここで、この高度補正ルーチンは3衛星以上
復調が終了し、4衛星により測位を行っているので、測
位により得られた高度はGPSのみにより得られたもの
となる。GPSによる測位は通常、数秒遅れて得られる
ので、高度センサにより得られた高度との間には時間差
が生じている。そこで、GPSの遅れに応じて、ジャイ
ロ方位算出ルーチン中のステップ69にて更新している
過去の高度データを用いる。例えば、GPSの遅れが3
秒の場合、測位により得られた高度から高度H〔−3〕
を引き補正量とする。次に、ステップ165にて過去の
高度データに補正量を加えて補正する。次に、ステップ
166にてUERE計算ルーチンを実行し、UEREを
得る。次に、ステップ167にてVDOPとUEREを
記憶してこのルーチンを終了する。尚、VDOPはσz
2 の平方根をとって求める。
【0081】図17はUERE計算ルーチンのフローチ
ャートである。ここでは、まず、各々の衛星の情報から
衛星の配置によらない指標であるSVACC(SVaccu
racy:個々の衛星の内部状態から、その衛星1個が測位
に及ぼす影響を計算した指標)を得て、ステップ168
にて、SVACCが0以上6未満であるか否かを判断す
る。SVACCが0以上6未満であれば、ステップ17
0にてユーザーレンジアキュラシーURA(User Range
Accuracy)を数23式により求める。SVACCが7以
上であれば、ステップ169にてユーザーレンジアキュ
ラシーURAを数24式により求める。
【0082】
【数23】
URA=2(1+SVACC/2) (0≦AVACC<7)
【0083】
【数24】
URA=2(SVACC-2) (7≦AVACC)
次に、ステップ171にて数25式に基づきUEREを
求める。
【0084】
【数25】
UERE=(UEA2 +Σ(意図的劣化係数以外の値)2 )1/2
=(UEA2 +119.7)1/2
この内、意図的劣化係数は、衛星の時計の誤差や衛星の
軌道の予測誤差によるものである。また、意図的劣化係
数以外の値は、衛星軌道の摂動予測誤差(1σの値=
1.0m)、電離層伝搬遅延補正誤差(1σの値=7.
5m)、対流圏伝搬遅延補正誤差(1σの値=2.0
m)、受信機雑音(1σの値=7.5m)、マルチパス
(1σの値=1.2m)、衛星に基づくその他の誤差
(1σの値=0.5m)、制御に基づくその他の誤差
(1σの値=0.5m)、利用者に基づくその他の誤差
(1σの値=0.5m)である。これらの誤差の大きさ
が変わった場合には、数25式の数値を変更すればよ
い。この後、このルーチンを終了する。
【0085】図18はジャイロ補正ルーチンのフローチ
ャートである。補正モードは、補正の状況を示すフラグ
である。ここでは、まず、補正モードがいずれかを判断
し、補正モードに応じてステップ173,174,17
5,176のモード−1,モード0,モード1,モード
2のいずれかのルーチンを実行し、このルーチンを終了
する。
【0086】ここで、補正は走行中に順次通過する第1
の地点、第2の地点、第3の地点の間のジャイロやGP
Sの出力データを用いて行う。モード−1では補正の開
始を判断し、モード0では第1の地点のデータを収集
し、モード1では第2の地点のデータを収集し、モード
2では第3の地点のデータを収集し、これらのデータを
基に補正を行うものである。
【0087】図19はモード−1ルーチンのフローチャ
ートである。補正モードがモード−1のとき、このルー
チンが実行される。補正モードは他のルーチンにより、
初期状態及び補正終了後にモード−1に設定されてい
る。よって、初期状態ではモード−1ルーチンが選択さ
れる。まず、ステップ177にて、車速が所定の下限値
より大か否かを判断する。車速が下限値(例えば10K
m/h)より低ければ,ステップ183にて補正モード
をモード−1のままとし、終了する。車速が下限値より
高ければ、ステップ178にて遅延時間分のジャイロデ
ータを保存しているか否かを調べる。ここで、遅延時間
分のジャイロデータを保存しているときにはステップ1
79へ進むが、遅延時間分のジャイロデータを保存して
いない場合にはステップ183へ進み、補正モードをモ
ード−1のままとし、終了する。ステップ179では補
正モードをモード0とし、ステップ180にて方位をφ
m1〔0〕に、また、GPSの遅延量をφm1〔1〕に
代入する。次に、ステップ181にてタイマーTφを0
にセットし、ステップ182にてカウンタcount0を0に
セットしてこのルーチンを終了する。タイマーTφは、
この後、経過時間をカウントする。
【0088】上述したように、モード−1ルーチンで
は、車速が下限値以上であり、かつ、GPSが出力する
データの遅延時間分のジャイロのデータを保存している
場合に、ジャイロ補正を開始する。
【0089】図20はモード0ルーチンのフローチャー
トである。補正モードがモード0のとき、このルーチン
が実行される。まず、ステップ184にてカウンタcoun
t0が1だけインクリメントされる。次に、ステップ18
5にて車速が所定の下限値より大となったか否かを判断
する。ステップ186では遅延時間分のジャイロデータ
が保存してあるか否かを判断する。ステップ187では
モード−1と連続しているか否かを判断する。ステップ
188ではモード−1とこの時点の方位が同じであるか
否かを判断する。ステップ185〜188のいずれかが
不成立の場合、ステップ189にて補正モードをモード
−1に変更し、このルーチンを終了する。ステップ18
5〜188のいずれも成立しているとき、ステップ19
0にて方位安定化がOKか否かが判断される。方位が不
安定であればこのルーチンを終了する。方位が安定して
おれば、ステップ191にて数値補正ルーチンを実行
し、ステップ192にて補正モードをモード1とする。
数値補正ルーチンの詳細は後述するが、GPS方位とジ
ャイロ方位の差を補正量とし、この補正量に応じてジャ
イロ方位等を補正するものである。次に、ステップ19
3にて、GPSにて測位した方位,遅延,誤差をそれぞ
れφ0〔0〕,φ0〔1〕,φ0〔2〕に代入する。次
に、ステップ194にてタイマーTφを0にセットす
る。次に、ステップ195にて遅延量に応じたジャイロ
方位gldelay-raw 〔遅延量〕をφ0raw に代入する。次
に、ステップ196にてカウンタcount0及びカウンタco
unt1を0にセットしてこのルーチンを終了する。
【0090】このように、モード0ルーチンでは、モー
ド−1での開始条件(車速が下限値以上であり、かつ、
GPSが出力するデータの遅延時間分のジャイロのデー
タを保存している)が継続しており、モード−1から続
いて実行されており、かつモード−1から方位に変更が
ない場合に、ジャイロ方位であるφ0raw ,GPS方位
であるφ0〔0〕等のデータを記憶する。この点が第1
の地点となる。
【0091】図21はモード1ルーチンのフローチャー
トである。補正モードがモード1のとき、このルーチン
が実行される。まず、ステップ197にてカウンタcoun
t1が1だけインクリメントされる。次に、ステップ19
8にて車速が所定の下限値より大となったか否かを判断
する。ステップ199では遅延時間分のジャイロデータ
が保存してあるか否かを判断する。ステップ198,1
99のいずれかが不成立の場合、ステップ203にてカ
ウンタcount1を0とし、このルーチンを終了する。ステ
ップ198,199のいずれも成立しているとき、ステ
ップ200にてモード1が2回目以降か否かを判断す
る。1回目であればステップ201にて測位した方位,
遅延をそれぞれφ1〔0〕,φ1〔1〕に代入し、この
ルーチンを終了する。ステップ200にてモード1が2
回目以降であれば、ステップ202にて前回のモード1
とこの時点の方位が同じであるか否かを判断する。方位
が連続していなければ、ステップ203にてカウンタco
unt1を0とし、このルーチンを終了する。方位が同じで
あれば、ステップ204にて方位安定化がOKか否かが
判断される。方位が不安定であればこのルーチンを終了
する。方位が安定しておれば、ステップ205にて数値
補正ルーチンを実行し、ステップ206にてGPSにて
測位した方位,遅延をそれぞれφ1〔0〕,φ1〔1〕
に代入する。次に、ステップ207にて誤差がφ0
〔2〕より大きいか否かを判断する。大きければステッ
プ208にてφ1〔2〕に誤差を代入し、小さければス
テップ209にてφ1〔2〕にφ0〔2〕を代入する。
次に、ステップ210にて遅延量に応じたジャイロ方位
gldelay-raw 〔遅延量〕をφ1raw に代入する。次に、
ステップ211にてタイマーTφの値にφ0〔1〕を加
え、φ1〔1〕を引いてT10とする。次に、ステップ
212にてφ1〔0〕からφ0〔0〕を引いて変数co
l1とする。次にステップ213にてこの角度差が採用
OKか否かを判断する。採用OKでなければこのルーチ
ンを終了する。採用OKであれば、ステップ214にて
φ1raw からφ0raw を引いてraw1とする。次に、
ステップ215にてcol1,raw1をそれぞれT10で割っ
て更新する。次に、ステップ216にて補正モードをモ
ード2に変更し、ステップ217にてタイマーTφを0
にリセットし、ステップ218にてカウンタcount1及び
カウンタcount2を0にセットしてこのルーチンを終了す
る。
【0092】このように、モード1ルーチンでは、モー
ド−1での開始条件(車速が下限値以上であり、かつ、
GPSが出力するデータの遅延時間分のジャイロのデー
タを保存している)が継続しており、モード1が2回以
上連続して実行されており、同じ方位が連続して安定し
ている場合に、ジャイロ方位であるφ1raw ,GPS方
位であるφ1〔0〕等のデータを記憶する。この点が第
2の地点となる。また、第1の地点と第2の地点間の時
間の差T10、GPS方位の差φ1〔0〕−φ0〔0〕
(ステップ212でのcol1),及びジャイロ方位の差φ
1raw −φ0raw (ステップ214でのraw1)を計算
し、ステップ215にて時間当たりのGPS方位col1,
及び時間当たりのジャイロ方位raw1を求めておく。
【0093】図22はモード2ルーチンのフローチャー
トである。補正モードがモード2のとき、このルーチン
が実行される。まず、ステップ219にてカウンタcoun
t2が1だけインクリメントされる。次に、ステップ22
0にて車速が所定の下限値より大となったか否かを判断
する。ステップ221では遅延時間分のジャイロデータ
が保存してあるか否かを判断する。ステップ220,2
21のいずれかが不成立の場合、ステップ225にて補
正モードをモード2のままとし、ステップ238にてカ
ウンタcount2を0とし、このルーチンを終了する。ステ
ップ220,221のいずれも成立しているとき、ステ
ップ222にてモード2が2回目以降か否かを判断す
る。1回目であればステップ223にて測位した方位,
遅延をそれぞれφ2〔0〕,φ2〔1〕に代入し、この
ルーチンを終了する。ステップ222にてモード1が2
回目以降であれば、ステップ224にて前回のモード2
とこの時点の方位が同じであるか否かを判断する。方位
が連続していなければ、ステップ2025て補正モード
をモード2のままとし、ステップ238にてカウンタco
unt2を0とし、このルーチンを終了する。方位が同じで
あれば、ステップ226にて方位安定化がOKか否かが
判断される。方位が不安定であればこのルーチンを終了
する。方位が安定しておれば、ステップ227にて数値
補正ルーチンを実行し、ステップ228にて測位した方
位,遅延をそれぞれφ2〔0〕,φ2〔1〕に代入す
る。次に、ステップ229にて誤差がφ1〔2〕より大
きいか否かを判断する。大きければステップ231にて
φ2〔2〕に誤差を代入し、小さければステップ230
にてφ2〔2〕にφ1〔2〕を代入する。次に、ステッ
プ232にて遅延量に応じたジャイロ方位gldelay-raw
〔遅延量〕をφ2raw に代入し、タイマーTφの値にφ
1〔1〕を加えφ2〔1〕を引いてT21とし、φ2
〔0〕からφ1〔0〕を引いてcol2とする。次にステッ
プ233にてこの角度差が採用OKか否かを判断する。
採用OKでなければ、ステップ234にてカウンタcoun
t2を0とし、ステップ235にてcol2を999(最大
値)に設定し、このルーチンを終了する。採用OKであ
れば、ステップ236にてφ2raw からφ1raw を引い
てraw2とし、col2,raw2をそれぞれT21で割って更新
する。次に、ステップ237にて、col1とcol2の差の絶
対値が所定の下限値をT21で割った値よりも大きいか
否かを判断する。小さければステップ238にてカウン
タcount2を0とし、このルーチンを終了する。大きけれ
ば、ステップ239を実行する。ステップ239ではco
l1とcol2の差の絶対値が所定の上限値をT21で割った
値よりも大きく、かつ、raw1とraw2の差の絶対値が所定
の上限値をT21で割った値よりも大きいか否かを判断
する。成立しなければステップ246へ跳び、成立すれ
ばステップ240を実行する。ステップ240ではraw1
とraw2の差の絶対値が所定の下限値をT21で割った値
よりも大きいか否かを判断する。小さければこのルーチ
ンを終了し、大きければステップ241を実行する。ス
テップ241では補正量和が所定の下限値より大きいか
否かを判断する。大きければステップ242でAD変換
係数補正値を初期化し、ステップ243でAD変換係数
補正ルーチンを実行する。小さければステップ244に
て逐次近似ルーチンを実行する。次に、ステップ245
にて補正モードをモード−1に設定しステップ246へ
進む。ステップ246では、φ2〔0〕をφ1〔0〕に
代入し、φ2〔1〕をφ1〔1〕に代入し、φ2〔2〕
をφ1〔2〕に代入し、col2をcol1に代入し、raw2をra
w1に代入する。次に、ステップ247にてタイマーTφ
を0にリセットし、このルーチンを終了する。
【0094】このように、モード2ルーチンでは、モー
ド−1での開始条件(車速が下限値以上であり、かつ、
GPSが出力するデータの遅延時間分のジャイロのデー
タを保存している)が継続しており、モード2が2回以
上連続して実行されており、同じ方位が連続して安定し
ている場合に、ジャイロ方位であるφ2raw ,GPS方
位であるφ2〔0〕等のデータを記憶する。この点が第
3の地点となる。また、第3の地点と第2の地点間の時
間の差T21、GPS方位の差φ2〔0〕−φ1〔0〕
(ステップ232でのcol2),及びジャイロ方位の差φ
2raw −φ1raw を計算し、ステップ235にて時間当
たりのGPS方位col2,及び時間当たりのジャイロ方位
raw2を求めておく。
【0095】図23は数値補正ルーチンのフローチャー
トである。まず、ステップ248にてGPS方位から遅
れ量を加味した方位ψ〔遅れ〕を引いて補正量を得る。
次に、ステップ249にてこの補正量がGPS方位誤差
のN倍以上でありかつGPS方位出力の最小単位の半分
以上であるか否かを判断し、この条件が成立すればステ
ップ250にて補正量和に補正量を加算して補正量の積
算値を求める。ここで、GPS方位誤差は次式に基づき
求めている。尚、VeはGPSの速度誤差定数である。
【0096】
【数26】
GPS方位誤差=arctan(Ve/(車速+Ve))
次にステップ251にてジャイロ方位に補正量を加え、
ジャイロ方位を補正する。次にステップ252にて、方
位の遅延量であるψ〔−3〕,ψ〔−2〕,ψ〔−
1〕,ψ〔0〕にそれぞれ補正量を加え、補正する。次
にステップ253にて基準方位を有効とし、ステップ2
54にて方位推定誤差ψerror をゼロとする。
【0097】次に、ステップ255にてGPS車速が予
め定めた車速補正下限(例えば10Km/h)以上であ
るか否かを判断し、車速補正下限以下であればこのルー
チンを終了し、車速補正下限以上であればステップ25
6にて、GPS車速を、遅れを加味したパルス数P〔遅
れ〕で割って変数ROLLnew を求める。また、GPS車速
誤差を、遅れを加味したパルス数P〔遅れ〕で割って変
数ROLLerrornewを求める。次に、ステップ257にて数
27式に基づき変数ROLLを補正し、ステップ258にて
数28式に基づき変数ROLLerror を補正する。
【0098】
【数27】
【0099】
【数28】
【0100】次に、ステップ259にて、パルス数の遅
延量であるP〔−3〕,P〔−2〕,P〔−1〕,P
〔0〕にそれぞれ補正量を加え、補正し、このルーチン
を終了する。
【0101】図24はAD変換係数補正ルーチン及び逐
次近似ルーチンのフローチャートである。まず、ここで
はGPS方位であるcol1,col2、ジャイロ方位であるra
w1,raw2を用いて、行列Ai G 及びLi G を次のように
定義する。
【0102】
【数29】
【0103】
【数30】Li G =〔col1 col2〕-T
更に、補正係数α及びθ0 を用いて、行列Xi G を次の
ように定義する。
【0104】
【数31】Xi G =〔α θ0 〕-T
ここで、図26を参照して補正係数α及びθ0 の関係を
説明する。ここでは、道路R上を車両が進行中、第1の
地点a1から第2の地点a2までの間モード1となり、
第2の地点a2から第3の地点a3までの間モード2と
なっているものとする。第1の地点a1の車両の実際の
方位をd1、第2の地点a2の車両の実際の方位をd
2、第3の地点a3の車両の実際の方位をd3とする。
ここで、第1の地点a1から第2の地点a2までに時間
T10がかかり、第2の地点a2から第3の地点a3ま
でに時間T21がかかったものとする。ここで、モード
1でのGPSの方位変化量はcol1・T10となり、時間
当たりの方位変化量はcol1となる。また、モード2での
GPSの方位変化量はcol2・T21となり、時間当たり
の方位変化量はcol2となる。モード2でのジャイロの方
位変化量はraw1・T10となり、時間当たりの方位変化
量はraw1となる。また、モード2でのジャイロの方位変
化量はraw2・T21となり、時間当たりの方位変化量は
raw2となる。ここで、Ai G ・Xi G =Li G (iは整
数)とおくと、Ai G 及びLi G は算出できるので、X
i G の各項である補正係数α,θ0 が求められる。
【0105】AD変換係数補正ルーチンにおいては、ま
ず、ステップ260にて変数iに0をセットし、次に、
ステップ261にて、col1,col2の算出時に使用したG
PS方位誤差の内最大値を示すφ2 2 から1/σθ2 を
数32式により求める。
【0106】
【数32】1/σθ2 =1/φ2 2 2
次に、ステップ262にて、行列Σε1 G -1を次式に基
づき算出する。
【0107】
【数33】
【0108】次に、ステップ263にて行列ΣX1 G を
次式に基づき算出する。
【0109】
【数34】ΣX1 G =(A1 G T Σε1 G -1A1 G )-1
次に、ステップ264にて行列X1 G を次式に基づき算
出する。
【0110】
【数35】X1 G =A1 G -1L1 G
尚、補正中の逆行列無しの場合には補正キャンセルとす
る。これにより、行列X1 G が求まり、補正係数α及び
θ0 が求まる。次に、ステップ265にて、圧電振動ジ
ャイロ15の変換係数ADAに補正係数αを掛けて変換
係数ADAを更新する。また、ステップ266にて行列
ΣXi+1 G の11成分の平方根を取って、圧電振動ジャ
イロ15の誤差係数ADAerror とする。ここではi=
0であるので、ここでは行列ΣX1 G の11成分の平方
根を取る。次に、ステップ267にて、θ0 をサンプル
数samples 及び変換係数ADAで割った値を変換係数A
DCから引いて、変換係数ADCを更新する。次に、ス
テップ268にて行列ΣXi+ 1 G の21成分の平方根を
取り、サンプル数samples 及び変換係数ADAで割って
圧電振動ジャイロ15の誤差係数ADCerror とする。
ここではi=0であるので、ここでは行列ΣX1 G の2
1成分の平方根を取る。次に、ステップ269にて遅延
データの再収集指定を行い、ステップ270にて補正量
和を零としてこのルーチンを終了する。
【0111】逐次近似ルーチンでは、まずステップ27
1にて2回目移行の係数補正か否かを判断する。1回目
の係数補正であれば、ステップ260に進み、以下AD
変換係数補正ルーチンと同一の処理を行う。2回目以降
の係数補正であれば、ステップ272に進み、変数iに
1を加える。次に、ステップ273にて、col1,col2の
算出時に使用したGPS方位誤差の内最大値を示すφ2
2 から数36式に応じてσθ2 を求める。
【0112】
【数36】σθ2 =φ2 2 2
次に、ステップ274にて、行列Σεi+1 G -1を次式に
基づき算出する。
【0113】
【数37】
【0114】次に、ステップ275及びステップ276
にて行列ΣXi G をそれぞれ行列ΣUi G 及び行列ΣY
i G に代入する。次に、ステップ277にて、行列Y
i+1 G を次式に基づいて定義する。
【0115】
【数38】Yi+1 G =〔1 0〕T
次に、ステップ278にて次式に基づきカルマンゲイン
を示す行列KgG を求める。
【0116】
【数39】KgG =ΣYi+1 G Ai+1 G T 〔Σεi+1 G
+Ai+1 G ΣYi+1 G Ai+1 G T 〕-1
次に、ステップ279にて次式に基づき推定誤差行列Σ
i+1 G を求める。ここで、Iは2×2の単位行列であ
る。
【0117】
【数40】
ΣXi+1 G =2〔I−KgG Ai+1 G 〕ΣYi+1 G
次に、ステップ280にて改善量を示す行列DG を次式
に基づき求める。
【0118】
【数41】DG =Li+1 G −Ai+1 G Yi+1 G
次に、ステップ281にて行列Yi+1 G を次式に基づ
き、カルマンゲインに改善量を掛けた値を加えて更新す
る。
【0119】
【数42】Yi+1 G =Yi+1 G +KgG DG
この後、ステップ265に進む。ステップ265にて、
圧電振動ジャイロ15の変換係数ADAにαを掛けて変
換係数ADAを更新する。また、ステップ266にて行
列ΣXi+1 G の11成分の平方根を取って、圧電振動ジ
ャイロ15の誤差係数ADAerror とする。次に、ステ
ップ267にて、θ0 をサンプル数samples 及び変換係
数ADAで割った値を変換係数ADCから引いて、変換
係数ADCを更新する。次に、ステップ268にて行列
ΣXi+1 G の21成分の平方根を取り、サンプル数samp
les 及び変換係数ADAで割って圧電振動ジャイロ15
の誤差係数ADCerror とする。次に、ステップ269
にて遅延データの再収集指定を行い、ステップ270に
て補正量和を零としてこのルーチンを終了する。
【0120】上記AD変換係数補正ルーチンにより、補
正係数α及びθ0 が求められ、ジャイロの変換係数AD
A,ADCや誤差係数ADAerror ,ADCerror がG
PS及びジャイロの測定値により補正され、より正確な
測位ができるようになる。
【0121】図25はジャイロ0点補正ルーチンのフロ
ーチャートである。まず、ここではステップ282にて
車速=0かつ補正量和が所定の下限値以下であるか否か
を判断し、否であればこのルーチンを終了し、否でなけ
れば次のステップ283に進む。ステップ283では電
源が入った直後であるか、又は、ドリフトを検出してい
るか否かを判断する。否であればステップ285にて車
速=0の1秒き平均を取り、否でなければステップ28
4にて全遅延データの平均を取る。次にステップ286
にて1秒間の和の内の最大値と最小値を求める。ステッ
プ287にて、この最大値と最小値の差が所定の上限値
(例えば20deg/s相当)より小さいか否かを判断
し、上限値より大きければ採用不可としてこのルーチン
を終了し、上限値より小さければステップ288にて求
めた平均値をゼロ点に変更する。
【0122】その後ステップ289にて遅延データの再
収集指定を行い、ステップ290にて補正モードをモー
ド−1に指定し、ステップ291にて補正量和を零にし
てこのルーチンを終了する。
【0123】このジャイロ0点補正ルーチンおいては、
ジャイロの0点を測定し、ドリフト量が零になるように
補正している。
【0124】以上説明したように、本実施例は、車両の
位置を検出する位置センサである車速センサ14及び圧
電振動ジャイロ15と、複数の衛星が発射する信号から
それぞれの衛星と車両との相対位置を検出する衛星情報
検出手段又は相対速度検出手段であるGPSと、位置セ
ンサ又は衛星情報検出手段の出力の少なくとも一方から
車両の絶対位置を測位する測位手段であるコンピュータ
19の測位ルーチン35,47と、衛星からの情報に基
づき位置センサの検出位置を補正するセンサ出力補正手
段であるコンピュータ19のジャイロ補正ルーチン37
とを備えたものである。
【0125】測位手段は、ジャイロの出力から求めた車
両の方位角,車速センサの出力から求めた積算距離,G
PSの衛星との相対速度の内いずれかを用いて測位して
いる。また、ジャイロ補正ルーチンは、衛星からの情報
に基づき方位角計算手段の計算定数を補正する方位角補
正手段でもある。また、ジャイロ補正ルーチン中で実行
される数値補正ルーチン内では、衛星からの情報に基づ
き積算距離計算手段の計算定数を補正する積算距離補正
手段(ステップ255〜259)を有している。
【0126】よって、ドリフトの生じやすいジャイロや
誤差の大きい車速センサを用いても、精度のよい測位が
できる。
【0127】尚、上記実施例のジャイロ補正ルーチンに
示すように、時間あたりのジャイロの方位変化量(raw
1,raw2)と、時間当たりの衛星情報から求めた方位変
化量(col1,col2)とから方位角計算手段であるジャイ
ロ方位算出ルーチンの計算定数(ADA,ADC)を補
正するとよい。
【0128】また、更に、ジャイロ補正ルーチン中の数
値補正ルーチンに示すように、ジャイロの方位と衛星情
報から求めた方位の差を補正量とし(ステップ24
8)、ジャイロの方位補正量を加え補正する(ステップ
251)とよい。
【0129】また、更に、ジャイロ補正ルーチン中の数
値補正ルーチンに示すように、ジャイロの方位と衛星情
報から求めた方位の差を補正量を積算した補正量和を求
め(ステップ250)、また、この補正量和が少ないと
き、AD変換係数補正ルーチンに示すように、時間あた
りのジャイロの方位変化量(raw1,raw2)と時間当たり
の衛星情報から求めた方位変化量(col1,col2)との関
連を求め、方位角計算手段の計算定数を補正するととも
に、補正量和が多いとき、逐次近似ルーチンに示すよう
に、時間あたりのジャイロの方位変化量(raw1,raw2)
と時間当たりの衛星情報から求めた方位変化量(col1,
col2)との関連をカルマンフィルターを用いて求め、方
位角計算手段の計算定数を補正するとよい。
【0130】また、上記実施例の数値補正ルーチンに示
すように、衛星情報から求めた車速(GPS車速)と車
速誤差(GPS車速誤差)とから積算距離計算ルーチン
の補正量(ROLL,ROLLerror)を算出し積算距離及び積算
距離の誤差量を補正するとよい。
【0131】
【発明の効果】請求項1の発明によれば、ドリフトの生
じやすい回転角速度センサや誤差の大きい車速センサを
用いても、精度のよい測位ができる。更に、補正量の増
加により増える誤差を予測し補正するので、より方位角
計算手段の出力が正確となる。
【0132】
【0133】
【0134】
【0135】DETAILED DESCRIPTION OF THE INVENTION
[0001]
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention is applied to a vehicle such as an automobile.
In-vehicle measurement that measures the position of the vehicle and informs the current position information
Position device.
[0002]
2. Description of the Related Art For example, Japanese Patent Application Laid-Open No. 61-137,091
And JP-A-61-167886.
As in the Global Positioning System (Grob
al Positioning System (hereinafter referred to as GPS)
Conventionally, a technology of a positioning device for a vehicle has been proposed.
The GPS has a plurality of satellites. Satellites have accurate time,
Road function and data indicating the accuracy of information
It is transmitted to the ground at a predetermined timing. On the ground,
Determining satellite position from time and orbit functions obtained from stars
The difference between the time of the satellite and the time of the receiving point,
Based on the propagation delay time, the distance from the satellite to the receiving point
You can know. Each of the three different satellites
About the position of the satellite and the distance from the satellite to the receiving point.
In this case, by solving the ternary simultaneous equation,
The three-dimensional position of the receiving point can be determined. However,
Normally, the time at the reception point contains a relatively large error.
In order to compensate for the clock error at the receiving point,
Information of one satellite is needed.
[0003] In addition, the altitude of the receiving point hardly changes.
Assuming that, from the information of the three satellites,
A two-dimensional position can be determined.
[0004] However, GPS satellites that actually exist
The number of stars is limited, and cars
In the shadow of the building or inside, the radio wave is cut off, and three or four
It may be difficult to receive radio waves from one satellite.
Then, in the technology of JP-A-61-137909,
Using a fiber optic gyro to detect heading changes
And detects the distance traveled by the vehicle using a vehicle speed sensor.
Then, these detection information is supplementarily specified and transmitted from one satellite.
Enables vehicle position detection even when only waves can be received
are doing. Further, the technique disclosed in Japanese Patent Application Laid-Open No.
In the art, the magnetic compass and rangefinder mounted on the car are supplementary
To receive only radio waves from two satellites.
In this case, the position of the own vehicle can be detected.
[0005]
However, the gyro is not warm.
There is an effect of drift such as degree. Azimuth with drift
Drift is cumulatively added to the
It will increase with time. About the vehicle speed sensor
Also measures the rotation of the wheel's axis of rotation,
There is a high possibility that errors will occur due to wheel slip, etc.
The error of the integrated distance increases with time. There
Designed to reduce gyro drift,
Measure the absolute speed between the vehicle and the vehicle
It is conceivable to correct the wheel speed by finding the rate
However, the price of each sensor rises,
The cost goes up.
Therefore, in the present invention, such a door is used.
A rotational angular velocity sensor or a car with a large error that is prone to lift
Even if a speed sensor is used, accurate positioning can be performed.
The task is to
[0007]
Means for Solving the Problems To solve the above problems,
According to the first aspect of the present invention, the position of the vehicle is detected.
Emitting position sensor; from signals emitted by multiple satellites
Satellite information detection that detects the relative position between each satellite and the vehicle
Means: less output of position sensor or satellite information detecting means
Positioning means for positioning the absolute position of the vehicle from one side; satellite
To correct the position detected by the position sensor based on information from the
Sensor output correction means;In the in-vehicle positioning device provided,
The azimuth correction means calculates the gyro azimuth and the satellite information.
A correction obtained by integrating the obtained difference in azimuth as a correction amount and integrating the correction amount
Sum, and when the sum of the correction amounts is small, the
Gyro heading change and satellite information per hour
Find the relationship with the azimuth change amount and calculate the azimuth angle calculation means
When the constant is corrected and the sum of the correction amounts is large,
Gyro heading change per interval and satellite information per time
Kalman filter for the relationship with the azimuth change amount obtained from the report
To correct the calculation constant of the azimuth angle calculation means.
It was to so.
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014][Action] Claim 1
According to the invention described in the above, the gyro is
Detects the azimuth deviation of the vehicle. The vehicle speed sensor measures the speed of the vehicle.
To detect. Relative speed detection means Signals fired by multiple satellites
, The relative speed between each satellite and the vehicle is detected. One
The azimuth calculating means calculates the azimuth of the vehicle from the output of the gyro.
You. The integrated distance calculation means calculates the product of the vehicle from the output of the vehicle speed sensor.
Find the arithmetic distance. The positioning means is the azimuth of the vehicle, the total distance,
Positioning is performed using any of the relative velocities with the satellite. Bearing
The angle correction means is based on the information from the satellite.
Correct the calculation constant. The integrated distance correction means uses information from the satellite.
The calculation constant of the integrated distance calculation means is corrected based on the information. Yo
Gyro and wheel slip which drift occurs
High accuracy even when using a vehicle speed sensor where the distance is more likely to go wrong
Positioning is possible and inexpensive sensors can be used.
[0015]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below with reference to the drawings. Figure
1 shows an embodiment of an in-vehicle positioning device. This device is
Mounted on a moving vehicle, receiving antenna 10, GPS reception
Device 11, GPS demodulator 12, display device 13, vehicle speed sensor
14, a piezoelectric vibrating gyroscope 15, an altitude sensor 16,
A child control unit 17 is provided. From each GPS satellite
An electric wave of 1.57542 GHz is transmitted. GPS receiver
Is the transmitter 11 a GPS satellite via the receiving antenna 10?
Receive these radio waves. The received signal is a GPS demodulator 12
Sent to The GPS demodulator 12 receives information on radio waves,
In other words, the function indicating the orbit of the satellite, the time, and the accuracy of the information are indicated.
The demodulated code is output to the electronic control unit 17.
The vehicle speed sensor 14 is pulsed according to the rotation of the vehicle wheel shaft.
A signal is output to the electronic control unit 17. car
The speed sensor 14 is, for example, an automobile transmission.
Around the output shaft or the shaft that rotates synchronously with it
Magnet and a lead switch provided near this magnet.
The reed switch is turned off as the wheels rotate.
It may be configured to turn on and off. Piezoelectric vibration gyro 1
5 is fixed to the car, centered on the vertical axis of the car
Analog signal with a level proportional to the rotational angular velocity ω
This is output to the electronic control unit 17. Piezoelectric vibration
The gyro 15 can output a voltage of 0 to 5 volts.
2.5 volts around the center, 2.5 volts for clockwise rotation
In the case of left rotation, a signal of 2.5 volts or less
Has been adjusted to output. The altitude sensor 16 is
An analyzer whose level changes in response to pressure changes, that is, altitude changes
A log signal is output to the electronic control unit 17.
You. The display device 13 displays the latitude, longitude, and altitude of the vehicle.
Etc. are displayed, and the electronic control unit 17
Receives and displays information.
The electronic control unit 17 includes a microcomputer.
Computer 19, input / output interface (I / O) 18,
And an analog / digital converter (A / D converter) 20
Prepare. The input / output interface (I / O) 18
PS receiver 11, GPS demodulator 12, and vehicle speed sensor 1
4 to the microcomputer 19
The information from the microcomputer 19 is displayed on the display 1
Send to 3. Analog / digital converter (A / D converter)
20 is from the piezoelectric vibrating gyroscope 15 and the altitude sensor 16
A / D conversion of analog signals into digital signals
To the computer 19. Signal from vehicle speed sensor 14
Is connected to the external interrupt terminal of the microcomputer 19
Have been.
The microcomputer 19 operates as shown in FIG.
It works along the chart. Microcomputer 19
When the power is turned on and starts, first in step 30
Initialization is performed. Here, I / O port settings,
Memory initialization and interrupt settings are performed. interrupt
Is a timer interrupt that is executed at regular intervals and an external
An external interrupt executed in response to a change in the level of the interrupt pin
Set After this, the main routine will be executed at regular intervals.
The gyro direction calculation in step 54.
Execute the exit routine. In this embodiment, the discount is made every 10 ms.
Entrenchment. Also, the level of the external interrupt pin is
The main routine process is temporarily interrupted every time the
The integrated distance calculation routine of step 55 is executed. Initialization
When the step ends, demodulate 3 or more satellites in step 31
It is determined whether the process has been completed. Here, the demodulated satellite
If the number is more than two, the navigation equation 1
The navigation equation is set in the routine and the positioning
The positioning error is calculated by the constant error calculation routine. Next
In step 34, the positioning estimation error is set in advance.
Judge whether it is smaller than the upper limit (for example, 300 m)
You. If the positioning estimation error is smaller than the upper limit, step 35
Positioning is performed by the positioning routine of step 36, and the altitude
The altitude is corrected in the normal routine, and
Gyro and vehicle speed are corrected by the gyro correction routine
U. Thereafter, in step 38, the current position information (latitude, longitude,
(Degree, altitude, etc.) to the display device 13. next,
Determine whether gyro direction can be displayed in step 39
I do. If the gyro heading can be displayed, step 40
Outputs the gyro orientation to the display device 13. So
After that, in the gyro zero point correction routine of step 41,
The gyro is corrected, and the process returns to step 31.
In step 31, if the number of satellites that can be demodulated is
If it is below, or the positioning estimation error is the upper limit in step 34
If it is larger, demodulation is completed for two or more satellites in step 42.
Is determined. Here, the number of demodulated satellites is
If 2, the azimuth estimation error is set in advance in step 43
Judge whether it is smaller than the upper limit (for example, 30 °)
I do. As will be described later, the azimuth estimation error
It is calculated in the gyro heading calculation routine. This direction
If the fixed error is smaller than the upper limit, the navigation method in step 44
The navigation equation is set by the equation 2 routine, and step 45 is performed.
Calculate the positioning estimation error with the positioning estimation error calculation routine
You. Next, in step 46, the positioning estimation error is set in advance.
It is determined whether it is smaller than the upper limit (for example, 300 m).
Refuse.
If the positioning estimation error is smaller than the upper limit,
Positioning is performed in the positioning routine of step 47, and step 36
Altitude correction is performed by the altitude correction routine. Then
Jump to step 38.
At step 42, one or more satellites that can be demodulated
In the case of below, or the azimuth estimation error is the upper limit in step 43
If it is larger, or if the positioning estimation error
If it is larger than the upper limit, the azimuth estimation error is predicted in step 48.
Is smaller than the set upper limit (for example, 30 °)
Judge. If the azimuth estimation error is smaller than the upper limit,
Calculate the accumulated distance estimation error STEPerror at step 49
I do. The accumulated distance estimation error STEPerror
Number of pulses within a certain time captured in the distance calculation routine
And the rotation error ROLLerro obtained by the numerical correction routine described later.
Multiply by r. In step 50, the integrated distance estimation
The error STEPerror is a preset upper limit (for example, 10
0m) is determined. Incorrect estimation of total distance
If the difference STEPerror is smaller than the upper limit, the step
Set the navigation equation with 51 navigation equation 3 routines,
Positioning estimation by the positioning estimation error calculation routine in step 52
Calculate the error. Next, in step 53, the positioning estimation error
The difference is smaller than a preset upper limit (for example, 300 m).
It is determined whether or not. Positioning error is smaller than upper limit
If so, it jumps to the positioning routine of step 47.
In step 48, the azimuth estimation error exceeds the upper limit.
If it is large, or if the accumulated distance estimation error
If it is larger than the upper limit, or if positioning estimation error
If the difference is greater than the upper limit, jump to step 41.
The details of each subroutine will be described below.
FIG. 3 is a flowchart of a gyro heading calculation routine.
It is a chart. Here, first, in step 56
The position deviation Δθ is obtained according to the following equation.
[0024]
## EQU1 ## Δθ = Δθ + ADA (ADG-ADC)
Here, ADG is an analog output of the piezoelectric vibrating gyroscope 15.
Is the value obtained by digitally converting
Is a number. The coefficient ADC is the analog when the rotational angular velocity ω is zero.
The value obtained by digitally converting the log voltage value (2.5 volts)
Has been set.
The coefficient ADA is calculated as follows:
Convert the value obtained by digitally converting the analog output into an angle
It is a value set as follows. Formula 1 is calculated by timer
Δθ is calculated per unit time
Is shown. Next, at step 57, the vehicle speed becomes zero.
It is determined whether the vehicle speed is zero or not.
Updates the gyro heading error turn based on Equation 2, and
In step 59, the gyro offset value offset is counted.
Update based on equation (3). If the vehicle speed is zero at step 57,
If not, skip steps 58 and 59 and proceed to the next step.
[0026]
## EQU2 ## turn = turn + ADAerror (ADG-ADC)
[0027]
[Equation 3] offset = offset + ADCerror
Here, ADAerror is the slope of the output of the piezoelectric vibrating gyroscope.
ADCerror is the conversion coefficient representing the deviation of
This is a conversion coefficient indicating a deviation from a gyro zero point.
Next, at step 60, the reference direction is valid.
It is determined whether or not there is. If the reference direction is valid,
Proceed to step 62. If the reference direction is not valid, display error
Set a value equal to or larger than the difference upper limit to the azimuth estimation error
To
Next, at step 64, the piezoelectric vibrating gyro
The digital output value A is added to the fifteen interrupt output value sum ADS1.
DG is added and interrupt output value sum ADS1 is updated.
Is done. Next, in step 65, the timing of outputting the positioning solution
It is determined whether or not. This timing is 1 second in this embodiment.
And every time. If it is a positioning solution output timing,
Step 62 and subsequent steps are executed, and if it is not the positioning solution output timing
The gyro azimuth calculation routine ends. In step 62
Is calculated by adding the azimuth deviation Δθ to the azimuth
The direction for insertion # 1 is updated. Next, in step 63
Azimuth deviation Δθ is added to azimuth ψ1raw for interrupt
Thus, the interrupt direction # 1raw is updated. Next,
At step 66, the azimuth estimation error calculation routine is executed,
Find the position error. Next, at step 67, the interrupt
The correction amount is added to the position # 1. Next, in step 68, the bearing
Substitute the interrupt direction 割 り 込 み 1 into ψ and divide into the direction ψraw
Ψ1raw is substituted for the output value sum ADS.
The output value sum ADS1 for embedding is substituted. Next, step 6
At 9, the delay data of the output of the altitude sensor 16 is updated.
The delay data of the output of the altitude sensor 16 includes the altitude 3 seconds ago.
H [-3], altitude H 2 seconds ago, H [-2], altitude H 1 second ago
[-1], the four output data of the current altitude H [0]
Have. Here, the altitude H [-2] 2 seconds ago is 3 seconds
Altitude H [-1] one second before to H [-3] before 2 seconds
One second before the current altitude H [0] to the previous altitude H [-2]
The altitude H [-1], the output of the altitude sensor 16 is
The altitude is updated to H [0]. Next, step 7
Update the output delay data of the piezoelectric vibrating gyroscope 15 with 0
I do. The delay data of the direction of the piezoelectric vibrating gyroscope 15 includes:
Azimuth 3 seconds ago [-3], Azimuth 2 seconds ago [-2], 1
Four seconds, the azimuth −1 [-1] two seconds ago and the azimuth ψ [0]
It has output data. Here, the direction 2 seconds ago
[−2] is changed to azimuth 3 seconds ago [−3] to azimuth 1 second before ψ
[-1] is changed to the azimuth two seconds ago {[-2], the current azimuth}
[0] is obtained in step 63 in the azimuth ψ [-1] one second before.
Is updated to the current azimuth ψ [0].
You. Next, at step 71, the vehicle speed sensor 14
Update the delay data of the middle number of pulses.
In the delay data of the number of pulses, the pulse 3 seconds before
Pulse number P [-3], pulse number 2 seconds before P [-2], 1 second before
Of the current pulse number P [-1] and the current pulse number P [0]
It has two output data. Here, the pal 2 seconds ago
Pulse number P [-2] to pulse number P [-3] 3 seconds before, 1 second
The previous pulse number P [-1] is changed to the pulse number P [-2] two seconds ago.
In addition, the current pulse number P [0] is changed to the pulse number P one second before.
In [-1], the output of the altitude sensor 16 is
P [0] is updated. Step 66 ends
Then, the gyro azimuth calculation routine ends.
FIG. 4 is a flowchart of a direction estimation error calculation routine.
It is a chart. Here, first, in step 72,
Determine whether the flag sign is 1 and if the flag sign is 1,
If the flag sign is not 1, the step 73 is executed.
Execute 74. This flag sign indicates that the vehicle is turning right
Or the counterclockwise rotation. The initial value is 1.
It has been set. In step 73, the azimuth deviation RL is gyrated.
Add the azimuth error turn. In step 74, the azimuth deviation
The gyro azimuth error turn is subtracted from RL. Next,
In step 75, it is determined whether the azimuth deviation RL is above zero,
If it is not greater than zero, at step 76 the azimuth deviation RL
The sign is inverted, and the state of the flag sign is changed in step 77.
Update (change to 0 if 1; change to 1 if 0). next
In step 78, it is determined whether or not the azimuth absolute value is corrected.
If the azimuth absolute value is corrected, it is turned off in step 79
Substitute GPS estimation error GPSerror for set value offset
Then, in step 80, the rotation direction signal RL is set to zero.
Then, in step 81, the azimuth deviation estimation error Δθ error
Is calculated according to Equation 4 and the azimuth estimation error calculation routine is terminated.
Complete. This process takes into account the offset error
The azimuth estimation error Δθerror is obtained.
[0032]
[Equation 4] Δθ error = RL + offset
FIG. 5 is a flowchart of the integrated distance calculation routine.
Here, first, in step 82, the pulse during a certain time
Capture numbers. Next, in step 83, the power during
Multiply the number of looses by the variable ROLL to obtain the total distance STEP
You. The variable ROLL is the effective radius of the tire and the output of the vehicle speed sensor 14.
The variable obtained by taking into account the force characteristics
This is for converting the number of threads into a distance. Step 83
Is completed, the integrated distance calculation routine ends.
FIG. 6 is a flowchart of the navigation equation 1 routine.
It is. Here, first, at step 84, four satellites
It is determined whether demodulation has been completed. 4 or more satellites demodulated
If so, at step 86, equation 1 in Table 1 is set.
At step 89m TwoRun the calculation routine
And σm Two(Σm TwoIndicates the prediction error of each satellite.mIs demodulated
Indicates the number of satellites that have been terminated.
Each σ1 Two, ΣTwo Two, ΣThree Two, ΣFour TwoIs calculated)
Is obtained, in step 93, according to the determinant 1 in Table 2.
Matrix Σε that indicates the prediction error of the measured valuei + 1(iUntil last time
Indicates the number of times of positioning.i + 1Is the positioning this time. )
Then, this routine ends. Where the navigation equation is
AX = L. A is Lm, Mm, Nm(
mIs the number of demodulated satellitesm= 1 to 4)
The matrix of 4, X is [Δx Δy Δz cΔt]T, L is
It is represented by a 1 × 4 matrix.
[0034]
[Table 1]
As shown in FIG. 27, (Lm, Mm,
Nm) Is the previous position from the m-th satellite (the last position
3 shows a vector heading to a positioning point). This vector is a satellite
From information from (Δx, Δy, Δz)
The vector from the position to the positioning point is shown. Δt is last time
Time difference between the time at
Show. c indicates the speed of light. Here, demodulation is completed for four or more satellites
Som= 1 to 4 satellites to previous position
The matrix A is represented using the elements of the heading vector.
The matrix L is [ΔL1 ΔL2 ΔL3 ΔL4]TRepresented by
You. These ΔL1, ΔL2, ΔL3, and ΔL4 are the first to fourth, respectively.
L between the satellite and the positioning pointm(m= 1 ~ 4) to 1
Distance L between the fourth satellite and the previous position0mDistance subtracted
Indicates separation. By solving this navigation equation 1, four
Three-dimensional relative positions (Δx, Δ
y, Δz) can be obtained.
In FIG. 6, demodulation ends at step 84.
If the number of satellites obtained is 3, step 85 is executed.
In step 85, it is determined whether there is altitude data. High
If there is degree data, at step 87 equation 2 in Table 1
At step 90.m TwoExecute the calculation routine
And σ for three satellites1 Two, ΣTwo Two, ΣThree TwoSeeking
At step 92a TwoExecute the calculation routine to calculate σ
a Two(Σa TwoIndicates the prediction error for altitude. )
Then, in step 94, measurement is performed according to the determinant 2 in Table 2.
Matrix Σε indicating the prediction error of the valuei + 1Establishing this root
End
[0037]
[Table 2]
Here, the navigation equation 2 is the same as the navigation equation 1
Similarly, it is expressed in the form of AX = L. Here, 3
Since the stars have been demodulated,m= 3 or 3 satellites
Matrix A is expressed using the elements of the vector
Have been. The matrix L is [ΔL1 ΔL2 ΔL3 Δ
h]TIt is represented by This Δh is obtained by the altitude sensor 16.
This shows the difference between the measured positioning altitude and the previous position altitude. this
Obtained from 3 satellites by solving navigation equation 2
3D relative from information and altitude difference Δh obtained from altitude sensor
The position (Δx, Δy, Δz) can be obtained.
In step 85, if no altitude data exists
Then, in step 88, equation 3 in Table 1 is set,
In step 91, σm TwoExecute the calculation routine and
Σ for satellite1 Two, ΣTwo Two, ΣThree TwoAfter asking
In step 95, the prediction error of the measured value is
Matrix Σε indicating the differencei + 1And terminate this routine.
You. Here, navigation equation 3 is similar to navigation equation 1,
AX = L. Here, three satellites are demodulated
Because it is finished,m= Previous ranking from 3 satellites of 1-3
Matrix A is represented using the elements of the vector
You. The matrix L is [ΔL1 ΔL2 ΔL30]TRepresented by
It is. It is assumed that the difference Δz in the height direction is zero. This voyage
Information obtained from three satellites by solving the equation 3
The two-dimensional relative position (Δx, Δy) can be obtained from the report
Wear.
FIG. 7 is a flowchart of the navigation equation 2 routine.
It is. Here, first, at step 96, the altitude data
It is determined whether there is data. If you have altitude data,
In step 97, equation 4 in Table 1 is set, and step 9
At 9m TwoRun the calculation routine to target two satellites
Σ1 Two, ΣTwo Two, And in step 101, σa TwoTotal
Execute the calculation routine anda TwoAnd go to step 102
And σG TwoExecute the calculation routine to calculate σG Two(ΣG TwoIs piezoelectric
4 shows a prediction error of an output of a vibration gyro. ), Then
In step 104, the measured values are calculated according to the determinant 4 in Table 2.
Matrix Σε indicating prediction errori + 1And define this routine
finish. Here, since demodulation has been completed for two satellites,
m= Vector heading from two satellites 1-2 to previous position
And the matrix A is represented using Gx and Gy.
You. The following relationship exists between Δx and Δy and Gx and Gy:
is there.
[0041]
(Equation 5)
Δy / Δx = sin (180 ° -ψ) / cos (180 ° -ψ)
= Gx / Gy
The matrix L is [ΔL1 ΔL2 Δh 0]TRepresented by
You. By solving Navigation Equation 4 using Equation 3,
Information obtained from two satellites, one obtained from a piezoelectric vibrating gyro
3D relative from altitude difference Δh obtained from position ψ and altitude sensor
The position (Δx, Δy, Δz) can be obtained.
If there is no altitude data in step 96,
At step 98, equation 5 in Table 1 is set.
Σ at 100m TwoExecute the calculation routine and two satellites
Σ for1 Two, ΣTwo TwoAt step 103.
G TwoExecute the calculation routine to calculate σG TwoAfter asking
In step 105, the prediction of the measured value is incorrect according to the determinant 5 in Table 2.
Matrix Σε indicating the differencei + 1And terminate this routine.
You. Here, since demodulation has been completed for two satellites,m= 1
Elements of the vector heading from the two satellites to the previous position
And Gx and Gy to represent the matrix A. Ma
The matrix L is [ΔL1 ΔL2 0 0]TIt is represented by High
It is assumed that the vertical difference Δz is zero. Using Equation 3
Obtained from two satellites by solving navigation equation 5
Information and two-dimensional phase from direction ψ obtained from piezoelectric vibrating gyroscope
The pair position (Δx, Δy) can be obtained.
FIG. 8 is a flowchart of the navigation equation 3 routine.
It is. Here, first, at step 106,
It is determined whether demodulation has been completed for stars or more. Demodulate one or more satellites
If so, step 107 is performed. Step
In step 107, it is determined whether there is altitude data. Altitude
If there is data, the equation 6 in Table 1 is
And set σ in step 113m TwoExecute the calculation routine
And σ for one satellite1 TwoAnd step 11
Σδ at 5x Two, Σδy TwoExecute the calculation routine to calculate σδ
x Two, Σδy Two(Σδx Two, Σδy TwoIs the vehicle speed sensor and pressure
X-coordinate of two-dimensional position obtained from output of electric vibratory gyro and
And the prediction error of the Y coordinate. ), And step 119
At σa TwoExecute the calculation routine to calculate σa TwoAfter asking
In step 121, the measured values are calculated according to the determinant 6 in Table 2.
Matrix Σε indicating prediction errori + 1And define this routine
finish. Here, since one satellite has been demodulated,
m= Vector required from one satellite to the previous position
The matrix A is represented using primes. The matrix L is [Δ
L1 δx δy Δh]TIt is represented by ΔxPassing
And δyIs calculated by the following equation.
Required in
[0044]
(6)x= STEP · cos (180-ψ)
δy= STEP · sin (180-ψ)
Solving navigation equation 6 using equation 6 gives one
Information obtained from satellites of Japan, azimuth obtained from piezoelectric vibrating gyroscope
ψ, the integrated distance STEP obtained from the vehicle speed sensor, and the altitude sensor
The three-dimensional relative position (Δx, Δ
y, Δz) can be obtained.
If there is no altitude data in step 107
In step 110, equation 7 in Table 1 is set at step 110,
In step 114, σm TwoExecute the calculation routine and get one
Σ for satellite1 Two, And in step 116 σδ
x Two, Σδy TwoExecute the calculation routine to calculate σδx Two, Σδ
y Two, The determinant 7 in Table 2 is obtained in step 122.
A matrix Σε indicating the prediction error of the measured value according toi + 1Determined
Then, this routine ends. Here, one satellite is demodulated
Because it is finished,m= 1 satellite to previous position
The matrix A is represented using the elements of the heading vector.
The matrix L is [ΔL1 δx δy 0]TRepresented by
You. It is assumed that the difference Δz in the height direction is zero.
Solving the navigation equation 7 using the equation (6)
Therefore, information obtained from one satellite, piezoelectric vibration gyro
Distance obtained from the direction ψ obtained from the vehicle speed sensor
From the two-dimensional relative position (Δx, Δy)
You.
Number of satellites demodulated in step 106
If not, step 108 is performed. Step 1
At 08, it is determined whether or not there is altitude data. Altitude data
In step 111, equation 8 in Table 1 is set.
At step 117x Two, Σδy TwoCalculation roux
Run chin and σδx Two, Σδy Two, Step 1
20 at σa TwoExecute the calculation routine to calculate σa TwoSought
Then, in step 123, measurement is performed according to determinant 8 in Table 2.
Matrix Σε indicating the prediction error of the valuei + 1Establishing this root
End Here, no satellite has been demodulated
Therefore, the matrix A is represented by a unit matrix. Also, the matrix L
Is [δx δy Δh 0]TIt is represented by Use Equation 6
By solving the navigation equation 8, the piezoelectric vibration gy
B) azimuth obtained from b, integrated distance STE obtained from vehicle speed sensor
3D relative from P and altitude difference Δh obtained from altitude sensor
The position (Δx, Δy, Δz) can be obtained.
If there is no altitude data in step 108
In step 112, equation 9 in Table 1 is set in step 112,
In step 118, σδx Two, Σδy TwoCalculation routine
Run and σδx Two, Σδy Two, And step 12
4 shows the prediction error of the measured value according to determinant 9 in Table 2.
Matrix Σεi + 1Is determined, and this routine ends. This
Here, since no satellite has been demodulated, the matrix A is simply
It is represented by a rank matrix.
The matrix L is [δx δy 0 0]T
It is represented by It is assumed that the difference Δz in the height direction is zero.
By solving the navigation equation 9 using the equation 6, the piezoelectric
Azimuth か ら obtained from vibrating gyroscope and product obtained from vehicle speed sensor
Find two-dimensional relative position (Δx, Δy) from arithmetic distance STEP
Can be
FIG.m TwoCalculation Routine Flowchart
It is. Here, first, at step 125, UER
Execute the E calculation routine, and among the i = 1 to 4th satellites,
URE of each satellite that has finished demodulation (UERE is
Indicates the 1σ error amount regardless of the arrangement of stars. ). Next
In step 126, the following equation is obtained for each satellite.
Based onm TwoAsk for.
[0051]
[Equation 7]m Two= UERETwo
After this calculation, this routine ends.
FIG.a TwoCalculation routine flow chart
It is. Here, first, at step 127, the error
URE and VDOP (VDOP is an error for altitude
Shows the difference index. ) Is determined. U for error
If ERE and VDOP are present, at step 128 (V
DOP × UERE)TwoTo σa TwoAnd assign this to
End ERE and VDOP for error must be present
In step 129, a predetermined constant constTwoTo σa
TwoAnd terminates this routine.
FIG.G TwoCalculation routine flow chart
It is. Here, first, in step 130,
The distance STEP is read from the memory. Then, step
The azimuth calculated by the azimuth estimation error calculation routine at 131
The deviation estimation error Δθerror is extracted, and the
ΣG TwoIs calculated.
[0054]
(Equation 8)
σG Two= (N × STEP × sinΔθerror)Two
Here, n is a constant. After doing the above calculations,
End
FIG.x Two, Σδy TwoCalculation routine
It is a flowchart of FIG. Here, first, Step 1
E @ 33x, EψyBy executing the calculation routine, Eψ
xAnd Eψy(EψxAnd EψyIs a piezoelectric vibrating gyroscope
The error of the X coordinate and the Y coordinate is shown. ). Next
In step 134, the accumulated distance estimation error STEP
Find r. The accumulated distance estimation error STEPerror is
Pal within a certain period of time captured in the integrated distance calculation routine
Number of rotations and the rotation error ROLL obtained by the numerical correction routine described later.
Ask for error. Next, step 135 and step
136 based on the following equation.x TwoAnd σδy TwoTotal
Calculate.
[0056]
## EQU9 ## σδx Two= (Eψx+ STEPerror · cos
(180 ° -ψ)Two
σδy Two= (Eψy+ STEP error · sin (180
° -ψ))Two
Where ψ is the azimuth obtained in the gyro azimuth calculation routine.
You. After performing the above calculation, this routine ends.
FIG. 13 shows Eψx, EψyCalculation routine
It is a low chart. Here, first, step 137
Takes out the bearing ψ obtained by the gyro bearing calculation routine at
You. Next, at step 138, the orientation estimation error calculation routine
The azimuth estimation error で error obtained by the Next,
Integrated distance S obtained by the integrated distance calculation routine in step 139
Take out the TEP. Next, in step 140, the formula 10
ByTAsk for. Next, steps 141 and 142
Eψ based on Equation 11xAnd EψyIs calculated.
[0058]
[Equation 10]T= Ψ-ψerror
[0059]
[Equation 11]x= STEP [cos (180 ° -ψ)
-Cos (180 ° -ψT)]
Eψy= STEP [sin (180 ° -ψ) -sin
(180 ° -ψT)]
After performing the above calculation, this routine ends.
FIG. 14 is a flowchart of a positioning estimation error calculation routine.
It is a chart. Here, first, step 143
To determine whether there is a reference heading.
The process proceeds to step 145, and if not, the process proceeds to step 144. Stay
In step 144, it is determined whether or not it is the first positioning. First time
Step 145 is executed if the positioning is
If the positioning is performed, step 146 and subsequent steps are executed. Steps
At 145, based on the following equation, ΣX1Is calculated.
[0061]
数 X1= (A1 TΣε1 -1 A1)-1
Where A1Is the navigation equation at the time of the first positioning
Is the matrix A on the left side of
Σε1Table 2 at the time of the first positioning
Matrix Σε indicating the prediction error of the measured value obtained from the determinant of
i + 1(I = 0). ΣXi + 1Is the following equation
Is a matrix representing the error defined by1Is once
It is at the time of eye positioning. In step 156, the number
Σ found from Equation 12 and Equation 13x TwoAnd σy TwoFor
Then, the positioning estimation error is calculated in accordance with Equation 14, and
End the routine.
[0063]
(Equation 13)
[0064]
## EQU14 ## Positioning estimation error = (σx Two+ Σy Two)1/2
In the second and subsequent positioning, first, in step 146,
To read the total distance STEP, and
Read the position. Next, in step 148, the formula 6
Therefore δxAnd δyAsk for. Next, in step 149
Matrix Y according to equation 15i + 1Is defined.
[0065]
[Equation 15] Yi + 1= [Δx δy 0 0]T
Next, at step 150, the aforementioned σδx Two, Σδy Two
Execute the calculation routine and calculate σδx TwoAnd σδy TwoGet.
Next, in step 151, σa1 TwoTo the constant constTwoSet to
You. Next, in Step 152, as shown in Expression 16,
A matrix ΣUi indicating an expected error model is defined.
[0066]
(Equation 16)
Next, at step 153, one time before (i times
Eye) estimated error matrix ΣXi, Matrix ΣUi
From the matrix ΣY indicating the estimated value of the estimation errori + 1Equation 17
Calculate according to
[0068]
[Expression 17]i + 1= ΣXi+ ΣUi
Next, at step 154, a matrix indicating the Kalman gain
Kg is calculated according to equation (18). Where Ai + 1Is a table
Set in each of the navigation equations 1 to 3 routine based on 1.
Is the matrix on the left side of Equations 1 to 9,i + 1Is Table 2
Are the matrices respectively defined based on.
[0069]
[Expression 18] Kg = ΣYi + 1Ai + 1 T[Σεi + 1+ Ai + 1
ΣYi + 1Ai + 1 T]-1
Next, in step 155, the current estimation is performed based on equation (19).
Constant error matrix ΣXi + 1Ask for. Where I is a 4 × 4 unit
It is a rank matrix.
[0070]
[Equation 19]
ΣXi + 1= 2 · [I-Kg · Ai + 1] ΣYi + 1
Thereafter, in step 156, equation (19) is calculated and equation (13) is obtained.
Σ obtained by applying the formulax TwoAnd σy TwoUsing the number
Calculate the positioning estimation error according to equation (14)
To end.
The estimated error matrix ΣX in this routinei + 1of
The calculation method is an optimal filter called the Kalman filter
The Kalman filter for which the positioning solution is
Luther's error variance / covariance matrix (ΣXi + 1) 1
One component (σx Two) And 22 components (σy Two) And the square root
did. If necessary, 33 components (σz Two) Plus square
It may be the root.
FIG. 15 is a flowchart of a positioning routine.
is there. Here, first, in step 157, the second and subsequent times
It is determined whether or not it is positioning. If it is the first positioning,
Step 161 is executed, and if the positioning is the second or subsequent positioning, the step is performed.
158 to 160 are executed.
In step 161, X is calculated based on the following equation.1Total
Calculate.
[0074]
(Equation 20)1= A1 -1L1
Where A1Is the navigation equation at the time of the first positioning
Is the matrix A on the left side of
L1Is the navigation method at the time of the first positioning
This is the matrix L on the right side of the equation. X1Is the time of the first positioning
Shows the solution sought in. In step 162
Transforms the obtained solution (XYZ coordinates) into latitude, longitude and altitude.
Then, this routine ends.
At step 157, the second and subsequent positioning
In this case, in step 158, the positioning estimation error calculation route
Matrix Y indicating the predicted value of the solutioni + 1Take out.
Next, in step 159, the matrix D indicating the amount of improvement
Calculate based on Equation 1.
[0077]
D = Li + 1-Ai + 1Yi + 1
Where Ai + 1Is the left side of the navigation equation in this positioning
Is a matrix A. Li + 1Is the navigation method for this positioning
This is the matrix L on the right side of the equation. Next, at step 160
Matrix X indicating the positioning solution of the first positioningi + 1Based on Equation 22
To calculate.
[0078]
(Equation 22)i + 1= Yi + 1+ Kg · D
Here, Kg is a number in the above-described positioning estimation error calculation routine.
Is a matrix showing Kalman gain calculated according to equation 18.
You. Thereafter, in step 162, the obtained solution (XYZ
) To latitude, longitude and altitude and terminate this routine.
Complete.
The calculation method of this routine is based on the Kalman filter.
This is an application of an optimal filter called
It suppresses abnormal solution changes. Piezoelectric vibration gai
(B) Using the output of the vehicle speed sensor and the solution predicts the solution of the equation
Is provided, so that the positioning solution
Will stop when the value fluctuates greatly. In particular, vehicle speed = 0
In the case of, there is no movement as the solution prediction, and the prediction error is also 0
Has the effect of suppressing the fluctuation of the solution while stopped.
You.
FIG. 16 is a flowchart of the altitude correction routine.
It is. Here, first, at step 163, VDO
It is determined whether P is lower than the upper limit of VDOP. VDOP
Is lower than the VDOP upper limit, the routine jumps to step 164, where V
If DOP is higher than VDOP upper limit, do nothing
End In step 164, the position
The difference between the measured altitude and the altitude obtained by the altitude sensor
Get the quantity. Here, this altitude correction routine is more than 3 satellites
Demodulation is completed and positioning is performed by four satellites.
Altitude obtained by position is obtained only by GPS
Becomes GPS positioning is usually obtained a few seconds later
Therefore, there is a time difference from the altitude obtained by the altitude sensor.
Has occurred. So, according to the delay of GPS, Jai
B is updated in step 69 in the azimuth calculation routine.
Use past altitude data. For example, GPS delay is 3
In the case of seconds, the altitude H [-3] from the altitude obtained by positioning
Is used as a pull correction amount. Next, in step 165, the past
The correction is performed by adding the correction amount to the altitude data. Then, step
At step 166, the UERE calculation routine is executed, and the UERE is calculated.
obtain. Next, in step 167, VDOP and UERE are
The program is memorized and this routine ends. VDOP is σz
TwoTake the square root of
FIG. 17 is a flowchart of the UERE calculation routine.
It is a chart. Here, first, from the information of each satellite
SVACC (SVaccu) is an index that does not depend on the satellite arrangement.
racy: One satellite is located based on the internal state of each satellite
The index obtained by calculating the effect on the
It is determined whether SVACC is 0 or more and less than 6.
You. If SVACC is 0 or more and less than 6, step 17
0 for User Range Accuracy URA (User Range
Accuracy) is calculated by Expression 23. SVACC is 7 or more
If yes, at step 169 the user range accu
The rasy URA is obtained by equation (24).
[0082]
(Equation 23)
URA = 2(1 + SVACC / 2) (0 ≦ AVACC <7)
[0083]
(Equation 24)
URA = 2(SVACC-2) (7 ≦ AVACC)
Next, in step 171, Uere is calculated based on equation (25).
Ask.
[0084]
(Equation 25)
UERE = (UEATwo+ Σ (value other than intentional deterioration coefficient)Two)1/2
= (UEATwo+119.7)1/2
Of these, the intentional degradation coefficient is based on the satellite clock error and the satellite
This is due to the prediction error of the orbit. In addition, intentional deterioration
Values other than the number are the perturbation prediction errors of the satellite orbit (value of 1σ =
1.0 m), ionospheric propagation delay correction error (1σ value = 7.
5m), tropospheric propagation delay correction error (1σ value = 2.0)
m), receiver noise (1σ value = 7.5 m), multipath
(1σ value = 1.2m), other errors based on satellite
(1σ value = 0.5 m), other errors based on control
(1σ value = 0.5m), other errors based on the user
(1σ = 0.5 m). The magnitude of these errors
If the value has changed, change the numerical value of Equation 25.
No. Thereafter, this routine ends.
FIG. 18 is a flowchart of the gyro correction routine.
It is a chart. The correction mode is a flag that indicates the status of the correction.
It is. Here, first, determine which correction mode is used.
Steps 173, 174, 17 according to the correction mode
5,176 mode-1, mode 0, mode 1, mode
Execute any one of the routines and terminate this routine
I do.
Here, the correction is made for the first passing through the vehicle during running.
Gyro and GP between the second, third and third points
This is performed using the output data of S. In mode-1, the correction is opened.
Judge the beginning and collect data of the first point in mode 0
In mode 1, data of the second point is collected,
In the second, data of the third point is collected, and these data are collected.
The correction is performed on the basis of the correction.
FIG. 19 is a flowchart of the mode-1 routine.
It is. When the correction mode is mode-1, this
Chin runs. The correction mode is determined by other routines.
Mode-1 is set in the initial state and after completion of correction.
You. Therefore, in the initial state, the mode-1 routine is selected.
It is. First, at step 177, the vehicle speed is set to a predetermined lower limit value.
It is determined whether it is greater. The vehicle speed is lower limit (for example, 10K
m / h), in step 183, the correction mode
Is left in mode-1, and the processing ends. Vehicle speed is below the lower limit
If it is higher, the gyrode for the delay time is determined in step 178.
Check whether data is saved. Where the delay time
Step 1 when saving gyro data for minutes
Go to 79, but save the gyro data for the delay time
If not, the flow advances to step 183 to change the correction mode.
Then, the process is terminated. In step 179,
The positive mode is set to mode 0, and the azimuth is φ in step 180.
m1 [0] and the delay amount of GPS to φm1 [1]
substitute. Next, at step 181, the timer Tφ is set to 0.
And the counter count0 is set to 0 in step 182.
Set and end this routine. Timer Tφ is
Thereafter, the elapsed time is counted.
As described above, in the mode-1 routine,
Indicates that the vehicle speed is equal to or higher than the lower limit and the GPS outputs
Gyro data for the data delay time is stored
In this case, gyro correction is started.
FIG. 20 is a flowchart of the mode 0 routine.
It is. When the correction mode is mode 0, this routine
Is executed. First, in step 184, the counter coun
t0 is incremented by one. Next, step 18
It is determined at 5 whether the vehicle speed has become greater than a predetermined lower limit value.
I do. In step 186, the gyro data for the delay time
It is determined whether or not is stored. In step 187
It is determined whether or not the mode is continuous with mode-1. Steps
In 188, is the direction at this point the same as mode-1?
Determine whether or not. Any of steps 185 to 188
If not, set the correction mode in step 189.
Then, the routine is terminated. Step 18
If all of the conditions 5 to 188 hold, step 19
At 0, it is determined whether the azimuth stabilization is OK. Orientation is wrong
If stable, this routine ends. The direction is stable
If yes, execute the numerical correction routine in step 191
Then, in step 192, the correction mode is set to mode 1.
The details of the numerical correction routine will be described later, but the GPS azimuth and
The difference between the gyro directions is used as the correction amount, and the
This corrects the azimuth direction and the like. Next, step 19
At 3, the azimuth, delay, and error measured by GPS are respectively
Are substituted into φ0 [0], φ0 [1], and φ0 [2]. Next
In step 194, the timer Tφ is set to 0.
You. Next, in step 195, the gyro corresponding to the delay amount
The direction gldelay-raw [delay amount] is substituted for φ0raw. Next
In step 196, the counters count0 and co
Set unt1 to 0 and end this routine.
As described above, in the mode 0 routine, the mode
Start condition at C-1 (the vehicle speed is equal to or higher than the lower limit, and
Gyro data for the delay time of data output by GPS
Data is saved) and continues from mode-1.
And the direction is changed from mode-1 to azimuth.
If there is no gyro azimuth, φ0 raw, GPS azimuth
Is stored such as φ0 [0]. This is the first
It becomes the point of.
FIG. 21 is a flowchart of the mode 1 routine.
It is. When the correction mode is mode 1, this routine
Is executed. First, at step 197, the counter coun
t1 is incremented by one. Next, step 19
At 8, it is determined whether the vehicle speed has become greater than a predetermined lower limit.
I do. In step 199, the gyro data for the delay time
It is determined whether or not is stored. Step 198, 1
If any of 99 is not satisfied, in step 203
The counter count1 is set to 0, and this routine ends. Stay
When both steps 198 and 199 are established,
In mode 200, determine whether mode 1 is the second or later
You. If it is the first time, the azimuth measured in step 201,
Substituting the delays into φ1 [0] and φ1 [1], respectively,
End the routine. Mode 1 is 2 in step 200
If it is the first time or later, in step 202, the previous mode 1
It is determined whether or not the orientation at this time is the same. Bearing
Are not continuous, the counter co
unt1 is set to 0, and this routine ends. In the same direction
If so, it is determined in step 204 whether the azimuth stabilization is OK or not.
Is determined. If the bearing is unstable, end this routine
I do. If the bearing is stable, the numerical value is
Execute the correction routine, and use GPS at step 206.
Positioned bearing and delay are φ1 [0] and φ1 [1], respectively.
Substitute for Next, at step 207, the error is φ0
[2] It is determined whether or not it is greater than. If it is big,
In step 208, the error is substituted into φ1 [2].
At step 209, φ0 [2] is substituted for φ1 [2].
Next, in step 210, the gyro direction corresponding to the delay amount
gldelay-raw [delay amount] is substituted into φ1raw. next,
In step 211, φ0 [1] is added to the value of the timer Tφ.
Then, φ1 [1] is subtracted to T10. Then, step
At step 212, φ0 [0] is subtracted from φ1 [0] to obtain the variable co.
l1. Next, this angle difference is adopted in step 213.
It is determined whether or not it is OK. If you are not OK
End If adoption is OK, go to step 214
Subtract φ0raw from φ1raw to obtain raw1. next,
In step 215, each of col1 and raw1 is divided by T10.
Update. Next, in step 216, the correction mode is
Mode 2 and the timer Tφ is set to 0 in step 217.
, And at step 218, the counters count1 and
Set counter count2 to 0 and end this routine
You.
As described above, in the mode 1 routine, the mode
Start condition at C-1 (the vehicle speed is equal to or higher than the lower limit, and
Gyro data for the delay time of data output by GPS
Mode 1 has been saved, and mode 1 has been
Running continuously, the same bearing is continuously stable
Gyro direction φ1 raw, GPS method
Data such as φ1 [0]. This point
It will be point 2. Also, the time between the first point and the second point
Difference T10, GPS azimuth difference φ1 [0] -φ0 [0]
(Col1 in step 212), and the difference φ between the gyro directions
Calculate 1raw -φ0raw (raw1 in step 214)
Then, at step 215, the GPS direction col1,
And gyro direction raw1 per time is calculated.
FIG. 22 is a flowchart of the mode 2 routine.
It is. When the correction mode is mode 2, this routine
Is executed. First, in step 219, the counter coun
t2 is incremented by one. Next, step 22
Determines whether the vehicle speed has become greater than the predetermined lower limit at 0
I do. In step 221, gyro data for the delay time
It is determined whether or not is stored. Steps 220 and 2
21 is not satisfied, a supplement is made at step 225.
Leave the normal mode in mode 2 and
The counter count2 is set to 0, and this routine ends. Stay
When both steps 220 and 221 are established,
In step 222, it is determined whether or not the mode 2 is the second or later.
You. If it is the first time, the azimuth measured in step 223,
Substituting the delays into φ2 [0] and φ2 [1],
End the routine. Mode 1 is 2 in step 222
If it is the second time or later, in step 224, the previous mode 2
It is determined whether or not the orientation at this time is the same. Bearing
If is not continuous, step 2025 sets the correction mode
In the mode 2 and the counter co in step 238.
unt2 is set to 0, and this routine ends. In the same direction
If so, in step 226, it is determined whether the azimuth stabilization is OK.
Is determined. If the bearing is unstable, end this routine
I do. If the bearing is stable, enter the value
Execute the correction routine and perform positioning in step 228.
And delay to φ2 [0] and φ2 [1], respectively.
You. Next, in step 229, the error is larger than φ1 [2].
Determine if it works. If it is larger, go to step 231
An error is substituted for φ2 [2].
Substitute φ1 [2] for φ2 [2]. Next,
Gyro heading gldelay-raw according to delay amount in step 232
[Delay amount] is substituted for φ2raw and the value of timer Tφ is φ
1 [1] is added and φ2 [1] is subtracted to obtain T21.
Subtract φ1 [0] from [0] to obtain col2. Next,
In step 233, it is determined whether or not this angle difference is OK.
If the adoption is not OK, at step 234 the counter coun
t2 is set to 0, and col2 is set to 999 (max.
Value) and the routine ends. Recruitment is OK
Then, in step 236, φ1 raw is subtracted from φ2 raw.
Raw2 and update by dividing col2 and raw2 by T21 respectively
I do. Next, in step 237, the difference between col1 and col2 is determined.
Whether the logarithmic value is greater than a value obtained by dividing a predetermined lower limit value by T21
Determine whether or not. If smaller, count at step 238
The count2 is set to 0, and this routine ends. Be big
If so, step 239 is executed. In step 239, co
Absolute value of difference between l1 and col2 divided predetermined upper limit value by T21
Greater than the value and the absolute value of the difference between raw1 and raw2 is specified
Is greater than or equal to the value obtained by dividing the upper limit value of T21 by T21
I do. If not, jump to step 246,
For example, step 240 is executed. In step 240 raw1
The absolute value of the difference between と and raw2 is the value obtained by dividing the predetermined lower limit by T21
It is determined whether it is greater than. If it is small, this root
If the value is larger, step 241 is executed. S
In step 241, is the sum of the correction amounts larger than a predetermined lower limit value?
Determine whether or not. If larger, AD conversion in step 242
Initialize the coefficient correction value, and in step 243, the AD conversion coefficient
Execute the correction routine. If smaller, go to step 244
To execute the successive approximation routine. Next, step 245
To set the correction mode to mode-1 and go to step 246.
move on. In step 246, φ2 [0] is changed to φ1 [0].
Substituting φ2 [1] into φ1 [1] and substituting φ2 [2]
Is substituted for φ1 [2], col2 is substituted for col1, and raw2 is ra
Substitute w1. Next, in step 247, the timer Tφ
Is reset to 0, and this routine ends.
As described above, in the mode 2 routine, the mode
Start condition at C-1 (the vehicle speed is equal to or higher than the lower limit, and
Gyro data for the delay time of data output by GPS
Data is saved), and mode 2 is
Running continuously, the same bearing is continuously stable
Gyro azimuth φ2 raw, GPS method
Data such as φ2 [0]. This point
It will be point 3. Also, the time between the third point and the second point
Difference T21, GPS azimuth difference φ2 [0] -φ1 [0]
(Col2 in step 232), and the difference φ between the gyro directions
2raw-φ1raw is calculated, and in step 235,
GPS direction col2 and gyro direction per hour
Find raw2.
FIG. 23 is a flowchart of a numerical correction routine.
It is. First, in step 248, the vehicle is delayed from the GPS direction.
The correction amount is obtained by subtracting the azimuth ψ [delay] taking into account the shift amount.
Next, at step 249, this correction amount is used as the GPS azimuth error.
N times or more and half of the minimum unit of GPS azimuth output
It is determined whether or not this is the case.
Step 250 adds the correction amount to the correction amount sum and multiplies the correction amount.
Find the calculated value. Here, the GPS azimuth error is calculated based on the following equation.
I'm asking. Ve is a GPS speed error constant.
[0096]
(Equation 26)
GPS bearing error = arctan (Ve / (vehicle speed + Ve))
Next, in step 251, a correction amount is added to the gyro direction,
Correct the gyro heading. Next, in step 252,
遅 延 [-3], ψ [-2], ψ [-
1] and ψ [0] are corrected by adding a correction amount. Next
In step 253, the reference direction is made effective.
At 54, the azimuth estimation error ψerror is set to zero.
Next, at step 255, the GPS vehicle speed is predicted.
Vehicle speed correction lower limit (for example, 10 km / h) or more
The vehicle speed correction lower limit.
If the vehicle speed is lower than the vehicle speed correction lower limit, step 25
At 6, the GPS vehicle speed is adjusted to the pulse number P [
To obtain the variable ROLLnew. Also, GPS vehicle speed
The error is divided by the number of pulses P (delay) with delay
Find the number ROLLerrornew. Next, in step 257,
Correct the variable ROLL based on equation 27, and in step 258
The variable ROLLerror is corrected based on the equation (28).
[0098]
[Equation 27]
[0099]
[Equation 28]
Next, at step 259, the pulse number is delayed.
P [-3], P [-2], P [-1], P
The correction amount is added to each of [0] and the correction is performed.
To end.
FIG. 24 shows an AD conversion coefficient correction routine and
It is a flowchart of a next approximation routine. First, here
Is the GPS orientation col1, col2, and the gyro orientation ra
Using w1 and raw2, matrix Ai GAnd Li GAs follows
Define.
[0102]
(Equation 29)
[0103]
[Equation 30] Li G= [Col1 col2]-T
Further, the correction coefficients α and θ0And the matrix Xi GThe following
As follows.
[0104]
[Formula 31] Xi G= [Α θ0]-T
Here, referring to FIG. 26, correction coefficients α and θ0The relationship
explain. Here, while the vehicle is traveling on the road R, the first
Mode 1 is set between the point a1 and the second point a2,
Mode 2 between the second point a2 and the third point a3
It shall be. The actual vehicle of the first point a1
The direction is d1, and the actual direction of the vehicle at the second point a2 is d.
2. The actual direction of the vehicle at the third point a3 is d3.
Here, the time from the first point a1 to the second point a2 is
T10 is applied, and from the second point a2 to the third point a3
It takes time T21. Where the mode
The azimuth change amount of GPS at 1 is col1 · T10 and time
The direction change amount per hit is col1. In mode 2,
GPS azimuth change amount is col2 · T21, per hour
Is azimuth change amount of col2. Gyro in mode 2
The position change amount is raw1 · T10, and the direction change per time
The amount will be raw1. Gyro direction change in mode 2
The raw material amount is raw2 · T21, and the azimuth change amount per hour is
It becomes raw2. Where Ai G・ Xi G= Li G(I is
Number), Ai GAnd Li GCan be calculated, so X
i GCorrection coefficients α and θ0Is required.
In the AD conversion coefficient correction routine,
First, at step 260, a variable i is set to 0, and then
In step 261, the G used when calculating col1 and col2
1 / σθ from φ2 2 indicating the maximum value of PS azimuth errorTwoTo
The value is obtained by Expression 32.
[0106]
(32) 1 / σθTwo= 1 / φ22Two
Next, at step 262, the matrix Σε1 G -1Based on the following equation
Calculate
[0107]
[Equation 33]
Next, at step 263, the matrix ΣX1 GTo
It is calculated based on the following equation.
[0109]
34X1 G= (A1 GTΣε1 G -1A1 G)-1
Next, at step 264, the matrix X1 GIs calculated based on the following equation.
Put out.
[0110]
[Expression 35] X1 G= A1 G -1L1 G
If there is no inverse matrix during correction, the correction is canceled.
You. This gives the matrix X1 GIs obtained, and the correction coefficient α and
θ0Is found. Next, at step 265, the piezoelectric vibrating
Gyro 15 conversion coefficient ADA multiplied by correction coefficient α for conversion
Update the coefficient ADA. In step 266, the matrix
ΣXi + 1 GTake the square root of the 11 components of
It is assumed that the error coefficient ADAerror of the block 15 is ADAerror. Where i =
0, so here the matrix ΣX1 GSquare of 11 components of
Take root. Next, at step 267, θ0The sample
The value obtained by dividing the number of samples and the conversion coefficient ADA is the conversion coefficient A
Subtract DC and update transform coefficient ADC. Next,
Matrix ΣX at step 268i + 1 GSquare root of 21 components of
Divided by the number of samples and the conversion factor ADA
The error coefficient ADCerror of the piezoelectric vibrating gyroscope 15 is defined as ADCerror.
Since i = 0 here, the matrix ΣX1 G2
Take the square root of one component. Next, delay in step 269
Specify re-collection of data.
The sum is set to zero and this routine ends.
In the successive approximation routine, first, at step 27
At 1, it is determined whether or not the coefficient correction is for the second shift. First time
If the coefficient correction is
The same processing as the conversion coefficient correction routine is performed. From the second time
If it is, the process proceeds to step 272, where
Add 1. Next, at step 273, col1 and col2 are
Φ2 indicating the maximum value of the GPS azimuth error used at the time of calculation
2 to σθ according to Equation 36TwoAsk for.
[0112]
(36)Two= Φ2 2Two
Next, in step 274, the matrix Σεi + 1 G -1To
Calculate based on
[0113]
(37)
Next, step 275 and step 276
Matrix at Xi GIs a matrix ΣUi GAnd matrix ΣY
i GSubstitute for Next, at step 277, the matrix Y
i + 1 GIs defined based on the following equation.
[0115]
[Equation 38] Yi + 1 G= [10]T
Next, at step 278, the Kalman gain is calculated based on the following equation.
Matrix KgGAsk for.
[0116]
[Equation 39] KgG= ΣYi + 1 GAi + 1 GT[Σεi + 1 G
+ Ai + 1 GΣYi + 1 GAi + 1 GT]-1
Next, at step 279, the estimation error matrix Σ
i + 1 GAsk for. Here, I is a 2 × 2 unit matrix.
You.
[0117]
(Equation 40)
ΣXi + 1 G= 2 [I-KgGAi + 1 G] ΣYi + 1 G
Next, at step 280, a matrix D indicating the improvement amountGIs
Based on
[0118]
[Formula 41] DG= Li + 1 G-Ai + 1 GYi + 1 G
Next, at step 281, the matrix Yi + 1 GIs based on
And add a value obtained by multiplying the Kalman gain by the amount of improvement.
You.
[0119]
(Equation 42) Yi + 1 G= Yi + 1 G+ KgGDG
Thereafter, the process proceeds to step 265. At step 265,
The conversion coefficient ADA of the piezoelectric vibrating gyroscope 15 is changed by multiplying by α.
The conversion coefficient ADA is updated. In step 266,
Column ΣXi + 1 GTake the square root of the 11 components of
The error coefficient of the gyro 15 is ADAerror. Next,
In step 267, θ0The number of samples and the converter
Subtract the value divided by the number ADA from the conversion coefficient ADC to convert
Update the coefficient ADC. Next, at step 268, the matrix
ΣXi + 1 GTake the square root of the 21 components of
les and the conversion coefficient ADA to divide the piezoelectric vibratory gyroscope 15
Is an error coefficient ADCerror. Next, step 269
Specify delay data re-collection in step 270
Thus, the routine is ended with the sum of the correction amounts set to zero.
By the above-mentioned AD conversion coefficient correction routine,
Positive coefficients α and θ0Gyro conversion coefficient AD
A, ADC and error coefficient ADAerror, ADCerror are G
Corrected by PS and gyro readings for more accurate
Be able to perform positioning.
FIG. 25 is a flowchart of a gyro zero point correction routine.
It is a chart. First, here at step 282
Whether the vehicle speed = 0 and the sum of the correction amounts is equal to or less than a predetermined lower limit value
Is determined, and if not, this routine is terminated.
If so, the process proceeds to the next step 283. In step 283, the power
Immediately after the source has been turned on, or
It is determined whether or not. If no, go to step 285
An average of speed = 0 is taken for one second, and if not, step 28
At 4, take the average of all the delay data. Next, step 286
The maximum value and the minimum value of the sum for one second are obtained with. Step
In step 287, the difference between the maximum value and the minimum value is equal to a predetermined upper limit value.
(E.g., 20 deg / s)
If it is larger than the upper limit, it is determined that it cannot be adopted and this routine
And if it is smaller than the upper limit value, it is determined in step 288.
Change the average value to zero.
Thereafter, at step 289, the delay data is re-
Specify collection and set the correction mode in step 290.
-1 and set the correction amount sum to zero in step 291.
The lever routine ends.
In this gyro zero point correction routine,
Measure the gyro zero point so that the drift amount becomes zero
Has been corrected.
As described above, this embodiment is designed for a vehicle.
The vehicle speed sensor 14, which is a position sensor for detecting the position, and the pressure
From the electric vibratory gyro 15 and the signals emitted by multiple satellites
Satellite information that detects the relative position between each satellite and the vehicle
A GPS which is a detecting means or a relative speed detecting means,
From at least one of the output of the
Computer as positioning means for positioning the absolute position of the vehicle
19 positioning routines 35 and 47, based on information from satellites
Sensor output correction means for correcting the detection position of the
Gyro correction routine 37 of the computer 19 which is a stage
It is provided with.
The positioning means is a vehicle determined from the output of the gyro.
Both azimuths, integrated distance obtained from the output of the vehicle speed sensor, G
Position using any of the relative speeds of the PS satellites
I have. In addition, the gyro correction routine uses information from the satellite.
Azimuth correction to correct the calculation constant of the azimuth calculation means based on
It is also a correct means. Also executed during the gyro correction routine
In the numerical correction routine, the
Distance correction to correct the calculation constant of the total distance calculation means
(Steps 255 to 259).
Therefore, the gyro or the like which is likely to cause drift
Accurate positioning is possible even when using a vehicle speed sensor with a large error.
it can.
Note that the gyro correction routine of the above embodiment is
As shown in the figure, the gyro heading change per hour (raw
1, raw2) and azimuth change obtained from satellite information per hour
Jai which is the azimuth angle calculation means from the amount of conversion (col1, col2)
Complement the calculation constants (ADA, ADC) of the azimuth calculation routine.
Correct it.
Further, the number in the gyro correction routine
Gyro heading and satellite information as shown in the value correction routine
The azimuth difference obtained from the report is used as a correction amount (step 24).
8) Add gyro azimuth correction amount to correct (step)
251).
Furthermore, the number during the gyro correction routine
Gyro heading and satellite information as shown in the value correction routine
Of the azimuth difference obtained from the information
(Step 250), and if the sum of the correction amounts is small,
As shown in the AD conversion coefficient correction routine,
Gyro heading change (raw1, raw2) and per hour
Of the azimuth change (col1, col2) obtained from satellite information
To determine the run and correct the calculation constant of the azimuth angle calculation means.
When the sum of the correction amounts is large, as shown in the successive approximation routine
And gyro direction change per hour (raw1, raw2)
And the azimuth change amount (col1,
col2) using Kalman filter
The calculation constant of the angle calculation means may be corrected.
The numerical correction routine of the above embodiment is shown in FIG.
Vehicle speed (GPS speed) and vehicle obtained from satellite information
Integrated distance calculation routine based on speed error (GPS vehicle speed error)
Calculate the correction amount (ROLL, ROLLerror) of the distance, and calculate the total distance and total
It is preferable to correct the distance error.
[0131]
Claims of the InventionOneAccording to the invention, the drift
A rotational angular velocity sensor that is easy to
Even if used, accurate positioning can be performed. In addition, the amount of correction
The azimuth is increased because the error that increases due to addition is predicted and corrected.
The output of the calculation means will be accurate.
[0132]
[0133]
[0134]
[0135]
【図面の簡単な説明】
【図1】本発明の実施例の回路構成図である。
【図2】本発明の実施例のメインルーチンのフローチャ
ートである。
【図3】本発明の実施例のジャイロ方位算出ルーチンの
フローチャートである。
【図4】本発明の実施例の方位推定誤差計算ルーチンの
フローチャートである。
【図5】本発明の実施例の積算距離算出ルーチンのフロ
ーチャートである。
【図6】本発明の実施例の航法方程式1ルーチンのフロ
ーチャートである。
【図7】本発明の実施例の航法方程式2ルーチンのフロ
ーチャートである。
【図8】本発明の実施例の航法方程式3ルーチンのフロ
ーチャートである。
【図9】本発明の実施例のσi2計算ルーチンのフローチ
ャートである。
【図10】本発明の実施例のσa2計算ルーチンのフロー
チャートである。
【図11】本発明の実施例のσG2計算ルーチンのフロー
チャートである。
【図12】本発明の実施例のσδx2,σδy2計算ルーチ
ンのフローチャートである。
【図13】本発明の実施例のEψx Eψy 計算ルーチン
のフローチャートである。
【図14】本発明の実施例の測位推定誤差計算ルーチン
のフローチャートである。
【図15】本発明の実施例の測位ルーチンのフローチャ
ートである。
【図16】本発明の実施例の高度補正ルーチンのフロー
チャートである。
【図17】本発明の実施例のUERE計算ルーチンのフ
ローチャートである。
【図18】本発明の実施例のジャイロ補正ルーチンのフ
ローチャートである。
【図19】本発明の実施例のモード−1ルーチンのフロ
ーチャートである。
【図20】本発明の実施例のモード0ルーチンのフロー
チャートである。
【図21】本発明の実施例のモード1ルーチンのフロー
チャートである。
【図22】本発明の実施例のモード2ルーチンのフロー
チャートである。
【図23】本発明の実施例の数値補正ルーチンのフロー
チャートである。
【図24】本発明の実施例のAD変換係数補正ルーチン
及び逐次近似ルーチンのフローチャートである。
【図25】本発明の実施例のジャイロ0点補正ルーチン
のフローチャートである。
【図26】本発明の実施例の説明図である。
【図27】本発明の実施例の説明図である。
【符号の説明】
10 受信アンテナ
11 GPS受信機
12 GPS復調器
13 表示装置
14 車速センサ
15 圧電振動ジャイロ
16 高度センサ
17 電子制御ユニット
18 入出力インターフェース
19 マイクロコンピュータ
20 アナログ・デジタル変換器BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a circuit configuration diagram of an embodiment of the present invention. FIG. 2 is a flowchart of a main routine according to the embodiment of the present invention. FIG. 3 is a flowchart of a gyro azimuth calculation routine according to the embodiment of the present invention. FIG. 4 is a flowchart of a direction estimation error calculation routine according to the embodiment of the present invention. FIG. 5 is a flowchart of an integrated distance calculation routine according to the embodiment of the present invention. FIG. 6 is a flowchart of a navigation equation 1 routine according to the embodiment of the present invention. FIG. 7 is a flowchart of a navigation equation 2 routine according to the embodiment of the present invention. FIG. 8 is a flowchart of a navigation equation 3 routine according to the embodiment of the present invention. FIG. 9 is a flowchart of a σi 2 calculation routine according to the embodiment of the present invention. FIG. 10 is a flowchart of a σa 2 calculation routine according to the embodiment of the present invention. FIG. 11 is a flowchart of a σG 2 calculation routine according to the embodiment of the present invention. [12] Shigumaderutax 2 embodiment of the present invention, a flow chart of Shigumaderutawai 2 calculation routine. FIG. 13 is a flowchart of an EψxEψy calculation routine according to the embodiment of the present invention. FIG. 14 is a flowchart of a positioning estimation error calculation routine according to the embodiment of the present invention. FIG. 15 is a flowchart of a positioning routine according to the embodiment of the present invention. FIG. 16 is a flowchart of an altitude correction routine according to the embodiment of the present invention. FIG. 17 is a flowchart of a UERE calculation routine according to the embodiment of the present invention. FIG. 18 is a flowchart of a gyro correction routine according to the embodiment of the present invention. FIG. 19 is a flowchart of a mode-1 routine according to the embodiment of the present invention. FIG. 20 is a flowchart of a mode 0 routine according to the embodiment of the present invention. FIG. 21 is a flowchart of a mode 1 routine according to the embodiment of the present invention. FIG. 22 is a flowchart of a mode 2 routine according to the embodiment of the present invention. FIG. 23 is a flowchart of a numerical value correction routine according to the embodiment of the present invention. FIG. 24 is a flowchart of an AD conversion coefficient correction routine and a successive approximation routine according to the embodiment of the present invention. FIG. 25 is a flowchart of a gyro zero point correction routine according to the embodiment of the present invention. FIG. 26 is an explanatory diagram of an embodiment of the present invention. FIG. 27 is an explanatory diagram of an embodiment of the present invention. [Description of Signs] 10 Receiving antenna 11 GPS receiver 12 GPS demodulator 13 Display device 14 Vehicle speed sensor 15 Piezoelectric vibration gyro 16 Advanced sensor 17 Electronic control unit 18 Input / output interface 19 Microcomputer 20 Analog / digital converter
───────────────────────────────────────────────────── フロントページの続き (72)発明者 保 田 富 夫 愛知県刈谷市朝日町2丁目1番地 アイ シン精機株式会社内 (56)参考文献 特開 平5−157828(JP,A) 特開 平2−189414(JP,A) 特開 平2−134587(JP,A) 特開 昭63−5213(JP,A) 特開 昭63−302317(JP,A) (58)調査した分野(Int.Cl.7,DB名) G01C 21/00 G01S 5/00 - 5/14 ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Tomio Yasuda 2-1-1 Asahicho, Kariya-shi, Aichi Aisin Seiki Co., Ltd. (56) References JP-A-5-157828 (JP, A) JP-A-2-189414 (JP, A) JP-A-2-134587 (JP, A) JP-A-63-5213 (JP, A) JP-A-63-302317 (JP, A) (58) Fields investigated (Int) .Cl. 7 , DB name) G01C 21/00 G01S 5/00-5/14
Claims (1)
の相対速度を検出する相対速度検出手段; 前記ジャイロの出力から車両の方位角を求める方位角計
算手段; 前記車速センサの出力から車両の積算距離を求める積算
距離計算手段; 車両の方位角,積算距離,衛星との相対速度の内いずれ
かを用いて測位する測位手段; 衛星からの情報に基づき前記方位角計算手段の計算定数
を補正する方位角補正手段; 衛星からの情報に基づき前記積算距離計算手段の計算し
た積算距離を補正する積算距離正手段; を備える車載用測位装置において、前記方位角補正手段
は、ジャイロの方位と衛星情報から求めた方位の差を補
正量とし、該補正量を積算した補正量和を求め、該補正
量和が少ないとき、時間あたりのジャイロの方位変化量
と時間あたりの衛星情報から求めた方位変化量との関連
を求め、前記方位角計算手段の計算定数を補正するとと
もに、前記補正量和が多いとき、時間あたりのジャイロ
の方位変化量と時間あたりの衛星情報から求めた方位変
化量との関連をカルマンフィルターを用いて求め、前記
方位角計算手段の計算定数を補正することを特徴とする
車載用測位装置。 (57) [Claims] [Claim 1] A gyro for detecting an azimuth deviation of a vehicle; a vehicle speed sensor for detecting a speed of the vehicle; a relative speed between each satellite and the vehicle based on signals emitted by a plurality of satellites. Relative speed detecting means for detecting; azimuth angle calculating means for obtaining an azimuth angle of the vehicle from the output of the gyro; integrated distance calculating means for obtaining an integrated distance of the vehicle from the output of the vehicle speed sensor; Positioning means for performing positioning using any of the relative velocities; azimuth correction means for correcting the calculation constant of the azimuth calculation means based on information from a satellite; calculation of the integrated distance calculation means based on information from a satellite. An in-vehicle positioning device comprising : an integrated distance correcting means for correcting the integrated distance.
Compensates for the difference between the gyro direction and the direction obtained from satellite information.
A correction amount sum is obtained by integrating the correction amount, and the correction amount is calculated.
Gyro heading change per unit time when the sum is small
Between the azimuth and the direction change obtained from satellite information per hour
Is calculated, and the calculation constant of the azimuth angle calculation means is corrected.
When the sum of the correction amounts is large, the gyro
Azimuth change obtained from azimuth change amount of satellite and time per satellite information
The relationship with the amount of conversion was determined using a Kalman filter,
It is characterized in that the calculation constant of the azimuth angle calculation means is corrected.
In-vehicle positioning device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15014294A JP3412261B2 (en) | 1994-06-30 | 1994-06-30 | In-vehicle positioning device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15014294A JP3412261B2 (en) | 1994-06-30 | 1994-06-30 | In-vehicle positioning device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0814922A JPH0814922A (en) | 1996-01-19 |
| JP3412261B2 true JP3412261B2 (en) | 2003-06-03 |
Family
ID=15490419
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15014294A Expired - Fee Related JP3412261B2 (en) | 1994-06-30 | 1994-06-30 | In-vehicle positioning device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3412261B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4597423B2 (en) * | 2001-05-30 | 2010-12-15 | 本田技研工業株式会社 | Position correction device |
| JP5261842B2 (en) * | 2007-01-22 | 2013-08-14 | 振程 胡 | Moving body position detecting method and moving body position detecting apparatus |
| JP6008124B2 (en) | 2013-02-18 | 2016-10-19 | 株式会社デンソー | Vehicle orientation detection method and vehicle orientation detection device |
-
1994
- 1994-06-30 JP JP15014294A patent/JP3412261B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0814922A (en) | 1996-01-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0527558B1 (en) | GPS navigation system with local speed direction sensing and PDOP accuracy evaluation | |
| JP3062301B2 (en) | GPS navigation device | |
| JP3533745B2 (en) | Mobile positioning device | |
| JP3448976B2 (en) | Current position detection device for vehicles | |
| JPH09178508A (en) | Unit being used with two antennas on movable platform, method for determining orientation of head of mobile and method for executing determination | |
| KR20020080829A (en) | IMU-GPS Integrated System including error correction system, Method for reducing search space of integer ambiguity, Method for detecting Cycle slip, and position, velocity, attitude determination Method using the same | |
| JP2000502801A (en) | Improved vehicle navigation system and method using multi-axis accelerometer | |
| JP3402383B2 (en) | Vehicle current position detection device | |
| JP2647342B2 (en) | Vehicle mileage detection device | |
| JP3321096B2 (en) | Vehicle position measuring device and speed measuring device | |
| RU2202102C2 (en) | Procedure establishing positions of mobile objects and device for its realization | |
| JP3412261B2 (en) | In-vehicle positioning device | |
| JP3412262B2 (en) | On-board positioning device | |
| JP2514766B2 (en) | Vehicle orientation correction device | |
| JP3440180B2 (en) | Navigation device | |
| JP3473113B2 (en) | Gyro bearing calculation device | |
| CN110869808A (en) | Azimuth estimation device | |
| JP3569015B2 (en) | GPS navigation device | |
| JPH0835839A (en) | Gyro direction measuring device | |
| JP3303174B2 (en) | On-board positioning device | |
| JP3126751B2 (en) | Automatic correction device for distance correction coefficient | |
| JP3303175B2 (en) | On-board positioning device | |
| JPH06288776A (en) | Azimuth detector | |
| JPH0835849A (en) | Estimated error calculator | |
| JPH07146351A (en) | Position detector |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080328 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090328 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090328 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100328 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100328 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110328 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120328 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130328 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140328 Year of fee payment: 11 |
|
| LAPS | Cancellation because of no payment of annual fees |