(57)【要約】      （修正有）【課題】人型ロボットの転倒の際のダメージを軽減する技術を提供すること。【解決手段】ロボット制御装置は、衝突時のロボットへのダメージを低減するために転倒中のロボットを制御する。ロボット制御装置によって、ロボットは、その質量中心が地面から高い位置でロボットの動きが阻止されるように、三つの接触点（例えば、両手と片足）を有する三脚状姿勢を取る。こうすることで、転倒中に位置エネルギーが運動エネルギーへ変換されることによる大きな衝突を防止することができる。三つの接点の最適位置は、機械学習アルゴリズムを通して学習される。【選択図】図１
2014180748.tif 000002
【特許請求の範囲】
【請求項１】
地面に転倒中のロボットを制御するための、コンピュータによって実行される方法であって、
転倒が避けられないという判断のあとのロボット状態を判断するステップと、
プロセッサが、前記ロボット状態に対応する学習済制御パラメータに前記ロボット状態をマッピングするステップと、
前記転倒中の前記ロボットを前記学習済制御パラメータに基づいて制御するステップと、を含み、
前記学習済制御パラメータは、前記ロボットが片足と両手で支えられて、その胴体が地面に衝突しない平衡位置に到達するように、前記ロボットを前記片足と前記両手で地面に衝突するように制御するものである、
ことを特徴とする、コンピュータによって実行される方法。
【請求項２】
前記学習済制御パラメータは、前記転倒が避けられないという前記判断の後の前記ロボット状態と、前記ロボットの一組の限定された制御可能属性とを前提として前記転倒から生じる、前記ロボットの実現可能な最小衝撃力を達成するよう機械学習アルゴリズムによって学習される
ことを特徴とする、請求項１に記載の、コンピュータによって実行される方法。
【請求項３】
前記ロボット状態を判断するステップは、
一般化された足位置推定地点（ＧＦＰＥ）を判断するステップを含み、前記ＧＦＰＥは、前記ロボットがそこに一歩進むと、その質量中心が前記ＧＦＰＥの上方に位置して前記ロボットがバランスの取れた位置に達する、地面上の位置を表す
ことを特徴とする、請求項１に記載の、コンピュータによって実行される方法。
【請求項４】
前記学習済制御パラメータは、足を一歩踏み出した時の前記ロボットの踏み出し位置と、前記ロボットの各肩に対する肩角度とを含む
ことを特徴とする、請求項１に記載の、コンピュータによって実行される方法。
【請求項５】
前記学習済制御パラメータによって、前記ロボットは、腕が地面に対して概ね垂直になった状態で地面に衝突する
ことを特徴とする、請求項１に記載の、コンピュータによって実行される方法。
【請求項６】
前記ロボット状態に対応する前記学習済制御パラメータを学習する機械学習アルゴリズムを実行するステップをさらに含み、
前記機械学習アルゴリズムは、
最初に学習させるロボット状態に対しては、前記転倒中の前記ロボットを制御する初期制御パラメータを取得するステップと、
取得された前記初期制御パラメータにノイズを加えて、新制御パラメータを判断するステップと、
前記新制御パラメータを用いて前記転倒中の前記ロボットを制御するステップと、
前記転倒によって生じる前記ロボットの推定衝撃力に基づいてコスト関数を取得するステップと、
前記コスト関数に基づいて前記新制御パラメータを更新し、更新制御パラメータを取得するステップと、
前記機械学習段階の次の逐次代入では、前記更新制御パラメータを初期制御パラメータとして使用するステップと、を含む
ことを特徴とする、請求項１に記載の、コンピュータによって実行される方法。
【請求項７】
前記機械学習アルゴリズムは、さらに
停止基準に達したときを判断するステップと、
最終的な制御パラメータを前記最初に学習させるロボット状態と関連付けて格納するステップと、を含む
ことを特徴とする、請求項６に記載の、コンピュータによって実行される方法。
【請求項８】
地面に転倒中のロボットを制御するための、コンピュータ実行可能な命令を格納する、非一過性のコンピュータ可読記憶媒体であって、
前記命令は、プロセッサによって実行されたときに、前記プロセッサが、
転倒が避けられないという判断の後のロボット状態を判断するステップと、
プロセッサが、前記ロボット状態に対応する学習済制御パラメータに前記ロボット状態をマッピングするステップと、
前記転倒中の前記ロボットを前記学習済制御パラメータに基づいて制御するステップと、を含むステップを実行し、
前記学習済制御パラメータは、前記ロボットが片足と両手で支えられて、その胴体が地面に衝突しない平衡位置に到達するように、前記ロボットを前記片足と前記両手で地面に衝突するように制御するものである、
ことを特徴とする、非一過性のコンピュータ可読記憶媒体。
【請求項９】
前記学習済制御パラメータは、前記転倒が避けられないという前記判断の後の前記ロボット状態と、前記ロボットの一組の限定された制御可能属性とを前提として前記転倒から生じる、前記ロボットの実現可能な最小衝撃力を達成するよう機械学習アルゴリズムによって学習される
ことを特徴とする、請求項８に記載の、非一過性のコンピュータ可読記憶媒体。
【請求項１０】
前記ロボット状態を判断するステップは、
一般化された足位置推定地点（ＧＦＰＥ）を判断するステップを含み、前記ＧＦＰＥは、前記ロボットがそこに一歩進むと、その質量中心が前記ＧＦＰＥの上方に位置して前記ロボットがバランスの取れた位置に達する、地面上の位置を表す
ことを特徴とする、請求項８に記載の、非一過性のコンピュータ可読記憶媒体。
【請求項１１】
前記学習済制御パラメータによって、前記ロボットは、腕が地面に対して概ね垂直になった状態で地面に衝突する
ことを特徴とする、請求項８に記載の、非一過性のコンピュータ可読記憶媒体。
【請求項１２】
前記学習済制御パラメータは、足を一歩踏み出した時の前記ロボットの踏み出し位置と、前記ロボットの各肩に対する肩角度とを含む
ことを特徴とする、請求項８に記載の、非一過性のコンピュータ可読記憶媒体。
【請求項１３】
前記ロボット状態に対応する前記制御パラメータを学習する機械学習アルゴリズムを実行する命令をさらに含み、
前記機械学習アルゴリズムは、
最初に学習させるロボット状態に対しては、前記転倒中の前記ロボットを制御する初期制御パラメータを取得するステップと、
取得された前記初期制御パラメータにノイズを加えて、新制御パラメータを判断するステップと、
前記新制御パラメータを用いて前記転倒中の前記ロボットを制御するステップと、
前記転倒によって生じる前記ロボットの推定衝撃力に基づいてコスト関数を取得するステップと、
前記コスト関数に基づいて前記新制御パラメータを更新し、更新制御パラメータを取得するステップと、
前記機械学習段階の次の逐次代入では、前記更新制御パラメータを初期制御パラメータとして使用するステップと、を含む
ことを特徴とする、請求項８に記載の、非一過性のコンピュータ可読記憶媒体。
【請求項１４】
前記機械学習アルゴリズムは、さらに
停止基準に達したときを判断するステップと、
最終的な制御パラメータを前記最初に学習させるロボット状態と関連付けて格納するステップと、を含む
ことを特徴とする、請求項１４に記載の、非一過性のコンピュータ可読記憶媒体。
【請求項１５】
地面に転倒中のロボットを制御するためのシステムであって、
プロセッサと、
コンピュータ実行可能な命令を格納する、非一過性のコンピュータ可読記憶媒体と、を含み、
前記命令は、プロセッサによって実行されたときに、前記プロセッサが、
転倒が避けられないという判断の後のロボット状態を判断するステップと、
プロセッサが、前記ロボット状態に対応する学習済制御パラメータに前記ロボット状態をマッピングするステップと、
前記転倒中の前記ロボットを前記学習済制御パラメータに基づいて制御するステップと、を含むステップを実行し、
前記学習済制御パラメータは、前記ロボットが片足と両手で支えられて、その胴体が地面に衝突しない平衡位置に到達するように、前記ロボットを前記片足と前記両手で地面に衝突するように制御するものである、
ことを特徴とするシステム。
【請求項１６】
前記学習済制御パラメータは、前記転倒が避けられないという前記判断の後の前記ロボット状態と、前記ロボットの一組の限定された制御可能属性とを前提として前記転倒から生じる、前記ロボットの実現可能な最小衝撃力を達成するよう機械学習アルゴリズムによって学習される
ことを特徴とする、請求項１５に記載のシステム。
【請求項１７】
前記ロボット状態を判断するステップは、
一般化された足位置推定地点（ＧＦＰＥ）を判断するステップを含み、前記ＧＦＰＥは、前記ロボットがそこに一歩進むと、その質量中心が前記ＧＦＰＥの上方に位置して前記ロボットがバランスの取れた位置に達する、地面上の位置を表す
ことを特徴とする、請求項１５に記載のシステム。
【請求項１８】
前記学習済制御パラメータによって、前記ロボットは、腕が地面に対して概ね垂直になった状態で地面に衝突する
ことを特徴とする、請求項１５に記載のシステム。
【請求項１９】
前記学習済制御パラメータは、足を一歩踏み出した時の前記ロボットの踏み出し位置と、前記ロボットの各肩に対する肩角度とを含む
ことを特徴とする、請求項１５に記載のシステム。
【請求項２０】
前記非一過性のコンピュータ可読記憶媒体は、前記ロボット状態に対応する前記制御パラメータを学習する機械学習アルゴリズムを実行する命令をさらに格納し、
前記機械学習アルゴリズムは、
最初に学習させるロボット状態に対しては、前記転倒中の前記ロボットを制御する初期制御パラメータを取得するステップと、
取得された前記初期制御パラメータにノイズを加えて、新制御パラメータを判断するステップと、
前記新制御パラメータを用いて前記転倒中の前記ロボットを制御するステップと、
前記転倒によって生じる前記ロボットの推定衝撃力に基づいてコスト関数を取得するステップと、
前記コスト関数に基づいて前記新制御パラメータを更新し、更新制御パラメータを取得するステップと、
前記機械学習段階の次の逐次代入では、前記更新制御パラメータを初期制御パラメータとして使用するステップと、を含む
ことを特徴とする、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１３年３月２０日に出願された、「三点支持転倒：ヒューマノイド転倒ダメージ軽減への新たなるアプローチに関する理論と実験」という発明名称を持つ米国特許仮出願第６１／８０３，５３３号の、ユン、ソン‐クックとゴスワミ、アンバリッシュに対する利益を主張するものであり、該仮出願は、参照によりその全体が本明細書に援用される。
【０００２】
本発明は、人型ロボット（ヒューマノイド）転倒の際のダメージを軽減する技術に関する。
【背景技術】
【０００３】
安全性および堅牢な操作性という課題は、ヒューマノイドや他の歩行ロボットを人間の環境に統合する際の大きな挑戦である。特に、そのようなロボットのサイズ、重量、および脆弱性を考えると、転倒は、人型ロボットの安全で円滑な操作性およびその周囲にある物や人の安全性に対する重大な脅威となり得る。ロボットバランス制御装置は、ロボットが転倒する可能性を低減するように設計されているが、場合によっては転倒が避けられず防止できない。このような場合、人型ロボットは、それ自体や周囲の物体へのダメージを最小限に抑えるため、および/または人にけがをさせないため、総合的な転倒管理方策を装備していることが望ましい。
【発明の概要】
【０００４】
地面に転倒中のロボットを制御するために、システム、記憶保持型のコンピュータ可読な記憶媒体、およびコンピュータ実施の方法について説明する。転倒が避けられないという判断ののちに、ロボット状態が判断される。このロボット状態は、ロボット状態に対応する学習済制御パラメータにマッピングされる。この学習済制御パラメータは、ロボットが片足と両手で支えられて、その胴体が地面に衝突しない平衡位置に到達するように、片足と両手で地面に衝突するように制御する。このロボットは、転倒中は学習済制御パラメータに基づいて制御される。ある実施形態では、学習済制御パラメータは、ロボット状態と、ロボットの一組の限定された制御可能属性とを前提として転倒から生じる、ロボットの実現可能な最小衝撃力を達成するよう機械学習アルゴリズムによって学習される。
【０００５】
本明細書に記載の特徴および利点は、全てを含むものではなく、具体的には、多くの追加的な特徴および利点が、図面、明細書および特許請求の範囲に鑑みて、当業者には明らかであろう。また、明細書で使用される言葉遣いは、読みやすさや教育目的を第一として選んでおり、本発明の主題を詳説したり限定したりするために選んでいるわけではないことに留意すべきである。
【図面の簡単な説明】
【０００６】
【図１】一実施形態に係るロボット制御装置のブロック図である。
【図２Ａ】一実施形態に係る、姿勢バランス制御装置を使用して、ロボットを押した場合の動作を示す図である。
【図２Ｂ】一実施形態に係る、ステップ制御装置を使用して、ロボットを押した場合の動作を示す図である。
【図２Ｃ】一実施形態に係る、三点支持転倒制御装置を使用して、ロボットを押した場合の動作を示す図である。
【図３】一実施形態に係る、異なる転倒制御方策に従って転倒中のロボットの運動エネルギーと位置エネルギーを示す図である。
【図４】一実施形態に係る、ロボットへのダメージを最小化または低減するために、転倒中のロボットを制御する処理を示すフローチャートである。
【図５】一実施形態に係る、ロボット制御装置の転倒制御方策を学習させるためのプロセスを示すフローチャートである。
【０００７】
これらの図面は、例示目的のみの実施形態としてさまざまな実施形態を示している。当業者であれば、以下の説明から、本明細書に示された構造および方法とは別の実施形態が、本明細書に記載した実施形態の原理から逸脱することなく用いることができることを容易に認識するであろう。
【発明を実施するための形態】
【０００８】
次に、図面を参照しながら実施形態を説明するが、同じ参照番号は、同一要素または機能的に類似した要素を示す。また、図面において、各参照番号の左端の数字は、参照番号が最初に使用される図面に対応している。
【０００９】
ロボット制御装置は、衝突時のロボットへのダメージを低減するために転倒中のロボットを制御する、三点支持転倒制御装置を備えている。ロボット制御装置によって、ロボットは、三つの接触点（例えば、両手と片足）を有する三脚状姿勢を取るが、これは、ロボットが接触点によって支持され、その質量中心が地面から高い位置で動きが阻止され、その胴体が地面に衝突しないようにするためである。こうすることで、転倒中に位置エネルギーが運動エネルギーへ変換されることによる大きな衝突を防止することができる。一つの実施形態では、三つの接点の最適位置は、機械学習アルゴリズムを通して学習される。
【００１０】
＜システムアーキテクチャ＞  
図１は、ロボットの動きを制御するロボット制御装置１００の実施例を示すブロック図である。ある実施形態では、ロボット制御装置１００は、プロセッサ１２０およびメモリ１１０を備える。プロセッサ１２０は、データ信号を処理し、複合命令セットコンピュータ（ ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、または命令セットの組み合わせを実行するアーキテクチャのような、さまざまなコンピュータアーキテクチャを備えてもよい。図１には単一のプロセッサ１２０だけ示されているが、複数のプロセッサが含まれていてもよい。プロセッサ１２０は、算術論理ユニット、マイクロプロセッサ、汎用コンピュータ、またはメモリ１１０もしくは外部入力から電子データ信号を送信し、受信し、処理するように装備された他の情報機器を備えている。
【００１１】
メモリ１１０は、コンピュータ実行可能な命令およびコンピュータ可読データを格納する記憶保持型コンピュータ可読記憶媒体を備えている。この命令は、本明細書に記載される技術の一部および／または全体を実行するためのコードを含んでもよい。メモリ１１０は、さらに一時的もしくは永続的に、ロボット制御装置１００に入力されたデータ（例えば、状態情報１０２）、ロボット制御装置１００によって出力されるデータ（例えば、制御出力１０４）、および本明細書に記載されたロボット制御装置１００の処理手順を実行するために使用される何らかの中間データを格納してもよい。メモリ１１０は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）装置、スタティックランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュＲＡＭ（不揮発性ストレージ） 、これらの組合せ、または当技術分野で既知の他のメモリ装置でもよい。動作中は、プロセッサ１２０が、メモリ１１０からコンピュータ実行可能な命令および／またはデータをロードし、本明細書に記載される処理手順を実行する。
【００１２】
ロボット制御装置１００は、本発明の範囲から逸脱することなく、図１に示したものよりも多い構成要素を備えることもあれば少ないこともある。例を挙げれば、ロボット制御装置１００は、例えば、一次もしくは二次レベルのキャッシュ、または一つ以上の特定用途向け集積回路（ＡＳＩＣ）のような追加メモリを備えてもよい。他の実施形態では、ロボット制御装置１００は、全面的にハードウェアで実施されてもよい。
【００１３】
ある実施形態では、ロボット制御装置１００は、人間のような関節構成（例えば、各脚に六段階の自由度）と、例えば、４０〜６０キログラムの間の総質量を有する人型二足歩行ロボットを制御する。別の実施形態では、ロボットは、二本以上の足（例えば、四本足、六本足など）を有する歩行ロボットであってもよいし、必ずしも人型ではない二足歩行ロボット（例えば、鳥型ロボット、上半身のないロボットなど）であってもよい。ロボット制御装置１００は、ロボット状態情報１０２を受信する。この状態情報１０２は、例えば、ロボットの異なる構成要素の位置および／または速度に関連する感知情報とロボットがどのように動けばよいのかを示す（例えば、入力制御装置からの）動作命令を含んでもよい。例を挙げれば、動作命令は、ロボットに指示して、例えば、動かずにじっとしていたり、特定の方向に歩いたり、特定の動作に従ってその手足や体幹を移動したり回転したりしてもよい。これらの動作命令は、バランスの考慮やロボットの他の物理的な制約とは関係なくてもよい。そのような動作命令は、制御機構を介しヒトによって入力されてもよいし、またはロボットの動作決定を制御する人工知能システムによって自動的に生成されてもよい。ある実施形態では、状態情報１０２は、足の動作（例えば、構成と速度）、ロボットの質量中心周りの角運動量、質量中心の位置と速度、および関節の加速度の観点で定義されている。状況によっては、状態情報 １０２の動作命令が、ロボットはそのままじっとしているべきである（つまり、所望の角運動量と質量中心速度は、理想的にはゼロであるべきである）と指示してもよい。
【００１４】
状態情報１０２に基づいて、出力するロボット制御装置１００は、 ロボットを動かす関節アクチュエータ１６０を制御する制御出力１０４を生成する。ある実施形態では、制御出力１０４は、アクチュエータがロボットの各関節に適用するトルクを示す関節トルクからなるベクトルを含む。感知データによれば、動作命令を出してもロボットがバランスを失うことがない場合には、制御出力１０４は、関節アクチュエータ２５０を制御して受信した動作命令を実行させる。一方、ロボット制御装置１００が、現在の状態情報１０２では、動作命令を出すとロボットがそのバランスを失って転倒すると判断した場合には、ロボット制御装置１００は、得られる動作（「許容動作」）が、ロボットがまだバランスを維持できて、所望の動作に最も近くなるように制御出力１０４を生成する。ロボットがそのバランスを維持できる許容動作が存在しない場合、そのロボットは、転倒が避けられないと判断して、転倒中の自身の動作を制御し、自身および／または周囲の物体へのダメージを低減したり、人々に怪我をさせないようにしたりする。ロボット制御装置１００は、定期的に（例えば、 一ミリ秒ごとに一回）、その動作命令が変更されたり、ロボットに作用する外部の力が変化したりしても、ロボットが継続的にその制御方策を更新するように、状態情報１０２を処理して制御出力１０４を生成してもよい。
【００１５】
一つの実施形態では、メモリ１１０は、転倒予測部１３０と、バランス制御部１４０と、転倒制御部１５０として具現化されたコンピュータ実行可能な命令を格納している。転倒予測部１３０は、ロボット状態情報１０２を継続的に監視し、転倒が避けられないときを判断する。例えば、ある実施形態では、転倒予測部１３０のモジュールは、ロボットの状態が「転倒トリガ境界」を越えるときを判断する。一般的に、転倒トリガ境界は、ロボット状態空間のうち、バランス制御部１４０がロボットのバランスを維持できて転倒することが避けられない領域を囲む境界のことをいう。転倒トリガ境界に関しては、２００９年１１月２日に出願され２０１１年１２月１１日に特許となった、ゴスワミその他による米国特許第８３３２０６８号「ヒューマノイドの転倒方向転換のための知的ステップ動作」、および、２００９年１１月２日に出願され２０１３年１月８日に特許となった、ゴスワミその他による米国特許第８３５２０７７「ヒューマノイドの転倒方向転換のための慣性形成」にさらに詳細に記載されており、これらの内容は参照により各々本明細書に援用されている。転倒予測部１３０が、ロボットはそのバランスを維持できると判断する限り、バランス制御部１４０は、ロボットの動きを制御する。転倒予測部１３０が、転倒は避けられないと判断すると、ロボット制御装置１００は、転倒制御部１５０に制御を渡し、その制御部が転倒中のロボットを制御する。
【００１６】
ある実施形態では、バランス制御部１４０は、上層制御部１４２と、姿勢バランス制御部１４４と、ステップ制御部１４６とを備えている。上層制御部１４２は、ロボットの動作が姿勢バランス制御部１４４によって制御されるべきかまたはステップ制御部１４６によって制御されるべきかを判断する。一般的に、上層制御部１４２は、ロボットが足を踏み出しておらず、バランスを維持するために足を踏み出す必要がないと判断した場合、姿勢バランス制御部１４４に制御を渡す。一般的に、上層制御部１４２は、ロボットが足を踏み出しているか、足を踏み出さないとバランスを維持できないことを示すトリガ条件を検出すると、ステップ制御部１４６に制御を渡す。例えば、ある実施形態では、上層制御部１４２は、ロボットの現在の動的状態（例えば、位置および／またはその関節の速度）に基づいて、一般化された足位置推定地点（ＧＦＰＥ）を判断する。このＧＦＰＥは、ロボットがその足をそこに置くとバランスが取れる、地面上の点のことをいう。一般的に、ロボットのバランスが取れていると、ＧＦＰＥはすでにロボットの質量中心下にあるので、ロボットは、バランスを維持しようとして何かをする必要がない。しかし、ロボットが（例えば、外乱に応答して）不安定になると、ＧＦＰＥは、ロボットの質量中心下から離れて移動し、ロボットは、バランスを維持するために、姿勢を変えたり（例えば、体幹を回す）足を踏み出したりするなど、何かをする必要がある。ＧＦＰＥの計算については、２０１２年３月２０日に出願された、ユン、ソン‐クックその他による米国特許出願第１３／４２５３８３号「平地および非平地におけるヒューマノイド押し回復」にさらに詳細に記載されており、これらの内容は参照により本明細書に援用されている。
【００１７】
2014180748.tif 000003
【００１８】
上記の原則を適用し、一般的に、姿勢バランス制御部１４４は、角運動量よりも線運動量を優先して重要視する。こうして、二足歩行ロボットは、図２Ａに示すように、必要であれば角運動量を生成することにより、外部から押してもバランスを回復することができる。対照的に、押すのが強すぎてロボットが姿勢の動きだけでは（つまり、線運動量を重要視することによっては）バランスを回復することができないとき、ステップ制御部１４６がロボットを制御する。ここで、ステップ制御部は、線運動量よりも角運動量を重要視して動作するが、結果として、図２Ｂに示すように、足の踏み出しを伴う質量中心の線形運動をもたらす。
【００１９】
2014180748.tif 000004
【００２０】
2014180748.tif 000005
【００２１】
転倒予測部１３０がロボットは転倒しつつあると判断すると、転倒制御部１５０は、ロボットの制御権を持ち、ロボットおよび／またはその周囲へのダメージを最小限に抑えて人間に危害を与えるのを防ぐために、転倒の間ずっとロボットの動きを制御する。ある実施形態では、転倒制御部１５０は、転倒モード検出部１５２と、転倒方向変更制御部１５４と、三点支持転倒制御部１５６と、を備えている。転倒モード検出部１５２は、ロボット状態とその周辺のさまざまな特性を予測し分析するが、その目的は、転倒方向変更制御部１５４を適用するかまたは三点支持転倒制御部１５６を適用するかを判断するためである。例えば、転倒モード検出部１５２は、ロボットの地面接地状態（一点支持または二点支持）、その質量中心の地面からの高さ、質量中心の速度、傾斜角度、転倒方向、転倒するロボットが地面に触れるまでの時間の長さ、などを分析してもよい。転倒モード検出部１５２は、また、ロボットのすぐ周辺に、転倒中に接触する可能性が高い物体が存在するかどうか判断する。物体または人間がその近傍に検出されると、転倒方向変更制御部１５４が適用されて、周囲の物体や人間を回避するために、転倒方向を制御しようとする。例えば、ある実施形態では、転倒方向変更制御部は、周囲の物体や人間の位置および大きさに関する情報を使用して、転倒方向変更制御方策を策定する。転倒方向変更制御部１５４の例は、２００９年１１月２日に出願され２０１１年１２月１１日に特許となった、ゴスワミその他による米国特許第８３３２０６８号「ヒューマノイドの転倒方向転換のための知的ステップ動作」、および、２００９年１１月２日に出願され２０１３年１月８日に特許となった、ゴスワミその他による米国特許第８３５２０７７「ヒューマノイドの転倒方向転換のための慣性形成」に記載されており、これらの内容は参照により各々本明細書に援用されている。
【００２２】
別のケースとして、転倒モード検出部１５２が、転倒するロボットの危険にさらされる物体や人間は周囲には存在しないと判断すると、転倒モード検出部１５２は、代わりに、三点支持転倒制御部１５６を適用して、ロボット自身に対する機械的ダメージを低減するように設計された制御方策を採用する。ある実施形態では、三点支持転倒制御部１５６は、ロボットが片足と両手を連続して床に接触することで地面に接触するようにロボットが転倒するのを制御する、「三点支持転倒」制御アルゴリズムを適用している。ロボットは、衝突面上に質量中心があり、ロボットが当該面と三接点（例えば、 片足と両手）を有して、バランスの取れた位置に着地する。ロボットをこの位置に着地させることにより、ロボットが地面に完全に転倒するのを回避し、ロボットの位置エネルギーがすべて運動エネルギーに変換されることはない。このことによって、ロボットの衝突速度を低減し、結果として、衝撃力を減少させる。ある実施形態では、この衝撃力を最小限に抑えるために、ロボットは、ＧＦＰＥの位置まで、または物理的に実現可能な限り当該位置の近くまで、長い歩幅で足を踏み出し、概ね垂直に地面に衝突するように腕を伸ばすように、制御される。三点支持転倒制御部１５６によって適用される制御アルゴリズムの実施例は、以下の説明においてさらに詳細に説明されている。
【００２３】
2014180748.tif 000006
【００２４】
ある実施形態では、三点支持転倒制御部１５６は、（曲面が無いと仮定すると）すべて外側の頂点、接線、表面から構成される三次元凸型外殻構造を有する回転多面体とする、ロボットのモデル化に基づいて、ロボットを制御する。そうすれば、三点支持転倒制御部１５６は、ロボットがその運動構成を変更することによって、計画された回転を三接点で行なうように、多面体を変化させるものとしてモデル化することができる。本明細書で説明する実施形態は、片足と両手だけを使っているが、この概念は、３Ｄ凸型外殻構造が連続して変形するように回転多面体を制御することとして、一般化することができる。例えば、完全に３６０度前方に回転する運動は、ヒューマノイドを対応する多面体としてモデル化し、回転後に両足が地面に着地するまで地面を回転するように制御することによって、達成することができる。他の実施形態では、三点支持転倒制御部１５６は、上記の代わりに、ロボットが両足と片手でバランスのとれた位置を達成するようにしてもよい。
【００２５】
図３は、転倒中のロボットの位置エネルギーと運動エネルギーの観点で、三点支持転倒制御部１５６の三点支持転倒制御方策を適用する利点を説明する。図３１０に、三点支持転倒制御部１５６の転倒制御方策を採用しない転倒場面が示されている。ここでは、ロボットが最初は直立位置３０２にいる。グラフ３３０と３４０に示すように、初期状態３０２のロボットは、静止していて、ロボットの質量中心から地面までの距離に関係する位置エネルギーを有するので、運動エネルギーは有していない。次に、ロボットに外乱（例えば、ロボットを倒すのに十分な強さで後方から押すこと）が加えられる。三点支持転倒制御部１５６の制御が無いと、ロボットは位置３０４に着地する。転倒中に、質量中心が地面に近づくにつれて、位置エネルギーは、ゼロまたはゼロの近くまで減少する。位置エネルギーは運動エネルギーに変換され、運動エネルギーは転倒中には衝突まで増加する。それにより、衝突時の運動エネルギーが比較的高く、ロボットが損傷する可能性を増加させる。
【００２６】
図３２０は、三点支持転倒制御部１５６の三点支持転倒制御方策を採用する転倒場面を示している。ここでもまた、ロボットは、初期状態３０２で始まる。しかし、転倒中に、ロボットは、質量中心がかなり地面の上方にあって、姿勢３０６に示すように、その体幹が地面に衝突せずに、両腕と片足でバランスのとれた状態で着地するようその運動を制御する。このようにして、ロボットは地面に衝突し、その位置エネルギーがすべて運動エネルギーに変換される前に、安定した位置に達する。その結果、運動エネルギーは、ロボットが姿勢３０４で着地する場合と比べて、衝突時に低減される。衝突時の運動エネルギーがより低ければ、ロボットに損傷を与える可能性は低くなる。
【００２７】
図４は、三点支持転倒制御方策を使用して転倒中のロボットを制御する処理を具体化したものを示している。ロボット制御装置１００は、転倒が避けられないことを検出すると、４０２で三点支持転倒制御部１５６を起動し、ロボットへの損傷を低減しようとする。次に、ロボットは、４０４で、ロボット状態を表現したもの（例えば、ロボットの関節の位置および／または速度）を取得する。ある実施形態では、ＧＦＰＥが、ロボット状態を表現したものを提供する。前述したように、ＧＦＰＥは、ロボットが縁なし車輪としてモデル化されたとき、ロボットがこの場所へ足を踏み出すと、ロボットの質量中心がＧＦＰＥの位置の垂直方向上方で停止する、地上の予測位置を表したものである。ＧＦＰＥは、平地でも非平地でも定義され、固定されたものであり、転倒中のロボットの任意の状態に対して一意に定義される。 次に、三点支持転倒制御部１５６は、ロボット状態に基づいて、学習済制御パラメータを判断する。例えば、ある実施形態では、三点支持転倒制御部１５６は、（例えば、ＧＦＰＥによって表される）考えられる各ロボット状態と転倒中のロボットを制御する制御パラメータ一式とを対応付けた表を格納する。あるいは、制御パラメータは、ロボット状態と所望の転倒パラメータの間の学習された関係に基づく、ロボット状態の関数としてリアルタイムに判断してもよい。次に、三点支持転倒制御部１５６は、４０８で、ロボット状態に対応する、学習済制御パラメータに応じて、転倒中のロボットを制御する。
【００２８】
ある実施形態では、ロボット状態に対応する制御パラメータとして、床上のｘ-ｙ座標上の踏み出し位置と、各腕に対する二つの肩角度とが含まれる。この実施形態では、ロボットの他のパラメータは固定されている。例えば、ある実施形態では、判断されるロボット状態に関係なく、ロボットは、転倒中に、脚の関節を固定し、腕と手首を完全に伸ばして固定する。代わりとなる実施形態では、これらのパラメータも、得られるロボット状態に基づいて変わってもよい。
【００２９】
代わりとなる別の実施形態では、ロボット状態を表現するものとしてＧＦＰＥの代わりに異なる表現を用いて、転倒中の制御パラメータを判断してもよい。例えば、様々な形態で、制御パラメータは、一つ以上の他のロボット状態パラメータに基づいて判断されてもよい。一般に、この表現は、任意のロボット状態に対して、一意的であり、時間によって不変であることが望ましい。
【００３０】
さらに別の実施形態では、三点支持転倒制御部１５６は、衝突時につく手足にインピーダンス制御を適用することによって、衝撃力をさらに低減することができる。
【００３１】
転倒するヒューマノイドは高度な非線形運動を伴うので、学習アルゴリズムを用いて、ロボット状態に基づいて転倒中に適用する最適な制御パラメータ（例えば、ＧＦＰＥ）を見つける。例えば、ある実施形態では、学習アルゴリズムは、任意のロボット状態に対して、ロボット状態が決まり、制御可能な一連のロボット属性の一部が決まった転倒によって発生する、ロボットの実現可能な最小衝撃力はどの制御パラメータで達成できるのかを学習する。この学習処理は、比較的少ない一連の制御パラメータ（例えば、上記の肩角度および踏み出し位置）に限定されていても、（学習しない場合に比べて）はるかに効率的であるので、この学習アルゴリズムは、任意の数のロボット自由度および／または他のパラメータに基づいて、より複雑な制御方策にも同様に適用してもよい。効率的な学習のためには、上記のように、すべてのロボット状態をＧＦＰＥに提示すればよい。この実施形態では、次に、制御パラメータは、学習ケースごとに、考えられる別々のＧＦＰＥに対応付けされる。
【００３２】
一般的に、衝撃力の最大成分は、最初に地面に当たる手によって吸収される。衝撃力を最小にするために、最初に地面に当たる手と同じ側の肩の、学習された肩角度によって、一般的に、腕は地面に対してほぼ垂直な角度で地面に衝突することになるであろう。このことによって、地面と接触する瞬間にロボットの着地速度を最小にするために、地面に近いほうの手をできるだけ早く衝突させることができる。
【００３３】
図５は、三点支持転倒制御部１５６によって適用される制御パラメータを学習する処理を具体化したものを示している。ある実施形態では、学習アルゴリズムは、勾配降下法に基づく強化学習アルゴリズムを含む。５０２で、学習用の押し方パラメータが最初に設定される。例えば、ある実施形態では、異なる強さと方向の複数の押し方に対して学習が実行され、その結果、それぞれが異なるＧＦＰＥまたは他のロボット状態の表現となる。ある実施形態では、ロボットが両足で立って静止状態でいるときに、押す位置は異なるかもしれないが、様々な押し方が、すべてヒューマノイドの体幹の中心に適用される。次いで５０４で、制御パラメータは、学習のために初期化される。例えば、ある実施形態では、ｘ-ｙ座標上の踏み出し位置は、最初の歩幅で達する位置とＧＦＰＥの半分の距離の位置に初期化される。さらに、ある実施形態では、肩角度は、側面から見たときに、ロボットの両腕が胴体に対して垂直になる角度に初期化される。
【００３４】
2014180748.tif 000007
【００３５】
2014180748.tif 000008
【００３６】
2014180748.tif 000009
【００３７】
2014180748.tif 000010
【００３８】
2014180748.tif 000011
【００３９】
前述した学習アルゴリズムは、（例えば、ＧＦＰEによって定義される）いかなるロボット状態に対しても、転倒中に衝撃力を最小化するために適用される一連の制御パラメータを学習するのに役立つ。一般的に、ロボットは、上記の三点支持転倒位置に着地するときに、衝撃力が最小化されることがわかっている。
【００４０】
本明細書で「ある実施形態」または「一実施形態」への参照は、複数の実施形態に関連して説明された特定の特徴、構造、または特性が、少なくとも一つの実施形態に含まれているということである。本明細書の様々な箇所で「ある実施形態では」または 「一実施形態」という語句が現れるが、必ずしも全て同じ実施形態を指しているわけではない。
【００４１】
詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに関する操作のアルゴリズムおよび記号表現という観点で提示されている。これらのアルゴリズムの説明及び表現は、データ処理技術の当業者によって使用され、他の当業者に彼らの仕事の本質をもっとも効果的に伝える手段である。ここで、また一般的にもそうであるが、アルゴリズムとは、所望の結果に導く、首尾一貫した一連のステップ（命令）であると考えられる。ステップとは、物理量の物理的操作を必要とするものである。必須ではないが、通常、これらの量は、格納され、転送され、結合され、比較され、もしくは操作されることが可能な、電気的、磁気的、または光学的信号の形態をとる。時には、主に共通使用という理由で、これらの信号を、ビット、値、要素、記号、文字、用語、数などとして参照すれば便利である。また、時には、一般性を失うことなく、物理量の物理的操作または変換や、物理量の表現を要する、特定の一連のステップをモジュールまたはコード装置として参照しても便利である。
【００４２】
しかしながら、これらのすべておよび同様の用語は、しかるべき物理量に関連付けられるべきであり、単にこれらの量に付けられる便利なラベルであるに過ぎない。特に別の説明がない限り、以下の説明から明らかなように、本明細書を通して、 「処理する」または「コンピュータで計算する」または「計算する」または「判断する」または「表示する」または「判断する」等の用語を用いた説明は、コンピュータシステムメモリまたはレジスタまたは他のそのような情報記憶装置内の物理的な（電子的な）量として表されるデータを操作して変換する、コンピュータシステム、または（例えば、特定目的用計算機のような）同様の電子計算装置、もしくは伝送装置または表示装置の、作用と処理を参照している。
【００４３】
実施形態のいくつかの態様は、本明細書にアルゴリズムの形で記載されたステップや指示を含む。なお、実施形態の処理ステップおよび命令は、ソフトウェア、ファームウェア、またはハードウェアで具現化することができ、ソフトウェアで具現化されるときは、様々なオペレーティングシステムによって使用される異なるプラットフォームにダウンロードして常駐させ、そこから操作することができる。また、実施形態は、コンピュータシステム上で実行されるコンピュータプログラム製品であってもよい。
【００４４】
実施形態はまた、本明細書における動作を実行する装置にも関与している。この装置は、例えば、特定目的コンピュータのように、目的に応じて特別に構成されたものであってもよいし、コンピュータに格納されたコンピュータプログラムによって選択的に起動されまたは再構成される汎用コンピュータを備えてもよい。そのようなコンピュータプログラムは、フロッピー（登録商標）ディスク、光ディスク、 ＣＤ‐ＲＯＭ、光磁気ディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カードまたは光カード、特定用途向け集積回路（ＡＳＩＣ）、または電子命令を格納するのに適した任意の種類の媒体、を含む、任意の種類のディスクのような、しかしこれらに限定されない、コンピュータ可読記憶媒体に格納でき、そして各々がコンピュータシステムバスに結合されている。メモリは、情報／データ／プログラムを格納できる上記および／または他の装置を備えてもよく、そして一時的または非一時的媒体であってもよく、ここで、非一時的または非一過性の媒体は、最小限の時間よりも長い間情報を記憶するメモリ／記憶装置を含んでもよい。さらに、本明細書でいうコンピュータは、単一プロセッサを備えてもよいし、コンピュータ能力を増すために、複数のプロセッサ設計を採用するアーキテクチャであってもよい。
【００４５】
本明細書で提示されるアルゴリズムおよび表示は、本質的に、特定のコンピュータまたは他の装置に関連するものではない。様々な汎用システムを使用して本明細書の教示によるプログラムを実行してもよいし、または、より専用の装置を構築して上記方法のステップを実行した方が、便利であるかもしれない。これらの様々なシステムの構成は、本明細書の記述から明らかであろう。また、本明細書に記述したように、実施形態の教示内容は、何らかの特定プログラミング言語を参照して記載されてはいない。様々なプログラミング言語を使用して、本明細書に記載されたように実施形態の教示内容を実施してもよく、本明細書では実現方法とベストモードを開示するにあたって、特定言語への参照が提供されている。
【００４６】
また、本明細書で使用される言葉遣いは、主として、読みやすさと教育目的のために選択されたものであり、本発明の主題を詳説したり制限したりするために選択されたものではない。したがって、実施形態の開示は、特許請求の範囲に記載されている、実施形態の範囲の説明に役立つことを意図しているが、それを限定するものではない。
【００４７】
本明細書では、特定の実施形態および応用を図示し、説明してきたが、それらの実施形態は、本明細書に開示された構成およびコンポーネントと全く同じものに限定されるものではなく、添付の特許請求の範囲に規定されるような実施形態の精神および範囲から逸脱することなく、本実施形態の方法および装置の配置、動作、および詳細について、種々の修正、変更、および変形ができることを理解すべきである。
【図１】
2014180748.tif 000012
【図２Ａ】
2014180748.tif 000013
【図２Ｂ】
2014180748.tif 000014
【図２Ｃ】
2014180748.tif 000015
【図３】
2014180748.tif 000016
【図４】
2014180748.tif 000017
【図５】
2014180748.tif 000018
【手続補正書】
【提出日】平成26年5月22日(2014.5.22)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
状態情報１０２に基づいて、出力するロボット制御装置１００は、 ロボットを動かす関節アクチュエータ１６０を制御する制御出力１０４を生成する。ある実施形態では、制御出力１０４は、アクチュエータがロボットの各関節に適用するトルクを示す関節トルクからなるベクトルを含む。感知データによれば、動作命令を出してもロボットがバランスを失うことがない場合には、制御出力１０４は、関節アクチュエータ１６０を制御して受信した動作命令を実行させる。一方、ロボット制御装置１００が、現在の状態情報１０２では、動作命令を出すとロボットがそのバランスを失って転倒すると判断した場合には、ロボット制御装置１００は、得られる動作（「許容動作」）が、ロボットがまだバランスを維持できて、所望の動作に最も近くなるように制御出力１０４を生成する。ロボットがそのバランスを維持できる許容動作が存在しない場合、そのロボットは、転倒が避けられないと判断して、転倒中の自身の動作を制御し、自身および／または周囲の物体へのダメージを低減したり、人々に怪我をさせないようにしたりする。ロボット制御装置１００は、定期的に（例えば、 一ミリ秒ごとに一回）、その動作命令が変更されたり、ロボットに作用する外部の力が変化したりしても、ロボットが継続的にその制御方策を更新するように、状態情報１０２を処理して制御出力１０４を生成してもよい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
一つの実施形態では、メモリ１１０は、転倒予測部１３０と、バランス制御部１４０と、転倒制御部１５０として具現化されたコンピュータ実行可能な命令を格納している。転倒予測部１３０は、ロボット状態情報１０２を継続的に監視し、転倒が避けられないときを判断する。例えば、ある実施形態では、転倒予測部１３０のモジュールは、ロボットの状態が「転倒トリガ境界」を越えるときを判断する。一般的に、転倒トリガ境界は、ロボット状態空間のうち、バランス制御部１４０がロボットのバランスを維持できて転倒することが避けられる領域を囲む境界のことをいう。転倒トリガ境界に関しては、２００９年１１月２日に出願され２０１１年１２月１１日に特許となった、ゴスワミその他による米国特許第８３３２０６８号「ヒューマノイドの転倒方向転換のための知的ステップ動作」、および、２００９年１１月２日に出願され２０１３年１月８日に特許となった、ゴスワミその他による米国特許第８３５２０７７「ヒューマノイドの転倒方向転換のための慣性形成」にさらに詳細に記載されており、これらの内容は参照により各々本明細書に援用されている。転倒予測部１３０が、ロボットはそのバランスを維持できると判断する限り、バランス制御部１４０は、ロボットの動きを制御する。転倒予測部１３０が、転倒は避けられないと判断すると、ロボット制御装置１００は、転倒制御部１５０に制御を渡し、その制御部が転倒中のロボットを制御する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
2014180748.tif 000019
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
2014180748.tif 000020
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
2014180748.tif 000021
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
本明細書で提示されるアルゴリズムおよび表示は、本質的に、特定のコンピュータまたは他の装置に関連するものではない。様々な汎用システムを使用して本明細書の教示によるプログラムを実行してもよいし、または、より専用の装置を構築して上記方法のステップを実行した方が、便利であるかもしれない。これらの様々なシステムの構成は、本明細書の記述から明らかであろう。また、本明細書に記述したように、実施形態の教示内容は、何らかの特定プログラミング言語を参照して記載されてはいない。様々なプログラミング言語を使用して、本明細書に記載されたように実施形態の教示内容を実施してもよく、本明細書では実現方法とベストモードを開示するにあたって、特定言語への参照が提供されていない。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
本明細書では、特定の実施形態および応用を図示し、説明してきたが、それらの実施形態は、本明細書に開示された構成およびコンポーネントと全く同じものに限定されるものではなく、添付の特許請求の範囲に規定されるような本発明の精神および範囲から逸脱することなく、本実施形態の方法および装置の配置、動作、および詳細について、種々の修正、変更、および変形ができることを理解すべきである。
【手続補正８】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
前記機械学習アルゴリズムは、さらに
停止基準に達したときを判断するステップと、
最終的な制御パラメータを前記最初に学習させるロボット状態と関連付けて格納するステップと、を含む
ことを特徴とする、請求項１３に記載の、非一過性のコンピュータ可読記憶媒体。
【外国語明細書】
2014180748000001.pdf