説明

加速度センサのゼロ点検出装置、ゼロ点検出方法、および、プログラム

【課題】加速度センサに作用する加速度がゼロとなった状態の感応軸毎の検出値を精度よく求めることを可能にする。
【解決手段】加速度検出装置は、車両が停止状態であると判定されたとき、加速度センサ111で検出された感応軸毎の検出値と、加速度センサ111の感応軸毎のゼロ点との、感応軸毎の差分から構成される合成ベクトルの大きさが、重力加速度と等しくなることを利用した方程式を最小二乗法、或いは、逐次最小二乗法を用いて解法することで、加速度センサ111の感応軸毎のゼロ点を求める。このため、求めた検出値に誤差が含まれる余地を低減することができる。よって、加速度センサ111の感応軸毎のゼロ点を精度よく求めることができる。これにより、加速度検出装置は、加速度センサ111に作用する加速度も精度よく求めることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、加速度センサのゼロ点検出装置、ゼロ点検出方法、および、プログラムに関する。
【背景技術】
【0002】
移動体(例えば、車両)の多くには、移動体に作用する加速度を検出する加速度センサが搭載されている。これは、加速度センサが、ナビゲーション装置やアンチロックブレーキシステム、或いは、エアバックシステム等に広く利用されることによる。
【0003】
この加速度センサが、例えば、3軸(感応軸が3つ)の場合、加速度センサは、X軸方向(左右方向)、Y軸方向(前後方向)、およびZ軸方向(鉛直方向)の加速度を、検出値として感応軸毎に出力する。この検出値が、ゼロ点からどの程度変化したかを感応軸毎に求めることで、移動体に作用する加速度を求めることができる。ここで、ゼロ点とは、加速度センサに作用する加速度がゼロとなった状態の感応軸毎の検出値であり、加速度を求めるための基準値であるが、このゼロ点は、加速度センサへの振動等により、時間の経過と共に変化する。
【0004】
このゼロ点を補正する(正確なゼロ点を求める)技術として、例えば、特許文献1に記載のゼロ点補正装置が知られている。このゼロ点補正装置は、移動体が停止した場合に、加速度センサの検出値を記憶すると共にその位置も合わせて記憶する。その後、記憶した位置付近に移動体が停止すると、再び、加速度センサの検出値を記憶する。そして、今回記憶した検出値と過去の記憶値との差を用いて、ゼロ点を補正するものである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−264794号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載のゼロ点補正装置は、記憶した位置付近に移動体が停止した場合にも、加速度センサの検出値を記憶する。言い換えれば、記憶した位置と同一の位置に移動体が停止しなくても、加速度センサの検出値が記憶される。このため、記憶される検出値には毎回誤差が含まれる。よって、この検出値を用いて求められたゼロ点にも毎回誤差が含まれる。従って、求められたゼロ点(加速度センサに作用する加速度がゼロとなった状態の感応軸毎の検出値)の精度が悪いという問題点があった。
【0007】
本発明は、上記実情に鑑みてなされたものであり、加速度センサに作用する加速度がゼロとなった状態での感応軸毎の検出値であるゼロ点を精度よく求めることを可能にすることを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の第1の観点に係る加速度センサのゼロ点検出装置は、
移動体に搭載される加速度センサのゼロ点検出装置であって、
前記移動体が停止状態であるかを判定する停止判定部と、
前記停止判定部により停止状態にあると判別されたときに、前記移動体に搭載され且つ複数の感応軸を有する加速度センサから、その加速度センサに作用する加速度に対応した検出値を感応軸毎に取得する取得部と、
前記取得部により取得された感応軸毎の検出値と、前記加速度センサに作用する加速度がゼロとなった状態での感応軸毎の検出値であるゼロ点との感応軸毎の差分から構成される合成ベクトルの大きさが、重力加速度と等しくなることを利用して、前記加速度センサのゼロ点を感応軸毎に求めるゼロ点検出部と、
を備えていることを特徴とする。
【0009】
前記ゼロ点検出部は、例えば、前記取得部により取得された複数組の感応軸毎の検出値と前記ゼロ点との差分から構成される合成ベクトルの大きさと、重力加速度の大きさと、の差分が最小となるように、最小二乗法を用いて、前記ゼロ点を求める演算部を備えていてもよい。
【0010】
前記演算部は、例えば、前記取得部により所定数の検出値の組が取得される毎に、最小二乗法を用いて前記ゼロ点を求めるか、又は、前記取得部により前記検出値の組が取得される度に、逐次最小二乗法を用いて前記ゼロ点を求める、
ものでもよい。
【0011】
例えば、前記ゼロ点検出部により新たに求められたゼロ点を、過去のゼロ点に基づいて補正して出力する補正部、をさらに備えていてもよい。
【0012】
前記補正部は、例えば、前記ゼロ点検出部により新たに検出されたゼロ点と、それまで補正部が出力していた補正済のゼロ点との差が、所定の基準よりも大きいか否かを判別し、大きいと判別した場合には、従前の補正済ゼロ点を保持する、
ものでもよい。
【0013】
また、本発明の第2の観点に係るゼロ点検出方法は、
移動体が停止状態であるかを判定する停止判定ステップと、
前記停止判定ステップにより停止状態にあると判別されたときに、前記移動体に搭載され且つ複数の感応軸を有する加速度センサから、その加速度センサに作用する加速度に対応した検出値を感応軸毎に取得する取得ステップと、
前記取得ステップにより取得された感応軸毎の検出値と、前記加速度センサに作用する加速度がゼロとなった状態での感応軸毎の検出値であるゼロ点との感応軸毎の差分から構成される合成ベクトルの大きさが、重力加速度と等しくなることを利用して、前記加速度センサのゼロ点を感応軸毎に求めるゼロ点検出ステップと、
を備えている。
【0014】
また、本発明の第3の観点に係るコンピュータプログラムは、
移動体に載置されたコンピュータに、
前記移動体が停止状態であるかを判定する停止判定機能と、
前記停止判定機能により停止状態にあると判別されたときに、前記移動体に搭載され且つ複数の感応軸を有する加速度センサから、その加速度センサに作用する加速度に対応した検出値を感応軸毎に取得する取得機能と、
前記取得機能により取得された感応軸毎の検出値と、前記加速度センサに作用する加速度がゼロとなった状態での感応軸毎の検出値であるゼロ点との感応軸毎の差分から構成される合成ベクトルの大きさが、重力加速度と等しくなることを利用して、前記加速度センサのゼロ点を感応軸毎に求めるゼロ点検出機能と、
を実現させる。
【発明の効果】
【0015】
本発明によれば、移動体が停止状態にあると判別されたときに取得された感応軸毎の検出値と、加速度センサに作用する加速度がゼロとなった状態での感応軸毎の検出値であるゼロ点との感応軸毎の差分から構成される合成ベクトルの大きさが、重力加速度と等しくなることを利用して、加速度センサのゼロ点を感応軸毎に求める。このため、求めた検出値に誤差が含まれる余地を低減することができる。よって、加速度センサのゼロ点を精度よく求めることができる。
【図面の簡単な説明】
【0016】
【図1】本実施形態に係る加速度検出装置の概略を示す図である。
【図2】図1に示す加速度検出装置の構成を示すブロック図である。
【図3】本実施形態に係るゼロ点検出装置により算出されるゼロ点を示した図である。
【図4】本実施形態に係るゼロ点検出装置の機能を概念的に示した図である。
【図5】本実施形態に係るゼロ点検出装置が使用する最小二乗法を説明する図である。
【図6】本実施形態に係るゼロ点検出装置が実行するゼロ点処理を示すフローチャートである。(最小二乗法)。
【図7】本実施形態に係るゼロ点検出装置が実行するゼロ点処理を示すフローチャートである(逐次最小二乗法)。
【図8】第2実施形態に係るゼロ点検出装置の機能を概念的に示した図である。
【図9】第2実施形態に係るゼロ点検出装置が実行するゼロ点処理を示すフローチャートである(逐次最小二乗法)。
【発明を実施するための形態】
【0017】
(実施形態1)
以下、本発明の実施形態に係るゼロ点検出装置を備える加速度検出装置1を、図面を参照して説明する。
【0018】
まず、本実施形態の加速度検出装置1の概略を、図1を参照して説明する。この加速度検出装置1は、車両、携帯端末等の移動体に搭載されるものである。以後、加速度検出装置1は車両Cに搭載されているものとして説明を行う。加速度検出装置1は、ECU(Electronic Control Unit)10と、加速度センサ111と、速度センサ121と、インターフェイス131と、を備えている。
【0019】
ECU10は、車両Cの各種制御を行うためのマイクロコントローラである。
【0020】
加速度センサ111は、加速度を検出する複数の感応軸を有し、車両Cの加速度を検出することができる。本実施形態においては、加速度センサ111は、X軸方向(車両Cの左右方向)、Y軸方向(車両Cの前後方向)、およびZ軸方向(車両Cの鉛直方向)の加速度を検出可能な3つの感応軸を持つ加速度センサ(3軸の加速度センサ)として説明を行う。なお、この加速度センサ111は、作用した加速度に対応した電圧を感応軸毎に検出値として出力する。
【0021】
速度センサ121は、車両Cの車軸に配置されたロータリエンコーダやレゾルバの出力に基づいて、車両Cの移動速度を測定する。
【0022】
インターフェイス131は、ナビゲーション装置やアンチロックブレーキシステム、或いは、エアバックシステム等の外部装置(いずれも不図示)と情報の送受信を行う。
【0023】
次に、加速度検出装置1の構成を、図2を参照して説明する。加速度検出装置1は、前述の通り、ECU10と、加速度センサ111と、速度センサ121と、インターフェイス131と、これらを相互に接続するバスラインBUと、を備えている。
【0024】
ECU10は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、フラッシュメモリ104等を備えている。
【0025】
CPU101は、速度センサ121が測定した車両Cの移動速度がゼロのときに、加速度センサ111から出力される検出値を取得し、加速度センサ111に作用する加速度がゼロとなった状態での感応軸毎の検出値(感応軸毎のゼロ点)を算出する。
【0026】
また、CPU101は、速度センサ121が測定した車両Cの移動速度がゼロでないときに、加速度センサ111の感応軸毎の検出値を取得すると、ゼロ点を基準として、感応軸毎に変化量を求める。そして、CPU101は、求めた変化量に対応する加速度を感応軸毎に求める。CPU101は、この加速度を用いて種々の制御を実行すると共に、求めた加速度を、インターフェイス131を介して他のECU等に出力する。
【0027】
加速度検出装置1は、この感応軸毎のゼロ点を精度よく求めることができるので、加速度センサ111に作用する加速度も精度よく求めることができる。
【0028】
ここで、CPU101が算出する感応軸毎のゼロ点について、図3を参照して説明する。なお、加速度検出装置1は、X軸・Y軸・Z軸の3軸のそれぞれについてゼロ点を求めるが、ゼロ点は各感応軸で同様のものとなるので、図3では、Z軸のゼロ点を例示する。
【0029】
加速度センサ111は、直流電源で動作するものであり、図3に示すように、Z軸方向の加速度に対して、例えば、線形の関係にある電圧(検出値)Vを出力する。なお、例えば、+方向は鉛直上向きであり、−方向は鉛直下向きの方向を示している。
【0030】
ここで、加速度センサ111のZ軸に作用する加速度がゼロとなった状態のZ軸の検出値ZZGが、「Z軸のゼロ点」となる。同様に、加速度センサ111のX軸に作用する加速度がゼロとなった状態のX軸の検出値が、「X軸のゼロ点」となり、加速度センサ111のY軸に作用する加速度がゼロとなった状態のY軸の検出値が、「Y軸のゼロ点」となる。このX軸・Y軸・Z軸の各ゼロ点が、「感応軸毎のゼロ点」となり、これをCPU101が算出する。
【0031】
図2の説明に戻る。RAM102は、CPU101による演算時に利用する情報を一時的に記憶するメモリであり、ROM103は、CPU101により実行される処理を記憶するメモリである。フラッシュメモリ104は、CPU101により求められた感応軸毎のゼロ点に補正が行われた後、その感応軸毎のゼロ点を記憶する不揮発性のメモリである。
【0032】
加速度センサ111は、検出した感応軸毎の検出値(電圧値)を、CPU101の命令に応じてバスラインBUへ出力する。
【0033】
速度センサ121は、測定した車両Cの移動速度を示す信号を、CPU101の命令に応じてバスラインBUへ出力する。
【0034】
インターフェイス131は、CPU101により求められた加速度を外部装置へ出力する。
【0035】
CPU101は、加速度検出装置1に備えられた各デバイスを用いて、ゼロ点検出装置2を実現する。ゼロ点検出装置2は、感応軸毎のゼロ点を検出するものである。このゼロ点検出装置2の機能・構成を、図4を用いて説明する。ゼロ点検出装置2は、演算部151と、停止検出部152と、補正部153と、を機能的に実現する。
【0036】
演算部151は、加速度センサ111から感応軸毎の検出値を取得し、感応軸毎のゼロ点を求める。
【0037】
停止検出部152は、速度センサ121から移動速度を示す信号を取得し、車両Cの移動速度がゼロであるか、即ち、車両Cが停止状態であるか判定する。なお、停止検出部152により車両Cが停止状態であると判定されると、演算部151は、感応軸毎のゼロ点を求める。
【0038】
補正部153は、補正抑制部154と、記憶部155と、の機能を備え、演算部151により感応軸毎のゼロ点が新たに求められた場合に、その新たに求められた感応軸のゼロ点(感応軸毎の仮のゼロ点)を補正し、最終の感応軸毎のゼロ点を算出する。
【0039】
補正抑制部154は、演算部151により新たに求められた感応軸毎の仮のゼロ点を、それまで補正抑制部154が出力していた最終の感応軸毎のゼロ点を用いて補正することで、新たに求められた感応軸毎の仮のゼロ点が、これまで出力していた感応軸毎のゼロ点に対して、急激に変化することを抑制する。
【0040】
上述の演算部151、停止検出部152、補正部153、補正抑制部154は、CPU101から構成される。
【0041】
記憶部155は、補正抑制部154が出力した感応軸毎のゼロ点を記憶する機能を実現する。記憶部155は、CPU101とフラッシュメモリ104とから構成される。
【0042】
次に、感応軸毎のゼロ点をCPU101の演算部151が算出する原理を説明する。
【0043】
加速度センサ111が、地球表面上にあり、且つ、停止状態である場合(加速度センサ111に運動加速度が作用していない場合)、加速度センサ111で検出された感応軸毎の検出値と、加速度センサ111の感応軸毎のゼロ点との、感応軸毎の差分から構成される合成ベクトルの大きさは、重力加速度と等しくなる。これを利用して方程式として示したのが、次に示す式1aとなる。
【0044】
【数1】

