趣味のロボット工学プロジェクトのために C でファジー論理メンバーシップ関数を実装しようとしていますが、開始方法がよくわかりません。
距離やどの方向がクリア/遮られているかなど、ポイントの近くにあるオブジェクトに関する入力があり、これらの入力が非常に近い、近い、遠い、非常に遠いなどのセットにどれだけ強く属しているかをマッピングしたいと考えています。始める方法についてのヒントはありますか?ありがとう。
趣味のロボット工学プロジェクトのために C でファジー論理メンバーシップ関数を実装しようとしていますが、開始方法がよくわかりません。
距離やどの方向がクリア/遮られているかなど、ポイントの近くにあるオブジェクトに関する入力があり、これらの入力が非常に近い、近い、遠い、非常に遠いなどのセットにどれだけ強く属しているかをマッピングしたいと考えています。始める方法についてのヒントはありますか?ありがとう。
免責事項: 私はファジー コントローラーを実装したことがなく (実生活で PI または PID しか使用したことがありません)、制御クラスは 10 年前のものです。
これは、入力に距離と角度、出力に電力を使用してターゲットに向かって移動する方法を示すプレゼンテーションです。FuzzyTech の例 クレーンの配置
これはトピックと理論を示しているだけで、コードはありません。
最良の情報源はおそらくロボット工学グループの 1 つです。
技術ジャーナルにアクセスできる場合は、「ファジー ロジック」「パス プランニング」ロボティクスで Google 学者を検索してください
ファジー ロジックを実装する方法についてのアイデアを探している場合は、おそらくマイクロチップ メーカーのアプリケーション ノートから始めることができます。たとえば、エアフロー制御 またはサーボ制御に関するマイクロチップの論文です。Arduino ではないことはわかっていますが、Microchips の論文は通常非常に明確に提示されています。
最後に、C++ での例は、探しているよりもおそらく複雑です。無料のファジー論理ライブラリ 頑張ってください。
ファジー推論システムは、C と C++ の両方で実装できます。Cでファジーロジックを組み立てる方法を学ぶ
MakeProto の担当者は、Matlab ファジー システムから、または手動で定義したファジー システムによって C コードを出力する、ファジー システム用の自動コード ジェネレーターを作成しました。
一見の価値があるかもしれません。
私はファジー論理の専門家ではありませんが、私の基本的な理解によれば、どの距離が近い (たとえば 10 cm) と遠い (たとえば 1m) を構成するかを決定することから始めることができ、次に確率を使用してその間の範囲を埋めます (したがって55cm は 50% 近く、50% 遠いかもしれません)。次に、他のプロパティについても同様のことを行い、各プロパティに関連付けられた確率を他の確率と組み合わせます。
ファジー コントロールを設計するための参考資料はありますか?
ここから始められると思います。少なくとも単純なファジー化と非ファジー化のルーチンについて説明していると思います。