(57)【特許請求の範囲】
【請求項１】
モータ（Ｍ）により駆動される可動部および該可動部により駆動される被駆動部を備えたモータ制御装置（１０）において、
前記モータに対するトルク指令値を作成するトルク指令作成部（２６）と、
前記可動部の位置を検出する第一位置検出部（１１）と、
前記被駆動部の位置を検出する第二位置検出部（１２）と、
前記第一位置検出部が検出した第一位置検出値と前記第二位置検出部が検出した第二位置検出部との偏差を計算する偏差計算部（３１）と、
該偏差計算部により計算された前記偏差を前記トルク指令値に関連づけて初期偏差として保持する保持部（３３）と、
前記可動部と前記被駆動部との間の弾性体の弾性変形量を補正する補正量を計算する補正量計算部（３４）と、を具備し、
前記補正量計算部は、前記保持部によって保持された前記初期偏差と、前記初期偏差に関連付けて保持された前記トルク指令値と、前記モータが反転したときに前記トルク指令作成部が作成したトルク指令値とに基づいて、前記補正量を計算する、モータ制御装置。
【請求項２】
前記補正量計算部は、前記保持部により保持された前記初期偏差と、前記初期偏差に関連付けて保持された前記トルク指令値とから、前記弾性体のバネ定数を求め、
前記モータが反転したときに前記トルク指令作成部が作成したトルク指令値を前記バネ定数で除算して現在の偏差を減算することで前記補正量を計算する、請求項１に記載のモータの制御装置。
【請求項３】
前記保持部は、前記可動部が加速もしくは等速で移動しているときに、前記偏差と前記トルク指令値と前記初期偏差として保持する請求項１または２に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械および産業機械における送り軸および産業用ロボットのアームに連結されたモータの反転遅れを補正するモータ制御装置に関する。
【背景技術】
【０００２】
工作機械および産業機械における送り軸および産業用ロボットのアーム等の軸（機械可動部）には、サーボモータが連結されている。サーボモータの回転はボールネジなどによりテーブルなどの直線運動に変換されたり、サーボモータの伝達速度が減速機により減速されたりしている。
【０００３】
これらボールネジまたは減速機において或る位置への正方向における停止位置と、負方向における停止位置との間に差が存在する場合がある。一般に、このような差はバックラッシと呼ばれており、位置精度を低下させる原因になっている。
【０００４】
図６Ａ〜図６Ｃは、バックラッシを説明するための図である。図６Ａには、図示しないモータにより移動する可動部ＷＡと、可動部ＷＡによって駆動される被駆動部ＷＢとが示されている。可動部ＷＡはその両端に突出部Ａ１、Ａ２を有しており、被駆動部ＷＢはその中央に突起部Ｂを有している。従って、例えば可動部ＷＡが右方向に移動すると、可動部ＷＡの一方の突出部Ａ１の内方端が被駆動部ＷＢの突起部Ｂの一端に係合する。これにより、可動部ＷＡおよび被駆動部ＷＢが一体的に右方向に移動するようになる。
【０００５】
また、モータが反転して可動部ＷＡが右方向から左方向に移動する場合には、図６Ｂに示されるように、可動部ＷＡが左方向に移動する。そして、図６Ｃに示されるように、可動部ＷＡの他方の突出部Ａ２の内方端が被駆動部ＷＢの突起部Ｂの他端に係合すると、可動部ＷＡおよび被駆動部ＷＢが一体的に左方向に移動するようになる。
【０００６】
このように反転時には可動部ＷＡが被駆動部ＷＢに係合する前に、バックラッシと呼ばれる所定の移動量だけ移動する必要がある。図６Ａおよび図６Ｃに示されるバックラッシＣは位置精度を低下させる原因になりうる。このため、バックラッシＣについての補正量を作成し、反転時にこの補正量をモータの位置指令に加算することが行われている。
【０００７】
被駆動部ＷＢの位置情報を得ることなしに、モータの位置情報に基づいて被駆動部ＷＢの位置制御を行う機械はセミクローズド制御機である。このようなセミクローズド制御機においては、速度指令の反転後の移動指令にバックラッシ長を加算した、補正位置指令をモータに指令し、それにより、被駆動部ＷＢを移動指令分だけ移動させている。
【０００８】
また、モータの位置情報および被駆動部ＷＢの位置情報の両方を把握することができる機械、すなわち、フルクローズド制御機では、被駆動部ＷＢのセンサを備えているので、移動指令として所望値を与えれば十分である。このようなフルクローズド制御機においては、速度指令の反転時に、モータがバックラッシ長だけ移動した後で、被駆動部ＷＢが移動開始するので、遅れが発生する。このため、フルクローズド制御機は、速度指令の反転後で、モータを加速させる速度指令補正機能を有しうる。
【０００９】
これら二つの技術においては、適切なタイミングで適切な補正を行っており、補正の量および補正のタイミングは動作に先立って決定される。従って、これら二つの技術はフィードフォワード制御である。
【００１０】
これに対し、特許文献１においては、バックラッシにおけるモータの位置を把握して、バックラッシ補正量を決定している。この場合にはバックラッシにおけるモータの現在の位置を用いてバックラッシ補正量が定まるので、特許文献１の技術はフィードバック制御である。特許文献１においては、可動部が被駆動部に係合したときの可動部と被駆動部との間の偏差を初期偏差としている。そして、可動部および被駆動部の現在の位置の間の偏差を初期偏差から減算して、補正量を算出している。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１４−０５４００１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１においては、バックラッシを歯面間の単なる隙間として解釈されている。しかしながら、通常の機械において、バックラッシは、単なる隙間と、可動部および被駆動部の間に作用する力により生じる弾性変形とを合わせたものである。また、機械によっては、前述した隙間がほとんどなく、弾性変形に基づくロストモーションが支配的な場合もある。なお、弾性変形は、モータとボールネジとを結合するカップリング、特に樹脂製カップリングの捻れや、ボールネジの伸縮によって発生する。
【００１３】
弾性変形に基づくロストモーションが起きた場合、特許文献１において初期偏差を求めるときにバックラッシ端にかかる力の大きさと、モータ反転時に必要とされる力の大きさとが異なり、算出された補正量が要求される補正量とは異なる可能性が生じる。
【００１４】
補正量に過不足がある場合、ワークの形状精度が悪化する。具体的には、ワークの凸な部分を加工する際に補正量が過小の場合と、ワークの凹な部分を加工する際に補正量が過大の場合には、ワークに突起が発生する可能性がある。逆に、ワークの凸な部分を加工する際に補正量が過大の場合と、ワークの凹な部分を加工する際に補正量が過小の場合には、ワークに切り込みが発生する可能性がある。特に、補正量が過大の場合、ワークの加工面における切込みはキズのように見えるので、ワークが加工不良と判断される可能性が高く、たびたび問題視される。
【００１５】
本発明はこのような事情に鑑みてなされたものであり、弾性変形を考慮することにより、過大な補正量が作成されるのを回避することのできるモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
前述した目的を達成するために１番目の発明によれば、モータにより駆動される可動部および該可動部により駆動される被駆動部を備えたモータ制御装置において、前記モータに対するトルク指令値を作成するトルク指令作成部と、前記可動部の位置を検出する第一位置検出部と、前記被駆動部の位置を検出する第二位置検出部と、前記第一位置検出部が検出した第一位置検出値と前記第二位置検出部が検出した第二位置検出部との偏差を計算する偏差計算部と、該偏差計算部により計算された前記偏差を前記トルク指令値に関連づけて初期偏差として保持する保持部と、前記可動部と前記被駆動部との間の弾性体の弾性変形量を補正する補正量を計算する補正量計算部と、を具備し、前記補正量計算部は、前記保持部によって保持された前記初期偏差と、前記初期偏差に関連付けて保持された前記トルク指令値と、前記モータが反転したときに前記トルク指令作成部が作成したトルク指令値とに基づいて、前記補正量を計算する、モータ制御装置が提供される。
２番目の発明によれば、１番目の発明において、前記補正量計算部は、前記保持部により保持された前記初期偏差と、前記初期偏差に関連付けて保持された前記トルク指令値とから、前記弾性体のバネ定数を求め、前記モータが反転したときに前記トルク指令作成部が作成したトルク指令値を前記バネ定数で除算して現在の偏差を減算することで前記補正量を計算する。
３番目の発明によれば、１番目または２番目の発明において、前記保持部は、前記可動部が加速もしくは等速で移動しているときに、前記偏差と前記トルク指令値と前記初期偏差として保持する。
【発明の効果】
【００１７】
１番目および２番目の発明においては、弾性変形を考慮して補正量が算出されるので、補正量が過大になることはない。このため、ワークが過大に加工されることはなく、ワークの表面に切込みが形成されることもない。
３番目の発明においては、減速時にモータの発生させる力の方向が一意に定まらない問題を排除できる。減速時にモータが発生させる力は、減速に必要な力から機械に働く摩擦力を減算することにより得られる。言い換えれば、３番目の発明においては、摩擦力と減速力との間の大小関係に応じてモータの力の方向と弾性変形の方向（伸びか縮みか）が変わる問題を排除する。これにより、より正確な弾性変形モデルを得ることができ、ワークの表面に切込みが形成される可能性をさらに下げられる。
【００１８】
添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれら目的、特徴および利点ならびに他の目的、特徴および利点がさらに明解になるであろう。
【図面の簡単な説明】
【００１９】
【図１】本発明に基づくモータ制御装置の機能ブロック図である。
【図２】図１のボールネジ機構部を模式的に示す図である。
【図３Ａ】可動部が左方向に移動した場合における部分模式図である。
【図３Ｂ】可動部が右方向に移動した場合における部分模式図である。
【図４】本発明のモータ制御装置の動作を示すフローチャートである。
【図５】バネの変位と力との関係を示す図である。
【図６Ａ】バックラッシを説明するための第一の図である。
【図６Ｂ】バックラッシを説明するための第二の図である。
【図６Ｃ】バックラッシを説明するための第三の図である。
【発明を実施するための形態】
【００２０】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図１は本発明に基づくモータ制御装置の機能ブロック図である。図１に示されるように、モータＭの出力軸に取付けられたボールネジ機構部のネジ５１にナット５２が螺合している。そしてナット５２は、結合部材５３を介してテーブル５４に連結されている。モータＭの位置はモータＭに取付けられた第一位置検出器、例えばエンコーダ１１により検出される。エンコーダ１１は、連続した複数のモータＭの位置に基づいて速度検出値ＤＶも検出するものとする。さらに、テーブル５４の位置はテーブル５４に対して平行に配置された第二位置検出器、例えばスケール１２により検出される。
【００２１】
図２はボールネジ機構部を模式的に示す図である。図２においては、断面略Ｕ字形状の可動部ＷＡと、可動部ＷＡに嵌合する係合部材Ｄとが主に示されている。そして、可動部ＷＡの下面は、第一弾性変形部６１を介して、モータＭの位置を示すモータ位置部材６３に連結されている。また、係合部材Ｄは第二弾性変形部６２を介してテーブル５４に連結されている。図２においては、係合部材Ｄ、第二弾性変形部６２、およびテーブル５４が被駆動部ＷＢに相当する。
【００２２】
図３Ａおよび図３Ｂは可動部がそれぞれ左方向および右方向に移動した場合における部分模式図である。モータ位置部材６３が左方向に移動すると、第一弾性変形部材６１が弾性変形することにより、可動部ＷＡはモータ位置部材６３よりもわずかながら遅れて左方向に移動する。
【００２３】
そして、可動部ＷＡに嵌合した係合部材Ｄが左方向に移動すると、第二弾性変形部材６２が弾性変形することにより、テーブル５４は係合部材Ｄよりも遅れて左方向に移動することとなる。なお、図３Ｂに示されるように、モータ位置部材６３が右方向に移動する場合も概ね同様であるので説明を省略する。
【００２４】
ここで、図１と図２とを比較して分かるように、図１の第一位置検出器（エンコーダ）１１およびモータＭは、図２において直線型検出器を兼ねた直線型アクチュエータ６４に対応する。さらに、図１のネジ５１およびナット５２は、可動部ＷＡ、係合部材Ｄおよび弾性変形可能な第一弾性変形部６１に対応する。そして、図１の結合部材５３は、弾性変形可能な第二弾性変形部６２に対応する。以下においては、図１のボールネジ機構部が、図２に示された模式的なボールネジ機構部に置き換わったものとして説明することとする。
【００２５】
図１を参照すると、本発明に基づくモータ制御装置１０は、可動部ＷＡの位置指令値ＣＰを周期的に作成する位置指令作成部２０と、可動部ＷＡの速度指令値を作成する速度指令作成部２４と、モータＭのトルク指令値を作成するトルク指令作成部２６とを主に含んでいる。
【００２６】
さらに、モータ制御装置１０は、第一位置検出部１１が検出した第一位置検出値ＤＰ１と第二位置検出部１２が検出した第二位置検出値ＤＰ２との間の偏差ΔＰを計算する偏差計算部３１を含んでいる。
【００２７】
さらに、モータ制御装置１０は、偏差計算部３１により計算された偏差ΔＰをトルク指令値に関連づけて初期偏差として保持する保持部３３を含んでいる。なお、保持部３３は、速度などの他の要素も保持できるものとする。さらに、モータ制御装置１０は、可動部ＷＡと被駆動部ＷＢとの間の弾性体の弾性変形量を補正する補正量を計算する補正量計算部３４を含んでいる。ここで、可動部ＷＡと被駆動部ＷＢとの間の弾性体は、第一弾性変形部６１および第二弾性変形部６２を一体化させた弾性体である。
【００２８】
具体的には、補正量計算部３４は、保持部３３により保持された初期偏差と、初期偏差に関連付けて保持されたトルク指令値と、モータが反転したときにトルク指令作成部２６が作成したトルク指令値とに基づいて、補正量を計算する。
【００２９】
図４は本発明のモータ制御装置の動作を示すフローチャートである。図４に示される内容は所定の制御周期毎に繰返し行われるものとする。以下、図１から図４を参照して本発明のモータ制御装置の動作を説明する。
【００３０】
はじめに、位置指令作成部２０が位置指令値ＣＰを作成する。そして、図４のステップＳ１１、Ｓ１２おいて第一位置検出部１１および第二位置検出部１２が可動部ＷＡの第一位置検出値ＤＰ１および被駆動部ＷＢの第二位置検出値ＤＰ２をそれぞれ検出する。
【００３１】
そして、図４に示されるように、ステップＳ１３において、偏差計算部３１が第一位置検出値ＤＰ１および第二位置検出部ＤＰ２との間の偏差ΔＰを計算する。ここで、図３Ａなどを参照して分かるように、偏差ΔＰは、第一弾性変形部６１および第二弾性変形部６２を弾性体としたときのバネの伸び量に相当する。
【００３２】
次いで、ステップＳ１４においては、ネジ５１が加速または等速運動しているか否かが判定される。言い換えれば、可動部ＷＡが加速または等速運動しているか否かが判定される。このことは速度指令値から判断されうる。そして、ネジ５１が加速または等速運動していると判定される場合には、ステップＳ１５に進む。ステップＳ１５においては、保持部３３が、ステップＳ１３で算出された偏差を、そのときのトルク指令値に関連づけて初期偏差として保持する。
【００３３】
なお、ネジ５１が減速している場合には摩擦力と必要な減速力との大小関係に応じてモータが発生させる力の方向が変化する。このため、弾性変形の方向が一意ではなくなり、場合によっては弾性変形、つまり初期偏差とトルク指令値の両方がほとんど発生しない状態で初期偏差をトルク指令値に関連付けて取得することになる。本発明においては、ネジ５１が加速または等速運動しているときの偏差およびトルク指令値を採用しているので、少なくとも機械に働く摩擦力に相当する初期偏差が保証され、初期偏差の誤差とトルク指令値の誤差が補正量に与える影響が排除されている。
【００３４】
次いで、ステップＳ１６において、初期偏差およびトルク指令値が保持されているか否かを判定し、保持されている場合にはステップＳ１７に進む。ステップＳ１７においては、補正量計算部３４が補正量を計算する。
【００３５】
ここで、図５はバネの変位と力との関係を示す図である。図５においては、第一弾性変形部６１および第二弾性変形部６２の合計の変位を横軸に表している。図５の縦軸は力（トルク）を示している。図５に示されるように、変位と力とは線形関係にあり、その傾きは第一弾性変形部６１および第二弾性変形部６２を一体化させた弾性体のバネ定数を示している。
【００３６】
ステップＳ１６において、補正量計算部３４は、保持部３３に保持されたトルク指令値を、対応する初期偏差で除算してバネ定数を求める。なお、所定の周期毎にトルク指令値を初期偏差で除算してバネ定数を求めることにより、保持部３３がバネ定数のみを保持するようにしてもよい。この場合には、保持部３３の容量を抑えることができる。
【００３７】
そして、モータＭが反転したときには、補正量計算部３４は反転時のトルク指令値をバネ定数で除算する。当然のことながら、バネ定数の逆数を予め求めておき、これをトルク指令値に乗算してもよい。このようにして、以下の式（１）から、反転時のトルクに応じた適切な補正量を得ることができる。
補正量＝（第一方向の初期偏差／対応する第一方向のトルク指令値）×現在のトルク指令値−現在の偏差                                                    （１）
【００３８】
なお、式（１）のうちの（第一方向の初期偏差／対応する第一方向のトルク指令値）は前述した弾性体のバネ定数の逆数である。また、第一方向は、例えば図３Ａに示される左方向であるが、図３Ｂに示される右方向でもよい。
【００３９】
図１を再び参照すると、位置指令作成部２０により作成された位置指令値ＣＰから、第二位置検出部１２により検出された第二位置検出値ＤＰ２が減算器２１にて減算される。そして、補正量計算部３４により作成された補正量は加算器２２において位置指令ＣＰに加算されて、速度指令作成部２４に入力される。速度指令作成部２４は速度指令値ＣＶを作成する。
【００４０】
さらに、第一位置検出部１１により検出された速度検出値ＤＶが、減算器２５において速度指令値ＣＶから減算されて、トルク指令作成部２６に入力される。トルク指令作成部２６により作成されたトルク指令値はモータＭに入力されてモータＭを駆動する。
【００４１】
ところで、従来技術においては、以下の式（２）より補正量を求めていた。
補正量＝第一方向の初期偏差−現在の偏差                            （２）
【００４２】
これに対し、本発明においては、第一方向の初期偏差と、それに対応するトルクからバネ定数を算出している。そして反転時のトルクに応じて、バネ定数を利用して補正量を算出している。
【００４３】
このように本発明においては、弾性変形を考慮して補正量が算出されるので、補正量が過大になることはない。このため、ワークが過大に加工されることはなく、ワークの表面に切込みが形成されることもない。従って、本発明においては、ワークが加工不良と判断される可能性を下げることができる。
【００４４】
典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、前述した変更および種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【符号の説明】
【００４５】
１０    モータ制御装置
１１    エンコーダ（第一位置検出部）
１２    スケール（第二位置検出部）
２０    位置指令作成部
２１    減算器
２２    加算器
２４    速度指令作成部
２５    減算器
２６    トルク指令作成部
３１    偏差計算部
３３    保持部
３４    補正量計算部
５１    ネジ
５２    ナット
５３    結合部材
５４    テーブル
６１    第一弾性変形部（弾性体）
６２    第二弾性変形部（弾性体）
６３    モータ位置部材
６４    直線型アクチュエータ
ＷＡ    可動部
ＷＢ    被駆動部
【要約】
【課題】弾性変形を考慮することにより、過大な補正量が作成されるのを回避する。
【解決手段】モータ制御装置（１０）は、可動部の位置と被駆動部の位置との偏差を計算する偏差計算部（３１）と、偏差をトルク指令値に関連づけて初期偏差として保持する保持部（３３）と、可動部と被駆動部との間の弾性体の弾性変形量を補正する補正量を計算する補正量計算部（３４）とを含む。補正量計算部は、保持部によって保持された初期偏差と、初期偏差に関連付けて保持されたトルク指令値と、モータが反転したときにトルク指令作成部が作成したトルク指令値とに基づいて、補正量を計算する。
【選択図】図１【図１】
0005905556.tif 000002
【図２】
0005905556.tif 000003
【図３Ａ】
0005905556.tif 000004
【図３Ｂ】
0005905556.tif 000005
【図４】
0005905556.tif 000006
【図５】
0005905556.tif 000007
【図６Ａ】
0005905556.tif 000008
【図６Ｂ】
0005905556.tif 000009
【図６Ｃ】
0005905556.tif 000010