(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】推奨負荷決定装置、能力パラメータ推定モデル学習装置、方法、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241106BHJP
A63B 71/06 20060101ALI20241106BHJP
G06F 3/01 20060101ALI20241106BHJP
G06F 3/0481 20220101ALI20241106BHJP
【FI】
G06N20/00
A63B71/06 J
G06F3/01 510
G06F3/0481
(21)【出願番号】P 2020210721
(22)【出願日】2020-12-18
【審査請求日】2023-10-10
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】栗栖 崇紀
(72)【発明者】
【氏名】八瀬 哲志
(72)【発明者】
【氏名】中山 雅宗
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2018-175670(JP,A)
【文献】特開2020-199049(JP,A)
【文献】特開2014-104265(JP,A)
【文献】特開2010-205043(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
A63B 71/06
G06F 3/01
G06F 3/0481
(57)【特許請求の範囲】
【請求項1】
利用者に与えた負荷を表す負荷データと、当該負荷の下での前記利用者の一動作単位の動作を表す動作データとに基づいて計算される、前記利用者の能力に関するパラメータを出力する推定モデルを利用する推奨負荷決定装置であって、
推奨負荷の決定対象である対象利用者に与えた負荷を表す負荷データと、当該負荷の下での前記対象利用者の一動作単位の動作を表す動作データとを取得する取得部と、
取得された前記負荷データ及び前記動作データを前記推定モデルに入力することにより前記推定モデルが出力する前記対象利用者の前記能力に関するパラメータに基づいて、前記対象利用者のための推奨負荷を表す推奨負荷データを決定する決定部と、
を含み、
前記推定モデルが出力する前記能力に関するパラメータは、前記負荷と前記動作についての成功見込みの大きさとの関係を表すパラメータである、
推奨負荷決定装置。
【請求項2】
前記動作データは、前記利用者若しくは前記利用者が前記動作を行う際に保持する器具の特定部位の変位データ、前記利用者の筋活動量データ、又は、前記変位データ若しくは前記筋活動量データの微分データ若しくは積分データである請求項1に記載の推奨負荷決定装置。
【請求項3】
前記利用者の特定部位の変位データは、前記利用者の骨格情報の時系列データである請求項2に記載の推奨負荷決定装置。
【請求項4】
前記推定モデルが出力する前記能力に関するパラメータは、前記動作についての成功見込みが所定の基準より大きくなる、1つの負荷項目についての前記負荷の値の範囲の中で前記利用者にとっての負担が最も大きい前記負荷の値を表す限界負荷データであり、
前記決定部は、前記対象利用者についての前記限界負荷データを前記推奨負荷データとして決定する
請求項1~請求項3のいずれか1項に記載の推奨負荷決定装置。
【請求項5】
前記対象利用者についての前記負荷と前記動作についての成功見込みの大きさとの関係を表すパラメータは、1つの負荷項目についての前記負荷の値と前記成功見込みの大きさとの関係を表すグラフを特定するパラメータであり、
前記決定部は、前記グラフにおいて前記成功見込みが所定の基準より大きくなる前記負荷の値の範囲の中で前記対象利用者にとっての負担が最も大きい前記負荷の値を表す限界負荷データを前記推奨負荷データとして決定する
請求項
1~請求項4のいずれか1項に記載の推奨負荷決定装置。
【請求項6】
前記対象利用者についての前記負荷と前記動作についての成功見込みの大きさとの関係を表すパラメータは、複数の負荷項目についての前記負荷の値と前記成功見込みの大きさとの関係を表すヒートマップを特定するパラメータであり、
前記決定部は、前記ヒートマップにおいて前記成功見込みが所定の基準より大きくなる負荷の値の組を前記推奨負荷データとして決定する
請求項
1~請求項4のいずれか1項に記載の推奨負荷決定装置。
【請求項7】
前記決定部は、前記ヒートマップを可視化して表示するためのデータを出力する請求項
6に記載の推奨負荷決定装置。
【請求項8】
前記決定部は、比較用ヒートマップを利用可能とされており、前記比較用ヒートマップとの比較において、前記対象利用者の前記成功見込みの方が大きい前記負荷の値の組の範囲である相対得意範囲を特定する相対得意マップ又は前記対象利用者の前記成功見込みの方が小さい前記負荷の値の組の範囲である相対不得意範囲を特定する相対不得意マップを作成し、前記相対得意範囲又は前記相対不得意範囲の中の負荷の値の組を前記推奨負荷データとして決定する
請求項
6又は請求項
7に記載の推奨負荷決定装置。
【請求項9】
前記比較用ヒートマップは、前記利用者のレベル別に用意されており、
前記決定部は、前記対象利用者のレベルと同等のレベル又は前記対象利用者のレベルより上のレベルであって前記対象利用者のレベルに最も近いレベルの前記利用者についての前記比較用ヒートマップを利用する
請求項
8に記載の推奨負荷決定装置。
【請求項10】
前記取得部は、さらに前記対象利用者についての得意又は不得意の指定を取得し、
前記決定部は、前記得意の指定が取得された場合は前記相対得意マップを作成し、前記不得意の指定が取得された場合は前記相対不得意マップを作成する
請求項
8又は請求項
9に記載の推奨負荷決定装置。
【請求項11】
前記決定部は、前記相対得意マップ及び前記相対不得意マップの少なくとも一方を可視化して表示するためのデータを出力する請求項
8~請求項
10のいずれか1項に記載の推奨負荷決定装置。
【請求項12】
前記推定モデルは、前記動作の類型毎に用意され、
前記取得部は、前記対象利用者から、いずれかの前記類型の指定を取得し、
前記決定部は、指定された前記類型に対応する前記推定モデルを用いて、前記推奨負荷データを決定する
請求項1~請求項
11のいずれか1項に記載の推奨負荷決定装置。
【請求項13】
前記取得部は、前記負荷データ及び前記動作データの組を複数組取得し、
前記決定部は、複数の前記負荷データを平均化した負荷データ及び複数の前記動作データを平均化した動作データを前記推定モデルに入力する
請求項1~請求項
12のいずれか1項に記載の推奨負荷決定装置。
【請求項14】
前記取得部は、前記負荷データ及び前記動作データの組を複数組取得し、
前記決定部は、前記負荷データ及び前記動作データの組のそれぞれを前記推定モデルに入力することにより得られた前記能力に関するパラメータを平均化し、前記平均化したパラメータに基づいて前記推奨負荷データを決定する
請求項1~請求項
12のいずれか1項に記載の推奨負荷決定装置。
【請求項15】
前記取得部は、前記負荷データ及び前記動作データの組を複数組取得し、
前記決定部は、前記負荷データ及び前記動作データの組のそれぞれを前記推定モデルに入力することにより得られたそれぞれの前記能力に関するパラメータに基づいて複数の推奨負荷データを算出し、さらに前記複数の推奨負荷データを平均化して最終的な前記推奨負荷データを決定する
請求項1~請求項
12のいずれか1項に記載の推奨負荷決定装置。
【請求項16】
前記取得部は、前記負荷データ及び前記動作データの組とそれに対応する実際の動作結果に関する実測パラメータを取得し、
前記決定部は、取得された前記実測パラメータにより評価される前記対象利用者の能力が前記推定モデルの出力である前記パラメータにより評価される前記対象利用者の能力よりも低い場合は、前記対象利用者にとっての負担がより小さくなるように前記推奨負荷データを決定する
請求項1~請求項
15のいずれか1項に記載の推奨負荷決定装置。
【請求項17】
前記決定部は、前記推奨負荷データを、前記対象利用者に対して前記負荷を与える負荷付与装置を制御するために前記負荷付与装置へ出力する請求項1~請求項
16のいずれか1項に記載の推奨負荷決定装置。
【請求項18】
前記決定部は、所定の時間間隔で、最新の前記推奨負荷データを表示するためのデータを出力する請求項1~請求項
16のいずれか1項に記載の推奨負荷決定装置。
【請求項19】
前記負荷データ及び前記動作データと、前記負荷データ及び前記動作データに基づいて計算される前記利用者の能力に関するパラメータとの対応を学習することにより、前記推定モデルを生成する学習部を含む請求項1~請求項
18のいずれか1項に記載の推奨負荷決定装置。
【請求項20】
前記学習部は、前記負荷データの次元数と、前記動作データの次元数との差が所定範囲となるように圧縮した前記動作データを用いて、前記推定モデルを生成する請求項
19に記載の推奨負荷決定装置。
【請求項21】
利用者に与えた負荷を表す負荷データと、当該負荷の下での前記利用者の一動作単位の動作を示す動作データと、前記動作に伴う成績データとを取得する取得部と、
前記負荷データ及び前記動作データと、前記負荷データと前記成績データとに基づいて計算される、前記利用者の能力に関するパラメータとの対応を学習することにより、推奨負荷の決定対象である対象利用者についての前記負荷データ及び前記動作データの入力に対して前記対象利用者の能力に関するパラメータを出力する推定モデルを生成する学習部と、
を含み、
前記推定モデルが出力する前記能力に関するパラメータは、前記負荷と前記動作についての成功見込みの大きさとの関係を表すパラメータである、
能力パラメータ推定モデル学習装置。
【請求項22】
利用者に与えた負荷を表す負荷データと、当該負荷の下での前記利用者の一動作単位の動作を表す動作データとに基づいて計算される、前記利用者の能力に関するパラメータを出力する推定モデルを用意し、
取得部が、推奨負荷の決定対象である対象利用者に与えた負荷を表す負荷データと、当該負荷の下での前記対象利用者の一動作単位の動作を表す動作データとを取得し、
決定部が、取得された前記負荷データ及び前記動作データを前記推定モデルに入力することにより前記推定モデルが出力する前記対象利用者の前記能力に関するパラメータに基づいて、前記対象利用者のための推奨負荷を表す推奨負荷データを決定
し、
前記推定モデルが出力する前記能力に関するパラメータは、前記負荷と前記動作についての成功見込みの大きさとの関係を表すパラメータである、
推奨負荷決定方法。
【請求項23】
コンピュータを、利用者に与えた負荷を表す負荷データと、当該負荷の下での前記利用者の一動作単位の動作を表す動作データとに基づいて計算される、前記利用者の能力に関するパラメータを出力する推定モデルを利用する推奨負荷決定装置として機能させるための推奨負荷決定プログラムであって、
前記コンピュータを、
推奨負荷の決定対象である対象利用者に与えた負荷を表す負荷データと、当該負荷の下での前記対象利用者の一動作単位の動作を表す動作データとを取得する取得部、及び、
取得された前記負荷データ及び前記動作データを前記推定モデルに入力することにより前記推定モデルが出力する前記対象利用者の前記能力に関するパラメータに基づいて、前記対象利用者のための推奨負荷を表す推奨負荷データを決定する決定部
として機能させ、
前記推定モデルが出力する前記能力に関するパラメータは、前記負荷と前記動作についての成功見込みの大きさとの関係を表すパラメータである、
推奨負荷決定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推奨負荷決定装置、能力パラメータ推定モデル学習装置、推奨負荷決定方法、及び推奨負荷決定プログラムに関する。
【背景技術】
【0002】
従来、人が機械を使用して運動、作業、リハビリテーション等を行う際に、人の生体情報等に基づいて、機械の制御量を自動で決定する技術が提案されている。
【0003】
例えば、作業の熟練度に応じて生産ラインの駆動部を制御する制御装置が提案されている(特許文献1参照)。特許文献1に記載の制御装置は、作業の熟練度毎に当該熟練度に応じた生体情報を記憶するための記憶部を有する。また、この制御装置は、作業者から測定された生体情報を取得し、作業時に取得される生体情報が有する特徴量と、記憶部の熟練度毎の生体情報が有する特徴量とを比較する。そして、この制御装置は、比較の結果に基づき、当該取得される生体情報がいずれの熟練度に該当するかを判定し、判定された熟練度に基づき駆動部の制御量を決定する。
【0004】
また、例えば、適正な難易度設定を可能にするリハビリテーション支援装置が提案されている(特許文献2参照)。特許文献2に記載の装置は、受付部と、取得部と、算出部と、出力制御部とを備える。受付部は、リハビリテーションの対象となる対象者について、fMRIにより計測される脳活動の第1指標値、リハビリテーションのタスクの第1達成率、及びリハビリテーションのタスクの第1難易度の入力を受け付ける。取得部は、リハビリテーションを行った複数の者について、fMRIにより計測される脳活動の第2指標値、リハビリテーションのタスクの第2達成率、及びリハビリテーションのタスクの第2難易度の相関関係を取得する。算出部は、入力及び相関関係に基づいて、対象者が実行するリハビリテーションの第3難易度を算出し、出力制御部は、第3難易度を出力する。
【0005】
また、被検者に拘束性を与えず、評価不能となることが少なく、特別の生理情報センサも必要としないで運動能力を評価する運動能力評価装置が提案されている(特許文献3参照)。特許文献3に記載の装置は、運動の負荷強度をP1からP2までステップ状に増加させ、この負荷増加により、運動による回転機の回転数がR1からΔRだけ低下する。また、この装置は、その後、被検者が元の回転数R1に復帰させようとして、回転数を上げるように運動することに応じて、回転数がΔRの1/2だけ復帰する時間1/2tfを求め、この時間1/2tfにより、運動能力を評価する。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2018-55611号公報
【文献】特開2019-107235号公報
【文献】特開平11-235401号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
例えば、利用者に対して負荷を与えて、ある運動課題を実施させる場合、運動課題に対する利用者の技能が向上するように適切な負荷を与えることが望ましい。しかしながら、特許文献1に記載の技術では、生体情報の変動が、ロボットから人に与えられた負荷の変化によるものであるか、本人の上達によるものであるかを区別することができない。すなわち、利用者の技能が向上しているか否かを把握することができない。そのため、特許文献1に記載の技術では、ある運動課題に対する利用者の技能が向上するような適切な負荷を与えることができない、という問題がある。
【0008】
また、特許文献2に記載の技術は、リハビリテーションのタスクの難易度を患者に合わせて適切に調整するものである。また、特許文献3に記載の技術は、運動能力の評価を行っているものである。したがって、いずれの技術も、上記のように、ある運動課題に対する利用者の技能が向上するような適切な負荷を与える場合には適用することができない、という問題がある。
【0009】
本発明は、上記の点に鑑みてなされたものであり、利用者に負荷を与えて運動課題を実施させる場合に、利用者の技能向上に有益な負荷を決定することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、開示の推奨負荷決定装置は、利用者に与えた負荷を表す負荷データと、当該負荷の下での前記利用者の一動作単位の動作を表す動作データとに基づいて計算される、前記利用者の能力に関するパラメータを出力する推定モデルを利用する推奨負荷決定装置であって、推奨負荷の決定対象である対象利用者に与えた負荷を表す負荷データと、当該負荷の下での前記対象利用者の一動作単位の動作を表す動作データとを取得する取得部と、取得された前記負荷データ及び前記動作データを前記推定モデルに入力することにより前記推定モデルが出力する前記対象利用者の前記能力に関するパラメータに基づいて、前記対象利用者のための推奨負荷を表す推奨負荷データを決定する決定部と、を含んで構成される。
【0011】
開示の推奨負荷決定装置は、利用者に与えた負荷を表す負荷データと、当該負荷の下での利用者の一動作単位の動作を表す動作データとに基づいて計算される、利用者の能力に関するパラメータを出力する推定モデルを利用する推奨負荷決定装置であって、取得部が、推奨負荷の決定対象である対象利用者に与えた負荷を表す負荷データと、当該負荷の下での対象利用者の一動作単位の動作を表す動作データとを取得し、決定部が、取得された負荷データ及び動作データを推定モデルに入力することにより推定モデルが出力する対象利用者の能力に関するパラメータに基づいて、対象利用者のための推奨負荷を表す推奨負荷データを決定する。
【0012】
これにより、利用者に負荷を与えて運動課題を実施させる場合に、利用者の技能向上に有益な負荷を決定することができる。
【0013】
また、前記動作データは、前記利用者若しくは前記利用者が前記動作を行う際に保持する器具の特定部位の変位データ、前記利用者の筋活動量データ、又は、前記変位データ若しくは前記筋活動量データの微分データ若しくは積分データであってよい。また、前記利用者の特定部位の変位データは、前記利用者の骨格情報の時系列データであってよい。
【0014】
また、前記推定モデルが出力する前記能力に関するパラメータは、前記動作についての成功見込みが所定の基準より大きくなる、1つの負荷項目についての前記負荷の値の範囲の中で前記利用者にとっての負担が最も大きい前記負荷の値を表す限界負荷データであってよく、前記決定部は、前記対象利用者についての前記限界負荷データを前記推奨負荷データとして決定してよい。
【0015】
また、前記推定モデルが出力する前記能力に関するパラメータは、前記負荷と前記動作についての成功見込みの大きさとの関係を表すパラメータであってよく、前記決定部は、前記対象利用者についての前記能力に関するパラメータに基づいて前記推奨負荷データを決定してよい。
【0016】
また、前記対象利用者についての前記負荷と前記動作についての成功見込みの大きさとの関係を表すパラメータは、1つの負荷項目についての前記負荷の値と前記成功見込みの大きさとの関係を表すグラフを特定するパラメータであってよく、前記決定部は、前記グラフにおいて前記成功見込みが所定の基準より大きくなる前記負荷の値の範囲の中で前記対象利用者にとっての負担が最も大きい前記負荷の値を表す限界負荷データを前記推奨負荷データとして決定してよい。
【0017】
また、前記対象利用者についての前記負荷と前記動作についての成功見込みの大きさとの関係を表すパラメータは、複数の負荷項目についての前記負荷の値と前記成功見込みの大きさとの関係を表すヒートマップを特定するパラメータであってよく、前記決定部は、前記ヒートマップにおいて前記成功見込みが所定の基準より大きくなる負荷の値の組を前記推奨負荷データとして決定してよい。
【0018】
また、前記決定部は、前記ヒートマップを可視化して表示するためのデータを出力してよい。
【0019】
前記決定部は、比較用ヒートマップを利用可能とされてよく、前記比較用ヒートマップとの比較において、前記対象利用者の前記成功見込みの方が大きい前記負荷の値の組の範囲である相対得意範囲を特定する相対得意マップ又は前記対象利用者の前記成功見込みの方が小さい前記負荷の値の組の範囲である相対不得意範囲を特定する相対不得意マップを作成し、前記相対得意範囲又は前記相対不得意範囲の中の負荷の値の組を前記推奨負荷データとして決定してよい。
【0020】
また、前記比較用ヒートマップは、前記利用者のレベル別に用意されてよく、前記決定部は、前記対象利用者のレベルと同等のレベル又は前記対象利用者のレベルより上のレベルであって前記対象利用者のレベルに最も近いレベルの前記利用者についての前記比較用ヒートマップを利用してよい。
【0021】
また、前記取得部は、さらに前記対象利用者についての得意又は不得意の指定を取得してよく、前記決定部は、前記得意の指定が取得された場合は前記相対得意マップを作成し、前記不得意の指定が取得された場合は前記相対不得意マップを作成してよい。
【0022】
また、前記決定部は、前記相対得意マップ及び前記相対不得意マップの少なくとも一方を可視化して表示するためのデータを出力してよい。
【0023】
また、前記推定モデルは、前記動作の類型毎に用意されてよく、前記取得部は、前記対象利用者から、いずれかの前記類型の指定を取得してよく、前記決定部は、指定された前記類型に対応する前記推定モデルを用いて、前記推奨負荷データを決定してよい。
【0024】
また、前記取得部は、前記負荷データ及び前記動作データの組を複数組取得してよく、前記決定部は、複数の前記負荷データを平均化した負荷データ及び複数の前記動作データを平均化した動作データを前記推定モデルに入力してよい。
【0025】
また、前記取得部は、前記負荷データ及び前記動作データの組を複数組取得してよく、前記決定部は、前記負荷データ及び前記動作データの組のそれぞれを前記推定モデルに入力することにより得られた前記能力に関するパラメータを平均化し、前記平均化したパラメータに基づいて前記推奨負荷データを決定してよい。
【0026】
また、前記取得部は、前記負荷データ及び前記動作データの組を複数組取得してよく、前記決定部は、前記負荷データ及び前記動作データの組のそれぞれを前記推定モデルに入力することにより得られたそれぞれの前記能力に関するパラメータに基づいて複数の推奨負荷データを算出し、さらに前記複数の推奨負荷データを平均化して最終的な前記推奨負荷データを決定してよい。
【0027】
また、前記取得部は、前記負荷データ及び前記動作データの組とそれに対応する実際の動作結果に関する実測パラメータを取得してよく、前記決定部は、取得された前記実測パラメータにより評価される前記対象利用者の能力が前記推定モデルの出力である前記パラメータにより評価される前記対象利用者の能力よりも低い場合は、前記対象利用者にとっての負担がより小さくなるように前記推奨負荷データを決定してよい。
【0028】
また、前記決定部は、前記推奨負荷データを、前記対象利用者に対して前記負荷を与える負荷付与装置を制御するために前記負荷付与装置へ出力してよい。また、前記決定部は、所定の時間間隔で、最新の前記推奨負荷データを表示するためのデータを出力してよい。
【0029】
また、開示の推奨負荷決定装置は、前記負荷データ及び前記動作データと、前記負荷データ及び前記動作データに基づいて計算される前記利用者の能力に関するパラメータとの対応を学習することにより、前記推定モデルを生成する学習部を含んで構成してよい。
【0030】
前記学習部は、前記負荷データの次元数と、前記動作データの次元数との差が所定範囲となるように圧縮した前記動作データを用いて、前記推定モデルを生成してよい。
【0031】
開示の能力パラメータ推定モデル学習装置は、利用者に与えた負荷を表す負荷データと、当該負荷の下での前記利用者の一動作単位の動作を示す動作データと、前記動作に伴う成績データとを取得する取得部と、前記負荷データ及び前記動作データと、前記負荷データと前記成績データとに基づいて計算される、前記利用者の能力に関するパラメータとの対応を学習することにより、推奨負荷の決定対象である対象利用者についての前記負荷データ及び前記動作データの入力に対して前記対象利用者の能力に関するパラメータを出力する推定モデルを生成する学習部と、を含んで構成される。
【0032】
また、開示の推奨負荷決定方法は、利用者に与えた負荷を表す負荷データと、当該負荷の下での前記利用者の一動作単位の動作を表す動作データとに基づいて計算される、前記利用者の能力に関するパラメータを出力する推定モデルを用意し、取得部が、推奨負荷の決定対象である対象利用者に与えた負荷を表す負荷データと、当該負荷の下での前記対象利用者の一動作単位の動作を表す動作データとを取得し、決定部が、取得された前記負荷データ及び前記動作データを前記推定モデルに入力することにより前記推定モデルが出力する前記対象利用者の前記能力に関するパラメータに基づいて、前記対象利用者のための推奨負荷を表す推奨負荷データを決定する方法である。
【0033】
開示の推奨負荷決定プログラムは、コンピュータを、利用者に与えた負荷を表す負荷データと、当該負荷の下での前記利用者の一動作単位の動作を表す動作データとに基づいて計算される、前記利用者の能力に関するパラメータを出力する推定モデルを利用する推奨負荷決定装置として機能させるためのプログラムであって、前記コンピュータを、推奨負荷の決定対象である対象利用者に与えた負荷を表す負荷データと、当該負荷の下での前記対象利用者の一動作単位の動作を表す動作データとを取得する取得部、及び、取得された前記負荷データ及び前記動作データを前記推定モデルに入力することにより前記推定モデルが出力する前記対象利用者の前記能力に関するパラメータに基づいて、前記対象利用者のための推奨負荷を表す推奨負荷データを決定する決定部として機能させるためのプログラムである。
【発明の効果】
【0034】
開示の推奨負荷決定装置、能力パラメータ推定モデル学習装置、方法、及びプログラムによれば、利用者に負荷を与えて運動課題を実施させる場合に、利用者の技能向上に有益な負荷を決定することができる。
【図面の簡単な説明】
【0035】
【
図1】第1実施形態に係る推奨負荷決定装置の機能ブロック図である。
【
図2】第1実施形態における学習データDBの一例を示す図である。
【
図3】推奨負荷決定装置のハードウェア構成を示すブロック図である。
【
図4】第1実施形態における学習モード処理の一例を示すフローチャートである。
【
図5】第1実施形態における練習モード処理の一例を示すフローチャートである。
【
図6】第2及び第3実施形態に係る推奨負荷決定装置の機能ブロック図である。
【
図8】第2実施形態における学習データDBの一例を示す図である。
【
図9】打球速度と返球率との関係を表すグラフである。
【
図10】第2実施形態における推奨負荷決定処理の一例を示すフローチャートである。
【
図13】第3実施形態における学習データDBの一例を示す図である。
【
図14】第3実施形態における推定モデルの一例を示す図である。
【
図15】ヒートマップに基づく推奨負荷データの決定を説明するための図である。
【
図16】第3実施形態における推奨負荷決定処理の一例を示すフローチャートである。
【
図17】第4実施形態に係る推奨負荷決定装置の機能ブロック図である。
【
図18】比較用ヒートマップを説明するための図である。
【
図19】相対得意不得意マップを説明するための図である。
【
図20】相対得意不得意マップに基づく推奨負荷データの決定を説明するための図である。
【
図21】相対得意不得意マップに基づく推奨負荷データの決定を説明するための図である。
【
図22】第4実施形態における比較用ヒートマップ作成処理の一例を示すフローチャートである。
【
図23】第4実施形態における決定処理の一例を示すフローチャートである。
【
図24】第5実施形態に係る推奨負荷決定装置の機能ブロック図である。
【
図25】第5実施形態における推定モデルの一例を示す図である。
【
図26】第6実施形態に係る推奨負荷決定装置の機能ブロック図である。
【
図28】負荷の減少方向を説明するための図である。
【
図29】負荷の増加方向を説明するための図である。
【
図30】第6実施形態における決定処理の一例を示すフローチャートである。
【
図31】負荷の突発的な変動を説明するための図である。
【
図32】推定モデルへの入力の平均化を説明するための図である。
【
図33】推定モデルからの出力の平均化を説明するための図である。
【
図34】動作データの次元圧縮を説明するための図である。
【
図35】動作データの次元圧縮の一例を説明するための図である。
【
図36】動作データの次元圧縮の一例を説明するための図である。
【
図37】動作データの次元圧縮の一例を説明するための図である。
【発明を実施するための形態】
【0036】
以下、開示の技術に関する実施形態の一例を、図面を参照しつつ説明する。以下の各実施形態では、機械によって与えられた負荷に対して、利用者が所定の運動課題に応じた動作を行う場合における、利用者に与える負荷を決定する推奨負荷決定装置について説明する。運動課題は、例えば、卓球のラリーにおける返球率の向上、野球のバッティングにおける安打率の向上、リハビリテーションにおける歩行改善等である。この場合、利用者に負荷を与える機械である負荷付与装置としては、卓球の打球を返球又は送出する卓球ロボット、バッティングマシン、トレッドミル等が想定される。
【0037】
以下の各実施形態において、推定モデルの実体が処理内容を規定するデータである場合には、「モデルに入力する」、「モデルが出力する」という表現は、モデルが実装されたコンピュータ等である機能手段(モデル実行部)に入力する、同手段が出力することを指す。推定モデルの実体が処理内容を規定するデータである場合とは、例えば、推定モデルの実体がニューラルネットワークを規定する構造データ及び結合重みデータである場合である。
【0038】
なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法及び比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0039】
<第1実施形態>
図1に、第1実施形態に係る推奨負荷決定装置10の機能的構成を示すブロック図を示す。
図1に示すように、推奨負荷決定装置10は、取得部12と、学習データDB(database)14と、学習部16と、推定モデル18と、決定部20とを含む。推奨負荷決定装置10は、推定モデル18を学習するための学習モードと、学習された推定モデル18を用いて推奨負荷を決定する練習モードとの2つのモードで動作する。
【0040】
取得部12は、学習モードにおいて、サンプルユーザに与えた負荷を表す負荷データを取得する。サンプルユーザとは、推定モデル18を学習するための学習データの収集のために運動課題を実施する利用者のことである。負荷データは、例えば、負荷付与装置が卓球ロボットやピッチングマシンの場合には、負荷付与装置から送出される打球又は投球の球速、回転、方向等である。また、負荷データは、例えば、負荷付与装置がトレッドミルの場合には、走行ベルトの速度、傾斜角度等である。取得部12は、例えば、負荷付与装置から、モータのトルク等の負荷に関する制御情報を取得したり、実際にサンプルユーザに与えられた負荷を計測したりすることにより負荷データを取得することができる。
【0041】
なお、利用者に与える負荷を規定する値は、上記の「球速、回転、方向等」のように複数の項目を含む場合がある。取得部12は、負荷を与える際に変動させる項目、すなわち、推奨負荷として決定する項目に応じて、複数項目のうちの1項目の負荷データを取得してもよいし、複数項目の負荷データを取得してもよい。
【0042】
また、取得部12は、学習モードにおいて、負荷の下でのサンプルユーザの一動作単位の動作を表す動作データを取得する。一動作単位とは、例えば、卓球や野球のバッティングの運動課題の場合、1スイングを示す動作であり、歩行訓練の場合、所定歩数分(例えば、1歩又は2歩)の歩行動作である。動作データは、例えば、サンプルユーザ若しくはサンプルユーザが動作を行う際に保持する器具の特定部位の変位データ、サンプルユーザの筋活動量データ、又は、それらの微分データ若しくは積分データ等である。取得部12は、動作を行うサンプルユーザをカメラで撮影した画像を画像解析したり、サンプルユーザに装着した筋電位センサからの出力値をデータ処理したりすることにより、動作データを取得することができる。
【0043】
また、取得部12は、学習モードにおいて、負荷の下でのサンプルユーザの動作に伴う成績データを取得する。成績データは、卓球の運動課題の場合には返球率、野球のバッティングの運動課題の場合には安打率等である。取得部12は、これらの成績データを、例えば、カメラで撮影した画像を画像解析したり、各種センサからの出力値をデータ処理したりすることにより取得することができる。また、取得部12は、学習モードにおいては、人手により入力された成績データを取得してもよい。
【0044】
取得部12は、学習モードにおいて取得した、サンプルユーザ毎の負荷データ、動作データ、及び成績データを、例えば
図2に示すような学習データDB14に記憶する。
図2の例では、「ユーザNo.」は、サンプルユーザを個別に特定可能な識別番号である。また、「試行No.」は、各サンプルユーザについて、一動作単位の動作を伴う試行を1回の試行とし、各データが何回目の試行におけるデータかを示す番号である。
図2の例では、各サンプルユーザについて、100回分の試行についての負荷データ、動作データ、及び成績データが記憶された例を示している。なお、
図2における「能力パラメータ」については後述する。
【0045】
また、取得部12は、練習モードにおいて、推奨負荷の決定対象である対象利用者に与えた負荷を表す負荷データと、その負荷の下での対象利用者の一動作単位の動作を表す動作データとを取得する。負荷データ及び動作データの詳細は、上記の学習モードにおいて取得する負荷データ及び動作データと同様である。なお、サンプルユーザと対象利用者とを区別なく説明する場合には、単に「利用者」という。
【0046】
学習部16は、学習モードにおいて機能する機能部である。学習部16は、学習データDB14に記憶された負荷データと成績データとに基づいて、運動課題に対する各サンプルユーザの能力に関するパラメータ(以下、「能力パラメータ」という)を計算する。能力パラメータは、例えば、動作についての成績データが示す成功見込みが所定の基準より大きくなる、1つの負荷項目についての負荷の値の範囲の中で、サンプルユーザにとっての負担が最も大きい負荷の値を表す限界負荷データとすることができる。また、能力パラメータは、負荷と、動作についての成功見込みの大きさとの関係を表すパラメータであってもよい。また、このパラメータは、1つの負荷項目についての負荷の値と成功見込みの大きさとの関係を表すグラフを特定するパラメータとすることができる。また、このパラメータは、複数の負荷項目についての負荷の値と成功見込みの大きさとの関係を表すヒートマップを特定するパラメータとすることができる。ここで、「成功見込み」は、成功の可能性の大きさを表すパラメータであり、例えば、予測される成功率、予測される成績値が該当する。成績値の例としては、後述の卓球についての実施形態における着弾位置の誤差の大きさがある。着弾位置の誤差の場合には、予測される誤差が小さいほど成功見込みは大きい。また、利用者にとっての「負担」は、利用者にとっての難度のことであり、負担が大きいほど成功見込みは小さくなる。例えば卓球の実施形態の場合であれば一般に卓球ロボットからの送球の球速(負荷)が大きいほど負担が大きくなり成功見込みが小さくなる。
【0047】
学習部16は、サンプルユーザ毎に計算した能力パラメータを、学習データDB14の「能力パラメータ」欄に記憶する。学習データDB14に記憶された、負荷データ及び動作データと、能力パラメータとの各組が、推定モデル18を学習するための各学習データとなる。学習部16は、負荷データ及び動作データと、能力パラメータとの対応を学習することにより、推奨負荷の決定対象である対象利用者についての負荷データ及び動作データの入力に対して、対象利用者の能力パラメータを推定して出力する推定モデル18を生成する。推定モデル18は、例えば、ニューラルネットワーク等で構成される。
【0048】
決定部20は、練習モードにおいて機能する機能部である。決定部20は、取得部12により取得された対象利用者についての負荷データ及び動作データを推定モデル18に入力する。そして、決定部20は、推定モデル18が出力する対象利用者の能力パラメータに基づいて、対象利用者のための推奨負荷を表す推奨負荷データを決定する。上記のように、能力パラメータとして限界負荷データが推定モデル18から出力される場合、決定部20は、その限界負荷データを推奨負荷データとして決定する。また、上記のように、能力パラメータとして、負荷と動作についての成功見込みの大きさとの関係を表すパラメータが出力される場合、決定部20は、その能力パラメータに基づいて推奨負荷データを決定する。
【0049】
例えば、決定部20は、能力パラメータにより特定されるグラフにおいて、成功見込みが所定の基準より大きくなる負荷の値の範囲の中で、対象利用者にとっての負担が最も大きい負荷の値を表す限界負荷データを推奨負荷データとして決定することができる。また、決定部20は、能力パラメータにより特定されるヒートマップにおいて、成功見込みが所定の基準より大きくなる負荷の値の組を推奨負荷データとして決定することができる。決定部20は、決定した推奨負荷データを出力する。出力された推奨負荷データは、負荷付与装置を制御する制御情報として利用されてもよいし、表示装置に表示することにより、対象利用者及び対象利用者の指導者等に提示されてもよい。
【0050】
図3に、第1実施形態に係る推奨負荷決定装置10のハードウェア構成を示すブロック図を示す。
図3に示すように、推奨負荷決定装置10は、CPU(Central Processing Unit)32、メモリ34、記憶装置36、入力装置38、出力装置40、記憶媒体読取装置42、及び通信I/F(Interface)44を有する。各構成は、バス46を介して相互に通信可能に接続されている。
【0051】
記憶装置36には、後述する学習モード処理及び練習モード処理の各々を実行するための推奨負荷決定プログラムが格納されている。CPU32は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU32は、記憶装置36からプログラムを読み出し、メモリ34を作業領域としてプログラムを実行する。CPU32は、記憶装置36に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【0052】
メモリ34は、RAM(Random Access Memory)により構成され、作業領域として一時的にプログラム及びデータを記憶する。記憶装置36は、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)、SSD(Solid State Drive)等により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0053】
入力装置38は、例えば、キーボードやマウス等の、各種の入力を行うための装置である。出力装置40は、例えば、ディスプレイやプリンタ等の、各種の情報を出力するための装置である。出力装置40として、タッチパネルディスプレイを採用することにより、入力装置38として機能させてもよい。記憶媒体読取装置42は、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、ブルーレイディスク、USB(Universal Serial Bus)メモリ等の各種記憶媒体に記憶されたデータの読み込みや、記憶媒体に対するデータの書き込み等を行う。
【0054】
通信I/F44は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0055】
次に、第1実施形態に係る推奨負荷決定装置10の作用について説明する。
【0056】
図4は、推奨負荷決定装置10のCPU32により実行される学習モード処理の流れを示すフローチャートである。学習モードが選択されると、CPU32が記憶装置36から推奨負荷決定プログラムを読み出して、メモリ34に展開して実行することにより、CPU32が推奨負荷決定装置10の各機能構成として機能し、
図4に示す学習モード処理が実行される。
【0057】
ステップS10で、取得部12が、複数のサンプルユーザの各々について、試行毎の負荷データ、動作データ、及び成績データを取得し、学習データDB14に記憶する。
【0058】
次に、ステップS12で、学習部16が、学習データDB14に記憶されたデータに基づいて、サンプルユーザ毎に、負荷データ及び成績データから、能力パラメータを計算し、学習データDB14に記憶する。
【0059】
次に、ステップS14で、学習部16が、負荷データ及び動作データと、能力パラメータとの対応を学習することにより、対象利用者についての負荷データ及び動作データの入力に対して、対象利用者の能力パラメータを出力する推定モデル18を生成する。学習部16は、生成した推定モデル18を推奨負荷決定装置10の所定の記憶領域に記憶し、学習モード処理は終了する。
【0060】
図5は、推奨負荷決定装置10のCPU32により実行される練習モード処理の流れを示すフローチャートである。練習モードが選択されると、CPU32が記憶装置36から推奨負荷決定プログラムを読み出して、メモリ34に展開して実行することにより、CPU32が推奨負荷決定装置10の各機能構成として機能し、
図5に示す練習モード処理が実行される。なお、練習モード処理は、開示の推奨負荷決定方法の一例である。
【0061】
ステップS20で、取得部12が、対象利用者について、今回試行時の負荷データ及び動作データを取得する。次に、ステップS22で、決定部20が、取得部12により取得された対象利用者についての負荷データ及び動作データを推定モデル18に入力し、対象利用者の能力パラメータを推定する。
【0062】
次に、ステップS24で、決定部20が、推定モデル18により推定され出力された対象利用者の能力パラメータに基づいて、対象利用者の次回試行時のための推奨負荷を表す推奨負荷データを決定して出力し、練習モード処理は終了する。
【0063】
練習モード処理が試行毎に繰り返し実行されることにより、繰り返し推奨負荷が決定されるため、対象利用者に、連続的に運動課題を実施させることができる。
【0064】
以上説明したように、第1実施形態に係る推奨負荷決定装置は、対象利用者に与えた負荷を表す負荷データと、その負荷の下での対象利用者の一動作単位の動作を表す動作データとを取得する。また、推奨負荷決定装置は、取得された負荷データ及び動作データを、負荷データ及び動作データの入力に対して、利用者の能力パラメータを推定して出力する推定モデルに入力することにより、対象利用者の能力パラメータを推定する。そして、推奨負荷決定装置は、推定した対象利用者の能力パラメータに基づいて、対象利用者のための推奨負荷を表す推奨負荷データを決定する。これにより、利用者に負荷を与えて運動課題を実施させる場合に、利用者の技能向上に有益な負荷を決定することができる。
【0065】
第1実施形態は、以下のように変形してもよい。第1実施形態に係る推奨負荷決定装置10は、学習モードと練習モードとを備えるが、練習モードのみを備えて学習モードを備えない推奨負荷決定装置10としてもよい。この場合、推奨負荷決定装置10は、学習に必要な学習データDB14及び学習部16を備えない。取得部12は、サンプルユーザの負荷データ、動作データ、及び成績データを取得しない。
【0066】
第1実施形態に係る推奨負荷決定装置10は、学習部16を内蔵せず、ネットワーク上のサーバ等の外部に設けられた学習機能を通信によって利用するようにしてもよい。また、学習データDB14を内蔵せず、外部に設けられた学習データDBに対して記録させるデータを送信するようにしてもよい。
【0067】
第1実施形態に係る推奨負荷決定装置10は、学習済みの推定モデル18を外部から取得して利用するようにしてもよい。また、外部に設けられた学習済みの推定モデルを通信により利用するようにしてもよい。
【0068】
以上の第1実施形態についての変形は、第2実施形態以降の各実施形態についても同様に適用することができる。
【0069】
<第2実施形態>
次に、第2実施形態について説明する。第2実施形態では、卓球のラリーにおける返球率の向上を運動課題とし、利用者に与える負荷が、卓球ロボットからのボールの送出又は返球であり、利用者の動作が、卓球ロボットからの打球を返球するためのスイングである場合について説明する。
【0070】
図6に、第2実施形態に係る推奨負荷決定装置210の機能的構成を示すブロック図を示す。
図6に示すように、推奨負荷決定装置210は、卓球ロボット60、センサ70、及びセンサ72の各々と接続されている。
【0071】
図7に、卓球ロボット60の外観図を示す。卓球ロボット60は、図示しない利用者が打った卓球のボールBLが卓球台TBでバウンドして飛来するボールBLを、打撃具としてのラケットRKで打ち返すロボットである。なお、本実施形態では、利用者に対して与える負荷、すなわち、特定の負荷でボールBLを送出又は返球する点に着目するものであるため、利用者からの返球を認識する機能については、詳細な説明を省略する。
【0072】
図7に示すように、卓球ロボット60は、ラケットRKを支持して運動させるための可動部62を備える。可動部62は、
図7の例では、3本のロボットアーム64A、64B、64C、及びラケットRKの支持部66を含む。すなわち、可動部62は、所謂パラレルリンクロボットであり、ロボットアーム64A、64B、64Cを並列に制御することにより、ロボットアーム64A、64B、64Cの先端の支持部66に支持されたラケットRKの挙動を制御するロボットである。支持部66は、ラケットRKの姿勢を変更するための駆動機構を備えている。なお、可動部62は、パラレルリンクロボットに限られるものではなく、他のタイプのロボットであってもよい。卓球ロボット60は、図示しない制御部により、制御情報として指定された打球速度でボールBLを返球するように、駆動機構を制御する。「打球速度」は、負荷データの一例である。
【0073】
また、卓球ロボット60には、カメラ74A、74B、74Cが設置されている。カメラ74A、74Bは、利用者を各々異なる角度から撮影可能な位置に設置されており、予め定めたフレームレートで撮影する。カメラ74A、74Bは、所謂ステレオカメラとして機能する。センサ70は、カメラ74A、74Bと、図示しない画像解析部とで構成されている。センサ70は、カメラ74A、74Bで撮影された画像をフレーム毎に画像解析することにより、利用者の骨格情報を出力する。骨格情報は、利用者の各関節(関節1~関節n)の3次元位置(X,Y,Z)の時系列データである。なお、骨格情報に含める関節としては、スイング動作の特定に必要な関節、例えば、利き腕の肩、肘、及び手首に限定してもよい。また、利用者の関節に限らず、利用者が保持するラケットRKの面の中央の3次元位置などを含めてもよい。「骨格情報」は、動作データの一例である。
【0074】
カメラ74Cは、卓球台TBの面を撮影可能な位置に設置されている。センサ72は、カメラ74Cと、図示しない画像解析部とで構成されている。センサ72は、カメラ74Cで撮影された画像を画像解析することにより、利用者による返球の、卓球台TBに対する着弾位置を検出し、予め設定された位置(例えば、卓球台TBの中心)と着弾位置との誤差(以下、「返球誤差」という)を算出して出力する。「返球誤差」は、成績データの一例である。
【0075】
図6に示すように、推奨負荷決定装置210は、機能的には、取得部212と、学習データDB214と、学習部216と、推定モデル218と、決定部220とを含む。
【0076】
取得部212は、学習モードにおいて、サンプルユーザに与えた負荷を示す負荷データとして、卓球ロボット60から送出(返球)される打球の打球速度を卓球ロボット60から取得する。例えば、取得部212は、卓球ロボット60の駆動機構を制御するために設定された制御情報又はカメラ74A、74Bで撮影された画像の解析結果から打球速度を取得することができる。また、取得部212は、図示しないセンサにより、卓球ロボット60から送出される打球の速度を計測し、センサから出力される計測値が示す打球速度を取得してもよい。
【0077】
また、取得部212は、学習モードにおいて、サンプルユーザの動作データとして、センサ70が出力するサンプルユーザの骨格情報を取得する。さらに、取得部212は、学習モードにおいて、サンプルユーザの動作に伴う成績データとして、センサ72が出力する返球誤差を取得する。
【0078】
取得部212は、取得した打球速度、骨格情報、及び返球誤差を学習データDB214に記憶する。
図8に、学習データDB214の一例を示す。学習データDB214に記憶される項目は、第1実施形態における学習データDB14の場合と同様である。
【0079】
また、取得部212は、練習モードにおいて、対象利用者に与えた負荷を表す負荷データである打球速度と、その打球に対する対象利用者の返球のスイングの動作を表す動作データである骨格情報とを取得する。打球速度及び骨格情報の取得方法の詳細は、上記の学習モードと同様である。なお、取得部212は、対象利用者に対する打球速度として、後述する決定部220において決定される推奨負荷が示す打球速度を取得してもよい。
【0080】
学習部216は、各サンプルユーザの能力パラメータとして、限界負荷データの一例である返球可能最大球速を計算する。具体的には、学習部216は、学習データDB214に記憶されたサンプルユーザ毎の学習データから、サンプルユーザによる返球率を、打球速度毎に計算する。より具体的には、学習部216は、返球誤差が所定値(例えば、75cm)以下の場合を成功とし、打球速度v±α[m/sec]の全試行回数に対する、返球が成功している試行回数の割合を、その打球速度vにおける返球率として計算する。例えば、ユーザNo.1のサンプルユーザについて、打球速度が2.5~3.5m/secに含まれる試行回数が10回、そのうちの返球が成功している試行回数が5回であったとする。この場合、学習部216は、ユーザNo.1のサンプルユーザについて、打球速度3m/secの返球率を50%と計算する。学習部216は、各打球速度について同様に返球率を計算する。そして、学習部216は、
図9に示すような、打球速度と返球率との関係を表すグラフを作成し、このグラフから、返球率が所定値(例えば、85%)以下で、かつ最大の打球速度を、返球可能最大球速として求める。学習部216は、各サンプルユーザについて求めた返球可能最大球速を、
図8に示すように、学習データDB214に記憶する。
【0081】
学習部216は、サンプルユーザについての打球速度及び骨格情報と、能力パラメータとの対応を学習する。これにより、対象利用者についての打球速度及び骨格情報の入力に対して、対象利用者の能力パラメータである返球可能最大球速を推定して出力する推定モデル218を生成する。
【0082】
決定部220は、取得部212により取得された対象利用者についての打球速度及び骨格情報を推定モデル218に入力する。そして、決定部220は、推定モデル218が出力する返球可能最大球速を、対象利用者のための推奨負荷データとして決定し、卓球ロボット60へ出力する。これにより、卓球ロボット60では、推奨負荷データが制御情報として設定され、次回試行時に、その推奨負荷データが示す打球速度で打球を送出(返球)するように制御される。
【0083】
推奨負荷決定装置210のハードウェア構成は、
図3に示す、第1実施形態に係る推奨負荷決定装置10のハードウェア構成と同様であるため、説明を省略する。なお、記憶装置36には、後述する推奨負荷決定処理を実行するための推奨負荷決定プログラムが格納されている。
【0084】
次に、第2実施形態に係る推奨負荷決定装置210の作用について説明する。
【0085】
図10は、推奨負荷決定装置210のCPU32により実行される推奨負荷決定処理の流れを示すフローチャートである。CPU32が記憶装置36から推奨負荷決定プログラムを読み出して、メモリ34に展開して実行することにより、CPU32が推奨負荷決定装置210の各機能構成として機能し、
図10に示す推奨負荷決定処理が実行される。なお、推奨負荷決定処理は、開示の推奨負荷決定方法の一例である。
【0086】
ステップS200で、取得部212が、選択されているモードが学習モードか否かを判定する。学習モードが選択されている場合には、ステップS202へ移行し、練習モードが選択されている場合には、ステップS214へ移行する。
【0087】
ステップS202では、取得部212が、卓球ロボット60に打球の送出(返球)を指示する。本ステップで送出される打球の打球速度は、同一のサンプルユーザに対して、ステップ毎に、初期値から段階的に変化させた打球速度となるように、卓球ロボット60に制御情報を設定しておけばよい。
【0088】
次に、ステップS204で、取得部212が、上記ステップS202における指示により送出された打球の打球速度と、その打球に対するサンプルユーザの返球時のスイングを示す骨格情報及び返球誤差を取得し、学習データDB214に記憶する。
【0089】
次に、ステップS206で、取得部212が、該当のサンプルユーザについての試行回数が所定回数(例えば、100回)以上となったか否かを判定する。この所定回数は、各サンプルユーザについての学習データ数として必要な回数を予め定めておけばよい。試行回数が所定回数以上の場合には、ステップS208へ移行し、所定回数未満の場合には、ステップS202に戻る。
【0090】
ステップS208では、学習部216が、学習データDB214に記憶された、該当のサンプルユーザの学習データから、打球速度毎の返球率を計算する。そして、学習部216が、打球速度と返球率との関係を表すグラフから、返球率が所定値(例えば、85%)以下となる打球速度を、返球可能最大球速として求め、学習データDB214に記憶する。
【0091】
次に、ステップS210で、学習部216が、推定モデル218を生成可能な数のサンプルユーザ数分の学習データが学習データDB214に記憶されているか否かを判定する。推定モデル218を生成可能な場合には、ステップS212へ移行し、推定モデル218の生成のために十分な学習データが記憶されていない場合には、推奨負荷決定処理は終了する。
【0092】
ステップS212では、学習部216が、サンプルユーザについての打球速度及び骨格情報と、能力パラメータとの対応を学習することにより、推定モデル218を生成し、推奨負荷決定処理は終了する。
【0093】
一方、練習モードが選択されているとして、ステップS214に移行した場合、決定部220が、推定モデル218が生成済みか否かを判定する。推定モデル218が生成済みの場合には、ステップS216へ移行し、未生成の場合には、ステップS202へ移行する。
【0094】
ステップS216では、取得部212が、卓球ロボット60に、打球速度を初期値に設定して打球の送出を開始するように指示する。次に、ステップS218で、取得部212が、上記ステップS216における指示により卓球ロボット60から送出された打球の打球速度、及び、その打球に対する対象利用者の返球時のスイングを示す骨格情報を取得する。
【0095】
次に、ステップS220で、決定部220が、取得部212により取得された対象利用者についての打球速度及び骨格情報を推定モデル218に入力し、対象利用者の返球可能最大球速を推定する。
【0096】
次に、ステップS222で、決定部220が、上記ステップS220で推定した返球可能最大球速を、対象利用者のための推奨負荷データとして決定し、卓球ロボット60へ、推奨負荷データが示す返球可能最大球速での返球を指示する。
【0097】
次に、ステップS224で、決定部220が、運動課題を終了するか否かを判定する。例えば、対象利用者からの返球が無かった場合や、運動課題の終了を示すコマンドが入力された場合には、運動課題を終了すると判定し、推奨負荷決定処理は終了する。一方、運動課題を終了しない場合には、ステップS218に戻り、上記ステップS222における指示により卓球ロボット60から送出(返球)された打球の打球速度、及び、その打球に対する対象利用者の返球時のスイングを示す骨格情報を取得する処理を繰り返す。
【0098】
以上説明したように、第2実施形態に係る推奨負荷決定装置では、卓球ロボットを使用した返球率向上の運動課題において、対象利用者が返球可能な範囲で、できるだけ速い打球が送出されるため、対象利用者の技能向上に有益な負荷を与えることができる。
【0099】
なお、第2実施形態では、卓球ロボットを使用した返球率向上の運動課題のための推奨負荷を決定する例について説明したが、これに限定されない。第1実施形態で例示したような、バッティングマシンを使用した安打率向上の運動課題や、トレッドミルを使用したリハビリテーションにおける歩行改善の運動課題についても、第2実施形態と同様に具体化した実施形態として実現可能である。
【0100】
図11に、バッティングマシンを使用した安打率向上の運動課題の場合の学習データDB214Aの一例を示す。この場合、負荷データとしては、バッティングマシンから送出されるボールの投球球速が取得される。また、動作データとしては、投球に対する利用者のバッティング時のスイングを示す骨格情報が取得される。また、成績データとしては、バッティングの結果(安打又は凡打)が取得される。そして、
図9に示すグラフと同様に、投球球速と安打率との関係から、安打率が所定値(例えば、85%)以下となる投球球速を、安打可能最大球速として求め、これを能力パラメータとすることができる。
図11に示すような学習データから、対象利用者が安打可能な範囲で、できるだけ速い球速を推奨負荷データとして推定する推定モデルを生成することができる。
【0101】
図12に、トレッドミルを使用したリハビリテーションにおける歩行改善の運動課題の場合の学習データDB214Bの一例を示す。この場合、負荷データとしては、トレッドミルの走行ベルトの速度が取得される。また、動作データとしては、走行ベルト上を歩行する利用者の骨格情報が取得される。また、成績データとしては、例えば、骨格情報に基づいて一動作中における重心のばらつきが取得される。なお、成績データは重心のばらつきに限定されるものではなく、転倒することなく歩行可能な動作を評価可能な指標であればよい。そして、
図9に示すグラフと同様に、走行ベルトの速度と重心のばらつきとの関係から、重心のばらつきが所定値以上となる走行ベルトの速度を、歩行可能最大速度として求め、これを能力パラメータとすることができる。なお、所定値は、その値以上に重心がばらつくと転倒の恐れがある値を予め定めておけばよい。
図12に示すような学習データから、対象利用者が転倒することなく歩行可能な範囲で、できるだけ速い走行ベルトの速度を推奨負荷データとして推定する推定モデルを生成することができる。
【0102】
なお、第2実施形態では、決定した推奨負荷データを卓球ロボットへ出力する場合、すなわち、対象利用者に対して負荷を与える負荷付与装置を制御するために負荷付与装置へ出力する場合について説明したが、これに限定されない。例えば、所定の時間間隔で、最新の推奨負荷データを表示装置に表示するためのデータを、表示装置へ出力するようにしてもよい。例えば、対象利用者の指導等を行うトレーナや理学療法士等の指導者に、決定した推奨負荷データを提示し、指導者の判断の下で、負荷に関する制御情報を負荷付与装置に設定するようにしてもよい。これにより、特に、運動課題がリハビリテーションに関連するものである場合などにおいて、対象利用者の安全性を考慮することができる。
【0103】
また、第2実施形態では、能力パラメータとして、限界負荷データの一例である返球可能最大球速を推定する場合について説明したが、これに限定されない。例えば、
図9に示すようなグラフを特定するパラメータを、能力パラメータとして推定し、このグラフに基づいて、推奨負荷データを決定するようにしてもよい。例えば、返球率が所定範囲(例えば、80%~85%)に含まれる負荷からランダムに推奨負荷データを決定してもよい。又は、返球率が所定範囲に含まれる負荷の平均、中央値、最頻値等の統計値を、推奨負荷データとして決定してもよい。
【0104】
<第3実施形態>
次に、第3実施形態について説明する。第3実施形態では、第2実施形態と同様に、卓球のラリーにおける返球率の向上を運動課題とし、利用者に与える負荷が、卓球ロボットからの返球であり、利用者の動作が、卓球ロボットからの打球を返球するためのスイングである場合について説明する。
【0105】
図6に示すように、第3実施形態に係る推奨負荷決定装置310は、機能的には、取得部312と、学習データDB314と、学習部316と、推定モデル318と、決定部320とを含む。
【0106】
取得部312は、第2実施形態の取得部212と同様に、学習モードにおいて、負荷データ、動作データ、及び成績データを取得し、練習モードにおいて、負荷データ及び動作データを取得する。動作データは、第2実施形態と同様に利用者の骨格情報であり、成績データは、第2実施形態と同様に返球誤差である。
【0107】
第3実施形態では、負荷を多次元化し、取得部312は、複数項目の負荷データを取得する。例えば、取得部312は、第2実施形態と同様の打球速度に加え、打球の回転速度を示す打球回転、及び相対位置を複数項目の負荷データとして取得する。相対位置は、卓球ロボット60から返球されたボールBLの卓球台TBへの着弾位置と利用者の位置との相対位置である。取得部312は、これらの負荷データを、卓球ロボット60に設定される制御情報から取得することができる。また、図示しないセンサにより、ボールBLの着弾位置及び利用者の位置、打球回転等を検出して、負荷データを取得してもよい。
【0108】
取得部312は、取得した打球速度、打球回転、相対位置、骨格情報、及び返球誤差を学習データDB314に記憶する。
図13に、学習データDB314の一例を示す。学習データDB314の項目は、負荷データが複数項目になっている点を除いて、第2実施形態における学習データDB214と同様である。
【0109】
学習部316は、各サンプルユーザの能力パラメータとして、複数項目の負荷データの各々の負荷の値と、その負荷データが示す負荷が与えられたときの返球率との関係を示すヒートマップを計算する。具体的には、学習部316は、負荷データの値を複数段階に割り振る。例えば、2.5~3.5m/secの打球速度を3m/secとする。学習部316は、打球速度、打球回転、及び相対位置の各々の割り振り後の値の組毎に、第2実施形態と同様に返球率を計算する。そして、学習部316は、打球速度、打球回転、及び相対位置の各々を各軸とするヒートマップにおいて、各組の負荷データの値に対応するセルに、計算した返球率を格納することにより、ヒートマップを求め、
図13に示すように、学習データDB314の「能力パラメータ」欄に記憶する。なお、
図13の例では、ヒートマップの返球率を濃淡で表している。
【0110】
学習部316は、サンプルユーザについての複数項目の負荷データ(打球速度、打球回転、相対位置)及び骨格情報と、能力パラメータとの対応を学習する。これにより、学習部316は、対象利用者についての複数の負荷データ及び骨格情報の入力に対して、対象利用者の能力パラメータであるヒートマップを推定して出力する推定モデル318を生成する。推定モデル318は、例えば
図14に示すようなニューラルネットワークで実現することができる。この場合、入力層の各ニューロンへの入力は、複数項目の負荷データと骨格情報とを合わせた多次元のデータの各要素が対応し、出力層の各ニューロンからの出力は、ヒートマップの各セルの値に対応する。
【0111】
決定部320は、取得部312により取得された対象利用者についての複数項目の負荷データ(打球速度、打球回転、相対位置)及び骨格情報を推定モデル318に入力することにより、対象利用者についてのヒートマップを推定する。そして、決定部320は、推定したヒートマップに基づいて、次回試行時の推奨負荷データを決定する。また。決定部320は、推定したヒートマップを可視化して表示するためのデータを出力してもよい。
【0112】
推奨負荷データの決定方法について、
図15に示すヒートマップを用いて説明する。なお、
図15では、説明を簡単にするため、2つの項目の負荷データ(打球速度及び相対位置)についての2次元のヒートマップを用いて説明する。以降の
図18~
図21、
図28、及び
図29についても同様である。決定部320は、ヒートマップにおいて、返球率が所定値(例えば、85%)以上となるセル(
図15中の網掛のセル)を特定する。決定部320は、特定したセルが示す範囲に含まれる負荷データの値の組み合わせから、推奨負荷データを決定する。
【0113】
例えば、決定部320は、特定したセルのうち、返球率が最小のセルを選択して、そのセルが示す範囲に含まれる負荷データの値の組み合わせから、推奨負荷データを決定することができる。例えば、決定部320は、
図15中の丸印で示すセルを選択し、打球速度が4m/sec、相対位置が-0.3mという推奨負荷データを決定することができる。なお、各セルに対応する負荷データの値は幅を持った値であるため、その幅の中で、中央値、最大値、又は最小値を選択するように予め定めておくことができる。また、最小値から最大値の範囲でランダムに値を決定するように定めておいてもよい。
【0114】
また、対象利用者の技能向上を目的としていることから、より厳しめの負荷を与えるように推奨負荷データを決定してもよい。具体的には、決定部320は、ヒートマップにおいて、返球率が所定値以上となるセルのうち、返球率が所定値未満となるセルに隣接するセル(
図15中の丸印又は三角印で示すセル)が示す範囲の値から推奨負荷データを決定することができる。より厳密には、決定部320は、ヒートマップにおいて、返球率が所定値以上となるセルと、所定値未満となるセルとの境界(
図15中の太線)上の値から、推奨負荷データを決定することができる。決定部320は、決定した負荷データを卓球ロボット60へ出力する。これにより、卓球ロボット60では、推奨負荷データが制御情報として設定され、次回試行時に、その推奨負荷データが示す打球速度、打球回転、及び相対位置で打球を送出(返球)するように制御される。
【0115】
推奨負荷決定装置310のハードウェア構成は、
図3に示す、第1実施形態に係る推奨負荷決定装置10のハードウェア構成と同様であるため、説明を省略する。なお、記憶装置36には、後述する推奨負荷決定処理を実行するための推奨負荷決定プログラムが格納されている。
【0116】
次に、第3実施形態に係る推奨負荷決定装置310の作用について説明する。
【0117】
図16は、推奨負荷決定装置310のCPU32により実行される推奨負荷決定処理の流れを示すフローチャートである。CPU32が記憶装置36から推奨負荷決定プログラムを読み出して、メモリ34に展開して実行することにより、CPU32が推奨負荷決定装置310の各機能構成として機能し、
図16に示す推奨負荷決定処理が実行される。なお第3実施形態における推奨負荷決定処理において、第2実施形態における推奨負荷決定処理(
図10)と同様の処理については、同一のステップ番号を付して詳細な説明を省略する。
【0118】
ステップS200で肯定判定され、ステップS202以降の学習モードの処理へ移行した場合、第2実施形態の推奨負荷決定処理のステップS204に替えて、ステップS304の処理が実行される。ステップS304では、取得部312が、複数項目の負荷データ(打球速度、打球回転、相対位置)、骨格情報、及び返球誤差を取得して、学習データDB314に記憶する。
【0119】
また、第2実施形態の推奨負荷決定処理のステップS208に替えて、ステップS308の処理が実行される。ステップS308では、学習部316が、各サンプルユーザの能力パラメータとして、複数項目の負荷データの各々の負荷の値と、その負荷データが示す負荷が与えられたときの返球率との関係を示すヒートマップを計算する。
【0120】
一方、ステップS200で否定判定され、ステップS214以降の練習モードの処理へ移行し、ステップS214で、推定モデル318が生成済みであると判定された場合、ステップS316へ移行する。
【0121】
ステップS316では、取得部312が、卓球ロボット60に、打球速度、打球回転、及び相対位置の各々を初期値に設定して打球の送出を開始するように指示する。次に、ステップS318で、取得部312が、上記ステップS316における指示により卓球ロボット60から送出された打球の打球速度、打球回転、及び相対位置と、その打球に対する対象利用者の返球時のスイングを示す骨格情報とを取得する。
【0122】
次に、ステップS320で、決定部320が、取得部312により取得された対象利用者についての複数項目の負荷データ(打球速度、打球回転、相対位置)及び骨格情報を推定モデル318に入力し、対象利用者のヒートマップを推定する。次に、ステップS321で、決定部320が、推定したヒートマップに基づいて、次回試行時の推奨負荷データを決定する。
【0123】
次に、ステップS322で、決定部320が、卓球ロボット60へ、上記ステップS321で決定した推奨負荷データが示す打球速度、打球回転、及び相対位置での返球を指示する。
【0124】
以上説明したように、第3実施形態に係る推奨負荷決定装置では、卓球ロボットを使用した返球率向上の運動課題において、対象利用者が返球可能な範囲で、複数項目を組み合わせた負荷を対象利用者に与えることができる。また、返球可能な範囲のうち、利用者にとっての負担がより大きくなるような負荷を選択することで、対象利用者の技能向上に有益な負荷を与えることができる。
【0125】
<第4実施形態>
次に、第4実施形態について説明する。第4実施形態では、第3実施形態と同様に、卓球のラリーにおける返球率の向上を運動課題とし、利用者に与える負荷が、卓球ロボットからの返球であり、利用者の動作が、卓球ロボットからの打球を返球するためのスイングである場合について説明する。第3実施形態では、
図15を用いて説明したように、返球率が所定値以上の負荷データの範囲を特定し、この範囲から、推奨負荷データの値を決定する場合について説明した。次回試行時のための推奨負荷データは、複数項目の負荷データ1組の値であるが、特定した範囲には、複数の負荷の値の組が推奨負荷データの候補として含まれる。そこで、第4実施形態では、より有益な推奨負荷データを決定することができるように、特定した範囲から決定する推奨負荷データを絞り込む手法について説明する。
【0126】
図17に示すように、第4実施形態に係る推奨負荷決定装置410は、機能的には、取得部412と、学習データDB314と、学習部416と、比較用ヒートマップDB422と、推定モデル318と、決定部420とを含む。
【0127】
取得部412は、第3実施形態に係る取得部312と同様に、学習モードにおいて、複数項目の負荷データ、動作データ、及び成績データを取得し、練習モードにおいて、複数項目の負荷データ及び動作データを取得する。例えば、複数項目の負荷データは、打球速度、打球回転、及び相対位置であり、動作データは利用者の骨格情報であり、成績データは返球誤差である。さらに、取得部412は、練習モードにおいて、対象利用者が、自身の得意な部分を練習したいか、不得意な部分を練習したいかを示す得意/不得意の指定を取得する。この指定は、入力装置38を介して推奨負荷決定装置410に入力される。
【0128】
学習部416は、第3実施形態の学習部316と同様に、サンプルユーザ毎の能力パラメータとしてヒートマップを計算し、推定モデル318を生成する。さらに、学習部416は、他の利用者と比較して対象利用者が相対的に得意とする負荷の範囲を示す相対得意範囲、及び相対的に不得意とする負荷の範囲を示す相対不得意範囲を特定するための比較用ヒートマップを作成する。得意とは、対象利用者が他の利用者よりも成功見込みが大きいことであり、不得意とは、対象利用者が他の利用者よりも成功見込みが小さいことである。
【0129】
具体的には、学習部416は、学習データDB314に学習データが記憶されているサンプルユーザの各々を、運動課題に対する能力に応じてレベル分けする。このレベル分けは人手で行ってもよいし、学習部416が推定モデル318の生成の過程で計算した能力パラメータを用いて行ってもよい。例えば、学習部416は、ヒートマップの総セル数に対する、返球率が所定値(例えば、85%)以上のセル数の割合に応じて定義されるレベルの段階に基づいて、各サンプルユーザのレベルを判定する。レベルの段階数は、サンプルユーザの数等に応じて、適宜設定しておけばよい。そして、学習部416は、
図18に示すように、同一レベルの各サンプルユーザについて計算されたヒートマップから、各レベルの典型となるヒートマップを計算する。学習部416は、例えば、同一レベルのサンプルユーザのヒートマップの各セルの値の平均値、中央値、最頻値等の統計値を、典型のヒートマップの各セルの値として計算する。そして、学習部416は、各レベルについて計算した典型のヒートマップを、比較用ヒートマップとして、比較用ヒートマップDB422に記憶する。
【0130】
決定部420は、第3実施形態の決定部320と同様に、推定モデル318を用いて、対象利用者のヒートマップを推定する。そして、決定部420は、対象利用者のヒートマップと比較用ヒートマップとを比較して、対象利用者の相対得意範囲及び相対不得意範囲を特定するための相対得意不得意マップを作成する。決定部420は、作成した相対得意不得意マップにおける、相対得意範囲又は相対不得意範囲の中の負荷の値の組を、推奨負荷データとして決定する。
【0131】
具体的には、決定部420は、対象利用者のヒートマップに基づいて、対象利用者のレベルを判定し、対象利用者と同レベル又は1ランク上のレベルの典型のヒートマップを、比較用ヒートマップとして特定し、比較用ヒートマップDB422から取得する。なお、1ランク上のレベルを用いるのは、技能向上を考慮したものである。そして、決定部420は、ヒートマップの各セルに対応するセルを有する空の相対得意不得意マップを用意する。決定部420は、空の相対得意不得意マップの各セルに、対象利用者のヒートマップと比較用ヒートマップとで各セルの値(返球率)を比較した結果に応じた情報を保持させることにより、相対得意不得意マップを作成する。
【0132】
より具体的には、
図19に示すように、決定部420は、対象利用者のヒートマップの返球率が所定値(例えば、85%)以上で、比較用ヒートマップの返球率が所定値未満のセルを相対得意範囲として特定する。また、決定部420は、対象利用者のヒートマップの返球率が所定値未満で、比較用ヒートマップの返球率が所定値以上のセルを相対不得意範囲として特定する。なお、
図19の例では、対象利用者のヒートマップ及び比較用ヒートマップの返球率がいずれも所定値以上のセルを、問題なしの範囲として特定している。また、対象利用者のヒートマップ及び比較用ヒートマップの返球率がいずれも所定値未満のセルを、両者NGの範囲として特定している。
【0133】
決定部420は、取得部412が取得した得意/不得意の指定が「得意」を指定している場合、相対得意不得意マップの相対得意範囲に基づいて推奨負荷データを決定する。また、決定部420は、取得部412が取得した得意/不得意の指定が「不得意」を指定している場合、相対得意不得意マップの相対不得意範囲に基づいて推奨負荷データを決定する。以下、相対得意範囲又は相対不得意範囲に基づく、具体的な推奨負荷データの決定方法について説明する。
【0134】
技能向上を考慮すると、相対得意範囲をより広げるような練習ができることが望ましい。そこで、決定部420は、相対得意範囲に基づいて推奨負荷データを決定する場合、
図20に示すように、相対得意範囲を示すセルと、返球率が所定値より低いセルとの境界(
図20中の太線)上から推奨負荷データを決定することができる。これにより、
図20の矢印で示す方向の範囲に含まれる負荷に対する対象利用者の返球率の向上を図ることができる。
【0135】
また、対象利用者の返球率が低い負荷の範囲で練習を続けるよりも、返球が成功となるかならないかのギリギリの負荷で練習する方が技能向上には有益であると考えられる。そこで、決定部420は、相対不得意範囲に基づいて推奨負荷データを決定する場合、
図21に示すように、相対不得意セルに隣接する、返球率が所定値以上のセル(
図21中の丸印で示すセル)の範囲から推奨負荷データを決定することができる。又は、決定部420は、相対不得意セルと、返球率が所定値以上のセルとの境界(
図21中の太線)上から推奨負荷データを決定することができる。これにより、
図21の矢印で示す方向の範囲、すなわち相対不得意範囲に含まれる負荷に対する対象利用者の返球率の向上を図ることができる。
【0136】
推奨負荷決定装置410のハードウェア構成は、
図3に示す、第1実施形態に係る推奨負荷決定装置10のハードウェア構成と同様であるため、説明を省略する。なお、記憶装置36には、後述する推奨負荷決定処理を実行するための推奨負荷決定プログラムが格納されている。
【0137】
次に、第4実施形態に係る推奨負荷決定装置410の作用について説明する。
【0138】
第4実施形態では、第3実施形態における推奨負荷決定処理(
図16)において、ステップS200で肯定判定され、ステップS202以降の学習モードの処理へ移行した場合、ステップS212の後に、
図22に示す比較用ヒートマップ作成処理が実行される。
【0139】
図22に示す比較用ヒートマップ作成処理において、ステップS400で、学習部416が、ヒートマップの総セル数に対する、返球率が所定値(例えば、85%)以上のセル数の割合に応じて定義されるレベルの段階に基づいて、各サンプルユーザのレベルを判定する。
【0140】
次に、ステップS402で、学習部416が、同一レベルの各サンプルユーザについて計算されたヒートマップから、各レベルの典型となるヒートマップを計算し、比較用ヒートマップとして、比較用ヒートマップDB422に記憶する。そして、比較用ヒートマップ作成処理は終了し、推奨負荷決定処理も終了する。
【0141】
一方、ステップS200で否定判定され、ステップS214以降の練習モードの処理へ移行し、ステップS214で、推定モデル318が生成済みであると判定されたとする。この場合、取得部412が、入力装置38を介して推奨負荷決定装置410に入力された、対象利用者の得意/不得意の指定を取得する。
【0142】
そして、第3実施形態の推奨負荷決定処理と同様にステップS316~S320の処理が実行され、ステップS321において、
図23に示す決定処理が実行される。
【0143】
図23に示す決定処理において、ステップS410で、決定部420が、上記ステップS320で推定された、対象利用者のヒートマップに基づいて、対象利用者のレベルを判定する。次に、ステップS412で、決定部420が、上記ステップS410で判定した対象利用者のレベルと同レベル又は1ランク上のレベルの典型のヒートマップを、比較用ヒートマップとして特定し、比較用ヒートマップDB422から取得する。
【0144】
次に、ステップS414で、決定部420が、対象利用者のヒートマップと比較用ヒートマップとで各セルの値(返球率)を比較し、相対得意不得意マップを作成する。次に、ステップS416で、上記ステップS414で作成した相対得意不得意マップと、取得部412により取得された得意/不得意の指定に基づいて、推奨負荷データを決定する。そして、処理は、推奨負荷決定処理(
図16)に戻る。
【0145】
以上説明したように、第4実施形態に係る推奨負荷決定装置では、他の利用者と比較した対象利用者の相対得意範囲及び相対不得意範囲が特定された相対得意不得意マップを作成する。そして、この相対得意不得意マップに基づいて推奨負荷データを決定するため、第3実施形態の場合に比べ、推奨負荷データとなり得る負荷の値の組の候補から、より技能向上のために有益な組を推奨負荷データとして決定することができる。
【0146】
なお、第4実施形態では、相対得意範囲及び相対不得意範囲の両方が特定された相対得意不得意マップを作成する場合について説明したが、これに限定されない。相対得意範囲のみが特定された相対得意マップを作成してもよいし、相対不得意範囲のみが特定された相対不得意マップを作成してもよい。この場合、練習モードにおいて、相対得意マップに基づいて、対象利用者の得意な部分を練習させるようにするか、又は、相対不得意マップに基づいて、対象利用者の不得意な部分を練習させるようにすればよい。また、得意/不得意の指定を取得し、「得意」の指定の場合には、相対得意マップを作成し、「不得意」の指定の場合には、相対不得意マップを作成するようにしてもよい。
【0147】
また、第4実施形態において、決定部は、作成した相対得意不得意マップ、相対得意マップ、又は相対不得意マップを可視化して表示するためのデータを出力してもよい。これにより、対象利用者は、自身の相対得意範囲又は相対不得意範囲を客観的に把握することができる。
【0148】
<第5実施形態>
次に、第5実施形態について説明する。第5実施形態では、第2~第4実施形態と同様に、卓球のラリーにおける返球率の向上を運動課題とし、利用者に与える負荷が、卓球ロボットからの返球であり、利用者の動作が、卓球ロボットからの打球を返球するためのスイングである場合について説明する。運動課題の技能向上を目的とする場合において、より細かい制約の下で、運動課題に対する技能を向上させたい場合がある。例えば、卓球の例では、単純に返球率の向上を目指すだけでなく、カット、スマッシュ、フォアドライブ等の特定の打ち方における返球率を向上させたい場合がある。そこで、第5実施形態では、運動課題に対するより細かい要求に対して、有益な推奨負荷データを決定する手法について説明する。
【0149】
図24に示すように、第5実施形態に係る推奨負荷決定装置510は、機能的には、取得部512と、学習データDB514と、学習部516と、推定モデル518と、決定部520とを含む。
【0150】
取得部512は、第2実施形態に係る取得部212と同様に、学習モードにおいて、負荷データ、動作データ、及び成績データを取得し、練習モードにおいて、負荷データ及び動作データを取得する。例えば、負荷データは、打球速度であり、動作データは利用者の骨格情報であり、成績データは返球誤差である。なお、取得部512は、第3実施形態における取得部312又は第4実施形態における取得部412と同様に、複数項目の負荷データとして、例えば、打球速度、打球回転、及び相対位置を取得するようにしてもよい。なお、学習モードでは、サンプルユーザに、カット、スマッシュ、フォアドライブ等の打ち方を指定した上で返球した場合における、動作データ及び成績データを取得する。したがって、学習データDB514には、
図8又は
図13に示すようなデータが、打ち方毎に記憶される。なお、「打ち方」は、開示の技術の「動作の類型」の一例である。
【0151】
さらに、取得部512は、練習モードにおいて、対象利用者が練習したい打ち方を示す練習メニューの指定を取得する。この指定は、入力装置38を介して推奨負荷決定装置510に入力される。
【0152】
学習部516は、打ち方毎の学習データを用いて、推定モデル518を生成する。推定モデル518の具体的な生成方法は、第2~第4実施形態と同様である。したがって、推定モデル518は、
図25に示すように、カット用、スマッシュ用、フォアドライブ用等のように、打ち方毎の推定モデルの集合となる。なお、
図25の例では、推定モデル518には、打ち方を限定することなく生成したランダム用の推定モデルも含まれる。
【0153】
決定部520は、推定モデル518の中から、取得部512で取得された練習メニューの指定に対応する打ち方用の推定モデルを用いて、対象利用者の能力パラメータを推定し、能力パラメータに基づいて、推奨負荷データを決定する。能力パラメータに基づく推奨負荷データの具体的な決定方法は、第2~第4実施形態と同様である。
【0154】
推奨負荷決定装置510のハードウェア構成は、
図3に示す、第1実施形態に係る推奨負荷決定装置10のハードウェア構成と同様であるため、説明を省略する。また、第5実施形態に係る推奨負荷決定装置510の作用についても、練習メニューの指定を取得する点、及び、
図10のステップS220又は
図16のステップS320で、指定された練習メニューに対応する打ち方用の推定モデルを用いる点が第2~第4実施形態の推奨負荷決定処理と異なるだけであるため、詳細な説明を省略する。
【0155】
以上説明したように、第5実施形態に係る推奨負荷決定装置では、例えば打ち方毎に推定モデルを用意し、対象利用者が指定した打ち方用の推定モデルを用いて、対象利用者の能力パラメータを推定し、推奨負荷データを決定する。これにより、運動課題に対するより細かい要求に対して、有益な推奨負荷データを決定することができる。
【0156】
<第6実施形態>
次に、第6実施形態について説明する。第6実施形態では、第2~第5実施形態と同様に、卓球のラリーにおける返球率の向上を運動課題とし、利用者に与える負荷が、卓球ロボットからの返球であり、利用者の動作が、卓球ロボットからの打球を返球するためのスイングである場合について説明する。上記各実施形態では、負荷データ及び動作データを推定モデルに入力して、対象利用者の能力パラメータを推定する。そのため、例えば、卓球の場合、スイングは上手であるにもかかわらず、返球率が悪い対象利用者に対して、過度に大きな負荷が与えられてしまう場合がある。例えば、素振りの練習を熱心に行い、上手なスイングをできるようになったが、球速の速いボールには目が追い付かない対象利用者に対して、速いボールが送出されてしまう可能性がある。逆に、上手とは言えない独特のくせのあるスイングではあるが、返球率が良い対象利用者に対する負荷が物足りないものになってしまう場合がある。第6実施形態では、このような場合の負荷を補正して、技能向上に有益な推奨負荷データを決定する手法について説明する。
【0157】
図26に示すように、第6実施形態に係る推奨負荷決定装置610は、機能的には、取得部612と、実績DB624と、学習データDB314と、学習部316と、推定モデル318と、決定部620とを含む。
【0158】
取得部612は、第3実施形態に係る取得部312と同様に、学習モードにおいて、複数項目の負荷データ、動作データ、及び成績データを取得する。取得部612は、練習モードにおいては、複数項目の負荷データ及び動作データに加え、動作結果の実測パラメータとして、成績データも取得する。例えば、複数項目の負荷データは、打球速度、打球回転、及び相対位置であり、動作データは利用者の骨格情報であり、成績データは返球誤差である。取得部612は、練習モードにおいて取得した成績データを、例えば
図27に示すような実績DB624に、試行毎に記憶する。
【0159】
決定部620は、成績データにより評価される対象利用者の能力が、推定モデル318の出力である能力パラメータにより評価される対象利用者の能力よりも低い場合は、対象利用者にとっての負担がより小さくなるように推奨負荷データを決定する。一方、決定部620は、成績データにより評価される対象利用者の能力が、推定モデル318の出力である能力パラメータにより評価される対象利用者の能力よりも高い場合は、対象利用者にとっての負担がより大きくなるように推奨負荷データを決定する。
【0160】
具体的には、決定部620は、第3実施形態の決定部320と同様に、推定モデル318を用いて、対象利用者の能力パラメータとしてヒートマップを推定し、ヒートマップから、推奨負荷データを決定するためのセルを特定する。また、決定部620は、実績DB624に記憶された過去所定回数分の試行における返球誤差から、実績返球率を計算する。実績返球率が下限閾値(例えば、85%)以下の場合には、推定されたヒートマップの各セルに格納された推定返球率が、対象利用者の実際の能力に対応する実績返球率よりも高い値となり、対象利用者にとっては負担の大きい負荷の範囲のセルが特定されている可能性がある。そこで、決定部620は、ヒートマップから特定するセルを、負荷が低くなる方向(減少方向)に補正する。一方、実績返球率が上限閾値(例えば、95%)以上の場合には、推定されたヒートマップの各セルに格納された推定返球率が、対象利用者の実際の能力に対応する実績返球率よりも低い値となり、対象利用者にとっては負担の小さい負荷の範囲のセルが特定されている可能性がある。そこで、決定部620は、ヒートマップから特定するセルを、負荷が高くなる方向(増加方向)に補正する。
【0161】
負荷の減少方向は、例えば、
図28に示すように、
図28中の太枠のセルに含まれる負荷を基準とした場合、
図28中の矢印で示すように、推定返球率が向上するセルに向かう方向である。また、負荷の増加方向は、例えば、
図29に示すように、
図29中の太枠のセルに含まれる負荷を基準とした場合、
図29中の矢印で示すように、推定返球率が低下するセルに向かう方向である。例えば、決定部620は、ヒートマップから特定したセルから増加方向又は減少方向に沿って最も近いセルを特定し、特定したセルの範囲に含まれる負荷の値の組を、推奨負荷データとして決定することができる。
【0162】
推奨負荷決定装置610のハードウェア構成は、
図3に示す、第1実施形態に係る推奨負荷決定装置10のハードウェア構成と同様であるため、説明を省略する。なお、記憶装置36には、後述する推奨負荷決定処理を実行するための推奨負荷決定プログラムが格納されている。
【0163】
次に、第6実施形態に係る推奨負荷決定装置610の作用について説明する。
【0164】
第6実施形態における推奨負荷決定処理において、第3実施形態における推奨負荷決定処理(
図16)と同様に、ステップS200で否定判定されると、ステップS214以降の練習モードの処理へ移行する。そして、ステップS214で、推定モデル318が生成済みであると判定されると、ステップS316~S321に替えて、
図30に示す決定処理が実行される。
【0165】
図30に示す決定処理において、ステップS600で、取得部612が、複数項目の負荷データ(打球速度、打球回転、相対位置)、及び骨格情報を取得して、学習データDB314に記憶する。また、取得部612が、返球誤差を取得して、実績DB624に記憶する。次に、ステップS602で、決定部620が、複数項目の負荷データ及び骨格情報を推定モデル318に入力して、対象利用者のヒートマップを推定し、ヒートマップから、推奨負荷データを決定するためのセルを特定する。
【0166】
次に、ステップS604で、決定部620が、実績DB624に所定回数分以上の成績データ(返球誤差)が記憶されているか否かを判定する。記憶されている場合には、ステップS606へ移行し、記憶されていない場合には、ステップS614へ移行する。
【0167】
ステップS606では、決定部620が、実績DB624に記憶された過去所定回数分の返球誤差から計算される返球率が、下限閾値(例えば、85%)以下か否かを判定する。返球率が下限閾値以下の場合には、ステップS608へ移行し、下限閾値を超えている場合には、ステップS610へ移行する。ステップS608では、決定部620が、ヒートマップから特定するセルを減少方向に補正して特定し、特定したセルの範囲に含まれる負荷の値の組を、推奨負荷データとして決定する。
【0168】
一方、ステップS610では、決定部620が、返球率が、上限閾値(例えば、95%)以上か否かを判定する。返球率が上限閾値以上の場合には、ステップS612へ移行し、上限閾値未満の場合には、ステップS614へ移行する。ステップS612では、決定部620が、ヒートマップから特定するセルを増加方向に補正して特定し、特定したセルの範囲に含まれる負荷の値の組を、推奨負荷データとして決定する。
【0169】
ステップS614では、決定部620が、上記ステップS602で特定したセルの範囲に含まれる負荷の値の組を、推奨負荷データとして決定する。そして、処理は、推奨負荷決定処理(
図16)に戻る。
【0170】
以上説明したように、第6実施形態に係る推奨負荷決定装置では、対象利用者の実績が示す能力に応じて、決定する推奨負荷データを減少方向又は増加方向に補正する。これにより、対象利用者の実績に応じて、技能向上に有益な推奨負荷データを決定することができる。
【0171】
なお、第6実施形態では、スイングは上手ではないが、返球率が良い対象利用者については、負荷を増加方向に補正する場合について説明したが、これに限定されない。例えば、上手なスイングが行えるようになることを運動課題とする場合、増加方向への補正は行わないようにしてもよい。この場合、対象利用者にとって低い負荷が与えられることになるが、低い負荷でスイングの質が向上するまで練習することになるため、増加方向への補正は行わなくても問題ない。
【0172】
また、上記各実施形態では、今回の試行に対して与えた負荷データと、その負荷データに対する動作データとに基づいて、次回の試行における推奨負荷データを決定する場合について説明した。この場合、
図31に示すように、通常は悪いスイングであるが、たまたま1回だけ良いスイングができた場合、その次の試行において、過度な負荷が与えられてしまう場合がある。
図31の例では、1、2、4、及び5試行目は悪いスイングで、3試行目にたまたま良いスイングができた例を示している。この場合、悪いスイングに対しては、低い能力パラメータが推定されるため、対象利用者に応じた適切な推奨負荷データが決定される。しかし、良いスイングに対しては、高い能力パラメータが推定されるため、対象利用者にとって負担の大きい推奨負荷データが決定される。
【0173】
このような突発的な負荷データの変動を抑制するために、
図32に示すように、過去k+1回分の試行(n試行目、n-1試行目、・・・、n-k試行目)におけるk+1個の負荷データ及び動作データを平均する。そして、平均した負荷データn_Ave及び動作データn_Aveを推定モデルへ入力することにより、n試行目の能力パラメータを推定してもよい。
【0174】
また、
図33に示すように、過去k+1回分の試行(n試行目、n-1試行目、・・・、n-k試行目)において推定されたk+1個の能力パラメータを平均し、平均した能力パラメータn_Aveから推奨負荷データを決定するようにしてもよい。また、k+1個の能力パラメータの各々に基づいて決定した推奨負荷データを平均して、最終的な推奨負荷データとしてもよい。
【0175】
また、上記各実施形態では、例えば
図14に示すように、ニューラルネットワーク等で実現される推定モデルに、負荷データ及び動作データを入力して、能力パラメータを推定する場合について説明した。上述したように、動作データとして骨格情報を用いる場合などには、動作データの次元数と負荷データの次元数との差が大きくなり過ぎ、この次元数の差が影響して、推定モデルの学習時に偏った学習が進む可能性がある。そこで、
図34に示すように、動作データの次元数が、負荷データの次元数と同程度の次元数となるように、動作データを次元圧縮したうえで、学習データとして用いてもよい。この場合、能力パラメータの推定時にも、学習時と同様に、動作データの次元圧縮を行う。なお、同程度の次元数とは、負荷データの次元数と動作データの次元数との差が所定範囲となる次元数である。
図34の例では、動作データである骨格情報は、関節数がn、1関節を表す座標値が3、1動作単位の画像のフレーム数がfとすると、動作データの次元数は、n×3×fである。この次元数を、負荷データの次元数iと同程度の次元数sとなるように、動作データからs種類の特徴量を抽出して、次元圧縮後の動作データとしている。
【0176】
動作データの次元圧縮の方法の一例を説明する。例えば、複数のサンプルユーザについての動作データから、
図35に示すような行列を作成する。
図35中の網掛部分には、実際の骨格情報の座標値が入る。そして、この行列に対して主成分分析を行い、例えば、主成分の累積寄与率を求め、上位s個の主成分を特定する。そして、
図36に示すように、特定した主成分P1、P2、・・・、Psの各々に対して、各スイングを示す動作データを写像した値を計算する。
図36の網掛部分には、各主成分へ写像した値が入る。これにより、n×3×f次元の動作データをs次元に次元圧縮することができる。
【0177】
また、他の次元圧縮の方法として、該当の動作に関する知見情報や、動作データの分析に基づいて、動作データを、スイングの上手さを表すように特徴量化してもよい。例えば、スイングが上手な人は肘の高さが一定である、という知見がある場合、動作データから肘の高さの分散を特徴量として抽出する。また、スイングが上手な人はスイングの軌道が滑らか、という知見がある場合、動作データが示す軌道に対して、例えば、微分をとる等の分析を行い、軌道の滑らかさを示す指標を特徴量として抽出する。そして、
図37に示すように、各スイングを示す動作データを特徴量化する。
図37の網掛部分には、各特徴に関して動作データから抽出された特徴量が入る。
【0178】
また、上記第3~第6実施形態では、卓球ロボットを使用した返球率向上の運動課題のための推奨負荷を決定する例について説明したが、これに限定されない。第2実施形態の末尾で説明したように、第1実施形態で例示したような、バッティングマシンを使用した安打率向上の運動課題や、トレッドミルを使用したリハビリテーションにおける歩行改善の運動課題についても、第3~第6実施形態と同様に具体化した実施形態として実現可能である。
【0179】
また、上記各実施形態では、学習モードにおいて機能する機能部と、練習モードにおいて機能する機能部とが同一のコンピュータで実現される場合について説明したが、これに限定されない。取得部及び学習部を含む能力パラメータ推定モデル学習装置と、取得部及び決定部を含む推奨負荷決定装置とをそれぞれ別のコンピュータで実現してもよい。
【0180】
また、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した推奨負荷決定処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、推奨負荷決定処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0181】
また、上記各実施形態では、推奨負荷決定プログラムが記憶装置に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM、DVD-ROM、ブルーレイディスク、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【0182】
10、210、310、410、510、610 推奨負荷決定装置
12、212、312、412、512、612 取得部
14、214、214A、214B、314、514 学習データDB
16、216、316、416、516 学習部
18、218、318、518 推定モデル
20、220、320、420、520、620 決定部
422 比較用ヒートマップDB
624 実績DB
32 CPU
34 メモリ
36 記憶装置
38 入力装置
40 出力装置
42 記憶媒体読取装置
44 通信I/F
46 バス
60 卓球ロボット
70、72 センサ