以下、本発明の実施形態を、図面を参照して説明する。
<第1実施形態>
図1は、第1実施形態における多関節ロボット1を中心として、これを備えた半導体ウェハ搬送装置TDとして構成したものである。多関節ロボット1はフレームFrを介して、ロードポートLP1〜LP4と接続されており、このロードポートLP1〜LP4内に収容するウェハ(半導体ウェハ)Wの入替作業を行うことができるようになっている。
ロードポートLP1〜LP4は多関節ロボット1に対向しつつ、一列に並んで配置されており、多関節ロボット1の位置は、ロードポートLP1とLP2の中間となるように設定されている。
ここで、本発明においては、ロードポートLP1〜LP4を配置する方向、すなわち図中の右方向をX方向として定義し、これに直交する方向、すなわち図中の上方向をY方向として定義する。そして、鉛直上方向、すなわち紙面手前方向をZ方向として定義する。さらに、平面視においてX軸を基準に反時計回りの方向をα方向と定義する。
図中においてウェハWの内部に記載している黒丸印は、このウェハWの中心位置であり、多関節ロボット1の制御を行う際の基準位置Pwとなる。そして、各ロードポートLP1〜LP4において記載した黒丸印は、ウェハWの搬送先を示すものであり、これらの位置に上記の基準位置Pwを合致させるように行わせる。
この多関節ロボット1の構成を図2に示す。多関節ロボット1は大きく分けて機械装置部2と制御部3とから構成されており、制御部3から与えられる制御指令値に基づいて、機械装置部2が動作するようになっている。
まずは、この機械装置部2の構成について図3を基に説明する。機械装置部2は、ベース4より順次関節J1,J2,J3を介して接続された第1アーム要素11、第2アーム要素12及び第3アーム要素13を備える水平多関節型に構成されており、各アーム要素11〜13が、XY平面に平行で且つZ方向にずれた平面内で回動可能となっている。
具体的には、第1アーム要素11はベース4上の所定位置に回転軸STを中心とする回転自由度を有する第1関節J1を介して回動可能となるように設けられている。また、この第1アーム要素11の先端には、回転軸SRを中心とする回転自由度を有する第2関節J2を介して、第2アーム要素12が回動可能に設けられている。さらに、この第2アーム要素12の先端には、回転軸SHを中心とする回転自由度を有する第3関節J3を介して第3アーム要素13が回動可能に設けられている。上記回転軸ST,SR,SHは、互いに平行となるように設定されており、こうすることで第1〜第3アーム要素11〜13は、互いに平行な平面内を回動するようになっている。また、それぞれZ方向にずれた位置に設けられているため、第1〜第3アーム要素11〜13および第1〜第3関節J1〜J3は相互に干渉することが無く、互いに回動を妨げることがないようになっている。
末端となる第3アーム13の先端にはU字型のハンド部Hが、先端側を開放する向きに設けられており、第3アーム13と一体化して動作するようになっている。このハンド部H上に、ワークとしてのウェハWを保持することが可能となっており、U字型の中心近傍に上述の基準位置Pwが設定されている。
機構上は、第1関節J1の中心となる回転軸STより第2関節J2の中心となる回転軸SRまでが第1リンク11Lを構成し、第2関節J2の中心となる回転軸SRより第3関節J3の中心となる回転軸SHまでが第2リンク12Lを構成することになる。同様に、第3関節J3の中心となる回転軸SHより上記基準位置Pwまでを第3リンク13Lとして考える。
第1〜第3関節J1〜J3には、それぞれ対応するサーボモータM1〜M3が組み込まれている。第1サーボモータM1は、固定部がベース4に取り付けられて回転部が第1アーム要素11に取り付けられているため、制御指令値を通じてベース4に対する第1アーム要素11の回転角度を規制することになる。第2サーボモータM2は、固定部が第1アーム要素11に取り付けられて回転部が第2アーム要素12に取り付けられているため、制御指令値を通じて第1アーム要素11に対する第2アーム要素12の回転角度を規制することになる。第3サーボモータM3は、固定部が第2アーム要素12に取り付けられて回転部が第3アーム要素13に取り付けられているため、制御指令値を通じて第2アーム要素12に対する第3アーム要素13の回転角度を規制することになる。
サーボモータM1〜M3には、図4に示すように、制御部3よりサンプリング周期ごとで適宜制御指令値が与えられて駆動がなされる。制御指令値は、角度指令としてサーボドライバD1〜D3に与えられ、サーボドライバD1〜D3では適宜モータM1〜M3に適した形式で動力が与えられる。モータM1〜M3と関節J1〜J3の間には減速機を設けることも好適である。本実施形態では、制御指令値として角度指令を使用したが、角度指令に代えて角速度指令を用いるように構成することも可能であり、これらはサーボドライバによる設定の容易性等を考慮して適宜変更することが好ましい。
図5は、上述した第1〜第3リンク11L〜13Lを模式的に示したものである。ここで、各リンク11L〜13Lの長さをそれぞれL1,L2,L3とする。本実施形態では、第1リンク11Lと第2リンク12Lとは同一の長さ(L1=L2)となるように設定しており、これらに対して第3リンク13Lの長さL3を80%程度に設定し、ハンド部HにウェハW(図3参照)を保持させた場合のウェハWの先端までの長さが、第1リンク11L及び第2リンク12Lと同等になるようにしている。こうすることで、ウェハWを広い領域内で自由に動作させることが可能となっている。なお、L1〜L3の関係は上記に限らず、L1とL2を異ならせる(L1≠L2)設定も、これらよりもL3を大きく(L3>L2,L3>L1)する設定も可能である。
ベース部4(図3参照)に対する第1リンク11Lの相対角度θ1、第1リンク11Lに対する第2リンク12Lの相対角度θ2、第2リンク12Lに対する第3リンク13Lの相対角度θ3を、上記モータM1〜M3を制御することによって決定すると、ハンド部Hにおける基準位置Pwの絶対的な位置を決定することができる。この基準位置PwのXY平面上における座標x,yは、後述する運動学変換によって相対角度θ1,θ2,θ3によって表すことが可能となる。同様に、ハンド部Hの姿勢としての第3リンク13Lの絶対角度αも、相対角度θ1,θ2,θ3によって決定することができる。
次に、図2に戻って、制御部3の構成について説明を行う。
制御部3は、直交座標系基準制御指令設定部31と、直交座標系整形制御指令生成部32と、関節座標系変換制御指令生成部33と、振動特性記憶部34とを備えている。これら各部は、CPU、ROM、各種インターフェイス等を備えたパソコン等の情報処理装置において、予め記憶されている図6及び図7に示す制御指令値生成ルーチンをCPUが実行することで制御指令値を生成し、この制御指令値をモータM1〜M3(図3参照)に与えるまでの動作をソフトウェア及びハードウェアが協働して実現するものである。
直交座標系基準制御指令設定部31では、具体的な制御指令値を決定するための基準となる基準制御指令値として、後述する直交座標系で表したハンド部Hの軌道データCref=(x,y,α)を設定する。そして、直交座標系整形制御指令生成部32においては、上記のハンド部Hの軌道データCref=(x,y,α)に対して、振動特性記憶部34に記憶されている固有周波数及び減衰係数を読み出しつつ、これらに基づいてインプットシェーピング制御に係るフィルタ処理としてのデータ処理を行うことで入力整形を行い、直交座標系整形制御指令値を生成する。ここで、入力整形とは、制御に用いる入力信号の波形を異なる波形に整形するための処理を指し、デジタル信号、アナログ信号による処理の双方を含む概念で用いられる。さらに、関節座標系変換制御指令生成部33においては、直交座標系整形制御指令値を後述する関節座標系に変換して、関節座標系変換制御指令値を生成する。ここで生成された関節座標系変換制御指令値はモータM1〜M3を駆動するための制御指令値Pshapeとして前述のサーボドライバD1〜D3に与えられる。
インプットシェーピング制御そのものは公知技術であるために詳細な説明は割愛するが、この多関節ロボット1においてもハンド部Hの振動抑制を目的として導入している。インプットシェーピング制御は、フィードフォワード制御の一種としてセンサレスの構成として実現可能であるため、既存の多関節ロボットの制御部のみを変更することで容易に導入することが可能となる。また、複雑な制御を必要としないことから、制御の安定性及び高速化を図りつつ、振動抑制効果を得ることが可能である。
詳細な制御部3における処理手順を説明する前に、本発明で変数として用いるリンク11L〜13Lの角度(θ1〜θ3)と、ハンド部Hの位置及び姿勢(x,y,α)の関係について説明を行う。
図2に示した直交座標系基準制御指令設定部31は、ハンド部Hを動作させる目標値としてハンド部Hの基準位置PwをXY平面上での座標データ(x,y)として設定するとともに、ハンド部Hの姿勢をXY平面上での回転角データ(α)として設定する。すなわち、これらによって、ハンド部Hの絶対的な位置及び姿勢を示しており、これらをまとめて、直交座標系で表したハンド部Hの軌道データCref=(x,y,α)と称す。
このハンド部Hの位置及び姿勢は、上述したように、図5に示す各リンク11L〜13Lの回転角θ
1〜θ
3と長さL
1〜L
3によっても表すことができるが、各リンク11L〜13Lの長さL
1〜L
3は固定値となるために、結局のところ各リンク11L〜13Lの回転角θ
1〜θ
3、すなわち各関節J1〜J3におけるリンク11L〜13Lの相対回転角θ
1〜θ
3のみを変数として表すことが可能である。そこで、これらの回転角θ
1〜θ
3をまとめて、関節座標系で表したハンド部Hの軌道データP
ref=(θ
1,θ
2,θ
3)と称す。なお、モータM1〜M3と関節J1〜J3との間に減速機(図示せず)を用いている場合には、各関節J1〜J3に対応するモータM1〜M3の回転角θ
m1〜θ
m3と、減速比Ra
1〜Ra
3を用いて、次式のように角度θ
1〜θ
3を表すことができる。
上述したように、直交座標系での軌道データC
refと、関節座標系での軌道データP
refとは、同一のものを指すため、順運動学変換として次の数2〜数4記載の数式を用いることによって、関節座標系での軌道データP
refを直交座標系での軌道データC
refに変換することができる。
同様に、直交座標系での軌道データC
refを関節座標系での軌道データP
refに変換する場合には、逆運動学変換として次の数5〜数7記載の数式を用いて行うことができる。
上式で示したようにθ1は解が2つ得られる。一般的に、第1関節J1の可動範囲や前後の動作に応じて何れかの解を選択すれば良い。
以下、図2を参照しつつ図6及び図7を用い、制御部3においてモータM1〜M3に与える制御指令値を決定する手順を説明する。
本実施形態においては、一般の水平多関節型ロボットと同様に、ハンド部Hの軌道データとして関節座標系の軌道データPrefとして与えている。そこで、まず処理の最初のステップST1として、直交座標系基準制御指令設定部31ではこの関節座標系の軌道データPrefを直交座標系の軌道データCrefに変換して基準制御指令値として設定する。もちろん、当初よりXY平面内での直交座標系の軌道データCrefとして与え、基準制御指令値としてそのまま設定させることも可能である。
次に、ステップST2として、直交座標系の軌道データCrefをインプットシェーピング制御適用前の制御指令u0として設定し、時系列データ数mをn0として設定する。
そして、ステップST3として、直交座標系整形制御指令生成部32により、上記直交座標系の軌道データCrefを基にしてインプットシェーピング制御に係るフィルタ処理としてのデータ処理を行い、直交座標系整形制御指令値としてのインプットシェーピング制御指令uMを生成する。インプット制御指令uMの計算は、振動特性記憶部34に記憶された固有周波数及び減衰係数のデータを用い、サブルーチン化した後述の特定の処理によって実行される(図7参照)。
最後に、ステップST4として、関節座標系変換制御指令生成部33により、上記直交座標系整形制御指令値としてのインプット制御指令uMを上述した逆運動学変換によって関節座標系に変換し、関節座標系変換制御指令値としてモータパルス指令Pshapeを生成する。
このモータパルス指令Pshapeは、上述したように各モータM1〜M3への制御指令値として対応するサーボドライバD1〜D4(図4参照)に与えられ、モータM1〜M3が駆動されることによって各アーム要素11〜13が回動し、ハンド部Hが所定の動作を行う。
前述したインプット制御指令uMの計算に係る処理手順の説明に先駆けて、インプットシェーピング制御としてのフィルタ処理に用いる計算式の説明を行う。
k次モードまでの振動抑制を考慮した制御指令u
kの計算式は次式となる。ここで、u
k[i]は制振抑制を考慮したi番目の位置指令データを示すものである。また、u
0[i]は制振制御前のi番目の位置指令データ、n
0は位置指令データの時系列データ数、f
kはk次モードの固有周波数、ζ
kはk次モードの減衰係数を表す。
上式から分かるように、制御指令ukを算出するための計算は、1次モード指令u1[i]、2次モード指令u2[i]の順に求めることによって行うことになる。なお、上式におけるRound()は、()内の数値を小数点以下で四捨五入して整数にする関数である。
図7は、前述したインプットシェーピング制御としてのフィルタ処理を行い、インプット制御指令uMを計算する処理を示したものである。
通常、制御指令は、搬送前のオーバヘッド時間を短縮するため、搬送動作をしながら先の指令の計算が行われる。計算フローでは、動作中の計算負荷を軽減するため、前処理として第1の処処理群GS1において指令計算式の係数などを予め計算しておく。そして、第2の処理群GS2のうち、動作始めの制御指令値の一部を事前に計算しておき、残りの部分については動作中に逐次計算するようにしている。
具体的に述べると、第1の処理群GS1は、複数の処理ステップST11〜ST15より構成されており、まず、初期設定として変数kに1を与える(ステップST11)。次に、上記数8に記載の式を用いてAk,Tk,nk(A1,T1,n1)を計算する(ステップST12)。次に、変数kに1を加え(ステップST13)、制振対象モード次数としての設定値Mと、上記変数kとを比較して変数kがM以下であるか否かを判定する(ステップST14)。そして、変数kがM以下である場合にはステップST12に戻り、再度Ak,Tk,nkを計算する。以上のステップST12〜ステップST14までの処理を繰り返し行い、ステップST14において変数kがMを越えると判定した場合には、次のステップST15において、時系列データ数を示すnkの値を変数mallに設定する。
ここまでが、前処理として第1の処理群GS1を構成しており、これに引き続いて、ステップST16として、変数iに1を与える処理がなされる。
以下、ステップST17〜ST23より構成される第2の処理群GS2が実行される。まず、初期設定として変数kに1を与える(ステップST17)。次に、上記数8に記載の式を用いてuk[i]を計算する(ステップST18)。次に、変数kに1を加え(ステップST19)、設定値Mと変数kとを比較して変数kがM以下であるか否かを判定する(ステップST20)。そして、変数kがM以下である場合にはステップST17に戻り、先に求めたuk−1[i]を用いて再度uk[i]を計算する。以上のステップST17〜ステップST20までの処理を繰り返し行い、ステップST20において変数kがMを越えると判定した場合には、次のステップST21において、最終的に求めたuk[i]をインプットシェーピング制御を適用したi番目の整形指令値uM[i]とする(ステップST21)。次に変数iに1を加え(ステップST22)、この変数iが上記mall以下であるかを判定する(ステップST23)。そして、変数iがmall以下である場合には、上記ステップST17〜ステップST22までの処理を繰り返して行い、変数iが1からmallになるまで、変数iに対応するuM[i]を計算し続ける。そして、ステップST23において変数iがmallを越えると判定した場合には、これらの全ての処理を終了する。
なお、図7に示したような、インプットシェーピング制御としてのフィルタ処理を行うための計算フローは、関節座標系の制御指令値、及び、直交座標系の制御指令値のいずれに対しても適用することが可能である。
上記のように構成した本実施形態の多関節ロボット1を動作させた例を図8〜12に示す。ここでは、ハンド部Hの姿勢がα=90°、すなわち、Y方向に先端を向けた状態を維持させつつ、ハンド部HをY方向に向けて直線的に動作させるような目標値を設定して動作を行わせている。
各座標系ごとに区別して、上記インプットシェーピング制御指令uMを時系列に見たデータを図8〜12に示す。図8では、制御前指令として記載した直交座標系基準制御指令値におけるxの時系列データと、この基準制御指令値に対して上記インプットシェーピング制御に係るフィルタ処理を適用した直交座標系整形制御指令値におけるxの時系列データを重ねて示している。図から分かるように、ともにX座標軌道ではほぼ一定値を保つような指令が得られており、両者の間に差はほとんど見られず、インプットシェーピング制御を行ったことによるX方向への変化は見られない。
同様に、図9は、制御前指令として記載した直交座標系基準制御指令値におけるyの時系列データと、この基準制御指令値に対して上記インプットシェーピング制御に係るフィルタ処理を適用した直交座標系整形制御指令値におけるyの時系列データを重ねて示したものである。図から分かるように、インプットシェーピング制御を行うことで、Y方向に対しては目標よりもやや遅れて動作がなされることになる。
図10は、制御前指令として記載した直交座標系基準制御指令値におけるαの時系列データと、この基準制御指令値に対して上記インプットシェーピング制御に係るフィルタ処理を適用した直交座標系整形制御指令値におけるαの時系列データを重ねて示したものである。図から分かるように、両者の間に差はほとんど見られず、インプットシェーピング制御を行ったことによるハンド部Hの姿勢の変化は見られない。
上記のように得られる直交座標系整形制御指令値を基に、XY平面上でのハンド部Hの軌道をプロットしたものを図11に示す。上述したようにインプットシェーピング制御を行ったことによる影響はY軸方向にしか生じていないため、多少の時間遅れはあるものの、インプットシェーピング制御の適用前後で変わることなく直線状の軌道を得ることができる。
これらとの比較例として、上記と同様のY方向への直線運動を関節座標系の制御指令値のみを用いてハンド部Hに行わせた結果を示す。
図17は、関節座標系基準制御指令値としての第1リンク11Lの回転角θ1に対して、インプットシェーピング制御の適用前後の変化を示したものである。適用前の目標値に対して、適用後には遅れが生じていることが分かる。
同様に、図18は、関節座標系基準制御指令値としての第2リンク12Lの回転角θ2に対して、インプットシェーピング制御の適用前後の変化を示したものである。この場合においても、適用前の目標値に対して適用後には遅れが生じる。
同様に、図19は、関節座標系基準制御指令値としての第3リンク13Lの回転角θ3に対して、インプットシェーピング制御の適用前後の変化を示したものである。この場合においても、適用前の目標値に対して適用後には遅れが生じる。
図20は、上記のインプットシェーピング制御適用後の関節座標系制御指令値を基に得られるXY平面上でのハンド部Hの軌道を示すものである。この場合には、インプットシェーピング制御を行ったことで、途中の軌道がX方向に大きくずれることが分かる。こうした場合には、周辺の障害物への衝突等の問題が生じる恐れがある。
本実施形態における上記図8〜11に係る動作、及び、上記の比較例における図17〜20に係る動作、並びに、インプットシェーピング制御適用前の動作を各々実行させた直後の残留振動を重ねて図12に示す。本実施形態および比較例における振動は、インプットシェーピング制御の適用前のものに比べ、当初より非常に小さく、素早く減衰していることが分かる。すなわち、双方ともに、インプットシェーピング制御による振動抑制の効果を有しているものといえる。本願実施形態における多関節ロボット1であれば、インプットシェーピング制御の特徴である簡単でかつ高速な演算処理を行うことで、アームを動作させながら効果的に振動を抑制することが可能であるとともに、振動低減効果と動作軌道のずれ抑制効果とが相俟って、よりハンド部Hの精密な動作を実現することが可能となる。
図13は、本実施形態の多関節ロボット1における、上記とは別の動作例を示すものである。ここでは、ハンド部Hをα=80°となる向きに設定して、その向きにハンド部Hが直線動作するようにしている。このような動作を行う場合であっても、図11の場合と同様、インプットシェーピング制御適用前後でほとんど変わることなく、直線的な動作が可能となっている。
以上のように、本実施形態における多関節ロボット1は、複数の関節J1〜J3により順次接続されるアーム要素11〜13と、各関節J1〜J3に接続されるアーム要素11〜13の相対位置又は姿勢を変更するモータM1〜M3と、モータM1〜M3の制御を行うことで末端のアーム要素13に設けられたハンド部Hの位置及び姿勢の制御を行う制御部3と、を具備し、関節J1〜J3が回転自由度を有する多関節ロボット1であって、制御部3が、ハンド部Hの位置又は姿勢を制御するための基準制御指令値をその少なくとも一部が直交座標系となる直交座標系基準制御指令値として得る直交座標系基準制御指令設定部31と、直交座標系基準制御指令設定部31により得られる直交座標系基準制御指令値に対して所定の入力整形を行って直交座標系整形制御指令値を生成する直交座標系整形制御指令生成部32と、直交座標系整形制御指令生成部32により得られる直交座標系整形制御指令値を各関節J1〜J3に対応する関節座標系に変換した関節座標系変換制御指令値を生成する関節座標系変換制御指令生成部33と、を備え、関節座標系変換制御指令生成部33により得られる関節座標系変換制御指令値を基にして各モータM1〜M3の制御を行うように構成したものである。
こうすることで、入力整形を行うことによる動作の軌道のずれを抑制することができ、入力整形による効果を得つつも動作の軌道を正確に保つことが可能となる。そのため、多関節ロボット1を狭い場所で用いる場合でも、ハンド部Hやワークである半導体ウェハWが周辺の機器や壁等と接触することを抑制することが可能となっている。
また、直交座標系整形制御指令生成部32にて行う所定の入力整形が、ハンド部Hの振動を抑制するためのフィルタ処理とされているため、振動抑制と動作の軌道ずれの抑制とを両立させて、より位置精度の高い動作を行わせることが可能となっている。
また、そのフィルタ処理がインプットシェーピング制御としてのデータ処理であるため、振動抑制制御を高速で効率的に行うことが可能となり、振動抑制と動作の軌道ずれの抑制とをより高精度に実現することが可能となっている。
また、本実施形態の半導体ウェハ装置TDは、上記のように水平多関節型ロボットとして構成した多関節ロボット1を備え、前記ハンド部H上に半導体ウェハWを載置させつつ、半導体ウェハWの搬送を行うようにしているため、上述した効果を生かして、精密な動作を要する半導体ウェハ搬送装置TDとして効果的に実現することができ、半導体ウェハWの高精度な加工に利用することが可能となる。
<第2実施形態>
図14は、第2実施形態における多関節ロボット101を示すものであり、第1実施形態のものとは、制御部103の一部の構成のみが異なる。そのため、図2と同一の部分には同じ符号を付し、説明を省略する。
制御部103は、第1実施形態と同様、直交座標系基準制御指令設定部31と、直交座標系整形制御指令生成部32と、関節座標系変換制御指令生成部33と、振動特性記憶部34とを備え、さらに、制御指令値切替部141と、関節座標系基準制御指令設定部142と、関節座標系整形制御指令生成部143とを備えている。
制御指令値切替部141においては、ハンド部H上のウェハWの有無や、外部から与えられる指令信号に従って、適切な制御指令値の演算処理方法を選択するものである。そのために、いずれの制御指令値を演算及び制御に用いるかを、切替命令として各部に出力するようになっている。この制御指令値切替部141における選択に応じて、一般的な、関節座標系で且つインプットシェーピング制御適用のない制御方式と、関節座標系にてインプットシェーピング制御適用のある制御方式と、第1実施形態として説明した直交座標系でインプットシェーピング制御を適用した後に関節座標系に変換する制御方式の三つの中で、制御方式を変更することができる。
そのため、関節座標系基準制御指令設定部142では、関節座標系の基準制御指令値を設定することが可能となっている。そして、関節座標系整形制御指令生成部143では、上記関節座標系基準制御指令設定部142により得られる関節座標系基準制御指令値Prefを基に、インプットシェーピング制御に係るフィルタ処理としてのデータ処理を行うことが可能となっている。関節座標系基準制御指令設定部142と直交座標系基準制御指令設定部31とは、独立して異なるデータを設定するようにすることも、互いのデータを基に、運動学変換または逆運動学変換によって生成するようにすることも可能である。
制御部103は、図15に示すような処理の手順により、各関節J1〜J3を駆動するモータM1〜M3への制御指令値を決定する。
まず、第1に、ステップST101として、制御指令値切替部141において、制振制御を有効とするか無効とするかを判定する。この場合、ウェハWがハンド部H上に保持されているかを基準とすることが適切であり、こうすることで、不要な演算処理を省略して、より高速化を図ることが可能となる。また、こうした処理を自動的に行わせることも好適である。制振制御を無効とするものと判定した場合には、次のステップST102に進み、関節座標系基準制御指令値Prefを、そのままモータM1〜M3への制御指令値(位置指令)として制御に用いる。
ステップST101において、制振制御を有効にすると判定した場合には、ステップST103に進む。ステップST103では、インプットシェーピング制御を適用することを前提に、関節座標系基準制御指令Prefを対象に行うか、直交座標系基準制御指令Crefを対象に行うかを選択する。この場合には、ハンド部Hの周辺に障害物があるか否かを考慮要素として、軌道のズレが許されるか否かを判断するようにしておくことが好ましい。
軌道のズレが許されないものとして、ステップST103において、直交座標方式を適用すると判定した場合には、ステップST106に進む。ステップST106は、上述した第1実施形態において説明した、直交座標系基準制御指令値Crefを用いてインプットシェーピング制御を適用した後に、関節座標系に変換してインプットシェーピング制御指令Pshapeを得るものと同一の処理である。そのため、詳細な処理手順の説明は省力する。このように得られたインプットシェーピング制御指令Pshapeは、ステップST105においてモータM1〜M3への制御指令値(位置指令)として設定され、制御に用いられる。
ハンド部Hの軌道のズレが許容されるものとして、ステップST103において、関節座標方式を適用すると判定した場合にはステップST104に進む。ステップST104では、関節座標系基準制御指令値Prefを基にして、図16に示す特定の処理によって計算することでインプットシェーピング制御指令Pshapeを得る。このように得られたインプットシェーピング制御指令Pshapeも、ステップST105においてモータM1〜M3への制御指令値(位置指令)として設定され、制御に用いられる。
関節座標系基準制御指令値Prefからインプットシェーピング制御指令Pshapeを得る手順においては、図16に示すように、まず、処理の最初のステップST111として、関節座標系基準制御指令設定部142に設定された関節座標系基準制御指令値としての軌道データPrefをインプットシェーピング制御適用前の指令u0として設定し、時系列データ数mをn0として設定する。
そして、ステップST112として、関節座標系整形制御指令生成部143により、上記関節座標系の軌道データPrefを基にしてインプットシェーピング制御に係るフィルタ処理としてのデータ処理を行うことで入力整形を行い、関節座標系整形制御指令値としてのインプットシェーピング制御指令uMを生成する。インプット制御指令uMの計算は、振動特性記憶部34に記憶された固有周波数及び減衰係数のデータを用い、図7に示した上述の処理によって実行される。
図16に戻って、最後に、ステップST113として、関節座標系整形制御指令値として得られたインプット制御指令uMを関節座標系変換制御指令値としてモータパルス指令Pshapeに設定する。
上記のように構成することで、制御指令値切替部141によって制御方式を適切に切り替えつつ、ハンド部Hに動作を行わせることが可能となる。
以上のように、本実施形態においては、上述の第1実施形態の構成を備えることで、同一の効果を得ることができるとともに、次のような特徴も備えている。
すなわち、本実施形態における多関節ロボット101は、制御部103が、各モータM1〜M3に与えるべき基準制御指令値として関節座標系基準制御指令値を生成する関節座標系基準制御指令設定部142と、関節座標系基準制御指令設定部142により得られる関節座標系基準制御指令値に対して所定の入力整形としてのインプットシェーピング制御に係るフィルタ処理を行って関節座標系整形制御指令値を生成する関節座標系整形制御指令生成部143と、各モータM1〜M3に与える制御指令値を切り替えるべく切替命令を出力する制御指令値切替部141と、をさらに備えており、制御指令値切替部141からの切替命令に応じて、関節座標系変換制御指令生成部143により得られる関節座標系変換制御指令値に代わり、関節座標系基準制御指令設定部142により得られる関節座標系基準制御指令値、又は、関節座標系整形制御指令生成部143により得られる関節座標系整形制御指令値を基にして各モータM1〜M3の制御を行うように構成したものである。
このように構成しているため、振動抑制の要否と軌道ずれの抑制の要否に応じて適正な制御指令値を選択することで、不要な制御を少なくして、より演算処理を高速化して多関節ロボット1の高速化を行うことが可能となっている。
また、ハンド部HがウェハWを保持していない場合には、関節座標系変換制御指令生成部33により得られる関節座標系変換制御指令値に代わり、関節座標系基準制御指令設定部142により得られる関節座標系基準制御指令値を基にして各モータM1〜M3の制御を行うように、前記制御指令値切替部141が切替命令を出力するようにしているため、保持するワークWの有無により、適切に制御指令値を選択させることが可能となり、より利便性を高めることが可能となる。
また、上記の多関節ロボット101を備えた半導体ウェハ搬送装置TDとして構成することも好適である。
なお、各部の具体的な構成は、上述した実施形態のみに限定されるものではない。
例えば、上述の実施形態における多関節ロボット1,101は、全ての関節J1〜J3が回転自由度を有する3リンク方式のものとなっていたが、本願発明の効果は、回転自由度を3つ有するもののみに限られず、回転自由度が1つ以上あり、他が直動自由度を有するものにおいても同様に得られる。すなわち、本発明は、直動又は回動可能な複数の関節によって駆動される複数のアーム(リンク)や直動部等の可動要素を備えており、その中の少なくとも1つの関節が回転自由度を有するものであれば適用することができ、上述の効果を得ることが可能である。
さらに、関節を駆動するためのアクチュエータは、モータに限らず回転駆動するものであれば同様の効果が得られる。
また、上述の実施形態においては、多関節ロボット1,101の先端に設けたハンド部Hを略U字形に形成し、その上面にワークとしてのウェハ(半導体ウェハ)Wを載置することでこれを保持するようにしていたが、ハンド部Hはこれに限らず様々な形状及び構成に変更することが可能である。
また、直交座標系基準制御指令値に対して所定の入力整形を行った後に、関節座標系に変換して関節座標系制御指令値を生成することによって、ハンド部Hの軌道のずれを抑制する効果は、インプットシェーピング制御に係るフィルタ処理のみでなく、ローパスフィルタやノッチフィルタなど他のフィルタ処理を用いる場合でも同様に得ることが可能であり、目標と合致した軌道で動作させることができる。また、こうした振動抑制を目的としたフィルタ処理以外にも、他の目的を有する様々な入力整形を用いることが可能である。
その他の構成も、本発明の趣旨を逸脱しない範囲で種々変形が可能である。