【0045】
ここで、x,y,z(i=0〜n−1)は、それぞれ、加速度センサ111(車両C)の停止状態が継続している期間中に、CPU101の演算部151が、加速度センサ111から取得したX軸、Y軸、Z軸の検出値である。また、xZG,yZG,zZGは、それぞれ、X軸、Y軸、Z軸のゼロ点(感応軸毎のゼロ点)である。更に、Gは重力加速度を示し、kは変換係数を示している。なお、xZG,yZG,zZG,xi,yi,ziの単位は、ボルト(V)であり、Gの単位はm/sであり、kの単位は、(m/s)/Vである。また、重力加速度は、9.8m/sである。
【0046】
上述した式1aの数学的処理を簡単にするため、式1aの両辺を二乗すると、次に示す式1bとなる。
【0047】
【数2】

【0048】
この式1bに対して、最小二乗法を適用することによって、CPU101の演算部151は、感応軸毎のゼロ点であるxZG,yZG,zZGを算出する。なお、g=G/kである。この最小二乗法を用いたCPU101の演算部151による算出について、図5を用いて説明する。
【0049】
式1bの方程式を図示すると、式1bは、半径がG/kであり、中心が(xZG,yZG,zZG)の球体を示す。ここで、式1bに対し、最小二乗法を適用すると、CPU101の演算部151は、加速度センサ111で検出された感応軸毎の検出値(xi,yi,zi(i=0〜n−1))と、半径がG/kである球体の表面(球面)との距離の総和が最小となるように、即ち、加速度センサ111で検出された感応軸毎の検出値(xi,yi,zi(i=0〜n−1))の合成ベクトルの大きさと、重力加速度とが等しくなるように、球体の中心(xZG,yZG,zZG)、即ち、感応軸毎のゼロ点を求める。
【0050】
特に、車両Cは、道路の様々な傾斜角度の影響を受けるため、加速度センサ111で検出された感応軸毎の検出値(xi,yi,zi(i=0〜n−1))が図5に示すように、球面の内側および外側に程よく分散する。この分散により、CPU101の演算部151は、感応軸毎のゼロ点を精度よく求めることができる。
【0051】
感応軸毎のゼロ点を演算部151が算出する原理の説明に戻る。CPU101の演算部151による式1bの具体的な解法処理(最小二乗法による解法処理)について説明する。加速度センサ111の感応軸毎の検出値(xi,yi,zi(i=0〜n−1))は、前述の通り、道路の傾斜角度の影響により、球面の内側および外側に分布する(図5参照)。このため、式1bの左辺から右辺を引いた式は、上述した影響(以下、「残差」と称す)を示すこととなる。この残差をε(i=0〜n−1)として、式1bの左辺から右辺を引いた式を展開すると、次に示す式2となる。
【0052】
【数3】

