IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ホンダ リサーチ インスティテュート ヨーロッパ ゲーエムベーハーの特許一覧

特開2022-13786ロボットまたは仮想アバターなどの対象物のスタイル設定された運動を生成するための方法および制御装置
<>
  • 特開-ロボットまたは仮想アバターなどの対象物のスタイル設定された運動を生成するための方法および制御装置 図1
  • 特開-ロボットまたは仮想アバターなどの対象物のスタイル設定された運動を生成するための方法および制御装置 図2
  • 特開-ロボットまたは仮想アバターなどの対象物のスタイル設定された運動を生成するための方法および制御装置 図3
  • 特開-ロボットまたは仮想アバターなどの対象物のスタイル設定された運動を生成するための方法および制御装置 図4
  • 特開-ロボットまたは仮想アバターなどの対象物のスタイル設定された運動を生成するための方法および制御装置 図5
  • 特開-ロボットまたは仮想アバターなどの対象物のスタイル設定された運動を生成するための方法および制御装置 図6
  • 特開-ロボットまたは仮想アバターなどの対象物のスタイル設定された運動を生成するための方法および制御装置 図7
  • 特開-ロボットまたは仮想アバターなどの対象物のスタイル設定された運動を生成するための方法および制御装置 図8
  • 特開-ロボットまたは仮想アバターなどの対象物のスタイル設定された運動を生成するための方法および制御装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022013786
(43)【公開日】2022-01-18
(54)【発明の名称】ロボットまたは仮想アバターなどの対象物のスタイル設定された運動を生成するための方法および制御装置
(51)【国際特許分類】
   B25J 13/00 20060101AFI20220111BHJP
