(57)【要約】【課題】位置制御と力制御とをスムーズに切り換えられる組み込み知能コントローラを提供する。【解決手段】  ＩＣＳ部５０は、制御対象に対して、位置指令により位置制御を行い、力指令により力制御を行う。位置指令系５１は、位置制御を行うファジィ・ニューラルネットワークである。力指令系５２は、力制御を行うファジィ・ニューラルネットワークである。切換部１３５は、制御対象の力センサの値により、力指令系５２の出力を変化させ、位置と力のハイブリッド／コンプライアンス制御により位置制御と力制御とを連続的に切り換える。【選択図】図２３
2014006566.tif 000002
【特許請求の範囲】
【請求項１】
制御対象に対して、位置指令により位置制御を行い、力指令により力制御を行う組み込み知能コントローラにおいて、
前記位置制御を行う位置制御系のファジィ・ニューラルネットワークと、
前記力制御を行う力制御系のファジィ・ニューラルネットワークと、
前記制御対象の力センサの値により前記力制御系の出力を変化させ、位置と力のハイブリッド／コンプライアンス制御により前記位置制御と力制御とを連続的に切り換える切換部とを備える
ことを特徴とする組み込み知能コントローラ。
【請求項２】
前記位置制御系において、前記制御対象の変位、速度、加速度のパラメータをニューラルネットワークにより学習させ、前記制御対象の特性の逆特性を取得するフィードフォワード手段を備え、
前記力制御系において、前記制御対象の力、粘性、剛性のパラメータをニューラルネットワークにより学習させ、前記制御対象の特性の逆特性を取得するフィードフォワード手段を備える
ことを特徴とする請求項１に記載の組み込み知能コントローラ。
【請求項３】
前記位置制御系のファジィ・ニューラルネットワーク及び前記力制御系のファジィ・ニューラルネットワークは、それぞれ、非線形誤差を減少させる補償器である複数のフィードバック手段を備え、
該フィードバック手段は、
前記制御対象の非線形動特性のＰＤ（比例、微分）補償を行うファジィＰＤ手段と、
前記制御対象の非線形動特性のＰＩ（比例、積分）補償を行うファジィＰＩ手段とを並列に備える
ことを特徴とする請求項１又は２に記載の組み込み知能コントローラ。
【請求項４】
前記位置制御系のファジィ・ニューラルネットワークの前記フィードバック手段及び前記力制御系のファジィ・ニューラルネットワークの前記フィードバック手段は、
ファジィ分割された空間において位置及び力誤差に応じた可変フィードバックゲインを設定する
ことを特徴とする請求項３に記載の組み込み知能コントローラ。
【請求項５】
前記位置制御系のファジィ・ニューラルネットワーク及び前記力制御系のファジィ・ニューラルネットワークは、
所定のサンプリング時間で実時間処理を行う
ことを特徴とする請求項３又は４に記載の組み込み知能コントローラ。
【請求項６】
前記位置制御系のファジィ・ニューラルネットワーク及び前記力制御系のファジィ・ニューラルネットワークは、ソフトウェアＰＷＭ制御を行う
ことを特徴とする請求項３乃至５のいずれか１項に記載の組み込み知能コントローラ。
【請求項７】
請求項１乃至６のいずれか１項に記載の組み込み知能コントローラを含む
ことを特徴とする制御システム。
【請求項８】
請求項１乃至６のいずれか１項に記載の組み込み知能コントローラと、
前記制御対象として力センサを備えたロボットとを備える
ことを特徴とする制御システム。
【請求項９】
制御対象に対して、位置指令により位置制御を行い、力指令により力制御を行う組み込み知能コントローラの制御プログラムにおいて、前記組み込み知能コントローラに、
位置制御系のファジィ・ニューラルネットワークにより、前記位置制御を行わせ、
力制御系のファジィ・ニューラルネットワークにより、前記力制御を行わせ、
前記制御対象の力センサの値により前記力制御系の出力を変化させ、位置と力のハイブリッド／コンプライアンス制御により前記位置制御と力制御とを連続的に切り換えさせる
ことを特徴とする制御プログラム。
【請求項１０】
制御対象に対して、位置指令により位置制御を行い、力指令により力制御を行う組み込み知能コントローラの制御プログラムが記録された記録媒体において、前記組み込み知能コントローラに、
位置制御系のファジィ・ニューラルネットワークにより、前記位置制御を行わせ、
力制御系のファジィ・ニューラルネットワークにより、前記力制御を行わせ、
前記制御対象の力センサの値により前記力制御系の出力を変化させ、位置と力のハイブリッド／コンプライアンス制御により前記位置制御と力制御とを連続的に切り換えさせるための
プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
制御対象に対して、位置指令により位置制御を行い、力指令により力制御を行う組み込み知能コントローラの制御方法において、前記組み込み知能コントローラに、
位置制御系のファジィ・ニューラルネットワークにより、前記位置制御を行わせ、
力制御系のファジィ・ニューラルネットワークにより、前記力制御を行わせ、
前記制御対象の力センサの値により前記力制御系の出力を変化させ、位置と力のハイブリッド／コンプライアンス制御により前記位置制御と力制御とを連続的に切り換えさせる
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み込み知能コントローラ、制御システム、制御プログラム、記録媒体、及び制御方法に係り、特に位置制御と制御を行うための組み込み知能コントローラ、制御システム、制御プログラム、記録媒体、及び制御方法に関する。
【背景技術】
【０００２】
近年、宇宙探査機の『はやぶさ』や医療現場などの様々な作業環境でロボットマニピュレータが使用されている。また、ロボットの自動化・自律化も進められており、高精度な制御が求められている。しかし、このような制御を実現するには大きな問題点がある。それは、ロボットマニピュレータの動特性が位置・姿勢による慣性負荷や速度による遠心力、重力負荷などの非線形性を持つこと、それに加え環境条件や外的要因による外乱によって変動をきたすことなどである。
従来から、一般的な制御方法としてＰＩＤ制御が知られている。ＰＩＤ制御は、Ｐ（Ｐｒｏｐｏｒｔｉｏｎａｌ、比例）動作、Ｉ（Ｉｎｔｅｇｒａｌ、積分）、Ｄ（Ｄｉｆｆｅｒｅｎｔｉａｌ、Ｄｅｒｉｖａｔｉｖｅ、微分）動作を用いたフィードバック制御である。すなわち、ＰＩＤ制御は、目標値−制御量である制御の偏差に対して、比例演算、積分演算、及び微分演算を行い、操作量を算出して制御する。
ＰＩＤ制御は、古典制御だが扱いやすさと正確性の良さから広く使われている。しかし、ＰＩＤ制御のような古典制御では外乱や非線形要素への対応が困難であった。
【０００３】
そこで、従来から、一般にマニピュレータに関するシステム設計は、制御対象が多自由度系でも１自由度系と見なし近似式を用いて制御系を設計し、関節軸ごとに独立した制御系を構築する手法が多くの製品に採用されている。
しかし、一般的には、マニピュレータは、剛性が低く、重力や遠心力を受ける非線形な多入力多出力系である。また、従来手法では、ＰＩＤ制御における位相補償制御、最適サーボ系、外乱オブザーバを用いた制御あるいはＨ∞制御等を用いて精度、振動抑制、ロバスト性などを実現しているが、十分な制御性能が得られなかった。
【０００４】
ここで、従来のＰＩＤ調節装置として、特許文献１を参照すると、制御対象からの制御量ＰＶｎと目標値ＳＶｎから補償演算を行って得られる実効目標値ＳＶｎ０との偏差が零となるようにＰＩまたはＰＩＤ（Ｐ：比例，Ｉ：積分，Ｄ：微分）調節演算を行い、得られる調節演算信号を操作信号ＭＶｎとして前記制御対象に印加する調節装置において、制御量の目標値から実効目標値を得るために、比例ゲイン２自由度化係数α（α：０〜１間の定数）及び積分時間２自由度化係数β（β：１〜１０間の定数）を用いた補償演算手段を設け、目標値から操作信号間の伝達関数Ｃｓｖ（ｓ）がＫｐ｛α＋［１／（ＴＩ・ｓ）］・［（１＋ＴＩ・ｓ）／（１＋βＴＩ・ｓ）］｝とする２自由度ＰＩＤ調節装置、但し、Ｋｐ：比例ゲイン、ＴＩ：積分時間、ｓ：ラプラス演算子であるものが記載されている（以下、従来技術１とする。）。
従来技術１によれば、ＰＩＤ制御の２自由度化のための積分動作の２自由度化を非常にシンプルな形とし、かつ、比例ゲインの２自由度化係数αと積分時間の２自由度化係数βの相互干渉を除去できる補償演算手段を設けたことにより、（１）積分動作の２自由度化が非常に簡単になり、かつ、分かり易い形に実現できる。（２）積分動作の２自由度化において比例ゲイン２自由度化係数αの関与を排除でき、調整が簡単になる。（３）さらに、積分動作の２自由度化係数βの関与を分母のみとし、シンプルで２自由度化係数βの調整時に直感的に把握可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０７−０７２９０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来、遠心力・重力・クーロン摩擦などの外乱が顕著な場合には、入出力信号から状態変数を推定するオブザーバ（観測器）を用いてロバスト（堅牢）制御を行っていたものの、満足できるものではなかった。
このような従来のロバスト制御では、定常特性に関するパラメータであるゲインが固定であったため、突発的外乱の影響に対応できず、不具合発生が問題となっていたためであった。これは、従来技術１でも同等であった。
一方、産業用ロボットの組立作業は、部品の組付け時に部品同士の接触を伴うため、位置制御では対応できず、力制御が必要になっていた。
しかしながら、力制御のパラメータ調整が難しいため、位置制御と力制御の制御の切り換えがスムーズにできなかった。
このため、インテリジェント（知能化）制御を行いつつ、実用的に位置制御と力制御の制御の切り換えを行う装置が強く望まれていた。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、上述の課題を解消することを課題とする。
【課題を解決するための手段】
【０００８】
本発明の組み込み知能コントローラは、制御対象に対して、位置指令により位置制御を行い、力指令により力制御を行う組み込み知能コントローラにおいて、前記位置制御を行う位置制御系のファジィ・ニューラルネットワークと、前記力制御を行う力制御系のファジィ・ニューラルネットワークと、前記制御対象の力センサの値により前記力制御系の出力を変化させ、位置と力のハイブリッド／コンプライアンス制御により前記位置制御と力制御とを連続的に切り換える切換部とを備えることを特徴とする。
本発明の組み込み知能コントローラは、前記位置制御系において、前記制御対象の変位、速度、加速度のパラメータをニューラルネットワークにより学習させ、前記制御対象の特性の逆特性を取得するフィードフォワード手段を備え、前記力制御系において、前記制御対象の力、粘性、剛性のパラメータをニューラルネットワークにより学習させ、前記制御対象の特性の逆特性を取得するフィードフォワード手段を備えることを特徴とする。
本発明の組み込み知能コントローラは、前記位置制御系のファジィ・ニューラルネットワーク及び前記力制御系のファジィ・ニューラルネットワークは、それぞれ、非線形誤差を減少させる補償器である複数のフィードバック手段を備え、該フィードバック手段は、前記制御対象の非線形動特性のＰＤ（比例、微分）補償を行うファジィＰＤ手段と、前記制御対象の非線形動特性のＰＩ（比例、積分）補償を行うファジィＰＩ手段とを並列に備えることを特徴とする。
本発明の組み込み知能コントローラは、前記位置制御系のファジィ・ニューラルネットワークの前記フィードバック手段及び前記力制御系のファジィ・ニューラルネットワークの前記フィードバック手段は、ファジィ分割された空間において位置及び力誤差に応じた可変フィードバックゲインを設定することを特徴とする。
本発明の組み込み知能コントローラは、前記位置制御系のファジィ・ニューラルネットワーク及び前記力制御系のファジィ・ニューラルネットワークは、所定のサンプリング時間で実時間処理を行うことを特徴とする。
本発明の組み込み知能コントローラは、前記位置制御系のファジィ・ニューラルネットワーク及び前記力制御系のファジィ・ニューラルネットワークは、ソフトウェアＰＷＭ制御を行うことを特徴とする。
本発明の制御システムは、前記組み込み知能コントローラを含むことを特徴とする。
本発明の制御システムは、前記組み込み知能コントローラと、前記制御対象として力センサを備えたロボットとを備えることを特徴とする。
本発明の制御プログラムは、制御対象に対して、位置指令により位置制御を行い、力指令により力制御を行う組み込み知能コントローラの制御プログラムにおいて、前記組み込み知能コントローラに、位置制御系のファジィ・ニューラルネットワークにより、前記位置制御を行わせ、力制御系のファジィ・ニューラルネットワークにより、前記力制御を行わせ、前記制御対象の力センサの値により前記力制御系の出力を変化させ、位置と力のハイブリッド／コンプライアンス制御により前記位置制御と力制御とを連続的に切り換えさせることを特徴とする。
本発明の記録媒体は、制御対象に対して、位置指令により位置制御を行い、力指令により力制御を行う組み込み知能コントローラの制御プログラムが記録された記録媒体において、前記組み込み知能コントローラに、位置制御系のファジィ・ニューラルネットワークにより、前記位置制御を行わせ、力制御系のファジィ・ニューラルネットワークにより、前記力制御を行わせ、前記制御対象の力センサの値により前記力制御系の出力を変化させ、位置と力のハイブリッド／コンプライアンス制御により前記位置制御と力制御とを連続的に切り換えさせるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
本発明の制御方法は、制御対象に対して、位置指令により位置制御を行い、力指令により力制御を行う組み込み知能コントローラの制御方法において、前記組み込み知能コントローラに、位置制御系のファジィ・ニューラルネットワークにより、前記位置制御を行わせ、力制御系のファジィ・ニューラルネットワークにより、前記力制御を行わせ、前記制御対象の力センサの値により前記力制御系の出力を変化させ、位置と力のハイブリッド／コンプライアンス制御により前記位置制御と力制御とを連続的に切り換えさせることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ファジィ・ニューラルネットワークを用いることで、実用的な非線形動作特性をもつインテリジェント・ロバスト制御を実現しつつ、位置制御と力制御の制御の切り換えをスムーズに行う組み込み知能コントローラを提供することができる。
【図面の簡単な説明】
【００１０】
【図１Ａ】本発明の第１の実施の形態に係る制御システムＸの一例の外観図である。
【図１Ｂ】本発明の第１の実施の形態に係る知能コントローラ部１のＩＣＳ部１０の外観図である。
【図２】本発明の第１の実施の形態に係る制御システムＸの制御構成を示すブロック図である。
【図３】本発明の第１の実施の形態に係るＩＣＳ部１０の制御構成を示すブロック図である。
【図４】本発明の第１の実施の形態に係る開発／学習処理に用いるＩＣＳ部１０の制御構成例を示すブロック図である。
【図５】本発明の第１の実施の形態に係る開発／学習処理のフローチャートである。
【図６】本発明の第１の実施の形態に係るモデル作成処理のフローチャートである。
【図７】本発明の第１の実施の形態に係るＦＦ−ＮＮ逆ダイナミックス処理に用いるＩＣＳ部１０の制御構成例を示すブロック図である。
【図８】本発明の第１の実施の形態に係るＦＦ−ＮＮ逆ダイナミックス処理のフローチャートである。
【図９Ａ】本発明の第１の実施の形態に係るＦＦ−ＮＮ部１２０のニューラルネットワークの構成例を示す概念図である。
【図９Ｂ】本発明の第１の実施の形態に係るＦＦ−ＮＮ部１２０のニューラルネットワークのブロックを示す概念図である。
【図１０】本発明の第１の実施の形態に係るＦＢ−ＦＮ学習処理に用いるＩＣＳ部１０の制御構成例を示すブロック図である。
【図１１】本発明の第１の実施の形態に係るＦＢ−ＦＮ学習処理のフローチャートである。
【図１２Ａ】本発明の第１の実施の形態に係るファジィ・ニューラルネットワークの構造を示す概念図である。
【図１２Ｂ】本発明の第１の実施の形態に係るファジィＰＤ部１３１とファジィＰＩ部１３２の全体構成を示す概念図である。
【図１３】本発明の第１の実施の形態に係るファジィＰＤ部１３１とファジィＰＩ部１３２の学習過程を示すブロック図である。
【図１４】本発明の第１の実施の形態に係る調整されたメンバーシップ関数の例を示す概念図である。
【図１５】本発明の第１の実施の形態に係るファジィＰＤ部１３１及びファジィＰＩ部１３２のファジィルールの設定方法を示す概念図である。
【図１６Ａ】本発明の第１の実施の形態に係るＦＢ−ＦＮ部１３０のファジィ・ニューラルネットワークゲインの計算方法を示す概念図である。
【図１６Ｂ】本発明の第１の実施の形態に係るＦＢ−ＦＮ部１３０のゲインマトリックスを示す概念図である。
【図１６Ｃ】本発明の第１の実施の形態に係るＦＢ−ＦＮ部１３０のファジィ・ニューラルネットワークによるゲインスケジューリングの概念を示すブロック図である。
【図１６Ｄ】本発明の第１の実施の形態に係るファジィＰＤ部１３１のファジィＰＤゲインマトリックスを示す画面例である。
【図１６Ｅ】本発明の第１の実施の形態に係るファジィＰＤ部１３１のファジィＰＤ制御面を示す画面例である。
【図１７】本発明の第１の実施の形態に係るＦＢ−ＦＮ部１３０のロバスト安定性について説明するための概念図である。
【図１８】本発明の第１の実施の形態に係るソフトウェアサーボ制御処理のＰＷＭ制御の概念図である。
【図１９Ａ】本発明の第１の実施の形態の実施例１に係る従来のＰＩＤ制御のモデル図である。
【図１９Ｂ】本発明の第１の実施の形態の実施例１に係るＮＮ−ＰＩＤ制御のみの場合のモデル図である。
【図１９Ｃ】本発明の第１の実施の形態の実施例１に係るファジィ・ニューラルネットワーク制御のモデル図である。
【図２０Ａ】本発明の第１の実施の形態の実施例１に係るＰＷＭ部１５０のモデル図である。
【図２０Ｂ】本発明の第１の実施の形態の実施例１に係るＰＷＭ部１５０のＳＥＩＨＵＫＩＲＩＫＡＥブロックのモデル図である。
【図２０Ｃ】本発明の第１の実施の形態の実施例１に係るＰＷＭ部１５０のＳＥＩＨＵＫＩＲＩＫＡＥブロックのＰＷＭ１８−２０ブロックのモデル図である。
【図２０Ｄ】本発明の第１の実施の形態の実施例１１に係る出力部１７０のモデル図である。
【図２０Ｅ】本発明の第１の実施の形態の実施例１に係る入力部１８０のモデル図である。
【図２０Ｆ】本発明の第１の実施の形態の実施例１に係るカウンタ部１６０のモデル図である。
【図２０Ｇ】本発明の第１の実施の形態の実施例１に係るカウンタ部１６０のＣＯＵＮＴＥＲブロックのモデル図である。
【図２０Ｈ】本発明の第１の実施の形態の実施例１に係るカウンタ部１６０のＣＯＵＮＴＥＲブロックのＴｒｉｇｇｅｒｅｄ  Ｓｕｂｓｙｓｔｅｍのモデル図である。
【図２１Ａ】本発明の第１の実施の形態に係る従来のＰＩＤ制御のモデルを用いて制御の実験結果を示すグラフである。
【図２１Ｂ】本発明の第１の実施の形態の実施例１に係るファジィ・ニューラルネットワーク制御の実験結果を示すグラフである。
【図２２】本発明の第２の実施の形態に係る制御システムＹの制御構成を示すブロック図である。
【図２３】本発明の第２の実施の形態に係るＩＣＳ部５０の制御構成を示すブロック図である。
【図２４】本発明の第２の実施の形態に係るＦＦ−ＮＮ逆ダイナミックス処理に用いるＩＣＳ部５０の制御構成例を示すブロック図である。
【図２５】本発明の第２の実施の形態に係るＦＦ−ＮＮ逆ダイナミックス処理のフローチャートである。
【図２６】本発明の第２の実施の形態に係る組み立て処理の概念図である。
【図２７】本発明の第２の実施の形態に係る組み立て処理のフローチャートである。
【図２８Ａ】本発明の第２の実施の形態の実施例２に係る制御対象７の外観を示す写真である。
【図２８Ｂ】本発明の第２の実施の形態の実施例２に係る制御対象７の制御構成を示すブロック図である。
【図２９Ａ】本発明の第２の実施の形態の実施例２に係るスポンジでの実験結果を示すグラフである。
【図２９Ｂ】本発明の第２の実施の形態の実施例２に係る積み木での実験結果を示すグラフである。
【図２９Ｃ】本発明の第２の実施の形態の実施例２に係るぬいぐるみでの実験結果を示すグラフである。
【図３０】本発明の第２の実施の形態の実施例２に係る各物体での実験結果を示す図である。
【発明を実施するための形態】
【００１１】
＜第１の実施の形態＞
〔本発明の第１の実施の形態に係る制御システムＸの構成〕
まず、図１Ａ〜図２を参照して、本発明の第１の実施の形態に係る制御システムＸの制御構成について説明する。
図１Ａは、制御システムＸを開発する際に用いる構成の一例の外観図である。本実施形態の制御システムＸは、知能コントローラ部１が、テーブル移動装置である制御対象２と、図示しない制御装置３とに接続されている。
知能コントローラ部１は、インテリジェント・ロバスト制御に用いるＩＣＳ部１０（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ  Ｍｏｄｕｌｅ、組み込み知能コントローラ）を備えている制御部位である。図１Ａの例では、知能コントローラ部１として、組み込みモジュールを接続できる開発用の組み込み型コンピュータを用いる例を示す。
また、制御対象２は、外乱の影響を受け、ロバスト制御が必要になる具体的な制御対象部位である。図１Ａの例では、開発とシミュレーションに用いるテーブル移動装置を用いた例を示す。このテーブル移動装置は、モータドライバーやカウンタ等であるモータ駆動ドライバ２０を備えている。モータ駆動ドライバ２０は、駆動用のモータ２３０により、テーブル２１０を移動させ、その制御の応答を入力する。
図１Ｂは、ＩＣＳ部１０の外観図である。ＩＣＳ部１０は、組み込みコンピュータを用いたインテリジェント・ロバスト型組み込み知能コントローラであり、後述する学習後に、実際の制御対象の機器に装着してインテリジェント・ロバスト制御を行う。
【００１２】
図２は、制御システムＸの具体的な構成を示す制御ブロック図である。
制御システムＸは、一例として、知能コントローラ部１と、制御対象２と、制御装置３とを含んでいる。
【００１３】
知能コントローラ部１は、製品の製造時には、ロボット、自動車、自転車、航空機、ヒートポンプ等の制御が必要な各種機器そのものに、ＩＣＳ部１０を組み込んで用いる。ここでは、開発時の構成例として、例えば、システム開発ツールであり、主に実際の製品に搭載する前の開発段階で使用する組み込み型コンピュータを用いる例について説明する。この開発用の組み込み型コンピュータとしては、たとえば、エー・アンド・デイ社製のＡＤ７０１１−ＥＶＡを用いることができる。また、知能コントローラ部１は、高速な制御手段を用いて、例えば、所定のサンプリング時間、例えば１ミリ秒〜数十ミリ秒程度にて、リアルタイム（実時間）処理を行うことができる。
制御対象２は、製品の製造時には、ロボット、自動車、自転車、航空機、ヒートポンプ等のモータやアクチュエータやヒータのように電磁的に駆動を調節する素子と、この素子の出力の状態を取得するセンサ等を含む。本実施形態では、一般的な外乱の起こる駆動系のシミュレーションを行う場合の構成として、駆動装置であるＤＣ（直流）モータ駆動のテーブル移動装置を用いた構成の例について説明する。
制御装置３は、一般的なＰＣ／ＡＴ互換機やＭＡＣ規格機のようなＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等を用いることができる。制御装置３は、Ｗｉｎｄｏｗｓ（登録商標）やＬｉｎｕｘ（登録商標）等のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を用いて、制御用のソフトウェアをインストールして実行することができる。以下では、制御装置３のＰＣに、制御用ソフトウェアとしてＭａｔｈＷｏｒｋｓ社製のＭＡＴＬＡＢ（登録商標）／Ｓｉｍｌｉｎｋ（登録商標）をインストールしてファジィ／ニューラルネットを構築した例について説明するが、これに限られない。また、以下では、制御装置３において、エイ・アンド・デイ社のＶＣＤｅｓｉｇｎｅｒ（商標）とＭｏｄｅｌＤｅｆ（商標）ソフトウェアを用いてモデル定義とモデル実行画面の作成を行う例についても説明するが、これに限られず、各種のソフトウェアを用いて実現することができる。
【００１４】
〈知能コントローラ部１の構成〉
より具体的に説明すると、知能コントローラ部１は、例えば、ＩＣＳ部１０、制御部１１、補助記憶部１４、主記憶部１５、論理回路部１６、Ｉ／Ｆ部１７、及びコネクタ１８と１９を含んで構成される。
ＩＣＳ部１０は、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＮＯＲ／ＮＡＮＤフラッシュメモリやＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等を内蔵したｉＣＳ（ｉｎｔｅｌｌｉｇｅｎｔ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ）モジュールである。ＩＣＳ部１０は、制御装置３で作成された制御部１１のＣ言語等のプログラム（実行コード）であるバイナリファイル、各種モデルやパラメータに関する定義ファイルやデータ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）の論理回路データ、知能コントローラ部１のファームウェアやＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）等を記憶している記憶媒体（記録媒体）も備える。後述する開発／学習処理では、このプログラムやデータが制御部１１により読み出されて実行される。また、ＩＣＳ部１０は、図１Ａの外観図のように、それ自体が制御演算手段を備えたシングルボードコンピュータとして構成されていてもよい。
制御部１１は、ＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ、縮小命令セットコンピュータ）方式やＣＩＳＣ方式等の高速演算処理が可能なＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、中央演算装置）、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｐｒｏｃｅｓｓｏｒ、特定用途向けプロセッサー）等である演算・制御能力を備えた制御手段である。
補助記憶部１４は、主にＯＳ用の記憶媒体（記録媒体）として、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やコンパクトフラッシュ（登録商標）ディスクやＳＤメモリカードやｍｉｃｒｏＳＤメモリカード等のフラッシュメモリディスク、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、磁気テープ媒体、光ディスク媒体等を備えた補助記憶手段である。補助記憶部１４に記憶されたＯＳとしては、カーネルに組み込んで使用するリアルタイムモジュールであるＸｅｎｏｍａｉ拡張を用いたＬｉｎｕｘ（登録商標）や、ＩＴＲＯＮ等のリアルタイム処理が可能なＯＳを用いることが好適である。
主記憶部１５は、主に制御／演算用の記憶媒体（記録媒体）として、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＤＤＲ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ）、ＤＤＲ２、ＤＤＲ３、ＬＰＤＤＲ３、ＷｉｄｅＩＯ、ＸＤＲ（ｅｘｔｒｅｍｅ  ｄａｔａ  ｒａｔｅ）等の主記憶用に使われる高速な記憶手段を含んで構成される主記憶手段である。主記憶部１５は、ＩＣＳ部１０の各プログラムやデータ、制御対象２から取得したセンサのデータ等を記憶する。
論理回路部１６は、ＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）やＦＰＧＡ等の論理回路及び各種アナログ回路等である。論理回路部１６は、制御対象２とのインターフェイスの回路やＡ／Ｄ（ａｎａｌｏｇ−ｔｏ−ｄｉｇｉｔａｌ）コンバータやＤ／Ａ（ｄｉｇｉｔａｌ−ｔｏ−ａｎａｌｏｇ）コンバータ等も含んで構成される。
Ｉ／Ｆ部１７は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、無線ＵＳＢ、シリアル、パラレル、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のインターフェイスである。Ｉ／Ｆ部１７は、主に制御装置３からプログラムやバイナリファイルやデータ等を転送し、制御結果等のデータを制御装置３に転送するために用いる。
コネクタ１８は、主に制御装置３に接続するためのコネクタ等である。コネクタ１８は、例えば、制御装置３と、ＬＡＮクロスケーブルで接続できる。また、コネクタ１８には、タッチパネルディスプレイ等の表示部／入力部やスピーカやマイクロフォン等を別途接続してもよい。
コネクタ１９は、主に制御対象２に接続するためのコネクタであり、別途駆動用のアンプやセンサ等と接続してもよい。
【００１５】
〈制御対象２の構成〉
また、制御対象２は、モータ駆動ドライバ２０と、テーブル部２１とを含んでいる。
モータ駆動ドライバ２０は、一般的なＤＣモータを駆動するためのドライバＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）を用いることができる。このドライバＩＣは、知能コントローラ部１からの制御信号によりテーブル部２１のモータ２３０を駆動する。また、モータ駆動ドライバ２０は、エンコーダ２２０からの出力を取得して、知能コントローラ部１に送信する。
テーブル部２１は、ＤＣモータによって駆動する移動テーブルの例である。テーブル部２１は、移動テーブル（ステージ）であるテーブル２１０と、テーブル２１０を駆動するＤＣモータ等のモータ２３０と、テーブル２１０の位置等を検知するエンコーダ２２０とを含んで構成される。
【００１６】
（ＩＣＳ部１０の構成）
次に、図３を参照して、ＩＣＳ部１０の詳細な制御構成について説明する。
ＩＣＳ部１０は、主にＰＩＤ部１１０、ＦＦ−ＮＮ部１２０（フィードフォワード手段）、ＦＢ−ＦＮ部１３０（フィードバック手段）、差分部１４０、ＰＷＭ部１５０、カウンタ部１６０、出力部１７０、入力部１８０、制御信号発生部１９０、外乱シミュレート部１９５を含んで構成される。ＩＣＳ部１０は、これらの構成部位を組み合わせて、各処理における各種演算を行う。
【００１７】
ＰＩＤ部１１０は、古典的なＰＩＤ制御を行うためのモデルのプログラムとデータを含む部位である。
このＰＩＤ部１１０は、フィードバック制御におけるＰＤ（比例、微分）補償を行うためのＰＤ補償器部１１１を備えている。ＰＤ補償器部１１１は、制御対象２の特性を把握するために用いる。
【００１８】
ＦＦ−ＮＮ部１２０は、ＦＦ−ＮＮ（Ｆｅｅｄｆｏｒｗａｒｄ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）補償器のモデルのプログラムとデータを含む部位である。ＦＦ−ＮＮ部１２０は、制御対象の位相遅れを改善するために、ニューラルネットワークによりサーボ系逆ダイナミックス特性を学習して用いる。
この学習について、ＦＦ−ＮＮ部１２０は、オフラインでＰＤ補償器部１１１のＰＤ制御系の逆ダイナミックス特性をＢＰ（Ｂａｃｋｐｒｏｐａｇａｔｉｏｎ、誤差逆伝播）法により学習する。
ＦＦ−ＮＮ部１２０としては、例えば、例えば、図９Ａで示すような、３層、３入力、４中間ユニット、１出力のニューラルネットワークを用いることができる。ここで、入力層（Ｉｎｐｕｔ  Ｌａｙｅｒ）には、変位ｒ、速度ｓ（ｄｒ／ｄｔ）、加速度ｓ2（ｄ2ｒ／ｄｔ2）をそれぞれ入力する。また、ＦＦ−ＮＮ部１２０のニューラルネットワークの出力値は操作量ＵNNである。
このＦＦ−ＮＮ部１２０の学習方法の詳細については後述する。
【００１９】
ＦＢ−ＦＮ部１３０は、ＦＢ−ＦＮ（Ｆｕｚｚｙ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ  Ｂａｓｅｄ  Ｆｅｅｄｆｏｒｗｏｒｄ  Ｎｏｎｌｉｎｅａｒ  ｅｒｒｏｒ、ファジィ・ニューラルネットワークによる非線形偏差補償）補償器のモデルのプログラムとデータを含む部位である。
ＦＢ−ＦＮ部１３０は、制御対象２の非線形動特性の補償のために、ファジィ・ニューラルネットワークベースにより、目標信号ｒ（ｔ）と出力信号ｙ（ｔ）との偏差信号ｅ（ｔ）＝ｒ（ｔ）−ｙ（ｔ）の二乗が最小となるようにオフラインで学習する。これらの学習後に、制御システムＸを始めとする機器に組み込んで制御に使用することができる。このＦＢ−ＦＮ部１３０は、ゲインスケジューリングにより出力の補償を行う。
【００２０】
また、ＦＢ−ＦＮ部１３０は、ファジィＰＤ部１３１（ファジィＰＤ手段）とファジィＰＩ部１３２（ファジィＰＩ手段）を主に備えている。
ファジィＰＤ部１３１は、ファジィ・ニューラルネットワークを用いて、ＰＤ補償を行う部位である。また、ファジィＰＩ部１３２は、ファジィＰＩ部１３１と同様のファジィ・ニューラルネットワークを用いて、ＰＩ（比例、積分）補償を行う部位である。
ファジィＰＤ部１３１及びファジィＰＩ部１３２は、それぞれ、例えば、図１２Ａで示すような、２入力４層１出力のファジィ・ニューラルネットワークを用いることができる。ファジィＰＤ部１３１及びファジィＰＩ部１３２とも、入力層には、それぞれ、位置誤差となる変位誤差信号ｅpと、速度誤差となる変位時間微分の速度誤差信号ｅvを入力信号として入力する。この上で、ファジィＰＤ部１３１は、ＰＩＤ部１１０のＰＤ補償の操作量ＵPDの２乗を評価関数として、ＢＰ法で結合加重を修正する。また、ファジィＰＩ部１３２は、ＰＩＤ部１１０のＰＩ補償の操作量ＵPIの２乗を評価関数として、ＢＰ法で結合加重を修正する。ファジィＰＤ部１３１は、それぞれの入力の総和を操作量ＵFN-PDとして出力する。また、ファジィＰＩ部１３２は、操作量ＵFN-PIを出力する。
このファジィＰＤ部１３１及びファジィＰＩ部１３２のファジィ・ニューラルネットワークの学習方法の詳細については後述する。
【００２１】
差分部１４０は、従来の古典ＰＤ補償器であるＰＤ補償器部１１１の操作信号（指令信号）の変位ｒ、速度ｓ（ｄｒ／ｄｔ）、加速度ｓ2（ｄ2ｒ／ｄｔ2）を算出するプログラムとデータを含む部位である。差分部１４０は、速度ｓを算出する速度算出部１４１と、加速度ｓ2を算出する加速度算出部１４２を含んでいる。また、差分部１４０は、変位誤差信号ｅpと、速度誤差信号ｅvを算出することもできる。
ＰＷＭ部１５０は、ＤＣモータ駆動用のソフトウェアＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ、パルス幅変調）モジュールのプログラムとデータを含む部位である。このＰＷＭ部１５０の出力信号により、モータ駆動ドライバ２０に接続されたモータ２３０をＰＷＭ制御することができる。
カウンタ部１６０は、エンコーダのカウンタのためのモジュールのプログラムとデータを含む部位である。このカウンタ部１６０により算出された値を用いて、差分部１４０が変位ｒ、速度ｓ、加速度ｓ2、変位誤差信号ｅpと、速度誤差信号ｅvを求めることができる。
出力部１７０は、ＰＷＭ部１５０からの出力をモータ駆動ドライバ２０に伝えるための切り換え等を行う部位である。
入力部１８０は、モータ駆動ドライバ２０を介して入力したエンコーダ２２０の信号等である制御対象２からの信号を入力し、カウンタ部１６０に送信する部位である。
制御信号発生部１９０は、図示しない外部機器からの指示信号を取得し、制御対象２を制御するための制御信号を出力するモジュールのプログラムとデータを含む部位である。制御信号発生部１９０は、制御のシミュレーション用に、例えばサイン波等の信号を出力することもできる。
外乱シミュレート部１９５は、外乱となる摩擦やガタ等による信号をシミュレートするための信号発生器等の部位である。外乱シミュレート部１９５は、所定出力のランダム信号等を出力可能である。
【００２２】
〔制御システムＸのＩＣＳ部１０の開発／学習処理〕
次に、図４と図５を参照して、制御システムＸにおいて、ＩＣＳ部１０を学習させ、制御対象２の制御に最適化するための開発／学習処理について説明する。
図４は、この制御処理における主な構成部位と信号の流れを示すブロック図である。
本発明の第１の実施の形態に係る制御システムＸは、従来の制御システムの問題の解決のため、ファジィ・ニューラルネットワーク（ＦＮＮ）ベースの制御を行う。ここで、ファジィとは複雑なシステムをヒトのように「暖昧」にとらえることができｉｆ−ｔｈｅｎ型のファジィルールにより言語的に記述できるという特徴を持つ。一方、ニューラルネットワークの特徴は学習により入出力の関係を同定できることである。
本発明の第１の実施の形態に係る制御処理においては、制御装置３により、主に、図４のＩＣＳ部１０のＦＦ−ＮＮ部１２０、ＦＢ−ＦＮ部１３０、及び差分部１４０のモデルを作成して開発を行う。この上で、各部位のプログラム等を知能コントローラ部１の制御部１００が実行して、制御対象２のフィードバック制御のための学習をさせ、実際の制御システムを構成する。この制御システムは、例えば、ソフトウェアサーボのＰＷＭ制御により制御対象２を駆動することができる。
【００２３】
より具体的には、本発明の第１の実施の形態に係るファジィ・ニューラルネットワークを用いたロバスト・ゲインスケジューリング制御系は、ニューラルネットワークによりサーボ系逆ダイナミックス特性を学習しているフィードフォワード補償を行うＦＦ−ＮＮ部１２０、及びファジィ・ニューラルネットワークによるゲインスケジューリングを行うＦＢ−ＦＮ部１３０の２つの補償要素から構成される。この制御系は、目標値応答特性と閉ループ特性が独立設計できる２自由度制御系とし、目標入力に対する追従および、外乱の影響の除去を実現することができる。モデル化誤差及び断続する外乱等による定常偏差の減少、メカトロ位置改善のために、ＦＦ−ＮＮ部１２０ではオフラインで従来の固定ＰＤ制御系の逆ダイナミックス特性を学習する。つぎに、非線形動特性の補償のために、ＦＢ−ＦＮ部１３０は、目標信号ｒ（ｔ）と出力信号ｙ（ｔ）との偏差信号ｅ（ｔ）＝ｒ（ｔ）−ｙ（ｔ）の二乗が最小となるようにオフラインやオンラインで学習する。これらの学習後に提案する制御システムが構成される。
以下で、図５のフローチャートを参照して、この開発／学習処理の詳細について説明する。
【００２４】
（ステップＳ１０１）
まず、制御装置３により、ＩＣＳ部１０の各部に対応するモデルをＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋ、Ｍｏｄｅｌ  Ｄｅｆ、ＶＣＤｅｓｉｇｎｅｒ等のソフトウェアを用いて作成する。
制御装置３は、この作成したモデルをコンパイル等してプログラムのバイナリファイルに変換し、ＩＣＳ部１０に転送する。このバイナリファイルは、実際にバイナリファイルを実行する定義ファイルや各種データと共にＩＣＳ部１０の補助記憶手段に記憶される。
ＩＣＳ部１０に記憶されたプログラム等は、知能コントローラ部１の制御部１１が単独で実行して、下記の学習処理等を行うことができる。
【００２５】
（ステップＳ１０２）
次に、知能コントローラ部１の制御部１１は、ＦＦ−ＮＮ部１２０を用いて、ＦＦ−ＮＮ逆ダイナミックス処理を行う。
この処理においては、制御対象２の非線形特性に対する逆ダイナミックスを獲得し、システム特性を線形化するための学習を行う。
ここで、制御対象の位相遅れを改善するために、ＦＦ−ＮＮ部１２０は、オフラインでＰＤ補償器部１１１（図３）のＰＤ制御系の逆ダイナミックス特性をＢＰ法により学習する。
ＦＦ−ＮＮ部１２０による制御では、位相の遅れに対しての改善が期待できる。
【００２６】
（ステップＳ１０３）
次に、知能コントローラ部１の制御部１１は、ＦＢ−ＦＮ部１３０を用いてＦＢ−ＦＮ学習処理を行う。
ここで、上述のＦＦ−ＮＮ部１２０の制御だけでは、制御対象２のモータ２３０の軌道等の目標になる信号（目標軌道信号）に対し、非線形誤差が発生する。これは入力補償としてＮＮが制御対象の非線形特性の一部のみの補償に限定されるためである。
このため、本ステップにおいて、ＦＢ−ＦＮ部１３０を用いた非線形動特性の補償のための学習を行う。
ＦＢ−ＦＮ部１３０は、上述したように、差分部１４０から取得した目標信号ｒ（ｔ）と出力信号ｙ（ｔ）との偏差信号ｅ（ｔ）＝ｒ（ｔ）−ｙ（ｔ）の二乗が最小となるように学習する。この学習は、制御中であるオンライン状態又は制御後のデータを用いたオフライン状態で実行可能である。
これらの学習後に制御システムＸが構成される。
【００２７】
このように、ＦＦ−ＮＮ部１２０とＦＢ−ＦＮ部１３０とを用いて学習することで、制御における追従性の向上及び誤差低減を達成することができる。
よって、様々な制御系に対応する汎化能力をもたせることができ、知能化制御を実現することができる。
【００２８】
（ステップＳ１０４）
また、知能コントローラ部１の制御部１１は、ＰＷＭ部１５０を用いて、ソフトウェアサーボ制御処理を行うことができる。
具体的には、上述の各学習時、及び学習後に構成された制御システムＸにおいて、知能コントローラ部１の制御部１１は、ソフトウェアサーボの処理を行い、実際の制御対象２を制御することが可能である。
以上により、開発／学習処理を終了する。
【００２９】
〈モデル作成処理の詳細〉
ここで、図６のフローチャートを参照して、モデルの作成と知能コントローラ部１のＩＣＳ部１０への転送をするモデル作成処理の詳細について説明する。
【００３０】
（ステップＳ１１１）
まず、制御装置３は、ユーザの指示を検知し、モデル作成処理を行う。具体的には、ＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋソフトウェアにより制御システムブロック図を作成する。
より具体的に説明すると、ＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋは、制御系設計支援ソフトウェアである。ここで、ＭＡＴＬＡＢは、ＭＡＴｒｉｘ  ＬＡＢｏｒａｔｏｒｙを略したものであり、行列・ベクトル演算に基づく数値解析ソフトウェアである。ＭＡＴＬＡＢは、インタプリタ（対話）形式の高級フログラミング言語であり、ＢＡＳＩＣ言語に類似したＭＡＴＬＡＢ言語で記載された「Ｍファイル」が用いられる。ＭＡＴＬＡＢは、制御ツールボックス、通信ツールボックスを始めとして、豊富なツールボックスを備えておりユーザが解析に利用できる。また、ブロック線図入力により制御系のシミュレータを構築できるＳｉｍｕｌｉｎｋが準備されている。ＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋにより設計されたコントローラを組み込みＣＰＵにより実装するためのＲｅａｌＴｉｍｅ  Ｗｏｒｋｓｈｏｐも製品化されているため、本実施形態で好適に利用できる。
Ｓｉｍｕｌｉｎｋはアナログ計算機の機能をデジタル環境で実行させるソフトウェアであり、微分方程式の解析に便利なツールである。
【００３１】
また、知能制御用ソフトウェアとして、Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ  Ｔｏｏｌｂｏｘ、Ｆｕｚｚｙ  Ｌｏｇｉｃ  Ｔｏｏｌｂｏｘを適宜ＭＡＴＬＡＢ／ＳＩＭＵＬＩＮＫと合わせて用いることができる。
Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ  Ｔｏｏｌｂｏｘは、非線形システムに対し、パターン認識や同定、制御等で利用できるようなニューラルネットワークシステムの設計やシミュレーションに必要なＭファイル群である。Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ  Ｔｏｏｌｂｏｘは、初期化、伝達関数、教師付ネットワーク／学習ルール、パーセプトロン、バックプロパゲーション（ＢＰ）、Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔバックプロパゲーション、Ｒａｄｉａｌ  ｂａｓｉｓネットワーク、リカレントネットワーク（Ｅｌｍａｎ，Ｈｏｐｆｉｅｌｄ）等に対応している。
Ｆｕｚｚｙ  Ｌｏｇｉｃ  Ｔｏｏｌｂｏｘは、ファジィ推論システムの作成、編集ができるプログラムである。Ｆｕｚｚｙ  Ｌｏｇｉｃ  Ｔｏｏｌｂｏｘは、ファジィ推論システムをグラフイカルツールまたはコマンド関数を使って簡単に作ることができる。ＳＩＭＵＬＩＮＫを併用すれば、ブロック線図シミュレーション環境の中でファジィシステムをテストすることができる。また、Ｆｕｚｚｙ  Ｌｏｇｉｃ  Ｔｏｏｌｂｏｘは、Ｒｅａｌ−Ｔｉｍｅ  Ｗｏｒｋｓｈｏｐを使用できる環境ならば、ＳＩＭＵＬＩＮＫの環境からリアルタイムまたはノンリアルタイムコードのいずれかを生成できる。
【００３２】
作成されたモデルは、例えば、後述する実施例１で示す図１９Ａ〜図２０Ｃのようなものとなる。
【００３３】
（ステップＳ１１２）
次に、制御装置３は、ユーザの指示を検知し、Ｃコード作成／コンパイル処理を行う。
この処理においては、ＭＡＴＬＡＢのＲｅａｌ−Ｔｉｍｅ  Ｗｏｒｋｓｈｏｐによって作成したモデルから、例えばＣ言語で記載されたＣコードやオブジェクトコードや実行コードを自動生成させる。
【００３４】
（ステップＳ１１３）
次に、制御装置３は、ユーザの指示を検知し、モデル定義／ビルド処理を行う。
ここでは、ＭｏｄｅｌＤｅｆというソフトを使用し、モデルのパラメータや信号の定義を行う。
このモデル定義を行うことで、ＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋで作成したモデル上のパラメータや信号を実行時に使用可能にする定義ファイルを作成することができる。
【００３５】
（ステップＳ１１４）
次に、制御装置３は、ユーザの指示を検知し、ＶＣ（Ｖｉｒｔｕａｌ  Ｃｏｎｓｏｌｅ）画面作成処理を行う。
この処理においては、ＶＣＤｅｓｉｇｎｅｒソフトウェアを用いて画面作成を行う。具体的には、制御装置３のＰＣの表示装置と、知能コントローラ部１の表示部に表示されるユーザインタフェイスとなる「ＶＣ画面」を作成できる。
また、ＶＣＤｅｓｉｇｎｅｒでは、作成したモデルを実行するＶＣ画面の設計ができる。
これにより、作成したモデルを実行するときに、ユーザが扱いやすいような画面の設計を行うことができる。
【００３６】
（ステップＳ１１５）
次に、制御装置３は、ユーザの指示を検知し、実行コード転送処理を行う。
具体的に説明すると、制御装置３は、ＶＣＤｅｓｉｇｎｅｒにより、プログラムを実行できる。ユーザは、制御装置３のエミュレータ等で実行テストを行った後で、実行コードのバイナリファイルや定義ファイルや各種データ等（以下、プログラム等という。）を転送する。
なお、制御装置３は、ＶＣＤｅｓｉｇｎｅｒ起勤時に制御装置３と知能コントローラ部１とが接続状態になっていれば、生成された実行コード等を自動的に転送することもできる。
【００３７】
（ステップＳ１１６）
次に、知能コントローラ部１は、実行コード取得／実行処理を行う。
ここでは、知能コントローラ部１の制御部１１が、上述の制御装置３から取得したプログラム等をＩＣＳ部１０の補助記憶手段に記憶する。
この実行コードを取得後に、実行コード等を知能コントローラ部１側単体で実行が可能となる。
【００３８】
作成したプログラム等を実行するときも、ＶＣＤｅｓｉｇｎｅｒを用いることができる。
具体的には、ユーザは、制御装置３と知能コントローラ部１が接続状態で、画面作成が終わったら、ＶＣＤｅｓｉｇｎｅｒの実行ボタンを押下する。この実行ボタンを押下により、設計した画面が制御装置３と知能コントローラ部１の表示部上に描画され、実行可能となる。
なお、この実行においては、ステップ実行や、制御対象２からのデータの取得等を行うこともできる。知能コントローラ部１は、逐次、制御装置３に取得したデータ等を送信することもできる。また、所定時間後に、取得したデータを送信することもできる。
【００３９】
（ステップＳ１１７）
次に、制御装置３は、制御結果取得分析処理を行う。
具体的には、制御装置３は、取得したデータやモデルの状態等を、ＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋ、ＶＣＤｅｓｉｇｎｅｒ、又は解析用のソフトウェアで確認することができる。これにより、モデルの動作を確認し、下記で説明する学習処理を行うことが可能になる。
なお、ＶＣＤｅｓｉｇｎｅｒを用いて実行している際には、ユーザは、知能コントローラ部１の画面のボタンでは指示ができず、制御装置３のユーザインタフェイスの画面で指示を行う。制御装置３で実行テストを行ったあとで、知能コントローラ部１単体で実行が可能となる。
以上により、モデル作成処理を終了する。
【００４０】
〈ＦＦ−ＮＮ逆ダイナミックス処理の詳細〉
次に、図７〜図９Ｂを参照して、ＦＦ−ＮＮ逆ダイナミックス処理の詳細について説明する。この処理では、古典的なＰＤ制御の結果の信号を用いて、フィードフォワードによる、ＦＦ−ＮＮ部１２０の学習を行う。
図７は、このＦＦ−ＮＮ逆ダイナミックス処理に用いるＩＣＳ部１０の各部と制御対象との関係を示すブロック図である。このように、制御対象の動特性を改善するため、ニューラルネットワークであるＦＦ−ＮＮ部１２０を用いる。ＦＦ−ＮＮ部１２０のニューラルネットワークは、サーボ系である制御対象２の逆ダイナミックスをオンライン又はオフラインで学習し、それをフィードフォワード補償器として利用する。
以下で、図８のフローチャートを基に、このＦＦ−ＮＮ逆ダイナミックス処理の詳細をステップ毎に説明する。
【００４１】
（ステップＳ２０１）
まず、知能コントローラ部１の制御部１１は、ＩＣＳ部１０のＰＤ補償器部１１１等を用いて、ＦＦ−ＮＮ用意処理を行う。
ここでは、図７のブロック図に示したように、従来の古典ＰＤ補償器であるＰＤ補償器部１１１により、制御対象２の特性を把握する試験を行い、指令信号の変位（ｙ）、速度（ｄｙ／ｄｘ）、加速度（ｄ2ｙ／ｄｔ2）の各信号を取得する。この取得においては、差分部１４０の速度算出部１４１により速度を、加速度算出部１４２により加速度を算出する。また、この試験は、摩擦、ガタ等の非線形特性が、この動作により含まれることが重要点である。
また、このＰＤ制御の際のＰＤゲインは制御対象２が移動可能な小さい値とする。
なお、速度、加速度信号は、変位信号収得後、オフラインにて差分部１４０が数値演算処理により算出してもよい。
【００４２】
（ステップＳ２０２）
次に、制御部１１は、ＦＦ−ＮＮ部１２０を用いてＦＦ−ＮＮ学習処理を行う。
ここで、まず、位置と速度フィードバック則を適用したプラントの動特性は非線形特性を2次系として近似し線形化すると、以下の式（１）にて表現できる。
【００４３】
【数１】
2014006566.tif 000003
【００４４】
ここで、ｕ（ｔ）は入力、ｙ（ｔ）は位置、ｋp，ｋvは、それぞれ、位置と速度のフィードバックゲインである。ただしｋvについては、サーボモータの逆起電力定数ｋeが含まれているものとする。サーボ系の逆ダイナミックスは、ｒ（ｔ）を目標軌道とすると、上述の式（１）をｙ（ｔ）＝ｒ（ｔ）として逆に解くことにより、以下の式（２）となる。
【００４５】
【数２】
2014006566.tif 000004
【００４６】
つまり、変位ｒ（ｋ）、速度ｄｒ／ｄｔ（ｋ）、加速度ｄ2ｒ／ｄｔ2（ｋ）からｕ（ｔ）の関係をＦＦ−ＮＮ部１２０のニューラルネットワークに学習させる。したがって、ネットワークへの入力Ｉ（ｋ）を［３＊１］の列ベクトルとし、下記の式で表せる：
Ｉ（ｋ）＝［ｒ（ｋ），ｋp／ｋv・ｄｒ／ｄｔ（ｋ），Ｊ／ｋp・ｄ2ｒ／ｄｔ2（ｋ）］T
各ユニットの入出力関係は線形関数ｆ（ｘ）＝ｘを用いる。また、ネットワークの出力はプラントの入力の推定値φkとなる。
中間層の出力をψi（ｋ）とすると、ニューラルネットワークの出力は、次の式（３）のように表せる。
【００４７】
【数３】
2014006566.tif 000005
【００４８】
ただし、ｎは中間層のユニット数、ｍは入力層のユニット数である。
ニューラルネットワークの学習は、評価関数として、以下の式（４）を定義し、バックプロパゲーション（ＢＰ）法により行う。
【００４９】
【数４】
2014006566.tif 000006
【００５０】
すなわち、式（４）は、ＦＦ−ＮＮ部１２０のニューラルネットワークから計算されるプラント入力の推定値から、制御対象２であるプラントからの信号の入力を引いて２乗して１／２で割ることで求める。
【００５１】
〔ＦＦ−ＮＮ部１２０のニューラルネットワークの構成例〕
次に、図９Ａを参照して、ＦＦ−ＮＮ補償器であるＦＦ−ＮＮ部１２０のニューラルネットワークの構成例について説明する。ＦＦ−ＮＮ部１２０では、３層３入力４中間ユニット１出力のニューラルネットワークを用いた。
入力信号は変位ｒ、速度ｄｒ／ｄｔ、加速度ｄ2ｒ／ｄｔ2の信号である。これにより、プラントの動特性を２次系として近似し、線形化する。
具体的には、ＦＦ−ＮＮ部１２０入力として、ＮＮ学習処理で収得した変位、速度、加速度のデータを入力することができる。データは所定量、例えば１秒間に１００程度とする。この場合、サンプリング周波数は１０ｍｓｅｃである。
【００５２】
ＦＦ−ＮＮ部１２０のニューラルネットワークの学習に必要なソフトウェアとしては、以下に示すＭＡＴＬＡＢ用のニューラルネットワーク生成コマンドの例を入力して用いることができる。
【００５３】
P=[変位;
速度;
加速度];
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
【００５４】
ここで、Ｐ＝変位、速度、加速度、Ｔ＝教師信号である。
ただし、教師信号は操作信号ｙとし、特性把握に必要な時間（３周期程度）とする。
【００５５】
図９Ｂを参照して説明すると、ＭＡＴＬＡＢによりニューラルネットワークの学習が終了すると、ニューラルネットワーク（ＮＮ）のブロックが生成される。
このＮＮのブロックを制御ブロックとして、ＦＦ−ＮＮ部１２０に用いる。
以上により、ＦＦ−ＮＮ逆ダイナミックス処理を終了する。
【００５６】
〈ＦＢ−ＦＮ学習処理の詳細〉
次に、図１０〜図１７を参照して、ＦＢ−ＦＮ学習処理の詳細について説明する。
図１０は、ＦＢ−ＦＮ学習処理に対応するＩＣＳ部１０の各部の関係を示すブロック図である。
具体的には、ＦＢ−ＦＮ部１３０は、ファジィ・ニューラルネットワークにより、ファジィＰＤとファジィＰＩの制御を行う。
ファジィ・ニューラルネットワークは、ニューロの学習能力とファジィの推論能力とを相補的に組み合わせて、それぞれの長所を生かし短所を補うよう融合したものである。
本実施形態のＦＢ−ＦＮ部１３０は、非線形摩擦により変化および速度の制御誤差が生じた場合、制御ゲインを適応調整するファジィ・ニューラルネットワークによる非線形偏差補償特性により、制御誤差を減少させる特徴がある。
ここで、制御対象２の実際のモデルには、製品ごとに慣性モーメント等の値がバラツキ、２次モデルで表現できない非線形要素が存在する。すなわち、制御対象２の制御においては、目標軌道信号に対して制御対象の非線形摩擦誤差が発生する。
そこで、モデル化誤差、摩擦、未知な外乱等により生じる偏差信号を適応的に減少させる作用が働くように、ファジィＰＩＤコントローラであるＦＢ−ＦＮ部１３０によりフィードバック補償を行う。このため、ＦＢ−ＦＮ補償器であるＦＢ−ＦＮ部１３０を、取得したデータを用いて学習させ、非線形誤差信号を減少させる。
このようにＦＢ−ＦＮ部１３０を学習させることで、軌道誤差やモデル誤差による偏差を、ファジィＰＩＤによるフィードバックによって押さえられる。これにより、知能化とロバスト性を兼ね備える、インテリジェント・ロバスト制御システム（ＩＲＣＳ）を実現できる。
以下で、図１１のフローチャートを参照して、このＦＢ−ＦＮ学習処理の各ステップの詳細について説明する。
【００５７】
（ステップＳ３０１）
まず、知能コントローラ部１の制御部１１は、ＩＣＳ部１０のＦＢ−ＦＮ部１３０のファジィ・ニューラルネットワーク設定処理を行う。
ここで、図１２Ａ〜図１２Ｄを参照して、ファジィＰＤ部１３１とファジィＰＩ部１３２に共通に使われる、本発明の第１の実施の形態に係るファジィ・ニューラルネットワーク（ＦＮＮ）の構成について説明する。
ファジィ・ニューラルネットワークは、ＢＰ法による学習を可能としながら、階層型ニューラルネットワークの結合を工夫してファジィ推論ルールとの対応関係を持たせ、ニューラルネットワークの獲得した入出力関係に関するパターンの知識をファジィルールというシンボルの知識として把握することができる。また、ファジィ推論システムにおける問題点であるファジィルールの同定、メンバーシップ関数の調整の困難さを、ニューラルネットワークの学習機能により改善できる。
【００５８】
まず、Ｆｕｚｚｙ  Ｌｏｇｉｃ  Ｔｏｏｌｂｏｘによるファジィ・ニューラルネットワークの作成方法について説明する。
まずは、Ｆｕｚｚｙ  Ｌｏｇｉｃ  Ｔｏｏｌｂｏｘのメニューを呼び出す。メニューには：
１） メンバーシップ関数エディタ
２） ＦＩＳエディタ
３） ルールエディタ
４） ルールビューワ
５） サーフェスビューワ
が存在する。
ここで、本実施形態におけるファジィ・ニューラルネットワークを用いたファジィ推論システムにおいては、まずはＦＩＳエディタを選択してモデルを作成する。
その際に、
ａ） ｔｉｐｐｅｒと入力するとウィンドウが表示される。
ｂ） メンバーシップ関数エディタを使用し、メンバーシップ関数の名前、位置、型を設定する。
・Ｒａｎｇｅ  ［０  １０］
また、ガウス曲線を設定する。
Ｇａｕｓｓ２ｍｆ
２つのガウス曲線の組み合わせによるメンバーシップ関数の作成を行う。
たとえば、以下の式（５）を用いることができる。
【００５９】
【数５】
2014006566.tif 000007
【００６０】
このようにして、本実施形態に係るファジィ推論システムが作成できる。
【００６１】
〔ファジィ・ニューラルネットワークの構造、構成例〕
図１２Ａは、本発明の第１の実施の形態に係るファジィ・ニューラルネットワークの構造を示す。
この図１２Ａの例では、（Ａ）層の入力層は、変位誤差信号ｅpと変位時間微分の速度誤差信号ｅvを入力信号としており、この入力信号を次層のユニットに分配している。
次に、（Ｂ）層の中間層では、メンバーシップ関数を内部関数に持ちガウス関数を用いる。各ユニットの出力はメンバーシップ関数の値であり、前件部と呼ぶ。
（Ｃ）層はファジィルールで推論する後件部であり、（Ｂ）層で入力空間を９分割し、分割された空間の適合度をファジィルールの前件部適合度の式により計算し、（Ｃ）層の全ユニットで得られる前件部適合度の総和で規格した値μiを出力する。
（Ｄ）層は入力の総和を出力する線形ユニットである。
以上により、ファジィルール的構造を持つニューラルネットが構成でき、これをファジィ・ニューラルネットワークと称する。このファジィ・ニューラルネットワークはＢＰ法による学習を可能としながら、階層型ニューラルネットワークの結合を工夫して、ファジィ推論ルールとの対応関係を持たせることができる。
【００６２】
図１２Ｂは、本発明の第１の実施の形態に係るファジィＰＤ部１３１とファジィＰＩ部１３２の全体構成を示す概念図である。
このように、ファジィＰＤ部１３１とファジィＰＩ部１３２とをパラレルに組み合わせることにより、全体としてファジィＰＩＤを実現することができる。
【００６３】
（ステップＳ３０２）
次に、制御部１１は、ＩＣＳ部１０のＦＢ−ＦＮ部１３０のＦＮＮ学習処理を行う。
図１３は、ＦＢ−ＦＮ部１３０のファジィＰＤ部１３１とファジィＰＩ部１３２の学習過程を表わすブロック図である。
ファジィ・ニューラルネットワークの学習は、上述のＰＤ補償器部１１１によるＰＤ制御の特性把握試験のデータを基にして、変位誤差、速度誤差を入力とする。この上で、ＰＩＤの操作量を求めて、これを教師信号として、ＢＰ法と最小二乗法を組み合わせた方法でファジィＰＤ部１３１とファジィＰＩ部１３２の学習を行う。
ＦＢ−ＦＮ部１３０のニューラルネットワークでは、フィードバックゲインの学習を位置誤差の２乗：
Ｅp  ＝１／２ｅp2
が最小となるように行う。また、ｋij≧０（ｊ＝Ｉ，ｐ，ｖ）の条件を常に満たすように、ｋij＝Ｗijとする。
より具体的に説明すると、学習に利用する入力データは、サーボ系がスムーズに動作するようにゲイン調整した線形ＰＤ制御および線形ＰＩ制御の位置誤差ｅpとその変化分であるｅvとし、教師データは線形ＰＤ制御及び線形ＰＩ制御の出力信号Ｕとする。また、大きな誤差（ステップ）の学習については、方形波のステップ信号を入力データとし、教師データは上記同様の線形ＰＤ制御および線形ＰＩ制御の出力信号Ｕとする。
【００６４】
ここで、図１３を参照して、ファジィＰＤ部１３１のファジィＰＤ学習について説明する。
ファジィＰＤ部１３１のファジィＰＤ学習は、モデル化誤差、非線形摩擦を補償するための学習の根拠となる。すなわち、制御対象２の実際のモデルには、慣性モーメント等のバラツキ、２次モデルで表現できない非線形要素が存在するため、これを学習する。
これらのモデル化誤差、非線形摩擦の誤差を表わすと、以下の式になる：
ｅ  ＝  Ｔd ＋  ｆd（ｙ）
ここで、Ｔdは、未知の外乱としてモデル化誤差を含める。
ｆd（ｙ）はｓｇｎ（ｙ’）｛（Ｆｓ−Ｆｃ）ｅｘｐ（−｜ｙ’｜／ｅ）＋Ｆｃ｝とする。
ファジィＰＤ学習は、上述の式で示されるモデル化誤差及び非線形摩擦誤差の偏差出力信号をフィードバックＰＤ出力信号として獲得した教師信号により逆ダイナミックスとして学習する。
学習方法は非線形誤差学習方式としてｕPDの２乗であるＥ（ｕPD）＝ｌ／２ｕPD2を評価関数とし、ＢＰ法で結合荷重を修正する。
【００６５】
ここで、図１３を更に参照して、ファジィＰＩ部１３２のファジィＰＩ学習について説明する。
ファジィＰＩ部１３２のファジィＰＩ学習は、クーロン摩擦、未知外乱による定常偏差の学習の根拠となる。つまり、制御対象２では、クーロン摩擦により定常偏差が生じる。これは、加速度が０のときの位置偏差である。また、未知外乱による定常偏差も発生する。
これらの誤差を表わすと、以下の式になる：
ｅ  ＝  ｅFC  ＋  ｅTd
ここで、ｅFCはクーロン摩擦により発生する定常偏差ｅTdは未知外乱により発生する定常偏差である。ファジィＰＩ学習は、上記の式で示されるクーロン摩擦および未知外乱による定常偏差を、フィードバックＰＩ出力信号として獲得した教師信号により逆ダイナミックスとして学習する。
非線形誤差学習の方式としては、式としてｕPIの２乗であるＥ（ｕPI）＝１／２ｕPI 2を評価関数として、ＢＰ法で結合荷重を修正する。
【００６６】
（ステップＳ３０３）
次に、制御部１１は、ＩＣＳ部１０のＦＢ−ＦＮ部１３０のメンバーシップ関数設定処理を行う。
図１４を参照して、このメンバーシップ関数設定処理の説明をする。
上述したように、ファジィＰＤ部１３１、ファジィＰＩ部１３２における、ファジィ・ニューラルネットワークの前件部には、メンバーシップ関数を用いる。本実施の形態においては、このメンバーシップ関数に、ここではガウス関数を使用する。
上述のＦＮＮ学習処理による学習結果、メンバーシップ関数の形が決定されることにより、パラメータが自動調整される。
図１４及び図１２Ａの下部は、この調整されたメンバーシップ関数の例である。
【００６７】
（ステップＳ３０４）
次に、制御部１１は、ＩＣＳ部１０のＦＢ−ＦＮ部１３０に対して、ファジィルール設定処理を行う。
図１５は、ファジィＰＤ部１３１及びファジィＰＩ部１３２のファジィルールの設定方法を示す概念図である。
本発明の第１の実施の形態に係るファジィ・ニューラルネットワークでは、制御ゲインを適応調整するため、誤差入力量に対応して出力を調整するファジィルールを設定する。
つまり、ＦＢ−ＦＮ部１３０のゲインをマトリックス状に配置するために、ファジィＰＤ部１３１、ファジィＰＩ部１３２における後件部に以下に示すファジィルールを設定する。
【００６８】
より詳細に説明すると、図１２Ｂにおける出力ＵFNは、プラントの直接的な入力である。ファジィ部では、入力空間を９分割し、分割された空間の適合度を以下の式で与える。
μi＝Ａi1（ｅp）Ａi2（ｅv）  
ここで、ｉ＝１，２，…，９，  ｉ１，ｉ２＝１，２，３
また、Ａijはメンバーシップ関数でファジィ変数を表す。
また、Ａi1，Ａi2はそれぞれＰｏｓｉｔｉｖｅ  ｂｉｇ、Ｓｍａｌｌ、Ｎｅｇａｔｉｖｅ  ｂｉｇに対する適合度を表す。
ただし、適合度は、下記の式（６）のように正規化しておく。
【００６９】
【数６】
2014006566.tif 000008
【００７０】
そして、制御ゲインを適応調整するため、誤差入力量に対応して出力を調整するファジィルールを設定する。
ここで、図１２Ｃのように、ファジィ分割として９を設定し、ファジィルールは以下のように設定する。
ｉ番目のファジィルールは：
Ｒi：  ＩＦ  ｅp  ｉｓ  Ａi1  ａｎｄ  ｅv  ｉｓ  Ａi2  ＴＨＥＮ  ｙ＝ｆｉ（ｅp，ｅv）
ここで、ｉ＝１，２，  ．．．  ，９，  ｉ1，ｉ2＝１，２，３
である。
また、ｕFN-PD出力は、下記の式（７）として求める。
【００７１】
【数７】
2014006566.tif 000009
【００７２】
ここで、各ｕFNの加算出力であるｕFN-PID出力は、下記の式（８）で求める。
【００７３】
【数８】
2014006566.tif 000010
【００７４】
また、ファジィ推論は、下記の式（９）で求める。
【００７５】
【数９】
2014006566.tif 000011
【００７６】
ここで、ｆは、ｕFN-PIDとｕFNが等しいとすると、下記の式（１０）となる。
【００７７】
【数１０】
2014006566.tif 000012
【００７８】
ただし、ｋij≧０（ｊ＝Ｉ，ｐ，ｖ）は、後述するフィードバックゲインである。
ここで、式（１０）の制御方法においては、誤差応答によりファジィＰＤとファジィＰＩを切り換える動作を行う。この際、外乱やパラメータ変動による制御系の影響に対し、応答を速やかに目標値に近づけるため、図１５内の表で示すように、外乱やパラメータ変動による制御系の影響に対し、応答を速やかに目標値に近づけるために、変位誤差信号ｅpと速度誤差信号ｅvがいずれもＳｍａｌｌのときはＰＩＤ制御、ｅpがＳｍａｌｌでなくｅvの絶対値｜ｅv｜がｂｉｇのときは、ダンピングを小さくし速い応答を得るためにＰ制御、その他はＰＤ制御とすることが好適である。
各フィードバックは、後段のニューラルネットワークで事前に学習することにより、制御則を構成する。各フィードバックゲインは後段のニューラルネットワークで事前に学習する。このような構成により制御則を構成する。つまり、誤差に適応した制御則を構成することができる。
図１６Ａは、このフィードバックであるファジィ・ニューラルネットワークゲインの計算方法を示す。
【００７９】
また、図１６Ｂに、ＦＢ−ＦＮ部１３０のゲインマトリックスを示す。
フィードバックゲインｋijはファジィ分割された誤差空間ごとに学習するので、誤差量に依存するダイナミック補償器としての役割を果たす。このように、制御ゲインを適応調整するため、誤差入力量に対応して出力を調整する、上述のｉ番目のファジィルールを設定する。
すなわち、ファジィ推論の効果として、誤差が少ないときは低いゲインとなる。ただし、ゲインの最適調整は、ニューラルネットワークの学習により行われる。つまり、モデル化誤差、摩擦、未知な外乱等により位置と速度の誤差が生じると大きなゲインとなり、誤差の減少が期待できる。また、後述する図１６ＢのＣ7の部分のように大きな誤差に対しては、フィードバックの効果が期待できる。このような構成により、外乱やパラメータ変動にロバストとなることが期待できる。
【００８０】
図１６Ｃは、ファジィ・ニューラルネットワークによるゲインスケジューリングのブロック図を示す。
このゲインスケジューリングにより決定されたＣi＝μi（ｋipｅp＋ｋiv＋ｋiI∫ｆepｄｔ）式により、図１６ＢのＣ1〜Ｃ9の各ゲインが算出される。
【００８１】
図１６Ｄは、ファジィＰＤ部１３１のファジィＰＤゲインマトリックスを示す。これはファジィＰＤについて入力のＣpとＣvが９個のウィンドウに分割された入力空間で図１６Ａに示す通り計算がされたゲインである。入力誤差に対して制御ゲインが適応調整される。
図１６Ｅは、ファジィＰＤ部１３１のファジィＰＤ制御面を示す。これはファジィＰＤについてＣpとＣvの入力に対する制御出力がどのように変化するかを表わしている。図１６Ｅの制御面によれば、ステップ状の大きな外乱に対してロバスト性及びロバスト安定性を有することがわかる。
【００８２】
〔ロバスト安定性の根拠〕
ここで、図１７を参照して、本発明の第１の実施の形態に係るＦＢ−ＦＮ部１３０のロバスト安定性の根拠について説明する。
ＦＢ−ＦＮ部１３０は、パラメータ変動が微小ではなく、ある有限な範囲で生じるとして、その変動範囲で制御性能を保証する制御系を設計する必要がある。そこで、パラメータの変動範囲をカバーする多数の基準点を仮定しこの点におけるパラメータ感度を小さくすることが好適である。また、各基準点での感度を小さくする割合はメンバーシップ関数を用いることにより、システムの要求に応じて設定できる。
また、ファジィ・ニューラルネットコントローラの誤差のロバスト性を確保するには、パラメータがある基準点まわりで微小変動することを前提とし、その変動に対するパラメータ感度を最小化する必要がある。図１７に、そのメンバーシップ関数と、ファジィＰＩの制御面を示す。
ここで、図１７の古典ＰＩの制御面に示す通り、ｅかｅ・（ｅの上点）の移行方向に順じた、あるいは逆らった方向にｅかｅ・が摂動すると、ｄｕの変化が増大する。
これに対して、図１７のファジィＰＩの制御面においては、制御誤差であるｅかｅ・の変化量が小さいときはファジィＰＩには、さほど影響しない。すなわち、ファジィＰＩの制御面はｅ−ｅ・が、ほぼ平行であり、摂動すると、ｅとｅ・が２つ以上のルールが作動する過渡的な領域に入っていくだけで、制御出力には影響しない。つまり、定常偏差を減少させる機能が働いていることがわかる。
これにより、ファジィＰＩＤコントローラのロバスト性の根拠が説明できる。
【００８３】
（ステップＳ３０５）
次に、制御部１１は、ＩＣＳ部１０のＦＢ−ＦＮ部１３０に対して、ファジィ推論処理を行う。
このファジィ推論処理においては、上述したシングルトン出力のメンバーシップ関数を使用して、ダイナミックスな非線形システムの種々の操作条件に適用する複数の線形コントローラを内挿的に組み込むことができる。
本実施の形態に係るこのファジィ推論処理においては、入力空間をスムーズに内挿して線形ゲインを求め、効果的なゲインスケジューラとし、非線形システムをモデル化できる。
つまり、ファジィ推論システムを使い、入出力データからＢＰ法等のアルゴリズムを使ってチューニングする。ここでは、推論システムのパラメータを同定するためのハイブリッドな学習アルゴリズムを使う。非線形パラメータに対し、上述したように、最小二乗法とバックプロバゲーション勾配降下法（ＢＰ法）を適用する。
以上により、ＦＢ−ＦＮ学習処理を終了する。
【００８４】
〔ファジィＰＤ部１３１の例〕
以下で、作成して学習させたファジィＰＤ部１３１であるＦＵＺＺＹ＿ＰＤのＭファイルの例を示す：
[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
【００８５】
〔ファジィＰＩ部１３２のファイル例〕
以下で、作成して学習させたファジィＰＩ部１３２であるＦＵＺＺＹ＿ＰＩのＭファイルの例についても示す：
[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
【００８６】
〈ソフトウェアサーボ制御処理の詳細〉
次に、図１８を参照して、本発明の第１の実施の形態に係るソフトウェアサーボ制御処理について説明する。
本発明の第１の実施の形態に係るソフトウェアサーボ制御処理においては、ＤＣモータ駆動用ＰＷＭ（パルス幅変調）モジュールと位置検出用エンコーダのアップダウンカウンタモジュールを、ソフトウェアで作成して実現する。これにより、ハードウェア部品の省力化と、ハードウェアによる動作時間遅れやノイズの対策ができる。
ＰＷＭ部１５０のＰＷＭモジュールについて、設計によりソフトウェア化を行っている。すなわち、本実施形態においては、ＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋによりロジック回路を作成し、ＰＷＭモジュールを実現させている。すなわち、図１８のように、制御部１１が信号の振幅を変更して出力することで、モータ２３０の駆動ができる。このＰＷＭモジュールの例を、後述する実施例１の図２０Ａ〜図２０Ｃに示す。
また、ＣＯＵＮＴＥＲ（カウンタ）モジュールについても、設計によりソフトウェア化を行っている。すなわち、本実施形態においては、ＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋによりロジック回路を作成し、ＣＯＵＮＴＥＲモジュールを実現させている。このＣＯＵＮＴＥＲモジュールの例を、後述する実施例１の図２０Ｆ〜図２０Ｈに示す。
このように、知能コントローラの演算処理の高速化により、インテリジェント・ロバスト制御を実現することができる。
【００８７】
以上のように構成することで、以下のような効果を得ることができる。
まず、従来、産業界で問題となっている現代制御理論（Ｍｏｄｅｌ  Ｂａｓｅｄ  Ｃｏｎｔｒｏｌ）による電子制御の不具合が多発していた。これは、制御ゲインが固定ゲインであることに起因するものであった。
本発明の第１の実施の形態に係る制御システムＸは、次世代のファジィ・ニューラルネットワークベースト制御によるインテリジェント・ロバスト組み込み知能コントローラであるＩＣＳ部１０を用いることで、この問題を唯一解決することができる。
ＩＣＳ部１０には、目標軌道誤差の変化に適応的にゲインを可変調整するファジィ・ニューラルベースト制御の新規インテリジェント・ロバストゲイン補償器であるＦＢ−ＦＮ部１３０が組み込まれている。これにより、システムパラメータ変動、突発的な外乱および目標変化に対して、十分な目標軌道追従制御性能が得られる。
【００８８】
また、本発明の第１の実施の形態に係る制御システムＸの制御方法は、従来のＰＩＤ制御方法を多変数系に拡張させることができる。
すなわち、本実施形態の制御方法は、非線形の運動方程式を直接使用して、ＦＦ−ＮＮ部１２０のニューラルネットワークにより線形化を行い、ＦＢ−ＦＮ部１３０のファジィ・ニューラルネットワークにより外乱抑制および非干渉化を行う。
本実施形態の制御方法は、時間によってパラメータが変化する非線形系がいつも臨界減衰となるように、時間によってゲインが適応的に変化する制御則を考案し、多変数系における各軸の相互干渉を非干渉化させる。このことにより、インテリジェント制御による多変数系制御を行い、マニピュレータの完全追従制御を実現することができる。
【００８９】
また、本実施形態に係る制御システムＸは、ファジィの推論能力とニューラルネットワークの学習能力を組み合わせることで、制御ゲインを可変調整し、未知の要素に対して適応させることができる。
実際に、下記の実施例１にて構築したファジィ・ニューラルネットワーク制御システムを従来のＰＩＤ制御、ＦＦ−ＮＮ制御のみのシステムと比較する実験を行ったところ、ファジィ・ニューラルネットワーク制御の有効性は高かった。
【００９０】
また、従来、マニピュレータに関するシステム設計は、制御対象が多自由度系でも１自由度系と見なし近似式を用いて制御系を設計し、関節軸ごとに独立した制御系を構築する手法が多くの製品に採用されていた。
本実施形態に係る制御システムＸは、この多自由度系設計化の未解決な課題を、インテリジェント制御により解決することができる。
すなわち、本実施形態に係る制御システムＸは、ロバストで自動的なゲイン調整が可能な制御系を構築するために、ファジィ分割された空間において位置及び力誤差に応じた可変フィードバックゲインが設定される制御系を、多自由度系化の設計に用いることができる。
【００９１】
また、本実施形態に係る制御システムＸは、ファジィ・ニューラルネットワークの学習によるゲインの自動設定ができ、インテリジェント制御によるロバスト性を実現することができる。
これにより、マニピュレータおよび多変数系メカニカルシステムに対する実用的なインテリジェント・ロバスト制御システムを実現し、ロボット、自動車、電動自転車、船舶、航空機、宇宙機、ロケット、温度制御、電動制御等、目標値を設定して制御する従来の制御が用いられていたあらゆる制御対象機器について、応用可能である。
また、本実施形態に係る制御システムＸは、モデル化誤差、摩擦、未知の外乱等により変位および速度の制御誤差が生じた場合、制御ゲインを適応調整するファジィ・ニューラルネットワークによる非線形偏差補償が可能になる。
すなわち、ファジィ・ニューラルネットワークによるインテリジェント・ロバスト制御手法が確立し、多変数系メカニカルシステムに対する実用的なインテリジェント制御システムを実現することができる。
【００９２】
また、本実施形態に係る制御システムＸは、組み込み型コンピュータを知能コントローラ部１として用いて、通常のＰＣ等による制御装置３によるＲＴＷ（Ｒｅａｌ−Ｔｉｍｅ  Ｗｏｒｋｓｈｏｐ）を用いたモデルベースでのシステム開発により、短期間でのシステム開発を行うことが可能である。
さらに、ＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋのようなソフトウェアを用いることで、シミュレーションも簡単に行えるため、システム開発のコストダウンや時間削減に大きな効果が得られる。
【００９３】
また、本実施形態に係る制御システムＸは、目標軌道誤差の変化に適応的にゲインを可変調整する新しい方式のインテリジェント・ロバストゲイン補償器（ファジィ・ニューラルベースド制御）が組み込まれており、システムパラメータ変動、外乱および目標変化に対して、十分な目標軌道追従制御性能が得られる。具体的には、ロバストで自動的なゲイン調整が可能な制御系を構築するために、ファジィ分割された空間において位置及び力誤差に応じた可変フィードバックゲインが設定される制御系を構成している。
また、本実施形態に係る制御システムＸは、制御系を２自由度制御構成とし、フィードフォワード部をニューラルネットワークにより構成し、変位、速度、加速度のパラメータによりプラントの特性を学習させ、プラント特性の逆特性を取得しシステムを線形化している。
また、フィードバック部は、ファジィ・ニューラルネットワークにより非線形誤差を減少させる補償器であり、完全追従性能を実現させている。
これらの制御系は、リアルタイム（実時間）処理で、例えばサンプリング時間が１ミリ秒で実行されていることを特徴とする。
【００９４】
〔実施例１〕
ここで、図１９Ａ〜図２１Ｂを参照して、実際に上述のＩＣＳ部１０の構成と各処理を用いて、インテリジェント・ロバスト制御を行った実施例１について説明する。
本実施例１においては、組み込み型コンピュータであるＩＣＳ部１０を含む知能コントローラ部１によって制御対象２の位置制御を行う。制御対象２としては、ＤＣモータによって駆動する移動テーブルを用いた。
ＩＣＳ部１０のＯＳには、Ｌｉｎｕｘ（登録商標）＋Ｘｅｎｏｍａｉ（商標）を用いており、リアルタイムでの制御が可能である。パソコンである制御装置３は、知能コントローラ部１とＬＡＮクロスケーブルにより直接接続して、イーサネット（登録商標）で通信を行った。
知能コントローラ部１は、知能コントローラ部１のＤ／Ａコンバータから制御信号を送出する。この制御信号は、モータ駆動ドライバ２０を介して、モータ２３０へと出力される。モータ２３０が回転すると、エンコーダ２２０からパルス波が出力される。このパルス波は、知能コントローラ部１のＡ／Ｄコンパータによって、知能コントローラ部１が取得する。このパルス波を１／８に分周させてあり、このパルス波をカウントすることによりモータ２３０の位置情報をフィードバックすることができる。
【００９５】
また、本実施例では、モータ駆動ドライバ２０として、東芝セミコンダクター社製のＴＡ７２８１Ｐを用いた。また、モータ２３０として、ツカサ電工社製のＴＧ−４７Ｃ−ＳＭを用いた。ＴＧ−４７Ｃ−ＳＭは、定格電圧１２［Ｖ］、定格回転数４４００［ｒｐｍ］、定格電流１６０［ｍＡ］、無負荷回転数５２５０［ｒｐｍ］、無負荷電流６０［ｍＡ］である。
また、エンコーダ２２０として、ＴＧ−４７Ｃ−ＳＭに付属のロータリエンコーダを用いた。当該ロータリエンコーダは、１回転につき８パルス出力する。
【００９６】
（実験方法）
本実施例では、ＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋによりファジィ・ニューラルネットワークの制御システムＸのためのモデルを構築した。また、比較のため、従来のＰＩＤ制御、ＮＮ−ＰＩＤのみの制御システムのモデルも同様に構築した。
これらの制御システムのモデルを図１９Ａ〜図１９Ｃに示す。また、この各制御システムの各部位のモデル図を、図２０Ａ〜図２０Ｈに示す。
【００９７】
より具体的には、図１９Ａは、従来のＰＩＤ制御のモデル図である。このモデルのＰＩＤパラメータについては、比例ゲインＰ＝１２、積分ゲインＩ＝０、微分ゲインＤ＝０、としてモータ駆動ドライバ２０の制御を行った。
また、図１９Ｂは、ＮＮ−ＰＩＤ制御のみの場合のモデル図である。ＦＦ−ＮＮ部１２０のニューラルネットワークの学習にはＰＩＤ制御のデータを基にして行い、指令信号の変位、速度、加速度を入力とし、ＰＩＤの操作量を教師信号としてＢＰ法で学習を行った。これによって得られたニューラルネットワークをＰＩＤの操作量にフィードフォワードさせている。ＰＩＤパラメータはＰＩＤ制御と同様である。
また、図１９Ｃは、本実施例に係るファジィ・ニューラルネットワーク制御のモデル図である。ＦＮＮの学習には、図１９ＡのＰＩＤ制御のデータを基にして行い、変位誤差、速度誤差を入力とし、ＰＩＤの操作量を教師信号としてＢＰ法と最小二乗法を組み合わせた方法で学習を行った。この際に、図１９ＢのＮＮ−ＰＩＤ制御のパラメータ等も、ファジィ・ニューラルネットワークの制御システムに用いた。
【００９８】
制御対象２は、１つのＤＣモータ２３０によって動く移動テーブルとし、構築した制御システムにより位置制御を行う。指令信号は振幅５、周期３０［ｓ］のｓｉｎ波とし、サンプリングタイムは１［ｍｓｅｃ］でモータの制御を行った。
また、比較のための動作テストとして外乱あり、外乱なしの状態で３つの制御システムを実行し性能比較を行った。外乱はモデル上で再現し、実行してから１０秒後に＋５の値を操作量に加えるようにした。
【００９９】
（実験結果）
図２１Ａと図２１Ｂを参照して、実験結果について説明する。
図２１Ａは、従来のＰＩＤ制御のモデル（比較例）を用いて制御を行った結果である。従来のＰＩＤ制御では、外乱がない場合には、１自由度の位置制御でも時間遅れがあり若干の誤差が見られた。さらに、従来のＰＩＤ制御では、外乱が発生すると定常情差として誤差が現れ、外乱の信号に合わせて出力が上にずれていた。なお、図示しない図１９ＢのＮＮ−ＰＩＤのみの制御は、フィードフォワード補償により時間遅れを多少解消できていた。しかし、ＮＮ−ＰＩＤのみの場合、外乱がない場合にはそれほど制御信号とはズレないものの、外乱がある場合には従来のＰＩＤ制御と同様な結果であり、ロバスト性がなく不十分であった。
図２１Ｂは、本実施例に係るファジィ・ニューラルネットワーク制御を用いた結果である。ファジィ・ニューラルネットワーク制御では、制御対象の非線形要素に対応できると考えられる。すなわち、ファジィ・ニューラルネットワーク制御では外乱あり、外乱なしの両方で指令信号に追従できていたことから、制御ゲインを適応的に調整していると考えられる。このことから、ファジィ・ニューラルネットワーク制御はロバスト性のある制御方法であり、外乱や制御機器の非線形要素に対して有効であった。
【０１００】
＜第２の実施の形態＞
〔本発明の第２の実施の形態に係る制御システムＹの構成〕
次に、図２２〜図３０を参照して、本発明の第２の実施の形態に係る制御システムＹについて説明する。
本実施形態の制御システムＹは、上述の第１の実施の形態に係るインテリジェント・ロバスト制御を用いた「インテリジェント・インピーダンス制御」により、位置制御と力制御を連続的に切り換える「位置と力のハイブリッド／コンプライアンス制御」を行うことで、柔軟な運動特性をロボット等に実現させることができる。これにより、ロボット等を環境特性に順応させつつ、自律的に組立作業をさせられる。
【０１０１】
まず、図２２を参照して、第２の実施の形態に係る制御システムＹの構成について説明する。図２２において、図２の第１の実施の形態に係る制御システムＸと同じ符号の部位は同様の構成を示している。
知能コントローラ部５は、第１の実施の形態に係るＩＣＳ部１０と同様に、インテリジェント・インピーダンス制御に用いるための組み込み型コンピュータである。知能コントローラ部５の詳細構成については後述する。
制御対象６は、第１の実施の形態に係る制御対象２と同様に、外乱の影響を受け、位置制御と力制御が必要になる具体的な制御対象部位である。本実施形態では、制御対象６として、主に多関節アームのロボットを用いる例について説明する。なお、制御対象６としては、ロボットに限られず、例えば、物体を把持したり押下したりといった各種作業にて力を加える制御対象であれば、どのようなものでも用いることができる。
画像音声入力部７０は、ＣＣＤやＣＭＯＳ素子等の撮像手段と、コンデンサマイクとＡ／Ｄコンバータ等の音声入力手段を備えた、画像と音声を入力する部位である。画像音声入力部７０としては、ロボット６１の動作位置を画像認識可能で、あまり画像解像度が高くなくてもよい、一般的なウェブカメラ等を用いることができる。
【０１０２】
〈制御対象６の構成〉
制御対象６は、サーボコントローラ６０、ロボット６１、及び力センサ６２を備えている。
サーボコントローラ６０は、第１の実施の形態に係るモータ駆動ドライバ２０と同様、各種指令により、ロボット６１の動作を制御するための回路である。サーボコントローラ６０は、知能コントローラ部５から逆運動学に係る位置指令θ（ｋ）を受信し、ロボット６１に、ハンド及びアーム等の各関節の角度である関節角θに係る電気信号を出力する。また、サーボコントローラ６０は、ロボット６１からのトルクτに係る信号から角関節の位置や角度を算出し、変位ｑとして知能コントローラ部５に送信する。
【０１０３】
ロボット６１は、１軸のロボットハンド及び物体を把持して３次元空間内の位置を４軸等で移動させるアーム等を備えた、多関節のロボット等である。
ロボット６１は、物体を把持して物体の填め込み、ネジ孔作成、ネジ留め、溶接等の各種作業を行わせることができる。
ロボット６１は、各関節のモータやアクチュエータの関節位置や負荷等に係るデータであるトルクτをサーボコントローラに出力する。ロボット６１として、軸数：５、移動精度：０．１ｍｍ程度のアームロボット、例えば、三菱電機社製のマイクロロボット「ＭＯＶＥＭＡＳＴＥＲ  ＲＶ−Ｍ２」等を用いることが可能である。
【０１０４】
力センサ６２は、例えば、６軸の力覚センサを用いることができる。力センサ６２は、例えば、Ｘ，Ｙ，Ｚ軸それぞれに対し力とモーメントとを検出可能である。力センサ６２としては、例えば、株式会社ワコーテック製の「６軸力覚センサ  ＷＤＦ−６Ａ２００−４−ＵＧ２」等を用いることができる。
【０１０５】
（ＩＣＳ部５０の構成）
次に、図２３を参照して、ＩＣＳ部５０の詳細な制御構成について説明する。
図２３において、第１の実施の形態に係るＩＣＳ部１０（図３）と同じ符号の部位は同様の構成を示している。
具体的に、ＩＣＳ部５０は、ＦＮＮの処理に係る部位として位置指令系５１（位置制御系のファジィ・ニューラルネットワーク）及び力指令系５２（力制御系のファジィ・ニューラルネットワーク）の二系統を備えて、これらを連続的に切り換える切換部１３５を備えている。
ＩＣＳ部５０は、これに加えて、画像認識部７１０、及び音声認識部７２０を備えている。
【０１０６】
位置指令系５１は、第１の実施の形態に係るＩＣＳ部１０（図３）でのインテリジェント・ロバスト制御と同様に、制御対象６の位置制御に用いるためのＦＮＮ処理を行う部位である。
位置指令系５１は、上述の第１の実施の形態と同様に、サーボコントローラ６０への位置指令θ（ｋ）から得られた変位ｑを用いて、逆運動学に係る変位（ｙ）、速度（ｄｙ／ｄｘ）、加速度（ｄ2ｙ／ｄｔ2）の各信号を算出し、ＦＮＮ処理を行う。この位置指令θ（ｋ）は、ロボット６１が把持する物体を移動させる座標を、例えば、ロボット６１の各関節角の角度や位置等により算出して表現する値である。
【０１０７】
力指令系５２は、制御対象６の力制御に用いるための部位である。力指令系５２は、位置指令系５１と同様の構成により、制御対象６の力センサ６２から得た力データｆを用いてＦＮＮ処理を行う。
具体的に、力指令系５２は、力センサ６２からの力データｆから、順運動学に係る力（ｙ）、粘性（ｄｙ／ｄｘ）、剛性（ｄ2ｙ／ｄｔ2）の各信号を、それぞれ、変位、速度、加速度の代わりに算出してＦＮＮ処理を行う。
このため、力指令系５２は、位置指令系５１のＰＩＤ部１１０に対応するＰＩＤ部５１０、ＰＤ補償器部１１１に対応するＰＤ補償器部５１１、ＦＦ−ＮＮ部１２０に対応するＦＦ−ＮＮ部５２０（フィードフォワード手段）、ＦＢ−ＦＮ部１３０に対応するＦＢ−ＦＮ部５３０（フィードバック手段）、ファジィＰＤ部１３１に対応するファジィＰＤ部５３１、ファジィＰＩ部１３２に対応するファジィＰＩ部５３２、差分部１４０に対応する差分部５４０、速度算出部１４１に対応する粘性算出部５４１、及び加速度算出部１４２に対応する剛性算出部５４２を備えている。
粘性算出部５４１は、力ｆから粘性を算出する部位である。この粘性としては、後述するように力センサ６２が６軸の力覚センサである場合、６×６の行列から算出することができる。
剛性算出部５４２は力ｆから剛性を算出する部位である。この剛性についても、６×６の行列から算出することができる。
【０１０８】
切換部１３５は、位置制御から力制御に切り換えるため、位置と力のハイブリッド／コンプライアンス制御によって力制御系５２の出力を連続的に調整する部位である。
切換部１３５は、力ｆから求めた剛性Ｋh（パラメータα）の値により、力制御系５２の出力を変更することができる。これにより、連続的に位置制御から力制御に切り換える位置と力のハイブリッド／コンプライアンス制御を実現する。この位置と力のハイブリッド／コンプライアンス制御の詳細については後述する。
また、切換部１３５は、剛性Ｋh（パラメータα）の値により力制御の出力を変更する「通常モード」の他に、制御部１１（図２２）からの切換指令により、剛性Ｋh（パラメータα）の値に関わらず、力制御及び位置制御を行う「離脱モード」に切り換えることも可能である。これらのモードにより、部品等の取り付けに失敗した場合でも、柔軟に対応可能となる。
なお、切換部１３５は、変位ｑから算出した加速度の値により、力指令系５２の出力を調整してもよい。また、切換部１３５は、力制御系５２のみならず位置制御系５１の出力を含めて変更する構成も可能であるものの、力制御系５２の出力を変更する方が位置と力のハイブリッド／コンプライアンス制御を好適に実現できる。
【０１０９】
画像認識部７１０は、画像音声入力部７０からの画像データの画像処理を行って、ロボット６１が把持する物体を移動させるための位置指令θ（ｋ）を設定するための演算部位である。画像認識部７１０は、制御装置３により設定された、物体を載置する箇所の所定形状を認識して、移動させる座標を設定する。この上で、制御部１１（図２２）は、この移動させる座標からθ（ｋ）を設定できる。
なお、移動させる座標は、制御装置３が設定することも、ＩＣＳ部５０の差分部１４０で算出、設定することもできる。
【０１１０】
音声認識部７２０は、画像音声入力部７０からの信号を入力して音声認識する部位である。これにより、音声認識部７２０は、認識結果を制御装置３に送信して、位置指令θ（ｋ）を設定してもよい。
【０１１１】
〔制御システムＸのＩＣＳ部５０の開発／学習処理〕
次に、図２４と図２５を参照して、本発明の第２の実施の形態に係る制御システムＹにおいて、ＩＣＳ部５０を学習させ、制御対象６の制御に最適化するための開発／学習処理について説明する。
まず、このＩＣＳ部５０の開発／学習処理としては、上述の第１の実施の形態に係る開発／学習処理（図５）と同様の処理を行う。
この上で、第１の実施の形態のステップＳ１０２のＦＦ−ＮＮ逆ダイナミックス処理と同様の処理を位置指令系５１に行った上で力指令系５２に対して行う二系統ＦＦ−ＮＮ（フィードフォワードニューラルネット）逆ダイナミックス処理を行う。
以下で、図２５のフローチャートを参照して、この二系統ＦＦ−ＮＮ逆ダイナミックス処理の詳細について説明する。
【０１１２】
〈二系統ＦＦ−ＮＮ逆ダイナミックス処理の詳細〉
（ステップＳ２１１）
まず、知能コントローラ部５の制御部１１は、位置指令系ＦＦ−ＮＮ用意処理を行う。この処理は、第１の実施の形態に係るステップＳ２０１のＦＦ−ＮＮ用意処理（図８）と同様の処理を、制御対象２の変位ｒの代わりに、制御対象６の変位ｑを用い、位置指令に対して行う。
【０１１３】
（ステップＳ２１２）
次に、知能コントローラ部５の制御部１１は、位置指令系ＦＦ−ＮＮ学習処理を行う。この処理についても、第１の実施の形態に係るステップＳ２０２のＦＦ−ＮＮ学習処理（図８）と同様の処理を変位ｒの代わり変位ｑを用いて行う。
【０１１４】
（ステップＳ２１３）
次に、知能コントローラ部５の制御部１１は、ＩＣＳ部５０のＰＤ補償器部５１１等を用いて、力指令系ＦＦ−ＮＮ用意処理を行う。
ここでは、上述のステップＳ２１１と同様に、制御対象６の特性を把握し、制御システムＹの特性を線形化するための学習を行う。
具体的には、従来の古典ＰＤ補償器であＰＤ補償器部１１１と同様のＰＤ補償器部５１１を用いて、制御対象６の特性を把握する試験を行い、力指令に対応する力ｆから各軸に対応する力（ｙ）、粘性（ｄｙ／ｄｘ）、剛性（ｄ2ｙ／ｄｔ2）の各信号を収得する。
この取得においては、差分部５４０の粘性算出部５４１により粘性を、剛性算出部５４２により剛性を算出する。
この際に、ＰＤゲインは制御対象６が移動可能な小さい値とする。
なお、粘性、剛性の信号は、力ｆの信号収得後、オフラインにて数値演算処理により算出してもよい。
【０１１５】
より具体的には、制御部１１は、ニューラルネットワークの入力として上述の力指令に対応し収得した力、粘性、剛性のデータを入力する。データとしては、上述の位置指令系ＦＦ−ＮＮ学習処理と同様に、１秒間に１００程度あれば好適に学習できる。すなわち、サンプリング周波数１０ｍｓｅｃ程度が好適である。
また、制御部１１は、ニューラルネットワークの学習に必要なソフトウェアを上述の第１の実施の形態と同様に、例えば、ＭＡＴＬＡＢ用のニューラルネットワーク生成コマンドを入力して、準備することができる。
【０１１６】
この際、制御部１１は、Ｐ＝力、粘性、剛性、Ｔ＝教師信号としてニューラルネットワーク生成コマンドを準備することができる。
また、教師信号は操作信号ｙとし、特性把握に必要な時間を３周期程度とすることができる。
【０１１７】
ＭＡＴＬＡＢによりニューラルネットワークの学習が終了すると、ニューラルネットワークのブロックであるＦＦ−ＮＮ部５２０が生成される。このＦＦ−ＮＮ部５２０を制御ブロックとして使用する。
【０１１８】
（ステップＳ２１４）
次に、知能コントローラ部５の制御部１１は、力指令系ＦＦ−ＮＮ学習処理を行う。
この処理は、上述のステップＳ２１２と同様に、制御対象６の力データｆを用いて、力指令に対して行う。
具体的に、このＦＢ−ＦＮ学習処理として、第１の実施の形態と同様に、シングルトン出力メンバーシップ関数を使用した位置指令と力指令に係るＦＢ−ＦＮ学習を行う。
これは、ダイナミックスな非線形システムの種々の操作条件に適用する複数の線形コントローラを内挿的に組み込む推論の処理となる。この推論により、入力空間をスムーズに内挿して線形ゲインを求め、効果的なゲインスケジューラとし、非線形システムをモデル化できる。
具体的には、ファジィＰＩＤコントローラであるＦＢ−ＦＮ部１３０により上述の位置指令又はデータを用いて学習させ、位置に係るフィードバック補償を行う。また、同様にファジィＰＩＤコントローラであるＦＢ−ＦＮ部５３０を用いて、力に係るフィードバック補償を行う。これにより、取得した非線形誤差信号を減少させる。
より具体的には、上述の第１の実施の形態と同様に、入出力データからバックプロバゲーションを使ってチューニングする。この際、推論システムのパラメータを同定するためのハイブリッドな学習アルゴリズムを使用し、非線形パラメータに対し、最小二乗法とバックプロバゲーション勾配降下法を用いて学習を行う。
以上により、本発明の第２の実施の形態に係る二系統ＦＦ−ＮＮ逆ダイナミックス処理を終了する。
【０１１９】
〈本発明の第２の実施の形態に係る組み立て処理〉
次に、図２６と図２７とを参照して、本発明の第２の実施の形態に係るインテリジェント・インピーダンス制御を用い、位置と力のハイブリッド／コンプライアンス制御を行って、ロボット６１に部品を組み付けさせる組み立て処理の詳細について説明する。
【０１２０】
従来から、産業用ロボットの組み立て作業は、部品の組付け時に部品同士の接触を伴うために、単純な位置制御では対応できず、力制御が必要になる。しかしながら、産業界では、力制御の適応事例は少なかった。これは、力センサが高価であるのと、力制御のパラメータ調整が難しいためであった。
従来の力制御として、コンプライアンス（柔らかさ）制御を実用化した例が存在するものの、位置制御と力制御の切り換えがスムーズにできないという問題があった。
これに対して、本実施形態の制御システムＹは、知能コントローラ部５を用いて、インテリジェント・インピーダンス制御によって、位置制御〜位置と力のハイブリッド／コンプライアンス制御〜力制御をスムーズに切り換えて、組み立てを行わせることが可能となる。
【０１２１】
まず、図２６を参照して、本発明の第２の実施の形態に係る位置と力のハイブリッド／コンプライアンス制御の具体例について説明する。
図２６（ａ）は、本実施形態の位置と力のハイブリッド／コンプライアンス制御を用いて、力センサ６２を備えたロボット６１により、ワークピン等の部品であるピン８００を取付孔８１０に取り付ける概念を示す。本実施形態の知能コントローラ部５は、この取り付けのタスク動作の際、まず、位置指令によりピン８００を移動させ、取付孔８１０に接触させる。その後、知能コントローラ部５は、位置制御と力制御とを同時に行う位置と力のハイブリッド／コンプライアンス制御によりピン８００の取り付けを調整する。位置と力の調整が終わった後、知能コントローラ部５は、主に力指令のみにより押しつけることで、最終的な取り付けを行う。すなわち、位置と力のハイブリッド／コンプライアンス制御により、位置制御と力制御を連続的に、スムーズに切り換えることができる。
知能コントローラ部５は、画像音声入力部７０によりピン８００を把持し、取付孔８１０の位置を認識して位置制御を行い、ロボット６１を、取付孔８１０まで移動させる。ここで、ピン８００が取付孔８１０に接触した際、位置が多少ずれていたとしても、知能コントローラ部５が力制御に自動的に切り換え、スムーズに取り付けることができる。
図２６（ｂ）は、力センサ６２が６軸の場合における、ワークピンに係るコンプライアンス（柔らかさ）のモデルについての概念図である。このコンプライアンスについて、詳細は後述する。
以下、図２７を参照して、本実施形態に係る位置制御、位置と力のハイブリッド／コンプライアンス制御、及び力制御を用いた組み立て処理の詳細についてステップ毎に説明する。
【０１２２】
（ステップＳ５０１）
まず、知能コントローラ部５の制御部１１は、ＩＣＳ部５０の位置指令系５１を主に用いて、接近接触動作制御処理を行う。
具体的には、制御部１１は、制御装置３の指示により、画像音声入力部７０によりピン８００の位置を認識して、ロボット６１にこれを把持させる。
その後、制御部１１は、ピン８００を把持したロボット６１を、変位ｑにより上述のソフトウェアサーボ制御処理と同様に位置制御して、取り付け位置となる取付孔８１０まで移動させる。この際に、力センサ６２からの出力はほぼ、把持に係る力ｆの出力のみとなる。
取付孔８１０へピン８００が接触すると、制御部１１は、ロボット６１のアームやロボットハンドに加わる力ｆを検知することができる。
【０１２３】
（ステップＳ５０２）
次に、知能コントローラ部５の制御部１１は、ＩＣＳ部５０の位置指令系５１から力指令系５２に連続的に切り換える押しつけ動作制御処理を行う。
この処理では、制御部１１は、ピン８００が取付孔８１０に接触した場合に、変位ｑと力ｆから、コンプライアンス値１／Ｋdを求めて、切換部１３５に入力する。
ここで、制御部１１は、コンプライアンス値１／Ｋdの変化により、位置指令系５１を力指令系５２に連続的に切り換える位置と力のハイブリッド／コンプライアンス制御を行うことができる。すなわち、制御部１１は、ピン８００を位置制御から力制御にスムーズに調整して取り付ける。これにより、ヒトが孔にピンを差し込む時に手に掛かる孔の位置との微妙のズレを感知して押し込みを調整するのと同様の処理を実現できる。
【０１２４】
この制御部１１による位置と力のハイブリッド／コンプライアンス制御のために、以下の式（１１）のようなモデルを用いる。
【０１２５】
【数１１】
2014006566.tif 000013
【０１２６】
式（１１）においては、Ｘ：現在の角関節の位置、Ｘd：位置指令θ（ｋ）、Ｍx：実慣性行列、Ｂa：ダンパー行列、Ｋd：仮想バネ行列（仮想剛性）、Ｆ：力応答、Ｆd：力指令、Ｓ：スイッチング行列  ｄｉａｇ（Ｓ１，……，Ｓ６）、Ｋf：力ゲイン、Ｅ：単位行列を示す。
また、６軸の力センサ６２を用いる場合は、Ｓ、Ｍ、Ｂ、Ｋは、それぞれ６×６の行列となる。
【０１２７】
ここで、本実施形態においては、下記式（１２）が第１の実施の形態に係るインテリジェント・ロバスト制御に対応する、インテリジェント・インピーダンス制御の式となる。制御部１１は、このインテリジェント・インピーダンス制御を用いて、位置と力のハイブリッド／コンプライアンス制御を行う。
【０１２８】
【数１２】
2014006566.tif 000014
【０１２９】
式（１２）においては、ＭxＳ2は予めロボット６１やピン８００の特性等により設定された所定値の実質剛性値である。
また、ＢaＳは、上述の力指令系ＦＦ−ＮＮ学習処理で学習された仮想粘性である。
また、Ｋdは、上述の力指令系ＦＦ−ＮＮ学習処理で学習された仮想剛性である。仮想剛性Ｋdを１で割った値、１／Ｋdが、柔らかさを示すコンプライアンス値となる。
【０１３０】
ここで、制御部１１は、切換部１３５を用いて、力センサ６２で測定された力ｆから各軸に係る剛性Ｋhを算出する。剛性Ｋhは、０から上述の仮想剛性Ｋdの値に対応するＫhmaxまでの値をとる。
以下、この剛性Ｋhの値を、位置制御と力制御を連続的に切り換えるためのパラメータαとする。本実施形態の制御システムＹは、この一つのパラメータαを調節するだけで、位置制御、力制御、位置と力のハイブリッド／コンプライアンス制御の三つの制御モードを連続的に設定可能となる。
【０１３１】
切換部１３５におけるパラメータαは、α＝Ｋc／Ｋh＋Ｋcとして、算出する。
Ｋhは、仮想バネ係数を示し、Ｋh＝０〜４０００Ｎ／ｍ程度の値となる。
また、Ｋcは定数であり、Ｋhの１／１０〜１／２０に設定する。すなわち、Ｋｃ＝１００，２００，５００Ｎ／ｍ程度の値を用いる。以下の例では、Ｋhの１／２０に設定して、Ｋｃ＝２００とした例を示す。
また、α＝１の場合は力制御となり、α≒０の場合は位置制御となる。０≦α＜１の場合に、位置と力のコンプライアンス制御となる。
例えば、Ｋh＝４０００Ｎ／ｍの場合、α＝２００／４０００＋２００≒０．０５と算出され、位置制御となる。
また、Ｋh＝０Ｎ／ｍの場合、α＝２００／０＋２００＝１と算出されるため、力制御となる。
【０１３２】
より具体的に説明すると、まず、Ｋh＝Ｋhmax（α＝０）の場合には、制御部１１は、上述の式（１１）を下記式（１３）として位置制御を行う。これが、位置指令によりピン８００を取付孔８１０の位置まで移動させる段階にあたる。
【０１３３】
【数１３】
2014006566.tif 000015
【０１３４】
次に、０＜Ｋh＜Ｋhmax（１＞α＞０）の場合には、制御部１１は、上述の式（１１）を下記式（１４）として、位置と力のハイブリッド／コンプライアンス制御を行う。これは、ピン８００を取付孔８１０に接触させた際、多少位置がずれていても、力ｆにより調整しつつ押し込み始める段階にあたる。
【０１３５】
【数１４】
2014006566.tif 000016
【０１３６】
最終的に、Ｋh＝０（α＝１）の場合には、制御部１１は、上述の式（１１）を下記式（１５）として、力制御を行う。これは、力指令によりピン８００が押しつけられる段階にあたる。
【０１３７】
【数１５】
2014006566.tif 000017
【０１３８】
（ステップＳ５０３）
次に、制御部１１は、ＩＣＳ部５０の力指令系５２を主に用いて、軸合わせ取り付け動作処理を行う。
具体的には、図２６の例では、上述のαがほぼ１の状態が所定秒間続いた場合、力制御に切り換えが済んだとして、力制御のままピン８００を取付孔８１０内にそのまま押し込んでゆく。
この際に、制御部１１は、変位ｑからピン８００が確かに取付孔８１０内に押し込まれているのかを確認する。
【０１３９】
（ステップＳ５０４）
ここで、制御部１１は、ピン８００が取付孔８１０内に取り付けられたか否かを判定する。具体的には、制御部１１は、力ｆが所定値以上で、変位ｑの所定秒内の変化が所定値以下になり、変位ｑが取付孔８１０の挿入後の取り付け位置の座標に対応した値になった際に、取り付け成功としてＹｅｓと判定する。それ以外の場合は、取り付け失敗としてＮｏと判定する。
Ｙｅｓの場合、制御部１１は処理をステップＳ５０８に進める。
Ｎｏの場合、制御部１１は処理をステップＳ５０５に進める。
なお、制御部１１は、画像音声入力部７０で取得した画像等から、取り付け成功を判断してもよい。
【０１４０】
（ステップＳ５０５）
ピン８００の取り付けが失敗した場合、制御部１１は、力解除動作処理を行う。
具体的には、制御部１１は、取り付け位置を調整するため、力制御を解除する。このため、切換部１３５に、力ｆが所定値以上であっても位置制御も行う離脱モードにするよう指示する。
【０１４１】
（ステップＳ５０６）
次に、制御部１１は、離脱動作処理を行う。
この処理において、制御部１１は、例えば、ピン８００を引き上げるといった、新たな座標に係る位置指令を行う。
この際、制御部１１は、位置制御と、位置と力のハイブリッド／コンプライアンス制御を併用して、ピン８００を移動させることが好適である。これにより、取り付け位置がずれて、孔に予期しない角度でピン８００が引っかかった場合等でも、スムーズに取り外すことができる。
【０１４２】
（ステップＳ５０７）
次に、制御部１１は、回転動作処理を行う。
具体的に、制御部１１はロボット６１が新たな座標に到達した場合、切換部１３５を「離脱モード」から「通常モード」に変更する。
この上で、制御部１１は、所定のパターンに従って、取り付け位置に係る座標を微調整する。このため、位置指令θ（ｋ）を所定角度づつ回転等させる。
その後、制御部１１は、処理をステップＳ５０１に戻して、取り付け作業をリトライする。
なお、所定回数のリトライを行っても、取り付け失敗した場合には、制御部１１は、エラー処理を行うことができる。
【０１４３】
（ステップＳ５０８）
ピン８００の取り付けが成功した場合、制御部１１は、組み付け動作処理を行う。
この処理においては、制御部１１は、挿入され係止されたピン８００を螺着したり、溶接したり、リベット撃ちをしたり、更に押し込んでノッチをかけたりといった、部品の最終的な組み付けに係る動作を行う。
以上により、組み立て処理を終了する。
【０１４４】
以上のように構成することで、以下のような効果を得ることができる。
近年、産業界で環境変化に柔軟に対応できる制御装置が待望されていた。
ここで、従来は、国内外のロボット等では、位置と力の制御をそれぞれ別途用いて行われていた。しかしながら、力制御の最適パラメータ調整が難しいため、位置と力の制御の切り換えがスムーズにできないという問題があった。
本発明の第２の実施の形態に係る制御システムＹは、インテリジェント・インピーダンス制御により、位置制御と力制御の間を、位置と力のハイブリッド／コンプライアンス制御により滑らかに連続的に切り換えることが可能となる。また、インテリジェント・インピーダンス制御においては、第１の実施の形態に係るインテリジェント・ロバスト制御と同様、各種最適パラメータの設定を自動的に行うことができる。これにより、柔軟な運動特性をもつロボットを実現させることができる。当該ロボットは、環境の特性に順応しながら、しなやかな動作により自律的に組立作業を行うことができる。
また、本実施形態に係る制御システムＹは、ファジィ・ニューラルネットワークの学習によってインピーダンス制御のパラメータを自動設定でき、インテリジェント制御によりロバスト性のあるインピーダンス制御を実現することができる。これにより、ロボットマニピュレータおよびメカニカルシステムに対するインテリジェント・インピーダンス制御システムを実用することができ、制御に係る産業用の装置へ広く応用することができる。特に、環境の特性に順応しながら、しなやかな動作によりスキルを獲得する、ロバストな自律型インテリジェントシステムにより、一体のロボットに、調整を必要せずに各種組立作業を行わせることができる。
以上をまとめると、本実施形態に係る制御システムＹは、ファジィ・ニューラルネットワークを用いた制御によるインテリジェント・インピーダンス制御により、位置と力のハイブリッド／コンプライアンス制御モードを滑らかに連続的に切り換えることができる。また、制御システムＹは、各種最適パラメータの設定がオフライン学習により自動化されている。これにより、柔軟な運動特性をロボットに実現させることができ、環境の特性に順応しながら、しなやかな動作により自律的に組立作業ができる。
【０１４５】
〔実施例２〕
ここで、実施例２として、図２８Ａ〜図３０を参照して、上述のインテリジェント・インピーダンス制御を用いた実験例について説明する。
実施例２では、インテリジェント・インピーダンス制御による、位置制御、位置と力のハイブリッド／コンプライアンス制御、力制御の切り換えの効果を示すため、制御対象６のロボット６１の代わりにより単純化した装置である制御対象７を用いた。
図２８Ａ及び図２８Ｂによると、実施例２の制御対象７は、第１の実施の形態の制御対象２と同様の構成の移動テーブルを用いて、力センサ６２の代わりに歪ゲージ６３により制御を行った例である。
すなわち、実施例２では、移動するテーブル２１０と、その先に設置した金属板２１１との間に物体８０１を位置制御により挟み、物体８０１にも制御対象７に負荷をかけず、位置制御〜位置と力のハイブリッド／コンプライアンス制御〜力制御により把持する実験を行った。
これは、ロボット６１のロボットハンドで物体８０１を把持する際の１軸の制御に対応する。
【０１４６】
なお、ＩＣＳ部５０を含むそれ以外の構成は、上述した第２の実施の形態に係る制御システムＹと同様である。
すなわち、ＩＣＳ部５０のＯＳには、Ｌｉｎｕｘ（登録商標）＋Ｘｅｎｏｍａｉ（商標）を用いており、リアルタイムでの制御が可能である。パソコンである制御装置３は、知能コントローラ部５とＬＡＮクロスケーブルにより直接接続して、イーサネット（登録商標）で通信を行った。
【０１４７】
（実験方法）
まず、上述の第２の実施の形態に係る二系統ＦＦ−ＮＮ逆ダイナミックス処理（図２５）により、把持する物体８０１の特性の違いについて学習させた。
ここで、本実施例で着目したのは物体８０１の柔らかさの違いであり、物体８０１として柔らかさの異なる実験対象を準備した。
具体的には、市販の発泡スチロール（デスクトップパソコン用補強材、エプソン製）、積み木、スポンジ、バネ、チョーク、ぬいぐるみ（Ｍｉｓｔｌｅｔｏｅ（商標）２００１、Ｔｙ  ＩＮＣ製）を用意した。いずれも容易に入手可能で一般的な素材を用いた。
実験の結果は、上述のＶＣＤｅｓｉｇｎｅｒを用いて、リアルタイムで制御装置３に表示されるようにした。この結果としては、モータ２３０が動作する指令信号である電圧（Ｖ）、歪ゲージ６３から出力される電圧（Ｖ）が表示される。
【０１４８】
図２９Ａ〜図２９Ｃは、この実験の結果を示すグラフである。
それぞれ、図２９Ａはスポンジでの実験結果、図２９Ｂは積み木での実験結果、図２９Ｃはぬいぐるみでの実験結果の代表例を示す。このように、本実施例において、各物体は所定時間経過後に安定して把持されることが分かる。
【０１４９】
図３０は、各物体８０１が位置制御から力制御へ切り替わるまでの時間や圧力が０．５Ｖへ安定するまでの時間を示すまとめである。
この図３０により、各物体８０１の持つコンプライアンス（柔らかさ）特性が分かる。すなわち、積み木等の硬い物体８０１は、歪ゲージ６３の出力が大きくなることで、早く収束する。また、スポンジ等の柔らかい物体８０１は反発する力が小さく、歪ゲージの出力が小さくなり、結果として、収束するのが遅くなる。このような結果によると、従来のＰＩＤ制御では、理論的に物体の柔らかさに対応することができないことが分かる。これに対して、本実施例のインテリジェント・インピーダンス制御を用いることで、チョーク等の壊れやすい物体８０１や、柔らかい物体８０１を好適に把持することが可能になる。すなわち、ＦＮＮの学習機能によってゲインを自動調整することで、所定時間内に必要な圧力を印加して、様々な物性をもつ物体を把持することができる。
また、物体のコンプライアンス特性の差によって、制御の時間が変化することが確認できる。
【０１５０】
なお、上記実施の形態の構成及び反応及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【産業上の利用可能性】
【０１５１】
本発明は、インテリジェント・ロバスト制御及びインテリジェント・インピーダンス制御を行う制御手段を提供することで、様々な装置の制御に使用でき、産業上利用可能である。
【符号の説明】
【０１５２】
１、５  知能コントローラ部
２、６、７  制御対象
３  制御装置
１０、５０  ＩＣＳ部
１１  制御部
１４  補助記憶部
１５  主記憶部
１６  論理回路部
１７  Ｉ／Ｆ部
１８、１９  コネクタ
２０  モータ駆動ドライバ
２１  テーブル部
５１  位置指令系
５２  力指令系
６０  サーボコントローラ
６１  ロボット
６２  力センサ
６３  歪ゲージ
７０  画像音声入力部
１１０、５１０  ＰＩＤ部
１１１、５１１  ＰＤ補償器部
１２０、５２０  ＦＦ−ＮＮ部
１３０、５３０  ＦＢ−ＦＮ部
１３１、５３１  ファジィＰＤ部
１３２、５３２  ファジィＰＩ部
１３５  切換部
１４０、５４０  差分部
１４１  速度算出部
１４２  加速度算出部
１５０  ＰＷＭ部
１６０  カウンタ部
１７０  出力部
１８０  入力部
１９０  制御信号発生部
１９５  外乱シミュレート部
２１０  テーブル
２１１  金属板
２２０  エンコーダ
２３０  モータ
５４１  粘性算出部
５４２  剛性算出部
７１０  画像認識部
７２０  音声認識部
８００  ピン
８０１  物体
８１０  取付孔
Ｘ、Ｙ  制御システム
【図１Ａ】
2014006566.tif 000018
【図１Ｂ】
2014006566.tif 000019
【図２】
2014006566.tif 000020
【図３】
2014006566.tif 000021
【図４】
2014006566.tif 000022
【図５】
2014006566.tif 000023
【図６】
2014006566.tif 000024
【図７】
2014006566.tif 000025
【図８】
2014006566.tif 000026
【図９Ａ】
2014006566.tif 000027
【図９Ｂ】
2014006566.tif 000028
【図１０】
2014006566.tif 000029
【図１１】
2014006566.tif 000030
【図１２Ａ】
2014006566.tif 000031
【図１２Ｂ】
2014006566.tif 000032
【図１３】
2014006566.tif 000033
【図１４】
2014006566.tif 000034
【図１５】
2014006566.tif 000035
【図１６Ａ】
2014006566.tif 000036
【図１６Ｂ】
2014006566.tif 000037
【図１６Ｃ】
2014006566.tif 000038
【図１６Ｄ】
2014006566.tif 000039
【図１６Ｅ】
2014006566.tif 000040
【図１７】
2014006566.tif 000041
【図１８】
2014006566.tif 000042
【図１９Ａ】
2014006566.tif 000043
【図１９Ｂ】
2014006566.tif 000044
【図１９Ｃ】
2014006566.tif 000045
【図２０Ａ】
2014006566.tif 000046
【図２０Ｂ】
2014006566.tif 000047
【図２０Ｃ】
2014006566.tif 000048
【図２０Ｄ】
2014006566.tif 000049
【図２０Ｅ】
2014006566.tif 000050
【図２０Ｆ】
2014006566.tif 000051
【図２０Ｇ】
2014006566.tif 000052
【図２０Ｈ】
2014006566.tif 000053
【図２１Ａ】
2014006566.tif 000054
【図２１Ｂ】
2014006566.tif 000055
【図２２】
2014006566.tif 000056
【図２３】
2014006566.tif 000057
【図２４】
2014006566.tif 000058
【図２５】
2014006566.tif 000059
【図２６】
2014006566.tif 000060
【図２７】
2014006566.tif 000061
【図２８Ａ】
2014006566.tif 000062
【図２８Ｂ】
2014006566.tif 000063
【図２９Ａ】
2014006566.tif 000064
【図２９Ｂ】
2014006566.tif 000065
【図２９Ｃ】
2014006566.tif 000066
【図３０】
2014006566.tif 000067