説明

体動検出装置、体動検出方法および体動検出プログラム

【課題】装置本体の装着位置や装着方向の影響を受けることなく、ユーザーの体動の方向(運動方向)に応じて、正確にユーザーの体動を検出できるようにする。
【解決手段】制御部110により、3軸の加速度センサ101からの検出出力である加速度ベクトルを演算処理し、重力加速度ベクトルを算出する。算出した重力加速度ベクトルと、加速度ベクトルとを考慮した所定の演算処理により、加速度ベクトルに含まれる鉛直成分を抽出する。この鉛直成分を解析することにより、ユーザーの鉛直方向の体動を正確に検出する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えば、歩数計などのユーザー(使用者)の体動を検出して計測できるようにするいわゆる体動検出装置に関する。
【背景技術】
【0002】
従来の歩数計では、本体の装着位置や装着方向に制約があるものが多かったが、近年装着位置や装着方向を自由に設定できる体動検出装置が提案される。その中でも、多軸の加速度センサを用いて姿勢推定を行いつつ、同じセンサを用いて体動検出を行う方法および装置が提案されている。これは、姿勢の推定に角度センサ等を用いる方法と比較して、安価に実現できるという利点がある。
【0003】
例えば、後に記す特許文献1には、互いに検出方向が異なる複数の体動センサにより加速度を検出し、各センサの信号パターンを解析することによって作用軸を判定/選択し、作用軸の信号解析によって歩行検出を行う方法が開示されている。また、後に記す特許文献2には、互いに直交する2軸もしくは3軸の加速度センサを搭載し、各軸のセンサ信号の合成ベクトルから体動の運動方向を推定し、推定した運動方向の信号成分を解析することによって体動を検出する方法が開示されている。
【0004】
なお、上述した特許文献1、特許文献2は以下に示す通りである。
【特許文献1】特開2004−141669号公報
【特許文献2】特開2005−140533号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示された方法では、複数のセンサから測定に適したセンサを作用軸として一つだけ選択するため、検出するユーザーの体動の方向(運動方向)と選定した作用軸とが一致しないケースも多く、装置本体の装着方向に依存しない信号検出方法としては十分ではないと考えられる。
【0006】
また、特許文献2に開示された方法では、たとえば吊り紐で装置をぶら下げたような場合に、各軸のセンサ信号から算出された合成ベクトルに振り子運動などユーザーの運動方向とは関係のないノイズ成分が混入し、方向の推定が正しく出来なくなる。したがって、この特許文献2に開示された方法も装置本体の装着方向に依存しない信号検出手段として十分ではないと考えられる。
【0007】
以上のことにかんがみ、この発明は、装置本体の装着位置や装着方向の影響を受けることなく、ユーザーの体動の方向(運動方向)に応じて、正確にユーザーの体動を検出できるようにすることを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、請求項1に記載の発明の体動検出装置は、
多軸の加速度センサと、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出手段と、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出手段により算出された前記重力加速度ベクトルとを用いて加速度の鉛直成分を抽出する鉛直成分抽出手段と、
前記鉛直成分抽出手段によって抽出された加速度の前記鉛直成分を解析することにより、鉛直方向の体動を検出する鉛直体動検出手段と
を備えることを特徴とする。
【0009】
この請求項1に記載の発明の体動検出装置によれば、重力加速度算出手段により、多軸の加速度センサからの検出出力である加速度ベクトルが演算処理されることにより、重力加速度ベクトルが算出される。算出された重力加速度ベクトルは、鉛直成分抽出手段に供給され、ここで加速度ベクトルをも考慮した所定の演算処理により、加速度ベクトルに含まれる鉛直成分が抽出される。この鉛直成分が鉛直体動検出手段により解析され、ユーザーの鉛直方向の体動を正確に検出することができるようにされる。
【0010】
このように、加速度センサからの検出出力である加速度ベクトルから、重力加速度ベクトルを求め、この重力加速度ベクトルと加速度ベクトルとを総合的に用いて加速度ベクトルの鉛直成分を求めるようにしているので、当該体動検出装置の装着位置や装着方向の影響を受けることなく、ユーザーの鉛直方向の体動を正確に検出することができるようにされる。
【0011】
また、請求項3に記載の発明の体動検出装置は、
多軸の加速度センサと、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出手段と、
前記加速度センサからの加速度ベクトルと前記重力加速度算出手段により算出された前記重力加速度ベクトルの3次元空間における偏角に応じた演算式に基づいて加速度の水平成分を抽出する水平成分抽出手段と、
前記水平成分抽出手段によって抽出された加速度の前記水平成分を解析することにより、水平方向の体動を検出する水平体動検出手段と
を備えることを特徴とする。
【0012】
この請求項3に記載の発明の体動検出装置によれば、重力加速度算出手段により、多軸の加速度センサからの検出出力である加速度ベクトルが演算処理されることにより、重力加速度ベクトルが算出される。算出された重力加速度ベクトルは、水平成分抽出手段に供給され、加速度ベクトルと、重力加速度ベクトルの3次元空間における偏角を考慮した所定の演算式に基づいて、加速度ベクトルの水平成分が分離され抽出される。この水平成分が水平体動検出手段により解析され、ユーザーの水平方向の体動を正確に検出することができるようにされる。
【0013】
このように、加速度センサからの検出出力である加速度ベクトルから、重力加速度ベクトルを求め、加速度ベクトルと重力加速度ベクトルとを総合的に用いて、加速度ベクトルの水平成分を求めるようにしているので、当該体動検出装置の装着位置や装着方向の影響を受けることなく、ユーザーの水平方向の体動を正確に検出することができるようにされる。
【発明の効果】
【0014】
ユーザーに対する装置の装着位置や装着方向の影響を受けて、ユーザーの体動の検出精度に違いが発生することを防止し、安定した体動検出を実現することができる。また、角度センサなど付加的なセンサを必要とせずに安価にて実現することができる。
【発明を実施するための最良の形態】
【0015】
以下、図を参照しながら、この発明による装置、方法、プログラムの一実施の形態について説明する。
【0016】
[この発明の基本的な考え方について]
まず、この発明による装置、方法、プログラムの一実施の形態の具体的な説明に先立って、当該一実施の形態の説明を容易にするため、この発明の基本的な考え方について説明する。この発明の基本的な考え方を簡単に示すと、「(1)互いに直交する軸により構成された多軸の加速度センサを用い、当該多軸の加速度センサからの検出出力を用いて、その重力場における重力加速度ベクトルを推定し、(2)この重力加速度ベクトルの推定結果に基づいて、同じ加速度センサの検出出力から鉛直方向の信号成分を抽出する。」というものである。
【0017】
このように、多軸の加速度センサからの全ての軸についての検出出力を総合的に用いて、鉛直成分を抽出することによって、作用軸を推定する必要がなく、ユーザーに対する加速度センサの装着位置や装着方向に左右されること無く、ユーザーの少なくとも鉛直方向の運動を正確に検出することができるようにするものである。
【0018】
ここで、3軸の加速度センサを用いる場合について具体的に説明する。加速度センサをX軸、Y軸、Z軸の3軸とし、当該加速度センサから得られるある時点nの加速度ベクトルanを図6の(1−1)式に示すように、axn(X軸成分)、ayn(Y軸成分)、azn(Z軸成分)で表すものとする。この図6の(1−1)式に示した加速度ベクトル(加速度ベクトルのデータ系列)anから重力加速度ベクトルgの推定を行うと共に、体動検出をも行うようにする。
【0019】
具体的には、重力加速度ベクトルgの推定は、より簡便には加速度ベクトルanの各軸の移動平均値を算出し、その平均ベクトルを重力加速度ベクトルgとする方法がある。この場合、体動による信号成分の影響を少なくするために、十分長い区間で移動平均の計算を行うことが望ましい。また、加速度ベクトルanの各軸の値を、最小二乗法などを用いて解析し、重力加速度ベクトルgの算出を行うようにする方法を用いるようにしてもよい。
【0020】
加速度ベクトルanを用いて重力加速度ベクトルgを推定した結果を、図6の(1−2)式に示すように、gx(X軸成分)、gy(Y軸成分)、gz(Z軸成分)で表すものとする。この場合、加速度ベクトルanの鉛直成分vnは、図6の(1−3)式に示す演算により求めることができる。すなわち、加速度ベクトルanの鉛直成分vnは、図6の(1−3)式に示したように、重力加速度ベクトルgの内積と加速度ベクトルanの積を重力加速度ベクトルgの絶対値(大きさ)で割り算することにより求めることができる。
【0021】
このように、3軸の加速度センサにより検出される加速度ベクトルanと当該加速度ベクトルから求められる重力加速度gとから、鉛直成分vnを演算により正確に求めることができる。すなわち、3軸の加速度センサからの検出出力を総合的に用い、その中から鉛直成分のみを数値計算により分離することにより、ユーザーの鉛直方向の体動を正確に検出できるという着想に基づいてこの発明はなされている。
【0022】
また、重力加速度ベクトルgの3次元空間における偏角を求めたうえで、加速度ベクトルanを回転させることによっても同様の計算ができる。すなわち、重力加速度ベクトルgについての偏角θ、φを、図7の(2−1)、(2−2)に示すときに、図7の(2−3)式により計算されるa´xnは、加速度ベクトルanの鉛直成分であり、a´xnは、鉛直成分vnと一致する。また、ベクトルa´ynとベクトルa´znの内積は、重力加速度ベクトルgを法線ベクトルとする平面への加速度ベクトルanの正射影である。
【0023】
つまり、3軸の加速度センサからの検出出力により得られる加速度ベクトルanを鉛直成分と水平成分に成分分解できるため、鉛直成分のみならず、水平成分を解析することによって水平方向の体動をも検出することができる。具体的には、水平ベクトルの長さhnは、図8の(3−1)式や図8の(3−2)式によって求めることができる。
【0024】
このように、重力加速度ベクトルの偏角を考慮した演算式を用いる場合には、ユーザーの鉛直方向の体動と水平方向の体動とを、比較的に簡単に、しかも正確に求めることができる。
【0025】
なお、ここでは3軸の加速度センサを用いる場合を例にして説明したが、これに限るものではない。この発明の基本的なコンセプトは、2軸の加速度センサを用いる場合にも3軸の加速度センサを用いる場合と同様にして適用可能である。
【0026】
すなわち、2軸の加速度センサにより検出する加速度ベクトルanと重力加速度ベクトルgとを、図9の(4−1)式(加速度ベクトル)、図9の(4−2)式(重力加速度ベクトル)のように表すものとすると、3軸の加速度センサを用いる場合と同様に、図6の(1−3)式にしたがって鉛直成分を計算することができる。
【0027】
また、重力加速度ベクトルgの偏角θを、図9の(4−3)式に示すように表すものとすると、図9の(4−4)式にしたがって、加速度ベクトルanについて、その鉛直成分a´xnとこれに直交する水平成分a´ynに成分分解でき、a´xnと鉛直成分vnとは一致する。
【0028】
このように、図9に示した各式、および、図6に示した(1−3)式により、2軸の加速度センサを用いた場合であっても、ユーザーの鉛直方向の体動を正確に検出することができるし、また、重力加速度ベクトルgの偏角θを考慮するようにした場合には、ユーザーの水平方向の体動をも正確に検出することが可能となる。
【0029】
図10は、ユーザーに装着するようにした3軸の加速度センサにより、当該ユーザーが歩行など運動を行っている場合に、サンプリング周波数50Hzで4秒間、加速度データを取得した場合における、この取得した加速度データと、これを上述したこの発明の基本的なコンセプトにしたがって成分分解した場合に得られるデータとをグラフ化して示したものである。
【0030】
すなわち、図10Aは、3軸の加速度センサからの加速度データのグラフであり、図10Bは、3軸の加速度データから計算した加速度ベクトルの長さ(大きさ)のグラフであり、図10Cは、図6〜図8を用いて説明した方法によって、3軸の加速度データから計算して得られた鉛直成分のグラフである。また、図10Dは、図6〜図8を用いて説明した方法によって、3軸の加速度データから計算して得られた水平成分のグラフである。
【0031】
そして、この図10に示したグラフは、加速度データの検出時において、ユーザーは主に鉛直方向の運動を行っていたが、約80サンプル目、約100サンプル目および170サンプル目に水平方向の運動が発生し、これがノイズ成分として存在している場合を示している。
【0032】
しかし、ノイズ成分は水平成分に存在するものであるために、この発明の基本的なコンセプトにしたがって、加速度データ(加速度ベクトル)を鉛直成分(図10C)と水平成分(図10D)とに成分分解すれば、鉛直成分からは水平成分のノイズを除去することができるので、ユーザーの鉛直方向の体動を正確に検出できることが分かる。もちろん、水平成分からは鉛直成分のノイズを除去することができるので、ユーザーの水平方向の体動を正確に検出できる。すなわち、成分分解することにより、ノイズの低減効果がある。
【0033】
[発明の具体的な適用例について]
上述したこの発明の基本的な考え方を適用して実現する、この発明による装置、方法、プログラムの一実施の形態について、以下に具体的に説明する。
【0034】
[歩数計への適用]
まず、この発明の装置、方法、プログラムの一実施の形態を歩数計に適用した場合を例にして説明する。図1は、この実施の形態の歩数計100を説明するためのブロック図である。図1に示すように、この実施の形態の歩数計100は、制御部110に対して、3軸の加速度センサ101がA/D変換部102を介して接続されると共に、表示部103、操作部104が接続されて形成されたものである。
【0035】
3軸の加速度センサ101は、1軸の加速度センサを互いに直交するX軸、Y軸、Z軸の3軸に配置して形成されたもの、あるいは、直交する3軸の加速度センサがひとつのパッケージに封入されて形成されたもののいずれを用いてもよい。3軸の加速度センサ110からのX軸、Y軸、Z軸のそれぞれの検出出力(アナログ出力)は、A/D変換部102に供給され、ここで制御部110において処理可能な形式のデジタルデータに変換されて制御部110に供給される。
【0036】
制御部110は、この実施の形態の歩数計100の各部を制御するものであり、図1に示すように、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、RAM(Random Access Memory)113、不揮発性メモリ114が、CPUバス115を通じて接続されてマイクロコンピュータの構成とされたものである。
【0037】
ここで、CPU111は、各種のプログラムを実行し、各部に供給する制御信号を形成したり、各種の演算を行ったりするなど、制御部110における処理や制御の主体となるものである。ROM112は、CPU111が実行する各種のプログラムや処理に必要になるデータを記憶保持する。
【0038】
また、RAM113は、処理の途中結果を一時記憶するなど、主に作業領域として用いられるものである。不揮発性メモリ114は、例えば、EEPROM(Electrically Erasable and Programmable ROM)やフラッシュメモリなどの電源が落とされても記憶データが消滅することのないメモリであり、電源が落とされても保持しておくべきデータ、例えば設定されたパラメータや追加されたプログラムなどを記憶保持する。
【0039】
また、制御部110に接続された表示部103は、表示制御回路を含み、例えば、LCD(Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ、CRT(Cathode-Ray Tube)等の表示素子を備え、制御部110の制御に応じて歩数のカウント値や種々のガイダンス情報等を表示する。具体的には、表示部103は、制御部110から表示データの供給を受けて、この表示データから表示素子に供給する映像信号を形成し、これを表示素子に供給することによって、制御部110からの表示データに応じた表示情報を表示素子の表示画面に表示する。
【0040】
また、操作部104は、リセットキーや各種のファンクションキーなどを備え、ユーザーからの操作入力を受け付けて、これに応じた電気信号を制御部110に供給することができるものである。これに応じて、制御部110は各部を制御し、ユーザーの指示に応じた処理を行うことができるようにしている。
【0041】
そして、この実施の形態の歩数計100において、制御部110が、3軸の加速度センサ101からの検出出力(加速度ベクトルのデータ)の供給を受けて、この検出出力から所定の計算式に基づいて重力加速度ベクトルを算出する。そして、制御部110は、算出した重力加速度ベクトルと、3軸の加速度センサ101からの加速度ベクトルとを考慮した所定の計算式に基づいて、加速度ベクトルの鉛直成分を抽出する。
【0042】
そして、制御部110は、抽出した加速度ベクトルの鉛直成分を解析することによって、ユーザーの鉛直方向の体動、すなわち歩行に応じた体動を検出し、これをカウントすることによりユーザーの歩数を正確に計測することができるようにしている。すなわち、制御部110は、重力加速度算出手段としての機能と、鉛直成分抽出手段としての機能と、鉛直方向の体動を検出する鉛直体動検出手段としての機能と、検出した鉛直方向の体動をカウントするカウント手段としての機能とを実現するものである。
【0043】
図2は、図1に示したこの実施の形態の歩数計100の主に制御部110において実行される歩数カウントを行う処理を説明するためのフローチャートである。この実施の形態の歩数計100に電源が投入され、操作部104を通じて歩数の計測を実行するようにする指示入力を受け付けると、制御部110のCPU111は、図2に示す処理を実行する。
【0044】
まず、制御部110は、A/D変換部102を通じて供給される加速度データ(加速度ベクトル)の取得を開始し(ステップS101)、重力加速度ベクトルgの初期値を算出する(ステップS102)。そして、サンプルカウンタcをリセット(ゼロクリア)する(ステップS103)。このステップS101〜ステップS103までの処理が電源投入後のいわゆる初期処理に相当する。
【0045】
そして、制御部110は、サンプルカウンタcの値は、予め決められた値Nより大きいか否かを判断する(ステップS104)。この実施の形態においては、演算量を削減するために、重力加速度ベクトルgの再計算は、N(Nは、1以上の整数)サンプルおきに行うようにしている。
【0046】
ステップS104の判断処理において、サンプルカウンタcが規定値Nよりも大きいと判断したときには、制御部110は、重力加速度ベクトルgの再計算処理を行って(ステップS105)、この後、サンプルカウンタcに値0をセットする(ステップS106)。すなわち、ステップS106の処理は、サンプルカウンタcのリセット処理である。
【0047】
そして、制御部110は、ステップS104において、サンプルカウンタcの値は、値Nより大きくないと判断した場合には、ステップS102において算出した重力加速度ベクトルgの初期値と最新の加速度ベクトルanとを用いて、加速度ベクトルの鉛直成分vnを抽出する(ステップS107)。
【0048】
すなわち、この実施の形態において、ステップS105の重力加速度ベクトルgの再計算処理と、ステップS102の重力加速度ベクトルの初期値の算出処理は、基本的に同じ処理であり、加速度ベクトルの各軸のデータの移動平均を取ることによって、重力加速度の推定値として、重力加速度ベクトルgを算出する。
【0049】
ステップS103、ステップS105で行われる処理を具体的に説明すると、現在のサンプル位置をn1として、過去Mサンプル分の加速度データから重力加速度を求める場合には、図3に示す計算により求めることができる。すなわち、X軸の重力加速度ベクトルgxを求める場合には、図3(1)式に示したように、現在のサンプル位置よりもM+1サンプル前からn1までの各サンプルにおけるX軸の加速度データaxnを加算して合計値を求め、この合計値を値Mで割り算することにより、X軸の重力加速度ベクトルgxが求められる。
【0050】
同様に、Y軸の重力加速度ベクトルgyを求める場合には、図3(2)式に示したように、現在のサンプル位置よりもM+1サンプル前からn1までの各サンプルにおけるY軸の加速度データaynを加算して合計値を求め、この合計値を値Mで割り算することにより、Y軸の重力加速度ベクトルgyが求められる。また、Z軸の重力加速度ベクトルgzを求める場合には、図3(3)式に示したように、現在のサンプル位置よりもM+1サンプル前からn1までの各サンプルにおけるZ軸の加速度データaznを加算して合計値を求め、この合計値を値Mで割り算することにより、Z軸の重力加速度ベクトルgzが求められる。
【0051】
そして、図3に示した計算式にしたがって重力加速度ベクトルを算出する場合には、動きによる加速度成分が平均化されてキャンセルされるように十分長い区間で平均を取るようにすることが望ましい。しかし、あまり長すぎると装置の傾きに追従しなくなりため(装置の傾きを正しく反映させることができなくなるために)、例えば、数秒間程度に設定するのが適当である。
【0052】
そして、ステップS107の鉛直成分の抽出処理においては、図6に示した(1−3)式により、あるいは、図7に示した(2−3)式により、最新の加速度ベクトルanと重力加速度ベクトルgとに基づいて、鉛直成分vnを求める(抽出する)ことができる。このようにして求めた鉛直成分vnには、ユーザーの歩行運動に伴う上下動に対応したピークが現れる。
【0053】
したがって、制御部110は、ステップS107において抽出した鉛直成分について、適宜閾値判定することによってユーザーの鉛直方向の体動を検出することができ、これをカウントすることによって、ユーザーの歩行に対応する歩数を正確にカウントすることができる(ステップS108)。
【0054】
そして、制御部110は、3軸の加速度センサ101からの最新の加速度ベクトルを取得し(ステップS109)、サンプルカウンタcに1加算して(ステップS110)、ステップS104からの処理を繰り返すようにする。
【0055】
このようにして、この実施の形態の歩数計100は、3軸の加速度センサ101からの加速度ベクトルanの提供を受けて、重力加速度ベクトルgを算出し、この重力加速度ベクトルgと、加速度ベクトルanとを用いて数値計算により、加速度ベクトルanの鉛直成分vnを抽出することができる。
【0056】
ユーザーの身体にこの実施の形態の歩数計100を装着した状態での歩行時の計測データから鉛直成分を抽出したものは、歩行にともなう上下動に対応したピークが現れるので、上述もしたように、これを適宜閾値判定することによって歩行をカウントできる。すなわち、歩数計100をユーザーの身体に装着する場合において、作用軸を想定した通りに設定できるように、歩数計の装着位置や装着方向などに左右されることなく、ユーザーの身体の適宜の位置に装着して、ユーザーの歩数を正確に計測可能な歩数計を実現することができる。
【0057】
なお、図2に示したように、この実施の形態の歩数計100においては、重力加速度の推定は、演算量削減のためにNサンプルおきに行うようにしたが、これに限るものではない。重力加速度の推定についても毎サンプルごとに行ってもよい。重力加速度の推定のための演算処理は、各軸のデータの移動平均をとるものに限るものではない。例えば、最小二乗法などを用いてもよい。
【0058】
なお、図2に示したフローチャートの処理は、この発明の方法に対応するものである。そして、上述の説明においては、重力加速度算出手段としての機能と、鉛直成分抽出手段としての機能と、鉛直方向の体動を検出する鉛直体動検出手段としての機能と、検出した鉛直方向の体動をカウントするカウント手段としての機能を制御部110が実現するものとして説明した。
【0059】
すなわち、図2に示したフローチャートの各ステップの処理を実行するプログラム(ソフトウェア)を作成し、これを制御部110のROM112に格納しておくことにより、上述した歩数計100を実現することができる。もちろん、重力加速度算出手段としての機能と、鉛直成分抽出手段としての機能と、鉛直方向の体動を検出する鉛直体動検出手段としての機能と、検出した鉛直方向の体動をカウントするカウント手段としての機能とのそれぞれは異なる回路によって構成するようにすることも可能である。
【0060】
[ユーザーインターフェース装置への適用]
次に、この発明の装置、方法、プログラムの一実施の形態をユーザーインターフェース装置に適用した場合を例にして説明する。この実施の形態のユーザーインターフェース装置200は、ユーザーの水平方向の体動を検出し、これをユーザーからの入力情報として用いて装置の動作を制御することができるものである。
【0061】
図4は、この実施の形態のユーザーインターフェース装置200を説明するためのブロック図である。図4に示すように、この実施の形態のインターフェース装置200は、出力部201が設けられている点を除けば、図1に示した歩数計100と同様に構成されるものである。このため、図4に示したユーザーインターフェース装置200において、図1に示した歩数計100と同様に構成される部分には同じ参照符号を付し、その部分の詳細な説明については省略する。
【0062】
そして、図1を用いて説明した歩数計100が、加速度センサ101からの加速度ベクトルanの鉛直成分vnを抽出/処理したのにたいし、この実施の形態のユーザーインターフェース装置200は、加速度センサ101からの加速度ベクトルanの水平成分hnを抽出/処理する点で異なっている。
【0063】
この実施の形態のユーザーインターフェース装置200は、ユーザーの水平方向の体動を検出した場合に、これを通知する信号を出力部201が出力し、外部機器に供給することによって、当該外部機器を制御することができるものである。この場合、出力部201としては、赤外線発光部からなる赤外線のリモコン信号の送出部や無線電波信号の送信部、あるいは、有線により接続された外部機器に対して電気信号を送出する出力端などとして実現される部分である。
【0064】
そして、この実施の形態のユーザーインターフェース装置200は、ユーザーが手に持って使用するようにされ、ユーザーが当該ユーザーインターフェース装置200を水平に振ったことを検出した場合に、例えば、電源のオン/オフ信号を生成して、出力部201を通じて外部機器に対して送出し、外部機器を遠隔制御することができるものである。
【0065】
なお、電源のオン/オフ以外の操作については、操作部104を通じて受け付けたユーザーからの操作入力に応じた信号を制御部110において生成し、これを出力部201を通じて相手先に送出することによって種々の遠隔制御を行うことができる。そして、上述したように、電源のオン/オフについては、当該ユーザーインターフェース装置を水平方向に振るだけで行うことができるし、また、鉛直方向に振っても電源のオン/オフは行なわれないので、誤操作も防止することができる。
【0066】
そして、当該ユーザーインターフェース装置200においても、制御部110が、3軸の加速度センサ101からの検出出力(加速度ベクトルのデータ)の供給を受けて、この検出出力から所定の計算式に基づいて重力加速度ベクトルを算出する。そして、制御部110は、算出した重力加速度ベクトルと、3軸の加速度センサ101からの加速度ベクトルとを考慮した所定の計算式に基づいて、加速度ベクトルの水平成分を抽出する。
【0067】
そして、制御部110は、抽出した加速度ベクトルの水平成分を解析することによって、ユーザーの水平方向の体動、すなわち、当該ユーザーインターフェース装置200がユーザーによって水平方向に振られたか否かを検出し、水平方向に振られたことを検出した場合には、電源のオン/オフ制御信号を形成して出力部201から送出することができるようにしている。
【0068】
すなわち、このユーザーインターフェース装置200において、制御部110は、重力加速度算出手段としての機能と、水平成分抽出手段としての機能と、水平方向の体動を検出する水平体動検出手段としての機能と、検出した水平方向の体動に応じて制御信号を形成する制御手段としての機能とを実現するものである。
【0069】
図5は、図4に示したこの実施の形態のユーザーインターフェース装置200の主に制御部110において実行される処理を説明するためのフローチャートである。この実施の形態のユーザーインターフェース装置200に電源が投入されると、制御部110のCPU111は、図5に示す処理を実行する。
【0070】
まず、制御部110は、A/D変換部102を通じて供給される加速度データ(加速度ベクトル)の取得を開始し(ステップS201)、重力加速度ベクトルgの初期値を算出する(ステップS202)。そして、サンプルカウンタcをリセット(ゼロクリア)する(ステップS203)。このステップS201〜ステップS203までの処理が電源投入後のいわゆる初期処理に相当する。
【0071】
そして、制御部110は、サンプルカウンタcの値は、予め決められた値Nより大きいか否かを判断する(ステップS204)。このユーザーインターフェース装置200においても、図2を用いて説明した歩数計100の処理と同様に、演算量を削減するために、重力加速度ベクトルgの再計算は、N(Nは、1以上の整数)サンプルおきに行うようにしている。
【0072】
ステップS204の判断処理において、サンプルカウンタcが規定値Nよりも大きいと判断したときには、制御部110は、重力加速度ベクトルgの再計算処理を行って(ステップS205)、この後、サンプルカウンタcに値0をセットする(ステップS206)。すなわち、ステップS206の処理は、サンプルカウンタcのリセット処理である。
【0073】
そして、制御部110は、ステップS204において、サンプルカウンタcの値は、値Nより大きくないと判断した場合には、ステップS202において算出した重力加速度ベクトルgの初期値と最新の加速度ベクトルanとを用いて、加速度ベクトルの水平成分hnを抽出する(ステップS207)。
【0074】
すなわち、図5に示す処理においても、ステップS205の重力加速度ベクトルgの再計算処理と、ステップS202の重力加速度ベクトルの初期値の算出処理は、基本的に同じ処理であり、加速度ベクトルの各軸のデータの移動平均を取ることによって、重力加速度の推定値として、重力加速度ベクトルgを算出する。ステップS203、ステップS205で行われる具体的な処理内容は、図3を用いて説明した通りである。
【0075】
そして、ステップS207の水平成分の抽出処理においては、図7に示した(2−3)式および図8に示した(3−1)式により、あるいは、図8の(3−2)式により、最新の加速度ベクトルanと重力加速度ベクトルgとに基づいて、水平成分hnを求める(抽出する)ことができる。このようにして求めた水平成分vnには、ユーザーが当該ユーザーインターフェース装置を水平に振るようにした場合の動きに対応したピークが現れる。
【0076】
したがって、制御部110は、ステップS207において抽出した水平成分について、適宜閾値判定することによってユーザーの水平方向の体動を検出するようにし、検出できた場合には、これに応じて制御信号を形成して、これを出力する(ステップS208)。そして、制御部110は、3軸の加速度センサ101からの最新の加速度ベクトルを取得し(ステップS209)、サンプルカウンタcに1加算して(ステップS210)、ステップS204からの処理を繰り返すようにする。
【0077】
このようにして、この実施の形態のユーザーインターフェース装置200は、3軸の加速度センサ101からの加速度ベクトルanの提供を受けて、重力加速度ベクトルgを算出し、この重力加速度ベクトルgと、加速度ベクトルanとを用いて数値計算により、加速度ベクトルanの水平成分hnを抽出することができる。
【0078】
そして、この実施の形態のユーザーインターフェース装置200の場合にも、上述した歩数計100の場合と同様に、ユーザーインターフェース装置200の持つ向きや持ち方などに左右されることなく、ユーザーがユーザーインターフェース装置を持って水平方向に振る動作を正確に検出して、これを利用することができる。
【0079】
なお、図5に示したように、この実施の形態のユーザーインターフェース装置200においては、重力加速度の推定は、演算量削減のためにNサンプルおきに行うようにしたが、これに限るものではない。重力加速度の推定についても毎サンプルごとに行ってもよい。重力加速度の推定のための演算処理は、各軸のデータの移動平均をとるものに限るものではない。例えば、最小二乗法などを用いてもよい。
【0080】
なお、図4に示したフローチャートの処理は、この発明の方法に対応するものである。そして、上述の説明においては、重力加速度算出手段としての機能と、水平成分抽出手段としての機能と、水平方向の体動を検出する水平体動検出手段としての機能と、検出した水平方向の体動に応じて制御信号を形成する制御手段としての機能を制御部110が実現するものとして説明した。
【0081】
すなわち、図2に示したフローチャートの各ステップの処理を実行するプログラム(ソフトウェア)を作成し、これを制御部110のROM112に格納しておくことにより、上述したユーザーインターフェース装置200を実現することができる。もちろん、重力加速度算出手段としての機能と、水平成分抽出手段としての機能と、水平方向の体動を検出する水平体動検出手段としての機能と、検出した水平方向の体動に応じて制御信号を形成する制御手段としての機能とのそれぞれを異なる回路によって構成するようにすることも可能である。
【0082】
また、ここではユーザーインターフェース装置200は、ユーザーによって水平方向に振られた場合に、例えば電源のオン/オフ制御信号を形成して外部機器に対して送出するものとして説明した。ここで、外部機器としては、テレビ受像機、ラジオ受信機、VTR(Video Tape Recorder)やDVDプレーヤやCDプレーヤなどの再生装置や記録再生装置、その他の種々の電子機器が想定できる。
【0083】
また、携帯型の音楽再生装置、携帯電話端末、携帯情報端末など種々の携帯電子機器が用いられているが、このような機器に上述したユーザーインターフェース装置200を搭載し、水平方向に振られた場合、電源がオフの状態にあればオンにし、オンの状態にあればオフにするなど、水平方向の体動を検出した場合に制御を実行するなどのこともできる。
【0084】
なお、この場合、電源がオンの状態にあるときにオフにする場合には、処理の実行中か否かを判断し、処理の実行中でない場合においてのみ、電源をオフにし、何らかの処理が実行されている場合には、警告音を放音するなどして、電源をオフにした場合に不都合が生じる可能性がある場合には、電源をオフにしないように制御するなどのことももちろん可能である。
【0085】
また、上述した実施の形態においては、歩数計100において鉛直方向の体動検出を行い、ユーザーインターフェース装置200において水平方向の体動検出を行うようにしたが、これに限るものではない。1つの機器において、鉛直方向の体動検出と水平方向の体動検出とを行うようにすることもできる。
【0086】
例えば、歩数計100において、水平方向の体動検出をも行うようにすれば、歩数計100を水平方向に振ることによって、電源のオン/オフを行い、電源がオンにされた後においては、鉛直方向の体動を検出してこれをカウントすることにより、正確に歩数を計測する歩数計として機能するようにすることもできる。
【0087】
また、ユーザーインターフェース装置200において、鉛直方向の体動検出をも行うようにし、鉛直方向の体動を検出した場合と、水平方向の体動を検出した場合とで、異なる制御を行うようにすることもできる。
【0088】
また、この発明を、例えば携帯型のハードディスクプレーヤ、MD(ミニディスク(登録商標))プレーヤ、音楽再生機能付きの携帯情報端末や携帯電話端末などの種々の携帯型の音楽再生機に適用し、ユーザーの鉛直方向の体動を正確に検出すると共に、その鉛直方向の体動の周期からユーザーの鉛直方向の体動のテンポを把握し、このユーザーの体動のテンポに一致するように、音楽の再生テンポを制御するようにすることもできる。もちろん、鉛直方向の体動だけでなく、水平方向の体動に応じて制御することも可能である。
【0089】
なお、ここで、音楽の再生テンポは、音楽データの再生時の速さであり、1分間あたりの拍の数(BPM:Beat Per Minutes)を意味する。また、ユーザーの体動テンポは、具体的には、動作(体動)の速度であって、例えば、使用者の動作(体動)がウォーキングやランニングなどの場合には、1分間あたりの歩数であり、また、動作がジャンプの場合には、1分間当たりのジャンプの回数であるというように、1分間当たりの使用者の計数可能な最小の動作の単位(1つの動作(体動))の数を意味する。
【0090】
このように、この発明は、単にユーザーの体動を正確に検出するだけでなく、検出した体動に基づいて、体動のテンポをも把握し、これに応じて音楽(楽曲)等のコンテンツの再生制御などを行うようにすることができる。もちろん、音楽などの再生制御に限らず、ユーザーの体動に合わせて制御すべき種々の機器の動作を制御する場合にも利用可能である。
【図面の簡単な説明】
【0091】
【図1】この発明の一実施の形態が適用された歩数計を説明するためのブロック図である。
【図2】図1に示した歩数計において実行される処理を説明するためのフローチャートである。
【図3】図1に示した歩数計においての重力加速度ベクトルの算出式を説明するための図である。
【図4】この発明の一実施の形態が適用されたユーザーインターフェース装置を説明するためのブロック図である。
【図5】図4に示したユーザーインターフェース装置において実行される処理を説明するためのフローチャートである。
【図6】3軸の加速度センサを用いた場合における、加速度ベクトルan、重力加速度ベクトルg、加速度ベクトルanの鉛直成分vnについて説明するための図である。
【図7】3軸の加速度センサを用いた場合における、重力加速度ベクトルgの偏角を考慮して加速度ベクトルanの鉛直成分vnを求める場合を説明するための図である。
【図8】3軸の加速度センサを用いた場合における、加速度ベクトルanの水平成分hnを求める場合を説明するための図である。
【図9】2軸の加速度センサを用いた場合における、加速度ベクトルan、重力加速度ベクトルg、加速度ベクトルanの鉛直成分vnについて説明するための図である。
【図10】加速度データ、加速度ベクトルの長さ、鉛直成分、水平成分のグラフの一例を説明するための図である。
【符号の説明】
【0092】
100…歩数計、101…3軸の加速度センサ、102…A/D変換部、103…表示部、104…操作部、110…制御部、111…CPU、112…ROM、113…RAM、114…不揮発性メモリ、200…ユーザーインターフェース装置、201…出力部

【特許請求の範囲】
【請求項1】
多軸の加速度センサと、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出手段と、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出手段により算出された前記重力加速度ベクトルとを用いて加速度の鉛直成分を抽出する鉛直成分抽出手段と、
前記鉛直成分抽出手段によって抽出された加速度の前記鉛直成分を解析することにより、鉛直方向の体動を検出する鉛直体動検出手段と
を備えることを特徴とする体動検出装置。
【請求項2】
請求項1に記載の体動検出装置であって、
前記鉛直検出手段によって検出された鉛直方向の体動をカウントするカウント手段を備えることを特徴とする体動検出装置。
【請求項3】
多軸の加速度センサと、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出手段と、
前記加速度センサからの加速度ベクトルと前記重力加速度算出手段により算出された前記重力加速度ベクトルの3次元空間における偏角に応じた演算式に基づいて加速度の水平成分を抽出する水平成分抽出手段と、
前記水平成分抽出手段によって抽出された加速度の前記水平成分を解析することにより、水平方向の体動を検出する水平体動検出手段と
を備えることを特徴とする体動検出装置。
【請求項4】
請求項3に記載の体動検出装置であって、
前記水平検出手段によって検出された水平方向の体動に応じて制御信号を形成する制御手段を備えることを特徴とする体動検出装置。
【請求項5】
多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出工程と、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出工程において算出した前記重力加速度ベクトルを用いて加速度の鉛直成分を抽出する鉛直成分抽出工程と、
前記鉛直成分抽出工程において抽出した加速度の前記鉛直成分を解析することにより、鉛直方向の体動を検出する鉛直体動検出工程と
を有することを特徴とする体動検出方法。
【請求項6】
請求項5に記載の体動検出方法であって、
前記鉛直検出工程において検出した鉛直方向の体動をカウントするカウント工程を有することを特徴とする体動検出方法。
【請求項7】
多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出工程と、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出工程において算出した前記重力加速度ベクトルの3次元空間における偏角に応じた演算式に基づいて加速度の水平成分を抽出する水平成分抽出工程と、
前記水平成分抽出工程において抽出した加速度の前記水平成分を解析することにより、水平方向の体動を検出する水平体動検出工程と
を有することを特徴とする体動検出方法。
【請求項8】
請求項7に記載の体動検出方法であって、
前記水平検出工程において検出した水平方向の体動に応じて制御信号を形成する制御工程を有することを特徴とする体動検出方法。
【請求項9】
多軸の加速度センサからの検出出力の供給を受けて、ユーザーの体動を検出する装置に搭載されたコンピュータに、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出ステップと、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出ステップにおいて算出した前記重力加速度ベクトルを用いて加速度の鉛直成分を抽出する鉛直成分抽出ステップと、
前記鉛直成分抽出ステップにおいて抽出した加速度の前記鉛直成分を解析することにより、鉛直方向の体動を検出する鉛直体動検出ステップと
を実行させることを特徴とする体動検出プログラム。
【請求項10】
請求項9に記載の体動検出プログラムであって、
前記鉛直検出ステップにおいて検出した鉛直方向の体動をカウントするカウントステップを実行することを特徴とする体動検出プログラム。
【請求項11】
多軸の加速度センサからの検出出力の供給を受けて、ユーザーの体動を検出する装置に搭載されたコンピュータに、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出ステップと、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出ステップにおいて算出した前記重力加速度ベクトルの3次元空間における偏角に応じた演算式に基づいて加速度の水平成分を抽出する水平成分抽出ステップと、
前記水平成分抽出ステップにおいて抽出した加速度の前記水平成分を解析することにより、水平方向の体動を検出する水平体動検出ステップと
を実行させることを特徴とする体動検出プログラム。
【請求項12】
請求項11に記載の体動検出プログラムであって、
前記水平検出ステップにおいて検出した水平方向の体動に応じて制御信号を形成する制御ステップを有することを特徴とする体動検出プログラム。

【図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

【図10】
image rotate