【FI】
B25J13/00 Z
【審査請求】未請求
【請求項の数】18
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021104788
(22)【出願日】2021-06-24
(31)【優先権主張番号】20183933.9
(32)【優先日】2020-07-03
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】503113186
【氏名又は名称】ホンダ リサーチ インスティテュート ヨーロッパ ゲーエムベーハー
【氏名又は名称原語表記】Honda Research Institute Europe GmbH
(74)【代理人】
【識別番号】110001081
【氏名又は名称】特許業務法人クシブチ国際特許事務所
(72)【発明者】
【氏名】マンシッツ,ジーモン
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS12
3C707LW12
3C707LW15
3C707WA03
3C707WK00
(57)【要約】
【課題】ロボットまたは仮想アバターなどの対象物の運動を制御する方法を提供すること。
【解決手段】方法は、現在の運動タイプかつ現在のスタイルの現在の運動を記述する入力運動情報と、現在の運動タイプかつ目標スタイルの目標運動のための目標スタイルとを受け取るステップと、スタイル統計予測器(1)の第1のフィードフォワードニューラルネットワーク(FFNN)を使用して、目標スタイルに基づいて、入力運動情報を出力運動情報に変換するステップであって、出力運動情報は目標運動を記述する、ステップと、対象物の運動の運動タイプが現在の運動タイプに対応し、かつ対象物の運動のスタイルが目標スタイルに対応するように、出力運動情報に基づいて対象物の運動を制御するステップと、を含む。本発明はさらに、本発明の方法による方法を行うように構成された、対象物の運動を制御するための制御装置と、そのような制御装置およびそれぞれのコンピュータプログラムを含むロボットとに関する。
【選択図】図1
【特許請求の範囲】
【請求項1】
ロボットまたは仮想アバターなどの対象物の運動を制御する方法であって、
- 現在の運動タイプかつ現在のスタイルの現在の運動を記述する入力運動情報と、前記現在の運動タイプかつ目標スタイルの目標運動のための前記目標スタイルとを受け取るステップと、
- スタイル統計予測器(1)の第1のフィードフォワードニューラルネットワーク(FFNN)を使用して、前記目標スタイルに基づいて、前記入力運動情報を出力運動情報に変換するステップであって、前記出力運動情報は前記目標運動を記述する、ステップと、
- 前記対象物の前記運動の運動タイプが前記現在の運動タイプに対応し、かつ前記対象物の前記運動のスタイルが前記目標スタイルに対応するように、前記出力運動情報に基づいて前記対象物の前記運動を制御するステップと、
を含む方法。
【請求項2】
前記第1のFFNNが確率的ニューラルネットワーク(PNN)である、請求項1に記載の方法。
【請求項3】
前記方法が、
- 第1の運動統計モジュール(2)を使用して、前記入力運動情報に基づいて、入力統計を生成するステップであって、前記入力統計は前記現在の運動タイプおよび現在のスタイルを示す、ステップと、
- 前記第1のFFNNを使用して、前記入力統計および前記目標スタイルに基づいて、目標統計を生成するステップであって、前記目標統計は前記現在の運動タイプおよび前記目標スタイルを示す、ステップと、
- 前記入力統計および前記目標統計に基づいて、前記入力運動情報を前記出力運動情報に変換するステップと、
を含む、請求項1または2に記載の方法。
【請求項4】
前記方法が、
- 前記第1のFFNNを使用して、前記入力統計および前記目標スタイルに基づいて、前記入力統計を前記目標統計に変換するために前記入力統計の平均および/または分散などの1つまたは複数の統計値をどのように変えなければならないかを予測するステップと、
- 前記第1のFFNNを使用して、前記予測の結果に基づいて、前記入力統計を前記目標統計に変換するステップと、
を含む、請求項3に記載の方法。
【請求項5】
前記方法が、
- 運動プリミティブ(MP)生成器(3)の第2のフィードフォワードニューラルネットワーク(FFNN)を使用して、前記目標統計に基づいて、前記目標スタイルに応じたMPを生成するステップと、
- 前記目標スタイルに応じた前記MPに基づいて前記対象物の前記運動を制御するステップと、
を含む、請求項3または4に記載の方法。
【請求項6】
前記方法が、
- 前記第2のFFNNを使用して、前記入力統計および前記目標統計に基づいて、前記目標スタイルに応じた前記MPを生成するステップ
を含む、請求項5に記載の方法。
【請求項7】
前記方法が、
- 前記第2のFFNNを使用して、前記目標統計に基づいて、詳細には前記目標統計および前記入力統計に基づいて、前記現在のスタイルに応じたMPを、前記目標スタイルに応じた前記MPに変更するステップ
を含む、請求項5または6に記載の方法。
【請求項8】
前記方法が、
- 運動生成器(4)を使用して、前記目標スタイルに応じた前記MPおよびMP有効化に基づいて、前記出力運動情報を生成するステップ
を含む、請求項3から7のいずれか一項に記載の方法。
【請求項9】
前記方法が、
- 損失関数モジュール(5)を使用して、前記入力運動情報および前記出力運動情報に基づいて損失値を生成するステップであって、前記損失値は、前記出力運動情報の運動タイプと、前記入力運動情報の運動タイプとの間の差を示す、ステップと、
- 最適化器(6)を使用して、前記損失値に基づいて前記MP有効化を最適化するステップと、
を含む、請求項8に記載の方法。
【請求項10】
前記方法が、
- 損失関数モジュール(5)を使用して、前記入力運動情報、前記出力運動情報、および前記目標スタイルに基づいて、損失値を生成するステップであって、前記損失値は、前記出力運動情報の運動タイプと前記入力運動情報の運動タイプとの間の差、および前記出力運動情報のスタイルと前記目標スタイルとの間の差を示す、ステップと、
- 最適化器(6)を使用して、前記損失値に基づいて前記MP有効化を最適化するステップと、
を含む、請求項8に記載の方法。
【請求項11】
前記方法が、
- 第2の運動統計モジュール(7)を使用して、前記出力運動情報に基づいて出力統計を生成するステップと、
- 損失関数モジュール(5)を使用して、前記入力運動情報、前記出力運動情報、前記目標統計、および前記出力統計に基づいて、損失値を生成するステップであって、前記損失値は、前記出力運動情報の運動タイプと前記入力運動情報の運動タイプと間の差、および前記出力運動情報のスタイルと前記目標スタイルと間の差を示す、ステップと、
- 最適化器(6)を使用して、前記損失値に基づいて前記MP有効化を最適化するステップと、
を含む、請求項3に従属する場合の請求項8に記載の方法。
【請求項12】
請求項8および9、または8および10、または8および11のステップが、前記損失値が閾値より小さくなるまで反復され、初回の反復では、前記出力運動情報が、前記目標スタイルに応じた前記MPおよび任意のMP有効化に基づいて生成される、請求項9から11のいずれか一項に記載の方法。
【請求項13】
前記方法が、
- 前記運動生成器(4)を使用して、前記目標スタイルに応じた前記MPおよびMP有効化に基づいて、目標運動情報を生成するステップと、
- 逆および/または順運動学モジュール(8)を使用して、前記対象物の1つまたは複数の関節角度および1つまたは複数の骨長などの前記対象物の物理的制約と、前記目標運動情報とに基づいて、前記出力運動情報を生成するステップと、
を含む、請求項8から12のいずれか一項に記載の方法。
【請求項14】
前記対象物の前記運動が、1つまたは複数のオイラー角、四元数、関節角度および/またはxyz位置などの、前記対象物の1つまたは複数の制御変数を制御することにより、制御される、請求項1から13のいずれか一項に記載の方法。
【請求項15】
- 1つまたは複数のxyz位置が制御変数として制御される場合、前記逆運動学モジュール(8)が、出力運動情報を生成するために使用され、
- 1つまたは複数のオイラー角、四元数、および/または関節角度が制御変数として制御される場合、前記順運動学モジュール(8)が、前記出力運動情報を生成するために使用される、請求項13に従属する場合の請求項14に記載の方法。
【請求項16】
ロボットまたは仮想アバターなどの対象物の運動を制御するための制御装置であって、
前記制御装置が、請求項1から15のいずれか一項に記載の方法を行うように構成される、制御装置。
【請求項17】
ロボットの運動を制御するように構成された請求項16に記載の制御装置を備える、ロボット。
【請求項18】
プロセッサ上で実施されたときに請求項1から15のいずれか一項に記載の方法を行うためのプログラムコードを備えた、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボットまたは仮想アバターなどの対象物の運動を制御するための方法および制御装置に関し、制御装置はその方法を行うように構成される。本開示はさらに、ロボットの運動を制御するように構成された制御装置を備えるロボットと、プロセッサ上で実施されたときにそのような方法を行うためのプログラムコードを備えるコンピュータプログラムとに関する。
【背景技術】
【0002】
ロボットまたは仮想アバターなどの対象物の現在の運動を与えられたときに、スタイル設定方法を使用して、現在の運動のスタイルを現在のスタイルから目標スタイルに変換することによって現在の運動のスタイルを変更することができる。例えば、ニュートラルな歩行の運動(すなわち、現在の運動の運動タイプが「歩行」で、現在のスタイルが「ニュートラル」である)が、楽しそうな歩行の運動に変換され得る(すなわち、運動タイプ「歩行」である現在の運動の目標スタイルが、「楽しい」である)。現在の運動のスタイルを現在のスタイルから目標スタイルに変換することは、現在の運動を目標スタイルにスタイル設定するとも表現することができる。
【0003】
現在の最新技術のスタイル設定手法は、様々な不都合点がある。目標スタイルにスタイル設定しようとするロボットまたは仮想アバターなどの対象物の現在の運動の運動スタイルは、意味のあるスタイル設定結果をもたらすために、スタイル設定の基準として使用されるデータの運動タイプと非常に似ていなければならない。さらに、対象物の現在の運動をスタイル設定したいユーザは、現在の運動の運動タイプがスタイル設定されるための種々のスタイルの例を提供しなければならない。例えば、運動タイプ「歩行」である現在の運動をスタイル設定するには、ユーザは、種々のスタイルにある現在の運動タイプの例、すなわち、種々の歩行スタイルにある歩行の運動の例、を提供する必要がある。そして、それら種々のスタイルのうちのいずれかのスタイルへの現在の運動のスタイル設定が行われ得る。
【0004】
さらに、現在の最新技術のスタイル設定手法は、通常、仮想アバターのみに適用される。したがって、それらをロボットの運動の制御に直接使用することはできない。これは、ロボットの運動を生成する際にはロボットの物理的制約が考慮に入れられなければならないためである。
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、本発明の目的は、上記で説明した不都合点の少なくとも1つを克服する、ロボットまたは仮想アバターなどの対象物の運動を制御する方法を提供することである。
【課題を解決するための手段】
【0006】
以下の説明を読むと明らかになるこれらおよび他の目的は、独立請求項の主題によって解決される。従属請求項は、本発明の実施形態の有利な実装を参照する。
【0007】
本開示の第1の態様は、ロボットまたは仮想アバターなどの対象物の運動を制御する方法を提供する。方法は、
- 現在の運動タイプかつ現在のスタイルの現在の運動を記述する入力運動情報を受け取り、現在の運動タイプかつ目標スタイルの目標運動のための目標スタイルを受け取るステップと、
- スタイル統計予測器の第1のフィードフォワードニューラルネットワーク(FFNN)を使用して、目標スタイルに基づいて入力運動情報を出力運動情報に変換するステップであって、出力運動情報は目標運動を記述する、ステップと、
- 対象物の運動の運動タイプが現在の運動タイプに対応し、かつ対象物の運動のスタイルが目標スタイルに対応するように、出力運動情報に基づいて対象物の運動を制御するステップと、を含む。
【0008】
言い換えると、本開示の第1の態様は、スタイル統計予測器の第1のFFNNを使用して、ロボットまたは仮想アバターなどの対象物の現在の運動の現在のスタイルを、現在の運動の運動タイプを変更することなく、目標スタイルに変換できるようにする方法を提案する。
【0009】
例えば、現在の運動タイプが「歩行」であり、よって対象物の現在の運動が対象物が歩行することに対応する場合、現在のスタイル「楽しい」が、目標スタイル「悲しい」に変更され得る。対象物がロボットである場合、例えば「歩行」の運動タイプと、例えば「楽しい」のスタイルとに従ったロボットの運動は、ロボットが楽しそうに歩行することを意味する。言い換えると、ロボットは、ロボットが楽しそうに見えるような歩き方で歩いている。ロボットの運動のスタイルが、運動タイプ「歩行」を変えずに、例えば「悲しい」の目標スタイルに変わると、ロボットは、自身の歩き方を楽しそうに歩行することから悲しそうに歩行することに適合する。すなわち、ロボットは、ロボットが悲しそうに見えるような歩き方で歩いている。同じことが、仮想アバターである対象物にも当てはまる。
【0010】
スタイル統計予測器の第1のFFNNを使用する結果、上記で説明した、目標スタイルにスタイル設定しようとする対象物の現在の運動の運動タイプが、スタイル設定の基準として使用されるデータの運動タイプと非常に似ている必要があるという不都合点が克服される。さらに、上記で説明した、ユーザが現在の運動の運動タイプに対してあらゆる異なるスタイル(目標スタイルを含む)提供する必要があるという不都合点が克服される。すなわち、スタイル統計予測器の第1のFFNNは、現在の運動タイプおよび現在のスタイルを記述する入力運動情報を、目標スタイルである現在の運動タイプを記述する出力運動情報に、どのように変換しなければならないかを予測することができる。第1のFFNNは、入力運動情報の現在のスタイルを知る必要はない。また、入力運動情報の現在の運動タイプおよび現在のスタイルが、第1のFFNNを訓練するために使用される訓練データと似ている必要もない。よって、第1の態様による方法は、異なるスタイルにある同じ運動タイプの運動情報の例を有することなく、任意の運動タイプの現在の運動の現在のスタイルを異なるスタイルに変換することができるため、有利である。
【0011】
したがって、第1の態様による方法は、以下のいくつかの利点を有する。
【0012】
ロボットまたは仮想アバターの運動レパートリーが拡大され得る。すなわち、ロボットまたは仮想アバターの運動がスタイル設定され得る、異なるスタイルの数が拡大され得る。すなわち、ユーザが、運動タイプごとに異なるスタイルの例を提供する必要がない。このことが、より表現に富んだロボットおよび仮想アバターにつながる。その結果、ロボットまたは仮想アバターが、現在の運動のスタイルを変えることにより、自身の意図や情報を人に伝えることが可能になり得る。例えば、現在の運動が現在のスタイル「ニュートラル」からスタイル「怒っている」に変化することを使用して、危険を伝えることができる。さらに、ロボットまたは仮想アバターが、ユーザによって容易に個別化され得、それが向上したユーザ経験につながる。さらに、ロボットまたは仮想アバターが、人(人間)の感情状態を反映して、人をより心地よくさせたり、ロボットそれぞれ仮想アバターがより気にかけているように見せたりし得る。
【0013】
その結果、エンジニアが、時間のかかる工程で、異なる運動タイプについての異なるスタイルの運動情報を作成する必要がなくなる。対照的に、エンジニアは、ある運動タイプ(例えば、単一の手を振る運動、単一の歩行する運動、...)の運動情報を一度作成するだけでよい。第1の態様の方法は、運動情報をスタイル設定するために使用され得る。すなわち、第1の態様の方法は、ある運動タイプの運動情報を、同じ運動タイプかつ目標スタイルの出力運動情報に変換するために使用され得る。
【0014】
さらに、第1の態様の方法を使用すると、現在の運動タイプおよび現在のスタイルに応じたロボットまたは仮想アバターの現在の運動の現在のスタイルを、異なる目標スタイルに自動的に変えることが可能になる。言い換えると、現在の運動タイプかつ現在のスタイルの現在の運動を記述する入力運動情報が、目標スタイルに基づいて、スタイル統計予測器の第1のFFNNを使用することにより、出力運動情報に自動的に変換され得、出力運動情報は、現在の運動タイプかつ目標スタイルの運動(目標運動)を記述する。よって、第1の態様の方法は、目標スタイルへの運動のスタイルの自動的な変換を可能にする。自動的に変換された出力運動情報は、運動の編集に使用され得る。すなわち、出力運動情報に基づいて制御されているロボットまたは仮想アバターの運動が、運動タイプおよび/または目標スタイルに関してエンジニアの予想と一致しない場合、出力運動情報は、運動を手動で編集するための開始点の役割を果たし得る。
【0015】
したがって、第1の態様の方法は、ロボットまたは仮想アバターの運動を制御するためだけでなく、ロボットまたは仮想アバターの開発工程中に設計ツールとして使用され得る。詳細には、第1の態様の方法は、ロボットまたは仮想アバターがより人間らしく見えるように、ロボットまたは仮想アバターの運動を制御するために使用され得る。
【0016】
詳細には、対象物の運動を制御する方法は、対象物の現在の運動を目標スタイルにスタイル設定するためのスタイル設定方法と呼ぶことができる。
【0017】
ロボットは、人間型ロボットであってよい。仮想アバターは、人間型の仮想アバターであってよい。仮想アバターは、「アニメーションキャラクター」と呼ばれることがある。
【0018】
スタイル統計予測器および第1のFFNNは各々、ハードウェアおよび/またはソフトウェアによって実装され得る。
【0019】
用語「動き」および「挙動」は、用語「運動」の同義語として使用されることがある。用語「運動カテゴリ」および「運動の内容」は、用語「運動タイプ」の同義語として使用されることがある。用語「運動タイプ」は、用語「タイプ」と省略されることがある。用語「スタイル」は、「運動スタイル」と呼ばれることがある。
【0020】
人間型ロボットまたは仮想アバターなどのロボットまたは仮想アバターの運動タイプの例は、歩行すること、踊ること、走ること、跳ぶこと、顔の表情をすること、ジェスチャをすること等を含む。
【0021】
ロボットまたは仮想アバターの運動のスタイルの例は、楽しい、悲しい、怒っている、年老いた、若い等を含む。
【0022】
運動のスタイルは、悲しい、楽しい、怒っているなどの感情状態、または、運動がそのスタイルに従って行われるときに人にとって明らかである、若い、年老いている等の人間の特性と呼ばれることもある。
【0023】
入力運動情報は、データ、詳細にはxyz位置、それぞれ制御される対象物の各自由度に対応するxyz位置を備えるか、またはそれに対応してよい。xyz位置は、そのxyz座標によって定義される。よって、xyz位置は、それぞれのxyz座標と呼ばれることもある。用語「3次元位置」および「3次元空間内の位置」は、用語「xyz位置」の同義語として使用されることがある。
【0024】
一実施形態によれば、入力運動情報は、長さNの時系列の行列X1:Nのデータを備え、データは、制御される対象物の自由度に対応するxyz位置であり、行列Xは、次元(k×3)であり、kは、対象物の自由度の数である。すなわち、時間点t=1~Nごとに、行列X1:Nは、ロボットまたは仮想アバターの自由度に対応するxyz位置を備える。
【0025】
対象物の自由度は、
運動タイプおよび運動スタイルに従って対象物の運動を生成するためにそれ自体制御されることが可能な、
- 対象物の一部、および/または
- 対象物の1つまたは複数の部分の取り得る基本的な運動
であってよい。
【0026】
したがって、ロボットまたは仮想アバターの自由度は、
運動タイプおよび運動スタイルに従ってロボットまたは仮想アバターの運動を生成するためにそれ自体制御されることが可能な、
- ロボットまたは仮想アバターの一部(例えば、6自由度として6個の関節を持つロボットアーム。各関節はロボットまたは仮想アバターの身体の一部である)、および/または
- ロボットまたは仮想アバターの1つまたは複数の部分の取り得る基本的な運動(例えば、5自由度として、目の傾き、目の回転、目の飛び出し、前後への身体の傾斜、および基本回転を備えるロボット)
であってよい。
【0027】
第1のFFNNは、「深層ニューラルネットワーク」と呼ばれることもある。
【0028】
第1のFFNNは、異なるスタイルにある同じ運動タイプの例を有することなく、任意の運動タイプおよび任意のスタイルの入力運動情報を、同じ運動タイプ、および複数の異なるスタイルのうちの目標スタイルの出力運動情報に変換するように構成される。したがって、第1のFFNNは、任意の運動タイプおよび任意のスタイルの入力運動情報を、同じ運動タイプ、および目標スタイルに対応する異なるスタイルの出力運動情報に変換するように構成される。
【0029】
第1の態様の一実装形態によれば、第1のFFNNは、確率的ニューラルネットワーク(PNN)である。そのような確率的ニューラルネットワークは、「深層確率的ニューラルネットワーク」と呼ばれることもある。
【0030】
第1の態様の一実装形態によれば、方法は、
- 第1の運動統計モジュールを使用して、入力運動情報に基づいて、入力統計を生成するステップであって、入力統計は現在の運動タイプおよび現在のスタイルを示す、ステップと、
- 第1のFFNNを使用して、入力統計および目標スタイルに基づいて、目標統計を生成するステップであって、目標統計は現在の運動タイプおよび目標スタイルを示す、ステップと、
- 入力統計および目標統計に基づいて、入力運動情報を出力運動情報に変換するステップと、を含む。
【0031】
言い換えると、スタイル統計予測器の第1のFFNNは、入力運動情報に基づいて第1の運動統計モジュールによって生成される入力統計、および目標スタイルを、目標統計にマッピングするように構成されてよい。入力運動情報は、入力統計および目標統計に基づいて出力運動情報に変換することができる。
【0032】
第1の運動統計モジュールは、ハードウェアおよび/またはソフトウェアによって実装され得る。
【0033】
入力統計は、現在の運動に関する、よって現在の運動タイプおよび現在のスタイルに関する統計である。
【0034】
入力統計は、入力運動情報のデータの平均および/または分散であってよい。代替または追加として、入力統計は、データのグラム行列として定義されてもよい。データが、制御される対象物の自由度に対応するxyz位置である場合、入力統計はxyz位置の平均および/もしくは分散であってよく、ならびに/または、入力統計はxyz位置のグラム行列として定義されてよい。
【0035】
一実施形態によれば、入力運動情報が、上記のような長さNの時系列のデータX1:Nに対応するか、またはそれを備える場合、入力統計は、以下のようにxyz位置のグラム行列として定義され得る。
【数1】
【0036】
上記ですでに概説したように、行列Xは、長さk×3のベクトルとして解釈され、kは対象物の自由度の数である。
【0037】
目標統計は、目標運動に関する、よって現在の運動タイプおよび目標スタイルに関する統計である。目標スタイルは、目標スタイルに従って観察された運動の統計的性質によって定義され得る。
【0038】
目標統計は、データの平均および/または分散であってよく、入力運動情報と同じ運動タイプ(現在の運動タイプ)と、目標スタイルに対応するスタイルとをもつ目標運動を記述する。データが制御される対象物の自由度に対応するxyz位置である場合、目標統計は、xyz位置の平均および/または分散であってよい。
【0039】
一実施形態によれば、目標統計は、時間領域にわたるすべての自由度のxyz位置それぞれxyz座標の外積の平均であってよい(xyz位置の平均類似度)。
【0040】
第1のFFNNがPPNである場合、PPNによって生成される目標統計は、平均および分散によるガウス確率分布であってよい。
【0041】
第1のFFNNがPNNである場合、目標統計は、自由度に対応するxyz位置の平均および/または分散の分布などの、範囲それぞれ分布に対応してよく、分布は、目標統計によって示される運動が、現在の運動タイプおよび目標スタイルに応じた目標運動に対応する確率を記述する。
【0042】
第1の態様の一実装形態によれば、方法は、
- 第1のFFNNを使用して、入力統計および目標スタイルに基づいて、入力統計を目標統計に変換するために入力統計の平均および/または分散などの1つまたは複数の統計値をどのように変えなければならないかを予測するステップと、
- 第1のFFNNを使用して、予測の結果に基づいて入力統計を目標統計に変換するステップと、を含む。
【0043】
第1の態様の一実装形態によれば、方法は、
- 運動プリミティブ(MP)生成器の第2のフィードフォワードニューラルネットワーク(FFNN)を使用して、目標統計に基づいて、目標スタイルに応じた運動プリミティブ(MP)を生成するステップと、
- 目標スタイルに応じたMPに基づいて対象物の運動を制御するステップと、を含む。
【0044】
第2のFFNNおよびMP生成器は各々、ハードウェアおよび/またはソフトウェアによって実装され得る。
【0045】
第1の運動統計モジュール、第1のFFNNを備えるスタイル統計予測器、および第2のFFNNを備えるMP生成器は、(現在のスタイルに応じた)現在のMPを、目標スタイルに応じた変更後MPに変更するように構成された運動スタイル設定フレームワークシステムを構成し得る。
【0046】
運動プリミティブ(MP)は、基本要素運動形状と呼ばれることがある。よって、対象物のMPは、1つの特定のスタイル(例えば「楽しい」)に対して対象物によって行われ得るすべての可能な個々の運動を表す。特定のスタイルに応じた複数のMPが対象物の運動を作り出すことができ、運動のスタイルは、それらMPの特定のスタイルによって定義される。運動のスタイルは、加えて、MPのうちどれが有効化されるかによって、すなわちMPのうちどれが行われるかによって定義されてよい。言い換えると、「歩行」などの対象物の運動は、それぞれのMP、よって、歩行する運動を形成するそれぞれの個々の運動を有効化することによって作り出される。
【0047】
用語「動きプリミティブ」は、用語「運動プリミティブ」の同義語として使用されることがある。
【0048】
MPは、サイズr×dの行列Gにデータとして記憶されてよく、rはMPの数であり、dはMPの次元である。例えば、データが自由度ごとに一つのxyz位置を記述する場合、MPの次元dは3であり、または、データが、先行するものに対する自由度の向きを表す四元数を記述する場合、MPの次元dは4である。
【0049】
MPに関して異なる表現が可能である。例えば、MPは、1つまたは複数の自由度に対応する1つまたは複数のxyz位置を生成し得る。代替または追加として、MPは、1つまたは複数の自由度の向きに対して1つまたは複数のオイラー角を生成し得る。代替または追加として、MPは、1つまたは複数の自由度の向きに対して1つまたは複数の四元数を生成し得る。代替または追加として、MPは、1つまたは複数の自由度の1つまたは複数の関節角度を生成し得る。MPの表現は、ロボットまたは仮想アバターなどの所与の対象物の制御変数に基づいて定義され得る。制御変数の所与の対象物の例は、1つまたは複数のオイラー角、四元数、関節角度および/または対象物のxyz位置である。
【0050】
例えば、ロボットまたは仮想アバターが関節角度を介して制御される(すなわち、ロボットの制御変数が関節角度である)場合、MPは、ロボットそれぞれ仮想アバターの関節角度の軌跡を記述するために使用される。
【0051】
第2のFFNNは、目標統計を、事前に定められた数のMPのパラメータにマッピングし得る。固定された入力運動情報については、MP生成器、詳細には第2のFFNNが、異なる目標統計に対して、よって異なる目標スタイルに対して、異なるMPを生成し得る。MP生成器は、運動マニホルド(対象物が行い得るすべての可能な運動)に相当し得る。
【0052】
第1の態様の一実装形態によれば、方法は、
- 第2のFFNNを使用して、入力統計および目標統計に基づいて、目標スタイルに応じたMPを生成するステップ、を含む。
【0053】
第2のFFNNは、入力統計および目標統計に基づいて、目標スタイルにスタイル設定しようとする、現在の運動の現在の運動タイプを判定し得る。第2のFFNNは、目標統計に基づいて目標スタイルを判定し得る。第2のFFNNは、判定結果に基づいて、目標スタイルに応じたMPを生成し得る。
【0054】
第2のFFNNは、入力統計および目標統計を、事前に定められた数のMPのパラメータにマッピングし得る。
【0055】
第1の態様の一実装形態によれば、方法は、
- 第2のFFNNを使用して、目標統計に基づいて、詳細には目標統計および入力統計に基づいて、現在のスタイルに応じたMPを、目標スタイルに応じたMPに変更するステップ、を含む。
【0056】
すなわち、第2のFFNNは、現在のスタイルの運動(現在の運動タイプかつ現在のスタイルの現在の運動など)を生成するために使用され得る現在のスタイルに応じた現在のMPを、目標統計に基づいて、目標スタイルに応じた変更後MPに変更し得る。変更後MPは、現在の運動タイプかつ目標スタイルの目標運動などの、目標スタイルの運動を生成するために使用され得る。目標統計は、目標スタイルを示す。
【0057】
例えば、現在のMPは、現在のスタイル「若い」に応じたMPであり、すなわち、現在のMPは、対象物の運動が若い人によって行われているように見えるように、スタイル「若い」の対象物の運動を作り出すために使用され得る。目標スタイルが「年老いた」である場合、第2のFFNNは、現在のスタイル「若い」に応じた現在のMPを、目標スタイル「年老いた」に応じた変更後MPに変更し得る。変更後MPは、対象物の運動が年老いた人によって行われているように見えるように、スタイル「年老いた」の対象物の運動を作り出すために使用され得る。
【0058】
例えば、スタイル「若い」に応じたMPは、人間型ロボットまたは仮想アバターが例えば背中をまっすぐにし、肩を安定させて歩行するように、運動タイプ「歩行」の運動を生成することができる。まっすぐにした背中と安定した肩の結果、歩行する人間型ロボットまたは仮想アバターは、その歩行を見る人にとって若く見える。それに対して、スタイル「年老いた」に応じたMPは、人間型ロボットまたは仮想アバターが例えば背中をまるめ、肩を落として歩行するように、運動タイプ「歩行」の運動を生成することができる。まるめた背中と落ちた肩の結果、歩行する人間型ロボットまたは仮想アバターは、その歩行を見る人にとって年老いて見える。
【0059】
一実施形態によれば、第2のFFNNは、現在のスタイルに応じた現在のMPを、目標統計および入力統計に基づいて、目標スタイルに応じた変更後MPに変更し得る。
【0060】
第1の態様の一実装形態によれば、方法は、
- 運動生成器を使用して、目標スタイルに応じたMPおよびMP有効化に基づいて、出力運動情報を生成するステップ、を含む。
【0061】
運動生成器は、ソフトウェアおよび/またはハードウェアによって実装され得る。
【0062】
MP有効化は、MPによって表される可能な個々の運動のうちのどれを行うそれぞれ有効化すべきかを定義する。よって、MP有効化は、MPによって表される個々の運動によって作り出される対象物の運動を定義する。
【0063】
したがって、MP有効化は、出力運動情報が現在の運動タイプかつ目標スタイルの目標運動を記述するために、MPによって表される可能な個々の運動のうちのどれを行うそれぞれ有効化すべきかを定義し得る。
【0064】
詳細には、MP有効化は、出力運動情報によって記述される運動の運動タイプを定義し得る。
【0065】
MP生成器によって生成されたMPおよびMP有効化の時系列を与えられて、運動生成器は、入力運動情報と同じ次元の出力運動情報を生成し得る。
【0066】
第1の態様の第1の実施形態によれば、方法は、
- 損失関数モジュールを使用して、入力運動情報および出力運動情報に基づいて損失値を生成するステップであって、損失値は、出力運動情報の運動タイプと、入力運動情報の運動タイプとの間の差を示す、ステップと、
- 最適化器を使用して、損失値に基づいてMP有効化を最適化するステップと、を含む。
【0067】
詳細には、損失関数モジュールは、入力運動情報および出力運動情報に基づいて、入力運動情報によって記述される現在の運動タイプと、出力運動情報によって記述される運動タイプとの間の差を判定し得る。
【0068】
損失関数モジュールおよび最適化器は、ソフトウェアおよび/またはハードウェアによって実装され得る。
【0069】
詳細には、最適化器は、損失値に基づいて最適化されたMP有効化を生成するために、勾配降下アルゴリズムなどの1つまたは複数の最適化アルゴリズムを使用する。最適化器は、Adam最適化器であってよい。
【0070】
第1の態様の第2の実施形態によれば、方法は、
- 損失関数モジュールを使用して、入力運動情報、出力運動情報、および目標スタイルに基づいて、損失値を生成するステップであって、損失値は、出力運動情報の運動タイプと入力運動情報の運動タイプとの間の差、および出力運動情報のスタイルと目標スタイルとの間の差を示す、ステップと、
- 最適化器を使用して、損失値に基づいてMP有効化を最適化するステップと、を含む。
【0071】
詳細には、損失関数モジュールは、入力運動情報および出力運動情報に基づいて、入力運動情報によって記述される現在の運動タイプと、出力運動情報によって記述される運動タイプとの間の差を判定し得る。損失関数モジュールは、出力運動情報によって記述されるスタイルと目標スタイルとの間の差を判定し得る。
【0072】
詳細には、最適化器は、損失値に基づいて最適化されたMP有効化を生成するために、勾配降下アルゴリズムなどの1つまたは複数の最適化アルゴリズムを使用する。最適化器は、Adam最適化器であってよい。
【0073】
第1の態様の第3の実施形態によれば、入力統計および目標スタイルに基づいて、第1のFFNNを使用して目標統計が生成される場合、方法は、
- 第2の運動統計モジュールを使用して、出力運動情報に基づいて出力統計を生成するステップと、
- 損失関数モジュールを使用して、入力運動情報、出力運動情報、目標統計、および出力統計に基づいて、損失値を生成するステップであって、損失値は、出力運動情報の運動タイプと入力運動情報の運動タイプと間の差、および出力運動情報のスタイルと目標スタイルと間の差を示す、ステップと、
- 最適化器を使用して、損失値に基づいてMP有効化を最適化するステップと、を含む。
【0074】
詳細には、損失関数モジュールは、入力運動情報および出力運動情報に基づいて、入力運動情報によって記述される現在の運動タイプと、出力運動情報によって記述される運動タイプとの間の差を判定し得る。損失関数モジュールは、目標統計および出力統計に基づいて、出力運動情報によって記述されるスタイルと、目標スタイルとの間の差を判定し得る。
【0075】
詳細には、最適化器は、損失値に基づいて最適化されたMP有効化を生成するために、勾配降下アルゴリズムなどの1つまたは複数の最適化アルゴリズムを使用する。最適化器は、Adam最適化器であってよい。
【0076】
第1の態様の一実装形態によれば、
- 目標スタイルに応じたMPおよびMP有効化に基づいて、出力運動情報を生成するステップ、ならびに上記で説明された第1の態様の第1の実施形態のステップ、または
- 目標スタイルに応じたMPおよびMP有効化に基づいて、出力運動情報を生成するステップ、ならびに上記で説明された第1の態様の第2の実施形態のステップ、または
- 目標スタイルに応じたMPおよびMP有効化に基づいて、出力運動情報を生成するステップ、ならびに上記で説明された第1の態様の第3の実施形態のステップが、
損失値が閾値より小さくなるまで反復され、初回の反復では、出力運動情報が、目標スタイルに応じたMPおよび任意のMP有効化に基づいて生成される。
【0077】
損失値が閾値より小さくなるまで上記ステップが反復される結果、最後の反復で生成される出力運動情報は、運動の内容の面で入力運動情報と近いものになる。すなわち、(最後の反復で生成される)出力運動情報によって記述される運動の運動タイプは、入力運動情報によって記述される運動の運動タイプに対応する。最後の反復で生成される出力運動情報は、スタイルの面で目標スタイルに近い。すなわち、(最後の反復で生成される)出力運動情報によって記述される運動のスタイルは、目標スタイルに対応する。
【0078】
損失関数モジュールは、入力運動情報の運動タイプとの、出力運動情報の運動タイプの類似度に報酬を与え得る。損失関数モジュールは、加えて、目標スタイルからの出力運動のスタイルの逸脱に罰を与え得る。
【0079】
第1の態様の一実装形態によれば、方法は、
- 運動生成器を使用して、目標スタイルに応じたMPおよび任意のMP有効化に基づいて、目標運動情報を生成するステップと、
- 逆および/または順運動学モジュールを使用して、対象物の1つまたは複数の関節角度および1つまたは複数の骨長などの対象物の物理的制約と、目標運動情報とに基づいて、出力運動情報を生成するステップと、を含む。
【0080】
目標運動情報は、現在の運動タイプかつ目標スタイルの目標運動を記述する。目標運動情報に基づいて生成される出力運動情報は、対象物の物理的制約を考慮しながら、現在の運動タイプかつ目標スタイルの目標運動を記述する。
【0081】
逆および/または順運動学モジュールを使用する結果、第1の態様による方法は、対象物の運動を生成するときに、対象物の物理的制約が逆および/または順運動学モジュールによって考慮されるため、対象物(ロボットまたは仮想アバター)の運動の制御に直接使用され得る。すなわち、逆および/または順運動学モジュールは、物理的に実現可能な、それぞれ運動学を意識した、対象物の出力運動情報を生成することを可能にする。
【0082】
逆および/または順運動学モジュールは、出力運動情報を生成する際に、1つまたは複数の関節角度、特に関節の制約、および対象物の1つまたは複数の骨長などの、対象物の物理的制約を満たすことを可能にする。
【0083】
逆運動学モジュールは、目標運動を実現するための対象物の関節角度を求め得る。順運動学モジュールは、対象物の関節角度から、種々の点の位置および向きを求め得る。
【0084】
第1の態様の一実装形態によれば、対象物の運動は、1つまたは複数のオイラー角、四元数、関節角度および/またはxyz位置などの、対象物の1つまたは複数の制御変数を制御することにより、制御される。
【0085】
第1の態様の一実装形態によれば、1つまたは複数のxyz位置が制御変数として制御される場合、逆運動学モジュールが、出力運動情報を生成するために使用され、1つまたは複数のオイラー角、四元数、および/または関節角度が制御変数として制御される場合、順運動学モジュールが、出力運動情報を生成するために使用される。
【0086】
順運動学モジュールは、1つまたは複数の関節角度を制御変数として使用するときに、1つまたは複数の関節制約を取り込み得る。逆運動学モジュールは、1つまたは複数のxyz位置をMP表現として使用するときに、対象物の骨長の制約などの物理的制約が満たされることを確実にし得る。
【0087】
逆運動学モジュールは、準方向および逆方向到達逆運動学(FABRIK:forward and backward reaching inverse kinematics)モジュールであってよい。
【0088】
第1の態様による方法を実現するために、上記の実装形態の一部またはすべて、および任意選択の特徴が互いと組み合わされてよい。
【0089】
本開示の第2の態様は、ロボットまたは仮想アバターなどの対象物の運動を制御するための制御装置を提供し、制御装置は、上記で説明された、第1の態様またはその実装形態のいずれかによる方法を行うように構成される。
【0090】
制御装置は、第1のフィードフォワードニューラルネットワーク(FFNN)を有するスタイル統計予測器を備え、第1のFFNNは、現在の運動タイプかつ現在のスタイルの現在の運動を記述する入力運動情報を、目標スタイルに基づいて、出力運動情報に変換するように構成され、出力運動情報は、現在の運動タイプかつ目標スタイルの目標運動を記述する。制御装置は、対象物の運動の運動タイプが現在の運動タイプに対応し、かつ対象物の運動のスタイルが目標スタイルに対応するように、出力運動情報に基づいて対象物の運動を制御するように構成される。
【0091】
制御装置は、プロセッサ、マイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途集積回路(ASIC)、またはそれら要素の任意の組み合わせに対応するか、またはそれを備え得る。
【0092】
制御装置は、対象物の自由度を制御し得る。例えば、対象物が、6つの異なる関節角度を有するアームを備えたロボットに対応する場合、6つの関節角度は、6自由度であり、制御装置によって制御され得る。詳細には、制御装置は、対象物の運動を司る対象物のアクチュエータを制御し得る。
【0093】
第1のFFNNは、確率的ニューラルネットワーク(PNN)であってよい。
【0094】
第2の態様の一実装形態によれば、制御装置は、入力運動情報に基づいて入力統計を生成するように構成される第1の運動統計モジュールを備え、入力統計は、現在の運動タイプおよび現在のスタイルを示す。第1のFFNNは、入力統計および目標スタイルに基づいて目標統計を生成するように構成され、目標統計は、現在の運動タイプおよび目標スタイルを示す。制御装置は、入力統計および目標統計に基づいて、入力運動情報を出力運動情報に変換するように構成される。
【0095】
第2の態様の一実装形態によれば、第1のFFNNは、入力統計を目標統計に変換するために、入力統計および目標スタイルに基づいて、入力統計の平均および/または分散などの1つまたは複数の統計値をどのように変えなければならないかを予測し、予測の結果に基づいて入力統計を目標統計に変換するように構成される。
【0096】
第2の態様の一実装形態によれば、制御装置は、第2のフィードフォワードニューラルネットワーク(FFNN)を有する運動プリミティブ(MP)生成器を備え、第2のFFNNは、目標統計に基づいて目標スタイルに応じた運動プリミティブ(MP)を生成するように構成される。制御装置は、目標スタイルに応じたMPに基づいて対象物の運動を制御するように構成される。
【0097】
第2の態様の一実装形態によれば、第2のFFNNは、入力統計および目標統計に基づいて目標スタイルに応じたMPを生成するように構成される。
【0098】
第2の態様の一実装形態によれば、第2のFFNNは、目標統計に基づいて、詳細には目標統計および入力統計に基づいて、現在のスタイルに応じたMPを、目標スタイルに応じたMPに変更するように構成される。
【0099】
第2の態様の一実装形態によれば、制御装置は、目標スタイルに応じたMPおよびMP有効化に基づいて出力運動情報を生成するように構成された運動生成器を備える。
【0100】
第2の態様の第1の実施形態によれば、制御装置は、損失関数モジュールを備え、この損失関数モジュールは、入力運動情報および出力運動情報に基づいて損失値を生成するように構成され、損失値は、出力運動情報の運動タイプと、入力運動情報の運動タイプとの間の差を示す。加えて、制御装置は、損失値に基づいてMP有効化を最適化するように構成された最適化器を備える。
【0101】
第2の態様の第2の実施形態によれば、制御装置は、損失関数モジュールを備え、この損失関数モジュールは、入力運動情報、出力運動情報、および目標スタイルに基づいて、損失値を生成するように構成され、損失値は、出力運動情報の運動タイプと入力運動情報の運動タイプとの間の差、および出力運動情報のスタイルと目標スタイルとの間の差を示す。加えて、制御装置は、損失値に基づいてMP有効化を最適化するように構成された最適化器を備える。
【0102】
第2の態様の第3の実施形態によれば、制御装置は、出力運動情報に基づいて出力統計を生成するように構成された第2の運動統計モジュールと、入力運動情報、出力運動情報、目標統計、および出力統計に基づいて損失値を生成するように構成された損失関数モジュールとを備え、損失値は、出力運動情報の運動タイプと入力運動情報の運動タイプとの間の差、および出力運動情報のスタイルと目標スタイルとの間の差を示す。加えて、制御装置は、損失値に基づいてMP有効化を最適化するように構成された最適化器を備える。
【0103】
第2の態様の一実装形態によれば、制御装置は、
- 運動生成器によって出力運動情報を生成し、第2の態様の第1の実施形態による損失関数モジュールによって損失値を生成し、第2の態様の第1の実施形態による最適化器によってMP有効化を最適化すること、または
- 運動生成器によって出力運動情報を生成し、第2の態様の第2の実施形態による損失関数モジュールによって損失値を生成し、第2の態様の第2の実施形態による最適化器によってMP有効化を最適化すること、または
- 運動生成器によって出力運動情報を生成し、第2の態様の第3の実施形態による損失関数モジュールによって損失値を生成し、第2の態様の第3の実施形態による最適化器によってMP有効化を最適化すること
を、損失値が閾値より小さくなるまで反復するように構成され、初回の反復では、出力運動情報は、目標スタイルに応じたMPおよび任意のMP有効化に基づいて生成される。
【0104】
第2の態様の一実装形態によれば、運動生成器は、目標スタイルに応じたMPおよびMP有効化に基づいて目標運動情報を生成するように構成され、制御装置は、対象物の1つまたは複数の関節角度および1つまたは複数の骨長などの対象物の物理的制約と、目標運動情報とに基づいて、出力運動情報を生成するように構成された、逆および/または順運動学モジュールを備える。
【0105】
第2の態様の一実装形態によれば、制御装置は、1つまたは複数のオイラー角、四元数、関節角度および/またはxyz位置などの、対象物の1つまたは複数の制御変数を制御することにより、対象物の運動を制御するように構成される。
【0106】
第2の態様の一実装形態によれば、1つまたは複数のxyz位置が制御変数として制御される場合、逆運動学モジュールが、出力運動情報を生成するために使用され、1つまたは複数のオイラー角、四元数、および/または関節角度が制御変数として制御される場合、順運動学モジュールが、出力運動情報を生成するために使用される。
【0107】
第1のFFNN、スタイル統計予測器、第1の運動統計モジュール、第2のFFNN、MP生成器、運動生成器、損失関数モジュール、最適化器、第2の運動統計モジュール、ならびに逆および/または順運動学モジュールは各々、ハードウェアおよび/またはソフトウェアによって実装され得る。
【0108】
第1の態様およびその実装形態による方法に関する上記の説明は、第2の態様およびその実装形態による制御装置にも有効である。
【0109】
第2の態様による制御装置を実現するために、上記の実施形態の一部またはすべて、および任意選択の特徴が互いと組み合わされてよい。
【0110】
本開示の第3の態様は、上記で説明されたような、第2の態様またはその実装形態のいずれかによる制御装置を備えるロボットを提供する。
【0111】
ロボットは、人間型ロボットであってよい。ロボットは、ロボットの1つまたは複数の自由度に従って運動を行うための1つまたは複数のアクチュエータを備えてよい。制御装置は、ロボットの運動を作り出し、制御するために、アクチュエータを制御するように構成される。
【0112】
第1の態様の方法およびその実装形態に関する上記の説明、ならびに第2の態様およびその実装形態による制御装置に関する上記の説明は、第3の態様によるロボットにも有効である。
【0113】
第3の態様によるロボットを実現するために、上記の任意選択の特徴の一部またはすべてが互いと組み合わされてよい。
【0114】
本開示の第4の態様は、第1の態様またはその実装形態のいずれかによる方法を行うためのプログラムコードを備えたコンピュータプログラムを提供する。
【0115】
詳細には、本開示の第4の態様は、プロセッサ上で実施されたときに第1の態様またはその実装形態のいずれかによる方法を行うためのプログラムコードを備えた、コンピュータプログラムを提供する。
【0116】
本開示の第5の態様は、プロセッサ上で実施されたときに第1の態様またはその実装形態のいずれかによる方法を行うためのプログラムコードを備えたコンピュータプログラム製品を提供する。
【0117】
本開示の第6の態様は、プロセッサによって実行されたときに第1の態様またはその実装形態のいずれかによる方法を行わせる実行可能プログラムコードを記憶した非一時的な記憶媒体を提供する。
【0118】
本開示の第7の態様は、第1の態様またはその実装形態のいずれかによる方法を行うためのプログラムコードを記憶および実行するように構成されたメモリおよびプロセッサを備える、コンピュータを提供する。
【0119】
以下で、添付された図面を参照しながら本発明について例示的に説明する。
【図面の簡単な説明】
【0120】
図1】ロボットまたは仮想アバターなどの対象物の運動を制御するための制御装置の一部の一実施形態を例示的に示す図である。
図2】ロボットまたは仮想アバターなどの対象物の運動を制御するための制御装置の一部の一実施形態を例示的に示す図である。
図3】ロボットまたは仮想アバターなどの対象物の運動を制御するための制御装置の一部の一実施形態を例示的に示す図である。
図4】ロボットまたは仮想アバターなどの対象物の運動を制御するための制御装置の一部の一実施形態を例示的に示す図である。
図5】第1の態様またはその実装形態のいずれかによる方法によって使用されるスタイル統計予測器の第1のフィードフォワードニューラルネットワーク(FFNN)を訓練する方法の一実施形態の流れ図を例示的に示す図である。
図6】訓練後のスタイル統計予測器の第1のフィードフォワードニューラルネットワーク(FFNN)の機能の一実施形態の流れ図を例示的に示す図であり、スタイル統計予測器は、第1の態様またはその実装形態のいずれかによる方法によって使用される。
図7】第1の態様による方法の実施形態によって使用される運動プリミティブ(MP)生成器の第2のフィードフォワードニューラルネットワーク(FFNN)を訓練する方法の一実施形態の流れ図を例示的に示す図である。
図8】訓練後の運動プリミティブ(MP)生成器の第2のフィードフォワードニューラルネットワーク(FFNN)の機能の一実施形態の流れ図を例示的に示す図であり、MP生成器は、第1の態様による方法の実装形態によって使用される。
図9】第1の態様による方法の実装形態の一実施形態による最適化処理の方法ステップの流れ図を例示的に示す図である。
【発明を実施するための形態】
【0121】
図では、互いに対応する要素は、同じ参照符号で表される。
【0122】
図1は、ロボットまたは仮想アバターなどの対象物の運動を制御する制御装置の一部の一実施形態を例示的に示す。
【0123】
図1に示すように、ロボットまたは仮想アバターなどの対象物の運動を制御する制御装置は、スタイル統計予測器1および運動統計モジュール2を備えてよい。
【0124】
スタイル統計予測器および第1の運動統計モジュールに関する第1の態様およびその実装形態による方法の上記の説明、ならびにスタイル統計予測器および第1の運動統計モジュールに関する第2の態様およびその実装形態による制御装置の上記の説明は、対応して図1のスタイル統計予測器1および運動統計モジュール2についても有効である。運動統計モジュール2は、第1の運動統計モジュールと呼ばれることもある。
【0125】
図1に示すように、運動統計モジュール2は、現在の運動タイプおよび現在のスタイルを記述する入力運動情報を受け取り、入力運動情報に基づいて入力統計を生成するように構成される。入力統計は、現在の運動タイプおよび現在のスタイルを示す。
【0126】
スタイル統計予測器1は、フィードフォワードニューラルネットワーク(FFNN)を備え、これは第1のFFNNと呼ばれることもある(図1には図示せず)。第1のFFNNは、確率的ニューラルネットワーク(PNN)であってよい。
【0127】
第1のFFNNは、現在の運動タイプかつ現在のスタイルの現在の運動を記述する入力運動情報を受け取ると共に、現在の運動タイプかつ目標スタイルの目標運動のための目標スタイルを受け取るように構成される。図1によると、スタイル統計予測器1の第1のFFNNは、入力統計の形態で入力運動情報を受け取る。
【0128】
スタイル統計予測器1の第1のFFNNは、入力統計および目標スタイルに基づいて目標統計を生成するように構成され、この目標統計は、現在の運動タイプおよび目標スタイルを示す。よって、目標統計により、現在の運動タイプかつ目標スタイルの目標運動を記述する出力運動情報を生成することが可能となる。
【0129】
したがって、スタイル統計予測器1の第1のFFNNは、ロボットまたは仮想アバターの現在の運動(現在の運動は現在の運動タイプかつ現在のスタイルである)が、現在の運動タイプを変更することなく目標スタイルにスタイル設定されることを可能にする。
【0130】
図5に関して、スタイル統計予測器1の第1のFFNNを訓練する方法の一実施形態が例示として説明される。図6に関して、訓練後のスタイル統計予測器1の第1のFFNNの機能の一実施形態が例示として説明される。
【0131】
図2は、ロボットまたは仮想アバターなどの対象物の運動を制御する制御装置の一部の一実施形態を例示的に示す。
【0132】
図2による制御装置の部分は、図1に示される制御装置の部分に対応している。したがって、上記の図1の説明は、図2の制御装置の部分にも有効であり、以下では違いのみが解説される。図2に示すように、制御装置は、運動統計モジュール2、および第1のFFNN(図示せず)を備えるスタイル統計予測器1に加えて、運動プリミティブ(MP)生成器3を備える。
【0133】
MP生成器に関する第1の態様およびその実装形態による方法の上記の説明、ならびにMP生成器に関する第2の態様およびその実装形態による制御装置の上記の説明は、対応して図2のMP生成器3にも有効である。
【0134】
MP生成器3は、フィードフォワードニューラルネットワーク(FFNN)を備え、これは第2のFFNNと呼ばれることもある(図2には図示せず)。第2のFFNNは、目標統計に基づき、目標スタイルに応じた運動プリミティブ(MP)を生成するように構成される。好ましくは、第2のFFNNは、図2に示されるように、目標統計および入力統計に基づいて、目標スタイルに応じたMPを生成するように構成され得る。
【0135】
図7に関して、MP生成器3の第2のFFNNを訓練する方法の一実施形態が例示的に説明される。図8に関して、訓練後のMP生成器3の第2のFFNNの機能の一実施形態が例示的に説明される。
【0136】
図3は、ロボットまたは仮想アバターなどの対象物の運動を制御する制御装置の一部の一実施形態を例示的に示す。
【0137】
図3に示すように、ロボットまたは仮想アバターなどの対象物の運動を制御する制御装置は、運動生成器4と、逆および/または順運動学モジュール8とを備えてよい。
【0138】
運動生成器ならびに逆および/または順運動学モジュールに関する第1の態様およびその実装形態による方法の上記説明、ならびに運動生成器ならびに逆および/または順運動学モジュールに関する第2の態様およびその実装形態による制御装置の上記説明は、対応して運動生成器4ならびに逆および/または順運動学モジュール8にも有効である。
【0139】
運動生成器4は、運動プリミティブ(MP)およびMP有効化に基づいて出力運動情報を生成するように構成される。詳細には、運動生成器4は、MPおよびMP有効化に基づいて目標運動情報を生成するように構成される。逆および/または順運動学モジュール8は、目標運動情報と、対象物の1つまたは複数の関節角度および1つまたは複数の骨長などの、対象物の物理的制約とに基づいて出力運動情報を生成するように構成される。
【0140】
目標運動情報は、現在の運動タイプかつ目標スタイルの目標運動を記述することができる。目標運動情報に基づいて生成された出力運動情報は、対象物の物理的制約を考慮に入れながら、現在の運動タイプかつ目標スタイルの目標運動を記述してよい。
【0141】
出力運動情報を生成するために運動生成器4に入力されるMPは、図2に示すMP生成器3によって生成されるMP(変更後MP)に対応してよい。出力運動情報によって記述される運動のスタイルは、目標スタイルを示す目標統計に基づいて、図2のMP生成器3などのMP生成器によって生成されるMPによって設定されてよい。出力運動情報によって記述される運動の運動タイプは、MP有効化によって設定されてよい。出力運動情報が目標運動、すなわち(入力運動情報の)現在の運動タイプかつ目標スタイルの運動、を記述するために、MP有効化は最適化処理によって生成されてよい。そのような最適化処理に必要な要素が図4に示される。
【0142】
現在の運動タイプかつ目標スタイルの目標運動を提供するMP有効化を生成するために行われ得る最適化処理の一実施形態は、図9に関して例示的に説明される。
【0143】
図4は、ロボットまたは仮想アバターなどの対象物の運動を制御する制御装置の一部の一実施形態を例示的に示す。
【0144】
図4に示す制御装置の一部は、図2および図3の部分を含み、図2のMP生成器3が、図3の運動生成器4にMPを提供する。したがって、図1~3の上記の説明は、図4の制御装置の一部にも有効であり、以下では違いのみが解説される。図4に示すように、制御装置は、図2および図3の要素に加えて、第2の運動統計モジュールと呼ばれることもある運動統計モジュール7と、損失関数モジュール5と、最適化器6とを備える。
【0145】
第2の運動統計モジュール、損失関数モジュールおよび最適化器に関する第1の態様およびその実装形態による方法の上記説明、ならびに第2の運動統計モジュール、損失関数モジュールおよび最適化器に関する第2の態様およびその実装形態による制御装置の上記説明は、対応して第2の運動統計モジュール7、損失関数モジュール5および最適化器6にも有効である。
【0146】
第2の運動統計モジュール7は、逆および/または順運動学モジュール8によって生成された出力運動情報に基づいて出力統計を生成するように構成される。逆および/または順運動学モジュール8は、任意選択の要素である。逆および/または順運動学モジュール8が存在しない場合は、運動生成器4によって生成された目標運動情報が、出力運動情報として第2の統計モジュール7に入力される。
【0147】
いずれの場合も、図4に従い、出力運動情報、出力統計、入力運動情報、および目標統計が、損失関数モジュール5に入力される。
【0148】
損失関数モジュール5は、入力運動情報および出力運動情報に基づいて損失値を生成するように構成され、損失値は、出力運動情報の運動タイプと、入力運動情報の運動タイプ(現在の運動タイプ)との間の差を示す。損失関数モジュール5は、出力運動情報、出力統計、入力運動情報および目標統計に基づいて損失値を生成するように構成されてよく、損失値は、出力運動情報の運動タイプと、入力運動情報の運動タイプ(現在の運動タイプ)との間の差を示し、損失値は、出力運動情報のスタイルと目標スタイルとの間の差を示す。
【0149】
最適化器6は、損失値に基づいてMP有効化を最適化するように構成される。運動生成器4、任意選択の逆および/または順運動学モジュール8、運動統計モジュール7、損失関数モジュール5、ならびに最適化器6によって実行される最適化処理は、損失関数モジュール5によって生成された損失値が閾値よりも小さくなるまで反復それぞれ繰り返される。初回の反復では、出力運動情報は、目標スタイルに応じたMPおよび任意のMP有効化に基づいて生成される。運動生成器4は、逆および/または順運動学モジュール8と共に、またはそれを用いずに、MPおよびMP有効化に基づいて出力運動情報を生成するように構成され、MPは、目標統計に基づいてMP生成器3によって生成され、よって目標スタイルに応じたMPに対応する。
【0150】
図5は、第1の態様またはその実装形態のいずれかによる方法によって使用されるスタイル統計予測器の第1のフィードフォワードニューラルネットワーク(FFNN)を訓練する方法の一実施形態の流れ図を例示的に示す。
【0151】
図5に示すように、ステップS51で、M人(M≧1、好ましくはM≧10)の人の運動を記録することにより訓練データが生成され、ここで、M人の人は各々、モーションキャプチャそれぞれモーショントラッキングを使用して、E種類の異なるスタイル(E≧2、ニュートラルスタイル、若い、年老いた、楽しい、怒っている、悲しい等)で、F種類の異なる運動タイプ(F≧1、歩行する、踊る、走る、跳ぶ、顔の表情をする、ジェスチャをする等)を行う。好ましくは、モーションキャプチャそれぞれモーショントラッキングは、M人の各人の身体にある反射マーカを使用して実行される。
【0152】
ステップS51に続くステップS52で、訓練データが、入力運動情報の形態で運動統計モジュールに入力され、入力運動情報は、それぞれの人がそれぞれの運動タイプおよびそれぞれのスタイルに従って動いたときのその人の運動を記述する。運動統計モジュールは、第1の態様の実装形態による方法で使用される第1の運動統計モジュールに対応する。詳細には、運動統計モジュールは、図1~4に示される運動統計モジュール2であってよい。
【0153】
入力運動情報は、長さNの時系列の行列X1:Nのデータを備えるかまたはそれに対応する。データは、制御される対象物(ロボットまたは仮想アバター)の自由度に対応するxyz位置であり、行列Xは、次元(k×3)であり、kは、対象物の自由度の数である。すなわち、時間点t=1~Nごとに、行列X1:Nは、対象物の自由度に対応するxyz位置を備える。
【0154】
ステップS52に続くステップS53で、運動統計モジュールは、各人の各運動タイプの各スタイルに対して、それぞれの運動タイプおよびそれぞれのスタイルに従ったそれぞれの人の運動を記述するそれぞれの入力運動情報に基づいて、入力統計を生成する。入力統計は、それぞれのデータX1:Nの自由度に対応するxyz位置の平均および/または分散であってよい。ステップS53で、各人の各運動タイプの各スタイルに対して、それぞれの訓練データに基づいて入力統計が生成される。よって、各運動タイプの各スタイルに対して、M個の入力統計が生成される。
【0155】
ステップS53に続くステップS54で、各運動タイプの各スタイルに対して、それぞれの運動タイプおよびスタイルに応じたM人の異なる人の運動から生じたM個の入力統計が、スタイル統計予測器の第1のフィードフォワードニューラルネットワーク(FFNN)に入力される。第1のFFNNは、確率的ニューラルネットワーク(PNN)であってよい。詳細には、第1のFFNNは、図1~4に示されるスタイル統計予測器1の第1のFFNNであってよい。
【0156】
ステップS54に続くステップS55で、それぞれの運動タイプおよびスタイルとの、各運動タイプの各スタイルに対応するM個の入力統計の関連付けが、第1のFFNNに教示される。これは、1つまたは複数のアルゴリズムが、関連付けを算出すること、および/または、関連付けを、好ましくは1つまたは複数の参照表の形態でデータストレージに記憶して必要時に関連付けを検索することを可能にすることによって行われてよい。その結果、第1のFFNNネットワークは、異なる運動タイプおよび異なるスタイルの異なる入力統計同士を区別することを学習する。
【0157】
図6は、訓練後のスタイル統計予測器の第1のフィードフォワードニューラルネットワーク(FFNN)の機能の一実施形態の流れ図を例示的に示し、スタイル統計予測器は、第1の態様またはその実装形態のいずれかによる方法によって使用される。詳細には、第1のFFNNは、図1~4に示されるスタイル統計予測器1の第1のFFNNであってよい。
【0158】
例えば図5に示される方法による、スタイル統計予測器の第1のFFNNの訓練後、スタイル統計予測器は、以下のステップにより、目標スタイルの目標運動に関する目標統計を生成することができる。
【0159】
図6に示すように、ステップS61で、「歩行」などの現在の運動タイプ、かつ「楽しい」などの現在のスタイルである現在の運動を記述する入力運動情報が、運動統計モジュール(例えば第1の運動統計モジュール)に入力される。ステップS61に続くステップS62で、運動統計モジュールは、入力運動情報に基づいて、現在の運動(例えば、楽しそうな歩行の運動、すなわち、現在の運動タイプが「歩行」であり、現在のスタイルが「楽しい」である)を示す対応する入力統計を生成する。入力統計は、現在の運動タイプおよび現在のスタイルを示す。
【0160】
ステップS62に続くステップS63で、生成された入力統計および「悲しい」などの目標スタイルが、スタイル統計予測器の第1のFFNNに入力される。
【0161】
ステップS63に続くステップS64で、異なる入力統計と、運動タイプとスタイルのそれぞれの組み合わせとの間の学習された関連付けを使用することにより、第1のFFNNが、現在の運動、すなわち現在の運動タイプ(例えば「歩行」)および現在のスタイル(例えば「楽しい」)、を示す入力統計を、目標統計に合わせて適合または変更する。目標統計は、現在の運動(すなわち現在の運動タイプ、例えば「歩行」)と同じ運動タイプの目標運動を示すが、現在のスタイル(例えば「楽しい」)に代えて目標スタイル(例えば「悲しい」)を示す。
【0162】
目標統計は、例えば、データX1:Nの自由度に対応するxyz位置の平均および/または分散であってよく、これは、入力運動情報(現在の運動タイプ)と同じ運動タイプと、目標スタイルに対応するスタイルとを有する目標運動を記述する。
【0163】
第1のFFNNが確率的ニューラルネットワーク(PNN)である場合、目標統計は、範囲それぞれ分布、例えば、データX1:Nの自由度に対応するxyz位置の平均および/または分散の分布、に対応し得、分布は、目標統計によって示される運動が、現在の運動タイプおよび目標スタイルに応じた目標運動に対応する確率を記述する。
【0164】
ステップS64に続くステップS65で、第1のFFNNは、目標統計、すなわち、現在の運動タイプかつ目標スタイルである目標運動(例えば、悲しそうな歩行の運動、すなわち、現在の運動タイプ「歩行」および目標スタイル「悲しい」)に関する統計を出力する。
【0165】
図7は、第1の態様による方法の実施形態によって使用される運動プリミティブ(MP)生成器の第2のフィードフォワードニューラルネットワーク(FFNN)を訓練する方法の一実施形態の流れ図を例示的に示す。
【0166】
図7に示すように、ステップS71で、第1の態様またはその実装形態のいずれかによる方法によって使用されるスタイル統計予測器が、G個の異なる目標スタイル(G≧2、ニュートラルスタイル、若い、年老いた、楽しい、怒っている、悲しい等)、およびE個の異なる現在のスタイル(E≧1、ニュートラルスタイル、若い、年老いた、楽しい、怒っている、悲しい等)である、F個の異なる現在の運動タイプ(F≧1、歩行する、踊る、走る、跳ぶ、顔の表情をする、ジェスチャをする等)に基づいて、それぞれの運動タイプおよび目標スタイルを示す目標統計を生成する。
【0167】
ステップS71に続くステップS72で、各現在の運動タイプの各現在のスタイルおよび各目標スタイルについて、対応する目標統計が、運動プリミティブ(MP)生成器の第2のフィードフォワードニューラルネットワーク(FFNN)に入力される。
【0168】
ステップS72に続くステップS73で、それぞれの運動プリミティブ(MP)との目標統計の関連付けが第2のFFNNに教示される。これは、1つまたは複数のアルゴリズムが、関連付けを算出すること、および/または、関連付けを、好ましくは1つまたは複数の参照表の形態でデータストレージに記憶して必要時に関連付けを検索することを可能にすることによって行われてよい。
【0169】
その結果、第2のFFNNは、異なる運動タイプおよび異なるスタイルの異なる目標統計同士を区別することを学習すると共に、それに応じてどのようにMPを変更するかを学習する。
【0170】
図8は、訓練後の運動プリミティブ(MP)生成器の第2のフィードフォワードニューラルネットワーク(FFNN)の機能の一実施形態の流れ図を例示的に示し、MP生成器は、第1の態様による方法の実装形態によって使用される。
【0171】
MP生成器の第2のFFNNの訓練後、MP生成器は、MPが、目標スタイルでロボットの運動を生成するために対象物によって行われ得るすべての可能な個々の運動を表す基本要素運動形状に対応するように、目標スタイルに応じたMPを生成してよい。運動タイプは、運動プリミティブ(MP)の有効化によって制御される。MP有効化は、現在の運動タイプの運動を生成するために、どのMPが、したがって、対象物の可能な個々の運動のうちどれが行われるべきかを決定する。MPは目標スタイルに従って生成されるため、生成された現在の運動タイプの運動は目標スタイルになる。以下のステップが行われる。
【0172】
図8に示すように、ステップS81で、「歩行」などの現在の運動タイプおよび「悲しい」などの目標スタイルを示す目標統計が、第2のFFNNに入力される。
【0173】
ステップS81に続くステップS82で、現在の運動タイプおよび「楽しい」などの現在のスタイルを示す入力統計が第2のFFNNに入力される。
【0174】
ステップS82に続くステップS83で、第2のFFNNが、入力統計および目標統計に基づいて現在の運動タイプ(運動の内容)を決定すると共に、目標統計に基づいて目標スタイルを決定して、目標スタイルにある現在の運動タイプの運動のためのMPを生成する。
【0175】
ステップS83に続くステップS84で、第2のFFNNが、入力統計および目標統計に基づいて、詳細には決定された現在の運動タイプおよび決定された目標スタイルに基づいて、現在のスタイルに応じたMPを、目標スタイルに応じたMPに変更する。
【0176】
したがって、ステップS83およびS84で、第2のFFNNは、異なる目標統計とそれぞれのMPとの間の学習された関連付けを使用して、入力統計および目標統計に基づいて、目標スタイルに応じたMPを生成する。目標スタイルに応じたMPは、目標スタイルに従って動くために対象物によって行われ得るすべての可能な個々の運動を表す基本要素運動形状である。
【0177】
ステップS82は任意選択のステップである。したがって、ステップS82は省略されてよく、ステップS81の後にステップS83が続いてよい。この場合、ステップS83で、第2のFFNNは、目標統計に基づいて現在の運動タイプ(運動の内容)を決定すると共に、目標統計に基づいて目標スタイルを決定して、目標スタイルにある現在の運動タイプの運動のためのMPを生成する。また、ステップS83に続くステップS84で、第2のFFNNは、目標統計に基づいて、詳細には決定された現在の運動タイプおよび決定された目標スタイルに基づいて、現在のスタイルに応じたMPを、目標スタイルに応じたMPに変更する。
【0178】
したがってステップS81の後にステップS83が続く場合は、ステップS83およびS84で、第2のFFNNが、異なる目標統計とそれぞれのMPとの間の学習された関連付けを使用して、目標統計に基づいて、目標スタイルに応じたMPを生成する。
【0179】
ステップS84に続くステップS85で、MP生成器の第2のFFNNは、目標スタイルに応じたMPを出力する。これらのMPは、変更後MPと呼ばれることがある。
【0180】
図9は、第1の態様による方法の実装形態の一実施形態による最適化処理の方法ステップの流れ図を例示的に示す。
【0181】
図9に示すように、ステップS91で、最適化処理は、目標スタイルのためのMPが生成された後で、任意の運動プリミティブ(MP)有効化で開始される。これらのMPは、変更後MPまたは目標スタイルに応じたMPと呼ばれることがある。
【0182】
ステップS91に続くステップS92で、第1の態様による方法の実装形態で使用される運動生成器が、目標スタイルに応じたMPおよびMP有効化に基づいて、ある運動タイプ(MP有効化によって設定される)およびあるスタイルに応じた運動を記述する出力運動情報を生成し、当該スタイルは、目標スタイル(MPおよびMP有効化によって設定される)に対応しなければならない。
【0183】
ステップS92に続くステップS93で、第1の態様による方法の実装形態で使用される運動統計モジュール(第2の運動統計モジュール)が、生成された出力運動情報に基づいて、出力運動情報のデータの平均および/または分散などの出力統計を生成する。
【0184】
ステップS93に続くステップS94で、出力運動情報、出力統計、入力運動情報、および目標統計が、第1の態様による方法の実装形態で使用される損失関数モジュールに入力される。
【0185】
ステップS94に続くステップS95で、損失関数モジュールが、出力運動情報および入力運動情報に基づいて、出力運動情報の運動タイプが入力運動情報の現在の運動タイプとどれほどよく一致するかを判定する。すなわち、損失関数モジュールは、出力運動情報の運動タイプと、入力運動情報の現在の運動タイプとの間の差の度合いを判定する。
【0186】
また、ステップS95に続くステップS96で、損失関数モジュールは、出力統計および目標統計に基づいて、出力運動情報のスタイルが目標スタイルとどれほどよく一致するかを判定する。すなわち、損失関数モジュールは、出力運動情報のスタイルと目標スタイルとの間の差の度合いを判定する。
【0187】
ステップS96に続くステップS97で、損失関数モジュールは、運動タイプおよびスタイルに関する2つの判定された差に基づいて、最適化されたMP有効化を生成するために最適化器によって使用される損失値を生成する。損失値は、出力運動情報によって記述される運動、詳細には運動タイプおよびスタイルが、目標運動、詳細には現在の運動タイプおよび目標スタイル、とどれほどよく一致するかを示す。
【0188】
ステップS93およびS96は、任意のステップである。それらは省略されてもよい。そのような場合、ステップS94がステップS92の後に続き、ステップS94で、出力運動情報および入力運動情報が損失関数モジュールに入力される。また、ステップS95がステップS94の後に続き、ステップS97がステップS95の後に続いてよく、ステップS97で、損失関数モジュールが、運動タイプに関する判定された差に基づいて、最適化されたMP有効化を生成するために最適化器によって使用される損失値を生成する。損失値は、出力運動情報によって記述される運動、詳細には運動タイプが、目標運動、詳細には現在の運動タイプ、とどれほどよく一致するかを示す。
【0189】
ステップS97に続くステップS98で、最適化器は、損失値に基づいて最適化されたMP有効化を生成する。最適化器は、損失値に基づいて最適化されたMP有効化を生成するために勾配降下アルゴリズムなどの1つまたは複数の最適化アルゴリズムを使用してよい。
【0190】
損失値が閾値より小さい場合、出力運動情報によって記述される運動と、目標運動との差が十分に低くなり、よって、最適化処理はステップS98の後に終了される。すなわち、損失値が閾値より小さい場合、出力運動情報の運動タイプと、入力運動情報の現在の運動タイプとの差が十分に低い。よって、出力運動情報の運動タイプが、入力運動情報の現在の運動タイプと十分に一致する。さらに、損失値が閾値より小さい場合、出力運動情報のスタイルと目標スタイルとの差が十分に低い。すなわち、出力運動情報のスタイルが目標スタイルと十分に一致する。
【0191】
損失値が閾値以上である場合、方法はステップS98の後に再びステップS92に戻る。すなわち、ステップS92~S98が反復される。ステップS92~S98は、損失値が閾値より小さくなるまで反復される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【外国語明細書】