(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-27
(45)【発行日】2024-06-04
(54)【発明の名称】電子機器、運動データ取得方法およびプログラム
(51)【国際特許分類】
A63B 71/06 20060101AFI20240528BHJP
A61B 5/11 20060101ALI20240528BHJP
A63B 69/00 20060101ALN20240528BHJP
【FI】
A63B71/06 J
A61B5/11 200
A63B69/00 C
(21)【出願番号】P 2020153469
(22)【出願日】2020-09-14
【審査請求日】2023-08-14
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(72)【発明者】
【氏名】山口 倫治
(72)【発明者】
【氏名】井手 博康
【審査官】槙 俊秋
(56)【参考文献】
【文献】特開2017-161458(JP,A)
【文献】特開2017-9341(JP,A)
【文献】特開2016-42879(JP,A)
【文献】特開2015-188605(JP,A)
【文献】特開2013-143996(JP,A)
【文献】特開2001-258870(JP,A)
【文献】米国特許第5930741(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63B 71/06
A61B 5/11
A63B 69/00
(57)【特許請求の範囲】
【請求項1】
制御部を備える電子機器であって、
前記制御部は、
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得し、
前記加速度データに基づいて速度データを導出するとともに、第一の2歩周期の倍数分の期間の前記速度データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記速度データの平均値とに基づいて前記速度データの誤差を導出し、前記速度データの誤差を用いて前記速度データを補正することにより補正速度データを生成する、
電子機器。
【請求項2】
前記制御部は、
前記補正速度データに基づいて位置データを導出するとともに、前記第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する前記第二の2歩周期の倍数分の期間の前記位置データの平均値とに基づいて前記位置データの誤差を導出し、前記位置データの誤差を用いて前記位置データを補正することにより補正位置データを生成する、
請求項1に記載の電子機器。
【請求項3】
制御部を備える電子機器であって、
前記制御部は、
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得し、
前記加速度データに基づいて位置データを導出するとともに、第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記位置データの平均値とに基づいて前記位置データの誤差を導出し、前記位置データの誤差を用いて前記位置データを補正することにより補正位置データを生成する、
電子機器。
【請求項4】
前記制御部は、
前記第一の2歩周期の倍数分の期間の前記速度データの平均値と前記第二の2歩周期の倍数分の期間の前記速度データの平均値とを線形補間することにより前記速度データの誤差を導出する、
請求項1又は2に記載の電子機器。
【請求項5】
前記制御部は、
前記第二の2歩周期の倍数分の期間に連続する第三の2歩周期の倍数分の期間の前記速度データの平均値を求め、
前記第一の2歩周期の倍数分の期間の前記速度データの平均値と前記第二の2歩周期の倍数分の期間の前記速度データの平均値と前記第三の2歩周期の倍数分の期間の前記速度データの平均値とを2次補間することにより前記速度データの誤差を導出する、
請求項1又は2に記載の電子機器。
【請求項6】
前記制御部は、
前記第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第二の2歩周期の倍数分の期間の前記位置データの平均値とを線形補間することにより前記位置データの誤差を導出する、
請求項2又は3に記載の電子機器。
【請求項7】
前記制御部は、
前記第二の2歩周期の倍数分の期間に連続する第三の2歩周期の倍数分の期間の前記位置データの平均値を求め、
前記第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第二の2歩周期の倍数分の期間の前記位置データの平均値と前記第三の2歩周期の倍数分の期間の前記位置データの平均値とを2次補間することにより前記位置データの誤差を導出する、
請求項2又は3に記載の電子機器。
【請求項8】
前記第一の2歩周期の倍数分の期間と前記第二の2歩周期の倍数分の期間は、時間軸上で互いに部分的に重なるように設定される、
請求項1から7のいずれか1項に記載の電子機器。
【請求項9】
前記第一の2歩周期の倍数分の期間と前記第二の2歩周期の倍数分の期間は、時間軸上で互いに重複せずに、かつ、間隔をあけずに互いに連続するように設定される、
請求項1から7のいずれか1項に記載の電子機器。
【請求項10】
前記ユーザの腰に装着する取付部をさらに備える、
請求項1から9のいずれか1項に記載の電子機器。
【請求項11】
前記加速度センサをさらに備える、
請求項1から10のいずれか1項に記載の電子機器。
【請求項12】
電子機器の運動データ取得方法であって、
前記電子機器は、
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得するステップと、
前記加速度データに基づいて速度データを導出するステップと、
第一の2歩周期の倍数分の期間の前記速度データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記速度データの平均値とに基づいて前記速度データの誤差を導出するステップと、
前記速度データの誤差を用いて前記速度データを補正することにより補正速度データを生成するステップと、
を
実行する運動データ取得方法。
【請求項13】
電子機器の運動データ取得方法であって、
前記電子機器は、
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得するステップと、
前記加速度データに基づいて位置データを導出するステップと、
第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記位置データの平均値とに基づいて前記位置データの誤差を導出するステップと、
前記位置データの誤差を用いて前記位置データを補正することにより補正位置データを生成するステップと、
を
実行する運動データ取得方法。
【請求項14】
コンピュータに、
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得するステップと、
前記加速度データに基づいて速度データを導出するステップと、
第一の2歩周期の倍数分の期間の前記速度データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記速度データの平均値とに基づいて前記速度データの誤差を導出するステップと、
前記速度データの誤差を用いて前記速度データを補正することにより補正速度データを生成するステップと、
を実行させるプログラム。
【請求項15】
コンピュータに、
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得するステップと、
前記加速度データに基づいて位置データを導出するステップと、
第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記位置データの平均値とに基づいて前記位置データの誤差を導出するステップと、
前記位置データの誤差を用いて前記位置データを補正することにより補正位置データを生成するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器、運動データ取得方法およびプログラムに関する。
【背景技術】
【0002】
ランニング等の運動時において、慣性センサをユーザの腰に装着して、運動データを取得し、ランニングフォーム等の運動中の体の動きを解析することが行われている。
【0003】
特許文献1は、ユーザに取り付けられた慣性センサから取得した測定データに基づいて、ユーザの左右の動きを算出する運動解析装置を開示している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、あるデータに基づいて所望のデータを得ようとする場合、測定誤差、方向推定精度、積分によるドリフト等により誤差が蓄積し、精度良く安定的に左右の動きを算出することは困難である。
【0006】
本発明は、上記に鑑みてなされたものであって、運動中のユーザの左右の動きを精度良く安定的に算出することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る電子機器は、
制御部を備える電子機器であって、
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得し、
前記加速度データに基づいて速度データを導出するとともに、第一の2歩周期の倍数分の期間の前記速度データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記速度データの平均値に基づいて前記速度データの誤差を導出し、前記速度データの誤差を用いて前記速度データを補正することにより補正速度データを生成する。
【発明の効果】
【0008】
本発明によれば、運動中のユーザの左右の動きを精度良く安定的に算出することができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態に係る電子機器の外観を示す正面図である。
【
図2】本発明の実施の形態に係る電子機器の人体への装着状態を示す図である。
【
図3】本発明の実施の形態に係る電子機器の構成を示す図である。
【
図4】本発明の実施の形態に係る加速度センサおよびジャイロセンサの3軸方向を説明する図である。
【
図5】本発明の実施の形態に係る電子機器の制御部の機能的構成を示す図である。
【
図6】本発明の実施の形態に係る電子機器の制御部の左右動取得処理手順を示すフローチャートである。
【
図7】本発明の実施の形態に係る電子機器の制御部の姿勢推定処理手順を示すフローチャートである。
【
図8】本発明の実施の形態に係る電子機器の進行方向の姿勢のずれを示す図である。
【
図9】(a)は本発明の実施の形態に係る電子機器の進行方向の姿勢のずれを示す角速度の波形図、(b)は本発明の実施の形態に係る電子機器の進行方向の姿勢のずれを示す角度の波形図である。
【
図10】本発明の実施の形態に係る電子機器の制御部の左右動推定処理手順を示すフローチャートである。
【
図11】本発明の実施の形態に係る電子機器の積分誤差を示す位置の波形図である。
【
図12】本発明の実施の形態に係る電子機器の制御部の速度データ補正処理手順を示すフローチャートである。
【
図13】本発明の実施の形態に係る電子機器の制御部の位置データ補正処理手順を示すフローチャートである。
【
図14】本発明の実施の形態に係る電子機器の制御部の速度データおよび位置データ補正処理を説明するタイムチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態にかかる電子機器について図面を参照して説明する。
なお、以下における、「走行」は、歩行も含めユーザ自身の足を使って移動する行動の総称である。
【0011】
本実施の形態にかかる電子機器1は、後述する各種の慣性センサが一体となって内蔵されている。電子機器1は、
図1に示すように、正面に電源キー2と、例えば、LED(Light Emitting Diode)からなる表示部3を備える。電源キー2を操作することによって、慣性センサによるセンサデータの取得が行われる。表示部3は、動作状態を示し、例えば、電源がONされて慣性センサからセンサデータの取得が行われている状態で、LEDが点灯状態を維持する。また、電子機器1は、背面に取付部であるクリップ4が設けられており、クリップ4を物に挟み込むことによって取付可能となっている。
【0012】
電子機器1は、例えば
図2に示すように、走行時において、ユーザの背中の腰部の中央付近に装着される。電子機器1は、クリップ4をユーザの衣服やベルトに挟み込むことによって腰部へ取り付けられる。電子機器1は、ユーザの腰部に装着されることによって、内蔵された慣性センサにより運動中の体の動きを取得する。なお、電子機器1は、ユーザの運動中の、体幹を含む胴体の動きを精度よく検出できれば、腰部に限らず胸部や腹部の中央部、頸部等の人体の任意の位置に密着して装着してもよい。また、電子機器1の取付方法は、ユーザに密着して装着できるものであれば、クリップ4に限らず、ピン、接着テープ等であってもよい。
【0013】
電子機器1は、
図3に示すように、装置全体を制御する中央制御回路31と、不揮発性の記憶回路であるROM(Read Only Memory)32と、揮発性の記憶回路であるRAM(Random Access Memory)33と、記憶部34と、無線通信を行う無線通信モジュール35と、電源キー2による入力、表示部3への出力を制御する入出力制御回路36と、加速度を検出する加速度センサ37と、角速度を検出するジャイロセンサ38と、時間を計測する計時部39と、上記各回路へ電源を供給する、二次電池等のバッテリを含む電源回路40と、を備える。
【0014】
慣性センサである加速度センサ37およびジャイロセンサ38はユーザの運動状態を測定する。加速度センサ37は、3軸加速度センサであり、互いに直交する3軸方向の加速度を検出することにより、ユーザの運動中の動作速度の変化を計測する。
【0015】
ジャイロセンサ38は、3軸角速度センサであり、加速度センサ37において加速度を規定する3軸について各々の軸を中心として回転する角速度を検出することにより、ユーザの運動中の動作方向の変化を計測する。
【0016】
図4は、加速度センサ37およびジャイロセンサ38における3軸方向を示す図である。走行等の運動中の人体の前後方向をy軸方向とする。ここで、ユーザが移動する進行方向を+方向、その反対方向を-方向とする。また、y軸に直交する人体の左右の体側面方向をx軸方向とする。ここで、ユーザの右手方向を+方向、その反対方向を-方向とする。また、x-y平面に直交する人体の上下方向である体軸方向をz軸方向とする。ここで、ユーザの頭上方向を+方向、その反対方向を-方向と規定する。さらに、各軸の+方向に向かって右回り方向に生じる角速度を+方向と規定する。
【0017】
計時部39は、加速度センサ37、ジャイロセンサ38からセンサデータを取得する際の経過時間を計測して時間データとして出力する。ここで、計時部39は、例えば電波時計の機能を有して、送信局から送信される標準電波や、GPS(Global Positioning System)衛星から送信される時刻情報に基づいて、ユーザの運動中の経過時間を高い精度で計測する。また、内蔵されている水晶振動子により生成される基本クロックを用いて、時間を計測するものであってもよい。
【0018】
中央制御回路31は、プロセッサを備え、バスを通じて各回路と接続されており、ROM32に記憶されている制御プログラムを実行することにより、各種機能を実現して装置全体を制御する。
【0019】
ROM32は、中央制御回路31が各種機能を実現するための制御プログラム、各種固定データを記憶している。RAM33は、中央制御回路31の作業領域として機能する。記憶部34は、フラッシュメモリ、ハードディスク等の不揮発性メモリである。記憶部34は、中央制御回路31が各種処理を行うために使用するプログラムおよび各種処理を行うことにより生成又は取得するデータを記憶する。中央制御回路31は、所定の制御プログラムを実行することにより、加速度センサ37、ジャイロセンサ38における検出動作、計時部39における経過時間の計測動作、センサデータのRAM33および記憶部34への保存および読出し動作、無線通信モジュール35を介した外部装置41への運動データの送信動作等の制御を行う。また、中央制御回路31は、センサデータについて、後述する姿勢推定処理、左右動推定処理を行い、運動データの解析処理が正しく行えるよう、運動データを補正する。
【0020】
無線通信モジュール35は、無線LAN(Local Area Network)、Bluetooth(登録商標)等を介して外部装置41と通信を行うインタフェースを備え、図示しないアンテナを介して外部装置41と無線通信を行う。電子機器1が取得した運動データは、無線通信モジュール35を介して外部装置41へ送信される。なお、外部装置41との通信は、無線通信モジュール35の代わりに、USB(Universal Serial Bus)等の有線による通信モジュールを介して行われてもよい。
【0021】
入出力制御回路36は、電源キー2から入力された信号をデータに変換して中央制御回路31に送信するとともに、中央制御回路31からの制御信号に基づいて表示部3の点灯を制御する。
【0022】
電源回路40は、電源IC(Integrated Circuit)等を備え、バッテリから各回路に必要な電源を作り出して供給する。また電源回路40は、バッテリを充電する。
【0023】
外部装置41は、電子機器1から無線通信モジュール35を介して送信されたユーザの運動データを受信する。外部装置41は、受信した運動データを解析し、解析した結果を表示する。外部装置41は、例えば、ユーザが装着するスマートウォッチ、スマートフォン、タブレット端末、パーソナルコンピュータ、ネットワーク上のサーバ装置等である。すなわち、外部装置41は、ユーザが運動中に解析結果を確認できるように、携帯又は身体に装着しているものであってもよいし、運動後に解析結果をじっくり確認できるように、ユーザが携帯することなく、電子機器1とは別個に設置されているものであってもよい。
【0024】
電子機器1は、プログラムに記述された命令に従って中央制御回路31が各部の動作を制御し、ソフトウェアとハードウェアとが協働して動作することにより、
図5に示すように、以下に説明する機能を実現する制御部50を構成する。
【0025】
制御部50は、加速度センサからの加速度データを取得する加速度データ取得部51と、ジャイロセンサから角速度データを取得する角速度データ取得部52と、姿勢推定部53と、左右動推定部54と、を備える。
【0026】
加速度データ取得部51は、加速度センサ37により検出される加速度信号を所定のサンプリング周期でサンプリングして加速度データを取得する。
【0027】
角速度データ取得部52は、ジャイロセンサ38により検出される角速度信号を所定のサンプリング周期でサンプリングして角速度データを取得する。
【0028】
姿勢推定部53は、加速度センサ37やジャイロセンサ38のデータに基づいてユーザの腰部に装着されている電子機器1の姿勢を推定する。姿勢推定部53は、重力方向推定・補正部53aと、進行方向姿勢推定部53bと、を備える。重力方向推定・補正部53aは、重力方向に対する傾斜を推定し、重力方向に対する軸に沿ったデータに変換する。また、進行方向姿勢推定部53bは、ユーザが走行する進行方向に対する傾斜を推定する。
【0029】
左右動推定部54は、ユーザの腰部に装着されている電子機器1の左右方向(x軸方向)の動き、すなわち、ユーザの左右方向の動きを推定する。左右動推定部54は、進行方向姿勢補正部54aと、速度データ補正部54bと、位置データ補正部54cと、を備える。進行方向姿勢補正部54aは、進行方向姿勢推定部53bにより推定されたユーザが走行する進行方向に対する傾斜についてy軸を進行方向に平行となるように揃えるように補正する。速度データ補正部54bは、加速度データを積分して算出された速度データに含まれる積分誤差を求めて、速度データから積分誤差を減算することにより、速度データを補正する。位置データ補正部54cは、速度データ補正部54bで補正された速度データを積分して算出された位置データに含まれる積分誤差を求めて、位置データから積分誤差を減算することにより、位置データを補正する。
【0030】
次に、電子機器1における制御方法(運動データ取得方法)について、図面を参照して説明する。ここで、以下に示す一連の運動データ取得方法は、上述した中央制御回路31において所定の制御プログラムを実行することにより実現される。
【0031】
まず、本実施の形態に係る電子機器1における左右動データ取得方法の概略について説明する。
図6は、本実施の形態に係る電子機器1における左右動取得処理を示すフローチャートである。ユーザは腰部に電子機器1を装着して電源キー2を操作して運動データを測定可能状態としてから、走行を開始する。走行が開始されると、加速度センサ37およびジャイロセンサ38からセンサ信号が出力される。センサ信号が出力されると、加速度データ取得部51は、加速度センサ37のセンサ信号を所定の周期、例えば200Hzのサンプリング周波数でサンプリングして、加速度データを記憶部34に記憶することによって加速度データを取得する。同様に、角速度データ取得部52は、ジャイロセンサ38のセンサ信号を、200Hzのサンプリング周波数でサンプリングして、角速度データを記憶部34に記憶することにより、角速度データを取得する。
【0032】
制御部50は、加速度センサ37から検出される加速度信号、あるいはジャイロセンサ38から検出される角速度信号に基づき、運動状態を監視して、走行が継続しているか、終了したかを判断する(ステップS101)。例えば、所定値以上の加速度信号が所定間隔内で検出される場合は、走行が続いていると判断し、検出されない場合は、走行が終了したと判断する。制御部50は、走行が続いていると判断した場合(ステップS101:NO)、センサデータが得られるごとに、姿勢推定処理を行う(ステップS102)。また、同時に制御部50はセンサデータの加速度などからユーザの走行状態として足を2歩移動したか否かの判定を行い(ステップS103)、2歩周期分の加速度データ(x軸方向の加速度データ)が取得されてメモリに格納されることにより、2歩周期分の加速度データが揃ったと判定される(ステップS103:YES)。2歩周期分のx軸方向の加速度データが揃ったと判定されると、制御部50は、ユーザの左右方向の動きを推定する左右動推定処理を行う(ステップS104)。左右動推定処理が実行された後、ステップS101に戻る。また、2歩周期分のx軸方向の加速度データが揃わない場合(ステップS103:NO)、ステップS101に戻り、走行が継続している限り、2歩周期分のx軸方向の加速度データが揃うまでステップS101に戻る動作が繰り返される。また、ステップS101において、走行が終了したと判断された場合(ステップS101:YES)、左右動取得処理は終了する。
【0033】
続いて、姿勢推定処理について
図7を参照して説明する。加速度センサ37、ジャイロセンサ38を含む慣性センサは前述したように、ユーザの腰部に装着されている。ここで、ランニングをしている時、ユーザの姿勢が前傾になったり左右に傾いたりしている場合がある。この場合、慣性センサを装着したユーザの腰部の傾斜角度分だけ、本来重力方向と平行となるべきz軸方向、および、ユーザの進行方向と平行となるべきy軸方向が傾斜する。そこで、加速度センサ37やジャイロセンサ38のデータに基づいてこれらの傾斜を推定する姿勢推定処理を行う。
【0034】
姿勢推定処理において、制御部50は、まず、重力方向に対する傾斜を推定し、重力方向に対する軸に沿ったデータ、すなわち、水平方向に沿ってy軸およびx軸をとり、重力方向をz軸方向とした軸座標データに変換する重力方向推定・補正処理を行う(ステップS201)。この推定方式の一例として、加速度センサ37の3軸出力とジャイロセンサ38の3軸出力をカルマンフィルタやローパスフィルタに入力することにより、地面に対する、加速度の3軸データと、角速度の3軸データとを算出して、重力方向の推定を行う。また、カルマンフィルタやローパスフィルタ以外の軸推定方式を採用して重力方向の推定を行ってもよい。重力方向の推定が行われると、加速度センサ37やジャイロセンサ38のデータについて推定された重力方向に姿勢を補正する。この処理により、加速度センサ37とジャイロセンサ38のデータのz軸方向が重力方向を向くこととなる。
【0035】
続いて、制御部50は、ユーザが走行する進行方向に対する傾斜を推定し、y軸を進行方向に平行となるように揃える進行方向推定処理を行う(ステップS202)。進行方向推定処理において重力方向の姿勢の補正処理が行われたジャイロセンサ38からの角速度データを積分することにより角度データを求め、現在のジャイロセンサ38のy軸方向と進行方向との差分を算出して、進行方向の推定を行い、進行方向姿勢補正を行う。しかしながら、角度は角速度データを積分することにより求めるため積分誤差が生じ、また、走行中、ユーザがカーブなどで曲がった場合にも誤差が生じ、これらの誤差が累積することにより、結果がずれてしまうことが考えられる。
【0036】
この状態を
図8を参照して説明する。
図8は、ユーザが走行している状態を示しており、ユーザは進行方向に対してz軸方向の角速度データGyrZだけずれた状態を示している。走行中において、ユーザは交互に足を出し、腕を振ることから、腰は左右に交互に回転し、z軸回りの角速度データGyrZは、進行方向を中心として正弦波を描いている。しかし、例えば、ユーザがカーブを曲がって走行している場合、角速度の中心にずれが生じる。
【0037】
ユーザが直線からカーブに沿って走行している状態におけるz軸回りの角速度データGyrZを示したのが、
図9(a)である。ここで、ユーザがカーブに沿って走行している状態において、角速度の中心にずれが生じている。この角速度のデータを積分して角度データとして示したのが、
図9(b)の曲線91である。本来であれば、角速度は曲線93のようになるところ、ユーザがカーブを曲がることによって角度に大きなずれが発生している。
【0038】
このように、進行方向は時々刻々変化し、この変化にしたがい、進行方向の姿勢誤差が増大する。進行方向の姿勢誤差が増大すると、y軸が正しい方向に補正されず、これに伴いx軸も正しい方向に補正されないこととなる。すなわち、左右方向の動きについて精度良く算出することができなくなる。そこで、この姿勢誤差を抽出して角度データから除去することにより、y軸を正しい方向に補正する。本実施の形態において、歩行時、あるいは走行時の2歩周期分の角速度データを用いてこの補正を行う。
【0039】
一般に、走行動作においては、一方の足、例えば右足を進行方向に踏み出して着地してから、一方の足を蹴り出し(右足の離地)、続いて他方の足(左足)が着地し、他方の足を蹴り出し(左足の離地)、再び一方の足(右足)を着地する、左右各1歩の計2歩分を1周期として定義することができる。
【0040】
このとき、右足の踏み出しに対して腰は進行方向から右回りに移動する。その後右足の着地により反転して左回りに移動し、右足を蹴り出す頃には進行方向に戻り、さらに左回りに移動し左足の着地により反転して右回りに移動して進行方向に戻る。
【0041】
すなわち、この間のz軸回りの角度の軌跡は左右対称であり、平均すると0になる。したがって、上述した誤差がなければ、2歩周期の角度の平均は0であり、逆に誤差があれば、2歩周期の角度の平均は進行方向の姿勢誤差を示す。
【0042】
そこで、2歩周期分の積分結果の平均を算出して積分結果から減算する。これによって姿勢誤差を除去した速度データを得る。これにより、進行方向とセンサのy軸方向の差分を2歩周期で平均0にすることができる。
【0043】
2歩周期は、ジャイロセンサ38からの角速度データに基づき求められる。ユーザが走行する場合、左足を進行方向に出して踵を地面についたときに角速度は0となる。左足の踵を地面についた後、後方に蹴り出すことにより角速度は-方向に大きくなる。ユーザが進行方向を向いた状態で角速度は最大となる。ユーザが進行方向を向いた状態となった後、右足が進行方向に移動するにしたがって、角速度は小さくなっていく。そして右足の踵が着地したときに角速度は0となる。
【0044】
右足の踵が着地した後、後方に蹴り出すことにより角速度は+方向に大きくなる。ユーザが進行方向を向いた状態で角速度は最大となる。ユーザが進行方向を向いた状態となった後、左足が進行方向に移動するにしたがって、角速度は小さくなっていく。そして左足の踵が着地したときに角速度は0となる。このように、角速度が0となるとき、あるいは、角速度が最大または最小となるタイミングから2歩周期を求めることができる。
【0045】
あるいは、加速度センサ37からの加速度データから2歩周期を求めることができる。
一連の走行動作において、加速度センサ37により取得された加速度データのうち上下方向の加速度成分は、左右の一歩ごとに周期性を有する信号波形を示す。このことから、上下方向の加速度成分における2歩周期分が、走行動作における1周期に対応することになる。したがって、加速度センサにより取得された上下方向の加速度成分に基づいて、ユーザが行った走行動作における2歩周期ごとの動作データを安定的に切り出すことができる。これとともに、2歩周期の時間を正確に計測することができる。例えば、右足の踵を着地するタイミングで、+方向の加速度が最大となり、左足の踵を着地するタイミングで-方向の加速度が最大となる。なお、周期推定方法として、他の方式が採用されてもよい。
【0046】
進行方向の推定処理を行う前に、2歩周期分の角速度データが揃うことが必要である。ジャイロセンサ38から検出された角速度信号は、角速度データ取得部52に入力され、角速度データ取得部52は、所定のサンプリング周期でサンプリングし、記憶部34に記憶される。記憶部34に角速度データが2歩周期分格納されると、記憶部34からこの2歩周期分のz軸方向の角速度データGyrZが読み出される。この2歩周期期間のz軸方向の角速度データGyrZについて積分が行われ、角度が算出される。角度が算出されると、2歩周期期間内の角度の平均が算出される。この2歩周期における左右の揺動は対となることから、角度の平均は0となるはずである。
【0047】
しかしながら、積分誤差、カーブ等によるずれがこの平均に表れる。この平均を表す曲線が
図9(b)の曲線92である。ここで、平均は、2歩周期の平均値とこれより1歩手前を中心とした2歩周期の平均値に基づいてその間を線形補間することによって求められる。なお、線形補間に用いる平均値は、2歩周期の平均値とこれより2歩手前を中心とした隣接する2歩周期の平均値を用いてもよい。また、2歩周期に限らず、例えば4歩周期、6歩周期等2歩周期の整数倍の平均値を用いてもよい。制御部50は、上述のように平均を求めることにより積分誤差等によるずれを算出し、速度データを積分して求めた角度からこのずれを減算し、進行方向を補正する。以上により、姿勢推定処理は終了する。
【0048】
図7において姿勢推定処理が行われ、2歩周期分の加速度データが記憶部34に格納されると、2歩周期分の加速度データが記憶部34から読み出され、左右動推定処理が行われる(
図6、ステップS104)。
【0049】
続いて、左右動推定処理について
図10を参照して説明する。
まず、保存されている2歩周期分の加速度データに対して、姿勢推定処理で得られた進行方向の姿勢誤差を用いて進行方向の姿勢補正を行う。これにより、姿勢推定処理により既に行われた重力方向の姿勢補正に加えて、進行方向の姿勢補正が行われ、z軸が重力方向、y軸が進行方向に沿った加速度、すなわち、x軸方向についても姿勢補正された加速度が取得される(ステップS301)。
【0050】
ステップS301で進行方向の姿勢補正が行われた加速度データは、積分処理が行なわれ、速度が算出される。しかしながら、積分処理を行うことにより積分誤差が発生し、算出された速度データはこの積分誤差を含んでいる。位置データを算出するためには、さらに速度データを積分する必要がある。速度データを積分することによって、さらに積分誤差が発生し、算出された位置データの誤差は大きくなる。
図11は、加速度のデータを2回積分した場合の位置データを示した図であり、曲線111が2回積分した位置データを示している。加速度データの積分による積分誤差と速度データの積分による積分誤差が累積することによって誤差が増大している。そこで、前述の進行方向の姿勢補正の場合と同様に、2歩周期分の積分データの平均を求めることにより、この誤差成分を算出する。前述したように、2歩周期におけるz軸回りの角度の軌跡は左右対称であり、平均すると0になる。同様に、左右方向、すなわち、x軸方向の速度データの変化および位置データの変化も左右対称であり、平均すると0になる。したがって、積分誤差がなければ、2歩周期のx軸方向の速度データおよび位置データの平均は0であり、逆に誤差があれば、2歩周期のx軸方向の速度データおよび位置データの平均は積分誤差を示す。
【0051】
ここで、誤差成分は、2歩周期分ごとに平均を求め、求められた平均と次に求められた平均に基づいてその間の速度データおよび位置データについて補間を行うことにより算出される。ステップS302において、進行方向の姿勢補正が行われた加速度データを積分処理して速度データを算出するとともに、速度データの誤差成分を求めて、速度データから誤差成分を減算することにより、誤差が補正された速度データを求める。
【0052】
次に、ステップS302における速度データの補正処理について、
図12および
図14を参照して説明する。
図14のタイムチャートにおいて、横軸の時間軸は、右から左に過去に向かって、直近の接地時landing〔0〕、1歩前の接地時landing〔1〕、2歩前の接地時landing〔2〕、3歩前の接地時landing〔3〕、4歩前の接地時landing〔4〕を示している。
【0053】
補正処理は1歩接地毎に行われ、記憶部34には、パラメータとして、加速度データaccX、速度データvelo_tmp、直近に求められた2歩周期の期間の速度データの平均値velo_ave_cur、前回求められた2歩周期の期間の速度データの平均値velo_ave_pst、両平均値に基づき補間された速度データの補間値velo_LI、直近に求められた両平均値に基づき補正された補正速度データvelo_cur、前回求められた補正速度データvelo_pst、位置データpos_tmp、直近に求められた2歩周期の期間の位置データの平均値pos_ave_cur、前回求められた2歩周期の期間の位置データの平均値pos_ave_pst、両平均値に基づき補間された位置データの補間値pos_LI、両平均値に基づき補正された補正位置データpos_cur等が記憶されている。
【0054】
今、記憶部34の上記パラメータとして、landing〔0〕の接地前のlanding〔1〕までの加速度データに基づくデータが記憶されている。すなわち、直近に求められた2歩周期の期間の速度データの平均値velo_ave_curとしてlanding〔1〕とその2歩周期前のlanding〔3〕との間の範囲の速度データの平均値が記憶され、直近に求められた補正速度データvelo_curとしてlanding〔2〕とlanding〔3〕の間における補正速度データが記憶され、直近に求められた2歩周期の期間の位置データの平均値pos_ave_curとしてlanding〔2〕とその2歩周期前のlanding〔4〕との間の範囲の位置データの平均値が、それぞれ記憶されている。
【0055】
ここで、新たに、接地時landing〔0〕の加速度データが入力されると、速度データの補正処理について更新が行われる。
【0056】
図12において、制御部50は、記憶部34から、直近に求められた2歩周期の期間の速度データの平均値velo_ave_cur、直近に求められた補正速度データvelo_cur、直近に求められた2歩周期の期間の位置データの平均値pos_ave_curを読み出す。制御部50は、直近に求められた2歩周期の期間の速度データの平均値velo_ave_curとして読み出したlanding〔1〕とlanding〔3〕の間の平均速度データを、前回求められた2歩周期の期間の速度データの平均値velo_ave_pstにデータコピーする。また、制御部50は、直近に求められた補正速度データvelo_curとして読み出したlanding〔2〕とlanding〔3〕の間における補正速度データを、前回求められた補正速度データvelo_pstにデータコピーする。さらに、制御部50は、直近に求められた2歩周期の期間の位置データの平均値pos_ave_curとして読み出したlanding〔2〕とlanding〔4〕との間の平均位置データを、前回求められた2歩周期の期間の位置データの平均値pos_ave_pstにデータコピーする(ステップS401)。
【0057】
次に制御部50は、landing〔0〕とlanding〔2〕の間の範囲の加速度データaccXを積分して各時点における速度データvelo_tmpを求める(ステップS402)。velo_tmpは、例えば5ms毎の速度データの配列として求められる。
【0058】
landing〔0〕とlanding〔2〕の間の速度データvelo_tmpが求められると、制御部50は、landing〔0〕とlanding〔2〕の2歩周期の範囲の速度データの平均値を直近に求められた2歩周期の期間の速度データの平均値velo_ave_curとして求め、記憶部34に記憶する(ステップS403)。ここで、直近に求められた2歩周期の期間は、第一の2歩周期の倍数分の期間あるいは第二の2歩周期の倍数分の期間の一例である。前述したように、2歩周期の期間の速度データの平均は本来であれば0となるはずであるが、積分誤差等により誤差が生じる。そこで、速度データから2歩周期の期間の速度データの平均値を減算することにより速度データを補正する。
【0059】
velo_ave_curが求められると、制御部50は、このvelo_ave_curとステップS401においてデータコピーしたlanding〔1〕とlanding〔3〕の2歩周期の期間の速度データの平均値である前回求められた2歩周期の期間の速度データの平均値velo_ave_pstを用いて補間値を計算する(ステップS404)。ここで、前回求められた2歩周期の期間は、第二の2歩周期の倍数分の期間あるいは第一の2歩周期の倍数分の期間の一例である。landing〔1〕とlanding〔3〕の2歩周期の期間の速度データの平均値であるvelo_ave_pstはvelo_ave_curより1歩手前のlanding〔2〕を中心とした2歩周期の期間の平均値であり、velo_ave_curとは、時間軸上においてlanding〔1〕とlanding〔2〕の間で互いに2歩周期の期間が部分的に重なるように設定されている。したがって、landing〔1〕の時点を中心とした2歩周期の期間の速度データの平均値velo_ave_curとlanding〔2〕の時点を中心とした2歩周期の期間の速度データの平均値velo_ave_pstの値を用いてlanding〔1〕とlanding〔2〕の間の各時点の2歩周期の期間の速度データの平均値を補間する。ここでは、補間として線形補間を用いる。landing〔1〕の時点における速度データの平均値velo_ave_curとlanding〔2〕の時点における速度データの平均値velo_ave_pstを直線で結んでその間の各時点における速度データの平均値を求める。各時点における線形補間された速度データの平均値velo_LIは、velo_tmpと同様に、例えば5ms毎の速度データの平均値の配列として求められる。
【0060】
landing〔1〕とlanding〔2〕の間の各時点の線形補間された速度データの平均値の配列velo_LIが求められると、制御部50は、ステップS402において求めた速度データvelo_tmpから速度データの平均値を除去して補正された補正速度データvelo_curを求める(ステップS405)。velo_tmpは、ステップS402において求めた速度データvelo_tmpのうち、landing〔1〕とlanding〔2〕の間の各時点における速度データを用いる。landing〔1〕とlanding〔2〕の間の各時点における速度データvelo_tmpから、それぞれ対応する各時点の線形補間された速度データの平均値velo_LIを減算することにより、landing〔1〕とlanding〔2〕の間の各時点において補正された補正速度データvelo_curが求められる。
【0061】
制御部50は、求められたlanding〔1〕とlanding〔2〕との間の各時点において補正された速度データvelo_curとステップS401においてデータコピーしたlanding〔2〕とlanding〔3〕との間における補正速度データvelo_pstとを合わせてlanding〔1〕とlanding〔3〕の2歩周期分の補正速度データveloを求める(ステップS406)。以上により、速度データの補正処理が終了する。
【0062】
図10に戻って、ステップS302で積分誤差の補正が行われた補正速度データは、積分処理が行われることにより、位置データが算出される。前述したように、速度データについて積分処理を行うことにより積分誤差が発生し、算出された位置データはこの積分誤差を含んでいる。2歩周期の期間の位置データの平均値は本来であれば0となるはずであるが、積分誤差等により誤差が生じる。そこで補正速度データを積分して求めた位置データからその時点を中心として2歩周期の期間の位置データの平均値を除去して補正位置データを求める(ステップS303)。
【0063】
次に、ステップS303における位置データの補正処理について、
図13と先ほどの
図14のタイムチャートを参照して説明する。
【0064】
制御部50は、前述の
図12の速度データの補正処理において補正されたlanding〔1〕とlanding〔3〕の2歩周期分の補正速度データveloについて積分して位置データpos_tmpを求める(ステップS501)。pos_tmpは、例えば5ms毎の位置データの配列として求められる。
【0065】
landing〔1〕とlanding〔3〕の間の位置データpos_tmpが求められると、制御部50は、直近に求められた2歩周期の期間の位置データの平均値pos_ave_curとしてlanding〔1〕とlanding〔3〕の2歩周期の期間の位置データの平均値を求める(ステップS502)。前述したように、2歩周期の平均は本来であれば0となるはずであるが、積分誤差等により誤差が生じる。そこで、位置データから2歩周期の期間の位置データの平均値を減算することにより位置データを補正する。
【0066】
pos_ave_curが求められると、制御部50は、このpos_ave_curと
図11のステップS401において前回求められた2歩周期の期間の位置データの平均値pos_ave_pstにデータコピーしたlanding〔2〕とlanding〔4〕の2歩周期の期間の位置データの平均値を用いて補間値を計算する(ステップS503)。landing〔2〕とlanding〔4〕の2歩周期の期間の位置データの平均値であるpos_ave_pstはpos_ave_curより1歩手前のlanding〔3〕を中心とした2歩周期の期間の位置データの平均値であり、pos_ave_curとは、時間軸上のlanding〔2〕とlanding〔3〕の間で互いに2歩周期の期間が部分的に重なるように設定されている。したがって、landing〔2〕の時点を中心とした2歩周期の期間の位置データの平均値pos_ave_curとlanding〔3〕の時点を中心とした2歩周期の期間の位置データの平均値pos_ave_pstの値を用いてlanding〔2〕とlanding〔3〕の間の各時点における2歩周期の期間の位置データの平均値を補間する。ここでは、補間として速度の場合と同様に線形補間を用いる。landing〔2〕の時点を中心とした2歩周期の期間の位置データの平均値pos_ave_curとlanding〔3〕の時点を中心とした2歩周期の期間の位置データの平均値pos_ave_pstを直線で結んでその間の各時点における2歩周期の期間の位置データの平均値を求める。各時点における線形補間された2歩周期の期間の位置データの平均値pos_LIは、pos_tmpと同様に、例えば5ms毎の2歩周期の位置データの平均値の配列として求められる。
【0067】
landing〔2〕とlanding〔3〕の間の各時点の線形補間された2歩周期の期間の位置データの平均値pos_LIが求められると、制御部50は、ステップS501において求めた位置データpos_tmpから2歩周期の期間の位置データの平均値を除去して補正された補正位置データpos_curを求める(ステップS504)。pos_tmpは、ステップS501において求めた位置データpos_tmpのうち、landing〔2〕とlanding〔3〕の間の各時点における位置データを用いる。landing〔2〕とlanding〔3〕の間の各時点における位置データpos_tmpから、それぞれ対応する各時点の線形補間された2歩周期の位置データの平均値pos_LIを減算することにより、landing〔2〕とlanding〔3〕の間の各時点における補正位置データpos_curが求められる。以上により、位置データの補正処理が終了する。
【0068】
以上のように、加速度データを積分して速度データを求める際に、2歩周期分の速度データの平均を減算して誤差が補正された速度データを得るとともに、補正された速度データを積分して左右動の位置データを求める際に、2歩周期分の平均を減算して誤差が補正された左右動の位置データを得ることにより、2回積分による積分誤差の累積による左右動の位置データの誤差を減じ、精度よく左右動の位置データを算出することができる。
【0069】
そして、2歩周期分の平均に基づいて線形補間により、速度データおよび位置データを補正することにより、安定的で精度良く誤差を補正することができる。線形補間による補正は処理が単純であることから、処理に要するメモリの容量を小さくて済み、計算量も少なくて済み、CPUに対する負荷を少なくできる。また、ユーザがランニング途中で足をつまずいた場合等2歩周期が急に変化した場合であっても単純な処理であることから即時対応可能である。
【0070】
上記の実施の形態において、速度データおよび位置データの積分誤差等による誤差成分は、2歩周期の平均値とこれより1歩手前を中心とした2歩周期の平均値に基づいてその間を線形補間することによって求めた。ただし、これに限らず、線形補間に用いる平均値は、2歩周期の平均値とこれより2歩手前を中心とした連続する2歩周期の平均値を用いてもよく、時間軸上で互いに部分的に2歩周期重なるように設定されてもよいし、時間軸上で互いに重複せずに、かつ、間隔をあけずに互いに連続するように設定されてもよい。また、線形補間に用いる平均値は、2歩周期の平均値としたが、これに限らず、例えば4歩周期、6歩周期等2歩周期の倍数分の期間の速度データの平均値あるいは位置データの平均値を用いてもよい。さらにこの場合、線形補間に用いる隣接する周期は一部が重複してもよいし、重複しないで連続してもよい。例えば、4歩周期の場合、隣接する4歩周期は、2歩手前を中心とした4歩周期であってもよく、4歩手前を中心として4歩周期であってもよい。また、補間は2つの平均値に基づく線形補間に限らず、例えば、3つの平均値に基づく2次補間であってもよい。すなわち、第一の2歩周期の期間の速度データの平均値あるいは位置データの平均値、これより1歩手前を中心とした第二の2歩周期の期間の速度データの平均値あるいは位置データの平均値、2歩手前を中心とした第三の2歩周期の期間の速度データの平均値あるいは位置データの平均値の3つの平均値より2次補間してその間の補間値を求めてもよい。なお、この他にも、4つ以上の平均値に基づく補間であってもよい。
【0071】
また、角速度データを積分して角度データを算出するとともに、角度データの2歩周期の平均に基づいて線形補間した値により算出された角度データの誤差を用いて進行方向の角度データを補正して進行方向の姿勢を補正することにより、時々刻々変化する進行方向に対応して姿勢が補正可能であり、さらに安定的に精度よく左右動の位置データを算出することができる。
【0072】
なお、本実施の形態において、姿勢推定処理を行って姿勢を補正した後、左右動推定処理を行い、ユーザの左右の動きのデータを取得することを説明したが、これに限らず、例えば、姿勢推定処理を省略して左右動推定処理のみを行ってもよい。上述したように、左右動推定処理を行うことにより、加速度データの2回積分による積分誤差の累積を除去することができ、安定的に精度よく左右動の位置データを算出することができる。さらに、本実施の形態のように、姿勢推定処理を追加することにより、進行方向の変化に対応して姿勢を補正でき、さらに、安定的に精度よく左右動の位置データを算出することができる。
【0073】
本実施の形態は、ユーザが歩行や走行を行う場合の運動データを取得することについて説明したが、これに限らず例えばサイクリング等の運動データを収録する場合に適用してもよい。
【0074】
また、本実施の形態において、電子機器1は、加速度センサ37およびジャイロセンサ38を備えていたが、加速度センサ37およびジャイロセンサ38は電子機器1とは、別に設けてもよい。この場合、加速度センサ37およびジャイロセンサ38は、ユーザの腰部に装着され、電子機器1と有線あるいは無線により接続されるようにする。
【0075】
また、本実施の形態において、電子機器1は、加速度センサ37およびジャイロセンサ38からセンサデータを取得し、左右動の運動データを補正し、補正した左右動の運動データを無線により外部装置41に送信し、外部装置41がデータの解析を行い、解析結果を表示した。したがって、電子機器1と外部装置41は、運動データを取得・解析するシステムを構成する。しかし、これに限らず、電子機器1がデータの解析を行い、解析結果を外部装置41に送信してもよい。また、電子機器1は、液晶表示器等の表示部を備え、表示結果を表示してもよい。
【0076】
また、逆に、電子機器1は、加速度センサ37およびジャイロセンサ38からセンサデータを取得することのみを行い、左右動の運動データの補正処理は、外部装置41が行ってもよい。
【0077】
また、電子機器1は、例えばカードスロットを有し、メモリカードのごとき記録媒体が着脱自在に設けられ、この記録媒体に取得されたデータ、補正されたデータを記憶してもよい。
【0078】
また、電子機器1はセンサとして加速度センサ37とジャイロセンサ38を設けたが、さらに地磁気センサ、GPS受信器等を設けてもよい。
【0079】
上記実施の形態において、中央制御回路31がROM32に記憶されたプログラムを実行することによって、制御部50として機能した。しかしながら、中央制御回路31がROM32に記憶されたプログラムを実行する代わりに、例えばASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、各種制御回路等の専用のハードウェアを備え、専用のハードウェアが、制御部として機能しても良い。この場合、一部を専用のハードウェアによって実現し、他の一部をソフトウェア又はファームウェアによって実現しても良い。
【0080】
また、上記実施の形態において、ROM32に予めプログラムを記憶しておくことはもとより、メモリカード等の外部記録媒体から記録媒体読取部を介してRAM33等に読み込ませて記憶されたものであってもよい。これに加えて、プログラムを搬送波に重畳し、インターネット等の通信媒体を介してRAM33等に読み込ませて記憶することもできる。
【0081】
本発明の実施の形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記の番号は、この出願の願書に最初に添付した特許請求の範囲の通りである。
【0082】
(付記1)
制御部を備える電子機器であって、
前記制御部は、
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得し、
前記加速度データに基づいて速度データを導出するとともに、第一の2歩周期の倍数分の期間の前記速度データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記速度データの平均値とに基づいて前記速度データの誤差を導出し、前記速度データの誤差を用いて前記速度データを補正することにより補正速度データを生成する、
電子機器。
【0083】
(付記2)
前記制御部は、
前記補正速度データに基づいて位置データを導出するとともに、前記第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する前記第二の2歩周期の倍数分の期間の前記位置データの平均値とに基づいて前記位置データの誤差を導出し、前記位置データの誤差を用いて前記位置データを補正することにより補正位置データを生成する、
付記1に記載の電子機器。
【0084】
(付記3)
制御部を備える電子機器であって、
前記制御部は、
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得し、
前記加速度データに基づいて位置データを導出するとともに、第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記位置データの平均値とに基づいて前記位置データの誤差を導出し、前記位置データの誤差を用いて前記位置データを補正することにより補正位置データを生成する、
電子機器。
【0085】
(付記4)
前記制御部は、
前記第一の2歩周期の倍数分の期間の前記速度データの平均値と前記第二の2歩周期の倍数分の期間の前記速度データの平均値とを線形補間することにより前記速度データの誤差を導出する、
付記1又は2に記載の電子機器。
【0086】
(付記5)
前記制御部は、
前記第二の2歩周期の倍数分の期間に連続する第三の2歩周期の倍数分の期間の前記速度データの平均値を求め、
前記第一の2歩周期の倍数分の期間の前記速度データの平均値と前記第二の2歩周期の倍数分の期間の前記速度データの平均値と前記第三の2歩周期の倍数分の期間の前記速度データの平均値とを2次補間することにより前記速度データの誤差を導出する、
付記1又は2に記載の電子機器。
【0087】
(付記6)
前記制御部は、
前記第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第二の2歩周期の倍数分の期間の前記位置データの平均値とを線形補間することにより前記位置データの誤差を導出する、
付記2又は3に記載の電子機器。
【0088】
(付記7)
前記制御部は、
前記第二の2歩周期の倍数分の期間に連続する第三の2歩周期の倍数分の期間の前記位置データの平均値を求め、
前記第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第二の2歩周期の倍数分の期間の前記位置データの平均値と前記第三の2歩周期の倍数分の期間の前記位置データの平均値とを2次補間することにより前記位置データの誤差を導出する、
付記2又は3に記載の電子機器。
【0089】
(付記8)
前記第一の2歩周期の倍数分の期間と前記第二の2歩周期の倍数分の期間は、時間軸上で互いに部分的に重なるように設定される、
付記1から7のいずれか1つに記載の電子機器。
【0090】
(付記9)
前記第一の2歩周期の倍数分の期間と前記第二の2歩周期の倍数分の期間は、時間軸上で互いに重複せずに、かつ、間隔をあけずに互いに連続するように設定される、
付記1から7のいずれか1つに記載の電子機器。
【0091】
(付記10)
前記ユーザの腰に装着する取付部をさらに備える、
付記1から9のいずれか1つに記載の電子機器。
【0092】
(付記11)
前記加速度センサをさらに備える、
付記1から10のいずれか1つに記載の電子機器。
【0093】
(付記12)
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得するステップと、
前記加速度データに基づいて速度データを導出するステップと、
第一の2歩周期の倍数分の期間の前記速度データの平均値と前記第一の2歩周期の倍数の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記速度データの平均値とに基づいて前記速度データの誤差を導出するステップと、
前記速度データの誤差を用いて前記速度データを補正することにより補正速度データを生成するステップと、
を備える運動データ取得方法。
【0094】
(付記13)
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得するステップと、
前記加速度データに基づいて位置データを導出するステップと、
第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記位置データの平均値とに基づいて前記位置データの誤差を導出するステップと、
前記位置データの誤差を用いて前記位置データを補正することにより補正位置データを生成するステップと、
を備える運動データ取得方法。
【0095】
(付記14)
コンピュータに、
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得するステップと、
前記加速度データに基づいて速度データを導出するステップと、
第一の2歩周期の倍数分の期間の前記速度データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記速度データの平均値とに基づいて前記速度データの誤差を導出するステップと、
前記速度データの誤差を用いて前記速度データを補正することにより補正速度データを生成するステップと、
を実行させるプログラム。
【0096】
(付記15)
コンピュータに、
加速度センサから自らの足で移動中のユーザの体軸に直交する体側面方向の動作状態に対応する加速度データを取得するステップと、
前記加速度データに基づいて位置データを導出するステップと、
第一の2歩周期の倍数分の期間の前記位置データの平均値と前記第一の2歩周期の倍数分の期間の前後のいずれかに連続する第二の2歩周期の倍数分の期間の前記位置データの平均値とに基づいて前記位置データの誤差を導出するステップと、
前記位置データの誤差を用いて前記位置データを補正することにより補正位置データを生成するステップと、
を実行させるプログラム。
【符号の説明】
【0097】
1…電子機器、2…電源キー、3…表示部、4…クリップ、31…中央制御回路、32…ROM、33…RAM、34…記憶部、35…無線通信モジュール、36…入出力制御回路、37…加速度センサ、38…ジャイロセンサ、39…計時部、40…電源回路、41…外部装置、50…制御部、51…加速度データ取得部、52…角速度データ取得部、53…姿勢推定部、53a…重力方向推定・補正部、53b…進行方向姿勢推定部、54…左右動推定部、54a…進行方向姿勢補正部、54b…速度データ補正部、54c…位置データ補正部、91,92,93,111,112,113…曲線