以下本発明をその実施の形態を示す図面に基づき具体的に説明する。
図1は、本発明の運動支援装置を含む運動支援システムの概要を示す模式的概念図である。運動支援システムは中央装置3、端末装置2,2,…及び運動支援装置1,1,…を含んで構成される。複数の端末装置2,2,…が通信ネットワークNを介して中央装置3に接続されており、各端末装置2は、運動を希望するユーザが通う運動施設Gに設置されている。運動施設Gには、端末装置2と共に、複数の運動支援装置1,1,…が設置されており、運動支援装置1,1,…は運動施設G内のLAN(Local Area Network)により端末装置2に接続されている。中央装置1と端末装置2,2,…とは、通信ネットワークNを介して各種の情報を相互に送受信し、端末装置2と運動支援装置1,1,…とは、運動施設G内のLANを介して各種の情報を相互に送受信する。
運動施設G内には、ユーザが運動を行うための運動用ブース5が複数設けられており、運動支援装置1,1,…の夫々は運動用ブース5,5,…の夫々に配置されている。本発明の運動支援システムは、複数の運動動作からなる運動メニューを作成し、運動用ブース5内で運動を行うユーザに対して、運動メニューに従った順に運動動作の指示を表示することによって、ユーザの運動の支援を行う。なお、以下に説明する本実施の形態においては、必要な処理を端末装置2及び運動支援装置1,1,…が分散して行う形態について説明するが、単体の運動支援装置1が端末装置2を介さずに中央装置3に接続されており、端末装置2及び運動支援装置1が分散して行うべき処理を運動支援装置1が単体で行う形態であってもよい。
図2は運動用ブース5の概要を示す模式図である。運動用ブース5はプライバシーを保護するために個室内にそれぞれ設置されている。なお、図示しないカーテン等により運動用ブース5を覆うことによりプライバシーを保護するようにしても良い。運動用ブースは正面パネル51、右側パネル52及び左側パネル53を含んで構成される。正面パネル51は例えば矩形板状の木等から構成され、高さ方向における略中央部を境に、その上半分の領域に第1表示部141が嵌め込まれており、またその下半分の領域に第2表示部142が嵌め込まれている。なお、第1表示部141はその中心位置が女性の平均身長に基づく視線位置と略一致する位置に配置することが好ましい。また第2表示部142はその中心位置が、底辺から約50cmの位置に配置することが好ましい。
上側に設置される第1表示部141はユーザが起立した状態で運動する際の手本となる動画像を表示するためのものである。一方、下側に設置される第2表示部142はユーザが座った状態または寝た状態で運動する際の手本となる動画像を表示するためのものである。正面パネル51の上辺左右端にはスピーカ19,19がそれぞれ取り付けられている。スピーカ19,19は第1表示部141及び第2表示部142に表示される動画像に係る音声を出力する。
正面パネル51の上辺略中央部にはカメラ133が設置されている。また第1表示部141と第2表示部142との間には、ユーザから操作されて情報を入力される入力部131が操作部分を第1表示部141、第2表示部142の表示方向と同じ方向に臨ませてパネル51に取り付けられている。第1表示部141、第2表示部142、カメラ133、スピーカ19,19及び入力部131はコンピュータ10に接続され、運動支援装置1を構成している。
図3は本発明の運動支援装置1の内部構成を示すブロック図である。運動支援装置1は、第1表示部141、第2表示部142、カメラ133、スピーカ19及び入力部131とコンピュータ10とから構成される。コンピュータ10は、演算手段として演算を行うCPU(Central Processing Unit )11と、演算に伴って発生する一時的な情報を記憶するRAM(Random Access Memory)12と、ハードディスク又は不揮発性の半導体メモリ等の記憶部(記憶手段)15とを備えている。記憶部15は、本発明のコンピュータプログラム150を記憶しており、CPU11は、必要に応じて記憶部15からRAM12へコンピュータプログラム150をロードし、ロードしたコンピュータプログラム150に基づいて運動支援装置1に必要な処理を実行する。またコンピュータ10は、LANを介して端末装置2と通信を行う通信部16、及び計時部18を備えている。RAM12、記憶部15、通信部16及び計時部18は、コンピュータ10内のバス17を介してCPU11に接続されている。また第1表示部141、第2表示部142、カメラ133、スピーカ19及び入力部131の夫々は、直接に又は各種のインタフェースを介してバス17に接続され、バス17を介してCPU11に接続されている。
第1表示部141及び第2表示部142は、例えば液晶ディスプレイ等であり、運動メニューに従った運動動作の指示を動画像で表示する。第1表示部141及び第2表示部142は、本発明における表示部に対応する。入力部131はプッシュボタン等により構成される。なお、第1表示部141又は第2表示部142上に入力部131を積層し、タッチパネルとしても良い。スピーカ19は動画像に伴う音声を増幅して出力する。通信部16は例えば有線又は無線のLANカード等であり、端末装置2との間で必要な情報を送受信する。
計時部18は、特定のトリガーから経過した時間を測定する。カメラ133はCCD(Charge Coupled Device )等の撮像素子を有し、取り込んだ画像をA/D変換した後、変換後の画像データをCPU11へ出力する。記憶部15は、運動DB(データベース)151、姿勢優先情報152、身体部位優先順位153、表示設定情報154及び運動メニュー155が記憶されている。なお、本実施の形態においては記憶部15内部に運動DB151等を記憶する形態につき説明するが、通信部16を介して接続される図示しないデータベースサーバにこれらの情報を記憶し、必要に応じて読み書きするようにしても良い。なお、これらの詳細については後述する。なお、各DB及びファイルのデータの持ち方はあくまで一例であり、これに限定するものではない。
図4は、記憶部15が記憶する運動DB151の内容例を示す説明図である。運動DB151は、運動メニュー155を構成するための個々の構成要素を記録したデータベースであり、運動の種類、一通りの運動動作を示す運動パーツ、運動動作により負荷が加わる身体部位及び運動動作時のユーザの姿勢が記録されている。運動の種類として、ストレッチ、エアロビクス、及び筋トレ(筋肉トレーニング)等、大まかな運動の種類が記録されている。図中には、運動の種類として3種類を示したが、他の運動の種類が運動DB151に記録されていてもよい。
各運動の種類に関連付けて、夫々が一通りの運動動作を示す複数の運動パーツが記録されている。例えば、ストレッチに関連付けて、「立位で腕を後に組み、胸をそらす」及び「仰臥位で膝を抱え込む」等の運動パーツが記録されている。運動パーツは、複数の運動動作からなる運動メニュー155の構成単位となる。また各運動パーツに関連付けて、運動パーツが示す運動動作をユーザが行うことによって負荷が掛けられるユーザの身体部位と、運動パーツが示す運動動作をユーザが行う際にユーザがとる姿勢とが記録されている。図5は、本発明で利用可能な各姿勢を説明する説明図である。運動動作を行う際にユーザがとる姿勢として立位、仰臥位、伏臥位、横臥位及び座位がある。図4に示す例では、例えば、「立位で腕を後に組み、胸をそらす」の運動パーツには、胸の身体部位と立位の姿勢とが関連付けられており、「仰臥位で膝を抱え込む」の運動パーツには、臀部の身体部位と立位の姿勢とが関連付けられている。図4の例では、一つの身体部位と一つの運動パーツとが関連付けられた例を示しているが、一つの身体部位が複数の運動パーツに関連付けられていてもよい。
また運動DB151は、各運動パーツに関連付けて、当該運動パーツの運動動作を動画像で指示するための画像データを記録している。例えば、「立位で腕を後に組み、胸をそらす」の運動パーツには、人物が立位の状態で腕を後に組み、胸をそらす運動動作を行う動画像を表す画像データが関連付けられている。この画像データとしては、予めインストラクタが運動する様子を撮影した動画像を表す画像データを記録しておけばよい。その他、3Dポリゴンにより構成されるキャラクタ画像に運動パーツが示す運動動作を行わせた動画像の画像データを記録しておく、又は、運動動作の指示を表示する都度、キャラクタ画像を動作させるようにしても良い。本実施の形態においては、キャラクタ画像を動作させた画像データを運動パーツ毎に予め記録しておく形態につき説明する。
図4にはストレッチについて詳細を示しているが、エアロビクス及び筋トレの運動の種類についても同様に各種のデータが記録されている。即ちステップ及び筋トレの夫々に関連付けて、複数の運動パーツが記録されており、各運動パーツに関連付けて身体部位、姿勢及び画像データが記録されている。エアロビクスには、サイドステップ又はジョギング等の各種の有酸素運動を示す運動パーツが関連付けられており、筋トレには、ストレッチに関連付けられた運動パーツと同一の身体部位が関連付けられた運動パーツが関連付けられている。更に運動DB151には、図示しないウォーミングアップ用の画像データが記録されている。
図6は、姿勢優先情報152の内容例を示す概念図である。姿勢優先情報152は、運動動作を行う際にユーザがとる姿勢の優先順位を定めた情報であり、運動メニュー155に含まれる運動パーツの順序は、運動パーツに関連付けられた姿勢の優先順位に従って定められることとなる。姿勢優先情報152では、順序を定めるべき運動動作を行う直前にユーザがとる姿勢が立位であるか否かの場合に分けて優先順位を定めてある。図中に示す数字が小さいほど優先順位は高い。直前の姿勢が立位である場合は、立位の優先順位が最高であり、座位の優先順位が最低である。また直前の姿勢が立位ではない場合は、座位の優先順位が最高であり、立位の優先順位が最低である。仰臥位、横臥位、伏臥位及び座位の低い姿勢は、優先順位が連続しており、また直前の姿勢が立位であるか否かに応じて立位の優先順位を最高又は最低にしているので、優先順位に従って運動パーツの順序を定めたときに、立位の高い姿勢と他の低い姿勢との間で姿勢を大きく変更する回数が小さくなる。従って、ユーザは運動時に姿勢を変更しやすくなり、姿勢変更によるユーザの負担が軽減される。
図7は、身体部位優先情報153の内容例を示す概念図である。身体部位優先情報153は、運動動作により負荷が加わる身体部位の優先順位を定めた情報であり、同一の姿勢に関連付けられた運動パーツの順序は、運動パーツに関連付けられた身体部位の優先順位に従って定められることとなる。図中に示す数字が小さいほど優先順位は高い。図7に示す例では、足首及びふくらはぎの優先順位が高く、肩及び首の優先順位が低い等、頭から遠い身体部位ほど優先順位が高くなっている。
図8は、表示設定情報154の内容例を示す概念図である。表示設定情報154は、運動メニュー155に従った順に運動動作の指示を表示する際に、各運動パーツが示す運動動作の指示を第1表示部141及び第2表示部142のどちらに表示するのかを定めた情報である。表示設定情報154では、各運動パーツに関連付けられた姿勢に対応して、第1表示部141又は第2表示部142のいずれかを定めてある。ユーザが立位の姿勢をとっている場合は、ユーザの視線は高くなるので、運動動作の指示を表示する表示部として、より上側の位置に配置されてある第1表示部141が立位に対応して定められている。またユーザが仰臥位、横臥位、伏臥位又は座位の姿勢をとっている場合は、ユーザの視線は低くなるので、運動動作の指示を表示する表示部として、より下側の位置に配置されてある第2表示部142が仰臥位、横臥位、伏臥位及び座位に対応して定められている。
図9は端末装置2の内部構成を示すブロック図である。端末装置2は、汎用のコンピュータを用いてなり、演算を行うCPU21、RAM22、入力部23、表示部24、記憶部25及び通信部26を備える。RAM22、入力部23、表示部24、記憶部25及び通信部26は、バス27を介してCPU21に接続されている。RAM22は、半導体素子で構成され、CPU21が実行する演算に必要な情報を記憶する。記憶部25は、ハードディスク又は不揮発性の半導体メモリ等で構成され、制御プログラム25Pを記憶しており、CPU21は、必要に応じて記憶部25からRAM22へ制御プログラム25Pをロードし、ロードした制御プログラム25Pに基づいて処理を実行する。
表示部24は例えば液晶ディスプレイ等であり、入力部23はキーボードまたはマウス等により構成される。なお、表示部24と入力部23とを一体化しタッチパネルとしても良い。表示部24及び入力部23は、例えば運動施設Gのカウンタに設置される等、運動施設Gに来店したユーザが表示部24の表示内容を表示しながら入力部23を操作することができるように設置されている。通信部26はファイアウォールとしての機能を果たすゲートウェイ等である。通信部26は、LANを介して運動支援装置1,1,…と通信を行い、又、通信ネットワークNを介して中央装置3と通信を行う。
記憶部25は、運動施設Gを利用するユーザに係る情報を記録したユーザDB251を記憶する。なお、本実施の形態においては記憶部25内部にユーザDB251等を記憶する形態につき説明するが、通信部26を介して接続される図示しないデータベースサーバにこれらの情報を記憶し、必要に応じて読み書きするようにしても良い。
図10は中央装置3の内部構成を示すブロック図である。中央装置3は、汎用のコンピュータを用いてなり、演算を行うCPU31、RAM32、通信部36及び記憶部35を備える。RAM32、通信部36及び記憶部35は、バス37を介してCPU31に接続されている。RAM32は、半導体素子で構成され、CPU31が実行する演算に必要な情報を記憶する。記憶部35は、ハードディスク又は不揮発性の半導体メモリ等で構成され、制御プログラム35Pを記憶しており、CPU31は、必要に応じて記憶部35からRAM32へ制御プログラム35Pをロードし、ロードした制御プログラム35Pに基づいて処理を実行する。通信部36はファイアウォールとしての機能を果たすゲートウェイ等であり、通信ネットワークNを介して端末装置2と通信を行う。
次に、以上の構成でなる運動支援システムによりユーザの運動を支援する処理を説明する。端末装置2は、運動施設Gに来店したユーザの個人情報を登録する処理を行う。運動支援装置1は、端末装置2が登録した個人情報に基づいて運動メニュー155を作成し、作成した運動メニュー155に従った運動動作の指示を表示する処理を行う。
図11は、端末装置2が行う個人情報の登録の処理の手順を示すフローチャートである。新規のユーザが運動施設Gに来店した場合、ユーザ又は運動施設Gのスタッフが入力部23を操作することにより、端末装置2は、ユーザ登録の指示を受け付ける。ユーザ登録の指示を受け付けた場合、端末装置2のCPU21は、新規のユーザを特定するIDとして、ユーザDB251に記録されていない新たなIDを一つ設定する(S11)。IDは、本発明の運動支援システムを利用する各ユーザを特定するための固有の識別情報である。CPU21は、次に、予め記憶部25に記憶してある登録画面用のデータを読み出し、ID以外のユーザの個人情報を登録するための登録画面を表示部24に表示させる(S12)。
図12は、表示部24が表示する登録画面の例を示す模式図である。登録画面には、氏名、電子メールアドレス、年齢、性別、平常時の心拍数または運動習慣等を含む個人情報を入力する画面の他、ID及び登録ボタンが表示される。図12の例では、IDとして「XX01」がCPU21により割り振られている。ユーザは、端末装置2の表示部24に表示される登録画面を閲覧しながら、入力部23を操作して必要な情報を入力する。ユーザは入力部23を用いて、個人情報である氏名、電子メールアドレス、年齢、性別、平常時の心拍数及び運動習慣を入力する。平常時の心拍数はユーザが脈拍計により予め計測した脈拍を入力する。運動習慣としては複数の選択肢が表示されており、ユーザは入力部23を用いて該当する運動習慣を一つ選択する。例えばユーザが週末だけ運動する場合は、番号3が選択される。ユーザは全ての項目を入力し終えた場合は、入力部23を用いて登録画面上の登録ボタンを指定する。
CPU21は、ユーザの操作により入力部23から入力される氏名、電子メールアドレス、年齢、性別、平常時の心拍数、又は運動習慣を含む個人情報を受け付ける(S13)。ユーザが登録画面上の登録ボタンを指定することに応じて、CPU21は、個人情報の受け付けを終了し、次に、受け付けた個人情報をIDに関連付けて、記憶部25が記憶するユーザDB251に記録し(S14)、登録の処理を終了する。なお、本実施の形態においては、ユーザが端末装置2の入力部23からこれらの情報を入力する例について説明したが、運動支援装置1の入力部13からこれらの情報を入力して端末装置2へ送信し、端末装置2にて記憶するようにしても良い。また、ユーザが使用する図示しないパーソナルコンピュータ(PC)又は携帯電話機等に表示されるWebブラウザを介して、これらの情報を入力し、通信ネットワークNを介して端末装置2へ送信しても良い。
図13は、記憶部25が記憶するユーザDB251の内容例を示す説明図である。ユーザDB251には、ユーザのID、氏名、電子メールアドレス、年齢、性別、平常時の心拍数、及び運動習慣が記録されている。ユーザDB251では、入力部23を通じて端末装置2に入力された個人情報がIDに関連付けて記録されている。図12の例ではID「XX01」のユーザは、氏名及び電子メールアドレスの他、年齢が25、性別は女性、平常時の心拍数は65、運動習慣は5とそれぞれ記録されている。なお、運動習慣は5が「毎日運動する」であり、4が「週3回程度運動する」であり、3が「週末だけ運動する」であり、2が「月1回程度運動する」であり、1が「ほとんど運動しない」、に対応づけられている。このように数値が大きくなるほど運動習慣が多くなるよう設定している。
ユーザは初期登録後、運動支援装置1が備わる運動用ブース5へ移動し、運動支援装置1を操作する。運動支援装置1は、ユーザに対して運動メニュー155を作成する処理を行う。図14は、運動支援装置1が運動メニュー155を作成する処理の手順を示すフローチャートである。運動支援装置1のCPU11は、入力部131をユーザが操作することによる、IDの受け付けを待ち受ける(S21)。IDの受け付けがない場合は(S21:NO)、CPU11はIDの受け付けの待ち受けを続行する。IDを受け付けた場合は(S21:YES)、CPU11は、通信部16に、受け付けたID及びユーザの個人情報の要求を端末装置2へ送信させる(S22)。端末装置2は、通信部26でID及個人情報の要求を受信し、CPU21は、受信したIDを記憶部25が記憶するユーザDB251から検索する。CPU21は、受信したIDがユーザDB251に記録されていない場合は、通信部26に運動支援装置1へエラーを送信させる。CPU21は、受信したIDがユーザDB251に記録されている場合は、受信したIDに関連付けてユーザDB251に記録されている個人情報を、通信部26に運動支援装置1へ送信させる。
運動支援装置1のCPU11は、ステップS22の後、端末装置2から送信される情報の受信を待ち受ける(S23)。情報の受信がない場合は(S23:NO)、CPU11は、情報の受信の待ち受けを続行する。端末装置2から送信された情報を通信部16で受信した場合は(S23:YES)、CPU11は、受信した情報が個人情報であるか否かを判定する(S24)。受信した情報が個人情報ではなくエラーであった場合は(S24:NO)、CPU11は、処理を終了する。受信した情報が個人情報であった場合は(S24:YES)、CPU11は、受け付けたID、及び受信した個人情報に含まれる氏名を第1表示部141又は第2表示部142に表示させる(S25)。ユーザは、ここで、自分の名前が表示されていることを確認できる。
CPU11は、次に、ユーザが鍛える身体部位を入力するための入力画面を第1表示部141又は第2表示部142に表示させる(S26)。図15は、鍛える身体部位を入力するための入力画面の例を示す模式図である。CPU11は記憶部15に記憶した運動目的たる鍛える身体部位を入力するための入力画面を読み出し、第1表示部141又は第2表示部142に表示させる。ユーザは、入力部13を操作することにより、運動目的の一つとして、身体中で具体的に鍛える身体部位を入力画面上で入力する。身体部位として、首、肩、三角筋、胸、腕、腹部、臀部、大腿前面、大腿背面、ふくらはぎ及び足首等が表示され、ユーザは入力部13を用いて、鍛えることを希望する身体部位を選択する。なお、鍛える部位は一つだけではなく、複数選択しても良い。各部位にはチェックボックスが並記されており、入力部13の選択によりチェックマークが入力画面上に表示される。
なお、本実施の形態においては、「肩」を鍛える等、身体部位を直接に指定させるようにしたが、これ以外にも抽象的な運動目的を表示するようにしても良い。例えば「腕力をつけたい」、「おなか周りを小さくしたい」、または「肩こりを治したい」等の目的を選択させるようにしても良い。運動目的が「腕力をつけたい」の場合、肩、腕、及び胸が鍛える身体部位として、「おなか周りを小さくしたい」の場合、腹部が鍛える身体部位として、また「肩こりを治したい」の場合は肩が鍛える身体部位としてCPU11により図示しないテーブルを参照して選択される。CPU11は鍛える身体部位に合わせて表示される決定ボタンの操作を入力部13から受け付けた場合、入力部13から入力された鍛える身体部位の情報を受け付ける。本例では、鍛える身体部位として肩、三角筋、胸及び大腿前面が選択されたものとして説明する。
CPU11は、入力画面上で鍛える身体部位が指定されると共に決定ボタンが操作されることによる、表示した入力画面を利用した身体部位の受け付けを待ち受ける(S27)。身体部位の受け付けがない場合は(S27:NO)、CPU11は、受け付けの待ち受けを続行する。入力部131から身体部位を受け付けた場合は(S27:YES)、CPU11は、受信した個人情報、及び受け付けた身体部位に応じ運動メニュー155を生成する運動メニュー生成処理を実行する(S28)。
図16及び図17は、運動支援装置1が行う運動メニュー生成処理のサブルーチンの手順を示すフローチャートである。図18は、運動メニュー155の例を示す概念図である。運動支援装置1が作成する運動メニュー155は、複数の運動パーツからなり、ウォーミングアップと、エアロビクス及び筋トレが繰り返されるメインメニューと、クーリングダウンとを含んで構成される。本実施の形態においては、メインメニューとしてエアロビクスと筋トレとを交互に繰り返し行うサーキット型のメニューを作成する例について説明する。
CPU11は、最初にユーザに指示すべき運動動作を示す運動パーツとして、ウォーミングアップを運動メニュー155の冒頭に配置する(S301)。ウォーミングアップは全ユーザに共通のものであり、体温を上昇させ強度の高い運動ができる状態にする運動が用意されている。CPU11は、次に、運動DB151に記録された運動の種類が筋トレである運動パーツの中から、ステップS27で受け付けた身体部位に関連付けられた運動パーツを選択する(S302)。本例では、CPU11は、運動の種類が筋トレである運動パーツの内、身体部位として肩、三角筋、胸及び大腿前面に関連付けられた運動パーツを選択する。なお、一の身体部位に複数の運動パーツが関連付けられている場合は、各運動パーツについて運動の負荷を予め記録しておき、個人情報に含まれる運動習慣又は性別等に応じた適切な負荷が記録されている運動パーツを選択するようにしてもよい。
CPU11は、次に、運動DB151に記録された運動の種類がエアロビクスである運動パーツの中から、筋トレについて選択した運動パーツと同数の運動パーツを選択する(S303)。即ち、筋トレについて4種類の運動パーツが選択されているので、エアロビクスについても4種類の運動パーツが選択される。なお、選択されるエアロビクスの運動パーツの数は、筋トレと同数である必要はなく、筋トレについて選択される運動パーツの数に関わらずに常に同じ数の運動パーツを選択するようにしてもよい。またエアロビクスに関連付けられた運動パーツを選択する際には、常に同じ運動パーツを選択してもよく、運動パーツをランダムに選択してもよく、筋トレについて選択された運動パーツに予め関連付けられてある運動パーツを選択してもよく、またユーザの個人情報に応じて運動パーツを選択してもよい。
CPU11は、次に、選択した筋トレ及びエアロビクスの運動パーツをウォーミングアップの運動パーツに続けて配置する(S304)。図18に示す例では、CPU11は、選択した運動パーツであるエアロビクス1,2,3,4と筋トレ1,2,3,4とを交互に配置して各運動パーツの順序を定めた1ユニットのメニューをウォーミングアップの次の順序に配置する。更にCPU11は、1ユニットのメニューを複数個順番に配置することにより、選択した筋トレ及びエアロビクスの運動パーツの順序を定める。このステップS304の処理により、メインメニューが生成される。
CPU11は、次に、順序を定めた筋トレ及びエアロビクスの運動パーツの内、最後の運動パーツが示す運動動作を行うためにユーザがとる姿勢が立位であるか否かを判定する(S305)。ステップS305では、CPU11は、運動パーツに関連付けて運動DB151で記録されている姿勢を読み出し、読み出した姿勢が立位であるか否かを判定する。なお、CPU11は、最後の運動パーツに関連付けて運動DB151で記録されている画像データを読み出し、画像データが表す動画像に含まれるキャラクタ画像の姿勢を判定する処理を行ってもよい。
最後の運動パーツが示す運動動作を行うためにユーザがとる姿勢が立位である場合は(S305:YES)、CPU11は、メインメニューに続く運動パーツとして、立位でのサイドステップ等の、立位での運動動作を示す運動パーツを配置する(S306)。CPU11は、次に、記憶部15が記憶する姿勢優先情報152から、直前の姿勢が立位である場合の姿勢の優先順位を取得する(S307)。ステップS305で、最後の運動パーツが示す運動動作を行うためにユーザがとる姿勢が立位ではない場合は(S305:NO)、CPU11は、メインメニューに続く運動パーツとして、座位での腕ふり運動等の、座位での運動動作を示す運動パーツを配置する(S308)。CPU11は、次に、記憶部15が記憶する姿勢優先情報152から、直前の姿勢が立位でない場合の姿勢の優先順位を取得する(S309)。ステップS306又はS308で配置する運動パーツは、メインメニューに続くクーリングダウンの最初の運動パーツであり、予め定められている。本例では、図18に示すように、メインメニューの最後の運動パーツである筋トレ4に関連付けられた姿勢は立位であるので、クーリングダウンの最初の運動パーツとして立位でのサイドステップが配置され、直前の姿勢が立位である場合の姿勢の優先順位が取得される。
ステップS307又はステップS309が終了した後は、CPU11は、運動DB151に記録された運動の種類がストレッチである運動パーツの中から、ステップS27で受け付けた身体部位に関連付けられた運動パーツを選択する(S310)。本例では、身体部位として肩、三角筋、胸及び大腿前面の夫々に関連付けられた、「あぐらでの肩まわし」(ストレッチ005)、「立位で片腕を横に引く」(ストレッチ001)、「立位で腕を後に組み、胸をそらす」(ストレッチ000)及び「横臥位で片足を引き寄せる」(ストレッチ004)が選択される。
CPU11は、次に、選択した運動パーツに関連付けて運動DB151で記録されている姿勢を読み出すことにより、各運動パーツが示す運動動作を行うためにユーザがとる姿勢を決定する(S311)。本例では、図4に示すように、ユーザがとる姿勢は、ストレッチ000及びストレッチ001については立位、ストレッチ004については横臥位、ストレッチ005については座位となる。なお、運動支援装置1は、運動DB151に姿勢を予め記録しておくのではなく、選択した運動パーツに関連付けて運動DB151で記録されている画像データを読み出し、画像データが表す動画像に含まれるキャラクタ画像の姿勢を判定することにより、各運動パーツが示す運動動作を行うためにユーザがとる姿勢を決定する形態であってもよい。
CPU11は、次に、選択した運動パーツを姿勢別に分類する(S312)。CPU11は、次に、選択した運動パーツに係る姿勢の内に、複数の運動パーツが分類された姿勢があるか否かを判定する(S313)。複数の運動パーツが分類された姿勢がある場合は(S313:YES)、CPU11は、各運動パーツに関連付けられた身体部位に応じ、身体部位優先情報153に定めてある身体部位の優先順位に従って、同一の姿勢に分類された複数の運動パーツの順序を決定する(S314)。本例では、ストレッチ000及びストレッチ001が同一の姿勢である立位に分類され、図7に示すように、三角筋よりも胸の方が身体部位の優先順位が高いので、胸に関連付けられたストレッチ000の順位の方が三角筋に関連付けられたストレッチ001の順位よりも先の順位となる。
ステップS313で複数の運動パーツが分類された姿勢がない場合(S313:NO)、又はステップS314が終了した場合は、CPU11は、ステップS307又はステップS309で取得した姿勢の優先順位に従って、姿勢別に分類した運動パーツの順序を決定する(S315)。本例では、図6の直前が立位である場合の優先順位に従って、立位に係るストレッチ000及びストレッチ001、横臥位に係るストレッチ004、座位に係るストレッチ005の順序となる。以上の処理でストレッチの運動パーツの順序が決定し、CPU11は、既に配置された運動パーツに続けて、決定した順序でストレッチの運動パーツを配置する(S316)。
CPU11は、次に、既に配置された運動パーツの内、最後の運動パーツが示す運動動作を行うためにユーザがとる姿勢が立位であるか否かを判定する(S317)。最後の運動パーツが示す運動動作を行うためにユーザがとる姿勢が立位である場合は(S317:YES)、CPU11は、次の運動パーツとして、立位での深呼吸を示す運動パーツを配置する(S318)。ステップS317で、最後の運動パーツが示す運動動作を行うためにユーザがとる姿勢が立位ではない場合は(S317:NO)、CPU11は、次の運動パーツとして、座位での深呼吸を示す運動パーツを配置する(S319)。本例では、図18に示すように、ステップS317での最後の運動パーツであるストレッチ005に係る姿勢は立位ではないので、座位での深呼吸を示す運動パーツが配置される。ステップS318又はステップS319で配置される運動パーツは、クーリングダウンの最後の運動パーツであり、運動メニュー155の最後の運動パーツである。これまでの処理により、運動メニュー155に含まれる運動パーツの順序が定められる。
CPU11は、次に、表示設定情報154で定められている姿勢と表示部との対応を参照して、各運動パーツが示す運動動作の指示を表示する表示部を決定する(S320)。即ち、CPU11は、各運動パーツが示す運動動作の指示を表示する表示部として、第1表示部141及び第2表示部142の内、各運動パーツに係る姿勢に表示設定情報154で対応付けられている表示部に決定する処理を行う。CPU11は、各運動パーツの順序を定めた運動メニュー155を生成する運動メニュー生成処理を以上で終了し、処理をメインへ戻す。CPU11は、次に、生成した運動メニュー155を記憶部15に記憶させ(S29)、処理を終了する。
以上の処理により、運動支援装置1は、図18に示す如き運動メニュー155を作成する。図18に示すように、運動メニュー155は、ウォーミングアップと、エアロビクス及び筋トレを交互に繰り返すメインメニューと、クーリングダウンからなり、クーリングダウンは筋トレで鍛えた身体部位のストレッチを含む。クーリングダウンに含まれる運動パーツは、ユーザが姿勢を変更しやすいように定めた姿勢の優先順位に従って順序を決定してある。また、図示はしていないものの、運動メニュー155において、運動動作の指示に伴って再生する楽曲を各運動パーツに対応付けており、各楽曲を再生するための楽曲データは、記憶部15に記憶されている。なお、以上の処理では、クーリングダウンの最初の運動パーツとしてストレッチ以外の運動パーツを配置する例を示したが、運動支援装置1は、クーリングダウンの最初からストレッチを行う運動メニュー155を作成してもよい。また、ウォーミングアップの内容は全ユーザに共通でもよく、ユーザ別に定めてもよい。
運動支援装置1は、次に、運動メニュー153に従った順に運動動作の指示を表示する処理を行う。図19は、運動動作の指示を表示するために運動支援装置1が行う処理の手順を示すフローチャートである。
CPU11は、記憶部15に記憶する運動メニュー155を読み出し、運動メニュー155の内容に従って、運動メニュー155に含まれる最初の運動パーツに係る画像データ及び楽曲データを記憶部15から読み出す(S41)。CPU11は、次に、読み出した画像データに基づいた動画像を表示部に表示させる動画再生を開始する(S42)。ステップS42では、CPU11は、第1表示部141及び第2表示部142の内、運動メニュー155にて運動パーツに関連付けられている表示部に動画像を表示させる。表示される動画は、インストラクタの画像又はキャラクタ画像が運動パーツの運動動作の手本を示す動画であり、ユーザは動画を見ながら運動動作を行う。また動画像の再生に伴い、CPU11は、読み出した楽曲データに基づいた楽曲をスピーカ19,19から再生させる。このようにして、CPU11は、運動動作の指示を表示部に表示する。
CPU11は、動画再生を開始した後、運動メニュー155で定められた運動パーツの継続時間が経過して、動画再生が終了したか否かを判定する(S43)。まだ動画再生が終了していない場合は(S43:NO)、動画再生の処理を続行し、動画再生が終了したか否かの判定を繰り返す。動画再生が終了した場合は(S43:YES)、CPU11は、次に運動動作を指示すべき運動パーツが運動メニュー155に含まれているか否かを判定する(S44)。次の運動パーツがある場合は(S44:YES)、CPU11は、処理をステップS41へ戻し、運動メニュー155に定められた順序に従って、次に運動動作を指示すべき運動パーツに係るデータを記憶部15から読み出す。次に運動動作を指示すべき運動パーツが運動メニュー155に含まれていない場合は(S44:NO)、CPU11は、運動メニュー155に従って運動動作の指示を表示する処理を終了する。
以上詳述した処理により、本発明の運動支援装置1は、複数の運動動作を指示する順序を定めた運動メニュー155を作成し、運動メニュー155に従って運動動作の指示を表示し、ユーザは指示に従った運動動作を行う。本発明では、運動メニュー155を作成する際に、運動動作を行うためにユーザがとる姿勢別に運動動作を分類し、予め定めてある姿勢の優先順位に従って運動動作の順序を決定する。立位等の高い姿勢と座位及び伏臥位等の低い姿勢とを別々にまとめ、高い姿勢と低い姿勢との間で姿勢を大きく変更する回数が小さくなるようにユーザが姿勢を変更しやすい順序で姿勢の優先順位を定めておくことにより、姿勢変更によるユーザの負担が軽減される。また本発明においては、運動メニュー155を作成する際に、姿勢が同じ運動動作の順序はまとめて連続した順序とすることにより、ユーザは姿勢変更に煩わされずに運動に専念することができる。特に、ストレッチ等のゆっくりした運動の最中には急激な姿勢変更が困難であるので、ユーザは、本発明により、姿勢変更に煩わされずにストレッチ等のゆっくりした運動を運動メニュー155に定められた時間内でより効果的に行うことができる。
また本発明の運動支援装置1は、運動動作を行うためにユーザがとる姿勢に応じて、運動動作の指示を表示する表示部を定める。立位等の高い姿勢をとる場合は高い位置にある第1表示部141に運動動作の指示を表示し、座位又は伏臥位等の低い姿勢をとる場合は低い位置にある第2表示部142に運動動作の指示を表示する。ユーザは、姿勢に応じて見易い位置に運動動作の指示が表示されるので、無理なく運動動作の指示を確認し、効果的に運動を行うことができる。なお、本実施の形態においては、第1表示部141及び第2表示部142の二つの表示部を備えた形態を示したが、これに限るものではなく、本発明の運動支援装置1は、より多くの表示部を備え、ユーザの姿勢に応じてより細かく表示部を切り換える形態であってもよい。
また本実施の形態においては、運動の種類がストレッチである運動パーツの順序を姿勢の優先順位に従って定める形態を示したが、これに限るものではなく、本発明の運動支援装置1は、運動の種類がヨガ等のその他の種類である運動パーツについても、その順序を姿勢の優先順位に従って定める形態であってもよい。