(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】二足歩行ロボットの動作データ生成システム、動作データ生成方法、及び動作データ生成プログラム
(51)【国際特許分類】
B25J 5/00 20060101AFI20240820BHJP
B25J 9/22 20060101ALI20240820BHJP
【FI】
B25J5/00 F
B25J9/22 A
(21)【出願番号】P 2021051969
(22)【出願日】2021-03-25
【審査請求日】2023-09-12
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】山本 一哉
【審査官】神山 貴行
(56)【参考文献】
【文献】特開2006-198709(JP,A)
【文献】特開2005-125460(JP,A)
【文献】特開2008-036761(JP,A)
【文献】特開2002-301674(JP,A)
【文献】特開2002-210679(JP,A)
【文献】特開2012-223864(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
上半身、腰、及び下半身を備え
、下半身は2本の脚を有する
二足歩行ロボットの動作データ生成システムであって、
被験者の上半身の動作からキャプチャされた上半身動作データと、前記被験者の腰の動作からキャプチャされたキャプチャ腰動作データとを取得する被験者動作データ取得部と、
ユーザが手動入力によって生成した、下半身動作データ及び手動生成腰動作データを取得する手動生成動作データ取得部と、
脚状態判定部と、腰動作データ生成部とを含むロボット動作制御部と、を備え、
前記脚状態判定部は、前記
二足歩行ロボットの少なくとも一方の足が遊脚状態であるか、又は前記
二足歩行ロボットの両足が立脚状態であるかを判定し、
前記腰動作データ生成部は、前記脚状態判定部が、前記
二足歩行ロボットの少なくとも一方の足が遊脚状態であると判定した場合、前記手動生成腰動作データをロボット腰動作データとして生成し、
前記腰動作データ生成部は、前記脚状態判定部が、前記
二足歩行ロボットの両足が立脚状態であると判定した場合、前記キャプチャ腰動作データを前記ロボット腰動作データとして生成し、
前記ロボット動作制御部は、前記上半身動作データ、前記ロボット腰動作データ、及び前記下半身動作データに基づいて、前記
二足歩行ロボットの上半身、腰、及び下半身をそれぞれ制御する、
二足歩行ロボットの動作データ生成システム。
【請求項2】
前記
二足歩行ロボットの両足が立脚状態である立脚期から、前記
二足歩行ロボットの少なくとも一方の足が遊脚状態である遊脚期へ遷移する遷移期において、
前記腰動作データ生成部は、前記手動生成腰動作データと前記キャプチャ腰動作データとを合成して、前記ロボット腰動作データを生成する、
ことを特徴とする請求項1に記載の
二足歩行ロボットの動作データ生成システム。
【請求項3】
前記遷移期が開始して終了するまで、前記合成によって生成されたロボット腰動作データにおいて、前記キャプチャ腰動作データに対して前記手動生成腰動作データを参照する参照比率を徐々に増加させる、
ことを特徴とする請求項2に記載の
二足歩行ロボットの動作データ生成システム。
【請求項4】
上半身、腰、及び下半身を備え
、下半身は2本の脚を有する
二足歩行ロボットの動作データ生成システムにおいて実行される
二足歩行ロボットの動作データ生成方法であって、
被験者の上半身の動作からキャプチャされた上半身動作データと、前記被験者の腰の動作からキャプチャされたキャプチャ腰動作データとを取得するステップと、
ユーザが手動入力によって生成した、下半身動作データ及び手動生成腰動作データを取得するステップと、
前記
二足歩行ロボットの少なくとも一方の足が遊脚状態であるか、又は前記
二足歩行ロボットの両足が立脚状態であるかを判定するステップと、
前記
二足歩行ロボットの少なくとも一方の足が遊脚状態であると判定した場合、前記手動生成腰動作データをロボット腰動作データとして生成し、前記
二足歩行ロボットの両足が立脚状態であると判定した場合、前記キャプチャ腰動作データを前記ロボット腰動作データとして生成するステップと、
前記上半身動作データ、前記ロボット腰動作データ、及び前記下半身動作データに基づいて、前記
二足歩行ロボットの上半身、腰、及び下半身をそれぞれ制御するステップと、を含む、
二足歩行ロボットの動作データ生成方法。
【請求項5】
上半身、腰、及び下半身を備え
、下半身は2本の脚を有する
二足歩行ロボットの動作データ生成システムにおいて演算装置として動作するコンピュータに実行される動作データ生成プログラムであって、
被験者の上半身の動作からキャプチャされた上半身動作データと、前記被験者の腰の動作からキャプチャされたキャプチャ腰動作データとを取得するステップと、
ユーザが手動入力によって生成した、下半身動作データ及び手動生成腰動作データを取得するステップと、
前記
二足歩行ロボットの少なくとも一方の足が遊脚状態であるか、又は前記
二足歩行ロボットの両足が立脚状態であるかを判定するステップと、
前記
二足歩行ロボットの少なくとも一方の足が遊脚状態であると判定した場合、前記手動生成腰動作データをロボット腰動作データとして生成し、
前記二足歩行ロボットの両足が立脚状態であると判定した場合、前記キャプチャ腰動作データを前記ロボット腰動作データとして生成するステップと、
前記上半身動作データ、前記ロボット腰動作データ、及び前記下半身動作データに基づいて、前記
二足歩行ロボットの上半身、腰、及び下半身をそれぞれ制御するステップと、を実行させる、
二足歩行ロボットの動作データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はロボットの動作データ生成システム、動作データ生成方法、及び動作データ生成プログラムに関し、特に、人型ロボットの動作データ生成システム、動作データ生成方法、及び動作データ生成プログラムに関する。
【背景技術】
【0002】
特許文献1に開示の動作データ生成システムでは、被験者の動作から動作データを取得する。人型ロボットは、この動作データに基づいて、動作することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願発明者等は、以下の課題を発見した。
ロボットは、その部位によって、そのロボット自体の最大性能で動作させることが要求されることがある。上記した動作データ生成システムによる動作データでは、ロボットの動作は、被験者の動作によって制限される。そのため、ロボットをその部位によって、そのロボット自体の性能を十分に発揮した動作ができないことがあった。
【0005】
本発明は、上述した課題を鑑み、ロボット自体の性能を十分に発揮した動作が可能な動作データを生成するロボットの動作データ生成システム、動作データ生成方法、及び動作データ生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係るロボットの動作データ生成システムは、
上半身、腰、及び下半身を備えるロボットの動作データ生成システムであって、
被験者の上半身の動作からキャプチャされた上半身動作データと、前記被験者の腰の動作からキャプチャされたキャプチャ腰動作データとを取得する被験者動作データ取得部と、
ユーザが手動入力によって生成した、下半身動作データ及び手動生成腰動作データを取得する手動生成動作データ取得部と、
脚状態判定部と、腰動作データ生成部とを含むロボット動作制御部と、を備え、
前記脚状態判定部は、前記ロボットの少なくとも一方の足が遊脚状態であるか、又は前記ロボットの両足が立脚状態であるかを判定し、
前記腰動作データ生成部は、前記脚状態判定部が、前記ロボットの少なくとも一方の足が遊脚状態であると判定した場合、前記手動生成腰動作データをロボット腰動作データとして生成し、
前記腰動作データ生成部は、前記脚状態判定部が、前記ロボットの両足が立脚状態であると判定した場合、前記キャプチャ腰動作データを前記ロボット腰動作データとして生成し、
前記ロボット動作制御部は、前記上半身動作データ、前記ロボット腰動作データ、及び前記下半身動作データに基づいて、前記ロボットの上半身、腰、及び下半身をそれぞれ制御する。
【0007】
このような構成によれば、ロボットの少なくとも一方の足が遊脚状態である場合、ロボットの腰を手動生成腰動作データに基づいて動作させる。そのため、ロボットがバランスを崩しにくく、ロボット自体の性能に応じた動作をさせることができる。
【0008】
また、前記ロボットの両足が立脚状態である立脚期から、前記ロボットの少なくとも一方の足が遊脚状態である遊脚期へ遷移する遷移期において、
前記腰動作データ生成部は、前記手動生成腰動作データと前記キャプチャ腰動作データとを合成して、前記ロボット腰動作データを生成することを特徴としてもよい。
【0009】
このような構成によれば、遷移期におけるロボット腰動作データは、手動生成腰動作データと前記キャプチャ腰動作データとを合成されたものである。よって、ロボットの腰の位置が上半身、及び下半身に対して大きく変位することを抑制する。つまり、ロボットの腰が不自然な動作をすることを抑制する。
【0010】
前記遷移期が開始して終了するまで、前記合成によって生成されたロボット腰動作データにおいて、前記キャプチャ腰動作データに対して前記手動生成腰動作データを参照する参照比率を徐々に増加させることを特徴としてもよい。
【0011】
このような構成によれば、遷移期において、キャプチャ腰動作データに基づく腰の動作の特徴を確保しつつ遊脚期へ遷移することができる。よって、ロボットの腰の位置が上半身、及び下半身に対して大きく変位することを抑制する。
【0012】
本発明に係る動作データ生成方法は、
上半身、腰、及び下半身を備えるロボットの動作データ生成システムにおいて実行されるロボットの動作データ生成方法であって、
被験者の上半身の動作からキャプチャされた上半身動作データと、前記被験者の腰の動作からキャプチャされたキャプチャ腰動作データとを取得するステップと、
ユーザが手動入力によって生成した、下半身動作データ及び手動生成腰動作データを取得するステップと、
前記ロボットの少なくとも一方の足が遊脚状態であるか、又は前記ロボットの両足が立脚状態であるかを判定するステップと、
前記ロボットの少なくとも一方の足が遊脚状態であると判定した場合、前記手動生成腰動作データをロボット腰動作データとして生成し、前記ロボットの両足が立脚状態であると判定した場合、前記キャプチャ腰動作データを前記ロボット腰動作データとして生成するステップと、
前記上半身動作データ、前記ロボット腰動作データ、及び前記下半身動作データに基づいて、前記ロボットの上半身、腰、及び下半身をそれぞれ制御するステップと、を含む。
【0013】
このような構成によれば、ロボットの少なくとも一方の足が遊脚状態である場合、ロボットの腰を手動生成腰動作データに基づいて動作させる。そのため、ロボットがバランスを崩しにくく、ロボット自体の性能に応じた動作をさせることができる。
【0014】
本発明に係る動作データ生成プログラムは、上半身、腰、及び下半身を備えるロボットの動作データ生成システムにおいて演算装置として動作するコンピュータに実行される動作データ生成プログラムであって、
被験者の上半身の動作からキャプチャされた上半身動作データと、前記被験者の腰の動作からキャプチャされたキャプチャ腰動作データとを取得するステップと、
ユーザが手動入力によって生成した、下半身動作データ及び手動生成腰動作データを取得するステップと、
前記ロボットの少なくとも一方の足が遊脚状態であるか、又は前記ロボットの両足が立脚状態であるかを判定するステップと、
前記ロボットの少なくとも一方の足が遊脚状態であると判定した場合、前記手動生成腰動作データをロボット腰動作データとして生成し、ロボットの両足が立脚状態であると判定した場合、前記キャプチャ腰動作データを前記ロボット腰動作データとして生成するステップと、
前記上半身動作データ、前記ロボット腰動作データ、及び前記下半身動作データに基づいて、前記ロボットの上半身、腰、及び下半身をそれぞれ制御するステップと、を実行させる。
【0015】
このような構成によれば、ロボットの少なくとも一方の足が遊脚状態である場合、ロボットの腰を手動生成腰動作データに基づいて動作させる。そのため、ロボットがバランスを崩しにくく、ロボット自体の性能に応じた動作をさせることができる。
【発明の効果】
【0016】
本発明は、ロボット自体の性能を十分に発揮した動作が可能な動作データを生成するロボットの動作データ生成システム、動作データ生成方法、及び動作データ生成プログラムを提供することができる。
【図面の簡単な説明】
【0017】
【
図1】実施の形態1に係る動作データ生成システムによって制御されるロボットの一構成例を示す模式図である。
【
図2】実施の形態1に係る動作データ生成システムの概略的なシステム構成を示すブロック図である。
【
図3】実施の形態1に係る動作データ生成システムの演算装置の概略的なシステム構成を示すブロック図である。
【
図4】被験者に取付けられたマーカーの位置と、各マーカー位置を小型又は足長の人型ロボット用にリターゲッティング処理した状態とを示す図である。
【
図5】実施の形態1に係る動作データ生成システムのロボット腰動作データの一例を示す図である。
【
図6】実施の形態1に係る動作データ生成システムの動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、本発明を適用した具体的な実施形態について、図面を参照しながら詳細に説明する。ただし、本発明が以下の実施形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【0019】
(実施の形態1)
図1~
図4を参照して実施の形態1について説明する。
図1は、実施の形態1に係る動作データ生成システムによって制御されるロボットの一構成例を示す模式図である。
【0020】
図1に示すように、ロボット100は、下半身103と、腰102と、上半身101とを備える。
【0021】
下半身103は、少なくとも2本の脚を備えるものであればよい。本実施の形態1に係る下半身103は、人の上腿、下腿、及び足にそれぞれ相当する構成を備える。下半身103は、腰102と、上半身101とを支持する。なお、下半身103は、2本の脚を備えるが、3本以上の脚を備えてもよい。
【0022】
腰102は、下半身103と上半身101とをつなぐ。腰102は、例えば、姿勢を変化する動作を行う。当該姿勢は、関節の三次元位置、及び回転を含む。
【0023】
上半身101は、人の頭、首、胴体、腕、手、及び指の少なくとも1つに相当する構成を備えてもよい。本実施の形態1に係る上半身101は、人の頭、胴体、腕、及び手にそれぞれ相当する構成を備える。
【0024】
図2は、実施の形態1に係る動作データ生成システムの概略的なシステム構成を示すブロック図である。本実施の形態1に係る動作データ生成システム10は、モーションキャプチャ装置1と、演算装置2とを備えている。モーションキャプチャ装置1は、被験者の動作からその動作データを取得する。演算装置2は、モーションキャプチャ装置1により取得された動作データに基づいて、二足歩行ロボットなどの人型ロボット(ヒューマノイドロボット)の動作データを生成する。動作データ生成システム10は、被験者の動作により近い、自然な人型ロボットの動作データを生成することができる。
【0025】
モーションキャプチャ装置1は、被験者の上半身及び腰の各関節位置を取得する装置であればよい。モーションキャプチャ装置1は、さらに、被験者の上半身及び腰の各関節の角度も取得してもよい。モーションキャプチャ装置1は、トラッカー、センサ、カメラ画像等を用いてもよい。本実施の形態1に係るモーションキャプチャ装置1は、複数のマーカー11と、各マーカー11の位置を検出するトラッカー12と、複数の足裏接触センサ13と、トラッカー12で検出された各マーカー11の動作及び足裏接触センサ13の出力信号(床反力情報など)を処理する処理部14と、を有している。
【0026】
各マーカー11は、被験者H1の動作を測定(キャプチャ)する着目部位に、夫々取付けられる(
図4参照)。当該着目部位は、被験者H1の上半身、及び腰を少なくとも含み、例えば、肘、肩、頭、腕、首、手、手指等である。トラッカー12は、所定の周期で各マーカー11の位置を検出し、トラッカー12で検出された各マーカー11の位置は処理部14に入力される。このようにして、被験者の着目部位の動作データが取得される。処理部14は、検出されたマーカー11の位置データに対して所定処理を行い演算装置2に対して、その処理した動作データ(モーションキャプチャデータ)を出力する。
【0027】
演算装置2は、モーションキャプチャ装置1により取得された被験者の動作データに基づいて、その被験者の動作により近い、自然な人型ロボットの動作データを生成する。
図3は、本実施の形態1に係る動作データ生成システム10の演算装置2の概略的なシステム構成を示すブロック図である。本実施の形態1に係る演算装置2は、スケーリング部21と、被験者動作データ取得部22と、手動生成動作データ取得部23と、ロボット動作制御部24とを備える。
【0028】
なお、演算装置2は、適宜、データ補正部、第1逆運動学演算部、目標ZMP(Zero Moment Point)算出部、目標重心軌道算出部、及び第2逆運動学演算部の少なくとも1つをさらに備えてもよい。当該データ補正部は、スケーリング部21によりリターゲッティング処理された動作データに対して、足先の接地状態などの補正処理を行う。当該第1逆運動学演算部は、上記リターゲッティング処理及び補正処理された動作データに基づいて、人型ロボットの全身における逆運動学演算を行い人型ロボットの各関節角度列(各関節角度の時系列データ)を算出する。また、当該第1逆運動学演算部は、その算出した各関節角度列に基づいて、動的安定化前の人型ロボットのZMP軌道、重心軌道、重心の角運動量軌道などを算出する。当該目標ZMP算出部は、目標ZMP算出手段の一具体例であり、上記第1逆運動学演算部により算出されたZMP軌道に基づいて、人型ロボットの動作を安定化させるための目標ZMP軌道を算出する。当該目標重心軌道算出部は、目標重心軌道算出手段の一具体例であり、当該第1逆運動学演算部により算出されたZMP軌道と、当該目標ZMP算出部により算出された目標ZMP軌道と、に基づいて、目標重心軌道を算出する。当該第2逆運動学演算部は、第2逆運動学演算手段の一具体例であり、当該目標重心軌道算出部により算出された目標重心軌道に基づいて、人型ロボットの全身における逆運動学演算を行い、人型ロボットの各関節角度列を算出する。この算出した人型ロボットの各関節角度列を動作データの一部として利用することができる。
【0029】
なお、演算装置2は、例えば、演算処理等と行うCPU(Central Processing Unit)2aと、CPU2aによって実行される演算プログラム等が記憶されたROM(Read Only Memory)2bと、処理データ等を一時的に記憶するRAM(Random Access Memory)2cと、を有するマイクロコンピュータを中心にして、ハードウェア構成されている。また、これらCPU2a、ROM2b、及びRAM2cは、データバス2dによって相互に接続されている。
【0030】
スケーリング部21は、スケーリング手段の一具体例であり、被験者の動作データを、実際に動作させる人型ロボットに適応させるために、モーションキャプチャ装置1からの動作データに対して、周知のリターゲッティング処理を行う。モーションキャプチャ装置1により取得された動作データは、被験者の各部位の長さに基づいた動作となっており、着目部位の情報(例えば、動作データとして利用したい上半身や腰の位置姿勢や任意関節の角度など)を、その状態のまま人型ロボットに適用することができない為に、このリターゲッティング処理を行う。
【0031】
スケーリング部21は、例えば、適用する人型ロボットの各リンク長と、被験者の対応する部位の長さと、の比から人型ロボットの各リンクの倍率を夫々決定して、リターゲッティング処理を行う。
【0032】
例えば、
図4に示すように、被験者H1に取付けられた各マーカー11の位置(着目部位の位置)をリターゲッティング処理すると、ロボット100の一例であるロボット100aが小型である場合、動作データにおいて各マーカー11に対応する各マーカー11aは、相互に接近する。また、ロボット100の一例であるロボット100bは、長い脚を備える。ロボット100bの動作データにおける各マーカー11に対応する各マーカー11bは、ロボット100aの動作データにおけるそれと比較して、相互に離隔する。
【0033】
被験者動作データ取得部22は、スケーリング部21がリターゲッティング処理した動作データを取得する。この取得した動作データは、被験者H1の上半身の動作からキャプチャされた上半身動作データと、被験者H1の腰の動作からキャプチャされたキャプチャ腰動作データとを含む。
【0034】
手動生成動作データ取得部23は、ユーザが手動入力によって生成した、下半身動作データ及び手動生成腰動作データを取得する。この下半身動作データ及び手動生成腰動作データは、演算装置2のROM2bから取得してもよく、ユーザがインターフェイス等を介して手動入力されることによって取得してもよい。この下半身動作データは、ステップパターン、足の姿勢、及びこれらを成立させる腰102の姿勢を含む。
【0035】
ロボット動作制御部24は、ロボット100の上半身101、腰102、及び下半身103を制御する。ロボット動作制御部24は、脚状態判定部25と、腰動作データ生成部26とを含む。
【0036】
ここで、ロボット100が動作している間、少なくとも一方の足が遊脚状態である遊脚期がある。また、ロボット100の両足が立脚状態である立脚期がある。多くの場合、ロボット100の動作している間、当該遊脚期と、当該立脚期とが交互に繰り返す。
【0037】
脚状態判定部25は、ロボット100の少なくとも一方の足が遊脚状態であるか、ロボット100の両足が立脚状態であるかを判定する。具体的には、脚状態判定部25は、手動生成動作データ取得部23が取得した下半身動作データに基づいて、ロボット100の少なくとも一方の足が遊脚状態であるか否かを判定することができる。より具体的には、脚状態判定部25は、当該下半身動作データにおける時刻に応じて、時刻毎にロボット100の少なくとも一方の足が遊脚状態であるか否かを判定する。脚状態判定部25は、ロボット100の少なくとも一方の足が遊脚状態であるか否かを判定して、現時刻において遊脚期又は立脚期のいずれかであるかを推定する。
【0038】
脚状態判定部25が、ロボット100の少なくとも一方の足が遊脚状態であると判定した場合、腰動作データ生成部26は手動生成腰動作データを選択し、この手動生成腰動作データをロボット腰動作データとして生成する。一方、脚状態判定部25が、ロボット100の両足が立脚状態であると判定した場合、腰動作データ生成部26はキャプチャ腰動作データを選択し、このキャプチャ腰動作データをロボット腰動作データとして生成する。
【0039】
ロボット動作制御部24は、ロボット腰動作データに基づいて、ロボット100の腰102を動作させる。言い換えると、ロボット動作制御部24は、遊脚期において、腰102を手動生成腰動作データに基づいて動作させる。また、ロボット動作制御部24は、立脚期において、腰102をキャプチャ腰動作データに基づいて動作させる。ロボット動作制御部24は、立脚期から遊脚期へ遷移する遷移期において、腰102の動作を、キャプチャ腰動作データから基づく動作から手動生成腰動作データに基づく動作へ滑らかに遷移させるとよい。遷移期は、立脚期側に設けられるとよい。
【0040】
ここで、
図5に、実施の形態1に係る動作データ生成システムのロボット腰動作データの一例を示す。
図5に示すように、腰102は、原則、遊脚期において手動生成腰動作データに基づいて動作する。一方、腰102は、原則、立脚期においてキャプチャ腰動作データに基づいて動作する。また、腰102は、遷移期において、キャプチャ腰動作データに基づく動作から手動生成腰動作データに基づく動作へ滑らかに遷移するように動作する。
【0041】
腰動作データ生成部26は、手動生成腰動作データとキャプチャ腰動作データとを合成して、ロボット腰動作データを生成してもよい。ロボット動作制御部24は、立脚期から遊脚期へ遷移する遷移期において、この合成によって生成されたロボット腰動作データに基づいて、腰102を動作させてもよい。これによって、遷移期におけるロボット100の腰102の位置ずれによる急激な腰102の位置変化を抑制することができる。つまり、腰102が不自然な動作をすることを抑制する。
【0042】
合成データの生成方法の一具体例として、遷移期において、腰102の位置に対して、キャプチャ腰動作データ、又は手動生成腰動作データを参照する比率(以下、参照比率)を増減させる合成データの生成方法がある。遷移期が開始した時刻を遷移期開始時刻tsと、遷移期が終了した時刻を遷移期終了時刻teと設定する。具体的には、遷移期開始時刻tsにおいて、手動生成腰動作データに対してキャプチャ腰動作データを参照する参照比率を高く設定する。遷移期開始時刻tsから遷移期終了時刻teへ向かうにつれて、キャプチャ腰動作データに対して手動生成腰動作データを参照する参照比率を徐々に増加させる。このような合成データの生成方法の一具体例では、合成データの遷移期において、キャプチャ腰動作データに基づく腰102の動作の特徴をある程度残存させつつ遊脚期へ遷移することができてよい。
【0043】
このような合成データの生成方法の一具体例では、線形補間を用いることができる。この線形補間の一具体例として、以下の数式(1)を用いて、ロボット100の腰102の姿勢Ptを求める方法がある。言い換えると、ロボット100の腰102の姿勢Ptと、遷移期開始時刻t
sと、遷移期終了時刻t
eと、手動生成腰動作データに基づく腰102の姿勢Phtと、キャプチャ腰動作データに基づく腰102の姿勢Pctとの関係は、以下の数式(1)によって示される。
【数1】
【0044】
ロボット動作制御部24は、遊脚期から立脚期へ切り替わる場合、手動生成腰動作データに基づく腰102の動作を基準として、腰102の姿勢Prtを求める。このような場合、時刻tにおける腰102の姿勢Prtと、遊脚期から立脚期に切り替わる切替時刻t
cにおける腰102の姿勢Prt
cと、被験者H1の腰姿勢をロボット100サイズに規格化するための定数Aと、時刻tにおけるキャプチャ腰動作データに基づく腰102の姿勢Phtと、切替時刻t
cにおけるキャプチャ動作データに基づく腰102の姿勢Pht
cとの関係は、以下の数式(2)によって示される。つまり、腰102の姿勢Prtは、以下の数式(2)を用いて求めることができる。
【数2】
【0045】
ロボット動作制御部24は、被験者動作データ取得部22が取得した上半身動作データと、手動生成動作データ取得部23が取得した下半身動作データと、手動生成腰動作データと、キャプチャ腰動作データと、合成データとを組み合わせて、動作データを生成する。
【0046】
さらに、ロボット動作制御部24は、腰102の姿勢Prtにおけるロボット100の前後左右方向成分について、目標ZMP軌道に応じて安定化処理を行って、動作データを修正してもよい。なお、目標ZMP軌道は、上記したように、演算装置2が、データ補正部、第1逆運動学演算部、目標ZMP算出部等を備える場合、求めることができる。ロボット動作制御部24は、当該動作データに基づいて、制御信号を生成し、これをロボット100の上半身101、腰102、及び下半身103に送る。上半身101、腰102、及び下半身103は、それぞれ、制御信号に基づいて、動作を行うことができる。
【0047】
(動作の一例)
次に、
図6を参照して、実施の形態1に係る動作データ生成システムの動作の一例について説明する。
図6は、実施の形態1に係る動作データ生成システムの動作の一例における腰姿勢の生成方法の一例を示す図である。なお、
図6に示すフローチャートでは、3つのスイムレーンがそれぞれ、上半身、腰、及び下半身に割り当てられている。
【0048】
モーションキャプチャ装置1が被験者H1からキャプチャした上半身及び腰の動作データを取得する(ステップST11)。この取得した動作データは、上半身動作データ、及びキャプチャ腰動作データを含む。
【0049】
続いて、スケーリング部21が、ステップST11において取得した動作データをロボット100の身体サイズにスケーリングする(ステップST12)。
【0050】
ステップST11、ST12と並行して、手動生成動作データ取得部23が、下半身動作データ、及び手動生成腰動作データを取得する(ステップST13)。
【0051】
続いて、腰動作データ生成部26が、ロボット100の脚状態に応じて、腰動作データを生成する(ステップST14)。具体的には、脚状態判定部25がロボット100の脚状態を判定する。腰動作データ生成部26が、この判定結果に基づいて、腰動作データを生成する。
【0052】
続いて、ロボット100の動作データを生成する(ステップST2)。具体的には、ステップST11において取得した上半身動作データと、ステップST13において取得した下半身動作データと、ステップST14において取得した腰動作データとを組み合わせて、ロボット100の動作データを生成する。
【0053】
なお、ロボット動作制御部24は、腰102の姿勢Prtにおけるロボット100の前後左右方向成分について、目標ZMP軌道に応じて安定化処理を行って、動作データを修正してもよい(ステップST3)。このような場合、さらに、ステップST12と同様に、上記した上半身動作データ、下半身動作データ、ステップST3において修正した腰動作データとを組み合わせて、ロボット100の修正済み動作データを生成する(ステップST4)。
【0054】
以上より、ロボット100の動作データを生成することができる。ロボット動作制御部24は、動作データ、又は修正済み動作データに基づいて、上半身101、腰102、及び下半身103を動作させる。
【0055】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本発明は、上記実施の形態やその一例を適宜組み合わせて実施してもよい。本発明は、例えば、
図5及び6に示す処理を、CPU2aにコンピュータプログラムを実行させることにより実現することも可能である。上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータ(情報通知装置を含むコンピュータ)に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、この例は、CD-ROM(Read Only Memory)、CD-R、CD-R/Wを含む。さらに、この例は、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0056】
さらに、上述した様々な実施の形態において、動作データ生成システム10における処理の手順を説明したように、本開示は、動作データ生成システム10の制御方法としての形態も採り得る。また、上述のプログラムは、動作データ生成システム10にこのような制御方法を実行させるためのプログラムであると言える。
【符号の説明】
【0057】
10 動作データ生成システム
1 モーションキャプチャ装置
2 演算装置
22 被験者動作データ取得部 23 手動生成動作データ取得部
24 ロボット動作制御部 25 脚状態判定部
26 腰動作データ生成部
100、100a、100b ロボット
101 上半身 102 腰
103 下半身
H1 被験者
ST11、ST12、ST13、ST14、ST2、ST3、ST4 ステップ
t 時刻 tc 切替時刻
ts 遷移期開始時刻 te 遷移期終了時刻