特許第6221295号(P6221295)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セイコーエプソン株式会社の特許一覧

<>
  • 特許6221295-位置算出方法及び位置算出装置 図000005
  • 特許6221295-位置算出方法及び位置算出装置 図000006
  • 特許6221295-位置算出方法及び位置算出装置 図000007
  • 特許6221295-位置算出方法及び位置算出装置 図000008
  • 特許6221295-位置算出方法及び位置算出装置 図000009
  • 特許6221295-位置算出方法及び位置算出装置 図000010
  • 特許6221295-位置算出方法及び位置算出装置 図000011
  • 特許6221295-位置算出方法及び位置算出装置 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6221295
(24)【登録日】2017年10月13日
(45)【発行日】2017年11月1日
(54)【発明の名称】位置算出方法及び位置算出装置
(51)【国際特許分類】
   G01C 21/06 20060101AFI20171023BHJP
   G01S 19/19 20100101ALI20171023BHJP
【FI】
   G01C21/06
   G01S19/19
【請求項の数】12
【全頁数】16
(21)【出願番号】特願2013-67997(P2013-67997)
(22)【出願日】2013年3月28日
(65)【公開番号】特開2014-190900(P2014-190900A)
(43)【公開日】2014年10月6日
【審査請求日】2016年3月24日
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100124682
【弁理士】
【氏名又は名称】黒田 泰
(74)【代理人】
【識別番号】100104710
【弁理士】
【氏名又は名称】竹腰 昇
(74)【代理人】
【識別番号】100090479
【弁理士】
【氏名又は名称】井上 一
(72)【発明者】
【氏名】杉谷 大輔
(72)【発明者】
【氏名】内田 周志
【審査官】 岩田 玲彦
(56)【参考文献】
【文献】 特開2009−058242(JP,A)
【文献】 特開平11−094573(JP,A)
【文献】 特開2008−045932(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00−21/36
G01S 19/19
(57)【特許請求の範囲】
【請求項1】
移動体の移動位置を慣性航法演算で算出するステップと、
前記移動体の移動方向を算出するステップと、
前記算出された前記移動方向を用いて、絶対座標系との方位差を取得するステップと、
前記慣性航法演算の算出開始位置及び前記方位差を用いて、前記移動位置を修正するステップと、
を含み、
前記修正するステップの前においては、前記算出された前記移動位置に、
前記修正するステップの後においては、前記修正された前記位置に、
所定のフィルター処理をする、
位置算出方法。
【請求項2】
請求項において、
前記フィルター処理は、
前記修正するステップの前後で、推定誤差値を継承して誤差推定演算を行うカルマンフィルター処理である、
位置算出方法。
【請求項3】
請求項1又は2において、
前記移動方向を算出するステップは、測位用衛星からの衛星信号に基づいて前記絶対座標系上での移動方向を算出し、
前記方位差を取得するステップは、前記衛星信号に基づく移動方向を用いて前記方位差を取得する、
位置算出方法。
【請求項4】
請求項1又は2において、
前記方位差を取得するステップは、方位計で計測された計測方位を用いて前記方位差を
取得する、
位置算出方法。
【請求項5】
請求項1〜の何れか一項において、
前記移動方向が安定している安定時期を判定するステップを含み、
前記方位差を取得するステップは、前記安定時期において前記方位差を取得する、
位置算出方法。
【請求項6】
請求項において、
前記方位差を取得するステップは、
前記安定時期における前記移動方向を平均し、
当該平均した移動方向を用いて前記方位差を取得する、
位置算出方法。
【請求項7】
絶対座標系を仮に設定した絶対仮座標系上での移動体の移動位置を慣性航法演算で算出するステップと、
前記移動体の移動方向を算出するステップと、
前記算出された前記移動方向を用いて、前記絶対座標系との方位差を取得するステップと、
前記慣性航法演算の算出開始位置及び前記方位差を用いて、前記絶対仮座標系上の前記移動位置を前記絶対座標系上の位置に修正するステップと、
を含む位置算出方法。
【請求項8】
請求項1〜の何れか一項において、
前記慣性航法演算で算出するステップは、前記絶対座標系を仮に設定した絶対仮座標系上での前記移動体の前記移動位置を前記慣性航法演算で算出し、
前記修正するステップは、前記絶対仮座標系上の前記移動位置を前記絶対座標系上の位置に修正する、
位置算出方法。
【請求項9】
移動体の移動位置を慣性航法演算で算出する慣性航法演算部と、
前記移動体の移動方向を算出する移動方向算出部と、
前記算出された前記移動方向を用いて、絶対座標系との方位差を取得する方位差取得部と、
前記慣性航法演算の算出開始位置及び前記方位差を用いて、前記移動位置を修正する修正部と、
を含み、前記修正部による修正の前は前記慣性航法演算部により算出された前記移動位置に、前記修正の後は前記修正部により修正された前記移動位置に、所定のフィルター処理をする、位置算出装置。
【請求項10】
絶対座標系を仮に設定した絶対仮座標系上での移動体の移動位置を慣性航法演算で算出する慣性航法演算部と、
前記移動体の移動方向を算出する移動方向算出部と、
前記算出された前記移動方向を用いて、前記絶対座標系との方位差を取得する方位差取得部と、
前記慣性航法演算の算出開始位置及び前記方位差を用いて、前記絶対仮座標系上の前記移動位置を前記絶対座標系上の位置に修正する修正部と、
を含む位置算出装置。
【請求項11】
移動体の移動位置を慣性航法演算で算出し、
前記移動体の移動方向を算出し、
前記算出された前記移動方向を用いて、絶対座標系との方位差を取得し、
前記慣性航法演算の算出開始位置及び前記方位差を用いて、前記移動位置を修正し、
前記修正の前は前記算出された前記移動位置に、前記修正の後は前記修正された前記移動位置に、所定のフィルター処理をする、
位置算出装置。
【請求項12】
絶対座標系を仮に設定した絶対仮座標系上での移動体の移動位置を慣性航法演算で算出し、
前記移動体の移動方向を算出し、
前記算出された前記移動方向を用いて、前記絶対座標系との方位差を取得し、
前記慣性航法演算の算出開始位置及び前記方位差を用いて、前記絶対仮座標系上の前記移動位置を前記絶対座標系上の位置に修正する、
位置算出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置を算出する方法等に関する。
【背景技術】
【0002】
センサーの計測結果を利用して位置を算出する慣性航法演算においては、センサーの計測結果に含まれ得る種々の誤差に起因して位置算出の正確性が低下するという問題がある。この問題を解決するための技術として、例えば、特許文献1には、移動体のヨー角の初期化が異常であるか否かを判定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2012−42285号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
慣性航法演算を開始するには、まず、移動方向の方位を取得する必要があるのが一般的である。その方位を基準として慣性航法をスタートするからである。そのため、基準とする方位の情報を取得するまでの時間によって、慣性航法演算の開始が遅れることとなる。
本発明は上記の課題に鑑みて考案されたものであり、その目的とするところは、基準とする方位の情報を取得する前から慣性航法演算を開始するための新たな手法を提案することにある。
【課題を解決するための手段】
【0005】
以上の課題を解決するための第1の発明は、絶対座標系を仮に設定した絶対仮座標系上での移動位置を慣性航法演算で算出することと、移動方向を算出することと、前記移動方向を用いて前記絶対座標系と前記絶対仮座標系との方位差を取得することと、前記慣性航法演算の算出開始位置と前記方位差とを用いて、前記移動位置を前記絶対座標系上の位置に修正することと、を含む位置算出方法である。
【0006】
また、他の発明として、絶対座標系を仮に設定した絶対仮座標系上での移動位置を慣性航法演算で算出する慣性航法演算部と、移動方向を算出する移動方向算出部と、前記移動方向を用いて前記絶対座標系と前記絶対仮座標系との方位差を取得する方位差取得部と、前記慣性航法演算の算出開始位置と前記方位差とを用いて、前記移動位置を前記絶対座標系上の位置に修正する修正部と、を備えた位置算出装置を構成することとしてもよい。
【0007】
この第1の発明等によれば、絶対座標系を仮に設定した絶対仮座標系上での移動位置を慣性航法演算で算出し始めることができる。そして、絶対座標系と絶対仮座標系との方位差(例えば、絶対座標系に定義づけていた東西南北の方角(この場合は真の方角とも言える)と、絶対仮座標系に定義づけていた東西南北の方向(この場合は仮の方角とも言える)との差)が取得できれば、その方位差を用いて、移動位置を絶対座標系上の位置に修正することができる。そのため、基準となる方位(この場合は絶対座標系の方位)が不明の状態でも慣性航法演算を開始することができる。また、絶対座標系が不明の状態で算出した絶対仮座標系上の位置は、後から、絶対座標系と絶対仮座標系との方位差を用いて、絶対座標系上の正しい位置に修正することができる。このため、絶対座標系の方位が判明するまで慣性航法演算の開始を待つ必要が無い。
【0008】
また、第2の発明として、第1の発明の位置算出方法において、前記修正の前は前記算出された移動位置に、前記修正の後は前記修正された前記位置に所定のフィルター処理を施すこと、を更に含む位置算出方法を構成することとしてもよい。
【0009】
この第2の発明によれば、位置の修正の前は慣性航法演算によって算出された移動位置に、修正の後は修正後の移動位置に所定のフィルター処理を施すことで、位置の修正の前後に関わらずに位置を適切に算出することが可能となる。
【0010】
また、第3の発明として、第2の発明の位置算出方法における前記フィルター処理は、前記修正の前後で推定誤差値を継承して誤差推定演算を行うことを含むカルマンフィルター処理である、位置算出方法を構成することとしてもよい。
【0011】
この第3の発明によれば、位置の修正の前後で推定誤差値を継承して誤差推定演算を行うことを含むカルマンフィルター処理を実行するため、位置の修正の前後で誤差推定値をリセットする必要がない。カルマンフィルター処理では、所定のフィルター処理演算を繰り返し実行するが、推定誤差値が安定するまでには一定の時間がかかる。位置の修正の前後で誤差推定値をリセットする必要がないため、位置が修正されたからと言って、カルマンフィルター処理の誤差推定値が原因で最終的な位置がばらつくことはない。
【0012】
また、第4の発明として、第1〜第3の何れかの発明の位置算出方法において、前記移動方向を算出することは、測位用衛星からの衛星信号に基づいて前記絶対座標系上での移動方向を算出することを含み、前記方位差を取得することは、前記衛星信号に基づく移動方向を用いて前記方位差を取得することを含む、位置算出方法を構成することとしてもよい。
【0013】
この第4の発明によれば、測位用衛星からの衛星信号に基づいて絶対座標系上での移動方向を算出し、衛星信号に基づく移動方向を用いることで、絶対座標系と絶対仮座標系との方位差を簡単に取得することができる。
【0014】
また、第5の発明として、第1〜第3の何れかの発明の位置算出方法において、前記方位差を取得することは、方位計で計測された計測方位を用いて前記方位差を取得することを含む、位置算出方法を構成することとしてもよい。
【0015】
この第5の発明によれば、方位計で計測された計測方位を用いることで、絶対座標系と絶対仮座標系との方位差を簡単に取得することができる。
【0016】
また、第6の発明として、第1〜第5の何れかの発明の位置算出方法において、前記移動方向が安定している安定時期を判定することを更に含み、前記方位差を取得することは、前記安定時期において前記方位差を取得することを含む、位置算出方法を構成することとしてもよい。
【0017】
この第6の発明によれば、移動方向が安定している安定時期を判定し、安定時期において方位差を取得することで、ユーザーの移動方向の変化等に起因して誤った方位差が取得される可能性を低減できる。
【0018】
また、第7の発明として、第6の発明の位置算出方法における前記方位差を取得することは、前記安定時期における前記移動方向を平均することと、当該平均した移動方向を用いて前記方位差を取得することと、を含む、位置算出方法を構成することとしてもよい。
【0019】
この第7の発明によれば、安定時期における移動方向を平均し、当該平均した移動方向を用いることで、絶対仮座標系と絶対座標系との方位差を取得することができる。
【図面の簡単な説明】
【0020】
図1】位置算出装置の全体システムの構成例を示す図。
図2】位置算出装置の機能構成の一例を示す図。
図3】処理部の機能ブロックを示す図。
図4】原理の説明図。
図5】位置算出処理の流れを示すフローチャート。
図6】位置算出を行った実験結果の一例を示す図。
図7】実験結果を示す図。
図8】変形例における処理部の機能ブロックを示す図。
【発明を実施するための形態】
【0021】
以下、図面を参照して、本発明の好適な実施形態の一例について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【0022】
1.システム構成
図1は、本実施形態における位置算出装置1の全体システムの構成例を示す図である。この位置算出装置1は、例えばユーザーの腰(右腰又は左腰)に装着して利用される小型電子機器であり、ユーザーの位置を算出して表示する位置算出装置の一種である。位置算出装置1は、ユーザーが位置の算出に係る各種操作を入力するための入力装置である操作ボタン3と、算出された位置等の情報が表示される液晶ディスプレイ5と、スピーカー7とを有し、装置内部にIMU(Inertial Measurement Unit)10の他、図2の処理部100の機能を担うCPU(Central Processing Unit)等のプロセッサー、記憶部600の機能を担うメモリー、通信部500の機能を担う通信回路、GPS(Global Positioning System)センサー20などを有する。
【0023】
本実施形態では、3種類の座標系を定義する。第1の座標系は、位置算出装置1が具備するIMU10に対応付けられた三次元直交座標系(センサー座標系)であるローカル座標系である。本明細書では、ローカル座標系のことをL(Local)フレームとも言う。本実施形態では、ローカル座標系の3軸をx軸、y軸及びz軸と表記する。
【0024】
第2の座標系は、移動体に対応付けられた三次元直交座標系(移動体座標系)である。本明細書では、移動体座標系のことをV(Vehicle)フレームとも言う。本実施形態では、ユーザーの前方を正とする前後方向をロール軸(R軸)、右方を正とする左右方向をピッチ軸(P軸)、鉛直下方を正とする上下方向をヨー軸(Q軸)とする。
【0025】
第3の座標系は、移動体の移動空間を定める座標系である三次元直交座標系(絶対座標系)である。本明細書では、絶対座標系のことをA(Absolute)フレームとも言う。Aフレームは、例えば、北東下座標系として知られるNED(North East Down)座標系や、地球中心地球固定座標系として知られるECEF(Earth Centered Earth Fixed)座標系として定義される。本実施形態では、絶対座標系の3軸をX軸、Y軸及びZ軸と表記する。
【0026】
また、本実施形態では、絶対座標系(Aフレーム)の正確な方位を認識できていない場合でも、かつ、移動体が移動を開始しても、慣性航法演算を開始できる。その絶対座標系の方位を認識できていない間は絶対座標系を仮に設定した「絶対仮座標系」で位置を算出する。移動している移動体の絶対仮座標系での位置が、絶対仮座標系での移動位置に相当する。
【0027】
IMU10は、位置算出装置1に搭載されるセンサーユニットであり、慣性航法ユニットとして知られるものである。IMU10は、加速度センサー11と、ジャイロセンサー13とを有する。図1に示すようにIMU10のz軸が鉛直方向の軸となる。
【0028】
加速度センサー11は、ユーザーの加速度ベクトルを検出する。加速度センサー10としては、例えばMEMS(Micro Electro Mechanical Systems)センサーが用いられる。加速度センサー10が計測した値は、ローカル座標系で計測した移動体の加速度となる。
【0029】
本明細書では、スカラーとベクトルとを適宜区別して説明する。原則として、加速度や速度と言ったときは加速度や速度の大きさ(スカラー量)を表し、加速度ベクトルや速度ベクトルと言ったときは方向及び大きさを考慮した加速度及び速度を表すものとする。
【0030】
ジャイロセンサー13は、ユーザーの角速度を検出するセンサーであり、進行方向速度算出装置1が具備する加速度センサー11と同じローカル座標系で角速度(以下、「ローカル座標角速度」と称す。)を検出する。
【0031】
GPSセンサー20は、測位用衛星の一種であるGPS衛星から送信されるGPS衛星信号を受信し、当該GPS衛星信号を利用してユーザーの位置及び速度ベクトルを算出するセンサーである。なお、GPSを利用して位置や速度ベクトルを算出する方法については従来公知であるため、詳細な説明を省略する。
【0032】
また、各座標系において定義される諸量を明確にするため、各諸量を表す文言の先頭に座標系の種類を付して説明する。例えば、ローカル座標系で表した加速度ベクトルのことを「ローカル座標加速度ベクトル」と称し、絶対座標系で表した加速度ベクトルのことを「絶対座標加速度ベクトル」と称する。他の諸量についても同様である。また、ユーザーに対するセンサーの相対的な姿勢(相対姿勢)のことを「センサー姿勢」と表現し、その姿勢角(相対姿勢角)のことを「センサー姿勢角」と称す。
【0033】
また、本明細書における数式では、速度ベクトルの成分を小文字の“v”で表す。また、速度ベクトルの表記において、座標系の種類を上付きの大文字の添え字で示す。“L”はローカル座標系、“V”は移動体座標系、“A”は絶対座標系をそれぞれ意味する。また、対応する座標系の各軸の成分を下付きの小文字の添え字で示す。例えば、ローカル座標系の3軸であれば“x”、“y”及び“z”の表記を用いる。
【0034】
2.機能構成
図2は、位置算出装置1の機能構成の一例を示す図である。
位置算出装置1は、IMU10と、GPSセンサー20と、処理部100と、操作部200と、表示部300と、音出力部400と、通信部500と、記憶部600とを有して構成される。
【0035】
処理部100は、記憶部600に記憶されているシステムプログラム等の各種プログラムに従って、位置算出装置1の各部を統括的に制御する。
【0036】
図3は、処理部100の機能構成の概略を表わす機能ブロック図である。
処理部100は、慣性航法演算部110と、方位差取得部120と、修正部130と、カルマンフィルター処理部(以下、「KF(Kalman Filter)処理部」と称す。)140とを機能部として有する。
【0037】
慣性航法演算部110は、加速度センサー11から出力されるローカル座標加速度ベクトルと、ジャイロセンサー13から出力されるローカル座標角速度とを用いて、公知の慣性航法演算処理を行って、絶対座標系におけるユーザーの位置(絶対座標位置)、速度ベクトル(絶対座標速度ベクトル)及び姿勢角(絶対姿勢角)を算出する。慣性航法演算部110は、KF処理部140から出力される加速度バイアス及びジャイロバイアスを用いて、IMU10から出力されるローカル座標加速度ベクトル及びローカル座標角速度を補正する。そして、補正後のローカル座標加速度ベクトル及びローカル座標角速度を用いて絶対座標位置、絶対座標速度ベクトル及び絶対姿勢角を算出し、KF処理部140から出力される位置誤差、速度ベクトル誤差及び姿勢角誤差を用いて、絶対座標位置、絶対座標速度ベクトル及び絶対姿勢角を補正する。
【0038】
方位差取得部120は、慣性航法演算部110から出力される慣性航法演算方位と、GPSセンサー20から出力されるGPS演算方位(絶対座標系上での移動方向:絶対方位)とを用いて、絶対座標系と絶対仮座標系との方位差を取得する。例えば、慣性航法演算方位が絶対仮座標系上で定義され、GPS演算方位が絶対座標系上で定義される。しかし、実際には、慣性航法演算方位もGPS演算方位も同じ方角である。従って、慣性航法演算方位とGPS演算方位とを同じ方角とすることで、絶対仮座標系の軸方向と、絶対座標系の軸方向とのなす角度(姿勢の違いとも言える)を方位差として取得する。GPS演算方位は、衛星信号に基づく移動方向に相当する。また、本実施形態の方位差取得部120は、絶対座標系上での移動方向を算出する移動方向算出部の機能を含む。
【0039】
修正部130は、慣性航法演算部110による慣性航法演算の算出開始位置と、方位差取得部120によって取得された方位差とを用いて、移動位置を絶対座標系上の位置に修正する。
【0040】
KF処理部140は、カルマンフィルター処理を行う機能部である。慣性航法演算部110から出力される慣性航法演算結果(絶対座標位置、絶対座標速度ベクトル及び絶対姿勢角)を制御入力として、誤差推定演算(以下、「KF誤差推定演算」と称す。)を行って、慣性航法演算結果に含まれる誤差(以下、「慣性航法演算誤差」と称す。)を推定する。また、推定した慣性航法演算誤差を慣性航法演算部110にフィードバック出力する。KF処理部140は、修正部130による座標系の修正の前は慣性航法演算部110によって算出された移動位置に、座標系の修正の後は修正後の移動位置に所定のフィルター処理を施すフィルター処理部に相当する。
【0041】
図4は、方位差取得部120による方位差の取得及び修正部130による座標系修正の原理の説明図である。位置算出装置1は、ユーザーの絶対方位を認識できていない状態で慣性航法演算を開始する。つまり、慣性航法演算部110が演算する座標系は仮の絶対座標系(絶対仮座標系)である。慣性航法演算部110は、この絶対仮座標系でユーザーの位置、速度ベクトル及び姿勢を演算していく。図4では、時刻t1で慣性航法演算を開始し、時刻t6まで慣性航法演算を行った場合を図示している。
【0042】
時刻t6においてGPSセンサー20から絶対方位の情報を取得できたとする。この場合、方位差取得部120は、時刻t1〜t6までに算出された速度ベクトルから求まる相対的なユーザーの移動方位(移動方向)を平均することで平均移動方位を算出する。そして、平均移動方位とGPSセンサー20から取得したGPS演算方位との方位差θを算出する。修正部130は、方位差取得部120によって取得された方位差θを用いて、慣性航法演算部110が演算している絶対仮座標系を絶対座標系に修正する。つまり、絶対仮座標系を方位差θを用いて回転させる。その結果、慣性航法演算部110が演算する座標系は絶対座標系となる。これにより、慣性航法演算部110は、慣性航法演算の算出開始位置と方位差とを用いて、ユーザーの移動位置を絶対座標系上の位置に修正することができる。
【0043】
図2に戻り、操作部200は、例えばタッチパネルやボタンスイッチ等の入力装置を有して構成され、なされた操作に応じた操作信号を、処理部100に出力する。この操作部200の操作により、位置の算出指示等の各種指示入力がなされる。操作部200は、図1の操作ボタン3に相当する。
【0044】
表示部300は、例えばLCD(Liquid Crystal Display)等の表示装置を有して構成され、処理部100から入力される表示信号に基づく各種表示を行う。表示部300には、算出された位置等の情報が表示される。表示部300は、図1の液晶ディスプレイ5に相当する。
【0045】
音出力部400は、例えばスピーカーなどの音出力装置を有して構成され、処理部100から入力される音声信号に基づく各種音出力を行う。音出力部400は、図1のスピーカー7に相当する。
通信部500は、装置内部で利用される情報や算出した結果等を、外部の情報通信装置との間で送受するための通信装置である。
【0046】
記憶部600は、例えばROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の記憶装置で実現され、処理部100が位置算出装置1を統括的に制御するためのシステムプログラムや、各種アプリケーション処理を実行するための各種プログラムやデータ等を記憶する。
【0047】
記憶部600には、位置算出処理(図5参照)として実行される位置算出プログラム610が記憶されている。位置算出プログラム610は、KF処理(図5参照)として実行されるKF処理プログラム611をサブルーチンとして含む。また、記憶部600には、IMU検出データ630と、GPS検出データ640と、方位差データ650と、慣性航法演算データ660と、慣性航法演算誤差データ670とが記憶される。
【0048】
IMU検出データ630は、IMU10によって検出されたローカル座標加速度ベクトル及びローカル座標角速度を時系列に記憶する。
GPS検出データ640は、GPSセンサー20によって演算されたGPS演算結果を時系列に記憶する。
方位差データ650は、方位差取得部120によって取得された方位差を記憶する。
慣性航法演算データ660は、慣性航法演算部110が慣性航法演算を行うことで取得されるデータであり、位置や速度ベクトル、姿勢角といった諸量がこれに含まれる。
慣性航法演算誤差データ670は、KF処理部140がKF処理を行うことで取得されるデータであり、位置誤差や速度ベクトル誤差、姿勢角誤差、加速度バイアス、ジャイロバイアスといった諸量がこれに含まれる。
【0049】
3.処理の流れ
図5は、位置算出装置1の処理部100が記憶部600に記憶されている位置算出プログラム610に従って実行する位置算出処理の流れを示すフローチャートである。
【0050】
最初に、処理部100は、IMU10及びGPSセンサー20から検出データの取得を開始し、記憶部600にIMU検出データ630及びGPS検出データ640として記憶させる(ステップA1)。その後、慣性航法演算部110が、慣性航法演算処理を開始し(ステップA3)、慣性航法演算の算出開始位置を含む慣性航法演算データ660を記憶部600に記憶させる(ステップA5)。
【0051】
次いで、処理部100は、ユーザーが直進状態にあるか否かを判定する(ステップA7)。直進状態にあるか否かの判定は、例えば慣性航法演算部110の算出結果から判定できる。例えば、ヨー角が所定の近似範囲(例えば±3度以内)の状態が所定時間(例えば3秒間)継続していることを直進状態判定条件として、この直進状態判定条件を満たせば直進状態にあると判定する。所定時間継続しているか否かの判定は、移動方向が安定しているか否か(同一或いは略同一と言える方向に移動し続けているか)の判定、さらにはその安定時期において方位差を取得することにつながる。移動方向が安定していない場合には、移動方向の変化が誤差となって、後述の方位差を適切に算出することができなくなる。そのため、所定時間継続していることを直進状態判定条件に含めることは重要な点である。
【0052】
直進状態にないと判定したならば(ステップA7;No)、処理部100は、ステップA7に戻る。一方、直進状態にあると判定したならば(ステップA7;Yes)、処理部100は、ステップA7の所定時間にGPSセンサー20からGPS演算結果を取得できたか否かを判定する(ステップA9)。
【0053】
GPS演算結果が取得できなかったと判定したならば(ステップA9;No)、処理部100は、ステップA7に戻る。一方、GPS演算結果が取得できたと判定したならば(ステップA9;Yes)、方位差取得部120が、方位差取得処理を行う(ステップA11)。具体的には、直進状態にあるときに慣性航法演算部110によって演算された移動方位を平均して平均移動方位を算出する。そして、算出した平均移動方位とGPSセンサー20から取得した絶対方位との方位差θを算出し、方位差データ650として記憶部600に記憶させる。これは、安定時期における移動方向を平均し、当該平均した移動方向を用いて方位差を取得することに相当する。また、本実施形態の慣性航法演算部110は、安定時期における移動方向を算出する移動方向算出部の機能を含む。
【0054】
次いで、修正部130は、方位差取得部120によって取得された方位差を用いて座標系を修正する座標系修正処理を行う(ステップA13)。この際、慣性航法演算の算出開始位置と現在の慣性航法演算位置とを結ぶ位置ベクトルを方位差を用いて回転させることで移動位置を修正する。また、速度ベクトルを方位差を用いて回転させることで速度ベクトルを修正し、変換後の移動位置を用いてユーザーの姿勢角を修正する。なお、これらの修正に係る演算式それ自体は公知である。ここではArfken, G. "Mathematical Methods for Physicists, 3rded.” Orland, FL: Academic Press, 1985, p.195 を引用し、本明細書に組み込むこととする。
【0055】
次いで、KF処理部140が、記憶部600に記憶されたKF処理プログラム611に従ってKF処理を行う。KF処理では、KF処理部140は、例えば次式(1)に示すような状態ベクトルXを設定してKF誤差推定演算を行う。
【数1】
但し、「δP」、「δV」及び「δA」は、それぞれ慣性航法演算部110の演算結果に含まれる位置誤差、速度ベクトル誤差及び姿勢角誤差である。また、「b」及び「b」は、それぞれ加速度バイアス及びジャイロバイアスである。
【0056】
また、KF誤差推定演算では、状態ベクトルXの各成分に含まれる誤差の共分散を成分とする誤差共分散行列P(数式は省略する。)を設定して計算を行う。
【0057】
最初に、KF処理部140は、カルマンフィルターの理論に基づく所定の演算式に従って状態ベクトルX及び誤差共分散行列Pを予測する予測演算を行う(ステップA15)。
次いで、KF処理部140は、現在のユーザーの移動状況を判定し(ステップA17)、移動状況の判定結果が移動中である場合は(ステップA17;移動中)、GPSセンサー20からGPS演算速度Vを取得する(ステップA19)。そして、KF処理部140は、GPS演算速度Vを用いて、例えば次式(2)に示すような移動時観測ベクトルZmoveを設定する(ステップA21)。
【数2】
【0058】
移動時観測ベクトルZmoveは、ユーザーの縦横方向(鉛直方向と左右方向)の速度成分はゼロであるとの仮定に基づき設定される観測ベクトルである。つまり、移動体座標系(Vフレーム)のQ軸方向及びP軸方向の速度成分はゼロとなり、ユーザーの前方方向であるR軸方向に対しては速度Vに相当する速度成分が生ずると仮定する。
【0059】
この場合、KF処理部140は、ステップA21で設定した移動時観測ベクトルZmoveを用いて、カルマンフィルター処理の補正演算を行って、予測演算で予測された状態ベクトルX及び誤差共分散行列Pを補正する(ステップA23)。この場合の補正演算は、移動体座標系で行う。なお、絶対座標系から移動体座標系への変換は、ユーザーに対するIMU10の姿勢(センサー姿勢)を公知の手法を用いて演算し、ジャイロセンサー13の検出結果から求められる絶対姿勢角を用いて定められる座標変換行列と、センサー姿勢角を用いて定められる座標変換行列とを用いた座標変換により実現できる。
【0060】
ステップA17において移動状況が停止中であると判定したならば(ステップ17;停止中)、KF処理部140は、停止時観測ベクトルを設定する(ステップA25)。具体的には、慣性航法演算部110が演算した絶対座標速度ベクトルv=(v,v,vを用いて、例えば次式(3)に示すような停止時観測ベクトルZstopを設定する。
【数3】
【0061】
停止時観測ベクトルZstopは、ユーザーの速度成分がゼロであるとの仮定に基づき設定される観測ベクトルである。つまり、停止状態では、絶対座標系(Aフレーム)における各軸方向の速度成分がゼロになると仮定する。この場合、KF処理部140は、ステップA25で設定した停止時観測ベクトルZstopを適用したカルマンフィルターの理論に基づく補正演算を行って、予測演算で予測された状態ベクトルX及び誤差共分散行列Pを補正する(ステップA27)。ステップA23又はA27の補正演算で得られた慣性航法演算誤差は、慣性航法演算誤差データ670として記憶部600に記憶させる。そして、KF処理部140は、KF処理を終了する。
【0062】
KF処理の後、慣性航法演算部110は、KF処理で演算された慣性航法演算誤差を用いて慣性航法演算結果を補正する(ステップA29)。次いで、慣性航法演算部110は、位置の出力タイミングであるか否かを判定し(ステップA31)、出力タイミングであると判定したならば(ステップA31;Yes)、最新の慣性航法演算結果を出力する(ステップA33)。出力タイミングではないと判定したならば(ステップA31;No)、ステップA35へと移行する。
【0063】
処理部100は、処理を終了するか否かを判定し(ステップA35)、処理を継続すると判定したならば(ステップA35;No)、ステップA15に戻る。一方、処理を終了すると判定したならば(ステップA35;Yes)、処理部100は、位置算出処理を終了する。
【0064】
4.実験結果
図6は、位置算出装置1を装着した被験者が所定の経路(図6のスタート地点SPから、右上の方向)に沿って移動したときの位置を算出する実験の結果を示す図である。図6において、横軸は経度、縦軸は緯度をそれぞれ示している。スタート地点SPから右上方向に移動したにも関わらず、本実施形態の位置は、スタート地点SPから一時、下方向に移動した軌跡となっている。これは、GPS演算方位を取得するまでの絶対仮座標系で算出していることによる。GPS演算方位が取得できると、正しい位置に修正され、以降は右上方向に移動した適切な位置が算出できている。なお、GPS演算方位を取得するまでに算出した全ての位置について、位置の修正を施せば、正しい位置に修正することができるのは勿論である。
【0065】
図7は、上記の実験においてKF処理を行った場合の位置誤差及び速度誤差の誤差共分散として表される誤差推定値(以下、「推定誤差値」と称す。)の時間変化を示す図である。図7(1)は、従来の手法を用いた場合の推定誤差値の時間変化を示し、図7(2)は、本実施形態の手法を用いた場合の推定誤差値の時間変化を示している。各図において、横軸は時間であり、縦軸は推定誤差値である。時刻tは、GPSセンサー20からGPS演算方位(絶対方位)を取得した時刻である。
【0066】
従来の手法では、時刻tで座標系の修正が施されるために推定誤差値をリセット(初期値に戻す)ことをしている。このため、折角安定してきたKF処理が初期化されてしまい、精度が不安定な状態に戻り、再びKF処理が安定するまでに時間を要してしまう。
【0067】
それに対し、本実施形態の手法を用いた場合は、時刻tにおいても推定誤差値がリセットされずに、漸次ゼロに収束していくことがわかる。座標系の修正を行う前のKF処理の結果をそのまま継承してKF処理を行うことができるためである。これは、本実施形態では、座標系が絶対仮座標系であっても、絶対座標系であっても、算出される位置は、その座標系の基準点からの相対位置に過ぎないため、座標系が修正されたとしてもKF処理は継続できることを原理とする。本実施形態によれば、座標系の修正を行う前の精度を保ったままKF処理を継続することができる。従って、本実施形態のフィルター処理によれば、座標系の修正の前後で推定誤差値を継承して誤差推定演算を行うことができる。
【0068】
5.作用効果
位置算出装置1において、慣性航法演算部110は、絶対座標系を仮に設定した絶対仮座標系上での移動位置を慣性航法演算で算出する。そして、方位差取得部120は、慣性航法演算部110によって算出される慣性航法演算方位とGPSセンサー20から出力される絶対方位とを用いて、絶対座標系と絶対仮座標系との方位差を取得する。そして、修正部130は、慣性航法演算の算出開始位置と方位差とを用いて、移動位置を絶対座標系上の位置に修正する。従って、絶対座標系の方位が不明の状態でも慣性航法演算を開始することができる。また、絶対座標系が不明の状態で算出した絶対仮座標系上の位置は、後から、絶対座標系と絶対仮座標系との方位差を用いて、絶対座標系上の正しい位置に修正される。このため、絶対座標系の方位が判明するまで慣性航法演算の開始を待つ必要が無い。
【0069】
また、KF処理部140は、修正部130による修正の前は慣性航法演算部110により算出された移動位置に、修正の後は修正後の移動位置に所定のフィルター処理を施す。より具体的には、KF処理部140は、修正部130の修正の前後で推定誤差値を継承して誤差推定演算を行うことを含むカルマンフィルター処理を実行する。これにより、誤差推定値をリセットすることなく、安定的な精度を保持してユーザーの位置を適切に算出することが可能となる。
【0070】
6.変形例
本発明を適用可能な実施形態は、上記実施形態に限定されず、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明する。なお、上記実施形態と同一の構成については同一の符号を付して再度の説明を省略する。
【0071】
6−1.センサーの装着部位
上記の実施形態では、センサー(位置算出装置1)のユーザーへの装着部位を腰として説明したが、腰以外の部位に装着することとしてもよい。好適な装着部位はユーザーの体幹(四肢以外の部位)である。しかし、体幹に限らず、腕以外の例えばユーザーの頭や足に装着することとしてもよい。また、位置算出装置1は、人間ではなく、例えば自転車や自動車等に装着することとしてもよい。
【0072】
6−2.フィルター処理
上記の実施形態では、ユーザーの移動位置に施すフィルター処理をカルマンフィルター処理として説明したが、フィルター処理は何もこれに限られるわけではない。カルマンフィルターの代わりに、例えば、パーティクルフィルターやH∞(H Infinity)フィルター等のフィルターを適用したフィルター処理をユーザーの移動位置に施すこととしてもよい。
【0073】
6−3.方位差の取得
上記の実施形態では、GPSセンサー20から取得した絶対方位を用いて方位差を取得することとして説明したが、例えば図8に示すように、GPSセンサー20の代わりに、方位計30で計測された計測方位を用いて方位差取得部120が方位差を取得することとしてもよい。
【0074】
6−4.衛星測位システム
また、上記の実施形態では、絶対方位を取得するために用いる衛星測位システムをGPSとして説明した。しかし、WAAS(Wide Area Augmentation System)やGLONASS(GLObal NAvigation Satellite System)、GALILEO、Beidou等の衛星測位システムとしてもよいことは勿論である。
【0075】
6−5.直進状態判定
上記の実施形態では、ヨー角が所定の近似範囲の状態が所定時間継続していることを直進状態判定条件として説明したが、直進状態判定条件はこれに限られるわけではない。ヨー角に代えて、GPS演算方位の変化や、GPSセンサーが算出する位置から求められる移動方向の変化を用いてもよい。直進状態判定にGPSセンサーを利用する場合には、GPS演算結果を取得できたか否かの判定は省略してもよい。また、直進状態判定は上記以外の公知の手法を用いてもよい。
【0076】
6−6.移動方向の平均
上記の実施形態では、慣性航法演算部110が演算した速度ベクトルから求まる相対的なユーザーの移動方位を平均して平均移動方位を算出したが、ヨー角を平均してもよい。
【符号の説明】
【0077】
1 位置算出装置、 3 操作ボタン、 5 液晶ディスプレイ、 7 スピーカー、 10 IMU、 11 加速度センサー、 13 ジャイロセンサー、 20 GPSセンサー、 30 方位計、 100 処理部、 200 操作部、 300 表示部、 400 音出力部、 500 通信部、 600 記憶部
図1
図2
図3
図4
図5
図6
図7
図8