(57)【特許請求の範囲】
【請求項１】
第１スロープを有する非水平地面の第１区画に立つ左脚と、第２スロープを有する非水平地面の第２区画に立つ右脚と、を有する人型ロボットを制御するためのコンピュータ実行型の方法であって、前記方法は、
バランス制御装置が、
前記人型ロボットの目標運動を受信するステップと、
前記目標運動に基づいて、前記人型ロボットの目標線形運動量変化率および目標角運動量変化率を決定するステップと、
前記第１スロープを有する非水平地面の前記第１区画に関して、目標左脚地面反力と、目標左脚圧力中心を決定し、前記第２スロープを有する非水平地面の前記第２区画に関して、目標右脚地面反力と、目標右脚圧力中心を決定するステップであって、前記目標左脚地面反力、前記目標右脚地面反力、前記目標左脚圧力中心および前記目標右脚圧力中心と、前記目標線形運動量変化率および前記目標角運動量変化率とが対応するステップと、
前記目標左脚地面反力、前記目標右脚地面反力、前記目標左脚圧力中心および前記目標右脚圧力中心を、物理的に実現可能な値に制約することによって、許容左脚地面反力、許容右脚地面反力、許容左脚圧力中心および許容右脚圧力中心を決定するステップと、
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を実現するための複数の関節トルクを示す制御出力情報を、左脚および右脚の各々について生成するステップと、
前記複数の関節トルクに従って前記人型ロボットを動かす複数の関節アクチュエータに前記制御出力情報を出力するステップと、を備える
ことを特徴とする方法。
【請求項２】
0005950234.tif 000042
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記人型ロボットがその胴体を回転させるように、前記目標線形運動量変化率を保存するとともに、前記目標角運動量変化率を修正するステップ、を備える
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記目標左脚圧力中心の位置を、前記目標左脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと、
前記目標右脚圧力中心の位置を、前記目標右脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと、
を備える
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記人型ロボットが歩行するように、前記目標角運動量変化率を保存するとともに、前記目標線形運動量変化率を修正するステップ、を備える
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記目標左脚圧力中心の位置を、前記目標左脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと、
前記目標角運動量変化率を保存するように前記許容左脚地面反力の角度を回転するステップと、
前記目標右脚圧力中心の位置を、前記目標右脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと、
前記目標角運動量変化率を保存するように前記許容右脚地面反力の角度を回転するステップと、
を備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記目標運動は、静止位置を維持すること、を備える
ことを特徴とする請求項１に記載の方法。
【請求項８】
前記非水平地面が、静止していない表面であることを含む
ことを特徴とする請求項１に記載の方法。
【請求項９】
第１スロープを有する非水平地面の第１区画に立つ左脚と、第２スロープを有する非水平地面の第２区画に立つ右脚と、を有する人型ロボットを制御するためのコンピュータのプログラム命令を記憶するコンピュータ読み取り可能な記憶媒体であって、プロセッサが実行するときに前記プログラム命令は、
前記人型ロボットの目標運動を受信するステップと、
前記目標運動に基づいて、前記人型ロボットの目標線形運動量変化率および目標角運動量変化率を決定するステップと、
前記第１スロープを有する非水平地面の前記第１区画に関して、目標左脚地面反力と、
目標左脚圧力中心を決定し、前記第２スロープを有する非水平地面の前記第２区画に関して、目標右脚地面反力と、目標右脚圧力中心を決定するステップであって、前記目標左脚地面反力、前記目標右脚地面反力、前記目標左脚圧力中心および前記目標右脚圧力中心と前記目標線形運動量変化率および前記目標角運動量変化率とが対応するステップと、
前記目標左脚地面反力、前記目標右脚地面反力、前記目標左脚圧力中心および前記目標右脚圧力中心を、物理的に実現可能な値に制約することによって、許容左脚地面反力、許容右脚地面反力、許容左脚圧力中心および許容右脚圧力中心を決定するステップと、
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を実現するための複数の関節トルクを示す制御出力情報を、左脚および右脚各々について生成するステップと、
前記複数の関節トルクに従って前記人型ロボットを動かす複数の関節アクチュエータに前記制御出力情報を出力するステップと、を備える
ことを特徴とする記憶媒体。
【請求項１０】
0005950234.tif 000043
ことを特徴とする請求項９に記載の記憶媒体。
【請求項１１】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記人型ロボットがその胴体を回転させるように、前記目標線形運動量変化率を保存するとともに、前記目標角運動量変化率を修正するステップ、を備える
ことを特徴とする請求項９に記載の記憶媒体。
【請求項１２】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記目標左脚圧力中心の位置を、前記目標左脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと
前記目標右脚圧力中心の位置を、前記目標右脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと
を備える
ことを特徴とする請求項１１に記載の記憶媒体。
【請求項１３】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記人型ロボットが歩行するように、前記目標角運動量変化率を保存するとともに、前記目標線形運動量変化率を修正するステップ、を備える
ことを特徴とする請求項９に記載の記憶媒体。
【請求項１４】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記目標左脚圧力中心の位置を、前記目標左脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと、
前記目標角運動量変化率を保存するように前記許容左脚地面反力の角度を回転するステップと、
前記目標右脚圧力中心の位置を、前記目標右脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと、
前記目標角運動量変化率を保存するように前記許容右脚地面反力の角度を回転するステップと、
を備えることを特徴とする請求項１３に記載の記憶媒体。
【請求項１５】
少なくとも一つのプロセッサと、
前記プロセッサが実行するときに、前記プロセッサに以下のステップを含むステップを実行させるコンピュータのプログラム命令を記憶するメモリと、を備える
第１スロープを有する非水平地面の第１区画に立つ左脚と、第２スロープを有する非水平地面の第２区画に立つ右脚と、を有する人型ロボットを制御するためのバランス制御装置であって、
前記人型ロボットの目標運動を受信するステップと、
前記目標運動に基づいて、前記人型ロボットの目標線形運動量変化率および目標角運動量変化率を決定するステップと、
前記第１スロープを有する非水平地面の前記第１区画に関して、目標左脚地面反力と、目標左脚圧力中心を決定し、前記第２スロープを有する非水平地面の前記第２区画に関して、目標右脚地面反力と、目標右脚圧力中心を決定するステップであって、前記目標左脚地面反力、前記目標右脚地面反力、前記目標左脚圧力中心および前記目標右脚圧力中心と、前記目標線形運動量変化率および前記目標角運動量変化率とが対応するステップと、
前記目標左脚地面反力、前記目標右脚地面反力、前記目標左脚圧力中心および前記目標右脚圧力中心を、物理的に実現可能な値に制約することによって、許容左脚地面反力、許容右脚地面反力、許容左脚圧力中心および許容右脚圧力中心を決定するステップと、
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を実現するための複数の関節トルクを示す制御出力情報を、左脚および右脚各々について生成するステップと、
前記複数の関節トルクに従って前記人型ロボットを動かす複数の関節アクチュエータに前記制御出力情報を出力するステップと、
を備えることを特徴とするバランス制御装置。
【請求項１６】
0005950234.tif 000044
ことを特徴とする請求項１５に記載のバランス制御装置。
【請求項１７】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記人型ロボットがその胴体を回転させるように、前記目標線形運動量変化率を保存するとともに、前記目標角運動量変化率を修正するステップ、を備える
ことを特徴とする請求項１５に記載のバランス制御装置。
【請求項１８】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記目標左脚圧力中心の位置を、前記目標左脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと
前記目標右脚圧力中心の位置を、前記目標右脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと
を備える
ことを特徴とする請求項１７に記載のバランス制御装置。
【請求項１９】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記人型ロボットが歩行するように、前記目標角運動量変化率を保存するとともに、前記目標線形運動量変化率を修正するステップ、を備える
ことを特徴とする請求項１５に記載のバランス制御装置。
【請求項２０】
前記許容左脚地面反力、前記許容右脚地面反力、前記許容左脚圧力中心および前記許容右脚圧力中心を決定するステップは、
前記目標左脚圧力中心の位置を、前記目標左脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと、
前記目標角運動量変化率を保存するように前記許容左脚地面反力の角度を回転するステップと、
前記目標右脚圧力中心の位置を、前記目標右脚圧力中心の位置に最も近い前記人型ロボットの支持基盤の下方の点に線形移動させるステップと、
前記目標角運動量変化率を保存するように前記許容右脚地面反力の角度を回転するステップと、
を備える
ことを特徴とする請求項１９に記載のバランス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本願は、２０１０年２月２５日に出願された米国仮出願第６１／３０８，２０７号（発明の名称：非水平および非定常の地面上にいる人型ロボットの運動量基準型バランス制御装置）を基礎として優先権を主張するものであり、基礎となるこの出願の内容の全体は、参照することにより本明細書中に組み込まれている。
【０００２】
（背景）
１．発明の技術分野
本発明は、ロボット工学に関し、より具体的には、人型ロボットを制御するバランス制御装置に関する。
【背景技術】
【０００３】
２．従来技術の説明
バランス維持は、人型ロボットの設計において最も重要な技術課題の一つである。バランスの基本的な力学はこれまでのところ理解されているけれども、不連続かつ非平面の地面上を歩行するときの足支持、および移動支持体、滑り、転倒などといった大規模、予想外そして未知の外部障害に対処できるほどに確実性があり、万能な制御装置は、まだ現れていない。特に、人間のバランスの正確性および多様性と比べて、現存のロボットはかなり劣っている。人型ロボットが実社会で人間と共存するためには、広範な環境条件および外部撹乱に対処できる、より進化したバランス制御装置が望まれている。
【０００４】
最近まで、従来のバランス制御技術の大部分は、ロボットの線形運動のみを制御することによってバランスを維持しようと努めてきた。そのような技術のいくつかにおいては、入力関節角度軌跡を変更し、圧力中心（ＣｏＰ：Center of Pressure）の位置、つまり、合成された地面反力（ＧＲＦ：Ground Reaction Force）が作用するロボットの支持領域内部の点を修正する。入力関節運動から計算されたＣｏＰが支持基盤を離れるとき（足の潜在的な転倒を意味する）、ロボットが依然として質量中心（ＣｏＭ：Center of Mass）の目標線形運動に従う間は、支持基盤の内部にＣｏＰを移すように運動が修正される。ロボットの回転運動は、前記した修正のやり方においてはほとんど無視されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ロボットの回転力学は、バランスをとることにおいて重大な役割を果たす。線形ＣｏＭ運動にのみ重点的に取り組む制御方策は、予想外にも、不必要かつ潜在的に有害なロボットの回転運動を招く可能性がある。従来のバランス制御装置のいくつかは、例えば、胴体の向きを運動学的に制御すること、または、特定の関節空間制御装置を追加することによって、こうした問題を幾分、試行錯誤的に回避する。
しかしながら、歩行中は角運動量を厳密に規制している人間とは異なり、前記した技術は、ロボットの回転力学を直接的に制御することはない。結果として、前記した従来技術は、バランス制御に関して、確実性のある人間の動きを実現することができない。さらに、前記した従来技術は、非水平および／または非定常の地面上でバランスを維持するための人型ロボットの試行に関して、十分なバランス制御を提供することができない。
【課題を解決するための手段】
【０００６】
0005950234.tif 000002
【０００７】
もし、バランスを維持している間に目標線形運動量変化率および目標角運動量変化率を同時に実現することができないのであれば、バランス制御装置は、さまざまな実施形態において、目標角運動量変化率を妥協しつつ目標線形運動量変化率を確保するようにしたり、その逆のことを行ったりする。代わりにバランス制御装置は、線形運動量変化率および角運動量変化率の両方を妥協してもよい。例えば、一実施形態において、バランス制御装置はまず、目標地面反力（目標ＧＲＦ）および目標圧力中心（目標ＣｏＰ）を決定し、目標線形運動量変化率および目標角運動量変化率を実現する。その後、目標ＧＲＦおよび目標ＣｏＰを物理的に実現可能な値に拘束することによって、許容ＧＲＦおよび許容ＣｏＰを決定する。
例えば、第１の実施形態において、目標ＣｏＰ位置がロボットの支持基盤の外側にあるならば、バランス制御装置は、目標ＧＲＦを保存している間は、目標ＣｏＰ位置を、目標ＣｏＰ位置に最も近いロボットの支持基盤の下方の点に線形移動させる。このような線形移動は、目標線形運動量変化率を保存し、かつ、目標角運動量変化率を修正する。ロボットの物理的動きは、胴体の回転によって特徴付けられる。
第２の実施形態において、ロボット制御装置は同様にして、目標ＣｏＰ位置を、目標ＣｏＰ位置に最も近いロボットの支持基盤の下方の点に線形移動させるが、それだけでなく、目標角運動量変化率を保存するようにＧＲＦ角度を回転させる。このような線形移動および回転は、目標線形運動量変化率を修正し、ロボットの歩行によって特徴付けられる。
【０００８】
バランス制御に対して運動量基準型の手法を用いる本願のバランス制御装置はロボットを制御して、外部撹乱にさらされたり、非水平地面および／または非定常地面に進入したりする場合にバランスを維持することができる。さらに、結果的なロボットの運動は、人間のバランス機構を模範としているため、ロボットの運動に関しては、ロボットをより人間らしく見せることができる。
【０００９】
本明細書に記載された特徴および効果は包括的ではない。具体的には、図面および明細書を考慮すれば、一当業者にとっては多くの他の特徴および効果があることは明らかである。さらに、明細書に用いられる言語は、主に読み易さおよび教育上の目的から選択されたのであり、発明特定事項を詳しく説明するために、または制限するために選択されたわけではない、ということに留意されたい。
【図面の簡単な説明】
【００１０】
（図面の簡単な説明）
本発明の実施形態の内容は、添付の図面と組み合わせて以下の詳細な説明を考慮することによって容易に理解することができる。
【００１１】
【図１】本発明の実施形態に係るバランス制御装置を説明する図である。
【図２】本発明の実施形態に係る人型ロボットにかかる力を説明する自由物体図（ａ）、（ｂ）である。
【図３】本発明の実施形態に係る人型ロボットを制御する処理を説明するフローチャートである。
【図４】（ａ）は、本発明の実施形態に係る図であり、押しに反応するロボットの胴体の回転を説明する図である。（ｂ）は、本発明の実施形態に係る図であり、押しに反応するロボットの前進を説明する図である。
【図５】本発明の実施形態に係る図であり、ロボットの両足にかかる力を説明する自由物体図である。
【図６】本発明の実施形態に係る図であり、ロボットの両足にかかる力の表現を説明する図である。
【図７】本発明の実施形態に係る図であり、前方押しを受けた後にバランスを維持するロボットの反応を説明する図である。
【図８】本発明の実施形態に係る図であり、側方押しを受けた後にバランスを維持するロボットの反応を説明する図である。
【図９】本発明の実施形態に係る図であり、非水平地面上に立っている間に前方押しを受けた後にバランスを維持するロボットの反応を説明する図である。
【図１０】本発明の実施形態に係る図であり、非定常踏み台上に立っている間、バランスを維持するロボットの反応を説明する図である。
【図１１】本発明の実施形態に係る図であり、定位置で足踏み運動をしている間、バランスを維持するロボットを説明する図である。
【発明を実施するための形態】
【００１２】
ここで、本実施形態は、複数の図面を参照して説明されており、複数の図面に跨って同様の参照番号が記される場合、それらは同一の又は機能的に類似した構成要素を意味する。同様に、複数の図面に跨って、それぞれの参照番号の最も左の数字は、当該参照番号が最初に使用された図面の番号に対応している。
【００１３】
本明細書において、“一実施形態”又は“ある実施形態”と言う場合は、本発明の少なくとも１つの実施形態に、その実施形態に関連して記述される１つの特徴又は構造が含まれていることを意味する。本明細書のあちこちに“ある実施形態では”という語が出現しても、必ずしも同一の実施形態を指しているわけではない。
【００１４】
後記する詳細説明のいくつかの部分は、アルゴリズム用語や、コンピュータメモリ内のデータビット作業を示す象徴的な表現による。これらのアルゴリズム的な説明や表現は、情報処理分野の当業者が、自らの業績の要旨を、同分野の他の当業者に最も効率的に伝えるために用いる手段である。アルゴリズムとは、ここでは、そして一般的にも、ある所望の結果に至る複数のステップ（命令）の首尾一貫したシーケンスのことを言う。ステップとは、物理量に対する物理的操作を要求するステップのことである。通常、必ずしも必要条件ではないが、それらの物理量は、記憶され、送信され、合成され、比較されかつ操作され得る、電子的、磁気的又は光学的信号の形を取る。これらの信号のことを、ビット、値、要素、シンボル、文字、語又は番号等と呼ぶことが主として用語の共通化の理由から便宜である。さらに、物理的操作、物理量の変換、または物理量の表現を要求するステップの配列のうちいくつかのものは、一般性を失うことなく、モジュール又はコードデバイスと呼ぶことが便宜である。
【００１５】
しかしながら、このような用語の全ては適当な物理量と関連付けられており、これらの物理量に付された単なる便宜的なラベルに過ぎない。特段の説明がない限り、さもなければ後記の説明から明らかであるが、明細書本文全体を通じて、“処理”、“計算”、“算出”、“決定”又は“表示”等の用語を用いた説明は、コンピュータシステムのメモリ、レジスタ又は他の情報ストレージ装置、伝送装置または表示装置の内部で、（電子的な）物理量としてのデータを操作かつ変形するコンピュータシステムや同様の電子的コンピューティングデバイス（例えば、専用計算機）の動作や処理のことを言う。
【００１６】
本実施形態のいくつかの側面は、アルゴリズムの形になったプロセスステップや命令を含む。本実施形態のプロセスステップや命令は、ソフトウエア、ファームウエア又はハードウェア内で具体化でき、ソフトウエア内で具体化される場合は、ダウンロードして記憶できたり、そして、多様なオペレーティングシステムが用いる別のプラットフォームから操作できたりすることに留意されたい。本実施形態はまた、コンピュータシステム上で実行可能なコンピュータプログラム製品内に導入できる。
【００１７】
本実施形態は、操作を実行する装置にも関する。この装置は、所与の目的を達成する専用装置などであってもよいし、コンピュータ内に記憶されたコンピュータプログラムによって選択的に動作したり、または再構成されたりする汎用コンピュータであってもよい。このようなコンピュータプログラムは、コンピュータが読取り可能な媒体に記憶され得る。その媒体とは、コンピュータシステムバスに接続可能な、フロッピーディスク（登録商標）、光ディスク、ＣＤ−ＲＯＭ、電磁光学的ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、電磁的又は光学的カード、ＡＳＩＣ又は電子的命令を記憶し得るあらゆる媒体を含むが、これらに限定されない。メモリまたはストレージは、一時的であってもよいし、非一時的であってもよい。メモリは、情報、データ、プログラムを記憶できる前記した装置および／または他の装置のうち任意の装置を含むことができる。さらに、本明細書で言うコンピュータは、単体のプロセッサを含んでもよいし、コンピュータ能力を増加させるために複数のプロセッサを用いたアーキテクチャであってもよい。
【００１８】
ここでいうアルゴリズムやディスプレイは、もともと任意の特定のコンピュータにも他の装置にも関係している訳ではない。ここで教示される内容に従って、プログラムとともに多様な一般目的システムが使用され得る。又は、さらに特化した装置を作成して、方法ステップを実行することも便宜であることがわかっている。これらのさまざまなシステムに必要となる構造は、後記する明細書本文から明らかになる。さらには、本実施形態は、任意の特定のプログラム言語を参照して記載されるものではない。本明細書に記載されている本実施形態の教示を実施するために、多様なプログラム言語が使用され得る。後記において特定の言語に言及した場合、それは本発明の実施可能性及びベストモードを開示するためである。
【００１９】
さらに、本明細書で使用される言語は、主として意味の取りやすさ及び教示目的から選択されているのであって、発明特定事項を明確にするためや限定するために選択されているのではない。従って、本実施形態の開示は、特許請求の範囲にて記述されている本実施形態の範囲を例示するものであるが限定するものではない。
【００２０】
（システム構成）
図１は、ロボットを制御するバランス制御装置１００の実施形態を説明するブロック図である。一実施形態において、ロボットは、人間と同様の関節構造（例：足の各々の自由度は６であり、総重量は４０〜６０ｋｇ）を有する人型二足歩行ロボットである。バランス制御装置１００は、ロボットの目標運動１０２を表現する情報を受信する。目標運動１０２は、ロボットに関するバランス条件または物理的拘束とは無関係とすることができる。目標運動１０２は、例えばロボットに対する一般的な命令（例：左へ１０フィート歩いてください、階段を歩いて下りてください、そのまま立っていてくださいなど）から得ることができる。前記した運動に関する命令は、人間が制御機構を介して入力できるし、またはロボットの運動の決定を制御する人工知能システムが自動的に生成できる。
一実施形態において、目標運動１０２は、両足の目標運動（例：位置および速度）と、ロボットの質量中心周りの角運動量と、質量中心位置と、質量中心速度と、関節加速度とを用いて定められる。場合によっては、目標運動１０２は、（例えば、目標角運動量および目標質量中心速度を０にして）ロボットを静止したままにすることを示唆できる。
【００２１】
目標運動１０２に基づいて、バランス制御部１００は、運動量基準型バランス制御アルゴリズムを使って、ロボットを動かす複数の関節アクチュエータ１５０を制御する制御出力情報１０４を生成する。一実施形態において、制御出力情報１０４は、前記したアクチュエータがロボットの関節の各々に加える複数のトルクを示す複数の関節トルクのベクトルを有する。目標運動１０２によって、ロボットがバランスを失うことがなければ、制御出力情報１０４は関節アクチュエータ１５０を制御して目標運動１０２を実行する。
一方、バランス制御装置１００は、目標運動１０２によって、ロボットがバランスを失い転倒することになると判定すれば、バランス制御装置１００は、依然としてロボットの物理的制限の範囲内に留まっており、依然としてロボットがバランスを維持できている間は、結果的な運動（“許容運動”）が目標運動に最適に近づくような制御出力情報１０４を生成する。
一実施形態において、バランス制御装置１００は、ロボットを制御して、ロボットが外部撹乱（例：押し）を受けたり、非水平および／または非定常の表面上に立っていたり、歩行していたりしているときでさえも、ロボットのバランスを維持できる。バランス制御装置１００は、周期的に（例：ミリ秒ごとに）目標運動１０２を処理し、制御出力情報１０４を生成することで、ロボットの目標運動が変化したり、または前記したロボットの変化に複数の外力が作用していたりするときでさえも、ロボットが自身のバランスを継続的に維持できる。さらに、バランス制御装置１００は、人型運動モデルに基づいているので、結果的なロボットの運動は人間のようである。つまり、ロボットは、人間と同様の方法でバランスを維持するように動く。
【００２２】
一実施形態において、バランス制御装置１００は、プロセッサ１２０と、メモリ１１０とを備える。プロセッサ１２０は、データ信号を処理しており、複数命令セットコンピュータアーキテクチャ（ＣＩＳＣ）、縮小命令セットコンピュータアーキテクチャ（ＲＩＳＣ）、複数の命令セットの組み合わせを実行するアーキテクチャ、などのさまざまなコンピューティングアーキテクチャを備えることができる。図１には、単一のプロセッサ１２０が示されているが、複数のプロセッサを含んでもよい。プロセッサ１２０は、算術論理演算ユニット、マイクロプロセッサ、汎用コンピュータ、またはその他の情報電化製品を構成し、メモリ１１０または複数の外部入力情報からの電子データ信号を送信、受信、および処理する。
【００２３】
メモリ１１０は、コンピュータ実行可能な命令およびコンピュータ読み取り可能なデータを記憶するコンピュータ読み取り可能記憶媒体を備える。前記した命令は、本明細書に記載されている技術のうち任意のものまたはすべてを実行するためのコードを備える。メモリ１１０はさらに、バランス制御装置１００に入力されるデータ（例：目標運動１０２）、バランス制御装置１００が出力するデータ（例：制御出力情報１０４）、および本明細書に記載されているバランス制御装置１００の処理ステップを実行するために用いられる任意の中間データを、一時的にまたは常に（非一時的に）記憶することができる。
メモリ１０４は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）装置、スタティックランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュＲＡＭ（不揮発性記憶装置）、これらの組み合わせ、または当業者が既知の他の記憶装置であってよい。運転中は、プロセッサ１２０は、コンピュータ実行可能な命令および／またはデータをメモリ１１０から読み込み、本明細書に記載されている処理ステップを実行する。
【００２４】
一実施形態において、メモリ１１０は、バランス制御モジュール１１２を搭載する。バランス制御モジュール１１２は、プロセッサ１０６が実行すると、バランス制御装置１００に目標運動１０２を受信させ、処理させ、制御出力情報１０４を関節アクチュエータ１５０に出力させるコンピュータ実行可能なプログラム命令を記憶している。バランス制御装置１００は、運動量基準型のバランス制御を用いている前記した目標運動１０２を処理し、依然として物理的能力の範囲内で動作してバランスを維持しているロボットに、目標運動にできる限り近づけた運動をさせるロボットの運動の制御方法を決定する。
【００２５】
バランス制御装置１００は、本発明の範囲を逸脱することなく図１に示した構成要素と比較してより多いまたはより少ない構成要素を備えることができる。例えば、コンピュータシステム１００は、他のメモリ、例えば、１次キャッシュ、２次キャッシュ、または１または複数の特定用途向け集積回路（ＡＳＩＣ）を含んでよい。他の実施形態においては、バランス制御装置１００の全体をハードウェアとして実装することができる。
【００２６】
0005950234.tif 000003
【００２７】
0005950234.tif 000004
【００２８】
0005950234.tif 000005
【００２９】
前記した基本的な数学的関係を用いることで、バランス制御装置１００は、空間運動量の線形成分および角度成分の両方を制御することによりロボット２００のバランスを維持する。具体的には、一実施形態において、バランス制御装置１００の挙動は、目標運動量変化率を用いて定められる。ロボットの足と地面との接触に関するいくつかの拘束のために、目標運動量変化率が常に物理的に実現可能となるとは限らないことに留意されたい。
第１に、ＣｏＰは、ＣｏＰがロボットの支持基盤の外側に位置することができない、という制約を受けている。単脚支持である（つまり、片足を上げていて支持が単一となるように両足が位置している）場合、支持基盤は、地面と接触しているロボットの足の接触領域と同一であるのに対し、水平地面上での両脚支持の場合、支持基盤は、ロボットの両足の支持領域の凸包に相当する。
第２に、ＧＲＦは、本来は一方に向かう方向でなければならず、かつ、ロボット２００を地面の方へ引き付けてはならない。
第３に、ＧＲＦは、ロボットの足が滑らないように、ロボットの足と地面との接地面に対する摩擦に関する制限を満たさなければならない。
したがって、バランス制御装置１００は、上記した物理的な拘束を満たしている間は、目標値にできるだけ近づけた運動量変化率の許容値、または物理的に実現可能な値を決定する。その後、ロボットの全身にある関節を制御して許容運動量変化率を生成する。
【００３０】
0005950234.tif 000006
【００３１】
両脚支持期におけるこのような冗長性を解決する方法の一つは、まずＧＲＦおよびＣｏＰを決定してから、ＧＲＦおよびＣｏＰを足の各々に分配するというものであろう。しかしながら、このようなやり方は、重大な欠点を抱える。
まず、両足が非水平面上および非連続面上に位置している場合、ＣｏＰを定めることができない。ＧＲＦの実現可能性を調べるために、経験的な推測に基づいた仮想水平面を定めたり、またはより一般的には、複数の接触点から作り出した３次元凸包を計算したりすればよい。このようなやり方では、足と地面との間の摩擦が両足でそれぞれ異なっている場合に対処することが困難である。
【００３２】
このような問題を回避するため、一実施形態において、代替方法として、目標運動量変化率から直接的に足ＧＲＦの各々および足ＣｏＰの各々を計算する。地面と、足の各々との間に面接触があると仮定すると、足ＧＲＦとは、それぞれの足について、１つの足に作用する地面反力であり、足ＣｏＰとは、前記した足ＧＲＦの作用線が、前記した１つの足が形成する足支持面と交差する位置である。前記した足ＧＲＦおよび足ＣｏＰは、より慣用的である正味ＧＲＦおよび正味ＣｏＰとは対照的である。正味ＧＲＦおよび正味ＣｏＰは、両脚支持期において両足をまとめて取り扱ったときに適用される値である。
【００３３】
足の各々にかかる力の複数のセンサを備えている現代の人型ロボットに関して、足ＧＲＦおよび足ＣｏＰを用いることは、便宜的な選択ということだけでなく、バランス制御にとっての当然の選択ということでもある。足ＧＲＦおよび足ＣｏＰはセンサデータとして直接取得されるが、正味ＧＲＦおよび正味ＣｏＰは後続ステップではじめて計算される。
【００３４】
両脚支持期における足ＧＲＦおよび足ＣｏＰの非一意性によって、問題解決の他の最適性基準を考慮できる。具体的には、目標運動量変化率を生成するときに、さらに両方の足首トルクを最小化できる。詳細は後記するが、このことは、２つの単純な条件付き線形最小二乗問題を解くことによって実現できる。足首トルクを最小化することは重要である。というのは、足首トルクは概して、足が転倒してはいけないという点において、他のトルクと比べて多くの拘束を受けているからである。
【００３５】
バランス制御装置１００は、バランス維持のためにロボットの角運動量および線形運動量の両方を制御する。制御ポリシは、バランス制御装置１００の異なる変形を可能にする目標運動量を用いて定められる。例えば、バランス制御装置１００の異なる実施形態は、状況に応じて異なる比率からなる線形運動量および角運動量を満たすことができる。
目標足ＧＲＦおよび目標足ＣｏＰは直接計算できる値であり、バランス制御装置１００が正味ＧＲＦおよび正味ＣｏＰを計算することを必要としない。したがって、バランス制御の枠組みは、何ら特別な取り扱いをせずとも、足各々が位置する非水平地面に適用することができる。両脚支持に関しては、バランス制御装置１００は、両足の足首トルクを最小化する両足の足ＧＲＦおよび両足の足ＣｏＰを計算する。
【００３６】
単脚または両脚支持されているロボットがさまざまな方向に押された場合にバランスを維持できるようにする制御信号１０４を、バランス制御装置１００が生成することは有益である。さらに、ロボットは、異なる勾配を有し、異なる速度で動く別々の移動支持体上に両足がある場合にバランスを維持できる。さらに、バランス制御部１００は、歩行運動用に用いることができる。
【００３７】
0005950234.tif 000007
【００３８】
0005950234.tif 000008
【００３９】
0005950234.tif 000009
【００４０】
0005950234.tif 000010
【００４１】
0005950234.tif 000011
【００４２】
0005950234.tif 000012
【００４３】
0005950234.tif 000013
【００４４】
0005950234.tif 000014
【００４５】
一実施形態において、ロボットはまた、足の各々の中に力検出部を備える。力検出部の各々は、ＧＲＦを測定する。前記したＧＲＦは、直線力の３成分と、トルクの３成分を含む。代替的に、制御装置１００は、観測された力学によってＧＲＦを間接的に計算できる。
【００４６】
0005950234.tif 000015
【００４７】
0005950234.tif 000016
【００４８】
0005950234.tif 000017
【００４９】
0005950234.tif 000018
【００５０】
0005950234.tif 000019
【００５１】
一実施形態において、制御装置は、図４（ａ）に示すような第１の解決方法を実行し、角運動量よりも線形運動量を保存することを優先する。なぜならば、第１の解決方法は、姿勢バランスの能力を向上させる（つまり、ロボットは歩くことなくバランスを維持できる）からである。
他の実施形態において、制御装置は、環境条件およびロボットの状態に依存して２つの対策のうちの一つを動的に選択する。しかしながら、さらに他の実施形態において、２つの方策の間の折衷案をとることもできる。これにより、線形運動量および角運動量の両方を妥協しつつも、各々に対する妥協の程度をより小さくするように実行できる。
【００５２】
0005950234.tif 000020
【００５３】
0005950234.tif 000021
【００５４】
0005950234.tif 000022
【００５５】
0005950234.tif 000023
【００５６】
0005950234.tif 000024
【００５７】
0005950234.tif 000025
【００５８】
0005950234.tif 000026
【００５９】
0005950234.tif 000027
【００６０】
0005950234.tif 000028
【００６１】
0005950234.tif 000029
【００６２】
0005950234.tif 000030
【００６３】
0005950234.tif 000031
【００６４】
式（２３）は、非負最小二乗アルゴリズムを用いて解を求めることができる。非負最小二乗アルゴリズムは、パラメータ調整を必要としない利点がある。
【００６５】
0005950234.tif 000032
【００６６】
0005950234.tif 000033
【００６７】
（Ｄ．関節加速度および関節トルクの決定）
両足の許容足ＧＲＦ、許容足ＣｏＰおよび許容運動量変化率を決定した後、バランス制御装置１００は、前記した許容運動量変化率および足の接触による拘束を生成する複数の関節加速度を決定する（ステップ３１０）。その後、制御装置は、逆動力学を用いて前記した関節加速度および外力を生成するのに必要な複数の関節トルクを決定する（ステップ３１２）。
【００６８】
0005950234.tif 000034
【００６９】
0005950234.tif 000035
【００７０】
0005950234.tif 000036
【００７１】
全体的に、式（３３）は、３つの仕事対象：運動量変化率と、上体の運動の型（style）と、接触拘束とを有する逆運動学的問題とみなすことができる。式（７）を強力な拘束として扱うことによって、式（７）は、他の拘束よりも優先される。式（３３）は、式（３３）を線形方程式の条件付き最小二乗問題に置き換えることによって解かれる。
【００７２】
0005950234.tif 000037
【００７３】
0005950234.tif 000038
【００７４】
0005950234.tif 000039
【００７５】
このようにして、バランス制御装置１００は、人型ロボットを制御して、非水平、非連続、および非定常の地面上でバランスを維持する。ロボットの線形運動量および角運動量の両方を制御することによって、ロボットが比較的大きな撹乱の下でバランスを維持するとともに、人間のようにバランスをとるように振る舞うことでそのような撹乱に応答することを、バランス制御装置１００は可能にする。従来のロボットの正味ＣｏＰおよび正味ＧＲＦを用いることなく、支持足の各々におけるＣｏＰおよびＧＲＰを決定することによって、バランス制御装置１００は、足各々において地面の形状および地面の摩擦が異なる場合に対処できる。
【００７６】
（バランス制御装置の応用）
上記した制御枠組みを用いると、バランス制御装置１００は、ロボットを制御して非常にさまざまな条件下でバランスを維持でき、人間のように振る舞ってそのようなバランス修正を実現できる。図７〜図１０は、さまざまな撹乱を受けたり、および／または非水平または非定常である複数の支持体上に直立していたりする場合におけるロボットの運動を説明する。これらの例の各々において、ロボットの目標運動１０２は安定的である、つまり、ロボットは、普段は静止しており、必要なときのみ動いてバランスをとることが理想的である。図１１は、目標運動１０２が定位置で足踏みすること、であるときのロボットの運動を説明する。
【００７７】
第１の状況において、ロボットは、静止支持体上に立っている間さまざまな方向から生じうる押しを受けている。前記した押しの方向、大きさ、および位置はすべて、バランス制御装置１００にとって未知である。バランス制御装置１００にとって既知である唯一の知覚情報は、ロボットのリンクの位置および速度である。押しの大きさが小さい場合、式（１０）および式（１１）から計算される目標ＧＲＦおよび目標ＣｏＰは、両方とも許容され、したがって、ロボットは、線形運動量および角運動量の目標値を実現できる。
撹乱がより大きい場合、目標値は許容値と異なるため、歩行をせずともバランスを維持するために、バランス制御装置１００は、上体を回転させて角運動量を修正することによってＣｏＭ位置を保存しようとする。結果的なロボットの運動は、押した方向に胴体を回転してバランスを維持する人間の運動と同様である。
【００７８】
図７は、ロボットが前方にＣｏＭに係る外部押し（例：０．１秒間に１２０Ｎの力をロボットにかける押し）を受けた場合のロボットの反応を描いた一連のスナップショットを示す。この図に示すように、ロボットは一時的に胴体を前方に回転させ、力を吸収し、その後静止位置に戻る。
図８は、単脚支持期のロボットが側方に押し出された場合のバランス制御の挙動を示す。この場合、ロボットは、冠状面内で胴体を回転することによってバランスを維持する。両脚支持期の場合と比較すると、単脚支持期における許容ＣｏＰ位置の範囲はずっと小さいが、脚を揺らすことでより大きな角運動量を作り出すことができる。ロボットが押した方向に一時的に回転して転倒を回避している様子が再度見られるが、その後静止位置に戻る。
【００７９】
第２の状況において、バランス制御装置１００は、ロボットが非水平および／または非定常の複数の支持体上でバランスを維持することを可能にする。図９に示す第１の例において、ロボットの両足は、傾斜角度（例：＋Ｘ度および−Ｙ度）の異なる２つの表面上に支持されており、連続的かつ他の撹乱とは区別される複数の撹乱を受ける。
ここで、ロボットは、胴体をかなり大きく周期的に回転させ、バランスを維持する。このような特別な例において、ロボットの胴体は、のけ反り運動よりもかがみ運動のほうが運動範囲を大きくとることができ、したがって、ロボットは後方よりも前方のほうへ大きく屈曲する。
【００８０】
0005950234.tif 000040
【００８１】
0005950234.tif 000041
【００８２】
（他の代替する実施形態）
代替の実施形態において、バランス制御装置１００は、可動式踏み台上のロボットが長期間の押しを受けるときであってもバランスを維持することを可能にするように修正される。この実施形態において、バランス制御装置１００は、角運動量を調整するのではなく、慣性力を推定し、ロボットの胴体を回転する代わりに前記した可動式踏み台の加速する方向へ身体を動かすことによってバランスを維持する。
【００８３】
上記したバランス制御装置１００は、目標ＧＲＦと、目標ＣｏＰと、許容ＧＲＦと、許容ＣｏＰとを決定する場合に、力およびトルクのセンサのデータを必要としないという利点がある。したがって、バランス制御装置１００は、力およびトルクセンサを備えないロボットにおいて有用である。人型ロボットが足に力およびトルクセンサを備える代替の実施形態において、バランス制御装置１００は、フィードバックデータとして知覚情報を用いて、実ＧＲＦと目標ＧＲＦとの間の差、および実ＣｏＰと目標ＣｏＰとの間の差を低減させるのに役立つ。また、さらに、知覚データは、外部撹乱の方向および大きさを推定するために用いることができる。
【００８４】
したがって、上記のさまざまな実施形態で説明したような運動量基準型のバランス制御方法を用いると、ロボットが外部撹乱を受けたり、非水平地面および／または非定常地面上にいたりする場合に、バランス制御装置１００は、ロボットを制御してバランスを維持することができる。さらに、結果的なロボットの運動は、人間のバランス機構を手本としており、そのため、ロボットの運動が人間の運動のように見える。
【００８５】
本発明の開示内容を読む場合、当業者であれば、本明細書で説明した特徴を備える運動量基準型バランス制御装置について、さらに別の代替的な設計を理解できるであろう。したがって、本発明の具体的な実施形態および応用が説明され、記述されていてもその一方で、本発明が本明細書に開示されている、まさにその創作物および構成要素には限定されないこと、そして添付の特許請求に範囲に定められた発明の精神および範囲から逸脱することなく当業者にとって明らかであるさまざまな修正、変更、バリエーションが、本明細書に開示されている本発明の方法および装置の設定、演算および詳細においてなされること、が理解されるであろう。
【符号の説明】
【００８６】
１００      バランス制御装置
１０２      目標運動
１０４      制御出力情報
１５０      関節アクチュエータ
【図１】
0005950234.tif 000045
【図３】
0005950234.tif 000046
【図２】
0005950234.tif 000047
【図４】
0005950234.tif 000048
【図５】
0005950234.tif 000049
【図６】
0005950234.tif 000050
【図７】
0005950234.tif 000051
【図８】
0005950234.tif 000052
【図９】
0005950234.tif 000053
【図１０】
0005950234.tif 000054
【図１１】
0005950234.tif 000055