【0053】
この式2では、xi,yi,zi,gのいずれもが既知の値であるため、a,b,cが求まれば、感応軸毎のゼロ点(xZG,yZG,zZG)を求めることができる。
【0054】
このa,b,cを求めるために、次の関係を利用する。即ち、加速度センサ111で検出された感応軸毎の検出値(xi,yi,zi(i=0〜n−1))と、半径がG/kである球体の表面(球面)との距離の総和が最小のときには、残差ε(i=0〜n−1)の総和も最小となり、更には、残差εの総和の二乗も最小となることを利用する。
【0055】
この残差ε(i=0〜n−1)の総和の二乗は、次に示す式3aの方程式fとなる。
【0056】
【数4】

【0057】
この方程式fが最小の場合(残差εの総和の二乗が最小の場合)、方程式fをa,b,c,dでそれぞれ偏微分した次の式3b,3c,3d,3eは、ゼロとなる。
【0058】
【数5】

【0059】
この式3b,3c,3d,3eを行列形式で示したものが、次に示す式4となる。
【0060】
【数6】

【0061】
この式4を用いて、CPU101の演算部151は、a,b,c,dの数値解析を行うことで、a,b,cの各値を求める。a,b,cの各値が求まれば、これを次の式5に代入することで、CPU101の演算部151は、感応軸毎のゼロ点(xZG,yZG,zZG)を求める。
【0062】
【数7】

