JPH02140802A - 自己修正型ファジィ制御方法 - Google Patents
自己修正型ファジィ制御方法Info
- Publication number
- JPH02140802A JPH02140802A JP29362688A JP29362688A JPH02140802A JP H02140802 A JPH02140802 A JP H02140802A JP 29362688 A JP29362688 A JP 29362688A JP 29362688 A JP29362688 A JP 29362688A JP H02140802 A JPH02140802 A JP H02140802A
- Authority
- JP
- Japan
- Prior art keywords
- membership function
- function
- value
- range
- input value
- 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
Landscapes
- Feedback Control In General (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
【産業上の利用分野】
本発明は、システムが持っている制御規則における出力
の目的量を、入力値に対して0から1までの満足度を示
すメンバシップ関数を用いて決定し、システムの制御出
力として出力するファジィ制御方法に関する。 〔従来の技術〕 制御対象の特徴が数式ではっきりと表されにくい場合、
1965年にカルフォルニア大学のザブ−教授が提唱し
た「ファジィ集合」を利用したファジィ制御を用いると
、かなりうまく制御が行える。 ファジィ制御では、制御規則とメンバシップ関数なるも
のを用いて、制御アルゴリズムを組み立てている。 制御規則は、例えば「速度が速ければ、大きく減速する
。」といったものであり、人間の思考のようにあいまい
である。このとき、問題となるのは、速度がどれくらい
ならば、速いのか遅いのかということと、大きく減速す
るとは、どれくらい減速するのかということである。こ
こで速度の早さや減速度の大小を決めるためにメンバシ
ップ関数を用いる。メンバシップ関数は入力値に対して
Oから1までの満足度を示す関数であり、第3図に示す
ように、速度がVtのとき、速いという判断に対する満
足度Soを示し、中位という判断、遅いという判断には
、それぞれSL、Oという満足度を返す。これらの満足
度から、ルールとして「速度が中位ならば、負で小さく
速度を変化させる。」 「速度が速ければ、負で大きく速度を変化させる。」 があったならば出力の加速度係数を次のようにして求め
る。 第4図で示すように、 「負で大きく変化させる」は高さがSH「負で小さく変
化させる」は高さがSLの2つの三角形が得られる。 これらの2つの三角形の重なった多角形の面積を丁度半
分にするような満足度に平行な線分を求め、そのときの
加速度係数(d、)から実際の出力が求められる。 ところで、特開昭63−108404 rディジタル
制御方式」で「自動学習ファジーコントローラ」の例が
開示されている。 これは、複数のモデル・ルールを記憶しておき、状態量
と制御指令値を各モデル・ルールに適用して制御結果を
予測し、予測結果に基づいて最適な制御指令を決定し、
実際に得られた制御結果を反映させてモデル・ルールの
内容を修正するものである。 〔発明が解決しようとする課題〕 上述した従来の方式は、モデル・ルールの評価指数を学
習によって修正し、メンバシップ関数の修正を行なわな
いので、制御対象のモデルが作りにくい、わからない場
合には適用できないという欠点がある。 [課題を解決するための手段] 本発明の自己修正型ファジィ制御方法は、第1図に示す
ように、 出力の効果量と目的量を比較し、そのずれの割合が許容
値を越えていないかどうかを判断するステップ1と、 ステップ1で得られたずれの割合が許容値を越えていた
場合、メンバシップ関数を取り出し、該メンバシップ関
数の最大値のところで01人力値のある側の0の部分で
0となり、入力値の部分の関数値にステップ1で得られ
たずれの割合を乗じて得られた値を入力値に対してとる
ような関数を作り、該関数をメンバシップ関数に加え、
メンバシップ関数を修正するステップ2と、 ステップ2で得られたメンバシップ関数がOから1の範
囲を越えた部分があるかどうか判断するステップ3と、 ステップ3で、ステップ2で得られたメンバシップ関数
がOから1の範囲にないと判断された場合、1を越える
部分は1.0を下回る部分はOにし、該メンバシップ関
数の最大値のところで0、入力値のある側のOの部分で
0となり、入力値の部分の関数値にステップ1で得られ
たずれの割合を乗じて得られた値を入力値に対してとる
ような関数を作り、該関数をメンバシップ関数に加え、
メンバシップ関数を修正するステップ4と、 ステップ4で得られたメンバシップ関数が0から1の範
囲を越えた部分があるかどうか判断するステップ5と、 ステップ2で得られたメンバシップ関数がステップ3で
0から1の範囲にあると判断された場合およびステップ
4で得られたメンバシップ関数がステップ5で0から1
の範囲にあると判断された場合、該メンバシップ関数を
システムに登録するステップ6と、 ステップ4で得られたメンバシップ関数が0から1の範
囲を越えた部分があるとステップ5で判断された場合、
システムエラーとするステップ7とを有している。 〔作用〕 このように、制御対象に対してメンバシップ関数を自動
的に修正することにより、制御モデルの選択はなく、制
御対象のモデルが作りにくい、わからないような場合に
適用でき、汎用性が増すとともに制御の質も向上する。 第2図は本発明の自己修正型ファジィ制御方法が適用さ
れたシステムのブロック図である。 このシステムは、制御対象・環境18と、目標値(指令
値)を制御対象・環境18から決定し、入力する入力部
11と、メンバシップ関数が登録される関数データベー
ス部16と、関数データベース部16に登録されている
メンバシップ関数を用いて入力部11から入力された目
標量に対する制御量を計算する制御部12と、制御部1
2から出力された制御量を出力して制御対象・環境18
に対して変化を起させる出力部13と、制御対象・環境
18の出力結果(効果量)を監視する出力結果監視部1
7と、制御量と出力結果を比較して、ずれの割合が許容
値を越えていないかどうか判断する出力評価部14と、
出力評価部14によりずれの割合が許容値を越えていた
と判断された場合、メンバシップ関数を修正して関数デ
ータベース部16に登録する関数修正部15とから構成
される。 〔実施例〕 次に、ロボットなどのサーボ機構に適用される速度制御
系を例にとって本発明の実施例について図面を参照して
説明する。 第3図〜第6図は本発明の自己修正型ファジィ制御方法
の一実施例を示す図である。 l)前記〔従来の技術〕の中で述べたようにして、加速
の度合がd+となり、速度がvlとなったとする。 2) 目的量速度をv2とすると、ずれはVl−3)2
)で得た割合kが許容値の範囲を越えているとする。ま
たV、>V、の場合について考える。 4) この場合加速量を増さなければならない。 そこで、前記〔課題を解決するための手段〕のステップ
2で述べたようにして、メンバシップ関数を求めると第
5図のようになる。すなわち、この場合、入力値がvt
になので■、のどころで修正量が最大になるようにし、
その修正量はステップ2のようにして求め、その近辺に
もその影響がでるように、第5図斜線で示すようなメン
バシップ関数の変化分を求める6次に、この場合、負で
大きく変化させすぎたので、負で小さく変化させる方の
割合を大きくし速度が中位の満足度が大きくなるように
するために、第3図の直線a−bにメンバシップ関数の
変化分を加え、第3図の直線c−dではメンバシップ関
数の変化分を引いている。 次に、同じ速度vtの入力があった場合、新しい満足度
はそれぞれS’t+、S’Lとなりそれらを用い第4図
と同様にして加速度係数を求めると第6図のようになり
、 「負で大きく変化させる」は高さがS晶「負で小さく変
化させる」は高さがS9になり、この場合 S′□<S)I 。 S″L>SL となるので第6図の右側の三角形は、第4図の右側の三
角形よりも大きくなり、左側の三角形は、第6図のほう
が第4図よりも小さくなるので、加速度係数は第4図よ
りも右側に移動してd+からd2に変化して、負の加速
度係数は小さくなる。 5)範囲を越えていないので、その関数を登録する。 〔発明の効果] 以上説明したように本発明は、メンバシップ関数を自動
的に修正することにより、制御対象のモデルが作りにく
い、わからない場合に適用でき、汎用性が増すとともに
制御の質も向上する効果がある。
の目的量を、入力値に対して0から1までの満足度を示
すメンバシップ関数を用いて決定し、システムの制御出
力として出力するファジィ制御方法に関する。 〔従来の技術〕 制御対象の特徴が数式ではっきりと表されにくい場合、
1965年にカルフォルニア大学のザブ−教授が提唱し
た「ファジィ集合」を利用したファジィ制御を用いると
、かなりうまく制御が行える。 ファジィ制御では、制御規則とメンバシップ関数なるも
のを用いて、制御アルゴリズムを組み立てている。 制御規則は、例えば「速度が速ければ、大きく減速する
。」といったものであり、人間の思考のようにあいまい
である。このとき、問題となるのは、速度がどれくらい
ならば、速いのか遅いのかということと、大きく減速す
るとは、どれくらい減速するのかということである。こ
こで速度の早さや減速度の大小を決めるためにメンバシ
ップ関数を用いる。メンバシップ関数は入力値に対して
Oから1までの満足度を示す関数であり、第3図に示す
ように、速度がVtのとき、速いという判断に対する満
足度Soを示し、中位という判断、遅いという判断には
、それぞれSL、Oという満足度を返す。これらの満足
度から、ルールとして「速度が中位ならば、負で小さく
速度を変化させる。」 「速度が速ければ、負で大きく速度を変化させる。」 があったならば出力の加速度係数を次のようにして求め
る。 第4図で示すように、 「負で大きく変化させる」は高さがSH「負で小さく変
化させる」は高さがSLの2つの三角形が得られる。 これらの2つの三角形の重なった多角形の面積を丁度半
分にするような満足度に平行な線分を求め、そのときの
加速度係数(d、)から実際の出力が求められる。 ところで、特開昭63−108404 rディジタル
制御方式」で「自動学習ファジーコントローラ」の例が
開示されている。 これは、複数のモデル・ルールを記憶しておき、状態量
と制御指令値を各モデル・ルールに適用して制御結果を
予測し、予測結果に基づいて最適な制御指令を決定し、
実際に得られた制御結果を反映させてモデル・ルールの
内容を修正するものである。 〔発明が解決しようとする課題〕 上述した従来の方式は、モデル・ルールの評価指数を学
習によって修正し、メンバシップ関数の修正を行なわな
いので、制御対象のモデルが作りにくい、わからない場
合には適用できないという欠点がある。 [課題を解決するための手段] 本発明の自己修正型ファジィ制御方法は、第1図に示す
ように、 出力の効果量と目的量を比較し、そのずれの割合が許容
値を越えていないかどうかを判断するステップ1と、 ステップ1で得られたずれの割合が許容値を越えていた
場合、メンバシップ関数を取り出し、該メンバシップ関
数の最大値のところで01人力値のある側の0の部分で
0となり、入力値の部分の関数値にステップ1で得られ
たずれの割合を乗じて得られた値を入力値に対してとる
ような関数を作り、該関数をメンバシップ関数に加え、
メンバシップ関数を修正するステップ2と、 ステップ2で得られたメンバシップ関数がOから1の範
囲を越えた部分があるかどうか判断するステップ3と、 ステップ3で、ステップ2で得られたメンバシップ関数
がOから1の範囲にないと判断された場合、1を越える
部分は1.0を下回る部分はOにし、該メンバシップ関
数の最大値のところで0、入力値のある側のOの部分で
0となり、入力値の部分の関数値にステップ1で得られ
たずれの割合を乗じて得られた値を入力値に対してとる
ような関数を作り、該関数をメンバシップ関数に加え、
メンバシップ関数を修正するステップ4と、 ステップ4で得られたメンバシップ関数が0から1の範
囲を越えた部分があるかどうか判断するステップ5と、 ステップ2で得られたメンバシップ関数がステップ3で
0から1の範囲にあると判断された場合およびステップ
4で得られたメンバシップ関数がステップ5で0から1
の範囲にあると判断された場合、該メンバシップ関数を
システムに登録するステップ6と、 ステップ4で得られたメンバシップ関数が0から1の範
囲を越えた部分があるとステップ5で判断された場合、
システムエラーとするステップ7とを有している。 〔作用〕 このように、制御対象に対してメンバシップ関数を自動
的に修正することにより、制御モデルの選択はなく、制
御対象のモデルが作りにくい、わからないような場合に
適用でき、汎用性が増すとともに制御の質も向上する。 第2図は本発明の自己修正型ファジィ制御方法が適用さ
れたシステムのブロック図である。 このシステムは、制御対象・環境18と、目標値(指令
値)を制御対象・環境18から決定し、入力する入力部
11と、メンバシップ関数が登録される関数データベー
ス部16と、関数データベース部16に登録されている
メンバシップ関数を用いて入力部11から入力された目
標量に対する制御量を計算する制御部12と、制御部1
2から出力された制御量を出力して制御対象・環境18
に対して変化を起させる出力部13と、制御対象・環境
18の出力結果(効果量)を監視する出力結果監視部1
7と、制御量と出力結果を比較して、ずれの割合が許容
値を越えていないかどうか判断する出力評価部14と、
出力評価部14によりずれの割合が許容値を越えていた
と判断された場合、メンバシップ関数を修正して関数デ
ータベース部16に登録する関数修正部15とから構成
される。 〔実施例〕 次に、ロボットなどのサーボ機構に適用される速度制御
系を例にとって本発明の実施例について図面を参照して
説明する。 第3図〜第6図は本発明の自己修正型ファジィ制御方法
の一実施例を示す図である。 l)前記〔従来の技術〕の中で述べたようにして、加速
の度合がd+となり、速度がvlとなったとする。 2) 目的量速度をv2とすると、ずれはVl−3)2
)で得た割合kが許容値の範囲を越えているとする。ま
たV、>V、の場合について考える。 4) この場合加速量を増さなければならない。 そこで、前記〔課題を解決するための手段〕のステップ
2で述べたようにして、メンバシップ関数を求めると第
5図のようになる。すなわち、この場合、入力値がvt
になので■、のどころで修正量が最大になるようにし、
その修正量はステップ2のようにして求め、その近辺に
もその影響がでるように、第5図斜線で示すようなメン
バシップ関数の変化分を求める6次に、この場合、負で
大きく変化させすぎたので、負で小さく変化させる方の
割合を大きくし速度が中位の満足度が大きくなるように
するために、第3図の直線a−bにメンバシップ関数の
変化分を加え、第3図の直線c−dではメンバシップ関
数の変化分を引いている。 次に、同じ速度vtの入力があった場合、新しい満足度
はそれぞれS’t+、S’Lとなりそれらを用い第4図
と同様にして加速度係数を求めると第6図のようになり
、 「負で大きく変化させる」は高さがS晶「負で小さく変
化させる」は高さがS9になり、この場合 S′□<S)I 。 S″L>SL となるので第6図の右側の三角形は、第4図の右側の三
角形よりも大きくなり、左側の三角形は、第6図のほう
が第4図よりも小さくなるので、加速度係数は第4図よ
りも右側に移動してd+からd2に変化して、負の加速
度係数は小さくなる。 5)範囲を越えていないので、その関数を登録する。 〔発明の効果] 以上説明したように本発明は、メンバシップ関数を自動
的に修正することにより、制御対象のモデルが作りにく
い、わからない場合に適用でき、汎用性が増すとともに
制御の質も向上する効果がある。
第1図は本発明の自己修正型ファジィ制御方法を示す流
れ図、第2図はそのシステムブロック図、第3図〜第6
図は本発明の自己修正型ファジィ制御方法の一実施例を
示す図である。 1〜7・・・ステップ、 11・・・・・・入力部、 12・・・・・・制御
部、13・・・・・・出力部、 14・・・・・・
出力評価部、15・・・・・・関数修正部、 16・・・・・・関数データベース部、17・・・・・
・出力結果監視部、 18・・・・・・制御対象・環境。
れ図、第2図はそのシステムブロック図、第3図〜第6
図は本発明の自己修正型ファジィ制御方法の一実施例を
示す図である。 1〜7・・・ステップ、 11・・・・・・入力部、 12・・・・・・制御
部、13・・・・・・出力部、 14・・・・・・
出力評価部、15・・・・・・関数修正部、 16・・・・・・関数データベース部、17・・・・・
・出力結果監視部、 18・・・・・・制御対象・環境。
Claims (1)
- 1.システムが持っている制御規則における出力の目
的量を、入力値に対して0から1までの満足度を示すメ
ンバシップ関数を用いて決定し、システムの制御出力と
して出力するファジィ制御方法において、 出力の効果量と目的量を比較し、そのずれの割合が許
容値を越えていないかどうかを判断する第1のステップ
と、 第1のステップで得られたずれの割合が許容値を越え
ていた場合、メンバシップ関数を取り出し、該メンバシ
ップ関数の最大値のところで0、入力値のある側の0の
部分で0となり、入力値の部分の関数値に第1のステッ
プで得られたずれの割合を乗じて得られた値を入力値に
対してとるような関数を作り、該関数をメンバシップ関
数に加え、メンバシップ関数を修正する第2のステップ
と、 第2のステップで得られたメンバシップ関数が0から
1の範囲を越えた部分があるかどうか判断する第3のス
テップと、 第3のステップで、第2のステップで得られたメンバ
シップ関数が0から1の範囲にないと判断された場合、
1を越える部分は1,0を下回る部分は0にし、該メン
バシップ関数の最大値のところで0、入力値のある側の
0の部分で0となり、入力値の部分の関数値に第1のス
テップで得られたずれの割合を乗じて得られた値を入力
値に対してとるような関数を作り、該関数をメンバシッ
プ関数に加え、メンバシップ関数を修正する第4のステ
ップと、 第4のステップで得られたメンバシップ関数が0から
1の範囲を越えた部分があるかどうか判断する第5のス
テップと、 第2のステップで得られたメンバシップ関数が第3の
ステップで0から1の範囲にあると判断された場合およ
び第4のステップで得られたメンバシップ関数が第5の
ステップで0から1の範囲にあると判断された場合、該
メンバシップ関数をシステムに登録する第6のステップ
と、 第4のステップで得られたメンバシップ関数が0から
1の範囲を越えた部分があると第5のステップで判断さ
れた場合、システムエラーとする第7のステップとを有
することを特徴とする自己修正型ファジィ制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29362688A JPH02140802A (ja) | 1988-11-22 | 1988-11-22 | 自己修正型ファジィ制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29362688A JPH02140802A (ja) | 1988-11-22 | 1988-11-22 | 自己修正型ファジィ制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02140802A true JPH02140802A (ja) | 1990-05-30 |
Family
ID=17797147
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP29362688A Pending JPH02140802A (ja) | 1988-11-22 | 1988-11-22 | 自己修正型ファジィ制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02140802A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04158403A (ja) * | 1990-10-23 | 1992-06-01 | Toshiba Corp | ファジィ制御装置 |
| JPH04199302A (ja) * | 1990-11-29 | 1992-07-20 | Ube Ind Ltd | ファジィ制御における神経回路網の学習方式 |
| JPH07230303A (ja) * | 1994-02-21 | 1995-08-29 | Nec Corp | ファジィ制御方法およびその装置 |
-
1988
- 1988-11-22 JP JP29362688A patent/JPH02140802A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04158403A (ja) * | 1990-10-23 | 1992-06-01 | Toshiba Corp | ファジィ制御装置 |
| JPH04199302A (ja) * | 1990-11-29 | 1992-07-20 | Ube Ind Ltd | ファジィ制御における神経回路網の学習方式 |
| JPH07230303A (ja) * | 1994-02-21 | 1995-08-29 | Nec Corp | ファジィ制御方法およびその装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Piltan et al. | Design novel fuzzy robust feedback linearization control with application to robot manipulator | |
| US6037736A (en) | Apparatus for determination of control constant | |
| CN104808487A (zh) | 一种神经网络自适应鲁棒轨迹跟踪方法及控制器 | |
| CN108008627A (zh) | 一种并行优化的强化学习自适应pid控制方法 | |
| JPH07152570A (ja) | マイクロコントローラのファジィ理論処理モジュール | |
| JPH02140802A (ja) | 自己修正型ファジィ制御方法 | |
| JPH04127239A (ja) | ファジィ推論パラメータの自動調節方法および学習状態の表示方法 | |
| JPH0588900A (ja) | 学習型フアジイ制御装置および制御方法 | |
| JPH0378003A (ja) | ファジイコントローラ | |
| CN116184808A (zh) | 车辆的路径跟踪方法、装置、车辆及存储介质 | |
| Mammadova et al. | Intelligent control system of multi-motion mobile robot | |
| Burdet et al. | Three learning architectures to improve robot control: A comparison | |
| Nurnberger et al. | Neuro-fuzzy techniques under matlab/simulink applied to a real plant | |
| JPH1082719A (ja) | エンジントルク制御装置 | |
| US20170201199A1 (en) | Motor control device | |
| JP2723720B2 (ja) | 制御装置構築処理システム | |
| CN121386621A (zh) | 一种s曲线轨迹确定方法、装置及介质 | |
| JPH0430201A (ja) | 数式モデル学習装置 | |
| JPH03188504A (ja) | ファジィ制御装置およびファジィ推論方法 | |
| JP2822427B2 (ja) | プロセス制御方法 | |
| CN118605250A (zh) | 车辆纵向控制算法的测试方法、车辆纵向控制方法及装置 | |
| JPH0462601A (ja) | ファジイ制御方法 | |
| JP2855644B2 (ja) | 調節計 | |
| CN118394065A (zh) | 多机器人协调工作环境中的避碰方法、系统及装置 | |
| JPH03108002A (ja) | 自動制御装置 |