(57)【要約】【課題】被験者が複数回連続してスイングする場合であっても、各スイングをより精度よく解析することが可能なスイング解析装置を提供する。【解決手段】スイング解析装置は、被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付け、加速度情報および角速度情報に第１のフィルタを適用して被検出対象の姿勢情報を算出し、スイング期間の第１の時刻における被検出対象の姿勢情報に基づいてスイング期間の被検出対象の姿勢情報を補正し、補正された姿勢情報に基づいて加速度情報をセンサ座標系から絶対座標系に座標変換し、時間の経過に従って座標変換された加速度情報を時間積分して第１の速度を算出し、被検出対象の速度がゼロまたはゼロ近傍となる運動の特徴点から時間を遡って座標変換された加速度情報を時間積分して第２の速度を算出し、第１の速度および第２の速度に第２のフィルタを適用して被検出対象のスイング速度を算出する。【選択図】図５
2018075071.tif 000002
【特許請求の範囲】
【請求項１】
被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付ける情報入力部と、
前記加速度情報および前記角速度情報に第１のフィルタを適用して、スイング期間の前記被検出対象の姿勢情報を算出する姿勢算出部と、
前記スイング期間の第１の時刻における前記被検出対象の姿勢情報に基づいて、前記スイング期間の前記被検出対象の姿勢情報を補正する補正部と、
前記補正部により補正された前記被検出対象の姿勢情報に基づいて、前記センサにより検出された前記加速度情報をセンサ座標系から絶対座標系に座標変換する座標変換部と、
前記スイング期間において、時間の経過に従って前記絶対座標系に座標変換された前記加速度情報を時間積分して第１の速度を算出する第１の速度算出部と、
前記スイング期間において、時間を遡って前記絶対座標系に座標変換された前記加速度情報を時間積分して第２の速度を算出する第２の速度算出部と、
前記第１の速度および前記第２の速度に第２のフィルタを適用して、前記被検出対象のスイング速度を算出するスイング情報算出部とを備える、スイング解析装置。
【請求項２】
前記第２の速度算出部は、前記スイング期間において、前記角速度情報に基づいて算出される前記被検出対象の速度がゼロまたはゼロ近傍に到達する時刻から遡って前記絶対座標系に座標変換された前記加速度情報を時間積分して前記第２の速度を算出する、請求項１に記載のスイング解析装置。
【請求項３】
前記スイング期間は、複数の期間に区分され、
前記スイング情報算出部は、
前記複数の期間のうち前記スイング期間の開始時刻を含む第１の期間においては、前記第１の速度の重みよりも前記第２の速度の重みを小さくするように前記第２のフィルタを適用して前記スイング速度を算出し、
前記複数の期間のうち前記スイング期間の終了時刻を含む第２の期間においては、前記第１の速度の重みよりも前記第２の速度の重みを大きくするように前記第２のフィルタを適用して前記スイング速度を算出する、請求項１または２に記載のスイング解析装置。
【請求項４】
前記スイング情報算出部は、前記複数の期間のうち時間的に後の期間ほど、前記第１の速度の重みを小さくし、前記第２の速度の重みを大きくするように前記第２のフィルタを適用して、各前記期間における前記スイング速度を算出する、請求項３に記載のスイング解析装置。
【請求項５】
前記第１の時刻は、前記スイング期間において、前記角速度情報に基づいて算出される前記被検出対象の速度が最大となる時刻である、請求項１〜４のいずれか１項に記載のスイング解析装置。
【請求項６】
前記スイング期間は、前記角速度情報に基づいて算出される前記被検出対象の速度が第１の基準閾値を超えた第２の時刻を基準とした前後の一定期間である、請求項１〜５のいずれか１項に記載のスイング解析装置。
【請求項７】
前記角速度情報に基づいて算出される前記被検出対象の速度が予め定められた速度に到達した回数に基づいて、前記被検出対象のスイング回数を算出する回数算出部をさらに備える、請求項１〜６のいずれか１項に記載のスイング解析装置。
【請求項８】
前記第１のフィルタは拡張カルマンフィルタであり、前記第２のフィルタは適応カルマンフィルタである、請求項１〜７のいずれか１項に記載のスイング解析装置。
【請求項９】
コンピュータに被検出対象のスイングを解析させるためのプログラムであって、
前記プログラムは、前記コンピュータに、
前記被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付けるステップと、
前記加速度情報および前記角速度情報に第１のフィルタを適用して、スイング期間の前記被検出対象の姿勢情報を算出するステップと、
前記スイング期間の第１の時刻における前記被検出対象の姿勢情報に基づいて、前記スイング期間の前記被検出対象の姿勢情報を補正するステップと、
前記補正された前記被検出対象の姿勢情報に基づいて、前記センサにより検出された前記加速度情報をセンサ座標系から絶対座標系に座標変換するステップと、
前記スイング期間において、時間の経過に従って前記絶対座標系に座標変換された前記加速度情報を時間積分して第１の速度を算出するステップと、
前記スイング期間において、時間を遡って前記絶対座標系に座標変換された前記加速度情報を時間積分して第２の速度を算出するステップと、
前記第１の速度および前記第２の速度に第２のフィルタを適用して、前記被検出対象のスイング速度を算出するステップとを実行させる、プログラム。
【請求項１０】
被検出対象に取り付けられたセンサと、
前記被検出対象のスイングを解析するためのスイング解析装置とを備え、
前記スイング解析装置は、
被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付ける情報入力部と、
前記加速度情報および前記角速度情報に第１のフィルタを適用して、スイング期間の前記被検出対象の姿勢情報を算出する姿勢算出部と、
前記スイング期間の第１の時刻における前記被検出対象の姿勢情報に基づいて、前記スイング期間の前記被検出対象の姿勢情報を補正する補正部と、
前記補正部により補正された前記被検出対象の姿勢情報に基づいて、前記センサにより検出された前記加速度情報をセンサ座標系から絶対座標系に座標変換する座標変換部と、
前記スイング期間において、時間の経過に従って前記絶対座標系に座標変換された前記加速度情報を時間積分して第１の速度を算出する第１の速度算出部と、
前記スイング期間において、時間を遡って前記絶対座標系に座標変換された前記加速度情報を時間積分して第２の速度を算出する第２の速度算出部と、
前記第１の速度および前記第２の速度に第２のフィルタを適用して、前記被検出対象のスイング速度を算出するスイング情報算出部とを含む、スイング解析システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、スイングを解析するための技術に関する。
【背景技術】
【０００２】
野球のバットやテニスのラケットなどの打球具を用いて行なうスポーツにおいて、プレーヤーが打球具をスイングする能力は、試合などを有利に進める上で重要な指標である。そのため、プレーヤーのスイングの解析が適切に行なわれることによって、プレーヤーの技量の向上や打球具の研究開発にも寄与することが期待される。
【０００３】
例えば、特開２０１１−１４２９２７号公報（特許文献１）は、センサーバットとデータ解析装置とを有するバット選択システムを開示している。データ解析装置は、打者の目指すタイプを入力し、センサーバットから送信されたデータを受信し、受信したデータから、バットスイングの運動学情報を算出する。データ解析装置は、入力された打者の目指すタイプと、運動学情報を解析して算出した打者のスイングの評価パラメータと、に基づき打者に最適なバットを選択し、選択されたバットと評価パラメータに関連する情報を表示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１４２９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１には、ジャイロセンサおよび加速度センサからのデータを用いてバット軌跡を算出する構成について記載されている。しかしながら、特許文献１の技術では、センサのデータを長時間計測し続けた場合には、ドリフト誤差や積分誤差の蓄積により計測誤差が増大するため、バットの軌跡を精度良く算出することができないという問題がある。このことから、特許文献１の技術によると、被験者が連続して複数回のスイング動作を行なう場合には、徐々にバットの軌跡の精度が悪化していく可能性がある。
【０００６】
本開示は、上記のような問題点を解決するためになされたものであって、ある局面における目的は、被験者が複数回連続してスイングする場合であっても、各スイングをより精度よく解析することが可能なスイング解析装置を提供することである。
【０００７】
他の局面における目的は、被験者が複数回連続してスイングする場合であっても、各スイングをより精度よく解析することが可能な、コンピュータにスイングを解析させるためのプログラムを提供することである。
【０００８】
さらに他の局面における目的は、被験者が複数回連続してスイングする場合であっても、各スイングをより精度よく解析することが可能なスイング解析システムを提供することである。
【課題を解決するための手段】
【０００９】
ある実施の形態に従うスイング解析装置は、被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付ける情報入力部と、加速度情報および角速度情報に第１のフィルタを適用して、スイング期間の被検出対象の姿勢情報を算出する姿勢算出部と、スイング期間の第１の時刻における被検出対象の姿勢情報に基づいて、スイング期間の被検出対象の姿勢情報を補正する補正部と、補正部により補正された被検出対象の姿勢情報に基づいて、センサにより検出された加速度情報をセンサ座標系から絶対座標系に座標変換する座標変換部と、スイング期間において、時間の経過に従って絶対座標系に座標変換された加速度情報を時間積分して第１の速度を算出する第１の速度算出部と、スイング期間において、時間を遡って絶対座標系に座標変換された加速度情報を時間積分して第２の速度を算出する第２の速度算出部と、第１の速度および第２の速度に第２のフィルタを適用して、被検出対象のスイング速度を算出するスイング情報算出部とを備える。
【００１０】
好ましくは、第２の速度算出部は、スイング期間において、角速度情報に基づいて算出される被検出対象の速度がゼロまたはゼロ近傍に到達する時刻から遡って絶対座標系に座標変換された加速度情報を時間積分して第２の速度を算出する。
【００１１】
好ましくは、スイング期間は、複数の期間に区分される。スイング情報算出部は、複数の期間のうちスイング期間の開始時刻を含む第１の期間においては、第１の速度の重みよりも第２の速度の重みを小さくするように第２のフィルタを適用してスイング速度を算出する。スイング情報算出部は、複数の期間のうちスイング期間の終了時刻を含む第２の期間においては、第１の速度の重みよりも第２の速度の重みを大きくするように第２のフィルタを適用してスイング速度を算出する。
【００１２】
好ましくは、スイング情報算出部は、複数の期間のうち時間的に後の期間ほど、第１の速度の重みを小さくし、第２の速度の重みを大きくするように第２のフィルタを適用して、各期間におけるスイング速度を算出する。
【００１３】
好ましくは、第１の時刻は、スイング期間において、角速度情報に基づいて算出される被検出対象の速度が最大となる時刻である。
【００１４】
好ましくは、スイング期間は、角速度情報に基づいて算出される被検出対象の速度が第１の基準閾値を超えた第２の時刻を基準とした前後の一定期間である。
【００１５】
好ましくは、角速度情報に基づいて算出される被検出対象の速度が予め定められた速度に到達した回数に基づいて、被検出対象のスイング回数を算出する回数算出部をさらに備える。
【００１６】
好ましくは、第１のフィルタは拡張カルマンフィルタであり、第２のフィルタは適応カルマンフィルタである。
【００１７】
他の実施の形態に従うと、コンピュータに被検出対象のスイングを解析させるためのプログラムが提供される。プログラムは、コンピュータに、被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付けるステップと、加速度情報および角速度情報に第１のフィルタを適用して、スイング期間の被検出対象の姿勢情報を算出するステップと、スイング期間の第１の時刻における被検出対象の姿勢情報に基づいて、スイング期間の被検出対象の姿勢情報を補正するステップと、補正された被検出対象の姿勢情報に基づいて、センサにより検出された加速度情報をセンサ座標系から絶対座標系に座標変換するステップと、スイング期間において、時間の経過に従って絶対座標系に座標変換された加速度情報を時間積分して第１の速度を算出するステップと、スイング期間において、時間を遡って絶対座標系に座標変換された加速度情報を時間積分して第２の速度を算出するステップと、第１の速度および第２の速度に第２のフィルタを適用して、被検出対象のスイング速度を算出するステップとを実行させる。
【００１８】
さらに他の実施の形態に従うスイング解析システムは、被検出対象に取り付けられたセンサと、被検出対象のスイングを解析するためのスイング解析装置とを備える。スイング解析装置は、被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付ける情報入力部と、加速度情報および角速度情報に第１のフィルタを適用して、スイング期間の被検出対象の姿勢情報を算出する姿勢算出部と、スイング期間の第１の時刻における被検出対象の姿勢情報に基づいて、スイング期間の被検出対象の姿勢情報を補正する補正部と、補正部により補正された被検出対象の姿勢情報に基づいて、センサにより検出された加速度情報をセンサ座標系から絶対座標系に座標変換する座標変換部と、スイング期間において、時間の経過に従って絶対座標系に座標変換された加速度情報を時間積分して第１の速度を算出する第１の速度算出部と、スイング期間において、時間を遡って絶対座標系に座標変換された加速度情報を時間積分して第２の速度を算出する第２の速度算出部と、第１の速度および第２の速度に第２のフィルタを適用して、被検出対象のスイング速度を算出するスイング情報算出部とを含む。
【発明の効果】
【００１９】
本開示によると、被験者が複数回連続してスイングする場合であっても、各スイングをより精度よく解析することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】スイング解析システムの全体構成を説明するための図である。
【図２】スイング解析システムの動作概要を説明するためのフローチャートである。
【図３】スイング解析装置のハードウェア構成を示すブロック図である。
【図４】センサ装置のハードウェア構成を示すブロック図である。
【図５】スイング解析装置の機能ブロック図である。
【図６】モーションキャプチャによるグリップエンド部の速度の時間変化を示す図である。
【図７】スイング解析装置が実行する処理の流れを示すフローチャートである。
【図８】スイング解析装置が実行する順方向積分を用いたスイング解析処理の一例を示すフローチャートである。
【図９】スイング解析装置が実行する逆方向積分を用いたスイング解析処理の一例を示すフローチャートである。
【図１０】比較例解析方式（その１）により算出されたヘッド速度を示す図である。
【図１１】比較例解析方式（その２）により算出されたヘッド速度を示す図である。
【図１２】本解析方式により算出されたヘッド速度を示す図である。
【図１３】各スイング解析方式により算出されたグリップエンド軌道を示す図である。
【発明を実施するための形態】
【００２１】
以下に、本発明の実施の形態について説明する。なお、同一または相当する部分に同一の参照符号を付し、その説明を繰返さない場合がある。
【００２２】
なお、以下に説明する実施の形態において、個数、量などに言及する場合、特に記載がある場合を除き、本発明の範囲は必ずしもその個数、量などに限定されない。また、以下の実施の形態において、各々の構成要素は、特に記載がある場合を除き、本発明にとって必ずしも必須のものではない。
【００２３】
＜システムの構成＞
図１は、本実施の形態に従うスイング解析システムの全体構成を説明するための図である。図１を参照して、スイング解析システム１０００は、被験者による打具のスイングを解析するためのシステムである。具体的には、スイング解析システム１０００は、スイング解析装置１０と、センサ装置２０とを含む。本実施の形態では、「打球具」として野球、ソフトボールなどで用いられるバット８０を使用し、被験者が右利きのバッターであるとする。また、本実施の形態では、図１に示すように、被験者（バッター）が打球具（バット８０）を１回以上スイングする場面を想定する。
【００２４】
バット８０は、バッター自身が用意したものや他の者が用意したものなど、いずれのバットであってもよい。また、バッターは、素振りする場合、ティーの上に配置されたボールに対してスイングする場合、投げられたボールに対してスイングする場合のいずれの場合であってもよい。
【００２５】
スイング解析装置１０は、スマートフォンで構成される。ただし、スイング解析装置１０は、種類を問わず任意の装置として実現できる。例えば、スイング解析装置１０は、ノートＰＣ（personal  Computer）、タブレット端末、ＰＤＡ（Personal  Digital  Assistance）、デスクトップＰＣなどの機器であってもよい。
【００２６】
スイング解析装置１０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、無線ＬＡＮ（Local  Area  Network）、赤外線通信などの無線通信を利用してセンサ装置２０と通信する。なお、スイング解析装置１０は、ＵＳＢ（Universal  Serial  Bus）などの有線通信を利用してセンサ装置２０と通信可能に構成されていてもよい。
【００２７】
センサ装置２０は、互いに直交する３軸（Ｘ軸，Ｙ軸，Ｚ軸）まわりの角速度（以下「角速度情報」とも称する。）を検出可能な角速度センサと、互いに直交する３軸（Ｘ軸，Ｙ軸，Ｚ軸）方向の加速度（以下「加速度情報」とも称する。）を検出可能な加速度センサとを含む。
【００２８】
また、センサ装置２０は、自装置の加速度センサおよび角速度センサがバット振動の影響を受けにくいように、バット８０のグリップエンド部に取り付けられる。センサ装置２０は、バット８０のスイング中にも動かないように強固にグリップエンド部に固定される。好ましくは、センサ装置２０に含まれる加速度センサは、バット８０の長軸回りの回転による遠心加速度の影響を除外するため、バット８０の長軸上に配置される。ここで、センサ座標系におけるＺ軸はバット長軸とし、Ｘ軸およびＹ軸はそれぞれ任意に設定可能とする。また、絶対座標系におけるＺ軸は鉛直方向とし、Ｘ軸およびＹ軸はそれぞれ任意に設定可能とする。
【００２９】
＜システムの動作概要＞
図２は、本実施の形態に従うスイング解析システム１０００の動作概要を説明するためのフローチャートである。
【００３０】
図２を参照して、スイング解析システム１０００では、バット８０のグリップエンド部に取り付けられたセンサ装置２０は、加速度情報および角速度情報を時系列に検出する（ステップＳ１００）。具体的には、センサ装置２０は、サンプリング周期（例えば、１ｍｓ）ごとにセンサ座標系（すなわち、ローカル座標系）における角速度情報および加速度情報を検出する。センサ装置２０は、サンプリング周期ごとに検出した角速度情報および加速度情報をスイング解析装置１０に送信する（ステップＳ１１０）。
【００３１】
スイング解析装置１０は、センサ装置２０から取得した角速度情報および加速度情報に対して拡張カルマンフィルタを適用して、センサ装置２０（具体的には、バット８０のグリップエンド部）の姿勢情報を算出する（ステップＳ１２０）。スイング解析装置１０は、後述する方式により、姿勢情報を補正する（ステップＳ１３０）。詳細は後述するが、ステップＳ１３０の処理は、ヘッド速度を精度よく推定するためにセンサ装置２０の方位誤差を補正する処理である。
【００３２】
スイング解析装置１０は、補正された姿勢情報を用いて、センサ装置２０から受信した加速度情報（センサ座標系）を、絶対座標系の加速度情報に座標変換する（ステップＳ１４０）。なお、本願明細書では、センサ座標系の情報を「情報（センサ座標系）」とも称し、絶対座標系の情報を「情報（絶対座標系）」とも称する。
【００３３】
スイング解析装置１０は、スイング期間において時間の経過に従って、座標変換された加速度情報（絶対座標系）を時間積分する順方向積分により、ヘッド速度を算出する（ステップＳ１５０）。スイング解析装置１０は、スイング期間において、被検出対象の速度がゼロまたはゼロ近傍となる運動の特徴点から時間を遡って加速度情報（絶対座標系）を時間積分する逆方向積分により、ヘッド速度を算出する（ステップＳ１６０）。スイング解析装置１０は、順方向積分により算出されたヘッド速度（以下、「ヘッド速度（順方向）」とも称する。）、および逆方向積分により算出されたヘッド速度（以下、「ヘッド速度（逆方向）」とも称する。）に適応カルマンフィルタを適用して、最終的なヘッド速度（以下、「最終ヘッド速度」）を算出する（ステップＳ１７０）。
【００３４】
ここで、ステップＳ１７０の処理は、ヘッド速度（順方向）とヘッド速度（逆方向）とを組み合わせることにより積分誤差の影響を小さくして、ヘッド速度を精度よく推定するための処理である。
【００３５】
具体的には、ヘッド速度（順方向）は、スイング期間の初期については積分誤差の影響が小さいため実際の速度（以下、「実速度」とも称する。）を精度よく反映するが、スイング期間の終期については積分誤差の影響が大きいため実速度を精度よく反映していない可能性がある。一方、ヘッド速度（逆方向）は、スイング期間の終期については積分誤差の影響が小さいため実速度を精度よく反映するが、スイング期間の初期については積分誤差の影響が大きいため実速度を精度よく反映していない可能性がある。
【００３６】
そこで、本実施の形態に従うスイング解析装置１０は、スイング期間の初期については、順方向積分に基づくヘッド速度（順方向）の結果が、逆方向積分に基づくヘッド速度（逆方向）の結果よりも大きく反映されるように当該最終ヘッド速度を算出する。スイング解析装置１０は、スイング期間の終期については、ヘッド速度（逆方向）の結果が、ヘッド速度（順方向）の結果よりも大きく反映されるように最終ヘッド速度を算出する。
【００３７】
そして、スイング解析装置１０は、算出結果をバッターに報知する（ステップＳ１８０）。具体的には、スイング解析装置１０は、ディスプレイに最終ヘッド速度および当該最終ヘッド速度を時間積分することにより算出されるスイング軌道等を示す画像を表示する。これにより、バッターは、自身のヘッド速度やスイング軌道を確認することができる。
【００３８】
本実施の形態に従うスイング解析システム１０００では、被験者のスイングごとにセンサ装置２０（バット８０のグリップエンド部）の姿勢情報の補正が行われる。また、スイング解析システム１０００では、順方向積分により算出されたヘッド速度、および逆方向積分により算出されたヘッド速度に適応カルマンフィルタを適用して、最終的なヘッド速度が算出される。そのため、被験者が連続して複数回スイングを行なう場合であっても、方位誤差の蓄積による影響を排除することが可能となり、各スイングについて適切なスイング軌道を算出することができる。
【００３９】
以下、上記のようなスイング解析システムおよびそのスイング解析方式について詳細に説明する。
【００４０】
＜ハードウェア構成＞
（スイング解析装置１０）
図３は、本実施の形態に従うスイング解析装置１０のハードウェア構成を示すブロック図である。図３を参照して、スイング解析装置１０は、主たる構成要素として、ＣＰＵ（Central  Processing  Unit）１０２と、メモリ１０４と、タッチパネル１０６と、ボタン１０８と、ディスプレイ１１０と、無線通信部１１２と、通信アンテナ１１３と、メモリインターフェイス（Ｉ／Ｆ）１１４と、スピーカ１１６と、マイク１１８と、通信インターフェイス（Ｉ／Ｆ）１２０とを含む。また、記録媒体１１５は、外部の記憶媒体である。
【００４１】
ＣＰＵ１０２は、メモリ１０４に記憶されたプログラムを読み出して実行することで、スイング解析装置１０の各部の動作を制御する。より詳細にはＣＰＵ１０２は、当該プログラムを実行することによって、後述するスイング解析装置１０の処理（ステップ）の各々を実現する。
【００４２】
メモリ１０４は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read-Only  Memory）、フラッシュメモリなどによって実現される。メモリ１０４は、ＣＰＵ１０２によって実行されるプログラム、またはＣＰＵ１０２によって用いられるデータなどを記憶する。
【００４３】
タッチパネル１０６は、表示部としての機能を有するディスプレイ１１０上に設けられており、抵抗膜方式、静電容量方式などのいずれのタイプであってもよい。ボタン１０８は、スイング解析装置１０の表面に配置されており、ユーザからの指示を受け付けて、ＣＰＵ１０２に当該指示を入力する。
【００４４】
無線通信部１１２は、通信アンテナ１１３を介して移動体通信網に接続し無線通信のための信号を送受信する。これにより、スイング解析装置１０は、例えば、第３世代移動通信システム（３Ｇ）、ＬＴＥ（Long  Term  Evolution）などの移動体通信網を介して所定の外部装置との通信が可能となる。
【００４５】
メモリインターフェイス（Ｉ／Ｆ）１１４は、外部の記録媒体１１５からデータを読み出す。ＣＰＵ１０２は、メモリインターフェイス１１４を介して外部の記録媒体１１５に格納されているデータを読み出して、当該データをメモリ１０４に格納する。ＣＰＵ１０２は、メモリ１０４からデータを読み出して、メモリインターフェイス１１４を介して当該データを外部の記録媒体１１５に格納する。
【００４６】
なお、記録媒体１１５としては、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disk）、ＢＤ（Blu-ray（登録商標）  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ、メモリカード、ＦＤ（Flexible  Disk）、ハードディスクなどの不揮発的にプログラムを格納する媒体が挙げられる。
【００４７】
スピーカ１１６は、ＣＰＵ１０２からの命令に基づいて音声を出力する。マイク１１８は、スイング解析装置１０に対する発話を受け付ける。
【００４８】
通信インターフェイス（Ｉ／Ｆ）１２０は、例えば、スイング解析装置１０とセンサ装置２０との間でデータを送受信するための通信インターフェイスであり、アダプタやコネクタなどによって実現される。通信方式としては、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、無線ＬＡＮなどによる無線通信あるいはＵＳＢを利用した有線通信である。
【００４９】
（センサ装置２０）
図４は、本実施の形態に従うセンサ装置２０のハードウェア構成を示すブロック図である。図４を参照して、センサ装置２０は、主たる構成要素として、各種処理を実行するためのＣＰＵ２０２と、ＣＰＵ２０２によって実行されるプログラム、データなどを格納するためのメモリ２０４と、３軸方向の加速度を検出可能な加速度センサ２０６と、３軸のそれぞれのまわりの角速度を検出可能な角速度センサ２０８と、スイング解析装置１０と通信するための通信インターフェイス（Ｉ／Ｆ）２１０と、センサ装置２０の各種構成要素に電力を供給する蓄電池２１２とを含む。
【００５０】
＜機能構成＞
次に、スイング解析装置１０を実現するための機能構成について説明する。図５は、本実施の形態に従うスイング解析装置１０の機能ブロック図である。
【００５１】
図５を参照して、スイング解析装置１０は、情報入力部１５０と、姿勢算出部１５２と、補正部１５４と、座標変換部１５６と、第１の速度算出部１５８と、第２の速度算出部１６０と、スイング情報算出部１６２と、回数算出部１６４と、報知部１６６とを含む。これらは、例えば、スイング解析装置１０のＣＰＵ１０２がメモリ１０４に格納されたプログラムを実行し、スイング解析装置１０の構成要素へ指令を与えることなどによって実現される。なお、これらの機能構成の一部または全部は、ハードウェアで実現されていてもよい。
【００５２】
情報入力部１５０は、被検出対象に取り付けられたセンサ装置２０により検出された加速度および角速度の入力を受け付ける。本実施の形態では、センサ装置２０は、被検出対象であるバット８０のグリップエンド部に取り付けられている。そのため、情報入力部１５０は、当該グリップエンド部の加速度情報および角速度情報の入力を受け付ける。典型的には、情報入力部１５０は、通信インターフェイス１２０を介して、センサ装置２０から送信される加速度情報および角速度情報を受信する。ただし、情報入力部１５０は、タッチパネル１０６（やボタン１０８）を介して、これらの情報の入力を受け付けてもよい。
【００５３】
姿勢算出部１５２は、バット８０のグリップエンド部の加速度情報および角速度情報に第１フィルタ（例えば、拡張カルマンフィルタ）を適用して、スイング期間の被検出対象（本実施の形態では、グリップエンド部）の姿勢情報を算出する。具体的には、姿勢算出部１５２は、加速度情報および角速度情報に拡張カルマンフィルタを適用することにより、グリップエンド部の姿勢を表わすクォータニオンを算出する。そして、姿勢算出部１５２は、当該クォータニオンをセンサ座標系から絶対座標系への変換のための回転行列に変換する。このように、姿勢算出部１５２は、グリップエンド部の姿勢情報として、当該クォータニオンに対応する回転行列を算出する。
【００５４】
補正部１５４は、スイング期間の第１の時刻におけるグリップエンド部の姿勢情報（例えば、回転行列）に基づいて、スイング期間のグリップエンド部の姿勢情報を補正する。第１の時刻は、例えば、スイング期間において、バット８０の長さと角速度情報とに基づいて算出されるバット８０のヘッド部の速度（センサ座標系）が最大となる時刻である。また、第１の時刻は、スイング中において、ヘッド部の速度（センサ座標系）が予め定められた速度（例えば、２０ｋｍ／ｈ）に到達した時刻であってもよい。
【００５５】
なお、スイング期間は、当該スイング期間の第２の時刻を基準とした前後（具体的には、過去および未来）の一定期間である。第２の時刻は、スイング期間において、ヘッド部の速度（センサ座標系）が予め定められた速度（例えば、２０ｋｍ／ｈ）に到達した時刻である。そのため、第１の時刻と第２の時刻とは同じ場合であってもよい。
【００５６】
座標変換部１５６は、補正部１５４により補正されたグリップエンド部の姿勢情報に基づいて、センサ装置２０により検出された加速度情報をセンサ座標系から絶対座標系に座標変換する。
【００５７】
第１の速度算出部１５８は、スイング期間において、時間の経過に従って絶対座標系に座標変換された加速度情報を時間積分して第１の速度を算出する。具体的には、第１の速度は、スイング期間の開始時刻から終了時刻にわたって（すなわち、時間的に順方向へ）、加速度情報（絶対座標系）を時間積分した場合に算出されるグリップエンド部の速度情報（絶対座標系）である。
【００５８】
なお、第１の速度算出部１５８は、情報入力部１５０が受け付けた角速度情報（センサ座標系）に基づいて算出されるグリップエンド部の合成角速度が閾値Ｖｔｈ（例えば、１０ｒａｄ／ｓｅｃ）以上である場合に、上記のように時間積分を行なうことで第１の速度を算出してもよい。具体的には、グリップエンド部の速度（合成角速度）が閾値Ｖｔｈ以上ではない場合には、被験者がスイングしておらず、スイングの準備中であると考えられる。スイングの準備中に時間積分を行なうと、積分誤差が蓄積されて適切な第１の速度が得られない可能性がある。そこで、第１の速度算出部１５８は、被験者がスイングしていると推定される場合に、時間積分を行なうことにより第１の速度を算出する。
【００５９】
第２の速度算出部１６０は、スイング期間において、時間を遡って絶対座標系に座標変換された加速度情報を時間積分して第２の速度を算出する。具体的には、第２の速度は、スイング期間の終了時刻から開始時刻に遡って（すなわち、時間的に逆方向へ）、加速度情報（絶対座標系）を時間積分した場合に算出されるグリップエンド部の速度情報（絶対座標系）である。
【００６０】
ある局面では、第２の速度算出部１６０は、スイング期間において、角速度情報に基づいて算出される被検出対象の速度がゼロまたはゼロ近傍に到達する時刻から遡って、加速度情報（絶対座標系）を時間積分して第２の速度を算出する。具体的には、第２の速度算出部１６０は、スイング期間の終了時刻をグリップエンド部の速度がゼロまたはゼロ近傍に到達する時刻であるとみなして、当該時刻から開始時刻に遡って逆方向積分を実行する。
【００６１】
図６は、モーションキャプチャによるグリップエンド部の速度の時間変化を示す図である。図６には、モーションキャプチャにより計測された、被験者がバットをスイングしたときのグリップエンド部の速度の時間変化が示されている。図６を参照すると、グリップエンド部の３軸（Ｘ軸、Ｙ軸およびＺ軸）まわりの各速度がともにゼロになる時刻が存在することがわかる。この時刻は、バッターがバットを振り切ってスイングを終えた時刻と一致する。その後、バッターは次の動作（例えば、次のスイングに向けてバットを構える動作）に移るため、バットの移動方向が変わる。
【００６２】
スイング動作の次の動作の期間について時間積分を行なうと、積分誤差が蓄積されて逆方向積分により算出されるグリップエンド部の速度が適切に得られない可能性がある。そのため、第２の速度算出部１６０は、グリップエンド部の速度がゼロまたはゼロ近傍に到達する時刻から開始時刻に遡って加速度情報（絶対座標系）の逆方向積分を実行する。
【００６３】
再び、図４を参照して、スイング情報算出部１６２は、順方向積分に基づく第１の速度および逆方向積分に基づく第２の速度に、第２のフィルタ（例えば、適応カルマンフィルタ）を適用して、グリップエンド部の速度（絶対座標系）を算出する。
【００６４】
ある局面では、スイング期間は、複数の期間（例えば、初期、中期、終期）に区分される。スイング情報算出部１６２は、複数の期間の各々について、第１の速度および第２の速度に第２のフィルタを適用してグリップエンド部の速度（以下、「グリップエンド速度」とも称する。）を算出する。
【００６５】
具体的には、スイング情報算出部１６２は、複数の期間のうちスイング期間の開始時刻を含む期間（例えば、初期）においては、第１の速度の重みよりも第２の速度の重みを小さくするように第２のフィルタを適用してスイング速度を算出する。スイング情報算出部１６２は、複数の期間のうちスイング期間の終了時刻を含む期間（例えば、終期）においては、第１の速度の重みよりも第２の速度の重みを大きくするように第２のフィルタを適用してスイング速度（例えば、ヘッド速度およびグリップエンド速度のうちの少なくとも一方）を算出する。これにより、初期のスイング速度の算出結果には、順方向積分に基づく第１の速度の算出結果が主に反映され、終期のスイング速度の算出結果には、逆方向積分に基づく第２の速度の算出結果が主に反映される。
【００６６】
また、スイング情報算出部１６２は、複数の期間のうち時間的に後の期間ほど（例えば、初期、中期、終期の順に）、第１の速度の重みを小さくし、第２の速度の重みを大きくするように第２のフィルタを適用して、各期間におけるスイング速度を算出する。これにより、初期、中期、終期の順に、スイング速度の算出結果に対して第１の速度の算出結果が徐々に反映されなくなり、第２の速度の算出結果が徐々に反映されていく。なお、複数の期間の区分方式は、初期、中期、終期の３つの期間に限られず、２つの期間であってもよいし、４つ以上の期間に区分されていてもよい。
【００６７】
他の局面では、スイング情報算出部１６２は、算出されたグリップエンド速度（絶対座標系）を時間積分することによりグリップエンド部の位置情報（絶対座標系）を算出する。スイング情報算出部１６２は、バット８０の長さと、グリップエンド部の位置情報（絶対座標系）とに基づいて、ヘッド部の位置情報（絶対座標系）を算出する。また、スイング情報算出部１６２は、バット８０の長さと、グリップエンド速度（絶対座標系）とに基づいて、スイング期間におけるバット８０のヘッド部の最大速度を算出してもよい。
【００６８】
回数算出部１６４は、バット８０の長さと角速度情報とに基づいて算出されるバット８０のヘッド部の合成速度（センサ座標系）が予め定められた速度（例えば、２０ｋｍ／ｈ）に到達した回数に基づいて、バット８０のスイング回数を算出する。例えば、予め定められた速度は、スイングが開始されたと推定できる程度の速度である。
【００６９】
報知部１６６は、スイング情報算出部１６２の算出結果（および回数算出部１６４の算出結果）を被験者に報知する。例えば、報知部１６６は、算出結果を示す画像をディスプレイ１１０に表示させる。あるいは、報知部１６６は、スピーカ１１６から算出結果を示す音声を出力させる。
【００７０】
＜スイング解析処理の詳細＞
次に、本実施の形態に従うスイング解析装置１０で実行されるスイング解析処理の流れについて詳細に説明する。一般的に、バッターは、スイングを開始する前にバットを持ち替えたり、手足を動かしたりする等のルーティーン（バッターによって異なる）を行なった後、実際にスイングを開始する。スイング解析装置１０は、常時、センサ装置２０から送信されるセンサ情報（加速度情報および角速度情報）を受信しているが、上記のような実際のスイングとは関係ない動作をしているときのセンサ情報まで演算処理の対象とすると処理負荷が大きくなる。そこで、スイング解析装置１０は、処理負荷の軽減のため、スイング前後の一定期間のセンサ情報を用いて、スイング解析処理を行なうように構成されている。
【００７１】
図７は、本実施の形態に従うスイング解析装置１０が実行する処理の流れを示すフローチャートである。以下の各ステップは、ＣＰＵ１０２がメモリ１０４に格納されたプログラムを実行することによって実現される。また、上述したように、センサ装置２０は、バット８０のグリップエンド部に取り付けられている。そのため、以下の説明では、センサ装置２０で検出される角速度、加速度をそれぞれグリップエンド角速度、グリップエンド加速度と称する。
【００７２】
図７を参照して、ＣＰＵ１０２は、通信インターフェイス１２０を介して、センサ装置２０からセンサ情報（加速度情報および角速度情報）を受信する（ステップＳ１０）。なお、ＣＰＵ１０２は、受信したセンサ情報を時系列データとして順次メモリ１０４に格納していく。
【００７３】
ＣＰＵ１０２は、角速度情報および以下の式（１）〜（３）を用いてバット８０のヘッド合成速度（センサ座標系）を算出する（ステップＳ１２）。具体的には、センサ座標系において、グリップエンド部でのＸ軸，Ｙ軸，Ｚ軸周りの角速度をそれぞれωｘ、ωｙ、ωｚとすると、角速度ベクトルωは式（１）のように表される。
【００７４】
【数１】
2018075071.tif 000003
【００７５】
センサ座標系でのヘッド部のベクトルｒおよび式（１）を用いると、ヘッド部の速度ベクトルＶｈｓは、式（２）のように表される。なお、Ｖｈｓｘ、Ｖｈｓｙ、Ｖｈｓｚは、それぞれヘッド部でのＸ軸，Ｙ軸，Ｚ軸の速度（センサ座標系）である。
【００７６】
【数２】
2018075071.tif 000004
【００７７】
そして、式（２）からセンサ座標系でのヘッド部の合成速度Ｖｈｃｓが式（３）のように導かれる。
【００７８】
【数３】
2018075071.tif 000005
【００７９】
次に、ＣＰＵ１０２は、ヘッド部の合成速度Ｖｈｃｓ（センサ座標系）が閾値Ａ以上か否かを判断する（ステップＳ１４）。閾値Ａは、被験者によるスイングが開始されたと推定される速度に設定され、例えば、２０ｋｍ／ｈに設定される。なお、閾値Ａは、メモリ１０４に格納されており、ユーザにより任意に変更可能である。
【００８０】
ヘッド部の合成速度Ｖｈｃｓが閾値Ａ未満である場合には（ステップＳ１４においてＮＯ）、ＣＰＵ１０２はステップＳ１０からの処理を繰り返す。具体的には、ＣＰＵ１０２は、被験者によるスイングが開始されていないと判断して、次の処理に移行しない。これに対して、ＣＰＵ１０２は、ヘッド部の合成速度Ｖｈｃｓが閾値Ａ以上である場合には（ステップＳ１４においてＹＥＳ）、その合成速度Ｖｈｃｓが閾値Ａに到達した時刻ｔｓを算出する（ステップＳ１６）。続いて、ＣＰＵ１０２は、合成速度Ｖｈｃｓがゼロに到達した時刻ｔ０（または、ゼロ近傍に到達した時刻）を算出する（ステップＳ１８）。なお、ＣＰＵ１０２は、グリップエンド部の合成速度がゼロに到達した時刻（または、ゼロ近傍に到達した時刻）を算出する構成であってもよい。
【００８１】
ＣＰＵ１０２は、メモリ１０４を参照して、時刻ｔｓを基準とした前後の所定期間Ｔａ内に含まれるセンサ情報の時系列データを用いて、順方向積分を用いたスイング解析処理を実行する（ステップＳ２０）。所定期間Ｔａは、スイングの開始時刻から終了時刻までの期間を含むように設定される。また、時刻ｔ０は、所定期間Ｔａ内に含まれるものとする。例えば、所定期間Ｔａは、時刻ｔｓの１秒前から時刻ｔｓの３００ミリ秒後までの期間に設定される。
【００８２】
以下、順方向積分を用いたスイング解析処理について詳細に説明する。図８は、本実施の形態に従うスイング解析装置１０が実行する順方向積分を用いたスイング解析処理の一例を示すフローチャートである。なお、以下の説明では、所定期間Ｔａ内において、ヘッド部の合成速度Ｖｈｃｓ（センサ座標系）が最大となる時刻は、時刻ｔｘであるとする。また、絶対座標系において、グリップエンド加速度ａｗの初期値はａｗ＝（０，０，０）に設定され、グリップエンド速度ｖｗの初期値はｖｗ＝（０，０，０）に設定され、グリップエンド位置ｐｗの初期値は、ｐｗ＝（０，０，０）に設定されている。なお、センサ装置２０が静止している場合には加速度センサは重力加速度を検出するため、グリップエンド加速度ａｗの初期値は、重力加速度１ｇ（≒９．８ｍ／ｓ２）が差し引かれているものとする。
【００８３】
図８を参照して、ＣＰＵ１０２は、所定期間Ｔａのある時刻ｔのセンサ情報に拡張カルマンフィルタを適用して、時刻ｔにおけるグリップエンド部の姿勢（以下、「グリップエンド姿勢」とも称する。）を表わすクォータニオンを算出（推定）する（ステップＳ５０）。具体的には、ＣＰＵ１０２は、以下のような演算を実行する。
【００８４】
グリップエンド部でのＸ軸，Ｙ軸，Ｚ軸方向の加速度（センサ座標系）と、Ｘ軸，Ｙ軸，Ｚ軸周りの角速度（センサ座標系）とを入力として、ＣＰＵ１０２は、以下の非線形状態方程式（４）および非線形観測方程式（５）を解く。なお、式（４）中のｊ（ｔ）、Ｆ（ｊ（ｔ））、Ｗ（ｔ）は、それぞれ状態量、システムの時間遷移に関する線形モデル、システム雑音を表わしている。式（５）中のｋ（ｔ）、Ｈ（ｊ（ｔ））、Ｍ（ｔ）は、それぞれ観測量、状態空間を観測空間に線形写像する観測モデル、観測雑音を表わしている。
【００８５】
【数４】
2018075071.tif 000006
【００８６】
【数５】
2018075071.tif 000007
【００８７】
式（４）中のｊ（ｔ）は式（６）のように表され、およびＦ（ｊ（ｔ））は式（７−１）または式（７−２）のように表わされる。式（６）中のｑ（ｔ）は、所定期間Ｔａ内のある時刻ｔにおけるグリップエンド姿勢を表わすクォータニオンである。式（７−１）および式（７−２）中のＴｓは、センサ装置２０におけるサンプリング周期である。なお、式（７−２）は、式（７−１）に対してセンサ装置２０のバイアス誤差ｂｘ、ｂｙ、ｂｚを考慮したものである。
【００８８】
【数６】
2018075071.tif 000008
【００８９】
【数７】
2018075071.tif 000009
【００９０】
式（５）中のｋ（ｔ）およびＨ（ｊ（ｔ））は、それぞれ式（８）および式（９）のように表わされる。式（９）中のＲｑ（ｔ）は、ｑ（ｔ）（クォータニオン）をセンサ座標系から絶対座標系への変換のための回転行列に変換したものである。
【００９１】
【数８】
2018075071.tif 000010
【００９２】
【数９】
2018075071.tif 000011
【００９３】
上述した式（４）〜（９）を用いることにより、所定期間Ｔａ内のある時刻ｔにおけるグリップエンド姿勢を表わすクォータニオンｑ（ｔ）が導かれる。
【００９４】
クォータニオンは、３つの虚数ｑ１，ｑ２，ｑ３と１つの実数ｑ４の４変数からなるベクトルである。ロール・ピッチ・ヨーの姿勢表現ではシンバルロックという特異点問題があるが、クォータニオンでは、特異点が無く全ての姿勢を表すことができる。
【００９５】
次に、ＣＰＵ１０２は、導出されたグリップエンド姿勢ｑ（ｔ）をセンサ座標系から絶対座標系への変換のための回転行列に変換する（ステップＳ５２）。具体的には、時刻ｔにおけるグリップエンド姿勢（クォータニオン）をセンサ座標系から絶対座標系への変換のための回転行列に変換したものであるＲｑ（ｔ）（以下、「グリップエンド姿勢（回転行列）Ｒｑ（ｔ）」とも称する。）は、以下の式（１０）のように表される。
【００９６】
【数１０】
2018075071.tif 000012
【００９７】
次に、ＣＰＵ１０２は、時刻ｔにおいて、グリップエンド部が加速状態であるか否かを判断する（ステップＳ５４）。具体的には、ＣＰＵ１０２は、時刻ｔにおいて、グリップエンド部の合成加速度（センサ座標系）が以下の式（１１）を満たすか否かを判断する。なお、式（１１）中のａｘ（ｔ），ａｙ（ｔ），ａｚ（ｔ）は、それぞれ、時刻ｔにおけるグリップエンド部でのＸ軸，Ｙ軸，Ｚ軸方向の加速度（センサ座標系）である。
【００９８】
【数１１】
2018075071.tif 000013
【００９９】
式（１１）は、センサ装置２０が静止している場合には加速度センサが重力加速度である１ｇ（≒９．８ｍ／ｓ２）を検出することを利用している。具体的には、グリップエンド部の合成加速度が１ｇ付近の場合（式（１１）を満たす場合）には加速していない状態であり、１ｇ付近ではない場合（式（１１）を満たさない場合）には、加速状態であるとみなすことができる。このことから、式（１１）中の下限閾値（０．９）および上限閾値（１．２）は、１付近の値であればよく、これ以外の値であってもよい。
【０１００】
次に、時刻ｔにおいて、グリップエンド部が加速状態ではない場合には（ステップＳ５４においてＮＯ）、ＣＰＵ１０２は、時刻ｔにおける絶対座標系でのグリップエンド加速度ａｗ（ｔ）を初期値に設定する（ステップＳ５６）。具体的には、ＣＰＵ１０２は、ａｗ（ｔ）＝（０，０，０）に設定する。
【０１０１】
一方、時刻ｔにおいて、グリップエンド部が加速状態である場合には（ステップＳ５４においてＹＥＳ）、ＣＰＵ１０２は、ヘッド速度（センサ座標系）が最大となる時刻ｔｘにおけるグリップエンド姿勢（回転行列）Ｒｑに基づいて、時刻ｔにおけるグリップエンド姿勢（回転行列）Ｒｑ（ｔ）を補正する（ステップＳ５８）。具体的には、ＣＰＵ１０２は、以下のような演算を実行する。
【０１０２】
まず、時刻ｔｘにおけるグリップエンド姿勢を表わすクォータニオンｑが式（１２）のように表されるとする。
【０１０３】
【数１２】
2018075071.tif 000014
【０１０４】
そうすると、式（１０）に基づいて、時刻ｔｘにおけるグリップエンド姿勢（クォータニオン）を回転行列に変換したものであるＲｑは、以下の式（１３）のように表される。
【０１０５】
【数１３】
2018075071.tif 000015
【０１０６】
時刻ｔｘにおけるＺ軸周りの回転を表す回転行列Ｒｚは、回転角をθとすると、以下の式（１４）のように表わされる。
【０１０７】
【数１４】
2018075071.tif 000016
【０１０８】
なお、回転角θは、以下の式（１５）のように表される。
【０１０９】
【数１５】
2018075071.tif 000017
【０１１０】
グリップエンド姿勢（回転行列）Ｒｑ（ｔ）に、回転行列Ｒｚの転置行列ＲｚＴを掛け合わせることにより、時刻ｔにおけるグリップエンド姿勢（回転行列）Ｒｑ（ｔ）が補正される。具体的には、ヘッド速度（センサ座標系）が最大となる時刻ｔｘは、一般的に、バッティングにおけるインパクト時（バッターの両肩およびバットが略平行な時点）近傍となる。そのため、時刻ｔにおけるグリップエンド姿勢（回転行列）Ｒｑ（ｔ）は、バッティング中にグリップエンド部が正面を向くと考えられる当該時点（時刻ｔｘに対応）でのグリップエンド姿勢（回転行列）に基づいて補正される。これによって、複数回のスイングによる方位誤差をリセットし、高精度にスイング軌道を算出することが可能になる。
【０１１１】
次に、ＣＰＵ１０２は、センサ座標系での３軸方向のグリップエンド加速度ａｘ（ｔ），ａｙ（ｔ），ａｚ（ｔ）と、補正されたグリップエンド姿勢（回転行列）Ｒｑ（ｔ）とに基づいて、絶対座標系でのグリップエンド加速度ａｗ（ｔ）を算出する（ステップＳ６０）。具体的には、ＣＰＵ１０２は、式（１６）を用いてグリップエンド加速度ａｗ（ｔ）を算出する。
【０１１２】
【数１６】
2018075071.tif 000018
【０１１３】
なお、上述したように、加速度センサは重力加速度を検出する。そのため、式（１６）に示すように、センサ座標系におけるグリップエンド加速度から、絶対座標系におけるグリップエンド加速度に座標変換する場合には、重力加速度が差し引かれる。
【０１１４】
次に、ＣＰＵ１０２は、時刻ｔにおいて、グリップエンド部の合成角速度Ｖｃｓ（センサ座標系）が閾値Ｖｔｈ未満か否かを判断する（ステップＳ６２）。なお、時刻ｔにおけるグリップエンド部の合成角速度Ｖｃｓ（ｔ）は、以下の式（１７）のように表される。
【０１１５】
【数１７】
2018075071.tif 000019
【０１１６】
時刻ｔにおいて、グリップエンド部の合成角速度Ｖｃｓ（ｔ）が閾値Ｖｔｈ未満である場合には（ステップＳ６２においてＮＯ）、ＣＰＵ１０２は、時刻ｔにおける絶対座標系でのグリップエンド速度ｖｗ（ｔ）を初期値に設定する（ステップＳ６４）。具体的には、ＣＰＵ１０２は、ｖｗ（ｔ）＝（０，０，０）に設定する。
【０１１７】
一方、時刻ｔにおいて、グリップエンド部の合成角速度Ｖｃｓが閾値Ｖｔｈ以上である場合には（ステップＳ６２においてＹＥＳ）、ＣＰＵ１０２は、グリップエンド加速度ａｗ（ｔ）を順方向積分してグリップエンド速度ｖｗ（ｔ）を算出する（ステップＳ６６）。具体的には、グリップエンド速度ｖｗ（ｔ）は、グリップエンド加速度ａｗ（ｔ）、１周期前の時刻で算出されたグリップエンド速度ｖｗ（ｔ−１）、およびサンプリング周期Ｔｓを用いると以下の式（１８）のように表わされる。
【０１１８】
【数１８】
2018075071.tif 000020
【０１１９】
次に、ＣＰＵ１０２は、式（１８）を用いて算出されたグリップエンド速度ｖｗ（ｔ）に基づいて、時刻ｔにおける絶対座標系でのヘッド速度ｖｈｗ（ｔ）を算出する（ステップＳ６８）。具体的には、ヘッド速度ｖｈｗ（ｔ）は式（１９）のように表される。
【０１２０】
【数１９】
2018075071.tif 000021
【０１２１】
次に、ＣＰＵ１０２は、所定期間Ｔａ内の各時刻（サンプリング周期毎の時刻）のセンサデータ（加速度および角速度の時系列データ）について、ステップＳ５０からステップＳ６８までの一連の処理を実行したか否かを判断する（ステップＳ７２）。全ての時系列データについて、当該一連の処理が実行されていない場合には（ステップＳ７２においてＮＯ）、ＣＰＵ１０２は次回の周期に対応する時刻（ｔ＋１）について当該一連の処理を繰り返す。
【０１２２】
これに対して、全ての時系列データについて、当該一連の処理を実行した場合には（ステップＳ７２においてＹＥＳ）、ＣＰＵ１０２は、順方向積分を用いたスイング解析処理を終了する。
【０１２３】
再び、図７を参照して、ＣＰＵ１０２は、メモリ１０４を参照して、所定期間Ｔａの開始時刻から時刻ｔ０までの所定期間Ｔｂに含まれるセンサ情報の時系列データを用いて、逆方向積分を用いたスイング解析処理を実行する（ステップＳ２２）。所定期間Ｔａの開始時刻が時刻ｔｓの１秒前である場合、所定期間Ｔｂは、時刻ｔｓの１秒前から時刻ｔ０までの期間に設定される。
【０１２４】
以下、逆方向積分を用いたスイング解析処理について詳細に説明する。図９は、本実施の形態に従うスイング解析装置１０が実行する逆方向積分を用いたスイング解析処理の一例を示すフローチャートである。絶対座標系において、逆方向積分を開始する時刻ｔ０でのグリップエンド速度ｖｗｂはｖｗｂ＝（０，０，０）に設定され、グリップエンド位置ｐｗｂは、ｐｗｂ＝（０，０，０）に設定される。
【０１２５】
ＣＰＵ１０２は、ステップＳ８０〜Ｓ８６の処理を実行する。ここで、ステップＳ８０，Ｓ８２，Ｓ８４，Ｓ８６の処理は、それぞれ図８中のステップＳ５０，Ｓ５２，Ｓ５８，Ｓ６０の処理と同様である。具体的には、ある時刻ｔについての絶対座標系でのグリップエンド加速度ａｗ（ｔ）が算出される。なお、図８において順方向積分によるスイング解析処理により所定期間Ｔａ内の各時刻でのグリップエンド加速度ａｗ（ｔ）は算出済みである。そのため、ＣＰＵ１０２は、ステップＳ８０〜Ｓ８６の処理を省略して、メモリ１０４に記憶された各時刻でのグリップエンド加速度ａｗ（ｔ）を用いてステップＳ８８以降の処理を実行するように構成されていてもよい。
【０１２６】
ＣＰＵ１０２は、グリップエンド加速度ａｗ（ｔ）を逆方向積分してグリップエンド速度ｖｗｂ（ｔ）を算出する（ステップＳ８８）。具体的には、グリップエンド速度ｖｗｂ（ｔ）は、１周期前の時刻で算出されたグリップエンド速度ｖｗｂ（ｔ＋１）、時刻（ｔ＋１）でのグリップエンド加速度ａｗ（ｔ＋１）およびサンプリング周期Ｔｓを用いると以下の式（２０）のように表わされる。
【０１２７】
【数２０】
2018075071.tif 000022
【０１２８】
次に、ＣＰＵ１０２は、式（１９）中のｖｗ（ｔ）に、算出されたグリップエンド速度ｖｗｂ（ｔ）を代入して、時刻ｔにおける絶対座標系でのヘッド速度ｖｈｗｂ（ｔ）を算出する（ステップＳ９０）。
【０１２９】
続いて、ＣＰＵ１０２は、所定期間Ｔｂ内の各時刻（サンプリング周期毎の時刻）のセンサデータ（加速度および角速度の時系列データ）について、ステップＳ８０からステップＳ９０までの一連の処理を実行したか否かを判断する（ステップＳ９４）。全ての時系列データについて、当該一連の処理が実行されていない場合には（ステップＳ９４においてＮＯ）、ＣＰＵ１０２は次回の周期に対応する時刻（ｔ−１）について当該一連の処理を繰り返す。
【０１３０】
これに対して、全ての時系列データについて、当該一連の処理を実行した場合には（ステップＳ９４においてＹＥＳ）、ＣＰＵ１０２は、逆方向積分を用いたスイング解析処理を終了する。
【０１３１】
再び、図７を参照して、ＣＰＵ１０２は、順方向積分により算出されたグリップエンド速度ｖｗ（ｔ）、および逆方向積分により算出されたグリップエンド速度ｖｗｂ（ｔ）に適応カルマンフィルタを適用して、グリップエンド速度Ｖｆｂ（ｔ）を算出する（ステップＳ２４）。具体的には、ＣＰＵ１０２は、以下のような演算を実行する。
【０１３２】
順方向積分に基づく３軸方向のグリップエンド速度ｖｗｘ（ｔ），ｖｗｙ（ｔ），ｖｗｚ（ｔ）と、逆方向積分に基づく３軸方向のグリップエンド速度ｖｗｂｘ（ｔ），ｖｗｂｙ（ｔ），ｖｗｂｚ（ｔ）とを入力として、ＣＰＵ１０２は、以下の状態方程式（２１）および観測方程式（２２）を解く。
【０１３３】
式（２１）中のｘ（ｔ）は、３軸方向のグリップエンド速度Ｖｆｂｘ（ｔ），Ｖｆｂｙ（ｔ），Ｖｆｂｙ（ｔ）を表わし、ｕ（ｔ）は３軸方向のグリップエンド加速度ａｗｘ（ｔ），ａｗｙ（ｔ），ａｗｚ（ｔ）を表わし、ｗ（ｔ）はプロセス雑音であり、Ｗ（ｔ）はプロセス雑音（白色雑音）の大きさを表わす共分散行列である。なお、Ｗ（ｔ）の対角成分であるｄは定数（例えば、０．００１）である。式（２２）中のｍ（ｔ）は観測雑音であり、Ｍ（ｔ）は観測雑音（白色雑音）の大きさを表わす共分散行列である。なお、Ｍ（ｔ）の対角成分中のｈは定数（例えば、３）である。
【０１３４】
【数２１】
2018075071.tif 000023
【０１３５】
【数２２】
2018075071.tif 000024
【０１３６】
ＣＰＵ１０２は、スイング期間の初期、中期、終期について、定数ｈ（例えば、ｈ＝３）を用いて観測ノイズに関する共分散行列Ｍ（ｔ）を変化させることにより、各期間のグリップエンド速度Ｖｆｂ（ｔ）を算出する。具体的には、ｔの値が小さいほど、グリップエンド速度Ｖｆｂ（ｔ）には、順方向積分に基づくグリップエンド速度ｖｗ（ｔ）が大きく反映され（すなわち、グリップエンド速度ｖｗ（ｔ）の重みが大きく）、逆方向積分に基づくグリップエンド速度ｖｗｂ（ｔ）が小さく反映される（すなわち、グリップエンド速度ｖｗ（ｔ）の重みが小さい）。
【０１３７】
ここで、スイング期間が時刻ｔｓの１秒前から時刻ｔ０（すなわち、所定期間Ｔｂ）であるとする。スイング期間の初期においては、ｔの値が小さい（すなわち、スイング期間の開始時刻からの経過時間が短い）。そのため、ＣＰＵ１０２は、グリップエンド速度ｖｗ（ｔ）の重みよりもグリップエンド速度ｖｗｂ（ｔ）の重みが小さいグリップエンド速度Ｖｆｂ（ｔ）を算出する。当該算出されたグリップエンド速度Ｖｆｂ（ｔ）の結果に対しては、順方向積分に基づくグリップエンド速度ｖｗ（ｔ）の結果が大きく影響しており、逆方向積分に基づくグリップエンド速度ｖｗｂ（ｔ）の結果はほとんど影響を及ぼさない。
【０１３８】
スイング期間の中期においては、初期の場合よりもｔの値が大きくなる（すなわち、スイング期間の開始時刻からの経過時間が長くなる）。そのため、スイング期間の中期において、ＣＰＵ１０２により算出されたグリップエンド速度Ｖｆｂ（ｔ）の結果に対しては、グリップエンド速度ｖｗ（ｔ）の結果およびグリップエンド速度ｖｗｂ（ｔ）の結果が同程度の影響を及ぼすことになる。
【０１３９】
スイング期間の終期においては、中期の場合よりもｔの値がさらに大きくなる（すなわち、スイング期間の開始時刻からの経過時間がさらに長くなる）。そのため、ＣＰＵ１０２は、グリップエンド速度ｖｗ（ｔ）の重みよりもグリップエンド速度ｖｗｂ（ｔ）の重みが大きいグリップエンド速度Ｖｆｂ（ｔ）を算出する。当該算出されたグリップエンド速度Ｖｆｂ（ｔ）の結果に対しては、順方向積分に基づくグリップエンド速度ｖｗ（ｔ）の結果はほとんど影響を及ぼさず、逆方向積分に基づくグリップエンド速度ｖｗｂ（ｔ）の結果が大きく影響する。このように、各期間について、グリップエンド速度ｖｗ（ｔ）およびグリップエンド速度ｖｗｂ（ｔ）の重みが変動することにより、実際の速度を精度よく反映するグリップエンド速度を算出できる。
【０１４０】
また、ＣＰＵ１０２は、順方向積分に基づくヘッド速度ｖｈｗ（ｔ）および逆方向積分に基づくヘッド速度ｖｈｗ（ｔ）についても上記と同様な方式で適応カルマンフィルタを適用することにより、各期間について、実際の速度を精度よく反映するヘッド速度Ｖｈｆｂ（ｔ）を算出してもよい。この場合、ＣＰＵ１０２は、絶対座標系での３軸方向のヘッド速度ｖｈｆｂｘ（ｔ），ｖｈｆｂｙ（ｔ），ｖｈｆｂｚ（ｔ）を式（２３）に用いて、ヘッド合成速度Ｖｈｃ（ｔ）を算出してもよい。
【０１４１】
【数２３】
2018075071.tif 000025
【０１４２】
次に、ＣＰＵ１０２は、適応カルマンフィルタを用いて算出されたグリップエンド速度Ｖｆｂ（ｔ）を時間積分してグリップエンド軌道を算出する（ステップＳ２６）。また、ＣＰＵ１０２は、適応カルマンフィルタを用いて算出されたヘッド速度Ｖｈｆｂ（ｔ）を時間積分してヘッド軌道を算出してもよい。ＣＰＵ１０２は、算出結果として、例えば、スイング軌道（グリップエンド軌道およびヘッド軌道の少なくとも一方）およびヘッド速度（あるいは、ヘッド合成速度）をディスプレイ１１０に表示する（ステップＳ２８）。そして、処理は終了する。
【０１４３】
＜実施例＞
本願発明者は、上述したスイング解析方式の有効性について検証した。図１０〜図１３を参照しながら、その検証結果について説明する。検証方法としては、本実施の形態に従うスイング解析方式（以下、単に「本解析方式」）を用いた場合のグリップエンド速度およびグリップエンド軌道と、比較例に従うスイング解析方式（比較例解析方式）を用いた場合のグリップエンド速度およびグリップエンド軌道とを比較することにより行なった。また、本実施例では、右利きの被験者にスイングをしてもらい、グリップエンド速度およびスイング軌道を算出した。
【０１４４】
（グリップエンド速度）
図１０は、比較例解析方式（その１）により算出されたグリップエンド速度を示す図である。図１１は、比較例解析方式（その２）により算出されたグリップエンド速度を示す図である。図１２は、本解析方式により算出されたグリップエンド速度を示す図である。
【０１４５】
ここで、比較例解析方式（その１）に基づくグリップエンド速度は、上述した図７中のステップＳ２０に対応するスイング解析処理（順方向積分）により算出されており、ステップＳ２２に対応するスイング解析処理（逆方向積分）は実行されていない（これに伴いステップＳ２４も実行されていない）。比較例解析方式（その２）に基づくグリップエンド速度は、Ｓ２２に対応するスイング解析処理（逆方向積分）により算出されており、ステップＳ２０に対応するスイング解析処理（順方向積分）は実行されていない。
【０１４６】
図１０を参照して、スイング開始付近においては、順方向積分に基づいて算出されたグリップエンド速度は、ゼロ近傍から急激に立ち上がっており、実際のグリップエンド速度（以下、「実グリップエンド速度」とも称する。）を精度よく反映している。しかし、スイング終了付近（領域５００に対応）においては、算出されたグリップエンド速度は、積分誤差の蓄積の影響のためゼロに向かって落ち着いておらず、実グリップエンド速度を精度よく反映できていない。
【０１４７】
図１１を参照して、スイング終了付近においては、逆方向積分に基づいて算出されたグリップエンド速度は、ゼロに向かって落ち着いており実グリップエンド速度を精度よく反映している。しかし、スイング開始付近（領域６００に対応）においては、算出されたグリップエンド速度は、積分誤差の影響のためゼロ近傍に落ち着いておらず、実速度を精度よく反映できていない。
【０１４８】
一方、図１２を参照して、本解析方式に基づいて算出されたグリップエンド速度は、スイング開始付近においては、ゼロ近傍から急激に立ち上がっている。また、スイング終了付近においては、算出されたグリップエンド速度は、ゼロに向かって落ち着いている。そのため、本解析方式によると、スイング開始から終了までの全期間にわたって実際のグリップエンド速度を精度よく反映できている。
【０１４９】
（スイング軌道）
図１３は、各スイング解析方式により算出されたグリップエンド軌道を示す図である。具体的には、図１３（ａ）は、比較例解析方式により算出されたグリップエンド軌道を示している。ここで、比較例解析方式に基づくグリップエンド軌道は、図７中のステップＳ２０に対応するスイング解析処理（順方向積分）により算出されており、ステップＳ２２に対応するスイング解析処理（逆方向積分）は実行されていない（これに伴いステップＳ２４も実行されていない）。図１３（ｂ）は、本解析方式により算出されたグリップエンド軌道を示している。
【０１５０】
図１３（ａ）を参照すると、スイングするときに手首を返す状態が反映されておらず、比較例解析方式に基づいて算出されたグリップエンド軌道は、被験者の実際のグリップエンド軌道を反映できていない。
【０１５１】
一方、図１３（ｂ）を参照すると、スイングするときに手首を返す状態が反映されている様子（図中の領域７００に対応）が確認できる。そのため、本解析方式によるグリップエンド軌道は、被験者の実際のグリップエンド軌道を精度良く反映している。
【０１５２】
図１０〜図１３の結果によると、各方式ともに、拡張カルマンフィルタを用いた姿勢算出を行なっているため、精度良くバット（センサ装置）の姿勢を推定できている。また、各方式ともに、センサ装置２０の方位補正を行なっているため、被験者がスイングする前にバットを握り返したりすることによる方位誤差の影響を排除できている。しかし、比較例方式では、積分誤差の蓄積により、実際のグリップエンド速度およびグリップエンド軌道を精度よく推定できなかったと考えられる。本解析方式によると、精度の良いバットの姿勢推定を可能とするとともに、バットの握り返し等の方位誤差に影響を与える要素を排除し、さらに積分誤差の蓄積をも排除できるため、実際のグリップエンド速度およびグリップエンド軌道を精度よく推定できる。
【０１５３】
＜その他の実施の形態＞
上述した実施の形態では、打球具としてのバットをスイングする構成について説明したが、当該構成に限られない。被験者が打球具をスイングする点において、例えば、野球、テニス、ゴルフ、バドミントンなどのスポーツは共通している。そのため、打球具は、テニスまたはバドミントンで用いられるラケット、ゴルフで用いられるゴルフクラブであってもよい。さらに、打球具を利用しない打具によるスイング動作（剣道における竹刀のスイング動作等）、あるいは道具を利用しないスイング動作（サッカーの脚のスイング動作、マラソンの腕のスイング動作等）にも広く適用することができる。
【０１５４】
上述した実施の形態において、スイング解析装置１０は、スイング軌道の算出結果として、図１３（ｂ）などのグリップエンド軌道を表示してもよいし、ヘッド速度の算出結果として、図１２に示すような時系列のヘッド速度、あるいは最大ヘッド速度を表示してもよい。また、スイング解析装置１０は、被験者のスイング回数を表示してもよい。
【０１５５】
上述した実施の形態において、適応カルマンフィルタの代わりに拡張カルマンフィルタを適用することにより、最終的なスイング速度（グリップエンド速度およびヘッド速度の少なくとも一方）およびスイング軌道を算出する構成であってもよい。
【０１５６】
上述した実施の形態では、ヘッド部の合成速度がゼロに到達した時刻ｔ０（または、ゼロ近傍に到達した時刻）を算出して、時刻ｔ０から遡って逆方向積分を行なうことにより、逆方向積分に基づく第２の速度を算出する構成について説明したが、当該構成に限られない。例えば、スイング期間を所定期間Ｔａとして規定し、所定期間Ｔaの終了時刻から遡って第２の速度を算出する構成であってもよい。
【０１５７】
また、コンピュータを機能させて、上述のフローチャートで説明したような制御を実行させるプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどの一時的でないコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１５８】
プログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本実施の形態にかかるプログラムに含まれ得る。
【０１５９】
また、本実施の形態にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本実施の形態にかかるプログラムに含まれ得る。
【０１６０】
上述の実施の形態として例示した構成は、本発明の構成の一例であり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、一部を省略する等、変更して構成することも可能である。
【０１６１】
＜実施の形態の効果＞
本実施の形態によると、被験者が長時間連続して複数回のスイングを行なう場合であっても、各スイングについて精度よくスイング軌道およびスイング速度を算出することができる。これにより、例えば、スイング回数を重ねることによる測定誤差（ドリフト誤差など）を修正するために、センサ装置をリセットするなどの余計な手間を省くことができ、被験者はスイングだけに集中することができる。
【０１６２】
本実施の形態によると、バットにセンサ装置を取り付けるだけでよいため、例えば、被験者の自宅でのスイングチェック用や、監督などによる部員のスイングチェック用など様々な場面で簡単に利用することができる。
【０１６３】
また、本実施の形態によると、ドリフト誤差などの補正のために地磁気センサを用いる必要がないため、システム全体としての低コスト化を実現することもできる。
【０１６４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１６５】
１０  スイング解析装置、２０  センサ装置、８０  バット、１０２，２０２  ＣＰＵ、１０４，２０４  メモリ、１０６  タッチパネル、１０８  ボタン、１１０  ディスプレイ、１１２  無線通信部、１１３  通信アンテナ、１１４  メモリインターフェイス、１１５  記録媒体、１１６  スピーカ、１１８  マイク、１２０  通信インターフェイス、１５０  情報入力部、１５２  姿勢算出部、１５４  補正部、１５６  座標変換部、１５８  第１の速度算出部、１６０  第２の速度算出部、１６２  スイング情報算出部、１６４  回数算出部、１６６  報知部、２０６  加速度センサ、２０８  角速度センサ、２１２  蓄電池、５００，６００，７００  領域、１０００  スイング解析システム。
【図１】
2018075071.tif 000026
【図２】
2018075071.tif 000027
【図３】
2018075071.tif 000028
【図４】
2018075071.tif 000029
【図５】
2018075071.tif 000030
【図６】
2018075071.tif 000031
【図７】
2018075071.tif 000032
【図８】
2018075071.tif 000033
【図９】
2018075071.tif 000034
【図１０】
2018075071.tif 000035
【図１１】
2018075071.tif 000036
【図１２】
2018075071.tif 000037
【図１３】
2018075071.tif 000038