(57)【特許請求の範囲】
【請求項１】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置であって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出する第１位置検出部と、
前記被駆動部の位置である第２位置を検出する第２位置検出部と、
前記第１位置検出部が検出した第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、前記第２位置検出部が検出した第２位置検出値との間の偏差である位置誤差を計算する位置誤差計算部と、
位置指令を作成する位置指令作成部と、
前記位置指令の反転を検出する反転検出部と、
反転が検出されてからの前記位置誤差の変化量の絶対値を計算する位置誤差変化量計算部と、
前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定する判定部と、
前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部と、を備え、
前記バックラッシ補正部は、前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算するモータ制御装置。
【請求項２】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置であって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出する第１位置検出部と、
前記被駆動部の位置である第２位置を検出する第２位置検出部と、
前記第１位置検出部が検出した第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、前記第２位置検出部が検出した第２位置検出値との間の偏差である位置誤差を計算する位置誤差計算部と、
位置指令を作成する位置指令作成部と、
前記位置指令の反転を検出する反転検出部と、
反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算する位置誤差変化率計算部と、
前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部と、
前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部と、を備え、
前記バックラッシ補正部は、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算するモータ制御装置。
【請求項３】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置であって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出する第１位置検出部と、
前記被駆動部の位置である第２位置を検出する第２位置検出部と、
前記第１位置検出部が検出した第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、前記第２位置検出部が検出した第２位置検出値との間の偏差である位置誤差を計算する位置誤差計算部と、
位置指令を作成する位置指令作成部と、
前記位置指令の反転を検出する反転検出部と、
反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算する位置誤差変化率計算部と、
前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部と、
前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部と、を備え、
前記バックラッシ補正部は、前記位置誤差の変化率が前記所定の基準値を超えたとき、
前記バックラッシ補正量を加算するモータ制御装置。
【請求項４】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置であって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出する第１位置検出部と、
前記被駆動部の位置である第２位置を検出する第２位置検出部と、
前記第１位置検出部が検出した第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、前記第２位置検出部が検出した第２位置検出値との間の偏差である位置誤差を計算する位置誤差計算部と、
位置指令を作成する位置指令作成部と、
前記位置指令の反転を検出する反転検出部と、
反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算する位置誤差変化率計算部と、
前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部と、
前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部と、を備え、
前記バックラッシ補正部は、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算するモータ制御装置。
【請求項５】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出するステップと、
前記被駆動部の位置である第２位置を検出するステップと、
第１位置検出値を前記可動部と被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、
位置指令を作成するステップと、
前記位置指令の反転を検出するステップと、
反転が検出されてからの前記位置誤差の変化量の絶対値を計算するステップと、
前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定するステップと、
前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行するモータ制御方法。
【請求項６】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出するステップと、
前記被駆動部の位置である第２位置を検出するステップと、
第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、
位置指令を作成するステップと、
前記位置指令の反転を検出するステップと、
反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算するステップと、
前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行するモータ制御方法。
【請求項７】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出するステップと、
前記被駆動部の位置である第２位置を検出するステップと、
第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、
位置指令を作成するステップと、
前記位置指令の反転を検出するステップと、
反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、
前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行するモータ制御方法。
【請求項８】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出するステップと、
前記被駆動部の位置である第２位置を検出するステップと、
第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、
位置指令を作成するステップと、
前記位置指令の反転を検出するステップと、
反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、
前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行するモータ制御方法。
【請求項９】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出するステップと、
前記被駆動部の位置である第２位置を検出するステップと、
第１位置検出値を前記可動部と被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、
位置指令を作成するステップと、
前記位置指令の反転を検出するステップと、
反転が検出されてからの前記位置誤差の変化量の絶対値を計算するステップと、
前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定するステップと、
前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させるためのモータ制御プログラム。
【請求項１０】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出するステップと、
前記被駆動部の位置である第２位置を検出するステップと、
第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、
位置指令を作成するステップと、
前記位置指令の反転を検出するステップと、
反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算するステップと、
前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させるためのモータ制御プログラム。
【請求項１１】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出するステップと、
前記被駆動部の位置である第２位置を検出するステップと、
第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、
位置指令を作成するステップと、
前記位置指令の反転を検出するステップと、
反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、
前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させるためのモータ制御プログラム。
【請求項１２】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
前記可動部の位置である第１位置を検出するステップと、
前記被駆動部の位置である第２位置を検出するステップと、
第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、
位置指令を作成するステップと、
前記位置指令の反転を検出するステップと、
反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、
前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させるためのモータ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックラッシを補正する手段を有するモータ制御装置、モータ制御方法及びモータ制御プログラムに関する。
【背景技術】
【０００２】
従来より、物体の位置、方位、姿勢などを制御量とする制御系、例えば工作機械や産業機械の制御系において、サーボモータが用いられている。サーボモータのモータ軸の回転を他の主軸に伝えるために用いられる機械要素であって互いに係合する機械要素においては、当該機械要素間の抵触面に意図的に隙間が設けられている。この隙間が存在することにより、例えばねじやギア等の機械要素は、ある程度の範囲で自由に回転することができる。この隙間を「バックラッシ」（又は「バックラッシュ」）と呼ぶ。
【０００３】
例えば、モータと主軸等の被駆動軸がギアで結合されている場合、ギアのバックラッシが存在することにより、モータの反転時には、被駆動軸の反転がモータの反転に対して遅れてしまうこととなる。この被駆動軸の反転遅れを補正するために、モータへの位置指令にバックラッシ補正量を加算する方法が、従来より存在する。
【０００４】
例えば特許文献１は、モータと該モータによって駆動される被駆動軸との間に何らかの減速機構を持つ構成において、モータの反転時における被駆動軸の反転挙動を改善する手法として、モータが反転する瞬間に、減速機構が持つ機械的バックラッシ分を早く移動させるための位置の補正を与える手法を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−５４００１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１で開示される方法は、あくまで、位置指令又はモータの反転時に減速機構が持つバックラッシによる被駆動部の反転遅れが、即座に発生することを前提にしたバックラッシ補正方法である。
一方で、モータと被駆動軸との間の結合にギアとベルトとが同時に使用されている場合には、ベルトの弾性の影響により、モータの反転から遅れてギアのバックラッシによる被駆動軸の反転遅れが発生することがある。このような場合においては、モータの反転直後にバックラッシ補正量を加算すると、補正の効果が無いか、又は後述のように、補正が被駆動軸の反転動作に悪影響を与えることがあった。
【０００７】
本発明は、モータへの位置指令に対してバックラッシ補正量を適切なタイミングで加算するモータ制御装置、モータ制御方法及びモータ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る第１のモータ制御装置（例えば、後述のモータ制御装置１０）は、モータにより駆動される可動部（例えば、後述のモータ軸３０）と、該可動部により駆動される被駆動部（例えば、後述の主軸５０）との間のバックラッシを補正するモータ制御装置であって、前記可動部の位置である第１位置を検出する第１位置検出部（例えば、後述の第１位置検出部１０１）と、前記被駆動部の位置である第２位置を検出する第２位置検出部（例えば、後述の第２位置検出部１０３）と、前記第１位置検出部が検出した第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、前記第２位置検出部が検出した第２位置検出値との間の偏差である位置誤差を計算する位置誤差計算部（例えば、後述の位置誤差計算部１０４）と、位置指令を作成する位置指令作成部（例えば、後述の位置指令作成部１０５）と、前記位置指令の反転を検出する反転検出部（例えば、後述の反転検出部１０６）と、反転が検出されてからの前記位置誤差の変化量の絶対値を計算する位置誤差変化量計算部（例えば、後述の位置誤差変化量計算部１０７）と、前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定する判定部（例えば、後述の判定部１０８）と、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部（例えば、後述のバックラッシ補正部１０９）と、を備え、前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算する。
【０００９】
本発明に係る第２のモータ制御装置（例えば、後述のモータ制御装置２０）は、モータにより駆動される可動部（例えば、後述のモータ軸３０）と、該可動部により駆動される被駆動部（例えば、後述の主軸５０）との間のバックラッシを補正するモータ制御装置であって、前記可動部の位置である第１位置を検出する第１位置検出部（例えば、後述の第１位置検出部１０１）と、前記被駆動部の位置である第２位置を検出する第２位置検出部（例えば、後述の第２位置検出部１０３）と、前記第１位置検出部が検出した第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、前記第２位置検出部が検出した第２位置検出値との間の偏差である位置誤差を計算する位置誤差計算部（例えば、後述の位置誤差計算部１０４）と、位置指令を作成する位置指令作成部と、前記位置指令の反転を検出する反転検出部と、反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算する位置誤差変化率計算部（例えば、後述の位置誤差変化率計算部２０７）と、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部（例えば、後述の判定部１０８）と、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部（例えば、後述のバックラッシ補正部１０９）と、を備え、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算する。
【００１０】
本発明に係る第３のモータ制御装置（例えば、後述のモータ制御装置２０）は、モータにより駆動される可動部（例えば、後述のモータ軸３０）と、該可動部により駆動される被駆動部（例えば、後述の主軸５０）との間のバックラッシを補正するモータ制御装置であって、前記可動部の位置である第１位置を検出する第１位置検出部（例えば、後述の第１位置検出部１０１）と、前記被駆動部の位置である第２位置を検出する第２位置検出部（例えば、後述の第２位置検出部１０３）と、前記第１位置検出部が検出した第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、前記第２位置検出部が検出した第２位置検出値との間の偏差である位置誤差を計算する位置誤差計算部（例えば、後述の位置誤差計算部１０４）と、位置指令を作成する位置指令作成部と、前記位置指令の反転を検出する反転検出部と、反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算する位置誤差変化率計算部（例えば、後述の位置誤差変化率計算部２０７）と、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部（例えば、後述の判定部１０８）と、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部（例えば、後述のバックラッシ補正部１０９）と、を備え、前記位置誤差の変化率が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算する。
【００１１】
本発明に係る第４のモータ制御装置（例えば、後述のモータ制御装置２０）は、モータにより駆動される可動部（例えば、後述のモータ軸３０）と、該可動部により駆動される被駆動部（例えば、後述の主軸５０）との間のバックラッシを補正するモータ制御装置であって、前記可動部の位置である第１位置を検出する第１位置検出部（例えば、後述の第１位置検出部１０１）と、前記被駆動部の位置である第２位置を検出する第２位置検出部（例えば、後述の第２位置検出部１０３）と、前記第１位置検出部が検出した第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、前記第２位置検出部が検出した第２位置検出値との間の偏差である位置誤差を計算する位置誤差計算部（例えば、後述の位置誤差計算部１０４）と、位置指令を作成する位置指令作成部と、前記位置指令の反転を検出する反転検出部と、反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算する位置誤差変化率計算部（例えば、後述の位置誤差変化率計算部２０７）と、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部（例えば、後述の判定部１０８）と、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部（例えば、後述のバックラッシ補正部１０９）と、を備え、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算する。
【００１２】
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアとベルトとの組み合わせによって機械的に結合されてもよい。
【００１３】
本発明に係る第１のモータ制御方法は、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、前記可動部の位置である第１位置を検出するステップと、前記被駆動部の位置である第２位置を検出するステップと、第１位置検出値を前記可動部と被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の変化量の絶対値を計算するステップと、前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行する。
【００１４】
本発明に係る第２のモータ制御方法は、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、前記可動部の位置である第１位置を検出するステップと、前記被駆動部の位置である第２位置を検出するステップと、第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行する。
【００１５】
本発明に係る第３のモータ制御方法は、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、前記可動部の位置である第１位置を検出するステップと、前記被駆動部の位置である第２位置を検出するステップと、第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行する。
【００１６】
本発明に係る第４のモータ制御方法は、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、前記可動部の位置である第１位置を検出するステップと、前記被駆動部の位置である第２位置を検出するステップと、第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行する。
【００１７】
本発明に係る第１のモータ制御プログラムは、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、前記可動部の位置である第１位置を検出するステップと、前記被駆動部の位置である第２位置を検出するステップと、第１位置検出値を前記可動部と被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の変化量の絶対値を計算するステップと、前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させる。
【００１８】
本発明に係る第２のモータ制御プログラムは、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、前記可動部の位置である第１位置を検出するステップと、前記被駆動部の位置である第２位置を検出するステップと、第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させる。
【００１９】
本発明に係る第３のモータ制御プログラムは、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、前記可動部の位置である第１位置を検出するステップと、前記被駆動部の位置である第２位置を検出するステップと、第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させる。
【００２０】
本発明に係る第４のモータ制御プログラムは、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、前記可動部の位置である第１位置を検出するステップと、前記被駆動部の位置である第２位置を検出するステップと、第１位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第１位置検出値と、第２位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させる。
【発明の効果】
【００２１】
本発明によれば、モータへの位置指令に対してバックラッシ補正量を適切なタイミングで加算することができる。
【図面の簡単な説明】
【００２２】
【図１】モータの反転時の各軸の挙動についての説明図である。
【図２】本発明の第１実施形態に係るモータ制御装置の構成を示す図である。
【図３】本発明の第１実施形態に係るモータ制御装置における処理を示すフローチャートである。
【図４】本発明の第１実施形態に係るモータ制御装置における補正のタイミングを示す図である。
【図５】補正をしない場合とした場合のモータ位置及び主軸位置の経時的変化と円弧補間運動をさせた際の象限突起を示す図である。
【図６】本発明の第２〜第４実施形態に係るモータ制御装置の構成を示す図である。
【図７】本発明の第２〜第４実施形態に係るモータ制御装置における処理を示すフローチャートである。
【図８】本発明の第２実施形態に係るモータ制御装置における補正のタイミングを示す図である。
【図９】本発明の第３実施形態に係るモータ制御装置における補正のタイミングを示す図である。
【図１０】本発明の第４実施形態に係るモータ制御装置における補正のタイミングを示す図である。
【図１１】図５における円弧測定時の偏心円弧プログラム（円弧条件）を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態について、図１〜図１０を用いて説明する。
［発明の概要］
図１は本発明の概要についての説明図であり、具体的には、モータと被駆動軸（主軸）との間の減速機構がギア及びベルトから構成されているときの、モータの反転時の各軸の挙動について図示したものである。
【００２４】
図１に示すように、可動部としてのモータ軸３０には、モータ軸ギア３５が固定されている。モータ軸３０とは別に設けられる中間軸４０には、中間軸ギア４５が固定されている。また、モータ軸ギア３５の歯３５１と中間軸ギア４５の歯４５１とが噛み合うことにより、モータ軸３０が時計回り方向に回転する場合には、中間軸４０は反時計回り方向に回転し、一方、モータ軸３０が反時計回り方向に回転する場合には、中間軸４０は時計回り方向に回転する。更に、中間軸４０における中間軸ギア４５が設けられていない部分と、被駆動部としての主軸５０との間には、弾性を有する無端状のベルト６０が架け渡されている。
【００２５】
これにより、中間軸４０が時計回り方向に回転する場合には、それに伴って、主軸５０は時計回り方向に回転し、一方、中間軸４０が反時計回り方向に回転する場合には、それに伴って、主軸５０は反時計回り方向に回転する。これにより、モータ軸３０、中間軸４０、及び主軸５０の回転は連動する。具体的には、モータ軸３０が時計回り方向に回転する場合には、主軸５０は反時計回り方向に回転し、一方、モータ軸３０が反時計回り方向に回転する場合には、主軸５０は時計回り方向に回転する。つまり、モータ２０により駆動されるモータ軸３０と、モータ軸３０により駆動される主軸５０とは、ギア３５，４５とベルト６０との組み合わせによって機械的に結合される。
【００２６】
図１（Ａ）は、モータ２０の反転前のモータ軸ギア３５及び中間軸ギア４５の位置、及びベルト６０に掛かる張力の様子を示す。ここでは仮に、モータ軸３０が時計回りの方向に回転している場合を想定する。なお、本発明の実施形態はこれには限定されない。
【００２７】
上記のように、モータ軸ギア３５と中間軸ギア４５とは噛み合っており、図１に示すモータ軸ギア３５の歯３５１と、中間軸ギア４５の歯４５１とは接触している。モータ軸３０は時計回り方向に回転しているので、歯３５１は歯４５１を下方に押す状態となっている。それに伴って、中間軸ギア４５、ひいては中間軸４０は反時計回り方向に回転する。なお、モータ軸ギア３５の複数の歯３５１に共通する説明をする際には、代表して「歯３５１」と表現することにする。
【００２８】
中間軸４０と主軸５０との間には、無端状のベルト６０が架け渡されているため、中間軸４０の反時計回り方向の回転に伴って、主軸５０も同様に、反時計回り方向に回転する。中間軸４０と主軸５０との間には、両軸の外周から延びる２本の外接線に沿うように、ベルト６０は、２つの非巻き付け部分を有する。図１において上側の非巻き付け部分が主軸５０を反時計回り方向に引っ張ることにより、主軸５０は反時計回りに回転する。すなわち、上側の非巻き付け部分が「張り側」となっており、下側の非巻き付け部分が「緩み側」となっている。ここで、上側の非巻き付け部分の張力をＦ１、下側の非巻き付け部分の張力をＦ２とした場合、Ｆ１＞Ｆ２となる。
【００２９】
次に、図１（Ｂ）は、モータ２０が反時計回り方向に反転し始めた直後の、モータ軸ギア３５及び中間軸ギア４５の位置、及びベルト６０に掛かる張力の様子を示す。
【００３０】
モータ軸３０の反時計回り方向への反転に伴って、モータ軸ギア３５も反時計回り方向に回転するため、モータ軸ギア３５の歯３５１は、中間軸ギア４５の歯４５１を下方に押さなくなり、上方への移動を開始する。一方、中間軸４０に掛け渡されるベルト６０において、上記のように、図１において上側の非巻き付け部分の張力Ｆ１が下側の非巻き付け部分の張力Ｆ２よりも大きくなっていることに起因して、中間軸４０は時計回り方向に回転し始める。これに伴って、主軸５０も時計回り方向への回転を開始する。この際、中間軸ギア４５の歯４５１は、モータ軸ギア３５の歯３５１には押されない。また、中間軸ギア４５の時計回り方向への回転に伴って、中間軸ギア４５の歯４５１は、図１において上方に移動するため、モータ軸ギア３５の歯３５１との接触を継続する。すなわち、この段階ではまだ、モータ軸ギア３５の歯３５１と中間軸ギア４５の歯４５１との間に隙間、すなわちバックラッシ（「バックラッシュ」とも呼ばれる）は発生していない。
【００３１】
上記のように、ベルト６０において上側の非巻き付け部分の張力Ｆ１が下側の非巻き付け部分の張力Ｆ２よりも大きいことに起因して、中間軸４０及び主軸５０は時計回り方向に回転する。そして、時計回り方向への回転を継続するに従って、２つの張力Ｆ１とＦ２との間の差は小さくなっていく。
【００３２】
やがて、図１（Ｃ）に示すように、張力Ｆ１と張力Ｆ２とがほぼ等しくなった段階で、中間軸４０、ひいては主軸５０の回転は停止する。一方で、モータ軸３０は、反時計回り方向への反転を継続するので、モータ軸ギア３５の歯３５１と、中間軸ギア４５の歯４５１との間に隙間、すなわちバックラッシが発生する。
【００３３】
その後、図１（Ｄ）に示すように、モータ軸ギア３５の歯のうち、上記の歯３５１の下側にある歯３５２は、上記のバックラッシ分を移動した後、中間軸の歯４５１に下側から接触する。これにより、中間軸４０、ひいては主軸５０は、再び時計回り方向への回転を始める。なお、図１（Ｄ）においては、図１（Ａ）とは各軸の回転方向が反対となっている。
【００３４】
具体的には、中間軸４０と主軸５０との間に存在するベルト６０の２つの非巻き付け部分のうち、図１において下側の非巻き付け部分が主軸５０を時計回り方向に引っ張ることにより、主軸５０は時計回りに回転する。すなわち、ベルト６０の下側の非巻き付け部分が「張り側」となっており、上側の非巻き付け部分が「緩み側」となっている。ここで、ベルト６０の上側の非巻き付け部分の張力をＦ１、ベルト６０の下側の非巻き付け部分の張力をＦ２とした場合、Ｆ１＜Ｆ２となっている。
【００３５】
以上のことから、モータ２０と主軸５０との間の減速機構がギア３５，４５及びベルト６０から構成されている場合には、言い換えると、モータ２０により駆動されるモータ軸３０と、モータ軸３０により駆動される主軸５０とが、ギア３５，４５とベルト６０との組み合わせによって機械的に結合されている場合には、モータ２０の反転直後には、すぐに主軸５０が反転を開始するものの、しばらくすると一旦主軸５０の回転が止まり、その後再び主軸５０の反転動作が開始されるという動きになる。
【００３６】
ここで、仮に、モータ２０の反転直後に、モータ軸ギア３５の歯３５１が上記のバックラッシ分を速く移動できるようにバックラッシ補正を行うと、ベルト６０の張り側の張力に加えて、バックラッシ補正の力が加わり、中間軸４０は急に反転してしまう。これに伴って、主軸５０も急に反転してしまうため、主軸５０の位置が位置指令によって指令された位置よりも先に進んでしまうこととなる。
【００３７】
これを防ぐため、反転直後に補正を行うのではなく、一旦は中間軸ギア４５に自発的に反転を行わせ、ベルト６０の張り側の張力が緩んだところで、バックラッシ補正を行うのが本発明の基礎となる概念である。
【００３８】
［第１実施形態］
図２は、第１実施形態に係るモータ制御装置１０の構成を示す図である。
【００３９】
モータ制御装置１０は、主として、モータ２０により駆動される可動部としてのモータ軸３０の位置（「第１位置」又は「モータ位置」ともいう）を検出する、エンコーダ等の第１位置検出部１０１と、上記の可動部（モータ軸３０）により駆動される被駆動部である主軸５０の位置（「第２位置」又は「主軸位置」ともいう）を検出する第２位置検出部１０３と、上記の第１位置と第２位置との偏差（「位置誤差」ともいう）を計算する位置誤差計算部１０４と、を備える。なお、例えば、上記の「第１位置」又は「モータ位置」はセミクローズドループを用いて取得された位置であり、「第２位置」又は「主軸位置」はフルクローズドループを用いて取得された位置である。
【００４０】
更に、モータ制御装置１０は、位置指令作成部１０５と、反転検出部１０６と、位置誤差変化量計算部１０７と、判定部１０８と、バックラッシ補正部１０９と加算器１１０とを備える。位置指令作成部１０５は、上記のモータ２０への位置指令を作成する。反転検出部１０６は、上記の位置指令の反転を検出する。位置誤差変化量計算部１０７は、反転が検出されてからの上記の位置誤差の変化量を計算する。判定部１０８は、上記の位置誤差の変化量が所定の基準値を超えたかどうかを判定する。バックラッシ補正部１０９は、上記の位置誤差の変化量が所定の基準値を超えた場合には、バックラッシ補正量を算出し、加算器１１０を用いて、当該バックラッシ補正量を上記の位置指令に加算する。
上記のバックラッシ補正量が加算された位置指令は、制御部１１１によりモータ２０に送信される。
【００４１】
なお、上記の位置誤差計算部１０４は、上記の第１位置と第２位置の偏差を位置誤差として計算する。具体的には、上記の第１位置検出値に、変換係数１０２を乗算することにより、被駆動部の位置（主軸位置）の値に換算した換算後第１位置検出値を算出し、当該換算後第１位置検出値と、第２位置検出値との間の偏差を位置誤差として計算する。この変換係数１０２としては、例えば、可動部（モータ軸３０）と被駆動部（主軸５０）の間との回転比を用いることが可能である。
【００４２】
また、上記のバックラッシ補正量は、上記の第１位置及び第２位置のいずれか又は双方、例えば、第１位置及び第２位置の相対的な位置関係や上記の位置誤差を用いて、周知の方法により算出することが可能である。一例として、特許文献１に記載の方法を用いて算出してもよい。
【００４３】
次に、図３を用いて、一部繰り返しとなるが、上記のモータ制御装置１０の動作フローについて説明する。
【００４４】
まず、反転検出部１０６は、位置指令作成部１０５によって作成された位置指令の反転を監視する（Ｓ１０１）。反転が検出された場合（Ｓ１０１：ＹＥＳ）は、位置誤差変化量計算部１０７は、位置誤差の変化量を０に初期化する（Ｓ１０２）。そして、位置誤差変化量計算部１０７は、位置誤差の変化量の絶対値を計算する（Ｓ１０３）。一方、位置指令の反転が検出されない場合（Ｓ１０１：ＮＯ）には、改めてＳ１０２の初期化のステップを経ることなく、位置誤差変化量計算部１０７は、位置誤差の変化量の絶対値を計算する。
【００４５】
次に、判定部１０８は、上記の位置誤差の変化量の絶対値を所定の基準値と比較する（Ｓ１０４）。当該絶対値が基準値を超えた場合（Ｓ１０４：ＹＥＳ）には、バックラッシ補正部１０９はバックラッシ補正量を位置指令に加算する。すなわち、バックラッシ補正をＯＮとする（Ｓ１０５）。上記の絶対値が基準値を超えていない場合（Ｓ１０４：ＮＯ）には、バックラッシ補正部１０９はバックラッシ補正量を位置指令に加算しない。すなわち、バックラッシ補正をＯＦＦとする（Ｓ１０６）。
【００４６】
図４は、判定部１０８が、位置誤差の変化量の絶対値を所定の基準値と比較する際の、位置誤差の変化量の絶対値の継時的な変化と、補正のタイミングとを示す図である。Ｓ１０１において反転を検出した場合、上記のように位置誤差の絶対値は０に初期化されるので、図４に示されるように、位置誤差の絶対値のグラフは時間軸に対して垂直下方の軌跡を描き、点Ａに至る。その後、位置誤差の絶対値は増加していくが、基準値を超えた段階、すなわち図４の点Ｂに対応するＳ１０５において、位置指令にバックラッシ補正量を加算する。なお、図４のグラフにおいて、位置誤差の絶対値は、点Ａ以前の段階において一定値を保っており、点Ｂを経由してからしばらくすると、再び同一の一定値を保つ。これは、モータ軸ギアの歯と中間軸ギアの歯とが噛み合っていることによるものである。
【００４７】
図５は、バックラッシ補正をしない場合、モータの反転直後にバックラッシ補正をした場合、及び、本実施形態に係るモータ制御装置を用いて適切なタイミングでバックラッシ補正をした場合の、モータ位置及び主軸位置の継時的変化と、当該モータを用いて円弧補間運動をさせた際の象限突起を示す図である。
（Ａ）が補正をしない場合の図、（Ｂ）がモータの反転直後にバックラッシ補正をした場合の図、（Ｃ）が本実施形態に係るモータ制御装置を用いて適切なタイミングでバックラッシ補正をした場合の図である。
【００４８】
また、（Ａ）、（Ｂ）及び（Ｃ）それぞれの左側の図が、モータ位置及び主軸位置の継時的変化を示す図であり、破線が主軸位置を表し、１点鎖線がモータ位置を表す。また、（Ａ）、（Ｂ）及び（Ｃ）それぞれの右側の図が、ギアとベルトを使った減速機構を有する本制御軸を回転軸に使用し、それとは別の直線軸との補間により、図１１に示す偏心円弧補間運動をさせた際の象限突起を示す図である。
【００４９】
図１１は、図５における円弧測定時の偏心円弧プログラム（円弧条件）を示す図である。座標の中心は主軸のテーブルの中心に対応する。テーブルの中心から３４０ｍｍ離れた点を中心に半径５０ｍｍの円を描くように切削する。主軸（Ｃ軸）の回転により、切削点は仮想Ｃ軸方向に動く。サーボ軸などの送り軸（Ｘ軸）により、切削点はＸ軸方向に動く。主軸及び送り軸を偏心円弧プログラムによって動かすことで、切削点を上記のような円弧形状に動かすことが可能となる。
【００５０】
（Ａ）の左側の図は、バックラッシ補正をしない場合の、モータ位置及び主軸位置の継時的変化を示す図である。点線の円内に示されるように、反転後暫くしてからモータ位置に比べて主軸の位置が遅れている。また、これに対応して、（Ａ）の右側の図でも、点線の円内に示されるように、主軸の反転遅れによる象限突起が描かれている。
【００５１】
（Ｂ）の左側の図は、モータの反転直後にバックラッシ補正をした場合の、モータ位置及び主軸位置の継時的変化を示す図である。モータ軸ギアの歯がバックラッシ内を移動し始める前に補正を行ったことにより、点線の円内に示されるように、反転時に大きな食い込みが生じている。これは、補正による反転方向への力に加え、張り側のベルトによる反転方向への張力が加わるため、反転方向へ大きく動いてしまうためである。また、これに対応して、（Ｂ）の右側の図でも点線の楕円内に示されるように、円弧の食い込みが発生している。更に、主軸の反転遅れによる象限突起も残っている。
【００５２】
（Ｃ）の左側の図は、本実施形態に係るモータ制御装置を用いて適切なタイミングでバックラッシ補正をした場合の、モータ位置及び主軸位置の継時的変化を示す図である。（Ａ）の左側の図と比較すると分かるように、主軸位置がモータ位置に遅れ始めてから、双方の角速度が同様な値となるまでの時間（双方のグラフの傾きが同様となるまでの時間）は、（Ｃ）の方が（Ａ）よりも短くなっている（ｄ１＞ｄ２）。更に、中段の左図に見られるような食い込みも発生していない。また、これに対応して、（Ｃ）の右側の図に示されるように、円弧への食い込みも発生していないと共に、点線の円内に示されるように、象限突起は抑制されている。
【００５３】
これらの図を比較すると分かるように、第１実施形態に係るモータ制御装置により、モータへの位置指令に対してバックラッシ補正量を適切なタイミングで加算することが可能となる。
【００５４】
［第２実施形態］
図６は、第２実施形態に係るモータ制御装置１０Ａの構成を示す図である。なお、第１実施形態に係るモータ制御装置１０と同一の構成要素については、同一の符号を用い、その具体的な説明は省略する。
【００５５】
第２実施形態に係るモータ制御装置１０Ａは、第１実施形態に係るモータ制御装置１０における位置誤差変化量計算部１０７の代わりに、位置誤差変化率計算部２０７を備える点で異なる。第１実施形態に係るモータ制御装置１０は、位置誤差の変化量が所定の基準値を超えた場合に、バックラッシ補正をＯＮとしていたが、第２実施形態に係るモータ制御装置１０Ａは、位置誤差の変化率が所定の基準値を超えた場合に、バックラッシ補正をＯＮとする。
【００５６】
次に、図７を用いて、一部繰り返しとなるが、上記のモータ制御装置１０Ａの動作フローについて説明する。
【００５７】
まず、反転検出部１０６は、位置指令作成部１０５によって作成された位置指令の反転を監視する（Ｓ２０１）。反転が検出された場合（Ｓ２０１：ＹＥＳ）には、位置誤差変化率計算部２０７は、位置誤差の単位時間当たりの変化率の監視を開始する（Ｓ２０２）。そして、位置誤差変化率計算部２０７は、位置誤差の単位時間当たりの変化率の絶対値を計算する（Ｓ２０３）。一方、位置指令の反転が検出されない場合（Ｓ２０１：ＮＯ）には、改めてＳ２０２の監視開始のステップを経ることなく、位置誤差変化率計算部２０７は、位置誤差の単位時間当たり変化率の絶対値を計算する。
【００５８】
次に、判定部１０８は、上記の位置誤差の単位時間当たりの変化率の絶対値を所定の基準値と比較する（Ｓ２０４）。当該絶対値が基準値を超えた場合（Ｓ２０４：ＹＥＳ）には、バックラッシ補正部１０９はバックラッシ補正量を位置指令に加算する。すなわち、バックラッシ補正をＯＮとする（Ｓ２０５）。上記の絶対値が基準値を超えていない場合（Ｓ２０４：ＮＯ）には、バックラッシ補正部１０９はバックラッシ補正量を位置指令に加算しない。すなわち、バックラッシ補正をＯＦＦとする（Ｓ２０６）。
【００５９】
図８は、判定部１０８が、位置誤差の単位時間当たりの変化率の絶対値を所定の基準値と比較する際の、位置誤差の単位時間当たりの変化率の絶対値の継時的な変化と、補正のタイミングを示す図である。Ｓ２０１に対応する点Ｃにおいて反転を検出した後、変化率の絶対値は増加していくが、基準値を超えた段階、すなわち図８の点Ｄに対応するＳ２０５において、バックラッシ補正部１０９は位置指令にバックラッシ補正量を加算する。
【００６０】
第２実施形態に係るモータ制御装置においても、第１実施形態に係るモータ制御装置と同様に、モータ２０への位置指令に対してバックラッシ補正量を適切なタイミングで加算することが可能となる。
【００６１】
［第３実施形態］
図９は、第３実施形態に係るモータ制御装置が、位置誤差の変化率の絶対値を基準値と比較する際の、当該位置誤差の変化率の絶対値の変化と、補正のタイミングを示す図である。なお、第３実施形態に係るモータ制御装置は、第２実施形態に係るモータ制御装置１０Ａと同一の構成であるため、その説明を省略する。また、第３実施形態に係るモータ制御装置の動作フローも、基本的には第２実施形態に係るモータ制御装置１０Ａと同一であるため、説明を省略する。
【００６２】
第２実施形態においては、単位時間当たりの位置誤差の変化率の絶対値を所定の基準値と比較していたが、第３実施形態においては、モータの回転角の単位変化量当たりの位置誤差の変化率の絶対値を、所定の基準値と比較する。
【００６３】
図９においても図８と同様に、Ｓ２０１に対応する点Ｅにおいて反転を検出した後、変化率の絶対値は増加していくが、基準値を超えた段階、すなわち図９の点Ｆに対応するＳ２０５において、バックラッシ補正部１０９は位置指令にバックラッシ補正量を加算する。
【００６４】
第３実施形態に係るモータ制御装置においても、第１及び第２実施形態に係るモータ制御装置と同様に、モータ２０への位置指令に対してバックラッシ補正量を適切なタイミングで加算することが可能となる。
【００６５】
［第４実施形態］
図１０は、第４実施形態に係るモータ制御装置が、位置誤差の変化率の絶対値を基準値と比較する際の、当該位置誤差の変化率の絶対値の変化と、補正のタイミングを示す図である。なお、第４実施形態に係るモータ制御装置は、第２実施形態に係るモータ制御装置１０Ａ及び第３実施形態に係るモータ制御装置と同一の構成であるため、その説明を省略する。また、第４実施形態に係るモータ制御装置の動作フローも、基本的には第２実施形態に係るモータ制御装置１０Ａ及び第３実施形態に係るモータ制御装置と同一であるため、説明を省略する。
【００６６】
第２実施形態においては、単位時間当たりの位置誤差の変化率の絶対値を所定の基準値と比較していた。また、第３実施形態においては、モータの回転角の単位変化量当たりの位置誤差の変化率の絶対値を、所定の基準値と比較していた。一方で、第４実施形態においては、位置指令の積算値の単位変化量当たりの位置誤差の変化率の絶対値を、所定の基準値と比較する。
【００６７】
図１０においても図８及び図９と同様に、Ｓ２０１に対応する点Ｇにおいて反転を検出した後、変化率の絶対値は増加していくが、基準値を超えた段階、すなわち図１０の点Ｈに対応するＳ２０５において、バックラッシ補正部１０９は位置指令にバックラッシ補正量を加算する。
【００６８】
第４実施形態に係るモータ制御装置においても、第１〜第３実施形態に係るモータ制御装置１０、１０Ａと同様に、モータ２０への位置指令に対してバックラッシ補正量を適切なタイミングで加算することが可能となる。
【００６９】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００７０】
モータ制御装置１０、１０Ａによる制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ（モータ制御装置１０、１０Ａ）にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータ（モータ制御装置１０、１０Ａ）に提供されてもよい。
【符号の説明】
【００７１】
１０、１０Ａ  モータ制御装置
２０  モータ
３０  モータ軸（可動部）
３５  モータ軸ギア
４０  中間軸
４５  中間軸ギア
５０  主軸（被駆動部）
６０  ベルト
１０１  第１位置検出部
１０２  変換係数
１０３  第２位置検出部
１０４  位置誤差計算部
１０５  位置指令作成部
１０６  反転検出部
１０７  位置誤差変化量計算部
１０８  判定部
１０９  バックラッシ補正部
１１０  加算器
１１１  制御部
２０７  位置誤差変化率計算部
３５１  歯
３５２  歯
４５１  歯
【図１】
0006396360.tif 000002
【図２】
0006396360.tif 000003
【図３】
0006396360.tif 000004
【図４】
0006396360.tif 000005
【図５】
0006396360.tif 000006
【図６】
0006396360.tif 000007
【図７】
0006396360.tif 000008
【図８】
0006396360.tif 000009
【図９】
0006396360.tif 000010
【図１０】
0006396360.tif 000011
【図１１】
0006396360.tif 000012