"制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラにおいて、ファジィニューラルネットワークにより非線形誤差を減少させる補償器であるフィードバック手段を備え、該フィードバック手段は、前記制御対象の非線形動特性のPD比例、微分補償を行うファジィPD手段と、前記制御対象の非線形動特性のPI比例、積分補償を行うファジィPI手段とを並列に備えることを特徴とする組み込み知能コントローラ。前記フィードバック手段は、ファジィ分割された空間において位置誤差に応じた可変フィードバックゲインを設定することを特徴とする請求項1に記載の組み込み知能コントローラ。制御系を2自由度制御構成とし、前記制御対象の変位、速度、及び加速度のパラメータをニューラルネットワークにより学習させ、前記制御対象の特性の逆特性を取得するフィードフォワード手段を備えることを特徴とする請求項1又は2に記載の組み込み知能コントローラ。前記フィードバック手段又は前記フィードフォワード手段は、所定のサンプリング時間で実時間処理を行うことを特徴とする請求項3に記載の組み込み知能コントローラ。前記フィードバック手段又は前記フィードフォワード手段は、ソフトウェアPWM制御を行うことを特徴とする請求項3又は4に記載の組み込み知能コントローラ。請求項3から5のいずれか1項に記載の組み込み知能コントローラを含むことを特徴とする制御システム。制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラの制御プログラムにおいて、コンピュータをファジィニューラルネットワークにより非線形誤差を減少させる補償器であるフィードバック手段として機能させるための制御プログラム。制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラの制御プログラムの記録媒体において、コンピュータをファジィニューラルネットワークにより非線形誤差を減少させる補償器であるフィードバック手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する制御方法において、フィードバック手段により、ファジィニューラルネットワークにより非線形誤差を減少させることを特徴とする制御方法。しかしながら、従来、遠心力重力クーロン摩擦などの外乱が顕著な場合には、入出力信号から状態変数を推定するオブザーバ観測器を用いてロバスト堅牢制御を行っていたものの、満足できるものではなかった。このような従来のロバスト制御では、定常特性に関するパラメータであるゲインが固定であったため、突発的外乱の影響に対応できず、不具合発生が問題となっていたためであった。これは、従来技術1でも同等であった。このため、実用的なインテリジェント知能化ロバスト制御装置が強く望まれていた。本発明は、このような状況に鑑みてなされたものであり、上述の課題を解消することを課題とする。本発明の組み込み知能コントローラは、制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラにおいて、ファジィニューラルネットワークにより非線形誤差を減少させる補償器であるフィードバック手段を備え、該フィードバック手段は、前記制御対象の非線形動特性のPD比例、微分補償を行うファジィPD手段と、前記制御対象の非線形動特性のPI比例、積分補償を行うファジィPI手段とを並列に備えることを特徴とする。本発明の組み込み知能コントローラは、前記フィードバック手段は、ファジィ分割された空間において位置誤差に応じた可変フィードバックゲインを設定することを特徴とする。本発明の組み込み知能コントローラは、制御系を2自由度制御構成とし、前記制御対象の変位、速度、及び加速度のパラメータをニューラルネットワークにより学習させ、前記制御対象の特性の逆特性を取得するフィードフォワード手段を備えることを特徴とする。本発明の組み込み知能コントローラは、前記フィードフォワード手段又は前記フィードバック手段は、所定のサンプリング時間で実時間処理を行うことを特徴とする。本発明の組み込み知能コントローラは、前記フィードフォワード手段又は前記フィードバック手段は、ソフトウェアPWM制御を行うことを特徴とする。本発明の制御システムは、前記組み込み知能コントローラを含むことを特徴とする。本発明の制御プログラムは、制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラの制御プログラムにおいて、コンピュータをファジィニューラルネットワークにより非線形誤差を減少させる補償器であるフィードバック手段として機能させるための制御プログラムであることを特徴とする。本発明の記録媒体は、制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する組み込み知能コントローラの制御プログラムの記録媒体において、コンピュータをファジィニューラルネットワークにより非線形誤差を減少させる補償器であるフィードバック手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。本発明の制御方法は、制御対象の目標軌道誤差の変化に適応的にゲインを可変調整する制御方法において、フィードバック手段により、ファジィニューラルネットワークにより非線形誤差を減少させることを特徴とする。本発明によれば、ファジィニューラルネットワークを用いることで、実用的な非線形動作特性をもつインテリジェントロバスト制御を実現する組み込み知能コントローラを提供することができる。<実施の形態>本発明の実施の形態に係る制御システムXの構成まず、図1A~図2を参照して、本発明の実施の形態に係る制御システムXの制御構成について説明する。図1Aは、制御システムXを開発する際に用いる構成の一例の外観図である。本実施形態の制御システムXは、知能コントローラ部1が、テーブル移動装置である制御対象2と、図示しない制御装置3とに接続されている。知能コントローラ部1は、インテリジェントロバスト制御に用いるICS部10IntelligentControlSystemModule、組み込み知能コントローラを備えている制御部位である。図1Aの例では、知能コントローラ部1として、組み込みモジュールを接続できる開発用の組み込み型コンビュータを用いる例を示す。また、制御対象2は、外乱の影響を受け、ロバスト制御が必要になる具体的な制御対象部位である。図1Aの例では、開発とシミュレーションに用いるテーブル移動装置を用いた例を示す。このテーブル移動装置は、モータドライバーやカウンタ等であるモータ駆動ドライバ20を備えている。モータ駆動ドライバ20は、駆動用のモータ230により、テーブル210を移動させ、その制御の応答を入力する。図1Bは、ICS部10の外観図である。ICS部10は、組み込みコンピュータを用いたインテリジェントロバスト型組み込み知能コントローラであり、後述する学習後に、実際の制御対象の機器に装着してインテリジェントロバスト制御を行う。図2は、制御システムXの具体的な構成を示す制御ブロック図である。制御システムXは、一例として、知能コントローラ部1と、制御対象2と、制御装置3とを含んでいる。知能コントローラ部1は、製品の製造時には、ロボット、自動車、自転車、航空機、ヒートポンプ等の制御が必要な各種機器そのものに、ICS部10を組み込んで用いる。ここでは、開発時の構成例として、例えば、システム開発ツールであり、主に実際の製品に搭載する前の開発段階で使用する組み込み型コンビュータを用いる例について説明する。この開発用の組み込み型コンビュータとしては、たとえば、エーアンドデイ社製のAD7011-EVAを用いることができる。また、知能コントローラ部1は、高速な制御手段を用いて、例えば、所定のサンプリング時間、例えば1ミリ秒~数十ミリ秒程度にて、リアルタイム実時間処理を行うことができる。制御対象2は、製品の製造時には、ロボット、自動車、自転車、航空機、ヒートポンプ等のモータやアクチュエータやヒータのように電磁的に駆動を調節する素子と、この素子の出力の状態を取得するセンサ等を含む。本実施形態では、一般的な外乱の起こる駆動系のシミュレーションを行う場合の構成として、駆動装置であるDC直流モータ駆動のテーブル移動装置を用いた構成の例について説明する。制御装置3は、一般的なPC/AT互換機やMAC規格機のようなPCPersonalComputer等を用いることができる。制御装置3は、Windows登録商標やLinux登録商標等のOSOperatingSystemを用いて、制御用のソフトウェアをインストールして実行することができる。以下では、制御装置3のPCに、制御用ソフトウェアとしてMathWorks社製のMATLAB登録商標/Simlink登録商標をインストールしてファジィ/ニューラルネットを構築した例について説明するが、これに限られない。また、以下では、制御装置3において、エイアンドデイ社のVCDesigner商標とModelDef商標ソフトウェアを用いてモデル定義とモデル実行画面の作成を行う例についても説明するが、これに限られず、各種のソフトウェアを用いて実現することができる。知能コントローラ部1の構成より具体的に説明すると、知能コントローラ部1は、例えば、ICS部10、制御部11、補助記憶部14、主記憶部15、論理回路部16、I/F部17、及びコネクタ18と19を含んで構成される。ICS部10は、EEPROMElectricallyErasableProgrammableRead-OnlyMemoryやNOR/NANDフラッシュメモリやSRAMStaticRandomAccessMemory等を内蔵したiCSintelligentControlSystemモジュールである。ICS部10は、制御装置3で作成された制御部11のC言語等のプログラム実行コードであるバイナリファイル、各種モデルやパラメータに関する定義ファイルやデータ、FPGAFieldProgrammableGateArrayの論理回路データ、知能コントローラ部1のファームウェアやBIOSBasicInput/OutputSystem等を記憶している記憶媒体記録媒体も備える。後述する開発/学習処理では、このプログラムやデータが制御部11により読み出されて実行される。また、ICS部10は、図1Aの外観図のように、それ自体が制御演算手段を備えたシングルボードコンピュータとして構成されていてもよい。制御部11は、RISCReducedInstructionSetComputer、縮小命令セットコンピュータ方式やCISC方式等の高速演算処理が可能なCPUCentralProcessingUnit、中央処理装置、中央演算装置、MPUMicroProcessingUnit、DSPDigitalSignalProcessor、ASICApplicationSpecificProcessor、特定用途向けプロセッサー等である演算制御能力を備えた制御手段である。補助記憶部14は、主にOS用の記憶媒体記録媒体として、SSDSolidStateDriveやコンパクトフラッシュ登録商標ディスクやSDメモリカードやmicroSDメモリカード等のフラッシュメモリディスク、HDDHardDiskDrive、磁気テープ媒体、光ディスク媒体等を備えた補助記憶手段である。補助記憶部14に記憶されたOSとしては、カーネルに組み込んで使用するリアルタイムモジュールであるXenomai拡張を用いたLinux登録商標や、ITRON等のリアルタイム処理が可能なOSを用いることが好適である。主記憶部15は、主に制御/演算用の記憶媒体記録媒体として、SDRAMSynchronousDynamicRandomAccessMemoryやDDRDouble-Data-Rate、DDR2、DDR3、LPDDR3、WideIO、XDRextremedatarate等の主記憶用に使われる高速な記憶手段を含んで構成される主記憶手段である。主記憶部15は、ICS部10の各プログラムやデータ、制御対象2から取得したセンサのデータ等を記憶する。論理回路部16は、CPLDComplexProgrammableLogicDeviceやFPGA等の論理回路及び各種アナログ回路等である。論理回路部16は、制御対象2とのインターフェイスの回路やA/Danalog-to-digitalコンバータやD/Adigital-to-analogコンバータ等も含んで構成される。I/F部17は、USBUniversalSerialBus、無線USB、シリアル、パラレル、LANLocalAreaNetwork等のインターフェイスである。I/F部17は、主に制御装置3からプログラムやバイナリファイルやデータ等を転送し、制御結果等のデータを制御装置3に転送するために用いる。コネクタ18は、主に制御装置3に接続するためのコネクタ等である。コネクタ18は、例えば、制御装置3と、LANクロスケーブルで接続できる。また、コネクタ18には、タッチパネルディスプレイ等の表示部/入力部やスピーカやマイクロフォン等を別途接続してもよい。コネクタ19は、主に制御対象2に接続するためのコネクタであり、別途駆動用のアンプやセンサ等と接続してもよい。制御対象2の構成また、制御対象2は、モータ駆動ドライバ20と、テーブル部21とを含んでいる。モータ駆動ドライバ20は、一般的なDCモータを駆動するためのドライバICIntegratedCircuitを用いることができる。このドライバICは、知能コントローラ部1からの制御信号によりテーブル部21のモータ230を駆動する。また、モータ駆動ドライバ20は、エンコーダ220からの出力を取得して、知能コントローラ部1に送信する。テーブル部21は、DCモータによって駆動する移動テーブルの例である。テーブル部21は、移動テーブルステージであるテーブル210と、テーブル210を駆動するDCモータ等のモータ230と、テーブル210の位置等を検知するエンコーダ220とを含んで構成される。ICS部10の構成次に、図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は、古典的なPID制御を行うためのモデルのプログラムとデータを含む部位である。このPID部110は、フィードバック制御におけるPD比例、微分補償を行うためのPD補償器部111を備えている。PD補償器部111は、制御対象2の特性を把握するために用いる。FF-NN部120は、FF-NNFeedforwardneuralnetwork補償器のモデルのプログラムとデータを含む部位である。FF-NN部120は、制御対象の位相遅れを改善するために、ニューラルネットワークによりサーボ系逆ダイナミックス特性を学習して用いる。この学習について、FF-NN部120は、オフラインでPD補償器部111のPD制御系の逆ダイナミックス特性をBPBackpropagation、誤差逆伝播法により学習する。FF-NN部120としては、例えば、例えば、図9Aで示すような、3層、3入力、4中間ユニット、1出力のニューラルネットワークを用いることができる。ここで、入力層InputLayerには、変位r、速度sdr/dt、加速度s2d2r/dt2をそれぞれ入力する。また、FF-NN部120のニューラルネットワークの出力値は操作量UNNである。このFF-NN部120の学習方法の詳細については後述する。FB-FN部130は、FB-FNFuzzyneuralnetworkBasedFeedforwordNonlinearerror、ファジィニューラルネットワークによる非線形偏差補償補償器のモデルのプログラムとデータを含む部位である。FB-FN部130は、制御対象2の非線形動特性の補償のために、ファジィニューラルネットワークベースにより、目標信号rtと出力信号ytとの偏差信号et=rt-ytの二乗が最小となるようにオフラインで学習する。これらの学習後に、制御システムXを始めとする機器に組み込んで制御に使用することができる。このFB-FN部130は、ゲインスケジューリングにより出力の補償を行う。また、FB-FN部130は、ファジィPD部131ファジィPD手段とファジィPI部132ファジィPI手段を主に備えている。ファジィ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は、それぞれの入力の総和を操作量UFNPDとして出力する。また、ファジィPI部132は、操作量UFNPIを出力する。このファジィPD部131及びファジィPI部132のファジィニューラルネットワークの学習方法の詳細については後述する。差分部140は、従来の古典PD補償器であるPD補償器部111の操作信号指令信号の変位r、速度sdr/dt、加速度s2d2r/dt2を算出するプログラムとデータを含む部位である。差分部140は、速度sを算出する速度算出部141と、加速度s2を算出する加速度算出部142を含んでいる。また、差分部140は、変位誤差信号epと、速度誤差信号evを算出することもできる。PWM部150は、DCモータ駆動用のソフトウェアPWMPulseWidthModulation、パルス幅変調モジュールのプログラムとデータを含む部位である。この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は、所定出力のランダム信号等を出力可能である。制御システムXのICS部10の開発/学習処理次に、図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を駆動することができる。より具体的には、本発明の実施の形態に係るファジィニューラルネットワークを用いたロバストゲインスケジューリング制御系は、ニューラルネットワークによりサーボ系逆ダイナミックス特性を学習しているフィードフォワード補償を行うFF-NN部120、及びファジィニューラルネットワークによるゲインスケジューリングを行うFB-FN部130の2つの補償要素から構成される。この制御系は、目標値応答特性と閉ループ特性が独立設計できる2自由度制御系とし、目標入力に対する追従および、外乱の影響の除去を実現することができる。モデル化誤差及び断続する外乱等による定常偏差の減少、メカトロ位置改善のために、FF-NN部120ではオフラインで従来の固定PD制御系の逆ダイナミックス特性を学習する。つぎに、非線形動特性の補償のために、FB-FN部130は、目標信号rtと出力信号ytとの偏差信号et=rt-ytの二乗が最小となるようにオフラインやオンラインで学習する。これらの学習後に提案する制御システムが構成される。以下で、図5のフローチャートを参照して、この開発/学習処理の詳細について説明する。ステップS101まず、制御装置3により、ICS部10の各部に対応するモデルをMATLAB/Simulink、ModelDef、VCDesigner等のソフトウェアを用いて作成する。制御装置3は、この作成したモデルをコンパイル等してプログラムのバイナリファイルに変換し、ICS部10に転送する。このバイナリファイルは、実際にバイナリファイルを実行する定義ファイルや各種データと共にICS部10の補助記憶手段に記憶される。ICS部10に記憶されたプログラム等は、知能コントローラ部1の制御部11が単独で実行して、下記の学習処理等を行うことができる。ステップS102次に、ICS部10の制御部11は、FF-NN部120を用いて、FF-NN逆ダイナミックス処理を行う。この処理においては、制御対象2の非線形特性に対する逆ダイナミックスを獲得し、システム特性を線形化するための学習を行う。ここで、制御対象の位相遅れを改善するために、FF-NN部120は、オフラインでPD補償器部111図3のPD制御系の逆ダイナミックス特性をBP法により学習する。FF-NN部120による制御では、位相の遅れに対しての改善が期待できる。ステップS103次に、ICS部10の制御部11は、FB-FN部130を用いてFB-FN学習処理を行う。ここで、上述のFF-NN部120の制御だけでは、制御対象2のモータ230の軌道等の目標になる信号目標軌道信号に対し、非線形誤差が発生する。これは入力補償としてNNが制御対象の非線形特性の一部のみの補償に限定されるためである。このため、本ステップにおいて、FB-FN部130を用いた非線形動特性の補償のための学習を行う。FB-FN部130は、上述したように、差分部140から取得した目標信号rtと出力信号ytとの偏差信号et=rt-ytの二乗が最小となるように学習する。この学習は、制御中であるオンライン状態又は制御後のデータを用いたオフライン状態で実行可能である。これらの学習後に制御システムXが構成される。このように、FF-NN部120とFB-FN部130とを用いて学習することで、制御における追従性の向上及び誤差低減を達成することができる。よって、様々な制御系に対応する汎化能力をもたせることができ、知能化制御を実現することができる。ステップS104また、ICS部10の制御部11は、PWM部150を用いて、ソフトウェアサーボ制御処理を行うことができる。具体的には、上述の各学習時、及び学習後に構成された制御システムXにおいて、ICS部10の制御部11は、ソフトウェアサーボの処理を行い、実際の制御対象2を制御することが可能である。以上により、開発/学習処理を終了する。モデル作成処理の詳細ここで、図6のフローチャートを参照して、モデルの作成と知能コントローラ部1のICS部10への転送をするモデル作成処理の詳細について説明する。ステップS111まず、制御装置3は、ユーザの指示を検知し、モデル作成処理を行う。具体的には、MATLAB/Simulinkソフトウェアにより制御システムブロック図を作成する。より具体的に説明すると、MATLAB/Simulinkは、制御系設計支援ソフトウェアである。ここで、MATLABは、MATrixLABoratoryを略したものであり、行列ベクトル演算に基づく数値解析ソフトウェアである。MATLABは、インタプリタ対話形式の高級フログラミング言語であり、BASIC言語に類似したMATLAB言語で記載されたMファイルが用いられる。MATLABは、制御ツールボックス、通信ツールボックスを始めとして、豊富なツールボックスを備えておりユーザが解析に利用できる。また、ブロック線図入力により制御系のシミュレータを構築できるSimulinkが準備されている。MATLAB/Simulinkにより設計されたコントローラを組み込みCPUにより実装するためのRealTimeWorkshopも製品化されているため、本実施形態で好適に利用できる。Simulinkはアナログ計算機の機能をデジタル環境で実行させるソフトウェアであり、微分方程式の解析に便利なツールである。また、知能制御用ソフトウェアとして、NeuralNetworkToolbox、FuzzyLogicToolboxを適宜MATLAB/SIMULINKと合わせて用いることができる。NeuralNetworkToolboxは、非線形システムに対し、パターン認識や同定、制御等で利用できるようなニューラルネットワークシステムの設計やシミュレーションに必要なMファイル群である。NeuralNetworkToolboxは、初期化、伝達関数、教師付ネットワーク/学習ルール、パーセプトロン、バックプロパゲーションBP、Levenberg-Marquardtバックプロパゲーション、Radialbasisネットワーク、リカレントネットワークElman,Hopfield等に対応している。FuzzyLogicToolboxは、ファジィ推論システムの作成、編集ができるプログラムである。FuzzyLogicToolboxは、ファジィ推論システムをグラフイカルツールまたはコマンド関数を使って簡単に作ることができる。SIMULINKを併用すれば、ブロック線図シミュレーション環境の中でファジィシステムをテストすることができる。また、FuzzyLogicToolboxは、Real-TimeWorkshopを使用できる環境ならば、SIMULINKの環境からリアルタイムまたはノンリアルタイムコードのいずれかを生成できる。作成されたモデルは、例えば、後述する実施例で示す図19A~図20Cのようなものとなる。ステップS112次に、制御装置3は、ユーザの指示を検知し、Cコード作成/コンパイル処理を行う。この処理においては、MATLABのReal-TimeWorkshopによって作成したモデルから、例えばC言語で記載されたCコードやオブジェクトコードや実行コードを自動生成させる。ステップS113次に、制御装置3は、ユーザの指示を検知し、モデル定義/ビルド処理を行う。ここでは、ModelDefというソフトを使用し、モデルのパラメータや信号の定義を行う。このモデル定義を行うことで、MATLAB/Simulinkで作成したモデル上のパラメータや信号を実行時に使用可能にする定義ファイルを作成することができる。ステップS114次に、制御装置3は、ユーザの指示を検知し、VCVirtualConsole画面作成処理を行う。この処理においては、VCDesignerソフトウェアを用いて画面作成を行う。具体的には、制御装置3のPCの表示装置と、知能コントローラ部1の表示部に表示されるユーザインタフェイスとなるVC画面を作成できる。また、VCDesignerでは、作成したモデルを実行するVC画面の設計ができる。これにより、作成したモデルを実行するときに、ユーザが扱いやすいような画面の設計を行うことができる。ステップS115次に、制御装置3は、ユーザの指示を検知し、実行コード転送処理を行う。具体的に説明すると、制御装置3は、VCDesignerにより、プログラムを実行できる。ユーザは、制御装置3のエミュレータ等で実行テストを行った後で、実行コードのバイナリファイルや定義ファイルや各種データ等以下、プログラム等という。を転送する。なお、制御装置3は、VCDesigner起勤時に制御装置3と知能コントローラ部1とが接続状態になっていれば、生成された実行コード等を自動的に転送することもできる。ステップS116次に、知能コントローラ部1は、実行コード取得/実行処理を行う。ここでは、知能コントローラ部1の制御部11が、上述の制御装置3から取得したプログラム等をICS部10の補助記憶手段に記憶する。この実行コードを取得後に、実行コード等を知能コントローラ部1側単体で実行が可能となる。作成したプログラム等を実行するときも、VCDesignerを用いることができる。具体的には、ユーザは、制御装置3と知能コントローラ部1が接続状態で、画面作成が終わったら、VCDesignerの実行ボタンを押下する。この実行ボタンを押下により、設計した画面が制御装置3と知能コントローラ部1の表示部上に描画され、実行可能となる。なお、この実行においては、ステップ実行や、制御対象2からのデータの取得等を行うこともできる。知能コントローラ部1は、逐次、制御装置3に取得したデータ等を送信することもできる。また、所定時間後に、取得したデータを送信することもできる。ステップS117次に、制御装置3は、制御結果取得分析処理を行う。具体的には、制御装置3は、取得したデータやモデルの状態等を、MATLAB/Simulink、VCDesigner、又は解析用のソフトウェアで確認することができる。これにより、モデルの動作を確認し、下記で説明する学習処理を行うことが可能になる。なお、VCDesignerを用いて実行している際には、ユーザは、知能コントローラ部1の画面のボタンでは指示ができず、制御装置3のユーザインタフェイスの画面で指示を行う。制御装置3で実行テストを行ったあとで、知能コントローラ部1単体で実行が可能となる。以上により、モデル作成処理を終了する。FF-NN逆ダイナミックス処理の詳細次に、図7~図9Bを参照して、FF-NN逆ダイナミックス処理の詳細について説明する。この処理では、古典的なPD制御の結果の信号を用いて、フィードフォワードによる、FF-NN部120の学習を行う。図7は、このFF-NN逆ダイナミックス処理に用いるICS部10の各部と制御対象との関係を示すブロック図である。このように、制御対象の動特性を改善するため、ニューラルネットワークであるFF-NN部120を用いる。FF-NN部120のニューラルネットワークは、サーボ系である制御対象2の逆ダイナミックスをオンライン又はオフラインで学習し、それをフィードフォワード補償器として利用する。以下で、図8のフローチャートを基に、このFF-NN逆ダイナミックス処理の詳細をステップ毎に説明する。ステップS201まず、知能コントローラ部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が数値演算処理により算出してもよい。ステップS202次に、制御部11は、FF-NN部120を用いてFF-NN学習処理を行う。ここで、まず、位置と速度フィードバック則を適用したプラントの動特性は非線形特性を2次系として近似し線形化すると、以下の式1にて表現できる。ここで、utは入力、ytは位置、kp,kvは、それぞれ、位置と速度のフィードバックゲインである。ただしkvについては、サーボモータの逆起電力定数keが含まれているものとする。サーボ系の逆ダイナミックスは、rtを目標軌道とすると、上述の式1をyt=rtとして逆に解くことにより、以下の式2となる。つまり、変位rk、速度dr/dtk、加速度d2r/dt2kからutの関係をFF-NN部120のニューラルネットワークに学習させる。したがって、ネットワークへの入力Ikを[31]の列ベクトルとし、下記の式で表せる:Ik=[rk,kp/kvdr/dtk,J/kpd2r/dt2k]T各ユニットの入出力関係は線形関数fx=xを用いる。また、ネットワークの出力はプラントの入力の推定値φkとなる。中間層の出力をψikとすると、ニューラルネットワークの出力は、次の式3のように表せる。ただし、nは中間層のユニット数、mは入力層のユニット数である。ニューラルネットワークの学習は、評価関数として、以下の式4を定義し、バックプロパゲーションBP法により行う。すなわち、式4は、FF-NN部120のニューラルネットワークから計算されるプラント入力の推定値から、制御対象2であるプラントからの信号の入力を引いて2乗して1/2で割ることで求める。FF-NN部120のニューラルネットワークの構成例次に、図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である。FF-NN部120のニューラルネットワークの学習に必要なソフトウェアとしては、以下に示すMATLAB用のニューラルネットワーク生成コマンドの例を入力して用いることができる。P変位速度加速度T教師信号netnewffysimplotnettrainParamshow10nettrainParamepochs20000nettrainParamgoalnettrainysimplotgensimreturnここで、P=変位、速度、加速度、T=教師信号である。ただし、教師信号は操作信号yとし、特性把握に必要な時間3周期程度とする。図9Bを参照して説明すると、MATLABによりニューラルネットワークの学習が終了すると、ニューラルネットワークNNのブロックが生成される。このNNのブロックを制御ブロックとして、FF-NN部120に用いる。以上により、FF-NN逆ダイナミックス処理を終了する。FB-FN学習処理の詳細次に、図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学習処理の各ステップの詳細について説明する。ステップS301まず、知能コントローラ部1の制御部11は、ICS部10のFB-FN部130のファジィニューラルネットワーク設定処理を行う。ここで、図12A~図12Dを参照して、ファジィPD部131とファジィPI部132に共通に使われる、本発明の実施の形態に係るファジィニューラルネットワークFNNの構成について説明する。ファジィニューラルネットワークは、BP法による学習を可能としながら、階層型ニューラルネットワークの結合を工夫してファジィ推論ルールとの対応関係を持たせ、ニューラルネットワークの獲得した入出力関係に関するパターンの知識をファジィルールというシンボルの知識として把握することができる。また、ファジィ推論システムにおける問題点であるファジィルールの同定、メンバーシップ関数の調整の困難さを、ニューラルネットワークの学習機能により改善できる。まず、FuzzyLogicToolboxによるファジィニューラルネットワークの作成方法について説明する。まずは、FuzzyLogicToolboxのメニューを呼び出す。メニューには:1メンバーシップ関数エディタ2FISエディタ3ルールエディタ4ルールビューワ5サーフェスビューワが存在する。ここで、本実施形態におけるファジィニューラルネットワークを用いたファジィ推論システムにおいては、まずはFISエディタを選択してモデルを作成する。その際に、atipperと入力するとウィンドウが表示される。bメンバーシップ関数エディタを使用し、メンバーシップ関数の名前、位置、型を設定する。Range[010]また、ガウス曲線を設定する。Gauss2mf2つのガウス曲線の組み合わせによるメンバーシップ関数の作成を行う。たとえば、以下の式5を用いることができる。このようにして、本実施形態に係るファジィ推論システムが作成できる。ファジィニューラルネットワークの構造、構成例図12Aは、本発明の実施の形態に係るファジィニューラルネットワークの構造を示す。この図12Aの例では、A層の入力層は、変位誤差信号epと変位時間微分の速度誤差信号evを入力信号としており、この入力信号を次層のユニットに分配している。次に、B層の中間層では、メンバーシップ関数を内部関数に持ちガウス関数を用いる。各ユニットの出力はメンバーシップ関数の値であり、前件部と呼ぶ。C層はファジィルールで推論する後件部であり、B層で入力空間を9分割し、分割された空間の適合度をファジィルールの前件部適合度の式により計算し、C層の全ユニットで得られる前件部適合度の総和で規格した値μiを出力する。D層は入力の総和を出力する線形ユニットである。以上により、ファジィルール的構造を持つニューラルネットが構成でき、これをファジィニューラルネットワークと称する。このファジィニューラルネットワークはBP法による学習を可能としながら、階層型ニューラルネットワークの結合を工夫して、ファジィ推論ルールとの対応関係を持たせることができる。図12Bは、本発明の実施の形態に係るファジィPD部131とファジィPI部132の全体構成を示す概念図である。このように、ファジィPD部131とファジィPI部132とをパラレルに組み合わせることにより、全体としてファジィPIDを実現することができる。ステップS302次に、制御部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/2ep2が最小となるように行う。また、kij≧0j=I,p,vの条件を常に満たすように、kij=Wijとする。より具体的に説明すると、学習に利用する入力データは、サーボ系がスムーズに動作するようにゲイン調整した線形PD制御および線形PI制御の位置誤差epとその変化分であるevとし、教師データは線形PD制御及び線形PI制御の出力信号Uとする。また、大きな誤差ステップの学習については、方形波のステップ信号を入力データとし、教師データは上記同様の線形PD制御および線形PI制御の出力信号Uとする。ここで、図13を参照して、ファジィPD部131のファジィPD学習について説明する。ファジィPD部131のファジィPD学習は、モデル化誤差、非線形摩擦を補償するための学習の根拠となる。すなわち、制御対象2の実際のモデルには、慣性モーメント等のバラツキ、2次モデルで表現できない非線形要素が存在するため、これを学習する。これらのモデル化誤差、非線形摩擦の誤差を表わすと、以下の式になる:e=Tdfdyここで、Tdは、未知の外乱としてモデル化誤差を含める。fdyはsgny’{Fs-Fcexp-|y’|/eFc}とする。ファジィPD学習は、上述の式で示されるモデル化誤差及び非線形摩擦誤差の偏差出力信号をフィードバックPD出力信号として獲得した教師信号により逆ダイナミックスとして学習する。学習方法は非線形誤差学習方式としてuPDの2乗であるEuPD=l/2uPD2を評価関数とし、BP法で結合荷重を修正する。ここで、図13を更に参照して、ファジィPI部132のファジィPI学習について説明する。ファジィPI部132のファジィPI学習は、クーロン摩擦、未知外乱による定常偏差の学習の根拠となる。つまり、制御対象2では、クーロン摩擦により定常偏差が生じる。これは、加速度が0のときの位置偏差である。また、未知外乱による定常偏差も発生する。これらの誤差を表わすと、以下の式になる:e=eFCeTdここで、eFCはクーロン摩擦により発生する定常偏差eTdは未知外乱により発生する定常偏差である。ファジィPI学習は、上記の式で示されるクーロン摩擦および未知外乱による定常偏差を、フィードバックPI出力信号として獲得した教師信号により逆ダイナミックスとして学習する。非線形誤差学習の方式としては、式としてuPIの2乗であるEuPI=1/2uPI2を評価関数として、BP法で結合荷重を修正する。ステップS303次に、制御部11は、ICS部10のFB-FN部130のメンバーシップ関数設定処理を行う。図14を参照して、このメンバーシップ関数設定処理の説明をする。上述したように、ファジィPD部131、ファジィPI部132における、ファジィニューラルネットワークの前件部には、メンバーシップ関数を用いる。本実施の形態においては、このメンバーシップ関数に、ここではガウス関数を使用する。上述のFNN学習処理による学習結果、メンバーシップ関数の形が決定されることにより、パラメータが自動調整される。図14及び図12Aの下部は、この調整されたメンバーシップ関数の例である。ステップS304次に、制御部11は、ICS部10のFB-FN部130に対して、ファジィルール設定処理を行う。図15は、ファジィPD部131及びファジィPI部132のファジィルールの設定方法を示す概念図である。本発明の実施の形態に係るファジィニューラルネットワークでは、制御ゲインを適応調整するため、誤差入力量に対応して出力を調整するファジィルールを設定する。つまり、FB-FN部130のゲインをマトリックス状に配置するために、ファジィPD部131、ファジィPI部132における後件部に以下に示すファジィルールを設定する。より詳細に説明すると、図12Bにおける出力UFNは、プラントの直接的な入力である。ファジィ部では、入力空間を9分割し、分割された空間の適合度を以下の式で与える。μi=Ai1epAi2evここで、i=1,2,...,9,i1,i2=1,2,3また、Aijはメンバーシップ関数でファジィ変数を表す。また、Ai1,Ai2はそれぞれPositivebig、Small、Negativebigに対する適合度を表す。ただし、適合度は、下記の式6のように正規化しておく。そして、制御ゲインを適応調整するため、誤差入力量に対応して出力を調整するファジィルールを設定する。ここで、図12Cのように、ファジィ分割として9を設定し、ファジィルールは以下のように設定する。i番目のファジィルールは:Ri:IFepisAi1andevisAi2THENy=fiep,evここで、i=1,2,...,9,i1,i2=1,2,3である。また、uFNPD出力は、下記の式7として求める。ここで、各uFNの加算出力であるuFNPID出力は、下記の式8で求める。また、ファジィ推論は、下記の式9で求める。ここで、fは、uFNPIDとuFNが等しいとすると、下記の式10となる。ただし、kij≧0j=I,p,vは、後述するフィードバックゲインである。ここで、式10の制御方法においては、誤差応答によりファジィPDとファジィPIを切り換える動作を行う。この際、外乱やパラメータ変動による制御系の影響に対し、応答を速やかに目標値に近づけるため、図15内の表で示すように、外乱やパラメータ変動による制御系の影響に対し、応答を速やかに目標値に近づけるために図15に示すように、変位誤差信号epと速度誤差信号evがいずれもSmallのときはPID制御、epがSmallでなくevの絶対値|ev|がbigのときは、ダンピングを小さくし速い応答を得るためにP制御、その他はPD制御とすることが好適である。各フィードバックは、後段のニューラルネットワークで事前に学習することにより、制御則を構成する。各フィードバックゲインは後段のニューラルネットワークで事前に学習する。このような構成により制御則を構成する。つまり、誤差に適応した制御則を構成することができる。図16Aは、このフィードバックであるファジィニューラルネットワークゲインの計算方法を示す。また、図16Bに、FB-FN部130のゲインマトリックスを示す。フィードバックゲインkijはファジィ分割された誤差空間ごとに学習するので、誤差量に依存するダイナミック補償器としての役割を果たす。このように、制御ゲインを適応調整するため、誤差入力量に対応して出力を調整する、上述のi番目のファジィルールを設定する。すなわち、ファジィ推論の効果として、誤差が少ないときは低いゲインとなる。ただし、ゲインの最適調整は、ニューラルネットワークの学習により行われる。つまり、モデル化誤差、摩擦、未知な外乱等により位置と速度の誤差が生じると大きなゲインとなり、誤差の減少が期待できる。また、後述する図16BのC7の部分のように大きな誤差に対しては、フィードバックの効果が期待できる。このような構成により、外乱やパラメータ変動にロバストとなることが期待できる。図16Cは、ファジィニューラルネットワークによるゲインスケジューリングのブロック図を示す。このゲインスケジューリングにより決定されたCi=μikipepkivkiI∫fepdt式により、図16BのC1~C9の各ゲインが算出される。図16Dは、ファジィPD部131のファジィPDゲインマトリックスを示す。これはファジィPDについて入力のCpとCvが9個のウィンドウに分割された入力空間で図16Aに示す通り計算がされたゲインである。入力誤差に対して制御ゲインが適応調整される。図16Eは、ファジィPD部131のファジィPD制御面を示す。これはファジィPDについてCpとCvの入力に対する制御出力がどのように変化するかを表わしている。図16Eの制御面によれば、ステップ状の大きな外乱に対してロバスト性及びロバスト安定性を有することがわかる。ロバスト安定性の根拠ここで、図17を参照して、本発明の実施の形態に係るFB-FN部130のロバスト安定性の根拠について説明する。FB-FN部130は、パラメータ変動が微小ではなく、ある有限な範囲で生じるとし、その変動範囲で制御性能を保証する制御系を設計する必要がある。そこで、パラメータの変動範囲をカバーする多数の基準点を仮定しこの点におけるパラメータ感度を小さくすることが好適である。また、各基準点での感度を小さくする割合はメンバーシップ関数を用いることにより、システムの要求に応じて設定できる。また、ファジィニューラルネットコントローラの誤差のロバスト性を確保するには、パラメータがある基準点まわりで微小変動することを前提とし、その変動に対するパラメータ感度を最小化する必要がある。図17に、そのメンバーシップ関数と、ファジィPIの制御面を示す。ここで、図17の古典PIの制御面に示す通り、eかeeの上点の移行方向に順じた、あるいは逆らった方向にeかeが摂動すると、duの変化が増大する。これに対して、図17のファジィPIの制御面においては、制御誤差であるeかeの変化量が小さいときはファジィPIには、さほど影響しない。すなわち、ファジィPIの制御面はe-eが、ほぼ平行であり、摂動すると、eとeが2つ以上のルールが作動する過渡的な領域に入っていくだけで、制御出力には影響しない。つまり、定常偏差を減少させる機能が働いていることがわかる。これにより、ファジィPIDコントローラのロバスト性の根拠が説明できる。ステップS304次に、制御部11は、ICS部10のFB-FN部130に対して、ファジィ推論処理を行う。このファジィ推論処理においては、上述したシングルトン出力のメンバーシップ関数を使用して、ダイナミックスな非線形システムの種々の操作条件に適用する複数の線形コントローラを内挿的に組み込むことができる。本実施の形態に係るこのファジィ推論処理においては、入力空間をスムーズに内挿して線形ゲインを求め、効果的なゲインスケジューラとし、非線形システムをモデル化できる。つまり、ファジィ推論システムを使い、入出力データからBP法等のアルゴリズムを使ってチューニングする。ここでは、推論システムのパラメータを同定するためのハイブリッドな学習アルゴリズムを使う。非線形パラメータに対し、上述したように、最小二乗法とバックプロバゲーション勾配降下法BP法を適用する。以上により、FB-FN学習処理を終了する。ファジィPD部131の例以下で、作成して学習させたファジィPD部131であるFUZZY_PDのMファイルの例を示す:Input1Nameinput1Range0286802804NumMFs3MF1in1mf1gauss2mf004785928344622990371325003195614394156080217974284608918MF2in1mf2gauss2mf00608664733050278009780762228584870055514236238660500852892043051262MF3in1mf3gauss2mf00138714984932358020884527353354004785928344622990361225Input2Nameinput2Range1047210472NumMFs3MF1in2mf1gauss2mf01778819578523231361360178084149908005073222056738112MF2in2mf2gauss2mf01508011243943990302584545101134014875812371340303271696091688MF3in2mf3gauss2mf017846582240623707325323049383430177881957852323136136Output1NameoutputRange912189183NumMFs9MF1out1mf1linear299502149922501050214154122586600114363187815991MF2out1mf2linear0699802412554496288172200515163369267448235734MF3out1mf3linear242419964633644e009194710601114873e009446135969104574e008MF4out1mf4linear2986462253850970522490654609605000109243397029133MF5out1mf5linear29987276091953505029424390657120000137735051368041MF6out1mf6linear29992970710553105008335009346340000342857488096674MF7out1mf7linear173151335707348e014740165806871063e014936256379708729e014MF8out1mf8linear060924632277904259412276828522330948675859052MF9out1mf9linear2999471869875290494510357242337000687566067744605Rules111112211331214122512361317132813391ファジィPI部132のファイル例以下で、作成して学習させたファジィPI部132であるFUZZY_PIのMファイルの例についても示す:SystemNameFNNPITypesugenoVersion20NumInputs2NumOutputs1NumRules9AndMethodprodOrMethodproborImpMethodprodAggMethodsumDefuzzMethodwtaverInput1Nameinput1Range0227502108NumMFs3MF1in1mf1gauss2mf003722577450662390293245006202222084047970145616701160321MF2in1mf2gauss2mf0050998981434965500938664146504105006177347056876500711977845073082MF3in1mf3gauss2mf004519281006101810122287868166051003722577450662390276545Input2Nameinput2Range1047210472NumMFs3MF1in2mf1gauss2mf017788195785232313613601948581881870730725976617084914MF2in2mf2gauss2mf0184472713520267031850724887940301827695440676020316484420470913MF3in2mf3gauss2mf018997369337809907272083201418220177881957852323136136Output1NameoutputRange7253866378NumMFs9MF1out1mf1linear434662552481124154046594018716188528571837822MF2out1mf2linear723728068591604821719705183032358241392764794MF3out1mf3linear074617858891730600969956028725818409511443589854MF4out1mf4linear43676365295507544796192422905712979557058011MF5out1mf5linear188845013085459163752420684739226580569880905MF6out1mf6linear526504877364809136637475028015281582668956971MF7out1mf7linear136664656988905101944112740175561037900146712MF8out1mf8linear377754372896572237931907009803205924135196645MF9out1mf9linear773693139104994701860325733576184498686710174Rules111112211331214122512361317132813391ソフトウェアサーボ制御処理の詳細次に、図18を参照して、本発明の実施の形態に係るソフトウェアサーボ制御処理について説明する。本発明の実施の形態に係るソフトウェアサーボ制御処理においては、DCモータ駆動用PWMパルス幅変調モジュールと位置検出用エンコーダのアップダウンカウンタモジュールを、ソフトウェアで作成して実現する。これにより、ハードウェア部品の省力化と、ハードウェアによる動作時間遅れやノイズの対策ができる。PWM部150のPWMモジュールについて、設計によりソフトウェア化を行っている。すなわち、本実施形態においては、MATLAB/Simulinkによりロジック回路を作成し、PWMモジュールを実現させている。すなわち、図18のように、制御部11が信号の振幅を変更して出力することで、モータ230の駆動ができる。このPWMモジュールの例を、後述する実施例の図20A~図20Cに示す。また、COUNTERカウンタモジュールについても、設計によりソフトウェア化を行っている。すなわち、本実施形態においては、MATLAB/Simulinkによりロジック回路を作成し、COUNTERモジュールを実現させている。このCOUNTERモジュールの例を、後述する実施例の図20F~図20Hに示す。このように、知能コントローラの演算処理の高速化により、インテリジェントロバスト制御を実現することができる。以上のように構成することで、以下のような効果を得ることができる。まず、従来、産業界で問題となっている現代制御理論ModelBasedControlによる電子制御の不具合が多発していた。これは、制御ゲインが固定ゲインであることに起因するものであった。本発明の実施の形態に係る制御システムXは、次世代のファジィニューラルネットワークベースト制御によるインテリジェントロバスト組み込み知能コントローラであるICS部10を用いることで、この問題を唯一解決することができる。ICS部10には、目標軌道誤差の変化に適応的にゲインを可変調整するファジィニューラルベースト制御の新規インテリジェントロバストゲイン補償器であるFB-FN部130が組み込まれている。これにより、システムパラメータ変動、突発的な外乱および目標変化に対して、十分な目標軌道追従制御性能が得られる。また、本発明の実施の形態に係る制御システムXの制御方法は、従来のPID制御方法を多変数系に拡張させることができる。すなわち、本実施形態の制御方法は、非線形の運動方程式を直接使用して、FF-NN部120のニューラルネットワークにより線形化を行い、FB-FN部130のファジィニューラルネットワークにより外乱抑制および非干渉化を行う。本実施形態の制御方法は、時間によってパラメータが変化する非線形系がいつも臨界減衰となるように、時間によってゲインが適応的に変化する制御則を考案し、多変数系における各軸の相互干渉を非干渉化させる。このことにより、インテリジェント制御による多変数系制御を行い、マニピュレータの完全追従制御を実現することができる。また、本実施形態に係る制御システムXは、ファジィの推論能力とニューラルネットワークの学習能力を組み合わせることで、制御ゲインを可変調整し、未知の要素に対して適応させることができる。実際に、下記の実施例にて構築したファジィニューラルネットワーク制御システムを従来のPID制御、FF-NN制御のみのシステムと比較する実験を行ったところ、ファジィニューラルネットワーク制御の有効性は高かった。また、従来、マニピュレータに関するシステム設計は、制御対象が多自由度系でも1自由度系と見なし近似式を用いて制御系を設計し、関節軸ごとに独立した制御系を構築する手法が多くの製品に採用されていた。本実施形態に係る制御システムXは、この多自由度系設計化の未解決な課題を、インテリジェント制御により解決することができる。すなわち、本実施形態に係る制御システムXは、ロバストで自動的なゲイン調整が可能な制御系を構築するために、ファジィ分割された空間において位置誤差に応じた可変フィードバックゲインが設定される制御系を、多自由度系化の設計に用いることができる。また、本実施形態に係る制御システムXは、ファジィニューラルネットワークの学習によるゲインの自動設定ができ、インテリジェント制御によるロバスト性を実現することができる。これにより、マニピュレータおよび多変数系メカニカルシステムに対する実用的なインテリジェントロバスト制御システムを実現し、ロボット、自動車、電動自転車、船舶、航空機、宇宙機、ロケット、温度制御、電動制御等、目標値を設定して制御する従来の制御が用いられていたあらゆる制御対象機器について、応用可能である。また、本実施形態に係る制御システムXは、モデル化誤差、摩擦、未知の外乱等により変位および速度の制御誤差が生じた場合、制御ゲインを適応調整するファジィニューラルネットワークによる非線形偏差補償が可能になる。すなわち、ファジィニューラルネットワークによるインテリジェントロバスト制御手法が確立し、多変数系メカニカルシステムに対する実用的なインテリジェント制御システムを実現することができる。また、本実施形態に係る制御システムXは、組み込み型コンビュータを知能コントローラ部1として用いて、通常のPC等による制御装置3によるRTWReal-TimeWorkshopを用いたモデルベースでのシステム開発により、短期間でのシステム開発を行うことが可能である。さらに、MATLAB/Simulinkのようなソフトウェアを用いることで、シミュレーションも簡単に行えるため、システム開発のコストダウンや時間削減に大きな効果が得られる。また、本実施形態に係る制御システムXは、目標軌道誤差の変化に適応的にゲインを可変調整する新しい方式のインテリジェントロバストゲイン補償器ファジィニューラルベースド制御が組み込まれており、システムパラメータ変動、外乱および目標変化に対して、十分な目標軌道追従制御性能が得られる。具体的には、ロバストで自動的なゲイン調整が可能な制御系を構築するために、ファジィ分割された空間において位置誤差に応じた可変フィードバックゲインが設定される制御系を構成している。また、本実施形態に係る制御システムXは、制御系を2自由度制御構成とし、フィードフォワード部をニューラルネットワークにより構成し、変位、速度、加速度のパラメータによりプラントの特性を学習させ、プラント特性の逆特性を取得しシステムを線形化している。また、フィードバック部は、ファジィニューラルネットワークにより非線形誤差を減少させる補償器であり、完全追従性能を実現させている。これらの制御系は、リアルタイム実時間処理で、例えばサンプリング時間が1ミリ秒で実行されていることを特徴とする。ここで、図19A~図21Bを参照して、実際に上述のICS部10の構成と各処理を用いて、インテリジェントロバスト制御を行った実施例について説明する。本実施例においては、組み込み型コンピュータである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の位置情報をフィードバックすることができる。また、本実施例では、モータ駆動ドライバ20として、東芝セミコンダクター社製のTA7281Pを用いた。また、モータ230として、ツカサ電工社製のTG-47C-SMを用いた。TG-47C-SMは、定格電圧12[V]、定格回転数4400[rpm]、定格電流160[mA]、無負荷回転数5250[rpm]、無負荷電流60[mA]である。また、エンコーダ220として、TG-47C-SMに付属のロータリエンコーダを用いた。当該ロータリエンコーダは、1回転につき8パルス出力する。実験方法本実施例では、MATLAB/Simulinkによりファジィニューラルネットワークの制御システムXのためのモデルを構築した。また、比較のため、従来のPID制御、NN-PIDのみの制御システムのモデルも同様に構築した。これらの制御システムのモデルを図19A~図19Cに示す。また、この各制御システムの各部位のモデル図を、図20A~図20Hに示す。より具体的には、図19Aは、従来のPID制御のモデル図である。このモデルのPIDパラメータについては、比例ゲインP=12、積分ゲインI=0、微分ゲインD=0、としてモータ駆動ドライバ20の制御を行った。また、図19Bは、NN-PID制御のみの場合のモデル図である。FF-NN部120のニューラルネットワークの学習にはPID制御のデータを基にして行い、指令信号の変位、速度、加速度を入力とし、PIDの操作量を教師信号としてBP法で学習を行った。これによって得られたニューラルネットワークをPIDの操作量にフィードフォワードさせている。PIDパラメータはPID制御と同様である。また、図19Cは、本実施例に係るファジィニューラルネットワーク制御のモデル図である。FNNの学習には、図19AのPID制御のデータを基にして行い、変位誤差、速度誤差を入力とし、PIDの操作量を教師信号としてBP法と最小二乗法を組み合わせた方法で学習を行った。この際に、図19BのNN-PID制御のパラメータ等も、ファジィニューラルネットワークの制御システムに用いた。制御対象2は、1つのDCモータ230によって動く移動テーブルとし、構築した制御システムにより位置制御を行う。指令信号は振幅5、周期30[s]のsin波とし、サンプリングタイムは1[msec]でモータの制御を行った。また、比較のための動作テストとして外乱あり、外乱なしの状態で3つの制御システムを実行し性能比較を行った。外乱はモデル上で再現し、実行してから10秒後に5の値を操作量に加えるようにした。実験結果図21Aと図21Bを参照して、実験結果について説明する。図21Aは、従来のPID制御のモデル比較例を用いて制御を行った結果である。従来のPID制御では、外乱がない場合には、1自由度の位置制御でも時間遅れがあり若干の誤差が見られた。さらに、従来のPID制御では、外乱が発生すると定常情差として誤差が現れ、外乱の信号に合わせて出力が上にずれていた。なお、図示しない図19BのNN-PIDのみの制御は、フィードフォワード補償により時間遅れを多少解消できていた。しかし、NN-PIDのみの場合、外乱がない場合にはそれほど制御信号とはズレないものの、外乱がある場合には従来のPID制御と同様な結果であり、ロバスト性がなく不十分であった。図21Bは、本実施例に係るファジィニューラルネットワーク制御を用いた結果である。ファジィニューラルネットワーク制御では、制御対象の非線形要素に対応できると考えられる。すなわち、ファジィニューラルネットワーク制御では外乱あり、外乱なしの両方で指令信号に追従できていたことから、制御ゲインを適応的に調整していると考えられる。このことから、ファジィニューラルネットワーク制御はロバスト性のある制御方法であり、外乱や制御機器の非線形要素に対して有効であった。なお、上記実施の形態の構成及び反応及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。"