JP2013003845A - 組み込み知能コントローラ、制御システム、制御プログラム、記録媒体、及び制御方法 - Google Patents
組み込み知能コントローラ、制御システム、制御プログラム、記録媒体、及び制御方法 Download PDFInfo
- Publication number
- JP2013003845A JP2013003845A JP2011134305A JP2011134305A JP2013003845A JP 2013003845 A JP2013003845 A JP 2013003845A JP 2011134305 A JP2011134305 A JP 2011134305A JP 2011134305 A JP2011134305 A JP 2011134305A JP 2013003845 A JP2013003845 A JP 2013003845A
- Authority
- JP
- Japan
- Prior art keywords
- control
- unit
- fuzzy
- neural network
- gain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Feedback Control In General (AREA)
Abstract
【解決手段】
制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラ1のICS部10を用いる。ICS部10は、ファジィ・ニューラルネットワークにより非線形誤差を減少させる補償器であるFB−FN部130(ファジィ・ニューラルネットワークによる非線形偏差補償器)を備える。FB−FN部130は、制御対象の非線形動特性のPD(比例、微分)補償を行うファジィPD部131と、制御対象の非線形動特性のPI(比例、積分)補償を行うファジィPI部132とを並列に備える。
【選択図】図10
Description
従来から、一般的な制御方法としてPID制御が知られている。PID制御は、P(Proportional、比例)動作、I(Integral、積分)、D(Differential、Derivative、微分)動作を用いたフィードバック制御である。すなわち、PID制御は、目標値−制御量である制御の偏差に対して、比例演算、積分演算、及び微分演算を行い、操作量を算出して制御する。
PID制御は、古典制御だが扱いやすさと正確性の良さから広く使われている。しかし、PID制御のような古典制御では外乱や非線形要素への対応が困難であった。
しかし、一般的には、マニピュレータは、剛性が低く、重力や遠心力を受ける非線形な多入力多出力系である。また、従来手法では、PID制御における位相補償制御、最適サーボ系、外乱オブザーバを用いた制御あるいはH∞制御等を用いて精度、振動抑制、ロバスト性などを実現しているが、十分な制御性能が得られなかった。
従来技術1によれば、PID制御の2自由度化のための積分動作の2自由度化を非常にシンプルな形とし、かつ、比例ゲインの2自由度化係数αと積分時間の2自由度化係数βの相互干渉を除去できる補償演算手段を設けたことにより、(1)積分動作の2自由度化が非常に簡単になり、かつ、分かり易い形に実現できる。(2)積分動作の2自由度化において比例ゲイン2自由度化係数αの関与を排除でき、調整が簡単になる。(3)さらに、積分動作の2自由度化係数βの関与を分母のみとし、シンプルで2自由度化係数βの調整時に直感的に把握可能となる。
このような従来のロバスト制御では、定常特性に関するパラメータであるゲインが固定であったため、突発的外乱の影響に対応できず、不具合発生が問題となっていたためであった。これは、従来技術1でも同等であった。
このため、実用的なインテリジェント(知能化)・ロバスト制御装置が強く望まれていた。
本発明の組み込み知能コントローラは、前記フィードバック手段は、ファジィ分割された空間において位置誤差に応じた可変フィードバックゲインを設定することを特徴とする。
本発明の組み込み知能コントローラは、制御系を2自由度制御構成とし、前記制御対象の変位、速度、及び加速度のパラメータをニューラルネットワークにより学習させ、前記制御対象の特性の逆特性を取得するフィードフォワード手段を備えることを特徴とする。
本発明の組み込み知能コントローラは、前記フィードフォワード手段又は前記フィードバック手段は、所定のサンプリング時間で実時間処理を行うことを特徴とする。
本発明の組み込み知能コントローラは、前記フィードフォワード手段又は前記フィードバック手段は、ソフトウェアPWM制御を行うことを特徴とする。
本発明の制御システムは、前記組み込み知能コントローラを含むことを特徴とする。
本発明の制御プログラムは、制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラの制御プログラムにおいて、コンピュータをファジィ・ニューラルネットワークにより非線形誤差を減少させる補償器であるフィードバック手段
として機能させるための制御プログラムであることを特徴とする。
本発明の記録媒体は、制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラの制御プログラムの記録媒体において、コンピュータをファジィ・ニューラルネットワークにより非線形誤差を減少させる補償器であるフィードバック手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
本発明の制御方法は、制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する制御方法において、フィードバック手段により、ファジィ・ニューラルネットワークにより非線形誤差を減少させることを特徴とする。
〔本発明の実施の形態に係る制御システムXの構成〕
まず、図1A〜図2を参照して、本発明の実施の形態に係る制御システムXの制御構成について説明する。
図1Aは、制御システムXを開発する際に用いる構成の一例の外観図である。本実施形態の制御システムXは、知能コントローラ部1が、テーブル移動装置である制御対象2と、図示しない制御装置3とに接続されている。
知能コントローラ部1は、インテリジェント・ロバスト制御に用いるICS部10(Intelligent Control System Module、組み込み知能コントローラ)を備えている制御部位である。図1Aの例では、知能コントローラ部1として、組み込みモジュールを接続できる開発用の組み込み型コンビュータを用いる例を示す。
また、制御対象2は、外乱の影響を受け、ロバスト制御が必要になる具体的な制御対象部位である。図1Aの例では、開発とシミュレーションに用いるテーブル移動装置を用いた例を示す。このテーブル移動装置は、モータドライバーやカウンタ等であるモータ駆動ドライバ20を備えている。モータ駆動ドライバ20は、駆動用のモータ230により、テーブル210を移動させ、その制御の応答を入力する。
図1Bは、ICS部10の外観図である。ICS部10は、組み込みコンピュータを用いたインテリジェント・ロバスト型組み込み知能コントローラであり、後述する学習後に、実際の制御対象の機器に装着してインテリジェント・ロバスト制御を行う。
制御システムXは、一例として、知能コントローラ部1と、制御対象2と、制御装置3とを含んでいる。
制御対象2は、製品の製造時には、ロボット、自動車、自転車、航空機、ヒートポンプ等のモータやアクチュエータやヒータのように電磁的に駆動を調節する素子と、この素子の出力の状態を取得するセンサ等を含む。本実施形態では、一般的な外乱の起こる駆動系のシミュレーションを行う場合の構成として、駆動装置であるDC(直流)モータ駆動のテーブル移動装置を用いた構成の例について説明する。
制御装置3は、一般的なPC/AT互換機やMAC規格機のようなPC(Personal Computer)等を用いることができる。制御装置3は、Windows(登録商標)やLinux(登録商標)等のOS(Operating System)を用いて、制御用のソフトウェアをインストールして実行することができる。以下では、制御装置3のPCに、制御用ソフトウェアとしてMathWorks社製のMATLAB(登録商標)/Simlink(登録商標)をインストールしてファジィ/ニューラルネットを構築した例について説明するが、これに限られない。また、以下では、制御装置3において、エイ・アンド・デイ社のVCDesigner(商標)とModelDef(商標)ソフトウェアを用いてモデル定義とモデル実行画面の作成を行う例についても説明するが、これに限られず、各種のソフトウェアを用いて実現することができる。
より具体的に説明すると、知能コントローラ部1は、例えば、ICS部10、制御部11、補助記憶部14、主記憶部15、論理回路部16、I/F部17、及びコネクタ18と19を含んで構成される。
ICS部10は、EEPROM(Electrically Erasable Programmable Read−Only Memory)やNOR/NANDフラッシュメモリやSRAM(Static Random Access Memory)等を内蔵したiCS(intelligent Control System)モジュールである。ICS部10は、制御装置3で作成された制御部11のC言語等のプログラム(実行コード)であるバイナリファイル、各種モデルやパラメータに関する定義ファイルやデータ、FPGA(Field Programmable Gate Array)の論理回路データ、知能コントローラ部1のファームウェアやBIOS(Basic Input/Output System)等を記憶している記憶媒体(記録媒体)も備える。後述する開発/学習処理では、このプログラムやデータが制御部11により読み出されて実行される。また、ICS部10は、図1Aの外観図のように、それ自体が制御演算手段を備えたシングルボードコンピュータとして構成されていてもよい。
制御部11は、RISC(Reduced Instruction Set Computer、縮小命令セットコンピュータ)方式やCISC方式等の高速演算処理が可能なCPU(Central Processing Unit、中央処理装置、中央演算装置)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Processor、特定用途向けプロセッサー)等である演算・制御能力を備えた制御手段である。
補助記憶部14は、主にOS用の記憶媒体(記録媒体)として、SSD(Solid State Drive)やコンパクトフラッシュ(登録商標)ディスクやSDメモリカードやmicroSDメモリカード等のフラッシュメモリディスク、HDD(Hard Disk Drive)、磁気テープ媒体、光ディスク媒体等を備えた補助記憶手段である。補助記憶部14に記憶されたOSとしては、カーネルに組み込んで使用するリアルタイムモジュールであるXenomai拡張を用いたLinux(登録商標)や、ITRON等のリアルタイム処理が可能なOSを用いることが好適である。
主記憶部15は、主に制御/演算用の記憶媒体(記録媒体)として、SDRAM(Synchronous Dynamic Random Access Memory)やDDR(Double−Data−Rate)、DDR2、DDR3、LPDDR3、WideIO、XDR(extreme data rate)等の主記憶用に使われる高速な記憶手段を含んで構成される主記憶手段である。主記憶部15は、ICS部10の各プログラムやデータ、制御対象2から取得したセンサのデータ等を記憶する。
論理回路部16は、CPLD(Complex Programmable Logic Device)やFPGA等の論理回路及び各種アナログ回路等である。論理回路部16は、制御対象2とのインターフェイスの回路やA/D(analog−to−digital)コンバータやD/A(digital−to−analog)コンバータ等も含んで構成される。
I/F部17は、USB(Universal Serial Bus)、無線USB、シリアル、パラレル、LAN(Local Area Network)等のインターフェイスである。I/F部17は、主に制御装置3からプログラムやバイナリファイルやデータ等を転送し、制御結果等のデータを制御装置3に転送するために用いる。
コネクタ18は、主に制御装置3に接続するためのコネクタ等である。コネクタ18は、例えば、制御装置3と、LANクロスケーブルで接続できる。また、コネクタ18には、タッチパネルディスプレイ等の表示部/入力部やスピーカやマイクロフォン等を別途接続してもよい。
コネクタ19は、主に制御対象2に接続するためのコネクタであり、別途駆動用のアンプやセンサ等と接続してもよい。
また、制御対象2は、モータ駆動ドライバ20と、テーブル部21とを含んでいる。
モータ駆動ドライバ20は、一般的なDCモータを駆動するためのドライバIC(Integrated Circuit)を用いることができる。このドライバICは、知能コントローラ部1からの制御信号によりテーブル部21のモータ230を駆動する。また、モータ駆動ドライバ20は、エンコーダ220からの出力を取得して、知能コントローラ部1に送信する。
テーブル部21は、DCモータによって駆動する移動テーブルの例である。テーブル部21は、移動テーブル(ステージ)であるテーブル210と、テーブル210を駆動するDCモータ等のモータ230と、テーブル210の位置等を検知するエンコーダ220とを含んで構成される。
次に、図3を参照して、ICS部10の詳細な制御構成について説明する。
ICS部10は、主にPID部110、FF−NN部120(フィードフォワード手段)、FB−FN部130(フィードバック手段)、差分部140、PWM部150、カウンタ部160、出力部170、入力部180、制御信号発生部190、外乱シミュレート部195を含んで構成される。ICS部10は、これらの構成部位を組み合わせて、各処理における各種演算を行う。
このPID部110は、フィードバック制御におけるPD(比例、微分)補償を行うためのPD補償器部111を備えている。PD補償器部111は、制御対象2の特性を把握するために用いる。
この学習について、FF−NN部120は、オフラインでPD補償器部111のPD制御系の逆ダイナミックス特性をBP(Backpropagation、誤差逆伝播)法により学習する。
FF−NN部120としては、例えば、例えば、図9Aで示すような、3層、3入力、4中間ユニット、1出力のニューラルネットワークを用いることができる。ここで、入力層(Input Layer)には、変位r、速度s(dr/dt)、加速度s2(d2r/dt2)をそれぞれ入力する。また、FF−NN部120のニューラルネットワークの出力値は操作量UNNである。
このFF−NN部120の学習方法の詳細については後述する。
FB−FN部130は、制御対象2の非線形動特性の補償のために、ファジィ・ニューラルネットワークベースにより、目標信号r(t)と出力信号y(t)との偏差信号e(t)=r(t)−y(t)の二乗が最小となるようにオフラインで学習する。これらの学習後に、制御システムXを始めとする機器に組み込んで制御に使用することができる。このFB−FN部130は、ゲインスケジューリングにより出力の補償を行う。
ファジィPD部131は、ファジィ・ニューラルネットワークを用いて、PD補償を行う部位である。また、ファジィPI部132は、ファジィPI部131と同様のファジィ・ニューラルネットワークを用いて、PI(比例、積分)補償を行う部位である。
ファジィPD部131及びファジィPI部132は、それぞれ、例えば、図12Aで示すような、2入力4層1出力のファジィ・ニューラルネットワークを用いることができる。ファジィPD部131及びファジィPI部132とも、入力層には、それぞれ、位置誤差となる変位誤差信号epと、速度誤差となる変位時間微分の速度誤差信号evを入力信号として入力する。この上で、ファジィPD部131は、PID部110のPD補償の操作量UPDの2乗を評価関数として、BP法で結合加重を修正する。また、ファジィPI部132は、PID部110のPI補償の操作量UPIの2乗を評価関数として、BP法で結合加重を修正する。ファジィPD部131は、それぞれの入力の総和を操作量UFN-PDとして出力する。また、ファジィPI部132は、操作量UFN-PIを出力する。
このファジィPD部131及びファジィPI部132のファジィ・ニューラルネットワークの学習方法の詳細については後述する。
PWM部150は、DCモータ駆動用のソフトウェアPWM(Pulse Width Modulation、パルス幅変調)モジュールのプログラムとデータを含む部位である。このPWM部150の出力信号により、モータ駆動ドライバ20に接続されたモータ230をPWM制御することができる。
カウンタ部160は、エンコーダのカウンタのためのモジュールのプログラムとデータを含む部位である。このカウンタ部160により算出された値を用いて、差分部140が変位r、速度s、加速度s2、変位誤差信号epと、速度誤差信号evを求めることができる。
出力部170は、PWM部150からの出力をモータ駆動ドライバ20に伝えるための切り換え等を行う部位である。
入力部180は、モータ駆動ドライバ20を介して入力したエンコーダ220の信号等である制御対象2からの信号を入力し、カウンタ部160に送信する部位である。
制御信号発生部190は、図示しない外部機器からの指示信号を取得し、制御対象2を制御するための制御信号を出力するモジュールのプログラムとデータを含む部位である。制御信号発生部190は、制御のシミュレーション用に、例えばサイン波等の信号を出力することもできる。
外乱シミュレート部195は、外乱となる摩擦やガタ等による信号をシミュレートするための信号発生器等の部位である。外乱シミュレート部195は、所定出力のランダム信号等を出力可能である。
次に、図4と図5を参照して、制御システムXにおいて、ICS部10を学習させ、制御対象2の制御に最適化するための開発/学習処理について説明する。
図4は、この制御処理における主な構成部位と信号の流れを示すブロック図である。
本発明の実施の形態に係る制御システムXは、従来の制御システムの問題の解決のため、ファジィ・ニューラルネットワーク(FNN)ベースの制御を行う。ここで、ファジィとは複雑なシステムをヒトのように「暖昧」にとらえることができif−then型のファジィルールにより言語的に記述できるという特徴を持つ。一方、ニューラルネットワークの特徴は学習により入出力の関係を同定できることである。
本発明の実施の形態に係る制御処理においては、制御装置3により、主に、図4のICS部10のFF−NN部120、FB−FN部130、及び差分部140のモデルを作成して開発を行う。この上で、各部位のプログラム等を知能コントローラ部1の制御部100が実行して、制御対象2のフィードバック制御のための学習をさせ、実際の制御システムを構成する。この制御システムは、例えば、ソフトウェアサーボのPWM制御により制御対象2を駆動することができる。
以下で、図5のフローチャートを参照して、この開発/学習処理の詳細について説明する。
まず、制御装置3により、ICS部10の各部に対応するモデルをMATLAB/Simulink、Model Def、VCDesigner等のソフトウェアを用いて作成する。
制御装置3は、この作成したモデルをコンパイル等してプログラムのバイナリファイルに変換し、ICS部10に転送する。このバイナリファイルは、実際にバイナリファイルを実行する定義ファイルや各種データと共にICS部10の補助記憶手段に記憶される。
ICS部10に記憶されたプログラム等は、知能コントローラ部1の制御部11が単独で実行して、下記の学習処理等を行うことができる。
次に、ICS部10の制御部11は、FF−NN部120を用いて、FF−NN逆ダイナミックス処理を行う。
この処理においては、制御対象2の非線形特性に対する逆ダイナミックスを獲得し、システム特性を線形化するための学習を行う。
ここで、制御対象の位相遅れを改善するために、FF−NN部120は、オフラインでPD補償器部111(図3)のPD制御系の逆ダイナミックス特性をBP法により学習する。
FF−NN部120による制御では、位相の遅れに対しての改善が期待できる。
次に、ICS部10の制御部11は、FB−FN部130を用いてFB−FN学習処理を行う。
ここで、上述のFF−NN部120の制御だけでは、制御対象2のモータ230の軌道等の目標になる信号(目標軌道信号)に対し、非線形誤差が発生する。これは入力補償としてNNが制御対象の非線形特性の一部のみの補償に限定されるためである。
このため、本ステップにおいて、FB−FN部130を用いた非線形動特性の補償のための学習を行う。
FB−FN部130は、上述したように、差分部140から取得した目標信号r(t)と出力信号y(t)との偏差信号e(t)=r(t)−y(t)の二乗が最小となるように学習する。この学習は、制御中であるオンライン状態又は制御後のデータを用いたオフライン状態で実行可能である。
これらの学習後に制御システムXが構成される。
よって、様々な制御系に対応する汎化能力をもたせることができ、知能化制御を実現することができる。
また、ICS部10の制御部11は、PWM部150を用いて、ソフトウェアサーボ制御処理を行うことができる。
具体的には、上述の各学習時、及び学習後に構成された制御システムXにおいて、ICS部10の制御部11は、ソフトウェアサーボの処理を行い、実際の制御対象2を制御することが可能である。
以上により、開発/学習処理を終了する。
ここで、図6のフローチャートを参照して、モデルの作成と知能コントローラ部1のICS部10への転送をするモデル作成処理の詳細について説明する。
まず、制御装置3は、ユーザの指示を検知し、モデル作成処理を行う。具体的には、MATLAB/Simulinkソフトウェアにより制御システムブロック図を作成する。
より具体的に説明すると、MATLAB/Simulinkは、制御系設計支援ソフトウェアである。ここで、MATLABは、MATrix LABoratoryを略したものであり、行列・ベクトル演算に基づく数値解析ソフトウェアである。MATLABは、インタプリタ(対話)形式の高級フログラミング言語であり、BASIC言語に類似したMATLAB言語で記載された「Mファイル」が用いられる。MATLABは、制御ツールボックス、通信ツールボックスを始めとして、豊富なツールボックスを備えておりユーザが解析に利用できる。また、ブロック線図入力により制御系のシミュレータを構築できるSimulinkが準備されている。MATLAB/Simulinkにより設計されたコントローラを組み込みCPUにより実装するためのRealTime Workshopも製品化されているため、本実施形態で好適に利用できる。
Simulinkはアナログ計算機の機能をデジタル環境で実行させるソフトウェアであり、微分方程式の解析に便利なツールである。
Neural Network Toolboxは、非線形システムに対し、パターン認識や同定、制御等で利用できるようなニューラルネットワークシステムの設計やシミュレーションに必要なMファイル群である。Neural Network Toolboxは、初期化、伝達関数、教師付ネットワーク/学習ルール、パーセプトロン、バックプロパゲーション(BP)、Levenberg−Marquardtバックプロパゲーション、Radial basisネットワーク、リカレントネットワーク(Elman,Hopfield)等に対応している。
Fuzzy Logic Toolboxは、ファジィ推論システムの作成、編集ができるプログラムである。Fuzzy Logic Toolboxは、ファジィ推論システムをグラフイカルツールまたはコマンド関数を使って簡単に作ることができる。SIMULINKを併用すれば、ブロック線図シミュレーション環境の中でファジィシステムをテストすることができる。また、Fuzzy Logic Toolboxは、Real−Time Workshopを使用できる環境ならば、SIMULINKの環境からリアルタイムまたはノンリアルタイムコードのいずれかを生成できる。
次に、制御装置3は、ユーザの指示を検知し、Cコード作成/コンパイル処理を行う。
この処理においては、MATLABのReal−Time Workshopによって作成したモデルから、例えばC言語で記載されたCコードやオブジェクトコードや実行コードを自動生成させる。
次に、制御装置3は、ユーザの指示を検知し、モデル定義/ビルド処理を行う。
ここでは、ModelDefというソフトを使用し、モデルのパラメータや信号の定義を行う。
このモデル定義を行うことで、MATLAB/Simulinkで作成したモデル上のパラメータや信号を実行時に使用可能にする定義ファイルを作成することができる。
次に、制御装置3は、ユーザの指示を検知し、VC(Virtual Console)画面作成処理を行う。
この処理においては、VCDesignerソフトウェアを用いて画面作成を行う。具体的には、制御装置3のPCの表示装置と、知能コントローラ部1の表示部に表示されるユーザインタフェイスとなる「VC画面」を作成できる。
また、VCDesignerでは、作成したモデルを実行するVC画面の設計ができる。
これにより、作成したモデルを実行するときに、ユーザが扱いやすいような画面の設計を行うことができる。
次に、制御装置3は、ユーザの指示を検知し、実行コード転送処理を行う。
具体的に説明すると、制御装置3は、VCDesignerにより、プログラムを実行できる。ユーザは、制御装置3のエミュレータ等で実行テストを行った後で、実行コードのバイナリファイルや定義ファイルや各種データ等(以下、プログラム等という。)を転送する。
なお、制御装置3は、VCDesigner起勤時に制御装置3と知能コントローラ部1とが接続状態になっていれば、生成された実行コード等を自動的に転送することもできる。
次に、知能コントローラ部1は、実行コード取得/実行処理を行う。
ここでは、知能コントローラ部1の制御部11が、上述の制御装置3から取得したプログラム等をICS部10の補助記憶手段に記憶する。
この実行コードを取得後に、実行コード等を知能コントローラ部1側単体で実行が可能となる。
具体的には、ユーザは、制御装置3と知能コントローラ部1が接続状態で、画面作成が終わったら、VCDesignerの実行ボタンを押下する。この実行ボタンを押下により、設計した画面が制御装置3と知能コントローラ部1の表示部上に描画され、実行可能となる。
なお、この実行においては、ステップ実行や、制御対象2からのデータの取得等を行うこともできる。知能コントローラ部1は、逐次、制御装置3に取得したデータ等を送信することもできる。また、所定時間後に、取得したデータを送信することもできる。
次に、制御装置3は、制御結果取得分析処理を行う。
具体的には、制御装置3は、取得したデータやモデルの状態等を、MATLAB/Simulink、VCDesigner、又は解析用のソフトウェアで確認することができる。これにより、モデルの動作を確認し、下記で説明する学習処理を行うことが可能になる。
なお、VCDesignerを用いて実行している際には、ユーザは、知能コントローラ部1の画面のボタンでは指示ができず、制御装置3のユーザインタフェイスの画面で指示を行う。制御装置3で実行テストを行ったあとで、知能コントローラ部1単体で実行が可能となる。
以上により、モデル作成処理を終了する。
次に、図7〜図9Bを参照して、FF−NN逆ダイナミックス処理の詳細について説明する。この処理では、古典的なPD制御の結果の信号を用いて、フィードフォワードによる、FF−NN部120の学習を行う。
図7は、このFF−NN逆ダイナミックス処理に用いるICS部10の各部と制御対象との関係を示すブロック図である。このように、制御対象の動特性を改善するため、ニューラルネットワークであるFF−NN部120を用いる。FF−NN部120のニューラルネットワークは、サーボ系である制御対象2の逆ダイナミックスをオンライン又はオフラインで学習し、それをフィードフォワード補償器として利用する。
以下で、図8のフローチャートを基に、このFF−NN逆ダイナミックス処理の詳細をステップ毎に説明する。
まず、知能コントローラ部1の制御部11は、ICS部10のPD補償器部111等を用いて、FF−NN用意処理を行う。
ここでは、図7のブロック図に示したように、従来の古典PD補償器であるPD補償器部111により、制御対象2の特性を把握する試験を行い、指令信号の変位(y)、速度(dy/dx)、加速度(d2y/dt2)の各信号を取得する。この取得においては、差分部140の速度算出部141により速度を、加速度算出部142により加速度を算出する。また、この試験は、摩擦、ガタ等の非線形特性が、この動作により含まれることが重要点である。
また、このPD制御の際のPDゲインは制御対象2が移動可能な小さい値とする。
なお、速度、加速度信号は、変位信号収得後、オフラインにて差分部140が数値演算処理により算出してもよい。
次に、制御部11は、FF−NN部120を用いてFF−NN学習処理を行う。
ここで、まず、位置と速度フィードバック則を適用したプラントの動特性は非線形特性を2次系として近似し線形化すると、以下の式(1)にて表現できる。
I(k)=[r(k),kp/kv・dr/dt(k),J/kp・d2r/dt2(k)]T
各ユニットの入出力関係は線形関数f(x)=xを用いる。また、ネットワークの出力はプラントの入力の推定値φkとなる。
中間層の出力をψi(k)とすると、ニューラルネットワークの出力は、次の式(3)のように表せる。
ニューラルネットワークの学習は、評価関数として、以下の式(4)を定義し、バックプロパゲーション(BP)法により行う。
次に、図9Aを参照して、FF−NN補償器であるFF−NN部120のニューラルネットワークの構成例について説明する。FF−NN部120では、3層3入力4中間ユニット1出力のニューラルネットワークを用いた。
入力信号は変位r、速度dr/dt、加速度d2r/dt2の信号である。これにより、プラントの動特性を2次系として近似し、線形化する。
具体的には、FF−NN部120入力として、NN学習処理で収得した変位、速度、加速度のデータを入力することができる。データは所定量、例えば1秒間に100程度とする。この場合、サンプリング周波数は10msecである。
速度;
加速度];
T=[教師信号];
net=newff([-5 5 ; -5 5 ;-5 5],[3 1],{'tansig','purelin'},'trainlm');
y=sim(net,P);
plot(P,T,P,y,'o');
net.trainParam.show=10;
net.trainParam.epochs=20000;
net.trainParam.goal=(0.0037^2);
net=train(net,P,T);
y=sim(net,P);
plot(P,T,P,y,'o');
gensim(net,-1);
return
ただし、教師信号は操作信号yとし、特性把握に必要な時間(3周期程度)とする。
このNNのブロックを制御ブロックとして、FF−NN部120に用いる。
以上により、FF−NN逆ダイナミックス処理を終了する。
次に、図10〜図17を参照して、FB−FN学習処理の詳細について説明する。
図10は、FB−FN学習処理に対応するICS部10の各部の関係を示すブロック図である。
具体的には、FB−FN部130は、ファジィ・ニューラルネットワークにより、ファジィPDとファジィPIの制御を行う。
ファジィ・ニューラルネットワークは、ニューロの学習能力とファジィの推論能力とを相補的に組み合わせて、それぞれの長所を生かし短所を補うよう融合したものである。
本実施形態のFB−FN部130は、非線形摩擦により変化および速度の制御誤差が生じた場合、制御ゲインを適応調整するファジィ・ニューラルネットワークによる非線形偏差補償特性により、制御誤差を減少させる特徴がある。
ここで、制御対象2の実際のモデルには、製品ごとに慣性モーメント等の値がバラツキ、2次モデルで表現できない非線形要素が存在する。すなわち、制御対象2の制御においては、目標軌道信号に対して制御対象の非線形摩擦誤差が発生する。
そこで、モデル化誤差、摩擦、未知な外乱等により生じる偏差信号を適応的に減少させる作用が働くように、ファジィPIDコントローラであるFB−FN部130によりフィードバック補償を行う。このため、FB−FN補償器であるFB−FN部130を、取得したデータを用いて学習させ、非線形誤差信号を減少させる。
このようにFB−FN部130を学習させることで、軌道誤差やモデル誤差による偏差を、ファジィPIDによるフィードバックによって押さえられる。これにより、知能化とロバスト性を兼ね備える、インテリジェント・ロバスト制御システム(IRCS)を実現できる。
以下で、図11のフローチャートを参照して、このFB−FN学習処理の各ステップの詳細について説明する。
まず、知能コントローラ部1の制御部11は、ICS部10のFB−FN部130のファジィ・ニューラルネットワーク設定処理を行う。
ここで、図12A〜図12Dを参照して、ファジィPD部131とファジィPI部132に共通に使われる、本発明の実施の形態に係るファジィ・ニューラルネットワーク(FNN)の構成について説明する。
ファジィ・ニューラルネットワークは、BP法による学習を可能としながら、階層型ニューラルネットワークの結合を工夫してファジィ推論ルールとの対応関係を持たせ、ニューラルネットワークの獲得した入出力関係に関するパターンの知識をファジィルールというシンボルの知識として把握することができる。また、ファジィ推論システムにおける問題点であるファジィルールの同定、メンバーシップ関数の調整の困難さを、ニューラルネットワークの学習機能により改善できる。
まずは、Fuzzy Logic Toolboxのメニューを呼び出す。メニューには:
1) メンバーシップ関数エディタ
2) FISエディタ
3) ルールエディタ
4) ルールビューワ
5) サーフェスビューワ
が存在する。
ここで、本実施形態におけるファジィ・ニューラルネットワークを用いたファジィ推論システムにおいては、まずはFISエディタを選択してモデルを作成する。
その際に、
a) tipperと入力するとウィンドウが表示される。
b) メンバーシップ関数エディタを使用し、メンバーシップ関数の名前、位置、型を設定する。
・Range [0 10]
また、ガウス曲線を設定する。
Gauss2mf
2つのガウス曲線の組み合わせによるメンバーシップ関数の作成を行う。
たとえば、以下の式(5)を用いることができる。
図12Aは、本発明の実施の形態に係るファジィ・ニューラルネットワークの構造を示す。
この図12Aの例では、(A)層の入力層は、変位誤差信号epと変位時間微分の速度誤差信号evを入力信号としており、この入力信号を次層のユニットに分配している。
次に、(B)層の中間層では、メンバーシップ関数を内部関数に持ちガウス関数を用いる。各ユニットの出力はメンバーシップ関数の値であり、前件部と呼ぶ。
(C)層はファジィルールで推論する後件部であり、(B)層で入力空間を9分割し、分割された空間の適合度をファジィルールの前件部適合度の式により計算し、(C)層の全ユニットで得られる前件部適合度の総和で規格した値μiを出力する。
(D)層は入力の総和を出力する線形ユニットである。
以上により、ファジィルール的構造を持つニューラルネットが構成でき、これをファジィ・ニューラルネットワークと称する。このファジィ・ニューラルネットワークはBP法による学習を可能としながら、階層型ニューラルネットワークの結合を工夫して、ファジィ推論ルールとの対応関係を持たせることができる。
このように、ファジィPD部131とファジィPI部132とをパラレルに組み合わせることにより、全体としてファジィPIDを実現することができる。
次に、制御部11は、ICS部10のFB−FN部130のFNN学習処理を行う。
図13は、FB−FN部130のファジィPD部131とファジィPI部132の学習過程を表わすブロック図である。
ファジィ・ニューラルネットワークの学習は、上述のPD補償器部111によるPD制御の特性把握試験のデータを基にして、変位誤差、速度誤差を入力とする。この上で、PIDの操作量を求めて、これを教師信号として、BP法と最小二乗法を組み合わせた方法でファジィPD部131とファジィPI部132の学習を行う。
FB−FN部130のニューラルネットワークでは、フィードバックゲインの学習を位置誤差の2乗:
Ep =1/2ep 2
が最小となるように行う。また、kij≧0(j=I,p,v)の条件を常に満たすように、kij=Wijとする。
より具体的に説明すると、学習に利用する入力データは、サーボ系がスムーズに動作するようにゲイン調整した線形PD制御および線形PI制御の位置誤差epとその変化分であるevとし、教師データは線形PD制御及び線形PI制御の出力信号Uとする。また、大きな誤差(ステップ)の学習については、方形波のステップ信号を入力データとし、教師データは上記同様の線形PD制御および線形PI制御の出力信号Uとする。
ファジィPD部131のファジィPD学習は、モデル化誤差、非線形摩擦を補償するための学習の根拠となる。すなわち、制御対象2の実際のモデルには、慣性モーメント等のバラツキ、2次モデルで表現できない非線形要素が存在するため、これを学習する。
これらのモデル化誤差、非線形摩擦の誤差を表わすと、以下の式になる:
e = Td + fd(y)
ここで、Tdは、未知の外乱としてモデル化誤差を含める。
fd(y)はsgn(y’){(Fs−Fc)exp(−|y’|/e)+Fc}とする。
ファジィPD学習は、上述の式で示されるモデル化誤差及び非線形摩擦誤差の偏差出力信号をフィードバックPD出力信号として獲得した教師信号により逆ダイナミックスとして学習する。
学習方法は非線形誤差学習方式としてuPDの2乗であるE(uPD)=l/2uPD 2を評価関数とし、BP法で結合荷重を修正する。
ファジィPI部132のファジィPI学習は、クーロン摩擦、未知外乱による定常偏差の学習の根拠となる。つまり、制御対象2では、クーロン摩擦により定常偏差が生じる。これは、加速度が0のときの位置偏差である。また、未知外乱による定常偏差も発生する。
これらの誤差を表わすと、以下の式になる:
e = eFC + eTd
ここで、eFCはクーロン摩擦により発生する定常偏差eTdは未知外乱により発生する定常偏差である。ファジィPI学習は、上記の式で示されるクーロン摩擦および未知外乱による定常偏差を、フィードバックPI出力信号として獲得した教師信号により逆ダイナミックスとして学習する。
非線形誤差学習の方式としては、式としてuPIの2乗であるE(uPI)=1/2uPI 2を評価関数として、BP法で結合荷重を修正する。
次に、制御部11は、ICS部10のFB−FN部130のメンバーシップ関数設定処理を行う。
図14を参照して、このメンバーシップ関数設定処理の説明をする。
上述したように、ファジィPD部131、ファジィPI部132における、ファジィ・ニューラルネットワークの前件部には、メンバーシップ関数を用いる。本実施の形態においては、このメンバーシップ関数に、ここではガウス関数を使用する。
上述のFNN学習処理による学習結果、メンバーシップ関数の形が決定されることにより、パラメータが自動調整される。
図14及び図12Aの下部は、この調整されたメンバーシップ関数の例である。
次に、制御部11は、ICS部10のFB−FN部130に対して、ファジィルール設定処理を行う。
図15は、ファジィPD部131及びファジィPI部132のファジィルールの設定方法を示す概念図である。
本発明の実施の形態に係るファジィ・ニューラルネットワークでは、制御ゲインを適応調整するため、誤差入力量に対応して出力を調整するファジィルールを設定する。
つまり、FB−FN部130のゲインをマトリックス状に配置するために、ファジィPD部131、ファジィPI部132における後件部に以下に示すファジィルールを設定する。
μi=Ai1(ep)Ai2(ev)
ここで、i=1,2,…,9, i1,i2=1,2,3
また、Aijはメンバーシップ関数でファジィ変数を表す。
また、Ai1,Ai2はそれぞれPositive big、Small、Negative bigに対する適合度を表す。
ただし、適合度は、下記の式(6)のように正規化しておく。
ここで、図12Cのように、ファジィ分割として9を設定し、ファジィルールは以下のように設定する。
i番目のファジィルールは:
Ri: IF ep is Ai1 and ev is Ai2 THEN y=fi(ep,ev)
ここで、i=1,2, ... ,9, i1,i2=1,2,3
である。
また、uFN-PD出力は、下記の式(7)として求める。
ここで、式(10)の制御方法においては、誤差応答によりファジィPDとファジィPIを切り換える動作を行う。この際、外乱やパラメータ変動による制御系の影響に対し、応答を速やかに目標値に近づけるため、図15内の表で示すように、外乱やパラメータ変動による制御系の影響に対し、応答を速やかに目標値に近づけるために図15に示すように、変位誤差信号epと速度誤差信号evがいずれもSmallのときはPID制御、epがSmallでなくevの絶対値|ev|がbigのときは、ダンピングを小さくし速い応答を得るためにP制御、その他はPD制御とすることが好適である。
各フィードバックは、後段のニューラルネットワークで事前に学習することにより、制御則を構成する。各フィードバックゲインは後段のニューラルネットワークで事前に学習する。このような構成により制御則を構成する。つまり、誤差に適応した制御則を構成することができる。
図16Aは、このフィードバックであるファジィ・ニューラルネットワークゲインの計算方法を示す。
フィードバックゲインkijはファジィ分割された誤差空間ごとに学習するので、誤差量に依存するダイナミック補償器としての役割を果たす。このように、制御ゲインを適応調整するため、誤差入力量に対応して出力を調整する、上述のi番目のファジィルールを設定する。
すなわち、ファジィ推論の効果として、誤差が少ないときは低いゲインとなる。ただし、ゲインの最適調整は、ニューラルネットワークの学習により行われる。つまり、モデル化誤差、摩擦、未知な外乱等により位置と速度の誤差が生じると大きなゲインとなり、誤差の減少が期待できる。また、後述する図16BのC7の部分のように大きな誤差に対しては、フィードバックの効果が期待できる。このような構成により、外乱やパラメータ変動にロバストとなることが期待できる。
このゲインスケジューリングにより決定されたCi=μi(kipep+kiv+kiI∫fepdt)式により、図16BのC1〜C9の各ゲインが算出される。
図16Eは、ファジィPD部131のファジィPD制御面を示す。これはファジィPDについてCpとCvの入力に対する制御出力がどのように変化するかを表わしている。図16Eの制御面によれば、ステップ状の大きな外乱に対してロバスト性及びロバスト安定性を有することがわかる。
ここで、図17を参照して、本発明の実施の形態に係るFB−FN部130のロバスト安定性の根拠について説明する。
FB−FN部130は、パラメータ変動が微小ではなく、ある有限な範囲で生じるとし、その変動範囲で制御性能を保証する制御系を設計する必要がある。そこで、パラメータの変動範囲をカバーする多数の基準点を仮定しこの点におけるパラメータ感度を小さくすることが好適である。また、各基準点での感度を小さくする割合はメンバーシップ関数を用いることにより、システムの要求に応じて設定できる。
また、ファジィ・ニューラルネットコントローラの誤差のロバスト性を確保するには、パラメータがある基準点まわりで微小変動することを前提とし、その変動に対するパラメータ感度を最小化する必要がある。図17に、そのメンバーシップ関数と、ファジィPIの制御面を示す。
ここで、図17の古典PIの制御面に示す通り、eかe・(eの上点)の移行方向に順じた、あるいは逆らった方向にeかe・が摂動すると、duの変化が増大する。
これに対して、図17のファジィPIの制御面においては、制御誤差であるeかe・の変化量が小さいときはファジィPIには、さほど影響しない。すなわち、ファジィPIの制御面はe−e・が、ほぼ平行であり、摂動すると、eとe・が2つ以上のルールが作動する過渡的な領域に入っていくだけで、制御出力には影響しない。つまり、定常偏差を減少させる機能が働いていることがわかる。
これにより、ファジィPIDコントローラのロバスト性の根拠が説明できる。
次に、制御部11は、ICS部10のFB−FN部130に対して、ファジィ推論処理を行う。
このファジィ推論処理においては、上述したシングルトン出力のメンバーシップ関数を使用して、ダイナミックスな非線形システムの種々の操作条件に適用する複数の線形コントローラを内挿的に組み込むことができる。
本実施の形態に係るこのファジィ推論処理においては、入力空間をスムーズに内挿して線形ゲインを求め、効果的なゲインスケジューラとし、非線形システムをモデル化できる。
つまり、ファジィ推論システムを使い、入出力データからBP法等のアルゴリズムを使ってチューニングする。ここでは、推論システムのパラメータを同定するためのハイブリッドな学習アルゴリズムを使う。非線形パラメータに対し、上述したように、最小二乗法とバックプロバゲーション勾配降下法(BP法)を適用する。
以上により、FB−FN学習処理を終了する。
以下で、作成して学習させたファジィPD部131であるFUZZY_PDのMファイルの例を示す:
[Input1]
Name='input1'
Range=[-0.2868 0.2804]
NumMFs=3
MF1='in1mf1':'gauss2mf',[0.0478592834462299 -0.371325 0.0319561439415608 -0.217974284608918]
MF2='in1mf2':'gauss2mf',[0.0608664733050278 -0.0978076222858487 0.0555142362386605 0.0852892043051262]
MF3='in1mf3':'gauss2mf',[0.0138714984932358 0.20884527353354 0.0478592834462299 0.361225]
[Input2]
Name='input2'
Range=[-1.0472 1.0472]
NumMFs=3
MF1='in2mf1':'gauss2mf',[0.177881957852323 -1.36136 0.178084149908005 -0.73222056738112]
MF2='in2mf2':'gauss2mf',[0.150801124394399 -0.302584545101134 0.1487581237134 0.303271696091688]
MF3='in2mf3':'gauss2mf',[0.178465822406237 0.732532304938343 0.177881957852323 1.36136]
[Output1]
Name='output'
Range=[-9.121 8.9183]
NumMFs=9
MF1='out1mf1':'linear',[29.9502149922501 0.502141541225866 -0.0114363187815991]
MF2='out1mf2':'linear',[0.699802412554496 2.88172200515163 -3.69267448235734]
MF3='out1mf3':'linear',[2.42419964633644e-009 1.94710601114873e-009 -4.46135969104574e-008]
MF4='out1mf4':'linear',[29.8646225385097 0.522490654609605 0.00109243397029133]
MF5='out1mf5':'linear',[29.9872760919535 0.502942439065712 -0.000137735051368041]
MF6='out1mf6':'linear',[29.9929707105531 0.500833500934634 0.000342857488096674]
MF7='out1mf7':'linear',[1.73151335707348e-014 7.40165806871063e-014 9.36256379708729e-014]
MF8='out1mf8':'linear',[0.60924632277904 2.59412276828522 3.30948675859052]
MF9='out1mf9':'linear',[29.9947186987529 0.494510357242337 0.00687566067744605]
[Rules]
1 1, 1 (1) : 1
1 2, 2 (1) : 1
1 3, 3 (1) : 1
2 1, 4 (1) : 1
2 2, 5 (1) : 1
2 3, 6 (1) : 1
3 1, 7 (1) : 1
3 2, 8 (1) : 1
3 3, 9 (1) : 1
以下で、作成して学習させたファジィPI部132であるFUZZY_PIのMファイルの例についても示す:
[System]
Name='FNN_PI'
Type='sugeno'
Version=2.0
NumInputs=2
NumOutputs=1
NumRules=9
AndMethod='prod'
OrMethod='probor'
ImpMethod='prod'
AggMethod='sum'
DefuzzMethod='wtaver'
[Input1]
Name='input1'
Range=[-0.2275 0.2108]
NumMFs=3
MF1='in1mf1':'gauss2mf',[0.0372257745066239 -0.293245 0.0620222208404797 -0.145616701160321]
MF2='in1mf2':'gauss2mf',[0.0509989814349655 -0.0938664146504105 0.061773470568765 0.0711977845073082]
MF3='in1mf3':'gauss2mf',[0.0451928100610181 0.122287868166051 0.0372257745066239 0.276545]
[Input2]
Name='input2'
Range=[-1.0472 1.0472]
NumMFs=3
MF1='in2mf1':'gauss2mf',[0.177881957852323 -1.36136 0.194858188187073 -0.725976617084914]
MF2='in2mf2':'gauss2mf',[0.184472713520267 -0.318507248879403 0.182769544067602 0.316484420470913]
MF3='in2mf3':'gauss2mf',[0.189973693378099 0.727208320141822 0.177881957852323 1.36136]
[Output1]
Name='output'
Range=[-7.2538 6.6378]
NumMFs=9
MF1='out1mf1':'linear',[43.4662552481124 15.4046594018716 18.8528571837822]
MF2='out1mf2':'linear',[-72.3728068591604 -8.21719705183032 -35.8241392764794]
MF3='out1mf3':'linear',[-0.746178588917306 -0.0969956028725818 -409.511443589854]
MF4='out1mf4':'linear',[43.6763652955075 4.47961924229057 -1.2979557058011]
MF5='out1mf5':'linear',[-188.845013085459 16.3752420684739 2.26580569880905]
MF6='out1mf6':'linear',[52.6504877364809 13.6637475028015 -2.81582668956971]
MF7='out1mf7':'linear',[1.36664656988905 -101.944112740175 561.037900146712]
MF8='out1mf8':'linear',[-37.7754372896572 -2.37931907009803 20.5924135196645]
MF9='out1mf9':'linear',[77.3693139104994 7.01860325733576 -18.4498686710174]
[Rules]
1 1, 1 (1) : 1
1 2, 2 (1) : 1
1 3, 3 (1) : 1
2 1, 4 (1) : 1
2 2, 5 (1) : 1
2 3, 6 (1) : 1
3 1, 7 (1) : 1
3 2, 8 (1) : 1
3 3, 9 (1) : 1
次に、図18を参照して、本発明の実施の形態に係るソフトウェアサーボ制御処理について説明する。
本発明の実施の形態に係るソフトウェアサーボ制御処理においては、DCモータ駆動用PWM(パルス幅変調)モジュールと位置検出用エンコーダのアップダウンカウンタモジュールを、ソフトウェアで作成して実現する。これにより、ハードウェア部品の省力化と、ハードウェアによる動作時間遅れやノイズの対策ができる。
PWM部150のPWMモジュールについて、設計によりソフトウェア化を行っている。すなわち、本実施形態においては、MATLAB/Simulinkによりロジック回路を作成し、PWMモジュールを実現させている。すなわち、図18のように、制御部11が信号の振幅を変更して出力することで、モータ230の駆動ができる。このPWMモジュールの例を、後述する実施例の図20A〜図20Cに示す。
また、COUNTER(カウンタ)モジュールについても、設計によりソフトウェア化を行っている。すなわち、本実施形態においては、MATLAB/Simulinkによりロジック回路を作成し、COUNTERモジュールを実現させている。このCOUNTERモジュールの例を、後述する実施例の図20F〜図20Hに示す。
このように、知能コントローラの演算処理の高速化により、インテリジェント・ロバスト制御を実現することができる。
まず、従来、産業界で問題となっている現代制御理論(Model Based Control)による電子制御の不具合が多発していた。これは、制御ゲインが固定ゲインであることに起因するものであった。
本発明の実施の形態に係る制御システムXは、次世代のファジィ・ニューラルネットワークベースト制御によるインテリジェント・ロバスト組み込み知能コントローラであるICS部10を用いることで、この問題を唯一解決することができる。
ICS部10には、目標軌道誤差の変化に適応的にゲインを可変調整するファジィ・ニューラルベースト制御の新規インテリジェント・ロバストゲイン補償器であるFB−FN部130が組み込まれている。これにより、システムパラメータ変動、突発的な外乱および目標変化に対して、十分な目標軌道追従制御性能が得られる。
すなわち、本実施形態の制御方法は、非線形の運動方程式を直接使用して、FF−NN部120のニューラルネットワークにより線形化を行い、FB−FN部130のファジィ・ニューラルネットワークにより外乱抑制および非干渉化を行う。
本実施形態の制御方法は、時間によってパラメータが変化する非線形系がいつも臨界減衰となるように、時間によってゲインが適応的に変化する制御則を考案し、多変数系における各軸の相互干渉を非干渉化させる。このことにより、インテリジェント制御による多変数系制御を行い、マニピュレータの完全追従制御を実現することができる。
実際に、下記の実施例にて構築したファジィ・ニューラルネットワーク制御システムを従来のPID制御、FF−NN制御のみのシステムと比較する実験を行ったところ、ファジィ・ニューラルネットワーク制御の有効性は高かった。
本実施形態に係る制御システムXは、この多自由度系設計化の未解決な課題を、インテリジェント制御により解決することができる。
すなわち、本実施形態に係る制御システムXは、ロバストで自動的なゲイン調整が可能な制御系を構築するために、ファジィ分割された空間において位置誤差に応じた可変フィードバックゲインが設定される制御系を、多自由度系化の設計に用いることができる。
これにより、マニピュレータおよび多変数系メカニカルシステムに対する実用的なインテリジェント・ロバスト制御システムを実現し、ロボット、自動車、電動自転車、船舶、航空機、宇宙機、ロケット、温度制御、電動制御等、目標値を設定して制御する従来の制御が用いられていたあらゆる制御対象機器について、応用可能である。
また、本実施形態に係る制御システムXは、モデル化誤差、摩擦、未知の外乱等により変位および速度の制御誤差が生じた場合、制御ゲインを適応調整するファジィ・ニューラルネットワークによる非線形偏差補償が可能になる。
すなわち、ファジィ・ニューラルネットワークによるインテリジェント・ロバスト制御手法が確立し、多変数系メカニカルシステムに対する実用的なインテリジェント制御システムを実現することができる。
さらに、MATLAB/Simulinkのようなソフトウェアを用いることで、シミュレーションも簡単に行えるため、システム開発のコストダウンや時間削減に大きな効果が得られる。
また、本実施形態に係る制御システムXは、制御系を2自由度制御構成とし、フィードフォワード部をニューラルネットワークにより構成し、変位、速度、加速度のパラメータによりプラントの特性を学習させ、プラント特性の逆特性を取得しシステムを線形化している。
また、フィードバック部は、ファジィ・ニューラルネットワークにより非線形誤差を減少させる補償器であり、完全追従性能を実現させている。
これらの制御系は、リアルタイム(実時間)処理で、例えばサンプリング時間が1ミリ秒で実行されていることを特徴とする。
本実施例においては、組み込み型コンピュータであるICS部10を含む知能コントローラ部1によって制御対象2の位置制御を行う。制御対象2としては、DCモータによって駆動する移動テーブルを用いた。
ICS部10のOSには、Linux(登録商標)+Xenomai(商標)を用いており、リアルタイムでの制御が可能である。パソコンである制御装置3は、知能コントローラ部1とLANクロスケーブルにより直接接続して、イーサネット(登録商標)で通信を行った。
知能コントローラ部1は、知能コントローラ部1のD/Aコンバータから制御信号を送出する。この制御信号は、モータ駆動ドライパ20を介して、モータ230へと出力される。モータ230が回転すると、エンコーダ220からパルス波が出力される。このパルス波は、知能コントローラ部1のA/Dコンパータによって、知能コントローラ部1が取得する。このパルス波を1/8に分周させてあり、このパルス波をカウントすることによりモータ230の位置情報をフィードバックすることができる。
また、エンコーダ220として、TG−47C−SMに付属のロータリエンコーダを用いた。当該ロータリエンコーダは、1回転につき8パルス出力する。
本実施例では、MATLAB/Simulinkによりファジィ・ニューラルネットワークの制御システムXのためのモデルを構築した。また、比較のため、従来のPID制御、NN−PIDのみの制御システムのモデルも同様に構築した。
これらの制御システムのモデルを図19A〜図19Cに示す。また、この各制御システムの各部位のモデル図を、図20A〜図20Hに示す。
また、図19Bは、NN−PID制御のみの場合のモデル図である。FF−NN部120のニューラルネットワークの学習にはPID制御のデータを基にして行い、指令信号の変位、速度、加速度を入力とし、PIDの操作量を教師信号としてBP法で学習を行った。これによって得られたニューラルネットワークをPIDの操作量にフィードフォワードさせている。PIDパラメータはPID制御と同様である。
また、図19Cは、本実施例に係るファジィ・ニューラルネットワーク制御のモデル図である。FNNの学習には、図19AのPID制御のデータを基にして行い、変位誤差、速度誤差を入力とし、PIDの操作量を教師信号としてBP法と最小二乗法を組み合わせた方法で学習を行った。この際に、図19BのNN−PID制御のパラメータ等も、ファジィ・ニューラルネットワークの制御システムに用いた。
また、比較のための動作テストとして外乱あり、外乱なしの状態で3つの制御システムを実行し性能比較を行った。外乱はモデル上で再現し、実行してから10秒後に+5の値を操作量に加えるようにした。
図21Aと図21Bを参照して、実験結果について説明する。
図21Aは、従来のPID制御のモデル(比較例)を用いて制御を行った結果である。従来のPID制御では、外乱がない場合には、1自由度の位置制御でも時間遅れがあり若干の誤差が見られた。さらに、従来のPID制御では、外乱が発生すると定常情差として誤差が現れ、外乱の信号に合わせて出力が上にずれていた。なお、図示しない図19BのNN−PIDのみの制御は、フィードフォワード補償により時間遅れを多少解消できていた。しかし、NN−PIDのみの場合、外乱がない場合にはそれほど制御信号とはズレないものの、外乱がある場合には従来のPID制御と同様な結果であり、ロバスト性がなく不十分であった。
図21Bは、本実施例に係るファジィ・ニューラルネットワーク制御を用いた結果である。ファジィ・ニューラルネットワーク制御では、制御対象の非線形要素に対応できると考えられる。すなわち、ファジィ・ニューラルネットワーク制御では外乱あり、外乱なしの両方で指令信号に追従できていたことから、制御ゲインを適応的に調整していると考えられる。このことから、ファジィ・ニューラルネットワーク制御はロバスト性のある制御方法であり、外乱や制御機器の非線形要素に対して有効であった。
2 制御対象
3 制御装置
10 ICS部
11 制御部
14 補助記憶部
15 主記憶部
16 論理回路部
17 I/F部
18、19 コネクタ
20 モータ駆動ドライバ
21 テーブル部
110 PID部
111 PD補償器部
120 FF−NN部
130 FB−FN部
131 ファジィPD部
132 ファジィPI部
140 差分部
141 速度算出部
142 加速度算出部
150 PWM部
160 カウンタ部
170 出力部
180 入力部
190 制御信号発生部
195 外乱シミュレート部
210 テーブル
220 エンコーダ
230 モータ
X 制御システム
Claims (9)
- 制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラにおいて、
ファジィ・ニューラルネットワークにより非線形誤差を減少させる補償器であるフィードバック手段を備え、
該フィードバック手段は、
前記制御対象の非線形動特性のPD(比例、微分)補償を行うファジィPD手段と、
前記制御対象の非線形動特性のPI(比例、積分)補償を行うファジィPI手段とを並列に備える
ことを特徴とする組み込み知能コントローラ。 - 前記フィードバック手段は、
ファジィ分割された空間において位置誤差に応じた可変フィードバックゲインを設定する
ことを特徴とする請求項1に記載の組み込み知能コントローラ。 - 制御系を2自由度制御構成とし、
前記制御対象の変位、速度、及び加速度のパラメータをニューラルネットワークにより学習させ、前記制御対象の特性の逆特性を取得するフィードフォワード手段を備える
ことを特徴とする請求項1又は2に記載の組み込み知能コントローラ。 - 前記フィードバック手段又は前記フィードフォワード手段は、所定のサンプリング時間で実時間処理を行う
ことを特徴とする請求項3に記載の組み込み知能コントローラ。 - 前記フィードバック手段又は前記フィードフォワード手段は、ソフトウェアPWM制御を行う
ことを特徴とする請求項3又は4に記載の組み込み知能コントローラ。 - 請求項3から5のいずれか1項に記載の組み込み知能コントローラを含む
ことを特徴とする制御システム。 - 制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラの制御プログラムにおいて、コンピュータを
ファジィ・ニューラルネットワークにより非線形誤差を減少させる補償器であるフィードバック手段
として機能させるための制御プログラム。 - 制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラの制御プログラムの記録媒体において、コンピュータを
ファジィ・ニューラルネットワークにより非線形誤差を減少させる補償器であるフィードバック手段
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する制御方法において、
フィードバック手段により、ファジィ・ニューラルネットワークにより非線形誤差を減少させる
ことを特徴とする制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011134305A JP2013003845A (ja) | 2011-06-16 | 2011-06-16 | 組み込み知能コントローラ、制御システム、制御プログラム、記録媒体、及び制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011134305A JP2013003845A (ja) | 2011-06-16 | 2011-06-16 | 組み込み知能コントローラ、制御システム、制御プログラム、記録媒体、及び制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013003845A true JP2013003845A (ja) | 2013-01-07 |
Family
ID=47672349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011134305A Pending JP2013003845A (ja) | 2011-06-16 | 2011-06-16 | 組み込み知能コントローラ、制御システム、制御プログラム、記録媒体、及び制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013003845A (ja) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104730927A (zh) * | 2015-03-27 | 2015-06-24 | 西南石油大学 | 智能人工腿的模糊pd变结构控制方法 |
CN105549383A (zh) * | 2016-02-29 | 2016-05-04 | 南京工程学院 | 直线电机精密轨迹跟踪装置及方法 |
CN105963100A (zh) * | 2016-04-19 | 2016-09-28 | 西安交通大学 | 按患者运动所需辅助的下肢康复机器人自适应控制方法 |
CN107402516A (zh) * | 2017-06-22 | 2017-11-28 | 南京航空航天大学 | 基于联合执行机构的递阶饱和模糊pd姿态控制方法 |
CN108196442A (zh) * | 2018-03-02 | 2018-06-22 | 广州大学 | 基于模糊神经pid控制和绝对编码器的舵机控制系统及方法 |
CN108832853A (zh) * | 2018-06-20 | 2018-11-16 | 长春工业大学 | 一种基于模糊pi-pd控制的直流无刷电机调速方法 |
WO2018223776A1 (zh) * | 2017-06-07 | 2018-12-13 | 北京京东尚科信息技术有限公司 | 机器人的控制方法、装置、系统和计算机可读存储介质 |
CN109227545A (zh) * | 2018-10-30 | 2019-01-18 | 闽江学院 | 一种基于可达集估计的柔性机械臂目标追踪控制方法 |
CN109274314A (zh) * | 2017-07-18 | 2019-01-25 | 发那科株式会社 | 机器学习装置、伺服电动机控制装置、伺服电动机控制系统以及机器学习方法 |
WO2019069649A1 (ja) * | 2017-10-06 | 2019-04-11 | キヤノン株式会社 | 制御装置、リソグラフィ装置、測定装置、加工装置、平坦化装置及び物品製造方法 |
CN109634406A (zh) * | 2018-11-08 | 2019-04-16 | 厦门理工学院 | 一种仿生两手指运动控制方法、装置及设备 |
CN109633605A (zh) * | 2018-12-29 | 2019-04-16 | 安徽优思天成智能科技有限公司 | 一种船舶废气监测激光雷达的自适应鲁棒随动控制方法 |
CN110308647A (zh) * | 2019-06-14 | 2019-10-08 | 南京理工大学 | 含误差积分输入项的无人机三段式模糊pid控制方法 |
KR20200057050A (ko) * | 2017-10-06 | 2020-05-25 | 캐논 가부시끼가이샤 | 제어 장치, 리소그래피 장치, 측정 장치, 가공 장치, 평탄화 장치 및 물품의 제조 방법 |
CN111711400A (zh) * | 2020-04-24 | 2020-09-25 | 成都理工大学工程技术学院 | 一种基于bp模糊神经网络的pid调速方法及其系统 |
CN112054676A (zh) * | 2020-09-16 | 2020-12-08 | 重庆大学 | 一种Boost DC-DC变换器的PID控制方法及系统 |
CN113783479A (zh) * | 2021-11-11 | 2021-12-10 | 常州市佳博机械制造有限公司 | 基于神经网络矩阵的无刷直流电机模糊pid控制方法 |
-
2011
- 2011-06-16 JP JP2011134305A patent/JP2013003845A/ja active Pending
Non-Patent Citations (3)
Title |
---|
JPN6015012147; 佐藤 義重: '非線形メカトロサーボ系におけるロバストなファジィ・ニューラルネットワークベースト制御(第1報,シミュ' 日本機械学会論文集(C編) 69巻687号, 20031125, pp2929-2936, 一般社団法人日本機械学会 * |
JPN6015012148; 佐藤 義重: '非線形メカトロサーボ系におけるロバストなファジィ・ニューラルネットワークベースト制御(第2報,システ' 日本機械学会論文集(C編) 70巻700号, 20041225, pp3440-3447, 一般社団法人日本機械学会 * |
JPN6015012149; 佐藤 義重 Yoshishige Sato: 'ファジィ・ニューラルネットワークを用いたロバスト・ゲインスケジューリング制御系の一設計 A Design of' 電気学会論文誌C 127巻8号, 20070801, pp1221-1227, 一般社団法人電気学会 * |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104730927A (zh) * | 2015-03-27 | 2015-06-24 | 西南石油大学 | 智能人工腿的模糊pd变结构控制方法 |
CN105549383A (zh) * | 2016-02-29 | 2016-05-04 | 南京工程学院 | 直线电机精密轨迹跟踪装置及方法 |
CN105963100A (zh) * | 2016-04-19 | 2016-09-28 | 西安交通大学 | 按患者运动所需辅助的下肢康复机器人自适应控制方法 |
CN105963100B (zh) * | 2016-04-19 | 2018-07-17 | 西安交通大学 | 按患者运动所需辅助的下肢康复机器人自适应控制方法 |
WO2018223776A1 (zh) * | 2017-06-07 | 2018-12-13 | 北京京东尚科信息技术有限公司 | 机器人的控制方法、装置、系统和计算机可读存储介质 |
CN107402516A (zh) * | 2017-06-22 | 2017-11-28 | 南京航空航天大学 | 基于联合执行机构的递阶饱和模糊pd姿态控制方法 |
CN109274314A (zh) * | 2017-07-18 | 2019-01-25 | 发那科株式会社 | 机器学习装置、伺服电动机控制装置、伺服电动机控制系统以及机器学习方法 |
US10418921B2 (en) | 2017-07-18 | 2019-09-17 | Fanuc Corporation | Machine learning device, servo motor control device, servo motor control system, and machine learning method |
JP2019021024A (ja) * | 2017-07-18 | 2019-02-07 | ファナック株式会社 | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 |
US11460781B2 (en) | 2017-10-06 | 2022-10-04 | Canon Kabushiki Kaisha | Control device for generating a control deviation via machine learning |
KR102487791B1 (ko) | 2017-10-06 | 2023-01-13 | 캐논 가부시끼가이샤 | 제어 장치, 리소그래피 장치, 측정 장치, 가공 장치, 평탄화 장치 및 물품의 제조 방법 |
WO2019069649A1 (ja) * | 2017-10-06 | 2019-04-11 | キヤノン株式会社 | 制御装置、リソグラフィ装置、測定装置、加工装置、平坦化装置及び物品製造方法 |
KR20200057050A (ko) * | 2017-10-06 | 2020-05-25 | 캐논 가부시끼가이샤 | 제어 장치, 리소그래피 장치, 측정 장치, 가공 장치, 평탄화 장치 및 물품의 제조 방법 |
CN108196442A (zh) * | 2018-03-02 | 2018-06-22 | 广州大学 | 基于模糊神经pid控制和绝对编码器的舵机控制系统及方法 |
CN108832853A (zh) * | 2018-06-20 | 2018-11-16 | 长春工业大学 | 一种基于模糊pi-pd控制的直流无刷电机调速方法 |
CN109227545A (zh) * | 2018-10-30 | 2019-01-18 | 闽江学院 | 一种基于可达集估计的柔性机械臂目标追踪控制方法 |
CN109227545B (zh) * | 2018-10-30 | 2020-05-05 | 闽江学院 | 一种基于可达集估计的柔性机械臂目标追踪控制方法 |
CN109634406A (zh) * | 2018-11-08 | 2019-04-16 | 厦门理工学院 | 一种仿生两手指运动控制方法、装置及设备 |
CN109634406B (zh) * | 2018-11-08 | 2021-10-22 | 厦门理工学院 | 一种仿生两手指运动控制方法、装置及设备 |
CN109633605A (zh) * | 2018-12-29 | 2019-04-16 | 安徽优思天成智能科技有限公司 | 一种船舶废气监测激光雷达的自适应鲁棒随动控制方法 |
CN110308647B (zh) * | 2019-06-14 | 2022-05-17 | 南京理工大学 | 含误差积分输入项的无人机三段式模糊pid控制方法 |
CN110308647A (zh) * | 2019-06-14 | 2019-10-08 | 南京理工大学 | 含误差积分输入项的无人机三段式模糊pid控制方法 |
CN111711400A (zh) * | 2020-04-24 | 2020-09-25 | 成都理工大学工程技术学院 | 一种基于bp模糊神经网络的pid调速方法及其系统 |
CN112054676A (zh) * | 2020-09-16 | 2020-12-08 | 重庆大学 | 一种Boost DC-DC变换器的PID控制方法及系统 |
CN113783479A (zh) * | 2021-11-11 | 2021-12-10 | 常州市佳博机械制造有限公司 | 基于神经网络矩阵的无刷直流电机模糊pid控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013003845A (ja) | 組み込み知能コントローラ、制御システム、制御プログラム、記録媒体、及び制御方法 | |
Chen et al. | RBFNN-based adaptive sliding mode control design for delayed nonlinear multilateral telerobotic system with cooperative manipulation | |
He et al. | Design and adaptive control for an upper limb robotic exoskeleton in presence of input saturation | |
JP2014006566A (ja) | 組み込み知能コントローラ、制御システム、制御プログラム、記録媒体、及び制御方法 | |
Dietrich et al. | Whole-body impedance control of wheeled mobile manipulators: Stability analysis and experiments on the humanoid robot Rollin’Justin | |
Soltanpour et al. | Voltage based sliding mode control of flexible joint robot manipulators in presence of uncertainties | |
Cortesão et al. | Real-time adaptive control for haptic telemanipulation with kalman active observers | |
CN110809505A (zh) | 用于执行机器人手臂的移动控制的方法和装置 | |
Zhao et al. | Stability and performance limits of latency-prone distributed feedback controllers | |
Zhou et al. | Robust decentralized force/position fault-tolerant control for constrained reconfigurable manipulators without torque sensing | |
Sergi et al. | On the stability and accuracy of high stiffness rendering in non-backdrivable actuators through series elasticity | |
Ye et al. | Adaptive sliding mode control of robot based on fuzzy neural network | |
Fateh et al. | Decentralized direct adaptive fuzzy control of robots using voltage control strategy | |
Chang et al. | Robust tracking control for a class of flexible-joint time-delay robots using only position measurements | |
Yang et al. | Online adaptive teleoperation via motion primitives for mobile robots | |
Mazare et al. | Adaptive variable impedance control for a modular soft robot manipulator in configuration space | |
Nghi et al. | A LQR neural network control approach for fast stabilizing rotary inverted pendulums | |
Pedrammehr et al. | Model-based control of axisymmetric hexarot parallel manipulators | |
Wang et al. | Adaptive PID-fractional-order nonsingular terminal sliding mode control for cable-driven manipulators using time-delay estimation | |
Mou et al. | Disturbance rejection sliding mode control for robots and learning design | |
Xu et al. | Linear-extended-state-observer-based prescribed performance control for trajectory tracking of a robotic manipulator | |
Cao et al. | Control of adaptive switching in the sensing-executing mode used to mitigate collision in robot force control | |
Asar et al. | ANFIS-based an adaptive continuous sliding-mode controller for robot manipulators in operational space | |
Kumar et al. | Novel m-PSO Optimized LQR Control Design for Flexible Link Manipulator: An Experimental Validation. | |
West et al. | State-dependent parameter model identification for inverse dead-zone control of a hydraulic manipulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140613 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20140613 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140626 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150331 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150804 |