JP5900655B2 - 加速度センサ出力処理プログラム,処理方法,処理装置及び歩行評価プログラム - Google Patents
加速度センサ出力処理プログラム,処理方法,処理装置及び歩行評価プログラム Download PDFInfo
- Publication number
- JP5900655B2 JP5900655B2 JP2014551789A JP2014551789A JP5900655B2 JP 5900655 B2 JP5900655 B2 JP 5900655B2 JP 2014551789 A JP2014551789 A JP 2014551789A JP 2014551789 A JP2014551789 A JP 2014551789A JP 5900655 B2 JP5900655 B2 JP 5900655B2
- Authority
- JP
- Japan
- Prior art keywords
- acceleration
- magnitude
- acceleration sensor
- sensor output
- output processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000001133 acceleration Effects 0.000 title claims description 431
- 238000012545 processing Methods 0.000 title claims description 128
- 238000003672 processing method Methods 0.000 title claims description 9
- 230000005021 gait Effects 0.000 title claims description 4
- 239000013598 vector Substances 0.000 claims description 181
- 238000000034 method Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 36
- 230000005484 gravity Effects 0.000 claims description 34
- 238000011156 evaluation Methods 0.000 claims description 19
- 238000012935 Averaging Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 51
- 230000033001 locomotion Effects 0.000 description 44
- 238000004364 calculation method Methods 0.000 description 41
- 210000002414 leg Anatomy 0.000 description 34
- 230000006870 function Effects 0.000 description 18
- 230000008859 change Effects 0.000 description 12
- 239000000284 extract Substances 0.000 description 9
- 101100268665 Caenorhabditis elegans acc-1 gene Proteins 0.000 description 6
- 101100136092 Drosophila melanogaster peng gene Proteins 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005381 potential energy Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 240000006829 Ficus sundaica Species 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 101000911772 Homo sapiens Hsc70-interacting protein Proteins 0.000 description 1
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 210000003423 ankle Anatomy 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 210000002683 foot Anatomy 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 210000004394 hip joint Anatomy 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/112—Gait analysis
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1123—Discriminating type of movement, e.g. walking or running
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/725—Details of waveform analysis using specific filters therefor, e.g. Kalman or adaptive filters
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
- G01C22/006—Pedometers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
- G01P15/18—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration in two or more dimensions
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2562/00—Details of sensors; Constructional details of sensor housings or probes; Accessories for sensors
- A61B2562/02—Details of sensors specially adapted for in-vivo measurements
- A61B2562/0219—Inertial sensors, e.g. accelerometers, gyroscopes, tilt switches
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1121—Determining geometric values, e.g. centre of rotation or angular range of movement
- A61B5/1122—Determining geometric values, e.g. centre of rotation or angular range of movement of movement trajectories
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7271—Specific aspects of physiological measurement analysis
- A61B5/7278—Artificial waveform generation or derivation, e.g. synthesising signals from measured signals
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Veterinary Medicine (AREA)
- Physiology (AREA)
- Public Health (AREA)
- Biophysics (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Animal Behavior & Ethology (AREA)
- Surgery (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Dentistry (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Psychiatry (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
- Navigation (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Geometry (AREA)
Description
本発明は,加速度センサ出力処理プログラム,処理方法,処理装置及び歩行評価プログラムに関する。
近年の携帯電話などの携帯機器は,様々なセンサを有し,センサ出力値を利用した様々な機能を有している。例えば,加速度センサを有する携帯機器は,そのセンサ値に基づいて,携帯機器の現在の状態を判定する。
一例として,加速度センサのセンサ値を利用してユーザの歩行状態を評価する携帯機器が提案されている。例えば,特許文献1,2などである。これらの文献には,加速度センサのセンサ値から携帯機器の所有者の歩数を計測することや,センサ値から歩行中における鉛直方向(重力方向,または上下方向)の加速度の大きさと水平方向の加速度の大きさを四則演算により求めることが記載されている。
また,歩行評価については,特許文献3などに記載されている。
しかしながら,歩行状態を評価するためには,上下方向の加速度の大きさに加えて,左右方向の一方と他方の加速度の大きさや,前後方向の一方と他方の加速度の大きさが検出されることが望ましい。さらには,右方向と左方向の加速度の大きさや,前方向と後ろ方向の加速度の大きさが検出されることが望ましい。
加速度センサの座標系で出力されたセンサ値を上下左右前後の座標系に変換することは,回転行列を利用する演算処理により可能である。しかし,この演算処理によれば,三角関数の演算が必要であり,四則演算などの簡単な演算処理しかできないマイクロプロセッサでは容易ではなく,より高度な演算処理が可能なマイクロプロセッサが必要になる。
そこで,本発明の目的の一つの側面は,四則演算などの簡単な演算処理で加速度センサのセンサ値から歩行状態の左右方向の一方と他方の加速度を求める加速度センサ出力処理プログラム,処理方法,処理装置を提供することにある。
また,本発明の目的の別の側面は,四則演算などの簡単な演算処理で加速度センサのセンサ値から歩行状態の左方向と左方向それぞれの加速度を求める加速度センサ出力処理プログラム,処理方法,処理装置を提供することにある。
さらに,本発明の目的の別の側面は,歩行状態の前後方向の一方と他方の加速度,または,歩行状態の前方向と後方向それぞれの加速度を求める加速度センサ出力処理プログラム,処理方法,処理装置を提供することにある。
そして,本発明の目的の別の側面は,上記の求められた加速度に基づいて歩行状態を評価する歩行評価プログラムを提供することにある。
本実施の形態の第1の側面は,歩行中に検出される三軸加速度センサのセンサ値(A)から左右方向の一方と他方の加速度の大きさ(h)を生成する加速度センサ出力処理を,コンピュータに実行させる加速度センサ出力処理プログラムであって,
前記加速度センサ出力処理は,
前記センサ値(A)からローパスフィルタにより抽出した重力成分ベクトル(G)と,ハイパスフィルタにより抽出した振動成分ベクトル(S)との外積(S×G)を生成する工程と,
前記外積の大きさに対応する第1の値を求める工程と,
前記歩行の奇数番目の歩周期と偶数番目の歩周期とを判定する工程と,
前記判定結果に応じて,前記第1の値の符号を反転して,前記左右方向の一方と他方の加速度の大きさ(h)を生成する工程とを有する。
前記加速度センサ出力処理は,
前記センサ値(A)からローパスフィルタにより抽出した重力成分ベクトル(G)と,ハイパスフィルタにより抽出した振動成分ベクトル(S)との外積(S×G)を生成する工程と,
前記外積の大きさに対応する第1の値を求める工程と,
前記歩行の奇数番目の歩周期と偶数番目の歩周期とを判定する工程と,
前記判定結果に応じて,前記第1の値の符号を反転して,前記左右方向の一方と他方の加速度の大きさ(h)を生成する工程とを有する。
第1の側面によれば,加速度センサのセンサ値から歩行状態の左右方向の一方と他方の加速度を求めることができる。
図1は,本実施の形態における携帯機器の構成図である。スマートホンなどの携帯機器10は,メインマイクロプロセッサ11と,サブマイクロプロセッサ14と,メモリ17とを有し,さらに,携帯機器10は,周辺リソースとして,図示しない表示パネルのタッチパネル制御部1や,無線通信などを行う通信マクロ18などを有する。さらに,携帯機器10は,三軸加速度センサ13を有する。
メインマイクロプロセッサ11は,制御プログラム12Aを実行して携帯機器が有する各種の機能を実現する。サブマイクロプロセッサ14は,加速度センサ出力処理プログラム14Aを実行して,加速度センサ13のセンサの座標系で出力されたセンサ出力を演算処理して,上下方向の加速度gと,左右の一方と他方の加速度または左右方向の加速度h,前後の一方と他方の加速度または前後方向の加速度fとを出力する。さらに,サブマイクロプロセッサ14は,歩行評価プログラム14Bを実行して所有者の歩行状態の評価結果を生成し,記憶する。
メインマイクロプロセッサ11は,高速演算処理が可能であるが消費電力が大きい。したがって,常時動作状態に保つことは好ましくなく,動作時間に一定の制限があり,一時的に休止状態に制御される。一方,歩行状態を評価するためには,日常の歩行データを常時取得し,その歩行データに基づいて歩行状態を評価することが求められる。
そこで,サブマイクロプロセッサ14は,少なくとも歩行中は活性状態にされ,加速度センサ13のセンサ値を入力し,センサの座標系のセンサ値を演算処理して前述の上下,左右,前後の加速度データを生成する。ただし,サブマイクロプロセッサ14は,四則演算など簡単な演算処理やメモリへのアクセス処理などしかできないが,消費電力が小さいので,長時間にわたり加速度センサ出力処理プログラム14Aを実行することができる。さらに,サブマイクロプロセッサ14は,歩行評価プログラム14Bを実行して,歩行状態を評価し評価結果を記憶する。
そして,メインマイクロプロセッサ11は,間欠的に動作状態にされ,サブマイクロプロセッサ14が常時または長時間にわたり生成した歩行状態の評価結果に基づいて,ユーザに分かりやすい値に変換したり統計情報を作成したりして,ユーザに出力する。
以上のとおり,サブマイクロプロセッサ14が実行する加速度センサ出力処理プログラム14Aは,簡単な演算処理によりセンサ座標系のセンサ出力を,携帯機器を携帯している所有者の座標系の加速度に変換する。この簡単な演算処理には,内積や外積の演算処理が含まれる。
図2は,人間の歩行における体幹と両脚の動きを模式的に表す図である。体幹20は,人間の股関節から頭部までの部分に対応し,脚20L,20Rは左脚と右脚とに対応する。人間は,歩行中,左右の脚20L,20Rを交互に地面に着いて,体幹20を上下,左右,前後に揺らす。図2に示されるとおり,体幹20の上下動の周期は,左右の脚20L,20Rが地面に着いている期間と一致し,一方,体幹20の左右の揺れの周期は,左脚20Lが地面に着いている間は左側に揺れ,右脚20Rが地面に着いている間は右側に揺れるので,上下動の周期の2倍の周期(1/2周波数)である。
また,人間は,歩行中,左右の脚20L,20Rを地面に着地する瞬間が最も下方向の加速度が大きく,着地後体幹20を上昇させる時に上方向の加速度が発生し,最上点でその加速度が最小になり下方向の加速度に切り替る。また,左右方向の加速度は,左脚20Lを着地すると左方向の加速度が発生し,右脚20Rを着地すると右方向の加速度が発生する。
本実施の形態では,このような人間の歩行の特徴点を利用して,四則演算によりセンサ座標系(X,Y,Z)のセンサ出力を歩行者の座標系(上下(z軸),左右(x軸),前後(y軸))に変換する。
図3は,センサ座標系と歩行者の座標系について説明する図である。歩行者HBは,加速度センサ13を有する携帯機器10を携帯している。携帯機器10は様々な方向で携帯されるので加速度センサ13の座標系も様々な方向になる。そして,加速度センサ13は,センサ座標系(X,Y,Z)で検出した加速度ベクトルを出力する。そこで,サブマイクロプロセッサ14の加速度センサ出力処理プログラム15は,このセンサ座標系の加速度ベクトルから,歩行者HBの座標系(x,y,z)の上下方向,左右方向,前後方向の加速度の大きさを演算する。しかも,その演算処理は,四則演算程度の簡単な演算処理だけを有する。より具体的には,演算処理は内積と外積の演算を有し,内積と外積演算は四則演算で行うことができる。
図4は,姿勢が不明な加速度センサのセンサ出力から歩行者の振動の上下方向の加速度の大きさを求める演算処理を示すシーケンス線図である。図4中の(1)は,加速度センサのセンサ出力Aと,重力加速度Gと,歩行者による振動の加速度Sとを示す。加速度センサは,センサ出力Aとして,センサ座標系X,Y,Z内における座標値(X1,Y1,Z1)Tを出力する。このセンサ出力Aの座標値には,センサ出力Aの方向と大きさ(スカラー値)が含まれるベクトルをあらわす。
このセンサ値A=(X1,Y1,Z1)Tは,重力加速度ベクトルGと歩行に伴う振動の加速度ベクトルSとの合成である。歩行に伴う振動Sは,図2で説明したとおり,ある周期の繰り返し運動である。したがって,センサ出力Aを,適切なカットオフ周波数のローパスフィルタとハイパスフィルタとを通すと,振動加速度Sと重力加速度Gに分離することができる。
図4(2)に示されるとおり,歩行の振動に伴う上下方向の加速度は,振動Sの中の重力Gと並行な成分Vである。このVの大きさ|V|は,SとGの成す角をθとすると,
|V| = |S| cos θ (式1)
と表現できる。
|V| = |S| cos θ (式1)
と表現できる。
ここでSとGの内積(dot product)を考える。内積はベクトルのX,Y,Z成分同士を乗算した後に加算すれば得られるため,非力なサブマイクロプロセッサ14でも簡単に計算することができる。すなわち,内積は,S=(ax, ay, az),
G=(bx, by, bz)とすると,以下の演算式で求められる。
S・G = axbx+ayby+axby
SとGの内積は定義より,
S・G = |S||G| cos θ (式2)
である。この式2を先の式1に当てはめると
|V| = |S| cos θ = |S||G| cos θ/|G| = S・G / |G| (式3)
となる。
G=(bx, by, bz)とすると,以下の演算式で求められる。
S・G = axbx+ayby+axby
SとGの内積は定義より,
S・G = |S||G| cos θ (式2)
である。この式2を先の式1に当てはめると
|V| = |S| cos θ = |S||G| cos θ/|G| = S・G / |G| (式3)
となる。
ここでGは重力加速度であるため,その大きさ|G|は地球上ではほぼ一定である。すなわち図4(3)のように,センサ値Aに対しローパスフィルタLPFとハイパスフィルタHPFを通し,それぞれの出力の内積を演算することで,歩行運動に伴う上下方向の加速度Vの大きさ|V|に比例した数値を得ることができる。つまり,加速度Vは正と負の符号を有するが,式(3)の|V|により,少なくとも上方向の加速度の大きさと下方向の加速度の大きさを得ることができる。
図5は,姿勢が不明な加速度センサのセンサ出力から歩行者の振動の水平方向の加速度を求める演算処理を示すシーケンス線図である。図4と同様に,図5(1)に示されるように,加速度センサのセンサ出力Aは,歩行状態に伴う振動の加速度Sと重力加速度Gの合成と考える。
ここで振動成分SがGと平行な成分VとGと直交する成分Hとの和と考えると,Hは歩行状態に伴う振動の水平成分と考えることができる。ここでSとGの外積を考える。外積もまた各ベクトルの要素の掛け算と引き算によって得られるため,非力なマイコンでも簡単に計算することができる。すなわち,外積は,S=(ax, ay, az), G=(bx, by, bz)とすると,以下の演算式で求められる。
S×G = (aybz-azby,azbx-axbz,axby-aybx)
SとGの外積は定義より,S,G共に垂直の方向で,S,Gによって構成される平行四辺形の面積|W|と等しい大きさのベクトルWである。すなわち
|W| = |S × G| (式4)
である。ここで,図5(2)のように,平行四辺形の面積|W|は,|W| = |G||H| とも記述できる。この式 |W| = |G||H| を,式4に当てはめると,
|H| = |W|/|G| = |S × G|/|G|
と表現できる。
S×G = (aybz-azby,azbx-axbz,axby-aybx)
SとGの外積は定義より,S,G共に垂直の方向で,S,Gによって構成される平行四辺形の面積|W|と等しい大きさのベクトルWである。すなわち
|W| = |S × G| (式4)
である。ここで,図5(2)のように,平行四辺形の面積|W|は,|W| = |G||H| とも記述できる。この式 |W| = |G||H| を,式4に当てはめると,
|H| = |W|/|G| = |S × G|/|G|
と表現できる。
図4と同じく|G|は地球上ではほぼ一定であることを考慮すると,図5(3)に示すとおり,センサ出力Aを,ローパスフィルタLPFとハイパスフィルタHPFを介して重力方向加速度Gと振動の加速度Sを抽出し,それらの外積G×Sを演算し,その外積の絶対値を求め|G|で除算すれば,歩行状態に伴う振動Sの水平成分Hの大きさ|H|に比例した数値を得ることができる。
なお,この方法には留意すべき点が二つある。一つは絶対値を得る方法である。絶対値を得るためには,外積S×Gのベクトルの各要素を二乗して加算し,その加算値の平方根を求めなければならないが,そのためには計算コストがかかる。そこで,図5では,水平成分の大きさの大小比較しか行わない場合は,平方根を求めず外積ベクトルの各要素を二乗した結果そのものを使うことができる。つまり,サブマイクロプロセッサ14でも,水平方向の加速度の大きさ|H|に対応した大きさ(|H|2)を演算で求めることができる。したがって,図5内の絶対値を求める演算は外積ベクトルS×Gの各要素の二乗を加算して|G|で除算する演算であればよい。
もう一つは,絶対値を用いることから,得られる数値は必ず正になることである。すなわち,得られる結果は|H|であり,h=|S|sinθのような符号付きの値ではない。ただし,水平成分の大きさの大小比較しか行わない場合は,水平方向を判別する符号付きの値である必要はない。
[本実施の形態の概略]
上記の図4の方法によれば,上下の振動成分を分離することができる。また,図5の方法によれば,水平方向の振動成分を分離することができる。しかし,振動成分Sを,左方向と右方向,前方向と後方向の成分に分離することはできない。
上記の図4の方法によれば,上下の振動成分を分離することができる。また,図5の方法によれば,水平方向の振動成分を分離することができる。しかし,振動成分Sを,左方向と右方向,前方向と後方向の成分に分離することはできない。
図6は,歩行に伴う振動成分Sと,Sの左右方向Hの成分hと,Sの前後方向Fの成分fとの関係を示す図である。図6中には,歩行者の重力方向の上下軸zと,前後軸xと,左右軸yとが示されている。歩行に伴う振動成分Sは,重力方向成分Vと水平方向成分Hとの合成である。そして,水平方向成分Hと前方向F(前後軸x)との角度をφとすれば,前方向の加速度の大きさfは,f=|H|cosφ,左方向の加速度の大きさhは,h=|H|sinφである。これらにはそれぞれ符号がつくので,f=|H|cosφは前後の方向の加速度の大きさ,h=|H|sinφは左右の方向の加速度の大きさを意味する。
そこで,本実施の形態では,歩行動作の特徴点を考慮することで,歩行者の歩行に伴う振動Sを,前方向Fと水平成分の振動Hの成す角φを求め,前後方向の大きさ|H|cosφと,左右方向の大きさ|H|sinφを得る。ただし,先ずは,左右の区別はつかないが,左右方向の一方と他方の加速度の大きさを求める第1の実施の形態を説明し,その後,左右方向の一方と他方の加速度の大きさに加えて前後方向の一方と他方の加速度の大きさを求める第2の実施の形態と,左右方向を区別する加速度の大きさと前後方向を区別する加速度の大きさを求める第3の実施の形態を説明する。
[第1の実施の形態の第1の例]
図7は,第1の実施の形態におけるサブマイクロプロセッサ14内の加速度センサ出力処理プログラム15の処理機能を示す図である。加速度センサ出力処理プログラム15は,加速度センサ13が出力するセンサ座標系のセンサ出力Aから,上下方向の加速度の大きさを算出し(15A),左右方向の一方と他方の加速度の大きさを算出する(15B)。ただし,この例では,右方向と左方向を区別する加速度の大きさは算出しない。
図7は,第1の実施の形態におけるサブマイクロプロセッサ14内の加速度センサ出力処理プログラム15の処理機能を示す図である。加速度センサ出力処理プログラム15は,加速度センサ13が出力するセンサ座標系のセンサ出力Aから,上下方向の加速度の大きさを算出し(15A),左右方向の一方と他方の加速度の大きさを算出する(15B)。ただし,この例では,右方向と左方向を区別する加速度の大きさは算出しない。
前提として,図2に示した人間の歩行における体幹20の動きを考える。ここで,歩行は定常状態では等速で歩行しているとする。歩行者は支持脚20L,20Rの膝を曲げないために,上下方向の動きが発生する。支持脚20L,20Rの長さは接地期間中変化しないため,体幹20は足首を中心とした円弧の軌跡を描く。また,左右方向に関しては,支持脚20L,20Rの足裏内に重心(正確には,ZMP(Zero moment point))を置く必要上,体幹20は左右に振動する。つまり,上下方向が支持脚毎に一周期であるのに対し,左右方向は支持脚毎に半周期,つまり左右の支持脚で一周期となる。
一方前後方向に関しては,多数の実測データを観察したところによると,歩き出しや止まる時以外の定常状態では,一定速度で前進し,前後方向の加速度はほとんど発生しない。これは,上体が等速運動をしていることからも明らかである。前後方向には加速度が発生しないとすると,図6の水平方向成分Hの角度φは,90°もしくは-90°しか示さないと考えることができる。
そこで,第1の実施の形態では,加速度センサの出力情報Aから,角度φが+90°か-90°かどちらかであるかを取り出す。角度φが90°か-90°かが分かれば,図5に示した演算により求めた|H|に,角度φが90°か-90°に応じた+1,-1の係数を乗算すれば,左右方向の一方及び他方の加速度hを求めることができる。
図8は,第1の実施の形態の第1の例における加速度センサ出力処理プログラム内の左右方向の一方及び他方の加速度を求める演算処理を示すシーケンス線図である。図8の演算処理では,図5と同様にして求めた外積S×Gの絶対値(または絶対値の二乗)を|G|で除算し,角度φが90°か-90°かに応じた係数+1,-1を乗算する。すなわち,図8の演算処理は,加速度センサ出力Aから重力成分Gを抽出するLPFと,振動成分Sを抽出するHPFと,それらの外積S×Gを演算する外積演算処理部30と,外積S×Gの絶対値(または絶対値の二乗)を|G|で除算する絶対値演算処理部32と,その出力|H|(または|H|2)に90°か-90°かに応じた係数+1,-1を乗算して,左右の一方方向では正,他方方向では負になる左右の一方及び他方の大きさh(符号付き)を出力する乗算器MXとを有する。
なお,前述のとおり,絶対値を求める演算では平方根を用いても用いなくてもよいので,以後,加速度の大きさを|H|と表記するが,平方根を用いない|H|2であってもかまわないこととする。
図8の演算処理は,次の工程を有する。すなわち,演算処理は,センサ値Aからローパスフィルタ21により抽出した重力成分ベクトルGと,ハイパスフィルタ22により抽出した振動成分ベクトルSとの外積S×Gを生成する工程と,その外積S×Gの大きさに対応する第1の値|H|を求める工程と,歩行の奇数番目の歩周期と偶数番目の歩周期とを判定する工程(φ=90°か−90°かを判定する工程)と,その判定結果に応じて,第1の値|H|の符号を反転して,左右方向の一方と他方の加速度の大きさhを生成する工程とを有する。
図9は,図8の演算処理における絶対値演算処理部32の出力|H|と乗算器MXの出力hの一例を示す図である。図9(1)に示される絶対値演算処理部32の出力|H|は,正と負の符号がなく,単に大きさのみである。この出力|H|に係数+1,−1を適切なタイミングA,Bで乗算して符号を反転することで,図9(2)に示されるように左右の一方と他方を符号で示す出力hが得られる。この場合,左右を区別する必要はないので,係数+1,−1を乗算するタイミングがB,Aのように逆になると,図9(3)のように出力hは,図9(2)と逆相の大きさになる。
このように,第1の実施の形態では,歩行者の左右脚の一方が支持脚時の加速度の大きさと,左右脚の他方が支持脚時の加速度の大きさとを区別して検出する。したがって,歩行評価において,現在の支持脚が右脚か左足かを区別する必要性がない場合に,適用できる。
図10は,図9の係数+1,−1を生成する方法を説明する図である。第1の実施の形態では,係数+1,−1を歩行の歩数を利用する。すなわち,歩行者は右脚と左脚を交互に接地して歩行し,それに同期して上下方向に揺れて上下方向の加速度が発生する。そこで,図4で説明した上下方向の加速度の大きさ|v|の符号をカウントして左右の脚の切り替えタイミングを検出する。つまり,歩数が偶数歩目なら右脚で係数を+1としh=+|H|を出力し,奇数歩目なら左脚で係数を−1としh=−|H|を出力する。
図10(1)に示されるとおり,上下運動による加速度vの大きさ|v|は,歩数毎に正と負の大きさを繰り返す。この上下方向の加速度の大きさ|v|の符号の変化から歩数の切り替わりを検出して,図10(2)に示す左右方向の一方及び他方の加速度の大きさ|H|に,奇数歩目のn+1歩目,n+3歩目(nは偶数)で,係数−1を乗算して,図10(3)に示すh=+|H|または−|H|を生成することができる。
図11は,第1の実施の形態の第1の例における加速度センサ出力処理プログラム内の左右方向の一方及び他方の加速度を求める演算処理を示すシーケンス線図である。図8の演算処理に,係数+1,−1を生成する演算処理33が追加されている。したがって,図11において,LPF21,HPF22,外積演算処理部30,絶対値演算処理部32,乗算器MX1は,図8と同じである。
係数+1,−1を生成する演算処理33は,加速度センサ出力Aから抽出した重力成分Gと,振動成分Sの内積を演算する内積演算処理部34と,その出力|v|の符号を抽出する符号抽出部35と,センサ出力のサンプリングタイミングを遅延する遅延処理部36と,減算器37と,係数+1,−1の出力SHoutを生成するサンプルホールド処理部S/Hと,係数SHoutに−1を乗算してサンプルホールド処理部S/Hへの入力SHinを生成する乗算器MX3とを有する。
内積の出力|v|の符号は,図10(1)に示されるとおり,正と負とに交互に変化する。そこで,遅延処理部36と減算器37とにより,負から正になるゼロクロス点のタイミングで2になるホールド入力Hinが生成される。正から負になるゼロクロス点のタイミングでは−2が減算器37により出力される。そして,サンプルホールド処理部S/Hが,ホールド入力Hinが2になる度に,乗算器MX3による出力SHout×(−1)の入力SHinをホールドし,出力SHoutの値を維持する。これにより,図10の上下運動|v|が負から正になるゼロクロスを通過する度に,乗算器MX1に入力される係数(SHout)が+1と−1に交互に変化する。
そして,乗算器MX1が,外積S×Gの絶対値|H|に,その係数SHout(+1,−1)を乗算することで,左右方向の一方と他方に対応した符号付きの加速度の大きさhを生成する。
図10の第1の例の演算処理は,前述した図8の演算処理において,判定する工程(演算処理部33)では,重力成分ベクトルGと振動成分ベクトルSとの内積を生成し,その内積の奇数番目の周期と偶数番目の周期に基づいて,歩行の奇数番目の歩周期と偶数番目の歩周期を判定する。
上記の演算処理は,サブマイクロプロセッサ14がセンサ出力処理プログラム15を実行したときに実行される。
図12は,図10の上下運動の大きさ|v|の変化と,左右方向(水平方向)の運動の大きさ|H|との位相がずれた場合を説明する図である。歩行者の歩行形態によっては,体のしなりなどによって上下運動と左右運動とが必ずしも決まった位相差で動かない場合がある。そのため,図12のようにそれらの位相がずれると,図11のシーケンス線図では,左右の一方及び他方の加速度の大きさの変化が,図12の(3)のようになることがある。
[第1の実施の形態の第2の例]
第1の実施の形態の第2の例では,図11の係数+1,−1を生成する演算処理33を,振動加速度Sと重力加速度Gとの外積S×Gと任意のベクトルKとの内積の符号にしたがって生成する演算処理にしている。
第1の実施の形態の第2の例では,図11の係数+1,−1を生成する演算処理33を,振動加速度Sと重力加速度Gとの外積S×Gと任意のベクトルKとの内積の符号にしたがって生成する演算処理にしている。
図13は,外積S×Gのベクトルと任意のベクトルKとの関係を説明する図である。まず,矢上面,冠状面,横断面について説明する。図13の(1)に示されるとおり,矢上面SF1は前後軸xと上下軸zとを含む面,冠状面SF2は左右軸yと上下軸zとを含む面,そして,横断面SF3は前後軸xと左右軸yを含む面である。
そして,前述のとおり,振動加速度Sと重力加速度Gの外積S×Gの絶対値は水平方向の加速度の大きさに対応する。そして,前述のとおり,歩行に伴う前後方向の加速度がないことを前提にすると,振動加速度Sは常に冠状面SF2内にある。
したがって,図13の(2)に示されるとおり,外積S×Gのベクトルは,矢上面SF2と横断面SF3の交線である前後軸xの正の方向である前方か,負の方向である後方かをさすベクトルである。図13の例では,振動加速度Sが左方向にあるため,外積S×Gは後方(前後軸xの負の方向)をさしている。図13には示されていないが,振動加速度Sが右方向にあるなら,外積S×Gは前方をさすことになる。この原理を利用すれば,外積S×Gのベクトルが前向きなら振動加速度Sは右方向,後ろ向きなら左方向であると判定できる。
第1の実施の形態の第2の例では,この判定結果を利用して,前述の+1,−1の係数を生成する。なお,上記の振動加速度Sの方向と外積との関係は,外積をG×Sにすると,逆の関係になる。
次に,外積S×Gのベクトルの向きの切り替わりを判定する方法について説明する。図13の(3)に示すとおり,外積S×Gは,冠状面SF2に対して垂直な前方と後方の方向になる。そこで,任意のベクトルKと外積S×Gの内積を求めると,外積S×Gの方向に応じて内積は正と負になる。つまり,両ベクトルの角度が90°未満なら内積は正になり,90°を超えると内積は負になる。したがって,任意のベクトルKとして,外積S×Gと直角の関係にないベクトルを選択すれば,ベクトルKと外積S×Gとの内積の符号を,前述の+1,−1の係数として使用することができる。
図14は,第1の実施の形態の第2の例における加速度センサ出力処理プログラム内の左右方向の一方及び他方の加速度を求める演算処理を示すシーケンス線図である。図14において,LPF21,HPF22,外積演算処理部30,絶対値演算処理部32,乗算器MX1は,図11と同じである。そして,係数+1,−1を生成する演算処理部33は,外積S×Gと任意のベクトルKとの内積を演算する内積演算処理部37と,符号判定処理部38とを有し,符号判定処理部38の出力+1,−1が乗算器MX1に入力されている。
この第2の例によれば,上下運動の加速度の大きさ|v|を利用しないので,上下運動と左右運動との位相がずれていても,左右方向の一方及び他方の加速度の大きさを求めることができる。
図14の第2の例の演算処理は,前述した図8の演算処理において,判定する工程(演算処理部33)では,外積(S×G)と任意のベクトル(K)との内積の符号に基づいて,歩行の奇数番目の歩周期と偶数番目の歩周期を判定する。
上記の演算処理は,サブマイクロプロセッサ14がセンサ出力処理プログラム15を実行したときに実行される。
[第1の実施の形態の第3の例]
図14の例では,任意のベクトルKが外積S×Gと直角の関係にないベクトルであることが必要である。しかし,偶然にベクトルKが冠状面内に存在する場合は,ベクトルKと外積S×Gの内積が0になり,符号判定できない。そこで,図14の改良例として,同一平面上にない3つの異なるベクトルK1,K2,K3を用いて,係数+1,−1を生成する例を説明する。
図14の例では,任意のベクトルKが外積S×Gと直角の関係にないベクトルであることが必要である。しかし,偶然にベクトルKが冠状面内に存在する場合は,ベクトルKと外積S×Gの内積が0になり,符号判定できない。そこで,図14の改良例として,同一平面上にない3つの異なるベクトルK1,K2,K3を用いて,係数+1,−1を生成する例を説明する。
図15は,第1の実施の形態の第3の例における加速度センサ出力処理プログラム内の左右方向の一方及び他方の加速度を求める演算処理を示すシーケンス線図である。この例では,図14と異なり,歩行の奇数番目の歩周期と偶数番目の歩周期に対応する係数+1,−1を生成する係数演算処理部33が,同一平面上にない3つの異なるベクトルK1,K2,K3と,外積S×Gとの内積を演算する内積演算処理部37−1,37−2,37−3と,さらに,それらの内積のうち最も大きなものを選択する最大値スイッチ39を有する。それ以外の構成は,図14と同じである。
この演算処理によれば,3つの異なるベクトルK1,K2,K3の2つが偶然に冠状面内に存在したとしても,残りのベクトルは必ず冠状面とある角度を有するベクトルになる。したがって,図13の(3)で示すようなベクトルKを利用することができる。
図15の第3の例の演算処理は,前述した図8の演算処理において,判定する工程(演算処理部33)では,外積(S×G)と同一平面内にない少なくとも3つのベクトル(K1-K3)との内積のうち最大絶対値の内積の符号に基づいて,歩行の奇数番目の歩周期と偶数番目の歩周期を判定する。
上記の演算処理は,サブマイクロプロセッサ14がセンサ出力処理プログラム15を実行したときに実行される。
[第1の実施の形態の第4の例]
上記の第1の実施の形態の第2,第3の例では,振動加速度Sに前後方向の成分が全くなく,冠状面内にあるという前提に基づいている。しかし,実際の歩行データによれば,ノイズや遊脚の接地に衝撃などわずかながら前後にも加速度が発生する。したがって,外積S×Gは完全に180°変化していない場合がある。そのような場合,上記の3つの異なるベクトルK1,K2,K3を利用したとしても,3つのベクトルによっては各ベクトルで内積の結果が異なるどのベクトルによる判定を採用して良いか分からない場合がある。
上記の第1の実施の形態の第2,第3の例では,振動加速度Sに前後方向の成分が全くなく,冠状面内にあるという前提に基づいている。しかし,実際の歩行データによれば,ノイズや遊脚の接地に衝撃などわずかながら前後にも加速度が発生する。したがって,外積S×Gは完全に180°変化していない場合がある。そのような場合,上記の3つの異なるベクトルK1,K2,K3を利用したとしても,3つのベクトルによっては各ベクトルで内積の結果が異なるどのベクトルによる判定を採用して良いか分からない場合がある。
そこで,第1の実施の形態の第4の例では,歩行の奇数番目の歩周期と偶数番目の歩周期に対応する係数+1,−1を生成する演算処理部33が,外積S×Gの方向を前後一方の方向(前方または後方)に切り替えた前方向ベクトルKf(または後方向ベクトル)を生成し,その前方向ベクトルKfと外積S×Gとの内積の符号に基づいて係数+1,−1を求める。そして,その係数を外積S×Gの絶対値である水平方向の加速度の大きさ|H|に乗算して,左右の一方または他方を示す符号付きの大きさhを生成する。
図16は,第1の実施の形態の第4の例を説明する図である。図13の(3)と異なり,振動加速度Sは,冠状面SF2とはわずかに角度がずれている。これは,振動加速度Sにはわずかな前後方向の成分が含まれているからである。
図13で説明したとおり,振動加速度Sと重力加速度Gとの外積S×Gは,振動加速度Sが右方向か左方向かに応じて,前方方向または後方方向を指す。つまり,振動加速度Sが左方向なら外積S×Gは後方を向き,振動加速度Sが右方向なら外積S×Gは前方を向く。この傾向は,振動加速度Sがわずかな前後方向の成分を有している場合も変わらない。そこで,振動成分Sが例えば左方向に動いた場合に,外積S×Gにマイナスを乗算すれば,常時前方を向くベクトルKfを生成することができる。そして,この常に前方を向くベクトルKfと外積S×Gとの内積を求めれば,外積S×Gの向きが前方なら内積は正,後方なら内積は負となる。よって,内積結果の符号を利用して係数+1,−1を生成し,外積S×Gの絶対値である水平方向の加速度の大きさ|H|に乗算することで,左右の一方か他方かを示す符号付きの加速度の大きさを求めることができる。
図17は,第1の実施の形態の第4の例における加速度センサ出力処理プログラム内の左右方向の一方及び他方の加速度を求める演算処理を示すシーケンス線図である。この例では,図15と異なり,歩行の奇数番目の歩周期と偶数番目の歩周期に対応する係数+1,−1を生成する係数演算処理部33が,乗算器MX4と,LPF40と,内積演算処理部41と,正負判定部42とを有する。それ以外の構成は,図15と同じである。
係数演算処理部33は,外積S×Gに+1,−1の係数を乗算する乗算処理部MX4と,その出力の平均値を求めるLPF40とを有する。外積S×Gは,前後方向のベクトルであるから,乗算処理部MX4で係数+1,−1を乗算することで,前後の一方の方向,例えば前方方向のベクトルKfを求めることができる。そして,内積演算処理部41が,その前方方向のベクトルKfと外積S×Gとの内積を求めると,その内積の符号は,外積S×Gが前方側方向(振動加速度Sが右側方向)なら+1になり,外積S×Gが後方側方向(振動加速度Sが左側方向)なら−1になる。よって,この符号を符号判定部42で検出し,乗算器MX1が水平方向の加速度の大きさ|H|に係数+1または−1を乗算して,左右の一方及び他方の符号付きの加速度の大きさhを生成する。
係数演算処理部33には無限ループが存在するが,ベクトルKfとして任意の初期値を設定することで,正常に動作することが確かめられている。つまり,ベクトルKfの初期値に応じて,左右の一方及び他方の符号付きの加速度の大きさhは,右方向で正になったり,負になったりする。つまり,図17のシーケンス線図により演算されるhは,右方向と左方向の区別はできないが,左右の一方と他方の区別は可能である。したがって,得られた水平方向の左右一方と他方の大きさhが,サブマイクロプロセッサにより生成されれば,メインマイクロプロセッサが歩行評価プログラムを実行して,歩行状態を評価することができる。
図17の第4の例の演算処理は,前述した図8の演算処理において,判定する工程(演算処理部33)では,外積(S×G)と任意のベクトル(Kf)との内積の符号に基づいて,歩行の奇数番目の歩周期と偶数番目の歩周期を判定し,任意のベクトル(Kf)を前記外積(S×G)に前記内積の符号を乗じて平均化して生成する。
上記の演算処理は,サブマイクロプロセッサ14がセンサ出力処理プログラム15を実行したときに実行される。
[歩行評価プログラム]
次に,第2,第3の実施の形態の説明を行うまえに,左右方向の一方及び他方の大きさhを利用した歩行状態の評価方法について説明する。
次に,第2,第3の実施の形態の説明を行うまえに,左右方向の一方及び他方の大きさhを利用した歩行状態の評価方法について説明する。
図18は,歩行評価プログラムの第1の例を説明する図である。上記の通り,サブマイクロプロセッサ14は,左右の一方および他方の加速度の大きさhを生成する。この加速度の大きさhは,図18に示されるとおり,時間と共に正と負の大きさを持つデータである。
そこで,この左右方向の一方および他方の加速度の大きさhの正側最大加速度Paccと,負側最大加速度Naccとの比に基づいて,歩行評価を行う。例えば,前記比Pacc/Naccが1に近い程,左右対称に歩行していると評価され,比Pacc/Naccが1より大きいまたは小さい程,左右のいずれかの方向に大きく偏って歩行していると評価される。
図19は,歩行評価プログラムによる最大加速度を求めるフローチャート図である。まず,メインマイクロプロセッサ11が,サブマイクロプロセッサ14から出力される左右方向の一方及び他方の加速度の大きさhを入力し(S1),歩行評価プログラム12Bを実行して,最大加速度を求める。図19の工程S1〜S11は,サブマイクロプロセッサから左右方向の一方及び他方の加速度hを受信するたびに,繰り返される。
メインプロセッサ11は,受信した加速度hを現在の加速度accに置き換える(S1)。そして,前サイクルで受信した加速度acc1との積acc*acc1が負か否かを判断する(S2)。工程S2で正の場合,すなわち,加速度accがゼロクロス点を通過していない場合は,時間tをt=t+1とし(S3),現在の加速度accが記憶している正側最大加速度Paccより大きいかの判定をし(S4),また,現在の加速度accと記憶している負側最大加速度-Naccより小さいかの判定をする(S5)。Pacc,Naccはいずれも最大加速度の絶対値である。両工程S4,S5での判定がいずれもNOの場合には,現サイクルの加速度accを前サイクルの加速度acc1に置き換える(S6)。
一方,工程S2で積acc*acc1が負の場合,つまり加速度accがゼロクロス点を通過した場合は,前サイクルで得られた最大加速度PaccまたはNaccにより歩行評価を行う(S7)。そして,時間tをリセットし(S8),現在の加速度accが正であれば(S9のyes),その加速度accを正側最大加速度Paccに置き換え(S10),現在の加速度accが負であれば(S9のno),その加速度accを負側最大加速度Naccに置き換える(S11)。なお,hが符号を有するので,負側最大加速度の絶対値Naccは,現在の負の加速度accに-1を乗じた-accに置き換えられる。
前述の工程S4,S5のいずれかで判定結果がyesの場合も,上記の工程S10またはS11が実行される。
このようにして所定期間の間,加速度hの正側最大値Paccと,負側最大値Naccとが検出される。
なお,歩行評価S7は,以下に説明するが,加速度hの隣接するゼロクロス点の時間tが計測されているので,歩行評価S7ではその時間tが通常の歩行動作の左右脚を入れ替える時間と大きく異なっている場合は,例えば,歩行者が船などの乗り物に乗っているものと見なして,その間の最大加速度Pacc,Naccは採用しない。
図20は,加速度比を利用した歩行評価プログラムの歩行評価のフローチャート図である。図20のフローチャート図では,図19で求めた最大加速度Pacc,NaccをPos,Negと置き換えている。まず,歩行評価プログラムを実行するメインプロセッサ11は,評価の基準値として,正値Posと負値Negと時間tを入力する(S20)。正値Pos,負値Negは,例えば,図19で求めた最大加速度Pacc,Naccである。
次に,正値Pos,負値Negのいずれかが負,または時間tが2つの閾値Vth1とVth2の間にないか(t<Vth1, t>Vth2,但しVth1<Vth2)のいずれかの場合は(S21のyes),適切な歩行状態の値ではないと見なして,メインプロセッサ11は,非歩行状態と判定する(S22)。
また,工程S21において,正値Pos,負値Negがいずれも正であり,時間tがVth1<t<Vth2の場合は(S21のno),正値Posと負値Negとを比較し(S23),比としてPos/NegまたはNeg/Posを求める(S24,S25)。このようにするのは,比が1以上になるようにして,歩行評価を容易にするためである。
そして,メインプロセッサ11は,工程S26で,後述する方法で,左右方向の最大加速度の比に基づいて歩行状態を評価する。
図21は,図20で求めた比の時間推移の例を示す図である。このように,比は,最小値1以上の値になり,歩行中の時間の経過と共に変化する。そこで,メインプロセッサ11は,一定期間(例えば1日)の歩行の比の時間推移に基づいて,比の平均値,比の分散傾向,閾値を超える頻度などを抽出し,歩行評価とする。例えば,比の平均値が1に近ければ,左右バランス良く歩行していると逆に1より大きければ左右のバランスが悪いと評価できる。また,比の分散が少なければ安定して歩行していると逆に比の分散が多ければ不安定と評価できる。そして,閾値を超える頻度が高いと左右のバランスが崩れる頻度が高いと評価できる。
図22は,歩行評価プログラムの第2の例を説明する図である。第2の例では,加速度hの面積の比を評価する。加速度hは,|H|の絶対値に左右方向の符号を加えた値である。ここで,絶対値は,ベクトルの要素の二乗の加算値のルートを演算して求められる。その場合,ルートの演算を行わない場合は,加速度hは加速度の二乗の値になる。図22には,この加速度の二乗の変化が示されている。そして,加速度の二乗の面積は,エネルギー値に対応する。
そこで,第2の例では,メインプロセッサ11が,加速度の二乗を累積することで,正の加速度の二乗の面積Pengと,負の加速度の二乗の面積Nengを抽出して,それらの比を図20の方法で求めて,歩行評価に利用する。
図23は,第2の例における加速度の二乗の面積Peng,Nengを抽出するフローチャート図である。メインマイクロプロセッサ11は,歩行評価プログラム内の図23のフローチャートのプログラムを実行して,加速度の二乗の面積Peng,Nengを抽出する。
まず,メインマイクロプロセッサ11は,加速度の二乗の値hを入力して,現在の加速度の二乗accとする(S30)。そして,現在の加速度の二乗accと前回のサイクルでの値acc1との乗算値の符号が負か否かを判定する(S31)。この判定がyesの場合は,ゼロクロス点を通過したことになるので,現在の加速度の二乗accが負であれば(S34のno),それまでに累積した加速度の二乗の累積値engを正の面積Pengに置き換え(S35),現在の加速度の二乗accが正であれば(S34のyes),それまでに累積した加速度の二乗の累積値engを負の面積Nengに置き換える(S36)。そして,それらの値により歩行評価を実行する(S37)。そして,初期値として,累積値engに現在の加速度の二乗accを代入する(S38)。
一方,工程S31での判定がnoの場合は,ゼロクロス点を通過していないので,単純に累積値engに現在の加速度の二乗accを加算する(S32)。そして,現在の加速度の二乗accを前サイクルの加速度の二乗acc1に代入する(S33)。
上記のフローチャート図の処理を実行することで,メインマイクロプロセッサ11は,図22に示した加速度の二乗の面積を,正側Pengと負側Nengそれぞれについて抽出することができる。
図24は,歩行評価プログラムの第3の例を説明する図である。第3の例では,サブマイクロプロセッサ14から入力する加速度hについて,メインマイクロプロセッサ11が,2回積分することで,歩行者の左右方向の一方及び他方の位置を抽出する。この左右方向の位置Ppos,Nposの比を,図21のようにして評価することで,歩行者の歩行状態を評価することができる。すなわち,比が1に近ければ左右バランス良く歩行していると評価でき,比が1より大きければ左右のバランスが悪いと評価できる。左右の位置の比の平均値や,分散値,そして,閾値を超える頻度なども,同様に歩行評価に利用できる。
図25は,歩行評価プログラムの第4の例を説明する図である。上記の例では,左右方向の一方および他方の加速度hに基づいて歩行を評価している。図25の第4の例では,上下の揺れと横方向の揺れの2つの情報に基づいて歩行を評価する。
図25において,x軸とy軸には,たとえば,上下の揺れの大きさ|v|と,左右方向の加速度hの最大値,加速度の二乗の面積,位置の最大値などのそれぞれの比の組み合わせが割り当てられる。たとえば,加速度の最大値の比と加速度の二乗の面積の比との組み合わせが,x軸とy軸に割り当てられる。そして,各歩毎の組み合わせの座標が,座標内にプロットされる。そして,プロット点を評価することで,歩行を評価することができる。
[第2の本実施の形態]
第1の実施の形態では,歩行者が体幹に装着している携帯端末は,歩行の定常状態において,ほとんど前後方向の揺れがないことを前提にしている。この前提に基づいて,加速度センサ出力処理プログラムを実行するサブマイクロプロセッサ14は,振動加速度Sと重力加速度Gの外積S×Gの大きさ|H|を,左右方向の一方及び他方の加速度の大きさhとして出力する。
第1の実施の形態では,歩行者が体幹に装着している携帯端末は,歩行の定常状態において,ほとんど前後方向の揺れがないことを前提にしている。この前提に基づいて,加速度センサ出力処理プログラムを実行するサブマイクロプロセッサ14は,振動加速度Sと重力加速度Gの外積S×Gの大きさ|H|を,左右方向の一方及び他方の加速度の大きさhとして出力する。
しかしながら,例外的に,歩行者がぶかぶかの服の胸ポケット等やズボンの前ポケット等に携帯端末を入れている場合は,携帯端末が振り子のように前後に揺れて,前後方向の加速度が観測されてしまう場合がある。
そこで,第2の実施の形態では,加速度センサ出力処理プログラムを実行するサブマイクロプロセッサ14が,左右方向の一方と他方の加速度の大きさを算出する。さらに,サブマイクロプロセッサ14が,左右方向の一方と他方の加速度お大きさに加えて,前後方向の一方と他方の加速度の大きさを算出してもよい。ただし,左方向と右方向の区別と前方向と後方向の区別はできない。
図26は,第2の実施の形態における加速度センサ出力処理プログラムの機能を示す図である。この加速度センサ出力処理プログラム15は,上下方向の加速度の大きさvを算出する機能15Aと,左右方向の一方と他方の加速度の大きさhを算出する機能15Bと,それに加えて,前後方向の一方と他方の加速度の大きさfを算出する機能15Cとを有する。
歩行状態における加速度センサの出力は,左右方向の運動に対する加速度と,上下方向の運動に対する加速度と,わずかではあるが前後方向の運動に対する加速度の合成である。そして,図2に示した歩行状態によれば,左右運動の周期は上下運動の周期の約2倍である。このように,左右運動と上下運動の周波数が異なっているので,それぞれに対応する通過周波数帯域特性を有する異なるバンドパスフィルタを利用して,センサ出力Aから左右運動の加速度と上下運動の加速度とを分離することができる。上下運動は歩行周期と等しく,左右運動はその2倍の周期と見なせる。平均的な人間の歩行によれば,上下運動の周波数は2Hz,左右運動の周波数は1Hzと定めることができる。若しくは,歩行評価対象者の身長や歩行実績などによりこれらの周波数を最適な周波数に設定してもよい。
図27は,上記の原理でバンドパスフィルタにより分離された左右方向の加速度Hfと,上下方向の加速度Vfとの関係を示す図である。図28は,第2の実施の形態における加速度センサ出力処理プログラム内の左右方向の一方及び他方の加速度の大きさと,前後方向の一方及び他方の加速度の大きさとを求める演算処理を示すシーケンス線図である。
このシーケンス線図には,センサ出力Aから重力方向加速度Gを抽出するローパスフィルタ21と,前後方向加速度Vfを抽出する第1のバンドパスフィルタ(BPF1)23と,左右方向の加速度Hfを抽出する第2のバンドパスフィルタ(BPF2)24と,左右方向の一方の方向の単位ベクトルHeと,前後方向の一方の方向の単位ベクトルFeとを生成する単位ベクトル算出部60と,内積処理部56,59を有する。
図27において,左右方向の加速度Hfも上下方向の加速度Vfも共に,わずかであるが前後方向の加速度を含んでいる。
ただし,図28に示す2つバンドパスフィルタ(BPF1)23,(BPF2)24の働きにより,左右方向の加速度Hfには,前後方向の成分は含まれるが,上下方向の成分は含まれていない。よって,左右方向の加速度Hfはx軸とy軸の平面(横断面SF3)内にある。同様に,上下方向の加速度Vfには,前後方向の成分は含まれるが,左右方向の成分は含まれていない。つまり,上下方向の加速度Vfはx軸とz軸の平面内(矢状面SF1)内にある。
そして,十分な大きさのローパスフィルタ(LPF)21によって,加速度センサの出力から重力方向の加速度成分Gを抽出することができる。したがって,図27に示されるように,重力方向成分Gと上下方向の加速度Vfとの外積G×Vfは,横断面SF3と冠状面SF1との交線であるy軸上のベクトルとなる。図27では,上下方向の加速度Vfが前方向成分を有するので,外積G×Vfは,右方向を向いている。上下方向の加速度Vfが後方向成分を有する場合は,外積G×Vfは,左方向を向くことになる。
そこで,図17の例と同様に,図28の単位ベクトル算出部60において,外積処理部50により外積G×Vfを求め,外積G×Vfに前後の変化のタイミングで+1,−1の係数を乗算(乗算器51)して,図27の左右の一方の方向のベクトルKhを生成する。このベクトルKhは,左右の一方の方向と平均化された一定値の大きさを有する左右方向基準ベクトルである。図27ではベクトルKhは左を向いているが,乗算器51で外積G×Vfの方向が逆になった場合に対応するにすぎない。そして,そのベクトルKhと外積G×Vfとの内積(内積処理部54)の正負により,外積G×Vfが左方向か右方向の一方を向いているか他方を向いているかを判定し(符号判定部55),上記の係数を求める。図28中のローパスフィルタ52は,平均値を取る機能を有する。
そして,ベクトルKhは,左右の一方方向を向くが,その大きさは前後方向の動きVfの大きさに依存しているので,ベクトルKhの大きさを正規化して単位ベクトルHeを生成する。
さらに,外積処理部57にて,重力方向加速度ベクトルGと単位ベクトルHeとの外積G×Heを求めると,その外積G×Heは,図27に示すとおり,矢状面SF1と横断面SF3との交軸であるx軸上のベクトルになる。このベクトルG×Heの方向は前方か後方かの一方を向いている。つまり,ベクトルG×Heは,前後の一方の方向と平均化された一定値の大きさを有する前後方向基準ベクトルである。そして,この基準ベクトルである外積G×Heの大きさを正規化して(正規化処理部58),前方向の単位ベクトルFeを求める。
上記の通り単位ベクトル算出部60が算出した左右方向の単位ベクトルHeと,左右方向の加速度ベクトルHfとの内積(内積処理部56)を生成することで,左右方向の一方と他方を区別可能な加速度の大きさhを生成する。このhは,図27に示されるとおり左右方向の加速度Hfのy軸上の大きさに対応し,前後方向の成分を含まない純粋な左右方向の加速度の大きさである。
同様に,前後方向の単位ベクトルFeと,上下方向の加速度ベクトルVfとの内積(内積処理部59)を生成することで,前後方向の一方と他方を区別可能な加速度の大きさfを生成する。このfも,前後方向の加速度Vfのx軸上の大きさに対応し,上下方向の成分を含まない純粋な前後方向の加速度の大きさである。
図27では,左右方向の一方と他方の大きさhは,左方向を向いているが,右方向の可能性もある。また,前後方向の一方と他方の大きさfは,前方向を向いているが,後方向の可能性もある。このように一方を向いている単位ベクトルHe,Feとの内積で求めた大きさh,fは,正と負の値となり左右方向または前後方向の一方と他方を区別できるが,左右のいずれの方向または前後のいずれの方向を向いているかは不明である。その理由は,単位ベクトル算出部60における外積G×Vfと,それを一定方向に補正したベクトルKhとのループにおいて,初期値のKhをどちらに設定するかに依存して,単位ベクトルHe,Feの方向が異なるからである。さらに,外積処理部50,57での外積演算の順番によっても,単位ベクトルHe,Feの方向が異なる。
図29は,第2の実施の形態における加速度センサ出力処理プログラム内の左右方向の一方及び他方の加速度と前後方向の一方及び他方の加速度とを求める演算処理を示すシーケンス線図である。図29は,図28の変形例である。図29において,図28と異なる構成は,正規化処理部53が設けられていないことである。それ以外は,図28と同等である。それにより,単位ベクトルHeの代わりにy軸上のベクトルKhが利用され,単位ベクトルFeの代わりにx軸上のベクトルFが利用されている。
正規化処理は,ベクトルのx,y,zの成分をそれぞれ二乗した値の平方根を求め,割り算で単位大きさにする演算処理が必要である。そこで,図29の例では,正規化処理部を設けていない。図29では,ベクトルKhはLPF52を通過して求められていて,ベクトルFもLPF58Aを通過して求められているので,それらのLPFの時定数を十分大きくすることで,その大きさは平均化され一定値になる。すなわち,ベクトルKh,Fは,単位ベクトルHe,Feの定数倍であるので,内積により求められる左右方向の加速度の大きさhと前後方向の加速度の大きさfは,加速度を定数倍したものとなる。
ただし,前述の歩行評価では,左右方向の加速度の大きさhと前後方向の加速度の大きさfの絶対的な大きさを利用するのではなく,前後の比較である比を利用しているので,大きさが定数倍されていても支障はない。
第2の実施の形態を示す図28,図29では,左右方向の加速度の大きさhだけを生成するようにしてもよい。逆に,図28,図29では,前後方向の加速度の大きさfだけを生成するようにしてもよい。さらに,両方の大きさh,fを生成するようにしてもよい。
図28,図29の演算処理は,次の工程により行われる。
すなわち加速度センサ出力処理は,センサ値Aからローパスフィルタ21により抽出した重力成分ベクトルGと,第1のバンドパスフィルタ23により抽出した前後振動成分ベクトルVfとを外積して第1の外積G×Vfを生成する工程と,
第1の外積G×Vfに交互に変化する所定の符号を乗じて平均化して左右いずれかの方向と一定の大きさを有する左右基準ベクトルKh,Heを生成する工程と,
第1の外積G×Vfと左右基準ベクトルKh,Heとの第1の内積の符号に基づいて所定の符号を生成する工程と,
センサ値Aから,第1のバンドパスフィルタ23より通過周波数帯域が低い第2のバンドパスフィルタ24により抽出した左右振動成分ベクトルHfと左右基準ベクトルHeとを内積して左右方向の一方と他方の加速度の第1の大きさhを生成する工程とを有する。
第1の外積G×Vfに交互に変化する所定の符号を乗じて平均化して左右いずれかの方向と一定の大きさを有する左右基準ベクトルKh,Heを生成する工程と,
第1の外積G×Vfと左右基準ベクトルKh,Heとの第1の内積の符号に基づいて所定の符号を生成する工程と,
センサ値Aから,第1のバンドパスフィルタ23より通過周波数帯域が低い第2のバンドパスフィルタ24により抽出した左右振動成分ベクトルHfと左右基準ベクトルHeとを内積して左右方向の一方と他方の加速度の第1の大きさhを生成する工程とを有する。
さらに,加速度センサ出力処理は,更に,重力成分ベクトルGと左右基準ベクトルKh,Heとを外積G×Heして前後いずれかの方向と一定の大きさを有する前後基準ベクトルFeを生成する工程と,前後振動成分ベクトルVfと前記前後基準ベクトルFeとを内積して前後方向の一方と他方の加速度の第2の大きさfを生成する工程とを有する。
上記の処理は,サブマイクロプロセッサ14がセンサ出力処理プログラム15を実行したときに実行される。
[第3の本実施の形態]
上記の第2の実施の形態では,加速度センサ出力処理プログラムを実行するサブマイクロプロセッサ14が,左右方向の一方と他方の加速度の大きさに加えて,前後方向の一方と他方の加速度の大きさも算出するが,左方向と右方向の区別と前方向と後方向の区別はできない。それに対して,第3の実施の形態では,左方向と右方向の区別と前方向と後方向の区別を可能にする。
上記の第2の実施の形態では,加速度センサ出力処理プログラムを実行するサブマイクロプロセッサ14が,左右方向の一方と他方の加速度の大きさに加えて,前後方向の一方と他方の加速度の大きさも算出するが,左方向と右方向の区別と前方向と後方向の区別はできない。それに対して,第3の実施の形態では,左方向と右方向の区別と前方向と後方向の区別を可能にする。
図30は,第3の実施の形態における加速度センサ出力処理プログラムの機能を示す図である。この加速度センサ出力処理プログラム15は,上下方向の加速度の大きさvを算出する機能15Aと,左右方向の加速度の大きさh’を算出する機能15Bと,前後方向の加速度の大きさf’を算出する機能15Cとを有する。上記のvは上下を区別することができ,h’は左右を区別することができ,f’は前後を区別することができる。
図28,29で生成した左右方向の一方と他方の加速度の大きさhと,前後方向の一方と他方の加速度の大きさfは,演算処理の初期値や外積演算の順番などに依存して,どちらの方向かを区別することができない。それに対して,第3の実施の形態では,歩行者の上下の運動と前後の運動とが,上と前,または下と後の組み合わせになる現象を利用して,左右方向の一方と他方の加速度の大きさhの符号と,前後方向の一方と他方の加速度の大きさfの符号とを,左右方向と前後方向に対応した正しい符号に修正する。この修正により,左右方向を区別可能な加速度の大きさh’と,前後方向を区別可能な加速度の大きさf’を正しく生成することができる。
図31は,歩行における上下運動と前後運動との関係を示す図である。図31の(1)は体幹の動きを示している。このように,体幹は上下方向にわずかに振動しているため,上下運動に応じて位置エネルギが変化する。一方,体幹の持つ力学的エネルギは変化しないため,変化した位置エネルギはそのまま運動エネルギとなる。運動エネルギとは速度のことであるため,前後方向の加速度は,図31(2)のように,負から正への変化を繰り返す。図31(3)は,前後方向の加速度をセンサフィルタにより平滑化した波形である。
一方,上下方向の加速度は,図31(4)に示すとおり,支持脚の切り替え時に大きく正となりその後は負となる。これをセンサフィルタにより平滑化すると,図31(5)のようになる。なお,センサフィルタの出力は,所定の位相遅延を有していて,図31(3)と(5)の位相は同位相に調整されている。
図31に示したとおり,体幹が上昇する場合は減速して前向きの加速度が負になり,体幹が下降する場合は加速して前向きの加速度が正になる。また,上下方向についても,体幹が下降して接地する瞬間まで下向きの加速度が正になり,接地後の体幹が上昇すると下向きの加速度が負になる。
このように,図31(3)と(5)を比較すると,上下方向と前後方向の加速度変化の周期は一致することが分かる。そして,上下方向の加速度が正の時に前後方向の加速度も正になり,上下方向の加速度が負の時に前後方向の加速度も負になることが分かる。また,上下の向きは重力方向との比較により知ることができる。この歩行動作の性質を利用して,第3の実施の形態では,左右方向を区別する加速度の大きさと,前後方向を区別する加速度の大きさを生成する。
図32は,第3の実施の形態における加速度センサ出力処理プログラム内の左右方向の加速度の大きさと前後方向の加速度の大きさとを求める演算処理を示すシーケンス線図である。このシーケンス線図では,この歩行動作の性質を利用して,図28,図29で求めた前後方向の加速度fと左右方向の加速度hの符号を正しい符号に修正している。
すなわち,加速度センサ出力処理プログラムでは,上下方向の加速度vと前後方向の加速度fとを乗算器70で乗算する。その乗算値が正であればvとfの符号が同相(共に正または負)であるであることを意味するので,前後方向の加速度fの符号が正しく,fは正で前方向,負で後方向であることが分かる。したがって,乗算器72により前後方向の加速度fの符号を反転せずにf’を生成する。一方,乗算器70の乗算値が負であればvとfの符号が逆相(正と負,または負と正)であるので,fの符号が逆になっていることが分かる。したがって,乗算器72により前後方向の加速度fの符号を反転してf’を生成する。これにより,修正された前後方向の加速度f’は,正で前方向,負で後方向となる。
さらに,左右方向の加速度hの符号についても,乗算器70の乗算値の符号によって乗算器73で修正すれば,修正されたh’は,正で左方向,負で右方向になり,左右方向を区別可能になる。その理由は,図28,図29において,ベクトルKhが,初期値などにより左向きか右向きかのいずれかになることで,単位ベクトルHeとFeの方向が定まらず,前後方向の加速度fの符号による方向と,左右方向の加速度hの符号による方向が,正しい場合と逆の場合が生じていた。つまり,ベクトルKhの方向に依存して,単位ベクトルHe,Feの方向が異なり,それに伴い,前後方向の加速度fと左右方向の加速度hの符号による方向が不確かになっていた。そこで,修正された前後方向の加速度f’が正で前方向,負で後方向とされているのであれば,単位ベクトルFeは前方向であり,単位ベクトルFeが外積G×Heと同じ方向であることから,単位ベクトルHeは左方向であることは,図27から明らかである。よって,乗算器70の乗算値の符号で修正されたh’は,正で左方向,負で右方向になる。
ただし,外積の演算順が異なる場合は,修正されたh’は,正で右方向,負で左方向になる。したがって,演算処理に依存して修正されたf’やh’の正と負の方向を画一的に決定できる。
以上の通り,図32において,乗算器70が上下の大きさvと前後の大きさfとを乗算し,その乗算結果の符号に応じて,左右方向の一方と他方の加速度の大きさhの符号と,前後方向の一方と他方の加速度の大きさfの符号とを修正して,h’とf’を生成する。これにより,修正されたh’は,正の場合は左方向,負の場合は右方向と区別可能になり,修正されたf’は,正の場合は前方向,負の場合は後方向と区別可能になる。
図32の演算処理は,次の処理工程を有する。すなわち,図28,29の演算処理に加えて,センサ値Aからハイパスフィルタにより抽出した振動成分ベクトルSと前記重力成分ベクトルGとの第2の内積の符号に基づいて,第1の大きさhの符号を修正して,左右方向を区別可能な第1の大きさh’を生成する工程を有する。
さらに,図28,29の演算処理に加えて,センサ値Aからハイパスフィルタにより抽出した振動成分ベクトルSと重力成分ベクトルGとの第2の内積の符号に基づいて,第2の大きさfの符号を修正して,前後方向を区別可能な第2の大きさ(f’)を生成する工程を有する。
[LPF,HPF,BPFの処理]
上記の実施の形態において,LPF,HPF,BPFの演算が行われている。そこで,これらのフィルタの演算処理について説明する。
上記の実施の形態において,LPF,HPF,BPFの演算が行われている。そこで,これらのフィルタの演算処理について説明する。
図33は,ローパスフィルタLPFの演算処理のシーケンス線図である。加速度センサ値Aが複数のフリップフロップFF0〜FFn-1に,加速度センサのサンプリングクロックに同期したクロックCLKに同期して,記憶される。そして,加算器80と1/n倍する除算器81とを有する平均化処理AVEにより,連続するn個のセンサ値Aの平均値が求められる。つまり,このローパスフィルタLPFは,n個のセンサ値Aの平均を求める平均化処理を実行することにより実現可能である。したがって,サブマイクロプロセッサ14は,加速度センサ出力処理プログラム15を実行するときに,センサ値Aを逐一メモリに記憶し,直前のn個のセンサ値Aを加算し,nで除算することで,ローパスフィルタの演算処理を実行する。これにより,サブマイクロプロセッサ14は,LPFによる抽出処理を,加速度センサ出力プログラム15により実現できる。
図34は,ハイパスフィルタHPFの演算処理のシーケンス線図である。ハイパスフィルタの演算処理は,図33で求めたローパスフィルタの出力LPFoutを,センサ値Aから除算器82で除算することで実現できる。したがって,サブマイクロプロセッサ14は,センサ値Aからローパスフィルタ出力LPFoutを除算演算すればよい。HPFによる抽出処理も,加速度センサ出力プログラム15により実現できる。
図35は,バンドパスフィルタBPFの演算処理のシーケンス線図である。バンドパスフィルタBPFの演算処理は,ハイパスフィルタHPFの演算を行い,その出力に対して更にローパスフィルタLPF-bの演算を行うことで実現できる。ハイパスフィルタHPFの演算処理は,図34と同様で,センサ値AからローパスフィルタLPF-aの出力を減算することで実現できる。この場合,ハイパスフィルタHPF内のローパスフィルタLPF-aのカットオフ周波数を,後段のローパスフィルタLPF-bのカットオフ周波数より低くする必要がある。そのためには,例えば,図33のローパスフィルタのフリップフロップ数nをより多くすることでカットオフ周波数をより低くでき,より少なくすることでカットオフ周波数をより高くできる。BPFによる抽出処理も,加速度センサ出力プログラム15により実現できる。
このように,サブマイクロプロセッサ14は,上記の演算を実行することで,LPF,HPF,BPFの機能を実現することができる。
A:センサ値
G:重力成分ベクトル
S:振動成分ベクトル
S×G:外積
|H|:外積の大きさに対応する第1の値
h:左右方向の一方と他方の加速度の大きさ
f:前後方向の一方と他方の加速度の大きさ
G:重力成分ベクトル
S:振動成分ベクトル
S×G:外積
|H|:外積の大きさに対応する第1の値
h:左右方向の一方と他方の加速度の大きさ
f:前後方向の一方と他方の加速度の大きさ
Claims (21)
- 歩行中に検出される三軸加速度センサのセンサ値から左右方向の一方と他方の加速度の大きさを生成する加速度センサ出力処理を,コンピュータに実行させる加速度センサ出力処理プログラムであって,
前記加速度センサ出力処理は,
前記センサ値からローパスフィルタにより抽出した重力成分ベクトルと,ハイパスフィルタにより抽出した振動成分ベクトルとの外積を生成する工程と,
前記外積の大きさに対応する第1の値を求める工程と,
前記歩行の奇数番目の歩周期と偶数番目の歩周期とを判定する工程と,
前記判定結果に応じて,前記第1の値の符号を反転して,前記左右方向の一方と他方の加速度の大きさを生成する工程とを有する加速度センサ出力処理プログラム。 - 請求項1において,
前記判定する工程は,前記重力成分ベクトルと振動成分ベクトルとの内積を生成し,前記内積の奇数番目の周期と偶数番目の周期に基づいて,前記歩行の奇数番目の歩周期と偶数番目の歩周期を判定する加速度センサ出力処理プログラム。 - 請求項1において,
前記判定する工程は,前記外積と任意のベクトルとの内積の符号に基づいて,前記歩行の奇数番目の歩周期と偶数番目の歩周期を判定する加速度センサ出力処理プログラム。 - 請求項1において,
前記判定する工程は,前記外積と同一平面内にない少なくとも3つのベクトルとの内積のうち最大絶対値の内積の符号に基づいて,前記歩行の奇数番目の歩周期と偶数番目の歩周期を判定する加速度センサ出力処理プログラム。 - 請求項1において,
前記判定する工程は,前記外積と任意のベクトルとの内積の符号に基づいて,前記歩行の奇数番目の歩周期と偶数番目の歩周期を判定し,前記任意のベクトルを前記外積に前記内積の符号を乗じて平均化して生成する加速度センサ出力処理プログラム。 - 歩行中に検出される三軸加速度センサのセンサ値から左右方向の一方と他方の加速度の第1の大きさを生成する加速度センサ出力処理を,コンピュータに実行させる加速度センサ出力処理プログラムであって,
前記加速度センサ出力処理は,
前記センサ値からローパスフィルタにより抽出した重力成分ベクトルと,第1のバンドパスフィルタにより抽出した前後振動成分ベクトルとを外積して第1の外積を生成する工程と,
前記第1の外積に交互に変化する所定の符号を乗じて平均化して左右いずれかの方向と一定の大きさを有する左右基準ベクトルを生成する工程と,
前記第1の外積と前記左右基準ベクトルとの第1の内積の符号に基づいて前記所定の符号を生成する工程と,
前記センサ値から,前記第1のバンドパスフィルタより通過周波数帯域が低い第2のバンドパスフィルタにより抽出した左右振動成分ベクトルと前記左右基準ベクトルとを内積して前記第1の大きさを生成する工程とを有する加速度センサ出力処理プログラム。 - 請求項6において,
前記加速度センサ出力処理は,更に,
前記重力成分ベクトルと前記左右基準ベクトルとを外積して前後いずれかの方向と一定の大きさを有する前後基準ベクトルを生成する工程と,
前記前後振動成分ベクトルと前記前後基準ベクトルとを内積して前後方向の一方と他方の加速度の第2の大きさを生成する工程とを有する加速度センサ出力処理プログラム。 - 請求項6において,
前記加速度センサ出力処理は,さらに,
前記センサ値からハイパスフィルタにより抽出した振動成分ベクトルと前記重力成分ベクトルとの第2の内積の符号に基づいて,前記第1の大きさの符号を修正して,左右方向を区別可能な第1の大きさを生成する工程を有する加速度センサ出力処理プログラム。 - 請求項7において,
前記加速度センサ出力処理は,さらに,
前記センサ値からハイパスフィルタにより抽出した振動成分ベクトルと前記重力成分ベクトルとの第2の内積の符号に基づいて,前記第2の大きさの符号を修正して,前後方向を区別可能な第2の大きさを生成する工程を有する加速度センサ出力処理プログラム。 - 請求項1乃至9のいずれかの加速度センサ出力処理により生成された左右方向の一方と他方の加速度の大きさの比を生成する工程と,
前記比に基づいて歩行評価を行う工程とを有する,歩行評価プログラム。 - 歩行中に検出される三軸加速度センサのセンサ値から左右方向の一方と他方の加速度の大きさを生成する加速度センサ出力処理装置であって,
前記センサ値からローパスフィルタにより抽出した重力成分ベクトルと,ハイパスフィルタにより抽出した振動成分ベクトルとの外積を生成する外積生成手段と,
前記外積の大きさに対応する第1の値を生成する第1の値生成手段と,
前記歩行の奇数番目の歩周期と偶数番目の歩周期とを判定する判定手段と,
前記判定結果に応じて,前記第1の値の符号を反転して,前記左右方向の一方と他方の加速度の大きさを生成する大きさ生成手段とを有する加速度センサ出力処理装置。 - 請求項11において,
前記判定手段は,前記重力成分ベクトルと振動成分ベクトルとの内積を生成し,前記内積の奇数番目の周期と偶数番目の周期に基づいて,前記歩行の奇数番目の歩周期と偶数番目の歩周期を判定する加速度センサ出力処理装置。 - 請求項11において,
前記判定手段は,前記外積と任意のベクトルとの内積の符号に基づいて,前記歩行の奇数番目の歩周期と偶数番目の歩周期を判定する加速度センサ出力処理装置。 - 請求項11において,
前記判定手段は,前記外積と同一平面内にない少なくとも3つのベクトルとの内積のうち最大絶対値の内積の符号に基づいて,前記歩行の奇数番目の歩周期と偶数番目の歩周期を判定する加速度センサ出力処理装置。 - 請求項11において,
前記判定手段は,前記外積と任意のベクトルとの内積の符号に基づいて,前記歩行の奇数番目の歩周期と偶数番目の歩周期を判定し,前記任意のベクトルを前記外積に前記内積の符号を乗じて平均化して生成する加速度センサ出力処理装置。 - 歩行中に検出される三軸加速度センサのセンサ値から左右方向の一方と他方の加速度の第1の大きさを生成する加速度センサ出力処理装置であって,
前記センサ値からローパスフィルタにより抽出した重力成分ベクトルと,第1のバンドパスフィルタにより抽出した前後振動成分ベクトルとを外積して第1の外積を生成する外積生成手段と,
前記第1の外積に交互に変化する所定の符号を乗じて平均化して左右いずれかの方向と一定の大きさを有する左右基準ベクトルを生成する左右基準ベクトル生成手段と,
前記第1の外積と前記左右基準ベクトルとの第1の内積の符号に基づいて前記所定の符号を生成する符号生成手段と,
前記センサ値から,前記第1のバンドパスフィルタより通過周波数帯域が低い第2のバンドパスフィルタにより抽出した左右振動成分ベクトルと前記左右基準ベクトルとを内積して前記第1の大きさを生成する第1の大きさ生成手段とを有する加速度センサ出力処理装置。 - 請求項16において,更に,
前記重力成分ベクトルと前記左右基準ベクトルとを外積して前後いずれかの方向と一定の大きさを有する前後基準ベクトルを生成する前後基準ベクトル生成手段と,
前記前後振動成分ベクトルと前記前後基準ベクトルとを内積して前後方向の一方と他方の加速度の第2の大きさを生成する第2の大きさ生成手段とを有する加速度センサ出力処理装置。 - 請求項16において,
前記加速度センサ出力処理は,さらに,
前記センサ値からハイパスフィルタにより抽出した振動成分ベクトルと前記重力成分ベクトルとの第2の内積の符号に基づいて,前記第1の大きさの符号を修正して,左右方向を区別可能な第1の大きさを生成する手段を有する加速度センサ出力処理装置。 - 請求項17において,さらに,
前記センサ値からハイパスフィルタにより抽出した振動成分ベクトルと前記重力成分ベクトルとの第2の内積の符号に基づいて,前記第2の大きさの符号を修正して,前後方向を区別可能な第2の大きさを生成する手段を有する加速度センサ出力処理装置。 - 歩行中に検出される三軸加速度センサのセンサ値から左右方向の一方と他方の加速度の大きさを生成する加速度センサ出力処理方法であって,
前記センサ値からローパスフィルタにより抽出した重力成分ベクトルと,ハイパスフィルタにより抽出した振動成分ベクトルとの外積を生成する工程と,
前記外積の大きさに対応する第1の値を求める工程と,
前記歩行の奇数番目の歩周期と偶数番目の歩周期とを判定する工程と,
前記判定結果に応じて,前記第1の値の符号を反転して,前記左右方向の一方と他方の加速度の大きさを生成する工程とを有する加速度センサ出力処理方法。 - 歩行中に検出される三軸加速度センサのセンサ値から左右方向の一方と他方の加速度の第1の大きさを生成する加速度センサ出力処理方法であって,
前記センサ値からローパスフィルタにより抽出した重力成分ベクトルと,第1のバンドパスフィルタにより抽出した前後振動成分ベクトルとを外積して第1の外積を生成する工程と,
前記第1の外積に交互に変化する所定の符号を乗じて平均化して左右いずれかの方向と一定の大きさを有する左右基準ベクトルを生成する工程と,
前記第1の外積と前記左右基準ベクトルとの第1の内積の符号に基づいて前記所定の符号を生成する工程と,
前記センサ値から,前記第1のバンドパスフィルタより通過周波数帯域が低い第2のバンドパスフィルタにより抽出した左右振動成分ベクトルと前記左右基準ベクトルとを内積して前記第1の大きさを生成する工程とを有する加速度センサ出力処理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/082240 WO2014091583A1 (ja) | 2012-12-12 | 2012-12-12 | 加速度センサ出力処理プログラム,処理方法,処理装置及び歩行評価プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5900655B2 true JP5900655B2 (ja) | 2016-04-06 |
JPWO2014091583A1 JPWO2014091583A1 (ja) | 2017-01-05 |
Family
ID=50933905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014551789A Expired - Fee Related JP5900655B2 (ja) | 2012-12-12 | 2012-12-12 | 加速度センサ出力処理プログラム,処理方法,処理装置及び歩行評価プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150272480A1 (ja) |
JP (1) | JP5900655B2 (ja) |
WO (1) | WO2014091583A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022139016A1 (ko) * | 2020-12-22 | 2022-06-30 | 주식회사 비플렉스 | 사용자의 머리에 착용되는 자세 센서의 전후 좌우 방향 결정 방법 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6111837B2 (ja) * | 2013-05-10 | 2017-04-12 | オムロンヘルスケア株式会社 | 歩行姿勢計およびプログラム |
CN103727959B (zh) * | 2013-12-31 | 2016-09-14 | 歌尔声学股份有限公司 | 计步方法及装置 |
US10281484B2 (en) * | 2014-05-02 | 2019-05-07 | Qualcomm Incorporated | Motion direction determination and application |
US9877668B1 (en) | 2014-11-21 | 2018-01-30 | University Of South Florida | Orientation invariant gait matching |
EP3363360B1 (en) * | 2015-10-13 | 2021-03-24 | Alps Alpine Co., Ltd. | Walking measurement device, walking measurement method and corresponding computer program |
WO2017130339A1 (ja) * | 2016-01-27 | 2017-08-03 | 株式会社ジェイアイエヌ | 情報処理方法、情報処理装置及びプログラム |
US11047706B2 (en) * | 2016-02-01 | 2021-06-29 | One Two Free Inc. | Pedometer with accelerometer and foot motion distinguishing method |
US20190282128A1 (en) | 2016-08-09 | 2019-09-19 | Koninklijke Philips N.V. | Processing apparatus and method for determining an ambulation motion of a subject |
JP6332574B1 (ja) * | 2016-09-16 | 2018-05-30 | 住友電気工業株式会社 | 移動能力評価装置、移動能力評価システム、移動能力評価プログラムおよび移動能力評価方法 |
JP6870733B2 (ja) | 2017-05-19 | 2021-05-12 | 富士通株式会社 | 情報処理装置、情報処理システム、および情報処理方法 |
US10901529B2 (en) * | 2018-07-19 | 2021-01-26 | Stmicroelectronics S.R.L. | Double-tap event detection device, system and method |
KR102304300B1 (ko) * | 2019-05-08 | 2021-09-23 | 주식회사 비플렉스 | 머리부 가속도 센서를 통한 보행인자 검출 방법 및 장치 |
KR102353762B1 (ko) * | 2019-09-11 | 2022-01-20 | 주식회사 비플렉스 | 사용자의 머리에 착용되는 자세 센서의 전후 좌우 방향 결정 방법 |
CN111317480B (zh) * | 2020-01-20 | 2023-05-09 | 深圳市丞辉威世智能科技有限公司 | 步态识别方法、装置、设备及可读存储介质 |
US20220218230A1 (en) * | 2021-01-13 | 2022-07-14 | Robert Bosch Gmbh | System and method of detecting walking activity using waist-worn inertial sensors |
CN113776575B (zh) * | 2021-08-16 | 2024-09-06 | 深圳市睿联技术股份有限公司 | 零点校准方法、设备、装置、电子设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009244102A (ja) * | 2008-03-31 | 2009-10-22 | Fujitsu Ltd | 移動方向算出装置、移動方向算出プログラムおよび移動方向算出方法 |
JP2012063208A (ja) * | 2010-09-15 | 2012-03-29 | Fujitsu Ltd | 状態判定装置および状態判定プログラム |
US20120136573A1 (en) * | 2010-11-25 | 2012-05-31 | Texas Instruments Incorporated | Attitude estimation for pedestrian navigation using low cost mems accelerometer in mobile applications, and processing methods, apparatus and systems |
JP2012168004A (ja) * | 2011-02-14 | 2012-09-06 | Kddi Corp | 遊脚期の加速度データを用いて歩行者の進行方向を決定する携帯端末、プログラム及び方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4967368B2 (ja) * | 2006-02-22 | 2012-07-04 | ソニー株式会社 | 体動検出装置、体動検出方法および体動検出プログラム |
EP2263532A1 (en) * | 2009-06-05 | 2010-12-22 | Koninklijke Philips Electronics N.V. | Motion determination apparatus |
JP5471490B2 (ja) * | 2010-01-20 | 2014-04-16 | オムロンヘルスケア株式会社 | 体動検出装置 |
FR2959112B1 (fr) * | 2010-04-23 | 2015-05-29 | Movea | Systeme d'analyse de foulees d'un utilisateur |
US9357948B2 (en) * | 2010-12-01 | 2016-06-07 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method and system for determining the values of parameters representative of a movement of at least two limbs of an entity represented in the form of an articulated line |
US9495018B2 (en) * | 2011-11-01 | 2016-11-15 | Qualcomm Incorporated | System and method for improving orientation data |
US9069003B2 (en) * | 2012-04-27 | 2015-06-30 | Nokia Corporation | Methods, apparatuses and computer program products for determining speed of movement of a device and device pose classification |
-
2012
- 2012-12-12 WO PCT/JP2012/082240 patent/WO2014091583A1/ja active Application Filing
- 2012-12-12 JP JP2014551789A patent/JP5900655B2/ja not_active Expired - Fee Related
-
2015
- 2015-06-10 US US14/735,936 patent/US20150272480A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009244102A (ja) * | 2008-03-31 | 2009-10-22 | Fujitsu Ltd | 移動方向算出装置、移動方向算出プログラムおよび移動方向算出方法 |
JP2012063208A (ja) * | 2010-09-15 | 2012-03-29 | Fujitsu Ltd | 状態判定装置および状態判定プログラム |
US20120136573A1 (en) * | 2010-11-25 | 2012-05-31 | Texas Instruments Incorporated | Attitude estimation for pedestrian navigation using low cost mems accelerometer in mobile applications, and processing methods, apparatus and systems |
JP2012168004A (ja) * | 2011-02-14 | 2012-09-06 | Kddi Corp | 遊脚期の加速度データを用いて歩行者の進行方向を決定する携帯端末、プログラム及び方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022139016A1 (ko) * | 2020-12-22 | 2022-06-30 | 주식회사 비플렉스 | 사용자의 머리에 착용되는 자세 센서의 전후 좌우 방향 결정 방법 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2014091583A1 (ja) | 2017-01-05 |
US20150272480A1 (en) | 2015-10-01 |
WO2014091583A1 (ja) | 2014-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5900655B2 (ja) | 加速度センサ出力処理プログラム,処理方法,処理装置及び歩行評価プログラム | |
US10667726B2 (en) | Gait posture meter and program | |
JP6288706B2 (ja) | 上体運動計測システム及び上体運動計測方法 | |
JP6358889B2 (ja) | 歩行者観測システム、プログラムおよび進行方向推定方法 | |
JP2017506745A (ja) | 加速度計の方向を決定する方法及び装置 | |
US9151622B2 (en) | Method and apparatus for estimating moving direction of user and computer-readable storage medium having recorded thereon the method | |
JP6222096B2 (ja) | 電子機器、及びプログラム | |
TW201425878A (zh) | 多姿態步距校正定位系統與方法 | |
JP5695436B2 (ja) | 遊脚期の加速度データを用いて歩行者の進行方向を決定する携帯端末、プログラム及び方法 | |
JP2015062654A (ja) | 歩容推定装置とそのプログラム、転倒危険度算出装置とそのプログラム | |
JP2010005033A (ja) | 歩行動作分析装置 | |
JP2015149051A (ja) | 入力装置、入力方法および入力プログラム | |
Meng et al. | Biomechanical model-based displacement estimation in micro-sensor motion capture | |
US20120139925A1 (en) | System for Estimating Location of Occluded Skeleton, Method for Estimating Location of Occluded Skeleton and Method for Reconstructing Occluded Skeleton | |
JPWO2019116495A1 (ja) | 技認識プログラム、技認識方法および技認識システム | |
JP5017062B2 (ja) | 体動検出装置 | |
JP6382775B2 (ja) | 歩数計測装置、歩数計測方法、およびプログラム | |
CN111248919A (zh) | 步态识别方法、装置、设备及可读存储介质 | |
WO2014181602A1 (ja) | 歩行姿勢計およびプログラム | |
KR20080029209A (ko) | 만보계 걸음산출방법 | |
JP6277674B2 (ja) | 情報処理装置、情報処理装置の作動方法及びプログラム | |
WO2022250098A1 (ja) | 情報処理装置、電子機器、情報処理システム、情報処理方法及びプログラム | |
KR101713496B1 (ko) | 가속도 센서를 이용한 무지연 실시간 걸음검출 시스템 및 방법 | |
JP2011117945A (ja) | 歩行計測装置、歩行計測方法およびプログラム | |
JP2021186000A (ja) | 脚運動認識装置及び脚運動補助装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160209 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160222 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5900655 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |