JP2016513021A - 変形可能ロボットの制御方法、関連モジュール、およびコンピュータプログラム - Google Patents

変形可能ロボットの制御方法、関連モジュール、およびコンピュータプログラム Download PDF

Info

Publication number
JP2016513021A
JP2016513021A JP2015556471A JP2015556471A JP2016513021A JP 2016513021 A JP2016513021 A JP 2016513021A JP 2015556471 A JP2015556471 A JP 2015556471A JP 2015556471 A JP2015556471 A JP 2015556471A JP 2016513021 A JP2016513021 A JP 2016513021A
Authority
JP
Japan
Prior art keywords
robot
vector
node
actuator
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015556471A
Other languages
English (en)
Other versions
JP6382226B2 (ja
Inventor
デュリエ,クリスチャン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Institut National de Recherche en Informatique et en Automatique INRIA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Institut National de Recherche en Informatique et en Automatique INRIA
Publication of JP2016513021A publication Critical patent/JP2016513021A/ja
Application granted granted Critical
Publication of JP6382226B2 publication Critical patent/JP6382226B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/08Gripping heads and other end effectors having finger members
    • B25J15/12Gripping heads and other end effectors having finger members with flexible finger members
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J18/00Arms
    • B25J18/06Arms flexible
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0006Exoskeletons, i.e. resembling a human figure
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1635Programme controls characterised by the control loop flexible-arm control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35017Finite elements analysis, finite elements method FEM
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40305Exoskeleton, human robot interaction, extenders
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45117Medical, radio surgery manipulator
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)
  • Complex Calculations (AREA)

Abstract

本発明は、ノードモデルによって定義され、アクチュエータ(2)によって変形可能なロボット(2)を制御する方法に関する。ロボットのエフェクタポイントは予め決められた道を進む必要がある。行列Kは、ノードの位置の変化に基づいて各ノードの内力の変化を定義する。前記方法は、ロボットのノードの現在位置に基づいて行列Kの値を更新し、ベクトルδ(x)のヤコビ行列Jの現在の値を決定し、xはノードの位置のベクトルであり、ベクトルδ(x)は、各エフェクタポイントの位置とその予め決められた道との間のギャップの座標および各アクチュエータの動き示す行を備え、行列W=J.K−1.JTの値を計算し、式δ=W.λ+δ0を解き、解に基づいてロボットを制御する。【選択図】図1

Description

