290 likes | 633 Views
Fuzzy Logic. Fuzzy Control. LI. FV. Single Tank System. Desired liquid level: 5 cm ( 0.05 m ). Required inflow rate: ? 0.0119 m 3 /s ( 11.9 l /s ). A : cross-sectional area of the tank a : cross-sectional area of the pipe. Fuzzy Logic. Fuzzy Control. high. low. okay.
E N D
Fuzzy Logic Fuzzy Control LI FV Single Tank System Desired liquid level: 5 cm (0.05 m) Required inflow rate: ? 0.0119 m3/s (11.9 l/s) A : cross-sectional area of the tank a : cross-sectional area of the pipe
Fuzzy Logic Fuzzy Control high low okay close fast no change open fast 1 1 015 9 14 –30 –10 0 10 30 Single Tank System: 3 Rules Desired liquid level Liquid level [cm] Valve control signal [%/s] FC with 3 Rules • Rule 1:IF level is okay, THEN valve is no change. • Rule 2: IF level is low, THEN valve is open fast. • Rule 3: IF level is high, THEN valve is close fast.
Fuzzy Logic Fuzzy Control Single Tank System: 3 Rules Simulation in Simulink Liquid level Valve control signal Valve opening
Fuzzy Logic Fuzzy Control Single Tank System: 3 Rules Subsystem Valve Subsystem Single-Tank • Double-click a subsystem block to see the elements inside
Fuzzy Logic Fuzzy Control Fuzzy Logic Controller in Simulink • In Matlab workspace, design the fuzzy controller using fuzzy inference system (FIS) editor. • Export the fuzzy logic controller to workspace, give name. • File > Export > To Workspace, (i.e. : STFC_3) • In Simulink, create a new model. • Open the Fuzzy Logic Toolbox and drag “Fuzzy Logic Controller” to the new model. • Double-click the “FLC” and insert the name given to the controller above.
Fuzzy Logic Fuzzy Control Single Tank System: 3 Rules Evaluation “overshoot” too large slow response
Fuzzy Logic Fuzzy Control no change close slow open slow close fast high low okay open fast 1 1 015 9 14 –30 –20 –10 0 10 20 30 negative zero positive 1 –4 –0.5 0 0.5 4 Single Tank System: 5 Rules Valve control signal [%/s] Liquid level [cm] Rate of liquid level [cm/s]
Fuzzy Logic Fuzzy Control Single Tank System: 5 Rules no change close slow open slow close fast open fast negative high zero positive low okay 1 1 1 –4 –0.5 0 0.5 4 015 9 14 –30–20 –10 0 10 20 30 Rate of liquid level [cm/s] Valve control signal [%/s] Liquid level [cm] FC with 5 Rules • Rule 1:IF level is okay, THEN valve is no change. • Rule 2: IF level is low, THEN valve is open fast. • Rule 3: IF level is high, THEN valve is close fast. • Rule 4: IF level is okay AND rate is negative, THEN valve is open slow. • Rule 5: IF level is okay AND rate is positive, THEN valve is close slow.
Fuzzy Logic Fuzzy Control Single Tank System: 5 Rules FIS Editor Simulink
Fuzzy Logic Fuzzy Control Single Tank System: 5 Rules • With all other factors stay the same, a better fuzzy control behavior and performance can be achieved by the combination of: • Redefining existing membership functions. • Refining existing rule. • Adding new membership functions and new rules. acceptable “overshoot” Liquid level faster response Valve control signal Valve opening
Fuzzy Logic Fuzzy Control + – LI FV Single Tank System: Feedback Control • How if the desired liquid level should be changed to 10 cm? 7cm? 12cm? Error e Set point r Measured variable y • Practical solution: Error signal as the input to the fuzzy controller.
Fuzzy Logic Fuzzy Control no change close slow open slow close fast open fast positive negative zero 1 1 –10 –2 0 210 –30 –20 –10 0 10 20 30 negative zero positive 1 –4 –0.5 0 0.5 4 Single Tank System: Feedback Control . . e < 0 e < 0 e > 0 e > 0 Error of liquid level [cm] Rate of error [cm/s] Valve control signal [%/s]
Fuzzy Logic Fuzzy Control r [cm] 6 5 4 t [s] 0 40 80 120 Homework 10 • Implement the fuzzy logic controller as a feedback control for the single tank system in Matlab-Simulink. • Apply the 5 rule version with the corresponding membership functions. • Test the control loop to follow the reference trajectory as shown below. Reference trajectory Method Settings
Fuzzy Logic Fuzzy Control Homework 10A • A DC motor is a common actuator in control system. The input to this device is a voltage given in Volt and the output is the rotation speed given in rad/s. • The electric circuit of a DC motor and its rotor is shown on the lower left figure. • A model of the DC motor in Matlab Simulink is also provided, as shown through the lower right figure.
Fuzzy Logic Fuzzy Control Homework 10A • In case there is no load change, the DC motor will rotate with a constant speed. • If the load is changed, the supplied voltage must be adjusted so that adequate current may flow and the desired rotation speed can be achieved. • Design a fuzzy logic control that will maintain the motor to rotate with the velocity of Student-ID/10 rad/s. • Embed the controller in the Matlab-Simulink file. • Submit the softcopy (*.fis, *.mdl) and the hardcopy (screenshots of *.fis, *.mdl and scope)