説明

運動支援装置、運動支援方法およびプログラム

【課題】複数人のユーザが、容易に、手本の運動動作のタイミングに合わせて運動動作を行うことができる運動支援装置、運動支援方法およびプログラムを提供する。
【解決手段】複数人のユーザそれぞれの身体部位に装着した検出器から、各ユーザの加速度の検出値を取得する。各ユーザそれぞれの検出値に基づき、手本の運動動作における動作区間(静止ポイント間)においてユーザが動作状態にあれば、評価値として1ポイントを付与する。また、手本の運動動作における静止ポイントにおいてユーザが静止状態にあれば、評価値に1ポイントを加算する。評価値の平均値を求め、平均値が高ければ、手本の運動動作の動作速度を早め、平均値が低ければ、手本の運動動作の動作速度を遅くする調整を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、身体部位を動作させる運動動作を支援する運動支援装置、運動支援方法およびプログラムに関する。
【背景技術】
【0002】
従来、身体部位を動作させる運動動作の映像(運動映像)を、例えばモニタやスクリーンなどの所定の表示部に表示し、ユーザの運動を支援する運動支援装置が知られている。表示部に表示される運動映像には、例えば、コンピュータグラフィックス(CG)により生成したキャラクタに運動の模範動作をさせて生成した映像が用いられる。また、運動映像の表示とともに、運動動作に応じたテンポ(動作の節となるタイミング)の楽曲が再生され、ユーザは、楽曲に合わせてタイミングを取りながら、運動映像に従い運動を行う。
【0003】
ところで、例えばユーザが初心者である場合、運動映像をみて、キャラクタの動作に合わせて自身の運動動作を行うため、ユーザの運動動作を行うタイミングが、キャラクタが運動動作を行うタイミングよりも遅れることがある。そこで、ユーザの運動動作を検出し、ユーザの行う運動動作のタイミングが手本となる運動動作のタイミングよりも遅れたら、運動映像や楽曲の再生速度を遅くする技術が公開されている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−136606号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1はユーザが一人である場合について考慮されたものである。運動支援装置は、例えばフィットネスクラブなどのスポーツ施設に設置されるため、ユーザが複数人であっても、手本となる運動動作のタイミングに各ユーザが追従して各自の運動動作を行うことができる運動支援装置が望まれていた。
【0006】
本発明は、上記の問題点を解決するためになされたものであり、複数人のユーザが、容易に、手本の運動動作のタイミングに合わせて運動動作を行うことができる運動支援装置、運動支援方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1態様によれば、身体部位を動作させる運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援装置であって、前記運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第1速度と、を記憶する記憶手段と、前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも2人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得手段と、前記第1速度で前記運動動作が行われる場合に前記取得手段によって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第1速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定手段と、前記決定手段によって決定された前記追従情報に基づいて、前記運動動作を行う速さを第2速度に変更する第1変更手段と、前記第1変更手段によって変更された前記第2速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第2変更手段と、を備える運動支援装置が提供される。
【0008】
第1態様では、基準の速さで行われる運動動作に対するユーザの追従状態に基づいて、運動動作を行う速さを変更することで、ユーザの追従状態を、より高めることができる。運動レッスンには複数人のユーザが参加するため、それぞれのユーザに適した運動動作の速さは異なる場合があるが、速さの変更を、少なくとも2人以上のユーザの追従状態に基づいて行うので、各ユーザのそれぞれに適した運動動作の速さに近づけることができる。
【0009】
第1態様において、前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザのうちの少なくとも2人以上の前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定の期間における前記運動動作の状態が動作状態である場合に、前記追従情報として、前記第1速度で行われる前記運動動作に前記ユーザが追従していることを示す情報を決定してもよい。例えば、ユーザが運動動作に対してまったく追従できずに運動動作を停止してしまうと、所定の期間における運動動作の状態が静止状態となる場合がある。追従情報として、所定の期間における運動動作の状態が動作状態である場合にユーザが追従していることを示す情報を決定すれば、このような静止状態が生じた場合に、確実に、追従できていないと決定することができ、追従状態の決定をより精度よく行うことができる。
【0010】
第1態様において、前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザのうちの少なくとも2人以上の前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定のタイミングにおける前記運動動作の状態が静止状態である場合に、前記追従情報として、前記第1速度で行われる前記運動動作に前記ユーザが追従していることを示す情報を決定してもよい。例えば、ユーザが運動動作に追従するものの、追従に遅れを生じてしまうと、運動動作のタイミングがずれる場合がある。この場合、所定のタイミングにおける運動動作の状態が静止状態であるにも関わらず、そのタイミングにおけるユーザの運動動作の状態が動作状態となってしまう。追従情報として、所定のタイミングにおけるユーザの運動動作の状態が静止状態である場合にそのユーザが追従していることを示す情報を決定すれば、このような動作状態が生じた場合にユーザが追従できていないと決定することができ、追従状態の決定をより精度よく行うことができる。
【0011】
第1態様において、前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得されるすべての前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定の期間における前記運動動作の状態が動作状態であり、且つ、所定のタイミングにおける前記運動動作の状態が静止状態である場合に、前記追従情報として、前記ユーザが前記第1速度で行われる前記運動動作に追従していることを示す情報を決定してもよい。追従情報を、すべてのユーザの運動動作の状態に基づいて決定することで、各ユーザのそれぞれに適した運動動作の速さに近づけることができる。
【0012】
第1態様において、前記追従情報は、所定のタイミングにおける前記運動動作の状態が静止状態である場合よりも、所定の期間における前記運動動作の状態が動作状態である場合に、優先して、点数が付与される評価値によって表される情報であってもよい。このようにすれば、例えば、ユーザが運動動作に対してまったく追従できずに運動動作を停止してしまった場合よりも、ユーザが運動動作に追従するものの、追従に遅れを生じてしまった場合において、評価値として、より高い点数を得ることができる。よって、評価値として、より実態に沿った点数を得ることができ、追従情報としての精度を高めることができる。
【0013】
第1態様において、前記記憶手段は、前記評価値と、前記第1速度を前記評価値の大きさに応じて調整する調整値とを関連付けた調整情報をさらに記憶してもよく、前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザごとに前記評価値を求めるとともに、前記評価値の平均値を求めてもよい。前記第1変更手段は、前記調整情報に基づいて前記評価値の平均値に応じた前記調整値を取得するとともに、前記運動動作を行う速さを、前記第1速度に前記調整値を適用した前記第2速度に変更してもよい。評価値の平均値に応じた調整値によって運動動作を行う速さを調整すれば、各ユーザのそれぞれに適した運動動作の速さに近づけることができる。
【0014】
第1態様において、前記記憶手段は、前記調整値の上限値および下限値であり、前記運動動作の種類に応じて異なる前記上限値および前記下限値を設定するため、前記調整情報に適用される制限情報をさらに記憶してもよい。前記第1変更手段は、前記制限情報を適用した前記調整情報の参照により、前記上限値および前記下限値の範囲内の値の前記調整値を取得して、前記運動動作を行う速さを前記第2速度に変更してもよい。調整値に上限値および下限値を設定することができるので、運動動作の速さの変更後の速さが、各ユーザのそれぞれに適した運動動作の速さから、大きくずれてしまうことがない。
【0015】
第1態様において、前記調整情報は、前記評価値が小さいほど、前記第2速度が遅くなるように、前記評価値と前記調整値とが関連付けられていてもよい。評価値が大きければ複数人のユーザの追従状態が良好であり、その場合には第2速度を速くすることができるので、より高度な運動動作に挑戦することができる。一方、評価値が小さければ複数人のユーザの追従状態が好ましくなく、その場合には第2速度を遅くすることができるので、各ユーザが、より確実に、運動動作をこなすことができる。
【0016】
第1態様において、前記記憶手段は、前記レッスン情報に含まれる前記運動情報のそれぞれに関連付けられ、1単位の前記運動動作を複数回数繰返して行う繰返情報をさらに記憶してもよい。第1態様は、前記レッスン情報に表される前記運動レッスンが行われる期間を示すレッスン時間を、前記第1速度の前記第2速度への変更に応じて変更可能とするか否かを設定する設定手段と、前記設定手段によって前記レッスン時間が変更不可と設定された場合に、前記運動動作を前記第2速度で前記繰返情報に基づく回数分繰返して行った場合にかかる第2時間が、前記運動動作を前記第1速度で前記繰返情報に基づく回数分繰返して行った場合にかかる第1時間以下で、且つ、回数が最大となるように、前記運動動作を繰り返す回数を変更する第3変更手段と、をさらに備えてもよい。運動動作の速さを変更すれば、レッスン時間が長引いたり、あるいは短縮されたりする場合が生ずるが、運動動作を繰り返す回数を変更し、第2時間を第1時間以下としつつ、繰り返す回数が最大となるようにすれば、レッスン時間が、変更前のレッスン時間に近づくようにすることができる。これにより、運動レッスンを実施する計画を、予定を管理する時間割に沿って立てやすくすることができる。
【0017】
第1態様において、前記レッスン情報は、前記運動レッスンの開始時期に行われるウォーミングアップ運動に対応する前記運動動作を示す前記運動情報と、前記運動レッスンの終了時期に行われるクールダウン運動に対応する前記運動動作を示す前記運動情報と、前記運動レッスンにおける主要な運動であるメイン運動に対応する前記運動動作を示す前記運動情報と、を含んでもよい。前記第1変更手段は、前記メイン運動に対応する前記運動動作の速さを変更してもよい。ウォーミングアップ運動に対応する運動動作は、運動を行う準備のための運動であり、クールダウン運動に対応する運動動作は、運動を終了する準備のための運動である。これらの運動動作は確実に行われる必要があり、通常、ユーザが追従しやすい速さで行われる。一方、運動の主目的であるメイン運動に対応する運動動作は、ユーザの運動に対する興味を最も引き立てる運動動作であり、運動動作の速さを速めて運動に対するモチベーションを高めたり、あるいは運動動作の速さを遅くして確実に追従できるようにしたりすることで、運動レッスンの効果を高めることができる。
【0018】
本発明の第2態様によれば、身体部位を動作させる運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第1速度と、を記憶する記憶手段を備えるコンピュータで実行され、前記運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援方法であって、前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも2人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得ステップと、前記第1速度で前記運動動作が行われる場合に前記取得ステップによって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第1速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定ステップと、前記決定ステップによって決定された前記追従情報に基づいて、前記運動動作を行う速さを第2速度に変更する第1変更ステップと、前記第1変更ステップによって変更された前記第2速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第2変更ステップと、を含む運動支援方法が提供される。
【0019】
本発明の第3態様によれば、身体部位を動作させる運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第1速度と、を記憶する記憶手段を備え、前記運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援装置として機能させるためのプログラムであって、コンピュータに、前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも2人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得ステップと、前記第1速度で前記運動動作が行われる場合に前記取得ステップによって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第1速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定ステップと、前記決定ステップによって決定された前記追従情報に基づいて、前記運動動作を行う速さを第2速度に変更する第1変更ステップと、前記第1変更ステップによって変更された前記第2速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第2変更ステップと、を実行させるプログラムが提供される。
【0020】
第2態様に係る運動支援方法に従う処理をコンピュータで実行することによって、あるいは、第3態様に係るプログラムを実行してコンピュータを運動支援装置として機能させることで、第1態様と同様の効果を得ることができる。
【図面の簡単な説明】
【0021】
【図1】運動支援装置1の全体の構成を模式的に示す図である。
【図2】レッスン情報テーブル33を示す図である。
【図3】運動基本情報テーブル34を示す図である。
【図4】検出値記録テーブル35に記録される情報について説明するためのグラフである。
【図5】調整関数について説明するためのグラフである。
【図6】運動支援プログラムのフローチャートである。
【図7】分析処理のフローチャートである。
【図8】運動情報変更処理のフローチャートである。
【図9】運動支援プログラムの変形例のフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明を具体化した一実施の形態について、運動支援装置1を例に、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
【0023】
まず、図1を参照し、運動支援装置1の概略的な構成について説明する。図1に示す、運動支援装置1は、例えばフィットネスクラブなどのスポーツ施設4に設置される。運動支援装置1は、モニタ2の表示部21に運動映像を表示して、複数人(本実施の形態では3人)のユーザU1,U2,U3がそれぞれの身体部位を動作させる運動動作を支援する。
【0024】
運動支援装置1は、後述する運動支援プログラムの実行に従って、運動動作を行うキャラクタを映し出した運動映像を生成し、モニタ2の表示部21に表示する。スポーツ施設4のユーザU1,U2,U3は、表示部21に表示された運動映像を手本に、各自の身体部位を動作させる運動を行う。また、各ユーザU1,U2,U3は、後述する検出器7を、例えば各自の腕部に装着した状態で運動動作を行う。
【0025】
運動支援装置1は、周知のパーソナルコンピュータ(PC)により構成され、CPU12、ROM13、RAM14により構成される制御部11を備える。CPU12は、運動支援装置1の制御を司る。ROM13は、CPU12が実行するBIOS等のプログラムを記憶する読出し専用の記憶装置である。RAM14は、データを一時的に記憶する読み書き可能な記憶装置である。
【0026】
制御部11には、ディスクドライブ18、出力制御部15、入力制御部16、通信制御部17、およびハードディスクドライブ(HDD)3が、電気的に接続されている。ディスクドライブ18は、例えばCD−ROMやDVD−ROMなど、データが記憶された記憶媒体であるディスクROM19が挿入されると、ディスクROM19からデータやプログラム等の読み込みを行うものである。PCを運動支援装置1として稼働させるためのOSやプログラム等が、ディスクROM19に記憶されて提供される。また、後述する運動支援プログラムも、ディスクROM19に記憶されて提供される。
【0027】
出力制御部15は、運動支援装置1で稼働されるOSやプログラム等の操作画面や、キャラクタを映し出した運動映像を、スポーツ施設4に設置されるモニタ2の表示部21に表示するための描画処理を行う。また、出力制御部15は、キャラクタを映し出した運動映像に合わせて再生される楽曲をモニタ2のスピーカ22から出力する制御を行う。
【0028】
入力制御部16は、運動支援装置1の操作を行うキーボードやマウス等の入力デバイスが接続される。本実施の形態においては、感圧式あるいは静電容量式のタッチパネル23が接続される。タッチパネル23は、モニタ2の表示部21に設けられ、後述する運動支援プログラムの実行においては、情報の入力やプログラムにおける操作に用いられる。
【0029】
通信制御部17は、検出器7との通信を行うためのプロトコル制御を行う。本実施の形態では、例えばBluetooth(登録商標)やWiFi(登録商標)などによる無線通信を介し、運動支援装置1と検出器7との間での情報の送受信が行われる。なお、通信制御部17は、USB等による有線通信のインタフェイスとして機能してもよい。
【0030】
記憶装置であるHDD3には、ディスクROM19から読み出されたOSやプログラム等がインストールされる。なお、OSやプログラム等は、フラッシュROMなど、その他の記憶媒体に記憶されて提供されてもよく、運動支援装置1は、これらの記憶媒体の読取装置を備えてもよい。あるいは、通信制御部17を介して図示しないネットワークに接続し、ネットワーク上の端末からダウンロードにより提供されてもよい。
【0031】
また、HDD3には、プログラム記憶エリア31、モーションデータ記憶エリア32の各記憶エリアが設けられている。また、HDD3には、データベース用の記憶エリアが設けられ、レッスン情報テーブル33、運動基本情報テーブル34、検出値記録テーブル35の各テーブルが関連付けられてデータベースが構築されている。また、HDD3には、図示しない、各種記憶エリアが設けられている。図示しないが、運動映像とともに再生される楽曲のデータ(MIDIやWAV、MP3等の形式のデータ)も、所定の記憶エリアに記憶されている。HDD3の記憶エリアの詳細については、後述する。
【0032】
次に、検出器7について説明する。検出器7は、ユーザU1,U2,U3が身体に装着可能な機器であり、本実施の形態では、例えばユーザU1,U2,U3の腕部にそれぞれ装着される。検出器7は、ユーザU1,U2,U3の運動動作の状態を検出するためのセンサ6と、センサ6の検出値を運動支援装置1に送信するための通信装置5を内蔵する。センサ6としては、例えば公知の3軸加速度センサが用いられる。本実施の形態では、ユーザU1,U2,U3が、所定のタイミングにおいて、動いている状態(動作状態)にあるか、静止している状態(静止状態)にあるかを判別するために、センサ6が用いられる。
【0033】
通信装置5は、図示しない、CPU、ROM、RAMを有する公知のマイクロコンピュータからなり、通信装置5の制御を司る制御部51を備える。制御部51には、入力制御部56と通信制御部57とが電気的に接続されている。入力制御部56にはセンサ6が接続される。入力制御部56は、センサ6に駆動電流を流し、センサ6の検出値を増幅して制御部51に出力する。通信制御部57は、運動支援装置1の通信制御部17と同様に、運動支援装置1との無線通信を行うためのプロトコル制御を行う。通信装置5の制御部51は、運動支援装置1からの指示に従い、所定時間ごとにセンサ6から検出信号を取得し、入力制御部56によってA/D変換および増幅を行い、通信制御部57を介して運動支援装置1に出力する。
【0034】
次に、図1〜図4を参照し、HDD3の記憶エリアの詳細について説明する。上記したように、図1に示す、運動支援装置1のHDD3には、プログラム記憶エリア31、モーションデータ記憶エリア32、およびデータベース用の記憶エリアが設けられている。データベースは、レッスン情報テーブル33、運動基本情報テーブル34、検出値記録テーブル35の各テーブルが関連付けられることによって、構築されている。
【0035】
プログラム記憶エリア31には、後述する運動支援プログラムや、運動支援プログラムで使用されるデータやフラグの初期値などが記憶される。モーションデータ記憶エリア32には、図示しない、三次元仮想空間内に配置されるキャラクタに、具体的な運動動作を行わせるためのモーションデータが記憶される。例えば、その場で足踏みをする運動動作のモーションデータは、キャラクタに、「右足を上げる」、「右足を下ろす」、「左足を上げる」、「左足を下ろす」という小単位の各動作を順に繰り返して行わせるデータである。モーションデータには、キャラクタの各身体部位の座標データ、同様に各身体部位に対応した細部の座標データ、細部に対応したテクスチャデータなども含まれる。
【0036】
レッスン情報テーブル33は、運動レッスンの種類や内容に応じて運動動作を組合せた情報を示すテーブルである。具体的には、図2に示すように、レッスン情報テーブル33では、運動レッスンを表すレッスン情報と、運動レッスンに含まれる運動動作を表す運動情報と、運動動作を運動レッスンにおける役割に分類する分類情報とが関連付けられている。運動レッスンとは、所定の運動目的を達成するために効果的な1つ以上の運動動作を組合せ、実行順を指定することで、一連の運動動作が行われるようにしたものである。
【0037】
レッスン情報は、運動レッスンを表す情報であり、具体的には運動レッスンを特定する名称(ID番号などでもよい)をいう。運動情報は、運動動作を表す情報であり、具体的には運動動作を特定する名称(ID番号などでもよい)をいう。分類情報は、運動動作をその運動内容に応じて分類したもので、運動レッスンにおける役割を示す情報である。具体的に、「ウォーミングアップ運動」には、運動レッスンの開始時期に行われる運動動作に応じた運動情報が分類される。「クールダウン運動」には、レッスンの終了時期に行われる運動動作に応じた運動情報が分類される。そして「メイン運動」には、運動レッスンにおける主要な運動動作に応じた運動情報が分類される。
【0038】
例えば、「エクササイズA」という運動レッスンには、「ウォーミングアップ運動」として、「準備体操A」と「準備体操B」の運動動作が分類される。また、「メイン運動」として、「主目的運動A」、「主目的運動B」、「主目的運動C」の運動動作が分類される。「クールダウン運動」として、「ストレッチA」、「ストレッチB」の運動動作が分類される。なお、レッスン情報テーブル33は、後述する運動支援プログラムにおいて、運動支援装置1のオペレータ(ユーザや図示しないインストラクタなど)が作成可能であるが、あらかじめ作成されディスクROM19に記憶されて提供されてもよい。
【0039】
運動基本情報テーブル34は、運動動作ごとに設定されている情報を示すテーブルである。具体的には、図3に示すように、運動基本情報テーブル34では、運動情報、テンポ情報、拍数情報、繰返情報、および制限情報(上限値および下限値)が関連付けられている。テンポ情報は、運動動作の標準の動作速度を示す情報であり、動作の節となるタイミングを拍として数え、1分間あたりの拍数(BPM:Beats Per Minute)で動作速度を表したものである。拍数情報は、1回の運動動作を行うのに必要な拍数を示す情報である。繰返情報は、運動動作を繰返し行う回数(繰返回数)を示す情報である。制限情報は、後述する運動支援プログラムにおいて、運動動作の標準のテンポ(BPM値)が調整される場合に、調整可能なテンポ(調整値)の上限値および下限値を示す情報である。
【0040】
例えば、「主目的運動A」という運動動作が行われる場合には、「120BPM」の動作速度で「32拍」を1回の運動動作として、「12」回繰り返される。また、「主目的運動A」の動作速度が調整(変更)される場合には、上限値が「+30BPM」、下限値が「−30BPM」の範囲、すなわち、150BPM〜90BPMの範囲に収まるように、動作速度が調整される。なお、後述する運動支援プログラムでは、動作速度の調整を、メイン運動に分類される運動動作に対して行うため、ウォーミングアップ運動やクールダウン運動に分類される運動動作には制限情報が設定されていない。
【0041】
検出値記録テーブル35は、後述する検出器7から取得される情報を、各ユーザU1,U2,U3についてそれぞれ記録(保存)するテーブルである。具体的に、検出器7からは、一定時間ごとに、時間(タイミング)を示すタイミング情報と、各タイミングにおいて検出器7のセンサ6により検出される検出値を示す状態情報とが取得される。本実施の形態では、状態情報として、加速度の検出値が取得される。検出値記録テーブル35では、各ユーザU1,U2,U3に、タイミング情報と、状態情報とが関連付けられて記録され、一時的に保存される。
【0042】
図4は、検出値記録テーブル35に記録される情報の内容についての説明を容易にするため、タイミング情報(横軸に時間の経過を示す)と状態情報(縦軸に加速度の大きさを示す)とを、ユーザU1,U2,U3ごとの比較ができるように並べたグラフを示したものである。検出値記録テーブル35には、検出器7から定期的(所定時間ごと)に送信される、センサ6による加速度の検出値が、状態情報として記録される。タイミング情報は、例えば同期信号であり、個々の状態情報とともに送信されてもよいし、あるいは所定回数の状態情報が送信されるたびに、送信されてもよい。検出値記録テーブル35に記録される情報は、後述する運動支援プログラムの分析処理(図7参照)において使用される。
【0043】
また、運動支援プログラムにおいて運動映像の再生中に、検出値記録テーブル35には、手本となるキャラクタの運動動作における拍のタイミングを示す情報が、検出値とともに送信される同期信号に同期して、記録される。これにより、検出値記録テーブル35では、手本のキャラクタの運動動作における拍のタイミングに関連付けられて、各ユーザU1,U2,U3それぞれ運動動作の状態が、検出値の大きさとして表されて記録される。したがって、検出値記録テーブル35では、所定のタイミングにおいてキャラクタの運動動作が静止している静止ポイント(例えば図4においてT1,T2,T3で示す)と、各ユーザU1,U2,U3それぞれの運動動作の状態とを、関連付けることができる。また、検出値記録テーブル35では、静止ポイント間である動作区間(例えば図4ではT0−T1、T1−T2、T2−T3)と、各ユーザU1,U2,U3それぞれの運動動作の状態とについても、関連付けることができる。なお、図4のT0は、検出値記録テーブル35において記録の開始されたタイミングとする。
【0044】
ここで、ユーザU1,U2,U3の運動動作の状態(動作状態または静止状態)を判定する方法について説明する。図4の検出値記録テーブル35に記録された検出値の大きさが、所定のタイミング(静止ポイント)において、0もしくは0に近い値(0±α以下の値:αはあらかじめ定められた値とする)であれば、そのタイミングにおいて、ユーザU1,U2,U3は静止状態にあると判定される。一方、動作状態については、身体部位の動きの方向によっては瞬間的に検出値が小さい値となる場合もあるため、所定の期間(動作区間)における検出値の総和が、所定値以上であるか否かによって判定される。
【0045】
例えば、図4において、ユーザU1は、静止ポイント(T1,T2,T3)において、いずれも検出値が0であり、ユーザU1は静止ポイントにおいて静止状態にあると判定される。また、ユーザU1は、動作区間(T0−T1、T1−T2、T2−T3)においては比較的大きな値の検出値が記録されている。動作区間の検出値の総和があらかじめ定められた所定値よりも大きければ、ユーザU1は、動作区間において動作状態にあると判定される。
【0046】
一方、ユーザU3は、いずれの静止ポイント(T1,T2,T3)においても検出値として大きな値が記録されており、静止状態にないと判定される。また、ユーザU3は、動作区間(T0−T1、T1−T2)においては比較的大きな値の検出値が記録されており、これらの動作区間においては動作状態にあると判定され得る。しかし、動作区間T2−T3においては値の大きな検出値がほとんど記録されておらず、この動作区間においては動作状態にないと判定され得る。
【0047】
次に、後述する運動支援プログラムにおいて参照される調整関数について説明する。運動支援プログラムでは、検出器7から取得される加速度の検出値に基づいて、手本となる運動映像、すなわち、キャラクタの運動動作にユーザU1,U2,U3が追従できているかについて、評価が行われる。そして評価の結果(評価値)をもとに、手本のキャラクタが運動動作を行う動作速度の調整が行われる。図5に示す、調整関数は、評価値(横軸)をもとに、動作速度の調整を行う調整値(縦軸)を求めるための関数である。
【0048】
本実施の形態において、調整関数は、具体的には評価値と調整値とを対応付けた参照テーブルとして提供される。図5に示すグラフは、調整関数の参照テーブルをグラフ化したものである。調整関数の参照テーブルはあらかじめ作成され、運動支援プログラムとともに提供されて、プログラム記憶エリア31に記憶される。調整値の上限値および下限値は、運動基本情報テーブル34の参照により、調整の対象となる運動動作に応じて適宜設定され、参照テーブルに適用される。評価値は、後述するが、運動支援プログラムの実行によって0〜2の範囲の値で求められる。図5に示すように、評価値が0.6以下では調整値は下限値となり、評価値が1.6以上では調整値は上限値となる。そして評価値が0.6〜1.6の値を採る場合、調整値は、グラフに従い、下限値から上限値の間の値となる。評価値が1.4の場合は、調整値は上限値と下限値の中間値となる。なお、調整関数は、上記のように参照テーブルとして提供されてもよいし、あるいは評価値と上限値および下限値とを代入すれば調整値を算出可能な近似式(あるいはプログラム)により提供されてもよい。
【0049】
次に、評価値について説明する。モーションデータに基づくキャラクタの運動動作は、拍数情報に示される拍数を1回の運動動作とし、拍を基準に行われるものである。運動動作において、キャラクタは常に動作しているとは限らず、所定のタイミングにおいては静止状態であったり、動作状態であったりする。キャラクタの運動動作が動作状態にあるときに、ユーザU1,U2,U3の運動動作が動作状態にあるか否かが得点によって評価され、動作が一致するとみなされる場合、1ポイントの得点が与えられる。さらに、キャラクタの運動動作が静止状態にあるときに、ユーザU1,U2,U3の運動動作が静止状態にあるか否かについても評価され、動作が一致するとみなされれば、さらに1ポイントの得点が与えられる。評価値は、このように、手本となるキャラクタの運動動作にユーザU1,U2,U3が追従できているかについて、得点によって評価したものである。
【0050】
具体的に、例えば、ユーザが手本のキャラクタの運動動作に追従できず、運動動作を停止した場合には、動作区間において動作状態にないが、静止ポイントにおいては静止状態にある。したがって、静止ポイントにおける状態の如何にかかわらず、動作区間においてユーザが動作状態になければ、評価値は0ポイントとされる。ユーザが手本のキャラクタの運動動作に少し遅れながらも追従できている場合には、動作区間において動作状態にあるが、静止ポイントにおいては静止状態にない。このような場合、評価値は1ポイントとされる。ユーザが手本のキャラクタの運動動作に追従できている場合には、動作区間において動作状態にあり、静止ポイントにおいて静止状態にある。このような場合、評価値は2ポイントとされる。このように、評価値では、動作区間における動作状態の有無の判定が、静止ポイントにおける静止状態の有無の判定よりも、優先的に評価される。
【0051】
次に、運動支援装置1において運動映像が生成される過程について簡単に説明する。運動映像の生成は、以下のように行われる。図示しない三次元仮想空間内にキャラクタを配置させ、モーションデータに基づく運動動作を行わせる。キャラクタが運動動作を行う動作速度は、運動基本情報テーブル34の参照により、運動動作ごとに取得されるテンポ情報に基づき設定される。図示しない仮想カメラによって運動動作を行うキャラクタを所定の時間ごとに撮影し、公知のアフィン変換によって、二次元の画像に変換する。運動映像とは、このように運動動作を行うキャラクタを撮影した画像が、時系列に沿って連続的に表示されたものである。
【0052】
以下、図1〜図5を適宜参照しながら、図6〜図8を参照し、運動支援装置1において実行される運動支援プログラムの動作について説明する。以下、フローチャートの各ステップを「S」と略記する。なお、以下の処理は制御部11のCPU12により実行される。また、プログラムの実行中に一時的に生成されるデータは、RAM14やHDD3に確保されるデータ処理用の記憶エリアに一時的に記憶される。
【0053】
運動支援装置1のオペレータ(ユーザや図示しないインストラクタなど)によって運動支援装置1が操作され、図6に示す、運動支援プログラムの実行が開始されると、図示しない初期設定処理が行われる。初期設定処理では、RAM14に、運動支援プログラムの各処理に応じた記憶エリアが確保される。また、プログラム内で使用される変数(例えば後述する変数X,Y)やフラグ、カウンタ等の初期化が行われる。
【0054】
モニタ2の表示部21に運動支援プログラムの操作画面が表示され、オペレータの操作(タッチパネル23による入力)による指示待ちがなされる(S10:NO,S11:NO,S32:NO)。操作画面では、運動レッスンの開始指示、運動レッスンの作成指示、運動支援プログラムの終了指示を行うことができる。運動レッスンの作成が行われる場合(S11:YES)、操作画面には、運動基本情報テーブル34にデータのある運動情報の一覧が表示される。オペレータは、所望する運動情報を選択し、所望の分類情報に分類し、所望の順番に並べることで、所望の運動動作を組合せた運動レッスンを作成することができる(S12)。オペレータが、操作画面において運動レッスンの名称を入力し、保存の操作を行うことで、作成された運動レッスンがレッスン情報テーブル33に追加(登録)される(S13)。そしてS32に進み、操作画面における指示待ちの状態に戻る。
【0055】
次に、操作画面において運動レッスンの開始指示がなされた場合には(S10:YES)、操作画面に、レッスン情報テーブル33にデータのあるレッスン情報の一覧が表示される。オペレータによって所望のレッスン情報が選択されると(S15)、操作画面には、運動レッスンの実施にかかる時間(レッスン時間)の変動を許容するかしないかを設定する選択肢が表示される。
【0056】
上記したように、運動支援プログラムでは、ユーザU1,U2,U3の追従の状態に応じて、調整関数に基づいて、手本のキャラクタが運動動作を行う動作速度の調整がなされる。動作速度の調整がなされた場合、運動レッスンに含まれる運動動作が開始され、繰返情報の回数繰り返されて終了するまでにかかる時間が変動する。すなわち、レッスン時間が、動作速度の調整がなされない場合と比べ、長引いたり、あるいは早く終わったりするなど、変動することになる。よってここでは、レッスン時間の延長あるいは短縮がなされてもよいとする(変動を許容する)選択肢と、延長あるいは短縮を望まない(変動を許容しない)選択肢とが提示され、オペレータによって、いずれか一方の選択肢が選択される(S16)。
【0057】
レッスン情報テーブル33の参照により、S15で選択されたレッスン情報に含まれる運動情報で未選択のものが、その運動レッスンにおける実行順に選択される。そして、運動基本情報テーブル34が参照され、選択された運動情報に対応する各種情報、すなわち、テンポ情報、拍数情報、繰返情報、制限情報が取得され、RAM14に記憶される(S20)。選択された運動情報の分類情報が確認され、ウォーミングアップ運動であれば(S21:YES)、加速度の取得が開始される(S22)。すなわち、各ユーザU1,U2,U3それぞれの検出器7から送信されるセンサ6の検出値を、検出値記録テーブル35に記録する処理が開始される。上記したように、検出値は、検出器7から定期的(所定時間ごと)に送信される。検出値の記録は、検出値とともに送信される同期信号に基づき、各ユーザU1,U2,U3間で同期して行われる。
【0058】
次に、選択された運動情報に表される運動動作の運動映像がモニタ2の表示部21に表示される(S23)。すなわち、モーションデータ記憶エリア32から運動情報に対応するモーションデータが読み出され、モーションデータに基づく運動動作を行うキャラクタを撮影した運動映像が生成される。キャラクタの運動動作は、運動情報に対応して取得されRAM14に記憶された、拍数情報に指定される拍数で行われる一通りの動作が、テンポ情報によって指定される標準の動作速度で、繰返情報で指定される回数、繰り返して行われる。また、運動情報に対応付けられ、テンポ情報に示されるテンポと同じもしくはそれに近いテンポを有する楽曲が運動映像とともに再生され、スピーカ22から出力される。なお、楽曲は、運動動作のテンポ情報に応じてランダムに選択されてもよいし、あるいは、レッスン情報テーブル33において、あらかじめ、各運動情報あるいは各運動分類に対応付けられていてもよい。
【0059】
運動映像の再生中は、センサ6の検出値の記録が継続される。このとき、上記したように、キャラクタの運動動作における拍のタイミングを示す情報が検出値記録テーブル35に記録される。そして、S20で選択され情報の取得された運動情報に表される運動動作に対応する運動映像の生成および再生が終了すると、加速度の取得(検出値の記録)が終了される(S25)。次いで、図7に示す、分析処理のサブルーチンがコールされる(S26)。
【0060】
図7に示す、分析処理では、検出値記録テーブル35が参照され、ユーザU1,U2,U3それぞれの検出値のうち、運動動作の状態の分析が未処理のユーザの検出値が取得され、RAM14に読み込まれる(S40)。次に、分析が未処理の1組の動作区間と静止ポイントが、分析対象の区間として選択される(S41)。上記したように、検出値は拍のタイミングに関連付けられている。また、あらかじめ、モーションデータに基づいて、静止ポイントとなる拍が設定されている。例えば、運動動作の1回の動作が16拍であり、同じ拍数で割り振られた4つの小単位の動作ごとに静止ポイントが設定された場合、4、8、12、16拍が、静止ポイントとなる。また、動作区間は、0〜4拍、4〜8拍、8〜12拍、12〜16拍の各間の期間(拍のタイミングは含まれない)となる。S41では分析対象の区間から、分析が未処理の1組の動作区間と静止ポイントが、選択される。
【0061】
分析対象として選択された区間において、動作区間における検出値の総和が求められ、求められた総和が所定値以上であるか否か判定される(S42)。判定の結果、動作区間における検出値の総和が所定値未満であった場合(S42:NO)、分析対象の区間において、分析対象のユーザは動作状態にないと判断される。評価値を求めるために一時的に設けられる変数Xにポイントは加算されず、後の処理において変数Xの平均値を求めるため処理数をカウントする変数Yに1が加算される(S47)。そしてS48に進む。
【0062】
一方、S42における判定の結果、動作区間における検出値の総和が所定値以上であれば(S42:YES)、次に静止ポイントにおける検出値が、0±α以下であるか否かが判定される(S43)。静止ポイントにおける検出値が0±αより大きい場合(S43:NO)、分析対象の区間において、動作区間では動作状態であったが、静止ポイントにおいて静止状態になかったと判断される。変数Xには1ポイントが加算され、変数Yには1が加算される(S46)。そしてS48に進む。
【0063】
S43における判定の結果、静止ポイントにおける検出値が0±α以下であれば(S43:YES)、分析対象の区間において、動作区間では動作状態にあり、静止ポイントでは静止状態にあったと判断される。変数Xには2ポイントが加算され、変数Yには1が加算される(S45)。そしてS48に進む。
【0064】
S41〜S47処理は、S48で、RAM14に検出値が読み込まれた、分析対象のユーザの、分析対象の全区間に対して行われる。よって、分析対象のユーザに未処理の区間があれば(S48:NO)、S41に戻る。S41〜S48が繰り返され、分析対象のユーザの、分析対象の全区間に対して運動動作の状態の分析が行われ、評価値が決定されたら(S48:YES)、S50に進む。そして、次の分析対象のユーザに対して同様に、S41〜S48の処理による運動動作の状態の分析が行われる(S50:NO)。
【0065】
このようにしてS40〜S50の処理が繰り返され、すべてのユーザU1,U2,U3の、すべての区間に対し、運動動作の状態の分析が行われたら(S50:YES)、評価値の平均値が求められる(S51)。すなわち、変数Xを変数Yで割った値が算出され、評価値としてRAM14に記憶される。そして分析処理を終え、図6のメインルーチンのS31に進む。
【0066】
選択されたレッスン情報に含まれる運動情報で未選択のものがあれば(S31:NO)、まだ運動レッスンは終了していないとして、S20に戻る。レッスン情報テーブル33の参照により、運動レッスンにおける実行順に、未選択の運動情報が選択されて各種情報が取得され(S20)、分類情報がウォーミングアップ運動であれば(S21:YES)、上記同様に運動映像が生成される。そして、手本のキャラクタの運動動作にユーザU1,U2,U3が追従できているかについて、評価が行われる。なお、分析処理(図7参照)は再度実行されることとなり、ユーザU1,U2,U3の評価値(平均値)は、S51で求められる最新の評価値に更新される。
【0067】
S20において選択されて情報が取得された運動情報の分類情報がメイン運動であり、すなわちウォーミングアップ運動でなく(S21:NO)、クールダウン運動でもなければ(S27:NO)、図8に示す、運動情報変更処理のサブルーチンがコールされる(S28)。
【0068】
図8に示す、運動情報変更処理では、運動基本情報テーブル34が参照され、選択された運動情報に関連付けられたテンポ情報と制限情報(上限値および下限値)が取得される(S60)。そして、調整関数の参照テーブル(図5参照)に、上限値および下限値が適用され、分析処理(図7参照)において求められた評価値(平均値)に対応する調整値が求められる。さらに、テンポ情報に示される標準のテンポ(BPM値)に調整値が加算され、調整されたBPM値が算出される(S61)。
【0069】
次に、S16において「変動を許容しない」とする選択肢が設定された場合には(S62:NO)、S65に進み、選択中の運動情報について取得され、RAM14に記憶されたテンポ情報が、調整されたBPM値に更新される(S65)。そして運動情報変更処理を終え、図6のメインルーチンのS30に進む。
【0070】
S30では、S23と同様に、選択された運動情報に表される運動動作の運動映像が生成され、モニタ2の表示部21に表示される(S30)。このときの運動映像におけるキャラクタの運動動作は、S61において調整されたBPM値で指定される動作速度で行われ、繰返回数は、S20において運動基本情報テーブル34から取得された回数で行われる。運動映像の生成および再生が終了するとS31に進み、さらに次の未選択の運動情報が選択されて、S21〜S30の処理が行われる。このとき、選択された運動情報の分類情報がクールダウン運動に分類されるものであれば(S21:NO、S27:YES)、S28の運動情報変更処理は行われない。S30では、S23と同様に、標準のBPM値で指定される動作速度によるキャラクタの運動動作を撮影した運動映像が生成され、モニタ2の表示部21に表示される(S30)。そして、S15において選択されたレッスン情報に含まれるすべての運動情報に対し、S21〜S30の処理が行われたら(S31:YES)、運動レッスンが終了される。S32に進んで初期の操作画面にもどり、オペレータの操作による指示待ちがなされる。そしてオペレータによって運動支援プログラムの終了指示がなされたら(S32:YES)、運動支援プログラムの実行が終了される。
【0071】
ところで、S16において、「変動を許容する」とする選択肢が設定された場合において、図8の運動情報変更処理が実行された場合には、S61で調整されたBPM値が算出された後、S62においてS63に進む(S62:YES)。S63では、標準のBPM値に指定される動作速度で運動動作が行われる場合にかかる時間(「標準時間」という)を基準にして、調整されたBPM値に指定される動作速度で運動動作が行われる場合にかかる時間(「調整時間」という)を調整する処理が行われる(S63)。
【0072】
より具体的に、標準時間は、拍数情報に指定される拍数で行われる一通りの運動動作が、標準のBPM値に指定される動作速度で、繰返情報で指定される回数、繰り返して行われた場合にかかる時間である。調整時間は、運動動作の動作速度が調整されたBPM値に変更されることにより、標準時間よりも長くなったり、あるいは短くなったりする。ゆえに、調整時間の時間調整が、標準時間を基準にして、運動動作の繰返回数の増減によって行われる。その際に、調整時間が標準時間以下で、且つ、繰返回数が最大となることが条件付けられている。
【0073】
具体的には、以下の(1)式を満たす、繰返回数が求められる。
[調整された繰返回数]≦[繰返情報に指定される繰返回数]×([調整されたBPM値]/[標準のBPM値])・・・(1) (ただし、小数点以下は切り捨てとする。)
【0074】
例えば、図3に示す、運動基本情報テーブル34に例示された「主目的運動A」は、上記したように、「120BPM」の動作速度で「32拍」を1回の運動動作として、「12」回繰り返される。したがって、「主目的運動A」の標準時間は、(60/120[BPM])×32[拍]×12[回]で求められ、192秒となる。調整値が下限値の「−30BPM」であった場合、調整時間は、(60/90)×32×12で求められ、256秒となる。(1)式を適用し、調整された繰返回数を求めると、12×(90/120)で求められ、9[回]となる。したがって、調整された繰返回数を9回に変更した調整時間は、(60/90)×32×9で求められ、192秒となり、標準時間以内に収まり、且つ、繰返回数(調整された繰返回数)を最大とすることができる。
【0075】
同様に、「主目的運動A」の調整値が上限値の「+30BPM」であった場合、調整時間は、(60/150)×32×12=153.6[秒]となる。(1)式を適用して調整された繰返回数を求めると、12×(150/120)=15[回]となる。したがって、調整された繰返回数を15回に変更した調整時間は、(60/150)×32×15=192秒となり、上記同様、標準時間以内に収まり、且つ、繰返回数を最大とすることができる。
【0076】
このように、S63において、(1)式の適用により調整された繰返回数が求められたら、S65に進み、RAM14に記憶されたテンポ情報が調整されたBPM値に更新されるとともに、繰返回数が、調整された繰返回数に更新される(S65)。そして運動情報変更処理を終え、図6のメインルーチンのS30に進む。
【0077】
S30において生成される運動映像では、キャラクタの行う運動動作が、調整されたBPM値で指定される動作速度で、調整された繰返回数、繰り返して行われる。運動動作は、調整時間が標準時間以下で、且つ、繰返回数が最大となるようにして行われる。よって、運動動作にかかる時間は、標準時間を超えず、最も標準時に近い時間となり、運動レッスンの全体でかかる時間も、運動動作の動作速度が標準で行われる運動レッスンにかかる時間と比べ、大きく異なることがない。
【0078】
以上説明したように、本実施の形態の運動支援装置1では、標準の動作速度で行われる運動動作に対するユーザの追従状態に基づいて、動作速度を変更することで、ユーザの追従状態を、より高めることができる。運動レッスンには複数人のユーザが参加するため、それぞれのユーザに適した動作速度は異なる場合があるが、動作速度の変更を、少なくとも2人以上のユーザの追従状態に基づいて行うので、各ユーザのそれぞれに適した運動動作の動作速度に近づけることができる。
【0079】
例えば、ユーザが運動動作に対してまったく追従できずに運動動作を停止してしまうと、動作区間における運動動作の状態が静止状態となる場合がある。動作区間における運動動作の状態が動作状態である場合にユーザが追従しているとして評価値にポイントを付与すれば、このような静止状態が生じた場合に、確実に、追従できていないと評価することができ、評価値による追従状態の評価をより精度よく行うことができる。また、例えば、ユーザが運動動作に追従するものの、追従に遅れを生じてしまうと、運動動作のタイミングがずれる場合がある。この場合、静止ポイントにおける運動動作の状態が静止状態となるべきであるにも関わらず、その静止ポイントにおけるユーザの運動動作の状態が動作状態となってしまう。よって、静止ポイントにおける運動動作の状態が静止状態である場合にユーザが追従しているとして評価値にポイントを付与すれば、このような動作状態が生じた場合に、追従できていないと評価することができ、評価値による追従状態の評価をより精度よく行うことができる。
【0080】
評価値による評価を、すべてのユーザの運動動作の状態に基づいて行うことで、各ユーザのそれぞれに適した運動動作の動作速度に近づけることができる。また、静止ポイントで静止状態にある場合よりも、動作区間に動作状態である場合に、優先的に評価値にポイントを付与すれば、例えば、ユーザが運動動作に対してまったく追従できずに運動動作を停止してしまった場合よりも、ユーザが運動動作に追従するものの、追従に遅れを生じてしまった場合において、評価値として、より高い点数を得ることができる。よって、評価値として、より実態に沿った点数を得ることができ、追従情報としての精度を高めることができる。
【0081】
また、評価値の平均値に応じた調整値によって運動動作を行う速さを調整すれば、各ユーザのそれぞれに適した運動動作の動作速度に近づけることができる。また、調整値に上限値および下限値を設定することができるので、運動動作の動作速度の変更後の動作速度が、各ユーザのそれぞれに適した運動動作の動作速度から、大きくずれてしまうことがない。また、評価値が大きければユーザの追従状態が良好であり、その場合には運動動作の動作速度を速くすることができるので、ユーザはより高度な運動動作に挑戦することができる。一方、評価値が小さければユーザの追従状態が好ましくなく、その場合には運動動作の動作速度を遅くすることができるので、各ユーザが、より確実に、運動動作をこなすことができる。
【0082】
また、運動動作の動作速度を変更すれば、レッスン時間が長引いたり、あるいは短縮されたりする場合が生ずるが、運動動作の繰返回数を変更し、調整時間を標準時間以下としつつ、繰返回数が最大となるようにすれば、レッスン時間が、変更前のレッスン時間に近づくようにすることができる。これにより、運動レッスンを実施する計画を、予定を管理する時間割に沿って立てやすくすることができる。
【0083】
また、ウォーミングアップ運動に対応する運動動作は、運動を行う準備のための運動であり、クールダウン運動に対応する運動動作は、運動を終了する準備のための運動である。これらの運動動作は確実に行われる必要があり、通常、ユーザが追従しやすい速さで行われる。一方、運動の主目的であるメイン運動に対応する運動動作は、ユーザの運動に対する興味を最も引き立てる運動動作であり、運動動作の動作速度を速めて運動に対するモチベーションを高めたり、あるいは運動動作の動作速度を遅くして確実に追従できるようにしたりすることで、運動レッスンの効果を高めることができる。
【0084】
なお、上記の実施形態に示される運動支援装置1の構成は例示であり、本発明は各種の変形が可能なことは言うまでもない。本実施の形態では、ウォーミングアップ運動に分類される運動動作において、手本のキャラクタの運動動作に対するユーザU1,U2,U3の運動動作の追従状態に応じて評価値(平均値)を求め、メイン運動に分類される運動動作の動作速度の調整に用いた。そして、ウォーミングアップ運動に分類される運動動作が複数ある場合には、最後に行った運動動作(最新の運動動作)の評価値の平均値が、メイン運動に分類される運動動作の動作速度の調整に用いられることとした。これに限らず、例えば、ウォーミングアップ運動に分類されるすべての運動動作から評価値の平均値を求め、メイン運動に分類される運動動作の動作速度の調整に用いてもよい。
【0085】
あるいは、個々の運動動作においてそれぞれ評価値を求め、求めた評価値を、次の運動動作の動作速度の調整に用いてもよい。具体的には、図9に示す運動支援プログラムの変形例のように行えばよい。なお、本変形例における各処理の具体的な内容は、本実施の形態と同一であり、本変形例における各処理は、本実施の形態の各処理に対し、処理順が異なるものである。よって、以下において、各処理の処理内容についての説明は省略または簡略化して行うものとする。また、処理順、処理内容ともに同一であるものについては、図9において、同じステップ番号を付している。具体的には、オペレータの指示待ちが行われるS10、S11、S32の処理や、オペレータの指示に従い運動レッスンの作成が行われるS10〜S13の処理については本実施の形態と同一であるので、説明を省略する。また、オペレータにより運動レッスンの開始指示がなされ、運動レッスンの選択が行われるS15の処理、レッスン時間の変動の許容または拒否についての設定が行われるS16の処理についても、本実施の形態と同一であり、説明を省略する。
【0086】
図9に示すように、S16においてレッスン時間の変動の許容または拒否の設定が行われると、S80に進む。S80ではS22と同様に、加速度の取得(すなわち検出器7から送信されるセンサ6の検出値の記録)が開始される(S80)。S81ではS22と同様に、レッスン情報テーブル33の参照により、運動レッスンにおける実行順に、未選択の運動情報が選択されて各種情報が取得される(S81)。S82では、選択された運動情報の分類がメイン運動でなく、すなわちウォーミングアップ運動またはクールダウン運動であれば(S82:YES)、S86に進む。S86ではS23と同様に、標準のBPM値で指定される動作速度によるキャラクタの運動動作を撮影した運動映像が生成され、モニタ2の表示部21に表示される(S86)。次のS87ではS31と同様に、選択されたレッスン情報に含まれる運動情報で未選択のものがあれば(S87:NO)、S81に戻る。そして、次の未選択の運動情報が運動レッスンの実行順に選択される。
【0087】
S82において、選択された運動情報の分類がメイン運動であった場合(S82:NO)、S83に進み、分析処理(図7参照)のサブルーチンがコールされる(S83)。S80において記録が開始された検出値は、ウォーミングアップ運動に分類される運動動作が行われる間、継続して、記録されている。したがって、分析処理では、ウォーミングアップ運動中に行われたすべての運動動作におけるユーザU1,U2,U3の追従状態に応じた評価値の平均値が求められる。
【0088】
分析処理が終わると、次に、運動情報変更処理(図8参照)のサブルーチンがコールされる(S85)。運動情報変更処理では、本実施の形態と同様に、分析処理において求められた評価値(平均値)に基づいて、調整関数から調整値が求められ、調整されたBPM値が算出される。また、レッスン時間の変動を許容する設定がなされている場合には、調整された繰返回数も求められる。そしてS86で、調整されたBPM値で指定される動作速度によるキャラクタの運動動作を撮影した運動映像が生成されて再生され、S87でS81に戻り、次の未選択の運動情報が選択される。
【0089】
検出値は、上記のメイン運動における運動動作が行われる間も記録されている。選択された次の運動情報の分類がメイン運動であった場合(S82:NO)、上記同様、分析処理(S83)が行われる。この分析処理において分析対象となる、分析が未処理の区間の検出値は、上記のメイン運動における運動動作中に記録された検出値である。このように、運動レッスンの実行順における前の運動動作中に記録された検出値に基づいて求められる評価値が、次の運動動作の動作速度の調整に用いられる。
【0090】
そして、選択された次の運動情報の分類がクールダウン運動であれば(S82:YES)、ウォーミングアップ運動の場合と同様にS86に進み、標準のBPM値で指定される動作速度によるキャラクタの運動動作を撮影した運動映像が生成されて再生される。選択されたレッスン情報に含まれるすべての運動情報に対しS81〜S86の処理が行われたら(S87:YES)、S88において加速度の取得(検出値の記録)が終了される(S88)。S32に進んで初期の操作画面にもどり、運動支援プログラムの終了指示がなされたら(S32:YES)、運動支援プログラムの実行が終了される。
【0091】
以上、本変形例のように、個々の運動動作においてそれぞれ評価値を求め、求めた評価値を、次の運動動作の動作速度の調整に用いれば、運動レッスンを進めるうちにユーザの身体が温まって軽快に動作できるようになり、手本の運動動作に対する追従状態が向上した場合に、それを次の運動動作に反映させることができる。
【0092】
また、本実施の形態では、センサ6として加速度センサを用いたが、これに限らず、位置情報を取得可能な位置センサを用いてもよい。例えば、所定位置に固定されたカメラでユーザの身体に記したマーカーを撮影し、位置情報を解析することにより、ユーザが動作状態にあるか静止状態にあるかを判別するシステム等であってもよい。また、検出器7は、身体部位への装着を1箇所に限らず、複数箇所に装着してもよい。また、運動レッスンに参加するユーザのうちの一部のユーザが検出器7を装着し、その検出値に基づいて、追従状態の評価を行ってもよい。また、検出器7を装着したユーザのうちの一部のユーザから得られる加速度の検出値を、追従状態の評価に用いてもよい。
【0093】
また、運動映像は、三次元仮想空間内に配置したキャラクタに運動動作を行わせ、それを撮影することにより生成したが、あらかじめ、例えばインストラクタによる運動動作を撮影して用いてもよい。この場合、動作速度の調整は、運動映像の再生速度の変更により行えばよい。また、運動映像や楽曲以外にも、例えば拍に合わせてナレーションや信号音などでタイミングを報せる信号や、光の点滅によりタイミングを報せる信号を出力し、これらの出力タイミングを変更することで、動作速度の調整を行ってもよい。
【0094】
また、評価値を求める際に、動作状態の判断基準とする所定値について、一律に一定値としてもよいし、あるいは、動作区間ごとにそれぞれしきい値を設定してもよい。所定値については、あらかじめ、例えばベテランのユーザやインストラクタなどに運動動作を行ってもらい、取得した検出値のサンプルを基準にして適宜設定すればよい。静止状態の判断基準の値(α)についても同様である。また、評価値を求める際に、動作区間における動作状態の有無の判定を、静止ポイントにおける静止状態の有無の判定よりも優先的に評価したが、優先の度合いを同程度に評価を行ってもよい。
【0095】
なお、本実施の形態においては、運動映像を表示させる映像信号や、楽曲を演奏させる音声信号が「目標信号」に相当し、モニタ2の表示部21やスピーカ22が、「出力部」に相当する。標準のBPM値が「第1速度」に相当し、調整されたBPM値が「第2速度」に相当する。HDD3が「記憶手段」に相当する。検出器7が「取得手段」に相当する。評価値が「追従情報」に相当する。分析処理を行うCPU12が「決定手段」に相当する。S65において、S61で算出した調整されたBPM値で標準のBPM値を更新するCPU12が「第1変更手段」に相当する。S23で運動映像を生成する際に、キャラクタの運動動作が、調整されたBPM値に指定される動作速度で行われるようにするCPU12が「第2変更手段」に相当する。調整関数の参照テーブルが「調整情報」に相当する。標準時間が「第1時間」に相当し、調整時間が「第2時間」に相当する。
【符号の説明】
【0096】
1 運動支援装置
2 モニタ
3 HDD
6 センサ
7 検出器
12 CPU
14 RAM
21 表示部
22 スピーカ
33 レッスン情報テーブル
34 運動基本情報テーブル
35 検出値記録テーブル

