(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023139729
(43)【公開日】2023-10-04
(54)【発明の名称】サーボ制御装置、サーボシステムおよびサーボ制御方法
(51)【国際特許分類】
G05B 13/04 20060101AFI20230927BHJP
【FI】
G05B13/04
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022045414
(22)【出願日】2022-03-22
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(71)【出願人】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100118762
【弁理士】
【氏名又は名称】高村 順
(72)【発明者】
【氏名】佐藤 剛
(72)【発明者】
【氏名】中根 滉稀
(72)【発明者】
【氏名】西野 慎哉
(72)【発明者】
【氏名】麻生 英樹
(72)【発明者】
【氏名】赤穂 昭太郎
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GB18
5H004HA07
5H004HA08
5H004HA09
5H004HA14
5H004HB07
5H004HB08
5H004HB09
5H004HB14
5H004KC27
5H004KD62
5H004LA12
5H004MA04
5H004MA36
(57)【要約】
【課題】アクチュエータの高精度かつ安定した制御を可能とするサーボ制御装置を得ること。
【解決手段】サーボ制御装置2は、アクチュエータを制御するための指令情報11を生成する指令生成部5と、アクチュエータまたはアクチュエータが駆動する機械系4の状態量の予測値と予測値の信頼度を表す指標とを同時に算出する状態量予測部7と、指令情報11を補正するための補正量を予測値と指標とに基づいて算出する補正量演算部8と、補正量を用いて補正された指令情報11に基づいてアクチュエータを制御するサーボ制御部6と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
アクチュエータを制御するための指令情報を生成する指令生成部と、
前記アクチュエータまたは前記アクチュエータが駆動する機械系の状態量の予測値と前記予測値の信頼度を表す指標とを同時に算出する状態量予測部と、
前記指令情報を補正するための補正量を前記予測値と前記指標とに基づいて算出する補正量演算部と、
前記補正量を用いて補正された前記指令情報に基づいて前記アクチュエータを制御するサーボ制御部と、
を備えることを特徴とするサーボ制御装置。
【請求項2】
前記状態量予測部は、前記予測値を算出する時点における状態についての前記状態量、または前記予測値を算出する時点よりも後の時点における状態についての前記状態量を予測し、予測された前記状態量の時点に一致するタイミングにおいて前記予測値を出力することを特徴とする請求項1に記載のサーボ制御装置。
【請求項3】
前記状態量予測部は、前記状態量の実測値と前記指令情報とを入力として、予測モデルの使用により現在または未来の前記状態量を予測することを特徴とする請求項1または2に記載のサーボ制御装置。
【請求項4】
前記状態量予測部は、前記予測モデルを用いて、予測される前記状態量の確率分布を求め、前記確率分布に基づいて前記予測値と前記指標とを算出することを特徴とする請求項3に記載のサーボ制御装置。
【請求項5】
前記予測モデルを学習する学習部をさらに備えることを特徴とする請求項3または4に記載のサーボ制御装置。
【請求項6】
前記指令情報は、前記アクチュエータの位置、速度、加速度またはトルクと、前記アクチュエータに流れる電流とのうち少なくとも1つの指令値を含み、
前記実測値は、前記アクチュエータの位置、速度、加速度またはトルクと、前記アクチュエータに流れる電流と、前記機械系が有する被駆動体の位置または速度とのうち少なくとも1つの値を含むことを特徴とする請求項3から5のいずれか1つに記載のサーボ制御装置。
【請求項7】
前記予測値が適正な値か否かを判断するための前記指標の閾値が設定されており、
前記補正量演算部は、算出された前記指標の値が前記閾値により定まる範囲から外れた値である場合に、前記補正量をゼロとすることを特徴とする請求項1から6のいずれか1つに記載のサーボ制御装置。
【請求項8】
前記補正量の評価値を算出する補正量評価部をさらに備え、
前記補正量演算部は、前記評価値に基づいて前記補正量を算出することを特徴とする請求項1から7のいずれか1つに記載のサーボ制御装置。
【請求項9】
前記補正量評価部は、あらかじめ設定された評価関数に基づいて前記補正量の複数の候補値の各々についての前記評価値を算出し、
前記補正量演算部は、前記複数の候補値の各々について算出された前記評価値に基づいて、前記複数の候補値の中から前記補正量の値を決定することを特徴とする請求項8に記載のサーボ制御装置。
【請求項10】
前記補正量に対する前記アクチュエータまたは前記機械系の応答特性に基づいて前記補正量を修正する補正量修正部をさらに備えることを特徴とする請求項1から9のいずれか1つに記載のサーボ制御装置。
【請求項11】
アクチュエータと、
前記アクチュエータを制御するための指令情報を生成する指令生成部と、
前記アクチュエータまたは前記アクチュエータが駆動する機械系の状態量の予測値と前記予測値の信頼度を表す指標とを予測モデルに基づいて同時に算出する状態量予測部と、
前記指令情報を補正するための補正量を前記予測値と前記指標とに基づいて算出する補正量演算部と、
前記補正量を用いて補正された前記指令情報に基づいて前記アクチュエータを制御するサーボ制御部と、
前記状態量の実測値を含む訓練データを用いて前記予測モデルを学習する学習部と、
を備えることを特徴とするサーボシステム。
【請求項12】
前記補正量に対する前記アクチュエータまたは前記機械系の応答特性を同定する応答特性同定部と、
同定された前記応答特性に基づいて前記補正量を修正する補正量修正部と、をさらに備えることを特徴とする請求項11に記載のサーボシステム。
【請求項13】
前記応答特性同定部は、周波数領域におけるゲインおよび位相の各々により表される伝達関数を同定し、
前記補正量修正部は、前記補正量と前記伝達関数の逆モデルとを用いて、修正された前記補正量を算出することを特徴とする請求項12に記載のサーボシステム。
【請求項14】
前記補正量に対する前記アクチュエータまたは前記機械系の応答特性を同定する応答特性同定部と、
前記訓練データの作成に使用される前記実測値を、同定された前記応答特性に基づいて修正する状態量修正部と、をさらに備えることを特徴とする請求項11に記載のサーボシステム。
【請求項15】
前記応答特性同定部は、周波数領域におけるゲインおよび位相の各々により表される伝達関数を同定し、
前記状態量修正部は、前記実測値と前記伝達関数の逆モデルとを用いて、修正された前記実測値を算出することを特徴とする請求項14に記載のサーボシステム。
【請求項16】
サーボ制御装置がアクチュエータを制御するサーボ制御方法であって、
前記アクチュエータを制御するための指令情報を生成するステップと、
前記アクチュエータまたは前記アクチュエータが駆動する機械系の状態量の予測値と前記予測値の信頼度を表す指標とを同時に算出するステップと、
前記指令情報を補正するための補正量を前記予測値と前記指標とに基づいて算出するステップと、
前記補正量を用いて補正された前記指令情報に基づいて前記アクチュエータを制御するステップと、
を含むことを特徴とするサーボ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、アクチュエータを制御するサーボ制御装置、サーボシステムおよびサーボ制御方法に関する。
【背景技術】
【0002】
工作機械のモータを制御するサーボ制御装置は、工具、または被加工物を固定するテーブルといった被駆動体の位置または速度が指令に追従するように、モータに供給される電流を制御する。サーボ制御装置は、加工プログラムによって指示される移動軌跡にて被駆動体を移動させる場合、被駆動体の位置を精緻に管理しながらモータを制御する。モータの制御においては、さまざまな外乱の影響によって、指令された位置と実際の位置との誤差である軌跡誤差が生じることがある。軌跡誤差を生じさせる外乱としては、モータが回転の方向を反転させる際の摩擦によって生じるロストモーション、モータを加速または減速させる際に生じる機械系の振動などが挙げられる。従来、外乱による軌跡誤差を低減させるために、さまざまな方法が提案されている。
【0003】
外乱による軌跡誤差を低減させるための方法の1つとして、モータの軸の回転方向位置のデータまたは回転速度のデータをセンサ等によって取得し、位置または速度のデータに基づいて指令値の補正量を推定するためのモデルを使うことによって指令値を補正する方法が知られている。ただし、モータの制御において生じ得る外乱についての考慮が不十分であると、モデルの使用による補正を行っても補正の効果が表れないか、または、補正により指令値が過度に変更されることで却って軌跡誤差を悪化させる場合がある。また、モデルに入力されるデータが外乱等によって乱された場合、または、未知の入力があった場合において、想定外の補正が行われる可能性がある。このように、従来の技術によって指令値が補正されても、外乱の影響により、モータの高精度かつ安定した制御が困難になる場合があった。そこで、補正の精度を高めるために、モデルから出力される推定値の信頼性を評価し、評価の結果を制御に活用することが考えられている。
【0004】
特許文献1には、工作機械の物理状態を表す情報をニューラルネットワークへ入力することによって、工作機械の構成要素の位置の変動量または構成要素間の距離の変動量を推定し、変動量に対する補正量を算出する装置において、推定された変動量の信頼性を評価することが開示されている。特許文献1に開示されている装置は、信頼性の評価結果に基づいて調整された補正量を算出する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に開示されている装置は、推定を実行する時点における変動量を求めてから、求めた変動量についての信頼性を評価する。かかる手順によると、変動量を推定した時点から遅れて信頼性の評価結果が求まることから、指令値の補正には、過去の変動量についての信頼性を評価した結果に基づいて調整された補正量が使用されることとなる。変動量を推定する処理を複数回繰り返して実行してから信頼性を評価することから、信頼性の評価結果を得るための演算にはある程度の時間を要する。特許文献1の技術では、過去の変動量についての信頼性を評価した結果に基づいて調整された補正量が使用されることによって、補正によって軌跡誤差を低減させることができない場合がある。このため、特許文献1の技術によると、補正によって軌跡誤差を低減させることができない場合があるため、モータといったアクチュエータの高精度かつ安定した制御が困難であるという問題があった。
【0007】
本開示は、上記に鑑みてなされたものであって、アクチュエータの高精度かつ安定した制御を可能とするサーボ制御装置を得ることを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本開示にかかるサーボ制御装置は、アクチュエータを制御するための指令情報を生成する指令生成部と、アクチュエータまたはアクチュエータが駆動する機械系の状態量の予測値と予測値の信頼度を表す指標とを同時に算出する状態量予測部と、指令情報を補正するための補正量を予測値と指標とに基づいて算出する補正量演算部と、補正量を用いて補正された指令情報に基づいてアクチュエータを制御するサーボ制御部と、を備える。
【発明の効果】
【0009】
本開示にかかるサーボ制御装置は、アクチュエータの高精度かつ安定した制御が可能となるという効果を奏する。
【図面の簡単な説明】
【0010】
【
図1】実施の形態1にかかるサーボシステムの構成例を示す図
【
図2】実施の形態1にかかるサーボシステムのモータおよび機械系の構成例を示す図
【
図3】実施の形態1における状態量の予測値と予測値のばらつきとを概念的に示す説明図
【
図4】実施の形態1にかかるサーボシステムの変形例を示す図
【
図5】実施の形態1にかかるサーボシステムのサーボ制御装置が実行する処理の手順を示すフローチャート
【
図6】実施の形態2にかかるサーボシステムが有する補正量演算部の構成例を示す図
【
図7】実施の形態2の補正量演算部における評価値の演算に用いられる評価関数の例を示す図
【
図8】実施の形態3にかかるサーボシステムの構成例を示す図
【
図9】実施の形態3にかかるサーボシステムにおいて同定される応答特性について説明するための図
【
図10】実施の形態4にかかるサーボシステムの構成例を示す図
【
図11】実施の形態1から4にかかるサーボシステムのサーボ制御装置を実現するハードウェアの構成例を示す図
【発明を実施するための形態】
【0011】
以下に、実施の形態にかかるサーボ制御装置、サーボシステムおよびサーボ制御方法を図面に基づいて詳細に説明する。
【0012】
実施の形態1.
図1は、実施の形態1にかかるサーボシステム1の構成例を示す図である。サーボシステム1は、サーボ制御装置2と、アクチュエータであるモータ3と、モータ3が駆動する機械系4と、学習部9とを有する。サーボ制御装置2は、モータ3を制御する。
【0013】
サーボ制御装置2は、モータ3を制御するための指令情報11を生成する指令生成部5と、指令情報11に基づいてモータ3を制御するサーボ制御部6と、モータ3または機械系4の状態量を予測する状態量予測部7と、指令情報11を補正するための補正量を求める補正量演算部8とを有する。状態量は、モータ3の位置、速度、加速度またはトルク、モータ3に流れる電流、機械系4が有する被駆動体の位置または速度などである。
【0014】
指令生成部5は、生成した指令情報11を出力する。指令情報11は、モータ3の位置、速度、加速度またはトルクと、モータ3に流れる電流とのうち少なくとも1つの指令値を含む。指令生成部5は、数値制御装置またはモーションコントローラといった装置により実現される。サーボ制御部6は、サーボ制御周期おきにモータ3の位置、速度および加速度を制御する。サーボ制御部6は、モータ3の実際の動作状態をモニタし、モータ3の動作状態を指令値に一致させるように、モータ3に供給される電力を随時調整する。サーボ制御装置2は、モータ3に電圧を印加することによって、モータ3を駆動する。モータ3は、駆動対象である機械系4に接続されている。機械系4は、モータ3の回転に伴って動作する。
【0015】
図2は、実施の形態1にかかるサーボシステム1のモータ3および機械系4の構成例を示す図である。モータ3は、サーボモータ21と、サーボモータ21に取り付けられているモータ端位置検出器22とを有する。モータ端位置検出器22の具体例は、ロータリエンコーダである。モータ端位置検出器22は、サーボモータ21の回転角度であるモータ端位置を検出する。モータ端位置検出器22は、モータ端位置の検出結果を出力する。
【0016】
機械系4は、サーボモータ21の動力を伝達するカップリング23と、サーボモータ21により回転駆動されるボールねじ24と、ボールねじ24の回転を直線運動に変換するボールねじナット25と、ボールねじナット25に固定されているテーブル26とを有する。ボールねじ24およびボールねじナット25は、モータ3の動力を被駆動体であるテーブル26へ伝達するための機構を構成する。ボールねじ24は、カップリング23を介してサーボモータ21に接続されている。ボールねじナット25はボールねじ24に嵌合されており、テーブル26およびボールねじナット25は一体となって駆動される。
【0017】
モータ端位置検出器22により検出された回転角度の検出単位が「度」であるとすると、モータ端位置の値にボールねじリードを乗じて、360度で除することにより回転角度をテーブル26の移動方向の長さに換算することができる。ボールねじリードは、サーボモータ21の1回転あたりのテーブル移動量である。モータ端位置検出器22は、テーブル26の移動方向の長さに換算されたモータ端位置を求め、換算されたモータ端位置を示す値を出力する。
【0018】
サーボ制御部6による制御は、モータ端位置をフィードバック制御に用いるセミクローズド制御に限られず、テーブル26の位置である機械端位置をフィードバック制御に用いるフルクローズド制御であっても良い。サーボ制御部6によるフィードバック制御がフルクローズド制御である場合、テーブル26には、機械端位置検出器27と機械端位置検出器ヘッド28とが取り付けられる。機械端位置検出器27は、例えば、リニアエンコーダである。機械端位置検出器ヘッド28は、例えば、リニアエンコーダヘッドである。機械端位置検出器27は、機械端位置の検出結果を出力する。
【0019】
サーボ制御部6には、モータ端位置検出器22によって検出されたモータ端位置の情報または機械端位置検出器27によって検出された機械端位置の情報が入力される。フィードバック制御のために検出される位置を、フィードバック位置と称する。以下の説明では、サーボ制御部6によるフィードバック制御がセミクローズド制御である場合を例とする。
【0020】
サーボ制御部6は、モータ端位置の情報をモータ3から取得する。サーボ制御部6は、モータ端位置の情報であるフィードバック情報15を出力する。学習部9は、予測モデル16を生成し、生成した予測モデル16を出力する。状態量予測部7には、指令情報11と、フィードバック情報15と、予測モデル16とが入力される。状態量予測部7は、モータ3または機械系4の状態量の予測値と、信頼度指標とを算出する。信頼度指標は、算出された予測値の信頼度を表す指標である。状態量予測部7は、予測値の算出結果である予測状態量情報12と、信頼度指標の算出結果である指標情報13とを出力する。
【0021】
補正量演算部8には、予測状態量情報12と指標情報13とが入力される。補正量演算部8は、指令情報11を補正するための補正量を状態量の予測値と信頼度指標とに基づいて算出する。補正量演算部8は、補正量の算出結果である補正情報14を出力する。サーボ制御部6には、指令情報11と補正情報14とが入力される。サーボ制御部6は、指令情報11に示される指令値を、補正量を用いた演算によって補正する。サーボ制御部6は、補正量を用いて補正された指令情報11に基づいてモータ3を制御する。
【0022】
次に、状態量予測部7の詳細について説明する。状態量予測部7は、指令情報11とフィードバック情報15に示される状態量の実測値とを入力として、予測モデル16の使用により現在または未来の状態量を予測する。予測モデル16は、状態量の実測値および指令情報11から現在または未来の状態量を予測するための学習済みモデルである。モータ3の状態量の1つの例は、モータ端位置である。機械系4の状態量の1つの例は、機械端位置である。現在とは、状態量予測部7において状態量の予測を行った時点とする。未来とは、状態量予測部7において状態量の予測を行った時点よりも後の時点とする。
【0023】
ここで、サーボ制御周期がN周期目であるときの状態量をeN、N周期目において予測された状態量である予測状態量をμNとする。例えば、状態量予測部7は、サーボ制御周期がN周期目であるときに、N+i周期目のときにおける予測状態量μN+iの値を算出する。iは0以上の自然数とする。状態量予測部7は、N+i周期目のタイミングにおいて、予測状態量μN+iの値、すなわち状態量の予測値を補正量演算部8へ出力する。
【0024】
このように、状態量予測部7は、状態量の予測値を算出する時点における状態についての状態量、または状態量の予測値を算出する時点よりも後の時点における状態についての状態量を予測し、予測された状態量の時点に一致するタイミングにおいて状態量の予測値を出力する。サーボ制御装置2は、状態量予測部7から予測値を出力するタイミングを、予測された状態量の時点に一致させることによって、処理または通信などの遅延がある場合であっても指令情報11の適切な補正を行うことができる。
【0025】
状態量予測部7は、状態量の予測値と信頼度指標とを同時に算出する。状態量予測部7は、予測モデル16を用いて、予測状態量の分布、すなわち予測される状態量の確率分布を求める。状態量予測部7は、状態量の実測値と確率分布とに基づいて、状態量の予測値と信頼度指標とを算出する。
【0026】
ここで、予測モデル16の例と、予測モデル16を用いた予測状態量および信頼度指標の算出例とについて説明する。実施の形態1において、状態量予測部7は、予測モデル16から予測状態量の確率分布を算出し、予測状態量の確率分布から予測状態量と信頼度指標とを算出する。
【0027】
予測モデル16には、ガウス過程回帰を用いることができる。ガウス過程回帰は、予測状態量が特定の分布に従う確率変数であると仮定した場合における確率モデルの一例である。ガウス過程回帰を用いて予測状態量と信頼度指標を算出する場合、例えば、次のような演算が行われる。
【0028】
モータ3を動作させているときに、予測モデル16の入力データxおよび出力データyを取得するサンプリングが行われたとする。入力データxは指令値である。出力データyは予測状態量である。サンプリングによって得られる入力データxの1つをxj、サンプリングによって得られる出力データyの1つをyjとする。jは自然数である。M点のサンプリングによって入力データx1,・・・,xMが取得されたとして、新たな入力データxM+1に対する出力データyM+1の予測値であるm(xM+1)は、次の式(1)により求まる。分散σ2(xM+1)は、次の式(2)により求まる。CMはグラム行列とする。kは、入力データx1,・・・,xMの各々と新たな入力データxM+1とを引数とした場合のカーネル関数の値を要素とするベクトルである。kは、次の式(3)により表される。cは、引数に新たな入力データxM+1を含む各カーネル関数の値に精度パラメータを加えたスカラー値とする。精度パラメータは、予測モデル16の精度を表す。信頼度指標の元となる標準偏差σ(xM+1)は、分散σ2(xM+1)の平方根を計算することによって求まる。なお、以下の説明にて、出力データyM+1の予測値であるm(xM+1)を、予測値y*
M+1と表すこともある。
【0029】
m(xM+1)=kT・(CM
-1)・y ・・・(1)
σ2(xM+1)=c-kT・(CM
-1)・k ・・・(2)
【0030】
【0031】
新たな入力データxM+1に対する予測値y*
M+1の確率分布p(y*
M+1)はガウス分布に従うことから、確率分布p(y*
M+1)は、次の式(4)により表される。
【0032】
【0033】
ここで、状態量の予測値と予測値のばらつきとについて説明する。
図3は、実施の形態1における状態量の予測値と予測値のばらつきとを概念的に示す説明図である。
図3には、予測値と予測値のばらつきの範囲とがガウス過程回帰を用いて算出される例を示す。
図3において、グラフの横軸は、入力データxを表す。グラフの縦軸は、出力データyを表す。
図3における黒塗りの丸は、サンプリングによって取得されたデータを表す。
【0034】
ガウス過程回帰を用いた予測では、出力データyがガウス分布に従うものとして出力データyの予測値が算出される。このため、予測値をガウス分布の平均m(x)とし、予測の不確実性を示す指標をガウス分布の標準偏差σ(x)とすると、実際の出力データyは、約95%の確率で、m(x)-2σ(x)以上かつm(x)+2σ(x)以下の範囲に入ることが統計的に示される。
図3において、実線である曲線は、出力データyの予測値である平均m(x)を表す。破線である曲線は、m(x)-2σ(x)とm(x)+2σ(x)とを表す。
図3に示されるように、サンプリングにより取得されたデータに近い箇所では予測値のばらつきは小さくなり、かつ、サンプリングにより取得されたデータから離れた箇所では予測値のばらつきは大きくなる傾向がある。
【0035】
このような統計的な観点から、実施の形態1では、信頼度指標は標準偏差を基に定義されるものとする。例えば、標準偏差を信頼度指標として用いた場合、信頼度指標が小さいほど、予測値のばらつきが小さく、予測値が確からしいことを表す。
【0036】
状態量予測部7は、予測される状態量の確率分布を算出し、確率分布から、予測状態量である平均m(x)と信頼度指標である標準偏差σ(x)とを同時に算出する。状態量予測部7は、ある制御周期における平均m(x)と、かかる平均m(x)についての信頼度を示す標準偏差σ(x)とを、同じタイミングにおいて算出する。
【0037】
なお、予測状態量と信頼度指標とを同時に算出するとは、予測状態量が算出されるタイミングと信頼度指標が算出されるタイミングとが必ずしも一致することを指すものではない。予測状態量と信頼度指標とを同時に算出するとは、モータ3または機械系4の同じタイミングにおける動作に基づいて予測状態量と信頼度指標とを算出することであっても良い。または、予測状態量と信頼度指標とを同時に算出するとは、モータ3または機械系4の同じタイミングにおける動作について、複数の推定処理ではなく一度の推定処理によって予測状態量と信頼度指標とを算出することであっても良い。推定処理とは、予測モデル16の演算を行うことを指すものとする。状態量予測部7は、予測状態量と信頼度指標とを同時に算出することによって、短い時間での演算によって予測状態量と信頼度指標との算出が可能である。予測状態量と信頼度指標とを同時に算出することは、高速な演算が必要となる組み込み機器の1つであるサーボ制御装置2に適している。
【0038】
なお、信頼度指標には、ガウス分布の分散σ2(x)が用いられても良い。または、信頼度指標には、分散σ2(x)、標準偏差σ(x)および平均m(x)のうちの1つ以上を用いた演算の結果が用いられても良い。予測状態量は、平均m(x)、標準偏差σ(x)および分散σ2(x)のうちの1つ以上を用いた演算の結果値が用いられても良い。以下の説明では、予測状態量は平均m(x)であって、かつ信頼度指標は標準偏差σ(x)であるものとする。
【0039】
予測モデル16にガウス過程回帰を用いる場合における予測状態量および信頼度指標の算出例を説明したが、予測状態量および信頼度指標を算出する方法は、ガウス過程回帰を用いるものに限られない。予測状態量の算出には、例えば、決定木、線形回帰、ブースティングまたはニューラルネットワークといった機械学習の手法が用いられても良い。信頼度指標の算出には、例えば、密度推定、混合密度ネットワーク等といった手法が用いられても良い。予測状態量の確率分布は、ガウス分布に限られず、指数分布またはt分布等であっても良く、複数の種類の分布を組み合わせたものであっても良い。
【0040】
次に、学習部9の詳細について説明する。学習部9は、状態量予測部7で用いられる予測モデル16を学習する。具体的には、学習部9は、予測モデル16に適用されるパラメータであるモデルパラメータまたはハイパーパラメータを最適化する学習を行う。
【0041】
学習部9が用いる学習アルゴリズムはどのようなものを用いても良い。一例として、教師あり学習アルゴリズムの1つであるガウス過程回帰を適用した場合について説明する。予測モデル16にガウス過程回帰を用いた場合、カーネル関数等に使用されているパラメータを訓練データから推定し、予測モデル16を更新する。訓練データは、フィードバック情報15に示される状態量の実測値と指令情報11とを組み合わせたデータである。状態量の実測値は教師データである。パラメータの推定方法としては最尤推定等を用いることで、より確からしい予測モデル16を構築することができるが、パラメータの推定方法はこの方法に限定されない。
【0042】
学習部9は、学習が収束した場合に、学習結果である予測モデル16を出力する。学習部9は、学習結果として、学習済みのモデル情報を出力しても良い。学習済みのモデル情報は、予測モデル16に適用されるパラメータ、すなわち学習したモデルパラメータまたはハイパーパラメータである。学習が収束したか否かの判定には、公知の判定手法を用いることができる。
【0043】
図1に示す学習部9は、サーボ制御装置2の外部の装置である情報処理装置によって実現される。学習部9として機能する装置は、サーボ制御装置2に接続される。学習部9として機能する装置は、ネットワークを介してサーボ制御装置2に接続可能な装置であっても良い。学習部9として機能する装置は、クラウドサーバ上に存在する装置であっても良い。学習部9は、サーボ制御装置2の外部の装置によって実現されるものに限られず、サーボ制御装置2の内部に備えられても良い。
【0044】
図4は、実施の形態1にかかるサーボシステム1の変形例を示す図である。
図4に示す変形例であるサーボシステム1は、サーボ制御装置2の内部に学習部9が備えられている。変形例であるサーボシステム1は、サーボ制御装置2の内部に学習部9が備えられている点以外については、
図1に示すサーボシステム1と同様である。
【0045】
次に、補正量演算部8の詳細について説明する。以下の説明では、指令情報11は、モータ3の指令位置を示す指令値とする。状態量予測部7が算出する予測状態量は、指令位置に対するモータ3の位置の誤差である位置誤差とする。なお、予測状態量はモータ3のフィードバック位置であっても良い。この場合、補正量演算部8は、指令位置とフィードバック位置の予測値との差分を計算することによって、位置誤差である予測状態量を求めることができる。予測状態量は、指令位置に限られず、速度、トルクまたは電流量といった物理量であっても良い。
【0046】
ここでは、状態量予測部7によって算出される予測状態量である位置誤差をμ、状態量予測部7によって算出される信頼度指標をσ、実際に生じる位置誤差をe、補正量をCoとする。サーボ制御部6は、予測された位置誤差μの値を指令位置の値から減算することによって指令位置を補正する。サーボ制御部6は、位置誤差μに相当する補正量Coを用いて指令位置を補正することによって、モータ3または機械系4の動作により生じる誤差を相殺させ、指令位置に実際の位置を正確に合わせることが可能となる。しかしながら、予測された位置誤差μが実際に生じた位置誤差eとは異なる場合、適切な補正を行うことができず位置精度が悪化する可能性がある。そこで、補正量演算部8は、信頼性指標を用いることによって、適切な補正を行い得る有効な補正量Coを算出する。これにより、サーボシステム1は、補正による位置精度の悪化を防ぐことができる。
【0047】
ここで、補正量演算部8が状態量の予測値と信頼度指標とに基づいて補正量を算出する方法の第1および第2の例について説明する。標準偏差である信頼度指標σが大きいほど、予測値である位置誤差μの値の不確かさが大きいことを表す。第1の例では、サーボシステム1は、信頼度指標σの閾値をあらかじめ設定しておき、信頼度指標σが閾値を超える場合は指令値の補正を停止する。サーボシステム1は、信頼度指標σが閾値以下である場合に、指令値の補正を行う。
【0048】
第1の例において、補正量演算部8は、閾値をtとして、次の式(5)に従い補正量Coを算出する。
【0049】
【0050】
このように、第1の例では、予測値が適正な値か否かを判断するための信頼度指標σの閾値が設定されており、補正量演算部8は、算出された信頼度指標σの値が閾値により定まる範囲から外れた値である場合に、補正量Coをゼロとする。これにより、サーボシステム1は、補正による位置精度の悪化を防ぐことができる。
【0051】
次に、補正量演算部8が補正量を算出する方法の第2の例について説明する。実際の位置誤差eの確率分布p(e)は、位置誤差μおよび分散σ2のガウス分布に従う。確率分布p(e)は、p(e)=N(μ,σ2)の式から、予測された位置誤差μと信頼度指標σとを用いて計算できる。サーボ制御部6が指令位置の値から補正量Coを減算することによって補正を行う場合、実際の位置誤差eと補正量Coとが次の式(6)を満たすと、補正による位置精度の悪化が生じる。
【0052】
|e|<|e-Co| ・・・(6)
【0053】
式(6)を満たす位置誤差eの範囲において確率分布p(e)を積分することにより、位置精度が悪化する確率を補正前に計算することができる。第2の例では、目標とする確率をあらかじめ設定しておくことで、補正量演算部8は、位置精度が悪化する確率が、目標とする確率以下となるような補正量Coを決定することが可能となる。
【0054】
このように、補正量演算部8は、状態量の予測値と信頼度指標とに基づいて補正量を算出することで、適切な補正を行い得る有効な補正量を得ることができる。サーボシステム1は、補正による位置精度の悪化を低減しつつ、軌跡誤差を低減させる補正が可能となる。補正量演算部8は、サーボ制御周期おきの演算によって補正量を算出する。サーボシステム1は、補正量演算部8による連続的な補正量の算出によって、移動軌跡を高精度に補正することができる。
【0055】
図5は、実施の形態1にかかるサーボシステム1のサーボ制御装置2が実行する処理の手順を示すフローチャートである。
図5には、サーボ制御周期における処理の手順を示す。
【0056】
ステップS1において、サーボ制御装置2の指令生成部5は、指令情報11を生成する。指令生成部5は、生成された指令情報11を出力する。ステップS2において、サーボ制御装置2の状態量予測部7は、状態量の実測値と指令情報11とを入力として、予測モデル16の使用により状態量の予測値と信頼度指標とを同時に算出する。状態量予測部7は、フィードバック情報15から状態量の実測値を取得する。状態量予測部7は、予測値の算出結果である予測状態量情報12と、信頼度指標の算出結果である指標情報13とを出力する。
【0057】
ステップS3において、サーボ制御装置2の補正量演算部8は、予測値と信頼度指標とに基づいて補正量を算出する。補正量演算部8は、補正量の算出結果である補正情報14を出力する。ステップS4において、サーボ制御装置2のサーボ制御部6は、補正量を用いて補正された指令情報11に基づいてモータ3を制御する。サーボ制御装置2は、モータ3の駆動を開始してからモータ3の駆動を終了するまでの期間において、
図5に示す手順による処理を繰り返す。
【0058】
実施の形態1によると、サーボ制御装置2は、状態量の予測値と信頼度指標とを予測モデル16に基づいて同時に算出し、状態量の予測値と信頼度指標とに基づいて補正量を算出する。サーボ制御装置2は、状態量の予測値と信頼度指標とを同時に算出することにより、過去に推定された状態量についての信頼度指標に基づいて補正量が算出される場合に比べて、移動軌跡を高精度に補正可能とする補正量を算出することができる。以上により、サーボシステム1およびサーボ制御装置2は、アクチュエータの高精度かつ安定した制御が可能となるという効果を奏する。
【0059】
実施の形態2.
実施の形態2では、補正量演算部8の変形例について説明する。
図6は、実施の形態2にかかるサーボシステム1が有する補正量演算部8Aの構成例を示す図である。実施の形態2にかかるサーボシステム1は、補正量演算部8の変形例である補正量演算部8Aを有する。実施の形態2にかかるサーボシステム1のうち補正量演算部8A以外の構成は、実施の形態1にかかるサーボシステム1と同様である。実施の形態2では、上記の実施の形態1と同一の構成要素には同一の符号を付し、実施の形態1とは異なる構成について主に説明する。
【0060】
補正量演算部8Aは、補正量の候補値34を算出する補正量候補値演算部31と、補正量の評価値35を算出する補正量評価部32と、評価値35に基づいて補正量の値を決定する補正量決定部33とを有する。補正量演算部8Aは、補正量評価部32において算出された評価値35に基づいて補正量決定部33が補正量の値を決定することにより、評価値35に基づいて補正量を算出する。
【0061】
以下の説明では、指令情報11は、モータ3の指令位置を示す指令値とする。状態量予測部7が算出する予測状態量は、指令位置に対するモータ3の位置の誤差である位置誤差とする。なお、予測状態量はモータ3のフィードバック位置であっても良い。この場合、補正量演算部8Aは、指令位置とフィードバック位置の予測値との差分を計算することによって、位置誤差である予測状態量を求めることができる。予測状態量は、指令位置に限られず、速度、トルクまたは電流量といった物理量であっても良い。
【0062】
補正量候補値演算部31には、予測状態量情報12と指標情報13とが入力される。補正量候補値演算部31は、補正量の1つ以上の候補値34を決定する。例えば、補正量候補値演算部31は、予測状態量情報12に示される状態量の予測値と指標情報13に示される信頼性指標とを用いた演算によって候補値34を決定する。補正量候補値演算部31は、決定された候補値34を出力する。補正量候補値演算部31は、状態量の予測値と信頼性指標とに基づいて決定された候補値34を出力することに代えて、テーブルにあらかじめ設定された候補値34を出力しても良い。
【0063】
補正量評価部32には、予測状態量情報12と、指標情報13と、補正量候補値演算部31によって決定された候補値34とが入力される。補正量評価部32は、あらかじめ設定された評価関数に基づいて複数の候補値34の各々についての評価値35を算出する。補正量評価部32は、候補値34ごとに算出された評価値35を出力する。
【0064】
補正量決定部33には、補正量候補値演算部31によって決定された候補値34と、補正量評価部32によって算出された評価値35とが入力される。補正量決定部33は、候補値34ごとの評価値35に基づいて、補正量とする値を候補値34の中から決定する。このように、補正量演算部8Aは、複数の候補値34の各々について算出された評価値35に基づいて、複数の候補値34の中から補正量の値を決定する。
【0065】
ここで、補正量評価部32による評価値35の算出方法の例について説明する。補正量評価部32は、予測状態量情報12に示される予測状態量と指標情報13に示される信頼度指標とに基づいて評価値35を算出する。実施の形態1と同様に、状態量予測部7によって算出される予測状態量である位置誤差をμ、状態量予測部7によって算出される信頼度指標をσ、実際に生じる位置誤差をe、補正量をCoとする。サーボ制御部6は、指令位置の値から補正量Coを減算することによって指令位置を補正するものとする。
【0066】
実際の位置誤差eの確率分布p(e)は、予測された位置誤差μと信頼度指標σとにより定義される。確率分布p(e)は、ガウス分布であっても、ガウス分布以外の分布であっても良い。ここでは、確率分布p(e)は、位置誤差μおよび分散σ2のガウス分布に従うものとする。確率分布p(e)は、p(e)=N(μ,σ2)の式から、予測された位置誤差μと信頼度指標σとを用いて計算できる。
【0067】
補正量候補値演算部31から補正量評価部32へ入力された候補値34である補正量候補値の各々を、Con(n=1,2,3,・・・)と表す。補正量評価部32には、補正量候補値Conの評価値を算出するための評価関数が与えられる。評価関数は、補正量Coを用いた補正の精度が低いほど評価値35が大きい値となるように定められる。
【0068】
指令位置の値から補正量Coを減算することによって指令位置を補正することから、補正量Coと実際の位置誤差eとが一致する場合に、補正後の位置精度は最も高くなる。補正量Coと実際の位置誤差eとの乖離が大きいほど、補正後の位置精度は低くなる。そこで、評価関数は、補正量候補値Conと位置誤差eとの差の絶対値が大きいほど評価値が大きい値となるように設定される。
【0069】
また、サーボ制御装置2によるモータ3の制御は、補正量Coの値が大きいほど不安定になり得る。すなわち、補正量Coの値が実際の位置誤差eからプラスに乖離する場合、補正量Coの値が実際の位置誤差eからマイナスに乖離する場合に比べて、補正後の位置精度は低くなり易い。そこで、評価関数は、補正量候補値Conが位置誤差eよりも大きい値であるときに、補正量候補値Conが位置誤差eよりも小さい値であるときよりも評価値が大きい値となるように設定される。
【0070】
図7は、実施の形態2の補正量演算部8Aにおける評価値35の演算に用いられる評価関数の例を示す図である。
図7には、評価関数の例であるL(Co
n,e)のグラフを示す。
図7において、グラフの縦軸はL(Co
n,e)、グラフの横軸は実際の位置誤差eである。
【0071】
L(Con,e)は、次の式(7)により表される。
【0072】
【0073】
L(Con,e)は、位置誤差eからの補正量候補値Conのずれに応じたペナルティーすなわち損失を与えるもので、損失関数とも称される。
【0074】
評価関数に基づく評価値35は、評価関数と確率分布p(e)との積を積分した値により定義される。評価値35の例であるE(Con)は、次の式(8)に示すように、L(Con,e)と確率分布p(e)との積を積分することにより求まる。
【0075】
【0076】
補正量決定部33は、補正量候補値Conごとに算出されたE(Con)を比較し、E(Con)が最も小さい補正量候補値Conを選択する。補正量決定部33は、補正量候補値Conの中から選択された補正量候補値Conを補正量Coの値に決定する。
【0077】
このように、補正量決定部33は、複数の候補値34のうち評価値35が最も小さい候補値34を補正量の値に決定する。なお、補正量演算部8Aは、補正量決定部33において、あらかじめ設定された閾値以下である候補値34を補正量の値に決定しても良い。補正量演算部8Aは、補正量決定部33において決定された補正量の値である補正情報14を出力する。
【0078】
補正量演算部8Aは、評価値35に基づいて候補値34の中から補正量の値を決定することによって、適切な補正を行い得る有効な補正量を算出することができる。これにより、サーボシステム1は、補正による位置精度の悪化を防ぐことができる。
【0079】
なお、評価関数は、補正量を用いた補正の精度が低いほど評価値35が小さい値となるように定められた物であっても良い。この場合、補正量決定部33は、複数の候補値34のうち評価値35が最も大きい候補値34を補正量の値に決定する。また、評価関数は、一次関数に限られず、高次関数であっても良い。評価関数は、モータ3または機械系4の機械特性、あるいはサーボ制御部6の制御特性を考慮して設定されたものであっても良い。
【0080】
実施の形態2によると、補正量演算部8Aは、評価関数に基づいて候補値34の評価値35を算出し、評価値35に基づいて候補値34の中から補正量の値を決定する。補正量演算部8Aは、移動軌跡を高精度に補正し得る補正量を算出することができる。以上により、サーボシステム1およびサーボ制御装置2は、アクチュエータの高精度かつ安定した制御が可能となるという効果を奏する。
【0081】
実施の形態3.
図8は、実施の形態3にかかるサーボシステム1Aの構成例を示す図である。サーボシステム1Aは、補正量に対するモータ3または機械系4の応答特性に基づいて補正量を修正する。実施の形態3では、上記の実施の形態1または2と同一の構成要素には同一の符号を付し、実施の形態1または2とは異なる構成について主に説明する。
【0082】
サーボシステム1Aは、サーボ制御装置2Aと、モータ3と、機械系4と、学習部9と、応答特性同定部40とを有する。サーボ制御装置2Aは、補正量修正部41を有する。サーボ制御装置2Aのうち補正量修正部41以外の構成は、実施の形態1にかかるサーボシステム1のサーボ制御装置2と同様である。
【0083】
以下の説明では、指令情報11は、モータ3の指令位置を示す指令値とする。状態量予測部7が算出する予測状態量は、指令位置に対するモータ3の位置の誤差である位置誤差とする。なお、予測状態量はモータ3のフィードバック位置であっても良い。この場合、補正量演算部8は、指令位置とフィードバック位置の予測値との差分を計算することによって、位置誤差である予測状態量を求めることができる。予測状態量は、指令位置に限られず、速度、トルクまたは電流量といった物理量であっても良い。
【0084】
サーボ制御部6において補正量を用いて指令値を補正した場合に、モータ3または機械系4の機械特性、あるいはサーボ制御部6の制御特性の影響によって、想定されていた補正がなされず補正の効果が低減する場合がある。機械特性は、モータ3または機械系4の構造に起因する。そこで、実施の形態3では、サーボ制御装置2Aは、機械特性または制御特性の影響を考慮して補正量を修正する。
【0085】
応答特性同定部40は、補正量に対するモータ3または機械系4の応答特性を同定する。応答特性同定部40は、同定された応答特性を示す情報である応答特性情報42を出力する。
【0086】
ここで、応答特性同定部40が伝達関数により応答特性を同定する例について説明する。指令値を「0」とし、かつ補正量演算部8で算出される補正量の代わりに補正量に相当するホワイトノイズが与えられた状態において、フィードバック位置が測定される。このとき測定されるフィードバック位置は、モータ3の位置または機械系4の被駆動体の位置の補正において実際に作用する補正量を表す。以下、モータ3の位置または被駆動体の位置の補正において実際に作用する補正量を、実補正量と称する。機械特性または制御特性の影響によって、実補正量には、算出された補正量からのずれが生じる。なお、応答特性を同定する際には、ホワイトノイズの代わりにサインスイープ波が用いられても良い。フィードバック位置の測定は、モータ3および機械系4を実際に動作させて行われるほかに、シミュレーションを活用して行われても良い。
【0087】
図9は、実施の形態3にかかるサーボシステム1Aにおいて同定される応答特性について説明するための図である。応答特性同定部40は、補正量のデータと実補正量のデータとを取得する。応答特性同定部40は、補正量および実補正量に対してフーリエ変換等の数値処理を行うことによって、応答特性である周波数伝達関数を算出する。応答特性同定部40は、周波数領域におけるゲインおよび位相の各々により表される伝達関数を同定する。
【0088】
図9に示すように、伝達関数は、ゲイン特性を表すゲイン線図と位相特性を表す位相線図とにより表される。ゲイン線図において、横軸は周波数を表す対数軸であって、縦軸はデシベル値であるゲインを表す。位相線図において、横軸は周波数を表す対数軸であって、縦軸は位相を表す。ゲイン線図において、共振点は正のピークとして表され、反共振点は負のピークとして表される。伝達関数を表す線図には、周波数軸に対してフーリエ変換後の実数部と虚数部とを別々にプロットしたコクアド線図が用いられても良い。コクアド線図において、横軸は周波数を表す対数軸であって、縦軸は実数部および虚数部である。
【0089】
応答特性同定部40は、同定された応答特性である伝達関数の情報である応答特性情報42を出力する。なお、応答特性同定部40は、多項式またはニューラルネットワークといった、伝達関数以外の手段を用いて応答特性を同定しても良い。
【0090】
応答特性同定部40は、サーボ制御装置2Aの外部の装置である情報処理装置によって実現される。応答特性同定部40として機能する装置は、サーボ制御装置2Aに接続される。応答特性同定部40として機能する装置は、ネットワークを介してサーボ制御装置2Aに接続可能な装置であっても良い。応答特性同定部40として機能する装置は、クラウドサーバ上に存在する装置であっても良い。応答特性同定部40は、サーボ制御装置2Aの外部の装置によって実現されるものに限られず、サーボ制御装置2Aの内部に備えられても良い。
【0091】
補正量修正部41には、補正情報14と応答特性情報42とが入力される。補正量修正部41は、補正量演算部8によって算出された補正量を、応答特性情報42に基づいて修正する演算を行う。補正量修正部41は、応答特性同定部40によって同定された応答特性に基づいて補正量を修正する。補正量修正部41は、補正量演算部8によって算出された補正量と伝達関数の逆モデルとを用いて、修正された補正量を算出する。
【0092】
ここで、補正量修正部41が補正量を修正する方法の例について説明する。補正量修正部41には、応答特性情報42として伝達関数の情報が入力されるものとする。補正量演算部8によって算出される補正量をCo、伝達関数をG(s)とする。
【0093】
補正量修正部41は、次の式(9)により、修正された補正量Co’を算出する。G-1(s)は、G(s)の逆伝達関数であって、G(s)G-1(s)=1を満足する。
【0094】
Co’=G-1(s)Co ・・・(9)
【0095】
補正量修正部41は、修正された補正量を示す修正補正情報43を出力する。サーボ制御部6には、指令情報11と修正補正情報43とが入力される。サーボ制御部6は、指令情報11に示される指令値を、修正された補正量を用いた演算によって修正する。サーボ制御部6は、修正された補正量を用いて補正された指令情報11に基づいてモータ3を制御する。
【0096】
補正量修正部41は、同定された応答特性に基づいて補正量を修正することによって、モータ3または機械系4の機械特性、あるいはサーボ制御部6の制御特性の影響を低減させるように補正量を修正することができる。すなわち、補正量修正部41は、実補正量に一致するように補正量を修正することができる。なお、サーボ制御装置2Aは、補正量演算部8の代わりに、実施の形態2の補正量演算部8Aを有しても良い。
【0097】
実施の形態3によると、補正量修正部41は、補正量に対するモータ3または機械系4の応答特性に基づいて補正量を修正することによって、実補正量に一致するように補正量を修正することができる。サーボ制御装置2Aは、修正された補正量に基づいて指令情報11を補正することによって、移動軌跡を高精度に補正することができる。以上により、サーボシステム1Aおよびサーボ制御装置2Aは、モータ3の高精度かつ安定した制御が可能となるという効果を奏する。
【0098】
実施の形態4.
図10は、実施の形態4にかかるサーボシステム1Bの構成例を示す図である。サーボシステム1Bは、訓練データの作成に使用される状態量の実測値を、補正量に対するモータ3または機械系4の応答特性に基づいて修正する。訓練データは、学習部9が予測モデル16の学習に使用する学習用のデータである。実施の形態4では、上記の実施の形態1から3と同一の構成要素には同一の符号を付し、実施の形態1から3とは異なる構成について主に説明する。
【0099】
サーボシステム1Bは、サーボ制御装置2Bと、モータ3と、機械系4と、学習部9と、応答特性同定部40と、状態量修正部50と、情報蓄積部51とを有する。サーボ制御装置2Bの構成は、実施の形態1にかかるサーボシステム1のサーボ制御装置2と同様である。サーボ制御装置2Bは、指令情報11とフィードバック情報15とを情報蓄積部51へ出力する点が、サーボ制御装置2とは異なる。
【0100】
以下の説明では、指令情報11は、モータ3の指令位置を示す指令値とする。状態量予測部7が算出する予測状態量は、指令位置に対するモータ3の位置の誤差である位置誤差とする。なお、予測状態量はモータ3のフィードバック位置であっても良い。この場合、補正量演算部8は、指令位置とフィードバック位置の予測値との差分を計算することによって、位置誤差である予測状態量を求めることができる。予測状態量は、指令位置に限られず、速度、トルクまたは電流量といった物理量であっても良い。
【0101】
応答特性同定部40は、補正量に対するモータ3または機械系4の応答特性を同定する。応答特性同定部40は、周波数領域におけるゲインおよび位相の各々により表される伝達関数を同定する。応答特性同定部40は、同定された応答特性である伝達関数の情報である応答特性情報42を出力する。なお、応答特性同定部40は、多項式またはニューラルネットワークといった、伝達関数以外の手段を用いて応答特性を同定しても良い。
【0102】
情報蓄積部51は、指令情報11とフィードバック情報15とを互いに対応付けて記憶する。フィードバック情報15は、状態量の実測値を含む。状態量修正部50は、指令情報11とフィードバック情報15とを情報蓄積部51から読み出す。また、状態量修正部50には、応答特性情報42が入力される。状態量修正部50は、フィードバック情報15に含まれる状態量の実測値を、応答特性情報42に基づいて修正する演算を行う。状態量修正部50は、応答特性同定部40によって同定された応答特性に基づいて状態量の実測値を修正する。状態量修正部50は、フィードバック情報15に含まれる状態量の実測値と伝達関数の逆モデルとを用いて、修正された実測値を算出する。
【0103】
ここで、状態量修正部50が状態量の実測値を修正する方法の例について説明する。以下、状態量修正部50によって修正された状態量の実測値を、修正された状態量と称する。状態量修正部50には、応答特性情報42として伝達関数の情報が入力されるものとする。伝達関数はG(s)であるものとする。また、状態量の実測値は、位置誤差eであるものとする。
【0104】
状態量修正部50は、次の式(10)により、修正された位置誤差e’を算出する。G-1(s)は、G(s)の逆伝達関数であって、G(s)G-1(s)=1を満足する。
【0105】
e’=G-1(s)Co ・・・(10)
【0106】
状態量修正部50は、指令情報11と、修正された状態量を示す修正状態量情報52とを出力する。学習部9には、指令情報11と、修正状態量情報52とが入力される。学習部9は、指令情報11に示される指令値と修正された状態量とを含めた訓練データを作成し、訓練データを用いて予測モデル16を学習する。修正された状態量は教師データである。
【0107】
状態量修正部50は、同定された応答特性に基づいて状態量の実測値を修正することによって、モータ3または機械系4の機械特性、あるいはサーボ制御部6の制御特性の影響を低減させるように状態量の実測値を修正することができる。学習部9は、モータ3または機械系4の機械特性、あるいはサーボ制御部6の制御特性の影響が低減された予測モデル16を生成することができる。サーボ制御装置2Bは、予測モデル16に基づいて算出された状態量の予測値と信頼度指標とを用いて補正量を算出することで、モータ3または機械系4の機械特性、あるいはサーボ制御部6の制御特性の影響を低減させ得る補正を行うことができる。
【0108】
学習部9と、応答特性同定部40と、状態量修正部50と、情報蓄積部51との各部は、サーボ制御装置2Bの外部の装置である情報処理装置によって実現される。当該各部として機能する装置は、サーボ制御装置2Bに接続される。当該各部として機能する装置は、ネットワークを介してサーボ制御装置2Bに接続可能な装置であっても良い。当該各部として機能する装置は、クラウドサーバ上に存在する装置であっても良い。当該各部は、サーボ制御装置2Bの外部の装置によって実現されるものに限られず、サーボ制御装置2Bの内部に備えられても良い。学習部9と、応答特性同定部40と、状態量修正部50と、情報蓄積部51は、1つの装置に集約されるものに限られず、2以上の装置に分散されても良い。
【0109】
なお、サーボ制御装置2Bは、補正量演算部8の代わりに、実施の形態2の補正量演算部8Aを有しても良い。サーボ制御装置2Bは、実施の形態4にて説明した処理と、実施の形態3で説明した処理とを行っても良い。
【0110】
実施の形態4によると、学習部9は、状態量修正部50において修正された状態量を含む訓練データに基づいて予測モデル16を学習する。サーボ制御装置2Bは、予測モデル16に基づいて状態量の予測値と信頼度指標とを算出し、状態量の予測値と信頼度指標とに基づいて補正量を算出する。サーボ制御装置2Bは、補正量に基づいて指令情報11を補正することによって、移動軌跡を高精度に補正することができる。以上により、サーボシステム1Bおよびサーボ制御装置2Bは、アクチュエータの高精度かつ安定した制御が可能となるという効果を奏する。
【0111】
次に、サーボ制御装置2,2A,2Bを実現するハードウェアについて説明する。
図11は、実施の形態1から4にかかるサーボシステム1,1A,1Bのサーボ制御装置2,2A,2Bを実現するハードウェアの構成例を示す図である。
図11には、サーボ制御装置2,2A,2Bを処理回路60によって実現する場合の構成例を示す。処理回路60は、プロセッサ62とメモリ63とを有する。
【0112】
プロセッサ62は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、またはDSP(Digital Signal Processor)ともいう)、システムLSI(Large Scale Integration)などである。メモリ63は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read-Only Memory)等の、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはDVD(Digital Versatile Disc)等である。
【0113】
メモリ63には、サーボ制御装置2,2A,2Bの要部である指令生成部5、サーボ制御部6、状態量予測部7、補正量演算部8,8A、学習部9、補正量修正部41として動作するためのプログラムが格納される。このプログラムをプロセッサ62が読み出して実行することにより、サーボ制御装置2,2A,2Bの要部を実現することが可能である。なお、メモリ63に格納される、サーボ制御装置2,2A,2Bの要部として動作するためのプログラムは、例えば、CD(Compact Disc)-ROM、DVD-ROMなどの記憶媒体に書き込まれた状態でユーザ等に提供される形態であっても良いし、ネットワークを介して提供される形態であっても良い。また、プロセッサ62は、演算結果等のデータをメモリ63の揮発性メモリに出力する。または、プロセッサ62は、演算結果等のデータを、メモリ63の揮発性メモリを介して補助記憶装置に出力することによってデータを保存する。
【0114】
入力部61は、サーボ制御装置2,2A,2Bに対する入力信号を外部から受信する回路である。出力部64は、サーボ制御装置2,2A,2Bで生成した信号を外部へ出力する回路である。
【0115】
図11は、汎用のプロセッサ62およびメモリ63によりサーボ制御装置2,2A,2Bを実現する場合のハードウェアの例であるが、プロセッサ62およびメモリ63の代わりに専用の処理回路でサーボ制御装置2,2A,2Bを実現してもよい。すなわち、専用の処理回路でサーボ制御装置2,2A,2Bを実現しても良い。ここで、専用の処理回路は、単一回路、複合回路、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせた回路である。なお、サーボ制御装置2,2A,2Bの一部をプロセッサ62およびメモリ63で実現し、残りを専用の処理回路で実現しても良い。
【0116】
サーボシステム1,1A,1Bにおいてサーボ制御装置2,2A,2Bの外部に備えられる学習部9、応答特性同定部40、状態量修正部50および情報蓄積部51の各々は、
図11に示すハードウェアと同様のハードウェアにより実現できる。
【0117】
実施の形態1から4において、モータ3は、アクチュエータの一例である。サーボ制御装置2,2A,2Bは、モータ3以外のアクチュエータを制御するものであっても良い。すなわち、サーボシステム1,1A,1Bは、モータ3以外のアクチュエータを有するものであっても良い。
【0118】
以上の各実施の形態に示した構成は、本開示の内容の一例を示すものである。各実施の形態の構成は、別の公知の技術と組み合わせることが可能である。各実施の形態の構成同士が適宜組み合わせられても良い。本開示の要旨を逸脱しない範囲で、各実施の形態の構成の一部を省略または変更することが可能である。
【符号の説明】
【0119】
1,1A,1B サーボシステム、2,2A,2B サーボ制御装置、3 モータ、4 機械系、5 指令生成部、6 サーボ制御部、7 状態量予測部、8,8A 補正量演算部、9 学習部、11 指令情報、12 予測状態量情報、13 指標情報、14 補正情報、15 フィードバック情報、16 予測モデル、21 サーボモータ、22 モータ端位置検出器、23 カップリング、24 ボールねじ、25 ボールねじナット、26 テーブル、27 機械端位置検出器、28 機械端位置検出器ヘッド、31 補正量候補値演算部、32 補正量評価部、33 補正量決定部、34 候補値、35 評価値、40 応答特性同定部、41 補正量修正部、42 応答特性情報、43 修正補正情報、50 状態量修正部、51 情報蓄積部、52 修正状態量情報、60 処理回路、61 入力部、62 プロセッサ、63 メモリ、64 出力部。