What migh be producing these huge amount of Warnings in my FL control?
Show older comments
Dear all,
I have a battery control using Fuzzy Logic, it seems to be working properly, but I am receiving a tons of warnings like these:
> In fuzzy.internal.utility.throwWarning (line 14)
In PVGeo_based_LG (line 123)
Warning: In 'Full_PED_FL/FL_Battery_Control/Fuzzy Logic
Controller', no rules fired for Output 2. Defuzzified output value set to its mean range value 0.5.
> In fuzzy.internal.utility.throwWarning (line 14)
In PVGeo_based_LG (line 123)
Warning: In 'Full_PED_FL/FL_Battery_Control/Fuzzy Logic
Controller', no rules fired for Output 1. Defuzzified output value set to its mean range value 0.5.
What does this mean ? how can I overcome this misbehaviour?
Best regards
4 Comments
Sam Chak
on 20 Feb 2022
Look at this example: The inputs are Weft Stretch and BMI. And the Output 1 is Chest circumference.


If the following input values are entered, Weft Stretch = 85 and BMI = 23, then no rules are fired for Output 1. This happens because the designer forgot to take the Medium Stretch MF into account during the construction of the fuzzy rules. Thus, the defuzzified output value will automatically set to its mean range value 3 + (10 – 3)/2 = 6.5 (see the position of the red vertical bar).
To avoid this error, if the grid-partition method in generating fuzzy rules is used, then a total number of
are expected for each output, provided that the 3 MFs in each input cover the entire the universe of discourse.
Tony Castillo
on 21 Feb 2022
Sam Chak
on 22 Feb 2022
I see. When your Power Error = 0, none of rules is fired, because Power Error only has Negative MF (< 0) and Positive MF (> 0).
It is similar to the common issue in low-level collision avoidance systems. If the Obstacle is on the left, then STEER right (+ve angle). If the Obstacle is on the right, then STEER left (–ve angle). When the Obstacle is exactly in the middle, it creates a "confusion" because no rules fired for the STEER output. And if the defuzzified output value set to its mean range value, which is 0° (no steering occurs), then disastrous collision may happen.
The same like playing in Badminton Doubles. If opponents are in a defensive position, and the center of their court is open, then smashing to the middle will cause confusion becaise the opponents have to mentally decide in a split second who must return.
As a first-line rectification, try modifying the membership functions in Power Error to look like in the figure below where the adjacent triangular fuzzy sets cross at 0.5, in which the middle truth-value 0.5 can be interpreted as "undecided". If you fix that, then Rules #5 , #8, #11, and #14 will be fired.

Tony Castillo
on 23 Feb 2022
Accepted Answer
More Answers (0)
Categories
Find more on Fuzzy Logic in Simulink in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!