(57)【特許請求の範囲】
【請求項１】
表面上で動くよう構成されたヒューマノイドロボットであって、前記ロボットの四肢それぞれのうちの少なくとも一つの第１の部分と前記表面との接触を検出するための少なくとも１つのモジュールと、前記四肢それぞれのうちの少なくとも一つの第１の部分を含む第１の支持多角形に対する前記ロボットの重心の投影点の位置を計算するためのモジュールと、さらに前記ロボットの四肢それぞれのうちの少なくとも一つの第２の部分と前記表面との近接性を検出するための少なくとも１つのモジュールと、を含むヒューマノイドロボットにおいて、
前記第１の支持多角形に対する前記ロボットの重心の投影点の位置を計算するための前記モジュールはさらに、第２の支持多角形に対する前記ロボットの重心の投影の位置を計算するように構成され、
前記第２の多角形は、前記表面にほぼ接触しているとして検出された前記ロボットの四肢の群に属する前記ロボットの四肢それぞれのうちの少なくとも一つの第２の部分の前記表面上の投影点を前記第１の多角形に加えることにより前記第１の多角形から導出される、ヒューマノイドロボット。
【請求項２】
前記四肢それぞれのうちの少なくとも一つの第２の部分と前記表面との近接性を検出するためのモジュールは、入力として、前記表面に対する前記四肢それぞれのうちの少なくとも一つの第２の部分の位置を受信し、
前記位置は、前記ロボットの基準座標系における前記四肢の空間内の少なくとも位置を含む前記ロボットの幾何学モデルの出力として提供される、請求項１に記載のヒューマノイドロボット。
【請求項３】
前記ロボットの四肢それぞれのうちの少なくとも一つの第２の部分が前記表面にほぼ接触しているということに基づく条件は、少なくとも前記ロボットの大きさと、前記ロボットの下肢の高さの最大振幅とを含む判定基準の群に属する判定基準の関数として選択された距離閾値により特徴付けられる、請求項２に記載のヒューマノイドロボット。
【請求項４】
前記四肢それぞれのうちの少なくとも一つの第１の部分は前記ロボットの足の一方であり、前記足は少なくとも１つの押圧力センサを含む、請求項１に記載のヒューマノイドロボット。
【請求項５】
前記四肢それぞれのうちの少なくとも一つの第２の部分は前記ロボットの手の一方である、請求項１に記載のヒューマノイドロボット。
【請求項６】
支持多角形に対する前記ロボットの重心の投影点の位置を計算するための前記モジュールの入力として、測定された前記ロボットの任意の点の基準面に対する位置と、前記ロボットの基準姿勢における前記任意の点の前記基準面に対する位置との距離を、所定の判定基準に従って比較することにより前記ロボットの姿勢をフィルタリングするためのモジュールをさらに含む請求項１に記載のヒューマノイドロボット。
【請求項７】
前記ロボットの重心の投影点の位置を計算するためのモジュールに、胸部と地面に接触した前記ロボットの足の一方とを接続する軸との角度と前記ロボットの重心の投影軸に適用される回転の角度との垂直軸を与える慣性測定ユニット、をさらに含む請求項１に記載のヒューマノイドロボット。
【請求項８】
支持多角形に対する前記ロボットの重心の投影点の位置を計算するための前記モジュールの出力において、転倒から保護するための一群の行為であって、その少なくとも１つの行為は、支持多角形に対する前記ロボットの重心の投影点の位置を計算するための前記モジュールがその重心の投影点が前記第２の支持多角形の外にある前記ロボットの転倒状態の少なくとも１つの出力特性を与える場合にトリガされる一群の行為、を監視するためのモジュール、をさらに含む請求項１に記載のヒューマノイドロボット。
【請求項９】
前記保護行為の群は、少なくとも前記ロボットの脚の関節が連動することを無効化することと、少なくとも前記ロボットの頭、腕、骨盤を含む群に属する少なくとも１つの要素の保護の姿勢で配置することと、前記群に属する少なくとも１つの要素の関節を無効化することとを含む、請求項８に記載のヒューマノイドロボット。
【請求項１０】
支持多角形に対する前記ロボットの重心の投影点の位置を計算するための前記モジュールはさらに、前記ロボットの転倒状態を特徴付ける状態に対し、転倒から保護するための行為の群を監視するためのモジュールに、前記ロボットの基準座標系における転倒の方向を特徴付ける角度を提供し、
選択された基準値に対する前記転倒角度の値は、転倒から保護するために行うべき行為の群内の保護行為の選択を決定する、請求項８に記載のヒューマノイドロボット。
【請求項１１】
転倒角度が前方への転倒と判断した場合、前記頭の保護の姿勢で配置することはそれをほぼ後方に配置することであり、前記腕の保護の姿勢で配置することはそれらをほぼ前方に配置することであり、前記骨盤の保護の姿勢で配置することはそれを閉じることである、請求項９に記載のヒューマノイドロボット。
【請求項１２】
転倒角度が左または右への転倒と判断した場合、前記頭の保護の姿勢で配置することは前記頭をほぼ前方に配置することであり、前記腕の保護の姿勢で配置することは前記腕を揃えて前記体のほぼ前方に配置することであり、前記骨盤の保護の姿勢で配置することは前記骨盤を開くことである、請求項９に記載のヒューマノイドロボット。
【請求項１３】
転倒角度が後方への転倒と判断した場合、前記頭の保護の姿勢で配置することは前記頭をほぼ前方に配置することであり、前記腕の保護の姿勢で配置することは前記腕をほぼ後方に持ってくることであり、前記骨盤の保護の姿勢で配置することは前記骨盤を閉じることである、請求項９に記載のヒューマノイドロボット。
【請求項１４】
表面上で動くよう構成されたヒューマノイドロボットであって前記ロボットの四肢それぞれのうちの少なくとも一つの第１の部分と前記表面との接触を検出するための少なくとも１つのモジュールを含むヒューマノイドロボットの転倒を管理する方法であって、前記四肢それぞれのうちの少なくとも一つの第１の部分を含む第１の支持多角形に対する前記ロボットの重心の投影点の位置を計算する工程を含む方法において、
前記ロボットの四肢それぞれのうちの少なくとも一つの第２の部分と前記表面との近傍性を検出する少なくとも１つの工程と、
第２の支持多角形に対する前記ロボットの重心の投影の位置を計算する工程であって、前記第２の多角形は、前記表面にほぼ接触しているとして検出された前記ロボットの四肢の群に属する前記ロボットの四肢それぞれのうちの少なくとも一つの第２の部分の前記表面上の投影点を前記第１の多角形に加えることにより前記第１の多角形から導出される、工程と、をさらに含む方法。
【請求項１５】
コンピュータプログラムがコンピュータ上で実行されると請求項１４に記載の方法の実行を可能にするように構成されたプログラムコード命令を含むコンピュータプログラムであって、
前記プログラムは、表面上を動くことができるヒューマノイドロボットであって前記表面と前記ロボットの四肢それぞれのうちの少なくとも一つの第１の部分との接触を検出するための少なくとも１つのモジュールを含むヒューマノイドロボットの転倒の管理を可能にするようにされ、
前記プログラムは、第１の支持多角形に対する前記ロボットの重心の投影点の位置を計算するためのモジュールと、
前記表面と前記ロボットの四肢それぞれのうちの少なくとも一つの第２の部分との近接性の検出データのための少なくとも１つの入力モジュールと、
第２の支持多角形に対する前記ロボットの重心の投影の位置を計算するためのモジュールであって、前記第２の多角形は、前記表面にほぼ接触しているとして検出された前記ロボットの四肢の群に属する前記ロボットの前記四肢それぞれのうちの少なくとも一つの第２の部分の前記表面上の投影点を前記第１の多角形に加えることにより前記第１の多角形から導出される、モジュールと、を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はヒューマノイドロボットの分野に属する。より正確には、本発明はこれらのロボットの用途の開発に対して特に不利益をもたらす事象である前記ロボットの転倒の管理に適用される。
【背景技術】
【０００２】
ロボットは、人の外観と機能のいくつか（頭、胴、２つの腕、２つの手、２つの脚、２つの足等）の属性を保有する場合にヒューマノイドと呼ぶことができる。外観以外では、ヒューマノイドロボットが達成できる機能は、運動を行い、話し、「推論する」ためのその能力に依存する。ヒューマノイドロボットは四肢または頭を使って歩行し、身振りをすることができる。ヒューマノイドロボットが行える身振りの複雑さは引き続き増加している。しかしながらロボットは、特にそれらの関節のモータのために壊れやすいままである。この脆弱性は大衆消費市場応用の開発にとって深刻な障害である。実際、これらの応用という脈絡の中で、ヒューマノイドロボットの製造者と販売業者が初期売り上げに対し不釣り合いに重要なアフターサービスを社会全般に対する受け入れがたいコストで展開する必要があるので、繰り返される転倒による破損または故障に対処しなければならないことは、特に有害である。
【０００３】
転倒のリスクを最小化するための歩行能力を付与されたヒューマノイドロボットに適用可能な第１の戦略は、歩行が十分に安定であることを保証することである。これをするために広く使用される手段は、零モーメント点（ＺＭＰ：Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）（すなわち軸受中心軸のモーメントと方位軸のモーメントが零である地面上の点）がロボットの支持多角形（ｓｕｐｐｏｒｔ  ｐｏｌｙｇｏｎ）内に含まれるようなやり方でロボットの軌道を調整することである（すなわち、歩行ロボットの場合、歩行ロボットが片足で立っていれば支持多角形はこの足の形を有することになる。両足で立っていればこの多角形の面積は両足の面積に両足間（ｉｎｔｅｒｐｏｄａｌ）面積を加えたものになる）。しかしながら、この戦略は、すべての条件下で、特には、ロボットが凹凸のある地形の上を進まなければならない場合、平衡の限界でロボットを配置しなければならない場合、または第三者によるぶつかりに耐えなければならない場合、ロボットの安定性を保証するには十分ではない。
【０００４】
この問題に対する従来の解決策は、前進する表面上のロボットの重心の投影がロボットの支持多角形内に含まれたままであることを検証することと、次に、前記支持多角形から前記重心が出る場合に前記支持多角形の出口の角度の関数として最良の転倒の姿勢を決定することと、からなる一般的原理を利用することである。これらの解決策は、ロボットが転倒の位置にいるということを曖昧さなしに判断できるようにするセンサを付与された静的なロボットの簡単な場合には正しく働く。同じことは、歩行中のロボットの場合、特には前記転倒の検出センサが、歩行軌道に含まれる通常の身振りと転倒の兆候とを混同するかもしれない場合には当てはまらない。実際、この場合、ロボットの活動の通常のコースを妨げる理由は何も無いのに、転倒から保護するための機構が不適切にトリガされることになる。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明は、ロボットを転倒から保護するための適切な機構を実施することが実際に必要なケースをより正確なやり方で識別できるようにする手段を提供することによりこの問題を解決する。この識別は、物理的多角形から導出される仮想支持多角形を定義し、それに前進の表面にほぼ接触する点を加えることにより果たされる。
【０００６】
この目的のため、本発明は、表面上で動くことができるヒューマノイドロボットであって、ロボットの少なくとも１つの第１の四肢と前記表面との接触を検出するための少なくとも１つのモジュールと、前記少なくとも１つの第１の四肢を少なくとも含む第１の支持多角形に対する前記ロボットの重心の投影点の位置を計算するためのモジュールと、を含むヒューマノイドロボットを開示する。前記ロボットは、前記ロボットの少なくとも１つの第２の四肢と前記表面との近接性を検出するための少なくとも１つのモジュールをさらに含み、第１の支持多角形に対する前記ロボットの重心の投影点の位置を計算するための前記モジュールはさらに、第２の支持多角形に対する前記ロボットの重心の投影の位置を計算するように構成され、前記第２の多角形は、前記表面にほぼ接触しているとして検出された前記ロボットの四肢の群に属する前記ロボットの前記第２の少なくとも１つの四肢の前記表面上の投影点を第１の多角形に加えることにより第１の多角形から導出される。
【０００７】
有利には、少なくとも前記１つの第２の四肢と前記表面との近接性を検出するためのモジュールは、入力として、前記表面に対する前記少なくとも１つの第２の四肢の位置を受信し、前記位置は、ロボットの基準座標系における前記四肢の空間内の少なくとも位置を含むロボットの幾何学モデルの出力として提供される。
【０００８】
有利には、ロボットの第２の四肢が前記表面にほぼ接触しているということに基づく条件は、少なくともロボットの大きさとその下肢の高さの最大振幅とを含む判定基準の群に属する判定基準の関数として選択された距離閾値により特徴付けられる。
【０００９】
有利には、前記少なくとも１つの第１の四肢はロボットの足の一方であり、前記足は少なくとも１つの押圧力センサ（ｐｒｅｓｓｕｒｅ  ｆｏｒｃｅ  ｓｅｎｓｏｒ）を含む。
【００１０】
有利には、前記少なくとも１つの第２の四肢はロボットの手の一方である。
【００１１】
有利には、本発明のロボットはさらに、支持多角形に対する前記ロボットの重心の投影点の位置を計算するための前記モジュールの入力として、前記姿勢の幾何学モデルと基準姿勢の幾何学モデルとの距離を、所定の判定基準に従って比較することによりロボットの姿勢をフィルタリングするためのモジュールを含む。
【００１２】
有利には、本発明のロボットはさらに、前記ロボットの重心の投影点の位置を計算するためのモジュールに、胸部とロボットの地面に接触した足の一方とを接続する軸との角度が、ロボットの重心の投影軸に適用される回転の角度を有する垂直軸を与える慣性測定ユニットを含む。
【００１３】
有利には、本発明のロボットはさらに、支持多角形に対する前記ロボットの重心の投影点の位置を計算するための前記モジュールの出力として、転倒から保護するための一群の行為であって、その少なくとも１つの前記行為は前記計算モジュールがその重心の投影点が第２の支持多角形の外にあるロボットの転倒状態の少なくとも１つの出力特性を与える場合にトリガされる一群の行為を監視するためのモジュールを含む。
【００１４】
有利には、保護行為の群は、ロボットの脚の関節の連動化（ｓｌａｖｉｎｇ）を少なくとも無効化すること、少なくとも頭、腕、骨盤を含む群に属する少なくとも１つの要素の保護の姿勢で配置すること、および前記群に属する少なくとも１つの要素の関節を無効化することと、を少なくとも含む。
【００１５】
有利には、前記計算モジュールはさらに、ロボットの転倒状態を特徴付ける状態に対し、転倒から保護するための行為の群を監視するためのモジュールに、ロボットの基準座標系における転倒の方向を特徴付ける角度を提供し、選択された基準値に対する前記転倒角度の値は転倒から保護するために行うべき行為の群の保護行為の選択を決定する。
【００１６】
有利には、転倒角度が前方への転倒と判断した場合、頭の保護の姿勢で配置することはそれをほぼ後方に配置することであり、腕の保護の姿勢で配置することはそれらをほぼ前方に配置することであり、骨盤の保護の姿勢で配置することはそれを閉じることである。
【００１７】
有利には、転倒角度が左側または右側への転倒と判断した場合、頭の保護の姿勢で配置することは頭をほぼ前方に配置することであり、腕の保護の姿勢で配置することは腕を揃えて体のほぼ前方に配置することであり、骨盤の保護の姿勢で配置することは骨盤を開くことである。
【００１８】
有利には、転倒角度が後方への転倒と判断した場合、頭の保護の姿勢で配置することは頭をほぼ前方に配置することであり、腕の保護の姿勢で配置することは腕をほぼ後方に持って来ることであり、骨盤の保護の姿勢で配置することは骨盤を閉じることである。
【００１９】
本発明はまた、表面上で動くことができるヒューマノイドロボットであってロボットの少なくとも１つの第１の四肢と前記表面との接触を検出するための少なくとも１つのモジュールを含むロボットの転倒を管理する方法を開示する。前記方法は、少なくとも１つの第１の四肢を少なくとも含む第１の支持多角形に対するロボットの重心の投影点の位置を計算する工程を含む。前記方法はさらに、前記ロボットの少なくとも１つの第２の四肢と前記表面との近傍性を検出する少なくとも１つの工程と、第２の支持多角形に対する前記ロボットの重心の投影の位置を計算する工程であって、前記第２の多角形は、前記表面にほぼ接触しているとして検出された前記ロボットの四肢の群に属する前記ロボットの前記少なくとも第２の四肢の前記表面上の投影点を第１の多角形に加えることにより第１の多角形から導出される、工程とを含む。
【００２０】
本発明はまた、コンピュータプログラムがコンピュータ上で実行されると請求項１４に記載の方法の実行を可能にするプログラムコード命令を含むコンピュータプログラムを開示する。前記プログラムは、表面上を動くことができるヒューマノイドロボットであって前記表面とロボットの少なくとも１つの第１の四肢との接触を検出するための少なくとも１つのモジュールを含むロボットの転倒の管理を可能にするようにされる、前記プログラムは、第１の支持多角形に対する前記ロボットの重心の投影点の位置を計算するためのモジュールを含む。前記コンピュータプログラムはさらに、前記表面と前記ロボットの少なくとも１つの第２の四肢との近接性の検出データのための少なくとも１つの入力モジュールと、第２の支持多角形に対する前記ロボットの重心の投影の位置を計算するためのモジュールであって、前記第２の多角形は、前記表面にほぼ接触しているとして検出された前記ロボットの四肢の群に属する前記ロボットの前記少なくとも１つ第２の四肢の前記表面上の投影点を第１の多角形に加えることにより第１の多角形から導出される、工程と、を含む。
【００２１】
本発明のアルゴリズムはさらに、一次方程式だけを使用し、したがって従来技術の解決策より転倒検出段階での計算資源という点ではるかに貪欲でないという利点を提示する。
【００２２】
有利には、本解決策は、転倒姿勢であると誤って考える可能性がある許容可能な姿勢の従来のフィルタリングと組み合わせられることができ、これにより本発明の計算上の有効性をさらに増大する。さらに、本発明によると、転倒の状況を検出する場合、特に簡単な判定基準の関数として選択される保護解決策が実施されることになり、この簡潔性はまた、すべてのこれらの機能を達成するために利用可能な資源を維持できなければならない多機能のヒューマノイドロボットの場合に不可欠である計算上の効果をもたらす。本発明の転倒の管理のモードはロボットが保護位置に配置されなければならない故障（モータ故障、電気的故障等）を管理するモードと特によく結び付くということにも留意すべきである。
【００２３】
本発明は、いくつかの例示的実施形態の以下の説明とその添付図面からより良く理解され、その様々な特性と利点が浮かび上がることになる。
【図面の簡単な説明】
【００２４】
【図１ａ−ｆ】従来技術によるロボットの転倒を予測するための計算原理を示す。
【図２】従来技術によるロボットの転倒を管理するモードの計算の基本的線図である。
【図３】本発明のいくつかの実施形態におけるヒューマノイドロボットの身体各部の地面と接触のセンサの配置を示す線図である。
【図４】本発明のいくつかの実施形態におけるロボットの特性点の、ロボットのいくつかの基準座標系における位置を計算するために使用される直接幾何学モデルを示す。
【図５ａ−ｃ】本発明のいくつかの実施形態におけるロボットの転倒を予測するための計算原理を示す。
【図６】本発明のいくつかの実施形態におけるロボットの仮想支持多角形を決定するために実施される処理のフローチャートである。
【図７】本発明のいくつかの実施形態における、その進行面上のヒューマノイドロボットの重心の投影を適切なやり方で判断するために考慮されなければならないヒューマノイドロボットの姿勢を示す。
【図８】本発明のいくつかの実施形態におけるその進行面上のヒューマノイドロボットの重心の投影を判断するために実施される処理のフローチャートである。
【図９ａ−ｉ】本発明のいくつかの実施形態における、ロボットの転倒の認識の条件を検出する前にフィルタリング可能なロボットのいくつかの姿勢を示す。
【図１０】一組の可能な位置におけるロボットの姿勢を特徴付けるために実施される処理のフローチャートである。
【図１１】本発明のいくつかの実施形態における転倒の結果を最小化するようにロボットの姿勢を管理するために実施される処理のフローチャートである。
【図１２】本発明のいくつかの実施形態における転倒の結果を最小化するために実施される行為を選択する様相を判断する原理を示す。
【図１３ａ−ｃ】本発明のいくつかの実施形態における転倒の結果を最小化するために選択される姿勢の例である。
【図１４】その実施形態のいくつかにおいて本発明の実施を可能にする物理的および機能的アーキテクチャの線図である。
【発明を実施するための形態】
【００２５】
図１ａ〜図１ｆに、従来技術によるロボットの転倒を予測するための計算原理を示す。
【００２６】
地面上に配置された固体の安定性は従来、地面上のその支持多角形に対する地面上のその重心の投影の位置により判断される。
【００２７】
図１ａ、１ｃ、１ｅにより示すように、直立する足を付与されたヒューマノイドロボットの場合、支持多角形は足の裏の面積と両足間領域の面積との集合により決定される。図１ａ、１ｃ、１ｅに示されたロボットの姿勢に対応する支持多角形は、図１ｂ、１ｄ、１ｆによりそれぞれ示される。ロボットの足の一方がロボットの前進の表面と完全に接触していないということにより特徴付けられるこれらの３つの場合、従来技術の解決策の問題の１つは、支持多角形がロボットの足の一方の足の裏の表面に帰着され第２の足は動いているということである。図１ａと図１ｂの場合、ロボットは歩行中であり、足１１０ａは地面上に置かれるが足１２０ａは地面上に戻されるまで空中にある。地面に対する足の位置がロボットの足の裏に置かれた圧力センサにより従来通りに判断されると、支持多角形１１０ｂは単独で地面に接触した足の裏１１０ａに帰着される。歩行は、ＺＭＰが常にロボットの支持多角形内にあることを保証する動的現象であるが、歩行は重心が前記支持多角形内にあることを保証しない。例えば、ロボットの重心は多角形１１０ｂの外に位置する点、１２０ｂに投影されるかもしれない。転倒の検出が多角形１１０ｂの外側の点１２０ｂの相対的配置に単純に連動されると、転倒管理機構は一歩毎にトリガされるかもしれなく、ロボットは歩行できなくなる。
【００２８】
重心１２０ｄ、１２０ｆの投影もまた、図１ｃ、１ｄ、１ｅ、１ｆに示すケースでは支持多角形１１０ｄ、１１０ｆの外になる。実際、これらのケースでは、足が部分的に接触しているとしてもすべてのセンサが地面に接触しているとは限らなく、これにより転倒の検出をトリガするので、ロボットは足１２０ｃの１つが地面に接触していなくこの足の圧力センサが地面との接触の欠落の情報アイテムを送る姿勢を有する。
【００２９】
図１ｅと図１ｆに示すケースでは、ＮＡＯは座ろうとしている。両足は実際に地面に接触しておりロボットは後方に傾き／倒れるところであるがこの転倒は意図的であり、その右手１３０ｅはこの転倒にブレーキをかけ、ロボットが完全には転倒しないことを保証する。したがってこれらの３つのケースでは、転倒の検出が不適切にトリガされることになる。
【００３０】
本発明は従来技術のこの欠点を解決する。
【００３１】
図２は、従来技術によるロボットの転倒を管理するモードの計算の基本的な線図である。
【００３２】
従来技術によると、転倒条件が図１ａ〜図１ｆに対する注釈において上に述べた原理に従って検出されると、特にその敏感な部分（その構造に応じて異なるかもしれない）を保護することによりロボットに対するあり得る損傷を最小化する目的を持った転倒管理戦略が実施される。
【００３３】
従来技術の転倒管理機構は、Ｆｕｊｉｗａｒａらの「Ｆａｌｌｉｎｇ  Ｍｏｔｉｏｎ  Ｃｏｎｔｒｏｌ  ｔｏ  Ｍｉｎｉｍｉｚｅ  Ｄａｍａｇｅ  ｔｏ  Ｂｉｐｅｄ  Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔ」と「Ｔｈｅ  Ｆｉｒｓｔ  Ｈｕｍａｎ−ｓｉｚｅ  Ｈｕｍａｎｏｉｄ  ｔｈａｔ  ｃａｎ  Ｆａｌｌ  Ｏｖｅｒ  Ｓａｆｅｌｙ  ａｎｄ  Ｓｔａｎｄ−ｕｐ  Ａｇａｉｎ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＩＥＥＥ／ＲＳＪ，Ｉｎｔｌ．Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ、  ＥＰＦＬ、  Ｌａｕｓａｎｎｅ、  Ｓｗｉｔｚｅｒｌａｎｄ、  ２００２年１０月  及び  Ｌａｓ  Ｖｅｇａｓ、  Ｎｅｖａｄａ、  ２００３年１０月に記載されている。これらの機構は、地面に最初に触れるロボットの部分を予測するために、地面に対する垂直線に対するロボットの垂直軸の傾斜θの測定結果とロボットの重心の速度ＶＣｄＭの測定結果を利用する。これらの測定は、地面に対する垂直線に対し振動する逆の振り子としてロボットの動きをモデル化することにより、動的なやり方で行われる。行われる計算は、計算パワーという点で特に貪欲であり、これにより、その計算能力が関節の動きと環境センサを管理するなどの恒久的タスクまたはスピーチと行動を管理するなどの使用タスクのいずれかに優先的やり方で割り当てられるロボット内でこれらの計算を使用する可能性を制限する。
【００３４】
本発明はこの制限を回避できるようにする。
【００３５】
図３に、本発明の実施形態におけるヒューマノイドロボットの物理的アーキテクチャを示す。このようなロボットは、特に２００９年１０月１５日公開の国際公開第２００９／１２４９５１号パンフレットに開示されている。このプラットフォームは、本発明に至る改良のためのベースとして役立った。後の説明では、このヒューマノイドロボットはこの総称用語またはその商標ＮＡＯ（商標）で呼ばれることがあるが、これにより参照の一般性が修正されることはない。
【００３６】
このロボットは、センサと関節を操縦するアクチュエータとを制御するための約２ダースの電子カードを含む。関節は通常、少なくとも２つの自由度したがって２つのモータを有する。各モータは角度で操縦される。関節はまた、いくつかの位置センサ、特にＭＲＥ（磁気回転符合器：Ｍａｇｎｅｔｉｃ  Ｒｏｔａｒｙ  Ｅｎｃｏｄｅｒｓ）を含む。電子制御カードは市販のマイクロコントローラを含む。これは、例えばＭｉｃｒｏｃｈｉｐ社のＤＳＰＩＣ（商標）であってよい。これはＤＳＰに結合された１６ビットＭＣＵである。このＭＣＵは１ミリ秒のループ連動化サイクル（ｌｏｏｐｅｄ  ｓｌａｖｉｎｇ  ｃｙｃｌｅ）を有する。ロボットはまた、他のタイプのアクチュエータ、特にその色と強度がロボットの感情を伝えることができるＬＥＤ（発光ダイオード）を含むことができる。後者はまた、他のタイプの位置センサ特に慣性測定ユニットとＦＳＲ（接地圧センサ）とを含むことができる。これらのＦＳＲ３１０は本発明の実施に特に有用である。これらは、この脈絡の中で、地面またはロボットの前進の任意の他の表面と足のそれぞれとの接触を検出するように意図されている。この目的により例えば、少なくとも２層のピエゾ抵抗可撓性材料を有するテープからなるＴｅｋｓｃａｎ（商標）社のＦｌｅｘｉＦｏｒｃｅ（商標）センサを使用することが可能である。テープの電気抵抗は、テープが配置される表面に印加される垂直押圧力の関数として減少する。電流の測定は、較正後に押圧力を確定できるようにする。いくつかのセンサ（例えば、４個）が各足の裏に想定されると有利である。
【００３７】
頭は、ロボットの知能、特にロボットに割り当てられたジョブをロボットが達成できるようにするハイレベル機能を実行するカードを含む。カードのプロセッサは市販のｘ８６プロセッサであってよい。ＡＭＤ社のＧｅｏｄｅ（商標）（３２ビット、５００ＭＨｚ）の低消費電力プロセッサが優先的やり方で選択されることになる。カードはまた、一組のＲＡＭとフラッシュメモリを含む。このカードはまた、通常はＷｉＦｉ、ＷｉＭａｘトランスミッションレイヤ上で、随意的にはＶＰＮ内の随意的にカプセル化された標準プロトコルを有する移動データ通信の公衆網上で、ロボットの外部（行動サーバー（ｂｅｈａｖｉｏｒｓ  ｓｅｒｖｅｒ）、他のロボットなど）との通信を管理する。プロセッサは通常、標準ＯＳにより操縦され、これにより通常のハイレベル言語（Ｃ、Ｃ＋＋、Ｐｙｔｈｏｎ等）、またはハイレベル機能をプログラムするためのＵＲＢＩ（ロボット工学のための特殊なプログラミング言語）などの人工知能のための特定言語を使用できるようにする。
【００３８】
別のカードがロボットの胴内に収容される。頭のカードにより計算される順序の関節を制御するためのカードへの送信を保証するコンピュータが位置するのはここである。このカードのコンピュータもまた市販のプロセッサである。これは１００ＭＨｚクロックのＡＲＭ９（商標）タイプの３２ビットプロセッサであると有利である。プロセッサの型、オン／オフボタンに近いその中央位置、電源の制御へのリンクは、ロボットの電源の管理（スタンバイモード、緊急停止等）に適切なツールとなる。カードはまた、一組のＲＡＭとフラッシュメモリを含む。
【００３９】
図４に対する注釈において以下に説明するように、ロボットの基準座標系においてロボットの特性点（エフェクタと呼ばれる）の位置を計算することが可能である。これらのエフェクタは、例えばロボットの臀部３２０、肘の関節３３０、肩の関節３４０、または指の関節３５０の点である。したがって、この直接幾何学モデルの計算は、閾値をロボットの形態構造の関数として選択することにより前記エフェクタの地面に対する近接性を検出するための手段として使用することができる。
【００４０】
図４に、本発明のいくつかの実施形態におけるロボットの特徴的な点の、ロボットのいくつかの基準座標系における位置を計算するために使用される直接幾何学モデルを示す。
【００４１】
所与の時点で、ロボットの関節のそれぞれの角度はロボットの中央システムに知られている。その結果、各関節のすべての他の関節に対する相対位置は、各関節が実際にはその自由度のすべてが決定され知られている関節鎖を伴うので、容易に計算することができる。別の点ａの基準座標系における点ｂの位置を容易に計算するために、大きさ３×３の回転行列と大きさ３×１の平行移動行列とからなるタイプａＨｂの線形変換行列と呼ばれる大きさ４×４の行列が活用される。線形変換行列は特に以下の特性を有する。
−これらは転位可能であり、ａＨｂ−１はｂＨａに等しい。
−ａＨｂ×ｂＨｃ＝ａＨｃ
【００４２】
胴の基準座標系４００は通常、ロボットの主基準座標系として使用される。この基準座標系における左右の手（それぞれ４１０、４２０）と左右の足（それぞれ４３０、４４０）の位置は行列０Ｈ１、０Ｈ２、０Ｈ３、０Ｈ４により与えられる。回転角は関節のモータの角度により与えられ、関節間距離は平行移動距離（ｉｎｔｅｒ−ａｒｔｉｃｕｌａｔｉｏｎ  ｄｉｓｔａｎｃｅ）により与えられる。
【００４３】
したがって地面に対する（すなわち、図４の構成では右足４４０に対する）左手４１０の位置を計算するためには行列４Ｈ１を計算する必要がある。上記数式を適用することにより、これは行列反転と行列乗算により導出される。
４Ｈ１＝０Ｈ４−１×０Ｈ１
【００４４】
この方式は、絶対座標系おけるロボットの任意の点、特には基準３２０（臀部）、３３０（肘）、３４０（肩）、３５０（指）を有する図３に配置したものなどの任意のエフェクタの位置を特に計算するために使用することができる。
【００４５】
図５ａ、５ｂ、５ｃに、本発明のいくつかの実施形態におけるロボットの転倒を予測するための計算原理を示す。
【００４６】
本発明の原理は、地面近くのエフェクタを考慮した仮想または投影支持多角形を計算することからなり、したがって通常はロボットの安定性を保証することができる。
【００４７】
多角形５１０ａ、５１０ｂ、５１０ｃは図１ｂ、１ｄ、１ｆの多角形１１０ｂ、１１０ｄ、１１０ｆにそれぞれ対応する。図６に対する注釈において以下に説明される手段により、第２の足１２０ａ、１２０ｃの押圧力センサが「第２の足１２０ａ、１２０ｃは地面との接触位置に無く、手１３０ｅは実際には地面の近傍にあった」ということを示したと判断される。当該近接性閾値はロボットの形態構造に依存することになる値に調整することができる。この閾値は、例えばその身長が６０ｃｍ程度であるＮＡＯロボットの場合４〜５ｃｍである。背の高いロボットの場合、この閾値は増加されることになる。同様に、身長の観点ではロボットの歩幅の力学（例えば、階段を登るその能力）も考慮されなければならない。この第２の足の面積は、この瞬間における物理的実在性に対応する実際の多角形でない限りにおいて「仮想」と称される新しい支持多角形５３０ａ、５３０ｂ、５３０ｃを与えるために、既に決定された支持多角形に加えられる。
【００４８】
重心５２０ａ、５２０ｂ、５２０ｃは今後いずれの場合も仮想支持多角形の内部に位置し、転倒検出のアルゴリズムは転倒管理機構をトリガする理由が無いと判断するが、一方従来技術のアルゴリズムは図１ａ〜図１ｆに対する注釈において示したようにそれをトリガしていたであろう。
【００４９】
図６は、本発明のいくつかの実施形態におけるロボットの仮想支持多角形を決定するために実施される処理のフローチャートである。図６に表すフローチャートによると、エフェクタ上の静安定の位置が物理的実在性に対応するという条件で、工程６１０において支持多角形の計算を初期化するために任意タイプのエフェクタに図５ａ〜図５ｃに表すケースを一般化することが可能である。したがってロボットがその両手等で歩行中であるということ想像することが可能である。押圧力センサ３１０は「エフェクタが接触しているか？」という質問に答えることができるようにする。これらの押圧力センサは、ロボットの前進の表面とエフェクタとの接触を検証する任意の手段で置換されてもよい。第１の多角形が計算されると（工程６２０）、支持多角形を補完するために任意数ｎ−１の補完的エフェクタに、図５ａ〜図５ｃに表されたケースを一般化することも可能である。他の足と２つの手は系統的に試験される。臀部、肘、肩を加えることを決定することも可能である。試験６３０（エフェクタｉの高さは閾値ｈ０未満か？）は各エフェクタの位置の直接的幾何学形状による計算を呼び出し、見い出された位置は、上に示すように固定された閾値未満の地面近くであると宣言される。試験が陽性であれば、エフェクタｉが多角形に加えられる（工程６４０）。計算は予め選択されたエフェクタが使い果たされるまで続く。
【００５０】
図７に、本発明のいくつかの実施形態における、その進行面上のヒューマノイドロボットの重心の投影を適切なやり方で決定するために考慮されなければならないヒューマノイドロボットの姿勢を示す。
【００５１】
同図において、ロボットの足は地面に密着して配置されていなく、後者と角度θをなすということに注意されたい。足の垂直線を重心の投影と考えることはできない。このとき、関節変数により与えられるロボットの配向は正しくない。したがって、これを正す必要がある。これを行うために、慣性測定ユニットのデータが図８に対する注釈において以下で説明するような計算に含まれることになる。
【００５２】
図８は、本発明のいくつかの実施形態におけるその進行面上のヒューマノイドロボットの重心の投影を判断するために実施される処理のフローチャートである。
【００５３】
アルゴリズムは、慣性測定ユニットの位置測定結果に基づき胴の配向をリセットすることからなる。慣性測定ユニットは、３つの加速度計と２つのジャイロスコープの測定に基づく２つの回転角を提供する。装置自体は継続的にリセットされる。２つの測定結果間にオフセットがあると、足が地面と非零角度θをなすと結論付けられ、装置により与えられる垂直線と足−胴軸とのなす角度に等しいθが計算される。
【００５４】
図９ａ〜図９ｉに、本発明のいくつかの実施形態における、ロボットの転倒を認識する条件を検出する前にフィルタリング可能なロボットのいくつかの姿勢を示す。
【００５５】
ロボットの実際の姿勢に最もよく対応する仮想支持多角形を決定するようにいくつかのエフェクタを加えることが可能であったことは、図６に対する注釈において上記に示されていた。しかしながら多くのエフェクタを加えることは転倒の検出処理を遅らせることになる。したがって転倒検出を行う必要があるものと前記検出を行う必要がないものとを抽出するように前記姿勢の従来のフィルタリングを行うことが有利かもしれない。認識された姿勢タイプの関数として、検出計算を行うために試験されるエフェクタまたはエフェクタ群を決定することを想像することも可能である。
【００５６】
図９ａと図９ｂはそれぞれ、転倒検出機構を適用する必要がある「直立」および「しゃがむ」姿勢を示す。
【００５７】
図９ｃ〜図９ｉに、「蛙」、「跪く」、「腕を前方にして座る」、「腕を後方にして座る」、「仰向けに寝る」、「横向きに寝る」、「不明の」姿勢をそれぞれ示す。姿勢９ｉでは、ロボットは第三者により保持され、そのエフェクタのいずれも地面に触れていない。これらのケース図９ｃ〜図９ｉでは、転倒検出計算は行われない。
【００５８】
図１０は、一組の可能な位置におけるロボットの姿勢を特徴付けるために実施される処理のフローチャートである。
【００５９】
ロボットの姿勢のフィルタリングは、関節の角度、足接触センサの出力、慣性測定ユニットの測定結果の値を使用することにより行われる。フィルタリングされる姿勢のデータはデータベース内に格納された基準姿勢のものと比較される。距離最小化原理（例えば、対応する基準面に対してフィルタリングされた各データムの相対的差異の和）がこの比較に使用される。この判定基準による距離測量は、データの数の関数としておよび実験結果の関数として固定された閾値と比較される。
【００６０】
この機能は、本明細書の後で注釈される図１４に表される例示的な実施アーキテクチャにおけるモジュール「ＡＬＲｏｂｏｔＰｏｓｅ」により実施される。
【００６１】
図１１は、本発明のいくつかの実施形態における転倒の結果を最小化するようにロボットの姿勢を管理するために実施される処理のフローチャートである。
【００６２】
転倒状況が図６に対する注釈において上に示した手段により検出されると、プロセッサと壊れやすいセンサとを含むロボットの敏感な領域（特にはその頭）と、複雑でかつ同様に壊れやすい関節を通常は含む骨盤と、を保護するための手段が実行される。
【００６３】
特に、並行して、脚の関節（骨盤のものではない）の連動化は取り除かれ、図１２に対する注釈において以下に示すように決定される転倒角に依存することになる保護動作が行われることになる。この保護動作が行われた時点で腕、頭、骨盤の関節の連動化が同様に取り除かれる。これらの行為は極めて迅速に行われ、ロボットの純粋な反射運動を構成することが可能でなければならない。
【００６４】
図１２に、本発明のいくつかの実施形態における転倒の結果を最小化するために実施される行為を選択する様相を判断する原理を示す。
【００６５】
転倒状況が図６に対する注釈において上に示した手段により検出されると、地面の面内の転倒の角度が決定される。したがって地面上の基準座標系（ＳＰＡＣＥ＿ＮＡＯと呼ばれる）が活用される。これは、ｘ軸が常にロボットの方向（前方）に配向されることにより、したがってロボットの重心がこの基準座標系のどこから出るかを知ることにより、特徴付けられる所謂自己中心基準座標系（ｅｇｏｃｅｎｔｒｉｃ  ｒｅｆｅｒｅｎｃｅ  ｆｒａｍｅ）を伴う。出口角は簡単な幾何学形状により導出される。この角度は、ロボットの前進の軸に対して計算され、時計回りの方向において正である。転倒は、−６０°〜＋６０°間では前方に、＋６０°〜＋１２０°間では右側に、＋１２０°〜−１２０°間では後方に、−１２０°〜−６０°間では左側に発生すると考えられる。
【００６６】
保護戦略の選択の観点からは、左右の区画は等価である。したがってこの図に示す実施形態という脈絡の中で、転倒角度は、図１３ａ〜図１３ｃに対する注釈において以下に説明する３つの異なる戦略の選択に至る３つの区画を決定できるようにする。しかしながら４以上の区画としたがって４以上の保護戦略を決定することが可能であろう。本発明の原理は、例えば図２に対する注釈において説明したように逆の振り子のモデルを適用することにより高精度に計算される転倒力学に依存する転倒姿勢を高精度に計算するものではない。むしろ、これは、ロボットの敏感アイテムと、転倒の方向が敏感アイテムに影響を与えるやり方とに依存するリスク等級の関数として定義されるいくつかのタイプの保護戦略の中から選ぶことを伴う。例えば、ロボットの脚の動きを生成することは、従来技術と同様に、動作が重要な慣性を生成するので、地面への衝撃を増大するかもしれないということに注意されたい。したがってロボットの関節の連動化の無効化は、ロボットが自重で転倒できるようにし、したがってロボットが転倒の速度と衝撃を増大できないようにする。
【００６７】
図１３ａ〜図１３ｃは、本発明のいくつかの実施形態における転倒の結果を最小化するために選択される姿勢の例である。
【００６８】
図１３ａは、前へ転倒するケースを示す。これらのケースでは、保護身振りは例えば、
−頭を後方に配置することにより頭を保護すること、
−転倒を弱めて頭を保護するように腕を前方に持ってくること、
−ロボットの脚を揃えるために骨盤を閉じること、からなる。
【００６９】
図１３ｂは、右または左へ転倒するケースを示す。これらのケースでは、保護身振りは例えば、
−例えば前方と右側（例えば、イーサネットケーブル等が存在すれば）へのそのあり得る伸展を考慮した姿勢で頭を配置することにより頭を保護すること、
−体のほうに腕を揃えること、
−地面との最初の衝撃点が背中であって骨盤でないようにロボットを回転させるように骨盤を開くこと、からなる。
【００７０】
図１３ｃは、後方に倒れるケースを示す。これらのケースでは、保護身振りは例えば、
−例えば前方と右側（例えば、イーサネットケーブル等が存在すれば）へのそのあり得る伸展を考慮した姿勢で頭を配置することにより頭を保護すること、
−ロボットをロックするように腕を後方に持ってくること（この動きは、ロボットが背中で転がるのを防ぎ、首を折るのを防ぐように意図されている）、
−ロボットの脚を揃えるために骨盤を閉じること、からなる。
【００７１】
図１４は、その実施形態のいくつかにおいて本発明の実施を可能にする物理的および機能的アーキテクチャの線図である。
【００７２】
ＮＡＯなどのロボットに、本発明の一実施形態におけるロボットの機能の操縦を可能にするハイレベルソフトウェアが付与されると有利である。ＮＡＯＱＩと呼ばれるこのタイプのソフトウェアアーキテクチャは、特に２００９年１０月１５日発行の国際公開第２００９／１２４９５５号パンフレットに開示されている。このアーキテクチャは、ロボットとＰＣまたは遠隔場所との間の通信を管理するための、そして本発明の実施のために必要なソフトウェアインフラストラクチャを提供するソフトウェアを交換するための、基本機能を含む。
【００７３】
ＮＡＯＱＩはロボット用途に最適化された枠組みである。これはいくつかの言語、特にはＣ＋＋、Ｐｙｔｈｏｎ、Ｕｒｂｉを支援する。
【００７４】
本発明という脈絡の中でＮＡＯＱＩの以下のモジュールが特に役立つ。
−モジュールＡＬＭｅｍｏｒｙ１４１０はＮＡＯＱＩの様々なモジュール間で共有されるメモリを管理する。
−モジュールＤＣＭ１４２０は物理的ロボット（モータ、センサ）との通信を管理する。
−モジュールＡＬＲｏｂｏｔＰｏｓｅ１４３０は基準姿勢と比較することによりロボットの現在の姿勢を計算する。ＡＬＭｏｔｉｏｎモジュール１４４０はロボットの動きを管理する。本発明の転倒を検出し管理するための機能が埋め込まれるのはこのモジュール（転倒マネージャ）である。
【００７５】
これらの４つのモジュールはＣ＋＋でコード化されると有利である。同図はまた、モジュール間のデータフローを示す。
【００７６】
特に、転倒マネジャ機能の実施に必要な入力は、
−センサ（例えば、足押圧力センサ、慣性測定ユニット）の値と、
−ロボットの姿勢、である。
【００７７】
転倒を検出する場合、転倒マネジャ機能は、特には反射保護運動を行うためにおよび関節を非活性化するために、関節を更新するための命令を送る。
【００７８】
純粋に例示として同図においても示されるのは、各モジュールにより処理されるデータのリフレッシュサイクルの値（ロボットの姿勢および転倒の管理データの更新のための２０ミリ秒、センサの値の１０ミリ秒）である。
【００７９】
転倒マネジャ機能は、あるセンサ、例えばＭＲＥセンサの良くない動作によりトリガされることがある。この場合、１つまたは複数の関節の異常な動きが発生することになり、この故障により仮想支持多角形の外に重心が出ると、保護位置内への配置がトリガされることになる。したがって転倒マネジャはロボットの故障を管理するための機能を補完する。
【００８０】
上に述べた例は本発明の実施形態の例示として与えられた。これらは決して本発明の分野を限定するものではなく、本発明の分野は以下の特許請求範囲により規定される。
【図１ａ】
0006007908.tif 000002
【図１ｂ】
0006007908.tif 000003
【図１ｃ】
0006007908.tif 000004
【図１ｄ】
0006007908.tif 000005
【図１ｅ】
0006007908.tif 000006
【図１ｆ】
0006007908.tif 000007
【図２】
0006007908.tif 000008
【図３】
0006007908.tif 000009
【図４】
0006007908.tif 000010
【図５ａ】
0006007908.tif 000011
【図５ｂ】
0006007908.tif 000012
【図５ｃ】
0006007908.tif 000013
【図６】
0006007908.tif 000014
【図７】
0006007908.tif 000015
【図８】
0006007908.tif 000016
【図９ａ】
0006007908.tif 000017
【図９ｂ】
0006007908.tif 000018
【図９ｃ】
0006007908.tif 000019
【図９ｄ】
0006007908.tif 000020
【図９ｅ】
0006007908.tif 000021
【図９ｆ】
0006007908.tif 000022
【図９ｇ】
0006007908.tif 000023
【図９ｈ】
0006007908.tif 000024
【図９ｉ】
0006007908.tif 000025
【図１０】
0006007908.tif 000026
【図１１】
0006007908.tif 000027
【図１２】
0006007908.tif 000028
【図１３ａ】
0006007908.tif 000029
【図１３ｂ】
0006007908.tif 000030
【図１３ｃ】
0006007908.tif 000031
【図１４】
0006007908.tif 000032