以下、本発明の実施形態について図面を参照して説明する。図1Aは、運動支援システム1が導入された部屋Rを、斜め上方から視た斜視図である。図1Bは、運動支援システム1が導入された部屋Rを、上面から視た図である。さらに、図1Aでは、部屋Rにいるユーザ5が、運動支援システム1を使用する一例を示す。部屋Rは、例えば、複数のユーザ5が仕事を行うオフィスの一室である。運動支援システムは、部屋Rにいる複数のユーザ5が運動レッスンを一斉に行う際に用いられる。運動レッスンには、運動動作を示す少なくとも1以上の運動が定められる。ユーザ5は、オフィスで仕事をする合間の休憩時間等に、運動支援システム1を用いて、運動レッスンを行う。運動支援システム1は、本発明の運動支援装置10と、ルータ20と、複数の出力端末装置30と、スピーカ40とを備える。なお、運動支援装置10は、部屋Rの外に設けられていてもよく、後述する無線または有線のネットワークを介して、ルータ20と、複数の出力端末装置30と、スピーカ40とに接続されていてもよい。本実施形態の運動支援システム1では、出力端末装置30は、9台備えられる。出力端末装置30は、例えばPCであり、制御部およびディスプレイが一体に形成された装置である。各出力端末装置30は、各ユーザ5が使用する机上に設けられ、ユーザ5と一対一で対応付けられている。机は、3つが隣り合わせに設けられた組を1列として、2列が対向に配置される。また、さらに他の列が、所定の間隔を開けた通路を挟んで、所定の列と背中合わせに設けられる。このとき、所定の間隔とは、例えば、ユーザ2人分の横幅程の距離であり、ユーザ2人がすれ違うために必要となる程度の距離である。
本実施形態では、図1Aに示す部屋Rのような限られた運動スペース内で、複数のユーザ5が隣り合って存在する状況において、部屋R内での各ユーザ5の所在を示す位置情報を取得する。取得した位置情報を用いて、部屋R内に存在する複数のユーザ5を、隣り合うユーザ5が同じグループに配されないよう、複数のグループに分別する。本実施形態では、図1Bに示すように、出力端末装置30a〜30iを使用するユーザ5a〜5iの9人を、グループaとグループbとの2つのグループに分別する。そして分別したグループaとbとのユーザ5に、それぞれ同じ運動タイミングで異なる動作範囲の運動を決定する。この動作範囲は、取得した位置情報から求められる、隣り合うユーザ間の距離を用いて決定される。これにより、本実施形態では、隣り合うユーザ5に、同じ運動タイミングで動作範囲が異なる運動を行わせることで、ユーザ5間の距離が狭い場合であっても、隣り合うユーザの手足が互いにぶつからないように、運動を行わせることができる。
次に、運動支援システム1の構成を説明する。図2は、運動支援システム1の電気的構成の概要を示す図である。運動支援装置10は、ルータ20を介して、出力端末装置30a〜30iと、スピーカ40とに接続される。ルータ20と、出力端末装置30a〜30iおよびスピーカ40は、有線または無線により接続される。運動支援装置10は、CPU11と、HDD12と、RAM13と、ROM14と、ネットワーク接続部15と、情報受信部16と、情報入力部17とを備える。CPU11は、HDD12と、RAM13と、ROM14と、ネットワーク接続部15と、情報受信部16とに接続される。情報入力部17は、情報受信部16と接続される。情報入力部17は、例えば、所定のファイルを読み込むインタフェース、または所定のデータを入力するリモコン等である。また、HDD12は、運動支援装置10が備えず、運動支援装置10の外部から、情報受信部16や図示外のインタフェースを介してCPU11と接続されるものであってもよい。
HDD12は、楽曲情報記憶領域121と、運動情報記憶領域122と、運動映像情報記憶領域123とを備える。楽曲情報記憶領域121は、運動支援システム1を用いて運動レッスンが実行される際にスピーカ40から楽曲を出力するための多数の楽曲情報を記憶する。運動情報記憶領域122は、運動レッスンを構成する複数の運動の選択候補となる複数の運動情報を記憶する。運動映像情報記憶領域123は、運動レッスンを構成する複数の運動が実行されるときに、出力端末装置30のディスプレイに出力させる複数の運動映像を記憶する。運動映像情報記憶領域123に記憶される運動映像は、運動情報記憶領域122に記憶される複数の運動の選択候補となる複数の運動情報と対応する映像である。
図3Aは、HDD12の運動情報記憶領域122に記憶される運動情報の内容の一例を示す運動データテーブルの構成図である。図3Aに示す運動データテーブルには、複数の運動目的と、複数の動作範囲と、複数の運動名と、複数の基本カウント数とが対応付けられる。詳細には、1種類の運動目的に、複数の動作範囲と、複数の運動名が対応付けて記憶される。複数の動作範囲には、各運動名で示される各運動の動作で動く手または足の動作範囲の大きさが異なる複数種類が定められる。
図3Bは、運動データテーブルに定められる動作範囲の詳細を説明する図である。動作範囲には、片手または片足の前後および左右の動作範囲がそれぞれ異なる複数種類が定められる。具体的には、各運動に動作範囲A〜Fの6種類のいずれかが定められている場合、動作範囲A、Bの運動は、片足の前後および左右の動作範囲が等しく、且つ、動作範囲Bの運動の片手の前後および左右の動作範囲は、動作範囲Aの運動の片手の前後および左右の動作範囲より大きく定められている。動作範囲C、Dの運動は、片足の前後および左右の動作範囲が等しく、且つ、動作範囲A,Bの運動の片足の前後および左右の動作範囲より大きい。さらに、動作範囲Dの運動の片手の前後および左右の動作範囲は、動作範囲Cの運動の片手の前後および左右の動作範囲より大きく定められている。動作範囲E、Fの運動は、片足の前後および左右の動作範囲が等しく、且つ、動作範囲C,Dの運動の片足の前後および左右の動作範囲より大きい。さらに、動作範囲Fの運動の片手の前後および左右の動作範囲は、動作範囲Eの運動の片手の前後および左右の動作範囲より大きく定められている。
運動データテーブルには、動作範囲ごとに、少なくとも1つ以上の運動が対応付けられる。図3Aに示す運動データテーブルでは、5種類の運動目的について、1種類の運動目的につき、6種類の動作範囲A〜Fが対応付けられ、各動作範囲に、運動を示す運動名が4つずつ対応付けて記憶される。さらに、運動ごとに、運動所要長さを拍数で示す基本カウント数が対応付けられる。例えば、図3Aに示す運動データテーブルでは、運動「肩こり_A_1」〜「肩こり_F_1」は、基本カウント数「8」拍が定められる。同様に、運動「肩こり_A_2」〜「肩こり_F_2」は、基本カウント数「16」拍が定められ、運動「肩こり_A_3」〜「肩こり_F_3」は、基本カウント数「32」拍が定められる。あるいは、運動ごとに対応付けられる基本カウント数は、基準とする所定のカウント数(たとえば8拍)の繰り返し回数を、運動ごとにそれぞれ定めたものであってもよい。いずれの運動に対応付けられる基本カウント数も、所定のカウント数の整数倍とすることにより、複数のユーザが、対応付けられた基本カウント数が異なる運動を同時に行う場合であっても、繰り返し回数を異ならせることにより、同じ長さの運動をそれぞれ行うことが可能である。なお、基本カウント数は、各運動目的と対応付けられていてもよい。運動データテーブルにおいて、運動目的と、基本カウント数は、1種類のみが記憶されるものであってもよい。また、基本カウント数のほか、運動時間を示す秒数であってもよい。また、基本カウント数に繰り返し回数や運動テンポ(BPM)が対応付けられていてもよい。運動データテーブルは、図3Aに示す運動データテーブルのほか、複数種類の体型、体力別に、異なる運動データテーブルが用意されてもよい。
RAM13は、第1運動リスト一時記憶領域131と、第1運動映像情報一時記憶領域132と、第2運動リスト一時記憶領域133と、第2運動映像情報一時記憶領域134と、楽曲情報一時記憶領域135と、ユーザ位置情報一時記憶領域136と、ユーザ運動範囲一時記憶領域137とを備える。第1運動リスト一時記憶領域131と、第2運動リスト一時記憶領域133とには、CPU11により実行される運動決定処理により決定される第1運動リストと、第2運動リストがそれぞれ記憶される。第1運動映像情報一時記憶領域132と、第2運動映像情報一時記憶領域134とには、運動決定処理により決定される第1運動リストおよび第2運動リストに従って実行される運動を映像により示す運動映像が、それぞれ記憶される。楽曲情報一時記憶領域135には、第1運動リストと第2運動リストに構成される運動の実行と共に再生される所定の楽曲が記憶される。
ユーザ位置情報一時記憶領域136は、部屋R内のユーザ5の所在位置を示す位置情報が記憶される。各ユーザ5の位置情報は、情報入力部17を介して取得されるデータから判断することができる。情報入力部17を介して取得されるデータは、例えば、部屋R内の各ユーザ5の所在位置および各出力端末装置30の配置を含むフロアマップ、あるいは、部屋R内にいるユーザ5の所在位置を示す座標等である。情報入力部17を介して取得されるデータが、フロアマップである場合、ユーザ所在位置は、具体的には、部屋R内にいるユーザ5それぞれに定められている着席位置を示す情報である。また、ユーザ位置情報一時記憶領域136には、ユーザ5の所在位置だけでなく、ユーザ5の向きを示す情報が所在位置と対応付けて記憶されてもよい。
ユーザ運動範囲一時記憶領域137は、運動を行うユーザ5の基準とする均等分割時の動作範囲と、最大の動作範囲と、最小の動作範囲とが記憶される。基準とする均等分割時の動作範囲と、最大の動作範囲と、最小の動作範囲との詳細は後述する。ユーザ運動範囲一時記憶領域137に記憶される情報は、情報入力部17を介して取得され、ユーザ位置情報一時記憶領域136に記憶されるユーザ5の所在位置ごとに、ユーザ5の所在位置と対応付けて記憶される。
ROM14は、運動決定プログラム記憶領域141と、運動構成情報記憶領域142と、動作範囲対応ペア記憶領域143とを備える。運動決定プログラム記憶領域141には、運動決定プログラムが記憶される。CPU11は、運動決定プログラムに従って、後述の運動決定処理を実行する。運動構成情報記憶領域142には、多数の運動構成情報が記憶される。運動構成情報は、運動レッスン時間ごとに、運動レッスン時間で行われる運動レッスンを構成する複数のエクササイズ枠が、運動カウントと対応付けられた情報である。運動構成情報は、運動レッスン時間ごとに、複数のエクササイズ枠に、運動カウントと、運動目的とが対応付けられていてもよい。この場合、エクササイズ枠と運動カウントが同一であっても、運動目的ごとに異なる運動構成情報が記憶される。さらに、エクササイズ枠ごとに実行順序が対応付けられてもよい。なお、運動カウントは、拍数により示されるが、基本カウント数と同様に、秒数により示されてもよい。さらに、繰り返し回数や運動テンポ(BPM)が定められていてもよい。運動決定処理が実行されると、ユーザ5が運動する運動レッスン時間に応じて定められた複数のエクササイズ枠それぞれに、エクササイズ枠に対応付けられた運動カウントの運動が設定される。本実施形態において、エクササイズ枠に対応付けられた運動カウントは、基本カウント数と繰り返し回数の積により示される1つのエクササイズ枠番号に対応して行われる運動の総拍数である。動作範囲対応ペア記憶領域143には、基準とする均等分割時の動作範囲ごとに定められた動作範囲対応ペアが、複数の動作範囲について記憶される。
図3Cは、動作範囲対応ペア記憶領域143に記憶される動作範囲対応ペアの一例を示す図である。図3Cは、一例として、動作範囲A〜Fが定められているときに、基準とする均等分割時の動作範囲がDである場合の動作範囲対応ペアを示す。基準とする均等分割時の動作範囲については、後述にて説明する。図3Cでは、基準とする動作範囲がDであるときに、各動作範囲の運動に、いずれの動作範囲の運動がペアとなれるかを示している。例えば、動作範囲がAの運動に、ペアとなれる運動の動作範囲は、A,B,C,D,E,Fである。動作範囲がBの運動に、ペアとなれる運動の動作範囲は、A,B,C,D,Eである。動作範囲がCの運動に、ペアとなれる運動の動作範囲は、A,B,C,Dである。動作範囲がDの運動に、ペアとなれる運動の動作範囲は、A,B,Cである。動作範囲がEの運動に、ペアとなれる運動の動作範囲は、A,Bである。動作範囲がFの運動に、ペアとなれる運動の動作範囲は、Aである。図示しないが、基準とする均等分割時の動作範囲を、A〜C,E,Fのいずれとする場合においても、同様にそれぞれ動作範囲対応ペアが定められている。
本実施形態における運動決定処理は、図4に示す手順に沿って実行される。図4は、CPU11により実行される運動決定プログラムの処理手順を示すフローチャートである。運動決定処理は、ユーザにより、運動支援装置1の電源がONされたとき、開始される。
ステップS1では、運動支援装置1の電源がOFFされたか否かが判断される。ステップS1で、電源がOFFされたと判断されると(ステップS1:YES)、運動決定処理が終了される。電源がOFFされたと判断されないと(ステップS1:NO)、ステップS2が実行される。
ステップS2では、フロアマップ読み込み処理が実行される。図5は、フロアマップ読み込み処理の処理手順を示す運動決定処理のサブフローチャートである。フロアマップ読み込み処理が実行されると、まず、ステップS21の処理が実行される。
ステップS21では、フロアマップ読み込みが行われる。フロアマップは、例えば、部屋Rの各種の装置およびユーザ5の配置を示すファイルであり、外部入力部17を介して読み込まれる。フロアマップは、部屋R内に存在する複数のユーザ5の位置情報と出力端末装置30の配置情報を含む。本実施形態では、ステップS21により読み込まれるフロアマップには、図1Bに示す9人のユーザ5a〜5iの部屋R内での着席位置を示す位置情報と、各ユーザ5a〜5iと9台の出力端末装置30a〜30iとの一対一の対応関係を示す配置情報が含まれる。
ステップS22では、各ユーザ5a〜5iの位置情報が取得される。各ユーザ5a〜5iの位置情報は、フロアマップから取得される。あるいは、各ユーザ5a〜5iが、位置を検知可能なGPS機能等の装置を所持している場合は、各ユーザ5a〜5iが所持する装置から位置情報を取得してもよい。ステップS21およびステップS22において取得された各種の情報(例えば、出力端末装置30の向きを含む配置情報等)を用いて、部屋R内にいる各ユーザ5a〜5iの所在位置に加え、各ユーザ5a〜5iの方向を判断することも可能である。
ステップS23では、RAM13のユーザ位置情報一時記憶領域136に位置情報が既に記憶されている場合は、記憶されている位置情報を読み出し、ステップS22において取得された各ユーザ5a〜5iの位置情報と一致するか否かが判断される。取得された各ユーザ5a〜5iの位置情報が、RAM13から読み出された位置情報と一致すると判断されると(ステップS23:YES)、フロアマップ読み込み処理は終了される。RAM13のユーザ位置情報一時記憶領域136に位置情報が記憶されていない場合、あるいは、取得された各ユーザ5a〜5iの位置情報が、RAM13から読み出された位置情報と一致しないとき、各ユーザ5a〜5iの位置情報は一致すると判断されない。各ユーザ5a〜5iの位置情報が一致すると判断されないとき(ステップS23:NO)、ステップS24の処理が実行される。各ユーザ5a〜5iの位置情報が一致すると判断されないとき(ステップS23:NO)、ステップS22において取得されたユーザ5a〜5iの位置情報は、ユーザ位置情報一時記憶領域136に記憶される。
ステップS24では、部屋R内の各ユーザ5同士の間の距離を決定する。各ユーザ5間の距離は、ステップS22において取得される各ユーザ5a〜5iの位置情報を用いて、隣り合うユーザ5間の直線距離を求めて決定される。ユーザ5間の直線距離は、各ユーザ5a〜5iのいずれかを基準として、基準のユーザ5の左右方向および前後方向に隣り合うユーザ5との間の距離を求めることにより決定される。あるいは、ユーザ5の左右及び前後の方向が特定不可能な場合は、各ユーザ5a〜5iのいずれかを基準として、交差する2方向について、隣り合うユーザ5との間の距離を求め、いずれか長い方を左右方向とし、短い方を前後方向と仮定して定める。具体的には、例えば、図1Bに示すようにユーザ5hを基準として、左方向に隣り合うユーザ5gとの間の距離Xと、前方向に隣り合うユーザ5eとの間の距離Yとを求める。
なお、ステップS24において、各ユーザ5同士の間の距離は、例えば、基準とする所定のユーザ5と、そのユーザ5と隣り合うユーザ5との間の距離が、基準値として定められる。あるいは、各ユーザ5a〜5iと、隣り合うユーザ5とのすべての間の距離を求めてもよい。各ユーザ5a〜5iと隣り合うユーザ5とのすべての間の距離が求められる場合、例えば、最も短い左右方向と前後方向の距離が、部屋R内のユーザ5同士間の距離と決定される。
ステップS25では、部屋R内の複数のユーザ5についてグループ分けを行う。ステップS25では、部屋R内にいる各ユーザ5a〜5iを、隣り合うユーザ5が互いに同じグループに属さないように、グループを分別する。具体的には、図1Bに示すように、9人のユーザ5a〜5iを、隣り合うユーザ同士が異なるグループに属するように、グループaとbとに分別する。このとき、フロアマップから、隣り合うユーザ間の距離が十分に離れていると判断される場合、あるいは、隣り合うユーザ間に家具などが存在し、互いに接触する恐れがないと判断される場合は、隣り合うユーザ5は、隣同士であっても同じグループに分別されてもよい。
ステップS25におけるグループaとbの分別は、ユーザ5a〜5iのうち、基準に定めた所定のユーザ5を所定のグループと定め、前後および左右に隣り合うユーザ5を異なるグループと定める。例えば、図1Bに示す9人のユーザ5a〜5iについて分別するとき、ユーザ5hを基準に定めた場合、ユーザ5hをグループaと定め、ユーザ5hと前後および左右に隣り合うユーザ5e、5g、5iをグループbと定める。さらに、グループbと定められたユーザ5eを基準に定め、ユーザ5eと前後および左右に隣り合うユーザ5b、5d、5fをグループaと定める。グループaと定められた5bと左右に隣り合うユーザ5a、5cをグループbと定める。
ステップS26では、ステップS24において決定された各ユーザ5間の距離を用いて、基準とする均等分割時の動作範囲が決定される。基準とする均等分割時の動作範囲とは、具体的には、各ユーザ5の1人当たりの片手の動作許容範囲を示す距離であり、隣り合うユーザ5間の直線距離を、間の空間を共有する2人で均等分割した1人当たりの片手の動作範囲の距離が定められる。1人当たりの動作範囲の距離が、例えば、前述した図3Bの運動データテーブルに記憶される動作範囲A〜Fのいずれの片手の動作範囲と相当するかが決定される。決定された動作範囲A〜Fのいずれかが、基準とする均等分割時の動作範囲と定められる。
例えば、ステップS24において、図1Bに示すユーザ5hと左方向に隣り合うユーザ5gと間の左右方向の距離Xが、350cmであると決定されると、ステップS26において、1人当たりの左右方向の動作範囲の距離が、175cmと定められる。ユーザ5hと前方向に隣り合うユーザ5fと間の前後方向の距離Yが、270cmであると決定されると、ステップS26において、1人当たりの前後方向の動作範囲の距離が、135cmと定められる。このとき、1人当たりの左右方向の動作範囲の距離175cmおよび前後方向の動作範囲の距離135cmは、図3Bの運動データテーブルを参照すると、動作範囲A〜Fのうち、動作範囲Dの片手の動作範囲が相当する。よって、基準とする均等分割時の動作範囲は、動作範囲Dと定められる。このとき、左右方向の距離と、前後方向の距離とにより、左右方向および前後方向で異なる動作範囲と相当する場合は、左右方向および前後方向のいずれか狭い動作範囲が、基準とする均等分割時の動作範囲に相当すると定められる。なお、本実施形態において、図1Bに示す机が、左右方向の長さが全て同じ机であるとき、1つの机の中央から左右方向の端部までの長さは、1人当たりの左右方向の動作範囲と同じであり、動作範囲Dに相当する長さである。
ステップS27では、ステップS26において定められた基準とする均等分割時の動作範囲から、ユーザ5に動作させる運動の最大動作範囲が決定される。具体的には、ステップS26において定められた基準とする均等分割時の動作範囲に対応して定められている動作範囲対応ペアに従って、最大の動作範囲が定められた動作範囲が決定される。例えば、ステップS26において基準とする均等分割時の動作範囲がDと定められたとき、図3Cに示すように、動作範囲A〜Fについて、それぞれペアとなれる運動の動作範囲が定められている。この動作範囲A〜Fのうち、動作範囲が最大であるのは、動作範囲Fであるため、ステップS27では、最大動作範囲は、Fと決定される。
ステップS28では、ステップS27の最大の動作範囲と同様に、ステップS26において定められた基準とする均等分割時の動作範囲から、最小の動作範囲が決定される。具体的には、ステップS26において定められた基準とする均等分割時の動作範囲について定められた動作範囲対応ペアのうち、最小の動作範囲が定められた動作範囲が決定される。例えば、ステップS26において基準とする均等分割時の動作範囲がDと定められたとき、図3Cに示すように、動作範囲A〜Fについて、それぞれペアとなれる運動の動作範囲が定められている。この動作範囲A〜Fのうち、動作範囲が最小であるのは、動作範囲Aであるため、ステップS28では、最小動作範囲は、Aと決定される。
ステップS26において決定された基準とする均等分割時の動作範囲と、ステップS27において決定された最大の動作範囲と、ステップS28において決定された最小の動作範囲とは、ユーザ位置情報一時記憶領域136に記憶されたユーザの位置情報と対応付けて、ユーザ運動範囲一時記憶領域137に記憶される。ステップS21〜ステップS28のフロアマップ読み込み処理がすべて実行されると、次に、ステップS3の処理が実行される。
ステップS3では、複数のレッスン目的の候補から、運動レッスンを行うレッスン目的が決定される。レッスン目的の候補は、例えば、図3Aの目的に示す「肩こり解消」、「腰痛解消」、「ストレッチ」、「気分転換」、「冷え性解消」等である。これらのレッスン目的が、例えば、いずれかの出力端末装置30に表示され、部屋R内で運動するユーザ5により、表示された複数のレッスン目的から一又は複数のレッスン目的を指定されると、運動レッスンで実行するレッスン目的が決定される。レッスン目的の指定は、情報入力部17を介して行われる。あるいは、運動支援装置10により、任意の種類および数のレッスン目的が自動で定められてもよい。
続いて、ステップS4により、運動レッスン時間が決定される。運動レッスン時間は、情報入力部17を介して指定される。あるいは、運動レッスン時間は、予め定められた一定の時間であってもよい。運動レッスンは、部屋Rが会社のオフィスである場合、業務の休憩中に行われることが考えられる。この場合、運動レッスン時間は、5分〜15分程度である。
ステップS5では、運動レッスンの実施時刻が設定される。運動レッスンの実施時刻には、絶対時間が定められる。実施時刻は、複数の時刻が定められてもよい。例えば、部屋Rが会社のオフィスである場合、一定時間の業務おきに、所定時間の休憩が定められている場合がある。この場合、休憩ごとに運動レッスンの実施時刻が設定されていてもよい。
ステップS6では、レッスンプログラム作成処理が実行される。図6は、レッスンプログラム作成処理の処理手順を示すチャートである。レッスンプログラム作成処理では、ステップS61〜ステップS69の処理が順に実行される。
ステップS61では、ステップS4において決定された運動レッスン時間から、運動レッスンで行われる運動のエクササイズ枠数と、各エクササイズ枠に対応付けたエクササイズ枠ごとの運動カウントとが決定される。エクササイズ枠数および運動カウントは、ROM14の運動構成情報記憶領域142に記憶された運動構成情報を参照して決定される。具体的には、運動構成情報記憶領域142から、ステップS4において決定された運動レッスン時間と対応付けられている運動構成情報を抽出し、抽出した運動構成情報に定められたエクササイズ枠と運動カウントとが決定される。ステップS61が行われると、例えば、抽出した運動構成情報から、エクササイズ枠と運動カウントとが、図7Aに示すように決定される。図7Aでは、ユーザ5a〜5iが分別された2つのグループについて、枠番号「1」〜「6」の6つのエクササイズ枠が定められ、枠番号「1」〜「6」のエクササイズ枠に運動カウント「32」拍が定められている。
ステップS62では、運動を決定するエクササイズ枠の枠番号が「1」と設定される。ステップS62が実行されると、続けて、ステップS63が実行される。
ステップS63では、運動を決定するエクササイズ枠の枠番号が、ステップS61において決定されたエクササイズ枠数以下であるか否かが判断される。エクササイズ枠の枠番号が、エクササイズ枠数以下であると判断されないとき(ステップS63:NO)、レッスンプログラム作成処理が終了される。エクササイズ枠の枠番号が、エクササイズ枠数以下であると判断されるとき(ステップS63:YES)、ステップS64の処理が実行される。
ステップS64では、エクササイズ枠の枠番号が奇数であるか否かが判断される。エクササイズ枠の枠番号が奇数であると判断されると(ステップS64:YES)、ステップS65の処理が実行される。エクササイズ枠の枠番号が奇数であると判断されないとき(ステップS64:NO)、ステップS67の処理が実行される。
ステップS65では、第1グループであるグループaの設定されたエクササイズ枠の枠番号の運動が決定される。例えば、ステップS62においてエクササイズ枠の枠番号が「1」と設定された以降で1回目のステップS65の処理が行われる場合は、グループaのエクササイズ枠の枠番号「1」の運動と運動の繰り返し回数が決定される。ステップS65では、ステップS3において決定されたレッスン目的の運動のうち、ステップS26で決定された基準とする均等分割時の動作範囲以上であり、且つ、ステップS27で決定された最大の動作範囲以下である動作範囲の運動が決定される。決定される運動には、基本カウント数が、エクササイズ枠の枠番号に対応付けられた運動カウント以内の運動が決定される。また、ステップS3において複数種類の目的が定められていた場合は、そのうちいずれか1つのレッスン目的の運動が決定される。
例えば、ステップS3において運動目的に、「腰痛解消」、「気分転換」、「ストレッチ」が選択されていた場合、エクササイズ枠の枠番号「1」の運動を決定する1回目のステップS65では、運動目的「腰痛解消」の運動が決定される。このとき、例えば、ステップS26において、基準とする均等分割時の動作範囲が運動範囲Dと決定され、ステップS27において、最大の動作範囲が、動作範囲Fと決定されている場合、ステップS65の処理では、基本カウント数が「32」拍以内であって、動作範囲D〜Fの「腰痛解消」の運動「腰痛_D_1」、「腰痛_E_1」、「腰痛_F_1」、「腰痛_D_2」、「腰痛_E_2」、「腰痛_F_2」、「腰痛_D_3」、「腰痛_E_3」、「腰痛_F_3」の選択候補から、例えば、「腰痛_E_1」の運動が決定される。このとき、エクササイズ枠の枠番号「1」の運動は、運動カウント「32」拍と定められているため、決定された「腰痛_E_1」の運動の繰り返し回数が「4」と決定される。
続いて、ステップS66では、第2グループであるグループbの設定されたエクササイズ枠の枠番号の運動が決定される。例えば、ステップS62においてエクササイズ枠の枠番号が「1」と設定された以降で1回目のステップS66の処理が行われる場合は、グループbのエクササイズ枠の枠番号「1」の運動が決定される。ステップS66では、直前のステップS65において決定されたレッスン目的の運動であり、且つ、その動作範囲が、ステップS26で決定された基準とする均等分割時の動作範囲の2倍と、直前のステップS65において決定された運動の動作範囲との差以下である運動が決定される。
例えば、直前のステップS65で動作範囲Eの「腰痛_E_1」の運動が決定されたとき、ステップS66では、「腰痛_E_A」の基本カウント「8」拍と、ステップS26で決定された基準とする均等分割時の動作範囲Dの2倍とステップS65で決定された動作範囲Eとの差から、基本カウント数が「8」拍の運動であって、動作範囲A〜Cの「腰痛解消」の運動である「腰痛_A_1」、「腰痛_B_1」、「腰痛_C_1」が選択候補となり、例えば、「腰痛_A_1」の運動が決定される。繰り返し回数は、「4」と決定される。
ステップS67では、エクササイズ枠の枠番号に1が加算される。例えば、直前のステップS65およびステップS66の処理で、エクササイズ枠の枠番号が「1」と設定された運動が、決定されている場合は、ステップS67では、エクササイズ枠の枠番号が「2」と設定される。ステップS67の処理が行われると、ステップS63の処理が実行される。
ステップS63において、運動を決定するエクササイズ枠の枠番号が、ステップS61において決定されたエクササイズ枠数以下であると判断され、ステップS64において、ステップS64において、エクササイズ枠の枠番号が奇数であると判断されないとき(ステップS64:NO)、すなわち、エクササイズ枠の枠番号が偶数であるときは、ステップS68の処理が実行される。
ステップS68では、直前のステップS66の処理において決定された第2グループの枠番号の運動が、ステップS68において決定対象である第1グループの枠番号の運動に決定される。言い換えると、エクササイズ枠の枠番号が1つ前の枠番号のグループbの運動が、次の枠番号のグループaの運動に決定される。
例えば、ステップS68では、直前のステップ66の処理において、グループbの枠番号「1」の運動が、「腰痛_A_1」の運動と決定されたとき、グループaの枠番号「2」の運動が、「腰痛_A_1」の運動と決定される。枠番号「2」には、運動カウントが「32」拍と定められているため、「腰痛_A_1」の繰り返し回数は、「4」と決定される。
ステップS69では、直前のステップS65の処理において決定された第1グループの枠番号の運動が、ステップS69において決定対象である第2グループの枠番号の運動に決定される。言い換えると、エクササイズ枠の枠番号が1つ前の枠番号のグループaの運動が、次の枠番号のグループbの運動に決定される。
例えば、図7Bに示すように、ステップS69では、直前のステップ65の処理において、グループaの枠番号「1」の運動が、「腰痛_E_1」の運動と決定されたとき、グループbの枠番号「2」の運動が、「腰痛_E_1」の運動と決定される。これらステップS65、S68の処理により決定された運動は、第1運動リスト一時記憶領域131に枠番号と対応付けて記憶される。ステップS66,S69において決定された運動は、第2運動リスト一時記憶領域133に枠番号と対応付けて記憶される。第1運動リスト一時記憶領域131および第2運動リスト一時記憶領域133に運動が記憶されるとき、それぞれに対応する運動映像が、HDD12の運動映像情報記憶領域123から読み出され、第1運動映像情報一時記憶領域132および第2運動映像情報一時記憶領域134に記憶される。
レッスンプログラム作成処理のステップS61〜S67の処理が繰り返し実行されると、例えば、図7Bに示す運動レッスンが決定される。図7Bは、ステップS3において運動目的に「腰痛解消」、「気分転換」、「ストレッチ」が選択され、ステップS61においてエクササイズ枠数が6と決定されたときの運動レッスンの一例である。エクササイズ枠の枠番号「2」における第1グループであるグループaと第2グループであるグループbと運動は、エクササイズ枠の枠番号「1」の運動とグループを逆にした形で設定されている。エクササイズ枠の枠番号「4」における第1グループであるグループaと第2グループであるグループbとの運動は、エクササイズ枠の枠番号「3」の運動とグループを逆にした形で設定されている。エクササイズ枠の枠番号「6」における第1グループであるグループaと第2グループであるグループbとの運動は、エクササイズ枠の枠番号「5」の運動とグループを逆にした形で設定されている。
図7Bに示す運動レッスンが実行されると、運動レッスンに従ってグループaのユーザおよびグループbのユーザが行う運動範囲は、運動レッスンのエクササイズ枠の枠番号の順に、図8Aおよび図8Bに示すように変化する。図8Aは、図7Bに示す運動レッスンの枠番号が奇数の場合におけるグループaおよびグループBの動作範囲の概要を示す図である。図8Bは、図7Bに示す運動レッスンの枠番号が偶数の場合におけるグループaおよびグループbの動作範囲の概要を示す図である。図8Aおよび図8Bでは、グループaおよびグループbのユーザの両手の動作範囲を破線により示し、両足の動作範囲を点線により示す。
例えば、図7Bに示す運動レッスンの枠番号「1」の運動が行われると、グループaのユーザおよびグループbのユーザは、図8Aに示す動作範囲である運動を行う。続いて、図7Bに示す運動レッスンの枠番号「2」の運動が行われると、グループaのユーザおよびグループbのユーザは、図8Aに示す動作範囲である運動を行う。このとき、枠番号「1」の運動を行う場合、グループaのユーザの片手の動作範囲は、グループbのユーザの片手の動作範囲より大きく、且つ、前述した机の中央から左右方向の端部の長さに相当する動作範囲Dより大きい。枠番号「1」の運動を行う場合、グループbのユーザの片手の動作範囲は、前述した机の中央から左右方向の端部の長さに相当する動作範囲Dより小さい。一方、枠番号「2」の運動を行う場合、グループaのユーザの片手の動作範囲は、前述した机の中央から左右方向の端部の長さに相当する動作範囲Dより小さい。グループbのユーザの片手の動作範囲は、グループaのユーザの片手の動作範囲より大きく、且つ、前述した机の中央から左右方向の端部の長さに相当する動作範囲Dより大きい。図示はしないが、図7Bに示す運動レッスンの枠番号「3」、「5」の運動を行うグループaのユーザの片手の動作範囲は、グループbのユーザの片手の動作範囲より大きく、且つ、動作範囲D以上である。枠番号「3」、「5」の運動を行うグループbのユーザの片手の動作範囲は、動作範囲Dより小さい。図7Bに示す運動レッスンの枠番号「4」、「6」の運動を行うグループaのユーザの片手の動作範囲は、動作範囲Dより小さい。枠番号「3」、「5」の運動を行うグループbのユーザの片手の動作範囲は、グループaのユーザの片手の動作範囲より大きく、且つ、動作範囲D以上である。
このように、第1グループであるグループaと、第2グループであるグループbの運動について、偶数の枠番号の運動は、直前の奇数の枠番号の運動の第1グループと第2グループとを交換して設定することにより、エクササイズ枠数が偶数である場合、第1グループであるグループaと、第2グループであるグループbとは、同じエクササイズで構成される運動レッスンを決定することができる。
また、図3Aの運動データテーブルを参照すると、図8Bに示す運動レッスンにおいて、各枠番号のグループaとグループbとの運動には、同じレッスン時間の運動が設定されている。このように、グループaとグループbとで、同じ時間の運動が実行されると、グループaのユーザとグループbのユーザは、次の枠番号の運動へ移行するときに、同じタイミングで運動を切り換えるため、間違えずに各運動を行うことができる。
レッスンプログラム作成処理が終了されると、ステップS7の処理が実行される。ステップS7では、ステップS5において設定された運動レッスンの実施時刻になったか否かが判断される。運動レッスンの実施時刻になったと判断されると(ステップS7:YES)、ステップS8の処理が実行される。運動レッスンの実施時刻になったと判断されないと(ステップS7:NO)、ステップS1の処理が実行される。
ステップS8では、グループaのユーザ5と対応付けられた出力端末装置30と、グループbのユーザ5と対応付けられた出力端末装置30とに、運動レッスンの実行を指示する。あるいは、出力端末装置30から、運動支援装置10に定期的に運動レッスンの実行を確認する問い合わせが行われる場合は、ステップS8において、出力端末装置30からの問い合わせに応じて運動レッスンの実行を指示してもよい。ステップS8における運動レッスンの実行指示では、具体的には、グループaのユーザ5b、5d、5f、5hに対応する出力端末装置30b、30d、30f、30hに、RAM13の第1運動リスト一時記憶領域131に記憶された運動レッスンに従って、エクササイズ枠の枠番号の順に、運動映像が出力され、グループbのユーザ5a、5c、5e、5g、5iに対応する出力端末装置30a、30c、30e、30g、30iに、RAM13の第2運動リスト一時記憶領域133に記憶された運動レッスンに従って、エクササイズ枠の枠番号の順に、運動映像を出力させる。ステップS8では、グループaおよびグループbの出力端末装置30a〜30iにそれぞれの運動映像が出力されるのに合わせて、スピーカ40から、所定の1つの楽曲情報一時記憶領域135に記憶された所定の1つの楽曲を、共通の運動BGMとして出力させる。この楽曲は、運動動作を指示するナレーションや、運動の動作テンポを指示するカウントであってもよい。
(変形例)
尚、本発明の実施形態は、上述した本実施形態に限らない。以下、本実施形態の変形例を説明する。例えば、運動決定処理により決定される運動レッスンの各エクササイズ枠の運動は、上述した構成に限らない。図7Cは、本発明の運動決定装置により、図3Aの運動データテーブル等を用いて決定される運動レッスンの他の例を示す図である。レッスンプログラム作成処理により決定される運動レッスンについて、グループaのユーザとグループbのユーザとが、同じ枠番号で行う運動は、運動目的が同じ運動に限らない。また、グループaのユーザとグループbのユーザとが、同じ枠番号で行う運動は、同じ拍数の運動に限らない。グループaのユーザと、グループbのユーザが行うそれぞれの運動レッスンの同じ枠番号のエクササイズ枠には、異なる運動目的や異なる拍数の運動がそれぞれ定められていてもよい。また、グループaのユーザと、グループbのユーザが行うそれぞれの運動レッスンの同じ枠番号のエクササイズ枠に、運動カウント(拍)が対応付けられていなくてもよい。
例えば、図7Cに示す運動レッスンの枠番号「2」において、運動カウントが「32」拍と定められているとき、グループaのユーザが行う運動は、「腰痛_B_3」の運動であり、運動目的「腰痛解消」、基本カウント数「32」拍の運動が、繰り返し回数「1」と定められている。一方、グループbのユーザが行う運動は、「ストレッチ_D_2」の運動であり、運動目的「ストレッチ」、基本カウント数「16」拍の運動が、繰り返し回数「2」と定められている。同様に、図7Cに示す運動レッスンの枠番号「3」〜「5」において、グループaのユーザが行う運動と、グループbのユーザが行う運動は、それぞれ運動目的「気分転換」、「ストレッチ」のいずれかの運動目的であり、基本カウント数「32」拍の運動が繰り返し回数「1」で定めらえている、あるいは、基本カウント数「16」秒の運動が繰り返し回数「2」で定められているいずれかの運動である。
また、レッスンプログラム作成処理による運動レッスンの各運動の決定方法は、上述した処理に限らない。運動レッスンを構成する各枠番号の運動は、上述したレッスンプログラム作成処理のように、グループaのユーザが行う運動とグループbのユーザが行う運動とが、枠番号ごとに、交互に決定される方法でなくてもよい。例えば、図7Cは、グループaのユーザが行う運動レッスンを構成する枠番号「1」〜「6」の運動が決定された後、グループbのユーザが行う運動レッスンを構成する枠番号「1」〜「6」の運動が決定された運動レッスンを示している。図7Cに示す運動レッスンでは、枠番号「1」〜「6」に、グループaのユーザが行う運動レッスンの運動を決定した後、グループaの運動レッスンの運動と決定された6つの運動について、対応する枠番号をランダムにして、グループaのユーザが行う運動レッスンと同じ運動を、実行順序を替えて、グループbのユーザが行う運動レッスンと決定している。この方法は、グループaのユーザが行う運動レッスンの運動を、実行順序を替えて、グループbのユーザが行う運動レッスンと決定する方法は、例えば、指定された運動レッスン時間により、エクササイズ枠数が奇数であると決定された場合に有効である。この方法を用いることにより、エクササイズ枠数が奇数である運動レッスンの運動を決定する場合であっても、図6に示す前述のレッスンプログラム作成処理の方法を用いる場合に対し、グループaのユーザと、グループbのユーザとに、運動レッスンを通して同じ運動を行わせることができる。
また、レッスンプログラム作成処理による運動レッスンの各運動の決定方法は、次に説明する方法により決定されるものであってもよい。例えば、図3Aに示す運動データテーブルに記憶される各運動の動作範囲を参照して、動作範囲の合計が、基準とする均等分割時の動作範囲の2倍以下となる2つの運動を、グループaが行う運動とグループbが行う運動とを組にして定めた多数の組を予め記憶しておき、エクササイズ枠の枠数に対応する数の組を選んで、運動レッスンを定めるものであってもよい。
また、グループaのユーザが行う運動レッスンの運動、およびグループbのユーザが行う運動レッスンの運動が共に、その動作範囲が、基準とする均等分割時の動作範囲以下の運動が決定されてもよい。また、基準とする均等分割時の動作範囲以下の運動には、「クールダウン」、「休憩」等の動作範囲が小さいあるいは動作がない運動が、運動の種類として定められていてもよい。また、あるいは、グループaのユーザが行う運動レッスンの運動、およびグループbのユーザが行う運動レッスンの運動は、いずれか一方のグループのみに、基準とする均等分割時の動作範囲以上の運動で構成される運動レッスンが定められてもよい。
また、運動の動作範囲が大きい運動は、動作範囲が小さい運動に比べ、運動負荷が大きいことが考えられる。そこで、図3Aの運動データテーブルに示す各運動に、運動の動作範囲の大きさと比例して運動の負荷の大きさを示す運動強度が対応付けられていてもよい。例えば、ユーザの位置に加え、年齢層や体力レベルを考慮して、ユーザの分別グループを決定してもよい。このような場合に、運動データテーブルにおいて、運動に動作範囲に比例して運動強度が対応付けられていると、運動を決定するときに、ユーザのグループの年齢層や体力レベルに応じた運動強度の指定を受け付けると、グループごとに、年齢層や体力レベルに応じた動作範囲の運動を決定することができる。
また、上述した実施形態では、部屋R内のユーザをグループaおよびグループbの2つのグループに分割し、其々の運動動作を定めたが、分別するグループ数は、2つに限らない。本発明は、ユーザを3つ以上のグループに分別し、グループごとに、異なる運動動作を定めるものであってもよい。以下、仮に図1Bに示す部屋R内のユーザ5g,5h,5iを3つのグループに分別する場合を例に説明する。このとき、ユーザ5g〜5iは、それぞれ、ユーザ5gはグループaに、ユーザ5hはグループbに、ユーザ5iはグループcに属するものと定める。
この状況において、まず、第1の例では、ユーザ5gと、ユーザ5iとの位置情報を取得し、ユーザ5gとユーザ5iと間の距離を決定する。そして、ユーザ5g、5h、5iの順に運動を決定する方法がある。具体的には、まず、ユーザ5gの運動を、ランダムで決める。そして、ユーザ5gとユーザ5iの間の距離と、決められたユーザ5gの運動の片手の動作範囲との差分を算出する。次に、ユーザ5hの運動をランダムで決める。そして、差分とユーザ5hの運動の両手の動作範囲との差分により、残りの距離を算出する。次に、ユーザ5iは、片手の動作範囲が算出された残りの距離の範囲内である運動を決定する。
あるいは、第2の例として、以下に示す方法がある。まず、ユーザ5gと、ユーザ5iとの位置情報を取得し、ユーザ5gとユーザ5iと間の距離を決定する。決定された距離と、ユーザ5gとユーザ5iとを含む決定された距離内にいる人数とから、ユーザの1人当たりの片手の動作範囲を、均等分割して算出する。そして、ユーザ5g、5h、5iにそれぞれ実行させる運動は、ユーザ5gが行う運動の片手の動作範囲と、ユーザ5hが行う運動の両手の動作範囲と、ユーザ5iが行う運動の片手の動作範囲との和が、ユーザ5gとユーザ5iと間の距離以下となる運動を決定する。このとき、ユーザ5g、5h、5iのうち、少なくとも1人に行わせる運動は、1人当たりの片手の動作範囲より大きい動作範囲の運動であり、少なくとも1人に行わせる運動は、1人当たりの片手の動作範囲より小さい動作範囲の運動の条件下で、各ユーザ5g〜5iが行う運動を決定する。この決め方は、具体的には、例えば、運動を決定する対象のユーザ数ごとに、運動選択候補として各ユーザが行う運動を定めた組を予め記憶しておき、記憶された運動選択候補から、予め記憶された組のいずれかを選択し、各ユーザに実行させる運動を定める。
あるいは、3つ以上のグループのユーザそれぞれに運動を決定する場合であっても、隣り合う2人のユーザの運動の動作範囲の和が、前述した基準とする均等分割時の動作範囲の2倍以下となるように、隣り合う2人のユーザの運動を定めてもよい。例えば、互いに隣り合うグループaのユーザとグループbのユーザとが行う運動について、運動の動作範囲の和が、基準とする均等分割時の動作範囲の2倍以下となる運動を決定する。そして、続いて、互いに隣り合うグループbのユーザとグループcのユーザとが行う運動について、グループaのユーザに実行させる運動と決定された以外の運動であって、運動の動作範囲の和が、基準とする均等分割時の動作範囲の2倍以下となる運動を決定する。このような手順を複数回繰り返すことで、3つ以上のグループのユーザの運動を決定することも可能である。
(本発明と本実施形態との対応)
本実施形態のHDD12は、本発明の記憶部の一例であり、本実施形態の運動データテーブルが、本発明の運動情報の一例である。本実施形態の情報入力部17、CPU11およびステップS22の処理が、本発明の位置取得部の一例である。本実施形態のCPU11およびステップS25の処理が、本発明の分別部の一例である。本実施形態のCPU11およびステップS24の処理が、本発明の距離取得部の一例である。本実施形態のCPU11およびステップS65,S66,S68,S69それぞれの処理が、本発明の運動決定部の一例である。本実施形態のCPU11およびステップS65,S68それぞれの処理が、本発明の第1決定部の一例である。本実施形態のCPU11およびステップS66,S69それぞれの処理が、本発明の第2決定部の一例である。本発明のCPU11およびステップS8の処理が、本発明の楽曲取得部および運動実行制御部の一例である。本発明のCPU11およびステップS26の処理が、本発明の個人距離決定部の一例である。本実施形態の変形例における運動強度の指定を受け付ける処理が、本発明の設定取得部の一例である。