"人体の少なくとも一部の構造をモデル化した人体モデルと当該人体モデルのパラメーターとを含む運動モデルを記憶する記憶部と、ユーザーに装着されるセンサーと、前記センサーからデータを取得するデータ取得部と、取得した前記データに基づいて、前記ユーザーに応じた前記パラメーターの制約条件を生成する制約条件生成部と、前記運動モデルを用いて計算を行い、前記パラメーターが前記制約条件を満たす範囲での前記人体モデルの好適な動きを解析する運動解析部と、前記運動解析部の解析結果に基づいて、運動の指導用情報を生成する指導用情報生成部と、を含む、運動指導装置。請求項1において、前記指導用情報生成部は、取得した前記データに基づいて前記ユーザーの動きに対応する前記人体モデルの動きを計算し、当該人体モデルの動きを前記好適な動きと比較することにより前記ユーザーの動きを評価する、運動指導装置。請求項1又は2において、前記運動解析部は、前記制約条件を満たす範囲で、前記人体モデルの部位に設けたノードの理論上の最大速度を計算する、運動指導装置。請求項3において、前記指導用情報生成部は、取得した前記データに基づいて前記人体モデルの前記ノードの速度を計算し、前記理論上の最大速度と比較することにより、前記ユーザーの動きを評価する、運動指導装置。請求項3又は4において、前記ノードは、前記人体モデルの末端部に設けられたノードである、運動指導装置。請求項1乃至5のいずれか一項において、前記記憶部は、複数の前記運動モデルを記憶し、前記制約条件生成部は、前記複数の運動モデルから前記ユーザーが行う運動の種類に応じた運動モデルを選択し、選択した運動モデルのパラメーターの制約条件を算出する、運動指導装置。請求項1乃至6のいずれか一項において、前記センサーは複数あり、前記記憶部は、前記複数のセンサーの中からデータを取得すべきセンサーを選択するためのセンサー選択情報を記憶し、前記データ取得部は、前記ユーザーが行う運動の種類に応じた前記センサー選択情報により選択されるセンサーからデータを取得する、運動指導装置。請求項1乃至6のいずれか一項において、前記センサーは複数あり、前記記憶部は、前記複数のセンサーの中からデータを取得すべきセンサーを選択するためのセンサー選択情報を記憶し、前記指導用情報生成部は、前記ユーザーが行う運動の種類に応じた前記センサー選択情報により選択されるセンサーの情報を前記ユーザーに提示する、運動指導装置。コンピューターは、人体の少なくとも一部の構造をモデル化した人体モデルと当該人体モデルのパラメーターとを含む運動モデルを記憶する記憶部を含み、前記コンピューターは、ユーザーに装着されるセンサーからデータを取得するデータ取得部と、取得した前記データに基づいて、前記ユーザーに応じた前記パラメーターの制約条件を生成する制約条件生成部と、前記運動モデルを用いて計算を行い、前記パラメーターが前記制約条件を満たす範囲で前記人体モデルの好適な動きを解析する運動解析部と、前記運動解析部の解析結果に基づいて、運動の指導用情報を生成する指導用情報生成部として機能する、運動指導プログラム。請求項9に記載の運動指導プログラムを記録した、コンピューター読み取り可能な記録媒体。この問題を解決するため、特許文献4や特許文献5では、人間の基本的な動きをモデル化し、関節に働く力や関節の動きの範囲を制約条件に、動きのモデルの動力学方程式を解いて、トレーニングの参考になる動きを計算で求める方法が考案されている。これらの方法によれば、プロのプレイヤーやインストラクターなどに実際に動いてもらうことなく、事前に理想の動きデータがなくても、機械的計算的にトレーニング用のデータを得ることができる。しかしながら、これらの方法では,練習者にフィットするトレーニングデータを得るには、解析者が、データベースにアクセスし、練習者ごとに動きのモデルの動力学方程式を解いた結果を得るためのフィードバックをかける操作が必要となり、練習者自身が簡単に利用することは困難であるという問題がある。本発明は、以上のような問題点に鑑みてなされたものであり、本発明のいくつかの態様によれば、ユーザーの体型や動きの癖などの個性に合った指導用の情報を提供するとともに、ユーザーが簡単に利用することが可能な運動指導装置、運動指導プログラム、及び、運動指導プログラムを記録した記録媒体を提供することができる。1本発明は、人体の少なくとも一部の構造をモデル化した人体モデルと当該人体モデルのパラメーターとを含む運動モデルを記憶する記憶部と、ユーザーに装着されるセンサーと、前記センサーからデータを取得するデータ取得部と、取得した前記データに基づいて、前記ユーザーに応じた前記パラメーターの制約条件を生成する制約条件生成部と、前記運動モデルを用いて計算を行い、前記パラメーターが前記制約条件を満たす範囲での前記人体モデルの好適な動きを解析する運動解析部と、前記運動解析部の解析結果に基づいて、運動の指導用情報を生成する指導用情報生成部と、を含む、運動指導装置である。本発明によれば、あらかじめ用意された運動モデルを用いて計算を行って好適な動き理想の動きを解析し、解析結果に基づいて運動の指導用情報を生成するので、インストラクター等からデータを取得して指導用情報を編集する手間をなくすことができる。従って、本発明の運動指導装置をユーザーが簡単に利用することができる。また、本発明によれば、ユーザーに装着したセンサーからデータを取得して人体モデルのパラメーターの制約条件をユーザー毎に生成し、制約条件を満たす範囲での人体モデルの好適な動きを解析するので、ユーザーの体型や動きの癖などの個性に合った指導用情報を提供することができる。2この運動指導装置において、前記指導用情報生成部は、取得した前記データに基づいて前記ユーザーの動きに対応する前記人体モデルの動きを計算し、当該人体モデルの動きを前記好適な動きと比較することにより前記ユーザーの動きを評価するようにしてもよい。このようにすれば、ユーザーは、自分の動きと自分に合った好適な動きとの差違がわかるので、動きを効果的に改善することができる。3この運動指導装置は、前記運動解析部は、前記制約条件を満たす範囲で、前記人体モデルの部位に設けたノードの理論上の最大速度を計算するようにしてもよい。多くのスポーツ競技において、回転中心から最も遠い関節、分節、終点などの速度が最大になるような動きをすることで、競技力を向上させることができる。例えば、砲丸投げやジャンプの踏み切り動作などの押し動作では、上肢と下肢の伸展速度が最大になり、ピッチング、やり投げ、円盤投げ、キックなどの動作では、手関節や足の接線速度が最大になるような動きが理想的である。従って、人体モデルの特定のノードの理論上の最大速度を計算することで、好適な動きを解析することができる。4この運動指導装置において、前記指導用情報生成部は、取得した前記データに基づいて前記人体モデルの前記ノードの速度を計算し、前記ノードの理論上の最大速度と比較することにより、前記ユーザーの動きを評価するようにしてもよい。このように、ユーザーの動きから計算される人体モデルの特定のノードの速度を、当該特定のノードの理論上の最大速度と比較することで、ユーザーの動きと好適な動きとの差違の程度を評価することができる。また、ユーザーの動きと好適な動きとの差違を、軌跡の差を計算せずに評価することができるので、計算量を大幅に削減することができ、リアルタイム性を向上させることができる。5この運動指導装置において、前記ノードは、前記人体モデルの末端部に設けられたノードであるようにしてもよい。6この運動指導装置において、前記記憶部は、複数の前記運動モデルを記憶し、前記制約条件生成部は、前記複数の運動モデルから前記ユーザーが行う運動の種類に応じた運動モデルを選択し、選択した運動モデルのパラメーターの制約条件を算出するようにしてもよい。このようにすれば、ユーザーは複数種類の運動の指導を受けることができる。7この運動指導装置において、前記センサーは複数あり、前記記憶部は、前記複数のセンサーの中からデータを取得すべきセンサーを選択するためのセンサー選択情報を記憶し、前記データ取得部は、前記ユーザーが行う運動の種類に応じた前記センサー選択情報により選択されるセンサーからデータを取得するようにしてもよい。運動の種類によって、解析に必要なセンサーの種類や装着すべき場所が異なるので、このように、運動の種類に応じて必要なセンサーからデータを取得する不必要なセンサーからデータを取得しないことで、データ通信の負荷を軽減させることができる。また、運動の種類に応じて必要なセンサーのみ起動する不必要なセンサーを起動しないようにすれば、消費電力を削減することができる。8この運動指導装置において、前記センサーは複数あり、前記記憶部は、前記複数のセンサーの中からデータを取得すべきセンサーを選択するためのセンサー選択情報を記憶し、前記指導用情報生成部は、前記ユーザーが行う運動の種類に応じた前記センサー選択情報により選択されるセンサーの情報を前記ユーザーに提示するようにしてもよい。このようにすれば、ユーザーは必要なセンサーのみ装着すればよいので、ユーザーの負担を軽減することができる。9本発明は、コンピューターは、人体の少なくとも一部の構造をモデル化した人体モデルと当該人体モデルのパラメーターとを含む運動モデルを記憶する記憶部を含み、前記コンピューターは、ユーザーに装着されるセンサーからデータを取得するデータ取得部と、取得した前記データに基づいて、前記ユーザーに応じた前記パラメーターの制約条件を生成する制約条件生成部と、前記運動モデルを用いて計算を行い、前記パラメーターが前記制約条件を満たす範囲での前記人体モデルの好適な動きを解析する運動解析部と、前記運動解析部の解析結果に基づいて、運動の指導用情報を生成する指導用情報生成部として機能する、運動指導プログラムである。10本発明は、上記の運動指導プログラムを記録した、コンピューター読み取り可能な記録媒体である。以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。1.運動指導装置の構成図1は、本実施形態の運動指導装置の構成例を示す図である。また、図2は、運動指導装置の構成要素の配置例を示す図である。なお、本実施形態では、ゴルフの指導を行う運動指導装置を例に挙げて説明するが、本発明は、テニスや野球等の種々のスポーツの指導を行う運動指導装置や、リハビリ運動などスポーツ以外の運動の指導を行う運動指導装置にも適用することができる。本実施形態の運動指導装置1は、複数のセンサーモジュール10、コントローラー20、ヘッドマウントディスプレイHMD30、スピーカー40、記録媒体50を含んで構成されている。ただし、本実施形態の運動指導装置1は、これらの一部の構成要素を省略したり、新たな構成要素を追加した構成としてもよい。センサーモジュール10は、加速度センサー3軸、ジャイロセンサー3軸、赤外センサー、磁気方位センサー3軸、圧力センサーなど、後述する運動モデルの各パラメーターの値を算出するのに必要なデータを取得するためのセンサーを少なくとも1つ備えている。例えば、加速度センサー、ジャイロセンサー、圧力センサーから速度、位置、衝撃度などの情報を得ることができる。また、2つの赤外センサーから2点間の距離の情報を得ることができる。また、磁気方位センサーから位置の情報を得ることができる。図2に示すように、センサーモジュール10は、ユーザーの関節部分を中心に、例えば、頭、肩、腰、肘、手首、膝、足首、踝などに装着される。例えば、図2に示すように、センサーモジュール10をユーザーの衣服の上に貼り付けてもよいし、図3に示すように、センサーモジュール10をバンド14に取り付けてバンド14をユーザーの各部位に装着するようにしてもよい。なお、一部のセンサーモジュール10を運動器具に装着してもよい。センサーモジュール10は、装着場所に応じて、取得すべき情報が必ずしも同じではないので、それぞれ、取得すべき情報を取得可能な必要最低限のセンサーのみを含むようにしてもよい。コントローラー20は、センサーモジュール10に、起動又は停止させるための制御データを無線送信し、起動した各センサーモジュール10からのデータは、コントローラー20に無線送信される。コントローラー20は、例えば、図2に示すように、プレイヤーの腰などに装着してもよいし、プレイヤーから離れた位置にあってもよい。本実施形態のコントローラー20は、処理部CPU22、出力部24、記憶部26を含み、センサーモジュール10からのデータを取得し、取得したデータを用いて運動指導用の情報の生成及び表示を行う。特に、本実施形態では、処理部CPU22は、以下に説明するデータ取得部222、制約条件生成部224、運動解析部226、指導用情報生成部228を含み、ユーザーの動きを分析し、指導用データ指導用情報を生成する。ただし、本実施形態の処理部CPU22は、これらの一部の構成要素を省略したり、新たな構成要素を追加した構成としてもよい。記録媒体50は、コンピューター読み取り可能な記録媒体であり、コンピューターを上記の各部として機能させるための運動指導プログラムが記憶されている。本実施形態の処理部20は、記録媒体50に記憶されている運動指導プログラムを実行することで、データ取得部222、制約条件生成部224、運動解析部226、指導用情報生成部228として機能する。あるいは、コントローラー20に通信部を追加し、通信部を介して有線又は無線の通信ネットワークを介してサーバーから運動指導プログラムを受信し、受信した運動指導プログラムを記憶部26や記録媒体50に記憶して当該運動指導プログラムを実行するようにしてもよい。ただし、データ取得部222、制約条件生成部224、運動解析部226、指導用情報生成部228の少なくとも一部をハードウェア専用回路で実現してもよい。なお、記録媒体50は、例えば、光ディスクCD、DVD、光磁気ディスクMO、磁気ディスク、ハードディスク、磁気テープ、メモリーROM、フラッシュメモリーなどにより実現することができる。データ取得部222は、各センサーモジュール10に含まれる各センサーからのデータを所定の時間間隔で継続して取得する処理を行う。制約条件生成部224は、データ取得部222が取得したデータに基づいて、ユーザーに応じて、後述する人体モデルのパラメーターの制約条件を生成する処理を行う。具体的には、制約条件生成部224は、ユーザーが選択した競技の種類と練習の種類に応じて、データ取得部222が取得したデータを元にユーザーの各部が実際に動ける範囲可動範囲や最大限出せる速度やトルク、軌跡のくせなどの制約条件を生成する処理を行う。この各種の制約条件は、記憶部26の個人運動データ262にユーザーの識別情報と対応づけて蓄積される。運動解析部226は、後述する運動モデルを用いて計算を行い、人体モデルのパラメーターが、制約条件生成部224により生成された制約条件を満たす範囲での人体モデルの好適な動きを解析する処理を行う。例えば、運動解析部226は、制約条件を満たす範囲で、人体モデルの部位に設けたノードの理論上の最大速度を計算するようにしてもよい。具体的には、運動解析部226は、制約条件生成部224により生成された制約条件に基づいて、ユーザーが選択した競技の種類と練習の種類に応じて、人体モデルの末端部に設けられたノードが最も効率的に速く動く速度最大終点速度を計算するとともに、最大終点速度を達成するためのパラメーター値などの動作条件を算出する処理を行う。ここでいう速度は広い概念であり、選択した競技の種類と練習の種類に応じて、伸展速度、接線速度、加速度、角速度などのいずれかの速度が選択される。本実施形態では、運動解析部226は、記憶部26に記憶されている基本データ264から、ユーザーが選択した競技の種類と練習の種類に応じた運動モデルとその終点速度の計算式の情報を読み出し、この計算式に制約条件を適用して最大終点速度の計算を行う。なお、本実施形態の運動解析部226は、個人運動データ262に制約条件が蓄積された後は、個人運動データ262に蓄積された制約条件を用いて好適な動きを解析する。指導用情報生成部228は、運動解析部226の解析結果に基づいて、運動の指導用情報を生成する処理を行う。具体的には、指導用情報生成部228は、基本データ264に含まれる元データを用いて、運動解析部226の解析結果によるユーザーの体型や動きの癖などに合った好適なの動き理想のフォームを表す指導用の画像情報を生成する処理を行う。指導用情報生成部228は、理想的なフォームを指示するための指導用の音声情報などをさらに生成してもよい。指導用情報生成部228が生成した指導用画像情報は、出力部24を介してHMD30に出力されて表示される。また、指導用情報生成部228が生成した指導用音声情報は、出力部24を介してスピーカー40に出力され、スピーカー40で音声に変換される。これらの指導用情報は、HMD30やスピーカー40以外にも、腕時計式の機器や携帯電話のディスプレイやスピーカーに出力するようにしてもよいし、パソコン等のモニターやスピーカーなど体に装着した装置以外に出力するようにしてもよい。なお、指導用情報生成部228は、画像や音声による指導用情報以外の指導用情報を生成してもよい。例えば、指導用情報生成部228が振動の情報を生成し、出力部24を介して振動装置不図示を振動させるようにしてもよい。ユーザーは、HMD30やスピーカー40から提供される指導用の画像や音声を参考にして、練習を行うことでユーザーの体型や個性に合った理想的なフォームに近づけることができる。具体的には、データ取得部222は、ユーザーが練習した動きのデータを各センサーモジュール10から取得する。そして、指導用情報生成部228は、データ取得部222が取得したデータに基づいてユーザーの動きに対応する人体モデルの動きを計算し、当該人体モデルの動きを、運動解析部226が解析した好適な動きと比較することによりユーザーの動きを評価する。本実施形態では、指導用情報生成部228は、データ取得部222が取得したユーザーの練習のデータに基づいて人体モデルの特定のノードの速度を計算し、制約条件を満たす範囲での特定のノードの理論上の最大速度と比較することにより、ユーザーの動きを評価するようにしてもよい。具体的には、運動解析部226は、データ取得部222が取得したデータから、人体モデルの末端部に設けられたノードの速度終点速度を計算し、運動解析部226が計算した最大終点速度に対してあらかじめ設定された割合の速度が達成できているか否かを判定する。未達成の場合は、ユーザーのフォームと理想のフォームとの差違を表示するなどするようにしてもよい。図4は、基本データ264の構成例を示す図である。本実施形態では、基本データ264は、競技メニューの情報、練習メニューの情報、指導用情報を生成するために必要な定義データが含まれており、競技メニューにある競技の種類毎に個別の練習メニューが対応付けられ、さらに練習メニュー毎に個別の定義データが対応付けられている。例えば、ゴルフ競技の種類に対応付けて、ドライバーショット、アプローチショット、バンカーショット等の練習メニューがあり、練習メニュー毎に定義データが対応付けられている。定義データには、運動モデル、終点速度の計算式、センサー選択情報、指導用元データなどが含まれている。運動モデルは、人体の少なくとも一部をノードとノード間を結ぶ線で単純にモデル化した人体モデル、この人体モデルの座標系やパラメーター、各パラメーターの値の許容範囲現実的に取り得る範囲や終点速度の上限値現実的に取り得る上限値などが定義されたものである。終点速度の計算式は、人体モデルのパラメーターを変数として、人体モデルの原点回転中心から最も遠い末端部のノード終点ノードの速度を計算するための式である。センサー選択情報は、ユーザーの動きに関するデータを取得するために必要なセンサーモジュール10の種類含まれるセンサーの種類や装着場所などの選択情報である。指導用元データは、制約条件を取得するためにユーザーに行ってもらう動きを示すために、指導用情報生成部228がこの動きの画像や指示音声を生成するための元データである。この元データとしては、画像フレームデータであってもよいし、人体モデルのパラメーター値の時系列データであってもよい。HMD30には、前者のデータを用いた場合はリアルな動画像フレームイメージが表示され、後者のデータを用いた場合は人体のスケルトン又はこれに肉付けした人体のアニメーション画像CG画像が表示される。また、指導用元データは、指導用情報生成部228が、制約条件に応じた理想のフォームなどの指導用の画像情報や音情報を生成するための元データとしても兼用される。例えば、指導用元データが画像フレームデータであれば、指導用情報生成部228は、制約条件に応じて当該画像フレームデータを加工して理想のフォームの動画像を生成し、HMD30に表示する。また、指導用元データが人体モデルのパラメーター値の時系列データであれば、指導用情報生成部228は、制約条件に応じて当該時系列データを変更して理想のフォームを表す人体モデル又はこれに肉付けしたモデルのアニメーション画像を生成し、HMD30に表示する。2.運動モデル図5は、腕の運動モデルについて説明するための図である。図5に示すように、腕の運動モデルは、例えば、肩に対応するノードN0、肘に対応するノードN1、手首に対応するノードN2、ノードN0とノードN1を結ぶ直線S1、ノードN1とノードN2を結ぶ直線S2からなる人体モデル、この人体モデルの座標系ノードN0を原点とするxyz座標系やパラメーターθ1,θ2,L1,L2、各パラメーターの値の許容範囲やノードN2の速度V終点速度に対応するの上限値、ノードN2の速度終点速度Vの計算式などが定義されたものである。ここで、θ1は直線S1と直線S2のなす角であり、θ2は特定の1軸例えばx軸と直線S1のなす角であり、L1は直線S1の長さであり、L2は直線S2の長さである。腕の理想のフォームを提供する場合には、このような腕の運動モデルが用いられる。一方、実際の腕の動きを取得するために、図6に示すように、ユーザーの腕の肩、肘、手首に、例えば図3に示したようなバンド14を用いてセンサーモジュール10を装着する。肩に装着するセンサーモジュールの座標系3軸加速度センサーや3軸ジャイロセンサーの座標系は、運動モデルの座標系に合わせるようにする。この時、上腕の中心軸と下腕の中心軸の成す角がθ1に対応し、肩に装着したセンサーモジュールの特定の1軸例えばx軸と上腕の中心軸のなす角がθ2に対応する。また、上腕の長さ肩と肘の距離がL1に対応し、下腕の長さ肘と手首の距離がL2に対応する。θ1,θ2は、ジャイロセンサーの積分結果などから算出可能であり、ノードN1,N2の位置ノードN0に対する相対位置は、加速度センサーや磁気方位センサーの積分結果などから算出可能である。また、ノードN2の速度終点速度Vに対応するは、手首に装着した加速度センサーの積分結果から算出可能である。また、L1,L2は、赤外センサーを用いて計測したり、各ノードの算出結果から計算することもできる。あるいは、L1,L2は不変であるものとして、センサーモジュール10の装着時等にL1,L2を実測して、基本データ264に入力してもよい。この他にも、例えば、図7に示すような足の運動モデルを考えることもできる。この足の運動モデルは、足の付け根に対応するノードN0原点、膝に対応するノードN1、足首に対応するノード終点ノードN2、ノードN0とノードN1を結ぶ直線S1、ノードN1とノードN2を結ぶ直線S2からなる人体モデル、この人体モデルの座標系ノードN0を原点とするxyz座標系やパラメーターθ1,θ2,L1,L2、各パラメーターの値の許容範囲やノードN2の速度V終点速度に対応するの上限値、ノードN2の速度終点速度Vの計算式などが定義されたものである。ここで、θ1は直線S1と直線S2のなす角であり、θ2は特定の1軸例えばx軸と直線S1のなす角であり、L1は直線S1の長さであり、L2は直線S2の長さである。なお、例えばゴルフのドライバーショットなどの実際の運動モデルとしては、図5に示した腕の運動モデル、図7に示した足の運動モデル、その他必要な部位の運動モデルを組み合わせた運動モデルが定義される。3.運動指導装置の処理図8は、運動指導装置1を使用するユーザーが行う動作のフローチャートの一例を示す図であり、図9は、処理部CPU22の全体処理のフローチャートの一例を示す図である。まず、ユーザーは、センサーモジュール10、コントローラー20、HMD30、スピーカー40を装着し、運動指導装置1を起動する図8のS10。処理部CPU22は、競技メニューをHMD30に表示し図9のS30、ユーザーが競技の種類を選択するまで待つ図9のS32のN。この競技メニューの情報は基本データ264に含まれており、処理部CPU22が基本データ264を参照してHMD30に表示する。図4の例では、競技メニューとして、テニス、ゴルフ、野球、卓球、が表示される。ユーザーが、HMD30の表示に従い、競技の種類を選択すると図8のS12、図9のS32のY、処理部CPU22は、ユーザーが選択した競技の種類に対応付けられる練習メニューをHMD30に表示し図9のS34、ユーザーが練習の種類を選択するまで待つ図9のS36のN。この練習メニューの情報は、基本データ264に含まれる、ユーザーにより選択された競技に対応づけられる練習メニューの情報であり、処理部CPU22が基本データ264を参照してHMD30に表示する。図4の例では、図8のS12でユーザーによりゴルフが選択された場合、練習メニューとして、ドライバーショット、アプローチショット、バンカーショット、が表示される。ユーザーが、HMD30の表示に従い、練習の種類を選択すると図8のS14、図9のS36のY、処理部CPU22は、センサーデータの取得と制約条件の算出の処理を行う図9のS38。図10は、このS38の処理のフローチャートの一例を示す図である。処理部CPU22は、まず、選択された運動の種類競技と練習の種類に応じた基本的な動きの画像を表示する図10のS110。この基本的な動きの画像は、処理部CPU22が、基本データ264を参照し、ユーザーにより選択された運動の種類に対応づけられる定義データに含まれる指導用元データを用いて作成し、HMD30に表示する。図4の例において、図8のS12でゴルフが選択され、S14でドライバーショットが選択された場合、ゴルフのドライバーショットの画像フレーム画像又はCG画像が表示される。基本的な動きの画像をHMD30に表示することで、ユーザーは目をずらさずに動くことができる。処理部CPU22は、この基本的な動きの画像の表示を開始するとともに、センサーモジュール10を起動する図10のS112。本実施形態では、図8のS10において、ユーザーは関節を中心とする体の各部にセンサーモジュール10を装着し、処理部CPU22が、基本データ264を参照し、ユーザーにより選択された運動の種類に対応づけられる定義データに含まれるセンサー選択情報に応じて複数のセンサーモジュール10を選択し、選択した複数のセンサーモジュール10を起動する。次に、処理部CPU22は、図10のS112で起動したセンサーモジュール10からセンサーデータの取得を開始する図10のS114。例えば、ユーザーが、コントローラー20等に設けられたスタートスイッチ不図示を押すと処理部CPU22がセンサーデータの取得を開始するようにしてもよいし、処理部CPU22が運動を始めて下さい等のメッセージを表示又は音声出力するとともにセンサーデータの取得を開始するようにしてもよい。そして、ユーザーは、表示された基本的な動きの画像の表示に従い、指示された動きをする図8のS16。図4の例において、図8のS12でゴルフが選択され、S14でドライバーショットが選択された場合、ゴルフのドライバーショットの画像フレーム画像又はCG画像が表示されるので、ユーザーは、実際にドライバーショットの動きをしてみる。処理部CPU22は、ユーザーが運動中、センサーデータの取得を継続し図10のS116のN、センサーデータの取得を終了すると図10のS116のY、図10のS112で起動したセンサーモジュール10を停止する図10のS118。例えば、ユーザーが、コントローラー20等に設けられた終了スイッチ不図示を押すと処理部CPU22がセンサーデータの取得を終了するようにしてもよいし、処理部CPU22が、取得したセンサーデータの変化からユーザーの運動が終了したか否かを判定し、運動が終了したと判定すればセンサーデータの取得を終了するようにしてもよい。次に、処理部CPU22は、取得したセンサーデータに基づいて、運動モデルの各パラメーターの値と終点速度を計算する図10のS120。具体的には、処理部CPU22は、基本データ264を参照し、図8のS12とS14で選択された運動の種類に対応付けられる定義データの運動モデルに含まれる人体モデルの各パラメーターの値や終点速度を、取得したセンサーデータから計算する。図5に示した腕の運動モデルや図7に示した足の運動モデルの例では、パラメーターθ1,θ2,L1,L2、終点速度Vが計算される。次に、処理部CPU22は、妥当なデータの取得に成功したか否かを判定し図10のS122、失敗した場合図10のS122のN、例えば、もう一度お願いします等のメッセージを表示又は音声出力し、図10のS110~S120の処理をもう一度行う。具体的には、処理部CPU22は、図10のS120で計算した各パラメーター値や終点速度が、当該運動モデルにおいて定義されている許容範囲や上限値を超えていれば、妥当なデータの取得に失敗したと判定し、それ以外は妥当なデータの取得に成功したと判定する。図5に示した腕の運動モデルや図7に示した足の運動モデルの例では、パラメーターθ1,θ2,L1,L2が定義された許容範囲を超えているか否か、終点速度Vが定義された上限値を超えているか否かが判定される。一方、妥当なデータの取得に成功した場合図10のS122のY、処理部CPU22は、例えば、ありがとうございました等のメッセージを表示又は音声出力し、制約条件を算出して個人運動データ262に保存する図10のS124。例えば、処理部CPU22は、図10のS120で計算した各パラメーター値の最大値と最小値から、ユーザーに固有の制約条件の1つとして各パラメーターの取り得る範囲可動範囲を算出することができる。図5に示した腕の運動モデルや図7に示した足の運動モデルの例において、例えばパラメーターθ1,θ2の計算値が図11に示すように時間的に変化した場合図10の実線がθ1の計算値、破線がθ2の計算値、処理部CPU22は、スタートから終了までのθ1の最大値又はこれよりも少し大きい値aとθ1の最小値又はこれよりも少し小さい値bを所定のルールで決定し、θ1の可動範囲をa<θ1<bと算出する。同様に、処理部CPU22は、スタートから終了までのθ2の最大値又はこれよりも少し大きい値cとθ2の最小値又はこれよりも少し小さい値dを所定のルールで決定し、θ2の可動範囲をc<θ2<dと算出する。次に、処理部CPU22は、運動モデルの終点速度計算式に制約条件を適用し、理論上の最大終点速度を計算する図9のS40。具体的には、処理部CPU22は、基本データ264を参照し、図8のS12とS14で選択された運動の種類に対応付けられる定義データに含まれる終点速度計算式の各変数各パラメーターに対応する変数に、図10のS124で算出した制約条件を適用し、理論上の終点速度の最大値最大終点速度を計算する。図5に示した腕の運動モデルや図7示した足の運動モデルの例では、理論上の最大終点速度としてノードN2の速度終点速度Vの最大値が計算される。次に、処理部CPU22は、理論上の最大終点速度が得られる理想のフォームを解析し、指導用情報を生成する図9のS42。具体的には、処理部CPU22は、図9のS40で計算した理論上の最大終点速度を達成するための動作条件から理想のフォームを解析し、基本データ264を参照し、図10のS12とS14で選択された運動の種類に対応づけられる定義データに含まれる指導用元データを用いて、理想のフォームを表す指導用画像情報やこの理想のフォームを解説するための指導用音声情報を生成する。図4の例において、図8のS12でゴルフが選択され、S14でドライバーショットが選択された場合、ゴルフのドライバーショットの理想のフォームの画像フレーム画像又はCG画像やこの理想のフォームを解説する音声が生成される。次に、処理部CPU22は、センサーデータの取得とユーザーの動きの評価の処理を行う図9のS44。図12は、このS44の処理のフローチャートの一例を示す図である。処理部CPU22は、まず、図10のS12とS14で選択された運動の種類に応じた指導用情報を出力する図12のS210。具体的には、処理部CPU22は、図9のS42で生成した指導用画像情報や指導用音声情報をHMD30やスピーカー40から出力する。処理部CPU22は、この指導用情報の出力を開始するとともに、センサーモジュール10を起動する図12のS212。次に、処理部CPU22は、図12のS212で起動したセンサーモジュール10からセンサーデータの取得を開始する図12のS214。そして、ユーザーは、指導用情報理想のフォームの画像や音声を参考にして、もう一度、指示された動きをする図8のS18。処理部CPU22は、ユーザーが運動中、センサーデータの取得を継続し図12のS216のN、センサーデータの取得を終了すると図12のS216のY、図12のS212で起動したセンサーモジュール10を停止する図12のS218。なお、図12のS212~S218の処理は、図10のS112~S118の処理と同じでよいので、詳細な説明を省略する。次に、処理部CPU22は、取得したセンサーデータに基づいて、運動モデルの各パラメーターの値と終点速度を計算する図12のS220。次に、処理部CPU22は、妥当なデータの取得に成功したか否かを判定し図12のS222、失敗した場合図12のS222のN、例えば、もう一度お願いします等のメッセージを表示又は音声出力し、図12のS210~S220の処理をもう一度行う。一方、妥当なデータの取得に成功した場合図12のS222のY、処理部CPU22は、例えば、ありがとうございました等のメッセージを表示又は音声出力し、終点速度の最大値を理論上の最大終点速度と比較し、ユーザーの動きを評価する図12のS224。具体的には、処理部CPU22は、図12のS220で計算した終点速度を図9のS40で計算した理論上の最大終点速度と比較し、前者の後者に対する比率前者が後者の何に当たるかを計算する。そして、処理部CPU22は、この比率があらかじめ設定された閾値以上であればユーザーの動きが適切であったと評価し、この比率が閾値未満であればユーザーの動きが不適切であった改善の余地があると評価する。評価の結果、ユーザーの動きが不適切であれば図8のS20のN、図9のS46のN、処理部CPU22は、例えば、もう一度お願いします等のメッセージを表示又は音声出力し、図9のS40~S44の処理をもう一度行い、ユーザーは、指導用情報を参考にして、もう一度指示された動きをする図8のS18。一方、評価の結果、ユーザーの動きが適切であれば図8のS20のY、図9のS46のY、処理部CPU22は、例えば、適切な動きです等のメッセージを表示又は音声出力し、処理を終了する。以上に説明したように、本実施形態の運動指導装置によれば、あらかじめ用意された運動モデルを用いて運動理論に基づく計算を行って好適な動き理想の動きを解析し、指導用情報を生成するので、インストラクター等からデータを取得して指導用情報を編集する手間をなくすことができる。従って、本実施形態の運動指導装置をユーザーが簡単に利用することができる。また、本実施形態の運動指導装置によれば、ユーザーに装着したセンサーモジュール10からデータを取得してユーザー毎に制約条件を生成し、制約条件を満たす範囲での好適な動きを解析するので、ユーザーの体型や動きの癖などの個性に合った指導用情報を提供することができる。そして、ユーザーは、この指導用情報を参考にして、自分の動きと自分に合った好適な動きとの差違がわかるので、動きを効果的に改善することができる。また、本実施形態の運動指導装置によれば、ユーザーの動きから計算される終点速度の理論上の最大終点速度に対する比率により、ユーザーの動きを評価するので、軌跡の差により評価する場合と比較して計算量を大幅に削減することができ、リアルタイム性を向上させることができる。また、本実施形態の運動指導装置によれば、必要なセンサーモジュール10のみ起動してデータを取得するので、センサーモジュール10とコントローラー20の間のデータ通信の負荷を軽減させることができるとともに、消費電力を削減することができる。4.変形例本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。[変形例1]例えば、ユーザーが行う運動の種類に応じて、センサーモジュール10の装着場所や各センサーモジュール10が備えるべきセンサーの種類を変更してもよい。この場合、基本データ264の定義データに含まれるセンサー選択情報は、センサーモジュール10の装着場所と各センサーモジュール10が備えるべきセンサーの種類との対応関係の情報を含むようにしてもよい。そして、ユーザーが選択した運動の種類に応じて、センサーモジュール10の装着場所と各センサーモジュール10が備えるべきセンサーの種類の指示がHMD30などに表示されるようにしてもよい。図13は、本変形例において、ユーザーが行う動作のフローチャートを示す図であり、図14は、処理部CPU22の全体処理のフローチャートを示す図である。なお、図13及び図14において、それぞれ図8及び図9と同じ処理には同じ符号を付しており、その説明を省略する。まず、ユーザーは、コントローラー20、HMD30、スピーカー40を装着し、運動指導装置1を起動する図13のS11。次に、処理部CPU22は、図9のS30~S34の処理と同様に、図14のS30~S34の処理を行った後、各センサーモジュール10が備えるべきセンサーの種類を表示する図14のS37。具体的には、処理部CPU22は、基本データ324を参照し、ユーザーにより選択された運動の種類に対応づけられる定義データに含まれるセンサー選択情報に応じて、センサーモジュール10の装着場所と各センサーモジュール10が備えるべきセンサーの種類の情報をHMD30に表示する。例えば、図15に示すように、肘と肩には、3軸ジャイロセンサーを含むセンサーモジュール10をそれぞれ装着し、手首には、3軸ジャイロセンサーと3軸加速度センサーを含むセンサーモジュール10を装着する指示等が表示される。ユーザーは、HMD30の表示に従い、センサーモジュール10を装着し図13のS15、図8のS16~S20の動作と同様に図13のS16~S20の動作を行い、処理部CPU22は、図9のS38~S46の処理と同様に、図14のS38~S46の処理を行い、処理を終了する。このようにすれば、ユーザーは必要なセンサーモジュール10のみ装着すればよいので、ユーザーの負担を軽減することができる。[変形例2]例えば、ユーザーの動きを評価するためにセンサーデータを取得する毎に、取得したセンサーデータから新たに制約条件を算出し、必要に応じて、個人運動データ262に含まれる既存の制約条件の一部又は全部を更新するようにしてもよい。本変形例における、ユーザーが行う動作のフローチャート図及び処理部CPU22の全体処理のフローチャート図は、それぞれ図8及び図9と同じである。図16は、本変形例における、センサーデータの取得とユーザーの動きの評価の処理図9のS44の処理のフローチャートを示す図である。図16において、図12と同じ処理には同じ符号を付しており、その説明を省略する。処理部CPU22は、図12のS210~S224の処理と同様に、図16のS210~S224の処理を行った後、制約条件を算出し、必要に応じて、個人運動データに含まれる既存の制約条件の一部又は全部を更新する図16のS226。例えば、処理部CPU22は、既存の制約条件のすべてを上書き更新するようにしてもよいし、新たに算出した制約条件毎に既存の制約条件と比較し、新たな制約条件よりも不適切な例えば、制約条件が緩すぎたり、厳しすぎる既存の制約条件のみ、新たな制約条件に更新するようにしてもよい。そして、処理部CPU22は、更新後の制約条件を用いて、再度、理想のフォームを解析して指導用画像情報や指導用音声情報を作成し、HMD30やスピーカー40から出力する図9のS40,S42。このようにすれば、ユーザーが同じ動きを繰り返し行うことでその動きに慣れてきて、ユーザーの各部の可動範囲、最大限出せる速度やトルク、軌跡のくせなどが変化するような場合でも、最新の制約条件に順次更新しながら理想のフォームを微修正することができるので、より適切な指導用情報を提供することができる。[その他の変形例]例えば、図10において、処理部CPU22は、取得したセンサーデータから、ユーザーの体の各部の軌跡を計算し、計算により得られた軌跡を、図8のS14でユーザーにより選択された運動の種類に対応して用意された基準となる軌跡と比較し、計算により得られた軌跡が基準となる軌跡から大幅に逸脱していれば妥当なデータの取得に失敗したと判定し、そうでなければ妥当なデータの取得に成功したと判定するようにしてもよい。また、例えば、本実施形態では、終点速度の理論上の最大終点速度に対する比率によりユーザーの動きの評価を行っているが、ユーザーの動きから計算される人体モデルの動きの軌跡を、運動理論に基づく計算を行って得られる理想的な動きの軌跡と比較し、その差違によりユーザーの動きの評価を行うようにしてもよい。なお、本実施形態の運動指導装置は、ゴルフ等のスポーツ以外の運動にも適用することができる。例えば、歩行訓練や手足の上げ下げなどのリハビリ運動にも適用することができる。HMDで実際の体の動きとリハビリプログラムとの違いを指摘すれば、達成度や成果を確かめながら、前向きにリハビリに取り組むことができる。なお、センサーモジュール10は、腰、肩、肘などリハビリ時の動きの要点に装着すればよい。本発明は、実施の形態で説明した構成と実質的に同一の構成例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。"