【0063】
次に、CPU101が、上述した最小二乗法を用いて(式4,5を用いて)、感応軸毎の仮のゼロ点(xZG,yZG,zZG)を求め、それを補正するゼロ点処理について、図6に示すフローチャートを用いて説明する。
【0064】
このゼロ点処理のプログラムは、ROM103に記憶されており、CPU101は、例えば、車両Cのイグニッションスイッチ(不図示)がオンになると、ROM103のプログラムに従い、ゼロ点処理を実行開始する。
【0065】
CPU101は、まず、速度センサ121から移動速度を示す信号を取得する(ステップS1)。次に、CPU101は、取得した信号が速度ゼロであるか否かを判定する(ステップS2)。なお、ステップS2は、図4に示す停止検出部152に対応する。
【0066】
CPU101は、取得した信号が速度ゼロを示していないと判定すると(ステップS2:No)、車両Cは停止状態にないと判定し、ステップS1へ戻る。一方、CPU101は、取得した信号が速度ゼロを示していると判定すると(ステップS2:Yes)、加速度センサ111の検出値(xi,yi,zi)をRAM102へ記憶する(ステップS3)。
【0067】
次に、CPU101は、RAM102へ記憶した加速度センサ111の検出値が、予め定められた個数n(例えば、n=10)に到達しているか否かを判定する(ステップS4)。
【0068】
CPU101は、RAM102に記憶された加速度センサ111の検出値が、個数nに到達していないと判定すると(ステップS4:No)、ステップS1へ戻る。一方、CPU101は、RAM102に記憶された加速度センサ111の検出値が、個数nに到達していると判定すると(ステップS4:Yes)、最小二乗法を用いて、感応軸毎の仮のゼロ点を新たに求める(ステップS5)。
【0069】
具体的には、CPU101の演算部151が、上述した式4からa,b,cの各値を求め、これを式5に代入することで、感応軸毎の仮のゼロ点(xZG,yZG,zZG)を新たに求める。なお、ステップS5が、図4に示す演算部151に対応する。
【0070】
新たに求められた感応軸毎の仮のゼロ点が、これまで出力していた感応軸毎のゼロ点に対して、急激に変化することを抑制するため、CPU101は、感応軸毎の仮のゼロ点に対して、重み付け平均を行う。これを行う準備として、CPU101は、これまで出力していた感応軸毎のゼロ点(これまでの最終の感応軸毎のゼロ点)をフラッシュメモリ104から読み出す(ステップS6)。
【0071】
次に、CPU101は、ステップS5で求めた感応軸毎の仮のゼロ点と、ステップS6で読み出した現在の最終の感応軸毎のゼロ点とを、次に示す式6に代入して重み付け平均を行い、新たな最終の感応軸毎のゼロ点を算出する(ステップS7)。
【0072】
【数8】

