説明

位置決め装置

【課題】バックラッシに起因する位置決め精度の低下を抑えることのできる位置決め装置を提供する。
【解決手段】位置決め装置のコントローラは、正方向用の補正マップと逆方向用の補正マップ、及び、移動台を移動させる際の基準位置を記憶している。コントローラは、以下の処理、即ち、(1)移動台が基準位置から既定の閾値以上離れた位置に移動した場合に移動先の位置を新たな基準位置に設定する更新処理、(2)基準位置と目標位置との間の距離が閾値以上の場合には、現在位置から目標位置への移動方向と同一方向用の補正マップを用いてセンサによる位置計測値を補正し、基準位置と目標位置との間の距離が閾値未満であり、かつ、最新の基準位置が設定されてから1回は移動方向が反転している場合には、両方向の補正マップを用いてセンサによる位置計測値を補正する補正処理、(3)補正後の位置計測値を目標位置に一致させる制御処理と、を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置決め装置に関する。本発明の位置決め装置は、例えば、半導体ウエハを位置決めする装置、あるいは、チップマウンタにおけるチップを位置決めする機構などに応用され得る。
【背景技術】
【0002】
製品の高度化に伴い、製造装置などに要求される位置決め精度は高まるばかりである。位置決め精度を向上させる技術として、例えば、特許文献1には、予めその位置が厳密に計測された複数のマーカを記した基準スケールを位置決め装置の移動台に載せたカメラで撮影し、位置決め装置のセンサで計測した移動台の位置計測値をカメラで捉えた基準スケールの画像で補正する技術が開示されている。
【0003】
なお、本明細書が開示する技術について次の点に留意されたい。XYステージはXとYの2方向の位置決め自由度を有している。ある種のチップマウンタはXとYとZの3方向の位置決め自由度を有している。また別の種類のチップマウンタはXとY、及び、Z軸周りの3方向の位置決め自由度を有している。本明細書が開示する技術は、1自由度の位置決め装置に関するが、複数自由度の夫々に適用することができ、複数自由度の位置決め装置にも適用可能である。また、本明細書における「位置」とは、併進方向の位置だけでなく、角度を含む概念であることにも留意されたい。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平7−190741号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の技術は、位置決め装置が本来有する計測器(位置計測用のセンサ)の他に別の位置誤差補正用の機器(基準スケールと画像センサ)を必要とする。そのため、コストが嵩む。本明細書は、位置決め装置が本来有している位置計測用のセンサを巧みに使って位置決め精度を従来よりも向上させる技術を提供する。
【課題を解決するための手段】
【0006】
通常の位置決め装置は、移動台を正方向と逆方向のいずれにも移動させることができる。なお、ここで、「正方向」とは特定の方向(例えばX軸の正方向や、X軸周りの時計回り方向)を意味せず、「逆方向」と対をなす言葉であることに留意されたい。移動台を正方向と逆方向に移動させる位置決め装置の場合、機構のバックラッシがセンサの計測誤差の要因となり得る。即ち、移動台の移動方向が反転することが位置決め精度低下の一因となる。「バックラッシレス」を謳い文句としている機構も存在するが、微視的にみると機構には必ずバックラッシが存在する。本明細書は、このバックラッシに起因する位置決め精度の低下を抑える技術を提供する。
【0007】
移動方向が一方向に限られているのであれば、移動台をその一方向に移動させた場合における移動台の正確な位置とセンサによって計測された位置とのずれ量を複数の位置にて予め計測して対応付けた補正マップを用意し、その補正マップに基づいてセンサ出力(位置計測値)を補正することが考えられる。逆方向の移動についても同様の補正マップを用意することが考えられる。バックラッシの影響は、当然に移動方向が反転したときに現れる。バックラッシの影響を受ける場合は、目標位置への移動方向と同じ方向の補正マップを単純に適用するわけにはいかない。そこで本願の発明者らは、正方向の補正マップと逆方向の補正マップを巧みに用い、センサ出力を補正する際にバックラッシの影響を低減する手法を確立した。
【0008】
本願の発明者らの検討によると、バックラッシの影響は、反転後の移動量が所定の大きさ以下であるときに現れることを見出した。本明細書が開示する技術の一つの特徴は、反転後の移動量が所定の大きさ以下であるとき、2つの補正マップを用いてセンサによる位置計測値を補正することにある。
【0009】
本明細書が開示する位置決め装置の一態様は、移動台を正方向と逆方向のいずれの方向にも移動させることができるアクチュエータと、移動台の位置を計測するセンサと、センサによる位置計測値に基づいて移動台を目標位置へ移動させるコントローラと、を備える。そのコントローラは、以下のデータを記憶している。一つは、移動台を正方向に移動させた場合における移動台の正確な位置とセンサによる位置計測値とのずれ量を複数の位置にて予め計測して対応付けた正方向用の補正マップである。一つは、移動台を逆方向に移動させた場合における移動台の正確な位置とセンサによる位置計測値とのずれ量を複数の位置にて予め計測して対応付けた逆方向用の補正マップである。コントローラはさらに、移動台を移動させる際の基準位置を記憶している。「基準位置」は、後述するように適宜に更新される。基準位置の初期値は、例えば、装置に電源が入れられたときの移動台の位置に設定される。
【0010】
コントローラは、次の処理を実行するように構成されている。
(1)移動台を基準位置から既定の移動量閾値以上離れた位置に移動した場合に移動先の位置を新たな基準位置に設定する基準位置更新処理。
(2)基準位置と目標位置との間の距離が移動量閾値以上の場合には、現在位置から目標位置への移動方向と同一方向用の補正マップを用いてセンサによる位置計測値を補正し、基準位置と目標位置との間の距離が移動量閾値未満であり、かつ、最新の基準位置が設定されてから少なくとも1回は移動方向が反転している場合には、両方向用の補正マップを用いてセンサによる位置計測値を補正する補正処理。ここで、「最新の基準位置が設定されてから少なくとも1回は移動方向が反転している場合」には、移動台の現在位置から目標位置への移動方向が、直前の移動方向(即ち、現在位置へ移動してきたときの移動方向)と異なる場合、即ち、次の移動で反転が生じる場合を含む。
(3)移動台の補正後の位置計測値が目標位置に一致するようにアクチュエータを制御する駆動制御処理。
【0011】
いずれかの方向用の補正マップを用いる補正は、典型的には、補正マップにて離散的に与えられている位置とずれ量(即ち補正量)との関係を補間して位置計測値における補正量を求め、求めた補間量を位置計測値に加算(あるいは減算)する。両方向用の補正マップを用いてセンサによる位置計測値を補正する場合は、好適には、正方向用の補正マップに基づく補正量と逆方向用の補正マップに基づく補正量の平均値によって、センサによる位置計測値を補正する。「補正マップに基づく補正量」とは、典型的には、前述した補間によって求める補正量である。また、平均値は、2つの補正マップに基づく補正量の単純平均でもよいが、所定の重みを加えた加重平均であってもよい。
【0012】
上記の処理、特に、補正処理の概要を、図1を参照して説明する。図1の横軸は位置決め装置の移動台の位置を示しており、縦軸は時間を示している。今、位置決め装置のコントローラは、移動台の位置をP1→P2→P3→P4→P5→P6→P7の順に移動すると仮定する。基準位置は、最初は位置P1に設定されている。第1回目の移動では、コントローラは移動台をP1からP2へ移動する(図1中の(1))。このとき、基準位置P1と目標位置P2との間の距離は移動量閾値DLよりも大きいので、コントローラは、現在位置P1から目標位置P2への移動方向と同一方向用の補正マップ(即ち正方向用の補正マップ)を用いてセンサによる位置計測値を補正し、補正後の位置計測値に基づいてアクチュエータを駆動し、移動台を移動させる。このときの移動距離は移動量閾値DLよりも大きいので、コントローラは基準位置を現在位置P2に更新する。
【0013】
第2回目の移動では、コントローラは、移動台を現在位置P2から目標位置P3へ移動する(図1中の(2))。このときの移動距離は移動量閾値DLよりも小さいが、最新の基準位置が設定されてから(即ち、基準位置がP2に設定されてから)1回も移動方向が反転していないので、コントローラは、現在位置P2から目標位置P3への移動の際には正方向用の補正マップを用いて位置計測値を補正し、補正後の位置計測値に基づいてアクチュエータを駆動し、移動台を移動させる。
【0014】
第3回目の移動では、コントローラは、移動台を現在位置P3から目標位置P4に移動する(図1中の(3))。第3回目の移動では移動方向が反転する(移動方向は図中の左方向から右方向に反転する)。そして、基準位置P2と目標位置P4との間の距離が移動量閾値DLよりも小さいので、コントローラは、現在位置P3から目標位置P4への移動の際には正方向用の補正マップと逆方向用の補正マップの両方を用いて位置計測値を補正し、補正後の位置計測値に基づいて移動台を移動させる。
【0015】
第4回目の移動では、コントローラは、移動台を現在位置P4から目標位置P5に移動する(図1中の(4))。第4回目の移動でも移動方向が反転する。そして、基準位置P2と目標位置P5との間の距離が移動量閾値DLよりも小さいので、コントローラは、現在位置P4から目標位置P5への移動の際にも正方向用の補正マップと逆方向用の補正マップの両方を用いて位置計測値を補正し、補正後の位置計測値に基づいて移動台を移動させる。
【0016】
第5回目の移動では、コントローラは、移動台を現在位置P5から目標位置P6に移動する(図1中の(5))。第5回目の移動方向は、前回の移動方向と同じである(図中右方向)。しかし、最新の基準位置が設定されてから(即ち、基準位置がP2に設定されてから)、2回、移動方向が反転している(第3回目の移動時と第4回目の移動時)。そして、基準位置P2と目標位置P6との間の距離が移動量閾値DLよりも小さいので、コントローラは、現在位置P5から目標位置P6への移動の際にも正方向用の補正マップと逆方向用の補正マップの両方を用いて位置計測値を補正し、補正後の位置計測値に基づいて移動台を移動させる。
【0017】
第6回目の移動では、コントローラは、移動台を現在位置P6から目標位置P7に移動する(図1中の(6))。第6回目の移動方向は、前回の移動方向から反転している。しかし、基準位置P2と目標位置P7との間の距離が移動量閾値DLよりも大きいので、コントローラは、現在位置P6から目標位置P7への移動の際には、逆方向用(図中の左方向)の補正マップだけを用いて位置計測値を補正し、補正後の位置計測値に基づいて移動台を移動させる。なお、第6回目の移動では、コントローラは、基準位置P2から移動量閾値DL以上離れた位置P7に移動台を移動したので、移動先の位置P7を新たな基準位置に設定する。
【0018】
以上の説明から明らかなとおり、本発明の位置決め装置は、移動台が元の基準位置から移動量閾値DL以上移動した場合に移動先の位置を新たな基準位置に設定し、その後は新たな基準位置から移動量閾値の距離の範囲内での移動であれば(ただし、少なくとも1回は移動方向の反転が生じたのち)、正逆両方向用の補正マップを用いて位置計測値を補正する。他方、移動台を新たな基準位置から移動量閾値以上離れた位置に移動させる場合には、その移動方向に合致する補正マップだけを用いて位置計測値を補正する。発明者らの検討によると、移動量閾値の範囲内での移動ではバックラッシの影響が残るので、センサによる位置計測値を単純に一方の補正マップで補正するより、正逆両方向の補正マップで補正した方が、位置精度が向上することを見出した。上記説明したコントローラの処理は、発明者らのこの知見に基づくものである。
【0019】
なお、前述したように、本明細書が開示する技術は、併進方向の位置決め装置だけでなく、回転方向の位置決め(角度決め)装置に適用することもできる。また、本明細書が開示する実施例は1次元(1自由度)の位置決め装置に関するものであるが、本明細書が開示する技術は多次元(多自由度)を有する位置決め装置の各自由度に適用することもできることに留意されたい。
【発明の効果】
【0020】
本発明によれば、バックラッシに起因する位置決め精度の低下を抑えた位置決め装置を実現することができる。
【図面の簡単な説明】
【0021】
【図1】本発明による位置決め装置の処理を説明するタイムチャートである。
【図2】実施例の位置決め装置の模式図である。
【図3】補正マップの一例を示す。
【図4】位置決め制御処理のフローチャート図である。
【図5】移動指示処理のフローチャート図である。
【図6】移動方向記憶切替処理のフローチャート図である。
【図7】移動方向記憶切替処理のフローチャート図である(図6の続き)。
【図8】移動指示のシーケンス例を示す。
【図9】移動指示の他のシーケンス例を示す。
【発明を実施するための形態】
【実施例1】
【0022】
第1実施例について説明する。実施例の位置決め装置100の模式図を図2に示す。この位置決め装置100は、半導体ウエハWのノッチWaを所定の方向に向ける回転ステージである。ウエハWは、移動台2に載置される。移動台2の位置(回転角)は、リニアスケール4(移動台2の回転角を計測するセンサ)で計測される。リニアスケール4による位置計測値(移動台2の回転角の計測値)は、コントローラ10に送られる。コントローラ10では、I/O12を介して位置計測値がCPU16に送られる。CPU16が実行する処理は、記憶装置18に格納されたプログラムに記述されている。CPU16は、プログラムに基づき、移動台2の現在位置(即ち位置計測値)が目標位置に一致するように、モータ6を制御する。より具体的には、CPU16は、モータドライバ14に指令値を出力する。指令値に基づき、モータドライバ14がモータ6を駆動する。
【0023】
記憶装置18には、CPU16が実行するプログラムの他に、正方向用の補正マップ、逆方向用の補正マップ、基準位置、及び、移動量閾値が記憶されている。また、「基準位置」は、後述するように適宜に更新される。最初は、ゼロ[deg](リニアスケール4の位置計測値がゼロ[deg])が基準位置に設定されている。移動量閾値は、補正マップを使い分けるための数値であり、予め定められている。
【0024】
ここで、「正方向」とは、移動台2を上からみたときの時計回り方向に相当し、「逆方向」とは、反時計回り方向に相当する。なお、この定義は一例であり、全く正反対の定義をしてもかまわない。即ち、「正方向」と「逆方向」は対をなすことに意味があり、「正方向」だけに特定の意味があるのではないことに留意されたい。「正方向」を「第1方向」と称し、「逆方向」を「第1方向とは反対の第2方向」と称してもよいことに留意されたい。
【0025】
正方向用の補正マップとは、リニアスケール4の位置計測値に基づいて、移動台2を正方向(時計回り方向)に10度ずつ回転させたときの移動台2の正確な位置をリニアスケール4の位置計測値と対応付けたテーブルである。逆方向用の補正マップとは、リニアスケール4の位置計測値に基づいて、移動台2を逆方向(反時計回り方向)に10度ずつ回転させたときの移動台2の正確な位置をリニアスケール4の位置計測値と対応付けたテーブルである。補正マップは、予め準備され記憶装置18に記憶される。移動台2の正確な位置は、たとえばレーザ計測器によって求められる。例えば、リニアスケール4による計測精度の100倍の高精度で移動台の位置を計測することができるレーザ計測器が用いられる。図3(A)に、正方向用の補正マップの一例を示し、図3(B)に、逆方向用の補正マップの一例を示す。この例では、移動台2を正方向に回転させる場合において、リニアスケール4が10.0[deg]を示すときの正確な位置は10.2[deg]であり、その差(ずれ量)は+0.2[deg]である。また、リニアスケール4が20.0[deg]を示すときの正確な位置は20.3[deg]であり、その差(ずれ量)は+0.3[deg]である。また、移動台2を逆方向に回転させる場合において、リニアスケール4が−10.0[deg]を示すときの正確な位置は−9.9[deg]であり、その差(ずれ量)は+0.1[deg]である。また、リニアスケール4が−20.0[deg]を示すときの正確な位置は−19.5[deg]であり、その差(ずれ量)は+0.5[deg]である。正方向用(逆方向用)の補正マップは、移動台2を正方向(逆方向)に移動させた場合における移動台2の正確な位置とリニアスケール4による位置計測値とのずれ量を複数の位置にて予め計測して対応付けたものである。
【0026】
補正マップに記された「ずれ量」が、そのずれ量に対応付けられた位置計測値に対する補正量に相当する。例えば、リニアスケール4が0.0[deg]を示している状態から20.0[deg]を示す状態まで、移動台2を正方向に回転させた場合、正方向の補正マップ(図3(A))を参照し、リニアスケール4の位置計測値20.0[deg]に、そのときのずれ量(補正量)+0.3[deg]を加算した値が正確な位置(補正後の位置計測値)となる。コントローラ10は、補正後の位置計測値が目標位置に一致するようにモータ6を制御する。
【0027】
コントローラ10が実行する位置決め制御処理を説明する。図4は、位置決め制御処理のフローチャート図である。図4以降のフローチャートの処理は、記憶装置18に格納されたプログラムに記述されている。
【0028】
図4の処理は、上位のコントローラから位置決め装置100のコントローラ10へ、移動台2の目標位置が与えられるとスタートする。コントローラ10はまず、記憶装置18に記憶されている基準位置を読み出すとともに、移動台2の現在位置を取得する(S2)。なお、リニアスケール4が計測する位置計測値が、移動台2の現在位置に相当する。
【0029】
コントローラ10は、基準位置と目標位置との間の距離を移動量閾値と比較する。基準位置と目標位置との間の距離が移動量閾値よりも大きい場合にはステップS4に処理が移り、そうでない場合にはステップS13に処理が移る。なお、移動予定距離が移動量閾値に等しい場合に処理がステップS4とS13のいずれに移るかは、適宜に定めればよい。
【0030】
ステップS3以降の処理を概説すると次の通りである。コントローラ10は、基準位置と目標位置との間の距離が移動量閾値よりも小さく、かつ、最新の基準位置が設定されてから過去に移動方向の反転が生じていれば、2つの補正マップを使ってリニアスケール4の位置計測値を補正し、そうでない場合は目標位置への移動方向に対応する補正マップを使ってリニアスケール4の位置計測値を補正する。そしてコントローラ10は、補正後の位置計測値が目標位置に一致するように移動台2を駆動する。
【0031】
図4のフローチャートに沿って説明を続ける。コントローラ10は、基準位置と目標位置との間の距離が移動量閾値よりも大きい場合(ステップS3:YES)、あるいは、基準位置と目標位置との間の距離が移動量閾値よりも小さいが、最新の基準位置が設定された後に移動方向の反転がなかった場合(ステップS3:NO、ステップS13:NO)、ステップS4の処理に移行する。ステップS4では、コントローラ10は、移動台2の現在位置から目標位置への移動方向を特定し、その方向と同じ方向の補正マップを選択する。例えば、移動方向が正方向であれば、図3(A)に示した正方向用の補正マップを選択する。
【0032】
ステップS5からS8までのループは、移動台2の位置を目標位置まで移動させるためのモータ制御のルーチンである。ここでは、コントローラ10は、まずリニアスケール4の位置計測値(即ち移動台2の現在位置)を取得する(S5)。次にコントローラ10は、取得した位置計測値を、ステップS4にて選択した補正マップを使って補正する(S6)。具体的な補正処理は次の通りである。図3(A)に示すように、補正マップには、10[deg]間隔で、位置計測値と正確な値(高精度計測値)とそれらの間のずれ量が対応付けられている。コントローラ10は、補正マップに記された位置のうち、ステップS5で取得した位置計測値に近い2地点を抽出し、それら2地点の間を補間し、位置計測値に対するずれ量を算出する。コントローラ10は、ステップS5で取得した位置計測値に、算出したずれ量を加算する。即ち、「ずれ量」が補正量に相当する。ずれ量加算後の位置計測値が、補正後の位置計測値に相当する。コントローラ10は、補正後の位置計測値が目標位置に一致するまで、モータ6を制御する(S7、S8)。
【0033】
なお、基準位置と目標位置との間の距離が移動量閾値よりも大きかった場合(S3:YES)、コントローラ10は、移動台2を目標位置まで移動させた後(S8:YES)、その目標位置(即ちそのときの現在位置)を新たな基準位置に設定する(S9)。ここで、図4のフローチャートでは図示を省略しているが、ステップS9の処理は、ステップS13の判定がNOの場合(即ち、基準位置と目標位置との間の距離は移動量閾値よりも大きくはないが移動方向の反転が1回もなかった場合)は、実行されないことに留意されたい。
【0034】
他方、基準位置と目標位置との間の距離が移動量閾値よりも大きくない場合(ステップS3:NO)、コントローラ10は、最新の基準位置が設定されてから少なくとも1回は移動方向が反転しているか否かを判断する(S13)。基準位置の更新については後述する。また、基準位置が一回も更新されていない場合は、初期値の基準位置が、「最新の基準位置」に相当する。さらに、「最新の基準位置が設定されてからの移動方向」には、移動台2の現在位置から目標位置へ向かう移動方向が含まれる。即ち、移動台2の現在位置から目標位置へ向かう移動方向が、直前の移動方向(現在位置へ至った際の移動方向)と異なる場合も、ステップS13の判断は「YES]となる。移動方向の反転がなかった場合にはステップS4に移行する。ステップS4以降の処理については前述した。
【0035】
最新の基準位置が設定されてから少なくとも1回は移動方向が反転している場合(S13:YES)、コントローラ10は、両方向の補正マップを選択する(S14)。以降、コントローラ10は、両方向の補正マップを使って位置計測値を補正しながら、移動台2が目標位置に到達するまでモータを制御する(S15〜S18)。ステップS16における補正処理は、ステップS6における補正処理とは異なる。ステップS16における補正処理は、具体的には次の通りである。コントローラ10は、正方向用の補正マップと逆方向用の補正マップの夫々に対して補間演算を行い、ステップS15で取得した位置計測値に対するずれ量(補正量)を算出する。即ち、正方向用の補正マップに基づく補正量(以下、正方向補正量と称する)と、逆方向用の補正マップに基づく補正量(以下、逆方向補正量と称する)を算出する。コントローラ10は、正方向補正量と逆方向補正量の平均値を、最終的な補正量として位置計測値に加算する。
【0036】
以上、説明したフローチャートに基づく動作の一例は、図1を使って説明した通りである。上記した位置計測値の補正処理の技術的意義を説明する。移動台を正方向(逆方向)に大きく移動する場合は、その方向に対応した補正マップに基づいて位置計測値を補正すればよい(ステップS4からS8の処理)。移動方向が反転すると、バックラッシの影響により、一方向の補正マップだけでは補正が適正ではなくなる。移動方向の反転が発生した場合、正方向の補正マップは適切ではなく、さりとて、逆方向の補正マップも適切ではない。そこで、移動方向の反転が発生した場合は、正方向用の補正マップに基づく補正量と逆方向用の補正マップに基づく補正量の平均で位置計測値を補正する。発明者らの知見によれば、この平均の補正量は、いずれかの補正マップを単独で用いた場合の補正量よりも、位置計測値を正確に補正する。なお、移動方向が反転しても大きく移動する場合にはバックラッシの影響が消滅するのでその移動方向に対応した補正マップに基づく補正で十分精度が保てる(ステップS3:YES、S4からS8)。従って、両方の補正マップを用いるケースは、最新の基準位置が設定されてから移動方向の反転が発生しており(あるいは目標位置への次の移動で発生する予定であり)、かつ、目標位置が基準位置から所定距離の範囲(移動量閾値の範囲)にあるときに限る。なお、基準位置から所定距離以上移動した場合に基準位置を更新するのは(S9)、相当の距離を移動すればバックラッシの影響がリセットされるからである。
【0037】
図4のフローチャートにおけるステップS9の処理が、基準位置更新処理の一例に相当する。また、ステップS3とS13の分岐判断条件に応じて、一方の補正マップで位置計測値を補正する処理(ステップS4〜S6)、及び、両方の補正マップで位置計測値を補正する処理(ステップS14〜S16)が、補正処理の一例に相当する。また、補正後の位置計測値に基づいて移動台2を目標位置まで移動させる処理(ステップS7、S8、S17、S18)が、駆動制御処理の一例に相当する。
【0038】
また、補正処理では、基準位置と目標位置との間の距離が移動量閾値以上の場合には、現在位置から目標位置への移動方向と同一方向用の補正マップを用いて位置計測値を補正し、基準位置と目標位置との間の距離が移動量閾値未満であり、かつ、最新の基準位置が設定されてから少なくとも1回は移動方向が反転している場合(次の移動で移動方向が反転する予定である場合を含む)には、両方向用の補正マップを用いて位置計測値を補正する。今、「基準位置と目標位置との間の距離が移動量閾値未満であり、かつ、最新の基準位置が設定されてから少なくとも1回は移動方向が反転している場合」を、狭範囲内移動条件と名付けると、補正処理は、以下のように表現することもできる。即ち、コントローラ10は、狭範囲内移動条件が成立する場合には両方向用の補正マップを用いてセンサによる位置計測値を補正し、狭範囲内移動条件が成立しない場合には現在位置から目標位置への移動方向と同一方向用の補正マップを用いてセンサによる位置計測値を補正する補正処理を実行する。
【実施例2】
【0039】
第2実施例について説明する。第2実施例の位置決め装置のハードウエア構成は第1実施例と同じである。第2実施例の位置決め装置は、位置決めのアルゴリズムが第1実施例よりも複雑であり高度である。第2実施例のコントローラが実行する処理の概要を以下に述べる。
(1)後述する移動方向記憶A=Bの状態で移動方向(次に移動する予定の方向)が前回の移動方向と逆方向であり、かつ、現在位置から目標位置への移動距離が、移動量閾値以下の場合に、移動前の位置を新たな基準位置に設定する基準位置更新処理。
(2)基準位置と目標位置との間の距離が移動量閾値以上の場合には、現在位置から目標位置への移動方向と同一方向用の補正マップを用いてセンサによる位置計測値を補正し、基準位置と目標位置との間の距離が移動量閾値未満であり、かつ、最新の基準位置が設定されてから少なくとも1回は移動方向が反転している場合には、両方向用の補正マップを用いてセンサによる位置計測値を補正する補正処理。ここで、「最新の基準位置が設定されてから少なくとも1回は移動方向が反転している場合」には、移動台の現在位置から目標位置への移動方向が、直前の移動方向(即ち、現在位置へ移動してきたときの移動方向)と異なる場合、即ち、次の移動で反転が生じる場合を含む。
(3)移動台の補正後の位置計測値が目標位置に一致するようにアクチュエータを制御する駆動制御処理。
【0040】
図5から図8を参照して、第2実施例のコントローラが実行する処理(位置計測値の補正処理)の詳細を説明する。以後の処理においては、コントローラ10は2つのフラグ(パラメータ)、即ち、移動方向記憶Aと移動方向記憶Bを利用する。これらのフラグには、正方向を意味する数値と、逆方向を意味する数値のいずれかが設定される。具体的には、正方向を意味する数値としては「ゼロ」が、逆方向を意味する数値としては「1」が採用される。なお、いずれのフラグも初期値は、共に「正方向」か、あるいは、共に「逆方向」が設定される。
【0041】
コントローラ10はまず、変換前の移動量を取得する(S51)。この変換前の移動量は、リニアスケール4による位置計測値に相当する。次にコントローラ10は、移動方向記憶切替処理を実行する(S52)。この、移動方向記憶切替処理が、移動方向記憶AとBを更新する処理に相当する。移動方向記憶切替処理については、後に、図6と図7を用いて説明するが、概要は次の通りである。移動方向記憶AとBが異なる値である場合が、前述した、最新の基準位置が設定されてから移動方向の反転が発生しており、かつ、目標位置が基準位置から所定距離の範囲(移動量閾値の範囲)にある場合に相当する。移動方向記憶AとBが同じ値である場合が、上記以外の場合に相当する。従って、移動方向記憶AとBが等しいときは(S53:YES)、移動方向に対応する補正マップを選択し(S54)、選択された補正マップに基づいて位置計測値を補正する(S55)。ステップS55の処理は、前述したステップS6の処理に同じであるので説明は省略する。
【0042】
他方、移動方向記憶AとBの値が異なっている場合は(S53:NO)、両方向の補正マップを選択し(S56)、補正値を演算し(S57)、各補正値の重みを演算し(S58)、最終的な補正後の位置計測値を算出する(S59)。なお、前述した図4のステップS16は、ステップS57からS59の演算の一例に相当するが、ここでは、それとは異なる補正演算を説明する。ステップS57からS59の処理は、正逆両方の補正マップに基づく2つの補正量の加重平均をとった補正量で位置計測値を補正する処理である。ステップS57では、各補正マップのテーブルを補間し、位置計測値に対応する補正量を算出する。次に、ステップS58の重み演算は、例えば、次の式が用いられる。
【0043】
[移動方向記憶Aの重み]=1−|移動方向記憶A基準位置−目標位置|/移動量閾値
[移動方向記憶Bの重み]=|移動方向記憶A基準位置−目標位置|/移動量閾値
【0044】
ステップS59における最終補正演算は、例えば次の式が用いられる。
最終演算値=[移動方向記憶Aの重み]×[移動方向記憶Aが示す移動方向に対応する移動方向の補正量]+[移動方向記憶Bの重み]×[移動方向記憶Bが示す移動方向に対応する移動方向の補正量]
【0045】
なお、上式で求められた最終演算値を位置計測値に加算した値が、補正後の位置計測値に相当する。次に、図6と図7を用いて、移動方向記憶切替処理を説明する。
【0046】
まず、コントローラ10は、移動方向記憶があるか否かをチェックする(S61)。移動方向記憶がない場合(S61:NO)、移動方向記憶AとBの双方に、次の移動方向を代入する(S84)。ここで、「次の移動方向」とは、現在位置から目標位置へ向かう移動方向である。
【0047】
移動方向記憶がある場合(S61:YES)、コントローラ10は、移動方向記憶Aと移動方向記憶が等しいか否かをチェックする(S62)。移動方向記憶Aと移動方向記憶Bが等しい場合(S62:YES)、コントローラ10は、次の移動方向が移動方向記憶と等しいか否かをチェックする(S63)。ステップS63における移動方向記憶は、移動方向記憶Aでも移動方向記憶Bでもよい。なぜならば、両者は同じ値であるからである(ステップS62を参照のこと)。次の移動方向が移動方向記憶と等しい場合(S63:YES)、コントローラ10は、移動方向記憶を変更することなく処理を終了する(S85)。他方、次の移動方向が移動方向記憶と異なる場合(S63:NO)、コントローラ10は、現在位置から目標位置への移動距離が、移動量閾値以上であるか否かをチェックする(S64)。ステップS64の判断結果が「YES」の場合、コントローラ10は、移動方向記憶Aと移動方向記憶Bを同じ値に更新し(S65)、処理を終了する。ステップS64の判断結果が「NO」の場合、コントローラ10は、移動方向記憶A基準位置を記憶する(S66)。次いでコントローラ10は、移動方向記憶Bを次の移動方向に変更し(移動方向記憶Aは変更せず)、処理を終了する(S67)。
【0048】
ステップS62の判断結果が「NO」の場合、コントローラ10は、次の移動方向が移動方向記憶Bと同じか否かをチェックする(S71)。ステップS71の判断結果が「YES」の場合、コントローラ10は、目標位置と移動方向記憶A基準位置との間の距離が移動量閾値以上であるか否かをチェックする(S72)。ステップS72の判断結果が「YES」の場合、コントローラ10は、移動方向記憶Aを移動方向記憶Bと同じ値に更新し(S73)、処理を終了する。ステップS72の判断結果が「NO」の場合、コントローラ10は、移動方向記憶を変更することなく(S85)、処理を終了する。
【0049】
ステップS71の判断結果が「NO」の場合、コントローラ10は、移動方向記憶Aに設定された移動方向をチェックする(S81)。移動方向記憶Aに正方向が記憶されている場合(S81:正方向)、コントローラ10は、目標位置から移動方向記憶A基準位置を減算した結果がゼロ以上であるか否かをチェックする(S82)。ステップS82の判断結果が「YES」であれば、コントローラ10は、移動方向記憶Bを移動方向記憶Aと同じ値に更新し(S86)、処理を終了する。他方、ステップS82の判断結果が「NO」の場合、コントローラ10は、移動方向記憶を変更することなく(S85)、処理を終了する。
【0050】
ステップS81の判断において移動方向記憶Aに逆方向が記憶されている場合(S81:逆方向)、コントローラ10は、目標位置から移動方向記憶A基準位置を減算した結果がゼロ以下であるか否かをチェックする(S83)。ステップS83の判断結果が「YES」であれば、コントローラ10は、移動方向記憶Bを移動方向記憶Aと同じ値に更新し(S86)、処理を終了する。他方、ステップS83の判断結果が「NO」の場合、コントローラ10は、移動方向記憶を変更することなく(S85)、処理を終了する。
【0051】
図5のステップS53において、上記のごとく適宜に更新された移動方向記憶Aと移動方向記憶Bの値に基づいて、目標位置への移動方向に対応する補正マップを用いるか、両方向の補正マップを用いるかが判断される。
【0052】
図6と図7のフローチャートに沿った処理の例を説明する。図8に、移動台2の移動シーケンスの一例を示す。この例では、移動台2は最初に位置ゼロ[deg]に位置している。また、移動方向記憶Aと移動方向Bには共に初期値「逆方向」に設定されているとする。さらに、移動量閾値は5[deg]に設定されているとする。
【0053】
コントローラ10は、移動台2を、まずゼロ[deg]から45[deg]に移動する(シーケンス1)。このシーケンス1では現在位置がゼロ[deg]であり目標位置が45[deg]である。次に、コントローラ10は、移動台2を45[deg]の位置から43[deg]の位置に移動する(シーケンス2)。このシーケンス2では、現在位置が45[deg]であり目標位置が43[deg]である。即ち、シーケンス2の段階で移動方向が反転する。次にコントローラ10は、移動台2を43[deg]の位置から35[deg]の位置へ移動する(シーケンス3)。なお、別の事例として、シーケンス2の後、移動台2を43[deg]の位置から55[deg]の位置へ移動させるシーケンス3’についても説明を加える。
【0054】
シーケンス1における処理フローを説明する。動作方向記憶があるから、ステップS61の判断結果は「YES」となる。次に、この段階では、移動方向記憶A=B=「逆方向」(初期値)であるから、ステップS62の判断結果も「YES」となる。シーケンス1では、現在位置(0[deg])から目標位置(45[deg])への移動であるから、その移動方向(即ち「次の移動方向」)は「正方向」である。従って、ステップS63の判断結果は「NO」となる。現在位置(0[deg])から目標位置(45[deg])への移動距離は45[deg]である。この距離は移動量閾値に設定されている5[deg]よりも大きい。従って、ステップS64の判断結果は「YES」となる。次にステップS65に進み、コントローラ10は、移動方向記憶Aと移動方向記憶Bに同じ値「正方向」を設定する。以上の処理の結果、シーケンス1においては、移動方向記憶AとBには共に「正方向」が設定される。
【0055】
シーケンス2における処理フローを説明する。なお、シーケンス2の直前では、移動方向記憶AとBには共に「正方向」が設定されている。このシーケンスにおいても、動作方向記憶があるから、ステップS61の判断結果は「YES」となる。次に、移動方向記憶A=B=「正方向」(シーケンス1の結果)であるから、ステップS62の判断結果も「YES」となる。シーケンス2では、現在位置(45[deg])から目標位置(43[deg])への移動であるから、その移動方向(即ち「次の移動方向」)は「逆方向」である。従って、ステップS63の判断結果は「NO」となる。現在位置(45[deg])から目標位置(43[deg])への移動距離は2[deg]である。この移動距離は移動量閾値に設定されている5[deg]よりも小さい。従って、ステップS64の判断結果は「NO」となる。次にステップS66に進み、コントローラ10は、現在位置45[deg]を移動方向記憶A基準位置として記憶する(移動方向記憶A基準位置を更新する)。最後にコントローラ10は、ステップS67において、移動方向記憶Bに次の移動方向である「逆方向」を設定し、処理を終了する。なお、ステップS67においては、移動方向記憶Aは変更されない。結局、シーケンス2の終了時点で移動方向記憶Aには「正方向」が設定され、移動方向記憶Bには「逆方向」が設定される。
【0056】
シーケンス3における処理フローを説明する。このシーケンスにおいても、動作方向記憶があるから、ステップS61の判断は「YES」となる。次に、移動方向記憶A=「正方向」、B=「逆方向」(シーケンス2の結果)であるから、ステップS62の判断結果は「NO」となり、ステップS71に移行する。シーケンス3では、現在位置(43[deg])から目標位置(35[deg])への移動であるから、その移動方向(即ち「次の移動方向」)は「逆方向」である。従って、ステップS71の判断結果は「YES」となる。現在位置(43[deg])から目標位置(35[deg])への移動距離は8[deg]である。この移動距離は移動量閾値に設定されている5[deg]よりも大きい。従って、ステップS72の判断結果は「YES」となる。次にステップS73に進み、コントローラ10は、移動方向記憶Aを、移動方向記憶Bと同じ「逆方向」に設定する。結局、シーケンス3の終了時点では移動方向記憶AとBには共に「逆方向」が設定されることになる。
【0057】
シーケンス2の次にシーケンス3’を実行する場合の処理フローを説明する。このシーケンスにおいても、動作方向記憶があるから、ステップS61の判断結果は「YES」となる。次に、移動方向記憶A=「正方向」、移動方向記憶B=「逆方向」(シーケンス2の結果)であるから、ステップS62の判断結果は「NO」となりステップS71に移行する。シーケンス3’では、現在位置(43[deg])から目標位置(55[deg])への移動であるから、その移動方向(即ち「次の移動方向」)は「正方向」である。従って、ステップS71の判断結果は「NO」となる。次にコントローラ10は、ステップS81にて、移動方向記憶Aをチェックする。この場合、移動方向記憶Aには「正方向」が設定されている。従って処理はステップS82に移る。現在位置(43[deg])から目標位置(55[deg])への移動距離は12[deg]である。この移動距離は移動量閾値に設定されている5[deg]よりも大きい。従って、ステップS82の判断結果は「YES」となる。最後にコントローラ10は、ステップS86に進み、移動方向記憶Bを移動方向記憶Aと同じ「正方向」に更新し、処理を終了する。
【0058】
以上例示したように、現在位置と目標位置、及び、移動方向記憶A基準位置の値に応じて、移動方向記憶Aと移動方向記憶Bの値が適宜に更新される。コントローラ10は、それらの値に応じて、一方向の補正マップで位置計測値を補正するか、両方向の補正マップで位置計測値を補正するかを切り換える(図5のステップS53)。
【0059】
なお、位置決め装置100は、移動台2を制御せず、移動台の現在位置を取得するだけの場合も、2つの補正マップを使い分けて位置計測値を補正する。その場合の処理は、図5のフローチャートの処理と同様である。
【0060】
図5〜図7のフローチャートに沿った処理の他の例を説明する。図9に、移動台2の移動シーケンスの別の例を示す。なお、以下で用いる「SQ」は「シーケンス」を意味し、図9の「シーケンスNo」に相当することに留意されたい。例えば、「SQ1」は図9のシーケンスNoが「1」の行に相当し、「SQ4−1」は、図9のシーケンスNoが「4−1」の行に相当する。図9は、4通りの移動シーケンスの例を示している。即ち、(1)SQ1→SQ2→SQ3→SQ4−1→SQ5→SQ6、(2)SQ1→SQ2→SQ3→SQ4−2→SQ5→SQ6、(3)SQ1→SQ2→SQ3→SQ4−3→SQ5→SQ6、及び、(4)SQ1→SQ2→SQ3→SQ4−4→SQ5→SQ6、の4例を示している。図9に示す移動記憶A、Bは、図5〜図7の処理の結果で定まり、コントローラが記憶する。移動シーケンスの一例は図8を参照して一通り説明しているので、ここでは詳しい説明は省略する。なお、図9の「基準位置記憶」の欄における丸印は、基準位置記憶を更新したことを示しており、「基準位置記憶」が空欄の箇所は、基準位置記憶が更新されなかったことを示していることに留意されたい。
【0061】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0062】
2:移動台
4:リニアスケール(位置を計測するセンサ)
6:モータ(アクチュエータ)
10:コントローラ
12:I/O
14:モータドライバ
16:CPU
18:記憶装置
100:位置決め装置