【特許請求の範囲】
【請求項1】
身体部位を動作させる運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援装置であって、
前記運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第1速度と、を記憶する記憶手段と、
前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも2人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得手段と、
前記第1速度で前記運動動作が行われる場合に前記取得手段によって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第1速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定手段と、
前記決定手段によって決定された前記追従情報に基づいて、前記運動動作を行う速さを第2速度に変更する第1変更手段と、
前記第1変更手段によって変更された前記第2速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第2変更手段と、
を備えることを特徴とする運動支援装置。
【請求項2】
前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザのうちの少なくとも2人以上の前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定の期間における前記運動動作の状態が動作状態である場合に、前記追従情報として、前記第1速度で行われる前記運動動作に前記ユーザが追従していることを示す情報を決定することを特徴とする請求項1に記載の運動支援装置。
【請求項3】
前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザのうちの少なくとも2人以上の前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定のタイミングにおける前記運動動作の状態が静止状態である場合に、前記追従情報として、前記第1速度で行われる前記運動動作に前記ユーザが追従していることを示す情報を決定することを特徴とする請求項1または2に記載の運動支援装置。
【請求項4】
前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得されるすべての前記ユーザの前記タイミング情報および前記状態情報に基づいて、所定の期間における前記運動動作の状態が動作状態であり、且つ、所定のタイミングにおける前記運動動作の状態が静止状態である場合に、前記追従情報として、前記ユーザが前記第1速度で行われる前記運動動作に追従していることを示す情報を決定することを特徴とする請求項1に記載の運動支援装置。
【請求項5】
前記追従情報は、所定のタイミングにおける前記運動動作の状態が静止状態である場合よりも、所定の期間における前記運動動作の状態が動作状態である場合に、優先して、点数が付与される評価値によって表される情報であることを特徴とする請求項1から4のいずれかに記載の運動支援装置。
【請求項6】
前記記憶手段は、前記評価値と、前記第1速度を前記評価値の大きさに応じて調整する調整値とを関連付けた調整情報をさらに記憶し、
前記決定手段は、前記取得手段によって前記タイミング情報および前記状態情報が取得される前記ユーザごとに前記評価値を求めるとともに、前記評価値の平均値を求め、
前記第1変更手段は、前記調整情報に基づいて前記評価値の平均値に応じた前記調整値を取得するとともに、前記運動動作を行う速さを、前記第1速度に前記調整値を適用した前記第2速度に変更することを特徴とする請求項5に記載の運動支援装置。
【請求項7】
前記記憶手段は、前記調整値の上限値および下限値であり、前記運動動作の種類に応じて異なる前記上限値および前記下限値を設定するため、前記調整情報に適用される制限情報をさらに記憶し、
前記第1変更手段は、前記制限情報を適用した前記調整情報の参照により、前記上限値および前記下限値の範囲内の値の前記調整値を取得して、前記運動動作を行う速さを前記第2速度に変更することを特徴とする請求項6に記載の運動支援装置。
【請求項8】
前記調整情報は、前記評価値が小さいほど、前記第2速度が遅くなるように、前記評価値と前記調整値とが関連付けられていることを特徴とする請求項5から7のいずれかに記載の運動支援装置。
【請求項9】
前記記憶手段は、前記レッスン情報に含まれる前記運動情報のそれぞれに関連付けられ、1単位の前記運動動作を複数回数繰返して行う繰返情報をさらに記憶し、
前記レッスン情報に表される前記運動レッスンが行われる期間を示すレッスン時間を、前記第1速度の前記第2速度への変更に応じて変更可能とするか否かを設定する設定手段と、
前記設定手段によって前記レッスン時間が変更不可と設定された場合に、前記運動動作を前記第2速度で前記繰返情報に基づく回数分繰返して行った場合にかかる第2時間が、前記運動動作を前記第1速度で前記繰返情報に基づく回数分繰返して行った場合にかかる第1時間以下で、且つ、回数が最大となるように、前記運動動作を繰り返す回数を変更する第3変更手段と、
をさらに備えることを特徴とする請求項1から8のいずれかに記載の運動支援装置。
【請求項10】
前記レッスン情報は、
前記運動レッスンの開始時期に行われるウォーミングアップ運動に対応する前記運動動作を示す前記運動情報と、
前記運動レッスンの終了時期に行われるクールダウン運動に対応する前記運動動作を示す前記運動情報と、
前記運動レッスンにおける主要な運動であるメイン運動に対応する前記運動動作を示す前記運動情報と、
を含み、
前記第1変更手段は、前記メイン運動に対応する前記運動動作の速さを変更することを特徴とする請求項1から9のいずれかに記載の運動支援装置。
【請求項11】
身体部位を動作させる運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第1速度と、を記憶する記憶手段を備えるコンピュータで実行され、前記運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援方法であって、
前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも2人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得ステップと、
前記第1速度で前記運動動作が行われる場合に前記取得ステップによって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第1速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定ステップと、
前記決定ステップによって決定された前記追従情報に基づいて、前記運動動作を行う速さを第2速度に変更する第1変更ステップと、
前記第1変更ステップによって変更された前記第2速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第2変更ステップと、
を含む運動支援方法。
【請求項12】
身体部位を動作させる運動動作を表す複数種類の運動情報を組合せてなるレッスン情報と、前記運動情報に関連付けられ、前記運動動作を行う基準の速さである第1速度と、を記憶する記憶手段を備え、前記運動動作を行う速さの目標となる目標信号を所定の出力部へ出力して前記運動動作の支援を行う運動支援装置として機能させるためのプログラムであって、
コンピュータに、
前記レッスン情報に表される運動レッスンに参加する複数人のユーザのうち少なくとも2人以上の前記ユーザのそれぞれが行う前記運動動作のタイミングを示すタイミング情報、およびそのタイミングにおける前記運動動作の状態を示す状態情報を取得する取得ステップと、
前記第1速度で前記運動動作が行われる場合に前記取得ステップによって取得される前記タイミング情報および前記状態情報に基づき、所定のタイミングにおける前記運動動作の状態が静止状態であるか動作状態であるかに応じて、前記第1速度で行われる前記運動動作に対する前記ユーザの追従状態を示す追従情報を決定する決定ステップと、
前記決定ステップによって決定された前記追従情報に基づいて、前記運動動作を行う速さを第2速度に変更する第1変更ステップと、
前記第1変更ステップによって変更された前記第2速度で前記運動動作が行われるように、前記目標信号の出力速度を変更する第2変更ステップと、
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−65943(P2012−65943A)
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【出願番号】特願2010−214832(P2010−214832)
【出願日】平成22年9月27日(2010.9.27)
【出願人】(000005267)ブラザー工業株式会社 (13,856)