(57)【特許請求の範囲】
【請求項１】
運動中の性能を測定するシステムにおいて、
運動する人の足のかかと及びつま先間のラインにほぼ平行な移動方向における加速度を測定し、前記加速度に応じた加速度信号を信号処理手段に供給する加速度センサを具え、
前記信号処理手段が、
前記加速度信号の波形を分析し、前記分析から、前記運動する人の足によって行われる一歩の間の、前記一歩の開始及び終了を決定する手段と、
前記足の速度を前記一歩中の関数として計算し、前記足によって移動された距離を前記一歩中の時間の関数として計算するために、前記一歩の開始及び終了間の加速度信号を一重積分及び二重積分する手段と、
加速度誤差を、前記一歩の終了及び開始間に経過した時間で割った前記一歩の終了時における速度と等しくすることによって前記加速度誤差を計算する手段と、
前記加速度誤差を、前記一歩の終了及び開始間に経過した時間に関して二重積分することによって、距離誤差を計算する手段と、
前記距離誤差を、前記一歩中に移動した距離から引くことによって、補正された距離を計算する手段と、
を具えることを特徴とするシステム。
【請求項２】
請求の範囲１に記載のシステムにおいて、
前記信号処理手段が、前記運動する人の速度を、前記補正された距離を前記一歩の終了と次の一歩の終了との間の時間で割ることによって計算する手段をさらに具えることを特徴とするシステム。
【請求項３】
請求の範囲１又は２に記載のシステムにおいて、
前記運動する人の個人データを前記信号処理手段に入力する手段をさらに具えることを特徴とするシステム。
【請求項４】
請求の範囲３に記載のシステムにおいて、
前記データが、前記運動する人の質量を具え、
前記信号処理手段が、前記速度及び質量から前記運動する人によって消費されたカロリー数を計算するように動作することを特徴とするシステム。
【請求項５】
請求の範囲４に記載のシステムにおいて、
前記データが、前記運動する人の心拍数を具え、
前記信号処理手段が、前記心拍数及び単位時間あたりに消費されるカロリーから健康指示を計算するように動作することを特徴とするシステム。
【請求項６】
請求の範囲１、２、３、４、又は５に記載のシステムにおいて、
前記信号処理手段に結合され、運動パラメータを表示する表示手段をさらに具えることを特徴とするシステム。
【請求項７】
請求の範囲６に記載のシステムにおいて、
前記運動パラメータが、現在速度、平均速度、最高速度、歩幅、移動距離、経過時間、消費カロリー数及び健康指示のうち少なくとも１つを具えることを特徴とするシステム。
【請求項８】
請求の範囲６に記載のシステムにおいて、
前記信号処理手段を前記表示装置に結合する無線送信機及び受信機をさらに具えることを特徴とするシステム。
【請求項９】
請求の範囲１ないし８のいずれか１つに記載のシステムにおいて使用する加速度センサを具える運動靴において、
加速度に応じた加速度信号を供給する前記加速度センサを、該運動靴のかかと及び先間のラインとほぼ平行な移動方向における加速度を測定するように取り付けたことを特徴とする運動靴。
【請求項１０】
請求の範囲９に記載の運動靴において、
前記加速度信号に関する又は前記加速度信号から得られたデータを送信する送信機をさらに具えることを特徴とする運動靴。
【請求項１１】
請求の範囲９又は１０に記載の運動靴において、
信号処理手段をさらに具え、前記信号処理手段が、
前記加速度信号の波形を分析し、前記分析から、前記運動する人の足によって行われる一歩の間の、前記一歩の開始及び終了を決定する手段と、
前記足の速度を前記一歩中の時間の関数として計算し、前記足によって移動された距離を前記一歩中の時間の関数として計算するために、前記一歩の開始及び終了間の加速度信号を一重積分及び二重積分する手段と、
加速度誤差を、前記一歩の終了及び開始間に経過した時間で割った前記一歩の終了時における速度と等しくすることによって前記加速度誤差を計算する手段と、
前記加速度誤差を、前記一歩の終了及び開始間に経過した時間に関して二重積分することによって、距離誤差を計算する手段と、
前記距離誤差を、前記一歩中に移動した距離から引くことによって、補正された距離を計算する手段と、
を具えることを特徴とする運動靴。
【請求項１２】
請求の範囲９、１０又は１１に記載の運動靴において、
前記信号処理手段が、前記運動する人の速度を、前記補正された距離を前記一歩の終了と次の一歩の終了との間の時間で割ることによって計算する手段をさらに具えることを特徴とする運動靴。
【請求項１３】
加速度センサと信号処理手段とを具える運動靴において運動中の性能を測定する方法において、
前記加速度センサによって、運動する人の足のかかと及びつま先間のラインとほぼ平行な移動方向における加速度を測定し、前記加速度に応じた加速度信号を供給するステップと、
前記信号処理手段によって、前記加速度信号を処理するステップとを具え、
前記加速度信号を処理するステップが、
前記加速度信号の波形を分析し、前記分析から、前記運動する人の足によって行われる一歩の間の、前記足の移動の開始及び終了を決定するステップと、
前記足の速度を前記一歩中の時間の関数として計算し、前記足によって移動された距離を前記一歩中の時間の関数として計算するために、前記移動の開始及び終了間の加速度信号を一重積分及び二重積分するステップと、
加速度誤差を、前記一歩の終了及び開始間に経過した時間で割った前記足の移動の終了時における速度と等しくすることによって前記加速度誤差を計算するステップと、
前記加速度誤差を、前記足の移動の終了及び開始間に経過した時間に関して二重積分することによって、距離誤差を計算するステップと、
前記距離誤差を、前記一歩中に移動した距離から引くことによって、補正された距離を計算するステップと、
を具えることを特徴とする方法。
【請求項１４】
請求の範囲１３に記載の方法において、
前記信号処理ステップが、
前記補正された距離を、前記一歩の終了と次の一歩の終了との間の時間で割ることによって、前記運動する人の速度を計算するステップを具えることを特徴とする方法。
【発明の詳細な説明】
運動中の性能を測定する方法及びシステムと、このシステムにおいて使用する運動靴、本発明は、走行及び歩行中の、速度、移動距離、経過時間、平均速度、人間又は動物によって消費されるカロリーを決定する方法及びシステムに関係する。
過去において、規則的な運動が心臓血管に関する問題に対して重要であることが明らかにわかっている。さらに、規則的な運動は、人間の精神状態において肯定的な作用を持つことがわかっている。したがって、多くの個人が、規則的なジョギング、ランニング又はウォーキングの彼ら自身の健康プログラムに向かう。
走行は、身体におけるその治療作用に関して認識されている。心肺の健康を向上させ、血圧を下げるのを助け、心臓病に関係するコレステロールを減少させ、体重を減少させる。ウォーキング、ジョギングおよびランニングの人気の高まりのため、歩く、ゆっくり走る又は走るこれらの人々を援助する装置の数も同様に増加している。市場ですでに一般的な装置は、一般にステップカウンタすなわち歩数計と呼ばれる装置である。走行者又は歩行者の歩幅が一定ならば、前記歩数計は、前記走行者又は歩行者の速度および移動距離の測定を与える。しかしながら、前記歩幅は、一般的には一定でなく、種々の速度に対して確実に一定でなく、したがって、これらの装置はあまり正確ではない。
歩幅の入力なしで走行者の速度を測定する、先行技術において既知の装置がある。これらの方法の１つは、米国特許明細書第４５７８７６９号に記載されており、この方法は、走行又は歩行速度を、靴及び地面間の接触時間を測定することによって計算する。しかしながら、接触時間及び速度間の関係は、８ｋｍ／ｈ以上の走行速度に関してのみ線形である。歩行中の歩行速度及び移動距離の正確な決定は、この装置では不可能である。さらに、前記関係及び前記決定は、人間に依存する。
より正確な装置は、国際出願番号ＷＯ９７／２１９８３から既知である。この既知の装置において、加速度センサ及び回転センサと、数学的計算を行い、各ステップの距離及び高さを決定する電子回路とを、走行者の一方の靴の底に配置する。この既知の装置は、走行者の足の移動を測定するために、３個の加速度センサ及び３個の回転センサを使用する。この既知の装置は、複雑であり、比較的高価であることは、理解されるであろう。
本発明の目的は、先行技術の装置の欠点を克服し、比較的安価且つ簡単で、使用が手軽な、走行補助物用の新たな改善された測定方法及びシステムを提供することである。
本発明のさらなる目的は、走行者の速度を容易且つ正確に決定することができる走行補助物を提供することである。
本発明の依然としてさらなる目的は、走行者の移動距離を容易且つ正確に決定することができる走行補助物を提供することである。
本発明の他の目的は、平均速度及び最高速度と、走行者が移動した合計距離と、走行者の歩幅と、走行者によって消費されたカロリー数とを容易且つ正確に決定することができる走行補助物を提供することである。
上記及び他の目的を達成するために、本発明によれば、運動する人の足の移動方向における加速度を測定し、前記加速度に応じた加速度信号を供給する加速度センサと、前記加速度信号の波形を分析し、前記分析から、前記運動する人の足によって行われる一歩の間の、前記一歩の開始及び終了を決定する手段と、前記足の速度を前記一歩中の時間の関数として計算し、前記足によって移動された距離を前記一歩中の時間の関数として計算するために、前記一歩の開始及び終了間の加速度信号を一重積分及び二重積分する手段と、加速度誤差を、前記一歩の終了及び開始間に経過した時間で割った前記一歩の終了時における速度と等しくすることによって前記加速度誤差を計算する手段と、前記加速度誤差を、前記一歩の終了及び開始間に経過した時間に関して二重積分することによって、距離誤差を計算する手段と、前記距離誤差を、前記一歩中に移動した距離から引くことによって、補正された距離を計算する手段とを具える、運動中の性能を測定する手段が提供される。
本発明において、走行又は歩行中の速度及び移動距離を決定するために使用する方法は、走行者又は歩行者の足の加速度の常時監視に基づいている。これを、走行者の順方向速度及び歩幅を監視すべき場合、前記足のつま先及びかかと間、又は、前記靴の先及びかかと間のラインと平行の順方向における、又は、走行者の垂直速度及びジャンプ高を測定すべき場合、垂直方向における、又は、運動中の性能を測定したい何かにおける何らかの方向における加速度を測定する、走行者の足又は靴に装着された、又は、靴に搭載された最小限１個の加速度計によって行う。前記加速度計によって発生された信号を処理し、分析する。
前記加速度信号を解釈するために使用するアルゴリズムは、基本的に３つの主な機能、すなわち、一歩の開始及び終了の決定と、前記加速器信号の二重積分と、前記二重積分信号の補正とから成る。前記一歩の開始及び終了の決定を、前記加速度信号の波形を分析することによって行う。前記開始及び終了間の加速度信号の一重積分は、結果として、時間の関数としての前記足の速度を生じ、前記加速度信号の二重積分は、時間の関数としての前記足の距離を与える。
しかしながら、前記加速度センサによって感知される加速度は、歩行又は走行方向における足又は靴の真の加速度と同じではない。前記足又は靴と地面との間の角度が常時変化するため、前記歩行又は走行方向における加速度と、前記加速度センサによって感知された加速度との間には、複雑な関係が存在する。さらに、この変化する角度のため、重力加速度も、結果として、きわめて複雑な信号を生じる。しかしながら、本発明は、他の条件を使用する場合、時間の関数としての前記角度を知る必要がないことを実現した。
一歩の終了時において、地面に着地するため、前記足又は靴の速度はゼロになる。一歩の開始から一歩の終了までの前記加速度信号の一重積分の結果、すなわち、前記一歩の終了時における前記足又は靴の速度は、しかしながら、前記加速度信号における余分な成分のため、ゼロに等しくならない。この余分な成分を、前記一歩の終了時における速度から計算し、前記一歩中に移動した補正された距離を計算するために使用する。前記走行者の速度を、前記補正された距離を連続する歩の間に経過した時間で割ることによって計算する。この方法において、前記走行者の移動距離及び速度を、複数の加速度センサ及び回転センサを使用することなく、正確に測定することができる。
運動する人の質量のような個人データを入力することによって、この運動する人によって消費されるカロリー数を計算することができる。心拍数モニタを追加し、心拍数データを、単位時間あたりに前記運動する人によって消費されるカロリーと組み合わせることによって、前記運動する人の健康又は体調を表す数を発生することができる。本走行補助システムは、さらに、手首又はどこかに取り付けられ、現在の速度、歩幅、経過時間、平均速度、最高速度、合計移動距離、消費カロリー及び健康指示を表示する表示ユニットを具えてもよい。前記加速度センサ及び信号処理手段を具えるユニットと、前記表示ユニットとの間の通信を、好適には、前記センサユニットにおける無線送信機と、前記表示ユニットにおける受信機とによって行う。
前記加速度センサを、前記運動する人の足に装着すべきユニットに組み込んでもよい。このユニットを、運動靴の底に組み込むこともできる。このユニットは、さらに、前記信号処理手段及び送信機を具えてもよい。
本発明の上記及び他の特徴及び利点は、添付した図面の参照を伴う、本発明の好例である実施形態の以下の説明から明らかになるであろう。
同様の参照符を、これらの図面及び好適実施形態の説明において、同じ又はきわめて同様の項目を示すために使用する。
図１は、手首に表示ユニット２を取り付け、運動靴４を履いた、歩く又は走る人を示す。靴４の１つに、センサユニット６を装着する。しかしながら、センサユニット６を、図２により詳細に示すような靴の底に組み込んでもよい。センサユニット６を、人の足に直接装着してもよい。図４は、表示装置２及びセンサユニット６におけるエレクトロニクスのブロック図を示す。センサユニット６は、靴４の先及びかかと間、又は、前記人がセンサユニット６を足に直接装着する場合において前記人の足のつま先及びかかと間のラインとほぼ平行方向における加速度を感知するように取り付けられた加速度センサ８を具える。図３は、内蔵センサユニット６を有する靴４を履いた走る人を示す。矢印は、靴４の先及びかかと間のラインに沿った靴４の加速方向を示す。加速度センサ８を、図３における矢印が示す方向において高感度となるように取りつけるべきである。この目的に好適な加速度センサは、例えば、ムラタによって製造されているＰＫＧＳ−００ＬＡ−ＴＣ形式の圧電加速度計である。センサユニット６は、さらに、加速度センサ８からの加速度信号ＡＳを、アナログディジタル変換機（ＡＤＣ）１２に適切なレベルに増幅する増幅器１０を具え、ＡＤＣ１２は、前記増幅されたアナログ加速度信号をディジタル信号に変換する。前記ディジタル信号をマイクロプロセッサ１４に供給し、マイクロプロセッサ１４は、前記加速度センサ信号の波形の分析と、前記走る人の速度、歩幅及び他のパラメータの計算と、送信機１６を駆動する信号の発生とを行う。表示ユニット２は、受信機１８及びディスプレイ２０を具える。
センサユニット６の上述した電子機能を行う必要があるこれらの電子部品を、小さいプリント回路基板上に取りつけ、前記靴底内部に取りつけるか、靴４の側部の１つ又は上部に装着された小型ケースに入れてもよい。
前記走行者又は歩行者は、現在の走行又は歩行速度、移動距離、平均速度、経過時間等を読むことができなければならない。この目的のため、腕時計における、小型携帯用装置における、又は、何か他の方法でユーザに利用可能に形成されたディスプレイが必要である。靴４における、又は、靴４に装着されたセンサ６と、手首のまわり又は他の場所の表示ユニット２との間の通信を、無線とする。このデータ伝送は、シクロコンピュータのセンサ及び表示ユニット間のデータ伝送ときわめてよく似ているかもしれない。シクロコンピュータは、回転する自転車の車輪に接近したセンサから反復パルス信号を受け、この信号と前記車輪の円周とに基づいて自転車速度を計算する。同じ原理を、本発明において使用することができる。靴４において位置する、又は、靴４に装着されたセンサユニット６におけるマイクロプロセッサ１４は、一秒あたりのメータにおける速度を、一秒あたりの特定な数の実質的な車輪周囲に相当する、一秒あたりのパルス数に変換する。小型ＲＦ発振回路は、前記パルスを表示ユニット２に送り、表示ユニット２は、主に標準的なシクロコンピュータと同様のエレクトロニクスを含む。他の可能性は、速度及び他の測定データの情報を有する情報バイトを伝送することである。
ディスプレイ２０において、速度、平均速度、最高速度、移動距離、合計距離、移動時間、クロック時間及び消費カロリーを監視する。前記消費カロリーを計算するために、ユーザの質量が必要であり、表示ユニット２におけるコンピュータに、慣例的な方法において、例えば、表示ユニット２におけるボタン２２によって入力しなければならない。同じ測定装置を有する他の走行者又は歩行者との干渉を避けるために、前記無線送信を暗号化しなければならない。
加速度センサ８の加速度信号ＡＳは、順方向における、すなわち、走行者のつま先方向における、靴４の加速度を表す。すべての歩は以前の歩と同様であるため、この加速度信号は、反復する種類のものであるが、前記出力信号は、走行又は歩行速度及びスタイルに応じて大きく変化する。しかしながら、１つの重要な特徴は、すべての歩に関して共通であり、前記加速度信号の波形において反映され、前記足は、一歩の開始時において静止し、一歩の終了時において再び静止する。これは、明らかなように思われるが、前記加速度信号の解釈及び分析においてきわめて重要である。
図５は、６ｋｍ／ｈで歩く人の２．５秒間の増幅された加速度信号ＡＳの一例を示す。比較的小さい負のピークＢＳは、前記靴が地面を離れ、動き出した瞬間に対応する、一歩の開始を示す。大きな負のピーク後のゼロ交差ＥＳは、前記靴が地面に再び着地し、動きが停止した瞬間に対応する、一歩の終了を示す。２つのゼロ交差間の時間、すなわち、一歩の終了と次の一歩の終了との間の時間を、歩時間ＳＴとする。図６は、９ｋｍ／ｈで走る人に関する加速度信号ＡＳを示す。この信号においても、比較的小さい負のピークは、一歩の開始を示し、ゼロ交差は、一歩の終了を示す。
加速度信号ＡＳに、マイクロコンピュータ１４によって実行されるアルゴリズムを用いる。前記アルゴリズムの第１の主な機能は、一歩の開始及び終了を見つけることである。これを、加速度信号ＡＳの波形を解析し、前記信号における一歩の開始を示す比較的小さい負のピークＢＳと、一歩の終了を示すゼロ交差ＥＳ直前の比較的大きい負のピークとを見つけることによって行う。負のピークを、前記加速度信号の第１導関数が負から正に変るときを監視することによって検出することができる。さらに、加速度信号ＡＳの平滑化バージョンを常時監視する。最終的に、２つの最小値、すなわち、全体的な最小値と、前記足が地面を離れる瞬間におけるより小さい負のピークＢＳにほぼ近くの局所的な最小値とを記録する。特定の負のピークにおいて、前記加速度信号の値が特定の制限より小さい場合、前記ピークを検出する。このピーク発見アルゴリズムを、図７のフローチャートに関連してより詳細に説明する。足の地面への着地の強打が高い加速度ピークを引き起こすため、前記歩の終了を、加速度信号ＡＳにおいて比較的容易に認識することができる。しかしながら、前記歩の開始を見つけることは、より難しい。前記足が地面において静止し、次の歩のために空気中に乗り出させられるのを待っている間、加速度信号ＡＳは、図５及び６における瞬時ＢＳにおける波形から認められるように、ゼロではない。これは、いくつかの理由、すなわち、前記足の着地後の衝撃の遅い回復、前記靴の着地及び地面からの離脱間における前記靴の緊張を緩めている間の足の一定の動き、及び、前記足の急な角度の動きによる重力加速度の弱まる寄与のためである。
前記アルゴリズムの第２の主な機能は、前記歩の開始ＢＳ及び終了ＥＳ間の積分時間ＩＴ中の、加速度信号ＡＳの一重及び積分である。前記加速度信号の一重積分は、結果として、時間の関数としての移動する足の速度ｖ（ｔ）を生じ、前記加速度信号の二重積分は、時間の関数としての前記足の移動距離ｘ（ｔ）を与える。
ｖ（ｔ）＝∫ａ（ｔ）ｄｔ
ｘ（ｔ）＝∫∫ａ（ｔ）ｄｔ2
しかしながら、加速度信号ＡＳは、歩行又は走行方向における前記足の加速度を表すだけではない。前記靴及び地面間の角度が常に変化するため、前記歩行又は走行方向における加速度と、加速度センサによって感知された加速度との間に複雑な関係が存在する。さらに、この変化する角度のため、重力加速度も結果として信号を発生する。他の寄与は、前記エレクトロニクスからくる。ゼロ加速度に関する信号電圧は、常に同じではなく、すなわち、前記加速度信号のオフセットは、増幅器１０における偏差と、前記加速度センサそれ自体における温度偏差とによって、正確にはわからない。
しかしながら、歩の終了ＥＳにおいて前記靴の速度が、地面に着地したためゼロであるという条件を使用する場合、これらの信号寄与を必要としないことが、本発明の重要な態様である。前記足が動き始めた時の前記歩の開始ＢＳから、前記足が動きを止めた時の前記歩の終了ＥＳまでの、前記加速度信号の積分、すなわち、前記歩の終了時における前記靴の速度ｖ（ｔ＝ＥＳ）は、しかしながら、上述した信号寄与によって生じる加速度信号における誤差によって、ゼロに等しくならない。この誤差ａerrを、前記歩の終了時に得られる速度ｖ（ｔ＝Ｅｓ）を積分時間ＩＴで割ることによって計算することができる。
ａerr＝ｖ（ＥＳ）／ＩＴ
加速度誤差ａerrを知ることによって、前記歩幅における誤差ｘerrは、
0004286328.tif 000002
となる。補正された歩幅ｘcorrを、積分時間ＩＴについての前記加速度信号の二重積分の後に見つかった歩幅ｘ（ｔ＝Ｅｓ）から、誤差ｘerrを引くことによって計算する。
ｘcorr＝ｘ（ＥＳ）−ｘerr
歩行又は走行速度ｖを、前記補正された歩幅を歩時間ＳＴによって割ることによって実際的に計算する。
0004286328.tif 000003
人間の足取りは少し不規則であり、前記速度の決定も小さく偏差しているかもしれないため、前記速度は、前記計算された速度を以前の歩の速度と平均化することによって幾分滑らかにすると、精度が上がる。
本システムを、前記歩幅を測定したのとほとんど同じように、歩又はジャンプ高を測定するために、前記走行者の順方向に対して垂直方向において感度が高い他の加速度センサによって拡張することができる。
前記歩行又は走行速度と、前記走行者又は歩行者のエネルギー消費との間に、かなり正確な関係が存在する。前記走行者の質量が既知の場合、合計のエネルギー消費を、前記速度データから計算することができる。速度における消費カロリーの依存性は、歩行及び走行に関して、異なった勾配及び交点を有するが、線形である。この目的のため、表示ユニット２に、前記走行者の体重を入力するボタン２２及び格納するメモリ２４と、センサユニット６から受けた速度データ及び前記走行者の体重とを結合し、前記走行者によって消費されたカロリー数を計算するある種の計算ユニットとを設けてもよい。しかしながら、前記走行者の体重を、個人向けの体重計と同様のやり方で、運動靴４に取り付けられたセンサによって自動的に測定してもよい。
上述したシステムに追加することができる別個のシステムは、例えば、心拍数モニタ又は高度計である。単位時間あたりの心拍数及びエネルギー消費間の関係を、ユーザーの健康又は体調を表す数値に変換することができる。前記走行補助物によってコーチされたバランスのとれた運動は、前記エネルギー消費を、心拍数の関数として測定することができ、そこから、ユーザのＶＯ2,max（ｍｌ／ｍｉｎ／ｋｇ）において示される健康を推定することができる。
本発明は、人間の運動性能を測定することに限定されない。本発明を、動物、例えば、馬及び犬と共に使用することができることを理解すべきである。特に、馬に関して、ジャンプ高を感知する追加の加速度センサが有用な特徴である。
上述したアルゴリズムを、ここで、図７及び８に示すフローチャートの参照と共に詳細に示す。図７におけるブロックは、以下の記入を有する。
１  read AdcX
２  ai=(ai+AdcX)/2
CountInterval=CountInterval+1
３  ai>aiold
３Ａ  slopex=True
３Ｂ  slopex=False
４  CountUpper=3/4*StepTime
CountLower=3/4*StepTime
５  ai<minwindowloc
CountInterval=CountLower
CountInterval=CountUpper
５Ａ  minwindowloc=ai
６  ai<minloc
６ａ  minloc=ai
７  xav=(7*xav+ai)/8
aiold<minwindow+(xav-minwindow)/2
CountInterval>CountLower
CountInterval<CountUpper
８Ａ  pp=True
vx=0
xp=0
n=0
takeoff=CountInterval
９  aiold<offx-(offx-min)/2
９Ａ  peak=True
１０  Peak
aiold<offx
ai>offx
１０Ａ  min=(minloc+min)/2
minwindow=(minwindow+windowloc)/2
minwindowloc=1023
minloc=1023
GOSUB Calculation of speed
vx=0
xp=0
n=0
pp=False
StepTime=CountInterval
CountInterval=0
peak=False
１１  pp
１１Ａ  vx=vx+ai/8
xp=xp+vx/8
n=n+1
１２  aiold=ai
slopexold=slopex
図８におけるボックスは、以下の記入を有する。
２０  Calculation of speed
２１  xpshift=(offx/128)*n*(n+1)
vxshift=(offx/8)*n
２２  <>0
２３  vx>vxshift
２３Ａ  axoff=(vx-vxshift)/n
xpcor=1/2*n*(n+1)*axoff/8
xp=xp-xpshift-xpcor
２３Ｂ  axoff=(vxshift-vx)/n
xpcor=1/2*n*(n+1)*axoff/8
xp=xp-xpshift+xpcor
２４  NewSpeedValue=1024*StepTime/xp
２５  takeoff<StepTime/2
２５Ａ  NewSpeedValue=4/3*NewSpeedValue
２６  SpeedValue=(SpeedValue+NewSpeedvalue)/2
２７  Return
これらのフローチャートの説明において、テキストの左の番号は、図７及び８におけるブロックを示す。
図７は、前記アルゴリズムのメインプログラムのフローチャートを示す。
１  マイクロプロセッサ１４は、アナログディジタル変換機１２に指令し、加速度センサ８の増幅された信号の新たな値を獲得し、この得られた値を変数AdcXに入れる。
２  その後、変数AdcXにおける値を、変数aiにおける値と平均化する。このようにして得られた平滑化値を、変数aiに再び格納する。したがって、この変数は、この時点における平滑化加速度値を表す。さらに、カウンタCoutIntervalを１増分する。このカウンタは、歩の開始から、すなわち、前の歩の終了からのループ数を計数する。
３、３Ａ、３Ｂ  変数aiにおける値を、前のループのaiの値を格納する変数aioldの値と比較する。aiがaioldより大きい場合、この時点における加速度信号の勾配は正であり、ビットslopexを設定する（ブロック３Ａ）。aiの値がaioldより小さい場合、ビットslopexをリセットする（ブロック３Ｂ）。
４  変数StepTimeにおける値は、前の歩の歩時間を表す。この値に基づいて、ウィンドウを設定し、CountUpperの値をStepTimeの３／４倍に等しくし、CountLowerの値をStepTimeの１／４倍に等しくする。
５、５Ａ  カウンタCountIntervalがCountUpper及びCountLowerによって設定されたウィンドウ内である場合、aiの値を、変数minwindowlocと比較する。aiがminwindowlocより小さい場合、minwindowlocをaiに等しくし、この変数が、前記時間ウィンドウ内のaiの最小値の軌跡を保持するようにする。
６、６Ａ  aiがminlocより小さい場合、後者の変数の値をaiに等しくし、この変数minlocが、前記歩全体におけるaiの最小値の軌跡を保持するようにする。
７  前記加速度信号の最も新しい８個の値の移動平均を計算し、結果として、前記加速度信号のきわめて平滑化されたバージョンを生じる。xavに格納された前記平滑化バージョンを、前記足の移動の開始時における小さい負のピーク（図５及び６におけるＢＳ）を見つける道具として使用する。
８、８Ａ  カウンタCountIntervalの値がCountUpper及びCountLowerによって設定されたウィンドウ内であり、この時点において、前記加速度信号が負のピークの最小値であることが明らかであり、slopexoldが偽及びslopexが真であり、この最小値の値がminwindow及びxavの中間値より小さい場合（ブロック８における条件）、（ブロック８Ａ）前記足の移動の開始時における小さい負のピークが見つかる。これを、前記加速度信号の一重及び二重積分を開始することができる合図とし、これは、ビットｐｐの設定と、積分変数ｖｘ及びｘｐ及び積分カウンタｎの初期化とをもたらす。さらに、変数takeoffをCountIntervalの値に等しくし、StepTimeが前記歩の終了時において既知の場合、歩行又は走行に関係しているか否かを決定することができるようにする。minwindowの値を、この変数に関係する局所変数、すなわち、minwindowlocの平滑化バージョンとする。この平滑化を、前記歩の終了時に行い、前記アルゴリズムにおいて後に現れる。
９、９Ａ  カウンタCountIntervalがCountLowerより大きく、この瞬時において、slopexoldが偽であり、slopexが真であるため、前記加速度信号が負のピークの最小値であることが明らかであり、この最小値の値が、変数offxに格納されたゼロ加速ラインと、minlocの平滑化バージョンであるminとの中間値より小さい場合、前記歩の終了前の最も大きい負のピーク（図５及び６におけるゼロ交差ＥＳの左側のピーク）に関係する大きい負のピークを見つける。前記ピークを見つけたということを、ビットPeakを設定することによって保持する（ブロック９Ａ）。
１０、１０Ａ  前記大きい負のピークを見つけた後、加速度変数aiの値は、ゼロ加速度ラインoffxと交差する。この交点を、Peakが真であり、aiがoffxより大きく、aioldがoffxより小さい場合、見つける（ブロック１０）。この瞬時は、前記歩の終了に関係するため、きわめて重要である。多くのことを、前記歩の終了において処理しなければならない。
ａ．最小検出器の平滑化バージョンmin及びminwindowを計算し、前記局所バージョンを、１０２３の最小値にリセットする。
ｂ．ビットPeak及びppをリセットする。
ｃ．変数StepTimeの新たな値を、カウンタCountIntervalにおける値と等しくし、カウンタCountIntervalをゼロにリセットする。
ｄ．前記歩行及び走行速度を計算し、この計算を、以下に示すサブルーチンCalculation of speedにおいて行う。
ｅ．前記速度の計算後、積分変数vx、xp及びnをゼロにリセットするが、これを、ブロック８Ａにおいて、前記小さい負のピークが前記足の移動の開始時に見つかった瞬時においても行う。
１１，１１Ａ  ビットppが真である場合（ブロック１１）、前記プロセッサは、速度vxを得るために前記加速度aiを積分し、距離xpを得るために前記速度を積分する（ブロック１１Ａ）。ai及びvxの値を、８で割り、変数vx及びxpが、１６ビット変数に格納することができる最大値である６５５３５より大きくなるのを防ぐ。
１２  前記アルゴリズムの最終ステップは、aiにおける値をaioldにシフトし、slopexの値をslopexoldにシフトすることである。この後、前記ループは、ブロック１におけるループの開始において再び開始する。
図８は、サブルーチンCalculation of speedのフローチャートを示す。
２１  前記マイクロプロセッサは、正の整数によってのみ計算を行うことができる。もちろん、前記足の移動中、正及び負の双方の加速度が生じる。これは、あるマッピングを行い、前記加速度の正及び負の双方の値を、アナログディジタル変換機によって許可される１０ビット制度にマッピングされるようにしなければならないことを意味する。この論理的マッピングは、ゼロ加速度を２の１０乗の半分である５１２に等しくする。前記加速度の負の値は５１２より小さく、前記加速度の正の値は５１２より大きい。これは、加速度ai及び速度vxの積分中、前記積分を、実際のゼロに関して行わず、変数offxに格納された５１２のオフセットに関して行うことも意味する。これらの追加の領域を、前記積分後にvx及びxpにおいて得られた値から引かなければならない。前記一重積分の場合において引かなければならない値を、変数vxshiftにおいて格納し、オーバフローを防ぐために前記積分中に導入された（図７、ブロック１１Ａ）オフセットoffxのｎ倍を８で割ったものに等しくする。前記二重積分の場合において引かなければならない値を、変数xpshiftにおいて格納し、８の平方、すなわち、６４で割ったオフセットoffxの(n+1)倍のn倍の1/2倍に等しくする。
２２  積分カウンタnがゼロでない場合、その積分が実際に行われたことを意味し、前記速度の計算を開始することができ、そうでなければ、前記計算をスキップする。
２３、２３Ａ、２３Ｂ  重力がない完全なシステムにおいて、vxにおける値引くvxshiftの値は、前記歩の終了における足が地面において静止しているため、ゼロになるべきである。しかしながら、実際には、そうではない。したがって、vxにおける値を使用し、歩幅xpの補正を計算する。vxがvxshiftより大きい場合、減算vx-vxshiftを、負の数を得る危険性なしに行うことができる。この場合において、前記加速度における仮想オフセットaxoffを、この差をnで割ることによって計算する（ブロック２３Ａ）。vxの値がvxshiftより小さい場合、前記差は、結果として、負の値を生じるであろう。したがって、別個のルーチン（ブロック２３Ｂ）は、前記加速度におけるオフセットを、vxをvxshiftから引き、nで割ることによって計算する。その後、xpの補正を、(1/2)*n(n+1)及びaxoff/8を掛けることによって計算する（ブロック２３Ａ及び２３Ｂ）。
２４  ここで、歩時間StepTime及び歩幅xpの双方が既知であるため、前記歩行又は走行速度を計算することができる。しかしながら、前記速度は、km/h又はmi/hでは表されず、既知の仮想車輪周囲を仮定するシクロコンピュータに関して、２つの順次の信号間の時間において表される。これを、StepTimeをxpで割り、その結果にある較正係数（この場合において、１０２４）をかけることによって計算する。この値を、変数NewSpeedValueに格納する。
２５、２５Ａ  このプログラムのこの部分は、補正の改善である.試験から、前記走行速度が３０％程度高すぎると推定される。前記アルゴリズムが、歩行及び走行間を区別できることから（ブロック２５）、この誤差を、NewSpeedValueに4/3を掛ける（ブロック２５Ａ）ことによって、容易に補正することができる。
前記靴又は足が地面の上にある時間が、歩行中は前記歩時間の５０％より長く、走行中は前記歩時間の５０％より短いことが、観測から明らかである。
２６  最終的に、２つ又はそれ以上の歩に関して平滑化を行い、前記速度データの変動を減少する。実際の速度を変数SpeedValueに格納する。
２７  このサブルーチンは、準備ができており、制御は、前記アルゴリズムのメインプログラムに帰る。
明らかに、上述した本発明の好適実施形態の多くの変更及び変形は、当業者には明らかであろう。本発明は、開示した特定の実施形態には限定されず、その範囲は、添付した請求の範囲によってのみ決定されるということを理解すべきである。
【図面の簡単な説明】
図１は、足に装着されたセンサユニットと、手首に取り付けられた受信及び表示ユニットとを示す、走行者の斜視図である。
図２は、本発明の原理にしたがって動作する内蔵加速度センサを有する運動靴の部分的な断面図である。
図３は、走行者が履いた運動靴の先及びかかと間のラインと平行方向における、前記走行者の足の加速を示す。
図４は、本走行補助システムを形成する電子ユニットのブロック図を示す。
図５は、走行者が６ｋｍ／ｈで歩いているときの加速度センサ信号の波形の一例を示す。
図６は、走行者が９ｋｍ／ｈで走っているときの加速度センサ信号の波形の一例を示す。
図７は、走行者による速度及び移動距離を計算するアルゴリズムのメインプログラムのフローチャートを示す。
図８は、走行者の速度を計算するルーチンのフローチャートを示す。
【図１】
0004286328.tif 000004
【図２】
0004286328.tif 000005
【図３】
0004286328.tif 000006
【図４】
0004286328.tif 000007
【図５】
0004286328.tif 000008
【図６】
0004286328.tif 000009
【図７】
0004286328.tif 000010
【図８】
0004286328.tif 000011