(57)【特許請求の範囲】
【請求項１】
１セットのアクチュエータ（単数または複数）（２）によって変形可能な少なくとも１つの部品を有するロボット（１）を制御する方法であって、１セットのポイント（単数または複数）（３）の内、各ポイントは前記ロボットのエフェクタポイント（単数または複数）と呼ばれ、且つ決定された軌道に従う必要があり、前記ロボットは、ノードのモデルと、ノードの位置の変化に応じて各ノードで前記ロボットの内力の変化を定義する行列Ｋとによって定義され、前記方法は、
ｉ番目の制御演算ステップにおいて各アクチュエータに対して意図された制御を決定するために：
ｉ／前記行列Ｋの値が前記ロボットの前記ノードの現在の位置の関数として更新され；
ｉｉ／ベクトルδ（ｘ）のヤコビ行列Ｊの現在の値が決定され、ここで、ｘは前記ノードの位置ベクトルであり、ベクトルδ（ｘ）は各エフェクタポイントに関連する少なくとも１つのサブセットの行（単数または複数）を含み、前記エフェクタポイントの位置と前記エフェクタポイントの被決定軌道との間の偏差の座標を示し、且つ少なくとも１つのサブセットの行（単数または複数）は各アクチュエータの変位を示し；
ｉｉｉ／行列Ｗ＝Ｊ．Ｋ−１．ＪＴの値が演算され、ここで、Ｋ−１はＫの逆行列であり、ＪＴはＪの転置行列であり；
ｉｖ／前記ｉ番目の演算ステップでベクトルδおよびλの値を決定するために式δ＝Ｗ．λ＋δ０が解かれ、ここで、λは、エフェクタポイントに関連するベクトルδの各行に対して、ゼロ値を含む行と、アクチュエータに関連するベクトルδの各行に対して、指摘された変位に対応する前記アクチュエータによって発揮される負荷の値を含む行と、を含むベクトルであり、且つδ０は被決定値を含むベクトルであり；
ｖ／各アクチュエータに対して意図された制御は、ベクトルδまたはλに対するステップｉｖ／において決定された値の少なくとも関数として推論されることを特徴とする、ロボット（１）を制御する方法。
【請求項２】
前記ベクトルδは、更に、前記ロボットの外部の制約を受けた前記ロボットのポイント（４）の変位を指示する少なくとも１つのサブセットの行（単数または複数）を含み、且つ前記ベクトルλは、更に、指示された変位に対応するロボットの外部の制約によって発揮された力の値を指示する対応するサブセットの行（単数または複数）を含むことを特徴とする、請求項１記載のロボット（１）を制御する方法。
【請求項３】
１つのエフェクタポイントの被決定軌道に対応する位置は、前記エフェクタポイントに関連するベクトルδ（ｘ）の前記サブセットの行（複数）を得るために、１セットの前記ノード（単数または複数）の位置の、それぞれの補間係数に関連する補間によって決定された前記エフェクタポイントの位置から減算され、前記ヤコビ行列Ｊの同じサブセットの行（複数）において、前記ノードの対応する列における値が前記補間係数の関数であることを特徴とする、請求項１または２記載のロボット（１）を制御する方法。
【請求項４】
１つのアクチュエータ（２）の固定ポイントは、各々が非ゼロ補間係数に関連するノード（単数または複数）の補間であり、且つ前記ヤコビ行列Ｊの少なくとも１つの行は、前記アクチュエータの作動の方向の関数として決定され、前記行の各項は、前記単数のノードまたは前記複数のノードの列における項から離間したゼロであることを特徴とする、請求項１〜３の何れか１項記載のロボット（１）を制御する方法。
【請求項５】
ｉ番目の制御演算ステップにおいて、
‐  Ｋ．Δｘ＝ｐ＋ｆ（ｘｉ−１）を立証するΔｘが決定され、ここで、Δｘはベクトルｘの偏差を表し、ベクトルｐは前記ロボットに発揮される外力を表し、Ｋはステップｉ／で更新された行列であり、ｘｉ−１は前記ノードの前記現在の位置ベクトルであり、且つｆ（ｘｉ−１）はロボットの現在位置におけるロボットへ発揮される内力のベクトルであること；
‐  ｘｆｒｅｅ＝ｘｉ−１＋Δｘが演算されること；
‐  ベクトルδ（ｘｆｒｅｅ）の値が演算されること；および
‐  式δ＝Ｗ．λ＋δ０が、δ０をδ（ｘｆｒｅｅ）と等しくなるように取ることによってステップｉｖで解かれることを特徴とする、請求項１〜４の何れか１項記載のロボット（１）を制御する方法。
【請求項６】
ステップｉｉｉ／において、式δ＝Ｗ．λ＋δ０がガウス‐ザイデルタイプの反復型アルゴリズムによって解かれ、作動の方向とリンクされた制約を組み込み、少なくとも１つのアクチュエータによって発揮されるストップ制限および／または最大負荷、および／またはロボットの外部からの制約の特徴を制限することを特徴とする、請求項１〜５の何れか１項記載のロボット（１）を制御する方法。
【請求項７】
１セットのアクチュエータ（２）（単数または複数）によって変形され得る少なくとも１つの部品を含むロボット（１）を制御するコンピュータプログラムであって、前記ロボットのエフェクタポイント（単数または複数）と呼ばれる１セットのポイント（３）（単数または複数）の各ポイントが被決定軌道に従う必要があり、前記ロボットは、ノードのモデルと前記ノードの位置の偏差の関数として各ノードで前記ロボットの内力の偏差を定義する行列Ｋによって定義され、前記プログラムは、ｉ番目の制御演算ステップに関する各アクチュエータに対して意図された制御を決定するために処理手段によって前記プログラムが実行されると、請求項１〜６の何れか１項記載の方法を実行する命令を備えることを特徴とする、ロボット（１）を制御するコンピュータプログラム。
【請求項８】
１セットのアクチュエータ（２）（単数または複数）によって変形され得る少なくとも１つの部品を備えるロボット（１）を制御するモジュールであって、前記ロボットのエフェクタポイント（単数または複数）と呼ばれる１セットのポイント（単数または複数）の内、各ポイントが被決定軌道に従う必要があり、前記ロボットは、ノードのモデルと前記ノードの位置の偏差の関数として各ノードで前記ロボットの内力の偏差を定義する行列Ｋによって定義され、前記ロボット（１）を制御するモジュールは、前記ロボット（１）を制御するモジュールが、ｉ番目の制御演算ステップへの各アクチュエータに対する意図された制御の決定がなされると、前記ロボットの前記ノードの現在の位置の関数として前記行列Ｋの値を更新して、次に、ベクトルδ（ｘ）のヤコビ行列Ｊの現在の値を決定するように構成され、ｘは、前記ノードの位置ベクトルであり、前記ベクトルδ（ｘ）は、各エフェクタポイントに対する少なくとも１つのサブセットの行（単数または複数）を含み、前記エフェクタポイントの位置とその被決定軌道との間の偏差の座標を指示し、且つ少なくとも１つのサブセットの行（単数または複数）は各アクチュエータの変位を指し；
前記ロボット（１）を制御するモジュールは、行列Ｗ＝Ｊ．Ｋ−１．ＪＴ（ここで、Ｋ−１はＫの逆行列であり、ＪＴはＪの転置行列である）の値を演算し、前記ｉ番目の演算ステップでベクトルδおよびλの値を決定することによって、式δ＝Ｗ．λ＋δ０（ここで、λは、エフェクタポイントに関連するベクトルδの各行に対して、ゼロ値を含む行とアクチュエータに関連するベクトルδの各行に対して指示された変位に対応するアクチュエータによって発揮された負荷の値を含む行を含むベクトルであり、δ０は被決定値を含むベクトルである）を解くように構成され；
前記ロボット（１）を制御するモジュールは、ベクトルδとλの前記被決定値の少なくとも関数として各アクチュエータに対して意図された制御を推論するように構成されることを特徴とする、ロボット（１）を制御するモジュール。
【請求項９】
前記ロボットの外部の制約を受けた前記ロボットのポイント（４）の変位を指示する少なくとも１つのサブセットの行（単数または複数）を含むベクトルδと、指示された変位に対応するロボットの外部の制約によって発揮された力の値を指示する対応するサブセットの行（単数または複数）を含むベクトルλを決定することを特徴とする、請求項８記載のロボット（１）を制御するモジュール。
【請求項１０】
１つのエフェクタポイントの被決定軌道に対応する位置を、前記エフェクタポイントに関連するベクトルδ（ｘ）の前記サブセットの行（複数）を得るために、１セットの前記ノード（単数または複数）の位置の、それぞれの補間係数に関連する補間によって決定された前記エフェクタポイントの位置から減算し、前記ヤコビ行列Ｊの同じサブセットの行（複数）において、前記ノードの対応する列における値が前記補間係数の関数に応じて決定されることを特徴とする、請求項８または９記載のロボット（１）を制御するモジュール。
【請求項１１】
各々が非ゼロ補間係数に関連するノード（単数または複数）の補間として１つのアクチュエータ（２）の固定ポイントを決定し、前記アクチュエータの作動の方向の関数として前記ヤコビ行列Ｊの少なくとも１つの行を決定し、前記行の各項は、前記単数のノードまたは前記複数のノードの列における項から離間したゼロであることを特徴とする、請求項８〜１０の何れか１項記載のロボット（１）を制御するモジュール。
【請求項１２】
ｉ番目の制御演算ステップにおいて、
‐  Ｋ．Δｘ＝ｐ＋ｆ（ｘｉ−１）を立証するΔｘを決定し、ここで、Δｘはベクトルｘの偏差を表し、ベクトルｐは前記ロボットに発揮される外力を表し、Ｋはステップｉ／で更新された行列であり、ｘｉ−１は前記ノードの前記現在の位置ベクトルであり、且つｆ（ｘｉ−１）はロボットの現在位置におけるロボットへ発揮される内力のベクトルであること；
‐  ｘｆｒｅｅ＝ｘｉ−１＋Δｘを演算し；
‐  ベクトルδ（ｘｆｒｅｅ）の値を演算し；
‐  式δ＝Ｗ．λ＋δ０が、δ０をδ（ｘｆｒｅｅ）と等しくなるように取ることによってステップｉｖで解くように構成されることを特徴とする、請求項８〜１１の何れか１項記載のロボット（１）を制御するモジュール。
【請求項１３】
作動の方向、および／または制限ストップ、および／または少なくとも１つのアクチュエータの最大負荷、および／または前記ロボットの外部の制約の特徴を組み込むことによって、ガウス‐ザイデルタイプの反復型アルゴリズムによって式δ＝Ｗ．λ＋δ０を解くように構成されることを特徴とする、請求項８〜１２の何れか１項記載のロボット（１）を制御するモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１セットのアクチュエータ（単数または複数）によって変形可能な少なくとも１つの部品を有するロボットを制御する方法に関し、１セットのポイント（単数または複数）の内、各ポイントはそのロボットのエフェクタポイント（単数または複数）と呼ばれ、且つ決定された軌道に従う必要があり、このロボットは、ノードのモデルと、ノードの位置の変化に応じて各ノードでロボットの内力の変化を定義する行列Ｋとによって定義される。
【０００２】
要約すると、１つのアクチュエータは、力および／または圧力および／またはトルクの形態で負荷を供給するロボットの１つの部品であり、その強さはロボットが受け取る制御の関数である。
【背景技術】
【０００３】
ロボットを制御する「従来の」制御は、一般的にロボットの１つのアクチュエータまたは複数のアクチュエータと被決定移動が適用されるべきロボットの１つのポイントとの間の映画製作技術（cinematics）のモデル化に基づいており、前記ポイントはそのロボットのエフェクタポイントと呼ばれる。
【０００４】
このモデル化は、映画製作技術が関節チェーンである場合、得ることが比較的に容易であり、ロボットが、関節（しばしば、「完全」と考えられる）が配置される剛性セグメントおよび多分、これらのセグメントの相対移動を測定できるエンコーダから構成される。制御はリアルタイムで実行でき、しばしば分析的で比較的に単純な演算からロボットの構成を演算する。
【０００５】
既存のフレキシブルまたは変形可能ロボット、すなわちフレキシブルまたは変形可能材料から作られた少なくとも１つの部品を含むロボットは、特に脆弱環境、例えば外科ロボットが人間の体で動き回るのに良好に適している。また、これらのロボットはより頑健（衝撃に対する良好な抵抗）で、且つ（とりわけ３Ｄ印刷によって）製造がより容易である。
【０００６】
実際に使用されるフレキシブルまたは変形可能ロボットの大部分は、少数の自由度に制限されている、例えばロボットはフレキシブルクランプを含み、マイクロ操作のために使用される。これらの状況で、映画製作技術は比較的に単純なままであり、且つ全く単純に測定または事前演算可能である。
【０００７】
しかしながら、剛性ロボットと異なり、フレキシブルなロボットの自由度の数は不定でもよく、アクチュエータは、各エフェクタポイントがそれに関連する被決定移動に追従することができるように制御されるべき不定数のポイントに配置可能である。しかしながら、フレキシブルまたは変形可能多作動ロボットに関して実行されるべき作業は、とりわけ作動の自由度の数の多さのために、ロボットの制御の問題に直面する。
【０００８】
また、有限要素法、すなわちＦＥＭは、フレキシブルロボットへ印加されるコマンドまたは負荷を知り、このフレキシブルロボットの挙動の決定が目標にされるとき、フレキシブルロボットをモデル化するために使用される。
【０００９】
ＦＥＭモデルによる決定の演算がリアルタイムで可能としても、その制御の困難さは、望ましい変形を発生する作動の値を得ることであり、したがって、それは必要とされるモデルの一種の反転である。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
さて、逆問題を解決するためのＦＥＭの使用は、一般的に必要とされる演算時間が法外であるので、今までは実施されることができなかった。
【００１１】
本発明は、リアルタイムでＦＥＭモデルの被最適化反転に基づく有利な技術を提案することによって変形可能ロボットのアクチュエータの駆動で遭遇するこれらの問題の幾つかの軽減に寄与することを目的とする。
【課題を解決するための手段】
【００１２】
この目的を達成するために、第１の態様によれば、本発明は、上述のタイプのロボットを制御する方法であって、ｉ番目の制御演算ステップに関して各アクチュエータに対して意図された制御を決定するために：
ｉ／行列Ｋの値が前記ロボットの前記ノードの現在の位置の関数として更新され；
ｉｉ／ベクトルδ（ｘ）のヤコビ行列Ｊの現在の値が決定され、ここで、ｘは前記ノードの位置ベクトルであり、ベクトルδ（ｘ）は各エフェクタポイントに関連する少なくとも１つのサブセットの行（単数または複数）を含み、前記エフェクタポイントの位置と前記エフェクタポイントの被決定軌道との間の偏差の座標を示し、且つ少なくとも１つのサブセットの行（単数または複数）は各アクチュエータの変位を示し；
ｉｉｉ／行列Ｗ＝Ｊ．Ｋ−１．ＪＴの値が演算され、ここで、Ｋ−１はＫの逆行列であり、ＪＴはＪの転置行列であり；
ｉｖ／前記ｉ番目の演算ステップでベクトルδおよびλの値を決定するために式δ＝Ｗ．λ＋δ０が解かれ、ここで、λは、エフェクタポイントに関連するベクトルδの各行に対して、ゼロ値を含む行と、アクチュエータに関連するベクトルδの各行に対して、指摘された変位に対応する前記アクチュエータによって発揮される負荷の値を含む行と、を含むベクトルであり、且つδ０は被決定値を含むベクトルであり；
ｖ／各アクチュエータに対して意図された制御は、ベクトルδまたはλに対するステップｉｖ／において決定された値の少なくとも関数として推論される方法を提案する。
【００１３】
そのような方法は、特に、幾つかのアクチュエータがロボットのフレキシブル材料から成る少なくとも１つの部品の変形を駆動することを可能とする場合において、１つ以上の端子エフェクタポイントに関する望ましい移動を生成すると共にアクチュエータを駆動するために必要とされる演算負荷を大きく減少するために、変形可能ロボットを駆動することを可能とする。
【００１４】
実施の形態において、本発明に係るロボットを制御する方法は、更に、以下の特徴の１つ以上を備える：
‐  前記ベクトルδは、更に、前記ロボットの外部の制約を受けた前記ロボットのポイントの変位を指示する少なくとも１つのサブセットの行（単数または複数）を含み、且つ前記ベクトルλは、更に、指示された変位に対応するロボットの外部の制約によって発揮された力の値を指示する対応するサブセットの行（単数または複数）を含むこと；
‐  １つのエフェクタポイントの被決定軌道に対応する位置は、前記エフェクタに関連するベクトルδ（ｘ）の前記サブセットの行（複数）を得るために、１セットの前記ノード（単数または複数）の位置の、それぞれの補間係数に関連する補間によって決定された前記エフェクタポイントの位置から減算され、前記ヤコビ行列Ｊの同じサブセットの行（複数）において、前記ノードの対応する列における値が前記補間係数の関数であること；
‐  １つのアクチュエータの固定ポイントは、各々が非ゼロ補間係数に関連するノード（単数または複数）の補間であり、且つ前記行列Ｊの少なくとも１つの行は、前記アクチュエータの作動の方向の関数として決定され、前記行の各項は、前記単数のノードまたは前記複数のノードの列における項から離間したゼロであること；
‐  ｉ番目の制御演算ステップにおいて、
‐  Ｋ．Δｘ＝ｐ＋ｆ（ｘｉ−１）を立証するΔｘが決定され、ここで、Δｘはベクトルｘの偏差を表し、ベクトルｐは前記ロボットに発揮される外力を表し、Ｋはステップｉ／で更新された行列であり、ｘｉ−１は前記ノードの前記現在の位置ベクトルであり、且つｆ（ｘｉ−１）はロボットの現在位置におけるロボットへ発揮される内力のベクトルであること；
‐  ｘｆｒｅｅ＝ｘｉ−１＋Δｘが演算されること；
‐  ベクトルδ（ｘｆｒｅｅ）の値が演算されること；および
‐  式δ＝Ｗ．λ＋δ０が、δ０をδ（ｘｆｒｅｅ）と等しくなるように取ることによってステップｉｖで解かれること、
‐  ステップｉｉｉ／において、式δ＝Ｗ．λ＋δ０がガウス‐ザイデルタイプの反復型アルゴリズムによって解され、作動の方向にリンクされた制約を組み込み、少なくとも１つのアクチュエータによって発揮されるストップ制限および／または最大負荷、および／またはロボットの外部からの制約の特徴を制限すること。
【００１５】
第２の態様によれば、本発明は、１セットのアクチュエータ（単数または複数）によって変形され得る少なくとも１つの部品を含むロボットを制御するコンピュータプログラムであって、前記ロボットのエフェクタポイント（単数または複数）と呼ばれる１セットのポイント（単数または複数）の各ポイントが、被決定軌道に従う必要があり、前記ロボットは、ノードのモデルと前記ノードの位置の偏差の関数として各ノードで前記ロボットの内力の偏差を定義する行列Ｋによって定義され、前記プログラムは、ｉ番目の制御演算ステップに関する各アクチュエータに対して意図された制御を決定するために処理手段によって前記プログラムが実行されると、本発明の前記第１の態様に係る方法の前記ステップを実行する命令を備えるコンピュータプログラムを有する。
【００１６】
第３の態様によれば、本発明は、１セットのアクチュエータ（単数または複数）によって変形され得る少なくとも１つの部品を備えるロボットを制御するモジュールであって、前記ロボットのエフェクタポイント（単数または複数）と呼ばれる１セットのポイント（単数または複数）の各ポイントが、被決定軌道に従う必要があり、前記ロボットは、ノードのモデルと前記ノードの位置の偏差の関数として各ノードで前記ロボットの内力の偏差を定義する行列Ｋによって定義され、前記制御モジュールは、前記制御モジュールが、ｉ番目の制御演算ステップへの各アクチュエータに対する意図された制御の決定がなされると、前記ロボットの前記ノードの現在の位置の関数として前記行列Ｋの値を更新して、次に、前記ベクトルδ（ｘ）のヤコビ行列Ｊの現在の値を決定するように適合され、ｘは、前記ノードの位置ベクトルであり、前記ベクトルδ（ｘ）は、各エフェクタポイントに対する少なくとも１つのサブセットの行（単数または複数）を含み、前記エフェクタポイントの位置とその被決定軌道との間の偏差の座標を指示し、且つ少なくとも１つのサブセットの行（単数または複数）は各アクチュエータの変位を指し；
前記制御モジュールは、行列Ｗ＝Ｊ．Ｋ−１．ＪＴ（ここで、Ｋ−１はＫの逆行列であり、ＪＴはＪの転置行列である）の値を演算し、前記ｉ番目の演算ステップでベクトルδおよびλの値を決定することによって、式δ＝Ｗ．λ＋δ０（ここで、λは、エフェクタポイントに関連するベクトルδの各行に対して、ゼロ値を含む行とアクチュエータに関連するベクトルδの各行に対して指示された変位に対応するアクチュエータによって発揮された負荷の値を含む行を含むベクトルであり、δ０は被決定値を含むベクトルである）を解くように適合され；
前記制御モジュールは、ベクトルδとλの前記被決定値の少なくとも関数として各アクチュエータに対して意図された制御を推論するのに適合することを特徴とするモジュールを提案する。
【図面の簡単な説明】
【００１７】
本発明の特徴と利点は、純粋に一例として与えられた以下の記述を添付図面を参照して読むことによって明らかになる。
【図１】本発明の一実施の形態の多作動変形可能ロボットを概略的に表している。
【図２】本発明の一実施の形態の方法のステップの流れ図である。
【図３】ベクトルδを表している。
【図４】二つのセクション４ａ，４ｂを備え、作動を受けた変形可能ロボットを表している。
【発明を実施するための形態】
【００１８】
図１は、例えばフレキシブルシリコーン等の変形可能材料から作られた構造体を備えるロボット１を表している。
【００１９】
本発明は、図２に表された一連のステップ１００を繰り返す、ロボット１を制御する方法を提案している。
【００２０】
考察されるケースでは、ロボット１は３次元（３Ｄ）のロボットであり、原点Ｏと三つのＸ、Ｙ、Ｚ軸に関連する、Ｒｅｆと呼ばれる基準フレームに関連する空間において３Ｄに移動可能である。
【００２１】
ロボット１は、ロボットに変形を与える多数ｐのアクチュエータ２を備えている。この数ｐは任意の数でよく、ここで考察されるケースでは、８個であるように選択される。
【００２２】
アクチュエータは種々に種類の作動があり、例えば、
‐  恐らく減速ギアを備える電気モータへのリンクによってロボットの構造体の一部品の回転または平行移動、および／または
‐  一端で前記構造体に取り付けられ且つ他端でプーリを備えるモータに取り付けられたケーブルを引っ張ることによって得られる移動、および／または
‐  圧縮空気または油圧によって作動できる前記構造体の内側の１つ以上の弾性ポケット、および／または
‐  前記ロボットの前記構造体の局所変形を生じさせる、多数のアクチュエータ（例えば、圧電性または電場応答性ポリマーまたは形状記憶材料によって）に関して位置決めによる被分配多作動、を備えている。
【００２３】
アクチュエータによってロボットの構造体に印加される負荷は、力、圧力および／またはトルクよりなる。
【００２４】
また、ロボットは、ロボットのエフェクタポイント（単数または複数）と呼ばれるロボット１のｍ個のポイント３を更に備え、ポイントには各軌道が課される。
【００２５】
その数ｍは任意の数でよく、ここで考察されるケースでは３個である。
【００２６】
このように、エフェクタポイントＰｅｆｆｊ、ｊ＝１〜ｍ、は、ロボットを制御する方法の反復のｉ番目のステップでポイントＰｉｍｐｊに対応する課された位置に配置される必要がある。その課された軌道は、とりわけリアルタイム用途では、任意に変更可能である。
【００２７】
一実施の形態では、ロボット１のモビリティの環境は、多数ｎの障害物４を備えている。その数ｎは、任意の数でよく、ここで考察されるケースでは、２個であることが選択される。これらの障害物は、静止していてもよく（すなわち基準フレーム内で動かない）または既知の挙動を有して動的であってもよい。
【００２８】
障害物４と例えばコンタクト、レールリンク、フラットベアリングまたは他のそのようなタイプのであるロボット１との間に機械的相互作用のモデルがある。このモデル化は、とりわけ、障害物の関数としてロボットの制御を適合するために使用される。
【００２９】
変形可能ロボット１は、１セットのノードのモデルによって且つ剛性行列と呼ばれ、各ノードでの内力をノードの位置の関数として定義する関連する接線行列によって定義され、それによって、ロボットの変形、とりわけ非線形の変形をモデル化することが可能になる。
【００３０】
本ケースでは、ロボット１は、Ｎ個のノードのメッシングに関連する有限要素モデル、すなわちＦＥＭによってモデル化される（特に、Ｃ．Ｆｅｌｉｐｐａ、「Ａ  ｓｙｓｔｅｍａｔｉｃ  ａｐｐｒｏａｃｈ  ｔｏ  ｔｈｅ  ｅｌｅｍｅｎｔ−ｉｎｄｅｐｅｎｄｅｎｔ  ｃｏｒｏｔａｔｉｏｎａｌ  ｄｙｎａｍｉｃｓ  ｏｆ  ｆｉｎｉｔｅ  ｅｌｅｍｅｎｔｓ」、Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ、Ｃｅｎｔｅｒ  ｆｏｒ  Ａｅｒｏｓｐａｃｅ  Ｓｔｒｕｃｔｕｒｅｓ、２０００参照）。
【００３１】
ロボット１の変形の物理的モデルを定義することが可能な任意の他の方法、例えば「メッシュレス」タイプの公式、ガレルキン法等が、代わりに使用されてもよい。
【００３２】
本発明によれば、図２を参照すると、反復方法１００は、各反復ステップの終わりで、障害物を考慮しながらエフェクタポイントを望ましい軌道の最良のものに従わせるロボット１の各アクチュエータの制御の内容を決定する。
【００３３】
一実施の形態では、この反復方法１００は、ロボット１のドライバモジュールによって実施される。
【００３４】
一実施の形態では、ロボットのドライバモジュールは、メモリおよびマイクロプロセッサを備える。例えばＦＥＭモデル、エフェクタの作動および障害物、およびソフトウエア命令を定義するデータは、このメモリに格納される。
【００３５】
また、以下に記述される方法１００のステップは、メモリに格納されたソフトウエア命令がマイクロプロセッサ上で実行されるときに、ロボットのドライバモジュールによって実施される。
【００３６】
このように、本発明の一実施の形態において方法１００のｉ番目の反復ステップで、以下のステップ１０１〜１０５が実施される。
【００３７】
ｘをＮ個のポイントの座標よりなるベクトルとすると、ｘｉ−１は、方法１００の反復ｉ−１で決定された作動の実施の終わりに、ロボットを定義するＮ個のポイントの現在の座標を備えるベクトルを指す。
【００３８】
このように、ステップ１０１で、方法１００の反復ｉ−１の終わりに得られるものとしてロボット１の位置を定義する、既知の値のこのベクトルｘｉ−１が考察され、モデルと座標が反復ｉ−１で決定された作動から座標が測定（閉ループモード決定）または推定（開ループモード決定）された。
【００３９】
ベクトルｘｉは、同様に、この反復で決定される作動が一旦実施されると、方法１００の現在の反復ｉの終わりに、ロボットを定義するＮ個のポイントの座標を備える。
【００４０】
ｎ個の障害物の現在の位置、ｐ個のアクチュエータの現在の位置およびｍ個のエフェクタポイントの各々にとって望ましい課された位置Ｐｉｍｐｊが、決定される。
【００４１】
自由度は、考察される空間における可能なモビリティ（許可されたまたはそうではない）である。ロボットの各々のノードは、特定の数の自由度（例えば、１〜３の直交軸に関する平行移動および／またはこれらの軸の内の１つ以上の軸に関する回転）を有する。したがって、変形可能オブジェクトの自由度の全数は、ノード＊Ｎ当りの自由度の数である。
【００４２】
自由度の考えは、エフェクタポイントにおよびアクチュエータに並びに障害物にリンクされる機械的リンク、すなわち制約にも当てはまる。
【００４３】
エフェクタポイントに対して、それは、被制御モビリティの数に関する（例えばエフェクタポイントの位置が制御されるならば、三つの自由度、したがって、δにおいてこのエフェクタポイントに対応する三つの行があり、他方、追加の三つの配向が制御される場合、それは、このエフェクタポイントに対してδにおいて合計６つの自由度を作る）。
【００４４】
各アクチュエータに対して、一般的に、１つの自由度（例えば平行移動または回転）があるに過ぎない。しかしながら、組合せアクチュエータ（平行移動＋回転）があってもよい。この場合、アクチュエータは、二つの自由度を有する。
【００４５】
各障害物に対して、除去された自由度の数が考察される。例えば平面上のポイントが１つの方向においてのみ制約される（他の二つは、自由なままである）、したがって、制約は、１つの自由度を有する。他方、ポイントを行や曲線に従わせることは、二つの自由度を有する制約を必要とする。平行移動および回転を含むより複雑なリンクに対して、６つまでの自由度が除去され得る。
【００４６】
ここで、ベクトルδ（ｘ）、ベクトルｘの非線形関数を考察する。
【００４７】
δは、反復ｉの終わりに引き続いて考察される各エフェクタポイントに対して、反復ｉの終わりでエフェクタポイントに対して課された軌道とこのエフェクタポイントの位置との間の偏差の座標を指摘するエフェクタポイントに関連する行を備える。
【００４８】
考察されるケースでは、各エフェクタポイントに対して、エフェクタポイントの各自由度に対してδにおいて１つの行がある。
【００４９】
エフェクタポイントは、ｘｉによって与えられたＮ個のノードの位置から補間されたポイントとして考察される。
【００５０】
ｍ個のエフェクタポイントの場合、Ｘ、Ｙ、Ｚ軸に関連する平行移動の各々において三つの自由度を有するこれら二つのエフェクタポイントの位置を制御するためにδにおいて３＊ｍ個の行、または各々が６自由度を有するこれらｍ個のエフェクタポイントの位置と配向を制御するために６＊ｍ個の行を有さなければならない。
【００５１】
次に、ベクトルδ（ｘ）は、引き続いて考察されている各アクチュエータに対して、被作動ゾーンを補間するノードの位置のおよび作動の方向の可能な変更の関数として作動の方向への被作動ゾーンの変位を示す行を備える（実際には、ロボットの構造体が変形され且つケーブルが１つのゾーンで引き寄せるために使用される場合、そのケーブルの方向が変化する）。
【００５２】
アクチュエータは、空気圧または油圧タイプの物であり、被作動ゾーンの変位は、容量の変化を示すことが留意されるべきである。
【００５３】
ここで考察されるケースでは、各アクチュエータに対して、作動の各自由度に対してδにおける１つの行がある。
【００５４】
ベクトルδ（ｘ）は、最終的に、引き続いて考察される各障害物に対して、ロボットの関連するゾーンにおける障害物と関連する制約を示す行を備える（例えばｘｉによって与えられるＮ個のノードの位置の補間としてこの障害物に従うロボットのポイントの変位）。
【００５５】
考察されるケースでは、各障害物に対して、その障害物によって除去される可能性がある各自由度に対してδに１つの行がある。例えば平面を有するポイントの接点は、考察されるポイントがその平面に触れると、その平面に垂直な方向における自由度を除去する（そうでない場合、何も除去しない）：この場合には、制約は、能動的であり、自由度を除去し、そうでない場合は、何も除去しないことが述べられる。
【００５６】
したがって、ベクトルδ（ｘ）は、空間ＲＮの空間ＲＭに対する関数であり、Ｍは、ｍ個のエフェクタポイントに対して集められた自由度の、ｐ個のアクチュエータに対して集められた自由度のおよびｎ個の障害物に対して集められた自由度の合計である。
【００５７】
ここで、ベクトルδ（ｘ）の、ｘに対する、ヤコビ行列である行列Ｊを考察する。
【００５８】
このように、この行列Ｊは、ベクトルｘの変化の関数としてベクトルδ（ｘ）の分散を線形的に記述することを可能とする：
Δδ（ｘ）＝Ｊ．Δｘ      式（１）
考察されている変化は、例えば反復ｉ−１と反復ｉとの間のものであり：したがって、Δｘ＝ｘｉ−ｘｉ−１である。このように、アクチュエータに関連するΔδにおける値は、この変動Δｘ中、すなわち反復ｉ−１と反復ｉとの間のアクチュエータの変位を指摘する。
【００５９】
λの各行がλの１つの行に対応する、ベクトルδと同じサイズＭのベクトルλ（ｘ）も考察する。このように、δの行ｎ°ｋはλの行ｎ°ｋが関連するものとして、同じエフェクタポイントまたは同じアクチュエータまたは同じ障害物の同じ自由度に関連する。
【００６０】
λにおいて、エフェクタポイントに対応する全ての行がゼロ値を有する。
【００６１】
そのための各行に関して、δにおいてアクチュエータ変位が指摘され、そのアクチュエータによってロボット１に発揮された対応する負荷（力、圧力、トルク）の強さがλに含まれる。
【００６２】
そのための各行に関して、δにおいて障害物の制約が指摘され、この行で考察される自由度に対応するロボット１の障害物によって発揮される対応する負荷の強さがλに含まれる。
【００６３】
方法１００の反復ｉ中に実行される処理動作によって、ベクトルδとλの値を決定することが可能となり、それによってアクチュエータの順序付けられるべき作動値を知ることができる。
【００６４】
行列Ｊによって取られる値がここで決定される。
【００６５】
Ｊが反復中に一定であることが考察される。
【００６６】
反復中にδの変化が式（１）によって決定される。
【００６７】
この行列Ｊは、ここで考察されるケース（６自由度がノードに対して考察される場合において６Ｎ）においてδの行の数に等しい多数Ｍの行、および３Ｎに等しい多数の列を備えている。
【００６８】
このように、Ｊの行ｎ°ｋは、δの行ｎ°ｋが関連するものと同じエフェクタポイントまたは同じアクチュエータの、または障害物の同じ自由度に関連している。
【００６９】
このように、１つのアクチュエータポイントの１自由度に関連するδの各行に対して、ヤコビ行列Ｊにおいて対応する１つの行がある。
【００７０】
エフェクタポイントがモデルの１つノードである場合には、次に、所与の自由度に対して、すなわちＸ、ＹまたはＺ軸に関してそのポイントに関連する行列Ｊの行は、値が１であるこのノードに対するこの行上のノードのこの軸に関連する座標（またはＸ、ＹまたはＺ軸に関して軸回りの回転ｒＸ、ｒＹ、ｒＺに従っても）を除いて０で満たされる。
【００７１】
エフェクタポイントが１つのノードに対応しないが、複数のノード間のメッシングの要素に配されるポイントに対応する場合、すなわち、このポイントがこれらのノードの補間の関数から得られる場合、この補間関数は、このエフェクタポイントに対する行列Ｊの行を構成するために使用される（特に、Ｃ．Ｄｕｒｉｅｚ、Ｃ．Ｇｕｅｂｅｒｔ、Ｍ．Ｍａｒｃｈａｌ、Ｓ．Ｃｏｔｉｎ、Ｌ．Ｇｒｉｓｏｎｉの「Ｉｎｔｅｒａｃｔｉｖｅ  ｓｉｍｕｌａｔｉｏｎ  ｏｆ  ｆｌｅｘｉｂｌｅ  ｎｅｅｄｌｅ  ｉｎｓｅｒｔｉｏｎｓ  ｂａｓｅｄ  ｏｎ  ｃｏｎｓｔｒａｉｎｔ  ｍｏｄｅｌｓ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍｅｄｉｃａｌ  Ｉｍａｇｅ  Ｃｏｍｐｕｔｉｎｇ  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ａｓｓｉｓｔｅｄ  Ｉｎｔｅｒｖｅｎｔｉｏｎ、Ｌｏｎｄｏｎ、Ｕｎｉｔｉｅｄ  Ｋｉｎｇｄｏｍ、２００９、ｐｐ．２９１−２９９；ｈｔｔｐ：／／ｈａｌ．ｉｎｒｉａ．ｆｒ／ｉｎｒｉａ‐００５４０３３４）。各自由度に対応する各行に対して、次に、これらのノードにのみ非ゼロ値があり、且つ使用された値は、補間関数におけるこのノードと関連する重みに対応する。
【００７２】
同様に、アクチュエータまたは障害物の自由度に関連するδの各行は、ヤコビ行列Ｊに対応する行を有している。
【００７３】
例えば選択されたアクチュエータがケーブルである場合、そのケーブルが引く方向（このアクチュエータの変位の方向、すなわちケーブルの自由度にも対応する）は、ケーブルが取り付けられるノード（単数または複数）に対応する列を選択することによって行列Ｊのこの行に格納される。
【００７４】
作動の方向におけるケーブルの変位およびロボットの構造体に関する作動のポイントに対応するδの行が導出されると、次に、行列Ｊにおいて、作動の方向に対する作動ポイントに対応する行上に、
‐  作動ポイントを直接的には補間しないノードに対応する全ての列に対するゼロ、
‐  作動ポイントを直接的に補間するノードに対応する全ての列に対する非ゼロ値が得られる。ノードのＸ、ＹおよびＺに従う列の各々において、補間におけるノードの重みが乗算される作動の（一元の）方向がある。
【００７５】
例えば：
⇒作動ポイントＰが以下の補間から得られる場合：Ｐ＝α．Ｎａ＋β．Ｎｂ＋γ．Ｎｃであり、ここで、Ｎａ、ＮｂおよびＮｃは、Ｎ個のノードの三つの現在のケースでの（Ｏ、Ｘ、Ｙ、Ｚ）におけるそれぞれの位置であり、且つα、βおよびγが０と１との間にあるα、βおよびγのノルムを有する補間の重みであり、α、βおよびγの合計が１に等しい場合であり、
且つ作動の方向が一元のベクトル
0006382226.tif 000002
によって示される場合、
Ｊ＝［００．．．０α＊ｄｘα＊ｄｙα＊ｄｚ００．．．．０β＊ｄｘβ＊ｄｙβ＊ｄｚ００．．．．．０γ＊ｄｘγ＊ｄｙγ＊ｄｚ００．．．０］の対応する行であり、
ここで、α＊ｄｘ、各、α＊ｄｙ、各、α＊ｄｚは、位置Ｎａの考察されているノードのＸ、Ｙ、Ｚ軸に対する列において考察されている行の項であり、β＊ｄｘ、各β＊ｄｙ、各β＊ｄｚは、位置Ｎｂの考察されているノードのＸ、Ｙ、Ｚ軸に関する列における項であり、且つｚ＊ｄｘ、ｚ＊ｄｙ、ｚ＊ｄｚは、位置Ｎｃの考察されているノードのＸ、Ｙ、Ｚ軸に関連する列における項である。
【００７６】
圧力アクチュエータに対して、圧力で膨張または萎むメッシング要素、例えば三角形が選択される。圧力がキャビティ内で均一ならば、該当する三角形の全ては、その三角形に対する垂線とその三角形の面積に比例する重みを使用することによって行列Ｊ上の同じ行に寄与する。Ｊの構造体において、これは、有限要素モデルに圧力制約を課する従来の方法に対応する。この場合、アクチュエータに対応するδの行は、その制約に対応する行におけるキャビティの容量の値を含み、λの対応する行は、使用される圧力値を含む。
【００７７】
このように、一般的に、アクチュエータの固定ポイントは、各々が非ゼロ補間係数に関連するノード（単数または複数）の補間であり、そのアクチュエータの変位の方向は、行列Ｊの行に示され、前記行の各項が前記１つのノードまたは前記複数のノードの行から離間したゼロである。
【００７８】
外部環境の障害物とのロボットの相互作用に対して、変形可能媒体へのロボットの挿入をシミュレートするために上述の「Ｉｎｔｅｒａｃｔｉｖｅ  ｓｉｍｕｌａｔｉｏｎ  ｏｆ  ｆｌｅｘｉｂｌｅ  ｎｅｅｄｌｅ  ｉｎｓｅｒｔｉｏｎｓ  ｂａｓｅｄ  ｏｎ  ｃｏｎｓｔｒａｉｎｔ  ｍｏｄｅｌｓ」、すなわち衝突に対する応答に含まれるより一般的な形式論に対してのＩ．Ｐｅｔｅｒｌｉｋ、Ｍ．Ｎｏｕｉｃｅｒ、Ｃ．Ｄｕｒｉｅｚ、Ｓ．Ｃｏｔｉｎ、Ａ．Ｋｈｅｄｄａｒの「Ｃｏｎｓｔｒａｉｎｔ−ｂａｓｅｄ  ｈａｐｔｉｃ  ｒｅｎｄｅｒｉｎｇ  ｏｆ  ｍｕｌｔｉｒａｔｅ  ｃｏｍｐｌｉａｎｔ  ｍｅｃｈａｎｉｓｍｓ」、ＥＥＥ  Ｔｒａｎｓ．Ｈａｐｔｉｃｓ、ｖｏｌ．４、ｎｏ．３、ｐｐ．１７５−１８７、Ｊｕｌ．２０１１、ｈｔｔｐ：／／ｄｘ．ｄｏｉ．ｏｒｇ／１０．１１０９／ＴＯＨ．２０１１．４１）のように論文において記述されるような異なるタイプの制約を使用することが可能である。
【００７９】
１つの障害物に対して、前述の通り、ベクトルδのその障害物と関連する各行は、その障害物によって除去される可能性がある１自由度に対応している。
【００８０】
例えば点接触／面接触の場合、この行に対するδにおいて示される値は、ポイントからプレーンへの距離を測定し、δのこの値が正である場合、その制約は非能動化され、その値が負になる場合、その制約が能動化されて０に等しい値に戻る。
【００８１】
同様に、１つの障害物に対して、行列Ｊの各対応する行は、ノードの移動の関数として障害物によって除去される可能性がある１つの自由度または複数の自由度の移動に対応している。
【００８２】
点接触／面接触の同じ例に対して、Ｊの考察されている行を構成するために、二つの情報項目が基本として使用される：
‐  ポイントＰの移動の補間：（例えば）Ｐ＝α．Ｎａ＋β．Ｎｂ＋γ．Ｎｃであり、ここで、Ｎａ、ＮｂおよびＮｃは、Ｎ個のノードの内の三つのそれぞれの位置であり、且つα、βおよびγは、０と１との間にあるα、βおよびγのノルムを有する補間の重みであり、且つα、βおよびγの合計は１に等しいこと。
‐  一元のベクトルｎ：
0006382226.tif 000003
によって示される平面に対して垂直な方向
次に、Ｊ＝［００．．．０α＊ｎｘα＊ｎｙα＊ｎｚ００．．．．０β＊ｎｘβ＊ｎｙβ＊ｎｚ００．．．．．０γ＊ｎｘγ＊ｎｙγ＊ｎｚ００．．．０］であり、
ここで、α＊ｎｘ、各α＊ｎｙ、各α＊ｎｚは、位置Ｎａの考察されているノードのＸ、Ｙ、Ｚ軸の関連する列における考察されている行の項であり、；β＊ｎｘ、各β＊ｎｙ、各β＊ｎｚは、位置Ｎｂの考察されているノードのＸ、Ｙ、Ｚ軸の関連する列における項であり、且つｚ＊ｎｘ、ｚ＊ｎｙ、ｚ＊ｎｚは、位置Ｎｃの考察されているノードのＸ、Ｙ、Ｚ軸の関連する列における項である。
【００８３】
何れにしても、一旦構成された決定方法、ヤコビ行列Ｊは、ゼロ値で大部分充填される。したがって、中空行列フォーマットを使用してそれを格納することができる。
【００８４】
制御によって発生した変形可能ロボットの広範囲に及ぶ変形を考慮して、使用された有限要素モデルは非線形である。
【００８５】
他方、このモデルの線形化は、各反復ｉに対して実行され、それによって正接行列Ｋ（ｘ）＝ｄｆ／ｄｘを演算することが可能となる。
【００８６】
動的有限要素モデルが使用される場合、非線形モデルの正接行列の演算を必要とする陰積分法または半積分法が使用される。
【００８７】
ここで考察されているケースでは、ノードの位置ベクトルＸの関数として内力のベクトルｆを演算する静的有限要素モデルが使用される。
【００８８】
ステップ１０２で、Ｎ個のノードの位置の関数として各ノードで内力を定義する剛性の正接行列Ｋの値は、これらのＮ個のノードのｄ個の被決定現在位置ｘｉ−１の関数として再更新される。
【００８９】
順当に更新された行列ＫはＫ（ｘｉ−１）と呼ばれる。
【００９０】
ここで考察されているケースでは、Ｋのサイズは３Ｎ＊３Ｎである。
【００９１】
次に、内力の線形化は、ノードの位置ｘｉ−１に基づいて演算される：
0006382226.tif 000004
であり、
Δｘ＝ｘｉ−ｘｉ―１である。
【００９２】
現在の反復ｉで静的平衡を確立するために（ロボット１の外力と内力の合計が、ノードの全てにわたってゼロに等しい）、その結果は等式：
0006382226.tif 000005
であり、
ここで、ベクトルＰは、例えば重力よりなる既知の外力を表し、ＪＴλは、本発明に従って考慮された制約（すなわちエフェクタポイント、アクチュエータおよび外部環境との機械的相互作用に関連するもの）の全ての寄与を組み合わせる。
【００９３】
行列Ｊは、ステップ１０１で演算されたものであり、且つベクトルλの現在の値は、決定されるべきである。
【００９４】
次に、ゼロベクトルに等しいベクトルλでロボットのモデルの式３の解に対応するロボット１の自由な構成が演算される。
【００９５】
順当に決定された対応位置は、ｘｆｒｅｅ＝ｘｉ−１＋Δｘｆｒｅｅである。
【００９６】
行列Ｋは、非常に中が空である。この行列によって形成されるシステムを解くために、共役勾配法および例えば、ＬＤＬＴタイプの因数分解を有する直接法を使用することが可能である。
【００９７】
例えば、１０００個のノードおよび３０００個の四面体要素からなるロボット１のメッシングに対して、１つのロボットのリアルタイム制御に対応する６０Ｈｚのリフレッシュレートを得ることができる。
【００９８】
より複雑なメッシングを使用するために、ＬＤＬＴ因数分解は、同期が解除され、且つ所謂「ワーピング」技術が使用される（例えば、Ｈ．Ｃｏｕｒｔｅｃｕｉｓｓｅ、Ｊ．Ａｌｌａｒｄ、Ｃ．Ｄｕｒｅｚ、およびＳ．Ｃｏｔｉｎの「Ｐｒｅｃｏｎｄｉｔｉｏｎｅｒ−ｂａｓｅｄ  ｃｏｎｔａｃｔ  ｒｅｓｐｏｎｓｅ  ａｎｄ  ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  ｃａｔａｒａｃｔ  ｓｕｒｇｅｒｙ」、Ｍｅｄｉｃａｌ  Ｉｍａｇｅ、  Ｃｏｍｐｕｔｉｎｇ  ａｎｄ  Ｃｏｍｐｕｔｅｒ−Ａｓｓｉｓｔｅｄ  Ｉｎｔｅｒｖｅｎｔｉｏｎ  （ＭＩＣＣＡＩ）、２００１、ｈｔｔｐ：／／ｗｗｗ．ｌｉｆｌ．ｆｒ／〜ｃｏｕｒｔｅｃｕ／参照）。
【００９９】
この得られた位置ｘｆｒｅｅ（作動のおよび障害物の不在に対応する）からおよび式１から、ベクトルδｆｒｅｅ＝δ（ｘｆｒｅｅ）＝Ｊ．Δｘｆｒｅｅの値が決定される。
【０１００】
このステップ１０２では、行列Ｋの値は、ロボットのノードの現在の位置および選択された変形モデル：ＦＥＭモデルまたは物理学に基づく他のモデルの関数として更新される。実際に、動的モデルおよび陰時間積分法が選択され、Ｋもまた内力の線形化で重み付けされた合計に内力の線形化を含んでおり：次に、重み付けは、積分スキームと選択された時間ステップに依存している。全ての場合、Ｋの単一の値は、制御の演算の各ステップに対して使用されることが仮定される。
【０１０１】
ステップ１０３で、Ｊがステップ１０１で決定された行列であり、ＪＴが転置行列であり且つＫ−１がステップ１０２で得られる逆行列Ｋである、Ｗ＝Ｊ．Ｋ−１．ＪＴで、減少された次元空間において働くことを可能とする所謂減少されたコンプライアンス行列Ｗが演算される。
【０１０２】
上述の自由構成の演算から、ベクトルδ：
δ＝ Ｗ.λ+δfree      式（４）
の変動を記述する新たな公式が得られる。
【０１０３】
式（４）の形態におけるロボット１の制御の決定の公式は、解かれるべきシステムのサイズが、Ｍに等しい、行列Ｗのサイズ、ベクトルδのサイズ、すなわちエフェクタポイントの、アクチュエータのおよび障害物の自由度の数の追加に対応することを示している。換言すれば、二つのエフェクタポイント（合計６自由度に対応する）に関する位置で制御されたロボットに対して、５個のコンタクトポイント（合計５自由度に対応する）を有する１０個のアクチュエータ（合計１０自由度に対応する）によって、サイズ２１のシステムが得られる。対照的に、従来の技術において、解決されるべきシステムのサイズは、ベクトルｘのサイズ、すなわちリアルタイムで使用され得る平均サイズのメッシングに対して、１０００と３０００との間のサイズのシステムに対応する、ノード当りの自由度の数によって乗算される有限要素モデルによって使用されるノードの数Ｎに対応している。
【０１０４】
Ｋの逆数の有効演算を可能とするために、特定の因数分解法が減少されたサイズ（３自由度を有する略３００のノード）のメッシングのためにリアルタイムで使用可能である。行列Ｋが３直交ブロック行列の形態で配され得る線形ロボット構造体に対して、演算は、Ｃ．Ｄｕｒｉｅｚ、Ｓ．Ｃｏｔｉｎ、Ｊ．Ｌｅｎｏｉｒ、Ｐ．Ｆ．Ｎｅｕｍａｎｎの「Ｎｅｗ  ａｐｐｒｏａｃｈｅｓ  ｔｏ  ｃａｔｈｅｔｅｒ  ｎａｖｉｇａｔｉｏｎ  ｆｏｒ  ｉｎｔｅｒｖｅｎｔｉｏｎａｌ  ｒａｄｉｏｌｏｇｙ  ｓｉｍｕｌａｔｉｏｎ」、Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｓｕｒｇｅｒｙ、ｖｏｌ．１１．ｐｐ．３００−３０８、２００６におけるような専用のソルバーで行うことが可能である。一般的に、行列Ｗの非常の良好な近似は、グラフィックプロセッサユニットＧＰＵに適するアルゴリズムに依存する、上述の論文「Ｐｒｅｃｏｎｄｉｔｉｏｎｅｒ−ｂａｓｅｄ  ｃｏｎｔａｃｔ  ｒｅｓｐｏｎｓｅ  ａｎｄ  ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  ｃａｔａｒａｃｔ  ｓｕｒｇｅｒｙ」を使用することによって使用可能である。
【０１０５】
コンプライアンス行列Ｗ＝［ｗｒｊ］ｒ，ｊを使用することによって、構造体のエフェクタポイントｒとアクチュエータポイントｊとの間の機械的カップリングを知ることができる。より具体的には、アクチュエータｊによって構造体に印加される負荷λｊ（力、圧力またはトルク）の関数として行列Ｊ）の行ｒに格納された、１自由度（この自由度に対してエフェクタポイントン実際の位置とその望ましい位置との間の差の偏差に対応する）にわたる１つのエフェクタポイントｒに生成された変位Δδｒの予想を得ることができ、そのために、制約の方向が行列Ｊの行ｊに格納され、以下のΔδｒ＝ｗｒｊλｊが得られる。
【０１０６】
以下において単純にするために、行列Ｊの行ｒに関連するアクチュエータｊの位置は、「エフェクタｒ」と呼ばれ、列Ｊの行Ｊに関連するこのアクチュエータは、「アクチュエータｊ」と呼ばれる。
【０１０７】
アクチュエータｊの位置とエフェクタｒの位置との間の映画リンクは、Δδｒ＝Δδｊ．ｗｒｊ／ｗｉｊによって供給され、Δδｊは、アクチュエータｊの位置の変動（作動の方向への）であり、Δδｒは、エフェクタｒの位置の変動である。エフェクタが幾つかの自由度を有する場合、Δδｒとｗｒｊは、自由度ほどの多くの行を有する。
【０１０８】
以下において「アクチュエータｋ」と呼ばれる、行列Ｊの行ｋに関連する他のアクチュエータもまた、アクチュエータｊの変位に影響を及ぼすことができ、またその逆もあり得る。
【０１０９】
この機械的カップリングは行列Ｗを使用して知ることができ：アクチュエータｊの自由度に関する対応する偏差はΔδｊ＝ｗｊｋλｋ＝Δδｋ．ｗｊｋ／ｗｋｋである。
【０１１０】
図４ａ，４ｂは、これらの映画リンクを示し、且つターミナルエフェクタｒ（図４ａ）へ変位Δδｒを課すようにアクチュエータｊの作動（λｊ、δｊ）が方向ｊに沿って如何に制御され得るかを表している。方向ｋに沿うアクチュエータｋの他の１つの作動（λｋ、δｋ）は、アクチュエータｊ（図４ｂ）に望ましくない変位Δδｊを引き起こす可能性がある。
【０１１１】
ステップ１０４では、アクチュエータの位置のおよび環境にリンクされた制約の全ての、エフェクタポイントの位置ｘｉ−１および反復ｉの終わりでのエフェクタポイントの望ましい軌道を知ることの作動制御は、行列Ｗの関数として決定される。
【０１１２】
エフェクタポイントに関連するベクトルδのｒ番目の行の項δｒ（ｘｉ）を考察すると（考察されている例におけるｒは、３＊ｍ＝３＊２に等しい）、空間の異なる方向Ｘ、Ｙ、Ｚにおけるそれらの実施の位置と望ましい位置との間の距離を示して、以下で詳述されるアルゴリズムの目的は、ロボットがδｒ（ｘｉ）＝０に到着するように変形されるように、アクチュエータ（作動位置に対するδの行におよび作動負荷に対するλの行に格納される）に関する位置（作動負荷に対応する）を識別することである。
【０１１３】
この演算を実行するために使用され得るアルゴリズムの内、ガウス‐ザイデルタイプの反復型ソルバーがここでは選択される。このアルゴリズムの反復は、解が安定すると停止され、次に、被決定解の二つの反復の間の偏差が固定された閾値未満でなければならない。
【０１１４】
各反復「ｉｔ」に関して、アルゴリズムは、この式：
0006382226.tif 000006
に基づいてアクチュエータ間のカップリングを考慮するために、１つずつ、アクチュエータｊの寄与λｊを更新すると共に他のアクチュエータの寄与λｋをそれらのアクチュエータの現在の値に凍結する。
【０１１５】
ここで、δｊはアクチュエータｊに関連するベクトルδの行の項であり、λＩＴＫは反復ｉｔ−１において決定されたアクチュエータｋに関するベクトルλの行の項であり、ｐはアクチュエータの数であり、δｆｒｅｅ，ｊはアクチュエータｊに関連するベクトルδｆｒｅｅの行の項である。
【０１１６】
ガウス‐ザイデルタイプのアルゴリズムが使用されるので、アクチュエータｊの局所的更新が実行されると、アクション０、．．．、ｊ−１の凍結された寄与は、現在の反復ｉｔから起こり、他方、アクチュエータｊ、．．．、ｐの凍結された寄与は先行する反復ｉｔ−１から起こる。アクチュエータｊの局所的更新は、新たな寄与λＩＴＪを与え、方向ｒにおけるエフェクタポイントδｒの新たな位置は、
0006382226.tif 000007
を使用して更新される。
ここで、Δλｊは、アクチュエータｊの局所的更新に続いて、アクチュエータｊによって発揮される負荷λｊの変動を表している。
【０１１７】
このように、アクチュエータｊの更新中に、如何にアクチュエータがδｒの値を減少できるかできないかを判断することができる。
【０１１８】
この更新が３Ｄに実行される場合、ｒは、考察されている１つのアクチュエータポイントに対してＸ、Ｙ、Ｚに等しいように連続的に取られ、したがって、連続的に、δＸ、δＹ、δＺの値を与える。λｊの変動を課すことによって、移動はこのエフェクタポイント：
0006382226.tif 000008
に関して生成される。
ここで、ｗＸｊ、各ｗＹｊ、各ｗＺｊは、方向Ｘ、各Ｙ、各Ｚに対して考察されたエフェクタポイントに関連する行上のおよびアクチュエータＪに関連する列上の行列Ｗの項である。
【０１１９】
ベクトル 
0006382226.tif 000009
はδ＊と呼ばれ、ベクトル 
0006382226.tif 000010
はｗ＊と呼ばれる。
【０１２０】
したがって、各反復ｉｔに関して、およびアクチュエータｊ上の各通路に関して、その目的は、δ＊によって測定される考察中のエフェクタポイントに対する実際の位置と望ましい位置との間の距離を減少することである。しかしながら、アクチュエータｊは、ベクトルｗ＊によって与えられる方向にのみエフェクタポイントに対して移動を引き起こす。
【０１２１】
その結果、Δλｊの新たな値は以下で求められる。
0006382226.tif 000011
【０１２２】
この値は、
0006382226.tif 000012
を使用して得られる。
ここで、ΔδＸ、ΔδＹおよびΔδＺは、δＸ、δＹおよびδＺの夫々の変動を表している。
【０１２３】
式６は、１つのエフェクタポイントの実際の位置と望ましい位置との間の偏差を最良に修正するために１つのアクチュエータによって発揮される負荷の偏差を決定することを可能とする。
【０１２４】
Δλｊのこの新たな値が与えられると、式（５）を使用してλＩＴＪとアクチュエータＪの位置δｊを更新することが可能である。
【０１２５】
アクチュエータｊの更新された位置がアクチュエータｊに関連した制限ストップを越えると、またはアクチュエータｊの作動負荷の値λｊがアクチュエータのキャパシティを越えると、作動は、これらの制約を重んずるように制限される。
【０１２６】
アクチュエータにリンクされた制約の内包は上述した。ロボットの自己衝突、接触または環境での他の制約を考慮するために、それには各追加の制約毎に考察されているシステムにおいて１つの行を追加することで十分である。各反復ｉｔに関して、アクチュエータにリンクされたこれらの制約が更新されると、これらの他の制約に対応する行が更新される。１つの一定の制約に対して、例えばＳｉｇｎｏｒｉｎｉ’ｓ  ｌａｗが課され、接触ｊがあると、δｉｔｊは最初に式（５）を使用して演算される。次に、Δλｊ＝δｉｔｊ／ｗｊｊが演算される。次に、λｉｔｊ＜０ならば、ただλｉｔｊ＜０にすぎないならば、片務的制約がλｉｔｊ＝０を課すことによって実行される。他のタイプの制約、例えば、針挿入が他のタイプの式（特に、既に引用された「Ｉｎｔｅｒａｃｔｉｖｅ  ｓｉｍｕｌａｔｉｏｎ  ｏｆ  ｆｌｅｘｉｂｌｅ  ｎｅｅｄｌｅ  ｉｎｓｅｒｔｉｏｎｓ  ｂａｓｅｄ  ｏｎ  ｃｏｎｓｔｒａｉｎｔ  ｍｏｄｅｌｓ」参照）で演算されてもよい。
【０１２７】
アルゴリズムが集束すると障害物制約および対応するベクトルδを考慮してアクチュエータによって生成されるべき寄与を与える、ベクトルλが得られる。
【０１２８】
冗長作動でチェックを実行することを可能とするガウス‐ザイデルアルゴリズムは、使用され得るアルゴリズムの内の丁度１つである。他のアルゴリズムは、エフェクタポイントの望ましい軌道を得るためにアクチュエータに印加される負荷／圧力を決定するように使用できる。
【０１２９】
ステップ１０５で、アクチュエータによって供給される制約を示す制御はアクチュエータに供給され、次に、それらのアクチュエータはそれらの各制御を実行する。アクチュエータが位置に関して制御される場合、その制御は、アクチュエータに関連するδの各行における値の関数である。アクチュエータが負荷に関して制御される場合、その制御は、アクチュエータに関連するλの各行における値の関数である。
【０１３０】
次に、これらの作動から生じる構成におけるロボット１のＮ個のノードの座標は、例えば、ベクトルｘｉに次に格納される測定によって決定される。
【０１３１】
他の実施の形態では、これらの作動から生じる構成におけるロボット１のＮ個のノードの座標は、
Ｘｉ ＝ Ｘｆｒｅｅ ＋ Ｋ−１ＪＴλ.
を使用して決定される。
【０１３２】
このように、本発明は、とりわけ有限要素法によってロボットの少なくとも１つのターミナルエフェクタの望ましい軌道を得ることを可能とする１セットのアクチュエータ（単数または複数）によって変形可能ロボットを制御し、且つこのアクチュエータのセットが非常に多くのアクチュエータからなる時でさえもそうすることをリアルタイムで可能とする。
【０１３３】
一実施の形態では、互換性作動ゾーン（すなわちターミナルエフェクタに対する同様の変位を生成するゾーン）に関連する行は、コンプライアンス行列に組み合わされてリアルタイム制御の演算を単純化する。
【０１３４】
考察されているケースでは、制御の決定は、ロボット周りに存在する障害物の存在を考慮した。それにもかかわらず、本発明は、障害物が考慮されることなく実施され得る。この場合、考察されている行列とベクトルは、障害物に関連する行を全く含まない。
【０１３５】
考察されているケースでは、変形可能ロボットは、変形可能３次元（３Ｄ）構造体を備えていた。それにもかかわらず、本発明は、任意の数の次元に従って１Ｄ、２Ｄまたは３Ｄの変形可能ロボット幾何学形状に対して適用可能である。例えば、ロボットは、例えば、被作動フレキシブルチューブタイプの１次元構造体、または２Ｄ構造体、例えば、厚みが薄い被作動プレートに対応できる。
【０１３６】
なお、式（４）において、δｆｒｅｅはベクトルのための基準値として使用される。他の実施の形態では、先行する反復で演算されたベクトルδとλを考慮し、Ｐｅｔｅｒｌｉｋ，Ｉ．；Ｎｏｕｉｃｅｒ，Ｍ．；Ｄｕｒｉｅｒ，Ｃ．；Ｃｏｔｉｎ，Ｓ．＆  Ｋｈｅｄｄａｒによる論文「Ａ．Ｃｏｎｓｔｒａｉｎｔ−Ｂａｓｅｄ  Ｈａｐｔｉｃ  Ｒｅｎｄｅｒｉｎｇ  ｏｆ  Ｍｕｌｔｉｒａｔｅ  Ｃｏｍｐｌｉａｎｔ」Ｍｅｃｈａｎｉｓｍｓ  ＩＥＥＥ  Ｔｒａｎｓ．Ｈａｐｔｉｃｓ、ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ  Ｐｒｅｓｓ、２０１１、４、１７５−１８７のセクション３．２および３．４で示されるように、式（３）（４）を使用して現在の反復のためのこれらのベクトルの値を予測的に決定することができる。
【０１３７】
このように、本発明によれば、ロボットの外部（障害物等）またはその内部（例えば、アクチュエータの制限ストップ、機械的特性が制御可能である材料の局所的剛性化または反対に柔軟化）の任意のタイプの制約が考慮され得、内部接触（能動的：アクチュエータが構造体の二つの部品間の接触を生成するようになる、または受動的：変形が構造体の内部の接触を生成する）は、構造体の有効性を最適化するために使用され得る。それは、本発明に係る被減少コンプライアンス行列の演算であり、これらの制約に関連する行を組み込み、構造体の挙動の変更を駆動することができる。
【０１３８】
障害物４とロボット１との間の機械的相互作用のモデルは、ベクトルδの構造のために使用される（したがって、その結果、行列Ｊと行列Ｗのため）。また、それはステップ１０５においてロボットの位置を演算するアルゴリズムにおいて使用される。
【産業上の利用可能性】
【０１３９】
本発明の用途は、非常に幅広い範囲にわたり、使用の範囲は、例えば以下の分野におけるロボット工学の非常に広範囲を含んでいる。
‐  外科ロボット工学や脆弱環境におけるロボット：フレキシブルロボットは多数の利点を提供している。第１に、画像形成と互換性のない材料の使用を回避する「単一ブロックの」ロボットが製造できる。更に、外科において、制約の１つはロボットが患者を傷付けないことである：したがって、ロボットが患者の人体に接触するときに変形できるロボットを有することは有利である。
‐  医療ロボット工学：機能的装具（サイバー装具）の製造のために、関節の映画製作技術が関節装具に従うことが困難であるので、剛性ロボットの外骨格、特に無骨な外骨格を有さないことは有利である。提案されたアプローチは、患者の形態学に適合し且つ人体および状態に従って作動を最適化するフレキシブルな外骨格を使用することを可能とする。
‐  外骨格：上で説明したのと同じ理由で、フレキシブルな外骨格を使用することは有利である。
‐  生物模倣ロボット工学：人間または動物解剖に近似するロボットの製造のために、変形可能構造体を駆動して筋肉の役目を模倣することができることは有利である。
【０１４０】
一実施の形態では、ロボットは、少なくとも１つの剛性部品と少なくとも１つの変形可能部品を含むことができる：例えば、ロボットは、剛性アームとこの剛性アームに保持されたフレキシブルな針を含むことができ、このロボットは、その針を柔らかい組織に挿入しなければならない。
【図１】
0006382226.tif 000013
【図２】
0006382226.tif 000014
【図３】
0006382226.tif 000015
【図４】
0006382226.tif 000016