(57)【要約】      （修正有）【課題】精度の高い被駆動体の位置制御が可能なサーボモータ制御装置を提供すること。【解決手段】サーボモータ５０と、サーボモータにより駆動される被駆動体７０と、サーボモータと被駆動体とを連結し、サーボモータの動力を被駆動体へ伝える連結機構６０と、被駆動体の位置指令値を生成する位置指令生成部１０と、位置指令値を用いてサーボモータを制御するモータ制御部２０と、連結機構において被駆動体に作用する駆動力を推定する力推定部３０２、及び推定された駆動力に基づき、位置指令値を補正する補正量を生成する補正量生成部３０１を有する位置指令補正部３１と、位置指令値の指令加速度が所望の値以下のときに、または、位置指令値の指令速度が所望の値以下のときに、補正量の更新を制限する制限部３０３を有する。【選択図】図３
2018041333.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータと、
前記サーボモータにより駆動される被駆動体と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構と、
前記被駆動体の位置指令値を生成する位置指令生成部と、
前記位置指令値を用いて前記サーボモータを制御するモータ制御部と、
前記連結機構との連結部において前記被駆動体に作用する駆動力を推定する力推定部、及び前記力推定部により推定された駆動力に基づき、前記位置指令生成部により生成された前記位置指令値を補正する補正量を生成する補正量生成部を有する位置指令補正部と、
を具備し、
前記位置指令補正部は、前記位置指令値の指令加速度が所望の値以下のときに、または、前記位置指令値の指令速度が所望の値以下のときに、前記補正量の更新を制限する制限部を有するサーボモータ制御装置。
【請求項２】
前記制限部による前記補正量の更新の制限は、前記補正量の大きさが増加する更新を停止することである請求項１に記載のサーボモータ制御装置。
【請求項３】
前記制限部による前記補正量の更新を制限は、前記補正量の更新を停止することである請求項１に記載のサーボモータ制御装置。
【請求項４】
前記制限部が前記補正量の更新を再開するときの、制限されていた補正量から更新後の補正量への変化を抑制するフィルタを有する請求項１から３のいずれか１項に記載のサーボモータ制御装置。
【請求項５】
前記モータ制御部は、速度指令作成部とトルク指令作成部とを有し、
前記トルク指令作成部は少なくとも速度偏差を積算する積分器を有し、
前記制限部は、前記補正量の更新を再開するとき、前記積分器の書き換えを行う請求項１から３のいずれか１項に記載のサーボモータ制御装置。
【請求項６】
サーボモータと、
前記サーボモータにより駆動される被駆動体と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構と、を備えたサーボモータ制御装置のサーボモータ制御方法において、
前記被駆動体の位置指令値を生成し、
前記連結機構との連結部において前記被駆動体に作用する駆動力を推定し、
推定された前記駆動力に基づき、前記位置指令値を補正するための補正量を生成し、
前記位置指令値の指令加速度が所望の値以下のときに、または、前記位置指令値の指令速度が所望の値以下のときに、前記補正量の更新を制限し、
更新が制限された前記位置指令値を用いて前記サーボモータを制御するサーボモータ制御方法。
【請求項７】
前記補正量の更新の制限は、前記補正量の大きさが増加する更新を停止することである請求項６に記載のサーボモータ制御方法。
【請求項８】
前記補正量の更新を制限は、前記補正量の更新を停止することである請求項６に記載のサーボモータ制御方法。
【請求項９】
前記補正量の更新を再開するときの、制限されていた補正量から更新後の補正量への変化をフィルタで抑制する請求項６から８のいずれか１項に記載のサーボモータ制御方法。
【請求項１０】
更新が制限された前記位置指令値を用いて速度指令を作成し、作成された速度指令を用いてトルク指令を作成し、該トルク指令を用いて前記サーボモータを制御し、
前記トルク指令の作成は少なくとも速度偏差を積算する積分器を用いて行い、
前記補正量の更新を再開するとき、前記積分器の書き換えを行う請求項６から８のいずれか１項に記載のサーボモータ制御方法。
【請求項１１】
サーボモータと、
前記サーボモータにより駆動される被駆動体と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構と、を備えたサーボモータ制御装置のサーボモータ制御をコンピュータに実行させるサーボモータ制御用プログラムであって、
前記コンピュータに、
前記被駆動体の位置指令値を生成する処理と、
前記連結機構との連結部において前記被駆動体に作用する駆動力を推定する処理と、
推定された前記駆動力に基づき、前記位置指令値を補正するための補正量を生成する処理と、
前記位置指令値の指令加速度が所望の値以下のときに、または、前記位置指令値の指令速度が所望の値以下のときに、前記補正量の更新を制限する処理と、
更新が制限された前記位置指令値を用いて前記サーボモータを制御する処理と、
を実行させるサーボモータ制御用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータの動力により駆動する被駆動体の位置を補正する機能を有するサーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラムに関する。
【背景技術】
【０００２】
従来より、テーブルの上に非加工物（ワーク）を搭載し、テーブルを、サーボモータで連結機構を介して移動させるサーボモータ制御装置がある。テーブル及びワークは被駆動体となる。連結機構は、モータサーボに連結されたカップリングと、カップリングに固定されるボールねじとを有する。ボールねじはナットに螺合される。
このようなサーボモータ制御装置において、サーボモータの動力により駆動する被駆動体（移動体ともいう）の位置を補正する機能を有するサーボモータ制御装置がある。
【０００３】
例えば特許文献１には、連結機構の連結部において被駆動体に作用する駆動力を推定し、推定された駆動力に基づき、位置指令値を補正することの記載がある。また、特許文献２には、サーボモータから移動体までの距離と、トルク指令値とからボールねじの伸縮量を計算し、その伸縮量からボールねじに螺着された移動体の位置補正量を計算し、その位置補正量によって位置指令値を補正することの記載がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１０９７８５公報
【特許文献２】特開２０１４−１３５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明者らは、位置指令値を補正する場合に、停止、低速動作時において、推定される駆動力に反応して機械動作と関係のない補正が位置指令値に加わり、補正量の振れが生ずることを見出した。
本発明は、工作機械や産業機械において、さらに精度の高い被駆動体の位置制御が可能なサーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
（１）本発明に係るサーボモータ制御装置は、
サーボモータと、
前記サーボモータにより駆動される被駆動体と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構と、
前記被駆動体の位置指令値を生成する位置指令生成部と、
前記位置指令値を用いて前記サーボモータを制御するモータ制御部と、
前記連結機構との連結部において前記被駆動体に作用する駆動力を推定する力推定部、及び前記力推定部により推定された駆動力に基づき、前記位置指令生成部により生成された前記位置指令値を補正する補正量を生成する補正量生成部を有する位置指令補正部と、
を具備し、
前記位置指令補正部は、前記位置指令値の指令加速度が所望の値以下のときに、または、前記位置指令値の指令速度が所望の値以下のときに、前記補正量の更新を制限する制限部を有するサーボモータ制御装置である。
【０００７】
（２）本発明のサーボモータ制御方法は、
サーボモータと、
前記サーボモータにより駆動される被駆動体と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構と、を備えたサーボモータ制御装置のサーボモータ制御方法において、
前記被駆動体の位置指令値を生成し、
前記連結機構との連結部において前記被駆動体に作用する駆動力を推定し、
推定された前記駆動力に基づき、前記位置指令値を補正するための補正量を生成し、
前記位置指令値の指令加速度が所望の値以下のときに、または、前記位置指令値の指令速度が所望の値以下のときに、前記補正量の更新を制限し、
更新が制限された前記位置指令値を用いて前記サーボモータを制御するサーボモータ制御方法である。
【０００８】
（３）本発明のサーボモータ制御用プログラムは、サーボモータと、
前記サーボモータにより駆動される被駆動体と、
前記サーボモータと前記被駆動体とを連結し、前記サーボモータの動力を前記被駆動体へ伝える連結機構と、を備えたサーボモータ制御装置のサーボモータ制御をコンピュータに実行させるサーボモータ制御用プログラムであって、
前記コンピュータに、
前記被駆動体の位置指令値を生成する処理と、
前記連結機構との連結部において前記被駆動体に作用する駆動力を推定する処理と、
推定された前記駆動力に基づき、前記位置指令値を補正するための補正量を生成する処理と、
前記位置指令値の指令加速度が所望の値以下のときに、または、前記位置指令値の指令速度が所望の値以下のときに、前記補正量の更新を制限する処理と、
更新が制限された前記位置指令値を用いて前記サーボモータを制御する処理と、
を実行させるサーボモータ制御用プログラムである。
【発明の効果】
【０００９】
本発明によれば、停止、低速動作時においても、推定される駆動力に反応して機械動作と関係のない補正が位置指令値に加わって生ずる補正量の振れを防止し、精度の高い被駆動体の位置制御が可能となる。
【図面の簡単な説明】
【００１０】
【図１】前提技術となるサーボモータ制御装置の構成を示すブロック図である。
【図２】補正量の振れを説明する図である。
【図３】本発明の第１の実施形態となるサーボモータ制御装置の構成を示すブロック図である。
【図４】補正量の更新の停止を説明するための図である。
【図５】補正量の大きさが増加する更新を停止する場合を説明するための図である。
【図６】補正量の更新の停止を行う制限部の構成を示すブロック図である。
【図７】補正量の大きさが増加する更新の停止を行う制限部の構成を示すブロック図である。
【図８】位置指令補正部の一構成例を含むサーボモータ制御装置の構成を示すブロック図である。
【図９】モータ制御部の一構成例及びボールねじの長さ（バネ要素の長さ）を求める距離計算部を含むサーボモータ制御装置の構成を示すブロック図である。
【図１０】速度指令作成部の一構成例を示すブロック図である。
【図１１】トルク指令作成部の一構成例を示すブロック図である。
【図１２】図３に示したサーボモータ制御装置の図４に示した更新の停止動作を示すフローチャートである。
【図１３】図３に示したサーボモータ制御装置の図５に示した更新の停止動作を示すフローチャートである。
【図１４】本発明の第２の実施形態となるサーボモータ制御装置の構成を示すブロック図である。
【図１５】フィルタとフィルタの切り替えスイッチを示す図である。
【図１６】フィルタの切り替え動作を示すフローチャートである。
【図１７】本発明の第３の実施形態となるサーボモータ制御装置の構成を示すブロック図である。
【図１８】トルク指令作成部の構成を示すブロック図である。
【図１９】積分器の切り替え動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を用いて説明する。
まず、本発明の実施形態の説明に先立って前提技術となるサーボモータ制御装置について説明する。
図１は前提技術となるサーボモータ制御装置の構成を示すブロック図である。サーボモータ制御装置は、サーボモータ５０で連結機構６０を介してテーブル７０を移動させ、テーブル７０の上に搭載された被加工物（ワーク）を加工する。連結機構６０は、サーボモータ５０に連結されたカップリング６０１と、カップリングに固定されるボールねじ６０２とを有し、ボールねじ６０２にナット６０３が螺合されている。サーボモータ５０の回転駆動によって、ボールねじ６０２に螺着されたナット６０３がボールねじ６０２の軸方向に移動する。
【００１２】
サーボモータ５０の回転角度位置は、サーボモータ５０に関連付けられた、位置検出部となるエンコーダ４０によって検出され、検出された位置（位置検出値）は位置フィードバックとして利用される。なお、エンコーダ４０は回転速度を検出可能であり、検出された速度（速度検出値）は速度フィードバックとして利用可能である。
サーボモータ制御装置は、図示しない上位制御装置や外部入力装置等から入力されるプログラムや命令に従って、サーボモータ５０の位置指令値を作成する位置指令作成部１０と、位置指令作成部１０が作成した位置指令値とエンコーダ４０が検出した位置検出値との差を求める減算器８０と、この差と位置指令補正部３０から出力される補正値とを加算する加算器９０と、この加算値を用いてサーボモータ５０のトルク指令値を作成するモータ制御部２０と、を有する。
【００１３】
サーボモータ５０の駆動時には、連結機構６０とテーブル７０とに駆動力が作用し、これらは弾性変形するが、連結機構６０はテーブル７０と比較して剛性が低いため、全体の弾性変形のうち、連結機構６０の弾性変形が大部分の割合を占める。連結機構６０が弾性変形すると、サーボモータ５０を指令値通りに回転させた場合であっても、テーブル７０の位置に弾性変形量分の誤差が生じる。このため、この誤差を解消するために、連結機構６０の弾性変形量分だけ位置指令値を補正する。連結機構６０の弾性変形量は、テーブル７０（ナット６０３）と連結機構６０との連結部においてテーブル７０に作用する駆動力に比例し、駆動力は連結部において作用する駆動トルクにより表すことができる。
位置指令補正部３０は、補正量生成部３０１と力推定部３０２とを有する。力推定部３０２は、トルク指令値を用いて連結部において駆動体に作用する駆動力（駆動トルク）を推定する。補正量生成部３０１は、力推定部３０２により推定された駆動力に基づき、位置指令生成部１０により生成された位置指令値を補正するための補正量を生成し補正値を出力する。
【００１４】
本発明者らは図１に示した前提技術のサーボモータ制御装置は、停止、低速動作時においても、推定される駆動力に反応して機械動作と関係のない補正が位置指令値に加わり、図２に示すように補正量の振れが生ずる場合があることを見出した。
以下、補正量の振れを防止する本発明のサーボモータ制御装置の実施形態について説明する。以下に説明する本実施形態のサーボモータ制御装置が適用される機械は、レーザー加工機、放電加工機、切削加工機等の工作機械であるが、本発明のサーボモータ制御装置はロボット等の産業機械等にも適用可能である。
【００１５】
（第１の実施形態）
図３は本発明の第１の実施形態となるサーボモータ制御装置の構成を示すブロック図である。図３において、図１のサーボモータ装置の構成部材と同一構成部材については同一符号を付して説明を省略する。
図３に示すように、位置指令補正部３１は、位置指令作成部１０が作成した位置指令値を受け、位置指令値の指令加速度が所望の値以下（０を含む）のときに、または、位置指令値の指令速度が所望の値以下（０を含む）のときに、補正量の更新を制限する制限部３０３を有する。以下の説明では、位置指令値の指令加速度を用いて補正量の更新を制限する場合について説明するが、位置指令値の指令速度を用いて補正量の更新を制限してもよい。制限部３０３は、位置指令値の指令加速度が所望の値以下（０を含む）かどうかを検出し、補正量生成部３０１から出力される補正量を加算器９０に出力する。図３では力推定部３０２は、トルク指令値を用いて連結部において駆動体に作用する駆動力（駆動トルク）を推定しているが、駆動力の推定はこれに限定されず、例えば特許文献１（特開２０１４−１０９７８５号公報）に記載されるように、加減速トルク、外乱トルク等をさらに加えて駆動力を推定したり、トルク指令値でなく、モータ電流を検出する電流検出部の出力を用いてモータトルクを算出して駆動力を推定してもよい。
【００１６】
制限部３０３は図２に示すように補正量の振れを防止するように制御されればよく、図４に示すように補正量の更新を停止してもよく、図５に示すように補正量の大きさが増加する更新を停止し、補正量の大きさが減少する方向の更新は有効にしてもよい。補正量の大きさが減少する方向のみの更新を有効にすることにより、更新を停止する時点の補正量が大きい場合に大きい補正量を持続的にいれないで済む。なお、補正量の大きさが減少する更新を停止し、補正量の大きさが増加する方向の更新は有効にしてもよく、この場合でも図２に示すように補正量の振れを防止することができる。
【００１７】
図４に示すような補正量の更新の停止は図６に示す構成の制限部３０３により行われる。図６において、位置指令値の指令加速度を順次入力される位置指令値を用いて指令加速度生成部３０３１で求め、制御部３０３２で指令加速度が所望の値以下（０を含む）かどうかを判断し、指令加速度が所望の値以下（０を含む）の場合は、補正量保持部３０３３で保持されている補正量の更新を停止する。その場合図４に示すように一定の補正量が出力される。指令加速度が所望の値を超える場合は、補正量の更新を維持する。位置指令値の指令加速度の代わりに位置指令値の指令速度を用いる場合には、指令加速度生成部３０３１を指令速度生成部に置き換える。
【００１８】
図５に示すような補正量の大きさが増加する更新の停止は図７に示す構成の制限部３０３により行われる。図７において、位置指令値の指令加速度を順次入力される位置指令値を用いて指令加速度生成部３０３１で求め、制御部３０３２で指令加速度が所望の値以下（０を含む）かどうかを判断し、また補正量の大きさが増加しているかどうかを補正量増加検出器３０３４で判断する。そして、指令加速度が所望の値以下（０を含む）で、補正量の大きさが増加する場合は、補正量保持部３０３３で保持されている補正量の更新を停止する。指令加速度が所望の値を超える場合又は補正量の大きさが減少する場合は、補正量の更新を維持する。補正量の停止後に補正量の大きさが減少する方向となったときは更新を再開する。位置指令値の指令加速度の代わりに位置指令値の指令速度を用いる場合には、指令加速度生成部３０３１を指令速度生成部に置き換える。また補正量の大きさが減少しているかどうかを判断する場合には補正量増加検出器３０３４を補正量減少検出器に置き換える。
【００１９】
図８は位置指令補正部３１の一構成例を含むサーボモータ制御装置の構成を示すブロック図である。図６の推定負荷トルク計算部３０７は図３の力推定部３０２に対応し、図６のねじれ係数乗算部３０４、ボールねじ長さ乗算部３０６、形状係数乗算部３０５は補正量生成部３０１に対応する。形状係数はボールねじの単位長さあたりの伸縮量を示す。本実施形態では、連結機構（カッブリング、ボールねじ）に発生する回転軸まわりのねじり弾性変形と軸方向の伸縮弾性変形を推定される負荷トルクに基づいて算出し、弾性変形に起因するロストモーションを位置指令値に補正する。この際、軸方向の弾性変形はサーボモータから被駆動体までの距離に依存し、移動位置の積算値によりこの距離を推定する。
推定負荷トルクをＴ、ねじれ係数をαとすると、連結部のねじれに関する補正量はα・Ｔとなり、推定負荷トルクをＴ、ボールねじの長さをｄ、形状係数をβとするとボールねじの伸縮に関する補正量はｄ・β・Ｔとなる。そして、合計の補正量がα・Ｔ＋ｄ・β・Ｔとなる。
【００２０】
図９はモータ制御部２０の一構成例及びボールねじの長さ（バネ要素の長さ）を求める距離計算部８０を含むサーボモータ制御装置の構成を示すブロック図である。図６のボールねじ長さ乗算部３０６で乗算されるボールねじの長さ（バネ要素の長さ）は距離計算部８０により算出される。図６のモータ制御部２０は速度指令作成部２０１と減算部とトルク指令作成部２０２とを有する。
図１０は速度指令作成部２０１の一構成例を示すブロック図である。位置指令作成部１０は位置指令値を作成し、位置指令値と位置フィードバックされた検出位置との差を減算器８０で求め、その差に補正量を加算器９０で加え、補正量を加えた差を、微分器２０１１と位置制御ゲイン２０１３とに入力する。加算器２０１４は、微分器２０１１の出力に係数を乗算した係数部２０１２の出力と、位置制御ゲイン２０１３の出力との加算値を速度指令値として出力する。速度指令値は速度フィードバックされた検出速度との差を減算器１００で求める。
図１１はトルク指令作成部２０２の一構成例を示すブロック図である。トルク指令作成部２０２は、減算器１００と接続される比例ゲイン２０２３及び積分器２０２１、積分器２０２１と接続される積分ゲイン２０２２、及び比例ゲイン２０２３の出力と積分ゲイン２０２２の出力とを加算し、トルク指令としてサーボモータ５０に出力する加算器２０２４を備えている。積分器２０２１は入力を積分する。積分ゲイン２０２２は積分器２０２１の出力に係数を乗算し、比例ゲイン２０２３は入力に係数を乗算する。なお、積分ゲイン２０２２と積分器２０２１は並び順を変えてもよい。
【００２１】
図１２は図３に示したサーボモータ制御装置の図４に示した更新の停止動作を示すフローチャートである。ステップＳ１０１において、力推定部３０２及び補正量生成部３０１を用いて推定された駆動力に基づき位置指令値の補正量を生成する。ステップＳ１０２において、制限部３０３の制御部３０３２は位置指令値の指令加速度が所望の値以下（０を含む）かどうかを判断し、指令加速度が所望の値以下（０を含む）の場合（ステップＳ１０２のＹＥＳの場合）は、ステップＳ１０５において補正量保持部３０３３で保持されている補正量の更新を停止する。そして、ステップＳ１０６において、位置指令生成部１０からの位置指令値と位置フィードバックの検出位置との差を、更新が停止された補正量で補正する。
【００２２】
一方、ステップＳ１０２において、指令加速度が所望の値を超える場合（ステップＳ１０２のＮＯの場合）は、ステップＳ１０３において、補正量の更新を続け、ステップＳ１０４において、位置指令生成部１０からの位置指令値と位置フィードバックの検出位置との差を、更新された補正量で補正する。そして、ステップＳ１０４又はステップＳ１０６で補正された、位置指令値と検出位置との差に基づいてモータ制御部２０によりサーボモータ５０を制御する。
図１３は図３に示したサーボモータ制御装置の図５に示した更新の停止動作を示すフローチャートである。図１３のフローチャートは図１２のフローチャートに、補正量の大きさが増加するかどうかを判断するステップＳ１０８が加わっている。
位置指令値の指令加速度が所望の値以下（０を含む）（ステップＳ１０２のＹＥＳ）で、補正量の大きさが増加する場合（ステップＳ１０８のＹＥＳ）は、ステップＳ１０５において補正量保持部３０３３で保持されている補正量の更新を停止する。指令加速度が所望の値を超える場合（ステップＳ１０２のＮＯ）又は補正量の大きさが減少する場合（ステップＳ１０８のＮＯ）は、ステップＳ１０３において、補正量の更新を続ける。
【００２３】
（第２の実施形態）
第１の実施形態のサーボ制御装置では、補正量の更新を停止させると、再開時に補正量が不連続に変わる。この補正量の不連続を防止するために位置指令補正部３１の出力にフィルタ１１０を設ける。
図１４は本発明の第２の実施形態となるサーボモータ制御装置の構成を示すブロック図である。図１４のサーボモータ制御装置の構成は、フィルタ１１０が設けられている点を除くと図３のサーボモータ制御装置の構成と同じであり、同一の構成部材については同一符号を付し説明を省略する。フィルタ１１０としてはローパスフィルタを用いることができる。
【００２４】
フィルタ１１０は、図１５に示す切り替えスイッチ１２０により、補正量の更新の再開時のみ制限部３０３と加算器９０との間に接続し、再開後は制限部３０３と加算器９０との間を接続してフィルタ１１０を介さないようにしてもよい。切り替えスイッチ１２０の切り替えは図６及び図７に示す制御部３０３２が、指令加速度生成部３０３１の出力を用いて位置指令値の指令加速度が所望の値を超えたと判断したときに、停止していた補正量の更新を再開するときに行う。
図１６はフィルタ１１０の切り替え動作を示すフローチャートである。ステップＳ２０１で制御部３０３２が位置指令値の指令加速度が所望の値を超えたと判断した場合に（ステップＳ２０１のＹＥＳ）、ステップ２０２で停止していた補正量の更新を再開させ、フィルタをかけるように切り替えスイッチ１２０を切り替え、その後、補正量の不連続が解消されたときに、ステップ２０３でフィルタをかけないように切り替えスイッチ１２０を切り替える。
【００２５】
（第３の実施形態）
第２の実施形態のサーボ制御装置では、補正量の不連続を防止するために位置指令補正部３１の出力にフィルタ１１０を設けたが、フィルタの代わりにトルク指令作成部２０２の積分器２０１１の書き換えを行い、トルク指令値に不連続を生じないようにしてもよい。再開時に位置指令値を補正する補正量が入ると、速度指令値の変化が発生する。この速度指令値の変化によりトルク指令値が変化しないように、積分器の書き換えを行い、トルク指令値が不連続でなくなるようにする。
図１７は本発明の第３の実施形態となるサーボモータ制御装置の構成を示すブロック図である。図１７のサーボモータ制御装置の構成は、位置指令補正部３２がトルク指令作成部２０２に積分器の書き換え指示を送っている点を除くと図９のサーボモータ制御装置の構成と同じであり、同一の構成部材については同一符号を付し説明を省略する。図１８はトルク指令作成部２０２の構成を示すブロック図である。図１８に示すように、積分器２０２１に書き換え指示が送られる。
【００２６】
書き換え指示は図６及び図７に示す制御部３０３２が、指令加速度生成部３０３１の出力から位置指令値の指令加速度が所望の値を超えたと判断したときに、停止していた補正量の更新を再開するときに送る。制御部３０３２は以下のように積分器２０２１の書き換えを指示する。
トルク指令値TCMDは、Vcndを速度指令値、Vfdを検出速度、ｋｐを比例ゲイン、ｋｉを積分ゲインとすると、
【数１】
2018041333.tif 000003
であらわされる。
補正量の更新停止から補正量の更新を再開ときに、トルク指令値TCMDはTCMD(1)からTCMD(2)になる。
【数２】
2018041333.tif 000004
本実施形態では、トルク指令値TCMD(2)のTCMD(1)+(Vcnd(2) - Vfd(2))を以下の数３に書き換える。
【数３】
2018041333.tif 000005
すると、書き換えられたトルク指令値TCMD’(2)はTCMD(1)と同じになり、トルク指令の不連続は生じない。
【００２７】
図１９は積分器２０２１の切り替え動作を示すフローチャートである。ステップＳ３０１で制御部３０３２が位置指令値の指令加速度が所望の値を超えたと判断した場合に（ステップＳ３０１のＹＥＳ）、ステップ３０２で停止していた補正量の更新を再開させ、積分器の書き換えを行う。その後、補正量の不連続が解消されたときに、ステップ３０３で積分器の書き換えを元に戻す。
以上、本発明の実施形態について説明したが、サーボモータ制御装置はその機能の全部又は一部をハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。ハードウェアで構成する場合、サーボモータ制御装置の補正量生成部３０１、力推定部３０２、制限部３０３、位置指令生成部１０、モータ制御部２０の一部又は全部を、例えば、ＬＳＩ(Large Scale Integrated circuit)、ＡＳＩＣ(Application Specific Integrated Circuit)、ゲートアレイ、ＦＰＧＡ(Field Programmable Gate Array)等の集積回路（ＩＣ）で構成することができる。
【００２８】
ソフトウェアによって実現する場合、サーボモータ制御装置の一部又は全部を、ＣＰＵとプログラムを記憶したハードディスク、ＲＯＭ等の記憶部とを含むコンピュータで構成して、図３、図６−図１１のブロック図と図１２、図１３のフローチャートに沿ったプログラム、図１４のブロック図と図１６のフローチャートに沿ったプログラム、図１７及び図１８のブロック図と図１９のフローチャートのフローチャートに沿ったプログラムに従い、演算に必要な情報をＲＡＭ等の第２の記憶部に記憶し、処理を実行することでサーボモータ制御装置の一部又は全部の動作をプログラムで実行ことができる。プログラムは、プログラムが記録されたＣＤ−ＲＯＭ、ＤＶＤ、フラッシュメモリ等の外部記憶媒体からハードディスク等の記憶部に読み込むことができる。
【符号の説明】
【００２９】
１０  位置指令生成部
２０  モータ制御部
３０、３１  位置指令補正部
４０  エンコーダ
５０  サーボモータ
６０  連結機構
７０  テーブル
３０１  補正量生成部
３０２  力推定部
３０３  制限部
【図１】
2018041333.tif 000006
【図２】
2018041333.tif 000007
【図３】
2018041333.tif 000008
【図４】
2018041333.tif 000009
【図５】
2018041333.tif 000010
【図６】
2018041333.tif 000011
【図７】
2018041333.tif 000012
【図８】
2018041333.tif 000013
【図９】
2018041333.tif 000014
【図１０】
2018041333.tif 000015
【図１１】
2018041333.tif 000016
【図１２】
2018041333.tif 000017
【図１３】
2018041333.tif 000018
【図１４】
2018041333.tif 000019
【図１５】
2018041333.tif 000020
【図１６】
2018041333.tif 000021
【図１７】
2018041333.tif 000022
【図１８】
2018041333.tif 000023
【図１９】
2018041333.tif 000024