(57)【要約】【課題】現在速度と減速度により算出した停止までに要する減速移動距離と、現在位置から目標位置までの残移動距離とを一致させる為の位置決め移動量の端数処理に起因する機械振動や揺れが位置決め時に発生するのを防止する位置指令作成方法を提供する。【解決手段】減速開始を検知し（ステップＳＴ３）、位置決め移動量の端数を算出して小数部も含めて減速回数で均等に分割し（ステップＳＴ４）、現在の指令速度から減速度を差し引いて次の単位時間の指令速度を算出してこれを位置指令の差分とし（ステップＳＴ５）、前記位置指令の差分に前記均等に分割した位置決め移動量の端数を加算して、次の単位時間の位置指令の差分とする（ステップＳＴ６）。【選択図】    図１
2005165905.tif 000002
【特許請求の範囲】
【請求項１】
位置指令発生手段を有し、送り速度、移動量および加減速時間、または送り速度、移動量および加減速度に応じて単位時間毎に位置指令を作成するサーボ制御装置の位置指令作成方法において、
減速開始を検知し、
位置決め移動量の端数を算出し、
前記位置決め移動量の端数を小数部も含めて減速制御回数で均等に分割し、
現在の指令速度から減速度を差し引いて次の単位時間の指令速度を算出してこれを位置指令の差分とし、
前記位置指令の差分に前記均等に分割した位置決め移動量の端数を加算して次の単位時間の位置指令の差分とすることを特徴とする位置指令作成方法。
【請求項２】
請求項１記載の位置指令作成方法において、
前記位置決め移動量の端数を小数部も含めて減速制御回数で均等に分割した後、
前記均等に分割した位置決め移動量の端数と予め設定された数値との大小を判別し、
前記均等に分割した位置決め移動量の端数の方が大きい場合は、送り速度付近の指令速度で前記位置決め移動量の全ての端数処理を１回で行うことを特徴とする位置指令作成方法。
【請求項３】
位置指令発生手段を有し、送り速度、移動量および加減速時間、または送り速度、移動量および加減速度に応じて単位時間毎に位置指令を作成するサーボ制御装置の位置指令作成方法において、
位置決め移動量の端数を算出し、
前記位置決め移動量の端数と送り速度の半分とを大小比較し、
前記位置決め移動量の端数が前記送り速度の半分より大きい場合は減速の最初の１回で位置決め移動量の端数処理をおこない、
前記位置決め移動量の端数が前記送り速度の半分より小さい場合は、１回前の指令速度と前記位置決め移動量の端数を加算した値を平均して２回に分けた値を指令速度とすることを特徴とする位置指令作成方法。
【請求項４】
位置指令発生手段を有し、送り速度、移動量および加減速時間、または送り速度、移動量および加減速度に応じて単位時間毎に位置指令を作成するサーボ制御装置の位置指令作成方法において、
予め移動量および送り速度から位置決め移動量の端数を算出し、
加速中に１回で前記位置決め移動量の端数処理を行うことを特徴とする位置指令作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置指令発生手段を有し、送り速度や移動量などに応じて単位時間ごとに位置指令を作成するサーボ制御装置の位置指令作成方法に関し、特に位置決め移動量の端数処理に係る位置指令作成方法に関する。
【背景技術】
【０００２】
図９は従来技術及び本発明の対象となるサーボ制御装置の構成を示す説明図である。
図９において、１はマイクロコンピュータ、２は電流アンプ、３はベースドライブ回路、４はパワートランジスタ、５はサーボモータ、６はエンコーダ、７は負荷である。
サーボ制御装置は、制御対象であるサーボモータ５とサーボモータ５に機械的に結合した負荷７と、サーボモータ５の位置を検出するエンコーダ６と、サーボモータ５を駆動するドライバとを備えて構成されている。また、ドライバはマイクロコンピュータ１と電流アンプ２と、ベースドライブ回路３と、ベースドライブ回路３により駆動されるパワートランジスタ４を備えている。
図１０は従来技術及び本発明の対象となるサーボ制御装置の制御ブロック図である。
図１０において、８は加減速プロファイルを作成する位置指令発生手段、９は位置制御部、１０は速度制御部、１１はサーボモータ５の伝達関数、１２は積分である。また、図１０中のＰｒｅｆは位置指令、ωは速度、θは位置、Ｋｐは位置ループゲイン、Ｋｖは速度ループゲインである。
以上のように構成されたサーボ制御装置において、その動作を図９および図１０を用いて説明する。
マイクロコンピュータ１は移動指令や送り速度を外部のコントローラ等から受取ると、位置指令発生手段８において、移動指令や送り速度および加減速時間から加減速プロファイルを作り単位時間毎（サンプリング時間毎）の位置指令を作成する。この位置指令からエンコーダ６からの位置フィードバックθを減算し、位置制御部９では減算結果である位置偏差に位置ループゲインＫｐを掛けて位置制御を行う。次に位置制御部の出力である速度指令から位置フィードバックθの時間微分または差分に基づく速度フィードバックωを減算し、速度制御部１０では、その減算結果である速度偏差に速度ループゲインＫｖをかけて速度制御を行う。そしてその出力の電流指令や電流制御の出力でベースドライブ駆動回路３を通して、パワートランジスタ４を駆動してモータ５を制御する。
このようなサーボ制御装置の位置指令作成方法においては、現在の速度と所定の減速度とから算出される停止するまでに必要な減速移動距離と、現在の位置から目標位置までの残移動距離とが一致することは少なく、これら減速移動距離と残移動距離との間に端数が生じる。
この位置決め移動量の端数処理の方法として、従来技術では、送り速度、移動量および加減速時間、または送り速度、移動量および加減速度から直線の加減速を付けたプロファイルを指令作成関数で作り単位時間毎の位置指令を作成し、移動量に応じて減速途中１回で位置決め移動量の端数を処理していた。
図１１は従来の位置決め移動量の端数処理の指令速度を示す説明図である。図１１において、縦軸は指令速度を、横軸は時間を示している。一定速度の部分が送り速度である。
図１１に示す台形部分内部の面積が移動距離であり、減速途中に位置決め移動量の端数を１回だけ処理して、すなわち、位置決め移動量の端数の分だけ面積を増やして、減速移動距離と残移動距離が一致するようにしていた。
しかしながら従来の方法では、指令速度が終了間際に変化するため、応答性の良いサーボモータや高剛性の機械では、この変化に追従して位置決めの際に振動や揺れが発生していた。  
一方、加減速レートを変えることにより機械への衝撃等を和らげることが考えられてきた（例えば、特許文献１を参照）。
【特許文献１】特開２００１−１２９７９０号公報（第２〜３頁）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
前述のように、従来技術では、指令速度が終了間際に変化するため、応答性の良いサーボモータや剛性が強い機械の場合は指令の変化に追従してしまい、位置決め時に機械の振動や揺れが発生するという問題があった。  
また、特許文献１のように変則曲線指令にすることにより加減速時の衝撃は和らげられるが、この場合においても、指令速度が終了する間際に位置決め移動量の端数を１回だけ処理することに起因した機械の振動は防げないという問題があった。  
本発明は、このような問題点に鑑みてなされたものであり、位置決めの終了間際における位置決め移動量の端数処理に起因した指令速度の変化を防止し、位置決め時の機械の振動や揺れの発生を防止する位置指令作成方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明の請求項１記載の位置指令作成方法は、位置指令発生手段を有し、送り速度、移動量および加減速時間、または送り速度、移動量および加減速度に応じて単位時間毎に位置指令を作成するサーボ制御装置の位置指令作成方法において、減速開始を検知し、位置決め移動量の端数を算出し、前記位置決め移動量の端数を小数部も含めて減速制御回数で均等に分割し、現在の指令速度から減速度を差し引いて次の単位時間の指令速度を算出してこれを位置指令の差分とし、前記位置指令の差分に前記均等に分割した位置決め移動量の端数を加算して次の単位時間の位置指令の差分とすることを特徴としている。
また、本発明の請求項２記載の位置指令作成方法は、請求項１記載の位置指令作成方法において、前記位置決め移動量の端数を小数部も含めて減速制御回数で均等に分割した後、前記均等に分割した位置決め移動量の端数と予め設定された数値との大小を判別し、前記均等に分割した位置決め移動量の端数の方が大きい場合は、送り速度付近の指令速度で前記位置決め移動量の全ての端数処理を１回で行うことを特徴としている。
また、本発明の請求項３記載の位置指令作成方法は、位置指令発生手段を有し、送り速度、移動量および加減速時間、または送り速度、移動量および加減速度に応じて単位時間毎に位置指令を作成するサーボ制御装置の位置指令作成方法において、位置決め移動量の端数を算出し、前記位置決め移動量の端数と送り速度の半分とを大小比較し、前記位置決め移動量の端数が前記送り速度の半分より大きい場合は減速の最初に１回で位置決め移動量の端数処理をおこない、前記位置決め移動量の端数が前記送り速度の半分より小さい場合は、１回前の指令速度と前記位置決め移動量の端数を加算した値を平均して２回に分けた値を指令速度とすることを特徴している。
また、本発明の請求項４記載の位置指令作成方法は、位置指令発生手段を有し、送り速度、移動量および加減速時間、または送り速度、移動量および加減速度に応じて単位時間毎に位置指令を作成するサーボ制御装置の位置指令作成方法において、予め移動量および送り速度から位置決め移動量の端数を算出し、加速中に１回で前記位置決め移動量の端数処理を行うことを特徴としている。
以上述べたように、位置決め移動量の端数処理が原因で位置決めの終了間際に指令速度が変化しないようにするため、本発明の請求項１記載の位置指令作成方法は、位置決め移動量の端数を減速時に完全に端数の小数部も含めて分割して処理するようにしたものであり、本発明の請求項２および３記載の位置指令作成方法は、加速度は多少変化しても良く位置決め移動量の端数処理は位置決めの終了間際でなければ良いので減速の最初の方に持ってくるようにしたものであり、本発明の請求項４記載の位置指令作成方法は位置決め移動量の端数処理を加速に持ってきたものである。
【発明の効果】
【０００５】
本発明の請求項１記載の位置指令作成方法は、減速移動距離と残移動距離の移動量を合わせるために位置決め移動量の端数を減速中に小数部も含め完全に均等に分割して順次減速指令に加算しているので、位置指令終了直前に位置決め移動量の端数処理のための指令速度の変動がないので、位置決め時の機械の揺れを防ぐことができ、滑らかに位置決めができるという効果がある。
また、本発明の請求項２記載の位置指令作成方法によれば、減速度が大きく、かつ位置決め移動量の端数が大きい場合でも、指令速度の大きな速度で処理しているおり、位置指令終了直前に位置決め移動量の端数処理のための指令速度の変動がないので、位置決め時の機械の揺れを防ぐことができ、滑らかに位置決めができるという効果がある。
また、本発明の請求項３記載の位置指令作成方法によれば、減速度が大きく、かつ位置決め移動量の端数が小さい場合でも、送り速度の半分以上の大きな速度で処理しており、位置指令終了直前に位置決め移動量の端数処理のための指令速度の変動がないので、位置決め時の機械の揺れを防ぐことができ、滑らかに位置決めができるという効果がある。
また、本発明の請求項４記載の位置指令作成方法によれば、加速中に１回で位置決め移動量の端数処理をしているので、位置指令終了直前に位置決め移動量の端数処理のための指令の変動がないので、位置決め時の機械の揺れを防ぐことができ、滑らかに位置決めができるという効果がある。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の具体的実施例について、図に基づいて説明する。なお、本発明の対象となるサーボ制御装置の構成は、従来例で示した図９および図１０と同じであるため、その説明を省略する。
【実施例１】
【０００７】
図１は本発明の第１実施例を示す位置指令作成方法を説明するためのフローチャートである。
本発明の特徴は以下のとおりである。
図１において、サンプリング時間毎に位置指令の作成を開始し、現在の位置から目標位置までの移動量の残り距離（残移動距離）が、現在の速度と所定の減速度とから求められる減速開始から停止までに必要な減速移動距離以下か判断する（ステップＳＴ１）。減速移動距離を超える場合は、送り速度を超えているかを判断し（ステップＳＴ７）、送り速度未満の場合は加速処理に進む（ステップＳＴ８）。次に、現在の指令速度に加速度を加算して指令速度を算出する。これを次のサンプリング時間での位置指令の差分とする。また位置指令の差分を現在の移動距離に加算することにより、その指令速度での減速移動距離を算出する（ステップＳＴ９）。これは次のサンプリング時間における、ステップＳＴ１での残移動距離と減速移動距離の比較判断の為に行う。  
ステップＳＴ７で送り速度以上の場合は、定速処理に進む（ステップＳＴ１０）。定速処理では、指令速度に少数部を持つ場合、指令速度の端数を加算して処理し、指令速度を算出する。例えばＸＸ．５（ここでＸは数字）の場合、指令速度の端数も０．５相当にして、桁の上がる２回に１回「１」を加算して出力する（ステップＳＴ１１）。  定速処理はサンプリング時間毎に繰り返し、ステップＳＴ１で残移動距離が減速移動距離以下になると減速処理に移る。
ステップＳＴ１で、減速移動距離以下の場合は減速処理に進む（ステップＳＴ２）。
次に、減速開始かすでに減速中か判別する（ステップＳＴ３）。減速開始の時にフラグを立てておけば容易に判別が可能である。減速開始の場合のみ（すなわち１回のみ）位置決め移動量の減速時の端数を算出し、それを小数部も含めて減速制御回数で均等に分割する（ステップＳＴ４）。ここで、位置決め移動量の減速時の端数とは、残移動距離から送り速度と所定の減速度とから求められる減速移動距離を差し引き、送り速度を加算したものであり、減速制御回数とは送り速度を減速度で割った回数である。ステップＳＴ３で、既に減速中の場合は、ステップＳＴ４の位置決め移動量の減速時の端数算出を行わず次のステップＳＴ５に進む。現在の指令速度から減速度を差し引いて次のサンプリング時間での指令速度を算出し、これを位置指令の差分とする（ステップＳＴ５）。この位置指令の差分に、ステップＳＴ４で算出した均等に分割した位置決め移動量の減速時の端数を加算する（ステップＳＴ６）。これが最終的に次のサンプリング時間での位置指令の差分となる。このようにして位置決め移動量の端数は減速時に等分されるので、指令が終了間際に変化しないので滑らかに位置決めができる。
図２は第１実施例の減速時に位置決め移動量の端数を均等に分割して処理した場合の指令速度を示す説明図である。
従来の位置決め移動量の端数処理の指令速度を示す説明図（図１１）のような減速途中に位置決め移動量の端数の分だけ面積を増やしたことによる段差は無く、減速中に位置決め移動量の端数を分割して処理されている。図２中において、ｔａは加速時間、ｔｂは減速時間を示す。図２のｔａの部分はフローチャート図１の加速処理でありステップＳＴ７〜９、ｔｂの部分が減速処理でステップＳＴ２〜６、指令速度が送り速度の部分が定速処理でステップＳＴ１０、１１である。
以上述べたように第１実施例では、指令が位置決めの終了間際に変化しないように位置決め移動量の端数を完全に分割するため、端数の小数部も含めて処理を行っている。また、減速の１回目から最後迄、指令速度は（指令速度＝  指令速度  −  減速度  ＋  位置決め移動量の端数／減速回数）であり、加算桁上げができるので小数点以下の細かい加減速ができる。なお、減速回数は伸びない。本実施例では加減速度が同じ例で説明したが、加速度と減速度が異なる場合も同様である。
【実施例２】
【０００８】
次に、本発明の第２実施例について説明する。  
図３は本発明の第２実施例を示す位置指令作成方法を説明するためのフローチャートである。
図１と同じステップＳＴ番号は同じ内容を示している。従って、図１と同じ部分の説明は省略する。第１実施例との相違は、前述の図１のフローチャートのステップＳＴ４で算出した均等に分割した位置決め移動量の端数が大きい場合は、位置決め移動量の端数を１回で指令速度付近で処理する部分であり、ステップＳＴ４１〜４５の部分である。
すなわち、減速開始かすでに減速中か判別し（ステップＳＴ３）、減速開始の場合のみ位置決め移動量の端数を算出し、それを減速回数に等分する。（ステップＳＴ４）。
前記均等に分割した位置決め移動量の端数と予め設定された数値との大小を判別し（ステップＳＴ４１）、前記均等に分割した位置決め移動量の端数の方が大きい場合は、減速の最初に１回で前記位置決め移動量の全ての端数を処理、すなわち、現在指令速度から減速度を差し引いて指令速度を算出し、これを位置指令の差分とし（ステップＳＴ４２）、次にステップＳＴ４２で算出した位置指令の差分にステップＳＴ４で算出した位置決め移動量の端数の全てを加算する（ステップＳＴ４３）。
ステップＳＴ３ですでに減速中の場合は、ステップＳＴ４３の処理を行ったか判断し（ステップＳＴ４４）、処理を行っていれば、現在指令速度から減速度を差し引いて指令速度を算出し、これを位置指令の差分とし（ステップＳＴ４５）、処理を行っていなければ図１と同じく、現在指令速度から減速度を差し引いて指令速度を算出し、これを位置指令の差分とする（ステップＳＴ５）。次にステップＳＴ５で算出した位置指令の差分にステップＳＴ４で算出した位置決め移動量の端数の等分を加算する（ステップＳＴ６）。
図４は、第２実施例の減速時に位置決め移動量の端数を送り速度付近で処理した場合の指令速度を示す説明図である。指令速度の大きな速度で処理しているので、位置決め完了直前に位置決め移動量の端数処理のための指令の変動がないので、位置決め時の機械の揺れを防ぐことができ、滑らかに位置決めできる。
【実施例３】
【０００９】
次に、本発明の第３実施例について説明する。
図５は本発明の第３実施例を示す位置指令作成方法を説明するためのフローチャートである。
第３実施例が第１実施例および第２実施例と異なる点は、位置決め移動量の端数が大きい場合はそのまま端数処理して、小さい場合は１回前の指令速度と加算して平均して２回に分けて処理する点である。
具体的に説明すると、減速開始かすでに減速中か判別し（ステップＳＴ５１）、減速中の場合は現在指令速度から減速度を差し引いて指令速度を算出する（ステップＳＴ５７）。減速開始の場合は位置決め移動量の減速時の端数を算出する（ステップＳＴ５２）。
位置決め移動量の減速時の端数と送り速度の半分との大小を判別し（ステップＳＴ５３）、前記位置決め移動量の減速時の端数の方が大きい場合は、減速の最初に１回で前記位置決め移動量の減速時の端数を処理、すなわち、現在指令速度から減速度を差し引いて指令速度を算出し、これを位置指令の差分とし（ステップＳＴ５４）、次にステップＳＴ５４で算出した位置指令の差分にステップＳＴ５３で算出した位置決め移動量の減速時の端数を加算する（ステップＳＴ５５）。ステップ５３で前記位置決め移動量の減速時の端数の方が小さい場合は、１回前の指令速度と加算して平均して２回に分けて指令速度とする（ステップＳＴ５６）。すると１回分の指令速度は、必ず送り速度の１／２以上となる。
図６は、第３実施例の減速時に位置決め移動量の端数が小さい場合、１回前の指令速度と加算して分割して指令速度付近に持ってきた場合の指令速度を示す説明図である。減速度が大きく位置決め移動量の端数が小さい場合でも、送り速度の半分以上の大きな速度で処理しているので、位置決め完了直前に位置決め移動量の端数処理のための指令の変動がないので位置決め時の機械の揺れを防ぐことができ、滑らかに位置決めできる
【実施例４】
【００１０】
次に、本発明の第４実施例について説明する。
図７は本発明の第４実施例を示す位置指令作成方法を説明するためのフローチャートである。
第４実施例が第１実施例〜第３実施例と異なる点は、あらかじめ送り速度、移動量および加減速時間、または送り速度、移動量および加減速度から位置決め移動量の端数を算出し、その端数を加速時に処理する点である。
具体的に説明すると、先ず加速度から速度を加算しながら距離を算出し（ステップＳＴ８１）、定められた移動量を超えない範囲で加速、定速、減速の移動距離の算出を行う（ステップＳＴ８２）。そして移動量から加速＋定速＋減速の距離を差し引いて位置決め移動量の端数を算出する（ステップＳＴ８３）。そして、位置決め移動量の端数を加速の途中に１回で処理する（ステップＳＴ８４）。
図８は、第４実施例の位置決め移動量の端数を加速時に処理した場合の指令速度を示す説明図である。加速中に１回で前記位置決め移動量の端数処理をしており、位置決め完了直前に位置決め移動量の端数処理のための指令の変動がないので、位置決め後の機械の揺れを防ぐことができ滑らかな位置決めができる。
【産業上の利用可能性】
【００１１】
速度や移動量などに応じて、ある時間ごとにサーボ制御装置の位置指令を作成するマシンコントローラやＮＣのような装置やシステムに適用できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施例を示す位置指令作成方法を説明するためのフローチャートである。
【図２】第１実施例の減速時に位置決め移動量の端数を均等に分割して処理した場合の指令速度を示す説明図である。
【図３】本発明の第２実施例を示す位置指令作成方法を説明するためのフローチャートである。
【図４】第２実施例の減速時に位置決め移動量の端数を送り速度付近で処理した場合の指令速度を示す説明図である。
【図５】本発明の第３実施例を示す位置指令作成方法を説明するためのフローチャートである。
【図６】第３実施例の減速時に位置決め移動量の端数が小さい場合、１回前の指令速度と加算して分割して指令速度付近に持ってきた場合の指令速度を示す説明図である。
【図７】本発明の第４実施例を示す位置指令作成方法を説明するためのフローチャートである。
【図８】第４実施例の位置決め移動量の端数を加速時に処理した場合の指令速度を示す説明図である。
【図９】従来技術及び本発明の対象となるサーボ制御装置の構成を示す説明図である。
【図１０】従来技術及び本発明の対象となるサーボ制御装置の制御ブロック図である。
【図１１】従来の位置決め移動量の端数処理の指令速度を示す説明図である。
【符号の説明】
【００１３】
１  マイクロコンピュータ
２  電流アンプ
３  ベースドライブ回路  
４  パワートランジスタ
５  モータ
６  エンコーダ
７  負荷
８  位置指令発生手段
９  位置制御部
１０  速度制御部
１１  サーボモータ５の伝達関数
１２  積分
【図１】
2005165905.tif 000003
【図２】
2005165905.tif 000004
【図３】
2005165905.tif 000005
【図４】
2005165905.tif 000006
【図５】
2005165905.tif 000007
【図６】
2005165905.tif 000008
【図７】
2005165905.tif 000009
【図８】
2005165905.tif 000010
【図９】
2005165905.tif 000011
【図１０】
2005165905.tif 000012
【図１１】
2005165905.tif 000013