(57)【特許請求の範囲】
【請求項１】
外部から入力される目標値に応じて三次元の運動空間を持つ運動機械の動作位置制御を行うための位置制御手段、この位置制御手段による前記運動機械の動作位置を検出する位置検出手段、及び前記動作位置を前記目標値に一致させるべく前記位置検出手段の出力により前記位置制御手段を帰還制御する帰還手段を有する位置制御ループと、
この位置制御ループの外に配置されて、前記位置検出手段の出力値について指令空間と前記運動空間との空間誤差を所定の補正関数を用いて補正して測定値として出力する空間誤差補正演算手段と、
前記制御ループの外に配置されて、前記指令空間上の座標値を初期近似解として前記補正関数を用いた反復法により前記運動空間上の座標値に逆補正して前記制御ループに入力する目標値とする逆補正演算手段とを有し、
前記逆補正演算手段は、前記指令空間上の座標値を初期近似解とし、これを前記補正関数に与えて空間誤差補正分を求め、得られた空間誤差補正分を前記初期近似解に加算して補正値を求め、前記初期近似解からこの補正値を減算した差分値を求め、この差分値が所定の収束判定値より小さいか否かを判定し、収束条件を満たさない場合には前記初期近似解に前記差分値を加算して前記目標値の次の近似解とし、以下収束条件を満たすまで同様の反復演算によって前記制御ループの入力目標値を算出するものであって、
前記運動機械の三次元のうち最大となる軸の寸法をＬ［ｍｍ］、前記逆補正演算手段の有効演算桁数をＮ、前記収束判定値をＫ［ｍｍ］、空間誤差補正の測定ピッチをＰ［ｍｍ］としたとき、α＝ｌｏｇ10Ｌとおいて、β＝Ｎ−α＞０を満たし、且つ、１０-β≦Ｋ≦Ｐ／１０を満たすようにした
ことを特徴とする三次元位置制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、三次元空間機構を有する運動機械における位置制御システムに係り、特にソフトウェアサーボを用いた空間誤差補正機能を有する三次元位置制御システムに関する。
【０００２】
【従来の技術】
三次元座標測定機（ＣＭＭ）や工作機械、ロボット等の三次元空間機構を有する運動機械では、機構部品の加工誤差や温度による変形、歪み等の影響により、運動空間が指令空間と一致しないという問題が生じる。このため適切な計算アルゴリズムよってこの空間誤差を補正する技術が構築されてきた。特に三次元ＣＭＭに関しては実用化されたものも多く、また基礎技術の開発も多方面で行われている。
【０００３】
図３は、一般的な三次元位置制御システムの概略回路構成である。この制御システムは、運動を規定する指令座標系Ａ（Ｘ，Ｙ，Ｚ）における位置（ｘ，ｙ，ｚ）を指令値として出力する指令発生部１と、その指令値を入力として動作するサーボ系とから構成される。サーボ系は、フィードバック用の加算器２と、モータや駆動機構（ネジやベルト等）を備えた位置制御器３と、この位置制御器３の運動結果の位置を検出する位置検出器（リニアスケール等）４とを有し、これらがフィードバック制御ループを構成する。
【０００４】
図３のシステムにおいて、指令空間と運動空間との間に３軸共に誤差がなければ、サーボ系の入出力は一致して、ｘ＝ｘm ，ｙ＝ｙm ，ｚ＝ｚm となる。このとき、入力座標系即ち指令座標系Ａ（Ｘ，Ｙ，Ｚ）と出力座標系即ち運動座標系Ａm （Ｘm ，Ｙm ，Ｚm ）とは完全に一致する。
【０００５】
しかし、空間機構が真直度や直角度に関して誤差を持つことは一般的であり、またこれらの誤差は温度の影響で変化する。従って一般に、図３に例示したように、運動座標系Ａm が指令座標系Ａに対して空間歪み（空間誤差）を持つことが避けられない。また、ＣＭＭでは実際の測定値が（ｘm ，ｙm ，ｚm ）であるので、空間誤差に起因する測定誤差を持つことになる。
【０００６】
このような空間誤差に起因する測定誤差を補正して、真の測定データを出力するためには、制御ループ内の位置検出器４と加算器２の間に、所定の関数Ｆにより空間誤差を補正するＦ変換器が設けられる。運動座標系Ａm 上での値が指令座標系Ａで如何なる値になるかは、例えばレーザ干渉計等を用いて知ることができ、これにより誤差補正関数Ｆが決まる。一般にこの関数Ｆは、図５のような曲線イメージを有し、温度Ｔによる影響を考慮すると、下記式（１）のように表される。
【０００７】
【数１】
Ａ＝Ｆ（Ａm ，Ｔ）    …（１）
【０００８】
ところが、空間誤差補正関数Ｆが複雑でその演算処理に時間がかかり、制御ループ内でＦ変換処理ができない場合がある。このような場合には、制御特性劣化を回避するために、図４に示すように、Ｆ変換器５を制御ループの外の測定値出力部に配置し、また指令入力部には、測定値の空間誤差補正を行う先の関数Ｆに対して、下記式（２）で表される逆関数Ｆ-1によるＦ-1変換器６を配置することが行われる。
【０００９】
【数２】
Ａm＝Ｆ-1（Ａ）       …（２）
【００１０】
しかし、補正関数Ｆが余り複雑である場合には、逆関数Ｆ-1は多価関数となり、容易には求められない。仮に求められるとしても、極めて複雑な演算処理になる。そこで逆関数Ｆ-1が求められない場合や、求めることは可能でも極めて複雑な演算になる場合には、やむを得ず図４のＦ-1変換器６を省いた制御系が用いられていた。これでは、ＣＭＭ等のプローブ移動等において、指令座標系Ａでの正確な位置決めができない。
【００１１】
これに対して本発明者等は、先に、上述のような逆関数を用いることなく、簡便な演算処理で指令空間での座標値を運動空間での座標値に逆補正して入力することを可能とした三次元位置制御システムを提案している（特許第２７９８８７３号）。この三次元位置制御システムは、位置制御ループの外に、空間誤差補正演算手段と、指令空間上の座標値を初期近似解として、補正関数を用いた反復法により運動空間上の座標値に逆補正して制御ループに入力する目標値とする逆補正演算手段とを備えて構成される。
【００１２】
【発明が解決しようとする課題】
しかし、逆補正関数を用いずに反復法によって簡易逆補正を行う方法では、運動機械の大きさと、収束演算に用いられる演算処理装置（通常ＤＳＰ）の有効桁数との関係で、収束判定値を最適設定しないと、演算が収束しないという事態が生じる。
【００１３】
この発明は、確実に収束する条件に設定された反復法により、逆関数を用いることなく簡便な演算処理で指令空間での座標値を運動空間での座標値に逆補正して入力することを可能とした三次元位置制御システムを提供することを目的とする。
【００１４】
【課題を解決するための手段】
この発明に係る三次元位置制御システムは、外部から入力される目標値に応じて三次元の運動空間を持つ運動機械の動作位置制御を行うための位置制御手段、この位置制御手段による前記運動機械の動作位置を検出する位置検出手段、及び前記動作位置を前記目標値に一致させるべく前記位置検出手段の出力により前記位置制御手段を帰還制御する帰還手段を有する位置制御ループと、この位置制御ループの外に配置されて、前記位置検出手段の出力値について指令空間と前記運動空間との空間誤差を所定の補正関数を用いて補正して測定値として出力する空間誤差補正演算手段と、前記制御ループの外に配置されて、前記指令空間上の座標値を初期近似解として前記補正関数を用いた反復法により前記運動空間上の座標値に逆補正して前記制御ループに入力する目標値とする逆補正演算手段とを有し、前記逆補正演算手段は、前記指令空間上の座標値を初期近似解とし、これを前記補正関数に与えて空間誤差補正分を求め、得られた空間誤差補正分を前記初期近似解に加算して補正値を求め、前記初期近似解からこの補正値を減算した差分値を求め、この差分値が所定の収束判定値より小さいか否かを判定し、収束条件を満たさない場合には前記初期近似解に前記差分値を加算して前記目標値の次の近似解とし、以下収束条件を満たすまで同様の反復演算によって前記制御ループの入力目標値を算出するものであって、前記運動機械の三次元のうち最大となる軸の寸法をＬ［ｍｍ］、前記逆補正演算手段の有効演算桁数をＮ、前記収束判定値をＫ［ｍｍ］、空間誤差補正の測定ピッチをＰ［ｍｍ］としたとき、α＝ｌｏｇ10Ｌとおいて、β＝Ｎ−α＞０を満たし、且つ、１０-β≦Ｋ≦Ｐ／１０を満たすようにしたことを特徴とする。
【００１５】
この発明によると、測定値を空間誤差補正する補正関数を用いた簡易逆補正により、指令空間上の目標値を運動空間上の目標値に逆変換して制御ループに与えることができる。従って逆関数を用いることなく、また逆関数による極めて複雑な演算を要せず、指令空間座標系で正確な位置制御を行うことが可能になる。
しかも、運動機械の大きさＬと演算手段の演算有効桁数Ｎとの関係で、反復法の収束判定値Ｋを最適化することにより、非収束という事態を防止して、演算速度と精度の最適化を図ることができる。
【００１６】
【発明の実施の形態】
以下、図面を参照して、この発明の実施例を説明する。
図１は、一実施例の三次元位置制御システム構成を示す。制御ループ１０は、モータ及びその駆動系等を含んで、三次元運動機械であるＣＭＭ等の動作位置制御を行う位置制御器１１、スケールカウンタ等の位置検出器１２、及び位置検出出力を帰還する帰還回路を構成する加算器１３により構成される。
【００１７】
制御ループ１０に指令値を与えるのがマイクロコンピュータ等の主制御部２０である。図では主制御部２０での主要な機能をブロックで示している。測定値出力側には、三次元空間誤差補正を行って指令空間上の座標値として測定値を出力するために、図示のように直線補正を行う直線補正回路２１、空間誤差補正回路２２及び加算器２３を有する。
【００１８】
制御ループ１０に対する目標値入力側には、指令空間での座標値を運動空間での座標値に逆変換するための簡易逆補正回路２４が設けられている。
【００１９】
直線補正回路２１は、温度等の環境変化、組立の再現性、時間経過に伴って発生する微妙な線形誤差を補正するために、一次関数ｘ＝ａｘ′で表される直線補正を行う部分である。空間誤差補正回路２２は、運動空間上の座標値ｘm ＝（Ｘm ，Ｙm ，Ｚm ）について、次式による誤差補正分δｘ＝（δＸ，δＹ，δＺ）を求める部分である。
【００２０】
【数３】
δｘ＝ｆ（ｘm）       …（３）
【００２１】
これらの直線補正回路２１及び空間誤差補正回路２２の演算により求められる出力を加算器２３で加算することにより、空間誤差補正された所望の測定値が得られる。
【００２２】
指令値の入力部に設けられた簡易逆補正回路２４は、（３）式で表される補正関数の逆関数を用いた逆変換回路ではなく、（３）式の補正関数をそのまま利用して簡便に逆変換を行うものである。即ちここでは、指令空間上の座標値を初期近似解として、（３）式の補正関数を用いた反復法により運動空間上の座標値に変換された目標値が得られる。
【００２３】
図２は、この簡易逆補正回路２４の機能をソフトウェアにより実現する場合のアルゴリズムを示している。なお図２で用いているｘt ，ｘm ，δｘ ，ｘc ，Δｘは全てベクトルである。
【００２４】
指令空間上の目標値ｘt を（３）式に示される補正関数の位置変数ｘm の初期近似解として用いて（Ｓ1 ）、空間誤差補正分δｘを求める演算を行い（Ｓ2 ）、この誤差補正分を補正前の値に加えて、補正値ｘc ＝ｘm ＋δｘを求める演算を行う（Ｓ3 ）。そしてこの補正値ｘc を目標値ｘt から減算して差分値Δｘを求める演算を行い（Ｓ4 ）、｜Δｘ｜が所定の収束定数（収束判定値）Ｋより小さいか否かの収束判定を行う（Ｓ5 ）。
【００２５】
より具体的には、｜Δｘ｜≦Ｋ、且つ｜Δｙ｜≦Ｋ、且つ｜Δｚ｜≦Ｋがここでの収束条件となる。収束条件を満たさない場合には、初期近似解に差分値Δｘを加算して次の近似解とし（Ｓ6 ）、再度ステップＳ2 に戻って、収束条件を満たすまで同じ演算を繰り返す。
このような反復法を利用することにより、実質的に指令空間上の目標値を運動空間上の目標値に逆変換して制御ループ１０に与えることができる。
【００２６】
図２のアルゴリズムにより簡易逆補正が可能な理由を、もう少し詳しく説明する。まず運動空間上のｘm を指令空間上の座標値ｘt に変換する補正処理を、次式（４）で表す。
【００２７】
【数４】
ｘt＝ｘm＋ｆ（ｘm）    …（４）
【００２８】
このとき、ｘt を与えてｘm を求める逆補正処理は、次式（５）で表される。
【００２９】
【数５】
ｘm＝ｘt−ｆ（ｘm）    …（５）
【００３０】
ここで、ｆ（ｘm ）が微小な値で且つ、ｘm に対するｆ（ｘm ）の変化が微小である場合には、ｆ（ｘm ）を次式（６）で表すことができる。
【００３１】
【数６】
0003822453.tif 000002
【００３２】
このとき、（５）式から、ｘm の近似解が次式（７）のように求められる。
【００３３】
【数７】
ｘm ≒ｘt −ｆ（ｘt ）    …（７）
【００３４】
ここまでは反復計算を要せず、１回の計算で求められる場合である。反復計算の場合には次のようになる。ｘm の変化に対して、ｆ（ｘm ）の変化が微小で、ｘm の近似値をｘr として、これらが次式（８）の関係にあるとする。
【００３５】
【数８】
ｘr ＝ｘm ＋Δｘ        …（８）
【００３６】
これに対して、次式（９）が成り立つとする。
【００３７】
【数９】
｜ｆ（ｘm ）−ｆ（ｘr ）｜《｜Δｘ｜  …（９）
【００３８】
このとき、（５）式のｘm の代わりにｘr を代入した新たな近似値ｘr′は、次のようになる。
【００３９】
【数１０】
0003822453.tif 000003
【００４０】
（８），（９），（１０）式から、次式（１１）が得られる。
【００４１】
【数１１】
｜ｘr′−ｘm ｜《｜ｘr −ｘm ｜    …（１１）
【００４２】
即ち 近似値ｘr′のｘm に対する誤差は、ｘr のｘm  に対する誤差より小さくなる。そこでこの新たな近似値ｘr′を近似値ｘr として、繰り返し（１０）式でｘr を求める反復処理を行うことにより、ｘm の低誤差の近似値が求められることになる。
なお、ｘr の初期値として、ｘt を用いることが可能である。
【００４３】
以上の簡易逆補正の収束演算には通常、ＤＳＰ（Digital Signal Processor）が用いられるが、ＤＳＰの演算有効桁数Ｎ及び運動機械の大きさＬとの関係で収束判定値Ｋを適切に設定しないと、非収束エラーを生じる。これは特に、可動ストロークが大きい大型の三次元測定機等で高分解能の空間精度補正を行う場合に問題になる。この点を以下に具体的に説明する。
【００４４】
まず、ＤＳＰの内部演算精度が、指数部８ビット、仮数部３２ビット（符号１ビット含む）の計４０ビットであると仮定する。収束判定処理演算やコンパイラの機能に関連して、演算途中データがメモリに格納される場合があり、この場合には、単精度と呼ばれる指数部８ビット、仮数部２４ビット（符号１ビット含む）の計３２ビットの処理となる。この３２ビット表現の場合、有効桁数は２進で２３桁であり、１０進では、１０A＝２23（＝８３８８６０８）から、Ａ≒６．９２３６８９９桁となる。
【００４５】
一方、機械の大きさ（三次元のうち、最大の軸の寸法）をＬ［ｍｍ］として、８３８．８６０８≦Ｌ≦８３８８．６０８であるとすると、上の有効桁数から、小数点以下３桁までが有効であり、４桁目は保証されない。従って収束判定値をＫ＝０．０００１［ｍｍ］とした場合には、非収束という事態が発生する可能性があることになる。
【００４６】
但し、上述の条件でも実際に非収束エラーが測定中に必ず発生するわけではなく、具体的には、ＤＳＰの有効桁数を超える大きな数値の処理データが入力されて、桁落ちが発生する場合に非収束エラーが生じる。特に非収束エラーが発生する確率が高くなるのは、チップキャリブレーションの処理頻度が高い測定の場合である。ここでチップキャリブレーションとは、（ａ）タッチ信号プローブのワークへの接触部（チップ）に基準チップを用いた場合と、実際に使用するチップを用いた場合とのオフセットを求める処理、或いは（ｂ）プローブを回転したときのオフセットを求める処理をいう。
【００４７】
実際の測定に際しては、ワークとの干渉を防止するために、複数のチップが用いられることが多く、チップを交換したときには、それが基準チップであるかのようにその後の処理を行うために、予め使用するチップと基準チップとの間のオフセット値を求めて予備登録することが行われる。このチップキャリブレーションにおいては、上述した測定の簡易逆補正演算と同様の反復法による収束演算が用いられる（特許第２９０２２０５号）。この場合、基準球をＹ軸の最大側に配置して、収束判定処理を行うので、上述した非収束エラーがもっとも発生しやい条件となる。
【００４８】
従って、非収束エラーが発生しないようにするためには、上述したチップキャリブレーション時の最悪の条件を考慮して、ＤＳＰの演算有効桁数Ｎと、収束判定値Ｋ［ｍｍ］及び運動機械の大きさＬ［ｍｍ］との関係を予め定めることが必要になる。大きさＬの桁数は、α＝ｌｏｇ10Ｌと表されるから、桁落ちを発生せずに収束判定を行うためには、β＝Ｎ−αとおいて、収束判定値Ｋが次の式（１２）を満たすことが必要になる。
【００４９】
【数１２】
１０-β≦Ｋ        …（１２）
【００５０】
但し、非収束エラーを発生させることなく、最も高精度の逆補正を可能とするためには、好ましくは、上の式（１２）の範囲内で最も小さい収束判定値Ｋ＝１０-βを用いるようにする。また、収束判定値Ｋを小数点以下の数値とするためには、下記式（１３）を満たすことが必要である。
【００５１】
【数１３】
β＝Ｎ−α＞０    …（１３）
【００５２】
更に、空間精度補正データの測定ピッチをＰ［ｍｍ］としたとき、収束判定値Ｋは、安全率を見込んで、下記式（１４）を満たすことが好ましい。
【００５３】
【数１４】
Ｋ≦Ｐ／１０      …（１４）
【００５４】
即ち、演算有効桁数Ｎと運動機械の大きさＬが決まっている場合に、収束判定値Ｋと測定ピッチＰを、数１２から数１４の関係を満たすように選択することにより、反復法による簡易逆補正の収束演算が確実に保証されることになる。
【００５５】
【発明の効果】
以上述べたように本発明によれば、逆関数を用いた複雑な演算を要せず、簡易逆補正処理により指令空間座標系で正確な位置制御を行うことを可能にすると共に、簡易逆補正処理において非収束エラーが発生しないようにした三次元位置制御システムを得ることができる。
【図面の簡単な説明】
【図１】  本発明の一実施例の位置制御システムの構成を示す。
【図２】  同実施例の簡易逆補正のアルゴリズムを示す。
【図３】  一般的な位置制御システムの構成を示す。
【図４】  空間誤差補正を行う従来の位置制御システムの構成を示す。
【図５】  空間誤差補正のための補正関数の例を示す。
【符号の説明】
１０…制御ループ、１１…位置制御器、１２…位置検出器、１３…加算器、２０…主制御部、２１…直線補正演算回路、２２…空間誤差補正演算回路、２３…加算器、２４…簡易逆補正演算回路。
【図１】
0003822453.tif 000004
【図２】
0003822453.tif 000005
【図３】
0003822453.tif 000006
【図４】
0003822453.tif 000007
【図５】
0003822453.tif 000008