【0073】
ここで、x''ZG,y''ZG,z''ZGは、新たな最終の感応軸毎のゼロ点である。また、x'ZG,y'ZG,z'ZGは、ステップS6で読み出した感応軸毎のゼロ点(これまでの最終の感応軸毎のゼロ点)である。また、hは、0〜1の間の任意の値をとる忘却係数である。
【0074】
CPU101は、この式6用いて、ステップS5で新たに求めた感応軸毎の仮のゼロ点(xZG,yZG,zZG)を補正し、新たに最終の感応軸毎のゼロ点(x''ZG,y''ZG,z''ZG)を求める。これにより、新たに求められた感応軸毎の仮のゼロ点が、これまで出力していた感応軸毎のゼロ点に対して、急激に変化することを抑制することができる。なお、ステップS6,S7は、図4に示す補正制御部154に対応する。
【0075】
CPU101は、ステップS7の実行後、新たに求めた最終の感応軸毎のゼロ点(x''ZG,y''ZG,z''ZG)をフラッシュメモリ104に記憶する(ステップS8)。CPU101は、フラッシュメモリ104に記憶された最終の感応軸毎のゼロ点と、加速度センサ111の感応軸毎の検出値とを用いて、感応軸毎に変化量を求める。そして、CPU101は、求めた変化量に対応する加速度を感応軸毎に求める。なお、ステップS8は、図4に示す記憶部155に対応する。
【0076】
その後、CPU101は、車両Cのイグニッションスイッチ(不図示)がオン状態か否かを判定する(ステップS9)。
【0077】
CPU101は、イグニッションスイッチがオン状態であれば(ステップS9:Yes)、RAM102に記憶されたn個の感応軸毎の検出値(xi,yi,zi(i=0〜n−1))をクリアし(ステップS10)、ステップS2へ戻る。一方、CPU101は、イグニッションスイッチがオフ状態であれば(ステップS9:No)、ゼロ点処理を終了する。
【0078】
上述した通り、CPU101の演算部151は、式4を用いてa,b,cの各値を求め、これを式5に代入して、感応軸毎の仮のゼロ点(xZG,yZG,zZG)を求める。
【0079】
しかし、上述の式4を用いてa,b,cの各値を求める場合、次の2つの問題がある。1つ目の問題として、加速度センサ111から取得した感応軸毎の検出値(xi,yi,zi(i=0〜n−1))を、適当な回数分(例えば、10回分)、RAMに記憶しておく必要がある。このため、RAM102の使用領域が減少する。二つ目の問題として、CPU101の演算部151は、a,b,cの各値を求めるため、式4で用いられた逆行列演算を行わなければならないので、処理負担が大きくなる。
【0080】
上述した2つの問題が、RAM102やCPU101への大きな負担となる場合には、CPU101は、最小二乗法を逐次的に計算する逐次最小二乗法を用いてもよい。
【0081】
この逐次最小二乗法を用いてa,b,cの各値の求め方を説明する。
【0082】
逐次最小二乗法による解法を行うため、式4を、次に示す式7へ整理する。
【0083】
【数9】

【0084】
次に、a,b,cの各値を求めるために使用する初期値を、次の式8に示す値に設定する。
【0085】
【数10】

【0086】
なお、xZG0,yZG0,zZG0の各値は、感応軸毎のゼロ点(xZG,yZG,zZG)の初期値であり、例えば、加速度センサ111のX軸・Y軸・Z軸における各フルスケール電圧の1/2の電圧に設定する。また、PからPは、任意の正の値に設定する。
【0087】
そして、CPU101は、式7と、式8で示した初期値と、車両Cが停止状態であるときに加速度センサ111から取得した検出値(xi,yi,zi(iは任意の自然数))とを用いて、次に示す式9から、a,b,cの各値を逐次的に求める。
【0088】
【数11】

【0089】
その後、CPU101は、求めたa,b,cの各値を、式5へ代入して、感応軸毎の仮のゼロ点(xZG,yZG,zZG)を算出する。
【0090】
なお、CPU101は、式8で示した初期値を用いて、a,b,cの各値を一度求めると、次回からは、式7および式8を使用せず、前回求めたa,b,cの各値と、車両Cが停止状態であるときに加速度センサ111から取得した検出値(xi,yi,zi(iは任意の自然数))とを用いて、式9から、a,b,cの各値を逐次的に求める。
【0091】
次に、CPU101が、上述した逐次最小二乗法を用いて(式8,9を用いて)、感応軸毎の仮のゼロ点(xZG,yZG,zZG)を求め、それを補正するゼロ点処理について、図7に示すフローチャートを用いて説明する。
【0092】
このゼロ点処理のプログラムは、図6で示したゼロ点処理と同様、ROM103に記憶されており、CPU101は、例えば、車両Cのイグニッションスイッチ(不図示)がオンになると、ROM103のプログラムに従い、ゼロ点処理を実行開始する。
【0093】
このゼロ点処理は、図6で示したゼロ点処理の処理を一部変更したものである。よって、図6で示したゼロ点処理と同一部分については同一符号を付し、その説明を省略する。
【0094】
CPU101は、まず、逐次最小二乗法の初期値を設定する(ステップS21)。このステップS1では、CPU101は、式8で示した初期値を設定する。
【0095】
その後、CPU101は、加速度センサ111から出力された感応軸毎の検出値(xi,yi,zi(iは任意の自然数))を取得する(ステップS22)。また、CPU101は、速度センサ121から移動速度を示す信号を取得する(ステップS23)。
【0096】
その後、CPU101は、速度センサ121から取得した信号を用いて、車両Cが一定期間(例えば、5秒間)、停止状態であるか否かを判定する(ステップS24)。CPU101は、車両Cが一定期間、停止状態にあると判定すると(ステップS24:Yes)、車両Cは完全に停止状態にあり、加速度センサ111へ作用している加速度は重力加速度に等しいと判定し、ステップS25の処理へ進む。
【0097】
一方、CPU101は、車両Cが一定期間、停止状態にないと判定すると(ステップS24:No)、車両Cが停止状態となって一定期間経過していない、或いは、車両Cが移動状態にあることから、加速度センサ111へ作用している加速度は重力加速度とは等しくないと判定し、ステップS22へ戻る。
【0098】
ここで、ステップS24の一定期間は、CPU101が、ステップS24でYesと最初に判定した後、再び、ステップS24でYesと連続して判定し続けた期間を、ECU10に備えられたカウンタメモリ(不図示)を用いて計測すればよい。また、ステップS24の一定期間は、5秒ではなく、3秒でも、10秒でもよく、更には、ユーザにより任意の期間に設定変更可能な構成としてもよい。なお、ステップS24は、図4に示す停止検出部152に対応する。
【0099】
ステップS24の判定で、Yesと判定されると、CPU101は、逐次最小二乗法を用いて感応軸毎の仮のゼロ点(xZG,yZG,zZG)を求める(ステップS25)。具体的には、CPU101は、ステップS25を、処理開始後に初めて実行する場合には、前述した通り、式8で示した初期値と、ステップS22で取得した最新の感応軸毎の検出値(xi,yi,zi(iは任意の自然数))と、式9と、式5と、を用いて、感応軸毎の仮のゼロ点(xZG,yZG,zZG)を求める。
【0100】
一方、CPU101は、ステップS25を、2回目以降実行する場合には、前述した通り、式7および式8を使用せず、前回求めたa,b,cの各値と、ステップS2で取得した最新の感応軸毎の検出値(xi,yi,zi(iは任意の自然数))と、式9と、式5と、を用いて、感応軸毎の仮のゼロ点(xZG,yZG,zZG)を求める。なお、ステップS25は、図4に示す演算部151に対応する。
【0101】
その後、CPU101は、ステップS6以降を実行する。
【0102】
上述した通り、本実施形態の加速度検出装置1は、車両Cが停止状態であると判定されたとき、加速度センサ111で検出された感応軸毎の検出値と、加速度センサ111の感応軸毎のゼロ点との、感応軸毎の差分から構成される合成ベクトルの大きさが、重力加速度と等しくなることを利用した方程式を最小二乗法、或いは、逐次最小二乗法を用いて解法することで、加速度センサ111の感応軸毎のゼロ点を求める。このため、求めた検出値に誤差が含まれる余地を低減することができる。よって、加速度センサ111の感応軸毎のゼロ点を精度よく求めることができる。これにより、加速度検出装置1は、加速度センサ111に作用する加速度も精度よく求めることができる。
【0103】
また、本実施形態の加速度検出装置1では、CPU101により感応軸毎のゼロ点(xZG,yZG,zZG)が新たに求まると、その感応軸毎のゼロ点をそのまま使用するのではなく、新たに求まった感応軸毎のゼロ点を補正して、最終の感応軸毎のゼロ点を求める。よって、新たに求まった感応軸毎のゼロ点が、これまで出力していた感応軸毎のゼロ点に対して、急激に変化することを抑制することができる。
【0104】
また、本実施形態の加速度検出装置1で算出した最終の感応軸毎のゼロ点は、次のようにも活用できる。
【0105】
即ち、CPU101は、加速度センサ111が水平状態である場合に検出されたY軸方向の検出値(オフセットYofs)と、次に示す式10とを用いて、車両Cの前後方向における加速度センサ111の取付け角θを算出することができる。
【0106】
【数12】

