歩幅推定方法及び歩幅推定装置
【課題】歩幅をより正確に推定するための新たな手法を提案すること。
【解決手段】歩数計1は歩幅推定装置としても機能し、予め定められた加速度と歩幅との相関関係と、加速度センサー40の検出結果から算出される合成加速度とを用いて、ユーザーの歩幅を推定する。より具体的には、所定の閾値加速度を超えている合成加速度のピーク値を検出することによって歩行タイミングを推定し、この推定した歩行タイミングから一歩の時間間隔を算出する。そして、得られた合成加速度のピーク値と一歩の時間間隔とを用いて、合成加速度及び一歩の時間間隔を説明変数とし、歩幅を目的変数とする重回帰式に従って歩幅を推定する。
【解決手段】歩数計1は歩幅推定装置としても機能し、予め定められた加速度と歩幅との相関関係と、加速度センサー40の検出結果から算出される合成加速度とを用いて、ユーザーの歩幅を推定する。より具体的には、所定の閾値加速度を超えている合成加速度のピーク値を検出することによって歩行タイミングを推定し、この推定した歩行タイミングから一歩の時間間隔を算出する。そして、得られた合成加速度のピーク値と一歩の時間間隔とを用いて、合成加速度及び一歩の時間間隔を説明変数とし、歩幅を目的変数とする重回帰式に従って歩幅を推定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、歩幅推定方法及び歩幅推定装置に関する。
【背景技術】
【0002】
歩幅推定装置として、加速度センサーを備え、この加速度センサーにより検出された加速度の時間変化分から、テーブルを参照して歩幅を推定するものが知られている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−152355号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
歩幅は、歩行距離を算出するために必要不可欠な情報であるため、可及的に正確に推定する必要がある。しかしながら、歩幅は、歩行者であるユーザーの体型によって人それぞれ異なるものであるし、また、ユーザーの歩行状況(例えば歩き方)によっても逐次変化するものである。そのため、これらの不確定要素の存在が、歩幅推定を行う上で大きな障壁となっていた。
【0005】
本発明は上述した課題に鑑みて為されたものであり、歩幅をより正確に推定するための新たな手法を提案することを目的としている。
【課題を解決するための手段】
【0006】
以上の課題を解決するための第1の形態は、ユーザーの加速度を検出することと、予め定められた加速度と歩幅との相関関係と、前記ユーザーの加速度とを用いて、前記ユーザーの歩幅を推定することと、を含む歩幅推定方法である。
【0007】
また、他の形態として、加速度を検出する検出部と、予め定められた加速度と歩幅との相関関係と、前記検出された加速度とを用いて、歩幅を推定する推定部と、を備えた歩幅推定装置を構成してもよい。
【0008】
この第1の形態等によれば、予め定められた加速度と歩幅との相関関係と、検出したユーザーの加速度とを用いて、ユーザーの歩幅を推定する。ユーザーの加速度と歩幅との相関関係を定めておき、当該相関関係に基づいて歩幅を推定することで、ユーザーの体型といった不確定要素に左右されずに、歩幅をより正確に推定することができるようになる。
【0009】
また、第2の形態として、第1の形態の歩幅推定方法であって、前記相関関係は、加速度の大きさ及び一歩の時間間隔を説明変数とし、歩幅を目的変数とする重回帰式によって表される関係であり、前記ユーザーの加速度に基づいて歩行タイミングを推定することと、前記歩行タイミングから一歩の時間間隔を算出することと、を更に含み、前記歩幅を推定することは、前記歩行タイミングにおける前記ユーザーの加速度と、前記算出された時間間隔とを用いて、前記重回帰式に従って歩幅を推定することを含む歩幅推定方法を構成してもよい。
【0010】
この第2の形態によれば、ユーザーの加速度に基づいて歩行タイミングを推定し、推定した歩行タイミングから一歩の時間間隔を算出する。そして、推定した歩行タイミングにおけるユーザーの加速度と算出された時間間隔とを用いて、加速度の大きさ及び一歩の時間間隔を説明変数とし、歩幅を目的変数とする重回帰式に従って歩幅を推定する。歩行タイミング毎に重回帰式に従って歩幅を算出するといった簡易な処理で済むため、従来の手法と比べて一歩の応答性がよく、また、計算量も削減される。
【0011】
また、第3の形態として、第2の形態の歩幅推定方法であって、前記歩行タイミングにおけるユーザーの加速度と一歩の時間間隔とをサンプリングデータとして蓄積記憶することと、前記蓄積記憶されたサンプリングデータを用いて重回帰分析処理を行って前記重回帰式を求めることと、を更に含む歩幅推定方法を構成してもよい。
【0012】
この第3の形態によれば、歩行タイミングにおけるユーザーの加速度と一歩の時間間隔とをサンプリングデータとして蓄積記憶する。そして、蓄積記憶されたサンプリングデータを用いて重回帰分析処理を行って、歩幅を推定するための重回帰式を求める。各ユーザーそれぞれについて、当該ユーザーが実際に歩行することで得られる加速度及び一歩の時間間隔のサンプリングデータを用いて重回帰式を求めることで、ユーザー毎に最適な重回帰式を用いて歩幅を推定することが可能となる。
【0013】
また、第4の形態として、第2又は第3の形態の歩幅推定方法であって、前記歩行タイミングを推定することは、前記加速度の時間変化が所定の高閾値条件を満たしたときのピーク値に対応する時刻を歩行タイミングと推定することを含む歩幅推定方法を構成してもよい。
【0014】
この第4の形態によれば、加速度の時間変化が所定の高閾値条件を満たしたときのピーク値に対応する時刻を歩行タイミングと推定する。歩行タイミングにおいては、合成加速度の大きさが一定以上となるようなピーク値が観測されるため、このピーク値に対応する時刻を特定することで、歩行タイミングを正確に検出することが可能となる。
【0015】
また、第5の形態として、第1〜第4の何れかの形態の歩幅推定方法であって、歩行状況に応じた複数の相関関係が予め定められており、ユーザーの歩行状況を判定することを更に含み、前記歩幅を推定することは、前記ユーザーの歩行状況に対応する相関関係と、前記ユーザーの加速度とを用いて推定することを含む歩幅推定方法を構成してもよい。
【0016】
この第5の形態によれば、ユーザーの歩行状況を判定する。そして、判定したユーザーの歩行状況に対応する相関関係と、ユーザーの加速度とを用いて、ユーザーの歩幅を推定する。歩行状況に応じた複数種類の相関関係を予め定めておき、ユーザーの歩行状況に対応する相関関係を選択して歩幅を推定することで、ユーザーの歩き方といった不確定要素に左右されずに、歩幅推定を一歩一歩高い精度で行うことが可能となる。
【図面の簡単な説明】
【0017】
【図1】歩数計の概略構成図。
【図2】歩数計の機能構成を示すブロック図。
【図3】ROMに格納されたデータの一例を示す図。
【図4】フラッシュROMに格納されるデータの一例を示す図。
【図5】RAMに格納されるデータの一例を示す図。
【図6】サンプリングデータのデータ構成の一例を示す図。
【図7】センサーデータのデータ構成の一例を示す図。
【図8】合成加速度データのデータ構成の一例を示す図。
【図9】メイン処理の流れを示すフローチャート。
【図10】重回帰分析処理の流れを示すフローチャート。
【図11】変形例においてROMに格納されたデータの一例を示す図。
【図12】変形例においてフラッシュROMに格納されるデータの一例を示す図。
【図13】第2のメイン処理の流れを示すフローチャート。
【発明を実施するための形態】
【0018】
以下、図面を参照して、歩幅推定装置を備えた電子機器の一種である歩数計に本発明を適用した場合の実施形態について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけではない。
【0019】
1.概略構成
図1は、本実施形態における歩数計1を歩行者であるユーザーが装着した様子及び歩数計1の概略構成を説明するための図である。歩数計1は、操作部20からの指示操作に従って、歩行者であるユーザーの歩行に合わせて歩数及び歩行距離を算出する歩数検出装置及び歩幅推定装置を具備した電子機器であり、図1に示すように例えばユーザーの右腰に装着されて使用される。
【0020】
歩数計1は、加速度センサー40を具備しており、加速度センサー40の検出結果に基づいてユーザーの歩数を検出する。また、歩数計1は、初期設定として予め求めておいた歩幅推定用の算出式に従って歩幅を推定し、推定した歩幅を累積加算することでユーザーの歩行距離を算出する。そして、検出・算出した歩数及び歩行距離を、表示部30に表示させる。
【0021】
加速度センサー40は、直交3軸の加速度を検出するセンサーであり、歪みゲージ式や圧電式の何れであってもよく、またMEMS(Micro Electro Mechanical Systems)センサーであってもよい。本実施形態では、加速度センサー40の検出軸を、図1に示すような向きで歩数計1が装着された状態で、ユーザーから見て前後方向を「X軸」、鉛直方向を「Y軸」、左右方向を「Z軸」として説明する。
【0022】
尚、説明を分かり易くするために、加速度センサー40の検出軸の軸方向を、X軸,Y軸,Z軸の軸方向と同じとして説明するが、実際には異なっていてもよい。加速度センサー40の検出軸と、X軸,Y軸,Z軸の軸方向とは相対的な関係でユーザーに固定されて使用されるため、行列計算によって、加速度センサー40の検出結果から、X,Y,Zそれぞれの値を算出することができる。
【0023】
2.原理
歩数計1は、ユーザーにより初めて使用される状態(初期状態)において、ユーザーにテスト歩行をするように指示し、加速度センサー40により検出された3軸の加速度を合成することで得られる合成加速度の大きさのデータを収集する。合成加速度の大きさは、加速度センサー40のX軸、Y軸及びZ軸の出力値の二乗和の平方根として算出される。合成加速度を使用することにしたのは、X軸、Y軸及びZ軸のそれぞれの出力値を個別に用いて歩数を検出しようとすると、加速度センサー40の傾きによって出力値が変化してしまい、歩数検出を正しく行うことができないためである。
【0024】
歩数計1は、合成加速度の大きさの時間変化に基づいて歩行タイミングを判定する。歩行タイミングは、合成加速度のピーク値(極大値)のうち、所定の閾値加速度を超えているものが取得されたタイミングとして検出する。また、歩数計1は、歩行タイミング間の時刻差を算出することで、各歩行タイミングにおける一歩の時間間隔を取得する。そして、合成加速度のピーク値と一歩の時間間隔とを対応付けて、サンプリングデータとして蓄積記憶する。
【0025】
十分な数のサンプリングデータを取得することができたら、歩数計1は、重回帰分析処理を行って、ユーザーの歩幅を算出・推定するための重回帰式(以下、「歩幅推定用重回帰式」と称す。)を求める。重回帰分析処理では、合成加速度のピーク値と一歩の時間間隔とを独立変数(説明変数)、歩幅である一歩の距離を従属変数(目的変数)として、公知の重回帰分析の手法を用いて歩幅推定用重回帰式を求める。歩幅推定用重回帰式は、加速度と歩幅との相関関係を表す式の一種である。
【0026】
重回帰分析は、多変量解析の一種であり、回帰分析の独立変数が複数になったものである。本実施形態では、次式(1)で表される歩幅推定用重回帰式を求める。
y=a0+a1x1+a2x2 ・・・(1)
但し、「y」は従属変数である歩幅(一歩の距離)であり、「x1」は独立変数である一歩の時間間隔、「x2」は独立変数である合成加速度のピーク値である。
【0027】
より具体的には、サンプリングデータである一歩の時間間隔及び合成加速度のピーク値を用いて、最小二乗法に従って式(1)に含まれる定数項「a0」と、独立変数「x1」及び「x2」の重み「a1」及び「a2」とをそれぞれ決定することになる。これにより、例えば次式(2)に示すような重回帰式を求めることができる。
y=−0.1553+0.0062x1+0.0526x2 ・・・(2)
【0028】
歩幅推定用重回帰式を求めることができたら、この歩幅推定用重回帰式を記憶し、以後の歩行検出の処理において、ユーザーの歩幅を推定するために使用する。具体的には、上述したサンプリングデータの取得と同様に、合成加速度のピーク値を検出することで歩行タイミングを検出し、歩数をカウントするとともに、各歩行タイミングの時間間隔である一歩の時間間隔を算出する。
【0029】
そして、算出した合成加速度のピーク値と一歩の時間間隔とを歩幅推定用重回帰式に代入することで、歩幅「y」を算出・推定する。そして、推定された歩幅を最新の歩行距離に加算することで歩行距離を更新し、歩数と併せて表示部30に表示させる。
【0030】
3.機能構成
図2は、歩数計1の機能構成を示すブロック図である。歩数計1は、CPU(Central Processing Unit)10と、操作部20と、表示部30と、加速度センサー40と、ROM(Read Only Memory)50と、フラッシュROM60と、RAM(Random Access Memory)70とを備え、各部がバス80で接続されている。
【0031】
CPU10は、ROM50やフラッシュROM60に記憶されているシステムプログラム等の各種プログラムや各種データに従って歩数計1の各部を統括的に制御するプロセッサーである。CPU10は、メイン処理を行ってユーザーの歩数及び歩行距離を計測し、表示部30に表示させる処理を行う。
【0032】
操作部20は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をCPU10に出力する。この操作部20の操作により、歩数及び歩行距離の検出開始指示操作や、歩数及び歩行距離のリセット指示操作、電源切断指示操作等の各種指示操作入力がなされる。
【0033】
表示部30は、LCD(Liquid Crystal Display)等により構成され、CPU10から入力される表示信号に基づいた各種表示を行う表示装置である。表示部30には、歩数や歩行距離等の情報が表示される。
【0034】
加速度センサー40は、歩数計1の3軸の加速度を検出するセンサーであり、その検出結果をCPU10に出力する。
【0035】
ROM50は、読み取り専用の不揮発性の記憶装置であり、CPU10が歩数計1を制御するためのシステムプログラムや、歩数検出機能及び歩幅推定機能を実現するための各種プログラムやデータ等を記憶している。
【0036】
フラッシュROM60は、読み書き可能な不揮発性の記憶装置であり、ROM50と同様、CPU10が歩数計1を制御するために必要な各種プログラムや各種データ等を記憶している。
【0037】
RAM70は、読み書き可能な揮発性の記憶装置であり、CPU10により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成している。
【0038】
4.データ構成
図3は、ROM50に格納されたデータの一例を示す図である。ROM50には、CPU10により読み出され、メイン処理(図9参照)として実行されるメインプログラム501が記憶されている。また、メインプログラム501には、重回帰分析処理(図10参照)として実行される重回帰分析プログラム5011がサブルーチンとして含まれている。
【0039】
メイン処理とは、CPU10が、加速度センサー40の検出結果から算出される合成加速度の大きさの時間変化に基づいて歩数を検出するとともに、重回帰分析処理を行うことで得られた歩幅推定用重回帰式に従って歩幅を推定して歩行距離を算出し、歩数及び歩行距離を表示部30に表示させる処理である。
【0040】
また、重回帰分析処理とは、CPU10が、ユーザーにテスト歩行をさせることで取得したサンプリングデータを用いて公知の重回帰分析を行うことで、歩幅推定用重回帰式を求める処理である。これらの処理については、フローチャートを用いて詳細に後述する。
【0041】
図4は、フラッシュROM60に格納されるデータの一例を示す図である。フラッシュROM60には、サンプリングデータ601と、歩幅推定用重回帰式データ603とが記憶される。
【0042】
図6は、サンプリングデータ601のデータ構成の一例を示す図である。サンプリングデータ601には、ユーザーにテスト歩行をさせることで得られた合成加速度のピーク値6011と一歩の時間間隔6013とが対応付けて蓄積記憶される。例えば、最新の合成加速度のピーク値は「A5」であり、一歩の時間間隔は「Δt1」である。
【0043】
歩幅推定用重回帰式データ603は、サンプリングデータ601を用いて重回帰分析処理を行うことで得られた歩幅推定用重回帰式のデータである。
【0044】
図5は、RAM70に格納されるデータの一例を示す図である。RAM70には、センサーデータ701と、合成加速度データ702と、歩幅推定用データ703と、歩幅データ704と、歩数データ705と、歩行距離データ706とが記憶される。
【0045】
図7は、センサーデータ701のデータ構成の一例を示す図である。センサーデータ701には、検出時刻7011(例えばミリ秒)と対応付けて、加速度センサー40により検出された3軸の加速度7013が記憶される。例えば、検出時刻「t1」において検出された加速度は「(Ax1,Ay1,Az1)」である。
【0046】
図8は、合成加速度データ702のデータ構成の一例を示す図である。合成加速度データ702には、加速度センサー40の検出時刻7021と対応付けて、3軸の加速度を合成した大きさである合成加速度7023が記憶される。例えば、検出時刻「t1」における合成加速度は「A1」である。
【0047】
歩幅推定用データ703は、歩幅を推定するために使用されるデータであり、図6のサンプリングデータ601と同様、ユーザーが歩行することで得られた合成加速度のピーク値と一歩の時間間隔とが対応付けて記憶される。
【0048】
歩幅データ704は、歩幅推定用重回帰式データ603と、歩幅推定用データ703とを用いて算出される最新の歩幅のデータである。
【0049】
歩数データ705は、所定の閾値加速度を超えている合成加速度のピーク値を検出する毎に逐次カウントされる歩数のデータである。
【0050】
歩行距離データ706は、最新の歩行距離についてのデータであり、歩幅推定用重回帰式に従って逐次推定される歩幅を累積加算することで取得されるデータである。
【0051】
5.処理の流れ
図9は、ROM50に記憶されているメインプログラム501がCPU10により読み出されて実行されることで、歩数計1において実行されるメイン処理の流れを示すフローチャートである。メイン処理は、CPU10が、操作部20を介してユーザーにより電源投入指示操作がなされたことを検出した場合に実行を開始する処理である。
【0052】
先ず、CPU10は、歩数計1の状態を判定する(ステップA1)。そして、歩数計1の状態が初期状態であると判定した場合は(ステップA1;初期状態)、ROM50に記憶されている重回帰分析プログラム5011を読み出して実行することで、重回帰分析処理を行う(ステップA3)。
【0053】
図10は、重回帰分析処理の流れを示すフローチャートである。
先ず、CPU10は、テスト歩行の指示を出力する(ステップB1)。具体的には、例えばユーザーにテスト歩行を指示するためのメッセージを表示部30に表示させる。尚、歩数計1に音出力部を設けておき、ユーザーにテスト歩行を指示するための音声ガイダンスを音出力部から出力させることにしてもよい。
【0054】
次いで、CPU10は、加速度センサー40から検出結果を取り込んで、RAM70のセンサーデータ701への記憶を開始する(ステップB3)。そして、CPU10は、センサーデータ701に記憶されている最新の3軸の加速度7011から加速度の大きさである合成加速度7023を算出し、RAM70の合成加速度データ702に記憶させる(ステップB5)。
【0055】
その後、CPU10は、所定の閾値加速度を超えている合成加速度のピーク値を検出するとともに(ステップB7)、検出した合成加速度のピーク値に対応付けられている検出時刻に基づいて、一歩の時間間隔を算出する(ステップB9)。そして、CPU10は、合成加速度のピーク値6011及び一歩の時間間隔6013のデータを、フラッシュROM60にサンプリングデータ601として蓄積記憶させる(ステップB11)。
【0056】
次いで、CPU10は、サンプリングデータ601として十分な数のデータが蓄積記憶されたか否かを判定し(ステップB13)、まだ十分な数のデータが蓄積記憶されていないと判定した場合は(ステップB13;No)、ステップB5に戻る。
【0057】
また、十分な数のデータが蓄積記憶されたと判定した場合は(ステップB13;Yes)、CPU10は、歩幅を目的変数、蓄積記憶された合成加速度のピーク値6011及び一歩の時間間隔6013を説明変数として重回帰分析を行って、歩幅推定用重回帰式を求める(ステップB15)。そして、CPU10は、求めた歩幅推定用重回帰式をフラッシュROM60に歩幅推定用重回帰式データ603として記憶させた後(ステップB17)、重回帰分析処理を終了する。
【0058】
図9のメイン処理に戻って、重回帰分析処理を行った後、CPU10は、続けて歩行検出を開始するか否かを判定し(ステップA5)、歩行検出を開始しないと判定した場合は(ステップA5;No)、メイン処理を終了する。また、続けて歩行検出を開始すると判定した場合は(ステップA5;Yes)、ステップA9へと処理を移行する。
【0059】
一方、ステップA1において歩数計1の状態が「検出可能状態」であると判定した場合は(ステップA1:検出可能状態)、CPU10は、加速度センサー40から検出結果を取り込んで、RAM70のセンサーデータ701への記憶を開始する(ステップA7)。そして、CPU10は、センサーデータ701に記憶されている最新の3軸の加速度7011から加速度の大きさである合成加速度7023を算出し、RAM70の合成加速度データ702に記憶させる(ステップA9)。
【0060】
その後、CPU10は、所定の閾値加速度を超えている合成加速度のピーク値を検出するとともに(ステップA11)、検出した合成加速度のピーク値に対応付けられている検出時刻に基づいて、一歩の時間間隔を算出する(ステップA13)。そして、CPU10は、合成加速度のピーク値及び一歩の時間間隔のデータを対応付けて、RAM70の歩幅推定用データ703に蓄積記憶させる(ステップA15)。
【0061】
次いで、CPU10は、歩幅推定用データ703に記憶されている最新の合成加速度のピーク値及び一歩の時間間隔を用いて、フラッシュROM60の歩幅推定用重回帰式データ603に記憶されている歩幅推定用重回帰式に従って歩幅を算出・推定し、RAM70の歩幅データ704に記憶させる(ステップA17)。
【0062】
その後、CPU10は、RAM70の歩数データ705に記憶されている歩数を更新する(ステップA19)。また、ステップA17で算出した歩幅を、RAM70の歩行距離データ706に記憶されている最新の歩行距離に加算することで歩行距離を新たに算出し、RAM70の歩行距離データ706を更新する(ステップA21)。
【0063】
そして、CPU10は、表示部30の歩数及び歩行距離の表示を更新する(ステップA23)。その後、CPU10は、操作部20を介してユーザーによりリセット指示操作がなされたか否かを判定し(ステップA25)、なされなかったと判定した場合は(ステップA25;No)、ステップA29へと処理を移行する。
【0064】
また、リセット指示操作がなされたと判定した場合は(ステップA25;Yes)、CPU10は、RAM70の歩数データ705及び歩行距離データ706にそれぞれ記憶されている歩数及び歩行距離をリセットする(ステップA27)。
【0065】
そして、CPU10は、操作部20を介してユーザーにより電源切断指示操作がなされたか否かを判定し(ステップA29)、なされなかったと判定した場合は(ステップA29;No)、ステップA9に戻る。また、電源切断指示操作がなされたと判定した場合は(ステップA29;Yes)、メイン処理を終了する。
【0066】
6.作用効果
歩数計1は歩幅推定装置としても機能し、予め定められた加速度と歩幅との相関関係と、加速度センサー40の検出結果から算出される合成加速度の大きさとを用いて、ユーザーの歩幅を推定する。より具体的には、所定の閾値加速度を超えている合成加速度のピーク値を検出することによって歩行タイミングを推定し、この推定した歩行タイミングから一歩の時間間隔を算出する。そして、得られた合成加速度のピーク値と一歩の時間間隔とを用いて、合成加速度及び一歩の時間間隔を説明変数とし、歩幅を目的変数とする重回帰式に従って歩幅を推定する。
【0067】
また、歩数計1は、初期状態においてユーザーにテスト歩行を行わせ、このテスト歩行により得られた合成加速度及び一歩の時間間隔のデータをサンプリングデータとして蓄積記憶する。そして、これらのサンプリングデータを用いて重回帰分析を行って歩幅推定用の重回帰式を求め、求めた重回帰式に従って歩幅を推定する。
【0068】
ユーザーに実際に歩行をさせることで得られるサンプリングデータを用いて歩幅推定用重回帰式を求めることにしているため、ユーザーの体型といった不確定要素に左右されずに、ユーザー毎に適切な重回帰式を用いて歩幅をより正確に推定することができる。この場合、歩幅が適切に推定されることで、歩行距離算出の正確性が向上する。また、歩行タイミング毎に歩幅推定用重回帰式に従って歩幅を算出するといった簡易な処理で済むため、従来の手法と比べて一歩の応答性が良く、また、計算量も削減される。
【0069】
7.変形例
7−1.電子機器
本発明は、歩数計の他にも、歩幅推定装置を備えた電子機器であれば何れの電子機器にも適用可能である。例えば、腕時計等についても同様に適用可能である。
【0070】
7−2.歩行状況に応じた歩幅推定
歩行状況に応じた複数種類の歩幅推定用重回帰式を予め求めておき、ユーザーの歩行時の歩行状況に対応する歩幅推定用重回帰式を選択して歩幅推定に使用することにしてもよい。
【0071】
図11は、この場合に歩数計1が備えるROM52のデータ構成の一例を示す図である。ROM52には、第2のメイン処理(図13参照)として実行される第2のメインプログラム521が記憶されている。また、第2のメインプログラムには、遅歩き用重回帰分析処理として実行される遅歩き用重回帰分析プログラム5211と、普通歩き用重回帰分析処理として実行される普通歩き用重回帰分析プログラム5213と、早歩き用重回帰分析処理として実行される早歩き用重回帰分析プログラム5215とがサブルーチンとして含まれている。
【0072】
図12は、この場合に歩数計1が備えるフラッシュROM62のデータ構成の一例を示す図である。フラッシュROM62には、重回帰分析用データ601と、歩幅推定用重回帰式データ623とが記憶される。また、歩幅推定用重回帰式データ623には、遅歩き用重回帰式6231と、普通歩き用重回帰式6233と、早歩き用重回帰式6235とが含まれている。
【0073】
図13は、ROM52に記憶されている第2のメインプログラム521がCPU10により読み出されて実行されることで、歩数計1において実行される第2のメイン処理の流れを示すフローチャートである。尚、図9のメイン処理と同一のステップについては同一の符号を付して説明を省略し、メイン処理とは異なる部分を中心に説明する。
【0074】
第2のメイン処理では、CPU10は、ステップA1において歩数計1の状態が「初期状態」であると判定した場合は(ステップA1;初期状態)、ROM52に記憶されている第2のメインプログラム521のサブルーチンを読み出して実行することで、遅歩き用重回帰分析処理と、普通歩き用重回帰分析処理と、早歩き用重回帰分析処理とを行う(ステップC2〜C4)。
【0075】
これらの処理では、CPU10は、図10の重回帰分析処理と同様に、ユーザーにテスト歩行を指示し、テスト歩行で得られたサンプリングデータを用いて、歩幅推定用重回帰式を求める。この際、遅歩き用重回帰分析処理では、ユーザーにゆっくり歩行するように指示し、普通歩き用重回帰分析処理では、ユーザーに普通に歩行するように指示し、早歩き用重回帰分析処理では、ユーザーに早歩きをするように指示する。これにより、遅歩き用重回帰式6231と、普通歩き用重回帰式6233と、早歩き用重回帰式6235との異なる3種類の歩幅推定用重回帰式を取得し、フラッシュROM62に歩幅推定用重回帰式データ623として記憶させる。
【0076】
そして、CPU10は、ステップA15の後、ステップA13で得られた一歩の時間間隔に基づいてユーザーの歩行状況を判定する(ステップC16)。例えば、一歩の時間間隔が予め定められた遅歩き判定用閾値より長ければ、歩行状況は「遅歩き」であると判定し、一歩の時間間隔が予め定められた早歩き判定用閾値より短ければ、歩行状況は「早歩き」であると判定することができる。また、何れにも該当しない場合は、歩行状況は「普通歩き」であると判定する。尚、合成加速度の大きさも併せて用いて歩行状況を判定することにしてもよい。
【0077】
その後、CPU10は、ステップC16で判定した歩行状況に対応する歩幅推定用重回帰式を、フラッシュROM62の歩幅推定用重回帰式データ623から読み出す(ステップC17)。そして、CPU10は、読み出した歩幅推定用重回帰式に従って、合成加速度のピーク値及び一歩の時間間隔を用いて歩幅を算出・推定し、RAM70の歩幅データ704に記憶させる(ステップC18)。そして、CPU10は、ステップA19へと処理を移行する。
【0078】
このように、複数種類の歩幅推定用重回帰式を予め求めておき、ユーザーのその時の歩行状況に対応する歩幅推定用重回帰式を選択して歩幅を推定するようにすることで、ユーザーの歩き方といった不確定な要素に左右されずに、歩幅推定を一歩一歩高い精度で行うことが可能となる。また、歩幅推定の精度が高まることで、歩行距離算出の正確性が一層向上する。
【0079】
7−3.相関関係
上述した実施形態では、加速度と歩幅との相関関係として、重回帰分析を行うことで得られる重回帰式によって表される関係を例に挙げて説明したが、相関関係はこれに限られるわけではない。加速度を入力値として与えることで歩幅が出力値として求められるような関係であればよく、例えば、重回帰分析以外の他の多変量解析の手法を用いて相関関係を求めることにしてもよい。
【0080】
また、重回帰分析を用いる場合であっても、説明変数を適宜追加・変更することで、ユーザーの種々の状態を考慮した歩幅推定を実現することができる。例えば、各歩行タイミングにおけるユーザーの心拍数を説明変数に加えて重回帰分析を行うことで、ユーザーの体調を考慮した歩幅推定を実現することが可能となる。
【0081】
7−4.合成加速度の平滑化処理
上述した実施形態では、合成加速度の“生”の値を用いてピーク値を検出するものとして説明したが、合成加速度に対して所定の平滑化処理を行い、平滑化された合成加速度の大きさを用いてピーク値を検出することにしてもよい。
【符号の説明】
【0082】
1 歩数計、 10 CPU、 20 操作部、 30 表示部、
40 加速度センサー、 50 ROM、 60 フラッシュROM、
70 RAM、 80 バス
【技術分野】
【0001】
本発明は、歩幅推定方法及び歩幅推定装置に関する。
【背景技術】
【0002】
歩幅推定装置として、加速度センサーを備え、この加速度センサーにより検出された加速度の時間変化分から、テーブルを参照して歩幅を推定するものが知られている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−152355号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
歩幅は、歩行距離を算出するために必要不可欠な情報であるため、可及的に正確に推定する必要がある。しかしながら、歩幅は、歩行者であるユーザーの体型によって人それぞれ異なるものであるし、また、ユーザーの歩行状況(例えば歩き方)によっても逐次変化するものである。そのため、これらの不確定要素の存在が、歩幅推定を行う上で大きな障壁となっていた。
【0005】
本発明は上述した課題に鑑みて為されたものであり、歩幅をより正確に推定するための新たな手法を提案することを目的としている。
【課題を解決するための手段】
【0006】
以上の課題を解決するための第1の形態は、ユーザーの加速度を検出することと、予め定められた加速度と歩幅との相関関係と、前記ユーザーの加速度とを用いて、前記ユーザーの歩幅を推定することと、を含む歩幅推定方法である。
【0007】
また、他の形態として、加速度を検出する検出部と、予め定められた加速度と歩幅との相関関係と、前記検出された加速度とを用いて、歩幅を推定する推定部と、を備えた歩幅推定装置を構成してもよい。
【0008】
この第1の形態等によれば、予め定められた加速度と歩幅との相関関係と、検出したユーザーの加速度とを用いて、ユーザーの歩幅を推定する。ユーザーの加速度と歩幅との相関関係を定めておき、当該相関関係に基づいて歩幅を推定することで、ユーザーの体型といった不確定要素に左右されずに、歩幅をより正確に推定することができるようになる。
【0009】
また、第2の形態として、第1の形態の歩幅推定方法であって、前記相関関係は、加速度の大きさ及び一歩の時間間隔を説明変数とし、歩幅を目的変数とする重回帰式によって表される関係であり、前記ユーザーの加速度に基づいて歩行タイミングを推定することと、前記歩行タイミングから一歩の時間間隔を算出することと、を更に含み、前記歩幅を推定することは、前記歩行タイミングにおける前記ユーザーの加速度と、前記算出された時間間隔とを用いて、前記重回帰式に従って歩幅を推定することを含む歩幅推定方法を構成してもよい。
【0010】
この第2の形態によれば、ユーザーの加速度に基づいて歩行タイミングを推定し、推定した歩行タイミングから一歩の時間間隔を算出する。そして、推定した歩行タイミングにおけるユーザーの加速度と算出された時間間隔とを用いて、加速度の大きさ及び一歩の時間間隔を説明変数とし、歩幅を目的変数とする重回帰式に従って歩幅を推定する。歩行タイミング毎に重回帰式に従って歩幅を算出するといった簡易な処理で済むため、従来の手法と比べて一歩の応答性がよく、また、計算量も削減される。
【0011】
また、第3の形態として、第2の形態の歩幅推定方法であって、前記歩行タイミングにおけるユーザーの加速度と一歩の時間間隔とをサンプリングデータとして蓄積記憶することと、前記蓄積記憶されたサンプリングデータを用いて重回帰分析処理を行って前記重回帰式を求めることと、を更に含む歩幅推定方法を構成してもよい。
【0012】
この第3の形態によれば、歩行タイミングにおけるユーザーの加速度と一歩の時間間隔とをサンプリングデータとして蓄積記憶する。そして、蓄積記憶されたサンプリングデータを用いて重回帰分析処理を行って、歩幅を推定するための重回帰式を求める。各ユーザーそれぞれについて、当該ユーザーが実際に歩行することで得られる加速度及び一歩の時間間隔のサンプリングデータを用いて重回帰式を求めることで、ユーザー毎に最適な重回帰式を用いて歩幅を推定することが可能となる。
【0013】
また、第4の形態として、第2又は第3の形態の歩幅推定方法であって、前記歩行タイミングを推定することは、前記加速度の時間変化が所定の高閾値条件を満たしたときのピーク値に対応する時刻を歩行タイミングと推定することを含む歩幅推定方法を構成してもよい。
【0014】
この第4の形態によれば、加速度の時間変化が所定の高閾値条件を満たしたときのピーク値に対応する時刻を歩行タイミングと推定する。歩行タイミングにおいては、合成加速度の大きさが一定以上となるようなピーク値が観測されるため、このピーク値に対応する時刻を特定することで、歩行タイミングを正確に検出することが可能となる。
【0015】
また、第5の形態として、第1〜第4の何れかの形態の歩幅推定方法であって、歩行状況に応じた複数の相関関係が予め定められており、ユーザーの歩行状況を判定することを更に含み、前記歩幅を推定することは、前記ユーザーの歩行状況に対応する相関関係と、前記ユーザーの加速度とを用いて推定することを含む歩幅推定方法を構成してもよい。
【0016】
この第5の形態によれば、ユーザーの歩行状況を判定する。そして、判定したユーザーの歩行状況に対応する相関関係と、ユーザーの加速度とを用いて、ユーザーの歩幅を推定する。歩行状況に応じた複数種類の相関関係を予め定めておき、ユーザーの歩行状況に対応する相関関係を選択して歩幅を推定することで、ユーザーの歩き方といった不確定要素に左右されずに、歩幅推定を一歩一歩高い精度で行うことが可能となる。
【図面の簡単な説明】
【0017】
【図1】歩数計の概略構成図。
【図2】歩数計の機能構成を示すブロック図。
【図3】ROMに格納されたデータの一例を示す図。
【図4】フラッシュROMに格納されるデータの一例を示す図。
【図5】RAMに格納されるデータの一例を示す図。
【図6】サンプリングデータのデータ構成の一例を示す図。
【図7】センサーデータのデータ構成の一例を示す図。
【図8】合成加速度データのデータ構成の一例を示す図。
【図9】メイン処理の流れを示すフローチャート。
【図10】重回帰分析処理の流れを示すフローチャート。
【図11】変形例においてROMに格納されたデータの一例を示す図。
【図12】変形例においてフラッシュROMに格納されるデータの一例を示す図。
【図13】第2のメイン処理の流れを示すフローチャート。
【発明を実施するための形態】
【0018】
以下、図面を参照して、歩幅推定装置を備えた電子機器の一種である歩数計に本発明を適用した場合の実施形態について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけではない。
【0019】
1.概略構成
図1は、本実施形態における歩数計1を歩行者であるユーザーが装着した様子及び歩数計1の概略構成を説明するための図である。歩数計1は、操作部20からの指示操作に従って、歩行者であるユーザーの歩行に合わせて歩数及び歩行距離を算出する歩数検出装置及び歩幅推定装置を具備した電子機器であり、図1に示すように例えばユーザーの右腰に装着されて使用される。
【0020】
歩数計1は、加速度センサー40を具備しており、加速度センサー40の検出結果に基づいてユーザーの歩数を検出する。また、歩数計1は、初期設定として予め求めておいた歩幅推定用の算出式に従って歩幅を推定し、推定した歩幅を累積加算することでユーザーの歩行距離を算出する。そして、検出・算出した歩数及び歩行距離を、表示部30に表示させる。
【0021】
加速度センサー40は、直交3軸の加速度を検出するセンサーであり、歪みゲージ式や圧電式の何れであってもよく、またMEMS(Micro Electro Mechanical Systems)センサーであってもよい。本実施形態では、加速度センサー40の検出軸を、図1に示すような向きで歩数計1が装着された状態で、ユーザーから見て前後方向を「X軸」、鉛直方向を「Y軸」、左右方向を「Z軸」として説明する。
【0022】
尚、説明を分かり易くするために、加速度センサー40の検出軸の軸方向を、X軸,Y軸,Z軸の軸方向と同じとして説明するが、実際には異なっていてもよい。加速度センサー40の検出軸と、X軸,Y軸,Z軸の軸方向とは相対的な関係でユーザーに固定されて使用されるため、行列計算によって、加速度センサー40の検出結果から、X,Y,Zそれぞれの値を算出することができる。
【0023】
2.原理
歩数計1は、ユーザーにより初めて使用される状態(初期状態)において、ユーザーにテスト歩行をするように指示し、加速度センサー40により検出された3軸の加速度を合成することで得られる合成加速度の大きさのデータを収集する。合成加速度の大きさは、加速度センサー40のX軸、Y軸及びZ軸の出力値の二乗和の平方根として算出される。合成加速度を使用することにしたのは、X軸、Y軸及びZ軸のそれぞれの出力値を個別に用いて歩数を検出しようとすると、加速度センサー40の傾きによって出力値が変化してしまい、歩数検出を正しく行うことができないためである。
【0024】
歩数計1は、合成加速度の大きさの時間変化に基づいて歩行タイミングを判定する。歩行タイミングは、合成加速度のピーク値(極大値)のうち、所定の閾値加速度を超えているものが取得されたタイミングとして検出する。また、歩数計1は、歩行タイミング間の時刻差を算出することで、各歩行タイミングにおける一歩の時間間隔を取得する。そして、合成加速度のピーク値と一歩の時間間隔とを対応付けて、サンプリングデータとして蓄積記憶する。
【0025】
十分な数のサンプリングデータを取得することができたら、歩数計1は、重回帰分析処理を行って、ユーザーの歩幅を算出・推定するための重回帰式(以下、「歩幅推定用重回帰式」と称す。)を求める。重回帰分析処理では、合成加速度のピーク値と一歩の時間間隔とを独立変数(説明変数)、歩幅である一歩の距離を従属変数(目的変数)として、公知の重回帰分析の手法を用いて歩幅推定用重回帰式を求める。歩幅推定用重回帰式は、加速度と歩幅との相関関係を表す式の一種である。
【0026】
重回帰分析は、多変量解析の一種であり、回帰分析の独立変数が複数になったものである。本実施形態では、次式(1)で表される歩幅推定用重回帰式を求める。
y=a0+a1x1+a2x2 ・・・(1)
但し、「y」は従属変数である歩幅(一歩の距離)であり、「x1」は独立変数である一歩の時間間隔、「x2」は独立変数である合成加速度のピーク値である。
【0027】
より具体的には、サンプリングデータである一歩の時間間隔及び合成加速度のピーク値を用いて、最小二乗法に従って式(1)に含まれる定数項「a0」と、独立変数「x1」及び「x2」の重み「a1」及び「a2」とをそれぞれ決定することになる。これにより、例えば次式(2)に示すような重回帰式を求めることができる。
y=−0.1553+0.0062x1+0.0526x2 ・・・(2)
【0028】
歩幅推定用重回帰式を求めることができたら、この歩幅推定用重回帰式を記憶し、以後の歩行検出の処理において、ユーザーの歩幅を推定するために使用する。具体的には、上述したサンプリングデータの取得と同様に、合成加速度のピーク値を検出することで歩行タイミングを検出し、歩数をカウントするとともに、各歩行タイミングの時間間隔である一歩の時間間隔を算出する。
【0029】
そして、算出した合成加速度のピーク値と一歩の時間間隔とを歩幅推定用重回帰式に代入することで、歩幅「y」を算出・推定する。そして、推定された歩幅を最新の歩行距離に加算することで歩行距離を更新し、歩数と併せて表示部30に表示させる。
【0030】
3.機能構成
図2は、歩数計1の機能構成を示すブロック図である。歩数計1は、CPU(Central Processing Unit)10と、操作部20と、表示部30と、加速度センサー40と、ROM(Read Only Memory)50と、フラッシュROM60と、RAM(Random Access Memory)70とを備え、各部がバス80で接続されている。
【0031】
CPU10は、ROM50やフラッシュROM60に記憶されているシステムプログラム等の各種プログラムや各種データに従って歩数計1の各部を統括的に制御するプロセッサーである。CPU10は、メイン処理を行ってユーザーの歩数及び歩行距離を計測し、表示部30に表示させる処理を行う。
【0032】
操作部20は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をCPU10に出力する。この操作部20の操作により、歩数及び歩行距離の検出開始指示操作や、歩数及び歩行距離のリセット指示操作、電源切断指示操作等の各種指示操作入力がなされる。
【0033】
表示部30は、LCD(Liquid Crystal Display)等により構成され、CPU10から入力される表示信号に基づいた各種表示を行う表示装置である。表示部30には、歩数や歩行距離等の情報が表示される。
【0034】
加速度センサー40は、歩数計1の3軸の加速度を検出するセンサーであり、その検出結果をCPU10に出力する。
【0035】
ROM50は、読み取り専用の不揮発性の記憶装置であり、CPU10が歩数計1を制御するためのシステムプログラムや、歩数検出機能及び歩幅推定機能を実現するための各種プログラムやデータ等を記憶している。
【0036】
フラッシュROM60は、読み書き可能な不揮発性の記憶装置であり、ROM50と同様、CPU10が歩数計1を制御するために必要な各種プログラムや各種データ等を記憶している。
【0037】
RAM70は、読み書き可能な揮発性の記憶装置であり、CPU10により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成している。
【0038】
4.データ構成
図3は、ROM50に格納されたデータの一例を示す図である。ROM50には、CPU10により読み出され、メイン処理(図9参照)として実行されるメインプログラム501が記憶されている。また、メインプログラム501には、重回帰分析処理(図10参照)として実行される重回帰分析プログラム5011がサブルーチンとして含まれている。
【0039】
メイン処理とは、CPU10が、加速度センサー40の検出結果から算出される合成加速度の大きさの時間変化に基づいて歩数を検出するとともに、重回帰分析処理を行うことで得られた歩幅推定用重回帰式に従って歩幅を推定して歩行距離を算出し、歩数及び歩行距離を表示部30に表示させる処理である。
【0040】
また、重回帰分析処理とは、CPU10が、ユーザーにテスト歩行をさせることで取得したサンプリングデータを用いて公知の重回帰分析を行うことで、歩幅推定用重回帰式を求める処理である。これらの処理については、フローチャートを用いて詳細に後述する。
【0041】
図4は、フラッシュROM60に格納されるデータの一例を示す図である。フラッシュROM60には、サンプリングデータ601と、歩幅推定用重回帰式データ603とが記憶される。
【0042】
図6は、サンプリングデータ601のデータ構成の一例を示す図である。サンプリングデータ601には、ユーザーにテスト歩行をさせることで得られた合成加速度のピーク値6011と一歩の時間間隔6013とが対応付けて蓄積記憶される。例えば、最新の合成加速度のピーク値は「A5」であり、一歩の時間間隔は「Δt1」である。
【0043】
歩幅推定用重回帰式データ603は、サンプリングデータ601を用いて重回帰分析処理を行うことで得られた歩幅推定用重回帰式のデータである。
【0044】
図5は、RAM70に格納されるデータの一例を示す図である。RAM70には、センサーデータ701と、合成加速度データ702と、歩幅推定用データ703と、歩幅データ704と、歩数データ705と、歩行距離データ706とが記憶される。
【0045】
図7は、センサーデータ701のデータ構成の一例を示す図である。センサーデータ701には、検出時刻7011(例えばミリ秒)と対応付けて、加速度センサー40により検出された3軸の加速度7013が記憶される。例えば、検出時刻「t1」において検出された加速度は「(Ax1,Ay1,Az1)」である。
【0046】
図8は、合成加速度データ702のデータ構成の一例を示す図である。合成加速度データ702には、加速度センサー40の検出時刻7021と対応付けて、3軸の加速度を合成した大きさである合成加速度7023が記憶される。例えば、検出時刻「t1」における合成加速度は「A1」である。
【0047】
歩幅推定用データ703は、歩幅を推定するために使用されるデータであり、図6のサンプリングデータ601と同様、ユーザーが歩行することで得られた合成加速度のピーク値と一歩の時間間隔とが対応付けて記憶される。
【0048】
歩幅データ704は、歩幅推定用重回帰式データ603と、歩幅推定用データ703とを用いて算出される最新の歩幅のデータである。
【0049】
歩数データ705は、所定の閾値加速度を超えている合成加速度のピーク値を検出する毎に逐次カウントされる歩数のデータである。
【0050】
歩行距離データ706は、最新の歩行距離についてのデータであり、歩幅推定用重回帰式に従って逐次推定される歩幅を累積加算することで取得されるデータである。
【0051】
5.処理の流れ
図9は、ROM50に記憶されているメインプログラム501がCPU10により読み出されて実行されることで、歩数計1において実行されるメイン処理の流れを示すフローチャートである。メイン処理は、CPU10が、操作部20を介してユーザーにより電源投入指示操作がなされたことを検出した場合に実行を開始する処理である。
【0052】
先ず、CPU10は、歩数計1の状態を判定する(ステップA1)。そして、歩数計1の状態が初期状態であると判定した場合は(ステップA1;初期状態)、ROM50に記憶されている重回帰分析プログラム5011を読み出して実行することで、重回帰分析処理を行う(ステップA3)。
【0053】
図10は、重回帰分析処理の流れを示すフローチャートである。
先ず、CPU10は、テスト歩行の指示を出力する(ステップB1)。具体的には、例えばユーザーにテスト歩行を指示するためのメッセージを表示部30に表示させる。尚、歩数計1に音出力部を設けておき、ユーザーにテスト歩行を指示するための音声ガイダンスを音出力部から出力させることにしてもよい。
【0054】
次いで、CPU10は、加速度センサー40から検出結果を取り込んで、RAM70のセンサーデータ701への記憶を開始する(ステップB3)。そして、CPU10は、センサーデータ701に記憶されている最新の3軸の加速度7011から加速度の大きさである合成加速度7023を算出し、RAM70の合成加速度データ702に記憶させる(ステップB5)。
【0055】
その後、CPU10は、所定の閾値加速度を超えている合成加速度のピーク値を検出するとともに(ステップB7)、検出した合成加速度のピーク値に対応付けられている検出時刻に基づいて、一歩の時間間隔を算出する(ステップB9)。そして、CPU10は、合成加速度のピーク値6011及び一歩の時間間隔6013のデータを、フラッシュROM60にサンプリングデータ601として蓄積記憶させる(ステップB11)。
【0056】
次いで、CPU10は、サンプリングデータ601として十分な数のデータが蓄積記憶されたか否かを判定し(ステップB13)、まだ十分な数のデータが蓄積記憶されていないと判定した場合は(ステップB13;No)、ステップB5に戻る。
【0057】
また、十分な数のデータが蓄積記憶されたと判定した場合は(ステップB13;Yes)、CPU10は、歩幅を目的変数、蓄積記憶された合成加速度のピーク値6011及び一歩の時間間隔6013を説明変数として重回帰分析を行って、歩幅推定用重回帰式を求める(ステップB15)。そして、CPU10は、求めた歩幅推定用重回帰式をフラッシュROM60に歩幅推定用重回帰式データ603として記憶させた後(ステップB17)、重回帰分析処理を終了する。
【0058】
図9のメイン処理に戻って、重回帰分析処理を行った後、CPU10は、続けて歩行検出を開始するか否かを判定し(ステップA5)、歩行検出を開始しないと判定した場合は(ステップA5;No)、メイン処理を終了する。また、続けて歩行検出を開始すると判定した場合は(ステップA5;Yes)、ステップA9へと処理を移行する。
【0059】
一方、ステップA1において歩数計1の状態が「検出可能状態」であると判定した場合は(ステップA1:検出可能状態)、CPU10は、加速度センサー40から検出結果を取り込んで、RAM70のセンサーデータ701への記憶を開始する(ステップA7)。そして、CPU10は、センサーデータ701に記憶されている最新の3軸の加速度7011から加速度の大きさである合成加速度7023を算出し、RAM70の合成加速度データ702に記憶させる(ステップA9)。
【0060】
その後、CPU10は、所定の閾値加速度を超えている合成加速度のピーク値を検出するとともに(ステップA11)、検出した合成加速度のピーク値に対応付けられている検出時刻に基づいて、一歩の時間間隔を算出する(ステップA13)。そして、CPU10は、合成加速度のピーク値及び一歩の時間間隔のデータを対応付けて、RAM70の歩幅推定用データ703に蓄積記憶させる(ステップA15)。
【0061】
次いで、CPU10は、歩幅推定用データ703に記憶されている最新の合成加速度のピーク値及び一歩の時間間隔を用いて、フラッシュROM60の歩幅推定用重回帰式データ603に記憶されている歩幅推定用重回帰式に従って歩幅を算出・推定し、RAM70の歩幅データ704に記憶させる(ステップA17)。
【0062】
その後、CPU10は、RAM70の歩数データ705に記憶されている歩数を更新する(ステップA19)。また、ステップA17で算出した歩幅を、RAM70の歩行距離データ706に記憶されている最新の歩行距離に加算することで歩行距離を新たに算出し、RAM70の歩行距離データ706を更新する(ステップA21)。
【0063】
そして、CPU10は、表示部30の歩数及び歩行距離の表示を更新する(ステップA23)。その後、CPU10は、操作部20を介してユーザーによりリセット指示操作がなされたか否かを判定し(ステップA25)、なされなかったと判定した場合は(ステップA25;No)、ステップA29へと処理を移行する。
【0064】
また、リセット指示操作がなされたと判定した場合は(ステップA25;Yes)、CPU10は、RAM70の歩数データ705及び歩行距離データ706にそれぞれ記憶されている歩数及び歩行距離をリセットする(ステップA27)。
【0065】
そして、CPU10は、操作部20を介してユーザーにより電源切断指示操作がなされたか否かを判定し(ステップA29)、なされなかったと判定した場合は(ステップA29;No)、ステップA9に戻る。また、電源切断指示操作がなされたと判定した場合は(ステップA29;Yes)、メイン処理を終了する。
【0066】
6.作用効果
歩数計1は歩幅推定装置としても機能し、予め定められた加速度と歩幅との相関関係と、加速度センサー40の検出結果から算出される合成加速度の大きさとを用いて、ユーザーの歩幅を推定する。より具体的には、所定の閾値加速度を超えている合成加速度のピーク値を検出することによって歩行タイミングを推定し、この推定した歩行タイミングから一歩の時間間隔を算出する。そして、得られた合成加速度のピーク値と一歩の時間間隔とを用いて、合成加速度及び一歩の時間間隔を説明変数とし、歩幅を目的変数とする重回帰式に従って歩幅を推定する。
【0067】
また、歩数計1は、初期状態においてユーザーにテスト歩行を行わせ、このテスト歩行により得られた合成加速度及び一歩の時間間隔のデータをサンプリングデータとして蓄積記憶する。そして、これらのサンプリングデータを用いて重回帰分析を行って歩幅推定用の重回帰式を求め、求めた重回帰式に従って歩幅を推定する。
【0068】
ユーザーに実際に歩行をさせることで得られるサンプリングデータを用いて歩幅推定用重回帰式を求めることにしているため、ユーザーの体型といった不確定要素に左右されずに、ユーザー毎に適切な重回帰式を用いて歩幅をより正確に推定することができる。この場合、歩幅が適切に推定されることで、歩行距離算出の正確性が向上する。また、歩行タイミング毎に歩幅推定用重回帰式に従って歩幅を算出するといった簡易な処理で済むため、従来の手法と比べて一歩の応答性が良く、また、計算量も削減される。
【0069】
7.変形例
7−1.電子機器
本発明は、歩数計の他にも、歩幅推定装置を備えた電子機器であれば何れの電子機器にも適用可能である。例えば、腕時計等についても同様に適用可能である。
【0070】
7−2.歩行状況に応じた歩幅推定
歩行状況に応じた複数種類の歩幅推定用重回帰式を予め求めておき、ユーザーの歩行時の歩行状況に対応する歩幅推定用重回帰式を選択して歩幅推定に使用することにしてもよい。
【0071】
図11は、この場合に歩数計1が備えるROM52のデータ構成の一例を示す図である。ROM52には、第2のメイン処理(図13参照)として実行される第2のメインプログラム521が記憶されている。また、第2のメインプログラムには、遅歩き用重回帰分析処理として実行される遅歩き用重回帰分析プログラム5211と、普通歩き用重回帰分析処理として実行される普通歩き用重回帰分析プログラム5213と、早歩き用重回帰分析処理として実行される早歩き用重回帰分析プログラム5215とがサブルーチンとして含まれている。
【0072】
図12は、この場合に歩数計1が備えるフラッシュROM62のデータ構成の一例を示す図である。フラッシュROM62には、重回帰分析用データ601と、歩幅推定用重回帰式データ623とが記憶される。また、歩幅推定用重回帰式データ623には、遅歩き用重回帰式6231と、普通歩き用重回帰式6233と、早歩き用重回帰式6235とが含まれている。
【0073】
図13は、ROM52に記憶されている第2のメインプログラム521がCPU10により読み出されて実行されることで、歩数計1において実行される第2のメイン処理の流れを示すフローチャートである。尚、図9のメイン処理と同一のステップについては同一の符号を付して説明を省略し、メイン処理とは異なる部分を中心に説明する。
【0074】
第2のメイン処理では、CPU10は、ステップA1において歩数計1の状態が「初期状態」であると判定した場合は(ステップA1;初期状態)、ROM52に記憶されている第2のメインプログラム521のサブルーチンを読み出して実行することで、遅歩き用重回帰分析処理と、普通歩き用重回帰分析処理と、早歩き用重回帰分析処理とを行う(ステップC2〜C4)。
【0075】
これらの処理では、CPU10は、図10の重回帰分析処理と同様に、ユーザーにテスト歩行を指示し、テスト歩行で得られたサンプリングデータを用いて、歩幅推定用重回帰式を求める。この際、遅歩き用重回帰分析処理では、ユーザーにゆっくり歩行するように指示し、普通歩き用重回帰分析処理では、ユーザーに普通に歩行するように指示し、早歩き用重回帰分析処理では、ユーザーに早歩きをするように指示する。これにより、遅歩き用重回帰式6231と、普通歩き用重回帰式6233と、早歩き用重回帰式6235との異なる3種類の歩幅推定用重回帰式を取得し、フラッシュROM62に歩幅推定用重回帰式データ623として記憶させる。
【0076】
そして、CPU10は、ステップA15の後、ステップA13で得られた一歩の時間間隔に基づいてユーザーの歩行状況を判定する(ステップC16)。例えば、一歩の時間間隔が予め定められた遅歩き判定用閾値より長ければ、歩行状況は「遅歩き」であると判定し、一歩の時間間隔が予め定められた早歩き判定用閾値より短ければ、歩行状況は「早歩き」であると判定することができる。また、何れにも該当しない場合は、歩行状況は「普通歩き」であると判定する。尚、合成加速度の大きさも併せて用いて歩行状況を判定することにしてもよい。
【0077】
その後、CPU10は、ステップC16で判定した歩行状況に対応する歩幅推定用重回帰式を、フラッシュROM62の歩幅推定用重回帰式データ623から読み出す(ステップC17)。そして、CPU10は、読み出した歩幅推定用重回帰式に従って、合成加速度のピーク値及び一歩の時間間隔を用いて歩幅を算出・推定し、RAM70の歩幅データ704に記憶させる(ステップC18)。そして、CPU10は、ステップA19へと処理を移行する。
【0078】
このように、複数種類の歩幅推定用重回帰式を予め求めておき、ユーザーのその時の歩行状況に対応する歩幅推定用重回帰式を選択して歩幅を推定するようにすることで、ユーザーの歩き方といった不確定な要素に左右されずに、歩幅推定を一歩一歩高い精度で行うことが可能となる。また、歩幅推定の精度が高まることで、歩行距離算出の正確性が一層向上する。
【0079】
7−3.相関関係
上述した実施形態では、加速度と歩幅との相関関係として、重回帰分析を行うことで得られる重回帰式によって表される関係を例に挙げて説明したが、相関関係はこれに限られるわけではない。加速度を入力値として与えることで歩幅が出力値として求められるような関係であればよく、例えば、重回帰分析以外の他の多変量解析の手法を用いて相関関係を求めることにしてもよい。
【0080】
また、重回帰分析を用いる場合であっても、説明変数を適宜追加・変更することで、ユーザーの種々の状態を考慮した歩幅推定を実現することができる。例えば、各歩行タイミングにおけるユーザーの心拍数を説明変数に加えて重回帰分析を行うことで、ユーザーの体調を考慮した歩幅推定を実現することが可能となる。
【0081】
7−4.合成加速度の平滑化処理
上述した実施形態では、合成加速度の“生”の値を用いてピーク値を検出するものとして説明したが、合成加速度に対して所定の平滑化処理を行い、平滑化された合成加速度の大きさを用いてピーク値を検出することにしてもよい。
【符号の説明】
【0082】
1 歩数計、 10 CPU、 20 操作部、 30 表示部、
40 加速度センサー、 50 ROM、 60 フラッシュROM、
70 RAM、 80 バス
【特許請求の範囲】
【請求項1】
ユーザーの加速度を検出することと、
予め定められた加速度と歩幅との相関関係と、前記ユーザーの加速度とを用いて、前記ユーザーの歩幅を推定することと、
を含む歩幅推定方法。
【請求項2】
前記相関関係は、加速度の大きさ及び一歩の時間間隔を説明変数とし、歩幅を目的変数とする重回帰式によって表される関係であり、
前記ユーザーの加速度に基づいて歩行タイミングを推定することと、
前記歩行タイミングから一歩の時間間隔を算出することと、
を更に含み、
前記歩幅を推定することは、前記歩行タイミングにおける前記ユーザーの加速度と、前記算出された時間間隔とを用いて、前記重回帰式に従って歩幅を推定することを含む、
請求項1に記載の歩幅推定方法。
【請求項3】
前記歩行タイミングにおけるユーザーの加速度と一歩の時間間隔とをサンプリングデータとして蓄積記憶することと、
前記蓄積記憶されたサンプリングデータを用いて重回帰分析処理を行って前記重回帰式を求めることと、
を更に含む請求項2に記載の歩幅推定方法。
【請求項4】
前記歩行タイミングを推定することは、前記加速度の時間変化が所定の高閾値条件を満たしたときのピーク値に対応する時刻を歩行タイミングと推定することを含む、
請求項2又は3に記載の歩幅推定方法。
【請求項5】
歩行状況に応じた複数の相関関係が予め定められており、
ユーザーの歩行状況を判定することを更に含み、
前記歩幅を推定することは、前記ユーザーの歩行状況に対応する相関関係と、前記ユーザーの加速度とを用いて推定することを含む、
請求項1〜4の何れか一項に記載の歩幅推定方法。
【請求項6】
加速度を検出する検出部と、
予め定められた加速度と歩幅との相関関係と、前記検出された加速度とを用いて、歩幅を推定する推定部と、
を備えた歩幅推定装置。
【請求項1】
ユーザーの加速度を検出することと、
予め定められた加速度と歩幅との相関関係と、前記ユーザーの加速度とを用いて、前記ユーザーの歩幅を推定することと、
を含む歩幅推定方法。
【請求項2】
前記相関関係は、加速度の大きさ及び一歩の時間間隔を説明変数とし、歩幅を目的変数とする重回帰式によって表される関係であり、
前記ユーザーの加速度に基づいて歩行タイミングを推定することと、
前記歩行タイミングから一歩の時間間隔を算出することと、
を更に含み、
前記歩幅を推定することは、前記歩行タイミングにおける前記ユーザーの加速度と、前記算出された時間間隔とを用いて、前記重回帰式に従って歩幅を推定することを含む、
請求項1に記載の歩幅推定方法。
【請求項3】
前記歩行タイミングにおけるユーザーの加速度と一歩の時間間隔とをサンプリングデータとして蓄積記憶することと、
前記蓄積記憶されたサンプリングデータを用いて重回帰分析処理を行って前記重回帰式を求めることと、
を更に含む請求項2に記載の歩幅推定方法。
【請求項4】
前記歩行タイミングを推定することは、前記加速度の時間変化が所定の高閾値条件を満たしたときのピーク値に対応する時刻を歩行タイミングと推定することを含む、
請求項2又は3に記載の歩幅推定方法。
【請求項5】
歩行状況に応じた複数の相関関係が予め定められており、
ユーザーの歩行状況を判定することを更に含み、
前記歩幅を推定することは、前記ユーザーの歩行状況に対応する相関関係と、前記ユーザーの加速度とを用いて推定することを含む、
請求項1〜4の何れか一項に記載の歩幅推定方法。
【請求項6】
加速度を検出する検出部と、
予め定められた加速度と歩幅との相関関係と、前記検出された加速度とを用いて、歩幅を推定する推定部と、
を備えた歩幅推定装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−216987(P2010−216987A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2009−64005(P2009−64005)
【出願日】平成21年3月17日(2009.3.17)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願日】平成21年3月17日(2009.3.17)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]