(57)【特許請求の範囲】
【請求項１】
モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置において、
前記可動部の位置を検出する第一位置検出部と、
前記被駆動部の位置を検出する第二位置検出部と、
前記第一位置検出部が検出した第一位置検出値と前記第二位置検出部が検出した第二位置検出値との間の偏差を計算する偏差計算部と、
前記可動部を任意の初期位置から第一駆動方向および該第一駆動方向とは反対の第二駆動方向に移動させたときに前記可動部が前記被駆動部に係合したか否かを判定する判定部と、
前記判定部によって前記可動部が前記被駆動部に係合したことが判定されたときに前記偏差計算部が計算した前記偏差を前記第一駆動方向または前記第二駆動方向に関連づけて初期偏差として保持する保持部と、
前記バックラッシのバックラッシ補正量を計算する補正量計算部と、を具備し、
前記補正量計算部は、前記可動部および前記被駆動部のそれぞれの現在の位置について前記偏差計算部が計算した偏差と、前記保持部が保持した前記初期偏差とに基づいて前記バックラッシ補正量を計算し、
該バックラッシ補正量は、前記可動部の位置指令値と前記第一位置検出値との間の第一位置偏差に加算されるか、または前記可動部の速度指令値に加算されるようにした、モータの制御装置。
【請求項２】
前記判定部は、前記可動部が前記第一駆動方向または前記第二駆動方向に前記バックラッシ以上移動したときに、前記可動部が前記被駆動部に係合したと判定する、請求項１に記載のモータ制御装置。
【請求項３】
前記判定部は、前記可動部が一定速度で移動したときに、前記可動部が前記被駆動部に係合したと判定する、請求項２に記載のモータ制御装置。
【請求項４】
さらに、前記被駆動部の位置指令値を作成する位置指令作成部と、
前記位置指令値と前記第一位置検出値との間の第一位置偏差と、前記位置指令値と前記第二位置検出値との間の第二位置偏差とに基づいて速度指令値を作成する速度指令作成部と、を具備する、請求項１に記載のモータ制御装置。
【請求項５】
前記速度指令作成部は、前記第二位置偏差と前記第一位置偏差との差にローパスフィルタをかけた値に、前記第一位置偏差を加算して速度指令を作成する請求項４に記載のモータ制御装置。
【請求項６】
前記保持部は、前記第一駆動方向および前記第二駆動方向における速度指令値をさらに保持し、現在の速度指令値が保持された速度指令値よりも小さい場合には、前記現在の速度指令値を新たな速度指令値として保持するようにした、請求項４に記載のモータ制御装置。
【請求項７】
前記補正量計算部は、前記バックラッシの補正量を、バックラッシ量以下に制限するようにした、請求項１に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックラッシを補正するモータ制御装置に関する。
【背景技術】
【０００２】
工作機械、産業機械における送り軸および産業用ロボットのアーム等の軸（機械可動部）には、サーボモータが連結されている。サーボモータの回転はボールネジなどによりテーブルなどの直線運動に変換されたり、サーボモータの伝導速度が減速機により減速されたりしている。
【０００３】
これらボールネジまたは減速機において或る位置への正方向における停止位置と、負方向における停止位置との間に差が存在する場合がある。一般に、このような差はバックラッシと呼ばれており、位置精度を低下させる原因になっている。
【０００４】
図１０（ａ）〜図１０（ｃ）は、バックラッシを説明するための図である。図１０（ａ）には、図示しないモータにより移動する可動部ＷＡと、可動部ＷＡによって駆動される被駆動部ＷＢとが示されている。可動部ＷＡはその両端に突出部Ａ１、Ａ２を有しており、被駆動部ＷＢはその中央に突起部Ｂを有している。従って、例えば可動部ＷＡが右方向に移動すると、可動部ＷＡの一方の突出部Ａ１の内方端が被駆動部ＷＢの突起部Ｂの一端に係合する。これにより、可動部ＷＡおよび被駆動部ＷＢが一体的に右方向に移動するようになる。
【０００５】
また、可動部ＷＡが反転して右方向から左方向に移動する場合には、図１０（ｂ）に示されるように、可動部ＷＡが左方向に移動する。そして、図１０（ｃ）に示されるように、可動部ＷＡの他方の突出部Ａ２の内方端が被駆動部ＷＢの突起部Ｂの他端に係合すると、可動部ＷＡおよび被駆動部ＷＢが一体的に左方向に移動するようになる。
【０００６】
このように反転時には可動部ＷＡが被駆動部ＷＢに係合する前に、バックラッシと呼ばれる所定の移動量だけ移動する必要がある。図１０（ａ）および図１０（ｃ）にはバックラッシＣが示されており、バックラッシＣは位置精度を低下させる原因になりうる。
【０００７】
このため、バックラッシＣについての補正量を作成し、反転時にこの補正量をモータの位置指令に加算することが行われている。特許文献１においては、各送り軸において反転前の送り速度および反転するまでの移動量に対する補正量の関係を予め求めておき、この関係に基づいて、補正量を求めることが開示されている。また、特許文献２には、反転後の経過時間に応じて補正量を変更することが開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第３３８９４１７号公報
【特許文献２】特許第３７０３６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、図１１はバックラッシを説明するための他の図である。図１１においては、可動部ＷＡの両方の突出部Ａ１、Ａ２が被駆動部ＷＢの突起部Ｂの一端に係合していない初期位置が示されている。このような初期位置から可動部ＷＡを左方向に移動させると、可動部ＷＡはバックラッシＣよりも短い距離Ｃ１だけ移動して、被駆動部ＷＢの突起部Ｂの他端に係合する（図１０（ｃ）を参照されたい）ことになる。このような事象はバックラッシが比較的大きい場合に起きやすい。
【００１０】
しかしながら、このような場合にまで、バックラッシＣに対応する補正量をモータの位置指令に加算すると、補正量が過剰に大きくなることになる。補正量が過剰になるのを避けるために、バックラッシＣよりも小さい所定の補正量を作成することも可能である。しかしながら、補正量を小さくしすぎると、反転時の補正量が不足する事態も生じる。
【００１１】
本発明はこのような事情に鑑みてなされたものであり、初期位置からの移動量がバックラッシより小さい場合であっても、最適な補正量を作成することのできるモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前述した目的を達成するために１番目の発明によれば、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置において、前記可動部の位置を検出する第一位置検出部と、前記被駆動部の位置を検出する第二位置検出部と、前記第一位置検出部が検出した第一位置検出値と前記第二位置検出部が検出した第二位置検出値との間の偏差を計算する偏差計算部と、前記可動部を任意の初期位置から第一駆動方向および該第一駆動方向とは反対の第二駆動方向に移動させたときに前記可動部が前記被駆動部に係合したか否かを判定する判定部と、前記判定部によって前記可動部が前記被駆動部に係合したことが判定されたときに前記偏差計算部が計算した前記偏差を前記第一駆動方向または前記第二駆動方向に関連づけて初期偏差として保持する保持部と、前記バックラッシのバックラッシ補正量を計算する補正量計算部と、を具備し、前記補正量計算部は、前記可動部および前記被駆動部のそれぞれの現在の位置について前記偏差計算部が計算した偏差と、前記保持部が保持した前記初期偏差とに基づいて前記バックラッシ補正量を計算し、該バックラッシ補正量は、前記可動部の位置指令値と前記第一位置検出値との間の第一位置偏差に加算されるか、または前記可動部の速度指令値に加算されるようにした、モータの制御装置が提供される。
２番目の発明によれば、１番目の発明において、前記判定部は、前記可動部が前記第一駆動方向または前記第二駆動方向に前記バックラッシ以上移動したときに、前記可動部が前記被駆動部に係合したと判定する。
３番目の発明によれば、２番目の発明において、前記判定部は、前記可動部が一定速度で移動したときに、前記可動部が前記被駆動部に係合したと判定する。
４番目の発明によれば、１番目の発明において、さらに、前記被駆動部の位置指令値を作成する位置指令作成部と、前記位置指令値と前記第一位置検出値との間の第一位置偏差と、前記位置指令値と前記第二位置検出値との間の第二位置偏差とに基づいて速度指令値を作成する速度指令作成部と、を具備する。
５番目の発明によれば、４番目の発明において、前記速度指令作成部は、前記第二位置偏差から前記第一位置偏差を減算した値にローパスフィルタをかけた値に、前記第一位置偏差を加算して速度指令を作成する。
６番目の発明によれば、４番目の発明において、前記保持部は、前記第一駆動方向および前記第二駆動方向における速度指令値をさらに保持し、現在の速度指令値が保持された速度指令値よりも小さい場合には、前記現在の速度指令値を新たな速度指令値として保持するようにした。
７番目の発明によれば、１番目の発明において、前記補正量計算部は、前記バックラッシの補正量を、バックラッシ量以下に制限するようにした。
【発明の効果】
【００１３】
１番目の発明においては、現在の可動部の位置と被駆動部の位置との間の偏差と、初期偏差とに基づいてバックラッシ補正量を算出している。従って、現在の可動部の位置および被駆動部の位置に応じた最適なバックラッシ補正量を作成することができる。
２番目の発明においては、可動部がバックラッシ以上移動したときに、可動部が被駆動部に係合したと判定しているので、可動部が被駆動部に係合したことをより確実に判定することができる。
可動部が一定速度で移動するときには、加速または減速の影響がほとんどない。従って、３番目の発明においては、加速または減速によって可動部の移動軸が変形することがなく、バックラッシ補正量を正確に求めることができる。
４番目の発明においては、可動部の位置を検出する第一位置検出部と、被可動部の位置を検出する第二位置検出部との両方の位置検出値を使用して速度指令値を作成することで、可動部と被可動部との間のバックラッシが大きい場合でも振動が発生しにくい速度指令値を作成することができる。
５番目の発明においては、前記第一位置偏差と前記第二位置偏差との両方の偏差を使用して速度指令値を作成することで、位置偏差の変化が大きいときは第一位置検出部からの位置検出値で位置を制御することで安定に可動部を動かし、位置偏差の変化が小さいときは第二位置検出部からの位置検出値で位置を制御することで、被可動部の位置の精度を高めることができる。
可動部の速度が小さいほど、可動部の移動軸の変形は小さくなる。従って、６番目の発明においては、可動部の移動軸の変形がより小さい速度を採用することにより、バックラッシ補正量をさらに正確に求めることができる。
７番目の発明においては、バックラッシ補正量はバックラッシ以上に大きくなることはない。バックラッシ補正量をバックラッシ以下の値に制限することにより、異常に大きいバックラッシ補正量が算出されるのを防止できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第一の実施形態に基づくモータ制御装置の機能ブロック図である。
【図２】本発明のモータ制御装置の動作を示すフローチャートである。
【図３】可動部と被駆動部とが係合したか否かを判定する第一のフローチャートである。
【図４】（ａ）初期位置における可動部および被駆動部の側面図である。（ｂ）可動部の一方の突出部が被駆動部に係合したときの図４（ａ）と同様な側面図である。（ｃ）可動部の他方の突出部が被駆動部に係合したときの図４（ａ）と同様な側面図である。
【図５】可動部と被駆動部とが係合したか否かを判定する第二のフローチャートである。
【図６】可動部と被駆動部とが係合したか否かを判定する第三のフローチャートである。
【図７】本発明の第二の実施形態に基づくモータ制御装置の機能ブロック図である。
【図８】可動部と被駆動部とが係合したかを否かを判定する他のフローチャートである。
【図９】可動部と被駆動部とが係合したかを否かを判定するさらに他のフローチャートである。
【図１０】（ａ）バックラッシを説明するための第一の図である。（ｂ）バックラッシを説明するための第二の図である。（ｃ）バックラッシを説明するための第三の図である。
【図１１】バックラッシを説明するための他の図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図１は本発明の第一の実施形態に基づくモータ制御装置の機能ブロック図である。図１に示されるように、突出部Ａ１、Ａ２を備えた可動部ＷＡがネジを介してモータＭの出力軸に取付けられている。そして、突起部Ｂを備えた被駆動部ＷＢが可動部ＷＡに係合可能に配置されている。
【００１６】
図８（ａ）を参照して説明したように可動部ＷＡおよび被駆動部ＷＢの間には、バックラッシＣが存在している。バックラッシＣは、三次元測定器などで可動部ＷＡの移動距離を測定し、これをモータＭの移動量と比較してその差を測定することにより求められる。あるいは、象限が切替わるときに生じる、いわゆる象限突起を測定することにより、バックラッシＣを求めてもよい。
【００１７】
図１に示されるように、可動部ＷＡの位置を検出する第一位置検出部１１、例えばエンコーダがモータＭに取付けられている。この第一位置検出部１１は公知の手法により可動部ＷＡの速度を検出することもできる。さらに、被駆動部ＷＢの位置を検出する第二位置検出部１２が被駆動部ＷＢに隣接して配置されている。
【００１８】
モータ制御装置１０は、可動部ＷＡの位置指令値ＣＰを周期的に作成する位置指令作成部２０と、可動部ＷＡの速度指令を作成する速度指令作成部２４と、モータＭのトルク指令を作成するトルク指令作成部２６とを主に含んでいる。
【００１９】
さらに、モータ制御装置１０は、第一位置検出部１１が検出した第一位置検出値ＤＰ１と第二位置検出部１２が検出した第二位置検出部ＤＰ２との間の偏差ΔＰを計算する偏差計算部３１を含んでいる。また、モータ制御装置１０は、可動部ＷＡを任意の初期位置から第一駆動方向および該第一駆動方向とは反対の第二駆動方向に移動させたときに可動部ＷＡが被駆動部ＷＢに係合したか否かを判定する判定部３２を含んでいる。
【００２０】
さらに、モータ制御装置１０は、判定部３２によって可動部ＷＡが被駆動部ＷＢに係合したことが判定されたときに偏差計算部３１が計算した偏差ΔＰを第一駆動方向または第二駆動方向に関連づけて初期偏差ΔＰ０として保持する保持部３３を含んでいる。なお、保持部３３は、速度などの他の要素も保持できるものとする。さらに、モータ制御装置１０は、バックラッシを解消するためのバックラッシ補正量を計算する補正量計算部３４を含んでいる。
【００２１】
図２は本発明のモータ制御装置の動作を示すフローチャートである。図２に示される内容は所定の制御周期毎に繰返し行われるものとする。以下、図１および図２を参照して本発明のモータ制御装置の動作を説明する。
【００２２】
はじめに、図２のステップＳ１１において位置指令作成部２０が位置指令値ＣＰを作成する。次いで、ステップＳ１２、Ｓ１３おいて第一位置検出部１１および第二位置検出部１２が可動部ＷＡの第一位置検出値ＤＰ１および被駆動部ＷＢの第二位置検出部ＤＰ２をそれぞれ検出する。
【００２３】
図１に示されるように、位置指令作成部２０により作成された位置指令値ＣＰから、第一位置検出部１１により検出された第一位置検出値ＤＰ１が減算器２１にて減算され、第一位置偏差ΔＰ１が作成される。なお、図１から分かるように、第一位置検出値ＤＰ１には変換係数３０が乗算されるものとする。
【００２４】
さらに、第二位置検出部１２により検出された第二位置検出値ＤＰ２が減算器２７にて位置指令値ＣＰから減算されて第二位置偏差ΔＰ２が作成される。減算器２８において第二位置偏差ΔＰ２から第一位置偏差ΔＰ１が減算されて、ローパスフィルタ２９を通じて加算器２３に入力される。ここで、ローパスフィルタ２９を用いる理由は、位置偏差の変化が大きいときは第一位置検出部からの位置検出値で位置を制御することで安定的に可動部を動かし、位置偏差の変化が小さいときは第二位置検出部からの位置検出値で位置を制御することで、被可動部の位置の精度を高めるためである。
【００２５】
加算器２３により加算された第一位置偏差ΔＰ１および第二位置偏差ΔＰ２は速度指令作成部２４に入力されて、速度指令値ＣＶが作成される。さらに、第一位置検出部１１により検出された速度検出値ＤＶが、減算器２５において速度指令値ＣＶから減算されて、速度偏差ΔＶが算出される。次いで、トルク指令作成部２６が速度偏差ΔＶに基づいてトルク指令値を作成して、モータＭに入力する。なお、作成された速度指令値ＣＶおよび速度検出値ＤＶは保持部３３に順次保持されるものとする。
【００２６】
図１から分かるように、本発明においては、第二位置偏差ΔＰ２から第一位置偏差ΔＰ１を減算した値が偏差計算部３１に入力される。この値においては、位置指令値ＣＰが実質的に排除されている。従って、偏差計算部３１は第一位置検出値ＤＰ１と第二位置検出値ＤＰ２との間の偏差ΔＰを容易に計算できる（ステップＳ１４）。あるいは、第一位置偏差ΔＰ１および第二位置偏差ΔＰ２を偏差計算部３１に直接的に入力し、偏差ΔＰを作成してもよい。
【００２７】
その後、ステップＳ１５に示されるように、判定部３２が可動部ＷＡと被駆動部ＷＢとが係合したか否かを判定する。図３は可動部と被駆動部とが係合したか否かを判定する第一のフローチャートである。また、図４（ａ）は初期位置における可動部および被駆動部の側面図である。さらに、図４（ｂ）および図４（ｃ）は可動部の突出部が被駆動部に係合したときの図４（ａ）と同様な側面図である。以下、図３〜図４（ｃ）を参照しつつ、可動部ＷＡと被駆動部ＷＢとが係合したか否かの判定について説明する。
【００２８】
図４（ａ）に示される初期状態は、一つの例示である。図４（ａ）においては、被駆動部ＷＢの突起部Ｂは可動部ＷＡの二つの突起部Ａ１、Ａ２の間のある位置に存在している。被駆動部ＷＢの突起部Ｂは可動部ＷＡの二つの突出部Ａ１、Ａ２の間の任意の位置にあってもよい。また、図４（ａ）〜図４（ｃ）における左方向を第一駆動方向とする共に、右方向を第二駆動方向とする。例えば第一駆動方向がプラス方向で、第二駆動方向がマイナス方向である。
【００２９】
また、可動部ＷＡは、可動部がボールネジで被可動部がナットと結合されている場合、モータＭの出力軸に連結されたネジＮであり、突起部Ａ１、Ａ２はボールネジのねじ山に相当する。可動部がナットで被可動部がボールネジの場合、突起部Ａ１、Ａ２はナットのねじ山に相当する。さらに、位置指令作成部２０からの位置指令値によってモータＭは適宜反転し、可動部ＷＡは、第一駆動方向および第二駆動方向に適宜移動するものとする。
【００３０】
図３のステップＳ２１においては、第一位置検出部１１によって検出される可動部ＷＡの第一駆動方向における第一位置検出値ＤＰ１の移動量の絶対値がバックラッシＣ以上であるか否かが判定される。なお、第一位置検出値ＤＰ１の移動量は方向が反転したとき（第一駆動方向から第二駆動方向へ変わったとき、または、第二駆動方向から第一駆動方向へ変わったとき）には０クリアされ、同一方向へ移動中のみ積算されていく移動量になる。ＹＥＳ判定である場合には、可動部ＷＡの突出部Ａ２と被駆動部ＷＢの突起部Ｂとが係合したと判定する（図４（ｂ）を参照されたい）。そして、ステップＳ２４においては、第一駆動方向における偏差ΔＰを初期偏差ΔＰ０として保持部３３に符号付きで保持する。
【００３１】
また、ステップＳ２１においてＮＯ判定である場合には、ステップＳ２５に進んで、第一位置検出部１１によって検出される可動部ＷＡの第二駆動方向における第一位置検出値ＤＰ１の絶対値がバックラッシＣ以上であるか否かが判定される。なお、第一位置検出値ＤＰ１の移動量は方向が反転したとき（第一駆動方向から第二駆動方向へ変わったとき、または、第二駆動方向から第一駆動方向へ変わったとき）には０クリアされ、同一方向へ移動中のみ積算されていく移動量になる。ＹＥＳ判定である場合には、可動部ＷＡの突出部Ａ１と被駆動部ＷＢの突起部Ｂとが係合したと判定する（図４（ｃ）を参照されたい）。そして、ステップＳ２８においては、第二駆動方向における偏差ΔＰを初期偏差ΔＰ０として保持部３３に符号付きで保持する。
【００３２】
なお、図４（ａ）に示される初期位置から可動部ＷＡが移動した場合には、図３のステップＳ２４における偏差ΔＰは距離Ｌ２に相当する。同様に、図３のステップＳ２８における偏差ΔＰは距離Ｌ１に相当する。
【００３３】
また、図４（ａ）から分かるように、可動部ＷＡが第一駆動方向に距離Ｌ２だけ移動すれば、可動部ＷＡの突出部Ａ２と被駆動部ＷＢの突起部Ｂとが係合する。しかしながら、初期位置において被駆動部ＷＢの突起部Ｂが可動部ＷＡの二つの突出部Ａ１、Ａ２の間の何処に位置するかは不明である。従って、本発明においては、バックラッシＣ（＝Ｌ１＋Ｌ２）だけ移動したときに可動部ＷＡと被駆動部ＷＢとが係合したものと判断している。
ところで、第一駆動方向における初期偏差ΔＰ０、第二駆動方向における初期偏差ΔＰは、一度保存された後は更新されない場合と、第一位置検出部１１によって検出される可動部ＷＡの第一駆動方向における第一位置検出値ＤＰ１の移動量の絶対値がバックラッシＣ以上の条件を満たしたときには更新される場合とがある。
図８は可動部と被駆動部とが係合したかを否かを判定する他のフローチャートであり、図３と同様な図である。図８に示されるように、一度保存された後は更新されない場合においては、初期偏差が保存済みであることを示すビットを設定し、ビットが設定されていれば更新を行わないようにする（ステップＳ２１ａ、Ｓ２５ａ）。図８のステップＳ２４’、Ｓ２８’に示されるように、ビットは第一駆動方向と第二駆動方向とにそれぞれ用意するのが好ましい。
【００３４】
再び図２を参照すると、ステップＳ１６においては、現在要求されている駆動方向において初期偏差ΔＰ０としての偏差ΔＰが保持部３３に保持されているか否かが判定される。保持されていない場合には、ステップＳ１７に進む。この場合には、過去に被駆動部ＷＢの突起部Ｂは可動部ＷＡの要求されている駆動方向の突出部Ａ１、または、Ａ２に係合していないことを示し、必要なバックラッシが分からない。従って、補正量計算部３４はバックラッシ補正量をゼロに設定する。
【００３５】
これに対し、偏差ΔＰが保持部３３に保持されている場合には、ステップＳ１８に進む。この場合には、過去に要求される駆動方向で被駆動部ＷＢの突起部Ｂが可動部ＷＡの突出部Ａ１、Ａ２のうちのいずれか一方に係合したことを示しており、駆動方向への必要なバックラッシが分かる。ステップＳ１８においては、補正量計算部３４は、バックラッシ補正量＝要求される駆動方向における初期偏差ΔＰ０−現在の偏差ΔＰとして設定する。
【００３６】
ここで、図１を参照すると、補正量計算部３４により作成されたバックラッシ補正量は加算器２２において第一位置偏差ΔＰ１に加算される。そして、加算された値は加算器２３を通じて速度指令作成部２４に供給されて速度指令値ＣＶが作成され（ステップＳ１９）、最終的にトルク指令作成部２６においてトルク指令値が作成される。
【００３７】
このように本発明においては、現在の可動部ＷＡの位置と被駆動部ＷＢの位置との間の偏差ΔＰと、保持部３３に保持された初期偏差ΔＰ０とに基づいてバックラッシ補正量を算出している。従って、現在の可動部ＷＡの位置および被駆動部ＷＢの位置に応じた最適なバックラッシ補正量を作成することが可能である。
【００３８】
ところで、図３においては第一位置検出値ＤＰ１の絶対値に基づいて可動部ＷＡと被駆動部ＷＢとの係合を判定していた。しかしながら、他の要素に基づいて可動部ＷＡと被駆動部ＷＢとの係合を判定してもよい。
【００３９】
図５は可動部と被駆動部とが係合したか否かを判定する第二のフローチャートである。図５に示されるステップのうち、図３を参照して説明したのと同様なステップについては再度の説明を省略する。
【００４０】
図５においては、ステップＳ２１でＹＥＳ判定されたときにステップＳ２２に進む。ステップＳ２２においては、連続した複数の速度指令値ＣＶまたは速度検出値ＤＶに基づいて加速度Ａを第一または第二の駆動方向付きで計算する。この計算は、判定部３２が行うものとする。そして、加速度Ａの絶対値を所定の閾値と比較する。この所定の閾値はゼロまたはゼロに近い正の値である。加速度Ａの絶対値が所定の閾値以下である場合には、ステップＳ２４に進む。
【００４１】
同様に、ステップＳ２５でＹＥＳ判定されたときにステップＳ２６に進む。そして、第一または第二の駆動方向付きで計算された加速度Ａの絶対値を前述した所定の閾値と比較する。加速度Ａの絶対値が所定の閾値以下である場合には、ステップＳ２８に進む。
【００４２】
ステップＳ２２およびステップＳ２６において加速度Ａの絶対値が所定の閾値以下である場合には、可動部ＷＡが概ね一定速度で移動していると判断でき、加速または減速はほとんど発生していない。そのような場合には、加速または減速によって可動部ＷＡの移動軸（ネジＮ）が変形することがないと判断できる。
【００４３】
そして、ステップＳ２２およびステップＳ２６において加速度Ａの絶対値が所定の閾値以下である場合には、ステップＳ２４およびステップＳ２８にそれぞれ進み、偏差ΔＰを初期偏差ΔＰ０として保持する。このような初期偏差ΔＰ０に基づいてバックラッシ補正量を作成した場合には、加速または減速の影響を受けることのない正確なバックラッシ補正量を求めることができる。
この場合にも、前述したのと同様に、初期偏差が更新されない場合と更新される場合とがある。図９は可動部と被駆動部とが係合したかを否かを判定するさらに他のフローチャートであり、図５と同様な図である。図９に示されるように、初期偏差が保持済みであることを示すビットを設定し、ビットが設定されている場合には更新を行わないようにする（ステップＳ２１ａ、Ｓ２５ａ）。また、ステップＳ２４’、Ｓ２８’に示されるように、ビットは第一駆動方向および第二駆動方向のそれぞれについて用意されるのが好ましい。
【００４４】
また、さらに他の要素に基づいて可動部ＷＡと被駆動部ＷＢとの係合を判定してもよい。図６は可動部と被駆動部とが係合したか否かを判定する第三のフローチャートである。図６に示されるステップのうち、図３または図５を参照して説明したのと同様なステップについては再度の説明を省略する。
【００４５】
図６においては、ステップＳ２２でＹＥＳ判定された場合にはステップＳ２３に進む。ステップＳ２３においては、第一駆動方向における偏差ΔＰが保持部３３に保持されているか否かを判定する。さらに、ステップＳ２３においては、保持部３３に保持されている速度の絶対値を現在の速度の絶対値と比較する。ここで、保持されている速度および現在の速度は速度指令値ＣＶまたは速度検出値ＤＶのいずれであってもよい。ただし、互いに同種の速度、例えば保持された速度指令値ＣＶと現在の速度指令値ＣＶとが比較されるものとする。
【００４６】
そして、第一駆動方向における偏差ΔＰが保持部３３に保持されている場合または保持部３３に保持されている速度の絶対値が現在の速度の絶対値よりも大きい場合には、ステップＳ２４’に進む。ステップＳ２４’においては、第一駆動方向における偏差ΔＰを初期偏差ΔＰ０として保持する。さらに、ステップＳ２４’においては、現在の速度を保持部３３に保持する。
【００４７】
同様に、図６においては、ステップＳ２６でＹＥＳ判定されたときにステップＳ２７に進む。そして、第二駆動方向における偏差ΔＰが保持部３３に保持されている場合または保持部３３に保持されている速度の絶対値が現在の速度の絶対値よりも大きい場合には、ステップＳ２８’に進む。そして、ステップＳ２８’においては、第二駆動方向における偏差ΔＰを初期偏差ΔＰ０として保持すると共に、現在の速度を保持部３３に保持する。
【００４８】
ステップＳ２３およびステップＳ２７においてＹＥＳ判定された場合には、可動部ＷＡの現在の速度が保持された速度よりも小さい。そのように可動部ＷＡの速度が小さい場合には、ネジＮの変形も小さい。従って、図６に示されるフローチャートにおいては、ネジＮの変形がより小さいと考えられる速度を採用する。そして、ステップＳ２４’またはステップＳ２８’にて保持された初期偏差に基づいてバックラッシ補正量を作成すると、ネジＮの変形の影響を受けることのない正確なバックラッシ補正量を求められる。
【００４９】
また、補正量計算部３４が作成するバックラッシ補正量は、バックラッシＣよりも大きくなることはない。従って、仮に補正量計算部３４がバックラッシＣよりも大きいバックラッシ補正量を作成した場合には、補正量計算部３４は作成されたバックラッシ補正量をバックラッシ以下の値に制限するのが好ましい。これにより、異常に大きいバックラッシ補正量が算出されるのを防止することができる。
【００５０】
さらに、図７は本発明の第二の実施形態に基づくモータ制御装置の機能ブロック図である。図７においては、第一位置検出部１１からの第一位置検出値ＤＰ１および第二位置検出部１２からの第二位置検出値ＤＰ２は偏差計算部３１に直接的に入力されている。そして、前述したのと同様にして補正量計算部３４により作成されたバックラッシ補正量は、加算器２２において速度指令値ＣＶに加算される。この場合に、適切な変換係数をバックラッシ補正量に乗算してもよい。このような場合であっても、前述したのと同様な効果が得られるのは明らかであろう。
【符号の説明】
【００５１】
１０    モータ制御装置
１１    第一位置検出部
１２    第二位置検出部
２０    位置指令作成部
２１    減算器
２２    加算器
２３    加算器
２４    速度指令作成部
２６    トルク指令作成部
２７    減算器
２８    減算器
２９    ローパスフィルタ
３０    変換係数
３１    偏差計算部
３２    判定部
３３    保持部
３４    補正量計算部
【図１】
0005596093.tif 000002
【図２】
0005596093.tif 000003
【図３】
0005596093.tif 000004
【図４】
0005596093.tif 000005
【図５】
0005596093.tif 000006
【図６】
0005596093.tif 000007
【図７】
0005596093.tif 000008
【図８】
0005596093.tif 000009
【図９】
0005596093.tif 000010
【図１０】
0005596093.tif 000011
【図１１】
0005596093.tif 000012