【问题标题】:Fuzzy logic membership function in CC中的模糊逻辑隶属函数
【发布时间】:2010-12-19 08:13:31
【问题描述】:

我正在尝试在 C 语言中为一个爱好机器人项目实现模糊逻辑隶属函数,但我不太确定如何开始。

我有关于某个点附近对象的输入,例如距离或哪些方向清晰/受阻,我想映射这些输入属于非常近、近、远、非常远等集合的强度。有人对如何开始有提示吗?谢谢。

【问题讨论】:

    标签: c membership set arduino fuzzy-logic


    【解决方案1】:

    免责声明:我从未实现过模糊控制器(我只在现实生活中使用过 PI 或 PID),并且控制类是 10 年前的。

    这是一个演示文稿,演示如何使用距离和角度作为输入,将功率作为输出,向目标移动。 FuzzyTech's Example positioning a crane
    这只是介绍主题和理论,即没有代码。

    最好的来源可能是机器人组之一 例如西雅图机器人协会fuzzy logic tutorial 它是技术性的......而且很长。

    如果您可以访问技术期刊,请在 Google 学者中搜索 "fuzzy logic" "path planning" robotics

    如果您正在寻找有关如何实现模糊逻辑的一些想法,那么来自微芯片制造商之一的应用说明可能会帮助您入门,例如 Microchip 关于Airflow controlservo control 的论文。我知道这不是 Arduino,但 Microchips 的论文通常非常清楚地呈现。

    最后是 c++ 中的一个示例,它可能比您正在寻找的更复杂。 Free fuzzy logic library 祝你好运。

    【讨论】:

      【解决方案2】:

      我不是模糊逻辑专家,但根据我的基本理解,您可以先确定近(例如 10 厘米)远(例如 1m)的距离,然后使用概率来填写范围之间(所以 55 厘米可能是 50% 近,50% 远)。然后,您对其他属性执行类似操作,并将与每个属性关联的概率与更多概率结合起来。

      你对设计模糊控制有很好的参考吗?

      我想你可以开始here。我认为他们至少描述了简单的模糊化和去模糊化例程。

      【讨论】:

      • 模糊集成员资格不是概率。
      【解决方案3】:

      MakeProto 的人为模糊系统创建了一个自动代码生成器,它从 Matlab 模糊系统或手动定义的模糊系统输出 C 代码。

      可能值得一看。

      http://makeproto.com/blog/?p=35

      【讨论】:

        【解决方案4】:

        模糊推理系统可以在 C 和 C++ 中实现。学习How to frame fuzzy logic in c

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-18
          • 2011-10-16
          • 2011-03-30
          • 1970-01-01
          相关资源
          最近更新 更多