以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.本実施形態の手法
まず本実施形態の手法について説明する。従来、加速度センサーが検出した加速度の値を用いて、歩行中のユーザーの進行方向を推定する手法が提案されており、提案手法により推定された進行方向はデッドレコニング等に利用されている。
特許文献1に開示された手法のように、加速度センサーを用いた進行方向推定では、加速度の水平方向成分(例えば重力方向に直交する平面に含まれる成分であり、北方向を表すN成分と東方向を表すE成分等)を用いることが考えられる。しかし、従来手法では加速度の水平方向成分を取得するために、加速度センサーを搭載した端末の装着位置や姿勢に制約があった。例えば、3軸加速度センサーの1つの軸を重力方向と一致させ、残り2軸により表される平面が水平面と一致する状態を維持する等の制約である。従来手法であれば加速度センサーのセンサー情報そのままで、或いは単純な座標変換を行うだけで、水平方向成分を取得できるため処理は容易だが、ユーザーは端末の姿勢等を常に考慮せねばならず、利便性等の面で問題があった。
そこで本出願人は、端末の姿勢等に関して自由度を高めることを前提とする。具体的には、クォータニオン等を用いて、端末姿勢に応じた座標変換行列を求め、座標変換後の値から水平方向成分を求める。このようにすることで端末の装着部位は、胸ポケット、ズボンのポケット、トートバッグやウエストバッグ、腰等、多くの箇所から自由に選択可能であり、その際の姿勢も問わない。また、体幹に対してある程度固定されていればよいため、状況によっては手で把持していてもよい。具体的には、端末(携帯電話等)の表示部を見ている状態で安定していれば当該端末を手で把持していても問題がない。
しかし、水平方向成分の抽出が可能であっても、そこから求められる進行方向の推定精度には問題が残る。なぜなら、歩行による加速度は、鉛直方向(重力方向)に大きく現れ、水平方向成分の値は非常に小さいからである。よって本来検出したい信号が、ユーザーの横揺れ(加速度センサーの装着部位に対応する揺れであり、体全体の揺れであってもよいし、端末を手に持った場合は手の揺れであってもよい)による信号等、ノイズ成分と区別できない可能性がある。
そこで本出願人は、進行方向の推定精度を向上させる手法を3つ提案する。第1に、進行方向を求めるための情報(以下、進行方向情報)を検出加速度の積算値から求める。特許文献1等では水平方向成分のピーク値を進行方向情報としていたが、ノイズの影響が大きい状況ではピークの検出自体が困難であった。その点、積算処理を行えばピーク検出を厳密に行う必要がなくなるため、処理が容易になり、ピーク検出の誤差による精度の低下を考慮する必要がなくなる。なお、積算処理を行う場合、オフセット等のDC成分まで積算されるため、状況によっては進行方向の推定に影響を与える。よって、本実施形態では積算処理の前段階において、水平方向成分からDC成分を除去(低減を含む)するフィルター処理を行うものとする。
第2に、求めた進行方向情報の平均化処理を行う。本実施形態で問題としているのは人の歩行又は走行である。人は体の構成上、右足を踏み出したときと左足を踏み出したときとで、腰の回転方向が異なる。具体的には、右足を踏み出したときには腰は反時計回りに回転するし、左足を踏み出したときには時計回りに回転する。よって、長いスパンで見たときの進行方向に対して、右足踏み出し時の進行方向は左方向にずれ、左足踏み出し時の進行方向は右にずれることになる。このような短いスパンにおける進行方向のばらつきは好ましくないため、右足踏み出し時と左足踏み出し時とで進行方向情報の平均化処理を行い、ばらつきを解消する。なお、腰から離れた部位に端末を装着することで、ばらつきを抑えることが可能であるが、上述したように本実施形態では装着に関する制約を緩和することを前提としているため、平均化処理を考慮する必要性は高いといえる。
第3に、求めた進行方向情報に対してDC成分の抽出処理を行う。仮に第1、第2の手法を用いたとしても、横揺れ等の影響により推定した進行方向が不安定になる可能性がある。特に端末を手で把持した場合には、体幹に対する手の相対位置を一定に保つことは難しく、横揺れの影響は大きい。よって、DC成分を抽出するフィルター処理を行って、進行方向が不安定になることを抑制する。ただし、単純にDC成分を抽出するだけではユーザーが方向転換をした場合等の進行方向の変化まで抑制してしまい好ましくない。よって、変化の抑制度合いに対応するパラメーター(例えばフィルターのゲイン)を適切に調整する必要がある。
以下、システム構成例について説明した後、処理の前提となるステップ検出手法について説明する。その後、進行方向情報の算出処理として、上述した第1〜第3の手法について説明する。最後に進行方向情報に基づいた進行方向の算出処理について述べる。
2.システム構成例
図1を用いて本実施形態の状態検出装置の構成例を説明する。図1に示したように、状態検出装置は水平方向成分抽出部100と、合成加速度算出部110と、フィルター処理部200と、ステップ検出部300と、進行方向算出部400と、変化情報取得部500を含む。また、状態検出装置は加速度センサー10と、出力部20を含んでもよい。ただし、状態検出装置は図1の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
加速度センサー10は例えば3軸加速度センサーである。上述したように、本実施形態では加速度センサーの装着位置や姿勢に関する自由度が高いことを前提とするため、加速度センサーの座標系と、処理に用いる座標系(例えば重力方向、北方向、東方向を軸とするNED座標系)とは異なることが一般的である。
水平方向成分抽出部100は、加速度センサーの検出加速度から水平方向成分を抽出する。具体的には加速度センサーの座標系から、処理に用いる座標系への変換を行う座標変換行列を求め、当該座標変換行列に基づく変換を行えばよい。座標変換行列は基準姿勢に対する加速度センサー(或いは加速度センサーを搭載した端末)の姿勢に基づいて求められる。姿勢に関する情報は、クォータニオンから求めればよく、クォータニオンは加速度センサーのセンサー情報から求めればよい。なお、クォータニオンを求める際に他のセンサー(例えば地磁気センサーやジャイロセンサー等)のセンサー情報を用いてもよい。また、センサー情報をそのまま用いるのではなく、デッドレコニング等の処理に用いられるカルマンフィルターの出力等を利用することで、より精度の高いクォータニオンを算出することも可能である。
合成加速度算出部110は、加速度センサーの検出加速度から合成加速度情報を算出する。合成加速度の算出手法は任意であるが、例えば3軸の検出加速度x,y,zから下式(1)を用いて合成加速度Powerを求めればよい。
フィルター処理部200は、水平方向成分抽出部100から出力された水平方向成分、及び合成加速度算出部110から出力された合成加速度に対してフィルター処理を行う。ここでのフィルター処理はDC成分を除去するフィルター処理であり、詳細は後述する。
ステップ検出部300は、フィルター処理後の合成加速度に基づいてステップを検出する。ステップは狭義にはユーザーの歩行又は走行における一歩に相当するものである。詳細については後述する。
進行方向算出部400は、進行方向を算出する。進行方向算出部400は、積算処理部410と、平均化処理部430と、DC成分抽出フィルター処理部450と、角度算出部470とを含む。ただし、進行方向算出部400は図1の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
積算処理部410は、フィルター処理部200から出力されたフィルター処理後の水平方向成分の積算処理を行い、進行方向情報を算出する。なお、積算処理の開始タイミングと終了タイミングは、ステップ検出部300から出力される情報(ステップ情報)に基づいて決定されてもよい。この場合には、積算処理部410からはステップに対応したタイミング(例えば1ステップに1回)で情報が出力される。ただし、ステップ情報以外の情報に基づいて、積算処理の開始、終了タイミングが決定されてもよい。
平均化処理部430は、進行方向情報(例えば積算処理部410の出力)に対して平均化処理を行う。DC成分抽出フィルター処理部450は、進行方向情報(例えば平均化処理部430の出力)に対してフィルター処理を行う。DC成分抽出フィルター処理部で用いられるフィルターに関するパラメーターは、変化情報取得部500からの変化情報に基づいて決められてもよい。なお、DC成分抽出フィルター処理部450で行われるフィルター処理は、進行方向情報のDC成分抽出処理であり、検出加速度のDC成分除去処理であるフィルター処理部200でのフィルター処理とは異なる。
角度算出部470は、最終的な進行方向情報(例えばDC成分抽出フィルター処理部450の出力)に基づいて進行方向を表す角度情報を算出する。角度情報は基準方向(例えば北方向)に対する角度である。なお、進行方向算出部400の各部における処理の詳細については後述する。
変化情報取得部500は、進行方向の変化を表す変化情報を取得する。変化情報は狭義には端末の姿勢の変化であってもよい。
出力部20は、算出した進行方向等の情報を出力する。出力部20は例えば、液晶ディスプレイや有機ELディスプレイなどにより実現される表示部であってもよい。
3.移動平均及びDC成分除去
水平方向成分抽出部100で抽出された水平方向成分、及び合成加速度算出部110で算出された合成加速度に対して行われる前処理について説明する。具体的には、移動平均を取ることで簡易的なノイズ除去を行い、その後DC成分を除去するフィルター処理を行う。
移動平均は例えば8サンプルを用いた移動平均を求めればよく、これによりステップ検出(ピーク検出)や、進行方向推定の精度向上が期待できる。
それとともにDC成分を除去する処理を行う。具体的には図2に示したフィルターを用いればよい。図2の点線に囲まれた部分は、図14を用いて後述するようにDC成分を抽出するフィルターに相当する。図2のフィルター全体では、入力値と点線部分の出力(つまりDC成分)の差分を取ることになるため、結果としてDC成分を除去することができる。
なお、DC成分の除去は水平方向成分と合成加速度の両方に対して行われるが、水平方向成分については後の積算処理においてオフセット(バイアス)まで積算されることを抑止するためのものである。それに対して、合成加速度についてはステップ検出の精度向上のために用いている。
図2のゲインについては固定値でよく、例えば0.9等を設定すればよい。移動平均及びDC成分除去処理について、処理前と処理後の信号を表したものが図3である。図3は合成加速度の変化であるが、処理前に比べDC成分がカットされ、さらに波形もなめらかなものになっている。図4(A)、図4(B)は水平方向成分(N成分とE成分)の変化を示したものであり、合成加速度と同様に波形がなめらかになっていることがわかる。
以下の各処理においては、基本的には移動平均を取り、且つDC成分除去処理が行われた後の信号を用いているものとするが、場合によっては必ずしもこれらの処理が行われるとは限らない。
4.ステップ検出
次にステップ検出部300でのステップ検出処理について説明する。本実施形態ではステップとして信号値のピーク(上ピーク及び下ピーク)を検出する。そして、ピーク検出の精度を向上させるため、信号値の小さい水平方向成分ではなく、比較的信号値の大きい合成加速度を用いるものとする。
ピーク値の検出手法は任意であるが、例えば図5に示した手法を用いればよい。ステップ検出部300への入力は、加速度センサーでのセンサー情報取得レート(例えば16Hz)に対応するタイミングで行われることが想定され、図5のT0,T1等は1つ1つの入力値に相当する。ここでは判定対象となる入力値と、その前後3サンプルの値を比較してピーク検出を行う。上ピークの検出であれば、判定対象が前後3サンプルよりも大きく、且つ判定対象の値が所与の閾値(例えば0.4等)より大きい場合に、当該判定対象のサンプルを上ピークとして認識する。下ピークは逆に、判定対象が前後3サンプルよりも小さく、且つ判定対象の値が所与の閾値(例えば0.4等)より小さい場合に、当該判定対象のサンプルを下ピークとして認識すればよい。
なお、下ピークの検出後、上ピークが検出されずに下ピークが再度検出される(つまり下ピークが連続する)場合等には、何らかの例外処理が必要な状況(例えば典型的な歩行運動とは異なる運動が行われている、センサー情報の検出が正常に行われていない等)である可能性があるため、下ピークの検出条件として、上述のものに加えて対応する上ピークが検出済みであることを考慮してもよい。このようにすると、下ピークが検出されたことをもって、ユーザーの運動或いはセンサー情報の取得等がある程度正常に行われていることが担保できるため、その後の処理における例外処理をなくす、或いは簡易的なものにすることが可能になる。
ステップ検出部300は上述の処理により検出した上ピークとしたピークに関する情報をステップ情報として出力する。ステップ情報は、例えば上ピークの検出タイミング及び下ピークの検出タイミングに対応して出力されるパルス信号であってもよいし、ピーク検出タイミングに対応するタイムスタンプを含むデータであってもよい。また、処理によってはピーク検出タイミングにおける合成加速度の値等を含んでもよい。
なお、ステップとはユーザーの歩行走行の1歩1歩に相当するものであるから、ステップの検出だけであれば上ピークと下ピークの一方だけを出力すればよく、例えば変化情報取得部500では上ピークと下ピークの一方のみを処理に用いる。よって、出力先によってはステップ情報を簡素化することも可能であり、ステップ情報は多様な形態により実現できる。
以上のステップ検出処理の詳細を図6のフローチャートを用いて説明する。この処理が開始されると、まず加速度センサーからの検出加速度を取得する(S101)。3軸加速度であれば、各軸の値(x,y,z)を取得することになる。そして、検出加速度に基づいて、合成加速度を算出する。合成の手法は任意であるが、ここでは最新の合成加速度P0として各軸の値の二乗和の平方根を用いている。以上の処理は合成加速度算出部110で行われ、この処理結果がステップ検出部300に出力される。なお、図6のフローチャートには不図示であるが、算出した合成加速度に対してフィルター処理部200でフィルター処理を行ってもよい。
次に、取得した最新の合成加速度の値と、過去のタイミングでの合成加速度の値を用いてピークを検出する。具体的には、nタイミング前の合成加速度をPnとした場合に、P0〜P6の値を用いて、P3と他の値の比較、及びP3と所与の閾値との比較を行う。これはP3を基準として考えれば、前後3サンプルの値との比較処理に他ならない。
P3がP0〜P2の各値、及びP4〜P6の各値よりも大きく、且つ所与の閾値(ここでは0.4)よりも大きいかの判定を行い(S103)、条件を満たす場合にはP3を上ピークとして検出する(S104)。S103でNoの場合には、P3がP0〜P2の各値、及びP4〜P6の各値よりも小さく、且つ所与の閾値(ここでは0.4)よりも小さいかの判定を行い(S105)、条件を満たす場合にはP3を下ピークとして検出する(S106)。S105でNoの場合には、上ピークも下ピークも検出されなかったものとする。
その後S107で次のタイミングでの処理に備える。なお、比較処理に必要となる過去の合成加速度の情報を保持しておけばよく(ここでは過去6サンプル分を保持)、S107での処理は図6に示したように、変数Pnの更新処理として行われるものに限定されない。
5.進行方向情報算出
次に進行方向情報の算出処理について説明する。なお、ここでの進行方向情報は進行方向の算出に用いられる情報である。よって、進行方向を算出できるのであれば、進行方向情報が加速度センサーのセンサー情報そのものであることを妨げるものではないが、進行方向算出の精度向上を考えれば、当該センサー情報に対して取捨選択や加工等が行われているものであることが望ましい。例えば、後述する積算処理により得られた情報が進行方向情報である。また、後述する平均化処理、DC成分抽出処理は進行方向情報に対する補正処理(加工処理)に相当し、それらの処理後の情報も進行方向情報に含まれるものとする。
5.1 積算処理
まず、積算処理により進行方向情報を算出する手法について説明する。図7に歩行時における合成加速度と、加速度の水平方向成分の関係を示す。図7は北向きに歩行したときの、合成加速度Powerと、NED座標系に分解した水平方向成分の理想的な関係を示したものである。進行方向が北向きであるためほとんどの水平方向成分がN成分に現れて、E成分はほぼゼロになる。
図7において、A1はユーザーの足が最も上がったときに対応し、A2は着地のときに対応する。ステップ検出に対応させれば、A1が上ピークであり、A2が下ピークとなる。また、A1の直前に水平方向成分(ここではN成分)に進行方向の最大加速度であるA3が現れ、A2の直前に最大減速度(負の最大加速度)であるA4が現れることがわかっている。
特許文献1等に開示されているように、A3、A4等に対応する水平方向成分の最大加速度を検出すれば進行方向を推定することができる。本実施形態の用語を用いれば、水平方向成分のピーク値を進行方向情報とすることになる。このような手法により、例えば図7の例であれば、最大加速度及び最大減速度は図8に示したようになるため、進行方向が北であることがわかる。進行方向が真北、真南でない場合にはE成分にも進行方向に応じた加速度、減速度が現れることになるが、何らかの手法によりN成分とE成分を合成することで進行方向は算出できる。
しかし、水平方向成分の信号値は非常に小さいものであるため、A3やA4等のピークを検出することが難しい。合成加速度のピーク検出タイミング(A1、A2)で代用することも考えられるが、図7に示したようにA1とA3、A2とA4は一致しない可能性がある。水平方向成分の信号値が小さく、ノイズの影響を受けやすい以上、少しでも信号値が大きくなるピーク値(A3,A4)を用いることが望ましいため、A1とA3との間にタイミング差が生じる場合には、合成加速度のピーク検出タイミングを代用とすることには大きな問題がある。
よってここでは、合成加速度のピーク(A1,A2)に基づいて決定された期間において、水平方向成分を積算することで進行方向情報を算出する。具体例を図9に示す。図9のB1、B2は、図8のA1,A2に対応するものであり、それぞれ合成加速度の上ピークと下ピークになる。B3はB2の1周期前の下ピークに対応する。この際、B3からB1までの期間を考えると、合成加速度と水平方向成分のピーク検出タイミングの差に起因して、当該期間での水平方向成分は加速(正の値)が支配的となる。逆にB1からB2の期間での水平方向成分は減速(負の値)が支配的となる。そのため、B3からB1を加速区間、B1からB2を減速区間とした場合、加速区間での水平方向成分の積算値は、進行方向を算出可能な程度の大きさ(絶対値)を持つ正の値となり、減速区間での水平方向成分の積算値は進行方向を算出可能な程度の大きさを持つ負の値となる。
本実施形態では、加速区間での積算値及び減速区間での積算値の少なくとも一方を進行方向情報とする。以下の説明では、具体例として減速区間での積算値を用いるものとするが、加速区間での積算値であってもよいし、両方を用いて(例えば絶対値の和や平均等の形で)もよい。
水平方向成分がN成分とE成分であれば、N成分の積算値An_sumとE成分の積算値Ae_sumを進行方向情報とする。なお、積算処理は対象期間に入力された水平方向成分の値を対象として行われ、その手法は単純加算であってもよいし重み付け加算であってもよいし、他の積算手法であってもよい。
減速区間での積算値を用いる場合を例にとって、積算処理の詳細を図10のフローチャートを用いて説明する。この処理が開始されると、まず加速度センサーからの検出加速度を取得する(S201)。3軸加速度であれば、各軸の値(x,y,z)を取得することになる。そして、検出加速度に基づいて、水平方向成分を抽出する(S202)。ここではNED座標系におけるN成分とE成分を抽出する。以上の処理は水平方向成分抽出部100で行われる。そして抽出された水平方向成分に対して、フィルター処理部200においてDC成分を除去するフィルター処理を行う(S203)。上述したように、積算処理を行うことで、オフセット等の処理に用いることが望ましくない成分まで積算されてしまい、精度が落ちる可能性があるため、そのような成分を除去(或いは低減)することで影響を抑止する。
次に、処理対象タイミングにおいて上ピークが検出されたか否かの判定を行う(S204)。実際の判定処理は図6に示したフローチャート等に従って、ステップ検出部300で行われるものであり、積算処理部410はステップ検出部300からのステップ情報を取得すればよい。上ピークが検出された場合には、減速区間が開始されたものとして、新たに積算を開始する。具体的には、An_sumとAe_sumを初期化し(S205)、上ピークが検出済であることを示すフラグを1に設定する(S206)。そして、S203でのDC成分除去後のN成分の値をAn_sumに加算するとともに、E成分の値をAe_sumに加算する(S209)。S209のあとはS201に戻り次の検出加速度に基づく処理を行う。
S204でNoの場合には、フラグの判定を行う(S207)。フラグが0である場合(S207でNoの場合)には、上ピークが検出済みではない状態であるため、処理対象タイミングは減速期間に含まれないものとして、積算処理等を行うことなくS201に戻る。フラグが1である場合(S207でYesの場合)には、上ピークが検出済みであるため、処理対象タイミングが減速期間に含まれるものとして、下ピークの判定に移行する。
そして、処理対象タイミングで下ピークが検出されたかの判定を行い(S208)、下ピークが検出されない場合には、まだ減速区間の途中のタイミングであると考えられるため、S209でN成分の値をAn_sumに加算するとともに、E成分の値をAe_sumに加算し、S201に戻る。
S208で下ピークが検出された場合には、処理対象タイミングは図9におけるB2のタイミングであると考えられることから、積算処理を終了し、この時点での積算値An_sumとAe_sumを進行方向情報として出力する(S210)。それとともに、上ピークが検出済みであることを示すフラグを0に設定し、次にステップでの上ピーク検出に備え(S211)、S201に戻る。
5.2 平均化処理
次に進行方向情報の平均化処理について説明する。上述したように、長いスパンにおいて人が一定の方向に歩行している場合であっても、1歩ごとという短いスパンで見れば進行方向にはブレが生じる。なぜなら、人の歩行は右足の踏み出しと左足の踏み出しに分けられ、それぞれの足の踏み出し運動は、踏み出し足によって方向が異なる腰の回転を伴うからである。
そのため、加速度センサーを搭載した端末を腰に装着した場合等では、センサーが腰の回転を検出してしまうことになる。この結果例えば、図11の1歩毎θに示したように、踏み出し足によって推定した進行方向が大きく異なってしまう。よって、ユーザーはまっすぐ歩いているにもかかわらず、デッドレコニングにより描いた軌跡が三角波のような形状になる等の影響が考えられ好ましくない。
よってここでは、2歩の平均値を求めて進行方向情報とする。例えば処理対象ステップでの進行方向情報と、1つ前のステップでの進行方向情報の平均化処理を行えばよい。このようにすることで、図11の2歩平均θに示したように推定した進行方向を安定させることができる。ただし、平均化処理の手法はこれに限定されるものではなく、過去1ステップだけではなく、過去nステップの進行方向情報も用いて平均値を求めてもよいし、その際には単純平均だけではなく重み付け平均であってもよい。ただし、ここでの平均化処理は右足と左足との違いを問題としている以上、右足踏み出し時の進行方向情報同士で平均化処理を行っても効果は得られない。つまり、右足踏み出し時の進行方向情報と左足踏み出し時の進行方向情報を少なくとも1つずつ用いる必要がある。
以下、平均化処理の詳細を図12のフローチャートを用いて説明する。なお、ここでの処理は例えば積算処理等により進行方向情報An_sumとAe_sumが算出されていることを前提としている。よって図12の処理は、進行方向情報の算出レートに対応したタイミングにつき1回行われるものであり、狭義には1ステップに1回行われる。
この処理が開始されると、まず進行方向情報An_sumとAe_sumを取得する(S301)。そして、1ステップ前で取得した進行方向情報An_sum_oldとAe_sum_old(平均化処理前の値)を用いて平均化処理を行って平均化処理後の進行方向情報として出力する(S302)。なお、S302ではそれぞれを2で除算せずに単純な和を求めているが、進行方向の推定にはN成分とE成分の比が保たれていればよいため、特に問題はない。当然、それぞれを2で除算したものを平均化処理後の進行方向情報としてもよい。
そして、S303において次のステップの処理に備える。この例であれば1ステップ前の進行方向情報を保持しておけば充分であるが、平均化処理の内容によってはnステップ前までのデータを保持しておいてもよい。
5.3 DC成分抽出処理
次にDC成分抽出処理について説明する。本実施形態では端末の装着部位、姿勢の自由度を高めている。よって、腰や胸ポケットに装着するように、端末姿勢が比較的安定し、水平方向における進行方向以外の加速度の検出を抑えることができるケースがある一方で、手で把持するように端末姿勢が不安定となるケースもある。例えば手で把持した場合には、手の横揺れ等により推定された進行方向が全く安定しない。具体例を図13(A)のoriginalに示す。なお、図13(A)、図13(B)の縦軸は角度(radian)であり、本実施形態の角度範囲は−π〜πである。よって、+πと−πは同じ方向を表すものであり、+3付近から−3付近へと大きく値が変動していたとしても、実際の推定進行方向の変化は大きいとは限らず、本実施形態で問題としている進行方向の不安定さとは関係ないものである。
図13(A)、図13(B)は時刻0から、θ=3(rad)で表される方向へ歩行し、時刻35付近でθ=−2(rad)で表される方向へ進路を変えて歩行した場合の推定進行方向の変動を表したものである。実際の運動は安定していたにも関わらず、図13(A)のoriginalに示したように、横揺れ等の影響で推定した進行方向は不安定になっている。
よって本実施形態では推定した進行方向を安定させるために、変動を抑制するDC成分抽出フィルターを用いる。具体的にはDC成分抽出フィルター処理部450でのフィルター処理となる。ここで用いられるフィルターは図14に示したものである。図14のフィルターは出力値に1タイミングの遅延をかけて(つまり1タイミング前の出力値を用いて)、入力値との差分を取り、差分値にゲインをかける。そしてゲインをかけた値と入力値との差分を出力値とするものである。ゲインをかける対象は、1タイミング前の出力と、現在の入力との差分であるから、値の変動に相当するものである。よって、ゲインを1とすれば、入力値から変動値を引く処理になるため、出力値は変動が除去されたものとなる。つまり、このフィルターのゲインは変動の抑制度合いを表すものであり、1に近いほど変動を抑制し、値が小さいほど変動を容認するものになる。
推定した進行方向を安定させるために、ゲインを0.9に固定した場合の出力値が図13(A)のDC成分抽出である。originalに比べて不安定さは解消されているが、新たな問題も生じている。この運動は時刻35付近で高速で方向転換を行ったものであるのに、DC成分抽出時の値は時刻35〜60付近にかけて緩やかに変動している。これはユーザーの運動において進行方向が変化した場合や、端末の姿勢が変化した場合等、出力値に反映させるべき変化まで抑制してしまったことによる。これでは、道路の曲がり角で90度に近い角度で方向転換した場合であっても、緩やかなカーブを曲がったものと認識されてしまうため、デッドレコニングで描く軌跡が運動状態を反映しないものとなってしまい好ましくない。
そこで本実施形態では、DC成分抽出フィルター処理部450で用いられるフィルターのゲインを適応的に調整する。具体的には、進行方向が大きく変化する状況ではゲインを小さくして変動を容認する方向にシフトする。逆に進行方向の変化が小さい状況ではゲインを大きくし変動を抑制する。
進行方向の変化度合いは過去の出力値に基づいて求めてもよい(例えば1ステップ前の出力値と2ステップ前の出力値の差分等を用いてもよい)が、これでは実際の処理タイミングと、進行方向の変動タイミングとが一致しない。そもそも出力値は本実施形態のフィルター処理後の値である以上、過去の出力値からでは変化度合いの正確な算出が難しいことも考えられる。
そこで本実施形態では、進行方向の変化度合いを端末姿勢の変化に基づいて求める。ユーザーの体に対する端末の相対的な姿勢の変動が大きくないのであれば、端末姿勢の(絶対的な)変動は、進行方向の変動に対応するものと考えられるからである。端末姿勢については、検出加速度の水平方向成分の抽出処理において、座標変換行列を求めるために用いたものをそのまま用いればよく、例えばクォータニオン等から求められる。
姿勢情報(例えばYaw角)の変動(例えばΔYaw)が大きいほど、ゲインの値を小さくする。一例としては、ΔYaw>20°の場合にゲイン=0.4、ΔYaw>10°の場合にゲイン=0.7、それ以外の場合にゲイン=0.9とすればよい。またΔYawが算出できない歩行の1歩目及び2歩目については別途ゲインを設定してもよい。例えば、歩行の1歩目ではフィルターの蓄積データがないためゲインを0に設定する。2歩目では、1歩目のデータの信頼性が低くなる傾向にあるため、ゲインを0.7に設定する。このようなゲイン調整処理を加えた場合の値が図13(B)のカーブ対応である。図13(B)から明らかなように、時刻35付近での急激な方向転換に対応できている。
なお、上述の平均化処理において、右足踏み出し時と左足踏み出し時で進行方向(或いは進行方向情報)が異なってしまうことを説明したが、図15に示したように姿勢情報についても同様のことが言える。つまり、一定方向への歩行であっても、右足踏み出し時と左足踏み出し時でYaw角の値は異なることになり、ΔYawの正確な算出ができない。よって、姿勢情報についても平均化処理を行い、平均化処理後の姿勢情報の変化に基づいてゲインを決定してもよい。
なお、過去のYaw角をYaw_oldとした場合に、平均化処理後のYaw角を、Yaw_ave=(Yaw+Yaw_old)/2としてもよいが、上述したように本実施形態の角度に関する情報は+πと−πが同じ方向を表すという周期境界条件を有する。よって、上述の計算の結果が境界付近にあると予期せぬ結果が得られてしまう可能性もある。そこで、Yaw角の平均化処理は図16に示した手法を取る。具体的には、Yawを表すベクトルをN方向とE方向に分解するとともに、Yaw_oldについてもN方向とE方向に分解する。そして、N方向での合成ベクトルnと、E方向での合成ベクトルeを求め、nとeの合成ベクトルの方向(具体的にはe/nのatan)により表される角度をYaw_aveとする。
以下、DC成分抽出処理(及びゲイン調整処理)の詳細を図17のフローチャートを用いて説明する。この処理が開始されると、まずDC成分抽出フィルター処理部450は、進行方向情報を取得する(S401)。例えば平均化処理後の進行方向情報であるAn_sum+An_sum_oldと、Ae_sum+Ae_sum_oldを取得する。そして変化情報取得部500は、姿勢情報としてYaw角の値を取得する(S402)。次にYaw角の平均化処理を行って、平均化処理後のYaw角であるYaw_aveを求める(S403)。
そして、Yaw_aveと、過去(狭義には1ステップ前)のYaw_ave_oldとの差分値ΔYawを求め、ΔYawに基づいてフィルターのゲインを設定する(S404)。設定後のゲインを用いてDC成分の抽出処理を行い、結果を出力する(S405)。その後、次のステップの処理に備える(S406)。具体的には、Yaw角の値、及び平均化処理後のYaw角の値について、必要なステップ分だけ保持しておくことになる。
6.進行方向算出処理
最後に進行方向情報に基づいて進行方向を算出する処理について説明する。本実施形態の手法では、N成分とE成分の値として進行方向情報が取得される。よって、図18に示したように、N成分のベクトルとE成分のベクトルの合成ベクトルにより表される方向が、進行方向となる。図1においては、角度算出部470においてこの処理が行われるものとする。
7.実施形態の具体例
状態検出装置で行われる各処理について詳細に説明したが、上述した全ての処理が必ずしも実行されるとは限らない。例えば、図1に示した各部のうちの一部から状態検出装置等が構成されてもよい。以下、第1〜第3の実施形態として具体例を示す。
7.1 第1の実施形態
状態検出装置は図1に示したように、加速度センサー10からの検出加速度の水平方向成分を求める水平方向成分抽出部100と、水平方向成分に対してDC成分を除去するフィルター処理を行うフィルター処理部200と、フィルター処理後の水平方向成分の積算処理を行って進行方向を算出する進行方向算出部400を含んでもよい。なお、積算処理は進行方向算出部400に含まれる積算処理部410で行われることが想定される。
ここで、水平方向成分とは重力方向を基準とした場合の水平方向の成分である。狭義には重力方向に直交する平面を水平面とした場合に、当該水平面に含まれる検出加速度の成分が水平方向成分となる。しかし、水平方向成分は必ずしも重力方向に直交する平面内の成分には限定されず、90°とは異なる角度で重力方向と交差する平面内の成分であってもよい。また、DC成分(直流成分)とは信号波形において振幅の中心となる値を表すものであり、例えば図3のoriginalの波形(合成加速度の信号値の時間変化を表す波形)であれば、DC成分は+1(G)程度の値を持つことになる。
また、ここでのDC成分の除去とは、DC成分をゼロにするものに限定されず、その値を小さくする低減処理を含むものとする。
これにより、検出加速度の水平方向成分の積算値に基づいて、進行方向を算出することが可能になる。人の歩行、走行では加速度センサーの信号値は主に重力方向に現れ、水平方向成分の信号値は小さい。よって、水平方向成分はノイズの影響を受けやすく、特許文献1等のように水平方向成分のピーク値から進行方向を算出しようとしても、そもそもどこがピークに相当するタイミングであるかの判定が困難であった。本実施形態の手法では、複数の水平方向成分の積算処理を行うため、水平方向成分のピーク値を検出する必要がなく、容易に進行方向情報を算出でき、且つピーク検出に関する誤差の推定進行方向への影響等を考慮せずともよい。
また、状態検出装置は図1に示したように、歩行又は走行のステップを検出するステップ検出部300を含んでもよい。そして進行方向算出部400は、ステップ検出部300での検出結果に基づいて設定された期間において、フィルター処理後の水平方向成分の積算処理を行って進行方向を算出する。
ここで、ステップとは加速度センサー10の装着対象の一単位の運動に対応するものである。人の歩行走行を考えるのであれば、当該歩行走行の一歩に対応する。なお、車等が対象となるのであれば、その車の推進機構の一単位の動作を考えればよく、例えばタービンエンジンにおけるタービンの1回の回転に相当する。なお、歩行走行のステップは、1ステップが1歩に対応すればよく、ステップの開始終了のタイミングは限定されない。例えば、足の着地の瞬間から次の着地の直前までを1ステップとしてもよいし、足が最高点に達した瞬間から次の最高点への到達直前までを1ステップとしてもよいし、他のタイミングを開始終了に用いてもよい。
これにより、ステップを検出し、当該ステップに基づいて積算処理を行う期間を設定することが可能になる。ステップを上述したように運動の一単位とすると、検出加速度の信号波形は1ステップを単位として周期性を持つことが想定される。よって信号波形の変化は1ステップ内で充分現れることになるため、ステップに基づいて(狭義には1ステップの中で)積算期間を決定することで、進行方向を算出するに足る進行方向情報を求めることができる。なお、1ステップに1回の割合で進行方向情報を求めることで、進行方向の推定レートが高く設定できるため、デッドレコニング等の処理の正確性の向上が期待できるが、積算期間が複数のステップにまたがることを妨げるものではない。
また、状態検出装置は図1に示したように、加速度センサー10からの検出加速度に基づいて合成加速度情報を算出する合成加速度算出部110を含んでもよい。そして、ステップ検出部300は、合成加速度算出部110で算出された合成加速度情報に基づいて、ステップを検出する。なお、合成加速度情報は、検出加速度のべき乗和に基づいて算出してもよい。
ここで、加速度センサー10は複数の軸を有するセンサーであることが想定され、任意の装着姿勢において実空間での進行方向を算出する必要から、狭義には3軸加速度センサーであると考えられる。つまり、加速度センサー10は、所与のセンサー情報出力タイミングで軸の数に相当する数の値を出力することになる。本実施形態の合成加速度とは、それら複数の値に基づいて算出される値であり、例えば複数の値の二乗和の平方根である。ただし、合成加速度の算出手法は任意であり、他の手法であっても良い。なお、ある値(例えばx)が正の値であり、他の値(例えばy)が負の値であるとすると、x+yやx3+y3等の値を用いたのでは、正の値と負の値の加算となり値(絶対値)が小さくなってしまう。ステップ検出においては、信号値は大きいことが望ましいため、べき乗和を用いるのであれば偶数乗にする等、合成処理において各軸の値が打ち消し合わないようにするべきである。
これにより、合成加速度情報に基づいたステップ検出が可能になる。本実施形態では、検出加速度の積算処理を行うため水平方向成分のピーク値を用いなくてもよいことは説明したが、積算処理後の情報の有効性を担保するためには積算期間の設定を適切に行う必要がある。そのためには、上述したようにステップ検出等が必要となるが、そのためには結局信号波形の変化等を解析することが求められる。ただし、ここで必要なのは1歩に相当するステップの検出であり、水平方向成分のピークではない。よってステップの検出は、合成加速度情報を用いるものとする。合成加速度情報は水平方向成分に比べて大きな信号値を得られることが想定されるため、合成加速度情報に基づくステップの検出は、水平方向成分のピーク検出に比べて容易に実現できる。
また、フィルター処理部200は、合成加速度算出部110で算出された合成加速度情報に対して、DC成分を除去するフィルター処理を行ってもよい。そして、ステップ検出部300は、フィルター処理後の合成加速度情報に基づいて、ステップを検出する。
これにより、合成加速度情報に対してDC成分の除去処理を行ったうえで、ステップ検出を行うことが可能になる。ステップを検出するためには、例えば特徴的な点(ピークやゼロ点等)を検出することが求められるが、図3のoriginalに示したように、算出した合成加速度そのものではノイズ等によるばらつきが大きく、正確なステップ検出ができない。その点、DC成分を除去することで図3のfilter後のようになめらかな波形が得られるため、ステップ検出処理が容易になる。
また、ステップ検出部300は、合成加速度情報のピークを求めることでステップを検出してもよい。
これにより、ピークを求めることでステップを検出することが可能になる。ピークとは図5に示したように上ピークであってもよいし下ピークであってもよいし、その両方であってもよい。ピークは図5を用いて上述したように、対象となるサンプルの値とその前後のサンプルの値との比較処理、或いは所与の閾値との比較処理という容易な処理により求めることができる。よって、例えばFFT等の周波数解析により信号の周期(周波数)を求め、その周期等に基づいてステップを求める処理等に比べて、処理負荷を軽くすることができる。
また、ステップ検出部300は、合成加速度情報のピークとして、第1のピークと、第1のピークとは加速度方向が異なる第2のピークを検出してもよい。そして、進行方向算出部400は、第1のピークの検出タイミングから、第2のピークの検出タイミングまでの期間において、フィルター処理後の水平方向成分の積算処理を行って進行方向を算出してもよい。
ここで、加速度方向とは、合成加速度情報がベクトル(大きさだけでなく方向も持つ)であれば、そのベクトルにより表される方向であり、加速度方向が異なるとは、2つのベクトルのなす角度が所与の閾値以上の場合等であることが考えられる。しかし典型的には、合成加速度情報はべき乗和等のスカラーであるため、加速度方向とは平均値(DC成分)に対して大きいものか小さいものかを表すものである。さらに言えば、合成加速度情報に対してDC成分除去フィルターを施すため、平均値は0に近いと考えられることから、加速度方向とは正方向と負方向に2つであることが想定される。
これにより、加速度方向が異なる2つのピークを検出し、その一方のピーク検出タイミングから他方のピーク検出タイミングまでの期間において積算処理を行うことが可能になる。ステップの開始タイミングを検出し、1ステップの全期間で積算処理を行ったとしても、水平方向成分は図4(A)のように正の値の期間と負の値の期間の両方があるため、互いに打ち消し合ってしまう。水平方向成分の信号値が元々小さく、ノイズの影響を受けやすい以上、積算値の絶対値は大きいことが望ましいため、1ステップの全期間ではなく、一部期間での積算を行う必要がある。その点、上ピークと下ピークを用いれば、ピークの検出が容易であり、且つ一方のピークから他方のピークまでは正の値或いは負の値の一方が支配的であるため、効果的な積算処理が可能になる。なお、下ピークから上ピークまでの加速期間(正の値が支配的)を用いてもよいし、上ピークから下ピークまでの減速期間(負の値が支配的)を用いてもよい。なお、所与のユーザーデータでは足をあげる期間(加速期間に対応)と足を下ろす期間(減速期間に対応)を比べた場合、足を下ろす期間の方が時間的に短くなる傾向が見られる場合もある。その他、ユーザーの個人差や運動状態の違い等から、加速期間と減速期間の一方に比べて他方が長い可能性が高いという状況は考えられるそのような場合には、積算処理によるノイズの蓄積を抑止することを考慮して、加速期間と減速期間のうち短い方を用いることが望ましい。
また、進行方向算出部400は、水平方向成分の積算処理として、第1の座標成分の積算処理と、第1の座標成分とは異なる第2の座標成分の積算処理とを行って、進行方向を算出してもよい。
これにより、水平方向に含まれる2つの成分について、それぞれ積算処理を行い、当該積算処理の結果に基づいて進行方向を算出することが可能になる。本実施形態では、加速度センサーの装着姿勢の自由度を高めているため、センサーの1つの軸を必ず進行方向に向ける等の設定はできない。よって、水平方向成分として、所与の2成分(例えば北方向のN成分と、東方向のE成分)を用いて図18のように進行方向を算出することになる。
また、水平方向成分抽出部100は、加速度センサーが取り付けられる機器の姿勢情報に基づいて、検出加速度の水平方向成分を求めてもよい。
これにより、姿勢情報に基づいて水平方向成分を抽出することが可能になる。抽出処理は例えば座標変換行列による変換処理であってもよい。姿勢情報は例えば、クォータニオン等であり、加速度センサーのセンサー情報から求めることができる。また、加速度センサーだけでなく、地磁気センサーを用いることで絶対的な方位を取得してもよいし、ジャイロセンサー等を追加してもよい。また、過去のセンサー情報等を参照して求めてもよく、例えばカルマンフィルター等の出力を利用してもよい。なお、進行方向の算出とは別に歩数計測等の処理を行う場合には、それらの処理にカルマンフィルターが用いられることが考えられるため、当該カルマンフィルターを姿勢情報の算出に流用することができる。
7.2 第2の実施形態
また、状態検出装置は図1に示したように、加速度センサー10からの検出加速度に基づいて、歩行又は走行の進行方向を算出する進行方向算出部400と、歩行又は走行のステップを検出するステップ検出部300とを含んでもよい。そして、進行方向算出部400(狭義には進行方向算出部400に含まれる平均化処理部430)は、第1のステップに対応する進行方向情報と、第1のステップとは異なる第2のステップに対応する進行方向情報との平均化処理を行って、第1のステップでの進行方向を算出する。
ここで、進行方向情報は狭義には積算処理部410による積算処理が行われた情報であるが、これに限定されるものではない。例えば従来手法のように水平方向成分のピーク値を進行方向情報としてもよい。なお、本実施形態の平均化処理を行った後の情報も進行方向情報に含まれるものとしてもよい。
これにより、所与のステップの進行方向情報と、他のステップの進行方向情報の平均化処理を行って進行方向を算出することが可能になる。人の歩行又は走行では、右足踏み出し時と左足踏み出し時とで体の運動が異なる。例えば腰に着目すれば、足の踏み出し時には、腰のうち踏み出した足の側が、反対側に比べて相対的に前方に出ることになる。よって、加速度センサーを腰に装着する等、所与の条件下ではステップごとに推定した進行方向がばらつくことになる。本実施形態の平均化処理を行うことで、そのようなばらつきを抑え、図11に示したように適切な進行方向推定が可能になる。
また、第1のステップは右足及び左足の一方に対応するステップであり、第2のステップは右足及び左足のうち、第1のステップとは異なる足に対応するステップであってもよい。
これにより、右足踏み出し時の進行方向情報と、左足踏み出し時の進行方向情報の平均化処理が可能になる。上述したように、本実施形態の平均化処理は左右の足による運動の違いに起因するばらつきを低減するものであるから、同じ運動状態から算出された進行方向情報同士の平均化は効果的ではない。よって、右足と左足による平均化処理が必要となる。なお、平均化処理は対象となるステップと、1つ前のステップについて行われるものに限定されず、例えば3つ前のステップとの平均化処理であってもよい。また、対象となるステップとその前3ステップを用いる等、3つ以上の進行方向情報の平均化処理であってもよい。なお、運動時にリアルタイムで進行方向を推定する必要がない場合(例えばセンサー情報を蓄積しておき、当該センサー情報に対する処理は後で行われる場合等)であれば、処理対象となるステップとの平均化処理は、当該処理対象ステップの過去のものに限定されない。例えば、所与のタイミングでのステップに対して、当該ステップよりも後のタイミングでのステップでの進行方向情報を用いて平均化処理を行ってもよい。
また、状態検出装置は図1に示したように、加速度センサー10からの検出加速度の水平方向成分を求める水平方向成分抽出部100を含んでもよい。そして、進行方向算出部400は、水平方向成分に基づいて進行方向情報を求める。
これにより、加速度センサー10の検出加速度から水平方向成分を抽出することが可能になるため、加速度センサー10の軸と水平方向とを考慮せずに装着姿勢を決定すること等が可能になる。また、図18に示したように、水平方向成分に基づいて進行方向情報を算出することが可能になる。
また、水平方向成分抽出部100は、水平方向成分として、第1座標軸成分と、第1座標軸成分とは異なる第2座標軸成分とを抽出してもよい。そして、進行方向算出部400は、第1のステップにおける第1座標軸成分から求めた進行方向情報と、第2のステップにおける第1座標軸成分から求めた進行方向情報との平均化処理を行って、平均化処理後の第1座標軸成分を求める。それとともに、第1のステップにおける第2座標軸成分から求めた進行方向情報と、第2のステップにおける第2座標軸成分から求めた進行方向情報との平均化処理を行って、平均化処理後の第2座標軸成分を求める。さらに、平均化処理後の第1座標軸成分と、平均化処理後の第2座標軸成分に基づいて、進行方向を算出する。
これにより、水平方向成分として2つの成分を用いた場合にも平均化処理を行うことが可能になる。水平方向成分をN成分とE成分とすると、第1のステップでは進行方向情報として2つの値が得られ(例えばAn_sumとAe_sum)、第2のステップでも同様となる(例えばAn_sum_oldとAe_sum_old)。この場合には、平均化処理は各軸について行えばよく、例えばAn_sum+An_sum_oldと、Ae_sum+Ae_sum_oldとを求める処理となる。
また、状態検出装置は図1に示したように、検出加速度の水平方向成分に対して、DC成分を除去するフィルター処理を行うフィルター処理部200を含んでもよい。そして、進行方向算出部400(狭義には進行方向算出部400に含まれる積算処理部410)は、フィルター処理後の水平方向成分の積算処理を行って、1のステップに対応する進行方向情報、及び第2のステップに対応する進行方向情報を求める。
これにより、進行方向情報として上述した積算処理後の値を用いることが可能になる。積算処理を行うことによる利点については上述したとおりである。
また、状態検出装置は図1に示したように、検出加速度のべき乗和に基づいて、合成加速度情報を算出する合成加速度算出部110を含んでもよい。そして、フィルター処理部200は、合成加速度情報に対して、DC成分を除去するフィルター処理を行う。また、ステップ検出部300は、フィルター処理後の合成加速度情報に基づいて、ステップを検出する。
これにより、検出加速度から合成加速度情報を求め、当該合成加速度情報に対してフィルター処理を行なってステップを検出することが可能になる。本実施形態では、右足と左足との違いによるばらつきを解消するために、歩行走行の1歩1歩としてステップを検出する。つまり、ステップの検出を適切に行うことが必要であり、そのために合成加速度情報の算出とフィルター処理を行うことになる。これらの処理によりステップ検出が適切に行える理由については上述したとおりである。
7.3 第3の実施形態
また、状態検出装置は図1に示したように、加速度センサー10からの検出加速度の水平方向成分を求める水平方向成分抽出部100と、水平方向成分に基づいて進行方向を算出する進行方向算出部400とを含んでもよい。そして、進行方向算出部400(狭義には進行方向算出部400に含まれるDC成分抽出フィルター処理部450)は、水平方向成分に基づいて求められた進行方向情報に対して、DC成分の抽出処理を行って進行方向を算出する。
ここで、進行方向情報は狭義には積算処理部410による積算処理が行われた後、平均化処理部430での平均化処理が行われた情報であるが、これに限定されるものではない。例えば従来手法のように水平方向成分のピーク値を進行方向情報としてもよいし、積算処理は行うが平均化処理は行われない情報を進行方向情報としてもよい。なお、本実施形態のDC成分抽出処理を行った後の情報も進行方向情報に含まれるものとしてもよい。
これにより、進行方向情報に対してDC成分の抽出処理を行うことが可能になる。図13(A)に示したように、推定された進行方向は横揺れ等(特に手で把持した場合の手の横揺れで顕著となる)の影響により値がばらつくことになる。そこで、進行方向情報に対してDC成分の抽出処理を行なうことで変動を抑制し、ばらつきを抑える。
また、状態検出装置は図1に示したように、進行方向の変化を表す変化情報を取得する変化情報取得部500を含んでもよい。そして、進行方向算出部400は、変化情報に基づいて、抽出処理で用いられるパラメーターを調整する。
これにより、変化情報に基づいて抽出処理のパラメーターを調整することが可能になる。上述したように、DC成分の抽出処理により変動が抑制されるため、本来結果に反映させるべき進行方向の変動まで抑制してしまうおそれがある。例えば図13(A)に示したように、運動自体は時刻35付近で切り替わっているのに、DC抽出処理を施すことで時刻35〜60程度にかけて緩やかに変化することになってしまう。よって、進行方向が変化しようとしているのであれば、当該変化を受け入れるように変動の抑制度合いを小さくするパラメーター調整を行う必要がある。逆に、進行方向の変化が小さいのであれば、変動の抑制度合いを大きくするパラメーター調整を行う。
また、進行方向算出部400は、DC成分を抽出するフィルター処理を行うDC成分抽出フィルター処理部450を含んでもよい。そして、進行方向算出部400は、抽出処理で用いられるパラメーターとして、DC成分抽出フィルター処理部で用いられるフィルターのゲインを調整する。
ここで、DC成分抽出フィルター処理部450は図14に示したように、所与のタイミングにおける入力値と、1つ前のタイミングでの出力値との差分に対してゲインに基づいた処理を行うことで中間値を求め、当該中間値と、前記所与のタイミングにおける入力値との差分を出力値とすることで、DC成分の抽出処理を行ってもよい。
これにより、抽出処理のパラメーターとして、DC成分抽出フィルターのフィルターゲインを調整することが可能になる。ゲインとは例えば図14に示したとおりである。
また、進行方向算出部400は、変化情報により表される進行方向の変化が大きいほど、ゲインの値を小さくしてもよい。
これにより、変化情報に基づいてゲインを適切に設定することが可能になる。特に図14に示したフィルターであれば、ゲインを乗ずる対象は入力値と1つ前の出力値の差分(つまり変動値)であるから、ゲインが1であれば(フィルターが理想的に動作する条件下では)変動を完全に除去するフィルターとなる。進行方向の変化が大きければ、変動の抑制度合いを小さくしたいのであるからゲインを小さくすることになる。
また、変化情報取得部500は、加速度センサー10が取り付けられる機器の回転角度の変化を、変化情報として取得してもよい。
これにより、回転角度(或いは姿勢情報)に基づいて変化情報を取得することが可能になる。原理的には、上述したように進行方向の変化の度合いに基づいて変化情報を取得するべきであるが、処理タイミングにおける進行方向の変化の度合いは、当該タイミングでの進行方向を推定しなければ求められない。よって、例えば過去の推定進行方向に基づいて進行方向の変化を算出することになり、タイミングにずれが生じる等の問題がある。よって本実施形態では、機器の姿勢から変化情報を取得する。体幹に対する機器の相対的な姿勢は安定していることを前提にしているため、機器の姿勢の変化は進行方向の変化に対応付けることができるからである。
また、状態検出装置は図1に示したように、歩行又は走行のステップとして第1〜第N(Nは2以上の整数)のステップを検出するステップ検出部300を含んでもよい。そして、変化情報取得部500は、右足及び左足の一方に対応する第i(1≦i≦N)のステップでの変化情報と、右足及び左足のうち第iのステップとは異なる足に対応する第j(1≦j≦N、i≠j)のステップでの変化情報との平均化処理を行い、平均化処理後の変化情報を出力してもよい。
これにより、左右の足による姿勢情報のばらつきを解消することが可能になる。進行方向情報が左右の足の違いによりばらつくように、姿勢情報(例えばYaw角)も図15に示したようにばらつくことになる。よって、平均化処理を行うことでばらつきを抑え、適切なパラメーター(狭義にはフィルターゲイン)の調整が可能になる。
また、進行方向算出部400は、右足及び左足の一方に対応する第m(1≦m≦N)のステップでの進行方向情報と、右足及び左足のうち第mのステップとは異なる足に対応する第n(1≦n≦N、m≠n)のステップでの進行方向情報との平均化処理を行い、平均化処理後の情報に対してDC成分の抽出処理を行って進行方向を算出してもよい。
これにより、進行方向情報に対しても平均化処理を行うことが可能になる。利点については上述したとおりである。
また、水平方向成分抽出部100は、水平方向成分として第1座標軸成分と、第1座標軸成分とは異なる第2座標軸成分とを抽出してもよい。そして、進行方向算出部400は、第1座標軸成分に基づいて求められた第1の進行方向情報に対してDC成分の抽出処理を行うとともに、第2座標軸成分に基づいて求められた第2の進行方向情報に対してDC成分の抽出処理を行う。さらに、抽出処理後の第1の進行方向情報及び抽出処理後の第2の進行方向情報に基づいて、進行方向を算出する。
これにより、水平方向成分として2つの成分を用いた場合にも、DC成分の抽出処理を行うことが可能になる。具体的には、第1の座標軸成分と第2の座標軸成分のそれぞれについてDC成分抽出処理を行えばよい。
また、状態検出装置は図1に示したように、検出加速度の水平方向成分に対して、DC成分を除去するフィルター処理を行うフィルター処理部200を含んでもよい。そして、進行方向算出部400は、フィルター処理後の水平方向成分に基づいて求められた進行方向情報に対して、DC成分の前記抽出処理を行って進行方向を算出する。
これにより、フィルター処理後の水平方向成分に基づいて進行方向情報を算出することが可能になる。オフセット等の影響を抑止できるため、進行方向情報の適切な算出が期待できる。特に積算処理を行う場合には、オフセット等のノイズまで積算されることを抑止できるため効果的である。
7.4 状態検出装置以外の実施形態
また、以上の本実施形態は、上述してきた状態検出装置を含む電子機器にも適用できる。
例えば図19に示したように、加速度センサー10と、出力部20と、記憶部30と、通信部40と、操作部50と、状態検出装置60を含む電子機器が考えられる。なお、電子機器は図19の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。また、図19では状態検出装置は加速度センサー10と出力部20を含まない(図1からこれらを除いた各部から構成される)ものとしたが、これに限定されるものではない。
記憶部30は、各部のワーク領域となるもので、その機能はRAM等のメモリーやHDD(ハードディスクドライブ)などにより実現できる。通信部40は、外部機器等との通信を行うものであり、無線により実現されてもよいし有線により実現されてもよい。操作部50は、ユーザーが電子機器の各種操作を行うためのものであり、各種ボタンやGUI等により実現できる。
電子機器は、腕時計型のデバイスであってもよいし、スマートフォン等のデバイスであってもよい。また、図19に示された各部が一体として形成される必要はなく、例えば、加速度センサー10を別体としてもよい。そのようにすれば、出力部20(狭義には表示部)を有する部分はユーザーからの視認が容易な箇所に設けることができ、且つ加速度センサー10は装着の利便性或いは取得信号の正確性等を考慮して装着することが可能になる。
また、以上の本実施形態はプログラムにも適用できる。
例えば、加速度センサー10からの検出加速度の水平方向成分を求める水平方向成分抽出部100と、検出加速度の水平方向成分に対して、DC成分を除去するフィルター処理を行うフィルター処理部200と、フィルター処理後の水平方向成分の積算処理を行って進行方向を算出する進行方向算出部400としてコンピューターを機能させるプログラムであってもよい。
また、加速度センサー10からの検出加速度に基づいて、歩行又は走行の進行方向を算出する進行方向算出部400と、歩行又は走行のステップを検出するステップ検出部300としてコンピューターを機能させるプログラムであってもよい。そして、進行方向算出部400は、第1のステップに対応する進行方向情報と、第1のステップとは異なる第2のステップに対応する進行方向情報との平均化処理を行って、第1のステップでの進行方向を算出する。
また、加速度センサー10からの検出加速度の水平方向成分を求める水平方向成分抽出部100と、水平方向成分に基づいて進行方向を算出する進行方向算出部400としてコンピューターを機能させるプログラムであってもよい。そして、進行方向算出部400は、水平方向成分に基づいて求められた進行方向情報に対して、DC成分の抽出処理を行って進行方向を算出する。
そして、上記プログラムは、情報記憶媒体に記録される。ここで、情報記録媒体としては、DVDやCD等の光ディスク、光磁気ディスク、ハードディスク(HDD)、不揮発性メモリーやRAM等のメモリーなど、システムによって読み取り可能な種々の記録媒体を想定できる。
例えば、図20に示したように、加速度センサー10と、出力部20と、記憶部30と、通信部40と、操作部50と、処理部70と、情報記憶媒体80を含むシステムにおいて、上記プログラムは情報記憶媒体80に記憶される。そして、情報記憶媒体80に記憶されたプログラムは処理部70(例えばCPU等)に読み出され、当該プログラムにより指示される処理が行われる。図20のシステムとしては例えばスマートフォン等が考えられる。本実施形態にかかるプログラムは、スマートフォンの情報記憶媒体に記憶され、当該スマートフォンのCPU等により実行されることになる。
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また状態検出装置、電子機器の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。