JPH0239203A - フアジイ制御装置 - Google Patents

フアジイ制御装置

Info

Publication number
JPH0239203A
JPH0239203A JP18925888A JP18925888A JPH0239203A JP H0239203 A JPH0239203 A JP H0239203A JP 18925888 A JP18925888 A JP 18925888A JP 18925888 A JP18925888 A JP 18925888A JP H0239203 A JPH0239203 A JP H0239203A
Authority
JP
Japan
Prior art keywords
circuit
clock
time
membership function
data
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
Application number
JP18925888A
Other languages
English (en)
Inventor
Kenji Okamoto
賢司 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP18925888A priority Critical patent/JPH0239203A/ja
Publication of JPH0239203A publication Critical patent/JPH0239203A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (2)技術分野 この発明は、ファジィ制御アルゴリズムを用いた制御装
置に関する。
(イ)従来技術 ファジィ制御はファジィ集合論の応用として考えられた
新しい制御理論である。近年さかんに研究がなされてい
る。
ファジィ制御は、8葉により表現される曖昧な制御概念
を定式化して、機器の制御を実行しようとする、一種の
人工知能的な制御手法である。
たとえば、炉の温度制御や、車輌の運転など、オペレー
タ(人間)が経験や知識をベースとして、曖昧な情報を
もとに、機器を制御する、といった例が多くみられる。
このような人間の知識や情報の助けを必要とする制御対
象を、人間の知識や経験を制御アルゴリズムの中に盛り
こんで制御装置を作り、人間が操作するのと同等の性能
を得ようとするものがファジィ制御である。
実際、ファジィ制御は、地下鉄の自動制御「計測自動制
御学会論文集19−11. p873. ’83j 、
自動車の速度制御「計測自動制御学会論文集21−9゜
p984. ’84J :2どに実用化が試みられ、成
功を収めつつある。
また機器の制御だけで2<、画像処理や音声認識「数理
科学’87.2月号コなどの分野でも有効であると考え
られ、研究がなされている。
このように、応用研究ははじまったばかりであるが、フ
ァジィ制御方式そのもののアルゴリズムは、はぼかたま
った形に整備されてきている。
(つ) ファジィ制御のアルゴリズム はじめに、ファジィ制御のアルゴリズムの概略を説明す
る。
列車の速度制御を例にとって、ファジィ制御アルゴリズ
ムを説明する。
運転者(人間)が感覚的に速度をとらえる場合について
考える。
たとえば、速度が30km/h  ならば「遅い」と感
じ、1100k/hならば「速い」と感じる。「ちょう
どよい」と感じられる速度もある。
このような感覚的な概念を、数学的に取扱うことを可能
にするために、ファジィ集合と呼ばれる集合を用いて表
記する。
ファジィ集合は、ある確定的な量を、人間の感覚として
表現される「言葉」への属性の度合いの量として表現す
る。
その度合いを定める関数をメンバシップ関数と呼ぶ。
第1図にメンバシップ関数の例を示す。これは、列車の
速度に関するメンバシップ関数である。このメンバシッ
プ関数は、速い(L)、ちょうどよい(M)、遅い(S
)の3つの関数からなる。これらの関数はOから1の値
を持つ。これら関数の値の和は1である。
横軸は列車速度で、速度Vの関数としてメンバシップ関
数が定義される。
この例では、40km/h という速度量の「遅い」と
いう概念への属性は0.2.「ちょうどよい」という概
念への属性は0.8となる。
列車の速度を制御するためには、モータに供給する電流
量を制御しなければならない。
モータに供給する電流に対しても、メンバシップ関数を
用いて、大きさを表現することができる。
第2図にこれを示す。
メンバシップ関数は、大きい(ロ)、普通(至)、小さ
い(S)の3つである。大きいと小さいは重なるところ
がない。しかし、普通と小さい、普通と大きいは重なっ
ている。横軸がモータ電流である。ひとつの電流値lに
対して、ふたつの概念が有限の属性を持って対応するの
で、ファジィ制御なのである。
運転者は、自分が感じる速度感覚に応じて電流量を定め
ていると考える事ができる。
これは次のようなルールで表現できる。
(a)  もし速度が(遅い)ならば、モータへの電流
値は(大きい)とする。
(6) もし速度が(ちょうどよい)ならば、モータへ
の電流値は(普通)とする。
(C)  もし速度が(速い)ならば、モータへの電流
値は(小さい)とする。
大きい、速いなどの量をL (Large )、ちょう
どよいをM (Medium )、小さい、遅いをS 
(Small)と記号化すると、上記の条件は次の様に
なる。
(a)  IF(v is S)  then (I 
is L)(b)  IF(visM)  then(
IisM)(c)  IF(v is L)  the
n (I is S)さて、問題は、(a)〜(C)の
条件と、現在の速度量からいかに電流値Iを定めるかと
いう事である。
この演算には、これからMIN1MAX法と呼ばれる方
法が多く採用される。
今i番目の条件を、 IF、v is Ai  then  I is Bi
と書く。Vに関する条件項を前件、Iに関する項(出力
項)を後件と呼ぶ。
現在の列車速度としてV□が得られているとする。
V□もまた、v=voで「v□らしさ」が1となるファ
ジィ集合と考えることが可能である。これを第3図に示
す。
VOのAiに対する属性もまた集合であり、それをCi
とする。CiはvoとAiの積集合となる。これを次の
ように表わす。
Ci = v□ A  Ai この演算は、すべてのVの領域してわたって’Voの値
とAiの値とを比較して、小さい方を採ることに等しい
いまvoは、v=voのみ1となる集合であるから、C
iもv=voのみである値をとる集合となる。
もちろんVが曖昧な量としてしか測定できずに、ある拡
がりをもったメンバシップで表わされるなら、C1もあ
る拡がりをもったメンバシップ関数となる。
さて、今までの前件での属性Ciを、後件に反映させな
ければならない。このため、後件工のすべての領域にわ
たってCiの最大値をとるような新しい集合C1′を作
り、後件Biとの積集合を求める。
Bi’ =  CI A  Bi        (2
)この演算は入力がV□であるときの条件iにおけるB
iの、制御用カニに対する貢献度と、とらえることがで
きる。
以上のような演算をすべての条件に対して施すと、条件
の個数分だけBlが作られる。Bi′は入力voに見合
った形で大きさが修正されている事になる。
それらすべての総合として出力Iを定めるために、まず
Blをすべて加えた集合りを求める。
D  = V Bi’          (3)これ
は、工の領域のそれぞれにおいて、すべてのBlの要素
の最大値を求めて新にな集合とすることに等しい。
箱は実際には複雑な形状のメンバシップ関数である。
最終的な制御用カニoはIMの重心を求める事によって
定める。
以上がファジィ演算のあらましである。
ここでファジィ演算についてまとめておくと、+1) 
 入力値と各条件の前件のメンバシップ関数との間でM
