(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024025191
(43)【公開日】2024-02-26
(54)【発明の名称】位置制御装置
(51)【国際特許分類】
G05D 3/12 20060101AFI20240216BHJP
H02P 29/00 20160101ALI20240216BHJP
【FI】
G05D3/12 305V
H02P29/00
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022128433
(22)【出願日】2022-08-10
(71)【出願人】
【識別番号】000149066
【氏名又は名称】オークマ株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】安藤 徹
【テーマコード(参考)】
5H303
5H501
【Fターム(参考)】
5H303CC03
5H303DD01
5H303FF03
5H303HH00
5H303JJ01
5H303KK01
5H303KK18
5H303KK21
5H501AA22
5H501DD01
5H501GG01
5H501GG03
5H501GG11
5H501JJ07
5H501JJ24
5H501JJ25
5H501LL01
5H501LL35
(57)【要約】
【課題】本発明は、スティックスリップを防止する位置制御装置を提供する。
【解決手段】位置制御装置は、速度制御部2に積分時定数を通知する積分時定数演算部5を備える。積分時定数演算部5は、関数発生停止状態において、積分時定数の値の切り替えが連続するスティックスリップが発生した場合には、位置偏差絶対値|ΔP|が切替閾値INPを減少方向に跨いでも前記積分時定数の値を切り替えず、前記位置偏差絶対値|ΔP|が前記切替閾値INPより小さい追加閾値INP1を減少方向に跨いだ際および前記切替閾値INPを増加方向に跨いだ際に前記積分時定数の値を切り替える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
制御対象システムを駆動するモータに対して、指令を行ない、制御対象の位置を制御する位置制御装置において、
位置指令値と前記制御対象の位置帰還とに基づき、位置制御を行なう位置制御部と、
速度指令値と前記制御対象の速度帰還とに基づき、速度制御を行なう速度制御部と、
前記速度制御部に積分時定数を通知する積分時定数演算部であって、前記制御対象の移動の停止指示を受けた状態である関数発生停止状態で、前記位置指令値と前記位置帰還との差である位置偏差の絶対値が、予め規定された切替閾値を跨いだ場合に、前記積分時定数の値を切り替える積分時定数演算部と、
を備え、
前記積分時定数演算部は、前記関数発生停止状態において、前記積分時定数の値の切り替えが連続するスティックスリップが発生した場合には、前記位置偏差の絶対値が前記切替閾値を減少方向に跨いでも前記積分時定数の値を切り替えず、前記位置偏差の絶対値が前記切替閾値より小さい追加閾値を減少方向に跨いだ際および前記切替閾値を増加方向に跨いだ際に前記積分時定数の値を切り替える、
ことを特徴とする位置制御装置。
【請求項2】
請求項1に記載の位置制御装置であって、
前記積分時定数演算部は、前記関数発生停止状態となった後、前記位置偏差の絶対値が、前記切替閾値以下になった後、再度、前記切替閾値超過となった場合に、前記スティックスリップが発生したと判断する、ことを特徴とする位置制御装置。
【請求項3】
請求項1に記載の位置制御装置であって、
前記積分時定数演算部は、前記追加閾値を、前記位置偏差の絶対値が前記切替閾値以下の状態で前記制御対象が静止したときの位置帰還と、前記位置偏差の絶対値が前記切替閾値超過の状態で前記制御対象が静止したときの位置帰還と、前記切替閾値と、に基づいて算出する、ことを特徴とする位置制御装置。
【請求項4】
請求項2に記載の位置制御装置であって、
前記積分時定数演算部は、前記追加閾値をINP1、前記位置偏差の絶対値が前記切替閾値以下の状態で前記制御対象が静止したときの位置帰還をP1、前記位置偏差の絶対値が前記切替閾値超過の状態で前記制御対象が静止したときの位置帰還をP2、前記切替閾値をINPとした場合、INP1=INP-|P1-P2|とする、ことを特徴とする位置制御装置。
【請求項5】
請求項1から4のいずれか1項に記載の位置制御装置であって、
前記積分時定数演算部は、前記位置偏差の絶対値が、前記追加閾値以下となった後、再度、前記切替閾値を超過した場合には、前記追加閾値の値をさらに小さい値に切り替える、ことを特徴とする位置制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーボモータを用いて工作機械等の送り軸を制御する位置制御装置に関するものである。
【背景技術】
【0002】
一般的に用いられる位置制御装置の構成と各種信号の流れに関して、
図5にて説明する。
【0003】
図示しない上位制御装置より、位置指令値P*が入力される。減算器56は、位置指令値P*から位置帰還Pを減算し、位置偏差ΔP(=P*-P)を算出する。位置帰還Pは、対象システム54の制御対象位置を検出した位置検出信号を示す。位置偏差ΔPは、位置制御部51にて、位置ループゲイン等により比例増幅されて速度指令値V*となる。減算器57は、速度指令値V*から速度帰還Vを減算し、速度偏差ΔV(=V*-V)を算出する。速度帰還Vは、サーボモータに結合された位置検出器(図示しない)の回転角位置の時間微分値、あるいはサーボモータに結合された速度検出器(図示しない)の出力である。
【0004】
積分時定数演算部55は、関数発生停止信号と位置偏差ΔPにより、積分時定数を算出し、速度制御部52へ通知する。
【0005】
速度制御部52は、速度偏差ΔVに対して、積分時定数演算部55から通知された積分時定数によりPI制御等を行ない、トルク指令値Tを算出する。トルク指令値Tは、変換部53にて対象システム54に対する発生トルクとなる。
【0006】
サーボモータを用いた工作機械等の送り軸の位置決め制御では、位置決め時にオーバーシュートが生じることを防止する方法として、位置偏差が「0」近傍になると、速度ループの積分器の値を減らしサーボモータの出力トルクを下げる方法が知られている。この出力トルクを下げる方法として、速度ループの積分器を完全積分と不完全積分にて切り替える、すなわち、積分時定数の切り替えを行なうことが広く用いられている。
【0007】
積分時定数は、通常、第一の積分時定数を使用する。一方、上位制御装置からの移動指令が「0」で、位置偏差が所定の値以下となった場合に限り、第二の積分時定数へ切り替えを行なう。なお、以下では、上位制御装置からの移動指令が「0」となることを「関数発生停止」と記載する。
【0008】
また、特許文献1では、サーボモータがその回転を停止する直前より、速度ループ処理の積分処理を不完全積分にし、通常のサーボモータの駆動中は上記速度ループ処理の積分処理を完全積分することが提案されている。かかる特許文献1の技術によれば、サーボ剛性が保持されるとともに、停止時にオーバーシュートを生じさせることは少なくなる。
【先行技術文献】
【特許文献】
【0009】
【発明の概要】
【発明が解決しようとする課題】
【0010】
積分処理にて、完全積分と不完全積分とを切り替える制御を採用する場合、上位制御装置からの関数発生停止後、位置偏差が所定の値以下となると、積分時定数の値を切り替える。積分時定数の切り替えの一例を
図7に示す。
図7にて、位置偏差ΔPの絶対値|ΔP|が、規定の切替閾値INP以下となると、積分時定数の値が第二の時定数G2となり、位置偏差絶対値|ΔP|が切替閾値INPより大きくなると、積分時定数の値が第一の時定数G1となる。
【0011】
ここで、位置偏差絶対値|ΔP|により、積分時定数を切り替えることで発生する現象について
図6を参照して説明する。目標値への位置決め動作にて、位置偏差絶対値|ΔP|が時刻t1において、切替閾値INP以下となると、時定数が第二の時定数G2に切り替わる。そして、これにより、積分値が徐々に小さくなる。その後、トルク指令値が摺動トルクを含めた外力未満となると、その位置を保持することができなくなる。その結果、時刻t2において、位置偏差絶対値|ΔP|が切替閾値INPより大きくなり、積分時定数が第一の時定数G1へ切り替わる。第一の時定数G1に切り替わったことで、積分値とトルク指令値が徐々に大きくなり、摺動トルクを含めた外力を越えると目標値への動作を開始する。そして、時刻t3において、位置偏差絶対値|ΔP|が切替閾値INP以下となると、第二の時定数G2へ再度切り替わることになる。以降、同様の処理が繰り返され、対象物の移動と停止が交互に生じるスティックスリップが発生することになる。なお、
図6でのG1、G2は、
図7に示されるように積分時定数を切り替えた場合に、使用されている時定数の値を示す。
【0012】
以上のように、従来の技術では、積分時定数の切り替えを繰り返し行なうことになり、その結果として、スティックスリップが発生することになる。
【課題を解決するための手段】
【0013】
本明細書で開示する位置制御装置は、制御対象システムを駆動するモータに対して、指令を行ない、制御対象の位置を制御する位置制御装置において、位置指令値と前記制御対象の位置帰還とに基づき、位置制御を行なう位置制御部と、速度指令値と前記制御対象の速度帰還とに基づき、速度制御を行なう速度制御部と、前記速度制御部に積分時定数を通知する積分時定数演算部であって、前記制御対象の移動の停止指示を受けた状態である関数発生停止状態で、前記位置指令値と前記位置帰還との差である位置偏差の絶対値が、予め規定された切替閾値を跨いだ場合に、前記積分時定数の値を切り替える積分時定数演算部と、を備え、前記積分時定数演算部は、前記関数発生停止状態において、前記積分時定数の値の切り替えが連続するスティックスリップが発生した場合には、前記位置偏差の絶対値が前記切替閾値を減少方向に跨いでも前記積分時定数の値を切り替えず、前記位置偏差の絶対値が前記切替閾値より小さい追加閾値を減少方向に跨いだ際および前記切替閾値を増加方向に跨いだ際に前記積分時定数の値を切り替える、ことを特徴とする。
【発明の効果】
【0014】
積分時定数を切り替えるための閾値を新たに追加し、積分時定数の切り替え時に、ヒステリシスを設けることで、位置決め時のオーバーシュートを抑えつつ、スティックスリップを防止し、安定した制御を行なうことができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の一実施形態の位置制御装置の構成と各種信号の流れを示す図である。
【
図2】本発明の一実施形態の位置制御装置における速度制御部の構成の詳細を示す図である。
【
図3】本発明における位置決め時の制御対象の位置の挙動を示す図である。
【
図4】本発明における積分時定数切り替え方法を示す図である。
【
図5】従来の積分時定数を切り替える方式による位置制御装置の構成と各種信号の流れを示す図である。
【
図6】従来の方法による位置決め時の制御対象の位置の挙動を示す図である。
【
図7】従来の方法による積分時定数切り替え方法を示す図である。
【発明を実施するための形態】
【0016】
図1は、本発明の実施例の位置制御装置の構成と各種信号の流れの一例を示す図であり、
図2は、速度制御部2の構成の詳細を示す図である。
【0017】
図1により、本発明の実施例の位置制御装置の構成と各種信号の流れについて説明する。位置制御装置には、図示しない上位制御装置より、位置指令値P*が入力される。減算器11は、位置指令値P*から位置帰還Pを減算し、位置偏差ΔP(=P*-P)を算出する。位置帰還Pは、対象システム4の制御対象位置を検出した位置検出信号を示す。位置偏差ΔPは、位置制御部1にて位置ループゲイン等により比例増幅されて速度指令値V*となる。減算器12は、速度指令値V*から速度帰還Vを減算し、速度偏差ΔV(=V*-V)を算出する。速度帰還Vは、サーボモータに結合された位置検出器(図示しない)の回転角位置の時間微分値、あるいはサーボモータに結合された速度検出器(図示しない)の出力である。
【0018】
積分時定数演算部5は、判定部6と補正部7と算出部8とを備える。積分時定数演算部5は、図示しない上位制御装置から通知される関数発生停止信号と位置偏差ΔPと位置帰還Pとに基づき、速度制御部2に積分時定数を通知する。ここで、関数発生停止信号は、図示しない上位制御装置から通知されるように記載したが、上位制御装置からの移動指令、または、位置指令値P*からオン・オフを判定するようにすることも可能である。
【0019】
判定部6は、関数発生停止信号と位置帰還Pとから積分時定数を切り替えるための閾値を追加するか否かを判定し、算出部8に通知する。なお、位置帰還Pは、対象システム4の制御対象位置を検出した位置検出信号である。また、補正部7は、算出部8からの切替閾値に基づき、位置偏差ΔPに対し、補正した位置偏差ΔPCを算出し、位置偏差ΔPとともに算出部8へ通知する。ここで、補正を行なわない場合には、ΔPC=ΔPとなる。さらに、算出部8は、判定部6から通知された閾値と補正部7から通知された位置偏差ΔPCとに基づき、積分時定数を算出する。
【0020】
速度制御部2は、速度偏差ΔVに対して、積分時定数演算部5から通知された積分時定数によりPI制御等を行ない、トルク指令値Tを算出する。トルク指令値Tは、変換部3にて対象システム4に対する発生トルクとなる。
【0021】
次に、
図2にて速度制御部2について説明する。増幅器21は、速度偏差ΔVを速度ループゲインQにて比例増幅するものである。また、積分演算部27は、速度偏差ΔVから積分成分を算出する。ここで、積分演算部27において、増幅器22は、速度偏差ΔVを速度ループゲインIにて比例増幅する。加算器25は、積分成分の前回値24と、増幅器22の出力値と、を加算する。加算器25の出力値は、積分時定数Gと乗算される。加算器26は、加算器25の出力値、すなわち、積分演算部27の出力値と、比例増幅された比例成分とを、加算した値を、トルク指令値Tとして出力する。また、積分時定数Gは、積分時定数演算部5から通知された積分時定数である。
【0022】
次に、積分時定数演算部5を構成している判定部6と補正部7と算出部8について説明する。判定部6は、スティックスリップの発生の有無を判定する。具体的には、判定部6は、関数発生停止信号から関数発生停止を確認し、位置偏差絶対値|ΔP|が切替閾値INP以下になった後、再度、切替閾値INP超過となった場合に、スティックスリップが発生したと判定する。スティックスリップが発生したと判定した場合、判定部6は、さらに、後述する位置帰還P1と位置帰還P2の差分ΔX(=P1-P2)から、追加閾値INP1を下記式にて算出し、算出部8へ通知する。
INP1=INP-|ΔX|・・・(式1)
【0023】
図3は、スティックスリップ発生時、追加閾値INP1を追加した場合の位置決め時の制御対象の位置の挙動の一例を示す図である。
【0024】
位置帰還P1は、位置偏差絶対値|ΔP|が切替閾値INP以下の状態で制御対象が静止したときの位置帰還を示し、位置帰還P2は、位置偏差絶対値|ΔP|が切替閾値INP超過で制御対象が静止したときの位置帰還を示す。また、
図3におけるG1、G2は、
図4に示されるように積分時定数を切り替えた場合に、使用されている時定数の値を示す。
【0025】
ここで、|ΔX|が大きく、追加閾値INP1が負の値となる場合には、追加閾値INP1と位置指令値P*の関係が逆転するため、位置指令値P*を補正する必要がある。
【0026】
補正部7では、追加閾値INP1が正の値の場合、補正を行なわないので、ΔPC=ΔPとなる。追加閾値INP1が負の値となる場合、追加閾値INP1と位置指令値P*の関係が逆転しないように、比例定数K(K>1)を用いて、位置指令値P*をK×(|ΔX|-INP)分だけ補正するため、下記式に基づき、位置偏差ΔPに対して、補正を行なった位置偏差ΔPCを算出し、位置偏差ΔPとともに算出部8へ通知する。
ΔPC=P*+SGN(ΔX)×K×(|ΔX|-INP)-P
=ΔP+SGN(ΔX)×K×(|ΔX|-INP)・・・(式2)
式2にて、SGN(ΔX)は符号関数であり、以下の値となる。
SGN(ΔX)= 1(ΔX>0)
0(ΔX=0)
-1(ΔX<0)
【0027】
位置指令値P*の補正を行なう場合、切替閾値INPと追加閾値INP1は、位置指令値P*の補正分だけ、下記式にて補正を行なう。
INPC=INP+K×(|ΔX|-INP)・・・(式3)
INP1C=INP1+K×(|ΔX|-INP)・・・(式4)
【0028】
また、INP1Cは、(式1)を用いると、下記式となり、K>1、(|ΔX|-INP)>0であることから、正の値に補正される。
INP1C=INP-|ΔX|+K×(|ΔX|-INP)
=(K-1)(|ΔX|-INP)・・・(式5)
【0029】
ここで、
図3にて示すような位置決めの場合、位置指令値P*に対して、補正を行なった場合、
図4での|ΔP|、INP、INP1をそれぞれ|ΔPC|、INPC、INP1Cに読み替えて、積分時定数の切り替えを行なうことになる。換言すれば、補正部7は、INP1<0の場合には、|ΔPC|、INPC、INP1Cが、|ΔP|、INP、INP1に比べて、K×(|ΔX|-INP)だけ増加するように補正する。
【0030】
また、位置制御部1に入力される位置偏差ΔPは、INP1と位置指令値P*の関係が逆転しないように、補正部7から通知された位置偏差ΔPCを使用することになる。
【0031】
算出部8では、判定部6から通知された閾値INP1と補正部7から通知された位置偏差ΔPCとから、
図4に基づき、積分時定数Gを算出し、速度制御部2へ通知する。
【0032】
図4は、追加閾値INP1を追加した場合における積分時定数切り替え方法を示す図であり、位置偏差絶対値|ΔP|と積分時定数Gとの関係の一例を示している。
【0033】
図4に示すように、積分時定数Gは、通常、第一の積分時定数G1を使用しているが、関数発生停止状態で位置偏差絶対値|ΔP|が徐々に小さくなる。そして、|ΔP|が追加閾値INP1以下となると、第二の積分時定数G2への切り替えを行なう。また、第二の積分時定数G2への切り替え後、外力等により、位置偏差絶対値|ΔP|が大きくなり、位置偏差絶対値|ΔP|が切替閾値INP超過となると、積分時定数Gを第二の積分時定数G2から第一の積分時定数G1への切り替えを行なう。一方で、位置偏差絶対値|ΔP|が減少過程で切替閾値INPを跨ぐ、あるいは、位置偏差絶対値|ΔP|が増加過程で追加閾値INP1を跨いでも、積分時定数Gは切り替えない。つまり、位置偏差絶対値|ΔP|がINP1からINPの範囲内の場合、位置偏差|ΔP|の増減の方向性に応じて、積分時定数Gは、複数の値(G1またはG2)を持つことになる。すなわち、積分時定数Gは、ヒステリシスを設けて、切り替えを行なうことになる。
【0034】
図3は、追加閾値INP1を設定した場合における制御対象の位置の挙動の一例を示す図である。
図3に示すように、関数発生停止状態になった後、時刻t1において、|ΔP|≦INPとなるため、時刻t1において、時定数が第二の積分時定数G2に切り替わる。また、その後、時刻t2において、|ΔP|>INPとなるため、時刻t2において、時定数が第一の積分時定数G1に切り替わる。また、時刻t1において|ΔP|≦INP以下になった後、時刻t2で|ΔP|>INPとなったため、判定部6は、スティックスリップが発生したと判定する。そして、この場合、判定部6は、時定数切替のための閾値として、通常の切替閾値INPに加え、追加閾値INP1を設定する。そのため、時刻t2以降は、|ΔP|≦INPとなっても時定数を切り替えず、|ΔP|≦INP1となってから時定数を切り替える。
図3の例では、時刻t3において、時定数が、第一の積分時定数G1から第二の積分時定数G2に切り替わる。そして、かかる構成とすることで、
図3に示すように、位置偏差絶対値|ΔP|が、切替閾値INPを越えることを抑制でき、スティックスリップを防止できる。
【0035】
ここで、追加閾値INP1は、関数発生停止信号がオフ、すなわち、関数発生が開始されると、削除され、同時に位置偏差ΔPCは、補正前の位置偏差ΔPとなり、
図7に従って、積分時定数の切り替えを行なうことになる。
【0036】
また、追加閾値INP1を追加した後も、位置帰還Pが安定せず、位置偏差絶対値|ΔP|が切替閾値INP以下とならず、スティックスリップが発生した場合、再度、追加閾値INP1を更新することも可能である。この場合、更新後の追加閾値INP1は、更新前の追加閾値INP1よりも、さらに、小さい値となる。
【0037】
このように、追加閾値INP1を追加して積分時定数Gを切り替えることで、位置帰還Pは、
図3に示すような挙動となる。すなわち、スティックスリップを起こさずに、|ΔP|<INPの状態で、位置決めが可能となる。また、最終的な位置決めの前にトルクが減少して位置決めするため、対象システムのねじれ分が解消され、制御上安定した状態となる。
【0038】
上記実施例では、|ΔX|が大きく、INP1が負の値となる場合には、INP1と位置指令値P*の関係が逆転するため、位置偏差ΔPを内部的に補正した値に変更すると記載したが、INP1が負の値でなく、
図4に示されるように積分時定数を切り替えても位置帰還PがINP内とならない場合には、位置偏差ΔPを内部的に補正した値に変更することも可能である。
【符号の説明】
【0039】
1,51 位置制御部
2,52 速度制御部
3,53 変換部
4,54 対象システム
5,55 積分時定数演算部
6 判定部
7 補正部
8 算出部
11,12,56,57 減算器
21,22 増幅器
23 積分時定数
24 積分成分前回値
25,26 加算器
27 積分演算部