What would result in an FuzzyRule object like :įuzzyRule* fuzzyRule = new FuzzyRule(2, ifSpeedHightAndDistanceSmallOrFuelLow, thenSpeedSmallAndFeedTine) Īfter assembling an FuzzyRule object, use the method addFuzzyRule (FuzzyRule * fuzzyRule ) to add it to Fuzzy object base rule, repeat the same process for all the rules. ![]() ThenSpeedSmallAndFeedSmall->addOutput(tine) įor the object FuzzyRuleConsequent entire expression is mounted using the method addOutput(FuzzySet* fuzzySet) IfSpeedHightAndDistanceSmallOrFuelLow->joinWithOR(speedHightAndDistanceSmall, low) įuzzyRuleConsequente object - This object is used to render the object FuzzyRule, responsible for assembling the output expression of a FuzzyRule, examples:įuzzyRuleConsequent* thenSpeedSmallAndFeedTine = new FuzzyRuleConsequent() thenSpeedSmallAndFeedSmall->addOutput(small) ![]() in the previous example, the final antecedent was composed of speedHightAndDistanceSmall and fuelLow objects, but the latter could be replaced without loss by the FuzzySet object low, since it is a simple expression, without any conditional operator : Using these methods, any expression can be mounted, FuzzyRuleAntecedent can be used to compose another object FuzzyRuleAntecedent, in many different ways. IfSpeedHightAndDistanceSmallOrFuelLow->joinWithOR(speedHightAndDistanceSmall, fuelLow) Este objeto FuzzyRuleAntecedente é que será usada para compor o objeto FuzzyRuleįuzzyRuleAntecedent* ifSpeedHightAndDistanceSmallOrFuelLow = new FuzzyRuleAntecedent() SpeedHightAndDistanceSmall->joinWithAND(hight, small) įuzzyRuleAntecedent* fuelLow = new FuzzyRuleAntecedent() "IF (velocity = hight AND distance = small) OR fuel = low THEN velocity = small AND consumption = short"įuzzyRuleAntecedent* speedHightAndDistanceSmall = new FuzzyRuleAntecedent() These methods also have more advanced variations that allow further enhance the expression, they are:īool joinWithAND(FuzzySet* fuzzySet, FuzzyRuleAntecedent* fuzzyRuleAntecedent) īool joinWithAND(FuzzyRuleAntecedent* fuzzyRuleAntecedent, FuzzySet* fuzzySet) īool joinWithOR(FuzzySet* fuzzySet, FuzzyRuleAntecedent* fuzzyRuleAntecedent) īool joinWithOR(FuzzyRuleAntecedent* fuzzyRuleAntecedent, FuzzySet* fuzzySet) īool joinWithAND(FuzzyRuleAntecedent* fuzzyRuleAntecedent1, FuzzyRuleAntecedent* fuzzyRuleAntecedent2) īool joinWithOR(FuzzyRuleAntecedent* fuzzyRuleAntecedent1, FuzzyRuleAntecedent* fuzzyRuleAntecedent2) The methods joinWithAND (FuzzySet* fuzzySet1, FuzzySet* fuzzySet2) and joinWithOR ( FuzzySet* fuzzySet1, FuzzySet* fuzzySet2) can make logical compositions between Fuzzy Sets. IfTemperatureHotAndPressureHight->joinWithOR(hot, hight) "IF temperature = hot OR pressure = hight THEN rick = big"įuzzyRuleAntecedent* ifTemperatureHotAndPressureHight = new FuzzyRuleAntecedent() Currently the library supports triangular membership functions, trapezoidal and singleton, which are assembled based on points A, B, C and D, they are passed by parameter in its constructor FuzzySet (float a, float b, float c, float d) examples: įuzzyInput object - This object groups all entries Fuzzy Sets that belongs to the same domain.įuzzyOutput object - This object is similar to FuzzyInput, is used to group all output Fuzzy Sets that belongs to the same domain.įuzzySet object - This is one of the main objects of Fuzzy Library, with each set is possible to model the system in question. Speed control of a robotic, entry: Frontal distance obstacle.įuzzy object - This object includes all the Fuzzy System, through it, you can manipulate the Fuzzy Sets, Linguistic Rules, inputs and outputs. ( MAX- MIN ) and ( Minimum Mamdani) for inference and composition and ( CENTER OF AREA) to defuzzification in a continuous universe. It has no explicit limitations on quantity of Fuzzy, Fuzzy Rules, Inputs or Outputs, these limited processing power and storage of each microcontroller Written in C ++ / C, uses only standard C language library " stdlib.h", so eFLL is a library designed not only to Arduino, but any Embedded System or not how have your commands written in C. Step 1: Open your Arduino IDE, check out the tab on the top menu SKETCH → LIBRARY → Import eFLL If the installation of the library has been successfully held, to import the library is easy : Ubuntu (/ usr / share/ arduino /libraries /) if installed via apt-get, if not, on Windows, Mac or Linux (where you downloaded the Arduino IDE, the Library folder is inside) Obs: Rename the folder from "eFLL-master" to "eFLL" ![]() Step 3: Clone or unzip the files into Arduino libraries' folder: Step 2 : Make a clone of the project using Git or download it Download on the button "Download as zip." Step 1: Go to the official project page on GitHub: eFLL
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |