JP2007515301A - 多軸ロボットの可動部分の変位を制御するための方法及び装置 - Google Patents

多軸ロボットの可動部分の変位を制御するための方法及び装置 Download PDF

Info

Publication number
JP2007515301A
JP2007515301A JP2006544503A JP2006544503A JP2007515301A JP 2007515301 A JP2007515301 A JP 2007515301A JP 2006544503 A JP2006544503 A JP 2006544503A JP 2006544503 A JP2006544503 A JP 2006544503A JP 2007515301 A JP2007515301 A JP 2007515301A
Authority
JP
Japan
Prior art keywords
path
target
robot
force
motion
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.)
Pending
Application number
JP2006544503A
Other languages
English (en)
Inventor
ジョリィ・リィク
Original Assignee
シュトイブリー・ファベルゲ
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 シュトイブリー・ファベルゲ filed Critical シュトイブリー・ファベルゲ
Publication of JP2007515301A publication Critical patent/JP2007515301A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • G05B19/21Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an incremental digital measuring device
    • G05B19/23Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an incremental digital measuring device for point-to-point control
    • G05B19/231Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an incremental digital measuring device for point-to-point control the positional error is used to control continuously the servomotor according to its magnitude
    • G05B19/237Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an incremental digital measuring device for point-to-point control the positional error is used to control continuously the servomotor according to its magnitude with a combination of feedback covered by G05B19/232 - G05B19/235

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Feedback Control In General (AREA)
  • Automobile Manufacture Line, Endless Track Vehicle, Trailer (AREA)

Abstract

この発明による方法は、少なくともパスの幾何形状(320)に関する情報と負荷の指令(310)を含む動き指令(300)をパス生成器(400)に供給する措置と、加える負荷の信号(800)を計算する措置と、この加える負荷の信号(800)をパス生成器(400)に伝える措置と、加える負荷の当該のパスの接線への射影と当該の指令のこの接線への射影との間の偏差を最小化する手法で、パスに沿った動き指令(500)を計算する措置と、ロボット(600)を操作するための手段に当該の動き指令(500)を伝える措置とで構成される。この制御を実施するための手段(200,400,700)を備えた装置も開示する。

Description

この発明は、多軸ロボットの可動部分の変位をパスに沿って制御するための方法及び装置に関する。
多軸ロボットの制御分野では、位置、速度及び電流に作用するPID(比例積分微分)型サーボ制御ループを用いて、多軸ロボットを制御して、工具又はグリップ部を取り付けることが可能なロボットの端末部分を所定の形状と速度プロフィルのパスに沿って動かすことが知られている。ロボットの可動部とそれらの周囲環境との間で互いに作用し合う力の関数として、アームの位置を変更することを可能とするために、各軸でのサーボ制御の剛性を低減する形で、そのようなロボットを制御することも知られている。例えば、特許文献1により、特に、直交座標系において、多軸ロボットのアームの剛性を設定するパラメータを使用し、位置の誤差を測定して、力を計算し、ロボットの可動部分の位置を修正して、端末部材における或る程度の柔軟性を得ることが知られている。接触力が、ロボット用にプログラミングされた動きに対抗する可能性がある、研磨、面取り、プレスからの引き抜きなどを目的として、取扱い部品の操作を行うために、そのような柔軟性を利用することができる。
例えば、面取り又は研磨のために、パスに沿って力のレベルを制御する形で操作を行うために、直交座標系で力目標を与えることも知られている。
周知のシステムでは、パスに沿って可動部分の速度又は加速度などのパラメータを規定することができるパスプログラミング・インタフェースが配備されている場合があり、これらのパラメータは、そのパスに沿ったロボットアームの端末部分の位置を時間の関数として決定するものである。
特許文献2により、パルス幅変調を使用して、ロボットの関節に関するブラシレスモータを数値制御することも知られている。
これらの周知のシステムでは、多軸ロボットをプログラミングして、一方において、速度と加速度の両方に関して、端末部分の移動パスを制御可能とし、他方において、可動部分とその周囲環境との間の接点におけるパスの接線方向の力も制御すると同時に、ロボットの機械的な構造に見合った速度と加速度の値に適合させることは容易ではない。
また、特許文献3は、通過したパスからロボットを逸らせて、処理する部品の実際の形状の関数としての力目標に適合させることを開示している。この例では、パスに従うことよりも、力の制御を優先しており、それは、精確にパスに従うことが必須である一定の用途には適合しない。
米国特許公開明細書第5742138−A号 米国特許公開明細書第4874997−A号 欧州特許公開明細書第0349291−A号
この発明の課題は、詳しくは、周囲環境とロボットの可動部、特に、それによって保持された部品又は工具との間の相互作用を精確に制御する方法を提案することによって、前述した欠点を解消することである。
この観点において、この発明は、多軸ロボットの可動部の動きをパスに沿って制御する方法に関し、その方法では、以下のことで構成される措置を規定するものである。
・動き指令が、少なくともパスの形状と力目標に関する情報を含み、これらの動き指令をパス生成器に提供すること、
・可動部分がその周囲環境に及ぼす力の少なくとも一つの成分を表す外力信号を計算すること、
・所定のサンプリング周波数で動作させて、外力信号をパス生成器に提供すること、
・外力のパスの接線への射影と目標のこの接線への射影との間の差分を最小化する手法で、パス生成器を用いて、並びに所定のサンプリング周波数で、パスに沿った動き目標を計算すること、
・ロボットの少なくとも一つの軸を動き目標に合致して動かすことができるサーボ制御手段に、動き目標を伝えること。
このようにして、接線力のサーボ制御により、パスの形状に沿うようにする一方、そのパスに可動部分の速度を適合させることが可能となる。
有利な形態では、多軸ロボットの可動部分の変位を制御する方法は、以下の特徴の中の一つ以上を組み入れることができる。
・ロボットの少なくとも一つのアクチュエータに流れる電流を表す情報から、外力信号を計算すること、
・当該の外力信号を計算する際に、当該のロボットの動的モデルを使用することで構成される措置を備えること、
・当該の動き目標を計算する際に、当該の目標が当該の限界値に準拠することを考慮するために、少なくとも一つの速度限界値と少なくとも一つの加速度限界値の両方又は一方を当該のパス生成器に供給することで構成される措置を備えること。
また、この発明は、前述した方法を実施可能するための装置、詳しくは、以下のものを備えた装置を規定する。
・少なくともパスの形状と力目標に関する情報を含む動き指令の関数として、動き目標を計算するのに適したパス生成器、
・当該のパス生成器は、外力のパスの接線への射影と力目標のこの接線への射影との間の差分を最小化する手法により、所定のサンプリング周波数で当該のパスに沿った当該の動き目標を計算するのに適しており、当該のロボットの少なくとも一つの軸を動かすことができるサーボ制御手段に当該の動き目標を伝える場合に、当該の可動部分がその周囲環境に及ぼす力の少なくとも一つの成分を表す外力信号を生成するとともに、この信号を所定のサンプリング周波数で当該のパス生成器に伝えるのに適した力の推定器。
有利には、この装置は、少なくともパスの形状と力目標を規定することができる動き指令を含むプログラムを実行するのに適したプログラムインタープリター手段を有する。
この発明の原理にもとづく方法の実施に関して、単に例を挙げるだけであり、添付の図面と関連して記載した、以下における記述を参照すると、この発明をより良く理解することができるとともに、その他の利点がより明確となる。
図1に図示したロボットRは、六関節型多軸ロボットである。このロボットは、六つの自由度に関して動くことができる。ロボットRは、デカルト座標モードで制御することができ、そのモードでは、自由度を、三つの軸X,Y,Zの方向に沿って変換される三つの自由度と、それらの軸の周りの回転Rx ,Ry ,Rz の三つの自由度とすることができる。このロボットは、関節モードでも制御することでき、そのモードでは、自由度を、関節の六つの蝶番運動軸X1 ,X2 ,X3 ,X4 ,X5 ,X6 の周りの六つの回転R1 ,R2 ,R3 ,R4 ,R5 ,R6 とすることができる。
このロボットは、訓練と実践段階の間、その操作を制御する制御ユニットUと繋がっている。
訓練段階の間、手動制御コンソールBを使用することも可能である。
図示した例では、ロボットRは、パスTに沿って移動させることができるフライスなどの工具Oを保持している。
図2でより詳しく見ることができる通り、ロボットRによって、切削する部品のエッジB1 に沿って工具Oを移動させることを考察する。パスTは、当該のエッジに対して、ほぼ平行である。工具OがエッジB1 に対して及ぼす力を符号Fで表示している。この力のパスTの接線に沿った成分を、符号FT で表示しており、この力のパスTに垂直な成分を、符号FN で表示している。
この発明では、接線成分FT の値を、工具Oの変位を制御する方法で使用する。
以下の記述において、符号Fを広く使用しており、ロボットアームの関節におけるトルクのベクトル、又はデカルト座標系による力Fx ,Fy ,Fz とデカルト座標系によるトルクMx ,My ,Mz を含む外力のトルソールを表すものとする。
図3に図示した通り、プログラミング環境100により、システムの利用者は、ロボットが所望の操作を行うように、ロボットをプログラミングすることが可能である。これらの操作は、プログラムによって記述される。このプログラミング環境により、ロボットが到達する連続的な位置を訓練することが可能であり、動きのシーケンスを記述するためにプログラムを書くことが可能であり、プログラムをデバッグすることが可能であり、プログラムを起動し、停止することなどが可能である。
プログラムを実行するために、プログラミング環境は、プログラムインタープリター200を使用している。このインタープリターは、ロボットにタスクを行わせるためのプログラムを実行する。特に、実行するプログラムは、動き指令として知られている命令300を含む。これらの命令は、ロボットが実行すべき動きの形式(直線、円等)とそれらを特徴付ける様々なパラメータ(目標点、速度、力等)を記述するものである。
動き指令300は、パス生成器400に転送される。パス生成器は、それらの指令を実行する役割を果たす、即ち、動きの形式と動きのパラメータの関数として、定期的に(典型的には、4ミリ秒(ms)毎に一回)動き目標500を生成する役割を果たす。これらの動き目標500は、各瞬間にロボットが従うべきパスを表す。サーボ制御による工業ロボット600は、サーボ制御システムと共に、六つの軸を持つ工業用アームを有する。サーボ制御システムは、ロボットによって実際に追従されるパスが、動き目標500で定義されるパスに出来る限り近い形で従うように、ロボットの(各軸に一つの)六つのモータを制御する形態に構成される。
一定の用途では、工業ロボット600の端末部材は、その周囲環境、例えば、切削する部品と互いに機械的に作用し合う。外力推定器700は、ロボットがその周囲環境に及ぼす力の値と方向を示す、外力800として表される信号を得るための手段を構成するものである。この信号は、リアルタイムで(典型的には、4ミリ秒(ms)毎に一回)パス生成器400に転送される。このパス生成器は、この戻りの情報を使用して、動き目標を修正し、互いに作用する力を調節する。
プログラミング環境は、ロボットが採るべき様々な位置を訓練することを可能とするために、ロボットを相互作用モードで移動させることができる制御コンソールを有する。このコンソールは、プログラムを記述し、デバッグするためのプログラミングインタフェースとしての役割も果たす。そのようなプログラムを記述するのに使用する言語は、テキスト言語であるが、この発明の文脈においては、その他の形式の言語(例えば、グラフィックス言語)を使用することができる。
ここで使用する言語は、ロボット用プログラミング言語で一般的な種類の命令を含み、これらの命令は、異なる形式の動きを規定し、動きの速度及び加速度を制御するとともに、どのように動きを配列するかも制御する役割を果たす。
例として、この発明に関係する二つの異なる命令の記述を以下に示す。
命令:MOVEJF(位置、工具、パラメータ、力)
この命令は、ロボットが、それが保持し、パラメータ「工具」によって定義された工具を、先行する動きの最終的な位置からパラメータ「位置」によって定義される位置に移動するように規定する。この移動は、関節モードで行われる、即ち、移動している時間において、各軸の変位の間の比率は一定である。パラメータ「パラメータ」は、移動の間に超えてはならない速度及び加速度を規定する。そのパラメータは、移動が、次の移動に続くか否かも規定する。パラメータ「力」は、移動の間にパスの接線方向の力に関する所望の値を規定する。「パラメータ」で定義された速度及び加速度の限界に到達しない限りにおいて、ロボットは、パラメータ「力」によって規定される値に出来る限り近い値に接線力を維持して、その変位をパスに沿って適合させるべきである。
命令:MOVELF(位置、工具、パラメータ、力)
この命令も同様である。唯一の相違点は、移動を直線で実行する必要があることである。
円形であるか、或いはスプライン等で規定されるパスを定義するのに、同様の命令を容易に想像することができる。
この発明では、これらの命令が、第一に、ロボットが従うべきパスの形状を定義し、第二に、ロボットが、その移動の間に及ぼすべき接線力の値を定義するものであることが重要である。
プログラムインタープリター200は、開発環境を用いて生成されたプログラムを実行する役割を果たす。動き指令を実行するために、利用者が規定するパラメータの有効性を検証し、次に動き指令300をパス生成器400に送る。動き指令300は、プログラム内で規定される値から得られる情報を含み、即ち、それらは、以下の通りである。
・310−パスの形状の定義:フラグは、パスのタイプ(関節又は直線)を示す。このタイプが「関節」であれば、始点q0と目標点q1の関節座標が与えられる。このタイプが「直線」であれば、始点x0と目標点x1のデカルト座標が与えられる。
・320−接線力目標:これは、ロボットの端部がその周囲環境に及ぼすデカルト座標系による力のノルムに関する所望の値desである。
・330−速度限界:ロボットの端部でのデカルト座標系による速度のノルムに関する限界値vmaxである。
・340−加速度限界:ロボットの端部でのデカルト座標系による加速度のノルムに関する限界値amaxである。
ここに述べる実施形態では、移動コマンド500は、六つのモータの角度位置qdesによって構成される。これらは、パス生成器によって、4ms毎に一回更新される。六つの位置目標qdes1,qdes2,...,qdes6の各々は、図4に図示された通り、モータ601,602,...,606の各々に対応するサーボ制御システムに送られる。
各モータは、位置及び速度センサーを備えている。各モータのサーボ制御は、比例積分微分(PID)型である。図5において、qdes,jは、軸j上での位置目標であり、qmes,jは、測定した位置、Kp,j,Ki,j,Kd,jは、PIDの各ゲインであり、Ides,jは電流目標、Imes,jは測定した電流、pは、ラプラス変数である。
この発明の文脈において、その他の位置サーボ制御技術を使用することもできる。例えば、デカップリング及び線形化技術によって、サーボ制御を行うことができる。このような環境下では、もはや軸毎にサーボ制御を実行することはできない。この例では、動き目標500は、各モータに関する所望の角度位置である。デカルト座標で表した、端末部材に関する所望の位置及び速度を使用することも可能である。連続的な位置増分又は各瞬間における各モータに関する所望の速度を動き目標とすることもできる。この発明で重要なポイントは、パス生成器400が、ロボットによって追従されるべきパスを計算するために、リアルタイムで動作することと、ロボットがそのパスに出来る限り近い形で追従することをサーボ制御システムが保証することである。
この発明の文脈において、ロボットが外部に及ぼす力を推定するためには、多くの手段が使用可能である。最も簡単なものは、ロボットの端部に力センサーを配置することで構成される。そのような環境下では、外力800は、デカルト座標で表される。ロボットの様々な位置で力センサー又はトルクセンサーを使用することも可能である。
図6に図示した提案する実施形態では、位置サーボ制御変数を用いて、外力を推定することが可能である解決法が望ましい。
使用する方法は、各モータに流れる電流Iを表す値701を必要とする。この例では、それは、サーボ制御システムで使用される測定した電流Imesに等しい。
I=Imes=[Imes,1 Imes,2 ... Imes,6]
同様に、以下の電流制御信号又はその他の測定した、或いは計算した、モータに流れる電流を示す変数を使用することが可能である。
I=Ides=[Ides,1 Ides,2 ... Ides,6]
使用するモータは、ブラシレスモータである。このタイプのモータに関する最も簡単なモデル702は、以下の通り、伝えるトルクCm703が、モータを流れる電流に比例することを考慮することで構成される。
Cm=Kt.I
この表現では、IとCmは、各軸に関係する情報を含むベクトルであり、Ktは、対角行列である。より複雑なモデルを702として使用することができる。
更に、使用する方法は、ロボット711の動き、例えば、それぞれベクトルq,dq/dt,d2 q/dt2 で表される、各モータの位置、速度、加速度を示す信号を必要としている。この例では、これらの値は、サーボ制御システムで使用されるセンサーの測定値又はその微分値から導き出される。
q=qmes
dq/dt=d(qmes)/dt
2 q/dt2 =d2 (qmes)/dt2
位置目標及びそれらの微分値を使用することも可能である:qde,d(qdes)/dt,d2 (qmes)/dt2
この情報と、例えば、ニュートン・オイラー方程式を用いて構築される、ロボットアームの動的モデル712にもとづき、ロボットが、外力713を及ぼさないものと仮定して、ロボットの各モータが理論的に生成すべきトルクを表すベクトルCdを計算する。
符号720において、差分を取って、ロボットがその周囲環境800に及ぼす力に対応するモータトルクの推定値を構成するベクトルCext800を導き出す。
Cext=Cm−Cd
図7は、どのようにして、パス生成器が使用するアルゴリズムを四つの部分に分割することができるのかを図示している。
接線力目標310、外力800及び曲線の形状320を出発点として、符号410でスカラー誤差変数420を計算する。速度及び加速度限界330と340は、符号430において、曲線320上に射影される。射影された速度及び加速度限界470にもとづき、並びに誤差変数420にももとづき、調節器430は、曲線440に沿った所望の動きを計算する。次に、符号450において、定義された曲線の形状320と定義された曲線に沿った動き440から、ロボットの動き目標500を計算する。
これらの四つの部分の各々は、以下の通り記述される。
A)誤差変数の計算(410〜420):直線での動き
直線での動きに関する誤差変数420の計算は、以下の通り記述される。以下に示す計算は、力目標310と外力800の間の差分の曲線320上への射影を計算することで構成される。
直線での動きの間において、デカルト座標系によるロボットの位置x(ベクトル)は、以下の通り、パラメータ表示形式で記述することができる。
x=x0+s.(x1−x0)
ここで、x0は、動きが始まるデカルト座標系による位置で、x1は、デカルト座標系による目標位置であり、sは、0〜1の範囲に有るスカラーパラメータである。上記の式は、以下の形式に書き換えることができる。
(式1) x=f(s)
この式を微分すると、以下の式が得られる。
(式2) v=dx/dt=df/ds.ds/dt
この式では、df/dsは、曲線の接線方向のデカルト座標系によるベクトルである。このデカルト座標系によるベクトルは、以下の通り、ユニタリーであり、曲線の接線方向を向いている。
u=(df/ds)/‖df/ds‖
この例では、力目標300は、デカルト座標系による接線力のノルムである。このようにして、デカルト座標系による所望の力ベクトルが、以下の通り与えられる。
(式3) Fdes=fdes.u
外力800は、関節トルクのベクトルCextで与えられる。この値は、以下の式を用いて、デカルト座標に変換することができる。
(式4) Fext=J-t.Cext
ここで、J-tは、ロボットの運動行列の転置逆行列である。
符号epsで記述される選択したコマンド変数420は、以下の通り、パスの接線上に射影された、所望の接線力と外力間の差分である。
eps=ut .(Fdes−Fext)
この計算は、すべての点において接線を定義することができることを意味する、微分可能である場合、使用する関数f(円、スプライン等)に関係無く有効である。
この計算は、力目標300が、デカルト座標系による力ベクトルのノルムであり、外力800が、関節の座標で与えられる特殊な場合に対して実行される。相応の座標変換公式を使用すること、例えば、式3と式4を置換することによって、如何なる座標系で与えられる状況も取り扱うことが可能である。
B)誤差変数の計算(410〜420):関節の動き
関節の動きを取り扱う場合、以下の通り、ロボットの関節の位置qをパラメータ形式で記述することができる。
q=q0+s.(q1−q0)
ここで、q0は、動きが開始する関節位置で、q1は、目標とする関節位置であり、sは、0〜1の範囲に有るスカラーパラメータである。上記の式は、以下の形式に書き換えることができる。
q=g(s)
それに対応するデカルト座標系による位置は、以下の通り与えられる。
x=k(q(s))
ここで、kは、ロボットの直接的な幾何学モデルである。
このようにして、関数fを選択することによって、デカルト座標系による動きと同様に、以下の通り、関節の動きを扱うことができる。
f(s)=k(q(s))
C)曲線に沿った速度及び加速度限界の射影(460)
この例では、速度限界は、デカルト座標で与えられる。言い換えると、ロボットの速度vのノルムが所定の速度vamxよりも小さく、デカルト座標系による加速度dv/dtのノルムが、所定の加速度amaxよりも小さいことが望ましい。
以下の値が定義される。
(式5) (ds/dt)max =min(vmax/‖df/ds‖);.sqrt (amax/‖df/ds‖‖)
(式6) (d2 s/dt2 max =(amax−‖df/ds‖.(ds/dt )max )/‖d2 f/ds2 ‖)
ここで、cは、定数であり、0<c<1、sqrt()は、平方根関数を示す。
以下の仮定を適用する。
|ds/dt|≦(ds/dt)max
|d2 s/dt2 |≦(d2 s/dt2 max
次に、式2から、以下の通りとなる。
‖v‖=‖df/ds.ds/dt‖
=‖df/ds‖.‖ds/dt‖
≦‖df/ds‖.(ds/dt)max
従って、式5から、以下の通りとなる。
‖v‖≦vmax
更に、式2を微分して、以下の式が得られる。
a=df/ds.d2 /dt2 +d2 f/ds2 .(ds/dt)2
そのため、以下の通りとなる。
‖a‖=‖df/ds.d2 s/dt2 +d2 f/ds2 .(ds/dt)2
≦‖df/ds‖.‖d2 s/dt2 ‖+‖d2 f/ds2 ‖.|ds/dt |2
≦‖df/ds‖.(d2 s/dt2 max +‖d2 f/ds2 ‖.(ds/ dt)max 2
式5と式6の定義を用いて、以下の式が得られる。
‖a‖≦amax
このようにして、(ds/dt)max と(d2 s/dt2 max の値は、sの微分の限界を定義し、このことは、デカルト座標系による速度及び加速度の限界を満足することを保証するものである。従って、デカルト座標系による速度及び加速度の限界のsの座標への射影が存在すると考えることができる。
同様に、前の計算で関数fの代わりに、関数h(s)=k-1(f(s))を使用することによって、関節の速度と加速度の両方又は一方の限界を得ることが可能である。
D)調節器(430)
調節器430の関数は、誤差変数を出来る限り零420に近い形で維持するように、曲線440に沿った動きを生成する。
使用する調節器は、積分型である。「従来の」積分型調節器は、以下の式で記述することができる。
Figure 2007515301
ここで、sdesは、式1のパラメータsの単位で記述した、ロボットの曲線に沿った所望の位置であり、Kは、定数である。これは、以下のブロック接続図で表される。
Figure 2007515301
ここで、pは、ラプラス変数を示す。
この接続図は、以下のものと同等である。
Figure 2007515301
速度及び加速度の限界を含めるために、この接続図は、以下の通り修正される。
Figure 2007515301
「calc(ds/dt)max 」と「calc(d2 s/dt2 max 」のブロックは、式5と式6で与えられるsdesの関数として射影された速度及び加速度の限界を計算する(df/ds及びd2 f/ds2 は、s=sdesに関して評価される)。ブロックsatVelは、(ds/dt)max の関数として、入力速度zを飽和させる。言い換えると、以下の通りとなる。
Figure 2007515301
同様に、satAccelは、以下の通り、(d2 s/dt2 max の関数として、加速度uを飽和させる。
Figure 2007515301
すべての環境下において、この枠組みは、以下の式を保証する。
|d(sdes)/dt|<(ds/dt)max
これは、パスに沿ったデカルト座標系による所望の速度のノルムが、vmaxより小さいことを保証するものである。
最大速度に達しない場合、
z=d(sdes)/dt
このため、
w=d2 (sdes)/dt2
並びに、
|d2 (sdes)/dt2 |<(d2 s/dt2 max
これは、デカルト座標系による加速度のノルムが、amaxより小さいことを保証するものである。
一般的な意味において、ここに記述したアルゴリズムは、デカルト座標系による速度の限界が、常に満たされることと、デカルト座標系による最大速度に達しない限り、加速度の限界が満たされることを保証する。直線に関して、速度の限界に達した場合、加速度は、零となり、そのため加速度の限界が満たされる。
E)動き目標(500)の計算(430)
この例では、動き目標500は、ロボットの関節の座標qdesである。曲線に沿った所望の位置sdesを出発点として、式1で与えられる曲線に関する助変数方程式を用いて、対応するデカルト座標系による位置目標を計算することが可能である。
xdes=f(sdes)
これにより、関節の座標は、k-1で記述されるロボット逆幾何モデルを使用して得られる。
qdes=k-1(xdes)
動き目標が速度であれば、対応する速度への座標変換を使用することが可能である(式2とロボット運動行列の逆行列)。
この発明による方法を実施し、パスに沿って切削工具を動かす多軸ロボットの原理を示す図 図1のロボットの可動部分において力を分解する原理を示す図 この発明の一般的な操作を示すブロック接続図 位置目標の各モータに対応するサーボ制御システムへの転送を示すブロック接続図 各モータ用サーボ制御を示すブロック接続図 外力を推定するために使用する方法を示す図 動き目標を生成するためのパス生成器が使用するアルゴリズムを示す図

Claims (6)

  1. 多軸ロボットの可動部分の変位をパスに沿って制御する方法において、
    ・動き指令(300)が、少なくともパス(320)の形状と力目標(310)に関する情報を含み、これらの動き指令をパス生成器(400)に提供することと、
    ・可動部分(O)がその周囲環境に及ぼす力(F)の少なくとも一つの成分を表す外力信号(800)を計算することと、
    ・所定のサンプリング周波数で動作させて、当該の外力信号(800)を当該のパス生成器(400)に提供することと、
    ・当該の外力の当該のパスの接線(T)への射影(FT )と当該の目標のこの接線への射影との間の差分を最小化する手法で、当該のパス生成器(400)を用いて、並びに所定のサンプリング周波数で、当該のパス(320)に沿った動き目標(500)を計算することと、
    ・当該のロボット(600)の少なくとも一つの軸を当該の動き目標(500)に合致して動かすことができるサーボ制御手段(601〜606)に、当該の動き目標(500)を伝えることと、
    で構成される措置を有することを特徴とする方法。
  2. 当該のロボット(600)の少なくとも一つのアクチュエータ(601〜606)に流れる電流を表す情報から、当該の外力信号(800)を計算することを特徴とする請求項1に記載の方法。
  3. 当該の外力信号(800)を計算する際に、当該のロボット(600)の動的モデル(712)を使用することで構成される措置を含むことを特徴とする請求項1又は2に記載の方法。
  4. 当該の動き目標(500)を計算する際に、この目標が、少なくとも一つの速度限界値(330)と少なくとも一つの加速度限界値(340)の両方又は一方に準拠するものであることを考慮するために、これらの限界値を当該のパス生成器(400)に供給することで構成される措置を含むことを特徴とする請求項1から3までのいずれか一つに記載の方法。
  5. 多軸ロボットの可動部分の変位をパスに沿って制御するための装置において、
    ・少なくともパス(320)の形状と力目標(310)に関する情報を含む動き指令(300)の関数として、動き目標(500)を計算するのに適したパス生成器(400)と、
    ・当該のパス生成器は、外力のパスの接線(T)への射影(FT )と当該の力目標のこの接線への射影との間の差分を最小化する手法により、所定のサンプリング周波数でパス(320)に沿った当該の動き目標(500)を計算するのに適しており、当該のロボット(600)の少なくとも一つの軸を動かすことができるサーボ制御手段(601〜606)に当該の動き目標(500)を伝える場合に、当該の可動部分(O)がその周囲環境に及ぼす力(F)の少なくとも一つの成分を表す外力信号(800)を生成するとともに、この信号を所定のサンプリング周波数で当該のパス生成器に伝えるのに適した力の推定器(700)と、
    を有することを特徴とする装置。
  6. 少なくともパス(320)の形状と力目標(310)を規定することが可能な動き指令(300)を含むプログラムを実行するのに適したプログラムインタープリター手段(200)を有することを特徴とする請求項5に記載の装置。
JP2006544503A 2003-12-19 2004-12-17 多軸ロボットの可動部分の変位を制御するための方法及び装置 Pending JP2007515301A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0315068A FR2864266B1 (fr) 2003-12-19 2003-12-19 Procede et dispositif de commande des deplacements d'une partie mobile d'un robot multi-axes
PCT/FR2004/003291 WO2005062143A1 (fr) 2003-12-19 2004-12-17 Procede et dispositif de commande des deplacements d'une partie mobile d'un robot multi-axes

Publications (1)

Publication Number Publication Date
JP2007515301A true JP2007515301A (ja) 2007-06-14

Family

ID=34630392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006544503A Pending JP2007515301A (ja) 2003-12-19 2004-12-17 多軸ロボットの可動部分の変位を制御するための方法及び装置

Country Status (8)

Country Link
US (1) US7853358B2 (ja)
EP (1) EP1695160B1 (ja)
JP (1) JP2007515301A (ja)
CN (1) CN100476654C (ja)
AT (1) ATE422254T1 (ja)
DE (1) DE602004019345D1 (ja)
FR (1) FR2864266B1 (ja)
WO (1) WO2005062143A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006048684A1 (de) * 2006-10-14 2008-04-17 Dr. Johannes Heidenhain Gmbh Verfahren zum Positionieren von Achsen in Werkzeugmaschinen
CN101965288B (zh) * 2008-03-10 2012-11-14 本田技研工业株式会社 门拆卸系统和门拆卸方法
FR2960074B1 (fr) * 2010-05-14 2012-06-15 Staubli Sa Ets Procede de commande d'une cellule de travail automatisee
US9921712B2 (en) 2010-12-29 2018-03-20 Mako Surgical Corp. System and method for providing substantially stable control of a surgical tool
US9119655B2 (en) 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
DE102011079116A1 (de) * 2011-07-14 2013-01-17 Kuka Roboter Gmbh Verfahren zum Überprüfen der Plausibilität der Ausgangssignale eines Resolvers
KR102235965B1 (ko) 2012-08-03 2021-04-06 스트리커 코포레이션 로봇 수술을 위한 시스템 및 방법
US9226796B2 (en) 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
US9820818B2 (en) 2012-08-03 2017-11-21 Stryker Corporation System and method for controlling a surgical manipulator based on implant parameters
JP6111562B2 (ja) * 2012-08-31 2017-04-12 セイコーエプソン株式会社 ロボット
US9486918B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc System and method for quick scripting of tasks for autonomous robotic manipulation
CN103821397B (zh) * 2014-03-13 2017-03-29 徐州工程学院 立体停车场液压升降机速度及定位控制系统
US10603794B2 (en) * 2015-08-27 2020-03-31 Accel Robotics Corporation Robotic camera system
US9975244B1 (en) * 2016-08-02 2018-05-22 X Development Llc Real-time generation of trajectories for actuators of a robot
JP6895242B2 (ja) * 2016-11-25 2021-06-30 株式会社東芝 ロボット制御装置、ロボット制御方法及びピッキング装置
EP3554414A1 (en) 2016-12-16 2019-10-23 MAKO Surgical Corp. Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site
JP6828572B2 (ja) * 2017-04-18 2021-02-10 富士通株式会社 ロボット移動時間推定プログラム及びロボット移動時間推定方法
FR3097565B1 (fr) * 2019-06-19 2022-08-12 Staubli Sa Ets Machine textile, métier à tisser comportant une telle machine textile et procédés associés
CN114800535B (zh) * 2022-06-29 2022-10-25 深圳鹏行智能研究有限公司 机器人的控制方法、机械臂控制方法、机器人及控制终端

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0215956A (ja) * 1988-06-30 1990-01-19 Toyota Motor Corp 倣い制御ロボット
JPH02205489A (ja) * 1989-02-01 1990-08-15 Agency Of Ind Science & Technol マニピュレータのインピーダンス制御方式
JPH03256103A (ja) * 1990-03-07 1991-11-14 Fujitsu Ltd 力制御ロボットの倣い装置
JPH04273502A (ja) * 1991-02-28 1992-09-29 Kobe Steel Ltd マニピュレータの制御装置
JPH0651838A (ja) * 1992-08-03 1994-02-25 Fujitsu Ltd 倣い制御装置
JP2001001283A (ja) * 1999-06-21 2001-01-09 Natl Aerospace Lab 予測力による拘束軌道作業の支援/制御方式
JP2001105152A (ja) * 1999-10-12 2001-04-17 Kawasaki Heavy Ind Ltd スポット溶接ロボット
JP2002035951A (ja) * 2000-07-18 2002-02-05 Mazda Motor Corp 被溶接部材位置検出方法およびその装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4773025A (en) * 1986-11-20 1988-09-20 Unimation, Inc. Multiaxis robot control having curve fitted path control
SE0001312D0 (sv) * 2000-04-10 2000-04-10 Abb Ab Industrirobot
US6812665B2 (en) * 2002-04-19 2004-11-02 Abb Ab In-process relative robot workcell calibration

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0215956A (ja) * 1988-06-30 1990-01-19 Toyota Motor Corp 倣い制御ロボット
JPH02205489A (ja) * 1989-02-01 1990-08-15 Agency Of Ind Science & Technol マニピュレータのインピーダンス制御方式
JPH03256103A (ja) * 1990-03-07 1991-11-14 Fujitsu Ltd 力制御ロボットの倣い装置
JPH04273502A (ja) * 1991-02-28 1992-09-29 Kobe Steel Ltd マニピュレータの制御装置
JPH0651838A (ja) * 1992-08-03 1994-02-25 Fujitsu Ltd 倣い制御装置
JP2001001283A (ja) * 1999-06-21 2001-01-09 Natl Aerospace Lab 予測力による拘束軌道作業の支援/制御方式
JP2001105152A (ja) * 1999-10-12 2001-04-17 Kawasaki Heavy Ind Ltd スポット溶接ロボット
JP2002035951A (ja) * 2000-07-18 2002-02-05 Mazda Motor Corp 被溶接部材位置検出方法およびその装置

Also Published As

Publication number Publication date
ATE422254T1 (de) 2009-02-15
DE602004019345D1 (de) 2009-03-19
US7853358B2 (en) 2010-12-14
US20080147238A1 (en) 2008-06-19
FR2864266A1 (fr) 2005-06-24
CN100476654C (zh) 2009-04-08
EP1695160A1 (fr) 2006-08-30
FR2864266B1 (fr) 2006-02-17
CN1894640A (zh) 2007-01-10
WO2005062143A1 (fr) 2005-07-07
EP1695160B1 (fr) 2009-02-04

Similar Documents

Publication Publication Date Title
JP2007515301A (ja) 多軸ロボットの可動部分の変位を制御するための方法及び装置
EP2835228B1 (en) Robot apparatus and robot controlling method
EP0086950B1 (en) Method of controlling an industrial robot
US10481580B2 (en) Trajectory control device
US8249746B2 (en) Method and device to regulate an automated manipulator
KR101548945B1 (ko) 탄성 로봇 구조를 위한 운동 제어기
US7180253B2 (en) Method and system for generating multi-dimensional motion profiles
US8868228B2 (en) Numerical controller having speed control function for multi-axis machining device
US7146242B2 (en) Method and system for generating multi-dimensional motion profiles
EP1672448A1 (en) Controller for machine effecting end
JP2013184245A (ja) ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体
Mesmer et al. Robust design of independent joint control of industrial robots with secondary encoders
US5373221A (en) Method and system for estimating robot tool center point speed
Luo et al. Predictive seam tracking with iteratively learned feedforward compensation for high-precision robotic laser welding
JPH07104856A (ja) 振動制御方法
US5545959A (en) Speed control method for a numerical control apparatus
JP2007102748A (ja) 位置制御装置、位置制御方法及び位置制御プログラム
JP4269150B2 (ja) ロボット制御装置
JPH05111889A (ja) 制御方式可変型ロボツト制御方式
Marayong et al. Control methods for guidance virtual fixtures in compliant human-machine interfaces
JP2686293B2 (ja) 3次元レーザ加工方法
JPH08190433A (ja) 負荷重量推定方法
JPH04369004A (ja) マニピュレータのインピーダンス制御方法
JPH04343690A (ja) 多関節マニピュレータの関節摩擦補償方法
JPH07205068A (ja) ロボットの座標系設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071022

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100713

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101004

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110524