【0107】
ただし、jは、加速度センサ111の検出値(Yofs−Y''ZG)を加速度へ変換する係数であり、Gは重力加速度である。
【0108】
上述の式10から加速度センサ111の取付け角θを算出することで、加速度センサ111と同一平面に取付けられたジャイロセンサ(不図示)の取付け角も算出することができる。このジャイロセンサの取付け角の算出により、ジャイロセンサの精度を向上させることができる。よって、ジャイロセンサを使用した自立航法の精度を向上させることができる。
【0109】
なお、ジャイロセンサが加速度センサ111と同一平面に取付けられていない場合でも、ジャイロセンサの取付け面、および、その取付け面と加速度センサ111の取付け面とのなす角が分かれば、その角と加速度センサ111の取付け角θとから、ジャイロセンサの取付け角は算出可能である。
【0110】
(実施形態2)
上述した実施形態1の加速度検出装置1では、CPU101は、ステップS5(図6参照)またはステップS25(図7参照)で求めた感応軸毎の仮のゼロ点について検証を行わず、補正を行った。しかし、ステップS5またはステップS25で求めた感応軸毎の仮のゼロ点について、妥当性の検証を行った後、補正を行う構成としてもよい。
【0111】
この構成の加速度検出装置200について、図8および図9を用いて説明する。なお、加速度検出装置200は、加速度検出装置1と比較して、図2で示した構成は同じであるが、図3で示した機能および図6,7で示したゼロ点処理は一部が異なる。よって、加速度検出装置200では、加速度検出装置1と同一部分には同一符号を付して説明を省略すると共に、加速度検出装置1と異なる部分のみ説明を行う。
【0112】
CPU101は、加速度検出装置200に備えられた各デバイスを用いてゼロ点検出装置201を実現する。このゼロ点検出装置201の機能・構成を、図8を用いて説明する。ゼロ点検出装置201は、X軸・Y軸・Z軸の各ゼロ点を検出する装置であり、図8に示すように、ゼロ点検出装置2と同様、演算部151と、停止検出部152と、補正部153と、の機能を実現し、更に、ゼロ点検出装置2が備えていない、抑制制御部156の機能を実現している。
【0113】
抑制制御部156は、演算部151が感応軸毎の仮のゼロ点(xZG,yZG,zZG)を求めると、その感応軸毎の仮のゼロ点について、妥当性の検証を行う機能を実現する。具体的には、抑制制御部156は、演算部151が求めた感応軸毎の仮のゼロ点が妥当性のある値であると判定すると、補正制御部154による感応軸毎の仮のゼロ点の補正を許可する。一方、抑制制御部156は、演算部151が求めた感応軸毎の仮のゼロ点が妥当性のない値であると判定すると、補正制御部154による補正を許可しない。
【0114】
この抑制制御部156は、CPU101により構成される。
【0115】
次に、ゼロ点検出装置201のゼロ点処理について、図9を参照して説明する。このゼロ点処理は、図7に示すゼロ点処理(逐次最小二乗法)と同様、ステップS6〜S9、ステップS21〜S25を実行し、更に、ゼロ点検出装置2では実行しない、ステップS31,S32を実行する。なお、このステップS31,S32は、図8に示す抑制制御部156に対応する。
【0116】
CPU101は、ステップS24でYesと判定されると、逐次最小二乗法を用いて感応軸毎の仮のゼロ点を算出すると(ステップS25)、ステップS22で取得した最新の感応軸毎の検出値(xi,yi,zi(iは任意の自然数))と、ステップS25で算出した感応軸毎のゼロ点(xZG,yZG,zZG)との感応軸毎の差分から構成される合成ベクトルの大きさ(合成加速度)を算出する。そして、合成加速度から重力加速度を引いた値(合成加速度と重力加速度との差)が予め定められた閾値範囲(例えば、−0.2〜+0.2)内であるか否かを判定する(ステップS31)。
【0117】
CPU101は、合成加速度から重力加速度を引いた値(合成加速度と重力加速度との差)が予め定められた閾値範囲内でない(閾値範囲よりも大きい)と判定すると(ステップS31:No)、ステップS25で求めた感応軸毎の仮のゼロ点(XZG,YZG,ZZG)は誤差が大きく、妥当性のない値と判定し、ステップS22へ戻る。
【0118】
一方、CPU101は、合成加速度から重力加速度を引いた値(合成加速度と重力加速度との差)が予め定められた閾値範囲内あると判定すると(ステップS31:Yes)、ステップS25で求めた感応軸毎の仮のゼロ点は妥当性のある値と判定し、ステップS25で求めた感応軸毎の仮のゼロ点(XZG,YZG,ZZG)が全て、予め定められた所定範囲内であるか否かを判定する(ステップS32)。
【0119】
なお、所定範囲は、例えば、加速度センサ111のX軸・Y軸・Z軸の各フルスケール電圧の1/2の電圧を、それぞれVXr,VYr,VZrとした場合、0.95VXr〜1.05VXr,0.95VYr〜1.05VYr,0.95VZr〜1.05VZrの範囲とする。
【0120】
CPU101は、ステップS25で求めた感応軸毎の仮のゼロ点(XZG,YZG,ZZG)が全て、予め定められた所定範囲内であると判定すると(ステップS32:Yes)、ステップS25で求めた感応軸毎の仮のゼロ点は妥当性のある値と判定し、ステップS6を実行する。
【0121】
一方、CPU101は、ステップS25で求めた感応軸毎のゼロ点が全て、予め定められた所定範囲内でない(少なくとも一つの感応軸のゼロ点が所定範囲よりも大きい)と判定すると(ステップS32:No)、ステップS25で求めた感応軸毎の仮のゼロ点(XZG,YZG,ZZG)は誤差が大きく、妥当性のない値と判定し、ステップS22へ戻る。
【0122】
このように、CPU101は、ステップS31およびステップS32でいずれもYesと判定されなければ、ステップS6以降を実施しない。従って、フラッシュメモリ104に記憶されている従前のゼロ点(最終の感応軸毎のゼロ点)が保持される。
【0123】
上述した実施形態2の加速度検出装置200では、CPU101は、ステップS25で求めた感応軸毎の仮のゼロ点(XZG,YZG,ZZG)が、ステップS31,S32で、妥当性のある値と判定すると、ステップS6以降を実行し、求めた感応軸毎の仮のゼロ点の補正・記憶を許可する。一方、CPU101は、ステップS25で求めた感応軸毎のゼロ点(XZG,YZG,ZZG)が、ステップS31,S32で、妥当性のない値と判定すると、算出した感応軸毎のゼロ点の補正・記憶を許可しない。
【0124】
よって、加速度検出装置200は、加速度センサ111から種々の要因で異常値が出力され、それを用いて、感応軸毎の仮のゼロ点を求めた場合でも、その感応軸毎の仮のゼロ点が使用されることを防止できる。なお、上述した種々の要因としては、例えば、駐車場等に設置されたターンテーブル上に車両Cが停止した状態で水平回転動作を行った場合や、立体駐車場の駐車テーブルに車両Cが停止した状態で垂直回転動作を行った場合が想定される。
【0125】
以上この発明の実施形態を説明したが、この発明は上記の実施形態に限定されず、種々の変形および応用が可能である。例えば、上記実施形態では、加速度検出装置1,200は、車両に搭載されているものとして説明したが、これに限定されず、例えば、オートバイや船舶に搭載してもよい。
【0126】
また、本実施形態の加速度検出装置1,200で使用した加速度センサ111は、3軸の加速度センサを用いたが、これに限られるものではなく、加速度センサ111は、2軸センサを用いてもよい。
【0127】
具体的には、加速度センサ111は、X軸方向(移動体の左右方向)およびZ軸方向(移動体の鉛直方向)の加速度、或いは、Y軸方向(車両Cの前後方向)およびZ軸方向(車両Cの鉛直方向)の加速度を検出可能な加速度センサであればよい。
【0128】
なお、加速度センサ111に、X軸方向(移動体の左右方向)およびZ軸方向(移動体の鉛直方向)の加速度を検出可能な加速度センサを用いた場合には、逐次最小二乗法を用いて解法を行う基本となる式1a,1bは、(Y−YZGが省略された方程式となる。また、加速度センサ111に、Y軸方向(移動体の前後方向)およびZ軸方向(移動体の鉛直方向)の加速度を検出可能な加速度センサを用いた場合には、逐次最小二乗法を用いて解法を行う基本となる式1a,1bは、(X−XZGが省略された方程式となる。
【0129】
また、上記実施形態の加速度検出装置1,200では、図7および図9で示すゼロ点処理において、CPU101は、ステップS22,S23で、加速度センサ111の検出値および速度センサ121からの信号を取得した後、ステップS24で、停車状態が一定期間継続しているかを判定したが、これに限られるものではない。即ち、CPU101は、ステップS21の実行後、ステップS24を実行し、停車状態が一定期間継続していると判定した場合に(ステップS24:Yes)、ステップS22,S23を実行して、加速度センサ111の検出値および速度センサ121からの信号を取得し、その後、ステップS25を実行する構成としてもよい。この構成の場合でも、加速度検出装置1,200は、感応軸毎の仮のゼロ点を求めることができる。
【0130】
また、上記実施形態の加速度検出装置1,200では、図6、図7および図9で示すゼロ点処理において、CPU101は、求めた感応軸毎の仮のゼロ点を、ステップS6〜S8を実行して補正したが、これに限られるものではなく、ステップS6〜S8をスキップしてもよい(実行しなくてもよい)。本実施形態の加速度検出装置1,200の最大の目的は、感応軸毎のゼロ点を求めることにあるので、求めた感応軸毎の仮のゼロ点に補正を行うスキップS6〜S8は必須ではないからである。
【0131】
また、本実施形態の加速度検出装置200では、ゼロ点処理において、CPU101は、ステップS25で感応軸毎の仮のゼロ点を求めた後、その求めたゼロ点が妥当性のある値であるか否かを、ステップS31およびS32の両方で判定したが、これに限られるものではない。即ち、CPU101は、ステップS25で感応軸毎の仮のゼロ点を算出した後、ステップS31およびS32のいずれか一方の判定を行うことで、ステップS25で求めた仮のゼロ点が妥当性のある値であるか否かを判定する構成としてもよい。この構成の場合には、CPU101は、ステップS31またはS32のいずれか一方の判定を行えばよいので、CPU101の処理負担を軽減することができる。
【0132】
また、本実施形態の加速度検出装置1,200では、移動体が停止状態であるか否かの判定に速度センサ121を用いたが、これに限られるものではない。即ち、加速度検出装置1,200のCPU101は、移動体がGPS(Global Positioning System)を搭載している場合には、速度センサ121に代えて、GPSから出力される速度情報を用いて、移動体が停止状態であるか否かを、ゼロ点処理のステップS4で判定してもよい。
【0133】
なお、上記実施形態において、ゼロ点処理を実行するプログラムは、フレキシブルディスク、CD−ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムを、コンピュータ等にインストールすることにより、上述のゼロ点処理を実行するシステムを構成することとしてもよい。
【0134】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、ダウンロード等するようにしてもよい。
【0135】
また、上述のゼロ点処理を、OS(Operating System)が分担して実現する場合、又は、OSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、ダウンロード等してもよい。
【符号の説明】
【0136】
1,200 加速度検出装置
2,201 ゼロ点検出装置
10 ECU
101 CPU
102 RAM
103 ROM
104 フラッシュメモリ
111 加速度センサ
121 速度センサ
131 インターフェイス
151 演算部
152 停止検出部
153 補正部
154 補正抑制部
155 記憶部
156 抑制制御部

【特許請求の範囲】
【請求項1】
移動体に搭載される加速度センサのゼロ点検出装置であって、
前記移動体が停止状態であるかを判定する停止判定部と、
前記停止判定部により停止状態にあると判別されたときに、前記移動体に搭載され且つ複数の感応軸を有する加速度センサから、その加速度センサに作用する加速度に対応した検出値を感応軸毎に取得する取得部と、
前記取得部により取得された感応軸毎の検出値と、前記加速度センサに作用する加速度がゼロとなった状態での感応軸毎の検出値であるゼロ点との感応軸毎の差分から構成される合成ベクトルの大きさが、重力加速度と等しくなることを利用して、前記加速度センサのゼロ点を感応軸毎に求めるゼロ点検出部と、
を備えていることを特徴とする加速度センサのゼロ点検出装置。
【請求項2】
前記ゼロ点検出部は、前記取得部により取得された複数組の感応軸毎の検出値と前記ゼロ点との差分から構成される合成ベクトルの大きさと、重力加速度の大きさと、の差分が最小となるように、最小二乗法を用いて、前記ゼロ点を求める演算部を備えている、ことを特徴とする請求項1記載の加速度センサのゼロ点検出装置。
【請求項3】
前記演算部は、前記取得部により所定数の検出値の組が取得される毎に、最小二乗法を用いて前記ゼロ点を求めるか、又は、前記取得部により前記検出値の組が取得される度に、逐次最小二乗法を用いて前記ゼロ点を求める、
ことを特徴とする請求項2記載の加速度センサのゼロ点検出装置。
【請求項4】
前記ゼロ点検出部により新たに求められたゼロ点を、過去のゼロ点に基づいて補正して出力する補正部、をさらに備えていることを特徴とする請求項1乃至3の何れか1項に記載の加速度センサのゼロ点検出装置。
【請求項5】
前記補正部は、前記ゼロ点検出部により新たに検出されたゼロ点と、それまで補正部が出力していた補正済のゼロ点との差が、所定の基準よりも大きいか否かを判別し、大きいと判別した場合には、従前の補正済ゼロ点を保持する、
ことを特徴とする請求項4に記載の加速度センサのゼロ点検出装置。
【請求項6】
移動体が停止状態であるかを判定する停止判定ステップと、
前記停止判定ステップにより停止状態にあると判別されたときに、前記移動体に搭載され且つ複数の感応軸を有する加速度センサから、その加速度センサに作用する加速度に対応した検出値を感応軸毎に取得する取得ステップと、
前記取得ステップにより取得された感応軸毎の検出値と、前記加速度センサに作用する加速度がゼロとなった状態での感応軸毎の検出値であるゼロ点との感応軸毎の差分から構成される合成ベクトルの大きさが、重力加速度と等しくなることを利用して、前記加速度センサのゼロ点を感応軸毎に求めるゼロ点検出ステップと、
を備えていることを特徴とするゼロ点検出方法。
【請求項7】
移動体に載置されたコンピュータに、
前記移動体が停止状態であるかを判定する停止判定機能と、
前記停止判定機能により停止状態にあると判別されたときに、前記移動体に搭載され且つ複数の感応軸を有する加速度センサから、その加速度センサに作用する加速度に対応した検出値を感応軸毎に取得する取得機能と、
前記取得機能により取得された感応軸毎の検出値と、前記加速度センサに作用する加速度がゼロとなった状態での感応軸毎の検出値であるゼロ点との感応軸毎の差分から構成される合成ベクトルの大きさが、重力加速度と等しくなることを利用して、前記加速度センサのゼロ点を感応軸毎に求めるゼロ点検出機能と、
を実現させるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate