(57)【要約】      （修正有）【課題】スイング開始前にユーザーの動作を静止させなくてもスイング解析が可能なスイングデータ演算システムの提供。【解決手段】スイングデータ演算装置２は、スイングを含む運動に応じて発生する慣性量の計測データを取得するデータ取得部２００と、計測データに基づいてスイングに係るスイングデータを判定する判定部２０１と、スイングデータに係る期間の開始前の所定期間の計測データに基づいてスイングデータを演算するための基準を設定する基準設定部２０２と、基準に基づいてスイングデータを演算するスイング演算部２０３とを有する。【選択図】図２
2017012586.tif 000002
【特許請求の範囲】
【請求項１】
スイングを含む運動に応じて発生する慣性量の計測データを取得するデータ取得部と、
前記計測データに基づいて前記スイングに係るスイングデータを判定する判定部と、
前記スイングデータに係る期間の開始前の所定期間の計測データに基づいて前記スイングデータを演算するための基準を設定する基準設定部と、
前記基準に基づいて前記スイングデータを演算するスイング演算部と
を有するスイングデータ演算装置。
【請求項２】
請求項１に記載のスイングデータ演算装置であって、
前記基準は、前記スイングデータを補正するための基準値を含み、
前記スイング演算部は、前記基準値に基づいて前記スイングデータを補正する
スイングデータ演算装置。
【請求項３】
請求項１又は２に記載のスイングデータ演算装置であって、
前記基準は、前記スイングの基点となる基準位置を含み、
前記スイング演算部は、前記基準位置に基づいて前記スイングデータを演算する
スイングデータ演算装置。
【請求項４】
請求項１〜３のいずれか一項に記載のスイングデータ演算装置であって、
前記基準は、前記スイングの基点となる基準姿勢を含み、
前記スイング演算部は、前記基準姿勢に基づいて前記スイングデータを演算する
スイングデータ演算装置。
【請求項５】
請求項１〜４のいずれか一項に記載のスイングデータ演算装置であって、
前記基準設定部は、前記所定期間の計測データの特性を特定し、前記特性に応じた基準を設定する
スイングデータ演算装置。
【請求項６】
請求項５に記載のスイングデータ演算装置であって、
前記特性は、前記所定期間の計測データの時系列変化パターンを表す関数又は値範囲である
スイングデータ演算装置。
【請求項７】
請求項２に記載のスイングデータ演算装置であって、
前記基準設定部は、前記所定期間の計測データの平均値、又は前記所定期間の計測データの特性が表れる期間のデータの平均値を、前記基準値として設定する
スイングデータ演算装置。
【請求項８】
請求項１〜７のいずれか一項に記載のスイングデータ演算装置であって、
前記判定部は、前記計測データに含まれる角速度に基づいて、前記スイング中のイベントであるインパクト、トップ期間、及びバックスイング期間を判定し、前記バックスイング期間の開始タイミングを前記スイングデータに係る期間の開始タイミングとして判定する
スイングデータ演算装置。
【請求項９】
請求項１〜７のいずれか一項に記載のスイングデータ演算装置であって、
前記判定部は、前記計測データに含まれる角速度に基づいて、前記スイング中のイベントであるインパクト、及びトップ期間を判定し、前記トップ期間の開始タイミングを前記スイングデータに係る期間の開始タイミングとして判定する
スイングデータ演算装置。
【請求項１０】
請求項１〜９のいずれか一項に記載のスイングデータ演算装置であって、
前記スイングの開始をユーザーに通知する出力部
を有するスイングデータ演算装置。
【請求項１１】
スイングを含む運動に応じて発生する慣性量を計測し、計測データとして出力する慣性センサーと、
前記計測データを前記慣性センサーから取得するデータ取得部と、
前記計測データに基づいて前記スイングに係るスイングデータを判定する判定部と、
前記スイングデータに係る期間の開始前の所定期間の計測データに基づいて前記スイングデータを演算するための基準を設定する基準設定部と、
前記基準に基づいて前記スイングデータを演算するスイング演算部と
を有するスイングデータ演算システム。
【請求項１２】
スイングを含む運動に応じて発生する慣性量の計測データを慣性センサーから取得する工程と、
前記計測データに基づいて前記スイングに係るスイングデータを判定する工程と、
前記スイングデータに係る期間の開始前の所定期間の計測データに基づいて前記スイングデータを演算するための基準を設定する工程と、
前記基準に基づいて前記スイングデータを演算する工程と
を含むスイングデータ演算方法。
【請求項１３】
スイングを含む運動に応じて発生する慣性量の計測データを慣性センサーから取得する手順と、
前記計測データに基づいて前記スイングに係るスイングデータを判定する手順と、
前記スイングデータに係る期間の開始前の所定期間の計測データに基づいて前記スイングデータを演算するための基準を設定する手順と、
前記基準に基づいて前記スイングデータを演算する手順と
をコンピューターに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スイングデータ演算装置、スイングデータ演算システム、スイングデータ演算方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ゴルフクラブに装着されたジャイロセンサーの出力を用いて、ゴルフクラブのスイングに関する評価情報を生成するスイング評価支援装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−７３２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、加速度センサーや角速度センサー等の慣性センサー用いるスイング解析装置は、加速度や角速度の出力値を積分することにより速度、角度、位置等を算出し、これらに基づいてヘッドスピードやスイングの軌跡を求めることができる。ここで、加速度や角速度の出力値には計測誤差成分が含まれるため、積分演算により誤差が蓄積されて（重畳されて）しまう。そこで、一般的には、スイング開始前にユーザーに動作を静止してもらい、慣性センサーのゼロ点バイアスを特定できるようにする。そして、特定したゼロ点バイアスに基づきスイング動作期間中の慣性センサーの出力値を補正することにより、より精度の高い解析を行えるようにしている。
【０００５】
しかし、上記のようなスイング解析装置は、スイング開始前にユーザーは動作を静止させる必要があり、使い勝手が良くない。また、スイング開始前に一旦動作を静止するとなると、ユーザーは普段どおりのスイングができないことがあり、この場合は欲しい解析結果を得られない。
【０００６】
そこで、本発明は、スイング開始前にユーザーの動作を静止させなくてもスイング解析を行えるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決する本発明の一態様は、スイングデータ演算装置であって、スイングを含む運動に応じて発生する慣性量の計測データを取得するデータ取得部と、前記計測データに基づいて前記スイングに係るスイングデータを判定する判定部と、前記スイングデータに係る期間の開始前の所定期間の計測データに基づいて前記スイングデータを演算するための基準を設定する基準設定部と、前記基準に基づいて前記スイングデータを演算するスイング演算部とを有する。これにより、スイング開始前にユーザーが動作を静止しない場合であっても、精度よくスイング解析を行うことができる。
【０００８】
上記のスイングデータ演算装置において、前記基準は、前記スイングデータを補正するための基準値を含み、前記スイング演算部は、前記基準値に基づいて前記スイングデータを補正してもよい。これにより、スイング開始前のユーザーの動きが毎回異なる場合でも、その動きに応じた計測誤差成分を低減して、精度よくスイング解析を行うことができる。
【０００９】
上記のスイングデータ演算装置において、前記基準は、前記スイングの基点となる基準位置を含み、前記スイング演算部は、前記基準位置に基づいて前記スイングデータを演算してもよい。これにより、スイング開始前のユーザーの動きが毎回異なる場合でも、その動きに応じた基準位置を設定して、精度よくスイング解析を行うことができる。
【００１０】
上記のスイングデータ演算装置において、前記基準は、前記スイングの基点となる基準姿勢を含み、前記スイング演算部は、前記基準姿勢に基づいて前記スイングデータを演算してもよい。これにより、スイング開始前のユーザーの動きが毎回異なる場合でも、その動きに応じた基準姿勢を設定して、精度よくスイング解析を行うことができる。
【００１１】
上記のスイングデータ演算装置において、前記基準設定部は、前記所定期間の計測データの特性を特定し、前記特性に応じた基準を設定してもよい。これにより、スイング開始前のユーザーの動きが毎回異なる場合でも、精度よく基準を設定することができる。
【００１２】
上記のスイングデータ演算装置において、前記特性は、前記所定期間の計測データの時系列変化パターンを表す関数又は値範囲であってもよい。これにより、計測データに基づいてユーザーの動きに応じた特性を特定することができる。
【００１３】
上記のスイングデータ演算装置において、前記基準設定部は、前記所定期間の計測データの平均値、又は前記所定期間の計測データの特性が表れる期間のデータの平均値を、前記基準値として設定してもよい。これにより、個々のスイングの基準値のばらつきを低減することができる。
【００１４】
上記のスイングデータ演算装置において、前記判定部は、前記計測データに含まれる角速度に基づいて、前記スイング中のイベントであるインパクト、トップ期間、及びバックスイング期間を判定し、前記バックスイング期間の開始タイミングを前記スイングデータに係る期間の開始タイミングとして判定してもよい。これにより、例えばゴルフスイングのようにバックスイングが明確に捉えられる場合は、スイングの開始タイミングを精度よく判定することができる。
【００１５】
上記のスイングデータ演算装置において、前記判定部は、前記計測データに含まれる角速度に基づいて、前記スイング中のイベントであるインパクト、及びトップ期間を判定し、前記トップ期間の開始タイミングを前記スイングデータに係る期間の開始タイミングとして判定してもよい。これにより、例えば野球のようにバックスイングが明確に表れない場合でも、精度よくスイングの開始タイミングを判定することができる。
【００１６】
上記のスイングデータ演算装置において、前記スイングの開始をユーザーに通知する出力部を有してもよい。これにより、ユーザーは、スイングするタイミングを知ることができるとともに、特別に静止することなく普段どおりスイングをすることができる。
【００１７】
上記の課題を解決する本発明の他の態様は、スイングデータ演算システムであって、スイングを含む運動に応じて発生する慣性量を計測し、計測データとして出力する慣性センサーと、前記計測データを前記慣性センサーから取得するデータ取得部と、前記計測データに基づいて前記スイングに係るスイングデータを判定する判定部と、前記スイングデータに係る期間の開始前の所定期間の計測データに基づいて前記スイングデータを演算するための基準を設定する基準設定部と、前記基準に基づいて前記スイングデータを演算するスイング演算部とを有する。これにより、スイング開始前にユーザーが動作を静止しない場合であっても、精度よくスイング解析を行うことができる。
【００１８】
上記の課題を解決する本発明のさらに他の態様は、スイングデータ演算方法であって、スイングを含む運動に応じて発生する慣性量の計測データを慣性センサーから取得する工程と、前記計測データに基づいて前記スイングに係るスイングデータを判定する工程と、前記スイングデータに係る期間の開始前の所定期間の計測データに基づいて前記スイングデータを演算するための基準を設定する工程と、前記基準に基づいて前記スイングデータを演算する工程とを含む。これにより、スイング開始前にユーザーが動作を静止しない場合であっても、精度よくスイング解析を行うことができる。
【００１９】
上記の課題を解決する本発明のさらに他の態様は、プログラムであって、スイングを含む運動に応じて発生する慣性量の計測データを慣性センサーから取得する手順と、前記計測データに基づいて前記スイングに係るスイングデータを判定する手順と、前記スイングデータに係る期間の開始前の所定期間の計測データに基づいて前記スイングデータを演算するための基準を設定する手順と、前記基準に基づいて前記スイングデータを演算する手順とをコンピューターに実行させる。これにより、スイング開始前にユーザーが動作を静止しない場合であっても、精度よくスイング解析を行うことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に係るスイングデータ演算システムのシステム構成の一例を示す図である。
【図２】スイングデータ演算システムの機能構成の一例を示すブロック図である。
【図３】ゴルフクラブに装着されたセンサーから出力される角速度の一例を示す図である。
【図４】角速度のノルムの一例を示す図である。
【図５】角速度のノルムの微分の一例を示す図である。
【図６】ＸＹＺ座標系とゴルフクラブの関係の一例を示す図である。
【図７】スイング開始前にユーザーが静止しない場合の角速度の一例を示す図である。
【図８】動作パターン情報のデータ構造の一例を示す図である。
【図９】スイングデータ演算処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の一実施形態について、図面を参照して説明する。本実施形態では、ゴルフのスイングを中心に説明するが、適宜、他のスポーツのスイングについても説明する。
【００２２】
図１は、本発明の一実施形態に係るスイングデータ演算システムのシステム構成の一例を示す図である。
【００２３】
スイングデータ演算システムは、センサーユニット１と、スイングデータ演算装置２とを有する。センサーユニット１とスイングデータ演算装置２は、無線通信または有線通信によって、互いに通信を行うことができる。図１は、ゴルフクラブ（本発明の運動器具に相当する）Ｃと、それをスイングするユーザーＵとを示している。
【００２４】
センサーユニット１は、慣性センサーを備え、略直交関係にある３軸の各軸方向の加速度と、３軸の各軸回りに生じる角速度とを慣性量として計測する。例えば、センサーユニット１は、ｘ軸、ｙ軸、及びｚ軸の３つの検出軸のうちのｙ軸を、ゴルフクラブＣのシャフトの長軸方向に合わせて、ゴルフクラブＣのシャフトの一部に取り付けられ、スイングに伴う運動を含むゴルフクラブＣの運動によって生じる３軸方向の加速度と、３軸の各軸回りの角速度とを計測する。センサーユニット１は、計測した加速度と角速度（以下、計測データともいう）を、スイングデータ演算装置２へ送信する。
【００２５】
スイングデータ演算装置２は、例えば、スマートフォンやパーソナルコンピューターなどの端末装置である。図１の例では、スイングデータ演算装置２は、スマートフォンであり、ユーザーＵの腰部に装着されている。
【００２６】
スイングデータ演算装置２は、センサーユニット１から送信された計測データを受信し、受信した計測データに含まれるゴルフクラブＣのスイングに係る計測データ（スイングデータ）を用いて演算を行うことにより、ゴルフクラブＣのスイング運動を解析する。例えば、スイングデータ演算装置２は、スイング運動の解析により、ゴルフクラブＣのヘッドの軌跡等を特定する。
【００２７】
なお、図１では、センサーユニット１は、ゴルフクラブＣに装着されているが、ユーザーＵの体の一部に装着されてもよい。例えば、センサーユニット１は、ユーザーＵの腕部に装着され、ユーザーＵの腕部の運動により生じる加速度及び角速度を計測してもよい。
【００２８】
図２は、スイングデータ演算システムの機能構成の一例を示すブロック図である。
【００２９】
センサーユニット１は、制御部１０と、通信部１１と、加速度センサー１２と、角速度センサー１３とを有する。
【００３０】
制御部１０は、センサーユニット１を統合的に制御する。制御部１０は、加速度センサー１２と角速度センサー１３のそれぞれから、計測データ（加速度データと角速度データ）を受信し、受信した計測データに計測時刻を付加して通信部１１に出力する。
【００３１】
通信部１１は、制御部１０から出力される計測データ（計測時刻を含む）をスイングデータ演算装置２に送信する。また、通信部１１は、スイングデータ演算装置２から、制御コマンドを受信し、受信した制御コマンドを制御部１０に出力する。制御部１０は、制御コマンドに応じた各種処理を行う。
【００３２】
加速度センサー１２は、略直交関係にある３軸方向の各々に生じる加速度を計測する。加速度センサー１２は、計測した加速度を、例えば、デジタル信号で制御部１０に出力する。
【００３３】
角速度センサー１３は、略直交関係にある３軸の各々の軸回りに生じる角速度を計測する。角速度センサー１３は、計測した角速度を、例えば、デジタル信号で制御部１０に出力する。
【００３４】
スイングデータ演算装置２は、制御部２０と、通信部２１と、記憶部２２と、操作部２３と、表示部２４と、音声出力部２５と、通信部２６とを有する。
【００３５】
通信部２１は、センサーユニット１から送信される計測データを受信する。また、通信部２１は、受信した計測データを制御部２０に出力する。また、通信部２１は、制御部２０から出力される制御コマンドを受信する。また、通信部２１は、受信した制御コマンドをセンサーユニット１に送信する。
【００３６】
記憶部２２は、制御部１０が処理に使用するデータなどを記憶する。記憶部２２は、例えば、フラッシュＲＯＭ（Read Only Memory）などの不揮発性の記憶装置で実現することができる。
【００３７】
操作部２３は、ユーザーの操作入力を受け付け、操作に応じた操作信号を制御部２０に出力する。操作部２３は、例えば、キー、タッチセンサー、タッチパネルなどの入力装置で実現することができる。
【００３８】
表示部２４は、制御部２０の処理結果を、文字、グラフ、表、アニメーション、その他の画像として表示する。表示部２４は、例えば、ＬＣＤ（Liquid Crystal Display）、ＯＬＥＤ（Organic Electro-Luminescence Display）などで実現することができる。
【００３９】
音声出力部２５は、制御部２０の処理結果を、音声やブザー音で出力する。音声出力部２５は、例えば、スピーカー、ブザーなどで実現することができる。
【００４０】
通信部２６は、ネットワークに接続し、サーバー等のコンピューターと通信する。通信部２６は、例えば、ネットワーク・インターフェイス装置などで実現することができる。
【００４１】
制御部２０は、スイングデータ演算装置２を統合的に制御する。制御部２０は、データ取得部２００と、イベント判定部（本発明の判定部に相当する）２０１と、基準設定部２０２と、スイング演算部２０３と、出力処理部（本発明の出力部に相当する）２０４とを有する。
【００４２】
制御部２０は、例えば、演算装置であるＣＰＵ（Central Processing Unit）、揮発性の記憶装置であるＲＡＭ（Random Access Memory）、不揮発性の記憶装置であるＲＯＭ、制御部２０と他のユニットを接続するインターフェイス（Ｉ／Ｆ）回路、これらを互いに接続するバス、等を備えるコンピューターにより実現することができる。コンピューターは、画像処理回路など各種の専用処理回路を備えていてもよい。また、制御部２０は、ＡＳＩＣ（Application Specific Integrated Circuit）などにより実現されてもよい。
【００４３】
上記の制御部２０の機能（データ取得部２００、イベント判定部２０１、基準設定部２０２、スイング演算部２０３、出力処理部２０４）の少なくとも一部は、例えば、ＣＰＵがＲＯＭに格納された所定のプログラムをＲＡＭに読み出して実行することにより実現することができる。当該所定のプログラムは、例えばＯＳ（Operating System）上で動作するアプリケーションプログラムであり、持ち運び可能な記憶媒体から読み出してスイングデータ演算装置２にインストールしたり、ネットワーク上のサーバーからダウンロードしてスイングデータ演算装置２にインストールしたりすることができる。もちろん、制御部２０の機能の少なくとも一部は、例えば、専用処理回路により実現してもよい。また、制御部２０の機能の少なくとも一部は、例えば、ＣＰＵ及び専用処理回路の両方により実現されてもよい。
【００４４】
データ取得部２００は、通信部２１を介してセンサーユニット１から計測データを取得する。データ取得部２００は、例えば、所定サンプリング周期で計測データを取得し、例えばＲＡＭや記憶部２２等の記憶装置に記憶する。
【００４５】
イベント判定部２０１は、計測データに基づいて、スイング動作の開始から終了までの一連のイベント（「リズム」ともいう）を判定する。イベント（リズム）は、例えば、スイングの開始から終了まで順に、バックスイング、トップ、ダウンスイング、インパクト、フォロースルーである。
【００４６】
具体的なイベントの判定手順は、特に限定されないが、例えば下記のような手順を採用することができる。
【００４７】
まず、イベント判定部２０１は、少なくともインパクトの前後の期間、例えばスイングが開始してから終了するまでの期間を含む計測期間内の計測データについて、所定サンプリング周期毎に、各軸回りの角速度の大きさの和（ノルムという）を計算する。また、イベント判定部２０１は、所定サンプリング周期毎に、角速度のノルムを時間で微分してもよい。
【００４８】
ここで、３軸（ｘ軸、ｙ軸、ｚ軸）の軸回りの角速度は、例えば図３（ゴルフクラブに装着されたセンサーから出力される角速度の一例を示す図）に示すようなグラフに表れる。図３では、横軸が時間（ｍｓｅｃ）、縦軸が角速度（ｄｐｓ）である。また、角速度のノルムは、例えば図４（角速度のノルムの一例を示す図）に示すようなグラフに表れる。図４では、横軸が時間（ｍｓｅｃ）、縦軸が角速度のノルムである。また、角速度のノルムの微分は、例えば図５（角速度のノルムの微分の一例を示す図）に示すようなグラフに表れる。図５では、横軸が時間（ｍｓｅｃ）、縦軸が角速度のノルムの微分値である。なお、図３〜図５は、本実施形態を理解し易くするためものであり、正確な値を示しているわけではない。
【００４９】
イベント判定部２０１は、計算した角速度のノルムを用いて、スイングにおけるインパクトのタイミング（クラブヘッドがボールを打つタイミング）を検出する。イベント判定部２０１は、例えば、角速度のノルムが最大となるタイミングをインパクトのタイミングとして検出する（図４のＴ５）。または、イベント判定部２０１は、例えば、計算した角速度のノルムの微分の値が最大となるタイミングと最小となるタイミングのうち、先のタイミングをインパクトのタイミングとして検出するようにしてもよい（図５のＴ５）。
【００５０】
また、イベント判定部２０１は、例えば、インパクトより前で、計算した角速度のノルムが極小となるタイミングをスイングのトップのタイミングとして検出する（図４のＴ３）。また、イベント判定部２０１は、例えば、インパクトより前で角速度のノルムが第１閾値以下の連続した期間をトップ期間（トップでの溜めの期間）として特定する（図４のＴ２〜Ｔ４）。
【００５１】
また、イベント判定部２０１は、例えば、トップより前で、角速度のノルムが第２閾値以下となるタイミングをスイングの開始のタイミングとして検出する（図４のＴ１）。また、イベント判定部２０１は、例えば、スイングの開始のタイミングから、トップのタイミング（又はトップ期間の開始タイミング）までを、バックスイング期間として特定する（図４のＴ１〜Ｔ２、又はＴ１〜Ｔ３）。
【００５２】
また、イベント判定部２０１は、例えば、インパクトより後で、角速度のノルムが極小となるタイミングをスイングの終了（フィニッシュ）のタイミングとして検出する（図４のＴ７）。または、イベント判定部２０１は、例えば、インパクトより後で、角速度のノルムが第３閾値以下となる最初のタイミングをスイングの終了（フィニッシュ）のタイミングとして検出するようにしてもよい。また、イベント判定部２０１は、例えば、インパクトのタイミングより後で且つインパクトのタイミングに接近し、角速度のノルムが第４閾値以下となる連続した期間をフィニッシュ期間として特定する（図４のＴ６〜Ｔ８）。
【００５３】
上記のようにして、イベント判定部２０１は、スイング動作のイベント（リズム）を検出することができる。また、イベント判定部２０１は、スイング中の各期間（例えば、スイング開始からトップ開始までのバックスイング期間、トップ終了からインパクトまでのダウンスイング期間、インパクトからスイング終了までのフォロースルー期間）を特定することができる。なお、イベント判定部２０１は、インパクトに加え、少なくともスイング開始を判定できれば、全てのイベントを判定する必要はない。
【００５４】
上述のイベントの判定手順によれば、ゴルフスイングのようにバックスイングが明確に捉えられる場合は、スイングの開始タイミングを精度よく判定することができる。しかし、例えば野球のように、バックスイングが明確に捉えられない場合には、スイングの開始タイミングを正確に判定することができない。
【００５５】
そこで、制御部２０は、例えば、スポーツの種類に応じた動作モード（例えば、ゴルフモード、野球モードなど）の選択を、操作部２３を介してユーザーＵから受け付ける。そして、イベント判定部２０１は、受け付けた動作モードに応じてイベントの判定手順を切り替える。ゴルフモードが選択された場合、イベント判定部２０１は、上述のように、判定を行う。一方、野球モードが選択された場合は、イベント判定部２０１は、例えば、インパクトのタイミングを判定し、インパクトのタイミングに基づいてトップのタイミング（あるいはトップ期間）を判定し、トップのタイミング（あるいはトップ期間の開始タイミング）をスイングの開始タイミングとして判定する。
【００５６】
このようにすれば、スポーツの種類に応じて、精度よくスイングの開始タイミングを判定することができる。また、野球のようにバックスイングが明確に表れない場合でも、精度よくスイングの開始タイミングを判定することができる。もちろん、スイングデータ演算装置２を特定のスポーツ用に使うことが予定されている場合は、動作モードの選択は不要であり、動作モードを特定のものに固定しておけばよい。
【００５７】
なお、運動器具を素振りする（ボールを打球しないで振る）場合は、インパクトは存在しない。しかし、素振りであっても、素振り動作の回転軸回りの角速度は、素振りが開始されてから仮想的なボールの打球位置まで大きくなり、その後から小さくなると考えられる。従って、素振り動作の回転軸回りの角速度の大きさが最大となるタイミングを、仮想的なインパクトとして扱い、当該仮想的なインパクトのタイミングに基づいて、素振り動作の開始タイミングを判定すればよい。この場合も、例えば素振りモードの選択を受け付け、イベント判定部２０１は素振りモードに応じたイベントの判定手順を実行すればよい。
【００５８】
図２の説明に戻る。基準設定部２０２は、スイング演算部２０３がスイング運動に係るスイングデータを用いて演算を行う際の基準を設定する。
【００５９】
スイング運動を解析するためのスイングデータの演算では、ＸＹＺ座標系（グローバル座標系）におけるセンサーユニット１の位置や姿勢の変化を時系列に計算する。この計算処理では、加速度や角速度の積分演算や回転演算等が行われる。従って、この計算処理の対象の計測データをバイアス補正するための基準値（ゼロ点バイアスともいう）、この計算処理の基点となるセンサーユニット１の初期位置及び初期姿勢が必要である。そこで、基準設定部２０２は、スイング開始後の計測データ（スイングデータ）をバイアス補正するための基準値（ゼロ点バイアス）、スイング運動の基点となるセンサーユニット１の基準位置（初期位置）及び基準姿勢（初期姿勢）を設定する。
【００６０】
ここで、スイング開始前にユーザーが静止する場合には、スイングデータのバイアス補正のための基準値、センサーユニット１の基準位置、及び基準姿勢は、例えば次のような手順で計算することができる。
【００６１】
例えば、図６（ＸＹＺ座標系とゴルフクラブの関係の一例を示す図）に示すように、打球の目標方向を示すターゲットラインをＸ軸、Ｘ軸に垂直な水平面上の軸をＹ軸、鉛直上方向（重力加速度の方向と逆方向）をＺ軸とするＸＹＺ座標系（グローバル座標系）を定義する。
【００６２】
ユーザーＵは所定のアドレス姿勢で静止するので、センサーユニット１の初期位置のＸ座標は０である。さらに、センサーユニット１のｙ軸はゴルフクラブＣのシャフトの長軸方向と一致し、ユーザーＵの静止時には、加速度センサー１２は重力加速度のみを計測するので、基準設定部２０２は、ｙ軸加速度データを用いてシャフトの傾斜角（水平面（ＸＹ平面）あるいは鉛直面（ＸＺ平面）に対する傾き）を計算することができる。そして、基準設定部２０２は、シャフトの傾斜角、クラブ仕様情報（シャフトの長さ）及びセンサー装着位置情報（グリップエンドからの距離など）を用いて、センサーユニット１の初期位置のＹ座標及びＺ座標を計算し、センサーユニット１の初期位置を特定することができる。
【００６３】
また、ユーザーＵの静止時には、加速度センサー１２は重力加速度のみを計測するので、基準設定部２０２は、３軸加速度データを用いて、センサーユニット１のｘ軸、ｙ軸、ｚ軸の各々と重力方向とのなす角度を特定することができる。さらに、ユーザーＵは所定のアドレス姿勢で静止するので、ユーザーＵの静止時において、センサーユニット１のｙ軸はＹＺ平面上にあるため、基準設定部２０２は、センサーユニット１の初期姿勢を特定することができる。
【００６４】
また、ユーザーＵの静止時には、加速度センサー１２は重力加速度のみを計測し、角速度センサー１３は角速度を０として計測する。すなわち、ほぼ一定の値を計測する。従って、基準設定部２０２は、例えばスイング開始直前の１時点の計測データの値を、基準値（ゼロ点バイアス）として設定すればよい。もちろん、スイング開始前の所定期間の計測データの平均値を計算して基準値としてもよい。
【００６５】
一方、スイング開始前にユーザーが静止しない場合には、スイングデータのバイアス補正のための基準値、センサーユニット１の基準位置、及び基準姿勢は、上記のような手順では正確に計算することができない。スイング開始前にユーザーが静止しない場合とは、例えば、ゴルフクラブを構えた状態でヘッドを揺らしたり（ワッグル動作）、野球バットを構えた状態でバットを揺らしたりする場合などである。つまり、スイング開始前にユーザーが静止しない場合とは、構え状態が静止していない場合とも言える。
【００６６】
図７は、スイング開始前にユーザーが静止しない場合の角速度の一例を示す図である。図７は、角速度の時系列変化を示している。スイング開始前にユーザーが静止する場合、スイングの開始のタイミングより前の期間では、角速度はほぼ一定の値を示す。これに対して、スイング開始前にユーザーが静止しない場合、スイングの開始のタイミング（図７のＴ１）より前の期間では、角速度は様々な変化を示す。そのため、上記のような手順では基準を正確に計算することができない。加速度についても同様である。
【００６７】
そこで、本実施形態では、例えば次のような手順を用いる。なお、この手順は、スイング開始前にユーザーが静止する場合にも同様に適用できる。
【００６８】
具体的には、運動器具にセンサーユニット１を装着し、スイング開始前に行われる様々な動作パターン（例えば、ゴルフクラブを構えた状態でヘッドを揺らすワッグル動作、野球バットを構えた状態でバットを揺らす動作など）について、当該動作パターンが行われた際に計測される加速度及び角速度の少なくとも一方の計測データ（例えば、図７のＴ１より前の期間の計測データ）を、事前に収集する。また、収集した計測データのうち所定期間（例えば、図７のＰ）の計測データを抽出し、抽出した計測データの時系列変化パターンを、例えば、関数、値範囲等で表現した特性情報を作成する。図７の例では、例えば、期間Ｐの間の波形データを、１以上の関数で近似し、関数式、波幅、波高、値範囲等を特性情報に含めればよい。また、各動作パターンについて、基準値の設定処理手順、基準位置及び基準姿勢の設定処理手順を、事前に決定する。そして、各動作パターンについて、当該動作パターンの時系列変化パターンの特性情報と、基準値、基準位置、及び基準姿勢の設定処理手順とを対応付けた動作パターン情報を、事前に作成する。動作パターン情報は、例えば、記憶部２２に記憶される。もちろん、動作パターン情報は、例えば、ネットワーク上のストレージに記憶されてもよい。
【００６９】
図８は、動作パターン情報のデータ構造の一例を示す図である。動作パターン情報２２０は、動作パターンごとに、当該動作パターンの時系列変化パターンの特性情報を含む特性２２１と、基準値、基準位置、及び基準姿勢の設定処理手順を含む基準２２２とを対応付けた情報を含む。
【００７０】
特性２２１は、上述したとおり、加速度及び角速度の少なくとも一方の時系列変化パターンを、例えば、関数、値範囲等で特定した情報である。
【００７１】
基準２２２に含まれる基準値（ゼロ点バイアス）の設定処理手順は、例えば、基準値のタイミングを示す情報（例えばスイング開始のタイミングとの時間差）である。または、スイング開始前の所定期間（例えばスイング開始前の時間範囲）を示す情報と、当該所定期間の計測データから基準値を求めるための計算式（例えば平均値を求める計算式）である。または、上述の特性が表れる期間のうちの１時点を示す情報である。または、上述の特性が表れる期間の計測データから基準値を求めるための計算式（例えば平均値を求める計算式）である。
【００７２】
基準２２２に含まれる基準位置の設定処理手順は、例えば、スイング開始前の計測データの時間範囲と、当該時間範囲の計測データから基準位置を推定する計算式である。または、例えば、上述の特性が表れる期間の計測データから基準位置を推定する計算式である。
【００７３】
基準２２２に含まれる基準姿勢の設定処理手順は、例えば、スイング開始前の計測データの時間範囲、当該時間範囲の計測データから基準姿勢を推定する計算式である。または、例えば、上述の特性が表れる期間の計測データから基準姿勢を推定する計算式である。
【００７４】
基準設定部２０２は、イベント判定部２０１により判定されたスイング動作の開始タイミングに基づいて、当該開始タイミング前の所定期間の計測データを取得する。また、基準設定部２０２は、当該所定期間の計測データの時系列変化パターンを、例えば、関数で近似し、関数式、値範囲等の特性を求める。それから、基準設定部２０２は、動作パターン情報２２０を参照し、求めた特性と一致する或いは類似する特性２２１を特定し、当該特性２２１に関連付けられた基準２２２を取得する。すなわち、基準設定部２０２は、スイング開始タイミング前の計測データのパターンマッチングにより、動作パターンを特定する。
【００７５】
それから、基準設定部２０２は、取得した基準２２２に基づいて、基準値、基準位置、及び基準姿勢を設定する。
【００７６】
基準値について、例えば、基準設定部２０２は、スイング開始前の計測データから所定のタイミングの基準値を取得することにより、基準値を設定する。または、例えば、基準設定部２０２は、スイング開始前の計測データから所定期間の計測データを取得して所定の計算を行うことにより、基準値を設定する。または、例えば、基準設定部２０２は、スイング開始前の上述の特性が表れる所定期間の計測データから所定タイミングの基準値を取得することにより、基準値を設定する。または、例えば、基準設定部２０２は、スイング開始前の上述の特性が表れる所定期間の計測データを取得して所定の計算を行うことにより、基準値を設定する。
【００７７】
基準位置について、例えば、基準設定部２０２は、スイング開始前の計測データから所定期間の計測データを取得して所定の計算を行うことにより、基準位置を設定する。または、例えば、基準設定部２０２は、スイング開始前の上述の特性が表れる所定期間の計測データを取得して所定の計算を行うことにより、基準位置を設定する。
【００７８】
基準姿勢について、例えば、基準設定部２０２は、スイング開始前の計測データから所定期間の計測データを取得して所定の計算を行うことにより、基準姿勢を設定する。または、例えば、基準設定部２０２は、スイング開始前の上述の特性が表れる所定期間の計測データを取得して所定の計算を行うことにより、基準姿勢を設定する。
【００７９】
このように、スイング開始前の動作の時系列変化パターンに応じた基準の設定処理を行うことにより、スイング開始前にユーザーが静止しない場合であっても、基準値、基準位置、及び基準姿勢を、精度よく計算することができる。
【００８０】
スイング演算部２０３は、スイング運動に係るスイングデータを用いて演算を行うことにより、ユーザーＵのスイング運動を解析する。
【００８１】
ここで、スイング演算部２０３は、基準設定部２０２により設定された基準値（ゼロ点バイアス）をオフセット量として、スイング開始後の計測データ（スイングデータ）から当該オフセット量を減算してバイアス補正し、バイアス補正されたスイングデータを用いて演算を行い、スイング運動を解析する。
【００８２】
また、スイング演算部２０３は、例えば、基準設定部２０２により設定された基準位置（初期位置）に基づいて、その後の加速度データ（バイアス補正後のスイングデータに含まれる加速度データ）を積分してセンサーユニット１の基準位置からの位置の変化を時系列に計算する。
【００８３】
また、スイング演算部２０３は、例えば、基準設定部２０２により設定された基準姿勢（初期姿勢）に基づいて、その後の角速度データ（バイアス補正後のスイングデータに含まれる角速度データ）を用いた回転演算を行ってセンサーユニット１の基準姿勢からの姿勢の変化を時系列に計算する。
【００８４】
また、スイング演算部２０３は、例えば、身体情報（ユーザーＵの身長（腕の長さ））、クラブ仕様情報（シャフトの長さや重心の位置）、センサー装着位置情報（グリップエンドからの距離）、ゴルフクラブＣの特徴（剛体である等）、人体の特徴（関節の曲がる方向が決まっている等）などを考慮した運動解析モデル（二重振子モデル等）を定義し、この運動解析モデルとセンサーユニット１の位置及び姿勢の情報とを用いて、ユーザーＵのスイングにおけるゴルフクラブＣの軌跡を計算する。
【００８５】
なお、スイング演算部２０３は、例えば、運動解析モデルとセンサーユニット１の位置及び姿勢の情報とを用いて、ヘッドスピード、打球時の入射角（クラブパス）やフェース角、シャフトローテーション（スイング中のフェース角の変化量）、ゴルフクラブＣの減速率などの情報、あるいは、ユーザーＵが複数回のスイングを行った場合のこれら各情報のばらつきの情報等も生成してもよい。
【００８６】
出力処理部２０４は、スイング演算部２０３により解析された解析結果（例えば、ヘッドの軌跡、ヘッドスピート等）を示す画面を生成し、表示部２４に出力して表示させる。出力処理部２０４は、生成した画面を、通信部２６を介して、ＰＣ（Personal Computer）、タブレットＰＣ、スマートフォン、ＨＭＤ（Head Mount Display）などの外部のデバイスに出力して、表示させるようにしてもよい。また、出力処理部２０４は、解析結果を示す音声を生成し、音声出力部２５に出力して音声出力させてもよい。センサーユニット１にＬＥＤ等の発光部、音声出力部、表示部等を設け、出力処理部２０４は、解析結果をセンサーユニット１に出力させてもよい。
【００８７】
また、出力処理部２０４は、スイング解析のための計測データを取得する計測期間の開始の通知を出力、あるいは、スイング動作を促す通知を出力してもよい。例えば、出力処理部２０４は、「計測期間が開始しました」、「スイングを開始してください」などの音声を音声出力部２５に出力させる。出力処理部２０４は、計測期間の開始を知らせる画像や、スイングの開始を促す画像を、表示部２４に表示させてもよい。センサーユニット１にＬＥＤ等の発光部、音声出力部、表示部等を設け、出力処理部２０４は、計測期間の開始の通知やスイングの開始を促す通知を、センサーユニット１に出力させてもよい。ユーザーＵは、上述のような出力を確認後、好きなタイミングで普段どおりスイングを行えばよい。
【００８８】
図９は、スイングデータ演算処理の一例を示すフローチャートである。なお、動作パターン情報２２０は、例えば、記憶部２２、あるいはネットワーク上のストレージに、事前に記憶されている。
【００８９】
まず、データ取得部２００は、センサーユニット１からスイング期間を含む計測期間の計測データを取得する（ステップＳ１０）。
【００９０】
それから、イベント判定部２０１は、ステップＳ１０で取得された計測データに基づいて、スイング動作の開始から終了までの一連のイベントを判定する（ステップＳ２０）。
【００９１】
それから、イベント判定部２０１は、イベントを検出したか否かを判定する（ステップＳ３０）。例えば、イベント判定部２０１は、少なくともインパクト及びスイング開始のタイミングを判定できた場合に、イベントを検出したと判定する。イベントを検出しなかったと判定した場合（ステップＳ３０でＮ）、イベント判定部２０１は、図９に示すフローチャートの処理を終了する。
【００９２】
イベントを検出したと判定された場合（ステップＳ３０でＹ）、基準設定部２０２は、スイング開始のタイミング前の所定期間の計測データに基づいて、当該計測データの時系列変化パターンの特性を特定する（ステップＳ４０）。
【００９３】
それから、基準設定部２０２は、ステップＳ４０で特定した特性に応じた基準を設定する（ステップＳ５０）。例えば、基準設定部２０２は、動作パターン情報２２０を参照し、ステップＳ４０で特定した特性と一致する或いは類似する特性２２１を特定し、当該特性２２１に関連付けられた基準２２２を取得する。また、基準設定部２０２は、取得した基準２２２に基づいて、基準値、基準位置、及び基準姿勢を設定する。
【００９４】
それから、スイング演算部２０３は、ステップＳ５０で設定された基準（基準値、基準位置、及び基準姿勢）に基づいて、スイング開始後の計測データ（スイングデータ）を用いて演算を行う（ステップＳ６０）。例えば、スイング演算部２０３は、設定された基準値（ゼロ点バイアス）をオフセット量として、スイングデータから当該オフセット量を減算してバイアス補正を行う。また、例えば、スイング演算部２０３は、設定された基準位置（初期位置）に基づいて、その後の加速度データ（バイアス補正後のスイングデータに含まれる加速度データ）を積分してセンサーユニット１の基準位置からの位置の変化を時系列に計算する。また、例えば、スイング演算部２０３は、設定された基準姿勢（初期姿勢）に基づいて、その後の角速度データ（バイアス補正後のスイングデータに含まれる角速度データ）を用いた回転演算を行ってセンサーユニット１の基準姿勢からの姿勢の変化を時系列に計算する。スイングデータを用いて演算を行った後、スイング演算部２０３は、図９に示すフローチャートの処理を終了する。
【００９５】
以上、本発明の一実施形態について説明した。本実施形態によれば、スイング開始前にユーザーの動作を静止させなくてもスイング解析を行うことができる。
【００９６】
例えば、本実施形態では、スイングデータ演算装置２は、計測データからスイングに係る期間を判定し、当該期間の開始前の計測データに基づいて、スイング開始後のスイングデータを用いた演算のための基準を設定し、この基準に基づいてスイングデータの演算を行う。これにより、スイング開始前にユーザーが動作を静止しない場合であっても、精度よくスイング解析を行うことができる。
【００９７】
また、例えば、本実施形態では、スイングデータ演算装置２は、スイング開始前の所定期間の計測データの特性を特定し、当該特性に応じた基準を設定する。これにより、スイング開始前のユーザーの動きが毎回異なる場合でも、精度よく基準を設定することができる。
【００９８】
また、例えば、本実施形態では、スイングデータ演算装置２は、スイング開始前の所定期間の計測データの特性に応じて、バイアス補正のための基準値を設定する。これにより、スイング開始前のユーザーの動きが毎回異なる場合でも、その動きに応じた計測誤差成分を低減して、精度よくスイング解析を行うことができる。また、例えば、所定期間の計測データの平均値、又は、特性が表れる期間の計測データの平均値を、基準値として設定することにより、個々のスイングの基準値のばらつきを低減することができる。
【００９９】
また、例えば、本実施形態では、スイングデータ演算装置２は、スイング開始前の所定期間の計測データの特性に応じて、スイング解析計算の基点（スイング運動の基点）となる基準位置を設定する。これにより、スイング開始前のユーザーの動きが毎回異なる場合でも、その動きに応じた基準位置を設定して、精度よくスイング解析を行うことができる。
【０１００】
また、例えば、本実施形態では、スイングデータ演算装置２は、スイング開始前の所定期間の計測データの特性に応じて、スイング解析計算の基点（スイング運動の基点）となる基準姿勢を設定する。これにより、スイング開始前のユーザーの動きが毎回異なる場合でも、その動きに応じた基準姿勢を設定して、精度よくスイング解析を行うことができる。
【０１０１】
また、例えば、本実施形態では、スイングデータ演算装置２は、角速度センサーの出力に基づいてスイング動作を検出する。これにより、簡単なシステム構成で、スイング開始のタイミングを特定するとともにスイング開始前の所定期間の計測データを特定することができる。
【０１０２】
また、例えば、本実施形態では、スイングデータ演算装置２は、角速度のノルムの値が通常は最も大きく表れるインパクトのタイミングを最初に判定し、このタイミングに基づいてスイング開始タイミング等の他のイベントを判定する。これにより、より正確にスイング開始タイミングを判定することができる。
【０１０３】
また、例えば、本実施形態では、スイングデータ演算装置２は、ユーザーに対して、計測期間の開始の通知やスイングの開始を促す通知を出力する。これにより、ユーザーは、スイングするタイミングを知ることができるとともに、特別に静止することなく普段どおりスイングをすることができる。
【０１０４】
本発明は、上述の各実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。例えば、上記の各実施形態には、下記のような変形を加えてもよい。また、各実施形態及び各変形例は、適宜２つ以上を組み合わせてもよい。
【０１０５】
例えば、上記の実施形態では、イベント判定部２０１は、角速度に基づいてイベントを判定しているが、角速度に替えて加速度により、あるいは、角速度と加速度の両方に基づいてイベントを判定してもよい。
【０１０６】
また、上述の各実施形態において、データ取得部２００、イベント判定部２０１、基準設定部２０２、スイング演算部２０３、及び出力処理部２０４の少なくとも一部の機能は、センサーユニット１の制御部１０で実現するようにしてもよい。また、センサーユニット１に表示部、音声出力部、発光部等の出力部を設けるようにしてもよい。
【０１０７】
なお、図２で示したスイングデータ演算システムの構成は、スイングデータ演算システムの構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。スイングデータ演算システムの構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、各構成要素の処理又は機能の分担は、本発明の目的及び効果を達成できるのであれば、上述したものに限られない。例えば、上記実施形態では、センサーユニット１とスイングデータ演算装置２とを別体として説明したが、センサーユニット１にスイングデータ演算装置２の機能を搭載してもよいし、その逆であってもよい。
【０１０８】
また、図９で示したフローチャートの処理単位は、スイングデータ演算装置２の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。スイングデータ演算装置２の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。さらに、上記のフローチャートの処理順序も、図示した例に限られるものではない。
【０１０９】
本発明は、例示したゴルフ、野球に限られず、テニス、バドミントン等の、運動器具をスイングする運動に適用できる。
【符号の説明】
【０１１０】
１：センサーユニット、２：スイングデータ演算装置、１０：制御部、１１：通信部、１２：加速度センサー、１３：角速度センサー、２０：制御部、２１：通信部、２２：記憶部、２３：操作部、２４：表示部、２５：音声出力部、２６：通信部、２００：データ取得部、２０１：イベント判定部、２０２：基準設定部、２０３：スイング演算部、２０４：出力処理部、２２０：動作パターン情報、２２１：特性、２２２：基準、Ｃ：ゴルフクラブ、Ｐ：期間、Ｕ：ユーザー
【図１】
2017012586.tif 000003
【図２】
2017012586.tif 000004
【図３】
2017012586.tif 000005
【図４】
2017012586.tif 000006
【図５】
2017012586.tif 000007
【図６】
2017012586.tif 000008
【図７】
2017012586.tif 000009
【図８】
2017012586.tif 000010
【図９】
2017012586.tif 000011