(57)【要約】  本発明は、軌道を辿り、ロボットの多関節四肢の動作により規定できる行動を取ることが可能な移動型ロボットに関する。移動型ロボットは、移動型ロボットの運動を規定する命令および移動型ロボットの行動を規定する命令に基づいて、移動型ロボットの重心の目標軌道を計算し、移動型ロボットの重心の目標軌道および移動型ロボットの動的制約に基づいて、ある時間範囲にわたる移動型ロボットの重心の予測軌道（３５０）を計算し、移動型ロボットの重心の予測軌道および移動型ロボットの行動を規定する命令に基づいて、多関節四肢の予測動作を計算すべく構成されたプロセッサを備えている。
2019514713.tif 000002
【特許請求の範囲】
【請求項１】
複数の多関節四肢と、
プロセッサ（３００）とを有する移動型ロボットであって、前記プロセッサ（３００）が、
・前記移動型ロボットの運動を規定する命令および前記移動型ロボットの行動を規定する命令を入力（３１０、３１１）として受信し、
・前記入力に基づいて前記移動型ロボットの重心の目標軌道（３３０）を計算（３２０）し、
・前記移動型ロボットの重心の前記目標軌道（３３０）および前記移動型ロボットの動的制約に基づいて、ある時間範囲にわたる前記移動型ロボットの重心の予測軌道（３５０）を計算（３４０）し、
・前記移動型ロボットの重心の前記予測軌道（３５０）および前記移動型ロボットの行動を規定する前記命令（３１１）に基づいて多関節四肢の予測動作（３７０）を計算（３６０）すべく構成されている移動型ロボット。
【請求項２】
前記プロセッサが、一連の時間刻みで、
−  前記移動型ロボットの前記多関節四肢の重心の位置と、
−  前記移動型ロボットの重心の位置とを、前記移動型ロボットの目標位置、および前記移動型ロボットの前記多関節四肢の重心の質量および位置に基づいて計算することにより、
前記移動型ロボットの重心の前記目標軌道（３３０）を計算（３２０）すべく構成されている、請求項１に記載の移動型ロボット。
【請求項３】
前記プロセッサが、前記移動型ロボットの動的モデルを用いて前記移動型ロボットの重心の前記予測軌道（３３０）を計算（３４０）すべく構成されている、請求項１〜２のいずれか１項に記載の移動型ロボット。
【請求項４】
前記プロセッサが、
−  各々が前記移動型ロボットの基部の重心および前記ロボットの上体の重心である２つの質量を含む二重倒立振り子として前記移動型ロボットをモデル化すること、
−  前記移動型ロボットのゼロモーメントポイントが、前記移動型ロボットの前記基部に対して規定された位置を有する多角形から決して外れず、且つ前記移動型ロボットの前記基部が最大加速度および速度を有するという制約を定式化すること、
−  コスト関数であって、前記目標軌道（３３０）内での前記移動型ロボットの重心の位置、前記予測軌道（３５０）内での前記移動型ロボットの重心の位置、前記目標軌道（３３０）内での前記移動型ロボットの重心の速度、および前記予測軌道内での前記移動型ロボットの重心の速度の差のうち少なくとも１つに基づくコスト関数を最小化すべく前記二重倒立振り子の制御の問題を解くことにより、
前記移動型ロボット（３３０）の重心の前記予測軌道を計算（３４０）すべく構成されている、請求項３に記載の移動型ロボット。
【請求項５】
前記プロセッサが、コスト関数を最小化すべく前記移動型ロボットの動的制約に関して、多関節四肢の予測動作（３７０）を計算（３６０）すべく構成されている、請求項１〜４のいずれか１項に記載の移動型ロボット。
【請求項６】
前記コスト関数が、一連の時間刻みにおける、前記移動型ロボットの重心の予測位置間の距離、多関節四肢の目標速度と多関節四肢の予測速度の差、および多関節四肢の目標位置と多関節四肢の予測位置との間の距離のうち少なくとも２つの加重平均である、請求項５に記載の移動型ロボット。
【請求項７】
前記プロセッサが、関節角度、関節速度、および関節加速度の制約限界の下で多関節四肢の予測動作を計算すべく構成されている、請求項５または６に記載の移動型ロボット。
【請求項８】
前記移動型ロボットの行動を規定する前記命令が、到達すべき少なくとも１つの計時された姿勢により規定され、前記プロセッサが更に、前記移動型ロボットの前記少なくとも１つの計時された姿勢を、前記移動型ロボットに対する多関節四肢の目標軌道に変換すべく構成されている、請求項１〜７のいずれか１項に記載の移動型ロボット。
【請求項９】
前記移動型ロボットの重心の前記予測軌道が、ある時間枠にわたる一連の時間刻みにおける前記移動型ロボットの予測位置の値および重心の速度により規定される、請求項１〜８のいずれか１項に記載の移動型ロボット。
【請求項１０】
多関節四肢の予測動作が、前記一連の時間刻みにおける多関節四肢間の角度および多関節四肢間の角速度の１つ以上の値により規定され、前記一連の時間刻みにおける多関節四肢間の角度および多関節四肢間の角速度の前記１つ以上の値が、モーターのセットポイント指令に変換される、請求項９に記載の移動型ロボット。
【請求項１１】
所定の時間刻みが２０ミリ秒であり、前記時間枠の持続時間が１．６秒である、請求項９または１０のいずれか１項に記載の移動型ロボット。
【請求項１２】
前記移動型ロボットの運動を規定する前記命令、および前記移動型ロボットの行動を規定する前記命令がユーザーインターフェース上でユーザーにより設定される、請求項１〜１１のいずれか１項に記載の移動型ロボット。
【請求項１３】
前記移動型ロボットの運動を規定する前記命令が所定の軌道に対応し、前記プロセッサが、想定外の事象の発生時に前記移動型ロボットの行動を規定する命令を計算すべく構成されている、請求項１〜１のいずれか１項に記載の移動型ロボット。
【請求項１４】
複数の多関節四肢を有する移動型ロボットの運動および行動を規定するユーザーインターフェース（４００ａ、４００ｂ）であって、
−  前記移動型ロボットの運動を規定する命令および前記移動型ロボットの行動を規定する命令を入力としてユーザーに設定させ、
−  前記入力に基づいて前記移動型ロボットの重心の目標軌道を計算し、
−  前記移動型ロボットの重心の前記目標軌道および前記移動型ロボットの動的制約に基づいて、ある時間範囲にわたる前記移動型ロボットの重心の予測軌道を計算し、
−  前記移動型ロボットの重心の前記予測軌道および前記移動型ロボットの行動を規定する前記命令に基づいて、多関節四肢の予測動作を計算するコンピュータ符号命令を含むユーザーインターフェース（４００ａ、４００ｂ）。
【請求項１５】
複数の多関節四肢を有する移動型ロボットの予測動作を計算する方法であって、
−  前記移動型ロボットの運動を規定する命令および前記移動型ロボットの行動を規定する命令を入力（６１０、６１１）として受信するステップと、
−  前記入力（６１０、６１１）に基づいて前記移動型ロボットの重心の目標軌道（６２１ｂ）を計算するステップ（６２０ｂ）と、
−  前記移動型ロボットの重心の前記目標軌道（６２１ｂ）および前記移動型ロボットの動的制約に基づいて、ある時間範囲にわたる前記移動型ロボットの重心の予測軌道（６３１ｂ）を計算するステップ（６３０ｂ）と、
−  前記移動型ロボットの重心の前記予測軌道（６３１ｂ）および前記移動型ロボットの行動を規定する命令（６１１）に基づいて、多関節四肢の予測動作（６４１ｂ）を計算するステップ（６４０ｂ）とを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボット工学分野に関する。より具体的には、移動型ロボットによる、多関節四肢の移動と動作の組み合わせを含む複雑な運動の実行に関する。
【背景技術】
【０００２】
ロボットは、頭部、胴体、両腕、両手等、特定の人間的外観の特性を有していれば人型ロボットとみなすことができる。しかし、人型ロボットは多少洗練されていてよい。四肢の関節の数はより多くまたは少なくてもよい。人型ロボットは、自身のバランスを静的および／または動的に制御して、恐らくは３次元で二足歩行する、または床の上で寝返りを打つことができる。環境から信号を拾う（「聞く」、「見る」、「触る」、「感じる」等）ことができ、多少洗練された行動に従い反応することでき、且つ言葉または仕草により他のロボットまたは人間と対話することができる。人型ロボットではバランスと移動の問題がより個別に生じるが、擬似人間的外観を有する移動型ロボット、ペットロボット、または移動型産業用ロボットではより一般的に生じる。
【０００３】
移動型ロボットの移動は、当該ロボットの関節のアクチュエータに指令を送ることにより管理される。逆動力学を用いて、ロボットのバランスを維持しながらロボットに所望の行動を割り当てることが可能である。Ｋａｊｉｔａ，Ｓｈｕｕｊｉ，ｅｔ  ａｌ．“Ｂｉｐｅｄ  ｗａｌｋｉｎｇ  ｐａｔｔｅｒｎ  ｇｅｎｅｒａｔｉｏｎ  ｂｙ  ｕｓｉｎｇ  ｐｒｅｖｉｅｗ  ｃｏｎｔｒｏｌ  ｏｆ  ｚｅｒｏ−ｍｏｍｅｎｔ  ｐｏｉｎｔ．”Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ，２００３，Ｐｒｏｃｅｅｄｉｎｇｓ，ＩＣＲＡ’０３，ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｖｏｌ．２，ＩＥＥＥ，２００３は、ゼロモーメントポイントを制御することにより、二足人型ロボットに転倒せずに軌道を辿らせる方法を開示している。ゼロモーメントポイント（ＺＭＰ）は、位置がロボットの加速および重力に依存する仮想点であって、水平慣性と重力の和が０に等しい点に対応している。ロボットがバランスを保ったままでいるために、当該ＺＭＰが安定領域に留まっている必要がある。Ｋａｊｉｔａが開示した二足ロボットの動力学モデルにより、ロボットのＺＭＰと共に重心（ＣｏＭ）が安定領域に留り、従ってロボットが転倒する危険性無しに軌道に沿って歩行することができる。
【０００４】
Ｋａｊｉｔａによれば、ロボットへ送られる全ての指令は、ロボットに平衡を保ちながら歩行させることを目的としている。従って、ロボットの歩行に起因するＣｏＭまたはＺＭＰの自然なバランスは、ロボットの他の多関節四肢の動作により補償することができる。例えば、ロボットの腕の位置および加速を用いて、ロボットのＺＭＰまたはＣｏＭの過剰な動作を補償することができる。
【０００５】
ところで、多くの用途において、例えば相互作用を規定すべくロボットに多関節四肢の動作を実行させることが望ましい。そのような多関節四肢の動作は例えばダンスまたは振付けを規定すること、または人間の行動、例えば握手に対応することができる。ロボットの足の移動によるそのような関節の動作の組み合わせにより、ロボットのＺＭＰまたはＣｏＭが自身の安全な領域から離れ、従ってロボットが転倒する恐れがある。
【０００６】
ロボットの全ての関節に、軌道を辿りながらダンス動作になるべく近い動作を実行させる指令を決定することが可能である。特に、逆動力学を用いて目標動作になるべく近い動作を実行させる指令をロボットの各関節に割り当てることが可能である。しかし、ロボットが多数の関節を有する場合、逆動力学も多数の自由度を有するため、この解決策の計算負荷が高まる。これは、脚、腕等に多数の関節を有する大部分の現代型ロボットに当てはまる。この場合、逆動力学は、ロボットに搭載された限られた計算リソースでリアルタイムに計算するには複雑過ぎる。
【０００７】
Ｒａｍｏｓ，Ｏ．，ｅｔ  ａｌ．“Ｄｙｎａｍｉｃ  ｗｈｏｌｅ  ｂｏｄｙ  ｍｏｔｉｏｎ  ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  ｔｈｅ  ｄａｎｃｅ  ｏｆ  ａ  ｈｕｍａｎｏｉｄ  ｒｏｂｏｔ”、ＩＥＥＥ  Ｒｏｂｏｔｉｃｓ＆Ａｕｔｏｍａｔｉｏｎ  Ｍａｇａｚｉｎｅ（ＲＡＭ）（２０１５）は、ロボットにダンス動作を再現させる方法を開示している。Ｒａｍｏｓは、逆動力学を用いてロボットの運動を生成する指令、および逆運動学を用いてダンス動作用の指令を別々に計算する方法を開示しており、これらの指令の生成はタスクのスタック上のタスクとして並列に実行される。
【０００８】
Ｒａｍｏｓの文献では、逆動力学を用いて人間パフォーマの軌道および結果的に得られるロボットのＣｏＭの予測軌道を追跡すべく送られる指令を動的に計算する。逆運動学を並列に用いて、ロボットのバランスを維持しながら、ダンサーのダンス動作になるべく近いダンス動作をロボットに行わせる指令計算する。この方法は、ロボットが、軌道を辿ってダンス動作を実行することを同時にできるようにする利点がある。実際、逆動力学は限られた数の自由度で実行されるため、計算負荷が過度に高い訳ではない。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Ｋａｊｉｔａ，Ｓｈｕｕｊｉ，ｅｔ  ａｌ．“Ｂｉｐｅｄ  ｗａｌｋｉｎｇ  ｐａｔｔｅｒｎ  ｇｅｎｅｒａｔｉｏｎ  ｂｙ  ｕｓｉｎｇ  ｐｒｅｖｉｅｗ  ｃｏｎｔｒｏｌ  ｏｆ  ｚｅｒｏ−ｍｏｍｅｎｔ  ｐｏｉｎｔ．”Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ，２００３，Ｐｒｏｃｅｅｄｉｎｇｓ，ＩＣＲＡ’０３，ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｖｏｌ．２，ＩＥＥＥ，２００３
【非特許文献２】Ｒａｍｏｓ，Ｏ．，ｅｔ  ａｌ．“Ｄｙｎａｍｉｃ  ｗｈｏｌｅ  ｂｏｄｙ  ｍｏｔｉｏｎ  ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  ｔｈｅ  ｄａｎｃｅ  ｏｆ  ａ  ｈｕｍａｎｏｉｄ  ｒｏｂｏｔ”，ＩＥＥＥ  Ｒｏｂｏｔｉｃｓ  ＆  Ａｕｔｏｍａｔｉｏｎ  Ｍａｇａｚｉｎｅ（ＲＡＭ）（２０１５）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、逆動力学によりロボットのＣｏＭの軌道が計算されたならば、Ｒａｍｏｓの方法はダンス動作の追随に限定される。実際、逆動力学を用いて他の四肢の動作を計算する場合、Ｒａｍｏｓが開示する方法ではロボットのバランス、特にＣｏＭおよびＺＭＰの位置を維持しなければならない。従って、ロボットの多関節四肢の多くの動作は、ロボットのバランスを失わせて転倒させるため実行不可能である。従って、Ｒａｍｏｓの方法は、ダンサーのダンス動作の限られた模倣しか行えない。
【００１１】
従って、軌道を辿ること、および行動の一部である多関節四肢の表現力豊かな動作の実行を同時に可能にする指令をリアルタイムに計算可能なロボットに対するニーズがある。この問題はダンスの振り付けに限定されず、握手する、または想定外の事象を管理する、例えばロボットの基部で軌道を辿りながら腕または胴で障害物を除ける、等の動作を実行しようとした際に生じる。
【課題を解決するための手段】
【００１２】
このため、本発明は、複数の多関節四肢と、プロセッサとを有する移動型ロボットであって、プロセッサが、移動型ロボットの運動を規定する命令および移動型ロボットの行動を規定する命令を入力として受信し、入力に基づいて移動型ロボットの重心の目標軌道を計算し、移動型ロボットの重心の目標軌道および移動型ロボットの動的制約に基づいて、ある時間範囲にわたる移動型ロボットの重心の予測軌道を計算し、移動型ロボットの重心の予測軌道および移動型ロボットの行動を規定する命令に基づいて多関節四肢の予測動作を計算すべく構成されている移動型ロボットを開示する。
【００１３】
有利な特徴として、プロセッサは、一連の時間刻みで、移動型ロボットの多関節四肢の重心の位置と、移動型ロボットの重心の位置とを、移動型ロボットの目標位置、および移動型ロボットの多関節四肢の重心の質量および位置に基づいて計算することにより、移動型ロボットの重心の目標軌道を計算すべく構成されている。
【００１４】
有利な特徴として、プロセッサは、移動型ロボットの動的モデルを用いて移動型ロボットの重心の予測軌道を計算すべく構成されている。
【００１５】
有利な特徴として、プロセッサは、各々が移動型ロボットの基部の重心および当該ロボットの上体の重心である２つの質量を含む二重倒立振り子として移動型ロボットをモデル化し、移動型ロボットのゼロモーメントポイントが、移動型ロボットの基部に対して規定された位置を有する多角形から決して外れず、且つ移動型ロボットの基部が最大加速度および速度を有するという制約を定式化し、コスト関数、すなわち目標軌道内での移動型ロボットの重心の位置、予測軌道内での移動型ロボットの重心の位置、目標軌道内での移動型ロボットの重心の速度、および予測軌道内での移動型ロボットの重心の速度の差のうち少なくとも１つに基づくコスト関数を最小化すべく二重倒立振り子の制御の問題を解くことにより、移動型ロボットの重心の予測軌道を計算すべく構成されている。
【００１６】
有利な特徴として、プロセッサは、コスト関数を最小化すべく移動型ロボットの動的制約に関して多関節四肢の予測動作を計算すべく構成されている。
【００１７】
有利な特徴として、コスト関数は、一連の時間刻みにおける、移動型ロボットの重心の予測位置間の距離、多関節四肢の目標速度と多関節四肢の予測速度の差、および多関節四肢の目標位置と多関節四肢の予測位置との距離のうち少なくとも２つの加重平均である。
【００１８】
有利な特徴として、プロセッサは、関節角度、関節速度、および関節加速度の制約限界の下で多関節四肢の予測動作を計算すべく構成されている。
【００１９】
有利な特徴として、移動型ロボットの行動を規定する命令は、到達すべき少なくとも１つの計時された姿勢により規定されていて、プロセッサは更に、移動型ロボットの前記少なくとも１つの計時された姿勢を、移動型ロボットに対する多関節四肢の目標軌道に変換すべく構成されている。
【００２０】
有利な特徴として、移動型ロボットの重心の予測軌道は、ある時間枠にわたる一連の時間刻みにおける移動型ロボットの予測位置の値および重心の速度により規定される。
【００２１】
有利な特徴として、多関節四肢の予測動作は、前記一連の時間刻みにおける多関節四肢間の角度および多関節四肢間の角速度の１つ以上の値により規定され、前記一連の時間刻みにおける多関節四肢間の角度および多関節四肢間の角速度の前記１つ以上の値が、モーターのセットポイント指令に変換される。
【００２２】
有利な特徴として、所定の時間刻みは２０ミリ秒であり、時間枠の持続時間は１．６秒である。
【００２３】
有利な特徴として、移動型ロボットの運動を規定する命令、および移動型ロボットの行動を規定する命令はユーザーインターフェース上でユーザーにより設定される。
【００２４】
有利な特徴として、移動型ロボットの運動を規定する命令は所定の軌道に対応し、プロセッサは、想定外の事象の発生時に移動型ロボットの行動を規定する命令を計算すべく構成されている。
【００２５】
本発明はまた、複数の多関節四肢を有する移動型ロボットの運動および行動を規定するユーザーインターフェースを開示しており、前記ユーザーインターフェースは、移動型ロボットの運動を規定する命令および移動型ロボットの行動を規定する命令を入力としてユーザーに設定させ、入力に基づいて移動型ロボットの重心の目標軌道を計算し、移動型ロボットの重心の目標軌道および移動型ロボットの動的制約に基づいて、ある時間範囲にわたる移動型ロボットの重心の予測軌道を計算し、移動型ロボットの重心の予測軌道および移動型ロボットの行動を規定する命令に基づいて、多関節四肢の予測動作を計算するコンピュータ符号命令を含んでいる。
【００２６】
本発明はまた、複数の多関節四肢を有する移動型ロボットの予測動作を計算する方法を開示しており、前記方法は、移動型ロボットの運動を規定する命令および移動型ロボットの行動を規定する命令を入力として受信するステップと、入力に基づいて移動型ロボットの重心の目標軌道を計算するステップと、移動型ロボットの重心の目標軌道および移動型ロボットの動的制約に基づいて、ある時間範囲にわたる移動型ロボットの重心の予測軌道を計算するステップと、移動型ロボットの重心の予測軌道および移動型ロボットの行動を規定する命令に基づいて多関節四肢の予測動作を計算するステップとを含んでいる。
【００２７】
本発明により、移動型ロボットが目標軌道を辿り、バランスを失うことなく行動を実行することができる。
【００２８】
本発明により、移動型ロボットの自由度が小さいか、または多関節四肢の目標軌道の制約が厳しい場合であっても移動型ロボットがバランスを失うことなく多関節四肢の目標軌道を正確に辿ることができる。
【００２９】
本発明により、ユーザーは移動型ロボットの行動をより自由に規定することができる。
【００３０】
本発明により、ユーザーは、従来技術では実行できなかったであろう、ロボットが実行可能な動作を規定することができる。
【００３１】
本発明は、計算の複雑度を抑えながら移動型ロボットに内蔵することができる。
【００３２】
本発明により、ロボットが軌道を辿っている場合、想定外の制約または相互作用を考慮すべく、例えば想定外の障害物を回避すべく、または対話可能な人間またはロボットに遭遇した場合の行動を取るべくロボットの行動をリアルタイムに適合させることができる。
【００３３】
本発明は、ロボットのファームウェアの簡単な更新によりロボット内に実装することができる。
【００３４】
以下の多数の例示的実施形態および添付の図面の説明から本発明に対する理解が深まると共に各種の特徴および利点が明らかになろう。
【図面の簡単な説明】
【００３５】
【図１】本発明の多くの実施形態における移動型ロボットの物理アーキテクチャを示す。
【図２】本発明の多くの実施形態におけるロボットのソフトウェアモジュールの機能アーキテクチャを示す。
【図３】本発明によるロボットの関節の重心の軌道および角速度を計算するソフトウェアモジュールのアーキテクチャを示す。
【図４】本発明の多くの実施形態における移動型ロボットの重心の予測軌道を計算する場合の動的制約の定式化に用いる支持多角形の例を示す。
【図５ａ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図５ｂ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図５ｃ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図５ｄ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図５ｅ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図５ｆ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図６ａ】従来技術の方法および本発明の実施形態における方法を各々示す。
【図６ｂ】従来技術の方法および本発明の実施形態における方法を各々示す。
【発明を実施するための形態】
【００３６】
図１に、本発明の多くの実施形態における人型ロボットの物理アーキテクチャを示す。
【００３７】
同図の特定のロボット１００は、本発明を実装可能な人型ロボットの一例に過ぎない。同図のロボットの下肢は、歩行機能は有していないが、当該ロボットが置かれた表面上を転がる基部１４０に乗って任意の方向に移動することができる。本発明は、歩行に適合されたロボットに容易に実装可能である。例えば、当該ロボットは、約１２０ｃｍの高さ１１０、約６５ｃｍの奥行き１２０、および約４０ｃｍの幅１３０を有している。特定の実施形態において、本発明のロボットは、自身を取り巻く環境にメッセージ（音声、映像、ウェブページ）を伝達する、またはタブレットの触覚インターフェースを介してユーザーから入力を受信することができるタブレット１５０を有している。タブレットのプロセッサに加え、本発明によるロボットはまた自身のマザーボードのプロセッサも使用するが、これは例えばＩｎｔｅｌ（商標）社製ＡＴＯＭ（商標）Ｚ５３０であってよい。本発明のロボットはまた有利な特徴として、マザーボードと、特に本発明の特定の実施形態において四肢の関節のモーターおよびロボットが車輪として用いるボールを制御する磁気ロータリーエンコーダ（ＭＲＥ）およびセンサを搭載したボードとの間のデータフローの処理専用のプロセッサを含んでいる。モーターの種類は、硬い関節に必要とされる最大トルクの程度に応じて異なっていてよい。例えば、ｅ−ｍｉｎｅｂｅａ（商標）社製ブラシ付きＤＣコアレスモーター（例：ＳＥ２４Ｐ２ＣＴＣＡ）、またはＭａｘｏｎ（商標）社製ブラシレスＤＣモーター（例：ＥＣ４５＿７０Ｗ）を用いてよい。ＭＲＥは好適には、１２または１４ビットの精度を有する、ホール効果を用いる方式である。
【００３８】
本発明の実施形態において、図１に示すロボットはまた各種のセンサを含んでいる。それらの一部は、ロボットの位置および動作の制御に用いられる。これは例えば、ロボットの胴体に設置された、３軸ジャイロスコープおよび３軸加速度計を含む慣性装置の場合である。ロボットはまた、毎秒５フレームで５メガピクセルの解像度、および水平方向５７°、垂直方向４４°の視野（ＦＯＶ）を有するＳｈｅｎｚｅｎ  Ｖ−Ｖｉｓｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ（商標）社製（ＯＶ５６４０）等のシステムオンチップ（ＳＯＣ）方式の２つの２ＤカラーＲＧＢカメラ１６０をロボットの額部（上部および底部）に含んでいてよい。毎秒２０フレームで０．３メガピクセルの解像度、および２Ｄカメラと同一ＦＯＶを有するＡＳＵＳ  ＸＴＩＯＮ（商標）社製ＳＯＣセンサ等、１つの３Ｄセンサ１７０もまた、ロボットの両眼の裏側に含まれていてよい。本発明のロボットはまた、自身を取り巻く環境内における物体／生物体に対する自身の位置を検出可能であるように、レーザー線発生器を、例えば頭部１８０ａに３つおよび基部１８０ｂに３つ備えていてよい。本発明の他の実施形態において、ロボットは基部にレーザー線発生器だけを備えている。本発明のロボットはまた、自身を取り巻く環境内における音声を検出可能なマイクロフォンを含んでいてよい。一実施形態において、１ｋＨｚで３００ｍＶ／Ｐａ±３ｄＢの感度、および３００Ｈｚ〜１２ｋＨｚ（１ｋＨｚに対して１０ｄＢ）の周波数範囲を有する４つのマイクロフォンがロボットの頭部に埋め込まれていてよい。本発明のロボットはまた、自身を取り巻く環境内の物体／人間との距離を測定すべく、２つのソナーセンサ１９０を基部の正面および背面に含んでいてよい。
【００３９】
ロボットはまた、人間との対話を可能にすべく触覚センサを自身の頭部および手に含んでいてよい。また、自身の経路上で遭遇する障害物を検出すべくバンパー１Ｂ０を自身の基部に含んでいてよい。
【００４０】
ロボットはまた、意図された軌道と実際の軌道との間の差を計算することにより、自身の上部要素が触れた物体との接触を検出することができる。この目的の方法は、同一出願人により同日出願された欧州特許出願第ＥＰ１４３０５８４８．５号に開示されている。
【００４１】
自身の感情を翻訳して自身を取り巻く環境内の人間と通信すべく、本発明のロボットはまた、
−  例えば自身の両眼、両耳、および両肩にＬＥＤ、および
−  例えば２つのスピーカーを両耳に含んでいてよい。
【００４２】
本発明のロボットは、イーサネット（登録商標）ＲＪ４５またはＷｉＦｉ８０２．１１接続を介して基地局または他のロボットと通信可能である。
【００４３】
本発明のロボットは、約４００Ｗｈのエネルギーを有するリチウム鉄リン酸塩電池により電力供給することができる。ロボットは、自身が搭載する電池の種類に適した充電ステーションにアクセスすることができる。
【００４４】
ロボットの位置／動作は、センサの測定値を参照しながら、各四肢により規定された連鎖および各四肢の終端で規定されたイフェクタを起動するアルゴリズムを用いて、自身のモーターにより制御される。
【００４５】
センサ１６０、１７０、１８０、１９０、１Ａ０または１Ｂ０から、あるいは自身の上部要素の物体との接触の評価結果から、欧州特許出願第ＥＰ１４３０５８４９．３号に開示されているように、ロボットの計算モジュールは、自身を取り巻く環境内における障害物の局所的マップを計算することができる。
【００４６】
図２に、本発明の多くの実施形態におけるロボットのソフトウェアモジュールの機能アーキテクチャを示す。
【００４７】
図２は、本発明のいくつかの実施形態を実装可能にする物理および機能アーキテクチャの構成図である。この種のロボットは有利な特徴として、本発明の実施形態におけるロボットの機能の操作を可能にする高水準ソフトウェアを備えている。ＮＡＯＱＩと呼ばれるこの種のソフトウェアアーキテクチャは特に、２００９年１０月１０日公開の特許出願ＷＯ２００９／１２４９５５に開示されている。当該アーキテクチャは、ロボットとＰＣまたは遠隔サイトとの間の通信を管理すると共に、本発明の実装に必要なソフトウェアインフラを与えるソフトウェアを交換するための基本機能を含んでいる。また、欧州特許出願第ＥＰ１４３０５５７８．８号は、高度な相互作用／対話能力を備えたロボットを操作すべく設計されたオペレーティングシステムを開示している。
【００４８】
ＮＡＯＱＩはロボット用途に最適化されたフレームワークであり、いくつかの言語、特にＣ＋＋、Ｐｙｔｈｏｎ、およびＵｒｂｉに対応している。本発明の関連分野で、ＮＡＯＱＩの以下のモジュールが特に有用である。
−  モジュールＡＬＭｅｍｏｒｙ（２１０）は、ＮＡＯＱＩの各種のモジュール間で共有されるメモリを管理する。
−  モジュールＤＣＭ（２２０）は、物理的ロボット（モーター、センサ）との通信を管理する。
−  モジュールＡＬＲｏｂｏｔＰｏｓｅ（２３０）は、基準姿勢と比較することによりロボットの現在の姿勢を計算する。
−  ＡＬＭｏｔｉｏｎモジュール（２４０）は、ロボットの動作を管理する。
【００４９】
これらの４つのモジュールは有利な特徴としてＣ＋＋でコーディングされている。同図はまた、モジュール間のデータフローを示す。特に、転倒回避および衝突回避機能の実装に必要な入力は、
−  センサ（例えばカメラ、レーザー線発生器、ソナー、触覚センサ）の値、
−  ロボットの姿勢である。
【００５０】
生じ得る衝突を検出する場合、本発明を実装すべく設計された特定の機能は、ロボットの軌道を更新する指令を発する。
【００５１】
また同図に、完全に例示的に、各モジュールにより処理されたデータのリフレッシュサイクル用の値を示しており、ロボットの姿勢および転倒管理データの更新に２０ミリ秒、いくつかのセンサの値に１０ミリ秒である。ロボットを取り巻く環境内における障害物のマップは、３Ｄカメラが撮像する画像処理に要する典型的なサイクル時間である１００ミリ秒毎に更新できるが、これは一例に過ぎない。
【００５２】
図３に、本発明によるロボットの重心の軌道および関節の角速度を計算するソフトウェアモジュールのアーキテクチャを示す。
【００５３】
当該アーキテクチャ３００のモジュールはＣ＋＋、またはプロセッサによりネイティブに実行可能な任意の言語、例えばＣ言語、仮想マシンで実行可能な任意のインタープリタ言語、例えばＪａｖａ（登録商標）、任意のスクリプト言語、例えばＰｙｔｈｏｎでコーディングされていてよい。
【００５４】
本発明のロボットは、ソフトウェアモジュール、例えばアーキテクチャ３００のモジュールをロードする場合、ロボットの重心（ＣｏＭ）の予測軌道、および多関節四肢の予測動作を計算すべく構成されたプロセッサを有している。
【００５５】
アーキテクチャ３００のソフトウェアモジュールを実行すべく構成されたプロセッサは、移動型ロボットの運動を規定する命令３１０、および移動型ロボットの行動を規定する命令３１１を入力として受信する。
【００５６】
本発明の好適な実施形態において、移動型ロボットの運動を規定する命令３１０は、移動型ロボットの目標軌道である。命令３１０は例えば、一連の時間刻みで、且つある時間枠にわたり、移動型ロボットの一連の位置により設定することができる。当該ロボットが図１に示すロボットのように車輪付きロボットである場合、命令は移動型ロボットの基部の一連の位置に対応していてよい。本発明の多くの実施形態において、命令３１０は、ロボットの所定の点、またはロボットの本体に堅牢に取り付けられたフレームの位置を指している。
【００５７】
命令３１０が適用される点を決定するための多くの異なる実施形態が可能である。ロボットが車輪付きロボットである実施形態において、命令３１０は例えば、移動型ロボットの基部の重心の一連の位置を規定することができる。ロボットが歩行型ロボットである実施形態において、命令３１０は例えば、ロボットの足の中央の点の一連の位置を規定することができる。
【００５８】
本発明の各種実施形態によれば、移動型ロボットの行動を規定する命令３１１は、異なる仕方で表されていてよい。例えば、当該命令は、一連の時間刻みにおいて、ロボットの全ての関節動作の角度値および角速度を含んでいてよい。ロボットの行動を規定する命令３１１はまた、到達する１つ以上の計時された姿勢を含んでいてよい。これは例えばロボットが握手するように命令された場合であり、ロボットの行動を規定する命令３１１は、時点ｔで握手しているときのロボットの姿勢の記述を含み、プロセッサは、ロボットの運動学的および機械的制約の下に留まりながら、当該位置に到達するのに最も効率的な仕方を決定するより大きな自由度を有している。
【００５９】
本発明の多くの実施形態において、移動型ロボットの行動を規定する命令３１１は、予め計算されている。これは例えば、ロボットの行動が事前に意図されている場合である。これは例えばロボットが事前に準備されたダンスの振付けを実行する場合である。本発明の他の実施形態において、移動型ロボットの行動を規定する命令３１１はその場で計算される。これは例えば、ロボットが、センサからの入力に基づいて、取るべき行動をリアルタイムに決定する場合である。例えば、ロボットは、人間を見かけたときに、近寄って握手することを決定し、当該人間と握手するために到達すべき目標姿勢および辿るべき軌道を生成する。別のシナリオにおいて、ロボットは軌道を辿ることができる。次いで、想定外の障害物が、ロボットが回避可能な軌道に現れる。次いで、障害物を回避するために到達すべき計時された姿勢をその場で生成し、目標軌道および障害物を回避するために到達すべき計時された姿勢に基づいて、多関節四肢の予測動作を計算する。
【００６０】
アーキテクチャ３００は、入力に基づいて移動型ロボットの重心の目標軌道３３０を計算するソフトウェアモジュール３２０を含んでいる。ロボットのプロセッサは、ソフトウェアモジュール３２０をロードして実行する場合、ロボットの目標軌道および移動型ロボットの行動を規定する命令に基づいて、ロボットの重心の目標軌道を計算すべく構成されている。
【００６１】
本発明の多くの実施形態において、移動型ロボットの運動を規定する命令３１０が、一連の計時された位置により形成されたロボットの目標軌道ではない場合、プロセッサは、移動型ロボットの運動を規定する命令３１０を一連の計時された位置により形成されたロボットの目標軌道に変換すべく構成されている。
【００６２】
同様に、本発明の多くの実施形態において、プロセッサは、移動型ロボットの行動を規定する命令３１１がロボットの多関節四肢の目標軌道ではない場合、移動型ロボットの行動を規定する命令３１１をロボットの多関節四肢の目標軌道に変換すべく構成されている。
【００６３】
本発明の多くの実施形態において、プロセッサは、一連の計時された位置により形成されたロボットの目標軌道およびロボットの多関節四肢の目標軌道に基づいて、ロボットの重心の目標軌道３３０を計算すべく構成されている。本発明の多くの実施形態において、プロセッサは、ある時間枠にわたり一連の時間刻みで、ロボットの位置に基づいてロボットの重心の位置、および一連の時間刻みでロボットの多関節四肢の位置および質量を計算することにより、当該計算を直接的に実行すべく構成されている。本方法は有利な特徴として、限られた計算能力を用いてロボットの重心の目標軌道を高速且つ直接的に計算することを可能にする。
【００６４】
アーキテクチャ３００は更にソフトウェアモジュール３４０を含み、プロセッサは、ソフトウェアモジュール３４０をロードして実行する場合、移動型ロボットの重心の目標軌道３３０および移動型ロボットの動的制約に基づいて、ある時間範囲にわたる移動型ロボットの重心の予測軌道３５０を計算すべく構成されている。
【００６５】
本発明の多くの実施形態において、プロセッサは、第２のモジュール３４０をロードする場合、移動型ロボットの動的モデルを用いてロボットの重心の予測軌道を計算すべく構成されている。本発明の多くの実施形態において、動的モデルは、移動型ロボットの予測的制御の線形モデルである。
【００６６】
本発明の多くの実施形態において、当該モデルは倒立振り子モデルである。これは例えば、ロボットが二足歩行ロボットである場合であり、従ってプロセッサは、
−  移動型ロボットを、当該ロボットの重心である１つの質量を含む二重倒立振り子としてモデル化し、
−  移動型ロボットのゼロモーメントポイントが当該ロボットに対して規定された位置を有する多角形から決して外れないという制約の下で、倒立振り子の制御の問題を解くべく構成されている。
【００６７】
本発明の多くの実施形態において、移動型ロボットは車輪付き移動型ロボットであり、当該モデルは二重倒立振り子モデルであって、プロセッサは、
−  移動型ロボットを、各々が移動型ロボットの基部の重心およびロボットの上部の重心である２つの質量を含む二重倒立振り子としてモデル化し、
−  移動型ロボットのゼロモーメントポイントが移動型ロボットに対して規定された位置を有する多角形から決して外れず、且つ移動型ロボットの基部が最大加速度および速度を有している制約の下で二重倒立振り子を制御する問題を解くべく構成されている。
【００６８】
このような予測的制御の線形モデルの一例がＪ．Ｌａｆａｙｅ  ｅｔ  ａｌ．，Ｌｉｎｅａｒ  Ｍｏｄｅｌ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃｏｎｔｒｏｌ  ｏｆ  ｔｈｅ  Ｌｏｃｏｍｏｔｉｏｎ  ｏｆ  Ｐｅｐｐｅｒ，ａ  ｈｕｍａｎｏｉｄ  ｒｏｂｏｔ  ｗｉｔｈ  ｏｍｎｉｄｉｒｅｃｔｉｏｎａｌ  ｗｈｅｅｌｓ，２０１４  １４ｔｈ  ＩＥＥＥ−ＲＡＳ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔｓ（Ｈｕｍａｎｏｉｄｓ），Ｎｏｖｅｍｂｅｒ  １８−２０，Ｍａｄｒｉｄ，Ｓｐａｉｎに開示されている。
【００６９】
より具体的には、当該ロボットが図１に示すロボットのような車輪付きロボットである実施形態において、プロセッサは、二質点モデルを用いるロボットの重心の予測軌道を計算すべく構成することができ、ｂは移動基部の重心（ＣｏＭ）の位置、ｃは上体のＣｏＭの位置である。当該二質点モデルのニュートンおよびオイラー方程式は、以下のように書くことができる。
【数１】
2019514713.tif 000003
ここに、Ｆは地面との接触力、ｐは対応する圧力中心（ＣｏＰ）、ｍｂおよびｍｃは移動基部および上体の質量である。
【００７０】
ロボットが水平な地面上で移動している仮定の下で、以下の仮定および表記により上式を簡素化することができる。
−  水平および垂直方向の両軸に対して各々上付き添え字ｘ、ｙ、ｚ関連付け、
−  重力ベクトルをｇｘ＝ｇｙ＝ｇｚ＝ｇと定義し、
−  ロボットが水平な地面上を移動する場合、ＺＭＰの高さは一定ｐｚ＝０であり、
−  移動基部の高さは一定ｂｚ＝ｌであり、
−  上体の上下運動の影響を無視し、その高さも一定ｃｚ＝ｈである。
【００７１】
本発明の他の実施形態において、上式は水平でない地面、または水平な地面と水平でない地面との間の移動に適合されている。本明細書では、制御問題の例として水平な地面上を移動するロボットを挙げる。しかし、当業者であれば公知の従来方法を用いて他のケースに軌道の計算を適合させることができる。例えば、Ｌａｆａｙｅ，Ｊ．（２０１５），Ｃｏｍｍａｎｄｅ  ｄｅｓ  ｍｏｕｖｅｍｅｎｔｓ  ｅｔ  ｄｅ  ｌ’ｅｑｕｉｌｉｂｒｅ  ｄ’ｕｎ  ｒｏｂｏｔ  ｈｕｍａｎｏｉｄｅ  ａ  ｒｏｕｅｓ  ｏｍｎｉｄｉｒｅｃｔｉｏｎｎｅｌｌｅｓ（Ｄｏｃｔｏｒａｌ  ｄｉｓｓｅｒａｔｉｏｎ，Ｕｎｉｖｅｒｓｉｔｅ  Ｇｒｅｎｏｂｌｅ  Ａｌｐｅｓ）に、ロボットが水平でない地面上に移動するケース、２つの車輪だけが地面に接触しているケース等、より複雑なケースにおいて二重倒立振り子を用いて、図１に開示するロボットと同様の車輪付きロボットの軌道の計算を開示している。
【００７２】
上述の仮定の下で、ニュートンおよびオイラー式を二質点に関して線形な式に簡素化することができる。
【数２】
2019514713.tif 000004
ＺＭＰの位置は（３）から直接得ることができる。
【数３】
2019514713.tif 000005
ところで、ロボットのＣｏＭの位置は、移動基部の重心の位置ｂｘｙ、移動基部の質量ｍｂ、上体の位置ｃｘｙ、および上体の質量のｍｃに基づいて直接得ることができる。
【００７３】
ロボットの重心の位置は、随時次式により定義される。
【数４】
2019514713.tif 000006
移動基部のＣｏＭ、上体のＣｏＭ、およびロボットのＣｏＭの一連の位置として定義される予測軌道を各々Ｂｘｙ、Ｃｘｙ、Ａｘｙと表記する。移動基部、上体のＣｏＭ、およびロボットのＣｏＭの一連の位置と加速度のペアとして定義される予測軌道を各々
【数５】
2019514713.tif 000007
と表記する。
【００７４】
本発明の多くの実施形態において、滑らかな接触曲線を有するロボットの滑らかな運動を生成するために、プロセッサは、二質点がサンプリング周期Ｔの三次動力学に従うとの仮定の下で、ロボットのＣｏＭの予測軌道を計算すべく構成されている。
【００７５】
本発明の多くの実施形態において．プロセッサは、移動型ロボットの重心の目標軌道３３０
【数６】
2019514713.tif 000008
を辿るべく、移動型ロボットの重心の予測軌道３５０
【数７】
2019514713.tif 000009
を計算すべく構成されている。本発明の他の実施形態において、予測および目標軌道は、ロボットの重心の予測および目標位置（各々Ａｘｙおよび
【数８】
2019514713.tif 000010
）、またはロボットの重心の予測および目標速度（各々
【数９】
2019514713.tif 000011
）のみを用いて定義することができる。
【００７６】
本発明の多くの実施形態において、プロセッサは、軌道のコスト関数を最小化すべく構成されている。例えば、プロセッサは、移動型ロボットの重心の予測軌道３５０
【数１０】
2019514713.tif 000012
を計算すべく構成することができ、次式を最小化する。
【数１１】
2019514713.tif 000013
本発明の他の実施形態において、コスト関数は、２以外のべき指数でのロボットの重心の位置、速度と位置の差の加重平均に依存してよい。コスト関数の他の例は次式で与えられる。
【数１２】
2019514713.tif 000014
より一般的には、移動型ロボットの位置と基準位置との距離、移動型ロボットの速度と基準速度の差、および／またはその微分に伴いコストが増大する任意のコスト関数を用いることができる。
【００７７】
コスト関数Ｏ１の最小化により、目標軌道になるべく近い軌道を移動型ロボットのＣｏＭに辿らせる。本発明の各種実施形態において、最小化されることでロボットが目標軌道になるべく近い軌道を辿るとすぐに、他のコスト関数を用いてもよい。
【００７８】
本発明の多くの実施形態において、プロセッサは、移動型ロボットの軌道に関するコスト関数の他に、軌道の他の特徴、例えば揺動に対する堅牢さ、または運動の滑らかさを向上させるコスト関数を最小化すべく構成することができる。
【００７９】
ロボットの安定性が優先されることを保証すべく、プロセッサは多くの異なる制約の下で予測軌道を計算すべく構成されている。１つの動的制約は、ロボットの転倒を回避すべくＺＭＰを支持多角形内に維持するものである。
【００８０】
図４に、本発明の多くの実施形態における移動型ロボットの重心の予測軌道を計算する場合に動的制約の定式化に用いる支持多角形の例を示す。
【００８１】
図４は、軸４０２、４０３により規定される座標系（ｘ、ｙ）における移動型ロボットの基部の重心４０１に対する位置を示す。支持多角形４１０、４３０、４４０、および長方形４２０は、移動型ロボットの基部の重心４０１に対して固定された位置を有し、その向きはロボットの向きに伴い変化する。
【００８２】
運動の動釣バランスは、ロボットがバランスを保ち続けるには、上でｐｘｙとして定義された移動型ロボットのＺＭＰが支持多角形内に留まることを要する。本発明の多くの実施形態において、当該ロボットは、図１において示すロボットのように概略三角形の基部を有する車輪付きロボットである。従って支持多角形はロボットを中心とする三角形Ｄ４１０により表すことができ、ロボットの基部を表している。
【００８３】
本発明の多くの実施形態において、ロボットの向きに関して制約を一定に保つべく、支持多角形は、支持三角形に書き込まれた円Ｄ’４３０である。本発明の更に他の実施形態において、制約を線形に保つべく、支持多角形は当該円内に書き込まれた八角形Ｄ”４４０である。八角形Ｄ”４４０の寸法は、当該八角形内の任意の点もまた円Ｄ’４３０内に位置するように、且つ円の良い近似を与えるように計算される。多角形の使用により有利な特徴として、円内に点を含めることよりも極めて高速である一次不等式だけを計算しながら、ＺＭＰが円内に留まるか否かを調べることが可能になる。八角形Ｄ”４４０は、計算の複雑度と計算精度との間の良い妥協点である。
【００８４】
より一般的には、多角形の辺が多いほど精度は良いが計算量が増える。従って、円のより良好な近似を得るべく、より多くの辺を有する多角形を用いることができる。一方、より低い計算の複雑でＺＭＰが円内に存在するか否かを判定すべく、辺がより少ない多角形、例えば正方形を用いることも可能である。
【００８５】
ＺＭＰ制約は、次式により定式化することができる。
Ｐｘｙ−Ｂｘｙ∈Ｄ”    （７）
ここにｐｘｙは、ＺＭＰの一連の位置ＰｘｙによるロボットのＺＭＰの軌道を表し、Ｂｘｙは、移動型ロボットの重心の一連の位置ｂｘｙによる移動型ロボットの重心の予測軌道を表している。
【００８６】
本発明の他の実施形態において、支持多角形は異なる形状およびサイズを有していてよい。当業者であれば、発明の才がなくても、所与のロボットに対して適切な支持多角形を定義することが可能である。
【００８７】
ロボットの重心の最大速度および加速度に対して更なる制約を規定することができ、例えば次式のように規定することができる。
【数１３】
2019514713.tif 000015
式（８）、（９）において、値
【数１４】
2019514713.tif 000016
は各々ロボットの移動基部の最大速度および加速度である。これらはロボットの機械的能力に基づいて決定された所定の値であってよい。本発明の他の実施形態において、値
【数１５】
2019514713.tif 000017
を有する最大速度および加速度の制約は移動型ロボット全体の重心で定式化できる。本発明の他の実施形態、例えばロボットが二足ロボットである実施形態において、最大速度および加速度は、動的能力、例えば移動型ロボットの歩行能力に応じて規定することができる。
【００８８】
本発明の多くの実施形態において、プロセッサはまた、ロボットの多関節に基づいて、ロボットの上体および基部の重心の相対位置に対する制約を定式化すべく構成されている。例えば、図１に示すロボットの関節限界に基づいて、上体の重心が、ロボットの基部の重心の回りの矩形領域Ｈ４２０内に留まるものと判定することができる。従って上体の最大リーチの制約を次式により定式化することができる。
−  ｋｘｙ≦Ｃｘｙ−Ｂｘｙ≦ｋｘｙ    （１０）
【００８９】
本発明は上述の例に限定されない。例えば、他の種類のロボット、例えば二足ロボットに対して他の簡素化または仮定を行うことができる。上で開示したような動的モデルを用いることで、ロボットが自身の重心の予測軌道を、移動型ロボットの動的特性を考慮しながら計算の複雑度を抑えて計算できるようになる。
【００９０】
本発明の多くの実施形態において、ロボットの動的モデルはまた極めて異なっていてよい。例えば、ロボットの重心を表す単一の質点を有する簡単な倒立振り子としてロボットをモデル化して、当該質点上での最大速度および加速度に対する制約を定式化することができる。
【００９１】
図３に戻り、アーキテクチャ３００は更にソフトウェアモジュール３６０を含み、プロセッサは、ソフトウェアモジュール３６０をロードして実行する場合、移動型ロボットの重心の予測軌道３５０および移動型ロボット３１１の行動を規定する命令に基づいて多関節四肢の予測動作３７０を計算すべく構成されている。
【００９２】
移動の行動を規定する命令３１１の可能な形式が既に議論されている。プロセッサがモジュール３２０を実行する場合に移動型ロボットの行動を規定する入力命令３１１をロボットの多関節四肢の目標軌道に変換すべく構成されている本発明の多くの実施形態において、ロボットの多関節四肢の目標軌道を、移動型ロボットの行動を規定する命令３１１の代わりに用いることができる。
【００９３】
本発明の多くの実施形態において、プロセッサは、一般化逆運動学を用いて多関節四肢の予測動作３７０を計算すべく構成されている。本発明の多くの実施形態において、これは、少なくとも多関節四肢で目標軌道を有するベクトルＹと基準ベクトルＹｒｅｆとの間のコスト関数を最小化すべく、少なくとも多関節四肢の目標軌道で規定しているベクトルＹを計算するものである。例えばベクトルＹは、
−  ロボットの胴体の速度、
−  多関節接合部の速度を含んでいてよい。
本発明の多くの実施形態において、運動学的連鎖の一部でない多関節接合部、例えば手の多関節接合部は考慮されない。同一アクチュエータにより制御される多関節接合部をベクトルＹ内の単一変数にマッピングすることができる。
【００９４】
プロセッサは、一般化逆運動学に対する制約を定式化すべく構成されている。本発明の多くの実施形態において、これらの制約は、
−  角度および／または速度に関する関節限界。この制約は行列Ａおよびｂにより定義される次式により表される。
ＡＹ＋ｂ＝０    （１１）
−  ロボットのバランス。ＣｏＭは、ＭＰＣが出力した軌道に厳密に追随すべく制約される。ＣｏＭの軌道は支持多角形に関して以前に計算されているため、ロボットの重心に当該軌道を辿らせることでロボットのバランスを保つことが保証される。この制約は行列Ｃおよびｄにより定義される次式により表される。
ＣＹ＋ｄ≧０    （１２）
他の制約も、多関節接合部の機械的限界およびロボットのバランスを表すのであれば可能である。
【００９５】
プロセッサは、（１１）、（１２）で規定される制約の下で、例えばベクトルＹと基準ベクトルＹｒｅｆとの間のコスト関数を最小化することにより多関節四肢の動作を計算すべく構成することができる。
【数１６】
2019514713.tif 000018
ここにＱは二次基準である。本発明の他の実施形態において、他のコスト関数も、多関節接合部の目標動作と比較して、多関節接合部の速度および位置が最小化できるのであれば可能である。
【００９６】
一般化逆運動学を用いて最適化されたベクトルＹは、ロボットの全ての関節を適切に表すべく高次元を有していてよい。従って、ベクトルＹ全体に逆動力学を適用することにより、ロボット全体の軌道を決定することは受容できない程度に高いコンピュータコストが生じるであろう。対照的に、一般化逆運動学は、逆動力学よりも計算コストが極めて低い。従って、自由度がより低いロボットの動的モデルに対し逆動力学を用いて移動型ロボットの予測軌道を計算し、自由度がより高い一般化逆運動学を用いて多関節四肢の動作を計算することにより、移動型ロボットの軌道および多関節四肢の動作を合理的な計算コストで適切に計算することができる。
【００９７】
本発明の多くの実施形態において、プロセッサは、同一時間枠にわたり、単一の時間刻みで、軌道、速度等の全ての計算を実行すべく構成されている。例えば、プロセッサは、２０ミリ秒毎に多関節四肢３７０の予測動作を計算することができ、２０ミリ秒のサンプルを用いて２ｓの時間範囲にわたり各軌道を計算することができる。
【００９８】
多関節四肢３７０の予測動作が計算されたならば、モーターおよび／またはアクチュエータに読み込まれて実際にロボットの動作を実行すべく用いることができる。
【００９９】
本発明が適用できるのは上で開示した例だけではない。特に、人型ロボットだけでなく移動基部および多関節腕を有する産業用ロボットにも適用可能である。
【０１００】
図５ａ、５ｂ、５ｃ、５ｄ、５ｅおよび５ｆは各々、本発明によるロボットの動作を設定するためのユーザーインターフェースの２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を示す。
【０１０１】
図５ａに、本発明によるロボットの動作を設定するためのユーザーインターフェースの一例を示す。当該インターフェースは、多数のサブウインドウを含むウインドウ５００ａを含んでいる。
【０１０２】
第１のサブウインドウ５１０を用いて行動を作成、選択、および編集する。第２のサブウインドウ５２０を用いて実行する動作の種類を選択する。図５ａに示す例において、動作は「〜に沿って移動」であり、軌道上のロボットの移動を規定する。
【０１０３】
第３のサブウインドウ５３０ａはユーザーにロボットの目標軌道を設定させる。ユーザーは特に、始点５３１ａ、終点５３２ａおよび、中間軌道５３３ａを設定することができる。本例では、軌道は始点と終点の間の直線を規定する。サブウインドウ５３４ａを用いて、ユーザーに動作の特徴（特に持続期間５３５ａ）を設定させる。
【０１０４】
サブウインドウ５４０は、ロボットの動作および姿勢のプレビューを示している。
【０１０５】
図５ｂに、本発明によるロボットの動作を設定するためのユーザーインターフェースの第２のビューを示す。
【０１０６】
第２のビューは、同様にサブウインドウ５１０、５２０および５４０を有するウインドウ５００ｂを規定している。
【０１０７】
ウインドウ５００ｂはまた、関節の目標動作を設定するためのサブウインドウ５５０ｂを含んでいる。ユーザーは、所定の種類の動作、例えば「腰振り」動作５５８ｂを選択することができる。本例では、「腰振り」動作は、ロボットの腰周辺で当該ロボットの上体が左右に動く動作に対応している。
【０１０８】
ユーザーは更に、ロボットの動作の特徴を設定することができる。「腰振り」動作の例において、ユーザーは、時間軸５５２ｂに示す時間に対して振幅５５１ｂの軸に示す腰の動作の振幅を設定することができる。動作は、本例では基準点５５４ｂ、５５５ｂ、５５６ｂおよび５５７ｂに基づいて得られた（時間、振幅）スプライン５５３ｂで示される。
【０１０９】
図５ｂに、ロボットの行動の低レベル指令の一例を示す。本発明の他の実施形態において、到達すべき姿勢等のより高水準の指令を用いることができる。例えば、「ある位置へ手を伸ばす」または「所与の位置／時点で手を降ろす」等の高水準指令を用いることができる。従ってこのような高水準指令に基づいて、ロボットの計時された一連の姿勢を決定し、これをロボットのＣｏＭおよびロボットが到達するであろう姿勢の軌道の決定に用いることができる。
【０１１０】
図５ｃに従来技術のロボットの軌道の一例を示す。
【０１１１】
より具体的には、図５ｃは、ウインドウ５００ａ内で設定された目標軌道、およびウインドウ５００ｂ内で設定された関節の目標動作に基づいて、従来技術により計算されたロボットの軌道および行動を示す。
【０１１２】
本例では、ロボットは、ウインドウ５００ａ内で設定された軌道になるべく近い軌道を辿ってウインドウ５００ｂ内で設定された行動「腰振り」５５８ｂになるべく近い多関節四肢の動作を実行する。より具体的には、ロボットが辿った軌道および胴体の位置は、軌道５３３ａおよび５５３ｂで設定された位置になるべく近いものである。
【０１１３】
従来技術では従って、ロボットは始点５３１ｃと終点５３２ｃの間の直線軌道５３３ｃを辿る。ところで、ロボットは、関節５５３ｂの動作により規定される行動「腰振り」５５８ｂになるべく近い行動をとるべく、胴体の動作を実行する。従来技術ではロボットは多関節動作５５４ｃしか実行することができない。
【０１１４】
図５ｄに、従来技術におけるロボットの位置およびロボットの関節の角位置の一例を示す。
【０１１５】
図５ｄに、時間軸５５２ｄに対して軸５５１ｂに同一の軸５５１ｂで表す、ロボットの腰周辺での当該ロボットの上体の動作の振幅を示す。曲線５５３ｄはロボットの関節の目標動作を表し、曲線５５４ｄはロボットの関節の実際の動作を表している。
【０１１６】
図５ｃ、５ｄに見られるように、従来技術のロボットは図５ａ、５ｂで意図された動作を実行することができない。主な理由は、スプライン５５３ｂにより規定された命令に従う関節の動作を計算する場合、従来技術のロボットは動力学制約、特にロボットのバランスにより制限されるからである。
【０１１７】
図５ｅに本発明の一実施形態におけるロボットの軌道の一例を示す。
【０１１８】
より具体的には、図５ｅは、ウインドウ５００ａ内で設定した目標軌道、およびウインドウ５００ｂ内で設定された関節の目標動作に基づいて、本発明の一実施形態において計算されたロボットの軌道および行動を示す。
【０１１９】
本例では、ロボットは、ウインドウ５００ａ内で設定された軌道になるべく近い軌道を辿って、ウインドウ５００ｂ内で設定された動作「腰振り」５５８ｂになるべく近い多関節四肢の動作を実行する。より具体的には、ロボットが辿った軌道および胴体の位置は、軌道５３３ａおよび５５３ｂで設定された位置になるべく近いものである。
【０１２０】
従来技術では従って、ロボットは始点５３１ｅと終点５３２ｅの間の軌道５３３ｅを辿る。ところで、関節５５３ｂの動作により規定される行動「腰振り」５５１ｂになるべく近い行動をとるべく、胴体の動作を実行する。本発明において、ロボットは、胴体のロボットの重心の位置への移動の影響を考慮すべく、必ずしも直線ではない軌道５３３ｅを計算する。ロボットの基部の軌道の当該変更により、ロボットは、ユーザーが意図した動作により充分に近い胴体の５５４ｅの動作を実行することができる。
【０１２１】
図５ｆに、本発明の一実施形態におけるロボットの位置およびロボットの関節の角位置の一例を示す。
【０１２２】
図５ｆは、時間軸５５２ｆに対して軸５５１ｂと同一の軸５５１ｆで表す、ロボットの腰周辺での胴体の動作の振幅を表している。曲線５５３ｆはロボットの関節の目標移動を表し、曲線５５４ｆはロボットの関節の実際の動作を表していて、図５ｅに示す動作に対応している。
【０１２３】
図５ｅ、５ｆに見られるように、本発明によるロボットは図５ａ、５ｂで意図された動作に極めて近い動作を実行することができる。より具体的には、関節の動作を用いてロボットの重心の軌道に計算することにより、従来技術で計算した動作よりもユーザーが意図した動作にはるかに近い多関節四肢の動作を計算することができる。
【０１２４】
図６ａ、６ｂは各々、従来技術の方法および本発明の実施形態における方法を示す。
【０１２５】
図６ａに、従来技術において複数の多関節四肢を有する移動型ロボットの予測動作を計算する方法６００ａを示す。
【０１２６】
方法６００ａは、移動型ロボットの運動を規定する命令および移動型ロボットの行動を規定する命令を入力６１０、６１１として受信するステップを含んでいる。
【０１２７】
方法６００ａは更に、移動型ロボットの動作を規定する命令６１１に基づいて、ある時間範囲にわたる移動型ロボットの予測軌道６３１ａを計算するステップ６３０ａを含んでいる。当該軌道は例えば、関節の実際の動作ではなく、標準的な姿勢に基づく、移動型ロボットの重心の軌道であってよい。
【０１２８】
方法６００ａは更に、移動型ロボットの予測軌道６３１ａおよび移動型ロボット６１１の行動を規定する命令に基づいて、多関節四肢の予測動作６４１ａを計算するステップ６４０ａを含んでいる。
【０１２９】
方法６００ａは従って、ロボットの関節の軌道および予測動作の両方を計算可能にする。しかし、ロボットの動的制約により、図５ｃ、５ｄに開示するようにステップ６４０ａで関節の動作を計算する可能性が制限される場合がある。
【０１３０】
図６ｂに、本発明の一実施形態における複数の多関節四肢を有する移動型ロボットの予測動作を計算する方法６００ｂを示す。
【０１３１】
方法６００ｂは、移動型ロボットの動作を規定する命令および移動型ロボットの行動を規定する命令を入力６１０、６１１として受信するステップを含んでいる。
【０１３２】
方法６００ｂは、入力６１０、６１１に基づいて、移動型ロボットの重心の目標軌道６２１ｂを計算するステップ６２０ｂを更に含んでいる。
【０１３３】
方法６００ｂは更に、移動型ロボットの重心の目標軌道６２１ｂおよび移動型ロボットの動的制約に基づいて、ある時間範囲にわたる移動型ロボットの重心の予測軌道６３１ｂを計算するステップ６３０ｂを含んでいる。
【０１３４】
方法６００ｂは更に、移動型ロボットの重心の予測軌道６３１ｂおよび移動型ロボット６１１の行動を規定する命令に基づいて、多関節四肢の予測動作６４１ｂを計算するステップ６４０ｂを含んでいる。
【０１３５】
本発明の方法６００ｂは、ロボットの重心の予測軌道を計算すべく多関節四肢の動作を考慮することにより、従来技術の方法の限界を克服可能にする。より具体的には、ロボットが行動を採用して、従来技術の方法よりも移動型ロボットの行動を規定する命令６１１にはるかに近い多関節四肢の動作を実行することができる。
【０１３６】
方法６００ｂは各種の仕方で実装可能である。例えば、アーキテクチャ３００等のソフトウェアアーキテクチャに実装することができる。当該方法は、本発明のロボットに搭載されたプロセッサにより実行することができる。また、図５ａ、５ｂに示すユーザーインターフェース等のロボットの動作のエディタに実装することができる。従ってこれを用いてロボットの動作のプレビューを得ることができる。本発明の方法を用いてもロボットが行動を取ることが不可能な場合、ユーザーはロボットが実行可能な動作を規定すべくロボットの行動を修正することができる。
【０１３７】
上述の例は本発明の実施形態の説明のために提示するものである。これらは、いかなる仕方でも以下の請求項により規定される本発明の範囲を限定するものではない。
【図１】
2019514713.tif 000019
【図２】
2019514713.tif 000020
【図３】
2019514713.tif 000021
【図４】
2019514713.tif 000022
【図５ａ】
2019514713.tif 000023
【図５ｂ】
2019514713.tif 000024
【図５ｃ】
2019514713.tif 000025
【図５ｄ】
2019514713.tif 000026
【図５ｅ】
2019514713.tif 000027
【図５ｆ】
2019514713.tif 000028
【図６ａ】
2019514713.tif 000029
【図６ｂ】
2019514713.tif 000030
【手続補正書】
【提出日】平成30年11月15日(2018.11.15)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボット工学分野に関する。より具体的には、移動型ロボットによる、多関節四肢の移動と動作の組み合わせを含む複雑な運動の実行に関する。
【背景技術】
【０００２】
ロボットは、頭部、胴体、両腕、両手等、特定の人間的外観の特性を有していれば人型ロボットとみなすことができる。しかし、人型ロボットは多少洗練されていてよい。四肢の関節の数はより多くまたは少なくてもよい。人型ロボットは、自身のバランスを静的および／または動的に制御して、恐らくは３次元で二足歩行する、または床の上で寝返りを打つことができる。環境から信号を拾う（「聞く」、「見る」、「触る」、「感じる」等）ことができ、多少洗練された行動に従い反応することでき、且つ言葉または仕草により他のロボットまたは人間と対話することができる。人型ロボットではバランスと移動の問題がより個別に生じるが、擬似人間的外観を有する移動型ロボット、ペットロボット、または移動型産業用ロボットではより一般的に生じる。
【０００３】
移動型ロボットの移動は、当該ロボットの関節のアクチュエータに指令を送ることにより管理される。逆動力学を用いて、ロボットのバランスを維持しながらロボットに所望の行動を割り当てることが可能である。Ｋａｊｉｔａ，Ｓｈｕｕｊｉ，ｅｔ  ａｌ．“Ｂｉｐｅｄ  ｗａｌｋｉｎｇ  ｐａｔｔｅｒｎ  ｇｅｎｅｒａｔｉｏｎ  ｂｙ  ｕｓｉｎｇ  ｐｒｅｖｉｅｗ  ｃｏｎｔｒｏｌ  ｏｆ  ｚｅｒｏ−ｍｏｍｅｎｔ  ｐｏｉｎｔ．”Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ，２００３，Ｐｒｏｃｅｅｄｉｎｇｓ，ＩＣＲＡ’０３，ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｖｏｌ．２，ＩＥＥＥ，２００３は、ゼロモーメントポイントを制御することにより、二足人型ロボットに転倒せずに軌道を辿らせる方法を開示している。ゼロモーメントポイント（ＺＭＰ）は、位置がロボットの加速および重力に依存する仮想点であって、水平慣性と重力の和が０に等しい点に対応している。ロボットがバランスを保ったままでいるために、当該ＺＭＰが安定領域に留まっている必要がある。Ｋａｊｉｔａが開示した二足ロボットの動力学モデルにより、ロボットのＺＭＰと共に重心（ＣｏＭ）が安定領域に留り、従ってロボットが転倒する危険性無しに軌道に沿って歩行することができる。
【０００４】
Ｋａｊｉｔａによれば、ロボットへ送られる全ての指令は、ロボットに平衡を保ちながら歩行させることを目的としている。従って、ロボットの歩行に起因するＣｏＭまたはＺＭＰの自然なバランスは、ロボットの他の多関節四肢の動作により補償することができる。例えば、ロボットの腕の位置および加速を用いて、ロボットのＺＭＰまたはＣｏＭの過剰な動作を補償することができる。
【０００５】
ところで、多くの用途において、例えば相互作用を規定すべくロボットに多関節四肢の動作を実行させることが望ましい。そのような多関節四肢の動作は例えばダンスまたは振付けを規定すること、または人間の行動、例えば握手に対応することができる。ロボットの足の移動によるそのような関節の動作の組み合わせにより、ロボットのＺＭＰまたはＣｏＭが自身の安全な領域から離れ、従ってロボットが転倒する恐れがある。
【０００６】
ロボットの全ての関節に、軌道を辿りながらダンス動作になるべく近い動作を実行させる指令を決定することが可能である。特に、逆動力学を用いて目標動作になるべく近い動作を実行させる指令をロボットの各関節に割り当てることが可能である。しかし、ロボットが多数の関節を有する場合、逆動力学も多数の自由度を有するため、この解決策の計算負荷が高まる。これは、脚、腕等に多数の関節を有する大部分の現代型ロボットに当てはまる。この場合、逆動力学は、ロボットに搭載された限られた計算リソースでリアルタイムに計算するには複雑過ぎる。
【０００７】
Ｒａｍｏｓ，Ｏ．，ｅｔ  ａｌ．“Ｄｙｎａｍｉｃ  ｗｈｏｌｅ  ｂｏｄｙ  ｍｏｔｉｏｎ  ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  ｔｈｅ  ｄａｎｃｅ  ｏｆ  ａ  ｈｕｍａｎｏｉｄ  ｒｏｂｏｔ”、ＩＥＥＥ  Ｒｏｂｏｔｉｃｓ＆Ａｕｔｏｍａｔｉｏｎ  Ｍａｇａｚｉｎｅ（ＲＡＭ）（２０１５）は、ロボットにダンス動作を再現させる方法を開示している。Ｒａｍｏｓは、逆動力学を用いてロボットの運動を生成する指令、および逆運動学を用いてダンス動作用の指令を別々に計算する方法を開示しており、これらの指令の生成はタスクのスタック上のタスクとして並列に実行される。
【０００８】
Ｒａｍｏｓの文献では、逆動力学を用いて人間パフォーマの軌道および結果的に得られるロボットのＣｏＭの予測軌道を追跡すべく送られる指令を動的に計算する。逆運動学を並列に用いて、ロボットのバランスを維持しながら、ダンサーのダンス動作になるべく近いダンス動作をロボットに行わせる指令計算する。この方法は、ロボットが、軌道を辿ってダンス動作を実行することを同時にできるようにする利点がある。実際、逆動力学は限られた数の自由度で実行されるため、計算負荷が過度に高い訳ではない。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Ｋａｊｉｔａ，Ｓｈｕｕｊｉ，ｅｔ  ａｌ．“Ｂｉｐｅｄ  ｗａｌｋｉｎｇ  ｐａｔｔｅｒｎ  ｇｅｎｅｒａｔｉｏｎ  ｂｙ  ｕｓｉｎｇ  ｐｒｅｖｉｅｗ  ｃｏｎｔｒｏｌ  ｏｆ  ｚｅｒｏ−ｍｏｍｅｎｔ  ｐｏｉｎｔ．”Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ，２００３，Ｐｒｏｃｅｅｄｉｎｇｓ，ＩＣＲＡ’０３，ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｖｏｌ．２，ＩＥＥＥ，２００３
【非特許文献２】Ｒａｍｏｓ，Ｏ．，ｅｔ  ａｌ．“Ｄｙｎａｍｉｃ  ｗｈｏｌｅ  ｂｏｄｙ  ｍｏｔｉｏｎ  ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  ｔｈｅ  ｄａｎｃｅ  ｏｆ  ａ  ｈｕｍａｎｏｉｄ  ｒｏｂｏｔ”，ＩＥＥＥ  Ｒｏｂｏｔｉｃｓ  ＆  Ａｕｔｏｍａｔｉｏｎ  Ｍａｇａｚｉｎｅ（ＲＡＭ）（２０１５）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、逆動力学によりロボットのＣｏＭの軌道が計算されたならば、Ｒａｍｏｓの方法はダンス動作の追随に限定される。実際、逆動力学を用いて他の四肢の動作を計算する場合、Ｒａｍｏｓが開示する方法ではロボットのバランス、特にＣｏＭおよびＺＭＰの位置を維持しなければならない。従って、ロボットの多関節四肢の多くの動作は、ロボットのバランスを失わせて転倒させるため実行不可能である。従って、Ｒａｍｏｓの方法は、ダンサーのダンス動作の限られた模倣しか行えない。
【００１１】
従って、軌道を辿ること、および行動の一部である多関節四肢の表現力豊かな動作の実行を同時に可能にする指令をリアルタイムに計算可能なロボットに対するニーズがある。この問題はダンスの振り付けに限定されず、握手する、または想定外の事象を管理する、例えばロボットの基部で軌道を辿りながら腕または胴で障害物を除ける、等の動作を実行しようとした際に生じる。
【課題を解決するための手段】
【００１２】
このため、本発明は、複数の多関節四肢と、プロセッサとを有する移動型ロボットであって、プロセッサが、移動型ロボットの運動を規定する命令および移動型ロボットの行動を規定する命令を入力として受信し、入力に基づいて移動型ロボットの重心の目標軌道を計算し、移動型ロボットの重心の目標軌道および移動型ロボットの動的制約に基づいて、ある時間範囲にわたる移動型ロボットの重心の予測軌道を計算し、移動型ロボットの重心の予測軌道および移動型ロボットの行動を規定する命令に基づいて多関節四肢の予測動作を計算すべく構成されている移動型ロボットを開示する。
【００１３】
有利な特徴として、プロセッサは、一連の時間刻みで、移動型ロボットの多関節四肢の重心の位置と、移動型ロボットの重心の位置とを、移動型ロボットの目標位置、および移動型ロボットの多関節四肢の重心の質量および位置に基づいて計算することにより、移動型ロボットの重心の目標軌道を計算すべく構成されている。
【００１４】
有利な特徴として、プロセッサは、移動型ロボットの動的モデルを用いて移動型ロボットの重心の予測軌道を計算すべく構成されている。
【００１５】
有利な特徴として、プロセッサは、各々が移動型ロボットの基部の重心および当該ロボットの上体の重心である２つの質量を含む二重倒立振り子として移動型ロボットをモデル化し、移動型ロボットのゼロモーメントポイントが、移動型ロボットの基部に対して規定された位置を有する多角形から決して外れず、且つ移動型ロボットの基部が最大加速度および速度を有するという制約を定式化し、コスト関数、すなわち目標軌道内での移動型ロボットの重心の位置、予測軌道内での移動型ロボットの重心の位置、目標軌道内での移動型ロボットの重心の速度、および予測軌道内での移動型ロボットの重心の速度の差のうち少なくとも１つに基づくコスト関数を最小化すべく二重倒立振り子の制御の問題を解くことにより、移動型ロボットの重心の予測軌道を計算すべく構成されている。
【００１６】
有利な特徴として、プロセッサは、コスト関数を最小化すべく移動型ロボットの動的制約に関して多関節四肢の予測動作を計算すべく構成されている。
【００１７】
有利な特徴として、コスト関数は、一連の時間刻みにおける、移動型ロボットの重心の予測位置間の距離、多関節四肢の目標速度と多関節四肢の予測速度の差、および多関節四肢の目標位置と多関節四肢の予測位置との距離のうち少なくとも２つの加重平均である。
【００１８】
有利な特徴として、プロセッサは、関節角度、関節速度、および関節加速度の制約限界の下で多関節四肢の予測動作を計算すべく構成されている。
【００１９】
有利な特徴として、移動型ロボットの行動を規定する命令は、到達すべき少なくとも１つの計時された姿勢により規定されていて、プロセッサは更に、移動型ロボットの前記少なくとも１つの計時された姿勢を、移動型ロボットに対する多関節四肢の目標軌道に変換すべく構成されている。
【００２０】
有利な特徴として、移動型ロボットの重心の予測軌道は、ある時間枠にわたる一連の時間刻みにおける移動型ロボットの予測位置の値および重心の速度により規定される。
【００２１】
有利な特徴として、多関節四肢の予測動作は、前記一連の時間刻みにおける多関節四肢間の角度および多関節四肢間の角速度の１つ以上の値により規定され、前記一連の時間刻みにおける多関節四肢間の角度および多関節四肢間の角速度の前記１つ以上の値が、モーターのセットポイント指令に変換される。
【００２２】
有利な特徴として、所定の時間刻みは２０ミリ秒であり、時間枠の持続時間は１．６秒である。
【００２３】
有利な特徴として、移動型ロボットの運動を規定する命令、および移動型ロボットの行動を規定する命令はユーザーインターフェース上でユーザーにより設定される。
【００２４】
有利な特徴として、移動型ロボットの運動を規定する命令は所定の軌道に対応し、プロセッサは、想定外の事象の発生時に移動型ロボットの行動を規定する命令を計算すべく構成されている。
【００２５】
本発明はまた、複数の多関節四肢を有する移動型ロボットの運動および行動を規定するユーザーインターフェースを開示しており、前記ユーザーインターフェースは、移動型ロボットの運動を規定する命令および移動型ロボットの行動を規定する命令を入力としてユーザーに設定させ、入力に基づいて移動型ロボットの重心の目標軌道を計算し、移動型ロボットの重心の目標軌道および移動型ロボットの動的制約に基づいて、ある時間範囲にわたる移動型ロボットの重心の予測軌道を計算し、移動型ロボットの重心の予測軌道および移動型ロボットの行動を規定する命令に基づいて、多関節四肢の予測動作を計算するコンピュータ符号命令を含んでいる。
【００２６】
本発明はまた、複数の多関節四肢を有する移動型ロボットの予測動作を計算する方法を開示しており、前記方法は、移動型ロボットの運動を規定する命令および移動型ロボットの行動を規定する命令を入力として受信するステップと、入力に基づいて移動型ロボットの重心の目標軌道を計算するステップと、移動型ロボットの重心の目標軌道および移動型ロボットの動的制約に基づいて、ある時間範囲にわたる移動型ロボットの重心の予測軌道を計算するステップと、移動型ロボットの重心の予測軌道および移動型ロボットの行動を規定する命令に基づいて多関節四肢の予測動作を計算するステップとを含んでいる。
【００２７】
本発明により、移動型ロボットが目標軌道を辿り、バランスを失うことなく行動を実行することができる。
【００２８】
本発明により、移動型ロボットの自由度が小さいか、または多関節四肢の目標軌道の制約が厳しい場合であっても移動型ロボットがバランスを失うことなく多関節四肢の目標軌道を正確に辿ることができる。
【００２９】
本発明により、ユーザーは移動型ロボットの行動をより自由に規定することができる。
【００３０】
本発明により、ユーザーは、従来技術では実行できなかったであろう、ロボットが実行可能な動作を規定することができる。
【００３１】
本発明は、計算の複雑度を抑えながら移動型ロボットに内蔵することができる。
【００３２】
本発明により、ロボットが軌道を辿っている場合、想定外の制約または相互作用を考慮すべく、例えば想定外の障害物を回避すべく、または対話可能な人間またはロボットに遭遇した場合の行動を取るべくロボットの行動をリアルタイムに適合させることができる。
【００３３】
本発明は、ロボットのファームウェアの簡単な更新によりロボット内に実装することができる。
【００３４】
以下の多数の例示的実施形態および添付の図面の説明から本発明に対する理解が深まると共に各種の特徴および利点が明らかになろう。
【図面の簡単な説明】
【００３５】
【図１】本発明の多くの実施形態における移動型ロボットの物理アーキテクチャを示す。
【図２】本発明の多くの実施形態におけるロボットのソフトウェアモジュールの機能アーキテクチャを示す。
【図３】本発明によるロボットの関節の重心の軌道および角速度を計算するソフトウェアモジュールのアーキテクチャを示す。
【図４】本発明の多くの実施形態における移動型ロボットの重心の予測軌道を計算する場合の動的制約の定式化に用いる支持多角形の例を示す。
【図５ａ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図５ｂ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図５ｃ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図５ｄ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図５ｅ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図５ｆ】本発明によるロボットの動作を設定するためのユーザーインターフェースの一例の２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を各々示す。
【図６ａ】従来技術の方法および本発明の実施形態における方法を各々示す。
【図６ｂ】従来技術の方法および本発明の実施形態における方法を各々示す。
【発明を実施するための形態】
【００３６】
図１に、本発明の多くの実施形態における人型ロボットの物理アーキテクチャを示す。
【００３７】
同図の特定のロボット１００は、本発明を実装可能な人型ロボットの一例に過ぎない。同図のロボットの下肢は、歩行機能は有していないが、当該ロボットが置かれた表面上を転がる基部１４０に乗って任意の方向に移動することができる。本発明は、歩行に適合されたロボットに容易に実装可能である。例えば、当該ロボットは、約１２０ｃｍの高さ１１０、約６５ｃｍの奥行き１２０、および約４０ｃｍの幅１３０を有している。特定の実施形態において、本発明のロボットは、自身を取り巻く環境にメッセージ（音声、映像、ウェブページ）を伝達する、またはタブレットの触覚インターフェースを介してユーザーから入力を受信することができるタブレット１５０を有している。タブレットのプロセッサに加え、本発明によるロボットはまた自身のマザーボードのプロセッサも使用するが、これは例えばＩｎｔｅｌ（商標）社製ＡＴＯＭ（商標）Ｚ５３０であってよい。本発明のロボットはまた有利な特徴として、マザーボードと、特に本発明の特定の実施形態において四肢の関節のモーターおよびロボットが車輪として用いるボールを制御する磁気ロータリーエンコーダ（ＭＲＥ）およびセンサを搭載したボードとの間のデータフローの処理専用のプロセッサを含んでいる。モーターの種類は、硬い関節に必要とされる最大トルクの程度に応じて異なっていてよい。例えば、ｅ−ｍｉｎｅｂｅａ（商標）社製ブラシ付きＤＣコアレスモーター（例：ＳＥ２４Ｐ２ＣＴＣＡ）、またはＭａｘｏｎ（商標）社製ブラシレスＤＣモーター（例：ＥＣ４５＿７０Ｗ）を用いてよい。ＭＲＥは好適には、１２または１４ビットの精度を有する、ホール効果を用いる方式である。
【００３８】
本発明の実施形態において、図１に示すロボットはまた各種のセンサを含んでいる。それらの一部は、ロボットの位置および動作の制御に用いられる。これは例えば、ロボットの胴体に設置された、３軸ジャイロスコープおよび３軸加速度計を含む慣性装置の場合である。ロボットはまた、毎秒５フレームで５メガピクセルの解像度、および水平方向５７°、垂直方向４４°の視野（ＦＯＶ）を有するＳｈｅｎｚｅｎ  Ｖ−Ｖｉｓｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ（商標）社製（ＯＶ５６４０）等のシステムオンチップ（ＳＯＣ）方式の２つの２ＤカラーＲＧＢカメラ１６０をロボットの額部（上部および底部）に含んでいてよい。毎秒２０フレームで０．３メガピクセルの解像度、および２Ｄカメラと同一ＦＯＶを有するＡＳＵＳ  ＸＴＩＯＮ（商標）社製ＳＯＣセンサ等、１つの３Ｄセンサ１７０もまた、ロボットの両眼の裏側に含まれていてよい。本発明のロボットはまた、自身を取り巻く環境内における物体／生物体に対する自身の位置を検出可能であるように、レーザー線発生器を、例えば頭部１８０ａに３つおよび基部１８０ｂに３つ備えていてよい。本発明の他の実施形態において、ロボットは基部にレーザー線発生器だけを備えている。本発明のロボットはまた、自身を取り巻く環境内における音声を検出可能なマイクロフォンを含んでいてよい。一実施形態において、１ｋＨｚで３００ｍＶ／Ｐａ±３ｄＢの感度、および３００Ｈｚ〜１２ｋＨｚ（１ｋＨｚに対して１０ｄＢ）の周波数範囲を有する４つのマイクロフォンがロボットの頭部に埋め込まれていてよい。本発明のロボットはまた、自身を取り巻く環境内の物体／人間との距離を測定すべく、２つのソナーセンサ１９０を基部の正面および背面に含んでいてよい。
【００３９】
ロボットはまた、人間との対話を可能にすべく触覚センサ１Ａ０を自身の頭部および手に含んでいてよい。また、自身の経路上で遭遇する障害物を検出すべくバンパー１Ｂ０を自身の基部に含んでいてよい。
【００４０】
ロボットはまた、意図された軌道と実際の軌道との間の差を計算することにより、自身の上部要素が触れた物体との接触を検出することができる。この目的の方法は、同一出願人により同日出願された欧州特許出願第ＥＰ１４３０５８４８．５号に開示されている。
【００４１】
自身の感情を翻訳して自身を取り巻く環境内の人間と通信すべく、本発明のロボットはまた、
−  例えば自身の両眼、両耳、および両肩にＬＥＤ、および
−  例えば２つのスピーカーを両耳に含んでいてよい。
【００４２】
本発明のロボットは、イーサネット（登録商標）ＲＪ４５またはＷｉＦｉ８０２．１１接続を介して基地局または他のロボットと通信可能である。
【００４３】
本発明のロボットは、約４００Ｗｈのエネルギーを有するリチウム鉄リン酸塩電池により電力供給することができる。ロボットは、自身が搭載する電池の種類に適した充電ステーションにアクセスすることができる。
【００４４】
ロボットの位置／動作は、センサの測定値を参照しながら、各四肢により規定された連鎖および各四肢の終端で規定されたイフェクタを起動するアルゴリズムを用いて、自身のモーターにより制御される。
【００４５】
センサ１６０、１７０、１８０、１９０、１Ａ０または１Ｂ０から、あるいは自身の上部要素の物体との接触の評価結果から、欧州特許出願第ＥＰ１４３０５８４９．３号に開示されているように、ロボットの計算モジュールは、自身を取り巻く環境内における障害物の局所的マップを計算することができる。
【００４６】
図２に、本発明の多くの実施形態におけるロボットのソフトウェアモジュールの機能アーキテクチャを示す。
【００４７】
図２は、本発明のいくつかの実施形態を実装可能にする物理および機能アーキテクチャの構成図である。この種のロボットは有利な特徴として、本発明の実施形態におけるロボットの機能の操作を可能にする高水準ソフトウェアを備えている。ＮＡＯＱＩと呼ばれるこの種のソフトウェアアーキテクチャは特に、２００９年１０月１０日公開の特許出願ＷＯ２００９／１２４９５５に開示されている。当該アーキテクチャは、ロボットとＰＣまたは遠隔サイトとの間の通信を管理すると共に、本発明の実装に必要なソフトウェアインフラを与えるソフトウェアを交換するための基本機能を含んでいる。また、欧州特許出願第ＥＰ１４３０５５７８．８号は、高度な相互作用／対話能力を備えたロボットを操作すべく設計されたオペレーティングシステムを開示している。
【００４８】
ＮＡＯＱＩはロボット用途に最適化されたフレームワークであり、いくつかの言語、特にＣ＋＋、Ｐｙｔｈｏｎ、およびＵｒｂｉに対応している。本発明の関連分野で、ＮＡＯＱＩの以下のモジュールが特に有用である。
−  モジュールＡＬＭｅｍｏｒｙ（２１０）は、ＮＡＯＱＩの各種のモジュール間で共有されるメモリを管理する。
−  モジュールＤＣＭ（２２０）は、物理的ロボット（モーター、センサ）との通信を管理する。
−  モジュールＡＬＲｏｂｏｔＰｏｓｅ（２３０）は、基準姿勢と比較することによりロボットの現在の姿勢を計算する。
−  ＡＬＭｏｔｉｏｎモジュール（２４０）は、ロボットの動作を管理する。
【００４９】
これらの４つのモジュールは有利な特徴としてＣ＋＋でコーディングされている。同図はまた、モジュール間のデータフローを示す。特に、転倒回避および衝突回避機能の実装に必要な入力は、
−  センサ（例えばカメラ、レーザー線発生器、ソナー、触覚センサ）の値、
−  ロボットの姿勢である。
【００５０】
生じ得る衝突を検出する場合、本発明を実装すべく設計された特定の機能は、ロボットの軌道を更新する指令を発する。
【００５１】
また同図に、完全に例示的に、各モジュールにより処理されたデータのリフレッシュサイクル用の値を示しており、ロボットの姿勢および転倒管理データの更新に２０ミリ秒、いくつかのセンサの値に１０ミリ秒である。ロボットを取り巻く環境内における障害物のマップは、３Ｄカメラが撮像する画像処理に要する典型的なサイクル時間である１００ミリ秒毎に更新できるが、これは一例に過ぎない。
【００５２】
図３に、本発明によるロボットの重心の軌道および関節の角速度を計算するソフトウェアモジュールのアーキテクチャを示す。
【００５３】
当該アーキテクチャ３００のモジュールはＣ＋＋、またはプロセッサによりネイティブに実行可能な任意の言語、例えばＣ言語、仮想マシンで実行可能な任意のインタープリタ言語、例えばＪａｖａ（登録商標）、任意のスクリプト言語、例えばＰｙｔｈｏｎでコーディングされていてよい。
【００５４】
本発明のロボットは、ソフトウェアモジュール、例えばアーキテクチャ３００のモジュールをロードする場合、ロボットの重心（ＣｏＭ）の予測軌道、および多関節四肢の予測動作を計算すべく構成されたプロセッサを有している。
【００５５】
アーキテクチャ３００のソフトウェアモジュールを実行すべく構成されたプロセッサは、移動型ロボットの運動を規定する命令３１０、および移動型ロボットの行動を規定する命令３１１を入力として受信する。
【００５６】
本発明の好適な実施形態において、移動型ロボットの運動を規定する命令３１０は、移動型ロボットの目標軌道である。命令３１０は例えば、一連の時間刻みで、且つある時間枠にわたり、移動型ロボットの一連の位置により設定することができる。当該ロボットが図１に示すロボットのように車輪付きロボットである場合、命令は移動型ロボットの基部の一連の位置に対応していてよい。本発明の多くの実施形態において、命令３１０は、ロボットの所定の点、またはロボットの本体に堅牢に取り付けられたフレームの位置を指している。
【００５７】
命令３１０が適用される点を決定するための多くの異なる実施形態が可能である。ロボットが車輪付きロボットである実施形態において、命令３１０は例えば、移動型ロボットの基部の重心の一連の位置を規定することができる。ロボットが歩行型ロボットである実施形態において、命令３１０は例えば、ロボットの足の中央の点の一連の位置を規定することができる。
【００５８】
本発明の各種実施形態によれば、移動型ロボットの行動を規定する命令３１１は、異なる仕方で表されていてよい。例えば、当該命令は、一連の時間刻みにおいて、ロボットの全ての関節動作の角度値および角速度を含んでいてよい。ロボットの行動を規定する命令３１１はまた、到達する１つ以上の計時された姿勢を含んでいてよい。これは例えばロボットが握手するように命令された場合であり、ロボットの行動を規定する命令３１１は、時点ｔで握手しているときのロボットの姿勢の記述を含み、プロセッサは、ロボットの運動学的および機械的制約の下に留まりながら、当該位置に到達するのに最も効率的な仕方を決定するより大きな自由度を有している。
【００５９】
本発明の多くの実施形態において、移動型ロボットの行動を規定する命令３１１は、予め計算されている。これは例えば、ロボットの行動が事前に意図されている場合である。これは例えばロボットが事前に準備されたダンスの振付けを実行する場合である。本発明の他の実施形態において、移動型ロボットの行動を規定する命令３１１はその場で計算される。これは例えば、ロボットが、センサからの入力に基づいて、取るべき行動をリアルタイムに決定する場合である。例えば、ロボットは、人間を見かけたときに、近寄って握手することを決定し、当該人間と握手するために到達すべき目標姿勢および辿るべき軌道を生成する。別のシナリオにおいて、ロボットは軌道を辿ることができる。次いで、想定外の障害物が、ロボットが回避可能な軌道に現れる。次いで、障害物を回避するために到達すべき計時された姿勢をその場で生成し、目標軌道および障害物を回避するために到達すべき計時された姿勢に基づいて、多関節四肢の予測動作を計算する。
【００６０】
アーキテクチャ３００は、入力に基づいて移動型ロボットの重心の目標軌道３３０を計算するソフトウェアモジュール３２０を含んでいる。ロボットのプロセッサは、ソフトウェアモジュール３２０をロードして実行する場合、ロボットの目標軌道および移動型ロボットの行動を規定する命令に基づいて、ロボットの重心の目標軌道を計算すべく構成されている。
【００６１】
本発明の多くの実施形態において、移動型ロボットの運動を規定する命令３１０が、一連の計時された位置により形成されたロボットの目標軌道ではない場合、プロセッサは、移動型ロボットの運動を規定する命令３１０を一連の計時された位置により形成されたロボットの目標軌道に変換すべく構成されている。
【００６２】
同様に、本発明の多くの実施形態において、プロセッサは、移動型ロボットの行動を規定する命令３１１がロボットの多関節四肢の目標軌道ではない場合、移動型ロボットの行動を規定する命令３１１をロボットの多関節四肢の目標軌道に変換すべく構成されている。
【００６３】
本発明の多くの実施形態において、プロセッサは、一連の計時された位置により形成されたロボットの目標軌道およびロボットの多関節四肢の目標軌道に基づいて、ロボットの重心の目標軌道３３０を計算すべく構成されている。本発明の多くの実施形態において、プロセッサは、ある時間枠にわたり一連の時間刻みで、ロボットの位置に基づいてロボットの重心の位置、および一連の時間刻みでロボットの多関節四肢の位置および質量を計算することにより、当該計算を直接的に実行すべく構成されている。本方法は有利な特徴として、限られた計算能力を用いてロボットの重心の目標軌道を高速且つ直接的に計算することを可能にする。
【００６４】
アーキテクチャ３００は更にソフトウェアモジュール３４０を含み、プロセッサは、ソフトウェアモジュール３４０をロードして実行する場合、移動型ロボットの重心の目標軌道３３０および移動型ロボットの動的制約に基づいて、ある時間範囲にわたる移動型ロボットの重心の予測軌道３５０を計算すべく構成されている。
【００６５】
本発明の多くの実施形態において、プロセッサは、第２のモジュール３４０をロードする場合、移動型ロボットの動的モデルを用いてロボットの重心の予測軌道を計算すべく構成されている。本発明の多くの実施形態において、動的モデルは、移動型ロボットの予測的制御の線形モデルである。
【００６６】
本発明の多くの実施形態において、当該モデルは倒立振り子モデルである。これは例えば、ロボットが二足歩行ロボットである場合であり、従ってプロセッサは、
−  移動型ロボットを、当該ロボットの重心である１つの質量を含む二重倒立振り子としてモデル化し、
−  移動型ロボットのゼロモーメントポイントが当該ロボットに対して規定された位置を有する多角形から決して外れないという制約の下で、倒立振り子の制御の問題を解くべく構成されている。
【００６７】
本発明の多くの実施形態において、移動型ロボットは車輪付き移動型ロボットであり、当該モデルは二重倒立振り子モデルであって、プロセッサは、
−  移動型ロボットを、各々が移動型ロボットの基部の重心およびロボットの上部の重心である２つの質量を含む二重倒立振り子としてモデル化し、
−  移動型ロボットのゼロモーメントポイントが移動型ロボットに対して規定された位置を有する多角形から決して外れず、且つ移動型ロボットの基部が最大加速度および速度を有している制約の下で二重倒立振り子を制御する問題を解くべく構成されている。
【００６８】
このような予測的制御の線形モデルの一例がＪ．Ｌａｆａｙｅ  ｅｔ  ａｌ．，Ｌｉｎｅａｒ  Ｍｏｄｅｌ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃｏｎｔｒｏｌ  ｏｆ  ｔｈｅ  Ｌｏｃｏｍｏｔｉｏｎ  ｏｆ  Ｐｅｐｐｅｒ，ａ  ｈｕｍａｎｏｉｄ  ｒｏｂｏｔ  ｗｉｔｈ  ｏｍｎｉｄｉｒｅｃｔｉｏｎａｌ  ｗｈｅｅｌｓ，２０１４  １４ｔｈ  ＩＥＥＥ−ＲＡＳ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔｓ（Ｈｕｍａｎｏｉｄｓ），Ｎｏｖｅｍｂｅｒ  １８−２０，Ｍａｄｒｉｄ，Ｓｐａｉｎに開示されている。
【００６９】
より具体的には、当該ロボットが図１に示すロボットのような車輪付きロボットである実施形態において、プロセッサは、二質点モデルを用いるロボットの重心の予測軌道を計算すべく構成することができ、ｂは移動基部の重心（ＣｏＭ）の位置、ｃは上体のＣｏＭの位置である。当該二質点モデルのニュートンおよびオイラー方程式は、以下のように書くことができる。
【数１】
2019514713.tif 000031
ここに、Ｆは地面との接触力、ｐは対応する圧力中心（ＣｏＰ）、ｍｂおよびｍｃは移動基部および上体の質量である。
【００７０】
ロボットが水平な地面上で移動している仮定の下で、以下の仮定および表記により上式を簡素化することができる。
−  水平および垂直方向の両軸に対して各々上付き添え字ｘ、ｙ、ｚ関連付け、
−  重力ベクトルをｇｘ＝ｇｙ＝ｇｚ＝ｇと定義し、
−  ロボットが水平な地面上を移動する場合、ＺＭＰの高さは一定ｐｚ＝０であり、
−  移動基部の高さは一定ｂｚ＝ｌであり、
−  上体の上下運動の影響を無視し、その高さも一定ｃｚ＝ｈである。
【００７１】
本発明の他の実施形態において、上式は水平でない地面、または水平な地面と水平でない地面との間の移動に適合されている。本明細書では、制御問題の例として水平な地面上を移動するロボットを挙げる。しかし、当業者であれば公知の従来方法を用いて他のケースに軌道の計算を適合させることができる。例えば、Ｌａｆａｙｅ，Ｊ．（２０１５），Ｃｏｍｍａｎｄｅ  ｄｅｓ  ｍｏｕｖｅｍｅｎｔｓ  ｅｔ  ｄｅ  ｌ’ｅｑｕｉｌｉｂｒｅ  ｄ’ｕｎ  ｒｏｂｏｔ  ｈｕｍａｎｏｉｄｅ  ａ  ｒｏｕｅｓ  ｏｍｎｉｄｉｒｅｃｔｉｏｎｎｅｌｌｅｓ（Ｄｏｃｔｏｒａｌ  ｄｉｓｓｅｒａｔｉｏｎ，Ｕｎｉｖｅｒｓｉｔｅ  Ｇｒｅｎｏｂｌｅ  Ａｌｐｅｓ）に、ロボットが水平でない地面上に移動するケース、２つの車輪だけが地面に接触しているケース等、より複雑なケースにおいて二重倒立振り子を用いて、図１に開示するロボットと同様の車輪付きロボットの軌道の計算を開示している。
【００７２】
上述の仮定の下で、ニュートンおよびオイラー式を二質点に関して線形な式に簡素化することができる。
【数２】
2019514713.tif 000032
ＺＭＰの位置は（３）から直接得ることができる。
【数３】
2019514713.tif 000033
ところで、ロボットのＣｏＭの位置は、移動基部の重心の位置ｂｘｙ、移動基部の質量ｍｂ、上体の位置ｃｘｙ、および上体の質量のｍｃに基づいて直接得ることができる。
【００７３】
ロボットの重心の位置は、随時次式により定義される。
【数４】
2019514713.tif 000034
移動基部のＣｏＭ、上体のＣｏＭ、およびロボットのＣｏＭの一連の位置として定義される予測軌道を各々Ｂｘｙ、Ｃｘｙ、Ａｘｙと表記する。移動基部、上体のＣｏＭ、およびロボットのＣｏＭの一連の位置と加速度のペアとして定義される予測軌道を各々
【数５】
2019514713.tif 000035
と表記する。
【００７４】
本発明の多くの実施形態において、滑らかな接触曲線を有するロボットの滑らかな運動を生成するために、プロセッサは、二質点がサンプリング周期Ｔの三次動力学に従うとの仮定の下で、ロボットのＣｏＭの予測軌道を計算すべく構成されている。
【００７５】
本発明の多くの実施形態において．プロセッサは、移動型ロボットの重心の目標軌道３３０
【数６】
2019514713.tif 000036
を辿るべく、移動型ロボットの重心の予測軌道３５０
【数７】
2019514713.tif 000037
を計算すべく構成されている。本発明の他の実施形態において、予測および目標軌道は、ロボットの重心の予測および目標位置（各々Ａｘｙおよび
【数８】
2019514713.tif 000038
）、またはロボットの重心の予測および目標速度（各々
【数９】
2019514713.tif 000039
）のみを用いて定義することができる。
【００７６】
本発明の多くの実施形態において、プロセッサは、軌道のコスト関数を最小化すべく構成されている。例えば、プロセッサは、移動型ロボットの重心の予測軌道３５０
【数１０】
2019514713.tif 000040
を計算すべく構成することができ、次式を最小化する。
【数１１】
2019514713.tif 000041
本発明の他の実施形態において、コスト関数は、２以外のべき指数でのロボットの重心の位置、速度と位置の差の加重平均に依存してよい。コスト関数の他の例は次式で与えられる。
【数１２】
2019514713.tif 000042
より一般的には、移動型ロボットの位置と基準位置との距離、移動型ロボットの速度と基準速度の差、および／またはその微分に伴いコストが増大する任意のコスト関数を用いることができる。
【００７７】
コスト関数Ｏ１の最小化により、目標軌道になるべく近い軌道を移動型ロボットのＣｏＭに辿らせる。本発明の各種実施形態において、最小化されることでロボットが目標軌道になるべく近い軌道を辿るとすぐに、他のコスト関数を用いてもよい。
【００７８】
本発明の多くの実施形態において、プロセッサは、移動型ロボットの軌道に関するコスト関数の他に、軌道の他の特徴、例えば揺動に対する堅牢さ、または運動の滑らかさを向上させるコスト関数を最小化すべく構成することができる。
【００７９】
ロボットの安定性が優先されることを保証すべく、プロセッサは多くの異なる制約の下で予測軌道を計算すべく構成されている。１つの動的制約は、ロボットの転倒を回避すべくＺＭＰを支持多角形内に維持するものである。
【００８０】
図４に、本発明の多くの実施形態における移動型ロボットの重心の予測軌道を計算する場合に動的制約の定式化に用いる支持多角形の例を示す。
【００８１】
図４は、軸４０２、４０３により規定される座標系（ｘ、ｙ）における移動型ロボットの基部の重心４０１に対する位置を示す。支持多角形４１０、４３０、４４０、および長方形４２０は、移動型ロボットの基部の重心４０１に対して固定された位置を有し、その向きはロボットの向きに伴い変化する。
【００８２】
運動の動釣バランスは、ロボットがバランスを保ち続けるには、上でｐｘｙとして定義された移動型ロボットのＺＭＰが支持多角形内に留まることを要する。本発明の多くの実施形態において、当該ロボットは、図１において示すロボットのように概略三角形の基部を有する車輪付きロボットである。従って支持多角形はロボットを中心とする三角形Ｄ４１０により表すことができ、ロボットの基部を表している。
【００８３】
本発明の多くの実施形態において、ロボットの向きに関して制約を一定に保つべく、支持多角形は、支持三角形に書き込まれた円Ｄ’４３０である。本発明の更に他の実施形態において、制約を線形に保つべく、支持多角形は当該円内に書き込まれた八角形Ｄ”４４０である。八角形Ｄ”４４０の寸法は、当該八角形内の任意の点もまた円Ｄ’４３０内に位置するように、且つ円の良い近似を与えるように計算される。多角形の使用により有利な特徴として、円内に点を含めることよりも極めて高速である一次不等式だけを計算しながら、ＺＭＰが円内に留まるか否かを調べることが可能になる。八角形Ｄ”４４０は、計算の複雑度と計算精度との間の良い妥協点である。
【００８４】
より一般的には、多角形の辺が多いほど精度は良いが計算量が増える。従って、円のより良好な近似を得るべく、より多くの辺を有する多角形を用いることができる。一方、より低い計算の複雑でＺＭＰが円内に存在するか否かを判定すべく、辺がより少ない多角形、例えば正方形を用いることも可能である。
【００８５】
ＺＭＰ制約は、次式により定式化することができる。
Ｐｘｙ−Ｂｘｙ∈Ｄ”    （７）
ここにｐｘｙは、ＺＭＰの一連の位置ＰｘｙによるロボットのＺＭＰの軌道を表し、Ｂｘｙは、移動型ロボットの重心の一連の位置ｂｘｙによる移動型ロボットの重心の予測軌道を表している。
【００８６】
本発明の他の実施形態において、支持多角形は異なる形状およびサイズを有していてよい。当業者であれば、発明の才がなくても、所与のロボットに対して適切な支持多角形を定義することが可能である。
【００８７】
ロボットの重心の最大速度および加速度に対して更なる制約を規定することができ、例えば次式のように規定することができる。
【数１３】
2019514713.tif 000043
式（８）、（９）において、値
【数１４】
2019514713.tif 000044
は各々ロボットの移動基部の最大速度および加速度である。これらはロボットの機械的能力に基づいて決定された所定の値であってよい。本発明の他の実施形態において、値
【数１５】
2019514713.tif 000045
を有する最大速度および加速度の制約は移動型ロボット全体の重心で定式化できる。本発明の他の実施形態、例えばロボットが二足ロボットである実施形態において、最大速度および加速度は、動的能力、例えば移動型ロボットの歩行能力に応じて規定することができる。
【００８８】
本発明の多くの実施形態において、プロセッサはまた、ロボットの多関節に基づいて、ロボットの上体および基部の重心の相対位置に対する制約を定式化すべく構成されている。例えば、図１に示すロボットの関節限界に基づいて、上体の重心が、ロボットの基部の重心の回りの矩形領域Ｈ４２０内に留まるものと判定することができる。従って上体の最大リーチの制約を次式により定式化することができる。
−  ｋｘｙ≦Ｃｘｙ−Ｂｘｙ≦ｋｘｙ    （１０）
【００８９】
本発明は上述の例に限定されない。例えば、他の種類のロボット、例えば二足ロボットに対して他の簡素化または仮定を行うことができる。上で開示したような動的モデルを用いることで、ロボットが自身の重心の予測軌道を、移動型ロボットの動的特性を考慮しながら計算の複雑度を抑えて計算できるようになる。
【００９０】
本発明の多くの実施形態において、ロボットの動的モデルはまた極めて異なっていてよい。例えば、ロボットの重心を表す単一の質点を有する簡単な倒立振り子としてロボットをモデル化して、当該質点上での最大速度および加速度に対する制約を定式化することができる。
【００９１】
図３に戻り、アーキテクチャ３００は更にソフトウェアモジュール３６０を含み、プロセッサは、ソフトウェアモジュール３６０をロードして実行する場合、移動型ロボットの重心の予測軌道３５０および移動型ロボット３１１の行動を規定する命令に基づいて多関節四肢の予測動作３７０を計算すべく構成されている。
【００９２】
移動の行動を規定する命令３１１の可能な形式が既に議論されている。プロセッサがモジュール３２０を実行する場合に移動型ロボットの行動を規定する入力命令３１１をロボットの多関節四肢の目標軌道に変換すべく構成されている本発明の多くの実施形態において、ロボットの多関節四肢の目標軌道を、移動型ロボットの行動を規定する命令３１１の代わりに用いることができる。
【００９３】
本発明の多くの実施形態において、プロセッサは、一般化逆運動学を用いて多関節四肢の予測動作３７０を計算すべく構成されている。本発明の多くの実施形態において、これは、少なくとも多関節四肢で目標軌道を有するベクトルＹと基準ベクトルＹｒｅｆとの間のコスト関数を最小化すべく、少なくとも多関節四肢の目標軌道で規定しているベクトルＹを計算するものである。例えばベクトルＹは、
−  ロボットの胴体の速度、
−  多関節接合部の速度を含んでいてよい。
本発明の多くの実施形態において、運動学的連鎖の一部でない多関節接合部、例えば手の多関節接合部は考慮されない。同一アクチュエータにより制御される多関節接合部をベクトルＹ内の単一変数にマッピングすることができる。
【００９４】
プロセッサは、一般化逆運動学に対する制約を定式化すべく構成されている。本発明の多くの実施形態において、これらの制約は、
−  角度および／または速度に関する関節限界。この制約は行列Ａおよびｂにより定義される次式により表される。
ＡＹ＋ｂ＝０    （１１）
−  ロボットのバランス。ＣｏＭは、ＭＰＣが出力した軌道に厳密に追随すべく制約される。ＣｏＭの軌道は支持多角形に関して以前に計算されているため、ロボットの重心に当該軌道を辿らせることでロボットのバランスを保つことが保証される。この制約は行列Ｃおよびｄにより定義される次式により表される。
ＣＹ＋ｄ≧０    （１２）
他の制約も、多関節接合部の機械的限界およびロボットのバランスを表すのであれば可能である。
【００９５】
プロセッサは、（１１）、（１２）で規定される制約の下で、例えばベクトルＹと基準ベクトルＹｒｅｆとの間のコスト関数を最小化することにより多関節四肢の動作を計算すべく構成することができる。
【数１６】
2019514713.tif 000046
ここにＱは二次基準である。本発明の他の実施形態において、他のコスト関数も、多関節接合部の目標動作と比較して、多関節接合部の速度および位置が最小化できるのであれば可能である。
【００９６】
一般化逆運動学を用いて最適化されたベクトルＹは、ロボットの全ての関節を適切に表すべく高次元を有していてよい。従って、ベクトルＹ全体に逆動力学を適用することにより、ロボット全体の軌道を決定することは受容できない程度に高いコンピュータコストが生じるであろう。対照的に、一般化逆運動学は、逆動力学よりも計算コストが極めて低い。従って、自由度がより低いロボットの動的モデルに対し逆動力学を用いて移動型ロボットの予測軌道を計算し、自由度がより高い一般化逆運動学を用いて多関節四肢の動作を計算することにより、移動型ロボットの軌道および多関節四肢の動作を合理的な計算コストで適切に計算することができる。
【００９７】
本発明の多くの実施形態において、プロセッサは、同一時間枠にわたり、単一の時間刻みで、軌道、速度等の全ての計算を実行すべく構成されている。例えば、プロセッサは、２０ミリ秒毎に多関節四肢３７０の予測動作を計算することができ、２０ミリ秒のサンプルを用いて２ｓの時間範囲にわたり各軌道を計算することができる。
【００９８】
多関節四肢３７０の予測動作が計算されたならば、モーターおよび／またはアクチュエータに読み込まれて実際にロボットの動作を実行すべく用いることができる。
【００９９】
本発明が適用できるのは上で開示した例だけではない。特に、人型ロボットだけでなく移動基部および多関節腕を有する産業用ロボットにも適用可能である。
【０１００】
図５ａ、５ｂ、５ｃ、５ｄ、５ｅおよび５ｆは各々、本発明によるロボットの動作を設定するためのユーザーインターフェースの２つのビュー、従来技術におけるロボットの軌道の一例、従来技術によるロボットの位置およびロボットの関節の角位置、本発明によるロボットの軌道の一例、本発明によるロボットの位置およびロボットの関節の角位置を示す。
【０１０１】
図５ａに、本発明によるロボットの動作を設定するためのユーザーインターフェースの一例を示す。当該インターフェースは、多数のサブウインドウを含むウインドウ５００ａを含んでいる。
【０１０２】
第１のサブウインドウ５１０を用いて行動を作成、選択、および編集する。第２のサブウインドウ５２０を用いて実行する動作の種類を選択する。図５ａに示す例において、動作は「〜に沿って移動」であり、軌道上のロボットの移動を規定する。
【０１０３】
第３のサブウインドウ５３０ａはユーザーにロボットの目標軌道を設定させる。ユーザーは特に、始点５３１ａ、終点５３２ａおよび、中間軌道５３３ａを設定することができる。本例では、軌道は始点と終点の間の直線を規定する。サブウインドウ５３４ａを用いて、ユーザーに動作の特徴（特に持続期間５３５ａ）を設定させる。
【０１０４】
サブウインドウ５４０は、ロボットの動作および姿勢のプレビューを示している。
【０１０５】
図５ｂに、本発明によるロボットの動作を設定するためのユーザーインターフェースの第２のビューを示す。
【０１０６】
第２のビューは、同様にサブウインドウ５１０、５２０および５４０を有するウインドウ５００ｂを規定している。
【０１０７】
ウインドウ５００ｂはまた、関節の目標動作を設定するためのサブウインドウ５５０ｂを含んでいる。ユーザーは、所定の種類の動作、例えば「腰振り」動作５５８ｂを選択することができる。本例では、「腰振り」動作は、ロボットの腰周辺で当該ロボットの上体が左右に動く動作に対応している。
【０１０８】
ユーザーは更に、ロボットの動作の特徴を設定することができる。「腰振り」動作の例において、ユーザーは、時間軸５５２ｂに示す時間に対して振幅５５１ｂの軸に示す腰の動作の振幅を設定することができる。動作は、本例では基準点５５４ｂ、５５５ｂ、５５６ｂおよび５５７ｂに基づいて得られた（時間、振幅）スプライン５５３ｂで示される。
【０１０９】
図５ｂに、ロボットの行動の低レベル指令の一例を示す。本発明の他の実施形態において、到達すべき姿勢等のより高水準の指令を用いることができる。例えば、「ある位置へ手を伸ばす」または「所与の位置／時点で手を降ろす」等の高水準指令を用いることができる。従ってこのような高水準指令に基づいて、ロボットの計時された一連の姿勢を決定し、これをロボットのＣｏＭおよびロボットが到達するであろう姿勢の軌道の決定に用いることができる。
【０１１０】
図５ｃに従来技術のロボットの軌道の一例を示す。
【０１１１】
より具体的には、図５ｃは、ウインドウ５００ａ内で設定された目標軌道、およびウインドウ５００ｂ内で設定された関節の目標動作に基づいて、従来技術により計算されたロボットの軌道および行動を示す。
【０１１２】
本例では、ロボットは、ウインドウ５００ａ内で設定された軌道になるべく近い軌道を辿ってウインドウ５００ｂ内で設定された行動「腰振り」５５８ｂになるべく近い多関節四肢の動作を実行する。より具体的には、ロボットが辿った軌道および胴体の位置は、軌道５３３ａおよび５５３ｂで設定された位置になるべく近いものである。
【０１１３】
従来技術では従って、ロボットは始点５３１ｃと終点５３２ｃの間の直線軌道５３３ｃを辿る。ところで、ロボットは、関節５５３ｂの動作により規定される行動「腰振り」５５８ｂになるべく近い行動をとるべく、胴体の動作を実行する。従来技術ではロボットは多関節動作５５４ｃしか実行することができない。
【０１１４】
図５ｄに、従来技術におけるロボットの位置およびロボットの関節の角位置の一例を示す。
【０１１５】
図５ｄに、時間軸５５２ｄに対して軸５５１ｂに同一の軸５５１ｄで表す、ロボットの腰周辺での当該ロボットの上体の動作の振幅を示す。曲線５５３ｄはロボットの関節の目標動作を表し、曲線５５４ｄはロボットの関節の実際の動作を表している。
【０１１６】
図５ｃ、５ｄに見られるように、従来技術のロボットは図５ａ、５ｂで意図された動作を実行することができない。主な理由は、スプライン５５３ｂにより規定された命令に従う関節の動作を計算する場合、従来技術のロボットは動力学制約、特にロボットのバランスにより制限されるからである。
【０１１７】
図５ｅに本発明の一実施形態におけるロボットの軌道の一例を示す。
【０１１８】
より具体的には、図５ｅは、ウインドウ５００ａ内で設定した目標軌道、およびウインドウ５００ｂ内で設定された関節の目標動作に基づいて、本発明の一実施形態において計算されたロボットの軌道および行動を示す。
【０１１９】
本例では、ロボットは、ウインドウ５００ａ内で設定された軌道になるべく近い軌道を辿って、ウインドウ５００ｂ内で設定された動作「腰振り」５５８ｂになるべく近い多関節四肢の動作を実行する。より具体的には、ロボットが辿った軌道および胴体の位置は、軌道５３３ａおよび５５３ｂで設定された位置になるべく近いものである。
【０１２０】
従来技術では従って、ロボットは始点５３１ｅと終点５３２ｅの間の軌道５３３ｅを辿る。ところで、関節５５３ｂの動作により規定される行動「腰振り」５５１ｂになるべく近い行動をとるべく、胴体の動作を実行する。本発明において、ロボットは、胴体のロボットの重心の位置への移動の影響を考慮すべく、必ずしも直線ではない軌道５３３ｅを計算する。ロボットの基部の軌道の当該変更により、ロボットは、ユーザーが意図した動作により充分に近い胴体の５５４ｅの動作を実行することができる。
【０１２１】
図５ｆに、本発明の一実施形態におけるロボットの位置およびロボットの関節の角位置の一例を示す。
【０１２２】
図５ｆは、時間軸５５２ｆに対して軸５５１ｂと同一の軸５５１ｆで表す、ロボットの腰周辺での胴体の動作の振幅を表している。曲線５５３ｆはロボットの関節の目標移動を表し、曲線５５４ｆはロボットの関節の実際の動作を表していて、図５ｅに示す動作に対応している。
【０１２３】
図５ｅ、５ｆに見られるように、本発明によるロボットは図５ａ、５ｂで意図された動作に極めて近い動作を実行することができる。より具体的には、関節の動作を用いてロボットの重心の軌道に計算することにより、従来技術で計算した動作よりもユーザーが意図した動作にはるかに近い多関節四肢の動作を計算することができる。
【０１２４】
図６ａ、６ｂは各々、従来技術の方法および本発明の実施形態における方法を示す。
【０１２５】
図６ａに、従来技術において複数の多関節四肢を有する移動型ロボットの予測動作を計算する方法６００ａを示す。
【０１２６】
方法６００ａは、移動型ロボットの運動を規定する命令および移動型ロボットの行動を規定する命令を入力６１０、６１１として受信するステップを含んでいる。
【０１２７】
方法６００ａは更に、移動型ロボットの動作を規定する命令６１１に基づいて、ある時間範囲にわたる移動型ロボットの予測軌道６３１ａを計算するステップ６３０ａを含んでいる。当該軌道は例えば、関節の実際の動作ではなく、標準的な姿勢に基づく、移動型ロボットの重心の軌道であってよい。
【０１２８】
方法６００ａは更に、移動型ロボットの予測軌道６３１ａおよび移動型ロボット６１１の行動を規定する命令に基づいて、多関節四肢の予測動作６４１ａを計算するステップ６４０ａを含んでいる。
【０１２９】
方法６００ａは従って、ロボットの関節の軌道および予測動作の両方を計算可能にする。しかし、ロボットの動的制約により、図５ｃ、５ｄに開示するようにステップ６４０ａで関節の動作を計算する可能性が制限される場合がある。
【０１３０】
図６ｂに、本発明の一実施形態における複数の多関節四肢を有する移動型ロボットの予測動作を計算する方法６００ｂを示す。
【０１３１】
方法６００ｂは、移動型ロボットの動作を規定する命令および移動型ロボットの行動を規定する命令を入力６１０、６１１として受信するステップを含んでいる。
【０１３２】
方法６００ｂは、入力６１０、６１１に基づいて、移動型ロボットの重心の目標軌道６２１ｂを計算するステップ６２０ｂを更に含んでいる。
【０１３３】
方法６００ｂは更に、移動型ロボットの重心の目標軌道６２１ｂおよび移動型ロボットの動的制約に基づいて、ある時間範囲にわたる移動型ロボットの重心の予測軌道６３１ｂを計算するステップ６３０ｂを含んでいる。
【０１３４】
方法６００ｂは更に、移動型ロボットの重心の予測軌道６３１ｂおよび移動型ロボット６１１の行動を規定する命令に基づいて、多関節四肢の予測動作６４１ｂを計算するステップ６４０ｂを含んでいる。
【０１３５】
本発明の方法６００ｂは、ロボットの重心の予測軌道を計算すべく多関節四肢の動作を考慮することにより、従来技術の方法の限界を克服可能にする。より具体的には、ロボットが行動を採用して、従来技術の方法よりも移動型ロボットの行動を規定する命令６１１にはるかに近い多関節四肢の動作を実行することができる。
【０１３６】
方法６００ｂは各種の仕方で実装可能である。例えば、アーキテクチャ３００等のソフトウェアアーキテクチャに実装することができる。当該方法は、本発明のロボットに搭載されたプロセッサにより実行することができる。また、図５ａ、５ｂに示すユーザーインターフェース等のロボットの動作のエディタに実装することができる。従ってこれを用いてロボットの動作のプレビューを得ることができる。本発明の方法を用いてもロボットが行動を取ることが不可能な場合、ユーザーはロボットが実行可能な動作を規定すべくロボットの行動を修正することができる。
【０１３７】
上述の例は本発明の実施形態の説明のために提示するものである。これらは、いかなる仕方でも以下の請求項により規定される本発明の範囲を限定するものではない。
【国際調査報告】
2019514713.tif 000047
2019514713.tif 000048