Fuzzy control problem: input 2 expects a value in range [-50 50], but has a value of 1035.94

12 vues (au cours des 30 derniers jours)
Rafi
Rafi le 1 Juin 2024
Commenté : Sam Chak le 4 Juin 2024
I got these warning while running my model
Warning:In 'bismillahfuzzysmc/SMC Controller/Position Controller XY/X Position Controller/Fuzzy Logic
Controller
with Ruleviewer/Fuzzy Logic
Controller', input 2 expects a value in range [-50 50], but has a value of 1035.94.
Warning:In 'bismillahfuzzysmc/SMC Controller/Position Controller XY/X Position Controller/Fuzzy Logic
Controller
with Ruleviewer/Fuzzy Logic
Controller', no rules fired for Output 1. Defuzzified output value set to its mean range value 0.
I already tried to adjust the input 2 but still got those warnings
Here's the block :
Here's the fis file:
[System]
Name='Ux3_'
Type='mamdani'
Version=2.0
NumInputs=2
NumOutputs=1
NumRules=49
AndMethod='min'
OrMethod='max'
ImpMethod='min'
AggMethod='max'
DefuzzMethod='centroid'
[Input1]
Name='x'
Range=[-5.5 5.5]
NumMFs=7
MF1='NH':'trapmf',[-6.875 -5.5 -4.95 -3.575]
MF2='NM':'trimf',[-4.675 -3.575 -2.2]
MF3='NL':'trimf',[-3.575 -2.2 -0.825]
MF4='Z':'trimf',[-0.825 0 0.825]
MF5='PL':'trimf',[0.825 2.2 3.575]
MF6='PM':'trimf',[2.2 3.575 4.95]
MF7='PH':'trapmf',[3.575 4.95 6.325 7.7]
[Input2]
Name='x_derivative'
Range=[-50 50]
NumMFs=7
MF1='NH':'trapmf',[-58.33 -50 -41.67 -33.33]
MF2='NM':'trimf',[-41.67 -33.33 -25]
MF3='NL':'trimf',[-33.33 -20 -8.333]
MF4='Z':'trimf',[-8.333 0 8.333]
MF5='PL':'trimf',[8.333 20 33.33]
MF6='PM':'trimf',[25 33.33 41.67]
MF7='PH':'trapmf',[33.33 41.67 50 58.33]
[Output1]
Name='output1'
Range=[-2e-06 2e-06]
NumMFs=7
MF1='NH':'trapmf',[-2.7e-06 -2.2e-06 -1.557e-06 -1.057e-06]
MF2='NM':'trimf',[-1.557e-06 -1.057e-06 -5.568e-07]
MF3='NL':'trimf',[-1.057e-06 -5.568e-07 -5.68e-08]
MF4='Z':'trimf',[-1.72e-08 0 3.6e-08]
MF5='PL':'trimf',[9e-08 5.9e-07 1.09e-06]
MF6='PM':'trimf',[5.9e-07 1.09e-06 1.59e-06]
MF7='PH':'trapmf',[1.09e-06 1.59e-06 2.088e-06 2.588e-06]
[Rules]
1 1, 7 (1) : 1
2 1, 7 (1) : 1
3 1, 7 (1) : 1
4 1, 7 (1) : 1
5 1, 6 (1) : 1
6 1, 5 (1) : 1
7 1, 4 (1) : 1
1 2, 7 (1) : 1
2 2, 7 (1) : 1
3 2, 7 (1) : 1
4 2, 6 (1) : 1
5 2, 5 (1) : 1
6 2, 4 (1) : 1
7 2, 3 (1) : 1
1 3, 7 (1) : 1
2 3, 7 (1) : 1
3 3, 6 (1) : 1
4 3, 5 (1) : 1
5 3, 4 (1) : 1
6 3, 3 (1) : 1
7 3, 3 (1) : 1
1 4, 7 (1) : 1
2 4, 6 (1) : 1
3 4, 5 (1) : 1
4 4, 4 (1) : 1
5 4, 3 (1) : 1
6 4, 3 (1) : 1
7 4, 2 (1) : 1
1 5, 6 (1) : 1
2 5, 5 (1) : 1
3 5, 4 (1) : 1
4 5, 3 (1) : 1
5 5, 3 (1) : 1
6 5, 2 (1) : 1
7 5, 2 (1) : 1
1 6, 5 (1) : 1
2 6, 4 (1) : 1
3 6, 3 (1) : 1
4 6, 3 (1) : 1
5 6, 2 (1) : 1
6 6, 2 (1) : 1
7 6, 1 (1) : 1
1 7, 4 (1) : 1
2 7, 3 (1) : 1
3 7, 3 (1) : 1
4 7, 2 (1) : 1
5 7, 1 (1) : 1
6 7, 1 (1) : 1
7 7, 1 (1) : 1

Réponses (1)

Sam Chak
Sam Chak le 1 Juin 2024
Hi Rafi,
Based on your Simulink model, Input 2 refers to the time derivative of the error signal. In the fuzzy system, you have set the Range to [-50 50], but in your Simulink model, you did not limit the output of the derivative block.
For instance, if there is an ideal discontinuous jump in the error signal, the slope of the signal at the instantaneous jump would be infinity. In your case, the slope of the measured error signal is 1035.94. However, this value is outside of the specified range of [-50 50]. Consequently, it triggers the corresponding Warning message.
I would suggest addressing the first Warning message first, before moving on to the second Warning message.
  8 commentaires
Rafi
Rafi le 4 Juin 2024
if the designed range is about [-20, 20], does it mean the H(s) would be 2/(s+2)? And if this problem also occur at the pitch controller, do I need to do the same thing?
Sam Chak
Sam Chak le 4 Juin 2024
If the designed range of the input time derivative of the error (de/dt) to the Fuzzy Logic block is reduced to [-20, 20] m/s, then the desired position must not exceed this range of [-4, 4] m. The transfer function of the lowpass filter remains .
If the designed range of the position error 'e' to the Fuzzy Logic block is increased to [-20, 20] m, then the range of the input time derivative of the error (de/dt) to the Fuzzy Logic block must be increased to [-100, 100] m/s.
If your pitch controller has a similar fuzzy system design as the X controller, then the same approach can be implemented.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Fuzzy Logic in Simulink dans Help Center et File Exchange

Produits


Version

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by