(58)【調査した分野】(Int.Cl.,DB名)
継続的に入力されている第1物理量の値を時間積分して第2物理量の値を継続的に算出可能なn個の第i積分部と(ただし、nは2以上の整数であり、iは1以上n以下の整数である。)、
所定の第1周期毎に、第1積分部が算出している前記第2物理量の値が所定の第1閾値未満であるか否か判定し、前記第1閾値未満であると判定した場合は、前記第1積分部が算出している前記第2物理量の値をリセットする第1管理部と、
2からnまでのiについて、所定の第i周期毎に、第i−1積分部が算出している前記第2物理量の値が所定の第i閾値未満であるか否か判定し、前記第i閾値未満と判定した場合は、前記第i積分部が算出する前記第2物理量の値の上昇を規制するn−1個の第i管理部と、
少なくとも前記第1周期よりも長い総合周期毎に、第n積分部が算出している前記第2物理量の値が所定の総合閾値未満であるか否か判定し、前記総合閾値未満であると判定した場合は、前記第1積分部が算出している前記第2物理量の値をリセットする総合管理部と、
を有している情報処理装置。
2からnまでのiについて、前記第i管理部は、前記第i−1積分部が算出している前記第2物理量の値が所定の第i閾値未満であると判定した場合に、前記第i積分部が算出している前記第2物理量の値をリセットすることにより、前記第i積分部が算出する前記第2物理量の値の上昇を規制する
請求項1に記載の情報処理装置。
2からnまでのiについて、前記第i管理部は、前記第i−1積分部が算出している前記第2物理量の値が所定の第i閾値未満であると判定した場合に、前記第i積分部による前記第2物理量の値の算出を禁止することにより、前記第i積分部が算出する前記第2物理量の値の上昇を規制し、
前記総合周期は、1からn−1までについての前記第i周期の総和よりも長い
請求項1に記載の情報処理装置。
【発明を実施するための形態】
【0019】
(比較例に係る積分値の補正方法)
実施形態に係る積分値の補正方法に先立って、比較例に係る積分値の補正方法について説明する。比較例および実施形態の説明では、第1物理量、および第1物理量の積分値である第2物理量として、加速度および速度を例にとる。
【0020】
図1は、加速度aおよび速度vの経時変化を示す図である。横軸は、時間tであり、縦軸は加速度aまたは速度vである。紙面上段の加速度aの図および紙面中段の速度vの図は、互いに横軸が一致している。紙面下段の速度vの図は、紙面中段の速度vの図の一部拡大図である。
【0021】
加速度aは、例えば、センサによって検出される。速度vは、加速度aを時間積分することによって算出される。センサは、例えば、絶対座標系に対して移動する移動体に搭載されており、加速度aおよび速度vは移動体の加速度および速度である。
図1において実線によって例示されている加速度aおよび速度vの経時変化は、移動体が、速度ゼロの状態(静止状態)から、正の加速度による等加速度運動、等速度運動、負の加速度による等加速度運動を経て、速度ゼロの状態に復帰する場合のものである。
【0022】
ここで、点線L1で示すように、加速度aとしてゼロが検出されるべきときに、加速度aに誤差が生じていると仮定する。この場合、加速度aの積分によって算出された速度vにおいては、点線L2で示すように、誤差が蓄積されていく。
【0023】
そこで、例えば、
図1の最下段に示される速度vの補正処理が行われる。具体的には、所定の周期Tc毎に、算出されている速度v(線L3)が閾値vtc未満であるか否か判定される。そして、速度vの値が閾値vtc未満であると判定されたときは、矢印y1で示すように、速度vの値がゼロに補正される。これにより、例えば、静止状態において、加速度aの誤差が速度vに蓄積されていくおそれが低減される。
【0024】
一方、点P1の時点の判定においては、速度vの値は、閾値vtc未満ではないと判定される。この場合は、速度vの値はゼロに補正されず、加速度aの値の積分によって速度vの値は更新されていく。これにより、例えば、移動体が静止状態から移動状態へ移行したときは、その速度vが適正に算出される。
【0025】
このような比較例の補正方法においては、閾値vtcを小さくすると、例えば、加速度aにおいて比較的大きな誤差が生じたときに、速度vの値がゼロに補正されないおそれがある。その結果、線L2で示したような誤差の蓄積が開始されてしまう。一方、閾値vtcを大きくすると、例えば、移動体が比較的低い加速度で移動する場合においても速度vの値がゼロに補正されてしまうおそれがある。その結果、移動状態における速度vの精度が低下する。
【0026】
(実施形態に係る積分値の補正方法)
図1では、説明を簡便にするために、加速度aの正の誤差が所定の時間長さに亘って一定量で生じ、速度vが時間経過に伴って一定の変化率で上昇する場合を例示した。以下に説明する本実施形態の図においても、このような場合を例に取る。
【0027】
なお、加速度aが時間経過に伴って変化したり、速度vが下降したりする場合(例えば閾値vtcよりも大きい値から閾値vtc未満の値へ下降する場合)も、補正方法は同様であるし、その作用は基本的に同様である。また、加速度aが負の誤差の場合も、その絶対値を考えればよいから、正の誤差の場合と同様である。
【0028】
速度vは、後述するフローチャートの説明においても述べるように、ゼロ以外の値に補正されてもよい。ただし、以下では、説明の便宜上、ゼロに補正するものとして説明することがあり、また、ゼロおよびこれに代わる値を初期値ということがある。また、速度vの値を初期値にすることをリセットということがある。
【0029】
(複数階層の速度)
本実施形態においては、n階層(nは2以上の整数)の速度vi(iは1以上n以下の整数)の概念を導入し、この速度viに基づいて速度vをリセットする。nは、任意に設定されてよいが、ここでは5を例にとる。なお、5階層の速度v1〜速度v5について、番号が小さい側を前として、前および後の語を用いることがあり、また、速度v1を最前層の速度といい、速度v5を最後層の速度ということがある。
【0030】
速度v1〜v5は、例えば、以下のように算出される。
【0031】
図2は、速度v1〜v5のうち速度v1〜v3の経時変化を示す図である。横軸は時間tであり、縦軸は速度v1〜v3である。速度v1〜v3を示す3つの図において、横軸は一致しており、また、縦軸の縮尺は一致している。複数の矢印y9は、横軸のいくつかの時点について、3つの図の対応関係を示している。
【0032】
速度v1〜v5の値は、いずれも加速度aの値を時間積分することによって算出される。当該算出は、例えば、微視的には所定の時間刻みΔt(サンプリング周期Ts)で断続的(間欠的)に行われ、巨視的には継続的に行われる。時間刻みΔtは、速度v1〜v5間で同一でもよいし、異なっていてもよいが、例えば、同一である。
【0033】
なお、速度vの算出が時間刻みΔtで行われる場合、算出される速度vの経時変化を示す線は、本来は階段状になる。ただし、便宜上、本実施形態の説明では、そのような階段形状は、図示が省略され、または近似直線等によって代替される。
【0034】
速度v1〜v5の値は、いずれも同一の加速度aに基づいて算出されるから、基本的には、互いに同一の加速度で変化する。ただし、速度v1〜v5は、リセットの条件が互いに異なっており、ひいては、速度v1〜v5の値は互いに異なっている。具体的には、以下のとおりである。
【0035】
(速度v1のリセット方法)
速度v1(線L11)は、
図1を参照して説明した比較例と同様にリセットされる。すなわち、所定の周期T1毎に、算出されている速度v1が閾値vt1未満であるか否か判定される。そして、速度v1の値が閾値vt1未満であると判定されたときは、矢印y11で示すように、速度v1の値はリセットされる。
【0036】
図2の例では、点P11の時点の判定においては、速度v1の値は、閾値vt1未満ではないと判定される。この場合は、速度v1の値はリセットされず、加速度aの値に基づく速度v1の値の更新が継続される。
【0037】
なお、周期T1および閾値vt1の具体的な大きさは、加速度aに生じ得る誤差、速度vに要求される精度、および対象とされる移動体の運動に係る特性等を考慮して、適宜に設定されてよい。また、周期T1は、サンプリング周期Tsよりも長くてもよいし、同一であってもよい。本実施形態の説明では、周期T1は、サンプリング周期Tsよりも長い場合を例に取る。
図2の例では、周期T1は、サンプリング周期Tsの2倍以上(一例として5倍)となる倍数とされている。
【0038】
(速度v2〜v5のリセット方法)
速度v2(線L12)の値は、速度v1の値に応じてリセットされる。具体的には、所定の周期T2毎に、速度v1が閾値vt2未満であるか否か判定される。そして、速度v1の値が閾値vt2未満であると判定されたときは、矢印y12で示すように、速度v2の値はリセットされる。
【0039】
図2の例では、速度v1を示す線L11上の点P11の時点の判定においては、速度v1の値は、閾値vt2未満ではないと判定される。この場合は、速度v2の値はリセットされず、加速度aの値に基づく速度v2の値の更新が継続される。
【0040】
速度v3(線L13)の値は、速度v2の値に応じてリセットされる。具体的には、所定の周期T3毎に、速度v2が閾値vt3未満であるか否か判定される。そして、速度v2の値が閾値vt3未満であると判定されたときは、矢印y13で示すように、速度v3の値はリセットされる。
【0041】
図2の例では、速度v2を示す線L12上の点P12の時点において、速度v2の値はリセットされずに更新が継続されているものの、速度v3は、速度v2の値が閾値vt3未満であることからリセットされる。そして、ここでは特に図示しないが、その後、速度v2の値が閾値vt3未満でないと判定されたときは、速度v3の値はリセットされず、加速度aの値に基づく速度v3の値の更新が継続される。
【0042】
ここでは不図示の速度v4およびv5の値についても、速度v2およびv3の値と同様に、前の階層の速度vの値に応じてリセットされる。
【0043】
すなわち、2以上のiについて、速度vi(v2〜v5)の値は、前の階層の速度v(i−1)に応じてリセットされる。具体的には、2以上のiについて、所定の周期Ti毎に、速度v(i−1)が閾値vti未満であるか否か判定される。そして、速度v(i−1)の値が閾値vti未満であると判定されたときは、速度viの値はリセットされる。閾値vti未満でないと判定されたときは、速度viの値はリセットされず、加速度aの値に基づく速度viの値の更新が継続される。
【0044】
なお、速度viの値の周期的なリセットは、長期的に見れば(周期Tiよりも長い期間で見れば)、速度viの値の上昇の規制である。従って、2以上のiについて、速度viの値は、速度v(i−1)の値が閾値vti未満である間(厳密にはそのような判定が有効とされている間)は上昇が規制され、速度v(i−1)の値が閾値vti以上の間は上昇が許容されることになる。
【0045】
1以上のiについて、周期Tiは、互いに同一であってもよいし、互いに異なっていてもよい。また、互いに異なっている場合において、その大小関係も任意であり、例えば、前の階層と後の階層とで、いずれの周期Tiが長くてもよい。本実施形態の説明では、周期T1に比較して周期T2〜T5が短く、また、周期T2〜T5が互いに同一である場合を例にとる。
図2の例では、周期T2〜T5は、周期Tsと同一とされている。
【0046】
また、1以上のiについて、閾値vtiは、互いに同一であってもよいし、互いに異なっていてもよい。また、互いに異なっている場合において、その大小関係も任意であり、例えば、前の階層と後の階層とで、いずれの閾値vtiが大きくてもよい。本実施形態の説明では、閾値vt1〜vt5が互いに同一である場合を例に取る。
【0047】
(時間閾値におけるリセット)
上記のように、速度v1の値は、速度v1自体の値に基づいてリセットされ、また、速度v2〜v5の値は、前の階層の速度viの値に基づいてリセットされる。さらに、速度v1〜v5の値は、速度v5の値に基づいてもリセットされる。具体的には、以下のとおりである。
【0048】
図3は、速度v1〜v5の経時変化の一例を示す図であり、
図4は、速度v1〜v5の経時変化の他の例を示す図である。より具体的には、
図3は、速度v5に基づくリセットがなされない場合を例示しており、
図4は、速度v5に基づくリセットがなされる場合を例示している。
【0049】
図3および
図4において、横軸は、時間tであり、縦軸は速度vである。線L21およびL31は速度v1に対応している。線L22およびL32は速度v2に対応している。線L23およびL33は速度v3に対応している。線L24およびL34は速度v4に対応している。線L25およびL35は速度v5に対応している。複数の矢印y21は、横軸のいくつかの時点について、速度v1〜v5の対応関係を示している。
【0050】
比較的大きい加速度aが比較的長期に亘って検出される場合を考える。この場合、上述した計算方法によって速度v1〜v5が算出される結果、速度viは、順次、その値の規制が解除され(リセットが解除され)、上昇していく。ひいては、最後層の速度v5の値も上昇していく。
【0051】
ここで、比較的長い周期Ta毎に、速度v5の値が所定の閾値vta未満か否か判定される。そして、閾値vta未満でないと判定されたときは(
図3の線L25上の点P21参照)、
図3に示すように、速度v1〜v5の値はリセットされず、加速度aの値に基づく更新が継続される。
【0052】
一方、速度v5の値が所定の閾値vta未満であると判定されたときは(
図4の線L35上の点P31参照)、
図4において矢印y23で示すように、速度v1〜v5の値がリセットされる。
【0053】
なお、
図4では、前の階層の速度に基づくリセットの解除が速度v5までなされている場合を例示した。速度v5よりも前の階層においてリセットの解除がなされなかった場合においても、周期Taが到来した時期(時間閾値ttということがある。)において、速度v5は閾値vta未満となり、速度v1〜v5はリセットされる。
【0054】
図3のように時間閾値ttにおいて速度v5の値が閾値vta以上であり、速度v1〜v5の値の更新が許容された後も、速度v1〜v5についての上記の判定は繰り返される。従って、移動体が移動状態から静止状態へ移行するなど、速度v1〜v5が下降してくると、再度、速度v1〜v5の値の上昇は規制されることになる。
【0055】
例えば、周期Ta毎に速度v5の値が閾値vta未満か否か判定され、閾値vta未満であれば、速度v1〜v5はリセットされる。また、例えば、周期T1毎に速度v1の値が閾値vt1未満か否か判定され、閾値vt1未満であれば、速度v1はリセットされ、ひいては、速度v2〜v5もリセットされる。
【0056】
なお、時間閾値ttにおいて速度v1〜v5の値の更新が許容された後は、一旦、複数階層の速度vに基づく補正を停止し、別の補正方法が行われてもよい。例えば、速度v1〜v5の値の更新が許容された後は、周期Ta毎における速度v5が閾値vta未満であるか否かの判定を一旦停止し、周期T1毎における速度v1の値が閾値vt1未満か否かの判定のみによって速度v1〜v5をリセットしてもよい。そして、そのリセット後、再度、複数階層の速度vに基づく補正方法を行うようにしてもよい。この場合、複数階層の速度vに基づく補正が再開されるまで、速度v2〜v5の算出は停止されていてもよい。
【0057】
また、速度v1〜v5の値の更新が許容される前(リセット後)と、更新が許容された後とで、複数階層の速度viの数(n)、周期Ti、Ta、閾値vtiおよび/またはvtaを互いに異ならせてもよい。
【0058】
閾値vtaは、閾値vtiと同一であってもよいし、異なっていてもよい。また、互いに異なっている場合において、その大小関係も任意である。本実施形態の説明では、閾値vtaが閾値vt1〜vt5と同一である場合を例に取る。
【0059】
周期Taは、2以上のiについての速度viの値の上昇の規制方法にもよるが、本実施形態では、少なくとも周期T1よりも長ければよい。また、例えば、周期Taは、1からn−1までについての周期Tiの総和よりも長くされたり、1からnまでについての周期Tiの総和以上の長さとされたりしてよい。1以上のiについての周期Tiおよび周期Taの起点(開始時点)は、揃っていてもよいし、揃っていなくてもよい。本実施形態の説明では、揃っている場合を例に取る。
【0060】
複数階層の速度v1〜v5の概念を導入することによって種々の作用および効果が得られる。
【0061】
例えば、最前層の速度v1の値を利用する場合を例に取る。この場合、例えば、閾値vt1を比較的小さくする。これにより、例えば、移動体が比較的低い速度で移動するときに、静止状態とみなされて速度v1の値がリセットされてしまうおそれが低減される。その結果、移動状態における速度情報の一部が失われてしまうおそれが低減される。
【0062】
その一方で、時間閾値ttにおいて速度v5が閾値vta未満である場合は、速度v1がリセットされるから、例えば、ある程度の期間に亘って比較的大きな加速度aが取得されない限り、速度v1はリセットされる。従って、例えば、静止状態において速度に生じた誤差が移動状態における速度の値と判定されてしまうおそれが低減される。別の観点では、複数階層の速度の概念の導入によって、閾値vt(縦軸)に時間閾値tt(横軸)の概念が導入され、速度情報を取捨選択する時間的余裕が生じる。
【0063】
なお、速度v1〜v5のうち、速度v1以外の速度viが適宜に利用されてもよい。例えば、リアルタイムで速度情報を利用する機器においてその利用の周期が周期Taよりも長い場合、もしくは事後的に速度情報を解析する場合においては、速度v5に基づく速度v1のリセットが行われなかったときは速度v1の値を利用し、リセットが行われたときは速度v5の値を利用するようにしてもよい。なお、以下では、速度v1を利用する場合を例に取る。
【0064】
(慣性計測装置)
上述のような実施形態に係る積分値の補正方法を実現可能な慣性計測装置の構成について説明する。
【0065】
(ハードウェア構成)
図5は、実施形態に係る慣性計測装置1の構成をハードウェアの観点から示すブロック図である。
【0066】
慣性計測装置1は、第1物理量の値を検出可能なセンサ3と、センサ3が検出した第1物理量の値を時間積分して第2物理量の値を算出可能な情報処理装置5とを有している。慣性計測装置1は、例えば、特に図示しないが、移動体に搭載された慣性航法装置に組み込まれる。そして、慣性計測装置1が算出した第2物理量は、例えば、慣性航法装置による移動体の移動制御または姿勢制御に利用される。なお、慣性計測装置1または慣性航法装置は、例えば、センサ3および情報処理装置5を含むモジュール化された部品とされてよい。
【0067】
センサ3は、例えば、加速度センサ、速度センサまたは角速度センサである。センサ3の構成は、公知の適宜な構成とされてよい。なお、既述のように、本実施形態の説明においては、第1物理量が加速度の場合を例に取るから、センサ3は、加速度センサである。
【0068】
情報処理装置5は、例えば、CPU(Central Processing Unit)7、ROM(Read only memory)9、RAM(Random access memory)11および補助記憶装置13を含むコンピュータによって構成されている。当該コンピュータは、例えば、IC(Integrated Circuit)によって構成されている。
【0069】
ROM9および/または補助記憶装置13には、例えば、情報処理プログラム15が記憶されている。CPU7は、情報処理プログラム15を読み出して実行する。これにより、所定の機能を発揮する種々の機能部が構築され、ひいては、コンピュータは、情報処理装置5として機能する。
【0070】
また、補助記憶装置13には、例えば、上記の補正方法を実行するために必要な種々の値が記憶されている。具体的には、例えば、サンプリング周期Ts、周期T1〜T5およびTaならびに閾値vt1〜vt5およびvtaの値が記憶されている。
【0071】
なお、これらの値は、情報処理プログラム15内に組み込まれていてもよい。また、これらの値は、情報処理装置5の製造者およびユーザのいずれによって入力されてもよい。周期Ts、T1〜T5およびTaのうち、いずれか2つ以上は互いに同一とされてよく、この場合において、前記2つ以上の値は記憶領域が共通化されていてもよい。同様に、閾値vt1〜vt5およびvtaのうち、いずれか2つ以上は互いに同一とされてよく、この場合において、前記2つ以上の値は記憶領域が共通化されていてもよい。
【0072】
RAM11には、例えば、上記の補正方法を実行するために必要な種々の値を保持するための記憶領域が確保される。具体的には、例えば、加速度a、速度v1〜v5、経過時間および位置の値を保持するための記憶領域が確保される。
【0073】
経過時間は、周期Ts、T1〜T5およびTaが経過したか否かを継続的に判定するために計数されている時間である。特に図示しないが、種々の周期(Ts、T1〜T5およびTa)が存在することに対応して、複数の経過時間(複数のタイマ)に対応する複数の記憶領域が確保されても構わない。
【0074】
位置は、速度v1〜v5の時間積分によって算出されるものである。速度の積分によって算出されるのは、直接的には距離である。当該距離は、そのまま位置情報として利用されてもよいし、所定の座標系の座標値に変換されてもよい。本実施形態の説明では、便宜上、そのような厳密性は無視して、単純に速度の積分によって位置が得られるものとして説明する。また、既に述べたように、本実施形態では、速度v1の時間積分によって位置を算出する場合を例に取る。
【0075】
(機能ブロック図)
図6は、慣性計測装置1の構成を機能的観点から示すブロック図である。
【0076】
上述のように、情報処理装置5においては、CPU7が情報処理プログラム15を実行することにより、種々の機能部(21、23A〜23E、25A〜25E、27、29、31および33)が構築される。各機能部の動作は、以下のとおりである。
【0077】
データ取得部21は、所定のサンプリング周期Tsでセンサ3から加速度aの値を取得する。別の観点では、データ取得部21は、RAM11の所定の記憶領域に記憶されている加速度aの値を更新する。
【0078】
第1積分部23A〜第5積分部23E(「積分部23」または「第i積分部23」ということがある。)は、データ取得部21によって取得された(RAM11の所定の記憶領域に記憶されている)加速度aの値を時間積分して速度v1〜v5を算出する。より具体的には、第1積分部23Aは速度v1を算出し、第2積分部23Bは速度v2を算出し、第3積分部23Cは速度v3を算出し、第4積分部23Dは速度v4を算出し、第5積分部23Eは速度v5を算出する。そして、積分部23は、算出した速度v1〜v5の値によって、RAM11に記憶されている速度v1〜v5の値を更新する。
【0079】
第1管理部25A〜第5管理部25E(「管理部25」または「第i管理部25」ということがある)は、第1積分部23A〜第5積分部23Eが算出している速度v1〜v5の値の上昇の規制(リセット)を行う。別の観点では、管理部25は、RAM11に記憶されている速度v1〜v5の値を初期値によって更新する。
【0080】
より具体的には、第1管理部25Aは、周期T1毎に、速度v1の値が閾値vt1未満か否か判定し、閾値vt1未満と判定したときは、速度v1の値をリセットする。
【0081】
また、2以上のi(i=2〜5)について、第i管理部25は、周期Ti毎に、速度v(i−1)の値が閾値vti未満か否か判定し、閾値vti未満と判定したときは、速度viの値をリセットする。
【0082】
総合管理部27は、周期Ta毎に、速度v5の値が閾値vta未満か否か判定し、閾値vta未満と判定したときは、速度v1〜v5の値をリセットする。別の観点では、総合管理部27は、RAM11に記憶されている速度v1〜v5の値を初期値によって更新する。
【0083】
1回積分出力部29は、第1積分部23Aが算出している速度v1の値(RAM11に記憶されている速度v1の値)を所定の周期(例えばサンプリング周期Ts)で出力する。出力された速度v1の値は、例えば、慣性航法装置によって移動体の速度制御に利用される。
【0084】
2回積分部31は、第1積分部23Aが算出している速度v1の値(RAM11に記憶されている速度v1の値)を時間積分して位置を示す値を算出する。そして、2回積分部31は、算出した位置の値によって、RAM11に記憶されている位置の値を更新する。なお、位置の値の算出に係る時間刻みは、速度の値の算出に係る時間刻みΔtと同一であってもよいし、異なっていてもよい。以下では、同一の場合を例に取る。
【0085】
2回積分出力部33は、2回積分部31が算出している位置の値(RAM11に記憶されている位置を示す値)を所定の周期(例えばサンプリング周期Ts)で出力する。出力された位置の値は、例えば、慣性航法装置によって移動体の位置制御に利用される。
【0086】
(処理手順)
図7は、上述した補正方法を実現するために情報処理装置5(CPU7)が実行する処理の手順の一例を示すフローチャートである。
【0087】
図7の処理は、例えば、情報処理装置5の電源投入後、所定のサンプリング周期Ts(時間刻みΔt)で繰り返し実行される。
図7では、T2〜T5=Tsであり、T1がTsの2倍以上の整数倍である場合を例にとる。
【0088】
特に図示しないが、
図7の処理が開始されると、例えば、周期Ts、T1〜T5およびTaに対応する複数のタイマが構築され、当該タイマは、ゼロから、自己に設定された周期の値までの計数を繰り返す。これにより、周期Ts、T1〜T5およびTaが経過したか否かが繰り返し判定可能となる。タイマは、互いに同一の長さの複数の周期間で共通化されてよい。
【0089】
なお、ここでは、T2〜T5=Tsを例に取り、また、
図7は、全体の処理が周期Tsで繰り返されることを前提として描かれている。従って、以下の説明から理解されるように、周期TsおよびT2〜T5が経過したか否かの判定は
図7に現れていない。
【0090】
ステップST1では、情報処理装置5は、センサ3から加速度aの値を取得する。別の観点では、ステップST1では、RAM11に記憶されている加速度aの値が更新される。
【0091】
ステップST2では、情報処理装置5は、ステップST1で取得した加速度aの値を時間積分して速度v1の値を算出する。別の観点では、RAM11に記憶されている速度v1の値が更新される。
【0092】
速度v1の計算方法(計算式)は適宜なものとされてよいが、例えば、v1=v1+a×Δtである。右辺のv1は、ステップST2を実行する直前までの速度v1の値であり、左辺のv1は速度v1の新しい値である。なお、電源投入後、初めてステップST2が実行される場合、右辺のv1の値は、不図示の初期化処理によって設定された値(例えばゼロ)である。2回目以降は、
図7の処理の前回までのループにおいて計算された値(リセットされた値を含む)である。
【0093】
ステップST2と同様に、ステップST3では速度v2の値が算出され、ステップST4では速度v3の値が算出され、ステップST5では速度v4の値が算出され、ステップST6では速度v5の値が算出される。別の観点では、RAM11に記憶されている速度v2〜v5の値が更新される。計算式、初回の右辺の値、および2回目以降の右辺の値も、v1がv2〜v5に置き換えられること等を除いて、上記のステップST2と同様である。
【0094】
ステップST7では、情報処理装置5は、現在の速度v1の値(RAM11に記憶されている速度v1の値)が閾値vt1未満という条件と、周期T1が到来したという条件との双方が成立したか否か判定する。なお、周期T1が
図7の処理のサイクル(周期Ts)の整数倍でないときは、周期T1が経過した場合も周期T1が到来した場合に含まれる。情報処理装置5は、肯定判定のときはステップST8に進み、否定判定のときはステップST8をスキップしてステップST9に進む。
【0095】
ステップST8では、情報処理装置5は、速度v1の値をリセットする。別の観点では、情報処理装置5は、RAM11に記憶されている速度v1の値を初期値によって更新する。初期値は、既に述べたように、ゼロであってもよいし、ゼロでなくてもよい。例えば、初期値としてa×Δtを用いてもよい(v1=a×Δtとしてよい。)。
【0096】
ステップST9では、情報処理装置5は、現在の速度v1の値(RAM11に記憶されている速度v1の値)が閾値vt2未満か否か判定する。情報処理装置5は、肯定判定のときはステップST10に進み、否定判定のときはステップST10をスキップしてステップST11に進む。
【0097】
ステップST10では、情報処理装置5は、ステップST8における速度v1のリセットと同様にして、速度v2のリセットを行う。初期値として、ゼロに代えてa×Δtが用いられてよいことも同様である。
【0098】
ステップST11〜ST16では、情報処理装置5は、ステップST9およびST10と同様の処理を、速度v3〜v5について行う。
【0099】
ステップST17では、現在の速度v5の値(RAM11に記憶されている速度v5の値)が閾値vta未満という条件と、周期Taが到来したという条件との双方が成立したか否か判定する。なお、周期Taが
図7の処理のサイクル(周期Ts)の整数倍でないときは、周期Taが経過した場合も周期Taが到来した場合に含まれる。情報処理装置5は、肯定判定のときはステップST18に進み、否定判定のときはステップST18をスキップしてステップST19に進む。
【0100】
ステップST18では、情報処理装置5は、速度v1〜v5の全ての値をリセットする。この処理は、ステップST8、ST10、ST12、ST14およびST16と同様である。ゼロに代えてa×Δtが用いられてよいことも同様である。なお、
図7の処理の例では、速度v1をリセットすれば、次のループでST10、ST12、ST14およびST16において速度v2〜v5もリセットされる蓋然性が高いから、速度v1をリセットするだけであってもよい。
【0101】
ステップST19では、情報処理装置5は、現在の速度v1の値(RAM11に記憶されている速度v1の値)を時間積分して位置posの値を算出する。別の観点では、RAM11に記憶されている位置posの値が更新される。
【0102】
位置posの計算方法(計算式)は適宜なものとされてよいが、例えば、pos=pos+v1×Δtである。右辺のposは、ステップST19を実行する直前までの位置posの値であり、左辺のposは位置posの新しい値である。なお、電源投入後、初めてステップST19が実行される場合、右辺のposの値は、不図示の初期化処理によって設定された値(例えばゼロまたは原点位置)である。2回目以降は、
図7の処理の前回までのループにおいて計算された値(リセットされた値を含む)である。
【0103】
なお、ステップST1はデータ取得部21に対応する。ステップST2〜ST6は第1積分部23A〜第5積分部23Eに対応する。ステップST7およびST8は第1管理部25Aに対応する。ステップST9およびST10は第2管理部25Bに対応する。ステップST11およびST12は第3管理部25Cに対応する。ステップST13およびST14は第4管理部25Dに対応する。ステップST15およびST16は第5管理部25Eに対応する。ステップST17およびST18は総合管理部27に対応する。ステップST19は2回積分部31に対応する。
【0104】
以上のとおり、本実施形態では、情報処理装置5は、n個(本実施形態ではn=5である。)の第i積分部23と(ただし、nは2以上の整数であり、iは1以上n以下の整数である。)、n個の第i管理部25と、総合管理部27とを有している。第i積分部23は、継続的に入力されている加速度aの値を時間積分して第2物理量としての速度viの値を継続的に算出可能である。第1管理部は、所定の周期T1毎に、第1積分部23Aが算出している加速度aの値が所定の閾値vt1未満であるか否か判定し(ステップST7)、閾値Vt1未満であると判定した場合は、第1積分部23Aが算出している速度v1の値をリセットする(ステップST8)。2以上のiについて、第i管理部25は、所定の周期Ti毎に、第i−1積分部23が算出している速度viの値が所定の閾値vti未満であるか否か判定し(ステップST9、ST11、ST13およびST15)、閾値vti未満と判定した場合は、第i積分部23が算出する速度viの値の上昇を規制する(ステップST10、ST12、ST14およびST16)。総合管理部27は、少なくとも周期T1よりも長い周期Ta毎に、第n積分部23(第5積分部23E)が算出している速度v5の値が所定の閾値vta未満であるか否か判定し(ステップST17)、閾値vta未満であると判定した場合は、第1積分部23Aが算出している速度v1の値をリセットする(ステップST18)。
【0105】
従って、
図2〜
図4を参照して説明した速度vの補正方法が実現され、ひいては、既に述べた当該補正方法の作用および効果が得られる。
【0106】
また、本実施形態では、2以上のiについて、第i管理部25は、第i−1積分部23が算出している第2物理量としての速度v(i−1)の値が閾値vti未満であると判定した場合に、第i積分部23が算出している速度vの値をリセットする(ステップST10、ST12、ST14およびST16)ことにより、第i積分部23が算出する速度viの値の上昇を規制する。
【0107】
従って、例えば、後述する変形例との比較により理解されるように、速度v(i−1)の値が閾値vtiに到達する直前の、速度v(i−1)がリセットされる周期未満の期間における加速度aが速度viに加味される(
図2のP12参照)。その結果、例えば、速度v(i−1)の値が閾値vtiに到達する直前の加速度aを過小評価してしまうおそれが低減される。ひいては、例えば、静止状態から移動状態へ移行するときの速度情報が静止状態における速度の誤差と判定されるおそれが低減される。
【0108】
また、本実施形態では、上記のようにリセットによって速度viの値の上昇を規制する方法が採用され、かつ、2以上のiについて、周期Tiは、周期T(i−1)以下(例えばTi=T(i−1))である。
【0109】
従って、例えば、速度v(i−1)の値が閾値vtiに到達したことを早期に検出して、速度viのリセット解除に反映することができる。その結果、例えば、上記の、速度v(i−1)の値が閾値vtiに到達する直前の加速度aを過小評価してしまうおそれが低減される効果が好適に奏される。
【0110】
さらに、本実施形態では、全ての第i積分部23は、所定のサンプリング周期Ts毎に第2物理量としての速度viの値を算出する。周期T1は、サンプリング周期Tsの2倍以上の倍数である。2以上のiについて、周期Tiは、サンプリング周期Tsと同一である。
【0111】
従って、例えば、速度v1を好適な周期T1でリセットしつつ、最大限の早さで速度v(i−1)の値が閾値vtiに到達したことを検出できる。その結果、例えば、上記の、速度v(i−1)の値が閾値vtiに到達する直前の加速度aを過小評価してしまうおそれが低減される効果がさらに増大する。
【0112】
また、本実施形態では、n(複数階層の速度viの数)は3以上である。
【0113】
従って、例えば、最前層の速度v1の値が直接的に最後層の速度v5の値の上昇の規制に影響するのではなく、その間に他の階層の速度v2〜v4が存在する。その結果、例えば、誤差によって加速度aが振動するような場合において、その誤差が最後層の速度v5に及ぼす影響が緩和される。その結果、例えば、好適に速度v5に基づく速度v1のリセットを行うことができる。
【0114】
(変形例に係る積分値の補正方法)
図8は、変形例に係る積分値の補正方法を説明するための
図2と同様の図である。なお、以下では、主として、上記の実施形態との相違部分について述べる。特に言及がない事項については、上記の実施形態と同様とされてよい。例えば、閾値vtiおよびvtaは、互いに異なっていてもよいし、互いに同一であってもよい。
【0115】
実施形態では、2以上のiについて、速度viの値が常に算出された。そして、速度viの値は、速度v(i−1)の値が閾値vti未満の間において繰り返しリセットされ、これにより、上昇が規制された。一方、
図8に示す変形例においては、2以上のiについて、速度viの値は、速度v(i−1)の値が閾値vti未満の間において算出が禁止され、これにより、上昇が規制される。
【0116】
また、実施形態では、周期T2〜T5が周期T1よりも短い場合を例にとった。一方、本変形例では、周期T2〜T5が周期T1と同一である場合を例に取る。換言すれば、本変形例では、1以上の全てのiについて、周期Tiが互いに同一の場合を例に取る。
【0117】
ただし、本変形例においても、2以上の全てのiについて、周期Tiは、周期T(i−1)よりも短くてもよいし、長くてもよい。また、本変形例では、例えば、2以上のiについて、周期Tiは、周期T(i−1)以上とされてよい。
【0118】
周期Tiは、実施形態と同様に、周期Tsと同一の長さであってもよいし、周期Tsよりも長くてもよい。本変形例の説明では、周期Tiが周期Tsよりも長い場合を例に取る。具体的には、例えば、周期Tiは周期Tsの2倍以上の倍数である。
【0119】
上記のような相違により、例えば、
図8では、速度viの値の変化は、以下のようになっている。
【0120】
速度v1の値の変化(線L41)は、
図2に例示した速度v1の値の変化と同様である。すなわち、速度v1の値は、最初の周期T1経過時においては、閾値vt1未満であることから、当該時点においてリセットされる。次の周期T1経過時においては、速度v1の値は、閾値vt1以上であることから(点P41参照)、リセットされず、加速度aに基づく更新が継続される。
【0121】
最初の周期T2(=T1)経過時において、速度v1の値(線L41)は、閾値vt2未満であることから、速度v2の値(線L42)の算出は禁止される。従って、次(2つ目)の周期T2において、速度v2の値は、初期値としての一定の値(例えばゼロ)に維持される。
【0122】
2つ目の周期T2の経過時において、速度v1の値は、閾値vt2を超えている(点P41)。従って、点P41から引いた矢印y41で示すように、2つ目の周期T2の経過時において、速度v2の値の算出が許容される。その結果、3つ目の周期T3以降においては、速度v2の値は、加速度aに基づいて算出されていく。
【0123】
最初の周期T3(=T2)経過時において、速度v2の値(線L42)は、閾値vt3未満であることから、速度v3の値(線L43)の算出は禁止される。従って、次(2つ目)の周期T3において、速度v3の値は、初期値としての一定の値(例えばゼロ)に維持される。2つ目の周期T3の経過時も同様に、速度v3の値の算出は禁止されたままであり、次(3つ目)の周期T3において、速度v3の値はゼロに維持される。
【0124】
3つ目の周期T3の経過時において、速度v2の値は、閾値vt3を超えている(点P42)。従って、点P42から引いた矢印y41で示すように、3つ目の周期T3の経過時において、速度v3の値の算出が許容される。その結果、4つ目の周期T3以降においては、速度v3の値は、加速度aに基づいて算出されていく。
【0125】
以降、特に図示しないが、上記と同様に、速度v4およびv5の算出の禁止または許容の判定が順次行われる。そして、加速度aの値が、ある程度の長さに亘ってある程度の大きさであれば、速度v5が上昇する。周期Ta(時間閾値tt)において速度v5が閾値vta未満である場合に、速度v1〜v5がリセットされることは、実施形態と同様である。なお、周期Taは、1からn−1までについての周期Tiの総和以上の長さであり、例えば、1からnまでについての周期Tiの総和以上とされてよい。
【0126】
このような補正方法においても、実施形態と同様の効果が奏される。例えば、閾値vt1を比較的小さくして、移動体が静止状態から移動状態に移行するときに、速度v1の値がリセットされてしまうおそれを低減できる。その一方で、時間閾値ttにおいて速度v5の値を評価することによって、静止状態において速度に生じた比較的大きな誤差が移動状態における速度の値と判定されてしまうおそれを低減できる。
【0127】
(比較例に係る積分値の補正方法との比較)
本変形例では、突発的に急激に変化する誤差の影響を複数階層の速度viによって吸収しやすくなる。具体的には、例えば、以下のとおりである。
【0128】
図9は、比較例に係る積分値の補正方法を説明するための
図8と同様の図である。
【0129】
この比較例では、複数階層の速度の概念は導入されていない。従って、
図1の比較例と同様に、1つのみの速度vの値(線L51)が継続的に算出されている。そして、周期Tc1毎に、閾値vtc1未満か否か判定される。閾値vtc1未満と判定されたときは、矢印y51で示すように、速度vの値はリセットされる。一方、点P51において示すように、閾値vtc1未満でないと判定されたときは、速度vの値は、リセットされず、上昇していく。
【0130】
さらに、この比較例では、周期Tc1よりも長い周期Tc2毎に、速度vの値が、閾値vtc1よりも大きい閾値vtc2未満か否か判定される。そして、閾値vtc2未満と判定されたときは、矢印y52で示すように、速度vの値はリセットされる。閾値vtc2未満でないと判定されたときは(後述する線L56の点P56参照)、速度vの値は、リセットされず、上昇していく。
【0131】
このような比較例では、閾値vtc1を比較的小さくして、移動体が静止状態から移動状態に移行するときに、速度vの値がリセットされてしまうおそれを低減できる。その一方で、閾値vtc1よりも大きい閾値vtc2も用いることによって、静止状態において速度に生じた比較的大きな誤差が移動状態における速度の値と判定されてしまうおそれが低減される。
【0132】
ここで、線L55で示すように、速度vに突発的に非常に大きな誤差が生じたと仮定する。この場合、この誤差のみで速度vは、閾値vtc1およびvtc2の双方を超えてしまう。
【0133】
また、線L56で示すように、線L55で示す誤差よりは小さいものの、速度vに突発的な誤差が生じたと仮定する。加速度aの時間積分によって算出される速度vは、別の観点では、加速度aの積算によって算出されているから、上記の突発的な誤差は速度vの値に含まれたままとなる。その結果、点P56で示すように、突発的な誤差は、周期Tc2経過時における速度vが閾値vtc2未満か否かの判定にも影響を及ぼしてしまう。
【0134】
一方、
図8に戻って、線L46で示すように、点P46(点P41)で示す時点よりも前において突発的な誤差が生じたと仮定する。しかし、この誤差が生じた周期T2における速度v2の値の算出は禁止されていることから、当該誤差は、速度v2の値の変化に現れない。そして、点P41および点P46から引いた矢印y41によって示されているように、速度v2の値の変化は、突発的な誤差が生じた場合と生じていない場合とで同一となる。
【0135】
(変形例に係る慣性計測装置の構成および動作手順)
変形例に係る慣性計測装置の構成は、
図5および
図6に示したものと同様でよい。以下では、
図5および
図6の符号を参照することがある。ただし、変形例においては、2以上のiについて、第i管理部25は、前の階層の速度v(i−1)に基づいて第i積分部23が算出している速度viの値(別の観点ではRAM11に記憶されている速度viの値)をリセットするのではなく、第i積分部23による速度viの値の算出(別の観点ではRAM11に記憶されている速度viの値の更新)を禁止(または許容)する。
【0136】
図10は、上述した変形例に係る補正方法を実現するために情報処理装置5(CPU7)が実行する処理の手順の一例を示すフローチャートである。
【0137】
この処理も
図7の処理と同様に、例えば、情報処理装置5の電源投入後、所定のサンプリング周期Ts(時間刻みΔt)で繰り返し実行される。この例では、T1〜T5>Tsである。
【0138】
図10において、
図7で説明したステップと同一のステップについては、
図7で用いた符号を用いている。また、
図10では、速度v2〜v5に関する同様の処理の繰り返しについては、一部(速度v3およびv4に関する部分)を省略して図示している。
【0139】
ステップST1およびST2は、
図7のステップST1およびST2と同様である。
【0140】
ステップST3では、
図7のステップST3と同様に、ステップST1で取得された加速度aに基づいて速度v2の値が更新される。ただし、情報処理装置5は、ステップST3の前のステップST23において、速度v2に対応付けられたフラグ2が立てられているか否かの判定を行う。そして、情報処理装置5は、肯定判定のときはステップST3を実行し、否定判定のときはステップST3をスキップする。このスキップにより、速度v2の値の算出が禁止される(RAM11の速度v2の値は更新されない。)。
【0141】
速度v3〜v5についても、速度v2についてのステップST23およびST3と同様の処理が行われる。すなわち、フラグiが立てられているか否か判定され、肯定判定のときは速度viの値が更新され、否定判定のときは速度viの値は更新されない。なお、
図10では、速度v3およびv4についての処理の図示は省略し、フラグ5に関する判定(ステップST26)および速度v5の算出(ステップST6)のみを図示している。
【0142】
ステップST7およびST8は、
図7のステップST1およびST2と同様である。
【0143】
ステップST29では、情報処理装置5は、速度v1が閾値vt2以上であるという条件と、周期T2が到来したという条件(既述のように周期T2の経過を含んでよい)との双方が成立したか否か判定する。そして、情報処理装置5は、肯定判定のときはステップST30に進み、否定判定のときはステップST30をスキップする。なお、ステップST29の判定は、肯定と否定とが逆であるが、周期T2毎に、速度v1が閾値vt2未満であるか否かを判定していることに相当する。
【0144】
ステップST30では、情報処理装置5は、フラグ2を立てる。これにより、次のループにおいては、ステップST23において肯定判定がなされ、ステップST3の速度v2の算出が行われる。
【0145】
速度v3〜v5についても、速度v2についてのステップST29およびST30と同様の処理が行われる。すなわち、速度v(i−1)が閾値vti以上であるという条件と、周期Tiが到来したという条件との双方が成立したか否か判定され、肯定判定のときはフラグiが立てられ、否定判定のときはフラグiは立てられない。なお、
図10では、速度v3およびv4についての処理の図示は省略し、閾値vt5を用いた判定(ステップST35)およびフラグ5の設定(ステップST36)のみを図示している。
【0146】
ステップST17およびST18は、
図7のステップST11およびST18と同様である。
【0147】
ステップST39は、ステップST18と同様に、ステップST17によって実行の要否が判定される。そして、ステップST17において、現在の速度v5の値(RAM11に記憶されている速度v5の値)が閾値vta未満という条件と、周期Taが到来したという条件との双方が成立したときは、フラグ2〜5は降ろされる。これにより、ステップST3等における速度v2〜v5の算出が禁止される。
【0148】
なお、ステップST23、ST29およびST30は第2管理部25Bに対応する。ステップST26、ST35およびST36は第5管理部25Eに対応する。また、ステップST3の速度v2の値の算出過程の少なくとも一部を行いつつも、最終的な算出結果を、最終的に速度v2の値を記憶させるべき記憶領域に記憶させないような処理も、速度v2の値の算出の禁止に含まれる。
【0149】
以上のとおり、本変形例においても、情報処理装置5は、データ取得部21と、n個の第i積分部23と、n個の第i管理部25と、総合管理部27とを有している。2以上のiについて、第i管理部25は、所定の周期Ti毎に、第i−1積分部23が算出している速度viの値が所定の閾値vti未満であるか否か判定し(ステップST29およびST35等)、閾値vti未満と判定した場合は、第i積分部23が算出する速度viの値の上昇を規制する(ステップST23の否定判定等)。そして、総合管理部27は、少なくとも周期T1よりも長い周期Ta毎に、第5積分部23Eが算出している速度v5の値が所定の閾値vta未満であるか否か判定し(ステップST17)、閾値vta未満であると判定した場合は、第1積分部23Aが算出している速度v1の値をリセットする(ステップST18)。従って、既に述べたように、第1実施形態と同様の効果が奏される。
【0150】
また、本実施形態では、2以上のiについて、第i管理部25は、第i−1積分部23が算出している第2物理量としての速度vi−1の値が所定の第i閾値未満であると判定した場合に、第i積分部による速度viの値の算出を禁止することにより(ステップST23の否定判定等)、第i積分部23が算出する速度viの値の上昇を規制する。
【0151】
従って、例えば、
図8および
図9を参照して説明したように、突発的な誤差が生じたときに、当該誤差が、まだ算出が許容されていない階層の速度に現れにくい。その結果、そのような突発的な誤差が生じた場合においても、時間閾値ttにおける判定を適切に行うことができる。ひいては、例えば、突発的な誤差によって静止状態が移動状態とみなされるおそれが低減される。
【0152】
また、本実施形態では、上記のような規制方法を採用し、かつ、2以上のiについて、周期Tiは、周期T(i−1)以上である。
【0153】
この場合、例えば、周期Tiが比較的長いから、速度v(i−1)に突発的な誤差が生じたときに、当該誤差が速度viにより現れにくくなる。すなわち、上記の突発的な誤差の影響を低減する効果が増大する。
【0154】
また、本実施形態では、全ての第i積分部23は、所定のサンプリング周期Ts毎に第2物理量としての速度viの値を算出する。全てのiについて、周期Tiは、サンプリング周期Tsよりも長い。
【0155】
従って、例えば、高精度に速度viを算出しつつも、突発的な誤差が最後層の速度v5の値に及ぼす影響を低減することができる。
【0156】
また、本実施形態では、複数階層の速度の数nは3以上である。
【0157】
従って、例えば、突発的な誤差が複数回生じた場合においても、当該誤差が最後層の速度v5に現れるおそれを低減することができる。
【0158】
なお、以上の実施形態および変形例において、周期T1〜T5は第i周期の一例である。周期Taは総合周期の一例である。閾値vt1〜vt5は第i閾値の一例である。閾値vtaは総合閾値の一例である。
【0159】
本発明は、以上の実施形態および変形例に限定されず、種々の態様で実施されてよい。
【0160】
第1物理量および第2物理量は、第1物理量を時間積分して第2物理量が得られる関係であれば、どのような物理量であってもよく、加速度および速度に限定されない。例えば、既に言及したように、第1物理量および第2物理量は、速度および位置であってもよいし、角速度および角度であってもよい。そして、複数階層の第2物理量(例えば、複数階層の位置、複数階層の角度)の概念を導入し、実施形態と同様の処理を行ってよい。
【0161】
第1物理量の値は、センサによって検出されるものに限定されず、演算によって算出されたものであってもよい。例えば、情報処理装置5によって算出された速度v(例えば速度v1)を第1物理量とし、この時間積分によって位置posを算出するに際して、情報処理装置5と同様に、複数階層の位置の概念を導入してもよい。