I'm trying to design a height control system using fuzzy logic controller. My subsystem is working perfectly fine, however I'm getting output =0 after adding my FLC.
Please look at the circled parts on the control surface.
1. Your reference height, href is 20, and the initial height, h(0) is 0. But the range of the error in height, he in the FIS, is restricted to only ±6. If any error value outside this range is fed into the FIS, then the output (control signal u) will be zero.
2. The control surface for this system should not contain steep slopes such that a small change in one of the two inputs causes a relatively large change in the output. Fix the rules.
3. The existing control output is very low. You will need high magnitude of the control signal (in the range of 104) to control the height. Increase the gain.
First of all, thank you for your explanation. Regarding to your suggestions, here's is what I've done.
1. I changed the range of error in height into a reasonable range ( ±20)
2. Still tuning.
3. Increased the magnitude of output, by adding gain (1*1000)
My output is no longer equal to 0 now. However, it doesn't come close to my target height. I tried to change the gain value to increase the output but no luck with it.
PID 101 says that if there is a steady-state error between the output and the reference, then an integral action should be introduced into the system to compensate for the offset. It doesn't necessarily have to be fully PID. You can try out PI or even solely I (integral action) itself.