(57)【要約】【課題】バックラッシュやロストモーションの発生を確実に防止しつつ、最適な値のオフセットトルクを発生させる。【解決手段】バックラッシュが発生していないときのモータ側歯車ＧM1の回転角度θ1とモータ側歯車ＧM2の回転角度θ2との回転偏差角度である設定回転偏差角度（Δθmo）に対して、実稼働時における第１の回転角度（θ1）と第２の回転角度（θ2）との回転偏差角度である実回転偏差角度（Δθm）が小さくなったら、バックラッシュが発生したと判定して、オフセットトルク値設定部４０は、オフセットトルク指令値３１から出力するオフセットトルクτoの値を自動的に大きくする。このため可動部材の実施的な重量が増加したときには、オフセットトルクが自動的に大きくなり、バックラッシュやロストモーションの発生を防止することができる。【選択図】図１
2010209993.tif 000002
【特許請求の範囲】
【請求項１】
可動部材に接続された可動部材側歯車と、
前記可動部材側歯車に噛み合うと共に、第１のモータにより回転駆動される第１のモータ側歯車と、
前記可動部材側歯車に噛み合うと共に、第２のモータにより回転駆動される第２のモータ側歯車と、
極性が正になっている駆動トルク指令は通過させるが極性が負になっている駆動トルク指令は遮断する第１のゼロトルクリミッタと、
極性が負になっている駆動トルク指令は通過させるが極性が正になっている駆動トルク指令は遮断する第２のゼロトルクリミッタと、
実稼働前にオフセットトルク値（Ｔ）として初期設定トルク値（Ｔ0）が予め設定されていると共にオフセットトルク値（Ｔ）が更新できるようになっているオフセットトルク指令を出力するオフセットトルク指令部と、
第１のゼロトルクリミッタを通過してきた駆動トルク指令に前記オフセットトルク指令を加算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第１のモータに電流を供給する第１の電流制御部と、
第２のゼロトルクリミッタを通過してきた駆動トルク指令から前記オフセットトルク指令を減算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第２のモータに電流を供給する第２の電流制御部と、
を有するバックラッシュ除去制御装置において、
第１のモータ側歯車の回転角度である第１の回転角度（θ1）及び第２のモータ側歯車の回転角度である第２の回転角度（θ2）を検出する回転角度検出手段と、
バックラッシュが発生していないときの第１の回転角度（θ1）と第２の回転角度（θ2）との回転偏差角度である設定回転偏差角度（Δθmo）が予め設定されると共に、実稼働時における第１の回転角度（θ1）と第２の回転角度（θ2）との回転偏差角度である実回転偏差角度（Δθm）を演算し、更に、オフセットトルク値（Ｔ）に、前記実回転偏差角度（Δθm）と前記設定回転偏差角度（Δθmo）との差に応じた値を加えて更新トルク値（ＴK）を演算し、更新トルク値（ＴK）がその時点でのオフセットトルク値（Ｔ）よりも大きくなったら、その時の更新トルク値（ＴK）を、その時点以降のオフセットトルク値（Ｔ）として設定しなおすオフセットトルク値設定部と、
を備えたことを特徴とするバックラッシュ除去制御装置。
【請求項２】
可動部材に接続された可動部材側歯車と、
前記可動部材側歯車に噛み合うと共に、第１のモータにより回転駆動される第１のモータ側歯車と、
前記可動部材側歯車に噛み合うと共に、第２のモータにより回転駆動される第２のモータ側歯車と、
極性が正になっている駆動トルク指令は通過させるが極性が負になっている駆動トルク指令は遮断する第１のゼロトルクリミッタと、
極性が負になっている駆動トルク指令は通過させるが極性が正になっている駆動トルク指令は遮断する第２のゼロトルクリミッタと、
オフセットトルク値（Ｔ）が更新できるようになっているオフセットトルク指令を出力するオフセットトルク指令部と、
第１のゼロトルクリミッタを通過してきた駆動トルク指令に前記オフセットトルク指令を加算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第１のモータに電流を供給する第１の電流制御部と、
第２のゼロトルクリミッタを通過してきた駆動トルク指令から前記オフセットトルク指令を減算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第２のモータに電流を供給する第２の電流制御部と、
を有するバックラッシュ除去制御装置において、
第１のモータ側歯車の回転角度である第１の回転角度（θ1）及び第２のモータ側歯車の回転角度である第２の回転角度（θ2）を検出する回転角度検出手段と、
バックラッシュが発生していないときの第１の回転角度（θ1）と第２の回転角度（θ2）との回転偏差角度である設定回転偏差角度（Δθmo）が予め設定されると共に、実稼働時における第１の回転角度（θ1）と第２の回転角度（θ2）との回転偏差角度である実回転偏差角度（Δθm）を演算し、更に、前記実回転偏差角度（Δθm）と前記設定回転偏差角度（Δθmo）との差に応じた値の更新トルク値（ＴK）を演算し、更新トルク値（ＴK）がその時点でのオフセットトルク値（Ｔ）よりも大きくなったら、その時の更新トルク値（ＴK）を、その時点以降のオフセットトルク値（Ｔ）として設定しなおすオフセットトルク値設定部と、
を備えたことを特徴とするバックラッシュ除去制御装置。
【請求項３】
可動部材に接続された可動部材側歯車と、
前記可動部材側歯車に噛み合うと共に、第１のモータにより回転駆動される第１のモータ側歯車と、
前記可動部材側歯車に噛み合うと共に、第２のモータにより回転駆動される第２のモータ側歯車と、
極性が正になっている駆動トルク指令は通過させるが極性が負になっている駆動トルク指令は遮断する第１のゼロトルクリミッタと、
極性が負になっている駆動トルク指令は通過させるが極性が正になっている駆動トルク指令は遮断する第２のゼロトルクリミッタと、
オフセットトルク値（Ｔ）が更新できるようになっているオフセットトルク指令を出力するオフセットトルク指令部と、
第１のゼロトルクリミッタを通過してきた駆動トルク指令に前記オフセットトルク指令を加算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第１のモータに電流を供給する第１の電流制御部と、
第２のゼロトルクリミッタを通過してきた駆動トルク指令から前記オフセットトルク指令を減算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第２のモータに電流を供給する第２の電流制御部と、
を有するバックラッシュ除去制御装置において、
第１のモータ側歯車の回転角度である第１の回転角度（θ1）及び第２のモータ側歯車の回転角度である第２の回転角度（θ2）を検出する回転角度検出手段と、
第１のモータに流すモータ電流値（ｉ1）と第１の回転角度（θ1）を基に第１のモータが発生する第１のオフセットトルク値（Ｔ1）を推定演算する第１のオフセットトルク値推定部と、
第２のモータに流すモータ電流値（ｉ2）と第２の回転角度（θ2）を基に第２のモータが発生する第２のオフセットトルク値（Ｔ2）を推定演算する第２のオフセットトルク値推定部と、
第１のオフセットトルク値（Ｔ1）と第２のオフセットトルク値（Ｔ2）とを比較し、第１のオフセットトルク値（Ｔ1）と第２のオフセットトルク値（Ｔ2）とが異なっているときには、その時のオフセットトルク値（Ｔ）に予め決めた加算トルク値（ΔＴ）を加算した値を、その時点以降のオフセットトルク値（Ｔ）として設定しなおすオフセットトルク値設定部と、
を備えたことを特徴とするバックラッシュ除去制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はバックラッシュ除去制御装置に関し、オフセットトルクの値を最適に設定して、無駄なくしかも確実にバックラッシュやロストモーションの発生を防止することができるようにしたものである。
【背景技術】
【０００２】
工作機械においては、モータの回転力（駆動力）を、動力伝達機構を介して、可動部材であるテーブルや主軸に伝達して、可動部材（テーブルや主軸）を移動させている。
可動部材が、例えばテーブル等のように大重量の場合には、モータと可動部材の間に減速機を介して駆動する。また、送り機構の場合は、ボールねじや、ラック＆ピニオンなどの機構を介して駆動する。
【０００３】
このような動力伝達機構には歯車が組み込まれているため、正確な位置制御、ひいては精度の良い加工をする場合には、バックラッシュが問題となる。
即ち、バックラッシュが存在すると、可動部材を位置精度良く安定に駆動することが難しくなり、加工精度に悪影響を及ぼしてしまうのである。
【０００４】
更に、バックラッシュが存在すると、可動部材の加速度が反転する際に、入力側（モータ側）のギアの歯と、出力側（可動部材側）のギアの歯との噛み合いが変わるため、ロストモーション、即ち、噛み合いがはずれてから再度噛み合うまでの間において入力側ギア歯と出力側ギア歯とが噛み合っていない状態が発生する。
ロストモーションが発生している間では、モータのトルクは可動部材に伝達しないので、一時的に無制御の状態が発生し、位置決め精度が悪化してしまう。
【０００５】
ここで、モータ側に接続された歯車と、可動部材側（例えばテーブルに連結されたボールねじ軸）に接続された歯車との間で発生するロストモーションについて、図６Ａ〜図６Ｄを参照して説明する。なお図６Ａ〜図６Ｄでは、歯車に備えた歯の一部のみを図示している。
また、モータ側に接続された歯車を「モータ側歯車ＧM」、可動部材側に接続された歯車を「可動部材側歯車ＧL」として説明をする。
【０００６】
バックラッシュによるロストモーションは、可動部材の移動方向（加速度）が反転する際に、可動部材側歯車ＧLの歯と、モータ側歯車ＧMの歯との噛み合いが離れて浮くために発生するものである。
【０００７】
図６Ａは、モータ側歯車ＧMの歯面と可動部材側歯車ＧLの歯面とが接触し、モータ側歯車ＧMが時計回り方向に回転することにより、可動部材側歯車ＧLが反時計回り方向に回転している状態を示している。
【０００８】
モータが減速すると、可動部材（例えばテーブル）は自らの慣性により動き続けるので、図６Ｂに示すように、モータ側歯車ＧMの歯と可動部材側歯車ＧLの歯との噛み合いが離れ始める。
【０００９】
その後、図６Ｃに示すように、モータの回転方向が反転してモータ側歯車ＧMが反時計回り方向に回転し始めるが、可動部材（例えばテーブル）が停止して可動部材側歯車ＧLは静止するため、モータ側歯車ＧMの歯と可動部材側歯車ＧLの歯とが完全に離れた状態となり、ロストモーションが発生する。
【００１０】
ロストモーションは、図６Ｄに示すように、モータ側歯車ＧMの歯と可動部材側歯車ＧLの歯とが再び噛み合うまで続く。
【００１１】
このようにしてロストモーションが発生し、これが位置決め誤差の主要因となっている。
【００１２】
上述したバックラッシュの発生や、ロストモーションの発生を防止しつつ、モータ側歯車から可動部材側歯車に動力を伝達するために、従来では、２台のモータで可動部材を駆動する構成を採用しつつ、両モータの駆動を最適に制御する手法が開発されている。
【００１３】
ここで、このような従来技術の一例を、図７を参照しつつ説明する。
図７に示すように、この例では、可動部材に接続された可動部材側歯車ＧLには、第１のモータ側歯車ＧM1と、第２のモータ側歯車ＧM2が噛み合っている。
【００１４】
第１のモータ側歯車ＧM1は第１のモータ１１に接続されており、モータ１１が回転駆動することによりモータ側歯車ＧM1が回転する。第２のモータ側歯車ＧM2は第２のモータ２１に接続されており、モータ２１が回転駆動することによりモータ側歯車ＧM2が回転する。
【００１５】
制御系を説明すると、駆動トルク指令部３０は駆動トルク指令τdを出力し、オフセットトルク指令部３１はオフセットトルク指令τoを出力する。
【００１６】
駆動トルク指令τdの値（絶対値）は、可動側歯車ＧLを介して可動部材を移動させるのに必要なトルク値であり、加工プログラム等に応じて設定される。この駆動トルク指令τdの極性は、加工状況等に応じて、正になることも、負になることもある。
オフセットトルク指令τoの値（絶対値）は、可動部材の重量や摩擦等を考慮して設定されており、オフセットトルク指令τoの値（絶対値）は、駆動トルク指令τdの値（絶対値）よりも小さくなっている。このオフセットトルク指令τoの極性は常に正になっている。
【００１７】
ゼロトルクリミッタ１２は、駆動トルク指令τdが入力されると、その極性が正である場合にのみ、その駆動トルク指令τdを出力する。ゼロトルクリミッタ２２は、駆動トルク指令τdが入力されると、その極性が負である場合にのみ、その駆動トルク指令τdを出力する。
【００１８】
加算部１３は、ゼロトルクリミッタ１２から出力された駆動トルク指令τdに、オフセットトルク指令τoを加えて総合トルク指令τt1とし、この総合トルク指令τt1をサーボアンプ１４に送る。
減算部２３は、ゼロトルクリミッタ２２から出力された駆動トルク指令τdから、オフセットトルク指令τoを減算して総合トルク指令τt2とし、この総合トルク指令τt2をサーボアンプ２４に送る。
【００１９】
サーボアンプ（電流制御部）１４は、総合トルク指令τt1に応じた電流をモータ１１に供給し、モータ１１は総合トルク指令τt1に応じたトルクを出力して、モータ側歯車ＧM1を回転駆動する。
【００２０】
サーボアンプ（電流制御部）２４は、総合トルク指令τt2に応じた電流をモータ２１に供給し、モータ２１は総合トルク指令τt2に応じたトルクを出力して、モータ側歯車ＧM2を回転駆動する。
【００２１】
かかる構成となっている従来技術の動作を説明する。
例えば、駆動トルク指令部３０から出力される駆動トルク指令τdの値（絶対値）が１０で極性が正（つまり駆動トルク指令τdの指令値が＋１０）であり、オフセットトルク指令部３１から出力されるオフセットトルク指令τoの値（絶対値）が１で極性が正（つまりオフセットトルク指令τoの指令値が＋１）である場合について説明する。
【００２２】
この例の場合には、駆動トルク指令部３０から出力される駆動トルク指令τdは、ゼロトルクリミッタ１２を通過してゼロトルクリミッタ１２から出力されるが、ゼロトルクリミッタ２２では遮断されてゼロトルクリミッタ２２からは出力されない。
【００２３】
加算部１３は、指令値が＋１０の駆動トルク指令τdと、指令値が＋１のオフセットトルク指令τoを加算して、指令値が＋１１の総合トルク指令τt1を出力する。
サーボアンプ（電流制御部）１４は、総合トルク指令τt1に応じた電流をモータ１１に供給し、モータ１１は、指令値が＋１１の総合トルク指令τt1に応じて、正回転方向（時計回り方向）で「１１」に相当するトルクを出力して、モータ側歯車ＧM1を正回転方向（時計回り方向）に回転駆動し、可動側歯車ＧLを負回転方向（反時計回り方向）に回転駆動する。
【００２４】
減算部２３は、指令値が０の駆動トルク指令τdから、指令値が＋１のオフセットトルク指令τoを減算して、指令値が−１の総合トルク指令τt2を出力する。
サーボアンプ（電流制御部）２４は、総合トルク指令τt2に応じた電流をモータ２１に供給し、モータ２１は、指令値が−１の総合トルク指令τt2に応じて、負回転方向（反時計回り方向）で「１」に相当するトルクを出力して、モータ側歯車ＧM2に負回転方向（反時計回り方向）のトルクを作用させ、可動側歯車ＧLに正回転方向（時計回り方向）のトルクを作用させる。このトルクが、プリロードトルク（オフセットトルク）となる。
【００２５】
この結果、可動部材側歯車ＧLには、負回転方向（反時計回り方向）に「１１」に相当するトルクが作用し、正回転方向（時計回り方向）に「１」に相当するトルクが作用する。このため、可動部材側歯車ＧLは、負回転方向（反時計回り方向）に沿い「１０」に相当するトルクで回転する。
【００２６】
負回転方向（反時計回り方向）のトルクと正回転方向（時計回り方向）のトルクの差は、値が「１」の内力（つまり、オフセットトルク）となる。この内力「１」は、モータ側歯車ＧM1の歯と可動部材側歯車ＧLの歯とを噛み合わせると共に、モータ側歯車ＧM2の歯と可動部材側歯車ＧLの歯とを噛み合わせて、バックラッシュの発生及びロストモーションの発生を防止する機能を発揮する。
【００２７】
また、例えば、駆動トルク指令部３０から出力される駆動トルク指令τdの値（絶対値）が１０で極性が負（つまり駆動トルク指令τdの指令値が−１０）であり、オフセットトルク指令部３１から出力されるオフセットトルク指令τoの値（絶対値）が１で極性が正（つまりオフセットトルク指令τoの指令値が＋１）である場合には、加算部１３は、指令値が＋１の総合トルク指令τt1を出力し、減算部２３は、指令値が−１１の総合トルク指令τt2を出力する。
【００２８】
このため、モータ１１は、指令値が＋１の総合トルク指令τt1に応じて、正回転方向（時計回り方向）で「１」に相当するトルクを出力し、モータ２１は、指令値が−１１の総合トルク指令τt2に応じて、負回転方向（反時計回り方向）で「１１」に相当するトルクを出力する。
【００２９】
この結果、可動部材側歯車ＧLには、負回転方向（反時計回り方向）に「１」に相当するトルクが作用し、正回転方向（時計回り方向）に「１１」に相当するトルクが作用し、可動部材側歯車ＧLは、正回転方向（時計回り方向）に沿い「１０」に相当するトルクで回転する。
【００３０】
負回転方向（反時計回り方向）のトルクと正回転方向（時計回り方向）のトルクの差は、値が「１」の内力（つまり、オフセットトルク）となる。この内力「１」は、モータ側歯車ＧM1の歯と可動部材側歯車ＧLの歯とを噛み合わせると共に、モータ側歯車ＧM2の歯と可動部材側歯車ＧLの歯とを噛み合わせて、バックラッシュの発生及びロストモーションの発生を防止する機能を発揮する。
【先行技術文献】
【特許文献】
【００３１】
【特許文献１】特開平４−１０９８９０号公報
【発明の概要】
【発明が解決しようとする課題】
【００３２】
ところで図７に示すような従来技術では次のような課題があった。
即ち、オフセットトルク（プリロードトルク）は前述したように内力であり、可動部材を移動させるためのトルクではなく、可動部材の加速度が反転したときであっても、可動部材側歯車ＧLの歯とモータ側歯車ＧM1，ＧM2の歯との噛み合い状態を確保して、バックラッシュの発生及びロストモーションの発生を防止するためのものである。
したがって、オフセットトルクは、理想的には、可動部材を移動させる際に生じるクーロン摩擦力よりも少し大きく、オフセットトルクのみで可動部材が僅かに動く程度の大きさであればよい。
【００３３】
しかし、可動部材の重量やクーロン摩擦力は状態によって変動するため、実際に発生するオフセットトルクの値が、上述した理想的な値よりも大きな値となるように、オフセットトルク指令τoの値を経験に基づき、やや大きめに設定していた。
このようにオフセットトルク指令τoの値を大きめに設定していたため、モータ１１，２１が発生する内力が大きくなりエネルギーの無駄となっていた。
また、経験に基づきオフセットトルク指令τoの値を設定していたため、その値を明確に設定することができなかった。
【００３４】
また従来では、オフセットトルク指令τoの値を設定すると、その値は固定されていたが、その一方で、使用状況によっては可動部材の重量や摩擦力が大きく変動（増加）する場合がある。
例えば可動部材がテーブルである場合には、テーブルの実質的な重量は、テーブル自体の重量に、テーブル上に載置されるワークの重量を加えたものとなるが、大重量のワークを載置した場合には、可動部材の実質的な重量が増大する。
このように可動部材の実質的な重量が増大した場合には、値が固定されているオフセットトルク指令τoによるオフセットトルクでは、オフセットトルクが不足して、バックラッシュを十分に除去できずロストモーションが発生するおそれがある。
【００３５】
本発明は、上記従来技術に鑑み、バックラッシュやロストモーションの発生を確実に防止しつつ、オフセットトルク指令の値を最適に設定することができる、バックラッシュ除去制御装置を提供することを目的とする。
【課題を解決するための手段】
【００３６】
上記課題を解決する本発明の構成は、
可動部材に接続された可動部材側歯車と、
前記可動部材側歯車に噛み合うと共に、第１のモータにより回転駆動される第１のモータ側歯車と、
前記可動部材側歯車に噛み合うと共に、第２のモータにより回転駆動される第２のモータ側歯車と、
極性が正になっている駆動トルク指令は通過させるが極性が負になっている駆動トルク指令は遮断する第１のゼロトルクリミッタと、
極性が負になっている駆動トルク指令は通過させるが極性が正になっている駆動トルク指令は遮断する第２のゼロトルクリミッタと、
実稼働前にオフセットトルク値（Ｔ）として初期設定トルク値（Ｔ0）が予め設定されていると共にオフセットトルク値（Ｔ）が更新できるようになっているオフセットトルク指令を出力するオフセットトルク指令部と、
第１のゼロトルクリミッタを通過してきた駆動トルク指令に前記オフセットトルク指令を加算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第１のモータに電流を供給する第１の電流制御部と、
第２のゼロトルクリミッタを通過してきた駆動トルク指令から前記オフセットトルク指令を減算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第２のモータに電流を供給する第２の電流制御部と、
を有するバックラッシュ除去制御装置において、
第１のモータ側歯車の回転角度である第１の回転角度（θ1）及び第２のモータ側歯車の回転角度である第２の回転角度（θ2）を検出する回転角度検出手段と、
バックラッシュが発生していないときの第１の回転角度（θ1）と第２の回転角度（θ2）との回転偏差角度である設定回転偏差角度（Δθmo）が予め設定されると共に、実稼働時における第１の回転角度（θ1）と第２の回転角度（θ2）との回転偏差角度である実回転偏差角度（Δθm）を演算し、更に、オフセットトルク値（Ｔ）に、前記実回転偏差角度（Δθm）と前記設定回転偏差角度（Δθmo）との差に応じた値を加えて更新トルク値（ＴK）を演算し、更新トルク値（ＴK）がその時点でのオフセットトルク値（Ｔ）よりも大きくなったら、その時の更新トルク値（ＴK）を、その時点以降のオフセットトルク値（Ｔ）として設定しなおすオフセットトルク値設定部とを備えたことを特徴とする。
【００３７】
また本発明の構成は、
可動部材に接続された可動部材側歯車と、
前記可動部材側歯車に噛み合うと共に、第１のモータにより回転駆動される第１のモータ側歯車と、
前記可動部材側歯車に噛み合うと共に、第２のモータにより回転駆動される第２のモータ側歯車と、
極性が正になっている駆動トルク指令は通過させるが極性が負になっている駆動トルク指令は遮断する第１のゼロトルクリミッタと、
極性が負になっている駆動トルク指令は通過させるが極性が正になっている駆動トルク指令は遮断する第２のゼロトルクリミッタと、
オフセットトルク値（Ｔ）が更新できるようになっているオフセットトルク指令を出力するオフセットトルク指令部と、
第１のゼロトルクリミッタを通過してきた駆動トルク指令に前記オフセットトルク指令を加算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第１のモータに電流を供給する第１の電流制御部と、
第２のゼロトルクリミッタを通過してきた駆動トルク指令から前記オフセットトルク指令を減算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第２のモータに電流を供給する第２の電流制御部と、
を有するバックラッシュ除去制御装置において、
第１のモータ側歯車の回転角度である第１の回転角度（θ1）及び第２のモータ側歯車の回転角度である第２の回転角度（θ2）を検出する回転角度検出手段と、
バックラッシュが発生していないときの第１の回転角度（θ1）と第２の回転角度（θ2）との回転偏差角度である設定回転偏差角度（Δθmo）が予め設定されると共に、実稼働時における第１の回転角度（θ1）と第２の回転角度（θ2）との回転偏差角度である実回転偏差角度（Δθm）を演算し、更に、前記実回転偏差角度（Δθm）と前記設定回転偏差角度（Δθmo）との差に応じた値の更新トルク値（ＴK）を演算し、更新トルク値（ＴK）がその時点でのオフセットトルク値（Ｔ）よりも大きくなったら、その時の更新トルク値（ＴK）を、その時点以降のオフセットトルク値（Ｔ）として設定しなおすオフセットトルク値設定部とを備えたことを特徴とする。
【００３８】
また本発明の構成は、
可動部材に接続された可動部材側歯車と、
前記可動部材側歯車に噛み合うと共に、第１のモータにより回転駆動される第１のモータ側歯車と、
前記可動部材側歯車に噛み合うと共に、第２のモータにより回転駆動される第２のモータ側歯車と、
極性が正になっている駆動トルク指令は通過させるが極性が負になっている駆動トルク指令は遮断する第１のゼロトルクリミッタと、
極性が負になっている駆動トルク指令は通過させるが極性が正になっている駆動トルク指令は遮断する第２のゼロトルクリミッタと、
オフセットトルク値（Ｔ）が更新できるようになっているオフセットトルク指令を出力するオフセットトルク指令部と、
第１のゼロトルクリミッタを通過してきた駆動トルク指令に前記オフセットトルク指令を加算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第１のモータに電流を供給する第１の電流制御部と、
第２のゼロトルクリミッタを通過してきた駆動トルク指令から前記オフセットトルク指令を減算して得た総合トルク指令の値に応じたトルクを発生し且つ当該総合トルク指令の極性に応じた回転方向となるように、前記第２のモータに電流を供給する第２の電流制御部と、
を有するバックラッシュ除去制御装置において、
第１のモータ側歯車の回転角度である第１の回転角度（θ1）及び第２のモータ側歯車の回転角度である第２の回転角度（θ2）を検出する回転角度検出手段と、
第１のモータに流すモータ電流値（ｉ1）と第１の回転角度（θ1）を基に第１のモータが発生する第１のオフセットトルク値（Ｔ1）を推定演算する第１のオフセットトルク値推定部と、
第２のモータに流すモータ電流値（ｉ2）と第２の回転角度（θ2）を基に第２のモータが発生する第２のオフセットトルク値（Ｔ2）を推定演算する第２のオフセットトルク値推定部と、
第１のオフセットトルク値（Ｔ1）と第２のオフセットトルク値（Ｔ2）とを比較し、第１のオフセットトルク値（Ｔ1）と第２のオフセットトルク値（Ｔ2）とが異なっているときには、その時のオフセットトルク値（Ｔ）に予め決めた加算トルク値（ΔＴ）を加算した値を、その時点以降のオフセットトルク値（Ｔ）として設定しなおすオフセットトルク値設定部とを備えたことを特徴とする。
【発明の効果】
【００３９】
本発明によれば、可動部材の実質的な重量が増加してオフセットトルクが不足したときにはオフセットトルクを自動的に増加させることができ、最適なオフセットトルクに設定しなおすことができるとともに、過剰に大きなオフセットトルクを設定することがなく無駄が無くなる。
また、オフセットトルク指令の値を、計算して経験的に設定することなく、最適な値のオフセットトルク指令の値に設定することができる。
結局、オフセットトルクの値を最適に設定して、無駄なくしかも確実にバックラッシュやロストモーションの発生を防止することができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施例１に係るバックラッシュ除去制御装置を示す構成図。
【図２】モータ側歯車の回転角度と可動部材側歯車の回転角度との関係を示す特性図。
【図３Ａ】モータ側歯車の回転角度と可動部材側歯車の回転角度との関係を示す状態図。
【図３Ｂ】モータ側歯車の回転角度と可動部材側歯車の回転角度との関係を示す状態図。
【図３Ｃ】モータ側歯車の回転角度と可動部材側歯車の回転角度との関係を示す状態図。
【図３Ｄ】モータ側歯車の回転角度と可動部材側歯車の回転角度との関係を示す状態図。
【図４】本発明の実施例２に係るバックラッシュ除去制御装置を示す構成図。
【図５】本発明の実施例３に係るバックラッシュ除去制御装置を示す構成図。
【図６Ａ】ロストモーションの発生状態を示す説明図。
【図６Ｂ】ロストモーションの発生状態を示す説明図。
【図６Ｃ】ロストモーションの発生状態を示す説明図。
【図６Ｄ】ロストモーションの発生状態を示す説明図。
【図７】従来のバックラッシュ除去制御装置を示す構成図。
【発明を実施するための形態】
【００４１】
以下、本発明を実施するための形態を、実施例に基づき詳細に説明する。
【実施例１】
【００４２】
本発明の実施例１にかかるバックラッシュ除去制御装置を、図１を参照して説明する。なお図７に示す従来技術と同一機能を果たす部分には同一符号を付し、重複する説明は省略する。
【００４３】
＜構成＞
図１に示すように、モータ１１にはエンコーダ１１ａが内蔵されており、エンコーダ１１ａは、モータ１１の回転部の回転角度を示す回転角度θ1を出力する。モータ１１の回転部はモータ側歯車ＧM1に接続されているため、回転角度θ1はモータ側歯車ＧM1の回転角度を示すことにもなる。
モータ２１にはエンコーダ２１ａが内蔵されており、エンコーダ２１ａは、モータ２１の回転部の回転角度を示す回転角度θ2を出力する。モータ２１の回転部はモータ側歯車ＧM2に接続されているため、回転角度θ2はモータ側歯車ＧM2の回転角度を示すことにもなる。
【００４４】
ここでモータ側歯車ＧM1の回転角度を示す回転角度θ1と、モータ側歯車ＧM2の回転角度を示す回転角度θ2と、可動部材側歯車ＧLの回転角度を示す回転角度θLの関係を、図２及び図３Ａ〜図３Ｄを参照して先に説明する。
なお図３Ａ〜図３Ｄは、歯車を直線状に展開して示した模式図である。
【００４５】
図２において縦軸は回転角度であり、横軸は時間である。
可動部材側歯車ＧLの回転角度を予め決めた基準回転角度にセットしたときにおける、可動部材側歯車ＧLの回転角度θLを、回転角度θLの０°として規定している。
基準回転角度にセットした可動部材側歯車ＧLの歯に対してバックラッシュが最も大きくなる回転角度となるようにモータ側歯車ＧM1をセットしたときにおける、モータ側歯車ＧM1の回転角度θ1を、回転角度θ1の０°としている。
基準回転角度にセットした可動部材側歯車ＧLの歯に対してバックラッシュが最も大きくなる回転角度となるようにモータ側歯車ＧM2をセットしたときにおける、モータ側歯車ＧM2の回転角度θ2を、回転角度θ2の０°としている。
なお、回転角度θLは反時計回り方向を正にとっており、回転角度θ1，回転角度θ2は時計回り方向を正にとっている。
図３Ａは、回転角度θL，回転角度θ1，回転角度θ2を全て０°としたときの状態を示している。
【００４６】
図２の時刻ｔ０では、回転角度θL，回転角度θ1，回転角度θ2を全て０°になるように、可動部材側歯車ＧLとモータ側歯車ＧM1とモータ側歯車ＧM2の回転位置をセットしている（図３Ａ参照）。
【００４７】
この状態から、例えばモータ１１の駆動によりモータ側歯車ＧM1を「１１」に相当するトルクで正回転方向に回転させ（図３Ａでは左側に移動させ）、モータ２１の駆動によりモータ側歯車ＧM2を「１」に相当するトルクで負回転方向に回転させ（図３Ａでは右側に移動させ）ていくと、時刻ｔ０から時刻ｔ１においては、回転角度θLは０°のままであり、回転角度θ1は正方向に増加していき、回転角度θ2は負方向に増加していく。
【００４８】
そして、時刻ｔ１において、可動部材側歯車ＧLの歯とモータ側歯車ＧM1の歯が噛み合うと共に、可動部材側歯車ＧLの歯とモータ側歯車ＧM2の歯が噛み合う。
図３Ｂはこのときの状態を示している。
【００４９】
時刻ｔ１から時刻ｔ２において、「１０」に相当するトルクでもって可動部材側歯車ＧLを回転させていく際に、バックラッシュの発生なく可動部材側歯車ＧLとモータ側歯車ＧM1，ＧM2が噛み合いつつ回転していくと、回転角度θL，回転角度θ1，回転角度θ2は同じ割合で増加していく。
このとき、回転角度θ1と回転角度θ2との回転偏差角度は一定角度となり、このようにバックラッシュが発生していないときの回転偏差角度を、設定回転偏差角度Δθmoとする（図３Ｃ参照）。
【００５０】
時刻ｔ２から時刻ｔ３において、可動部材側歯車ＧLを回転させていく際に、バックラッシュが発生すると、回転角度θ1，回転角度θ2の増加割合が変動する。
このとき、回転角度θ1と回転角度θ2との回転偏差角度である実回転偏差角度Δθmは、バックラッシュの発生により、設定回転偏差角度Δθmoよりも小さくなる（図３Ｄ参照）。
【００５１】
したがって、回転角度θ1と回転角度θ2との回転偏差角度である実回転偏差角度Δθmを経時的に検出しておき、実回転偏差角度Δθmが設定回転偏差角度Δθmoよりも小さくなったら、バックラッシュが発生したと判定することができる。
本実施例は、かかる知見を基に、オフセットトルク値を規定するものである。
【００５２】
オフセットトルク値設定部４０は、オフセットトルク指令部３１から出力されるオフセットトルク指令τoの値（オフセットトルク値Ｔ）を設定・更新するものである。
オフセットトルク値設定部４０による、オフセットトルク値Ｔの設定手法は後述する。
【００５３】
＜バックラッシュ除去動作＞
かかる構成となっている本実施例の動作のうち、バックラッシュ除去動作を先に説明する。
【００５４】
例えば、駆動トルク指令部３０から出力される駆動トルク指令τdの値（絶対値）が１０で極性が正（つまり駆動トルク指令τdの指令値が＋１０）であり、オフセットトルク指令部３１から出力されるオフセットトルク指令τoの値（絶対値）が１で極性が正（つまりオフセットトルク指令τoの指令値が＋１）である場合について説明する。
【００５５】
この例の場合には、駆動トルク指令部３０から出力される駆動トルク指令τdは、ゼロトルクリミッタ１２を通過してゼロトルクリミッタ１２から出力されるが、ゼロトルクリミッタ２２では遮断されてゼロトルクリミッタ２２からは出力されない。
【００５６】
加算部１３は、指令値が＋１０の駆動トルク指令τdと、指令値が＋１のオフセットトルク指令τoを加算して、指令値が＋１１の総合トルク指令τt1を出力する。
サーボアンプ（電流制御部）１４は、総合トルク指令τt1に応じた電流をモータ１１に供給し、モータ１１は、指令値が＋１１の総合トルク指令τt1に応じて、正回転方向（時計回り方向）で「１１」に相当するトルクを出力して、モータ側歯車ＧM1を正回転方向（時計回り方向）に回転駆動し、可動部材側歯車ＧLを負回転方向（反時計回り方向）に回転駆動する。
【００５７】
減算部２３は、指令値が０の駆動トルク指令τdから、指令値が＋１のオフセットトルク指令τoを減算して、指令値が−１の総合トルク指令τt2を出力する。
サーボアンプ（電流制御部）２４は、総合トルク指令τt2に応じた電流をモータ２１に供給し、モータ２１は、指令値が−１の総合トルク指令τt2に応じて、負回転方向（反時計回り方向）で「１」に相当するトルクを出力して、モータ側歯車ＧM2に負回転方向（反時計回り方向）のトルクを作用させ、可動部材側歯車ＧLに正回転方向（時計回り方向）のトルクを作用させる。このトルクが、プリロードトルク（オフセットトルク）となる。
【００５８】
この結果、可動部材側歯車ＧLには、負回転方向（反時計回り方向）に「１１」に相当するトルクが作用し、正回転方向（時計回り方向）に「１」に相当するトルクが作用する。このため、可動部材側歯車ＧLは、負回転方向（反時計回り方向）に沿い「１０」に相当するトルクで回転する。
【００５９】
負回転方向（反時計回り方向）のトルクと正回転方向（時計回り方向）のトルクの差は、値が「１」の内力となる。この内力「１」は、モータ側歯車ＧM1の歯と可動部材側歯車ＧLの歯とを噛み合わせると共に、モータ側歯車ＧM2の歯と可動部材側歯車ＧLの歯とを噛み合わせて、バックラッシュの発生及びロストモーションの発生を防止する機能を発揮する。
【００６０】
また、例えば、駆動トルク指令部３０から出力される駆動トルク指令τdの値（絶対値）が１０で極性が負（つまり駆動トルク指令τdの指令値が−１０）であり、オフセットトルク指令部３１から出力されるオフセットトルク指令τoの値（絶対値）が１で極性が正（つまりオフセットトルク指令τoの指令値が＋１）である場合には、加算部１３は、指令値が＋１の総合トルク指令τt1を出力し、減算部２３は、指令値が−１１の総合トルク指令τt2を出力する。
【００６１】
このため、モータ１１は、指令値が＋１の総合トルク指令τt1に応じて、正回転方向（時計回り方向）で「１」に相当するトルクを出力し、モータ２１は、指令値が−１１の総合トルク指令τt2に応じて、負回転方向（反時計回り方向）で「１１」に相当するトルクを出力する。
【００６２】
この結果、可動部材側歯車ＧLには、負回転方向（反時計回り方向）に「１」に相当するトルクが作用し、正回転方向（時計回り方向）に「１１」に相当するトルクが作用し、可動部材側歯車ＧLは、正回転方向（時計回り方向）に沿い「１０」に相当するトルクで回転する。
【００６３】
負回転方向（反時計回り方向）のトルクと正回転方向（時計回り方向）のトルクの差は、値が「１」の内力となる。この内力「１」は、モータ側歯車ＧM1の歯と可動部材側歯車ＧLの歯とを噛み合わせると共に、モータ側歯車ＧM2の歯と可動部材側歯車ＧLの歯とを噛み合わせて、バックラッシュの発生及びロストモーションの発生を防止する機能を発揮する。
【００６４】
＜オフセットトルク値の設定・更新動作＞
次に、オフセットトルク値設定部４０により、オフセットトルク指令部３１から出力されるオフセットトルク指令τoのオフセットトルク値Ｔを設定・更新する動作について説明する。
【００６５】
オフセットトルク値設定部４０は、バックラッシュ除去制御装置を最初に稼働する前において、オフセットトルク指令τoのオフセットトルク値Ｔとして、初期設定トルク値Ｔｏを設定している。例えば初期設定トルク値Ｔｏの値を「＋１」としている。
この初期設定トルク値Ｔｏの値は、例えば、可動部材を移動させる際に生じるクーロン摩擦力よりも少し大きく、オフセットトルクのみで可動部材が僅かに動く程度の大きさにしている。
なおオフセットトルク値Ｔは、後述するように、状況に応じて更新される。
【００６６】
オフセットトルク値設定部４０には、設定回転偏差角度Δθmoが予め設定されている。
設定回転偏差角度Δθmoとは、前述したように、バックラッシュの発生なく可動部材側歯車ＧLとモータ側歯車ＧM1，ＧM2が噛み合いつつ回転しているときにおける、モータ側歯車ＧM1の回転角度θ1とモータ側歯車ＧM2の回転角度θ2との回転偏差角度である。
【００６７】
更に、オフセットトルク値設定部４０には、エンコーダ１１ａにより検出した回転角度θ1と、エンコーダ２１ａにより検出した回転角度θ2が入力されている。
オフセットトルク値設定部４０は、実稼働時における回転角度θ1と回転角度θ2との回転偏差角度である実回転偏差角度Δθmを経時的に検出している。
そして、Ｋを正の定数（予め決めた定数）として、更新トルク値ＴKとしてＴ＋Ｋ（Δθmo−Δθm）を経時的に求めている。ここにおいてオフセットトルク値Ｔは、その時点において、オフセットトルク指令τoの値として設定されている値である。
【００６８】
バックラッシュが発生していないときには、Δθmo＝Δθmとなっているので、更新トルク値ＴKは、その時点におけるオフセットトルク値Ｔと等しくなる。
バックラッシュが発生すると、Δθmo＞Δθmとなるので、更新トルク値ＴKは、その時点におけるオフセットトルク値Ｔよりも大きくなる。
【００６９】
オフセットトルク値設定部４０は、バックラッシュ除去制御装置を最初に起動した時から所定時間毎に、初期設定トルク値Ｔｏと更新トルク値ＴKとを比較し、更新トルク値ＴKが初期設定トルク値Ｔｏよりも大きくなったら、オフセットトルク値Ｔを更新トルク値ＴKで示す値に更新する。
【００７０】
その後の期間においても、オフセットトルク値設定部４０は、所定時間毎に、先に値が更新されているオフセットトルク値Ｔと、各時点における更新トルク値ＴKとを比較し、当該時点における更新トルク値ＴKが、先に値が更新されているオフセットトルク値Ｔよりも大きくなったら、オフセットトルク値Ｔをその時点における更新トルク値ＴKで示す値に更新する。
【００７１】
このようにしているため、バックラッシュが発生する毎に、オフセットトルク指令τoの値（設定トルク値Ｔ）が、その時点の更新トルク値ＴKで示す値に更新されて大きくなっていく。
【００７２】
したがって、可動部材に載置するワーク重量が増加するなどの状態変化が発生してオフセットトルクが不足した場合には、オフセットトルク指令τoの値（設定トルク値Ｔ）が自動的に増加して、発生するオフセットトルクを自動的に増加させることができる。
このため、重量増加等の状況変化に対して、オフセットトルク値を最適値に増加させて、過不足のないオフセットトルクを発生させることができる。
【００７３】
この結果、可動部材の実質的な重量増加が発生するなどの状況変化があっても、それに応じてオフセットトルク値が自動的に大きくなり、その後のバックラッシュやロストモーションの発生を防止でき、しかも、オフセットトルクの値を無駄のない最適な値に設定することができる。
【実施例２】
【００７４】
本発明の実施例２にかかるバックラッシュ除去制御装置を、図４を参照して説明する。
実施例２は、実施例１で用いていたオフセットトルク値設定部４０の代わりに、オフセットトルク値設定部４１を採用したものである。
他の部分は、実施例１と同様であるので、オフセットトルク値設定部４１の機能・動作を中心に説明をし、他の部分の説明は省略する。
【００７５】
オフセットトルク値設定部４１は、オフセットトルク指令部３１から出力されるオフセットトルク指令τoの値（オフセットトルク値Ｔ）を設定・更新するものである。
【００７６】
オフセットトルク値設定部４１には、設定回転偏差角度Δθmoが予め設定されている。
設定回転偏差角度Δθmoとは、前述したように、バックラッシュの発生なく可動部材側歯車ＧLとモータ側歯車ＧM1，ＧM2が噛み合いつつ回転しているときにおける、モータ側歯車ＧM1の回転角度θ1とモータ側歯車ＧM2の回転角度θ2との回転偏差角度である。
【００７７】
更に、オフセットトルク値設定部４１には、エンコーダ１１ａにより検出した回転角度θ1と、エンコーダ２１ａにより検出した回転角度θ2が入力されている。
オフセットトルク値設定部４１は、実稼働時における回転角度θ1と回転角度θ2との回転偏差角度である実回転偏差角度Δθmを経時的に検出している。
そして、Ｋ1を正の定数（予め決めた定数）として、更新トルク値ＴKとしてＫ1（Δθmo−Δθm）を経時的に求めている。
【００７８】
オフセットトルク値設定部４１は、バックラッシュ除去制御装置を最初に起動する時点において、オフセットトルク指令τoのオフセットトルク値Ｔとして、初期設定トルク値Ｔｏを設定する。初期設定トルク値Ｔｏの値を、実施例１では例えば「＋１」としていたが、本実施例２では「０」としている。
【００７９】
オフセットトルク値設定部４１は、バックラッシュ除去制御装置を最初に起動して可動部材を移動（例えば典型的な軌道パターンに沿い移動）させた時に、更新トルク値ＴKを求め、オフセットトルク値Ｔをこの更新トルク値ＴKで示す値に更新する。
【００８０】
その後の期間においても、オフセットトルク値設定部４１は、所定時間毎に、先に値が更新されているオフセットトルク値Ｔと、各時点における更新トルク値ＴKとを比較し、当該時点における更新トルク値ＴKが、先に値が更新されているオフセットトルク値Ｔよりも大きくなったら、オフセットトルク値Ｔをその時点における更新トルク値ＴKで示す値に更新する。
【００８１】
このようにしているため、バックラッシュ除去制御装置を最初に起動して可動部材を移動させたときに、そのときのバックラッシュを防止するのに必要最小限のオフセットトルクにするような、オフセットトルク値を最適に設定することができる。
【００８２】
しかも、その後の実稼働において、可動部材に載置するワーク重量が増加するなどの状態変化が発生してバックラッシュが発生する毎に、オフセットトルク指令τoの値（設定トルク値Ｔ）が、その時点の更新トルク値ＴKで示す値に更新されて大きくなっていく。
【００８３】
したがって、初期起動時において、最適なオフセットトルク値を自動的に設定することができると共に、可動部材に載置するワーク重量が増加するなどの状態変化が発生してオフセットトルクが不足した場合には、オフセットトルク指令τoの値（設定トルク値Ｔ）が自動的に増加して、発生するオフセットトルクを自動的に増加させることができる。
【００８４】
このように、最適な初期オフセットトルクを自動的に設定することができるので、初期オフセットトルク値を手計算や経験により求めることが不要になる。
また、ワーク重量変化などの状態変化が発生しても、最適なオフセットトルクとすることができる。
【実施例３】
【００８５】
本発明の実施例３にかかるバックラッシュ除去制御装置を、図５を参照して説明する。
【００８６】
実施例３では、オフセットトルク値設定部４２と、オフセットトルク値推定部５１，５２を備えている。
他の部分は、実施例１と同様であるので、オフセットトルク値設定部４２及びオフセットトルク値推定部５１，５２の機能・動作を中心に説明をし、他の部分の説明は省略する。
【００８７】
オフセットトルク値推定部５１，５２は具体的には、トルク推定オブザーバーにより構成されている。
【００８８】
オフセットトルク値推定部５１は、トルク係数乗算部５１ａと、２階微分回路５１ｂと、減算部５１ｃと、フィルタ５１ｄを有している。
オフセットトルク値推定部５１には、モータ１１に流す電流値を示すモータ電流値ｉ1がサーボアンプ１４から入力されると共に、モータ側歯車ＧM1の回転角度を示す回転角度θ1がエンコーダ１１ａから入力される。
なお、トルク係数をＫTとしてトルク係数乗算部５１ａに設定していると共に、可動部材の慣性モーメントをＪとして、２階微分回路５１ｂに設定している。
【００８９】
オフセットトルク値推定部５２は、トルク係数乗算部５２ａと、２階微分回路５２ｂと、減算部５２ｃと、フィルタ５２ｄを有している。
オフセットトルク値推定部５２には、モータ２１に流す電流値を示すモータ電流値ｉ2がサーボアンプ２４から入力されると共に、モータ側歯車ＧM2の回転角度を示す回転角度θ2がエンコーダ２１ａから入力される。
なお、トルク係数をＫTとしてトルク係数乗算部５２ａに設定していると共に、可動部材の慣性モーメントをＪとして、２階微分回路５２ｂに設定している。
【００９０】
モータ側歯車ＧM1を時計回り方向に回転駆動することにより、可動部材側歯車ＧLを反時計回り方向に回転しつつ、モータ側歯車ＧM2により可動部材側歯車ＧLにオフセットトルクを付与しているときには、オフセットトルク値推定部５１は下式（１）を用いてオフセットトルク値Ｔ1を推定演算し、推定演算したオフセットトルク値Ｔ1を低域通過フィルタであるフィルタ５１ｄを介して出力する。
オフセットトルク値推定部５２は下式（２）を用いてオフセットトルク値Ｔ2を推定演算し、推定演算したオフセットトルク値Ｔ2を低域通過フィルタであるフィルタ５２ｄを介して出力する。
Ｔ1＝ＫT・ｉ1−Ｊ・ｄ2θ1／ｄｔ2・・・・（１）
Ｔ2＝ＫT・ｉ2                    ・・・・（２）
なお式（２）からわかるように、このときには、オフセットトルク値推定部５２では、２階微分回路５２ｂによる演算は行わない。
また式（１）において、「Ｊ・ｄ2θ1／ｄｔ2」は、実際に物体（可動部材）を移動させるための発生トルクである。
【００９１】
モータ側歯車ＧM2を反時計回り方向に回転駆動することにより、可動部材側歯車ＧLを時計回り方向に回転しつつ、モータ側歯車ＧM1により可動部材側歯車ＧLにオフセットトルクを付与しているときには、オフセットトルク値推定部５１は下式（３）を用いてオフセットトルク値Ｔ1を推定演算し、推定演算したオフセットトルク値Ｔ1を低域通過フィルタであるフィルタ５１ｄを介して出力する。
オフセットトルク値推定部５２は下式（４）を用いてオフセットトルク値Ｔ2を推定演算し、推定演算したオフセットトルク値Ｔ2を低域通過フィルタであるフィルタ５２ｄを介して出力する。
Ｔ1＝ＫT・ｉ1                    ・・・・（３）
Ｔ2＝ＫT・ｉ2−Ｊ・ｄ2θ2／ｄｔ2・・・・（４）
なお式（３）からわかるように、このときには、オフセットトルク値推定部５１では、２階微分回路５１ｂによる演算は行わない。
また式（４）において、「Ｊ・ｄ2θ2／ｄｔ2」は、実際に物体（可動部材）を移動させるための発生トルクである。
【００９２】
バックラッシュが発生していないときには、オフセットトルク値Ｔ1の値とオフセットトルク値Ｔ2の値は等しくなるが、バックラッシュが発生すると、オフセットトルク値Ｔ1の値とオフセットトルク値Ｔ2の値が異なってくる。
【００９３】
オフセットトルク値設定部４２は、バックラッシュ除去制御装置を最初に起動する時において、オフセットトルク指令τoのオフセットトルク値Ｔとして、初期設定トルク値Ｔｏを設定する。
この初期設定トルク値Ｔｏの値は、例えば、可動部材を移動させる際に生じるクーロン摩擦力よりも少し大きく、オフセットトルクのみで可動部材が僅かに動く程度の大きさにしている。
【００９４】
オフセットトルク値設定部４２は、バックラッシュ除去制御装置を最初に起動した時から所定時間毎に、オフセットトルク値Ｔ1とオフセットトルク値Ｔ2とを比較し、オフセットトルク値Ｔ1の値とオフセットトルク値Ｔ2の値が一致しているときには、オフセットトルク値Ｔを、初期設定トルク値Ｔｏに保持し、オフセットトルク値Ｔ1の値とオフセットトルク値Ｔ2の値が一致していないときには、オフセットトルク値Ｔを、初期設定トルク値Ｔｏの値に予め決めた加算トルク値ΔＴだけ加算した値に増加するよう更新する。
【００９５】
その後の期間においても、オフセットトルク値設定部４０は、所定時間毎に、オフセットトルク値Ｔ1とオフセットトルク値Ｔ2とを比較し、オフセットトルク値Ｔ1の値とオフセットトルク値Ｔ2の値が一致していないときには、オフセットトルク値Ｔを、先に値が更新されているオフセットトルク値Ｔの値に予め決めた加算トルク値ΔＴだけ加算した値に増加するよう更新する。
【００９６】
つまり、オフセットトルク値Ｔ1の値とオフセットトルク値Ｔ2の値が一致していない状況が発生する毎に、オフセットトルク値Ｔを、加算トルク値ΔＴだけ段階的に増加する。
【００９７】
したがって、可動部材に載置するワーク重量が増加するなどの状態変化が発生してオフセットトルクが不足した場合には、オフセットトルク指令τoの値（設定トルク値Ｔ）が自動的に増加して、発生するオフセットトルクを自動的に増加させることができる。
このため、重量増加等の状況変化に対して、オフセットトルク値を最適値に増加させて、過不足のないオフセットトルクを発生させることができる。
【００９８】
この結果、可動部材の実質的な重量増加が発生するなどの状況変化があっても、それに応じてオフセットトルク値が自動的に大きくなり、その後のバックラッシュやロストモーションの発生を防止でき、しかも、オフセットトルクの値を無駄のない最適な値に設定することができる。
【符号の説明】
【００９９】
１１，２１  モータ
１２，２２  ゼロトルクリミッタ
１３  加算器
２３  減算器
１４，２４  サーボアンプ（電流制御部）
３０  駆動トルク指令部
４０，４１，４２  オフセットトルク値設定部
５１、５２  オフセットトルク値推定部
【図１】
2010209993.tif 000003
【図２】
2010209993.tif 000004
【図３Ａ】
2010209993.tif 000005
【図３Ｂ】
2010209993.tif 000006
【図３Ｃ】
2010209993.tif 000007
【図３Ｄ】
2010209993.tif 000008
【図４】
2010209993.tif 000009
【図５】
2010209993.tif 000010
【図６Ａ】
2010209993.tif 000011
【図６Ｂ】
2010209993.tif 000012
【図６Ｃ】
2010209993.tif 000013
【図６Ｄ】
2010209993.tif 000014
【図７】
2010209993.tif 000015