以下、本発明の実施形態について、図面を参照して説明する。以下では、ゴルフスイングの解析を行う運動解析システムを例に挙げて説明する。
図1は、本発明の実施形態に係る運動解析システムの概要を示す図である。
運動解析システム1は、センサーユニット10と、運動解析装置20とを備える。
センサーユニット10は、慣性センサーとして、3軸の各軸方向に生じる加速度と3軸の各軸回りに生じる角速度を計測可能であり、運動器具としてのゴルフクラブ3に装着される。センサーユニット10は、例えば、3つの検出軸(x軸,y軸,z軸)のうちの1軸、例えばy軸をシャフトの長軸方向に合わせて、ゴルフクラブ3のシャフトの一部に取り付けられる。望ましくは、センサーユニット10は、ショット時の衝撃が伝わりにくく、スイング時に遠心力がかからないグリップ部に近い位置に取り付けられる。シャフトは、ゴルフクラブ3のヘッドを除いた柄の部分であり、グリップ部も含まれる。
ユーザー2は、予め決められた手順に従って、ゴルフボール(図示せず)を打つスイング動作を行う。例えば、ユーザー2は、まず、ゴルフクラブ3を握って、ゴルフクラブ3のシャフトの長軸がターゲットライン(例えば、打球の目標方向)に対して垂直となるようにアドレスの姿勢をとり、所定時間以上(例えば、1秒以上)静止する。次に、ユーザー2は、スイング動作を行い、ゴルフボールを打って飛ばす(ショットあるいはストロークともいう)。なお、本明細書におけるアドレス姿勢とは、スイングを開始する前のユーザーの静止状態の姿勢、またはスイングを開始する前にユーザーが運動器具を揺動(ワッグルなどとも呼ばれる)させている状態の姿勢を含む。また、ターゲットラインとは、任意の打球方向を指し、本実施形態では一例として打球の目標方向と定めている。
ユーザー2が上述の手順に従ってゴルフボールを打つ動作を行う間、センサーユニット10は、所定周期(例えば1ms)で3軸加速度と3軸角速度を計測し、計測したデータを順次、運動解析装置20に送信する。センサーユニット10は、計測したデータをすぐに送信してもよいし、計測したデータを内部メモリーに記憶しておき、ユーザー2のスイング動作の終了後などの所望のタイミングで計測データを送信するようにしてもよい。センサーユニット10と運動解析装置20との間の通信は、無線通信でもよいし、有線通信でもよい。あるいは、センサーユニット10は、計測したデータをメモリーカード等の着脱可能な記録媒体に記憶しておき、運動解析装置20は、当該記録媒体から計測データを読み出すようにしてもよい。
運動解析装置20は、センサーユニット10が計測したデータを用いて、ユーザー2のゴルフクラブ3を用いたスイング運動を解析する。特に、本実施形態では、運動解析装置20は、センサーユニット10が計測したデータを用いて、ユーザー2の静止時(アドレス時)におけるシャフトプレーン(本発明の第1仮想平面あるいは第1軸に相当する)とホーガンプレーン(本発明の第2仮想平面あるいは第2軸に相当する)を特定する。また、運動解析装置20は、ユーザー2がスイング動作を開始した後、スイングにおけるゴルフクラブ3の軌跡を計算する。また、運動解析装置20は、ユーザー2のスイングにおけるゴルフクラブ3の軌跡、シャフトプレーン及びホーガンプレーンを含む画像データを生成し、当該画像データに応じた画像を表示部に表示させる。なお、シャフトプレーン及びホーガンプレーンが表示されることで、シャフトプレーンとホーガンプレーンとの間のVゾーンと呼ばれる空間を認識することができる。運動解析装置20は、例えば、スマートフォンなどの携帯機器やパーソナルコンピューター(PC:Personal Computer)であってもよい。図1では、運動解析装置20はユーザー2の腰に装着されているが、装着位置は特に限定されず、また運動解析装置20はユーザー2に装着されていなくてもよい。
図2は、シャフトプレーン及びホーガンプレーンの一例を説明する図である。本実施形態では、打球の目標方向を示すターゲットラインをX軸、X軸に垂直な水平面上の軸をY軸、鉛直上方向(重力加速度の方向と逆方向)をZ軸とするXYZ座標系(グローバル座標系)を定義し、図2にはX軸,Y軸,Z軸が表記されている。
ここで、ユーザー2のアドレス時のシャフトプレーン30は、ゴルフクラブ3のシャフトの長軸方向に沿った第1軸としての第1線分51と、打球の目標方向を表す第3軸としての第3線分52と、を含み、T1,T2,S1,S2を4つの頂点とする仮想平面である。本実施形態では、ゴルフクラブ3のヘッド(打撃部)の位置61をXYZ座標系の原点O(0,0,0)とし、第1線分51は、ゴルフクラブ3のヘッドの位置61(原点O)とグリップエンドの位置62とを結ぶ線分である。また、第3線分52は、X軸上のT1,T2を両端として原点Oを中点とする長さTLの線分である。ユーザー2がアドレス時に上述したアドレス姿勢をとることでゴルフクラブ3のシャフトがターゲットライン(X軸)に対して垂直となるので、第3線分52は、ゴルフクラブ3のシャフトの長軸方向と直交する線分(ボールが当たるヘッドの打撃面と直交あるいは交差する線分とも言える)、すなわち第1線分51と直交する線分である。XYZ座標系における4つの頂点T1,T2,S1,S2の各座標を算出することによりシャフトプレーン30が特定される。T1,T2,S1,S2の各座標の算出方法については、後に詳述する。
また、ホーガンプレーン40は、第3線分52と、第2軸としての第2線分53と、を含み、T1,T2,H1,H2を4つの頂点とする仮想平面である。本実施形態では、第2線分53は、例えば、ユーザー2の両肩を結ぶ線分上の所定位置63(例えば、首の付け根の位置や左右いずれかの肩の位置など)とゴルフクラブ3のヘッド(打撃部)の位置62(打撃位置の一例)とを結ぶ線分である。ただし、第2線分53は、例えば、所定位置63とアドレス時のボールの位置(打撃位置の一例)とを結ぶ線分であってもよい。XYZ座標系における4つの頂点T1,T2,H1,H2の各座標を算出することによりホーガンプレーン40が特定される。T1,T2,H1,H2の各座標の算出方法については、後に詳述する。
図3は、運動解析システムの構成の一例を示すブロック図である。
センサーユニット10は、制御部11、通信部12、加速度センサー13、及び角速度センサー14を有する。
加速度センサー13は、互いに交差する(理想的には直交する)3軸方向の各々に生じる加速度を計測し、計測した3軸加速度の大きさ及び向きに応じたデジタル信号(加速度データ)を出力する。
角速度センサー14は、互いに交差する(理想的には直交する)3軸の各々の軸回りに生じる角速度を計測し、計測した3軸角速度の大きさ及び向きに応じたデジタル信号(角速度データ)を出力する。
制御部11は、センサーユニットを統合的に制御する。制御部11は、加速度センサー13と角速度センサー14から、それぞれ加速度データと角速度データを受け取って時刻情報を付して記憶部(図示せず)に記憶する。また、制御部11は、記憶した計測データ(加速度データと角速度データ)に時刻情報を付して通信用のフォーマットに合わせたパケットデータを生成し、通信部12に出力する。
加速度センサー13及び角速度センサー14は、それぞれ3軸が、センサーユニット10に対して定義される直交座標系(センサー座標系)の3軸(x軸、y軸、z軸)と一致するようにセンサーユニット10に取り付けられるのが理想的だが、実際には取り付け角の誤差が生じる。そこで、制御部11は、取り付け角誤差に応じてあらかじめ算出された補正パラメーターを用いて、加速度データ及び角速度データをxyz座標系のデータに変換する処理を行う。
さらに、制御部11は、加速度センサー13及び角速度センサー14の温度補正処理を行ってもよい。あるいは、加速度センサー13及び角速度センサー14に温度補正の機能が組み込まれていてもよい。
なお、加速度センサー13と角速度センサー14は、アナログ信号を出力するものであってもよく、この場合は、制御部11が、加速度センサー13の出力信号と角速度センサー14の出力信号をそれぞれA/D(アナログ/デジタル)変換して計測データ(加速度データと角速度データ)を生成し、これらを用いて通信用のパケットデータを生成すればよい。
通信部12は、制御部11から受け取ったパケットデータを運動解析装置20に送信する処理や、運動解析装置20から制御コマンドを受信して制御部11に送る処理等を行う。制御部11は、制御コマンドに応じた各種処理を行う。
運動解析装置20は、制御部21、通信部22、操作部23、記憶部24、表示部25、及び音声出力部26を有する。
通信部22は、センサーユニット10から送信されたパケットデータを受信し、制御部21に送る処理や、制御部21からの制御コマンドをセンサーユニット10に送信する処理等を行う。
操作部23は、ユーザーからの操作データを取得し、制御部21に送る処理を行う。操作部23は、例えば、タッチパネル型ディスプレイ、ボタン、キー、マイクなどであってもよい。
記憶部24は、例えば、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の各種ICメモリーやハードディスクやメモリーカードなどの記録媒体等により構成される。
記憶部24は、制御部21が各種の計算処理や制御処理を行うためのプログラムや、アプリケーション機能を実現するための各種プログラムやデータ等を記憶している。特に、本実施形態では、記憶部24には、制御部21によって読み出され、運動解析処理を実行するための運動解析プログラムが記憶されている。運動解析プログラムは、あらかじめ不揮発性の記録媒体に記憶されていてもよいし、制御部21がネットワークを介してサーバーから運動解析プログラムを受信して記憶部24に記憶させてもよい。
また、本実施形態では、記憶部24には、ユーザー2の身体情報、ゴルフクラブ3の仕様を表すクラブ仕様情報、及びセンサー装着位置情報が記憶される。例えば、ユーザー2が操作部23を操作して身長、体重、性別などの身体情報を入力し、入力された身体情報が身体情報として記憶部24に記憶される。また、例えば、ユーザー2が操作部23を操作して使用するゴルフクラブ3の型番を入力(あるいは、型番リストから選択)し、記憶部24にあらかじめ記憶されている型番毎の仕様情報(例えば、シャフトの長さ、重心の位置、ライ角、フェース角、ロフト角等の情報など)のうち、入力された型番の仕様情報をクラブ仕様情報とする。また、例えば、ユーザー2が操作部23を操作してセンサーユニット10の装着位置とゴルフクラブ3のグリップエンドとの間の距離を入力し、入力された距離の情報がセンサー装着位置情報として記憶部24に記憶される。あるいは、センサーユニット10を決められた所定位置(例えば、グリップエンドから20cmの距離など)に装着するものとして、当該所定位置の情報がセンサー装着位置情報としてあらかじめ記憶されていてもよい。
また、記憶部24は、制御部21の作業領域として用いられ、操作部23から入力されたデータ、制御部21が各種プログラムに従って実行した演算結果等を一時的に記憶する。さらに、記憶部24は、制御部21の処理により生成されたデータのうち、長期的な保存が必要なデータを記憶してもよい。
表示部25は、制御部21の処理結果を文字、グラフ、表、アニメーション、その他の画像として表示するものである。表示部25は、例えば、CRT(Cathode-Ray Tube)ディスプレイ、LCD(Liquid Crystal Display)、EPD(Electrophoretic Display)、有機発光ダイオード(OLED)を用いたディスプレイ、タッチパネル型ディスプレイ、HMD(ヘッドマウントディスプレイ)などであってもよい。なお、1つのタッチパネル型ディスプレイで操作部23と表示部25の機能を実現するようにしてもよい。
音声出力部26は、制御部21の処理結果を音声やブザー音等の音として出力するものである。音声出力部26は、例えば、スピーカーやブザーなどであってもよい。
制御部21は、各種プログラムに従って、センサーユニット10に制御コマンドを送信する処理や、センサーユニット10から通信部22を介して受信したデータに対する各種の計算処理や、その他の各種の制御処理を行う。特に、本実施形態では、制御部21は、運動解析プログラムを実行することにより、センサー情報取得部210、第1仮想平面特定部(本発明の第1特定部に相当する)211、第2仮想平面特定部(本発明の第2特定部に相当する)212、仮想平面調整部(本発明の調整部に相当する)213、運動解析部214、画像生成部215、及び出力処理部216として機能する。なお、第1特定部と第2特定部は、個別の演算手段で実現してもよいし、同じ演算手段で実現してもよい。
制御部21は、例えば、演算装置であるCPU(Central Processing Unit)、揮発性の記憶装置であるRAM(Random Access Memory)、不揮発性の記憶装置であるROM、制御部21と他のユニットを接続するインターフェイス(I/F)回路、これらを互いに接続するバス、などを備えるコンピューターにより実現してもよい。コンピューターは、画像処理回路など各種の専用処理回路を備えていてもよい。また、制御部21は、ASIC(Application Specific Integrated Circuit)などにより実現されてもよい。
センサー情報取得部210は、通信部22がセンサーユニット10から受信したパケットデータを受け取り、受け取ったパケットデータから時刻情報及び計測データを取得する。また、センサー情報取得部210は、取得した時刻情報と計測データを対応づけて記憶部24に記憶させる。
第1仮想平面特定部211は、センサーユニット10が出力する計測データを用いて、ユーザーの静止時における、ゴルフクラブ3のシャフトの長軸方向に沿った第1線分51を特定する処理を行う。さらに、第1仮想平面特定部211は、第1線分51と、打球の目標方向を表す第3線分52と、を含むシャフトプレーン(第1仮想平面)30(図2参照)を特定する処理を行う。
第1仮想平面特定部211は、センサーユニット10が出力する計測データを用いて、ゴルフクラブ3のグリップエンドの位置62の座標を計算し、グリップエンドの位置62の座標により第1線分51を特定してもよい。例えば、第1仮想平面特定部211は、ユーザー2の静止時(アドレス時)における加速度センサー13が計測した加速度データを用いてゴルフクラブ3のシャフトの傾斜角(水平面(XY平面)あるいは鉛直面(XZ平面)に対する傾き)を計算し、計算した傾斜角とクラブ仕様情報に含まれるシャフトの長さの情報とを用いて、第1線分51を特定してもよい。
また、第1仮想平面特定部211は、第1線分51の長さと身体情報に基づくユーザー2の腕の長さとを用いて、シャフトプレーン30の幅を計算してもよい。
第2仮想平面特定部212は、打球の目標方向(第3線分52)を回転軸として、第1仮想平面特定部211が特定した第1線分51に対して所定角度を成す第2線分53を特定する処理を行う。さらに、第2仮想平面特定部212は、第2線分53と、第3線分52と、を含むホーガンプレーン(第2仮想平面)40(図2参照)を特定する処理を行う。
例えば、第2仮想平面特定部212は、センサーユニット10が出力する計測データと身体情報とを用いて、ユーザー2の静止時におけるユーザー2の頭部と胸部の間(例えば、両肩を結ぶ線分上)の所定位置63を推定し、推定した所定位置63とゴルフクラブ3のヘッド(打撃部)の位置62とを結ぶ第2線分53を特定する処理を行う。そして、第2仮想平面特定部212は、第2線分53と、第3線分52と、を含むホーガンプレーン40を特定する処理を行う。
第2仮想平面特定部212は、第1仮想平面特定部211が計算したグリップエンドの位置62の座標と、身体情報に基づくユーザー2の腕の長さとを用いて、所定位置63を推定してもよい。あるいは、第2仮想平面特定部212が、センサーユニット10が出力する計測データを用いて、ゴルフクラブ3のグリップエンドの位置62の座標を計算してもよい。この場合は、第1仮想平面特定部211は、第2仮想平面特定部212が計算したグリップエンドの位置62の座標を用いて、シャフトプレーン30を特定してもよい。
また、第2仮想平面特定部212は、第1線分51の長さと身体情報に基づくユーザー2の腕の長さとを用いて、ホーガンプレーン40の幅を計算してもよい。
仮想平面調整部213は、所定条件に応じて、第1軸としての第1線分51の角度(シャフトプレーンの角度)及び第2軸としての第2線分53の角度(ホーガンプレーンの角度)を調整する。
例えば、仮想平面調整部213は、ユーザー2から操作部23を介して、所定条件としてスイングタイプ(例えば、ストレート、フック、スライスなど)の指定を受け付け、指定されたスイングタイプに応じて、第1線分51の角度及び第2線分53の角度を、水平面に対して大きく又は小さくする。本実施形態では、仮想平面調整部213は、第1線分51の角度及び第2線分53が成す所定角度θを一定に保ったまま、第1線分51の角度及び第2線分53の角度を大きく又は小さくする。すなわち、仮想平面調整部213は、打球の目標方向(第3線分52)を回転軸として、Vゾーンを時計回り又は反時計回りに回転させる。
一般的に、ダウンスイング時のゴルフクラブの軌跡が、Vゾーンに入っていればストレート系の打球になり、Vゾーンからホーガンプレーン側に外れていればスライス系の打球になり、Vゾーンがシャフトプレーン側に外れていればフック系の打球になるという傾向が知られている。しかし、ゴルファーによっては、例えばスライス系のスイングを行えている場合が調子の良い状態であることも考えられる。従って、この調子の良い状態で、ダウンスイングの軌跡がVゾーンに入るようにVゾーンの表示位置を調整できれば、ゴルファーのスイングタイプを考慮しながら簡単にスイングの良し悪しを評価することができる。そこで、本実施形態では、上述のようなVゾーンの位置調整を行えるようにしている。
また、例えば、仮想平面調整部213は、ユーザー2から操作部23を介して、所定条件としてスキルレベル(例えば、初級、中級、上級など)の指定を受け付け、指定されたスキルレベルに応じて、第1線分51の角度を小さくかつ第2線分53の角度を大きくする(第1線分51と第2線分53を遠ざける)、又は、第1線分51の角度を大きくかつ第2線分53の角度を小さくする(第1線分51と第2線分53を近付ける)。すなわち、仮想平面調整部213は、打球の目標方向(第3線分52)を回転軸として、第1線分51の角度及び第2線分53が成す所定角度θを大きく又は小さくする。
一般的に、ゴルフのスキルレベルが低いほど、ダウンスイング時のゴルフクラブの軌跡がVゾーンに入らないスイングが多く、また、その軌跡のばらつきが大きい傾向にあり、スイングが安定していない。しかし、初級者の場合、上述のようにクラブの傾き等に基づいて特定されるVゾーンの広さを基準とすると、例えばほとんどのスイングが悪いと評価され、スイングが上達しているか否かを見極めにくいことがある。逆に、上級者の場合、上述のように特定されるVゾーンの広さを基準とすると、例えばほとんどのスイングが良いと評価され、スイングが安定あるいはさらに上達しているか否かを見極めにくいことがある。従って、このような場合に、Vゾーンの広さ調整をできれば、より正確にスイングの安定や上達を評価することができる。そこで、本実施形態では、上述のようなVゾーンの広さ調整を行えるようにしている。
運動解析部214は、センサーユニット10が出力する計測データを用いて、ユーザー2のスイング運動を解析する処理を行う。具体的には、運動解析部214は、まず、記憶部24に記憶された、ユーザー2の静止時(アドレス時)の計測データ(加速度データ及び角速度データ)を用いて、計測データに含まれるオフセット量を計算する。次に、運動解析部214は、記憶部24に記憶された、スイング開始後の計測データからオフセット量を減算してバイアス補正し、バイアス補正された計測データを用いて、ユーザー2のスイング動作中のセンサーユニット10の位置及び姿勢を計算する。
例えば、運動解析部214は、加速度センサー13が計測した加速度データ、クラブ仕様情報及びセンサー装着位置情報を用いて、XYZ座標系(グローバル座標系)におけるユーザー2の静止時(アドレス時)のセンサーユニット10の位置(初期位置)を計算し、その後の加速度データを積分してセンサーユニット10の初期位置からの位置の変化を時系列に計算する。ユーザー2は所定のアドレス姿勢で静止するので、センサーユニット10の初期位置のX座標は0である。さらに、センサーユニット10のy軸はゴルフクラブ3のシャフトの長軸方向と一致し、ユーザー2の静止時には、加速度センサー13は重力加速度のみを計測するので、運動解析部214は、y軸加速度データを用いてシャフトの傾斜角(水平面(XY平面)あるいは鉛直面(XZ平面)に対する傾き)を計算することができる。そして、運動解析部214は、シャフトの傾斜角、クラブ仕様情報(シャフトの長さ)及びセンサー装着位置情報(グリップエンドからの距離)を用いて、センサーユニット10の初期位置のY座標及びZ座標を計算し、センサーユニット10の初期位置を特定することができる。あるいは、運動解析部214は、第1仮想平面特定部211又は第2仮想平面特定部212が計算したゴルフクラブ3のグリップエンドの位置62の座標とセンサー装着位置情報(グリップエンドからの距離)を用いて、センサーユニット10の初期位置の座標を計算してもよい。
また、運動解析部214は、加速度センサー13が計測した加速度データを用いて、XYZ座標系(グローバル座標系)におけるユーザー2の静止時(アドレス時)のセンサーユニット10の姿勢(初期姿勢)を計算し、その後の角速度センサー14が計測した角速度データを用いた回転演算を行ってセンサーユニット10の初期姿勢からの姿勢の変化を時系列に計算する。センサーユニット10の姿勢は、例えば、X軸、Y軸、Z軸回りの回転角(ロール角、ピッチ角、ヨー角)、オイラー角、クオータ二オン(四元数)などで表現することができる。ユーザー2の静止時には、加速度センサー13は重力加速度のみを計測するので、運動解析部214は、3軸加速度データを用いて、センサーユニット10のx軸、y軸、z軸の各々と重力方向とのなす角度を特定することができる。さらに、ユーザー2は所定のアドレス姿勢で静止するので、ユーザー2の静止時において、センサーユニット10のy軸はYZ平面上にあるため、運動解析部214は、センサーユニット10の初期姿勢を特定することができる。
なお、センサーユニット10の制御部11が、計測データのオフセット量を計算し、計測データのバイアス補正を行うようにしてもよいし、加速度センサー13及び角速度センサー14にバイアス補正の機能が組み込まれていてもよい。これらの場合は、運動解析部214による計測データのバイアス補正が不要となる。
また、運動解析部214は、身体情報(ユーザー2の身長(腕の長さ))、クラブ仕様情報(シャフトの長さや重心の位置)、センサー装着位置情報(グリップエンドからの距離)、ゴルフクラブ3の特徴(剛体である等)、人体の特徴(関節の曲がる方向が決まっている等)などを考慮した運動解析モデル(二重振子モデル等)を定義し、この運動解析モデルとセンサーユニット10の位置及び姿勢の情報とを用いて、ユーザー2のスイングにおけるゴルフクラブ3の軌跡を計算する。
また、運動解析部214は、記憶部24に記憶された時刻情報と計測データを用いて、ユーザー2のスイングの開始から終了までの一連の動作(「リズム」ともいう)、例えば、スイングの開始から、バックスイング、トップ、ダウンスイング、インパクト、フォロースルー、スイングの終了までを検出する。例えば、運動解析部214は、センサーユニット10が出力する計測データ(加速度データ又は角速度データ)の合成値を計算し、当該合成値に基づいてユーザー2がインパクトのタイミング(時刻)を特定する。
さらに、運動解析部214は、運動解析モデルとセンサーユニット10の位置及び姿勢の情報とを用いて、バックスイングからフォロースルーまでのスイングのリズム、ヘッドスピード、打球時の入射角(クラブパス)やフェース角、シャフトローテーション(スイング中のフェース角の変化量)、ゴルフクラブ3の減速率などの情報、あるいは、ユーザー2が複数回のスイングを行った場合のこれら各情報のばらつきの情報等も生成してもよい。
画像生成部215は、表示部25に表示される運動解析結果の画像に対応する画像データを生成する処理を行う。特に、本実施形態では、画像生成部215は、第1仮想平面特定部211が特定したシャフトプレーン30と、第2仮想平面特定部212が特定したホーガンプレーン40と、運動解析部214が計算したユーザー2のスイング(特に、ダウンスイング)におけるゴルフクラブ3の軌跡と、を含む画像データを生成する。例えば、画像生成部215は、図2に示したT1,T2,S1,S2の各座標の情報をもとに、T1,T2,S1,S2を4つの頂点とするシャフトプレーン30のポリゴンデータを生成し、T1,T2,H1,H2の各座標の情報をもとに、T1,T2,H1,H2を4つの頂点とするホーガンプレーン40のポリゴンデータを生成する。また、画像生成部215は、ユーザー2のダウンスイング時のゴルフクラブ3の軌跡を表す曲線データを生成する。そして、画像生成部215は、シャフトプレーン30のポリゴンデータ、ホーガンプレーン40のポリゴンデータ及びゴルフクラブ3の軌跡を表す曲線データを含む画像データを生成する。
なお、第1仮想平面特定部211、第2仮想平面特定部212、仮想平面調整部213、運動解析部214、及び画像生成部215は、算出した各種の情報等を記憶部24に記憶させる処理も行う。
出力処理部216は、表示部25に対して各種の画像(画像生成部215が生成した画像データに対応する画像の他、文字や記号等も含む)を表示させる処理を行う。例えば、出力処理部216は、ユーザー2のスイング運動が終了した後、自動的に、あるいは、ユーザー2の入力操作に応じて画像生成部215が生成した画像データに対応する画像を表示部25に表示させる。あるいは、センサーユニット10に表示部を設けておいて、出力処理部216は、通信部22を介してセンサーユニット10に画像データを送信し、センサーユニット10の表示部に各種の画像を表示させてもよい。
また、出力処理部216は、音声出力部26に対して各種の音(音声やブザー音等も含む)を出力させる処理を行う。例えば、出力処理部216は、ユーザー2のスイング運動が終了した後、自動的に、あるいは、所定の入力操作が行われたときに、記憶部24に記憶されている各種の情報を読み出して音声出力部26に運動解析用の音や音声を出力させてもよい。あるいは、センサーユニット10に音声出力部を設けておいて、出力処理部216は、通信部22を介してセンサーユニット10に各種の音データや音声データを送信し、センサーユニット10の音声出力部に各種の音や音声を出力させてもよい。
なお、運動解析装置20あるいはセンサーユニット10に振動機構を設けておいて、当該振動機構により各種の情報を振動情報に変換してユーザー2に提示してもよい。
図4は、運動解析処理の一例を示すフローチャートである。制御部21は、記憶部24に記憶されている運動解析プログラムを実行することにより、図4に示すフローチャートの手順で運動解析処理を実行する。
まず、センサー情報取得部210は、センサーユニット10の計測データを取得する(ステップS10)。なお、制御部21は、ユーザー2のスイング運動(静止動作も含む)における最初の計測データを取得するとリアルタイムにステップS20以降の処理を行ってもよいし、センサーユニット10からユーザー2のスイング運動における一連の計測データの一部又は全部を取得した後に、ステップS20以降の処理を行ってもよい。
次に、運動解析部214は、センサーユニット10から取得した計測データを用いてユーザー2の静止動作(アドレス動作)を検出する(ステップS20)。なお、制御部21は、リアルタイムに処理を行う場合は、静止動作(アドレス動作)を検出した場合に、例えば、所定の画像や音を出力し、あるいは、センサーユニット10にLED(Light Emitting Diode)等の発光部を設けておいて当該発光部を点灯させる等して、ユーザー2に静止状態を検出したことを通知し、ユーザー2は、この通知を確認した後にスイングを開始してもよい。
次に、第1仮想平面特定部211は、センサーユニット10から取得した計測データ(ユーザー2の静止動作(アドレス動作)における計測データ)とクラブ仕様情報とを用いて、シャフトプレーン30(第1仮想平面)を特定する(ステップS30)。
次に、第2仮想平面特定部212は、センサーユニット10から取得した計測データ(ユーザー2の静止動作(アドレス動作)における計測データ)と身体情報とを用いて、ホーガンプレーン40(第2仮想平面)を特定する(ステップS40)。
次に、運動解析部214は、センサーユニット10から取得した計測データ(ユーザー2の静止動作(アドレス動作)における計測データ)を用いて、センサーユニット10の初期位置と初期姿勢を計算する(ステップS50)。
次に、運動解析部214は、センサーユニット10から取得した計測データを用いて、スイングの開始から終了までの一連の動作(リズム)を検出する(ステップS60)。
また、運動解析部214は、ステップS60の処理と並行して、ユーザー2のスイング動作中のセンサーユニット10の位置と姿勢を計算する(ステップS70)。
次に、運動解析部214は、ステップS60で検出したリズムと、ステップS70で計算したセンサーユニット10の位置及び姿勢とを用いて、ユーザー2のスイング動作中のゴルフクラブ3の軌跡を計算する(ステップS80)。
次に、仮想平面調整部213は、設定(所定条件)に応じて、第1軸としての第1線分51の角度(シャフトプレーンの角度)及び第2軸としての第2線分53の角度(ホーガンプレーンの角度)を調整する、すなわちVゾーンを調整する(ステップS90)。
次に、画像生成部215は、ステップS30で特定されたシャフトプレーン及びステップS40で特定されたホーガンプレーン、又はステップS90で調整されたシャフトプレーン及びホーガンプレーンと、ステップS80で計算されたスイング動作中のゴルフクラブの軌跡とを含む画像データを生成し、出力処理部216により表示部25に表示させる(ステップS100)。そして、制御部21は、図4に示すフローチャートの処理を終了する。
なお、図4のフローチャートにおいて、可能な範囲で各工程の順番を適宜変えてもよい。
次に、シャフトプレーン(第1仮想平面)を特定する処理(図4のステップS30の処理)の一例について詳細に説明する。
まず、第1仮想平面特定部211は、図2に示したように、ゴルフクラブ3のヘッドの位置61をXYZ座標系(グローバル座標系)の原点O(0,0,0)として、センサーユニット10が計測した静止時の加速度データとクラブ仕様情報とを用いて、グリップエンドの位置62の座標(0,GY,GZ)を計算する。図5は、ユーザー2の静止時(アドレス時)におけるゴルフクラブ3とセンサーユニット10をX軸の負側から見た平面図である。図5では、ゴルフクラブ3のヘッドの位置61が原点O(0,0,0)であり、グリップエンドの位置62の座標は(0,GY,GZ)である。ユーザー2の静止時にセンサーユニット10には重力加速度Gがかかるので、y軸加速度y(0)とゴルフクラブ3のシャフトの傾斜角(シャフトの長軸と水平面(XY平面)とのなす角)αとの関係は式(1)で表される。
従って、クラブ仕様情報に含まれるゴルフクラブ3のシャフトの長さをL1とすると、GY,GZは、シャフトの長さL1と傾斜角αを用いて、式(2)及び式(3)でそれぞれ計算される。
次に、第1仮想平面特定部211は、ゴルフクラブ3のグリップエンドの位置62の座標(0,GY,GZ)にスケールファクターSを乗算し、シャフトプレーン30の頂点S1と頂点S2の中点S3の座標(0,SY,SZ)を計算する。すなわち、SY及びSZは、式(4)及び式(5)により計算される。
図6は、図2のシャフトプレーン30をYZ平面で切った断面図をX軸の負側から見た図である。頂点S1と頂点S2の中点S3と原点Oとを結ぶ線分の長さ(シャフトプレーン30のX軸と直交する方向の幅)は、第1線分51の長さL1のS倍となる。このスケールファクターSは、ユーザー2のスイング動作中のゴルフクラブ3の軌跡がシャフトプレーン30に収まるような値に設定される。例えば、ユーザー2の腕の長さをL2とすると、シャフトプレーン30のX軸と直交する方向の幅S×L1が、シャフトの長さL1と腕の長さL2の和の2倍となるように、スケールファクターSを式(6)のように設定してもよい。
また、ユーザー2の腕の長さL2は、ユーザー2の身長L0と相関があり、統計情報に基づき、例えば、ユーザー2が男性の場合は式(7)のような相関式で表され、ユーザー2が女性の場合は式(8)のような相関式で表される。
従って、ユーザーの腕の長さL2は、身体情報に含まれるユーザー2の身長L0と性別とを用いて、式(7)又は式(8)により算出される。
次に、第1仮想平面特定部211は、上述のように計算した中点S3の座標(0,SY,SZ)及びシャフトプレーン30のX軸方向の幅(第3線分52の長さ)TLを用いて、シャフトプレーン30の頂点T1の座標(−TL/2,0,0)、頂点T2の座標(TL/2,0,0)、頂点S1の座標(−TL/2,SY,SZ)、S2の座標(TL/2,SY,SZ)を計算する。X軸方向の幅TLは、ユーザー2のスイング動作中のゴルフクラブ3の軌跡がシャフトプレーン30に収まるような値に設定される。例えば、X軸方向の幅TLを、X軸と直交する方向の幅S×L1と同じ、すなわち、シャフトの長さL1と腕の長さL2の和の2倍に設定してもよい。
このように計算された4つの頂点T1,T2,S1,S2の座標により、シャフトプレーン30が特定される。
次に、ホーガンプレーン(第2仮想平面)を特定する処理(図4のステップS40の処理)の一例について詳細に説明する。
まず、第2仮想平面特定部212は、上述のように計算されたゴルフクラブ3のグリップエンドの位置62の座標(0,GY,GZ)及びユーザー2の身体情報を用いて、ユーザー2の両肩を結ぶ線分上の所定位置63を推定し、その座標(AX,AY,AZ)を計算する。
図7は、図2のホーガンプレーン40をYZ平面で切った断面図をX軸の負側から見た図である。図7では、ユーザー2の両肩を結ぶ線分の中点を所定位置63としており、所定位置63はYZ平面上に存在する。従って、所定位置63のX座標AXは0である。そして、第2仮想平面特定部212は、ゴルフクラブ3のグリップエンドの位置62をZ軸の正方向にユーザー2の腕の長さL2だけ移動させた位置が所定位置63であると推定する。従って、所定位置63のY座標AYはグリップエンドの位置62のY座標GYと同じであり、所定位置63のZ座標AZは、式(9)のように、グリップエンドの位置62のZ座標GZとユーザー2の腕の長さL2の和として計算される。
ユーザーの腕の長さL2は、身体情報に含まれるユーザー2の身長L0と性別とを用いて、式(7)又は式(8)により算出される。
次に、第2仮想平面特定部212は、所定位置63のY座標AY及びZ座標AZにそれぞれスケールファクターHを乗算し、ホーガンプレーン40の頂点H1と頂点H2の中点H3の座標(0,HY,HZ)を計算する。すなわち、HY及びHZは、式(10)及び式(11)により計算される。
図7に示すように、頂点H1と頂点H2の中点H3と原点Oとを結ぶ線分の長さ(ホーガンプレーン40のX軸と直交する方向の幅)は、第2線分53の長さL3のH倍となる。このスケールファクターHは、ユーザー2のスイング動作中のゴルフクラブ3の軌跡がホーガンプレーン40に収まるような値に設定される。例えば、ホーガンプレーン40は、シャフトプレーン30と同じ形及び大きさとしてもよい。この場合、ホーガンプレーン40のX軸と直交する方向の幅H×L3が、シャフトプレーン30のX軸と直交する方向の幅S×L1と一致し、ゴルフクラブ3のシャフトの長さL1とユーザー2の腕の長さL2の和の2倍となるから、スケールファクターHを式(12)のように設定してもよい。
また、第2線分53の長さL3は、所定位置63のY座標AY及びZ座標AZを用いて、式(13)のより計算される。
次に、第2仮想平面特定部212は、上述のように計算した中点H3の座標(0,HY,HZ)及びホーガンプレーン40のX軸方向の幅(第3線分52の長さ)TLを用いて、ホーガンプレーン40の頂点T1の座標(−TL/2,0,0)、頂点T2の座標(TL/2,0,0)、頂点H1の座標(−TL/2,HY,HZ)、H2の座標(TL/2,HY,HZ)を計算する。X軸方向の幅TLは、ユーザー2のスイング動作中のゴルフクラブ3の軌跡がホーガンプレーン40に収まるような値に設定される。本実施形態では、ホーガンプレーン40のX軸方向の幅TLは、シャフトプレーン30のX軸方向の幅と同じであるから、上記のとおり、シャフトの長さL1と腕の長さL2の和の2倍に設定してもよい。
このように計算された4つの頂点T1,T2,H1,H2の座標により、ホーガンプレーン40が特定される。
次に、ユーザー2のスイングの開始から終了までの一連の動作(リズム)を検出する処理(図4のステップS60の処理)の一例について詳細に説明する。
運動解析部214は、センサーユニット10から取得した計測データを用いて、スイングの開始から終了までの一連の動作(リズム)、例えば、スイングの開始から、バックスイング、トップ、ダウンスイング、インパクト、フォロースルー、スイングの終了までを検出する。具体的なリズムの検出手順は、特に限定されないが、例えば下記のような手順を採用することができる。
まず、運動解析部214は、取得した時刻t毎の角速度データを用いて、各時刻tでの各軸回りの角速度の大きさの和(合成値あるいはノルムという)を計算する。また、運動解析部214は、各時刻tでの角速度のノルムを時間で微分してもよい。
ここで、3軸(x軸、y軸、z軸)の軸回りの角速度が、例えば図8(センサーユニットから出力される角速度の一例を示す図)に示すようなグラフに表れる場合を考える。図8では、横軸が時間(msec)、縦軸が角速度(dps)である。また、角速度のノルムは、例えば図9(角速度のノルムの一例を示す図)に示すようなグラフに表れる。図9では、横軸が時間(msec)、縦軸が角速度のノルムである。また、角速度のノルムの微分値は、例えば図10(角速度のノルムの微分値の一例を示す図)に示すようなグラフに表れる。図10では、横軸が時間(msec)、縦軸が角速度のノルムの微分値である。なお、図8〜図10は、本実施形態を理解し易くするためものであり、正確な値を示しているわけではない。
また、運動解析部214は、計算した角速度のノルムを用いて、スイングにおけるインパクトのタイミングを検出する。運動解析部214は、例えば、角速度のノルムが最大となるタイミングをインパクトのタイミングとして検出する(図9のT5)。または、運動解析部214は、例えば、計算した角速度のノルムの微分の値が最大となるタイミングと最小となるタイミングのうち、先のタイミングをインパクトのタイミングとして検出するようにしてもよい(図10のT5)。
また、運動解析部214は、例えば、インパクトより前で、計算した角速度のノルムが極小となるタイミングをスイングのトップのタイミングとして検出する(図9のT3)。また、運動解析部214は、例えば、インパクトより前で角速度のノルムが第1閾値以下の連続した期間をトップ期間(トップでの溜めの期間)として特定する(図9のT2〜T4)。
また、運動解析部214は、例えば、トップより前で、角速度のノルムが第2閾値以下となるタイミングをスイングの開始のタイミングとして検出する(図9のT1)。
また、運動解析部214は、例えば、インパクトより後で、角速度のノルムが極小となるタイミングをスイングの終了(フィニッシュ)のタイミングとして検出する(図9のT7)。または、運動解析部214は、例えば、インパクトより後で、角速度のノルムが第3閾値以下となる最初のタイミングをスイングの終了(フィニッシュ)のタイミングとして検出するようにしてもよい。また、運動解析部214は、例えば、インパクトのタイミングより後で且つインパクトのタイミングに接近し、角速度のノルムが第4閾値以下となる連続した期間をフィニッシュ期間として特定する(図9のT6〜T8)。
上記のようにして、運動解析部214は、スイングのリズムを検出することができる。また、運動解析部214は、リズムを検出することにより、スイング中の各期間(例えば、スイング開始からトップ開始までのバックスイング期間、トップ終了からインパクトまでのダウンスイング期間、インパクトからスイング終了までのフォロースルー期間)を特定することができる。
次に、Vゾーン及び軌跡を表す画像データを生成及び表示する処理(図4のステップS100の処理)の一例について詳細に説明する。ここでは、図4のステップS90でVゾーンの調整が行われていない場合について説明する。
図11は、シャフトプレーン及びホーガンプレーンを含む画面例を示す図である。図11では、シャフトプレーン及びホーガンプレーンをYZ平面に投影した図である
画像500は、シャフトプレーン30を表すポリゴンデータ501、ホーガンプレーン40を表すポリゴンデータ502、及び、ユーザー2のダウンスイング時のゴルフクラブ3の軌跡を表す曲線503を含んでいる。また、画像500では、ポリゴンデータ501とポリゴンデータ502との間の空間であるVゾーンを認識できる。
なお、図11において、Vゾーンを表示する際には、プレーンで表示しなくてもよく、シャフトプレーン30に含まれる第1線分51(あるいは第1線分51に沿った直線)とホーガンプレーン40に含まれる第2線分53(あるいは第2線分53に沿った直線)のみを表示させてもよい。また、図11に示す画像は、ユーザー2の操作に応じて表示角度(画像を見る視点)を変えることが可能な3次元画像であってもよい。
次に、Vゾーンを調整する処理(図4のステップS90の処理)の一例について詳細に説明する。
本実施形態では、運動解析装置20は、Vゾーンの調整に関してユーザー2から予め設定を受け付ける。例えば、仮想平面調整部213は、図12(Vゾーンの表示設定を行う画面例を示す図)に示すような画面600を表示部25に表示させ、ユーザー2から操作部23を介して画面600上の操作入力を受け付ける。
画面600は、スイングタイプを指定するスイングタイプ欄610と、スキルレベルを指定するスキルレベル欄620と、センタープレーンの表示又は非表示を指定するセンタープレーン欄630と、参考Vゾーンの表示又は非表示を指定する参考Vゾーン欄640とを含む。図12の例では、スイングタイプ欄610は、3つのスイングタイプ(ストレート、フック、スライス)のうちいずれか1つを指定可能なように3つのボタンを含む。また、スキルレベル欄620は、3つのスキルレベル(初級、中級、上級)のうちいずれか1つを指定可能なように3つのボタンを含む。
センタープレーンとは、打球の目標方向(第3線分52)を回転軸として、第1線分51及び第2線分53が成す所定角度θを2等分する線分と、第3線分52とで構成される面である。図12の例では、センタープレーン欄630は、センタープレーンの表示又は非表示を指定可能なように2つのボタンを含む。
参考Vゾーンとは、上述のように特定されて表示されるユーザー2のVゾーンとは別に、比較参考のために表示されるVゾーン(例えば、プロゴルファーのVゾーン、ユーザー2自身の過去のVゾーンなど)である。参考Vゾーンに関する情報(例えば、当該参考Vゾーンのシャフトプレーンの角度及びホーガンプレーンの角度を特定するデータなど)は、例えば、記憶部24やネットワーク上の記憶装置などに格納されていればよい。図12の例では、参考Vゾーン欄640は、参考Vゾーンの表示又は非表示を指定可能なように2つのボタンを含む。また、参考Vゾーン欄640は、参考Vゾーンに関する情報の取得先(例えば、URLやファイルパスなど)を設定するためのボタンを含む。
スイングタイプ「ストレート」、スキルレベル「中級」、センタープレーン「非表示」、参考Vゾーン「非表示」、の初期設定が行われているものとして、以下、図13〜図16を参照して説明を続ける。
図13は、スイングタイプに応じてシャフトプレーン及びホーガンプレーンを調整する手順と画面例を示す図である。
上述のスイングタイプ欄610で「ストレート」が設定されている場合、仮想平面調整部213は、Vゾーンの調整を行わない。具体的には、仮想平面調整部213は、ステップS30で特定されたシャフトプレーン30の角度及びステップS40で特定されたホーガンプレーン40の角度を変更しない。図13(A)では、傾斜角αのシャフトプレーン30と、シャフトプレーン30に対して所定角度θを成すホーガンプレーン40とが特定されている。画像生成部215は、シャフトプレーン30のポリゴンデータ501、ホーガンプレーン40のポリゴンデータ502、及びゴルフクラブ3の軌跡を表す曲線503(図示せず)を含む画像500を生成し、表示させる。
上述のスイングタイプ欄610で「スライス」が設定されている場合、仮想平面調整部213は、Vゾーンを時計回りに回転させる調整を行う。具体的には、仮想平面調整部213は、第3線分52を回転軸として、ステップS30で特定されたシャフトプレーン30の角度及びステップS40で特定されたホーガンプレーン40の角度を、それぞれ角度調整量dだけZ軸方向に回転させ、調整後のシャフトプレーン30a及びホーガンプレーン40aを特定する。図13(B)では、傾斜角α+dのシャフトプレーン30aと、シャフトプレーン30aに対して所定角度θを成すホーガンプレーン40aとが特定されている。画像生成部215は、シャフトプレーン30aのポリゴンデータ501a、ホーガンプレーン40aのポリゴンデータ502a、及びゴルフクラブ3の軌跡を表す曲線503(図示せず)を含む画像500を生成し、表示させる。
上述のスイングタイプ欄610で「フック」が設定されている場合、仮想平面調整部213は、Vゾーンを反時計回りに回転させる調整を行う。具体的には、仮想平面調整部213は、第3線分52を回転軸として、ステップS30で特定されたシャフトプレーン30の角度及びステップS40で特定されたホーガンプレーン40の角度を、それぞれ角度調整量dだけY軸方向に回転させ、調整後のシャフトプレーン30a及びホーガンプレーン40aを特定する。図13(C)では、傾斜角α−dのシャフトプレーン30aと、シャフトプレーン30aに対して所定角度θを成すホーガンプレーン40aとが特定されている。画像生成部215は、シャフトプレーン30aのポリゴンデータ501a、ホーガンプレーン40aのポリゴンデータ502a、及びゴルフクラブ3の軌跡を表す曲線503(図示せず)を含む画像500を生成し、表示させる。
上述のようにして、ユーザー2により指定されたスイングタイプに応じて、Vゾーンの位置が調整されるため、スイングタイプに応じたスイングの評価を正確に行うことができる。例えば、普段からスライス系のスイングを行うゴルファーは、Vゾーンの表示設定を「スライス」に設定しておけば、ダウンスイングの軌跡がVゾーン内に入り易くなり、調子の良し悪しやスイングの良し悪し等を簡単かつ正確に判断できる。
図14は、スキルレベルに応じてシャフトプレーン及びホーガンプレーンを調整する手順と画面例を示す図である。
上述のスキルレベル欄620で「中級」が設定されている場合、仮想平面調整部213は、Vゾーンの調整を行わない。この場合は、図13(A)の場合と同様であるため、説明を省略する。
上述のスキルレベル欄620で「初級」が設定されている場合、仮想平面調整部213は、シャフトプレーン30及びホーガンプレーン40が成すVゾーンの中心角を大きくする調整を行う。具体的には、仮想平面調整部213は、第3線分52を回転軸として、ステップS30で特定されたシャフトプレーン30の角度を、角度調整量dだけY軸方向に回転させ、調整後のシャフトプレーン30aを特定する。また、仮想平面調整部213は、第3線分52を回転軸として、ステップS40で特定されたホーガンプレーン40の角度を、角度調整量dだけZ軸方向に回転させ、調整後のホーガンプレーン40aを特定する。図14(A)では、傾斜角α−dのシャフトプレーン30aと、シャフトプレーン30aに対して所定角度θ+2dを成すホーガンプレーン40aとが特定されている。画像生成部215は、シャフトプレーン30aのポリゴンデータ501a、ホーガンプレーン40aのポリゴンデータ502a、及びゴルフクラブ3の軌跡を表す曲線503(図示せず)を含む画像500を生成し、表示させる。
上述のスキルレベル欄620で「上級」が設定されている場合、仮想平面調整部213は、シャフトプレーン30及びホーガンプレーン40が成すVゾーンの中心角を小さくする調整を行う。具体的には、仮想平面調整部213は、第3線分52を回転軸として、ステップS30で特定されたシャフトプレーン30の角度を、角度調整量dだけZ軸方向に回転させ、調整後のシャフトプレーン30aを特定する。また、仮想平面調整部213は、第3線分52を回転軸として、ステップS40で特定されたホーガンプレーン40の角度を、角度調整量dだけY軸方向に回転させ、調整後のホーガンプレーン40aを特定する。図14(B)では、傾斜角α+dのシャフトプレーン30aと、シャフトプレーン30aに対して所定角度θ−2dを成すホーガンプレーン40aとが特定されている。画像生成部215は、シャフトプレーン30aのポリゴンデータ501a、ホーガンプレーン40aのポリゴンデータ502a、及びゴルフクラブ3の軌跡を表す曲線503(図示せず)を含む画像500を生成し、表示させる。
上述のようにして、ユーザー2により指定されたスキルレベルに応じて、Vゾーンの広さが調整される。つまり、スキルレベルが低ければ低い程、Vゾーンの中心角の角度を大きくする調整を行い、スキルレベルが高ければ高い程、Vゾーンの中心角の角度を小さくする調整を行う。このため、スキルレベルに応じたスイングの評価を正確に行うことができる。例えば、初級ゴルファーは、Vゾーンの表示設定を「初級」に設定しておけば、ダウンスイングの軌跡がVゾーン内に入り易くなり、調子の良し悪し、スイングの良し悪し、上達の度合い等を簡単かつ正確に判断できる。
図15は、センタープレーンを設定する手順と画面例を示す図である。
上述のセンタープレーン欄630で「表示」が設定されている場合、仮想平面調整部213は、センタープレーンを特定する。具体的には、仮想平面調整部213は、第3線分52を回転軸として、ステップS30で特定されたシャフトプレーン30の傾きとステップS40で特定されたホーガンプレーン40の傾きの中間の傾きを、センタープレーンの傾きとして特定する。図15では、傾斜角α+θ/2のセンタープレーン50が特定されている。画像生成部215は、シャフトプレーン30のポリゴンデータ501、ホーガンプレーン40のポリゴンデータ502、センタープレーン50のポリゴンデータ504、及びゴルフクラブ3の軌跡を表す曲線503(図示せず)を含む画像500を生成し、表示させる。
上述のようにして、ユーザー2の指定に応じて、センタープレーンが表示される。ユーザー2は、センタープレーンにより、スイングの軌跡がシャフトプレーンとホーガンプレーンのどちら側に寄っているか等を簡単に判断することができる。
図16は、参考Vゾーンを設定する手順と画面例を示す図である。
上述の参考Vゾーン欄640で「表示」が設定され、かつ、参考Vゾーンに関する情報の取得先が設定されている場合、仮想平面調整部213は、参考Vゾーンに関する情報を当該取得先から取得する。また、仮想平面調整部213は、取得した参考Vゾーンに関する情報に基づいて、参考Vゾーンを構成するシャフトプレーン及びホーガンプレーンを特定する。図16では、ステップS30で特定されたシャフトプレーン30及びステップS40で特定されたホーガンプレーン40に加え、参考Vゾーンを構成するシャフトプレーン30b及びホーガンプレーン40bが特定されている。画像生成部215は、シャフトプレーン30のポリゴンデータ501、ホーガンプレーン40のポリゴンデータ502、シャフトプレーン30bのポリゴンデータ501b、ホーガンプレーン40bのポリゴンデータ502b、及びゴルフクラブ3の軌跡を表す曲線503(図示せず)を含む画像500を生成し、表示させる。
上述のようにして、ユーザー2の指定に応じて、参考Vゾーンが表示される。ユーザー2は、自身のVゾーンと参考Vゾーンを比較して、アドレス姿勢の評価を行ったり、アドレス姿勢を改善したりすることができる。
なお、図13〜図16では、スイングタイプの指定、スキルレベル指定、センタープレーンの表示の指定、及び参考Vゾーンの表示の指定を、それぞれ個別に説明しているが、いずれか1つ以上を組み合わせて指定することも可能である。例えば、スイングタイプ「スライス」及びスキルレベル「初級」が指定されている場合、仮想平面調整部213は、Vゾーンを時計回りに回転させるとともにその中心角を広くすればよい。また、例えば、スイングタイプ「フック」及びスキルレベル「上級」が指定されている場合、仮想平面調整部213は、Vゾーンを反時計回りに回転させるとともにその中心角を狭くすればよい。センタープレーン50は、Vゾーンの調整後のシャフトプレーン30a及びホーガンプレーン40aに基づいて特定すればよい。
また、図13及び図14に関して、上述の調整量dの大きさは、ユーザー2が指定可能であってもよい。例えば、スイングタイプを指定する場合、画面600においてストレートを基準にスライス及びフックの度合いをそれぞれ複数段階に指定できるようにし、仮想平面調整部213は、指定されたスライス又はフックの度合いが大きいほど調整量dも大きくなるように設定してもよい。また、例えば、スキルレベルを指定する場合、画面600において中級を基準に上下それぞれ複数レベルを指定できるようにし、仮想平面調整部213は、スキルが高い(又はスキルが低い)ほど調整量dも大きくなるように設定してもよい。
また、図13の例では、シャフトプレーン30及びホーガンプレーン40について同じ調整量dを用いているが、仮想平面調整部213は、それぞれ異なる調整量(一方の調整量は0でもよい)を用いるようにしてもよい。同様に図14の例では、シャフトプレーン30及びホーガンプレーン40について同じ調整量dを用いているが、仮想平面調整部213は、それぞれ異なる調整量(一方の調整量は0でもよい)を用いるようにしてもよい。
また、仮想平面調整部213は、クラブの種類(例えば、ドライバー及びその番手、アイアン及びその番手、パターなど)や、指定されたクラブの仕様情報(例えば、シャフトの長さ、重心の位置、ライ角、フェース角、ロフト角等の情報など)に応じて、調整量dの大きさを決定するようにしてもよい。また、仮想平面調整部213は、指定されたユーザーの身体情報(例えば、腕の長さ、身長など)に応じて、調整量dの大きさを決定するようにしてもよい。」
以上、本発明の実施形態について説明した。本実施形態によれば、ユーザーは、シャフトプレーン及びホーガンプレーンの位置及び傾き、Vゾーンの大きさなどからアドレス姿勢を客観的に認識することができるので、より簡単にスイングの良し悪しを評価することができる。また、ユーザーは、スイング時のゴルフクラブの軌道とシャフトプレーン及びホーガンプレーンとの位置関係を認識することができるので、スイングの良し悪しを従来よりも正確に評価することができる。
また、本実施形態によれば、ゴルフクラブのシャフトの長軸がターゲットラインと垂直となるようにユーザーがアドレスするという制約を設けることで、運動解析装置は、アドレス時のセンサーユニットの計測データを用いて、打球の目標方向を表す第3線分を特定することができる。従って、運動解析装置は、この第3線分の方向に合わせてシャフトプレーンを適正に特定することができる。
また、本実施形態によれば、ユーザーの身体情報を考慮して、ホーガンプレーンにおけるユーザーの両肩を結ぶ線分上の所定位置を特定するため、1つのセンサーユニットの計測データを用いて、シャフトプレーンとホーガンプレーンを特定することができる。また、シャフトプレーンを所定角度(例えば30°)だけ回転させた仮想平面をホーガンプレーンとして特定する場合と比較して、ユーザーの体型に合ったホーガンプレーンを、より正確に特定することができる。
また、本実施形態によれば、ユーザーのアドレス姿勢に基づいて特定されたVゾーンの位置、姿勢等が、スイングタイプに応じて調整される。これにより、スイングタイプに応じたスイングの傾向などを考慮した評価を行いたい場合でも、簡単かつ正確にスイングの良し悪しを評価することができる。
また、本実施形態によれば、ユーザーのアドレス姿勢に基づいて特定されたVゾーンの位置、姿勢、広さ等が、スキルレベルに応じて調整される。これにより、スキルレベルに応じたスイングの傾向などを考慮した評価を行いたい場合でも、簡単かつ正確にスイングの良し悪しを評価することができる。
また、本実施形態によれば、センサーユニットを用いてシャフトプレーン及びホーガンプレーンを特定するので、カメラなどの大掛かりな装置を使用する必要がなく、スイング解析を行う場所の制約が少ない。
本発明は、上述の実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
上記の実施形態では、第2仮想平面特定部212は、センサーユニット10が出力する計測データと身体情報とを用いて第2線分53を特定したが、第1仮想平面特定部211が特定した第1線分51と、第1線分51に対する所定角度θとを用いて、ゴルフクラブ3のヘッド(打撃部)の位置62と位置63とを結ぶ第2線分53を特定する処理を行ってもよい。
また、上記の実施形態では、運動解析装置20は、ゴルフクラブ3に装着したセンサーユニット10の計測データを用いて、シャフトプレーン及びホーガンプレーンを特定し、スイング中のゴルフクラブ3の軌跡を計算しているが、これ以外にも、例えば、ユーザー2の腕(手首など)に装着したセンサーユニット10の計測データを用いて、上記実施形態と同様の方法で、シャフトプレーン及びホーガンプレーンの特定やゴルフクラブ3の軌跡の計算を行ってもよい。あるいは、ゴルフクラブ3やユーザーの腕あるいは肩などの部位に、複数のセンサーユニット10を装着し、当該複数のセンサーユニット10の各々の計測データを用いて、シャフトプレーン及びホーガンプレーンの特定やゴルフクラブ3の軌跡の計算を行ってもよい。
また、上記の実施形態では、加速度センサー13と角速度センサー14が、センサーユニット10に内蔵されて一体化されているが、加速度センサー13と角速度センサー14は一体化されていなくてもよい。あるいは、加速度センサー13と角速度センサー14が、センサーユニット10に内蔵されずに、ゴルフクラブ3又はユーザー2に直接装着されてもよい。また、上記の実施形態では、センサーユニット10と運動解析装置20が別体であるが、これらを一体化してゴルフクラブ3又はユーザー2に装着可能にしてもよい。
また、上記の実施形態では、運動解析装置20は、ユーザー2の両肩を結ぶ線分上の所定位置63のZ座標AZを、式(9)のように、グリップエンドの位置62のY座標GYとユーザー2の腕の長さL2の和として計算しているが、これ以外の式を用いてもよい。例えば、運動解析装置20は、AZ=GY+K・L2のように、L2に係数Kを乗じてGYに加算してAZを求めてもよい。
また、上記の実施形態では、ゴルフスイングを解析する運動解析システム(運動解析装置)を例に挙げたが、本発明は、テニスや野球などの様々な運動のスイングを解析する運動解析システム(運動解析装置)に適用することができる。
上述した実施形態および変形例は一例であって、これらに限定されるわけではない。例えば、各実施形態および各変形例を適宜組み合わせることも可能である。
なお、図3で示した運動解析システム1の構成は、運動解析システム1の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。運動解析システム1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、各構成要素の処理又は機能の分担は、本発明の目的及び効果を達成できるのであれば、上述したものに限られない。なお、上記実施形態では、センサーユニット10と運動解析装置20とを別体として説明したが、センサーユニット10に運動解析装置20の機能を搭載してもよい。
また、図4で示したフローチャートの処理単位は、運動解析装置20の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。運動解析装置20の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。さらに、上記のフローチャートの処理順序も、図示した例に限られるものではない。