(57)【要約】  本発明は表面上を移動することができる関節ロボットに関する。ロボットの接合のモータが出力することができるトルクを所定の固定値に制限することが知られている。本発明によると、制限トルクに対応する剛性係数はロボットの動的平衡モデルを解くことにより計算される。特性エフェクタの接触点は、特に仮想接地面からの距離の判定基準の関数として、可能なエフェクタのリストから選択することにより判断される。エフェクタの接触力は平衡方程式の最適解により計算される。最後に、ロボットの動的平衡モデルに適用されるトルクおよび対応する剛性の係数が計算される。
2014522741.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの関節鎖（１１０）上を移動する能力を有し、前記鎖の端部と移動面（１２０）との接触の少なくとも１つのセンサ（１３０）を含むロボット（１００）であって、
前記鎖は少なくとも１つの接合（１４０）を含み、
前記接合は、位置および／または速度に基づき判断された命令により制御される電気モータ（２１０）により、および前記モータに印加される電流および／またはトルクを制限する手段により駆動され、
前記制限手段は前記少なくとも１つの接合（１４０）に印加されるトルクの関数として制御され、
前記トルクは、一方では前記接合の角加速度による慣性力、重力の加速度の慣性力、コリオリおよび遠心力の効果の慣性力との差の合計と、他方では前記トルクと、前記接触、摩擦および摂動力との合計との間のロボットの動的平衡をモデル化する方程式の解として計算され、
前記トルクと力は前記接合に印加され、
前記接合の角加速度による慣性力の効果、前記コリオリおよび遠心力の効果、前記摩擦力の効果の少なくとも一部はオフセットによりモデル化される、ロボット。
【請求項２】
前記オフセットは前記ロボットの姿勢に従って変化する、請求項１に記載のロボット。
【請求項３】
前記重力加速度の前記効果は、前記ロボットの構成に依存する慣性係数であって前記関節角度に適用される慣性係数と、前記ロボットの慣性プラットフォームの測定結果を組み合わせることにより判断される重力ベクトルとの行列に基づき計算される、請求項１または２に記載のロボット。
【請求項４】
前記重力ベクトルの計算については、前記鎖に固定されたエフェクタの位置の値をもとめることにより前記ロボットの中央鎖の空間内の配向を判断することにより曖昧性除去が行われる、請求項３に記載のロボット。
【請求項５】
前記ロボットの前記動的平衡モデルにおいて考慮される前記接触力の前記印可点は、前記エフェクタ上に置かれた接触センサのオン／オフ状態のリスト、前記エフェクタの仮想接地面に対する最小距離の閾値のリスト、および前記リストの任意の組合せを含む一群の判定基準から選択される判定基準を満足するエフェクタの第１のリストを生成することにより判断され、
前記判定基準は前記ロボットの形態学により実質的に判断される、請求項３または４に記載のロボット。
【請求項６】
前記第１のリストの前記エフェクタは、前記ロボットの現在の姿勢と前記ロボット構成データ内に格納された標準姿勢とを比較することにより、フィルタリングされ第２のリストとなり、
前記標準姿勢はエフェクタの標準リストを判断し、
前記第２のリストは、存在する場合、同様な判定基準に従って前記ロボットの現在の姿勢に最も近いものとして採用される前記標準姿勢に対応するリストのエフェクタだけをかつそれらのみを含む、請求項５に記載のロボット。
【請求項７】
前記印可点における前記接触力は、前記接触力の合計と、前記ロボットの重量、および前記摂動力の垂直成分との間の前記平衡方程式のほぼ最適解を探すことにより判断される、請求項３〜６のいずれか一項に記載のロボット。
【請求項８】
前記摂動力は無視される、請求項７に記載のロボット。
【請求項９】
少なくとも１つの関節鎖の端部と移動面との接触の少なくとも１つのセンサを含む前記鎖上を移動する能力を有するロボットの接合を駆動するための電気モータに印加されるトルクおよび／または電流を制限する方法であって
前記鎖は少なくとも１つの接合を含み、
前記電気モータは位置および／または速度に基づく命令により制御され、
前記制限は前記接合に印加される計算トルク値を判断することにより生じ、
前記トルクは、一方では前記接合の角加速度による慣性力、重力の加速度の慣性力、コリオリおよび遠心力の効果の慣性力との差の合計と、他方では前記トルクと、前記接触、摩擦および摂動力との合計との間のロボットの動的平衡をモデル化する方程式の解として計算され、
前記トルクと力は前記接合に印加され、
前記接合の角加速度による慣性力の効果、前記コリオリおよび遠心力の効果、前記摩擦力の効果の一部はオフセットによりモデル化される、方法。
【請求項１０】
コンピュータプログラムがコンピュータ上で実行されると請求項９に記載の方法の実行を可能にするプログラムコード命令を含むコンピュータプログラムであって、
前記プログラムは、ロボットの接合を駆動するための電気モータに印加されるトルクおよび／または電流を制限するように適合され、
前記ロボットは前記鎖の端部と移動面との接触の少なくとも１つのセンサを含む少なくとも１つの関節鎖上を移動することができ、
前記鎖は少なくとも１つの接合を含み、
前記電気モータは位置および／または速度に基づき判断された命令により制御され、
前記プログラムは、前記モータに印加されるトルクおよび／または電流を制限するためのモジュールを含み、
前記制限モジュールは、前記少なくとも１つの接合に印加されるトルクの関数として前記制限を実行することができ、
前記トルクは、一方では前記接合の角加速度による慣性力、重力の加速度の慣性力、コリオリおよび遠心力の効果の慣性力との差の合計と、他方では前記トルクと、前記接触、摩擦および摂動力との合計との間のロボットの動的平衡をモデル化する方程式の解として計算され、
前記トルクと力は前記接合に印加され、
前記接合の角加速度による慣性力の効果、前記コリオリおよび遠心力の効果、前記摩擦力の効果の一部はオフセットによりモデル化される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表面上を移動することができる関節ロボットの分野に属する。より正確には、本発明はロボットの接合（ｊｏｉｎｔ）の剛性の制御に適用される。剛性は、ロボットとの相互作用の人間工学における重要要因とその使用の期間および信頼性における制限要因に同時になる。
【背景技術】
【０００２】
例示的関節ロボットは、ヒューマノイドロボットすなわち人の外観と機能のいくつか（頭、胴、２本の腕、２本の手、２本の脚、２本の足等）の属性を保有する関節ロボットである。外観以外では、ヒューマノイドロボットが達成できる機能は、運動を行い、話し、「推論する」その能力に依存する。ヒューマノイドロボットの中には四肢または頭を使って歩行し、身振りを行うことができるものもある。ヒューマノイドロボットが行うことができる身振りの複雑さは引き続き増している。本出願人により開発され市販されたＮＡＯ（商標）などのこのタイプのいくつかのロボットは、その動きが電気モータにより作動される数十の接合を有し得る。モータの指令制御論理は接合の剛性とロボットの電力消費（したがって温度の変遷）とを同時に判断する。したがって、モータの指令制御論理は、ロボットの安全性（安定性への影響）と、可能なその使用期間（限界温度到達時の強制的シャットダウン）と、ロボットとの相互作用においてユーザにより感じられる体験とに関する判断要素の１つである。関節鎖の剛性が大きすぎるとロボットは理想的ヒューマノイド型から離れる。同じタイプの問題領域はまた、他のタイプのロボット、動物ロボットまたはより一般的には関節鎖を含むロボットなどの非ヒューマノイドに関し存在する。
【０００３】
指令制御論理は、接合の位置（一般的には角度に基づく）、接合の速度（角度の微分）、および／またはトルクの設定点を利用することができる。このような論理はセンサにより制御され、収束を設定点へ誘導できるようにする帰還ループを含んでも含まなくてもよい。トルク設定点または電流設定点を利用する指令制御は最も高価でありかつ最も広まっていない。実際、この場合、電流の値に対し正確なセンサを使用する必要があり、これは、特に接合の数が非常に多い場合に、高価となる。
【０００４】
例えば工業用関節アームなどの関節鎖ロボットは特に組立作業を実行するための固定基部を有し得る。これは、少数の接合でも、その単位原価が数万または数十万ユーロほどもかかる物を含む。この場合、トルクベース指令制御論理は、単位原価が主考慮点でない限り、好適となり得る。
【０００５】
接合の数が多くかつ原価制約が非常に大きい、可動基部を有する（換言すると地面に固定されない）関節鎖ロボット（ヒューマノイドロボットが属するカテゴリ）の場合、使用は通常、所与の精度レベルに対しはるかに安上がりな位置および／または角速度に基づく接合に対する指令制御論理でなされる。しかし、この指令制御論理はいくつかの重大な欠点を有する。特に、障害が、モータが目標位置により規定される制約を達成するのを防げる場合、モータは、現実には達し得ない目標位置に達することを必要とし続け、したがって、その際、電力を消費し、ロボットへの損傷を避けるためにロボットを使用不能にさせるまで接合および全体の温度を上昇させる。この問題は、直立する際にロボットの足の水平性が単に失われるだけで過熱現象が引き起こされるためますます厄介である。
【０００６】
この種の問題に対処するために、接合に印加されるトルクを、安全モードへの設定の発生数を低減するように、製造者により規定される物理的限界より十分に低いレベルに制限できるようにする各接合の剛性パラメータを定義することがＮＡＯ（商標）の旧バージョンから知られている。しかし、この解決策では、特にロボットの鎖の１つがその進行上の障害に遭遇するときのエネルギーの過剰消費を回避することができない。実際、過度に頻繁なシャットダウンを回避するために比較的高いレベルに必然的に固定されるという一様な制限により、当該接合の消費電力が早期遮断されない。
【０００７】
特に米国特許出願第２００８／２５８６７０号明細書から、接合に印加されるトルクの値を計算しそれを角速度設定点に変換することも知られている。しかし、この実施形態では、ロボットとその環境との接点における反作用（これは過熱を発生する過度に高いトルクの印加の主要な起点である）について考慮されていない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許出願第２００８／２５８６７０号明細書
【発明の概要】
【課題を解決するための手段】
【０００９】
本発明は、ロボットの環境との接点においてロボットに印加される力の関数としてロボットの鎖同士の接合の剛性を変える手段を提供することによりこの問題を解決する。
【００１０】
この目的のため、本発明は、鎖の端部と移動面との接触の少なくとも１つのセンサを含む少なくとも１つの関節鎖上を移動する能力を有するロボットを開示する。鎖は少なくとも１つの接合を含み、接合は、位置および／または速度に基づき判断された命令により制御される電気モータにより、およびモータに印加される電流および／またはトルクを制限する手段により駆動され、制限手段は少なくとも１つの接合に印加されるトルクの関数として制御され、トルクは、一方では接合の角加速度による慣性力、重力の加速度の慣性力、コリオリおよび遠心力の効果の慣性力との差の合計と、他方ではトルク、接触、摩擦および摂動力の合計との間のロボットの動的平衡をモデル化する方程式の解として計算され、トルクと力は接合に印加され、接合の角加速度による慣性力の効果、コリオリおよび遠心力の効果、摩擦力の効果の少なくとも一部はオフセットによりモデル化される。
【００１１】
有利には、オフセットはロボットの姿勢にしたがって変化する。
【００１２】
有利には、重力加速度の効果は、ロボットの構成に依存する慣性係数であって関節角度に適用される慣性係数と、ロボットの慣性プラットフォームの測定結果を組み合わせることにより判断される重力ベクトルとの行列に基づき計算される。
【００１３】
有利には、重力ベクトルの計算については、鎖に固定されたエフェクタの位置の値をもとめることによりロボットの中央鎖の空間内の配向を判断することにより曖昧性除去が行われる。
【００１４】
有利には、ロボットの動的平衡モデルにおいて考慮される接触力の印加点は、エフェクタ上に置かれた接触センサのオン／オフ状態のリスト、エフェクタの仮想接地面に対する最小距離の閾値のリスト、および上記リストの任意の組合せを含む一群の判定基準から選択される判定基準を満足するエフェクタの第１のリストを生成することにより判断され、判定基準はロボットの形態学により実質的に判断される。
【００１５】
有利には、第１のリストのエフェクタは、ロボットの現在の姿勢とロボット構成データ内に格納された標準姿勢とを比較することにより、フィルタリングされ第２のリストとなり、標準姿勢はエフェクタの標準リストを判断し、第２のリストは、存在する場合、同様な判定基準に従ってロボットの現在の姿勢に最も近いものとして採用される標準姿勢に対応するリストのエフェクタだけをかつそれらのみを含む。
【００１６】
有利には、印加点における接触力は、接触力の合計と、ロボットの重量、および摂動力の垂直成分との間の平衡方程式のほぼ最適解を探すことにより判断される。
【００１７】
有利には、摂動力は無視される。
【００１８】
本発明はまた、少なくとも１つの鎖の端部と移動面との接触の少なくとも１つのセンサを含む関節鎖上を移動する能力を有するロボットの接合を駆動するための電気モータに印加されるトルクおよび／または電流を制限する方法を開示する。鎖は少なくとも１つの接合を含み、電気モータは位置および／または速度に基づき判断された命令により制御され、上記制限は接合に印加される計算トルク値を判断することにより生じ、上記トルクは、一方では接合の角加速度による慣性力、重力の加速度の慣性力、コリオリおよび遠心力の効果の慣性力との差の合計と、他方ではトルク、接触、摩擦および摂動力の合計との間のロボットの動的平衡をモデル化する方程式の解として計算され、上記トルクと力は接合に印加され、接合の角加速度による慣性力の効果、コリオリおよび遠心力の効果、摩擦力の効果の少なくとも一部はオフセットによりモデル化される。
【００１９】
最後に、本発明は、コンピュータプログラムがコンピュータ上で実行されると請求項１０に記載の方法の実行を可能にするプログラムコード命令を含むコンピュータプログラムを開示する。本プログラムは、ロボットの接合を駆動するための電気モータに印加されるトルクおよび／または電流を制限するように適合され、ロボットは鎖の端部と移動面との接触の少なくとも１つのセンサを含む少なくとも１つの関節鎖上を移動することができ、鎖は少なくとも１つの接合を含み、電気モータは位置および／または速度に基づき判断された命令により制御され、プログラムは、モータに印加されるトルクおよび／またはた電流を制限するためのモジュールを含み、上記制限モジュールは、少なくとも１つの接合に印加されるトルクの関数として制限を実行することができ、上記トルクは、一方では接合の角加速度による慣性力、重力の加速度の慣性力、コリオリおよび遠心力の効果の慣性力との差の合計と、他方ではトルクと、接触、摩擦および摂動力との合計との間のロボットの動的平衡をモデル化する方程式の解として計算され、上記トルクと力は接合に印加され、接合の角加速度による慣性力の効果、コリオリおよび遠心力の効果、摩擦力の効果の少なくとも一部はオフセットによりモデル化される。
【００２０】
本発明の解により、エネルギーの過剰消費と過熱とを感知可能なほどに低減できるようになる。実施される実施形態は、あまりに高いトルクにおける接合モータの動作による温度上昇のほぼ半減化を達成する。足首などの大いに働く接合については、安全モードに設定する前の動作期間は４倍になり得る。
【００２１】
したがって、ロボットの全エネルギー消費と全体寿命とが大きく改善される。
【００２２】
さらに、使用されるアルゴリズムは、計算資源の点ではあまり貪欲ではない（ＡＭＤ社のＧｅｏｄｅ（商標）タイプのプロセッサ（３２ビット、５００ＭＨｚ）では３％未満）。
【００２３】
最後に、接合（離脱可能なままである）の剛性のパラメータ化の導入により、ユーザの好みに対処しそしてロボットの姿勢のタイプに従って変形形態を導入できるようにし、これによりロボットとのユーザの相互作用の体験を豊かにすることができる。
【００２４】
本発明は、いくつかの例示的実施形態の以下の説明とその添付図面からより良く理解され、その様々な特性と利点が浮かび上がることになる。
【図面の簡単な説明】
【００２５】
【図１】関節鎖により象徴化されたロボットを示す。
【図２】従来技術によるロボットの接合モータの指令制御の一般的原理を示す。
【図３】本発明の一実施形態によるロボットの接合モータの指令制御処理の概要フローチャートを示す。
【図４ａ−ｂ】従来技術と本発明の一実施形態それぞれによるロボットの右脚の接合の温度の時間的変遷を表す。
【図５ａ−ｂ】従来技術と本発明の一実施形態それぞれによるロボットの左脚の接合の温度の時間的変遷を表す。
【図６】本発明の一実施形態によるロボットの接合モータの指令制御処理のいくつかの工程のフローチャートである。
【図７】図６のフローチャートの一工程の第１の詳細図である。
【図８ａ−ｆ】本発明の一実施形態による接触点の判断を伴う３つの姿勢におけるロボットを表す。
【図９】図６のフローチャートの一工程の第２の詳細図である。
【図１０】本発明の実施態様をその実施形態のうちのいくつかにおいて許容する物理的および機能的アーキテクチャの図である。
【発明を実施するための形態】
【００２６】
図１に、関節鎖により象徴化されたロボットを示す。
【００２７】
図示された例のロボット１００はいくつかのセグメント（腿、脚、足）からなる５つの関節鎖を含み、鎖１１０が右脚に対応する。ロボットは表面１２０上を移動することができる。ロボットは少なくとも１つの接合１４０（この例では足首）を含む。既に引用されたＮＡＯ（商標）などのロボットは２５の接合を含み、この例示的実施形態は決して限定するものではない。
【００２８】
ロボットは、一般則として、足と表面１２０との接触のセンサ１３０を含むことになる。これらのセンサは例えばＦＳＲ（接地圧センサ）である可能性がある。これらのＦＳＲは本発明の実施態様では特に有用である。これらのＦＳＲは、このフレームワーク内では、足のそれぞれと地面またはロボットが進行する任意の他の表面との接触を検出することを目的とする。この目的により、例えば、柔軟なピエゾ抵抗材料の少なくとも２層を有するストリップからなるＴｅｋｓｃａｎ（商標）社のＦｌｅｘｉＦｏｒｃｅ（商標）（商品名）センサを使用することが可能である。ストリップの電気抵抗は、ストリップが配置される表面に印加される垂直押圧力の関数として低下する。電流の測定により、較正後の押圧力を判断できるようにする。有利には、いくつか（例えば４個）のセンサが各足底に設けられる。
【００２９】
図２に、従来技術によるロボットの接合モータの指令制御の一般的原理を図示する。
【００３０】
ＮＡＯ（商標）などのロボットは接合を制御するセンサとアクチュエータを駆動するための約２ダースの電子カードを含む。接合は通常、少なくとも２つの自由度、したがって２つのモータ２１０を有する。各モータは制御変数ｑにより角度の形式で制御される。接合はまた、いくつかの位置センサ２２０、特にはＭＲＥ（磁気ロータリエンコーダ：Ｍａｇｎｅｔｉｃ  Ｒｏｔａｒｙ  Ｅｎｃｏｄｅｒ）を含む。
【００３１】
電子制御カード２３０は市販のマイクロコントローラを含む。これは、例えばＭｉｃｒｏｃｈｉｐ社のＤＳＰＩＣ（商標）であり得る。これはＤＳＰに結合された１６ビットＭＣＵである。このＭＣＵは１ｍｓのループサーボ制御サイクルを有する。
【００３２】
カード２４０は、ロボットがロボットに割り当てられた使命を達成できるようにするハイレベル機能を実行する。カードのプロセッサは市販のプロセッサｘ８６である可能性がある。ＡＭＤ社のＧｅｏｄｅ（商標）（３２ビット、５００ＭＨｚ）などの低消費電力プロセッサが好みにより選択されることになる。カードはまた、一組のＲＡＭとフラッシュメモリを含む。このカードはまた、通常はＷｉＦｉ、ＷｉＭａｘ、トランスミッションレイヤ上で、任意選択的にはＶＰＮ内の任意選択的にカプセル化された標準プロトコルを有する移動データ通信用公衆ネットワーク上で、外部（ビヘイビアのサーバ、他のロボットなど）とロボットとの通信を管理する。プロセッサは通常、標準ＯＳにより制御され、これにより通常のハイレベル言語（Ｃ、Ｃ＋＋、Ｐｙｔｈｏｎ等）、またはハイレベル機能をプログラムするためのＵＲＢＩ（ロボット工学のための専用プログラミング言語）などの人工知能の特定言語を使用できるようにする。
【００３３】
伝統的に、電気モータは、角度または位置ｑ、角速度
【数１】
2014522741.tif 000003
および／またはトルクτに基づき設定点により駆動されることができ、トルクベース駆動は通常、電流ベース駆動で置換される。実際、我々はカノニカル関係τ＝ｋｃＩを有する。ここで、Ｉはモータに供給される電流の強度であり、ｋｃは少なくともいくつかの動作範囲では定数である。トルクを測定することより電流を測定することの方がはるかに容易である。トルクセンサはドリフトに非常に敏感である。しかし、電流に基づく制御も、多数のモータを有するロボットにおいては珍しい。実際、電流に基づく制御は非常に速いループサーボ制御サイクル（数十マイクロ秒程度）と電流の方向を判断することができる電流センサとを必要とし、これは低コスト電子制御カードと相容れない。
【００３４】
この手法の欠点は、未検出障害の故に実行されないかもしれない位置設定点が、モータに印加される非常に大きなトルク、したがって高電流、したがってかなりの加熱と電気過剰消費、または実際にモータおよび／または接合の破損を生ずることである。これらの欠点はロボットの可能動作期間を著しく低減する。
【００３５】
この欠点を克服するために、接合に印可されるトルクを制限するための測定を導入することが可能である。これらの測定は、機械的（例えば係合解除可能ギアを有する車輪）である、またはクラッチ状係合の役割を果たし０．０〜１．０の値を取ることができる剛性係数をモータ駆動回路内に導入することによりソフトウェア的である可能性がある。この剛性係数が１に等しいと、モータは最大許容トルクを出力することができる。後者は、有利には過熱を回避するために供給者により示される値より大幅に小さい値に固定されることができる。例えば、接合のモータが５〜６Ｎｍ程度の最大トルクを出力するＮＡＯの場合、最大剛性における許容トルクは３．２Ｎｍである。この係数が零に等しいと、モータは係合解除され、接合は自由にスイングすることができる。その結果、ロボットは転倒などする。安全モードに設定するための手順は、局所的または全体的温度が閾値を越えるとすべての剛性係数がまたはその一部だけが１から０になるということをもたらす。このときロボットはもはや使用可能ではない。
【００３６】
図３に、本発明の一実施形態によるロボットの接合モータの指令制御処理の概要フローチャートを示す。
【００３７】
本発明の原理によると、これは、ロボットの平衡を保証するようなやり方でその後各接合の剛性係数を変更するように、各接合に印加されるトルクの値を計算することを伴う。
【００３８】
モジュール３１０は、図６と図７に関連する記載においてさらに詳述されるロボットの動力学の記述モデルに基づき関節トルクを計算する。モジュール３１０には、一方ではロボットの恒久的構成データ３３０が供給され、他方では慣性プラットフォーム３４０から、関節センサ３５０から、および接触センサまたは地面までの距離を測定する方法３６０から発生する瞬間データが供給される。トルク値はその後、関節剛性係数を計算するためのモジュール３２０に供給される。
【００３９】
ロボットの構成データ３３０は実質的に、本発明を実施するために、それ自身の基準系内のロボットのすべての身体部の慣性行列Ｍからなる。ロボットの身体部はその様々な物理的構成要素、すなわち、頭、首、胴（中央鎖）、腕、前腕と手（上外側チェイン）、腿、脚、足（下外側チェイン）である。各身体部は、身体部の質量とその慣性モーメントとを与える次元（６，６）の質量行列を有する。
【００４０】
慣性モーメントが不変量である場合、ロボットの初期化時にロボットの構成の関数として行列Ｍを予め計算することができる。ＮＡＯの特定の特徴の１つは実際にロボットの物理的構成要素の変更を許容することであり、構成データは初期化毎に計算される。
【００４１】
したがって、我々は一組の行列Ｍを有し、各行列はモジュールＡＬＭｏｔｉｏｎ内に格納される（後述の図１０に関連する記載の注記を参照）。行列Ｍは以下の形式を有する。
【数２】
2014522741.tif 000004
ここで、
−  ｍｉ＝身体部ｉの質量
−  
【数３】
2014522741.tif 000005
＝その質量の中心においてそして身体部自身の基準系において表された身体部ｉの慣性行列
−  Ｉ３＝３×３単位行列
【数４】
2014522741.tif 000006
【００４２】
固定基部を有するロボットアームの場合、本体は通常、地面に固定される。走行する基部（地面に固定されない）を有するロボットの場合、本体は固定されない。本体が固定されるか否かは自由であり、システムにより判断される。
【００４３】
慣性プラットフォーム３４０は通常、ジャイロメータと加速度計とから成る。慣性プラットフォーム３４０はその測定結果をモジュール３１０に提供する。
【００４４】
関節センサ３５０は通常、上に示したようなＭＲＥである。関節センサ３５０は関節角度の値をモジュール３１０に供給する。
【００４５】
接触センサ３６０は、所与のデータム、地上データム、または移動面（例えば地面）に対する特徴点（通常、エフェクタと呼ばれる）の位置の判断を可能にする。足の底の下に植め込まれるＦＳＲは接触センサである。ロボットの関節鎖の他の部分（例えば臀部、肘、背中など）上にＦＳＲまたは別のタイプの接触センサを植め込むことを想定することが可能である。但し、物理的接触センサは相対的信頼性のあるものである。空間内の関節角度のすべての値と本体の位置と配向とを確定することにより同じ結果を達成する（地面の表面との接触があるかどうかを判断する）ことが可能である。空間内の本体の位置と配向はＦＳＲと慣性プラットフォームにより判断される。空間内のロボットの関節角度と本体の位置と配向の値に基づき、空間内のロボットのすべての身体部の位置を直接幾何学形状により計算することが可能である。
【００４６】
モジュール３２０は各接合の剛性係数を計算するように構成される。各接合のトルクが入力としてモジュール３２０に供給される。モジュールは、各接合のトルクを最大トルクにより除して、その結果から、各接合に適用される剛性係数の値を推定する。モジュール３１０の出力を判断するロボットの動的記述モデルに反映される効果により、剛性係数にオフセットを加えるための手立てがモジュール３２０内でなされ得る。このオフセットは、定数、またはロボットの姿勢のタイプまたは採用のコンテキストに依存する一組の値（表にすることができる値）、または変遷法則が規定される変数であり得る。
【００４７】
図４ａと図４ｂは、従来技術と本発明の一実施形態それぞれによるロボットの右脚の接合の温度の時間的変遷を表す。
【００４８】
実験は物理的に同一のロボットにより行われた。図４ａと図４ｂによりそれぞれ詳述される実験間の唯一の差異は、第１番目の場合にはロボットの構成が本発明の実施態様を実施する手段を含まず、一方第２番目の場合にはそれを含むということである。
【００４９】
いずれの場合も、ロボットは直立初期位置（ＰｏｓｅＩｎｉｔ）に置かれた。
【００５０】
図４ａと図４ｂのそれぞれでは、本発明の実施態様無しと有りの状態の右下関節鎖の関節モータのそれぞれの温度の変遷が表されている。
−  曲線ＲＨｉｐＲｏｌｌＴｅｍｐは、右臀部のロール接合の温度の変遷を表す。
−  曲線ＲＨｉｐＰｉｔｃｈＴｅｍｐは、右臀部のピッチ接合の温度の変遷を表す。
−  曲線ＲＫｎｅｅＰｉｔｃｈＴｅｍｐは、右膝のピッチ接合の温度の変遷を表す。
−  曲線ＲＡｎｋｌｅＲｏｌｌＴｅｍｐは、右足首のロール接合の温度の変遷を表す。
−  曲線ＲＡｎｋｌｅＰｉｔｃｈＴｅｍｐは、右足首のピッチ接合の温度の変遷を表す。
【００５１】
特記すべきは、右臀部のピッチ接合に対する実験の終了時（約１５分）における温度のかなりの差異であり、第１の場合では６０℃、第２の場合では４２℃に達する。右脚の温度の全上昇は、第１の場合では５０℃、第２の場合では２８℃である。
【００５２】
図５ａと図５ｂは、従来技術と本発明の一実施形態それぞれによるロボットの左脚の接合の温度の時間的変遷を表す。
【００５３】
実験の条件は図４ａと図４ｂにより詳述されたものと同一である。左脚に関する結果は、特に、足首のピッチ接合に関しさらに有利であり、その温度は、第１の場合では８０℃、第２の場合では４８℃に達し、左脚の温度の全上昇は第１の場合では１０９℃、第２の場合では４２℃である。１時間の４分の１未満の実験の条件下で８０℃の温度に達することは通常、ロボットを安全モードに設定することを伴う。したがって、ロボットの動作期間は本発明の実施態様により非常に大幅に（約４倍だけ）延長される。
【００５４】
図６は、本発明の一実施形態によるロボットの接合モータの指令制御処理のいくつかの工程のフローチャートである。
【００５５】
関節トルクを計算するために、ロボットの動的変遷について記述する方程式が、センサと利用可能な計算能力との関数として、適用される（適切な場合いくつかの単純化前提が適用される）。
【００５６】
環境と相互作用する厳格に連結された身体部の力学の一般的原理を適用することにより、ロボット工学の当業者らは特に古典的研究：“Ａ  Ｍａｔｈｅｍａｔｉｃａｌ  Ｉｎｔｒｏｄｕｃｔｉｏｎ  ｔｏ  Ｒｏｂｏｔｉｃｓ  Ｍａｎｉｐｕｌａｔｉｏｎ”，ＭＵＲＲＡＹ，  Ｒｉｃｈａｒｄ  Ｍ．，  ＬＩ  Ｚｅｘｉａｎｇ  ａｎｄ  ＳＡＳＴＲＹ，Ｓ．Ｓｈａｎｋａｒ，ＣＲＣ  Ｐｒｅｓｓ，１９９４を参照することによりロボットの動的モデルの完全な方程式を決定することができる。
【００５７】
例えば次のように方程式を書くものとする。
【数５】
2014522741.tif 000007
【００５８】
以下の説明では、ｑは関節角度からなるベクトルである。
【数６】
2014522741.tif 000008
は関節速度（関節角度ｑの時間微分）を示す。本体のデカルト速度はＶｒｏｏｔで示され、６次元である。最初の３つの成分は３軸（ｘ，ｙ，ｚ）に関する本体の並進の速度である。最後の３つの成分は３軸（ｘ，ｙ，ｚ）に関する回転速度である。Ｖｒｏｏｔと
【数７】
2014522741.tif 000009
からなるベクトルは一般化座標Ｔと呼ばれる。
【００５９】
Ｃ（ｑ）は、関節速度の空間とデカルト速度の空間とを行き来するための変換行列を示す。これは一般に運動力学ヤコビ行列式と呼ばれる。
【００６０】
方程式の左側の第１項は、関節鎖を構成する身体部の慣性モーメントの効果を伝える。この項では、
−
【数８】
2014522741.tif 000010
：一般化座標の対称慣性行列。Ｍは、Ｃ（ｑ）だけでなく行列にも基づき次のように計算される、
【数９】
2014522741.tif 000011
。この行列は、ロボット（ｑ）の関節構成に依存する。この行列は、１つまたは複数の接合が動くたびに更新されなければならない。
【数１０】
2014522741.tif 000012
は次元
【数１１】
2014522741.tif 000013
の正方行列である、ここでｎｄｏｆはロボットの自由度である。ＮＡＯの場合、２３個のｄｏｆが存在し、行列
【数１２】
2014522741.tif 000014
の次元は（６＋６×２３）２、すなわち２０，７３６個の値である。
−  Ｇは一般化座標で表現される重力による加速度である。
【００６１】
方程式の左側の第２項はシステムが受けるコリオリおよび遠心力を伝える。
【数１３】
2014522741.tif 000015
はこれらの効果に関連付けられた行列である。
【００６２】
方程式の右側の第１項は関節トルクの効果を伝える。
−  τは次元ｄｉｍ（τ）＝（ｎｄｏｆ，１）の関節トルクのベクトル、τは、作動トルクと関節摩擦トルクの合計である。
−  Ｌはτを一般化座標で表現できるようにする行列である。
−  Ｗは、それ自身の基準系で表されるロボットを構成する各身体部に印加される負荷のねじれ（ｗｒｅｎｃｈ）の行列である。Ｗは通常、外部環境と身体部との接触に関係するねじれであるＷｃｏｎｔａｃｔと外部摂動に関係するねじれであるＷｐｅｒｔｕｒｂａｔｉｏｎとに分解される。
【００６３】
一実施形態では、モデルはこの際、関節摩擦と外部摂動（Ｗｐｅｒｔｕｒｂａｔｉｏｎ）のトルクだけでなく固有加速
【数１４】
2014522741.tif 000016
とコリオリおよび遠心力
【数１５】
2014522741.tif 000017
も計算しないことにより単純化される。これらの効果は後で説明するようにオフセットにより考慮される。
【００６４】
したがって単純化された動的モデルは次式のように書かれ得る。
【数１６】
2014522741.tif 000018
【００６５】
図６のフローチャートはこの方程式を解くために実施される計算工程について説明するが、この分割を限定として考える必要はなく、他の手順も全て可能である。
【００６６】
これらの計算工程は２０ｍｓのサイクルタイムで再生される。
【００６７】
工程６１０では、仮想接地面が慣性プラットフォームの測定に基づき計算される。上記仮想面は重力ベクトルに垂直な面として判断される。プラットフォームの測定結果の信頼度に基づき、地面と接触したまたは接触しない下半身部をタグ付けすることにより、有利にはこれらの測定結果と胴の配向の判断とを相互参照することが可能である。
【００６８】
工程６２０では、ベクトルｑは、関節センサの角度が更新されるＡＬＭｅｍｏｒｙモジュールにより更新される。行列Ｍの助けにより、このように
【数１７】
2014522741.tif 000019
を計算することが可能である。
【００６９】
工程６３０では、仮想接地面に対して方向付けられた重力加速度が計算される。
【００７０】
工程６４０では、項
【数１８】
2014522741.tif 000020
を計算するために工程６２０と６３０の出力が合成される。
【００７１】
工程６５０では、力の計算のために考慮される接点のリストが計算され、工程６５０については図７に関連する記載において後で詳述され、図８ａ〜８ｆの例により示される。
【００７２】
工程６６０では、接触力Ｗｃｏｎｔａｃｔが計算され、工程６６０については図９に関連する記載において後で詳述される。
【００７３】
工程６７０では、関節速度の空間とデカルト速度の空間とを行き来するための変換行列の転置Ｃｔ（ｑ）が計算される。
【００７４】
工程６８０では、工程６７０により出力された行列と工程６６０により出力されたベクトルとの積が求められる。
【００７５】
工程６４０と工程６８０の出力を合算することにより、求められた関節トルクのベクトルが工程６９０の出力として得られる。
【００７６】
このベクトルはその後、剛性係数を計算するためのモジュール３２０に入力として供給されることができる。モジュール３２０は任意選択的に、特にロボットの動的モデルによりなされる単純化を考慮して、オフセットを加える。特に、固有加速、コリオリ力、遠心力、または関節摩擦トルクのいずれも考慮されない場合、０．２５のオフセットが、その環境との他の相互作用無しに、直立姿勢のロボットに良好な結果を与える、ということを実験的に判断することができた。ロボットの足が地面に付いていない場合、より小さいオフセット（例えば０．１）を選択し、これによりロボットの接合を緩めてより柔軟な姿勢を与えることが可能である。
【００７７】
図７は、図６のフローチャートの一工程の第１の詳細図である。
【００７８】
図７は、接触点を判断する工程６５０の下位工程について詳述する。
【００７９】
ロボットの構成ファイル内には、接触点となる候補である特徴点のリストが定義される。ＮＡＯなどのヒューマノイドロボットの場合、例えば両足、両臀部、背中、頭、および手／前腕／肘アセンブリが選択されることになるが、このリストに限定することは無い、またはこれらの接触点をすべて採用する必要は無い。
【００８０】
これらの構成データは、工程６１０の出力として判断された仮想接地面に対する鉛直距離が工程７１０の過程で計算されることになるエフェクタのリストを判断する。
【００８１】
このとき、地面に最も近い接触点が工程７２０の過程で判断される。
【００８２】
検知閾値はロボットの構成ファイル内に規定されており、検知閾値の限界値内の地面の近傍に位置する他のエフェクタが工程７３０の過程で判断される。
【００８３】
図８ａ〜８ｆは、本発明の一実施形態による接触点の判断を伴う３つの姿勢におけるロボットを表す。
【００８４】
図８ａ、８ｃ、８ｅは、ロボットの３つの異なる姿勢を表す。
−  図８ａでは、ロボットは可能な着座姿勢の１つにある。
−  図８ｃでは、ロボットは可能な直立姿勢の１つにある。
−  図８ｅでは、ロボットは所謂「ゴリラ」姿勢である。
【００８５】
これらの姿勢に対応する候補接触点が図８ｂ、８ｄ、８ｆにそれぞれ表される。
【００８６】
接触点の表記は以下の通りである。
−  ＲＥｌｂｏｗＲｏｌｌ  Ｂｏｔｈ、右肘のロール接合
−  ＬＥｌｂｏｗＲｏｌｌＢｏｔｈ、左肘のロール接合
−  ＲＦｏｏｔＦＲ、右足、表面右センサ
−  ＲＦｏｏｔＦＬ、右足、表面左センサ
−  ＲＦｏｏｔＲＲ、右足、裏面右センサ
−  ＲＦｏｏｔＲＬ、右足、裏面左センサ
【００８７】
図９は、図６のフローチャートの一工程の第２の詳細図である。
【００８８】
この工程の目的はＮＡＯに印加される接触荷重を計算することである。
【００８９】
この工程では、ロボットは、接触点によりその環境と相互作用する点状質量によりモデル化される。すべての接触は同一平面上にある。さらに、計算を簡単にするために、静的な場合を考える。
【００９０】
これは以下の方程式を解くことを伴う。
−  ロボットに印加される力の合計（ここでは、静的な場合の質量中心）は零になる、すなわち：
【数１９】
2014522741.tif 000021
−  質量の中心におけるモーメントの合計は零になる。
【００９１】
３つの同一平面接触点に基づき、接触荷重の超静的構造が存在する。実際、特に接触力の接線荷重が両方程式に従う一方で相殺することができるという事実のために、上記問題の解である接触荷重の値の中には無限大が存在する。
【００９２】
好ましい解を見つけるためには、計算された接触荷重を最小化することが求められ、接線接触力を零と考える。
【００９３】
各接触について、面に垂直な力の成分だけを考える。
【００９４】
【数２０】
2014522741.tif 000022
によりその環境上のＮＡＯの接触ｉの力ベクトルを示す。
ここでｆｃ（ｉ）は軸
【数２１】
2014522741.tif 000023
に沿った接触力のノルム。
【００９５】
以下の解くべき系を考える。
【数２２】
2014522741.tif 000024
これは次のように単純化形式で書くことができる。
ＡＹ＝Ｂ
ここで、
−  Ｂは、外部力（接触無し）の垂直成分のベクトル和である。
−  Ｙは、工程６５０の出力として選択された接触点に印加される力の垂直成分の求められているベクトルである。
−  Ａは、その係数が質量の中心に対する接触点の座標である行列である。
【００９６】
表記は以下の通りである：
−  （ｘｉ，ｙｉ）は選択された接触点の座標である。
−  （ｘＧ，ｙＧ）は質量の中心の座標である。
−  ｆｉは、接触点ｉに印加される垂直力のノルムであり、求めるものである。
【００９７】
工程９１０の過程で、ロボットがバランスをとらなければならない外部力（接触無し）が判断される。
【００９８】
工程９２０の過程で、行列Ａの係数が計算される。
【００９９】
したがって、ロボットの質量の中心は工程６１０中に判断された仮想接地面内に投影されるべきである。
【０１００】
その後、方程式ＡＹ＝Ｂの解Ｙを工程９３０の過程で判断する必要がある。
【０１０１】
接触の数ｎが３に等しい場合、行列Ａを反転する必要がある。
【０１０２】
その行列式が非零であるという条件で、一意解が存在する。
【０１０３】
ｎが３より大きい場合、無限の解があり得る。したがって、式ＡＹ＝Ｂが満足されるという制約下で最適解を判断するためのアルゴリズムを選択する必要がある。
【０１０４】
例えばその本質がＹ（したがってｆｉ）の値を求めることである二次解法アルゴリズムを使用することが可能であり、関数
【数２３】
2014522741.tif 000025
がｙ＞０の条件で最小化される。
ＱとＲは最適化重みを表す。この演算の目的は、重みＱによりＡＹ−Ｂのノルムを最小化することと、重みＲによりノルムＹを最小化することにその本質がある。
【０１０５】
図１０は、本発明の実施態様をその実施形態のうちのいくつかにおいて許容する物理的および機能的アーキテクチャの図である。
【０１０６】
本発明の一実施形態におけるロボットの機能の制御を可能にするハイレベルソフトウェアがＮＡＯなどのロボットに有利には付与される。ＮＡＯＱＩと呼ばれるこのタイプのソフトウェアアーキテクチャは、特に２００９年１０月１５日発行の国際公開第２００９／１２４９５５号パンフレットに開示されている。このアーキテクチャは、ロボットとＰＣまたは遠隔場所との間の通信を管理するための、そして本発明の実施のために必要なソフトウェアインフラストラクチャを提供するソフトウェアを交換するための基本機能を含む。
【０１０７】
ＮＡＯＱＩはロボット用途に最適化されたフレームワークである。これはいくつかの言語、特にはＣ＋＋、Ｐｙｔｈｏｎ、Ｕｒｂｉを支援する。
【０１０８】
本発明のコンテキスト内では、ＮＡＯＱＩの以下のモジュールが特に役立つ。
−  ＡＬＭｅｍｏｒｙモジュール１０１０は、ＮＡＯＱＩの様々なモジュール間で共有されるメモリを管理し、特に、初期化時にロードされる構成要素を受信する。
−  ＤＣＭモジュール１０２０は物理的ロボット（モータ、センサ）により通信を管理する。
−  ＡＬＭｏｔｉｏｎモジュール１０３０はロボットの運動を管理する。本発明を実施するためのアルゴリズムの実行を可能にするコードがこのモジュール内に実質的にインストールされる。
【０１０９】
これらの３つのモジュールは有利にはＣ＋＋でコード化される。同図はまた、モジュール間のデータフローを示す。
−  ＡＬＭｏｔｉｏｎモジュール１０３０はＡＬＭｅｍｏｒｙモジュール１０１０からセンサデータ（慣性プラットフォーム、ＦＳＲ、関節角度など）を回収する。
−  ＡＬＭｏｔｉｏｎモジュール１０３０は、接合の剛性係数を計算する工程を行い、その結果をＤＣＭモジュール１０２０に伝達する。
−  このモジュールは、これらの係数の適用に由来する関節角度の制約値を（同時に他のセンサの値として）ＡＬＭｅｍｏｒｙモジュール１０１０へ渡す。
【０１１０】
上に述べた例は本発明の実施形態の例示として与えられたものである。これは決して本発明の分野を限定するものではなく、本発明の分野は以下の特許請求範囲により規定される。
【図１】
2014522741.tif 000026
【図２】
2014522741.tif 000027
【図３】
2014522741.tif 000028
【図４ａ−ｂ】
2014522741.tif 000029
【図５ａ−ｂ】
2014522741.tif 000030
【図６】
2014522741.tif 000031
【図７】
2014522741.tif 000032
【図８ａ−ｆ】
2014522741.tif 000033
【図９】
2014522741.tif 000034
【図１０】
2014522741.tif 000035
【国際調査報告】
2014522741.tif 000036
2014522741.tif 000037
2014522741.tif 000038
2014522741.tif 000039
2014522741.tif 000040
2014522741.tif 000041