特許第6544219号(P6544219)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ オムロン株式会社の特許一覧

<>
  • 特許6544219-制御装置 図000002
  • 特許6544219-制御装置 図000003
  • 特許6544219-制御装置 図000004
  • 特許6544219-制御装置 図000005
  • 特許6544219-制御装置 図000006
  • 特許6544219-制御装置 図000007
  • 特許6544219-制御装置 図000008
  • 特許6544219-制御装置 図000009
  • 特許6544219-制御装置 図000010
  • 特許6544219-制御装置 図000011
  • 特許6544219-制御装置 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6544219
(24)【登録日】2019年6月28日
(45)【発行日】2019年7月17日
(54)【発明の名称】制御装置
(51)【国際特許分類】
   G05B 11/36 20060101AFI20190705BHJP
   G05B 19/4155 20060101ALI20190705BHJP
   G05B 13/02 20060101ALI20190705BHJP
【FI】
   G05B11/36 505A
   G05B19/4155 V
   G05B13/02 L
【請求項の数】5
【全頁数】14
(21)【出願番号】特願2015-234297(P2015-234297)
(22)【出願日】2015年11月30日
(65)【公開番号】特開2017-102624(P2017-102624A)
(43)【公開日】2017年6月8日
【審査請求日】2017年10月26日
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100155712
【弁理士】
【氏名又は名称】村上 尚
(72)【発明者】
【氏名】浪江 正樹
(72)【発明者】
【氏名】小松 雅和
(72)【発明者】
【氏名】真鍋 美樹子
【審査官】 大古 健一
(56)【参考文献】
【文献】 特開昭62−174804(JP,A)
【文献】 特開昭63−204402(JP,A)
【文献】 特開平03−269703(JP,A)
【文献】 特開2003−308101(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/36
G05B 19/4155
G05B 13/02
(57)【特許請求の範囲】
【請求項1】
制御対象を制御する制御装置であって、
指令パターンから制御周期ごとに指令値を算出する指令値生成部と、
前記指令パターンから制御周期ごとに算出された前記指令値を補正する制御周期ごとの補正値を含む補正データの候補を算出する処理を複数回実行し、算出した複数の候補のうち、所定の評価関数によって最も評価の高い候補を補正データとして選択する学習制御部と、
前記指令値と前記補正データから補正後指令値を算出し、前記制御対象に対して補正後指令値を制御周期ごとに送信する制御部と、
前記制御対象の応答特性を測定するための特性測定用指令値を生成する特性測定用指令値生成部と、
前記学習制御部によって前記複数の候補が算出される際に用いられる補正シフト時間stを算出する補正シフト時間算出部と、
を備え、
前記補正シフト時間算出部は、前記特性測定用指令値生成部が生成した前記特性測定用指令値を前記制御対象に送信した制御周期から、前記制御対象から取得するフィードバック値において前記特性測定用指令値の影響が最も大きく現れた制御周期までの時間差を用いて前記補正シフト時間stを算出し、
Kおよびnの各々を1以上の整数として、前記学習制御部は、K+1回目に算出する候補における、n制御周期目の前記補正値を、
(A)K回目に算出した候補における、n制御周期目の前記補正値と、
(B)K回目に算出した候補における、nに前記補正シフト時間stを加算したn+st制御周期目の前記補正値を用いて算出された前記補正後指令値に対するフィードバック値と、前記指令値生成部が前記n+st制御周期目に算出した前記指令値との偏差と、
を用いて生成する
ことを特徴とする、制御装置。
【請求項2】
前記特性測定用指令値は、単位時間幅の短パルスであることを特徴とする、請求項に記載の制御装置。
【請求項3】
前記特性測定用指令値は、ステップ関数であり、前記補正シフト時間算出部はステップ応答を算出することにより、前記補正シフト時間stを算出することを特徴とする、請求項に記載の制御装置。
【請求項4】
前記特性測定用指令値は、ランプ関数であり、前記補正シフト時間算出部は、ランプ応答からステップ応答を算出し、前記ステップ応答から前記補正シフト時間stを算出することを特徴とする、請求項に記載の制御装置。
【請求項5】
前記補正シフト時間stは、前記制御対象の前記応答特性から算出される実数であることを特徴とする、請求項のいずれか1項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、制御指令により制御対象を制御する制御装置において学習制御により制御性能を向上させる制御装置に関する。
【背景技術】
【0002】
制御対象をモデル化し、制御対象のシステムの同定に用いたパラメータに基づいてフィードフォワード入力を計算する方式が一般的である。制御対象がパラメータ値を正確に算出することが困難である場合、実際に試行を繰り返しながらフィードフォワード入力を修正して目標とする出力を-実現する方式として学習制御方式が知られている。
【0003】
制御対象に未知の要素を含む動的システムに制御において、特にロボット、モータを用いたメカニカルシステムの制御に学習制御が用いられている。
【0004】
特許文献1に記載の数値制御装置においては、各周期毎に位置偏差データと補正データとを取り込み、この位置偏差データを用いた学習演算を行うことにより、同一形状を加工する任意の位置で学習制御を行い、位置偏差を取得することで高精度な加工を実現できる数値制御装置を開示する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−227163号公報(2004年8月12日公開)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、学習制御によって制御性能を向上させるためには、学習制御に用いられパラメータを制御対象に合わせて適切に設定する必要がある。
【0007】
上記特許文献1に挙げられた制御装置においては、目標とする偏差量を少なくするような補正値が算出されるが、この補正値は制御対象の特性を加味したものではないため学習制御のためのパラメータが適切に設定されていないことに起因して、制御性能が目標性能に到達しない恐れがある。学習制御を行うパラメータ調整と補正値の演算を試行錯誤しながら行うこととなり、制御装置を含む制御システムの迅速な立上を阻害する。
【0008】
本発明は、制御対象に合わせた学習制御に用いられるパラメータを容易に算出することができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本発明に係る制御装置は、制御対象を制御する制御装置であって、指令パターンから指令値を算出する指令値生成部と、前記指令パターンから算出された前記指令値を補正する補正値を含む補正データを繰り返し算出する学習制御部と、前記指令値と前記補正データから補正後指令値を算出し、前記制御対象に対して補正後指令値を送信する制御部と、を備え前記学習制御部は、前記制御対象に対して出力した前記補正後指令値に対するフィードバック値と、前記指令値生成部が演算した前記指令値との偏差と、前記制御対象の応答の遅れ特性とから、前記補正データを生成する、ことを特徴としている。
【0010】
また、本発明に係る制御装置は、前記制御装置は、特性測定用指令値生成部と、前記学習制御を行う際に用いられる補正シフト時間算出部と、をさら備え、前記補正シフト時間算出部は、前記特性測定用指令値生成部が生成した特性測定用指令値に対するフィードバック値を取得し、特性測定用指令値とフィードバック値とを比較することにより前記補正シフト時間を算出するものであってもよい。
【0011】
また、本発明に係る制御装置は、前記特性測定用指令値は、単位時間幅の短パルスであってもよい。
【0012】
また、本発明に係る制御装置は、前記特性測定用指令値は、ステップ関数であり、前記補正シフト時間算出部はステップ応答を算出することにより、前記補正シフト時間を算出するものであってもよい。
【0013】
また、本発明に係る制御装置は、前記特性測定用指令値は、ランプ関数であり、前記補正シフト時間算出部は、ランプ応答からステップ応答を算出し、前記ステップ応答から前記補正シフト時間を算出するものであってもよい。
【0014】
また、本発明に係る制御装置は、前記補正シフト時間は、前記制御対象の前記応答特性から算出される実数であってもよい。
【発明の効果】
【0015】
本発明によれば、学習制御を行う制御装置であって、学習制御に用いられる制御対象のパラメータを容易に求めることができ、制御性能を向上させる制御装置を得ることができる。
【図面の簡単な説明】
【0016】
図1】制御システムの全体構成を示す図である。
図2】制御装置のハードウェア構成を示す図である。
図3】制御装置100の動作フローチャートを示す図である。
図4】制御装置100の動作フローチャートを示す図である。
図5】制御装置100の動作フローチャートを示す図である。
図6】特性測定用パターンから補正シフト時間演算を示す図である。
図7】学習制御パラメータを用いて学習制御を行った結果を示す図である。
図8】異なる補正シフト時間で学習を行った結果を示す図である。
図9】制御装置の機能構成を示すブロック図である。
図10】本実施の形態の制御装置で実行されるライブラリプログラムの一例を示す図である。
図11】本実施の形態の制御装置で実行されるライブラリプログラムの一例を示す図である。
【発明を実施するための形態】
【0017】
以下に、本発明にかかる制御装置100の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態の形態によりこの発明が限定されるものではない。
【0018】
〔実施の形態1〕
<制御システムの全体構成>
図1は、本発明の実施の形態による制御装置100を含む制御システムの構成を示すブロック図である。図において、当該制御システムは、本実施の形態にかかわる制御装置100と制御対象2から構成される。制御装置100は典型的には、PLC(プログラマブルコントローラ)で構成され、制御出力を演算し制御対象を制御する。制御装置100は所定の制御周期ごとに制御対象を制御した結果であるフィードバック値から制御出力を演算する。制御対象2は、典型的には駆動制御装置としてアクチュエータにより駆動される機械であり、制御装置100が演算した制御出力が入力され、制御出力に応じて駆動される。制御出力によって駆動された制御対象は、エンコーダ(図示せず)等を介して駆動された位置・速度等をフィードバック値として制御装置100へ出力する。
【0019】
本発明の実施の形態については位置制御を行うことにより、指令パターンに応じた軌跡の制御を行う制御システムの実施例について以下に説明する。
【0020】
本実施の形態では、モータで制御対象を駆動する例を取って説明を行うが制御装置100によって制御が行われるものであればこの例に限定されず、例えば制御対象として温度を制御する温度制御装置であっても良い。
【0021】
<制御装置のハードウェア構成>
次に、制御装置100のハードウェア構成の構成について説明する。図2は、図1に示す制御装置100のハードウェア構成の一例を示す模式図である。図2を参照して、制御装置100は、予めインストールされたプログラムをプロセッサが実行することで、制御対象に対する制御を実現する。より具体的には、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、メインメモリ106と、フラッシュメモリ108と、外部ネットワークコントローラ116と、メモリカードインターフェイス118と、内部バスコントローラ122と、フィールドバスコントローラ124とを含む。
【0022】
プロセッサ102は、フラッシュメモリ108に格納されたシステムプログラム110およびユーザプログラム112を読み出して、メインメモリ106に展開して実行することで、制御対象に対する制御を実現する。システムプログラム110は、データの入出力処理や実行タイミング制御などの、制御装置100の基本的な機能を提供するための命令コードを含む。本実施の形態においては、システムプログラム110は、ライブラリプログラム110Aを含む。ライブラリプログラム110Aは、汎用的な処理を再利用可能な形で格納されており、ユーザプログラム112の実行時に、必要に応じて呼び出される(call/invoke)。すなわち、ライブラリプログラム110Aは、制御装置100でのプログラム実行に用いられる。
【0023】
ユーザプログラム112は、制御対象に応じて任意に設計され、シーケンス制御を実行するためのシーケンスプログラム112Aおよびモーション制御を実行するためのモーションプログラム112Bを含む。これらのシーケンスプログラム112Aおよびモーションプログラム112Bは、ライブラリプログラム110Aを適宜呼び出すことで実行される。
【0024】
チップセット104は、各コンポーネントを制御することで、制御装置100全体としての処理を実現する。
【0025】
内部バスコントローラ122は、制御装置100と内部バスを通じて連結されるI/Oユニット126とデータを遣り取りするインターフェイスである。フィールドバスコントローラ124は、制御装置100とフィールドバス130(図2)を通じて連結されるI/Oユニット128とデータを遣り取りするインターフェイスである。内部バスコントローラ122およびフィールドバスコントローラ124は、対応のI/Oユニット126および128にそれぞれ入力される状態値を取得するとともに、プロセッサ102での演算結果を対応のI/Oユニット126および128から指令値としてそれぞれ出力する。
【0026】
外部ネットワークコントローラ116は、各種の有線/無線ネットワークを通じたデータの遣り取りを制御する。メモリカードインターフェイス118は、メモリカード120を着脱可能に構成されており、メモリカード120に対してデータを書込み、メモリカード120からデータを読出すことが可能になっている。
【0027】
制御装置100がプログラムを実行することで提供される機能の一部または全部を専用
のハードウェア回路として実装してもよい。
【0028】
<学習制御の制御装置の動作>
図3は本実施の形態にかかわる学習制御プログラムが実行された時の制御装置100の動作を示すフローチャートを示す。学習制御プログラムが実行されることにより、制御装置100は試行前の偏差データを用いて望ましい出力を出すための補正値を繰り返し的に算出する。
【0029】
S1では学習制御パラメータをメモリから読み出す。学習制御パラメータは制御装置100が制御する制御対象の特性応じて変更されるパラメータであり、後述する補正シフト時間を含む。
【0030】
S2では指令パターンから指令値を算出する。ユーザプログラムで規定されている指令パターンから制御周期ごとにモータ制御装置へ出力する指令値を演算する。指令パターンとは、目標とする制御対象の動作を規定するパターンである。典型的には制御対象を特定の位置から特定の位置へ移動させる位置の時間的な変化を示すデータである。制御装置100は指令パターンから制御周期毎にモータ制御装置へ与える位置指令値を演算する。
【0031】
S3ではK回目の補正データを用いて、制御周期毎に出力する指令値を算出する。制御装置100はメモリ上に格納された補正データを読み出し、読みだした補正データを指令値に加算することにより、指令値を補正し、補正後指令値を得る。
【0032】
S4では制御周期毎に補正した補正後指令値をモータ制御装置へ出力する。制御装置100はS3で補正された指令値を逐次メモリから読み出しモータ制御装置へ出力する。同時に制御対象からフィードバックデータを取得し、逐次メモリに格納する。
【0033】
S5では格納したフィードバックデータと制御周期毎の指令値と学習制御パラメータからK+1回目の補正データを算出する。制御装置100は格納されたフィードバックデータと制御周期毎の指令値との偏差データを算出し、偏差データに読み込んだ学習制御パラメータから補正シフト時間を用いて算出することにより、後述する数式1からK+1回目の補正データを算出する。これらの一連の処理を繰り返し的に実行することにより、目標とする制御対象の動作を規定する指令パターンに近づくような補正データを繰り返し算出する。
【0034】
S6では、制御装置100は学習の結果として算出したK回分の補正データを評価し、所定の評価関数によって最も適した補正データを選択し格納する。具体的には制御装置100は、K回目までの位置偏差の二乗和を取得し、その位置偏差の二乗和の減少率が所定の値以下になった場合に学習制御を終了とする。学習結果の評価の仕方はこの手法に限らず、例えば所定回数の学習を行った結果、最も位置偏差の二乗和が少なくなる補正データを選択しても良い。このように目標値に近づく度合を学習制御の終了条件とする構成をとる場合は、繰り返し学習制御を行い補正データを求めたとしても目標とする指令値に近づくとは限らないため、無駄な学習制御演算を回避することができる。
【0035】
<学習制御パラメータ算出実行時の制御装置の動作>
図4は、学習制御パラメータ算出プログラムが実行された時の制御装置100の動作を示すフローチャートである。学習制御パラメータ算出プログラムが実行されると、制御装置100は学習制御パラメータに含まれる、補正シフト時間を制御対象装置の応答特性のデータを取得することにより算出する。
【0036】
S11では学習制御パラメータ算出プログラムが実行されると、制御装置100は特性計測用指令パターンを読み出し、特性計測用の指令値を算出する。ここで特性計測用指令パターンは、指令値に対する制御対象の応答特性を算出できる指令パターンであればどのような指令パターンであっても良く、単位パルス、ステップ関数、ランプ関数であっても良い。
【0037】
S12では、制御装置100は制御周期毎に算出した特性計測用指令値を出力し、かつ制御周期毎にフィードバック値を取り込み格納する。
【0038】
S13では、制御装置100は特性計測用指令値及び制御周期毎のフィードバック値から、制御対象の応答特性データを取得する。本発明の実施形態では単位パルスを出力した場合のフィードバック値から、応答特性データを取得する。制御装置100は応答特性データを用いて補正シフト時間を算出する。応答特性データから算出する補正シフト時間については後述する。
【0039】
制御装置100は、補正シフト時間を算出し算出した補正シフト時間を学習制御パラメータとして格納する。
【0040】
<学習結果を用いた制御プログラム実行時の制御装置の動作>
上述したように、制御装置100は、学習制御パラメータ算出プログラム実行により、制御対象の応答特性のデータを取得し、学習制御パラメータを格納する。
【0041】
制御装置100は、学習制御プログラム実行により、学習制御パラメータ算出プログラム実行より、算出された学習制御パラメータを用いて、繰り返し的に補正データを算出すると共に、学習制御の結果として得られた補正データを格納する。(図5
制御装置100は、学習制御の結果として得られた補正データを用いて指令パターンから算出した指令値と学習制御の結果として得られた補正データを用いて指令値を算出し、制御周期毎に出力する。目標とする制御対象の動作を規定するパターンである指令パターンに対する位置偏差が最小となるような指令値を補正データを用いて算出する。
【0042】
S31では、制御装置100は、指令パターンを読み出し指令値を生成する。
【0043】
S32では制御装置100は、補正データを読み出し、指令値に加算し、補正された指令値を算出する。
【0044】
S33では、制御周期毎に算出した指令値をモータ制御装置へ出力する。制御周期毎に補正された指令値を制御対象へ繰り返し出力する。
【0045】
<補正シフト時間>
図6に特性計測用パターンの例を示す。ここでは、単位時間幅パルスを特性計測用パターンとして出力する例を示す。図6は、単位時間幅パルスを入力し、その応答データを取得した例を示す。ここで単位時間とは制御周期の時間幅を指す。図6の例では制御周期が1msであるため1ms幅のパルスを出力した例で以下に説明をする。
【0046】
学習制御が適用されるケースでは、通常サンプリング時刻毎に指令値が変化する。学習制御で求める補正データは、各サンプリング時刻の補正量の集まりであると考えられる。そのため本発明の実施形態による学習制御では、あるサンプリング時刻の偏差を用いて対応するサンプリング時刻の指令値に対する補正量を求めることにより、学習制御を通じて適切な補正データの算出が可能となる。
【0047】
指令値の補正量は、サンプリング時刻毎のパルスになるので、単位時間幅パルスを入力したとき、影響が最も多く現れるサンプリング時刻の応答データから補正量を求める。
【0048】
図6に示す例では、単位時間幅のパルスに対して、4msの応答遅れが生じていることが分かる、この値を補正シフト時間として設定する。
【0049】
図7補正シフト時間を用いた補正指令値を用いた制御結果について示す。図7に指令位置、実位置、補正後位置指令値の軌跡を示す。加えて図7には、指令位置と実位置の位置偏差量を示す。さらに図7には、指令値補正量の時間変化を示す。図7に示す通り、補正後位置指令値は、実位置と指令位置に対して、補正シフト時刻だけ遡ったサンプリング時刻の補正データを用いることにより、実位置と指令位置との偏差が最少化されていることが分かる。
【0050】
図8に応答特性として図6の特性を有する制御対象について、異なる補正シフト時間を用いて学習制御を行った結果を示す。指令パターンから算出される補正前の指令値とフィードバック値の位置偏差の2乗和の減少率が5%以下になった場合に学習制御を打ち切る条件で算出した。
【0051】
補正シフト時間として4msとして設定して学習制御を行った場合と、補正シフト時間として1msと6msとして設定した結果とを比較すると、補正シフト時間が制御対象の特性に合致した適切な値でない場合には、学習を繰り返し実行したとしても目標とする動作に近づかないことが分かる。
【0052】
本発明においては、学習制御のパラメータの値である補正シフト時間を制御対象の特性値から算出することにより、適切な補正シフト時間を用いた学習制御を行うことにより指令パターンとして与えられる目標とする機械の動作へ近づけることができる。
【0053】
<補正シフト時間算出の変形例>
補正シフト時間の算出にあたり、図5の例では単位時間幅パルスに対する応答データを取得した。これに対してステップ応答データS(n),n=0-Nを測定して、次の計算式により、単位時間幅パルス指令値に対する応答データU(n)を求めても良い。
〔数2〕U(n) = S(n) - S(n-1) , n=0〜N,
〔数3〕ただし、S(-1) = 0
補正シフト時間の算出にあたり、ランプ応答データR(n), n=0〜Nを測定して次の計算によりステップ応答データS(n)を経由して、単位時間幅パルス指令値に対する応答データU(n)を求めても良い。
〔数4〕 S(n) = R(n) - R(n-1), n=0〜N, ただしR(-1)=0とする
〔数5〕 U(n) = S(n) - S(n-1) , n=0〜N, ただし S(-1)=0 とする
<制御装置の機能的構成>
図9に、本発明の実施の形態による制御装置100の機能的構成を示す。制御装置100は、指令値生成部20と、学習制御部30と、制御部10と、特性測定用指令値生成部40と補正シフト時間算出部50とを備える。
【0054】
指令値生成部20は、指令パターンを読み出し、読み出した指令パターンに基づいて指令値を生成する。ここで指令パターンは制御システムが目標とする制御対象の動作軌跡を規定とする制御の目標とする値である。
【0055】
制御部10は、指令値生成部が生成した指令値と学習制御部が生成した補正データとを加算された補正後指令値を所定の制御周期毎に出力し、制御対象を駆動させる。
【0056】
特性用測定用指令値生成部40は、制御対象の特性を計測するための指令パターンを生成する。制御部は制御対象の特性測定を行う場合は、制御対象に対して所定の制御周期毎に特性測定用の指令値を制御対象へ出力する。
【0057】
補正シフト時間算出部50は、特性測定用指令値に基づいて制御対象を駆動したフィードアック値から、学習制御パラメータとして補正シフト時間を算出する。
【0058】
学習制御部30は、指令値生成部が生成した指令値とフィードバック値との差である偏差データを読み込み、指令値を補正する補正値を含む補正データ繰り返し的に演算する。
【0059】
学習制御部30は、指令値生成部20が演算した指令値と、制御対象から入力されるフィードバック値との偏差を演算する。学習制御部30はさらに、所定の制御周期ごとに、指令値生成部20が演算した指令値とフィードバック値とから演算を行い、K回目の偏差データを用いてK+1回目の指令値に対する補正データを演算する。ここで制御対象2に関する応答特性から補正シフト時間分だけシフトさせた偏差データを用いて、補正データを演算することにより、制御対象特性に応じた補正データを算出することが可能となる。
【0060】
補正シフト時間は、制御周期の倍数であっても良いし、実数を用いても良い。
【0061】
〔数式1〕 Rev(k+1)(n) = Rev(k)(n) + G * Err(k) (n+st)
k: 学習回数 0,1,2,…
n: サンプル時刻 0,1,2,….,N
Rev(k+1)(n): 学習k+1回目用のサンプル時刻nの補正データ
Rev(k)(n): 学習k回目用のサンプル時刻nの補正データ
G : 学習の強さを決める係数
Err(k)(n+st): 学習k回目のサンプル時刻n+stの偏差データ
st: 補正シフト時間(制御周期の整数倍)
制御部10は、指令値に対して補正値を加算して、制御対象へ出力する。
【0062】
<ライブラリプログラムおよびユーザプログラム>
次に本実施の形態の制御装置が学習制御パラメータ算出、学習制御、動作軌跡制御を行う構成について説明する。一実施形態として、制御装置には、学習制御、学習制御パラメータ算出に適したライブラリプログラムが予め容易される。制御装置のユーザは、図示しない制御装置のサポート装置を用いて当該ライブラリプログラムを読みだすようなコードを作成することができる。このようなライブラリプログラムを制御装置メーカやサードパーティが予め提供しておくことで、短い時間で、制御対象に応じた学習制御パラメータの算出をするようなユーザプログラムを作成することが可能となる。すなわち、ユーザプログラムは、制御対象において典型的には動作軌跡を制御する制御装置において学習制御により指令パターンで与えられる補正データの算出に用いられる。
【0063】
図10は、本実施の形態の制御装置で実行されるライブラリプログラムの一例を示す。主として、学習制御ファンクションブロックと、学習制御パラメータ算出ファンクションブロックとを含む。これらのファンクションブロック一部または全部は、その実行順序到来すると、対応するライブラリプログラムを読み出し、読みだして実行することを指定するための命令である。言い換えれば、各ファンクションブロックに対応するプログラムの実態であるライブラリプログラムが予め容易されており、プロセッサは、プログラムに従って、ライブラリプログラムを適宜呼び出して実行することになる。以下、各ファンクションブロックの機能について説明する。
【0064】
特性測定FBは、制御対象の応答特性を算出するための指令値を生成し、生成した指令値に対すフィードバック値を入手することにより、制御対象の応答特性から学習制御パラメータとして補正シフト時間を導出する。
【0065】
特性測定FBの入力としては、特性測定モード起動と最大測定時間と指令値高さフィードバック値とが規定されている。特性測定モード起動は本ファンクションブロックを起動する信号であり、TRUEとなると特性測定モードが開始され、特性測定中がTRUEとなる。特性測定モードでは、制御装置は特性指令用のパターンから指令値を算出し、制御対象へ出力すると共に、制御対象からのフィードバック値を逐次格納する。最大測定時間は、制御対象への指令値出力に対してフィードバック値を測定する最大時間であり、特性測定用指令値を出力した制御周期から最大時間だけ制御対象のフィードバック値を測定し格納する。指令値高さは制御対象へ出力する特性計測用指令値の高さを指定する入力であり、最大測定時間でかつ指令値高さを有する特性計測用指令値をパルス状、またはステップ状に出力する。
【0066】
特性測定用ファンクションブロックは入力としてさらに、フィードバック値が規定される。フィードバック値は、最大測定時間として与えられた測定時間において、格納されたフィードバック値が入力される。特性計測用指令値とフィードバック値との時刻を比較することにより、補正シフト時間が出力される。
【0067】
<2.学習制御ファンクションブロック>
図11は学習制御ファンクションブロックの一例を示す。学習制御ファンクションブロックは、入力として学習制御起動が規定される。学習制御起動がTRUEとなると、学習制御中にTRUEが出力される。
【0068】
学習制御ファンクションブロックは、さらに学習終了判定値、補正シフト時間、指令パターン(配列データ)、フィードバック値を入力として備える。学習終了判定値 は、判定条件として与えられる実数である。補正シフト時間は、特性測定ファンクションブロックで演算された値であり、制御周期の整数倍または実数で与えられる。指令パターンは配列データとして与えられる。フィードバック値は配列データとして与えられる。指令パターンとフィードバック値とから位置偏差の2乗和を算出し、評価関数値として出力する。
【0069】
制御ファンクションブロックはさらに補正データを入力として規定される。補正データについては、指令パターンとフィードバック値との偏差に対して補正シフト時間分だけシフトした時間について加算することで補正データを出力し、補正データ配列を更新して出力する。補正データ配列の更新が完了すると出力として学習終了がTRUEとなり、学習制御ファンクションブロックの起動が終了する。
【0070】
(利点)
上述したような学習制御ファンクションブロック、特性算出用ファンクションブロックおよびそれを実現するためのライブラリプログラムが提供されることで、作成工数をかけることなく、制御対象の特性に王板学習制御パラメータの算出と、学習制御を行うユーザプログラムが作成できる。
【0071】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0072】
2 制御対象
10 制御部
20 指令値生成部
30 学習制御部
40 特性測定用指令値生成部
50 補正シフト時間算出部
100 制御装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11