(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】学習装置、制御装置、及び学習方法
(51)【国際特許分類】
H02P 23/14 20060101AFI20240409BHJP
H02P 23/20 20160101ALI20240409BHJP
【FI】
H02P23/14
H02P23/20
(21)【出願番号】P 2020022848
(22)【出願日】2020-02-13
【審査請求日】2022-12-19
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】三枝 勝博
(72)【発明者】
【氏名】河合 健司
【審査官】保田 亨介
(56)【参考文献】
【文献】特開2017-046487(JP,A)
【文献】特開2018-014838(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P4/00
6/00-6/34
21/00-25/03
25/04
25/08-31/00
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを備える学習装置であって、
モータの駆動状態に関する情報を入力、前記モータの励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を前記プロセッサに学習させる学習部を備え、
前記モータの励磁電流を立ち上げる場合、
前記モータの駆動状態に関する情報は、前記励磁電流の立ち上げ終了時間に関する情報と、前記モータの温度に関する情報とを含み、
前記励磁電流に関する情報は、励磁電流の大きさと、前記励磁電流の立ち上げ開始時間との情報を含み、
前記学習部は、前記励磁電流の立ち上げ終了時間と、前記モータの加速度の立ち上げ開始時間との差の絶対値が小さくなるように、前記励磁電流の立ち上げ開始時間を調整する行動に対しプラスの報酬を与える、
学習装置。
【請求項2】
少なくとも1つのプロセッサを備える学習装置であって、
モータの駆動状態に関する情報を入力、前記モータの励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を前記プロセッサに学習させる学習部を備え、
前記モータの励磁電流を立ち上げる場合、
前記モータの駆動状態に関する情報は、前記励磁電流の立ち上げ終了時間に関する情報と、前記モータの温度に関する情報とを含み、
前記励磁電流に関する情報は、励磁電流の大きさと、前記励磁電流の立ち上げ開始時間との情報を含み、
前記モータの駆動状態に関する情報は、前記モータの励磁電流の立ち上げに要する時間と、前記モータの加速度の立ち上げに要する時間と、を含み、
前記学習部は、前記励磁電流の立ち上げに要する時間と、前記モータの加速度の立ち上げに要する時間との和が小さくなるように、前記励磁電流の立ち上げ開始時間を調整する行動に対しプラスの報酬を与える、
学習装置。
【請求項3】
少なくとも1つのプロセッサを備える学習装置であって、
モータの駆動状態に関する情報を入力、前記モータの励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を前記プロセッサに学習させる学習部を備え、
前記モータの負荷を増加させる場合、
前記モータの駆動状態に関する情報は、前記モータの速度が低下したときの低下幅と、前記励磁電流の電流量との情報を含み、
前記励磁電流に関する情報は、前記励磁電流の電流量の情報を含み、
前記学習部は、前記速度の低下幅が小さくなるように、前記励磁電流の大きさを調整する行動に対しプラスの報酬を与える、
学習装置。
【請求項4】
産業機械のモータを制御する制御装置であって、
請求項1~
3のいずれかに記載の学習装置を備え、
前記学習装置が学習した励磁電流に基づき前記モータを駆動する、制御装置。
【請求項5】
少なくとも1つのプロセッサによって実装される学習方法であって、
モータの駆動状態に関する情報を入力、前記モータに印可する励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を学習する際に、
前記モータの励磁電流を立ち上げる場合、
前記モータの駆動状態に関する情報は、前記励磁電流の立ち上げ終了時間に関する情報と、前記モータの温度に関する情報とを含み、
前記励磁電流に関する情報は、励磁電流の大きさと、前記励磁電流の立ち上げ開始時間との情報を含み、
前記学習において、前記励磁電流の立ち上げ終了時間と、前記モータの加速度の立ち上げ開始時間との差の絶対値が小さくなるように、前記励磁電流の立ち上げ開始時間を調整する行動に対しプラスの報酬を与える、
学習方法。
【請求項6】
少なくとも1つのプロセッサによって実装される学習方法であって、
モータの駆動状態に関する情報を入力、前記モータに印可する励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を学習する際に、
前記モータの励磁電流を立ち上げる場合、
前記モータの駆動状態に関する情報は、前記励磁電流の立ち上げ終了時間に関する情報と、前記モータの温度に関する情報とを含み、
前記励磁電流に関する情報は、励磁電流の大きさと、前記励磁電流の立ち上げ開始時間との情報を含み、
前記モータの駆動状態に関する情報は、前記モータの励磁電流の立ち上げに要する時間と、前記モータの加速度の立ち上げに要する時間と、を含み、
前記学
習において、前記励磁電流の立ち上げに要する時間と、前記モータの加速度の立ち上げに要する時間との和が小さくなるように、前記励磁電流の立ち上げ開始時間を調整する行動に対しプラスの報酬を与える、
学習方法。
【請求項7】
少なくとも1つのプロセッサによって実装される学習方法であって、
モータの駆動状態に関する情報を入力、前記モータに印可する励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を学習する際に、
前記モータの負荷を増加させる場合、
前記モータの駆動状態に関する情報は、前記モータの速度が低下したときの低下幅と、前記励磁電流の電流量との情報を含み、
前記励磁電流に関する情報は、前記励磁電流の電流量の情報を含み、
前記学
習において、前記速度の低下幅が小さくなるように、前記励磁電流の大きさを調整する行動に対しプラスの報酬を与える、
学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、制御装置、及び学習方法に関する。
【背景技術】
【0002】
工作機械の軸は、モータで駆動されている。サーボモータを駆動する際、モータの磁束を制御する。モータの磁束は電流の遅れ要素であり、十分な磁束が立ち上がるまでの準備時間が必要である。モータの加速度も遅れ要素であり、磁束が十分立ち上がった後、所望の加速度に到達するまで準備時間が必要である。
【0003】
磁束を立ち上げるには、励磁電流を上げる。励磁電流を上げると、磁束が徐々に上昇し、磁束が安定する。従来、磁束が安定するまでの時間はモータの時定数で設定している。時定数に基づいて磁束の立ち上がりに必要な時間を算出する。
【0004】
産業機械の制御装置は、動作プログラムを先読みし、速度指令の変化(増加)を事前に検知する。速度指令が変化(増加)する時刻t1までにモータの磁束が十分に立ち上がるように、時刻t1よりも所定時間だけ早い時刻t0において磁束指令又は励磁電流指令を増加させる。例えば、特許文献1参照。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
時定数に基づいて磁束の立ち上がり時間を推定すると、ズレが生じる。そのため、余裕を持って励磁電流を増加させ、速度指令が変化(増加)する時刻までに磁束を立ち上げる。余裕を持って励磁電流を増加させると、磁束が立ち上がる時間と速度指令を変化させる時間との間にタイムラグが生じる。
【0007】
また、モータの速度制御を行う場合、磁束が立ち上がった後に、加速度を増加する。磁束の立ち上げと同様、加速度の増加にも準備時間が必要である。開始時間に余裕を持たせると、タイムラグが生じることがある。また、開始時間が早すぎると、電流増加時間が長くなり、モータの温度上昇に繋がる。
【0008】
産業機械の制御において、モータを適切に制御する技術が望まれている。
【課題を解決するための手段】
【0009】
本開示の一態様である学習装置は、少なくとも1つのプロセッサを備える学習装置であって、モータの駆動状態に関する情報を入力、前記モータの励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を前記プロセッサに学習させる学習部を備え、前記モータの励磁電流を立ち上げる場合、前記モータの駆動状態に関する情報は、前記励磁電流の立ち上げ終了時間に関する情報と、前記モータの温度に関する情報とを含み、前記励磁電流に関する情報は、励磁電流の大きさと、前記励磁電流の立ち上げ開始時間との情報を含み、前記学習部は、前記励磁電流の立ち上げ終了時間と、前記モータの加速度の立ち上げ開始時間との差の絶対値が小さくなるように、前記励磁電流の立ち上げ開始時間を調整する行動に対しプラスの報酬を与える。
本開示の他の態様である学習装置は、少なくとも1つのプロセッサを備える学習装置であって、モータの駆動状態に関する情報を入力、前記モータの励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を前記プロセッサに学習させる学習部を備え、前記モータの励磁電流を立ち上げる場合、前記モータの駆動状態に関する情報は、前記励磁電流の立ち上げ終了時間に関する情報と、前記モータの温度に関する情報とを含み、前記励磁電流に関する情報は、励磁電流の大きさと、前記励磁電流の立ち上げ開始時間との情報を含み、前記モータの駆動状態に関する情報は、前記モータの励磁電流の立ち上げに要する時間と、前記モータの加速度の立ち上げに要する時間と、を含み、前記学習部は、前記励磁電流の立ち上げに要する時間と、前記モータの加速度の立ち上げに要する時間との和が小さくなるように、前記励磁電流の立ち上げ開始時間を調整する行動に対しプラスの報酬を与える。
本開示の他の態様である学習装置は、少なくとも1つのプロセッサを備える学習装置であって、モータの駆動状態に関する情報を入力、前記モータの励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を前記プロセッサに学習させる学習部を備え、前記モータの負荷を増加させる場合、前記モータの駆動状態に関する情報は、前記モータの速度が低下したときの低下幅と、前記励磁電流の電流量との情報を含み、前記励磁電流に関する情報は、前記励磁電流の電流量の情報を含み、前記学習部は、前記速度の低下幅が小さくなるように、前記励磁電流の大きさを調整する行動に対しプラスの報酬を与える。
本開示の一態様である制御装置は、産業機械のモータを制御する制御装置であって、学習装置を備え、前記学習装置が学習した励磁電流に基づき前記モータを駆動する。
【0010】
本開示の一態様である学習方法は、少なくとも1つのプロセッサによって実装される学習方法であって、モータの駆動状態に関する情報を入力、前記モータに印可する励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を学習する際に、前記モータの励磁電流を立ち上げる場合、前記モータの駆動状態に関する情報は、前記励磁電流の立ち上げ終了時間に関する情報と、前記モータの温度に関する情報とを含み、前記励磁電流に関する情報は、励磁電流の大きさと、前記励磁電流の立ち上げ開始時間との情報を含み、前記学習において、前記励磁電流の立ち上げ終了時間と、前記モータの加速度の立ち上げ開始時間との差の絶対値が小さくなるように、前記励磁電流の立ち上げ開始時間を調整する行動に対しプラスの報酬を与える。
本開示の他の態様である学習方法は、少なくとも1つのプロセッサによって実装される学習方法であって、モータの駆動状態に関する情報を入力、前記モータに印可する励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を学習する際に、前記モータの励磁電流を立ち上げる場合、前記モータの駆動状態に関する情報は、前記励磁電流の立ち上げ終了時間に関する情報と、前記モータの温度に関する情報とを含み、前記励磁電流に関する情報は、励磁電流の大きさと、前記励磁電流の立ち上げ開始時間との情報を含み、前記モータの駆動状態に関する情報は、前記モータの励磁電流の立ち上げに要する時間と、前記モータの加速度の立ち上げに要する時間と、を含み、前記学習において、前記励磁電流の立ち上げに要する時間と、前記モータの加速度の立ち上げに要する時間との和が小さくなるように、前記励磁電流の立ち上げ開始時間を調整する行動に対しプラスの報酬を与える。
本開示の他の態様である学習方法は、少なくとも1つのプロセッサによって実装される学習方法であって、モータの駆動状態に関する情報を入力、前記モータに印可する励磁電流に関する情報を出力とし、前記モータの駆動状態に適した励磁電流を学習する際に、前記モータの負荷を増加させる場合、前記モータの駆動状態に関する情報は、前記モータの速度が低下したときの低下幅と、前記励磁電流の電流量との情報を含み、前記励磁電流に関する情報は、前記励磁電流の電流量の情報を含み、前記学習において、前記速度の低下幅が小さくなるように、前記励磁電流の大きさを調整する行動に対しプラスの報酬を与える。
【発明の効果】
【0011】
本発明の一態様によれば、モータを適切に制御することができる。
【図面の簡単な説明】
【0012】
【
図1】本実施形態における学習装置、数値制御装置、産業機械を示す図である。
【
図2】本実施形態における学習装置、数値制御装置のハードウェア構成図である。
【
図4】励磁電流の立ち上げと加速度の立ち上げの関係を示す図である。
【
図5】励磁電流の立ち上げと負荷増加時における速度の変化を示す図である。
【
図6】学習装置の学習手順を示すフローチャートである。
【
図7】本実施形態における数値制御装置のブロック図である。
【発明を実施するための形態】
【0013】
以下、本開示の学習装置100と数値制御装置200を説明する。
図1における本開示の学習装置100は、例えば、パーソナルコンピュータであり、プロセッサを用いて所定の学習プログラムを実行させることにより実現される。学習装置100は、本開示の制御装置としての数値制御装置200と接続されている。数値制御装置200は、産業機械300のサーボモータ242を制御する。本開示におけるサーボモータ242は誘導モータ250である。誘導モータ250は、速度サーボ機構や位置サーボ機構を備えており、誘導モータ250に印可する電流を変化させることによって速度や負荷を制御する。誘導モータ250には、温度センサ、位置センサ、速度センサが設けられており、誘導モータ250の状態情報を取得する。誘導モータ250の状態情報は、数値制御装置にフィードバックされる。学習装置100は、数値制御装置にフィードバックされた誘導モータの状態情報を入力し、誘導モータ250の行動を学習する。
【0014】
学習装置100の学習結果は、パラメータの決定プロセスにおいてサーボアンプ241にフィードフォワードしてもよい。これにより、産業機械300の設定時間が短縮されたり、加工時間が短縮されたりする。
【0015】
なお、学習装置100、数値制御装置200、産業機械300の構成は、
図1に限定されない。数値制御装置200が学習装置100の機能を備えてもよいし、サーボアンプ241と数値制御装置200とを個別の装置にしてもよい。また、誘導モータ250の状態情報や学習プログラムは、特定のコンピュータで占有するのではなく、広域又は狭域のネットワークを介して共有してもよい。
【0016】
図2は、学習装置100と数値制御装置200のハードウェア構成図である。学習装置100は、CPU111、ROM112、RAM113、不揮発性メモリ114、バス120を備える。
【0017】
CPU111は、学習装置100を全体的に制御するプロセッサである。CPU111は、バス120を介してROM112に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って学習装置100の全体を制御する。RAM113には、一時的な計算データや表示データ、オペレータが入力した各種データ等が一時的に格納される。
【0018】
不揮発性メモリ114は、例えば図示しないバッテリでバックアップされるなどして、学習装置100の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ114には、インタフェース115を介して外部機器から読み込まれたプログラムや図示しない入力部を介して入力されたプログラムなどが記憶される。不揮発性メモリ114に記憶されたプログラムは、RAM113に展開される。また、ROM112には、本開示に係る学習プログラムや学習装置100全体を制御するシステム・プログラムが書き込まれている。学習装置100の学習を不揮発性メモリ114やネットワーク上に記憶するプログラムを実行することにより実現される。
【0019】
数値制御装置200が備えるCPU211は、数値制御装置200を全体的に制御するプロセッサである。CPU211は、バス220を介してROM212に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って数値制御装置200の全体を制御する。RAM213には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【0020】
不揮発性メモリ214は、例えば図示しないバッテリでバックアップされるなどして、数値制御装置200の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ214には、インタフェース215を介して外部機器から読み込まれたプログラムや入力部(図示省略)を介して入力されたプログラム、数値制御装置200の各部や工作機械等から取得された各種データ(例えば、工作機械から取得した設定パラメータ等)が記憶される。不揮発性メモリ214に記憶されたプログラムや各種データは、実行時/利用時にはRAM213に展開されても良い。また、ROM212には、各種のシステム・プログラムがあらかじめ書き込まれている。
【0021】
インタフェース215は、数値制御装置200とアダプタ等の外部機器と接続するためのインタフェースである。PMC(プログラマブル・マシン・コントローラ)216は、数値制御装置200に内蔵されたシーケンス・プログラムで工作機械やロボット、該工作機械や該ロボットに取り付けられたセンサ等のような装置との間でI/Oユニット217を介して信号の入出力を行い制御する。
【0022】
工作機械の各軸を制御するための軸制御回路240はCPU211からの軸の回転指令を受けて、軸の指令をサーボアンプ241に出力する。サーボアンプ241はこの指令を受けて、工作機械の主軸を回転させる誘導モータ250を駆動する。主軸は、位置センサ252、速度センサ253を内蔵し、位置センサ252と速度センサ253からの位置・速度フィードバック信号を軸制御回路240にフィードバックし、位置・速度のフィードバック制御を行う。
【0023】
サーボモータ242には、位置センサ252、速度センサ253の他に、温度センサ251を備える。数値制御装置200は、これらのセンサが取得した情報を誘導モータ250の状態情報として学習装置100に出力する。ここで出力される状態情報は、時間と関連付けて記録される時系列データである。
【0024】
本開示におけるサーボアンプ241は、ベクトル制御により誘導モータ250を制御する。ベクトル制御とは、誘導モータを流れる電流を、トルクを発生する電流成分と磁束を発生する電流成分に分解し、速度センサを用いてベクトルを制御する方法である。モータの回転状態をモータに取り付けた検出器によって検出すると同時に、モータの電流から負荷の大きさを判断して、目標とする速度やトルクを発生することができる。
【0025】
図3~
図5を参照して、学習装置100について説明する。
図3は学習装置のブロック図である。学習装置100は、誘導モータ250の状態情報を入力する状態情報入力部11と、入力した状態情報を記憶する状態情報記憶部12と、誘導モータの励磁電流を学習する学習部13と、使用する学習モデルを切り換える学習モデル切換部14と、学習結果を記憶する学習結果記憶部15と、学習結果をサーボアンプ241に出力する学習結果出力部16とを備える。
【0026】
本開示における学習部13は、強化学習を行う。強化学習とは、対象について不完全な知識しかなく、対象へのはたらきかけによって観測する状態が変わってくる場合に、最適なはたらきかけ方の系列を発見する学習方法である。学習部13の学習対象は誘導モータ250である。誘導モータ250に印可する励磁電流の大きさを変化させると誘導モータ250の駆動状態が変化する。学習部13は、駆動状態を状態情報として入力し、励磁電流の大きさ、及び励磁電流の立ち上げ指令の出力時間が最適となるよう学習する。
【0027】
学習部13に入力される状態情報には誘導モータ250の温度が含まれる。学習部13の学習モデルは、誘導モータ250の温度が許容範囲内に含まれるという状態を目標状態とする。学習モデルの設計者は、誘導モータ250が目標状態に収束するように学習の報酬を設定する。例えば、励磁電流の立ち上げ指令を出力するという行動の結果、通常は、誘導モータ250の温度が上がるが、誘導モータ250の温度が許容範囲内にあればプラスの報酬を与える。逆に、誘導モータ250の温度が許容範囲外になれば報酬を与えない、又は、マイナスの報酬を与える。このように学習させることにより、誘導モータ250の温度を許容範囲内に維持しつつ励磁電流の大きさと立ち上げ指令の出力時間を適切な値に設定することができる。
【0028】
本開示の学習部13は、2つの学習モデルを学習する。学習モデル切換部14は、誘導モータ250の負荷を上げる場合と、誘導モータ250の速度を上げる場合とで、2つの学習モデルを切り換える。どちらの学習モデルに切り換えるかの判定は、例えば、プログラム解析によって行う。具体的に言えば、プログラム内に誘導モータ250の加速指令があれば、加速の学習モデルに切り換え、プログラム内に切削などの負荷を上げる指令があれば、負荷増加の学習モデルに切り換える。どの学習モデルに切り換えるかは、プログラムだけではなく、速度、加速度などの波形からも判定できる。
【0029】
[加速時の電流変化]
まず、誘導モータ250を加速する場合について考える。
図4(a)は、誘導モータ250を加速する場合の励磁電流の変化と、誘導モータ250の加速度の変化との関係を示している。誘導モータ250の加速度は、励磁電流の立ち上げ段階と、誘導モータ250の加速段階との2つの段階に分けることができる。それぞれの段階では、磁束の立ち上げ時間T1と、加速度の立ち上げ時間T2を要するものとする。学習の1つの目的は、この磁束の立ち上げ時間T1と、加速度の立ち上げ時間T2を短縮させることである。
【0030】
励磁電流の立ち上げ開始指令を出力する時刻をtgとし、実際に励磁電流の立ち上げが終了する時刻をtfとし、加速度の立ち上げ開始に適した時刻をtaとする。
図4(b)に示すように、時刻taまでに励磁電流が十分な大きさになっていないと、加速度の立ち上がりが遅くなる。また、
図4(c)に示すように、励磁電流の立ち上げ終了時刻tfが時刻taより早いと、励磁電流の印加時間が長くなり、誘導モータの温度上昇に繋がる。
【0031】
[負荷増加時の電流変化]
図5は、誘導モータ250の負荷を増加させる場合の励磁電流の変化と、誘導モータ250の速度の変化との関係を示している。誘導モータ250の負荷を増加させる場合も、誘導モータ250の励磁電流を立ち上げる段階と、誘導モータ250に負荷をかける段階との2段階に分かれる。励磁電流を立ち上げる段階では、誘導モータ250を加速する場合と同様、励磁電流を大きくすることで励磁電流の立ち上げ時間T1を短縮しつつ、励磁電流の立ち上げ開始時刻tgを調整する。
【0032】
誘導モータ250の負荷がかかると誘導モータ250の速度が低下する。例えば、切削の場合、誘導モータ250に取り付けられた被切削物に工具が接触すると、その瞬間、誘導モータ250の速度が低下する。速度の低下幅Vdは小さいほうが、加工が安定する。加工を安定させるには励磁電流が大きいほうがよいが、励磁電流が大きいと誘導モータ250の温度が高くなる。学習部13は、誘導モータ250の温度が許容範囲内を維持しつつ速度の低下幅Vdが小さくなるように学習する。
【0033】
ここで、加速時の学習モデルの例を2つと、負荷増加時の学習モデルの例を2つ示す。
[加速時の学習モデル1]
この例において、学習装置100は、励磁電流の立ち上げ時間T1と加速度の立ち上げ時間T2の短いときに高い報酬を与える。学習の目的は、誘導モータ250の温度を許容範囲に維持しつつ、加速に要する時間を短縮することである。この学習モデルの1ステップは、励磁電流立ち上げ開始から加速度の立ち上がりの終了までである。学習装置100は、このステップを繰り返し学習する。選択可能な行動は、a1(時刻tg時の励磁電流を大きくする)と、a2(励磁電流立ち上げの開始時間を遅くする)、a3(時刻ta時の励磁電流を大きくする)の3つとする。学習対象である誘導モータ250が取りうる状態は、(1)誘導モータ250の温度、(2)励磁電流の立ち上げ時間T1と加速度の立ち上げ時間T2の和(T1+T2)である。ここで、誘導モータ250の温度が許容範囲内にあり、T1+T2が短くなる行動に高い報酬を与えると、目的状態に近い行動が学習できる。
【0034】
[負荷増加時の学習モデル1]
この例において、学習装置100は、励磁電流の立ち上げ開始から負荷の増加終了までを1ステップとする。学習装置100は、このステップを繰り返し学習する。選択可能な行動は、a1(励磁電流の大きさを大きくする)とa2(励磁電流立ち上げの開始時間を遅くする)の2つとする。学習対象である誘導モータ250が取りうる状態は、(1)誘導モータ250の温度、(2)励磁電流の立ち上げ時間T1、(3)速度の低下幅Vdとする。ここで、誘導モータ250の温度が許容範囲内にあり、励磁電流の立ち上げ時間T1が小さく、速度の低下幅Vdが小さくなる行動に高い報酬を与えると、目的状態に近い行動が学習できる。
【0035】
上述した学習モデルは一例であり、本開示の要旨は、誘導モータ250の駆動状態に関する情報を入力し、誘導モータ250の励磁電流に関する情報を出力する学習部13を提供することである。
【0036】
ここで、学習モデルの他の例を挙げる。
[加速時の学習モデル2]
この例において、学習装置100は、時刻taとtfとの差が小さく、加速度の立ち上げ時間T2が短いときに高い報酬を与える。学習の目的は、誘導モータ250の温度を許容範囲内に維持しつつ、加速度の立ち上げに適した時刻taと励磁電流の立ち上げ終了時刻tfとを近づけ、さらに、加速度の立ち上げ時間T2を短縮することである。この学習モデルの1ステップは、励磁電流の立ち上げ開始から加速度の立ち上げ終了までである。学習装置100は、このステップを繰り返し学習する。選択可能な行動は、a1(時刻tg時の励磁電流を大きくする)、a2(励磁電流の立ち上げ時刻tgを遅くする)、a3(時刻ta時の励磁電流を大きくする)の3つとする。学習対象である誘導モータ250が取り得る状態は、(1)誘導モータ250の温度、(2)励磁電流の立ち上げ終了時刻tf、(3)加速度の立ち上げ時間T2である。ここで、誘導モータ250の温度が許容範囲内にあり、taとtfの差が小さくなり、加速度の立ち上げ時間T2が短くなる行動に高い報酬を与えると、目的状態に近い行動が学習できる。
【0037】
[負荷増加時の学習モデル2]
この例において、学習装置100は、時刻taとtfの差が小さく、速度の低下幅Vdが小さくなる行動に高い報酬を与える。学習の目的は、誘導モータ250の温度を許容範囲内に維持しつつ、負荷の増加時刻tg前に励磁電流の立ち上げを終了することである。この学習モデルの1ステップは、励磁電流の立ち上げ開始から負荷の増加までである。学習装置100は、このステップを繰り返し学習する。選択可能な行動は、a1(時刻tg時の励磁電流を大きくする)、a2(励磁電流の立ち上げ開始時刻tgを遅くする)の2つとする。学習対象である誘導モータ250が取り得る状態は、(1)誘導モータ250の温度、(2)励磁電流の立ち上げ終了時刻ts、(3)速度の低下幅Vdとする。ここで、誘導モータ250の温度が許容範囲内にあり、taとtfの差が小さく、速度の低下幅Vdが小さくなる行動に高い報酬を与えると、目的状態に近い行動が学習できる。
【0038】
本実施の形態では、学習装置100は、誘導モータ250を加速する場合と、誘導モータ250の負荷を増加させる場合の2つの場合に応じて学習モデルを切り換える。なお、励磁電流の立ち上げ終了時刻tfや加速度の立ち上げ時間T2は、励磁電流や加速度の値から計算するようにしてもよい。また、加速度の立ち上げに適した時刻taは、プログラムやシミュレーションから推定したり、実際に産業機械を動かして確認したりする。
速度の低下幅は、速度の値から計算するようにしてもよい。また、誘導モータ250の負荷を増加する時刻tbは、プログラムやシミュレーションから推定したり、実際に産業機械を動かして判定したりする。
【0039】
次いで、学習装置100の動作を
図6のフローチャートを参照して説明する。学習の開始時には、まず初期設定を行う。上述の学習装置100では、励磁電流の大きさと、励磁電流の立ち上げ開始時刻tgとを行動とするため、過去のデータや経験に基づき目標値に近い値を初期値として設定する(ステップS1)。確からしい値を初期値として設定すると学習の収束が早まる。
【0040】
次いで、学習モデル切換部14は、プログラム解析を行い(ステップS2)、励磁電流の立ち上げ、加速度の立ち上げ、負荷の増加に関連する指令がプログラムに記載されているか否かを探索する。該当する指令がプログラムに記載されている場合、指令の種類に応じて学習モデルを切り換える(ステップS3)。
【0041】
指令が誘導モータ250の加速度の立ち上げに関する場合(ステップS3;加速度)、学習部13は、(1)誘導モータ250の温度、(2)励磁電流の立ち上げ時間T1と加速度の立ち上げ時間T2の和を含む情報を状態情報として入力して、a1(時刻tg時の励磁電流を大きくする)と、a2(励磁電流立ち上げの開始時間を遅くする)、a3(時刻ta時の励磁電流を大きくする)の3つの行動の方策を学習する(ステップS4)。
【0042】
指令が誘導モータ250の負荷の増加に関する場合(ステップS3;負荷)、学習部13は、(1)誘導モータ250の温度、(2)励磁電流の立ち上げ終了時間tf、(3)速度の低下幅Vdを含む情報を状態情報として入力して、a1(励磁電流を大きくする)と、a2(励磁電流立ち上げの開始時間を遅くする)の2つの行動の方策を学習する(ステップS5)。
【0043】
学習部13は、所定の回数、または、入力データが存在する限り学習を継続する。学習を継続する場合(ステップS6;Yes)、ステップS2のプログラム解析に移行し学習を繰り返す。なお、同じ動作を何度も繰り返すのであれば、プログラムを解析せずに学習モデルを固定してもよい。
学習が終了すると、学習結果記憶部15に学習結果を記憶し、必要に応じて学習結果を数値制御装置200などに出力する(ステップS7)。
【0044】
学習モデルの構成や入力、出力も上記のものには限定されない。例えば、上記の開示では2つの学習モデルを切り替えたが、3つの学習モデルを切り替えることもできる。3つの学習モデルの一例として、励磁電流の立ち上げの学習モデルと、誘導モータ250の加速度の立ち上げの学習モデルと、誘導モータ250の負荷増加の学習モデルである。励磁電流の立ち上げの学習モデルでは、誘導モータ250の温度を許容範囲に維持しつつ励磁電流の立ち上げ時間T1が短くなるよう、励磁電流の立ち上げ開始時刻tgと時刻tg時の励磁電流の大きさを学習する。誘導モータ250の加速度の立ち上げの学習モデルでは、誘導モータ250の温度を許容範囲に維持しつつ加速度の立ち上げ時間T2が小さくなるよう時刻ta時の励磁電流の大きさを学習する。誘導モータ250の負荷増加の学習モデルでは、誘導モータ250の温度を許容範囲に維持しつつ負荷増加時の誘導モータの速度低下Vdが小さくなるよう学習する。3つの学習モデルは、それぞれ、誘導モータ250の温度を許容範囲内に維持しつつ、目的状態に収束するよう学習を行う。
【0045】
上述した学習モデルは、状態情報として誘導モータの温度、励磁電流の立ち上げ時間T1、加速度の立ち上げ時間T2、速度の低下幅Vdなどの連続値を入力し、行動としてa1(時刻tg時の励磁電流の大きさ)、a2(励磁電流の立ち上げ開始時間)、a3(時刻ta時の励磁電流の大きさ)などの連続値を出力する。そのため、学習部13は、例えば、方策勾配法など連続値を扱うことのできる学習アルゴリズムで学習を行う。なお、学習部13は、使用する学習モデルや学習アルゴリズムに応じて入力した状態情報の正規化など、情報の前処理を行う。
【0046】
入力情報や出力情報を離散化すれば、Q-Learningなどの離散値を扱う学習アルゴリズムを使用することも可能である。その場合、学習部13では情報の離散化などの前処理を行う。
【0047】
学習部13の学習は、誘導モータ250の駆動と同時に動的に行ってもよいし、過去の誘導モータ250の駆動状態と行動とを状態情報記憶部12に記憶し、蓄積した状態情報と行動とを学習してもよい。
図1に示すように学習結果をフィードフォワードして、産業機械の準備時間の短縮や安定性を向上させることもできる。
【0048】
最後に、学習装置100の学習結果を数値制御装置200で利用する構成について説明する。
図7は、数値制御装置200のブロック図である。数値制御装置200は、学習結果を入力する学習結果入力部21と、学習結果に基づきサーボアンプ241に指令を送る学習指令出力部22とを備える。学習結果は、例えば、プログラムの指令と、励磁電流の大きさと、励磁電流の増加指令の出力時間とを対応づけた情報である。数値制御装置200は、誘導モータ250を制御する際、該当するプログラムの指令が存在すると、学習結果を読み出す。そして、読み出した学習結果に従い、誘導モータ250の励磁電流の立ち上げ指令を出力する。学習部13が学習した励磁電流の立ち上げ時間に、学習部13が学習した大きさの励磁電流を印加することにより、励磁電流の立ち上げに要する準備時間が短縮される。また、加速度を立ち上げる場合には、加速度の立ち上げ時間も短縮される。負荷を増加させる場合には、速度の低下幅を少なくすることができる。
【0049】
以上、ここまで本発明の実施の形態について説明したが、本発明は上記した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【0050】
100 学習装置
111 CPU
11 状態情報入力部
13 学習部
14 学習モデル切換部
16 学習結果出力部
200 数値制御装置
211 CPU
240 軸制御回路
241 サーボアンプ
242 サーボモータ
250 誘導モータ
251 温度センサ
252 位置センサ
253 速度センサ