IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許7518278調整支援装置、制御システム及び調整支援方法
<>
  • 特許-調整支援装置、制御システム及び調整支援方法 図1
  • 特許-調整支援装置、制御システム及び調整支援方法 図2
  • 特許-調整支援装置、制御システム及び調整支援方法 図3
  • 特許-調整支援装置、制御システム及び調整支援方法 図4
  • 特許-調整支援装置、制御システム及び調整支援方法 図5
  • 特許-調整支援装置、制御システム及び調整支援方法 図6
  • 特許-調整支援装置、制御システム及び調整支援方法 図7
  • 特許-調整支援装置、制御システム及び調整支援方法 図8
  • 特許-調整支援装置、制御システム及び調整支援方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】調整支援装置、制御システム及び調整支援方法
(51)【国際特許分類】
   G05B 13/04 20060101AFI20240709BHJP
   G05B 11/32 20060101ALI20240709BHJP
   G05B 19/4155 20060101ALI20240709BHJP
   G05B 13/02 20060101ALI20240709BHJP
【FI】
G05B13/04
G05B11/32 F
G05B19/4155 V
G05B13/02 L
【請求項の数】 7
(21)【出願番号】P 2023503766
(86)(22)【出願日】2022-02-24
(86)【国際出願番号】 JP2022007677
(87)【国際公開番号】W WO2022186051
(87)【国際公開日】2022-09-09
【審査請求日】2023-10-10
(31)【優先権主張番号】P 2021032675
(32)【優先日】2021-03-02
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【弁理士】
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】恒木 亮太郎
【審査官】牧 初
(56)【参考文献】
【文献】国際公開第2020/003738(WO,A1)
【文献】特開2019-3465(JP,A)
【文献】特開2021-117855(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/00-13/04
G05B 17/00-17/02
(57)【特許請求の範囲】
【請求項1】
モータ、及び工作機械、ロボット又は産業機械の機構部の機械モデルを作成する機械モデル作成部と、
前記機械モデル及びフィードフォワード処理部を含む、前記モータを制御するサーボ制御装置の動作をシミュレーションするシミュレーション部と、
位置指令を生成するための加減速時定数と前記フィードフォワード処理部のパラメータとを調整する調整部と、
を備え、
前記調整部は、前記フィードフォワード処理部の次数を複数設定したときの、それぞれの前記加減速時定数及び前記パラメータを調整する、調整支援装置。
【請求項2】
前記サーボ制御装置の制御ループの周波数特性を測定する周波数特性測定部を備え、
機械モデル作成部は、前記周波数特性測定部にて測定した前記周波数特性に基づいて前記機械モデルを作成することを特徴とする、請求項1に記載の調整支援装置。
【請求項3】
前記調整部は機械学習を用いて、前記加減速時定数と前記フィードフォワード処理部のパラメータを調整する請求項1又は2に記載の調整支援装置。
【請求項4】
前記フィードフォワード処理部の次数を複数設定したときの、サイクルタイムを含むサーボ状態を示す情報をユーザに提示する出力部を備えた請求項1から3のいずれか1項に記載の調整支援装置。
【請求項5】
請求項1から4のいずれか1項に記載の調整支援装置と、
モータを制御するサーボ制御装置と、
位置指令を前記サーボ制御装置に出力する数値制御装置と、
を備えた制御システム。
【請求項6】
前記調整支援装置は、調整したパラメータを、前記サーボ制御装置のフィードフォワード処理部のパラメータに設定する、請求項5に記載の制御システム。
【請求項7】
コンピュータに、
モータ、及び工作機械、ロボット又は産業機械の機構部の機械モデルを作成する処理と、
前記機械モデル及びフィードフォワード処理部を含むシミュレーション部で、前記モータを制御するサーボ制御装置の動作をシミュレーションする処理と、
前記フィードフォワード処理部の次数を複数設定したときの、位置指令を生成するための加減速時定数と前記フィードフォワード処理部のパラメータとを調整する処理と、
を行わせる調整支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、調整支援装置、制御システム、及び調整支援方法に関し、特に、加減速時定数及びフィードフォワードパラメータの調整の支援を行う、調整支援装置、制御システム及び調整支援方法に関する。
【背景技術】
【0002】
工作機械、ロボット又は産業機械の初号機などにおけるサーボ制御装置のサーボ調整では、まずゲイン・フィルタ及び加減速等の最低限の機能を行い、その上で機械に応じて必要な機能を選び、その機能の調整が実施される。
【0003】
サーボ制御装置のサーボ調整に関する技術は、例えば特許文献1及び特許文献2に記載されている。
【0004】
特許文献1には、サーボモータの制御パラメータ調整方法が記載されている。この制御パラメータ調整方法は、モータの駆動制御を行うための位置制御器および速度制御器を有する制御器をモデル化した制御器モデル、モータをモデル化したモータモデル、およびモータに接続された負荷をモデル化した負荷モデルを含むシミュレーションモデルを生成する工程と、シミュレーションモデルを用いたシミュレーションを速度制御モードで実行し、速度制御器のパラメータを評価して最適値を選出する工程と、選出された速度制御器のパラメータを用いて、シミュレーションを位置速度制御モードで実行し、位置制御器のパラメータを評価して最適値を選出する工程と、を含んでいる。
【0005】
特許文献2には、サーボ制御装置の構成要素の学習されたパラメータ又は第1の物理量と評価関数値を取得して、このパラメータ、第1の物理量又はパラメータから求められる第2の物理量と、評価関数値との関係を示す情報から機械学習の経過又は結果を確認することができる情報を出力する出力装置が記載されている。そして、特許文献2には、パラメータをサーボ制御装置の構成要素の伝達関数の係数としたとき、出力装置が、この情報に基づいて、係数の次数の変更指示を、サーボ制御装置に対して行うことが記載されている。
【先行技術文献】
【特許文献】
【0006】
【文献】国際公開第2020/003738号
【文献】特開2020-071508号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
サーボ制御装置のサーボ調整における機能の選定には、専門的な知識が必要なことが多い。例えば、フィードフォワードの調整は、通常、剛体を前提とした簡単なモデルを用いて行い、次数が高次のフィードフォワードが用意されていても、高次のフィードフォワードを用いて調整されることは必ずしも多くない。
そのため、高次のフィードフォワードを使用した場合と使用しない場合とのシミュレーションを行って、実際の機械を動作させることなく、加減速時定数とフィードフォワードのパラメータとの調整の支援を行う、調整支援装置、制御システム、及び調整支援方法が望まれる。
【課題を解決するための手段】
【0008】
(1) 本開示の第1の態様は、モータ、及び工作機械、ロボット又は産業機械の機構部の機械モデルを作成する機械モデル作成部と、
前記機械モデル及びフィードフォワード処理部を含む、前記モータを制御するサーボ制御装置の動作をシミュレーションするシミュレーション部と、
位置指令を生成するための加減速時定数と前記フィードフォワード処理部のパラメータとを調整する調整部と、
を備え、
前記調整部は、前記フィードフォワード処理部の次数を複数設定したときの、それぞれの前記加減速時定数及び前記パラメータを調整する、調整支援装置である。
【0009】
(2) 本開示の第2の態様は、上記(1)に記載の調整支援装置と、モータを制御するサーボ制御装置と、位置指令を前記サーボ制御装置に出力する数値制御装置と、を備えた制御システムである。
【0010】
(3) 本開示の第3の態様は、コンピュータに、
モータ、及び工作機械、ロボット又は産業機械の機構部の機械モデルを作成する処理と、
前記機械モデル及びフィードフォワード処理部を含むシミュレーション部で、前記モータを制御するサーボ制御装置の動作をシミュレーションする処理と、
前記フィードフォワード処理部の次数を複数設定したときの、位置指令を生成するための加減速時定数と前記フィードフォワード処理部のパラメータとを調整する処理と、
を行わせる調整支援方法である。
【発明の効果】
【0011】
本開示の各態様によれば、高次のフィードフォワードを使用した場合と使用しない場合とのシミュレーションを行って、加減速時定数とフィードフォワードのパラメータとの調整の支援を行うことができる。
【図面の簡単な説明】
【0012】
図1】本開示の一実施形態の調整支援装置を含む制御システムの一構成例を示すブロック図である。
図2】シミュレーション部の一構成例を示すブロック図である。
図3】モータ及び工作機械の機構部の機械モデルを示す図である。
図4】周波数特性測定部により測定される入出力ゲインと位相遅れの周波数特性の一例を示す図である。
図5】3つの例における、位置指令の一回微分値と位置偏差の変動、及びサイクルタイムを示す特性図である。
図6】CNC装置の一構成例を示すブロック図である。
図7】サーボ制御装置の一構成例を示すブロック図である。
図8】調整支援装置の動作を示すフローチャートである。
図9】制御システムの他の構成例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について図面を用いて詳細に説明する。
(第1実施形態)
図1は本開示の一実施形態の調整支援装置を含む制御システムの一構成例を示すブロック図である。
図1に示す制御システム10は、数値制御装置となるコンピュータ数値制御装置(CNC装置)20、サーボ制御装置30、調整支援装置40及びモータ50を備えている。なお、図1では、CNC装置20、サーボ制御装置30及び調整支援装置40は分離して示されているが、調整支援装置40は、CNC装置20又はサーボ制御装置30に含まれてもよい。
制御システム10のモータ50によって駆動される対象は、例えば、工作機械、ロボット、又は産業機械の機構部である。モータ50は、工作機械、ロボット又は産業機械等の一部として設けられてもよい。また、制御システム10は、工作機械、ロボット、又は産業機械等の一部として設けられてもよい。
【0014】
モータ50によって駆動される対象が3軸加工機の場合は、例えば、被加工物(ワーク)を搭載するテーブルをX軸方向及びY軸方向に移動させ、工具を装着した主軸をZ軸方向に移動させて、ワークを加工するために、制御システム10は、X軸方向、Y軸方向及びZ方向に対してそれぞれ図1に示すサーボ制御装置30及びモータ50を備えている。3軸加工機の機構部は、例えば、ボールネジとボールネジに接続に接続されるテーブルである。また、制御システム10は、主軸の回転を制御する主軸モータ制御部(不図示)及びモータ(不図示)を備えている。以下、モータ50によって駆動される対象が工作機械の機構部である場合を取り上げて説明する。
【0015】
CNC装置20は、加工プログラムに基づいて位置指令を生成して、サーボ制御装置30及び調整支援装置40に出力する。
サーボ制御装置30は、位置指令に基づいてトルク指令を生成して、モータ50を制御する。
【0016】
調整支援装置40は、機械モデル作成部500によって、モータ50及び工作機械の機構部の機械モデルを作成し、シミュレーション部600に機械モデルを設定する。調整支援装置40の自動調整部700は、位置指令を生成するCNC装置20及びサーボ制御装置30と同様な構成のシミュレーション部600を用いて、CNC装置20及びサーボ制御装置30をシミュレーションする。
具体的には、調整支援装置40は、サーボ制御装置30の後述する位置フィードフォワード計算部308及び速度フィードフォワード計算部309の少なくとも一方の伝達関数の次数を変更した場合の、CNC装置20の位置指令を生成するための加減速時定数と、位置フィードフォワード計算部308及び速度フィードフォワード計算部309の少なくとも一方の伝達関数の係数と、を調整する動作をシミュレーションする。そして、調整支援装置40は、シミュレーション結果に基づいて、CNC装置20の加減速時定数と、位置フィードフォワード計算部308及び速度フィードフォワード計算部309の少なくとも一方の伝達関数の次数及び係数と、を設定する。
モータ50は、直線運動をするリニアモータ又は回転軸を有するモータ等を用いることができる。
【0017】
以下、調整支援装置40の構成及び動作について説明する。CNC装置20及びサーボ制御装置30の構成及び動作については後述する。
【0018】
<調整支援装置40>
図1に示すように、調整支援装置40は、周波数特性測定部400、機械モデル作成部500、シミュレーション部600、調整部となる自動調整部700及び出力部800を備えている。図2はシミュレーション部600の一構成例を示すブロック図である。
本実施形態では、CNC装置20によってサーボ制御装置30を動作させて、機械モデル作成部500により機械モデルを作成した後は、調整支援装置40の自動調整部700は、シミュレーション部600との間でシミュレーションを行い、次数が異なる、後述するシミュレーション部600の位置フィードフォワード処理部6082の伝達関数F(s)を複数設定して、それぞれの次数での、後述する位置指令生成部611の加減速時定数、及び位置フィードフォワード処理部6082の伝達関数F(s)の係数a、bを調整する。
【0019】
周波数特性測定部400は、サーボ制御装置30の制御ループとなる位置ループの周波数特性を測定する。具体的には、位置指令及びサーボ制御装置30の位置フィードバックから、入出力ゲインと位相遅れの周波数特性を求める。なお、位置ループの周波数特性は、シミュレーション部600の後述する位置フィードフォワード処理部6082の係数a、bの調整のために用いられる機械モデルの作成に必要となるが、後述する速度フィードフォワード処理部6092の係数の調整のために用いられる機械モデルの作成には、制御ループとなる速度ループの周波数特性、すなわち、速度指令と速度フィードバックから求めた入出力ゲインと位相遅れの周波数特性が必要となる。ここでは、周波数特性測定部400は、位置フィードフォワード処理部6082の調整のために用いられる機械モデルの作成のために位置ループの周波数特性を測定している。
なお、制御ループには、位置ループ、速度ループの他に他のループ、例えば不図示の電流ループも含まれる。サーボ制御装置30が速度制御部305の後段に電流制御部を有して電流フィードバックが行われ、電流フィードフォワード処理部を含む電流フィードフォワード計算部を有する場合には、周波数特性測定部400は、サーボ制御装置30の制御ループとなる電流ループの周波数特性を測定する。具体的には、トルク指令及びサーボ制御装置30の電流フィードバックから、入出力ゲインと位相遅れの周波数特性を求める。後述する図7のサーボ制御装置30には、電流制御部及び電流フィードフォワード計算部が示されていないが、電流制御部及び電流フィードフォワード計算部を含めることができる。
電流ループの周波数特性は、サーボ制御装置30と同様な構成のシミュレーション部600の電流フィードフォワード計算部の電流フィードフォワード処理部の係数(後述する数式3と同様の伝達関数の係数)の調整のために用いられる機械モデルの作成に必要となる。電流制御部及び電流フィードフォワード計算部については、例えば、特開2019-164484号公報に記載されている。
【0020】
機械モデル作成部500は、例えば、図3に示すような2慣性系により機械モデルを作成する。このような機械モデルは、例えば、“NC工作機械の送り軸のための2慣性系モデルによる低周波振動抑制制御の研究” 2016年82 巻8 号p.745-750,精密工学会誌に記載されている。なお、機械モデル作成部500は、2慣性系により機械モデルを作成することに限定されず、他方の方法によりモデルを作成することができ、例えば、物理モデルではなく、後述する数式3のような多項式の伝達関数に対して、測定した周波数特性をブラックボックスモデルとしてフィッティングすることで機械モデルを作成することもできる。
モータ50及び工作機械の機構部の機械モデルは、例えば、負荷の固有角周波数ω、ダンピング係数ζを用いて、数式1(以下に数1として示す)で示される。数式1は、モータ位置から負荷位置までの伝達関数である。
【数1】
機械モデル作成部500は、数式1の負荷の固有角周波数ω及びダンピング係数ζを、周波数特性測定部400により測定される入出力ゲインと位相遅れの周波数特性を用いて求めることができる。図4は周波数特性測定部400により測定される入出力ゲインと位相遅れの周波数特性の一例を示す図である。ダンピング係数ζは、図4の入出力ゲインのピーク周波数fp、ピーク周波数fpのときの入出力ゲインのピーク値より3dB下がった点の周波数幅Δfから、式Δf/fpを用いて求めることができる。負荷の固有角周波数ωはω=2πfpから求めることができる。
また、機械モデルは、図3に示すような2慣性系により機械モデルを用い、モータのイナーシャ、負荷イナーシャ、共振周波数、及び共振時のゲインのピーク値から求めてもよい。
機械モデルは、例えば、負荷イナーシャJ、バネ定数K、ダンパ定数Cを用いて、数式2(以下に数2として示す)で示される。数式2は、モータ位置から負荷位置までの伝達関数である。
【数2】
【0021】
負荷イナーシャは負荷イナーシャ推定部により推定することができる。負荷イナーシャ推定部は、例えば、調整支援装置40内に設けることができる。負荷イナーシャ推定部は、モータ50に流れる電流値を取得するとともに、モータ50から速度検出値を取得する。負荷イナーシャ推定部は、例えば、特開2010-148178号公報に記載された制御装置のイナーシャ推定方法を用いて負荷イナーシャを推定することができる。特開2010-148178号公報に記載された制御装置は、モータへのトルク指令に正弦波状指令を加える手段と、モータに流れる電流値を取得する手段と、モータの加速度値を取得する手段と、正弦波状指令の複数周期にわたる電流値と加速度値から得た電流代表値と加速度代表値、及びモータのトルク定数からモータによる被駆動体のイナーシャ(負荷イナーシャ)を推定する手段と、を備えている。加速度は速度検出値を微分することで求めることができる。
電流代表値I、加速度代表値a、トルク定数Ktとすると、イナーシャJは、J=I・Kt/aの関係式により求めることができる。
【0022】
シミュレーション部600の構成例は図2に示される。
図2に示すように、シミュレーション部600は、減算器601、位置制御部602、加算器603、減算器604、速度制御部605、加算器606、積分器607、位置フィードフォワード計算部608、及び速度フィードフォワード計算部609を備えている。位置フィードフォワード計算部608は、微分器6081と、位置フィードフォワード処理部6082とを備えている。速度フィードフォワード計算部609は、2回微分器6091と、速度フィードフォワード処理部6092とを備えている。これらの構成は後述するサーボ制御装置30と同様である。なお、図2では図示していないが、サーボ制御装置30が電流制御部及び電流フィードフォワード計算部を含む場合は、シミュレーション部600も同様に、電流制御部及び電流フィードフォワード計算部を含む。
また、シミュレーション部600は、機械モデル作成部500により作成された機械モデル610、及びCNC装置20と同様の位置指令を生成する位置指令生成部611を備えている。ここでは、機械モデル610は、周波数特性測定部400により測定される入出力ゲインと位相遅れの周波数特性を用いて数式1より求められる。位置指令生成部611における、位置指令を生成するための加減速時定数は、自動調整部700が調整する。位置指令生成部611は、ここでは、シミュレーション部600に設けられているが、シミュレーション部600外に設けられてもよい。
【0023】
位置指令生成部611から出力された位置指令は、減算器601、位置フィードフォワード計算部608、及び速度フィードフォワード計算部609に入力される。
減算器601は、位置指令生成部611から入力される位置指令を受け、位置指令と位置フィードバックされた検出位置との差を求め、その差を位置偏差として位置制御部602に出力する。
【0024】
位置制御部602は、位置偏差にポジションゲインKpを乗じた値を、速度指令として加算器603に出力する。
位置フィードフォワード計算部608は、微分器6081と、位置フィードフォワード処理部6082とを備えている。位置フィードフォワード処理部6082はフィードフォワード処理部となる。
位置フィードフォワード計算部608の微分器6081は、入力される位置指令を微分して定数αを掛け、位置フィードフォワード処理部6082は微分器6081の出力に、数式3(以下に数3として示す)で示す伝達関数F(s)で示された位置フィードフォワード処理を行い、その処理結果を位置フィードフォワード項として、加算器603に出力する。数式3の係数a、b(m≧i≧0,n≧j≧0、m、nは0又は自然数で、次数となる)は、位置フィードフォワード処理部6082の伝達関数F(s)の各係数である。次数を設定するとは、数mと数nのうちの一方又は両方を設定することをいう。係数a、bは位置フィードフォワード処理部6082のパラメータとなる。
【数3】
【0025】
加算器603は、速度指令と位置フィードフォワード計算部608の出力値(位置フィードフォワード項)とを加算して、フィードフォワード制御された速度指令として減算器604に出力する。減算器604は加算器603の出力と速度フィードバックされた速度検出値との差を求め、その差を速度偏差として速度制御部605に出力する。
【0026】
速度制御部605は、速度偏差に積分ゲインK1vを乗じて積分した値と、速度偏差に比例ゲインK2vを乗じた値とを加算して、トルク指令として加算器606に出力する。
【0027】
速度フィードフォワード計算部609は、2回微分器6091と、速度フィードフォワード処理部6092とを備えている。速度フィードフォワード処理部6092はフィードフォワード処理部となる。
速度フィードフォワード計算部609の2回微分器6091は、入力される位置指令値を2回微分して定数βを掛け、速度フィードフォワード処理部6092は2回微分器6091の出力に、数式4(以下に数4として示す)で示された伝達関数G(s)で示される速度フィードフォワード処理を行い、その処理結果を速度フィードフォワード項として、加算器606に出力する。数式4の係数c、d(p≧i≧0,q≧j≧0、p、qは0又は自然数で、次数となる)は、速度フィードフォワード処理部6092の伝達関数G(s)の各係数である。次数を設定するとは、数pと数qのうちの一方又は両方を設定することをいう。係数c、dは速度フィードフォワード処理部6092のパラメータとなる。
【数4】
【0028】
加算器606は、トルク指令と速度フィードフォワード計算部609の出力値(速度フィードフォワード項)とを加算して、フィードフォワード制御されたトルク指令として機械モデル610に出力する。
機械モデル610は、機械モデルの速度を速度フィードバックとして減算器604に入力する。速度は積分器607で積分されて位置フィードバックとして減算器601に入力される。
【0029】
自動調整部700は、次数が異なる、位置フィードフォワード処理部6082の伝達関数F(s)を複数設定して、それぞれの次数での、位置指令生成部611の加減速時定数、及び位置フィードフォワード処理部6082の伝達関数F(s)の係数a、bを調整する。なお、速度フィードフォワード処理部6092の伝達関数G(s)の係数c、dの調整は、速度ループの周波数特性を求めて機械モデルを作成することで可能となるが、ここでは、位置フィードフォワード処理部6082の伝達関数F(s)の係数a、bの調整のみを行うものとして説明する。
自動調整部700は、位置指令生成部611の加減速時定数を、サイクルタイムが小さくないように調整し、また位置フィードフォワード処理部6082の伝達関数F(s)の係数a、bを、位置偏差が低減するように調整する。
そして、自動調整部700は、複数の次数の各次数と、各次数における、調整された加減速時定数及び調整された係数a、bによる、シミュレーション部600の位置指令の一回微分値と位置偏差と、を出力部800に出力する。
【0030】
位置フィードフォワード処理部6082の伝達関数F(s)の次数m、nは、例えば、m=0、n=0と、m、n≧1とに設定する。m、n≧1の場合の次数m、nは、例えば、低周波(100Hz程度まで周波数)での共振点の個数に応じて決めることができる。具体的には、1つの共振点であるならば2次、2つの共振点ならば4次と決めることができる。次数m、nの値は、ユーザが予め決めてもよく、自動調整部700が共振点の個数に応じて決めてもよい。
位置フィードフォワード処理部6082の伝達関数F(s)の係数a、bの初期値は、ユーザによって決められる。
位置指令生成部611の加減速時定数の初期値は、ユーザによって決められる。例えば、小型の工作機械の加減速設定をして、揺れやすい設定とする。自動調整部700は、この初期値から振動を抑えられるような加減速時定数に調整する。
【0031】
出力部800は、液晶表示装置等の表示装置、又はプリンター等である。出力部800は、入力された、各次数における、調整された加減速時定数及び調整された係数a、bによる、位置指令の一回微分値及び位置偏差に基づいて、ユーザに、各次数における、調整された加減速時定数及び調整された係数a、bによる、シミュレーション部600の位置偏差の変動及びサイクルタイムを含むサーボ状態を示す情報を例えば表示装置に表示する。ここで、出力とは、ユーザに、各次数における、少なくともサイクルタイムを含むサーボ状態の情報を示す動作をいい、例えば、かかる情報を、表示装置に表示したり、プリンターで用紙に印刷することをいう。各次数及び加減速時定数の値は、サイクルタイムを含むサーボ状態とともに出力される。
【0032】
ユーザは、出力部800によって示される、複数の次数における、位置偏差の変動、及びサイクルタイムを判断し、サイクルタイムが小さく、位置偏差の変動が減少するように、位置フィードフォワード処理部6082の伝達関数F(s)の次数及び位置指令生成部611の加減速時定数を入力する。
なお、出力部800は、各次数における、位置指令の一回微分値と位置偏差の変動、及びサイクルタイムCTを示す特性図を出力し、ユーザが複数の特性図から特性図を特定する情報を入力することで、自動調整部700が、特定された特性図に基づいて、位置フィードフォワード処理部6082の伝達関数F(s)の次数及び位置指令生成部611の加減速時定数を特定できるようにしてもよい。
【0033】
自動調整部700は、入力された次数に、サーボ制御装置30の後述する位置フィードフォワード処理部3082の伝達関数F(s)の次数m、nを設定するとともに、入力された次数で調整した、位置フィードフォワード処理部6082の伝達関数F(s)の係数a、bを、サーボ制御装置30の位置フィードフォワード処理部3082の伝達関数F(s)の係数a、bとして設定する。また、自動調整部700は、入力された加減速時定数に、CNC装置20の加減速時定数を設定する。
なお、自動調整部700は、出力部800を用いてユーザにサイクルタイムを含むサーボ状態を示す情報を示すことなく、サイクルタイムが小さく、位置偏差の変動が減少するように、位置フィードフォワード処理部6082の伝達関数F(s)の次数と係数、及び位置指令生成部611の加減速時定数を決定し、サーボ制御装置30の位置フィードフォワード処理部3082の伝達関数F(s)の次数と係数a、b及びCNC装置20の加減速時定数として設定してもよい。
【0034】
以下、位置指令生成部611の加減速時定数、位置フィードフォワード処理部6082の伝達関数F(s)の次数の設定の3つの例について説明する。
(例1)自動調整部700は、位置指令生成部611の加減速時定数を設定し、位置フィードフォワード処理部6082の伝達関数F(s)の次数m、nをm=0、n=0とする(m=0、n=0の場合を低次の次数という)。このとき、位置フィードフォワード処理部6082の伝達関数F(s)の係数はa、bとなる。
【0035】
(例2)自動調整部700は、位置指令生成部611の加減速時定数を例1で設定した加減速時定数よりも小さくし、位置フィードフォワード処理部6082の伝達関数F(s)の次数m、nを例1と同じとする。
【0036】
(例3)自動調整部700は、位置指令生成部611の加減速時定数を例2で設定した加減速時定数(例1で設定した加減速時定数よりも小さい加減速時定数)と同じとし、位置フィードフォワード処理部6082の伝達関数F(s)の次数m、nを自然数(m、n≧1)とする(m、nが自然数の場合を高次の次数という)。このとき、位置フィードフォワード処理部6082の伝達関数F(s)の係数は数式3で示した係数a、bとなる。自動調整部700は、位置偏差が低減するように、係数a、bを調整する。
【0037】
図5は例1、例2及び例3における、位置指令の一回微分値と位置偏差の変動、及びサイクルタイムCTを示す特性図である。
自動調整部700は、例えば、例1及び例3で設定した、位置指令生成部611の加減速時定数及び伝達関数F(s)の係数のときの、位置指令の一回微分値と位置偏差を出力部800に出力する。出力部800は、図5に示す例1及び例3の特性図を例えば表示装置に表示する。
ユーザは、表示装置に表示される、図5の例1及び例3を示す特性から、位置フィードフォワード処理部6082の伝達関数F(s)の次数m、nを高次の次数とすれば、位置偏差の変動を抑制しつつ、位置指令生成部611の加減速時定数を小さくして、サイクルタイムCT1よりも小さいサイクルタイムCT2(<CT1)とすることができることを認識できる。
【0038】
自動調整部700は、位置フィードフォワード処理部6082の伝達関数F(s)の係数a、bの調整、及び位置指令生成部611の加減速時定数の調整を、機械学習を用いて行うことができる。
【0039】
機械学習の一つである強化学習を用いて、位置フィードフォワード処理部6082の伝達関数F(s)の係数a、b及び速度フィードフォワード処理部6092の伝達関数G(s)の係数c、dを調整する方法を開示した特許文献としては、例えば、特開2018-152012号公報、特開2019-164484号公報が挙げられる。
特開2018-152012号公報には、速度フィードフォワード計算手段の伝達関数の係数を、位置偏差を用いた強化学習よって学習する機械学習装置が記載されており、速度フィードフォワード計算手段を位置フィードフォワード計算手段に置き替えることで本実施形態に適用できる。特開2019-164484号公報には、速度フィードフォワード計算手段の伝達関数の係数を、位置偏差を用いた強化学習よって学習した後に、同様に位置フィードフォワード計算手段の伝達関数の係数を、位置偏差を用いた強化学習よって学習する機械学習装置が記載されている。
なお、特開2018-152012号公報、特開2019-164484号公報では、サーボ制御装置の速度フィードフォワード計算手段の伝達関数の係数、又は速度フィードフォワード計算手段と位置フィードフォワード計算手段との伝達関数の係数の機械学習について記載しているが、サーボ制御装置30と同様に構成された、シミュレーション部600の位置フィードフォワード計算部608、及び速度フィードフォワード計算部609の伝達関数の係数の機械学習にも同様に適用される。
【0040】
機械学習の一つである強化学習を用いて、位置指令生成部611の加減速を調整する方法を開示した特許文献としては、例えば、特開2018-181217号公報が挙げられ、この方法を加減速時定数の調整に適用することができる。
特開2018-152012号公報には、工作機械の各軸の速度分布(各軸の速度のN階時間微分要素)を学習する機械学習装置が記載されている。この機械学習装置は、各軸の速度のN階時間微分要素を示す第1の状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか1つの適否判定結果を示す判定データを取得する判定データ取得部と、状態変数と判定データとを用いて、各軸の速度のN階時間微分要素を、加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか1つと関連付けて学習する学習部と、を備える。
加減速時定数を強化学習を用いて調整する場合、加工済みワークの加工精度、面品位及び加工時間のうち少なくともいずれか1つを取得することが求められるが、本実施形態では、シミュレーションで求める。面品位は、例えば、面粗度で求めることができる。なお、シミュレーションにより面粗度を算出する方法は、例えば、”Simulation of Surface roughness and profile in high-speed end milling”, Ki Yong Lee, Myeong Chang Kang, Yung Ho Jeong, Deuk Woo Lee, Jeong Suk Kim, Journal of Materials Processing Technology 113 (2001) 410-415に記載されている。
【0041】
調整支援装置40に含まれる機能ブロックについて説明した。
これらの機能ブロックを実現するために、調整支援装置40は、CPU(Central Processing Unit)等の演算処理装置を備える。また、調整支援装置40のそれぞれは、アプリケーションソフトウェア又はOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置、及び演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
【0042】
そして、調整支援装置40において、演算処理装置が補助記憶装置からアプリケーションソフトウェア又はOSを読み込み、読み込んだアプリケーションソフトウェア又はOSを主記憶装置に展開させながら、これらのアプリケーションソフトウェア又はOSに基づいた演算処理を行なう。また、この演算結果に基づいて、各装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
【0043】
調整支援装置40の自動調整部700において機械学習を行う場合には、機械学習に伴う演算量が多いため、調整支援装置40は、例えば、パーソナルコンピュータにGPU(Graphics Processing Units)を搭載し、GPGPU(General-Purpose computing on Graphics Processing Units)と呼ばれる技術により、GPUを機械学習に伴う演算処理に利用するようにすると高速処理できる。更には、より高速な処理を行うために、調整支援装置40は、このようなGPUを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
【0044】
次に、CNC装置20及びサーボ制御装置30について説明する。
<CNC装置20>
図6はCNC装置の一構成例を示すブロック図である。
図6に示すCNC装置20は、プログラム解析部201、補間部202、加減速制御部203及び指令出力部204を備えている。CNC装置20は、主軸モータ制御部へ主軸の回転を制御するための動作指令を送るがここでは説明を省略する。
【0045】
プログラム解析部201は、加工プログラムから工作機械のX軸、Y軸及びZ軸の移動の指令を含むブロックを逐次読みだして解析し、解析結果に基づいて各軸の移動を指令する移動指令データを作成する。
補間部202は、プログラム解析部201から出力される移動指令データにより指令される移動指令に基づいて、指令経路上の点を補間周期で補間計算した補間データを生成する。
【0046】
加減速制御部203は、調整支援装置40から出力される加減速時定数を用いて加減速時定数の調整を行い、補間部202から出力される補間データに基づいて、調整された加減速時定数を用いて加減速処理を行い、補間周期ごとの各軸の加工速度を計算し指令出力部204に出力する。
指令出力部204は、加減速制御部203から出力される各軸の加工速度に基づいて位置指令を生成し、サーボ制御装置30及び調整支援装置40に出力する。加減速時定数は位置指令を作成するためのパラメータとなる。
【0047】
<サーボ制御装置30>
図7はサーボ制御装置の一構成例を示すブロック図である。図7においては、サーボ制御装置以外の制御システムの構成部も示されている。図7に示すように、サーボ制御装置30は、減算器301、位置制御部302、加算器303、減算器304、速度制御部305、加算器306、積分器307、位置フィードフォワード計算部308、及び速度フィードフォワード計算部309を備えている。加算器306はモータ50に接続されている。減算器301、位置制御部302、加算器303、減算器304、速度制御部305、加算器306、積分器307、位置フィードフォワード計算部308、及び速度フィードフォワード計算部309の動作は、既に説明した、減算器601、位置制御部602、加算器603、減算器604、速度制御部605、加算器606、積分器607、位置フィードフォワード計算部608、及び速度フィードフォワード計算部609の動作と同様なので詳細な説明を省略する。
【0048】
CNC装置20から出力された位置指令は、減算器301、位置フィードフォワード計算部308、速度フィードフォワード計算部309及び調整支援装置40の周波数特性測定部400に入力される。
加算器306はモータ50に接続されている。加算器306は、トルク指令と速度フィードフォワード計算部309の出力値(速度フィードフォワード項)とを加算して、フィードフォワード制御されたトルク指令としてモータ50に出力してモータ50を駆動する。
【0049】
モータ50の回転角度位置は、モータ50に関連付けられた、位置検出部となるロータリーエンコーダによって検出され、速度検出値は速度フィードバックとして減算器304に入力される。速度検出値は積分器307で積分されて位置検出値となり、位置検出値は位置フィードバックとして減算器301に入力される。
【0050】
次に、調整支援装置40の動作について図8のフローチャートを用いて説明する。図8は調整支援装置の動作を示すフローチャートである。
【0051】
ステップS11において、周波数特性測定部400は、制御ループの周波数特性を測定する。
ステップS12において、機械モデル作成部500は、測定された周波数特性を用いて、図3に示すような2慣性系により数式1に示す機械モデルを、シミュレーション部600の機械モデル610として作成する。
【0052】
ステップS13において、自動調整部700は、次数が異なる、位置フィードフォワード処理部6082の伝達関数F(s)を複数設定して、それぞれの次数での、位置指令生成部611の加減速時定数、及び位置フィードフォワード処理部6082の伝達関数F(s)の係数a、bを調整する。
ステップS14において、出力部800は、次数が高次、低次の場合と、加速時定数の大小の場合との組み合わせでの位置偏差とサイクルタイムを出力する。
【0053】
以上説明した実施形態では、高次のフィードフォワードを使用した場合と使用しなかった場合で、位置偏差、サイクルタイム等のサーボ状態の差をシミュレーションにより計算し、効果(サイクルタイム短縮など)をユーザに示すことで、サーボ機能の選定の補助を行うことができる。
本実施形態では、CNC装置によってサーボ制御装置を動作させて機械モデルを作成した後は、CNC装置によってサーボ制御装置を動作させることなく、調整支援装置は、次数が異なる、シミュレーション部の位置フィードフォワード処理部の伝達関数を複数設定して、それぞれの次数での、位置指令生成部の加減速時定数、位置フィードフォワード処理部の伝達関数の係数を調整できる。
【0054】
以上本発明に係る各実施形態について説明したが、調整支援装置及び制御システムに含まれる各構成部は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、調整支援装置及び制御システムに含まれる各構成部のそれぞれの協働により行なわれる調整支援方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0055】
プログラムは、様々なタイプの非一時的なコンピュータ読み取り可能な記録媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ読み取り可能な記録媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ読み取り可能な記録媒体の例は、磁気記録媒体(例えば、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。
【0056】
上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0057】
<システム構成の自由度>
図9は他の構成の制御システムを示すブロック図である。制御システム10Aは、図9に示すように、n台のCNC装置20-1~20-n、n台のサーボ制御装置30-1~30-n、調整支援装置40-1~40-n、及びネットワーク900を備えている。なお、nは任意の自然数である。n台のCNC装置20-1~20-nのそれぞれは図1に示したCNC装置20に対応している。n台のサーボ制御装置30-1~30-nのそれぞれは図1に示したサーボ制御装置30に対応している。調整支援装置40-1~40-nは調整支援装置40に対応している。
【0058】
ここで、CNC装置20-1、サーボ制御装置30-1、及び調整支援装置40-1は1対1の組とされて、ネットワーク900を介して通信可能に接続されている。CNC装置20-2~20-n、サーボ制御装置30-2~30-n及び調整支援装置40-2~40-nについても、CNC装置20-1、サーボ制御装置30-1、及び調整支援装置40-1と同様に接続される。
図9では、CNC装置20-1~20-n、サーボ制御装置30-1~30-n、及び調整支援装置40-1~40-nのn個の組は、ネットワーク900を介して接続されているが、CNC装置20-1~20-n、サーボ制御装置30-1~30-n、及び調整支援装置40-1~40-nのn個の組は、接続インタフェースを介して直接接続されてもよい。これらCNC装置20-1~20-n、サーボ制御装置30-1~30-n、及び調整支援装置40-1~40-nのn個の組は、例えば同じ工場に複数組設置されていてもよく、それぞれ異なる工場に設置されていてもよい。
【0059】
なお、ネットワーク900は、例えば、工場内に構築されたLAN(Local Area Network)や、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワーク900における具体的な通信方式や、有線接続および無線接続のいずれであるか等については、特に限定されない。
【0060】
本開示による調整支援装置、制御システム、及び調整支援方法は、上述した実施形態を含め、次のような構成を有する各種各様の実施形態を取ることができる。
【0061】
(1) モータ(例えば、モータ50)、及び工作機械、ロボット又は産業機械の機構部の機械モデルを作成する機械モデル作成部(例えば、機械モデル作成部500)と、
前記機械モデル及びフィードフォワード処理部(例えば、位置フィードフォワード処理部6082、速度フィードフォワード処理部6092)を含む、前記モータを制御するサーボ制御装置の動作をシミュレーションするシミュレーション部(例えば、シミュレーション部600)と、
位置指令を生成するための加減速時定数と前記フィードフォワード処理部のパラメータを調整する調整部(例えば、自動調整部700)と、
を備え、
前記調整部は、前記フィードフォワード処理部の次数を複数設定したときの、それぞれの前記加減速時定数及び前記パラメータを調整する、調整支援装置(例えば、調整支援装置40)。
この調整支援装置によれば、高次のフィードフォワードを使用した場合と使用しない場合のシミュレーションを行って、加減速時定数とフィードフォワードのパラメータの調整の支援を行うことができる。
【0062】
(2) 前記サーボ制御装置の制御ループの周波数特性を測定する周波数特性測定部(例えば、周波数特性測定部400)を備え、
機械モデル作成部は、前記周波数特性測定部にて測定した前記周波数特性に基づいて前記機械モデルを作成することを特徴とする、上記(1)に記載の調整支援装置。
【0063】
(3) 前記調整部は機械学習を用いて、前記加減速時定数と前記フィードフォワード処理部のパラメータを調整する上記(1)又は(2)に記載の調整支援装置。
【0064】
(4) 前記フィードフォワード処理部の次数を複数設定したときの、サイクルタイムを含むサーボ状態を示す情報をユーザに提示する出力部(例えば、出力部800)を備えた上記(1)から(3)のいずれかに記載の調整支援装置。
この調整支援装置によれば、高次のフィードフォワードを使用した場合と使用しなかった場合で、位置偏差、サイクルタイム等のサーボ状態の差をシミュレーションにより計算し、効果(サイクルタイム短縮など)をユーザに示すことで、サーボ機能の選定の補助を行うことができる。
【0065】
(5) 上記(1)から(4)のいずれかに記載の調整支援装置(例えば、調整支援装置40)と、
モータを制御するサーボ制御装置(例えば、サーボ制御装置30)と、
位置指令を前記サーボ制御装置に出力する数値制御装置(例えばCNC装置20)、と、
を備えた制御システム(例えば、制御システム10)。
この制御システムによれば、高次のフィードフォワードを使用した場合と使用しない場合のシミュレーションを行って、加減速時定数とフィードフォワードのパラメータの調整の支援を行うことができる。
【0066】
(6) 前記調整支援装置は、調整したパラメータを、前記サーボ制御装置のフィードフォワード処理部(例えば、位置フィードフォワード処理部3082、速度フィードフォワード処理部3092)のパラメータに設定する、上記(5)に記載の制御システム。
【0067】
(7)コンピュータに、
モータ(例えば、モータ50)、及び工作機械、ロボット又は産業機械の機構部の機械モデルを作成する処理と、
前記機械モデル及びフィードフォワード処理部(例えば、位置フィードフォワード処理部6082、速度フィードフォワード処理部6092)を含むシミュレーション部(例えば、シミュレーション部600)で、前記モータを制御するサーボ制御装置の動作をシミュレーションする処理と、
前記フィードフォワード処理部の次数を複数設定したときの、位置指令を生成するための加減速時定数と前記フィードフォワード処理部のパラメータを調整する処理と、
を行わせる調整支援方法。
この調整支援方法によれば、高次のフィードフォワードを使用した場合と使用しない場合のシミュレーションを行って、加減速時定数とフィードフォワードのパラメータの調整の支援を行うことができる。
【符号の説明】
【0068】
10、10A 制御システム
20 CNC装置
30 サーボ制御装置
40 調整支援装置
50 モータ
201 プログラム解析部
202 補間部
203 加減速制御部
204 指令出力部
301、601 減算器
302、602 位置制御部
303、603 加算器
304、604 減算器
305、605 速度制御部
306、606 加算器
307、607 積分器
308、608 位置フィードフォワード計算部
309、609 速度フィードフォワード計算部
400 周波数特性測定部
500 機械モデル作成部
600 シミュレーション部
610 機械モデル
611 位置指令生成部
700 自動調整部
800 出力部
900 ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9