IN演算を行なうo (CL =yoAAi )(2+
  (11で得られた値と各条件の後件メンバシップ関
数との間で、MIN演算を行なう。
(Bi’ = Ci’△Bi ) (3)  その結果得られた各メンバシップ関数t−t
−べて重ねあわせる( MAX演算を施す)。
(D =YBi’ ) (4)最終メンバシップ関数より、重心位置を求め出力
値とする。
という手順よりなる。第4図にこれを示す。第4図(1
)は前件のメンバシップ関数を示す。条件(a)、(至
)、(C)に対応している。
入力の速度がvoであるとする。(a)は「遅い」のメ
ンバシップ関数であるが、v=voに対し、属性はOで
ある。(b)は「ちょうどよい」のメンバシップ関数で
ある。v=voに関して有限の属性がある。
(C)は「速い」のメンバシップ関数である。VOに対
し有限の属性がある。
第4図(2)は後件のメンバシップ関数を示す。これを
前件の属性値で切る。切った部分が斜線によってあられ
されている。属性値で切るので「MINJというのであ
る。
第4図(3)は後件のメンバシップ関数を属性値で切っ
た(2)の関数を重ね合わせたものである。このように
重ね合わせるので「MAx」というのである。
(3)の図形の重心を計算して出力値とする。
以上に説明したものは単純な例にすぎない。制御目的、
対象により、条件、メンバシップ関数が変わってくる。
ファジィ制御の性能は、その条件の選び方や条件の数、
またメンバシップ関数の形によっても左右される。
たとえば速度に関する概念を、「遅い」、「ちょうどよ
い」、「速い」だけでなく、「比較的遅い」や「比較的
速い」といった概念を導入する事も考えられる。この場
合のメンバシップ関数の例を第13図(a)に示す。
さらにメンバシップ関数を単純な直線ではなく、exp
関数によって表現する、といったことも考えられる。こ
れを第13図(b)に例示する。
これらの条件の数や、メンバシップ関数の形は、実行し
ようとする制御に対して適切に選ぶ必要がある。
しかし、条件数が増えたり、メンバシップ関数の表現が
複雑になったりすると、それらに対する処理の手間も増
えることになる。
に) 発明が解決しようとする問題点 現在ま・でに行われてきたファジィ制御に関する最大の
問題点は、演算量が膨大で、コンピュータを用いて処理
した場合、処理時間が長くなりすぎる、という事である
このため、応答の速い制御対象(たとえばDCCモーフ
ど)の制御に適用する事が難しい。これらのものに適用
されて成功した例がない。
炉の温度制御や車輌の速度制御のように、制御対象に制
御入力を加えてから、その影響が出力に現われるまでの
時間が数秒〜数分という応答の遅い制御対象にのみ、フ
ァジィ制御が試みられたにすぎない。
もつと、応答速度の速い制御対象に対しても有効に適用
できるファジィ制御装置が期待されている。
近年この問題を解決するために、第1図に示したメンバ
シップ関数を電圧レベルで表現する形でアナログ処理を
行うハードウェア装置が提案されている。
Preprints of’ 2nd IFSA (国
際ファジィ学会)p82この装置は、今までなされてい
なかったファジィアルゴリズムの完全ハードウェア構成
を導入した点で評価される。
しかしなからのクロツク、完全並列処理といった考え方
からハードウェアの量が多い(装置が大きくなる)とい
う問題点が残されている。
GO目       的 ファジィ制御アルゴリズムを、ソフトウェアによらず、
完全なハードウェアで構成して高速処理できるようにす
ることが本発明の目的である。
完全なハードウェアであるが、前記状みのようにアナロ
グ処理ではなくディジタル回路で処理することのできる
新規なファジィ制御回路を提供する事が本発明の第2の
目的である。
さらに、パイプライン処理方式を採用する事で、回路規
模が小さくでき、実現が容易なファジィ制御回路を提供
する事が本発明の第3の目的である。
a)構成 本発明のファジィ制御回路の一例を第5図に示す。これ
はふたつの条件を扱う例である。もつと多くの条件を扱
うようにしようとすると、メモリ、レジスタ、 MIN
回路を条件の数だけ増せばよい。
クロック発生回路1は一定周期のクロックを常時発生し
つづける回路である。このクロックに同期して、データ
は第5図の左から右へ一方向に流れてゆく形で処理され
る。
2つの条件 IF x is A1  then  y is BI
IF x is A2  then  y is B2
に対してファジィ演算を行なうものとする。
メモリ5.6は第1の条件の前件A1と後件B。
とを記憶するものである。
メモリ7.8は第2の条件の前件A2と後件B2とを記
憶するものである。
MIN回路13.14は、第4図の(2)に示すように
、メンバシップ関数を、その属性値で切る操作、つまり
MIN操作を行うものである。
MAX 回路15 ハ944 図(31に示スヨ5 l
x、MIN 回路で求めた結果を重ねあわせ演算するも
のである。
総和回路16は(4)式の分母を計算するものである。
重み和回路17は(4)式の分子を計算するものである
除算回路18は(4)式の除算を計算するものである。
メンバシップ関数のtiLtid+(vJPI )ハ、
77 )ウェア処理する場合は、単に数字で表わされる
前述のアナログ処理するハードウェアでは、横軸は細く
分割され個々の演算素子に対応する。
本発明に於ては時系列処理するので、横軸は時間軸にお
きかえられる。
このため、レベル→時間変換回路3がある。
(→作 用 まず基本的な考え方について述べる。
第4図に示したアルゴリズムにおいて、各メンバシップ
関数は、その横軸である速度や電流値の観測値(確定値
)に対するある「概念」への属性を決定するものである
メンバシップ関数をディジクル信号として取扱いやすく
するために一定のサンプリング間隔で分割し、横軸が時
間tであるような時系列データに変換する。
第6図にこれを示す。
このように、横軸が時間系列であるところが、本発明の
新規な特徴のひとつである。ただし、縦軸はディジタル
値であり、電圧値で与えるアナログ量ではない。
こうする事により、同一のクロックによって同期して動
作するレジスタを直列に並べた回路構成で、データが一
方向にのみ流れるうちに処理が実行されるようになる。
つまりパイプライン処理がなされる。
このようにすると、メンバシップ関数Ai(v)は、第
6図(a)のように連続関数ではなく、点の集合で表わ
される第6図(ロ)のようになる。変数がVではなく、
tになり、tもクロックパルスごとに与えられる離散変
数となる。
メンバシップ関数は、 Ai(t) =  (aix、at2、・・・・・・・
・・、atm )   (5)と表わされる。ここでm
はメンバシップ関数横軸の分割数である。これは変数V
の分割数であるが、時間tによってVを置きかえるので
、mは、メンバシップ関数を一回掃引する時間(1フレ
ームという)を分割する分割数である。1クロツクごと
に時間軸がサンプリングされるから、mクロックが1フ
レームであるという事である。
aijはat (t)のj番目のサンプリング点に対す
るメンバシップ関数の値である。当然、Ai(t)はm
点の値の集合となる。
(6)式の表現は、集合を和記号Σによって表わしたも
のである。単なる和ではないのでz−1をそれぞれにつ
けている。z−1は1クロツク分の遅延をあられすZ変
換因子である。j番目のサンプル点のものは、jクロッ
ク分遅延するから z−iがつくのである。
本来、属性を表わす変数町、は O≦ aB  ≦ 1 なる値であるが、ディジタル回路構成のしやすさを考え
て整数表現をとることにする。
すなわち、パイプライン処理を実行するハードウェアの
ビット数nによって、 0 ≦ a i J≦ 2n−1(8)とする。
たとえば、nを4ビツトとして回路を構成するなら、0
≦aij≦15である。
このような表現によって処理を行なってもアルゴリズム
の特性上問題はない。最終的に得られる答は同一のもの
となる。
時系列データA i (t)のサンプリングの時間間隔
をΔtとする。
サンプリング点1〜mまでの1回分のAi(t)の集合
を1フレームと呼ぶ。matが1フレームをサンプリン
グするに要する時間である。riotを1フレ一ム時間
と呼ぶことにする。
クロックパルスの周期をΔtにする。こうすると、クロ
ックパルスごとに、Ai(t)をサンプリングしてゆく
ことになる。
時系列データAi(t)は第7図に示すようにメモリ素
子に記憶させておく。このメモリ素子は、第5図のメモ
リ5〜8のいずれかである。
アドレス1〜mのメモリ領域にデータail〜aimを
メモリ内容として書きこんでおく。
この例では、n=4で、データの最大値が15となって
いるが、ビット数nは任意である。
第7図(a)に於てアドレス1〜mが縦に並んでいるの
でメンバシップ函数も縦に描かれている。
j番目のサンプリング点の値A41を、j番地に記憶さ
せるのである。
メモリ素子のアドレス線には、第7図(b)に示すよう
に、アドレス信号発生回路としてカウンタ2を接続して
おき、周期がΔtのクロック信号をカウントすることに
より、アドレスを1つづつ変化させる。
そうすると、メモリ素子のデータ出力からは第6図に示
したような時系列データが得られる。
つまり、クロックΔtごとに、ail、a12、・・・
’inの値が出力されてゆく。
カウンタ2をそこでアドレスカウンタ2という。
アドレスカウンタ2を、mまでのカウントでクリアし、
続けて1からカウント開始することにすればAi (t
)は繰り返し出力される。■フレーム時間ごとに、1フ
レーム出力される。
メモリ素子のm以上のアドレスのメモリ内容として別の
メンバシップ関数を書込んでおいて、Ai(t)に続け
て出力させることも可能である。
メモリ素子としてROMを用いる事ができる。メンバシ
ップ関数は変数Vに対してあらかじめ与えられており、
この関係が固定されている場合はROMが適する。
また、メモリ素子としてRAMを用いることもできる。
RAMにすると、回路全体が動作中にも、Aiの内容を
容易に書き換えることができる。
さらに、メンバシップ関数の形状も、直線の山だけでな
く、e などの複雑な関数形状とする事も、メモリに予
じめ書き込んでおけばよいだけである。いちいちこの値
を計算しなくてもよい。したがって、関数形状をどのよ
うな複雑なものにしても、全体の演算処理時間が影響を
うけることはない。
すべてをソフトウェアで行うものと、ここで、大キ<異
なる。ソフトウェアで行なうものは、Vに対する関数と
して、いちいち関数の値を計算しなければならず、時間
が掛かるのである。
以上はメンバシップ関数の記憶に関する部分の説明であ
る。
次に、前件の入力値、すなわちメンバシップ関数の独立
変数を、入力しなければならない。入力値Vに対するメ
ンバシップ関数の値が属性であり、属性を求める必要が
あるからである。
ファジィコントローラに対する入力は、もちろん制御対
象によって異なる。その制御対象の状態を最も適切に代
表する物理量が選ばれるべきである。この物理量は刻々
測定されている。
どのような物理量であってもよいが、コントローラへの
入力は電圧値に変換されているものとする。
本発明による回路で、入力を表現する電圧値を取扱うた
めには、電圧レベルを、(1〜m)Δtの間の時間変数
に変換する必要がある。
入力電圧値は、メンバシップ関数の独立変数を与える。
これは第6図(a)の横軸の物理量である。
本発明では第6図(b)に示すように、メンバシップ関
数の横軸をΔtずつの時間軸に置きかえている。
このため、入力電圧を(1〜m)Δtの時間変換に置換
えなければならないのである。これは第5図のレベル→
時間変換回路3で行なう。
具体的には第8図に示すような回路によって実現する事
ができる。
これまで、メンバシップ関数の独立変数をVとしてきた
。これは列車速度を例にしたからである。
一般的に述べるため、メンバシップ関数の独立変数をX
にかえる。これまでのVと同じことである。
さて、入力電圧Xはアナログ量であるので、1〜mのス
テップよりなるディジタル量に変換する。
このA/D変換を行なうのがADコンバータ30である
。変装置がrであるとする。
ADコンバータ30はカウンタ31につながっている。
カウンタ31はフレーム開始指示パルスQを受けてから
クロックパルスを計数する。そして、rパルス数えた後
、パルスRを出力する。
つまり、入力電圧Xの最大値をxfflaXとすると。
これはADコンバータでmに変換される。一般にXがr
にAD変換されるので、 である。r個のパルスを計数するのであるからフレーム
開始指示パルスQがカウンタに入力されてからの時間T
は である。Tは入力電圧Xに比例し、これは時間軸に置換
されたメンバシップ関数の独立変換を与える事が分る。
第5図に於て、アドレスカウンタ2がフレーム先頭指示
パルスQを発生し、これをレベル→時間変換回路3と、
レジスタ10,12に入力している。
実際にはカウンタ31にqが入力され、これからrパル
スを計数する。
同時にアドレスカウンタ2は、Oからアドレスを順に発
生する。すると、メモリ5〜8は、第7図に示すように
、順にメモリ内容を出力してゆく。
出力してゆくが、レジスタ9.11にこのデータを入力
すべきパルスが入らないから、レジスタ9.11は、メ
モリ5.7のデータを受けつけない。
レベル→時間変換回路3がrパルス計数して、パルスR
が出ると、これがレジスタ9.11に入り、レジスタ9
.11は、この時のメモリ内容を記憶する。これは入力
Xに対するメンバシップ関数の値である。AI(X)、
A2(X)である。同じことを、第7図の表記で書くと
、aIr%a2rという値である。
これは、独立変数Xに対するメンバシップ関数A1、A
2の属性である。
第9図によって、時系列的に、同じことを再び説明する
第9図の横軸は全て時間である。(a)は前件メモリの
出力であるAiを示す。(ロ)は入力電圧を時間変換し
たパルス波形を示す。(C)は、レジスタ9.11出力
波形を示す。(d)はレジスタ10.12の出力波形、
(60は後件メモリB1の出力、(f’)はCIABl
の値を示す。
前件メモリの出力Ai (この例では、i=1.2)は
、1フレームごとに同じ波形を繰返す。縦線はクロック
を示し、黒丸はクロックに於けるメンバシップ関数の値
を示す。
(b)に於′て入力端子Xは、1フレーム中のある時刻
Tのパルスとして与えられる。T/mΔtは” / x
fflllgである。入力電圧Xは変数であるので、1
フレーム中でのパルス位置が変化する。
このパルスRがレジスタ9.11をラッチするので、こ
のパルスの入った時の、メンバシップ関数Aiの値が、
レジスタ9.11に格納される。これが第9図(C)に
示すものである。Aiは不変であるが、Xが変わるので
、(C)の波形図に示すように、レジスタ9.11の内
容は、フレーム周期で変化しつる。
このようにして、入力値Xに関する、前件のメンバシッ
プ関数の属性’Irs ’2rがレジスタ9.11にラ
ッチされる。
ここまでがファジィ演算の(1)の段階「入力値と各条
件の前件のメンバシップ関数との間でMIN演算を行な
う(C1== voA Ax ) Jという部分に当た
る。
この値は、次のフレーム先頭指示ノ々ノνスqがレジス
タ10.12に入った時に、レジスタ9.11から、レ
ジスタ10.12へ移動する。この値を01′、C2′
とする。
これが、第9図(d)に示されている。レジスタ10.
12の値はフレーム周期に同期して変化しつるが、周期
の中では不変である。これは、1回前のフレーム周期に
おける入力値のメンバシップ関数に対する属性である。
一方、メモリ後件B1、B2のメモリ6.8も、アドレ
スカウンタ2によって同じように順にアドレスを走査す
る。したがって、クロックパルスに同期して、メモリ内
容が出力される。第9図(e)に示すようになる。
メモリ内容はレジスタを介さず、直接に、MIN回路1
3へ出力される。
MIN回路13はふたつの入口を持ち、これらを比較し
て、小さい方を出力する作用を持つ回路である。
一方の入力は、01′、C2′である。
これらは、入力Xに対する前件メンバシップ関数の値(
属性)であり1フレ一ム間で不変である。
他方の入力は、クロックごとに変化する。これは後件B
1、B2のメモリ内容bi1、bi2’・・bimだか
らである。
小さい方を出力するのであるから、C1よりす、。
が小さければ(i=1.2)、bIJを出力する。
C1′よりb!jが大きければ、C1′を出力する。 
これは、既に述べたC1′△Biという演算をクロック
ごとに行なっているのである。
ただし、Ci’は1フレーム前の属性の値である。
MIN回路は条件が2つだから2つ図示逼れている。M
IN回路は、条件の数だけ必要である。
MIN回路13.14の出力をB1′=C1′△B1、
Bd=C2′△B2と書く。これは、第4図ファジィ演
算の原理図の(2)に当るものである。出力はクロック
パルスごとの時系列信号である。
次にこれらのMAXを演算しなければならない。
これを実行するのがMAX回路15である。第10図に
MAX回路の作用を説明する。クロックごとにBI’、
”2の値b;j1b2′Iが入力される。これを比較し
て大きい方を出力する。第10図の右方の2つのデータ
列がMAX回路15に入力されると、左方に示すように
、個々の対応するデータのうち大きいものが出力される
さて、MIN回路、MAx回路というが、具体的には、
第11図のような回路によって構成する事ができる。
MIN 回路ノ場合、入カバC1、Biテアリ、MAX
回路の場合、入力は”I、”2’である。
どちらの回路もまとめて説明するので、入力はE、Fと
書く。時系列信号として で表わされるものとする。第11図に於て、入力Eはレ
ジスタ32に、入力Fはレジスタ33に入力され、クロ
ックごとにラッチされる。
レジスタ32.33の出力は出カイネーブル入力付バッ
ファ素子34.35に接続されてbXる。
これは、イネーブル入力に信号が与えられた時のみ、入
力データを、出力へそのまま通すノ(ツファ素子である
。イネーブル入力信号がなければ、出力へはなにものも
与えられない(高インピーダンス状態)。
レジスタ32.33のデータE、Fを比較するために比
較器36が設けられる。これは、それぞれのデータe4
、f、を比較するディジタル比較器である。
E)Fであれば比較器の出力がH,1:(Fであれば、
出力がしてあるとする。
もちろん、この反対であってもかまわない。
さてMAX回路にするためには、比較器36の出力を、
バッファ素子34のイネーブル入力へ直接に、バッファ
素子35のイネーブル入力へNOT素子38を通して接
続する。
もしもE)Fであれば、バッファ素子34がデータEを
通し、レジスタ37でラッチされる。反対にE(Fであ
れば、バッファ素子35がデータFを通し、これがレジ
スタ37でラッチされる。
つまり、値の大きい方がバッファ素子を通り、レジスタ
37にラッチされる事になる。これはMAX回路となる
反対に、NOT素子を、データEを通すべきバッファ素
子34に付けかえると、これはMIN回路になる。
もしも、E)Fであれば、バッファ素子35が開き、入
力Fがレジスタ37でラッチされる事になる。E(Fで
あれば、バッファ素子34が開き、入力Eがレジスタ3
7でラッチされる。つまり、これはMIN回路だという
事である。
以上で、E)F、E(Fといっているが、実際は集合の
成分町、fjごとの比較をするのである。
MAX演算ができると、第4図(3)に示す図形が、時
系列信号として得られたという事である。
さて、回路の最終段階である。ここでは、前段までの演
算処理結果であるメンバシップ関数(第4図(3))を
用いて、その重心位置を求める演算を行なう。
この演算は、通常手間のかかるものである。処理時間も
かなり必要である。
演算処理結果である最終メンバシップ関数をDで表現す
る。
である。このメンバシップ関数の重心を求めるのである
から、重み和Jσと、総和σとを演算しなければならな
い。
重み和は Jσ=、Σ jd、           (161で
あり、総和は σ = Σ dj(17) である。そして、重心yは割算 Jσ y=□0樽 によって求められる。
総和σを求める演算は、最終段にクロックとともに次々
に到着するデータd、を加算器により順次足してゆくこ
とで、容易に実現できる。
重み和Jσについては、近年発達してきたDSP(Di
gital Signal Processor )と
呼ばれるLSIを掛は算器として利用する事によって求
める事ができる。
ただし、データを表現するビット数がたかだか4ビット
程度の数値で表現される場合、より簡便な構成が可能で
ある。つまり、メモリ素子に予じめデータを書きこんで
おくテーブルアクセス方式を利用するのである。このよ
うにしても、回路規模はそれほど大きくならない。
最終の割り算については、1フレ一ム時間内で1回の割
り算を実行すればよいのである。これは、市販の割り算
器を使う事ができる。
(り) 多数の条件に対するファジィ演算以上で、条件
がふたつの場合について、本発明の構成、作用を説明し
た。
条件の数が増えた場合にも、本発明を適用できる。
この場合、第12図(a)、(b)に示す、ふたとおり
の構成が可能である。
(a)は条件を収めたメモリ素子を条件の数だけ増やし
、これに応じて、MIN回路、MAx回路などハードウ
ェアの数を増やすものである。
これは、最後のMAX演算回路が増える分、演算時間が
数クロック分増える。しかし、1クロツクは短いので、
全体の演算時間には大きな影響を与えない。
(′b)は1個のメモリ素子に複数のメンバシップ関数
に対するデータをシリアルに格納し、タイムシェアリン
グ的に処理してゆくものである。メモリ素子はより大き
い容量のものが必要であるが、後段のハードウェアの数
が大幅には増えない。
しかし、1個のメモリ素子の複数の(q個の)メンバシ
ップ関数に対するデータの読出しに、qフレーム時間(
qmΔt)かかる。これだけかかった後に、重心演算が
できる。つまり、(a)の手法にくらべて(q−1)フ
レーム時間、処理が遅くなる。
(2)演算処理時間 本発明のファジィ制御装置の最大の特長は演算処理が迅
速である、という事である。
そこで、演算処理時間について簡単に考察する。
制御対象の状態変数を入力値Xとして、「レベル→時間
変換回路3」に取り込んだ時点から、重心出力yが得ら
れるまでの時間は、 「1フレ一ム時間J  x 2 + 「MIN回路遅延
」・1ITllニー)−1”MAX回路遅延J−1−x
   Hである。「1フレ一ム時間」が2倍になってい
るのは、はじめの2段のレジスタにより構成されるMI
N回路で、1フレーム遅らせる働きを生じさせているか
らである。
MIN回路遅延1m1nは、10、。=1クロックであ
る。
MAX回路遅延1mXは、MAX回路の段数による。
条件が2つの(第5図に示す)場合は1クロツクである
。条件が7つの場合は、MAX回路が3段にナルので1
つ、=3クロックである。l[[が、−般に 2 m−
1〜2sの時、Sクロックである。
結局、(11の演算処理時間は、 2mΔt + Δt+1InaxΔt として表わされる。
具体的な例によって、評価する。メンバシッフ関数の刻
みを25とする。つまりm=25とする。
そして、クロック周波数を例えば12.5MHzとする
と、クロック周期Δt m= 33 n3ecである。
1rnaX = 3とすると、入力Xから出力yが求ま
るまでの時間は、4.3μsecとなる。
また、演算結果yが得られる周期はmΔtなので、2μ
sec (500kHz ) トflル。
通常、DCモータを比例積分制御方式などを用いてコン
ピュータ制御する場合には、くり返し周波数はIQOH
z 〜1 kHz テある。
これに比べて本発明の方法が極めて高速である事が分る
(ロ)  効     果 以上説明したように、従来はコンピュータによる演算に
よっており、これが複雑であるため、処理時間が長大と
なり、ファジィ制御方式は限られた分野のみで応用され
ていた。
本発明は、ファジィ制御装置を完全にハードウェアのみ
で構成するので、極めて高速に演算処理する事ができる
単に完全ハードウェア化したという事だけでなく、本発
明では、ファジィ演算におけるメンバシップ関数を、時
間領域に展開するという、新しい考え方により、バイブ
ライン方式によるハードウェア化を可能としており、優
れた高速性を得る事ができる。
従来のように、焼却炉のストーカのように応答速度の遅
いものに限られるということなく、本発明は、広い範囲
にファジィ制御を応用できる可能性を提供する。
たとえば、ロボットや自動化機械におけるモータ制御や
、高速性の要求される画像処理分野などへの応用が期待
される。
【図面の簡単な説明】
第1図は列車速度制御のためのメンバシップ関数例の図
。 第2図はモータへの電流最に関するメンバシップ関数図
。 第3図は速度入力voに関するファジィ集合図。 第4図はファジィ演算のステップを示す図。 第5図は本発明の構成図。 第6図はメンバシップ関数の時系列表現図。 第7図はメンバシップ関数のデータをアドレス順に記憶
させたメモリとアドレスカウンタを示す図。 第8図はレベル→時間変換回路の構成図。 第9図は本発明の回路構成の各部の時系列波形図。 第10図はMAX回路の動作を略示する図。 第11図はMAX回路の具体的な構成図。 第12図はファジィ演算の条件が多数ある場合の構成側
口。 第13図はより複雑なメンバシップ関数の例を示す図。 1・・・・・・クロック発生回路 2・・・・・・アドレスカウンタ 3・・・・・・レベル→時間変換回路 5.7・・・前件のメモリ 6.8・・・後件のメモリ 9〜12・・・レジスタ 13.14・・MIN回路 15・・・・・・・・・MAX回路 16・・・・・・・・・総和回路 17・・・・・・・・・重み和回路 1B・・・・・・・・・除算回路 第 図 第   3   図 速度入力V。に関するファジィ集合 第 図 第 図 第 図

Claims (1)

  1. 【特許請求の範囲】  制御対象の現在の出力値であるxと、制御対象を制御
    するための制御入力yを求める、メンバシツプ関数Ai
    、Biからなる複数個の条件 IF x is Ai then y is Biに対
    して、xとAi、Biに対してMIN演算、MAX演算
    および重心演算を施すことによりyを得るフアジイ制御
    則を満足させる装置であり、メンバシツプ関数を時間軸
    に展開された時系列データで表現し、時間軸に展開され
    たメンバシツプ関数の前件Aiの時系列データをアドレ
    ス順に記憶する前件メモリ5、7、・・・と、時間軸に
    展開されたメンバシツプ関数の後件Biの時系列データ
    の値をアドレス順に記憶する後件メモリ6、8、・・・
    と、クロツク信号を生ずるクロツク発生回路1と、フレ
    ーム時間ごとにフレーム先頭指示パルスQを生じこの瞬
    間からクロツク信号ごとに前件メモリ5、7、・・・及
    び後件メモリ6、8、・・・のアドレスを指定しデータ
    を読出すためのアドレスカウンタ2と、制御対象の現在
    値xをフレーム先頭指示パルスQから数えたクロツクパ
    ルスの番号に変換するレベル→時間変換回路3と、レベ
    ル→時間変換回路3からのタイミング信号Rを受けて前
    件メモリ5、7、・・・から読出されたデータを一時格
    納するレジスタ9、11、・・・と、次のフレーム先頭
    指示パルスを受けた瞬間に前記レジスタ9、11、・・
    ・のデータを一時的に格納するためのレジスタ10、1
    2、・・・と、前記レジスタ10、12、・・・のデー
    タと、フアジイ条件後件のメンバシツプ関数を記憶した
    後件メモリ6、8、・・・のデータとを、クロツクごと
    に比較し小さい方の値を出力してゆくMIN回路13、
    14、・・・と、複数のMIN回路13、14、・・・
    の出力をクロツクごとに比較し大きい方の値を出力して
    ゆくMAX回路15と、MAX回路15から出力された
    データをクロツクごとに積算し一フレームごとの総和を
    求める総和回路16と、MAX回路15からクロツクご
    とに出力されたデータとフレーム先頭指示パルスQから
    のクロツクの番号の積をクロツクごとに積算し一フレー
    ムごとの総和を求める重み和回路17と、重み和回路1
    7の演算結果を総和回路16の演算結果で割り重心yを
    求める除算回路18とより構成される事を特徴とするフ
    アジイ演算装置。
JP18925888A 1988-07-28 1988-07-28 フアジイ制御装置 Pending JPH0239203A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18925888A JPH0239203A (ja) 1988-07-28 1988-07-28 フアジイ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18925888A JPH0239203A (ja) 1988-07-28 1988-07-28 フアジイ制御装置

Publications (1)

Publication Number Publication Date
JPH0239203A true JPH0239203A (ja) 1990-02-08

Family

ID=16238288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18925888A Pending JPH0239203A (ja) 1988-07-28 1988-07-28 フアジイ制御装置

Country Status (1)

Country Link
JP (1) JPH0239203A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04124574A (ja) * 1990-09-13 1992-04-24 Mitsubishi Electric Corp 冷蔵庫の温度制御装置
JPH04169768A (ja) * 1990-10-31 1992-06-17 Sharp Corp 冷凍冷蔵庫

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04124574A (ja) * 1990-09-13 1992-04-24 Mitsubishi Electric Corp 冷蔵庫の温度制御装置
JPH04169768A (ja) * 1990-10-31 1992-06-17 Sharp Corp 冷凍冷蔵庫

Similar Documents

Publication Publication Date Title
Li et al. The equivalence between fuzzy logic systems and feedforward neural networks
Mortensen Mathematical problems of modeling stochastic nonlinear dynamic systems
Gumah et al. Numerical solutions of hybrid fuzzy differential equations in a Hilbert space
Alomar et al. Digital implementation of a single dynamical node reservoir computer
Jokar et al. An efficient uniform-segmented neuron model for large-scale neuromorphic circuit design: Simulation and FPGA synthesis results
Boon et al. Pollaczek contour integrals for the fixed-cycle traffic-light queue
Daw et al. Matrix calculations for moments of Markov processes
JPH0239203A (ja) フアジイ制御装置
Guo et al. Identification of continuous-time models for nonlinear dynamic systems from discrete data
JPH0635706A (ja) ファジィ推論システムおよび方法,ならびにパターン入力型メンバーシップ値生成装置および方法
Chen et al. Various bifurcations in the development of stem cells
Akram et al. An analytical study of Pythagorean fuzzy fractional wave equation using multivariate Pythagorean fuzzy fourier transform under generalized Hukuhara Caputo fractional differentiability
Gong et al. A pseudospectral observer for nonlinear systems
Rico-Martınez et al. Adaptive detection of instabilities: an experimental feasibility study
Bashon et al. Fuzzy set-theoretical approach for comparing objects with fuzzy attributes
US20230335110A1 (en) Key Frame Networks
de Barros et al. Fuzzy Dynamical Systems
Kohlberg et al. Time perturbation theory of systems of Brownian-motion type
Ahad et al. Fractional Order Calculus and Derivative Implementation
ABD-EL AL et al. A regularization technique for a class of singular integral problems
JPH02150959A (ja) 巡回経路決定方法
Hayashi Fibonacci Numbers, Recursion, Complexity, and Induction Proofs
Si et al. Recurrent neural networks for dynamic system modeling
Brookins Economics as a Science: Some Theoretical Aspects
JPH04229361A (ja) ニューラルネットワークの学習方法及びこの方法を用いた信号処理装置