(57)【要約】【課題】指令の遅れがなく負荷の機械振動、あるいは負荷の制御振動を抑えることができるサーボ制御装置およびサーボ制御方法を提供する。【解決手段】サーボ制御装置は、時間で変化する関数であり、負荷にあわせた、すなわち負荷の機械振動、あるいは負荷の制御振動を抑える関数である指令関数ｘを用いて、指令の速度や移動量に応じて、ある時間ごとの位置指令の差分又は速度指令を作成するための指令関数作成手段１２を有し、指令関数作成手段１２は加減速プロファイルを作成する時に指令関数ｘを用いて行い、加速時間以内で加速、指令速度以上で指令速度とし、移動量の残りが減速距離以下で減速とする指令を算出する。【選択図】    図１
2006072598.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータ（５）を駆動制御するサーボ制御装置において、
前記サーボモータ（５）に直結され、前記サーボモータ（５）の回転位置を検出するエンコーダ（６）と、
時間で変化する関数であり、負荷の機械振動、あるいは負荷の制御振動を抑える関数である指令関数（ｘ）を用いて指令の移動量や速度に応じて、ある時間ごとの位置指令の差分又は速度指令を作成する指令関数作成手段（１２）と、
前記指令関数作成手段（１２）より指示される位置指令信号と前記エンコーダ（６）からのフィードバックパルスとにより該サーボモータ（５）の位置を制御する位置制御部（９）と、
前記位置制御部（９）から出力される速度指令信号と前記エンコーダ（６）からのフィードバックパルスとにより、該サーボモータ（５）の速度を制御する速度制御部（１０）とを備えたことを特徴とするサーボ制御装置。
【請求項２】
サーボモータ（５）を駆動制御するサーボ制御方法において、
前記サーボモータ（５）に直結されたエンコーダ（６）により前記サーボモータ（５）の回転位置を検出し、
時間で変化する関数であり、負荷の機械振動、あるいは負荷の制御振動を抑える関数である指令関数（ｘ）を用いて指令関数作成手段（１２）により指令の移動量や速度に応じて、ある時間ごとの位置指令の差分又は速度指令を作成し、
前記指令関数作成手段（１２）より指示される位置指令信号と前記エンコーダ（６）からのフィードバックパルスを用いて位置制御部（９）により該サーボモータ（５）の位置を制御し、
前記位置制御部（９）から出力される速度指令信号と前記エンコーダ（６）からのフィードバックパルスを用いて速度制御部（１０）により該サーボモータ（５）の速度を制御することを特徴とするサーボ制御方法。
【請求項３】
前記指令関数作成手段（１２）は、
現在の位置から目標位置までの移動量の残り距離となる残移動距離が、減速開始から停止までに必要な減速移動距離以下であるか否かを判断するステップ（ＳＴ１０）と、
前記残移動距離が前記減速移動距離を超える場合は、次に、移動時間が加速時間以上であるか否かを判断するステップ（ＳＴ２０）と、
前記加速時間未満の場合は加速処理に進むステップ（ＳＴ３０）と、
前記加速処理では、指令関数（ｘ）を用いて位置指令の差分を算出し、指令速度に加減速度分を、移動距離に前記指令速度分を加算すると共に、前記指令関数（ｘ）を用いて減速位置指令の差分を算出し、前記算出した減速位置指令の差分を現在の移動距離に加算することにより、減速距離を算出するステップ（ＳＴ４０）と、
前記残移動距離が前記減速距離を超え、且つ、前記加速時間以上の場合は、定速処理に進むステップ（ＳＴ５０）と、
前記残移動距離が前記減速移動距離以下になると減速処理に移るステップ（ＳＴ７０）と、
減速処理では、減速開始に減速時の端数を算出するステップ（ＳＴ９０）と、
前記指令関数を用いて位置指令の差分を算出するステップ（ＳＴ１００）と、
前記位置指令の差分が前記減速時の端数より小さい場合は、前記位置指令の差分の代わりに、減速時の端数を指令とするステップ（ＳＴ１２０）と、
前記位置指令の差分が前記減速時の端数より大きい場合は、前記位置指令の差分を指令とするステップ（ＳＴ１３０）と、を備えたことを特徴とする請求項２に記載のサーボ制御方法。
【請求項４】
前記指令関数（ｘ）は、前記負荷の２つ以上の機械振動、または制御振動を抑えた関数であることを特徴とする請求項２または請求項３に記載のサーボ制御方法。
【請求項５】
前記指令関数（ｘ）は、加速度と減速度が異なる指令関数であることを特徴とする請求項２乃至４のいずれか１項に記載のサーボ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷に合わせた指令関数を用いて位置指令や速度指令を作成する指令関数作成手段を用いたサーボ制御装置及びサーボ制御方法に関するものである。
【背景技術】
【０００２】
図５は、従来技術及び本発明に係るサーボ制御装置の概要を示す構成図である。
図５において、１はマイクロコンピュータ、２は電流アンプ、３はベースドライブ回路、４はパワートランジスタ、５はサーボモータ、６はサーボモータ５に直結されサーボモータ５の回転位置を検出するエンコーダ、７は負荷である。
サーボ制御装置は、制御対象であるサーボモータ５と、サーボモータ５に機械的に結合した負荷７と、サーボモータ５の位置を検出するエンコーダ６と、サーボモータ５を駆動するドライバとを備えて構成されている。また、ドライバはマイクロコンピュータ１と電流アンプ２と、ベースドライブ回路３と、ベースドライブ回路３により駆動されるパワートランジスタ４を備えている。
図６は、従来技術のサーボ制御装置を示す制御ブロック図である。
図６において、５はサーボモータ、８は加減速プロファイル作成手段、９は位置指令信号とエンコーダ６からのフィードバックパルスとによりサーボモータ５の位置を制御する位置制御部、１０は位置制御部９から出力される速度指令信号とエンコーダ６からのフィードバックパルスとにより、サーボモータ５の速度を制御する速度制御部、１１は積分部、である。また、図６中のＰｒｅｆは位置指令、ωは速度、θは位置、Ｋｐは位置ループゲイン、Ｋｖは速度ループゲインである。
以上のように構成されたサーボ制御装置において、その動作を図５および図６を用いて説明する。
マイクロコンピュータ１は、移動指令や送り速度を外部のコントローラ等（不図示）から受取ると、加減速プロファイル作成手段８において、移動指令や送り速度および加減速時間に基づいて加減速プロファイルを作り、単位時間毎（サンプリング時間毎）の位置指令を作成する。この位置指令から、エンコーダ６からの位置フィードバックθを減算し、位置制御部９では減算結果である位置偏差に位置ループゲインＫｐを掛けて位置制御を行う。次に、位置制御部の出力である速度指令から位置フィードバックθの時間微分または差分に基づく速度フィードバックωを減算し、速度制御部１０では、その減算結果である速度偏差に速度ループゲインＫｖをかけて速度制御を行う。そしてその出力の電流指令や電流制御の出力でベースドライブ駆動回路３を介してパワートランジスタ４を駆動し、サーボモータ５を制御する。
このように従来技術によるサーボ制御装置は、加減速プロファイル作成手段８により、移動指令や送り速度および加減速時間等から直線の加減速を付けたプロファイルを作り、それにフィルタを付け加減速指令を作っていた（例えば、特許文献１参照）。
また、その加減速指令に、更に負荷に合わせた加減速フィルタ（S字フィルタや指数関数フィルタ等）を付けて位置指令や速度指令とすることも行われてきた。
【特許文献１】特開平７−１２１２２７号公報（第６図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら従来技術では、負荷の機械振動の周期が長い場合は加減速時間を長くしないと機械振動を抑えられず、その結果、指令時間が長くなってしまうという問題があった。また、負荷の機械振動、あるいは負荷の制御振動を抑えるため、負荷に合わせた加減速フィルタを制御の内部に入れる場合も、そのフィルタにより指令が遅れるという問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、指令の遅れがなく機械の振動や制御振動を抑えることができるサーボ制御装置およびサーボ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、請求項１に記載の発明は、サーボモータを駆動制御するサーボ制御装置において、前記サーボモータに直結され、前記サーボモータの回転位置を検出するエンコーダと、時間で変化する関数であり、負荷の機械振動、あるいは負荷の制御振動を抑える関数である指令関数を用いて指令の移動量や速度に応じて、ある時間ごとの位置指令の差分又は速度指令を作成する指令関数作成手段と、前記指令関数作成手段より指示される位置指令信号と前記エンコーダからのフィードバックパルスとにより該サーボモータの位置を制御する位置制御部と、前記位置制御部から出力される速度指令信号と前記エンコーダからのフィードバックパルスとにより、該サーボモータの速度を制御する速度制御部とを備えたことを特徴としている。
また、請求項２に記載の発明は、サーボモータを駆動制御するサーボ制御方法において、前記サーボモータに直結されたエンコーダにより前記サーボモータの回転位置を検出し、時間で変化する関数であり、負荷の機械振動、あるいは負荷の制御振動を抑える関数である指令関数（ｘ）を用いて指令関数作成手段により指令の移動量や速度に応じて、ある時間ごとの位置指令の差分又は速度指令を作成し、前記指令関数作成手段より指示される位置指令信号と前記エンコーダからのフィードバックパルスを用いて位置制御部により該サーボモータの位置を制御し、前記位置制御部から出力される速度指令信号と前記エンコーダからのフィードバックパルスを用いて速度制御部により該サーボモータの速度を制御することを特徴としている。
また、請求項３に記載の発明は、請求項２に記載のサーボ制御方法において、前記指令関数作成手段は、現在の位置から目標位置までの移動量の残り距離となる残移動距離が、減速開始から停止までに必要な減速移動距離以下であるか否かを判断するステップと、前記残移動距離が前記減速移動距離を超える場合は、次に、移動時間が加速時間以上であるか否かを判断するステップと、前記加速時間未満の場合は加速処理に進むステップと、前記加速処理では、指令関数を用いて位置指令の差分を算出し、指令速度に加減速度分を、移動距離に前記指令速度分を加算すると共に、前記指令関数を用いて減速位置指令の差分を算出し、前記算出した減速位置指令の差分を現在の移動距離に加算することにより、減速距離を算出するステップと、前記残移動距離が前記減速距離を超え、且つ、前記加速時間以上の場合は、定速処理に進むステップと、前記残移動距離が前記減速移動距離以下になると減速処理に移るステップと、減速処理では、減速開始に減速時の端数を算出するステップと、前記指令関数を用いて位置指令の差分を算出するステップと、前記位置指令の差分が前記減速時の端数より小さい場合は、前記位置指令の差分の代わりに、減速時の端数を指令とするステップと、前記位置指令の差分が前記減速時の端数より大きい場合は、前記位置指令の差分を指令とするステップと、を備えたことを特徴としている。
また、請求項４に記載の発明は、請求項２または請求項３に記載のサーボ制御方法において、前記指令関数は、前記負荷の２つ以上の機械振動、または制御振動を抑えた関数であることを特徴としている。
また、請求項５に記載の発明は、請求項２乃至４のいずれか１項に記載のサーボ制御方法において、前記指令関数は、加速度と減速度が異なる指令関数であることを特徴としている。
【発明の効果】
【０００５】
請求項１に記載の発明によれば、負荷に合わせた指令関数を用いて位置指令や速度指令を作成する指令関数作成手段を備えるようにしているので、フィルタによる指令の遅れがなく、負荷の機械振動や制御振動を抑えることができるという効果がある。また、指令の遅れがないため、制御ゲインを上げ追従性を上げても、負荷の機械振動が発生し難いという効果もある。
請求項２に記載の発明によれば、負荷に合わせた指令関数を用いて位置指令や速度指令を作成する方法としているので、フィルタによる指令の遅れがなく、負荷の機械振動や制御振動を抑えることができるという効果がある。また、指令の遅れがないため、制御ゲインを上げ追従性を上げても、負荷の機械振動が発生し難いという効果もある。
請求項３に記載の発明によれば、加減速プロファイルを作成する時に指令関数を用いて行い、加速時間以内で加速、指令速度以上で指令速度とし、移動量の残りが減速距離以下で減速とする指令を算出する方法としているので、フィルタによる指令の遅れがなく、負荷の機械振動や制御振動を抑えることができるという効果がある。
請求項４に記載の発明によれば、負荷の２つ以上の機械振動、または制御振動を抑えた関数を用いて位置指令や速度指令を作成する方法としているので、２つ以上の機械振動、または制御振動を有する負荷の場合であっても、フィルタによる指令の遅れがなく、負荷の機械振動や制御振動を抑えることができるという効果がある。
請求項５に記載の発明によれば、加速度と減速度が異なる指令関数を用いて位置指令や速度指令を作成する方法としているので、加速度と減速度が異なる場合においても、フィルタによる指令の遅れがなく、負荷の機械振動や制御振動を抑えることができるという効果がある。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の具体的実施例について、図に基づいて説明する。
【実施例１】
【０００７】
図１は、本発明のサーボ制御装置の制御ブロック図である。
図１において、１２は指令関数作成手段である。なお、図６と同じ説明符号のものは図６と同じ構成要素を示している。
本発明の特徴とする点は、従来技術の図６の構成要素であるフィルタを用いた加減速プロファイルを作成するための加減速プロファイル作成手段８の代わりに、時間で変化する関数であり、負荷の機械振動、あるいは負荷の制御振動を抑える関数である指令関数（ｘ）を用いて指令の移動量や速度に応じて、ある時間ごとの位置指令の差分又は速度指令を作成する指令関数作成手段１２を備えるようにしている点である。
すなわち、マイクロコンピュータ１は移動指令を受取ると、加減速時間や送り速度を算出し、指令関数作成手段１２において指令関数を用いて位置指令の差分を作成し、この差分に基づいて、従来技術の図６の場合と同様に、位置制御部９では位置制御を行い、速度制御部１０では速度制御を行うようにしている点である。
【０００８】
図２は本発明のサーボ制御方法における移動指令入力時の前処理方法を示すフローチャートである。
以下、図２を用いて指令関数を使う為の加減速時間や送り速度を算出する前処理方法について説明する。
マイクロコンピュータ１は移動指令や送り速度を受取ると、与えられた移動指令と送り速度で指令速度が与えられた送り速度に到達するかどうか確認する（ステップＳＴ１）。すなわち、指令速度を０から加減速度分を加算していき、移動距離も指令速度分を加算していく。そして指令速度が与えられた送り速度になっても移動指令が移動距離より大きければ、移動量より指令速度は与えられた送り速度に到達していることになり、送り速度は与えられた送り速度となり、加速時間も決まる（ステップＳＴ２）。そうでない場合は、移動量より指令速度は与えられた送り速度に到達していないことになり、送り速度は到達前のその時点での指令速度になり、加速時間もその時点までの時間になる（ステップＳＴ３）。
【０００９】
図３は、本発明のサーボ制御方法を示すフローチャートである。
以下、図３を用いて本発明のサーボ制御方法を説明する。
サンプリング時間毎に位置指令の作成を開始し、現在の位置から目標位置までの移動量の残り距離となる残移動距離が、減速開始から停止までに必要な減速移動距離以下であるか否かを判断する（ステップＳＴ１０）。残移動距離が減速移動距離を超える場合は、移動時間が加速時間以上か否かを判断し（ステップＳＴ２０）、加速時間未満の場合は加速処理に進む（ステップＳＴ３０）。加速処理では、指令関数を用いて位置指令の差分を算出し、指令速度に加減速度分を加算していき、移動距離についても指令速度分を加算していく。このとき、指令関数を用いて減速位置指令の差分も合わせて算出する。そして算出した減速位置指令の差分を現在の移動距離に加算することによりその速度での減速距離を算出する（ステップＳＴ４０）。これは次のサンプリング時間における、ステップＳＴ１０での残移動距離と減速移動距離の比較判断の為に行う。  
ステップＳＴ１０で、移動量の残り距離が減速距離を超え、且つ、移動時間が加速時間以上の場合は、定速処理に進む（ステップＳＴ５０）。定速処理では、指令速度に少数部を持つ場合、指令速度の端数を加算して処理し、指令速度を算出する（ステップＳＴ６０）。例えばＸＸ．５（ここでＸは数字）の場合、指令速度の端数も０．５相当にして、桁の上がる２回に１回「１」を加算して出力する。定速処理はサンプリング時間毎に繰り返し、ステップＳＴ１０で残移動距離が減速移動距離以下になると減速処理に移る（ステップＳＴ７０）。
ステップＳＴ７０の減速処理では、減速開始か否かを判断し（ステップＳＴ８０）、減速開始に減速時の端数を１回だけ算出する（ステップＳＴ９０）。減速時の端数とは、残り距離から減速距離を差し引き、それに送り速度を加算したものである。
指令関数を用いて位置指令の差分を算出する（ステップＳＴ１００）。位置指令の差分と減速時の端数を比較し（ステップＳＴ１１０）、位置指令の差分が減速時の端数より小さい場合は、位置指令の差分の代わりに、減速時の端数を指令し（ステップＳＴ１２０）、位置指令の差分が減速時の端数より大きい場合は、通常通り位置指令の差分を指令することにより端数処理を行う（ステップＳＴ１３０）。
【００１０】
図４は、本発明のサーボ制御方法で用いた指令関数の例を示す説明図である。図４において、縦軸は指令ｘ、横軸は時間ｔである。
以下、図４を参照しながら、本発明のサーボ制御方法で用いた指令関数の例について説明する。
図４に示す指令関数ｘは、次に示す１式で表わされる。
ｘ＝  Ｖｒ／ｔａ＊ｔ  +  ｆ（ｔ）・・・（１）
１式において、Ｖｒは送り速度、ｔａは加速時間、ｔは時間、ｆ（ｔ）は時間で変化する関数であり、負荷にあわせた、すなわち負荷の機械振動、および負荷の制御振動を抑える関数である。また、２つ以上の周波数を抑えたい場合は、２つ以上の機械振動、制御振動を抑えた指令関数であっても構わない。さらに、加速度と減速度の異なる指令関数を用いても構わない。
【００１１】
以上述べたように、本実施例に係るサーボ制御装置は、フィルタを用いた加減速プロファイル作成手段８の代わりに、指令関数を用いて位置指令の差分又は速度指令を作成するための指令関数作成手段１２を備え、マイクロコンピュータ１は移動指令を受取ると、加減速時間や送り速度を算出し、指令関数作成手段１２において指令関数を用いて位置指令の差分を作成し、その差分に基づいて位置制御部９では位置制御を行い、速度制御部１０では速度制御を行うようにしており、また、本実施例に係るサーボ制御方法は、加減速プロファイルを作成する時に指令関数を用いて行い、加速時間以内で加速、指令速度以上で指令速度とし移動量の残りが減速距離以下で減速とする指令を算出するようにしているので、指令に遅れがなく、負荷の機械振動や制御振動を抑えることができる。また、指令の遅れがないため、制御ゲインを上げ追従性を上げても、機械振動が発生し難いのである。
【産業上の利用可能性】
【００１２】
本発明は、速度や移動量などに応じて、ある時間ごとにサーボ制御装置の位置指令や速度指令を作成するマシンコントローラやＮＣのような装置やシステムにも適用可能である。
【図面の簡単な説明】
【００１３】
【図１】本発明のサーボ制御装置の制御ブロック図
【図２】本発明のサーボ制御方法における移動指令入力時の前処理方法を示すフローチャート
【図３】本発明のサーボ制御方法を示すフローチャート
【図４】本発明のサーボ制御方法で用いた指令関数の例を示す説明図
【図５】従来技術及び本発明に係るサーボ制御装置の概要を示す構成図
【図６】従来技術のサーボ制御装置を示す制御ブロック図
【符号の説明】
【００１４】
１  マイクロコンピュータ
２  電流アンプ
３  ベースドライブ回路  
４  パワートランジスタ
５  サーボモータ
６  エンコーダ
７  負荷
８  加減速プロファイル作成手段
９  位置制御部
１０  速度制御部
１１  積分部
１２  指令関数作成手段
【図１】
2006072598.tif 000003
【図２】
2006072598.tif 000004
【図３】
2006072598.tif 000005
【図４】
2006072598.tif 000006
【図５】
2006072598.tif 000007
【図６】
2006072598.tif 000008