本発明は、1セットのアクチュエータ(単数または複数)によって変形可能な少なくとも1つの部品を有するロボットを制御する方法に関し、1セットのポイント(単数または複数)の内、各ポイントはそのロボットのエフェクタポイント(単数または複数)と呼ばれ、且つ決定された軌道に従う必要があり、このロボットは、ノードのモデルと、ノードの位置の変化に応じて各ノードでロボットの内力の変化を定義する行列Kとによって定義される。
要約すると、1つのアクチュエータは、力および/または圧力および/またはトルクの形態で負荷を供給するロボットの1つの部品であり、その強さはロボットが受け取る制御の関数である。
ロボットを制御する「従来の」制御は、一般的にロボットの1つのアクチュエータまたは複数のアクチュエータと被決定移動が適用されるべきロボットの1つのポイントとの間の映画製作技術(cinematics)のモデル化に基づいており、前記ポイントはそのロボットのエフェクタポイントと呼ばれる。
このモデル化は、映画製作技術が関節チェーンである場合、得ることが比較的に容易であり、ロボットが、関節(しばしば、「完全」と考えられる)が配置される剛性セグメントおよび多分、これらのセグメントの相対移動を測定できるエンコーダから構成される。制御はリアルタイムで実行でき、しばしば分析的で比較的に単純な演算からロボットの構成を演算する。
既存のフレキシブルまたは変形可能ロボット、すなわちフレキシブルまたは変形可能材料から作られた少なくとも1つの部品を含むロボットは、特に脆弱環境、例えば外科ロボットが人間の体で動き回るのに良好に適している。また、これらのロボットはより頑健(衝撃に対する良好な抵抗)で、且つ(とりわけ3D印刷によって)製造がより容易である。
実際に使用されるフレキシブルまたは変形可能ロボットの大部分は、少数の自由度に制限されている、例えばロボットはフレキシブルクランプを含み、マイクロ操作のために使用される。これらの状況で、映画製作技術は比較的に単純なままであり、且つ全く単純に測定または事前演算可能である。
しかしながら、剛性ロボットと異なり、フレキシブルなロボットの自由度の数は不定でもよく、アクチュエータは、各エフェクタポイントがそれに関連する被決定移動に追従することができるように制御されるべき不定数のポイントに配置可能である。しかしながら、フレキシブルまたは変形可能多作動ロボットに関して実行されるべき作業は、とりわけ作動の自由度の数の多さのために、ロボットの制御の問題に直面する。
また、有限要素法、すなわちFEMは、フレキシブルロボットへ印加されるコマンドまたは負荷を知り、このフレキシブルロボットの挙動の決定が目標にされるとき、フレキシブルロボットをモデル化するために使用される。
FEMモデルによる決定の演算がリアルタイムで可能としても、その制御の困難さは、望ましい変形を発生する作動の値を得ることであり、したがって、それは必要とされるモデルの一種の反転である。
さて、逆問題を解決するためのFEMの使用は、一般的に必要とされる演算時間が法外であるので、今までは実施されることができなかった。
本発明は、リアルタイムでFEMモデルの被最適化反転に基づく有利な技術を提案することによって変形可能ロボットのアクチュエータの駆動で遭遇するこれらの問題の幾つかの軽減に寄与することを目的とする。
この目的を達成するために、第1の態様によれば、本発明は、上述のタイプのロボットを制御する方法であって、i番目の制御演算ステップに関して各アクチュエータに対して意図された制御を決定するために:
i/行列Kの値が前記ロボットの前記ノードの現在の位置の関数として更新され;
ii/ベクトルδ(x)のヤコビ行列Jの現在の値が決定され、ここで、xは前記ノードの位置ベクトルであり、ベクトルδ(x)は各エフェクタポイントに関連する少なくとも1つのサブセットの行(単数または複数)を含み、前記エフェクタポイントの位置と前記エフェクタポイントの被決定軌道との間の偏差の座標を示し、且つ少なくとも1つのサブセットの行(単数または複数)は各アクチュエータの変位を示し;
iii/行列W=J.K−1.Jの値が演算され、ここで、K−1はKの逆行列であり、JはJの転置行列であり;
iv/前記i番目の演算ステップでベクトルδおよびλの値を決定するために式δ=W.λ+δが解かれ、ここで、λは、エフェクタポイントに関連するベクトルδの各行に対して、ゼロ値を含む行と、アクチュエータに関連するベクトルδの各行に対して、指摘された変位に対応する前記アクチュエータによって発揮される負荷の値を含む行と、を含むベクトルであり、且つδは被決定値を含むベクトルであり;
v/各アクチュエータに対して意図された制御は、ベクトルδまたはλに対するステップiv/において決定された値の少なくとも関数として推論される方法を提案する。
そのような方法は、特に、幾つかのアクチュエータがロボットのフレキシブル材料から成る少なくとも1つの部品の変形を駆動することを可能とする場合において、1つ以上の端子エフェクタポイントに関する望ましい移動を生成すると共にアクチュエータを駆動するために必要とされる演算負荷を大きく減少するために、変形可能ロボットを駆動することを可能とする。
実施の形態において、本発明に係るロボットを制御する方法は、更に、以下の特徴の1つ以上を備える:
‐ 前記ベクトルδは、更に、前記ロボットの外部の制約を受けた前記ロボットのポイントの変位を指示する少なくとも1つのサブセットの行(単数または複数)を含み、且つ前記ベクトルλは、更に、指示された変位に対応するロボットの外部の制約によって発揮された力の値を指示する対応するサブセットの行(単数または複数)を含むこと;
‐ 1つのエフェクタポイントの被決定軌道に対応する位置は、前記エフェクタに関連するベクトルδ(x)の前記サブセットの行(複数)を得るために、1セットの前記ノード(単数または複数)の位置の、それぞれの補間係数に関連する補間によって決定された前記エフェクタポイントの位置から減算され、前記ヤコビ行列Jの同じサブセットの行(複数)において、前記ノードの対応する列における値が前記補間係数の関数であること;
‐ 1つのアクチュエータの固定ポイントは、各々が非ゼロ補間係数に関連するノード(単数または複数)の補間であり、且つ前記行列Jの少なくとも1つの行は、前記アクチュエータの作動の方向の関数として決定され、前記行の各項は、前記単数のノードまたは前記複数のノードの列における項から離間したゼロであること;
‐ i番目の制御演算ステップにおいて、
‐ K.Δx=p+f(xi−1)を立証するΔxが決定され、ここで、Δxはベクトルxの偏差を表し、ベクトルpは前記ロボットに発揮される外力を表し、Kはステップi/で更新された行列であり、xi−1は前記ノードの前記現在の位置ベクトルであり、且つf(xi−1)はロボットの現在位置におけるロボットへ発揮される内力のベクトルであること;
‐ xfree=xi−1+Δxが演算されること;
‐ ベクトルδ(xfree)の値が演算されること;および
‐ 式δ=W.λ+δが、δをδ(xfree)と等しくなるように取ることによってステップivで解かれること、
‐ ステップiii/において、式δ=W.λ+δがガウス‐ザイデルタイプの反復型アルゴリズムによって解され、作動の方向にリンクされた制約を組み込み、少なくとも1つのアクチュエータによって発揮されるストップ制限および/または最大負荷、および/またはロボットの外部からの制約の特徴を制限すること。
第2の態様によれば、本発明は、1セットのアクチュエータ(単数または複数)によって変形され得る少なくとも1つの部品を含むロボットを制御するコンピュータプログラムであって、前記ロボットのエフェクタポイント(単数または複数)と呼ばれる1セットのポイント(単数または複数)の各ポイントが、被決定軌道に従う必要があり、前記ロボットは、ノードのモデルと前記ノードの位置の偏差の関数として各ノードで前記ロボットの内力の偏差を定義する行列Kによって定義され、前記プログラムは、i番目の制御演算ステップに関する各アクチュエータに対して意図された制御を決定するために処理手段によって前記プログラムが実行されると、本発明の前記第1の態様に係る方法の前記ステップを実行する命令を備えるコンピュータプログラムを有する。
第3の態様によれば、本発明は、1セットのアクチュエータ(単数または複数)によって変形され得る少なくとも1つの部品を備えるロボットを制御するモジュールであって、前記ロボットのエフェクタポイント(単数または複数)と呼ばれる1セットのポイント(単数または複数)の各ポイントが、被決定軌道に従う必要があり、前記ロボットは、ノードのモデルと前記ノードの位置の偏差の関数として各ノードで前記ロボットの内力の偏差を定義する行列Kによって定義され、前記制御モジュールは、前記制御モジュールが、i番目の制御演算ステップへの各アクチュエータに対する意図された制御の決定がなされると、前記ロボットの前記ノードの現在の位置の関数として前記行列Kの値を更新して、次に、前記ベクトルδ(x)のヤコビ行列Jの現在の値を決定するように適合され、xは、前記ノードの位置ベクトルであり、前記ベクトルδ(x)は、各エフェクタポイントに対する少なくとも1つのサブセットの行(単数または複数)を含み、前記エフェクタポイントの位置とその被決定軌道との間の偏差の座標を指示し、且つ少なくとも1つのサブセットの行(単数または複数)は各アクチュエータの変位を指し;
前記制御モジュールは、行列W=J.K−1.J(ここで、K−1はKの逆行列であり、JはJの転置行列である)の値を演算し、前記i番目の演算ステップでベクトルδおよびλの値を決定することによって、式δ=W.λ+δ(ここで、λは、エフェクタポイントに関連するベクトルδの各行に対して、ゼロ値を含む行とアクチュエータに関連するベクトルδの各行に対して指示された変位に対応するアクチュエータによって発揮された負荷の値を含む行を含むベクトルであり、δは被決定値を含むベクトルである)を解くように適合され;
前記制御モジュールは、ベクトルδとλの前記被決定値の少なくとも関数として各アクチュエータに対して意図された制御を推論するのに適合することを特徴とするモジュールを提案する。
本発明の特徴と利点は、純粋に一例として与えられた以下の記述を添付図面を参照して読むことによって明らかになる。
本発明の一実施の形態の多作動変形可能ロボットを概略的に表している。 本発明の一実施の形態の方法のステップの流れ図である。 ベクトルδを表している。 二つのセクション4a,4bを備え、作動を受けた変形可能ロボットを表している。
図1は、例えばフレキシブルシリコーン等の変形可能材料から作られた構造体を備えるロボット1を表している。
本発明は、図2に表された一連のステップ100を繰り返す、ロボット1を制御する方法を提案している。
考察されるケースでは、ロボット1は3次元(3D)のロボットであり、原点Oと三つのX、Y、Z軸に関連する、Refと呼ばれる基準フレームに関連する空間において3Dに移動可能である。
ロボット1は、ロボットに変形を与える多数pのアクチュエータ2を備えている。この数pは任意の数でよく、ここで考察されるケースでは、8個であるように選択される。
アクチュエータは種々に種類の作動があり、例えば、
‐ 恐らく減速ギアを備える電気モータへのリンクによってロボットの構造体の一部品の回転または平行移動、および/または
‐ 一端で前記構造体に取り付けられ且つ他端でプーリを備えるモータに取り付けられたケーブルを引っ張ることによって得られる移動、および/または
‐ 圧縮空気または油圧によって作動できる前記構造体の内側の1つ以上の弾性ポケット、および/または
‐ 前記ロボットの前記構造体の局所変形を生じさせる、多数のアクチュエータ(例えば、圧電性または電場応答性ポリマーまたは形状記憶材料によって)に関して位置決めによる被分配多作動、を備えている。
アクチュエータによってロボットの構造体に印加される負荷は、力、圧力および/またはトルクよりなる。
また、ロボットは、ロボットのエフェクタポイント(単数または複数)と呼ばれるロボット1のm個のポイント3を更に備え、ポイントには各軌道が課される。
その数mは任意の数でよく、ここで考察されるケースでは3個である。
このように、エフェクタポイントPeffj、j=1〜m、は、ロボットを制御する方法の反復のi番目のステップでポイントPimpjに対応する課された位置に配置される必要がある。その課された軌道は、とりわけリアルタイム用途では、任意に変更可能である。
一実施の形態では、ロボット1のモビリティの環境は、多数nの障害物4を備えている。その数nは、任意の数でよく、ここで考察されるケースでは、2個であることが選択される。これらの障害物は、静止していてもよく(すなわち基準フレーム内で動かない)または既知の挙動を有して動的であってもよい。
障害物4と例えばコンタクト、レールリンク、フラットベアリングまたは他のそのようなタイプのであるロボット1との間に機械的相互作用のモデルがある。このモデル化は、とりわけ、障害物の関数としてロボットの制御を適合するために使用される。
変形可能ロボット1は、1セットのノードのモデルによって且つ剛性行列と呼ばれ、各ノードでの内力をノードの位置の関数として定義する関連する接線行列によって定義され、それによって、ロボットの変形、とりわけ非線形の変形をモデル化することが可能になる。
本ケースでは、ロボット1は、N個のノードのメッシングに関連する有限要素モデル、すなわちFEMによってモデル化される(特に、C.Felippa、「A systematic approach to the element−independent corotational dynamics of finite elements」、Technical Report、Center for Aerospace Structures、2000参照)。
ロボット1の変形の物理的モデルを定義することが可能な任意の他の方法、例えば「メッシュレス」タイプの公式、ガレルキン法等が、代わりに使用されてもよい。
本発明によれば、図2を参照すると、反復方法100は、各反復ステップの終わりで、障害物を考慮しながらエフェクタポイントを望ましい軌道の最良のものに従わせるロボット1の各アクチュエータの制御の内容を決定する。
一実施の形態では、この反復方法100は、ロボット1のドライバモジュールによって実施される。
一実施の形態では、ロボットのドライバモジュールは、メモリおよびマイクロプロセッサを備える。例えばFEMモデル、エフェクタの作動および障害物、およびソフトウエア命令を定義するデータは、このメモリに格納される。
また、以下に記述される方法100のステップは、メモリに格納されたソフトウエア命令がマイクロプロセッサ上で実行されるときに、ロボットのドライバモジュールによって実施される。
このように、本発明の一実施の形態において方法100のi番目の反復ステップで、以下のステップ101〜105が実施される。
xをN個のポイントの座標よりなるベクトルとすると、xi−1は、方法100の反復i−1で決定された作動の実施の終わりに、ロボットを定義するN個のポイントの現在の座標を備えるベクトルを指す。
このように、ステップ101で、方法100の反復i−1の終わりに得られるものとしてロボット1の位置を定義する、既知の値のこのベクトルxi−1が考察され、モデルと座標が反復i−1で決定された作動から座標が測定(閉ループモード決定)または推定(開ループモード決定)された。
ベクトルxは、同様に、この反復で決定される作動が一旦実施されると、方法100の現在の反復iの終わりに、ロボットを定義するN個のポイントの座標を備える。
n個の障害物の現在の位置、p個のアクチュエータの現在の位置およびm個のエフェクタポイントの各々にとって望ましい課された位置Pimpjが、決定される。
自由度は、考察される空間における可能なモビリティ(許可されたまたはそうではない)である。ロボットの各々のノードは、特定の数の自由度(例えば、1〜3の直交軸に関する平行移動および/またはこれらの軸の内の1つ以上の軸に関する回転)を有する。したがって、変形可能オブジェクトの自由度の全数は、ノード*N当りの自由度の数である。
自由度の考えは、エフェクタポイントにおよびアクチュエータに並びに障害物にリンクされる機械的リンク、すなわち制約にも当てはまる。
エフェクタポイントに対して、それは、被制御モビリティの数に関する(例えばエフェクタポイントの位置が制御されるならば、三つの自由度、したがって、δにおいてこのエフェクタポイントに対応する三つの行があり、他方、追加の三つの配向が制御される場合、それは、このエフェクタポイントに対してδにおいて合計6つの自由度を作る)。
各アクチュエータに対して、一般的に、1つの自由度(例えば平行移動または回転)があるに過ぎない。しかしながら、組合せアクチュエータ(平行移動+回転)があってもよい。この場合、アクチュエータは、二つの自由度を有する。
各障害物に対して、除去された自由度の数が考察される。例えば平面上のポイントが1つの方向においてのみ制約される(他の二つは、自由なままである)、したがって、制約は、1つの自由度を有する。他方、ポイントを行や曲線に従わせることは、二つの自由度を有する制約を必要とする。平行移動および回転を含むより複雑なリンクに対して、6つまでの自由度が除去され得る。
ここで、ベクトルδ(x)、ベクトルxの非線形関数を考察する。
δは、反復iの終わりに引き続いて考察される各エフェクタポイントに対して、反復iの終わりでエフェクタポイントに対して課された軌道とこのエフェクタポイントの位置との間の偏差の座標を指摘するエフェクタポイントに関連する行を備える。
考察されるケースでは、各エフェクタポイントに対して、エフェクタポイントの各自由度に対してδにおいて1つの行がある。
エフェクタポイントは、xによって与えられたN個のノードの位置から補間されたポイントとして考察される。
m個のエフェクタポイントの場合、X、Y、Z軸に関連する平行移動の各々において三つの自由度を有するこれら二つのエフェクタポイントの位置を制御するためにδにおいて3m個の行、または各々が6自由度を有するこれらm個のエフェクタポイントの位置と配向を制御するために6m個の行を有さなければならない。
次に、ベクトルδ(x)は、引き続いて考察されている各アクチュエータに対して、被作動ゾーンを補間するノードの位置のおよび作動の方向の可能な変更の関数として作動の方向への被作動ゾーンの変位を示す行を備える(実際には、ロボットの構造体が変形され且つケーブルが1つのゾーンで引き寄せるために使用される場合、そのケーブルの方向が変化する)。
アクチュエータは、空気圧または油圧タイプの物であり、被作動ゾーンの変位は、容量の変化を示すことが留意されるべきである。
ここで考察されるケースでは、各アクチュエータに対して、作動の各自由度に対してδにおける1つの行がある。
ベクトルδ(x)は、最終的に、引き続いて考察される各障害物に対して、ロボットの関連するゾーンにおける障害物と関連する制約を示す行を備える(例えばxによって与えられるN個のノードの位置の補間としてこの障害物に従うロボットのポイントの変位)。
考察されるケースでは、各障害物に対して、その障害物によって除去される可能性がある各自由度に対してδに1つの行がある。例えば平面を有するポイントの接点は、考察されるポイントがその平面に触れると、その平面に垂直な方向における自由度を除去する(そうでない場合、何も除去しない):この場合には、制約は、能動的であり、自由度を除去し、そうでない場合は、何も除去しないことが述べられる。
したがって、ベクトルδ(x)は、空間Rの空間Rに対する関数であり、Mは、m個のエフェクタポイントに対して集められた自由度の、p個のアクチュエータに対して集められた自由度のおよびn個の障害物に対して集められた自由度の合計である。
ここで、ベクトルδ(x)の、xに対する、ヤコビ行列である行列Jを考察する。
このように、この行列Jは、ベクトルxの変化の関数としてベクトルδ(x)の分散を線形的に記述することを可能とする:
Δδ(x)=J.Δx 式(1)
考察されている変化は、例えば反復i−1と反復iとの間のものであり:したがって、Δx=xi−i−1である。このように、アクチュエータに関連するΔδにおける値は、この変動Δx中、すなわち反復i−1と反復iとの間のアクチュエータの変位を指摘する。
λの各行がλの1つの行に対応する、ベクトルδと同じサイズMのベクトルλ(x)も考察する。このように、δの行n°kはλの行n°kが関連するものとして、同じエフェクタポイントまたは同じアクチュエータまたは同じ障害物の同じ自由度に関連する。
λにおいて、エフェクタポイントに対応する全ての行がゼロ値を有する。
そのための各行に関して、δにおいてアクチュエータ変位が指摘され、そのアクチュエータによってロボット1に発揮された対応する負荷(力、圧力、トルク)の強さがλに含まれる。
そのための各行に関して、δにおいて障害物の制約が指摘され、この行で考察される自由度に対応するロボット1の障害物によって発揮される対応する負荷の強さがλに含まれる。
方法100の反復i中に実行される処理動作によって、ベクトルδとλの値を決定することが可能となり、それによってアクチュエータの順序付けられるべき作動値を知ることができる。
行列Jによって取られる値がここで決定される。
Jが反復中に一定であることが考察される。
反復中にδの変化が式(1)によって決定される。
この行列Jは、ここで考察されるケース(6自由度がノードに対して考察される場合において6N)においてδの行の数に等しい多数Mの行、および3Nに等しい多数の列を備えている。
このように、Jの行n°kは、δの行n°kが関連するものと同じエフェクタポイントまたは同じアクチュエータの、または障害物の同じ自由度に関連している。
このように、1つのアクチュエータポイントの1自由度に関連するδの各行に対して、ヤコビ行列Jにおいて対応する1つの行がある。
エフェクタポイントがモデルの1つノードである場合には、次に、所与の自由度に対して、すなわちX、YまたはZ軸に関してそのポイントに関連する行列Jの行は、値が1であるこのノードに対するこの行上のノードのこの軸に関連する座標(またはX、YまたはZ軸に関して軸回りの回転rX、rY、rZに従っても)を除いて0で満たされる。
エフェクタポイントが1つのノードに対応しないが、複数のノード間のメッシングの要素に配されるポイントに対応する場合、すなわち、このポイントがこれらのノードの補間の関数から得られる場合、この補間関数は、このエフェクタポイントに対する行列Jの行を構成するために使用される(特に、C.Duriez、C.Guebert、M.Marchal、S.Cotin、L.Grisoniの「Interactive simulation of flexible needle insertions based on constraint models」、International Conference on Medical Image Computing and Computer Assisted Intervention、London、Unitied Kingdom、2009、pp.291−299;http://hal.inria.fr/inria‐00540334)。各自由度に対応する各行に対して、次に、これらのノードにのみ非ゼロ値があり、且つ使用された値は、補間関数におけるこのノードと関連する重みに対応する。
同様に、アクチュエータまたは障害物の自由度に関連するδの各行は、ヤコビ行列Jに対応する行を有している。
例えば選択されたアクチュエータがケーブルである場合、そのケーブルが引く方向(このアクチュエータの変位の方向、すなわちケーブルの自由度にも対応する)は、ケーブルが取り付けられるノード(単数または複数)に対応する列を選択することによって行列Jのこの行に格納される。
作動の方向におけるケーブルの変位およびロボットの構造体に関する作動のポイントに対応するδの行が導出されると、次に、行列Jにおいて、作動の方向に対する作動ポイントに対応する行上に、
‐ 作動ポイントを直接的には補間しないノードに対応する全ての列に対するゼロ、
‐ 作動ポイントを直接的に補間するノードに対応する全ての列に対する非ゼロ値が得られる。ノードのX、YおよびZに従う列の各々において、補間におけるノードの重みが乗算される作動の(一元の)方向がある。
例えば:
⇒作動ポイントPが以下の補間から得られる場合:P=α.N+β.N+γ.Nであり、ここで、N、NおよびNは、N個のノードの三つの現在のケースでの(O、X、Y、Z)におけるそれぞれの位置であり、且つα、βおよびγが0と1との間にあるα、βおよびγのノルムを有する補間の重みであり、α、βおよびγの合計が1に等しい場合であり、
且つ作動の方向が一元のベクトル
Figure 2016513021
によって示される場合、
J=[00...0ααα00....0βββ00.....0γγγ00...0]の対応する行であり、
ここで、α、各、α、各、αは、位置Nの考察されているノードのX、Y、Z軸に対する列において考察されている行の項であり、β、各β、各βは、位置Nの考察されているノードのX、Y、Z軸に関する列における項であり、且つz、z、zは、位置Nの考察されているノードのX、Y、Z軸に関連する列における項である。
圧力アクチュエータに対して、圧力で膨張または萎むメッシング要素、例えば三角形が選択される。圧力がキャビティ内で均一ならば、該当する三角形の全ては、その三角形に対する垂線とその三角形の面積に比例する重みを使用することによって行列J上の同じ行に寄与する。Jの構造体において、これは、有限要素モデルに圧力制約を課する従来の方法に対応する。この場合、アクチュエータに対応するδの行は、その制約に対応する行におけるキャビティの容量の値を含み、λの対応する行は、使用される圧力値を含む。
このように、一般的に、アクチュエータの固定ポイントは、各々が非ゼロ補間係数に関連するノード(単数または複数)の補間であり、そのアクチュエータの変位の方向は、行列Jの行に示され、前記行の各項が前記1つのノードまたは前記複数のノードの行から離間したゼロである。
外部環境の障害物とのロボットの相互作用に対して、変形可能媒体へのロボットの挿入をシミュレートするために上述の「Interactive simulation of flexible needle insertions based on constraint models」、すなわち衝突に対する応答に含まれるより一般的な形式論に対してのI.Peterlik、M.Nouicer、C.Duriez、S.Cotin、A.Kheddarの「Constraint−based haptic rendering of multirate compliant mechanisms」、EEE Trans.Haptics、vol.4、no.3、pp.175−187、Jul.2011、http://dx.doi.org/10.1109/TOH.2011.41)のように論文において記述されるような異なるタイプの制約を使用することが可能である。
1つの障害物に対して、前述の通り、ベクトルδのその障害物と関連する各行は、その障害物によって除去される可能性がある1自由度に対応している。
例えば点接触/面接触の場合、この行に対するδにおいて示される値は、ポイントからプレーンへの距離を測定し、δのこの値が正である場合、その制約は非能動化され、その値が負になる場合、その制約が能動化されて0に等しい値に戻る。
同様に、1つの障害物に対して、行列Jの各対応する行は、ノードの移動の関数として障害物によって除去される可能性がある1つの自由度または複数の自由度の移動に対応している。
点接触/面接触の同じ例に対して、Jの考察されている行を構成するために、二つの情報項目が基本として使用される:
‐ ポイントPの移動の補間:(例えば)P=α.N+β.N+γ.Nであり、ここで、N、NおよびNは、N個のノードの内の三つのそれぞれの位置であり、且つα、βおよびγは、0と1との間にあるα、βおよびγのノルムを有する補間の重みであり、且つα、βおよびγの合計は1に等しいこと。
‐ 一元のベクトルn:
Figure 2016513021
によって示される平面に対して垂直な方向
次に、J=[00...0ααα00....0βββ00.....0γγγ00...0]であり、
ここで、α、各α、各αは、位置Nの考察されているノードのX、Y、Z軸の関連する列における考察されている行の項であり、;β、各β、各βは、位置Nの考察されているノードのX、Y、Z軸の関連する列における項であり、且つz、z、zは、位置Nの考察されているノードのX、Y、Z軸の関連する列における項である。
何れにしても、一旦構成された決定方法、ヤコビ行列Jは、ゼロ値で大部分充填される。したがって、中空行列フォーマットを使用してそれを格納することができる。
制御によって発生した変形可能ロボットの広範囲に及ぶ変形を考慮して、使用された有限要素モデルは非線形である。
他方、このモデルの線形化は、各反復iに対して実行され、それによって正接行列K(x)=df/dxを演算することが可能となる。
動的有限要素モデルが使用される場合、非線形モデルの正接行列の演算を必要とする陰積分法または半積分法が使用される。
ここで考察されているケースでは、ノードの位置ベクトルXの関数として内力のベクトルfを演算する静的有限要素モデルが使用される。
ステップ102で、N個のノードの位置の関数として各ノードで内力を定義する剛性の正接行列Kの値は、これらのN個のノードのd個の被決定現在位置xi−1の関数として再更新される。
順当に更新された行列KはK(xi−1)と呼ばれる。
ここで考察されているケースでは、Kのサイズは3N3Nである。
次に、内力の線形化は、ノードの位置xi−1に基づいて演算される:
Figure 2016513021
であり、
Δx=xi−i―1である。
現在の反復iで静的平衡を確立するために(ロボット1の外力と内力の合計が、ノードの全てにわたってゼロに等しい)、その結果は等式:
Figure 2016513021
であり、
ここで、ベクトルPは、例えば重力よりなる既知の外力を表し、Jλは、本発明に従って考慮された制約(すなわちエフェクタポイント、アクチュエータおよび外部環境との機械的相互作用に関連するもの)の全ての寄与を組み合わせる。
行列Jは、ステップ101で演算されたものであり、且つベクトルλの現在の値は、決定されるべきである。
次に、ゼロベクトルに等しいベクトルλでロボットのモデルの式3の解に対応するロボット1の自由な構成が演算される。
順当に決定された対応位置は、xfree=xi−1+Δxfreeである。
行列Kは、非常に中が空である。この行列によって形成されるシステムを解くために、共役勾配法および例えば、LDLタイプの因数分解を有する直接法を使用することが可能である。
例えば、1000個のノードおよび3000個の四面体要素からなるロボット1のメッシングに対して、1つのロボットのリアルタイム制御に対応する60Hzのリフレッシュレートを得ることができる。
より複雑なメッシングを使用するために、LDL因数分解は、同期が解除され、且つ所謂「ワーピング」技術が使用される(例えば、H.Courtecuisse、J.Allard、C.Durez、およびS.Cotinの「Preconditioner−based contact response and application to cataract surgery」、Medical Image、 Computing and Computer−Assisted Intervention (MICCAI)、2001、http://www.lifl.fr/〜courtecu/参照)。
この得られた位置xfree(作動のおよび障害物の不在に対応する)からおよび式1から、ベクトルδfree=δ(xfree)=J.Δxfreeの値が決定される。
このステップ102では、行列Kの値は、ロボットのノードの現在の位置および選択された変形モデル:FEMモデルまたは物理学に基づく他のモデルの関数として更新される。実際に、動的モデルおよび陰時間積分法が選択され、Kもまた内力の線形化で重み付けされた合計に内力の線形化を含んでおり:次に、重み付けは、積分スキームと選択された時間ステップに依存している。全ての場合、Kの単一の値は、制御の演算の各ステップに対して使用されることが仮定される。
ステップ103で、Jがステップ101で決定された行列であり、Jが転置行列であり且つK−1がステップ102で得られる逆行列Kである、W=J.K−1.Jで、減少された次元空間において働くことを可能とする所謂減少されたコンプライアンス行列Wが演算される。
上述の自由構成の演算から、ベクトルδ:
δ= W.λ+δfree 式(4)
の変動を記述する新たな公式が得られる。
式(4)の形態におけるロボット1の制御の決定の公式は、解かれるべきシステムのサイズが、Mに等しい、行列Wのサイズ、ベクトルδのサイズ、すなわちエフェクタポイントの、アクチュエータのおよび障害物の自由度の数の追加に対応することを示している。換言すれば、二つのエフェクタポイント(合計6自由度に対応する)に関する位置で制御されたロボットに対して、5個のコンタクトポイント(合計5自由度に対応する)を有する10個のアクチュエータ(合計10自由度に対応する)によって、サイズ21のシステムが得られる。対照的に、従来の技術において、解決されるべきシステムのサイズは、ベクトルxのサイズ、すなわちリアルタイムで使用され得る平均サイズのメッシングに対して、1000と3000との間のサイズのシステムに対応する、ノード当りの自由度の数によって乗算される有限要素モデルによって使用されるノードの数Nに対応している。
Kの逆数の有効演算を可能とするために、特定の因数分解法が減少されたサイズ(3自由度を有する略300のノード)のメッシングのためにリアルタイムで使用可能である。行列Kが3直交ブロック行列の形態で配され得る線形ロボット構造体に対して、演算は、C.Duriez、S.Cotin、J.Lenoir、P.F.Neumannの「New approaches to catheter navigation for interventional radiology simulation」、Computer Aided Surgery、vol.11.pp.300−308、2006におけるような専用のソルバーで行うことが可能である。一般的に、行列Wの非常の良好な近似は、グラフィックプロセッサユニットGPUに適するアルゴリズムに依存する、上述の論文「Preconditioner−based contact response and application to cataract surgery」を使用することによって使用可能である。
コンプライアンス行列W=[wrjr,jを使用することによって、構造体のエフェクタポイントrとアクチュエータポイントjとの間の機械的カップリングを知ることができる。より具体的には、アクチュエータjによって構造体に印加される負荷λ(力、圧力またはトルク)の関数として行列J)の行rに格納された、1自由度(この自由度に対してエフェクタポイントン実際の位置とその望ましい位置との間の差の偏差に対応する)にわたる1つのエフェクタポイントrに生成された変位Δδの予想を得ることができ、そのために、制約の方向が行列Jの行jに格納され、以下のΔδ=wrjλが得られる。
以下において単純にするために、行列Jの行rに関連するアクチュエータjの位置は、「エフェクタr」と呼ばれ、列Jの行Jに関連するこのアクチュエータは、「アクチュエータj」と呼ばれる。
アクチュエータjの位置とエフェクタrの位置との間の映画リンクは、Δδ=Δδ.wrj/wijによって供給され、Δδは、アクチュエータjの位置の変動(作動の方向への)であり、Δδは、エフェクタrの位置の変動である。エフェクタが幾つかの自由度を有する場合、Δδとwrjは、自由度ほどの多くの行を有する。
以下において「アクチュエータk」と呼ばれる、行列Jの行kに関連する他のアクチュエータもまた、アクチュエータjの変位に影響を及ぼすことができ、またその逆もあり得る。
この機械的カップリングは行列Wを使用して知ることができ:アクチュエータjの自由度に関する対応する偏差はΔδ=wjkλ=Δδ.wjk/wkkである。
図4a,4bは、これらの映画リンクを示し、且つターミナルエフェクタr(図4a)へ変位Δδrを課すようにアクチュエータjの作動(λ、δ)が方向jに沿って如何に制御され得るかを表している。方向kに沿うアクチュエータkの他の1つの作動(λ、δ)は、アクチュエータj(図4b)に望ましくない変位Δδを引き起こす可能性がある。
ステップ104では、アクチュエータの位置のおよび環境にリンクされた制約の全ての、エフェクタポイントの位置xi−1および反復iの終わりでのエフェクタポイントの望ましい軌道を知ることの作動制御は、行列Wの関数として決定される。
エフェクタポイントに関連するベクトルδのr番目の行の項δ(x)を考察すると(考察されている例におけるrは、3m=32に等しい)、空間の異なる方向X、Y、Zにおけるそれらの実施の位置と望ましい位置との間の距離を示して、以下で詳述されるアルゴリズムの目的は、ロボットがδ(x)=0に到着するように変形されるように、アクチュエータ(作動位置に対するδの行におよび作動負荷に対するλの行に格納される)に関する位置(作動負荷に対応する)を識別することである。
この演算を実行するために使用され得るアルゴリズムの内、ガウス‐ザイデルタイプの反復型ソルバーがここでは選択される。このアルゴリズムの反復は、解が安定すると停止され、次に、被決定解の二つの反復の間の偏差が固定された閾値未満でなければならない。
各反復「it」に関して、アルゴリズムは、この式:
Figure 2016513021
に基づいてアクチュエータ間のカップリングを考慮するために、1つずつ、アクチュエータjの寄与λを更新すると共に他のアクチュエータの寄与λをそれらのアクチュエータの現在の値に凍結する。
ここで、δjはアクチュエータjに関連するベクトルδの行の項であり、λIT は反復it−1において決定されたアクチュエータkに関するベクトルλの行の項であり、pはアクチュエータの数であり、δfree,jはアクチュエータjに関連するベクトルδfreeの行の項である。
ガウス‐ザイデルタイプのアルゴリズムが使用されるので、アクチュエータjの局所的更新が実行されると、アクション0、...、j−1の凍結された寄与は、現在の反復itから起こり、他方、アクチュエータj、...、pの凍結された寄与は先行する反復it−1から起こる。アクチュエータjの局所的更新は、新たな寄与λIT を与え、方向rにおけるエフェクタポイントδの新たな位置は、
Figure 2016513021
を使用して更新される。
ここで、Δλは、アクチュエータjの局所的更新に続いて、アクチュエータjによって発揮される負荷λの変動を表している。
このように、アクチュエータjの更新中に、如何にアクチュエータがδの値を減少できるかできないかを判断することができる。
この更新が3Dに実行される場合、rは、考察されている1つのアクチュエータポイントに対してX、Y、Zに等しいように連続的に取られ、したがって、連続的に、δ、δ、δの値を与える。λの変動を課すことによって、移動はこのエフェクタポイント:
Figure 2016513021
に関して生成される。
ここで、wXj、各wYj、各wZjは、方向X、各Y、各Zに対して考察されたエフェクタポイントに関連する行上のおよびアクチュエータJに関連する列上の行列Wの項である。
ベクトル
Figure 2016513021
はδと呼ばれ、ベクトル
Figure 2016513021
はwと呼ばれる。
したがって、各反復itに関して、およびアクチュエータj上の各通路に関して、その目的は、δによって測定される考察中のエフェクタポイントに対する実際の位置と望ましい位置との間の距離を減少することである。しかしながら、アクチュエータjは、ベクトルw*によって与えられる方向にのみエフェクタポイントに対して移動を引き起こす。
その結果、Δλの新たな値は以下で求められる。
Figure 2016513021
この値は、
Figure 2016513021
を使用して得られる。
ここで、Δδ、ΔδおよびΔδは、δ、δおよびδの夫々の変動を表している。
式6は、1つのエフェクタポイントの実際の位置と望ましい位置との間の偏差を最良に修正するために1つのアクチュエータによって発揮される負荷の偏差を決定することを可能とする。
Δλのこの新たな値が与えられると、式(5)を使用してλIT とアクチュエータJの位置δを更新することが可能である。
アクチュエータjの更新された位置がアクチュエータjに関連した制限ストップを越えると、またはアクチュエータjの作動負荷の値λがアクチュエータのキャパシティを越えると、作動は、これらの制約を重んずるように制限される。
アクチュエータにリンクされた制約の内包は上述した。ロボットの自己衝突、接触または環境での他の制約を考慮するために、それには各追加の制約毎に考察されているシステムにおいて1つの行を追加することで十分である。各反復itに関して、アクチュエータにリンクされたこれらの制約が更新されると、これらの他の制約に対応する行が更新される。1つの一定の制約に対して、例えばSignorini’s lawが課され、接触jがあると、δit は最初に式(5)を使用して演算される。次に、Δλ=δit /wjjが演算される。次に、λit <0ならば、ただλit <0にすぎないならば、片務的制約がλit =0を課すことによって実行される。他のタイプの制約、例えば、針挿入が他のタイプの式(特に、既に引用された「Interactive simulation of flexible needle insertions based on constraint models」参照)で演算されてもよい。
アルゴリズムが集束すると障害物制約および対応するベクトルδを考慮してアクチュエータによって生成されるべき寄与を与える、ベクトルλが得られる。
冗長作動でチェックを実行することを可能とするガウス‐ザイデルアルゴリズムは、使用され得るアルゴリズムの内の丁度1つである。他のアルゴリズムは、エフェクタポイントの望ましい軌道を得るためにアクチュエータに印加される負荷/圧力を決定するように使用できる。
ステップ105で、アクチュエータによって供給される制約を示す制御はアクチュエータに供給され、次に、それらのアクチュエータはそれらの各制御を実行する。アクチュエータが位置に関して制御される場合、その制御は、アクチュエータに関連するδの各行における値の関数である。アクチュエータが負荷に関して制御される場合、その制御は、アクチュエータに関連するλの各行における値の関数である。
次に、これらの作動から生じる構成におけるロボット1のN個のノードの座標は、例えば、ベクトルxに次に格納される測定によって決定される。
他の実施の形態では、これらの作動から生じる構成におけるロボット1のN個のノードの座標は、
Xi = Xfree + K−1λ.
を使用して決定される。
このように、本発明は、とりわけ有限要素法によってロボットの少なくとも1つのターミナルエフェクタの望ましい軌道を得ることを可能とする1セットのアクチュエータ(単数または複数)によって変形可能ロボットを制御し、且つこのアクチュエータのセットが非常に多くのアクチュエータからなる時でさえもそうすることをリアルタイムで可能とする。
一実施の形態では、互換性作動ゾーン(すなわちターミナルエフェクタに対する同様の変位を生成するゾーン)に関連する行は、コンプライアンス行列に組み合わされてリアルタイム制御の演算を単純化する。
考察されているケースでは、制御の決定は、ロボット周りに存在する障害物の存在を考慮した。それにもかかわらず、本発明は、障害物が考慮されることなく実施され得る。この場合、考察されている行列とベクトルは、障害物に関連する行を全く含まない。
考察されているケースでは、変形可能ロボットは、変形可能3次元(3D)構造体を備えていた。それにもかかわらず、本発明は、任意の数の次元に従って1D、2Dまたは3Dの変形可能ロボット幾何学形状に対して適用可能である。例えば、ロボットは、例えば、被作動フレキシブルチューブタイプの1次元構造体、または2D構造体、例えば、厚みが薄い被作動プレートに対応できる。
なお、式(4)において、δfreeはベクトルのための基準値として使用される。他の実施の形態では、先行する反復で演算されたベクトルδとλを考慮し、Peterlik,I.;Nouicer,M.;Durier,C.;Cotin,S.& Kheddarによる論文「A.Constraint−Based Haptic Rendering of Multirate Compliant」Mechanisms IEEE Trans.Haptics、IEEE Computer Society Press、2011、4、175−187のセクション3.2および3.4で示されるように、式(3)(4)を使用して現在の反復のためのこれらのベクトルの値を予測的に決定することができる。
このように、本発明によれば、ロボットの外部(障害物等)またはその内部(例えば、アクチュエータの制限ストップ、機械的特性が制御可能である材料の局所的剛性化または反対に柔軟化)の任意のタイプの制約が考慮され得、内部接触(能動的:アクチュエータが構造体の二つの部品間の接触を生成するようになる、または受動的:変形が構造体の内部の接触を生成する)は、構造体の有効性を最適化するために使用され得る。それは、本発明に係る被減少コンプライアンス行列の演算であり、これらの制約に関連する行を組み込み、構造体の挙動の変更を駆動することができる。
障害物4とロボット1との間の機械的相互作用のモデルは、ベクトルδの構造のために使用される(したがって、その結果、行列Jと行列Wのため)。また、それはステップ105においてロボットの位置を演算するアルゴリズムにおいて使用される。
本発明の用途は、非常に幅広い範囲にわたり、使用の範囲は、例えば以下の分野におけるロボット工学の非常に広範囲を含んでいる。
‐ 外科ロボット工学や脆弱環境におけるロボット:フレキシブルロボットは多数の利点を提供している。第1に、画像形成と互換性のない材料の使用を回避する「単一ブロックの」ロボットが製造できる。更に、外科において、制約の1つはロボットが患者を傷付けないことである:したがって、ロボットが患者の人体に接触するときに変形できるロボットを有することは有利である。
‐ 医療ロボット工学:機能的装具(サイバー装具)の製造のために、関節の映画製作技術が関節装具に従うことが困難であるので、剛性ロボットの外骨格、特に無骨な外骨格を有さないことは有利である。提案されたアプローチは、患者の形態学に適合し且つ人体および状態に従って作動を最適化するフレキシブルな外骨格を使用することを可能とする。
‐ 外骨格:上で説明したのと同じ理由で、フレキシブルな外骨格を使用することは有利である。
‐ 生物模倣ロボット工学:人間または動物解剖に近似するロボットの製造のために、変形可能構造体を駆動して筋肉の役目を模倣することができることは有利である。
一実施の形態では、ロボットは、少なくとも1つの剛性部品と少なくとも1つの変形可能部品を含むことができる:例えば、ロボットは、剛性アームとこの剛性アームに保持されたフレキシブルな針を含むことができ、このロボットは、その針を柔らかい組織に挿入しなければならない。

Claims (13)

  1. ‐ 1セットのアクチュエータ(単数または複数)(2)によって変形可能な少なくとも1つの部品を有するロボット(1)を制御する方法であって、1セットのポイント(単数または複数)(3)の内、各ポイントは前記ロボットのエフェクタポイント(単数または複数)と呼ばれ、且つ決定された軌道に従う必要があり、前記ロボットは、ノードのモデルと、ノードの位置の変化に応じて各ノードで前記ロボットの内力の変化を定義する行列Kとによって定義され、前記方法は、
    i番目の制御演算ステップにおいて各アクチュエータに対して意図された制御を決定するために:
    i/前記行列Kの値が前記ロボットの前記ノードの現在の位置の関数として更新され;
    ii/ベクトルδ(x)のヤコビ行列Jの現在の値が決定され、ここで、xは前記ノードの位置ベクトルであり、ベクトルδ(x)は各エフェクタポイントに関連する少なくとも1つのサブセットの行(単数または複数)を含み、前記エフェクタポイントの位置と前記エフェクタポイントの被決定軌道との間の偏差の座標を示し、且つ少なくとも1つのサブセットの行(単数または複数)は各アクチュエータの変位を示し;
    iii/行列W=J.K−1.Jの値が演算され、ここで、K−1はKの逆行列であり、JはJの転置行列であり;
    iv/前記i番目の演算ステップでベクトルδおよびλの値を決定するために式δ=W.λ+δが解かれ、ここで、λは、エフェクタポイントに関連するベクトルδの各行に対して、ゼロ値を含む行と、アクチュエータに関連するベクトルδの各行に対して、指摘された変位に対応する前記アクチュエータによって発揮される負荷の値を含む行と、を含むベクトルであり、且つδは被決定値を含むベクトルであり;
    v/各アクチュエータに対して意図された制御は、ベクトルδまたはλに対するステップiv/において決定された値の少なくとも関数として推論されることを特徴とする方法。
  2. ‐ 前記ベクトルδは、更に、前記ロボットの外部の制約を受けた前記ロボットのポイント(4)の変位を指示する少なくとも1つのサブセットの行(単数または複数)を含み、且つ前記ベクトルλは、更に、指示された変位に対応するロボットの外部の制約によって発揮された力の値を指示する対応するサブセットの行(単数または複数)を含むことを特徴とする、請求項1記載のロボット(1)を制御する方法。
  3. ‐ 1つのエフェクタポイントの被決定軌道に対応する位置は、前記エフェクタに関連するベクトルδ(x)の前記サブセットの行(複数)を得るために、1セットの前記ノード(単数または複数)の位置の、それぞれの補間係数に関連する補間によって決定された前記エフェクタポイントの位置から減算され、前記ヤコビ行列Jの同じサブセットの行(複数)において、前記ノードの対応する列における値が前記補間係数の関数であることを特徴とする、請求項1または2記載のロボット(1)を制御する方法。
  4. ‐ 1つのアクチュエータ(2)の固定ポイントは、各々が非ゼロ補間係数に関連するノード(単数または複数)の補間であり、且つ前記行列Jの少なくとも1つの行は、前記アクチュエータの作動の方向の関数として決定され、前記行の各項は、前記単数のノードまたは前記複数のノードの列における項から離間したゼロであることを特徴とする、先行請求項の何れか1項記載のロボット(1)を制御する方法。
  5. ‐ i番目の制御演算ステップにおいて、
    ‐ K.Δx=p+f(xi−1)を立証するΔxが決定され、ここで、Δxはベクトルxの偏差を表し、ベクトルpは前記ロボットに発揮される外力を表し、Kはステップi/で更新された行列であり、xi−1は前記ノードの前記現在の位置ベクトルであり、且つf(xi−1)はロボットの現在位置におけるロボットへ発揮される内力のベクトルであること;
    ‐ xfree=xi−1+Δxが演算されること;
    ‐ ベクトルδ(xfree)の値が演算されること;および
    ‐ 式δ=W.λ+δが、δをδ(xfree)と等しくなるように取ることによってステップivで解かれることを特徴とする、先行請求項の何れか1項記載のロボット(1)を制御する方法。
  6. ‐ ステップiii/において、式δ=W.λ+δがガウス‐ザイデルタイプの反復型アルゴリズムによって解かれ、作動の方向にリンクされた制約を組み込み、少なくとも1つのアクチュエータによって発揮されるストップ制限および/または最大負荷、および/またはロボットの外部からの制約の特徴を制限することを特徴とする、先行請求項の何れか1項記載のロボット(1)を制御する方法。
  7. 1セットのアクチュエータ(2)(単数または複数)によって変形され得る少なくとも1つの部品を含むロボットを制御するコンピュータプログラムであって、前記ロボットのエフェクタポイント(単数または複数)と呼ばれる1セットのポイント(3)(単数または複数)の各ポイントが被決定軌道に従う必要があり、前記ロボットは、ノードのモデルと前記ノードの位置の偏差の関数として各ノードで前記ロボットの内力の偏差を定義する行列Kによって定義され、前記プログラムは、i番目の制御演算ステップに関する各アクチュエータに対して意図された制御を決定するために処理手段によって前記プログラムが実行されると、請求項1〜6の何れか1項記載の方法の前記ステップを実行する命令を備えることを特徴とするコンピュータプログラム。
  8. 1セットのアクチュエータ(2)(単数または複数)によって変形され得る少なくとも1つの部品を備えるロボット(1)を制御するモジュールであって、前記ロボットのエフェクタポイント(単数または複数)と呼ばれる1セットのポイント(単数または複数)の内、各ポイントが被決定軌道に従う必要があり、前記ロボットは、ノードのモデルと前記ノードの位置の偏差の関数として各ノードで前記ロボットの内力の偏差を定義する行列Kによって定義され、前記制御モジュールは、前記制御モジュールが、i番目の制御演算ステップへの各アクチュエータに対する意図された制御の決定がなされると、前記ロボットの前記ノードの現在の位置の関数として前記行列Kの値を更新して、次に、前記ベクトルδ(x)のヤコビ行列Jの現在の値を決定するように構成され、xは、前記ノードの位置ベクトルであり、前記ベクトルδ(x)は、各エフェクタポイントに対する少なくとも1つのサブセットの行(単数または複数)を含み、前記エフェクタポイントの位置とその被決定軌道との間の偏差の座標を指示し、且つ少なくとも1つのサブセットの行(単数または複数)は各アクチュエータの変位を指し;
    前記制御モジュールは、行列W=J.K−1.J(ここで、K−1はKの逆行列であり、JはJの転置行列である)の値を演算し、前記i番目の演算ステップでベクトルδおよびλの値を決定することによって、式δ=W.λ+δ(ここで、λは、エフェクタポイントに関連するベクトルδの各行に対して、ゼロ値を含む行とアクチュエータに関連するベクトルδの各行に対して指示された変位に対応するアクチュエータによって発揮された負荷の値を含む行を含むベクトルであり、δは被決定値を含むベクトルである)を解くように構成され;
    前記制御モジュールは、ベクトルδとλの前記被決定値の少なくとも関数として各アクチュエータに対して意図された制御を推論するように構成されることを特徴とするモジュール。
  9. ‐ 前記ロボットの外部の制約を受けた前記ロボットのポイント(4)の変位を指示する少なくとも1つのサブセットの行(単数または複数)を含むベクトルδと、指示された変位に対応するロボットの外部の制約によって発揮された力の値を指示する対応するサブセットの行(単数または複数)を含むベクトルλを決定することを特徴とする請求項8記載のロボット(1)を制御するモジュール。
  10. ‐ 1つのエフェクタポイントの被決定軌道に対応する位置を、前記エフェクタに関連するベクトルδ(x)の前記サブセットの行(複数)を得るために、1セットの前記ノード(単数または複数)の位置の、それぞれの補間係数に関連する補間によって決定された前記エフェクタポイントの位置から減算し、前記ヤコビ行列Jの同じサブセットの行(複数)において、前記ノードの対応する列における値が前記補間係数の関数に応じて決定されることを特徴とする、請求項8または9記載のロボット(1)を制御するモジュール。
  11. ‐ 各々が非ゼロ補間係数に関連するノード(単数または複数)の補間として1つのアクチュエータ(2)の固定ポイントを決定し、前記アクチュエータの作動の方向の関数として前記行列Jの少なくとも1つの行を決定し、前記行の各項は、前記単数のノードまたは前記複数のノードの列における項から離間したゼロであることを特徴とする、請求項8〜10の何れか1項記載のロボット(1)を制御するモジュール。
  12. ‐ i番目の制御演算ステップにおいて、
    ‐ K.Δx=p+f(xi−1)を立証するΔxを決定し、ここで、Δxはベクトルxの偏差を表し、ベクトルpは前記ロボットに発揮される外力を表し、Kはステップi/で更新された行列であり、xi−1は前記ノードの前記現在の位置ベクトルであり、且つf(xi−1)はロボットの現在位置におけるロボットへ発揮される内力のベクトルであること;
    ‐ xfree=xi−1+Δxを演算し;
    ‐ ベクトルδ(xfree)の値を演算し;
    ‐ 式δ=W.λ+δ0が、δ0をδ(xfree)と等しくなるように取ることによってステップivで解くように構成される、ことを特徴とする、請求項8〜11の何れか1項記載のロボット(1)を制御するモジュール。
  13. ‐ 作動の方向、および/または制限ストップ、および/または少なくとも1つのアクチュエータの最大負荷、および/または前記ロボットの外部の制約の特徴を組み込むことによって、ガウス‐ザイデルタイプの反復型アルゴリズムによって式δ=W.λ+δ0を解くように構成されることを特徴とする、請求項8〜12の何れか1項記載のロボット(1)を制御するモジュール。
JP2015556471A 2013-02-08 2014-02-04 変形可能ロボットの制御方法、関連モジュール、およびコンピュータプログラム Active JP6382226B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1351106 2013-02-08
FR1351106A FR3002047B1 (fr) 2013-02-08 2013-02-08 Procede de commande d'un robot deformable, module et programme d'ordinateur associes
PCT/EP2014/052169 WO2014122134A1 (fr) 2013-02-08 2014-02-04 Procédé de commande d'un robot déformable, module et programme d'ordinateur associés

Publications (2)

Publication Number Publication Date
JP2016513021A true JP2016513021A (ja) 2016-05-12
JP6382226B2 JP6382226B2 (ja) 2018-08-29

Family

ID=48570248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015556471A Active JP6382226B2 (ja) 2013-02-08 2014-02-04 変形可能ロボットの制御方法、関連モジュール、およびコンピュータプログラム

Country Status (6)

Country Link
US (1) US9701013B2 (ja)
EP (1) EP2954429B1 (ja)
JP (1) JP6382226B2 (ja)
ES (1) ES2886527T3 (ja)
FR (1) FR3002047B1 (ja)
WO (1) WO2014122134A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016458A (ja) * 2015-07-02 2017-01-19 キヤノン株式会社 シミュレーション方法及びシミュレーション装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110722563A (zh) * 2019-10-29 2020-01-24 南京南邮信息产业技术研究院有限公司 一种变刚度软体机器人的建模方法
CN112936226B (zh) * 2021-01-29 2023-09-05 清华大学 并混联机器人末端笛卡尔空间的刚度建模方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07112382A (ja) * 1993-10-19 1995-05-02 Mitsubishi Heavy Ind Ltd 多関節ロボットの制御方法
JPH10333723A (ja) * 1997-05-28 1998-12-18 Nec Corp 多自由度マニピュレータの位置決め装置及び位置決め方法並びにそれを実行するためのプログラムを格納した記録媒体
JP2009032189A (ja) * 2007-07-30 2009-02-12 Toyota Motor Corp ロボットの動作経路生成装置
US20100228396A1 (en) * 2007-08-28 2010-09-09 The University Of Surrey Inverse kinematics

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8004229B2 (en) * 2005-05-19 2011-08-23 Intuitive Surgical Operations, Inc. Software center and highly configurable robotic systems for surgery and other uses
US7390309B2 (en) * 2002-09-23 2008-06-24 Honda Motor Co., Ltd. Human assist system using gravity compensation control system and method using multiple feasibility parameters
US7859540B2 (en) * 2005-12-22 2010-12-28 Honda Motor Co., Ltd. Reconstruction, retargetting, tracking, and estimation of motion for articulated systems
US8924021B2 (en) * 2006-04-27 2014-12-30 Honda Motor Co., Ltd. Control of robots from human motion descriptors
US8620473B2 (en) * 2007-06-13 2013-12-31 Intuitive Surgical Operations, Inc. Medical robotic system with coupled control modes
JP5506823B2 (ja) * 2009-12-28 2014-05-28 本田技研工業株式会社 ロボットの制御装置
JP5506618B2 (ja) * 2009-12-28 2014-05-28 本田技研工業株式会社 ロボットの制御装置
EP2572837B1 (en) * 2010-08-31 2014-06-11 Kabushiki Kaisha Yaskawa Denki Robot, robot system, robot control device, and state determining method
JP5306313B2 (ja) * 2010-12-20 2013-10-02 株式会社東芝 ロボット制御装置
US8670869B2 (en) * 2011-05-25 2014-03-11 Honda Motor Co., Ltd. Robot controller
US8504208B2 (en) * 2011-05-25 2013-08-06 Honda Motor Co., Ltd. Mobile object controller and floor surface estimator
US10027952B2 (en) * 2011-08-04 2018-07-17 Trx Systems, Inc. Mapping and tracking system with features in three-dimensional space
US9539726B2 (en) * 2012-04-20 2017-01-10 Vanderbilt University Systems and methods for safe compliant insertion and hybrid force/motion telemanipulation of continuum robots
WO2014043702A1 (en) * 2012-09-17 2014-03-20 Rethink Robotics, Inc. Constraining robotic manipulators with redundant degrees of freedom
US9481086B2 (en) * 2015-02-18 2016-11-01 Disney Enterprises, Inc. Control method for floating-base robots including generating feasible motions using time warping

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07112382A (ja) * 1993-10-19 1995-05-02 Mitsubishi Heavy Ind Ltd 多関節ロボットの制御方法
JPH10333723A (ja) * 1997-05-28 1998-12-18 Nec Corp 多自由度マニピュレータの位置決め装置及び位置決め方法並びにそれを実行するためのプログラムを格納した記録媒体
JP2009032189A (ja) * 2007-07-30 2009-02-12 Toyota Motor Corp ロボットの動作経路生成装置
US20100228396A1 (en) * 2007-08-28 2010-09-09 The University Of Surrey Inverse kinematics
JP2010537831A (ja) * 2007-08-28 2010-12-09 ザ ユニバーシティー オブ サリー 逆運動学

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016458A (ja) * 2015-07-02 2017-01-19 キヤノン株式会社 シミュレーション方法及びシミュレーション装置

Also Published As

Publication number Publication date
FR3002047A1 (fr) 2014-08-15
JP6382226B2 (ja) 2018-08-29
EP2954429B1 (fr) 2021-06-09
EP2954429A1 (fr) 2015-12-16
WO2014122134A1 (fr) 2014-08-14
FR3002047B1 (fr) 2015-02-27
US20150360367A1 (en) 2015-12-17
ES2886527T3 (es) 2021-12-20
US9701013B2 (en) 2017-07-11

Similar Documents

Publication Publication Date Title
Coevoet et al. Software toolkit for modeling, simulation, and control of soft robots
Zhang et al. Design and development of a topology-optimized three-dimensional printed soft gripper
Bieze et al. Finite element method-based kinematics and closed-loop control of soft, continuum manipulators
Duriez Control of elastic soft robots based on real-time finite element method
Singh et al. Modeling of continuum manipulators using pythagorean hodograph curves
Wang et al. Topology optimization of a cable-driven soft robotic gripper
Duriez et al. Framework for online simulation of soft robots with optimization-based inverse model
US8467904B2 (en) Reconstruction, retargetting, tracking, and estimation of pose of articulated systems
US7859540B2 (en) Reconstruction, retargetting, tracking, and estimation of motion for articulated systems
Schegg et al. Review on generic methods for mechanical modeling, simulation and control of soft robots
Gayle et al. Path planning for deformable robots in complex environments
US9260147B2 (en) Dynamic predictor for articulated mechanisms
JP6382226B2 (ja) 変形可能ロボットの制御方法、関連モジュール、およびコンピュータプログラム
Loo et al. H-infinity based extended kalman filter for state estimation in highly non-linear soft robotic system
Bae et al. Biped robot state estimation using compliant inverted pendulum model
Shabana Continuum-based geometry/analysis approach for flexible and soft robotic systems
JP5173958B2 (ja) 移動体姿勢生成方法および移動体姿勢生成装置
Otani et al. Generating assistive humanoid motions for co-manipulation tasks with a multi-robot quadratic program controller
Makiyeh et al. Indirect positioning of a 3d point on a soft object using rgb-d visual servoing and a mass-spring model
Khan et al. Management and intelligent decision-making in complex systems: an optimization-driven approach
US20240054393A1 (en) Learning Device, Learning Method, Recording Medium Storing Learning Program, Control Program, Control Device, Control Method, and Recording Medium Storing Control Program
Eldeeb et al. Geometrically consistent nonlinear plane strain and stress constitutive models: Application to soft-material oscillations
Sachin et al. Analytical modeling of a soft pneu-net actuator based on finite strain beam theory
Gunnarsson et al. Fast and simple interacting models of drape tool and ply material for handling free hanging, pre-impregnated carbon fibre material
Shivakumar et al. Decentralized estimation and control of a soft robotic arm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180801

R150 Certificate of patent or registration of utility model

Ref document number: 6382226

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250