JP2012223864A - 動作データ生成システム、及び動作データ生成方法 - Google Patents
動作データ生成システム、及び動作データ生成方法 Download PDFInfo
- Publication number
- JP2012223864A JP2012223864A JP2011094694A JP2011094694A JP2012223864A JP 2012223864 A JP2012223864 A JP 2012223864A JP 2011094694 A JP2011094694 A JP 2011094694A JP 2011094694 A JP2011094694 A JP 2011094694A JP 2012223864 A JP2012223864 A JP 2012223864A
- Authority
- JP
- Japan
- Prior art keywords
- trajectory
- target
- robot
- calculated
- gravity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】人型ロボットの動的安定化を図りつつ、被験者の自然な動作を反映した動作データを生成すること。
【解決手段】動作データ生成システムは、被験者の動作から動作データを取得する動作データ取得手段と、取得された動作データに基づいて、逆運動学演算を行いロボットの各関節角度を算出し、算出した各関節角度に基づいて、ロボットのZMP軌道を算出する第1逆運動学演算手段と、算出されたZMP軌道に基づいて、ロボットの動作を安定化させるための目標ZMP軌道を算出する目標ZMP算出手段と、第1逆運動学演算手段により算出されたZMP軌道と、目標ZMP算出手段により算出された目標ZMP軌道と、に基づいて、目標重心軌道を算出する目標重心軌道算出手段と、算出された目標重心軌道に基づいて、逆運動学演算を行い、ロボットの各関節角度を算出する第2逆運動学演算手段と、を備えることを特徴とする動作データ生成システム。
【選択図】図1
【解決手段】動作データ生成システムは、被験者の動作から動作データを取得する動作データ取得手段と、取得された動作データに基づいて、逆運動学演算を行いロボットの各関節角度を算出し、算出した各関節角度に基づいて、ロボットのZMP軌道を算出する第1逆運動学演算手段と、算出されたZMP軌道に基づいて、ロボットの動作を安定化させるための目標ZMP軌道を算出する目標ZMP算出手段と、第1逆運動学演算手段により算出されたZMP軌道と、目標ZMP算出手段により算出された目標ZMP軌道と、に基づいて、目標重心軌道を算出する目標重心軌道算出手段と、算出された目標重心軌道に基づいて、逆運動学演算を行い、ロボットの各関節角度を算出する第2逆運動学演算手段と、を備えることを特徴とする動作データ生成システム。
【選択図】図1
Description
本発明は、モーションキャプチャ装置により取得された被験者の動作データに基づいて、ロボットの動作データを生成する動作データ生成システム、及び動作データ生成方法に関するものである。
近年、人間の動作から取得した動作データを用いて人型ロボットを動作させるための動作データを作成する技術開発が行われている。例えば、モーションキャプチャ装置により取得された被験者の動作データから人型ロボットの動作データを生成する際に、関節の物理制限を考慮して、人型ロボットが動作可能な動作データを生成する動作データ生成システムが知られている(特許文献1参照)。
ここで、人間との共存を目的としたパートナーロボット若しくは案内ロボットなどのように、人近傍で動作することを目的とした人型ロボットに関して、人親和性の高い動作は人との共感を得易いだけでなく、情報伝達の観点からも重要となっている。また、人親和性の高い動作ができるだけでなく、歩行の動的安定性も人とロボットが安全に共存するために必須となっている。
しかしながら、上記特許文献1に示す動作データ生成システムにおいては、被験者の自然な動作を反映することを考慮して動作データを生成していないため、人型ロボットの動的安定化は図られているが、一方で不自然な動作データとなっている。
本発明は、このような問題点を解決するためになされたものであり、人型ロボットの動的安定化を図りつつ、被験者の自然な動作を反映した動作データを生成できる動作データ生成システム、及び動作データ生成方法を提供することを主たる目的とする。
上記目的を達成するための本発明の一態様は、被験者の動作に基づいてロボットの動作データを生成する動作データ生成システムであって、被験者の動作から動作データを取得する動作データ取得手段と、前記動作データ取得手段により取得された前記動作データに基づいて、前記ロボットにおける逆運動学演算を行い前記ロボットの各関節角度を算出し、該算出した各関節角度に基づいて、前記ロボットのZMP軌道を算出する第1逆運動学演算手段と、前記第1逆運動学演算手段により算出された前記ZMP軌道に基づいて、前記ロボットの動作を安定化させるための目標ZMP軌道を算出する目標ZMP算出手段と、前記第1逆運動学演算手段により算出された前記ZMP軌道と、前記目標ZMP算出手段により算出された目標ZMP軌道と、に基づいて、目標重心軌道を算出する目標重心軌道算出手段と、前記目標重心軌道算出手段により算出された前記目標重心軌道に基づいて、前記ロボットにおける逆運動学演算を行い、前記ロボットの各関節角度を算出する第2逆運動学演算手段と、を備えることを特徴とする動作データ生成システムである。本態様によれば、人型ロボットの動的安定化を図りつつ、被験者の自然な動作を反映した動作データを生成できる。
この一態様において、前記第2逆運動学演算手段は、前記逆運動学演算において、前記第1逆運動学演算手段により算出された各関節角度列に対して、拘束条件を満たすための優先度を低く設定してもよい。これにより、動的安定化を図りつつ、動作データ取得手段により取得された動作データにより近い、自然な人型ロボットの動作データを算出することができる。
この一態様において、前記第1逆運動学演算手段は、前記ロボットの全身における逆運動学演算を行い、安定化前の前記ロボットの重心軌道を算出し、前記目標重心軌道算出手段は、前記目標ZMP算出手段により算出された目標ZMP軌道と、前記第1逆運動学演算手段により算出された前記重心軌道と、に基づいて、重心の目標角運動量軌道を算出し、前記第2逆運動学演算手段は、前記目標重心軌道算出手段により算出された前記目標重心軌道と、前記目標角運動量軌道と、に基づいて、前記ロボットの全身における逆運動学演算を行い、前記ロボットの各関節角度を算出してもよい。これにより、実際のZMP軌道と目標ZMP軌道との誤差をより低減でき、より動的安定で自然な動作に近い人型ロボットの動作データを生成できる。
この一態様において、前記第1逆運動学演算手段は、前記ロボットの全身における逆運動学演算を行い、安定化前の前記ロボットの重心の角運動量軌道を算出し、前記目標重心軌道算出手段は、前記目標ZMP算出手段により算出された目標ZMP軌道と、前記第1逆運動学演算手段により算出された前記角運動量軌道と、に基づいて、目標重心軌道を算出し、前記第2逆運動学演算手段は、前記目標重心軌道算出手段により算出された前記目標重心軌道に基づいて、前記ロボットの全身における逆運動学演算を行い、前記ロボットの各関節角度を算出してもよい。これにより、動的安定化前の重心の角運動量軌道の特徴を含む動作データを生成することができるため、より動的安定で自然な動作に近い人型ロボットの動作データを生成できる。
この一態様において、前記目標重心軌道算出手段は、前記目標ZMP算出手段により算出された目標ZMP軌道と、前記第1逆運動学演算手段により算出された前記重心軌道と、に基づいて、動的安定化後の前記ロボットの重心の角運動量軌道を算出し、該算出した動的安定化後のロボットの重心の角運動量軌道と、前記第1逆運動学演算手段により算出された動的安定化前のロボットの重心の角運動量軌道と、に基づいて、目標角運動量軌道を算出し、前記第2逆運動学演算手段は、前記目標重心軌道算出手段により算出された前記目標重心軌道と、前記目標角運動量軌道と、に基づいて、前記ロボットの全身における逆運動学演算を行い、前記ロボットの各関節角度を算出してもよい。これにより、動的安定化を図りつつ、より自然な姿勢の人型ロボットの動作データを生成することができる。
この一態様において、前記目標重心軌道算出手段は、前記動的安定化後のロボットの重心の角運動量軌道に所定係数を乗算した結果と、前記動的安定化前のロボットの重心の角運動量軌道に(1−前記所定係数)を乗算した結果と、を加算して前記目標角運動量軌道を算出しており、前記所定係数を調整することで、前記目標ZMP軌道に対する目標追従性を調整してもよい。
この一態様において、前記ロボットの各部位には、拘束条件を満たすための優先度が夫々設定されており、前記第1及び第2逆運動学演算手段は、前記設定された優先度に基づいて、前記逆運動学演算を行ってもよい。
この一態様において、前記動作データ取得手段により取得された前記動作データに基づいて、前記ロボットの各リンクの長さと対応する被験者の部位の長さとの比を求め、前記各リンクの倍率を決定するスケーリング手段を更に備えていてもよい。
この一態様において、前記動作データ取得手段により取得された前記動作データに基づいて、前記ロボットの足先の位置姿勢を補正する補正手段を更に備えていてもよい。
この一態様において、前記動作データ取得手段により取得された前記動作データに基づいて、前記ロボットの足先の位置姿勢を補正する補正手段を更に備えていてもよい。
他方、上記目的を達成するための本発明の一態様は、被験者の動作に基づいてロボットの動作データを生成する動作データ生成方法であって、被験者の動作から動作データを取得するステップと、前記取得された動作データに基づいて、前記ロボットにおける逆運動学演算を行い前記ロボットの各関節角度を算出し、該算出した各関節角度に基づいて、前記ロボットのZMP軌道を算出するステップと、前記算出されたZMP軌道に基づいて、前記ロボットの動作を安定化させるための目標ZMP軌道を算出するステップと、前記算出されたZMP軌道と、前記算出された目標ZMP軌道と、に基づいて、目標重心軌道を算出するステップと、前記算出された目標重心軌道に基づいて、前記ロボットにおける逆運動学演算を行い、前記ロボットの各関節角度を算出するステップと、を含む、ことを特徴とする動作データ生成方法であってもよい。
また、上記目的を達成するための本発明の一態様は、被験者の動作に基づいてロボットの動作データを生成するプログラムであって、被験者の動作から取得された動作データに基づいて、前記ロボットにおける逆運動学演算を行い前記ロボットの各関節角度を算出し、該算出した各関節角度に基づいて、前記ロボットのZMP軌道を算出する処理と、前記算出されたZMP軌道に基づいて、前記ロボットの動作を安定化させるための目標ZMP軌道を算出する処理と、前記算出されたZMP軌道と、前記算出された目標ZMP軌道と、に基づいて、目標重心軌道を算出する処理と、前記算出された目標重心軌道に基づいて、前記ロボットにおける逆運動学演算を行い、前記ロボットの各関節角度を算出する処理と、をコンピュータに実行させる、ことを特徴とするプログラムであってもよい。
本発明によれば、人型ロボットの動的安定化を図りつつ、被験者の自然な動作を反映した動作データを生成できる動作データ生成システム、及び動作データ生成方法を提供することができる。
実施の形態1.
以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明の実施の形態1に係る動作データ生成システムの概略的なシステム構成を示すブロック図である。本実施の形態1に係る動作データ生成システム10は、被験者の動作からその動作データを取得するモーションキャプチャ装置1と、モーションキャプチャ装置1により取得された動作データに基づいて、二足歩行ロボットなどの人型ロボット(ヒューマノイドロボット)の動作データを生成する演算装置2と、を備えている。動作データ生成システム10は、被験者の動作により近い、自然な人型ロボットの動作データを生成することができる。
以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明の実施の形態1に係る動作データ生成システムの概略的なシステム構成を示すブロック図である。本実施の形態1に係る動作データ生成システム10は、被験者の動作からその動作データを取得するモーションキャプチャ装置1と、モーションキャプチャ装置1により取得された動作データに基づいて、二足歩行ロボットなどの人型ロボット(ヒューマノイドロボット)の動作データを生成する演算装置2と、を備えている。動作データ生成システム10は、被験者の動作により近い、自然な人型ロボットの動作データを生成することができる。
モーションキャプチャ装置1は、動作データ取得手段の一具体例であり、複数のマーカー11と、各マーカー11の位置を検出するトラッカー12と、複数の足裏接触センサ13と、トラッカー12で検出された各マーカー11の動作及び足裏接触センサ13の出力信号(床反力情報など)を処理する処理部14と、を有している。
各マーカー11は、被験者の動作を測定(キャプチャ)する着目部位(例えば、肘、肩、腰、頭、足先、手先など)に、夫々取付けられる(図3(a))。トラッカー12は、所定の周期で各マーカー11の位置を検出し、トラッカー12で検出された各マーカー11の位置は処理部14に入力される。このようにして、被験者の着目部位の動作データが取得される。処理部14は、検出されたマーカー11の位置データに対して所定処理を行い演算装置2に対して、その処理した動作データ(モーションキャプチャデータ)を出力する。
演算装置2は、モーションキャプチャ装置1により取得された被験者の動作データに基づいて、その被験者の動作により近い、自然な人型ロボットの動作データを生成する。図2は、本実施の形態1に係る動作データ生成システム10の演算装置2の概略的なシステム構成を示すブロック図である。本実施の形態1に係る演算装置2は、スケーリング部21と、データ補正部22と、第1逆運動学演算部23と、目標ZMP(Zero Moment Point)算出部24と、目標重心軌道算出部25と、第2逆運動学演算部26と、を有している。
なお、演算装置2は、例えば、演算処理等と行うCPU(Central Processing Unit)2aと、CPU2aによって実行される演算プログラム等が記憶されたROM(Read Only Memory)2bと、処理データ等を一時的に記憶するRAM(Random Access Memory)2cと、を有するマイクロコンピュータを中心にして、ハードウェア構成されている。また、これらCPU2a、ROM2b、及びRAM2cは、データバス2dによって相互に接続されている。
スケーリング部21は、スケーリング手段の一具体例であり、被験者の動作データを、実際に動作させる人型ロボットに適応させるために、モーションキャプチャ装置1からの動作データに対して、周知のリターゲッティング処理を行う。モーションキャプチャ装置1により取得された動作データは、被験者の各部位の長さに基づいた動作となっており、着目部位の情報(例えば、動作データとして利用したい手先や足先の位置姿勢や任意関節の角度など)を、その状態まま人型ロボットに適用することができない為に、このリターゲッティング処理を行う。
スケーリング部21は、例えば、適用する人型ロボットの各リンク長と、被験者の対応する部位の長さと、の比から人型ロボットの各リンクの倍率を夫々決定して、リターゲッティング処理を行う。
例えば、図3(a)に示すように取付けられた各マーカー11の位置(着目部位の位置)をリターゲッティング処理すると、小型の人型ロボットの場合は図3(b)のようになり、足長の人型ロボットの場合は図3(c)のようになる。
データ補正部22は、補正手段の一具体例であり、スケーリング部21によりリターゲッティング処理された動作データに対して、足先の接地状態などの補正処理を行う。
これは、モーションキャプチャ装置1により取得された動作データをスケーリングしただけでは、その動作計測時の精度によって、例えば、路面に接地しているはずの足先が平らに接地していない状態や、足先が地面にめり込んだ姿勢となっている状態が含まれることとなり(図4(a))、その状態まま、その動作データを人型ロボットに適用すると動作時に不安定な状態となる。そこで、データ補正部22は、例えば、図4(b)に示すように、足先が接地時には地面と平行でめり込みがないような軌道に足先の接触部位における位置姿勢の補正を、周知手法を用いて行う。
第1逆運動学演算部23は、第1逆運動学演算手段の一具体例であり、モーションキャプチャ装置1により取得され、上記リターゲッティング処理及び補正処理された動作データに基づいて、人型ロボットの全身における逆運動学演算を行い人型ロボットの各関節角度列(各関節角度の時系列データ)を算出し、その算出した各関節角度列に基づいて、動的安定化前の人型ロボットのZMP軌道、重心軌道、重心の角運動量軌道などを算出する。
第1逆運動学演算部23は、例えば、被験者の着目部位の位置姿勢(足先、手先、腰の位置姿勢、任意関節角度など)を満たすように、人型ロボットの全身における逆運動学演算を行い、各関節角度を算出する。
第1逆運動学演算部23は、例えば、以下のように疑似逆行列を用いて逆運動学演算を行う。ここで、θを実際に算出する人型ロボットの各関節角度のベクトルとし、vを着目部位の位置姿勢とし、Jをヤコビ行列とすると、下記(1)式が得られる。
また、Jの疑似逆行列をJ+とすると、下記(3)式を得ることができる。
J+=(JTJ)−1JT (3)式
J+=(JTJ)−1JT (3)式
ここで、複数のタスクがある場合(優先度g>fとする)、下記式(4)が成立する。なお、本明細書において「タスク」とは、動作データを作成する際に制御したい対象を意味し、例えば、動作を制御する対象となっている人型ロボットの着目部位に設定されるものと、関節角度、関節角速度及び関節角加速度の制限条件を設定するものとがある。また、優先度が高くなるとそのタスクの拘束条件がより厳しくなる。さらに、タスクが増加しても同様に演算することができる。
また、第1逆運動学演算部23は、例えば、凸2次計画法、線形計画法などの最適化問題の解法を用いて逆運動学演算を行ってもよい。第1逆運動学演算部23は、上記周知の解法を用いて、設定した任意の着目部位の位置姿勢などの各種拘束条件を極力満たす最適な解(例えば、人型ロボットの各関節角度列)を算出できる。
さらに、第1逆運動学演算部23は、上記演算において、例えば、各タスクに対して優先度を夫々設定し、優先度の高い着目部位に対する拘束条件は必ず満たしつつ、可能な限り優先度の低い着目部位に対する拘束条件も満たすように逆運動学演算を行ってもよい。一般的に、歩行ロボットの場合、足先の位置姿勢の優先度は高く設定され、手先など作業に関連しない着目部位の優先度は低く設定されている。
なお、上記疑似逆行列を用いた手法は、人型ロボットの自由度までしかタスクを設定できないが、上記最適化問題の手法は、人型ロボットの自由度を超えてもタスクを設定することができる。例えば、優先度の低い着目部位に複数のタスクを指定すれば、夫々がある程度満たされるレベルで解を得ることができる。また、上記説明した逆運動学演算の方法は一例であり、これに限らず、周知の演算方法を適用可能である。
第1逆運動学演算部23は、上述の如く、逆運動学演算を行うことで、モーションキャプチャ装置1により取得された動作データに極力基づいた各関節角度列を算出することができる。
また、第1逆運動学演算部23は、上述の如く算出した各関節角度列に基づいて、動的安定化前における人型ロボットのZMP軌道、重心軌道、及び重心の角運動量軌道を夫々算出する。さらに、第1逆運動学演算部23は、上記軌道に加えて、後の動的安定化時に、自然な動作に近づけるために必要となる、各関節角度の軌道を算出する。
ここで、想定する実際の人型ロボットにおいて、各リンクiの質点及び慣性テンソルIiを定義する。第1逆運動学演算部23は、上記算出した関節角度列に基づいて、人型ロボットの重心軌道M、重心の角運動量軌道Lを、下記(5)式及び(6)式を用いて夫々算出する。さらに、第1逆運動学演算部23は、上記算出した重心軌道M及び角運動量軌道Lに基づいて、下記(7)式(ZMP方程式)を用いて、ZMP軌道(ZMPx、ZMPy)を算出する。
目標ZMP算出部24は、目標ZMP算出手段の一具体例であり、第1逆運動学演算部23により算出されたZMP軌道に基づいて、人型ロボットの動作を安定化させるための目標ZMP軌道を算出する。
ここで、二足歩行ロボットの人型ロボットを動的安定に歩行させるためには、例えば、支持多角形の中にZMPが収まるように、人型ロボットの動作を制御する必要がある。すなわち、ZMPが立脚の範囲内にあるZMP安定規範となる必要がある。目標ZMP算出部24は、ZMP安定規範に基づき歩行安定化を行うように、目標ZMP軌道を算出する。
従来技術においては、例えば、上記接地状態の補正処理を行った足先位置から支持多角形を求め、その支持多角形内にZMPが収まるように、矩形的又は台形的など比較的簡易な形状を用いて動的安定化を行い、目標ZMP軌道を求めている(図5及び図6)。
一方、本実施の形態1に係る目標ZMP算出部24は、例えば、動的安定化前の不秩序なZMP軌道(図7(a))も被験者からモーションキャプチャした歩行動作の特徴の1つと捉え、その動的安定化前のZMP軌道に基づいて、ZMP軌道を安定範囲(支持多角形)内に収まるように整形して、目標ZMP軌道を算出する(図7(b))。これにより、動的安定化を図りつつ、より自然な動作データを生成できる。
目標重心軌道算出部25は、目標重心軌道算出手段の一具体例であり、第1逆運動学演算部23により算出されたZMP軌道と、目標ZMP算出部24により算出された目標ZMP軌道と、に基づいて、目標重心軌道を算出する。
ここで、従来のZMPを安定化させた重心軌道の算出方法においては、例えば、簡易な重心軌道を求め(図8(a))、三項方程式を用いてZMP補償計算を行い、重心軌道を求めている(図8(b))。
一方、本実施の形態1に係る目標重心軌道算出部25は、動的安定化前の重心軌道(図9(a))を仮の重心軌道として採用し、三項方程式を用いてZMP補償計算を行うことで、動的安定化を図りつつ、モーションキャプチャ装置1により取得された動作データの動作特徴を含む目標重心軌道を算出することができる(図9(b))。
上記(8)式を用いて、重心軌道pを下記(9)式のように表すことができる。ここで、下記(9)式において、Zrefは、上記算出した動的安定化後の目標ZMP軌道であり、Zcalは、上記算出した動的安定化前のZMP軌道であり、gは重力加速度である。また、diは、動的安定化後の目標ZMP軌道と動的安定化前のZMP軌道との偏差軌道を表している。
目標重心軌道算出部25は、上記(9)式(三項方程式)を用いて目標ZMP軌道を補償するための目標重心軌道pを算出する。なお、上記算出において重心の角運動量が考慮されていないため、算出された目標重心軌道に基づいて、後述の如く逆運動学演算を行うと、実際のZMP軌道と目標ZMP軌道との間に誤差(以下、ZMP誤差と称す)が生じる。
そこで、目標重心軌道算出部25は、そのZMP誤差を補償する重心軌道をさらに上記(9)式を用いて算出し、前に算出した重心軌道に加算する。目標重心軌道算出部25は、ZMP誤差が一定の範囲以内に収束するまでこの演算を繰返し(以下、誤差補償演算と称す)、最終的な目標重心軌道を算出する。これにより、上記ZMP誤差を減少させて目標重心軌道の精度を向上させることができる。なお、本算出方法は、例えば、特開2009−66697号公報に開示されており、これを援用することができる。
上述したように、本実施の形態1において、上記diの算出において、動的安定化前のZMP軌道に基づく重心軌道を用いるため、モーションキャプチャ装置1により取得された動作データの動作特徴を含む、動的安定な目標重心軌道を生成することができる。
ここで、上述の目標ZMP軌道を補償するための目標重心軌道の算出方法は一例であり、これに限らず、例えば、予見制御などを用いて目標重心軌道を算出してもよい。この場合でも、動的安定化前のZMP軌道を考慮して、元のモーションキャプチャ装置1により取得された動作データの特徴を反映した動作データを生成するこができる。
第2逆運動学演算部26は、第2逆運動学演算手段の一具体例であり、目標重心軌道算出部25により算出された目標重心軌道に基づいて、人型ロボットの全身における逆運動学演算を行い、人型ロボットの各関節角度列を算出する。
第2逆運動学演算部26は、例えば、上記第1逆運動学演算部23と同様に、疑似逆行列の手法に重心ヤコビアンを導入して、重心のタスクを考慮した逆運動学演算を行う、あるいは、最適化問題に重心のタスクを考慮した逆運動学演算を行う。これにより、動的安定な人型ロボットの各関節角度列(動作角度列)を算出することができる。なお、第1逆運動学演算部23と第2逆運動学演算部26とは、一体的に構成されていてもよい。
第2逆運動学演算部26は、上述の如く、モーションキャプチャ装置1により取得された動作データに近い諸情報を用いて演算を行うことだけでも、モーションキャプチャ装置1の動作データの特徴をより反映した人型ロボットの動作データを算出できるが、さらに、上記第1逆運動学演算部23により算出された各関節角度列の優先度を低く設定し、逆運動学演算を行うことで、動的安定化を図りつつ、モーションキャプチャ装置1の動作データにより近い、自然な人型ロボットの動作データを算出することができる。このとき、例えば、目標重心軌道を満たすこと、各足が路面に適切に着地していること、などが高い優先度のタスクとして設定されている。
例えば、上記優先度を設定することなく、第2逆運動学演算部26により算出された動作データに基づいて動作させた人型ロボットは、動的安定化前の動作データに基づいて動作させた人型ロボットと比較して、上体姿勢がやや傾くこととなる。
一方、上記優先度を設定して、第2逆運動学演算部26により算出された動作データに基づいて動作させた人型ロボットは、全体を通して、動的安定化前の人型ロボットと非常に近い自然な姿勢となっており、モーションキャプチャ装置1の動作データにより近い、人型ロボットの動作データを生成することが可能となる。
一方、上記優先度を設定して、第2逆運動学演算部26により算出された動作データに基づいて動作させた人型ロボットは、全体を通して、動的安定化前の人型ロボットと非常に近い自然な姿勢となっており、モーションキャプチャ装置1の動作データにより近い、人型ロボットの動作データを生成することが可能となる。
図10は、動的安定化前の動作データにより動作させたときのZMP軌道の一例を示す図である。図11は、上記優先度を設定して第2逆運動学演算部により算出された動作データにより動作させたときのZMP軌道の一例を示す図である。図10では、目標ZMP軌道から実際のZMP軌道が大きく外れているのに対し、図11では、目標ZMP軌道に実際のZMP軌道が追従できていることが分かる。
このように、上記第1逆運動学演算部23により算出された各関節角度列の優先度を低く設定し、逆運動学演算を行うことで、動的安定で自然な動作に非常に近い各関節角度列を算出できる。そして、算出した各関節角度列に基づいて人型ロボットを動作させることにより、より自然な動作を人型ロボット上で再現することができる。
図12は、本発明の実施の形態1に係る動作データ生成システムによる動作データ生成方法のフローの一例を示すフローチャートである。
モーションキャプチャ装置1は、被験者の着目部位の動作データを取得する(ステップS101)。
モーションキャプチャ装置1は、被験者の着目部位の動作データを取得する(ステップS101)。
演算装置2のスケーリング部21は、モーションキャプチャ装置1により取得された被験者の着目部位の動作データに基づいて、人型ロボットの各リンク長と、被験者の対応する部位の長さと、の比から人型ロボットの各リンクの倍率を夫々決定して、リターゲッティング処理を行う(ステップS102)。
データ補正部22は、スケーリング部21によりリターゲッティング処理された動作データに対して、足先の接地状態などの補正処理を行う(ステップS103)。
第1逆運動学演算部23は、データ補正部22により補正処理された動作データに基づいて、人型ロボットの全身における逆運動学演算を行い人型ロボットの各関節角度列を算出し、その算出した各関節角度列に基づいて、人型ロボットのZMP軌道を算出する(ステップS104)。
目標ZMP算出部24は、第1逆運動学演算部23により算出されたZMP軌道に基づいて、人型ロボットの動作を安定化させるための目標ZMP軌道を算出する(ステップS105)。
目標重心軌道算出部25は、第1逆運動学演算部23により算出されたZMP軌道と、目標ZMP算出部24により算出された目標ZMP軌道と、に基づいて、目標重心軌道を算出する(ステップS106)。
第2逆運動学演算部26は、目標重心軌道算出部25により算出された目標重心軌道に基づいて、上記第1逆運動学演算部23により算出された各関節角度列の優先度を低く設定し、人型ロボットの全身における逆運動学演算を行い、人型ロボットの各関節角度列を算出する(ステップS107)。
以上、本実施の形態1に係る動作データ生成システム10によれば、人型ロボットの動的な安定化を図りつつ、被験者の自然な動作を反映した動作データを生成できる。
実施の形態2.
本発明の実施の形態2に係る動作データ生成システム10において、目標重心軌道算出部25は、上記誤差補償演算後に、目標重心軌道pを算出する際に生じる上記ZMP誤差をさらに除去する演算を行ってもよい。
本発明の実施の形態2に係る動作データ生成システム10において、目標重心軌道算出部25は、上記誤差補償演算後に、目標重心軌道pを算出する際に生じる上記ZMP誤差をさらに除去する演算を行ってもよい。
まず、目標重心軌道算出部25は、第1逆運動学演算部23により算出された重心軌道と、目標ZMP算出部24により算出された目標ZMP軌道と、を上記(7)式に代入して、重心の角運動量の微分値(トルク)(下記(10)式)を算出する。次に、目標重心軌道算出部25は、算出した重心の角運動量の微分値を積分して、重心の目標角運動量軌道を算出する。第2逆運動学演算部26は、目標重心軌道算出部25により算出された目標重心軌道及び重心の目標角運動量軌道に基づいて、人型ロボットの全身における逆運動学演算を行い、人型ロボットの各関節角度列を算出する。
これにより、上記ZMP誤差をより低減でき、より動的安定で自然な動作に非常に近い人型ロボットの動作データを生成できる。
実施の形態3.
本発明の実施の形態3に係る動作データ生成システム10おいて、第2逆運動学演算部26は、動的安定化前の重心の角運動量軌道を含む目標重心軌道に基づいて、人型ロボットの全身における逆運動学演算を行い、人型ロボットの各関節角度列を算出してもよい。
本発明の実施の形態3に係る動作データ生成システム10おいて、第2逆運動学演算部26は、動的安定化前の重心の角運動量軌道を含む目標重心軌道に基づいて、人型ロボットの全身における逆運動学演算を行い、人型ロボットの各関節角度列を算出してもよい。
目標重心軌道算出部25は、例えば、第1逆運動学演算部23により算出された重心の角運動量軌道と、目標ZMP算出部24により算出された目標ZMP軌道と、を上記(7)式に代入し、重心の差分方程式を算出し、上記三項方程式((9)式)を用いて、重心の角運動量軌道を含む目標重心軌道を算出する。なお、上記演算において、上記(9)式のdiの代わりに下記(11)式を用いる。
第2逆運動学演算部26は、目標重心軌道算出部25により算出された目標重心軌道に、重心の角運動量軌道のタスクに加えて、人型ロボットの全身における逆運動学演算を行い、人型ロボットの各関節角度列を算出する。
これにより、動的安定化前の重心の角運動量軌道の特徴を含む動作データを生成することができるため、より動的安定で自然な動作に非常に近い人型ロボットの動作データを生成できる。
実施の形態4.
上記実施の形態2及び3において、角運動量を用いて動的安定化を図った場合に、角運動量の微分値は重心周りのモーメントであることから、動的安定化を図る前の人型ロボットの姿勢自体に変更を加えてしまうこととなる。
上記実施の形態2及び3において、角運動量を用いて動的安定化を図った場合に、角運動量の微分値は重心周りのモーメントであることから、動的安定化を図る前の人型ロボットの姿勢自体に変更を加えてしまうこととなる。
そこで、本実施の形態4に係る動作データ生成システム10は、動的安定化のために角運動量軌道を調整しつつ、一定の割合で動的安定化前の元の角運動量軌道に引き戻すような処理を行うことで、動的安定化を図りつつ、より自然な姿勢の人型ロボットの動作データを生成することができる。
具体的には、目標重心軌道算出部25は、上記誤差補償演算後に、第1逆運動学演算部23により上記(6)式を用いて算出された角運動量軌道L(n)(動的安定化前の角運動量の時系列データ)と、上記(10)式を用いて算出した動的安定化後の角運動量軌道(Ln(n−1))+ΔL)と、に基づいて、下記(12)式を用いて、ZMP誤差を抑えるために修正を行った目標角運動量軌道Lnを算出する。
Ln(n)=k(Ln(n−1))+ΔL)+(1−k)L(n) (12)式
Ln(n)=k(Ln(n−1))+ΔL)+(1−k)L(n) (12)式
なお、上記(12)式において、k(0≦k≦1)は、例えば、ZMPの目標追従性を向上させたい場合は大きく設定し、人型ロボットの自然な姿勢を重視する場合は小さく設定する。具体的には、人型ロボットの足裏が小さくZMPの許容範囲が狭い場合には、kを大きく設定し、人型ロボットの動作の印象が重要な場合には、kを小さく設定するのが好ましい。
その後、第2逆運動学演算部26は、上記実施の形態2と同様に、目標重心軌道算出部25により算出された目標重心軌道及び目標角運動量軌道に基づいて、人型ロボットの全身における逆運動学演算を行い、人型ロボットの各関節角度列を算出する。
これにより、動的安定化を図りつつ、より自然な姿勢の人型ロボットの動作データを生成することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、例えば、図15に示す処理を、CPU2aにコンピュータプログラムを実行させることにより実現することも可能である。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
1 モーションキャプチャ装置
2 演算装置
10 動作データ生成システム
11 マーカー
12 トラッカー
13 足裏接触センサ
14 処理部
21 スケーリング部
22 データ補正部
23 第1逆運動学演算部
24 目標ZMP算出部
25 目標重心軌道算出部
26 第2逆運動学演算部
2 演算装置
10 動作データ生成システム
11 マーカー
12 トラッカー
13 足裏接触センサ
14 処理部
21 スケーリング部
22 データ補正部
23 第1逆運動学演算部
24 目標ZMP算出部
25 目標重心軌道算出部
26 第2逆運動学演算部
Claims (11)
- 被験者の動作に基づいてロボットの動作データを生成する動作データ生成システムであって、
被験者の動作から動作データを取得する動作データ取得手段と、
前記動作データ取得手段により取得された前記動作データに基づいて、前記ロボットにおける逆運動学演算を行い前記ロボットの各関節角度を算出し、該算出した各関節角度に基づいて、前記ロボットのZMP軌道を算出する第1逆運動学演算手段と、
前記第1逆運動学演算手段により算出された前記ZMP軌道に基づいて、前記ロボットの動作を安定化させるための目標ZMP軌道を算出する目標ZMP算出手段と、
前記第1逆運動学演算手段により算出された前記ZMP軌道と、前記目標ZMP算出手段により算出された目標ZMP軌道と、に基づいて、目標重心軌道を算出する目標重心軌道算出手段と、
前記目標重心軌道算出手段により算出された前記目標重心軌道に基づいて、前記ロボットにおける逆運動学演算を行い、前記ロボットの各関節角度を算出する第2逆運動学演算手段と、
を備えることを特徴とする動作データ生成システム。 - 請求項1記載の動作データ生成システムであって、
前記第2逆運動学演算手段は、前記逆運動学演算において、前記第1逆運動学演算手段により算出された各関節角度列に対して、拘束条件を満たすための優先度を低く設定する、ことを特徴とする動作データ生成システム。 - 請求項1又は2記載の動作データ生成システムであって、
前記第1逆運動学演算手段は、前記ロボットの全身における逆運動学演算を行い、安定化前の前記ロボットの重心軌道を算出し、
前記目標重心軌道算出手段は、前記目標ZMP算出手段により算出された目標ZMP軌道と、前記第1逆運動学演算手段により算出された前記重心軌道と、に基づいて、重心の目標角運動量軌道を算出し、
前記第2逆運動学演算手段は、前記目標重心軌道算出手段により算出された前記目標重心軌道と、前記目標角運動量軌道と、に基づいて、前記ロボットの全身における逆運動学演算を行い、前記ロボットの各関節角度を算出する、ことを特徴とする動作データ生成システム。 - 請求項1又は2記載の動作データ生成システムであって、
前記第1逆運動学演算手段は、前記ロボットの全身における逆運動学演算を行い、安定化前の前記ロボットの重心の角運動量軌道を算出し、
前記目標重心軌道算出手段は、前記目標ZMP算出手段により算出された目標ZMP軌道と、前記第1逆運動学演算手段により算出された前記角運動量軌道と、に基づいて、目標重心軌道を算出し、
前記第2逆運動学演算手段は、前記目標重心軌道算出手段により算出された前記目標重心軌道に基づいて、前記ロボットの全身における逆運動学演算を行い、前記ロボットの各関節角度を算出する、ことを特徴とする動作データ生成システム。 - 請求項1又は2記載の動作データ生成システムであって、
前記目標重心軌道算出手段は、前記目標ZMP算出手段により算出された目標ZMP軌道と、前記第1逆運動学演算手段により算出された前記重心軌道と、に基づいて、動的安定化後の前記ロボットの重心の角運動量軌道を算出し、該算出した動的安定化後のロボットの重心の角運動量軌道と、前記第1逆運動学演算手段により算出された動的安定化前のロボットの重心の角運動量軌道と、に基づいて、目標角運動量軌道を算出し、
前記第2逆運動学演算手段は、前記目標重心軌道算出手段により算出された前記目標重心軌道と、前記目標角運動量軌道と、に基づいて、前記ロボットの全身における逆運動学演算を行い、前記ロボットの各関節角度を算出する、ことを特徴とする動作データ生成システム。 - 請求項5記載の動作データ生成システムであって、
前記目標重心軌道算出手段は、前記動的安定化後のロボットの重心の角運動量軌道に所定係数を乗算した結果と、前記動的安定化前のロボットの重心の角運動量軌道に(1−前記所定係数)を乗算した結果と、を加算して前記目標角運動量軌道を算出しており、
前記所定係数を調整することで、前記目標ZMP軌道に対する目標追従性を調整する、ことを特徴とする、動作データ生成システム。 - 請求項1乃至6のうちいずれか1項記載の動作データ生成システムであって、
前記ロボットの各部位には、拘束条件を満たすための優先度が夫々設定されており、
前記第1及び第2逆運動学演算手段は、前記設定された優先度に基づいて、前記逆運動学演算を行う、ことを特徴とする動作データ生成システム。 - 請求項1乃至7のうちいずれか1項記載の動作データ生成システムであって、
前記動作データ取得手段により取得された前記動作データに基づいて、前記ロボットの各リンクの長さと対応する被験者の部位の長さとの比を求め、前記各リンクの倍率を決定するスケーリング手段を更に備える、ことを特徴とする動作データ生成システム。 - 請求項1乃至8のうちいずれか1項記載の動作データ生成システムであって、
前記動作データ取得手段により取得された前記動作データに基づいて、前記ロボットの足先の位置姿勢を補正する補正手段を更に備える、ことを特徴とする動作データ生成システム。 - 被験者の動作に基づいてロボットの動作データを生成する動作データ生成方法であって、
被験者の動作から動作データを取得するステップと、
前記取得された動作データに基づいて、前記ロボットにおける逆運動学演算を行い前記ロボットの各関節角度を算出し、該算出した各関節角度に基づいて、前記ロボットのZMP軌道を算出するステップと、
前記算出されたZMP軌道に基づいて、前記ロボットの動作を安定化させるための目標ZMP軌道を算出するステップと、
前記算出されたZMP軌道と、前記算出された目標ZMP軌道と、に基づいて、目標重心軌道を算出するステップと、
前記算出された目標重心軌道に基づいて、前記ロボットにおける逆運動学演算を行い、前記ロボットの各関節角度を算出するステップと、
を含む、ことを特徴とする動作データ生成方法。 - 被験者の動作に基づいてロボットの動作データを生成するプログラムであって、
被験者の動作から取得された動作データに基づいて、前記ロボットにおける逆運動学演算を行い前記ロボットの各関節角度を算出し、該算出した各関節角度に基づいて、前記ロボットのZMP軌道を算出する処理と、
前記算出されたZMP軌道に基づいて、前記ロボットの動作を安定化させるための目標ZMP軌道を算出する処理と、
前記算出されたZMP軌道と、前記算出された目標ZMP軌道と、に基づいて、目標重心軌道を算出する処理と、
前記算出された目標重心軌道に基づいて、前記ロボットにおける逆運動学演算を行い、前記ロボットの各関節角度を算出する処理と、
をコンピュータに実行させる、ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011094694A JP2012223864A (ja) | 2011-04-21 | 2011-04-21 | 動作データ生成システム、及び動作データ生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011094694A JP2012223864A (ja) | 2011-04-21 | 2011-04-21 | 動作データ生成システム、及び動作データ生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012223864A true JP2012223864A (ja) | 2012-11-15 |
Family
ID=47274618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011094694A Withdrawn JP2012223864A (ja) | 2011-04-21 | 2011-04-21 | 動作データ生成システム、及び動作データ生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012223864A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104656440A (zh) * | 2014-12-26 | 2015-05-27 | 清华大学 | 仿人机器人步态生成方法 |
CN106933100A (zh) * | 2017-03-19 | 2017-07-07 | 北京工业大学 | 一种基于人体运动捕捉数据的仿人机器人步态规划方法 |
CN112037312A (zh) * | 2020-11-04 | 2020-12-04 | 成都市谛视科技有限公司 | 实时人体姿态逆向运动学求解方法及装置 |
-
2011
- 2011-04-21 JP JP2011094694A patent/JP2012223864A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104656440A (zh) * | 2014-12-26 | 2015-05-27 | 清华大学 | 仿人机器人步态生成方法 |
CN106933100A (zh) * | 2017-03-19 | 2017-07-07 | 北京工业大学 | 一种基于人体运动捕捉数据的仿人机器人步态规划方法 |
CN112037312A (zh) * | 2020-11-04 | 2020-12-04 | 成都市谛视科技有限公司 | 实时人体姿态逆向运动学求解方法及装置 |
CN112037312B (zh) * | 2020-11-04 | 2021-02-09 | 成都市谛视科技有限公司 | 实时人体姿态逆向运动学求解方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11579591B2 (en) | Feedforward control method for floating base dynamics, computer-readable storage medium and robot | |
US9073209B2 (en) | Walking robot and control method thereof | |
US9327399B2 (en) | Movement control method for mobile robot | |
KR101214434B1 (ko) | 다리식 이동 로봇의 보용생성 장치 | |
JP5859036B2 (ja) | ロボット | |
US9427870B2 (en) | Robotics apparatus, robot control method, program, and recording medium | |
US8428780B2 (en) | External force target generating device of legged mobile robot | |
JPWO2006132330A1 (ja) | 脚式移動体の平衡点安定化装置 | |
KR20090113958A (ko) | 휴머노이드 로봇의 보행패턴 생성방법 | |
CN103112517B (zh) | 一种调节四足机器人身体姿态的方法和装置 | |
US20110172823A1 (en) | Robot and control method thereof | |
JP2009190122A (ja) | 脚式ロボット、及びその制御方法 | |
JP6781101B2 (ja) | 非線形システムの制御方法、二足歩行ロボットの制御装置、二足歩行ロボットの制御方法及びそのプログラム | |
JP2011161524A (ja) | 2脚歩行ロボット及びそのための歩容データ生成方法 | |
JP2012223864A (ja) | 動作データ生成システム、及び動作データ生成方法 | |
Gams et al. | Real-time full body motion imitation on the COMAN humanoid robot | |
JP5198035B2 (ja) | 脚式ロボット及びその制御方法 | |
US20220305640A1 (en) | Motion data generation system, motion data generation method, and motion data generation program of robot | |
JP5623375B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
JP6447278B2 (ja) | 多点接触ロボット、多点接触ロボットの制御方法及びプログラム | |
JP5440152B2 (ja) | 脚式ロボットとそのための歩容データ生成方法 | |
Sripada et al. | Dynamic lateral balance of humanoid robots on unstable surfaces | |
Ficht et al. | Online balanced motion generation for humanoid robots | |
JP4696728B2 (ja) | 脚式ロボットとその制御方法 | |
JP2021036390A (ja) | 非線形モデル予測制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140701 |