Fuzzy control problem: input 2 expects a value in range [-50 50], but has a value of 1035.94
12 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Sam Chak
2024 年 6 月 1 日
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 件のコメント
Sam Chak
2024 年 6 月 4 日
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.
参考
カテゴリ
Help Center および File Exchange で Fuzzy Logic in Simulink についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!