ファジー論理–不正確な入力に基づいて制御を実現する方法

問題を排除するために楽器を試してください





デジタル制御のこの時代では、ほとんどすべてのアプライアンスはを使用して制御されます デジタル制御 レベルは1と0を使用します。しかし、考えてみてください。毎日のプロセスのすべての出力が、入力の2つの状態のみに依存していると考えるのは非常に非現実的ではありません。いいえ、もちろんです。お母さんがおいしい料理を作っているところを想像してみてください。お母さんをほめたたえるのを止められません。では、どのようにして食べ物がとても美味しくなりますか?もちろん、適切な量と比率で材料を追加します。それで、彼女はそれをどのように管理しますか?量の完全な数値知識がありますか?常にではない。彼女はそれを、経験を伴う既知のアイデアで行います。ここで、入力自体ではなく入力状態の度合いを使用する制御ロジックのアイデアが生まれます。このロジックは、完全な入力を必要とせず、入力の一般的な推定のみで機能します。これはファジー論理です。

ファジーロジックとは何ですか?

ファジー論理は、入力の状態の程度に依存する基本的な制御システムであり、出力は入力の状態とこの状態の変化率に依存します。言い換えれば、ファジー論理システムは、入力の状態の確率に応じて特定の出力を割り当てるという原則に基づいて機能します。




ファジー論理はどのようにして生まれましたか?

ファジーロジックは、1965年にカリフォルニア大学バークレー校のLotfi Zadehによって、バイナリ値ではなく自然値に基づいてコンピュータプロセスを実行する方法として開発されました。当初はデータを処理する方法として使用され、後に制御戦略として使用されるようになりました。

ファジーロジックはどのように機能しますか?

ファジー論理は、仮定に基づいて出力を決定するという概念に基づいて機能します。セットに基づいて動作します。各セットは、出力の可能な状態を定義するいくつかの言語変数を表します。入力の可能な各状態と状態の変化の程度は、出力が予測されるものに応じて、セットの一部です。これは、If-else-theの原則、つまりIf A AND B ThenZで機能します。



xがXに属するように、ジェネリック値xを使用して、出力がセットXの任意の場所にあるシステムを制御するとします。Aのすべてのメンバーが属するように、Xのサブセットである特定のセットAについて考えます。区間0と1。集合Aはファジー集合と呼ばれ、fの値は(x)at xは、そのセット内のxのメンバーシップの程度を示します。出力は、セット内のxのメンバーシップの程度に基づいて決定されます。このメンバーシップの割り当ては、入力と入力の変化率に応じた出力の仮定に依存します。

これらのファジーセットは、メンバーシップ関数を使用してグラフィカルに表され、出力は関数の各部分のメンバーシップの程度に基づいて決定されます。セットのメンバーシップは、IF-Elseロジックによって決定されます。


一般に、セットの変数は入力の状態と入力の変化の程度であり、出力のメンバーシップは、入力の状態のAND演算のロジックと入力の変化率に依存します。多入力システムの場合、変数は異なる入力にすることもでき、出力は変数間のAND演算の結果である可能性があります。

ファジィ制御システム

ファジー制御システムは、次のコンポーネントで構成されています。

ファジィ論理制御システム

ファジィ論理制御システム

ファジファイア これは、数値形式の測定変数または入力変数を言語変数に変換します。

コントローラー 言語情報に基づいて出力を割り当てるファジー論理演算を実行します。人間の解釈方法に基づいて近似推論を実行し、制御ロジックを実現します。コントローラは、知識ベースと推論エンジンで構成されています。知識ベースは、環境に応じたシステム運用の知識から得られるメンバーシップ関数とファジールールで構成されています。

デファジファイア このファジー出力を、システムを制御するために必要な出力に変換します。

ファジー論理を使用して、入力の温度に応じてファンの速度を制御する単純な制御システム。

部屋の温度に応じてファンの速度を制御したいとします。通常の素人の場合、部屋の温度が熱くなりすぎると感じる場合は、ファンの速度を最大値まで上げます。彼/彼女が少し熱く感じるならば、それからファン速度は適度に増加します。冷たすぎるとファンの回転数が大幅に低下します。

それで、あなたのコンピュータにこれをさせる方法は?

これが私たちがこれを達成する方法です:

温度入力に基づくファン速度の制御

温度入力に基づくファン速度の制御

  • 温度センサーは、部屋の温度値を測定します。得られた値が取得され、ファジファイアに渡されます。
  • ファジファイアは、各測定値と測定値の変化率に言語変数を割り当てます。

たとえば、測定値が40⁰C以上の場合、部屋は暑すぎます

測定値が30⁰Cから40⁰Cの間の場合、部屋はかなり暑いです

測定値が22〜28⁰Cの場合、部屋は中程度です

測定値が10〜20⁰Cの場合、部屋は寒いです

測定値が10未満の場合、部屋は寒すぎます。

  • 次のステップには、これらのメンバー関数の情報とルールベースを含むナレッジベースの機能が含まれます。

たとえば、部屋が暑すぎて部屋が急速に熱くなる場合は、ファンの速度を高に設定します

部屋が暑すぎて部屋がゆっくりと暖まる場合は、ファンの速度を[高]未満に設定します。

  • 次のステップでは、この言語出力変数を、ファンを駆動するために使用される数値変数または論理変数に変換します。 モータードライバー
  • 最後のステップでは、ファンモータードライバーに適切な入力を与えることにより、ファン速度を制御します。

したがって、これはファジーロジックの簡単な概要です。さらに入力を追加することを歓迎します。