(57)【要約】【課題】  各可動部を同時に動作させても振動せず、他軸の干渉の影響も受けずに動作して、作業を高速化することができる多軸サーボ制御装置を提供する。【解決手段】  複数の可動部と該各可動部を各々駆動する各アクチュエータとを有しかつ前記各可動部の各推力によって機械全体が振動する装置に対する多軸サーボ制御装置において、制御部が、前記全ての可動部の指令を入力とし、他軸の干渉力と、機械全体の振動要素まで考慮した伝達関数を逆算し、推力指令を算出する推力計算部１と、前記推力で動作する際の、可動部の位置を計算する位置計算部２と、前記位置計算部２で計算された位置と実際の可動部の位置の誤差を低減する補償推力を出力する誤差補償部３と、前記推力指令に、前記補償推力を加算し、最終的な推力指令値とする加算器４と、を備えるようにした。【選択図】      図１
2005032101.tif 000002
【特許請求の範囲】
【請求項１】
複数の可動部と該各可動部を各々駆動する各アクチュエータとを有しかつ前記各可動部の各推力によって機械全体が振動する装置に対する多軸サーボ制御装置において、
前記アクチュエータを制御する制御部が設けられ、
かつ、該制御部が、
前記全ての可動部の指令を入力とし、他軸の干渉力と、機械全体の振動要素まで考慮した伝達関数を逆算し、推力指令を算出する推力計算部と、
前記推力で動作する際の、可動部の位置を計算する位置計算部と、
前記位置計算部で計算された位置と実際の可動部の位置の誤差を低減する補償推力を出力する誤差補償部と、
前記推力指令に、前記補償推力を加算し、最終的な推力指令値とする加算器と、を備えたことを特徴とする多軸サーボ制御装置。
【請求項２】
前記アクチュエータとしては、直動型アクチュエータあるいは、回転型アクチュエータとボールねじの組み合わせであることを特徴とする請求項１記載の多軸サーボ制御装置。
【請求項３】
前記アクチュエータは、直線的に動作するものだけでなく、２次元平面上を動作するものや、３次元で動作するものであることを特徴とする請求項１または２記載の多軸サーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子部品実装装置や半導体ウエハ搬送装置のような、複数の可動部を有する装置で、かつ、装置全体が可動部推力により振動してしまう装置に対する制御装置であり、特に、振動と、各可動部が他の可動部から受ける干渉力とによる悪影響を同時に解決するする多軸サーボ制御装置に関する。
【背景技術】
【０００２】
従来の多軸サーボ制御装置は、複数可動部の同時動作時の振動を避けるために、各可動部の動作を考慮した、移動シーケンスを作成し、そのシーケンスに添って、なるべく振動しないようなタイミングで動作させていた。（例えば、特許文献１参照）。
【特許文献１】特開平６−３０２９９１号公報（第５−７頁、第９−１１図）
【０００３】
この従来例では、部品供給個数や、二つのテーブル間の距離に基づいて、その時の移動シーケンスを移動パラメータを０から３に設定することで、制御しているものである。
この中では、移動パラメータを以下のように定義している。
・移動パラメータ＝０のとき、移動テーブルは移動せず停止状態。
・移動パラメータ＝１のとき、部品供給を行っていない方のテーブルは、左側へ設定量ＸＬだけ低速で移動する。
・移動パラメータ＝２のとき、部品供給を行っていない方のテーブルは、右側へ設定量ＸＬだけ低速で移動する。
・移動パラメータ＝３のとき、部品供給を行っていない方のテーブルは、部品供給を行っている方の移動テーブルと同じ方向に同じ距離だけ高速に移動する。
このように、従来の電子部品の実装装置は、各テーブルの動作を移動シーケンスにより制御することで振動の発生を少なくし、高速で基盤に電子部品を実装する装置を実現していた。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の制御装置は、他方のテーブルの部品供給個数に沿って、停止、低速動作、高速動作の３つから動作を選択した移動シーケンスに添って動作を行うため、条件によっては、片方の軸が停止したり、低速動作を行うため、２つのテーブルが同時に高速に動作するのに比べて、あきらかに無駄な時間があり、高速化を図れないという問題があった。
また、振動を積極的に抑制するわけではないため、条件によっては、振動が発生し、機械の性能が劣化するという問題もあった。
そこで、本発明はこのような問題点に鑑みてなされたものであり、全可動部の指令から、機械全体の振動と、他軸からの干渉力も考慮した伝達関数を逆に解き各軸の推力指令を計算し、それと同時に、計算された推力で動作した時の可動部の位置を計算し、実際の可動部の位置との誤差を制御で補償することで機械全体の振動を抑制し、かつ、他軸からの外乱である干渉力の影響を受けない動作を実現でき、全ての軸が同時に独立且つ高速に動作することを可能にした多軸サーボ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記問題を解決するため、請求項１記載の多軸サーボ制御装置の発明は、複数の可動部と該各可動部を各々駆動する各アクチュエータとを有しかつ前記各可動部の各推力によって機械全体が振動する装置に対する多軸サーボ制御装置において、前記アクチュエータを制御する制御部が設けられ、かつ、該制御部が、前記全ての可動部の指令を入力とし、他軸の干渉力と、機械全体の振動要素まで考慮した伝達関数を逆算し、推力指令を算出する推力計算部と、前記推力で動作する際の、可動部の位置を計算する位置計算部と、前記位置計算部で計算された位置と実際の可動部の位置の誤差を低減する補償推力を出力する誤差補償部と、前記推力指令に、前記補償推力を加算し、最終的な推力指令値とする加算器と、を備えたことを特徴とする。
このようになっているため、各可動部を動作させる際に、振動が発生せず、また他軸の干渉の悪影響を受けずに動作することができ、作業を高速化することができる。
請求項２記載の発明は、請求項１記載の多軸サーボ制御装置において、前記アクチュエータとして、直動型アクチュエータあるいは、回転型アクチュエータとボールねじの組み合わせであることを特徴とする。
このようになっているため、アクチュエータの形態によらず、効果を発揮することができる。
請求項３記載の発明は、請求項１または２記載の多軸サーボ制御装置において、前記アクチュエータは、直線的に動作するものだけでなく、２次元平面上を動作するものや、３次元で動作するものであることを特徴とする。
このようになっているため可動部が２次元平面上を自由に動作するものや、３次元で動作する場合も、振動無く、また他軸の干渉を受けずに動作することができ、作業を高速化することができる。
【発明の効果】
【０００６】
以上述べたように、本発明の多軸サーボ制御装置によれば、全可動部の移動指令から、機械全体の振動と、他軸からの干渉力も考慮したモデルの伝達関数を逆に解くことで、各可動部への推力指令を計算し、それを用いることで、機械を振動せず、且つ他軸からの干渉の影響も受けない動作を実現することができるという効果がある。その結果として、各可動部ごと独立に高速動作が可能になり、作業の高速化が図れる。
また、誤差補償部を有するため、考えているモデルと、実機がモデル誤差を有する場合も、著しく性能が低下するということがないという効果がある。
また、直動型アクチュエータ、あるいは、回転型アクチュエータとボールねじの組み合わせで可動部を同一直線上に動作させるようにしているので、他のアクチュエータと比べて制御が簡単かつ正確に行えるという効果がある。
さらに、可動部が同一直線上を動作する場合だけでなく、２次元平面上を動作する場合や３次元的に動作を行う可動部を有する装置に対しても本発明は適用可能となるので、このようなケースにおいても、振動無く、また他軸の干渉を受けずに動作することができ、作業を高速化することができるという効果がある。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について図に基づいて詳細に説明する。
図４は、本発明に係る多軸サーボ制御装置を含む全体構成を示すブロック図である。
同図において、１０は上位コントローラ、１１〜９１は各軸専用のサーボ制御回路であり、例えば１１は第１軸目多軸サーボ制御装置、２１は第２軸目多軸サーボ制御装置、９１は第ｎ軸目多軸サーボ制御装置となっている。１２〜９２はサーボアンプ、１３〜９３はサーボモータ、１４〜９４は可動部である移動テーブル、１５〜９５はエンコーダ（ＰＧ）、１６〜９６はボールねじである。
上位コントローラ１０は多軸サーボ制御装置を制御するもので、ＣＰＵ、ＲＯＭ、ＲＡＭ、およびＨＤＤなどの不揮発性メモリを搭載しており、各可動部の指令ＲＥＦ１〜ＲＥＦｎを各軸専用サーボ制御回路１１〜９１に共通に送る。
各軸専用サーボ制御回路１１〜９１は各々内蔵の推力計算部１（後述）で各可動部の指令ＲＥＦ１〜ＲＥＦｎまでを用いて各式（後述）を解くことにより各自の推力指令（第１軸であればＦＲＥＦ１）を計算し、最終的な推力指令値Ｆ１〜Ｆｎ（第１軸であれば、Ｆ１）を求め、これを各々サーボアンプ１２〜９２に奥ってサーボモータ１３〜９３（第１軸であればサーボアンプ１２、サーボモータ１３）を駆動する。
サーボモータ１３〜９３はボールねじ１６〜９６との組み合わせによって、移動テーブル１４〜９４を移動させる。移動テーブル１４〜９４の各移動量Ｘ１〜Ｘｎは各ＰＧ１５〜９５から各軸多軸サーボ制御装置１１〜９１に戻され、本発明に係る演算の１データとして用いられる。
このようなブロック図に示す構成の多軸サーボ制御装置において、後述する手法を用いるようにすれば、各可動部を同時に動作させても振動せず、他軸の干渉の影響も受けずに動作して、作業を高速化することができる。
アクチュエータとして、ここではサーボモータ１３〜９３のような回転型アクチュエータを用い、これとボールねじ１６〜９６の組み合わせによって移動テーブル１４〜９４を駆動しているが、リニアモータのような直動型のものを用いても良い。
また、移動方向は直線動作でなく、２次元平面を自由に動作するアクチュエータや、３次元的に動作するアクチュエータに対しても、それぞれの移動成分をベクトルで表現し、各ベクトル成分毎に本発明を適用すればよい。
【０００８】
図５は、本発明で使用する制御対象の概念図である。
図において、質量Ｍｂの機台５１の上に可動部５２１〜５２ｎがｎ個設置されている。各可動部５２１〜５２ｎの質量はそれぞれＭ１〜Ｍｎである。機台５１は４つのアンカ（足）５３１〜５３４により支持されており、各アンカ５３１〜５３４がばね要素を有している。このばね要素のばね定数を４つの合計でＫｂとする。
【０００９】
図１は、図４で示す本発明の多軸サーボ制御装置１０の内部構成図である。
２番目からｎ番目の可動部に関しても全く同様に制御できるため、ここでは、１番目の可動部の制御を例にとり説明する。
図１において、１は、各可動部の移動指令全て（ＲＥＦ１〜ＲＥＦｎ）を入力し、１番目の可動部への推力指令ＦＲＥＦ１を計算する推力計算部である。
２は位置計算部を表し、自分の移動指令のみを入力し、制御対象が推力指令ＦＲＥＦ１通りに動作する時の位置ＸＲＥＦ１を計算する。
３は誤差補償部であり、２で計算された位置ＸＲＥＦ１と実際の位置検出値Ｘ１を入力し、その誤差を軽減するべく制御を行い、補償推力ＦＣＯＭＰ１を算出する。誤差補償部は適当な補償器でよいが、本実施例では後に説明するＰＩＤ制御を行うことにする。
４は推力指令ＦＲＥＦ１と補償推力ＦＣＯＭＰ１を加算し、最終的に１番目の可動部に与える推力指令Ｆ１を計算する加算器である。
そこで、それぞれの構成要素について以下に詳しく説明する。
まず、推力計算部１での処理内容を説明する。
ここでは、図５の機械を模擬したモデル図３を逆算することで、理想的な推力指令ＦＲＥＦ１を計算する。
図３中、ＦＲＥＦ１からＦＲＥＦｎは各可動部へ与えられる推力を表す。また、Ｘ１からＸｎは、その時の各可動部それぞれの移動量、すなわち位置を表す。
３１から３３は、１番目の可動部から、ｎ番目の可動部までの、推力から位置までの伝達特性を表す関数である。また、３４から３６は、３１から３３の逆数となる。
３７は、機台へ伝わる反力（各可動部の推力の総和）から機台の位置までの伝達特性を表す関数である。図中ｓはラプラス演算子であり、微分を表す。
図３のモデルで、Ｘ１からＸｎを用いて、推力指令ＦＲＥＦ１を求めると、式（１）のようになる。
【００１０】
【数１】
2005032101.tif 000003
ここで、式（１）の各項を見ると明らかなように、伝達関数の特性方程式（分母＝０）が虚軸上に根を持つことが分かる。これでは、持続振動が発生するため、各可動部の位置Ｘ１〜Ｘｎを、各可動部の指令ＲＥＦ１〜ＲＥＦｎを用いて、次の式（２）のように定義する。
【００１１】
【数２】
2005032101.tif 000004
式（２）の関係を用いて、式（１）を書き直すと、式（３）のようになる。
【００１２】
【数３】
2005032101.tif 000005
最終的に、１の推力計算部では、各可動部の指令ＲＥＦ１からＲＥＦｎまでを用いて、式（３）を解くことにより、推力指令ＦＲＥＦ１を計算すればよい。
ここで、本方式をディジタルで構成する場合は、式（３）中の記号ｓは近似微分を用いればよく、例えば差分を用いて近似を行えばよい。
ここでは、１番目の可動部の推力指令計算方法を説明したが、２番目からｎ番目まで（ＦＲＥＦ２からＦＲＥＦｎ）も同様に構成できる。式（４）に一般的な式を示す。
変数ｔを１からｎとし、ｔ番目の可動部への推力指令ＦＲＥＦｔを求めると式（４）のようになる。
【００１３】
【数４】
2005032101.tif 000006
次に、２の位置計算部の処理を説明する。
ここでは、式（２）をそのまま利用する。式（３）で求めた推力指令ＦＲＥＦ１で動作させた時の、位置ＸＲＥＦ１を求める式は、上述した式（２）を用いて式（５）で計算する。
【００１４】
【数５】
2005032101.tif 000007
２の位置計算部では、式（５）を計算するのみである。
【００１５】
次に、誤差補償部３の処理を説明する。
ここでは、図２に示すような処理を行う。図２中、Ｋｐは比例ゲイン、Ｋｄは微分ゲイン、Ｋｉは積分ゲインを表し、適当な値に設定することで、誤差を軽減することができる。ここでは、２の位置計算部で計算された位置ＸＲＥＦ１と位置検出値Ｘ１を用いて、式（６）により、補償推力ＦＣＯＭＰ１を求める。
【００１６】
【数６】
2005032101.tif 000008
誤差補償部３での処理は、式（６）を実現するのみである。
誤差補償部３の処理は、ここではＰＩＤ制御を用いているが、これに限定されるものではなく、適当なフィードバック補償で足りる。
最後に、式（７）のように、ＦＲＥＦ１にＦＣＯＭＰ１を加算して、最終的な推力指令値Ｆ１を求めればよい。
【００１７】
【数７】
2005032101.tif 000009
このように、移動指令ＲＥＦ１からＲＥＦｎまでを使用して、簡単な計算をするだけで、機械の振動も発生させずに、かつ、他軸の干渉の影響も受けない動作を実現することができ、結果として、各可動部ごと独立に高速動作が可能になり、作業の高速化が図れる。
【００１８】
図６は、本発明に係る多軸サーボ制御装置を含む全体構成の別の例を示すブロック図である。
同図において、６０は上位コントローラ、６１は各軸共用の多軸サーボ制御装置である。以下、図４と同じで１２〜９２はサーボアンプ、１３〜９３はサーボモータ、１４〜９４は可動部である移動テーブル、１５〜９５はエンコーダ（ＰＧ）、１６〜９６はボールねじである。
上位コントローラ６０は多軸サーボ制御装置６１を制御するもので、ＣＰＵ、ＲＯＭ、ＲＡＭ、およびＨＤＤなどの不揮発性メモリを搭載しており、各可動部の指令ＲＥＦ１〜ＲＥＦｎを多軸サーボ制御装置６１に送る。
多軸サーボ制御装置６１は上述した推力計算部１で各可動部の指令ＲＥＦ１〜ＲＥＦｎを用いて上述の各式を解くことにより各軸の推力指令を計算する。例えば、第１軸であれば多軸サーボ制御装置６１は推力指令ＦＲＥＦ１を計算し、最終的な推力指令値Ｆ１を求めて、サーボアンプ１２に与えてサーボモータ１３を駆動する。以下、第２軸以降についても同様である。
このようなブロック図に示す構成の多軸サーボ制御装置において、本発明に係る手法を用いることで多軸サーボ制御装置６１は１個で済み、小型化、コストダウンに寄与するとともに、各可動部を同時に動作させても振動せず、他軸の干渉の影響も受けずに動作して、作業を高速化することができる。
【００１９】
また、アクチュエータはリニアモータのような直動型のものを用いても良いし、あるいは、回転型のアクチュエータとボールねじの組み合わせによる構成等でも全く同じように適用できる。
また、移動方向が、直線動作でなく、２次元平面を自由に動作するアクチュエータや、３次元的に動作するアクチュエータに対しても、それぞれの、移動成分をベクトルで表現し、各ベクトル成分毎に、本方式を適用すれば、全く同じ効果が得られる。
本制御装置の推力計算部、位置計算部、誤差補償部は、一つのＣＰＵを用い、同じ制御周期で演算されることが望ましいが、演算量の問題などがある場合は、それぞれ異なった制御周期で演算しても、同様の効果が得られる。また、各構成部毎に別ＣＰＵを用いて演算させても同様の効果が得られる。
【図面の簡単な説明】
【００２０】
【図１】一番目の可動部に適用される本発明に係る多軸サーボ制御装置の制御構成図である。
【図２】本発明に係る誤差補償部の処理を示す図である。
【図３】本発明に係る制御対象モデルを表すブロック図である。
【図４】本発明に係る多軸サーボ制御装置を含む多軸サーボ装置の全体構成を示すブロック図である。
【図５】本発明に係る制御対象の概念を示す図である。
【図６】本発明に係る多軸サーボ制御装置を含む全体構成の別の例を示すブロック図である。
【符号の説明】
【００２１】
１  推力計算部
２  位置計算部
３  誤差補償部
４  加算器
５  制御対象
１０，６０  上位コントローラ
１１〜９１  サーボ制御回路
１２〜９２  サーボ アンプ
１３〜９３  サーボ モータ
１４〜９４  移動テーブル
１５〜９５  エンコーダ（ＰＧ）
１６〜９６  ボールねじ
３１〜３３  モータの伝達関数
３４〜３６  逆伝達関数
３７、５１  振動を有する機台
３８  加算器
５２（５２１〜５２ｎ）  可動部
５３１〜５３４  アンカ（足）
６１  各軸共用の多軸サーボ制御装置
Ｍｂ  機台の質量
Ｍ１〜Ｍｎ  可動部の質量
Ｋｂ  各アンカのばね要素のばね定数合計
【図１】
2005032101.tif 000010
【図２】
2005032101.tif 000011
【図３】
2005032101.tif 000012
【図４】
2005032101.tif 000013
【図５】
2005032101.tif 000014
【図６】
2005032101.tif 000015