(57)【要約】【課題】高速で運動する物体の位置の検出および／または制御に有利な技術を提供する。【解決手段】エンコーダから提供される互いに位相が異なる２つの周期信号に基づいて物体の位置を検出しながら前記物体の駆動を制御するための駆動指令を発生するコントローラは、前記２つの周期信号のいずれか一方の周期をカウントするカウンタと、前記２つの周期信号の値の比のアークタンジェント値と前記カウンタから提供されるカウント値とに基づいて前記物体の位置を検出し、その位置に基づいて前記駆動指令を発生する演算部とを備える。前記演算部は、前記アークタンジェント値と前記カウント値とに基づいて計算される前記物体の加速度と過去に発生した前記駆動指令とに基づいて前記カウント値の誤りを補正し、その補正されたカウント値に基づいて前記物体の位置を計算する。【選択図】図７
2010164540.tif 000002
【特許請求の範囲】
【請求項１】
エンコーダから提供される互いに位相が異なる２つの周期信号に基づいて物体の位置を検出しながら前記物体の駆動を制御するための駆動指令を発生するコントローラであって、
前記２つの周期信号のいずれか一方の周期をカウントするカウンタと、
前記２つの周期信号の値の比のアークタンジェント値と前記カウンタから提供されるカウント値とに基づいて前記物体の位置を検出し、その位置に基づいて前記駆動指令を発生する演算部とを備え、
前記演算部は、前記アークタンジェント値と前記カウント値とに基づいて計算される前記物体の加速度と過去に発生した前記駆動指令とに基づいて前記カウント値の誤りを補正し、その補正されたカウント値に基づいて前記物体の位置を計算する、
ことを特徴とするコントローラ。
【請求項２】
前記カウント値の誤りは、前記アークタンジェント値において段差が現れるタイミングと前記カウント値において段差が現れるタイミングとが一致していないことによって生じる、
ことを特徴とする請求項１に記載のコントローラ。
【請求項３】
前記演算部は、前記物体の加速度の計算値から過去に発生した前記駆動指令を減じた値が正の第１閾値よりも大きいときは前記カウント値を１だけ小さくし、負の第２閾値より小さいときは前記カウント値を１だけ大きくする、
ことを特徴とする請求項１または２に記載のコントローラ。
【請求項４】
エンコーダから提供される互いに位相が異なる２つの周期信号に基づいて物体の位置を検出しながら前記物体の駆動を制御するための駆動指令を発生するコントローラであって、
前記２つの周期信号のいずれか一方の周期をカウントするカウンタと、
前記２つの周期信号の値の比のアークタンジェント値と前記カウンタから提供されるカウント値とに基づいて前記物体の位置を検出し、その位置に基づいて前記駆動指令を発生する演算部とを備え、
前記演算部は、前記アークタンジェント値と前記カウント値とに基づいて計算される前記物体の現在の加速度と過去の加速度とに基づいて前記カウント値の誤りを補正し、その補正されたカウント値に基づいて前記物体の位置を計算する、
ことを特徴とするコントローラ。
【請求項５】
前記カウント値の誤りは、前記アークタンジェント値において段差が現れるタイミングと前記カウント値において段差が現れるタイミングとが一致していないことによって生じる、
ことを特徴とする請求項４に記載のコントローラ。
【請求項６】
前記演算部は、前記物体の現在の加速度から前記物体の過去の加速度を減じた値が正の第１閾値よりも大きいときは前記カウント値を１だけ小さくし、負の第２閾値より小さいときは前記カウント値を１だけ大きくする、
ことを特徴とする請求項４または５に記載のコントローラ。
【請求項７】
物体を駆動する駆動機構と、
前記物体の位置を検出するエンコーダと、
前記エンコーダから提供される互いに位相が異なる２つの周期信号に基づいて前記物体の位置を検出しながら該位置に基づいて前記駆動機構を制御するように構成された請求項１乃至６のいずれか１項に記載のコントローラと、
を備えることを特徴とする加工装置。
【請求項８】
前記物体はミラーであり、前記駆動機構はロータリーモータであり、ガルバノ装置として構成されていることを特徴とする請求項７に記載の加工装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラおよびそれを備える加工装置に関する。
【背景技術】
【０００２】
物体の位置をエンコードするエンコーダが発生する互いに９０度の位相差を有する２つの周期信号に基づいて該物体の位置を検出する技術が知られている。２つの周期信号のいずれか一方の周期をカウントしたカウント値は、物体の位置を周期を単位として示す値である。一方、２つの周期信号の値の比のアークタンジェント値は、１周期中における物体の位置を示す値である。そして、カウント値とアークタンジェント値とを合成することによって最終的な物体の位置を示す信号を得ることができる。ここで、周期のカウント動作とアークタンジェント値の演算動作とが完全に同期していないと、カウント値とアークタンジェント値とを合成した値に周期的な誤差が生じる。従来は、２つの周期信号の現在値のみに基づいて周期的な誤差を補正するための処理を行っていた。
【特許文献１】特開平７−２２９７５７号公報
【特許文献２】特開平１１−２９５１０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、物体の運動がサンプリング周期に対して高速になってくると、周期のカウント動作とアークタンジェント値の演算動作とが同期していないことに起因する上記のような周期的な誤差を補正することが難しくなる。
【０００４】
本発明は、上記の課題認識を契機としてなされたものであり、例えば、高速で運動する物体の位置の検出および／または制御に有利な技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の第１の側面は、エンコーダから提供される互いに位相が異なる２つの周期信号に基づいて物体の位置を検出しながら前記物体の駆動を制御するための駆動指令を発生するコントローラに係り、前記コントローラは、前記２つの周期信号のいずれか一方の周期をカウントするカウンタと、前記２つの周期信号の値の比のアークタンジェント値と前記カウンタから提供されるカウント値とに基づいて前記物体の位置を検出し、その位置に基づいて前記駆動指令を発生する演算部とを備え、前記演算部は、前記アークタンジェント値と前記カウント値とに基づいて計算される前記物体の加速度と過去に発生した前記駆動指令とに基づいて前記カウント値の誤りを補正し、その補正されたカウント値に基づいて前記物体の位置を計算する。
【０００６】
本発明の第２の側面は、エンコーダから提供される互いに位相が異なる２つの周期信号に基づいて物体の位置を検出しながら前記物体の駆動を制御するための駆動指令を発生するコントローラに係り、前記コントローラは、前記２つの周期信号のいずれか一方の周期をカウントするカウンタと、前記２つの周期信号の値の比のアークタンジェント値と前記カウンタから提供されるカウント値とに基づいて前記物体の位置を検出し、その位置に基づいて前記駆動指令を発生する演算部とを備え、前記演算部は、前記アークタンジェント値と前記カウント値とに基づいて計算される前記物体の現在の加速度と過去の加速度とに基づいて前記カウント値の誤りを補正し、その補正されたカウント値に基づいて前記物体の位置を計算する。
【０００７】
本発明の第３の側面は、加工装置に係り、前記加工装置は、物体を駆動する駆動機構と、前記物体の位置を検出するエンコーダと、前記エンコーダから提供される互いに位相が異なる２つの周期信号に基づいて前記物体の位置を検出しながら該位置に基づいて前記駆動機構を制御するように構成された上記のコントローラとを備える。
【発明の効果】
【０００８】
本発明によれば、例えば、高速で運動する物体の位置の検出および／または制御に有利な技術が提供される。
【発明を実施するための最良の形態】
【０００９】
以下、添付図面を参照しながら本発明の好適な実施形態を説明する。
【００１０】
この出願書類において、位置という用語には角度が包含され、速度という用語には角速度が包含され、加速度という用語には角加速度が包含されるものとする。
【００１１】
図１は、本発明に係る加工装置の好適な実施形態のガルバノ装置の概略構成を示す図である。本発明の好適な実施形態のガルバノ装置は、駆動対象の物体であるミラー１と、ミラー１を回転駆動する駆動機構２と、駆動機構２を制御するコントローラ３とを備えている。駆動機構２には、ミラー１の位置（角度）をエンコードするエンコーダが組み込まれている。ミラー１は、不図示の光源からの光ビームを加工対象物に向けて反射する。駆動機構２を使ってミラー１の位置（角度）を制御することによって加工対象物に対する光ビームの入射位置を変更（典型的には、走査）することができる。
【００１２】
駆動機構２に組み込まれたエンコーダは、互いに位相が異なる２つの周期信号４を発生する。コントローラ３は、２つの周期信号に基づいてミラー１の位置（角度）を検出しながら、ミラー１が目標角度を向くようにミラー１の駆動を制御するための駆動信号５を発生し、この駆動信号５を駆動機構２に供給する。
【００１３】
図２は、図１に示すガルバノ装置の構成をより具体的に示す図である。駆動機構２は、モータ２ａおよびエンコーダ２ｂを含みうる。コントローラ３は、信号処理部３ａおよび駆動回路３ｂを含みうる。エンコーダ２ｂは、２つの周期信号４ａ、４ｂを発生する。２つの周期信号４ａ、４ｂは、典型的には、互いに９０度の位相差を有する。例えば、周期信号４ａはサイン波信号であり、周期信号４ｂはコサイン波信号でありうる。
【００１４】
周期信号４ａ、４ｂは、アナログデジタル変換器（ＡＤ変換器）６ａ、６ｂによってそれぞれデジタル化されて周期信号４ａ'、４ｂ'として演算部８に提供される。２つの周期信号４ａ、４ｂはまた、２値化回路７ａ、７ｂによってそれぞれ２値化されて２値信号１５ａ、１５ｂとしてカウンタ９に供給される。
【００１５】
カウンタ９は、値信号１５ａ、１５ｂのうちいずれか一方の周期をカウントする。ここで、カウント動作は、カウントアップおよびカウントダウンを含み、カウントアップするかカウントダウンするかは、２値信号１５ａ、１５ｂの論理レベルの組み合わせによって決定される。カウンタ９によってカウントされたカウント値１１は、演算部８に提供される。演算部８は、周期信号４ａ、４ｂの比のアークタンジェント値を演算するとともに、このアークタンジェント値とカウント値１１とに基づいて、モータ２ａの駆動を制御するための駆動指令１６を発生して駆動回路３ｂに送る。駆動回路３ｂは、駆動指令１６に従って駆動信号５を発生する。
【００１６】
図３は、信号処理部３ａにおける代表的な信号を例示する図である。ここでは、２つの周期信号４ａ、４ｂ（４ａ'、４ｂ'）の間の位相差が９０度で、オフセットが０であり、また、２つの周期信号４ａ、４ｂ（４ａ'、４ｂ'）の振幅は同一であるとする。なお、２つの周期信号４ａ、４ｂ（４ａ'、４ｂ'）が当該条件を満たさない場合において、２つの周期信号４ａ、４ｂ（４ａ'、４ｂ'）を補正するための構成は周知であり、当該構成は演算部８に組み込まれうる。
【００１７】
以下、当該構成を説明する。まず、オフセットおよび振幅の補正に関しては、周期信号の最大値および最小値を求め、これらから周期信号の中心および振幅を計算し、これらに基づいて行うことができる。
【００１８】
次に、２つの周期信号の位相差を９０度に補正する方法について説明する。９０度に対する位相差δを持つ周期信号Ａ、Ｂ'を次のように表現することができる。
Ａ＝ｃｏｓθ
Ｂ'＝ｓｉｎ（θ＋δ）
【００１９】
δを求めることができれば、Ａ相に対して正確に９０度の位相差を有する以下に示すＢ相を計算することができる。
Ｂ＝ｓｉｎθ
【００２０】
三角関数の公式から、以下の式が得られる。
【００２１】
Ｂ'＝ｓｉｎ（θ＋δ）
＝ｓｉｎθ・ｃｏｓδ＋ｃｏｓθ・ｓｉｎδ
＝Ｂ・ｃｏｓδ＋Ａ・ｓｉｎδ
ここで、Ａ、Ｂ'がエンコーダから出力される周期信号であり、求めたい周期信号がＢであり、以下の式に従って周期信号Ｂを計算することができる。
【００２２】
Ｂ＝（Ｂ'−Ａ・ｓｉｎδ）÷ｃｏｓδ
δを求める方法は、例えば特許第３５２４２２５号公報に記載されている。
【００２３】
周期信号４ａ'、４ｂ'が互いに９０度の位相差を有する場合、周期信号４ａ'、４ｂ'の値の比のアークタンジェント値１０は、１周期を内挿する値であり、図３に示すような三角波１０となる。周期信号４ａ'または４ｂ'の１周期を１０２４分割する場合には、１周期中における位置は、０〜１０２３で表現されうる。この場合は、カウンタ９から出力される階段状のカウント値１１における１段分は、１０２４に相当する。アークタンジェント値１０において段差が現れるタイミングとカウント値１０において段差が現れるタイミングとが一致していれば、演算部８は、両者を合成すなわち単純に加算することによってミラー１の位置を示す位置情報１２を得ることができる。
【００２４】
しかしながら、アークタンジェント値１０において段差が現れるタイミングとカウント値１１において段差が現れるタイミングとが一致していない場合には、図４に例示するように、位置情報１２に不連続が生じる。この不連続の大きさは、カウント値１１の１個分である。
【００２５】
ここで、図５を参照しながら従来の不連続性の補正方法を説明する。２つの周期信号４ａ、４ｂの値の正、負の組み合わせに従って１周期を以下のようにＺ１、Ｚ２、Ｚ３、Ｚ４の４つの領域に分割することができる。
Ｚ１の領域：４ａ≧０、４ｂ≧０
Ｚ２の領域：４ａ≧０、４ｂ＜０
Ｚ３の領域：４ａ＜０、４ｂ＜０
Ｚ４の領域：４ａ＜０、４ｂ≧０
【００２６】
２値信号１５ａは、領域Ｚ１、Ｚ２においてハイレベル、領域Ｚ３、Ｚ４においてローレベルになるべきであり、また、カウント値１１は、領域Ｚ４と領域Ｚ１との境界で変化するべきである。
【００２７】
しかしながら、２値信号１５ａの変化タイミングが適正タイミングからずれて、例えば１５ａのようになると、カウント値の変化タイミングも１１ａのようにずれる。そこで、領域Ｚ１において２値信号１５ａがローレベルである場合には、カウント値１１ａを１だけ大きくして１１ｂのように補正する。同様に、領域Ｚ４において２値信号１５ａがハイレベルである場合には、カウント値１１ａを１だけ小さくして１１ｂのように補正する。
【００２８】
以上のような従来の方法は、領域Ｚ１、Ｚ２、Ｚ３、Ｚ４を識別することができることを前提として成り立つ。しかし、デジタル信号処理では、一定のサンプリング間隔（サンプリング周期）で信号が処理される。周期信号４ａ、４ｂ信号のアナログデジタル変換も一定のサンプリング間隔でなされる。したがって、図６に示すようにサンプリング間隔（サンプリング周期）との関係で周期信号４ａ、４ｂの周期が小さくなると、アナログデジタル変換におけるサンプルホールドの時間分解能に対してアナログ信号の変化が速くなる。そして、例えばサンプリング点１４ａ、１４ｂにおいて、領域Ｚ１〜Ｚ４を正確に検出することが困難になる。
【００２９】
以上のように、周期信号４ａ、４ｂの現在値のみに基づいてカウント値を補正しようとしても（或いは、アークタンジェント値の変化とカウント値の変化とを同期させようとしても）、そのような方法には限界がある。
【００３０】
この実施形態では、演算部８は、モータ２ａを駆動するための駆動指令１６に基づいてカウント値１１を補正する。モータ２ａは、駆動信号５（または駆動指令１６）に比例する力でその回転軸（ロータ）およびミラー１を回転駆動する。換言すると、モータ２ａの回転軸およびミラー１の加速度(角加速度)は、駆動信号５（または駆動指令１６）に比例する。
【００３１】
位置情報の微分値は、速度情報であり、デジタル信号処理では、速度情報としてサンプリングの時間間隔における位置情報の差分を使うと便利である。同様に、加速度情報としてサンプリング間隔（サンプリング周期）における速度情報の差分を使うと便利である。実際には、位置情報に基づいて速度情報を求めるためには位置情報をサンプリング周期で除算する必要があり、また、速度情報に基づいて加速度情報を求めるには速度情報をサンプリング周期で除算する必要がある。しかし、このサンプリング周期は、定数であるので、後述の定数Ｍに含めて考えればよい。
【００３２】
ここで、サンプリング点ｋにおける位置情報、速度情報、加速度情報をそれぞれＰｏｓｉｔｉｏｎ（ｋ）、Ｖｅｌｏｃｉｔｙ（ｋ）、Ａｃｃｅｌ（ｋ）とする。
【００３３】
サンプリング点ｋにおける速度情報Ｖｅｌｏｃｉｔｙ（ｋ）、加速度情報Ａｃｃｅｌ（ｋ）は、（１）式、（２）式に従って計算することができる。
Ｖｅｌｏｃｉｔｙ（ｋ）＝Ｐｏｓｉｔｉｏｎ（ｋ）−Ｐｏｓｉｔｉｏｎ（ｋ−１）  ・・・（１）式
Ａｃｃｅｌ（ｋ）＝Ｖｅｌｏｃｉｔｙ（ｋ）−Ｖｅｌｏｃｉｔｙ（ｋ−１）  ・・・（２）式
【００３４】
サンプリング点ｋにおける駆動指令値１６、ミラー１の目標位置（目標角度）をそれぞれＣｕｒｒ（ｋ）、ＴａｒｇｅｔＰ（ｋ）とすると、演算部８は、単純な例を挙げれば、（３）式に従ってＣｕｒｒ（ｋ）を決定することができる。なお、Ｇａｉｎは、ゲインを示す定数である。
Ｃｕｒｒ（ｋ）＝Ｇａｉｎ×（ＴａｒｇｅｔＰ（ｋ）−Ｐｏｓｉｔｉｏｎ（ｋ））  ・・・（３）式
【００３５】
その他、演算部８は、例えばＰＩＤ演算などによってＣｕｒｒ（ｋ）を決定してもよいが、ここでは、説明の便宜のため、演算部８は、（３）式に従ってＣｕｒｒ（ｋ）を決定するものとする。
【００３６】
サンプリング点（ｋ−１）における駆動指令値１６は、Ｃｕｒｒ（ｋ−１）と表記することができる。Ｃｕｒｒ（ｋ−１）は、（４）式のように表現することができるが、サンプリング点（ｋ−１）において（３）式に従って計算されたＣｕｒｒ（ｋ）は、サンプリング点ｋにおいては、Ｃｕｒｒ（ｋ−１）である。よって、（３）式に従ってＣｕｒｒ（ｋ）を計算する度にその計算によって得られた値を保持しておけば、その値を次のサンプリング点においてＣｕｒｒ（ｋ−１）として使用することができる。
【００３７】
Ｃｕｒｒ（ｋ−１）＝Ｇａｉｎ×（ＴａｒｇｅｔＰ（ｋ−１）−Ｐｏｓｉｔｉｏｎ（ｋ−１））  ・・・（４）式
【００３８】
駆動指令値Ｃｕｒｒ（ｋ−１）と加速度情報Ａｃｃｅｌ（ｋ）とは、（５）式に示す関係を有する。
Ａｃｃｅｌ（ｋ）＝Ｍ×Ｃｕｒｒ（ｋ−１）  ・・・（５）式
ここで、Ｍは比例定数である。サンプリング点（ｋ−１）において駆動指令値Ｃｕｒｒ（ｋ−１）に従ってミラー１が加速された結果として、サンプリング点ｋにおいてミラー１の加速度が加速度Ａｃｃｅｌ（ｋ）として検出される。
【００３９】
演算部８は、（１）式および（２）式に従うＡｃｃｅｌ（ｋ）の計算値と、（３）式に従ってサンプリング点（ｋ−１）において決定されたＣｕｒｒ（ｋ−１）（または、（４）式に従って決定されたＣｕｒｒ（ｋ−１）でもよい。）にＭを乗じた値との差分Ｄｉｆｆに基づいてカウント値を補正する。差分Ｄｉｆｆは、（６）式のように表現される。ここで、Ｍ×Ｃｕｒｒ（ｋ−１）は、（５）式から明らかなように、加速度の推定値である。（１）式および（２）式に従って計算されるＡｃｃｅｌ（ｋ）は、誤りを含みうるカウント値１１によって決定された位置情報Ｐｏｓｉｔｉｏｎ（ｋ）に基づいて計算されたものである。Ｄｉｆｆの値が正の第１閾値Ｔｈ（Ｔｈ＞０）よりも大きい場合、および、負の第２閾値−Ｔｈ（Ｔｈ＞０）よりも小さい場合には、カウント値１１に誤りがあると判断することができる。なお、Ｔｈは、カウント値の１個分に相当する誤りの有無を判断することができるように定められる。例えば、カウント値の１個分に相当する誤り量の９０％の値をＴｈとして定めることができる。
【００４０】
Ｄｉｆｆ＝Ａｃｃｅｌ（ｋ）−Ｍ×Ｃｕｒｒ（ｋ−１）  ・・・（６）式
図７は、演算部８におけるカウント値の補正動作を示すフローチャートである。ステップＳ１では、演算部８は、現在のサンプリング点ｋにおける位置情報Ｐｏｓｉｔｉｏｎ（ｋ）と過去のサンプリング点（ｋ−１）における位置情報Ｐｏｓｉｔｉｏｎ（ｋ−１）を用いて（１）式に従って速度情報Ｖｅｌｅｏｃｉｔｙ（ｋ）を計算する。
【００４１】
ステップＳ２では、演算部８は、現在のサンプリング点ｋにおける速度情報Ｖｅｌｏｃｉｔｙ（ｋ）と過去のサンプリング点（ｋ−１）における速度情報Ｖｅｌｏｃｉｔｙ（ｋ−１）を用いて（２）式に従って加速度情報Ａｃｃｅｌ（ｋ）を計算する。
【００４２】
ステップＳ３では、演算部８は、ステップＳ２で計算した加速度情報Ａｃｃｅｌ（ｋ）と、過去のサンプリング点（ｋ−１）における駆動指令値Ｃｕｒｒ（ｋ−１）にＭを乗じた値との差分Ｄｉｆｆを（６）式に従って計算する。
【００４３】
ステップＳ４では、演算部８は、Ｄｉｆｆの値が正の第１閾値Ｔｈ（Ｔｈ＞０）よりも大きいか否かを判定し、Ｄｉｆｆの値が正の第１閾値Ｔｈ（Ｔｈ＞０）よりも大きい場合には、カウント値１１の補正（位置情報の補正）のためにステップＳ５に処理を進める。一方、Ｄｉｆｆの値が正の第１閾値Ｔｈ（Ｔｈ＞０）よりも大きくない場合には、演算部８は、ステップＳ６に処理を進める。ここで、Ｄｉｆｆの値が正の第１閾値Ｔｈ（Ｔｈ＞０）よりも大きいことは、カウント値１１が誤って１個分だけ大きくなっていることを意味する。
【００４４】
ステップＳ６では、演算部８は、Ｄｉｆｆの値が負の第２閾値−Ｔｈ（Ｔｈ＞０）よりも小さいか否かを判定し、Ｄｉｆｆの値が負の第２閾値−Ｔｈよりも小さい場合には、カウント値１１の補正（位置情報の補正）のためにステップＳ７に処理を進める。一方、Ｄｉｆｆの値が負の第２閾値−Ｔｈよりも小さくない場合には、演算部８は、図７に示す一連の処理を終了する。ここで、Ｄｉｆｆの値が負の第２閾値−Ｔｈよりも小さいことは、カウント値１１が誤って１個分だけ小さくなっていることを意味する。
【００４５】
ステップＳ５では、演算部８は、カウント値１１を１だけ減らすことによって位置情報Ｐｏｓｉｔｉｏｎ（ｋ）を補正する。ここで、１周期の分割数をＲ（例えば、１０２４）とすると、補正は、（７）式に従ってなされる。また、例えば、Ｃｕｒｒ（ｋ）を演算するためにＶｅｌｏｃｉｔｙ（ｋ）および／またはＡｃｃｅｌ（ｋ）が必要な場合には、（７）式に従って補正されたＰｏｓｉｔｉｏｎ（ｋ）に基づいて、Ｖｅｌｏｃｉｔｙ（ｋ）および／またはＡｃｃｅｌ（ｋ）が計算される。
【００４６】
Ｐｏｓｉｔｉｏｎ（ｋ）＝Ｐｏｓｉｔｉｏｎ（ｋ）−Ｒ  ・・・（７）式
ステップＳ７では、演算部８は、カウント値１１を１だけ増やすことによって位置情報Ｐｏｓｉｔｉｏｎ（ｋ）を補正する。ここで、１周期の分割数をＲ（例えば、１０２４）とすると、補正は、（８）式に従ってなされる。また、例えば、Ｃｕｒｒ（Ｋ）を演算するためにＶｅｌｏｃｉｔｙ（ｋ）および／またはＡｃｃｅｌ（ｋ）が必要な場合には、（８）式に従って補正されたＰｏｓｉｔｉｏｎ（ｋ）に基づいて、Ｖｅｌｏｃｉｔｙ（ｋ）および／またはＡｃｃｅｌ（ｋ）が計算される。
【００４７】
Ｐｏｓｉｔｉｏｎ（ｋ）＝Ｐｏｓｉｔｉｏｎ（ｋ）＋Ｒ  ・・・（８）式
その他の実施形態として、１つ過去のサンプリング点（Ｋ−１）における加速度Ａｃｃｅｌ（ｋ−１）と現在のサンプリング点Ｋにおける加速度Ａｃｃｅｌ（ｋ）とを比較することによって不連続を検出し、カウント値１１を補正してもよい。これは、質量または慣性モーメントを有する運動している物体の加速度または角加速度が短時間の間に大きく変化することがないことを利用するものであり、通常動作における加速度変化の最大値に応じて決定される基準として不連続性を検出すればよい。このような実施形態における処理は、図７に示す処理のステップＳ３で実行される（６）式を（９）式で置き換えたものとなる。
【００４８】
Ｄｉｆｆ＝Ａｃｃｅｌ（ｋ）−Ａｃｃｅｌ（ｋ−１）  ・・・（９）式
以上の実施形態は、モータ２ａがロータリーモータでありエンコーダ２ｂがロータリーエンコーダである場合の例であるが、モータ２ａがリニアモータでありエンコーダ２ｂがリニアエンコーダである場合にも本発明を適用することができる。
【図面の簡単な説明】
【００４９】
【図１】本発明の好適な実施形態のガルバノ装置の概略構成を示す図である。
【図２】図１に示すガルバノ装置の構成をより具体的に示す図である。
【図３】信号処理部における代表的な信号を例示する図である。
【図４】位置情報の不連続性を例示する図である。
【図５】従来の不連続性の補正方法を説明する図である。
【図６】サンプリング周期と周期信号との関係を例示する図である。
【図７】演算部におけるカウント値の補正動作を示すフローチャートである。
【符号の説明】
【００５０】
１  ミラー
２ａ  モータ
２ｂ  エンコーダ
３  コントローラ
３ａ  信号処理部
３ｂ  駆動回路
４ａ、４ｂ、４ａ'、４ｂ'周期信号
５  駆動信号
６ａ、６ｂ  アナログデジタル変換器
７ａ、７ｂ  ２値化回路
８  演算器
９  カウンタ
１１  カウント値
１５ａ、１５ｂ  ２値信号
１６  駆動指令
【図１】
2010164540.tif 000003
【図２】
2010164540.tif 000004
【図３】
2010164540.tif 000005
【図４】
2010164540.tif 000006
【図５】
2010164540.tif 000007
【図６】
2010164540.tif 000008
【図７】
2010164540.tif 000009