【特許請求の範囲】
【請求項1】
位置決め装置であり、
移動台を正方向と逆方向のいずれの方向にも移動させることができるアクチュエータと、
移動台の位置を計測するセンサと、
センサによる位置計測値に基づいて移動台を目標位置へ移動させるコントローラと、
を備えており、コントローラは、
移動台を正方向に移動させた場合における移動台の正確な位置とセンサによる位置計測値とのずれ量を複数の位置にて予め計測して対応付けた正方向用の補正マップと、
移動台を逆方向に移動させた場合における移動台の正確な位置とセンサによる位置計測値とのずれ量を複数の位置にて予め計測して対応付けた逆方向用の補正マップと、
移動台を移動させる際の基準位置と、
を記憶しているとともに、以下の処理、即ち、
移動台を基準位置から既定の移動量閾値以上離れた位置に移動した場合に移動先の位置を新たな基準位置に設定する基準位置更新処理と、
基準位置と目標位置との間の距離が移動量閾値以上の場合には、現在位置から目標位置への移動方向と同一方向用の補正マップを用いてセンサによる位置計測値を補正し、基準位置と目標位置との間の距離が移動量閾値未満であり、かつ、最新の基準位置が設定されてから少なくとも1回は移動方向が反転している場合には、両方向用の補正マップを用いてセンサによる位置計測値を補正する補正処理と、
補正後の位置計測値が目標位置に一致するようにアクチュエータを制御する駆動制御処理と、
を実行することを特徴とする位置決め装置。
【請求項2】
コントローラは、両方向用の補正マップを用いてセンサによる位置計測値を補正する場合、正方向用の補正マップに基づく補正量と逆方向用の補正マップに基づく補正量の平均値によって、センサによる位置計測値を補正することを特徴とする請求項1に記載の位置決め装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−163407(P2012−163407A)
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願番号】特願2011−23084(P2011−23084)
【出願日】平成23年2月4日(2011.2.4)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】