Fuzzy control problem: input 2 expects a value in range [-50 50], but has a value of 1035.94
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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
0 comentarios
Respuestas (1)
Sam Chak
el 1 de Jun. de 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 comentarios
Sam Chak
el 4 de Jun. de 2024
Hi @Rafi
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.
Ver también
Categorías
Más información sobre Fuzzy Logic in Simulink en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!